(57)【特許請求の範囲】
【請求項１】
ＢＣＨコードを利用して読み出しデータのエラーを検出し訂正するエラー検出訂正システムが搭載されたメモリ装置において、
前記エラー検出訂正システムは、４ビットエラーが検出訂正可能であって、
前記読み出しデータに基づいてシンドロームを計算するシンドローム計算部と、
前記読み出しデータ対応の４次のエラー探索方程式の係数を前記シンドロームで表現する計算を行うシンドローム要素計算部と、
前記４次のエラー探索方程式を２以上の低次の因子方程式に分解し、それらの因子方程式を解くに当たって変数変換により未知数部分とシンドローム部分とに分離し、予めテーブルとして求められた解の候補のインデックスとシンドロームのインデックスとを比較してエラー位置を求めるエラー探索部と、
前記エラー位置に基づいてエラーを訂正するエラー訂正部と
を有する
ことを特徴とするメモリ装置。
【請求項２】
前記エラー検出訂正システムは、情報多項式ｆ（ｘ）の係数で表される情報ビットから、コード生成多項式ｇ（ｘ）＝ｍ１（ｘ）ｍ３（ｘ）ｍ５（ｘ）ｍ７（ｘ）（但し、ｍ１（ｘ），ｍ３（ｘ），ｍ５（ｘ），ｍ７（ｘ）は原始既約多項式）で割った剰余ｒ（ｘ）の係数で表されるチェックビットを生成するエンコード部と有し、
前記シンドローム計算部は、前記情報ビットとチェックビットからなるデータビットを記憶したメモリセルアレイからの読み出しデータに基づいてシンドロームＳ（＝Ｓ１），Ｓ３，Ｓ５及びＳ７を計算し、
前記シンドローム要素計算部は、前記読み出しデータ対応の４次のエラー探索方程式を、（ｘ−Ｘ１）（ｘ−Ｘ２）（ｘ−Ｘ３）（ｘ−Ｘ４）＝ｘ４＋Ｓｘ３＋Ｄｘ２＋Ｔｘ＋Ｑ＝０（但し、Ｘ１，Ｘ２，Ｘ３及びＸ４は未知数、Ｄ，Ｔ及びＱは解を求めるために導入したパラメータ）として、その係数をシンドロームで表現する計算を行い、
前記エラー探索部は、前記シンドローム要素計算部の計算結果に基づいて、前記エラー探索方程式を３次と２次の因子方程式に分けて解いて、エラービット位置を求め、
前記エラー訂正部は、前記エラー探索部が求めたエラービット位置に基づいてエラービットを訂正する
ことを特徴とする請求項１記載のメモリ装置。
【請求項３】
前記シンドローム要素計算部及びエラー探索部において、解の候補のインデックスとシンドロームのインデックスとの間の合同式計算を行う際に、２ｎ−１を法とする合同式を、互いに素である２ｎ−１の２因数をそれぞれ法とする合同式に分けて、これら二つの合同式を並列に計算する
ことを特徴とする請求項２記載のメモリ装置。
【請求項４】
２ｎ−１＝２５５を法とする合同式を、互いに素である１７と１５をそれぞれ法とする合同式に分けて、これら二つの合同式を並列に計算する
ことを特徴とする請求項３記載のメモリ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、４ビットエラー訂正可能なエラー検出訂正システムを搭載したメモリ装置に関する。
【背景技術】
【０００２】
メモリの微細化、大容量化が進むにつれて、個々のメモリセルのデータ保持の信頼性は低下する。特にメモリを多値化した場合には、データ保持特性は大きな問題になる。また、通常のフラッシュメモリの次世代メモリとして期待される、相変化メモリや抵抗変化メモリでは、データ状態の安定性に問題があり、これがデータ保持の信頼性確保を難しくする。
【０００３】
従って、メモリの読み出しデータについて実際に使用する前にエラーを検出し訂正するＥＣＣ（Ｅｒｒｏｒ  Ｃｏｒｒｅｃｔｉｎｇ  Ｃｏｄｅ）システムを搭載することは重要な技術となる。
【０００４】
フラッシュメモリチップ内に、或いはこれを制御するメモリコントローラ内にＥＣＣ回路を搭載することは、従来より提案されている（例えば、特許文献１参照）。
【０００５】
有限体ＧＦ（２ｎ）を利用するＢＣＨ−ＥＣＣシステムで２ビット以上のエラー訂正を行う場合、エラー位置探索方程式の解を求めるのに有限体の要素を逐次代入して方程式を満足させる要素を解として選択してエラー位置探索を行うと、演算時間は膨大になり、オンチップとした場合にもメモリの読み出しや書き込み性能を大幅に低下させる。
【０００６】
そこで、その様な逐次検索を行わず、従ってフラッシュメモリの性能を犠牲にしないような高速のＥＣＣシステムが望まれる。
【特許文献１】特開２０００−１７３２８９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
この発明は、４ビットエラー訂正可能なＥＣＣシステムを搭載したメモリ装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
この発明の一態様によるメモリ装置は、
ＢＣＨコードを利用して読み出しデータのエラーを検出し訂正するエラー検出訂正システムが搭載されたメモリ装置において、
前記エラー検出訂正システムは、４ビットエラーが検出訂正可能であって、
前記読み出しデータに基づいてシンドロームを計算するシンドローム計算部と、
前記読み出しデータ対応の４次のエラー探索方程式の係数を前記シンドロームで表現する計算を行うシンドローム要素計算部と、
前記４次のエラー探索方程式を２以上の低次の因子方程式に分解し、それらの因子方程式を解くに当たって変数変換により未知数部分とシンドローム部分とに分離し、予めテーブルとして求められた解の候補のインデックスとシンドロームのインデックスとを比較してエラー位置を求めるエラー探索部と、
前記エラー位置に基づいてエラーを訂正するエラー訂正部と
を有する。
【０００９】
この発明の他の態様によるメモリ装置のテスト方法は、
ＢＣＨコードを利用して読み出しデータのエラーを検出し訂正するエラー検出訂正システムが搭載されたメモリ装置のテスト方法であって、
前記エラー検出訂正システムは、ｎ（≧２）ビットエラーが検出訂正可能であって、ｎ次のエラー位置探索方程式を解くに当たって変数変換により未知数部分とシンドローム部分とに分離し、予めテーブルとして求められた解の候補のインデックスとシンドロームのインデックスとの比較によりエラー位置を求めるものであり、
情報データのコードをメモリコアに記憶することなく、これにエラーデータパターンを直接加えて、前記エラー検出訂正システムに通してエラー訂正が行われるか否かをテストする。
【００１０】
この発明の他の態様によるメモリシステムは、
メモリ装置と、
前記メモリ装置に搭載されて、ＢＣＨコードを利用して読み出しデータのエラーを検出し訂正するとともに、エラー訂正が不可能なエラーに対してエラー訂正不可信号を出力する機能を持つエラー検出訂正システムと、
前記エラー検出訂正システムが発生するエラー訂正不可信号に基づいて、前記メモリ装置の不良ブロックアドレスとこれに代わるべき代替ブロックアドレスの対応を記憶し、不良ブロックがアクセスされたときその不良ブロックアドレスに代わって代替ブロックアドレスを前記メモリ装置に送る内容参照メモリとを有する
ことを特徴とする。
【発明の効果】
【００１１】
この発明によれば、４ビットエラー訂正可能なＥＣＣシステムを搭載したメモリ装置を提供することができる。
【発明を実施するための最良の形態】
【００１２】
メモリにＥＣＣシステムを搭載するには、リアルタイムでデータ訂正を行なう必要があるために高速な計算処理が要求される。また、ランダムなエラー発生に対してはＢＣＨコードを用いたＥＣＣが有効であることは知られている。しかしこれまでのところ、４ビットエラー訂正可能な高速ＥＣＣシステムは、知られていない。この発明では、オンチップメモリ用の高速４ビットエラー訂正システムを提案する。
【００１３】
ＢＣＨコードを用いて高速にエラー検出演算を行なうには、予め作成しておいた解のテーブルとメモリからの読み出しデータから計算されたシンドロームを比較して解を求める。このような比較を行うには解を求める多項式で未知数を表す変数部分とシンドローム部分が分離した方程式が変数変換で作れることがキーとなる。
【００１４】
４ビットエラー訂正のＢＣＨコードシステムでは未知数とシンドロームが混在した４次多項式が解を求めるエラー探索方程式となるが、４次方程式をパラメータの導入により２次方程式の積に直し、より低次の（具体的には３次と２次の）因子方程式の解を求める方法に帰着させる。この様な変換により変数とシンドロームの分離が行なえること、更にＢＣＨコードの有限体の要素と解のテーブルとの比較を、“表現インデックス”というｉｎｄｅｘを導入することで短い計算の並列演算として高速に行なうことが出来ることを示す。
【００１５】
このようなＥＣＣシステムをメモリシステムに搭載することによって、メモリ外部から見ればメモリの性能を落とさずにデータ保持の信頼性を向上したメモリを提供できることになる。
【００１６】
この発明の概要を説明すれば、次の通りである。
【００１７】
・メモリセルアレイのデータ書き込みと或いは読み出しに際して、そのデータ転送過程でエンコードとデコードを行い、メモリセルアレイ等で生じた４ビットまでのエラーの訂正を行なうＥＣＣシステムをメモリと同じ基板上に、或いは同じパッケージ上に搭載する。
【００１８】
・ガロア有限体ＧＦ（２ｎ）のＢＣＨコードを利用して、４ビットエラー訂正を行なうＥＣＣシステムにおいて、エラービット位置を示す未知変数とエラーを含むデータから計算されたシンドロームを含むエラー位置検索方程式を二つ以上の低次の因子方程式の積に分解してその係数パラメータを確定してからそれぞれの因子方程式においてエラー位置探索方程式を解く。
【００１９】
・ｎ（≧２）ビットエラーが訂正可能なＥＣＣシステム搭載メモリ装置において、メモリへの読み書きを介さずに情報データのコードに直接一連のエラーパタンを与えてエラー訂正が行なわれるか否かをテストすることでメモリ装置のテストを行う方法。
【００２０】
［４ＥＣ−ＥＷ（4 error correction-error warning)−ＢＣＨシステムの原理説明］
・データのエンコーディング（encoding）
有限体ＧＦ（２ｎ）での一般的な場合について原理を説明し、その後具体的なＧＦ（２５６）の応用例としてのシステムを詳述する。
【００２１】
ＧＦ（２）上の原始既約多項式をｍ１（ｘ）としてこの根（原始根）をαとする。有限体としてＧＦ（２ｎ）を考えるのでｍ１（ｘ）はｎ次の多項式となる。このαを用いるとＧＦ（２ｎ）の要素はｈ＝２ｎ−１として０，α0，α1，…，αｈ−２，αｈ−１の２ｎ個である。
【００２２】
４つのエラー検出訂正を行うためには、α１，α３，α５及びα７を根とする既約多項式として、下記数１を満たす４つの原始既約多項式ｍ１（ｘ），ｍ３（ｘ），ｍ５（ｘ）及びｍ７（ｘ）を選択する。
【００２３】
【数１】
0004621715.tif 000002
これらの既約多項式から、下記数２の４ｎ次のコード生成多項式を作る。
【００２４】
【数２】
0004621715.tif 000003
ＥＣＣシステムのコードを作る要素は有限体のゼロ因子を除くとｈ個であるので、ｈ−１次の多項式の係数がデータを表すことになる。即ち情報多項式ｆ（ｘ）は、下記数３となる。
【００２５】
【数３】
0004621715.tif 000004
データビットのうちの情報ビットを係数ａ４ｎ〜ａｈ−１に割り当て４ｎ次から始まる多項式ｆ（ｘ）ｘ４ｎをｇ（ｘ）で割って剰余を求め、下記数４に示すように剰余をｒ（ｘ）とする。
【００２６】
【数４】
0004621715.tif 000005
上述のように、ｒ（ｘ）は４ｎ−１次の多項式で、その係数が情報ビットに付随するチェックビットｂ４ｎ−１〜ｂ０となり、これが情報ビットａ４ｎ〜ａｈ−１と併せてメモリに記憶させるデータを構成する。
【００２７】
・データのデコーディング（decoding）
データビットに生じたエラーはｈ−１次のエラー多項式ｅ（ｘ）で表されるので、メモリから読み出したデータに対応する多項式ν（ｘ）は、エラー多項式ｅ（ｘ）を用いて次のように表される。
【００２８】
【数５】
0004621715.tif 000006
エラー多項式ｅ（ｘ）の係数１の項がエラービットとなるので、これを求めるのがエラー検出である。
【００２９】
第1段階としてν（ｘ）をｍ１（ｘ），ｍ３（ｘ），ｍ５（ｘ），ｍ７（ｘ）でそれぞれ割って剰余をＳ１（ｘ），Ｓ３（ｘ），Ｓ５（ｘ），Ｓ７（ｘ）とすると、これはｅ（ｘ）の各々の剰余ともなっている。これらの剰余多項式がシンドローム（syndrome）多項式であり、下記数６のようになる。
【００３０】
【数６】
0004621715.tif 000007
4ビットエラーがｉ，ｊ，ｋ，ｌ 次にあれば、エラー多項式ｅ（ｘ）は次の数７となる。
【００３１】
【数７】
0004621715.tif 000008
このエラー多項式の次数ｉ，ｊ，ｋ，ｌを求めればエラー位置すなわちどのデータビットがエラーであるかが確定する。そこで、ｍ１（ｘ）＝０の根の指数に関するＧＦ（２ｎ）内での計算により、ｉ，ｊ，ｋ，ｌを求める。
【００３２】
そのために、ｘｎをｍ１（ｘ）で割った剰余をｐｎ（ｘ）とすると、αｎ＝ｐｎ（α）となるので、下記数８のように、Ｘ１，Ｘ２，Ｘ３，Ｘ４及びシンドロームＳ１，Ｓ３，Ｓ５及びＳ７を定義する。
【００３３】
【数８】
0004621715.tif 000009
以上の定義から、次の数９の関係が求まる。
【００３４】
【数９】
0004621715.tif 000010
ここでＸ１，Ｘ２，Ｘ３，Ｘ４のインデックスがそれぞれｉ，ｊ，ｋ，ｌでＳ１，Ｓ３，Ｓ５，Ｓ７のインデックスがそれぞれσ１ (=σ)，σ３，σ５，σ７である。
【００３５】
第２段階として、数１０に示す、Ｘ１，Ｘ２，Ｘ３，Ｘ４を未知数とするＧＦ（２ｎ）内の多項式ΛＲ（ｘ）を考える。
【００３６】
【数１０】
0004621715.tif 000011
数１０の各係数のパラメータＳ，Ｄ，Ｔ，Ｑは下記数１１に示すように、Ｘ１，Ｘ２，Ｘ３，Ｘ４の基本対称式となる。
【００３７】
【数１１】
0004621715.tif 000012
これらの係数とシンドロームである対称式Ｓ１＝Ｓ，Ｓ３，Ｓ５，Ｓ７の間には関係があって式で表すことができ、下記数１２の連立方程式系を構成する。
【００３８】
【数１２】
0004621715.tif 000013
【００３９】
Ｄ,Ｔ,Ｑ をシンドロームで表現するために上の３元連立方程式を解く。係数行列式をΓとして、下記数１３のように解くことができる。
【００４０】
【数１３】
0004621715.tif 000014
ここで、Γ≠０ならば、Ｄ，Ｔ，Ｑは確定し、次の数１４のエラー探索方程式を解く過程に入る。
【００４１】
【数１４】
0004621715.tif 000015
Γ＝０の場合は、連立方程式の解法から未知数のひとつＱを任意に設定してＤとＴを求めることが出来るが、４エラーきっかりが生じていればＳ，Ｄ，Ｔ，Ｑの間に任意関係はありえないので、この場合は５エラー以上が生じたか、３エラー以下の場合となる。
【００４２】
３エラーの場合は Ｘ４＝０ であるから、Ｑ＝０として次の２元連立方程式となり、ＤとＴを求めることができる。
【００４３】
【数１５】
0004621715.tif 000016
Ｓζ≠０の場合は、Ｄ＝ζ／Ｓ，Ｔ＝０となり、２エラーとなる。
【００４４】
Ｓζ＝０の場合は、ζは２元連立方程式の係数行列式であるので、Ｓ≠０で、ζ＝０なら、連立方程式の解法からＴを任意に設定してＤを求めることができるが、３エラーが生じていれば、Ｓ，Ｄ，Ｔの間に任意の関係はあり得ないので、この場合は、５エラーが生じたか、または２エラー以下となる。２エラー以下の場合、Ｘ３＝０であるから、Ｔ＝０とおいて、Ｄを求める。
【００４５】
Γ＝０，ζ＝０でかつ、Ｔ＝０の場合、上の連立方程式は、ＳＤ＝０となり、Ｓがゼロでないとしているので、Ｄ＝０、即ち１エラーとなり、Ｘ１＝Ｓとなる。この場合、ζ＝η＝θ＝０が導かれるので、Ｑ＝０が得られ、５エラー以上の可能性は排除される。
【００４６】
Ｓ＝０の場合は、ζ＝０なので、連立方程式から、Ｔ＝０となり２エラー以下であるが、Ｓ＝Ｘ１＋Ｘ２＝０から、Ｘ１＝Ｘ２の１エラーの場合となり、しかも１エラーとすると、Ｓ＝０であるので、結局エラーがゼロ(ｎｏ ｅｒｒｏｒ）となる。
【００４７】
以上で連立方程式の解法の全ての場合が尽くされ、この分岐したエラー探索で解が求まらない場合は、５エラー以上が発生していることになる。
【００４８】
以下に、分岐した場合（１）〜（９）それぞれの４次のエラー探索方程式の解法を、シンドロームから決まる量の関係の場合分けによって説明する。解かなければならないのは、数１４に示した４次方程式である。
【００４９】
（１）Ｓ≠０，Γ≠０，ｂ≠０，ｃ≠０の場合：
ここで、ａ＝Ｄ／Ｓ，ｂ＝Ｄ２＋ＳＴ，ｃ＝Ｓ２Ｑ＋ＳＤＴ＋Ｔ２，Ｂ＝ａ４＋Ｔａ＋Ｑである。
【００５０】
数１６に示すように、４次のエラー探索方程式にＸ＝ｘ＋ａなる変数変換を施して、更にそれを２次式の積の形に因数分解する。
【００５１】
【数１６】
0004621715.tif 000017
因数分解された２次式の係数α０，α１，β０，β１とシンドロームから導かれた量の関係から、未知量δ＝α０ ＋β０を導入してδが満たすべき３次の方程式が得られる。即ち、α０＋β０＝δとおいて、α０β０＝Ｂ，β１α０＋α１β０＝ｂ／Ｓ，δ＋α１β１＝０，α１＋β１＝Ｓとして、次の３次方程式が得られる。
【００５２】
【数１７】
0004621715.tif 000018
この方程式を解いて1根αを選択すると、因数分解係数が満たすべき２次方程式が２つ、数１８のように得られる。
【００５３】
【数１８】
0004621715.tif 000019
これらを解いて係数α０, α１，β０，β１が得られる。これらの係数を持つ因数分解の次の二つの２次方程式を解く。
【００５４】
【数１９】
0004621715.tif 000020
この方程式を解いて、未知量xを求めると、Ｘ＝ｘ＋ａからエラー探索の４次方程式の４つの解が求まる。
【００５５】
なお，各方程式を解く際に解のテーブルが利用できるように未知数の係数はＧＦ（２）の要素となる様に変換している。δを求める３次方程式では未知変数をδ／ｂ１／２とし、α０，β０を求める２次方程式では未知変数をε／δとし、α１，β１を求める２次方程式では未知変数をε／Ｓとし、因数分解の２次方程式ではｘ／α１，ｘ／β１としている。
【００５６】
（２）Ｓ≠０，Γ≠０，ｂ≠０，ｃ＝０の場合：
ここで、ａ＝Ｄ／Ｓ，ｂ＝Ｄ２＋ＳＴ，Ｂ＝ａ４＋Ｔａ＋Ｑであり、Ｓ２Ｑ＋ＳＤＴ＋Ｔ２＝０，Ｓ４Ｂ＝ｂ２である。
【００５７】
変数変換Ｘ＝ｘ＋ａを施してエラー探索方程式から２次の項を消去し，これを数２０のように、２次式の積に因数分解する。
【００５８】
【数２０】
0004621715.tif 000021
因数分解された２次式の係数α０，α１，β０，β１とシンドロームから導かれた量の関係から、未知量δ＝α０ ＋β０を導入してδが満たすべき３次の方程式が得られる。即ち、α０＋β０＝δとおいて、α０β０＝Ｂ，β１α０＋α１β０＝ｂ／Ｓ，δ＋α１β１＝０，α１＋β１＝Ｓとして、次の３次方程式が得られる。
【００５９】
【数２１】
0004621715.tif 000022
この方程式を解いて1根α（≠０）即ちｂ１／２を選択すると、因数分解係数が満たすべき２次方程式が２つ、数２２のように得られる。
【００６０】
【数２２】
0004621715.tif 000023
これらを解いて係数α０, α１，β０，β１が得られる。但し、Ｂ／δ２＝（δ／Ｓ２）２なので、α０／δ＝（α１／Ｓ）２，β０／δ＝（β１／Ｓ）２である。
【００６１】
これらの係数を持つ因数分解の次の二つの２次方程式を解く。
【００６２】
【数２３】
0004621715.tif 000024
この方程式を解いて、未知量xを求めると、Ｘ＝ｘ＋ａからエラー探索の４次方程式の解が求まる。ここで先の関係式から、α０／α１２＝β０／β１２＝δ／Ｓ２であり、ｕ１＝α１／Ｓ,ｕ２＝β１／Ｓとすると4次方程式の根として、数２４が得られる。
【００６３】
【数２４】
0004621715.tif 000025
数２４から、Ｘ２＝Ｘ３となり、結局３つのエラー位置の解が求まる。
【００６４】
なおδ＝０も解を求める条件に合致し同じ結果が得られるが、計算の過程が変わり先の条件（１）の場合の計算の流れが利用できないので選択しない。
【００６５】
（１）の場合と同様に各方程式を解く際に解のテーブルが利用できるように未知数の係数はＧＦ（２）の要素になる様に変換している。α０，β０を求める２次方程式では未知変数をε／δとし、α１，β１を求める２次方程式では未知変数をε／Ｓとし、因数分解の２次方程式ではｘ／α１，x／β１  としている。
【００６６】
（３）Ｓ≠０，Γ≠０，ｂ＝０，ｃ≠０の場合：
ここで、ａ＝Ｄ／Ｓ，ｃ＝Ｓ２Ｑ＋ＳＤＴ＋Ｔ２，Ｂ＝ａ４＋Ｔａ＋Ｑであり、Ｄ２＋ＳＴ＝０，Ｓ２Ｂ＝ｃである。
【００６７】
変数変換Ｘ＝ｘ＋ａを施してエラー探索方程式から２次の項を消去し，これを数２５のように２次式の積に因数分解する。
【００６８】
【数２５】
0004621715.tif 000026
因数分解の２次式の係数α0、α1，β0，β1とシンドロームから導かれた量の関係から、未知量δ＝α0 +β0を導入してδが満たすべき３次方程式が得られる。即ち、α０＋β０＝δとおいて、α０β０＝Ｂ，β１α０＋α１β０＝０，δ＋α１β１＝０，α１＋β１＝Ｓとして、数２６の３次方程式が得られる。
【００６９】
【数２６】
0004621715.tif 000027
この方程式からδ＝ｃ１／３が得られ、因数分解係数が満たすべき２次の方程式が２つ、数２７のように得られる。
【００７０】
【数２７】
0004621715.tif 000028
これらを解いて係数α０, α１，β０，β１が得られる。ただしこの場合の条件から、Ｂ／δ２＝δ／Ｓ２となるのでα１とβ１を求める2次方程式の根とα0とβ0を求める２次方程式の根は全く同じ、ｕ１＝α0／δ＝α1／Ｓ，ｕ２＝β0／δ＝β1／Ｓとなり、2次の方程式は実質ひとつになる。即ち、下記数２８の２次方程式を解くことになる。
【００７１】
【数２８】
0004621715.tif 000029
この２次方程式を解いて未知量xを求め、Ｘ＝ｘ＋ａからエラー探索の4次方程式の解が求まる。この際、先の関係式からα0／α１２＝δ／（Ｓ２ｕ１），β0／β１２＝δ／（Ｓ２ｕ２）であるから、４つの解が求まる。
（１）と同様に各方程式を解く際に解のテーブルが利用できるように未知数の係数はＧＦ（２）の要素になる様に変換している。α0，β0  を求める２次方程式では未知変数をε／δ， α1，β1を求める２次方程式では未知変数をε／Ｓ，因数分解の２次方程式ではｘ／α1，ｘ／β1  としている。
【００７２】
（４）Ｓ≠０，Γ≠０で、ｂ＝０，ｃ＝０の場合：
ここで、ａ＝Ｄ／Ｓ，Ｂ＝ａ４＋Ｔａ＋Ｑであり、Ｄ２＋ＳＴ＝０，Ｓ２Ｑ＋ＳＤＴ＋Ｔ２＝０，Ｓ２Ｂ＝０である。
【００７３】
変数変換Ｘ＝ｘ＋ａを施してエラー探索方程式から２次の項を消去すると、数２９が得られる。
【００７４】
【数２９】
0004621715.tif 000030
これから、二つの解Ｘ１＝ａ，Ｘ２＝Ｓ＋ａが得られる。
【００７５】
（５）Ｓ≠０，ζ≠０で、Γ＝０の場合：
Ｑ＝０の場合のみ４エラー以下であり、この場合で解がなければ５エラー以上となり、Ｄ＝ζ／Ｓ，Ｔ＝０である。
【００７６】
４次のエラー探索方程式は次の２次方程式になる。
【００７７】
【数３０】
0004621715.tif 000031
これを解いてすぐに2つの解が得られる。
【００７８】
なお、方程式を解く際に解のテーブルが利用できるように未知数の係数はＧＦ（２）の要素になる様に変換している。すなわちＸ／Ｓを未知変数としている。
【００７９】
（６）Ｓ≠０で、Γ＝０，ζ＝０の場合：
Ｔ＝０であり、ＳＤ＋Ｔ＝ζよりＤ＝０で更に、Ｑ＝０である。
【００８０】
従ってエラー探索方程式は、次の数３１となる。
【００８１】
【数３１】
0004621715.tif 000032
これから、ゼロでないひとつの解として、Ｘ１＝Ｓが得られる。
【００８２】
（７）Γ≠０，Ｄ≠０で、Ｓ＝０の場合：
ΓＤ≠０からζ≠０，η≠０であり、Γ＝ζ2, Ｄ＝η／ζ, Ｔ＝ζ, Ｑ＝η２／ζ２＋θ／ζ, ｂ＝Ｄ２，ｃ＝Ｔ２である。
【００８３】
数３２のようにエラー探索方程式は３次の項がなくなり、これを２次式の積に因数分解する。
【００８４】
【数３２】
0004621715.tif 000033
２次式の係数α0，α1，β0，β1とシンドロームから導かれた量の関係即ち、未知量δ＝α０＋β０を導入して、α０β０＝Ｑ，β１α０＋α１β０＝Ｔ，δ＋α１β１＝Ｄ，α１＋β１＝０を用いて、δ／Ｄ＋１の満たすべき３次の方程式が数３３のように得られる。
【００８５】
【数３３】
0004621715.tif 000034
この方程式は２次の項がない他の条件でも使用した３次方程式の形である。この方程式を解いて1根をδとして求め、因数分解係数が満たすべき２次方程式が２つ、数３４のように得られる。
【００８６】
【数３４】
0004621715.tif 000035
これらを解いて係数α０, α１，β０，β１  が得られる。ただしα１とβ１を方程式の根とするものはすぐに解けα１＝β１＝（δ＋Ｄ）１／２を得る。
【００８７】
これらの係数を持つ因数分解の次の２次方程式を解く。
【００８８】
【数３５】
0004621715.tif 000036
これにより、未知量Ｘがエラー探索方程式の４つの解として求まる。
（１）と同様に各方程式を解く際に解のテーブルが利用できるように未知数の係数はＧＦ（２）の要素になる様に変換している。α０，β０を求める２次方程式では未知変数をε／δとし、因数分解の２次方程式ではＸ／α１としている。
【００８９】
（８）Γ≠０で、Ｓ＝０及びＤ＝０の場合：
Γ≠０からζ≠０であり、Ｓ＝０及びＤ＝０からη＝０であり、Γ＝ζ2, Ｄ＝η/ζ, Ｔ＝ζ, ｃ＝Ｔ2, Ｄ＝０, Ｑ＝θ／ζである。
【００９０】
エラー探索方程式は２次と３次の項がない、数３６となる。
【００９１】
【数３６】
0004621715.tif 000037
その因数分解の２次式の係数α0、α1，β0，β1とシンドロームから導かれた量の関係から、未知量δ＝α0 ＋β0を導入して、α０β０＝Ｑ，β１α０＋α１β０＝Ｔ，δ＋α１β１＝０，α１＋β１＝０を用いて、δが満たすべき3次の方程式が得られる。
【００９２】
【数３７】
0004621715.tif 000038
この方程式はすぐ解けて、δ＝ｃ1/3が得られる。このδから因数分解係数が満たすべき２次の方程式が２つ、数３８のように得られる。
【００９３】
【数３８】
0004621715.tif 000039
これらの係数を持つ因数分解の次の２次方程式を解く。
【００９４】
【数３９】
0004621715.tif 000040
これにより、未知量Ｘがエラー探索方程式の４つの解として求まる。
【００９５】
（１）と同様に各方程式を解く際に解のテーブルが利用できるように未知数の係数はＧＦ（２）の要素になる様に変換している。α0、β0  を求める２次方程式では未知変数をε／δとし、因数分解の２次方程式ではＸ／α1としている。
【００９６】
（９）Γ＝０及びＳ＝０の場合：
Γ＝ζ２＝０，Ｔ＝ζ＝０であり、4エラー以下の場合のシンドロームの量の関係式から、η＝θ＝０で、Ｄ＝０及びＱ＝０として、エラー探索方程式は、数４０となる。
【００９７】
【数４０】
0004621715.tif 000041
即ちこの場合、エラーなし（ｎｏ ｅｒｒｏｒ）となる。
【００９８】
５エラー以上あれば、η≠０かθ≠０となり、数４０の４エラーの関係式は不成立である。この場合はエラー訂正不可（ｎｏｎ ｃｏｒｒｅｃｔａｂｌｅ）となる。
【００９９】
以上のエラー探索の計算過程を、実際のシステムの計算手順に即し必要な量と式のみで示すと、次の通りである。
【０１００】
1)前掲（９）に相当するＳ＝０でζ＝０の場合：
【０１０１】
η＝０かつθ＝０ならｎｏ ｅｒｒｏｒである。η≠０またはθ≠０ならｎｏｎ ｃｏｒｒｅｃｔｂｌｅである。
【０１０２】
2)前掲（８）に相当するＳ＝０でζ≠０かつη＝０の場合：
【０１０３】
δ＝ζ２／３，Ｑ＝θ／ζとおいて、方程式ｕ２＋ｕ＝Ｑ／δ２を解き、解ｕ１とｕ２を得る。α０＝δｕ１，β０＝δｕ２，α1＝β1＝δ１／２とおいて、方程式ｙ２＋ｙ＝α０／α１２，ｚ２＋ｚ＝β０／β１２を解き、それぞれ解ｙ１，ｙ２とｚ１，ｚ２を得る。Ｘ１＝α１ｙ１，Ｘ２＝α１ｙ２，Ｘ３＝β１ｚ１，Ｘ４＝β１ｚ２がエラー位置を示す解となる。
【０１０４】
3)前掲（７）に相当するＳ＝０でζ≠０かつη≠０の場合：
【０１０５】
ｂ＝η２／ζ２，ｃ＝ζ２，Ｑ＝η２／ζ２＋θ／ζとおいて、方程式ｗ３＋ｗ＝ｃ／ｂ３／２を解き1根ｗを選択する。この根からδ＝ｂ１／２（ｗ＋１）を作り、方程式ｕ２＋ｕ＝Ｑ／δ２を解き解ｕ１とｕ２を得る。α０＝δｕ１，β０＝δｕ２，α１＝β１＝(δ＋ｂ１／２) １／２とおいて、方程式ｙ２＋ｙ＝α０／α１２，ｚ２＋ｚ＝β０／β１２を解き、それぞれ解ｙ１とｙ２，ｚ１とｚ２を得る。Ｘ１＝α１ｙ１，Ｘ２＝α１ｙ２，Ｘ３＝β１ｚ１，Ｘ４＝β１ｚ２がエラー位置を示す解となる。
【０１０６】
4)前掲（６）に相当するＳ≠０でζ＝０かつΓ＝０の場合：
【０１０７】
Ｘ１＝Ｓなるひとつのエラーである。
【０１０８】
5)前掲（５）に相当するＳ≠０かつζ≠０でΓ＝０の場合：
【０１０９】
Ｄ＝ζ／Ｓとおいて、α0＝Ｄ，α1＝Ｓとして方程式方程式ｙ２＋ｙ＝α０／α１２を解き解ｙ１とｙ２を得る。Ｘ１＝α1ｙ1，Ｘ２＝α1ｙ2が二つのエラー位置を示す解となる。
【０１１０】
6)前掲（１）に相当するＳ≠０かつΓ≠０かつｂ≠０かつｃ≠０の場合：
【０１１１】
方程式ｗ３＋ｗ＝ｃ／ｂ３／２を解き１根ｗを選択する。この根ｗからδ＝ｂ１／２ｗを作り、方程式ｕ２＋ｕ＝Ｂ／δ２及びｖ２＋ｖ＝δ／Ｓ２を解き解ｕ１とｕ２及びｖ１とｖ２を得る。α0＝δｕ１，β0＝δｕ２，α1＝Ｓｖ１，β1＝Ｓｖ２とおいて、方程式ｙ２＋ｙ＝α0／α１２，ｚ２＋ｚ＝β0／β１２を解きそれぞれ解ｙ１とｙ２、ｚ１とｚ２を得る。Ｘ１＝α１ｙ１＋ａ，Ｘ２＝α１ｙ２＋ａ，Ｘ３＝β１ｚ１＋ａ，Ｘ４＝β１ｚ２＋ａがエラー位置を示す解となる。
【０１１２】
7)前掲（２）に相当するＳ≠０かつΓ≠０かつｂ≠０でｃ＝０の場合：
【０１１３】
δ＝ｂ１／２とおき、方程式ｕ２＋ｕ＝Ｂ／δ２及びｖ２＋ｖ＝δ／Ｓ２を解き解ｕ１とｕ２及びｖ１とｖ２を得る。ただし条件から、ｕ＝ｖ２という関係がある。α0＝δｕ１，β0＝δｕ２，α1＝Ｓｖ１，β1＝Ｓｖ２とおいて、方程式ｙ２＋ｙ＝α0／α１２，ｚ２＋ｚ＝β0／β１２を解きそれぞれ解ｙ１とｙ２、ｚ１とｚ２を得る。ここでも条件からｙ＝ｚとなっている。Ｘ１＝α1ｙ1＋a，Ｘ２＝α1ｙ2＋a，Ｘ３＝β1ｚ1＋a，Ｘ４＝β1ｚ2＋aがエラー位置を示す解となるが、条件からＸ2＝Ｘ3＝δ／Ｓ＋aとなっている。
【０１１４】
8)前掲（３）に相当するＳ≠０かつΓ≠０かつｃ≠０でｂ＝０の場合：
【０１１５】
δ＝ｃ1/3とおき、方程式ｕ２＋ｕ＝Ｂ／δ２及びｖ２＋ｖ＝δ／Ｓ２を解き解ｕ１とｕ２及びｖ１とｖ２を得る。ただし条件からｕ＝ｖとなる。α0＝δｕ１，β0＝δｕ２，α１＝Ｓｖ１，β１＝Ｓｖ２とおいて、方程式ｙ２＋ｙ＝α0／α１２，ｚ２＋ｚ＝β0／β１２を解きそれぞれ解ｙ１とｙ２、ｚ１とｚ２を得る。Ｘ１＝α1ｙ1＋ａ，Ｘ２＝α1ｙ２＋ａ，Ｘ３＝β1ｚ1＋ａ，Ｘ４＝β1ｚ２＋ａがエラー位置を示す解となる。
【０１１６】
9)前掲（４）に相当するＳ≠０かつΓ≠０でｂ＝０かつｃ＝０の場合：
【０１１７】
（４）からは直接Ｘ１＝ａ，Ｘ２＝Ｓ＋ａと解が求まるが、8)の計算過程を出来るだけ利用するために以下の様な手順で行なう。α0＝β0＝０，α1＝β1＝Ｓとおいて、方程式ｙ２＋ｙ＝α0／α１２，ｚ２＋ｚ＝β0／β１２を解きそれぞれ解ｙ1とｙ2、ｚ1とｚ2を得る。ただし解ｙ1とｙ2、ｚ1とｚ2 のそれぞれは一方が０で他方が１となり、例えばｙ1＝０、ｙ2＝１、ｚ1＝０、ｚ2＝１となる。このときＸ1＝α1ｙ1＋ａ＝ａ、Ｘ2＝α1ｙ2＋ａ＝Ｓ＋ａ、Ｘ3＝β1ｚ1＋ａ＝ａ、Ｘ4＝β1ｚ2＋ａ＝Ｓ＋ａがエラー位置を示す解となる。
【０１１８】
先のエラー探索方程式を解く手順で様々な量を計算の分岐と計算の過程で利用したが、これらの量は全てシンドロームから計算される量である。シンドロームＳ(＝Ｓ１)，Ｓ３，Ｓ５，Ｓ７は記憶されたデータから直接計算され得られる量であり、他の量はこれをもとに積、累乗、和を行なうことによって得られる。
【０１１９】
図１はシンドロームから順に計算で必要な量が得られる手順を示している。シンドロームが得られた次のステップ１でζ＝Ｓ3＋Ｓ3，η＝Ｓ5＋Ｓ5，θ＝Ｓ7＋Ｓ7を計算する。ここでは累乗と和の演算が行なわれる。
【０１２０】
次のステップ２でこの計算結果とＳを用いてこれらの様々な累乗の積と商とが計算される。必要な量は１３個ある。これらの１３個の量の和と積を計算するのがその次のステップ３でΓ，ΓＤ，ΓＴ，Ｓ2ζηの4つの量が計算される。
【０１２１】
次のステップ４で前のステップの量の商演算とこれまでに得られた量の和によってＤ，Ｔ，ΓＱを計算する。次のステップ５は得られた量の積と商によってａ，ＳＴ，ＤＴ，Ｑを計算する。
【０１２２】
更に次のステップ６で和と積と商演算でｂ，Ｓ2Ｑ，ＳＤＴ，Ｔａを計算し、最後のステップ７で和によってｃとＢを計算する。
【０１２３】
シンドローム以降の計算ステップは以上の７ステップで、累乗演算は量を表現するコードの組み換えであるマルチプレックスで対応でき、和はパリティチェッカ回路、積と商は量を表現するコードのアダー回路で対応できる。これらの詳細は後に説明する。
【０１２４】
［４ＥＣ−ＥＷ−ＢＣＨシステムの構成説明］
図２は、４ビットまでのエラー訂正が可能で、５ビット以上のエラーがあることの警告を出すことができる４ＥＣ−ＥＷ−ＢＣＨシステムの構成図である。
【０１２５】
記憶すべきデータに対応する情報多項式ｆ（ｘ）に基づいて、チェックビットを生成する剰余多項式ｒ（ｘ）を求めるのが、エンコード部２１である。情報ビットはデータビットの構成によって適宜必要な次数を選んでその係数のみを用い、使用しない係数は固定した０または１データとして扱うことによって、固定ビットをメモリに記憶させずにメモリ容量に合ったシステムを構成する。
【０１２６】
情報ビットの次数の選択は、計算規模やシステム規模が最小になるよう選択する。一般的には情報をａｉとしてこれらを係数とするｈ−１−４ｎ次の多項式が情報多項式ｆ（ｘ）である。
【０１２７】
前述のように、ｆ（ｘ）ｘ４ｎをコード生成多項式ｇ（ｘ）で割った剰余をｒ（ｘ）として多項式ｆ（ｘ）ｘ４ｎ＋ｒ（ｘ）の係数をデータビットとしてメモリコア２２に書き込む。ここでメモリコア２２は、メモリセルアレイとデコーダ回路及びセンスアンプ回路を含むもので、具体的には、フラッシュメモリや抵抗変化メモリ（相変化メモリを含む）等の大容量メモリであり、ビットエラーが避けられない構成のものである。
【０１２８】
データ読み出しに関しては、メモリコア２２から読み出したｈビットのデータは ｈ−１次の多項式ν（ｘ）の係数として扱われる。
【０１２９】
この読み出しデータ多項式ν（ｘ）に基づいて、シンドロームＳ（＝Ｓ１），Ｓ３，Ｓ５，Ｓ７を求めるのが、シンドローム計算部２３である。ν（ｘ）をｍ１（ｘ），ｍ３（ｘ），ｍ５（ｘ），ｍ７（ｘ）でそれぞれ割った剰余からシンドロームＳ，Ｓ３，Ｓ５，Ｓ７を得て、そのインデックスをｍｏｄ １７，ｍｏｄ １５で区別する。
【０１３０】
ｍｏｄ １７とｍｏｄ １５のペアで表されるインデックスを以後、“表現インデックス”と呼ぶ。以後の計算では、アダーにおいてはシンドロームＳ，Ｓ３，Ｓ５，Ｓ７は表現インデックスで表され、これを更にバイナリ数としての足し算が行なわれ、パリティチェッカでは表現インデックスをデコードして有限体要素としての７次の多項式として表され、各次数の係数のパリティチェックの結果として和の要素の多項式の係数を得て、これを表現インデックスにデコードする。
【０１３１】
シンドロームが得られた後は、シンドローム要素計算（ＳＥＣ；Syndrome Element Calculation)部２４において、先に図１に示したステップで必要な量が計算されレジスタに保持される。１５個のレジスタがある。
【０１３２】
シンドローム要素計算部２４で得られた量をもとにエラー位置探索を行なうのが、エラー探索（ＥＳ：Error Search）部２５である。これらの要素計算部２４及びエラー探索部２５で保持されるのは全て表現インデックスである。これらの計算過程を制御するのがクロック発生器２７で、外部クロックＣＬから分周されたクロックｃｋ１〜ｃｋ１６が用いられる。図では計算ブロックを主に制御するクロック分配が示されている。
【０１３３】
なお、シンドローム要素計算部２４とエラー探索部２５とは、データをやり取りして互いの回路ブロックをマルチプレックスして使用し、回路規模を小さくするようにしている。従って、図ではシンドローム要素計算部２４とエラー探索部２５とは両方向の矢印で結ばれている。
【０１３４】
エラー探索部２５で得られた結果は、エラー訂正（ＥＣ：Error Correction）部２６によってメモリから読み出されたデータの修正に利用される。エラー訂正部２６では外部からメモリに入れられた情報データ多項式ｆ（ｘ）が復元され、情報データとして出力される。
【０１３５】
図３は、クロック発生器２７の生成するクロックの概要を示している。メモリとデータの転送を制御する基本クロックＣＬは、数十nsのサイクルタイムを有する。このクロックＣＬをトリガとしてクロック発生器２７は、内部クロックｃｋ１〜ｃｋ１６を発生する。クロック発生の具体的方法はここでは述べないが、例えば筆者が以前提案した特願2004-150614に記載されている方法が利用できる。
【０１３６】
クロックｃｋ１〜ｃｋ１６は順次重なりなくカスケード的に発生されて巡回するクロックであり、数nsのパルスクロックである。更にこれらのパルスクロックをトリガとして新たなクロックサイクルが開始されるまで状態を保持するダッシュつきのクロックが発生される。例えばｃｋ８パルスからはｃｋ８’が、ｃｋ１０パルスからはｃｋ１０’が発生される。なお、条件に依存して発生される状態保持タイプのクロックは2重ダッシュを付して今後の説明で用いる。
【０１３７】
図４は、ＳＥＣ部２４の詳細構成である。即ちＳＥＣ部２５は、３つの２入力パリティチェッカグループ４０１〜４０３と、１６個のアダーグループ４１１〜４１６，４２１〜４２７，４３１，４４１び４４２と、４つの４入力パリティチェッカグループ４５１，４６１，４６２及び４７１と、１５個のデータレジスタグループ４８０とから構成される。
【０１３８】
これらのうち３つの２入力パリティチェッカグループ４０１〜４０３と、入出力に括弧つきの別の量が示されている７つのアダーグループ２２１〜４２７と、３つの４入力パリティチェッカグループ４５１，４６１，４６２はマルチプレックスして使用される。
【０１３９】
各回路グループと制御クロックの関係も合わせて示している。この計算手順は先に示した７ステップでの計算に相当する。
【０１４０】
シンドローム計算部２３はクロックｃｋ１で制御される。この計算結果を受けて、ＳＥＣ部２４ではまず、クロックｃｋ２でステップ１に相当する計算である３つの２入力パリティチェッカグループ４０１〜４０３を働かせる。ステップ２に相当する１３個の計算量のアダーグループ４１１〜４１６，４２１〜４２７はクロックｃｋ３で働く。
【０１４１】
次のステップ３に相当する和と積は、クロックｃｋ４で働くひとつのアダーグループ４３１と３つの４入力パリティチェッカグループ４５１，４６１，４６２で行われる。ステップ４に相当する積と和は、クロックｃｋ５で働く２つのアダーグループ４４１，４４２とひとつの４入力パリティチェッカグループ４７１で行われる。
【０１４２】
ステップ５に相当する積は、４つのアダーグループ４２２〜４２５をマルチプレックスしてクロックｃｋ６で働く。ステップ６に相当する積と和は、３つのアダーグループ４２１，４２６，４２７と１つの４入力パリティチェッカグループ４５１でクロックｃｋ７で働く。ステップ７に相当する和は、２つの４入力パリティチェッカグループ４６１，４６２でクロックｃｋ８で働く。
【０１４３】
これらの計算過程で得られた１５個の計算結果はそれぞれダッシュつきのクロックで図に示すようにレジスタグループ４８０に保持される。
【０１４４】
各回路ブロックの詳細は後に説明する。
【０１４５】
図５は、ＥＳ部２５の詳細構成を示す。先のＳＥＣ部２４での計算結果として保持された有限体要素を元にして計算を進めてエラー位置を特定するのがＥＳ部２５である。その構成は、３次方程式の解を求める回路ブロック（ＣＵＢＥ部）５００と、２次方程式の解を求める回路ブロック（ＳＱＵＡＲＥ部）５１０と、要素間の和を求める４つの２入力パリティチェッカグループ５２０〜５２３とを有する。
【０１４６】
ＣＵＢＥ部５００は、３次方程式の未知数部が等値されるシンドロームから得られる量Ｈを計算するひとつのアダーグループ５０１と、３次方程式ｗ３＋ｗ＝Ｈからｗを求めるデコーダ回路５０２と、ｗから本来欲しい量δをｗまたはｗ＋１とｂ１／２の積として計算するひとつのアダーグループ５０３とからなる。
【０１４７】
ＳＱＵＡＲＥ部５１０は、２次方程式の未知数部が等値されるδから得られる量ＪとＫを計算する２つのアダーグループ５１１ａ，５１２ａと、２つの２次方程式ｕ２＋ｕ＝Ｊとｖ２＋ｖ＝Ｋとからからｕとｖをそれぞれ求めるデコーダ回路５１３ａ，５１４ａと、ｕ及びｖから４次方程式の2次式への因数分解の係数α0、β0、α1、β1を計算する４つのアダーグループ５１５ａ〜５１８ａを有する。
【０１４８】
ＳＱＵＡＲＥ部５１０は更に、得られた係数からエラー探索の４次方程式の根を求めるために解く２次方程式の未知数部に等値される量ＬとＭを計算する２つのアダーグループ５１１ｂ，５１２ｂと、２つの２次方程式ｙ２＋ｙ＝Ｌとｚ２＋ｚ＝Ｍからｙとｚをそれぞれ求めるデコーダ回路５１３ｂ，５１４ｂと、ｙ及びｚから４次方程式の解を計算する４つのアダーグループ５１５ｂ〜５１８ｂとから構成される。
【０１４９】
なお、ＳＱＵＡＲＥ部５１０では、全く同じ構成の回路システムが計算の前半と後半で使用されるので、図中括弧でくくった後半の計算回路部分５１１ｂ〜５１８ｂは前半回路部分５１１ａ〜５１８ａをマルチプレクスして利用する。このために前半回路部の計算結果を保持するためのレジスタ（α0、β0、α1、β1）群５３０が設けられている。
【０１５０】
ＳＱＵＡＲＥ部５１０の計算結果はそれぞれシンドロームから得ら量を加えて本来のエラー探索結果となるので、この和の計算を行なう４つの２入力パリティチェッカグループ５２０〜５２３があり、その結果を保持するためのレジスタ（X1、X2、X3、X4）群５３１も設けられている。
【０１５１】
なおこの４つのパリティチェッカグループ５２０〜５２３はそのうちの３つ５２０〜５２２をＳＥＣ部２４で使用される３つのパリティチェッカグループ４０１〜４０３をマルチプレクスして使用している。
【０１５２】
以下、ＥＳ部２５について、具体的な計算の場合に従って計算に進行過程を説明する。８つのケースｃａｓｅ１〜ｃａｓｅ８の計算過程を、図６〜図１２を参照して説明する。
【０１５３】
図６は、ケース１（case１）であり、計算方式の説明の6)に相当する。ＳＥＣ部２４のレジスタ群４８０が、Ｓ≠０、Γ≠０、ｂ≠０、ｃ≠０の場合で、他の量としてＢを計算に使用する。各計算回路ブロックにはそのブロックを働かせるタイミングクロックを示した。
【０１５４】
回路ブロック（ＣＵＢＥ部）５００ではクロックｃｋ９でｂとｃからそれらの累乗の積がアダー５０１で作られ、デコーダ５０２でクロックｃｋ１０により３次方程式の解がデコードされ、解ｗとｂの累乗積がアダー５０３で計算されて、結果δを得る。
【０１５５】
回路ブロック（ＳＱＵＡＲＥ部）５１０では、クロックｃｋ１１でＢとδの累乗の積がひとつのアダーで、δとＳの累乗の積がもうひとつのアダーで計算され（アダーグループ５１１ａ，５１２ａ）、クロックｃｋ１２でそれぞれ２次方程式の解がデコードされ（デコード回路５１３ａ，５１４ａ）、それぞれの解とδ及びＳとの積が４つのアダーで計算されてα0、β0、α1、β1が得られて（アダーグループ５１５ａ〜５１８ａ）、クロックｃｋ１３ででこれらがレジスタ群５３０に保持される。
【０１５６】
その後同じ回路ブロック５１０がマルチプレクスして使用される。すなわちクロックｃｋ１３でα0、α1の累乗の積がひとつのアダーで、β0、β1の累乗の積がもうひとつのアダーで計算され（アダーグループ５１１ｂ，５１２ｂ）、クロックｃｋ１４でそれぞれ２次方程式の解がデコードされ（デコード回路５１３ｂ，５１４ｂ）、それぞれの解とα1及びβ1との積が４つのアダーグループ５１５ｂ〜５１８ｂで計算されてα１ｙ１、α１ｙ２、β１ｚ１、β１ｚ２が得られる。
【０１５７】
２入力パリティチェッカグループ５２０〜５２２によって、以上の結果がクロックｃｋ１５でａと加えられてX1、X2、X3、X4が得られ、これがクロックｃｋ１６でレジスタ群５３１に保持される。
【０１５８】
図７は、ケース２（case2）であり、計算方式の説明の2)に相当する。レジスタ群４８０が、Ｓ＝０、ζ≠０、η＝０  の場合で、他の量としてζ-1θを計算に使用する。各計算回路ブロックにはそのブロックを働かせるタイミングクロックを示した。回路ブロック５００による計算は必要ではなく、ここではδ＝ζ2/3とおく。またこのケースでは、パリティチェッカグループも用いられない。
【０１５９】
回路ブロック５１０では、クロックｃｋ５でζ-1θとδの累乗の積がひとつのアダーで、もうひとつのアダーでの計算はないのでゼロが入力され（アダーグループ５１１ａ，５１２ａ）、クロックｃｋ６で２次方程式の解がデコードされて（デコード回路５１３ａ，５１４ａ）、解とδの積が２つのアダー５１５ａ，５１６ａで計算されてα0、β0が得られる。さらにα1＝β1＝ζ1/3とおき、クロックｃｋ７でこれらがレジスタ群５３０に保持される。
【０１６０】
その後同じ回路ブロックがマルチプレクスして使用される。すなわちクロックｃｋ７でα0、α1の累乗の積がひとつのアダーで、β0、β1の累乗の積がもうひとつのアダーで計算され（アダーグループ５１１ｂ，５１２ｂ）、クロックｃｋ８でそれぞれ２次方程式の解がデコードされ（デコード回路５１３ｂ，５１４ｂ）、それぞれの解とα1及びβ1との積が４つのアダーで計算されて（アダーグループ５１５ｂ〜５１８ｂ）、X1、X2、X3、X4 が得られる。この結果がクロックｃｋ９でレジスタ群５３１に保持される。
【０１６１】
図８はケース３（case3）であり、計算方式の説明の3)に相当する。レジスタ群４８０が、Ｓ＝０、ζ≠０、η≠０の場合で、他の量としてζ-1ηとＱを計算に使用する。各計算回路ブロックにはそのブロックを働かせるタイミングクロックを示した。
【０１６２】
ｃ＝ζ2、ｂ＝(ζ-1η)2  とおいて、回路ブロック５００では、クロックｃｋ７でｂとｃからそれらの累乗の積が作られ（アダー５０１）、クロックｃｋ８で３次方程式の解がデコードされ（デコード回路５０２）、解ｗに１を加えたｗ＋１とｂの累乗積がアダーで計算されて（アダー５０３）、結果δを得る。
【０１６３】
回路ブロック５１０では、クロックｃｋ９でＱとδの累乗の積がひとつのアダー５１１ａで計算され、もうひとつのアダー５１２ａは計算には使用しなのでゼロが入力される。クロックｃｋ１０で２次方程式の解がデコードされて（デコード回路５１３ａ，５１４ａ）、解とδとの積が２つのアダーで計算されてα0、β0  が得られる（アダー５１５ａ，５１６ａ）。さらにα1＝β1＝(δ+ζ-1η)1/2  とおいて、クロックｃｋ１１でこれらがレジスタ群５３０に保持される。
【０１６４】
なお、クロックｃｋ９のタイミングで２入力パリティチェッカグループのひとつ５２３でδとζ-1ηの和が計算されてα1とβ1で利用される。その後同じ回路ブロック５１０がマルチプレクスして使用される。すなわちクロックｃｋ１１でα0、 α1の累乗の積がひとつのアダーで、β0、β1の累乗の積がもうひとつのアダーで計算され（アダーグループ５１１ｂ，５１２ｂ）、クロックｃｋ１２でそれぞれ２次方程式の解がデコードされ（デコード回路５１３ｂ，５１４ｂ）、それぞれの解とα1及びβ1との積が４つのアダーでで計算されてX1、X2、X3、X4 が得られる（アダーグループ５１５ｂ〜５１８ｂ）。この結果がクロックｃｋ１３でレジスタ群５３１に保持される。
【０１６５】
図９は、ケース４（case4）とケース５（case5）を併せて示している。上部に示したケース４は、計算方式説明の4)に相当する。Ｓ≠０、ζ＝０、Γ＝０の場合で、クロックｃｋ６でレジスタ群５３１にＸ１＝Ｓを保持するだけでよい。
【０１６６】
図９の下部のケース５（case5）は、計算方式の説明の5)に相当する。Ｓ≠０、ζ≠０、Γ＝０の場合で、他の量としてＳ-1ζを計算に使用する。各計算回路ブロックにはそのブロックを働かせるタイミングクロックを示した。
【０１６７】
回路ブロック５０１による計算と回路ブロック５１０による前半の計算は必要ではなく、α0＝Ｓ-1ζ、α1＝Ｓとおいて、これをクロックｃｋ６でレジスタ群５３０に保持する。
【０１６８】
回路ブロック５１０では、クロックｃｋ６でα0とα1の累乗の積がひとつのアダーで計算され、もうひとつのアダーは計算には使用しなのでゼロが入力される
（アダーグループ５１１ｂ，５１２ｂ）。クロックｃｋ７で２次方程式の解がデコードされて（デコード回路５１３ｂ，５１４ｂ）、その解とα1との積が２つのアダーで計算されてX1、X2が得られ（アダーグループ５１５ｂ，５１６ｂ）、これらがクロックｃｋ８でレジスタ群５３１に保持される。
【０１６９】
図１０はケース６（case6）であり、計算方式の説明の7)に相当する。Ｓ≠0、Γ≠0、ｂ≠0、ｃ＝0の場合で、他の量としてＢを計算に使用する。各計算回路ブロックにはそのブロックを働かせるタイミングクロックを示した。
【０１７０】
回路ブロック５００による計算は必要ではなく、δ＝ｂ1/2とおく。
【０１７１】
回路ブロック５１０は、クロックｃｋ９でＢとδの累乗の積がひとつのアダーで、δとＳの累乗の積がもうひとつのアダーで計算され（アダーグループ５１１ａ，５１２ａ）、クロックｃｋ１０でそれぞれ２次方程式の解がデコードされ（デコード回路５１３ａ，５１４ａ）、それぞれの解とδ及びＳとの積が４つのアダーで計算されてα0、β0、α1、β1が得られる（アダーグループ５１５ａ〜５１８ａ）。これらの結果がクロックｃｋ１１でレジスタ群５３０に保持される。
【０１７２】
その後同じ回路ブロック５１０がマルチプレクスして使用される。すなわちクロックｃｋ１１でα0、α1の累乗の積がひとつのアダーで、β0、β1の累乗の積がもうひとつのアダーで計算され（アダーグループ５１１ｂ，５１２ｂ）、クロックｃｋ１２でそれぞれ２次方程式の解がデコードされ（デコード回路５１３ｂ，５１４ｂ）、それぞれの解とα1及びβ1との積が４つのアダーで計算されてα1y1、α1y2 、β1z1 、β1z2  が得られる（アダーグループ６１５ｂ〜５１８ｂ）。
【０１７３】
この結果が、クロックｃｋ１３により２入力パリティチェッカ５２０〜５２３によって、ａと加えられてX1、X2、X3、X4が得られ、これがクロックｃｋ１４でレジスタ群５３１に保持される。
【０１７４】
図１１は、計算方式の説明の8)に相当するケース７（case7）である。Ｓ≠０、Γ≠０、ｂ＝０、ｃ≠０の場合で、他の量としてＢを計算に使用する。各計算回路ブロックにはそのブロックを働かせるタイミングクロックを示した。
【０１７５】
回路ブロック５００による計算は必要ではなく、δ＝ｃ1/3とおく。
【０１７６】
回路ブロック５１０では、クロックｃｋ９でＢとδの累乗の積がひとつのアダーで、δとＳの累乗の積がもうひとつのアダーで計算され（アダーグループ５１１ａ，５１２ａ）、クロックｃｋ１０でそれぞれ２次方程式の解がデコードされ（デコード回路５１３ａ，５１４ａ）、それぞれの解とδ及びＳとの積が４つのアダーで計算されてα0、β0、α1、β1が得られる（アダーグループ５１５ａ〜５１８ａ）。それらの結果がクロックｃｋ１１でレジスタ群５３０に保持される。
【０１７７】
その後同じ回路ブロックがマルチプレクスして使用される。すなわちクロックｃｋ１１でα0、α1の累乗の積がひとつのアダーで、β0、β1の累乗の積がもうひとつのアダーで計算され（アダーグループ５１１ｂ，５１２ｂ）、クロックｃｋ１２でそれぞれ２次方程式の解がデコードされ（デコード回路５１３ｂ，５１４ｂ）それぞれの解とα1及びβ1との積が４つのアダーで計算されてα1y1、α1y2 、β1z1 、β1z2  が得られる（アダーグループ５１５ｂ〜５１８ｂ）。
【０１７８】
この結果が、２入力パリティチェッカグループ５２０−５２３によって、クロックｃｋ１３でａと加えられてX1、X2、X3、X4が得られる。これがクロックｃｋ１４でレジスタ群５３１に保持される。
【０１７９】
図１２はケース８（case8）であり、計算方式の説明の9)に相当する。Ｓ≠０、Γ≠０、ｂ＝、ｃ＝０の場合で、他の量としてａとＢを計算に使用する。各計算回路ブロックにはそのブロックを働かせるタイミングクロックを示した。
【０１８０】
回路ブロック５００による計算と回路ブロック５１０による前半の計算は必要ではなく、α0＝β0＝"０"、 α1＝β1＝Ｓとおいて、これをクロックｃｋ９でレジスタ群５３０に保持する。 
【０１８１】
回路ブロック５１０では、クロックｃｋ９でα0、α1の累乗の積がひとつのアダーで、β0、β1の累乗の積がもうひとつのアダーで計算され（アダーグループ５１１ｂ，５１２ｂ）、クロックｃｋ１０でそれぞれ２次方程式の解がデコードされ（デコード回路５１３ｂ，５１４ｂ）、それぞれの解とα1及びβ1との積が４つのアダーで計算されてα1y1、α1y2、β1z1、β1z2が得られる（アダーグループ５１５ｂ〜５１８ｂ）。
【０１８２】
この結果が、２入力パリティチェッカグループ５２０−５２３によって、クロックｃｋ１３でａと加えられてX1、X2、X3、X4が得られる。これがクロックｃｋ１２でレジスタ群５３１に保持される。
【０１８３】
ここまでは一般的な記述で４ビットエラー探索と訂正の原理的な説明を行なってきたが、具体的な回路システムを説明するために２５６の要素からなるＧＦ（２５６）の場合について詳細な実施の形態を示す。ＧＦ（２５６）を選ぶ理由はメモリで一括して扱うデータ量が１２８ビット以上から２５６ビット程度までが実用的であるためである。
【０１８４】
・データのエンコーディング
基本既約多項式ｍ１（ｘ）を下記数４１とし、その根をαとする。
【０１８５】
【数４１】
0004621715.tif 000042
ＧＦ（２５６）では、ＧＦ（２）上の多項式として８次多項式となる。このαを用いるとＧＦ（２５６）の要素は０，α0,α1,…,α253,α254の２５６個である。
【０１８６】
α3,α5及びα7を根とする既約多項式として、ｍ３（ｘ），ｍ５（ｘ）及びｍ７（ｘ）を下記数４２のように選択する。
【０１８７】
【数４２】
0004621715.tif 000043
これらの既約多項式から、コード生成多項式ｇ（ｘ）＝ｍ１（ｘ）ｍ３（ｘ）ｍ５（ｘ）ｍ７（ｘ）を作ると、下記数４３のような３２次多項式となる。
【０１８８】
【数４３】
0004621715.tif 000044
ＥＣＣシステムのコードを作る要素は有限体のゼロ因子を除いた２５５個であるので２５４次の多項式の係数がデータを表すことになる。データビットのうちの情報ビットを係数ａ32〜ａ254に割り当て３２次から始まる多項式ｆ（ｘ）ｘ３２をｇ（ｘ）で割って剰余を求めｒ（ｘ）とする。ｒ（ｘ）は、数４４に示すように、３１次の多項式となる。
【０１８９】
【数４４】
0004621715.tif 000045
ｒ（ｘ）の係数ｂ３１，ｂ３０，…，ｂ１，ｂ０が情報ビットに付随した３２のチェックビットとなり、情報ビットと合わせてメモリに記憶させるデータを構成する。
【０１９０】
扱う情報データとしては２の累乗がメモリの構成上望ましいので、１２８ビットとするとデータビット数は１６０ビットとなる。１２８の情報ビットをＧＦ（２５６）の多項式のどの次数に割当てるかは計算の効率の観点から決める。この方法は後に説明する。
【０１９１】
情報ビットの次数の選択は計算規模やシステム規模が最小になるよう選択され、１２８ビットの情報をａi(1)〜ａi(128)としてこれらを係数とするi(128)-1次の多項式をｆ（ｘ）とする。これが入力となる。選ばれた１２８ビットの次数を昇順でi(1),i(2),…,i(127),i(128) で示す。
【０１９２】
図１３は、ＧＦ（２５６）を用いた４ＥＣ−ＢＣＨシステムでのシンドローム多項式Ｓ１（ｘ），Ｓ３（ｘ３），Ｓ５（ｘ５），Ｓ７（ｘ７）の同時並列計算の量が少なくなるように選択を行なった多項式次数の選択の1例である。計算で使用する有限体要素多項式である７次多項式ｐｎ（ｘ）の係数１の総数が出来るだけ少なくなるように、かつ各次数での係数１の総数が次数間で均等にバラツクように、１２８個の次数を選択している。
【０１９３】
具体的にはｘのｎ乗をｍ１（ｘ），ｍ３（ｘ），ｍ５（ｘ）及びｍ７（ｘ）で割った剰余をそれぞれ有限体要素で表したことに相当するｐｎ（ｘ）の係数、これの３乗であるｐ３ｎ（ｘ）、５乗であるｐ５ｎ（ｘ）、７乗であるｐ７ｎ（ｘ）の係数１の数を考慮して選択している。０次から３１次はチェックビットとして使用されるので固定ビットである。選択された１２８個の次数を昇順にｉ(1)，ｉ(2)，…，ｉ(127)，ｉ(128)として対応する実際に選択された次数を表の真ん中の行に示した。
【０１９４】
図１４Ａ及び図１４Ｂは、チェックビットを計算するためのデータビット位置に対応するｆ（ｘ）ｘ３２の次数の選択表である。表の意味は以下の通りである。
【０１９５】
単項ｘｉをコード生成多項式ｇ（ｘ）で割った３１次多項式となる剰余ｒｉ（ｘ）を求めておく。選択された１６０個のデータは２５４次多項式の各次数の係数となるので、データが１である場合はそのデータ位置の次数のｘｉの項があり、生成多項式ｇ（ｘ）の剰余の寄与はｒｉ（ｘ）である。
【０１９６】
よってデータ1であるｉのｒｉ（ｘ）を選択してｒｉ（ｘ）の各次数の係数の和をｍｏｄ ２で求めればデータ多項式のｇ（ｘ）での割り算による剰余となる。但しｒｉ（ｘ）の各次数で係数が０であるものはどのようなデータ多項式でもこの計算に寄与しないので予め除いておける。
【０１９７】
ｒｉ（ｘ）の各次数ｍについてその係数が１であるｉをまとめると、これらの表になる。もちろん表には選択されて使用される１２８個の次数のｉのみが挙げてあり、チェックビットを作る際にはｉ＝３１までの次数はデータとして使わないのでｉ＝３２以降のｉの表となる。
【０１９８】
表の使い方は、例えばｘ１５の係数が１であるｒｉ（ｘ）のｉは表のｍ＝１５の行の"ＰＣＬ入力番号"の欄の値が１から６５に書かれている３３，３４，３８，…，２２７，２４９，２５３のｉの次数の項であり、チェックビットのｘ１５の係数に相当するｂ１５は情報データ多項式ｆ（ｘ）ｘ３２の中のこの選択されたｉ次の項の中のデータが１であるビット位置のｉの１のパリティチェックの結果、すなわち表の中のデータが１に相当するｉの数のｍｏｄ ２の剰余として得られる。
【０１９９】
図１５は、上述のチェックビットの計算表を回路として実現したものである。情報データ多項式ｆ（ｘ）ｘ３２からチェックビットを、ｇ（ｘ）による剰余として計算する回路であり、入力選択回路１５１と３２個の４ビットパリティ・チェッカ・ラダー（ＰＣＬ：Ｐａｒｉｔｙ  Ｃｈｅｃｋｅｒ  Ｌａｄｄｅｒ）１５２とを有する。
【０２００】
４ビットＰＣＬ１５２は、チェックビットを表す多項式の各次数の係数の値を計算するためのＸＯＲ回路の集合で、生成多項式によるｘｉの剰余のテーブルに従って各次数で入力を選択してそのパリティを計算する。
【０２０１】
入力選択回路１５１は入力信号である情報データ多項式の係数ａi(1)〜ａi(128)信号すなわち入力データ信号をインバータで反転した信号の配線と、ＰＣＬの入力となる配線との接続をテーブルに従って選択するものである。入力配線の交点は入力データとテーブルのｍ＝０〜３２の総数の和から１２８×２０２６であり、必要な交点がテーブルより選ばれてそこにコンタクトが設けられる。
【０２０２】
図１６は、４ビットＰＣＬ１５２の一例である。各ｍについて表からｎを選択しａｉを用いてパリティチェックを行なう。入力の数が４の剰余系のいずれに属するかによって用いるパリティチェッカ（ＰＣ）を組合せる。すなわち、４で割り切れれば４ビットＰＣのみで、１が余れば２ビットＰＣの一方の入力端子をＶｓｓにしたもの（すなわちバッファ）を加え、２が余れば２ビットＰＣを加え、３が余れば４ビットＰＣのひとつの入力端子をＶｓｓにしたものを加える。
【０２０３】
ｘｉのｍ＝１７は図１４Ａ，１４Ｂの表からパリティチェックするビット数が最大の７３個であるのでこの場合を例として示す。７３入力であるので最初の段は４ビットＰＣを１８個とバッファ１個、２段目は１９入力となるから、４ビットＰＣを５個（うち１個は、一つの入力端子をＶｓｓ）、３段目は５入力となるので４ビットＰＣを1個とバッファ1個、４段目は２入力なので２ビットＰＣ一つで構成される。
【０２０４】
他のｍについても同様に構成する。
【０２０５】
図１７は、２ビットＰＣの回路記号と具体回路を示している。即ち２ビットＰＣは、入力２ビットａとｂをＸＯＲ部とＸＮＯＲ部でロジック演算して、even parity、すなわち入力端子中の"1"の数が奇数のときＥＰ＝"1"を出力する。
【０２０６】
図１８は、４ビットＰＣの回路記号と具体回路を示している。４ビットＰＣでは、４ビット入力ａ，ｂ，ｃ，ｄを、構成要素である二つの２ビットＰＣの出力のロジックを取り、奇数個の１が入力にあるときＥＰ＝"1"を出力する。
【０２０７】
・シンドローム計算部２３
図１９は、シンドロームＳ＝Ｓ１（ｘ）の計算で使用する、ｘｉのｍ１（ｘ）での剰余ｐｉ（ｘ）の各次数の係数が1であるｉの表である。表の意味は以下の通りである。
【０２０８】
単項ｘｉを多項式ｍ１（ｘ）で割った７次の剰余多項式ｐｉ（ｘ）を求めておく。２５５個のデータは２５４次の多項式の各次数の係数となるので、データが1である場合はそのデータ位置の次数のｘｉの項があり、多項式ｍ１（ｘ）の剰余の寄与はｐｉ（ｘ）である。よってデータが1であるｉのｐｉ（ｘ）を選択してｐｉ（ｘ）の各次数ｍの係数の和をｍｏｄ ２で求めれば、データ多項式のｍ１（ｘ）での割り算による剰余となる。
【０２０９】
但しｐｉ（ｘ）の各次数で係数が０であるものはどのようなデータ多項式でもこの計算に寄与しないので予め除いておける。ｐｉ（ｘ）の各次数ｍについてその係数が1であるｉをまとめると図１９の表になる。
【０２１０】
例えばｘ７の係数が1であるｐｉ（ｘ）のｉは表のｍ＝７の行の"ＰＣＬ入力番号"の欄の数が１から７１の列に書かれている７，１１，１２，…，２３７，２４２，２５４のｉであり、Ｓ１（ｘ）のｘ７の係数に相当する(ｓ)７は、データの多項式ν（ｘ）の中のこれらのｉ次の項の係数のパリティチェックの結果として得られる。
【０２１１】
図２０は、シンドロームＳ３＝Ｓ３（ｘ３）の計算で使用する、ｘ３ｉのｍ１（ｘ）での剰余ｐ３ｉ（ｘ）の各次数の係数が1であるｉの表である。表の意味は以下の通りである。
【０２１２】
単項ｘｉを多項式ｍ３（ｘ）で割った７次多項式となる剰余をｔｉ（ｘ）とする。Ｓ３（ｘ）へはｔｉ（ｘ）が寄与するが、Ｓ３＝Ｓ３（ｘ３）であるからＳ３へはｔｉ（ｘ３）が寄与する。ｘｉ≡ｔｉ（ｘ）ｍｏｄ ｍ３（ｘ）からｔｉ（ｘ３）≡ｘ３ｉｍｏｄ ｍ３（ｘ３）かつ、ｍ３（ｘ３）≡０ ｍｏｄ ｍ１（ｘ）であるので、ｔｉ（ｘ３）≡ｘ３ｉ≡ｐ３ｉ（ｘ） ｍｏｄ ｍ１（ｘ）となる。
【０２１３】
ＧＦ（２５６）の要素はｍｏｄ ｍ１（ｘ）の既約剰余なのでν（ｘ）のｘｉの項からはＳ３にｐ３ｉ（ｘ）の寄与と等しくなる。そこでｐ３ｉ（ｘ）を求めておく。２５５個のデータは２５４次の多項式の各次数の係数となるので、データが1である場合はそのデータ位置の次数のｘｉの項があり、この項の多項式ｍ３（ｘ）の剰余ｔｉ（ｘ）のＳ３＝Ｓ３（ｘ３）への寄与はｐ３ｉ（ｘ）である。
【０２１４】
よってデータ1であるｉのｐ３ｉ（ｘ）を選択してｐ３ｉ（ｘ）の各次数ｍの係数の和をｍｏｄ ２で求めればデータ多項式のｍ３（ｘ）での割り算による剰余Ｓ３（ｘ）を求めなくてもＳ３（ｘ３）が直接得られる。但し、ｐ３ｉ（ｘ）の各次数で係数が０であるものはどのようなデータ多項式でもこの計算に寄与しないので予め除いておける。ｐ３ｉ（ｘ）の各次数ｍについてその係数が1であるｉをまとめると図２０の表になる。
【０２１５】
例えばｘ７の係数が1であるｐ３ｉ（ｘ）のｉは表のｍ＝７の行の"ＰＣＬ入力番号"の欄の数が１から７３の列に書かれている４，８，１４，…，２４２，２４９，２５４のｉであり、Ｓ３（ｘ３）のｘ７の係数に相当する(ｓ3)７はデータの多項式ν（ｘ）の中のこれらのｉ次の項の係数のパリティチェックの結果として得られる。
他のｍについても同様にして係数が得られる。
【０２１６】
図２１はシンドロームＳ５＝Ｓ５（ｘ５）の計算で使用する、ｘ５ｉのｍ１（ｘ）での剰余ｐ５ｉ（ｘ）の各次数の係数が1であるｉの表である。表の意味は以下の通りである。
【０２１７】
単項ｘｉを多項式ｍ５（ｘ）で割った７次多項式となる剰余をｑｉ（ｘ）とする。Ｓ５（ｘ）へはｑｉ（ｘ）が寄与するがＳ５＝Ｓ５（ｘ５）であるからＳ５へはｑｉ（ｘ５）が寄与する。ｘｉ≡ｑｉ（ｘ） ｍｏｄ ｍ５（ｘ）からｑｉ（ｘ５）≡ｘ５ｉ ｍｏｄ ｍ５（ｘ５）とｍ５（ｘ５）≡０ ｍｏｄ ｍ１（ｘ）なので、ｑｉ（ｘ５）≡ｘ５ｉ≡ｐ５ｉ（ｘ） ｍｏｄ ｍ１（ｘ）となる。
【０２１８】
ＧＦ（２５６）の要素はｍｏｄ ｍ１（ｘ）の既約剰余なのでν（ｘ）のｘｉの項からはＳ５にｐ５ｉ（ｘ）の寄与と等しくなる。そこでｐ５ｉ（ｘ）を求めておく。２５５個のデータは２５４次の多項式の各次数の係数となるので、データが1である場合はそのデータ位置の次数のｘｉの項があり、この項の多項式ｍ５（ｘ）の剰余ｑｉ（ｘ）のＳ５＝Ｓ５（ｘ５）への寄与はｐ５ｉ（ｘ）である。
【０２１９】
よってデータが1であるｉのｐ５ｉ（ｘ）を選択してｐ５ｉ（ｘ）の各次数ｍの係数の和をｍｏｄ ２で求めれば、データ多項式のｍ５（ｘ）での割り算による剰余Ｓ５（ｘ）を求めなくてもＳ５（ｘ５）が直接得られる。但しｐ５ｉ（ｘ）の各次数で係数が０であるものはどのようなデータ多項式でもこの計算に寄与しないので予め除いておける。ｐ５ｉ（ｘ）の各次数ｍについてその係数が1であるｉをまとめると図２１の表になる。
【０２２０】
例えばｘ７の係数が1であるｐ５ｉ（ｘ）のｉは表のｍ＝７の行の"ＰＣＬ入力番号"の欄の数が１から６４の列に書かれている４，７，９，…，２４２，２５０，２５３のｉであり、Ｓ５（ｘ５）のｘ７の係数に相当する(ｓ5)７はデータの多項式ν（ｘ）の中のこれらのｉ次の項の係数のパリティチェックの結果として得られる。
【０２２１】
他のｍについても同様にして係数が得られる。
【０２２２】
図２２は、シンドロームＳ７＝Ｓ７（ｘ７）の計算で使用する、ｘ７ｉのｍ１（ｘ）での剰余ｐ７ｉ（ｘ）の各次数の係数が1であるｉの表である。表の意味は以下の通りである。
【０２２３】
単項ｘｉを多項式ｍ７（ｘ）で割った７次多項式となる剰余をｓｅｉ（ｘ）とする。Ｓ７（ｘ）へはｓｅｉ（ｘ）が寄与するがＳ７＝Ｓ７（ｘ７）であるからＳ７へはｓｅｉ（ｘ７）が寄与する。ｘｉ≡ｓｅｉ（ｘ） ｍｏｄ ｍ７（ｘ）から、ｓｅｉ（ｘ７）≡ｘ７ｉ ｍｏｄ ｍ７（ｘ７）とｍ７（ｘ７）≡０ ｍｏｄ ｍ１（ｘ）なので、ｓｅｉ（ｘ７）≡ｘ７ｉ≡ｐ７ｉ（ｘ） ｍｏｄ ｍ１（ｘ）となる。
【０２２４】
ＧＦ（２５６）の要素はｍｏｄ ｍ１（ｘ）の既約剰余なので、ν（ｘ）のｘｉの項からはＳ７にｐ７ｉ（ｘ）の寄与と等しくなる。そこでｐ７ｉ（ｘ）を求めておく。２５５個のデータは２５４次の多項式の各次数の係数となるので、データが1である場合はそのデータ位置の次数のｘｉの項があり、この項の多項式ｍ７（ｘ）の剰余ｓｅｉ（ｘ）のＳ７＝Ｓ７（ｘ７）への寄与はｐ７ｉ（ｘ）である。
【０２２５】
よってデータ1であるｉのｐ７ｉ（ｘ）を選択してｐ７ｉ（ｘ）の各次数ｍの係数の和をｍｏｄ ２で求めれば、データ多項式のｍ７（ｘ）での割り算による剰余Ｓ７（ｘ）を求めなくてもＳ７（ｘ７）が直接得られる。但しｐ７ｉ（ｘ）の各次数で係数が０であるものはどのようなデータ多項式でもこの計算に寄与しないので予め除いておける。ｐ７ｉ（ｘ）の各次数ｍについてその係数が1であるｉをまとめると図２２の表になる。
【０２２６】
例えばｘ７の係数が1であるｐ７ｉ（ｘ）のｉは表のｍ＝７の行の"ＰＣＬ入力番号"の欄の数が１から８１の列に書かれている１，５，６，…，２４２，２４９，２５０のｉであり、Ｓ７（ｘ７）のｘ７の係数に相当する(ｓ7)７はデータの多項式ν（ｘ）の中のこれらのｉ次の項の係数のパリティチェックの結果として得られる。
【０２２７】
他のｍについても同様にして係数が得られる。
【０２２８】
図２３は、上述のシンドロームＳ（＝Ｓ１），Ｓ３，Ｓ５，Ｓ７の計算表を回路として実現した場合の構成である。データ多項式ν（ｘ）から各シンドロームをｍ１（ｘ）の剰余として計算する際のパリティチェック回路であり、入力回路部２３１と、４ビットＰＣＬ２３２とからなる。
【０２２９】
４ビットＰＣＬは、チェックビットを表す多項式の各次数の係数の値を計算するためのＸＯＲ回路の集合で、多項式ｍ１（ｘ）によるｘｉの剰余ｐｉ（ｘ）のテーブルに従って各次数で入力を選択してそのパリティを計算する。
【０２３０】
入力回路部２３１は入力信号であるデータ多項式の１６０個の係数ｄ０，ｄ１，…，ｄ３１，ｄｉ(1)，…，ｄｉ(128)すなわちメモリからのデータ信号をインバータで反転した信号をテーブルにしたがって配線接続し、さらにインバータで反転してバッファすることでＰＣＬ２３２の入力とする。
【０２３１】
入力配線の交点は、入力データとテーブルのｍ＝０〜７の総数の和から、Ｓの場合１６０×５７５、Ｓ３の場合１６０×６１８、Ｓ５の場合１６０×５７１、Ｓ７の場合１６０×５７８である。これらの必要な交点がテーブルより選ばれてコンタクトが設けられ、接続が実現される。
【０２３２】
図２４は、シンドローム計算での４ビットＰＣＬの構成例を示す。各ｍについて表からｉを選択し、ｄｉを用いてパリティチェックを行なう。入力の数が４の剰余系のいずれに属するかによって用いるパリティチェッカ（ＰＣ）を組合せる。すなわち４で割り切れれば４ビットＰＣのみで、１が余れば２ビットＰＣの一方の入力端子をＶｓｓにしたもの（即ちバッファ）を加え、２が余れば２ビットＰＣを加え、３が余れば４ビットＰＣのひとつの入力端子をＶｓｓにしたものを加える。
【０２３３】
ｘｉのｍ＝５は表からパリティチェックするビット数が最大の７７個であるので、図２４はこの場合を例として示す。７７入力であるので最初の段は４ビットＰＣを１９個とバッファ1個、２段目は２０入力となり４ビットＰＣを５個、３段目は５入力となるので４ビットＰＣを1個とバッファ1個、４段目は２入力なので２ビットＰＣで構成される。
【０２３４】
他のｍについても同様に構成する。他のシンドロームについても同様に表から構成できるので説明は省略する。
【０２３５】
シンドロームＳ，Ｓ３，Ｓ５，Ｓ７は７次の多項式として得られ、ＧＦ（２５６）の要素であるｐｉｎ（ｘ）のいずれかに一致している。そこで多項式を、ｍ１（ｘ）の根αのインデックスをｍｏｄ １７，ｍｏｄ １５のペアによって表した“表現インデックス”に変換して以後の計算で利用する。この変換を行なうデコーダ回路を図２５〜図２７に示す。
【０２３６】
図２５は、プリデコーダであり、８ビットのｐｉ（ｘ）の係数が表す２５６のバイナリ信号状態を信号Ａｉ，Ｂｉ，Ｃｉ，Ｄｉ（ｉ＝０〜３）の組合せとして表し、更にこれから１６個のＥ［ｉ］とＦ［ｉ］であるＥ［０；１５］とＦ［０；１５］への変換を行うものであって、ＮＡＮＤ回路とＮＯＲ回路で構成される。
【０２３７】
８ビットのバイナリを２ビットずつ下位から区切り４進数としてそれぞれ表し、これらをＡｉ，Ｂｉ，Ｃｉ，Ｄｉとしている。更にＡとＢから１６進の下位信号Ｅ［０；１５］を、ＣとＤから１６進の上位信号Ｆ［０；１５］を作っている。このプリデコーダを設けることにより、次段のデコード回路の構成ユニットのトランジスタ数を、プリデコーダを設けない場合に比べて８個から２個に削減することができる。
【０２３８】
図２６のインデックス（１７），（１５）デコーダは、図２５でプリデコードされた信号を元に、剰余類のグループに分けて表現インデックスのｍｏｄ １７とｍｏｄ １５の成分を発生しこれらをラッチする回路である。信号Ｅ［０；１５］とＦ［０；１５］を入力とするＮＡＮＤ接続とそれらを並列にしたＮＯＲ接続とを有し、プリチャージされたノードがクロックｃｋ２とｃｋ２’で放電されるか否かにより剰余類のインデックス信号ｉを出力している。剰余類の数だけこの回路は必要である。ｍｏｄ １７，ｍｏｄ １５に対してこれらのインデックス信号をつくりこれらのペアとして表現インデックスとする。
【０２３９】
ｐｉ（ｘ）＝０の場合はαの指数で表現できずインデックスが求まらない。この場合はＥ［０］＝１かつＦ［０］＝１であり、インデックスは出力されない。シンドロームＳに関してはゼロ要素であることの判断を使うので、インデックスの状態をモニターしても良いが、ゼロ成分であるこの判定を簡単に行うために、図２７のＳゼロ元判定回路を設けている。具体的には信号Ｓ＝０をシンドロームＳがゼロ元に対応する場合に発生する。
【０２４０】
図２８は、図２５のプリデコーダ、図２６のインデックス（１７），（１５）デコーダによって表現インデックスを求める際の対応表であり、既約剰余ｐｉ（ｘ）のインデックスｉをｍｏｄ １７の剰余類ｉ（１７）として分類したものである。０から１６のインデックスで分類され、各々の類には１５個のｎが含まれ、これらに対応するｐｉ（ｘ）の各次数ｍの係数に従ってプリデコーダされた１６進表示を示している。
【０２４１】
１６進表示は回路でのＦ［ｊ］Ｅ［ｋ］のペアとしてｊｋで表している。すなわち、０１はＦ［０］とＥ［１］のペアである。Ａｉ，Ｂｉ，Ｃｉ，Ｄｉについては表には載せていないが各次数ｍのペアから４進表示として得られる。
【０２４２】
各表現インデックスｉ（１７）に属するインデックスの１６進表示のＥ［０；１５］とＦ［０；１５］を表から選択して、図２６のデコーダのトランジスタゲートへの信号接続が決まる。例えばｉ（１７）＝１においては並列にＮＯＲ接続されるＮＡＮＤのノードはｉが1，18，35，52，69，86，103，120，137，154，171，188，205，222，239に相当し、ＮＡＮＤのトランジスタゲートへは対応する表のＦ［ｊ］Ｅ［ｋ］のペアを接続する。
【０２４３】
図２９は、図２５のプリデコーダ、図２６のインデックス（１７），（１５）デコーダによって表現インデックスを求める際の対応表であり、既約剰余ｐｉ（ｘ）のインデックスｉをｍｏｄ １５の剰余類ｉ（１５）として分類したものである。０から１４のインデックスで分類され、各々の類には１７個のｎが含まれこれらに対応するｐｉ（ｘ）の各次数ｍの係数に従ってプリデコーダされた１６進表示を示している。
【０２４４】
１６進表示は回路でのＦ［ｊ］Ｅ［ｋ］のペアとしてｊｋで表している。すなわち０１はＦ［０］とＥ［１］のペアである。Ａｉ，Ｂｉ，Ｃｉ，Ｄｉについては表には載せていないが各次数ｍのペアから４進表示として得られる。
【０２４５】
各表現インデックスｉ（１５）に属するインデックスの１６進表示のＥ［０；１５］とＦ［０；１５］を表から選択して、図２６のデコーダのトランジスタゲートへの信号接続が決まる。例えばｉ（１５）＝１においては並列にＮＯＲ接続されるＮＡＮＤのノードはｉが1，16，31，46，61，76，91，106，121，136，151，166，181，196，211，226，241に相当し、ＮＡＮＤのトランジスタゲートへは対応する表のＦ［ｊ］Ｅ［ｋ］のペアを接続する。
【０２４６】
計算の過程では有限体要素の累乗が頻繁に現れるが、累乗の関係は表現インデックスでは各成分間の一定の変換に対応するので、計算ではなく信号のつなぎ変えに相当する。累乗の指数と表現インデックスの対応関係を示したのが図３０の表である。
【０２４７】
要素の累乗は表現インデックス成分の倍数としての関係になる。表現インデックス｛ｉ（１７），ｉ（１５）｝の成分インデックスがｉのｍ倍で新たに得られる表現インデックスをｘｍの欄として示した。この変換を組みあわて本システムで必要な表現インデックスは全て得られる。
【０２４８】
例えば表現インデックス｛３，８｝で表される要素を−３／２乗した要素の表現インデックスは−３／２倍に相当する。最初の成分インデックスはｉ（１７）＝３であるので、ｘ（−１）の−ｉ（１７）欄から１４になり、これを新たにｉ（１７）と見なしてｘ３の３ｉ（１７）から８となり、これを新たにｉ（１７）と見なしてｘ（１／２）のｉ／２（１７）欄から４となる。
【０２４９】
この変換の順番はどの様な順番でも結果は同じである。２番目の成分インデックスはｉ（１５）＝８8であるので、 ｘ（−１）の−ｉ（１５）欄から７になり、これを新たにｉ（１５）と見なしてｘ３の３ｉ（１５）欄から６となり、これを新たにｉ（１５）と見なしてｘ（１／２）のｉ／２（１５）欄から３となる。すなわち表現インデックス{３，８} は対応する要素の−３／２乗で表現インデックス {４，３}に対応する要素になる。
【０２５０】
以上で計算に必要な表現インデックスを得ることが出来るので、次にシンドロームの和であるζ、η、θを求める具体的な回路を説明する。
【０２５１】
図３１は、シンドロームの表現インデックスからその累乗との和であるζ、η、θの多項式表現の係数を求める回路の構成である。有限体要素の和をその表現インデックスから求めるには表現インデックスから要素の多項式表現を得てその係数のパリティチェックを行う必要がある。従って表現インデックスと多項式表現の変換を行なうデコーダ回路３１２ａ，３１２ｂと２ビットＰＣ３１３とを有する。
【０２５２】
入力信号はＳk，Ｓk (ｋ＝３，５，７）それぞれの表現インデックスであり、これらの信号ごとに和の多項式表示のｍ次の係数に相当するノードＮａ，Ｎｂを持ちこのノードをプリチャージするプリチャージ回路３１１がある。クロックｃｋ２でプリチャージ回路３１１をオフにして、デコーダ回路３１２ａ，３１２ｂを活性化する。
【０２５３】
各信号のｍ次のノードの表現インデックス信号のトランジスタゲートへの接続は次に説明する表から決まり信号によらない構成である。各ｍについて各要素からの２つのノードＮａ，Ｎｂのパリティチェックを２ビットＰＣ３１３で行うことにより、入力信号の和の多項式表示の係数が得られる。
【０２５４】
有限体要素間の和の計算は、有限体の要素を既約多項式と見てその係数の２を法としての和を求めるものである。そこで表現インデックスによって表された有限体の要素多項式ｐｉ（ｘ）を加えるための係数を求める方法を説明する。
【０２５５】
図３２Ａ及び図３２Ｂの表はｐｉ（ｘ）の次数ｍの係数とインデックスのｉと｛ｉ（１７），ｉ（１５）｝の関係を表現インデックス成分ｉ（１５）の値０〜１４ごとのグループでまとめて示したものである。各グループ内で表現インデックス成分ｉ（１７）は０から１６までが昇順に並べられている。また、ｉｎｐｕｔ ｉ（１７）の部分には、ｐｉ（ｘ）の係数の和において係数が０であるところは和に寄与しないので係数が１であるところの次数ｍに対してｉ（１７）の値を表示している。
【０２５６】
ｐｉ（ｘ）と表現インデックス｛ｉ（１７），ｉ（１５）｝は一対一に対応しているので、ある表現インデックスが与えられたとき多項式のｐｉ（ｘ）の次数ｍの係数の和への寄与をこの表からデコードできる。
【０２５７】
ζ＝Ｓ3＋Ｓ3の計算を例にして、表現インデックスと多項式表現の係数間のこの表の使用方法を説明する。先の図３１に示すように、入力Ｓ3とＳ3は表現インデックスとして入力される。各入力の各々の各次数ｍについて、 ひとつのｉ（１５）をゲート入力とするひとつのトランジスタの下にこのｉ（１５）に属するｐｉ（ｘ）の次数ｍの係数が１であるｉ（１７）をゲート入力とするトランジスタのＮＯＲ接続を作る。すなわち表現インデックスがこのグループにヒットすれば電流パスが出来るようにする。
【０２５８】
このような接続を各成分ｉ（１５）について図３２Ａ，３２Ｂの表から作り、共通ノードを放電するようにする。この共通ノードがひとつの表現インデックスに対してｐｉ（ｘ）の次数ｍの係数の反転を表している。
【０２５９】
例えばｍ＝７は表から、ｉ（１５）＝０の下のｉ（１７）＝5,9,10,11,12,16のＮＯＲ接続と、ｉ（１５）＝１の下のｉ（１７）＝6,7,9,12,14,15のＮＯＲ接続と、ｉ（１５）＝２の下のｉ（１７）＝0,1,3,4,6,10,11,15のＮＯＲ接続と、ｉ（１５）＝３の下のｉ（１７）＝0,4,6,8,9,12,13,15のＮＯＲ接続と、ｉ（１５）＝４の下のｉ（１７）＝5,6,7,10,11,14,15,16のＮＯＲ接続と、ｉ（１５）＝５の下のｉ（１７）＝0,1,3,4,7,9,10,11,12,14のＮＯＲ接続と、ｉ（１５）＝６の下のｉ（１７）＝1,3,8,9,10,11,12,13のＮＯＲ接続と、ｉ（１５）＝７の下のｉ（１７）＝0,4,5,7,8,9,10,11,12,13,14,16のＮＯＲ接続と、ｉ（１５）＝８の下のｉ（１７）＝0,1,3,4,5,6,9,12,15,16のＮＯＲ接続と、ｉ（１５）＝９の下のｉ（１７）＝0,4,7,8,13,14のＮＯＲ接続と、ｉ（１５）＝１０の下のｉ（１７）＝0,1,3,4,5,7,14,16のＮＯＲ接続と、ｉ（１５）＝１１の下のｉ（１７）＝1,3,6,7,8,10,11,13,14,15のＮＯＲ接続と、ｉ（１５）＝１２の下のｉ（１７）＝1,3,5,6,7,8,9,12,13,14,15,16のＮＯＲ接続と、ｉ（１５）＝１３の下のｉ（１７）＝1,3,5,8,13,16のＮＯＲ接続と、ｉ（１５）＝１４の下のｉ（１７）＝0,4,5,6,8,10,11,13,15,16のＮＯＲ接続とから作られる放電パスのＮＯＲ接続である共通ノードが表現する。
【０２６０】
例えば、｛ｉ（１７），ｉ（１５）｝＝｛１１，４｝はｉ（１５）＝４の下のｉ（１７）＝ 5,6,7,10,11,14,15,16のＮＯＲ接続を介してノードＮａ，Ｎｂが放電されｍ＝７次の係数が１であることがデコードされる。入力Ｓ3とＳ3の次数ｍのノードＮａ，Ｎｂの情報は２ビットＰＣ３１３でパリティが計算されるので、ノードＮａ，Ｎｂが放電で反転されているが和としての結果は反転されていない場合と同じである。
【０２６１】
この様にして有限体要素ζの多項式表現の係数が得られる。なお入力がゼロ要素である場合は表現インデックスは発生されず、信号はＶｓｓ状態であるので放電パスは出来ずにノードは"1"となるので、ここでの計算はゼロ元も含めて正しい結果を得る。
【０２６２】
シンドロームの和としてのζ、η、θは７次の多項式として得られ、ＧＦ（２５６）の要素であるｐｉ（ｘ）のいずれかに一致している。そこで多項式をｍ１（ｘ）の根αのインデックスを、ｍｏｄ １７，ｍｏｄ １５によって表した表現インデックスに変換して以後の計算で利用する。
【０２６３】
この変換を行なうためのプリデコーダは、シンドローム計算の際の図２７のそれと同じ構成であり、多項式表現の８ビットの係数から１６進表示の信号Ｅ［０；１５］とＦ［０；１５］を発生するので改めて図に示さない。
【０２６４】
図３３のインデックス（１７），（１５）デコーダは、プリデコードされた信号をもとに剰余類のグループに分けて表現インデックスのｍｏｄ １７とｍｏｄ １５の成分を発生し、これらをラッチする。即ち、信号Ｅ［０；１５］とＦ［０；１５］を剰余類の各要素を表すデコードのＮＡＮＤ接続とこれら要素の集合を表すこれらのＮＯＲ接続で結合して、プリチャージされたノードをクロックｃｋ３とｃｋ３’で放電して、さらに反転して、剰余類のインデックス信号ｉを出力している。剰余類の数だけこの回路は必要である。ｍｏｄ １７，ｍｏｄ １５に対してこれらのインデックスをつくりこれらのペアとして表現インデックスとする。
【０２６５】
ｐｉ（ｘ）＝０の場合はαの指数で表現できずインデックスが求まらない。この場合はＥ［０］＝１かつ、Ｆ［０］＝１でありインデックスは出力されない。ζ、η、θに関してはゼロ要素であることの判断を使うので、インデックスの状態をモニターしても良いが、ゼロ成分であるこの判定を簡単に行うために、図３４に示すデコーダを別途、ζ,η,θゼロ要素判定回路として設けている。具体的には信号ζ＝０、η＝０、θ＝０をそれぞれゼロ要素に対応する場合に発生する。
【０２６６】
次にエラー位置探索について説明する。
【０２６７】
・シンドローム要素計算（ＳＥＣ）部２４
エラー位置検索で必要な計算はインデックス間の合同式からインデックスを確定することである。図２のシンドローム要素計算部２４においてクロックｃｋ３で起動される計算について次に説明する。
【０２６８】
有限体要素間の積演算は要素の表現インデックス間の合同式の計算になる。合同式はいずれもＧＦ（２５６）であるので２５５を法としたものである。この計算はまともに行なうと２５５×２５５の規模の比較を行うことに相当し回路規模が大きくなる。そこで計算を並列化する。すなわち、２５５を互いに素である二つの因子に分けてこれらを法とする二つの合同式に分離して、これらの合同式を同時に満たす数はもともとの合同式も満たすことを利用する。
【０２６９】
具体的には、以下に説明するように、いずれの合同式をとく場合も、２５５＝１７×１５によって、１７と１５をそれぞれ法とする二つの合同式を同時に解くようにする。
【０２７０】
数４５は、Ｓ４ηのインデックスσ（Ｓ４η）を求める場合である。ＳのインデックスをσとすればＳの４乗は先の変換表で４σの表現インデックスが得られるのでこれとインデックスσ（η)から、この様な合同式となる。
【０２７１】
【数４５】
0004621715.tif 000046
数４６は、Ｓ４ζ２のインデックスσ（Ｓ４ζ２）を求める場合の合同式である。
【０２７２】
【数４６】
0004621715.tif 000047
以下、数４７は、Ｓ3ζのインデックスσ（Ｓ３ζ)を求める場合、数４８は、Ｓ3ηのインデックスσ（Ｓ3η)を求める場合、数４９は、Ｓ2ζ2のインデックスσ（Ｓ2ζ2）を求める場合、数５０は、ζθのインデックスσ(ζθ)を求める場合のそれぞれ合同式である。
【０２７３】
【数４７】
0004621715.tif 000048
【０２７４】
【数４８】
0004621715.tif 000049
【０２７５】
【数４９】
0004621715.tif 000050
【０２７６】
【数５０】
0004621715.tif 000051
次に、以上の合同式計算を行なう回路システムを具体的に説明する。
【０２７７】
合同式計算にて表現インデックスの和を求めるに際して必要な要素の累乗の表現インデックスへの変換を行なう必要がある。必要な累乗は４乗、３乗、２乗でありインデックスσ、σ(ζ)の表現インデックス成分を先の累乗の変換表に従って、図３５に示すインデックスマルチプレクス回路３５１，３５２で出力変換接続する。これらのマルチプレクス回路はインデックス間の対応関係に従って信号を配信するだけの分岐回路である。
【０２７８】
更に表現インデックスをそれぞれ２進表示にするため、図３６に示すような、クロックｃｋ３で活性化されるインデックス／バイナリ変換回路３６１に入れる。即ち、インデックス（１７）を５バイナリに変換し、或いはインデックス（１５）を４バイナリに変換して、次のアダー入力とする。
【０２７９】
表現インデックスの和を求めるアダーを一般的な形で説明する。有限体要素Ａのα乗と要素Ｂのβ乗との積の表現インデックス成分を求める。積のインデックスは、σ（ＡαＢβ)であり、これは積の因子のインデックスであるσ(A)のα倍とσ(B)のβ倍との和の剰余類として求められる。α倍やβ倍は先の変換で得られ、和は２進数の和を求めるアダーで得られる。アダーは表現インデックスごとに必要なので、いまの場合法１７と１５のそれぞれ用に必要である。
【０２８０】
従って、和の法による剰余を求めるための、図３７に示す５ビット（１７）アダーと図３８に示す４ビット（１５）アダーを構成する。結果は表現インデックス成分の２進数表示としてそれぞれ５ビットと４ビットの数として得られる。
【０２８１】
図３９は、５ビット（１７）アダー３７１の構成であり、数ＡｍとＢｍを２進数で表した各桁の和をフルアダー（Full adder）及びハーフアダー（Half adder）で求めて法１７の剰余として和を表すものである。
【０２８２】
図示のようにこのアダーは、５ビットの第１段加算回路１００１と、その和が１７以上であることを検出して、桁上げをする桁上げ補正回路１００２と、この桁上げ補正回路と共に、和が１７以上の場合に３２に対する１７の補数１５（＝３２−１７）を加える第２段加算回路１００３とを有する。
【０２８３】
図４０は、４ビット（１５）アダー３８１の構成であり、数ＡｍとＢｍを２進数で表した各桁の和をフルアダー（Full adder）及びハーフアダー（Half adder）で求めて法１５の剰余として和を表すものである。
【０２８４】
このアダーは、４ビットの第１段加算回路１０１１と、その和が１５以上であることを検出して、桁上げをする桁上げ補正回路１０１２と、この桁上げ補正回路と共に、和が１５以上の場合に１６に対する１５の補数１（＝１６−１５）を加える第２段加算回路１０１３とを有する。
【０２８５】
図３９及び図４０に示すアダーは、クロックなどの同期が必要でなく、入力が確定すれば出力も確定するようにして、システムのタイミング制御の負担を減らす構成となっている。
【０２８６】
図４１と図４２は、２進数の足し算を行なう基本的な単位であるフルアダーとハーフアダーの構成をそれぞれ回路記号と共に示している。フルアダーは加えるビットＡとＢをＸＯＲとＸＮＯＲ回路でロジック演算を行い、桁上げ信号Ｃｉｎとのロジックを更に取って出力としてＡ，Ｂ，Ｃｉｎの和Ｓｏｕｔと桁上げ信号Ｃｏｕｔを出力する。ハーフアダーは、一般的なロジックゲートで構成できる。このユニットを組み合わせて計算に必要なアダー回路を構成する。
【０２８７】
上述のアダーで得られた結果は、表現インデックス成分の２進数表示であるのでこれを表現インデックス成分自体にデコードする必要がある。
【０２８８】
その様なデコード回路として、図４３のプリデコーダと、図４４のインデックスラッチを必要とする。まず、図４３のプリデコーダで、４ビットアダーか５ビットアダーかの種類によらず、アダー出力の２進数の４ビット目までのビットｓ０〜ｓ３のプリデコードを行う。２ビットずつ区切って４進数表示に変換し、更に４ビットの８進数表示のゼロに相当する信号を作る。
【０２８９】
これらの信号を図４４のインデックス(17),(15) &ラッチ回路で表現インデックス成分，index(17)とindex(15)，に表に示したようにトランジスタゲートａとｂに接続して出力ｉを得る。この回路はクロックｃｋ４にて活性化されクロックｃｋ４’で出力が保持される。
【０２９０】
次に計算ブロック（ＳＥＣ）２４において、クロックｃｋ３とｃｋ６でマルチプレクスされて起動される計算部（アダー４２２〜４５２の部分）について説明する。
【０２９１】
数５１は、Ｓηのインデックスσ(Ｓη)とＳＴのインデックスσ(ＳＴ)を求める場合の合同式である。Ｓのインデックスをσとすれば、これとインデックスσ(η)及びσ（Ｔ）から、この様な合同式となる。
【０２９２】
【数５１】
0004621715.tif 000052
数５２は、Ｓ-1ζのインデックスσ(S-1ζ)とａ＝Ｄ／Ｓのインデックスσ（ａ）を求める場合で、ＳのインデックスをσとすればＳの−１乗は先の変換表から−σの表現インデックスが得られ、これとσ(ζ)及びσ（Ｄ）から、この様な合同式となる。
【０２９３】
【数５２】
0004621715.tif 000053
数５３は、ζηのインデックスσ(ζη)とＤＴのインデックスσ（ＤＴ）を求める場合で、ζのインデックスをσ(ζ)とし、Ｄのインデックスをσ（Ｄ）とすればこれとインデックスσ(η)及びσ（Ｔ）からこの様な合同式となる。
【０２９４】
【数５３】
0004621715.tif 000054
数５４は、ζ-1ηのインデックスσ(ζ-1η)とＱ＝ΓＱ／Γのインデックスσ（Ｑ）を求める場合で、ζのインデックスをσ(ζ)、Γのインデックスをσ(Γ)とすれば、それぞれの−１乗は先の変換表で表現インデックスが得られ、これとσ(η)及びσ(ΓＱ)からこの様な合同式となる。
【０２９５】
【数５４】
0004621715.tif 000055
以上の合同式計算において、表現インデックスの和を求めるに際して必要な要素の累乗の表現インデックスへの変換を行なう。必要な累乗は−１乗でこれにクロックでのマルチプレクスが加わる。これらの累乗の表現インデックスへの変換とマルチプレクスの構成を、図４５及び図４６で説明する。
【０２９６】
図４５は、クロックｃｋ３とｃｋ６でマルチプレクスされて使用される、ＳＥＣ回路ブロック２４でのアダー群（アダー４２２−４２５対応）と、これに入力される有限体要素の表現インデックス群との関係を示している。マルチプレクスされるアダー入力はａ２，ｂ２，ｄ１，ｄ２であり、Ｓは表現インデックスでσと−σとして固定である。アダー群の出力はＡＡ，ＢＢ，ＣＣ，ＤＤでありマルチプレクスされたタイミングでそれぞれクロックｃｋ４’とｃｋ７’の矢印で示された表現インデックスとなる。
【０２９７】
図４６は、インデックスマルチプレクサ１０３１とインデックス／バイナリ変換回路１０３２を示している。インデックスマルチプレクサ(17)(15)１０３１のブロックはσ、σ(η)、σ（Ｔ）、σ(ζ)、σ（Ｄ）、σ(Γ)、σ(ΓＱ)の表現インデックス成分または−１乗を先の累乗の変換表に従って出力変換接続する。具体的にこのマルチプレクス回路は、インデックス間の対応関係に従って信号を配信するだけの分岐回路である。クロック信号ｃｋ６で入力を交代してアダーをマルチプレクスして使用している。
【０２９８】
この様にして得られた表現インデックスをそれぞれ２進数表示にするため、クロックｃｋ３またはｃｋ６で活性化されるインデックス／バイナリ変換回路１０３２に入力し、インデックス(17)または(15)をそれぞれ５バイナリまたは４バイナリに変換する。こうして変換されたバイナリを、それぞれのタイミングでのアダー回路の入力とする。
【０２９９】
アダーで得られた結果は表現インデックス成分の２進数表示であるので、これを表現インデックス成分自体にデコードするには、図４３に示すようなプリデコーダを用いる。このプリデコード回路は、２ビットずつ区切って４進数表示に変換し、更に４ビットの８進数表示のゼロに相当する信号を作る。
【０３００】
これらのアダーのビットｓ０〜ｓ３のプリデコード結果を、図４７に示すインデックス(17),(15) &ラッチ回路１０３５で表現インデックス成分，index(17)とindex(15)，に表の様にトランジスタゲートａとｂに接続して出力ｉを得る。この回路はクロックｃｋ４及びｃｋ７にて活性化されるクロックｃｋ４’及びｃｋ７’にて結果をラッチする。
【０３０１】
回路がマルチプレクスされるため出力のラッチはタイミングに合わせて２系統必要である。後に必要な有限体要素としては、クロックｃｋ４’ではＳ−１ζ、ζ−１ηの表現インデックスがラッチされ、クロックｃｋ７’ではａとＱの表現インデックスがラッチされる。
【０３０２】
次に、計算ブロック（ＳＥＣ）２４において、クロックｃｋ３とｃｋ７でマルチプレクスされて起動される計算部（アダー４２１，４２６，４２７の部分）について説明する。
【０３０３】
数５５は、Ｓ2θのインデックスσ(Ｓ2θ)とＳ2Ｑのインデックスσ(Ｓ2Ｑ)を求める場合の合同式である。Ｓのインデックスをσとすれば、Ｓの２乗については先の変換表で２σの表現インデックスが得られ、これとインデックスσ(θ)及びσ（Ｑ）からこの様な合同式となる。
【０３０４】
【数５５】
0004621715.tif 000056
数５６は、Ｓθのインデックスσ(Ｓθ)とＳＤＴのインデックスσ(ＳＤＴ)を求める場合であり、Ｓのインデックスをσとすれば、これとσ(θ)及びσ(ＤＴ)からこの様な合同式となる。
【０３０５】
【数５６】
0004621715.tif 000057
数５７は、ζ-1θのインデックスσ(ζ-1θ)とＴａ＝Ｓ-1ＤＴのインデックスσ(Ｔａ)を求める場合で、ＳのインデックスをσとすればＳの−１乗は先の変換表で−σの表現インデックスとなり、これとインデックスσ(θ)及びσ(ＤＴ)からこの様な合同式となる。
【０３０６】
【数５７】
0004621715.tif 000058
以上の合同式計算において、表現インデックスの和を求めるに際して必要な要素の累乗の表現インデックスへの変換を行なう。必要な累乗は２乗と−１乗でこれにクロックでのマルチプレクスが加わる。これらの累乗の表現インデックスへの変換とマルチプレクスの構成を、図４８及び図４９で説明する。
【０３０７】
図４８は、これらのクロックｃｋ３とｃｋ７でマルチプレクスされて使用されるアダー回路群とこれに入力される有限体要素の表現インデックス群との関係を示している。マルチプレクスされるアダー入力はｅ１，ｅ２，ｆ２，ｇ１である。アダー回路群の出力はＥＥ，ＦＦ，ＧＧでありマルチプレクスされたタイミングでそれぞれｃｋ４’とｃｋ８’の矢印で示された表現インデックスとなる。
【０３０８】
図４９は、インデックスマルチプレクサ１０４１とインデックス／バイナリ変換回路１０４２を示している。インデックスマルチプレクサ(17)(15)１０４１のブロックはσ、σ(θ)、σ（Ｑ）、σ(ＤＴ)の表現インデックス成分または２乗または−１乗を先の累乗の変換表に従って出力変換接続する。具体的にこのマルチプレクス回路は、インデックス間の対応関係に従って信号を配信するだけの分岐回路である。クロック信号ｃｋ７で入力を交代してアダーをマルチプレクスして使用している。
【０３０９】
この様にして得られた表現インデックスをそれぞれ２進数表示にするため、クロックｃｋ３またはｃｋ７で活性化されるインデックス／バイナリ変換回路１０４２に入力し、インデックス(17)または(15)をそれぞれ５バイナリまたは４バイナリに変換する。こうして変換されたバイナリを、それぞれのタイミングでのアダー回路の入力とする。
【０３１０】
アダーで得られた結果は表現インデックス成分の２進数表示であるので、これを表現インデックス成分自体にデコードするために、既に説明したプリデコーダが用いられる。プリデコーダでは、２ビットずつ区切って４進数表示に変換する。更に４ビットの８進数表示のゼロに相当する信号を作る。
【０３１１】
これらのアダーのビットｓ０〜ｓ３のプリデコードされたインデックス信号から各インデックス成分を生成してラッチするのが、図４９のインデックス(17),(15) &ラッチ回路１０４３である。表現インデックス成分，index(17)とindex(15)，に表のようにトランジスタゲートａとｂに接続して出力ｉを得る。
【０３１２】
この回路はクロックｃｋ４及びｃｋ８にて活性化されるクロックｃｋ４’及びクロックｃｋ８’にて結果がラッチされる。回路がマルチプレクスされるため出力のラッチはタイミングに合わせて２系統必要で後に必要な有限体要素としてはｃｋ４’ではＳ-1θの表現インデックスがラッチされる。
【０３１３】
計算ブロック（ＳＥＣ）２４において、クロックｃｋ４とｃｋ７またはｃｋ８でマルチプレクスされて起動される計算部（ＰＣ回路４５１，４６１，４６２の部分）について、次に説明する。このブロックでは有限体要素の積と和の計算が行なわれるがまず積の計算の部分について説明する。ここではクロックマルチプレクスはない。
【０３１４】
数５８は、Ｓ2ζηのインデックスσ(Ｓ2ζη)を求める場合の合同式であり、Ｓのインデックスをσとすれば、Ｓの２乗は先の変換表で２σの表現インデックスとなり、ζηのインデックスをσ(ζη)とすれば、この様な合同式となる。
【０３１５】
【数５８】
0004621715.tif 000059
アダーに入力する前のクロックｃｋ４で活性化されるインデックス／バイナリ変換回路（index(17)，index(15) をそれぞれ５ binary，４ binary に変換する回路）はＳの２乗の表現インデックスが既に作られていてｃｋ３で活性化される回路と同じ構成であり、クロックが異なるのみであるので、回路構成は改めて示さない。
【０３１６】
アダーで得られた結果は表現インデックス成分の２進数表示であるのでこれを表現インデックス成分自体にデコードするのがプリデコーダである。これも既に説明してあるので、ここでは示さない。プリデコーダは、２ビットずつ区切って４進数表示に変換する。更に4ビットの8進数表示のゼロに相当する信号を作る。
【０３１７】
これらのアダーのビットｓ０〜ｓ３のプリデコードされたインデックス信号から各表現インデックス成分を生成してラッチするのが、図５１に示すインデックス(17),(15) &ラッチ回路１０５１で、表現インデックス成分，index(17)とindex(15)，に表の様にトランジスタゲートａとｂに接続して出力ｉを得る。この回路はクロックｃｋ５にて活性化されクロックｃｋ５’で出力が保持される。
【０３１８】
図５２は、クロックｃｋ４とｃｋ７でマルチプレクスされて起動される有限体要素の和の計算を行う部分（ＰＣ回路４５１の部分）である。ここでは有限体要素ΓＤ＝Ｓ3η＋Ｓ2ζ2＋Ｓθ＋ζηをｃｋ４で、ｂ＝Ｄ2＋ＳＴをｃｋ７で計算する。
【０３１９】
有限体要素の和をその表現インデックスから求めるには表現インデックスから要素の多項式表現を得てその係数のパリティチェックを行う必要がある。従って表現インデックスと多項式表現の変換を行なうデコーダ部１０６１とパリティチェッカ（ＰＣ）１０６２を備える。
【０３２０】
デコーダ部１０６１は、ζなどを求める回路で説明したものと同じであり、入力信号の数が４つになった点のみが異なる。したがってＰＣ回路１０６２は４入力回路となる。
【０３２１】
クロックｃｋ４では、入力信号はＳ3η、Ｓ2ζ2、Ｓθ、ζηの表現インデックスであり、前段でマルチプレクスされているものがあるのでＳθ＝ＦＦ、ζη＝ＣＣである。クロックｃｋ７では、入力信号はＤ2、ＳＴの表現インデックスとゼロであり、前段でマルチプレクスされているのでＳＴ＝ＡＡである。
【０３２２】
これらの信号ごとに和の多項式表示のｍ次の係数に相当するノードを持ちこのノードはプリチャージ回路１０６３がプリチャージしておき、クロックｃｋ４またはｃｋ７でデコーダ部１０６１を活性化する。各信号のｍ次のノードの表現インデックス信号のトランジスタゲートへの接続は、先に説明したζなどの計算で説明したとおりである。
【０３２３】
各ｍについて各要素からの４つのノードのパリティチェックを４ビットＰＣ回路１０６２で行い、入力信号の和の多項式表示の係数(ΓＤ)m、(ｂ)mが得られる。なおＰＣ回路の入力は入力信号に対して反転しているが、４入力なのでパリティチェックとしては結果は反転していない場合と変わらない。
【０３２４】
図５３は、計算ブロック（ＳＥＣ）部２４でクロックｃｋ４とｃｋ８でマルチプレクスされて起動される有限体要素の和の２つの計算のうちのひとつを行う部分（ＰＣ回路４６１部分）である。ここでは、有限体要素Γ＝Ｓ3ζ＋Ｓη＋ζ2をｃｋ４で、ｃ＝Ｓ2Ｑ＋ＳＤＴ＋Ｔ2をｃｋ８で計算する。
【０３２５】
入力信号数は実際は３つである。したがってＰＣ回路１０７２は４入力の一つをＶｓｓに固定して利用する。クロックｃｋ４では、入力信号はＳ3ζ、Ｓη、ζ2の表現インデックスである。クロックｃｋ８では、入力信号はＳ2Ｑ、ＳＤＴ、Ｔ2の表現インデックスであり、前段でマルチプレックスされているのでＳ2Ｑ＝ＥＥ、 ＳＤＴ＝ＦＦである。
【０３２６】
ζ及びＴの２乗の要素に関しては有限体要素の累乗の表現インデックスを変換するテーブルに従って接続変換をインデックスマルチプレクサ(17)(15)にて行なう。これらの信号ごとに和の多項式表示のｍ次の係数に相当するノードを持ち、このノードをプリチャージ回路１０７３によりプリチャージしておき、クロックｃｋ４またはｃｋ８でデコーダ１０７１を活性化する。各ｍについて各要素からの３つのノードのパリティチェックを４ビットＰＣ回路１０７２で行い入力信号の和の多項式表示の係数(Γ)m、(ｃ)mが得られる。
【０３２７】
図５４は、クロックｃｋ４とｃｋ８でマルチプレクスされて起動される有限体要素の和の２つの計算うちのもうひとつの計算部（ＰＣ回路４６２部分）である。ここでは、有限体要素ΓＴ＝Ｓ4η＋Ｓ2θ＋ζ3をｃｋ４で、Ｂ＝Ｑ＋Ｔａ＋ａ4をｃｋ８で計算する。
【０３２８】
入力信号の数は３つであり、したがってＰＣ回路１０８２は４入力回路のひとつをＶｓｓに固定して利用する。
【０３２９】
クロックｃｋ４では、入力信号はＳ4η、Ｓ2θ、ζ3の表現インデックスである。クロックｃｋ８では、入力信号はＱ、Ｔａ、ａ4の表現インデックスであり、前段でマルチプレクスされているのでＱ＝ＤＤ、Ｔａ＝ＧＧ、ａ＝ＢＢである。ζ及びＢＢのそれぞれ３乗と４乗の要素に関しては有限体要素の累乗の表現インデックスを変換するテーブルに従って接続変換をインデックスマルチプレクサ(17)(15)にて行なう。
【０３３０】
これらの信号ごとに和の多項式表示のｍ次の係数に相当するノードを持ち、このノードをプリチャージ回路１０８３によりプリチャージしておき、クロックｃｋ４またはｃｋ８でデコーダ１０８１を活性化する。各ｍについて各要素からの３つのノードのパリティチェックを４ビットＰＣ回路１０８２で行い、入力信号の和の多項式表示の係数(ΓＴ)m、（Ｂ）mが得られる。
【０３３１】
４ビットＰＣ回路の出力は７次の多項式として得られ、ＧＦ（２５６）の要素であるｐｉ（ｘ）のいずれかに一致している。そこで多項式表示を表現インデックスに変換して以後の計算で利用する。この変換を行なうデコーダ回路はシンドローム計算の際の回路と同じ構成で、多項式表現の８ビットの係数から１６進数表示の信号Ｅ［０；１５］とＦ［０；１５］を発生するので改めて図に示さない。
【０３３２】
図５５は、インデックス(17),(15)＆ラッチ回路１０９１で、プリデコードされた信号をもとに剰余類のグループに分けて表現インデックスのｍｏｄ １７とｍｏｄ １５の成分を発生しこれらをラッチする。クロックｃｋ５とｃｋ８とでマルチプレクスされる回路では、信号Ｅ［０；１５］とＦ［０；１５］を剰余類の各要素を表すデコードのＮＡＮＤ接続とこれら要素の集合を表すこれらのＮＯＲ接続で結合し、リセットされた２つのラッチのノードをクロックｃｋ５とｃｋ８で各々放電して、さらに反転して剰余類のインデックス信号ｉを出力する。
【０３３３】
ラッチは各々クロックｃｋ５’とｃｋ８’で保持している。剰余類の数だけこの回路は必要である。ｍｏｄ １７、ｍｏｄ １５に対してこれらのインデックスをつくりこれらのペアとして表現インデックスとする。
【０３３４】
ｐｉ（ｘ）＝０の場合はαの指数で表現できず、この場合はＥ［０］＝１かつ、Ｆ［０］＝１でありインデックスは出力されない。ｂに関してはゼロ要素であることの判断を使うので、インデックスの状態をモニタしても良いがゼロ成分であるこの判定を簡単に行うために、デコーダ回路として別途、図５６に示すゼロ要素判定回路１０９２を設ける。具体的には信号ｂ＝０をゼロ要素に対応する場合にクッロクｃｋ８’で発生し保持する。
【０３３５】
クロックｃｋ５とｃｋ９とでマルチプレクスされる回路では、図５７に示すインデックス(17),(15)＆ラッチ回路１０９４で、信号Ｅ［０；１５］とＦ［０；１５］を剰余類の各要素を表すデコードのＮＡＮＤ接続とこれら要素の集合を表すこれらのＮＯＲ接続で結合し、リセットされた２つのラッチのノードをクロックｃｋ５とｃｋ９で各々放電して、さらに反転して剰余類のインデックス信号ｉを出力している。ラッチは各々クロックｃｋ５’とｃｋ９’で保持している。剰余類の数だけこの回路は必要である。ｍｏｄ １７、ｍｏｄ １５に対してこれらのインデックスをつくりこれらのペアとして表現インデックスとする。
【０３３６】
ｐｉ（ｘ）＝０の場合はαの指数で表現できず、この場合はＥ［０］＝１かつＦ［０］＝１でありインデックスは出力されない。Γ，ｃに関してはゼロ要素であることの判断を使うので、ゼロ成分であるこの判定を簡単に行うためのデコード回路として、図５８に示すゼロ要素判定回路１０９５，１０９６を設ける。
【０３３７】
具体的にはゼロ要素に対応する場合に、判定回路１０９５で信号Γ＝０をクッロクｃｋ５’で発生し、判定回路１０９６で信号ｃ＝０をクロックｃｋ９’で発生して保持する。
【０３３８】
次に、計算ブロック（ＳＥＣ）２４において、クロックｃｋ５で起動される計算部（アダー４４１，４４２及びＰＣ回路４７１の部分）について説明する。このブロックでは有限体要素の２つの積と１つの和の計算が行なわれるが、まず積の計算の部分について説明する。ここではクロックマルチプレクスはない。
【０３３９】
数５９は、Γ-1ΓＤのインデックスσ（Ｄ）を求める場合の合同式で、Γのインデックスをσ(Γ)とすればΓの−１乗は先の変換表で−σ(Γ)の表現インデックスとなり、ΓＤのインデックスをσ(ΓＤ)とすれば、この様な合同式となる。
【０３４０】
【数５９】
0004621715.tif 000060
数６０は、Γ-1ΓＴのインデックスσ（Ｔ）を求める場合であり、Γのインデックスをσ(Γ)とすればΓの−１乗は先の変換表で−σ(Γ)なる表現インデックスが得られ、ΓＴのインデックスをσ(ΓＴ)とすれば、この様な合同式となる。
【０３４１】
【数６０】
0004621715.tif 000061
数５９及び６０の合同式計算にて表現インデックスの和を求めるに際して、必要な要素の累乗の表現インデックスへの変換を行なう。必要な累乗は−１乗でありインデックスσ(Γ)の表現インデックス成分を先の累乗の変換表に従って、図５９に示すインデックスマルチプレクサ１０１０，１０１１で出力変換接続する。これらのマルチプレクサはインデックス間の対応関係に従って信号を配信するだけの分岐回路である。
【０３４２】
更に表現インデックスをそれぞれ２進数表示するため、インデックス／バイナリ変換回路１０１２に入力する。これはクロックｃｋ５で活性化され、表現インデックスのｍｏｄ １７，ｍｏｄ １５成分（index(17)，index(15)）をそれぞれ５binary, 4 binaryに変換して、アダー回路の入力とする。
【０３４３】
アダーで得られた結果は表現インデックス成分の２進数表示であるのでこれを表現インデックス成分自体にデコードするためのプリデコーダ、更に表現インデックスに変換するためのインデックス(17),(15)＆ラッチ回路が用いられる。この回路はクロックｃｋ６にて活性化されクロックｃｋ６’で出力が保持される点が異なるのみで、構成自体は先に説明したものと同じであるので説明を省く。
【０３４４】
図６０は、計算ブロック（ＳＥＣ）部２４においてクロックｃｋ５で起動される有限体要素の和の計算部（ＰＣ回路４７１の部分）を示している。ここでは、有限体要素ΓＱ＝Ｓ4ζ2＋Ｓ2ζη＋ζθ＋η2を計算する。入力信号の数は４つである。したがってＰＣ回路１０２２は４入力回路である。
【０３４５】
入力信号はＳ4ζ2、Ｓ2ζη、ζθ、η2の表現インデックスである。これらの信号ごとに和の多項式表示のｍ次の係数に相当するノードを持ちこのノードをプリチャージ回路１０２３によりプリチャージしておく。そしてクロックｃｋ５でデコーダ１０２１を活性化する。各ｍについて各要素からの４つのノードのパリティチェックを行うことで、入力信号の和の多項式表示の係数(ΓＱ)mが得られる。
【０３４６】
４ビットＰＣ回路１０２２の出力は７次の多項式として得られ、ＧＦ（２５６）の要素であるｐｉ（ｘ）のいずれかに一致している。そこで多項式表示を表現インデックスに変換して以後の計算で利用する。この変換を行なうデコーダ回路はシンドローム計算の際の回路と同じ構成で多項式表現の８ビットの係数から１６進表示の信号Ｅ［０；１５］とＦ［０；１５］を発生するので改めて図に示さない。
【０３４７】
プリデコードされたされた信号をもとに、インデックス(17),(15) ＆ラッチ回路では剰余類のグループに分けて表現インデックスのｍｏｄ １７とｍｏｄ １５の成分を発生しこれらをラッチする。この回路も先に示した回路とクロックｃｋ６とｃｋ６’で保持するようにタイミングクロックが変わるのみなので、改めて説明しない。ΓＱに関してはゼロであることを利用しないのでゼロの判定回路は必要がない。
【０３４８】
・エラー探索（ＥＳ）部２５
以上、シンドローム要素計算（ＳＥＣ）部２４での計算を説明したが、この部分での計算結果は次のエラー探索（ＥＳ）部２５での計算に利用される。ＥＳ部ではケースに従って計算過程が分岐するが、その分岐の判断を行う信号を作るのが、図６１に示した各種論理ゲート回路である。ＳＥＣ部２４の計算結果から先の場合分けに従って論理ゲートＧ１〜Ｇ１０を組んでケース信号，case1〜case8，no error及びnon correctable，を発生する。
【０３４９】
計算ブロック（ＥＳ部）２５内のＣＵＢＥ部５００ではケース１（case1）とケース３（case３）でマルチプレクスされるのでまずケース１の場合の計算について説明する。
【０３５０】
ｃｂ-3/2のインデックスとしてσ（Ｈ）を求める場合は、ｃのインデックスをσ（ｃ）とし、ｂのインデックスをσ（ｂ）とすれば、ｂの−３／２乗は先の変換表で−３／２σ（ｂ）なる表現インデックスとなるので、数６１のような合同式となる。
【０３５１】
【数６１】
0004621715.tif 000062
数６２は、３次方程式ｗ3＋ｗ＝Ｈを解いてひとつのｗを得てｗｂ1/2を求める場合である。ｗにＧＦ（２５６）の要素を予め代入して求めておいたｗ3＋ｗのインデックスσ(ｗ3＋ｗ)とσ（Ｈ）を比較して、ｗからインデックスσ（ｗ）を求め、ｗｂ1/2のインデックスσ(δ)を計算する。
【０３５２】
ｂのインデックスをσ（ｂ）とすればｂの１／２乗は先の変換表で（１／２）σ（ｂ）の表現インデックスが得られるので、数６２の合同式となる。
【０３５３】
【数６２】
0004621715.tif 000063
ＣＵＢＥ部５００のケース３（case3）の場合の計算は、次のようになる。数６３は、ζ2(ζ-1η)-3のインデックスとしてσ（Ｈ）を求める場合の合同式である。ζのインデックスをσ(ζ)とすれば、ζの２乗は先の変換表で２σ(ζ)の表現インデックスとなり、ζ-1ηのインデックスをσ(ζ-1η)とすれば、ζ-1ηの−３乗は先の変換表で−３(ζ-1η)の表現インデックスが得られるので、この様な合同式となる。
【０３５４】
【数６３】
0004621715.tif 000064
数６４は、３次方程式ｗ3＋ｗ＝Ｈを解いてひとつのｗを得て（ｗ＋１）ｂ1/2を求める場合である。ｗにＧＦ（２５６）の要素を予め代入して求めておいたｗ3＋ｗのインデックスσ(ｗ3＋ｗ)とσ（Ｈ）を比較して、ｗからインデックスσ（ｗ＋１）を求め、（ｗ＋１）ｂ1/2のインデックスσ(δ)を計算する。
【０３５５】
ｂのインデックスをσ（ｂ）とすればｂの１／２乗は先の変換表で（１／２）σ（ｂ）の表現インデックスが得られるので、数６４の合同式となる。
【０３５６】
【数６４】
0004621715.tif 000065
上述のような合同式計算を行うＣＵＢＥ部５００は、具体的に図６２のように構成される。case1とcase3で分岐して使われるので入力部には信号のマルチプレクスを行うマルチプレクサ５００ａがある。ここで信号ｂ，ｃ，ζ,ζ-１ηをケースに応じてマルチプレクスして、ＣＵＢＥ本体５００ｂへ信号ｘ，ｙ，ｚとして渡す。
【０３５７】
ＣＵＢＥ本体５００ｂは、ｘ，ｙ，ｚを表現インデックスの２進数表示へと変換するインデックス／バイナリ変換回路１０３１ａ〜１０３１ｃで受け取る。ｘとｙはアダー１０３２によって、要素の積の表現インデックスの２進数表示となる。これをプリデコーダ１０３３とバイナリ／インデックス変換回路１０３４で表現インデックスにして、デコーダ１０３５で３次方程式の解を求める。
【０３５８】
その解を再びインデックス／バイナリ変換回路１０３６によって２進数表示に直し、これとｚをやはり２進数表示に直したものとをアダー１０３７に入力して積を作る。その結果をプリデコーダ１０３８とバイナリ／インデックス変換回路１０３９を通して、δの表現インデックスを得ることができる。
【０３５９】
図６３は、マルチプレクサ５００ａの詳細である。ケース１（case1）では、ｍｏｄ １７，ｍｏｄ １５に対応したマルチプレクサ１０４１，１０４２でそれぞれ、信号ｃとｂの表現インデックス成分がそれぞれの累乗に対応した接続替えにより、信号ｘ，ｙ，ｚを生成する。
【０３６０】
ケース３（case3）では、同様にｍｏｄ １７，ｍｏｄ １５に対応したマルチプレクサ１０４３，１０４４で信号ζとζ-1ηの表現インデックス成分がそれぞれの累乗に対応した接続替えにより出力信号ｘ，ｙ，ｚを生成する。
【０３６１】
表現インデックスをそれぞれ２進数表示するため、図６４に示すインデックス／バイナリ変換回路１０５１が用いられる。これは、case1のタイミングクロックｃｋ７とcase3のタイミングクロックｃｋ９とで活性化されて、表現インデックス成分，index(17)とindex(15)，をそれぞれ5binaryと4 binaryに変換して、アダー入力をつくる。
【０３６２】
アダーで得られた結果は表現インデックス成分の２進数表示であるのでこれを表現インデックス成分自体にデコードするため、プリデコーダが用いられる。これは既に説明したものと同じであり、説明を省く。プリデコードでは、２ビットずつ区切って４進数表示に変換する。更に4ビットの８進数表示のゼロに相当する信号を作る。
【０３６３】
これらの信号を図６５に示すインデックス(17),(15) ＆ラッチ回路１０５２により、表現インデックス成分，index(17)とindex(15)，として表のようにトランジスタゲートａとｂに接続して出力σ（Ｈ）を得る。この回路はcase3ではクロックｃｋ８、case1ではクロックｃｋ１０にて活性化される。ラッチ自体はそれぞれクロックｃｋ８’とクロックｃｋ１０’で活性化後の出力が保持されるように設定される。出力は次の３次方程式の解法の計算段に渡される。
【０３６４】
図６６は、３次方程式ｗ３＋ｗ＝Ｈを解くためのテーブルであり、方程式を満たすインデックス間の関係をα３σ（ｗ）＋ασ（ｗ）＝ασ（Ｈ）として、その対応関係を予めテーブルとしてまとめたものである。解の候補のインデックスσ（ｗ）とシンドロームのインデックスσ（Ｈ）の関係に加えて、σ（ｗ＋１）も示している。
【０３６５】
３次方程式であるから最大３つの要素が解となる。例えばσ（ｗ）＝51,58,163の時にσ（Ｈ）＝17となり、またそれぞれσ（ｗ＋１）＝107,182,238となる。またＨがゼロ元のときはｗがσ（ｗ）＝０で、ｗ＋１＝０かｗ＝０でσ（ｗ＋１）＝０となる。
【０３６６】
σ（Ｈ）の順番に並べられ、同じσ（Ｈ）に対して３つのσ（ｗ）がある場合を区分けして示している。また、Ｈがゼロ元ではｗは1かゼロ元であるからｗ又はｗ＋１のインデックスは0である。
【０３６７】
図６７は、図６６の解のテーブルを、case1とcase3で実際に使うものだけをまとめて示したものである。これらのケース，case1とcase3，ではＨがゼロになることはないこと、３次方程式の解は任意に選んだひとつのみが必要であることから表が簡単になる。ただし３つの解がない場合は最終的には２つのエラー個数以下のエラー探索になる。
【０３６８】
図６８は、case1に対応する表現インデックス{σ(H)(17),σ(H)(15)}とσ(w) の表現インデックス成分σ(w)(17)の間の関係で前の図を表したものである。表はσ(w)(17)の値ごとにまとめてグループとしている。計算で得られたσ(H)の表現インデックスに対して、この表からデコーダを作ると解のσ(w)の表現インデックス成分が求まる。
【０３６９】
図６９は、case1に対応する表現インデックス{σ(H)(17),σ(H)(15)}とσ(w) の表現インデックス成分σ(w)(15) の間の関係で前の図を表したものである。表はσ(w)(15)の値ごとにまとめてグループとしている。計算で得られたσ(H) の表現インデックスに対して、この表からデコーダを作ると解のσ(w)の表現インデックス成分が求まる。
【０３７０】
図７０は、case3に対応する表現インデックス{σ(H)(17),σ(H)(15)}とσ(w+1) の表現インデックス成分σ(w)(17)の間の関係で前の図を表したものである。表はσ(w+1)(17)の値ごとにまとめてグループとしている。計算で得られたσ(H) の表現インデックスに対して、この表からデコーダを作ると解のσ(w)の表現インデックス成分が求まる。
【０３７１】
図７１は、case3に対応する表現インデックス{σ(H)(17),σ(H)(15)}とσ(w+1) の表現インデックス成分σ(w)(15)の間の関係で前の図を表したものである。表はσ(w+1)(15)の値ごとにまとめてグループとしている。計算で得られたσ(H) の表現インデックスに対して、この表からデコーダを作ると解のσ(w)の表現インデックス成分が求まる。
【０３７２】
図７２は、以上のテーブルで示された３次方程式の解法を具体的に実現するデコーダ回路と出力結果をアダーに渡すための回路部である。方程式の解法を表すデコーダ回路，σ(w),σ(w+1)(17)(15) decoder,１０６１はσ(H)の表現インデックス成分を入力とするＮＡＮＤ接続をσ(w)またはσ(w+1)の表現インデックス成分のグループごとに表に従ってＮＯＲ接続でまとめる。case1ではタイミングクロックｃｋ１０、case3ではタイミングクロックｃｋ８で回路が働き、それぞれクロックｃｋ１０’とｃｋ８’で出力をラッチする。
【０３７３】
積ｗｂ1/2や（ｗ＋１）ｂ1/2の因子ｂ1/2の表現インデックス成分はインデックスマルチプレクス回路１０６２で配線替えを行うことで実現できる。
【０３７４】
デコーダ出力をアダーに渡すために２進数表示に変換するのがインデックス／バイナリ変換回路１０６３である。もし入力がゼロ元であればこの回路は全てビットが"1"のままであるのでこれを利用して解となるｗが存在しないことを判断する。そのための回路がno index判定回路１０６４である。
【０３７５】
アダーで得られた結果は表現インデックス成分の２進数表示であるのでこれを表現インデックス成分自体にデコードする必要があり、これは既述のプリデコーダによる。プリデコーダは、アダーのビットｓ０〜ｓ３を２ビットずつ区切って４進数表示に変換する。更に４ビットの８進数表示のゼロに相当する信号を作る。
【０３７６】
これらの信号を、図７３に示すインデックス＆ラッチ回路で、表のようにトランジスタゲートaとbに接続して、表現インデックス成分index(17)とindex(15)の出力δを得る。この回路はcase3ではクロックｃｋ９、case1ではクロックｃｋ１１にて活性化される。ラッチ自体はそれぞれクロックｃｋ９’とクロックｃｋ１１’で活性化後の出力が保持されるように設定される。
【０３７７】
計算ブロック（ＥＳ部）２５内のＳＱＵＡＲＥ部５１０での計算について次に説明する。ケースによって計算が異なるのでまず、ケース１（case1）の場合の計算について示す。
【０３７８】
数６５は、Ｂδ-2のインデックスとしてσ（Ｊ）を求める場合で、Ｂのインデックスをσ（Ｂ）とし、δのインデックスをσ(δ)とすれば、δの−２乗は先の変換表で−２σ(δ)なる表現インデックスが得られるので、この様な合同式となる。
【０３７９】
【数６５】
0004621715.tif 000066
数６６は、２次方程式ｕ2＋ｕ＝Ｊを解いてふたつのｕを得てα0,β0＝δuを求める場合である。ｕにＧＦ（２５６）の要素を予め代入して求めておいたｕ2＋ｕのインデックスσ(ｕ2＋ｕ)とσ（Ｊ）をテーブルによりデコードで比較してｕからインデックスσ（ｕ）を求め、δuのインデックスσ(α0)とσ(β0)を、この様な合同式で計算する。
【０３８０】
【数６６】
0004621715.tif 000067
数６７は、δＳ-2のインデックスとしてσ（Ｋ）を求める場合で、δのインデックスをσ(δ)とし、Ｓのインデックスをσとすれば、Ｓの−２乗は先の変換表で−２σの表現インデックスが得られるので、この様な合同式となる。
【０３８１】
【数６７】
0004621715.tif 000068
数６８は、２次方程式ｖ2＋ｖ＝Ｋを解いてふたつのｖを得てα1,β1＝Ｓvを求める場合である。ｖにＧＦ（２５６）の要素を予め代入して求めておいたｖ2＋ｖのインデックスσ(ｖ2＋ｖ)とσ（Ｋ）を比較してｖからインデックスσ（ｖ）を求め、Ｓvのインデックスσ(α1)とσ(β1)をこの様な合同式で計算する。
【０３８２】
【数６８】
0004621715.tif 000069
数６９は、α0α1-2のインデックスとしてσ（Ｌ）を求める場合である。α0のインデックスをσ(α0)とし、α1のインデックスをσ(α1)とすれば、α1の−２乗は先の変換表で−２σ(α1)なる表現インデックスとなるので、この様な合同式となる。
【０３８３】
【数６９】
0004621715.tif 000070
数７０は、２次方程式ｙ2＋ｙ＝Ｌを解いてふたつのｙを得てふたつのα１ｙを求める場合である。ｙにＧＦ（２５６）の要素を予め代入して求めておいたｙ2＋ｙのインデックスσ(ｙ2＋ｙ)とσ（Ｌ）を比較してｙからインデックスσ（ｙ）を求め、α１ｙのインデックスσ(α１ｙ)を、この様な合同式で計算する。
【０３８４】
【数７０】
0004621715.tif 000071
数７１は、β0β1-2のインデックスとしてσ（Ｍ）を求める場合で、β0のインデックスをσ(β0)とし、β1のインデックスをσ(β1)とすれば、β1の−２乗は先の変換表で−２σ(β1)の表現インデックスが得られるので、この様な合同式となる。
【０３８５】
【数７１】
0004621715.tif 000072
数７２は、２次方程式ｚ2＋ｚ＝Ｍを解いてふたつのｚを得て、ふたつのβ１ｚを求める場合である。ｚにＧＦ（２５６）の要素を予め代入して求めておいたｚ2＋ｚのインデックスσ(ｚ2＋ｚ)とσ（Ｍ）を比較してｚからインデックスσ（ｚ）を求め、β１ｚのインデックスσ(β１ｚ)をこの様な合同式で計算する。
【０３８６】
【数７２】
0004621715.tif 000073
次に、ケース２（case2）の場合の計算を示す。
【０３８７】
数７３は、Ｂδ-2のインデックスとしてσ（Ｊ）を求める場合である。Ｂのインデックスをσ（Ｂ）とし、δ＝ζ2/3とおくので、インデックスはσ(δ)＝(2/3)σ(ζ)であり、δの−２乗は先の変換表で(-4/3)σ(ζ)の表現インデックスとして得られるので、この様な合同式となる。
【０３８８】
【数７３】
0004621715.tif 000074
数７４は、２次方程式ｕ2＋ｕ＝Ｊを解いてふたつのｕを得て、α0,β0＝δuを求める場合である。ｕにＧＦ（２５６）の要素を予め代入して求めておいたｕ2＋ｕのインデックスσ(ｕ2＋ｕ)とσ（Ｊ）を比較してｕからインデックスσ（ｕ）を求め、δuのインデックスσ(α0)とσ(β0)をこの様な合同式で計算する。この数７４は、先の数６６と全く同じである。
【０３８９】
【数７４】
0004621715.tif 000075
数７５は、α0α1-2のインデックスとしてσ（Ｌ）を求める場合で、α0のインデックスをσ(α0)とし、α1＝ζ1/3とおくので、インデックスはσ(α1)＝（1/3)σ(ζ)であり、α1の−２乗は先の変換表で(-2/3)σ(ζ）の表現インデックスとして得られるので、この様な合同式となる。
【０３９０】
【数７５】
0004621715.tif 000076
数７６は、２次方程式ｙ2＋ｙ＝Ｌを解いてふたつのｙを得てふたつのα1y＝Ｘを求める場合である。ｙにＧＦ（２５６）の要素を予め代入して求めておいたｙ2＋ｙのインデックスσ(ｙ2＋ｙ)とσ（Ｌ）を比較してｙからインデックスσ（ｙ）を求め、α1y＝ζ1/3y＝Ｘのインデックスσ（Ｘ）をこの様な合同式で計算する。
【０３９１】
【数７６】
0004621715.tif 000077
数７７は、β0β1-2のインデックスとしてσ（Ｍ）を求める場合である。β0のインデックスをσ(β0)とし、β1＝ζ1/3とおくので、インデックスはσ(β1)＝（1/3)σ(ζ)であり、β1の−２乗は先の変換表で（−２／３）σ(ζ）の表現インデックスとして得られるので、この様な合同式となる。
【０３９２】
【数７７】
0004621715.tif 000078
数７８は、２次方程式ｚ2＋ｚ＝Ｍを解いてふたつのｚを得て、ふたつのβ1z＝Ｘを求める場合である。zにＧＦ（２５６）の要素を予め代入して求めておいたz2＋zのインデックスσ(z2＋z)とσ（Ｍ）を比較してzからインデックスσ（ｚ）を求め、β1z＝ζ1/3z＝Ｘのインデックスσ（Ｘ）をこの様な合同式で計算する。
【０３９３】
【数７８】
0004621715.tif 000079
次にケース３（case3）の場合の計算について示す。
【０３９４】
下記数７９及び数８０は、それぞれケース１（case1）の数６５及び数６６と全く同じであるので、説明は省く。
【０３９５】
【数７９】
0004621715.tif 000080
【０３９６】
【数８０】
0004621715.tif 000081
数８１は、α0α1-2のインデックスとしてσ（Ｌ）を求める場合である。α0のインデックスをσ(α0)とし、α1＝(δ＋ζ-1η)1/2とおくので、インデックスはσ(α1)＝（1/2)σ(δ＋ζ-1ηζ)であり、α1の−２乗は先の変換表で−σ(δ＋ζ-1ηζ）の表現インデックスとして得られるので、この様な合同式となる。
【０３９７】
【数８１】
0004621715.tif 000082
数８２は、２次方程式ｙ2＋ｙ＝Ｌを解いてふたつのｙを得てふたつのα1y＝Ｘを求める場合である。ｙにＧＦ（２５６）の要素を予め代入して求めておいたｙ2＋ｙのインデックスσ(ｙ2＋ｙ)とσ（Ｌ）を比較してｙからインデックスσ（ｙ）を求め、α1y＝(δ＋ζ-1η)1/2y＝Ｘのインデックスσ（Ｘ）をこの様な合同式で計算する。
【０３９８】
【数８２】
0004621715.tif 000083
数８３は、β0β1-2のインデックスσ（Ｍ）を求める場合である。β0のインデックスをσ(β0)とし、β1＝(δ＋ζ-1η)1/2とおくので、インデックスはσ(β1)＝（1/2)σ(δ＋ζ-1ηζ)であり、β1の−２乗は先の変換表で−σ(δ＋ζ-1ηζ）の表現インデックスとして得られるので、この様な合同式となる。
【０３９９】
【数８３】
0004621715.tif 000084
数８４は、２次方程式ｚ2＋ｚ＝Ｍを解いてふたつのz を得てふたつのβ1z＝Ｘを求める場合である。ｚにＧＦ（２５６）の要素を予め代入して求めておいたｚ2＋ｚのインデックスσ(ｚ2＋ｚ)とσ（Ｍ）を比較してｚからインデックスσ（ｚ）を求め、β1z＝(δ＋ζ-1η)1/2z＝Ｘのインデックスσ（Ｘ）をこの様な合同式で計算する。
【０４００】
【数８４】
0004621715.tif 000085
次にケース５（case5）の場合の計算について示す。
【０４０１】
数８５は、α0α1-2のインデックスσ（Ｌ）を求める場合である。α0＝S-1ζとおくのでインデックスはσ(α0)＝σ(S-1ζ）であり、またα1＝Ｓとおくのでインデックスはσ(α1)＝σ(S)であり、α1の−２乗は先の変換表で−２σ（Ｓ）の表現インデックスとして得られるので、この様な合同式となる。
【０４０２】
【数８５】
0004621715.tif 000086
数８６は、２次方程式ｚ2＋ｚ＝Ｍを解いてふたつのｚを得てふたつのα1z＝Ｘを求める場合である。ｚにＧＦ（２５６）の要素を予め代入して求めておいたｚ2＋ｚのインデックスσ(ｚ2＋ｚ)とσ（Ｍ）を比較してｚからインデックスσ（ｚ）を求め、α1z＝Ｓｚ＝Ｘのインデックスσ（Ｘ）をこの様な合同式で計算する。
【０４０３】
【数８６】
0004621715.tif 000087
ケース６（case6）の場合は、δ＝ｂ１／２とおいて、後の計算はケース１（case1）の場合と全く同じである。但し、σ（δ）を（１／２）σ（ｂ）で置き換える。
【０４０４】
ケース７（case7）の場合は、δ＝ｃ１／３とおいて、後の計算はケース１（case1）の場合と全く同じである。但し、σ（δ）を（１／３）σ（ｃ）で置き換える。
【０４０５】
ケース８（case8）の場合の計算は次のようになる。
【０４０６】
数８７は、α１＝Ｓ、Ｌ＝０とおいて２次方程式ｙ2＋ｙ＝Ｌを解いてふたつのｙすなわちｙ＝０とｙ＝１を得て、ふたつのα1ｙ＝Ｘを求める場合である。ｙにＧＦ（２５６）の要素を予め代入して求めておいたｙ2＋ｙのインデックスσ（ｙ2＋ｙ）とσ（Ｌ）＝no indexを比較して、ｙからインデックスσ（ｙ）を求め、α1ｙ＝Ｓｙ＝Ｘのインデックスσ（Ｘ）をこの様な合同式で計算する。
【０４０７】
【数８７】
0004621715.tif 000088
数８８は、β１＝Ｓ，Ｍ＝０として、ｚ２＋ｚ＝Ｍを解いて、β１ｚの計算を行う場合である。α１がβ１、ＬがＭ、ｙがｚと置き換わっただけで、数８７と全く同じである。
【０４０８】
【数８８】
0004621715.tif 000089
以上の合同式を具体的に計算するＳＱＵＡＲＥ部５１０の回路構成は、図７４のようになっている。ケースに応じて分岐して使われるので、入力部には信号のマルチプレックスを行うマルチプレクス回路５１０ａがあり、その出力が入るＳＱＵＡＲＥ部本体５１０ｂがある。
【０４０９】
マルチプレクス回路５１０ａは、信号Ｂ，δ，Ｓ，α０，α１，β０，β１，ζ−１θ，ζ，"０"，Ｑ，δ＋ζ−１η，Ｓ−１ζ，ｂ，ｃをケースによってマルチプレクスしてＳＱＵＡＲＥ部本体５１０ｂへ信号ｊ，ｋ，ｌ，ｍ，ｐ，ｑとして渡す。
【０４１０】
ＳＱＵＡＲＥ部本体５１０ｂは、ｊ，ｋ，ｌ，ｍ，ｐ，ｑを表現インデックスの２進数表示へと変換するインデックス／バイナリ変換回路１０６１ａ〜１０６１ｆで受け取る。ｊ，ｋ，ｌ，ｍはアダー１０６２ａ，１０６２ｂによって要素の積の表現インデックスの２進数表示とされ、これがプリデコーダ１０６３ａ，１０６３ｂとバイナリ／インデックス変換回路１０６４ａ，１０６４ｂにおいて表現インデックスに変換され、デコーダ１０６５ａ，１０６５ｂにおいて、σ（Ｊ）to σ（ｕ）や σ（Ｋ）to σ（ｖ）等の２次方程式の解が求められる。
【０４１１】
デコードされた解は再びインデックス／バイナリ変換回路１０６６ａ〜１０６６ｄによって２進数表示に直される。これらと、ｐ，ｑをやはり変換回路１０６１ｅ，１０６１ｆにより２進数表示に直したものとがアダー１０６７ａ〜１０６７ｄで積がとられる。
【０４１２】
そして、プリデコーダ１０６８ａ〜１０６８ｄとバイナリ／インデックス変換回路１０６９ａ〜１０６９ｄを経て出力のｅ，ｆ，ｇ，ｈの表現インデックスとなる。ｅ，ｆ，ｇ，ｈはケースによって直接かさらに計算過程を経てエラー探索結果となる。
【０４１３】
マルチプレクス回路５１０ａを構成する要素の一連のインデックスマルチプレクサ(17)，(15)について、次に図７５〜図７７を参照して説明する。図７５に示す切り換え論理信号発生回路１０７１，１０７２は、ケースによって入力信号を表現インデックスの累乗の表現インデックスとして接続替えを行うものである。
【０４１４】
これらの一連の回路の切り替え信号はそれぞれのケースで必要なタイミングクロック以降は常に活性化される信号となるので、ダッシュ付きのクロック信号から作られる。図では切り替え信号発生論理回路１０７１，１０７２の出力として切り替え信号は、ケースの番号をcと数字で示したあとクロック名を付けて表してある。
【０４１５】
切り替え信号をクロックトインバータのスイッチ信号として入力の表現インデックス成分を切り替えてｊ，ｋ，ｌ，ｍ，ｐ，ｑにつなぐのがインデックスマルチプレクサ１０７３である。図７５に示したケース１（case1）の場合を例として詳細に説明をする。case1ではタイミングクロックｃｋ１３で出力ｊはインデックスσ（Ｂ）とσ(α0）の表現インデックス成分を切り替えて出力する。
【０４１６】
出力ｋはインデックスσ(δ)とσ(α1)の表現インデックス成分を−２倍する変換を行い切り替えて出力する。出力ｌはインデックスσ(δ)とσ(β0)の表現インデックス成分を切り替えて出力する。出力ｍはインデックスσ（Ｓ）とσ(β1)の表現インデックス成分を−２倍する変換を行い切り替えて出力する。出力ｐはインデックスσ(δ)とσ(α1）の表現インデックス成分を切り替えて出力する。出力ｑはインデックスσ（Ｓ）とσ(β1）の表現インデックス成分を切り替えて出力する。図の出力の前の倍数の数字が有限体要素の累乗に対応する数値である。
【０４１７】
図７６は、ケース２，ケース３，ケース５のインデックスマルチプレクサ１０７４，１０７５，１０７６を示している。それぞれ、タイミングクロックｃｋ７，ｃｋ１１，ｃｋ６によって切り替えを行う。出力の前に倍数が二つあるもの、例えばケース２のｋではクロックｃｋ７まではインデックスσ(ζ)の−１／３倍されたものに対応する表現インデックス成分が出力ｋとなり、クロックｃｋ７以降はインデックスσ(ζ)の−２／３倍されたものに対応する表現インデックス成分が出力kとなる。
【０４１８】
図７７は、ケース６，ケース７，ケース８のインデックスマルチプレクサ１０７７，１０７８，１０７９を示している。それぞれ、タイミングクロックｃｋ１１，ｃｋ８，ｃｋ９によって切り替えを行う。
【０４１９】
マルチプレクサ出力ｊ，ｋ，ｌ，ｍ，ｐ，ｑの表現インデックスをそれぞれ２進数表示するため、図７８に示すタイミングクロック生成回路１０８１と、その出力により制御されるバイナリ／インデックス変換回路１０８２が設けられる。
【０４２０】
タイミングをとるクロックは、図７８のクロック生成回路１０８１に示すように、ケース１（case1）では、クロックｃｋ１１とｃｋ１３、ケース２（case2）では、クロックｃｋ５とｃｋ７、ケース３，６，７（case3，case6，case7）では、ｃｋ９とｃｋ１１、ケース５（case5）ではｃｋ６、ケース８（case8）ではｃｋ９である。
【０４２１】
インデックス／バイナリ変換回路１０８２では、これらのタイミングのいずれかで活性化されてクロックのパルスの間だけ表現インデックス成分の２進数表示状態を保持する。
【０４２２】
このインデックス／バイナリ変換回路１０８２により得られるバイナリ値がアダー入力となるが、アダー入力の一方がゼロ元であれば積のインデックスを求めるアダー出力は確定しなので、入力段階でこの判断を行う。このための、図７９に示すゼロ元判定回路１０８３が設けられ、２進数表示の状態からゼロ元判断を行い、zero elementを作る。
【０４２３】
アダーで得られた結果は表現インデックス成分の２進数表示であるので、これを表現インデックス成分自体にデコードするために、既に述べたプリデコーダを用いる。プリデコーダは、２ビットずつ区切って４進数表示に変換する。更に４ビットの８進数表示のゼロに相当する信号を作る。
【０４２４】
これらのアダーのビットｓ0〜ｓ3のプリデコード信号を、図８０に示すインデックス(17),(15)＆ラッチで、表現インデックス成分，index(17)とindex(15)，について表のようなトランジスタゲートaとbの接続により、出力σ（Ｊ），σ（Ｋ）またはσ（Ｌ），σ（Ｍ）を得る。
【０４２５】
この回路はケース１（case1）ではクロックｃｋ１２とｃｋ１４でマルチプレクスして活性化され、ケース２（case2）ではクロックｃｋ６とｃｋ８でマルチプレクスして活性化され、ケース３，６，７（case3,6,7）ではクロックｃｋ１０とｃｋ１２でマルチプレクスして活性化され、ケース５（case5）ではクロックｃｋ７で活性化され、ケース８（case8）ではクロックｃｋ１０で活性化される。ラッチはクロックのパルスの間のみ有効でマルチプレクスに対応している。出力は次の２次方程式の解法の計算段に渡される。
【０４２６】
そこで次に、２次方程式ｕ2＋ｕ＝Ｊ、ｖ2＋ｖ＝Ｋ、ｙ2＋ｙ＝Ｌ、ｚ2＋ｚ＝Ｍを解くためのテーブルの説明を行う。
【０４２７】
図８１は、２次方程式ｙ２＋ｙ＝Ｌを代表例として、方程式を満たすインデックス間の対応関係を、α２σ（ｙ）+ασ（ｙ）＝ασ（Ｌ）として予めテーブルにまとめたものである。解の候補のインデックスσ（ｙ）に対する順番とシンドロームのインデックスσ（Ｌ）に対する順番とで対応関係を示している。σ（Ｌ）との対応関係からわかるように、同一のσ（Ｌ）に対して二つのσ（ｙ）が存在する。これは２次方程式であることに対応している。例えばσ（ｙ）＝８５，１７０の時にσ（Ｌ）＝０となり、Ｌがゼロ元のときはｙがゼロ元かσ（ｙ）＝０となる。
【０４２８】
図８２は、２次方程式の解に対して、Ｌの表現インデックス{σ(L)(17),σ(L)(15)}とｙの表現インデックス成分σ(y)(17) の間の関係を示している。またデコードの際のバス構成（ｂｓ１，ｂｓ２）との関係も併せて示している。表はσ(y)(17)の値ごとにまとめてグループとしている。
【０４２９】
計算で得られたＬの表現インデックスに対して、この表からデコーダを作るとｙの表現インデックス成分が求まる。但し同じＬが２つのｙに対応するので、デコードの出力を２つに分けてｙごとにデータ出力データがバスでぶつからないように、２つのバスｂｓ１，ｂｓ２を設けている。
【０４３０】
例えばσ（Ｌ）＝１７にはσ（ｙ）＝１１９，１５３が対応するので、σ（ｙ）＝１１９はｂｓ１、σ（ｙ）＝１５３はｂｓ２になるようにバスを分ける。また、Ｌの表現インデックスが得られない要素ゼロ元の場合はzero element信号が出る(Ｌ＝０)ので、その場合にはバスｂｓ１に０、バスｂｓ２にzero（すなわちno index）となる状態を設定して区別する。
【０４３１】
実際のデコードで利用されるのは表現インデックスであり、Ｌの各表現インデックスに対して各バスｂｓ１，ｂｓ２に出力されるｙの表現インデックス成分σ(y)(17)の値を対応させる。表現インデックス間に対応がない場合は解が存在しない。
【０４３２】
図８３は、２次方程式の解に対して、Ｌの表現インデックス{σ(L)(17),σ(L)(15)}とｙの表現インデックス成分σ(y)(15)の間の関係を示している。またデコードの際のバス構成との関係も合わせて示している。詳細は、図８２で説明した表現インデックス成分σ(y)(17)の場合と同様であるので説明はしない。
【０４３３】
図８４は、２次方程式の解を求めてアダーに結果を送るデコーダ回路の構成である。代表してｙ2＋ｙ＝Ｌの場合について示す。Ｌの表現インデックスから対応するｙの表現インデックスに変換するのがσ(y)(17)(15) デコーダ１０９１である。ひとつのＬに２つのｙが対応しているのでバスｂｓ１，ｂｓ２にそれぞれｙの表現インデックスを出力する。
【０４３４】
Ｌの表現インデックス成分σ（L)(17),σ(L)(15)をゲート入力とするＮＡＮＤ接続によってこれらの表現インデックスを区別する。表に従って同じｙの表現インデックス成分に対応するグループごとにＮＯＲ接続で結合する。そして、ケース１（case1）ではクロックｃｋ１２とｃｋ１４、ケース２（case2）ではｃｋ６とｃｋ８、ケース３，６，７（case3,6,7）ではｃｋ１０とｃｋ１２、ケース５（case5）ではｃｋ７、ケース８（case8）ではｃｋ１０のそれぞれのタイミングクロックでプリチャージされたノードを活性化することにより、ｙの表現インデックス成分σ(y)(17)またはσ(y)(15)をバスごとに発生する。
【０４３５】
Ｌのゼロ元に対応してzero element信号でバスｂｓ１にはσ(y)＝０に対応する成分であるσ(y)(17)＝０,σ(y)(15)＝０が出力され、バスｂｓ２ではno indexとなるようにする。
【０４３６】
表現インデックスの和をアダーで計算できるように２進数表示にする回路がインデックス／バイナリ変換回路１０９２である。ここでインデックスは、５バイナリまたは４バイナリに変換される。
【０４３７】
さらに２つの解が求まらない場合を示すのがno index信号発生回路１０９３である。インデックスが出なければインデックス／バイナリ変換回路１０９２の出力が全ビット"1"となるので、この状態を検出するＮＡＮＤ回路で構成される。バスｂｓ１ではインデックスがあれば必ずバイナリ信号があるので、バスｂｓ１の状態をモニターする。
【０４３８】
表現インデックスの和を求めるアダーは、先に説明したように、有限体要素Ａのα乗と要素Ｂのβ乗との積の表現インデックス成分を求める。アダーは表現インデックスごとに必要なので、いまの場合法１７と１５のそれぞれ用に必要である。
【０４３９】
図８５に示すような、バスｂｓ１，ｂｓ２に併設された５ビット（１７）アダー１１００，１１０１と、同様に図８６に示すような併設された４ビット（１５）アダー１１０２，１１０３を構成する。結果は表現インデックス成分の２進数表示としてそれぞれ５ビットと４ビットの数として得られる。
【０４４０】
図８７は、アダーの出力をデコードしてラッチするタイミングをケースごとに制御するためのクロック発生論理回路である。ここに示したのは今までに作られていないものである。信号の名前の付け方は今まで通りである。例えばcase3とcase6とcase7で使われるクロックｃｋ１０のタイミングで立ち上がりサイクル中状態を保つクロックであるダッシュ付きクロックｃｋ１０’から作られるクロックは反転して、/ｃ３６５ｃｋ１０’として表現される。ｃ３６５がケースを表す。
【０４４１】
アダーで得られた結果は表現インデックス成分の２進数表示であるので、これを表現インデックス成分自体にデコードする。これは既に説明したプリデコーダによる。プリデコーダは、アダーのビットｓ0〜ｓ3を２ビットずつ区切って４進数表示に変換する。更に４ビットの８進数表示のゼロに相当する信号を作る。
【０４４２】
これらのプリデコードされた信号から、図８８に示すインデックス(17),(15) ＆ラッチ回路により表現インデックス成分を出力する。即ちindex(17)とindex(15)の表にしめすように、トランジスタゲートａとｂに接続して、ＳＱＵＡＲＥ部の出力ｅ，ｆ，ｇ，ｈから出力インデックスσ(α0)、σ(β0)、σ(α1)、σ(β1)を第１のタイミングで、σ(α1y1) 、σ(α1y2)、σ(β1z1)、σ(β1z1)を第２のタイミングで得る。
【０４４３】
第１のタイミングは、ケース１（case1）ではクロックｃｋ１３、ケース２（case2）ではｃｋ７、ケース３，６，７（case3,6,7）ではｃｋ１１、ケース５（case5）ではｃｋ６、ケース８（case8）ではｃｋ９であり、第2のタイミングはケース１（case1）ではｃｋ１５、ケース２（case2）ではｃｋ９、ケース３，６，７（case3,6,7）ではｃｋ１３、ケース５（case5）ではｃｋ８、ケース８（case8）ではｃｋ１１である。デコーダはクロックのパルスの間のみ有効でマルチプレクスに対応している。第1、第２のタイミングでそれぞれのラッチで出力はサイクルの間保持される。
【０４４４】
ＳＱＵＡＲＥ部２５の計算結果からエラー位置を求めるために、有限体要素の和を求めるケースがあるので、これを図８９を参照して説明する。Ｘ1，Ｘ2，Ｘ3の計算では先に説明したシンドロームの表現インデックスからその累乗との和であるζ、η、θの多項式表現の係数を求める回路をマルチプレクスして使うことができるのでその例を示す。
【０４４５】
入力信号はタイミングクロックｃｋ２のパルス期間はＳk、Ｓk （ｋ＝３，５，７）それぞれの表現インデックスであり、タイミングクロックｃｃｋ’でそれぞれα１ｙ１(＝SQUARE出力のｅ)、α１ｙ２(＝SQUARE出力のｆ)、β１ｚ１(＝SQUARE出力のｇ)とａの表現インデックスを切り替える。これらの信号ごとに和の多項式表示のｍ次の係数に相当するノードを持ち、このノードをプリチャージ回路１１１０でプリチャージしておき、クロックｃｋ２またはｃｃｋ’でデコーダ１１１１を活性化する。
【０４４６】
各信号のｍ次のノードの表現インデックス信号のトランジスタゲートへの接続は先に説明した通り表から決まる。各ｍについて各要素からの２つのノードのパリティチェックを２ビットＰＣ１１１２で行い、入力信号の和の多項式表示の係数を得る。
【０４４７】
タイミング信号ｃｃｋ’はケース１（case1）ではクロックｃｋ１５’、ケース６，７（case6,7）ではｃｋ１３’、ケース８（case8）ではｃｋ１１’から、図に示す論理回路１１１３により発生される。
【０４４８】
Ｘ4の計算ではＳＱＵＡＲＥ部２５のケース３（case3）の計算過程で必要とされる量δ＋ζ-1ηの計算回路とマルチプレクスして使う場合を、図９０に示す。
【０４４９】
入力信号はタイミングクロックｃ３ｃｋ９のパルス期間はζ-1η、δのそれぞれの表現インデックスであり、タイミングクロックｃｃｋ’でそれぞれβ１ｚ２(＝SQUARE出力のｈ)とａの表現インデックスを切り替える。これらの信号ごとに和の多項式表示のｍ次の係数に相当するノードを持ち、このノードをプリチャージ回路１１２０によりプリチャージしておき、クロックｃｋ２またはｃｃｋ’でデコーダ１１２１を活性化する。
【０４５０】
各信号のｍ次のノードの表現インデックス信号のトランジスタゲートへの接続は先に説明した通り表から決まる。各ｍについて各要素からの２つのノードのパリティチェックを２ビットＰＣ１１２３で行い、入力信号の和の多項式表示の係数を得る。
【０４５１】
タイミング信号ｃ３ｃｋ９はケース３（case3）ではクロックｃｋ９から、図に示す論理回路１１２４により発生される。
【０４５２】
有限体要素の和として得られたζ，η，θ及びＸ1，Ｘ2，Ｘ3，Ｘ4などは７次の多項式として得られ、ＧＦ（２５６）の要素であるｐｉ（ｘ）のいずれかに一致している。そこで多項式をｍ１（ｘ）の根αのインデックスをｍｏｄ １７，ｍｏｄ １５によって表した表現インデックスに変換して以後の計算で利用する。この変換を行なうプリデコーダは、シンドロームの表現インデックスをデコードする場合のそれと同じであるので改めて示さない。プリデコーダは、８ビットのｐｉ（ｘ）の係数の表す２５６のバイナリ信号状態を信号Ａｉ，Ｂｉ，Ｃｉ，Ｄｉ（ｉ＝０〜３）の組合せとして表し、更にこれから１６個のＥ[ｉ]とＦ[ｉ]であるＥ[０；１５]とＦ[０；１５]への変換である。
【０４５３】
プリデコードされた信号を元に、図９１のインデックス(17),(15) ＆ラッチ回路１１３１は剰余類のグループに分けて表現インデックス成分を発生しこれらをラッチする。即ち、信号Ｅ[０；１５]とＦ[０；１５]を剰余類の各要素を表すデコードのＮＡＮＤ接続とこれら要素の集合を表すこれらのＮＯＲ接続で結合し、プリチャージされたノードを第１のタイミングではクロックｃｋ３とｃｋ３’で放電してラッチして、剰余類のインデックス信号 σ(ζ)、σ(η)、σ(θ)を出力する。第２のタイミングではクロックｃｃｋ＋１’で放電してラッチして剰余類のインデックス信号σ(X1)、σ(X2)、σ(X3)を出力する。
【０４５４】
ｐｉ（ｘ）＝０の場合はαの指数で表現できないので、インデックスが求まらない。この場合はＥ[０]＝１かつＦ[０］＝１であり、インデックスは出力されない。ζ、η、θに関してはゼロ要素であることの判断を使うので、ゼロ成分であるこの判定を簡単に行うために、ゼロ要素判定回路１１３２なるデコーダを別途設けている。具体的には信号ζ＝０、η＝０、θ＝０をそれぞれゼロ要素に対応する場合に発生し保持する。
【０４５５】
第２のタイミングはケース１（case1）ではクロックｃｋ１６’から、ケース６，７（case6,7）ではｃｋ１４’から、ケース８（case8）ではｃｋ１２’から、図９１に示す論理回路１１３３で作られて、クロックｃｃｋ＋１’となる。パリティチェックのデコーダを活性化するクロックより1クロックあとのタイミングにして計算結果をラッチするようにしている。
【０４５６】
Ｘ4に関しては、図９２のインデックス(17),(15) ＆ラッチ回路１１４１が用いられる。即ち、信号Ｅ[０；１５]とＦ[０；１５]を剰余類の各要素を表すデコードのＮＡＮＤ接続とこれら要素の集合を表すＮＯＲ接続で結合し、プリチャージされたノードを第１のタイミングではクロックｃｋ１０で放電してラッチして剰余類のインデックス信号 σ(δ＋ζ-1η)を出力する。第２のタイミングではクロックｃｃｋ＋１’で放電してラッチして剰余類のインデックス信号σ(X4)を出力する。
【０４５７】
第１のタイミングは、ケース３（case3）でクロックｃｋ１０から、図の論理回路１１４２で作られるｃ３ｃｋ１０となる。σ(δ＋ζ-1η)の保持は計算で必要となるクロックパルスの期間である。
【０４５８】
図９３は、計算過程で得られた結果をエラー情報Ｘ1，Ｘ2，Ｘ3，Ｘ4としてエラー位置情報に変換して保持するデコード回路即ち、エラー位置デコーダ（ＥＬＤ）１１５１を示している。ＳＱＵＡＲＥ部からの最終計算結果としての表現インデックスｅ，ｆ，ｇ，ｈか、これらにさらに和の演算をした結果であるσ(Ｘ1), σ(Ｘ2), σ(Ｘ3), σ(Ｘ4)かまたはシンドロームＳのインデックスσをケースによって選択して、これらの表現インデックスをデコードしてエラー位置となるＸのインデックスσ（Ｘ）をラッチする。
【０４５９】
ＥＬＤ１１５１の入力信号の切り替えを行うのが、マルチプレクス回路１１５２であり、その出力はＸ1(17), Ｘ2(17), Ｘ3(17), Ｘ4(17), Ｘ1(15), Ｘ2(15), Ｘ3(15), Ｘ4(15)なる表現インデックス成分である。ＥＬＤ１１５１は、表現インデックスをインデックス自体にデコードする４つのＮＡＮＤ接続をＮＯＲ接続で結合し、クロックＣＬＫでプリチャージされたノードを放電して、さらに反転して信号としラッチする。
【０４６０】
ＥＬＤ１１５１を起動するクロックＣＬＫは図に示した論理回路１１５３によって発生される。即ち、ケース１（case1）ではクロックｃｋ１６’、ケース２（case2）ではｃｋ９’、ケース３（case3）ではｃｋ１３’、ケース４（case4）ではｃｋ６’、ケース５（case5）ではｃｋ８’、ケース６，７（case6,7）ではｃｋ１４’、ケース８（case8）ではｃｋ１２’からそれぞれ作られる。
【０４６１】
図９４は、ＥＬＤ用のマルチプレクス回路１１５２の詳細を示している。ケースごとに入力と出力の対応を切り換えるが、ＥＬＤの信号Ｘ1にはクロックc1678ckX’の場合に表現インデックスσ(Ｘ1)、c235ckefgh’の場合に表現インデックスｅ、c4ck6’の場合に表現インデックスσが接続される。信号Ｘ2にはクロックc1678ckX’の場合に表現インデックスσ(Ｘ2)、c235ckefgh’の場合にインデックスｆ、c4ck6’の場合にＶｓｓが接続される。
【０４６２】
信号Ｘ3にはクロックc1678ckX’の場合に表現インデックスσ(Ｘ3)、c235ckefgh’の場合に表現インデックスｇ、c4ck6’の場合にＶｓｓが接続される。信号Ｘ4にはクロックc1678ckX’の場合に表現インデックスσ(Ｘ4)、c235ckefgh’の場合に表現インデックスｈ、c4ck6’の場合にＶｓｓが接続される。
【０４６３】
接続替えを行うクロック発生は、図の論理回路１１５４による。即ち、c1678ckX’はケース１（case1）でｃｋ１６’、ケース６，７（case6,7）でｃｋ１４’、ケース８（case8）でｃｋ１２’から作られ、c235cdefgh’はケース２（case2）でｃｋ９’、ケース３（case3）でｃｋ１３’、ケース５（case5）でｃｋ８’から作られ、c4ck6’はケース４（case4）でｃｋ６’から作られる。
【０４６４】
・エラー訂正（ＥＣ）部２６
図９５は、エラービット位置でデータ訂正を行なうエラー訂正部２６の回路構成を示す。エラー訂正が必要でないかできない場合を除いてエラー位置を示すインデックスσ（Ｘ）と一致したビット位置のＩＯ nではメモリからから読み出したビットデータＤｉ（ｎ）を２ビットＰＣで反転して、エラー訂正されたデータを得る。エラー訂正が必要でないかできない場合は、訂正不可信号"non correctable"を出力する。
【０４６５】
［４ＥＣ−ＥＷ−ＢＣＨシステムのテスト法］
大容量メモリの容量はＥＣＣシステムが扱うデータビット数ｈの４乗以上の量のデータが保存されるのが一般的である。例えばｈ＝２５５に対して１６Ｇビットなどは普通である。そこで、ＥＣＣシステム自体がエラーを生じないこと、データにエラーが無いこと及び訂正不可能な数のエラーがあることをメモリ外部に知らせることが出来れば、メモリセルの良・不良のテストをＥＣＣシステムのテストで代用することが出来るので、メモリのテストコストの削減になる。
【０４６６】
その様なＥＣＣシステムのテスト法を、図９６を用いて説明する。上の実施の形態で説明したように、入力ｆ（ｘ）をエンコードしたｈ次の多項式ｆ（ｘ）ｘ４ｎ＋ｒ（ｘ）を、メモリコアに書き込むことなく、これに加算部２８でテスト用エラーデータｅ（ｘ）を加えて、ＥＣＣシステムが正しい訂正を行なうことを調べる。即ち外部からのデータｆ（ｘ）のエンコードデータに、外部からの（または内部で自動発生される）テストデータｅ（ｘ）を加えてＥＣＣシステムを通して、データｆ（ｘ）を復元しこれを入力データと比較する。
【０４６７】
テストデータｅ（ｘ）のデータパタンの数（従ってテスト回数）は４ＥＣ−ＥＷ−ＢＣＨシステムの場合、ｈ４であり、ｈ＝２５５では４Ｇ回程度である。これはメモリの全ビットを数ビットの並列テストでテストする程度以下であり、メモリへの読み書き動作を経ない分だけ高速サイクルでのテストが出来る。従ってテスト時間の大幅な削減となる。
【０４６８】
ＥＣＣシステムが完全であれば、メモリのメモリセルのテストを行わなくても、訂正可能なエラーは訂正し、訂正不能な場合はそれを知らせてくれるのでそのエラービット分は使用しないなどの対応がとれる。外部への訂正不可能なエラー数が生じたことを示すnon correctable 信号を出力することがこの対応のためには必須である。
【０４６９】
図９７は更に、上述したnon correctable信号を出力できるオンチップのＥＣＣ回路を備えたファイルメモリ１２００について、テストフリーとする場合のシステム構成例を示す。即ち、通常行われるメモリのウェハテストを行うことなく、ＥＣＣシステムの機能を利用して、不良アドレスについて冗長セルアレイによる置換制御を可能とした例である。
【０４７０】
ファイルメモリ１２００は、そのメモリセルアレイのアドレス空間が、１サイクルのＥＣＣで使うデータ毎のブロックに分割されているものとする。この分割は、アドレス空間の論理的分割であるが、図では物理的に分割されたように示している。勿論物理ブロックと論理ブロックが一致してもよい。
【０４７１】
メモリセルアレイには、いくつかの冗長ブロックを有する冗長アレイ領域１２０１が用意されている。これは、テスト時や使用中に訂正不可能なエラーが発生したブロックを置き換えるための代替ブロック領域である。オンチップのＥＣＣ回路１２０２は、ブロック毎にエラー検出訂正処理を行い、エラー訂正が不可能であれば、non correctable 信号を発生する。
【０４７２】
システムには、ホストデバイスのＣＰＵ１４００から送られるアドレスをキーとして、ファイルメモリ１２００のアドレスを発生するための内容参照メモリ（ＣＡＭ；Contents Addressable Memory）１３０１がある。このＣＡＭ１３０１は、キーに対応するアドレスデータがないときには、入力されたアドレスをそのままファイルメモリ１２００のアドレスとして出力するものとする。
【０４７３】
また、テスト時や使用中にnon correctable 信号が発生したときに、これを受けてファイルメモリ１２００の冗長アレイ領域１２０１の冗長ブロックアドレスを順次発生するためのアドレス発生器１３０２がある。このアドレス発生回路１３０２から順次発生される冗長ブロックアドレスのうち、後に説明するように不良ブロックアドレスに置き換えられるべきものが、ＣＡＭ１３０１に書き込まれる。以後、ＣＡＭ１３０１は、ＣＰＵ１４００から送られるアドレスが不良ブロックアドレスである場合に、これに代わって記録された冗長ブロックアドレスを発生する。即ち、ＣＡＭ１３０１とアドレス発生器１３０２とがメモリコントローラ１３００を構成する。
【０４７４】
具体的にこのシステムの動作を説明する。初期テスト時、ＣＰＵ１４００からファイルメモリ１２００の全てのブロックにテストデータを書き込む。このテストデータは、オール“０”やオール“１”でもよいが、使用されるメモリセルに特有のエラーを生じやすいデータパターンを用いることが好ましい。
【０４７５】
この後、ＣＰＵ１４００から順次読み出しアドレスを発生してファイルメモリ１２００をアクセスする。アドレスは、メモリコントローラ１３００内のＣＡＭ１３０１に入力されるが、最初はそのまま素通りしてファイルメモリ１２００に送られ、アクセスが行われる。ファイルメモリ１２００からnon correctable信号が発生されず、従ってエラーがあってもエラー訂正が可能である場合は、ＣＡＭ１３０１への書き込みは行われない。
【０４７６】
ＣＰＵからの送られるアドレスが初期不良ブロックアドレスに一致し、ＥＣＣ回路１２０２がnon correctable信号を発生すると、アドレス発生器１３０２が起動されて、冗長アレイ領域１２０１の冗長ブロックアドレスを発生し、これをファイルメモリ１２００に送ると同時に、ＣＡＭ１３０１に送る。このとき、ＣＰＵ１４００は、non correctable信号を受けて、アドレス送信を一時停止する。
【０４７７】
ＣＡＭ１３０１は、ＣＰＵから送られたアドレスをキーとして、アドレス発生器１３０２から送られた冗長ブロックアドレスを記憶する。そしてこの冗長ブロックアドレスでファイルメモリアクセスを行い、再びnon correctable信号が発生された場合は、アドレス発生器１３０２は次の冗長ブロックアドレスを発生し、これをＣＡＭ１３０１に記憶する。
【０４７８】
この動作を、置き換え可能な冗長ブロックアドレスが得られるまで繰り返す。これにより、ＣＡＭ１３０１には結局、初期不良ブロックアドレスとこれを置換すべき冗長ブロックアドレスとの対応が記憶される。
【０４７９】
例えば図９７に示したように、ファイルメモリ１２００に初期不良ブロックＢＢＬＫ０−３があるものとして、これらに代わってアクセスされるべき冗長ブロックＲＢＬＫ０−３のアドレスが、ＣＡＭ１３０１に記憶される。以後ＣＰＵからのアクセスはＣＡＭ１３０１を介して行われ、初期不良ブロックへのアクセスは回避されて、冗長ブロックがアクセスされることになる。
【０４８０】
ＣＡＭ１３０１がＤＲＡＭ等の揮発性メモリである場合には、電源投入時に初期テストを毎回行うことが必要である。ＣＡＭ１３０１のアドレス記憶部にファイルメモリ１２００と同様の不揮発性メモリを用いれば、電源投入毎の初期テストは不要になる。この場合、初期テストの結果求められたキーアドレスと冗長ブロックアドレスの対応は、例えば初期テスト終了後に一括して不揮発性メモリに書き込めばよい。
【０４８１】
メモリ使用中に不良ブロックが発生して、non correctable信号が発生した場合に、同様の処理を行うことも可能である。即ち、アドレス発生器１３０２が起動されて冗長ブロックアドレスを発生し、これを置き換えアドレスとしてＣＡＭ１３０１に書き込む。新たに発生した不良ブロックのデータを外部に読み出すか否かは、ＣＰＵ１４００のプログラムが判断する。次回からは、この不良ブロックに対するアクセスは、ＣＡＭ１３０１によって、冗長ブロックアドレスに変更される。
【０４８２】
なおこの不良救済方式は、通常アクセスされるメモリセルアレイと別に冗長セルアレイを設ける場合に限られず、格別の冗長セルアレイを設けない場合にも有効である。即ちこの場合も、不良ブロックアドレスとこれに代わってアクセスされるべき代替ブロックアドレスとの対応をＣＡＭに記憶して、同様に不良ブロックを避けたアクセスを行うことが可能になる。但し、不良ブロックアドレスに代わって使用すべく記憶された代替ブロックアドレスは、その後通常のアクセスには用いられなくなる。
【０４８３】
ＮＡＮＤ型フラッシュメモリでは、図９８に示したように、インタフェース１５０１，１５０２、バッフアＤＲＡＭ１５０３、ハードウェアシーケンサ１５０５、ＭＰＵ１５０４等を備えたメモリコントローラ１５００を用い、例えばフラッシュメモリ１２００とメモリコントローラ１５００とを一体にパッケージするメモリシステムが知られている。図９７に示したメモリコントローラ１３００は、図９８のようなメモリシステムのコントローラ１５００の付加機能であってもよい。更に、ＥＣＣ回路がメモリコントローラ１５００側に搭載される場合も有効である。
【０４８４】
この様にＥＣＣ回路をフルにテストしておけば、ファイルメモリ自体のテストを行うことなく、不良ブロックを排除して冗長ブロックを使うというアドレス置換制御が可能になる。従って信頼性の高いメモリシステムが構築可能である。
【０４８５】
なお図９６及び図９７で説明したテスト法は、４ビットエラーまで訂正可能なＥＣＣシステムの場合に限らず、有効である。即ちエラー探索方程式を、解の候補のインデックスとシンドロームのインデックスとの間の合同式計算によりエラー位置対応のインデックスを求める際に、２ｎ−１を法とする合同式を、２ｎ−１の互いに素である２因数を法とする二つの合同式に分けて並列計算する、という手法を適用して、２ビット以上のエラー訂正を可能とするオンチップＥＣＣシステムを構成した場合に有効である。
【０４８６】
以上のようにこの実施の形態によれば、エラー探索をテーブルによるデコーダを用いて高速に行なうことが出来る最大のエラー数であると思われる４ビットまでのエラー訂正を数十nsの演算時間で完了することが出来るため、大容量ファイルメモリなどの性能を落とすことなく信頼性の向上が実現できる。
【０４８７】
また、ＥＣＣシステムの動作テストを行っておけばメモリ本体のテストは行なわずにファイルメモリのエラー訂正可能領域のみを利用できるので、テストのコストを削減して利用可能な大容量メモリを安価に提供できる。
【０４８８】
［４ＥＣ−ＥＷ−ＢＣＨシステムのまとめ］
（ａ）メモリに搭載してメモリとのデータ読み書きの経路上で演算を実時間で行なう４ビットエラー訂正可能な高速ＥＣＣシステムを実現した。システムのポイントはエラー探索多項式を低次数の多項式の因子の積に係数パラメータ導入して分解して、まずこの係数パラメータをシンドロームから求め、次に因子の多項式を解く。いずれの段階でも変数変換によって方程式を未知数部分とシンドローム部分に分離して、予め計算した解の候補とシンドローム計算の結果をマッチングし高速な演算処理で解を得る。マッチングの演算は有限体要素の表現インデックス間の関係を利用して計算を高速化している。また、ＥＣＣシステムのテスト方法としてメモリへの読み書きをバイパスして入力データのコードにエラーパタンを加えて訂正を確認することによって、メモリ自体のテストをせずにメモリを利用できる。
【０４８９】
（ｂ）４ビットエラー訂正可能な上記ＥＣＣシステムにおいて、エラー位置検索方程式を二つの因子方程式の積に分解して、分解の係数パラメータをシンドロームから計算し、さらに因子方程式を解いてエラー位置を探索する。
【０４９０】
（ｃ）有限体ＧＦ（２ｎ）の要素を利用してひとまとまりごとのデータに対して４ビットまでのエラー訂正が可能なコードシステムをメモリに搭載して、５ビット以上のエラーが発生している場合には訂正不可能であることをメモリ外部に知らせる。
【０４９１】
（ｄ）有限体ＧＦ（２ｎ）の要素を利用してひとまとまりごとのデータに対して一定数ビットまでのエラー訂正が可能なコードシステムをメモリに搭載して、一定数より多くのエラーが発生している場合には訂正不可能であることをメモリ外部に知らせるとともに、システムに正常に働くことをテストするために、メモリへ書き込むコードデータにメモリへの書き込みをバイパスして外部からエラーパタンを付加してエラー訂正を確認するパスを備える。
【０４９２】
（ｅ）エラー訂正不可能という信号が出たひとまとまりのメモリデータ領域は、不良領域として使用しないようにすることができ、これによりメモリのデータの信頼性を高いものとすることができる。
【図面の簡単な説明】
【０４９３】
【図１】計算のステップごとにシンドロームから得られる有限体要素を示す図でる。
【図２】実施の形態による４ＥＣ−ＥＷ−ＢＣＨシステムのブロック図である。
【図３】エラー探索訂正システムを駆動するクロックを示す図である。
【図４】システムのシンドローム要素計算（ＳＥＣ）部の構成を示す図である。
【図５】システムのエラー探索（ＥＳ）部の構成を示す図である。
【図６】ＥＳ部のケース毎の動作説明図（その１）である。
【図７】ＥＳ部のケース毎の動作説明図（その２）である。
【図８】ＥＳ部のケース毎の動作説明図（その３）である。
【図９】ＥＳ部のケース毎の動作説明図（その４）である。
【図１０】ＥＳ部のケース毎の動作説明図（その５）である。
【図１１】ＥＳ部のケース毎の動作説明図（その６）である。
【図１２】ＥＳ部のケース毎の動作説明図（その７）である。
【図１３】１２８ビットデータを扱う場合の次数の選択表を示す図である。
【図１４Ａ】チェックビット計算する際の多項式次数の選択表（その１）である。
【図１４Ｂ】チェックビット計算する際の多項式次数の選択表（その２）である。
【図１５】チェックビットを計算するパリティチェック回路を示す図である。
【図１６】図１５のパリティチェッカラダー（ＰＣＬ）の構成例である。
【図１７】２ビットＰＣの回路構成を示す図である。
【図１８】４ビットＰＣの回路構成を示す図である。
【図１９】シンドロームＳを計算する際の多項式次数の選択表を示す図である。
【図２０】シンドロームＳ３を計算する際の多項式次数の選択表を示す図である。
【図２１】シンドロームＳ５を計算する際の多項式次数の選択表を示す図である。
【図２２】シンドロームＳ７を計算する際の多項式次数の選択表を示す図である。
【図２３】シンドロームを計算するパリティチェック回路を示す図である。
【図２４】図２３のパリティチェッカラダー（ＰＣＬ）の構成例である。
【図２５】ＧＦ（２５６）要素の多項式係数表示から表現インデックスへの変換デコーダのプリデコーダ講話委を示す図である。
【図２６】同じくインデックスデコーダの構成を示す図である。
【図２７】同じくゼロ元判定回路の構成を示す図である。
【図２８】ＧＦ（２５６）要素の多項式係数表示から表現インデックス成分（１７）への変換テーブルである。
【図２９】ＧＦ（２５６）要素の多項式係数表示から表現インデックス成分（１５）への変換テーブルである。
【図３０】ＧＦ（２５６）要素の表現インデックス成分の要素の累乗による変換表である。
【図３１】要素ζ、η、θを計算するパリティチェック回路を示す図である。
【図３２Ａ】要素間のパリティチェックを表現インデックス成分で行なう際のデコード表（その１）である。
【図３２Ｂ】要素間のパリティチェックを表現インデックス成分で行なう際のデコード表（その２）である。
【図３３】ＧＦ（２５６）要素の多項式係数表示から表現インデックスへの変換デコーダを示す図である。
【図３４】同じくゼロ元判定回路を示す図である。
【図３５】アダー入力の累乗変換のインデックスマルチプレクス回路を示す図である。
【図３６】同じく表現インデックスのバイナリ表示デコーダを示す図である。
【図３７】ｍｏｄ１７のインデックスアダーの構成図である。
【図３８】ｍｏｄ１５のインデックスアダーの構成図である。
【図３９】ｍｏｄ１７アダーの具体的構成図である。
【図４０】ｍｏｄ１５アダーの具体的構成図である。
【図４１】フルアダーの構成図である。
【図４２】ハーフアダーの構成図である。
【図４３】アダー出力のデコーダ回路のプリデコーダを示す図である。
【図４４】同じくインデックス＆ラッチを示す図である。
【図４５】クロックｃｋ３，ｃｋ６で使用されるアダー回路群とこれに入力される有限体要素の表現インデックスとの関係を示す図である。
【図４６】同アダー入力のインデックスマルチプレクス回路及びインデックス／バイナリ変換回路の構成を示す図である。
【図４７】アダー出力のバイナリ／インデックスデコード回路を示す図である。
【図４８】クロックｃｋ３，ｃｋ７で使用されるアダー回路群とこれに入力される有限体要素の表現インデックスとの関係を示す図である。
【図４９】同アダー入力のインデックスマルチプレクス回路及びインデックス／バイナリ変換回路の構成を示す図である。
【図５０】同じくインデックス＆ラッチを示す図である。
【図５１】ＳＥＣ部のアダー出力のバイナリ／インデックスデコーダ回路を示す図である。
【図５２】ＳＥＣ部で行なう４要素の和を計算すパリティチェック回路（その１）である。
【図５３】ＳＥＣ部で行なう４要素の和を計算すパリティチェック回路（その２）である。
【図５４】ＳＥＣ部で行なう４要素の和を計算すパリティチェック回路（その３）である。
【図５５】図５２での多項式係数表示から表現インデックス変換デコーダとラッチを示す図である。
【図５６】同じくゼロ元判定回路を示す図である。
【図５７】図５３，５４での多項式係数表示から表現インデックス変換デコーダとラッチを示す図である。
【図５８】同じくゼロ元判定回路を示す図である。
【図５９】アダー入力の変換と表現インデックス／バイナリ表示デコーダを示す図である。
【図６０】ＳＥＣ部で行なう４要素の和を計算すパリティチェック回路（その４）である。
【図６１】ＥＳ部での計算分岐のケースを示す信号発生回路を示す図である。
【図６２】ＥＳ部のＣＵＢＥ部の構成を示す図である。
【図６３】図６２のマルチプレクサ回路の構成を示す図である。
【図６４】図６２のはじめのアダー入出力でのインデックス／バイナリ変換回路を示す図である。
【図６５】同じくインデックス＆ラッチを示す図である。
【図６６】ｗ３＋ｗ＝Ｈの解の要素のインデックス表である。
【図６７】図６６から計算で必要なもののみを取り出した表である。
【図６８】図６７から作ったＨとｗの表現インデックス成分（１７）の対応表である。
【図６９】同じく表現インデックス成分（１５）の対応表である。
【図７０】図６７から作ったＨとｗ＋１の表現インデックス成分（１７）の対応表である。
【図７１】同じく表現インデックス成分（１５）の対応表である。
【図７２】最後のアダー入力部での変換とデコーダ系を示す図である。
【図７３】同じくアダー出力部でのインデックスへの変換デコーダを示す図である。
【図７４】ＥＳ部のＳＱＵＡＲＥ部の詳細構成を示す図である。
【図７５】図７４のマルチプレクサの構成を示す図（その１）である。
【図７６】図７４のマルチプレクサの構成を示す図（その２）である。
【図７７】図７４のマルチプレクサの構成を示す図（その３）である。
【図７８】図７４の最初のアダー入力部のデコーダ系を示す図である。
【図７９】同じくゼロ元判定回路を示す図である。
【図８０】図７４の最初のアダー出力部のインデックスへのデコーダを示す図である。
【図８１】ｙ2＋ｙ＝Ｌの解の要素のインデックス表である。
【図８２】図８１から作ったＬとｕの表現インデックス成分（１７）とバスの対応表である。
【図８３】同じく表現インデックス成分（１５）とバスの対応表である。
【図８４】図７４の最後のアダー入力部での変換とデコーダを示す図である。
【図８５】二つのバスで並列演算を行うｍｏｄ１７アダーの具体的構成図である。
【図８６】同じくｍｏｄ１５アダーの具体的構成図である。
【図８７】計算の分岐別のクロック発生ロジック回路を示す図である。
【図８８】図７４の最後のアダー出力部のインデックスへのデコーダ＆ラッチを示す図である。
【図８９】ＥＳ部で行なう２要素の和を計算すパリティチェック回路（その１）である。
【図９０】ＥＳ部で行なう２要素の和を計算すパリティチェック回路（その２）である。
【図９１】図８９での多項式係数表示から表現インデックス変換デコーダとラッチを示す図である。
【図９２】図９０での多項式係数表示から表現インデックス変換デコーダとラッチを示す図である。
【図９３】エラー位置デコード（ＥＬＤ）部の構成を示す図である。
【図９４】図９３のマルチプレクサの詳細を示す図である。
【図９５】エラー訂正（ＥＣ）部の構成を示す図である。
【図９６】ＥＣＣシステムのテスト系の構成図である。
【図９７】ＥＣＣシステムを搭載してテストフリーとしたファイルメモリのシステム構成例である。
【図９８】図９７の機能を付加した他のメモリシステム構成を示す図である。
【符号の説明】
【０４９４】
２１…エンコード部、２２…メモリコア、２３…シンドローム計算部、２４…シンドローム要素計算（ＳＥＣ）部、２５…エラー探索（ＥＳ）部、２６…エラー訂正（ＥＣ）部、２７…クロック発生回路、４１１−４１６，４２１−４２７，４３１，４４１，４４２…４０１−４０３，４５１，４６１，４６２，４７１…パリティチェッカ（ＰＣ）、５００…ＣＵＢＥ部、５１０…ＳＱＵＡＲＥ部、５２０−５２３…パリティチェッカ、５３０，５３１…レジスタ群。
【図１】
0004621715.tif 000090
【図２】
0004621715.tif 000091
【図３】
0004621715.tif 000092
【図４】
0004621715.tif 000093
【図５】
0004621715.tif 000094
【図６】
0004621715.tif 000095
【図７】
0004621715.tif 000096
【図８】
0004621715.tif 000097
【図９】
0004621715.tif 000098
【図１０】
0004621715.tif 000099
【図１１】
0004621715.tif 000100
【図１２】
0004621715.tif 000101
【図１３】
0004621715.tif 000102
【図１４Ａ】
0004621715.tif 000103
【図１４Ｂ】
0004621715.tif 000104
【図１５】
0004621715.tif 000105
【図１６】
0004621715.tif 000106
【図１７】
0004621715.tif 000107
【図１８】
0004621715.tif 000108
【図１９】
0004621715.tif 000109
【図２０】
0004621715.tif 000110
【図２１】
0004621715.tif 000111
【図２２】
0004621715.tif 000112
【図２３】
0004621715.tif 000113
【図２４】
0004621715.tif 000114
【図２５】
0004621715.tif 000115
【図２６】
0004621715.tif 000116
【図２７】
0004621715.tif 000117
【図２８】
0004621715.tif 000118
【図２９】
0004621715.tif 000119
【図３０】
0004621715.tif 000120
【図３１】
0004621715.tif 000121
【図３２Ａ】
0004621715.tif 000122
【図３２Ｂ】
0004621715.tif 000123
【図３３】
0004621715.tif 000124
【図３４】
0004621715.tif 000125
【図３５】
0004621715.tif 000126
【図３６】
0004621715.tif 000127
【図３７】
0004621715.tif 000128
【図３８】
0004621715.tif 000129
【図３９】
0004621715.tif 000130
【図４０】
0004621715.tif 000131
【図４１】
0004621715.tif 000132
【図４２】
0004621715.tif 000133
【図４３】
0004621715.tif 000134
【図４４】
0004621715.tif 000135
【図４５】
0004621715.tif 000136
【図４６】
0004621715.tif 000137
【図４７】
0004621715.tif 000138
【図４８】
0004621715.tif 000139
【図４９】
0004621715.tif 000140
【図５０】
0004621715.tif 000141
【図５１】
0004621715.tif 000142
【図５２】
0004621715.tif 000143
【図５３】
0004621715.tif 000144
【図５４】
0004621715.tif 000145
【図５５】
0004621715.tif 000146
【図５６】
0004621715.tif 000147
【図５７】
0004621715.tif 000148
【図５８】
0004621715.tif 000149
【図５９】
0004621715.tif 000150
【図６０】
0004621715.tif 000151
【図６１】
0004621715.tif 000152
【図６２】
0004621715.tif 000153
【図６３】
0004621715.tif 000154
【図６４】
0004621715.tif 000155
【図６５】
0004621715.tif 000156
【図６６】
0004621715.tif 000157
【図６７】
0004621715.tif 000158
【図６８】
0004621715.tif 000159
【図６９】
0004621715.tif 000160
【図７０】
0004621715.tif 000161
【図７１】
0004621715.tif 000162
【図７２】
0004621715.tif 000163
【図７３】
0004621715.tif 000164
【図７４】
0004621715.tif 000165
【図７５】
0004621715.tif 000166
【図７６】
0004621715.tif 000167
【図７７】
0004621715.tif 000168
【図７８】
0004621715.tif 000169
【図７９】
0004621715.tif 000170
【図８０】
0004621715.tif 000171
【図８１】
0004621715.tif 000172
【図８２】
0004621715.tif 000173
【図８３】
0004621715.tif 000174
【図８４】
0004621715.tif 000175
【図８５】
0004621715.tif 000176
【図８６】
0004621715.tif 000177
【図８７】
0004621715.tif 000178
【図８８】
0004621715.tif 000179
【図８９】
0004621715.tif 000180
【図９０】
0004621715.tif 000181
【図９１】
0004621715.tif 000182
【図９２】
0004621715.tif 000183
【図９３】
0004621715.tif 000184
【図９４】
0004621715.tif 000185
【図９５】
0004621715.tif 000186
【図９６】
0004621715.tif 000187
【図９７】
0004621715.tif 000188
【図９８】
0004621715.tif 000189