新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 延长Flash存储嚣使用寿命的研究

延长Flash存储嚣使用寿命的研究

作者:时间:2009-12-15来源:网络收藏

3 器的读取方法
K9F11208UOM型芯片内部与外部引脚关系如图2所示。对于每一个块的访问,都需要一个固定的物理地址,基于这个固定的物理地址来操作器,在对块进行操作的时候,一个块地址对应一个块,如果这个块坏了,那么这个地址的存在就没有意义了。就像ARM芯片在引导的时候,需要复制Flash的前4 KB的数据,这样需要固定块的数据。如果这个块坏了,系统将无法引导。

本文引用地址:http://www.eepw.com.cn/article/152233.htm

下面通过地址重映射的方法,即在Flash固件里面加入一个地址重映射的区域来解决这一问题。


4 基于地址重映射的读取方法
在实现地址重映射的时候,可以从块逻辑地址O开始,查看相对应的物理块。如果损坏,将地址从最后一个开始向前指,而相应的逻辑块被标示为坏块。例如图3,物理块0损坏,逻辑块地址0指向物理块4095的地址,而逻辑块地址4095被标示为坏块。可以看出,即使块0掼坏,仍然可以通过逻辑地址O进行操作,其内部的变化,并不会影响外部的。唯一不同的是,Flash的整体空间变小了。不过即使这样,也不会像以前那样,第一块坏了,就去换一个Flash。

5 性能分析
很明显,在数据读取的时候增加了一步地址重映射的计算。这样使整体性能会略微下降。下面分析一下加入地址重映射之后的性能影响(这里仅仅分析数据的读取性能,因为对Flash操作最多的是数据的读取,用户时也是读取最多)。
地址重映射是根据输入的地址计算操作地址的。从图4可以看出,地址重映射的计算是加在地址A25输入之后的,因其在内部操作,延时相对很小。而这个地址重映射在整个块操作之中只操作一次,且其时间很短,故在这里可以忽略不计,其对数据的读取操作基本没有影响。

加入地址重映射之后,坏块全部集中到了整个Flash设备的最后。也就是说,即使这个Flash中有1024个块坏了,仍然可以当其为一个32 MB的Flash来使用,即其有效块为第0~1 023块;不像前面所描述的那样,就算只有第一个块坏了,这个Flash也就报废了。经过加入地址重映射之后的Flash,即使就剩下一块没有损坏的块了,这个Flash仍然可以作为引导系统使用。


6 结 论
通过在Flash内部加入地址重映射机制,对于使用Flash将会有很大的方便,并且,即使第一个块坏了,仍可以继续使用这个Flash,而无需厂家保证第一个块是好的。这样大大了Flash的使用,仅仅在坏块达到一定数量的时候才需要换一个。


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭