CN106855832B - 数据存储装置及其操作方法 - Google Patents
数据存储装置及其操作方法 Download PDFInfo
- Publication number
- CN106855832B CN106855832B CN201610587574.2A CN201610587574A CN106855832B CN 106855832 B CN106855832 B CN 106855832B CN 201610587574 A CN201610587574 A CN 201610587574A CN 106855832 B CN106855832 B CN 106855832B
- Authority
- CN
- China
- Prior art keywords
- ecc decoding
- decoding operation
- data block
- read voltage
- current
- 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
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/1008—Adding 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/1012—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
-
- 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/1008—Adding 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/1068—Adding 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
-
- 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/1008—Adding 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/1048—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
-
- 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
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
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)
- Microelectronics & Electronic Packaging (AREA)
- Detection And Correction Of Errors (AREA)
Abstract
一种数据存储装置,包括:第一解码器,其适用于执行第一ECC解码操作;第二解码器,其适用于执行第二ECC解码操作;以及控制单元,其适用于控制第一解码器以分别地根据读取电压组对从存储区域读取的数据块执行所述第一ECC解码操作,并且当对当前数据块的所述第一ECC解码操作失败时,执行所述当前数据块的所述第二ECC解码操作的优先、保留和省略操作中的一种。
Description
相关申请的交叉引用
本申请要求2015年12月9日向韩国知识产权局提交的申请号为 10-2015-0175153的韩国专利申请的优先权,其全部公开通过引用并入本文。
技术领域
各种实施例总体涉及一种数据存储装置,且更特别地,涉及一种能够执行改善的错误纠正操作的数据存储装置。
背景技术
数据存储装置响应于写入请求而储存由外部装置提供的数据。数据存储器装置也可以响应于读取请求向外部装置提供储存的数据。使用数据存储器装置的外部装置的实例包括计算机、数码相机、移动电话等。数据存储装置能够嵌入外部装置中或者分别制造并随后连接。
随着为了满足消费者对更高存储容量的便携电子设备的需求数据存储装置的集成密度持续增加,错误读取数据的可能性也增加。因此,虽然本领域已知错误纠正解码电路和方案,近年来对具有改善的错误纠正性能的数据存储装置的需求增加。
发明内容
在一个实施例中,一种数据存储装置可以包括:第一解码器,其适用于执行第一ECC解码操作;第二解码器,其适用于执行第二ECC 解码操作;以及控制单元,其适用于控制第一解码器以分别地根据读取电压组对从存储区域读取的数据块执行所述第一ECC解码操作,并且当对当前数据块的所述第一ECC解码操作失败时,执行所述当前数据块的所述第二ECC解码操作的优先、保留和省略操作中的一种。
在一个实施例中,一种数据存储装置的操作方法可以包括:分别根据读取电压组对从存储区域读取的数据块执行第一ECC解码操作;以及当所述当前数据块的所述第一ECC解码操作失败时,执行所述当前数据块的所述第二ECC解码操作的优先、保留或省略操作中的一种。
在一个实施例中,一种数据存储装置的操作方法可以包括:根据读取电压组中的当前电压对存储区域执行第一ECC解码操作;以及根据剩余读取电压组执行所述第一ECC解码操作或者当根据所述当前读取电压组的所述第一ECC解码操作失败时基于对应于所述当前读取电压组的综合加权执行根据所述当前读取电压组所述第二ECC解码操作。
附图说明
图1是示出表示根据本发明实施例的数据存储装置的示例的框图。
图2是用于说明第一和第二ECC解码操作综合加权的可能性的图表的示例的代表。
图3是示出图1所示的非易失性存储器装置的配置的框图。
图4和图5是示出图1的数据存储装置执行读取重试操作的方法的示例性说明的简图。
图6是图1的数据存储装置的操作方法的流程图。
图7是示出根据本发明实施例的固态驱动器(SSD)的框图。
图8是示出根据本发明实施例的数据存储装置的数据处理系统的框图。
具体实施方式
以下,将参考附图描述包括数据存储装置及其操作方法的本发明的各种实施例。然而,本发明可以不同的形式呈现且不应被解释为限于在本文中提出的实施例。而是,详细地提供这些实施例使得本发明所属领域技术人员能够实施本发明。
应理解,本发明的实施例不限于附图所示的细节,附图不一定按比例且在一些情况下,为了更清楚地示出本发明的特征,比例可能已经被扩大。虽然使用了特定的术语,但是应理解为使用的术语仅用于描述特定的实施例,而不意在限制本发明的范围。
图1是示出根据实施例的数据存储装置10的框图。
数据存储装置10可以配置成响应于外部装置的写入请求而存储外部装置提供的数据。同样地,数据存储装置10可以配置成响应于外部装置的读取请求而将存储的数据提供至外部装置。
数据存储装置10可以由包括个人计算机存储卡国际联合会 (PCMCIA)卡、标准闪存(CF)卡、智能媒体卡、记忆棒、多媒体卡(MMC)、内嵌式多媒体卡(eMMC)、小型多媒体卡(RS-MMC) 和微型版本多媒体卡(MMC-微型)、安全数字(SD)卡、小型安全数字(小SD)卡和微型数字(micro-SD)卡、通用闪速储存(UFS)装置、或固态驱动器(SSD)等构造。
数据存储装置10可以包括控制器100和非易失性存储器装置 200。
控制器100可以包括控制单元110、存储器120、以及错误纠正码 (ECC)单元130。
控制单元110可以控制数据存储装置10的一般操作。控制单元110 可以响应于来自外部装置的写入请求将数据存储在非易失性存储器装置200中,并且可以响应于来自外部装置的读取请求读取存储在非易失性存储器装置200中的数据并且将读取的数据输出至外部装置。
控制单元110可以控制ECC单元130以对从非易失性存储器装置 200传输的数据块执行ECC解码操作,该数据块是ECC解码操作的目标单元。
当ECC单元130的解码失败时,控制单元110可以改变非易失性存储器装置200的读取操作的读取电压,并且通过控制非易失性存储器装置200根据改变的读取电压获得从相同存储区域读取的新数据块。控制单元110可以选择读取电压组中的一个。错误位在数据块中的位置和数量可以取决于读取电压组,数据块根据该读取电压组从相同的存储区域读取。根据第一读取电压组和第二读取电压组从相同存储区域读取的数据块中的错误位的位置和数量可以互不相同。直到ECC解码操作成功为止,控制单元110可以控制ECC单元130以对根据各种读取电压组从相同存储区域读取的数据块交替地执行ECC解码操作。控制单元110的上述一系列操作可以称为读取重试操作。
如稍后将详细描述的,控制单元110可以安排读取重试操作期间具有不同性能的第一解码器131和第二解码器132的ECC解码操作。因此,在ECC操作的成功率增加时,ECC解码操作的数量可以减少。
存储器120可以用作控制单元110的工作存储器、缓冲存储器或者高速缓冲存储器。作为工作存储器的存储器120可以储存软件程序和被控制单元110驱动的各种程序数据。作为缓冲存储器的存储器120可以缓存外部装置和存储介质之间传输的数据。作为高速缓冲存储器的存储器120可以暂时地储存高速缓存数据。
存储器120可以存储包括各种读取电压组的和保留列表122,其在读取重试操作期间被控制单元110参考。
ECC单元130可以包括第一解码器131和第二解码器132。
第一解码器131和第二解码器132可以分别地对数据块执行第一 ECC解码操作和第二ECC解码操作,以在控制单元110的控制下检测和纠正数据块中的错误位。第一解码器131和第二解码器132可以执行不同算法的各种ECC解码操作。第一算法可以具有诸如比第二算法低的硬件复杂度、低的功耗和低的解码延迟的特征。第二算法可以具有诸如比第一算法更高的硬件复杂度、更高的功耗和更高的解码延迟的特征,但是具有比第一算法更优秀的错误纠正能力。对于利用LDPC码的 LDPC(低密度奇偶检查)解码操作,第一解码器131可以根据例如BF (位转换)算法执行第一ECC解码操作,并且第二解码器132可以根据例如最小和算法执行第二ECC解码操作。然而,应注意的是本发明不限于此。
虽然未示出,ECC单元130可以进一步包括用于编码数据的编码器。例如,编码器可以基于LDPC编码数据。
在LDPC解码操作期间,可以基于综合向量而确定数据块具有错误位,所述综合向量是奇偶校验矩阵和数据块向量的乘积。当综合向量包括全部为零(“0”)的元素时,数据块被确定为无错。当综合向量包括一个或多个非零元素时,数据块被确定为具有错误位。
综合加权可以通过综合向量元素的累积而获得。综合加权越大,对应的数据块中的错误位的可能性越高并且对应的数据块中的错误位的数量越大。
图2是用于说明第一和第二ECC解码操作综合加权的可能性的图表的示例的代表。在图2的图表中,横轴可以表示综合加权SDR,并且纵轴可以表示ECC解码操作的失败可能性。
如图2所示,可以基于综合加权SDR的第一阈值W1和第二阈值W2 限定第一至第三范围L、M和H。可以根据第一算法和第二算法的性能预先确定第一阈值W1和第二阈值W2。
由图2的图表获得的启示可知,综合加权SDR可以用于预测数据块的第一和第二ECC解码操作是否成功。例如如图2所示,第一范围L中的综合加权SDR表示第一ECC解码操作的成功可能性中等和第二ECC 解码操作的成功可能性高。第二范围M中的综合加权SDR表示第一 ECC解码操作的成功可能性低和第二ECC解码操作的成功可能性中等。第三范围H中的综合加权SDR表示第一ECC解码操作的成功可能性非常低和第二ECC解码操作的成功可能性非常低。控制单元110可以包括综合加权SDR的第一至第三范围L、M和H的信息。
再参考图1,控制单元110可以基于综合加权安排第一和第二ECC 解码操作。
控制单元110可以控制第一解码器131以基于从读取重试表121选择的各个读取电压组对从存储区域读取的各个数据块执行第一ECC解码操作,并且可以基于对应于各个数据块的综合加权对各个数据块安排第二ECC解码操作。当对数据块的第一ECC解码操作失败时,在各个数据块的第一ECC解码操作失败期间可以获得对应于各个数据块的综合加权,并且由此控制单元110可以识别第一至第三范围L、M和H 中对应于数据块的综合加权落入的那一个。
当对应于从读取重试表121选择的当前读取电压组的当前数据块的第一ECC解码操作失败时,控制单元110可以在根据剩余读取电压组的第一ECC操作的剩余迭代之前优先进行根据当前读取电压组的当前数据块的第二ECC解码操作、可以在根据剩余读取电压组的第一ECC 操作的迭代完成之后保留待执行的根据当前读取电压组对当前数据块的第二ECC解码操作,或者可以在根据剩余读取电压组的第一ECC操作的迭代完成之后省略根据当前读取电压组的当前数据块的第二ECC 解码操作。即,当对应于当前读取电压组的当前数据块的第一ECC解码操作失败时,控制单元110可以选择优先、保留或省略根据当前读取电压组的当前数据块的第二ECC解码操作中的一种。
详细来说,当综合加权落入第一范围L上,控制单元110可以控制第二解码器132以在根据剩余读取电压组的第一ECC操作的剩余迭代之前对当前数据块执行第二ECC解码操作。
当综合加权落入第二范围M时,控制单元110可以在根据剩余读取电压组的第一ECC操作的迭代完成之后保留待执行的根据当前读取电压组的当前数据块的第二ECC解码操作。当根据包括在读取重试表121 中的剩余读取电压组的第一ECC解码操作失败时,控制单元110可以控制第二解码器132以执行保留的第二ECC解码操作。当根据包括在读取重试表121的剩余读取电压组的第一ECC解码操作成功时,控制单元 110可以随后控制第二解码器132以不执行保留的第二ECC解码操作。当保留第二ECC解码操作时,控制单元110可以向保留列表122增加当前读取电压组的信息。
当综合加权落入第三范围H时,控制单元110可以控制第二解码器 132即使在根据剩余读取电压组的第一ECC操作的迭代完成之后也不执行根据当前读取电压组的当前数据块的第二ECC解码操作。
非易失性存储器装置200可以包括诸如NAND闪存或NOR闪存的闪速存储器装置、FeRAM(铁电随机存取存储器)、PCRAM(相变随机存取存储器)、MRAM(磁随机存取存储器)或者ReRAM(电阻式随机存取存储器)。
根据控制器100的控制,非易失性存储器装置200可以储存从控制器100传输的数据并且可以读取储存的数据并将读取的数据传输到控制器100。
图3是示出图1所示的非易失性存储器装置200的详细配置的实例表示的框图。
非易失性存储器装置200可以包括控制逻辑210、电压供给单元 220、接口单元230、地址解码器240、数据输入/输出单元250、以及存储器单元阵列260。
控制逻辑210可以根据控制器100的控制控制非易失性存储器装置 200的一般操作。控制逻辑210可以从接口单元230接收从控制器100传输的命令,并且可以响应于该命令将控制信号传输至非易失性存储器装置200的内部单元。响应于改变读取电压的命令,控制逻辑210可以基于改变的读取电压执行读取操作。
电压供给单元220可以根据控制逻辑210的控制生成非易失性存储器装置200的一般操作必需的各种操作电压。电压供给单元220可以向地址解码器240提供例如用于读取操作的读取电压。
接口单元230可以与控制器100交换包括指令和地址的各种控制信号和数据。接口单元230可以将输入其中的各种控制信号和数据传输至非易失性存储器装置200的内部单元。
地址解码器240可以对存储器单元阵列260中待访问的选择部分解码地址。根据解码结果,地址解码器240可以选择地驱动字线WL并控制数据输入/输出单元250以选择地驱动位线BL。
数据输入/输出单元250可以通过位线BL将从接口单元230传输的数据传输至存储器单元阵列260。数据输入/输出单元250可以将通过位线BL从存储器单元阵列260读取的数据传输至接口单元230。数据输入 /输出单元250可以通过判读响应于读取电压导通或者断开存储器单元时形成的电流而获取存储在包括在存储器单元阵列260中的存储器单元中的数据。
存储器单元阵列260可以通过字线WL联接至地址解码器240,并且可以通过位线BL联接至数据输入/输出单元250。存储器单元阵列260 可以包括多个存储器单元,所述多个存储器单元分别地布置在字线WL 位线BL互相交错的区域并且其中储存数据。存储器单元阵列260可以形成为具有2维或3维构造。
图4和图5是示出图1的数据存储装置10执行读取重试操作的方法的简图。参照图4和图5,控制单元110可以通过参照包括读取电压组R0 至R4的读取重试表121执行读取重试操作。
参照图4,可以基于读取电压组R0对从存储区域读取的数据块D0 执行第一ECC解码操作。当对数据块D0的第一ECC解码操作失败时,对数据块D0的第二ECC解码操作可以基于对应于数据块D0的综合加权SDR安排。如上所述,在数据块D0的第一ECC解码操作失败期间可以获得对应于数据块D0的综合加权SDR,并且由此在数据块D0的第一 ECC解码操作失败期间,控制单元110可以识别第一至第三范围L、M 和H中对应于数据块D0的综合加权SDR落入的那一个。当对应于数据块D0的综合加权SDR落入表示根据读取电压组R0对数据块D0的第二 ECC解码操作的成功可能性非常低的第三范围H时,由于高的失败可能性,数据块D0的第二ECC解码操作可以省略。因此,数据块D0的第二 ECC解码操作可以不优先进行或保留。控制单元110可以甚至在根据剩余读取电压组R1至R4的第一ECC操作的迭代完成之后控制第二解码器132不执行根据当前读取电压组R0对数据块D0的第二ECC解码操作。
然后,可以根据读取电压组R1对从相同存储区域读取的数据块D1 执行第一ECC解码操作。当对数据块D1的第一ECC解码操作失败时,对数据块D1的第二ECC解码操作可以基于对应于数据块D1的综合加权SDR安排。当对应于数据块D1的综合加权SDR落入表示根据读取电压组R1对数据块D1的第二ECC解码操作的成功可能性高的第一范围L 时,对数据块D1的第二ECC解码操作可以在根据剩余读取电压组R2至 R4的第一ECC操作的剩余迭代之前进行。
可以基于读取电压组R1对从相同存储区域读取的数据块D1执行第二ECC解码操作。当对数据块D1的第二ECC解码操作成功时,可以输出错误纠正的数据块D1,并且可以结束读取重试操作。
参照图5,可以对数据块D0执行第一ECC解码操作。当对数据块 D0的第一ECC解码操作失败时,对数据块D0的第二ECC解码操作可以基于对应于数据块D0的综合加权SDR安排。当对应于数据块D0的综合加权SDR落入表示根据读取电压组R0对数据块D0的第二ECC解码操作的成功可能性非常低的第三范围H时,由于高的失败可能性,数据块D0的第二ECC解码操作可以省略。因此,数据块D0的第二ECC解码操作可以不优先进行或保留。
然后,可以根据读取电压组R1对从相同存储区域读取的数据块D1 执行第一ECC解码操作。当对数据块D1的第一ECC解码操作失败时,对数据块D1的第二ECC解码操作可以基于对应于数据块D1的综合加权SDR安排。当对应于数据块D1的综合加权SDR落入表示根据读取电压组R1对数据块D1的第二ECC解码操作的成功可能性高的第一范围L 时,对数据块D1的第二ECC解码操作可以在根据剩余读取电压组R2至 R4的第一ECC操作的剩余迭代之前对基于读取电压组R1从相同存储区域读取的数据块D1执行。当对数据块D1的第二ECC解码操作失败时,可以执行根据剩余读取电压组R2至R4的第一ECC操作的剩余迭代。
因此,可以对根据读取电压组R2和R3从相同存储区域分别地读取的数据块D2和D3顺序地执行第一ECC解码操作。当对数据块D2和D3 第一ECC解码操作中的每一个失败时,可以基于对应于数据块D2和D3 的综合加权SDR对数据块D2和D3的第二ECC解码操作中的每个安排。当对应于数据块D2和D3的综合加权SDR中的每个落入表示分别根据读取电压组R2和R3的数据块D2和D3的第二ECC解码操作的成功可能性中等的第二范围M时,对数据块D2和D3的第二ECC解码操作中的每个可以不优先进行,而是保留。控制单元110可以控制第二解码器132 以在根据剩余读取电压组R4的第一ECC操作迭代完成之后顺序地执行根据当前读取电压组R2和R3的数据块D2和D3的第二ECC解码操作。
然后,可以对数据块D4执行第一ECC解码操作。当对数据块D4的第一ECC解码操作失败时,对数据块D4的第二ECC解码操作可以基于对应于数据块D4的综合加权SDR安排。当对应于数据块D4的综合加权 SDR落入表示根据根据读取电压组R4对数据块D4的第二ECC解码操作的成功可能性非常低的第三范围H时,由于高的失败可能性,可以省略对数据块D4的第二ECC解码操作。因此,对数据块D4的第二ECC 解码操作可以不优先进行或保留。
根据所有读取电压组R0至R4对数据块D0至D4的第一ECC操作的全部迭代完成之后,控制单元110可以控制第二解码器132以根据读取电压组R2和R3对数据块D2和D3顺序地执行第二ECC解码操作。
因此,可以基于读取电压组R2对从相同存储区域读取的数据块D2 执行第二ECC解码操作。当对数据块D2的第二ECC解码操作成功时,可以输出错误纠正的数据块D2,并且可以结束读取重试操作。
总而言之,当当前数据块的综合加权SDR表示根据当前读取电压组对当前数据块的第二ECC解码操作成功可能性高时,控制单元110可以在根据剩余读取电压组的第一ECC操作的剩余迭代之前优先根据当前读取电压组的当前数据块的第二ECC解码操作。当优先的第二ECC 解码操作成功时,不需要执行根据剩余读取电压组的第一ECC操作的剩余迭代。因此,可以快速完成读取重试操作。
此外,当当前数据块的综合加权SDR表示根据当前读取电压组对当前数据块的第二ECC解码操作成功可能性非常低时,由于失败可能性高,所以控制单元110可以省略当前数据块的第二ECC解码操作。因此,根据所有读取电压组对数据块的第一ECC操作的所有迭代完成之后,不需要执行省略的第二ECC解码操作。因此,可以快速完成读取重试操作。
图6是示出用于帮助说明图1的数据存储装置10的操作方法的流程图的示例。
参考图1至图6,在步骤S11,控制单元110可以根据读取重试表121 中的读取电压组(即读取电压组R0至R4)中的一个从非易失性存储器装置200的存储区域读取数据块(即数据块D0至D4中的一个)。
在步骤S12,控制单元110可以控制第一解码器131以执行对当前数据块的第一ECC解码操作。
在步骤S13,控制单元110可以确定第一ECC解码操作是否成功。当第一ECC解码操作成功时,处理可以结束。当第一ECC解码操作失败时,可以进行至步骤S14。
在步骤S14,控制单元110可以确定对应于当前数据块的综合加权 SDR落入第一至第三范围L、M和H中的哪一个范围。如上所述,当当前数据块的第一ECC解码操作失败时,在当前数据块的第一ECC解码操作失败期间可以获得对应于当前数据块的综合加权SDR,并且由此控制单元110可以识别第一至第三范围L、M和H中对应于数据块D0的综合加权SDR落入的那一个。根据综合加权SDR落入第一至第三范围 L、M和H中的哪个范围,所述处理可以分别进行到步骤S15、S17和S18。
在步骤S15,当对应于当前数据块的综合加权SDR落入表示根据当前读取电压组对当前数据块的第二ECC解码操作成功可能性高的第一范围L时,控制单元110可以在根据剩余读取电压组的第一ECC操作的剩余迭代之前优先进行根据当前读取电压组对当前数据块的第二ECC 解码操作。
在步骤S16,控制单元110可以确定对当前数据块的第二ECC解码操作是否成功。当对当前数据块的第二ECC解码操作成功时,处理可以结束。当对当前数据块的第二ECC解码操作失败时,处理可以进行到步骤S19。
在步骤S17,当对应于当前数据块的综合加权SDR落入表示根据当前读取电压组对当前数据块的第二ECC解码操作成功可能性中等的第二范围M时,控制单元110可以通过对保留列表122增加当前读取电压组的信息而保留根据当前读取电压组对当前数据块的第二ECC解码操作。
在步骤S18,当对应于当前数据块的综合加权SDR落入表示根据当前读取电压组对当前数据块的第二ECC解码操作的成功可能性非常低的第三范围H时,控制单元110可以省略根据当前读取电压组的当前数据块的第二ECC解码操作。
在步骤S19,控制单元110可以确定根据读取重试表121的所有读取电压组的第一ECC解码操作的迭代是否完成。在根据读取重试表121的所有读取电压组的第一ECC解码操作的所有迭代尚未完成的情况下,控制器可以根据读取重试表121的剩余读取电压组重复步骤S11至S19。在根据读取重试表121的所有读取电压组的第一ECC解码操作的所有迭代尚完成,即所有数据块的第一ECC解码操作失败的情况下,处理可以进行至步骤S20。
在步骤S20,控制单元110可以确定是否通过步骤S17保留第二ECC 解码操作,即保留列表122是否包括通过步骤S17增加至少一个读取电压组的信息。在不存在保留的第二ECC解码操作的情况下,处理可以结束。在存在保留的第二ECC解码操作的情况下,处理可以进行至步骤S21。
在步骤S21,控制单元110可以在包括在保留列表122中的读取电压组中选择一个。控制单元110可以以读取电压组增加至保留列表122的顺序顺序地选择读取电压组。控制单元110可以根据从保留列表122选定的读取电压组从非易失性存储器装置200的存储区域读取数据块。根据一个实施例,作为数据块,控制单元110可以使用步骤S17期间保持在分开的区域中的数据块。
在步骤S22,控制单元110可以控制第二解码器132以根据选定的读取电压组对数据块执行第二ECC解码操作。
在步骤S23,控制单元110可以确定根据选定的读取电压组的第二 ECC解码操作是否成功。当第二ECC解码操作成功时,处理可以结束。当第二ECC解码操作失败时,处理可以进行至步骤S24。
在步骤S24,控制单元110可以确定根据保留列表122的所有读取电压组的第二ECC解码操作的所有迭代是否完成。在根据保留列表122的所有读取电压组的第二ECC解码操作的所有迭代尚未完成的情况下,控制器可以根据保留列表122的剩余读取电压组重复步骤S21至S24。在根据保留列表122的所有读取电压组的第二ECC解码操作的所有迭代完成的情况下,处理可以结束。
图7是示出根据一个实施例固态驱动器(SSD)1000的框图。
SSD1000可以包括控制器1100和存储介质1200。
控制器1100可以控制主机装置1500和存储介质1200之间的数据交换。控制器1100可以包括处理器1110、RAM1120、ROM1130、ECC单元1140、主机接口1150、以及存储介质接口1160。
处理器1110可以控制控制器1100的一般操作。根据来自主机装置 1500的数据处理请求,处理器1110可以在存储介质1200中储存数据并且从存储介质1200读取储存的数据。为了有效地管理存储介质1200,处理器1110可以控制SSD1000的内部操作,诸如合并操作、磨损均衡操作等等。
同样地,处理器1110可以以与图1所示的控制单元110大致相同的方式操作。处理器1110可以以下列方式控制ECC单元1140:当通过安排基于综合加权具有不同的性能的第一和第二ECC解码操作而执行读取重试操作时,优先具有高成功可能性的解码并且省略不必要的解码。第二ECC解码操作可以基于综合加权具有不同的性能。
RAM1120可以储存程序和将被处理器1110使用的程序数据。在将从主机接口1150传输的数据传输至存储介质1200之前,RAM1120可以暂时地存储这些数据,并且在将从存储介质1200传输的数据传输至主机装置1500之前暂时地储存这些数据。
ROM1130可以储存将被处理器1110读取的程序代码。程序代码可以包括将被处理器1110处理的指令,以使处理器1110控制控制器1100 的内部单元。
ECC单元1140可以编码待存储在存储介质1200中的数据,并且可以解码从存储介质1200读取的数据。ECC单元1140可以根据ECC算法检测和纠正数据中产生的错误。如图1所示的ECC单元130,ECC单元 1140可以包括具有不同性能的解码器。
主机接口1150可以与主机装置1500交换数据处理请求、数据等。
存储介质接口1160可以向存储介质1200传输控制信号和数据。存储介质接口1160可以传输来自存储介质1200的数据。存储介质接口 1160可以通过多个通道CH0至CHn联接存储介质1200。
存储介质1200可以包括多个非易失性存储器装置NVM0至NVMn。多个非易失性存储器装置NVM0至NVMn中的每一个可以根据控制器 1100的控制执行写入操作和读取操作。
图8是示出根据本发明的一个实施例的数据存储装置10的数据处理系统2000的框图。
数据处理系统2000可以包括计算机、笔记本电脑、上网本、智能电话、数字电视、数码相机、导航仪等。数据处理系统2000可以包括主处理器2100、主存储器装置2200、存储器装置2300存储器装置2300和输入/输出装置2400。数据处理系统2000的内部单元可以通过系统总线2500交换数据、控制信号等。
主处理器2100可以控制数据处理系统2000的一般操作。主处理器 2100可以是例如诸如微处理器的中央处理单元。主处理器2100可以执行主存储器装置2200上的操作系统的软件、应用、设备驱动等等。
主存储器装置2200可以储存程序和将被主处理器2100使用的程序数据。主存储器装置2200可以暂时地储存将传输至存储器装置2300和输入/输出装置2400的数据。
存储器装置2300存储器装置2300可以包括控制器2310和存储介质2320。存储器装置2300可以配置成与图1所示的数据存储装置10大致类似的方式并且以与图1所示的数据存储装置10大致类似的方式操作。
输入/输出装置2400可以包括能够与使用者交换数据(诸如从使用者接收控制数据处理系统2000的命令或者将处理结果提供给使用者) 的键盘、扫描仪、触摸屏、屏幕监视器、打印机、鼠标等。
根据一个实施例,数据处理系统2000可以通过诸如LAN(局域网)、 WAN(广域网)、无线网络等与至少一个服务器2700通信。数据处理系统2000可以包括联接至网络2600的网络接口(未示出)。
尽管已经如上描述了各种实施例,但是,本领域技术人员应当理解,这些实施例仅为本发明的示例。因此,本文描述的其数据存储装置和操作方法不应该限于所述实施例。其许多其他实施例和变型将被本领域技术人员来设想到,而不背离由后附权利要求限定的本发明的主旨和范围。
Claims (25)
1.一种数据存储装置,其包括:
第一解码器,其适用于执行第一ECC解码操作;
第二解码器,其适用于执行第二ECC解码操作;以及
控制单元,其适用于控制第一解码器根据读取电压组分别对从存储区域读取的数据块执行所述第一ECC解码操作,并且在对当前数据块的所述第一ECC解码操作失败时,根据对应于所述当前数据块的综合加权安排对所述当前数据块的所述第二ECC解码操作;
其中安排所述第二ECC解码操作包括执行对所述当前数据块的所述第二ECC解码操作的优先、保留和省略操作中的一种。
2.根据权利要求1所述的数据存储装置,其中当对应于所述当前数据块的所述综合加权落入表示所述当前数据块的所述第二ECC解码操作的成功可能性高的第一范围时,所述控制单元控制所述第二解码器根据剩余读取电压组在所述第一ECC解码操作之前优先执行所述当前数据块的所述第二ECC解码操作。
3.根据权利要求1所述的数据存储装置,其中当对应于所述当前数据块的所述综合加权落入表示所述当前数据块的所述第二ECC解码操作的成功可能性中等的第二范围时,所述控制单元保留所述当前数据块的所述第二ECC解码操作。
4.根据权利要求3所述的数据存储装置,其中控制单元在根据所有所述读取电压组的所述第一ECC解码操作失败之后进一步执行保留的所述当前数据块的所述第二ECC解码操作。
5.根据权利要求3所述的数据存储装置,其中所述控制单元通过向保留列表增加当前读取电压组的信息而保留对所述当前数据块的所述第二ECC解码操作。
6.根据权利要求1所述的数据存储装置,其中当对应于所述当前数据块的所述综合加权落入表示所述当前数据块的所述第二ECC解码操作的成功可能性非常低的第三范围时,所述控制单元省略所述当前数据块的所述第二ECC解码操作。
7.根据权利要求1所述的数据存储装置,其中所述第二ECC解码操作比所述第一ECC解码操作具有更高的错误纠正能力。
8.根据权利要求1所述的数据存储装置,其进一步包括非易失性存储器装置,其适于通过将读取电压组中的一个或多个读取电压施加至存储区域来使用所述读取电压组从所述存储区域读取数据块。
9.根据权利要求1所述的数据存储装置,其中所述控制单元根据对应于所述当前数据块的所述综合加权安排对所述当前数据块的第二ECC解码操作。
10.一种数据存储装置的操作方法,包括:
分别根据读取电压组对从存储区域读取的数据块执行第一ECC解码操作;以及
当对当前数据块的所述第一ECC解码操作失败时,根据对应于所述当前数据块的综合加权执行对所述当前数据块的第二ECC解码操作的优先、保留或省略操作中的一种。
11.根据权利要求10所述的方法,其中优先执行包括:当对应于所述当前数据块的所述综合加权落入表示所述当前数据块的所述第二ECC解码操作的成功可能性高的第一范围时,在所述第一ECC解码操作之前根据剩余读取电压组优先执行所述当前数据块的所述第二ECC解码操作。
12.根据权利要求10所述的方法,其中保留执行包括:当对应于所述当前数据块的所述综合加权落入表示所述当前数据块的所述第二ECC解码操作的成功可能性中等的第二范围时,保留所述当前数据块的所述第二ECC解码操作。
13.根据权利要求12所述的方法,进一步包括在根据所有所述读取电压组的所述第一ECC解码操作失败之后执行保留的对所述当前数据块的所述第二ECC解码操作。
14.根据权利要求10所述的方法,其中省略执行包括:当对应于所述当前数据块的所述综合加权落入表示所述当前数据块的所述第二ECC解码操作的成功可能性非常低的第三范围时,省略所述当前数据块的所述第二ECC解码操作。
15.根据权利要求10所述的方法,其中所述第二ECC解码操作比所述第一ECC解码操作具有更高的错误纠正能力。
16.根据权利要求10所述的方法,其进一步包括通过非易失性存储器装置读取数据块,其中所述非易失性存储器装置通过将读取电压组中的一个或多个读取电压施加至存储区域来使用所述读取电压组从所述存储区域读取数据块。
17.根据权利要求10所述的方法,其中执行优先、保留或省略操作中的一种包括根据对应于所述当前数据块的所述综合加权安排对所述当前数据块的所述第二ECC解码操作。
18.一种数据存储装置的操作方法,包括:
根据读取电压组中的当前读取电压组对从存储区域中读取的数据块执行第一ECC解码操作;
当所述第一ECC解码操作失败时,确定对应于所述当前读取电压组的综合加权;以及
基于所述综合加权,在根据所述当前读取电压组的第二ECC解码操作之前优先执行根据剩余读取电压组的所述第一ECC解码操作,或者在根据所述剩余读取电压组的所述第一ECC解码操作之前优先执行所述第二ECC解码操作。
19.根据权利要求18所述的方法,其中当所述综合加权落入表示根据所述当前读取电压组所述第二ECC解码操作的成功可能性高的第一范围时,执行根据所述当前读取电压组的所述第二ECC解码操作。
20.根据权利要求18所述的方法,当执行根据所述当前读取电压组的所述第二ECC解码操作时,所述方法进一步包括在根据所述当前读取电压组的所述第二ECC解码操作失败之后执行根据所述剩余读取电压组的所述第一ECC解码操作。
21.根据权利要求18所述的方法,当执行根据所述剩余读取电压组的所述第一ECC解码操作时,所述方法进一步包括当所述综合加权落入表示根据所述当前读取电压组的所述第二ECC解码操作的成功可能性中等的第二范围时保留根据所述当前读取电压组的所述第二ECC解码操作。
22.根据权利要求18所述的方法,进一步包括在根据所有所述读取电压组的所述第一ECC解码操作失败之后执行保留的所述第二ECC解码操作。
23.根据权利要求18所述的方法,当执行根据所述剩余读取电压组的所述第一ECC解码操作时,所述方法进一步包括当所述综合加权落入表示根据所述当前读取电压组的所述第二ECC解码操作的成功可能性非常低的第三范围时省略根据所述当前读取电压组的所述第二ECC解码操作。
24.根据权利要求18所述的方法,其中所述第二ECC解码操作比所述第一ECC解码操作具有更高的错误纠正能力。
25.根据权利要求18所述的方法,其进一步包括通过非易失性存储器装置读取数据块,其中所述非易失性存储器装置通过将读取电压组中的一个或多个读取电压施加至存储区域来使用所述读取电压组从所述存储区域读取数据块。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150175153A KR20170068681A (ko) | 2015-12-09 | 2015-12-09 | 데이터 저장 장치 및 그것의 동작 방법 |
KR10-2015-0175153 | 2015-12-09 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106855832A CN106855832A (zh) | 2017-06-16 |
CN106855832B true CN106855832B (zh) | 2020-09-18 |
Family
ID=59020537
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610587574.2A Active CN106855832B (zh) | 2015-12-09 | 2016-07-22 | 数据存储装置及其操作方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9898363B2 (zh) |
KR (1) | KR20170068681A (zh) |
CN (1) | CN106855832B (zh) |
TW (1) | TWI703436B (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10102920B2 (en) * | 2016-08-15 | 2018-10-16 | Sandisk Technologies Llc | Memory system with a weighted read retry table |
US10083754B1 (en) * | 2017-06-05 | 2018-09-25 | Western Digital Technologies, Inc. | Dynamic selection of soft decoding information |
KR102389432B1 (ko) * | 2017-11-07 | 2022-04-25 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그의 동작방법 |
US10884858B2 (en) | 2018-03-16 | 2021-01-05 | SK Hynix Inc. | LDPC decoding device, memory system including the same and method thereof |
US11005503B2 (en) | 2018-03-16 | 2021-05-11 | SK Hynix Inc. | Memory system with hybrid decoding scheme and method of operating such memory system |
US11070234B2 (en) * | 2018-03-16 | 2021-07-20 | SK Hynix Inc. | Memory system with hybrid decoding scheme with information exchange and method of operating such memory system |
US10606694B2 (en) * | 2018-04-20 | 2020-03-31 | Micron Technology, Inc. | Error correction using hierarchical decoders |
US10607712B1 (en) * | 2018-09-28 | 2020-03-31 | Toshiba Memory Corporation | Media error reporting improvements for storage drives |
US11025283B1 (en) * | 2020-02-26 | 2021-06-01 | SK hynix, Inc. | Decoding latency and throughput of a multi-decoder error correction system |
TWI720852B (zh) * | 2020-03-20 | 2021-03-01 | 慧榮科技股份有限公司 | 存取快閃記憶體模組的方法及相關的快閃記憶體控制器與電子裝置 |
US11556420B2 (en) * | 2021-04-06 | 2023-01-17 | Macronix International Co., Ltd. | Managing error correction coding in memory systems |
KR20230021949A (ko) | 2021-08-06 | 2023-02-14 | 삼성전자주식회사 | 메모리 장치 및 이의 동작 방법 |
KR20230163847A (ko) | 2022-05-24 | 2023-12-01 | 에스케이하이닉스 주식회사 | 신드롬 가중치를 기초로 신뢰성 데이터를 결정하는 컨트롤러 및 그 동작 방법 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102655021A (zh) * | 2011-03-02 | 2012-09-05 | 株式会社东芝 | 半导体存储装置以及解码方法 |
CN104750571A (zh) * | 2013-12-30 | 2015-07-01 | 慧荣科技股份有限公司 | 用以进行错误纠正的方法、存储装置与存储装置的控制器 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7844879B2 (en) * | 2006-01-20 | 2010-11-30 | Marvell World Trade Ltd. | Method and system for error correction in flash memory |
KR101526317B1 (ko) | 2008-05-09 | 2015-06-11 | 삼성전자주식회사 | 계층적 디코딩 장치 |
US8458536B2 (en) * | 2008-07-17 | 2013-06-04 | Marvell World Trade Ltd. | Data recovery in solid state memory devices |
US8924815B2 (en) | 2011-11-18 | 2014-12-30 | Sandisk Enterprise Ip Llc | Systems, methods and devices for decoding codewords having multiple parity segments |
TWI594254B (zh) * | 2012-07-17 | 2017-08-01 | 慧榮科技股份有限公司 | 讀取快閃記憶體中區塊之資料的方法及相關的記憶裝置 |
CN104572334B (zh) * | 2013-10-14 | 2017-11-21 | 群联电子股份有限公司 | 解码方法、存储器存储装置与存储器控制电路单元 |
US20150169406A1 (en) * | 2013-12-16 | 2015-06-18 | Sandisk Technologies Inc. | Decoding techniques for a data storage device |
TWI540586B (zh) * | 2014-04-15 | 2016-07-01 | 群聯電子股份有限公司 | 解碼方法、記憶體儲存裝置、記憶體控制電路單元 |
CN104049755B (zh) * | 2014-06-18 | 2017-01-18 | 中国科学院自动化研究所 | 信息处理方法及装置 |
-
2015
- 2015-12-09 KR KR1020150175153A patent/KR20170068681A/ko unknown
-
2016
- 2016-04-27 US US15/140,251 patent/US9898363B2/en active Active
- 2016-05-31 TW TW105116953A patent/TWI703436B/zh active
- 2016-07-22 CN CN201610587574.2A patent/CN106855832B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102655021A (zh) * | 2011-03-02 | 2012-09-05 | 株式会社东芝 | 半导体存储装置以及解码方法 |
CN104750571A (zh) * | 2013-12-30 | 2015-07-01 | 慧荣科技股份有限公司 | 用以进行错误纠正的方法、存储装置与存储装置的控制器 |
Also Published As
Publication number | Publication date |
---|---|
US20170168894A1 (en) | 2017-06-15 |
KR20170068681A (ko) | 2017-06-20 |
US9898363B2 (en) | 2018-02-20 |
CN106855832A (zh) | 2017-06-16 |
TWI703436B (zh) | 2020-09-01 |
TW201721422A (zh) | 2017-06-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106855832B (zh) | 数据存储装置及其操作方法 | |
CN107025185B (zh) | 数据存储装置及其操作方法 | |
CN106558332B (zh) | 数据处理器件及其操作方法 | |
US10268540B2 (en) | Data storage device and operating method thereof | |
US10170201B2 (en) | Data storage device and operating method thereof | |
CN109671459B (zh) | 存储器系统及其操作方法 | |
US11676679B2 (en) | Two-layer code with low parity cost for memory sub-systems | |
US11184033B2 (en) | Data storage device | |
US20210157514A1 (en) | Apparatus and method for improving write throughput of memory system | |
CN106920575B (zh) | 数据存储装置及其操作方法 | |
US11360898B2 (en) | Apparatus and method for improving input/output throughput of memory system | |
CN113360083A (zh) | 用于在存储器系统中控制映射数据的装置和方法 | |
CN113424165B (zh) | 在存储器子系统处的编程操作的中断 | |
KR20170086840A (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
CN107045484B (zh) | 数据存储装置 | |
CN109918315B (zh) | 存储器系统及存储器系统的操作方法 | |
KR20170009554A (ko) | 테스트 시스템 및 테스트 방법 | |
CN117153232A (zh) | 用于不规则低密度奇偶校验解码的跨列缩放的位翻转阈值 | |
CN111477260A (zh) | 平衡块损耗均衡以实现最佳ssd耐久性 | |
CN108376051B (zh) | 数据存储装置 | |
CN116302666A (zh) | 包括奇偶校验管理模块的存储控制器、包括存储控制器的存储设备和存储设备的操作方法 | |
CN115344195A (zh) | 基于个别存储器单位的额定值的存储器装置的寿命延长 | |
US20170109047A1 (en) | Data storage device and operating method thereof | |
US20210064242A1 (en) | Memory system for predicting whether internal operation is performable and data processing system including the same | |
CN108511020B (zh) | 非易失性存储器装置、包括其的存储器系统及操作方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
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 |