快闪记忆体档案系统
![本页使用了标题或全文手工转换](http://images.weserv.nl/?url=//upload.wikimedia.org/wikipedia/commons/thumb/c/cd/Zh_conversion_icon_m.svg/35px-Zh_conversion_icon_m.svg.png)
![]() | 此条目可参照英语维基百科相应条目来扩充。 (2012年9月10日) |
此条目没有列出任何参考或来源。 (2012年2月4日) |
快闪记忆体档案系统(英语:Flash file system),是一种为了在快闪记忆体装置上存储资料而设计的档案系统,如JFFS2与YAFFS等。随著行动装置的日渐增加,快闪记忆体的存储能力增加以及价格下降,这类型的档案系统变得越来越普遍。
电脑上通行的大部份档案系统,都是针对碟盘存储装置设计的,应用到快闪记忆体上并不适合。一般的档案系统,可以透过快闪记忆体转换层(Flash Translation Layer,FTL)写入快闪记忆体,但是它的缺点是写入的效率较差。因此,设计快闪记忆体档案系统仍然是有必要的。
系统概述
快闪记忆体装置跟碟盘存储装置,在硬体上有不同的特性,例如:
- 抺除区块(Erasing blocks):快闪记忆体的区块(block)在写入之前,要先做抹除(erase)的动作。抺除区块的时间可能会很长,因此最好利用系统闲置的时间来进行抹除。
- 耗损平均技术(Wear leveling):快闪记忆体的区块有抺写次数的限制,重复抺除、写入同一个单一区块将会造成读取速度变慢,甚至损坏而无法使用,因此快闪记忆体装置的驱动程式需要将抺写的区块分散,以延长快闪记忆体寿命。用于快闪记忆体的档案系统,也需要设计出平均写入各区块的功能。
- 随机存取(Random access):一般的硬碟,读写资料时,需要旋转磁碟,以找到存放的磁区,因此,一般使用于磁碟的档案系统,会作最佳化,以避免搜寻磁碟的作用。但是快闪记忆体可以随机存取,没有寻找延迟时间,因此不需要这个最佳化。
设计快闪记忆体档案系统的基本概念是,当储存资料需要更新时,档案系统将会把新的复本写入一个新的快闪记忆体区块,将档案指标重新指向,并在闲置时期将原有的区块抺除。例如JFFS2与YAFFS,都是这样设计。
历史
最早的快闪记忆体档案系统之一,是微软所研发的FFS2(Flash File System 2),在1990年代,它被应用在MS-DOS上。
在1994年间,PCMCIA组织,通过了快闪记忆体转换层(Flash Translation Layer,FTL)的规格,允许Linear Flash装置能够看起来像是FAT磁碟装置,但是仍然保有耗损平均技术的能力。应用相同概念,但为了避免专利争议,资料光公司(Datalight)创造了FlashFX与FlashFX Pro,作为商业产品。
在Linux上实作的快闪记忆体转换层,称为MTD。MTD是一个硬体的抽象层,能够让快闪记忆体装置看起来像是一种区块装置,因此能够将既有的档案系统,如FAT、Ext、XFS等,直接应用在快闪记忆体上。
范例
参考资料
|