[发明专利]一种闪存的磨损平衡方法有效
申请号: | 201110048934.9 | 申请日: | 2011-03-01 |
公开(公告)号: | CN102081576A | 公开(公告)日: | 2011-06-01 |
发明(设计)人: | 刘景宁;冯丹;童薇;项南;胡洋;秦亦 | 申请(专利权)人: | 华中科技大学 |
主分类号: | G06F12/02 | 分类号: | G06F12/02 |
代理公司: | 华中科技大学专利中心 42201 | 代理人: | 朱仁玲 |
地址: | 430074 湖北*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 闪存 磨损 平衡 方法 | ||
技术领域
本发明属于半导体存储领域,具体涉及一种闪存的磨损平衡方法。
背景技术
闪存因为其具有高密度、大容量、较低的读写操作耗时、能耗低,非易失性等特点而越来越广的被应用于各种领域;同时,闪存芯片自身存在的一些缺陷限制了这类存储器的应用。其一,闪存的写入操作必须在空白区域进行,如果目标区域已经有数据,必须先擦除后写入,闪存以块为单位进行擦除操作。其二,闪存芯片的可擦除次数是有限的,对于NOR型闪存可擦除次数一般为十万次左右,NAND型闪存可擦除次数一般为百万次左右。
然而在闪存芯片的实际使用过程中,闪存设备的实际寿命远远低于上述的理论值。其主要原因是闪存芯片被操作的频率是不一样的。存储热数据的闪存区块由于热数据的不断更新写入,而导致这些闪存区块不断地被擦除,写入,形成坏块,当坏块达到一定的累积之后,闪存芯片就不能够再使用了,而存储冷数据的闪存区块由于冷数据长时间不更新写入,而导致这些闪存区块很少被擦除,这样会造成很大的浪费。磨损平衡算法所解决的正是如何将整个闪存介质平均地被磨损,而不是某些闪存区块不断地被磨损,其它闪存区块则处于闲置状态。国内外有很多关于磨损平衡算法的研究,但是这些研究通常都是假设一个很小的问题规模,例如Dual-pool Algorithm提出了这么一种思想:将磨损较严重的块存放冷数据,停止该磨损严重的物理块的进一步磨损,同时腾出原先冷数据存放的拥有较多寿命的物理块,使得后来程序中需要使用的经常更新的数据可以利用这些寿命较长的物理块,从而使得磨损更加趋于平衡。Dual-pool分为Hot pool和Coldpool。Hot pool队首为已擦除次数最多(即寿命最少)的物理块,而Cold pool队首为已擦除次数最少的物理块,若两队首物理块[已擦除次数差>阈值T],则需要用冷数据来停止Hot pool队首的物理块被垃圾回收策略选中擦除继续磨损。这种算法的问题是已擦除次数最多的物理块不一定是逻辑热数据块,而已擦除次数最少的物理块也不一定是逻辑冷数据块,并且这种算法的可扩展性不够,当闪存容量进一步扩大之后,Hot pool和Cold pool的大小会随着闪存容量的增加而增加,最后变得很大,使得操作过于复杂,管理代价过大。近年来闪存容量在快速增长,根据摩尔定律,以后随着技术的进一步发展,闪存的容量会越来越大。在闪存芯片的容量逐渐增大的环境下,现有的磨损平衡算法已经在遭受可扩展性的问题,严重地影响了磨损平衡算法的收益和系统的读写性能。
目前业界的公司推出来的最新产品大多是256GB和512GB的,不过随着技术的不断更新,SSD的容量最终会突破1TB。业界对于大容量并没有准确的定义,一般认为超过1TB即可以确定为大容量。
发明内容
本发明所解决的技术问题在于,提出一种闪存的磨损平衡方法,精确定义冷热数据和闪存特别是大容量闪存产生的可扩展性问题,能使得在大容量闪存的情况下保证磨损平衡算法不会受到可扩展性的问题及有效地延长其寿命,并可进一步提高闪存操作速度和降低磨损平衡算法所带来的性能损失。
为实现上述目的,本发明采用如下技术方案:
将整个闪存(如SSD固态硬盘)的存储区域划分为以2^n(n=0,1....)个以plane为单位的多个存储子区域,采用两级动态/静态磨损平衡。
系统查看每个物理块的磨损情况,维持磨损严重存储子区域队列,并且为每一个存储子区域维持热数据队列,冷数据队列,空闲块队列,垃圾块队列。
在实现两级动态磨损平衡算法的时候,分为存储子区域之间的动态磨损平衡算法和存储子区域内部的动态磨损平衡算法。首先将逻辑块映射到存储子区域,然后映射到该存储子区域的已擦除次数最小的空闲块。
其中,存储子区域之间的动态磨损平衡是采用一个轮转令牌环式的方法来实现从逻辑块到存储子区域的映射的,包括:
a)如果该逻辑块以前写过,则不动用令牌环上的令牌,将逻辑块映射到最后一次写操作确定的物理块所在的存储子区域;
b)如果该逻辑块以前没有写过,则判定当前令牌所在节点的存储子区域是否为磨损严重存储子区域,若是,则将令牌传递至环上下一个节点,一直到令牌所在节点的存储子区域不是磨损严重存储子区域,则将逻辑块映射到该存储子区域;在映射完成之后,将令牌传递至下一个节点。
其中,存储子区域内部的动态平衡算法是将逻辑块映射到该存储子区域内部已擦除次数最小的空闲物理块。
其中,磨损严重存储子区域的判定包括:
1.在W-timer(磨损计时器)时间段结束之后,进行磨损严重存储子区域的判定;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华中科技大学,未经华中科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110048934.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:双控制器存储设备的缓存镜像系统及方法
- 下一篇:调整时钟中断周期的方法和装置