Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikipediaThe Free Encyclopedia
Search

Flash file system

From Wikipedia, the free encyclopedia
File system designed to run on flash memory

Aflash file system is afile system designed for storingfiles onflash memory–based storage devices. While flash file systems are closely related to file systems in general, they are optimized for the nature and characteristics of flash memory (such as to avoidwrite amplification), and for use in particularoperating systems.

Overview

[edit]

While ablock device layer can emulate a disk drive so that a general-purpose file system can be used on a flash-based storage device, this is suboptimal for several reasons:

  • Erasing blocks: flash memory blocks have to be explicitly erased before they can be written to. The time taken to erase blocks can be significant, thus it is beneficial to erase unused blocks while the device is idle.
  • Random access: general-purpose file systems are optimized to avoiddisk seeks whenever possible, due to the high cost of seeking. Flash memory devices impose no seek latency.
  • Wear leveling: flash memory devices tend to wear out when a single block is repeatedly overwritten; flash file systems are designed to spread out writes evenly.

Log-structured file systems have all the desirable properties for a flash file system.[1] Such file systems includeJFFS2 andYAFFS.

Because of the particular characteristics of flash memory, it is best used with either acontroller to perform wear leveling anderror correction or specifically designed flashfile systems, which spread writes over the media and deal with the long erase times of NAND flash blocks. The basic concept behind flash file systems is: when the flash store is to be updated, the file system will write a new copy of the changed data over to a fresh block, remap the file pointers, then erase the old block later when it has time.

In practice, flash file systems are used only forMemory Technology Devices (MTDs), which are embedded flash memories that do not have a controller. Removable flashmemory cards andUSB flash drives have built-in controllers to manage MTD with dedicated algorithms,[2][3] like wear leveling, bad block recovery, power loss recovery, garbage collection anderror correction, so use of a flash file system has limited benefit. However, some flash file systems, such asAPFS andF2FS, can be used on FTL-based flash devices such asSSD andeUFS.

Flash-based memory devices are becoming more prevalent as the number of mobile devices is increasing, the cost per memory size decreases, and the capacity of flash memory chips increases.

Origins

[edit]

The earliest flash file system, managing an array of flash as a freely writable disk, was TrueFFS byM-Systems of Israel, presented as a software product in PC-Card Expo atSanta Clara, California, in July 1992 and patented in 1993.[4]

One of the earliest flash file systems wasMicrosoft's FFS2, for use withMS-DOS, released in autumn 1992.[5] FFS2 was preceded by an earlier product, called "FFS", which however fell short of being a flash file system, managing a flash array aswrite once read many (WORM) space rather than as a freely writable disk.

Around 1994, thePCMCIA, an industry group, approved theFlash Translation Layer (FTL) specification, based on the design of M-Systems' TrueFFS. The specification was authored and jointly proposed by M-Systems andSCM Microsystems, who also provided the first working implementations of FTL. Endorsed by Intel,[6] FTL became a popular flash file system design in non-PCMCIA media as well.

Linux flash filesystems

[edit]
JFFS, JFFS2 and YAFFS
JFFS was the first flash-specific file system forLinux, but it was quickly superseded byJFFS2, originally developed for NOR flash. ThenYAFFS was released in 2002, dealing specifically with NAND flash, and JFFS2 was updated to support NAND flash too.
UBIFS
UBIFS has been merged since Linux 2.6.22[7] in 2008. UBIFS has been actively developed from its initial merge.[8] UBIFS hasdocumentation hosted atinfradead.org along with JFFS2 and MTD drivers. Some initial comparison show UBIFS with compression faster than F2FS.[9]
LogFS
LogFS, another Linux flash-specific file system, is currently[update] being developed to address the scalability issues of JFFS2.
F2FS
F2FS (Flash-Friendly File System) was added to theLinux kernel 3.8.[10] Instead of being targeted at speaking directly to raw flash devices, F2FS is designed to be used on flash-based storage devices that already include a flash translation layer, such asSD cards.[11]

Union filesystems

[edit]
This sectiondoes notcite anysources. Please helpimprove this section byadding citations to reliable sources. Unsourced material may be challenged andremoved.(December 2015) (Learn how and when to remove this message)

Overlayfs, Unionfs, and aufs are union filesystems, that allow multiple filesystems to be combined and presented to the user as a single tree. This allows the system designer to place parts of the operating system that are nominally read-only on different media to the normal read-write areas.OpenWrt is usually installed on raw flash chips without FTL. It uses overlayfs to combine a compressed read-onlySquashFS withJFFS2.

Translation layers

[edit]
Main article:Flash translation layer

See also

[edit]

References

[edit]
  1. ^Arnd Bergmann (2011-02-18)."Optimizing Linux with cheap flash drives".LWN.net. Retrieved2013-01-26.
  2. ^"Phison's USBkey controller PS2251-63". Archived fromthe original on 2011-07-28. Retrieved2011-05-26.
  3. ^OpenNFM: An open source NAND FTL for SSD and embedded storage module
  4. ^US patent 5404485, "Flash file system, Amir Ban" 
  5. ^"Microsoft FFS2 patent". Archived fromthe original on 2016-12-19. Retrieved2009-01-09.
  6. ^"Understanding the Flash Translation Layer (FTL) Specification"(PDF).Intel. December 1998. Archived fromthe original(PDF) on 2014-07-19. Retrieved2015-07-27.
  7. ^Jonathan Corbet (2008-04-02)."UBIFS". LWN.
  8. ^Richard Weinberger (2012-09-24)."UBI: Fastmap request for inclusion". LKML.
  9. ^Neil Brown (2012-12-11)."JFFS2, UBIFS, and the growth of flash storage". LWN.
  10. ^"Filesystems and storage".Kernel Log - Coming in 3.8.The H. 2013-01-21. Retrieved2013-01-23.
  11. ^Neil Brown (2012-10-10)."An f2fs teardown".LWN.net. Retrieved2014-04-09.

External links

[edit]
Key terminology
Flash manufacturers
Controllers
Captive
Independent
SSD manufacturers
Interfaces
Configurations
Related organizations
Disk and
non-rotating
Optical disc
Flash memory andSSD
host-sidewear leveling
Distributed parallel
NAS
Specialized
Pseudo
Encrypted
Types
Features
Access control
Interfaces
Lists
Layouts
Retrieved from "https://en.wikipedia.org/w/index.php?title=Flash_file_system&oldid=1297041424"
Categories:
Hidden categories:

[8]ページ先頭

©2009-2025 Movatter.jp