CN117707833A - 不规则ldpc码的动态缩放因子更改 - Google Patents

不规则ldpc码的动态缩放因子更改 Download PDF

Info

Publication number
CN117707833A
CN117707833A CN202211479882.5A CN202211479882A CN117707833A CN 117707833 A CN117707833 A CN 117707833A CN 202211479882 A CN202211479882 A CN 202211479882A CN 117707833 A CN117707833 A CN 117707833A
Authority
CN
China
Prior art keywords
weights
checksum
parity check
decoding
ldpc
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.)
Pending
Application number
CN202211479882.5A
Other languages
English (en)
Inventor
张帆
王浩博
美萨姆·阿沙迪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SK Hynix Inc
Original Assignee
SK Hynix Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by SK Hynix Inc filed Critical SK Hynix Inc
Publication of CN117707833A publication Critical patent/CN117707833A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error 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/11Error 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/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/118Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error 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/11Error 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/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • H03M13/1128Judging correct decoding and iterative stopping criteria other than syndrome check and upper limit for decoding iterations
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/61Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
    • H03M13/611Specific encoding aspects, e.g. encoding by means of decoding
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error 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/11Error 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/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • H03M13/1108Hard decision decoding, e.g. bit flipping, modified or weighted bit flipping
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error 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/11Error 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/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • H03M13/1111Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms
    • H03M13/1117Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms using approximations for check node processing, e.g. an outgoing message is depending on the signs and the minimum over the magnitudes of all incoming messages according to the min-sum rule

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Error Detection And Correction (AREA)

Abstract

本发明涉及不规则LDPC码的动态缩放因子更改。本公开提供一种解码方法和存储器系统,其对数据进行解码并且估计经解码的数据的加权校验和以确定解码是否成功。加权校验和是基于第一组和第二组来计算的,第一组与不规则奇偶校验矩阵的高阶节点的权重相关联,第二组与不规则奇偶校验矩阵的低阶节点的权重相关联。

Description

不规则LDPC码的动态缩放因子更改
技术领域
本发明涉及不规则低密度奇偶校验(LDPC)码的缩放。
背景技术
计算机环境范例已经转变为可以随时随地使用的普适计算系统。因此,诸如移动电话、数码相机和笔记本计算机的便携式电子装置的使用已迅速增加。这些便携式电子装置通常使用具有存储器装置(即,数据存储装置)的存储器系统。数据存储装置用作便携式电子装置的主存储器装置或辅助存储器装置。使用存储器装置的数据存储装置由于不具有移动部件,因此具有极好的稳定性、耐用性、高信息访问速度和低功耗。具有这些优点的数据存储装置的示例包括通用串行总线(USB)存储器装置、具有各种接口的存储卡以及固态驱动器(SSD)。
SSD可以包括闪速存储器组件和控制器,控制器包括将闪速存储器组件桥接到SSD输入/输出(I/O)接口的电子器件。SSD控制器可以包括可以运行诸如固件的功能组件的嵌入式处理器。SSD功能组件是特定于装置的,并且在大多数情况下可以更新。两种主要类型的闪速存储器组件以NAND和NOR逻辑门命名。各自的闪速存储器单元表现出与其相应的门相似的内部特性。NAND型闪速存储器可以以通常比整个存储空间小得多的块(或页面)进行写入和读取。NOR型闪存允许将单个机器字(字节)单独写入已擦除位置或单独读取单个机器字(字节)。NAND型闪速存储器主要在存储卡、USB闪存驱动器、固态驱动器和类似产品中工作,以进行数据的一般存储和传送。
如专利号为10,700,706的美国专利(其全部内容通过引用并入本文)所述,基于NAND闪存的存储装置因其更快的读取/写入性能、更低的功耗和防震特性而被广泛采用。然而,一般来说,它们比硬盘驱动器(HDD)更昂贵。为了降低成本,NAND闪存制造商一直在将其制造工艺的极限推向20纳米甚至更低,这通常会导致使用寿命缩短和数据可靠性下降。因此,需要比传统的博斯-查德胡里-霍昆格姆(Bose-Chaudhuri-Hocquenghem,BCH)码更强大的错误校正码(ECC)来克服相关的噪声和干扰,从而提高数据完整性。一种此类ECC是低密度奇偶校验(LDPC)码。
有针对LDPC码的不同迭代解码算法和相关解码器,诸如位翻转(BF)解码算法、置信传播(BP)解码算法、和积(SP)解码算法、最小和(MS)解码算法、Min-Max解码算法等。可以在特定系统中使用多种解码算法,以允许根据诸如噪声水平和干扰的条件使用不同的解码器对不同的码字进行解码。如专利号为7,337,384的美国专利(其全部内容通过引用并入本文)所述,现有方法和装置已经使用基于校验和的错误处理来为容错应用提供不等错误检测(UED)。
如专利号为11,184,024的美国专利(其全部内容通过引用并入本文)所述,LDPC码可以通过M×N奇偶校验矩阵H来表征,H的第i列(0≤i<N)的列权重为奇偶校验矩阵H的第i列中非零项的数量。如果H的所有列的列权重相同,则将由H表示的LDPC码称为规则LDPC码。否则,将LDPC码称为不规则LDPC码。换言之,不规则LDPC码的奇偶校验矩阵H的列具有不同的列权重。
不规则LDPC码由非常稀疏的奇偶校验矩阵H表征,其中列权重可以因列而异,行权重可以因行而异。灵活分配列和行权重的能力提供有用的设计自由度。事实上,恰当设计的不规则LDPC码在大块长度上往往优于规则LDPC码;可以获得高达0.5dB的增益。
由于它们的灵活性和改进的解码性能,不规则LDPC码越来越多地用于非易失性存储器系统(例如,NAND闪速存储器)以确保稳健的数据存储和访问。
在该背景下,出现了本发明的实施例。
发明内容
本发明的一些方面包括一种解码方法。根据本发明的实施例,该解码方法可以包括对数据进行解码并且估计经解码的数据的加权校验和以确定解码是否成功。该加权校验和是基于第一组和第二组来计算的,第一组与不规则奇偶校验矩阵的高阶节点的权重相关联,第二组与不规则奇偶校验矩阵的低阶节点的权重相关联。
本发明的其他方面包括一种存储器系统。根据本发明的实施例,该存储器系统可以包括存储器件和解码器,其中解码器被配置为对数据进行解码并且估计经解码的数据的加权校验和以确定解码是否成功。该加权校验和是基于第一组和第二组来计算的,第一组与不规则奇偶校验矩阵的高阶节点的权重相关联,第二组与不规则奇偶校验矩阵的低阶节点的权重相关联。
本发明的其他方面包括一种存储器控制器。根据本发明的实施例,该存储器控制器可以包括用于接收数据的接收器以及解码器。
附图说明
图1是示出根据本发明的实施例的错误校正系统的高级框图。
图2是示意性地示出根据本发明的实施例的存储器系统的框图。
图3是示出根据本发明的实施例的存储器系统的框图。
图4是示出根据本发明的实施例的存储器装置的存储块的电路图。
图5是示出根据本发明的实施例的存储系统的示图。
图6是示出根据本发明的实施例的待存储在存储系统中的码字的格式的示图。
图7A是不规则低密度奇偶校验矩阵的描述。
图7B是根据本发明的一个实施例的动态缩放因子改变的描述。
图8是示出根据本发明的实施例的动态错误检测和终止的流程图。
图9是根据本发明的实施例的约束不规则低密度奇偶校验矩阵。
图10是示出根据本发明的另一实施例的解码方法的流程图。
具体实施方式
下面将参照附图更详细地描述多种实施例。然而,本发明可以以不同的形式实现,并且不应被解释为受限于本文阐述的实施例。相反,提供这些实施例以使得本公开将是透彻和完整的,并将把本发明的范围充分传达给本领域技术人员。在整个本公开中,相同的附图标记在本发明的各个附图和实施例中始终指代相同的部件。
本发明可以以多种方式实施,包括作为过程;设备;系统;物质成分;实现在计算机可读存储介质上的计算机程序产品;和/或处理器,诸如适于运行存储在联接到该处理器的存储器上和/或由联接到该处理器的存储器提供的指令的处理器。在本说明书中,这些实施方式或本发明可以采用的任何其他形式可以称为技术。通常,可以在本发明的范围内改变所公开的过程的步骤的顺序。除非另有说明,否则描述为适于执行任务的诸如处理器或存储器的组件可以被实施为临时适于在给定时间执行任务的通用组件或被制造为执行任务的特定组件。在本文中使用时,术语“处理器”是指适于处理诸如计算机程序指令的数据的一个或多个装置、电路和/或处理核。
下面提供本发明的一个或多个实施例的详细描述以及示出本发明的原理的附图。结合这些实施例描述本发明,但是本发明不限于任何实施例。本发明的范围仅由权利要求书限定,并且本发明包括许多替代、修改和等同方案。在下列描述中提出了许多具体细节,以提供对本发明的透彻理解。提供这些细节作为示例,并且可以根据权利要求来实践本发明,而无需这些具体细节中的一些或全部。为了清楚起见,未详细描述与本发明相关的技术领域中已知的技术材料,从而不会不必要地使本发明模糊。
在本发明的一个实施例中,如下详述,本发明的方法对有助于不规则LDPC码的错误校正的奇偶校验矩阵的构造施加约束。该约束将不规则LDPC矩阵分割成具有不同权重的区域,例如分割成具有高密度模式的一个或多个区域(具有高列权重的区域)和分割成具有中低密度模式的一个或多个区域(列权重低于高密度模式的区域)。
在本发明的又一个实施例中,本发明的解码方法在解码之后使用a)不规则奇偶校验矩阵的高阶节点(高列权重)的权重和b)不规则奇偶校验矩阵的低阶节点(低列权重)的权重来估计剩余错误的数量。
在本发明的又一个实施例中,本发明的解码方法将缩放因子应用于使用上述算法(LDPC解码、BF解码、BP解码、SP解码、MS解码、Min-Max解码等)的解码器,其中缩放因子基于低阶节点和高阶节点两者的权重。
图1是示出根据本发明的实施例的错误校正系统的高级框图。在所示示例中,错误校正系统可以包括使用LDPC编码和解码算法的编码器和解码器。也就是说,错误校正系统可以包括LDPC编码器5和LDPC解码器15。
LDPC编码器5可以接收包括需要存储在存储系统(或存储器系统)10中的数据的信息位。LDPC编码器5可以对信息位进行编码以输出经LDPC编码的数据。来自LDPC编码器5的经LDPC编码的数据可以写入存储系统10的存储装置或存储器装置。在多种实施例中,存储装置可以包括多种存储类型或介质。在一些实施例中,在写入到存储装置或从存储装置读取期间,通过有线和/或无线信道来发送和接收数据。在这种情况下,在码字的发送期间,所接收的码字中可能会引入错误。
当(例如,存储数据的应用程序或用户)请求或以其他方式需要存储系统10中存储的数据时,LDPC解码器15可以对从存储系统10接收到的数据执行LDPC解码,该数据可能包括一些噪声或错误。在多种实施例中,LDPC解码器15可以使用接收到的数据的判决和/或可靠性信息来执行LDPC解码。由LDPC解码器15生成的经解码的位被发送到适当的实体(例如,请求它的用户或应用程序)。通过正确的编码和解码,信息位与经解码的位相匹配。
图2是示意性地示出根据本发明的实施例的存储器系统10的框图。
参照图2,存储器系统10可以包括存储器控制器100和半导体存储器装置200。
存储器控制器100可以控制半导体存储器装置200的整体操作。
半导体存储器装置200可以在存储器控制器100的控制下执行一个或多个擦除操作、编程操作和读取操作。半导体存储器装置200可以通过输入/输出线来接收命令CMD、地址ADDR和数据DATA。半导体存储器装置200可以通过电力线接收电力PWR,并且通过控制线接收控制信号CTRL。控制信号可以包括命令锁存使能(CLE)信号、地址锁存使能(ALE)信号、芯片使能(CE)信号、写入使能(WE)信号和读取使能(RE)信号等。
存储器控制器100和半导体存储器装置200可以集成在单个半导体装置中。例如,存储器控制器100和半导体存储器装置200可以集成在诸如固态驱动器(SSD)的单个半导体装置中。固态驱动器可以包括用于存储数据的存储装置。当半导体存储器系统10用于SSD时,可以显著地提高联接到存储器系统10的主机(未示出)的操作速度。
存储器控制器100和半导体存储器装置200可以集成在诸如存储卡的单个半导体器装置中。例如,存储器控制器100和半导体存储器装置200可以集成在单个半导体装置中以配置诸如以下的存储卡:个人计算机存储卡国际协会(PCMCIA)的PC卡、紧凑型闪存(CF)卡、智能媒体(SM)卡、记忆棒、多媒体卡(MMC)、缩小尺寸的多媒体卡(RS-MMC)、微型版本的MMC(微型MMC)、安全数字(SD)卡、迷你安全数字(迷你SD)卡、微型安全数字(微型SD)卡、安全数字大容量(SDHC)和通用闪存(UFS)。
再例如,存储器系统10可以被设置为包括诸如以下的电子装置的多种元件中的一种:计算机、超移动PC(UMPC)、工作站、上网本计算机、个人数字助理(PDA)、便携式计算机、网络平板PC、无线电话、移动电话、智能电话、电子书阅读器、便携式多媒体播放器(PMP)、便携式游戏装置、导航装置、黑盒、数码相机、数字多媒体广播(DMB)播放器、三维电视、智能电视、数字音频记录器、数字音频播放器、数字图片记录器、数字图片播放器、数字视频记录器、数字视频播放器、数据中心的存储装置、能够在无线环境中接收和发送信息的装置、家庭网络的电子装置之一、计算机网络的电子装置之一、远程信息处理网络的电子装置之一、射频识别(RFID)装置或计算系统的装置。
图3是示出根据本发明的实施例的存储器系统的详细框图。例如,图3的存储器系统可以描绘图2所示的存储器系统10。
参照图3,如图2所示,存储器系统10可以包括存储器控制器100和半导体存储器装置200。存储器系统10可以响应于来自主机装置的请求而操作,并且特别地,存储待由主机装置访问的数据。
主机装置可以利用各种电子装置中的任何一种来实施。在一些实施例中,主机装置可以包括诸如以下的电子装置:台式计算机、工作站、三维电视、智能电视、数字音频记录器、数字音频播放器、数字图片记录器、数字图片播放器、数字视频记录器和数字视频播放器。在一些实施例中,主机装置可以包括诸如以下的便携式电子装置:移动电话、智能电话、电子书、MP3播放器、便携式多媒体播放器(PMP)和便携式游戏机。
存储器装置200可以存储待由主机装置访问的数据。
存储器装置200可以利用诸如动态随机存取存储器(DRAM)和静态随机存取存储器(SRAM)的易失性存储器装置,或者诸如只读存储器(ROM)、掩模ROM(MROM)、可编程ROM(PROM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、铁电随机存取存储器(FRAM)、相变RAM(PRAM)、磁阻式RAM(MRAM)和电阻式RAM(RRAM)的非易失性存储器装置来实施。
控制器100可以控制数据在存储器装置200中的存储。例如,控制器100可以响应于来自主机装置的请求而控制存储器装置200。控制器100可以向主机装置提供从存储器装置200读取的数据,并且将从主机装置提供的数据存储到存储器装置200中。
控制器100可以包括通过总线160联接的存储单元110、控制单元120、错误校正码(ECC)单元130、主机接口140和存储器接口150。
存储单元110可以用作存储器系统10和控制器100的工作存储器,并且存储用于驱动存储器系统10和控制器100的数据。当控制器100控制存储器装置200的操作时,存储单元110可以存储控制器100和存储器装置200用于如读取操作、写入操作、编程操作和擦除操作的这些操作的数据。
存储单元110可以利用易失性存储器来实施。存储单元110可以利用静态随机存取存储器(SRAM)或动态随机存取存储器(DRAM)来实施。如上所述,存储单元110可以将主机装置使用的数据存储在存储器装置200中以进行读取操作和写入操作。为了存储数据,存储单元110可以包括程序存储器、数据存储器、写入缓冲器、读取缓冲器、映射缓冲器等。
控制单元120可以控制存储器系统10的一般操作,并且响应于来自主机装置的写入请求或读取请求而控制对存储器装置200的写入操作或读取操作。控制单元120可以驱动称为闪存转换层(FTL)的固件,以控制存储器系统10的一般操作。例如,FTL可以执行诸如逻辑到物理(L2P)映射、损耗均衡、垃圾收集和坏块处理的操作。L2P映射称为逻辑块寻址(LBA)。
ECC单元130可以检测并校正在读取操作期间从存储器装置200读取的数据中的错误。当错误位的数量大于或等于可校正错误位的阈值数量时,ECC单元130可以不校正错误位,而是可以输出指示校正错误位失败的错误校正失败信号。
在一些实施例中,ECC单元130可以基于诸如以下的编码调制执行错误校正操作:低密度奇偶校验(LDPC)码、博斯-查德胡里-霍昆格姆(Bose-Chaudhuri-Hocquenghem,BCH)码、涡轮码(Turbo Code)、涡轮乘积码(TPC)、里德-所罗门(Reed-Solomon,RS)码、卷积码、递归系统码(RSC)、网格编码调制(TCM)、分组编码调制(BCM)。ECC单元130可以包括用于错误校正操作的所有电路、系统或装置。
当使用低密度奇偶校验(LDPC)码时,位翻转(BF)解码器可以对LDPC码字进行解码。BF解码器的校正能力是有限的,并且它的性能有一个错误底限。相对于BF解码器,最小和(MS)解码器具有更高的校正能力,并且可以用于BF解码器不能解码的码字。然而,在本发明的一个实施例中,本发明的解码方法使用BF解码和MS解码中的一个或两者。
如图3所示,主机接口140可以通过诸如以下的各种接口协议中的一种或多种与主机装置通信:通用串行总线(USB)、多媒体卡(MMC)、高速外围组件互连(PCI-e或PCIe)、小型计算机系统接口(SCSI)、串列SCSI(SAS)、串行高级技术附件(SATA)、并行高级技术附件(PATA)、增强型小型磁盘接口(ESDI)和电子集成驱动器(IDE)。
存储器接口150可以在控制器100和存储器装置200之间的提供接口,以允许控制器100响应于来自主机装置的请求而控制存储器装置200。存储器接口150可以生成针对存储器装置200的控制信号并且在CPU 120的控制下处理数据。当存储器装置200是诸如NAND闪速存储器的闪速存储器时,存储器接口150可以生成针对存储器的控制信号并且在CPU120的控制下处理数据。
存储器装置200可以包括存储器单元阵列210、控制电路220、电压生成电路230、行解码器240、页面缓冲器250、列解码器260以及输入/输出电路270。存储器单元阵列210可以包括多个存储块211并且可以在其中存储数据。电压生成电路230、行解码器240、页面缓冲器250、列解码器260和输入/输出电路270形成存储器单元阵列210的外围电路。外围电路可以执行存储器单元阵列210的编程操作、读取操作或擦除操作。控制电路220可以控制外围电路。
电压生成电路230可以生成具有各种电平的操作电压。例如,在擦除操作中,电压生成电路230可以生成具有各种电平的操作电压,例如擦除电压和通过电压。
行解码器240可以连接到电压生成电路230以及多个存储块211。行解码器240可以响应于由控制电路220生成的行地址RADD在多个存储块211之中选择至少一个存储块,并且将从电压生成电路230供应的操作电压提供到多个存储块211之中所选择的存储块。
页面缓冲器250可以通过位线BL(未示出)连接到存储器单元阵列210。页面缓冲器250可以响应于控制电路220生成的页面缓冲器控制信号,利用正电压对位线BL进行预充电,在编程操作和读取操作中将数据发送到所选择的存储块和从所选择的存储块接收数据,或者临时存储被发送的数据。
列解码器260可以将数据发送到页面缓冲器250或从页面缓冲器250接收数据,或者将数据发送到输入/输出电路270或从输入/输出电路270接收数据。
输入/输出电路270可以通过输入/输出电路270将从外部装置(例如,存储器控制器100)发送的命令和地址发送到控制电路220,将数据从外部装置发送到列解码器260,或者将数据从列解码器260输出到外部装置。
控制电路220可以响应于命令和地址来控制外围电路。
图4是示出根据本发明的实施例的半导体存储器装置的存储块的电路图。例如,图4的存储块可以是图3所示的存储器单元阵列210中的存储块211。
参照图4,存储块211可以包括分别联接到多条位线BL0至BLm-1的多个单元串221。每列单元串可以包括一个或多个漏极选择晶体管DST和一个或多个源极选择晶体管SST。多个存储器单元或存储器单元晶体管可以串联联接在选择晶体管DST和SST之间。存储器单元MC0至MCn-1中的每一个可以由在每个单元中存储多位数据信息的多层单元(MLC)形成。单元串221可以分别电联接到相应位线BL0至BLm-1。
在一些实施例中,存储块211可以包括NAND型闪速存储器单元。然而,存储块211不限于NAND闪速存储器,而是可以包括NOR型闪速存储器、组合两种或更多种存储器单元的混合型闪速存储器以及控制器嵌入在存储器芯片内部的单NAND闪速存储器。
图5是示出根据本发明的实施例的存储系统的示图。
参照图5,存储系统可以包括存储器件550和作为读取处理器500的存储器控制器。读取处理器500可以对存储在存储器件550中的数据执行读取操作。在读取操作期间,读取处理器500可以从存储器件550读取可能包含一些噪声或错误的数据,并且对读取的数据执行错误校正。在一些实施例中,读取处理器500可以包括解码器,例如,LDPC解码器510可以执行LDPC解码。读取处理器还可以执行BF解码和MS解码。读取处理器500可以包括用于从存储器件550接收数据的接收器(未示出)。
当(例如,存储数据的应用程序或用户)请求或以其他方式需要存储器件550中存储的数据时,LDPC解码器510可以从存储器件550接收数据。接收到的数据可能包括一些噪声或错误。LDPC解码器510可以对接收到的数据执行检测并且输出判决和/或可靠性信息。LDPC解码器510可以包括软检测器和硬检测器中的一个。软检测器或硬检测器都可以为诸如LDPC解码器的解码器提供通道信息。例如,软检测器可以为每个检测到的位输出可靠性信息和判决。另一方面,硬检测器在不提供相应的可靠性信息的情况下输出每个位的判决。作为示例,硬检测器可以输出特定位是“1”或“0”作为硬判决,而不指示检测器对该判决的确定或肯定程度。相反,软检测器可以输出判决以及与判决相关联的可靠性信息。通常,可靠性信息指示检测器对给定判决的确定程度。在一个示例中,软检测器可以输出对数似然比(LLR),其中符号指示判决(例如,正值对应于判决“1”,而负值对应于判决“0”),大小指示检测器对该判决的肯定或确定程度(例如,较大的大小指示高可靠性或确定性)。
此外,LDPC解码器510可以使用判决和/或可靠性信息来执行LDPC解码。LDPC解码器510可以包括软解码器和硬解码器中的一个。软解码器利用判决和可靠性信息两者来对码字进行解码。硬解码器仅利用判决值对码字进行解码。由LDPC解码器510生成的经解码的位被发送到适当的实体(例如,请求它的用户或应用程序)。通过正确的编码和解码,信息位与经解码的位匹配。
在多种实施例中,可以使用包括专用集成电路(ASIC)、现场可编程门阵列(FPGA)和/或通用处理器(例如,高级RISC机器(ARM)核)的各种技术来实施图5所示的系统。
LDPC码可以由二部图表示。一组节点(例如,变量节点或位节点)可以对应于码字的元素,而另一组节点(例如,校验节点)可以对应于码字所满足的一组奇偶校验约束。通常,二部图中的边连接是随机选择的。
图6是示出待存储在存储系统中的码字600的格式的示图。参照图6,码字600可以包括信息数据610和奇偶校验620。在一些实施例中,码字600可以通过低密度奇偶校验(LDPC)码生成。换言之,信息数据610可以受到LDPC码保护,并且奇偶校验620可以是LDPC奇偶校验。信息数据610可以包括具有数据路径保护(DPP)的用户数据612、元数据614和循环冗余校验(CRC)奇偶校验位616。CRC码作为数字网络和存储装置中常用的错误检测码,可以检测原始数据的意外更改。
在典型的LDPC解码器中,如果LDPC校验和为零,则可以终止解码器。CRC奇偶校验位616将在LDPC解码之后基于经解码的用户数据612和元数据614来计算。如果计算出的CRC奇偶校验位与经解码的CRC奇偶校验位相匹配,则解码可以成功。否则,可能会宣布误校正。
在本发明的一些实施例中,假设x=[x0,x1,...,xN-1]是位向量,H=[hi,j]是在第i行和第j列的交点处具有二进制值hi,j的M×N低密度奇偶校验矩阵。然后H的每一行都为x提供奇偶校验。如果x是H的码字,则xHT=0。
图7A是在不同区域中具有不同列权重的不规则奇偶校验矩阵H的示例的描述。图7A所示的奇偶校验矩阵H 700包括六个部分A 705、B 710、T 715、C 720、D 725和E 730。如本领域已知的,可以使用Richardson-Urbanke(“RU”)算法生成六部分的格式。在图7A中,部分A 705和部分C 720具有宽度k 750,其中k是待编码的数据的信息位的大小。同样在所示的奇偶校验矩阵H 700中,部分T 715和部分E 730具有宽度k1760,其中k1是部分T 715的大小,部分T 715可以是单位矩阵,如下所述。部分B 710和部分D 725具有宽度n-k-k1 755,其中n是包括信息位和奇偶校验位的总码字的大小。在图7A中,部分A 705、部分B 710和部分T715具有高度k1770。部分C 720、部分D 725和部分E 730具有高度n-k-k1 775。图7A所示的奇偶校验矩阵H 700仅是说明性的,在本发明中可以使用其他不规则的奇偶校验矩阵。
由于H 700是不规则奇偶校验矩阵,因此可以执行循环矩阵置换以使部分T 715成为单位矩阵并且减小稠密矩阵D的大小。在不规则奇偶校验矩阵的列权重不均匀的特性下,可以进一步扩大(与规则奇偶校验矩阵相比)部分T 715以减少稠密矩阵计算的循环次数。
如果假设在噪声信道上发送x,则可能存在损坏的信道输出y=[y0,y1,...,yN-1],其硬判决为z=[z0,z1,...,zN-1]。z的校正子可以是通过s=[s0,s1,...,sN-1]=zHT计算的二进制向量,其中表示未满足的校验节点的数量并且在本文中也称为校验和。让z(j)=[z0,z1,…,zN-1]表示第j次迭代的硬判决,其中第j次迭代的校正子向量表示为/>然后‖s‖(j)在本文中被称为第j次迭代的校验和。
每次迭代可以包括例如将V2C消息从变量节点发送到校验节点的过程、更新校验节点的值的过程、将C2V消息从校验节点发送到变量节点的过程以及更新变量节点的值的过程。当使用列分层方案时,第一次迭代可以包括将V2C消息从变量节点发送到校验节点的过程和更新校验节点的值的过程。可以将变量节点中的每一个的初始LLR值传送到连接到相应变量节点的校验节点。
在每次迭代中,可以基于从校验节点接收到的C2V消息来更新变量节点的值。在一些实施例中,更新变量节点的值可以包括计算变量节点的APP(A后验概率)以及基于计算的APP确定变量节点的硬判决值。例如,可以使用缩放的最小和(MS)算法来计算对应于第i次迭代的变量节点的APP。当APP具有负值时,变量节点n的硬判决值可以确定为“1”。当APP不是负值时,变量节点n的硬判决值可以确定为“0”。
通常,不规则LDPC码在性能上优于规则LDPC码。然而,当剩余错误的数量较少时,MS解码器中的缩放只能在解码后期应用。虽然这对于规则LDPC码可能足够有效(因为校验和是剩余错误数量的一个很好的指标),但是对于不规则LDPC码,由于变量节点的不同权重中的不规则(高、中和低)连通性,表示未满足的校验节点的数量的校验和与剩余错误的数量之间的任何相关性可能变弱。
在不规则LDPC码的情况下,即使高阶变量节点中剩余少量错误,校验和也可能很大。这使得alpha-beta缩放难以应用于不规则LDPC码并且因此可能会导致较高的错误底限。一般来说,alpha-beta缩放提供一种在不同的迭代中应用不同的权重因子的方法。权重因子w在迭代开始时可以是一个相对较小的数字,随着每次后续迭代而逐渐增大。举例来说,在八次迭代的计算中,针对每次迭代,w可以被定义为{0.125,0.25,0.5,0.75,0.75,0.75,0.75,0.75}。这种基于可变权重的alpha-beta方法可以提供对经校正的码字的收敛。
在本发明的一个实施例中,如下详述的本发明的方法可以将alpha-beta缩放应用于不规则LDPC码,从而可以降低错误底限。
在MS解码器中,通常应用缩放因子来帮助MS解码器在迭代的后期收敛。典型的缩放因子方案利用估计器来估计剩余错误的数量。校正子权重(或校验和)通常用作规则LDPC码中的此类指标。然而,本发明认识到,由于变量节点的阶的不规则性,校验和与不规则LDPC码的剩余错误的数量通常没有很好的相关性。在本发明的一个实施例中,提供一种剩余错误数量的创造性的估计器(或指标),其适用于不规则LDPC码。通过本发明的估计器,(在一个实施例中)提供了一种方法,以将不同加权的缩放因子应用于不规则LDPC码以补偿不规则的列权重平衡,从而改善确定不规则LDPC码的剩余错误数量时的收敛性。
如上所述,LDPC码的校验和可以写为s=c’*H,其中c’(或如上所示的z(j)=[z0,z1,…,zN-1])是当前的硬判决,H是奇偶校验矩阵。
在本发明的一个实施例中,对LV2C消息值应用动态缩放因子更改,如图7B所示。图7B示出本发明的动态缩放因子更改(OSFC)方法的伪代码72。在图7B中,Lv2c是提供给例如指示LLR(对数似然比)的变量节点的消息值。因此,消息v2c的伪代码72中的值表示为Lv2c,消息C2V的伪代码72中的值表示为Lc2v。如图7B所示,Lv2c是LLR的初始(并且缩放α1)(Lch/α1)值与消息C2V的后续值(从校验节点到变量节点)相加的总和。如图7B所示,结果缩放因子α2。在图7B中,maxiter是最大迭代次数,β是在迭代结束时最终确定的缩放因子。
如图7B所示,动态缩放因子更改(OSFC)方法涉及迭代收敛算法74。通过基于计算出的校验和值在一次会话(session)期间(即,在一次迭代期间)更改缩放因子α1,迭代进行多次直至maxiter-1次,并且继续迭代直至maxiter次或直到校验和低于可接受的阈值TcS2。在这种情况下,将α1设置为β,否则将α1设置为α2
图8是动态错误检测和终止的流程图。在801,基于初始缩放因子(或后来更新的缩放因子)处理不规则低密度奇偶校验矩阵H的循环矩阵。在803,更新CRC和LPDC校验和。在805,如果LPDC校验和为零,则在807终止解码并且输出成功解码的字。在805,如果LPDC校验和不为零,则过程进行到决定是否结束缩放因子的迭代的809。如果在809不结束,则过程返回到循环处理为一次新的解码会话处理循环矩阵的801。如果在809结束,则过程进行到将CRC和LPDC校验和与阈值Tcs1进行比较的811。如果满足阈值,则过程进行到(如前所述)输出成功解码的字的807。如果在811未满足阈值,则该过程然后进行到813以查看是否已达到最大迭代次数。如果尚未达到最大次数,则过程返回到循环处理为一次新的解码会话更新缩放因子的801。如果已达到最大次数,则过程进行到815,并且产生解码失败的错误。
加权校验和作为错误估计器
在不规则码中,校验和与剩余错误的数量没有很好的相关性。在本发明的一个实施例中,使用加权校验和来估计剩余的错误数量。在构造奇偶校验矩阵时,施加约束使得校验节点分成两组。第一组连接到高阶变量节点(具有较高的列权重的节点)。第二组连接到中阶和低阶变量节点(具有中低列权重的节点)。矩阵结构如图9所示。在图9中,约束矩阵H900包括循环矩阵H11、H12、H21和H22。如图9所示,循环矩阵H21是空集。
部分校验和s_high可以计算为
s_high=c(high)*H11
并且s_low可以计算为
s_low=c(mid&low)*[H12,H22]。
加权校验和可以计算为
s_weighted=w_h*s_high+w_l*s_low。
在本发明的一个实施例中,权重w_h和w_l取决于高阶变量节点以及中阶和低阶变量节点的列权重的平均值。例如,如果高阶变量节点的平均列权重为10并且中阶和低阶变量节点的平均列权重为4,则通过设置w_h=4和w_low=10对各个权重进行量化(即,相互交换权重值),这平衡了由于不规则LDPC矩阵导致的对校验和的不均匀贡献。在这种类型的alpha-beta缩放中,w_h和w_l的选择不限于上述示例。一般而言,来自一个或多个高阶区域的权重值被替换为代表具有更低阶(或列权重)的一个或多个区域的权重值,来自一个或多个低阶区域的权重值被替换为代表具有更高阶(或列权重)的一个或多个区域的权重值,从而提供量化等级的重新调整。
在本发明的一个实施例中,图7B和图8中的OSFC算法和流程图使用针对高阶节点和低阶节点重新调整的权重,通过上述校验和计算进行操作。
推广到具有更高不规则性的码
根据变量节点权重分布的不规则性,在本发明的一个实施例中,可以将校验节点进一步划分为更多组,从而可以更好地均衡不同权重组的校验和的不规则的贡献。
推广到位翻转解码器
用于改进错误校正装置的解码操作的现有方法涉及以下步骤:a)接收噪声码字,该码字例如由不规则低密度奇偶校验(LDPC)码生成,b)对噪声码字执行位翻转算法的第一次迭代(通过位翻转算法在多个变量节点和多个校验节点之间传递消息),c)基于第一次迭代的输出码字来计算第一校正子,翻转输出码字中的至少一位,d)第二校正子,以及e)如果后续迭代小于最大迭代次数,则执行位翻转算法的后续迭代。
在本发明的一个实施例中,针对||s||的权重,第一和第二校正子可以使用上面描述的重新调整的加权校验和,其中平均列权重用作alpha-beta缩放。因此,与不使用加权校验和相比,在BF解码期间可以更好地估计剩余错误的数量。因此,在本发明的一个实施例中,上述重新调整的加权校验和替代BF解码器中的常规校验和以获得更好的校正和更深的错误底限,允许BF解码器确定更好的翻转阈值和错误底限缓解特征。
在本发明的一个实施例中,提供一种如图10所示的解码方法。在这个方法的1001中,对数据进行解码。在1003中,估计经解码的数据的加权校验和以确定解码是否成功。在1005中,加权校验和是基于第一组和第二组来计算的,第一组与不规则奇偶校验矩阵的高阶节点的权重相关联,第二组与不规则奇偶校验矩阵的低阶节点的权重(不同于高阶节点的权重)相关联。在该方法中,高阶节点的权重可以取决于高阶节点的平均列权重,而低阶节点的权重可以取决于低阶节点的平均列权重。在该方法中,可以将高阶节点的权重与低阶节点的权重相互交换,以估计加权校验和。
在该方法的多种实施例中,不规则奇偶校验矩阵可以包括具有高列权重的高阶区域,该高阶区域与具有低于高列权重的低列权重的低阶区域分离。进一步地,不规则奇偶校验矩阵可以包括低密度奇偶校验矩阵,并且该方法可以进一步包括根据低密度奇偶校验LDPC解码来确定LDPC校验和。
在该方法中,如果生成的CRC奇偶校验位与初始CRC位相匹配并且LDPC校验和小于预定阈值,则可以终止LDPC解码。在该方法中,可以针对LDPC解码的每次迭代调整缩放值。在该方法中,奇偶校验矩阵中循环矩阵的动态处理可以估计加权校验和。
在该方法中,基于低阶节点和高阶节点的权重的缩放因子可以应用于对不规则LDPC码进行解码的最小和解码器。在该方法中,位翻转BF解码器中的校验和可以替换为基于高阶节点的权重和低阶节点的权重的估计加权校验和。
在本发明的另一个实施例中,提供一种具有存储器件(例如,存储器单元阵列210)和联接到该存储器件的解码器(例如,控制电路220)的存储器系统(例如,如图3所示)。解码器被配置为对数据进行解码并且估计经解码的数据的加权校验和以确定解码是否成功。加权校验和是基于第一组和第二组来计算的,第一组与不规则奇偶校验矩阵的高阶节点的权重相关联,第二组与不规则奇偶校验矩阵的低阶节点的权重(不同于高阶节点的权重)相关联。
在该存储器系统中,高阶节点的权重可以取决于高阶节点的平均列权重,而低阶节点的权重可以取决于低阶节点的平均列权重。在该存储器系统中,可以将高阶节点的权重与低阶节点的权重相互交换,以估计加权校验和。
在该存储器系统的多种实施例中,不规则奇偶校验矩阵可以包括具有高列权重的高阶区域,该高阶区域与具有低于高列权重的低列权重的低阶区域分离。进一步地,不规则奇偶校验矩阵可以包括低密度奇偶校验矩阵,并且该方法可以进一步包括根据低密度奇偶校验LDPC解码来确定LDPC校验和。
在该存储器系统中,如果生成的CRC奇偶校验位与初始CRC位相匹配并且LDPC校验和小于预定阈值,则可以终止LDPC解码。解码器可以被配置为针对LDPC解码的每次迭代调整缩放值。解码器可以被配置为执行奇偶校验矩阵中的循环矩阵的动态处理以估计加权校验和。
在该存储器系统中,解码器可以被配置为将基于低阶节点和高阶节点两者的权重的缩放因子应用于对不规则LDPC码进行解码的最小和解码器。解码器可以被配置为将位翻转BF解码器中的校验和替换为基于高阶节点的权重和低阶节点的权重的估计加权校验和。
尽管为了清楚地理解的目的,已经详细地描述了前述实施例,但是本发明不限于所提供的细节。存在实施本发明的许多可选方式。所公开的实施例是说明性的而非限制性的。本发明旨在包括所公开的实施例的所有修改和替代。此外,可以组合所公开的实施例以形成额外的实施例。
实际上,本专利文件中描述的主题和功能操作的实施方案可以在各种系统、数字电子电路中或在计算机软件、固件或包括本说明书中公开的结构及其等效结构的硬件中或在它们中的一个或多个的组合中实施。本说明书中描述的主题的实施方案可以被实施为一个或多个计算机程序产品,即,编码在有形和非暂时性计算机可读介质上以由数据处理设备运行或以控制数据处理设备的操作的计算机程序指令的一个或多个模块。计算机可读介质可以是机器可读存储装置、机器可读存储基板、存储器装置、影响机器可读传播信号的物质的合成物或者它们中的一个或多个的组合。术语“数据处理单元”或“数据处理设备”包含用于处理数据的所有设备、装置和机器,例如包括可编程处理器、计算机或者多个处理器或计算机。除了硬件之外,该设备还可以包括为讨论中的计算机程序创建运行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统或它们中的一个或多个的组合的代码。
计算机程序(也称为程序、软件、软件应用、脚本或代码)可以用包括编译或解释语言的任何形式的编程语言编写,并且可以以任何形式部署,任何形式包括作为独立程序或作为适合在计算环境中使用的模块、组件、子程序或其他单元。计算机程序不一定对应于文件系统中的文件。程序可以存储在保存其他程序或数据(例如,标记语言文档中存储的一个或多个脚本)的文件的一部分中、在专用于讨论中的程序的单个文件中或在多个协调文件(例如,存储一个或多个模块、子程序或代码的一部分的文件)中。计算机程序可以被部署为在一台计算机上或者位于一个地点或分布在多个地点并且通过通信网络互连的多台计算机上运行。
本说明书中描述的过程和逻辑流可以由运行一个或多个计算机程序以通过对输入数据进行操作并且生成输出来执行功能的一个或多个可编程处理器执行。过程和逻辑流也可以由专用逻辑电路执行,并且设备也可以被实施为专用逻辑电路,专用逻辑电路例如为FPGA(现场可编程门阵列)或ASIC(专用集成电路)。
适合运行计算机程序的处理器包括,举例来说,通用和专用微处理器,以及任何类型的数字计算机的任何一个或多个处理器。通常,处理器会从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本要素是用于执行指令的处理器以及用于存储指令和数据的一个或多个存储器装置。通常,计算机还会包括用于存储数据的一个或多个大容量存储装置,例如磁盘、磁光盘或光盘,或会可操作地联接以从前述大容量存储装置接收数据或者将数据发送到前述大容量存储装置,或者发送又接收。然而,计算机不需要有这样的装置。适合存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器装置,举例来说包括半导体存储器装置,例如EPROM、EEPROM和闪存装置。处理器和存储器可以由专用逻辑电路补充或并入专用逻辑电路中。
尽管本专利文件包括许多细节,但是这些细节不应解释为对任何发明的或可能要求保护的范围的限制,而应解释为对可能特定于特定发明的特定实施例的特征的描述。在本专利文件中在不同实施例的背景下描述的某些特征也可以在单个实施例中以组合的方式实施。相反地,在单个实施例的背景下所描述的各种特征也可以分别在多个实施例中实施或以任何合适的子组合实施。此外,尽管这些特征在上面可以被描述为在某些组合中起作用,但是在某些情况下,可以从组合中移出来自该组合的一个或多个特征,然后该组合可以指向子组合或子组合的变体。
类似地,尽管在附图中按特定顺序描述了操作,但是这不应被理解为要求按所示的特定顺序或按先后顺序执行这些操作,或者执行所有示出的操作,以实现期望的结果。此外,在本专利文件中描述的实施例中的各种系统组件的分离不应被理解为在所有实施例中都需要这种分离。
仅描述一些实施方案和示例,并且可以基于本专利文件中描述和示出的内容得到其他实施方案、增强形式和变型形式。

Claims (20)

1.一种解码方法,包括:
对数据进行解码;并且
估计经解码的数据的加权校验和以确定所述解码是否成功,
其中,
所述加权校验和是基于第一组和第二组来计算的,
所述第一组与不规则奇偶校验矩阵的高阶节点的权重相关联,并且
所述第二组与所述不规则奇偶校验矩阵的低阶节点的权重相关联。
2.根据权利要求1所述的方法,其中,
所述高阶节点的权重取决于所述高阶节点的平均列权重,并且
所述低阶节点的权重取决于所述低阶节点的平均列权重。
3.根据权利要求2所述的方法,其中,所述高阶节点的权重与所述低阶节点的权重相互交换,以估计所述加权校验和。
4.根据权利要求1所述的方法,其中,所述不规则奇偶校验矩阵包括具有高列权重的高阶区域,所述高阶区域与具有低于所述高列权重的低列权重的低阶区域分离。
5.根据权利要求1所述的方法,其中,
所述不规则奇偶校验矩阵包括低密度奇偶校验矩阵,并且
所述方法进一步包括根据低密度奇偶校验解码即LDPC解码来确定LDPC校验和。
6.根据权利要求5所述的方法,进一步包括如果生成的CRC奇偶校验位与初始CRC位相匹配并且所述LDPC校验和小于预定阈值,则终止所述LDPC解码。
7.根据权利要求5所述的方法,进一步包括针对所述LDPC解码的每次迭代调整缩放值。
8.根据权利要求1所述的方法,其中,估计所述加权校验和包括对所述奇偶校验矩阵中的循环矩阵进行动态处理。
9.根据权利要求1所述的方法,进一步包括将基于所述低阶节点和所述高阶节点两者的权重的缩放因子应用于对不规则LDPC码进行解码的最小和解码器。
10.根据权利要求1所述的方法,进一步包括将位翻转BF解码器中的校验和替换为基于所述高阶节点的权重和所述低阶节点的权重的估计加权校验和。
11.一种存储器系统,包括:
存储器件;以及
解码器,联接到所述存储器件并且:
对数据进行解码;并且
估计经解码的数据的加权校验和以确定所述解码是否成功,
其中,
所述加权校验和是基于第一组和第二组来计算的,
所述第一组与不规则奇偶校验矩阵的高阶节点的权重相关联,并且
所述第二组与所述不规则奇偶校验矩阵的低阶节点的权重相关联。
12.根据权利要求11所述的存储器系统,其中,
所述高阶节点的权重取决于所述高阶节点的平均列权重,并且
所述低阶节点的权重取决于所述低阶节点的平均列权重。
13.根据权利要求11所述的存储器系统,其中,所述高阶节点的权重与所述低阶节点的权重相互交换,以估计所述加权校验和。
14.根据权利要求11所述的存储器系统,其中,所述不规则奇偶校验矩阵包括具有高列权重的高阶区域,所述高阶区域与具有低于所述高列权重的低列权重的低阶区域分离。
15.根据权利要求11所述的存储器系统,其中,
所述奇偶校验矩阵包括低密度奇偶校验矩阵,并且
所述解码器根据低密度奇偶校验解码即LDPC解码来确定LDPC校验和。
16.根据权利要求15所述的存储器系统,其中,如果生成的CRC奇偶校验位与初始CRC位相匹配并且所述LDPC校验和小于预定阈值,则所述解码器终止所述LDPC解码。
17.根据权利要求15所述的存储器系统,其中所述解码器针对所述LDPC解码的每次迭代调整缩放值。
18.根据权利要求11所述的存储器系统,其中所述解码器通过对所述奇偶校验矩阵中的循环矩阵进行动态处理来估计所述加权校验和。
19.根据权利要求11所述的存储器系统,其中所述解码器将基于所述低阶节点和所述高阶节点两者的权重的缩放因子应用于对不规则LDPC码进行解码的最小和解码器。
20.根据权利要求11所述的存储器系统,其中所述解码器将位翻转BF解码器中的校验和替换为基于所述高阶节点的权重和所述低阶节点的权重的估计加权校验和。
CN202211479882.5A 2022-09-14 2022-11-21 不规则ldpc码的动态缩放因子更改 Pending CN117707833A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/944,837 2022-09-14
US17/944,837 US11881871B1 (en) 2022-09-14 2022-09-14 On-the-fly scaling factor change for irregular LDPC codes

Publications (1)

Publication Number Publication Date
CN117707833A true CN117707833A (zh) 2024-03-15

Family

ID=89578486

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211479882.5A Pending CN117707833A (zh) 2022-09-14 2022-11-21 不规则ldpc码的动态缩放因子更改

Country Status (2)

Country Link
US (1) US11881871B1 (zh)
CN (1) CN117707833A (zh)

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7337384B2 (en) 2003-02-19 2008-02-26 Nokia Corporation Error detection scheme with partial checksum coverage
US7831895B2 (en) * 2006-07-25 2010-11-09 Communications Coding Corporation Universal error control coding system for digital communication and data storage systems
JP5509165B2 (ja) * 2011-08-24 2014-06-04 株式会社東芝 誤り訂正符号化装置、誤り訂正復号装置、不揮発性半導体記憶システム及びパリティ検査行列生成方法
US10700706B2 (en) 2017-09-22 2020-06-30 SK Hynix Inc. Memory system with decoders and method of operating such memory system and decoders
US11184024B2 (en) 2019-12-02 2021-11-23 SK Hynix Inc. Error mitigation scheme for bit-flipping decoders for irregular low-density parity-check codes
KR20210074425A (ko) * 2019-12-11 2021-06-22 삼성전자주식회사 에러를 정정하는 스토리지 컨트롤러, 이를 포함하는 스토리지 장치, 및 이의 동작 방법
US20210184795A1 (en) * 2019-12-16 2021-06-17 Nvidia Corporation Accelerated parallel processing of 5g nr signal information
US20210383220A1 (en) * 2020-06-04 2021-12-09 Ramot At Tel-Aviv University Ltd. Deep neural network ensembles for decoding error correction codes
KR20220022801A (ko) * 2020-08-19 2022-02-28 삼성전자주식회사 무선 통신 시스템에서 신호를 복호하는 방법 및 장치

Also Published As

Publication number Publication date
US11881871B1 (en) 2024-01-23

Similar Documents

Publication Publication Date Title
CN109616148B (zh) 具有解码器的存储器系统、其操作方法和解码器
CN106997777B (zh) 具有改进的硬解码吞吐量的vss ldpc解码器
US10484008B2 (en) Memory system with on-the-fly error detection and termination and operating method thereof
CN108073467B (zh) 具有硬信道信息的位翻转ldpc解码算法
US10693496B2 (en) Memory system with LDPC decoder and method of operating such memory system and LDPC decoder
KR102559925B1 (ko) Ldpc 디코더, 반도체 메모리 시스템 및 그것의 동작 방법
CN110275796B (zh) 具有混合解码方案的存储器系统及其操作方法
US10447302B2 (en) Memory system decoding design and operating method thereof
CN111092619B (zh) Ldpc解码器、半导体存储器系统及其操作方法
US10200063B2 (en) Memory controller, semiconductor memory system and operating method thereof
US11182243B2 (en) Memory system with adaptive information propagation and method of operating such memory
KR102606829B1 (ko) Ldpc 디코더, 반도체 메모리 시스템 및 그것의 동작 방법
CN112687323B (zh) 具有用于解码的错误减少方案的存储器系统及其操作方法
US10884858B2 (en) LDPC decoding device, memory system including the same and method thereof
US11387845B2 (en) LDPC decoder, operating method of LDPC decoder, and semiconductor memory system
CN110275844B (zh) 利用自适应阈值解码的存储器系统及其操作方法
US11062758B2 (en) Memory system to process multiple word line failures with limited storage and method of operating such memory system
US11881871B1 (en) On-the-fly scaling factor change for irregular LDPC codes
CN112216328A (zh) 具有低复杂度解码的存储器系统及其操作方法
US11967970B2 (en) Bit-flipping decoder and decoding method for irregular codes
CN107301873B (zh) 译码方法、存储器储存装置及存储器控制电路单元
US11973515B2 (en) Hybrid precision MS decoder to reduce gate-count for long codes
US11770133B1 (en) Exact ber reporting in the presence of CRC termination
CN111258791B (zh) 存储器控制方法、存储器存储装置及存储器控制电路单元
CN115440289A (zh) 用于局部增强的解码系统和方法

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