YAFFS(Yet Another Flash File System)是由Aleph One公司所发展出来的NAND flash 嵌入式文件系统。
在YAFFS中,最小存储单位为一个Page,文件内的数据是存储在固定512 bytes的Page中,每一个Page亦会有一个对应的16 bytes的Spare(OOB,Out-Of-Band)。YAFFS采用Tree Node Structure,由多个Tree Node(Tnode)所组成,Tnode又分成Internal Tnode与Lowest-Level Tnode,其中Internal Tnode由8个Pointers所组成,Lowest-Level Tnode由16个Entries所组成,其时间复杂度(Time Complexity)相当于O(log N),故地址转换时间较迅速。一旦Flash Memory挂载(mount)之时,YAFFS会为每个文件在RAM中创建一个Tree, 并随时提供Chunk(即Page, 由yaffs_Object所配置),可是 YAFFS并未完全实现耗损平均技术(wear-leveling)算法,因此还是会造成部份的Block过度访问。
2021-11-21 17:28:49
496KB
yaffs2
1