CN106971759A - 低密度奇偶校验装置与脱离矩阵陷阱集合方法 - Google Patents

低密度奇偶校验装置与脱离矩阵陷阱集合方法 Download PDF

Info

Publication number
CN106971759A
CN106971759A CN201710043257.9A CN201710043257A CN106971759A CN 106971759 A CN106971759 A CN 106971759A CN 201710043257 A CN201710043257 A CN 201710043257A CN 106971759 A CN106971759 A CN 106971759A
Authority
CN
China
Prior art keywords
information
trap matrix
interative computation
constant
matrix set
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
Application number
CN201710043257.9A
Other languages
English (en)
Other versions
CN106971759B (zh
Inventor
戴颖煜
朱江力
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Via Technologies Inc
Original Assignee
Via Technologies 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 Via Technologies Inc filed Critical Via Technologies Inc
Publication of CN106971759A publication Critical patent/CN106971759A/zh
Application granted granted Critical
Publication of CN106971759B publication Critical patent/CN106971759B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/25Error detection or forward error correction by signal space coding, i.e. adding redundancy in the signal constellation, e.g. Trellis Coded Modulation [TCM]
    • H03M13/255Error 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/028Detection or location of defective auxiliary circuits, e.g. defective refresh counters with adaption or trimming of parameters
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • G11C29/42Response verification devices using error correcting codes [ECC] or parity check
    • 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
    • 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/1142Decoding using trapping sets
    • 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/13Linear codes
    • H03M13/17Burst error correction, e.g. error trapping, Fire codes
    • H03M13/175Error trapping or Fire codes
    • 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/3746Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 with iterative 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/3746Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 with iterative decoding
    • H03M13/3753Decoding 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
    • 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/615Use of computational or mathematical techniques
    • H03M13/616Matrix operations, especially for generator matrices or check matrices, e.g. column or row permutations
    • 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/65Purpose and implementation aspects
    • H03M13/6577Representation or format of variables, register sizes or word-lengths and quantization
    • H03M13/658Scaling by multiplication or division
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/52Protection of memory contents; Detection of errors in memory contents
    • 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)
  • Engineering & Computer Science (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Algebra (AREA)
  • Computing Systems (AREA)
  • Error Detection And Correction (AREA)

Abstract

低密度奇偶校验(LDPC)装置与脱离矩阵陷阱集合方法。LDPC装置包括对数相似率(LLR)转换电路、变量节点(VN)计算电路、调整电路、校验节点(CN)计算电路以及控制器。LLR转换电路将原码字转换为LLR向量。VN计算电路使用LLR向量与C2V信息来计算原V2C信息。调整电路依照系数来调整原V2C信息而获得经调整V2C信息。CN计算电路使用经调整V2C信息来计算所述C2V信息,以及将C2V信息提供给VN计算电路。控制器决定是否调整所述系数。当LDPC迭代运算落入矩阵陷阱集合时,控制器决定调整所述系数,以便使LDPC迭代运算脱离矩阵陷阱集合。

Description

低密度奇偶校验装置与脱离矩阵陷阱集合方法
技术领域
本发明涉及一种奇偶校验(parity check)技术,且特别涉及一种低密度奇偶校验(Low-Density Parity-Check,以下称LDPC)装置与脱离矩阵陷阱集合(Matrix trappingset)方法。
背景技术
与传统的硬盘设备相比,配置了快闪存储器(FLASH memory)的固态硬盘(SolidState Drive,SSD)具有快速读/写性能和低功耗等特性。固态硬盘是一种常用的数据存储设备。固态硬盘的系统(固件与硬件)可以将原数据进行低密度奇偶校验(Low-DensityParity-Check,以下称LDPC)编码以获得原码字(codeword),然后将码字写入固态硬盘的快闪存储器。固态硬盘的系统(固件与硬件)还可以从固态硬盘读出原码字,然后对原码字进行LDPC解码(LDPC decoding)以获得原数据。
LDPC的校验矩阵H定义了多个变量节点(variable node,VN)与多个校验节点(check node,CN)之间的关系。校验矩阵H可以依照设计需求来决定。所述LDPC解码的迭代运算包括,依据C2V信息计算从变量节点被传送到校验节点的V2C信息,以及依据所述V2C信息计算从校验节点被传送到变量节点的所述C2V信息。所述V2C信息的计算细节以及所述C2V信息的计算细节为已知技术,故不再赘述。
一般而言,通常噪声(noise)越小,亦即原码字的位误码率(bit error rate,以下称BER,或误比特率)越小,则LDPC解码的帧误码率(frame error rate,以下称FER)越低。无论如何,LDPC解码的迭代运算有可能会发生矩阵陷阱集合(matrix trapping set)现象。当发生矩阵陷阱集合现象时,即使BER变小,但LDPC解码的FER并没有明显降低。或者,即使BER变小,但LDPC解码的FER的降低速度远小于正常的降低速度。因此,当迭代运算落入矩阵陷阱集合时,固态硬盘需要执行脱离矩阵陷阱集合(matrix trapping set breaking),使LDPC解码的迭代运算不会一直陷在矩阵陷阱集合的迭代循环中。
发明内容
本发明提供一种低密度奇偶校验(Low-Density Parity-Check,以下称LDPC)装置与脱离矩阵陷阱集合(matrix trapping set)方法,其可以使LDPC装置所进行的迭代运算脱离矩阵陷阱集合。
本发明的实施例提供一种低密度奇偶校验(LDPC)装置,用以进行迭代运算以解码原码字(codeword)。LDPC装置包括对数相似率(log likelihood ratio,以下称LLR)转换电路、变量节点(variable node,VN)计算电路、调整电路、校验节点(check node,CN)计算电路以及控制器。LLR转换电路被配置为依据映射关系来将原码字转换为LLR向量。变量节点计算电路耦接至LLR转换电路,以接收LLR向量。变量节点计算电路被配置为使用LLR向量与至少一C2V信息来计算从至少一变量节点到至少一校验节点的至少一原V2C信息。调整电路耦接至变量节点计算电路,以接收所述原V2C信息。调整电路被配置为依照至少一系数来调整所述原V2C信息而获得至少一经调整V2C信息。校验节点计算电路耦接至调整电路,以接收所述经调整V2C信息。校验节点计算电路被配置为使用所述经调整V2C信息来计算从所述校验节点到所述变量节点的所述至少一C2V信息,以及将所述至少一C2V信息提供给变量节点计算电路。控制器耦接至调整电路。控制器被配置为决定是否调整所述系数。当迭代运算落入矩阵陷阱集合时,控制器决定调整所述系数,以便使迭代运算脱离矩阵陷阱集合。
本发明的实施例提供一种脱离矩阵陷阱集合方法,用以使LDPC装置所进行的迭代运算脱离矩阵陷阱集合。所述脱离矩阵陷阱集合方法包括:依据映射关系来将原码字转换为LLR向量;使用LLR向量与至少一C2V信息来计算从至少一变量节点到至少一校验节点的至少一原V2C信息;依照至少一系数来调整所述原V2C信息而获得至少一经调整V2C信息;使用所述经调整V2C信息来计算从所述校验节点到所述变量节点的所述至少一C2V信息;以及决定是否调整所述系数,其中当迭代运算落入矩阵陷阱集合时,决定调整所述系数,以便使迭代运算脱离矩阵陷阱集合。
基于上述,本发明诸实施例所述LDPC装置与脱离矩阵陷阱集合方法,其可以决定是否调整从变量节点被传送到校验节点的V2C信息。当LDPC解码的迭代运算落入矩阵陷阱集合时,决定调整系数来改变所述经调整V2C信息,以便使迭代运算脱离矩阵陷阱集合。
为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。
附图说明
图1是依照本发明一实施例说明一种非易失性存储器装置的电路方块(circuitblock)示意图。
图2是依照本发明一实施例说明图1所示低密度奇偶校验装置的电路方块示意图。
图3是依照本发明一实施例说明一种低密度奇偶校验方法与脱离矩阵陷阱集合方法的流程示意图。
图4是依照本发明另一实施例说明图1所示低密度奇偶校验装置的电路方块示意图。
【符号说明】
10:主机
100:非易失性存储器装置
110:存储器控制器
111:中央处理单元
112:存储器控制电路
113:存储器缓冲器
114:低密度奇偶校验(LDPC)装置
120:非易失性存储器
210、410:对数相似率(LLR)转换电路
220、420:变量节点(VN)计算电路
230、430:调整电路
240、440:校验节点(CN)计算电路
250、450:控制器
C2V:C2V信息
IN:原码字
OUT:经解码的数据
S310~S360:步骤
V2C_1:原V2C信息
V2C_2:经调整V2C信息
具体实施方式
在本申请说明书全文(包括权利要求书)中所使用的“耦接(或连接)”一词可指任何直接或间接的连接手段。举例而言,若文中描述第一装置耦接(或连接)于第二装置,则应该被解释成该第一装置可以直接连接于该第二装置,或者该第一装置可以通过其他装置或某种连接手段而间接地连接至该第二装置。另外,凡可能之处,在附图及实施方式中使用相同标号的元件/构件/步骤代表相同或类似部分。不同实施例中使用相同标号或使用相同用语的元件/构件/步骤可以相互参照相关说明。
图1是依照本发明一实施例说明一种非易失性存储器装置100的电路方块(circuit block)示意图。依照设计需求,非易失性存储器装置100可以是随身碟、固态硬盘(solid state disc,SSD)或是其他存储装置。非易失性存储器装置100可以耦接至主机(host)10。此主机10可以是计算机、手持式电话、多媒体播放器、相机或是其他电子装置。非易失性存储器装置100包括存储器控制器110以及非易失性存储器120。依照设计需求,非易失性存储器120可以是与非快闪存储器(NAND flash memory)或是其他非易失性存储电路/元件。
存储器控制器110耦接至非易失性存储器120。存储器控制器110可以依照主机10的写入命令(write command)的逻辑地址而存取非易失性存储器120。在一些实施例中,所述逻辑地址信息可以是逻辑块地址(logical block address,LBA)或是其他逻辑地址。在图1所示实施例中,存储器控制器110包括中央处理单元111、存储器控制电路112、存储器缓冲器113与低密度奇偶校验(Low-Density Parity-Check,以下称LDPC)装置114。中央处理单元111经由通信接口耦接至主机10。依照设计需求,所述通信接口包括小型计算机系统接口(small computer system interface,SCSI)、串行连接小型计算机系统接口(SerialAttached SCSI,SAS)、增强型小型装置接口(Enhanced Small Disk Interface,ESDI)、串行先进技术连接(serial advanced technology attachment,SATA)、快速周边元件互连(peripheral component interconnect express,PCI-express)、整合式电子装置(integrated drive electronics,IDE)接口、通用串行总线(universal serial bus,USB)、雷电(Thunderbolt)接口或其他接口。本实施例并没有限制主机10与非易失性存储器装置100之间的接口结构。
当主机10发出写入命令时,待写入的数据可以被暂存于存储器缓冲器113,而中央处理单元111可以将主机10的写入命令(包含逻辑地址)转换/解码为对应的内部控制信号(包含非易失性存储器120的物理地址),并将内部控制信号提供给存储器控制电路112和/或存储器缓冲器113。存储器缓冲器113的例子包括动态随机存取存储器(dynamic randomaccess memory,DRAM)、静态随机存取存储器(static random access memory,SRAM)或是其他易失性存储器(volatile memory)。LDPC装置114可以执行LDPC算法,以便将暂存于存储器缓冲器113的数据加以编码为码字(codeword)。依照内部控制信号,存储器控制电路112可以定址/控制非易失性存储器120,以便将码字写入非易失性存储器120。
当主机10发出读取命令时,中央处理单元111可以将主机10的读取命令(包含逻辑地址)转换/解码为对应的内部控制信号(包含非易失性存储器120的物理地址)。依照内部控制信号,存储器控制电路112可以定址/控制非易失性存储器120,以便将非易失性存储器120内的原码字读出。LDPC装置114可以执行LDPC算法,以便将原码字解码为数据,并将经解码的数据暂存于存储器缓冲器113。然后,中央处理单元111可以将暂存于存储器缓冲器113的数据回传给主机10。
LDPC的校验矩阵H定义了多个变量节点(variable node,VN)与多个校验节点(check node,CN)之间的关系。校验矩阵H的行(row)的数量表示校验节点的数量,而校验矩阵H的列(column)的数量表示变量节点的数量。在LDPC的演算过程中,信息在变量节点与校验节点之间传递。经过LDPC演算过程中的多次迭代运算,使变量节点的信息收敛而完成LDPC的解码演算。
图2是依照本发明一实施例说明图1所示低密度奇偶校验(LDPC)装置114的电路方块(circuit block)示意图。LDPC装置114可以进行LDPC的迭代运算,以解码原码字IN而获得经解码的数据OUT。在图2所示实施例中,LDPC装置114包括对数相似率(log likelihoodratio,以下称LLR)转换电路210、变量节点(VN)计算电路220、调整电路230、校验节点(CN)计算电路240以及控制器250。
图3是依照本发明一实施例说明一种低密度奇偶校验(LDPC)方法与脱离矩阵陷阱集合方法的流程示意图。请参照图2与图3,LLR转换电路210可以在步骤S310中依据映射关系来将原码字IN转换为对数相似率(LLR)向量。LLR向量中的任何一个LLR值是表示“原码字IN的某一特定位是某一特定值”的可能性。LLR的范围可以从-x到x。在一些实施例中,-x表示原码字IN的某一特定位被确信为逻辑“1”,而x表示原码字IN的某一特定位被确信为逻辑“0”。在另一些实施例中,-x表示原码字IN的某一特定位被确信为逻辑“0”,而x表示原码字IN的某一特定位被确信为逻辑“1”。
VN计算电路220耦接至LLR转换电路210,以接收LLR向量。VN计算电路220可以在步骤S320中使用所述LLR向量(由LLR转换电路210所提供)与至少一C2V信息(亦即图2所示“C2V”,由CN计算电路240所提供),来计算从变量节点到校验节点的至少一原V2C信息V2C_1。VN计算电路220所进行的计算相当在校验矩阵H的列处理。VN计算电路220所进行的计算V2C信息的细节可以是已知算法或是其他算法。
调整电路230耦接至VN计算电路220,以接收所述原V2C信息V2C_1。调整电路230可以在步骤S330中依照至少一系数来调整所述原V2C信息V2C_1,而获得至少一经调整V2C信息V2C_2。所述系数受控于控制器250。在一些实施例中,所述系数包括比例系数SF,而调整电路230可以计算等式V2C_2=V2C_1*SF,以获得所述经调整V2C信息V2C_2,其中比例系数SF为实数。举例来说(但不限于此),所述比例系数SF小于或等于1,且所述比例系数SF大于0。举例来说,所述比例系数SF可以是1、0.75、0.625、0.5或是其他实数。在另一些实施例中,所述系数包括比例系数SF与常数C1,而调整电路230可以计算等式V2C_2=V2C_1*SF+C1,以获得所述经调整V2C信息V2C_2,其中比例系数SF与常数C1为实数。
CN计算电路240耦接至调整电路230,以接收所述经调整V2C信息V2C_2。CN计算电路240可以在步骤S340中使用所述经调整V2C信息V2C_2,来计算从校验节点到变量节点的所述C2V信息,以及将所述C2V信息(亦即图2所示“C2V”)提供给VN计算电路220。CN计算电路240所进行的计算相当在校验矩阵H的行处理。CN计算电路240所进行的计算C2V信息的细节可以是已知算法或是其他算法。
至此,步骤S320、S330与S340完成了一次迭代。控制器250可以控制VN计算电路220与CN计算电路240,以进行/监督LDPC迭代运算。控制器250在步骤S350中可以判断变量节点的信息是否收敛。当变量节点的信息尚未收敛时,表示LDPC解码尚未成功,因此控制器250可以控制VN计算电路220与CN计算电路240去进行下一次迭代,亦即再一次执行步骤S320、S330、S340与S350。当变量节点的信息已收敛时,表示LDPC解码成功,因此控制器250可以停止/完成迭代运算。在一些情况下,迭代运算的迭代次数已达到最大迭代次数,但变量节点的信息尚未收敛,此时控制器250可以断定LDPC解码失败而停止迭代运算。
无论如何,在完成迭代运算之前,LDPC解码的迭代运算有可能会发生矩阵陷阱集合(matrix trapping set)现象。控制器250需要执行图3所示脱离矩阵陷阱集合(matrixtrapping set breaking)方法,使LDPC解码的迭代运算不会一直陷在矩阵陷阱集合的迭代循环中。控制器250可以获知矩阵陷阱集合有无发生。所述“矩阵陷阱集合”以及“如何获知矩阵陷阱集合”,其为已知技术,故不再赘述。
控制器250耦接至调整电路230。控制器250在步骤S360中可以决定是否调整步骤S330的所述系数。当LDPC的迭代运算落入矩阵陷阱集合时,控制器250可以在步骤S360中决定调整步骤S330的所述系数,以便使LDPC的迭代运算脱离矩阵陷阱集合。举例来说,在LDPC的迭代运算没有落入矩阵陷阱集合的情况下,步骤S330的所述系数可以是0.75;当LDPC的迭代运算落入矩阵陷阱集合时,控制器250可以将步骤S330的所述系数调整为0.5。
图4是依照本发明另一实施例说明图1所示低密度奇偶校验(LDPC)装置114的电路方块(circuit block)示意图。在图4所示实施例中,LDPC装置114包括LLR转换电路410、VN计算电路420、调整电路430、CN计算电路440以及控制器450。图4所示LLR转换电路410、VN计算电路420、调整电路430、CN计算电路440以及控制器450可以参照图2所示LLR转换电路210、VN计算电路220、调整电路230、CN计算电路240以及控制器250的相关说明来类推,故不再赘述。
在图4所示实施例中,控制器450还可以控制LLR转换电路410,以决定是否调整LLR转换电路410的映射关系。当LDPC的迭代运算落入矩阵陷阱集合时,控制器450可以决定调整LLR转换电路410的映射关系,以便使LDPC的迭代运算脱离矩阵陷阱集合。当LDPC的迭代运算落入矩阵陷阱集合时,控制器450还可以决定改变调整电路430的系数(请详参图2所示调整电路230的相关说明),以便使LDPC的迭代运算脱离矩阵陷阱集合。
在一些实施例中,LLR转换电路410包含了具有不同映射关系的多个查找表。当LDPC的迭代运算没有落入矩阵陷阱集合时,控制器450控制LLR转换电路410去选用这些查找表中的某一个查找表(例如一个默认查找表,在此称第一查找表),以将原码字IN转换为LLR向量给VN计算电路420。当LDPC的迭代运算落入矩阵陷阱集合时,控制器450控制LLR转换电路410去选用这些查找表中的另一个查找表(在此称第二查找表),以将原码字IN转换为LLR向量给VN计算电路420。
在另一些实施例中,LLR转换电路410可以将原码字IN转换为原对数相似率(LLR)向量LLR_1。“将原码字IN转换为原LLR向量LLR_1”可以参照已知算法或是其他算法来达成。LLR转换电路410可以计算等式LLR_2=LLR_1*C2+C3,以获得所述LLR向量LLR_2,其中C2表示第一常数,C3表示第二常数,而C2与C3为实数。当LDPC的迭代运算落入矩阵陷阱集合时,控制器450可以调整第一常数C2,或调整第二常数C3,或调整第一常数C2与第二常数C3,以便使LDPC的迭代运算脱离矩阵陷阱集合。举例来说(但不限于此),当LDPC的迭代运算没有落入矩阵陷阱集合时,控制器450可以将第一常数C2设为1且将第二常数C3设为0;当LDPC的迭代运算落入矩阵陷阱集合时,控制器450可以将第一常数C2设为非1且非0的实数,和/或是将第二常数C3设为非0的实数。
值得注意的是,在不同的应用情境中,存储器控制器110包括中央处理单元111、存储器控制电路112、存储器缓冲器113、低密度奇偶校验(LDPC)装置114、LLR转换电路210、VN计算电路220、调整电路230、CN计算电路240、控制器250、LLR转换电路410、VN计算电路420、调整电路430、CN计算电路440和/或控制器450的相关功能可以利用一般的编程语言(programming languages,例如C或C++)、硬件描述语言(hardware descriptionlanguages,例如Verilog HDL或VHDL)或其他合适的编程语言来实现为软件、固件或硬件。可执行所述相关功能的软件(或固件)可以被布置为任何已知的计算机可存取介质(computer-accessible medias),例如磁带(magnetic tapes)、半导体(semiconductors)存储器、磁盘(magnetic disks)或光盘(compact disks,例如CD-ROM或DVD-ROM),或者可通过互联网(Internet)、有线通信(wired communication)、无线通信(wirelesscommunication)或其它通信介质传送所述软件(或固件)。所述软件(或固件)可以被存放在计算机的可存取介质中,以便于由计算机的处理器来存取/执行所述软件(或固件)的编程码(programming codes)。另外,本发明的装置和方法可以通过硬件和软件的组合来实现。
综上所述,本发明诸实施例所述低密度奇偶校验(LDPC)装置与脱离矩阵陷阱集合方法,其可以决定是否调整从变量节点(VN)被传送到校验节点(CN)的V2C信息。当LDPC解码的迭代运算落入矩阵陷阱集合时,决定调整系数(V2C信息的缩放系数)来改变所述经调整V2C信息,以便使迭代运算脱离矩阵陷阱集合。
虽然本发明已以实施例公开如上,然其并非用以限定本发明,本领域技术人员,在不脱离本发明的精神和范围内,当可作些许的更动与润饰,故本发明的保护范围当视所附权利要求书界定范围为准。

Claims (17)

1.一种低密度奇偶校验装置,用以进行迭代运算以解码原码字,包括:
对数相似率转换电路,被配置为依据映射关系来将该原码字转换为一对数相似率向量;
变量节点计算电路,耦接至该对数相似率转换电路以接收该对数相似率向量,被配置为使用该对数相似率向量与至少一C2V信息来计算从至少一变量节点到至少一校验节点的至少一原V2C信息;
调整电路,耦接至该变量节点计算电路以接收所述原V2C信息,被配置为依照至少一系数来调整所述原V2C信息而获得至少一经调整V2C信息;
校验节点计算电路,耦接至该调整电路以接收所述经调整V2C信息,被配置为使用所述经调整V2C信息来计算从所述校验节点到所述变量节点的所述至少一C2V信息,以及将所述至少一C2V信息提供给该变量节点计算电路;以及
控制器,耦接至该调整电路,被配置为决定是否调整所述系数,其中当该迭代运算落入矩阵陷阱集合时,该控制器决定调整所述系数,以便使该迭代运算脱离该矩阵陷阱集合。
2.如权利要求1所述的低密度奇偶校验装置,其中该控制器还被配置为控制该变量节点计算电路与该校验节点计算电路,以进行该迭代运算。
3.如权利要求1所述的低密度奇偶校验装置,其中所述系数包括比例系数SF,该调整电路计算等式V2C_2=V2C_1*SF以获得所述经调整V2C信息V2C_2,其中V2C_1表示所述原V2C信息,而该比例系数SF为实数。
4.如权利要求3所述的低密度奇偶校验装置,其中所述比例系数SF小于1且大于0。
5.如权利要求1所述的低密度奇偶校验装置,其中所述系数包括比例系数SF与常数C1,该调整电路计算等式V2C_2=V2C_1*SF+C1以获得所述经调整V2C信息V2C_2,其中V2C_1表示所述原V2C信息,而该比例系数SF与该常数C1为实数。
6.如权利要求1所述的低密度奇偶校验装置,其中该控制器还被配置为决定是否调整所述映射关系,当该迭代运算落入该矩阵陷阱集合时,该控制器决定调整所述映射关系,以便使该迭代运算脱离该矩阵陷阱集合。
7.如权利要求6所述的低密度奇偶校验装置,其中该对数相似率转换电路包含了具有不同映射关系的多个查找表,当该迭代运算没有落入该矩阵陷阱集合时,该控制器控制该对数相似率转换电路去选用这些查找表中的第一查找表以将该原码字转换为该对数相似率向量,以及当该迭代运算落入该矩阵陷阱集合时,该控制器控制该对数相似率转换电路去选用这些查找表中的第二查找表以将该原码字转换为该对数相似率向量。
8.如权利要求6所述的低密度奇偶校验装置,其中
该对数相似率转换电路将该原码字转换为原对数相似率向量LLR_1;
该对数相似率转换电路计算等式LLR_2=LLR_1*C2+C3以获得该对数相似率向量LLR_2,其中C2表示第一常数,C3表示第二常数,而C2与C3为实数;以及
当该迭代运算落入该矩阵陷阱集合时,该控制器调整该第一常数C2,或调整该第二常数C3,或调整该第一常数C2与该第二常数C3,以便使该迭代运算脱离该矩阵陷阱集合。
9.如权利要求8所述的低密度奇偶校验装置,其中当该迭代运算没有落入该矩阵陷阱集合时,该控制器将该第一常数C2设为1,且将该第二常数C3设为0。
10.一种脱离矩阵陷阱集合方法,用以使低密度奇偶校验装置所进行的迭代运算脱离矩阵陷阱集合,所述脱离矩阵陷阱集合方法包括:
依据映射关系来将原码字转换为一对数相似率向量;
使用该对数相似率向量与至少一C2V信息来计算从至少一变量节点到至少一校验节点的至少一原V2C信息;
依照至少一系数来调整所述原V2C信息而获得至少一经调整V2C信息;
使用所述经调整V2C信息来计算从所述校验节点到所述变量节点的所述至少一C2V信息;以及
决定是否调整所述系数,其中当该迭代运算落入该矩阵陷阱集合时,决定调整所述系数,以便使该迭代运算脱离该矩阵陷阱集合。
11.如权利要求10所述的脱离矩阵陷阱集合方法,其中所述系数包括比例系数SF,而所述调整所述原V2C信息的步骤包括:
计算等式V2C_2=V2C_1*SF,以获得所述经调整V2C信息V2C_2,其中V2C_1表示所述原V2C信息,而该比例系数SF为实数。
12.如权利要求11所述的脱离矩阵陷阱集合方法,其中所述比例系数SF小于1且大于0。
13.如权利要求10所述的脱离矩阵陷阱集合方法,其中所述系数包括比例系数SF与常数C1,而所述调整所述原V2C信息的步骤包括:
计算等式V2C_2=V2C_1*SF+C1,以获得所述经调整V2C信息V2C_2,其中V2C_1表示所述原V2C信息,而该比例系数SF与该常数C1为实数。
14.如权利要求10所述的脱离矩阵陷阱集合方法,还包括:
决定是否调整所述映射关系,其中当该迭代运算落入该矩阵陷阱集合时,决定调整所述映射关系,以便使该迭代运算脱离该矩阵陷阱集合。
15.如权利要求14所述的脱离矩阵陷阱集合方法,其中所述调整所述映射关系的步骤包括:
提供具有不同映射关系的多个查找表;
当该迭代运算没有落入该矩阵陷阱集合时,选用这些查找表中的第一查找表,以将该原码字转换为该对数相似率向量;以及
当该迭代运算落入该矩阵陷阱集合时,选用这些查找表中的第二查找表,以将该原码字转换为该对数相似率向量。
16.如权利要求14所述的脱离矩阵陷阱集合方法,其中所述调整所述映射关系的步骤包括:
将该原码字转换为原对数相似率向量LLR_1;
计算等式LLR_2=LLR_1*C2+C3,以获得该对数相似率向量LLR_2,其中C2表示第一常数,C3表示第二常数,而C2与C3为实数;以及
当该迭代运算落入该矩阵陷阱集合时,调整该第一常数C2,或调整该第二常数C3,或调整该第一常数C2与该第二常数C3,以便使该迭代运算脱离该矩阵陷阱集合。
17.如权利要求16所述的脱离矩阵陷阱集合方法,其中所述调整所述映射关系的步骤还包括:
当该迭代运算没有落入该矩阵陷阱集合时,将该第一常数C2设为1,且将该第二常数C3设为0。
CN201710043257.9A 2016-12-14 2017-01-19 低密度奇偶校验装置与脱离矩阵陷阱集合方法 Active CN106971759B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/379,450 2016-12-14
US15/379,450 US10141953B2 (en) 2016-12-14 2016-12-14 Low-density parity-check apparatus and matrix trapping set breaking method

Publications (2)

Publication Number Publication Date
CN106971759A true CN106971759A (zh) 2017-07-21
CN106971759B CN106971759B (zh) 2020-03-27

Family

ID=59334824

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710043257.9A Active CN106971759B (zh) 2016-12-14 2017-01-19 低密度奇偶校验装置与脱离矩阵陷阱集合方法

Country Status (3)

Country Link
US (1) US10141953B2 (zh)
CN (1) CN106971759B (zh)
TW (1) TWI652686B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110601791A (zh) * 2018-06-13 2019-12-20 财团法人资讯工业策进会 通信系统的低密度奇偶检查码的解码方法及应用其的通信装置
CN111049530A (zh) * 2018-10-12 2020-04-21 爱思开海力士有限公司 纠错电路及其操作方法
CN112306382A (zh) * 2019-07-29 2021-02-02 慧荣科技股份有限公司 快闪存储器控制器、储存装置及其读取方法

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11159175B2 (en) * 2019-06-21 2021-10-26 Intel Corporation Non-uniform iteration-dependent min-sum scaling factors for improved performance of spatially-coupled LDPC codes
US11269645B2 (en) * 2020-03-11 2022-03-08 Western Digital Technologies, Inc. Storage system and method for implementing an encoder, decoder, and/or buffer using a field programmable gate array
US11664821B1 (en) * 2022-02-08 2023-05-30 SK Hynix Inc. Error floor performance of a bit flipping decoder through identifying unreliable check nodes
US11996862B2 (en) * 2022-09-07 2024-05-28 Seagate Technology Llc High performance decoder

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102594365A (zh) * 2012-02-29 2012-07-18 中山大学 一种动态异步bp译码方法
CN102832949A (zh) * 2011-06-13 2012-12-19 慧荣科技股份有限公司 控制基于消息传递算法的译码操作的方法及其控制装置
US20140068368A1 (en) * 2012-09-04 2014-03-06 Lsi Corporation LDPC Decoder With Fractional Unsatisfied Check Quality Metric
CN105991141A (zh) * 2015-02-15 2016-10-05 上海高清数字科技产业有限公司 Ldpc译码方法
US20160294416A1 (en) * 2015-04-02 2016-10-06 National Tsing Hua University Decoding method of low density parity check code and information storing method in the decoding method

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100899738B1 (ko) 2006-02-02 2009-05-27 삼성전자주식회사 노드 메모리 기반의 ldpc 복호기 및 복호방법
US8418023B2 (en) * 2007-05-01 2013-04-09 The Texas A&M University System Low density parity check decoder for irregular LDPC codes
US20110083058A1 (en) 2009-10-01 2011-04-07 Stmicroelectronics, Inc. Trapping set based ldpc code design and related circuits, systems, and methods
US8689084B1 (en) * 2011-06-27 2014-04-01 Cadence Design Systems, Inc. Method and apparatus for breaking trapping sets in decoding of information
US9141467B2 (en) 2012-03-23 2015-09-22 Samsung Electronics Co., Ltd. Semiconductor memory system including Reed-Solomon low density parity check decoder and read method thereof
US8739004B2 (en) * 2012-05-10 2014-05-27 Lsi Corporation Symbol flipping LDPC decoding system
US8990661B1 (en) 2013-03-05 2015-03-24 Pmc-Sierra Us, Inc. Layer specific attenuation factor LDPC decoder
US8935598B1 (en) 2013-03-12 2015-01-13 Pmc-Sierra Us, Inc. System and method for adaptive check node approximation in LDPC decoding
US8984376B1 (en) * 2013-03-14 2015-03-17 Pmc-Sierra Us, Inc. System and method for avoiding error mechanisms in layered iterative decoding
US8984365B1 (en) 2013-03-14 2015-03-17 Pmc-Sierra Us, Inc. System and method for reduced memory storage in LDPC decoding
US20160191079A1 (en) 2014-12-24 2016-06-30 Avago Technologies General Ip (Singapore) Pte. Ltd. Low Dynamic Power Check Node Processor For Low Density Parity Check Decoder

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102832949A (zh) * 2011-06-13 2012-12-19 慧荣科技股份有限公司 控制基于消息传递算法的译码操作的方法及其控制装置
CN102594365A (zh) * 2012-02-29 2012-07-18 中山大学 一种动态异步bp译码方法
US20140068368A1 (en) * 2012-09-04 2014-03-06 Lsi Corporation LDPC Decoder With Fractional Unsatisfied Check Quality Metric
CN105991141A (zh) * 2015-02-15 2016-10-05 上海高清数字科技产业有限公司 Ldpc译码方法
US20160294416A1 (en) * 2015-04-02 2016-10-06 National Tsing Hua University Decoding method of low density parity check code and information storing method in the decoding method

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
郭军军等: "一种LDPC码有限字母表迭代译码器选择算法", 《西安电子科技大学学报(自然科学版)》 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110601791A (zh) * 2018-06-13 2019-12-20 财团法人资讯工业策进会 通信系统的低密度奇偶检查码的解码方法及应用其的通信装置
CN110601791B (zh) * 2018-06-13 2022-03-15 财团法人资讯工业策进会 通信系统的低密度奇偶检查码的解码方法及应用其的通信装置
CN111049530A (zh) * 2018-10-12 2020-04-21 爱思开海力士有限公司 纠错电路及其操作方法
CN112306382A (zh) * 2019-07-29 2021-02-02 慧荣科技股份有限公司 快闪存储器控制器、储存装置及其读取方法
CN112306382B (zh) * 2019-07-29 2023-12-26 慧荣科技股份有限公司 快闪存储器控制器、储存装置及其读取方法

Also Published As

Publication number Publication date
TWI652686B (zh) 2019-03-01
TW201822218A (zh) 2018-06-16
CN106971759B (zh) 2020-03-27
US10141953B2 (en) 2018-11-27
US20180167086A1 (en) 2018-06-14

Similar Documents

Publication Publication Date Title
CN106971759A (zh) 低密度奇偶校验装置与脱离矩阵陷阱集合方法
US9973213B2 (en) Decoding method, and memory storage apparatus and memory control circuit unit using the same
US9543983B2 (en) Decoding method, memory storage device and memory control circuit unit
TWI652677B (zh) 解碼方法、記憶體儲存裝置及記憶體控制電路單元
US9529666B2 (en) Decoding method, memory storage device and memory controlling circuit unit
US10484008B2 (en) Memory system with on-the-fly error detection and termination and operating method thereof
US9471421B2 (en) Data accessing method, memory storage device and memory controlling circuit unit
US10445175B2 (en) Controller and operating method thereof
US10693496B2 (en) Memory system with LDPC decoder and method of operating such memory system and LDPC decoder
US9274891B2 (en) Decoding method, memory storage device, and memory controlling circuit unit
CN107608818B (zh) 解码方法、存储器存储装置及存储器控制电路单元
US20160011934A1 (en) Decoding method, memory control circuit unit and memory storage device
US10193569B2 (en) Decoding method, memory storage device and memory control circuit unit
US10911068B2 (en) Error correction circuit and method of operating the same
TW202022861A (zh) 記憶體控制方法、記憶體儲存裝置及記憶體控制電路單元
WO2023246473A1 (zh) 一种译码方法、芯片及相关装置
CN110277999B (zh) Ldpc解码装置、包括其的存储器系统及其方法
CN105304143A (zh) 解码方法、存储器控制电路单元及存储器存储装置
CN106981296B (zh) 低密度奇偶校验装置与其操作方法
CN109697134B (zh) 解码方法、存储器存储装置及存储器控制电路单元
US11804857B2 (en) Electronic device
CN107025935B (zh) 译码方法、内存储存装置及内存控制电路单元
CN104221291A (zh) 更新与迭代解码器关联的变量节点
CN110795268A (zh) 比特判断方法、存储器控制电路单元以及存储器存储装置

Legal Events

Date Code Title Description
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant