World Library  
Flag as Inappropriate
Email this Article
 

Ubifs

UBIFS
Developer Nokia with help of University of Szeged
Full name Unsorted Block Image File System
Introduced 2008 (Linux kernel 2.6.27)
Structures
Directory contents B+ trees
Limits
Allowed characters in filenames Any byte except NUL and forward slash "/"
Features
Forks Yes
Attributes Yes
File system permissions POSIX
Other
Supported operating systems Linux

The Unsorted Block Image File System (UBIFS) is a successor to JFFS2, and competitor to LogFS,[1] as a file system for use with raw flash memory media.[2] Development began in earnest in 2007, with the first stable release made to Linux kernel 2.6.27 in October 2008.[3] The file system is developed by Nokia engineers with help of the University of Szeged, Hungary.

Note that UBIFS works on top of an unsorted block images (UBI) device, which is itself on top of a memory technology device (MTD). MTDs are not to be used directly.[4] Two major differences between UBIFS and JFFS2 are that UBIFS supports write caching,[5] and UBIFS errs on the pessimistic side of free space calculation.[6] UBIFS tends to perform better than JFFS2 for large NAND FLASH devices.[7] This is a consequence of the UBIFS design goals:[8] faster mounting, quicker access to large files, and improved write speeds. UBIFS also preserves or improves upon JFFS2's on-the-fly compression, recoverability and power fail tolerance.[8] UBIFS's on-the-fly data compression allows zlib (deflate algorithm) or LZO.

JFFS2 stores filesystem indexes in memory whereas UBIFS stores indexes in flash.[9] This directly impacts the scalability of JFFS2 as the tables must be rebuilt every time the volume is mounted. Also, the JFFS2 tables may consume enough system RAM that some images may be unusable.

Contents

  • Unsorted Block Images 1
    • Fastmap 1.1
  • See also 2
  • External links 3
  • References 4

Unsorted Block Images

Unsorted block images (UBI)[10] is an erase block management layer for flash memory devices. UBI serves two purposes, tracking NAND flash bad blocks and providing wear leveling. Wear leveling spreads the erases and writes across the entire flash device. UBI presents logical erase blocks to higher layers and maps these to physical flash erase blocks. UBI was written specifically for UBIFS so that it does not have to deal with wear leveling and bad blocks. However, UBI may also be useful with cramfs and NAND flash; cramfs is not aware of NAND flash bad blocks.

Fastmap

UBI was augmented in Linux 3.7 with fastmap support. [11] [12] Fastmap maintains an on-disk version of information previously created in memory by scanning the entire flash device. The code falls back to the previous mechanism of a full scan on failures and older UBI systems will simply ignore the fastmap information.

See also

External links

References

  1. ^ Jonathan Corbet (2 April 2008). "UBIFS". 
  2. ^ UBIFS does not work on top of block devices, only raw flash, [1]
  3. ^ UBIFS patch submission
  4. ^ Three layers are involved, MTD, UBI, UBIFS
  5. ^ http://www.linux-mtd.infradead.org/doc/ubifs.html#L_writeback
  6. ^ Why df reports too little free space
  7. ^ http://www.linux-mtd.infradead.org/doc/ubifs.html#L_scalability Scalability of UBIFS vs. JFFS2
  8. ^ a b Bityutskiy, Artem; Hunter, Adrian (24 September 2008). "UBIFS File System". p. 9. 
  9. ^ Adrian Hunter (27 March 2008). "A Brief Introduction to the Design of UBIFS". 
  10. ^ "UBI Documentation". 
  11. ^ "UBI fastmap making its way to mainline". 
  12. ^ "UBI: Fastmap request for inclusion". 
This article was sourced from Creative Commons Attribution-ShareAlike License; additional terms may apply. World Heritage Encyclopedia content is assembled from numerous content providers, Open Access Publishing, and in compliance with The Fair Access to Science and Technology Research Act (FASTR), Wikimedia Foundation, Inc., Public Library of Science, The Encyclopedia of Life, Open Book Publishers (OBP), PubMed, U.S. National Library of Medicine, National Center for Biotechnology Information, U.S. National Library of Medicine, National Institutes of Health (NIH), U.S. Department of Health & Human Services, and USA.gov, which sources content from all federal, state, local, tribal, and territorial government publication portals (.gov, .mil, .edu). Funding for USA.gov and content contributors is made possible from the U.S. Congress, E-Government Act of 2002.
 
Crowd sourced content that is contributed to World Heritage Encyclopedia is peer reviewed and edited by our editorial staff to ensure quality scholarly research articles.
 
By using this site, you agree to the Terms of Use and Privacy Policy. World Heritage Encyclopedia™ is a registered trademark of the World Public Library Association, a non-profit organization.
 


Copyright © World Library Foundation. All rights reserved. eBooks from Project Gutenberg are sponsored by the World Library Foundation,
a 501c(4) Member's Support Non-Profit Organization, and is NOT affiliated with any governmental agency or department.