CN107391300B - 一种提高闪存数据存储可靠性的方法及系统 - Google Patents

一种提高闪存数据存储可靠性的方法及系统 Download PDF

Info

Publication number
CN107391300B
CN107391300B CN201710617886.8A CN201710617886A CN107391300B CN 107391300 B CN107391300 B CN 107391300B CN 201710617886 A CN201710617886 A CN 201710617886A CN 107391300 B CN107391300 B CN 107391300B
Authority
CN
China
Prior art keywords
data
error correction
read
data block
module
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
CN201710617886.8A
Other languages
English (en)
Other versions
CN107391300A (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.)
Hunan Goke Microelectronics Co Ltd
Original Assignee
Hunan Goke Microelectronics 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 Hunan Goke Microelectronics Co Ltd filed Critical Hunan Goke Microelectronics Co Ltd
Priority to CN201710617886.8A priority Critical patent/CN107391300B/zh
Publication of CN107391300A publication Critical patent/CN107391300A/zh
Application granted granted Critical
Publication of CN107391300B publication Critical patent/CN107391300B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices

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)
  • Read Only Memory (AREA)

Abstract

本申请公开了一种提高闪存数据存储可靠性的方法及系统,用于固态硬盘,所述方法包括:接收硬件纠错模块发送的第一数据块上的待读取数据,根据软件纠错算法对所述待读取数据进行数据纠错;当所述待读取数据进入预设纠错步骤、且在所述软件纠错模块纠错成功,将所述第一数据块进行标记;判断所述第一数据块被标记的次数是否达到预设阈值;如果所述第一数据块被标记的次数未达到所述预设阈值,将纠错后的所述待读取数据写入第二数据块,以及将除所述待读取数据以外的所述第一数据块上的数据搬移。本申请提供的提高闪存数据存储可靠性的方法及系统,在Nand使用中提高数据存储可靠性,提高了固态硬盘中数据存储可靠性。

Description

一种提高闪存数据存储可靠性的方法及系统
技术领域
本申请涉及数据存储技术领域,尤其涉及一种提高闪存数据存储可靠性的方法及系统。
背景技术
近些年来,随着NAND闪存存储密度的提高和成本的降低,基于大容量NAND闪存的存储设备应用越来越广泛。一个NAND闪存中包括一定数目的block(块),一个块可以进一步分为一定数目的page(页),一个块可以包含32、64、128page或更多,每page中的数据大小可以是512Byte、1Kbyte或2KByte等。NAND闪存有三种基本操作:读、写、擦除,其中“读”和“写”以page为单位,“擦除”以block为单位。基于NAND闪存存储的固态硬盘比基于磁盘的硬盘有很多优点,如较少的功耗、更好的抗物理撞击性和电磁兼容性、更小的物理尺寸、以及更轻的重量。
在一些基于NAND闪存存储的固态硬盘使用测试中发现,当遇到冷数据、异常掉电或读干扰的情况下,存放在NAND闪存中的数据会出现位翻转(bit flip)。所谓位翻转指的是,由于NAND闪存电学特性的局限,在NAND闪存被多次擦写之后,原先NAND闪存中的某个存储位的数据值会发生翻转,即要么从1变成0了,要么从0变成1了。且在TLC(Triple-LevelCell,即3bit/cell,3比特/存储单元)的模式下,存放在NAND闪存的数据更容易发生位翻转。如此,在读数据的时候,待读取数据进入Hard LDPC(Hard Low Density Parity CheckCode,硬件实现的纠错算法)模块(以下简称硬件纠错模块)进行位翻转纠错,若位翻转过多硬件纠错模块无法完成待读取数据的纠错,将会导致读待读取数据进入到soft ldpc(SoftLow Density Parity Check Code,软件实现的纠错算法)模块(以下简称软件纠错模块)。位翻转纠错将会增加读的工作量,降低读性能,当位翻转过多,NAND内部电压会失去最初的均衡度,由于相邻page之间的影响,这种翻转可能会随着时间的推移而扩散影响相邻的page。发生位翻转过多的部分,则发生位翻转的页随着时间的推移,翻转会增多,最终甚至导致NAND闪存block中数据丢失。NAND闪存中的数据发生位翻转严重影响NAND闪存的可靠性。
现有的基于NAND闪存存储的固态硬盘对位翻转只有提前避免,尽量保证固态硬盘的使用过程中稳定性,并没有什么具体的方法进行改善NAND闪存数据存储可靠性,如此将不利于基于NAND闪存存储的固态硬盘的普及使用。
发明内容
本申请提供了一种提高闪存数据存储可靠性的方法及系统,以在Nand使用中提高数据存储可靠性。
第一方面,本申请提供了一种提高闪存数据存储可靠性的方法,用于固态硬盘,所述方法包括:
接收硬件纠错模块发送的第一数据块上的待读取数据,根据软件纠错算法对所述待读取数据进行数据纠错;
当所述待读取数据进入预设纠错步骤、且在所述软件纠错模块纠错成功,将所述第一数据块进行标记;
判断所述第一数据块被标记的次数是否达到预设阈值;
如果所述第一数据块被标记的次数未达到所述预设阈值,将纠错后的待读取数据写入第二数据块,以及将除所述待读取数据以外的所述第一数据块上的数据搬移。
可选的,上述提高闪存数据存储可靠性的方法中,根据软件纠错算法对所述待读取数据进行数据纠错,所述方法还包括:
根据软件纠错模块的纠错能力将软件纠错模块平均划分为N个纠错步骤,将第M个纠错步骤记为预设纠错步骤,其中,N≥3,1<M<N。
可选的,上述提高闪存数据存储可靠性的方法中,将除所述待读取数据以外的所述第一数据块上的数据搬移,具体包括:
将除所述待读取数据以外的所述第一数据块上的数据写入所述第二数据块,擦除所述第一数据块的数据。
可选的,上述提高闪存数据存储可靠性的方法中,所述方法还包括:
当所述待读取数据进入所述第N个纠错步骤、且纠错失败,将所述第一数据块标记为坏块,将完成部分纠错的所述待读取数据以及所述第一数据块除所述待读取数据以外的数据进行搬移。
第二方面,本申请还提供了一种提高闪存数据存储可靠性的系统,所述系统包括:
软件纠错模块,用于接收硬件纠错模块发送的第一数据块上的待读取数据,根据软件纠错算法对所述待读取数据进行数据纠错;
标记模块,用于当所述待读取数据进入预设纠错步骤、且在所述软件纠错模块纠错成功,将所述第一数据块进行标记;
阈值比较模块,判断所述第一数据块被标记的次数是否达到预设阈值;
数据搬移模块,用于当所述第一数据块被标记的次数未达到所述预设阈值,将纠错后的待读取数据写入第二数据块,以及将除所述待读取数据以外的所述第一数据块上的数据搬移。
可选的,上述提高闪存数据存储可靠性的系统中,所述软件纠错模块还包括:
软件纠错子模块,用于根据软件纠错模块的纠错能力将软件纠错模块平均划分为N个纠错步骤,将第M个纠错步骤记为预设纠错步骤,其中,N≥3,1<M<N。
可选的,上述提高闪存数据存储可靠性的系统中,所述数据搬移模块还包括:
第一数据搬移模块,用于将除所述待读取数据以外的所述第一数据块上的数据写入所述第二数据块,擦除所述第一数据块的数据。
可选的,上述提高闪存数据存储可靠性的系统中,所述数据搬移模块还包括:
第二数据搬移模块,用于当所述待读取数据进入所述第N个纠错步骤、且纠错失败,将所述第一数据块标记为坏块,将完成部分纠错的所述待读取数据以及所述第一数据块除所述待读取数据以外的数据进行搬移。
本申请提供的提高闪存数据存储可靠性的方法,读取数据过程中,在待读取数据进入软件纠错的过程中,当待读取数据进入预设纠错步骤、且在软件纠错模块纠错成功,将第一数据块进行标记;当第一数据块被标记次数未达到预设阈值的时候,将纠错后待读取数据写入第二数据块,并将除所述待读取数据以外的所述第一数据块上的数据搬移。能够将出现位翻转的的数据及时更正存储,并将其所在数据块上的其他数据搬移,擦除所在数据块上的数据,可有效防止数据位翻转对数据块数据存储可靠性产生不利的影响,以在Nand使用中提高数据存储可靠性。基于本申请提供的提高闪存数据存储可靠性的方法,本申请提供的提高闪存数据存储可靠性的系统,提高了固态硬盘中数据存储可靠性。
附图说明
为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例中的固态硬盘基本结构示意图;
图2为本申请实施例提供的提高闪存数据存储可靠性的方法的流程图;
图3为本申请实施例提供的提高闪存数据存储可靠性的系统的结构图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置的例子。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其它实施例的不同之处。
在本申请中,固态硬盘包括闪存转换层100、闪存控制器200和NAND300,如附图1所示。闪存转换层100处理物理地址到逻辑地址的映射关系,也负责调度,处理数据内部的搬移更新,同时更新对应表象。闪存控制器200用于对NAND300进行操作,写数据、读数据等,其中闪存控制器200中包括硬件纠错模块201、软件纠错模块202等,用于在数据的写的过程中添加校验码,在读的过程中进行数据纠错。在数据位翻转纠错过程中,待读取的数据先进入硬件纠错模块201,在硬件纠错模块201无法完成纠错时进入软件纠错模块202。硬件纠错模块201,硬件实现的纠错算法,速度快,效率高,纠错能力有限;软件纠错模块202,软件实现的纠错算法,速度相对较慢,效率低,纠错能力比硬件纠错模块更强。
请参考附图2,该图示出了本申请实施例中提供的提高闪存数据存储可靠性的方法的流程图。
本方法包括:
S100:接收硬件纠错模块发送的第一数据块上的待读取数据,根据软件纠错算法对所述待读取数据进行数据纠错。
本申请提供的实施例中,读取数据的过程中,闪存控制器调取NAND中相应的待读取的数据,闪存控制器对待读取的数据进行纠错,若待读取的数据经过硬件纠错模块但未完成纠错,即在硬件纠错模块纠错失败,待读取的数据进入软件纠错模块进一步被纠错。软件纠错模块接收硬件纠错模块发送的第一数据块上的待读取数据,根据软件纠错算法对所述待读取数据进行数据纠错,其中所述第一数据块上是NAND中任意一个数据块,为便于描述以及区分NAND其他数据块,选择使用第一数据块进行描述。例如,接收到的待读取数据为“101 011 110 001”,经过硬件纠错模块纠错后得到“101 011 101 010”,验证校验码,发现待读取数据在硬件纠错模块失败,经过硬件纠错模块待读取数据进入软件纠错模块,进一步进行纠错。
在软件纠错模块完成纠错的待读取数据被传送给数据转换层,继续后续的操作。如果在软件纠错模块纠错失败,待读取数据所在的第一数据块将会被记录下来,将第一数据块上已完成纠错的数据搬移,数据转换层将第一数据块标记为坏块,第一数据块将不再被用于写入数据。
S200:当所述待读取数据进入预设纠错步骤、且在所述软件纠错模块纠错成功,将所述第一数据块进行标记。
本申请实施例中,软件纠错模块根据对待读取数据进行进一步的纠错,当待读取数据进入预设纠错步骤、且在软件纠错模块纠错成功,将第一数据块进行标记。软件纠错模块根据待读取数据的纠错难度,对待读取数据进行一步步的纠错,且软件纠错模块内也存在一级级能力不断攀升的纠错,纠错能力越高对越有难度的待读取数据完成纠错的可能性越大。如上述的待读取数据为“101 011 110 001”,经过软件纠错模块纠错后得到“101 010101 010”,且验证校验码,验证成功,说明软件纠错模块纠错成功。
在本申请中,根据软件纠错模块的能力分布选择出预设纠错步骤,当待读取数据在软件纠错模块完成纠错且经过了预设纠错步骤,即当待读取数据进入预设纠错步骤、且在软件纠错模块纠错成功,将待读取数据所说在的第一数据块进行标记,将第一数据记录下来。如果待读取数据在软件纠错模块完成纠错而没有经过预设纠错步骤,将不会对第一数据块进行上述的操作,结束此流程。
数据块的标记操作可为:申请一块数组变量,每个元素存一个数据块的标记次数,并将这组数据更新到比较可靠的NAND中的nand flash区域,当数据发生更新的时候,要及时写入NAND中,保持缓存中的这些数据跟NAND中是一样的,如果发生掉电,那上电的时候,需要从NAND中读取数据来初始化该数组。
S300:判断所述第一数据块被标记的次数是否达到预设阈值。
设定第一数据块被标记的次数的预设阈值,在读取第一数据块上的数据的时候统计第一数据块被标记的次数,判断第一数据块被标记的次数是否达到预设阈值。预设阈值根据需要可自行选择,如3、4、5或其他。
S400:如果所述第一数据块被标记的次数未达到所述预设阈值,将纠错后的所述待读取数据写入第二数据块,以及将除所述待读取数据以外的所述第一数据块上的数据搬移。
当第一数据块被标记的次数未达到预设阈值,将纠错后的待读取数据写入第二数据块,以及将除待读取数据以外的第一数据块上的数据搬移,第一数据块还将继续被使用,所述的第二数块是指NAND中有区别于第一数据块块的任意数据块。第一数据块上的数据搬移后,第一数据块被标记为脏块或者将其上的数据擦除,即将该块数据标记为无效数据或者数据被清除,第一数块直接被放入空块池。
在第一数据块被标记的次数未达到预设阈值时,将第一数据块上存储的数据及时的搬移,可防止第一数据块上数据出现的位翻转对第一数据块造成更大程度的损害,如NAND磨损,并且将纠错后的待读取数据写入第二数据块,可有效防止产生位翻转的数据造成更大程度的位翻转,致使后续的数据读取过程中无法完成对数据的纠错。防止因为位翻转数据的相互影响致使待读取数据在软件纠错模块无法完成纠错而第一数据块被标记为坏块,影响NAND的使用。
当第一数据块被标记的次数达到预设阈值,将不会执行是上述的操作,待读取数据读取过程中的纠错按照现有技术的流程走,当在软件纠错模块完成纠错,就将数据传递给数据转换层,继续后操作;当在软件纠错模块纠错失败,第一数据块将会被记录下来,将第一数据块上已完成纠错的数据搬移,数据转换层将第一数据块标记为坏块。即第一数据块上存储的数据如果出现预设阈值次数或更多次数的软件纠错进入到预设纠错步骤,第一数据可能出现了NAND磨损,将没有必要继续进行第一数据使用的干预保护。
在本申请具体实施例中,将除所述待读取数据以外的所述第一数据块上的数据搬移,具体为:将除待读取数据以外的第一数据块上的数据写入第二数据块,擦除第一数据块的数据。如此,将提高操作效率。
本申请提供的提高闪存数据存储可靠性的方法,读取数据过程中,在待读取数据进入软件纠错的过程中,当待读取数据进入预设纠错步骤、且在软件纠错模块纠错成功,将第一数据块进行标记;当第一数据块被标记次数未达到预设阈值的时候,将纠错后待读取数据写入第二数据块,并将除所述待读取数据以外的所述第一数据块上的数据搬移。能够将出现位翻转的的数据及时更正存储,并将其所在数据块上的其他数据搬移,擦除所在数据块上的数据,可有效防止数据位翻转对数据块数据存储可靠性产生不利的影响,以在Nand使用中提高数据存储可靠性。
本申请实施例中提供的提高闪存数据存储可靠性的方法中,根据软件纠错算法对所述待读取数据进行数据纠错,还包括根据软件纠错模块的纠错能力将软件纠错模块划分为N个纠错步骤,将第M个纠错步骤记为预设纠错步骤,其中,N为2、3、4或其他,1≤M<N,M可为1、2、3或其他。优选的,根据软件纠错模块的纠错能力将软件纠错模块平均划分为N个纠错步骤,将第M个纠错步骤记为预设纠错步骤,其中,N≥3,1<M<N。
上述根据软件纠错模块的纠错能力将软件纠错模块划分,是根据软件纠错模块的纠错能力的25%、50%、75%和100%将软件纠错模块进行划分。
第一数据块上的待读取数据在上一纠错步骤中完成纠错将不会进入到下一纠错步骤,且在完成纠错后,将纠错后的待读取数据传送给数据转换层,继续后续操作,若在第N个等级纠错失败,则进行待读取数据所在的第一数据块将会被记录下来,将第一数据块上已完成纠错的数据搬移,数据转换层将第一数据块标记为坏块。
可选的,在当待读取数据进入所述第N个纠错步骤、且纠错失败,将第一数据块标记为坏块,将完成部分纠错的待读取数据以及第一数据块除待读取数据以外的数据进行搬移。将完成部分纠错的待读取数据以及第一数据块除待读取数据以外的数据重新写入一个空白数据块。
基于上述实施例提供的提高闪存数据存储可靠性的方法,本申请还提供了一种提高闪存数据存储可靠性的系统,所述系统结构参照附图3,该图示出了本申请实施例提供的提高闪存数据存储可靠性的系统的基本结构。
提高闪存数据存储可靠性的系统包括:
软件纠错模块202,用于接收硬件纠错模块201发送的第一数据块上的待读取数据,根据软件纠错算法对所述待读取数据进行数据纠错;
标记模块203,用于当所述待读取数据进入预设纠错步骤、且在所述软件纠错模块202纠错成功,将所述第一数据块进行标记;
阈值比较模块204,判断所述第一数据块被标记的次数是否达到预设阈值;
数据搬移模块205,用于当所述第一数据块被标记的次数未达到所述预设阈值,将纠错后的待读取数据写入第二数据块,以及将除所述待读取数据以外的所述第一数据块上的数据搬移。
可选的,上述软件纠错模块202还包括:软件纠错子模块2021,用于根据软件纠错模块202的纠错能力将软件纠错模块平均划分为N个纠错步骤,将第M个纠错步骤记为预设纠错步骤,其中,N≥3,1<M<N。
可选的,上述数据搬移模块205还包括:第一数据搬移模块2051,用于将除所述待读取数据以外的所述第一数据块上的数据写入所述第二数据块,擦除所述第一数据块的数据。
可选的,上述数据搬移模块205还包括:第二数据搬移模块2052,用于当所述待读取数据进入所述第N个纠错步骤、且纠错失败,将所述第一数据块标记为坏块,将完成部分纠错的所述待读取数据以及所述第一数据块除所述待读取数据以外的数据进行搬移。
本申请提供的提高闪存数据存储可靠性的系统,基于本申请提供的提高闪存数据存储可靠性的方法,提高了固态硬盘中数据存储可靠性,有关于细节以及有益效果参见上述提高闪存数据存储可靠性的方法的说明,在此不再赘述。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
以上仅是本发明的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (8)

1.一种提高闪存数据存储可靠性的方法,用于固态硬盘,其特征在于,所述方法包括:
软件纠错模块接收硬件纠错模块发送的第一数据块上的待读取数据,根据软件纠错算法对所述待读取数据进行数据纠错;
当所述待读取数据进入预设纠错步骤、且在所述软件纠错模块纠错成功,将所述第一数据块进行标记;
判断所述第一数据块被标记的次数是否达到预设阈值;
如果所述第一数据块被标记的次数未达到所述预设阈值,将纠错后的所述待读取数据写入第二数据块,以及将除所述待读取数据以外的所述第一数据块上的数据搬移。
2.如权利要求1所述的提高闪存数据存储可靠性的方法,其特征在于,根据软件纠错算法对所述待读取数据进行数据纠错,所述方法还包括:
根据所述软件纠错模块的纠错能力将所述软件纠错模块平均划分为N个纠错步骤,将第M个纠错步骤记为预设纠错步骤,其中,N≥3,1<M<N。
3.如权利要求1所述的提高闪存数据存储可靠性的方法,其特征在于,将除所述待读取数据以外的所述第一数据块上的数据搬移,具体包括:
将除所述待读取数据以外的所述第一数据块上的数据写入所述第二数据块,擦除所述第一数据块的数据。
4.如权利要求2所述的提高闪存数据存储可靠性的方法,其特征在于,所述方法还包括:
当所述待读取数据进入所述第N个纠错步骤、且纠错失败,将所述第一数据块标记为坏块,将完成部分纠错的所述待读取数据以及所述第一数据块除所述待读取数据以外的数据进行搬移。
5.一种提高闪存数据存储可靠性的系统,其特征在于,所述系统包括:
软件纠错模块,用于接收硬件纠错模块发送的第一数据块上的待读取数据,根据软件纠错算法对所述待读取数据进行数据纠错;
标记模块,用于当所述待读取数据进入预设纠错步骤、且在所述软件纠错模块纠错成功,将所述第一数据块进行标记;
阈值比较模块,判断所述第一数据块被标记的次数是否达到预设阈值;
数据搬移模块,用于当所述第一数据块被标记的次数未达到所述预设阈值,将纠错后的待读取数据写入第二数据块,以及将除所述待读取数据以外的所述第一数据块上的数据搬移。
6.如权利要求5所述的提高闪存数据存储可靠性的系统,其特征在于,所述软件纠错模块还包括:
软件纠错子模块,用于根据软件纠错模块的纠错能力将软件纠错模块平均划分为N个纠错步骤,将第M个纠错步骤记为预设纠错步骤,其中,N≥3,1<M<N。
7.如权利要求5所述的提高闪存数据存储可靠性的系统,其特征在于,所述数据搬移模块还包括:
第一数据搬移模块,用于将除所述待读取数据以外的所述第一数据块上的数据写入所述第二数据块,擦除所述第一数据块的数据。
8.如权利要求6所述的提高闪存数据存储可靠性的系统,其特征在于,所述数据搬移模块还包括:
第二数据搬移模块,用于当所述待读取数据进入所述第N个纠错步骤、且纠错失败,将所述第一数据块标记为坏块,将完成部分纠错的所述待读取数据以及所述第一数据块除所述待读取数据以外的数据进行搬移。
CN201710617886.8A 2017-07-26 2017-07-26 一种提高闪存数据存储可靠性的方法及系统 Active CN107391300B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710617886.8A CN107391300B (zh) 2017-07-26 2017-07-26 一种提高闪存数据存储可靠性的方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710617886.8A CN107391300B (zh) 2017-07-26 2017-07-26 一种提高闪存数据存储可靠性的方法及系统

Publications (2)

Publication Number Publication Date
CN107391300A CN107391300A (zh) 2017-11-24
CN107391300B true CN107391300B (zh) 2020-07-14

Family

ID=60341585

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710617886.8A Active CN107391300B (zh) 2017-07-26 2017-07-26 一种提高闪存数据存储可靠性的方法及系统

Country Status (1)

Country Link
CN (1) CN107391300B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108595288A (zh) * 2018-02-06 2018-09-28 江苏华存电子科技有限公司 一种闪存资讯纠错方法
CN108762670B (zh) * 2018-05-22 2021-06-29 郑州云海信息技术有限公司 一种ssd固件中数据块的管理方法、系统及装置
CN108806760A (zh) 2018-06-01 2018-11-13 晶晨半导体(上海)股份有限公司 一种闪存的系统级测试方法
CN109032524A (zh) * 2018-07-26 2018-12-18 浪潮电子信息产业股份有限公司 一种坏块标记的方法以及相关装置
CN109542667B (zh) * 2018-10-26 2023-03-24 珠海妙存科技有限公司 一种提高nand闪存数据可靠性的方法及装置
CN111324283B (zh) * 2018-12-14 2024-02-20 兆易创新科技集团股份有限公司 一种存储器
CN114930299A (zh) * 2020-03-31 2022-08-19 华为技术有限公司 一种管理数据存储阵列的方法、装置及存储介质
CN113946469B (zh) * 2021-10-29 2024-05-24 苏州浪潮智能科技有限公司 一种固态硬盘的数据纠错处理方法及装置
CN118244999B (zh) * 2024-05-29 2024-09-20 苏州元脑智能科技有限公司 一种固态硬盘读方法、程序产品、设备及介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101826368A (zh) * 2009-04-08 2010-09-08 深圳市朗科科技股份有限公司 数据扫描方法和扫描装置
CN102073563A (zh) * 2011-02-23 2011-05-25 深圳市江波龙电子有限公司 闪存设备、闪存设备中存储块的管理方法及系统
CN104091617A (zh) * 2014-06-17 2014-10-08 深圳市江波龙电子有限公司 一种闪存存储设备检测的方法及装置
CN105427886A (zh) * 2015-12-01 2016-03-23 清华大学 NAND Flash存储系统保存期间数据分步加重方法
CN106776109A (zh) * 2016-12-26 2017-05-31 湖南国科微电子股份有限公司 固态硬盘读错误检测装置及读不可纠错误原因的检测方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013044005A1 (en) * 2011-09-22 2013-03-28 Violin Memory, Inc. System and method for correcting errors in data using a compound code

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101826368A (zh) * 2009-04-08 2010-09-08 深圳市朗科科技股份有限公司 数据扫描方法和扫描装置
CN102073563A (zh) * 2011-02-23 2011-05-25 深圳市江波龙电子有限公司 闪存设备、闪存设备中存储块的管理方法及系统
CN104091617A (zh) * 2014-06-17 2014-10-08 深圳市江波龙电子有限公司 一种闪存存储设备检测的方法及装置
CN105427886A (zh) * 2015-12-01 2016-03-23 清华大学 NAND Flash存储系统保存期间数据分步加重方法
CN106776109A (zh) * 2016-12-26 2017-05-31 湖南国科微电子股份有限公司 固态硬盘读错误检测装置及读不可纠错误原因的检测方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于QC_LDPC码的空间CCD图像NAND闪存存储纠错;李进等;《光电子 激光》;20140831;第1-8页 *

Also Published As

Publication number Publication date
CN107391300A (zh) 2017-11-24

Similar Documents

Publication Publication Date Title
CN107391300B (zh) 一种提高闪存数据存储可靠性的方法及系统
US10540289B2 (en) Data storage device and flash memory control method
US9229644B2 (en) Targeted copy of data relocation
KR100850515B1 (ko) 멀티레벨 셀 플래시 메모리를 갖는 메모리 시스템 및그것의 프로그램 방법
US9146854B2 (en) Restoring storage devices based on flash memories and related circuit, system, and method
CN109582216B (zh) 数据储存装置与存储器装置的数据处理方法
CN110471788A (zh) 异步功率损耗影响的数据结构
CN108595345B (zh) 管理闪存中所储存的数据的方法及相关记忆装置与控制器
KR100823170B1 (ko) 배드 블록을 싱글 레벨 셀 모드로 사용하는 메모리 시스템및 메모리 카드
US8694748B2 (en) Data merging method for non-volatile memory module, and memory controller and memory storage device using the same
US11314425B2 (en) Read error recovery
US9384839B2 (en) Write sequence providing write abort protection
TW201919049A (zh) 記憶體管理方法以及儲存控制器
CN113053441A (zh) 存储装置和存储装置的操作方法
CN104765695A (zh) 一种nand flash坏块管理系统及方法
CN109815160A (zh) 最后写入页搜索
US20170103815A1 (en) Data Storage Device and Data Maintenance Method
US20130346674A1 (en) Data writing method, memory controller and memory storage device
CN112347001B (zh) 闪存垃圾回收的校验方法、装置及电子设备
CN114792546A (zh) 存储器装置的基于深度学习的编程验证建模和电压估计
US11113201B2 (en) Flash memory controller, method and associated electronic device for managing priority of quality detection or garbage collection of block
CN110389716B (zh) 数据存储装置及应用其的预防数据错误方法
CN114765047A (zh) 非易失性存储器装置中的软读取阈值估计的高斯建模
CN116185563B (zh) 一种基于车规级微控制器数据闪存的软件模拟算法
US20160364141A1 (en) Memory management method, memory control circuit unit, and memory storage apparatus

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