(57)【要約】【課題】  誤り訂正処理速度を改善する半導体装置を提供する。【解決手段】  ＥＣＣ回路を構成する排他的論理和回路（ＸＯＲゲート）において、ＰチャネルＭＯＳトランジスタＰＴ１〜ＰＴ４の駆動力をＮチャネルＭＯＳトランジスタＮＴ１〜ＮＴ４と比較して大きく設定する。これにより、出力ノードＮ０の論理レベルがリセット状態である「Ｌ」レベルから「Ｈ」レベル設定される速度は、同じ駆動力に設定されている場合よりも速くなる。これに伴い、複数段のＸＯＲゲートから出力されるシンドロームの出力時間を短縮し、誤り訂正処理を高速に実行することができる。【選択図】        図７
2006014156.tif 000002
【特許請求の範囲】
【請求項１】
複数の情報ビットおよび複数のパリティビットで構成されるデータグループを格納するメモリセルアレイと、
前記メモリセルアレイから出力された前記データグループを構成する前記複数の情報ビットおよび前記複数のパリティビットの誤りビットの訂正を実行する誤り訂正回路とを備え、
前記誤り訂正回路は、
前記メモリセルアレイから出力された前記データグループにおける各ビットの論理値から２値で表現される所定の検査行列に従ってシンドロームを求めるＸＯＲ回路群と、
前記ＸＯＲ回路群から出力される前記シンドロームに基づいて前記複数の情報ビットおよび前記複数のパリティビットの誤りビットを訂正する訂正回路とを含み、
前記ＸＯＲ回路群は、前記複数の情報ビットおよび前記複数のパリティビットの入力を受けて、前記シンドロームを構成する複数ビットの各データをそれぞれ算出するための複数の検査回路を有し、
各前記検査回路は、前記所定の検査行列の各行の行列要素に対応して入力される前記複数の情報ビットおよび前記複数のパリティビットの排他的論理和を計算する、各々が２ビットずつの入力を受ける複数のＸＯＲゲートを有し、
前記所定の検査行列の行列要素の和は、所定値以下となるように設定される、半導体装置。
【請求項２】
入力される前記複数の情報ビットおよび前記複数のパリティビットは、複数のグループに分割され、
各前記検査回路は、前記複数のグループにそれぞれ対応して、分割された各前記グループに含まれる前記複数の情報ビットおよび前記複数のパリティビットの入力が互いに近接するように配置される、請求項１記載の半導体装置。
【請求項３】
前記データグループは、ｎビットの情報ビットおよびｍビット（２m−ｍ≧ｎ＋１）のパリティビットで構成され、
前記検査行列は、ｍ行（ｎ＋ｍ）列の行列要素を有し、
各列は、２進数標記のｍビットの２m通りの組合せのうちのいずれか一つに対応し、各列の和が所定値以下になるように設定される、請求項１記載の半導体装置。
【請求項４】
前記データグループは、ｎビットの情報ビットおよびｍビット（２m−ｍ≧ｎ＋１）のパリティビットで構成され、
前記検査行列は、ｍ行（ｎ＋ｍ）列の行列要素を有し、
各列は、２進数標記のｍビットの２m通りの組合せのうちのいずれか一つに対応し、各行の和が所定値以下になるように設定される、請求項１記載の半導体装置。
【請求項５】
前記各行の和は、偶数となるように設定される、請求項４記載の半導体装置。
【請求項６】
各前記検査回路において、前記複数の情報ビットおよび前記複数のパリティビットが入力される前記複数のＸＯＲゲートのうちの少なくとも一部のＸＯＲゲート群への入力が２k（ｋ：２以上の自然数）入力の場合に、前記ＸＯＲゲート群は、２k入力の排他的論理和を計算する（２k−１）個のＸＯＲゲートで構成され、
前記（２k−１）個のＸＯＲゲートは２段となるように配置される、請求項１記載の半導体装置。
【請求項７】
前記２段となる２k−１個の前記ＸＯＲゲート群は、所定形状の単位で構成され、
前記ＸＯＲ回路群は、複数個の前記ＸＯＲゲート群を有し、
前記複数個の前記ＸＯＲゲート群のうちの少なくとも２個については、前記少なくとも２個の面積が小さくなるように一方を他方に対して反転させるように組み合わせて配置される、請求項６記載の半導体装置。
【請求項８】
前記複数の検査回路は、所定方向に沿って互いに隣接して配置され、
前記所定方向に沿って設けられ、前記複数の情報ビットおよび前記複数のパリティビットが入力される信号線をさらに備え、
前記信号線は、前記複数の検査回路の上部および下部の一方に設けられる、請求項１記載の半導体装置。
【請求項９】
前記所定方向に沿って設けられた前記信号線の一方から他方に対して、前記複数の情報ビットおよび前記複数のパリティビットが入力され、
前記複数の検査回路の出力信号は、前記所定方向に沿って他方に設けられ、前記複数の情報ビットの誤り訂正を実行する前記訂正回路に入力される、請求項８記載の半導体装置。
【請求項１０】
前記信号線に伝達される前記複数の情報ビットおよび前記複数のパリティビットは、同一の配線層を用いて前記複数の検査回路および前記訂正回路に入力される、請求項９記載の半導体装置。
【請求項１１】
前記複数の検査回路および前記訂正回路に入力される前記複数の情報ビットおよび前記複数のパリティビットが伝達される前記信号線の配線ピッチは同一である、請求項１０記載の半導体装置。
【請求項１２】
複数の情報ビットおよび複数のパリティビットで構成されるデータグループを格納するメモリセルアレイと、
前記メモリセルアレイから出力された前記データグループを構成する前記複数の情報ビットおよび前記複数のパリティビットの誤りビットの訂正を実行する誤り訂正回路とを備え、
前記誤り訂正回路は、
前記メモリセルアレイから出力された前記データグループにおける各ビットの論理値から検査行列に従ってシンドロームを求めるＸＯＲ回路群と、
前記ＸＯＲ回路群から出力される前記シンドロームに基づいて前記複数の情報ビットおよび前記複数のパリティビットの誤りビットを訂正する訂正回路とを含み、
前記ＸＯＲ回路群は、各々が前記複数の情報ビットおよび前記複数のパリティビットのうちの２ビットずつが入力される複数のＸＯＲゲートを有し、
各前記ＸＯＲゲートは、入力される２ビットずつの論理値の所定の組合せに基づいて、出力ノードを第１の論理レベルおよび第２の論理レベルにそれぞれ設定するための第１および第２のトランジスタを有し、
各前記ＸＯＲゲートの出力ノードは、リセット状態において前記第１の論理レベルに設定され、
前記第２のトランジスタは、前記第１のトランジスタの駆動力よりも大きくなるように設定される、半導体装置。
【請求項１３】
複数の情報ビットおよび複数のパリティビットで構成されるデータグループを格納するメモリセルアレイと、
前記メモリセルアレイから出力された前記データグループを構成する前記複数の情報ビットおよび前記複数のパリティビットの誤りビットの訂正を実行する誤り訂正回路とを備え、
前記誤り訂正回路は、
前記メモリセルアレイから出力された前記データグループにおける各ビットの論理値から検査行列に従ってシンドロームを求めるＸＯＲ回路群と、
前記ＸＯＲ回路群から出力される前記シンドロームに基づいて前記複数の情報ビットおよび前記複数のパリティビットの誤りビットを訂正する訂正回路とを含み、
前記ＸＯＲ回路群は、各々が前記複数の情報ビットおよび前記複数のパリティビットのうちの２ビットずつが入力される複数のＸＯＲゲートを有し、
前記複数の情報ビットおよび前記複数のパリティビットが入力される前記複数のＸＯＲゲートのうちの少なくとも一部のＸＯＲゲート群への入力が２k（ｋ：２以上の自然数）入力の場合に、前記ＸＯＲゲート群は、２k入力の排他的論理和を計算する（２k−１）個のＸＯＲゲートで構成され、
前記（２k−１）個のＸＯＲゲートは２段となるように配置される、半導体装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、誤り訂正回路（ＥＣＣ：Error Correcting Circuit）を有する半導体装置に関するものである。
【背景技術】
【０００２】
半導体装置、たとえば半導体記憶装置等においては、ハード不良によるビットエラーのみならず自然界に存在するアルファ線や中性子線といった放射線がチップに入射した場合、シリコン基板内で電子・正孔対が発生し、最悪の場合メモリセルの記憶ノードに保持しているデータを破壊してしまう可能性がある。一般的にこれをソフトエラーと呼んでいる。
【０００３】
近年の半導体プロセスの進展すなわち微細加工技術の進歩に伴い、記憶容量の増加とは対照的に記憶素子自体の大きさが縮小され、データを保持している記憶ノードの容量がこれに伴い次第に減少している。データを保持している記憶ノードの容量が小さければ小さいほどソフトエラーに対する耐性が弱くなることが知られており、このソフトエラーによるビットエラーは重要な課題となってきている。
【０００４】
従来より、このようなビットエラーに対処する方式として、ビットエラーの誤り訂正処理を実行するいわゆるＥＣＣ回路を備えた半導体装置が知られている。
【０００５】
たとえば、ハミング符号を用いた誤り訂正処理を実行する場合、ｎビットのいわゆるパリティビットが用いられる。正規のｍビットのデータのうちにビットエラーがある場合には、パリティビットを用いてそのビットエラーを特定して、誤り訂正たとえばビットデータを反転させて出力する。なお、このパリティビットのビット数ｎは、正規のｍビットのデータとｎビットのパリティビットとの関係において、２n−ｍ≧ｍ＋１の関係式が成り立つように設定されている。
【０００６】
より具体的には、このパリティビットを用いた所定の組合せが誤り位置すなわちビットエラーが生じた場所を特定するための位置情報を示し、いわゆるシンドロームと呼ばれる。データ読出において、正規のｍビットとともにｎビットのパリティビットを受けて、所定の排他的論理和に基づいて生成されるシンドロームを計算する。計算結果であるシンドロームから誤りビットの位置を特定し、正規のｍビットのデータを変更する。この一般的なハミング符号化の理論は、たとえば「やり直しのための工業数学」：ＣＱ出版社、ｐ４５〜５３に記載されている。
【０００７】
一般的に、このＥＣＣ回路は、シンドロームを計算するために排他的論理和を計算する排他的論理和回路（以下、ＸＯＲゲートとも称する）を複数段構成する必要がある。記憶装置の情報量すなわちビット数が増加するほどパリティビットも増加するため、記憶装置の情報量に応じてＸＯＲゲートの個数も必然的に増加し、段数も個数に応じて増加する。
【０００８】
したがって、このＸＯＲゲートの段数の増加により、誤り訂正処理速度の遅延が生じる問題がある。
【０００９】
特開平５−１４４２９１号公報および特開２０００−１３２９９５号公報においては、このＸＯＲゲートの段数を比較的少なくすることにより、集積度を向上させて誤り訂正処理速度を向上させる方式が開示されている。
【特許文献１】特開平５−１４４２９１号公報
【特許文献２】特開２０００−１３２９９５号公報
【非特許文献１】「やり直しのための工業数学」：ＣＱ出版社：三谷  政昭  著
【発明の開示】
【発明が解決しようとする課題】
【００１０】
一方、ＥＣＣ回路の構成要素であるＸＯＲゲート自体の動作速度を向上させることができるならば、結果として誤り訂正処理速度を改善することが可能である。
【００１１】
また、ＸＯＲゲートの個数の増加により回路規模が増大し、これに伴い回路間を結ぶ配線長も長くなることも結果として誤り訂正処理速度を遅くする要因である。
【００１２】
本発明は、上記のような問題を解決するためになされたものであって、誤り訂正処理速度をさらに改善する半導体装置を提供することを目的とする。
【課題を解決するための手段】
【００１３】
本発明の他の局面に従う半導体装置は、複数の情報ビットおよび複数のパリティビットで構成されるデータグループを格納するメモリセルアレイと、メモリセルアレイから出力されたデータグループを構成する複数の情報ビットおよび複数のパリティビットの誤りビットの訂正を実行する誤り訂正回路とを備える。誤り訂正回路は、メモリセルアレイから出力されたデータグループにおける各ビットの論理値から２値で表現される所定の検査行列に従ってシンドロームを求めるＸＯＲ回路群と、ＸＯＲ回路群から出力されるシンドロームに基づいて複数の情報ビットおよび複数のパリティビットの誤りビットを訂正する訂正回路とを含む。ＸＯＲ回路群は、複数の情報ビットおよび複数のパリティビットの入力を受けて、シンドロームを構成する複数ビットの各データをそれぞれ算出するための複数の検査回路を有する。各検査回路は、所定の検査行列の各行の行列要素に対応して入力される複数の情報ビットおよび複数のパリティビットの排他的論理和を計算する、各々が２ビットずつの入力を受ける複数のＸＯＲゲートを有する。所定の検査行列の行列要素の和は、所定値以下となるように設定される。
【００１４】
本発明に係る半導体装置は、複数の情報ビットおよび複数のパリティビットで構成されるデータグループを格納するメモリセルアレイと、メモリセルアレイから出力されたデータグループを構成する複数の情報ビットおよび複数のパリティビットの誤りビットの訂正を実行する誤り訂正回路とを備える。誤り訂正回路は、メモリセルアレイから出力されたデータグループにおける各ビットの論理値から検査行列に従ってシンドロームを求めるＸＯＲ回路群と、ＸＯＲ回路群から出力されるシンドロームに基づいて複数の情報ビットおよび複数のパリティビットの誤りビットを訂正する訂正回路とを含む。ＸＯＲ回路群は、各々が複数の情報ビットおよび複数のパリティビットのうちの２ビットずつが入力される複数のＸＯＲゲートを有する。各ＸＯＲゲートは、入力される２ビットずつの論理値の所定の組合せに基づいて、出力ノードを第１の論理レベルおよび第２の論理レベルにそれぞれ設定するための第１および第２のトランジスタを有する。各ＸＯＲゲートの出力ノードは、リセット状態において第１の論理レベルに設定される。第２のトランジスタは、第１のトランジスタの駆動力よりも大きくなるように設定される。
【００１５】
本発明に係る半導体装置は、複数の情報ビットおよび複数のパリティビットで構成されるデータグループを格納するメモリセルアレイと、メモリセルアレイから出力されたデータグループを構成する複数の情報ビットおよび複数のパリティビットの誤りビットの訂正を実行する誤り訂正回路とを備える。誤り訂正回路は、メモリセルアレイから出力されたデータグループにおける各ビットの論理値から検査行列に従ってシンドロームを求めるＸＯＲ回路群と、ＸＯＲ回路群から出力されるシンドロームに基づいて複数の情報ビットおよび複数のパリティビットの誤りビットを訂正する訂正回路とを含む。ＸＯＲ回路群は、各々が複数の情報ビットおよび複数のパリティビットのうちの２ビットずつが入力される複数のＸＯＲゲートを有する。複数の情報ビットおよび複数のパリティビットが入力される複数のＸＯＲゲートのうちの少なくとも一部のＸＯＲゲート群への入力が２k（ｋ：２以上の自然数）入力の場合に、ＸＯＲゲート群は、２k入力の排他的論理和を計算する（２k−１）個のＸＯＲゲートで構成される。（２k−１）個のＸＯＲゲートは２段となるように配置される。
【発明の効果】
【００１６】
本発明に係る半導体装置は、シンドロームを求める複数の検査回路を有する。各検査行列は、検査行列の各行の行列要素に対応して入力される情報ビットおよびパリティビットの排他的論理和を計算する複数のＸＯＲゲートを有し、検査行列の行列要素は、所定値以下となるように設定される。これにより、検査回路を構成するＸＯＲゲートの個数を小さくすることができるため、レイアウト面積を縮小するとともに、結果として複数のＸＯＲゲートで構成される検査回路の段数の増加を抑制して、シンドロームを高速に算出することができる。すなわち、誤り訂正処理を高速に実行することができる。
【００１７】
本発明に係る半導体装置は、シンドロームを求めるＸＯＲ回路群を構成するＸＯＲゲートにおいて、出力ノードをリセット状態である第１の論理レベルおよび第２の論理レベルにそれぞれ設定するための第１および第２のトランジスタを有し、第２のトランジスタは、第１の駆動力よりも大きくなるように設定されることにより、出力ノードの論理レベルがリセット状態である第１の論理レベルから第２の論理レベルに設定される速度は、同じ駆動力に設定されている場合よりも速くなる。これに伴い、ＸＯＲ回路群から出力されるシンドロームの出力時間を短縮し、誤り訂正処理を高速に実行することができる。
【００１８】
本発明に係る半導体装置は、複数の情報ビットおよび複数のパリティビットが入力されるＸＯＲゲート群への入力が２k（ｋ：２以上の自然数）入力の場合に、（２k−１）個のＸＯＲゲートは２段となるように配置されることにより、効率的なレイアウトを実行することができ、ＸＯＲゲート群の面積を縮小することができる。
【発明を実施するための最良の形態】
【００１９】
本発明の実施の形態について図面を参照しながら詳細に説明する。なお、図中同一または相当部分には同一符号を付しその説明は繰返さない。
【００２０】
（実施の形態１）
図１は、本発明の実施の形態に従うＥＣＣ回路を備えた半導体装置１の概略ブロック図である。
【００２１】
図１を参照して、本発明の実施の形態に従う半導体装置１は、メモリアレイＭＡと、ＥＣＣ回路１０とを備える。
【００２２】
メモリアレイＭＡは、情報量として３２ビットの情報ビットである正規データを記憶することを目的として設けられており、この３２ビットの情報ビットに対する誤り訂正を実行するために６ビットのパリティビットがともに入力され、記憶されるものとする。
【００２３】
図１に示されるように、メモリアレイＭＡに対してデータＤｉｎ０〜Ｄｉｎ３１までの３２ビットの情報ビットのデータとともにその情報ビットを検査するための６ビットのパリティビットＰｉｎ０〜Ｐｉｎ５が入力されている（データイン、パリティイン）。
【００２４】
一方、メモリアレイＭＡからのデータ読出の際にはデータバスＤＢを介して、データがＥＣＣ回路１０に入力され、誤り訂正処理が実行される。具体的には、メモリアレイＭＡに記憶されていたデータＤ０〜Ｄ３１およびパリティビットＰ０〜Ｐ５がＥＣＣ回路１０に入力される（データアウト、パリティアウト）。
【００２５】
本発明の実施の形態に従うＥＣＣ回路１０は、訂正回路２と、ＥＸＯＲ Ｔｒｅｅ回路３とを含む。
【００２６】
ＥＸＯＲ Ｔｒｅｅ回路３は、データＤ０〜Ｄ３１およびパリティビットＰ０〜Ｐ５の入力を受けてシンドロームを計算し、シンドロームデータＳ０〜Ｓ５を出力する。ＥＸＯＲ Ｔｒｅｅ回路３から出力されるシンドロームデータＳ０〜Ｓ５は訂正回路２に入力される。
【００２７】
訂正回路２は、シンドロームデータＳ０〜Ｓ５に基づいて入力された３２ビットのデータＤ０〜Ｄ３１の誤り位置を特定し、誤りビットデータを反転させて適正なデータＤｏｕｔ０〜Ｄｏｕｔ３１として外部の回路とのインターフェイスとして機能するモジュール外部インターフェイスへ出力する。なお、ここでは、一例としてモジュール外部インターフェイスに出力する場合を例に挙げているが、これに限られず、他の所定の機能を実行する内部回路等に出力することも可能である。
【００２８】
図２は、本発明の実施の形態１に従う訂正回路２の概略ブロック図である。
【００２９】
図２を参照して、訂正回路２は、６：３２デコーダ５と、排他的論理和回路（ＸＯＲゲート）７で構成される訂正ユニット６とを含む。
【００３０】
６：３２デコーダ５は、ＥＸＯＲ Ｔｒｅｅ回路３からシンドロームデータＳ０〜Ｓ５の入力を受けて、データＤ０〜Ｄ３１のうちの誤り位置を特定する３２ビットの情報を出力する。
【００３１】
訂正ユニット６は、３２ビットのデータにそれぞれ対応して設けられる複数のＸＯＲゲート７を有する。各ＸＯＲゲート７は、データＤ０〜Ｄ３１のうちの対応する１つのデータと、６：３２デコーダ５から出力される誤り位置を特定するデータの入力とを受けて、誤りビットデータを反転させる。そして、複数のＸＯＲゲート７は、データＤｏｕｔ０〜データＤｏｕｔ３１としてモジュール外部インターフェイスへ出力する。
【００３２】
たとえば、６：３２デコーダ５は、誤りデータであることを示すデータ（「１」）を対応するＸＯＲゲート７に出力し、対応するＸＯＲゲート７はデータＤを反転して出力する。
【００３３】
図３は、本発明の実施の形態１に従うパリティ検査表を説明する図である。
【００３４】
ここで、本発明の実施の形態１に従うパリティ検査表の設定方式について説明する。このパリティ検査表は、後述するシンドロームの算出において誤り位置を特定するための情報を示すものである。
【００３５】
たとえば、シンドローム結果であるＳ５〜Ｓ０が上位ビット側から「０００１００」として出力される場合には、パリティビットＰ２が誤りビットデータであることを示すものである。
【００３６】
同様にして、全ての情報ビットＤ０〜Ｄ３１およびパリティビットＰ０〜Ｐ５について２進数標記の６ビットの数値がそれぞれが異なるように割り当てられている。
【００３７】
このパリティ検査表に基づいて次式の検査行列Ｈが与えられる。
【００３８】
【数１】
2006014156.tif 000003
【００３９】
すなわち上記のパリティ検査表に基づいて、検査行列Ｈと、情報ビットＤ０〜Ｄ３１およびパリティビットＰ０〜Ｐ５を構成する行列ｗの行列式として表わすことができる。
【００４０】
そして、情報ビットＤ０〜Ｄ３１に対してこの上式（１）を満たすような値となるようにパリティビットＰ０〜Ｐ５がメモリアレイＭＡに格納されている。
【００４１】
したがって、次式（２）の場合にビットエラーが生じていることになる。
【００４２】
【数２】
2006014156.tif 000004
【００４３】
本発明の実施の形態に従うＥＸＯＲ Ｔｒｅｅ回路３は、式（１）の左側を計算して、シンドローム結果であるシンドロームデータＳ０〜Ｓ５を出力する。式（１）を展開すると次式となる。
【００４４】
【数３】
2006014156.tif 000005
【００４５】
ここで、図３に示されるように各ビットの割り当てられた数値において、縦方向および横方向の値が所定数よりも小さくなるように設定されている。すなわち、検査行列Ｈの行列要素の和が所定数よりも小さくなるように設定されている。本例においては、全体の行列要素の和が（ｎ−２）×（ｍ＋ｎ）以下の値（自然数）となるように設定されている。一例として、ここでは、パリティビットの数をｎ、情報ビットの数をｍとして標記している。
【００４６】
また、各ビットの割り当てられた数値において横方向の値が所定数よりも小さくなるように設定されている。本例においては、横方向すなわち検査行列Ｈの各列の和の値が（ｎ（ｎ：パリティビットの数）−２）以下の値（自然数）となるように設定されている。なお、図３に示される表においては横方向の値は３以下に設定されている。
【００４７】
また、縦方向の値も所定数よりも小さくなるように設定されている。本例においては、縦方向すなわち検査行列Ｈの各行の和の値が（ｎ（パリティビットの数）−２）×（ｍ（ｍ：情報ビットの数）＋ｎ）／ｎ以下の値（自然数）となるように設定されている。図３に示される表においては縦方向の値は１６以下に設定されている。
【００４８】
さらに、縦方向の値が偶数値となるように設定されている。図３に示される表においては、「１６」、「１４」の値でありともに偶数に設定されている。
【００４９】
図４は、ＥＸＯＲ Ｔｒｅｅ回路３を形成するパリティ回路ＰＣ０（検査回路）およびＰＣ１の回路構成図である。
【００５０】
図４（ａ）を参照して、パリティ回路ＰＣ０は、式（３）に従って複数のＸＯＲゲートＸＯで構成され、排他的論理和すなわちシンドローム結果であるシンドロームデータＳ０を出力する。具体的には、図３に示されるパリティ対応表の縦方向（検査行列Ｈの行方向）の「１」に対応するデータの排他的論理和を算出した結果に相当する。
【００５１】
図４（ｂ）を参照して、パリティ回路ＰＣ１は、式（４）に従って複数のＸＯＲゲートＸＯで構成され、排他的論理和すなわちシンドローム結果であるシンドロームデータＳ１を出力する。具体的には、図３に示されるパリティ対応表の縦方向の「１」に対応するデータの排他的論理和を算出した結果に相当する。
【００５２】
図５は、ＥＸＯＲ Ｔｒｅｅ回路３を形成するパリティ回路ＰＣ２（検査回路）およびＰＣ３の回路構成図である。
【００５３】
図５（ａ）を参照して、パリティ回路ＰＣ２は、式（５）に従って複数のＸＯＲゲートＸＯで構成され、排他的論理和すなわちシンドローム結果であるシンドロームデータＳ２を出力する。具体的には、図３に示されるパリティ対応表の縦方向の「１」に対応するデータの排他的論理和を算出した結果に相当する。
【００５４】
図５（ｂ）を参照して、パリティ回路ＰＣ３は、式（６）に従って複数のＸＯＲゲートＸＯで構成され、排他的論理和すなわちシンドローム結果であるシンドロームデータＳ３を出力する。具体的には、図３に示されるパリティ対応表の縦方向の「１」に対応するデータの排他的論理和を算出した結果に相当する。
【００５５】
図６は、ＥＸＯＲ Ｔｒｅｅ回路３を形成するパリティ回路ＰＣ４（検査回路）およびＰＣ５の回路構成図である。
【００５６】
図６（ａ）を参照して、パリティ回路ＰＣ４は、式（７）に従って複数のＸＯＲゲートＸＯで構成され、排他的論理和すなわちシンドローム結果であるシンドロームデータＳ４を出力する。具体的には、図３に示されるパリティ対応表の縦方向の「１」に対応するデータの排他的論理和を算出した結果に相当する。
【００５７】
図６（ｂ）を参照して、パリティ回路ＰＣ５は、式（８）に従って複数のＸＯＲゲートＸＯで構成され、排他的論理和すなわちシンドローム結果であるシンドロームデータＳ５を出力する。具体的には、図３に示されるパリティ対応表の縦方向の「１」に対応するデータの排他的論理和を算出した結果に相当する。
【００５８】
したがって、検査行列Ｈの行列要素の各行および各列の和が所定数よりも小さくなるように設定されることにより、結果としてパリティ回路ＰＣを構成するＸＯＲゲートの個数を小さくすることができる。これにより、パリティ回路ＰＣを構成するＸＯＲゲートの個数を小さくすることによりレイアウト面積を縮小するとともに、結果として複数のＸＯＲゲートで構成されるパリティ回路ＰＣの段数の増加を抑制して、シンドロームを高速に算出することができる。すなわち、誤り訂正処理を高速に実行することができる。
【００５９】
図７は、ＸＯＲゲートＸＯの回路構成図である。
【００６０】
図７を参照して、ＸＯＲゲートＸＯは、論理ユニット２０と２１とを含む。ＸＯＲゲートＸＯは、入力信号Ｄａおよびその反転信号Ｄａｎの入力と、入力信号Ｄｂおよびその反転信号Ｄｂｎの入力を受けて排他的論理和を算出して、出力信号ｙおよびその反転信号ｙｎを生成する。
【００６１】
論理ユニット２０は、入力信号Ｄａ，Ｄａｎ，ＤｂおよびＤｂｎの入力を受けて、出力信号ｙを生成する。
【００６２】
論理ユニット２１は入力信号Ｄａ，Ｄａｎ，ＤｂおよびＤｂｎの入力を受けて、出力信号ｙの反転信号である出力信号ｙｎを出力する。
【００６３】
論理ユニット２０は、トランジスタＰＴ１〜ＰＴ４と、ＮＴ１〜ＮＴ４とを含む。トランジスタＰＴ１，ＰＴ２は、電源電圧ＶＣＣとノードＮ０との間に直列に接続され、そのゲートはそれぞれ入力信号Ｄａ，Ｄｂｎの入力を受ける。トランジスタＰＴ３およびＰＴ４は、電源電圧ＶＣＣと出力ノードＮ０との間に直列に接続され、そのゲートはそれぞれ入力信号Ｄｂ，Ｄａｎの入力を受ける。トランジスタＰＴ１およびＰＴ２と、トランジスタＰＴ３およびＰＴ４とは互いに並列に接続されている。
【００６４】
トランジスタＮＴ１，ＮＴ２は、出力ノードＮ０と接地電圧ＧＮＤとの間に直列に接続され、そのゲートはそれぞれ入力信号Ｄａｎ，Ｄｂｎの入力を受ける。トランジスタＮＴ３，ＮＴ４は、出力ノードＮ０と接地電圧ＧＮＤとの間に直列に接続され、そのゲートは入力信号Ｄａ，Ｄｂの入力を受ける。トランジスタＮＴ１およびＮＴ２と、トランジスタＮＴ３およびＮＴ４は互いに並列に接続されている。
【００６５】
論理ユニット２１は、トランジスタＰＴ５〜ＰＴ８と、トランジスタＮＴ５〜ＮＴ８とを含む。トランジスタＰＴ５，ＰＴ６は、電源電圧ＶＣＣと出力ノードＮ１との間に直列に接続され、そのゲートはそれぞれ入力信号Ｄａ，Ｄｂの入力を受ける。トランジスタＰＴ７，ＰＴ８は、電源電圧ＶＣＣと出力ノードＮ１との間に配置され、そのゲートはそれぞれ入力信号Ｄａｎ，Ｄｂｎの入力をそれぞれ受ける。トランジスタＰＴ５およびＰＴ６と、トランジスタＰＴ７およびＰＴ８とは互いに並列に接続されている。
【００６６】
トランジスタＮＴ５，ＮＴ６は、出力ノードＮ１と接地電圧ＧＮＤとの間に直列に接続され、それぞれのゲートは入力信号Ｄｂ，Ｄａｎの入力を受ける。トランジスタＮＴ７，ＮＴ８は、出力ノードＮ１と接地電圧ＧＮＤとの間に直列に接続され、それぞれのゲートは入力信号Ｄａ，Ｄｂｎの入力を受ける。トランジスタＮＴ５およびＮＴ６と、トランジスタＮＴ７およびＮＴ８は互いに並列に接続されている。
【００６７】
なお、トランジスタＰＴ１〜ＰＴ８は、ＰチャネルＭＯＳトランジスタとする。また、トランジスタＮＴ１〜ＮＴ８は、ＮチャネルＭＯＳトランジスタとする。
【００６８】
図７に示されるＸＯＲゲートＸＯの動作について説明する。本例においては、データ信号Ｄａ，Ｄｂが２値的な論理レベル「１」の場合には高電圧「Ｈ」レベルに設定されているものとし、データ信号Ｄａ，Ｄｂが「０」の場合には、低電圧「Ｌ」レベルに設定されているものとする。
【００６９】
たとえば、データ信号Ｄａ，Ｄｂがともに「１」もしくは「０」の場合には、論理ユニット２０において、トランジスタＮＴ３およびＮＴ４あるいはトランジスタＮＴ１およびＮＴ２がオンする。したがって、出力ノードＮ０は「Ｌ」レベルに設定される。すなわちその出力信号ｙは「０」となる。一方、論理ユニット２１においては、同様にして、トランジスタＰＴ７およびＰＴ８あるいはトランジスタＰＴ５およびＰＴ６がオンする。したがって、出力ノードＮ１は「Ｈ」レベルに設定される。すなわち、その出力信号ｙｎは「１」となる。
【００７０】
一方、データ信号Ｄａ，Ｄｂの論理レベルが異なる場合、たとえば「１」と「０」のような場合には、論理ユニット２０において、トランジスタＰＴ３およびＰＴ４あるいはトランジスタＰＴ１およびＰＴ２がオンする。したがって、出力ノードＮ０は「Ｈ」レベルに設定される。すなわち、その出力信号ｙは「１」となる。一方、論理ユニット２１においては、同様にして、トランジスタＮＴ７およびＮＴ８あるいはＮＴ５およびＮＴ６がオンする。したがって、出力ノードＮ１は「Ｌ」レベルに設定される。すなわち、その出力信号ｙｎは「０」となる。なお、初期状態（リセット状態）については、後述するが、入力信号Ｄａ，Ｄｂは、ともに「１」もしくは「０」が入力されるものとする。したがって、出力ノードＮ０およびＮ１は「Ｌ」レベルおよび「Ｈ」レベルにそれぞれ設定されているものとする。
【００７１】
本実施の形態１に従うＸＯＲゲートＸＯは、ＰチャンネルＭＯＳトランジスタとＮチャンネルＭＯＳトランジスタのトランジスタのサイズを調整することによりその駆動力を調整している。
【００７２】
具体的には、論理ユニット２０において、ＰチャンネルＭＯＳトランジスタＰＴ１〜ＰＴ４のサイズｗｐをＮチャンネルＭＯＳトランジスタＮＴ１〜ＮＴ４のサイズｗｎの４倍に設定している。ＰチャンネルＭＯＳトランジスタと、ＮチャンネルＭＯＳトランジスタとのサイズが２：１の時にそれぞれのトランジスタは同じ大きさの駆動力を有する。したがって、この場合にはＰチャネルＭＯＳトランジスタの駆動力がＮチャネルＭＯＳトランジスタよりも大きい。
【００７３】
上述したようにリセット状態において、出力ノードＮ０の論理レベルは「Ｌ」レベルに設定されている。この状態において、入力信号Ｄａ，Ｄｂの論理レベルが不一致である場合には出力ノードＮ０の論理レベルは「Ｈ」レベルに設定される。本例の場合には、ＰチャネルＭＯＳトランジスタの駆動力をＮチャネルＭＯＳトランジスタと比較して大きく設定しているため出力ノードＮ０の論理レベルが「Ｈ」レベルに設定される速度は、同じ駆動力に設定されている場合よりも速くなる。
【００７４】
一方、論理ユニット２１において、ＰチャンネルＭＯＳトランジスタＰＴ５〜ＰＴ８のサイズｗｐをＮチャンネルＭＯＳトランジスタＮＴ５〜ＮＴ８のサイズｗｎとは等しく設定されている。上述したようにＰチャンネルＭＯＳトランジスタと、ＮチャンネルＭＯＳトランジスタとのサイズが２：１の時に同じ大きさの駆動力を有する。したがって、この場合にはＮチャネルＭＯＳトランジスタの駆動力がＰチャネルＭＯＳトランジスタよりも大きい。
【００７５】
リセット状態において、出力ノードＮ１の論理レベルは「Ｈ」レベルに設定されている。この状態において、入力信号Ｄａ，Ｄｂの論理レベルが不一致である場合には出力ノードＮ１の論理レベルは「Ｌ」レベルに設定される。本例の場合には、ＮチャネルＭＯＳトランジスタの駆動力をＰチャネルＭＯＳトランジスタと比較して大きく設定されているため出力ノードＮ１の論理レベルが「Ｌ」レベルに設定される速度は、同じ駆動力に設定されている場合よりも速くなる。
【００７６】
したがって、本願構成のＸＯＲゲートＸＯは、出力ノードＮ０，Ｎ１の論理レベルがリセット状態である「Ｌ」レベルおよび「Ｈ」レベルから変化する場合には高速に変化するように設計されている。
【００７７】
したがって、複数のＸＯＲゲートで構成される各パリティ回路ＰＣにおいて、シンドローム結果であるシンドロームデータＳ０〜Ｓ５が「１」に設定される速度は、同じ駆動力に設定されているＸＯＲゲートで構成されている場合よりも高速となる。すなわち、パリティ回路ＰＣにおけるシンドロームは高速に計算される。
【００７８】
図８は、本実施の形態に従うＸＯＲゲートを用いた場合のデータＤｏｕｔ０〜Ｄｏｕｔ３１の出力を説明するタイミングチャート図である。
【００７９】
図８に示されるように半導体装置１はシステムクロックＣＬＫに同期して動作する。本例においては、データ読出が実行されてデータＤ０〜Ｄ３１がデータバスＤＢに出力される。そして、パリティビットＰ０〜Ｐ５とともにＥＣＣ回路１０に入力されて誤り訂正処理が実行される。図８に示されるように、本実施の形態に従うＸＯＲゲートを用いることによりリセット状態である「Ｌ」レベルおよび「Ｈ」レベルから変化する立ち上がりを早くすることにより点線で示される従来の誤り訂正処理よりもシンドロームの出力時間を短縮することができる。すなわちシンドロームデータＳ０〜Ｓ５の出力速度を向上させて、誤り訂正処理を高速に実行し、結果としてモジュール外部インターフェイスへ出力するデータＤｏｕｔ０〜Ｄｏｕｔ３１の出力速度を向上させることができる。
【００８０】
また、図７で示されるように本実施の形態に従うＸＯＲゲート７は、入力信号Ｄａ、その反転信号Ｄａｎ、Ｄｂおよびその反転信号Ｄｂｎの４入力に基づいて出力信号ｙおよびその反転信号ｙｎを出力する。すなわち、入力信号Ｄａ，Ｄｂに対して反転信号を生成するためのインバータを設ける必要があるが、本例の場合においては、出力信号ｙと並列にその反転信号ｙｎが生成されており、その後段のＸＯＲゲートＸＯにおいてさらにインバータを設けて信号を反転させる必要はない。たとえば、図４〜図６の構成で示されるように複数のＸＯＲゲートでパリティ回路ＰＣを構成する際、初段のＸＯＲゲートＸＯの入力の際には、図７で示したインバータ２２および２３を設けてその入力信号に対する反転信号を生成する必要があるが、それ以降の後段のＸＯＲゲートＸＯには、インバータ２２および２３を設ける必要はなく、入力信号が入力されてから出力されるまでの回路段数を削減し、すなわち負荷を軽減しより高速に動作するパリティ回路ＰＣを実現することができる。
【００８１】
さらに、本実施の形態においては、ＥＸＯＲ Ｔｒｅｅ回路３を形成するパリティ回路ＰＣの入力数は偶数に設定されている。すなわち、パリティ対応表に示されるように示されるように図４〜図６で示されたパリティ回路ＰＣ０〜ＰＣ５の各入力数は「１４」あるいは「１６」すなわち偶数である。したがって、本発明の実施の形態に従うパリティ回路ＰＣ０〜ＰＣ５は、リセットの際、各入力データＤ０〜Ｄ３１およびパリティビットＰ０〜Ｐ５が入力される入力端子に「０」もしくは「１」のデータが入力されれば全てシンドロームＳ０〜Ｓ５はリセット状態に対応する「０」に設定される。一方、入力数を奇数に設定するならば、リセットの際、各入力データＤ０〜Ｄ３１およびパリティビットＰ０〜Ｐ５が入力される入力端子に「０」を入れなければ、シンドロームＳ０〜Ｓ５はリセット状態に対応する「０」に設定されない。したがって、入力数を偶数に設計することにより、リセット状態とする際の設計自由度が向上する。
【００８２】
次に、ＸＯＲゲートの効率的なレイアウトについて説明する。
【００８３】
図９は、本発明の実施の形態に従う効率的なレイアウトの方式を説明する概念図である。
【００８４】
図９（ａ）は、２2すなわち４入力を一つの単位とするＸＯＲゲートＸＯのレイアウトを説明する図である。
【００８５】
図９（ａ）に示されるように、この場合においては、３個のＸＯＲゲートＸＯが用いられて、２段の排他的論理和を計算するＸＯＲゲート群が形成されている。
【００８６】
図９（ｂ）は、２3すなわち８入力を一つの単位とするＸＯＲゲートＸＯのレイアウトを説明する図である。
【００８７】
図９（ｂ）に示されるように、この場合においては、７個のＸＯＲゲートＸＯが用いられて、２段の排他的論理和を計算するＸＯＲゲート群が形成されている。
【００８８】
図９（ｃ）は、２4すなわち１６入力を一つの単位とするＸＯＲゲートＸＯのレイアウトを説明する図である。
【００８９】
図９（ｃ）に示されるように、この場合においては、１５個のＸＯＲゲートＸＯが用いられて、２段の排他的論理和を計算するＸＯＲゲート群が形成されている。
【００９０】
すなわち、２k（ｋ：２以上の自然数）入力の場合に、（２k−１）個のＸＯＲゲートＸＯが用いられ、２段の排他的論理和を計算するＸＯＲゲート群が形成される。このような２段構成のレイアウトにより、レイアウト効率を上げて、ＸＯＲゲート群のレイアウトの面積増大を抑制することができる。
【００９１】
そして、このようなレイアウト方式を採用することにより、たとえば８入力を一つの単位とする２つのＸＯＲゲート群が存在する場合に、その２つの面積が小さくなるように一方を他方に対して反転させるように組合せて配置することにより、図９（ｄ）に示されるような面積効率の高いＸＯＲゲート群を形成し、配置することができる。たとえば、ここでは、一例としてＸＯＲゲートＸＯの形状が矩形状である場合に、２つのＸＯＲゲート群を組合せると、矩形状の面積効率の高いレイアウトを形成することができる。
【００９２】
図１０は、図９で説明した方式に従って、上記で説明したパリティ回路ＰＣ０〜ＰＣ５のレイアウトを実行した場合を説明する図である。
【００９３】
図１０を参照して、図１０の右側領域にはパリティ回路ＰＣ０，ＰＣ１が配置されており、パリティ回路ＰＣ０およびＰＣ１を構成するＸＯＲゲート群が組み合わされて配置されることにより、パリティ回路ＰＣ０およびＰＣ１の面積が小さくなるように効率的なレイアウトが形成されている。
【００９４】
図１０の中央領域には、パリティ回路ＰＣ２，ＰＣ３が配置されており、パリティ回路ＰＣ２およびＰＣ３を構成するＸＯＲゲート群が組合されて配置されることにより、パリティ回路ＰＣ２およびＰＣ３の面積が小さくなるように効率的なレイアウトが形成されている。
【００９５】
図１０の左側領域には、パリティ回路ＰＣ４，ＰＣ５が配置されており、パリティ回路ＰＣ４およびＰＣ５を構成するＸＯＲゲート群が組み合わされて配置されることにより、パリティ回路ＰＣ４およびＰＣ５の面積が小さくなるように効率的なレイアウトが形成されている。
【００９６】
また、本実施の形態においては、図３に示されるパリティ対応表において、入力データおよびパリティビットが所定個ずつの複数のサブグループに分割されている。具体的には、サブグループＳＧ０は、パリティビットＰ２と、入力データＤ０〜Ｄ８が含まれる。サブグループＳＧ１は、パリティビットＰ４と、入力データＤ９〜Ｄ１７が含まれる。サブグループＳＧ２は、パリティビットＰ１，Ｐ３，Ｐ５と、入力データＤ１８〜Ｄ２２が含まれる。サブグループＳＧ３は、パリティビットＰ０と、入力データＤ２３〜Ｄ３１が含まれる。
【００９７】
各パリティ回路ＰＣ０〜ＰＣ５は、複数のサブグループにそれぞれ対応して、分割された各サブグループに含まれる情報ビットおよびパリティビットが互いに近接するように配置されている。
【００９８】
たとえば、各パリティ回路ＰＣ０〜ＰＣ５の上側領域Ｒ１は、サブグループＳＧ０に対応したデータおよびパリティが入力されている。その２番目の領域Ｒ２は、サブグループＳＧ１に対応したデータおよびパリティが入力されている。３番目の領域Ｒ３は、シンドローム結果であるシンドロームデータＳ０〜Ｓ５を出力するＸＯＲゲート群が形成されている。４番目の領域Ｒ４は、サブグループＳＧ２に対応したデータおよびパリティが入力されている。５番目の領域Ｒ５は、サブグループＳＧ３に対応したデータおよびパリティが入力されている。
【００９９】
このように、各パリティ回路において、所定領域毎に入力されるデータ等が近接して配置されるため、データ入力線等の配線の引き回しを抑制し配線長を短くすることができる。よってさらに負荷を軽減してより高速な誤り訂正処理を実行することが可能となる。
【０１００】
（実施の形態２）
図１１は、本発明の実施の形態２に従うパリティ検査表を説明する図である。
【０１０１】
本実施の形態２においては、６４ビットの情報ビットがメモリアレイＭＡに記録されるとともに７ビットのパリティビットがメモリアレイに記憶される場合について説明する。
【０１０２】
図３で説明したのと同様の方式に従って、パリティ検査表が設定されている。本例においては、２進数標記の７ビットの数値がそれぞれが異なるように各入力ビットおよびパリティビットに対して割り当てられている。また、検査行列Ｈの各行および各列の行列要素の和が所定値以下となるように設定されている。尚、横方向（検査行列Ｈの列方向）の和は４以下に設定されている。また、縦方向（検査行列Ｈの行方向）の和は２８以下となるように設定されている。
【０１０３】
図１２は、ＥＸＯＲ Ｔｒｅｅ回路３を形成するパリティ回路ＰＣ６＃（検査回路）およびＰＣ５＃の回路構成図である。
【０１０４】
図１２（ａ）を参照して、パリティ回路ＰＣ６＃は、複数のＸＯＲゲートＸＯで構成され、排他的論理和すなわちシンドローム結果であるシンドロームデータＳ６を出力する。具体的には、図１１に示されるパリティ対応表の縦方向（検査行列Ｈの行方向）の「１」に対応するデータの排他的論理和を算出した結果に相当する。
【０１０５】
図１２（ｂ）を参照して、パリティ回路ＰＣ５＃は、複数のＸＯＲゲートＸＯで構成され、排他的論理和すなわちシンドローム結果であるシンドロームデータＳ５を出力する。具体的には、図１１に示されるパリティ対応表の縦方向の「１」に対応するデータの排他的論理和を算出した結果に相当する。
【０１０６】
図１３は、ＥＸＯＲ Ｔｒｅｅ回路３を形成するパリティ回路ＰＣ４＃（検査回路）およびＰＣ３＃の回路構成図である。
【０１０７】
図１３（ａ）を参照して、パリティ回路ＰＣ４＃は、複数のＸＯＲゲートＸＯで構成され、排他的論理和すなわちシンドローム結果であるシンドロームデータＳ４を出力する。具体的には、図１１に示されるパリティ対応表の縦方向の「１」に対応するデータの排他的論理和を算出した結果に相当する。
【０１０８】
図１３（ｂ）を参照して、パリティ回路ＰＣ３＃は、複数のＸＯＲゲートＸＯで構成され、排他的論理和すなわちシンドローム結果であるシンドロームデータＳ３を出力する。具体的には、図１１に示されるパリティ対応表の縦方向の「１」に対応するデータの排他的論理和を算出した結果に相当する。
【０１０９】
図１４は、ＥＸＯＲ Ｔｒｅｅ回路３を形成するパリティ回路ＰＣ２＃（検査回路）およびＰＣ１＃の回路構成図である。
【０１１０】
図１４（ａ）を参照して、パリティ回路ＰＣ２＃は、複数のＸＯＲゲートＸＯで構成され、排他的論理和すなわちシンドローム結果であるシンドロームデータＳ２を出力する。具体的には、図１１に示されるパリティ対応表の縦方向の「１」に対応するデータの排他的論理和を算出した結果に相当する。
【０１１１】
図１４（ｂ）を参照して、パリティ回路ＰＣ１＃は、複数のＸＯＲゲートＸＯで構成され、排他的論理和すなわちシンドローム結果であるシンドロームデータＳ１を出力する。具体的には、図１１に示されるパリティ対応表の縦方向の「１」に対応するデータの排他的論理和を算出した結果に相当する。
【０１１２】
図１５は、ＥＸＯＲ Ｔｒｅｅ回路３を形成するパリティ回路ＰＣ０＃（検査回路）の回路構成図である。
【０１１３】
図１５を参照して、パリティ回路ＰＣ０＃は、複数のＸＯＲゲートＸＯで構成され、排他的論理和すなわちシンドローム結果であるシンドロームデータＳ０を出力する。具体的には、図１１に示されるパリティ対応表の縦方向の「１」に対応するデータの排他的論理和を算出した結果に相当する。
【０１１４】
図１６は、図９で説明した方式に従って、上記で説明したパリティ回路ＰＣ０＃〜ＰＣ６＃のレイアウトを実行した場合を説明する図である。
【０１１５】
図１６を参照して、図１６の最右側領域にはパリティ回路ＰＣ５＃，ＰＣ６＃が配置されており、パリティ回路ＰＣ５＃およびＰＣ６＃を構成するＸＯＲゲート群が組み合わされて配置されることにより、パリティ回路ＰＣ５＃およびＰＣ６＃の面積が小さくなるように効率的なレイアウトが形成されている。
【０１１６】
図１６の右側から２番目の領域には、パリティ回路ＰＣ４＃，ＰＣ３＃が配置されており、パリティ回路ＰＣ４＃およびＰＣ３＃を構成するＸＯＲゲート群が組合されて配置されることにより、パリティ回路ＰＣ４＃およびＰＣ３＃の面積が小さくなるように効率的なレイアウトが形成されている。
【０１１７】
図１６の右側から３番目の領域には、パリティ回路ＰＣ２＃，ＰＣ１＃が配置されており、パリティ回路ＰＣ２＃およびＰＣ１＃を構成するＸＯＲゲート群が組み合わされて配置されることにより、パリティ回路ＰＣ２＃およびＰＣ１＃の面積が小さくなるように効率的なレイアウトが形成されている。
【０１１８】
図１６の右側から４番目すなわち左側領域には、パリティ回路ＰＣ０＃が配置されている。
【０１１９】
また、本実施の形態においては、図１１に示されるパリティ対応表において、入力データおよびパリティビットが所定個ずつの複数のサブグループに分割されている。具体的には、サブグループＳＧ０＃は、パリティ回路ＰＣ３＃〜ＰＣ６＃に関して、入力データＤ５６〜Ｄ６３が含まれる。パリティ回路ＰＣ０＃〜ＰＣ２＃に関しては、入力データＤ５８〜Ｄ６３が含まれる。サブグループＳＧ１＃は、パリティ回路ＰＣ３＃〜ＰＣ６＃に関して、パリティビットＰ４〜Ｐ６と、入力データＤ３８〜Ｄ５５が含まれる。パリティ回路ＰＣ０＃〜ＰＣ２＃に関しては、パリティビットＰ４〜Ｐ６と、入力データＤ３８〜Ｄ５７が含まれる。サブグループＳＧ２＃は、全てのパリティ回路ＰＣに関して、パリティビットＰ２，Ｐ３と、入力データＤ１９〜Ｄ３７が含まれる。サブグループＳＧ３＃は、全てのパリティ回路ＰＣに関して、パリティビットＰ０，Ｐ１と、入力データＤ１〜Ｄ１８が含まれる。
【０１２０】
各パリティ回路ＰＣ０＃〜ＰＣ５は＃、複数のサブグループにそれぞれ対応して、分割された各サブグループに含まれる情報ビットおよびパリティビットが互いに近接するように配置されている。
【０１２１】
たとえば、各パリティ回路ＰＣ０〜ＰＣ５の上側領域Ｒ１＃は、サブグループＳＧ０＃に対応したデータおよびパリティが入力されている。その２番目の領域Ｒ２＃は、サブグループＳＧ１＃に対応したデータおよびパリティが入力されている。３番目の領域Ｒ３＃は、シンドローム結果であるシンドロームデータＳ０〜Ｓ６を出力するＸＯＲゲート群が形成されている。４番目の領域Ｒ４＃は、サブグループＳＧ２＃に対応したデータおよびパリティが入力されている。５番目の領域Ｒ５＃は、サブグループＳＧ３＃に対応したデータおよびパリティが入力されている。
【０１２２】
このように、各パリティ回路において、所定領域毎に入力されるデータ等が近接して配置されるため、データ入力線等の配線の引き回しを抑制し配線長を短くすることができる。よってさらに負荷を軽減してより高速な誤り訂正処理を実行することが可能となる。
【０１２３】
図１７は、本発明の実施の形態に従うＥＣＣ回路１０とデータバスＤＢのレイアウトを説明する図である。
【０１２４】
図１７を参照して、ＥＣＣ回路１０は、訂正回路２と、ＥＸＯＲ Ｔｒｅｅ回路３とを含み、訂正回路２と、ＥＸＯＲ Ｔｒｅｅ回路３は、データバスＤＢからの一方側からの入力に対して他方側に出力するように配置されている。具体的には、一方側からのデータバスＤＢからの情報ビットおよびパリティビットは、ＥＸＯＲ Ｔｒｅｅ回路３に入力される。そして、そして、ＥＸＯＲ Ｔｒｅｅ回路３からのシンドロームデータＳは、他方側の訂正回路２に入力される。
【０１２５】
図１８は、図１７で示されるＥＣＣ回路１０において、Ｘ−Ｘ＃における断面図を説明する図である。
【０１２６】
図１８を参照して、メモリアレイからの情報ビットおよびパリティビットが伝達されるデータバスＤＢの配線層が示されている。具体的には、データバスＤＢは、訂正回路２と、ＥＸＯＲ Ｔｒｅｅ回路３が形成される基板の上側もしくは下側の配線層に形成され、基板上に設けられた訂正回路２と、ＥＸＯＲ Ｔｒｅｅ回路３に対して情報ビットおよびパリティビットが伝達されるようにコンタクトホールＣＨを介して接続されている。たとえば、データバスＤＢは、図１０もしくは図１６で説明した所定方向に沿って隣接したパリティ回路ＰＣ上に配置される。
【０１２７】
また、訂正回路２と、ＥＸＯＲ Ｔｒｅｅ回路３とに対して配線された信号線のピッチは同じように設計される。
【０１２８】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【図面の簡単な説明】
【０１２９】
【図１】本発明の実施の形態に従うＥＣＣ回路を備えた半導体装置１の概略ブロック図である。
【図２】本発明の実施の形態１に従う訂正回路２の概略ブロック図である。
【図３】本発明の実施の形態１に従うパリティ検査表を説明する図である。
【図４】ＥＸＯＲ Ｔｒｅｅ回路３を形成するパリティ回路ＰＣ０およびＰＣ１の回路構成図である。
【図５】ＥＸＯＲ Ｔｒｅｅ回路３を形成するパリティ回路ＰＣ２およびＰＣ３の回路構成図である。
【図６】ＥＸＯＲ Ｔｒｅｅ回路３を形成するパリティ回路ＰＣ４およびＰＣ５の回路構成図である。
【図７】ＸＯＲゲートＸＯの回路構成図である。
【図８】本実施の形態に従うＸＯＲゲートを用いた場合のデータＤｏｕｔ０〜Ｄｏｕｔ３１の出力を説明するタイミングチャート図である。
【図９】本発明の実施の形態に従う効率的なレイアウトの方式を説明する概念図である。
【図１０】図９で説明した方式に従って、上記で説明したパリティ回路ＰＣ０〜ＰＣ５のレイアウトを実行した場合を説明する図である。
【図１１】本発明の実施の形態２に従うパリティ検査表を説明する図である。
【図１２】ＥＸＯＲ Ｔｒｅｅ回路３を形成するパリティ回路ＰＣ６＃およびＰＣ５＃の回路構成図である。
【図１３】ＥＸＯＲ Ｔｒｅｅ回路３を形成するパリティ回路ＰＣ４＃およびＰＣ３＃の回路構成図である。
【図１４】ＥＸＯＲ Ｔｒｅｅ回路３を形成するパリティ回路ＰＣ２＃およびＰＣ１＃の回路構成図である。
【図１５】ＥＸＯＲ Ｔｒｅｅ回路３を形成するパリティ回路ＰＣ０＃の回路構成図である。
【図１６】図９で説明した方式に従って、パリティ回路ＰＣ０＃〜ＰＣ６＃のレイアウトを実行した場合を説明する図である。
【図１７】本発明の実施の形態に従うＥＣＣ回路１０とデータバスＤＢのレイアウトを説明する図である。
【図１８】図１７で示されるＥＣＣ回路１０において、Ｘ−Ｘ＃における断面図を説明する図である。
【符号の説明】
【０１３０】
１  半導体装置、２  訂正回路、３  ＥＸＯＲ Ｔｒｅｅ回路、５  ６：３２デコーダ、６  訂正ユニット、７  排他的論理和回路、１０  ＥＣＣ回路、ＭＡ  メモリアレイ。
【図１】
2006014156.tif 000006
【図２】
2006014156.tif 000007
【図３】
2006014156.tif 000008
【図４】
2006014156.tif 000009
【図５】
2006014156.tif 000010
【図６】
2006014156.tif 000011
【図７】
2006014156.tif 000012
【図８】
2006014156.tif 000013
【図９】
2006014156.tif 000014
【図１０】
2006014156.tif 000015
【図１１】
2006014156.tif 000016
【図１２】
2006014156.tif 000017
【図１３】
2006014156.tif 000018
【図１４】
2006014156.tif 000019
【図１５】
2006014156.tif 000020
【図１６】
2006014156.tif 000021
【図１７】
2006014156.tif 000022
【図１８】
2006014156.tif 000023