Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3806762
  • 博文数量: 197
  • 博客积分: 10086
  • 博客等级: 上将
  • 技术积分: 5145
  • 用 户 组: 普通用户
  • 注册时间: 2007-05-13 10:50
文章分类

全部博文(197)

文章存档

2011年(2)

2009年(30)

2008年(165)

我的朋友

分类: LINUX

2009-05-05 15:09:43

Flash file system

From Wikipedia, the free encyclopedia

flash file system is a file system designed for storing files on flash memory devices. These are becoming more prevalent as the number of mobile devices is increasing, and the capacity of flash memories increases.

While a block device layer can emulate a disk drive so that a disk file system can be used on a flash 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: Disk file systems are optimized to avoid disk seeks whenever possible, due to the high cost of seeking. Flash memory devices impose no seek latency.
  • Wear levelling: 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. Such file systems include JFFS2 and YAFFS.

Because of the particular characteristics of flash memory, it is best used with either a controller to perform wear-levelling and error correction or specifically designed flash file systems, which spread writes over the media and deal with the long erase times of NOR 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 only used for "Memory Technology Devices" ("MTD"), which are embedded flash memories that do not have a controller. Removable flash memory cards and USB flash drives have built-in controllers to perform wear-levelling and error correction so use of a specific flash file system does not add any benefit.

Contents

 [hide]

[edit]Examples

One of the earliest flash file systems was Microsoft's FFS2 (presumably preceded by FFS1), for use with MS-DOS in the early 1990s.[1]

Around 1994, the PCMCIA, an industry group, approved the Flash Translation Layer (FTL)specification, which allowed a Linear Flash device to look like a FAT disk, but still have effective wear levelling. Other commercial systems such as FlashFX and FlashFX Pro by Datalight were created to avoid patent concerns with FTL.

ZFS by Sun Microsystems has been optimized to manage Flash SSD systems, both as cache as well as main storage facilities, available for OpenSolarisFreeBSD, and Mac OS X operating systems. Sun has announced a complete line of Flash enabled systems and storage devices.

JFFS was the first flash-specific file system for Linux, but it was quickly superseded by JFFS2, originally developed for NOR flash. Then YAFFS was released in 2002, dealing specifically with NAND flash, and JFFS2 was updated to support NAND flash too. LogFS, another Linux flash-specific file system, is currently being developed to address the scalability issues of JFFS2.

[edit]TrueFFS

True flash file system or TrueFFS is a low level file system designed to run on a raw Solid-state drive, implementing error correctionbad block re-mapping and wear levelling. Externally, TrueFFS presents a normal hard disk interface.

TrueFFS was created by M-Systems, who were acquired by Sandisk in 2006. A derivative of TrueFFS, called TFFS or TFFS-lite, is found in the VxWorks operating system, where it functions as a flash translation layer, not as a fully functional file system. A flash translation layer is used to adapt a fully functional file system to the constraints and restrictions imposed by flash memory devices.

[edit]ExtremeFFS

ExtremeFFS is a technology being developed by Sandisk allowing for improved random write performance in flash memory compared to traditional systems such as TrueFFS. Sandisk claims that the technology improves random access speed in Solid-state drives by a factor of 100.[2] The company plans on using ExtremeFFS in an upcoming Multi-level cell implementation of NAND flash memory.[3]

[edit]See also

[edit]References

[edit]Flash file systems (general references)

[edit]External links

阅读(988) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~