[go: up one dir, main page]

CN1561005B - 快速纠双错bch码译码器 - Google Patents

快速纠双错bch码译码器 Download PDF

Info

Publication number
CN1561005B
CN1561005B CN 200410005777 CN200410005777A CN1561005B CN 1561005 B CN1561005 B CN 1561005B CN 200410005777 CN200410005777 CN 200410005777 CN 200410005777 A CN200410005777 A CN 200410005777A CN 1561005 B CN1561005 B CN 1561005B
Authority
CN
China
Prior art keywords
error
decoder
bch
error position
code
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.)
Expired - Fee Related
Application number
CN 200410005777
Other languages
English (en)
Other versions
CN1561005A (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.)
Darts Technologied Corp
Darts Technologies Corp
WISDOMIT SYSTEM CO Ltd
Original Assignee
Darts Technologied Corp
WISDOMIT SYSTEM 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 Darts Technologied Corp, WISDOMIT SYSTEM CO Ltd filed Critical Darts Technologied Corp
Priority to CN 200410005777 priority Critical patent/CN1561005B/zh
Publication of CN1561005A publication Critical patent/CN1561005A/zh
Application granted granted Critical
Publication of CN1561005B publication Critical patent/CN1561005B/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Error Detection And Correction (AREA)

Abstract

本发明公开了一种快速纠双错BCH码译码器,所述的译码器工作在有限域GF(25)上,由伴随式计算电路、误差数目判断电路、误差位置计算电路组成,并为顺序连接,译码器中BCH码为BCH(N,N-10),码长N是11~31中任意整数。本发明利用BCH码纠双错的特点,给出了一种无需Chien搜索法,也不用查询表ROM,直接从伴随式结果即可计算出误差位置的快速译码算法。具有译码结构简单,硬件复杂度低、控制信号简单、译码速度快并且不受码长影响等优点。非常适合于要求产品功耗低、吞吐率快及可靠性高的应用系统中,如便携式FLASH存储系统产品中。

Description

快速纠双错BCH码译码器
技术领域
本发明是涉及一种在数字通信、数据存储、网络数据传输等技术领域内进行纠错的一种芯片装置。
背景技术
在数字通信系统和数据存储系统中,误差控制编码(Error ControlCoding)技术作为数据完整性保护的重要手段,得到广泛应用。数字影音光碟(DVD),数字式广播(DVB)、大容量存储(Mass-Storage)等系统多采用BCH码作为误差控制编码来提高数据的可靠性与完整性。
一些消费类应用系统(如采用FLASH存储器的Mass-Storage系统)基于产品的性能和成本的考虑,以纠双错的BCH码作为差错控制编码,保证数据的可靠性和安全性。它们希望BCH码的译码电路计算速度快,硬件实现代价小。
目前,对于纠正两位误差的BCH码的译码电路通常采用两种方法:第一种是用Berlekamp-Massey算法(或者Euclidian算法)和Chien搜索算法确定误差的具体位置。这种方法通用性好,但是算法复杂,硬件实现代价高。Chien搜索法需要花费正比于码长的运算时间,译码速度慢。第二种方法是查询表(look-up-table),它是把预先算好的结果存放在只读存储器(ROM)中,确定误差的位置比较快。但是,当码长较长时,ROM的容量较大,硬件实现成本高。
通常的BCH码的译码过程包括三个步骤:
1.伴随式(Syndrome)的计算;
2.利用伴随式计算误差寻址多项式(error-locator polynomial);
3.根据误差寻址多项式计算出误差位置(error locations);
步骤2的求解,通常采用Berlekamp-Massey算法或者Euclidian算法。实现Berlekamp-Massey算法或者Euclidian算法电路的硬件复杂度和码长有关,和纠错的数目无关。第3步误差位置的求解通常采用Chien搜索算法实现,算法的迭代次数正比于码长。这些译码算法都未能充分利用纠错个数较少的特点,实现的硬件代价大,运算速度慢。
步骤2和3的确定误差位置也可以用查询表技术实现,它是利用预先在ROM中存放误差位置的查询表。这样可以较快地得出发生误差的位置,但是当码长较长时,需要大容量的ROM,硬件代价大。
发明内容
针对目前纠正两位误差BCH码译码器的缺点,本发明提出了一种无需Chien搜索法,也不用查询表ROM的直接求解的硬件译码器,该译码器工作在有限域GF(25)上,具有译码速度快,硬件代价小的优点。
一种快速纠双错BCH码译码器,所述的译码器工作在有限域GF(25)上,由伴随式计算电路、误差数目判断电路、误差位置计算电路组成,并为顺序连接;译码器中BCH码为BCH(N,N-10),码长N是11~31中任意整数;
所述的伴随式计算电路,由输入的数据流计算出伴随式S0、S1、S2和S3
所述的误差数目判断电路,其步骤包括:
(a)由式(1)计算出A、B、C;
A = S 0 S 2 + S 1 2 , B=S1S2+S0S3 C = S 1 S 3 + S 2 2
(b)根据S0、S1、S2、S3、A、B和C的值判断发生误差数目;
所述的误差位置计算电路,是根据发生误差数目分别计算出误差位置,根据计算出的误差位置,取反数据得到纠正后的正确值。
单个误差情形下:所述的误差位置计算电路对误差位置的计算,其方法是根据式X1=S1/S0计算。
两个误差情形下:所述的误差位置计算电路对误差位置的计算,其方法是采用符合式
Figure B2004100057773D00023
的硬件电路直接求解z2+z+K=0根Z1和Z2,用式
Figure B2004100057773D00024
计算出σ1,再用式X1=σ1Z1,X2=σ1Z2得到两个误差位置X1和X2
本发明利用BCH码纠双错的特点,给出了一种无需Chien搜索法,也不用查询表ROM,直接从伴随式结果即可计算出误差位置的快速译码算法。具有译码结构简单,硬件复杂度低、控制信号简单、译码速度快并且不受码长影响等优点。非常适合于要求产品功耗低、吞吐率快及可靠性高的应用系统中,如便携式FLASH存储系统产品中。
附图说明
图1有限域GF(25)二次方程z2+z+K=0根的求解电路框图。
图2有限域GF(25)二次方程z2+z+K=0的根求解电路的一种实现方式。
图3快速BCH译码器整体电路框图。
图4BCH(31,21)码的数据格式图。
图5有限域GF(25)BCH(31,21)译码器电路框图。
具体实施方式
设在有限域GF(25)可纠正两个误差的BCH码的一般形式为:
BCH(N,N-10)
其中N(10<N≤31)为码长;N-10为信息元长度;码距d=5。
设r(x)、c(x)和e(x)分别表示接收多项式、码字(code word)多项式和误差多项式。那么,它们之间满足:
r(x)=c(x)+e(x)                (1)
定义伴随式为Si(i=0,1,2,3),那么
S j = Σ i = 0 N - 1 r i ( α j ) i - - - ( 2 )
假设两个误差的位置为i1和i2,令
Figure B2004100057773D00032
Figure B2004100057773D00033
定义寻址多项式σ(x)为:
σ(x)=(x-X1)(x-X2)=x21x+σ0         (3)
其中,σ1=X1+X2,σ0=X1X2
                                         (4)
所以,
S2=S1σ1+S0σ0                          (5)
S3=S2σ1+S1σ0                          (6)
可以得出:
σ 0 = ( S 2 2 + S 1 S 3 ) / ( S 1 2 + S 0 S 2 ) - - - ( 7 )
σ 1 = ( S 1 S 2 + S 0 S 3 ) / ( S 1 2 + S 0 S 2 ) - - - ( 8 )
BCH码误差数据检测、误差位置的求解方法如下:
1.如果没有误差发生,那么
S0=S1=S2=S3=0                    (9)
2.如果单个误差发生,假设误差的位置为i1,计算A、B和C如下:
A = S 0 S 2 + S 1 2 , B=S1S2+S0S3 C = S 1 S 3 + S 2 2 - - - ( 10 )
所以:
S0=1≠0,S1=X1≠0, S 2 = X 1 2 ≠ 0 , S 3 = X 1 3 ≠ 0 - - - ( 11 )
A=0,B=0,C=0
那么,可以求出误差的位置为:
X1=S1                               (12)
3.如果两个误差发生,假设两个误差的位置为i1和i2,那么:
S 0 = 0 S 1 = X 1 + X 2 ≠ 0 S 2 = X 1 2 + X 2 2 ≠ 0 S 3 = X 1 3 + X 2 3 ≠ 0 - - - ( 13 )
A = S 0 S 2 + S 1 2 = ( X 1 + X 2 ) 2 ≠ 0 B = S 1 S 2 + S 0 S 3 = ( X 1 + X 2 ) ( X 1 2 + X 2 2 ) ≠ 0 C = S 1 S 3 + S 2 2 = X 1 X 2 ( X 1 2 + X 2 2 ) ≠ 0 - - - ( 14 )
将x=σ1z代入寻址多项式σ(x)中,可得:
z2+z+K=0                            (15)
式中,
Figure B2004100057773D00049
式(15)的两个根Z1、Z2和K之间的关系式为:
Z 1 [ 4 ] = Z 2 [ 4 ] = K [ 0 ] ; Z 1 [ 3 ] = Z 2 [ 3 ] = K [ 4 ] ⊕ K [ 2 ] ⊕ K [ 1 ] ; Z 1 [ 2 ] = Z 2 [ 2 ] = K [ 4 ] ⊕ K [ 0 ] ; Z 1 [ 1 ] = Z 2 [ 1 ] = K [ 4 ] ⊕ K [ 2 ] ; Z 1 [ 0 ] = 0 , Z 2 [ 0 ] = 1 ; - - - ( 16 )
图1为求解二次方程z2+z+K=0根的电路框图,其中K[4:0]为方程的常数,Z1[4:0]和Z2[4:0]为求出的两个根。
图2是有限域GF(25)二次方程z2+z+K=0两个根的求解电路形式中的一种电路,图中的逻辑门均为异或门。
求出Z1和Z2后,可以求出误差位置X1和X2的值:
X1=σ1Z1,X2=σ1Z2                        (17)
对误差位置的数取反,就得到纠正后的数据,这样完成了纠正两个误差BCH码的译码过程。
图3为本发明快速BCH译码器的整体电路框图。图中I为伴随式计算电路,它从输入的译码数据计算得到S0、S1、S2、S3;II为误差数目判断电路,它根据伴随式的值之间的关系,判断出误差发生的数目Error_Number;III为误差位置计算电路,它是根据发生误差的数目,分别计算得到误差的位置X1和X2
以BCH(31,21)码为例说明本发明的具体实施方法。
BCH(31,21)码,采用有限域GF(25),可纠正t=2个随机误差。数据的格式如图4所示。
最高的10位为校验位,后面21位为信息位。
BCH(31,21)译码器的框图如图5所示,图5中左边为输入信号,DataIn[7:0]为输入的译码数据,CLK为工作时钟。右边为译码输出结果,E_Count[1:0]为发生误差的数目,ErrAdr1[4:0]为第一个误差的地址,ErrAdr2[4:0]为第二个误差的地址。
一、没有误差时的译码结果
输入的31位数据(二进制表示)为:
0000100_00101110_00100010_00111011
其中最前面的10位数据为校验位,后面的21位为信息位。所以校验位和信息位分别为:
校验位:0000100001;
信息位:01110_00100010_00111011(十六进制为0E223B);
1.译码结果为:
E_Count=0;
Err_Adr1=0;
Err_Adr2=0;
2.结果分析
译码结果表明没有误差发生。
二、单个误差时的译码结果
输入的31位数据(二进制表示)为:
0000100_00101110_01100010_00111011
其中最前面的10位数据为校验码,后面的21位为信息码。所以校验码和信息码分别为:
校验码:0000100001;
信息码:01110_01100010_00111011(十六进制为0E623B);
1.译码结果为:
E_Count=1;
Err_Adr1=0E;
Err_Adr2=0;
2.结果分析
此时有一个误差发生。误差的位置在第14位,将第14位数据取反后的信息码为0110_00100010_00111011(十六进制为0E223B)。
三、两个误差时的译码结果
输入的31位数据(二进制表示)为:
0000100_00101110_01100011_00111011
其中最前面的10位数据为校验码,后面的21位为信息码。所以校验码和信息码分别为:
校验码:0000100001;
信息码:01110_01100011_00111011(十六进制为0E633B);
1.译码结果为:
E_Count=1;
Err_Adr1=0E;
Err_Adr2=08;
2.结果分析
此时有两个误差发生。误差的位置在第14位和第8位,将第14位和第8位的数据取反后的信息码为0110_00100010_00111011(十六进制为0E223B)。

Claims (3)

1.一种快速纠双错BCH译码器,其特征在于:所述的译码器工作在有限域GF(25)上,由伴随式计算电路(I)、误差数目判断电路(II)、误差位置计算电路(III)组成,并为顺序连接;译码器中BCH码为BCH(N,N-10),码长N是11~31中任意整数;
所述的伴随式计算电路,由输入的数据流计算出伴随式S0、S1、S2和S3
所述的误差数目判断电路,其相应的工作步骤包括:
(a)由式(1)计算出A、B、C,
A = S 0 S 2 + S 1 2 , B=S1S2+S0S3 C = S 1 S 3 + S 2 2
(b)根据S0、S1、S2、S3、A、B和C的值判断发生误差数目;
所述的误差位置计算电路,是根据发生误差数目分别计算出误差位置,根据计算出的误差位置,取反数据得到纠正后的正确值。
2.根据权利要求1所述的一种快速纠双错BCH译码器,其特征在于:在单个误差情形下:
所述的误差位置计算电路(III)对误差位置的计算,其方法是根据式X1=S1/S0计算。
3.根据权利要求1所述的一种快速纠双错BCH译码器,其特征在于:在两个误差情形下:
所述的误差位置计算电路(III)对误差位置的计算,其方法是采用符合式的硬件电路直接求解z2+z+K=0根Z1和Z2,用式计算出σ1,再用式X1=σ1Z1,X2=σ1Z2得到两个误差位置X1和X2
CN 200410005777 2004-02-20 2004-02-20 快速纠双错bch码译码器 Expired - Fee Related CN1561005B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200410005777 CN1561005B (zh) 2004-02-20 2004-02-20 快速纠双错bch码译码器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200410005777 CN1561005B (zh) 2004-02-20 2004-02-20 快速纠双错bch码译码器

Publications (2)

Publication Number Publication Date
CN1561005A CN1561005A (zh) 2005-01-05
CN1561005B true CN1561005B (zh) 2010-12-08

Family

ID=34439690

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200410005777 Expired - Fee Related CN1561005B (zh) 2004-02-20 2004-02-20 快速纠双错bch码译码器

Country Status (1)

Country Link
CN (1) CN1561005B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101252361B (zh) * 2007-10-11 2011-12-21 国民技术股份有限公司 一种支持预搜索的面积紧凑型bch并行译码电路
CN102045073B (zh) * 2009-10-26 2013-04-17 成都市华为赛门铁克科技有限公司 一种bch码译码方法和装置
US9906240B2 (en) 2015-06-03 2018-02-27 SK Hynix Inc. One-shot decoder for two-error-correcting BCH codes
CN111224741B (zh) * 2018-11-23 2022-08-12 中国科学院微电子研究所 卫星导航用bch码译码方法、译码器及卫星导航接收机
CN111030709A (zh) * 2019-12-31 2020-04-17 中科院计算技术研究所南京移动通信与计算创新研究院 基于bch译码器的译码方法、bch译码器及应用其的电路

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02279022A (ja) 1989-04-20 1990-11-15 Fujitsu Ltd Bch復号化回路
US5323402A (en) * 1991-02-14 1994-06-21 The Mitre Corporation Programmable systolic BCH decoder
US5537429A (en) * 1992-02-17 1996-07-16 Mitsubishi Denki Kabushiki Kaisha Error-correcting method and decoder using the same
CN1176714A (zh) * 1995-12-28 1998-03-18 昆腾公司 用于三错校正和四错校正的改进系统
CN1181664A (zh) * 1996-10-30 1998-05-13 迪维安公司 用于里德-索罗门译码器的有限域乘法器

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02279022A (ja) 1989-04-20 1990-11-15 Fujitsu Ltd Bch復号化回路
US5323402A (en) * 1991-02-14 1994-06-21 The Mitre Corporation Programmable systolic BCH decoder
US5537429A (en) * 1992-02-17 1996-07-16 Mitsubishi Denki Kabushiki Kaisha Error-correcting method and decoder using the same
CN1176714A (zh) * 1995-12-28 1998-03-18 昆腾公司 用于三错校正和四错校正的改进系统
CN1181664A (zh) * 1996-10-30 1998-05-13 迪维安公司 用于里德-索罗门译码器的有限域乘法器

Also Published As

Publication number Publication date
CN1561005A (zh) 2005-01-05

Similar Documents

Publication Publication Date Title
US11784666B2 (en) Decoding signals by guessing noise
US10547332B2 (en) Device, system and method of implementing product error correction codes for fast encoding and decoding
US8799740B2 (en) Signal segmentation method and CRC attachment method for reducing undetected error
CN103888148B (zh) 一种动态阈值比特翻转的ldpc码硬判决译码方法
CN101814922B (zh) 基于bch码的多位错纠错方法和装置以及存储系统
US8694872B2 (en) Extended bidirectional hamming code for double-error correction and triple-error detection
CN111628780B (zh) 数据编码、解码方法及数据处理系统
JP2008052743A (ja) エラー訂正回路、その方法及び前記回路を備える半導体メモリ装置
US11601139B2 (en) Methods and apparatus to determine and apply polarity-based error correction code
US7392461B2 (en) Decoding for algebraic geometric code associated with a fiber product
CN102545914B (zh) Bch编译码方法及装置
CN1561005B (zh) 快速纠双错bch码译码器
CN107688506B (zh) 一种流水结构的bch译码系统
CN101983481A (zh) 用于发送的设备和方法、用于接收的设备和方法以及程序
CN101567696A (zh) 一种参数可变的bch码编码器及译码器
US20100174966A1 (en) Device and method providing 1-bit error correction
KR101226439B1 (ko) 리드-솔로몬 디코더, 이를 포함하는 메모리 시스템 및 디코딩 방법
US8255777B2 (en) Systems and methods for locating error bits in encoded data
US8296632B1 (en) Encoding and decoding of generalized Reed-Solomon codes using parallel processing techniques
CN102201881B (zh) 一种卷积交织的盲识别方法
CN1134897C (zh) 里德-索罗门码的快速译码方法及编译码器
CN102568607A (zh) 一种优化的bch解码器
CN120388598A (zh) 纠错码电路、修复系统及存储器
Kumar et al. High-speed and parallel approach for decoding of binary BCH codes with application to flash memory devices

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20101208

Termination date: 20110220