(57)【要約】【課題】  エラーを検出するための演算回路の規模を小さくし、不良の救済効率を向上する。【解決手段】  第１パリティブロックは、レギュラーデータ用のメモリブロックに対応して設けられる。第２パリティコードを構成する各パリティビットは、一度にアクセスされる第１パリティコードの全ビットに共通である。パリティエラー訂正部は、第１パリティコードのエラーを第２パリティコードを用いて訂正する。データエラー訂正部は、レギュラーデータのエラーを、パリティエラー訂正部により訂正された第１パリティコードを用いて訂正する。第２パリティコードは、複数の第１パリティコードの全ビットに共通のコードであるため、１回の演算で第２パリティコードを生成でき、１回の演算で第１パリティコードのエラーを検出できる。したがって、エラー検出用の演算回路の規模を小さくでき、不良の救済効率を向上できる。【選択図】    図１
2008299922.tif 000002
【特許請求の範囲】
【請求項１】
複数のレギュラーメモリセルを有する複数のメモリブロックと、
前記メモリブロックに対応して設けられ、第１パリティコードを保持する第１パリティメモリセルを有する複数の第１パリティブロックと、
一度にアクセスされる第１パリティコードの全ビットに共通のパリティビットで構成される第２パリティコードを保持する第２パリティメモリセルを有する第２パリティブロックと、
前記第１パリティメモリセルに保持された第１パリティコードのエラーを、前記第２パリティメモリセルに保持された前記第２パリティコードを用いて訂正するパリティエラー訂正部と、
前記レギュラーメモリセルに保持されたデータのエラーを、前記パリティエラー訂正部により訂正された第１パリティコードを用いて訂正するデータエラー訂正部とを備えていることを特徴とする半導体メモリ。
【請求項２】
請求項１記載の半導体メモリにおいて、
前記メモリブロックと前記第１および第２パリティブロックとに共通な複数のワード線を備え、
前記パリティエラー訂正部は、読み出し要求に応じて選択される１つの前記ワード線に接続された第１パリティメモリセルから読み出される第１パリティコードを、前記１つのワード線に接続された第２パリティメモリセルから読み出される第２パリティコードを用いて訂正し、
前記データエラー訂正部は、前記１つのワード線に接続された前記レギュラーメモリセルから読み出されるデータを、前記パリティエラー訂正部により訂正された第１パリティコードを用いて訂正することを特徴とする半導体メモリ。
【請求項３】
請求項１記載の半導体メモリにおいて、
前記パリティエラー訂正部は、第１パリティコードに２ビットのエラーがあることを検出したときに、第１パリティメモリセルから読み出された第１パリティコードを訂正することなく前記データエラー訂正部に出力し、
前記データエラー訂正部は、前記第１パリティメモリセルから読み出された第１パリティコードを用いて前記レギュラーメモリセルから読み出されるデータを訂正することを特徴とする半導体メモリ。
【請求項４】
請求項１記載の半導体メモリにおいて、
前記データエラー訂正部は、書き込み要求に応答して外部端子に供給される書き込みデータから前記第１パリティメモリセルにそれぞれ書き込む第１パリティコードを生成し、
前記パリティエラー訂正部は、生成された第１パリティコードから前記第１パリティメモリセルに書き込む第２パリティコードを生成することを特徴とする半導体メモリ。
【請求項５】
複数のレギュラーメモリセルを有する複数のメモリブロックと、前記メモリブロックに対応して設けられ、第１パリティコードを保持する第１パリティメモリセルを有する複数の第１パリティブロックと、第２パリティコードを保持する第２パリティメモリセルを有する第２パリティブロックとを備えた半導体メモリのエラー訂正方法であって、
前記第１パリティメモリセルに保持された第１パリティコードのエラーを、一度にアクセスされる第１パリティコードの全ビットに共通のパリティビットで構成され、前記第２パリティメモリセルに保持された前記第２パリティコードを用いて訂正し、
前記レギュラーメモリセルに保持されたデータのエラーを、訂正された第１パリティコードを用いて訂正することを特徴とする半導体メモリの動作方法。
【請求項６】
請求項５記載の半導体メモリの動作方法において、
読み出し要求に応じて前記メモリブロックと前記第１および第２パリティブロックとに共通な複数のワード線の１つを選択し、
選択されたワード線に接続された第１パリティメモリセルから読み出される第１パリティコードを、選択されたワード線に接続された第２パリティメモリセルから読み出される第２パリティコードを用いて訂正し、
選択されたワード線に接続された前記レギュラーメモリセルから読み出されるデータを、訂正された第１パリティコードを用いて訂正することを特徴とする半導体メモリの動作方法。
【請求項７】
請求項５記載の半導体メモリの動作方法において、
第１パリティコードに２ビットのエラーがあることを検出したときに、第１パリティメモリセルから読み出された第１パリティコードを訂正することなく、前記第１パリティメモリセルから読み出された第１パリティコードを用いて前記レギュラーメモリセルから読み出されるデータを訂正することを特徴とする半導体メモリの動作方法。
【請求項８】
半導体メモリと、前記半導体メモリのアクセスを制御するコントローラとを備えたシステムであって、
複数のレギュラーメモリセルを有する複数のメモリブロックと、
前記メモリブロックに対応して設けられ、第１パリティコードを保持する第１パリティメモリセルを有する複数の第１パリティブロックと、
一度にアクセスされる第１パリティコードの全ビットに共通のパリティビットで構成される第２パリティコードを保持する第２パリティメモリセルを有する第２パリティブロックと、
前記第１パリティメモリセルに保持された第１パリティコードのエラーを、前記第２パリティメモリセルに保持された前記第２パリティコードを用いて訂正するパリティエラー訂正部と、
前記レギュラーメモリセルに保持されたデータのエラーを、前記パリティエラー訂正部により訂正された第１パリティコードを用いて訂正するデータエラー訂正部とを備えていることを特徴とするシステム。
【請求項９】
請求項８記載のシステムにおいて、
前記メモリブロック、前記第１および第２パリティブロック、前記パリティエラー訂正部および前記データエラー訂正部は、１チップで構成されることを特徴とするシステム。
【請求項１０】
請求項８記載のシステムにおいて、
前記メモリブロックは、それぞれ１チップで構成され、
前記第１および第２パリティブロックは、１チップで構成され、
前記パリティエラー訂正部および前記データエラー訂正部は、１チップで構成されることを特徴とするシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、エラー訂正機能を有する半導体メモリおよびシステムに関する。
【背景技術】
【０００２】
近時、ビット不良を救済するためのエラー訂正回路を搭載した半導体メモリが提案されている。この種の半導体メモリでは、データのビット数ＤＮとエラー訂正コード（パリティコード）のビット数ＰＮの比ＤＮ／ＰＮが大きいほど、パリティコードを格納するメモリセル（パリティメモリセル）の面積は相対的に小さくなり、面積効率は向上する。その反面、一般に、比ＤＮ／ＰＮが大きくなると、全体のビット数に対して救済されるデータのビット数の比１／（ＤＮ＋ＰＮ）である救済効率は下がる。すなわち、面積効率の向上と救済効率の向上は、相反する。面積効率と救済効率と向上するために、いわゆる水平／垂直パリティコードを用いて、データのエラーを訂正する手法が提案されている（例えば、特許文献１参照）。
【特許文献１】特開２００５−２１６４３７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
水平／垂直パリティコードを用いたエラー訂正手法では、データのエラーを検出するために、水平方向に並ぶビット群毎のパリティ演算と、垂直方向に並ぶビット群毎のパリティ演算を実施する必要がある。このため、エラーを検出するための演算回路の規模および演算回数は増加し、エラーの検出時間、訂正時間は長くなる。
【０００４】
本発明の目的は、エラーを検出するための演算回路の規模を小さくし、最小限の面積の増加で、不良の救済効率を向上することである。また、エラーの検出時間、訂正時間を短くすることである。
【課題を解決するための手段】
【０００５】
半導体メモリは、複数のレギュラーメモリセルを有する複数のメモリブロックと、第１パリティコードを保持する第１パリティメモリセルを有する複数の第１パリティブロックと、第２パリティコードを保持する第２パリティメモリセルを有する第２パリティブロックとを有する。第１パリティブロックは、メモリブロックに対応して設けられる。第２パリティコードを構成する各パリティビットは、一度にアクセスされる第１パリティコードの全ビットに共通である。パリティエラー訂正部は、第１パリティメモリセルに保持された第１パリティコードのエラーを、第２パリティメモリセルに保持された第２パリティコードを用いて訂正する。データエラー訂正部は、レギュラーメモリセルに保持されたデータのエラーを、パリティエラー訂正部により訂正された第１パリティコードを用いて訂正する。
【０００６】
例えば、メモリブロック、第１および第２パリティブロック、パリティエラー訂正部およびデータエラー訂正部は、１チップで構成される。あるいは、メモリブロックは、それぞれ１チップで構成され、第１および第２パリティブロックは、１チップで構成され、パリティエラー訂正部およびデータエラー訂正部は、１チップで構成される。
【０００７】
本発明の一形態における好ましい例では、半導体メモリは、メモリブロックと第１および第２パリティブロックとに共通な複数のワード線を有する。パリティエラー訂正部は、読み出し要求に応じて選択される１つのワード線に接続された第１パリティメモリセルから読み出される第１パリティコードを、１つのワード線に接続された第２パリティメモリセルから読み出される第２パリティコードを用いて訂正する。データエラー訂正部は、１つのワード線に接続されたレギュラーメモリセルから読み出されるデータを、パリティエラー訂正部により訂正された第１パリティコードを用いて訂正する。
【０００８】
本発明の一形態における好ましい例では、パリティエラー訂正部は、第１パリティコードに２ビットエラーがあることを検出したときに、第１パリティメモリセルから読み出された第１パリティコードを訂正することなくデータエラー訂正部に出力する。データエラー訂正部は、第１パリティメモリセルから読み出された第１パリティコードを用いてレギュラーメモリセルから読み出されるデータを訂正する。
【発明の効果】
【０００９】
本発明では、第１パリティコードのエラーを第２パリティコードを用いて訂正できるため、第１パリティメモリセルの実効的な不良率を削減できる。レギュラーデータと、このレギュラーデータに対応する第１パリティコードとにそれぞれエラーがある場合にも、レギュラーデータのエラーを訂正できる。したがって、不良の救済効率を向上できる。また、第２パリティコードは、第１パリティコードに専用のパリティコードであり、複数の第１パリティコードの全ビットに共通のコードであるため、１回の演算で第２パリティコードを生成でき、１回の演算で第１パリティコードのエラーを検出できる。したがって、エラーを検出するための演算回路の規模を小さくでき、演算回数を最小限にできる。さらに、エラーの検出時間、訂正時間を短くできる。この結果、エラーを検出するための演算回路の規模を小さくし、最小限の面積の増加で、不良の救済効率を向上できる。
【００１０】
また、１つのワード線に接続されたメモリセルにレギュラーデータ、第１および第２パリティコードを保持することにより、１回のアクセス毎にレギュラーデータのエラーを訂正できる。この結果、パリティエラー訂正部およびデータエラー訂正部は、データを一時的に保持するバッファ回路等を持つ必要がない。すなわち、半導体メモリの面積の増加を最小限にして、不良の救済効率を向上できる。
【００１１】
さらに、第１パリティコードに２ビットエラーが発生したときに、１ビットエラーを有するレギュラーデータのエラーが訂正されないという不具合を防止できる。また、エラーのないレギュラーデータが訂正されることを防止できる。すなわち、半導体メモリの面積の増加を最小限にして、不良の救済効率を向上できる。
【発明を実施するための最良の形態】
【００１２】
以下、本発明の実施形態を図面を用いて説明する。図中の二重丸は、外部端子を示している。外部端子を介して供給される信号には、端子名と同じ符号を使用する。信号が伝達される信号線には、信号名と同じ符号を使用する。先頭に”／”の付く信号は、負論理を示している。
【００１３】
図１は、本発明の半導体メモリＭＥＭの第１の実施形態を示している。半導体メモリＭＥＭは、例えば、ＤＲＡＭコア（ＩＰ）である。メモリＭＥＭは、コマンドデコーダＣＭＤＤ、動作制御回路ＯＰＣ、アドレスバッファＡＤＢ、ワードデコーダＷＤＥＣ、コラムデコーダＣＤＥＣ、メモリコアＣＯＲＥおよびエラー訂正部ＥＣＣ等を有している。クロック信号は、図示していないが、本発明は、クロック同期式の半導体メモリと、クロック非同期式の半導体メモリの両方に適用可能である。
【００１４】
コマンドデコーダＣＭＤＤは、チップセレクト信号／ＣＳ、ロウアドレスストローブ信号／ＲＡＳ、コラムアドレスストローブ信号／ＣＡＤおよびライトイネーブル信号／ＷＥ等のコマンド信号ＣＭＤ（アクセス要求）を図示しないコマンドバッファで受ける。コマンドデコーダＣＭＤＤは、受けたコマンド信号ＣＭＤをデコードし、読み出し動作を実行するための読み出し制御信号ＲＤ、書き込み動作を実行するための書き込み制御信号ＷＲまたはリフレッシュ動作を実行するためのリフレッシュ制御信号ＲＥＦを出力する。動作制御回路ＯＰＣは、制御信号ＲＤ、ＷＲ、ＲＥＦに応じて、メモリコアＣＯＲＥおよび図示しないデータ入出力回路等に制御信号およびタイミング信号を出力する。データ入出力回路は、エラー訂正部ＥＣＣとデータ端子ＤＩＮ、ＤＯＵＴの間に配置される。
【００１５】
アドレスバッファＡＤＢは、アドレス信号ＡＤを受け、受けたアドレス信号ＡＤをワードデコーダＷＤＥＣに出力する。ワードデコーダＷＤＥＣは、アドレス信号ＡＤ（ロウアドレス）をデコードし、ワード線ＷＬのいずれかを選択するためのワードデコード信号を出力する。コラムデコーダＣＤＥＣは、アドレス信号ＡＤ（コラムアドレス）をデコードし、ビット線対ＢＬ、／ＢＬの複数組を選択するためのコラムデコード信号を出力する。この実施形態では、メモリコアＣＯＲＥに入出力されるレギュラーデータのビット数が、データ端子ＤＩＮ（またはＤＯＵＴ）のビット数より多いため、コラムデコーダＣＤＥＣが配置される。なお、メモリコアＣＯＲＥに一度に入出力されるレギュラーデータのビット数が、データ端子ＤＩＮ（またはＤＯＵＴ）のビット数に等しい場合、コラムデコーダＣＤＥＣは、配置しなくてもよい。
【００１６】
メモリコアＣＯＲＥは、レギュラーセルアレイＲＣＡ（メモリブロック）およびパリティセルアレイＰＣＡ１（第１パリティブロック）を各々有する４つのメモリグループＧＲＡ、ＧＲＢ、ＧＲＣ、ＧＲＤと、パリティセルアレイＰＣＡ２（第２パリティブロック）を有している。各セルアレイＲＣＡ、ＰＣＡ１−２は、図示しないセンスアンプおよびプリチャージ回路を有している。
【００１７】
各レギュラーセルアレイＲＣＡは、マトリックス状に配置された複数のダイナミックメモリセルＭＣ（レギュラーメモリセル）と、図の縦方向に並ぶメモリセルＭＣに接続された１２８組のビット線対ＢＬ、／ＢＬを有する。各メモリセルＭＣは、データを電荷として保持するためのキャパシタと、このキャパシタに一端をビット線ＢＬ（または／ＢＬ）に接続するための転送トランジスタとを有している。キャパシタの他端は、プリチャージ電圧線あるいは内部電源線に接続されている。各レギュラーセルアレイＲＣＡにおいて、図の横方向に並ぶ１２８個のメモリセルＭＣは、転送トランジスタのゲートを、セルアレイＲＣＡ、ＰＣＡ１、ＰＣＡ２に共通のワード線ＷＬに接続している。レギュラーセルアレイＲＣＡのメモリセルＭＣは、データ入力端子ＤＩＮに供給されるレギュラーデータＤＴを記憶する。すなわち、各レギュラーセルアレイＲＣＡは、一度の読み出し動作で、１２８ビットのレギュラーデータＤＴを出力し、一度の書き込み動作で、１２８ビットのレギュラーデータＤＴを入力する。
【００１８】
パリティセルアレイＰＣＡ１、ＰＣＡ２は、ビット線対ＢＬ、／ＢＬの数が異なることを除き、レギュラーセルアレイＲＣＡと同じ構造を有している。すなわち、各パリティセルアレイＰＣＡ１は、マトリックス状に配置された複数のダイナミックメモリセルＭＣ（第１パリティメモリセル）と、８組のビット線対ＢＬ、／ＢＬを有する。パリティセルアレイＰＣＡ２は、マトリックス状に配置された複数のダイナミックメモリセルＭＣ（第２パリティメモリセル）と、６組のビット線対ＢＬ、／ＢＬを有する。
【００１９】
各パリティセルアレイＰＣＡ１において、図の横方向に並ぶ８個のメモリセルＭＣは、転送トランジスタのゲートを、セルアレイＲＣＡ、ＰＣＡ１、ＰＣＡ２に共通のワード線ＷＬに接続している。パリティセルアレイＰＣＡ１のメモリセルＭＣは、レギュラーメモリセルＭＣのエラーを訂正するための第１パリティコードＰＣ１を記憶する。パリティセルアレイＰＣＡ１は、一度の読み出し動作で８ビットの第１パリティコードＰＣ１を出力し、一度の書き込み動作で８ビットの第１パリティコードＰＣ１を入力する。
【００２０】
パリティセルアレイＰＣＡ２において、図の横方向に並ぶ６個のメモリセルＭＣは、転送トランジスタのゲートを、セルアレイＲＣＡ、ＰＣＡ１、ＰＣＡ２に共通のワード線ＷＬに接続している。パリティセルアレイＰＣＡ２のメモリセルＭＣは、パリティセルアレイＰＣＡ１のメモリセルＭＣ（第１パリティメモリセル）に保持された第１パリティコードのエラーを訂正するために、一度にアクセスされる第１パリティコードＰＣ１の全ビットに共通のパリティビット（６ビット）で構成される第２パリティコードＰＣ２を保持する。パリティセルアレイＰＣＡ２は、一度の読み出し動作で、６ビットの第２パリティコードＰＣ２を出力し、一度の書き込み動作で、６ビットの第２パリティコードＰＣ２を入力する。
【００２１】
エラー訂正部ＥＣＣは、４つのパリティセルアレイＰＣＡ１に共通のパリティエラー訂正部ＰＥＣＣと、メモリグループＧＲＡ、ＧＲＢ、ＧＲＣ、ＧＲＤにそれぞれ対応する４つのデータエラー訂正部ＤＥＣＣを有している。パリティエラー訂正部ＰＥＣＣおよびデータエラー訂正部ＤＥＣＣは、例えば、論理回路（ハードウエア）で構成される。
【００２２】
パリティエラー訂正部ＰＥＣＣは、メモリＭＥＭの書き込み動作時に、データエラー訂正部ＤＥＣＣにより生成された第１パリティコードＰＣ１を用いて、第１パリティコードＰＣ１を訂正するための第２パリティコードＰＣ２を１回の演算で生成する。第２パリティコードＰＣ２は、第１パリティコードＰＣ１に専用のコードであり、レギュラーデータＤＴの論理を含まない。パリティエラー訂正部ＰＥＣＣは、メモリＭＥＭの読み出し動作時に、第１パリティメモリセルＭＣに保持された第１パリティコードＰＣ１のエラーを、第２パリティメモリセルＭＣに保持された第２パリティコードＰＣ２を用いて１回の演算で検出し、訂正する。
【００２３】
各データエラー訂正部ＤＥＣＣは、メモリＭＥＭの書き込み動作時に、データ入力端子ＤＩＮで受けた書き込みデータ（レギュラーデータＤＴ）を用いて、レギュラーデータＤＴを訂正するための第１パリティコードＰＣ１を生成する。各データエラー訂正部ＤＥＣＣは、メモリＭＥＭの読み出し動作時に、レギュラーメモリセルＭＣから読み出されるレギュラーデータＤＴのエラーを、パリティエラー訂正回路ＰＥＣＣにより訂正された第１パリティコードＰＣ１を用いて検出し、訂正する。
【００２４】
図に示したように、セルアレイＲＣＡ、ＰＣＡ１−２、パリティエラー訂正部ＰＥＣＣおよびデータエラー訂正部ＤＥＣＣは、１チップで構成される。パリティエラー訂正部ＰＥＣＣおよびデータエラー訂正部ＤＥＣＣは、例えば、ハミング符号を用いてエラー検出およびエラー訂正を行う。
【００２５】
この実施形態のメモリＭＥＭは、図２に示すように、ＳｏＣ（System on Chip）として形成される。メモリＭＥＭは、不良のメモリセル等を救済するための冗長回路（冗長メモリセル、冗長ワード線および冗長ビット線）と、冗長回路を使用可能にするための冗長ヒューズ回路、冗長制御回路を持たない。このため、メモリセルＭＣのビット不良等は、エラー訂正部ＥＣＣにより救済される。なお、メモリＭＥＭに冗長回路および冗長ヒューズ回路等を形成し、メモリセルＭＣのビット不良等を冗長回路とエラー訂正部ＥＣＣにより救済してもよい。
【００２６】
図２は、図１に示したメモリＭＥＭが搭載されるシステムＳＹＳを示している。システムＳＹＳは、例えば、携帯電話等の携帯機器である。システムＳＹＳは、システムボードＳＢＲＤに搭載され、システムバスＳＢＵＳで互いに接続された複数の半導体チップＣＨＩＰ、ＳｏＣおよび外部インタフェース部Ｉ／Ｏと、システムボードＳＢＲＤの外部インタフェース部Ｉ／Ｏに接続される周辺デバイスＤＥＶとを有している。例えば、半導体チップＣＨＩＰは、ＣＰＵ、ＤＭＡＣ、画像処理コントローラ等である。例えば、周辺デバイスＤＥＶは、液晶ディスプレイ、スピーカー、入力デバイス等である。なお、システムボードＳＢＲＤ上には、ＣＰＵにより実行されるプログラムを格納するフラッシュメモリ等の不揮発性半導体メモリが搭載される。
【００２７】
半導体チップＳｏＣは、図１に示したメモリＭＥＭと、メモリＭＥＭのアクセス動作を制御するコントローラＣＴＲＬを有している。コントローラＣＴＲＬは、１回の読み出しアクセスで５１２ビットのデータをメモリＭＥＭから受け、１回の書き込みアクセスで５１２ビットのデータをメモリＭＥＭに書き込む。
【００２８】
図３は、第１の実施形態のアクセス動作を示している。図３のフローは、メモリＭＥＭの内部動作を示している。まず、ステップＳ１０において、メモリＭＥＭは、コマンド端子ＣＭＤに供給されるアクセス要求が、読み出し要求ＲＤか書き込み要求ＷＲかを判断する。読み出し要求ＲＤの場合、ステップＳ１２において、アドレス信号ＡＤに応じたワード線ＷＬが選択され、選択されたワード線ＷＬに接続されたレギュラーメモリセル、第１および第２パリティメモリセルからデータが読み出される。すなわち、メモリコアＣＯＲＥの読み出し動作が実行され、共通のワード線ＷＬに接続されたレギュラーセルアレイＲＣＡ、パリティセルアレイＰＣＡ１、ＰＣＡ２から５１２ビットのレギュラーデータＤＴ、３２ビットの第１パリティコードＰＣ１および６ビットの第２パリティコードＰＣ２が読み出される。
【００２９】
次に、ステップＳ１４において、パリティエラー訂正部ＰＥＣＣは、第２パリティコードＰＣ２に基づいて、第１パリティコードＰＣ１のエラーを検出し、訂正する。第１パリティコードＰＣ１にエラーがない場合、エラー訂正は行われない。ステップＳ１６において、データエラー訂正部ＤＥＣＣは、訂正された第１パリティコードＰＣ１に基づいて、レギュラーデータＤＴのエラーを検出し、訂正する。なお、ステップＳ１４でエラーが検出されない場合、パリティセルアレイＰＣＡ１から読み出された第１パリティコードＰＣ１を用いてレギュラーデータＤＴのエラーが検出され、訂正される。
【００３０】
そして、ステップＳ１８において、エラーが訂正されたレギュラーデータＤＴがデータ出力端子ＤＯＵＴからメモリＭＥＭの外部に出力される。１つのワード線ＷＬに接続されたメモリセルにレギュラーデータＤＴ、第１および第２パリティコードＰＣ１−２を保持することにより、１回のアクセス毎にレギュラーデータＤＴのエラーを訂正できる。この結果、パリティエラー訂正部ＰＥＣＣおよびデータエラー訂正部ＤＥＣＣは、データを一時的に保持するバッファ回路等を持つ必要がない。すなわち、メモリＭＥＭの面積の増加を最小限にして、不良の救済効率を向上できる。
【００３１】
一方、書き込み要求ＷＲの場合、ステップＳ２０において、データ入出力回路は、データ入力端子ＤＩＮに供給される書き込みデータＤＴ（レギュラーデータ）を受信する。次に、ステップＳ２２において、データエラー訂正部ＤＥＣＣは、レギュラーデータＤＴを用いて第１パリティコードＰＣ１を生成する。次にステップＳ２４において、パリティエラー訂正部ＰＥＣＣは、データエラー訂正部ＤＥＣＣにより生成された第１パリティコードＰＣ１を用いて第２パリティコードＰＣ２を生成する。そして、ステップＳ２６において、レギュラーデータＤＴ、第１および第２パリティコードＰＣ１−２は、アドレス信号ＡＤに応じて選択されたワード線ＷＬに接続されたレギュラーメモリセル、第１および第２パリティメモリセルに書き込まれる。すなわち、メモリコアＣＯＲＥの書き込み動作が実行され、５１２ビットのレギュラーデータＤＴ、３２ビットの第１パリティコードＰＣ１および６ビットの第２パリティコードＰＣ２が、レギュラーセルアレイＲＣＡ、パリティセルアレイＰＣＡ１、ＰＣＡ２に書き込まれる。
【００３２】
本発明では、書き込み動作時に、４つのデータエラー訂正部ＤＥＣＣと１つのパリティエラー訂正部ＰＥＣＣがそれぞれ動作することで、パリティコードＰＣ１−２の生成される。読み出し動作時に、４つのデータエラー訂正部ＤＥＣＣと１つのパリティエラー訂正部ＰＥＣＣがそれぞれ動作することで、パリティコードＰＣ１およびレギュラーデータＤＴのエラーが検出、訂正される。換言すれば、エラー訂正部ＤＥＣＣ、ＰＥＣＣが４回の演算を実施することで、パリティコードＰＣ１−２の生成され、あるいは、パリティコードＰＣ１およびレギュラーデータＤＴのエラーが検出、訂正される。このように、本発明では、エラーを検出するための演算回路の規模は小さく、演算回数は最小限で済む。演算回数が少ないため、エラーの検出時間、訂正時間を短い。特に、パリティエラー訂正部ＰＥＣＣで扱うコードのビット数は、３８ビットであるため、その回路規模は小さい。
【００３３】
なお、リフレッシュ動作では、例えば、読み出し動作のフローのうちステップＳ１８を除くステップＳ１２−Ｓ１６が実施される。そして、訂正されたレギュラーデータＤＴおよび第１パリティコードＰＣ１は、メモリセルＭＣに再書き込みされる。なお、リフレッシュ動作では、パリティエラー訂正部ＰＥＣＣおよびデータエラー訂正部ＤＥＣＣを動作させず、メモリコアＣＯＲＥのリフレッシュ動作のみを実施してもよい。
【００３４】
図４は、第１の実施形態のエラー訂正動作を示している。図１に示した各データエラー訂正部ＤＥＣＣは、各メモリグループＧＲＡ、ＧＲＢ、ＧＲＣ、ＧＲＤ毎に、８ビットの第１パリティコードＰＣ１を用いて、レギュラーデータＤＴ（１２８ビット）の１ビットのエラーを訂正可能である。
【００３５】
メモリグループＧＲＡ−ＧＲＤ内の横線は、共通のワード線ＷＬを示している。横線上に示した記号Ｘ１は、ワード線ＷＬに接続されたレギュラーメモリセルに発生した１ビットエラーを示す。記号Ｘ２は、ワード線ＷＬに接続された第１パリティメモリセルに発生した１ビットエラーを示す。メモリグループＧＲＡ内に２ビットエラーが発生した場合、データエラー訂正部ＤＥＣＣは、１ビットエラーＸ１を訂正できない。しかしながら、メモリグループＧＲＡ−ＧＲＤの第１パリティコードＰＣ１の１ビットエラー（Ｘ２）は、パリティエラー訂正部ＰＥＣＣにより訂正可能である。したがって、データエラー訂正部ＤＥＣＣは、訂正された第１パリティコードＰＣ１を用いて、メモリグループＧＲＡのレギュラーセルアレイＲＣＡの１ビットエラーＸ１を訂正できる。
【００３６】
以上、第１の実施形態では、メモリＭＥＭは、第１パリティコードＰＣ１のエラーを訂正するための専用の第２パリティコードＰＣ２を保持するパリティセルアレイＰＣＡ２を有する。これにより、第１パリティコードＰＣ１のエラーを第２パリティコードＰＣ２を用いて訂正でき、第１パリティメモリセルＭＣの実効的な不良率を削減できる。すなわち、メモリＭＥＭの不良の救済効率を向上できる。具体的には、レギュラーデータと、このレギュラーデータに対応する第１パリティコードとにそれぞれエラーがある場合にも、レギュラーデータのエラーを訂正できる。
【００３７】
第２パリティコードＰＣ２は、第１パリティコードＰＣ１に専用のコードであり、４つの第１パリティコードＰＣ１の全ビットに共通のコードである。このため、１回の演算で第２パリティコードＰＣ２を生成でき、１回の演算で第１パリティコードＰＣ１のエラーを検出できる。したがって、エラーを検出するための演算回路の規模を小さくでき、演算回数を最小限にできる。演算回数が少ないため、エラーの検出時間、訂正時間を短くできる。この結果、エラーを検出するための演算回路の規模を小さくし、最小限の面積の増加で、不良の救済効率を向上できる。
【００３８】
図５は、本発明の半導体メモリＭＥＭの第２の実施形態を示している。第１の実施形態で説明した要素と同一の要素については、同一の符号を付し、これ等については、詳細な説明を省略する。この実施形態では、パリティセルアレイＰＣＡ２が７ビットで構成されている。すなわち、パリティセルアレイＰＣＡ２内において、７つの第２パリティメモリセルが、共通のワード線ＷＬに接続される。その他の構成は、パリティエラー訂正部ＰＥＣＣの論理が異なることを除き、第１の実施形態と同じである。パリティエラー訂正部ＰＥＣＣは、拡張ハミング符号を用いてエラー検出およびエラー訂正を行う。これにより、３２ビットの第１パリティコードＰＣ１の２ビットのエラーを検出でき、１ビットのエラーを訂正できる。
【００３９】
図６は、第２の実施形態のアクセス動作を示している。図３のフローは、メモリＭＥＭの内部動作を示している。第１の実施形態（図３）と同じフローについては、同じ符号を付し、詳細な説明を省略する。この実施形態では、図３のステップＳ１４の代わりにステップＳ３０、Ｓ３２、Ｓ３４が追加されている。その他のフローは、図３と同じである。
【００４０】
まず、ステップＳ３０において、パリティエラー訂正部ＰＥＣＣは、第２パリティコードＰＣ２に基づいて、第１パリティコードＰＣ１のエラーを検出する。次に、ステップＳ３２において、エラー訂正部ＥＣＣは、パリティエラー訂正部ＰＥＣＣにより２ビットエラーが検出されたか否かを判断する。２ビットエラーが検出された場合、処理は、ステップＳ１６に移行する。２ビットエラーが検出されない場合、すなわち、１ビットエラーが検出された場合、ステップＳ３４において、パリティエラー訂正部ＰＥＣＣは、第２パリティコードＰＣ２に基づいて、第１パリティコードＰＣ１の１ビットエラーを訂正する。なお、ステップＳ３０でエラーが検出されない場合、ステップＳ１６において、パリティセルアレイＰＣＡ１から読み出された第１パリティコードＰＣ１を用いてレギュラーデータＤＴのエラーが検出され、訂正される。
【００４１】
図７は、第２の実施形態のエラー訂正動作を示している。第１の実施形態（図４）と同じ動作については、詳細な説明を省略する。この例では、メモリグループＧＲＣのレギュラーデータＤＴに１ビットエラーＸ１が発生する。また、メモリグループＧＲＡおよびＧＲＢの第１パリティコードＰＣ１に１ビットエラーＸ２、Ｘ３がそれぞれ発生する。パリティエラー訂正部ＰＥＣＣは、第１パリティコードＰＣ１の２ビットエラーを検出したときに、エラーの訂正を実施せず、パリティセルアレイＰＣＡ１から読み出した第１パリティコードＰＣ１をデータエラー訂正部ＤＥＣＣに出力する。エラーＸ１は、メモリグループＧＲＣに対応するデータエラー訂正部ＤＥＣＣにより訂正される。そして、メモリグループＧＲＡ−ＧＲＤに対応する読み出しデータがデータ出力端子ＤＯＵＴから出力される。
【００４２】
これに対して、拡大ハミング符号が採用されない場合、パリティエラー訂正部ＰＥＣＣは、２ビットエラーを検出できない。このとき、例えば、パリティエラー訂正部ＰＥＣＣは、正常でないエラー訂正を実施し、メモリグループＧＲＣの第１パリティコードＰＣ１のビットＸ４にエラーがあると検出する。このとき、ビットＸ４の論理が反転されるため、ビットＸ１のエラーは訂正できない。
【００４３】
以上、第２の実施形態においても、上述した第１の実施形態と同様の効果を得ることができる。さらに、この実施形態では、第１パリティコードＰＣ１の２ビットエラーを検出可能な第２パリティコードＰＣ２を用いる。これにより、第１パリティコードＰＣ１に２ビットエラーが発生したときにも、レギュラーデータＤＴの１ビットエラーが訂正できなくなることを防止できる。また、エラーのないレギュラーデータＤＴが、第１パリティコードＰＣ１の２ビットエラーによって訂正されることを防止できる。第２パリティコードＰＣ２を１ビット増やすことで、第１パリティコードＰＣ１の２ビットエラーを検出できるため、メモリコアＣＯＲＥの面積の増加を最小限に抑えて不良の救済効率を向上できる。
【００４４】
図８は、本発明の第３の実施形態を示している。第１の実施形態で説明した要素と同一の要素については、同一の符号を付し、これ等については、詳細な説明を省略する。この実施形態では、システムＳＹＳは、５個の半導体メモリＭＥＭと、半導体メモリＭＥＭの動作を制御するメモリコントローラＭＣＮＴとを有している。例えば、メモリＭＥＭは、ＤＲＡＭチップである。メモリＭＥＭは、互いに同一のチップであり、互いに同じ記憶容量を有し、３２ビットのデータ端子をそれぞれ有している。４つのメモリＭＥＭは、１回の書き込み動作で、３２ビットのレギュラーデータＤＴをそれぞれ記憶する。残りの１つのメモリＭＥＭは、１回の書き込み動作で、各レギュラーデータＤＴのエラーを訂正するための第１パリティコードＰＣ１（８ビット）と、４つの第１パリティコードＰＣ１のエラーを訂正するための第２パリティコードＰＣ２（６ビット）とを記憶する。パリティコードＰＣ１、ＰＣ２を記憶するメモリＭＥＭは、２ビットのリザーブ領域を有する。このように、この実施形態は、レギュラーデータＤＴを保持する複数のメモリブロックは、それぞれ１チップで構成され、第１および第２パリティコードＰＣ１−２を保持する第１および第２パリティブロックは、１チップで構成される。
【００４５】
メモリコントローラＭＣＮＴは、１チップで構成され、４つのパリティセルアレイＰＣＡ１に共通のパリティエラー訂正部ＰＥＣＣと、レギュラーデータＤＴを保持する４つのメモリＭＥＭにそれぞれ対応する４つのデータエラー訂正部ＤＥＣＣを有している。パリティエラー訂正部ＰＥＣＣおよびデータエラー訂正部ＤＥＣＣの機能は、処理するビット数が異なることを除き、第１の実施形態のパリティエラー訂正部ＰＥＣＣおよびデータエラー訂正部ＤＥＣＣと同じである。すなわち、パリティエラー訂正部ＰＥＣＣおよびデータエラー訂正部ＤＥＣＣは、論理回路（ハードウエア）で構成される。なお、エラー検出とエラー訂正に、時間的な余裕がある場合、パリティエラー訂正部ＰＥＣＣおよびデータエラー訂正部ＤＥＣＣは、ソフトウエアで実現されてもよい。メモリコントローラＭＣＮＴは、一度の読み出し動作で、１２８ビットのレギュラーデータＤＴを出力し、一度の書き込み動作で、１２８ビットのレギュラーデータＤＴを入力する。
【００４６】
図９は、図８に示したメモリＭＥＭおよびメモリコントローラＭＣＮＴが搭載されるシステムＳＹＳを示している。第１の実施形態（図２）と同じ構成については、詳細な説明を省略する。システムＳＹＳは、例えば、デジタルカメラ等の携帯機器である。システムＳＹＳは、システムボードＳＢＲＤに搭載され、システムバスＳＢＵＳで互いに接続されたコントローラチップＣＴＲＬ、複数の半導体チップＣＨＩＰ、メモリコントローラチップＭＣＮＴ、５つのメモリチップＭＥＭおよび外部インタフェース部Ｉ／Ｏと、システムボードＳＢＲＤの外部インタフェース部Ｉ／Ｏに接続される周辺デバイスＤＥＶを有している。例えば、コントローラチップＣＴＲＬは、ＣＰＵであり、半導体チップＣＨＩＰは、ＤＭＡＣ、画像処理コントローラ等である。例えば、周辺デバイスＤＥＶは、液晶ディスプレイ、スピーカー、入力デバイス等である。なお、システムボードＳＢＲＤ上には、ＣＰＵにより実行されるプログラムを格納するフラッシュメモリ等の不揮発性半導体メモリが搭載される。
【００４７】
メモリコントローラＭＣＮＴは、システムバスＳＢＵＳを介してコントローラＣＴＲＬから読み出し要求を受けてメモリＭＥＭを読み出しアクセスし、読み出し動作毎に１２８ビットのレギュラーデータを４つのメモリＭＥＭから受ける。メモリコントローラＭＣＮＴは、システムバスＳＢＵＳを介してコントローラＣＴＲＬから書き込み要求を受けてメモリＭＥＭを書き込みアクセスし、書き込み動作毎に１２８ビットのレギュラーデータをメモリＭＥＭに書き込む。メモリコントローラＭＣＮＴがシステムバスＳＢＵＳに入出力するデータの単位は、１２８ビットでもよく、３２ビットあるいは２５６ビットでもよい。
【００４８】
以上、第３の実施形態においても、上述した第１の実施形態と同様の効果を得ることができる。さらに、この実施形態では、システムＳＹＳが、複数のメモリＭＥＭを用いて構成される場合に、第１および第２パリティコードＰＣ１−２を１つのメモリＭＥＭにまとめて格納することにより、第１の実施形態と同様に、不良の救済効率を向上できる。特に、パリティコードＰＣ１−２を格納するメモリＭＥＭが、レギュラーデータＤＴを格納するメモリＭＥＭと同じであるため、システムボードＳＢＲＤのレイアウト設計およびタイミング設計を容易にできる。すなわち、設計コストを削減できる。なお、５つのメモリＭＥＭを、積層された複数のメモリチップで構成することで（マルチチップパッケージ）、システムボードＳＢＲＤの面積を小さくでき、システムコストを削減できる。
【００４９】
なお、上述した実施形態では、本発明をＤＲＡＭに適用する例について述べた。本発明はかかる実施形態に限定されるものではない。例えば、本発明を、ＦＣＲＡＭ（Fast Cycle RAM）、ＳＲＡＭまたは強誘電体メモリ等の半導体メモリに適用してもよい。ＦＣＲＡＭは、ＤＲＡＭのメモリセルを有し、ＳＲＡＭのインタフェースを有する擬似ＳＲＡＭである。ＦＣＲＡＭは、リフレッシュ動作を自動的に実行するためにリフレッシュタイマ、リフレッシュアドレスカウンタ、および外部アクセス要求ＲＤ、ＷＲと内部リフレッシュ要求との優先順を判定するアービタ等を有している。
【００５０】
以上の実施形態において説明した発明を整理して、付記として開示する。
（付記１）
複数のレギュラーメモリセルを有する複数のメモリブロックと、
前記メモリブロックに対応して設けられ、第１パリティコードを保持する第１パリティメモリセルを有する複数の第１パリティブロックと、
一度にアクセスされる第１パリティコードの全ビットに共通のパリティビットで構成される第２パリティコードを保持する第２パリティメモリセルを有する第２パリティブロックと、
前記第１パリティメモリセルに保持された第１パリティコードのエラーを、前記第２パリティメモリセルに保持された前記第２パリティコードを用いて訂正するパリティエラー訂正部と、
前記レギュラーメモリセルに保持されたデータのエラーを、前記パリティエラー訂正部により訂正された第１パリティコードを用いて訂正するデータエラー訂正部とを備えていることを特徴とする半導体メモリ。
（付記２）
付記１記載の半導体メモリにおいて、
前記メモリブロックと前記第１および第２パリティブロックとに共通な複数のワード線を備え、
前記パリティエラー訂正部は、読み出し要求に応じて選択される１つの前記ワード線に接続された第１パリティメモリセルから読み出される第１パリティコードを、前記１つのワード線に接続された第２パリティメモリセルから読み出される第２パリティコードを用いて訂正し、
前記データエラー訂正部は、前記１つのワード線に接続された前記レギュラーメモリセルから読み出されるデータを、前記パリティエラー訂正部により訂正された第１パリティコードを用いて訂正することを特徴とする半導体メモリ。
（付記３）
付記１記載の半導体メモリにおいて、
前記パリティエラー訂正部は、第１パリティコードに２ビットのエラーがあることを検出したときに、第１パリティメモリセルから読み出された第１パリティコードを訂正することなく前記データエラー訂正部に出力し、
前記データエラー訂正部は、前記第１パリティメモリセルから読み出された第１パリティコードを用いて前記レギュラーメモリセルから読み出されるデータを訂正することを特徴とする半導体メモリ。
（付記４）
付記１記載の半導体メモリにおいて、
前記データエラー訂正部は、書き込み要求に応答して外部端子に供給される書き込みデータから前記第１パリティメモリセルにそれぞれ書き込む第１パリティコードを生成し、
前記パリティエラー訂正部は、生成された第１パリティコードから前記第１パリティメモリセルに書き込む第２パリティコードを生成することを特徴とする半導体メモリ。
（付記５）
複数のレギュラーメモリセルを有する複数のメモリブロックと、前記メモリブロックに対応して設けられ、第１パリティコードを保持する第１パリティメモリセルを有する複数の第１パリティブロックと、第２パリティコードを保持する第２パリティメモリセルを有する第２パリティブロックとを備えた半導体メモリのエラー訂正方法であって、
前記第１パリティメモリセルに保持された第１パリティコードのエラーを、一度にアクセスされる第１パリティコードの全ビットに共通のパリティビットで構成され、前記第２パリティメモリセルに保持された前記第２パリティコードを用いて訂正し、
前記レギュラーメモリセルに保持されたデータのエラーを、訂正された第１パリティコードを用いて訂正することを特徴とする半導体メモリの動作方法。
（付記６）
付記５記載の半導体メモリの動作方法において、
読み出し要求に応じて前記メモリブロックと前記第１および第２パリティブロックとに共通な複数のワード線の１つを選択し、
選択されたワード線に接続された第１パリティメモリセルから読み出される第１パリティコードを、選択されたワード線に接続された第２パリティメモリセルから読み出される第２パリティコードを用いて訂正し、
選択されたワード線に接続された前記レギュラーメモリセルから読み出されるデータを、訂正された第１パリティコードを用いて訂正することを特徴とする半導体メモリの動作方法。
（付記７）
付記５記載の半導体メモリの動作方法において、
第１パリティコードに２ビットのエラーがあることを検出したときに、第１パリティメモリセルから読み出された第１パリティコードを訂正することなく、前記第１パリティメモリセルから読み出された第１パリティコードを用いて前記レギュラーメモリセルから読み出されるデータを訂正することを特徴とする半導体メモリの動作方法。
（付記８）
付記５記載の半導体メモリの動作方法において、
書き込み要求に応答して外部端子に供給される書き込みデータから前記第１パリティメモリセルにそれぞれ書き込む第１パリティコードコードを生成し、
生成された第１パリティコードから前記第１パリティメモリセルに書き込む第２パリティコードを生成することを特徴とする半導体メモリの動作方法。
（付記９）
半導体メモリと、前記半導体メモリのアクセスを制御するコントローラとを備えたシステムであって、
複数のレギュラーメモリセルを有する複数のメモリブロックと、
前記メモリブロックに対応して設けられ、第１パリティコードを保持する第１パリティメモリセルを有する複数の第１パリティブロックと、
一度にアクセスされる第１パリティコードの全ビットに共通のパリティビットで構成される第２パリティコードを保持する第２パリティメモリセルを有する第２パリティブロックと、
前記第１パリティメモリセルに保持された第１パリティコードのエラーを、前記第２パリティメモリセルに保持された前記第２パリティコードを用いて訂正するパリティエラー訂正部と、
前記レギュラーメモリセルに保持されたデータのエラーを、前記パリティエラー訂正部により訂正された第１パリティコードを用いて訂正するデータエラー訂正部とを備えていることを特徴とするシステム。
（付記１０）
付記９記載のシステムにおいて、
前記メモリブロック、前記第１および第２パリティブロック、前記パリティエラー訂正部および前記データエラー訂正部は、１チップで構成されることを特徴とするシステム。
（付記１１）
付記９記載のシステムにおいて、
前記メモリブロックは、それぞれ１チップで構成され、
前記第１および第２パリティブロックは、１チップで構成され、
前記パリティエラー訂正部および前記データエラー訂正部は、１チップで構成されることを特徴とするシステム。
（付記１２）
付記９記載のシステムにおいて、
前記メモリブロックを構成する各チップと、前記第１および第２パリティブロックを構成するチップは、記憶容量が互いに同じで、データ端子の数が互いに同じであることを特徴とするシステム。
【００５１】
以上、本発明について詳細に説明してきたが、上記の実施形態およびその変形例は発明の一例に過ぎず、本発明はこれに限定されるものではない。本発明を逸脱しない範囲で変形可能であることは明らかである。
【産業上の利用可能性】
【００５２】
本発明は、エラー訂正機能を有する半導体メモリおよびシステムに適用可能である。
【図面の簡単な説明】
【００５３】
【図１】本発明の半導体メモリの第１の実施形態を示すブロック図である。
【図２】図１に示したメモリが搭載されるシステムを示すブロック図である。
【図３】第１の実施形態のアクセス動作を示すフロー図である。
【図４】第１の実施形態のエラー訂正動作を示す説明図である。
【図５】本発明の半導体メモリの第２の実施形態を示すブロック図である。
【図６】第２の実施形態のアクセス動作を示すフロー図である。
【図７】第２の実施形態のエラー訂正動作を示す説明図である。
【図８】本発明の第３の実施形態を示すブロック図である。
【図９】図８に示したメモリおよびメモリコントローラが搭載されるシステムを示すブロック図である。
【符号の説明】
【００５４】
ＡＤＢ‥アドレスバッファ；ＣＭＤＤ‥コマンドデコーダ；ＣＯＲＥ‥メモリコア；ＤＥＣＣ‥データエラー訂正部；ＥＣＣ‥エラー訂正部；ＧＲＡ、ＧＲＢ、ＧＲＣ、ＧＲＤ‥メモリグループ；ＭＥＭ‥メモリ；ＯＰＣ‥動作制御回路；ＰＣＡ１‥パリティセルアレイ（第１パリティブロック）；ＰＣＡ２‥パリティセルアレイ（第２パリティブロック）ＰＥＣＣ‥パリティエラー訂正部；ＲＣＡ‥レギュラーセルアレイ（メモリブロック）；ＷＤＥＣ‥ワードデコーダ
【図１】
2008299922.tif 000003
【図２】
2008299922.tif 000004
【図３】
2008299922.tif 000005
【図４】
2008299922.tif 000006
【図５】
2008299922.tif 000007
【図６】
2008299922.tif 000008
【図７】
2008299922.tif 000009
【図８】
2008299922.tif 000010
【図９】
2008299922.tif 000011