CN112732179B - 一种ssd的数据管理方法及相关装置 - Google Patents

一种ssd的数据管理方法及相关装置 Download PDF

Info

Publication number
CN112732179B
CN112732179B CN202011601801.5A CN202011601801A CN112732179B CN 112732179 B CN112732179 B CN 112732179B CN 202011601801 A CN202011601801 A CN 202011601801A CN 112732179 B CN112732179 B CN 112732179B
Authority
CN
China
Prior art keywords
data
data block
rber
ecc
reading
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.)
Active
Application number
CN202011601801.5A
Other languages
English (en)
Other versions
CN112732179A (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.)
Beijing Inspur Data Technology Co Ltd
Original Assignee
Beijing Inspur Data Technology Co Ltd
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 Beijing Inspur Data Technology Co Ltd filed Critical Beijing Inspur Data Technology Co Ltd
Priority to CN202011601801.5A priority Critical patent/CN112732179B/zh
Publication of CN112732179A publication Critical patent/CN112732179A/zh
Application granted granted Critical
Publication of CN112732179B publication Critical patent/CN112732179B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0653Monitoring storage devices or systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Debugging And Monitoring (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本申请公开了一种SSD的数据管理方法,包括:当数据块的读取次数大于阈值时,判断数据块的ECC是否大于第一预设数据或数据块的RBER是否大于第二预设数据;若是,则将数据块的数据迁移至新的数据块中;若否,则根据ECC和RBER更新阈值,并清零读取次数,以便进行下一次判断。通过当读取次数大于阈值时判断ECC或RBER是否大于预设数据,确定是否进行数据迁移,若是将数据迁移至新的数据块中,若否更新阈值再等待下一次判断,以便通过读取次数对数据块的状态进行实时判断,提高对数据块状态的监控的及时性,避免读取到错误数据。本申请还公开了一种SSD的数据管理装置、计算设备以及计算机可读存储介质,具有以上有益效果。

Description

一种SSD的数据管理方法及相关装置
技术领域
本申请涉及数据存储技术领域,特别涉及一种SSD的数据管理方法、数据管理装置、计算设备以及计算机可读存储介质。
背景技术
固态硬盘SSD(Solid State Disk)是一种用来存储用户数据的设备。固态硬盘由控制器,存储介质NAND(NAND flash memory,计算机闪存设备)等模块组成。控制器中运行固件进行资源的控制,对用户数据存储调度,维护NAND设备等操作。其中,NAND是SSD的存储介质,是一种芯片,一个固态硬盘内往往有多个NAND颗粒。当前主流的SSD一般采用TLCNAND,TLC即Triple-Level Cell。NAND中设置有多个lun,每个lun中包含有多个block(数据块),block是lun的组成单位,是erase操作的最小单元。每个block中包含有多个page,page是block的组成单位,是read操作和write操作的最小单元。
相关技术中,当对一个数据块读很多次的时候,也就是,在同一个数据块上进行物理页读取,被读取的物理页可以正常读取,但是会导致其他没有被读的物理页数据出错。具体的是出现读取扰动的问题,导致浮栅极进入电子,由于晶体管阈值电压偷偷的发生了变化,闪存内部逻辑如果还是按照之前的参考电压加在控制极上,然后判断数据,导致发生误判,也就是读到错误的数据。
因此,如何避免读取到错误的数据是本领域技术人员关注的重点问题。
发明内容
本申请的目的是提供一种SSD的数据管理方法、数据管理装置、计算设备以及计算机可读存储介质,通过当读取次数大于阈值时判断ECC或RBER是否大于预设数据,以便确定是否进行数据迁移,若是则将数据迁移至新的数据块中,若否则更新阈值再等待下一次判断,以便通过读取次数对数据块的状态进行实时判断,提高对数据块状态的监控的及时性,避免读取到错误数据。
为解决上述技术问题,本申请提供一种SSD的数据管理方法,包括:
当数据块的读取次数大于阈值时,判断所述数据块的ECC是否大于第一预设数据或所述数据块的RBER是否大于第二预设数据;
若是,则将所述数据块的数据迁移至新的数据块中;
若否,则根据所述ECC和所述RBER更新所述阈值,并清零所述读取次数,以便进行下一次判断。
可选的,根据所述ECC和所述RBER更新所述阈值,并清零所述读取次数,以便进行下一次判断,包括:
根据读取错误寿命表确定所述ECC对应的最大读取阈值;
根据所述读取错误寿命表确认所述RBER对应的误码概率;
将所述最大读取阈值乘以所述误码概率得到新的阈值,并清零所述读取次数,以便进行下一次判断。
可选的,还包括:
根据历史错误数据构建所述读取错误寿命表。
可选的,在所述判断所述数据块的ECC是否大于第一预设数据或所述数据块的RBER是否大于第二预设数据的步骤之前,还包括:
获取所述数据块的ECC和RBER。
本申请还提供一种SSD的数据管理装置,包括:
故障判断模块,用于当数据块的读取次数大于阈值时,判断所述数据块的ECC是否大于第一预设数据或所述数据块的RBER是否大于第二预设数据;
数据迁移模块,用于当所述数据块的ECC大于第一预设数据或所述数据块的RBER大于第二预设数据时,将所述数据块的数据迁移至新的数据块中;
阈值更新模块,用于当所述数据块的ECC小于等于第一预设数据并且所述数据块的RBER小于等于第二预设数据时,根据所述ECC和所述RBER更新所述阈值,并清零所述读取次数,以便进行下一次判断。
可选的,所述阈值更新模块,包括:
读取次数获取单元,用于根据读取错误寿命表确定所述ECC对应的最大读取阈值;
误码概率获取单元,用于根据所述读取错误寿命表确认所述RBER对应的误码概率;
阈值更新单元,用于将所述最大读取阈值乘以所述误码概率得到新的阈值,并清零所述读取次数,以便进行下一次判断。
可选的,还包括:
寿命表构建模块,用于根据历史错误数据构建所述读取错误寿命表。
可选的,还包括:
信息获取模块,用于获取所述数据块的ECC和RBER。
本申请还提供一种计算设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上所述的数据管理方法的步骤。
本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的数据管理方法的步骤。
本申请所提供的一种SSD的数据管理方法,包括:当数据块的读取次数大于阈值时,判断所述数据块的ECC是否大于第一预设数据或所述数据块的RBER是否大于第二预设数据;若是,则将所述数据块的数据迁移至新的数据块中;若否,则根据所述ECC和所述RBER更新所述阈值,并清零所述读取次数,以便进行下一次判断。
通过当读取次数大于阈值时判断ECC或RBER是否大于预设数据,以便确定是否进行数据迁移,若是则将数据迁移至新的数据块中,若否则更新阈值再等待下一次判断,以便通过读取次数对数据块的状态进行实时判断,提高对数据块状态的监控的及时性,避免读取到错误数据。
本申请还提供一种SSD的数据管理装置、计算设备以及计算机可读存储介质,具有以上有益效果,在此不做赘述。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例所提供的一种SSD的数据管理方法的流程图;
图2为本申请实施例所提供的一种SSD的数据管理装置的结构示意图。
具体实施方式
本申请的核心是提供一种SSD的数据管理方法、数据管理装置、计算设备以及计算机可读存储介质,通过当读取次数大于阈值时判断ECC或RBER是否大于预设数据,以便确定是否进行数据迁移,若是则将数据迁移至新的数据块中,若否则更新阈值再等待下一次判断,以便通过读取次数对数据块的状态进行实时判断,提高对数据块状态的监控的及时性,避免读取到错误数据。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
相关技术中,当对一个数据块读很多次的时候,也就是,在同一个数据块上进行物理页读取,被读取的物理页可以正常读取,但是会导致其他没有被读的物理页数据出错。具体的是出现读取扰动的问题,导致浮栅极进入电子,由于晶体管阈值电压偷偷的发生了变化,闪存内部逻辑如果还是按照之前的参考电压加在控制极上,然后判断数据,导致发生误判,也就是读到错误的数据。
因此,本申请提供一种SSD的数据管理方法,通过当读取次数大于阈值时判断ECC或RBER是否大于预设数据,以便确定是否进行数据迁移,若是则将数据迁移至新的数据块中,若否则更新阈值再等待下一次判断,以便通过读取次数对数据块的状态进行实时判断,提高对数据块状态的监控的及时性,避免读取到错误数据。
以下通过一个实施例,对本申请提供的一种SSD的数据管理方法进行说明。
请参考图1,图1为本申请实施例所提供的一种SSD的数据管理方法的流程图。
本实施例中,该方法可以包括:
S101,当数据块的读取次数大于阈值时,判断数据块的ECC是否大于第一预设数据或数据块的RBER是否大于第二预设数据;若是,则执行S102;若否,则执行S103;
可见,本步骤中主要是当数据块的读取次数大于阈值时,即可判断该数据块的ECC是否大于第一预设数据或数据块的RBER是否大于第二预设数据。
其中,ECC是“Error Correcting Code”的简写,是一种能够实现“错误检查和纠正”的技术,ECC内存就是应用了这种技术的内存,一般多应用在服务器及图形工作站上,可提高计算机运行的稳定性和增加可靠性。
RBER(Raw Bit Error Rate,原始比特错误率)反映的是闪存的质量。所有闪存出厂时都有一个RBER指标,企业级闪存和消费级闪存的RBER显然是不同的,价格当然也存在不同。进一步的,RBER指标也不是固定不变,闪存的错误率会随着使用寿命(PE cycle,擦写次数)增加而增加。
显然,本步骤的目的就是在读取次数大于阈值时,通过该数据块的ECC和RBER判断该数据块的数据错误风险。其中,当数据块的ECC大于第一预设数据或数据块的RBER大于第二预设数据时,则表示此时该数据块的数据错误风险极大,需要将数据块的数据进行迁移,避免数据出错。
其中,该阈值并不是固定的,可以根据ECC的数量和RBER的概率进行计算,在不同的ECC和不同的RBER的情况下,对应的阈值并不相同。可以在本次读取次数大于阈值时,根据获取到的ECC和RBER进行计算,得到新的阈值。
其中,第一预设数据和第二预设数据可以根据该SSD的属性进行设定,也可以根据该固态硬盘的应用环境进行设定,还可以根据技术人员的经验进行设定,可见,本实施例中设定方式并不唯一,在此不做具体限定。
更进一步的,本实施例还可以根据大量的NAND的试验数据,以便对NAND建立对应的读取错误寿命表。该表中包括ECC在不同大小下对应的最大读取阈值,和RBER在不同的大小对应的误码概率。将其中的最大读取阈值与误码概率相乘即可得到,对应的读取次数的阈值。
进一步的,该读取错误寿命表,可以如表1.
表1,读取错误寿命表
项目 count
ECC小于10的最大读次数 30000
ECC在10到20之间的最大读次数 20000
ECC在20到30之间的最大读次数 10000
ECC在30到40之间的最大读次数 5000
RBER小于15对应的误码概率 100%
RBER在15到30之间对应的误码概率 75%
RBER在30到45之间对应的误码概率 50%
RBER在45到60之间对应的误码概率 25%
可选的,本步骤还可以包括:
获取数据块的ECC和RBER。
可见,本可选方案主要是获取数据块的ECC数据和RBER数据。其中,获取到ECC数据和RBER数据的方式可以采用现有技术提供的任意一种获取方式,也可以通过相关公式进行计算得到,在此不做具体限定。
S102,将数据块的数据迁移至新的数据块中;
在S101的基础上,本步骤旨在当该数据块的ECC大于第一预设数据或数据块的RBER大于第二预设数据时将数据块的数据迁移至新的数据块中。也就是说,此时该数据的数据存储风险较高,需要将数据迁移至新的数据块中,避免该数据块中的数据出现错误问题。
其中,将该数据块的数据迁移至新的数据块的方式,可以采用现有技术提供的任意一种数据迁移方式,在此不做具体限定。
S103,根据ECC和RBER更新阈值,并清零读取次数,以便进行下一次判断。
在S101的基础上,本步骤旨在当数据块的ECC小于等于第一预设数据并且数据块的RBER小于等于第二预设数据时,根据ECC和RBER更新阈值,并清零读取次数,以便进行下一次判断。也就是说,该数据块的数据错误风险较低,还可以进行正常的数据存取操作。
进一步的,为了提高计算读取次数阈值的准确性,本步骤可以包括:
步骤1,根据读取错误寿命表确定ECC对应的最大读取阈值;
步骤2,根据读取错误寿命表确认RBER对应的误码概率;
步骤3,将最大读取阈值乘以误码概率得到新的阈值,并清零读取次数,以便进行下一次判断。
可见,本可选方案主要是如何更行阈值进行说明。本可选方案中首先根据读取错误寿命表确定ECC对应的最大读取阈值,根据读取错误寿命表确认RBER对应的误码概率;然后,将最大读取阈值乘以误码概率得到新的阈值,并清零读取次数,以便进行下一次判断。可见,通过本可选方案中,可以将阈值在不同的判断中不断变化,以便使本实施例中的错误风险判断越来越精确,提高数据迁移的准确性,减少数据迁移次数,减低数据错误率。
进一步的,本步骤中还可以包括:
根据历史错误数据构建读取错误寿命表。
可见,本可选方案中主要是通过历史错误数据构建出读取错误寿命表。
综上,本实施例通过当读取次数大于阈值时判断ECC或RBER是否大于预设数据,以便确定是否进行数据迁移,若是则将数据迁移至新的数据块中,若否则更新阈值再等待下一次判断,以便通过读取次数对数据块的状态进行实时判断,提高对数据块状态的监控的及时性,避免读取到错误数据。
以下通过一个具体的实施例,对本申请提供的一种SSD的数据管理方法做进一步说明。
本实施例中,该方法可以包括:
步骤1,当数据块的读取次数大于阈值时,判断数据块的ECC是否大于第一预设数据或数据块的RBER是否大于第二预设数据;
步骤2,若是,则将数据块的数据迁移至新的数据块中;
步骤3,若否,则根据ECC和RBER更新阈值,并
步骤4,清零读取次数,执行步骤1直至将该数据块迁移至新的数据块中。
以下通过具体实施方式进行说明,本实施例首先读出该数据块的Error bitcount RBER根据该count判断所在的区间,并找到对应的误码概率,然后读出该数据块的ECC count根据ECC count找到对应的最大读取阈值,计算出读取阈值。
例如:
第一次获取信息:
当ECC<10,则对应的最大读取阈值为30000;
当RBER=14,则会得到ECC对应的RBER百分比为100%;
结合二者可以得出30000*100%=30000,也就是当该数据块读取次数达到30000次时重新计算一轮;由于ECC和RBER都比较低,所以触发读取扰动的概率很低,没必要立即搬移数据,
当读取此树达到30000次以后做获取一次信息,第二次获取的信息:
当ECC=35,则对应的最大读取阈值为5000;
当RBER=45,则会得到ECC对应的RBER百分比为25%;
结合二者可以得出5000*25%=1250,则继续读该数据块当读的次数达到1250时重新再计算一轮;
当第三轮计算得到:
RBER=65,超过阈值,则表示该数据块已经不稳定了,立刻把该数据块中的数据搬移到另外一个数据块中。也即是说,如果系统起来里面检测到任何一个数据块的ECC大于40或者RBER大于60,则说明这个数据块就不稳定,需要里面搬移数据。
可见,本实施例通过当读取次数大于阈值时判断ECC或RBER是否大于预设数据,以便确定是否进行数据迁移,若是则将数据迁移至新的数据块中,若否则更新阈值再等待下一次判断,以便通过读取次数对数据块的状态进行实时判断,提高对数据块状态的监控的及时性,避免读取到错误数据。
下面对本申请实施例提供的SSD的数据管理装置进行介绍,下文描述的SSD的数据管理装置与上文描述的SSD的数据管理方法可相互对应参照。
请参考图2,图2为本申请实施例所提供的一种SSD的数据管理装置的结构示意图。
本实施例中,该方法可以包括:
故障判断模块100,用于当数据块的读取次数大于阈值时,判断数据块的ECC是否大于第一预设数据或数据块的RBER是否大于第二预设数据;
数据迁移模块200,用于当数据块的ECC大于第一预设数据或数据块的RBER大于第二预设数据时,将数据块的数据迁移至新的数据块中;
阈值更新模块300,用于当数据块的ECC小于等于第一预设数据并且数据块的RBER小于等于第二预设数据时,根据ECC和RBER更新阈值,并清零读取次数,以便进行下一次判断。
可选的,该阈值更新模块300,可以包括:
读取次数获取单元,用于根据读取错误寿命表确定ECC对应的最大读取阈值;
误码概率获取单元,用于根据读取错误寿命表确认RBER对应的误码概率;
阈值更新单元,用于将最大读取阈值乘以误码概率得到新的阈值,并清零读取次数,以便进行下一次判断。
可选的,该装置还可以包括:
寿命表构建模块,用于根据历史错误数据构建读取错误寿命表。
可选的,该装置还可以包括:
信息获取模块,用于获取数据块的ECC和RBER。
本申请实施例还提供一种计算设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如以上实施例所述的数据管理方法的步骤。
本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如以上实施例所述的数据管理方法的步骤。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本申请所提供的一种SSD的数据管理方法、数据管理装置、计算设备以及计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。

Claims (4)

1.一种SSD的数据管理方法,其特征在于,包括:
当数据块的读取次数大于阈值时,判断所述数据块的ECC是否大于第一预设数据或所述数据块的RBER是否大于第二预设数据;
若是,则将所述数据块的数据迁移至新的数据块中;
若否,则根据所述ECC和所述RBER更新所述阈值,并清零所述读取次数,以便进行下一次判断;
其中,根据所述ECC和所述RBER更新所述阈值,并清零所述读取次数,以便进行下一次判断,包括:
根据读取错误寿命表确定所述ECC对应的最大读取阈值;
根据所述读取错误寿命表确认所述RBER对应的误码概率;
将所述最大读取阈值乘以所述误码概率得到新的阈值,并清零所述读取次数,以便进行下一次判断;
所述SSD的数据管理方法,还包括:
根据历史错误数据构建所述读取错误寿命表;
在所述判断所述数据块的ECC是否大于第一预设数据或所述数据块的RBER是否大于第二预设数据的步骤之前,还包括:
获取所述数据块的ECC和RBER。
2.一种SSD的数据管理装置,其特征在于,包括:
故障判断模块,用于当数据块的读取次数大于阈值时,判断所述数据块的ECC是否大于第一预设数据或所述数据块的RBER是否大于第二预设数据;
数据迁移模块,用于当所述数据块的ECC大于第一预设数据或所述数据块的RBER大于第二预设数据时,将所述数据块的数据迁移至新的数据块中;
阈值更新模块,用于当所述数据块的ECC小于等于第一预设数据并且所述数据块的RBER小于等于第二预设数据时,根据所述ECC和所述RBER更新所述阈值,并清零所述读取次数,以便进行下一次判断;
其中,所述阈值更新模块,包括:
读取次数获取单元,用于根据读取错误寿命表确定所述ECC对应的最大读取阈值;
误码概率获取单元,用于根据所述读取错误寿命表确认所述RBER对应的误码概率;
阈值更新单元,用于将所述最大读取阈值乘以所述误码概率得到新的阈值,并清零所述读取次数,以便进行下一次判断;
所述SSD的数据管理装置,还包括:
寿命表构建模块,用于根据历史错误数据构建所述读取错误寿命表;
所述SSD的数据管理装置,还包括:
信息获取模块,用于获取所述数据块的ECC和RBER。
3.一种计算设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1所述的数据管理方法的步骤。
4.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1所述的数据管理方法的步骤。
CN202011601801.5A 2020-12-29 2020-12-29 一种ssd的数据管理方法及相关装置 Active CN112732179B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011601801.5A CN112732179B (zh) 2020-12-29 2020-12-29 一种ssd的数据管理方法及相关装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011601801.5A CN112732179B (zh) 2020-12-29 2020-12-29 一种ssd的数据管理方法及相关装置

Publications (2)

Publication Number Publication Date
CN112732179A CN112732179A (zh) 2021-04-30
CN112732179B true CN112732179B (zh) 2024-02-13

Family

ID=75611648

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011601801.5A Active CN112732179B (zh) 2020-12-29 2020-12-29 一种ssd的数据管理方法及相关装置

Country Status (1)

Country Link
CN (1) CN112732179B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114327279A (zh) * 2021-12-29 2022-04-12 湖南国科微电子股份有限公司 一种迁移数据的方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9208018B1 (en) * 2013-03-15 2015-12-08 Pmc-Sierra, Inc. Systems and methods for reclaiming memory for solid-state memory
CN107731258A (zh) * 2016-08-10 2018-02-23 爱思开海力士有限公司 具有读取阈值估计的存储器系统及其操作方法
CN108628552A (zh) * 2018-05-10 2018-10-09 南京道熵信息技术有限公司 一种改善Flash磨损寿命的方法、控制装置及存储系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9563373B2 (en) * 2014-10-21 2017-02-07 International Business Machines Corporation Detecting error count deviations for non-volatile memory blocks for advanced non-volatile memory block management

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9208018B1 (en) * 2013-03-15 2015-12-08 Pmc-Sierra, Inc. Systems and methods for reclaiming memory for solid-state memory
CN107731258A (zh) * 2016-08-10 2018-02-23 爱思开海力士有限公司 具有读取阈值估计的存储器系统及其操作方法
CN108628552A (zh) * 2018-05-10 2018-10-09 南京道熵信息技术有限公司 一种改善Flash磨损寿命的方法、控制装置及存储系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于数据块级迁移策略的设计与实现;周斌;汪浪;张莹;谭佳豪;;计算机工程与设计(07);全文 *

Also Published As

Publication number Publication date
CN112732179A (zh) 2021-04-30

Similar Documents

Publication Publication Date Title
CN101529526B (zh) 用于估计和报告闪存盘存储器的预期寿命的方法
US10936391B2 (en) Memory management method and storage controller
JP5629391B2 (ja) 半導体記憶装置及び半導体記憶装置の制御方法
US10552063B2 (en) Background mitigation reads in a non-volatile memory system
US10803972B2 (en) Flash memory module, storage system, and method of controlling flash memory
TWI610169B (zh) 檔案系統的日誌子系統寫入方法、錯誤追蹤方法及處理器
CN109614052B (zh) 一种数据巡检方法、装置和计算机可读存储介质
US10586601B2 (en) Semiconductor memory device and read control method thereof
US9152488B2 (en) Storage module and low-complexity methods for assessing the health of a flash memory device
CN111709124B (zh) 产品fmeca分析方法、装置、计算机设备和存储介质
WO2018103592A1 (zh) 存储设备中的存储介质管理方法、装置和存储设备
CN112732179B (zh) 一种ssd的数据管理方法及相关装置
CN107203436B (zh) 一种Nand Flash数据校验的方法与装置
CN112732181B (zh) 一种ssd的数据迁移方法及相关装置
CN109801668A (zh) 数据储存装置及应用于其上的操作方法
CN112331249B (zh) 预测存储器件寿命的方法、装置、终端设备和存储介质
DE112020003961T5 (de) Vorhersagende speicherverwaltung
CN111078498A (zh) 一种ssd中数据巡检的方法
CN115167775A (zh) 一种存储器寿命均衡方法、装置、电子设备及存储介质
US9953722B2 (en) Methods of system optimization by over-sampling read
CN110908825B (zh) 一种数据读取方法、装置、存储设备及存储介质
US20150074456A1 (en) Versioned memories using a multi-level cell
US11669262B2 (en) Method, device, and product for managing scrubbing operation in storage system
WO2021000092A1 (zh) 一种数据处理方法、装置以及存储介质
US11875864B2 (en) Mitigating edge layer effect in partially written blocks

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