CN103534952B - 用于编码信息的方法和设备 - Google Patents

用于编码信息的方法和设备 Download PDF

Info

Publication number
CN103534952B
CN103534952B CN201280023043.0A CN201280023043A CN103534952B CN 103534952 B CN103534952 B CN 103534952B CN 201280023043 A CN201280023043 A CN 201280023043A CN 103534952 B CN103534952 B CN 103534952B
Authority
CN
China
Prior art keywords
matrix
submatrix
information
parity
row
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
Application number
CN201280023043.0A
Other languages
English (en)
Other versions
CN103534952A (zh
Inventor
钱德拉·C·瓦拉纳西
董桂强
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.)
Micron Technology Inc
Original Assignee
Micron Technology 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 Micron Technology Inc filed Critical Micron Technology Inc
Priority to CN201710826134.2A priority Critical patent/CN107659382B/zh
Publication of CN103534952A publication Critical patent/CN103534952A/zh
Application granted granted Critical
Publication of CN103534952B publication Critical patent/CN103534952B/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/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
    • H03M13/1182Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure wherein the structure of the parity-check matrix is obtained by reordering of a random parity-check matrix
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • 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/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/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
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block 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/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/1151Algebraically constructed LDPC codes, e.g. LDPC codes derived from Euclidean geometries [EG-LDPC 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/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/116Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices
    • H03M13/1162Array based LDPC codes, e.g. array 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/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/116Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices
    • H03M13/1165QC-LDPC codes as defined for the digital video broadcasting [DVB] specifications, e.g. DVB-Satellite [DVB-S2]
    • 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/1174Parity-check or generator matrices built from sub-matrices representing known block codes such as, e.g. Hamming codes, e.g. generalized LDPC codes

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Theoretical Computer Science (AREA)
  • Probability & Statistics with Applications (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Algebra (AREA)
  • Computing Systems (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • Error Detection And Correction (AREA)

Abstract

一些实施例包含用于编码消息信息的设备及方法。此些设备及方法可包含使用低密度奇偶校验LDPC码的奇偶校验矩阵来产生具有上三角形子矩阵的第一矩阵。如果所述上三角形子矩阵的行的总数目等于所述奇偶校验矩阵的秩,那么可基于所述第一矩阵而产生用以编码所述消息信息的奇偶信息。如果所述上三角形子矩阵的行的所述总数目小于所述奇偶校验矩阵的所述秩,那么可对所述第一矩阵的第二子矩阵执行三角化运算以产生第二矩阵。可基于所述第二矩阵而产生用以编码所述消息信息的奇偶信息。本发明描述包含额外设备及方法的其它实施例。

Description

用于编码信息的方法和设备
优先权申请
本专利申请案主张2011年4月8日提出申请的第13/083,341号美国申请案的优先权权益,所述美国申请案以全文引用的方式并入本文中。
技术领域
本申请大体上涉及编码和解码技术。
背景技术
许多电装置及系统经由发射媒体(例如金属导体、光纤电缆及空气)而彼此交换信息。较差或有缺陷的发射媒体可在此信息中导致错误。超过媒体的发射能力(例如,发射速率)也可引起错误。在一些情形中,可校正错误。许多常规技术使用码来在接收信息之后校验其有效性。一些码还可辅助校正所述错误。举例来说,低密度奇偶校验(LDPC)码可用于错误校正。然而,在一些常规技术中,使用LDPC码可涉及复杂译码操作或可需要操作大量的电路组件。因此,LDPC码可不适合于一些装置或系统。
发明内容
根据本申请实施例的一个方面涉及一种用于编码信息的方法。所述方法包括:接收消息信息;基于根据三角形子矩阵的至少一逆及第二子矩阵计算的方程式而产生奇偶信息,所述三角形子矩阵是从低密度奇偶校验码的奇偶校验矩阵的第一部分产生的,所述第二子矩阵是从所述奇偶校验矩阵的第二部分产生的,其中所述方程式包含p=T-1(Bu),其中p表示所述奇偶信息,T-1表示所述三角形子矩阵的所述逆,B表示所述第二子矩阵,且u表示所述消息信息;存储链接所述三角形子矩阵的至少一个列的位置编号与所述奇偶校验矩阵的至少一个列的位置编号的记录;以及至少部分地基于所述奇偶信息而产生码字。
根据本申请实施例的另一方面涉及一种用于编码信息的方法。所述方法包括:从低密度奇偶校验码的奇偶校验矩阵产生第一矩阵,所述第一矩阵具有在所述第一矩阵的第一部分中的三角形子矩阵;如果所述三角形子矩阵的行的总数目等于所述奇偶校验矩阵的秩,那么至少部分地基于所述第一矩阵而产生用以编码消息信息的奇偶信息;以及如果所述第一三角形子矩阵的行的所述总数目小于所述奇偶校验矩阵的所述秩,那么对所述第一矩阵的第二部分中的第二子矩阵执行三角化运算以产生第二矩阵,且至少部分地基于所述第二矩阵而产生用以编码所述消息信息的奇偶信息,其中至少部分地基于所述第一矩阵而产生用以编码所述消息信息的所述奇偶信息是基于方程式p=T-1(Bu),其中p表示所述奇偶信息,T-1表示所述三角形子矩阵的逆,B表示所述第一矩阵的第三部分中的子矩阵,且u表示消息信息。
根据本申请实施例的又一方面涉及一种用于编码信息的方法。所述方法包括:从低密度奇偶校验码的奇偶校验矩阵产生矩阵,所述奇偶校验矩阵具有大小(n-k+m)×n及秩R,其中R小于(n-k+m),所述矩阵具有大小R×n且具有布置成块结构[T B]的子矩阵T及B,所述子矩阵B具有大小R×(n-R),其中所述子矩阵T为具有大小R×R的三角形子矩阵;以及至少部分地基于所述三角形子矩阵的逆而形成方程式以产生奇偶信息,其中所述方程式包含p=T-1(Bu),其中u表示消息信息,且p表示与所述消息信息相关联的奇偶信息,其中产生所述矩阵包含在所述奇偶校验矩阵的多个列当中随机选择一列,并交换选定列的位置与所述多个列中的额外列的位置以产生所述子矩阵T的列,使得所述子矩阵T包含所述选定列,且其中产生矩阵及形成所述方程式中的至少一者是由电子单元执行的。
根据本申请实施例的再一方面涉及一种用于编码信息的设备。所述设备包括:输入,其用以接收消息信息;编码器,其用以产生具有所述消息信息及奇偶信息的码字,且用以基于根据从低密度奇偶校验码的奇偶校验矩阵的第一部分产生的三角形子矩阵的至少一逆与从所述奇偶校验矩阵的第二部分产生的子矩阵的组合计算的方程式而产生所述奇偶信息,其中所述方程式包含p=T-1(Bu),其中p表示所述奇偶信息,T-1表示所述三角形子矩阵的所述逆,B表示从所述奇偶校验矩阵的所述第二部分产生的所述子矩阵,且u表示所述消息信息;以及输出,其用以提供所述码字,其中所述设备经配置以存储记录,所述记录链接所述三角形子矩阵的至少一个列的位置编号与所述奇偶校验矩阵的至少一个列的位置编号。
附图说明
图1展示根据本发明的实施例的包含经配置以相对于LDPC码编码消息信息以形成码字的编码器的设备的框图。
图2展示根据本发明的实施例的LDPC码的奇偶校验矩阵H的实例。
图3是根据本发明的实施例的基于LDPC码的奇偶校验矩阵H而编码信息的方法的流程图。
图4展示根据本发明的实施例的从LDPC码的奇偶校验矩阵H产生的矩阵的块结构。
图5及图6展示根据本发明的实施例的从图4的矩阵产生的矩阵的块结构。
图7展示根据本发明的实施例的包含编码器的系统的框图。
具体实施方式
图1展示根据本发明的实施例的包含经配置以相对于LDPC码编码消息信息u以形成码字Vm的编码器101的设备100的框图。设备100可包含用以提供消息信息u的信息源110及用以从编码器101接收码字Vm的存储器区域120。信息源110可由例如存储器控制器或处理器的装置提供。存储器区域120可包含用以存储码字Vm的存储器阵列。编码器101及存储器区域120可包含于例如存储器装置或存储器控制器的相同装置中。设备100可包含存储器模块、能够以无线方式发射或接收信息的系统或装置及/或具有在信息发射中提供错误校正的能力的其它通信系统及装置。图1省略设备100的额外细节以集中于本文中所描述的实施例。
可以相对于H矩阵130从消息信息u产生码字Vm的LDPC编码器的形式来实现编码器101。H矩阵130可存储于设备100的内部或设备100的外部。H矩阵130可包含LDPC码的奇偶校验矩阵H。如所属领域的技术人员所理解,用于发射信息的码的H矩阵(例如H矩阵130)可使用各种码建构(例如,渐进边增长LDPC码建构、里德-索罗蒙(Reed Solomon)LDPC码建构、基于欧几里得几何的LDPC码建构、基于范德蒙(Vandermonde)矩阵及循环排列块的LDPC码建构以及各种其它LDPC建构)来产生(例如,建构)。H矩阵(例如,H矩阵130)可由计算机产生。
图1展示码字Vm=[p u]以指示码字Vm可为含有奇偶信息p与消息信息u的组合的系统化码字。消息信息u可包含若干个信息位。奇偶信息p可包含若干个奇偶位。码字Vm=[pu]可由H矩阵130定义,其中消息信息u的消息位可对应于H矩阵130的列的一部分且奇偶信息p的奇偶位可对应于H矩阵130的列的另一部分。图1展示码字Vm=[p u]的实例,其中奇偶信息p位于第一码字位置中,后续接着消息信息u。次序可为相反的。消息信息u可位于所述第一码字位置中,后续接着奇偶信息p,使得码字Vm=[u p]。
在设备100中,由于消息信息u为已知的,因此在码的给定H矩阵(例如,H矩阵130)的情况下,由编码器101执行的编码操作涉及基于所接收消息信息u及给定H矩阵而产生奇偶信息p。接着,编码器101可组合所接收消息信息u与所产生奇偶信息p以形成码字Vm=[pu]。解码码字Vm以检索原始消息信息u可以相反次序进行。举例来说,可以相反次序对码字Vm执行在编码期间执行以产生奇偶信息p的编码过程(例如,步骤)以产生经解码信息。接着,可在解码期间使用用于编码的相同H矩阵以基于经解码信息而产生原始消息信息u。本文中的说明集中于编码以基于所接收消息信息u及LDPC码的给定H矩阵产生码字Vm=[p u],如参考图2到图7所详细描述。
图2展示LDPC码的奇偶校验矩阵H的实例。矩阵H布置成若干行及列且具有大小(n-k+m)×(n),其对应于(n-k+m)个行及n个列。参数m对应于矩阵H的相关行的数目。矩阵的秩为所述矩阵的相关行的数目。因此,如果矩阵H为满轶矩阵,那么参数m=0。如果矩阵H为轶亏(例如,非满轶)矩阵,那么参数m>0。参数n为码字中的码位的数目。参数k为码字中的信息位的数目。因此,在矩阵H的每一行(每一码字)中,存在由k个信息位与n-k个奇偶位的组合形成的n个总码位。
如图2中所示,矩阵H为仅具有零(“0”)及一(“1”)元的二进制矩阵的实例。LDPC码使用主要含有0及有限数目个1的奇偶校验矩阵H。为简明起见,图1仅展示矩阵H的元中的一些元。基于奇偶校验矩阵H(例如,图1中的矩阵H),本文中所描述的编码器(例如,图1中的编码器101)可产生与消息信息相关联的奇偶信息以便产生包含奇偶信息与消息信息的组合的码字。
图3是根据本发明的实施例的基于LDPC码的奇偶校验矩阵H而编码信息的方法300的流程图。方法300中所使用的奇偶校验矩阵H可包含以上参考图1及图2所描述的LDPC码的矩阵H。
在图3中,方法300可包含用以从奇偶校验矩阵H(例如,图1及图2中的矩阵H)产生第一矩阵(例如,Hm)的活动310。第一矩阵可经产生使得其具有在所述第一矩阵的左上角中的上三角形子矩阵。活动310还可包含计算用于产生第一矩阵的奇偶校验矩阵H的秩。
如果上三角形子矩阵的行的总数目等于奇偶校验矩阵H的秩,那么方法300可包含用以至少部分地基于第一矩阵而产生用以编码消息信息的奇偶信息的活动320。方法300可在执行活动320之后停止。
如果第一上三角形子矩阵的行的总数目小于奇偶校验矩阵H的秩,那么方法300可以对所述第一矩阵的第二子矩阵执行上三角化运算以产生(例如,形成)第二矩阵(例如,Hm2)的活动330继续。方法300的活动340可至少部分地基于第二矩阵而产生用以编码消息信息的奇偶信息。
方法300的活动310、320、330及340中的一些或全部可由电子单元(例如计算机)的处理器执行。举例来说,活动310、320及330可由计算机执行。方法300的活动310、320、330及340中的一些或全部还可由编码器(例如,图1的编码器101)执行。此编码器可包含于例如处理器、存储器控制器或存储器装置的装置中。方法300可包含下文参考图4到图7所描述的一个或一个以上活动。
图4展示根据本发明的实施例的从LDPC码的奇偶校验矩阵H产生的矩阵Hm的块结构。可从LDPC码的奇偶校验矩阵H(例如,图1或图2中的矩阵H)产生矩阵Hm。本文中所描述的编码器(例如,图1中的编码器101)可接收消息信息且使用矩阵Hm来产生具有奇偶信息及所接收消息信息的码字。
传统上,使用生成矩阵Gm来编码消息信息。举例来说,可从矩阵H产生矩阵H=[In-k|P],其中In-k为识别子矩阵,P为矩阵G的子矩阵。接着,可从矩阵G产生矩阵Gm,使得Gm=[PT|Ik],其中PT表示子矩阵P的转置。可产生码字=u*Gm,此方程式中的符号“*”表示乘法。因此,在传统编码中,使用生成矩阵Gm来编码消息信息。然而,传统方式可为复杂的且不适合于一些系统或装置。举例来说,可需要大量电路组件(例如,“异或”(XOR)门)来处理并存储与生成矩阵Gm或生成矩阵Gm及矩阵H两者相关联的信息。
本文中所描述的编码器可直接从矩阵Hm产生码字,而不产生矩阵(例如传统生成矩阵Gm)。如本文中所描述基于矩阵Hm而产生码字的编码器可为较不复杂的,且可具有数目减少的组件(例如,“异或”门)。
如图4中所示,矩阵Hm包含位于矩阵Hm的各个部分中的子矩阵T、A、B、E、C及D。举例来说,子矩阵T位于矩阵Hm的左上角部分中。子矩阵B位于矩阵Hm的右上角部分中。子矩阵A位于矩阵Hm的中间部分中在子矩阵T与子矩阵B之间。子矩阵E位于矩阵Hm的左下角部分中在子矩阵T下面。子矩阵D位于矩阵Hm的右下角部分中。子矩阵C位于矩阵Hm的中间部分中在子矩阵E与子矩阵D之间且在子矩阵A下面。这些子矩阵的大小如下。
T:(n-k-g)×(n-k-g)。
A:(n-k-g)×g。
B:(n-k-g)×k。
C:g×g。
D:g×k。
E:g×(n-k-g)。
可通过执行称作贪婪上三角化运算的过程而产生矩阵Hm。此运算在矩阵Hm的左上角中产生上三角形矩阵(其为子矩阵T)。此运算涉及仅交换奇偶校验矩阵H的行、仅交换其列或仅交换其行及列。在此运算中,不对奇偶校验矩阵H的行执行算术运算(例如,无高斯消去运算)。
子矩阵T为具有(n-k-g)个行及(n-k-g)个列的直角上三角形矩阵。子矩阵T在其对角线元中具有全部1且在其对角线元下面具有全部零。如果子矩阵T的行的数目等于奇偶校验矩阵H的秩R,那么在矩阵Hm中参数g=0,使得(n-k-g)=R,其中g=0。此外,如果g=0,那么子矩阵A被消去且变成子矩阵B的部分,且子矩阵E、C及D被消去且变成子矩阵T及子矩阵B的部分。在此情况(n-k=R)中,矩阵Hm=[T|B],其中子矩阵T具有大小(n-k=R)×(n-k=R),且子矩阵B具有大小(n-k=R)×k。
当编码器(例如,图1中的编码器101)使用矩阵Hm来产生码字Vm=[p u](其中u表示消息信息)时,奇偶信息(p)可如下产生(针对g=0)。针对矩阵Hm,有效码字Vm的校验子为大小n-k的全零向量,使得满足方程式Hm*VmT=0。由于Hm=[T|B]且Vm=[p u],因此通过将Vm T=[p u]T代入到方程式Hm*Vm T=0中,可获得以下方程式
求解以上方程式产生以下方程式(1):
Tp=Bu,因此
p=T-1Bu。 (方程式1)
编码器(例如,图1的编码器101)可经配置以产生码字Vm的奇偶信息p。因此,针对LDPC码的给定奇偶校验矩阵H,可产生图4中所示的矩阵Hm。如果矩阵Hm的子矩阵T的行的总数目等于奇偶校验矩阵H的秩R,那么编码器可经配置以基于方程式(1)而产生奇偶信息p。可组合奇偶信息与所接收消息信息u以产生码字Vm=[p u]。由于本文中所描述的编码器可在矩阵Hm的子矩阵T的行的总数目等于奇偶校验矩阵H的秩R的情况下基于方程式(1)而产生码字Vm,因此所述编码器可仅存储(例如,存储于存储器中)矩阵Hm(而非奇偶校验矩阵H)及T-1以用于编码,因为其它值(例如,B及u)可从矩阵Hm及从消息信息u获得。在编码期间,编码器可存取存储器以检索T-1及矩阵Hm的所存储元以基于方程式(1)而产生奇偶信息p且产生码字Vm=[p u]。
如果矩阵Hm的子矩阵T的行的总数目小于奇偶校验矩阵H的秩R,那么可对图4的矩阵Hm执行额外运算以产生奇偶信息,如下文参考图5及图6所描述。
如以上参考图4所描述,可通过仅交换奇偶校验矩阵H的行或列或两者而产生矩阵Hm。用于产生矩阵Hm的过程还可包含产生(例如,创建)跟踪记录(例如,映射)。此跟踪记录可跟踪(例如,映射)奇偶校验矩阵H的在矩阵Hm的产生期间已经交换的行或列的位置编号。由于矩阵Hm的子矩阵T是通过交换奇偶校验矩阵H的列而产生,因此跟踪记录也含有子矩阵T的至少一个列的位置编号与奇偶校验矩阵H的至少一个列的位置编号之间的链接。
跟踪记录可在码字Vm的解码期间用于获得原始消息信息u。举例来说,在解码期间,可执行例如解交错运算的运算。此些运算可基于跟踪记录(但以相反次序)交换码字Vm的列以产生码字V(其并非呈系统化形式)。解码器可用于使用奇偶校验矩阵H来解码码字V以产生原始消息信息u。
在用以产生矩阵Hm的子矩阵T的上三角化运算期间,可随机选择奇偶校验矩阵H的列以产生子矩阵T的列。此随机选择可增加子矩阵T具有大小R×R(其中R为奇偶校验矩阵H的秩)的概率。当子矩阵T具有大小R×R时,子矩阵T的行的总数目等于R。如果子矩阵T的大小为R×R,那么矩阵Hm可具有全三角形结构,例如,Hm=[T|B],其中图4中的参数等于零(例如,n-k=R)。如以上参考图4所描述,可在子矩阵T具有大小R×R的情况中在编码器中使用方程式1。
在一些情况中,取决于奇偶校验矩阵H的元的值,上三角化运算可失败地产生具有大小R×R的子矩阵T(例如,子矩阵T的行的总数目小于R)。在此情况中,矩阵Hm并不具有全三角形结构,而是其具有近似三角形结构(如图4中所示),其中参数g不为零。在此情况中,方程式(1)可不适用于产生奇偶信息。然而,可对矩阵Hm执行额外运算以产生矩阵Hm1(图5)及矩阵Hm2(图6)。可基于矩阵Hm2而产生奇偶信息。
图5及图6分别展示根据本发明的实施例的从图4的矩阵Hm产生的矩阵Hml及Hm2的块结构。可使用图6的矩阵Hm2产生码字Vm,如下文在对图5的矩阵Hml的描述之后所描述。
如图5中所示,矩阵Hm1具有与图4的矩阵Hm的块结构相同的块结构。然而,图5的矩阵Hml的子矩阵E、Cml及Dml的元的值不同于图4的矩阵Hm的对应子矩阵E、C及D的元的值。如图5中所示,子矩阵E的所有元为零(“0”)。与图4的对应子矩阵C及D相比,子矩阵Cm1及Dm1可为较不稀疏(较密集)的,此归因于对子矩阵E执行以使所有其元为零的运算。此些运算可包含算术运算,例如,高斯消去运算。由于子矩阵E、C及D的行为矩阵Hm的相同行的部分,因此对矩阵Hm的子矩阵E的行执行的运算也修改矩阵Hm的子矩阵C及D的行。因此,在子矩阵E的所有元变成零之后,图4中的子矩阵C及D变成图5中的子矩阵Cm1及Dm1
图6展示根据本发明的实施例的从矩阵Hm1产生的矩阵Hm2的块结构。从矩阵Hm2,可执行计算以获得用以产生用于码字Vm的奇偶信息的方程式。如图6中所展示,矩阵Hm2具有与图5的矩阵Hm的块结构相同的块结构。然而,矩阵Hm2可包含若干个具有全部零元的行r。矩阵Hml的行及列的特定数目及图6中所示的矩阵Hml的子矩阵中的每一者的特定大小仅用于图解说明的目的以帮助集中于本文中的说明。
如以上参考图4所描述,可对奇偶校验矩阵H执行上三角化运算以产生上三角形子矩阵T(如图6中所展示)。在图5及图6中,可对子矩阵Cm1执行额外上三角化运算以使子矩阵Cm1的对角线具有尽可能多的一(“1”)。额外上三角化运算可不导致子矩阵Cm1的对角线中的所有元具有值1。然而,额外上三角化运算可导致子矩阵Cm1的对角线中的至少一个元具有值1。举例来说,如图6中所示,额外上三角化运算可导致子矩阵Cm1的对角线中的五分之三的元具有值1。子矩阵Cm1中的元x可为1或0。当无额外1可形成于子矩阵Cm1的对角线中时,额外上三角化运算可停止,例如在图6中所示的情况中。额外上三角化运算还可导致子矩阵Dml的底部处的行中的一者或一者以上具有值零。额外上三角化运算产生矩阵Hm2。如图6中所示,矩阵Hm2具有若干个其中所有元具有零的行r。作为实例,图6展示r=2。r的值可变化。
此r个行(具有全部为零的元)对应于奇偶校验矩阵H中的相关行。因此,可从矩阵Hm2移除r个行。因此,在移除所述r个行之后,矩阵Hm2可具有比矩阵Hm1少的行(少r个行)。
对子矩阵Cm1执行的额外上三角化运算可包含交换行、交换列及算术运算(例如,高斯消去运算)的任何组合。作为比较,对奇偶校验矩阵H执行以产生三角形子矩阵T(图4)的上三角化运算可不包含算术运算(例如,仅交换行及列)。
对子矩阵Cm1执行的额外上三角化运算还可修改子矩阵A、B、Cm1及Dm1的行及列。因此,在额外上三角化运算之后,矩阵Hml(图5)的子矩阵A、B、Cm1及Dm1变成图6的矩阵Hm2的子矩阵Am2、Bm2、Cm2及Dm2
当编码器(例如图1中的编码器101)使用矩阵Hm2来产生码字Vm=[p u](其中u表示消息信息)时,奇偶信息p可如下产生。
如以上参考图4、图5及图6所描述,矩阵Hm2是从矩阵Hm1产生的,矩阵Hm1又是从矩阵Hm(图4)产生的。由于矩阵Hm具有近似三角形结构(其中参数g不为零),因此可将Vm=[pm u]的系统化码字的奇偶信息p视为由两部分组成:(n-k-g)位长的奇偶部分p1及g位长的奇偶部分p2。因而,p=[p1 p2],因此Vm=[p u]=[p1 p2 u]。
针对矩阵Hm2,有效码字Vm的校验子为大小n-k的全零向量,使得满足方程式Hm2*Vm T=0。由于Vm=[p1 p2 u],因此Vm T=[p1 p2 u]T。如图6中所示,通过将Vm T=[p1 p2 u]T替换到方程式Hm2*Vm T=0中,可获得以下方程式。
求解以上方程式产生下面的方程式(2)及方程式(3)。
Cm2 p2=Dm2 u。因此,
p2=(Cm2 -1 Dm2) (方程式2)
Tp1=(Am2 p2+Bm2u)。因此,
p1=T-1(Am2 p2+Bm2 u)。将来自方程式(2)的p2=(Cm2 -1 Dm2)代入到方程式p1=T-1(Am2 p2+Bm2 u)中产生方程式(3)。
p1=T-1(A(Cm2 -1 Dm2)+Bm2 u) (方程式3)
基于方程式(2)及方程式(3),编码器(例如,图1的编码器101)可经配置以产生码字Vm的奇偶信息p。因此,针对LDPC码的给定奇偶校验矩阵H,可产生图6中所示的矩阵Hm2。接着,基于矩阵Hm2,方程式(2)及方程式(3)可经计算以产生奇偶信息p1及p2。编码器可组合奇偶信息p1及p2与所接收消息信息u以产生码字Vm=[p1 p2 u]。
如以上所描述,用于产生矩阵Hml及Hm2的过程还可包含产生(例如,创建)跟踪记录(例如,映射)。此跟踪记录可跟踪奇偶校验矩阵H的在矩阵Hml及Hm2的产生期间已经交换的行或列的位置编号。举例来说,此跟踪记录可跟踪奇偶校验矩阵H的在使子矩阵E的所有元为零的运算与对子矩阵矩阵Cml执行的三角化运算两者期间已经交换的行或列的位置编号。此跟踪记录还可链接(例如,映射)奇偶校验矩阵H的在矩阵Hml及Hm2的产生期间已经交换的行或列的位置编号。因此,此跟踪记录还含有矩阵Hm2的列的位置编号与奇偶校验矩阵H的列的位置编号之间的链接。
在矩阵Hml及Hm2(图5及图6)的产生期间产生的跟踪记录与在矩阵Hm(图4)的产生期间产生的跟踪记录的组合可在码字Vm的解码期间与奇偶校验矩阵H一起使用以获得原始消息信息u。矩阵Hm、Hml及Hm2的产生及相关联活动(例如,跟踪记录以及方程式1、2及3的产生)可由电子单元(例如,计算机)执行。举例来说,此电子单元可接收与奇偶校验矩阵H相关联的输入信息。接着,基于所述输入信息,电子单元可产生输出信息,例如矩阵Hm、Hml及Hm2、跟踪记录以及方程式1、2及3。
如以上所描述,本文中所描述的编码器可基于方程式(2)及(3)而产生码字Vm。方程式(2)及(3)中的参数的乘法可通过例如“异或”加法的运算获得。因此,编码器可仅存储矩阵Hm2(而非奇偶校验矩阵H)及乘积Cm2 -1 Dm2,因为其它值(例如,A、B及u)可从矩阵Hm2及消息信息u获得。进一步计算可提供Dm=ET-1 B。由于Dm可从矩阵Hm1获得,Dm2也可获得且Dm2为Dm的经修改版本,因此可能不需要存储Dm2以用于编码操作。因此,替代地,编码器可仅存储(例如,存储于存储器中)矩阵Hm2及Cm2 -1以及T-1(而不存储Dm2)。在编码期间,编码器可存取存储器以检索矩阵Hm2以及Cm2 -1及T-1的元以基于方程式(2)及(3)而产生奇偶p1及p2且产生码字Vm=[p1 p2 u]。
作为比较,传统编码可存储生成矩阵Gm的子矩阵P。子矩阵P具有大小k×(n-k)。在本文中所描述的编码中,矩阵Hm2的子矩阵Cm2 -1及Dm2以及T-1中的每一者具有小于子矩阵P的大小的大小。
图7展示根据本发明的实施例的包含编码器701的系统700的框图。编码器701可对应于图1的编码器101。举例来说,编码器701可以相对于H矩阵730从消息信息u产生码字Vm的LDPC编码器的形式实现。H矩阵730可存储于系统700的内部或系统700的外部。
系统700可为具有用以存储信息的存储器装置的存储器系统。举例来说,系统700可包含装置710,装置710可包含用以控制到装置720及从装置720的信息传送的存储器控制器,装置720可包含存储器装置。
如图7中所示,传送到装置720的信息可包含可对应于以上参考图1到图6所描述的码字Vm的码字Vm。装置720可包含存储器单元721。装置720可在写入操作期间从装置710接收码字Vm且将码字Vm存储于存储器单元721中。装置720还可包含用以将码字Vm输出到装置710的读取操作。存储器单元721可包含易失性存储器单元、非易失性存储器单元或两者。易失性存储器单元的实例包含随机存取存储器(RAM)单元。非易失性存储器单元的实例包含快闪存储器单元、电阻式随机存取存储器(RRAM)单元及相变存储器单元以及其它类型的非易失性存储器单元。
系统700可将与编码操作相关联的参数存储于装置710的存储器725及装置720的存储器单元721中的一者或两者中。这些参数可包含跟踪记录,例如以上参考图4到图6所描述的跟踪记录。装置710的解码器702可使用所存储参数及H矩阵730来解码码字Vm(从装置720接收)以获得原始消息信息u。
系统700还可包含装置740,装置740可包含处理器(例如通用处理器)或专用集成电路(ASIC)。在装置720的操作(例如,写入操作)中,装置710可在其耦合到接口751的输入处接收消息信息u。装置710可产生具有消息信息u的码字Vm且将码字Vm提供到其耦合到接口752的输出。在装置720的另一操作(例如,读取操作)中,装置710可经由接口752接收从装置720输出的码字Vm、解码码字Vm以获得消息信息u并接着经由接口751将消息信息u发送到装置740。接口751可包含有线接口或无线接口或两者的组合。接口752可包含有线接口或无线接口或两者的组合。接口751及752中的每一者可包含双向接口。举例来说,接口752可包含双向导体(例如,串行总线或并行总线)以在相同双向导体上将码字Vm传送到装置720及从装置720传送码字Vm
系统700还可包含存储装置760。存储装置760的一部分或整个存储器725可在系统700的外部。存储装置760可包含包括指令的任何形式的计算机可读存储媒体,所述指令在由一个或一个以上处理器(例如,计算机中或无线通信装置中的处理器)或者由装置710或740实施时可执行与本文中所描述的码字Vm的产生相关联的操作中的所有操作或一部分。举例来说,存储装置760可包含用以以下操作的指令:产生矩阵(例如矩阵Hm、Hm1及Hm2)、计算方程式(例如方程式(1)、(2)及(3))以及产生以上参考图1到图6所描述的跟踪记录(例如,行及列交换)。执行存储于存储装置760中的指令的处理器可包含于在系统700外部的系统中。举例来说,此处理器可为不同于系统700的计算机的一部分。
替代地或除存储装置760以外,电子单元770也可操作以:产生矩阵(例如矩阵Hm、Hml及Hm2)、计算方程式(例如方程式(1)、(2)及(3))以及产生以上参考图1到图6所描述的跟踪记录(例如,行及列交换)。举例来说,电子单元770可接收与奇偶校验矩阵H相关联的输入信息。接着,基于所述输入信息,电子单元770可产生输出信息,例如矩阵Hm、Hml及Hm2、跟踪记录以及方程式1、2及3。由电子单元770产生的信息中的至少一些信息(例如,包含于矩阵Hm、Hml及Hm2、方程式(1)、(2)及(3)以及跟踪记录中的信息中的至少一些信息)可由编码器701用来产生码字Vm且由解码器702用来解码码字Vm
系统700的一部分(例如,装置710及720)或系统700的全部可包含于相同半导体芯片中、相同集成电路封装中或相同电路板中。
对设备(例如,设备100)及系统(例如,系统700)的图解说明打算提供对各种实施例的结构的一般理解,且并非打算提供对可利用本文中所描述结构的设备及系统的所有元件及特征的完全描述。
以上参考图1到图7所描述的组件中的任一者可以若干种方式实施,包含经由软件的模拟。因此,以上所描述的设备(例如,设备100)及系统(例如,系统700)在本文中可全部表征为“若干模块”(或“模块”)。视设备(例如,设备100)的架构的需要且视各种实施例的特定实施方案的情况,此些模块可包含硬件电路、单及/或多处理器电路、存储器电路、软件程序模块及对象及/或固件以及其组合。举例来说,此些模块可包含于系统操作模拟封装中,例如软件电信号模拟封装、功率使用及范围模拟封装、电容电感模拟封装、功率/热耗散模拟封装、信号发射接收模拟封装及/或用于操作或模拟各种潜在实施例的操作的软件及硬件的组合。
各种实施例的设备及系统可包含用于高速计算机、通信及信号处理电路、单或多处理器模块、单或多嵌入式处理器、多核心处理器、消息信息交换器及包含多层、多芯片模块的专用模块中的电子电路或包含于所述电子电路中。此些设备及系统可进一步作为子组件而包含于以下多种电子系统内:例如,电视、蜂窝式电话、个人计算机(例如,膝上型计算机、桌上型计算机、手持式计算机、平板计算机等)、工作站、无线电、视频播放器、音频播放器(例如,MP3(动画专家群,音频层3)播放器)、车辆、医疗装置(例如,心脏监视器、血压监视器等等)、机项盒及其它装置。
以上参考图1到图7所描述的实施例包含用于编码消息信息的设备及方法。此些设备及方法可包含使用低密度奇偶校验(LDPC)码的奇偶校验矩阵来产生具有上三角形子矩阵的第一矩阵。如果所述上三角形子矩阵的行的总数目等于所述奇偶校验矩阵的秩,那么可基于所述第一矩阵而产生用以编码所述消息信息的奇偶信息。如果所述上三角形子矩阵的行的总数目小于所述奇偶校验矩阵的秩,那么可在所述第一矩阵的第二部分中的第二子矩阵中执行三角化运算以形成第二矩阵。可基于所述第二矩阵而产生用以编码所述消息信息的奇偶信息。本文中所描述的编码可组合奇偶信息与消息信息以形成码字。还可执行码字的解码。举例来说,可以相反次序执行在编码期间执行以产生奇偶信息的过程(例如,步骤)以产生经解码信息。接着,可在解码期间使用用于编码的相同H矩阵来产生原始消息信息。本发明描述包含额外设备及方法的其它实施例。
以上描述及图式图解说明本发明的一些实施例以使得所属领域的技术人员能够实践本发明的实施例。其它实施例可并入有结构、逻辑、电、过程及其它改变。实例仅代表可能变化形式。一些实施例的部分及特征可包含于其它实施例的部分及特征中或替代其它实施例的部分及特征。所属领域的技术人员在阅读并理解以上描述后将明了许多其它实施例。

Claims (15)

1.一种用于编码信息的方法,所述方法包括:
接收消息信息;
基于根据三角形子矩阵的至少一逆及第二子矩阵计算的方程式而产生奇偶信息,所述三角形子矩阵是从低密度奇偶校验码的奇偶校验矩阵的第一部分产生的,所述第二子矩阵是从所述奇偶校验矩阵的第二部分产生的,其中所述方程式包含p=T-1(Bu),其中p表示所述奇偶信息,T-1表示所述三角形子矩阵的所述逆,B表示所述第二子矩阵,且u表示所述消息信息;
存储链接所述三角形子矩阵的至少一个列的位置编号与所述奇偶校验矩阵的至少一个列的位置编号的记录;以及
至少部分地基于所述奇偶信息而产生码字。
2.根据权利要求1所述的方法,其进一步包括:
存取存储器以检索所述三角形子矩阵的所述逆的元。
3.根据权利要求1所述的方法,其中所述码字包含所述消息信息与所述奇偶信息的组合。
4.根据权利要求1所述的方法,其进一步包括:
解码所述码字以检索所述消息信息。
5.一种用于编码信息的方法,所述方法包括:
从低密度奇偶校验码的奇偶校验矩阵产生第一矩阵,所述第一矩阵具有在所述第一矩阵的第一部分中的三角形子矩阵;
如果所述三角形子矩阵的行的总数目等于所述奇偶校验矩阵的秩,那么至少部分地基于所述第一矩阵而产生用以编码消息信息的奇偶信息;以及
如果所述三角形子矩阵的行的所述总数目小于所述奇偶校验矩阵的所述秩,那么对所述第一矩阵的第二部分中的第二子矩阵执行三角化运算以产生第二矩阵,且至少部分地基于所述第二矩阵而产生用以编码所述消息信息的奇偶信息,其中至少部分地基于所述第一矩阵而产生用以编码所述消息信息的所述奇偶信息是基于方程式p=T-1(Bu),其中p表示所述奇偶信息,T-1表示所述三角形子矩阵的逆,B表示所述第一矩阵的第三部分中的子矩阵,且u表示消息信息。
6.根据权利要求5所述的方法,其中产生所述第一矩阵包含在所述奇偶校验矩阵的多个列当中随机选择若干列以产生所述三角形子矩阵。
7.根据权利要求6所述的方法,其中对所述第二子矩阵执行所述三角化运算包含对所述第二子矩阵的至少一个行执行算术运算。
8.根据权利要求6所述的方法,其进一步包括:
产生记录,所述记录链接所述三角形子矩阵的至少一个列的位置编号与所述奇偶校验矩阵的至少一个列的位置编号。
9.一种用于编码信息的方法,所述方法包括:
从低密度奇偶校验码的奇偶校验矩阵产生矩阵,所述奇偶校验矩阵具有大小(n-k+m)×n及秩R,其中R小于(n-k+m),所述矩阵具有大小R×n且具有布置成块结构[T B]的子矩阵T及B,所述子矩阵B具有大小R×(n-R),其中所述子矩阵T为具有大小R×R的三角形子矩阵;以及
至少部分地基于所述三角形子矩阵的逆而形成方程式以产生奇偶信息,其中所述方程式包含p=T-1(Bu),其中u表示消息信息,且p表示与所述消息信息相关联的奇偶信息,其中产生所述矩阵包含在所述奇偶校验矩阵的多个列当中随机选择一列,并交换选定列的位置与所述多个列中的额外列的位置以产生所述子矩阵T的列,使得所述子矩阵T包含所述选定列,且其中产生矩阵及形成所述方程式中的至少一者是由电子单元执行的。
10.根据权利要求9所述的方法,其进一步包括:
产生记录,所述记录相对于所述奇偶校验矩阵的列的位置编号跟踪所述选定列的位置编号。
11.一种用于编码信息的设备,所述设备包括:
输入,其用以接收消息信息;
编码器,其用以产生具有所述消息信息及奇偶信息的码字,且用以基于根据从低密度奇偶校验码的奇偶校验矩阵的第一部分产生的三角形子矩阵的至少一逆与从所述奇偶校验矩阵的第二部分产生的子矩阵的组合计算的方程式而产生所述奇偶信息,其中所述方程式包含p=T-1(Bu),其中p表示所述奇偶信息,T-1表示所述三角形子矩阵的所述逆,B表示从所述奇偶校验矩阵的所述第二部分产生的所述子矩阵,且u表示所述消息信息;以及
输出,其用以提供所述码字,其中所述设备经配置以存储记录,所述记录链接所述三角形子矩阵的至少一个列的位置编号与所述奇偶校验矩阵的至少一个列的位置编号。
12.根据权利要求11所述的设备,其中所述编码器经配置以存储所述三角形子矩阵的所述逆的元。
13.根据权利要求11所述的设备,其中所述编码器包含于经耦合以接收所述码字的存储器装置中,所述存储器装置包含用以存储所述码字的存储器单元。
14.根据权利要求13所述的设备,其中所述存储器装置经配置以在所述存储器装置的读取操作中输出所述码字。
15.根据权利要求14所述的设备,其中所述输入及所述输出构成所述存储器装置的双向接口。
CN201280023043.0A 2011-04-08 2012-04-03 用于编码信息的方法和设备 Active CN103534952B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710826134.2A CN107659382B (zh) 2011-04-08 2012-04-03 用于编码信息的方法和设备

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/083,341 US8839069B2 (en) 2011-04-08 2011-04-08 Encoding and decoding techniques using low-density parity check codes
US13/083,341 2011-04-08
PCT/US2012/032013 WO2012138662A2 (en) 2011-04-08 2012-04-03 Encoding and decoding techniques using low-density parity check codes

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN201710826134.2A Division CN107659382B (zh) 2011-04-08 2012-04-03 用于编码信息的方法和设备

Publications (2)

Publication Number Publication Date
CN103534952A CN103534952A (zh) 2014-01-22
CN103534952B true CN103534952B (zh) 2017-10-10

Family

ID=46967067

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201280023043.0A Active CN103534952B (zh) 2011-04-08 2012-04-03 用于编码信息的方法和设备
CN201710826134.2A Active CN107659382B (zh) 2011-04-08 2012-04-03 用于编码信息的方法和设备

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201710826134.2A Active CN107659382B (zh) 2011-04-08 2012-04-03 用于编码信息的方法和设备

Country Status (7)

Country Link
US (2) US8839069B2 (zh)
EP (1) EP2695300A4 (zh)
JP (1) JP5913560B2 (zh)
KR (1) KR101892319B1 (zh)
CN (2) CN103534952B (zh)
TW (1) TWI568197B (zh)
WO (1) WO2012138662A2 (zh)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5269936B2 (ja) * 2011-03-17 2013-08-21 株式会社東芝 符号化器及び記憶装置
US8839069B2 (en) 2011-04-08 2014-09-16 Micron Technology, Inc. Encoding and decoding techniques using low-density parity check codes
US9785350B2 (en) * 2013-02-21 2017-10-10 Seagate Technology Llc Data storage device having a virtual machine
CN103151078B (zh) * 2013-03-19 2015-08-12 中国科学院微电子研究所 一种存储器检错纠错码生成方法
TWI536749B (zh) * 2013-12-09 2016-06-01 群聯電子股份有限公司 解碼方法、記憶體儲存裝置與記憶體控制電路單元
CN104733051B (zh) * 2013-12-19 2018-01-05 群联电子股份有限公司 奇偶校验码的解码方法、存储器储存装置及控制电路单元
RU2014104573A (ru) * 2014-02-10 2015-08-20 ЭлЭсАй Корпорейшн Системы и способы для кодирования неполного ранга
KR102233371B1 (ko) * 2014-06-24 2021-03-29 삼성전자주식회사 멀티캐스트 네트워크에서의 릴레이 방법 및 장치
US10268539B2 (en) * 2015-12-28 2019-04-23 Intel Corporation Apparatus and method for multi-bit error detection and correction
US10108487B2 (en) * 2016-06-24 2018-10-23 Qualcomm Incorporated Parity for instruction packets
US11037330B2 (en) * 2017-04-08 2021-06-15 Intel Corporation Low rank matrix compression
US10778251B2 (en) * 2018-08-03 2020-09-15 Codelucida, Inc. Method and apparatus for encoding quasi-cyclic low-density parity check codes
US20200081778A1 (en) * 2018-09-11 2020-03-12 Goke Us Research Laboratory Distributed storage system, method and apparatus
US11449577B2 (en) * 2019-11-20 2022-09-20 Micron Technology, Inc. Methods and apparatus for performing video processing matrix operations within a memory array
KR20230019636A (ko) * 2021-08-02 2023-02-09 삼성전자주식회사 통신 및 방송 시스템에서 데이터 복호화 방법 및 장치
US11394403B1 (en) * 2021-08-23 2022-07-19 Micron Technology, Inc. Error correction based on rate adaptive low density parity check (LDPC) codes with flexible column weights in the parity check matrices
JP2023045450A (ja) * 2021-09-22 2023-04-03 キオクシア株式会社 シンドローム計算回路、誤り訂正回路およびメモリシステム

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1801630A (zh) * 2005-11-24 2006-07-12 上海交通大学 基于优化搜索矩阵lu分解的ldpc码编码方法
CN101427473A (zh) * 2006-06-07 2009-05-06 Lg电子株式会社 使用低密度校验码矩阵进行编码/解码的方法

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6895547B2 (en) 2001-07-11 2005-05-17 International Business Machines Corporation Method and apparatus for low density parity check encoding of data
CA2454574C (en) 2002-07-03 2008-12-09 Hughes Electronics Corporation Method and system for memory management in low density parity check (ldpc) decoders
KR100906474B1 (ko) 2003-01-29 2009-07-08 삼성전자주식회사 저밀도 부가정보 발생용 매트릭스를 이용한 에러 정정방법 및그 장치
KR100922956B1 (ko) * 2003-10-14 2009-10-22 삼성전자주식회사 저밀도 패리티 검사 코드의 부호화 방법
KR20050118056A (ko) * 2004-05-12 2005-12-15 삼성전자주식회사 다양한 부호율을 갖는 Block LDPC 부호를 이용한이동 통신 시스템에서의 채널부호화 복호화 방법 및 장치
US7581157B2 (en) * 2004-06-24 2009-08-25 Lg Electronics Inc. Method and apparatus of encoding and decoding data using low density parity check code in a wireless communication system
US7543212B2 (en) 2004-09-13 2009-06-02 Idaho Research Foundation, Inc. Low-density parity-check (LDPC) encoder
FR2888061A1 (fr) * 2005-07-01 2007-01-05 France Telecom Procede et systeme d'encodage d'une sequence de donnees
US7657816B2 (en) * 2005-07-13 2010-02-02 Leanics Corporation Low-complexity hybrid LDPC code encoder
US8261155B2 (en) 2007-03-09 2012-09-04 Qualcomm Incorporated Methods and apparatus for encoding and decoding low density parity check (LDPC) codes
US7966548B2 (en) * 2007-06-29 2011-06-21 Alcatel-Lucent Usa Inc. Method and system for encoding data using rate-compatible irregular LDPC codes based on edge growth and parity splitting
US8196010B1 (en) * 2007-08-17 2012-06-05 Marvell International, Ltd. Generic encoder for low-density parity-check (LDPC) codes
EP2091156B1 (en) 2008-02-18 2013-08-28 Samsung Electronics Co., Ltd. Apparatus and method for channel encoding and decoding in a communication system using low-density parity-check codes
MY153328A (en) * 2008-02-18 2015-01-29 Samsung Electronics Co Ltd Apparatus and method for encoding and decoding channel in a communication system using low-density parity-check codes
US20090282316A1 (en) * 2008-05-07 2009-11-12 Texas Instruments Incorporated Memory Access in Low-Density Parity Check Decoders
KR20090131230A (ko) 2008-06-17 2009-12-28 삼성전자주식회사 적어도 두 개의 주파수 대역들을 이용하는 저 밀도 패리티코드 인코딩 장치 및 디코딩 장치
US8612823B2 (en) 2008-10-17 2013-12-17 Intel Corporation Encoding of LDPC codes using sub-matrices of a low density parity check matrix
KR20100058260A (ko) 2008-11-24 2010-06-03 삼성전자주식회사 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서 채널부호/복호 장치 및 방법
KR101481431B1 (ko) 2008-12-08 2015-01-12 삼성전자주식회사 저밀도 패리티 검사 행렬 재배열 방법 및 이를 이용하는 장치
EP2202894B1 (en) * 2008-12-23 2011-11-02 Ntt Docomo, Inc. Relay station for a mobile communication system
CN102612806B (zh) * 2009-11-17 2015-01-28 三菱电机株式会社 纠错编码方法和装置以及使用了它们的通信系统
US8839069B2 (en) 2011-04-08 2014-09-16 Micron Technology, Inc. Encoding and decoding techniques using low-density parity check codes

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1801630A (zh) * 2005-11-24 2006-07-12 上海交通大学 基于优化搜索矩阵lu分解的ldpc码编码方法
CN101427473A (zh) * 2006-06-07 2009-05-06 Lg电子株式会社 使用低密度校验码矩阵进行编码/解码的方法

Also Published As

Publication number Publication date
JP2014510505A (ja) 2014-04-24
US20150039960A1 (en) 2015-02-05
WO2012138662A3 (en) 2013-01-03
TW201304430A (zh) 2013-01-16
JP5913560B2 (ja) 2016-04-27
TWI568197B (zh) 2017-01-21
KR20140031895A (ko) 2014-03-13
EP2695300A4 (en) 2014-10-22
WO2012138662A2 (en) 2012-10-11
CN103534952A (zh) 2014-01-22
US20120260144A1 (en) 2012-10-11
KR101892319B1 (ko) 2018-08-27
US8839069B2 (en) 2014-09-16
EP2695300A2 (en) 2014-02-12
CN107659382B (zh) 2020-10-16
CN107659382A (zh) 2018-02-02

Similar Documents

Publication Publication Date Title
CN103534952B (zh) 用于编码信息的方法和设备
US11740960B2 (en) Detection and correction of data bit errors using error correction codes
US8930798B2 (en) Data encoding in solid state storage devices
US10936408B2 (en) Error correction of multiple bit errors per codeword
US9069692B2 (en) Fully parallel encoding method and fully parallel decoding method of memory system
TW201722090A (zh) 用於nand快閃記憶體的渦輪乘積碼
KR20150067338A (ko) 신뢰도 데이터 업데이트
US20160210190A1 (en) Flash memory system and operating method thereof
US10498364B2 (en) Error correction circuits and memory controllers including the same
TWI742955B (zh) 操作記憶體控制器的方法、記憶體系統以及共享核對位元的方法
US9698830B2 (en) Single-bit first error correction
US20180198468A1 (en) Error correction code (ecc) decoders sharing logic operations, memory controllers including the error correction code decoders, and methods of decoding error correction codes
US20160350000A1 (en) Data storing in memory arrays
Subbiah et al. Efficient implementation of BCH decoders on GPU for flash memory devices using iBMA
CN115408198A (zh) 数据纠错方法、装置、设备及存储介质
Rao et al. Encoder and adaptive decoder for a (15, 6, 2) DEC-TED BCH code
JP2006100941A (ja) 信号処理装置、低密度パリティ検査符号の符号化方法および復号方法
KR102021560B1 (ko) 오류 위치 탐색 회로, 그리고 그것을 포함하는 오류 검출 정정 회로 및 메모리 장치
Lv et al. Binary MDS Array Codes with Flexible Array Dimensions and Their Fast Encoding
Achala et al. FPGA implementation of SSRS codes for NAND flash memory device
CN103617811B (zh) 一种sram型存储器的纠错电路
Duangthong et al. Two-Dimensional Error Correction Code for Spin-Transfer Torque Magnetic Random-Access Memory (STT-MRAM) Caches
Gu et al. Three-dimensional error correcting with matched interleaving for holographic data storage

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