CN104303155B - 用于组合错误译码与调制方案的设备及方法 - Google Patents
用于组合错误译码与调制方案的设备及方法 Download PDFInfo
- Publication number
- CN104303155B CN104303155B CN201380013251.7A CN201380013251A CN104303155B CN 104303155 B CN104303155 B CN 104303155B CN 201380013251 A CN201380013251 A CN 201380013251A CN 104303155 B CN104303155 B CN 104303155B
- Authority
- CN
- China
- Prior art keywords
- data
- memory
- encoded
- decode
- decoder
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
-
- 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/1072—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 multilevel memories
-
- 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
-
- 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/25—Error detection or forward error correction by signal space coding, i.e. adding redundancy in the signal constellation, e.g. Trellis Coded Modulation [TCM]
- H03M13/255—Error detection or forward error correction by signal space coding, i.e. adding redundancy in the signal constellation, e.g. Trellis Coded Modulation [TCM] with Low Density Parity Check [LDPC] 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/25—Error detection or forward error correction by signal space coding, i.e. adding redundancy in the signal constellation, e.g. Trellis Coded Modulation [TCM]
- H03M13/256—Error detection or forward error correction by signal space coding, i.e. adding redundancy in the signal constellation, e.g. Trellis Coded Modulation [TCM] with trellis coding, e.g. with convolutional codes and TCM
-
- 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/63—Joint error correction and other techniques
- H03M13/6325—Error control coding in combination with demodulation
-
- 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/63—Joint error correction and other techniques
- H03M13/6331—Error control coding in combination with equalisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0045—Arrangements at the receiver end
- H04L1/0047—Decoding adapted to other signal detection operation
- H04L1/005—Iterative decoding, including iteration between signal detection and decoding operation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0057—Block codes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0059—Convolutional codes
- H04L1/006—Trellis-coded modulation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0064—Concatenated codes
- H04L1/0065—Serial concatenated 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/39—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
- H03M13/41—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors
- H03M13/4138—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors soft-output Viterbi algorithm based decoding, i.e. Viterbi decoding with weighted decisions
- H03M13/4146—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors soft-output Viterbi algorithm based decoding, i.e. Viterbi decoding with weighted decisions soft-output Viterbi decoding according to Battail and Hagenauer in which the soft-output is determined using path metric differences along the maximum-likelihood path, i.e. "SOVA" decoding
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Quality & Reliability (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Error Detection And Correction (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本文中描述用于组合错误译码与调制方案的方法及设备。一或多种方法包含:使用线性错误校正码来编码数据;调制所述经编码数据;将所述经调制数据写入到存储器;以及使用维特比算法及线性错误校正码解码器来解码所述经写入数据。
Description
技术领域
本发明一般来说涉及半导体存储器设备及方法,且更明确地说,涉及用于组合错误译码与调制方案的设备及方法。
背景技术
通常将存储器装置提供为计算机或其它电子装置中的内部半导体集成电路。存在许多不同类型的存储器,包含随机存取存储器(RAM)、只读存储器(ROM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(SDRAM)、电阻式存储器(例如,RRAM)及快闪存储器,以及其它存储器。
存储器装置针对宽范围的电子应用用作易失性及非易失性数据存储装置。快闪存储器(其仅是一种类型的存储器)通常包括允许高存储器密度、高可靠性及低功率消耗的若干个存储器单元阵列。非易失性存储器可用于(举例来说)个人计算机、便携式存储器棒、固态驱动器(SSD)、数码相机、蜂窝式电话、例如MP3播放器的便携式音乐播放器、电影播放器及其它电子装置中。
发明内容
本申请的一个实施例提供了一种用于操作存储器(110-1、...、110-N、210、310)的方法,所述方法包括:使用线性错误校正码来编码数据(212-1);调制经编码数据(216-1),其包括:使用(1/(1 xor D))预译码器操作来对所述经编码数据(216-1)进行预译码;以及对经预译码数据(222)执行(1+D)运算,其中D对应于一个单位的延迟;将经调制数据(226)写入到存储器(110-1、...、110-N、210、310),其中所述经调制数据(226)是多级数据;以及使用维特比算法及线性错误校正码解码器(236)来解码经写入数据。
本申请的另一实施例提供了一种用于操作存储器(110-1、...、110-N、210、310)的方法,所述方法包括:从存储器(110-1、...、110-N、210、310)读取数据;以及使用维特比算法及线性错误校正码解码器(236)来解码所述所读取数据(232),其中所读取数据(232)是通过使用(1/(1 xor D))预译码器操作对所读取数据进行预译码,以及对经预译码的数据执行(1+D)运算的调制数据(226),其中D对应于一个单位的延迟,其中所读取数据包含使用线性错误校正码编码的数据,且其中经调制数据(226)是多级数据。
本申请的又一实施例提供了一种半导体存储器设备,其包括:存储器(110-1、...、110-N、210、310);控制器(108),其耦合到所述存储器(110-1、...、110-N、210、310);错误校正码编码器(107),其耦合到所述控制器(108)且经配置以编码二进制数据(212-1);以及调制组件(109),其耦合到所述控制器(108)且经配置以通过(1/(1 xor D))预译码器操作,对经预译码的数据执行(1+D)运算,其中D对应于一个单位的延迟,以及通过扩展经编码二进制数据(216-1)的信号集而调制所述经编码二进制数据(216-1);其中所述控制器(108)经配置以控制:将所述经调制数据(226)写入到所述存储器(110-1、...、110-N、210、310);从所述存储器(110-1、...、110-N、210、310)读取所述经调制数据(226),其中所述经调制数据(226)是多级数据;以及使用维特比算法来解码所述所读取的经调制数据(226)。
附图说明
图1是根据本发明的若干个实施例的呈包含至少一个存储器系统的计算系统的形式的设备的框图。
图2是根据本发明的若干个实施例的图解说明组合信号集扩展与低密度奇偶校验(LDPC)码的功能框图。
图3图解说明根据本发明的若干个实施例产生的网格。
具体实施方式
提供用于组合错误译码与调制方案的设备及方法。一种实例方法可包含:使用线性错误校正码来编码数据;调制所述经编码数据;将所述经调制数据写入到存储器;及使用维特比算法及线性错误校正码解码器来解码所述经写入数据。
可使用例如博斯-查德胡里-霍昆格姆(BCH)码的代数错误校正码来校正快闪数据中的固定数目个错误。低密度奇偶校验(LDPC)码可胜过此些BCH码。举例来说,可借助软数据(例如,可靠性信息)来解码LDPC码。
当存储密度增加时,与读取操作相关联的信噪比(SNR)可降低,此可导致需要较强错误校正码以(举例来说)防止读取错误。用以增加SNR的一种方法包含(举例来说)经由网格译码调制(TCM)进行信号集的扩展。举例来说,所述信号集的扩展可包含将二进制数据转换为多级数据。
本发明的实施例可通过组合LDPC与TCM而提供增加的SNR。实施例还可连同由维特比组件产生的软数据一起有效地使用由解码器产生的软数据来增加SNR增益。
在本发明的以下详细说明中,参考形成本发明的一部分的附图,且图式中以图解方式展示可如何实践本发明的一或多个实施例。充分详细地描述这些实施例以使得所属领域的技术人员能够实践本发明的所述实施例,且应理解,可利用其它实施例且可在不背离本发明的范围的情况下做出过程、电及/或结构改变。如本文中所使用,标号“N”指示,如此标示的特定特征中的一或多者可与本发明的一或多个实施例包含在一起。
本文中的图遵循其中第一个数字或前几个数字对应于图式的图号且其余数字识别图式中的元件或组件的编号惯例。不同图之间的类似元件或组件可通过使用类似数字来识别。如将了解,可添加、更换及/或消除本文中的各种实施例中所展示的元件以便提供本发明的若干个额外实施例。另外,图中所提供的元件的比例及相对标度打算图解说明本发明的各种实施例且并不以限制意义而使用。
图1是根据本发明的若干个实施例的呈包含至少一个存储器系统104的计算系统100的形式的设备的框图。如本文中所使用,还可将存储器系统104、控制器108或存储器装置110单独地视为“设备”。存储器系统104可为(举例来说)固态驱动器(SSD)且可包含主机(例如,物理)接口106、控制器108(例如,处理器及/或其它控制电路)及提供用于存储器系统104的存储卷的若干个存储器装置110-1、…、110-N(例如,例如NAND快闪装置等固态存储器装置)。在另一实施例中,存储器系统104可简单地为单个存储器装置。
如图1中所图解说明,控制器108可经由多个通道耦合到主机接口106及存储器装置110-1、...、110-N,且可用于在存储器系统104与主机102之间传送数据。接口106可呈标准化接口的形式。举例来说,当存储器系统104用于计算系统100中的数据存储时,接口106可为串行高级技术附件(SATA)、外围组件互连高速(PCIe)或通用串行总线(USB)及其它连接器及接口。然而,一般来说,接口106可提供用于在存储器系统104与具有用于接口106的兼容接收器的主机102之间传递控制、地址、数据及其它信号的接口。
主机102可为主机系统,例如个人膝上型计算机、桌上型计算机、数码相机、移动电话或存储器读卡器以及各种其它类型的主机。主机102可包含系统主板及/或底板且可包含若干个存储器存取装置(例如,若干个处理器)。主机102还可为存储器控制器,例如其中存储器系统104是存储器装置(例如,具有裸片上控制器)。
控制器108可与所述若干个存储器装置110-1、...、110-N(在一些实施例中,其可为单个裸片上的若干个存储器阵列)通信以控制数据读取、写入及擦除操作以及其它操作。在一些实施例中,控制器108可与所述若干个存储器装置110中的任一者或全部处于同一裸片或不同裸片上。
虽然未具体图解说明,但在一些实施例中,针对将控制器108耦合到存储器装置110-1、...、110-N的每一通道,控制器108可包含离散存储器通道控制器。控制器108可包含(举例来说)呈硬件及/或固件(例如,一或多个集成电路)及/或软件的形式的若干个组件以用于控制对所述若干个存储器装置110-1、...、110-N的存取及/或用于促进主机102与存储器装置110-1、...、110-N之间的数据传送。
如图1中所图解说明,控制器108可包含错误译码组件107(例如,例如错误校正码(ECC)引擎等编码器)及调制组件109(例如,供在TCM中使用)。错误译码组件107及调制组件109中的每一者可为例如专用集成电路(ASIC)等离散组件,或所述组件可反映通过控制器108内的未必具有与控制器108的其它部分分离的离散物理形式的电路提供的功能性。虽然在图1中图解说明为控制器108内的组件,但错误译码组件107及调制组件109中的每一者可在控制器108外部或具有位于控制器108内的若干个组件及位于控制器108外部的若干个组件。
错误译码组件107可经配置以编码从主机102接收且待存储于(例如,写入到)例如存储器装置110-1、...、110-N等存储器上的数据(例如,用户数据)。举例来说,可使用例如LDPC码等线性错误校正码来编码用户数据,如本文中更详细地描述。
经编码数据可具有对应于其的码率。码率可是指非冗余的经编码数据的比例。在本发明的若干个实施例中,可将二进制编码数据转换为多级信号(例如,三级信号)。举例来说,可使用从二到三的信号集扩展,此可在无码率损失的情况下增加三级域中的最靠近信号序列对之间的欧几里德距离。
在若干个实施例中,控制器108可经配置以:使用线性错误校正码编码器来编码二进制数据;使用调制方案来将二进制数据转换为多级数据;将多级数据写入到存储器;从存储器读取数据;及使用维特比算法来解码所读取数据;以及经由线性错误校正码解码器来解码通过维特比算法产生的硬数据及软数据。可使用LDPC码来编码二进制数据,且用于转换二进制数据的调制方案可包含TCM。维特比算法可包含软输出维特比算法(SOVA),且线性错误校正码解码器可包含LDPC解码器。在若干个实施例中,控制器108可经配置以在SOVA与LDPC解码器之间迭代地互换软数据。SOVA不同于典型维特比算法之处可在于:其使用考虑输入符号的前概率的经修改路径度量,且产生指示决策的可靠性的软输出。本文中较详细地描述与控制器108相关联的额外功能性。
所述若干个存储器装置110-1、...、110-N可包含若干个存储器单元(例如,非易失性存储器单元)阵列。举例来说,所述阵列可为具有NAND架构的快闪阵列。然而,实施例并不限于特定类型的存储器阵列或阵列架构。举例来说,可将存储器单元分组成包含若干个物理页的若干个块。若干个块可包含于存储器单元平面中且阵列可包含若干个平面。作为一个实例,存储器装置可经配置以存储每页8KB(千字节)的用户数据,每块128页的用户数据,每平面2048个块及每装置16个平面。
举例来说,在操作中,数据可作为数据页写入到存储器(例如,系统104的存储器装置110-1、…、110-N)及/或从所述存储器进行读取。因此,数据页可称为存储器系统的数据传送大小。可以称为扇区(例如,主机扇区)的数据段形式将数据传送到主机(例如,主机102)/从主机(例如,主机102)传送数据。因此,数据扇区可称为主机的数据传送大小。
虽然数据页可包含若干个用户数据字节(例如,数据有效负载包含若干个数据扇区)以及对应于其的元数据,但数据页的大小通常可仅是指用户数据的字节数目。作为实例,具有4KB的页大小的数据页可包含4KB的用户数据(例如,采用512B的扇区大小的8个扇区)以及若干个字节(例如,32B、54B、224B等)的对应于用户数据的元数据。元数据还可包含完整性数据,例如错误数据(例如,错误检测及/或校正码数据)及/或地址数据(例如,逻辑地址数据),以及对应于用户数据的其它元数据。
图2是根据本发明的若干个实施例的与组合信号集扩展(例如,TCM)与LDPC码相关联的功能框图220。与代数错误校正码(例如,BCH码)相比,LDPC码可提供增加的错误校正能力且(举例来说)还可连同软数据一起进行解码。
在若干个实施例中,与使用仅LDPC或仅信号集扩展而实现的SNR相比,组合LDPC码与信号集扩展可产生SNR增益。举例来说,单电平单元上的未经历信号集扩展的处于给定速率的二进制LDPC码可使SNR增加约7倍,其中具有给定码率损失。类似地,已经历信号集扩展的处于相同或类似给定速率的非LDPC码可使SNR增加9倍,其中具有相同或类似给定码率损失。然而,在若干个实施例中,已经历信号集扩展(例如,从二级到三级)的处于相同或类似给定速率的二进制LDPC码可使SNR增加约18倍,其中具有相同或类似给定码率损失。
图2图解说明由线性错误校正码编码器214(例如,LDPC编码器)接收的主机数据212-1(例如,二进制主机数据)Hk。主机数据212-1经由LDPC编码器214而编码且经编码数据Uk 216-1被提供到预译码器218。预译码器218对经编码数据216-1执行预译码操作。
作为实例,所述预译码操作可为将二进制编码数据(例如,Uk 216-1)转换为经预译码数据222(例如,Vk)的(1/(1 xor D)运算。由预译码器218输出的经预译码数据Vk由运算器224接收。运算器224可经由(1+D)运算将二进制经预译码数据Vk转换为多级数据226(例如,Xk)。因此,信号集从二进制域(例如,二级)扩展到多级域(例如,三级)。作为实例,可将Xk数据226(其可为Uk数据216-1的三级等效形式)写入到存储器(例如,快闪存储器210)。
在实例操作中,D可对应于一个单位的延迟。举例来说,在操作中,yn=xn+x(n-1),当前样本xn被添加到先前样本x(n-1)。此可由表达式(1+D)表示:所述“1”代表当下瞬时的样本(xn),且D代表一个单位的延迟(例如,x(n-1))。
在图2中所图解说明的实例中,与TCM相关联地利用(1/(1 xor D))预译码操作与(1+D)运算的组合,此导致信号集扩展(例如,将二进制数据转换为多级数据)。举例来说,信号集扩展可增加三级域中的最靠近信号序列对之间的欧几里德距离。在若干个实施例中,可在不具有与LDPC相关联的码率损失的情况下实现信号集扩展。在信号集扩展(例如,TCM)期间,可产生可包含若干个状态的多级网格(例如,双态三级网格),关于图3进一步详细论述其实例。
与多级数据Xk相关联的信号噪声nk(例如,Xk+nk)可从存储器210读取且经由维特比组件234而解码。在若干个实施例中,且如图2中所图解说明,维特比组件234可为能够产生对应于所读取数据232的软数据(例如,对数似然比(LLR))的SOVA(例如,双态SOVA)。由维特比组件234产生的软数据可包括LDPC码位连同对应于那些LDPC码位的可靠性度量。可使用LLR来比较两个模型(例如,码序列中的“0”与“1”)的拟合。举例来说,如果位为“0”的概率是0.7且位为“1”的概率是0.3,那么LLR等于log(0.7/0.3)。
经解码硬及软数据Uk从维特比组件234输出且可使用LDPC解码器236进行进一步解码。所得经解码主机数据Hk 212-2可提供到请求实体(例如,例如图1中所展示的主机102等主机)。在若干个实施例中,举例来说,与先前LDPC方法相比,经解码主机数据212-2包含增加的SNR增益。
在若干个实施例中,可引入维特比组件234与LDPC解码器236之间的迭代软数据互换以进一步细化与Uk 216-2相关联的软数据。举例来说,LDPC解码器236还可产生软数据(例如,LLR)。举例来说,LDPC解码器236可输出具有主机数据Hk 212-2的软数据,且可将此软数据发送到维特比组件234供用于进一步解码且然后往回发送到LDPC解码器236(例如,在迭代过程中)。在若干个实施例中,举例来说,此迭代过程可持续直到与数据216-2相关联的噪声减小到所要阈值电平为止。
图3图解说明可根据本发明的若干个实施例中的一者产生的网格330。作为实例,网格330可经由由例如图2中所展示的组件218及224等组件执行的操作而产生。网格330是可用于TCM调制方案(还称为网格调制)中的双态维特比网格(例如,状态1及状态0)。与其它调制方案相比,TCM可导致增加的传输效率。
在图3中所图解说明的实例中,可使用LDPC编码器314来编码数据(例如,主机数据212-1)。经编码数据可经历TCM使得信号集得以扩展(例如,从二进制域扩展到三级域)。举例来说,如连同图2所描述,可对从314输出的数据执行(1/(1 xor D))运算与(1+D)运算的组合,此可导致信号扩展及例如网格330等网格的产生。因此,双态网格330中的两个最靠近三级信号序列之间的平方欧几里德距离可为未经译码三级信号序列之间的平方欧几里德距离的两倍。在若干个实施例中,网格330的级可包含约-4伏特到3伏特的电压值。
网格330包含两个状态,包含“状态0”(例如,状态338-1、338-2及338-3)及“状态1”(例如,状态342-1、342-2及342-3)。如图3中所图解说明,状态之间的每一线表示序列路径,且每一路径标记有位(例如,LDPC编码器输出位)及对应三级信号。举例来说,路径344-1及344-2指示具有对应三级信号“0”的位“0”。类似地,举例来说,路径348-1及348-2指示位“0”及对应三级信号“2”,而路径346-1、...、346-4指示具有对应三级信号“1”的位“1”。
由状态序列0–0–0形成的路径边缘上的三级标记序列可由0–0(例如,路径344-1及344-2)给出,而由状态序列0–1–0形成的路径边缘上的三级标记序列可由1–1(例如,路径346-1及346-2)给出。在此实例中,两个路径之间的平方欧几里德距离等于2。举例来说,(1-0)2+(1-0)2=2。其它路径对在其之间将始终具有较大距离。
网格330可包含网格中的与网格中的至少一个其它级具有特定关系的级。举例来说,图2的二进制用户数据Uk 216可基于经由图2的预译码器218执行的(1/(1 xor D))运算及由图2的运算器224执行的(1+D)运算而与三级数据Xk 226相关。与对应于彼此独立的级的未扩展信号集(例如,二级、三级或四级数据)相比,经由此些运算实现的关系可导致对噪声的稳健性(例如,SNR增益)。
在图3中,路径344-1、344-2、346-1、346-2、346-3、346-4、348-1及348-2的值表示Uk/Xk,其中Uk是例如图2中所展示的216-1等二进制数据且Xk是例如图2中所展示的数据226等经调制数据(例如,三级数据)。举例来说,如本文中将进一步论述,路径348-1具有Uk值0、Xk值2且标记为0/2。这些路径可对应于由级序列采取的可能路径,且与不具有路径信息的组件相比,此路径信息可由维特比组件(例如,图2中所展示的组件234)利用以识别由多级数据在其通过网格330时使用的路径,从而导致维特比组件的经增加性能。
作为实例,考虑由例如图2中所展示的预译码器218等预译码器接收的二进制用户数据Uk={1 0 0 1 0 1 0 1 1 ...}。通过对Uk执行特定运算(例如,1/(1 xor D)运算),可确定经预译码数据Vk。举例来说,Vk=xor(Uk,Vk-i)导致Vk-{1 1 1 0 0 1 1 0 1 ...}。
对Vk利用(1+D)运算器可导致3级数据Xk的产生。举例来说,Xk-Vk+Vk-i,使得Xk={12 2 1 0 1 2 1 1 ...}。因此,在网格330的级0、1与2之间(尤其在Uk与Xk之间)存在关系,其中如果Uk=1,那么Xk=1。与具有彼此独立的级的存储器单元相比,此关系导致增加的SNR增益。
在上述实例中,如果1的偶数在Uk序列中于序列中的特定点处经过,那么为0的Uk值产生Xk=0,如在路径344-1及344-2中。此可称为状态0(例如,状态338-1、338-2及338-3)。如果1的奇数在Uk序列中于序列中的特定点处经过,那么为0的Uk值产生Xk=2,如在路径348-1及348-2中。此可称为状态1(例如,状态342-1、342-2及342-3)。
从TCM输出的数据(例如,多级数据)可写入到存储器(例如,快闪存储器)310且发送到SOVA以供解码,如在图2的232处所图解说明。在若干个实施例中,SNR增益可通过对网格(例如,网格330)使用维特比算法来依据从存储器(例如,存储器310)读取的软数据恢复二进制LDPC码而实现。所述软数据可包含对关于图3所论述的三级信号(例如,Xk)的近似值。
虽然本文中已图解说明及描述特定实施例,但所属领域的技术人员将了解,经计算以实现相同结果的布置可替代所展示的特定实施例。本发明打算涵盖对本发明的各种实施例的更改或变化。应理解,上述说明是以说明性方式而非限制性方式做出。在审阅上述说明后,所属领域的技术人员即刻将明了上述实施例的组合及本文中未具体描述的其它实施例。本发明的各种实施例的范围包含其中使用上述结构及方法的其它应用。因此,本发明的各种实施例的范围应参考所附权利要求书连同此权利要求书授权的等效物的全部范围来确定。
在前述具体实施方式中,出于简化本发明的目的,将各种特征一起分组于单个实施例中。本发明的此方法不应解释为反映本发明的所揭示实施例必须使用比每一权利要求中明确陈述的特征多的特征的意图。而是,如所附权利要求书反映,发明性标的物在于少于单个所揭示实施例的所有特征。因此,特此将所附权利要求书并入到具体实施方案中,其中每一权利要求独立地作为单独实施例。
Claims (21)
1.一种用于操作存储器(110-1、...、110-N、210、310)的方法,所述方法包括:
使用线性错误校正码来编码数据(212-1);
调制经编码数据(216-1),其包括:
使用(1/(1xor D))预译码器操作来对所述经编码数据(216-1)进行预译码;以及
对经预译码数据(222)执行(1+D)运算,其中D对应于一个单位的延迟;
将经调制数据(226)写入到存储器(110-1、...、110-N、210、310),其中所述经调制数据(226)是多级数据;以及
使用维特比算法及线性错误校正码解码器(236)来解码经写入数据。
2.根据权利要求1所述的方法,其中编码数据包含使用低密度奇偶校验LDPC码来对数据进行错误译码。
3.根据权利要求1所述的方法,其中调制所述经编码数据(216-1)包含对所述经编码数据(216-1)执行网格译码调制TCM。
4.根据权利要求1到3中任一权利要求所述的方法,其中执行调制方案包含扩展所述经编码数据(216-1)的信号集。
5.根据权利要求3所述的方法,其中执行TCM包含产生多级网格(330)。
6.根据权利要求5所述的方法,其中产生所述多级网格(330)包含经由对经编码数据进行预译码和执行(1+D)运算来产生所述多级网格。
7.根据权利要求1到3中任一权利要求所述的方法,其中调制所述经编码数据(216-1)包含增加与所述经编码数据(216-1)相关联的两个最靠近多级序列之间的平方欧几里德距离。
8.根据权利要求7所述的方法,其中所述多级数据中的两个最靠近多级序列之间的平方欧几里德距离为与所述经编码数据(216-1)相关联的两个最靠近多级序列之间的所述平方欧几里德距离的两倍。
9.根据权利要求1到3中任一权利要求所述的方法,其中将所述经编码数据(216-1)转换为多级数据包含在不具有低密度奇偶校验LDPC码率损失的情况下转换所述经编码数据(216-1)。
10.根据权利要求1到3中任一权利要求所述的方法,其中操作所述存储器(110-1、...、110-N、210、310)包含从所述存储器(110-1、...、110-N、210、310)读取数据及将所读取数据提供到维特比组件(234)及低密度奇偶校验LDPC解码器(236)。
11.一种用于操作存储器(110-1、...、110-N、210、310)的方法,所述方法包括:
从存储器(110-1、...、110-N、210、310)读取数据;以及
使用维特比算法及线性错误校正码解码器(236)来解码所述所读取数据(232),
其中所读取数据(232)是通过使用(1/(1xor D))预译码器操作对所读取数据进行预译码,以及对经预译码的数据执行(1+D)运算的调制数据(226),其中D对应于一个单位的延迟,其中所读取数据包含使用线性错误校正码编码的数据,且其中经调制数据(226)是多级数据。
12.根据权利要求11所述的方法,其中解码所述所读取数据包含使用软输出维特比算法SOVA(234)及低密度奇偶校验LDPC解码器(236)来解码所述所读取数据(232)。
13.根据权利要求11所述的方法,其中解码所述所读取数据(232)包含产生软数据及硬数据。
14.根据权利要求13所述的方法,其中使用软输出维特比算法SOVA(234)及低密度奇偶校验LDPC解码器(236)来解码所述所读取数据包含使用双态软输出维特比算法SOVA(234)。
15.根据权利要求13所述的方法,其中使用软输出维特比算法SOVA(234)及低密度奇偶校验LDPC解码器(236)来解码所述所读取数据包含使用所述SOVA(234)产生对数似然比LLR。
16.一种半导体存储器设备,其包括:
存储器(110-1、...、110-N、210、310);
控制器(108),其耦合到所述存储器(110-1、...、110-N、210、310);
错误校正码编码器(107),其耦合到所述控制器(108)且经配置以编码二进制数据(212-1);以及
调制组件(109),其耦合到所述控制器(108)且经配置以通过(1/(1xor D))预译码器操作,对经预译码的数据执行(1+D)运算,其中D对应于一个单位的延迟,以及通过扩展经编码二进制数据(216-1)的信号集而调制所述经编码二进制数据(216-1);
其中所述控制器(108)经配置以控制:
将所述经调制数据(226)写入到所述存储器(110-1、...、110-N、210、310);
从所述存储器(110-1、...、110-N、210、310)读取所述经调制数据(226),其中所述经调制数据(226)是多级数据;以及
使用维特比算法来解码所述所读取的经调制数据(226)。
17.根据权利要求16所述的设备,其进一步包括耦合到所述控制器(108)且经配置以解码通过所述维特比算法产生的硬数据及软数据的线性错误校正码解码器(236)。
18.根据权利要求16所述的设备,其中所述错误校正码编码器(107)进一步经配置以使用低密度奇偶校验LDPC码来编码二进制数据。
19.根据权利要求16到18中任一权利要求所述的设备,其中所述调制组件(109)进一步经配置以使用网格译码调制TCM来扩展所述信号集。
20.根据权利要求17所述的设备,所述控制器(108)经配置以控制解码硬数据及软数据包括所述控制器(108)经配置以控制使用软输出维特比算法SOVA(234)及低密度奇偶校验LDPC解码器(236)来解码硬数据及软数据。
21.根据权利要求19所述的设备,其中使用所述(1/(1xor D))运算(218)且随后使用所述(1+D)运算(224)对所述经编码二进制数据(216-1)执行所述TCM。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/415,422 US8892986B2 (en) | 2012-03-08 | 2012-03-08 | Apparatuses and methods for combining error coding and modulation schemes |
US13/415,422 | 2012-03-08 | ||
PCT/US2013/028678 WO2013134071A1 (en) | 2012-03-08 | 2013-03-01 | Apparatuses and methods for combining error coding and modulation schemes |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104303155A CN104303155A (zh) | 2015-01-21 |
CN104303155B true CN104303155B (zh) | 2018-12-11 |
Family
ID=49115167
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380013251.7A Active CN104303155B (zh) | 2012-03-08 | 2013-03-01 | 用于组合错误译码与调制方案的设备及方法 |
Country Status (7)
Country | Link |
---|---|
US (2) | US8892986B2 (zh) |
EP (1) | EP2823399B1 (zh) |
JP (1) | JP6016952B2 (zh) |
KR (1) | KR101645837B1 (zh) |
CN (1) | CN104303155B (zh) |
TW (1) | TWI510000B (zh) |
WO (1) | WO2013134071A1 (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8892986B2 (en) * | 2012-03-08 | 2014-11-18 | Micron Technology, Inc. | Apparatuses and methods for combining error coding and modulation schemes |
RU2573243C2 (ru) | 2013-10-28 | 2016-01-20 | Общество с ограниченной ответственностью "Топкон Позишионинг Системс" | Способ и устройство для измерения текущего отношения сигнал/шум при декодировании ldpc-кодов (варианты) |
US9582361B2 (en) | 2014-05-20 | 2017-02-28 | Seagate Technology Llc | Fixed point conversion of LLR values based on correlation |
US9904591B2 (en) | 2014-10-22 | 2018-02-27 | Intel Corporation | Device, system and method to restrict access to data error information |
CN106169312B (zh) * | 2015-05-18 | 2021-05-07 | 爱思开海力士有限公司 | 用于快闪存储的广义乘积码 |
US9740558B2 (en) | 2015-05-31 | 2017-08-22 | Intel Corporation | On-die ECC with error counter and internal address generation |
US10127101B2 (en) | 2015-08-28 | 2018-11-13 | Intel Corporation | Memory device error check and scrub mode and error transparency |
EP3639411B1 (en) * | 2017-06-07 | 2021-02-24 | Huawei Technologies Co., Ltd. | Transmission systems with controlled bit probabilities |
US10886947B2 (en) * | 2018-12-20 | 2021-01-05 | Toshiba Memory Corporation | Efficient decoding of n-dimensional error correction codes |
CN110008054B (zh) * | 2019-02-25 | 2023-05-12 | 西南交通大学 | 一种用于存储器差错控制的多级读取译码的方法和装置 |
Family Cites Families (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2668455B2 (ja) * | 1990-12-20 | 1997-10-27 | 富士通株式会社 | ビタビ復調制御方式 |
US5550683A (en) * | 1992-12-11 | 1996-08-27 | Eastman Kodak Company | Magnetic recording channel employing a non-ideal d.c.-free equalizer and a d.c.-free modulation code |
JPH08235593A (ja) * | 1994-10-31 | 1996-09-13 | Hitachi Maxell Ltd | 光記録媒体並びにその記録・再生方法及び装置 |
US5968198A (en) | 1996-08-16 | 1999-10-19 | Ericsson, Inc. | Decoder utilizing soft information output to minimize error rates |
JP2000312234A (ja) * | 1999-04-27 | 2000-11-07 | Sony Corp | ブランチメトリックおよびセクター算出方法とその装置、および、その装置を用いた復号装置 |
JP4198904B2 (ja) * | 2001-06-11 | 2008-12-17 | 富士通株式会社 | 記録再生装置、信号復号回路、エラー訂正方法、及び反復型復号器 |
JP3578736B2 (ja) * | 2001-08-07 | 2004-10-20 | Necマイクロシステム株式会社 | ブランチメトリック算出装置およびその算出方法 |
KR20050072422A (ko) * | 2002-09-26 | 2005-07-11 | 코닌클리케 필립스 일렉트로닉스 엔.브이. | 비터비 비트 검출방법 및 장치 |
US7401283B2 (en) | 2004-09-28 | 2008-07-15 | Broadcom Corporation | Amplifying magnitude metric of received signals during iterative decoding of LDPC (Low Density Parity Check) code and LDPC coded modulation |
US7486456B2 (en) * | 2004-12-17 | 2009-02-03 | Stmicroelectronics, Inc. | Finite field based short error propagation modulation codes |
TWI255608B (en) | 2005-04-01 | 2006-05-21 | Univ Nat Chiao Tung | Transmission method combining trellis coded modulation code (TCM) and low-density parity check code (LDPC), and structure thereof |
KR100860504B1 (ko) | 2005-06-09 | 2008-09-26 | 삼성전자주식회사 | 이동통신 시스템에서 송수신 장치 및 방법 |
US7971130B2 (en) * | 2006-03-31 | 2011-06-28 | Marvell International Ltd. | Multi-level signal memory with LDPC and interleaving |
US7848465B2 (en) * | 2007-04-02 | 2010-12-07 | Broadcom Corporation | Joint decoding of ISI (inter-symbol interference) channel and modulation codes |
US8051358B2 (en) | 2007-07-06 | 2011-11-01 | Micron Technology, Inc. | Error recovery storage along a nand-flash string |
US7752531B2 (en) | 2007-09-12 | 2010-07-06 | Seagate Technology Llc | Defect sensing Viterbi based detector |
EP2249503A4 (en) * | 2008-02-26 | 2014-01-15 | Nec Corp | DECODING DEVICE, DECODING METHOD AND PROGRAM THEREFOR |
US8238454B2 (en) | 2008-04-01 | 2012-08-07 | Harris Corporation | System and method for communicating data using efficient fast fourier transform (FFT) for orthogonal frequency division multiplexing (OFDM) demodulation |
CN101567752B (zh) | 2008-04-23 | 2012-08-08 | 中国科学院微电子研究所 | 一种基于低密度奇偶校验码的自适应编解码方法 |
WO2009150707A1 (ja) * | 2008-06-09 | 2009-12-17 | パイオニア株式会社 | 検査行列の生成方法及び検査行列、並びに復号装置及び復号方法 |
KR20090130808A (ko) | 2008-06-16 | 2009-12-24 | 한국전자통신연구원 | 디지털 케이블 송수신 시스템에서 적응/가변형 변복조 장치 |
US8413029B2 (en) * | 2009-01-16 | 2013-04-02 | Lsi Corporation | Error correction capability adjustment of LDPC codes for storage device testing |
WO2011059166A1 (ko) | 2009-11-13 | 2011-05-19 | 한국전자통신연구원 | 통신 시스템에서 데이터 수신 장치 및 방법 |
US8566683B2 (en) * | 2009-12-28 | 2013-10-22 | Nxp, B.V. | Power-reduced preliminary decoded bits in viterbi decoders |
US8661309B2 (en) * | 2010-01-29 | 2014-02-25 | Broadcom Corporation | Systems for high-speed backplane applications using pre-coding |
EP2383949B1 (en) | 2010-04-29 | 2016-01-06 | Xieon Networks S.à r.l. | Method and arrangement for signal processing in a communication system |
US8892986B2 (en) * | 2012-03-08 | 2014-11-18 | Micron Technology, Inc. | Apparatuses and methods for combining error coding and modulation schemes |
-
2012
- 2012-03-08 US US13/415,422 patent/US8892986B2/en active Active
-
2013
- 2013-03-01 KR KR1020147027832A patent/KR101645837B1/ko active IP Right Grant
- 2013-03-01 TW TW102107431A patent/TWI510000B/zh active
- 2013-03-01 CN CN201380013251.7A patent/CN104303155B/zh active Active
- 2013-03-01 WO PCT/US2013/028678 patent/WO2013134071A1/en active Application Filing
- 2013-03-01 EP EP13757425.7A patent/EP2823399B1/en active Active
- 2013-03-01 JP JP2014560983A patent/JP6016952B2/ja active Active
-
2014
- 2014-10-28 US US14/525,602 patent/US9251000B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
EP2823399A1 (en) | 2015-01-14 |
EP2823399B1 (en) | 2017-10-18 |
TWI510000B (zh) | 2015-11-21 |
WO2013134071A1 (en) | 2013-09-12 |
US8892986B2 (en) | 2014-11-18 |
KR101645837B1 (ko) | 2016-08-04 |
KR20140139537A (ko) | 2014-12-05 |
JP6016952B2 (ja) | 2016-10-26 |
JP2015513866A (ja) | 2015-05-14 |
US20150074498A1 (en) | 2015-03-12 |
TW201342812A (zh) | 2013-10-16 |
US9251000B2 (en) | 2016-02-02 |
CN104303155A (zh) | 2015-01-21 |
EP2823399A4 (en) | 2015-12-09 |
US20130238952A1 (en) | 2013-09-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104303155B (zh) | 用于组合错误译码与调制方案的设备及方法 | |
CN106997777B (zh) | 具有改进的硬解码吞吐量的vss ldpc解码器 | |
US9411679B2 (en) | Code modulation encoder and decoder, memory controller including them, and flash memory system | |
US9136872B2 (en) | Memory, memory system, and error checking and correcting method for memory | |
US20150095736A1 (en) | Using read values from previous decoding operations to calculate soft bit information in an error recovery operation | |
KR20170056407A (ko) | 데이터의 인코딩과 디코딩을 위한 메모리 시스템 | |
US8656263B2 (en) | Trellis-coded modulation in a multi-level cell flash memory device | |
US11243838B2 (en) | Methods and apparatuses for error correction | |
US8406051B2 (en) | Iterative demodulation and decoding for multi-page memory architecture | |
CN110444240B (zh) | 存储器系统的编码器和解码器及其方法 | |
US20190213074A1 (en) | Encoding method and system for memory device including qlc cells | |
KR20160090054A (ko) | 플래시 메모리 시스템 및 그의 동작 방법 | |
KR20150129325A (ko) | 솔리드 스테이트 메모리에 저장된 데이터 디코딩 | |
US11581906B1 (en) | Hierarchical error correction code decoding using multistage concatenated codes | |
KR102314481B1 (ko) | Siso 복호 방법, 디코더 및 반도체 메모리 시스템 | |
US10855314B2 (en) | Generating and using invertible, shortened Bose-Chaudhuri-Hocquenghem codewords | |
US9502138B2 (en) | Data encoding in solid-state storage apparatus | |
CN110277999B (zh) | Ldpc解码装置、包括其的存储器系统及其方法 | |
CN110275844A (zh) | 利用自适应阈值解码的存储器系统及其操作方法 | |
US11870461B2 (en) | Failure-tolerant error correction layout for memory sub-systems | |
Oh et al. | Performance Comparison of Multi-level Coding Schemes for NAND Flash Memory | |
CN111258791A (zh) | 存储器控制方法、存储器存储装置及存储器控制电路单元 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |