闪存磨损均衡算法研究
发布时间:2020-07-16 19:33
【摘要】: 嵌入式系统已经广泛地渗透到科学研究、工程设计、军事技术、各类产业和商业文化艺术、娱乐业以及人们的日常生活等各方面。随着嵌入式系统越来越广泛的应用,嵌入式系统中的数据存储和数据管理已经成为一个重要的课题摆在设计人员面前。 闪存(Flash Memory)是嵌入式系统中一种常用的存储介质,具有体积小、容量大、成本低、掉电数据不丢失等一系列优点。目前已经逐步取代其他半导体存储元件,成为嵌入式系统中的主要数据和程序载体。通常,一个闪存是由若干个闪存块组成,每个闪存块又分为若干个物理页。闪存块是擦除操作的最小单位,而读和写都是以页为单位进行,对一个物理页进行重写之前,必须先对该页所在的块执行擦除操作。而每一个闪存块的擦除次数是有限的,一般是在10万次到100万次之间,只要有一个闪存块的擦除次数达到了上限,数据存储就变得不可靠,会影响到整个闪存的读写效率和性能。因此,需要设计高效的磨损均衡处理(wear-leveling)策略,尽可能让各闪存块保持相近的擦除次数以延长闪存的使用寿命。 本文首先介绍国内外现有的磨损均衡算法,通过仿真试验对比各算法的优缺点。然后从理论上给出了在任何一个闪存块达到擦除次数上限前,闪存可执行的擦除操作次数的上下界,并对此进行了证明。接着,对现有的算法进行改进,提出了两种基于不同目标的磨损均衡算法: 1、闪存在每次初始化的时候,都需要将块的擦除情况读入到内存中,然后根据这些信息实现块的均匀擦除,但嵌入式设备的内存非常有限,减少磨损均衡处理时的内存消耗是磨损均衡策略设计中应当考虑的问题。本文创造性地在确定性算法中加入了随机处理的成分,减少了算法执行过程中的内存开销。 2、节能是嵌入式系统设计的关键目标之一。嵌入式系统使用过程中不断进行着数据的存取,大量的能量消耗在作为外部存储介质的闪存的操作上。因此,减少嵌入式设备外部存储介质上的能耗是实现节能的重要途径。本文提出了一种基于低能耗的磨损均衡算法,既能够使各物理块有相近的擦除次数,从而延长闪存的使用寿命,又能够减少闪存操作上的能耗,从而延长了嵌入式设备一次充电后的使用时间。
【学位授予单位】:浙江工业大学
【学位级别】:硕士
【学位授予年份】:2009
【分类号】:TP333
【图文】:
将每次请求更新的逻辑页页号添加进更新请求序列中。随机性算法Ban[’9]对同一个逻辑页更新序列执行四次后,各次的擦除情况如图2一1,纵轴表示擦除次数:图2一1随机性算法的四次执行结果(单位:万次)可以看出,随机性算法的效果受随机因素影响较大,各次擦除都不是很均匀。因为更新序列中对逻辑页的请求并不是等概率的,所以,虽然随机性算法是等概率地选择处理页,却不能达到很好的磨损均衡效果。
浙江工业大学硕士学位论文将该逻辑页更新序列用于两个确定性算法中,其执行结果如图2一2:图2一2确定性算法Ass衬22]和chan扩51的执行结果(单位:万次)确定性算法因记录了物理块的擦除次数,故在处理中可根据这些信息来作出调整决策,各块基本达到了相近的擦除次数,磨损均衡的效果明显好于随机性算法。2.4内存消耗比较确定性算法通过记录物理块的擦除次数,以便在磨损均衡处理时找出合适的处理块,在效果上要优于随机性算法。但这是在消耗大量内存开销的基础上实现的,闪存在每次初始化的时候,都需要将块的擦除情况读入到内存中,闪存的容量越大,占用的内存也越多。若一个物理块的寿命为100万次擦除,则每个块需要用4个字节来存储擦除次数。表2一1比较了两类算法在运行过程中的内存消耗情况
BET表的映射
本文编号:2758417
【学位授予单位】:浙江工业大学
【学位级别】:硕士
【学位授予年份】:2009
【分类号】:TP333
【图文】:
将每次请求更新的逻辑页页号添加进更新请求序列中。随机性算法Ban[’9]对同一个逻辑页更新序列执行四次后,各次的擦除情况如图2一1,纵轴表示擦除次数:图2一1随机性算法的四次执行结果(单位:万次)可以看出,随机性算法的效果受随机因素影响较大,各次擦除都不是很均匀。因为更新序列中对逻辑页的请求并不是等概率的,所以,虽然随机性算法是等概率地选择处理页,却不能达到很好的磨损均衡效果。
浙江工业大学硕士学位论文将该逻辑页更新序列用于两个确定性算法中,其执行结果如图2一2:图2一2确定性算法Ass衬22]和chan扩51的执行结果(单位:万次)确定性算法因记录了物理块的擦除次数,故在处理中可根据这些信息来作出调整决策,各块基本达到了相近的擦除次数,磨损均衡的效果明显好于随机性算法。2.4内存消耗比较确定性算法通过记录物理块的擦除次数,以便在磨损均衡处理时找出合适的处理块,在效果上要优于随机性算法。但这是在消耗大量内存开销的基础上实现的,闪存在每次初始化的时候,都需要将块的擦除情况读入到内存中,闪存的容量越大,占用的内存也越多。若一个物理块的寿命为100万次擦除,则每个块需要用4个字节来存储擦除次数。表2一1比较了两类算法在运行过程中的内存消耗情况
BET表的映射
【引证文献】
相关期刊论文 前2条
1 桑龙;陈静;;一种快速Nand Flash垃圾回收策略[J];航空计算技术;2011年06期
2 王浩;邵高平;胡泽明;;基于分组—循环擦写的闪存磨损均衡算法[J];计算机应用研究;2013年05期
相关硕士学位论文 前1条
1 柳睿;基于Nand Flash的图像声纳数据采集存储系统设计[D];哈尔滨工程大学;2012年
本文编号:2758417
本文链接:https://www.wllwen.com/kejilunwen/jisuanjikexuelunwen/2758417.html