[发明专利]基于随机游走的固态硬盘磨损均衡方法有效
| 申请号: | 201010584084.X | 申请日: | 2010-12-07 |
| 公开(公告)号: | CN102169727A | 公开(公告)日: | 2011-08-31 |
| 发明(设计)人: | 胡事民;赵鹏 | 申请(专利权)人: | 清华大学 |
| 主分类号: | G11C29/00 | 分类号: | G11C29/00;G06F12/02 |
| 代理公司: | 北京路浩知识产权代理有限公司 11002 | 代理人: | 王莹 |
| 地址: | 100084 北京市海*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 基于 随机 游走 固态 硬盘 磨损 均衡 方法 | ||
技术领域
本发明涉及计算机存储技术领域,特别涉及一种基于随机游走的固态硬盘磨损均衡方法。
背景技术
由于磁盘的速度和内存、CPU速度之间存在较大差异,磁盘的性能问题逐步成为阻碍计算机系统发展的主要瓶颈之一。闪存,又称flash存储器(flash memory),具有能耗低、非易失、抗震等物理稳定性强和方便插拔移动等优点。近年来,以闪存为介质的固态硬盘容量逐步增大,价格逐步下降,已有取代磁盘,成为新的主流外存介质的趋势,并可能引起存储系统的一次变革。由于闪存的存储单元有写限制,一般的优质闪存的最大擦写次数为100000次,当对存储单元的擦写次数超过最大擦写次数后,存储单元将会不稳定或失效,造成物理上的数据丢失。磨损均衡技术(wear leveling)应运而生,通过磨损均衡技术可以使对存储单元的写操作均匀分布,对存储单元进行全局管理,从而使各个存储单元的写操作次数均匀增长。
目前对于闪存的磨损均衡方法主要通过在固态硬盘的控制器中的建立表结构来记录各个存储单元的擦写次数,通过擦写次数的比较来定位写操作的位置。当固态硬盘的容量不断增加时,维持擦除/写次数的表结构所需要的内存容量也随之增加,这会给固态硬盘带来额外的消耗,同时也会延长控制器的查表时间,带来性能损失。
发明内容
(一)要解决的技术问题
本发明要解决的技术问题是:如何将大容量固态硬盘中的写操作均匀分布到各个存储单元,同时节约固态硬盘的内存资源消耗,并提高性能。
(二)技术方案
为解决上述技术问题,本发明提出了一种基于随机游走的固态硬盘磨损均衡方法,包括以下步骤:
S1:根据固态硬盘的物理块中记录的擦写次数为每一物理块组计算其擦写次数的数学期望E和方差Var,并将所述数学期望E和方差Var存储在固态硬盘的控制器内存中的元数据表中,所述元数据表中还存储每一物理块组的块内指针;
S2:按照所述数学期望E对物理块组进行排序,并依赖所述方差Var来挑选目标物理块组;
S3:利用随机游走机制在所述目标物理块组中挑选目标物理块;
S4:将待写数据写入目标物理块,并更新所述目标物理块的擦写次数,同时更新该目标物理块所在物理块组的数学期望E和方差Var,跳转到S2继续执行。
其中,若固态硬盘未分组,所述步骤S1之前还包括:
按照逻辑分组或固态硬盘的物理结构对固态硬盘的物理块进行分组。
其中,所述按固态硬盘的物理结构对物理块进行分组是按照一个闪存平面进行分组,一个闪存平面包括2048个物理块。
其中,所述步骤S1具体包括:
若固态硬盘中不存在元数据表,分组后在所述固态硬盘的控制器的内存中创建元数据表,读取每个物理块组内的所有物理块的元数据中的擦写次数,计算每个物理块组的数学期望E和方差Var,块内指针初始化为0。
其中,所述步骤S2具体包括:
根据所述数学期望E对物理块组按从大到小或从小到大进行排序;
利用所述方差Var在数学期望E最小的M个物理块组中选择方差最大的物理块组为目标物理块组。
其中,所述M取值为1-5。
其中,所述步骤S3具体包括:
从所述目标物理块组中的块内指针所指的位置作为起始位置,根据预定的步长向左或向右移动所述块内指针利用当前位置相邻的物理块的擦写次数来影响左右移动的概率,计算向左移动的概率公式如公式(1)所示:
P(L)为向左移动的概率,ecL为左相邻物理块的擦写次数,ecR为右相邻物理块的擦写次数;
每步的随机游走均通过伪随机函数生成一个0到1区间的小数,若该小数若在0到P(L)之间,则向左移动,否则向右移动;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于清华大学,未经清华大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010584084.X/2.html,转载请声明来源钻瓜专利网。





