rueffs能够以对文件系统不可见的方式转移这些静态数据区域。由于绝对强制损耗均衡方式会对性能产生一些负面影响,所以trueffs采取了一种非绝对损耗均衡算法。它保证了所有空间的使用近似平等而不影响性能。 2.2 碎片回收 块数据的修改使得flash的一些块区域中的数据不再有效,并且这些区域在擦除之前变得不可写。如果没有机制来回收这些区域,flash很快就会变成只读的状态了。不幸的是由于这些块不可能单独擦除,回收这些块就有些复杂了。单次擦除被限制在一个叫作擦除单元的较大范围内,如对于amd的am29lv065d芯片来说是64kb。 trueffs使用一种被称为碎片回收的机制来回收那些不再包含有效数据的块。该机制从一个预擦除单元内复制所有的有效数据块到另一个新的被称为转移单元的擦除单元。然后,trueffs更新映射表,再擦除这个废旧的预擦除单元。这样,原来的块出现在外界时仍然包含了原来的数据,虽然这些数据现在已经存放在flash存储器的其它空间。 碎片回收算法会找到并回收与下面标准最吻合的擦除单元: ①废块最多; ②擦除次数最少; ③最静态的区域。 2.3 块分配和关联数据集结 为了提高数