(57)【要約】      （修正有）【課題】符号化効率の異なるパリティ検査行列にそのままの回路で変更可能な、誤り訂正機能を有する信頼性の高い制御装置のメモリシステムを提供する。【解決手段】パリティ検査行列の行列データを格納する書き換え可能な検査行列用メモリ２と、入力データを格納するメインメモリと、前記入力データに対しパリティ検査行列を用いて行列演算回路４において行列演算を行い検査符号を生成する符号化回路と、前記検査符号を格納する検査符号用メモリと、メインメモリからの出力データに対し前記パリティ検査行列を用いて演算を行った結果と前記検査符号を用いて行列演算回路により行列演算を行い前記出力データの誤りの検査及び訂正情報の出力を行う復号回路とを有する制御装置のメモリシステムにおいて、検査行列用メモリ２に格納されている前記パリティ検査行列の行列データを書換手段により書換可能な制御装置のメモリシステム。【選択図】図２
2010199811.tif 000002
【特許請求の範囲】
【請求項１】
入力データを格納するメインメモリと、
前記入力データに対しパリティ検査行列を用いて演算を行い検査符号を生成する符号化回路と、前記検査符号を格納する検査符号用メモリと、前記入力データを格納していた前記メインメモリからの出力データに対し前記パリティ検査行列を用いて演算を行った結果と前記検査符合用メモリに格納の前記検査符号により前記出力データの誤りの検査及び訂正情報の出力を行う復号回路とを有する制御装置のメモリシステムにおいて、
前記メモリシステムは、
前記パリティ検査行列の行列データを格納する書き換え可能な検査行列用メモリと、
該検査行列用メモリに格納されている前記行列データを書き換える書換手段と、
前記符号化回路は、前記検査行列用メモリから前記パリティ検査行列の行列データを読み出して前記入力データに対し演算を行う行列演算回路を有し、
前記復号回路は、前記検査行列用メモリから前記パリティ検査行列の行列データを読み出して前記出力データに対し演算を行う行列演算回路を有する、
ことを特徴とする制御装置のメモリシステム。
【請求項２】
前記行列演算回路は、
前記パリティ検査行列の行列データを部分行列に切り分けて部分行列データとして格納するようにした前記検査行列用メモリから前記部分行列データを逐次読み出す検査行列用ＤＭＡＣ（ダイレクト・メモリ・アクセス・コントローラ）と、
前記メインメモリへの入力データ若しくは前記メインメモリからの出力データを入力ベクトルとして、前記検査行列用ＤＭＡＣが読み出した部分行列データとの行列演算を行う部分行列回路と、
前記部分行列回路の出力を逐次加算するシンドローム計算回路と、
前記検査行列用ＤＭＡＣによる逐次読み出しの回数と前記シンドローム計算回路による逐次加算の回数とを指定する逐次実行回数指定手段と、
該逐次実行回数指定手段に指令された実行回数を変更する逐次実行回数変更手段と、
を有することを特徴とする請求項１に記載の制御装置のメモリシステム。
【請求項３】
前記符号化回路と前記復号回路とにそれぞれ前記行列演算回路を備えることに替えて、１つの行列演算回路を備え、１つの該行列演算回路を時間分割で動作させるようにしたことを特徴とする請求項１または２のいずれか１つに記載の制御装置のメモリシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリシステムに用いられる誤りを自動訂正して装置・システムの信頼性を向上させるための誤り訂正方法に関し、特に、温度、振動、ノイズ等による作業環境の劣悪な状況下において正常動作させなければならない産業用装置・システムまたは医療、航空宇宙、公共システム等、信頼性の要求される装置・システムにおいて利用される誤り訂正方法の１つであるパリティ検査行列の誤り訂正符号を有するシステム、とりわけ、一定周期で繰り返し参照される産業装置のプログラムやデータを保存するメモリシステムに関する。
【背景技術】
【０００２】
データ中の誤りを訂正する方法として誤り訂正符号がある。誤り訂正符号は、産業用装置や産業用システムまたは医療、航空宇宙、公共システム等、信頼性を要求される装置およびシステムにおいて利用されている。半導体メモリにおいてはα線や宇宙線によるメモリデータの破壊への対策として使用されている。  
誤り訂正符号は従来から符号理論として研究され、バースト誤りに特化したパリティ検査行列や、局所的に誤り訂正の能力を強化したパリティ検査行列など、機能の異なる様々な構成のパリティ検査行列が提案されており、産業用装置や産業用システムの設置環境に合わせたパリティ検査行列を用いることが信頼性を向上させる上で重要である。
【０００３】
ここでパリティ検査行列の誤り訂正符号の基本的な技術について図７を用いて説明する。ｐビットの入力データ（数１式参照）がメモリに格納される。なお、「τ」は転置を意味する記号である。
【０００４】
【数１】
2010199811.tif 000003
【０００５】
ｐビットの入力データＩがメモリに格納されるのと同時に、符号化回路が入力データＩに対して行数ｑ列数ｐのパリティ検査行列Ｈ（数２式参照）の行列演算を行い（数３式参照）、演算結果であるシンドロームＳ（数４式参照）を、データ幅ｑビットの検査符号Ｃ（数５式参照）としてメモリの指定領域に格納する。
【０００６】
【数２】
2010199811.tif 000004
【０００７】
【数３】
2010199811.tif 000005
【０００８】
【数４】
2010199811.tif 000006
【０００９】
【数５】
2010199811.tif 000007
【００１０】
復号回路は格納データ（数６式参照）の前記パリティ行列Ｈによる演算結果であるＳ’と検査符号Ｃとの比較結果である検査結果Ｗがゼロベクトルであるかどうかで誤りを検出する（数７式参照）。ただし、パリティ検査行列の行列演算に関わる加算記号は排他的論理和を意味する。
【００１１】
【数６】
2010199811.tif 000008
【００１２】
【数７】
2010199811.tif 000009
【００１３】
そして、数８式に示されるように誤り検出の場合、格納データＯのｋ番目の１ビットのみが誤りであると対応するパリティ検査行列の列データｈkが検査結果Ｗと一致するという誤り訂正符号の原理により、比較結果Ｗと一致する列をパリティ検査行列から探索して誤り箇所を特定し修正する。
【００１４】
【数８】
2010199811.tif 000010
【００１５】
メモリ内のデータは種々の物理的要因によって誤りが発生し、メモリの出力チャンネルに現れる値は必ずしも入力データＩと正しくなく誤りを含む可能性がある。この誤りを検出訂正するのが復号回路の役割である。また、一般的に誤り訂正能力が高いほど符号化率（＝データ長／検査符号長）は低い傾向がある。
【００１６】
従来の一般的な誤り訂正符号を使用したメモリシステムでは、出力データが１ワード単位で検査・訂正され、格納データと検査符号はほぼ同時にメモリに対してリード・ライトされる。こうすることで、リード・ライトしたデータを直ちに使用することが可能となり、高速な処理が可能となる。
【００１７】
しかしながら、この方法では検査データのデータ長が３２ビットや６４ビットと短いため高い誤り訂正能力が必要となり、符号化効率の低いパリティ検査行列が用いられる。そのため、検査データ３２ビットに対して１６ビットの検査符号データのように、検査データと比較して大きな検査符号用のメモリ領域を必要とする。また、符号化・復号化回路には、高速化のため採用するパリティ検査行列に特化したハードウェアをＡＮＤ／ＯＲ回路やＸＯＲ（排他的論理和）回路等の論理回路を使用して回路を実現して高速化するのが一般的である（特許文献１参照）。また、特許文献２には、ＲＯＭに格納されたパリティ検査行列を読み出し、行列演算を行う技術が開示されている。
【先行技術文献】
【特許文献】
【００１８】
【特許文献１】特開平９−１６４２２号公報
【特許文献２】特開平７−２２６６８７号公報
【発明の概要】
【発明が解決しようとする課題】
【００１９】
産業用装置や産業用システムの制御装置が設置されるノイズレベルなどの環境を想定して、想定した環境に対応したレベルのパリティ検査行列による誤り訂正機能の仕様を備えたメモリシステムを設計して制御装置は供給される。
【００２０】
背景技術で説明した技術では、パリティ検査行列が書き換え可能ではなく、制御装置の設置環境に応じてパリティ検査行列を変更して、設置環境によって最適なパリティ検査行列を選択する機能を備えていない。
【００２１】
ノイズレベルなどの環境レベルに対応した仕様のメモリシステムのバリエーションをそれぞれ設計・開発してラインアップとして揃えて製品化することは企業にとって負担が大きい。また、制御装置を顧客に納入後、想定した環境レベルと異なった場合（例えば、想定したノイズレベルが高かった場合）、より信頼性の高いパリティ検査行列による誤り訂正機能を備えた仕様に変更するため制御装置を入れ替える必要があった。
【００２２】
ところで、一定周期で繰り返し参照される産業装置のプログラムやデータを保存するメモリシステムでは、一定周期でラダープログラムやデータに誤りが発生していないかどうかのチェックを行い誤り訂正することで対応可能で、さほど高速な処理を必要としない場合がある。
【００２３】
このような場合に適用可能な、誤り訂正能力はさほど高くはないが、符号化効率の高いパリティ検査行列、例えば検査データ１００バイト当たりに対して、検査符号長１６ビットでも１ビットの誤り訂正が可能なパリティ検査行列は存在する。ごく稀に限られたメモリ領域に発生するα線や宇宙線による１ビットの障害に対しては、これでも十分対処可能である。しかしながら、このようなパリティ検査行列は１６×１０２４のような巨大な行列となり、前述のような論理回路で符号化・復号化回路を実現するのは現実的ではない。
【００２４】
また、仮にこのような論理回路による符号化・復号化回路が実現できたとしても、実際のシステムでは前述のようなごく稀に発生する１ビット障害のようなケースだけではなく、産業装置の外部から侵入する電気的なノイズレベルのレベルが高く、メモリ内の複数のビットのデータがノイズにより反転し、エラーとなるケースもごく稀には存在する。
【００２５】
このような事態は、産業装置などの制御装置が設置される環境に起因するものであり、事前に予測することが困難なことが多い。しかし、あらかじめ検査符号のビット数が多く複数のビットのエラーを訂正可能な誤り訂正能力の高いパリティ検査行列を選択することは、他の１ビット訂正の能力で問題ない装置においても余分な検査符号が必要となり、無駄となる。また、発生するエラーが連続したビットで発生するバーストエラーなど、エラーの発生パターンについても事前の予測は不可能であり、最適なパリティ検査行列を選択することは困難である。
【００２６】
そこで、本発明の目的は、上記事情に鑑み、符号化効率の異なるパリティ検査行列にそのままの回路で変更可能な、誤り訂正機能を有する信頼性の高い制御装置のメモリシステムを提供することである。
【課題を解決するための手段】
【００２７】
本願の請求項１に係る発明は、入力データを格納するメインメモリと、前記入力データに対しパリティ検査行列を用いて演算を行い検査符号を生成する符号化回路と、前記検査符号を格納する検査符号用メモリと、前記入力データを格納していた前記メインメモリからの出力データに対し前記パリティ検査行列を用いて演算を行った結果と前記検査符合用メモリに格納の前記検査符号により前記出力データの誤りの検査及び訂正情報の出力を行う復号回路とを有する制御装置のメモリシステムにおいて、前記メモリシステムは、前記パリティ検査行列の行列データを格納する書き換え可能な検査行列用メモリと、該検査行列用メモリに格納されている前記行列データを書き換える書換手段と、前記符号化回路は、前記検査行列用メモリから前記パリティ検査行列の行列データを読み出して前記入力データに対し演算を行う行列演算回路を有し、前記復号回路は、前記検査行列用メモリから前記パリティ検査行列の行列データを読み出して前記出力データに対し演算を行う行列演算回路を有する、ことを特徴とする制御装置のメモリシステムである。
【００２８】
請求項２に係る発明は、前記行列演算回路は、前記パリティ検査行列の行列データを部分行列に切り分けて部分行列データとして格納するようにした前記検査行列用メモリから前記部分行列データを逐次読み出す検査行列用ＤＭＡＣ（ダイレクト・メモリ・アクセス・コントローラ）と、前記メインメモリへの入力データ若しくは前記メインメモリからの出力データを入力ベクトルとして、前記検査行列用ＤＭＡＣが読み出した部分行列データとの行列演算を行う部分行列回路と、前記部分行列回路の出力を逐次加算するシンドローム計算回路と、前記検査行列用ＤＭＡＣによる逐次読み出しの回数と前記シンドローム計算回路による逐次加算の回数とを指定する逐次実行回数指定手段と、該逐次実行回数指定手段に指令された実行回数を変更する逐次実行回数変更手段と、を有することを特徴とする請求項１に記載の制御装置のメモリシステムである。  
請求項３に係る発明は、前記符号化回路と前記復号回路とにそれぞれ前記行列演算回路を備えることに替えて、１つの行列演算回路を備え、１つの該行列演算回路を時間分割で動作させるようにしたことを特徴とする請求項１または２のいずれか１つに記載の制御装置のメモリシステムである。
【発明の効果】
【００２９】
本発明により、符号化効率の異なるパリティ検査行列にそのままの回路で変更可能な、誤り訂正機能を有する信頼性の高い制御装置のメモリシステムを提供できる。
【００３０】
本発明により、産業装置などの制御装置が備えるプログラムやデータを保存するメモリシステムに対して大きなパリティ検査行列が適用可能で、小規模な回路で符号効率の高い誤り検査符号をメモリシステムに用いることができ、信頼性の高い高速な制御装置のメモリシステムを提供できる。
【図面の簡単な説明】
【００３１】
【図１】本発明に係るメモリシステムの概略構成図である。
【図２】本発明に係るメモリシステムの符号化回路に備わった行列演算回路の概略構成図である。
【図３】本発明に係るメモリシステムの復号回路に備わった行列演算回路の概略構成図である。
【図４】本発明に係るメモリシステムの行列演算回路の構成例の概略図である。
【図５】本発明に係るメモリシステムの符号化回路の概略構成図である。
【図６】本発明に係るメモリシステムの復号化色の概略構成図である。
【図７】従来技術である一般的な誤り訂正符号を使用したシステムの概略構成図である。
【発明を実施するための形態】
【００３２】
以下、本発明の実施形態を図面と共に説明する。  
図１は、本発明に係るメモリシステム１の概略構成図である。  
入力データはメインメモリ５に入力し格納データとして格納される。そして、該格納データはメインメモリ５から出力データとして出力される。検査行列用メモリ２はパリティ検査行列の行列データを格納している。検査行列用メモリ２に格納されるパリティ検査行列の行列データは図示しない書換手段により書換えることができる。
【００３３】
符号化回路３は行列演算回路４を備えている。符号化回路３は、入力データと検査行列用メモリ２から出力されるパリティ検査行列が入力し、行列演算回路４において両者の行列演算を実行し、演算結果を検査符号用メモリ６に出力する。
【００３４】
検査符号用メモリ６は符号化回路３から出力される演算結果を検査符号として格納する。また、格納した検査符号を復号回路７に出力する。復号回路７は、メインメモリ５から出力される出力データ及び検査行列用メモリ２から出力されるパリティ検査行列と検査符号用メモリ６から出力される検査符号が入力し、行列演算回路８において両者の行列演算を実行し、演算結果と検査符合を元に検査結果および訂正情報として出力する。
【００３５】
図２は、図１に示される本発明に係るメモリシステムの符号化回路３が備える行列演算回路４の概略構成図である。  
行列演算回路４は、部分行列演算回路４０、シンドローム計算回路４１、逐次実行回数指定手段４２、検査行列用ＤＭＡＣ４３を備えている。検査行列用ＤＭＡＣ４３は、データ転送をプロセッサ（ＣＰＵ）に代わって高速に行うコントローラである。行列演算回路４には、図１について説明したように、メインメモリ５に入力する入力データと検査行列用メモリからパリティ検査行列の部分行列データが入力する。入力データは入力ベクトルとしてパリティ検査行列の部分行列データと部分行列演算回路４０においてパリティ検査行列の部分行列の行列演算がなされる。
【００３６】
検査行列用ＤＭＡＣ４３は、検査行列用メモリ２に格納された検査行列データから部分行列演算回路４０に入力可能な大きさの部分行列データに小分けして読み出すことを指令するコントローラである。検査行列用ＤＭＡＣ４３（ＤＭＡコントローラ）はプロセッサを介さないでデータ転送を指令するコントローラでデータの転送を高速に行うことができる。
【００３７】
逐次実行回数指定手段４２は、パリティ検査行列データを小分けする回数を検査行列用ＤＭＡＣ４３とシンドローム計算回路４１に指令する手段である。検査行列用ＤＭＡＣ４３は、逐次実行回数指定手段４２により指定された回数だけ部分行列データを部分行列演算回路４０に出力するように検査行列用メモリ２を制御する。
【００３８】
シンドローム計算回路４１は、部分行列演算回路４０からの出力データを逐次実行回数指定手段４２により指定された部分行列に小分けした回数分だけ部分行列演算回路４０の出力を排他的論理和演算回路４１ａにおいて逐次演算を実行し、演算結果を逐次加算結果記憶手段４１ｂに格納し、シンドロームを出力する回路である。
【００３９】
行列演算回路４は、部分行列で小分けする回数である逐次実行回数を逐次実行回数変更手段９により任意の回数を逐次実行回数指定手段４２に指令して指定できる。これにより、行数や列数の異なるパリティ検査行列の演算を行列演算回路４において処理することができる。
【００４０】
復号回路７が有する行列演算回路８も行列演算回路４と同様に、部分行列演算回路８０、シンドローム計算回路８１、逐次実行回数指定手段８２、検査行列用ＤＭＡＣ８３を備えている。行列演算回路８０には、メインメモリ５から出力する出力データと検査行列用メモリから部分行列データが入力する。出力データは入力ベクトルとして部分行列データと部分行列演算回路８０においてパリティ検査行列の行列演算がなされる。
【００４１】
検査行列用ＤＭＡＣ８３は、検査行列用メモリ２に格納された検査行列データから部分行列演算回路８０に入力可能な大きさの部分行列データに小分けして読み出すことを指令するコントローラである。検査行列用ＤＭＡＣ８３（ＤＭＡコントローラ）はプロセッサを介しないでデータ転送を指令するコントローラでデータの転送を高速に行うことができる。
【００４２】
逐次実行回数指定手段８２は、パリティ検査行列データを小分けする回数を検査行列用ＤＭＡＣ８３とシンドローム計算回路８１に指令する手段である。検査行列用ＤＭＡＣ８３は、逐次実行回数指定手段８２により指定された回数だけパリティ検査行列の部分行列データを部分行列演算回路８０に出力するように検査行列用メモリ２を制御する。
【００４３】
シンドローム計算回路８１は、部分行列演算回路８０からの出力データを逐次実行回数指定手段８２により指定された部分行列に小分けした回数分だけ部分行列演算回路８０の出力を排他論理和の演算を逐次行い、シンドロームを出力する回路である。
【００４４】
行列演算回路８は、部分行列で小分けする回数である逐次実行回数を逐次実行回数変更手段９により任意の回数を逐次実行回数指定手段８２に指令して指定できる。これにより、行数や列数の異なるパリティ検査行列の演算を行列演算回路８において処理することができる。
【００４５】
なお図３に示されるように、復号回路７に備わった行列演算回路８は符号化回路３に備わった行列演算回路４と同じ構成であるので、符号化回路３と復号回路７にそれぞれ行列演算回路４，８を配置することに替えて、符号化回路３と復号回路７とで１つの行列演算回路を共用してもよい。１つの行列演算回路を符号化回路３と復号回路７で共用する際には時分割で行列演算回路を使用すればよい。
【００４６】
図４は、図２に示される部分行列演算回路４０の構成例の概略図である。なお、部分行列演算回路８０は、部分行列演算回路４０と同一構成であるので説明を省略する。  
メモリシステム１は、メインメモリ５の１ワードが３２ビットで、部分行列演算回路４０が行数８・列数３２である回路構成である。検査行列用メモリ２には行数１６・列数１０２４のパリティ検査行列Ｈの行列データが格納されている。そして、部分行列演算回路４０の逐次実行回数が縦２回×横３２回＝計６４回としてソフトウェアによって設定される。すなわち、大きなパリティ検査行列Ｈは部分行列Ｈj,x行列（数９式参照）として扱われる。
【００４７】
【数９】
2010199811.tif 000011
【００４８】
行列演算回路４の部分行列演算回路４０は行数８・列数３２のパリティ検査行列の演算を行う回路である。メインメモリ５に入力する１ワード単位の入力データと検査行列用メモリ２から部分行列データを入力することによって任意のパリティ検査行列Ｈj,xの演算を行うことができる。
【００４９】
次に、本発明における部分行列演算回路４０を用いた行列演算について図４の構成を用いて説明する。部分行列演算回路４０への入力データＤ（数１０式参照）は連続する３２ワード（１０２４ビット）の塊であって、部分行列演算回路４０に時間分割されて１ワード毎に入力される。
【００５０】
【数１０】
2010199811.tif 000012
【００５１】
検査行列用ＤＭＡＣ４３は、逐次実行回数に従い検査行列用メモリ２に対してパリティ検査行列Ｈの部分行列Ｈ0,xＨ1,xのデータを順次部分行列演算回路４０に渡すように制御する。部分行列演算回路４０は入力された分割された１ワード分の入力データＤxの入力に対してパリティ検査行列Ｈの部分行列の演算を行なう。図４に示されるように、入力ベクトルデータのＦＦ０は、部分行列の列データ０番の各ビットのデータと乗算（ＡＮＤ）される。また、入力ベクトルデータのＦＦ１は、部分行列の列データ１番の各ビットのデータと乗算（ＡＮＤ）される。そして、前記両者の乗算結果の排他的論理和（ＥＸＯＲ）がなされる。他の入力ベクトルデータ、部分行列の他の列データも図４に示されるように同様に演算処理される。これにより、分割された前記入力データＤxについての１６ビットの演算結果Ｓxの計算が終了する（数１１式参照）。
【００５２】
【数１１】
2010199811.tif 000013
【００５３】
そして、シンドローム計算回路４１では、前記演算結果Ｓxを実行回数に従い逐次排他的論理和の演算を行うことで３２ワードの入力データＤに対するパリティ検査行列のシンドロームＳを生成する（数１２式参照）。
【００５４】
【数１２】
2010199811.tif 000014
【００５５】
検査行列用メモリ２に格納されるパリティ検査行列の行列データと行列演算回路４，８の逐次実行回数とを変更することで、部分行列の構成を定数倍した構成の異なるパリティ検査行列によるシンドロームの生成が可能となる。
【００５６】
なお、シンドローム計算回路４１，８１の逐次実行回数と検査行列用ＤＭＡＣ４３，４３の逐次実行回数は、逐次実行回数指定手段４２，８２により指定され、指定される回数は、逐次実行回数変更手段９により変更される。変更の方法としては様々な方法があるが、例えば、逐次実行回数変更手段９が有するキーボードやＵＳＢメモリなどのデータ入力装置９０から入力されるパラメータの一部に逐次実行回数を配置して、逐次実行回数変更手段９のメモリ９２に保存しておき、システム１の立ち上げ時に、逐次実行回数変更手段９のＣＰＵ９１の制御により逐次実行回数指定手段４２，８２にセットされる。  
あるいは、パリティ検査行列を検査行列用メモリ２に入力する際に、パリティ検査行列の行列データと共にＵＳＢメモリ等のデータ入力装置９０からローディングされて、ＣＰＵ９１がパリティ検査行列の行列データを検査行列用メモリ２に保存すると共に逐次実行回数を逐次実行回数指定手段４２，８２にセットする方法等が考えられる。このように、検査行列用メモリ２に格納されるパリティ検査行列の行列データを逐次実行回数変更手段９の書換手段を用いて書換えることができる。
【００５７】
図５は、本発明を構成する符号化回路３の例である。メインメモリ５への３２ワードの連続した入力データに対して検査行列用メモリ２に格納された検査行列によるパリティ検査行列の演算結果であるシンドロームを出力する行列演算回路４と、前記シンドロームを検査符号として検査符号用メモリ６に格納する制御を行う検査符号用ＤＭＡＣ４３とを有し、入力データのメインメモリ５への書き込みの際に検査符号を検査符号用メモリ６に格納する。
【００５８】
図６は、本発明を構成する復号回路７の例である。メインメモリ５からの３２ワードの出力データに対して検査行列用メモリ２に格納されているパリティ検査行列の演算結果であるシンドロームを出力する行列演算回路８と、行列演算回路８から出力される前記シンドロームに対応する検査符号を検査符号用メモリ６から読み出す制御を行う検査符号用ＤＭＡＣ８７と、前記シンドロームと前記検査符号との比較（ＥＸＯＲ：排他的論理和演算）を排他的論理輪演算回路８４ａで行い検査結果として出力する検査回路８４と、検査回路８４から出力される前記検査結果と前記パリティ検査行列とを排他的論理和演算回路８５ａにより演算を行い、訂正情報を生成する誤り検索回路８５とを有する。検査回路８４と誤り検索回路８５は従来公知のものであり概略を説明すると、出力データからのシンドロームと検査符号とによる排他的論理和演算回路８４ａによる比較結果Ｗが検査結果として出力され、該検査結果と誤り探索用ＤＭＡＣにより読みだされたパリティ検査行列Ｈの列データとによる排他的論理和演算回路８５ａによる演算が行われ、誤り探索用ＤＭＡＣで誤り箇所が特定され訂正情報が出力される。
【符号の説明】
【００５９】
１  メモリシステム
２  検査行列用メモリ
３  符号化回路
４  行列演算回路
４０  部分行列演算回路
４１  シンドローム計算回路
４１ａ  排他的論理和演算回路
４１ｂ  逐次加算結果記憶手段
４２  逐次実行回数指定手段
４３  検査行列用ＤＭＡＣ
５  メインメモリ
６  検査符号用メモリ
７  復号回路
８  行列演算回路
８０  部分行列演算回路
８１  シンドローム計算回路
８１ａ  排他的論理和演算回路
８１ｂ  逐次加算結果記憶手段
８２  逐次実行回数指定手段
８３  検査行列用ＤＭＡＣ
８４  検査回路
８５  誤り検索回路
８６  誤り探索用ＤＭＡＣ
８７  検査符号用ＤＭＡＣ
９  逐次実行回数変更手段
９０  データ入力装置
９１  プロセッサ
９２  メモリ
【図１】
2010199811.tif 000015
【図２】
2010199811.tif 000016
【図３】
2010199811.tif 000017
【図４】
2010199811.tif 000018
【図５】
2010199811.tif 000019
【図６】
2010199811.tif 000020
【図７】
2010199811.tif 000021