CN102169727A - 基于随机游走的固态硬盘磨损均衡方法 - Google Patents
基于随机游走的固态硬盘磨损均衡方法 Download PDFInfo
- Publication number
- CN102169727A CN102169727A CN201010584084XA CN201010584084A CN102169727A CN 102169727 A CN102169727 A CN 102169727A CN 201010584084X A CN201010584084X A CN 201010584084XA CN 201010584084 A CN201010584084 A CN 201010584084A CN 102169727 A CN102169727 A CN 102169727A
- Authority
- CN
- China
- Prior art keywords
- physical block
- solid state
- piece
- hard disc
- state hard
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 239000007787 solid Substances 0.000 title claims abstract description 50
- 238000005295 random walk Methods 0.000 title claims abstract description 27
- 238000005299 abrasion Methods 0.000 title claims abstract description 19
- 238000000034 method Methods 0.000 title claims abstract description 18
- 230000007246 mechanism Effects 0.000 claims abstract description 6
- 230000006870 function Effects 0.000 claims description 3
- 230000009191 jumping Effects 0.000 claims description 2
- 238000012163 sequencing technique Methods 0.000 abstract 1
- 238000005516 engineering process Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000033772 system development Effects 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明公开了一种基于随机游走的固态硬盘磨损均衡方法,包括:S1:根据固态硬盘的物理块中记录的擦写次数为每一物理块组计算其擦写次数的数学期望E和方差Var,并将数学期望E和方差Var存储在固态硬盘的控制器内存中的元数据表中,元数据表中还存储每一物理块组的块内指针;S2:按照数学期望E对物理块组进行排序,并依赖方差Var来挑选目标物理块组;S3:利用随机游走机制在目标物理块组中挑选目标物理块;S4:将待写数据写入目标物理块,并更新目标物理块的擦写次数,同时更新该目标物理块所在物理块组的数学期望E和方差Var,跳转到S2继续执行。本发明将写操作均匀分布到各个存储单元,同时节约了固态硬盘的内存资源消耗,且提高了性能。
Description
技术领域
本发明涉及计算机存储技术领域,特别涉及一种基于随机游走的固态硬盘磨损均衡方法。
背景技术
由于磁盘的速度和内存、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)之间,则向左移动,否则向右移动;
通过随机游走,块内指针最后移动到的物理块作为目标物理块。
其中,所述预定步长为1-10个物理块。
其中,所述步骤S4具体包括:
若挑选的目标物理块中存在数据,则将其移动到已擦除并准备存放数据的物理块上;
擦除目标物理块,并更新所述目标物理块中的擦写次数,同时更新该目标物理块所在物理块组的数学期望E和方差Var,读取目标物理块的元数据中保存该物理块的擦写次数,按照下述公式(2)直接计算并更新物理块组的数学期望E,按公式(3)计算物理块组的方差Var,不需要读取所有物理块中的擦写次数;
E=E′+(ec-ec′)/N (2)
其中,E′为原来的数学期望,Var′为原来的方差,ec为更新后的擦写次数,ec′为原来的擦写次数,N为块组中的块的个数;
跳转到S2继续执行。
(三)有益效果
本发明通过将固态硬盘分组,建立元数据表,并通过随机游走的机制来确定最终的擦写物理块,从而将写操作均匀分布到各个存储单元,同时节约了固态硬盘的内存资源消耗,且提高了性能。
附图说明
图1是本发明实施例的一种基于随机游走的固态硬盘磨损均衡方法流程图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
为了达到以上发明目的,本发明提供了一种利用随机游走机制及数据分组的思想来进行磨损均衡设计,流程图如图1所示,包括:
步骤S101,根据固态硬盘的物理块中记录的擦写次数为每一物理块组计算其擦写次数的数学期望E和方差Var,并将每个物理块的数学期望E和方差Var存储在固态硬盘的控制器内存中的元数据表中,元数据表中还存储每一物理块组的块内指针,其中,物理块组的数学期望E、方差Var和块内指针分别占用4字节,4字节和2字节。
若在擦写数据前,若固态硬盘未分组,则按照逻辑分组或固态硬盘的物理结构对固态硬盘的物理块进行分组。若按固态硬盘的物理结构对物理块进行分组,则按照一个闪存平面进行分组,一个闪存平面包括2048个物理块。
在计算每个物理块组擦写次数的数学期望E和方差Var时,具体步骤如下:
若固态硬盘中不存在元数据表(还未建立),分组后在固态硬盘的控制器的内存中创建元数据表,读取每个物理块组内的所有物理块的元数据中的擦写次数,计算每个物理块组的数学期望E和方差Var,块内指针初始化为0。
若物理块组的元数据表已建立,则执行步骤S102。
步骤S102,按照所述数学期望E对物理块组进行排序,并依赖所述方差Var来挑选目标物理块组。排序时按数学期望E从大到小或从小到大对物理块组进行排序,利用方差Var在数学期望E最小的M个物理块组中,优选为1-5个(如3个)物理块组,选择方差最大的物理块组为目标物理块组。
步骤S103,利用随机游走机制在步骤S102中选出的目标物理块组中挑选目标物理块。具体步骤如下:
根据预定的步长,优选为1-10个物理块(如5个),向左或向右移动所述块内指针利用当前位置相邻的物理块的擦写次数来影响左右移动的概率,计算移动的概率公式如公式(1)所示:
P(L)分别为向左移动的概率,ecL为左相邻物理块的擦写次数,ecR为右相邻物理块的擦写次数。
每步的随机游走均通过伪随机函数生成一个0到1区间的小数,若该小数若在0到P(L)之间,则向左移动,否则向右移动。
通过随机游走,块内指针最后移动到的物理块作为目标物理块。
步骤S104,将待写数据写入目标物理块,并更新目标物理块的擦写次数,同时更新该目标物理块所在物理块组的数学期望E和方差Var。按照下述公式(2)直接计算物理块组的数学期望E,按公式(3)计算物理块组的方差Var,不需要读取所有物理块的元数据中的擦写次数;
E=E′+(ec-ec′)/N (2)
其中,E′为原来的数学期望,Var′为原来的方差,ec为更新后的擦写次数,ec′为原来的擦写次数,N为块组中的块的个数。计算后将元数据表中的数学期望和方差更新为E和Var。更新完成后继续执行步骤S102,继续读写其它数据,直到读写命令停止。
以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。
Claims (9)
1.一种基于随机游走的固态硬盘磨损均衡方法,其特征在于,包括以下步骤:
S1:根据固态硬盘的物理块中记录的擦写次数为每一物理块组计算其擦写次数的数学期望E和方差Var,并将所述数学期望E和方差Var存储在固态硬盘的控制器内存中的元数据表中,所述元数据表中还存储每一物理块组的块内指针;
S2:按照所述数学期望E对物理块组进行排序,并依赖所述方差Var来挑选目标物理块组;
S3:利用随机游走机制在所述目标物理块组中挑选目标物理块;
S4:将待写数据写入目标物理块,并更新所述目标物理块的擦写次数,同时更新该目标物理块所在物理块组的数学期望E和方差Var,跳转到S2继续执行。
2.如权利要求1所述的基于随机游走的固态硬盘磨损均衡方法,其特征在于,若固态硬盘未分组,所述步骤S1之前还包括:
按照逻辑分组或固态硬盘的物理结构对固态硬盘的物理块进行分组。
3.如权利要求2所述的基于随机游走的固态硬盘磨损均衡方法,其特征在于,所述按固态硬盘的物理结构对物理块进行分组是按照一个闪存平面进行分组,一个闪存平面包括2048个物理块。
4.如权利要求1所述的基于随机游走的固态硬盘磨损均衡方法,其特征在于,所述步骤S1具体包括:
若固态硬盘中不存在元数据表,分组后在所述固态硬盘的控制器的内存中创建元数据表,读取每个物理块组内的所有物理块的元数据中的擦写次数,计算每个物理块组的数学期望E和方差Var,块内指针初始化为0。
5.如权利要求1所述的基于随机游走的固态硬盘磨损均衡方法,其特征在于,所述步骤S2具体包括:
根据所述数学期望E对物理块组按从大到小或从小到大进行排序;
利用所述方差Var在数学期望E最小的M个物理块组中选择方差最大的物理块组为目标物理块组。
6.如权利要求5所述的基于随机游走的固态硬盘磨损均衡方法,其特征在于,所述M取值为1-5。
7.如权利要求1所述的基于随机游走的固态硬盘磨损均衡方法,其特征在于,所述步骤S3具体包括:
从所述目标物理块组中的块内指针所指的位置作为起始位置,根据预定的步长向左或向右移动所述块内指针利用当前位置相邻的物理块的擦写次数来影响左右移动的概率,计算向左移动的概率公式如公式(1)所示:
P(L)为向左移动的概率,ecL为左相邻物理块的擦写次数,ecR为右相邻物理块的擦写次数;
每步的随机游走均通过伪随机函数生成一个0到1区间的小数,若该小数若在0到P(L)之间,则向左移动,否则向右移动;
通过随机游走,块内指针最后移动到的物理块作为目标物理块。
8.如权利要求7所述的基于随机游走的固态硬盘磨损均衡方法,其特征在于,所述预定步长为1-10个物理块。
9.如权利要求1所述的基于随机游走的固态硬盘磨损均衡方法,其特征在于,所述步骤S4具体包括:
若挑选的目标物理块中存在数据,则将其移动到已擦除并准备存放数据的物理块上;
擦除目标物理块,并更新所述目标物理块中的擦写次数,同时更新该目标物理块所在物理块组的数学期望E和方差Var,读取目标物理块的元数据中保存该物理块的擦写次数,按照下述公式(2)直接计算并更新物理块组的数学期望E,按公式(3)计算物理块组的方差Var,不需要读取所有物理块中的擦写次数;
E=E′+(ec-ec′)/N (2)
其中,E′为原来的数学期望,Var′为原来的方差,ec为更新后的擦写次数,ec′为原来的擦写次数,N为块组中的块的个数;
跳转到S2继续执行。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010584084 CN102169727B (zh) | 2010-12-07 | 2010-12-07 | 基于随机游走的固态硬盘磨损均衡方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010584084 CN102169727B (zh) | 2010-12-07 | 2010-12-07 | 基于随机游走的固态硬盘磨损均衡方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102169727A true CN102169727A (zh) | 2011-08-31 |
CN102169727B CN102169727B (zh) | 2013-03-20 |
Family
ID=44490854
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201010584084 Active CN102169727B (zh) | 2010-12-07 | 2010-12-07 | 基于随机游走的固态硬盘磨损均衡方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102169727B (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102543213A (zh) * | 2011-12-31 | 2012-07-04 | 大连现代高技术集团有限公司 | Eeprom芯片的数据检错方法 |
CN104011689A (zh) * | 2011-11-04 | 2014-08-27 | 英特尔公司 | 非易失性存储器损耗管理 |
CN104714891A (zh) * | 2013-12-11 | 2015-06-17 | 华为技术有限公司 | 一种闪存数据管理方法及装置 |
CN105786722A (zh) * | 2014-12-25 | 2016-07-20 | 研祥智能科技股份有限公司 | 基于异构混合内存的nvm内存擦写控制方法和系统 |
CN106935264A (zh) * | 2015-12-29 | 2017-07-07 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
CN107797936A (zh) * | 2017-10-25 | 2018-03-13 | 记忆科技(深圳)有限公司 | 一种实现固态硬盘磨损均衡的方法 |
CN108280029A (zh) * | 2018-02-28 | 2018-07-13 | 郑州云海信息技术有限公司 | 一种基于NorFlash芯片的数据擦写方法及系统 |
CN110211626A (zh) * | 2019-05-13 | 2019-09-06 | 华中科技大学 | 一种闪存存储器健康度的度量方法及度量系统 |
CN110675910A (zh) * | 2019-09-09 | 2020-01-10 | 苏州浪潮智能科技有限公司 | 一种ssd磨损均衡机制测试方法、系统、介质和终端 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030023811A1 (en) * | 2001-07-27 | 2003-01-30 | Chang-Soo Kim | Method for managing logical volume in order to support dynamic online resizing and software raid |
CN101477492A (zh) * | 2009-01-21 | 2009-07-08 | 华中科技大学 | 一种用于固态硬盘的循环重写闪存均衡方法 |
CN101727293A (zh) * | 2008-10-23 | 2010-06-09 | 成都市华为赛门铁克科技有限公司 | 一种固态硬盘ssd存储的设置方法、装置和系统 |
-
2010
- 2010-12-07 CN CN 201010584084 patent/CN102169727B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030023811A1 (en) * | 2001-07-27 | 2003-01-30 | Chang-Soo Kim | Method for managing logical volume in order to support dynamic online resizing and software raid |
CN101727293A (zh) * | 2008-10-23 | 2010-06-09 | 成都市华为赛门铁克科技有限公司 | 一种固态硬盘ssd存储的设置方法、装置和系统 |
CN101477492A (zh) * | 2009-01-21 | 2009-07-08 | 华中科技大学 | 一种用于固态硬盘的循环重写闪存均衡方法 |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104011689A (zh) * | 2011-11-04 | 2014-08-27 | 英特尔公司 | 非易失性存储器损耗管理 |
CN104011689B (zh) * | 2011-11-04 | 2017-12-15 | 英特尔公司 | 非易失性存储器损耗管理 |
CN102543213A (zh) * | 2011-12-31 | 2012-07-04 | 大连现代高技术集团有限公司 | Eeprom芯片的数据检错方法 |
CN102543213B (zh) * | 2011-12-31 | 2014-07-30 | 大连现代高技术集团有限公司 | Eeprom芯片的数据检错方法 |
CN104714891B (zh) * | 2013-12-11 | 2017-12-15 | 华为技术有限公司 | 一种闪存数据管理方法及装置 |
CN104714891A (zh) * | 2013-12-11 | 2015-06-17 | 华为技术有限公司 | 一种闪存数据管理方法及装置 |
CN105786722A (zh) * | 2014-12-25 | 2016-07-20 | 研祥智能科技股份有限公司 | 基于异构混合内存的nvm内存擦写控制方法和系统 |
CN106935264A (zh) * | 2015-12-29 | 2017-07-07 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
CN106935264B (zh) * | 2015-12-29 | 2020-12-25 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
CN107797936A (zh) * | 2017-10-25 | 2018-03-13 | 记忆科技(深圳)有限公司 | 一种实现固态硬盘磨损均衡的方法 |
CN108280029A (zh) * | 2018-02-28 | 2018-07-13 | 郑州云海信息技术有限公司 | 一种基于NorFlash芯片的数据擦写方法及系统 |
CN108280029B (zh) * | 2018-02-28 | 2022-03-22 | 郑州云海信息技术有限公司 | 一种基于NorFlash芯片的数据擦写方法及系统 |
CN110211626A (zh) * | 2019-05-13 | 2019-09-06 | 华中科技大学 | 一种闪存存储器健康度的度量方法及度量系统 |
CN110675910A (zh) * | 2019-09-09 | 2020-01-10 | 苏州浪潮智能科技有限公司 | 一种ssd磨损均衡机制测试方法、系统、介质和终端 |
CN110675910B (zh) * | 2019-09-09 | 2021-11-26 | 苏州浪潮智能科技有限公司 | 一种ssd磨损均衡机制测试方法、系统、介质和终端 |
Also Published As
Publication number | Publication date |
---|---|
CN102169727B (zh) | 2013-03-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102169727B (zh) | 基于随机游走的固态硬盘磨损均衡方法 | |
CN102081576B (zh) | 一种闪存的磨损平衡方法 | |
US11704239B2 (en) | Garbage collection method for storage medium, storage medium, and program product | |
CN102880556B (zh) | 一种实现Nand Flash磨损均衡的方法及其系统 | |
CN106462410B (zh) | 用于加速存储器的引导时间清零的设备和方法 | |
US10599345B2 (en) | Memory device that writes data into a block based on time passage since erasure of data from the block | |
CN103577336B (zh) | 一种存储数据处理方法及装置 | |
CN105242871A (zh) | 一种数据写入方法及装置 | |
US9588896B2 (en) | Computer and memory control method | |
US8656090B2 (en) | Method for performing block management, and associated memory device and controller thereof | |
CN110673789B (zh) | 固态硬盘的元数据存储管理方法、装置、设备及存储介质 | |
CN102495806B (zh) | 相变内存周期性磨损均衡方法及其内存管理方法 | |
CN103229136B (zh) | 磁盘阵列刷盘方法及磁盘阵列刷盘装置 | |
CN105095116A (zh) | 缓存替换的方法、缓存控制器和处理器 | |
CN105988875B (zh) | 一种运行进程的方法及装置 | |
CN101923518A (zh) | 存储器系统、操作方法和数据加载的方法 | |
CN106775474A (zh) | 一种Nand Flash磨损均衡方法、装置及存储器 | |
US11775389B2 (en) | Deferred error-correction parity calculations | |
CN104765569A (zh) | 数据写入方法、存储器控制电路单元与存储器储存装置 | |
US20170115932A1 (en) | Memory controller, data storage device, and memory control method | |
CN102279809A (zh) | 一种在固态硬盘中重定向写入及垃圾回收的方法 | |
US20100125697A1 (en) | Computing device having storage, apparatus and method of managing storage, and file system recorded recording medium | |
CN110895449A (zh) | 用于在存储器系统中管理有效数据的装置和方法 | |
CN104102459A (zh) | 一种闪存设备的数据处理方法及闪存设备 | |
CN102169464B (zh) | 一种用于非易失性存储器的缓存方法、装置及智能卡 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |