(57)【要約】【課題】誤り訂正機能を有する半導体記憶装置において、書き込み動作を高速化する。【解決手段】半導体記憶装置は、第１のデータ数を有するデータ単位でエラー検査のためのパリティ信号を生成するパリティ生成回路１７と、メモリセルアレイ１１と、メモリセルアレイ１１から読み出された読み出しパリティ信号と、この読み出しパリティ信号に対応しかつメモリセルアレイ１１から読み出されかつ第１のデータ数を有する読み出しデータとに基づいて、読み出しデータのエラーを訂正するためのシンドローム信号を生成するシンドローム生成回路１５と、シンドローム信号に基づいて、パリティ信号を訂正するパリティ訂正回路１８とを具備し、パリティ生成回路１８は、第１のデータ数より小さい第２のデータ数を有する入力データと読み出しデータの一部とを含むデータに対してパリティ信号を生成する。【選択図】      図１
2007080343.tif 000002
【特許請求の範囲】
【請求項１】
第１のデータ数を有するデータ単位でエラー検査のためのパリティ信号を生成するパリティ生成回路と、
複数のメモリセルを含み、かつデータを記憶する第１の領域とパリティ信号を記憶する第２の領域とを含むメモリセルアレイと、
前記メモリセルアレイから読み出された読み出しパリティ信号と、この読み出しパリティ信号に対応しかつ前記メモリセルアレイから読み出されかつ第１のデータ数を有する読み出しデータとに基づいて、前記読み出しデータのエラーを訂正するためのシンドローム信号を生成するシンドローム生成回路と、
前記シンドローム信号に基づいて、前記パリティ信号を訂正するパリティ訂正回路と
を具備し、
前記パリティ生成回路は、前記第１のデータ数より小さい第２のデータ数を有する入力データと前記読み出しデータの一部とを含むデータに対してパリティ信号を生成することを特徴とする半導体記憶装置。
【請求項２】
前記パリティ生成回路は、前記シンドローム生成回路によるシンドローム生成処理に並行して、パリティ生成処理を実行することを特徴とする請求項１に記載の半導体記憶装置。
【請求項３】
前記シンドローム信号に基づいて、前記読み出しデータのエラーの位置を検出して検出信号を生成する検出回路をさらに具備し、
前記パリティ訂正回路は、前記検出信号に基づいて前記パリティ信号を訂正することを特徴とする請求項１又は２に記載の半導体記憶装置。
【請求項４】
前記読み出しデータは、複数のデータブロックからなり、
前記パリティ信号は、前記複数のデータブロック毎に生成され、かつ前記複数のデータブロックの数に対応した複数のデータ数を有し、
前記パリティ訂正回路は、エラーが存在するデータブロックに対応するパリティ信号を訂正することを特徴とする請求項１乃至３のいずれかに記載の半導体記憶装置。
【請求項５】
前記パリティ生成回路および前記シンドローム生成回路はそれぞれ、検査符号に基づいて、前記パリティ信号および前記シンドローム信号を生成し、
前記検査符号は、前記メモリセルアレイにデータを書き込む際の最小の書き込みデータ数と同じ周期を有することを特徴とする請求項１乃至４のいずれかに記載の半導体記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体記憶装置に係り、特に誤り訂正機能を有する半導体記憶装置に関する。
【背景技術】
【０００２】
従来、半導体記憶装置としては、ＥＣＣ（Error Checking and Correcting）回路を備えたものが知られている。ＥＣＣ回路は、メモリセルアレイから読み出された複数のデータの中に誤りデータが存在するか否かを検査（check）し、もし誤りデータが存在すれば、その誤りデータを正しいデータに訂正（correct）する機能を持つ回路である。半導体記憶装置がＥＣＣ回路を搭載することで、ある確率で誤りデータが読み出されてしまう場合に、その誤りデータを訂正して出力できるため、メモリの信頼性を向上させることができる。
【０００３】
ＥＣＣ回路が誤りデータを訂正するためには、例えばパリティ信号が必要であり、このパリティ信号をデータとは別にメモリセルアレイ内に記憶しておく。ＥＣＣ回路は、パリティ信号とデータとを用いて演算することで、データ内の誤りデータを検出および訂正する。
【０００４】
ところで、１ビットのパリティ信号に対応するデータ数が多いほど、パリティ信号のデータ数を抑えることができる。このため、メモリへの入力データあるいはメモリからの出力データよりも多くのデータが読み出され、読み出されたデータがＥＣＣ回路により検査および訂正され、訂正されたデータの一部が出力される。
【０００５】
具体的には、データの読み出し動作では、パリティ信号および読み出しデータを用いてシンドローム信号を生成する。そして、シンドローム信号を用いて読み出しデータ中の誤りの有無を検査し、誤りがあった場合、データ訂正が行われ、訂正されたデータの一部が出力される。
【０００６】
一方、データの書き込み動作では、まず、データを書き込む前に読み出し動作が行われる。パリティ信号に対応するデータ数が入力データよりも多い場合、読み出しデータの一部を入力データに付加し、この付加された書き込みデータに対してパリティ信号を生成する。そして、訂正された読み出しデータの一部、入力データおよびパリティ信号がメモリセルアレイに記憶される。
【０００７】
ここで、読み出し動作と書き込み動作とを比べると、書き込み動作はデータ訂正後に、パリティ信号を再度生成する必要があるため、ＥＣＣ演算時間は読み出し時に比べて書き込み時の方が長くなる。このため、書き込み時のＥＣＣ演算がサイクルタイムに大きく影響し、サイクルタイムが長くなってしまうという問題が生じる。
【０００８】
また、この種の関連技術として、データの誤り検出の精度を向上する技術が開示されている（特許文献１参照）。
【特許文献１】特開平１１−１６３８９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
本発明は、誤り訂正機能を有する半導体記憶装置において、書き込み動作を高速化することが可能な半導体記憶装置を提供する。
【課題を解決するための手段】
【００１０】
本発明の一視点に係る半導体記憶装置は、第１のデータ数を有するデータ単位でエラー検査のためのパリティ信号を生成するパリティ生成回路と、複数のメモリセルを含み、かつデータを記憶する第１の領域とパリティ信号を記憶する第２の領域とを含むメモリセルアレイと、前記メモリセルアレイから読み出された読み出しパリティ信号と、この読み出しパリティ信号に対応しかつ前記メモリセルアレイから読み出されかつ第１のデータ数を有する読み出しデータとに基づいて、前記読み出しデータのエラーを訂正するためのシンドローム信号を生成するシンドローム生成回路と、前記シンドローム信号に基づいて、前記パリティ信号を訂正するパリティ訂正回路とを具備し、前記パリティ生成回路は、前記第１のデータ数より小さい第２のデータ数を有する入力データと前記読み出しデータの一部とを含むデータに対してパリティ信号を生成する。
【発明の効果】
【００１１】
本発明によれば、誤り訂正機能を有する半導体記憶装置において、書き込み動作を高速化することが可能な半導体記憶装置を提供することができる。
【発明を実施するための最良の形態】
【００１２】
以下、本発明の実施の形態について図面を参照して説明する。なお、以下の説明において、同一の機能および構成を有する要素については、同一符号を付し、重複説明は必要な場合にのみ行う。
【００１３】
（第１の実施形態）
図１は、本発明の第１の実施形態に係る半導体記憶装置の構成を示すブロック図である。半導体記憶装置は、メモリセルアレイ１１、センスアンプ回路１２、アドレス制御回路１３およびデータ制御回路１４を備えている。
【００１４】
メモリセルアレイ１１は、複数のメモリセルＭＣが行列状に配置されて構成されている。メモリセルアレイ１１には、ロウ方向に延びた複数のワード線ＷＬが配設されている。また、メモリセルアレイ１１には、カラム方向に延びた複数のビット線対ＢＬ，／ＢＬが配設されている。
【００１５】
複数のワード線ＷＬには、ロウデコーダ（図示せず）が接続されている。メモリセルアレイ１１の行の選択は、ワード線ＷＬにより行われる。複数のビット線対ＢＬ，／ＢＬには、カラムデコーダ（図示せず）が接続されている。メモリセルアレイの列の選択は、ビット線対ＢＬ，／ＢＬにより行われる。
【００１６】
また、メモリセルアレイ１１は、例えば外部回路から入力された入力データＤＩを記憶するための第１の領域と、後述するパリティ信号Ｐを記憶するための第２の領域とを備えている。センスアンプ回路１２は、メモリセルアレイ１１の第１領域から読み出されたデータを検知増幅し、この検知したデータを読み出しデータＲＤとして出力する。また、センスアンプ回路１２は、メモリセルアレイ１１の第２領域から読み出されたデータを検知増幅し、この検知したデータを読み出しパリティ信号ＲＰとして出力する。
【００１７】
なお、メモリセルアレイ１１については特に限定されず、ＤＲＡＭ（Dynamic Random Access Memory）、ＳＲＡＭ（Static Random Access Memory）、あるいは不揮発性メモリ等であってもよい。不揮発性メモリとしては、ＦｅＲＡＭ（Ferroelectric Random Access Memory）、ＭＲＡＭ（Magnetic Random Access Memory）、あるいはフラッシュメモリ等があげられる。以下に、メモリセルＭＣの一例としてＦｅＲＡＭセルの構成について説明する。図２は、ＦｅＲＡＭセルの構成を示す回路図である。
【００１８】
メモリセルＭＣは、トランジスタＴと強誘電体キャパシタＣとから構成されている。トランジスタＴのゲート電極は、ワード線ＷＬに接続されている。トランジスタＴのソース（あるいは、ドレイン）は、ビット線ＢＬに接続されている。トランジスタＴのドレイン（あるいは、ソース）は、強誘電体キャパシタＣの一方の電極に接続されている。強誘電体キャパシタＣの他方の電極は、プレート線ＰＬに接続されている。すなわち、トランジスタＴと強誘電体キャパシタＣとは、直列に接続されている。上記メモリセルＭＣが複数個配置されてメモリセルアレイ１１が構成される。
【００１９】
半導体記憶装置には、例えば外部回路からアドレス信号ＡＤ、ライトイネーブル信号ＷＥおよび例えば１６ビットの入力データＤＩ０〜ＤＩ１５が入力される。ライトイネーブル信号ＷＥは、半導体記憶装置にデータの書き込み、あるいは半導体記憶装置からデータの読み出しを可能にするための信号である。例えば、ライトイネーブル信号ＷＥがローレベルの場合、半導体記憶装置にデータが書き込まれる。一方、ライトイネーブル信号ＷＥがハイレベルの場合、半導体記憶装置からデータが読み出される。
【００２０】
アドレス信号ＡＤおよびライトイネーブル信号ＷＥは、アドレス制御回路１３に入力される。アドレス制御回路１３は、アドレス信号ＡＤをデコードしてロウアドレス信号およびカラムアドレス信号をメモリセルアレイ１１（具体的には、ロウデコーダおよびカラムデコーダ）に供給する。
【００２１】
入力データＤＩ０〜ＤＩ１５は、データ制御回路１４に入力される。データ制御回路１４は、入力データＤＩ０〜ＤＩ１５にメモリセルアレイ１１から読み出された読み出しデータＲＤの一部が付加された６４ビットの書き込みデータＷＤ０〜ＷＤ６３をメモリセルアレイ１１に書き込むための制御を実行する。
【００２２】
半導体記憶装置は、シンドローム生成回路１５、読み出しデータ訂正回路１６、パリティ生成回路１７、パリティ訂正回路１８およびエラー検出回路１９を備えている。
【００２３】
パリティ生成回路１７は、ハミング符号（hamming code）を用いて、例えば７ビットのパリティ信号Ｐ０〜Ｐ６を生成する。また、パリティ生成回路１７は、このパリティ信号Ｐ０〜Ｐ６を例えば６４ビットのデータ単位で生成する。
【００２４】
ここで、パリティ生成回路１７は、入力データＤＩ０〜ＤＩ１５よりも多いデータ単位でパリティ信号Ｐ０〜Ｐ６を生成している。このように、１ビットのパリティ信号に対応するデータ数を多くすることで、パリティ信号のデータ数を抑えることができる。この結果、パリティ信号を記憶するためのメモリセルアレイ１１の第２の領域の記憶容量を低減することができる。
【００２５】
シンドローム生成回路１５は、エラー訂正のためのシンドローム信号を生成する。すなわち、シンドローム生成回路１５は、メモリセルアレイ１１から読み出された６４ビットの読み出しデータＲＤ０〜ＲＤ６３と、この読み出しデータＲＤ０〜ＲＤ６３に対応するパリティ信号Ｐ０〜Ｐ６とに基づいて、ハミング符号を用いて７ビットのシンドローム信号Ｓｙ０〜Ｓｙ６を生成する。また、シンドローム生成回路１５は、シンドローム信号Ｓｙ０〜Ｓｙ６の反転信号である反転シンドローム信号ＳｙＢ０〜ＳｙＢ６を生成する。
【００２６】
図３は、パリティ生成回路１７およびシンドローム生成回路１５に用いられるハミング符号を示す図である。ハミング符号は、シンドローム信号Ｓｙ０〜Ｓｙ６のビット数に対応する７の行と、パリティ信号Ｐ０〜Ｐ６および読み出しデータＲＤ０〜ＲＤ６３に対応する７１の列とから構成されている。図３に示した“パリティ信号Ｐ”に含まれる７の列の数字０〜６はそれぞれ、パリティ信号Ｐ０〜Ｐ６のビット番号に対応している。また、図３に示した“データ”に含まれる６４の列の数字０〜６３はそれぞれ、読み出しデータＲＤ０〜ＲＤ６３のビット番号に対応している。
【００２７】
なお、パリティ信号Ｐ０〜Ｐ６のそれぞれが対応する列は、任意に設定することが可能である。同様に、読み出しデータＲＤ０〜ＲＤ６３のそれぞれが対応する列は、任意に設定することが可能である。
【００２８】
エラー検出回路１９は、読み出しデータＲＤ０〜ＲＤ６３のエラー検出処理を実行する。すなわち、エラー検出回路１９は、シンドローム信号Ｓｙ０〜Ｓｙ６および反転シンドローム信号ＳｙＢ０〜ＳｙＢ６を用いて、読み出しデータＲＤ０〜ＲＤ６３のうちどのビットにエラーが存在するのかを検出する。
【００２９】
パリティ訂正回路１８は、エラー検出回路１９から供給されるエラー検出信号ＤＥに基づいて、パリティ生成回路１７により生成されたパリティ信号を訂正する。
【００３０】
読み出しデータ訂正回路１６は、シンドローム生成回路１５により生成されたシンドローム信号Ｓｙ０〜Ｓｙ６に基づいて、読み出しデータＲＤ０〜ＲＤ６３のエラーを訂正する。
【００３１】
次に、このように構成された半導体記憶装置のデータ書き込み動作について説明する。半導体記憶装置は、７ビットのパリティ信号Ｐ０〜Ｐ６に対応する６４ビットのデータ単位でデータ書き込み動作を実行する。なお、予め、データおよびパリティ信号は、メモリセルアレイ１１に記憶されているものとする。
【００３２】
先ず、半導体記憶装置には、外部回路からアドレス信号ＡＤ、ローレベルのライトイネーブル信号ＷＥおよび入力データＤＩ０〜ＤＩ１５が入力される。すると、データ制御回路１４は、入力データＤＩ０〜ＤＩ１５のアドレス信号に対応する７ビットの読み出しパリティ信号ＲＰ０〜ＲＰ６をメモリセルアレイ１１の第２領域から読み出す処理を実行する。また、データ制御回路１４は、パリティ信号Ｐ０〜Ｐ６に対応する６４ビットの読み出しデータＲＤ０〜ＲＤ６３をメモリセルアレイ１１の第１領域から読み出す処理を実行する。
【００３３】
メモリセルアレイ１１の第２領域から読み出された読み出しパリティ信号ＲＰ０〜ＲＰ６は、シンドローム生成回路１５に入力される。メモリセルアレイ１１の第１領域から読み出された読み出しデータＲＤ０〜ＲＤ６３は、シンドローム生成回路１５、読み出しデータ訂正回路１６およびパリティ生成回路１７に入力される。
【００３４】
次に、シンドローム生成回路１５は、シンドローム生成処理を実行する。すなわち、シンドローム生成回路１５は、図３に示したハミング符号を用いて、７ビットのシンドローム信号Ｓｙ０〜Ｓｙ６および反転シンドローム信号ＳｙＢ０〜ＳｙＢ６を生成する。シンドローム信号Ｓｙ０〜Ｓｙ６および反転シンドローム信号ＳｙＢ０〜ＳｙＢ６は、読み出しデータ訂正回路１６およびエラー検出回路１９に入力される。
【００３５】
読み出しデータ訂正回路１６は、シンドローム信号Ｓｙ０〜Ｓｙ６を用いて、読み出しデータＲＤ０〜ＲＤ６３のエラーを訂正して、訂正出力データＤＯ０〜ＤＯ６３を生成する。この訂正された６４ビットの訂正出力データＤＯ０〜ＤＯ６３は、データ制御回路１４に入力される。
【００３６】
ところで、パリティ生成回路１７は、シンドローム生成回路１５によるシンドローム生成処理に並行して（あるいは、同時に）、パリティ生成処理を実行する。すなわち、パリティ生成回路１７は、入力データＤＩ０〜ＤＩ１５と、エラー訂正がされていない読み出しデータＲＤ０〜ＲＤ６３の一部（入力データＤＩ０〜ＤＩ１５のアドレス以外のアドレスに対応する４８ビットの読み出しデータＲＤ）とから構成されるデータに対して、ハミング符号を用いてパリティ信号Ｐ０〜Ｐ６を生成する。このパリティ信号Ｐ０〜Ｐ６は、パリティ訂正回路１８に入力される。
【００３７】
また、エラー検出回路１９は、シンドローム生成処理に並行して、エラー検出処理を実行する。具体的には、エラー検出回路１９は、シンドローム信号Ｓｙ０〜Ｓｙ６および反転シンドローム信号ＳｙＢ０〜ＳｙＢ６を用いて、読み出しデータＲＤ０〜ＲＤ６３のうちどのビットにエラーが存在するのかを検出して、この検出結果であるエラー検出信号ＤＥを生成する。
【００３８】
以下に、一例として、パリティ信号Ｐ０〜Ｐ６と読み出しデータＲＤ０〜ＲＤ６３とから構成される７１ビットのデータのうちデータ０（読み出しデータＲＤ０に対応する）のエラーを検出する動作について説明する。
【００３９】
図４は、エラー検出回路１９に含まれるデータ０のエラーを検出するための検出回路１９−１を示す回路図である。検出回路１９−１は、３つのＮＡＮＤ回路２１〜２３と、ＮＯＲ回路２４とを備えている。ＮＡＮＤ回路２１には、シンドローム信号Ｓｙ０，Ｓｙ１が入力される。ＮＡＮＤ回路２２には、反転シンドローム信号ＳｙＢ２，ＳｙＢ３，ＳｙＢ４が入力される。ＮＡＮＤ回路２３には、反転シンドローム信号ＳｙＢ５，ＳｙＢ６が入力される。
【００４０】
３つのＮＡＮＤ回路２１〜２３の出力のそれぞれは、ＮＯＲ回路２４に入力される。このＮＯＲ回路２４の出力であるエラー検出信号ＤＥ０が“１”データの場合、データ０はエラーであると判定される。これは、シンドローム信号Ｓｙ０〜Ｓｙ６が、ハミング符号のデータ０に対応する列のデータと同じになっているからである。一方、エラー検出信号ＤＥ０が“０”データの場合、データ０はエラーでないと判定される。このエラー検出信号ＤＥは、パリティ訂正回路１８に入力される。
【００４１】
パリティ訂正回路１８は、エラー検出信号ＤＥに基づいて、パリティ生成回路１７から供給された７ビットのパリティ信号Ｐ０〜Ｐ６のうちどのパリティ信号に対応する読み出しデータＲＤにエラーが存在したかを判定する。そして、パリティ訂正回路１８は、７ビットのパリティ信号Ｐ０〜Ｐ６のうちエラーが存在した読み出しデータＲＤに対応したパリティ信号を訂正して、この訂正結果である訂正パリティ信号ＣＰ０〜ＣＰ６を生成する。この訂正パリティ信号ＣＰ０〜ＣＰ６は、メモリセルアレイ１１の第２領域に記憶される。
【００４２】
また、データ制御回路１４は、入力データＤＩ０〜ＤＩ１５と訂正出力データＤＯ０〜ＤＯ６３の一部（入力データＤＩ０〜ＤＩ１５のアドレス以外のアドレスに対応する４８ビットの訂正出力データＤＯ）とから構成される６４ビットの書き込みデータＷＤ０〜ＷＤ６３を、メモリセルアレイ１１の第１領域に書き込む。
【００４３】
以上詳述したように本実施形態によれば、データ書き込み動作時に、シンドローム生成処理（すなわち、シンドローム演算）とパリティ生成処理（すなわち、パリティ演算）とを並行して行うようにしているため、データ書き込み動作を高速化することができる。この結果、サイクルタイムを短縮させることができる。
【００４４】
また、所定のデータ数を有するパリティ信号に対して入力データよりも多くのデータ数を割り当てている。よって、パリティ信号を記憶する領域を低減することができ、ひいてはメモリセルアレイの記憶容量を低減させることができる。
【００４５】
（第２の実施形態）
第２の実施形態は、エラー検出処理を高速に行うようにしたものである。
【００４６】
図５は、本発明の第２の実施形態に係る半導体記憶装置の構成を示すブロック図である。ここで、本実施形態では、パリティ生成回路１７およびシンドローム生成回路１５はそれぞれ、第１の実施形態と異なる検査符号を用いて、８ビットのパリティ信号Ｐ０〜Ｐ７および８ビットのシンドローム信号Ｓｙ０〜Ｓｙ７を生成している。
【００４７】
図６は、パリティ生成回路１７およびシンドローム生成回路１５に用いられる検査符号を示す図である。なお、図６には、検査符号の特徴の理解を容易にするために、符号“１”のみを記載している。すなわち、実際には、符号“１”以外の位置には符号“０”が記載されるが、図６ではこの符号“０”の記載を省略している。
【００４８】
検査符号（あるいは、検査行列ともいう）は、シンドローム信号Ｓｙ０〜Ｓｙ７のビット数に対応する８の行と、パリティ信号Ｐ０〜Ｐ７および読み出しデータＲＤ０〜ＲＤ６３に対応する７２の列とから構成されている。図３に示した“パリティ信号Ｐ”に含まれる８の列の数字０〜７はそれぞれ、パリティ信号Ｐ０〜Ｐ７のビット番号に対応している。また、図３に示した“データ”に含まれる６４の列の数字０〜６３はそれぞれ、読み出しデータＲＤ０〜ＲＤ６３のビット番号に対応している。
【００４９】
ここで、８ビットのパリティ信号Ｐ０〜Ｐ７に対応する６４ビットのデータは、８つのデータブロックＢＬＫ０〜ＢＬＫ７から構成されている。各データブロックＢＬＫは、８ビットのデータから構成されている。データブロックＢＬＫ０はデータ０〜７、データブロックＢＬＫ１はデータ８〜１５、データブロックＢＬＫ２はデータ１６〜２３、データブロックＢＬＫ３はデータ２４〜３１、データブロックＢＬＫ４はデータ３２〜３９、データブロックＢＬＫ５はデータ４０〜４７、データブロックＢＬＫ６はデータ４８〜５５、データブロックＢＬＫ７はデータ５６〜６３から構成されている。
【００５０】
そして、下位４ビットの検査符号（シンドローム信号Ｓｙ０〜Ｓｙ３に対応する）の符号“１”は、８ビット周期で変化している。ここで、８ビット周期にしている理由は、以下のようである。
【００５１】
本実施形態では、半導体記憶装置の入出力数（Ｉ／Ｏ）は“１６”である。また、最小の書き込みデータ数は“８”である。すなわち、半導体記憶装置は、８ビットの入力データＤＩ０〜ＤＩ７を書き込むことも可能であるし、１６ビットの入力データＤＩ０〜ＤＩ１５を書き込むことも可能であるし、あるいは１６ビットの入力データＤＩ０〜ＤＩ１５のうち上位バイト（８ビットの入力データＤＩ８〜ＤＩ１５）と下位バイト（８ビットの入力データＤＩ０〜ＤＩ７）とを分けて書き込むことも可能である。データ部分の下位４ビットの検査符号の符号“１”の周期は、最小の書き込みデータ数“８”と同じ８ビット単位で変化している。
【００５２】
このように、図６に示した検査コードは、下位４ビットが８ビット周期になっているため、８ビット単位で誤りビットが存在するか否かを検出するのに有効である。すなわち、データブロック中に誤りビットがあるかどうかを判定するには、４ビットの信号（シンドローム信号Ｓｙ０〜Ｓｙ３）のみで行うことができる。
【００５３】
アドレス制御回路１３は、ブロック選択信号ＢＳＬ０〜ＢＳＬ７を生成する。このブロック選択信号ＢＳＬ０〜ＢＳＬ７は、例えば１６ビットの入力データＤＩ０〜ＤＩ１５が外部回路から入力された場合に、この入力データＤＩ０〜ＤＩ１５をメモリセルアレイ１１に書き込むために書き換えが必要な６４ビットの書き込みデータＷＤ０〜ＷＤ６３のうちで入力データＤＩ０〜ＤＩ１５がどのブロックに対応するかを示す信号である。
【００５４】
また、アドレス制御回路１３は、ライトイネーブル信号ＷＥがローレベルの場合（半導体記憶装置にデータが書き込まれる場合）に、ブロック選択信号ＢＳＬ０〜ＢＳＬ７を出力する。ブロック選択信号ＢＳＬ０〜ＢＳＬ７は、エラー検出回路１９に入力される。
【００５５】
エラー検出回路１９は、シンドローム信号Ｓｙ０〜Ｓｙ７のうち下位４ビットのシンドローム信号Ｓｙ０〜Ｓｙ３を用いて、読み出しデータＲＤ０〜ＲＤ６３のうちどのブロックにエラーが存在するのかを検出して、この検出結果であるブロックエラー信号ＢＥを生成する。
【００５６】
以下に、一例として、ブロック０（読み出しデータＲＤ０〜ＲＤ７）のエラーを検出する動作について説明する。図７は、エラー検出回路１９に含まれるブロック０のエラーを検出するための検出回路１９−２を示す回路図である。
【００５７】
検出回路１９−２は、２つのＮＡＮＤ回路３１，３２と、ＮＯＲ回路３３とを備えている。ＮＡＮＤ回路３１には、シンドローム信号Ｓｙ０および反転シンドローム信号ＳｙＢ１が入力される。ＮＡＮＤ回路３２には、反転シンドローム信号ＳｙＢ２，ＳｙＢ３が入力される。
【００５８】
２つのＮＡＮＤ回路３１，３２の出力のそれぞれは、ＮＯＲ回路３３に入力される。このＮＯＲ回路３３の出力であるブロックエラー信号ＢＥ０が“１”データの場合、読み出しデータＲＤ０〜ＲＤ６３のうちブロック０にエラーが存在すると判定される。一方、ブロックエラー信号ＢＥ０が“０”データの場合、ブロック０にエラーが存在しないと判定される。このブロックエラー信号ＢＥは、パリティ訂正回路１８に入力される。また、エラー検出回路１９は、ブロックエラー信号ＢＥの反転信号である反転ブロックエラー信号ＢＥＢを生成する。この反転ブロックエラー信号ＢＥＢも、パリティ訂正回路１８に入力される。
【００５９】
パリティ訂正回路１８は、訂正判定回路１８Ａを備えている。訂正判定回路１８Ａは、反転ブロックエラー信号ＢＥＢおよびブロック選択信号ＢＳＬに基づいて、パリティ信号Ｐの訂正が必要であるか否かを判定する。読み出しデータＲＤ０〜ＲＤ６３内にエラーが存在した場合でも、このエラーが存在したビットを含むブロックが入力データに置き換えられるならば、このブロックに対応するパリティ信号を訂正する必要がない。
【００６０】
以下に一例として、パリティ信号Ｐ０を訂正するか否かを判定する動作について説明する。図８は、訂正判定回路１８Ａに含まれるパリティ信号Ｐ０を訂正するか否かを判定するための判定回路１８Ａ−１を示す回路図である。
【００６１】
判定回路１８Ａ−１は、４つのＮＯＲ回路３４〜３７と、インバータ回路３８とを備えている。ＮＯＲ回路３４には、反転ブロックエラー信号ＢＥＢ０およびブロック選択信号ＢＳＬ０が入力される。ＮＯＲ回路３５には、反転ブロックエラー信号ＢＥＢ４およびブロック選択信号ＢＳＬ４が入力される。ＮＯＲ回路３６には、反転ブロックエラー信号ＢＥＢ７およびブロック選択信号ＢＳＬ７が入力される。
【００６２】
３つのＮＯＲ回路３４〜３６の出力のそれぞれは、ＮＯＲ回路３７に入力される。ＮＯＲ回路３７の出力は、インバータ回路３８に入力される。このインバータ回路３８の出力である判定信号ＪＳ０が“１”データの場合、パリティ信号Ｐ０は訂正が必要であると判定される。一方、判定信号ＪＳ０が“０”データの場合、パリティ信号Ｐ０は訂正が必要でないと判定される。
【００６３】
パリティ訂正回路１８は、判定信号ＪＳ０に基づいて、パリティ信号Ｐ０〜Ｐ７を訂正する。この訂正された訂正パリティ信号ＣＰ０〜ＣＰ７は、メモリセルアレイ１１の第２領域に記憶される。
【００６４】
以上詳述したように本実施形態によれば、入力データのアドレス以外の読み出しデータに誤りビットがあるかどうかを高速に検出することができる。これにより、エラー検出回路１９の演算処理を低減することができる。
【００６５】
（第３の実施形態）
第３の実施形態は、シンドローム生成回路１５とパリティ生成回路１７との一部の回路を共有するようにしたものである。
【００６６】
図９は、本発明の第３の実施形態に係る半導体記憶装置の主要部の構成を示す回路図である。なお、本実施形態では、８ビットの入力データＤＩ０〜ＤＩ７の場合を例に説明する。
【００６７】
シンドローム生成回路１５は、第１段に含まれる３２個の２入力排他的論理和回路（以下、ＸＯＲ回路という）４１−１と、第２段に含まれる１６個のＸＯＲ回路４１−２と、第３段に含まれる８個のＸＯＲ回路４１−３と、第４段に含まれる８個のＸＯＲ回路４１−４とを備えている。
【００６８】
第１段から第４段までのＸＯＲ回路は、縦続接続されている。具体的には、第１段のＸＯＲ回路４１−１の出力端子は、第２段のＸＯＲ回路４１−２の入力端子に接続されている。第２段のＸＯＲ回路４１−２の出力端子は、第３段のＸＯＲ回路４１−３の入力端子に接続されている。第３段のＸＯＲ回路４１−３の出力端子は、第４段のＸＯＲ回路４１−４の一方の入力端子に接続されている。
【００６９】
第１段のＸＯＲ回路４１−１の入力端子には、読み出しデータＲＤ０〜ＲＤ６３が入力されている。第４段のＸＯＲ回路４１−４の他方の入力端子には、読み出しパリティ信号ＲＰ０〜ＲＰ７が入力されている。第４段のＸＯＲ回路４１−４の出力端子からは、シンドローム信号Ｓｙ０〜Ｓｙ７が出力される。
【００７０】
パリティ生成回路１７は、第１段に含まれる４個のＸＯＲ回路４２−１と、第２段に含まれる２個のＸＯＲ回路４２−２と、第３段に含まれる１個のＸＯＲ回路４２−３とを備えている。
【００７１】
第１段から第３段までＸＯＲ回路は、縦続接続されている。具体的には、第１段のＸＯＲ回路４２−１の出力端子は、第２段のＸＯＲ回路４２−２の入力端子に接続されている。第２段のＸＯＲ回路４２−２の出力端子は、第３段のＸＯＲ回路４２−３の入力端子に接続されている。第１段のＸＯＲ回路４１−１の入力端子には、入力データＤＩ０〜ＤＩ７が入力されている。
【００７２】
また、パリティ生成回路１７は、８個の選択回路（マルチプレクサ）４３を備えている。選択回路４３の一方の入力端子には、ＸＯＲ回路４２−３の出力端子が接続されている。選択回路４３の他方の入力端子には、ＸＯＲ回路４１−３の出力端子が接続されている。選択回路４３の制御端子には、ブロック選択信号ＢＳＬ０〜ＢＳＬ０が入力されている。選択回路４３からは、パリティ信号Ｐ０〜Ｐ７が出力される。
【００７３】
このように構成された半導体記憶装置において、シンドローム生成回路１５に入力される読み出しパリティ信号ＲＰ０〜ＲＰ７を最終段（第４段）のＸＯＲ回路４１−４に入力するようにしている。シンドローム生成回路１５によるシンドローム演算において、シンドローム生成回路１５に含まれる第１段から第３段までのＸＯＲ回路は、読み出しデータＲＤ０〜ＲＤ６３のみを用いて演算を行っている。
【００７４】
一方、パリティ生成回路１７によるパリティ演算では、読み出しデータＲＤ０〜ＲＤ６３の一部を入力データＤＩ０〜ＤＩ７に置き換えたデータを用いて演算している。よって、シンドローム演算において読み出しパリティ信号ＲＰ０〜ＲＰ７の演算を最終段（シンドローム生成回路１５に含まれる第４段のＸＯＲ回路４１−４）で行うことで、同じ読み出しデータの演算部分を共有化することが可能となる。
【００７５】
そして、選択回路４３は、ブロック選択信号ＢＳＬ０〜ＢＳＬ７に基づいて、ＸＯＲ回路４１−３の出力とＸＯＲ回路４２−３の出力とのいずれかを選択する。
【００７６】
以上詳述したように本実施形態によれば、シンドローム生成回路１５とパリティ生成回路１７との一部の回路を共有することが可能となる。これにより、チップサイズを縮小することができる。
【００７７】
また、パリティ生成回路１７による読み出しデータを用いた演算を省略することができるため、半導体記憶装置の演算処理を低減でき、かつ演算処理をより高速化することができる。
【００７８】
なお、上記各実施形態で示した各データ（入力データＤＩ、読み出しデータＲＤ、書き込みデータＷＤ、パリティ信号Ｐ、およびシンドローム信号Ｓｙ等）のデータ数は一例であり、これらのデータのデータ数は、本発明が適用されるシステム等により任意に設定することが可能であることは勿論である。
【００７９】
本発明の例は、上述した実施形態に限定されるものではなく、その要旨を逸脱しない範囲内で、構成要素を変形して具体化できる。また、実施形態に開示されている複数の構成要素の適宜な組み合わせにより種々の発明を構成することができる。例えば、実施形態に開示される全構成要素から幾つかの構成要素を削除してもよいし、異なる実施形態の構成要素を適宜組み合わせてもよい。
【図面の簡単な説明】
【００８０】
【図１】本発明の第１の実施形態に係る半導体記憶装置の構成を示すブロック図。
【図２】メモリセルＭＣの一例としてのＦｅＲＡＭセルの構成を示す回路図。
【図３】第１の実施形態に係るパリティ生成回路１７およびシンドローム生成回路１５に用いられるハミング符号を示す図。
【図４】エラー検出回路１９の一部（検出回路１９−１）を示す回路図。
【図５】本発明の第２の実施形態に係る半導体記憶装置の構成を示すブロック図。
【図６】第２の実施形態に係るパリティ生成回路１７およびシンドローム生成回路１５に用いられる検査符号を示す図。
【図７】エラー検出回路１９の一部（検出回路１９−２）を示す回路図。
【図８】訂正判定回路１８Ａの一部（判定回路１８Ａ−１）を示す回路図。
【図９】本発明の第３の実施形態に係る半導体記憶装置の主要部の構成を示す回路図。
【符号の説明】
【００８１】
１１…メモリセルアレイ、１２…センスアンプ回路、１３…アドレス制御回路、１４…データ制御回路、１５…シンドローム生成回路、１６…データ訂正回路、１７…パリティ生成回路、１８…パリティ訂正回路、１８Ａ…訂正判定回路、１９…エラー検出回路、２１〜２３，３１，３２…ＮＡＮＤ回路、２４，３３〜３７…ＮＯＲ回路、３８…インバータ回路、４１，４２…ＸＯＲ回路、４３…選択回路、ＭＣ…メモリセル、Ｔ…トランジスタ、Ｃ…強誘電体キャパシタ、ＷＬ…ワード線、ＢＬ，／ＢＬ…ビット線、ＰＬ…プレート線。
【図１】
2007080343.tif 000003
【図２】
2007080343.tif 000004
【図３】
2007080343.tif 000005
【図４】
2007080343.tif 000006
【図５】
2007080343.tif 000007
【図６】
2007080343.tif 000008
【図７】
2007080343.tif 000009
【図８】
2007080343.tif 000010
【図９】
2007080343.tif 000011