CN102169727A - 基于随机游走的固态硬盘磨损均衡方法 - Google Patents

基于随机游走的固态硬盘磨损均衡方法 Download PDF

Info

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
Application number
CN201010584084XA
Other languages
English (en)
Other versions
CN102169727B (zh
Inventor
胡事民
赵鹏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tsinghua University
Original Assignee
Tsinghua University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tsinghua University filed Critical Tsinghua University
Priority to CN 201010584084 priority Critical patent/CN102169727B/zh
Publication of CN102169727A publication Critical patent/CN102169727A/zh
Application granted granted Critical
Publication of CN102169727B publication Critical patent/CN102169727B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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 ) = ec L ec L + ec R - - - ( 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)
Var = Var ′ + 2 ( ec - ec ′ ) ( ec ′ - E ′ ) N + ( N - 1 ) ( ec - ec ′ ) 2 N 2 - - - ( 3 )
其中,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 ) = ec L ec L + ec R - - - ( 1 )
P(L)分别为向左移动的概率,ecL为左相邻物理块的擦写次数,ecR为右相邻物理块的擦写次数。
每步的随机游走均通过伪随机函数生成一个0到1区间的小数,若该小数若在0到P(L)之间,则向左移动,否则向右移动。
通过随机游走,块内指针最后移动到的物理块作为目标物理块。
步骤S104,将待写数据写入目标物理块,并更新目标物理块的擦写次数,同时更新该目标物理块所在物理块组的数学期望E和方差Var。按照下述公式(2)直接计算物理块组的数学期望E,按公式(3)计算物理块组的方差Var,不需要读取所有物理块的元数据中的擦写次数;
E=E′+(ec-ec′)/N            (2)
Var = Var ′ + 2 ( ec - ec ′ ) ( ec ′ - E ′ ) N + ( N - 1 ) ( ec - ec ′ ) 2 N 2 - - - ( 3 )
其中,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 ) = ec L ec L + ec R - - - ( 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)
Var = Var ′ + 2 ( ec - ec ′ ) ( ec ′ - E ′ ) N + ( N - 1 ) ( ec - ec ′ ) 2 N 2 - - - ( 3 )
其中,E′为原来的数学期望,Var′为原来的方差,ec为更新后的擦写次数,ec′为原来的擦写次数,N为块组中的块的个数;
跳转到S2继续执行。
CN 201010584084 2010-12-07 2010-12-07 基于随机游走的固态硬盘磨损均衡方法 Active CN102169727B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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存储的设置方法、装置和系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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