next up previous contents
Next: References Up: JFFS3 design issues Previous: Abbreviations   Contents

Definitions

  1. Block, Sector - the minimal flash erasable unit.

  2. Bad block - unreliable flash block which must not be exploited. NAND and AND flash chips may be shipped with bad blocks. These blocks are marked bad and must not be ever used (read, written or erased). The technology also implies that new bad blocks may appear during the flash's life-cycle. These blocks have to be marked bad too.

  3. Data node - the inode node relating to file, not to directory.

  4. Dentree, directory entry tree - TODO. Not designed yet. The Idea is to keep direntries of the directory in a sort of balanced tree, not in a list as it is done in JFFS2.

  5. Direntry node - node representing JFFS3 directory entry. Each JFFS3 directory entry is represented by one valid direntry node.

  6. Dirt, dirty space - the flash space which was once used but doesn't contain useful information anymore. Due to flash nature this space can't be used before the relating block has been erased. To put it differently, the dirty space is comprised of obsolete nodes and paddings.

  7. Fragtree, fragment tree - a Red-Black tree of the file fragments scattered over JFFS3 data nodes. Used to quickly lookup which nodes ought to be read in order to get the needed file data range.

  8. Garbage Collector - very important part of JFFS3 design designated to reclaim dirt. Namely, GC moves valid nodes from dirty vblocks to newly erased vblocks reclaiming the space occupied by dirt. Another substantial aspect GC is responsible for is the wear-levelling support and the production of pristine nodes.

  9. Gcblock - the block which is currently being Garbage Collected, i.e., the valid nodes are moved from this block by the GC.

  10. Node - basic JFFS3 data structure. Anything that JFFS3 stores on flash is stored in form of node(s). There are different types of nodes defined.

  11. Node header - nodes and the relating data structures largely consist of two parts - header and data. Node header contains internal information while node data contains some user-visible data like file's content or direntry's name.

  12. Non-pristine node - a type of data node which contains the amount of uncompressed data which is not multiple of PAGE_SIZE bytes.

  13. ICP entry - a short record in ICP referring a node.

  14. Icp_ref - a small object representing an ICP. Belongs to the in-core objects group.

  15. In-core memory, in-core RAM - the memory that is consumed by node_ref, inode_ref and icp_ref objects.

  16. Inode_ref - a small object representing an inode (of any type). Belongs to the in-core objects group.

  17. Inode build - a process which is activated by the iget() VFS call. The main tasks are: to build the dentree for th directory inodes and to build fragtree for the regular file inodes.

  18. Inode node - a node representing JFFS3 inode. Any inode in JFFS3 is represented by one (for directory inodes) or more (for file inodes) inode nodes.

  19. Node_ref - a small object representing any JFFS3 node (of any type). Belongs to the in-core objects group.

  20. Obsolete node - a node which does not contain any actual information. The exact semantic of obsolete node depends on its type.

  21. Padding node - fake node representing nothing and as a rule produced when JFFS3 synchronizes the write buffer(s) or the end of vblock has been reached and there is no enough space to write any meaningful node. Padding nodes facilitate the faster filesystem scanning.

  22. Pristine node - a type of data node which contain multiple of PAGE_SIZE bytes of data in the uncompressed form.

  23. Summary node, summary - describes the layout of full vblock. Summary is situated at the end of each vblock and describes the vblock's layout, e.g. position, type, length, etc of all the vblock's nodes.

  24. Valid node - not obsolete node.

  25. Vblock, virtual block - JFFS3 may treat several blocks as one vblock of larger size. Thus, the minimal erasable flash unit from the JFFS3's viewpoint is vblock which consists of one or more flash blocks.


next up previous contents
Next: References Up: JFFS3 design issues Previous: Abbreviations   Contents
2005-04-23