CN110825556A - 一种判断固态硬盘中存储数据状态的方法和装置 - Google Patents
一种判断固态硬盘中存储数据状态的方法和装置 Download PDFInfo
- Publication number
- CN110825556A CN110825556A CN201911044069.3A CN201911044069A CN110825556A CN 110825556 A CN110825556 A CN 110825556A CN 201911044069 A CN201911044069 A CN 201911044069A CN 110825556 A CN110825556 A CN 110825556A
- Authority
- CN
- China
- Prior art keywords
- operation times
- data
- data block
- reading
- threshold
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
- G06F11/108—Parity data distribution in semiconductor storages, e.g. in SSD
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明提供一种判断固态硬盘中存储数据状态的方法,包括以下步骤:在不同的擦写操作次数和读操作次数下执行老化操作以获得SSD数据块中出现不可纠错误时的错误比特数阈值,并将所述擦写操作次数和读操作次数与其相对应的阈值生成对应关系表;上电巡检过程中读取数据块中的错误比特数与所述数据块的擦写操作次数和读操作次数,通过所述对应关系表判断所述数据块的错误比特数是否超过所述擦写操作次数和读操作次数对应的阈值,以确定存储数据状态。本发明能够预防由于忽略off‑line retention引起的数据丢失,增加系统的稳定性。
Description
技术领域
本发明涉及数据存储领域,并且更具体地,涉及一种判断固态硬盘中存储数据状态的方法和装置。
背景技术
ECC(纠错码)纠错功能是固态硬盘最重要的功能组成之一,LDPC(低密度奇偶校验码)纠错技术可以纠正一定数量的错误比特。在存储颗粒的存储周期内,有很多因素会引起存储数据的丢失,现有的应用最多的数据恢复技术是ECC纠错技术。ECC纠错技术是通过在存储数据中增加冗余数据来实现,这些冗余数据能够实现在数据读取的时候检测数据的正确性,以及纠正错误的数据的功能。
能影响存储于存储颗粒内的数据正确性的因素有:写干扰、存储时限(retention)、读干扰等,本方法只讨论retention的情况,故名思意是由于数据存放时间过长而引起的错误,这是由SSD(固态硬盘)的存储特性决定。SSD存储数据有别于磁盘,磁盘存储数据是通过磁道存储二进制信息,而SSD是通过控制存储单元内电子数量的多少从而控制电压,从而达到存储二进制信息的目的。相对于磁盘而言,SSD存储的信息具有不稳定性。随着时间的推移,存储于SSD内的信息会弱化并逐渐达到ECC不可纠正进而丢失。其中retention影响又可以分为on-line retention(供电)和off-line retention(不供电)两种,其中off-line retention是指不给SSD硬盘供电期间数据存储时间对存储数据正确性的影响;on-line retention是指SSD硬盘上电期间数据存在时间的累计对数据正确性的影响。例如存储于SSD的数据由于on-line retention影响100小时会变为不可纠,但是off-line retention对于数据正确性的影响可能有150小时。这些是由SSD内存储单元的活跃状态决定的。on-line retention对数据正确性的影响业界一般都会有机制来定时检测数据存储的时间。例如100个小时会发生数据损坏,固件可以在第99个小时将数据搬移,以保证不会发生不可纠正错误。
在系统没有引入UTC(协调世界时)时间的前提下,由于相对on-line retention而言,off-line retention有一定的不可统计性,所以对于off-line retention的影响业界普遍采取估算、硬性规定off-line时间或者忽略不计的方式。这几种处理方式的缺点是,不能及时检测off-line retention对存储数据的影响,如果off-line时间过长,上电之后与on-line retention作用相累加,极有可能会造成数据的丢失。
发明内容
鉴于此,本发明实施例的目的在于提出一种判断固态硬盘中存储数据状态的方法和装置,在上电之后对数据进行巡检,统计每个数据块样本的错误比特数,当错误比特数达到一定阈值时执行数据搬移操作。
基于上述目的,本发明实施例的一方面提供了一种判断固态硬盘中存储数据状态的方法,包括以下步骤:
在不同的擦写操作次数和读操作次数下执行老化操作以获得SSD数据块中出现不可纠错误时的错误比特数阈值,并将所述擦写操作次数和读操作次数与其相对应的阈值生成对应关系表;
上电巡检过程中读取数据块中的错误比特数与所述数据块的擦写操作次数和读操作次数,通过所述对应关系表判断所述数据块的错误比特数是否超过所述擦写操作次数和读操作次数对应的阈值,以确定存储数据状态。
在一些实施方式中,在不同的擦写操作次数和读操作次数下执行老化操作以获得SSD数据块中出现不可纠错误时的错误比特数阈值,并将所述擦写操作次数和读操作次数与其相对应的阈值生成对应关系表包括:
向多个存储块中写入数据,执行预定擦写操作次数和读操作次数,并在对所述多个存储块执行多个不同时长的掉电操作后上电。
在一些实施方式中,在不同的擦写操作次数和读操作次数下执行老化操作以获得SSD数据块中出现不可纠错误时的错误比特数阈值,并将所述擦写操作次数和读操作次数与其相对应的阈值生成对应关系表还包括:
读取所述多个存储块中的数据,对比由于错误比特数过多而出现不可纠错误的数据块和没有出现不可纠错误的数据块,以总结出所述擦写操作次数和读操作次数下出现不可纠错误的错误比特数阈值。
在一些实施方式中,在不同的擦写操作次数和读操作次数下执行老化操作以获得SSD数据块中出现不可纠错误时的错误比特数阈值,并将所述擦写操作次数和读操作次数与其相对应的阈值生成对应关系表还包括:
将所述擦写操作次数和所述读操作次数的取值均在多个范围内进行变化,并在每个范围内取值时执行老化操作,以在不同的预定擦写操作次数和读操作次数下总结出数据块出现不可纠错误的错误比特数阈值,并将所有所述擦写操作次数和读操作次数的取值范围与其相对应的阈值生成对应关系表。
在一些实施方式中,所述方法还包括:响应于所述数据块中的错误比特数超过阈值而将所述数据块中的数据转移到其他数据块中。
本发明实施例的另一方面提供了一种判断固态硬盘中存储数据状态的装置,包括:
至少一个处理器;和
存储器,所述存储器存储有处理器可运行的程序代码,所述程序代码在被处理器运行时实施以下步骤:
在不同的擦写操作次数和读操作次数下执行老化操作以获得SSD数据块中出现不可纠错误时的错误比特数阈值,并将所述擦写操作次数和读操作次数与其相对应的阈值生成对应关系表;
上电巡检过程中读取数据块中的错误比特数与所述数据块的擦写操作次数和读操作次数,通过所述对应关系表判断所述数据块的错误比特数是否超过所述擦写操作次数和读操作次数对应的阈值,以确定存储数据状态。
在一些实施方式中,在不同的擦写操作次数和读操作次数下执行老化操作以获得SSD数据块中出现不可纠错误时的错误比特数阈值,并将所述擦写操作次数和读操作次数与其相对应的阈值生成对应关系表包括:
向多个存储块中写入数据,执行预定擦写操作次数和读操作次数,并在对所述多个存储块执行多个不同时长的掉电操作后上电。
在一些实施方式中,在不同的擦写操作次数和读操作次数下执行老化操作以获得SSD数据块中出现不可纠错误时的错误比特数阈值,并将所述擦写操作次数和读操作次数与其相对应的阈值生成对应关系表还包括:
读取所述多个存储块中的数据,对比由于错误比特数过多而出现不可纠错误的数据块和没有出现不可纠错误的数据块,以总结出所述擦写操作次数和读操作次数下出现不可纠错误的错误比特数阈值。
在一些实施方式中,在不同的擦写操作次数和读操作次数下执行老化操作以获得SSD数据块中出现不可纠错误时的错误比特数阈值,并将所述擦写操作次数和读操作次数与其相对应的阈值生成对应关系表还包括:
将所述擦写操作次数和所述读操作次数的取值均在多个范围内进行变化,并在每个范围内取值时执行老化操作,以在不同的预定擦写操作次数和读操作次数下总结出数据块出现不可纠错误的错误比特数阈值,并将所有所述擦写操作次数和读操作次数的取值范围与其相对应的阈值生成对应关系表。
在一些实施方式中,所述步骤还包括:响应于所述数据块中的错误比特数超过阈值而将所述数据块中的数据转移到其他数据块中。
本发明具有以下有益技术效果:本发明实施例提供的一种判断固态硬盘中存储数据状态的方法和装置能够在系统没有引入UTC时间、无法精确统计掉电时间的前提下,通过在上电过程中统计每个数据块内数据读取过程中的纠错情况,直接将retention对存储数据的影响转换为纠错结果中的错误比特数,从而能够预防由于忽略off-line retention引起的数据丢失,减小系统的纠错开销,增加系统的稳定性,增强系统的健壮性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
图1是根据本发明的一种判断固态硬盘中存储数据状态的方法的流程图;
图2是根据本发明的一种判断固态硬盘中存储数据状态的装置的硬件结构示意图。
具体实施方式
以下描述了本发明的实施例。然而,应该理解,所公开的实施例仅仅是示例,并且其他实施例可以采取各种替代形式。附图不一定按比例绘制;某些功能可能被夸大或最小化以显示特定部件的细节。因此,本文公开的具体结构和功能细节不应被解释为限制性的,而仅仅是作为用于教导本领域技术人员以各种方式使用本发明的代表性基础。如本领域普通技术人员将理解的,参考任何一个附图所示出和描述的各种特征可以与一个或多个其他附图中所示的特征组合以产生没有明确示出或描述的实施例。所示特征的组合为典型应用提供了代表性实施例。然而,与本发明的教导相一致的特征的各种组合和修改对于某些特定应用或实施方式可能是期望的。
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。
基于上述目的,本发明的实施例一方面提出了一种判断固态硬盘中存储数据状态的方法,如图1所示,包括以下步骤:
步骤S101:在不同的擦写操作次数(PE)和读操作次数(RDD)下执行老化操作以获得SSD数据块中出现不可纠错误时的错误比特数阈值,并将所述擦写操作次数和读操作次数与其相对应的阈值生成对应关系表;
步骤S102:上电巡检过程中读取数据块中的错误比特数与所述数据块的擦写操作次数和读操作次数,通过所述对应关系表判断所述数据块的错误比特数是否超过所述擦写操作次数和读操作次数对应的阈值,以确定存储数据状态。
在一些实施例中,在不同的擦写操作次数和读操作次数下执行老化操作以获得SSD数据块中出现不可纠错误时的错误比特数阈值,并将所述擦写操作次数和读操作次数与其相对应的阈值生成对应关系表包括:向多个存储块中写入数据,执行预定擦写操作次数和读操作次数,并在对所述多个存储块执行多个不同时长的掉电操作后上电。
在一些实施例中,在不同的擦写操作次数和读操作次数下执行老化操作以获得SSD数据块中出现不可纠错误时的错误比特数阈值,并将所述擦写操作次数和读操作次数与其相对应的阈值生成对应关系表还包括:读取所述多个存储块中的数据,对比由于错误比特数过多而出现不可纠错误的数据块和没有出现不可纠错误的数据块,以总结出所述擦写操作次数和读操作次数下出现不可纠错误的错误比特数阈值。
在一些实施例中,在不同的擦写操作次数和读操作次数下执行老化操作以获得SSD数据块中出现不可纠错误时的错误比特数阈值,并将所述擦写操作次数和读操作次数与其相对应的阈值生成对应关系表还包括:将所述擦写操作次数和所述读操作次数的取值均在多个范围内进行变化,并在每个范围内取值时执行老化操作,以在不同的预定擦写操作次数和读操作次数下总结出数据块出现不可纠错误的错误比特数阈值,并将所有所述擦写操作次数和读操作次数的取值范围与其相对应的阈值生成对应关系表。
在根据本发明的一个实施例中,对应某一种PE与RDD条件下的多个数据块执行阈值检测方法,具体执行步骤为:1)在掉电之前向这多个数据块写入数据,并执行一定次数的擦写操作PE和读操作RDD,例如PE为900、RDD为200k,然后分别对这多个数据块执行下电操作,掉点时间各不相同,例如从5个小时到72个小时;2)再执行上电,上电之后执行上电巡检操作,记录各个数据块的错误比特数,由于掉点时间不同,所以错误比特分布不同,一般规律为掉点时间较长的数据块,错误比特数较多;3)然后再对这些block执行读操作一定时间(这个时间较短,例如一个小时,使得on-line retention对数据影响很小),查看哪些数据块会在这段时间内会由于错误比特数过多而出现不可纠错误,对比没有出现不可纠错误的数据块和出现不可纠错误的数据块,在上述步骤2中的错误比特数记录中找到合适的错误比特数作为这种条件下的出现不可纠错误的阈值;4)在不同的PE与RDD条件下执行多次上述1-3过程,以在不同的PE和RDD下总结出数据块出现不可纠错误的错误比特数阈值,并将所有PE和RDD与其相对应的阈值生成对应关系表,所述对应关系表例如表1所示。
表1
在一些实施例中,所述方法还包括:响应于所述数据块中的错误比特数超过阈值而将所述数据块中的数据转移到其他数据块中。
在根据本发明的一个实施例中,上电过程中对每个数据块的样本(page)进行巡检,巡检过程为:读取对应样本page的数据,同时读取对应数据块的PE值和RDD值;根据返回结果来判断存储于存储颗粒中的数据状态是否需要做相应处理,判断依据是:根据表1和读取的PE值和RDD值判断错误比特数是否超过相对应的阈值。其中阈值的选取与数据块的PE值以及RDD值强相关。如果错误比特数>阈值,则需要提前做处理,如果不处理则会引起上电后的数据不可纠正错误,其中可以选择将数据搬移走。
本发明所提到的方法利用retention的影响实际上的表象是纠错过程中的错误比特数的上升,从而将掉电retention的测量问题直接转换为错误比特数的直接体现。并且在阈值选取的过程中充分考虑数据块的老化情况,根据数据块的PE值和RDD值的不同选取不同的阈值。随着数据块PE值和RDD值的增长,阈值会有递增现象。如果纠错后的错误比特数超过阈值,则说明数据块的retention时间累计以及快要到达不可救的临界点,需要出发数据搬移将数据搬到其它数据块上。
在技术上可行的情况下,以上针对不同实施例所列举的技术特征可以相互组合,或者改变、添加以及省略等等,从而形成本发明范围内的另外实施例。
从上述实施例可以看出,本发明实施例提供的一种判断固态硬盘中存储数据状态的方法能够在系统没有引入UTC时间、无法精确统计掉电时间的前提下,通过在上电过程中统计每个数据块内数据读取过程中的纠错情况,直接将retention对存储数据的影响转换为纠错结果中的错误比特数,从而能够预防由于忽略off-line retention引起的数据丢失,减小系统的纠错开销,增加系统的稳定性,增强系统的健壮性。
基于上述目的,本发明实施例的另一个方面,提出了一种判断固态硬盘中存储数据状态的装置,包括:
至少一个处理器;和
存储器,所述存储器存储有处理器可运行的程序代码,所述程序代码在被处理器运行时实施以下步骤:
在不同的擦写操作次数和读操作次数下执行老化操作以获得SSD数据块中出现不可纠错误时的错误比特数阈值,并将所述擦写操作次数和读操作次数与其相对应的阈值生成对应关系表;
上电巡检过程中读取数据块中的错误比特数与所述数据块的擦写操作次数和读操作次数,通过所述对应关系表判断所述数据块的错误比特数是否超过所述擦写操作次数和读操作次数对应的阈值,以确定存储数据状态。
在一些实施例中,在不同的擦写操作次数和读操作次数下执行老化操作以获得SSD数据块中出现不可纠错误时的错误比特数阈值,并将所述擦写操作次数和读操作次数与其相对应的阈值生成对应关系表包括:向多个存储块中写入数据,执行预定擦写操作次数和读操作次数,并在对所述多个存储块执行多个不同时长的掉电操作后上电。
在一些实施例中,在不同的擦写操作次数和读操作次数下执行老化操作以获得SSD数据块中出现不可纠错误时的错误比特数阈值,并将所述擦写操作次数和读操作次数与其相对应的阈值生成对应关系表还包括:读取所述多个存储块中的数据,对比由于错误比特数过多而出现不可纠错误的数据块和没有出现不可纠错误的数据块,以总结出所述擦写操作次数和读操作次数下出现不可纠错误的错误比特数阈值。
在一些实施例中,在不同的擦写操作次数和读操作次数下执行老化操作以获得SSD数据块中出现不可纠错误时的错误比特数阈值,并将所述擦写操作次数和读操作次数与其相对应的阈值生成对应关系表还包括:将所述擦写操作次数和所述读操作次数的取值均在多个范围内进行变化,并在每个范围内取值时执行老化操作,以在不同的预定擦写操作次数和读操作次数下总结出数据块出现不可纠错误的错误比特数阈值,并将所有所述擦写操作次数和读操作次数的取值范围与其相对应的阈值生成对应关系表。
在一些实施例中,所述步骤还包括:响应于所述数据块中的错误比特数超过阈值而将所述数据块中的数据转移到其他数据块中。
如图2所示,为本发明提供的判断固态硬盘中存储数据状态的装置的一个实施例的硬件结构示意图。
以如图2所示的计算机设备为例,在该计算机设备中包括处理器201以及存储器202,并还可以包括:输入装置203和输出装置204。
处理器201、存储器202、输入装置203和输出装置204可以通过总线或者其他方式连接,图2中以通过总线连接为例。
存储器202作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本申请实施例中的所述判断固态硬盘中存储数据状态的方法对应的程序指令/模块。处理器201通过运行存储在存储器202中的非易失性软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例的判断固态硬盘中存储数据状态的方法。
存储器202可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据判断固态硬盘中存储数据状态的方法所创建的数据等。此外,存储器202可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器202可选包括相对于处理器201远程设置的存储器,这些远程存储器可以通过网络连接至本地模块。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置203可接收输入的数字或字符信息,以及产生与判断固态硬盘中存储数据状态的方法的计算机设备的用户设置以及功能控制有关的键信号输入。输出装置204可包括显示屏等显示设备。
所述一个或者多个判断固态硬盘中存储数据状态的方法对应的程序指令/模块存储在所述存储器202中,当被所述处理器201执行时,执行上述任意方法实施例中的判断固态硬盘中存储数据状态的方法。
所述执行所述判断固态硬盘中存储数据状态的方法的计算机设备的任何一个实施例,可以达到与之对应的前述任意方法实施例相同或者相类似的效果。
最后需要说明的是,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关硬件来完成,所述的程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(ROM)或随机存储记忆体(RAM)等。
此外,典型地,本发明实施例公开所述的装置、设备等可为各种电子终端设备,例如手机、个人数字助理(PDA)、平板电脑(PAD)、智能电视等,也可以是大型终端设备,如服务器等,因此本发明实施例公开的保护范围不应限定为某种特定类型的装置、设备。本发明实施例公开所述的客户端可以是以电子硬件、计算机软件或两者的组合形式应用于上述任意一种电子终端设备中。
此外,根据本发明实施例公开的方法还可以被实现为由CPU执行的计算机程序,该计算机程序可以存储在计算机可读存储介质中。在该计算机程序被CPU执行时,执行本发明实施例公开的方法中限定的上述功能。
此外,上述方法步骤以及系统单元也可以利用控制器以及用于存储使得控制器实现上述步骤或单元功能的计算机程序的计算机可读存储介质实现。
此外,应该明白的是,本文所述的计算机可读存储介质(例如,存储器)可以是易失性存储器或非易失性存储器,或者可以包括易失性存储器和非易失性存储器两者。作为例子而非限制性的,非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦写可编程ROM(EEPROM)或快闪存储器。易失性存储器可以包括随机存取存储器(RAM),该RAM可以充当外部高速缓存存储器。作为例子而非限制性的,RAM可以以多种形式获得,比如同步RAM(DRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据速率SDRAM(DDR SDRAM)、增强SDRAM(ESDRAM)、同步链路DRAM(SLDRAM)、以及直接Rambus RAM(DRRAM)。所公开的方面的存储设备意在包括但不限于这些和其它合适类型的存储器。
本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。为了清楚地说明硬件和软件的这种可互换性,已经就各种示意性组件、方块、模块、电路和步骤的功能对其进行了一般性的描述。这种功能是被实现为软件还是被实现为硬件取决于具体应用以及施加给整个系统的设计约束。本领域技术人员可以针对每种具体应用以各种方式来实现所述的功能,但是这种实现决定不应被解释为导致脱离本发明实施例公开的范围。
结合这里的公开所描述的各种示例性逻辑块、模块和电路可以利用被设计成用于执行这里所述功能的下列部件来实现或执行:通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑器件、分立门或晶体管逻辑、分立的硬件组件或者这些部件的任何组合。通用处理器可以是微处理器,但是可替换地,处理器可以是任何传统处理器、控制器、微控制器或状态机。处理器也可以被实现为计算设备的组合,例如,DSP和微处理器的组合、多个微处理器、一个或多个微处理器结合DSP和/或任何其它这种配置。
结合这里的公开所描述的方法或算法的步骤可以直接包含在硬件中、由处理器执行的软件模块中或这两者的组合中。软件模块可以驻留在RAM存储器、快闪存储器、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移动盘、CD-ROM、或本领域已知的任何其它形式的存储介质中。示例性的存储介质被耦合到处理器,使得处理器能够从该存储介质中读取信息或向该存储介质写入信息。在一个替换方案中,所述存储介质可以与处理器集成在一起。处理器和存储介质可以驻留在ASIC中。ASIC可以驻留在用户终端中。在一个替换方案中,处理器和存储介质可以作为分立组件驻留在用户终端中。
在一个或多个示例性设计中,所述功能可以在硬件、软件、固件或其任意组合中实现。如果在软件中实现,则可以将所述功能作为一个或多个指令或代码存储在计算机可读介质上或通过计算机可读介质来传送。计算机可读介质包括计算机存储介质和通信介质,该通信介质包括有助于将计算机程序从一个位置传送到另一个位置的任何介质。存储介质可以是能够被通用或专用计算机访问的任何可用介质。作为例子而非限制性的,该计算机可读介质可以包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储设备、磁盘存储设备或其它磁性存储设备,或者是可以用于携带或存储形式为指令或数据结构的所需程序代码并且能够被通用或专用计算机或者通用或专用处理器访问的任何其它介质。此外,任何连接都可以适当地称为计算机可读介质。例如,如果使用同轴线缆、光纤线缆、双绞线、数字用户线路(DSL)或诸如红外线、无线电和微波的无线技术来从网站、服务器或其它远程源发送软件,则上述同轴线缆、光纤线缆、双绞线、DSL或诸如红外线、无线电和微波的无线技术均包括在介质的定义。如这里所使用的,磁盘和光盘包括压缩盘(CD)、激光盘、光盘、数字多功能盘(DVD)、软盘、蓝光盘,其中磁盘通常磁性地再现数据,而光盘利用激光光学地再现数据。上述内容的组合也应当包括在计算机可读介质的范围内。
应当理解的是,在本文中使用的,除非上下文清楚地支持例外情况,单数形式“一个”旨在也包括复数形式。还应当理解的是,在本文中使用的“和/或”是指包括一个或者一个以上相关联地列出的项目的任意和所有可能组合。
上述本发明实施例公开实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器、磁盘或光盘等。
上述实施例是实施方式的可能示例,并且仅仅为了清楚理解本发明的原理而提出。所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本发明实施例公开的范围(包括权利要求)被限于这些例子;在本发明实施例的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上所述的本发明实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。
Claims (10)
1.一种判断固态硬盘中存储数据状态的方法,其特征在于,包括以下步骤:
在不同的擦写操作次数和读操作次数下执行老化操作,以获得SSD数据块中出现不可纠错误时的错误比特数阈值,并将所述擦写操作次数和读操作次数与其相对应的阈值生成对应关系表;
上电巡检过程中读取数据块中的错误比特数与所述数据块的擦写操作次数和读操作次数,通过所述对应关系表判断所述数据块的所述错误比特数是否超过所述擦写操作次数和读操作次数对应的阈值,以确定存储数据状态。
2.根据权利要求1所述的方法,其特征在于,在不同的擦写操作次数和读操作次数下执行老化操作以获得SSD数据块中出现不可纠错误时的错误比特数阈值,并将所述擦写操作次数和读操作次数与其相对应的阈值生成对应关系表包括:
向多个存储块中写入数据,执行预定擦写操作次数和读操作次数,并在对所述多个存储块执行多个不同时长的掉电操作后上电。
3.根据权利要求2所述的方法,其特征在于,在不同的擦写操作次数和读操作次数下执行老化操作以获得SSD数据块中出现不可纠错误时的错误比特数阈值,并将所述擦写操作次数和读操作次数与其相对应的阈值生成对应关系表还包括:
读取所述多个存储块中的数据,对比由于错误比特数过多而出现不可纠错误的数据块和没有出现不可纠错误的数据块,以总结出所述擦写操作次数和读操作次数下出现不可纠错误的错误比特数阈值。
4.根据权利要求3所述的方法,其特征在于,在不同的擦写操作次数和读操作次数下执行老化操作以获得SSD数据块中出现不可纠错误时的错误比特数阈值,并将所述擦写操作次数和读操作次数与其相对应的阈值生成对应关系表还包括:
将所述擦写操作次数和所述读操作次数的取值均在多个范围内进行变化,并在每个范围内取值时执行老化操作,以在不同的预定擦写操作次数和读操作次数下总结出数据块出现不可纠错误的错误比特数阈值,并将所有所述擦写操作次数和读操作次数的取值范围与其相对应的阈值生成对应关系表。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:响应于所述数据块中的错误比特数超过阈值而将所述数据块中的数据转移到其他数据块中。
6.一种判断固态硬盘中存储数据状态的装置,其特征在于,包括:
至少一个处理器;和
存储器,所述存储器存储有处理器可运行的程序代码,所述程序代码在被处理器运行时实施以下步骤:
在不同的擦写操作次数和读操作次数下执行老化操作以获得SSD数据块中出现不可纠错误时的错误比特数阈值,并将所述擦写操作次数和读操作次数与其相对应的阈值生成对应关系表;
上电巡检过程中读取数据块中的错误比特数与所述数据块的擦写操作次数和读操作次数,通过所述对应关系表判断所述数据块的所述错误比特数是否超过所述擦写操作次数和读操作次数对应的阈值,以确定存储数据状态。
7.根据权利要求6所述的装置,其特征在于,在不同的擦写操作次数和读操作次数下执行老化操作以获得SSD数据块中出现不可纠错误时的错误比特数阈值,并将所述擦写操作次数和读操作次数与其相对应的阈值生成对应关系表包括:
向多个存储块中写入数据,执行预定擦写操作次数和读操作次数,并在对所述多个存储块执行多个不同时长的掉电操作后上电。
8.根据权利要求7所述的装置,其特征在于,在不同的擦写操作次数和读操作次数下执行老化操作以获得SSD数据块中出现不可纠错误时的错误比特数阈值,并将所述擦写操作次数和读操作次数与其相对应的阈值生成对应关系表还包括:
读取所述多个存储块中的数据,对比由于错误比特数过多而出现不可纠错误的数据块和没有出现不可纠错误的数据块,以总结出所述擦写操作次数和读操作次数下出现不可纠错误的错误比特数阈值。
9.根据权利要求8所述的装置,其特征在于,在不同的擦写操作次数和读操作次数下执行老化操作以获得SSD数据块中出现不可纠错误时的错误比特数阈值,并将所述擦写操作次数和读操作次数与其相对应的阈值生成对应关系表还包括:
将所述擦写操作次数和所述读操作次数的取值均在多个范围内进行变化,并在每个范围内取值时执行老化操作,以在不同的预定擦写操作次数和读操作次数下总结出数据块出现不可纠错误的错误比特数阈值,并将所有所述擦写操作次数和读操作次数的取值范围与其相对应的阈值生成对应关系表。
10.根据权利要求6所述的装置,其特征在于,所述步骤还包括:响应于所述数据块中的错误比特数超过阈值而将所述数据块中的数据转移到其他数据块中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911044069.3A CN110825556B (zh) | 2019-10-30 | 2019-10-30 | 一种判断固态硬盘中存储数据状态的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911044069.3A CN110825556B (zh) | 2019-10-30 | 2019-10-30 | 一种判断固态硬盘中存储数据状态的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110825556A true CN110825556A (zh) | 2020-02-21 |
CN110825556B CN110825556B (zh) | 2023-01-06 |
Family
ID=69551219
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911044069.3A Active CN110825556B (zh) | 2019-10-30 | 2019-10-30 | 一种判断固态硬盘中存储数据状态的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110825556B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112527203A (zh) * | 2020-12-14 | 2021-03-19 | 深圳市硅格半导体有限公司 | 闪存存储器的数据重写方法、系统、终端设备及存储介质 |
CN113791741A (zh) * | 2021-11-17 | 2021-12-14 | 苏州浪潮智能科技有限公司 | 固态硬盘的数据巡检方法、装置、计算机设备及存储介质 |
CN116302633A (zh) * | 2023-01-18 | 2023-06-23 | 北京得瑞领新科技有限公司 | 闪存存储器的逻辑单元失效管理方法、装置、介质及设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180300086A1 (en) * | 2017-04-17 | 2018-10-18 | EMC IP Holding Company | Method and manager for managing storage system |
CN109558269A (zh) * | 2018-12-05 | 2019-04-02 | 郑州云海信息技术有限公司 | 一种固态硬盘状态的检测方法、装置和介质 |
CN110018795A (zh) * | 2019-04-11 | 2019-07-16 | 苏州浪潮智能科技有限公司 | 一种block状态的检测方法、装置、设备及存储介质 |
-
2019
- 2019-10-30 CN CN201911044069.3A patent/CN110825556B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180300086A1 (en) * | 2017-04-17 | 2018-10-18 | EMC IP Holding Company | Method and manager for managing storage system |
CN109558269A (zh) * | 2018-12-05 | 2019-04-02 | 郑州云海信息技术有限公司 | 一种固态硬盘状态的检测方法、装置和介质 |
CN110018795A (zh) * | 2019-04-11 | 2019-07-16 | 苏州浪潮智能科技有限公司 | 一种block状态的检测方法、装置、设备及存储介质 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112527203A (zh) * | 2020-12-14 | 2021-03-19 | 深圳市硅格半导体有限公司 | 闪存存储器的数据重写方法、系统、终端设备及存储介质 |
CN112527203B (zh) * | 2020-12-14 | 2024-04-19 | 深圳市硅格半导体有限公司 | 闪存存储器的数据重写方法、系统、终端设备及存储介质 |
CN113791741A (zh) * | 2021-11-17 | 2021-12-14 | 苏州浪潮智能科技有限公司 | 固态硬盘的数据巡检方法、装置、计算机设备及存储介质 |
CN113791741B (zh) * | 2021-11-17 | 2022-02-22 | 苏州浪潮智能科技有限公司 | 固态硬盘的数据巡检方法、装置、计算机设备及存储介质 |
WO2023087624A1 (zh) * | 2021-11-17 | 2023-05-25 | 苏州浪潮智能科技有限公司 | 固态硬盘的数据巡检方法、装置、计算机设备及存储介质 |
CN116302633A (zh) * | 2023-01-18 | 2023-06-23 | 北京得瑞领新科技有限公司 | 闪存存储器的逻辑单元失效管理方法、装置、介质及设备 |
CN116302633B (zh) * | 2023-01-18 | 2024-04-09 | 北京得瑞领新科技有限公司 | 闪存存储器的逻辑单元失效管理方法、装置、介质及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN110825556B (zh) | 2023-01-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220197740A1 (en) | Error correction in row hammer mitigation and target row refresh | |
CN110825556B (zh) | 一种判断固态硬盘中存储数据状态的方法和装置 | |
TWI447733B (zh) | 計算補償電壓與調整門檻值電壓之方法及記憶體裝置與控制器 | |
US8510636B2 (en) | Dynamic read channel calibration for non-volatile memory devices | |
US9208027B2 (en) | Address error detection | |
US9917601B2 (en) | Adaptive error correction in a memory system | |
US11688467B2 (en) | Defect detection in memories with time-varying bit error rate | |
US10268546B2 (en) | Non-volatile memory devices and controllers | |
KR20160051328A (ko) | 데이터 복구 방법 및 이를 사용한 비휘발성 메모리 시스템 | |
KR20150006616A (ko) | 데이터 처리 시스템 및 그것의 동작 방법 | |
US8738989B2 (en) | Method and apparatus for detecting free page and a method and apparatus for decoding error correction code using the method and apparatus for detecting free page | |
US20220115084A1 (en) | Adapting an error recovery process in a memory sub-system | |
US10942803B2 (en) | Method for performing data processing for error handling in memory device, associated memory device and controller thereof, and associated electronic device | |
KR20230021949A (ko) | 메모리 장치 및 이의 동작 방법 | |
US10025652B2 (en) | Error location pointers for non volatile memory | |
US20170287569A1 (en) | Electronic apparatus and data verification method using the same | |
CN116028253A (zh) | 一种固态硬盘纠错优化方法、系统、设备及介质 | |
US11528038B2 (en) | Content aware decoding using shared data statistics | |
US9953722B2 (en) | Methods of system optimization by over-sampling read | |
US10922025B2 (en) | Nonvolatile memory bad row management | |
US20200293402A1 (en) | Candidate bit detection and utilization for error correction | |
US11742053B2 (en) | Managing execution of a scrub operation in view of an operating characteristic of a memory subsystem | |
CN114089909B (zh) | 闪存的内存控制器及其控制方法 | |
US20240194282A1 (en) | Flash memory module testing method and associated memory controller and memory device |
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 |