CN107967186A - 用于控制存储器装置的方法和控制器及存储器系统 - Google Patents
用于控制存储器装置的方法和控制器及存储器系统 Download PDFInfo
- Publication number
- CN107967186A CN107967186A CN201711304197.8A CN201711304197A CN107967186A CN 107967186 A CN107967186 A CN 107967186A CN 201711304197 A CN201711304197 A CN 201711304197A CN 107967186 A CN107967186 A CN 107967186A
- Authority
- CN
- China
- Prior art keywords
- error
- code word
- correcting circuit
- iteration
- layer
- 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
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
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/3746—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 with iterative decoding
- H03M13/3753—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 with iterative decoding using iteration stopping criteria
-
- 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
-
- 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
- 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
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1105—Decoding
- H03M13/1111—Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1105—Decoding
- H03M13/1128—Judging correct decoding and iterative stopping criteria other than syndrome check and upper limit for decoding iterations
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1105—Decoding
- H03M13/1131—Scheduling of bit node or check node processing
- H03M13/114—Shuffled, staggered, layered or turbo decoding schedules
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1148—Structural properties of the code parity-check or generator matrix
- H03M13/116—Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/29—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
- H03M13/2906—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/3707—Adaptive decoding and hybrid decoding, e.g. decoding methods or techniques providing more than one decoding algorithm for one code
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1105—Decoding
- H03M13/1108—Hard decision decoding, e.g. bit flipping, modified or weighted bit flipping
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
- H03M13/1515—Reed-Solomon codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
- H03M13/152—Bose-Chaudhuri-Hocquenghem [BCH] codes
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Probability & Statistics with Applications (AREA)
- Mathematical Physics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Error Detection And Correction (AREA)
- Detection And Correction Of Errors (AREA)
- Algebra (AREA)
- Pure & Applied Mathematics (AREA)
Abstract
本发明涉及用于控制存储器装置的方法和控制器及存储器系统。本发明包含与用于分层迭代错误校正的停止准则有关的设备及方法。若干种方法可包含:以错误校正电路接收码字;以所述错误校正电路迭代地对所述码字进行错误校正,包含在逐层基础上对所述码字进行奇偶校验并在每一层之后更新所述码字。方法可包含响应于奇偶校验对于特定层为正确的而停止所述迭代错误校正。
Description
分案申请的相关信息
本案是分案申请。本分案的母案是申请日为2013年12月9日、申请号为201380070923.8、发明名称为“用于控制存储器装置的方法和控制器及存储器系统”的发明专利申请案。
优先权信息
本申请案主张2013年1月22日提出申请的第13/746,768号美国申请案的优先权,所述美国申请案是2012年12月7日提出申请的第61/734,473号美国临时申请案的非临时申请案,所述美国申请案及美国临时申请案的内容以引用的方式并入本文中。
技术领域
本发明一般来说涉及半导体存储器及方法,且更特定来说,涉及与用于分层迭代错误校正的停止准则有关的设备及方法。
背景技术
存储器装置通常经提供作为计算机或其它电子装置中的内部半导体集成电路。存在包含易失性及非易失性存储器的许多不同类型的存储器。易失性存储器可能需要电力来维持其数据(主机数据、错误信息等),且包含随机存取存储器(RAM)、动态随机存取存储器(DRAM)及同步动态随机存取存储器(SDRAM)以及其它存储器。非易失性存储器可通过在未供电时留存所存储数据而提供永久数据,且可包含NAND快闪存储器、NOR快闪存储器、只读存储器(ROM)、电可擦除可编程ROM(EEPROM)、可擦除可编程ROM(EPROM)及电阻可变存储器,例如相变随机存取存储器(PCRAM)、电阻式随机存取存储器(RRAM)及磁阻式随机存取存储器(MRAM)以及其它存储器。
存储器装置可组合在一起以形成例如固态驱动器(SSD)的存储器系统的存储卷。固态驱动器可包含非易失性存储器(例如,NAND快闪存储器及NOR快闪存储器)及/或可包含易失性存储器(例如,DRAM及SRAM),以及各种其它类型的非易失性及易失性存储器。
可使用SSD来替换硬盘驱动器作为计算机的主要存储卷,因为固态驱动器可在性能、大小、重量、耐用性、操作温度范围及电力消耗方面具有优于硬驱动器的优点。举例来说,SSD可在与磁盘驱动器相比时因其缺乏移动部件(此可避免与磁盘驱动器相关联的寻道时间、等待时间及其它机电延迟)而具有优越性能。
存储器作为易失性及非易失性数据存储装置而用于宽广范围的电子应用。非易失性存储器可用于便携式电子装置(例如膝上型计算机、便携式存储棒、数码相机、蜂窝式电话、例如MP3播放器的便携式音乐播放器、电影播放器及其它电子装置)中。存储器单元可布置成若干阵列,其中所述阵列用于存储器装置中。
一种类型的错误校正涉及低密度奇偶校验(LDPC)码。可将未经编码(例如,“原始”)数据编码成码字以供传输及/或存储。随后可对所述码字进行解码以恢复所述数据。强效的错误校正可为合意的,但需与等待时间、处理量及/或功率约束(例如,由便携式电子装置强加的那些功率约束)保持平衡。
发明内容
在一方面中,本发明涉及一种方法。所述方法包括:以错误校正电路接收码字;以所述错误校正电路迭代地对所述码字进行错误校正,其包含:在逐层基础上对所述码字进行奇偶校验;和在每一层之后更新所述码字;及响应于奇偶校验对于特定迭代的特定层在阈值数目个数据单位内为正确的而在不对所述特定迭代的下一层进行错误校正的情况下停止迭代错误校正,其中所述阈值数目个数据单位为至少一个。
在另一方面中,本发明涉及一种方法。所述方法包括:以第一错误校正电路接收码字;以所述第一错误校正电路在逐层基础上迭代地对所述码字进行错误校正;以所述第一错误校正电路在每一层之后更新所述码字;及响应于奇偶校验对于特定层在阈值数目个数据单位内为正确的而将所述码字传送到第二错误校正电路,其中所述特定层为除迭代的最后一层之外的层,且其中所述阈值数目个数据单位为至少一个。
在另一方面中,本发明涉及一种方法。所述方法包括:从存储器装置接收包括硬数据的码字;以第一错误校正电路在逐层基础上迭代地对所述码字进行错误校正,直到所述码字在特定层中包含少于阈值数目个奇偶错误为止,其中所述特定层为除迭代的最后一层之外的层,且其中所述阈值数目个奇偶错误为至少两个;以第二错误校正电路对所述码字进行错误校正;及响应于由所述第一错误校正电路及所述第二错误校正电路进行的失败错误校正而从所述存储器装置接收软数据。
在另一方面中,本发明涉及一种设备。所述设备包括:迭代错误校正电路,其经配置以:在逐层基础上迭代地对码字进行错误校正;在每一层之后更新所述码字;及响应于奇偶校验对于特定层为正确的而将所述码字传送到代数错误校正电路,其中所述特定层为除迭代的最后一层之外的层,其中当在所述特定层中存在少于阈值数目个奇偶错误时,迭代奇偶校验为正确的,且其中所述阈值数目个奇偶错误为至少两个。
在另一方面中,本发明涉及一种设备。所述设备包括:存储器装置;第一校正电路,其耦合到所述存储器装置,其中所述第一错误校正电路经配置以:从所述存储器装置接收包括硬数据的码字;及在逐层基础上迭代地对所述码字进行错误校正,直到所述码字在特定迭代的特定层中包含少于阈值数目个奇偶错误为止,其中所述特定层为除迭代的最后一层之外的层,且其中所述阈值数目个奇偶错误为至少两个;第二错误校正电路,其耦合到所述第一错误校正电路,其中所述第二错误校正电路经配置以:在所述码字在所述特定层中包含少于所述阈值数目个奇偶错误之后,从所述第一错误校正电路接收所述码字;及对所述码字进行错误校正;及主机接口,其耦合到所述第二错误校正电路,其中所述主机接口经配置以响应于由所述第二错误校正电路进行的成功错误校正而接收所述码字。
附图说明
图1是根据本发明的若干个实施例的呈包含至少一个存储器系统的计算系统的形式的设备的框图。
图2图解说明根据本发明的若干个实施例用于停止分层迭代错误校正的流程图。
图3是图解说明根据本发明的若干个实施例的错误校正电路(ECC)功率节省对原始位错误率(RBER)的曲线图。
图4是图解说明根据本发明的若干个实施例的码字错误率(CWER)对原始位错误率(RBER)的曲线图。
具体实施方式
本发明包含与用于分层迭代错误校正的停止准则有关的设备及方法。若干种方法可包含:以错误校正电路接收码字;以所述错误校正电路迭代地对所述码字进行错误校正,包含在逐层基础上对所述码字进行奇偶校验并在每一层之后更新所述码字。方法可包含响应于奇偶校验对于特定层为正确的而停止所述迭代错误校正。
在本发明的以下详细说明中,参考形成本发明的一部分且其中以图解说明方式展示可如何实践本发明的一或多个实施例的附图。充分详细地描述这些实施例以使得所属领域的普通技术人员能够实践本发明的实施例,且应理解,可利用其它实施例且可做出过程、电及/或结构改变,此并不背离本发明的范围。如本文中所使用,标示符“M”(尤其关于图式中的参考编号)指示可包含若干个如此标示的特定特征。如本文中所使用,“若干个”特定事物可指代一或多个此类事物(例如,若干个存储器装置可指代一或多个存储器装置)。
本文中的各图遵循其中第一个数字或前几个数字对应于图式的图编号且剩余数字识别图式中的元件或组件的编号惯例。不同图之间的类似元件或组件可通过使用类似数字来识别。如将了解,可添加、交换及/或消除本文中的各种实施例中所展示的元件以便提供本发明的若干个额外实施例。另外,将了解,图中所提供的元件的比例及相对标度旨在图解说明本发明的某些实施例且不应视为具有限制性意义。
图1是根据本发明的若干个实施例的呈包含至少一个存储器系统104的计算系统100的形式的设备的框图。如本文中所使用,存储器系统104、控制器108或存储器装置110也可单独地被视为“设备”。存储器系统104可为(举例来说)固态驱动器(SSD)且可包含主机接口106、控制器108(例如,处理器及/或其它控制电路)及若干个存储器装置110-1、…、110-M(例如,例如NAND快闪装置的固态存储器装置),所述存储器装置为存储器系统104提供存储卷。若干个存储器装置110-1、…、110-M在本文中可统称为存储器装置110。在另一实施例中,存储器系统104可为单个存储器装置。
如图1中所图解说明,控制器108可耦合到主机接口106且经由多个通道耦合到存储器装置110且可用来在存储器系统104与主机102之间发送数据。接口106可呈标准化接口的形式。举例来说,当存储器系统104用于计算系统100中的数据存储时,接口106可为串行高级技术附件(SATA)、高速外围组件互连(PCIe)或通用串行总线(USB)以及其它连接器及接口。然而,一般来说,接口106可提供用于在存储器系统104与主机102之间传递控制、地址、数据及其它信号的接口,主机102具有用于接口106的兼容接纳器。
主机102可为主机系统,例如个人膝上型计算机、桌上型计算机、数码相机、移动电话或存储器读卡器以及各种其它类型的主机。主机102可包含系统母板及/或背板,且可包含若干个存储器存取装置(例如,若干个处理器)。主机102也可为存储器控制器,例如在存储器系统104是存储器装置(例如,具有裸片上控制器)的情况下。
控制器108可与存储器装置110(其在一些实施例中可为在单个裸片上的若干个存储器阵列)通信以控制数据读取、编程检验、写入及擦除操作以及其它操作。在一些实施例中,控制器108可与若干个存储器装置110、…110-M中的任一者或全部在相同的裸片或不同的裸片上。
虽然未具体图解说明,但在一些实施例中,控制器108可针对将控制器108耦合到存储器装置110-1、…、110-M的每一通道包含离散存储器通道控制器。举例来说,控制器108可包含呈硬件及/或固件(例如,一或多个集成电路)及/或软件的形式的若干个组件,以用于控制对若干个存储器装置110-1、…、110-M的存取及/或用于促进主机102与存储器装置110-1、…、110-M之间的数据传送。
若干个存储器装置110-1、…、110-M可包含若干个存储器单元(例如,非易失性存储器单元)阵列。举例来说,所述阵列可为具有NAND架构的快闪阵列。然而,实施例不限于特定类型的存储器阵列或阵列架构。举例来说,所述存储器单元可分组成包含若干个物理页的若干个块。存储器单元平面中可包含若干个块,且一阵列可包含若干个平面。作为一个实例,存储器装置可经配置以存储每页8KB(千字节)用户数据、每块128页用户数据、每平面2048个块及每装置16个平面。
在操作中,举例来说,可将数据作为数据页写入到存储器(例如,系统104的存储器装置110-1、…、110-M)及/或从存储器读取。因此,数据页可称为存储器系统的数据传送大小。数据可在称为扇区(例如,主机扇区)的数据段中传输到主机(例如,主机102)/从主机传输。因此,数据扇区可称为主机的数据传送大小。
如图1中所图解说明,控制器108可包含耦合到代数错误校正电路114(“代数ECC”)的迭代错误校正电路112(“分层迭代ECC”)。迭代错误校正电路112可耦合到存储器装置110,且代数错误校正电路114可耦合到主机接口106。举例来说,迭代错误校正电路112可为准循环低密度奇偶校验(LDPC)码电路以及应用分层迭代错误校正的其它迭代错误校正电路。虽然被图解说明为单个电路,但迭代错误校正电路112可提供为单独的编码电路(例如,用于编码待存储于存储器装置110中的数据)及解码电路(例如,用于解码存储于存储器装置110中的数据)。代数错误校正电路114可为包含博斯-乔赫里-霍克文黑姆(Bose-Chaudhuri-Hocquenghem,BCH)错误校正电路及里德所罗门(Reed Solomon)错误校正电路以及其它代数错误校正电路的群组中的一者。虽然被图解说明为单个电路,但代数错误校正电路114可提供为单独的编码电路(例如,用于编码待存储于存储器装置110中的数据)及解码电路(例如,用于解码存储于存储器装置110中的数据)。迭代错误校正电路112及代数错误校正存储器114中的每一者可为例如专用集成电路(ASIC)等离散组件,或所述组件可反映由控制器108内的未必具有与控制器108的其它部分分离的离散物理形式的电路提供的功能性。虽然在图1中图解说明为控制器108内的组件,但迭代错误校正电路112及代数错误校正存储器114中的每一者可在控制器108外部或具有位于控制器108内的若干个组件及位于控制器108外部的若干个组件。
迭代错误校正电路112可经配置以从存储器装置110接收码字。在若干个实施例中,迭代错误校正电路112可接收可由从存储器装置110读取的硬数据构成的码字,而不接收软数据。在若干个实施例中,迭代错误校正电路112可接收包括硬数据的码字且可随之接收对应于所述码字的软数据。在若干个实施例中,迭代错误校正电路112可接收包括硬数据的码字且可单独地接收对应于所述码字的软数据(例如,其中软数据是基于对码字的单独软读取而接收的,或其中软数据是最初与硬数据一起读取的、被缓冲并从缓冲器接收)。硬数据是对应于存储器单元的数据状态的数据。举例来说,2位存储器单元可被编程到四个数据状态中的一者,其中每一数据状态对应于数据00、01、10或11中的一者。相比之下,与存储器单元相关联的软数据可指示存储于存储器单元上的状态(例如,阈值电压(Vt))在表示存储器单元被编程到的目标状态的状态分布(例如,Vt分布)内的位置。对应于码字(其中所述码字由硬数据构成)的软数据可包含对应于所述码字中的硬数据的软数据(例如,所述软数据可指示码字中的硬数据的较大分辨率)。存储器装置可经配置以确定从其读取的硬数据的软数据位的特定数目。对于上文所描述的2位存储器单元,软数据的实例可包含使用四个位(其原本可表示最高达十六个不同状态)的较大分辨率。对于采用离散读取信号的那些实施例,软数据的分辨率可取决于为定位存储于存储器单元上的Vt而进行的读取数目,其中读取越多,可提供的分辨率就越大。对于采用斜升读取信号的那些实施例,软数据的分辨率可取决于从模/数转换器或使存储器单元的Vt的值与数据相关的其它电路作为输出提供的分辨率,其中所述分辨率由跨越输入/输出(I/O)总线从存储器装置110传输的位数目反映。举例来说,存储器装置110可经配置而以八个位的分辨率读取存储两个数据位的特定存储器单元且跨越I/O总线传送介于两个位(两个硬数据位及零个软数据位)到八个位(两个硬数据位及六个软数据位)之间的任何数目个位。
迭代错误校正电路112可通过在逐层基础上对码字进行奇偶校验并在每一层之后更新码字而迭代地对码字进行错误校正。由迭代错误校正电路112执行的一个错误校正迭代可包含一个以上奇偶校验层。迭代错误校正电路112可使用迭代置信传播解码器,其中迭代错误校正电路112可包含两种类型的处理节点:可变节点及校验节点。所述处理节点可根据LDPC码的奇偶校验矩阵而耦合。所述校验节点可实施为对码字进行奇偶校验(例如,执行出错位组校验)及/或更新的电路。在若干个实施例中,更新码字可包含更新可靠性数据(例如,对数似然比(LLR))以及其它功能。举例来说,更新与每一可变节点相关联的可靠性数据可致使更新码字的与每一可变节点相关联的相应位的值(例如,其中更新码字的位包含改变所述位的值或保持所述位的值)。因此,更新可靠性数据会有效地更新码字。对于包含接收硬数据而不接收软数据及/或可靠性数据(例如,基于硬数据读取)的实施例,可至少部分地基于在解码过程期间LDPC码的奇偶校验约束而将可靠性数据指派给码字。对于包含接收硬数据与软数据(例如,基于软数据读取)的实施例,可至少部分地基于软数据而将可靠性数据指派给码字(例如,到迭代错误校正电路112的输入将包含可靠性数据,这不同于硬读取情况)。可在每一解码层期间(举例来说,所述层的某一倍数或每迭代一次地)更新码字(例如,迭代错误校正电路112可基于LDPC码的奇偶校验约束而更新所输入的可靠性数据)。迭代的每一层可包含从不足全部的校验节点(例如,从相应一者)接收输入,并至少部分地基于(例如,在一些实施例中,仅基于)来自校验节点中的相应一者的输入(例如,经更新可靠性数据)而更新可靠性数据。一些实施例可包含若干个层中的每L数目个层更新可靠性数据(例如,其中L是从1个层到所有层的变量,其中可每层、每隔一个层、每第三层等等(最高达每迭代一次)地更新可靠性数据)。可靠性数据可基于来自校验节点中耦合到其的相应者的输入而更新。在若干个实施例中,分层更新可继续进行直到可变节点已从耦合到其的校验节点中的每一者接收到输入为止。可在针对一个迭代完成在可变节点处针对耦合到其的所有数目个校验节点对所存储可靠性数据的分层更新之后才将后续(经更新)可靠性数据值从可变节点发送到耦合到其的校验节点中的每一者。
迭代错误校正电路112可响应于分层奇偶校验对于特定层为正确的而将码字或其副本传送到代数错误校正电路114。在一些实施例中,迭代错误校正电路112可响应于分层奇偶校验对于特定层为正确的或响应于分层奇偶校验对于所述特定层及至少另一个层为正确的而停止对码字进行错误校正。在若干个实施例中,当在特定层中或在一些实施例中在特定层及至少另一个层中不存在奇偶错误时(其中奇偶校验对于在特定层及/或至少另一个层中校验的所有数据单位为正确的),可将分层奇偶校验视为正确的。在一些实施例中,当在特定特定中或在一些实施例中在特定层及至少另一个层中存在少于阈值数目个奇偶错误时,分层奇偶校验为正确的。举例来说,可基于代数错误校正电路114的校正能力而选择奇偶错误的阈值数目。在若干个实施例中,控制器108可经配置以基于存储器装置110的若干个特性(例如存储器装置110的时间年龄、存储器装置110的编程/擦除循环数目、存储器装置110的存储密度、存储器装置110的保持率(例如,经编程存储器单元可保持电荷达多久)及/或存储器装置110内存储码字的物理位置(例如,码字或其一部分是否存储于边缘字线上)以及存储器装置110的其它特性)而选择错误的阈值数目。在一些实施例中,可在控制器108的固件中作为可选选项来定义奇偶错误的阈值数目。
在一些实施例中,迭代错误校正电路112可对码字进行错误校正,直到所述码字在特定迭代的特定层中包含少于阈值数目个奇偶错误为止。根据若干个实施例,可采用并置译码方案使得代数错误校正电路114可从迭代错误校正电路112接收经更新码字(例如,在码字在特定层中包含少于阈值数目个奇偶错误之后)。接着,代数错误校正电路114可根据其代数错误校正码约束而对码字进行错误校正。代数错误校正电路114可经配置以响应于由所述代数错误校正电路进行的成功错误校正而将码字或其副本传送到主机接口106(且主机接口可经配置以接收码字)。控制器108可经配置以响应于由代数错误校正电路进行的成功错误校正而指示成功编程检验操作。在由代数错误校正电路114进行的错误校正不成功的情况下,迭代错误校正电路112可经配置以响应于由代数错误校正电路114进行的不成功错误校正而从存储器装置110(例如,从对存储器的软读取或从存储先前所读取软数据的缓冲器)接收软数据(例如,控制器108可起始软读取及/或请求先前连同硬数据一起读取的软数据)。
在若干个实施例中,可使迭代错误校正电路112针对包括硬数据的所接收码字迭代仅一次,且接着可将码字传送到代数错误校正电路114以进行迭代错误校正电路112未完成的任何剩余错误校正。如果并置方案不足以校正码字,那么可从存储器装置110检索软数据,且可使迭代错误校正电路112迭代多达校正码字所必需的次数或最高达预定阈值迭代次数。
迭代错误校正电路112可提供相对于若干种迭代(例如,归一化最小和的迭代或其它迭代解码算法)提高的性能。迭代错误校正电路112的迭代可等效于彻底检查所有奇偶并更新码字(例如,硬决策)。然而,由迭代错误校正电路112消耗的功率量与所执行的迭代数目成正比。鉴于一些存储器系统(例如,例如便携式电子装置中采用快闪存储器的系统)存在严格的功率预算,本发明的若干个实施例会在完成所有迭代之前乃至在完成特定迭代之前使迭代错误校正电路112停止。此外,采用使用迭代错误校正电路112(例如,提供内码)及代数错误校正电路114(例如,提供外码)两者的并置译码方案。鉴于迭代错误校正电路112及代数错误校正电路114两者共同工作来校正码字,一旦怀疑剩余错误在代数错误校正电路114的校正能力内就使迭代错误校正电路112停止在功率节省方面可为有益的。对码字的错误校正可响应于使以迭代错误校正电路进行的迭代错误校正停止(例如,当特定层具有少于阈值数目个奇偶错误时)而以代数错误校正电路开始。然而,在若干个实施例中,迭代错误校正电路可在代数错误校正电路对码字进行操作(例如,校正)的同时继续迭代地对码字进行错误校正。在此类实施例中,可响应于第二错误校正电路报告码字的不可校正错误而使迭代错误校正电路停止。举例来说,迭代错误校正电路112可包括采用分层最小和解码算法的LDPC解码器,在所述算法中可将一层视为迭代的一小部分,在所述小部分处基于单一奇偶校验而更新每一LDPC码字位。如果此层不产生奇偶错误(或产生少于阈值数目个奇偶错误),那么可做出码字将在代数错误校正电路114的错误校正能力内的假设。
图2图解说明根据本发明的若干个实施例用于停止分层迭代错误校正的流程图。在220处,可从存储器装置(例如,图1中所图解说明的存储器装置110)接收包括硬数据的码字。在222处,可对所述码字执行错误校正(例如,以图1中所图解说明的迭代错误校正电路112)。举例来说,可在逐层基础上对码字执行迭代错误校正。在层“L”之后,可如224处所图解说明而更新码字。在每一错误校正层之后,迭代错误校正电路可知晓所述层中的奇偶错误数目。在226处,如果奇偶错误数目在奇偶校验阈值(例如,基于代数错误校正电路的校正能力而选择)内,那么可停止迭代错误校正(而不检验迭代的下一层),且在230处,可将码字传送到不同错误校正电路(传送到代数错误校正电路)。在226处,如果奇偶错误数目不在奇偶校验阈值内,那么可如228及222处所图解说明而执行错误校正迭代的下一层。虽然图2中未具体图解说明,但可响应于完成阈值数目个迭代而停止迭代错误校正(而不管奇偶校验对于最后错误校正迭代的最后层是否为正确的)。
在232处,在代数错误校正电路已对码字进行错误校正之后,可做出关于所述码字是通过还是未通过代数错误校正的确定。如果代数错误校正失败,那么在234处,可从存储器装置检索对应于码字的软数据,且可在222处考虑到软数据来开始迭代错误校正。在本发明的若干个实施例中,可响应于由第一错误校正电路(例如,迭代错误校正电路)及第二错误校正电路(例如,代数错误校正电路)进行的失败错误校正而从存储器装置接收软数据。代数错误校正电路可校正最高达阈值数目个错误(例如,位或符号错误)。虽然图2中未具体图解说明,但代数错误校正电路可响应于码字中的错误数目超过可由代数错误校正电路校正的错误的阈值数目而报告不可校正错误。如果代数错误校正成功,那么在236处,可将码字输出到主机。可响应于由第一错误校正电路及第二错误校正电路进行的成功错误校正而将码字传送到主机。
图3是图解说明根据本发明的若干个实施例的错误校正电路(ECC)功率节省对原始位错误率(RBER)的曲线图。ECC功率节省是从0到P表示,其中P指示功率节省百分比(未必是100%)。RBER是从10-(x-1)到10-(x+1)表示,其中x表示正整数。较接近于图表右侧的RBER可表示典型存储器装置在寿命开始时的典型RBER。如所图解说明,功率节省可随着原始位错误率的增加(趋向于图表的左侧)而减小。曲线表示指示根据本发明的若干个实施例针对迭代错误校正电路的功率节省的实验数据。
图4是图解说明根据本发明的若干个实施例的码字错误率(CWER)对原始位错误率(RBER)的曲线图。CWER是从10-7到100表示。RBER是从(y+1)*10-(x-1)到(y-1)10-(x+1)表示,其中x及y各自表示正整数。图4中x的值未必与图3中x的值相同。虽然在图4中不可区分,但实际上展示了两条曲线。第一曲线表示当根据本发明的若干个实施例使迭代错误校正电路停止时的码字故障率,且第二曲线(与第一曲线基本上共线)表示根据一些先前方法的码字故障率,所述先前方法在根据已知算法完成若干次迭代之前不使迭代错误校正电路停止(例如,迭代错误校正电路不会提早停止)。因此,如图3及图4中所图解说明,本发明的若干个实施例可降低迭代错误校正电路的功率消耗(例如,在并置错误校正方案中)而不会增加码字故障率。
结论
本发明包含与用于分层迭代错误校正的停止准则有关的设备及方法。若干种方法可包含:以错误校正电路接收码字;以所述错误校正电路迭代地对所述码字进行错误校正,包含在逐层基础上对所述码字进行奇偶校验并在每一层之后更新所述码字。方法可包含响应于奇偶校验对于特定层为正确的而停止所述迭代错误校正。
虽然本文中已图解说明及描述特定实施例,但所属领域的普通技术人员将了解,旨在实现相同结果的布置可替代所展示的特定实施例。本发明打算涵盖本发明的一或多个实施例的改动或变化形式。应理解,已以说明性方式而非限定性方式做出以上说明。在审阅以上说明后,所属领域的技术人员将明了以上实施例的组合及本文中未具体描述的其它实施例。本发明的一或多个实施例的范围包含其中使用以上结构及方法的其它应用。因此,本发明的一或多个实施例的范围应参考所附权利要求书连同授权此权利要求书的等效内容的全部范围来确定。
在前述具体实施方式中,出于简化本发明的目的,将一些特征一起聚集于单个实施例中。本发明的此方法不应解释为反映本发明的所揭示实施例必须使用比明确陈述于每一权利要求中更多的特征的意图。而是,如所附权利要求书反映:发明性标的物在于少于单个所揭示实施例的所有特征。因此,特此将所附权利要求书并入到具体实施方案中,其中每一权利要求独立地作为单独实施例。
Claims (20)
1.一种方法,其包括:
以错误校正电路接收码字;
以所述错误校正电路迭代地对所述码字进行错误校正,其包含:
在逐层基础上对所述码字进行奇偶校验;和
在每一层之后更新所述码字;及
响应于奇偶校验对于特定迭代的特定层在阈值数目个数据单位内为正确的而在不对所述特定迭代的下一层进行错误校正的情况下停止迭代错误校正,其中所述阈值数目个数据单位为至少一个。
2.根据权利要求1所述的方法,其中停止所述迭代错误校正包括:响应于所述奇偶校验对于所述特定层针对所有数据单位为正确的而停止所述迭代错误校正。
3.根据权利要求1所述的方法,其中停止所述迭代错误校正包括:响应于所述奇偶校验对于所述特定层及至少一个其他层在所述阈值数目个数据单位内为正确的而停止所述迭代错误校正。
4.根据权利要求1所述的方法,其中停止所述迭代错误校正包括:响应于所述奇偶校验对于所述特定层及至少一个其他层针对所有数据单位为正确的而停止所述迭代错误校正。
5.一种方法,其包括:
以第一错误校正电路接收码字;
以所述第一错误校正电路在逐层基础上迭代地对所述码字进行错误校正;
以所述第一错误校正电路在每一层之后更新所述码字;及
响应于奇偶校验对于特定层在阈值数目个数据单位内为正确的而将所述码字传送到第二错误校正电路,其中所述特定层为除迭代的最后一层之外的层,且其中所述阈值数目个数据单位为至少一个。
6.根据权利要求5所述的方法,其中所述方法包含:响应于完成阈值数目个迭代而不管奇偶校验对于最后迭代的最后层是否为正确的,均将所述码字传送到所述第二错误校正电路。
7.根据权利要求6所述的方法,其中传送所述码字包括传送所述码字的副本;且
其中所述方法包含:在所述第二错误校正电路对所述码字进行操作的同时,继续以所述第一错误校正电路迭代地对所述码字进行错误校正。
8.根据权利要求7所述的方法,其中所述方法包含:响应于所述第二错误校正电路针对所述码字报告不可校正错误而停止以所述第一错误校正电路进行所述迭代错误校正。
9.根据权利要求6所述的方法,其中所述方法包含:
以所述第二错误校正电路校正所述码字中的最高达阈值数目个错误;及
响应于所述码字中的错误的数目超过所述阈值而报告不可校正错误。
10.一种方法,其包括:
从存储器装置接收包括硬数据的码字;
以第一错误校正电路在逐层基础上迭代地对所述码字进行错误校正,直到所述码字在特定层中包含少于阈值数目个奇偶错误为止,其中所述特定层为除迭代的最后一层之外的层,且其中所述阈值数目个奇偶错误为至少两个;
以第二错误校正电路对所述码字进行错误校正;及
响应于由所述第一错误校正电路及所述第二错误校正电路进行的失败错误校正而从所述存储器装置接收软数据。
11.根据权利要求10所述的方法,其中所述方法包含:响应于所述码字在所述特定层中包含少于所述阈值数目个奇偶错误而将所述码字从所述第一错误校正电路传送到所述第二错误校正电路。
12.根据权利要求10所述的方法,其中所述方法包含:响应于停止以所述第一错误校正电路进行所述迭代错误校正而开始以所述第二错误校正电路对所述码字进行错误校正。
13.根据权利要求12所述的方法,其中所述方法包含:
以所述第一错误校正电路使用准循环低密度奇偶校验码;及
以所述第二错误校正电路使用代数码。
14.一种设备,其包括:
迭代错误校正电路,其经配置以:
在逐层基础上迭代地对码字进行错误校正;
在每一层之后更新所述码字;及
响应于奇偶校验对于特定层为正确的而将所述码字传送到代数错误校正电路,
其中所述特定层为除迭代的最后一层之外的层,其中当在所述特定层中存在少于阈值数目个奇偶错误时,迭代奇偶校验为正确的,且其中所述阈值数目个奇偶错误为至少两个。
15.根据权利要求14所述的设备,其中所述阈值数目是基于可由所述代数错误校正电路校正的错误的数目而选择。
16.根据权利要求14所述的设备,其中所述设备经配置以基于所述设备的选自包含以下各项的特性群组的特性而选择所述阈值数目:所述设备的时间年龄、所述设备的编程/擦除循环数目、所述设备的存储密度、所述设备的保持率及所述设备内存储所述码字的物理位置。
17.一种设备,其包括:
存储器装置;
第一校正电路,其耦合到所述存储器装置,其中所述第一错误校正电路经配置以:
从所述存储器装置接收包括硬数据的码字;及
在逐层基础上迭代地对所述码字进行错误校正,直到所述码字在特定迭代的特定层中包含少于阈值数目个奇偶错误为止,其中所述特定层为除迭代的最后一层之外的层,且其中所述阈值数目个奇偶错误为至少两个;
第二错误校正电路,其耦合到所述第一错误校正电路,其中所述第二错误校正电路经配置以:
在所述码字在所述特定层中包含少于所述阈值数目个奇偶错误之后,从所述第一错误校正电路接收所述码字;及
对所述码字进行错误校正;及
主机接口,其耦合到所述第二错误校正电路,其中所述主机接口经配置以响应于由所述第二错误校正电路进行的成功错误校正而接收所述码字。
18.根据权利要求17所述的设备,其中所述第一错误校正电路经配置以响应于由所述第二错误校正电路进行的不成功错误校正而从所述存储器装置接收软数据。
19.根据权利要求17所述的设备,其中所述设备包含提供用以定义奇偶错误的所述阈值数目的可选选项的固件。
20.根据权利要求17所述的设备,其中所述第一错误校正电路包括准循环低密度奇偶校验LDPC码电路且所述第二错误校正电路包括代数错误校正电路,所述代数错误校正电路包括包含博斯-乔赫里-霍克文黑姆BCH错误校正电路及里德所罗门错误校正电路的群组中的一者。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201261734473P | 2012-12-07 | 2012-12-07 | |
US61/734,473 | 2012-12-07 | ||
US13/746,768 US9116822B2 (en) | 2012-12-07 | 2013-01-22 | Stopping criteria for layered iterative error correction |
US13/746,768 | 2013-01-22 | ||
CN201380070923.8A CN104937555B (zh) | 2012-12-07 | 2013-12-09 | 用于控制存储器装置的方法和控制器及存储器系统 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380070923.8A Division CN104937555B (zh) | 2012-12-07 | 2013-12-09 | 用于控制存储器装置的方法和控制器及存储器系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107967186A true CN107967186A (zh) | 2018-04-27 |
CN107967186B CN107967186B (zh) | 2021-07-27 |
Family
ID=50882399
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380070923.8A Active CN104937555B (zh) | 2012-12-07 | 2013-12-09 | 用于控制存储器装置的方法和控制器及存储器系统 |
CN201711304197.8A Active CN107967186B (zh) | 2012-12-07 | 2013-12-09 | 用于控制存储器装置的方法和控制器及存储器系统 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380070923.8A Active CN104937555B (zh) | 2012-12-07 | 2013-12-09 | 用于控制存储器装置的方法和控制器及存储器系统 |
Country Status (6)
Country | Link |
---|---|
US (4) | US9116822B2 (zh) |
EP (1) | EP2929436B1 (zh) |
JP (1) | JP6110953B2 (zh) |
KR (1) | KR101645906B1 (zh) |
CN (2) | CN104937555B (zh) |
WO (1) | WO2014089550A1 (zh) |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102081588B1 (ko) * | 2013-08-08 | 2020-02-26 | 삼성전자 주식회사 | Ecc 디코더의 동작 방법 및 그것을 포함하는 메모리 컨트롤러 |
TWI527382B (zh) * | 2013-10-22 | 2016-03-21 | 群聯電子股份有限公司 | 解碼方法、解碼電路、記憶體儲存裝置與控制電路單元 |
TWI536749B (zh) * | 2013-12-09 | 2016-06-01 | 群聯電子股份有限公司 | 解碼方法、記憶體儲存裝置與記憶體控制電路單元 |
JP6200381B2 (ja) * | 2014-06-11 | 2017-09-20 | ファナック株式会社 | 監視対象の稼働状況に応じた誤り訂正機能を有する制御装置 |
US9853661B2 (en) * | 2015-12-08 | 2017-12-26 | Apple Inc. | On-the-fly evaluation of the number of errors corrected in iterative ECC decoding |
US10133627B2 (en) * | 2015-12-11 | 2018-11-20 | SK Hynix Inc. | Memory device controller with mirrored command and operating method thereof |
KR102473209B1 (ko) * | 2015-12-14 | 2022-12-02 | 삼성전자주식회사 | 스토리지 장치 및 스토리지 장치의 동작 방법 |
TWI575533B (zh) * | 2016-04-18 | 2017-03-21 | 群聯電子股份有限公司 | 資料校正方法、記憶體控制電路單元與記憶體儲存裝置 |
DE102016107285B4 (de) * | 2016-04-20 | 2019-04-25 | Infineon Technologies Ag | Verfahren zur verwendung einer speichervorrichtung, speichervorrichtung und speichervorrichtungsanordnung |
US10326479B2 (en) | 2016-07-11 | 2019-06-18 | Micron Technology, Inc. | Apparatuses and methods for layer-by-layer error correction |
US10312937B2 (en) * | 2016-11-02 | 2019-06-04 | Qualcomm Incorporated | Early termination technique for LDPC decoder architecture |
US10289348B2 (en) * | 2016-12-30 | 2019-05-14 | Western Digital Technologies, Inc. | Tapered variable node memory |
US10312944B2 (en) * | 2017-03-17 | 2019-06-04 | Micron Technology, Inc. | Error correction code (ECC) operations in memory for providing redundant error correction |
US10331514B2 (en) * | 2017-03-17 | 2019-06-25 | Micron Technology, Inc. | Tiered error correction code (ECC) operations in memory |
JP2018160056A (ja) | 2017-03-22 | 2018-10-11 | 東芝メモリ株式会社 | メモリコントローラ、メモリシステムおよび制御方法 |
JP6840591B2 (ja) | 2017-03-24 | 2021-03-10 | キオクシア株式会社 | 復号装置 |
CN107133123A (zh) * | 2017-04-28 | 2017-09-05 | 郑州云海信息技术有限公司 | 一种关于pmc‑raid卡奇偶校验错误的注错测试的方法 |
US10579473B2 (en) * | 2017-09-29 | 2020-03-03 | Intel Corporation | Mitigating silent data corruption in error control coding |
CN112262436B (zh) * | 2018-05-08 | 2024-06-07 | 美光科技公司 | 用于读取错误恢复的系统和方法 |
US10853167B2 (en) * | 2019-01-28 | 2020-12-01 | Winbond Electronics Corp. | Memory apparatus having hierarchical error correction code layer |
KR102519413B1 (ko) | 2019-05-03 | 2023-04-07 | 삼성전자주식회사 | 무선 통신 시스템에서 저밀도 패리티-검사 부호의 복호화를 위한 장치 및 방법 |
US11543970B2 (en) * | 2020-01-15 | 2023-01-03 | Micron Technology, Inc. | Managing dynamic temperature throttling thresholds in a memory subsystem |
US11108407B1 (en) | 2020-03-09 | 2021-08-31 | SK Hynix Inc. | Performance of a bit flipping (BF) decoder of an error correction system |
US12126361B2 (en) | 2022-03-21 | 2024-10-22 | Intel Corporation | Techniques to improve latency of retry flow in memory controllers |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6751771B2 (en) * | 2000-02-11 | 2004-06-15 | Mediatek, Inc. | Method and apparatus for error processing in optical disk memories |
CN101194428A (zh) * | 2005-06-27 | 2008-06-04 | 汤姆森许可贸易公司 | 迭代解码器中的停止准则 |
US20110029756A1 (en) * | 2009-07-28 | 2011-02-03 | Eric Biscondi | Method and System for Decoding Low Density Parity Check Codes |
CN102024501A (zh) * | 2009-09-18 | 2011-04-20 | 株式会社东芝 | 存储器系统以及对存储器系统的控制方法 |
CN102696176A (zh) * | 2011-07-27 | 2012-09-26 | 华为技术有限公司 | 译码装置 |
Family Cites Families (71)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5379415A (en) * | 1992-09-29 | 1995-01-03 | Zitel Corporation | Fault tolerant memory system |
US7046694B2 (en) * | 1996-06-19 | 2006-05-16 | Digital Radio Express, Inc. | In-band on-channel digital broadcasting method and system |
US6108152A (en) * | 1996-10-01 | 2000-08-22 | Seagate Technology, Inc. | Redundant synchronization fields to improve disc drive read performance |
US7225172B2 (en) * | 1999-07-01 | 2007-05-29 | Yeda Research And Development Co. Ltd. | Method and apparatus for multivariable analysis of biological measurements |
JP3426540B2 (ja) * | 1999-07-12 | 2003-07-14 | 理学電機工業株式会社 | 試料交換機を有する分析システム |
US6526531B1 (en) | 2000-03-22 | 2003-02-25 | Agere Systems Inc. | Threshold detection for early termination of iterative decoding |
US6981198B2 (en) * | 2001-04-26 | 2005-12-27 | Storage Technology Corporation | Dynamic error correction code shortening |
JP2002353821A (ja) * | 2001-05-24 | 2002-12-06 | Mitsubishi Electric Corp | 誤り訂正復号方法および復号装置 |
EP1659727B1 (en) * | 2004-11-19 | 2015-03-25 | ATI International SRL | Iterative decoding of packet data |
WO2007001305A1 (en) * | 2005-06-27 | 2007-01-04 | Thomson Licensing | Stopping criteria in iterative decoders |
US20070089016A1 (en) | 2005-10-18 | 2007-04-19 | Nokia Corporation | Block serial pipelined layered decoding architecture for structured low-density parity-check (LDPC) codes |
US20070113143A1 (en) | 2005-10-25 | 2007-05-17 | Yu Liao | Iterative decoder with stopping criterion generated from error location polynomial |
WO2007068554A1 (en) | 2005-12-12 | 2007-06-21 | Thomson Holding Germany Gmbh & Co. Ohg | Serial concatenation scheme and its iterative decoding using an inner ldpc and an outer bch code |
US7624330B2 (en) * | 2005-12-12 | 2009-11-24 | Lsi Corporation | Unified memory architecture for recording applications |
CN101336516B (zh) * | 2006-01-31 | 2013-04-24 | 英特尔公司 | 级联低密度奇偶校验码的迭代解码 |
US8848442B2 (en) | 2006-03-06 | 2014-09-30 | Sandisk Il Ltd. | Multi-bit-per-cell flash memory device with non-bijective mapping |
US7502254B2 (en) | 2006-04-11 | 2009-03-10 | Sandisk Il Ltd | Method for generating soft bits in flash memories |
US8464120B2 (en) * | 2006-10-18 | 2013-06-11 | Panasonic Corporation | Method and system for data transmission in a multiple input multiple output (MIMO) system including unbalanced lifting of a parity check matrix prior to encoding input data streams |
US7761772B2 (en) * | 2006-10-18 | 2010-07-20 | Trellisware Technologies, Inc. | Using no-refresh DRAM in error correcting code encoder and decoder implementations |
US8166379B1 (en) | 2006-11-03 | 2012-04-24 | Marvell International Ltd. | Calculating soft information from a multi-level modulation signal |
US8059763B1 (en) | 2006-11-09 | 2011-11-15 | Marvell International Ltd. | Approximate soft-information computation in multi-level modulation signaling schemes |
US7895506B2 (en) * | 2006-12-18 | 2011-02-22 | Intel Corporation | Iterative decoder with early-exit condition detection and methods for decoding |
US7814401B2 (en) | 2006-12-21 | 2010-10-12 | Ramot At Tel Aviv University Ltd. | Soft decoding of hard and soft bits read from a flash memory |
US8583981B2 (en) | 2006-12-29 | 2013-11-12 | Marvell World Trade Ltd. | Concatenated codes for holographic storage |
US8065598B1 (en) | 2007-02-08 | 2011-11-22 | Marvell International Ltd. | Low latency programmable encoder with outer systematic code and low-density parity-check code |
US8341506B2 (en) | 2007-03-30 | 2012-12-25 | HGST Netherlands B.V. | Techniques for correcting errors using iterative decoding |
US7765426B2 (en) * | 2007-06-07 | 2010-07-27 | Micron Technology, Inc. | Emerging bad block detection |
US8418015B2 (en) * | 2007-06-08 | 2013-04-09 | China Academy Of Telecommunications Technology | Method, apparatus and system for coding and decoding of LDPC codes |
US8065583B2 (en) | 2007-07-06 | 2011-11-22 | Micron Technology, Inc. | Data storage with an outer block code and a stream-based inner code |
US7889707B2 (en) * | 2007-10-02 | 2011-02-15 | Samsung Electronics Co., Ltd. | Method and system for unequal error protection with block codes for wireless transmission |
US7848142B2 (en) | 2007-10-31 | 2010-12-07 | Micron Technology, Inc. | Fractional bits in memory cells |
JP4462342B2 (ja) | 2007-12-18 | 2010-05-12 | ソニー株式会社 | 復号装置および復号方法 |
US8291292B1 (en) * | 2008-01-09 | 2012-10-16 | Marvell International Ltd. | Optimizing error floor performance of finite-precision layered decoders of low-density parity-check (LDPC) codes |
KR20090083758A (ko) | 2008-01-30 | 2009-08-04 | 삼성전자주식회사 | 연접 부호 복호화 방법 및 장치 |
US20090220034A1 (en) * | 2008-03-03 | 2009-09-03 | Ramprashad Sean A | Layered receiver structure |
US20090271686A1 (en) | 2008-04-28 | 2009-10-29 | Qualcomm Incorporated | Communication signal decoding with iterative cooperation between turbo and reed-solomon decoding |
KR101526317B1 (ko) * | 2008-05-09 | 2015-06-11 | 삼성전자주식회사 | 계층적 디코딩 장치 |
US8291283B1 (en) * | 2008-06-06 | 2012-10-16 | Marvell International Ltd. | Layered quasi-cyclic LDPC decoder with reduced-complexity circular shifter |
JP2010009719A (ja) * | 2008-06-30 | 2010-01-14 | Fujitsu Ltd | 復号器及び記録再生装置 |
US8406048B2 (en) | 2008-08-08 | 2013-03-26 | Marvell World Trade Ltd. | Accessing memory using fractional reference voltages |
KR20110061649A (ko) | 2008-09-30 | 2011-06-09 | 엘에스아이 코포레이션 | 소프트 데이터 값 생성 방법 |
US8683283B2 (en) * | 2008-12-18 | 2014-03-25 | Viasat, Inc. | Delta-theta frequency estimation |
US8190962B1 (en) | 2008-12-30 | 2012-05-29 | Qualcomm Atheros, Inc. | System and method for dynamic maximal iteration |
US8225166B2 (en) | 2009-02-09 | 2012-07-17 | Mediatek Inc. | Signal processing apparatus for setting error indication information according error detection result of outer-code decoder output and related method thereof |
US8413010B1 (en) * | 2009-03-12 | 2013-04-02 | Western Digital Technologies, Inc. | Data storage device employing high quality metrics when decoding logical block address appended to a data sector |
US8578256B2 (en) * | 2009-04-22 | 2013-11-05 | Agere Systems Llc | Low-latency decoder |
US8443267B2 (en) * | 2009-04-28 | 2013-05-14 | Lsi Corporation | Systems and methods for hard decision assisted decoding |
TWI419481B (zh) * | 2009-12-31 | 2013-12-11 | Nat Univ Tsing Hua | 低密度奇偶檢查碼編解碼器及其方法 |
US8327225B2 (en) | 2010-01-04 | 2012-12-04 | Micron Technology, Inc. | Error correction in a stacked memory |
US8522121B2 (en) * | 2010-02-19 | 2013-08-27 | Broadcom Corporation | Low complexity error correction using cyclic redundancy check (CRC) |
KR101633048B1 (ko) | 2010-02-25 | 2016-06-24 | 삼성전자주식회사 | 메모리 시스템 및 그것의 데이터 처리 방법 |
US8341502B2 (en) | 2010-02-28 | 2012-12-25 | Densbits Technologies Ltd. | System and method for multi-dimensional decoding |
KR101541040B1 (ko) * | 2010-03-12 | 2015-08-03 | 엘에스아이 코포레이션 | 플래시 메모리들을 위한 ldpc 소거 디코딩 |
JP2011197957A (ja) * | 2010-03-18 | 2011-10-06 | Toshiba Corp | 誤り訂正符号復号装置及び誤り訂正符号復号方法 |
US8775913B2 (en) | 2010-03-31 | 2014-07-08 | Lsi Corporation | Methods and apparatus for computing soft data or log likelihood ratios for received values in communication or storage systems |
US8341486B2 (en) | 2010-03-31 | 2012-12-25 | Silicon Laboratories Inc. | Reducing power consumption in an iterative decoder |
US8332728B2 (en) | 2010-04-02 | 2012-12-11 | Skymedi Corporation | Method and apparatus of generating a soft value for a memory device |
US8499226B2 (en) | 2010-06-29 | 2013-07-30 | Lsi Corporation | Multi-mode layered decoding |
US8650457B1 (en) * | 2010-09-03 | 2014-02-11 | Marvell International Ltd. | Methods and systems for reconfigurable LDPC decoders |
US8627175B2 (en) * | 2010-09-27 | 2014-01-07 | Seagate Technology Llc | Opportunistic decoding in memory systems |
US8243511B2 (en) | 2010-09-27 | 2012-08-14 | Seagate Technology Llc | Reuse of information from memory read operations |
KR101807538B1 (ko) * | 2010-12-30 | 2017-12-12 | 삼성전자주식회사 | 듀얼-신드롬 생성기를 포함하는 에러 정정 코드 블록, 이의 동작 방법, 및 상기 에러 정정 코드 블록을 포함하는 시스템 |
JP5790029B2 (ja) * | 2011-03-01 | 2015-10-07 | ソニー株式会社 | 復号装置、復号方法、およびプログラム |
KR101854954B1 (ko) * | 2011-07-29 | 2018-05-04 | 샌디스크 테크놀로지스 엘엘씨 | 치환 소행렬의 합을 사용하는 체크섬 |
US8938660B1 (en) * | 2011-10-10 | 2015-01-20 | Marvell International Ltd. | Systems and methods for detection and correction of error floor events in iterative systems |
US8996957B1 (en) * | 2012-05-22 | 2015-03-31 | Pmc-Sierra, Inc. | Systems and methods for initializing regions of a flash drive having diverse error correction coding (ECC) schemes |
US9021337B1 (en) * | 2012-05-22 | 2015-04-28 | Pmc-Sierra, Inc. | Systems and methods for adaptively selecting among different error correction coding schemes in a flash drive |
US8781033B2 (en) * | 2012-06-26 | 2014-07-15 | Lsi Corporation | Apparatus and method for breaking trapping sets |
US8966339B1 (en) * | 2012-12-18 | 2015-02-24 | Western Digital Technologies, Inc. | Decoder supporting multiple code rates and code lengths for data storage systems |
US8984376B1 (en) * | 2013-03-14 | 2015-03-17 | Pmc-Sierra Us, Inc. | System and method for avoiding error mechanisms in layered iterative decoding |
US9564922B1 (en) * | 2014-03-19 | 2017-02-07 | Microsemi Storage Solutions (U.S.), Inc. | Error correction code decoder with stochastic floor mitigation |
-
2013
- 2013-01-22 US US13/746,768 patent/US9116822B2/en active Active
- 2013-12-09 CN CN201380070923.8A patent/CN104937555B/zh active Active
- 2013-12-09 KR KR1020157017461A patent/KR101645906B1/ko active IP Right Grant
- 2013-12-09 WO PCT/US2013/073836 patent/WO2014089550A1/en active Application Filing
- 2013-12-09 CN CN201711304197.8A patent/CN107967186B/zh active Active
- 2013-12-09 JP JP2015545908A patent/JP6110953B2/ja active Active
- 2013-12-09 EP EP13860402.0A patent/EP2929436B1/en active Active
-
2015
- 2015-07-28 US US14/811,339 patent/US10193577B2/en active Active
-
2019
- 2019-01-10 US US16/244,627 patent/US10998923B2/en active Active
-
2021
- 2021-05-03 US US17/306,698 patent/US11405058B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6751771B2 (en) * | 2000-02-11 | 2004-06-15 | Mediatek, Inc. | Method and apparatus for error processing in optical disk memories |
CN101194428A (zh) * | 2005-06-27 | 2008-06-04 | 汤姆森许可贸易公司 | 迭代解码器中的停止准则 |
US20110029756A1 (en) * | 2009-07-28 | 2011-02-03 | Eric Biscondi | Method and System for Decoding Low Density Parity Check Codes |
CN102024501A (zh) * | 2009-09-18 | 2011-04-20 | 株式会社东芝 | 存储器系统以及对存储器系统的控制方法 |
CN102696176A (zh) * | 2011-07-27 | 2012-09-26 | 华为技术有限公司 | 译码装置 |
Also Published As
Publication number | Publication date |
---|---|
US10998923B2 (en) | 2021-05-04 |
CN107967186B (zh) | 2021-07-27 |
US20190149175A1 (en) | 2019-05-16 |
EP2929436B1 (en) | 2020-07-01 |
US20140164867A1 (en) | 2014-06-12 |
JP6110953B2 (ja) | 2017-04-05 |
CN104937555A (zh) | 2015-09-23 |
US11405058B2 (en) | 2022-08-02 |
US20150333774A1 (en) | 2015-11-19 |
US20210258022A1 (en) | 2021-08-19 |
EP2929436A4 (en) | 2016-08-31 |
CN104937555B (zh) | 2018-01-16 |
US9116822B2 (en) | 2015-08-25 |
JP2016504848A (ja) | 2016-02-12 |
KR101645906B1 (ko) | 2016-08-12 |
EP2929436A1 (en) | 2015-10-14 |
US10193577B2 (en) | 2019-01-29 |
KR20150091148A (ko) | 2015-08-07 |
WO2014089550A1 (en) | 2014-06-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104937555B (zh) | 用于控制存储器装置的方法和控制器及存储器系统 | |
US9639419B2 (en) | Read voltage level estimating method, memory storage device and memory control circuit unit | |
CN109616148B (zh) | 具有解码器的存储器系统、其操作方法和解码器 | |
CN101329916B (zh) | 闪存装置纠错码控制器以及相关方法和存储系统 | |
US9471421B2 (en) | Data accessing method, memory storage device and memory controlling circuit unit | |
US20190252035A1 (en) | Decoding method, memory storage device and memory control circuit unit | |
US11243838B2 (en) | Methods and apparatuses for error correction | |
CN104769556A (zh) | 更新可靠性数据 | |
CN110444246A (zh) | 用于存储器系统的相邻辅助校正错误恢复及其方法 | |
KR20180027803A (ko) | 메모리 컨트롤러, 반도체 메모리 시스템 및 그것의 동작 방법 | |
US11182243B2 (en) | Memory system with adaptive information propagation and method of operating such memory | |
KR20180018069A (ko) | 메모리 컨트롤러, 반도체 메모리 시스템 및 그것의 동작 방법 | |
US11190217B2 (en) | Data writing method, memory controlling circuit unit and memory storage device | |
US20190074852A1 (en) | Decoding method, memory storage device and memory control circuit unit | |
US11146295B1 (en) | Decoding method, memory storage device, and memory controlling circuit unit | |
US11062758B2 (en) | Memory system to process multiple word line failures with limited storage and method of operating such memory system | |
KR20180033740A (ko) | 메모리 컨트롤러, 반도체 메모리 시스템 및 그것의 동작 방법 | |
KR102513782B1 (ko) | 컨트롤러 및 그것의 동작 방법 | |
US20190288712A1 (en) | Memory system with adaptive threshold decoding and method of operating such memory system | |
KR102714110B1 (ko) | 메모리 컨트롤러, 반도체 메모리 시스템 및 그것의 동작 방법 | |
KR20230020744A (ko) | 메모리 시스템 및 메모리 시스템의 동작 방법 |
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 |