当前位置:嗨网首页>书籍在线阅读

13-闪存文件系统

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

2.3.4 闪存文件系统

刚才描述的简单闪存布局策略有局限性,但可以通过使用闪存文件系统来克服。闪存文件系统以类似于硬盘驱动器组织数据的方式来管理闪存设备中的数据。早期针对闪存设备的文件系统包含简单的块设备层,这个块设备层模拟了普通硬盘驱动器的扇区布局,扇区大小为512 B。这些简单的模拟层允许以文件格式而不是无格式的大容量存储方式来访问数据,但是它们有一些性能上的局限。

对闪存文件系统的一个主要改进就是引入了耗损均衡(wear leveling)算法。如前所述,闪存块的写寿命是有限的。耗损均衡算法用来将写操作均匀分布到闪存的各个物理擦除块上,以延长闪存芯片的寿命。

闪存架构带来的另一个限制是系统掉电或意外关机后存在数据丢失的风险。闪存的块尺寸相对较大,而写入的文件的平均大小相对于块尺寸通常小很多。从前面的内容我们知道闪存块必须一次写入一整块。因此,为了写入一个8 KB的小文件,必须擦除和重写整个闪存块,而这个块的大小可能是64 KB或128 KB;在最坏的情况下,这个写入会花费几秒钟才能完成。这极大增加了系统掉电后丢失数据的风险。

目前比较受欢迎的一种闪存文件系统是JFFS2,或称为第二代日志闪存文件系统(Journaling Flash File System 2)。这个文件系统有很多重要特性,旨在提升整体性能、延长闪存寿命并降低系统掉电时数据丢失的风险。最新的JFFS2文件系统的最重要改进包括完善耗损均衡、压缩和解压缩(将更多的数据挤进有限的闪存空间),以及对Linux硬连接(hard link)的支持。相关主题将在第9章和第10章详细讲述。在第10章中,我们会讨论内存技术设备(Memory Technology Device, MTD)子系统。