CN103346802B - Qc-ldpc码的构造方法 - Google Patents

Qc-ldpc码的构造方法 Download PDF

Info

Publication number
CN103346802B
CN103346802B CN201310217586.2A CN201310217586A CN103346802B CN 103346802 B CN103346802 B CN 103346802B CN 201310217586 A CN201310217586 A CN 201310217586A CN 103346802 B CN103346802 B CN 103346802B
Authority
CN
China
Prior art keywords
path
code
ldpc code
equals
judge whether
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
CN201310217586.2A
Other languages
English (en)
Other versions
CN103346802A (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.)
Huali Zhixin (Chengdu) integrated circuit Co., Ltd
Original Assignee
HWA CREATE SHANGHAI CO Ltd
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 HWA CREATE SHANGHAI CO Ltd filed Critical HWA CREATE SHANGHAI CO Ltd
Priority to CN201310217586.2A priority Critical patent/CN103346802B/zh
Publication of CN103346802A publication Critical patent/CN103346802A/zh
Application granted granted Critical
Publication of CN103346802B publication Critical patent/CN103346802B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明揭示了一种QC-LDPC码的构造方法,应用于nand型快闪存储器纠错,该方法首先根据nand型快闪存储器的页容量和空闲区大小确定码率,并确定列重,最后根据码率与列重确定校验矩阵中子循环阵的大小;之后利用上述参数构造围长大于4的校验矩阵,此方法做到码长,码率可配置,可以根据nand型快闪存储器的页容量和空闲区大小灵活配置参数,并且使构造出的QC-LDPC码的性能优于相同码率的传统BCH码。

Description

QC-LDPC码的构造方法
【技术领域】
本发明涉及一种QC-LDPC码的构造方法,特别是指适用于nand型快闪存储器纠错的高码率QC-LDPC码的构造方法。
【背景技术】
围长(girth)是影响LDPC码纠错性能的主要因素之一。nand型快闪存储器由于空闲区(spare area)容量的限制,要求纠错码具有较高的码率。而高码率LDPC码对应的校验矩阵,由于行重较大,在矩阵中形成小围长的环的概率较高。去除校验矩阵中小围长的环,即使得girth>4,是构造高性能LDPC码的基本要求。Moura等人曾提出构造任意围长的结构化LDPC码的方法,并将这种码叫做PS-LDPC(partition-and-shift LDPC)码。在存储器纠错领域,QC-LDPC码以其便于硬件实现的结构特点被广泛使用。
【发明内容】
本发明的目的在于提供一种简化的适用于nand型快闪存储器高码率需求的QC-LDPC码的构造方法,使其校验矩阵的最小围长大于4。
为实现上述目的,实施本发明的QC-LDPC码的构造方法,应用于nand型快闪存储器纠错,该方法包括如下步骤:
根据nand型快闪存储器的页容量和空闲区大小确定码率,并确定列重,最后根据码率与列重确定校验矩阵中子循环阵的大小;
上述的参数构造围长大于4的校验矩阵,具体包括如下步骤:
步骤1:初始化位移参数矩阵,即将位移参数矩阵中的元素按列从左到右排列,并且每列内按从上到下的顺序表示为S1,S2...,Sk,令S1~Sk=random()%P,其中random()代表随机数,%代表求余,S1~Sk取0~P之间的随机值;
步骤2:令r=1;
步骤3:寻找以Sr为起点和终点的长度为4的闭合路径;
步骤4:判断各顶点之和是否等于0,即判断各顶点是否满足:
其中t=2,Sɑ1,β1,Sɑ2,β2,...Sɑ2t,β2t为各个顶点,⊕是模为P的加法;
步骤5:如果各顶点之和等于0,则舍弃当前的Sr,令Sr=random()%P,回到步骤3;
步骤6:如果各顶点之和不等于0,则判断r是否等于k;
步骤7:如果r不等于k,则令r=r+1,之后返回步骤3;
步骤8:如果r等于k,则运算结束,基于此位移参数矩阵,构造相应的校验矩阵。
依据上述主要特征,上述的步骤3中寻找以Sr为起点和终点的长度为4的闭合路径的方法采用递归法,具体包括如下步骤:
步骤a:将路径path清零,令X0=Sr,其中Sr=所寻找闭合路径的起点和终点,该路径Path是指所寻找的闭合路径,其内容包括构成该路径的每一个点;
步骤b:寻找与X0同列,且不在路径path中的入口X1
步骤c:判断整列是否查找完毕;
步骤d:如果整列查找完毕,则返回;
步骤e:如果整列未查找完毕,则将X1加入路径path中;
步骤f:判断X1是否与Sr同行;
步骤g:如果X1与Sr同行,则判断路径长度+2是否等于L;
步骤h:如是路径长度+2等于L,则返回所需路径path;
步骤i:当X1不与Sr同行或者路径长度+2不等于L,则寻找与X1同行,且不在路径path中的入口X2
步骤j:判断整行是否查找完毕,如是则返回步骤b;
步骤k:如整行没有查找完毕,则将X2加入路径path中;
步骤l:之后令X0=X2,返回步骤b。
依据上述主要特征,对于页容量为T0,每页空闲区容量为T1的nand型快闪存储器,其适用的线性纠错码码率R=T0/(T0+T1)。
依据上述主要特征,列重w通过仿真确定,列重w为5。
依据上述主要特征,对于ECC(error correcting code)输入长度为m bit的nandflash应用,校验矩阵中子循环阵的大小
与现有技术相比较,本发明提供的构造方法做到了码长,码率可配置,可以根据nand型快闪存储器的页容量和空闲区大小灵活配置参数,并且使构造出的QC-LDPC码的性能优于相同码率的传统BCH码。
【附图说明】
图1为为QC-LDPC码校验矩阵H与位移信息矩阵S的对应关系示意图。
图2为构造围长大于4的校验矩阵的方法流程示意图。
图3为图2中步骤3的具体实现方法示意图。
图4为采用本发明中的方法构造的码率0.9,列重5,纠错信息长度为8192bit的QC-LDPC码校验矩阵的示意图。
图5为该QC-LDPC码的仿真性能示意图。
【具体实施方式】
LDPC码的构造方法有Gallage法、Mackay法、PEG(progressing edgegrowth)法、有限域几何法、PS(partition-and-shift)法等。其中PS法是一种简单的构造任意围长QC-LDPC码的方法。其方法是从构造满足一定条件的位移参数矩阵出发,来构造准循环的校验矩阵。其中位移参数矩阵S如下:
对应的校验矩阵H如下:
其中每个元素Si,j对应H矩阵中的一个子循环矩阵Hi,j,并代表着该子循环矩阵的位移信息。其对应关系如图1,其中Hi,j的大小为P。
H矩阵中不存在围长为2t的环的充分必要条件为:
S矩阵中任何以Sɑ1,β1、Sɑ2,β2、...Sɑ2t,β2t为顶点,长度为2t的闭合路径均不满足:
其中⊕与⊙是模为P的加减。
因此,构造围长大于4的QC-LDPC码就需要先构造S矩阵,使其中长度为4的闭合路径均不满足上述条件。
利用本发明提供的方法目的在于构造一种适用于nand型快闪存储器纠错应用的高码率QC-LDPC码,并使其围长大于4。由于LDPC码由其校验矩阵唯一确定,因此构造符合一定条件的LDPC码即为构造特定的校验矩阵。
首先确定码率R:对于页容量为T0,每页空闲区容量为T1的nand型快闪存储器,其适用的线性纠错码码率R=T0/(T0+T1);
再确定列重w:经过多次仿真,列重为4或5的QC-LDPC码纠错性能较好,在本实施例中采用列重为5;
最后确定校验矩阵中子循环阵的大小P:对于ECC(error correcting code)输入长度为m bit的nand型快闪存储器应用,
下面举例说明上述参数的选择:若使用页容量为8k byte,每页空闲区容量为1k byte的nand型快闪存储器,则R=9/10。若选用列重w=5,ECC长度m=8192bit,则P=183。
之后再根据上述的参数构造围长大于4的校验矩阵,具体如图2所示,包括如下步骤:
步骤1:初始化S矩阵,即将S矩阵中的元素按列从左到右排列,并且每列内按从上到下的顺序表示为S1,S2...,Sk,令S1~Sk=random()%P,其中random()代表随机数,%代表求余,S1~Sk取0~P之间的随机值;
步骤2:令r=1;
步骤3:寻找以Sr为起点和终点的长度为4的闭合路径;
步骤4:判断路径各顶点之和是否等于0,即判断各顶点是否满足:
其中t=2,Sɑ1,β1,Sɑ2,β2,...Sɑ2t,β2t为各个顶点,⊕是模为P的加法;
步骤5:如果各顶点之和等于0,则舍弃当前的Sr,令Sr=random()%P,回到步骤3;
步骤6:如果各顶点之和不等于0,则判断r是否等于k;
步骤7:如果r不等于k,则令r=r+1,之后返回步骤3;
步骤8:如果r等于k,则运算结束,基于S矩阵,构造相应的H矩阵。
其中在步骤3中寻找以Sr为起点和终点的长度为4的闭合路径的方法采用递归法,具体方法如图3所示,包括如下步骤:
步骤a:将路径path清零,令X0=Sr,其中Sr=所寻找闭合路径的起点和终点,该路径Path是指所寻找的闭合路径,其内容包括构成该路径的每一个点;
步骤b:寻找与X0同列,且不在路径path中的入口X1
步骤c:判断整列是否查找完毕;
步骤d:如果整列查找完毕,则返回;
步骤e:如果整列未查找完毕,则将X1加入路径path中;
步骤f:判断X1是否与Sr同行;
步骤g:如果X1与Sr同行,则判断路径长度+2是否等于L,L为所要搜索路径的长度,在此实施例中L=4,即判断路径是否在添加X1后会闭合,因此离总路径长度还差距离2,所以加上2进行判断;
步骤h:如是路径长度+2等于L,则返回所需路径path;
步骤i:当X1不与Sr同行或者路径长度+2不等于L,则寻找与X1同行,且不在路径path中的入口X2
步骤j:判断整行是否查找完毕,如是则返回步骤b;
步骤k:如整行没有查找完毕,则将X2加入路径path中;
步骤l:之后令X0=X2,返回步骤b。
在以上的方法中,X0,X1,X2是路径搜索过程中的点,X0为起始点,X1为X0的下一个点,X2(如必要时)为X1的下一个点,由于采用递归的方法,X0、X1、X2、X0最终形成了整个路径(即回X0为闭合路径的起点和终点)。
由上述方法构造的一组码率为0.9,列重5,ECC长度为8192bit的QC-LDPC码的校验矩阵H如图4所示,其中子循环阵的大小为183。图中实线代表1的位置,空白处对应的校验矩阵元素为0。可以看出,该码的结构规整,且子循环矩阵的围度较大(本实施例中为183),节省了硬件存储矩阵的开销。
图5为该组QC-LDPC码的仿真结果,可以看出,利用本方法构造的码率0.9的QC-LDPC码的解码性能优于相同码率的BCH码。
与现有技术相比较,本发明提供的构造方法做到了码长、码率可配置,可以根据nand型快闪存储器的页容量和空闲区大小灵活配置参数,并且使构造出的QC-LDPC码的性能优于相同码率的传统BCH码。
可以理解的是,对本领域普通技术人员来说,可以根据本发明的技术方案及其发明构思加以等同替换或改变,而所有这些改变或替换都应属于本发明所附的权利要求的保护范围。

Claims (5)

1.一种QC-LDPC码的构造方法,应用于nand型快闪存储器纠错,其特征在于该方法包括如下步骤:
根据nand型快闪存储器的页容量和空闲区大小确定码率,并确定列重,最后根据码率与列重确定校验矩阵中子循环阵的大小;
根据码率、列重、校验矩阵中子循环阵的大小构造围长大于4的校验矩阵,具体包括如下步骤:
步骤1:初始化位移参数矩阵,即将位移参数矩阵中的元素按列从左到右排列,并且每列内按从上到下的顺序表示为S1,S2...,Sk,令S1~Sk=random()%P,其中random()代表随机数,%代表求余,S1~Sk取0~P之间的随机值;
步骤2:令r=1;
步骤3:寻找以Sr为起点和终点的长度为4的闭合路径;
步骤4:判断各顶点之和是否等于0,即判断各顶点是否满足:
其中t=2,Sɑ1,β1,Sɑ2,β2,...Sɑ2t,β2t为各个顶点,⊕是模为P的加法;
步骤5:如果各顶点之和等于0,则舍弃当前的Sr,令Sr=random()%P,回到步骤3;
步骤6:如果各顶点之和不等于0,则判断r是否等于k;
步骤7:如果r不等于k,则令r=r+1,之后返回步骤3;
步骤8:如果r等于k,则运算结束,基于此位移参数矩阵,构造相应的校验矩阵。
2.如权利要求1所述的QC-LDPC码的构造方法,其特征在于:上述的步骤3中寻找以Sr为起点和终点的长度为4的闭合路径的方法采用递归法,具体包括如下步骤:
步骤a:将路径path清零,令X0=Sr,其中Sr=所寻找闭合路径的起点和终点,该路径Path是指所寻找的闭合路径,其内容包括构成该路径的每一个点;
步骤b:寻找与X0同列,且不在路径path中的入口X1
步骤c:判断整列是否查找完毕;
步骤d:如果整列查找完毕,则返回;
步骤e:如果整列未查找完毕,则将X1加入路径path中;
步骤f:判断X1是否与Sr同行;
步骤g:如果X1与Sr同行,则判断路径长度+2是否等于L;
步骤h:如是路径长度+2等于L,则返回所需路径path;
步骤i:当X1不与Sr同行或者路径长度+2不等于L,则寻找与X1同行,且不在路径path中的入口X2
步骤j:判断整行是否查找完毕,如是则返回步骤b;
步骤k:如整行没有查找完毕,则将X2加入路径path中;
步骤l:之后令X0=X2,返回步骤b。
3.如权利要求2所述的QC-LDPC码的构造方法,其特征在于:对于页容量为T0,每页空闲区容量为T1的nand型快闪存储器,其适用的线性纠错码码率R=T0/(T0+T1)。
4.如权利要求3所述的QC-LDPC码的构造方法,其特征在于:列重w通过仿真确定,列重w为5。
5.如权利要求3所述的QC-LDPC码的构造方法,其特征在于:对于ECC输入长度为m bit的nandflash应用,校验矩阵中子循环阵的大小
CN201310217586.2A 2013-06-04 2013-06-04 Qc-ldpc码的构造方法 Active CN103346802B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310217586.2A CN103346802B (zh) 2013-06-04 2013-06-04 Qc-ldpc码的构造方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310217586.2A CN103346802B (zh) 2013-06-04 2013-06-04 Qc-ldpc码的构造方法

Publications (2)

Publication Number Publication Date
CN103346802A CN103346802A (zh) 2013-10-09
CN103346802B true CN103346802B (zh) 2014-12-31

Family

ID=49281584

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310217586.2A Active CN103346802B (zh) 2013-06-04 2013-06-04 Qc-ldpc码的构造方法

Country Status (1)

Country Link
CN (1) CN103346802B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI557747B (zh) * 2015-02-13 2016-11-11 瑞昱半導體股份有限公司 記憶體控制模組與方法以及錯誤更正碼編/解碼電路與方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101753149A (zh) * 2008-12-10 2010-06-23 国家广播电影电视总局广播科学研究院 一种准循环低密度奇偶校验码的构造方法
CN101826878A (zh) * 2010-04-26 2010-09-08 杨磊 Qc-ldpc码构建方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6141788A (en) * 1998-03-13 2000-10-31 Lucent Technologies Inc. Method and apparatus for forward error correction in packet networks
EP1552617A2 (en) * 2002-10-05 2005-07-13 Digital Fountain, Inc. Systematic encoding and decoding of chain reaction codes
US8103931B2 (en) * 2008-08-27 2012-01-24 Mitsubishi Electric Research Laboratories, Inc. Method for constructing large-girth quasi-cyclic low-density parity-check codes

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101753149A (zh) * 2008-12-10 2010-06-23 国家广播电影电视总局广播科学研究院 一种准循环低密度奇偶校验码的构造方法
CN101826878A (zh) * 2010-04-26 2010-09-08 杨磊 Qc-ldpc码构建方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI557747B (zh) * 2015-02-13 2016-11-11 瑞昱半導體股份有限公司 記憶體控制模組與方法以及錯誤更正碼編/解碼電路與方法

Also Published As

Publication number Publication date
CN103346802A (zh) 2013-10-09

Similar Documents

Publication Publication Date Title
CN101741396B (zh) 可变码长ldpc码编码或译码的方法与装置及编码器和译码器
CN104333390B (zh) 一种ldpc码的校验矩阵的构造方法与编码方法
CN101567697B (zh) 一种速率兼容的低密度奇偶校验码编码方法和编码器
US7934139B2 (en) Parallel LDPC decoder
CN102088294B (zh) 一种qc-ldpc编码器及编码方法
CN103051543A (zh) 一种路由前缀的处理、查找、增加及删除方法
CN101207386B (zh) 一种二进制低密度奇偶校验码的构造方法
CN109740023A (zh) 基于双向位图的稀疏矩阵压缩存储方法
CN102662855A (zh) 一种二叉树的存储方法、系统
CN101159435A (zh) 基于移位矩阵分级扩展的低密度校验码校验矩阵构造方法
CN110278000A (zh) 基于dvb-s2标准的ldpc码并行译码fpga实现架构及译码方法
Dukes et al. Permutation graphs and the Abelian sandpile model, tiered trees and non-ambiguous binary trees
CN103346802B (zh) Qc-ldpc码的构造方法
CN108390676A (zh) 一种结合等差数列与原模图的qc-ldpc码新颖构造方法
CN103023515A (zh) 基于块列循环的cmmb中ldpc编码器和编码方法
CN105045767B (zh) 一种快速存贮及读取电力系统稀疏矩阵数据的方法
CN102684707B (zh) 一种ldpc编码器
Zinoviev et al. Steiner triple systems S (2 m− 1, 3, 2) of rank 2 m− m+ 1 over
CN102386932B (zh) Ldpc码的构造方法
CN110990188B (zh) 一种基于Hadamard矩阵的部分重复码的构造方法
CN102130694A (zh) 一种准循环低密度奇偶校验码并行编码电路
CN104639177A (zh) 一种优化短环的qc-ldpc码构造方法
CN105720990A (zh) Ldpc码的校验矩阵的四环搜索方法及装置
CN105227190A (zh) 一种基于有限域乘群中循环子群的ldpc码的构造方法
CN110083603B (zh) 一种基于邻接表实现节点路径的查询方法及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C53 Correction of patent for invention or patent application
CB03 Change of inventor or designer information

Inventor after: Li Yunjiao

Inventor after: Wang Shujing

Inventor after: Wu Jun

Inventor after: Hu Xu

Inventor before: Li Yunjiao

Inventor before: Wu Jun

Inventor before: Hu Xu

COR Change of bibliographic data

Free format text: CORRECT: INVENTOR; FROM: LI YUNJIAO WU JUN HU XU TO: LI YUNJIAO WANG SHUJING WU JUN HU XU

C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20211119

Address after: 301, 302, 401, 402, building 4, No. 715, north section of Hupan Road, Zhengxing street, Tianfu New District, Chengdu, Sichuan 610000

Patentee after: Huali Zhixin (Chengdu) integrated circuit Co., Ltd

Address before: 201105 room 133, Zone C, floor 1, building 1, No. 1362, Huqingping highway, Qingpu District, Shanghai

Patentee before: SHANGHAI HWACHIP SEMICONDUCTOR CO.,LTD.