CN106776109B - 固态硬盘读错误检测装置及读不可纠错误原因的检测方法 - Google Patents

固态硬盘读错误检测装置及读不可纠错误原因的检测方法 Download PDF

Info

Publication number
CN106776109B
CN106776109B CN201611216693.3A CN201611216693A CN106776109B CN 106776109 B CN106776109 B CN 106776109B CN 201611216693 A CN201611216693 A CN 201611216693A CN 106776109 B CN106776109 B CN 106776109B
Authority
CN
China
Prior art keywords
block
read
data
reading
error
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
CN201611216693.3A
Other languages
English (en)
Other versions
CN106776109A (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 CN201611216693.3A priority Critical patent/CN106776109B/zh
Publication of CN106776109A publication Critical patent/CN106776109A/zh
Application granted granted Critical
Publication of CN106776109B publication Critical patent/CN106776109B/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
    • G06F11/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Read Only Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明公开了一种固态硬盘读错误检测装置及不可纠读错误原因的检测方法,根据导致不可纠读错误的不同原因选择不同的处理策略,从而保证了Flash Page的使用寿命最大化、进而提高SSD的使用寿命。

Description

固态硬盘读错误检测装置及读不可纠错误原因的检测方法
技术领域
本发明涉及SSD固态硬盘检测,特别是一种固态硬盘、读错误检测装置及读不可纠错误原因的检测方法。
背景技术
首先介绍与NAND Flash读数据错误相关的两个基本特性:
1)Data Retention:数据保持,NAND Flash上的数据是由保存在每个存储单元的浮动栅极中的电子数决定的,但是浮动栅极中的电子会发生逃逸;时间越长、温度越高、块的擦除次数越大,从浮动栅极中逃逸的电子数就越多,NAND Flash数据保持能力越弱,最终导致数据错误;
2)Read Disturb:读干扰,由于NAND Flash Block的物理结构,在对Block内某一Flash Page进行读取时,需要对其他Flash Page施加正向导通电压;虽然导通电压小于编程电压,但仍然会使少量电子进入浮动栅极,导致这些未被读取的Flash Page中的电子数增多;读取次数越多,未被读取的Flash Page中增加的电子数越多,最终导致数据错误。
由于NAND Flash的数据错误是不可避免的,因此SSD都有纠错模块用于纠正从NAND Flash所读取数据中的错误;但是纠错算法的纠错能力是有限的,当数据中的错误超过纠错算法极限时,错误将不可恢复(UNC, Uncorrectable Error)。在目前主流的采用MLC或TLC NAND Flash的SSD中,纠错算法都采用LDPC,并支持多个纠错等级:纠错等级越低,校验数据越少、可纠错误越少;纠错等级越高,冗余数据越多、可纠错误越多。在具体实现时,随着NAND Flash的磨损加重(擦除次数越大),采用的纠错等级越高。
目前市面上的SSD主控在发生读Flash Page 不可纠错误时,直接将Flash Page标记为坏页,在此后读写业务中不再使用该Page。但是该Flash Page并不是物理上的损坏,而是Flash本身特性导致。因此,直接将发生读不可纠错误的Flash Page标为坏页将导致本身可用的Flash Page不再使用,从而导致SSD容量减小、寿命缩短。
本发明中用到的缩写解释如下:
SSD:Solid State Drive,固态硬盘;
SSD Controller:SSD主控,用于接收、调度、执行主机命令,管理主机逻辑地址到NAND Flash物理地址映射,完成垃圾回收、巡检、磨损均衡等NAND Flash管理算法和擦失败、编程失败等NAND Flash异常处理等功能;
NAND Flash:SSD的存储介质,由多个block组成,每个block包含一定数量的page,必须以block为单位进行擦除操作,以page为单位进行编程、读取操作,在进行编程前必须先擦除;根据一个存储单元所存储的bit数不同,NAND Flash分为SLC(Single Level Cell,一个单元存储一个bit)、MLC(Multi Level Cell,一个单元存储两个bit)、TLC(TripleLevel Cell,一个单元存储三个bit)。
Read Disturb:读干扰,NAND Flash的基本特性之一,在读取Flash Page时由于对同一block内其他Flash Page施加了导通电压而导致少量电子进入存储单元的浮动栅极,在读取次数达到一定数量后造成Flash Page存储数据错误;
Data Retention:数据保持,NAND Flash基本特性之一,存储在NAND Flash存储单元浮动栅极中的电子逃逸导致其中存储电子减少,时间越长、温度越高、颗粒磨损越严重,电子逃逸越快,NAND Flash数据保持能力越弱,最终导致Flash Page存储数据错误;
LDPC:Low Density Parity Check,低密度奇偶校验编码,一种常用的数据编码及纠错算法。
发明内容
本发明所要解决的技术问题是,针对现有技术不足,提供一种固态硬盘、读错误检测装置及读不可纠错误原因的检测方法。
为解决上述技术问题,本发明所采用的技术方案是:一种固态硬盘,包括SSD控制器、多个与所述SSD控制器双向通信的NAND Flash;其特征在于,所述SSD控制器包括:
LDPC Encoder:用于在向NAND Flash写数据时,CPU控制其按照指定的纠错级别对写入数据进行编码、加入校验数据;
LDPC Decoder:用于在从NAND Flash读数据时,对读数据进行解码、去除校验数据并纠正读数据中的错误bit,同时向CPU报告本次纠错的迭代次数和比特翻转数;如果发生不可纠读错误时,向CPU报告UNC错误;
Soft Read Offset模块:用于当LDPC Decoder向CPU报告UNC错误后,CPU通过调整读参考电压从NAND Flash读取原始数据并转化为在相应参考电压下的概率信息,然后再经过LDPC Decoder进行软解码纠错;如果UNC错误仍然不可纠,继续调整读参考电压再进行原始数据读取、转化和LDPC软解码纠错,直到达到最大软解码纠错次数为止(LDPC解码分为硬解码和软解码,硬解码即直接对从NAND Flash中读出的数据进行解码纠错,软解码即在调整读NAND Flash时的参考电压后再读取数据,并将所读取的数据转化为该数据是否正确的概率信息,然后再将概率信息和所读出的数据交由LDPC进行软解码纠错;软解码的纠错能力高于硬解码,因此一般硬解码纠错失败后再进行软解码,而软解码所需要的数据概率信息则依赖soft read offset调整NAND Flash读参考电压、读取数据);
读干扰管理模块:用于以Flash Block为单位统计每个Block的读取次数与数据错误信息,确定是否是读干扰导致读UNC错误,且在Block被回收擦除完成后清零;
Flash Block最优读参考电压自适应跟踪模块:用于在每个Flash Block擦写次数每增加一定值后则对该Flash Block步进调整读参考电压,成对地读取Flash Block内每一存储单元行线上的各个Flash Page(对MLC为Lower Page,对TLC为Lower Page、MiddlePage、Upper Page)、并根据阈值电压的分布确定出Block最优读参考电压,当发生不可纠读错误时、数据保持(Data Retention)检测模块即可根据Block的当前最优读参考电压与自适应跟踪的最优读参考电压差值确定不可纠读错误是否由Flash数据保持特性导致;
Flash Block状态管理模块:用于记录每个Flash Block的擦写次数(ProgramErase Count)、当前使用的LDPC纠错级别和最优读参考电压,记录Flash Block是否为坏块。
对应上述固态硬盘,本发明还提供了一种NAND Flash读错误检测装置,包括主机和上述SSD固态硬盘;所述主机用于向所述SSD控制器下发读、写等数据命令。
相应的,利用上述检测装置检测读UNC错误原因的方法包括:
读干扰检查:如果检测到不可纠读错误(Uncorrectable Read Error)为读干扰导致,则回收这个发生读不可纠错误的Flash Block内数据、擦除该block并用于新的数据读写,检测结束;
数据保持检查:如果检测到读不可纠错误为Data Retention导致,则回收这个发生读不可纠错误的Flash Block内的有效数据、擦除该block并用于新的数据读写,检测结束;
LDPC纠错级别调整:如果导致读不可纠错误的原因不是读干扰和数据保持,则进入LDPC纠错级别调整;首先将这个发生读不可纠错误的Flash Block内的有效数据进行回收,然后将该Block的LDPC纠错等级加1,并对其进行读写测试、统计读发生的错误数以确定该等级是否适用于当前Block;如果LDPC纠错等级不适合该Block则继续提高LDPC纠错等级、进行读写测试,直到找到适合该Block的纠错等级并记录在Flash Block状态管理模块中;如果最大的LDPC纠错等级也不适合该Block,则在Flash Block状态管理中将该Block标记为坏块。
所述读干扰检查由读干扰管理模块完成,具体实现过程为:所述读干扰管理模块维护一张以Block为索引的表,表中记录每个Block的读取次数和读错误数据;如果在发生不可纠读错误(Uncorrectable Read Error)时,该读取次数和读错误数据超过阈值L(L大于等于10),则确定为读干扰导致读不可纠错误。
所述数据保持检查的确定过程包括(以MLC NAND Flash为例):在block编程完成且擦除次数达到一定值(1000的整数倍)后,重新计算该block的最优参考电压Vref_A、Vref_B、Vref_C;在进行数据Retention检查时重新计算该block的最优参考电压Vref_A’、Vref_B’、Vref_C’;如果Vref_A’、Vref_B’、Vref_C’对应与Vref_A、Vref_B、Vref_C的差值均超过阈值M(M大于等于10mv),则确定导致不可纠读错误的原因为数据保持。
LDPC纠错级别调整的步骤包括:
1)搬移block内有效数据;
2)在有效数据搬移完成后,擦除block用于后续的读写测试;
3)判断block当前的纠错等级是否已经达到最大等级;如果当前纠错等级已经达到最大等级,则直接将block标记为坏块而不再使用;如果未达到最大等级,则将纠错等级提高一级;
4)对block按照page顺序依次写入随机数据;
5)对block按照page顺序依次读取数据;在读取过程中统计LDPC Decoder上报的纠错迭代次数和Soft Read Retry次数;
6)判断LDPC Decoder迭代次数是否超过阈值N(N小于等于50);如果LDPC Decoder迭代次数超过阈值,则返回步骤2)再进行下一轮测试;判断Soft Read Offset次数是否超过阈值S(S小于等于50);如果Soft Read Offset次数超过阈值,则返回步骤2)再进行下一轮测试;如果LDPC Decoder迭代次数和Soft Read Offset次数均小于阈值,则说明纠错等级适用于该block,因此将block擦除用于后续的数据读写。
与现有技术相比,本发明所具有的有益效果为:本发明提供了一种对NAND Flash读不可纠错误的原因检测和处理方法,根据导致不可纠读错误的不同原因选择不同的处理策略,从而保证了Flash Page的使用寿命最大化、进而提高SSD的使用寿命。
附图说明
图1为NAND Flash读错误原因检测涉及模块;
图2为NAND Flash读不可纠错误原因检测与后处理整体流程;
图3为NAND Flash Data Retention阈值电压漂移示意图;
图4为LDPC纠错级别调整流程。
具体实施方式
如图1,本发明所涉及的***模块包括:
HOST:主机,固态硬盘的使用者,通过SATA或PCIE接口与盘片连接,向盘片下发读写等数据命令和其他管理命令;
SSD:固态硬盘,主要由SSD控制器和存储介质NAND Flash组成;
Controller:SSD控制器,主机和NAND Flash之间的桥梁,负责调度、执行主机命令并转化为NAND Flash的读写命令;此外,控制器还负责NAND Flash的垃圾回收、巡检、均衡等NAND Flash管理算法和读、写、擦错误异常处理;
NAND Flash:固态硬盘的存储介质,具有非易失、高存储密度等特点;
CPU:控制器内部的控制、管理单元,负责读写调度、地址转换、NAND Flash读、写、管理等功能;
LDPC Encoder & LDPC Decoder:固态硬盘中的一种NAND Flash数据错误纠错模块,在向NAND Flash写数据时LDPC Encoder负责对写入数据进行编码、加入校验数据;在从NAND Flash读数据时LDPC Decoder负责对读数据进行解码、去除校验数据并纠正读数据中的错误bit,同时向CPU报告本次纠错的迭代次数和比特翻转数;如果发生不可纠错误时,向CPU报告UNC错误;
Soft Read Offset:软件读偏移,当LDPC Decoder向CPU报告UNC错误后,CPU通过Read Offset调整NAND Flash读参考电压从Flash读取原始数据并转化为在相应参考电压下的概率信息,然后再经过LDPC Decoder进行软解码纠错;如果错误仍然不可纠,则继续调整参考电压再进行原始数据读取、转化和LDPC Decoder软解码,直到达到最大纠错次数为止;
Block RDC Management:读干扰管理模块,以block为单位统计其读取次数与数据错误信息,在该block被回收擦除完成后清零;
Block Optimal Read Voltage Adaptive Track:block最优读参考电压自适应跟踪模块,该模块根据步进值调整读参考电压成对地读取block内每一个Word Line上的Flash Page(SLC只读一个page,MLC读取Lower Page、Upper Page,TLC读取Lower Page、Middle Page、Upper Page),再根据不同类型颗粒的阈值电压(SLC两个阈值电压、MLC四个阈值电压、TLC八个阈值电压)的分布规律确定出block最优读参考电压;数据保持检测模块可根据最优参考电压的漂移确定读不可纠错误是否是由数据保持特性导致。
Block State Management:NAND Flash块状态管理模块,用于记录每个FlashBlock的擦写次数(Program Erase Count)、当前使用的LDPC纠错级别和最优读参考电压、是否为坏块等信息。其中最优读参考电压自适应模块可根据擦写次数确定是否启动最优自适应电压计算、并将计算出的最优参考电压记录在该模块中,LDPC纠错等级用于在向NANDFlash写数据时指定编码级别、在从NAND Flash读数据时指定解码级别,如果某个块达到LDPC最大纠错级别仍然发生读不可纠错误则在块状态管理模块中将其标记为坏块、在后续的数据读写中不使用该block。
如图2所示,在LDPC Decoder向CPU报告UNC错误后,CPU获取发生UNC的NAND Flash地址再分别进行如下检查:
1)Read Disturb检查:如果检测到读不可纠错误(Read Uncorrectable Error)为读干扰导致,则回收这个发生读不可纠错误的Block内有效数据、擦除该block并用于新的数据读写,检测结束;
2)Data Retention检查:如果检测到读不可纠错误(Read Uncorrectable Error)为Data Retention导致,则回收这个发生读不可纠错误的Block内有效数据、擦除该block并用于新的数据读写,检测结束;
3)LDPC纠错级别调整:如果导致读不可纠错误(Read Uncorrectable Error)的原因不是读干扰和Data Retention,则进入LDPC纠错级别调整;首先将这个发生读不可纠错误的Flash Block内的有效数据进行回收,然后将该Block的LDPC纠错等级加1,并对其进行读写测试、统计读发生的错误数以确定该等级是否适用于当前Block;如果该LDPC纠错等级不适合该Block则继续提高LDPC纠错等级、进行读写测试,直到找到适合该Block的纠错等级并记录在Flash Block状态管理模块中;如果最大的LDPC纠错等级也不适合该Block,则在Flash Block状态管理中将该Block标记为坏块;
4.3 Read Disturb检查
读干扰检查主要由Block RDC Mangement模块完成,该模块维护了一张以block为索引的表,表中记录每个block的读取次数和读错误数据(每次读取时的比特翻转数累加值);如果在发生UNC时,读次数和读错误数据超过阈值,则确定为读干扰导致UNC。
4.4 Data Retention检查
Data Retention为NAND Flash存储单元的浮动栅极中的电子逃逸产生,当逃逸电子数达到一定数量将导致阈值电压(即最优读参考电压)分布向左漂移;而在读取NANDFlash数据时采用漂移之前的参考电压将导致数据错误,当错误超过LDPC纠错极限时发生UNC,如图3所示。
本发明中,在block编程完成且擦除次数达到一定值(擦除次数每增加1000)后则重新计算该block的最优参考电压Vref_A、Vref_B、Vref_C(以MLC为例);当Data Retention达到一定程度时由于阈值电压漂移,在读取该block内数据时如果仍然采用Vref_A、Vref_B、Vref_C将导致数据错误并发生UNC;在进行Data Retention检查时重新计算该block的最优参考电压Vref_A’、Vref_B’、Vref_C’;如果Vref_A’、Vref_B’、Vref_C’与Vref_A、Vref_B、Vref_C的差值超过阈值,则确定导致UNC的原因为Data Retention。
在本发明中LDPC纠错算法支持8级纠错,纠错级别越高、单位数据内可纠正的错误越多。对NAND Flash而言,随着磨损的增加、PE次数逐渐增大、数据错误越多,因此需要根据各个block的磨损程度选择适合的LDPC纠错等级。当读Flash Page发生不可纠错误时,如果不是Read Disturb或Data Retention导致,则可能是当前的LDPC 纠错等级已经不能满足该block当前磨损程度下的纠错能力需求,因此将LDPC纠错等级提高到适当等级,该block即可再次用于数据读写。LDPC纠错级别调整流程如图4所。
LDPC纠错等级调整流程如下:
1)搬移block内有效数据;由于LDPC纠错等级调整需要对block进行不同等级下的读写测试,因此需要先将block内的有效数据进行搬移;
2)擦除block;在有效数据搬移完成后,擦除block用于后续的读写测试;
3)判断block当前的纠错等级是否已经达到最大等级;如果当前纠错等级已经达到最大等级,则直接将block标记为坏块而不再使用;如果未达到最大等级,则将纠错等级提高一级;
4)对block按照page顺序依次写入随机数据;
5)对block按照page顺序依次读取数据;在读取过程中统计LDPC Decoder上报的纠错迭代次数和Soft LDPC Read Retry次数;
6)判断LDPC Decoder迭代次数是否超过阈值;如果LDPC Decoder迭代次数超过阈值,则返回步骤2再进行下一轮测试;
7)判断Soft LDPC Read Retry次数是否超过阈值;如果Soft LDPC Read Retry次数超过阈值,则返回步骤2再进行下一轮测试;
8)擦除block;如果LDPC Decoder迭代次数和Soft LDPC Read Retry次数均小于阈值,则说明纠错等级适用于该block,因此将block擦除用于后续的数据读写。

Claims (10)

1.一种SSD固态硬盘,包括SSD控制器、多个与所述SSD控制器双向通信的NAND Flash;其特征在于,所述SSD控制器包括:
LDPC Encoder:用于在向NAND Flash写数据时,CPU控制其按照指定的纠错级别对写入数据进行编码、加入校验数据;
LDPC Decoder:用于在从NAND Flash读数据时,对读数据进行解码、去除校验数据并纠正读数据中的错误bit,同时向CPU报告本次纠错的迭代次数和比特翻转数;如果发生不可纠读错误时,向CPU报告UNC错误;
Soft Read Offset模块:用于当LDPC Decoder向CPU报告UNC错误后,CPU通过调整读参考电压从NAND Flash读取原始数据并转化为在相应参考电压下的概率信息,然后再经过LDPC Decoder进行软解码纠错,如果UNC错误仍然不可纠,继续调整读参考电压再进行原始数据读取、转化和LDPC软解码纠错,直到达到最大软解码纠错次数为止;
读干扰管理模块:用于以Flash Block为单位统计读取次数与数据错误信息,确定是否是读干扰导致读UNC错误,且在Flash Block被回收擦除完成后清零;UNC错误为不可纠错误;
Flash Block最优读参考电压自适应跟踪模块:用于在每个Flash Block擦写次数每增加一定值后则对该Flash Block步进调整读参考电压,成对地读取Flash Block内每一存储单元行线上的各个Flash Page,并根据阈值电压的分布确定出Flash Block最优读参考电压,当发生不可纠读错误时根据Flash Block的当前最优读参考电压与自适应跟踪的最优读参考电压差值确定不可纠读错误是否由Flash数据保持特性导致;
Flash Block状态管理模块:用于记录每个Flash Block的擦写次数、当前使用的LDPC纠错级别和最优读参考电压,记录Flash Block是否为坏块。
2.一种NAND Flash读错误检测装置,包括主机;其特征在于,还包括权利要求1所述的SSD固态硬盘;所述主机用于向所述SSD控制器下发读、写数据命令。
3.一种利用权利要求2所述检测装置检测读UNC错误原因的方法,其特征在于,包括:
读干扰检查:如果检测到不可纠读错误为读干扰导致,则回收这个发生不可纠读错误的Flash Block内数据、擦除该Flash Block并用于新的数据读写,检测结束;
数据保持检查:如果检测到不可纠读错误为Data Retention导致,则回收这个发生不可纠读错误的Flash Block内的有效数据、擦除该Flash Block并用于新的数据读写,检测结束;
LDPC纠错级别调整:如果导致不可纠读错误的原因不是读干扰和数据保持,则进入LDPC纠错级别调整;首先将这个发生不可纠读错误的Flash Block内的有效数据进行回收,然后将该Block的LDPC纠错等级加1,并对其进行读写测试、统计读发生的错误数以确定该等级是否适用于当前Block;如果LDPC纠错等级不适合该Block则继续提高LDPC纠错等级、进行读写测试,直到找到适合该Block的纠错等级并记录在Flash Block状态管理模块中;如果最大的LDPC纠错等级也不适合该Block,则在Flash Block状态管理中将该FlashBlock标记为坏块。
4.根据权利要求3所述的方法,其特征在于,所述读干扰检查由读干扰管理模块完成,具体实现过程为:所述读干扰管理模块维护一张以Block为索引的表,表中记录每个Block的读取次数和读错误数据;如果在发生不可纠读错误时,该读取次数和读错误数据超过阈值L,则确定为读干扰导致不可纠读错误。
5.根据权利要求4所述的方法,其特征在于,L大于或等于10。
6.根据权利要求3所述的方法,其特征在于,所述数据保持检查的确定过程包括:在block编程完成且擦除次数达到一定值后,重新计算该block的最优参考电压Vref_A、Vref_B、Vref_C;在进行数据Retention检查时重新计算该block的最优参考电压Vref_A’、Vref_B’、Vref_C’;如果Vref_A’、Vref_B’、Vref_C’对应与Vref_A、Vref_B、Vref_C的差值均超过阈值M,则确定导致不可纠读错误的原因为数据保持。
7.根据权利要求6所述的方法,其特征在于,所述一定值为1000的整数倍。
8.根据权利要求6所述的方法,其特征在于,M大于或等于10mv。
9.根据权利要求3所述的方法,其特征在于,LDPC纠错级别调整的步骤包括:
1)搬移block内有效数据;
2)在有效数据搬移完成后,擦除block用于后续的读写测试;
3)判断block当前的纠错等级是否已经达到最大等级;如果当前纠错等级已经达到最大等级,则直接将block标记为坏块而不再使用;如果未达到最大等级,则将纠错等级提高一级;
4)对block按照page顺序依次写入随机数据;
5)对block按照page顺序依次读取数据;在读取过程中统计LDPC Decoder上报的纠错迭代次数和Soft Read Retry次数;
6)判断LDPC Decoder迭代次数是否超过阈值N;如果LDPC Decoder迭代次数超过阈值,则返回步骤2)再进行下一轮测试;判断Soft Read Offset次数是否超过阈值S;如果SoftRead Offset次数超过阈值,则返回步骤2)再进行下一轮测试;如果LDPC Decoder迭代次数和Soft Read Offset次数均小于阈值,则说明纠错等级适用于该block,因此将block擦除用于后续的数据读写。
10.根据权利要求9所述的方法,其特征在于,N小于或等于50;S小于或等于50。
CN201611216693.3A 2016-12-26 2016-12-26 固态硬盘读错误检测装置及读不可纠错误原因的检测方法 Active CN106776109B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611216693.3A CN106776109B (zh) 2016-12-26 2016-12-26 固态硬盘读错误检测装置及读不可纠错误原因的检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611216693.3A CN106776109B (zh) 2016-12-26 2016-12-26 固态硬盘读错误检测装置及读不可纠错误原因的检测方法

Publications (2)

Publication Number Publication Date
CN106776109A CN106776109A (zh) 2017-05-31
CN106776109B true CN106776109B (zh) 2020-01-24

Family

ID=58925740

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611216693.3A Active CN106776109B (zh) 2016-12-26 2016-12-26 固态硬盘读错误检测装置及读不可纠错误原因的检测方法

Country Status (1)

Country Link
CN (1) CN106776109B (zh)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107301132A (zh) * 2017-06-09 2017-10-27 华中科技大学 一种闪存垃圾回收优化方法
CN107391300B (zh) * 2017-07-26 2020-07-14 湖南国科微电子股份有限公司 一种提高闪存数据存储可靠性的方法及***
CN108038016B (zh) * 2017-12-22 2021-01-01 湖南国科微电子股份有限公司 固态硬盘错误数据处理方法及装置
CN108052414B (zh) * 2017-12-28 2021-09-17 湖南国科微电子股份有限公司 一种提升ssd工作温度范围的方法及***
CN108647109A (zh) * 2018-03-27 2018-10-12 深圳忆联信息***有限公司 一种固态硬盘提升ldpc纠错能力的方法
CN108829358B (zh) * 2018-06-29 2021-06-29 郑州云海信息技术有限公司 固态硬盘的坏块管理方法以及固态硬盘
CN109032524A (zh) * 2018-07-26 2018-12-18 浪潮电子信息产业股份有限公司 一种坏块标记的方法以及相关装置
CN109144771A (zh) * 2018-09-10 2019-01-04 浪潮电子信息产业股份有限公司 一种纠错方法、***、装置及计算机可读存储介质
CN109445707A (zh) * 2018-11-01 2019-03-08 新疆凯力智慧电子科技有限公司 一种硬盘写操作失败时的处理方法及***
CN109558263B (zh) * 2018-12-03 2021-10-29 郑州云海信息技术有限公司 一种固态硬盘数据读取错误的处理方法及相关装置
CN109871594B (zh) * 2019-01-28 2023-02-03 山东华芯半导体有限公司 一种NAND Flash特性模型建立方法
CN110570892A (zh) * 2019-07-31 2019-12-13 联芸科技(杭州)有限公司 控制存储器刷新的方法、装置以及控制器
CN110517719A (zh) * 2019-08-27 2019-11-29 江苏华存电子科技有限公司 一种动态NandFlash危险块筛选的方法
CN110689914B (zh) * 2019-09-06 2021-08-10 苏州浪潮智能科技有限公司 一种固态硬盘的读纠错方法、装置、设备及存储介质
CN111192620B (zh) * 2019-12-31 2023-09-08 山东华芯半导体有限公司 一种SSD中优化NAND Flash读参考电压的方法
WO2021196046A1 (zh) * 2020-03-31 2021-10-07 华为技术有限公司 一种管理数据存储阵列的方法、装置及存储介质
CN111638993B (zh) * 2020-05-12 2023-04-14 合肥康芯威存储技术有限公司 一种存储介质的纠错方法、及其应用的***及存储***
CN111625388B (zh) * 2020-05-28 2023-07-04 深圳忆联信息***有限公司 Ssd前端错误处理方法、装置、计算机设备和存储介质
CN112559387B (zh) * 2020-12-23 2023-05-02 湖南国科微电子股份有限公司 一种读请求处理方法、装置、设备及介质
CN113470723B (zh) * 2021-06-29 2023-07-14 成都佰维存储科技有限公司 读重试测试方法、装置、可读存储介质及电子设备
CN114360630B (zh) * 2022-01-24 2022-07-15 北京得瑞领新科技有限公司 Ssd固态硬盘的批量测试方法和***
CN118132013A (zh) * 2024-05-08 2024-06-04 联和存储科技(江苏)有限公司 加强Linux***稳定性的方法、设备及计算机存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103197897A (zh) * 2012-01-09 2013-07-10 三星电子株式会社 存储装置和非易失性存储器装置及其操作方法
CN103631670A (zh) * 2012-08-22 2014-03-12 群联电子股份有限公司 存储器储存装置、存储器控制器与数据处理方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8943385B2 (en) * 2012-10-23 2015-01-27 Intel Corporation NAND memory management

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103197897A (zh) * 2012-01-09 2013-07-10 三星电子株式会社 存储装置和非易失性存储器装置及其操作方法
CN103631670A (zh) * 2012-08-22 2014-03-12 群联电子股份有限公司 存储器储存装置、存储器控制器与数据处理方法

Also Published As

Publication number Publication date
CN106776109A (zh) 2017-05-31

Similar Documents

Publication Publication Date Title
CN106776109B (zh) 固态硬盘读错误检测装置及读不可纠错误原因的检测方法
US11782627B2 (en) Read count scaling factor for data integrity scan
US10936391B2 (en) Memory management method and storage controller
US20180349044A1 (en) Programming Schemes for Avoidance or Recovery from Cross-Temperature Read Failures
US11688485B2 (en) Self-adaptive read voltage adjustment using boundary error statistics for memories with time-varying error rates
US11868639B2 (en) Providing recovered data to a new memory cell at a memory sub-system based on an unsuccessful error correction operation
US10892029B1 (en) Self-adaptive read voltage adjustment using directional error statistics for memories with time-varying error rates
US11200957B2 (en) Read disturb scan consolidation
US9478298B2 (en) Memory system and method of reading data thereof
KR20160087799A (ko) Nand 플래시 메모리를 위한 결함 관리 정책들
CN111679934B (zh) 基于raid信息的纠错方法、计算机可读存储介质及处理器
CN112562766A (zh) 一种重读管理方法、固态硬盘控制器及固态硬盘
US11119697B2 (en) Read voltage management based on write-to-read time difference
US9021340B2 (en) Error recovery using erasures for NAND Flash
US11404141B2 (en) Preemptive read refresh in memories with time-varying error rates
CN113272904A (zh) 存储器***中的破坏性读取的管理
US10372377B2 (en) Memory controller, memory system, and control method
CN111273857A (zh) 基于可靠性统计分布的数据块的子组的数据的选择性重定位
CN114995767B (zh) 固态硬盘的数据管理方法、存储设备及存储介质
US12028091B2 (en) Adjustable code rates and dynamic ECC in a data storage device with write verification
US20220283727A1 (en) Solid state storage device with look-up tables providing improved reference voltages
US20210004170A1 (en) Changing of memory components to be used for a stripe based on an endurance condition

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