CN111124305A - 固态硬盘磨损均衡方法、装置及计算机可读存储介质 - Google Patents
固态硬盘磨损均衡方法、装置及计算机可读存储介质 Download PDFInfo
- Publication number
- CN111124305A CN111124305A CN201911328658.4A CN201911328658A CN111124305A CN 111124305 A CN111124305 A CN 111124305A CN 201911328658 A CN201911328658 A CN 201911328658A CN 111124305 A CN111124305 A CN 111124305A
- Authority
- CN
- China
- Prior art keywords
- block
- erasing
- data
- linked list
- idle
- 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 84
- 238000000034 method Methods 0.000 title claims abstract description 63
- 238000012546 transfer Methods 0.000 claims abstract description 8
- 238000005299 abrasion Methods 0.000 claims description 8
- 238000012545 processing Methods 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 7
- 230000008859 change Effects 0.000 claims description 3
- 238000010276 construction Methods 0.000 claims description 3
- 230000002035 prolonged effect Effects 0.000 abstract description 3
- 230000008569 process Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000004064 recycling Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0616—Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0646—Configuration or reconfiguration
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本申请公开了一种固态硬盘磨损均衡方法、装置及计算机可读存储介质。其中,方法包括构建多个以数据块擦除次数区分优先级的空闲块链表和脏块链表,将各数据块按照擦除次数、块类型、擦除次数允许范围分类至相应表;若存在满足磨损均衡条件的空闲块链表,为擦除次数最低的数据块对应的区块设置重置标签;若在规定时间内未收到主机的区块重置指令,则将各脏块链表中擦除次数最低的数据块作为源数据块,将各空闲块链表中擦除次数最高的数据块作为目的数据块进行数据搬移;当接收到申请数据块请求,从擦除次数最低的空闲块链表中选择数据块,从而实现了基于ZNS协议的固态硬盘磨损均衡,有利于保证固态硬盘中各数据块的磨损均衡,有效延长固态硬盘寿命。
Description
技术领域
本申请涉及磨损均衡技术领域,特别是涉及一种固态硬盘磨损均衡方法、装置及计算机可读存储介质。
背景技术
随着云计算、互联网技术的快速发展,日常工作生活中时时刻刻都会产生海量数据需要存储,数据存储技术得到相应的发展以满足***式增长数据的现实存储需求。SSD(Solid State Drives,固态硬盘)为用固态电子存储芯片阵列制成的硬盘,由控制单元和固态存储单元组成。由于其稳定的性能,例如读写速度快、能耗较低,有效地克服了机械硬盘诸多缺点,而被广泛采用。
固态硬盘的存储单元中包括多个数据块(Block),数据块为固态硬盘的最小擦除单位。由于固态硬盘没有重写机制,在一个数据块写满数据后,需要擦除该数据块上的数据才可写入新的数据,而每个数据块的擦除次数有限,固态硬盘的寿命取决与最小寿命的数据块,为了延长固态硬盘的寿命,各数据块的擦除操作应进行磨损均衡以保证各数据块的擦除次数相同。
主机端和固态硬盘可基于ZNS(Zoned Namespace,区块命名空间)协议进行协同。在固态硬盘的使用过程中,主机端负责垃圾回收以提升固态硬盘的空间利用率,相应的,固态硬盘会因为磨损均衡而导致的数据搬移,而在数据搬移过程中,所有的数据均是有效数据,均需要进行搬移处理。垃圾回收是指将几个写满数据的物理数据块中的有效页中搬移到新的空闲物理数据块中,然后再把这几个源数据块进行擦除,从而提高固态硬盘的空间利用率。垃圾回收过程既要考虑空间回收率,保证固态硬盘能源源不断的快速提供空闲块,又要兼顾磨损次数,即全盘的磨损均衡和单个数据块的磨损次数,从而保证固态硬盘的使用寿命。
而相关技术在基于ZNS协议实现磨损均衡的过程中,当zoneopen(打开区块)申请新的物理块时,不一定会向其提供擦除次数较低的物理块,导致各数据块磨损不均衡。
鉴于此,如何基于ZNS协议实现固态硬盘磨损均衡是本领域技术人员需要解决的技术问题。
发明内容
本申请提供了一种固态硬盘磨损均衡方法、装置及计算机可读存储介质,实现了基于ZNS协议的固态硬盘磨损均衡,有效延长固态硬盘寿命。
为解决上述技术问题,本发明实施例提供以下技术方案:
本发明实施例一方面提供了一种固态硬盘磨损均衡方法,包括:
预先构建多个以数据块擦除次数区分优先级并用于存储数据块的空闲块链表和脏块链表,且将各数据块基于擦除次数与擦除均值差、块类型、各表对应的擦除次数允许范围分类至空闲块链表或脏块链表;
当检测到存在满足磨损均衡条件的空闲块链表,则为擦除次数最低的数据块对应的区块设置重置标签;若在预设时间阈值内未收到主机端下发的区块重置指令,则将各脏块链表中擦除次数最低的数据块作为源数据块,将各空闲块链表中擦除次数最高的数据块作为目的数据块进行数据搬移;
当接收到申请数据块请求,从擦除次数最低的空闲块链表中选择数据块;
其中,同一个空闲块链表或脏块链表中的数据块的擦除次数位于相同的擦除次数允许范围内且表个数基于预先设置的磨损阈值和所述擦除均值来确定;所述块类型为空闲块和脏数据块。
可选的,所述当检测到存在满足磨损均衡条件的空闲块链表,则为擦除次数最低的空闲块链表对应的区块设置重置标签为:
当检测到存在擦除次数允许范围的最大值低于所述擦除均值的空闲块链表中包含的数据块总数低于个数阈值,则为擦除次数最低的空闲块链表对应的区块设置重置标签。
可选的,所述当接收到申请数据块请求,从擦除次数最低的空闲块链表中选择数据块为:
当接收到申请数据块请求,从各空闲块链表中确定擦除次数最低的目标空闲块链表;
将所述目标空闲块链表中擦除次数最低的数据块进行反馈。
可选的,所述预先构建多个以数据块擦除次数区分优先级并用于存储数据块的空闲块链表和脏块链表之前,还包括:
按照块逻辑编号随机化算法对固态硬盘中各数据块的磨损次数进行随机化处理。
可选的,所述预先构建多个以数据块擦除次数区分优先级并用于存储数据块的空闲块链表和脏块链表之后,还包括:
当接收到所述擦除均值更改指令后,基于数据块当前擦除次数与更新擦除均值的差值调整各空闲块链表和各脏块链表中存储的数据块。
可选的,各空闲块链表和各脏块链表的擦除次数允许范围根据所述磨损阈值和表总数确定。
本发明实施例另一方面提供了一种固态硬盘磨损均衡装置,包括:
表预构建模块,用于预先构建多个以数据块擦除次数区分优先级并用于存储数据块的空闲块链表和脏块链表;同一个空闲块链表或脏块链表中的数据块的擦除次数位于相同的擦除次数允许范围内且表个数基于预先设置的磨损阈值和所述擦除均值来确定;
数据块分类模块,用于将各数据块基于擦除次数与擦除均值差、块类型、各表对应的擦除次数允许范围分类至空闲块链表或脏块链表;所述块类型为空闲块和脏数据块;
磨损均衡处理模块,用于当检测到存在满足磨损均衡条件的空闲块链表,则为擦除次数最低的数据块对应的区块设置重置标签;若在预设时间阈值内未收到主机端下发的区块重置指令,则将各脏块链表中擦除次数最低的数据块作为源数据块,将各空闲块链表中擦除次数最高的数据块作为目的数据块进行数据搬移;
数据块提供模块,用于当接收到申请数据块请求,从擦除次数最低的空闲块链表中选择数据块。
可选的,还包括表更新模块,所述表更新模块用于当接收到所述擦除均值更改指令后,基于数据块当前擦除次数与更新擦除均值的差值调整各空闲块链表和各脏块链表中存储的数据块。
本发明实施例还提供了一种固态硬盘磨损均衡装置,包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如前任一项所述固态硬盘磨损均衡方法的步骤。
本发明实施例最后还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有固态硬盘磨损均衡程序,所述固态硬盘磨损均衡程序被处理器执行时实现如前任一项所述固态硬盘磨损均衡方法的步骤。
本申请提供的技术方案的优点在于,根据擦除次数与擦除均值之间差值将各数据块分类至不同的表中实现优先级区分,避免每两个数据块进行比较带来的反复操作,提高数据块优先级分类效率;将脏块链表中的低擦除次数数据块与空闲块链表中的高擦除次数数据块提高交换实现数据搬移,脏块链表中的数据块总擦除次数增加,空闲块链表中数据块的总擦除次数降低,使的空闲块链表中低于平均擦除次数的数据块个数增加,从而在zoneopen进行数据块申请时可保证一直有低擦除次数的数据块进行提供,实现了基于ZNS协议的固态硬盘磨损均衡,有利于保证固态硬盘中各数据块的磨损均衡,有效延长固态硬盘寿命。
此外,本发明实施例还针对固态硬盘磨损均衡方法提供了相应的实现装置及计算机可读存储介质,进一步使得所述方法更具有实用性,所述装置及计算机可读存储介质具有相应的优点。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本公开。
附图说明
为了更清楚的说明本发明实施例或相关技术的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种固态硬盘磨损均衡方法的流程示意图;
图2为本发明实施例提供的另一种固态硬盘磨损均衡方法的流程示意图;
图3为本发明实施例提供的固态硬盘磨损均衡装置的一种具体实施方式结构图;
图4为本发明实施例提供的固态硬盘磨损均衡装置的另一种具体实施方式结构图;
图5为本发明实施例提供的固态硬盘磨损均衡装置的再一种具体实施方式结构图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等是用于区别不同的对象,而不是用于描述特定的顺序。此外术语“包括”和“具有”以及他们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、***、产品或设备没有限定于已列出的步骤或单元,而是可包括没有列出的步骤或单元。
在介绍了本发明实施例的技术方案后,下面详细的说明本申请的各种非限制性实施方式。
首先参见图1,图1为本发明实施例提供的一种固态硬盘磨损均衡方法的流程示意图,本发明实施例可包括以下内容:
S101:预先构建多个以数据块擦除次数区分优先级并用于存储数据块的空闲块链表和脏块链表,且将各数据块基于擦除次数与擦除均值差、块类型、各表对应的擦除次数允许范围分类至空闲块链表或脏块链表。
在本申请中,空闲块链表和脏块链表有多个,且每个空闲块链表和每个脏块链表具有唯一的优先级级别,各表的优先级别以数据库擦除次数区分,此处,需要说明的是,空闲块链表的优先级别和脏块链表优先级别无关,优先级别只是为了区分同一类型链表的选择顺序。每个优先级别唯一对应一组擦除次数允许范围,同一个空闲块链表或同一个脏块链表中的数据块的擦除次数位于相同的擦除次数允许范围内。在构建空闲块链表和脏块链表之前,会预先设置磨损阈值,可根据磨损阈值和擦除均值来确定构建空闲块链表和脏块链表的总个数,空闲块链表总个数和脏块链表总个数可相同,也可不同,本申请对此不作任何限定。当然,在确定表个数后,可根据磨损阈值和表总数来确定各空闲块链表和各脏块链表的擦除次数允许范围。
可以理解的是,在构建好空闲块链表和脏块链表之后,空闲块链表用于存储空闲数据块,所谓空闲数据块是指数据块为空或是仍然有空余的空间容量容纳数据的数据块,这些数据块可以是新的数据块,即没有进行擦除操作的数据块,也可为经过多次擦除操作的数据块;空闲块链表用于存储脏数据块,所谓脏数据块是指写了数据的数据块这些数据块可以是新写满数据的数据块,即没有进行擦除操作的数据块,也可为经过多次擦除操作的数据块。每个空闲块链表和脏块链表中存储的数据块的总个数可根据实际应用场景进行确定,本申请对此不作任何限定。由于各空闲块链表和脏块链表的优先级别基于数据块擦除次数进行区分,相应的,各空闲块链表和各脏块链表对应唯一的擦除次数允许范围,故可基于擦除次数与擦除均值差、块类型、各表对应的擦除次数允许范围分类至空闲块链表或脏块链表,其中,块类型为空闲块和脏数据块。
举例来说,磨损阈值为100,根据磨损均衡的距离均值100的阈值限制,也即-100<当前数据块的磨损次数-擦除均数<100,空闲块链表和脏块链表的表总数可均为20个,也就是说,可以为空闲块链表和脏块链表设置20级优先级,每级优先级可包括10个PE,基于此,第一空闲块链表的擦除次数允许范围可为0-10,第二空闲块链表的擦除次数允许范围可为10-20,第三空闲块链表的擦除次数允许范围可为20-30,第四空闲块链表的擦除次数允许范围可为30-40,第五空闲块链表的擦除次数允许范围可为40-50,第六空闲块链表的擦除次数允许范围可为50-60,第七空闲块链表的擦除次数允许范围可为60-70,第八空闲块链表的擦除次数允许范围可为70-80,第九空闲块链表的擦除次数允许范围可为80-90,第十空闲块链表的擦除次数允许范围可为90-100,第十一空闲块链表的擦除次数允许范围可为-10-0,第十二空闲块链表的擦除次数允许范围可为-10~-20,第十三空闲块链表的擦除次数允许范围可为-20~-30,第十四空闲块链表的擦除次数允许范围可为-30~-40,第十五空闲块链表的擦除次数允许范围可为-40~-50,第十六空闲块链表的擦除次数允许范围可为-50~-60,第十七空闲块链表的擦除次数允许范围可为-60~-70,第十八空闲块链表的擦除次数允许范围可为-70~-80,第十九空闲块链表的擦除次数允许范围可为-80~-90,第二十空闲块链表的擦除次数允许范围可为-90~-100。根据数据块PE与均值PE的差距,将数据块加入不同的空闲块链表中,当前数据块为空闲数据块,且擦除次数为25次,擦除均值为100,那么当前数据块可分类至第十八空闲块链表。
S102:当检测到存在满足磨损均衡条件的空闲块链表,则为擦除次数最低的数据块对应的区块设置重置标签。
在本申请中,当检测到存在满足磨损均衡条件的空闲块链表,则启动磨损均衡操作,磨损均衡操作可包括S102的为擦除次数最低的数据块对应的区块设置重置标签和S103。满足磨损均衡条件例如可为如果低于擦除均值的空闲块链表中所包含的数据块个数低于8,则启动磨损均衡。可挑选PE值低的数据块所对应的区块zone设置recommendedreset标记,并等待主机端对此zone下发reset指令。
S103:若在预设时间阈值内未收到主机端下发的区块重置指令,则将各脏块链表中擦除次数最低的数据块作为源数据块,将各空闲块链表中擦除次数最高的数据块作为目的数据块进行数据搬移。
其中,预设时间阈值可根据实际应用场景进行确定,例如可选择30s,若在30s内,此区块的区块重置指令还没有下发,则从脏块链表中选取PE低的区块zone作为源数据块,从空闲块链表中选取PE高的数据块作为目标数据块,搬移数据,搬移完成并区块重置指令完成后,源数据块加入空闲块链表,目标数据块加入脏块链表,这样将脏块链表中的低擦除次数数据块与空闲块链表中的高擦除次数数据块提高交换实现数据搬移,脏块链表中的数据块总擦除次数增加,空闲块链表中数据块的总擦除次数降低,使的空闲块链表中低于平均擦除次数的数据块个数增加,从而在zoneopen进行数据块申请时可保证一直有低擦除次数的数据块进行提供。
S104:当接收到申请数据块请求,从擦除次数最低的空闲块链表中选择数据块。
在经过上述S102和S103的磨损均衡后,zone open新申请数据块时,能够向zoneopen一直提供PE低的数据块。
在本发明实施例提供的技术方案中,根据擦除次数与擦除均值之间差值将各数据块分类至不同的表中实现优先级区分,避免每两个数据块进行比较带来的反复操作,提高数据块优先级分类效率;将脏块链表中的低擦除次数数据块与空闲块链表中的高擦除次数数据块提高交换实现数据搬移,脏块链表中的数据块总擦除次数增加,空闲块链表中数据块的总擦除次数降低,使的空闲块链表中低于平均擦除次数的数据块个数增加,从而在zoneopen进行数据块申请时可保证一直有低擦除次数的数据块进行提供,实现了基于ZNS协议的固态硬盘磨损均衡,有利于保证固态硬盘中各数据块的磨损均衡,有效延长固态硬盘寿命。
在上述实施例中,对于如何执行步骤S102的磨损均衡启动条件并不做限定,本实施例中给出一组具体的实现方法,如图2所示,S102可为当检测到存在擦除次数允许范围的最大值低于擦除均值的空闲块链表中包含的数据块总数低于个数阈值,则为擦除次数最低的空闲块链表对应的区块设置重置标签。
其中,擦除均值为擦除次数的平均值,个数阈值例如可为8,当然,也可为其他值,主要可根据磨损均衡的要求和表中包含数据块总数来确定,本申请对此不作任何限定。
可作为另一种可选的实施方式,S104可包括:
S1041:当接收到申请数据块请求,从各空闲块链表中确定擦除次数最低的目标空闲块链表。
S1042:将目标空闲块链表中擦除次数最低的数据块进行反馈。
在另外一种实施方式中,可以理解的是,擦除均值发生改变,那么空闲块链表和脏块链表中包含的数据块就会发生变化,基于此,本申请还可包括:
S105:当接收到擦除均值更改指令后,基于数据块当前擦除次数与更新擦除均值的差值调整各空闲块链表和各脏块链表中存储的数据块。
此外,还可以理解的是,固态硬盘中会存在大量脏数据块的磨损次数与擦除均值的差距较大的情况,而各表建立基于磨损阈值和擦除均值的限制,故可按照块逻辑编号随机化算法在预设随机范围内对固态硬盘中各数据块的磨损次数进行随机化处理,磨损次数的随机化处理具体过程可参照相关技术领域记载的块逻辑编号随机化算法的实现过程,此处,便不再赘述。也就是说,基于上述实施例,本申请还可包括:
S106:按照块逻辑编号随机化算法对固态硬盘中各脏数据块的磨损次数进行随机化处理。
需要说明的是,本申请中各步骤之间没有严格的先后执行顺序,只要符合逻辑上的顺序,则这些步骤可以同时执行,也可按照某种预设顺序执行,图1-图2只是一种示意方式,并不代表只能是这样的执行顺序。
本发明实施例还针对固态硬盘磨损均衡方法提供了相应的装置,进一步使得方法更具有实用性。其中,装置可从功能模块的角度和硬件的角度分别说明。下面对本发明实施例提供的固态硬盘磨损均衡装置进行介绍,下文描述的固态硬盘磨损均衡装置与上文描述的固态硬盘磨损均衡方法可相互对应参照。
基于功能模块的角度,参见图3,图3为本发明实施例提供的固态硬盘磨损均衡装置在一种具体实施方式下的结构图,该装置可包括:
表预构建模块301,用于预先构建多个以数据块擦除次数区分优先级并用于存储数据块的空闲块链表和脏块链表;同一个空闲块链表或脏块链表中的数据块的擦除次数位于相同的擦除次数允许范围内且表个数基于预先设置的磨损阈值和擦除均值来确定。
数据块分类模块302,用于将各数据块基于擦除次数与擦除均值差、块类型、各表对应的擦除次数允许范围分类至空闲块链表或脏块链表;块类型为空闲块和脏数据块。
磨损均衡处理模块303,用于当检测到存在满足磨损均衡条件的空闲块链表,则为擦除次数最低的数据块对应的区块设置重置标签;若在预设时间阈值内未收到主机端下发的区块重置指令,则将各脏块链表中擦除次数最低的数据块作为源数据块,将各空闲块链表中擦除次数最高的数据块作为目的数据块进行数据搬移。
数据块提供模块304,用于当接收到申请数据块请求,从擦除次数最低的空闲块链表中选择数据块。
可选的,在本实施例的一些实施方式中,请参阅图4,所述装置例如还可以包括表更新模块305,所述表更新模块305可用于当接收到所述擦除均值更改指令后,基于数据块当前擦除次数与更新擦除均值的差值调整各空闲块链表和各脏块链表中存储的数据块。还可包括随机化处理模块306,具体可用于按照块逻辑编号随机化算法对固态硬盘中各脏数据块的磨损次数进行随机化处理。
在本实施例的另一些实施方式中,所述磨损均衡处理模块303具体可用于当检测到存在擦除次数允许范围的最大值低于擦除均值的空闲块链表中包含的数据块总数低于个数阈值,则为擦除次数最低的空闲块链表对应的区块设置重置标签。
此外,在一种可选的实施方式中,所述数据块提供模块304可用于当接收到申请数据块请求,从各空闲块链表中确定擦除次数最低的目标空闲块链表;将目标空闲块链表中擦除次数最低的数据块进行反馈。
本发明实施例所述固态硬盘磨损均衡装置的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
由上可知,本发明实施例实现了基于ZNS协议的固态硬盘磨损均衡,有效延长固态硬盘寿命。
上文中提到的固态硬盘磨损均衡装置是从功能模块的角度描述,进一步的,本申请还提供一种固态硬盘磨损均衡装置,是从硬件角度描述。图5为本申请实施例提供的另一种固态硬盘磨损均衡装置的结构图。如图5所示,该装置包括存储器50,用于存储计算机程序;
处理器51,用于执行计算机程序时实现如上述实施例提到的固态硬盘磨损均衡方法的步骤。
处理器51,用于执行计算机程序时实现如上述实施例提到的板卡芯片的数据访存方法的步骤。
其中,处理器51可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器51可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。在一些实施例中,处理器51可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器51还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器50可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器50还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。本实施例中,存储器50至少用于存储以下计算机程序501,其中,该计算机程序被处理器51加载并执行之后,能够实现前述任一实施例公开的测试方法的相关步骤。另外,存储器50所存储的资源还可以包括操作***502和数据503等,存储方式可以是短暂存储或者永久存储。其中,操作***502可以包括Windows、Unix、Linux等。数据503可以包括但不限于测试结果对应的数据等。
在一些实施例中,板卡芯片的数据访存装置还可包括有显示屏52、输入输出接口53、通信接口54、电源55以及通信总线56。
本领域技术人员可以理解,图5中示出的结构并不构成对板卡芯片的数据访存装置的限定,可以包括比图示更多或更少的组件,例如还可包括传感器57。
本发明实施例所述固态硬盘磨损均衡装置的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
由上可知,本发明实施例实现了基于ZNS协议的固态硬盘磨损均衡,有效延长固态硬盘寿命。
可以理解的是,如果上述实施例中的固态硬盘磨损均衡方法以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、磁碟或者光盘等各种可以存储程序代码的介质。
基于此,本发明实施例还提供了一种计算机可读存储介质,存储有固态硬盘磨损均衡程序,所述固态硬盘磨损均衡程序被处理器执行时如上任意一实施例所述固态硬盘磨损均衡方法的步骤。
本发明实施例所述计算机可读存储介质的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
由上可知,本发明实施例实现了基于ZNS协议的固态硬盘磨损均衡,有效延长固态硬盘寿命。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
以上对本申请所提供的一种固态硬盘磨损均衡方法、装置及计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
Claims (10)
1.一种固态硬盘磨损均衡方法,其特征在于,包括:
预先构建多个以数据块擦除次数区分优先级并用于存储数据块的空闲块链表和脏块链表,且将各数据块基于擦除次数与擦除均值差、块类型、各表对应的擦除次数允许范围分类至空闲块链表或脏块链表;
当检测到存在满足磨损均衡条件的空闲块链表,则为擦除次数最低的数据块对应的区块设置重置标签;若在预设时间阈值内未收到主机端下发的区块重置指令,则将各脏块链表中擦除次数最低的数据块作为源数据块,将各空闲块链表中擦除次数最高的数据块作为目的数据块进行数据搬移;
当接收到申请数据块请求,从擦除次数最低的空闲块链表中选择数据块;
其中,同一个空闲块链表或脏块链表中的数据块的擦除次数位于相同的擦除次数允许范围内且表个数基于预先设置的磨损阈值和所述擦除均值来确定;所述块类型为空闲块和脏数据块。
2.根据权利要求1所述的固态硬盘磨损均衡方法,其特征在于,所述当检测到存在满足磨损均衡条件的空闲块链表,则为擦除次数最低的空闲块链表对应的区块设置重置标签为:
当检测到存在擦除次数允许范围的最大值低于所述擦除均值的空闲块链表中包含的数据块总数低于个数阈值,则为擦除次数最低的空闲块链表对应的区块设置重置标签。
3.根据权利要求2所述的固态硬盘磨损均衡方法,其特征在于,所述当接收到申请数据块请求,从擦除次数最低的空闲块链表中选择数据块为:
当接收到申请数据块请求,从各空闲块链表中确定擦除次数最低的目标空闲块链表;
将所述目标空闲块链表中擦除次数最低的数据块进行反馈。
4.根据权利要求1所述的固态硬盘磨损均衡方法,其特征在于,所述预先构建多个以数据块擦除次数区分优先级并用于存储数据块的空闲块链表和脏块链表之前,还包括:
按照块逻辑编号随机化算法对固态硬盘中各数据块的磨损次数进行随机化处理。
5.根据权利要求1至4任意一项所述的固态硬盘磨损均衡方法,其特征在于,所述预先构建多个以数据块擦除次数区分优先级并用于存储数据块的空闲块链表和脏块链表之后,还包括:
当接收到所述擦除均值更改指令后,基于数据块当前擦除次数与更新擦除均值的差值调整各空闲块链表和各脏块链表中存储的数据块。
6.根据权利要求5所述的固态硬盘磨损均衡方法,其特征在于,各空闲块链表和各脏块链表的擦除次数允许范围根据所述磨损阈值和表总数确定。
7.一种固态硬盘磨损均衡装置,其特征在于,包括:
表预构建模块,用于预先构建多个以数据块擦除次数区分优先级并用于存储数据块的空闲块链表和脏块链表;同一个空闲块链表或脏块链表中的数据块的擦除次数位于相同的擦除次数允许范围内且表个数基于预先设置的磨损阈值和所述擦除均值来确定;
数据块分类模块,用于将各数据块基于擦除次数与擦除均值差、块类型、各表对应的擦除次数允许范围分类至空闲块链表或脏块链表;所述块类型为空闲块和脏数据块;
磨损均衡处理模块,用于当检测到存在满足磨损均衡条件的空闲块链表,则为擦除次数最低的数据块对应的区块设置重置标签;若在预设时间阈值内未收到主机端下发的区块重置指令,则将各脏块链表中擦除次数最低的数据块作为源数据块,将各空闲块链表中擦除次数最高的数据块作为目的数据块进行数据搬移;
数据块提供模块,用于当接收到申请数据块请求,从擦除次数最低的空闲块链表中选择数据块。
8.根据权利要求7所述的固态硬盘磨损均衡装置,其特征在于,还包括表更新模块,所述表更新模块用于当接收到所述擦除均值更改指令后,基于数据块当前擦除次数与更新擦除均值的差值调整各空闲块链表和各脏块链表中存储的数据块。
9.一种固态硬盘磨损均衡装置,其特征在于,包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如权利要求1至6任一项所述固态硬盘磨损均衡方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有固态硬盘磨损均衡程序,所述固态硬盘磨损均衡程序被处理器执行时实现如权利要求1至6任一项所述固态硬盘磨损均衡方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911328658.4A CN111124305B (zh) | 2019-12-20 | 2019-12-20 | 固态硬盘磨损均衡方法、装置及计算机可读存储介质 |
PCT/CN2020/110986 WO2021120665A1 (zh) | 2019-12-20 | 2020-08-25 | 固态硬盘磨损均衡方法、装置及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911328658.4A CN111124305B (zh) | 2019-12-20 | 2019-12-20 | 固态硬盘磨损均衡方法、装置及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111124305A true CN111124305A (zh) | 2020-05-08 |
CN111124305B CN111124305B (zh) | 2021-08-31 |
Family
ID=70500792
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911328658.4A Active CN111124305B (zh) | 2019-12-20 | 2019-12-20 | 固态硬盘磨损均衡方法、装置及计算机可读存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN111124305B (zh) |
WO (1) | WO2021120665A1 (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112612420A (zh) * | 2020-12-28 | 2021-04-06 | 苏州浪潮智能科技有限公司 | 一种flash磨损均衡方法、装置、设备及存储介质 |
WO2021120665A1 (zh) * | 2019-12-20 | 2021-06-24 | 浪潮电子信息产业股份有限公司 | 固态硬盘磨损均衡方法、装置及计算机可读存储介质 |
CN113407126A (zh) * | 2021-08-20 | 2021-09-17 | 苏州浪潮智能科技有限公司 | 一种磨损均衡方法、装置、设备及可读存储介质 |
CN113851171A (zh) * | 2021-09-27 | 2021-12-28 | 苏州浪潮智能科技有限公司 | 一种ssd的pe次数范围确定方法及相关组件 |
TWI775268B (zh) * | 2021-01-07 | 2022-08-21 | 慧榮科技股份有限公司 | 儲存裝置、快閃記憶體控制器及其控制方法 |
US11537303B1 (en) | 2021-06-03 | 2022-12-27 | Western Digital Technologies, Inc. | Dissimilar write prioritization in ZNS devices |
US11537293B2 (en) | 2021-02-18 | 2022-12-27 | Western Digital Technologies, Inc. | Wear leveling methods for zoned namespace solid state drive |
US11537305B1 (en) | 2021-06-03 | 2022-12-27 | Western Digital Technologies, Inc. | Dissimilar write prioritization in ZNS devices |
CN115586874A (zh) * | 2022-11-24 | 2023-01-10 | 苏州浪潮智能科技有限公司 | 一种数据块回收方法、装置及电子设备和存储介质 |
CN115599308A (zh) * | 2022-11-28 | 2023-01-13 | 苏州浪潮智能科技有限公司(Cn) | 固态硬盘的垃圾回收方法、装置、电子设备及存储介质 |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101777026A (zh) * | 2009-01-09 | 2010-07-14 | 成都市华为赛门铁克科技有限公司 | 一种存储管理方法、硬盘及存储*** |
CN102508785A (zh) * | 2011-11-02 | 2012-06-20 | 清华大学 | 一种磨损均衡方法及装置 |
CN102810068A (zh) * | 2011-05-30 | 2012-12-05 | 三星电子株式会社 | 存储装置、存储***和使存储装置虚拟化的方法 |
CN102880556A (zh) * | 2012-09-12 | 2013-01-16 | 浙江大学 | 一种实现Nand Flash磨损均衡的方法及其*** |
CN103092770A (zh) * | 2013-01-18 | 2013-05-08 | 山东华芯半导体有限公司 | 一种磨损均衡处理时减少内存开销的方法 |
CN103136121A (zh) * | 2013-03-25 | 2013-06-05 | 中国人民解放军国防科学技术大学 | 一种固态盘的缓存管理方法 |
CN104115127A (zh) * | 2012-03-15 | 2014-10-22 | 株式会社日立制作所 | 存储***和数据管理方法 |
US20140325131A1 (en) * | 2010-12-30 | 2014-10-30 | Sandisk Technologies Inc. | Controller and Method for Performing Background Operations |
CN105468291A (zh) * | 2014-08-21 | 2016-04-06 | 腾讯科技(深圳)有限公司 | 动态及静态磨损均衡控制方法及装置 |
CN106339324A (zh) * | 2016-08-19 | 2017-01-18 | 浪潮(北京)电子信息产业有限公司 | 一种选择垃圾回收块的方法及装置 |
CN106484323A (zh) * | 2016-09-13 | 2017-03-08 | 郑州云海信息技术有限公司 | 一种固态存储的损耗均衡方法及*** |
CN106844227A (zh) * | 2017-01-14 | 2017-06-13 | 郑州云海信息技术有限公司 | 基于分组机制的固态硬盘磨损均衡方法及装置 |
CN106990926A (zh) * | 2017-06-14 | 2017-07-28 | 郑州云海信息技术有限公司 | 一种固态硬盘磨损均衡的处理方法 |
CN107562641A (zh) * | 2017-07-11 | 2018-01-09 | 捷开通讯(深圳)有限公司 | 存储空间的均衡磨损方法、***和装置 |
CN110211622A (zh) * | 2019-06-14 | 2019-09-06 | 山东大学 | 提高多值nand闪存存储器数据存储总量的数据擦写方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104731515B (zh) * | 2013-12-18 | 2018-02-23 | 华为技术有限公司 | 控制存储设备机群磨损均衡的方法及设备 |
US9336136B2 (en) * | 2014-10-08 | 2016-05-10 | HGST Netherlands B.V. | Apparatus, systems, and methods for providing wear leveling in solid state devices |
CN107562381A (zh) * | 2017-08-30 | 2018-01-09 | 紫光华山信息技术有限公司 | 一种数据处理方法及装置 |
CN111124305B (zh) * | 2019-12-20 | 2021-08-31 | 浪潮电子信息产业股份有限公司 | 固态硬盘磨损均衡方法、装置及计算机可读存储介质 |
-
2019
- 2019-12-20 CN CN201911328658.4A patent/CN111124305B/zh active Active
-
2020
- 2020-08-25 WO PCT/CN2020/110986 patent/WO2021120665A1/zh active Application Filing
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101777026A (zh) * | 2009-01-09 | 2010-07-14 | 成都市华为赛门铁克科技有限公司 | 一种存储管理方法、硬盘及存储*** |
US20140325131A1 (en) * | 2010-12-30 | 2014-10-30 | Sandisk Technologies Inc. | Controller and Method for Performing Background Operations |
CN102810068A (zh) * | 2011-05-30 | 2012-12-05 | 三星电子株式会社 | 存储装置、存储***和使存储装置虚拟化的方法 |
CN102508785A (zh) * | 2011-11-02 | 2012-06-20 | 清华大学 | 一种磨损均衡方法及装置 |
CN104115127A (zh) * | 2012-03-15 | 2014-10-22 | 株式会社日立制作所 | 存储***和数据管理方法 |
CN102880556A (zh) * | 2012-09-12 | 2013-01-16 | 浙江大学 | 一种实现Nand Flash磨损均衡的方法及其*** |
CN103092770A (zh) * | 2013-01-18 | 2013-05-08 | 山东华芯半导体有限公司 | 一种磨损均衡处理时减少内存开销的方法 |
CN103136121A (zh) * | 2013-03-25 | 2013-06-05 | 中国人民解放军国防科学技术大学 | 一种固态盘的缓存管理方法 |
CN105468291A (zh) * | 2014-08-21 | 2016-04-06 | 腾讯科技(深圳)有限公司 | 动态及静态磨损均衡控制方法及装置 |
CN106339324A (zh) * | 2016-08-19 | 2017-01-18 | 浪潮(北京)电子信息产业有限公司 | 一种选择垃圾回收块的方法及装置 |
CN106484323A (zh) * | 2016-09-13 | 2017-03-08 | 郑州云海信息技术有限公司 | 一种固态存储的损耗均衡方法及*** |
CN106844227A (zh) * | 2017-01-14 | 2017-06-13 | 郑州云海信息技术有限公司 | 基于分组机制的固态硬盘磨损均衡方法及装置 |
CN106990926A (zh) * | 2017-06-14 | 2017-07-28 | 郑州云海信息技术有限公司 | 一种固态硬盘磨损均衡的处理方法 |
CN107562641A (zh) * | 2017-07-11 | 2018-01-09 | 捷开通讯(深圳)有限公司 | 存储空间的均衡磨损方法、***和装置 |
CN110211622A (zh) * | 2019-06-14 | 2019-09-06 | 山东大学 | 提高多值nand闪存存储器数据存储总量的数据擦写方法 |
Non-Patent Citations (1)
Title |
---|
刘虎生: ""一种固态硬盘混合损耗均衡算法研究"", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021120665A1 (zh) * | 2019-12-20 | 2021-06-24 | 浪潮电子信息产业股份有限公司 | 固态硬盘磨损均衡方法、装置及计算机可读存储介质 |
CN112612420A (zh) * | 2020-12-28 | 2021-04-06 | 苏州浪潮智能科技有限公司 | 一种flash磨损均衡方法、装置、设备及存储介质 |
US11593008B2 (en) | 2021-01-07 | 2023-02-28 | Silicon Motion, Inc. | Control method for flash memory controller and associated flash memory controller and storage device |
TWI775268B (zh) * | 2021-01-07 | 2022-08-21 | 慧榮科技股份有限公司 | 儲存裝置、快閃記憶體控制器及其控制方法 |
US12014063B2 (en) | 2021-01-07 | 2024-06-18 | Silicon Motion, Inc. | Control method for flash memory controller and associated flash memory controller and storage device |
US11537293B2 (en) | 2021-02-18 | 2022-12-27 | Western Digital Technologies, Inc. | Wear leveling methods for zoned namespace solid state drive |
US11537303B1 (en) | 2021-06-03 | 2022-12-27 | Western Digital Technologies, Inc. | Dissimilar write prioritization in ZNS devices |
US11537305B1 (en) | 2021-06-03 | 2022-12-27 | Western Digital Technologies, Inc. | Dissimilar write prioritization in ZNS devices |
CN113407126A (zh) * | 2021-08-20 | 2021-09-17 | 苏州浪潮智能科技有限公司 | 一种磨损均衡方法、装置、设备及可读存储介质 |
CN113851171A (zh) * | 2021-09-27 | 2021-12-28 | 苏州浪潮智能科技有限公司 | 一种ssd的pe次数范围确定方法及相关组件 |
CN113851171B (zh) * | 2021-09-27 | 2023-11-03 | 苏州浪潮智能科技有限公司 | 一种ssd的pe次数范围确定方法及相关组件 |
CN115586874A (zh) * | 2022-11-24 | 2023-01-10 | 苏州浪潮智能科技有限公司 | 一种数据块回收方法、装置及电子设备和存储介质 |
CN115599308A (zh) * | 2022-11-28 | 2023-01-13 | 苏州浪潮智能科技有限公司(Cn) | 固态硬盘的垃圾回收方法、装置、电子设备及存储介质 |
WO2024113746A1 (zh) * | 2022-11-28 | 2024-06-06 | 苏州元脑智能科技有限公司 | 固态硬盘的垃圾回收方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2021120665A1 (zh) | 2021-06-24 |
CN111124305B (zh) | 2021-08-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111124305B (zh) | 固态硬盘磨损均衡方法、装置及计算机可读存储介质 | |
CN111090398B (zh) | 固态硬盘的垃圾回收方法、装置、设备及可读存储介质 | |
EP3786795A1 (en) | Memory allocation method and apparatus for neural network | |
CN110673789B (zh) | 固态硬盘的元数据存储管理方法、装置、设备及存储介质 | |
CN105988718B (zh) | 非挥发性储存装置与控制器进行的控制方法 | |
US20200012598A1 (en) | Garbage Collection Method for Storage Medium, Storage Medium, and Program Product | |
US20160188227A1 (en) | Method and apparatus for writing data into solid state disk | |
US20140089921A1 (en) | Method and system for managing virtual machine disks | |
CN106775496B (zh) | 一种存储数据处理方法及装置 | |
CN103229136B (zh) | 磁盘阵列刷盘方法及磁盘阵列刷盘装置 | |
CN111324303B (zh) | Ssd垃圾回收方法、装置、计算机设备及存储介质 | |
CN111813713B (zh) | 数据加速运算处理方法、装置及计算机可读存储介质 | |
CN111159058B (zh) | 一种磨损均衡方法、装置及非易失性的存储设备 | |
CN105095287A (zh) | Lsm数据合并排序方法和装置 | |
US9229640B2 (en) | Inexpensive solid-state storage by throttling write speed in accordance with empirically derived write policy table | |
CN104346291A (zh) | 一种存储器的存储方法及存储*** | |
CN105988875B (zh) | 一种运行进程的方法及装置 | |
CN103677653A (zh) | 一种基于ssd的数据处理方法及电子设备 | |
CN111813347B (zh) | 垃圾回收空间管理方法、装置及计算机可读存储介质 | |
CN105224238B (zh) | 存储器管理方法、存储器存储装置及存储器控制电路单元 | |
CN115480973A (zh) | 一种服务器性能测试方法、装置、介质 | |
CN114924923A (zh) | 一种硬盘写入点正确性验证方法、***、设备及介质 | |
CN104516929A (zh) | 用于文件***的方法和装置 | |
CN103713953A (zh) | 一种内存数据的搬移装置及方法 | |
CN105117168A (zh) | 一种信息处理方法和电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |