JP3255130B2 - Data inspection method and apparatus, and recording medium - Google Patents

Data inspection method and apparatus, and recording medium

Info

Publication number
JP3255130B2
JP3255130B2 JP35807798A JP35807798A JP3255130B2 JP 3255130 B2 JP3255130 B2 JP 3255130B2 JP 35807798 A JP35807798 A JP 35807798A JP 35807798 A JP35807798 A JP 35807798A JP 3255130 B2 JP3255130 B2 JP 3255130B2
Authority
JP
Japan
Prior art keywords
polynomial
data
remainder
bits
indicating
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
JP35807798A
Other languages
Japanese (ja)
Other versions
JP2000181732A (en
Inventor
雅博 若林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Murata Machinery Ltd
Original Assignee
Murata Machinery 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 Murata Machinery Ltd filed Critical Murata Machinery Ltd
Priority to JP35807798A priority Critical patent/JP3255130B2/en
Publication of JP2000181732A publication Critical patent/JP2000181732A/en
Application granted granted Critical
Publication of JP3255130B2 publication Critical patent/JP3255130B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Detection And Correction Of Errors (AREA)
  • Error Detection And Correction (AREA)

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、CRCに基づいて
データの誤りの有無を検査するデータ検査方法及び装置
並びにその検査方法を実施するためのプログラムを記録
した記録媒体に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a data inspection method and apparatus for inspecting the presence or absence of data errors based on a CRC and a recording medium on which a program for executing the inspection method is recorded.

【0002】[0002]

【従来の技術】記録媒体に記録されたデータ,伝送回線
を介して送信されたデータについて誤りがあるか否かを
検査する方法として、パリティ・チェック(バイト単位
で奇数または偶数に合わせるために各バイト毎に1ビッ
トのパリティを付加する方法),サム・チェック(媒体
全体にわたるバイト毎の加算結果である2バイトを付加
する方法)が用いられている。これらの方法は、計算負
荷及び検査用記憶容量が少なくて済む簡易的な誤り検査
方法である。しかしながら、これらの方法は、検査精度
があまり高くなく、正確な誤り検査を行えない事態がよ
く発生している。
2. Description of the Related Art As a method for checking whether there is an error in data recorded on a recording medium and data transmitted through a transmission line, a parity check (to match an odd number or an even number in a byte unit) is performed. A method of adding 1-bit parity to each byte) and a sum check (a method of adding 2 bytes which are the addition result of each byte over the entire medium) are used. These methods are simple error checking methods that require less computational load and test storage capacity. However, these methods do not have high inspection accuracy and often fail to perform accurate error inspection.

【0003】このような検査方法に比べて検査精度が高
い誤り検査方法として、CRC(Cyclic Redundancy Ch
eck:巡回冗長検査)が知られている。このCRCは、デ
ータの信頼性が不十分な場合の検査に利用されることが
多く、シリアル通信,ハードディスクのアクセス時など
の用途で主に用いられている。
As an error checking method having a higher checking accuracy than such checking methods, a CRC (Cyclic Redundancy Ch.
eck: cyclic redundancy check) is known. The CRC is often used for inspection when data reliability is insufficient, and is mainly used for applications such as serial communication and access to a hard disk.

【0004】以下、このCRCの概念について簡単に説
明する。CRCは、誤り検査に効果的な符号である巡回
符号(ある符号の任意の符号語を任意ビットだけ巡回シ
フトして得られるベクトルがやはり符号語であるような
符号)を利用し、データを所定の数で除算し、その剰余
を検査用に使用する。この巡回符号のデータブロック
は、kビットの情報ビットと(n−k)ビットの検査ビ
ットとで構成される。
Hereinafter, the concept of the CRC will be briefly described. CRC uses a cyclic code (a code in which a vector obtained by cyclically shifting an arbitrary code word of a certain code by an arbitrary bit is also a code word) that is a code effective for error checking, and uses a predetermined code as a code. Divide by the number and use the remainder for inspection. This cyclic code data block is composed of k information bits and (nk) check bits.

【0005】そして、データを変数xの多項式と考え、
数学的に取り扱う。例えばデータ“101011”について、
最左端の1はx5 ,左端より2番目の1はx3 ,同じく
3番目の1はx1 ,最右端の1は定数項と見なした場
合、このデータを多項式で表すとx5 +x3 +x+1と
なる。
[0005] Then, consider the data as a polynomial of a variable x,
Treat mathematically. For example, for data "101011",
1 of leftmost x 5, 1 second from the left end x 3, likewise the third 1 x 1, when one of the right-most were considered constant term, expressed the data polynomial x 5 + x 3 + x + 1.

【0006】このような多項式による表現に対して、次
のような多項式のmod 2加算を定義してこれによる演算
を行う。一般にmod N加算は、数Nの範囲内での加算を
表し、Nを越えた部分は捨てられる。従って、mod 2加
算では、0+1=1,1+1=0のようになり、「桁上
げがない2進数加算」を意味し、これは2進数値同士の
加算において双方の各ビットを排他的論理和(EX−O
R)していくことになる。具体的には以下のようにな
る。 1xn +1xn =0xn 1xn +0xn =0xn +1xn =1xn 0xn +0xn =0xn −1xn =1xn 以上のことから、mod 2加算においては、結合則,分配
則,交換則が成り立つことが分かる。また、mod 2加算
では、−1xn =1xn であるので、減法は加法と同じ
である。
For such a polynomial expression, the following modulo 2 addition of a polynomial is defined and an operation based on this is performed. In general, mod N addition indicates addition within a range of a number N, and portions exceeding N are discarded. Therefore, in mod 2 addition, 0 + 1 = 1, 1 + 1 = 0, which means “binary addition without carry”, which is an exclusive OR operation of both bits in addition of binary values. (EX-O
R). Specifically, it is as follows. 1x n + a 1x n = 0x n 1x n + 0x n = 0x n + 1x n = 1x n 0x n + 0x n = 0x n -1x n = 1x n above, in the mod 2 adder, associativity, distributivity, exchange It can be seen that the rule holds. Further, the mod 2 adder, because it is -1x n = 1x n, subtraction is the same as additive.

【0007】巡回符号は、データの検査ビットを決定す
る(n−k)次の剰余生成多項式G(x)というものに
よって一義的に定義できる。この剰余生成多項式G
(x)による巡回符号の生成は、次のようにして行う。
A cyclic code can be uniquely defined by a (n−k) -th order residue generating polynomial G (x) that determines a check bit of data. This residue generating polynomial G
Generation of a cyclic code by (x) is performed as follows.

【0008】情報ビットを示すメッセージ多項式M
(x)を符号化するためには、xn-k をM(x)に乗じ
てxn-k ・M(x)を求め、その乗算式を剰余生成多項
式G(x)で割る。この除算の商,剰余をそれぞれQ
(x),R(x)とすると、下記式(1)が成立する。 xn-k ・M(x)=Q(x)・G(x)+R(x) …(1)
Message polynomial M indicating information bits
In order to encode (x), x ( nk ) is multiplied by M (x) to obtain x ( nk ) M (x), and the multiplication formula is divided by the remainder generator polynomial G (x). The quotient and remainder of this division are Q
Assuming that (x) and R (x), the following equation (1) holds. x nk · M (x) = Q (x) · G (x) + R (x) (1)

【0009】例えば、通信における送信データU(x)
を生成するには、剰余R(x)をx n-k ・M(x)に加
算する。mod 2加算では加法と減法とは同じであるの
で、U(x)は、下記式(2)のようになる。 U(x)=xn-k ・M(x)+R(x)=Q(x)・G(x) …(2) よって、送信データでは、上位kビットの情報ビットは
n-k ・M(x)を表し、下位(n−k)ビットの検査
ビットはR(x)を表す。また、上記式(2)から、下
記式(3)が導出される。 U(x)÷G(x)=(xn-k ・M(x)+R(x))÷G(x) =Q(x) …(3) この式(3)から判るように、検査ビットも含めたデー
タ全体U(x)を剰余生成多項式G(x)で割るとその
剰余は0となる。よって、受信側でこの除算の剰余が0
になるか否かによって、送信データが正しいか否かを検
出できる。なお、ここで除算は、mod 2加算、つまり2
進法で行われ、桁上げ及び桁借りが生じないようにEX
−ORで行われる。従って、この場合には、剰余が常に
除数よりも1ビット少なく、その結果、剰余が検査ビッ
トとなり、除数は剰余生成多項式である。
For example, transmission data U (x) in communication
Is generated by dividing the remainder R (x) by x nk・ Addition to M (x)
Calculate. Addition and subtraction are the same in mod 2 addition
Then, U (x) is expressed by the following equation (2). U (x) = xnkM (x) + R (x) = Q (x) G (x) (2) Therefore, in the transmission data, the information bits of the upper k bits are
xnk-Inspection of lower (nk) bits, representing M (x)
The bits represent R (x). From the above equation (2),
Expression (3) is derived. U (x) ÷ G (x) = (xnkM (x) + R (x)) ÷ G (x) = Q (x) (3) As can be seen from equation (3), the data including the check bits
Dividing the entire data U (x) by the remainder generator polynomial G (x)
The remainder is 0. Therefore, the remainder of this division is 0 on the receiving side.
Whether the transmission data is correct or not.
I can get out. Here, the division is mod 2 addition, that is, 2
EX so that carry and borrow do not occur.
-OR. Therefore, in this case, the remainder is always
One bit less than the divisor, so that the remainder is
And the divisor is a remainder generator polynomial.

【0010】次に、このような具体例を示す。例えば、
剰余生成多項式G(x)=x5 +x 4 +x2 +1を用い
たn=15,k=10,n−k=5の巡回符号を考える。メ
ッセージ多項式M(x)=x9 +x5 +x2 +1に対応
するメッセージ“1000100101”を符号化するためには、
5 ・M(x)をG(x)で割って剰余R(x)を以下
のように求める。
Next, such a specific example will be described. For example,
Residue generating polynomial G (x) = xFive+ X Four+ XTwoUsing +1
Consider a cyclic code where n = 15, k = 10, and nk = 5. Me
Message polynomial M (x) = x9+ XFive+ XTwoCorresponds to +1
To encode the message “1000100101”
xFive-Divide M (x) by G (x) to get the remainder R (x)
Ask like.

【0011】[0011]

【数1】 (Equation 1)

【0012】よって、x5 ・M(x)は下記式(4)の
ように示され、送信データU(x)は、x5 ・M(x)
に剰余R(x)=x+1を加算して作られるので、下記
式(5)のようになる。 x5 ・M(x)=x14+x10+x7 +x5 =(x5 +x4 +x2 +1)×(x9 +x8 +x7 +x3 + x2 +x+1)+(x+1) …(4) U(x)=(x14+x10+x7 +x5 )+(x+1) …(5)
Therefore, x 5 · M (x) is expressed by the following equation (4), and transmission data U (x) is expressed by x 5 · M (x)
And the remainder R (x) = x + 1, so that the following equation (5) is obtained. x 5 · M (x) = x 14 + x 10 + x 7 + x 5 = (x 5 + x 4 + x 2 +1) × (x 9 + x 8 + x 7 + x 3 + x 2 + x + 1) + (x + 1) ... (4) U (X) = (x 14 + x 10 + x 7 + x 5 ) + (x + 1) (5)

【0013】このようにして(n−k)次の剰余生成多
項式G(x)で生成された送信データU(x)は、長さ
(n−k)以下の任意のバースト誤りを検出できること
が証明されている。
The transmission data U (x) generated by the (nk) -order remainder generation polynomial G (x) in this way can detect any burst error of length (nk) or less. Proven.

【0014】[0014]

【発明が解決しようとする課題】CRCにおける剰余を
求める一般的な方法として、従来から次のような2つの
方法が用いられている。第1従来方法は、1ビット毎に
シフトしながら上位桁から順次除算を行うものであり、
この第1従来方法では、計算は簡単であるが、多くのル
ープが必要であって実行速度が遅いという問題がある。
これに対して、第2従来方法は、剰余テーブルを利用し
て実行速度を高める方法であり、kビットのすべての種
類の被除数(2k 個)における剰余を予めテーブルとし
て格納しておき、除算の際にそのテーブルを参照して必
要な剰余を得るようにしている。この第2従来方法で
は、実行速度は速いが、膨大なデータ量のテーブルを格
納しておくためのメモリが必要であるという問題があ
る。
As a general method for obtaining a remainder in CRC, the following two methods have conventionally been used. In the first conventional method, division is performed sequentially from the upper digit while shifting by one bit.
In the first conventional method, the calculation is simple, but there is a problem that many loops are required and the execution speed is slow.
On the other hand, the second conventional method is a method of increasing the execution speed by using a remainder table, in which the remainder in all kinds of dividends (2 k ) of k bits is stored in advance as a table, and division is performed. In this case, the necessary remainder is obtained by referring to the table. Although the second conventional method has a high execution speed, it has a problem that a memory for storing a table having a huge data amount is required.

【0015】本発明は斯かる事情に鑑みてなされたもの
であり、第2従来方法のように膨大なデータ量のテーブ
ルを設けることなく、第1従来方法に比べて実行速度を
速くできてCRC計算時間を短縮できるCRCに基づく
データ検査方法及び装置並びにその検査方法を実施する
ためのプログラムを記録した記録媒体を提供することを
目的とする。
[0015] The present invention has been made in view of such circumstances, and can provide a faster execution speed than the first conventional method without providing a table having a huge amount of data unlike the second conventional method. An object of the present invention is to provide a data inspection method and apparatus based on CRC, which can shorten the calculation time, and a recording medium on which a program for executing the inspection method is recorded.

【0016】[0016]

【課題を解決するための手段】請求項1に係るデータ検
査方法は、所定の(n−k)次のxの剰余生成多項式に
て、kビットのデータを示すxの多項式にxn-k を乗算
した多項式を割った際の剰余に応じて前記データに誤り
があるか否かを検査するCRCに基づくデータ検査方法
において、k種類の前記各データを示すxの各多項式に
n-k を乗算した各多項式を前記剰余生成多項式で割っ
た際のk個の剰余を記憶しておき、該k個の剰余の中の
複数の剰余に排他的論理和演算を施して、任意の前記デ
ータを示すxの多項式にxn-k を乗算した多項式を前記
剰余生成多項式で割った際の剰余を求めることを特徴と
する。
According to a first aspect of the present invention, there is provided a data inspection method comprising: multiplying a polynomial of x representing k-bit data by x nk in a predetermined (n−k) -th remainder generation polynomial of x; In a data inspection method based on CRC for inspecting whether there is an error in the data according to the remainder when the obtained polynomial is divided, each polynomial of x indicating each of k kinds of data is multiplied by x nk The k remainders obtained by dividing the polynomial by the remainder generation polynomial are stored, and the k remainders in the k remainders are stored .
An exclusive OR operation is performed on a plurality of remainders, and a remainder obtained by dividing a polynomial obtained by multiplying x nk by a polynomial of x indicating any of the data by the remainder generation polynomial is obtained.

【0017】請求項2に係るデータ検査方法は、請求項
1において、前記k種類の前記データは、第j桁目(j
=1,2,…,k)の数が1であり、他の桁の数がすべ
て0であるk種類のデータであることを特徴とする。
According to a second aspect of the present invention, in the data inspection method according to the first aspect, the k kinds of data are stored in a j-th digit (j
= 1, 2, ..., k) is 1, and all other digits are
It is characterized in that it is k kinds of data, where

【0018】請求項3に係るデータ検査方法は、請求項
2において、k=8であり、8種類の前記データが、
“10000000”,“01000000”,“00100000”,“000100
00”,“00001000”,“00000100”,“00000010”,
“00000001”であることを特徴とする。
The data checking method according to claim 3, claim
In 2, k = 8, and the eight types of data are:
“10000000”, “01000000”, “00100000”, “000100
00 "," 00001000 "," 00000100 "," 00000010 ",
It is characterized by being "00000001" .

【0019】[0019]

【0020】請求項4に係るデータ検査方法は、所定の
(n−k)次のxの剰余生成多項式にて、(n−k)/
2ビット単位のデータを複数連続してなるデータの一部
を示すxの多項式にxn-k を乗算した多項式を割った際
の(n−k)ビットの剰余を順次求め、求めた剰余に応
じて、前記連続してなるデータに誤りがあるか否かを検
査するCRCに基づくデータ検査方法において、前記
続してなるデータの中の(n−k)/2ビットのデータ
と前記連続してなるデータの中で該(n−k)/2ビッ
トのデータに先行隣接する(n−k)/2ビットのデー
タに関する(n−k)ビットの剰余の上位(n−k)/
2ビットとの排他的論理和を求める第1ステップと、そ
の排他的論理和結果を示すxの多項式にxn-k を乗算し
た多項式を前記剰余生成多項式で割った際の剰余を求め
る第2ステップと、前記先行隣接する(n−k)/2ビ
ットのデータに関する前記(n−k)ビットの剰余の下
位(n−k)/2ビットを示すxの多項式にx(n-k)/2
を乗算した多項式と前記第2ステップで求めた剰余を示
すxの多項式との排他的論理和を求める第3ステップと
を有し、前記第1,第2及び第3ステップを繰り返すこ
とを特徴とする。
According to a fourth aspect of the present invention, there is provided a data inspection method, wherein a (n−k) / th remainder generation polynomial of x is given by (n−k) /
Sequentially obtains a 2-bit unit of data a plurality continuously such the x of a portion of Lud over data polynomial when divided by a polynomial obtained by multiplying the x nk (nk) bits remainder, calculated remainder a data inspection method which, based on the CRC to check whether there is an error in the data formed by the succession depending on the communication
Continued to become the data in (n-k) / 2 bits of data and the said in continuous comprising data (n-k) / preceding adjacent to 2-bit data (n-k) / 2 (N−k) bits of upper (nk) /
A first step of obtaining an exclusive OR with two bits, and a second step of obtaining a remainder when a polynomial obtained by multiplying a polynomial of x indicating the exclusive OR result by xnk is divided by the remainder generating polynomial. X (nk) / 2 in a polynomial in x indicating the lower (nk) / 2 bits of the remainder of the (nk) bits for the preceding adjacent (nk) / 2 bits of data
And a third step of obtaining an exclusive OR of a polynomial multiplied by x and a polynomial of x indicating the remainder obtained in the second step, wherein the first, second, and third steps are repeated. I do.

【0021】請求項に係るデータ検査方法は、請求項
において、前記第2ステップにて剰余を求める際に、
請求項1〜の何れかに記載の剰余を求める方法を適用
することを特徴とする。
According to a fifth aspect of the present invention, there is provided a data inspection method comprising:
In 4 , when obtaining the remainder in the second step,
A method for determining a remainder according to any one of claims 1 to 3 is applied.

【0022】請求項に係るデータ検査装置は、所定の
(n−k)次のxの剰余生成多項式にて、kビットのデ
ータを示すxの多項式にxn-k を乗算した多項式を割っ
た際の剰余に応じて前記データに誤りがあるか否かを検
査するCRCに基づくデータ検査装置において、k種類
の前記各データを示すxの各多項式にxn-k を乗算した
各多項式を前記剰余生成多項式で割った際のk個の剰余
を記憶する記憶手段と、該k個の剰余の中の複数の剰余
に排他的論理和演算を施して、任意の前記データを示す
xの多項式にxn-k を乗算した多項式を前記剰余生成多
項式で割った際の剰余を求める手段とを備えることを特
徴とする
According to a sixth aspect of the present invention, in the data inspection apparatus, when a polynomial in which a polynomial of x indicating k-bit data is multiplied by x nk is divided by a predetermined (nk) -order remainder generation polynomial of x. In a data inspection apparatus based on CRC for inspecting whether or not there is an error in the data according to the remainder, each polynomial obtained by multiplying each polynomial of x indicating each of the k kinds of data by x nk is represented by the remainder generation polynomial. Storage means for storing k remainders obtained by dividing by k, and performing an exclusive OR operation on a plurality of remainders among the k remainders to obtain x nk in a polynomial of x indicating any of the data. Means for calculating a remainder when the multiplied polynomial is divided by the remainder generating polynomial .

【0023】請求項7に係るデータ検査装置は、所定の
(n−k)次のxの剰余生成多項式にて、(n−k)/
2ビット単位のデータを複数連続してなるデータの一部
を示すxの多項式にxn-k を乗算した多項式を割った際
の(n−k)ビットの剰余を順次求め、求めた剰余に応
じて、前記連続してなるデータに誤りがあるか否かを検
査するCRCに基づくデータ検査装置において、前記
続してなるデータの中の(n−k)/2ビットのデータ
と前記連続してなるデータの中で該(n−k)/2ビッ
トのデータに先行隣接する(n−k)/2ビットのデー
タに関する(n−k)ビットの剰余の上位(n−k)/
2ビットとの排他的論理和を求める第1演算手段と、そ
の排他的論理和結果を示すxの多項式にxn-k を乗算し
た多項式を前記剰余生成多項式で割った際の剰余を求め
る第2演算手段と、前記先行隣接する(n−k)/2ビ
ットのデータに関する前記(n−k)ビットの剰余の下
位(n−k)/2ビットを示すxの多項式にx(n-k)/2
を乗算した多項式と前記第2演算手段にて求めた剰余を
示すxの多項式との排他的論理和を求める第3演算手段
とを備え、前記第1,第2及び第3演算手段における演
算処理を繰り返すようにしたことを特徴とする。
According to a seventh aspect of the present invention, there is provided a data inspection apparatus, wherein a predetermined (n−k) -th order remainder generation polynomial of x is (nk) /
Sequentially obtains a 2-bit unit of data a plurality continuously such the x of a portion of Lud over data polynomial when divided by a polynomial obtained by multiplying the x nk (nk) bits remainder, calculated remainder a data inspection apparatus according to the CRC to check whether there is an error, the data formed by the succession depending on the communication
Continued to become the data in (n-k) / 2 bits of data and the said in continuous comprising data (n-k) / preceding adjacent to 2-bit data (n-k) / 2 (N−k) bits of upper (nk) /
First operation means for obtaining an exclusive OR with two bits, and second operation for obtaining a remainder when a polynomial obtained by multiplying a polynomial of x indicating the exclusive OR result by xnk is divided by the remainder generation polynomial Means and x (nk) / 2 in a polynomial of x indicating the lower (nk) / 2 bits of the remainder of the (nk) bits with respect to the preceding adjacent (nk) / 2 bits of data.
And a third operation means for obtaining an exclusive-OR of a polynomial multiplied by x and a polynomial of x indicating the remainder obtained by the second operation means , wherein the first, second and third operation means Is repeated.

【0024】請求項に係るデータ検査装置は、請求項
において、前記第2演算手段にて剰余を求める際に、
請求項1〜の何れかに記載の剰余を求める方法を適用
するようにしたことを特徴とする。
[0024] The data inspection apparatus according to claim 8 can be configured as follows.
In 7 , the second arithmetic means calculates the remainder,
The method for determining a remainder according to any one of claims 1 to 3 is applied.

【0025】請求項に係る記録媒体は、所定の(n−
k)次のxの剰余生成多項式にて、kビットのデータを
示すxの多項式にxn-k を乗算した多項式を割った際の
剰余に応じて、前記データに誤りがあるか否かをCRC
に基づいて検査するためのプログラムを記録してあるコ
ンピュータでの読み取り可能な記録媒体において、k種
類の前記各データを示すxの各多項式にxn-k を乗算し
た各多項式を前記剰余生成多項式で割った際のk個の剰
余を記憶しておくことを前記コンピュータにさせるプロ
グラムコード手段と、該k個の剰余の中の複数の剰余に
排他的論理和演算を施して、任意の前記データを示すx
の多項式にxn-k を乗算した多項式を前記剰余生成多項
式で割った際の剰余を求めることを前記コンピュータに
させるプログラムコード手段とを有することを特徴とす
According to a ninth aspect of the present invention , there is provided a recording medium having a predetermined (n-
k) In the next remainder generation polynomial of x, according to a remainder obtained by dividing a polynomial obtained by multiplying x nk by a polynomial of x indicating k-bit data, a CRC is used to determine whether or not the data has an error.
In a computer-readable recording medium on which a program for testing based on is recorded, a polynomial obtained by multiplying each polynomial of x indicating k kinds of data by x nk is divided by the remainder generating polynomial. A program code means for causing the computer to store k remainders at the time of execution, and performing an exclusive OR operation on a plurality of remainders in the k remainders to indicate any of the data. x
And a program code means for causing the computer to determine a remainder when a polynomial obtained by multiplying the polynomial by xnk with the remainder generation polynomial is obtained .

【0026】請求項10に係る記録媒体は、所定の(n−
k)次のxの剰余生成多項式にて、(n−k)/2ビッ
ト単位のデータを複数連続してなるデータの一部を示す
xの多項式にxn-k を乗算した多項式を割った際の(n
−k)ビットの剰余を順次求め、求めた剰余に応じて、
前記連続してなるデータに誤りがあるか否かをCRCに
基づいて検査するためのプログラムを記録してあるコン
ピュータでの読み取り可能な記録媒体において、前記
続してなるデータの中の(n−k)/2ビットのデータ
と前記連続してなるデータの中で該(n−k)/2ビッ
トのデータに先行隣接する(n−k)/2ビットのデー
タに関する(n−k)ビットの剰余の上位(n−k)/
2ビットとの排他的論理和を求めることを前記コンピュ
ータにさせる第1プログラムコード手段と、その排他的
論理和結果を示すxの多項式にxn-k を乗算した多項式
を前記剰余生成多項式で割った際の剰余を求めることを
前記コンピュータにさせる第2プログラムコード手段
と、前記先行隣接する(n−k)/2ビットのデータに
関する前記(n−k)ビットの剰余の下位(n−k)/
2ビットを示すxの多項式にx(n-k)/2 を乗算した多項
式と前記第2プログラムコード手段による処理にて求め
た剰余を示すxの多項式との排他的論理和を求めること
を前記コンピュータにさせる第3プログラムコード手段
と、前記第1,第2及び第3プログラムコード手段によ
る処理を繰り返すことを前記コンピュータにさせる第4
プログラムコード手段とを有することを特徴とする。
According to a tenth aspect of the present invention, there is provided a recording medium having a predetermined (n-
At remainder generator polynomial k) the next x, divided by the polynomial obtained by multiplying the x nk to polynomial in x of a portion of the (nk) / 2 bits Lud over data, such a plurality consecutive data units (N
−k) The remainder of bits is sequentially obtained, and according to the obtained remainder,
In-readable recording medium in are recorded computer programs for inspection to the basis whether the there is an error in continuously formed by data in CRC, the communication
Continued to become the data in (n-k) / 2 bits of data and the said in continuous comprising data (n-k) / preceding adjacent to 2-bit data (n-k) / 2 (N−k) bits of upper (nk) /
A first program code means for causing the computer to calculate an exclusive OR with two bits, and a polynomial obtained by multiplying a polynomial of x indicating the exclusive OR result by xnk by the remainder generating polynomial. A second program code means for causing the computer to determine the remainder of (k), and the lower (nk) / (k) of the remainder of the (nk) bits with respect to the preceding adjacent (nk) / 2 bits of data.
The computer obtains an exclusive OR of a polynomial obtained by multiplying a polynomial of x representing 2 bits by x (nk) / 2 and a polynomial of x representing the remainder obtained by the processing by the second program code means. A third program code means for causing the computer to repeat the processing by the first, second, and third program code means.
Program code means.

【0027】請求項11に係る記録媒体は、請求項10にお
いて、前記第2プログラムコード手段による処理にて剰
余を求める際に、請求項1〜の何れかに記載の剰余を
求める方法を適用することを前記コンピュータにさせる
プログラムコード手段を更に有することを特徴とする。
The recording medium according to claim 11 is the recording medium according to claim 10 , wherein the method according to any one of claims 1 to 3 is applied when the remainder is determined by the processing by the second program code means. The program further comprises program code means for causing the computer to perform the operation.

【0028】請求項1〜3,5,6,8、9及び11によ
る第1発明では、データの1単位がkビットで一定であ
る場合、2k 種類の全データの中のk種類のデータに対
応する多項式を剰余生成多項式で割り算した際のk個の
剰余を求めておき、検査対象となる任意のkビットのデ
ータに応じてそのk個の剰余から複数の剰余を選択し、
任意のkビットの各データに対応する多項式を剰余生成
多項式で割り算した際の剰余を、選択した複数の剰余の
排他的論理和演算にて求める。よって、第2従来方法に
比べてはるかに少ないデータ量のテーブルを準備してお
くだけで、第1従来方法に比べて計算負荷が極めて小さ
くて実行速度が速くなる。
[0028] In the first invention according to claim 1 3,5,6,8,9 and 11, when one unit of data is constant k bits, 2 k kinds k types among all data of the data K is obtained by dividing the polynomial corresponding to by the remainder generation polynomial, and a plurality of residues are selected from the k residues according to arbitrary k-bit data to be inspected,
The remainder when the polynomial corresponding to each k-bit data is divided by the remainder generating polynomial is obtained by an exclusive OR operation of the selected plurality of remainders. Therefore, only by preparing a table having a data amount much smaller than that of the second conventional method, the calculation load is extremely small and the execution speed is faster than that of the first conventional method.

【0029】請求項4,7及び10による第2発明では、
このようにして新しい剰余を求めることができ、従来に
比して計算負荷が極めて小さくて実行速度が速くなる。
In the second invention according to claims 4, 7 and 10 ,
In this way, a new remainder can be obtained, and the calculation load is extremely small and the execution speed is increased as compared with the conventional case.

【0030】[0030]

【発明の実施の形態】以下、本発明をその実施の形態を
示す図面を参照して具体的に説明する。CRCの代表的
なものとして、n−k=16とする16ビットCRCが良く
利用されている。この16ビットCRCにおける剰余生成
多項式はG(x)=x16+x15+x2 +1であり、バー
スト誤り検出は最大16ビット長まで行える。また、誤り
のバーストが16ビットよりも大きい場合には99%の確率
で誤りを検出できることも証明されている。以下、この
16ビットCRCを用い、データの1単位が8ビット(k
=8)で一定である場合を例にして本発明を具体的に説
明する。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS The present invention will be specifically described below with reference to the drawings showing the embodiments. As a typical CRC, a 16-bit CRC with nk = 16 is often used. The remainder generation polynomial in this 16-bit CRC is G (x) = x 16 + x 15 + x 2 +1, and burst error detection can be performed up to a maximum length of 16 bits. It has also been proven that if the burst of errors is larger than 16 bits, the error can be detected with a 99% probability. Below, this
Using a 16-bit CRC, one unit of data is 8 bits (k
= 8), the present invention will be specifically described by taking the case where it is constant as an example.

【0031】16ビットCRCの場合、剰余生成多項式G
(x)=x16+x15+x2 +1であり、係数xn-k はn
−k=16であるのでx16となる。
In the case of a 16-bit CRC, the remainder generator polynomial G
(X) = x 16 + x 15 + x 2 +1 and the coefficient x nk is n
Because it is -k = 16 becomes x 16.

【0032】任意の8ビットデータ単位のデータ列M
(x)は、一般的に下記式(6)で表される。 M(x)=k7 ・x7 +k6 ・x6 +k5 ・x5 +k4 ・x4 +k3 ・x3 +k2 ・x2 +k1 ・x1 +k0 ・x0 …(6) (但し、ki =0または1)
Data string M in arbitrary 8-bit data units
(X) is generally represented by the following equation (6). M (x) = k 7 · x 7 + k 6 · x 6 + k 5 · x 5 + k 4 · x 4 + k 3 · x 3 + k 2 · x 2 + k 1 · x 1 + k 0 · x 0 ... (6) ( However, k i = 0 or 1)

【0033】従って、このデータ列に対応する、被除数
となる多項式は、下記式(7)のようになる。 x16・M(x)=x16・(k7 ・x7 +k6 ・x6 +k5 ・x5 +k4 ・x4 +k3 ・x3 +k2 ・x2 +k1 ・x1 +k0 ・x0 ) =k7 ・x16・x7 +k6 ・x16・x6 +k5 ・x16・x5 +k4 ・x16・x4 +k3 ・x16・x3 +k2 ・x16・x2 +k1 ・x16・x1 +k0 ・x16・x0 …(7)
Therefore, the polynomial which is the dividend corresponding to this data string is as shown in the following equation (7). x 16 · M (x) = x 16 · (k 7 · x 7 + k 6 · x 6 + k 5 · x 5 + k 4 · x 4 + k 3 · x 3 + k 2 · x 2 + k 1 · x 1 + k 0 · x 0) = k 7 · x 16 · x 7 + k 6 · x 16 · x 6 + k 5 · x 16 · x 5 + k 4 · x 16 · x 4 + k 3 · x 16 · x 3 + k 2 · x 16 · x 2 + k 1 · x 16 · x 1 + k 0 · x 16 · x 0 (7)

【0034】ここで、x16・x7 =Q7 (x)・G
(x)+R7 (x),x16・x6 =Q6(x)・G
(x)+R6 (x),・・・,x16・x0 =Q0 (x)
・G(x)+R0 (x)と設定すると、上記式(7)は
下記式(8)のように変形できる。 x16・M(x)=k7 ・{Q7 (x)・G(x)+R7 (x)} +k6 ・{Q6 (x)・G(x)+R6 (x)} +・・・ +k0 ・{Q0 (x)・G(x)+R0 (x)} ={k7 ・Q7 (x)+k6 ・Q6 (x)+・・・ +k0 ・Q0 (x)}・G(x) +{k7 ・R7 (x)+k6 ・R6 (x)+・・・ +k0 ・R0 (x)} …(8)
Here, x 16 · x 7 = Q 7 (x) · G
(X) + R 7 (x), x 16 · x 6 = Q 6 (x) · G
(X) + R 6 (x),..., X 16 × x 0 = Q 0 (x)
When G (x) + R 0 (x) is set, the above equation (7) can be transformed into the following equation (8). x 16 · M (x) = k 7 · {Q 7 (x) · G (x) + R 7 (x)} + k 6 · {Q 6 (x) · G (x) + R 6 (x)} + · ·· + k 0 · {Q 0 (x) · G (x) + R 0 (x)} = {k 7 · Q 7 (x) + k 6 · Q 6 (x) + ··· + k 0 · Q 0 ( x)} · G (x) + {k 7 · R 7 (x) + k 6 · R 6 (x) +... + k 0 · R 0 (x)} (8)

【0035】よって、上記式(6)で示される任意の8
ビットデータ単位のデータ列M(x)に対応する多項式
を剰余生成多項式G(x)で割った場合の剰余は、下記
式(9)で表される。 k7 ・R7 (x)+k6 ・R6 (x)+k5 ・R5 (x) +k4 ・R4 (x)+k3 ・R3 (x)+k2 ・R2 (x) +k1 ・R1 (x)+k0 ・R0 (x) …(9)
Therefore, the arbitrary 8 shown in the above formula (6)
The remainder when the polynomial corresponding to the data sequence M (x) in bit data units is divided by the remainder generating polynomial G (x) is expressed by the following equation (9). k 7 · R 7 (x) + k 6 · R 6 (x) + k 5 · R 5 (x) + k 4 · R 4 (x) + k 3 · R 3 (x) + k 2 · R 2 (x) + k 1 · R 1 (x) + k 0 · R 0 (x) ... (9)

【0036】この式(9)におけるR7 (x),R
6 (x),R5 (x),R4 (x),R 3 (x),R2
(x),R1 (x),R0 (x)は、それぞれ、x7
6 ,x 5 ,x4 ,x3 ,x2 ,x1 ,x0 に対応する
多項式を剰余生成多項式G(x)で割った剰余である。
よって、1単位のデータが一定の8ビットで構成されて
いる場合、データ“10000000”,“01000000”,“0010
0000”,“00010000”,“00001000”,“00000100”,
“00000010”,“00000001”に対応する多項式を剰余生
成多項式G(x)で除算し、その剰余をそれぞれ、R7
(x),R6 (x),R5 (x),R4 (x),R
3 (x),R2 (x),R1 (x),R0 (x)とした
場合には、これらの8種類の剰余の組み合わせによっ
て、任意の1単位8ビットのデータにおける剰余(検査
ビット)を求めることができる。
In the equation (9), R7(X), R
6(X), RFive(X), RFour(X), R Three(X), RTwo
(X), R1(X), R0(X) is x7,
x6, X Five, XFour, XThree, XTwo, X1, X0Corresponding to
This is the remainder obtained by dividing the polynomial by the remainder generating polynomial G (x).
Therefore, one unit of data is composed of a constant 8 bits.
Data, “10000000”, “01000000”, “0010
0000 "," 00010000 "," 00001000 "," 00000100 ",
Polynomials corresponding to “00000010” and “00000001” are surplus
Divide by the polynomial G (x) and calculate the remainder by R7
(X), R6(X), RFive(X), RFour(X), R
Three(X), RTwo(X), R1(X), R0(X)
In some cases, the combination of these eight types of remainders
The remainder (check) in any unit of 8-bit data
Bit).

【0037】8ビット符号であって、剰余生成多項式G
(x)がx16+x15+x2 +1となる16ビットCRCの
場合の具体的なRi (x)(i=7,…,0)の値を以
下の表1に示す。
An 8-bit code, and the remainder generator polynomial G
Table 1 below shows specific values of R i (x) (i = 7,..., 0) when (x) is a 16-bit CRC in which x 16 + x 15 + x 2 +1.

【0038】[0038]

【表1】 [Table 1]

【0039】例えば、R5 (x)は“00100000”即ちx
5 の剰余を表しており、(x16・x 5 )÷(x16+x15
+x2 +1)の計算を以下のように行うことにより、R
5 (x)=x15+x7 +x6 +x+1となる。よって、
表1では、R5 (x)の列のx15,x7 ,x6 ,x1
1の各xj の位置に“1”が記載されている。
For example, RFive(X) is "00100000", that is, x
FiveRepresents the remainder of (x16・ X Five) ÷ (x16+ XFifteen
+ XTwo+1) is calculated as follows to obtain R
Five(X) = xFifteen+ X7+ X6+ X + 1. Therefore,
In Table 1, RFiveX in the column of (x)Fifteen, X7, X6, X1,
Each x of 1j"1" is described at the position of.

【0040】[0040]

【数2】 (Equation 2)

【0041】これらの8種類の剰余を用いて、任意の1
単位8ビットのデータに対応する多項式を剰余生成多項
式で除算した場合の剰余を求める例について説明する。
任意の8ビットのデータを例えば“01010001”とした場
合、それに対応する多項式x 16・(x6 +x4 +1)を
16+x15+x2 +1で実際に除算した場合の剰余は、
以下のように“1000000111100101”となる。
Using these eight types of remainders, an arbitrary 1
Polynomials corresponding to 8-bit data are generated as remainder generation polynomials
An example will be described in which the remainder when dividing by an expression is obtained.
If any 8-bit data is set to “01010001”, for example,
The corresponding polynomial x 16・ (X6+ XFour+1)
x16+ XFifteen+ XTwoThe remainder when actually dividing by +1 is
It becomes “1000000111100101” as follows.

【0042】[0042]

【数3】 (Equation 3)

【0043】ところで、この8ビットのデータ“010100
01”の有効ビットは、x6 ,x4 ,x0 であり、それぞ
れに対応する、上記表1に示される剰余R6 (x),R
4 (x),R0 (x)を以下のようにmod 2加算するこ
とによって、同じ剰余結果“1000000111100101”を得る
ことができる。
The 8-bit data "010100"
01 "are x 6 , x 4 , and x 0 , and the corresponding bits are the remainders R 6 (x), R 6 shown in Table 1 above.
The same remainder result “1000000111100101” can be obtained by adding mod 2 to 4 (x) and R 0 (x) as follows.

【0044】[0044]

【数4】 (Equation 4)

【0045】よって、任意の8ビットのデータの各単位
の“1”である位置に対応する複数のRi (x)のmod
2加算によって、その8ビットのデータに対応する多項
式を剰余生成多項式で除算した場合の剰余を求めること
ができる。
Therefore, the mod of a plurality of R i (x) corresponding to the position of “1” in each unit of arbitrary 8-bit data
By 2 addition, a remainder can be obtained when the polynomial corresponding to the 8-bit data is divided by the remainder generating polynomial.

【0046】上記表1の下段には、8ビットのデータに
対する16ビットCRCの剰余の多項式表現を示してい
る。このより一般化した表記に、上述の8ビットのデー
タ“01010001”をあてはめた場合、k7 =0,k6
1,k5 =0,k4 =1,k3 =0,k2 =0,k1
0,k0 =1であるので、以下のようにこれらの
“0”,“1”の値を代入してmod 2加算することによ
って、同じ剰余結果“1000000111100101”を得ることが
できる。
The lower part of Table 1 shows a polynomial expression of the remainder of a 16-bit CRC for 8-bit data. When the above-mentioned 8-bit data “01010001” is applied to the more generalized notation, k 7 = 0 and k 6 =
1, k 5 = 0, k 4 = 1, k 3 = 0, k 2 = 0, k 1 =
Since 0 and k 0 = 1, the same remainder result “1000000111100101” can be obtained by substituting these “0” and “1” values and adding mod 2 as follows.

【0047】[0047]

【数5】 (Equation 5)

【0048】このように、8ビットのデータからこの剰
余多項式を導くことを以降の説明で「組合せ除算」とい
う。
Deriving this remainder polynomial from 8-bit data in this manner is referred to as "combination division" in the following description.

【0049】以上のように、8ビットのデータの中の8
種類のデータ“10000000”,“01000000”,“0010000
0”,“00010000”,“00001000”,“00000100”,“0
0000010”,“00000001”における8個の剰余をテーブ
ルとしてメモリに格納しておくだけで、そのテーブル値
を参照して、8ビットの28 種類全てのデータにおける
剰余を容易に求めることができる。
As described above, 8 bits of 8-bit data
Type data “10000000”, “01000000”, “0010000”
0 "," 00010000 "," 00001000 "," 00000100 "," 0
0000010 "," only and stored in the memory to eight remainder as a table in 00000001 ", by referring to the table value, it is possible to easily obtain the remainder of the 8-bit 2 all eight data.

【0050】次に、このような組合せ除算を利用して、
連続する2単位のデータにおける剰余演算を行う例につ
いて説明する。
Next, using such combination division,
An example of performing a remainder operation on two consecutive data units will be described.

【0051】図1は、データ誤りをCRCにより検査す
る検査装置10の機能ブロック図である。検査装置10は、
検査対象の例えばメモリカード1から記録データを読み
出す読出部11と、CRCにより検査結果をメモリカード
1に書き込む書込部12と、CRCの検査プログラムを格
納するROM13と、CRC検査の種々の計算を行う計算
部14と、CRC検査時の計算中間値などを記憶するRA
M15と、これらの各部を制御するCPU16とを有する。
なお、RAM15は、予め計算しておいて上述したような
8種類の剰余を表す剰余テーブル15a を格納している。
FIG. 1 is a functional block diagram of an inspection apparatus 10 for inspecting a data error by CRC. The inspection device 10
A reading unit 11 for reading recorded data from the memory card 1 to be inspected, a writing unit 12 for writing an inspection result to the memory card 1 by CRC, a ROM 13 for storing a CRC inspection program, and various calculations for CRC inspection. Calculation unit 14 for performing calculation and an RA for storing an intermediate value calculated at the time of the CRC check.
M15 and a CPU 16 for controlling these components.
The RAM 15 stores a remainder table 15a calculated in advance and representing the eight types of remainders as described above.

【0052】ある8ビットのデータについて考えると、
このデータより以前のデータ列に対する剰余(つまり16
ビットの検査ビット)が加算されて被検査データが形成
されるので、その剰余を含めたものを被除数として除算
しなければならない。
Considering a certain 8-bit data,
The remainder (ie, 16
The data to be inspected is formed by adding the check bits of the bits, and the data including the remainder must be divided as the dividend.

【0053】1つ前までのデータ列,商,剰余をそれぞ
れM′(x),Q′(x),R′(x)とすると、下記
式(10)が成り立つ。 x16・M′(x)=Q′(x)・G(x)+R′(x) …(10)
Assuming that the preceding data string, quotient, and remainder are M '(x), Q' (x), and R '(x), the following equation (10) holds. x 16 · M ′ (x) = Q ′ (x) · G (x) + R ′ (x) (10)

【0054】よって、これに新しいデータD(x)を加
えたデータ列M(x)について、下記式(11)が成り立
つ。 x16・M(x)=x16・{x8 ・M′(x)+D(x)} =x8 ・x16・M′(x)+x16・D(x) =x8 ・Q′(x)・G(x)+x8 ・R′(x) +x16・D(x) …(11)
Therefore, the following equation (11) holds for a data string M (x) obtained by adding new data D (x) to the data string M (x). x 16 · M (x) = x 16 · {x 8 · M '(x) + D (x)} = x 8 · x 16 · M' (x) + x 16 · D (x) = x 8 · Q ' (X) · G (x) + x 8 · R ′ (x) + x 16 · D (x) (11)

【0055】ここで、R′(x)を上位8ビットのR′
up(x)と下位8ビットのR′lo(x)とに分けると、
R′(x)は下記式(12)のように表され、これを用い
て式(11)を書き換えると下記式(13)のようになる。 R′(x)=x8 ・R′up(x)+R′lo(x) …(12) x16・M(x)=x8 ・Q′(x)・G(x)+x16・R′up(x) +x8 ・R′lo(x)+x16・D(x) =x8 ・Q′(x)・G(x) +x16・{R′up(x)+D(x)} +x8 ・R′lo(x) …(13)
Here, R '(x) is replaced with R' of the upper 8 bits.
Up (x) and lower 8 bits R ' lo (x)
R ′ (x) is represented by the following equation (12), and using this to rewrite equation (11) gives the following equation (13). R '(x) = x 8 · R' up (x) + R 'lo (x) ... (12) x 16 · M (x) = x 8 · Q' (x) · G (x) + x 16 · R 'up (x) + x 8 · R' lo (x) + x 16 · D (x) = x 8 · Q '(x) · G (x) + x 16 · {R' up (x) + D (x)} + X 8 · R ' lo (x) ... (13)

【0056】式(13)において、x16・{R′up(x)
+D(x)}の項は次数がx16より大きいので剰余生成
多項式G(x)で割ることができる。このときの商,剰
余をそれぞれQ″(x),R″(x)とすると、下記式
(14)が成り立つ。 x16・{R′up(x)+D(x)} =Q″(x)・G(x)+R″(x) …(14)
In the equation (13), x 16 · {R ' up (x)
Since + term D (x)} is greater than x 16 degree can be divided by the remainder generator polynomial G (x). Assuming that the quotient and the remainder at this time are Q ″ (x) and R ″ (x), the following equation (14) holds. x 16 · {R ′ up (x) + D (x)} = Q ″ (x) · G (x) + R ″ (x) (14)

【0057】この式(14)の関係を用いて、式(13)を
書き換えると下記式(15)のようになる。 x16・M(x)=x8 ・Q′(x)・G(x)+Q″(x)・G(x) +R″(x)+x8 ・R′lo(x) ={x8 ・Q′(x)+Q″(x)}・G(x) +R″(x)+x8 ・R′lo(x) …(15) 式(15)における第1項{x8 ・Q′(x)+Q″
(x)}・G(x)はG(x)で割り切れるので、x16
・M(x)をG(x)で割った場合の剰余はR″(x)
+x8 ・R′lo(x)になっていることが判る。
By rewriting equation (13) using the relation of equation (14), the following equation (15) is obtained. x 16 · M (x) = x 8 · Q '(x) · G (x) + Q "(x) · G (x) + R" (x) + x 8 · R' lo (x) = {x 8 · Q ′ (x) + Q ″ (x)} · G (x) + R ″ (x) + x 8 · R ′ lo (x) (15) The first term {x 8 · Q ′ (x) in equation (15) ) + Q ″
Since (x)} · G (x) is divisible by G (x), x 16
The remainder when M (x) is divided by G (x) is R ″ (x)
+ X 8 · R ' lo (x).

【0058】よって、以上のことをまとめると、次のよ
うなステップを行うことにより、新しいデータD(x)
を加えた場合の新しい剰余を得ることができる。 (ステップ1):新しいデータD(x)と1つ前の剰余
の上位8ビットR′up(x)とをmod 2加算する。 (ステップ2):その加算結果を被除数とする16ビット
CRCでの剰余R″(x)を求める。 (ステップ3):求めたR″(x)と、1つ前の剰余の
下位8ビットR′lo(x)をx8 した値とをmod 2加算
し、その加算結果(R″(x)+x8 ・R′lo(x))
を新しい剰余とする。
Therefore, to summarize the above, by performing the following steps, new data D (x)
To obtain a new remainder. (Step 1): mod 2 is added to the new data D (x) and the upper 8 bits R ′ up (x) of the previous residue. (Step 2): A residue R ″ (x) in a 16-bit CRC using the addition result as a dividend is calculated. (Step 3): The calculated R ″ (x) and the lower 8 bits R of the immediately preceding residue. ' Lo (x) by x 8 and mod 2 addition, and the addition result (R ″ (x) + x 8 · R ′ lo (x))
Is the new remainder.

【0059】なお、このステップ2において、前述した
ような組合せ除算を利用する場合には、短時間で剰余
R″(x)を求めることができる。図2はこのステップ
1〜3の処理過程を表す説明図である。
If the above-described combination division is used in step 2, the remainder R ″ (x) can be obtained in a short time. FIG. FIG.

【0060】次に、連続する2単位のデータにおける剰
余演算の具体例について説明する。2つの連続するデー
タ“01010001”,“10010001”に対応する多項式(x16
・(x14+x12+x8 +x7 +x4 +1))を16ビット
CRC(G(x)=x16+x 15+x2 +1)で除算した
場合の剰余は、以下に示すような計算により、“011001
0101100011”となる。
Next, the remainder in two consecutive units of data
A specific example of the remainder operation will be described. Two consecutive days
Polynomial (x) corresponding to the data “01010001” and “10010001”16
・ (X14+ X12+ X8+ X7+ XFour+1)) is 16 bits
CRC (G (x) = x16+ X Fifteen+ XTwo+1)
The remainder in the case is calculated as “011001
0101100011 ".

【0061】[0061]

【数6】 (Equation 6)

【0062】この計算過程を破線の前後で見た場合、1
つ前までの剰余(R′(x)に相当)は“100001110010
1 ”であり、新しいデータ(D(x)に相当)は“0000
0000”である。よって、次数合わせをしてこの剰余を上
位8ビット(R′up(x)に相当)の“00010000”と下
位8ビット(R′lo(x)に相当)の“11100101”とに
分け、その上位8ビット“00010000”と新しいデータ
“00000000”とをmod 2加算した結果“00010000”を被
除数として剰余生成多項式G(x)で除算した場合の剰
余(R″(x)に相当)“1000000001100011”を求め
る。そして、この剰余“1000000001100011”に、1つ前
までの剰余の下位8ビット“11100101”を次数合わせし
たものをmod 2加算して最終剰余“0110010101100011”
を得る。このような計算過程を以下に示す。
When this calculation process is viewed before and after the broken line, 1
The previous residue (corresponding to R ′ (x)) is “100001110010
1 "and the new data (corresponding to D (x)) is" 0000
Therefore, the degree is adjusted, and the remainder is represented by the upper 8 bits (corresponding to R ' up (x)) of "00010000" and the lower 8 bits (corresponding to R' lo (x)) of "11100101". And modulo 2 of the upper eight bits “00010000” and the new data “00000000”. The remainder (R ″ (x) is obtained by dividing “00010000” by the remainder generating polynomial G (x) as a dividend. Equivalent) "1000000001100011" is calculated. Then, mod 2 is added to the remainder “1000000001100011” with the order of the lower 8 bits “11100101” of the previous residue set to mod 1, and the final remainder “0110010101100011” is added.
Get. Such a calculation process will be described below.

【0063】[0063]

【数7】 (Equation 7)

【0064】図3は、本発明の記録媒体の実施例の構成
を示すブロック図である。ここに例示するプログラム
は、新しいデータD(x)を入力するステップと、その
新しいデータD(x)と1つ前の剰余の上位8ビット
R′up(x)とをmod 2加算するステップと、その加算
結果を被除数とする16ビットCRCでの剰余R″(x)
を求めるステップと、求めたR″(x)と、1つ前の剰
余の下位8ビットR′lo(x)をx8 した値とをmod 2
加算するステップと、その加算結果(R″(x)+x8
・R′lo(x))を新しい剰余とし出力するステップと
を含んでおり、以下に説明する記録媒体に記録されてい
る。
FIG. 3 is a block diagram showing the configuration of an embodiment of the recording medium of the present invention. The program exemplified here includes a step of inputting new data D (x), a step of mod 2 adding the new data D (x) and the upper 8 bits R ′ up (x) of the previous residue. , The remainder R ″ (x) in a 16-bit CRC using the result of addition as a dividend
And a value obtained by modulating the obtained R ″ (x) and the value obtained by x 8 of the lower 8 bits R ′ lo (x) of the previous remainder is mod 2
Step of addition and the result of addition (R ″ (x) + x 8
And outputting R ′ lo (x)) as a new remainder, which is recorded on a recording medium described below.

【0065】図3において、コンピュータ20とオンライ
ン接続する記録媒体21は、コンピュータ20の設置場所か
ら隔たって設置される例えばWWW(World Wide Web)の
サーバコンピュータを用いてなり、記録媒体21には前述
の如きプログラム21a が記録されている。記録媒体21か
ら読み出されたプログラム21a がコンピュータ20を制御
することにより、コンピュータ20がCRCにおける剰余
を演算する。
In FIG. 3, a recording medium 21 that is connected online to the computer 20 is, for example, a WWW (World Wide Web) server computer that is installed separately from a place where the computer 20 is installed. The program 21a is recorded as follows. The program 20a read from the recording medium 21 controls the computer 20 so that the computer 20 calculates the remainder in the CRC.

【0066】コンピュータ20の内部に設けられた記録媒
体22は、内蔵設置される例えばハードディスクドライブ
またはROMなどを用いてなり、記録媒体22には前述の
如きプログラム22a が記録されている。記録媒体22から
読み出されたプログラム22aがコンピュータ20を制御す
ることにより、コンピュータ20がCRCにおける剰余を
演算する。
The recording medium 22 provided inside the computer 20 uses, for example, a hard disk drive or a ROM installed therein. The recording medium 22 stores the program 22a as described above. When the program 22a read from the recording medium 22 controls the computer 20, the computer 20 calculates the remainder in the CRC.

【0067】コンピュータ20に設けられたディスクドラ
イブ20a に装填して使用される記録媒体23は、運搬可能
な例えば光磁気ディスク,CD−ROMまたはフレキシ
ブルディスクなどを用いてなり、記録媒体23には前述の
如きプログラム23a が記録されている。記録媒体23から
読み出されたプログラム23a がコンピュータ20を制御す
ることにより、コンピュータ20がCRCにおける剰余を
演算する。
The recording medium 23 loaded and used in the disk drive 20a provided in the computer 20 is a transportable medium such as a magneto-optical disk, a CD-ROM or a flexible disk. The program 23a is recorded as follows. By controlling the computer 20 by the program 23a read from the recording medium 23, the computer 20 calculates the remainder in the CRC.

【0068】なお、上述した例では、1単位を8ビッ
ト、剰余を16ビットとしたが、これに限らず、剰余が1
単位の2倍であれば、同様に行えることは勿論である。
In the above example, one unit is 8 bits and the remainder is 16 bits. However, the present invention is not limited to this.
Of course, if it is twice the unit, the same can be done.

【0069】また、メモリカード内のデータの誤りを検
査する場合について説明したが、フラッシュメモリなど
の他の記録媒体のデータ誤り検査、シリアル通信におけ
るデータ誤り検査にも本発明を適用できることは言うま
でもない。
Although the description has been given of the case where the data error in the memory card is checked, it goes without saying that the present invention can be applied to the data error check of another recording medium such as a flash memory and the data error check in serial communication. .

【0070】[0070]

【発明の効果】以上のように、本発明では、k種類のデ
ータに対する剰余を表すテーブルを準備しておけば、2
k 種類の全データに対する剰余を容易に求めることがで
き、少ないデータ量のテーブルを用いるだけで簡単に剰
余を求められ、CRCにおける計算負荷の低減に寄与で
きる。
As described above, according to the present invention, if a table representing the remainder for k kinds of data is prepared, 2
The remainder for all the k types of data can be easily obtained, and the remainder can be easily obtained only by using a table with a small amount of data, which can contribute to a reduction in calculation load in CRC.

【0071】また、連続する2単位のデータに対する剰
余を極めて容易に求めることができ、CRCにおける計
算負荷が極めて小さくて、CRCに基づくデータ検査の
実行速度を速くできる。
Further, the remainder for two consecutive data units can be obtained very easily, the calculation load on the CRC is extremely small, and the execution speed of the data inspection based on the CRC can be increased.

【0072】このように本発明では、CRCにおける計
算負荷を低減できるので、計算負荷の大きいことが原因
でCRCが適用されていなかったメモリカード,フラッ
シュメモリなどの記録媒体へのCRCの適用を促進する
ことが可能となる。
As described above, according to the present invention, the calculation load on the CRC can be reduced. Therefore, the application of the CRC to a recording medium, such as a memory card or a flash memory, to which the CRC has not been applied due to a large calculation load, is promoted. It is possible to do.

【図面の簡単な説明】[Brief description of the drawings]

【図1】データ誤りをCRCにより検査する検査装置の
機能ブロック図である。
FIG. 1 is a functional block diagram of an inspection device that inspects a data error by a CRC.

【図2】連続する2単位のデータに対する新しい剰余を
求める処理過程を表す説明図である。
FIG. 2 is an explanatory diagram showing a process of obtaining a new remainder for two consecutive units of data.

【図3】記録媒体の実施例の構成を示すブロック図であ
る。
FIG. 3 is a block diagram illustrating a configuration of an embodiment of a recording medium.

【符号の説明】[Explanation of symbols]

10 検査装置 14 計算部 15a 剰余テーブル 16 CPU 20 コンピュータ 21,22,23 記録媒体 10 Inspection device 14 Calculator 15a Remainder table 16 CPU 20 Computer 21, 22, 23 Recording medium

Claims (11)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 所定の(n−k)次のxの剰余生成多項
式にて、kビットのデータを示すxの多項式にxn-k
乗算した多項式を割った際の剰余に応じて前記データに
誤りがあるか否かを検査するCRCに基づくデータ検査
方法において、k種類の前記各データを示すxの各多項
式にxn-k を乗算した各多項式を前記剰余生成多項式で
割った際のk個の剰余を記憶しておき、該k個の剰余の
中の複数の剰余に排他的論理和演算を施して、任意の前
記データを示すxの多項式にxn-k を乗算した多項式を
前記剰余生成多項式で割った際の剰余を求めることを特
徴とするデータ検査方法。
In a predetermined (n−k) -th order remainder generation polynomial of x, a polynomial obtained by multiplying a polynomial obtained by multiplying a polynomial of x representing k-bit data by x nk is divided into the data according to the remainder. In a data checking method based on CRC for checking whether or not there is an error, k polynomials obtained by multiplying each polynomial of x indicating each of k kinds of data by x nk by the remainder generation polynomial are k number of times. The remainder is stored, a plurality of remainders among the k remainders are subjected to an exclusive OR operation, and a polynomial obtained by multiplying a polynomial of x indicating any data by x nk is represented by the remainder generation polynomial. A data inspection method characterized by obtaining a remainder when divided.
【請求項2】 前記k種類の前記データは、第j桁目
(j=1,2,…,k)の数が1であり、他の桁の数が
すべて0であるk種類のデータである請求項1記載のデ
ータ検査方法。
2. The k kinds of data are k kinds of data in which the number of the j-th digit (j = 1, 2,..., K) is 1 and the numbers of other digits are all 0. The data inspection method according to claim 1.
【請求項3】 k=8であり、8種類の前記データが、
“10000000”,“01000000”,“00100000”,“000100
00”,“00001000”,“00000100”,“00000010”,
“00000001”である請求項2記載のデータ検査方法。
3. k = 8, and the eight kinds of data are:
“10000000”, “01000000”, “00100000”, “000100
00 "," 00001000 "," 00000100 "," 00000010 ",
3. The data inspection method according to claim 2, wherein the value is "00000001".
【請求項4】 所定の(n−k)次のxの剰余生成多項
式にて、(n−k)/2ビット単位のデータを複数連続
してなるデータの一部を示すxの多項式にxn-k を乗算
した多項式を割った際の(n−k)ビットの剰余を順次
求め、求めた剰余に応じて、前記連続してなるデータに
誤りがあるか否かを検査するCRCに基づくデータ検査
方法において、前記連続してなるデータの中の(n−
k)/2ビットのデータと前記連続してなるデータの中
で該(n−k)/2ビットのデータに先行隣接する(n
−k)/2ビットのデータに関する(n−k)ビットの
剰余の上位(n−k)/2ビットとの排他的論理和を求
める第1ステップと、その排他的論理和結果を示すxの
多項式にxn-k を乗算した多項式を前記剰余生成多項式
で割った際の剰余を求める第2ステップと、前記先行隣
接する(n−k)/2ビットのデータに関する前記(n
−k)ビットの剰余の下位(n−k)/2ビットを示す
xの多項式にx(n-k)/2 を乗算した多項式と前記第2ス
テップで求めた剰余を示すxの多項式との排他的論理和
を求める第3ステップとを有し、前記第1,第2及び第
3ステップを繰り返すことを特徴とするデータ検査方
法。
At 4. The predetermined (n-k) modulo the generator polynomial for the next x, of x of a portion of the (n-k) / 2 bits Lud over data, such a plurality consecutive data units A residue of (n−k) bits when a polynomial multiplied by x nk is divided is sequentially calculated, and according to the determined remainder, a CRC for checking whether or not the continuous data has an error is determined. a data inspection methods based, in the data formed by the succession (n-
(k) / 2-bit data and (n−k) / 2-bit data preceding and preceding (n−k) / 2-bit data in the continuous data.
-K) A first step of calculating an exclusive OR with the upper (n−k) / 2 bits of the remainder of the (n−k) bits of the data of 2 bits, and x of x indicating the exclusive OR result thereof A second step of obtaining a remainder when a polynomial obtained by multiplying the polynomial by xnk is divided by the remainder generating polynomial; and (n) regarding the preceding adjacent (nk) / 2-bit data.
-K) Exclusive use of a polynomial in which a polynomial in x representing the lower ( nk) / 2 bits of the remainder of bits is multiplied by x (nk) / 2 and a polynomial in x representing the remainder obtained in the second step A third step of obtaining a logical sum, and repeating the first, second, and third steps.
【請求項5】 前記第2ステップにて剰余を求める際
に、請求項1〜3の何れかに記載の剰余を求める方法を
適用する請求項4記載のデータ検査方法。
5. A method for determining a remainder in the second step.
A method for determining a remainder according to any one of claims 1 to 3
The data inspection method according to claim 4, which is applied .
【請求項6】 所定の(n−k)次のxの剰余生成多項
式にて、kビットのデータを示すxの多項式にx n-k
乗算した多項式を割った際の剰余に応じて前記データに
誤りがあるか否かを検査するCRCに基づくデータ検査
装置において、k種類の前記各データを示すxの各多項
式にx n-k を乗算した各多項式を前記剰余生成多項式で
割った際のk個の剰余を記憶する記憶手段と、該k個の
剰余の中の複数の剰余に排他的論理和演算を施して、任
意の前記データを示すxの多項式にx n-k を乗算した多
項式を前記剰余生成多項式で割った際の剰余を求める手
段とを備えることを特徴とするデータ検査装置
6. A remainder generating polynomial of a predetermined (nk) degree x
In the formula, x nk is added to a polynomial of x indicating k-bit data.
The data is multiplied according to the remainder when the polynomial is divided.
CRC based data inspection to check for errors
In the apparatus, each polynomial of x indicating k kinds of the respective data
Each polynomial obtained by multiplying the expression by x nk is represented by the remainder generator polynomial.
Storage means for storing k remainders when divided,
Performs exclusive OR operation on multiple remainders in the remainder, and
Multiplied by x nk to a polynomial in x indicating the desired data
A method for calculating the remainder when the term is divided by the remainder generator polynomial
A data inspection device comprising: a step ;
【請求項7】 所定の(n−k)次のxの剰余生成多項
式にて、(n−k)/2ビット単位のデータを複数連続
してなるデータの一部を示すxの多項式にxn-k を乗算
した多項式を割った際の(n−k)ビットの剰余を順次
求め、求めた剰余に応じて、前記連続してなるデータに
誤りがあるか否かを検査するCRCに基づくデータ検査
装置において、前記連続してなるデータの中の(n−
k)/2ビットのデータと前記連続してなるデータの中
で該(n−k)/2ビットのデータに先行隣接する(n
−k)/2ビットのデータに関する(n−k)ビットの
剰余の上位(n−k)/2ビットとの排他的論理和を求
める第1演算手段と、その排他的論理和結果を示すxの
多項式にxn-k を乗算した多項式を前記剰余生成多項式
で割った際の剰余を求める第2演算手段と、前記先行隣
接する(n−k)/2ビットのデータに関する前記(n
−k)ビットの剰余の下位(n−k)/2ビットを示す
xの多項式にx(n-k)/2 を乗算した多項式と前記第2演
算手段にて求めた剰余を示すxの多項式との排他的論理
和を求める第3演算手段とを備え、前記第1,第2及び
第3演算手段における演算処理を繰り返すようにしたこ
とを特徴とするデータ検査装置。
At 7. predetermined (n-k) modulo the generator polynomial for the next x, of x of a portion of the (n-k) / 2 bits Lud over data, such a plurality consecutive data units A residue of (n−k) bits when a polynomial multiplied by x nk is divided is sequentially calculated, and according to the determined remainder, a CRC for checking whether or not the continuous data has an error is determined. a data inspection apparatus according, in the data formed by the succession (n-
(k) / 2-bit data and (n−k) / 2-bit data preceding and preceding (n−k) / 2-bit data in the continuous data.
First arithmetic means for calculating the exclusive OR of the (k) / 2 bits of data with the higher (nk) / 2 bits of the remainder of the (nk) bits, and x indicating the exclusive OR result thereof Second arithmetic means for obtaining a remainder when a polynomial obtained by multiplying the polynomial of x by x nk is divided by the remainder generation polynomial, and the (n-k) / 2-bit data related to the preceding adjacent (n−k) / 2 bits
-K) a polynomial obtained by multiplying x (nk) / 2 by a polynomial in x indicating the lower ( nk) / 2 bits of the remainder of the bit, and the second function
Characterized in that a third arithmetic means for obtaining the exclusive OR of the polynomial of x indicating a remainder obtained by calculation means, and repeats the processing in the first, second and third arithmetic means Data inspection device.
【請求項8】 前記第2演算手段にて剰余を求める際
に、請求項1〜3の何れかに記載の剰余を求める方法を
適用するようにした請求項7記載のデータ検査装置。
8. The method according to claim 1, wherein the second computing means calculates a remainder.
A method for determining a remainder according to any one of claims 1 to 3
The data inspection device according to claim 7, wherein the data inspection device is applied.
【請求項9】 所定の(n−k)次のxの剰余生成多項
式にて、kビットのデータを示すxの多項式にx n-k
乗算した多項式を割った際の剰余に応じて、前記データ
に誤りがあるか否かをCRCに基づいて検査するための
プログラムを記録してあるコンピュータでの読み取り可
能な記録媒体において、k種類の前記各データを示すx
の各多項式にx n-k を乗算した各多項式を前記剰余生成
多項式で割った際のk個の剰余を記憶しておくことを前
記コンピュータにさせるプログラムコード手段と、該k
個の剰余の中の複数の剰余に排他的論理和演算を施し
て、任意の前記データを示すxの多項式にx n-k を乗算
した多項式を前記剰余生成多項式で割った際の剰余を求
めることを前記コンピュータにさせるプログラムコード
手段とを有することを特徴とする記録媒体
9. In a predetermined (n−k) -th order remainder generation polynomial of x, x nk is added to a polynomial of x representing k-bit data.
According to the remainder when dividing the multiplied polynomial, the data
To check if there is an error on the basis of the CRC
Readable on the computer where the program is recorded
X indicating each of the k types of data on a capable recording medium
Generating each polynomial obtained by multiplying each polynomial of x by x nk
Before storing k remainders when dividing by polynomial
Program code means for causing the computer;
Performs exclusive OR operation on multiple remainders among the remainders
Multiply x nk by any polynomial in x indicating the data
Is obtained by dividing the obtained polynomial by the remainder generating polynomial.
Program code for causing the computer to
Recording medium characterized by having a means.
【請求項10】 所定の(n−k)次のxの剰余生成多
項式にて、(n−k)/2ビット単位のデータを複数連
続してなるデータの一部を示すxの多項式にxn-k を乗
算した多項式を割った際の(n−k)ビットの剰余を順
次求め、求めた剰余に応じて、前記連続してなるデータ
に誤りがあるか否かをCRCに基づいて検査するための
プログラムを記録してあるコンピュータでの読み取り可
能な記録媒体において、前記連続してなるデータの中の
(n−k)/2ビットのデータと前記連続してなるデー
タの中で該(n−k)/2ビットのデータに先行隣接す
る(n−k)/2ビットのデータに関する(n−k)ビ
ットの剰余の上位(n−k)/2ビットとの排他的論理
和を求めることを前記コンピュータにさせる第1プログ
ラムコード手段と、その排他的論理和結果を示すxの多
項式にxn-k を乗算した多項式を前記剰余生成多項式で
割った際の剰余を求めることを前記コンピュータにさせ
る第2プログラムコード手段と、前記先行隣接する(n
−k)/2ビットのデータに関する前記(n−k)ビッ
トの剰余の下位(n−k)/2ビットを示すxの多項式
にx(n-k)/2 を乗算した多項式と前記第2プログラムコ
ード手段による処理にて求めた剰余を示すxの多項式と
の排他的論理和を求めることを前記コンピュータにさせ
る第3プログラムコード手段と、前記第1,第2及び第
3プログラムコード手段による処理を繰り返すことを前
記コンピュータにさせる第4プログラムコード手段とを
有することを特徴とする記録媒体。
At 10. predetermined (n-k) modulo the generator polynomial for the next x, of x of a portion of the (n-k) / 2 bits Lud over data, such a plurality consecutive data units A (n−k) -bit remainder obtained by dividing the polynomial by multiplying x nk by the polynomial is sequentially obtained, and according to the obtained remainder, whether or not there is an error in the continuous data is determined based on the CRC. in-readable recording medium on a computer that is recorded a program for inspecting, (n-k) in the data formed by the continuous / 2-bit data formed by said successive data <br/> And (n−k) / 2 bits of the remainder of the (nk) bits related to (n−k) / 2 bits that precede the (nk) / 2 bits in the data. First program code means for causing the computer to determine an exclusive OR; A second program code means for the determination of the remainder when divided by a polynomial obtained by multiplying the x nk polynomial of x indicating the result of exclusive OR operation with the remainder generating polynomial to said computer, said previous adjacent (n
-K) / 2 multiplied by x (nk) / 2 to a polynomial of x indicating the lower (nk) / 2 bits of the remainder of (nk) bits for the 2-bit data, and the second program code
Third program code means for causing the computer to calculate an exclusive OR with a polynomial of x indicating the remainder obtained by the processing by the processing means, and processing by the first, second and third program code means And a fourth program code means for causing the computer to repeat the above.
【請求項11】 前記第2プログラムコード手段による
処理にて剰余を求め る際に、請求項1〜3の何れかに記
載の剰余を求める方法を適用することを前記コンピュー
タにさせるプログラムコード手段を更に有する請求項1
0記載の記録媒体。
11. The apparatus according to claim 2, wherein
When asking you to remainder in the process, the serial to claim 1
Applying the method of determining the remainder of the
2. The method according to claim 1, further comprising:
0 recording medium.
JP35807798A 1998-12-16 1998-12-16 Data inspection method and apparatus, and recording medium Expired - Fee Related JP3255130B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP35807798A JP3255130B2 (en) 1998-12-16 1998-12-16 Data inspection method and apparatus, and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP35807798A JP3255130B2 (en) 1998-12-16 1998-12-16 Data inspection method and apparatus, and recording medium

Publications (2)

Publication Number Publication Date
JP2000181732A JP2000181732A (en) 2000-06-30
JP3255130B2 true JP3255130B2 (en) 2002-02-12

Family

ID=18457426

Family Applications (1)

Application Number Title Priority Date Filing Date
JP35807798A Expired - Fee Related JP3255130B2 (en) 1998-12-16 1998-12-16 Data inspection method and apparatus, and recording medium

Country Status (1)

Country Link
JP (1) JP3255130B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8464125B2 (en) * 2009-12-10 2013-06-11 Intel Corporation Instruction-set architecture for programmable cyclic redundancy check (CRC) computations

Also Published As

Publication number Publication date
JP2000181732A (en) 2000-06-30

Similar Documents

Publication Publication Date Title
KR930005427B1 (en) Real time bch error correction code decoding mechanism
US4493046A (en) Apparatus for generation of binary pseudo-random numbers
EP0034142A1 (en) Galois field computer.
JPH02503851A (en) Method and apparatus for error correction
US6725416B2 (en) Forward error correction apparatus and methods
US20130139028A1 (en) Extended Bidirectional Hamming Code for Double-Error Correction and Triple-Error Detection
JP2008011025A (en) Remainder calculation apparatus for cyclic redundancy check
US8739006B2 (en) Reduced circuit implementation of encoder and syndrome generator
JP2000181807A (en) Method and device for inspecting data in recording medium
JP3255130B2 (en) Data inspection method and apparatus, and recording medium
US20080140740A1 (en) Systems and methods for processing data sets in parallel
JP3343857B2 (en) Decoding device, arithmetic device, and methods thereof
JPH10112660A (en) Error decoding method and device utilizing reed solomon code
JP3239866B2 (en) Data inspection method and apparatus based on CRC and recording medium
US7574469B2 (en) Method for generating the multiplicative inverse in a finite field GF(p)
JP2662472B2 (en) Syndrome operation circuit for error correction processing
JP3126973B2 (en) Error correction processor
US5862159A (en) Parallelized cyclical redundancy check method
US8375077B2 (en) Method, apparatus and media for performing GF(2) polynomial operations
JPH07109992B2 (en) Error position finding method and device
JP2553571B2 (en) Galois field arithmetic unit
Skorokhod et al. Software optimization for fast encoding and decoding of Reed-Solomon codes
JP2008112522A (en) Device and method for detecting error
JPH09185518A (en) System and device for generating power of source element alpha
KR100206184B1 (en) Finite field polynomial dividing operation apparatus using euclidean algorithm

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101130

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131130

Year of fee payment: 12

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131130

Year of fee payment: 12

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees