JPH07226687A - 誤り訂正処理装置 - Google Patents
誤り訂正処理装置Info
- Publication number
- JPH07226687A JPH07226687A JP6036323A JP3632394A JPH07226687A JP H07226687 A JPH07226687 A JP H07226687A JP 6036323 A JP6036323 A JP 6036323A JP 3632394 A JP3632394 A JP 3632394A JP H07226687 A JPH07226687 A JP H07226687A
- Authority
- JP
- Japan
- Prior art keywords
- error correction
- output
- matrix
- circuit
- adder
- 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.)
- Pending
Links
Landscapes
- Detection And Correction Of Errors (AREA)
- Error Detection And Correction (AREA)
Abstract
(57)【要約】
【目的】 リードソロモン(RS)符号を用いた符号化
やシンドロームの計算を小さい回路規模で高速処理でき
る誤り訂正処理装置を提供する。 【構成】 入力情報7に対して、誤り訂正の符号化また
はシンドロームの演算を行なう誤り訂正処理装置におい
て、RS符号の生成行列(G−Matrix)または検
査行列(H−Matrix)のデータを格納するROM
1と、ROMから出力されたデータと入力情報7との乗
算を行なう乗算器2と、乗算器の出力を累積加算する加
算器3と、加算器から出力された加算値を保持するラッ
チ41〜44とを設ける。誤り訂正符号化における検査ビッ
トやシンドロームの値は、乗算器と加算器とにより、行
列演算の形で算出される。この装置は、乗算が主体の回
路となるため、シフトレジスタを用いる従来のものと比
べて回路構成を小規模化できる。
やシンドロームの計算を小さい回路規模で高速処理でき
る誤り訂正処理装置を提供する。 【構成】 入力情報7に対して、誤り訂正の符号化また
はシンドロームの演算を行なう誤り訂正処理装置におい
て、RS符号の生成行列(G−Matrix)または検
査行列(H−Matrix)のデータを格納するROM
1と、ROMから出力されたデータと入力情報7との乗
算を行なう乗算器2と、乗算器の出力を累積加算する加
算器3と、加算器から出力された加算値を保持するラッ
チ41〜44とを設ける。誤り訂正符号化における検査ビッ
トやシンドロームの値は、乗算器と加算器とにより、行
列演算の形で算出される。この装置は、乗算が主体の回
路となるため、シフトレジスタを用いる従来のものと比
べて回路構成を小規模化できる。
Description
【0001】
【産業上の利用分野】本発明は、半導体メモリ等の一部
に不良箇所があってもデータを正しく記憶できるよう
に、格納するデータに誤り訂正の符号化を行ない、デー
タ読出し時に誤りを訂正する誤り訂正処理装置に関し、
特に、高速での処理を可能にしたものである。
に不良箇所があってもデータを正しく記憶できるよう
に、格納するデータに誤り訂正の符号化を行ない、デー
タ読出し時に誤りを訂正する誤り訂正処理装置に関し、
特に、高速での処理を可能にしたものである。
【0002】
【従来の技術】近年、半導体の高集積化が著しく進み、
そのため、その一部分に不良がある場合にチップ全体を
使用不可とすることは、損失が大きくなる。そこで、不
良部分を救済するための方法が種々考えられている。
そのため、その一部分に不良がある場合にチップ全体を
使用不可とすることは、損失が大きくなる。そこで、不
良部分を救済するための方法が種々考えられている。
【0003】その方法の1つは、半導体内部にメモリセ
ルを予め余分に作り、初期不良のセルが見つかった場合
に、それを他のセルで置き換える方法である。例えば、
図3に示すように、n個のメモリセルによって容量を満
たす場合に、n+1以上の冗長部分のセルを持ち、メモ
リセル3が初期不良であったとき、メモリセルn+1に
よってメモリセル3を置換する。不良数が冗長部分より
少なければ、この方法によって、不良セルを救済するこ
とができる。しかし、この方法では、半導体メモリの製
造工程中に発生した初期不良を救済することはできる
が、使用中に発生するメモリセルの不良には、対応する
ことができない。
ルを予め余分に作り、初期不良のセルが見つかった場合
に、それを他のセルで置き換える方法である。例えば、
図3に示すように、n個のメモリセルによって容量を満
たす場合に、n+1以上の冗長部分のセルを持ち、メモ
リセル3が初期不良であったとき、メモリセルn+1に
よってメモリセル3を置換する。不良数が冗長部分より
少なければ、この方法によって、不良セルを救済するこ
とができる。しかし、この方法では、半導体メモリの製
造工程中に発生した初期不良を救済することはできる
が、使用中に発生するメモリセルの不良には、対応する
ことができない。
【0004】半導体メモリをコンピュータの主記憶等に
使用する場合には、使用中に発生するセル不良をも含め
た広範なメモリセルの不良を救済するため、データを誤
り訂正処理化することが行なわれている。この方法で
は、データをメモリに記憶する場合に、データに誤り訂
正の符号化を行ない、冗長化したデータをメモリに記憶
させる。そして、データの読出し時には、複数のメモリ
セルから読出したデータを用いて誤り訂正の復号化を行
ない、正しいデータを得る。従って、不良セルが存在
し、それがデータを誤って記憶しているとしても、常に
正しいデータを読出すことが可能となる。
使用する場合には、使用中に発生するセル不良をも含め
た広範なメモリセルの不良を救済するため、データを誤
り訂正処理化することが行なわれている。この方法で
は、データをメモリに記憶する場合に、データに誤り訂
正の符号化を行ない、冗長化したデータをメモリに記憶
させる。そして、データの読出し時には、複数のメモリ
セルから読出したデータを用いて誤り訂正の復号化を行
ない、正しいデータを得る。従って、不良セルが存在
し、それがデータを誤って記憶しているとしても、常に
正しいデータを読出すことが可能となる。
【0005】誤り訂正の符号化のために使用される符号
として、幾つかの種類が考案されている。SEC−DE
D符号を用いる方式では、パリティ検査行列として、図
4に例示する行列を使用する。SEC−DED符号は、
符号器および復号器の回路構成が簡単で、符号化および
復号化の処理時間が高速であるという利点があるが、冗
長度が高く、結果としてメモリのコストが高くなるとい
う欠点がある。図5にSEC−DED符号の符号器およ
び復号器の構成を示す。その詳しい説明は省略する。
として、幾つかの種類が考案されている。SEC−DE
D符号を用いる方式では、パリティ検査行列として、図
4に例示する行列を使用する。SEC−DED符号は、
符号器および復号器の回路構成が簡単で、符号化および
復号化の処理時間が高速であるという利点があるが、冗
長度が高く、結果としてメモリのコストが高くなるとい
う欠点がある。図5にSEC−DED符号の符号器およ
び復号器の構成を示す。その詳しい説明は省略する。
【0006】RS符号(リード・ソロモン符号)は、同
一の符号長と訂正能力とを持つ線形符号の中で最も冗長
度を低くできる符号として知られており、衛星通信、磁
気ディスク、コンパクト・ディスクなどの誤り訂正に広
く利用されている(特開昭63−164629号公
報)。
一の符号長と訂正能力とを持つ線形符号の中で最も冗長
度を低くできる符号として知られており、衛星通信、磁
気ディスク、コンパクト・ディスクなどの誤り訂正に広
く利用されている(特開昭63−164629号公
報)。
【0007】このRS符号は、巡回符号の一種である
が、巡回符号の場合、次のような符号化が行なわれる。
情報点数がkであるとき、その情報をk−1次の情報多
項式P(x)の係数に対応させ、次いで、P(x)をxn-k
倍し、このxn-kP(x)を生成多項式G(x)で割っ
て、その剰余R(x)を求める。
が、巡回符号の場合、次のような符号化が行なわれる。
情報点数がkであるとき、その情報をk−1次の情報多
項式P(x)の係数に対応させ、次いで、P(x)をxn-k
倍し、このxn-kP(x)を生成多項式G(x)で割っ
て、その剰余R(x)を求める。
【0008】 xn-kP(x)=Q(x)G(x)+R(x) (1) そして、このxn-kP(x)と剰余R(x)との和によ
って符号多項式F(x)を構成する。
って符号多項式F(x)を構成する。
【0009】 F(x)=xn-kP(x)+R(x)=Q(x)G(x) (2) 式(2)において、R(x)とR(x)との排他的論理
和は0になるから、符号多項式F(x)は常にG(x)
で割り切れる。
和は0になるから、符号多項式F(x)は常にG(x)
で割り切れる。
【0010】また、巡回符号の復号化時に、符号誤りを
発見するためのシンドロームは、受信多項式r(x)
と、それを生成多項式G(x)で割り算したときの商q
(x)とを用いて、次式で計算される。
発見するためのシンドロームは、受信多項式r(x)
と、それを生成多項式G(x)で割り算したときの商q
(x)とを用いて、次式で計算される。
【0011】 S(x)=r(x)−q(x)G(x) (3) シンドロームS(x)は、受信多項式r(x)に誤りが
含まれていなければ0になる。また、誤りが含まれてい
れば、0にならず、誤りの位置と大きさの情報とが含ま
れる。
含まれていなければ0になる。また、誤りが含まれてい
れば、0にならず、誤りの位置と大きさの情報とが含ま
れる。
【0012】図6には、従来の巡回符号の誤り訂正符号
化回路を示している。この符号化回路には、情報ビット
が順次入力し、この情報ビットは、通信路に順次出力さ
れ、同時に、シフトレジスタの多段接続された除算回路
に入力する。除算回路では、生成多項式G(x)による
除算が行なわれ、情報の入力が終了すると、シフトレジ
スタにはこの除算における剰余が残り、この剰余が情報
に引き続いて通信路に出力される。また、シンドローム
の算出も同様の回路によって行なわれる。
化回路を示している。この符号化回路には、情報ビット
が順次入力し、この情報ビットは、通信路に順次出力さ
れ、同時に、シフトレジスタの多段接続された除算回路
に入力する。除算回路では、生成多項式G(x)による
除算が行なわれ、情報の入力が終了すると、シフトレジ
スタにはこの除算における剰余が残り、この剰余が情報
に引き続いて通信路に出力される。また、シンドローム
の算出も同様の回路によって行なわれる。
【0013】
【発明が解決しようとする課題】RS符号を用いた誤り
訂正方式は、冗長度が少なく且つ訂正能力が高いという
利点を持つが、しかし、RS符号を用いて符号化処理や
誤り訂正処理を行なう従来の誤り訂正処理装置は、情報
ビットが1ビットずつ入力し、逐次処理される構成であ
るため、符号化やシンドロームの計算に多くの時間が掛
かり、また、GF(28)のような構成ビット数の多い有
限体を対象とする場合には、シフトレジスタの段数が増
加し、使用されるフリップ・フロップ等の個数が多くな
り、回路が大規模化するという問題点を有していた。
訂正方式は、冗長度が少なく且つ訂正能力が高いという
利点を持つが、しかし、RS符号を用いて符号化処理や
誤り訂正処理を行なう従来の誤り訂正処理装置は、情報
ビットが1ビットずつ入力し、逐次処理される構成であ
るため、符号化やシンドロームの計算に多くの時間が掛
かり、また、GF(28)のような構成ビット数の多い有
限体を対象とする場合には、シフトレジスタの段数が増
加し、使用されるフリップ・フロップ等の個数が多くな
り、回路が大規模化するという問題点を有していた。
【0014】本発明は、こうした従来の問題点を解決す
るものであり、RS符号を用いた符号化やシンドローム
の計算を、小さい回路規模により、高速で処理すること
ができる誤り訂正処理装置を提供することを目的として
いる。
るものであり、RS符号を用いた符号化やシンドローム
の計算を、小さい回路規模により、高速で処理すること
ができる誤り訂正処理装置を提供することを目的として
いる。
【0015】
【課題を解決するための手段】そこで、本発明では、入
力情報に対して、誤り訂正の符号化またはシンドローム
の演算を行なう誤り訂正処理装置において、リードソロ
モン(RS)符号の生成行列(G−Matrix)また
は検査行列(H−Matrix)のデータを格納するR
OMと、ROMから出力されたデータと入力情報との乗
算を行なう乗算器と、乗算器の出力を累積加算する第1
加算器と、第1加算器から出力された加算値を保持する
ラッチとを設けている。
力情報に対して、誤り訂正の符号化またはシンドローム
の演算を行なう誤り訂正処理装置において、リードソロ
モン(RS)符号の生成行列(G−Matrix)また
は検査行列(H−Matrix)のデータを格納するR
OMと、ROMから出力されたデータと入力情報との乗
算を行なう乗算器と、乗算器の出力を累積加算する第1
加算器と、第1加算器から出力された加算値を保持する
ラッチとを設けている。
【0016】また、この乗算器を複数個設け、各乗算器
に、ROMから出力されたデータと入力情報との乗算を
並列的に行なわせると共に、これら複数個の乗算器の出
力を加算する第2加算器を設け、この第2加算器の出力
を第1加算器に出力するように構成している。
に、ROMから出力されたデータと入力情報との乗算を
並列的に行なわせると共に、これら複数個の乗算器の出
力を加算する第2加算器を設け、この第2加算器の出力
を第1加算器に出力するように構成している。
【0017】また、この誤り訂正処理装置により、半導
体メモリに格納するデータの誤り訂正の符号化、または
半導体メモリから読み出したデータのシンドロームの演
算を行なっている。
体メモリに格納するデータの誤り訂正の符号化、または
半導体メモリから読み出したデータのシンドロームの演
算を行なっている。
【0018】
【作用】そのため、誤り訂正符号化における検査ビット
やシンドロームの値は、乗算器と第1加算器とにより、
行列演算の形で算出される。この誤り訂正処理装置は、
乗算が主体の回路となるため、シフトレジスタを用いる
従来のものと比べて、回路構成を小規模化できる。
やシンドロームの値は、乗算器と第1加算器とにより、
行列演算の形で算出される。この誤り訂正処理装置は、
乗算が主体の回路となるため、シフトレジスタを用いる
従来のものと比べて、回路構成を小規模化できる。
【0019】また、乗算器を複数設けることによって、
この演算を並列的に処理することができ、処理時間の高
速化が可能となる。そのため、8ビットや16ビットの
単位でデータを入出力する半導体メモリとデータを授受
する場合でも、誤り訂正処理を遅滞無く行なうことがで
きる。
この演算を並列的に処理することができ、処理時間の高
速化が可能となる。そのため、8ビットや16ビットの
単位でデータを入出力する半導体メモリとデータを授受
する場合でも、誤り訂正処理を遅滞無く行なうことがで
きる。
【0020】
(実施例1)実施例の誤り訂正処理装置では、RS符号
による符号化およびシンドロームの算出を行列演算によ
って求めている。そこで、先ずこの行列演算式について
説明することにする。
による符号化およびシンドロームの算出を行列演算によ
って求めている。そこで、先ずこの行列演算式について
説明することにする。
【0021】RS符号は線形符号の一種であり、情報i
=(i1,i2,i3,…ik)を符号語x=(i1,i2,
i3,…ik,P1,P2,…Pn-k)に符号化する。この
ときの検査シンボルP1,P2,…Pn-k は、次式で与え
られる。
=(i1,i2,i3,…ik)を符号語x=(i1,i2,
i3,…ik,P1,P2,…Pn-k)に符号化する。この
ときの検査シンボルP1,P2,…Pn-k は、次式で与え
られる。
【0022】 P1=p1,1i1+p1,2i2+………p1,kik P2=p2,1i1+p2,2i2+………p2,kik ………… Pn-k=pn-k,1i1+pn-k,2i2+………pn-k,kik (4)
【0023】従って、次式で示す生成行列(G−Mat
rix)を用いると、
rix)を用いると、
【数5】 符号語x=(i1,i2,i3,…ik,P1,P2,…P
n-k)は、 x=iG (6) で与えられる。
n-k)は、 x=iG (6) で与えられる。
【0024】また、線形符号は、パリティ検査方程式で
ある連立一次方程式 h11x1+h12x2+………h1nxn=0 h21x1+h22x2+………h2nxn=0 …………… …………… hl1x1+hl2x2+………hlnxn=0 (7) の解x=(x1,x2,………xn)の全ての集合として定
義することができる。この連立一次方程式は、次式で与
えられるパリティ検査行列を用いて、
ある連立一次方程式 h11x1+h12x2+………h1nxn=0 h21x1+h22x2+………h2nxn=0 …………… …………… hl1x1+hl2x2+………hlnxn=0 (7) の解x=(x1,x2,………xn)の全ての集合として定
義することができる。この連立一次方程式は、次式で与
えられるパリティ検査行列を用いて、
【数8】 次のように記述することができる。 xHT =0 (9) シンドロームSは、受信符号y=(y1,y2,………y
n)をパリティ検査行列で変換したものであり、 S=yH (10) の関係にある。従って、シンドロームの各要素は、 s0=h11y1+h12y2+………h1nyn s1=h21y1+h22y2+………h2nyn …………… …………… sl=hl1y1+hl2y2+………hlnyn (11) で与えられる。このシンドロームには、誤りの位置と大
きさとが含まれる。
n)をパリティ検査行列で変換したものであり、 S=yH (10) の関係にある。従って、シンドロームの各要素は、 s0=h11y1+h12y2+………h1nyn s1=h21y1+h22y2+………h2nyn …………… …………… sl=hl1y1+hl2y2+………hlnyn (11) で与えられる。このシンドロームには、誤りの位置と大
きさとが含まれる。
【0025】さて、第1実施例の誤り訂正処理装置につ
いて説明する。この誤り訂正処理装置は、RS符号の符
号化またはシンドロームの演算のいずれをも実行するこ
とができる。この装置は、図1に示すように、符号化の
場合には生成行列Gを、また、シンドロームの演算の場
合には検査行列Hをデータとして蓄積するROM1と、
入力ビットとROM1に記憶されたデータとを乗算する
乗算回路2と、乗算回路2の出力を累積加算する加算回
路3と、演算の中間結果および最終結果を保持するラッ
チ41、42、43、44と、ラッチ41〜44に保持されたデータ
を順次選択して出力するセレクタ5と、情報と検査シン
ボルとを区別して出力するセレクタ6と、入力ポート7
および出力ポート8とを備えている。この入力ポート7
には、符号化のときは、符号化される情報が入力し、復
号化のときは、メモリから読出された符号語が入力す
る。また、出力ポート8からは、符号化のときは、符号
語が出力され、復号化のときは、シンドロームの演算結
果が出力される。
いて説明する。この誤り訂正処理装置は、RS符号の符
号化またはシンドロームの演算のいずれをも実行するこ
とができる。この装置は、図1に示すように、符号化の
場合には生成行列Gを、また、シンドロームの演算の場
合には検査行列Hをデータとして蓄積するROM1と、
入力ビットとROM1に記憶されたデータとを乗算する
乗算回路2と、乗算回路2の出力を累積加算する加算回
路3と、演算の中間結果および最終結果を保持するラッ
チ41、42、43、44と、ラッチ41〜44に保持されたデータ
を順次選択して出力するセレクタ5と、情報と検査シン
ボルとを区別して出力するセレクタ6と、入力ポート7
および出力ポート8とを備えている。この入力ポート7
には、符号化のときは、符号化される情報が入力し、復
号化のときは、メモリから読出された符号語が入力す
る。また、出力ポート8からは、符号化のときは、符号
語が出力され、復号化のときは、シンドロームの演算結
果が出力される。
【0026】この装置により、GF(28)、つまり、元
の数が28 個あり、最少距離が5であるRS符号を用い
て符号化を行なう場合の動作について説明する。
の数が28 個あり、最少距離が5であるRS符号を用い
て符号化を行なう場合の動作について説明する。
【0027】符号の最小距離が5のときは、符号語に加
えられる検査シンボルはP1 、P2、P3 、P4 の4つ
となる。この場合には、ラッチ41〜44を4つ用意する
(または、多数準備されたラッチの内の4つを使用す
る)。つまり、ラッチの数は、検査シンボル数と等しい
数であり、最小距離から1を引いた値となる。
えられる検査シンボルはP1 、P2、P3 、P4 の4つ
となる。この場合には、ラッチ41〜44を4つ用意する
(または、多数準備されたラッチの内の4つを使用す
る)。つまり、ラッチの数は、検査シンボル数と等しい
数であり、最小距離から1を引いた値となる。
【0028】符号化の場合には、入力ポート7から入力
した情報i=(i1,i2,i3,…ik )が符号語x=
(i1,i2,i3,…ik,P1,P2,P3,P4)に符号
化され、出力ポート8から出力される。このときの検査
シンボルP1 、P2 、P3 、P4 は、次式で与えられ
る。
した情報i=(i1,i2,i3,…ik )が符号語x=
(i1,i2,i3,…ik,P1,P2,P3,P4)に符号
化され、出力ポート8から出力される。このときの検査
シンボルP1 、P2 、P3 、P4 は、次式で与えられ
る。
【0029】 P1=p1,1i1+p1,2i2+………p1,kik P2=p2,1i1+p2,2i2+………p2,kik P3=p3,1i1+p3,2i2+………p3,kik P4=p4,1i1+p4,2i2+………p4,kik (12)
【0030】符号化の場合、まず、入力ポート7に情報
i1 が入力すると、この情報i1 はセレクタ6と乗算回
路2とに送られる。このときROM1は、格納している
生成行列の要素の中からp1,1、p2,1、p3,1、p4,1を
順番に読出し、乗算回路2に出力する。乗算回路2は、
読出された生成行列の要素に情報i1 を順次乗算して、
p1,1i1、p2,1i1、p3,1i1、p4,1i1を加算回路3
に出力する。乗算回路2から加算回路3にp1,1i1が入
力したとき、セレクタ5は、ラッチ41を選択して、その
ラッチ41の保持している値を加算回路3に出力する。し
かし、ラッチ41〜44の初期値はいずれも0であるため、
セレクタ5からは0が出力される。加算回路3は、セレ
クタ5から出力された値0と乗算回路2から出力された
p1,1i1とを加算し、その加算値p1,1i1を出力する。
この加算値p1,1i1は、ラッチ41に保持される。
i1 が入力すると、この情報i1 はセレクタ6と乗算回
路2とに送られる。このときROM1は、格納している
生成行列の要素の中からp1,1、p2,1、p3,1、p4,1を
順番に読出し、乗算回路2に出力する。乗算回路2は、
読出された生成行列の要素に情報i1 を順次乗算して、
p1,1i1、p2,1i1、p3,1i1、p4,1i1を加算回路3
に出力する。乗算回路2から加算回路3にp1,1i1が入
力したとき、セレクタ5は、ラッチ41を選択して、その
ラッチ41の保持している値を加算回路3に出力する。し
かし、ラッチ41〜44の初期値はいずれも0であるため、
セレクタ5からは0が出力される。加算回路3は、セレ
クタ5から出力された値0と乗算回路2から出力された
p1,1i1とを加算し、その加算値p1,1i1を出力する。
この加算値p1,1i1は、ラッチ41に保持される。
【0031】次に、加算回路3にp2,1i1が入力する
と、セレクタ5は、ラッチ42を選択して、そのラッチ42
の保持している値を加算回路3に出力する。加算回路3
は、セレクタ5から出力された値(0)と乗算回路2か
ら出力されたp2,1i1との加算値を出力し、この加算値
p2,1i1がラッチ42に保持される。同様の手順が繰返さ
れ、ラッチ43にはp3,1i1が、また、ラッチ44にはp4,
1i1が保持される。
と、セレクタ5は、ラッチ42を選択して、そのラッチ42
の保持している値を加算回路3に出力する。加算回路3
は、セレクタ5から出力された値(0)と乗算回路2か
ら出力されたp2,1i1との加算値を出力し、この加算値
p2,1i1がラッチ42に保持される。同様の手順が繰返さ
れ、ラッチ43にはp3,1i1が、また、ラッチ44にはp4,
1i1が保持される。
【0032】一方、セレクタ6は、この段階では、入力
ポート7に入力したデータi1 を選択して出力ポート8
から出力する。
ポート7に入力したデータi1 を選択して出力ポート8
から出力する。
【0033】入力ポート7に、次の情報i2 が入力する
と、この情報i2 はセレクタ6と乗算回路2とに送ら
れ、ROM1は、格納している生成行列の要素の中から
p1,2、p2,2、p3,2、p4,2 を順番に読出して乗算回
路2に出力する。乗算回路2は、読出された生成行列の
要素と情報i2 とを順次乗算して、p1,2i1、p2,
2i1、p3,2i1、p4,2i1を加算回路3に出力する。乗
算回路2から加算回路3にp1,2i1が入力したとき、セ
レクタ5は、ラッチ41を選択して、そのラッチ41の保持
している値p1,1i1を加算回路3に出力し、加算回路3
は、このp1,1i1と乗算回路2から出力されたp1,2i1
とを加算した加算値p1,1i1+p1,2i1を出力し、この
加算値は、ラッチ41に保持される。
と、この情報i2 はセレクタ6と乗算回路2とに送ら
れ、ROM1は、格納している生成行列の要素の中から
p1,2、p2,2、p3,2、p4,2 を順番に読出して乗算回
路2に出力する。乗算回路2は、読出された生成行列の
要素と情報i2 とを順次乗算して、p1,2i1、p2,
2i1、p3,2i1、p4,2i1を加算回路3に出力する。乗
算回路2から加算回路3にp1,2i1が入力したとき、セ
レクタ5は、ラッチ41を選択して、そのラッチ41の保持
している値p1,1i1を加算回路3に出力し、加算回路3
は、このp1,1i1と乗算回路2から出力されたp1,2i1
とを加算した加算値p1,1i1+p1,2i1を出力し、この
加算値は、ラッチ41に保持される。
【0034】同様に、加算回路3にp2,2i1が入力した
ときには、セレクタ5は、ラッチ42の保持しているp2,
1i1を加算回路3に出力し、加算回路3は、加算値p2,
1i1+p2,2i1を出力し、この加算値がラッチ42に保持
される。同様の手順が繰返され、ラッチ43にはp3,1i1
+p3,2i1が、また、ラッチ44にはp4,1i1+p4,2i1
が保持される。
ときには、セレクタ5は、ラッチ42の保持しているp2,
1i1を加算回路3に出力し、加算回路3は、加算値p2,
1i1+p2,2i1を出力し、この加算値がラッチ42に保持
される。同様の手順が繰返され、ラッチ43にはp3,1i1
+p3,2i1が、また、ラッチ44にはp4,1i1+p4,2i1
が保持される。
【0035】一方、セレクタ6は、この段階でも、入力
ポート7に入力したデータi2 を選択して出力ポート8
から出力する。
ポート7に入力したデータi2 を選択して出力ポート8
から出力する。
【0036】こうした動作が、ik の入力の終了するま
で繰返される。ik の入力が終了した段階では、ラッチ
41には、p1,1i1+p1,2i2+………p1,kikが、ラッ
チ42には、p2,1i1+p2,2i2+………p2,kikが、ラ
ッチ43には、p3,1i1+p3,2i2+………p3,kikが、
また、ラッチ44には、p4,1i1+p4,2i2+………p4,
kikが保持される。また、この間、出力ポート8から
は、i1,i2,…ik が順次出力される。ik の出力の
終了後、セレクタ5は、ラッチ41、ラッチ42、ラッチ4
3、ラッチ44の順に各ラッチの保持しているデータを順
に出力し、セレクタ6は、このセレクタ5から出力され
たデータを出力ポート8に出力する。
で繰返される。ik の入力が終了した段階では、ラッチ
41には、p1,1i1+p1,2i2+………p1,kikが、ラッ
チ42には、p2,1i1+p2,2i2+………p2,kikが、ラ
ッチ43には、p3,1i1+p3,2i2+………p3,kikが、
また、ラッチ44には、p4,1i1+p4,2i2+………p4,
kikが保持される。また、この間、出力ポート8から
は、i1,i2,…ik が順次出力される。ik の出力の
終了後、セレクタ5は、ラッチ41、ラッチ42、ラッチ4
3、ラッチ44の順に各ラッチの保持しているデータを順
に出力し、セレクタ6は、このセレクタ5から出力され
たデータを出力ポート8に出力する。
【0037】こうして、出力ポート8からは、符号語x
=(i1,i2,i3,…ik,P1,P2,P3,P4)が出
力される。
=(i1,i2,i3,…ik,P1,P2,P3,P4)が出
力される。
【0038】また、復号時のシンドロームの計算は、入
力ポート7から受信符号y=(y1,y2,………yn)が
順次入力すること、ROM1が受信符号の入力に合わせ
てパリティ検査行列の要素h11,h21,h31,…を乗算
回路2に出力すること、また、セレクタ6がセレクタ5
から最終的に出力されたデータのみを出力ポート8に出
力することを除けば、符号化の場合と、実質的に変わり
がない。
力ポート7から受信符号y=(y1,y2,………yn)が
順次入力すること、ROM1が受信符号の入力に合わせ
てパリティ検査行列の要素h11,h21,h31,…を乗算
回路2に出力すること、また、セレクタ6がセレクタ5
から最終的に出力されたデータのみを出力ポート8に出
力することを除けば、符号化の場合と、実質的に変わり
がない。
【0039】この誤り訂正処理装置は、符号化とシンド
ロームの演算とを同じ回路で処理することができる。ま
た、この装置は、主にゲートで構成される乗算回路が回
路の中心となるため、シフトレジスタによる除算回路に
比べて回路量が少なくて済むという利点がある。
ロームの演算とを同じ回路で処理することができる。ま
た、この装置は、主にゲートで構成される乗算回路が回
路の中心となるため、シフトレジスタによる除算回路に
比べて回路量が少なくて済むという利点がある。
【0040】なお、磁気ディスクや磁気テープでは、情
報が1ビットの単位で記録され、読出される。これに対
して、半導体メモリでは、8ビット単位や16ビット単
位での情報の記録、読出しが行なわれる。実施例の誤り
訂正処理装置は、そのいずれにも使用することができ、
8ビット単位の情報を扱う場合には、ik やyk が8ビ
ットの情報として入力ポート7に入力することになる。
報が1ビットの単位で記録され、読出される。これに対
して、半導体メモリでは、8ビット単位や16ビット単
位での情報の記録、読出しが行なわれる。実施例の誤り
訂正処理装置は、そのいずれにも使用することができ、
8ビット単位の情報を扱う場合には、ik やyk が8ビ
ットの情報として入力ポート7に入力することになる。
【0041】(実施例2)第2実施例の誤り訂正処理装
置は、生成行列や検査行列の要素と入力ビットとの乗算
を並列して行なうことにより、処理時間の短縮を可能に
している。この装置は、図2に示すように、2つの乗算
回路21、22と、2つの加算回路31、32とを備えている。
その他の構成は、第1実施例の装置と変わりがない。
置は、生成行列や検査行列の要素と入力ビットとの乗算
を並列して行なうことにより、処理時間の短縮を可能に
している。この装置は、図2に示すように、2つの乗算
回路21、22と、2つの加算回路31、32とを備えている。
その他の構成は、第1実施例の装置と変わりがない。
【0042】この装置では、符号化の場合、i1 とi
2 、i3 とi4 、…のように、対をなした情報が入力ポ
ート7から入力する。この情報の対の内、奇数の情報i
1 、i3 …は乗算回路21に、また、偶数の情報i2 、i
4 …は乗算回路22にそれぞれ入力する。ROM1は、i
1 とi2 との対が入力したとき、生成行列式の要素のp
1,1とp1,2、p2,1 とp2,2 、p3,1 とp3,2 およびp
4,1 とp4,2 の各対を順番に出力する。この対の内、p
1,1、p2,1、p3,1、p4,1は乗算回路21に、また、p1,
2、p2,2、p3,2、p4,2は乗算回路22にそれぞれ入力す
る。ROM1からp1,1とp1,2とが出力されたとき、乗
算回路21はp1,1とi1とを乗算してp1,1i1 を出力
し、一方、乗算回路22はp1,2とi2 とを乗算してp1,2
i2 を出力する。これを受けて加算回路32は、乗算回路
21および22の出力を加算して、p1,1i1+p1,2i2を加
算回路31に出力する。加算回路31以降の動作は、第1実
施例の装置と同じであり、加算回路31で、加算回路32の
出力の累積加算が行なわれ、その加算値がラッチ41に保
持される。
2 、i3 とi4 、…のように、対をなした情報が入力ポ
ート7から入力する。この情報の対の内、奇数の情報i
1 、i3 …は乗算回路21に、また、偶数の情報i2 、i
4 …は乗算回路22にそれぞれ入力する。ROM1は、i
1 とi2 との対が入力したとき、生成行列式の要素のp
1,1とp1,2、p2,1 とp2,2 、p3,1 とp3,2 およびp
4,1 とp4,2 の各対を順番に出力する。この対の内、p
1,1、p2,1、p3,1、p4,1は乗算回路21に、また、p1,
2、p2,2、p3,2、p4,2は乗算回路22にそれぞれ入力す
る。ROM1からp1,1とp1,2とが出力されたとき、乗
算回路21はp1,1とi1とを乗算してp1,1i1 を出力
し、一方、乗算回路22はp1,2とi2 とを乗算してp1,2
i2 を出力する。これを受けて加算回路32は、乗算回路
21および22の出力を加算して、p1,1i1+p1,2i2を加
算回路31に出力する。加算回路31以降の動作は、第1実
施例の装置と同じであり、加算回路31で、加算回路32の
出力の累積加算が行なわれ、その加算値がラッチ41に保
持される。
【0043】こうして、加算回路32からは、情報のi1
とi2 とが入力したとき、p1,1i1+p1,2i2、p2,1
i1+p2,2i2、p3,1i1+p3,2i2、p4,1i1+p4,2
i2が順次出力され、また、次の情報の対(i3 とi
4 )が入力したとき、p1,3i3+p1,4i4、p2,3i3+
p2,4i4、p3,3i3+p3,4i4、p4,3i3+p4,4i4が
順番に出力される。つまり、式(12)の2つの項の加
算値が順次出力されることになり、その結果、符号化の
処理時間が第1実施例の装置の半分に短縮される。これ
はシンドロームの計算においても全く同じことが言え
る。
とi2 とが入力したとき、p1,1i1+p1,2i2、p2,1
i1+p2,2i2、p3,1i1+p3,2i2、p4,1i1+p4,2
i2が順次出力され、また、次の情報の対(i3 とi
4 )が入力したとき、p1,3i3+p1,4i4、p2,3i3+
p2,4i4、p3,3i3+p3,4i4、p4,3i3+p4,4i4が
順番に出力される。つまり、式(12)の2つの項の加
算値が順次出力されることになり、その結果、符号化の
処理時間が第1実施例の装置の半分に短縮される。これ
はシンドロームの計算においても全く同じことが言え
る。
【0044】また、乗算回路21、22の個数をさらに増や
し、生成行列や検査行列の要素と入力情報との乗算をさ
らに並列的に処理することによって、符号化やシンドロ
ーム計算の処理速度を一層速めることができる。例えば
乗算回路が2つの場合には、半導体メモリとの間で16
ビットのデータを授受し、その8ビットずつを乗算回路
21と乗算回路22とで処理することができるが、この乗算
回路21、22の個数を4つに増やした場合には、半導体メ
モリとの間のデータの授受を32ビットにまで増やし、
それらを並列的に同時処理することが可能になる。従っ
て、誤り訂正の処理速度は大幅に向上する。
し、生成行列や検査行列の要素と入力情報との乗算をさ
らに並列的に処理することによって、符号化やシンドロ
ーム計算の処理速度を一層速めることができる。例えば
乗算回路が2つの場合には、半導体メモリとの間で16
ビットのデータを授受し、その8ビットずつを乗算回路
21と乗算回路22とで処理することができるが、この乗算
回路21、22の個数を4つに増やした場合には、半導体メ
モリとの間のデータの授受を32ビットにまで増やし、
それらを並列的に同時処理することが可能になる。従っ
て、誤り訂正の処理速度は大幅に向上する。
【0045】
【発明の効果】以上の実施例の説明から明らかなよう
に、本発明の誤り訂正処理装置は、リードソロモン(R
S)符号の生成行列(G−Matrix)または検査行
列(H−Matrix)のデータをROMに格納し、行
列演算によって符号化またはシンドローム計算を行なっ
ているため、回路の規模を小さくすることができる。
に、本発明の誤り訂正処理装置は、リードソロモン(R
S)符号の生成行列(G−Matrix)または検査行
列(H−Matrix)のデータをROMに格納し、行
列演算によって符号化またはシンドローム計算を行なっ
ているため、回路の規模を小さくすることができる。
【0046】また、この行列演算における乗算を並列的
に処理することによって、符号化およびシンドロームの
演算を高速で処理することができる。
に処理することによって、符号化およびシンドロームの
演算を高速で処理することができる。
【0047】そのため、本発明の誤り訂正処理装置は、
8ビット、16ビットあるいは32ビット等の情報を入
出力する半導体メモリとデータを授受する場合にも、そ
の速度に十分追従してデータの誤り訂正処理を行なうこ
とができるので、半導体メモリ用の誤り訂正処理装置と
して使用するとき、特に優れた効果を発揮することがで
きる。
8ビット、16ビットあるいは32ビット等の情報を入
出力する半導体メモリとデータを授受する場合にも、そ
の速度に十分追従してデータの誤り訂正処理を行なうこ
とができるので、半導体メモリ用の誤り訂正処理装置と
して使用するとき、特に優れた効果を発揮することがで
きる。
【図1】本発明の第1実施例における誤り訂正処理装置
の構成を示すブロック図、
の構成を示すブロック図、
【図2】本発明の第2実施例における誤り訂正処理装置
の構成を示すブロック図、
の構成を示すブロック図、
【図3】従来の半導体メモリの不良部分置換法を示す概
念図、
念図、
【図4】従来のSEC−DED符号のパリティ検査行列
を示す図、
を示す図、
【図5】従来のSEC−DED符号を用いた符号化復号
化回路の構成を示す図、
化回路の構成を示す図、
【図6】従来のRS符号を用いた符号化回路の構成を示
すブロック図である。
すブロック図である。
1 ROM2、21、22 乗算回路 3、31、32 加算回路 41〜44 ラッチ 5、6 セレクタ 7 入力ポート 8 出力ポート
Claims (3)
- 【請求項1】 入力情報に対して、誤り訂正の符号化ま
たはシンドロームの演算を行なう誤り訂正処理装置にお
いて、 リードソロモン(RS)符号の生成行列(G−Matr
ix)または検査行列(H−Matrix)のデータを
格納するROMと、 前記ROMから出力されたデータと入力情報との乗算を
行なう乗算器と、 前記乗算器の出力を累積加算する第1加算器と、 前記第1加算器から出力された加算値を保持するラッチ
とを設けたことを特徴とする誤り訂正処理装置。 - 【請求項2】 前記乗算器を複数個設け、各乗算器に前
記ROMから出力されたデータと入力情報との乗算を並
列的に行なわせると共に、前記複数個の乗算器の出力を
加算する第2加算器を設け、この第2加算器の出力を前
記第1加算器に出力することを特徴とする請求項1に記
載の誤り訂正処理装置。 - 【請求項3】 半導体メモリとの間で授受する情報に対
して誤り訂正の符号化またはシンドロームの演算を行な
うことを特徴とする請求項1または2に記載の誤り訂正
処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP6036323A JPH07226687A (ja) | 1994-02-10 | 1994-02-10 | 誤り訂正処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP6036323A JPH07226687A (ja) | 1994-02-10 | 1994-02-10 | 誤り訂正処理装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH07226687A true JPH07226687A (ja) | 1995-08-22 |
Family
ID=12466636
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP6036323A Pending JPH07226687A (ja) | 1994-02-10 | 1994-02-10 | 誤り訂正処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH07226687A (ja) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100480685B1 (ko) * | 1997-04-04 | 2005-05-16 | 엘지전자 주식회사 | 에러정정회로 |
JP2010122828A (ja) * | 2008-11-18 | 2010-06-03 | Fujitsu Ltd | 誤り判定回路及び共有メモリシステム |
JP2010128083A (ja) * | 2008-11-26 | 2010-06-10 | Oki Electric Ind Co Ltd | シンボル線形変換装置、共有鍵生成装置、シンボル線形変換方法、共有鍵生成方法、シンボル線形変換プログラム及び共有鍵生成プログラム |
JP2010199811A (ja) * | 2009-02-24 | 2010-09-09 | Fanuc Ltd | 制御装置のメモリシステム |
US11362678B2 (en) | 2011-12-30 | 2022-06-14 | Streamscale, Inc. | Accelerated erasure coding system and method |
US11500723B2 (en) | 2011-12-30 | 2022-11-15 | Streamscale, Inc. | Using parity data for concurrent data authentication, correction, compression, and encryption |
-
1994
- 1994-02-10 JP JP6036323A patent/JPH07226687A/ja active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100480685B1 (ko) * | 1997-04-04 | 2005-05-16 | 엘지전자 주식회사 | 에러정정회로 |
JP2010122828A (ja) * | 2008-11-18 | 2010-06-03 | Fujitsu Ltd | 誤り判定回路及び共有メモリシステム |
JP2010128083A (ja) * | 2008-11-26 | 2010-06-10 | Oki Electric Ind Co Ltd | シンボル線形変換装置、共有鍵生成装置、シンボル線形変換方法、共有鍵生成方法、シンボル線形変換プログラム及び共有鍵生成プログラム |
JP2010199811A (ja) * | 2009-02-24 | 2010-09-09 | Fanuc Ltd | 制御装置のメモリシステム |
US11362678B2 (en) | 2011-12-30 | 2022-06-14 | Streamscale, Inc. | Accelerated erasure coding system and method |
US11500723B2 (en) | 2011-12-30 | 2022-11-15 | Streamscale, Inc. | Using parity data for concurrent data authentication, correction, compression, and encryption |
US11736125B2 (en) | 2011-12-30 | 2023-08-22 | Streamscale, Inc. | Accelerated erasure coding system and method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5170399A (en) | Reed-Solomon Euclid algorithm decoder having a process configurable Euclid stack | |
US4706250A (en) | Method and apparatus for correcting multibyte errors having improved two-level code structure | |
US6374383B1 (en) | Determining error locations using error correction codes | |
US4099160A (en) | Error location apparatus and methods | |
US5715262A (en) | Errors and erasures correcting reed-solomon decoder | |
JP5300170B2 (ja) | 順方向のチェンサーチ方式のリードソロモンデコーダ回路 | |
KR920000828B1 (ko) | 가로아체(Galois field)연산장치 | |
US6347389B1 (en) | Pipelined high speed reed-solomon error/erasure decoder | |
US4504948A (en) | Syndrome processing unit for multibyte error correcting systems | |
EP0117287A2 (en) | Method for correcting errors in digital data and system employing such method | |
US20090055717A1 (en) | Architecture and control of reed-solomon list decoding | |
US20050138533A1 (en) | Encoding/decoding device using a reed-solomon encoder/decoder | |
US6725416B2 (en) | Forward error correction apparatus and methods | |
US20050188292A1 (en) | Method and apparatus for encoding special uncorrectable errors in an error correction code | |
US20040210816A1 (en) | Error-correcting device and decoder enabling fast error correction with reduced circuit scale | |
US20050149834A1 (en) | (18, 9) Error correction code for double error correction and triple error detection | |
JPS6037833A (ja) | 符号語の複号装置及び読み取り装置 | |
JP4733403B2 (ja) | 復号器、データ記憶装置およびデータの誤り訂正の方法 | |
JP2004032737A (ja) | リード−ソロモン復号器 | |
JPS6356022A (ja) | デイジタル記録再生装置 | |
US9191029B2 (en) | Additional error correction apparatus and method | |
JPH07226687A (ja) | 誤り訂正処理装置 | |
US6470471B1 (en) | Data error correction apparatus | |
JP2662472B2 (ja) | 誤り訂正処理用シンドローム演算回路 | |
US8255777B2 (en) | Systems and methods for locating error bits in encoded data |