CN108170366A - 存储设备中的存储介质管理方法、装置和存储设备 - Google Patents
存储设备中的存储介质管理方法、装置和存储设备 Download PDFInfo
- Publication number
- CN108170366A CN108170366A CN201611110236.6A CN201611110236A CN108170366A CN 108170366 A CN108170366 A CN 108170366A CN 201611110236 A CN201611110236 A CN 201611110236A CN 108170366 A CN108170366 A CN 108170366A
- Authority
- CN
- China
- Prior art keywords
- storage
- area
- replacement
- block
- memory
- 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.)
- Pending
Links
- 238000007726 management method Methods 0.000 title claims abstract description 46
- 230000036541 health Effects 0.000 claims abstract description 188
- 238000013500 data storage Methods 0.000 claims abstract description 99
- 238000000034 method Methods 0.000 claims abstract description 42
- 238000012544 monitoring process Methods 0.000 claims abstract description 17
- 238000005192 partition Methods 0.000 claims description 13
- 238000004891 communication Methods 0.000 claims description 2
- 238000006467 substitution reaction Methods 0.000 abstract 1
- 230000008569 process Effects 0.000 description 20
- 238000004364 calculation method Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 8
- 238000010606 normalization Methods 0.000 description 8
- 230000007423 decrease Effects 0.000 description 4
- 238000011156 evaluation Methods 0.000 description 4
- 238000007667 floating Methods 0.000 description 4
- 239000007787 solid Substances 0.000 description 4
- 238000000638 solvent extraction Methods 0.000 description 3
- 230000003321 amplification Effects 0.000 description 2
- 238000003199 nucleic acid amplification method Methods 0.000 description 2
- 238000011056 performance test Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012847 principal component analysis method Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
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/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/12—Replacement control
-
- 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/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/217—Validation; Performance evaluation; Active pattern learning techniques
- G06F18/2193—Validation; Performance evaluation; Active pattern learning techniques based on specific statistical tests
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
-
- 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
-
- 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/0617—Improving the reliability of storage systems in relation to availability
-
- 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/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- 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/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
-
- 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/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/52—Protection of memory contents; Detection of errors in memory contents
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/70—Masking faults in memories by using spares or by reconfiguring
- G11C29/76—Masking faults in memories by using spares or by reconfiguring using address translation or modifications
- G11C29/765—Masking faults in memories by using spares or by reconfiguring using address translation or modifications in solid state disks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1032—Reliability improvement, data loss prevention, degraded operation etc
- G06F2212/1036—Life time enhancement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7204—Capacity control, e.g. partitioning, end-of-life degradation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7211—Wear leveling
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)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Probability & Statistics with Applications (AREA)
- Debugging And Monitoring (AREA)
- Memory System (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种存储设备中的存储介质管理方法、装置和存储设备,该方法通过预先按照健康度划分存储介质得到的数据存储区和替换区,在存储设备的使用过程中,存储设备监测数据存储区中是否有问题存储块;当监测到问题存储块时,将问题存储块移出数据存储区,并从替换区中获取替换存储块,移入数据存储区。实现利用预先划分的替换区内的替换存储块替代问题存储块,不需要减少存储设备的冗余区,确保存储设备的整个生命周期内冗余区的稳定性,进而稳定存储设备的使用寿命和性能。
Description
技术领域
本申请涉及存储技术领域,更具体地说,涉及一种存储设备中的存储介质管理方法、装置和存储设备。
背景技术
SSD(Solid State Drive,固态硬盘)是采用固态电子存储器件构成的数据存储设备,主要由SSD Controller、RAM、Flash存储单元组成。当前SSD普遍采用的存储介质是一种非易失性随机访问存储介质,NAND Flash,是基于浮栅(Floating Gate)晶体管设计,且通过浮栅来锁存电荷的。
但是,在对NAND Flash进行Program(编程)/Erase(擦除)操作时,会对浮栅晶体管的绝缘层造成一定程度的损坏,且操作越频繁,越容易形成UNC坏块。
而随着UNC坏块越多,会使SSD的OP(Over Provisioning,冗余空间)越来越小;而随着OP的减小,SSD的WAF(Write Amplification Factor,写放大因子)会逐步增大,而SSD的IOPS(Input/Output Operations Per Second,每秒进行读写操作的次数)也会逐步减小;由此可知,随着对NAND Flash的操作越频繁,SSD的消耗越快,性能越低。
发明内容
本申请实施例提供一种存储设备中的存储介质管理方法、装置和存储设备,以解决采用现有技术SSD在使用过程中,由于OP减小,而导致SSD的WAF增大,以及性能降低的问题。
为解决上述问题,本申请实施例提供了如下技术方案:
本申请第一方面,公开了一种存储设备中的存储介质管理方法,该存储介质预先按照存储块的健康度划分为数据存储区和替换区,所述数据存储区的存储块的健康度大于所述替换区的存储块的健康度,所述健康度用于衡量所述存储介质中的存储块的性能,所述健康度与所述存储块的性能成正比;
所述存储介质管理方法包括:
存储设备监测所述数据存储区中是否有问题存储块,所述问题存储块为健康度小于预设值的存储块;
当监测到所述问题存储块时,将所述问题存储块移出所述数据存储区,从所述替换区中获取替换存储块,并将所获取的所述替换存储块移入所述数据存储区。
根据该存储介质管理方法,存储设备在监测到问题存储块后,利用预先划分的替换区内的替换存储块,替代该问题存储块。能够不减少存储设备中的冗余区,确保存储设备的整个生命周期内冗余区的稳定性,进而稳定存储设备的使用寿命和性能。
本申请第一方面,提供的第一种实现方式中,所述替换区包括至少两级替换存储区,所述至少两级替换存储区按照每级替换存储区所包含的替换存储块的所述健康度从高到低排列,所述从所述替换区中获取替换存储块包括:
从当前替换存储区中获取所述替换存储块;
判断所述当前替换存储区是否还有所述替换存储块,如果没有,则将所述当前替换存储区的下一级替换存储区作为所述当前替换存储区。
根据该存储介质管理方法,存储设备在获取替换存储块的过程中,若当前替换存储区有替换存储块,则从当前替换存储区获取替换存储块,并在获取后判断当前替换存储区是否还有替换存储块,如果当前存储区不存在替换存储块,则将下一级替换存储区作为当前替换存储区以便于后续还需要替换时,直接从标记为当前替换存储区的替换存储区获取替换存储块。通过该方法,可以快速的获取替换存储块进行替换。
本申请第一方面,基于第一种实现方式提供的第二种实现方式中,所述预设值为所述当前替换存储区所对应的阈值,当监测到所述问题存储块时,所述问题存储块被从所述数据存储区移入所述当前替换存储区的下一级替换存储区。
根据该存储介质管理方法,预设值为所述当前替换存储区所对应的阈值,存储设备将健康度小于预设值的问题存储块移入到当前替换存储区的下一级替换存储区,结合第一种实现方式,从当前替换存储区中获取替换存储块移入数据存储区,确保数据存储区移入的是没有问题的存储块。
本申请第一方面,提供的第三种实现方式中,所述存储介质还包括无效区,所述无效区包括无效存储块,所述预设值为所述无效区对应的阈值,当监测到所述问题存储块时,所述问题存储块被从所述数据存储区移入所述无效区。
根据该存储介质管理方法,存储设备中存在无效区,预设值为无效区所对应的阈值。因此,存储设备可以将健康度小于预设值的问题存储块直接移入无效区。
本申请第一方面,提供的第四种实现方式中,还包括:获取该存储设备中的存储介质的每个存储块的至少一项性能参数;
根据所述至少一项性能参数,得到所述存储介质的每个存储块的健康度分值;
依据健康度分值由大至小的顺序对所述存储介质的存储块进行排序;
基于各个所述存储块的排列顺序,选取前m个存储块作为数据存储区,m=(Capacityuser+Capacityop)/Sizeblock,其中,Capacityop为存储设备的冗余区的大小,Capacityuser为所述存储设备的用户可见存储区的大小,Sizeblock为所述存储块的大小;
从所述存储介质中剩余的存储中划分出替换区。
根据该存储介质管理方法,在存储设备生产时,预先根据存储介质中每个存储块的至少一项性能参数确定的各个存储块的健康度分值,划分该存储介质,得到数据存储区和替换区。以便于后续数据存储区中出现问题存储块可以从替换区中得到替换存储块,在不减少存储设备的冗余区的基础上,确保数据存储区的大小,并稳定存储设备的使用寿命和性能。
本申请第一方面,基于第四种实现方式提供的第五种实现方式中,所述根据所述至少一项性能参数,得到所述存储介质的每个存储块的健康度分值,包括:
获取每个存储块的i个健康度统计指标所对应的统计数据,i的取值大于1;
计算i个所述统计数据,得到i个健康度统计指标的健康度分值Scorei;
确定在整体模糊评价系统中i个所述健康度统计指标的权重Wi,其中,0<Wi≤1,且∑Wi=1;
利用i个所述健康度分值Scorei和所述权重Wi,得到所述存储块的健康度分值Score=∑(Scorei*Wi)。
本申请第一方面,基于第五种实现方式提供的第六种实现方式中,所述计算i个所述统计数据,得到i个健康度统计指标的健康度分值Scorei,包括:
利用0均值标准化Scorei=fi(x)=(x-u)/theta算法,得到i个所述健康度统计指标的健康度分值Scorei;
其中,x为所述健康度统计指标的统计值,u为所述健康度统计指标的样本均值,theta为所述健康度统计指标的样本方差,所述样本均值和样本方差为常用的统计量;
或者,利用线性归一化Scorei=fi(x)=(x–xmin)/(xmax-xmin)算法,得到i个所述健康度统计指标的健康度分值Scorei;
其中,x为所述健康度统计指标的统计值,xmax为所述健康度统计指标的样本最大值或者根据经验定义的最大值,xmin为所述健康度统计指标的样本最小值或者根据经验定义的最小值。
本申请第一方面,提供的第七种实现方式中,所述存储设备中包括一索引表,所述索引表用于记录所述存储介质的各个分区所包括的存储块信息。
根据该存储介质管理方法,存储设备可以通过索引表完成对存储介质中各个分区的快速查找。
本申请第二方面,提供了一种存储设备中的存储介质管理装置,所述存储介质预先按照存储块的健康度划分为数据存储区和替换区,所述数据存储区的存储块的健康度大于所述替换区的存储块的健康度,所述健康度用于衡量所述存储介质中的存储块的性能,所述存储介质管理装置包括:
监测模块,用于监测所述数据存储区中是否有问题存储块,所述问题存储块为健康度小于预设值的存储块;
替换模块,用于当监测到所述问题存储块时,将所述问题存储块移出所述数据存储区,从所述替换区中获取替换存储块,并将所述获取的所述替换存储块移入所述数据存储区。
根据该存储介质管理装置,在监测模块监测到问题存储块后,替换模块利用预先划分的替换区内的替换存储块,替代该问题存储块。能够不减少存储设备中的冗余区,确保存储设备的整个生命周期内冗余区的稳定性,进而稳定存储设备的使用寿命和性能。
本申请第二方面,提供的第一种实现方式中,所述替换区包括至少两级替换存储区,所述至少两级替换存储区按照每级替换存储区所包含的替换存储块的所述健康度从高到低排列,在从所述替换区中获取替换存储块时,所述替换模块包括:
第一获取单元,用于从当前替换存储区中获取所述替换存储块;
标记单元,用于判断所述当前替换存储区是否还有所述存储块,如果没有,则将所述当前替换存储区的下一级替换存储区作为所述当前替换存储区。
根据该存储介质管理装置,由第一获取单元从当前替换存储区中获取替换存储块,由标记单元判断当前替换存储区是否还有存储块,如果当前存储区不存在可以进行替换的存储块,则将下一级替换存储区作为当前替换存储区以便于后续还需要替换时,直接从标记为当前替换存储区的替换存储区获取替换存储块。从而可以在后续需要替换时快速的获取替换存储块进行替换。
本申请第二方面,基于第一种实现方式提供的第二种实现方式中,所述预设值为所述当前替换存储区所对应的阈值,将所述问题存储块移出所述数据存储区时,所述替换模块还包括:
第一移出单元,用于将所述问题存储块从所述数据存储区移入所述当前替换存储区的下一级替换存储区。
根据该存储介质管理装置,当预设值为所述当前替换存储区所对应的阈值,存储设备将健康度小于预设值的问题存储块移入到当前替换存储区的下一级替换存储区,结合第一种实现方式,从当前替换存储区中获取替换存储块移入数据存储区,确保数据存储区移入的是没有问题的存储块。
本申请第二方面,提供的第三种实现方式中,所述存储介质还包括无效区,所述无效区包括无效存储块,所述预设值为所述无效区对应的阈值,相应的,所述当监测到所述问题存储块时,将所述问题存储块移出所述数据存储区的所述替换模块,包括:
第一移出单元,用于当监测到所述问题存储块时,将所述问题存储块从所述数据存储区移入所述失效区。
根据该存储介质管理装置,当预设值为无效区所对应的阈值。由第一移出单元将健康度小于预设值的问题存储块直接移入无效区。
本申请第二方面,提供的第四种实现方式中,还包括:
划分模块,用于获取所述存储设备中的存储介质的每个存储块的至少一项性能参数,根据所述至少一项性能参数,得到所述存储介质的每个存储块的健康度分值,依据所述健康度分值由大至小的顺序对所述存储介质的存储块进行排序,并基于各个所述存储块的排列顺序,选取前m个存储块作为数据存储区,m=(Capacityuser+Capacityop)/Sizeblock,其中,Capacityop为存储设备的冗余区的大小,Capacityuser为所述存储设备的用户可见存储区的大小,Sizeblock为所述存储块的大小;以及将剩余的存储块作为替换区。
根据该存储介质管理装置,在存储设备生产时,该存储介质管理装置预先根据存储介质中每个存储块的至少一项性能参数确定的各个存储块的健康度分值,划分该存储介质,得到数据存储区和替换区。以便于后续数据存储区中出现问题存储块可以从替换区中得到替换存储块,在不减少存储设备的冗余区的基础上,确保数据存储区的大小,并稳定存储设备的使用寿命和性能。
本申请第二方面,基于第四种实现方式提供的第五种实现方式中,所述计算模块,包括:
第三获取单元,用于获取每个存储块的i个健康度统计指标所对应的统计数据,i的取值大于1;
第一计算单元,用于计算i个所述统计数据,得到i个健康度统计指标的健康度分值Scorei;
第二计算单元,用于确定在整体模糊评价系统中i个所述健康度统计指标的权重Wi,其中,0<Wi≤1,且∑Wi=1;
第三计算单元,用于利用i个所述健康度分值Scorei和所述权重Wi,得到所述存储块的健康度分值Score=∑(Scorei*Wi)。
本申请第二方面,基于第五种实现方式提供的第六种实现方式中,所述第一计算单元,包括:
0均值标准化计算单元,用于利用0均值标准化Scorei=fi(x)=(x-u)/theta算法,得到i个所述健康度统计指标的健康度分值Scorei;
其中,x为所述健康度统计指标的统计值,u为所述健康度统计指标的样本均值,theta为所述健康度统计指标的样本方差,所述样本均值和样本方差为常用的统计量;
或者,
线性归一化计算单元,用于利用线性归一化Scorei=fi(x)=(x–xmin)/(xmax-xmin)算法,得到i个所述健康度统计指标的健康度分值Scorei;
其中,x为所述健康度统计指标的统计值,xmax为所述健康度统计指标的样本最大值或者根据经验定义的最大值,xmin为所述健康度统计指标的样本最小值或者根据经验定义的最小值。
本申请第二方面,提供的第七种实现方式,所述存储介质管理装置中包括一索引表,所述索引表用于记录所述存储介质的各个分区所包括的存储块信息。
本申请第三方面,提供了一种存储设备,包括:存储介质,存储器,以及与所述存储器通信的处理器;
所述存储介质预先按照存储块的健康度划分为数据存储区和替换区,所述数据存储器的存储块的健康度大于所述替换区的存储块的健康度,所述健康度用于衡量所述存储介质中的存储块的性能,所述健康度与所述存储块的想能成正比;
所述存储器,用于存储管理所述存储介质的程序代码;
所述处理器,用于执行所述存储器保存的所述程序代码,以实现本申请第一方面公开的存储设备中的存储介质管理方法。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例示出的OP与WAF的变化关系图;
图2为本申请实施例示出的冗余比和IOPS的变化关系图;
图3为本申请实施例公开的预先划分存储设备中的存储介质的流程示意图;
图4为本申请实施例公开的计算存储块健康度的流程示意图;
图5为本申请实施例公开的一种存储设备中的存储介质管理方法的流程示意图;
图6为本申请实施例公开的一种存储设备的存储介质的多级划分示意图;
图7为本申请实施例公开的索引表的示意图;
图8为本申请实施例公开的一种使用存储介质管理方法的应用场景示意图;
图9为本申请实施例公开的另一种使用存储介质管理方法的应用场景示意图;
图10为本申请实施例公开的一种存储介质管理装置的结构示意图;
图11为本申请实施例公开的一种存储设备的结构示意图。
具体实施方式
以下为本申请实施例中所使用到的英文缩写的全称和中文解释:
SSD:Solid State Drive,固态硬盘;
P/E:Program/Erase,编程/擦除;
WAF:Write Amplification Factor,写放大因子;
OP:Over Provisioning,冗余空间/冗余区;
IOPS:Input/Output Operations Per Second,每秒进行读写操作的次数。
在SSD出厂前,会对SSD的每个存储块的性能进行测试,将性能测试达到标准值的存储块提供给用户使用,而将性能测试未达到标准值的存储块作为无效块记录下来,后续也不会再被使用。这样,在SSD的使用过程中,随着SSD中的无效块的产生,会使SSD的OP越来越小。如图1示出的OP与WAF的变化关系图及图2示出的冗余比和IOPS的变化关系图可以看出,随着存储设备的OP减小,会导致存储设备的WAF增大,以及存储设备性能降低。
然而,现有技术中的有些无效块虽然没有达到标准值,可实际上还是可以被使用的,只是性能上比达到标准的存储块差一些。本发明实施例即对现有技术中已经被判定为无效块的存储块,根据性能再进一步的进行划分,把还能够使用的存储块识别出来以便继续使用。在本申请实施例中,存储介质可以分为数据存储区、替换区、及无效区。其中,数据存储区所包含的存储块即为现有技术中达到标准的提供给用户使用区域,包括用户可见区和冗余区;替换区所包括的存储块为性能未达标,但是还可以被继续使用的存储块;无效区所包括的存储块即为已经不能被使用的存储块,即坏块。
这样,在SSD的使用过程中,若提供给用户使用的数据存储区出现了无效块,则可以用替换区的存储块去替换数据存储区出现的无效块,这样,可以保证冗余区的存储块的数量不会减少,从而减小存储设备的WAF增大,以及存储设备性能降低。具体过程通过以下实施例进行详细说明。
在本申请实施例中,在对存储介质进行区域划分时,按照健康度进行划分。该健康度用于衡量存储介质中的存储块的性能,且与存储块的性能成正比。另外,替换区也可以进一步被划分为多个区域。
如图4所示,为本申请实施例一中在SSD出厂前对存储设备中的存储介质预先进行区域划分的方法,主要包括如下步骤:
S101:存储设备获取存储介质的各个存储块的至少一项性能参数;
在S101中,存储设备获取的存储介质的各个存储块的性能参数为健康度统计指标,各个存储块的健康度统计指标包括但不仅限于:RBER、tBERS、P/E、Read Retry Count和ECC Count。
其中,RBER指原始bit错误率,RBER越高,则存储介质的健康度越低。
tBERS指存储介质的擦除操作的潜伏期,随着P/E增加,tBERS会逐步变长。
P/E指存储介质的编程/擦除次数,P/E次数越多,则存储介质的健康度越低。
Read Retry Count指进行读重试的次数,读重试的次数越多,存储介质的健康度越低。
ECC Count指出现ECC的次数,次数越多,存储介质的健康度越低。
UNC Count指出现UNC的次数,次数越多,存储介质的健康度越低。
S102:存储设备根据至少一项性能参数,得到该存储介质的每个存储块的健康度分值Score。
在S102中,针对存储设备基于存储块的至少一项性能参数得到该存储块的健康度分值的过程,以一个存储块为例进行说明。如图5所示,包括:
S201,存储设备获取该存储块的i个健康度统计指标所对应的统计数据,i的取值大于1。
S202,存储设备计算i个统计数据,得到i个健康度统计指标的健康度分值Scorei。
在S202中,存储设备可以采用两种方式计算健康分度值Scorei:
其一,存储设备利用公式(1)示出的0均值标准化算法,得到i个健康度统计指标的健康度分值Scorei。
Scorei=fi(x)=(x-u)/theta (1)
其中,x为健康度统计指标的统计值,u为健康度统计指标的样本均值,theta为健康度统计指标的样本方差,该样本均值和样本方差均为常用的统计量。
其二,存储设备利用公式(2)示出的线性归一化算法,得到i个健康度统计指标的健康度分值Scorei。
Scorei=fi(x)=(x–xmin)/(xmax-xmin) (2)
其中,x为健康度统计指标的统计值,xmax为健康度统计指标的样本最大值或者根据经验定义的最大值,xmin为健康度统计指标的样本最小值或者根据经验定义的最小值。
S203,存储设备确定在整体模糊评价系统中i个健康度统计指标的权重Wi,其中,0<Wi≤1,且∑Wi=1。
S204,存储设备基于公式(3),利用i个健康度分值Scorei和权重Wi,得到存储块的健康度分值Score。
Score=∑(Scorei*Wi) (3)
在S203中,存储设备可以采用两种方式获取各个存储块的健康度统计指标的权重;
其一,基于技术人员的经验:
根据有经验的技术人员对存储块的健康度统计指标影响存储块健康度的程度进行主观的评价,并明确出各个健康度统计指标的权重;存储设备直接获取已确定的权重。
其二,主成份分析法:
存储设备通过对原始的各个健康度统计指标对应的统计数据进行正交变换,将一组可能存在相关性的变量转换为一组线性不相关的变量,从而通过这些变量确定各个健康度统计指标的权重。
在S102中,存储设备针对每一个存储块的健康度分值Score的计算均可以采用S201至S204的过程。该计算过程仅为本申请实施例公开的可选计算过程。
S103:存储设备依据得到的每个存储块的健康度分值Score的大小,按照由大至小的顺序对该存储介质中的各个存储块进行排序。
S104:存储设备基于各个存储块的排列顺序,选取前m个存储块作为数据存储区。
在S104中,存储设备基于公式(4)确定要选取的存储块的个数m。存储设备按照各个存储块的排列顺序,从健康度最高的存储块开始选取,直至得到m个存储块,将该m个存储块作为数据存储区。该数据存储区的健康度级别最高。
m=(Capacityuser+Capacityop)/Sizeblock (4)
其中,Capacityop为存储设备的冗余区的大小,Capacityuser为存储设备的用户可见存储区的大小,Sizeblock为存储块的大小。
S105:存储设备将剩余的存储块划分为替换区和无效区。
该存储设备可以将健康值小于等于第一预设值的存储块划分至无效区,将大于第一预设值的存储块划分至替换区。
该存储设备还可以将该替换区中的存储块继续按照存储块的健康度分值划分,得到按照健康度由高至低排列的多个级别的替换存储区。
可选的,该存储设备划分得到的多个级别的替换存储区的容量大小可以相同,也可以不相同。
可选的,该存储设备划分得到多个级别的替换存储区的容量大小,可以与存储介质的OP容量一样,也可以不一致。
可选的,该存储设备也可以将得到按照健康度由高至低排列的多个级别的替换存储区中,健康度级别最低的存储区作为无效区。
在存储设备预先执行上述S101至S105之后,得到按照健康度大小由高至低划分的多个级别的存储区。其中,健康度最高的存储区作为数据存储区,健康度最低的区域作为无效区,中间区域作为替换区,替换区也可以根据健康度的高低被进一步划分为多级替换存储区。
存储设备为了后续方便对存储介质的各个分区进行管理,即对数据存储区和替换区及无效区进行管理,存储设备建立索引表。该索引表用于记录存储介质的各个分区所包括的存储块信息。
具体的,在本申请实施例中,存储设备以所划分的各个分区作为树节点,针对每个分区,将每个分区中所包含的存储块按照健康度分值的大小,在对应的树节点下由大至小排列,建立对应的索引表。
在存储设备对存储介质预先划分的各个分区进行管理的过程中,基于该索引表执行索引。
如图6所示,为本申请实施例公开的一种存储设备中的存储介质管理方法的流程示意图,包括:
S301:存储设备监测预先按照存储块的健康度划分得到的数据存储区中是否有问题存储块,如果存在,则存储设备执行S302。
该问题存储块指健康度小于预设值的存储块。
在替换区没有被进一步划分为多个替换存储区的实施方式中,该预设值为无效区的阈值,若存储块的健康度小于该无效区的阈值,则存储块即被判定为无效块,放入该无效区。
在替换区被进一步划分为多个替换存储区的实施方式中,预设值为当前替换存储区的对应的阈值,当数据存储区中的问题存储块被移出时,从当前替换区中获取替换存储块放入数据存储区。当前替换存储区的对应的阈值为当前替换存储区中健康度最小的存储块的健康度。
S302:存储设备在监测到问题存储块时,将该问题存储块移出数据存储区,从替换区中获取替换存储块,并将该替换存储块移入该数据存储区。
存储设备在执行S301和S302对存储介质中的存储块进行管理的过程中,因设定的预设值不同,导致所监测到的问题存储块不同,以及因预先划分得到的分区不同,所执行的替换方式也有所不同。
基于此,本申请实施例给出以下三种基本情况对存储设备执行S301和S302的过程进行详细说明。
第一种:
预先划分得到数据存储区,替换区和无效区,设定该预设值为无效区对应的阈值。
首先,存储设备在数据存储区中监测到健康度小于预设值的问题存储块,将该问题存储块作为无效存储块移动至失效区。
然后,存储设备从替换区中获取替换存储块,并将该替换存储块移入该数据存储区。
第二种:
预先划分得到数据存储区、替换区、及无效区,所述替换区包含多级替换存储区。将第一级替换存储区首先作为当前替换区,设定该预设值为第一级替换存储区对应的阈值,该第一替换存储区为替换区中健康度值最高的替换存储区。
首先,当存储设备在数据存储区中监测到健康度小于第一级替换存储区对应的阈值的问题存储块,将该问题存储块移入第二级替换存储区。
然后,存储设备从第一级存储区中获取替换存储块,并将该替换存储块移入该数据存储区。
然后,存储设备判断第一级替换存储区中是否还有可进行替换的存储块,如果有,则继续监测数据存储区。
如果没有,则将第二级替换存储区作为当前替换区,将预设值设定为该第二级替换存储区对应的阈值,继续监测数据存储区,当第二级替换存储区无可用存储块时,将第三级替换存储区作为当前替换区,将预设值设定为第三级替换存储区对应的阈值,以此类推,直到替换区中的最后一级替换存储区中的存储块用完。
第三种:
预先划分得到数据存储区、替换区、及无效区,所述替换区包含多级替换存储区。预设值存在多个,具体为各级替换存储区对应的阈值,将第一级替换存储区作为首先执行替换的替换区。
首先,存储设备监测数据存储区的过程中,若存储设备在数据存储区中监测到健康度小于最后一级替换存储区对应的阈值的问题存储块,将该问题存储块移入无效区。
若存储设备在数据存储区中监测到健康度小于非最后一级替换存储区的阈值的问题存储块,则将该问题存储块移入该非最后一级替换存储区的下一级替换存储区中,从第一级替换存储区中获取替换存储块,并将该替换存储块移入该数据存储区。
然后,存储设备判断该第一级替换存储区中是否还有可进行替换的替换存储块,如果有,则继续监测数据存储区;如果没有,则将第二级替换存储区作为执行替换的替换区,存储设备继续监测数据存储区,以此类推,将问题存储块移出数据存储区,将符合条件的存储块从相应的替换存储区中移入数据存储区。
由上述可知,当替换区中包含多级替换存储区时,存储设备在获取替换存储块的过程中,若当前替换存储区有替换存储块,则从当前替换存储区获取替换存储块,并在获取后判断当前替换存储区是否还有替换存储块。如果当前存储区不存在替换存储块,则将下一级替换存储区作为当前替换存储区以便于后续还需要替换时,直接从标记为当前替换存储区的替换存储区获取替换存储块。存储设备在执行上述替换的过程中均依赖于所建立的索引表,以便于快速找到替换存储块。
可选的,存储设备也可以不标记当前执行替换的替换存储区。存储设备在获取替换存储块的过程中,可以基于索引表从头开始查找各个替换存储区,获取可用的替换存储块。
可选的,存储设备在替换的过程中,可以从替换存储区中获取与问题存储块等量的替换存储块,移入数据存储区。当然,该替换存储块也可以小于,或大于该问题存储块。可以根据具体应用中的需求进行自由选择。
本申请实施例,存储设备利用存储介质的存储块的健康度,由高至低预先划分得到的多级别存储区,以健康度级别最高的存储区为数据存储区,以健康度级别最低的存储区作为无效区,将剩余健康度级别的存储区作为替换区。存储设备对该数据存储区进行监测,并在监测到问题存储块后,将问题存储块移出数据存储区,并从替换区中获取替换存储块,移入数据存储区。存储设备对存储介质的整个管理过程中,不需要减少存储设备的冗余区,就能够恢复数据存储区的容量,确保存储设备的整个生命周期内冗余区的稳定性,进而稳定存储设备的使用寿命和性能。
下面,将结合图7对本申请应用于一个预先划分存储介质的存储设备S进行举例说明。
如图7所示,预先对存储设备S中的存储介质中的各个存储块,通过上述本申请实施例公开的方式进行区域划分,按照健康度的由高至低,得到A至N级Flash健康Blcok存储区,以及Flash失效Blcok存储区。
其中,A级Flash健康Blcok存储区为数据存储区,为健康度最高的存储区,该A级Flash健康Blcok存储区中被划分为客户可见区域A1和冗余区A2。B级至N级Flash健康Blcok存储区为健康度依次降低的替换存储区,Flash失效Blcok存储区为无效区。并且B级Flash健康Blcok存储区为当前替换存储区。
基于上述对存储介质的划分,存储设备采用树形结构建立如图8所示出的索引表。该索引表中的各个存储块(Block)在存储设备管理存储介质的过程中,随着数据存储区和替换区之间的不停的替换动态变化。
具体的应用场景为:
存储设备S对A级Flash健康Blcok存储区的客户可见区域A1进行监测。
第一种情况,结合图9中示出的箭头指向,存储设备S监测到A级Flash健康Blcok存储区的客户可见区域A1中出现一个问题存储块a1,该问题存储块a1的健康度小于N级Flash健康Blcok存储区对应的阈值,则该问题存储块a1为坏块,即无效存储块。
存储设备S将该问题存储块a1从客户可见区域A1中移出,移入至Flash失效Blcok存储区。依据图8示出的索引表,查找到B级Flash健康Blcok存储区中有未使用的存储块b,将该存储块b移入A级Flash健康Blcok存储区的客户可见区域A1。
第二种情况,结合图10中示出的箭头指向,存储设备S监测到A级Flash健康Blcok存储区的客户可见区域A1中出现一个问题存储块a2,该问题存储块a2的健康度小于B级Flash健康Blcok存储区对应的阈值,大于C级Flash健康Blcok存储区对应的阈值,则将该问题存储块a2作为低健康度的存储块,移入C级Flash健康Blcok存储区。依据图8示出的索引表,查找到B级Flash健康Blcok存储区中有未使用的存储块b,将该存储块b移入A级Flash健康Blcok存储区的客户可见区域A1。
本申请实施例结合具体应用场景,在预先划分存储介质得到多级存储区的基础上,通过将健康度最高的存储区中的问题存储块与健康度较低的存储区内的存储块进行替换,确保存储设备的整个生命周期内冗余区的稳定性,进而稳定存储设备的使用寿命和性能。
基于上述公开的一种存储设备中的存储介质管理方法,对应的本申请实施例还公开了应用该方法的存储介质管理装置,以及设置有该存储介质管理装置的存储设备。该存储介质预先按照存储块的健康度划分为数据存储区和替换区。其中,数据存储区的存储块的健康度大于替换区的存储块的健康度,该健康度用于衡量存储介质中的存储块的性能。
如图11所示,该存储介质管理装置10包括:监测模块11和替换模块12。
监测模块11,用于监测所述数据存储区中是否有问题存储块,该问题存储块为健康度小于预设值的存储块。
替换模块12,用于当监测到问题存储块时,将该问题存储块移出数据存储区,从替换区中获取替换存储块,并将获取的替换存储块移入数据存储区。
当存储介质管理装置预先划分存储介质得到替换区和无效区,该替换区包括多级替换存储区。该多级替换存储区按照所存储区的存储块的健康度从高到低排列。若监测模块11中所使用的预设值为当前替换存储区所对应的阈值。该替换模块12包括:
第一移出单元,用于将问题存储块从数据存储区移入当前替换存储区的下一级替换存储区。
第一获取单元,用于从当前替换存储区中获取替换存储块。
标记单元,用于判断当前替换存储区是否还有存储块,如果没有,则将当前替换存储区的下一级替换存储区作为当前替换存储区。
若监测模块11中所使用的预设值为无效区所对应的阈值。则该替换模块12中包括的第一移出单元,用于当监测所述问题存储块时,将该问题存储块从数据存储区移入所述失效区。
在本申请公开的存储介质管理装置中,可选的还包括:
划分模块,用于获取存储设备中的存储介质的每个存储块的至少一项性能参数,根据至少一项性能参数,得到存储介质的每个存储块的健康度分值,依据健康度分值由大至小的顺序对存储介质的存储块进行排序,并基于各个存储块的排列顺序,依据公式(4)确定选取存储块的个数m,选取前m个存储块作为最高级健康存储区;从剩余的存储块划分替换区和无效区。
在该划分模块中,可选的将该替换区中的存储块继续按照存储块的健康度分值划分,得到按照健康度由高至低排列的多个级别的替换存储区。该存储设备划分得到的多个级别的替换存储区的容量大小可以相同,也可以不相同。可选的,该存储设备划分得到多个级别的替换存储区的容量大小,可以与存储介质的OP容量一样,也可以不一致。可选的,该存储设备也可以将得到按照健康度由高至低排列的多个级别的替换存储区中,健康度级别最低的存储区作为无效区
上述针对每一个存储块执行计算的计算模块,具体包括:
第三获取单元,用于获取存储块的i个健康度统计指标所对应的统计数据,i的取值大于1。
第一计算单元,用于计算i个统计数据,得到i个健康度统计指标的健康度分值Scorei。
第二计算单元,用于确定在整体模糊评价系统中i个健康度统计指标的权重Wi,其中,0<Wi≤1,且∑Wi=1。
第三计算单元,用于利用i个健康度分值Scorei和权重Wi,得到存储块的健康度分值Score。
该第一计算单元中包括:0均值标准化计算单元,用于利用公式(1)得到i个健康度统计指标的健康度分值Scorei。
或,线性归一化计算单元,用于利用公式(2)得到i个所述健康度统计指标的健康度分值Scorei。
该存储介质管理装置中包括一索引表,该索引表用于记录所述存储介质的各个分区所包括的存储块信息。
基于上述本申请实施例公开的一种存储介质管理装置,在实际应用中可以将上述公开的各个模块或单元集成至实体的存储设备中。如图11所示,该存储设备20包括存储介质21、存储器22和处理器23。
该存储介质21在出厂测试时进行分区操作,预先按照存储块的健康度划分为数据存储区和替换区,所述数据存储区的存储块的健康度大于所述替换区的存储块的健康度,所述健康度用于衡量所述存储介质中的存储块的性能。
该存储器22可能包含高速RAM存储器,也可能还包括非易失性存储器,例如至少一个磁盘存储器。在该存储器22中存储有对该存储介质21进行管理的操作流程。
该对存储介质21进行管理的操作流程,可以包括程序代码,该程序代码可以包括一系列按照一定顺序排列的操作指令。
该处理器23可以是一个中央处理器CPU,或者是特定集成电路,或者是被配置成实施本申请实施例的一个或多个集成电路。
该处理器23与存储器22进行通信,当需要对存储介质21进行管理时,该处理器23调用存储器22中存储的对该存储介质21进行管理的操作流程。该操作流程可参照上述本申请实施例公开的存储设备中的存储介质管理方法,这里不再赘述。
综上所述,本申请上述实施例公开的存储设备中的存储介质管理技术方案,通过预先按照健康度划分存储介质,得到的多级别存储区,将健康度最高的存储区作为数据存储区,将健康度最低的存储区作为无效区,剩余的存储区作为替换区。在存储设备的使用过程中,存储设备监测数据存储区中是否有问题存储块时,当监测到问题存储块时,将问题存储块移出数据存储区,并从替换区中获取替换存储块,移入数据存储区。从而实现利用预先划分的替换区内的替换存储块替代数据存储区中的问题存储块,确保存储设备的整个生命周期内冗余区的稳定性,进而稳定存储设备的使用寿命和性能。
本申请说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见。
Claims (13)
1.一种存储设备中的存储介质管理方法,其特征在于,所述存储介质预先按照存储块的健康度划分为数据存储区和替换区,所述数据存储区的存储块的健康度大于所述替换区的存储块的健康度,所述健康度用于衡量所述存储介质中的存储块的性能,且与所述存储块的性能成正比;
所述存储介质管理方法包括:
监测所述数据存储区中是否有问题存储块,所述问题存储块为健康度小于预设值的存储块;
当监测到所述问题存储块时,将所述问题存储块移出所述数据存储区,从所述替换区中获取替换存储块,并将所获取的所述替换存储块移入所述数据存储区。
2.根据权利要求1所述的方法,其特征在于,所述替换区包括至少两级替换存储区,所述至少两级替换存储区按照每级替换存储区所包含的存储块的健康度从高到低排列,所述从所述替换区中获取替换存储块包括:
从当前替换存储区中获取所述替换存储块;
判断所述当前替换存储区是否还有所述存储块,如果没有,则将所述当前替换存储区的下一级替换存储区作为所述当前替换存储区。
3.根据权利要求2所述的方法,其特征在于,所述预设值为所述当前替换存储区所对应的阈值,当监测到所述问题存储块时,所述问题存储块被从所述数据存储区移入所述当前替换存储区的下一级替换存储区。
4.根据权利要求1或2所述的方法,其特征在于,所述存储介质还包括无效区,所述无效区包括无效存储块,所述预设值为所述无效区对应的阈值,当监测到所述问题存储块时,所述问题存储块被从所述数据存储区移入所述无效区。
5.根据权利要求1-4任意一项所述的方法,其特征在于,所述方法还包括:
获取存储介质的每个存储块的至少一项性能参数;
根据所述至少一项性能参数,得到所述存储介质的每个存储块的健康度分值;
依据健康度分值由大至小的顺序对所述存储介质的存储块进行排序;
基于各个所述存储块的排列顺序,选取前m个存储块作为数据存储区,m=(Capacityuser+Capacityop)/Sizeblock,其中,Capacityop为存储设备的冗余区的大小,Capacityuser为所述存储设备的用户可见存储区的大小,Sizeblock为所述存储块的大小;
从所述存储介质中剩余的存储块中划分出替换区。
6.根据权利要求1-4任意一项所述的方法,其特征在于,所述存储设备中包括一索引表,所述索引表用于记录所述存储介质的各个分区所包括的存储块信息。
7.一种存储设备中的存储介质管理装置,其特征在于,所述存储介质预先按照存储块的健康度划分为数据存储区和替换区,所述数据存储区的存储块的健康度大于所述替换区的存储块的健康度,所述健康度用于衡量所述存储介质中的存储块的性能,所述存储介质管理装置包括:
监测模块,用于监测所述数据存储区中是否有问题存储块,所述问题存储块为健康度小于预设值的存储块;
替换模块,用于当监测到所述问题存储块时,将所述问题存储块移出所述数据存储区,从所述替换区中获取替换存储块,并将所述获取的所述替换存储块移入所述数据存储区。
8.根据权利要求7所述的存储介质管理装置,其特征在于,所述替换区包括至少两级替换存储区,所述至少两级替换存储区按照每级替换存储区所包含的替换存储块的所述健康度从高到低排列,在从所述替换区中获取替换存储块时,所述替换模块包括:
第一获取单元,用于从当前替换存储区中获取所述替换存储块;
标记单元,用于判断所述当前替换存储区是否还有所述存储块,如果没有,则将所述当前替换存储区的下一级替换存储区作为所述当前替换存储区。
9.根据权利要求8所述的存储介质管理装置,其特征在于,所述预设值为所述当前替换存储区所对应的阈值,将所述问题存储块移出所述数据存储区时,所述替换模块还包括:
第一移出单元,用于将所述问题存储块从所述数据存储区移入所述当前替换存储区的下一级替换存储区。
10.根据权利要求7或8所述的存储介质管理装置,其特征在于,所述存储介质还包括无效区,所述无效区包括无效存储块,所述预设值为所述无效区对应的阈值,相应的,所述当监测到所述问题存储块时,将所述问题存储块移出所述数据存储区的所述替换模块,包括:
第一移出单元,用于当监测到所述问题存储块时,将所述问题存储块从所述数据存储区移入所述失效区。
11.根据权利要求7-10中任意一项所述的存储介质管理装置,其特征在于,还包括:
划分模块,用于获取所述存储设备中的存储介质的每个存储块的至少一项性能参数,根据所述至少一项性能参数,得到所述存储介质的每个存储块的健康度分值,依据所述健康度分值由大至小的顺序对所述存储介质的存储块进行排序,并基于各个所述存储块的排列顺序,选取前m个存储块作为数据存储区,m=(Capacityuser+Capacityop)/Sizeblock,其中,Capacityop为存储设备的冗余区的大小,Capacityuser为所述存储设备的用户可见存储区的大小,Sizeblock为所述存储块的大小;以及从剩余的存储块中划分出替换区。
12.根据权利要求7-10中任意一项所述的存储介质管理装置,其特征在于,所述存储介质管理装置中包括一索引表,所述索引表用于记录所述存储介质的各个分区所包括的存储块的信息。
13.一种存储设备,其特征在于,包括:存储介质、存储器、以及与所述存储器通信的处理器;
所述存储介质预先按照存储块的健康度划分为数据存储区和替换区,所述数据存储器的存储块的健康度大于所述替换区的存储块的健康度,所述健康度用于衡量所述存储介质中的存储块的性能,所述健康度与所述存储块的想能成正比;
所述存储器,用于存储管理所述存储介质的程序代码;
所述处理器,用于执行所述存储器保存的所述程序代码,以实现权利要求1-6任意一项所述的方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611110236.6A CN108170366A (zh) | 2016-12-06 | 2016-12-06 | 存储设备中的存储介质管理方法、装置和存储设备 |
PCT/CN2017/114237 WO2018103592A1 (zh) | 2016-12-06 | 2017-12-01 | 存储设备中的存储介质管理方法、装置和存储设备 |
US16/431,177 US10901629B2 (en) | 2016-12-06 | 2019-06-04 | Method and apparatus for managing health of a storage medium in a storage device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611110236.6A CN108170366A (zh) | 2016-12-06 | 2016-12-06 | 存储设备中的存储介质管理方法、装置和存储设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108170366A true CN108170366A (zh) | 2018-06-15 |
Family
ID=62490788
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611110236.6A Pending CN108170366A (zh) | 2016-12-06 | 2016-12-06 | 存储设备中的存储介质管理方法、装置和存储设备 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10901629B2 (zh) |
CN (1) | CN108170366A (zh) |
WO (1) | WO2018103592A1 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109117417A (zh) * | 2018-09-29 | 2019-01-01 | 深圳比特微电子科技有限公司 | 计算芯片及其操作方法 |
US10509583B1 (en) | 2018-07-26 | 2019-12-17 | Shenzhen Epostar Electronics Limited Co. | Memory management method and storage controller |
CN112835745A (zh) * | 2021-02-09 | 2021-05-25 | 天津易鼎丰动力科技有限公司 | 一种嵌入式系统高可靠存储算法 |
CN114356238A (zh) * | 2021-12-31 | 2022-04-15 | 深圳大普微电子科技有限公司 | 一种固态硬盘数据巡检方法及装置 |
CN115757196A (zh) * | 2022-11-09 | 2023-03-07 | 超聚变数字技术有限公司 | 内存、访问内存方法及计算设备 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020051921A1 (en) * | 2018-09-15 | 2020-03-19 | Intel Corporation | Runtime cell row replacement in a memory |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009124320A1 (en) * | 2008-04-05 | 2009-10-08 | Fusion Multisystems, Inc. | Apparatus, system, and method for bad block remapping |
US20100235605A1 (en) * | 2009-02-13 | 2010-09-16 | Nir Perry | Enhancement of storage life expectancy by bad block management |
CN101872326A (zh) * | 2010-06-24 | 2010-10-27 | 济南大学 | 一种嵌入式环境下otp闪存的数据存储管理方法 |
US20110078364A1 (en) * | 2009-09-30 | 2011-03-31 | Hynix Semiconductor Inc. | Solid state storage system for controlling reserved area flexibly and method for controlling the same |
CN102135942A (zh) * | 2010-12-31 | 2011-07-27 | 北京握奇数据系统有限公司 | 一种存储设备中实现损耗均衡的方法及存储设备 |
CN102622306A (zh) * | 2012-02-21 | 2012-08-01 | 中颖电子股份有限公司 | 存储装置的坏块管理方法 |
CN103455386A (zh) * | 2013-08-28 | 2013-12-18 | 华为技术有限公司 | 一种修复出错数据的方法和设备 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100526186B1 (ko) * | 2003-04-04 | 2005-11-03 | 삼성전자주식회사 | 플래시 메모리의 오류블록 관리방법 및 장치 |
CN101425334B (zh) * | 2007-10-30 | 2012-02-15 | 北京同方微电子有限公司 | 一种实现nor flash坏块管理的方法及其控制电路 |
CN104166627B (zh) * | 2014-09-02 | 2017-12-08 | 科大智能电气技术有限公司 | 一种基于单片机的nand‑flash写操作方法 |
CN109783017B (zh) * | 2015-01-27 | 2021-05-18 | 华为技术有限公司 | 一种存储设备坏块的处理方法、装置及存储设备 |
-
2016
- 2016-12-06 CN CN201611110236.6A patent/CN108170366A/zh active Pending
-
2017
- 2017-12-01 WO PCT/CN2017/114237 patent/WO2018103592A1/zh active Application Filing
-
2019
- 2019-06-04 US US16/431,177 patent/US10901629B2/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009124320A1 (en) * | 2008-04-05 | 2009-10-08 | Fusion Multisystems, Inc. | Apparatus, system, and method for bad block remapping |
US20100235605A1 (en) * | 2009-02-13 | 2010-09-16 | Nir Perry | Enhancement of storage life expectancy by bad block management |
US20110078364A1 (en) * | 2009-09-30 | 2011-03-31 | Hynix Semiconductor Inc. | Solid state storage system for controlling reserved area flexibly and method for controlling the same |
CN101872326A (zh) * | 2010-06-24 | 2010-10-27 | 济南大学 | 一种嵌入式环境下otp闪存的数据存储管理方法 |
CN102135942A (zh) * | 2010-12-31 | 2011-07-27 | 北京握奇数据系统有限公司 | 一种存储设备中实现损耗均衡的方法及存储设备 |
CN102622306A (zh) * | 2012-02-21 | 2012-08-01 | 中颖电子股份有限公司 | 存储装置的坏块管理方法 |
CN103455386A (zh) * | 2013-08-28 | 2013-12-18 | 华为技术有限公司 | 一种修复出错数据的方法和设备 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10509583B1 (en) | 2018-07-26 | 2019-12-17 | Shenzhen Epostar Electronics Limited Co. | Memory management method and storage controller |
TWI686697B (zh) * | 2018-07-26 | 2020-03-01 | 大陸商深圳大心電子科技有限公司 | 記憶體管理方法以及儲存控制器 |
CN109117417A (zh) * | 2018-09-29 | 2019-01-01 | 深圳比特微电子科技有限公司 | 计算芯片及其操作方法 |
CN109117417B (zh) * | 2018-09-29 | 2023-02-17 | 深圳比特微电子科技有限公司 | 计算芯片及其操作方法 |
CN112835745A (zh) * | 2021-02-09 | 2021-05-25 | 天津易鼎丰动力科技有限公司 | 一种嵌入式系统高可靠存储算法 |
CN112835745B (zh) * | 2021-02-09 | 2022-04-01 | 天津易鼎丰动力科技有限公司 | 一种嵌入式系统高可靠存储方法 |
CN114356238A (zh) * | 2021-12-31 | 2022-04-15 | 深圳大普微电子科技有限公司 | 一种固态硬盘数据巡检方法及装置 |
CN115757196A (zh) * | 2022-11-09 | 2023-03-07 | 超聚变数字技术有限公司 | 内存、访问内存方法及计算设备 |
CN115757196B (zh) * | 2022-11-09 | 2023-09-01 | 超聚变数字技术有限公司 | 内存、访问内存方法及计算设备 |
Also Published As
Publication number | Publication date |
---|---|
WO2018103592A1 (zh) | 2018-06-14 |
US10901629B2 (en) | 2021-01-26 |
US20190286341A1 (en) | 2019-09-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108170366A (zh) | 存储设备中的存储介质管理方法、装置和存储设备 | |
CN109074302B (zh) | 确定存储驱动器的健康的方法和系统 | |
US10310930B2 (en) | Solid state disk using method and apparatus | |
US7992061B2 (en) | Method for testing reliability of solid-state storage medium | |
US8806106B2 (en) | Estimating wear of non-volatile, solid state memory | |
CN106407051B (zh) | 一种检测慢盘的方法及装置 | |
TWI630400B (zh) | 用於判定電路故障率之方法及系統 | |
US20160232450A1 (en) | Storage device lifetime monitoring system and storage device lifetime monitoring method thereof | |
CN110658990A (zh) | 具有改善的准备时间的数据存储系统 | |
JP2014164769A (ja) | ホストのサービス品質インジケータに重みを割り当てるための装置および方法ならびに記憶媒体 | |
US10031673B2 (en) | Techniques for selecting amounts of over-provisioning | |
US11016679B2 (en) | Balanced die set execution in a data storage system | |
US20110231582A1 (en) | Trend determination and identification | |
EP4078380B1 (en) | Behavior-driven die management on solid-state drives | |
US20220383970A1 (en) | Method and Apparatus for Outlier Management | |
JP2015179443A (ja) | 診断モデル生成装置、診断用モデル生成方法、及び異常診断装置 | |
WO2015146100A1 (ja) | 負荷推定システム、情報処理装置、負荷推定方法、及び、プログラムを記憶する記憶媒体 | |
CN108021484B (zh) | 云端服务系统中磁盘预期寿命值的延长方法及其系统 | |
Li et al. | From correctable memory errors to uncorrectable memory errors: What error bits tell | |
CN107562608B (zh) | 资源指标重要度评估方法及装置 | |
CN113778964B (zh) | 用于储存多个暂存档案的记录装置及暂存档案的管理方法 | |
CN112005223A (zh) | 设备状态评估 | |
Yang et al. | Algebraic modeling of write amplification in hotness-aware SSD | |
CN111767165B (zh) | 数据处理方法、装置及控制设备 | |
US20240220833A1 (en) | Method for predicting usage for cloud storage service and system therefor |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180615 |