(57)【要約】【課題】  パリティ生成回路を最適にレイアウトし、半導体メモリの開発期間および不良解析期間を削減する。【解決手段】  パリティセルアレイの両側に、第１レギュラーセルアレイおよびこの第１レギュラーセルアレイに対応するサブパリティ生成回路と、第２レギュラーセルアレイおよびこの第２レギュラーセルアレイに対応するサブパリティ生成回路とが配置される。サブパリティ生成回路は、第１および第２レギュラーセルアレイから同時に読み出される読み出しデータに応じてサブパリティデータをそれぞれ生成する。サブパリティデータに応じてレギュラーセルアレイに共通のパリティデータを生成するメインパリティ生成回路は、分散配置されることなく、パリティセルアレイに対応して配置される。このため、レイアウト設計およびレイアウト検証等が煩雑になることを防止できる。【選択図】    図２
2006179056.tif 000002
【特許請求の範囲】
【請求項１】
パリティデータが書き込まれるパリティセルアレイと、
前記パリティセルアレイに対して一方の側に配置され、複数ビットの書き込みデータが書き込まれる複数の第１レギュラーセルアレイと、
前記パリティセルアレイに対して他方の側に配置され、複数ビットの書き込みデータが書き込まれる複数の第２レギュラーセルアレイと、
前記第１レギュラーセルアレイにデータを入出力するために、前記一方の側に配置される複数の第１外部データ端子と、
前記第２レギュラーセルアレイにデータを入出力するために、前記他方の側に配置される複数の第２外部データ端子と、
データを読み書きするメモリセルを選択するためのアドレスを受けるアドレス端子と、
前記第１および第２レギュラーセルアレイに対応して配置され、前記第１および第２レギュラーセルアレイから同時に読み出される読み出しデータに応じてサブパリティデータをそれぞれ生成する複数のサブパリティ生成回路と、
前記パリティセルアレイに対応して配置され、前記サブパリティデータに応じて前記第１および第２レギュラーセルアレイに共通の前記パリティデータを生成するメインパリティ生成回路と、
前記パリティセルアレイから読み出されるパリティデータと前記メインパリティ生成回路により生成されるパリティデータとに応じてシンドロームを生成するシンドローム生成回路と、
前記第１および第２レギュラーセルアレイからの読み出しデータを、前記シンドロームに応じて訂正する読み出し誤り訂正回路とを備え、
前記各第１および第２レギュラーセルアレイのデータのビット幅は、前記第１および第２外部データ端子のビット幅に等しく、
前記第１外部データ端子に供給されるデータは、前記アドレスに応じて前記第１レギュラーセルアレイのいずれかに書き込まれ、
前記第２外部データ端子に供給されるデータは、前記アドレスに応じて前記第２レギュラーセルアレイのいずれかに書き込まれることを特徴とする半導体メモリ。
【請求項２】
請求項１記載の半導体メモリにおいて、
共通なアドレスが割り当てられた第１および第２レギュラーセルアレイによりレギュラーセルアレイ対が構成され、
前記レギュラーセルアレイ対に入出力されるデータを構成するビットにそれぞれ対応して、複数ビットで構成されるシンドローム値が割り当てられ、
前記シンドローム値のうち所定数のビットで構成される第１サブシンドローム値は、前記レギュラーセルアレイ対において、対応する外部データ端子毎に互いに等しく、残りのビットで構成される第２サブシンドローム値は、前記レギュラーセルアレイ対毎に等しく、
前記サブパリティ生成回路および前記メインパリティ生成回路の論理は、前記シンドローム値の割り当てに従って構成されていることを特徴とする半導体メモリ。
【請求項３】
請求項１記載の半導体メモリにおいて、
前記第１および第２レギュラーセルアレイから読み出される読み出しデータの中から前記第１および第２外部データ端子に出力するデータをアドレスに応じて選択する読み出しデータ選択回路を備え、
前記読み出し誤り訂正回路は、前記データ選択回路により選択された読み出しデータのみを誤り訂正することを特徴とする半導体メモリ。
【請求項４】
請求項３記載の半導体メモリにおいて、
前記シンドロームと前記アドレスとに応じて、誤りが発生したビットデータに対応する前記第１または第２外部データ端子を特定する読み出しシンドロームデコーダを備え、
前記読み出し誤り訂正回路は、前記読み出しシンドロームデコーダにより特定されたデータ端子に対応するビットデータを誤り訂正するために反転する反転回路を備えていることを特徴とする半導体メモリ。
【請求項５】
請求項１記載の半導体メモリにおいて、
前記第１および第２レギュラーセルアレイと前記サブパリティ生成回路との間にそれぞれ配置され、書き込み要求に応答して前記第１および第２レギュラーメモリセルから読み出される読み出しデータを誤り訂正し、訂正したデータを前記第１および第２外部データ端子に供給される書き込みデータとともに前記サブパリティ生成回路に出力するとともに、読み出し要求に応答して前記第１および第２レギュラーセルアレイから読み出される読み出しデータを前記サブパリティ生成回路にそのまま出力する書き込み誤り訂正回路を備え、
前記サブパリティ生成回路および前記メインパリティ生成回路は、前記第１および第２レギュラーセルアレイに書き込まれるデータのパリティデータだけでなく、前記第１および第２レギュラーセルアレイから読み出されるデータのパリティデータを生成することを特徴とする半導体メモリ。
【請求項６】
請求項５記載の半導体メモリにおいて、
前記書き込み要求に応答して前記第１および第２レギュラーメモリセルから読み出される読み出しデータにより生成されるシンドロームに応じて、誤りが発生したビットを特定する書き込みシンドロームデコーダを備え、
前記書き込み誤り訂正回路は、前記読み出しデータにおける前記書き込みシンドロームデコーダにより特定されたビットデータを反転する反転回路を備えていることを特徴とする半導体メモリ。
【請求項７】
請求項６記載の半導体メモリにおいて、
前記書き込み誤り訂正回路は、前記書き込みシンドロームデコーダにより特定されたビットデータを含む読み出しデータを保持するラッチ回路を備えていることを特徴とする半導体メモリ。
【請求項８】
請求項１記載の半導体メモリにおいて、
前記パリティセルアレイ、前記第１および第２レギュラーセルアレイ、前記サブパリティ生成回路、前記メインパリティ生成回路、前記シンドローム生成回路および前記読み出し誤り訂正回路を有する一対のメモリユニットを備え、
前記各メモリユニットの前記メインパリティ生成回路は、
前記サブパリティデータを保持するサブパリティ保持回路と、
前記サブパリティ保持回路に保持されているサブパリティデータと、前記サブパリティ生成回路により新たに生成されるサブパリティデータとの違いを示す差分パリティデータを生成するサブパリティ演算回路と、
前記パリティデータを保持するメインパリティ保持回路と、
前記メインパリティ保持回路に保持されているパリティデータと、前記差分パリティデータとを演算し、新たなパリティデータを生成するメインパリティ演算回路とを備えていることを特徴とする半導体メモリ。
【請求項９】
請求項８記載の半導体メモリにおいて、
共通なアドレスが割り当てられた第１および第２レギュラーセルアレイによりレギュラーセルアレイ対が構成され、
半導体メモリは、前記第１および第２外部データ端子に連続して所定の回数だけ供給さ
れる書き込みデータを直列並列変換し、前記メモリユニットの全ての前記レギュラーセルアレイ対に書き込むバースト書き込み機能を有し、受信した書き込みデータを前記メモリユニット単位で書き込み、
前記サブパリティ演算回路および前記メインパリティ演算回路は、前記バースト書き込み動作において、前記各メモリユニットにおいてデータが書き込まれるレギュラーセルアレイ対が１つだけのときのみに動作し、
前記サブパリティ保持回路および前記サブパリティ演算回路は、この１つのレギュラーセルアレイ対のみに対応して形成されていることを特徴とする半導体メモリ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、誤り訂正機能を有する半導体メモリに関する。
【背景技術】
【０００２】
誤り訂正機能を有する半導体メモリにおいて、メモリブロック毎に読み出しデータのサブパリティデータを生成し、生成したサブパリティデータを順次統合してパリティデータを生成することにより、サブパリティデータが伝達される信号線の数を削減する技術が提案されている（例えば、特許文献１）。
【特許文献１】特開昭６２−１１９８００号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
本発明は、以下の問題点を解決するためになされた。
【０００４】
サブパリティデータを順次統合してパリティデータを生成する場合、サブパリティデータを統合するための複数のパリティ生成回路（パリティ検査回路）を分散して配置する必要がある。このため、レイアウト設計およびレイアウト検証等が煩雑になるという問題があった。
【０００５】
本発明の目的は、パリティ生成回路を最適にレイアウトすることで、半導体メモリの開発期間を削減することにある。また、パリティ生成回路を最適にレイアウトするために、パリティ生成回路の論理を決めるシンドロームの割り当てを最適にすることにある。
【課題を解決するための手段】
【０００６】
本発明の一形態では、第１レギュラーセルアレイと、第１レギュラーセルアレイに対応するサブパリティ生成回路および第１外部データ端子とは、パリティセルアレイの一方の側に配置されている。第２レギュラーセルアレイと、第２レギュラーセルアレイに対応するサブパリティ生成回路および第２外部データ端子とは、パリティセルアレイの他方の側に配置されている。メインパリティ生成回路は、パリティセルアレイに対応して配置されている。サブパリティ生成回路は、第１および第２レギュラーセルアレイから同時に読み出される読み出しデータに応じてサブパリティデータをそれぞれ生成する。メインパリティ生成回路は、サブパリティデータに応じて第１および第２レギュラーセルアレイに共通のパリティデータを生成する。シンドローム生成回路は、パリティセルアレイから読み出されるパリティデータとメインパリティ生成回路により生成されるパリティデータとに応じてシンドロームを生成する。読み出し誤り訂正回路は、第１および第２レギュラーセルアレイからの読み出しデータを、シンドロームに応じて訂正する。
【０００７】
各第１および第２レギュラーセルアレイのデータのビット幅は、第１および第２外部データ端子のビット幅に等しい。第１外部データ端子に供給されるデータは、アドレス端子で受けるアドレスに応じて第１レギュラーセルアレイのいずれかに書き込まれる。第２外部データ端子に供給されるデータは、アドレスに応じて第２レギュラーセルアレイのいずれかに書き込まれる。メインパリティ生成回路が、分散配置されることなく、パリティセルアレイに対応する位置に形成される。このため、レイアウト設計およびレイアウト検証等が煩雑になることを防止できる。
【０００８】
本発明の一形態における好ましい例では、レギュラーセルアレイ対は、共通なアドレスが割り当てられた第１および第２レギュラーセルアレイにより構成されている。複数ビッ
トで構成されるシンドローム値は、レギュラーセルアレイ対に入出力されるデータを構成するビットにそれぞれ対応して割り当てられている。シンドローム値のうち所定数のビットで構成される第１サブシンドローム値は、レギュラーセルアレイ対において、対応する外部データ端子毎に互いに等しい。残りのビットで構成される第２サブシンドローム値は、レギュラーセルアレイ対毎に等しい。サブパリティ生成回路およびメインパリティ生成回路の論理は、シンドローム値の割り当てに従って構成されている。シンドロームをレギュラーセルアレイおよび外部データ端子に対応して割り当てることで、サブパリティ生成回路およびメインパリティ生成回路の論理を分かりやすくできる。この結果、回路構成を簡易にできる。
【０００９】
本発明の一形態における好ましい例では、読み出しデータ選択回路は、第１および第２レギュラーセルアレイから読み出される読み出しデータの中から第１および第２外部データ端子に出力するデータをアドレスに応じて選択する。読み出し誤り訂正回路は、第１および第２レギュラーセルアレイから読み出される読み出しデータを訂正するのではなく、データ選択回路により選択された読み出しデータのみを誤り訂正する。このため、読み出し誤り訂正回路の回路規模を小さくでき、チップサイズを小さくできる。
【００１０】
本発明の一形態における好ましい例では、読み出しシンドロームデコーダは、シンドロームとアドレスとに応じて、誤りが発生したビットデータに対応する第１または第２外部データ端子を特定する。読み出し誤り訂正回路は、読み出しシンドロームデコーダにより特定されたデータ端子に対応するビットデータを反転回路により反転することで、誤り訂正を行う。この結果、読み出し誤り訂正回路を簡易に構成できる。
【００１１】
本発明の一形態における好ましい例では、書き込み誤り訂正回路は、第１および第２レギュラーセルアレイとサブパリティ生成回路との間にそれぞれ配置されている。書き込み誤り訂正回路は、書き込み要求に応答して第１および第２レギュラーメモリセルから読み出される読み出しデータを誤り訂正し、訂正したデータを第１および第２外部データ端子に供給される書き込みデータとともにサブパリティ生成回路に出力する。また、書き込み誤り訂正回路は、読み出し要求に応答して第１および第２レギュラーセルアレイから読み出される読み出しデータをサブパリティ生成回路にそのまま出力する。サブパリティ生成回路およびメインパリティ生成回路は、第１および第２レギュラーセルアレイに書き込まれるデータのパリティデータだけでなく、第１および第２レギュラーセルアレイから読み出されるデータのパリティデータを生成する。サブパリティ生成回路およびメインパリティ生成回路を、書き込み動作および読み出し動作で共用することで、パリティ生成回路の回路規模を削減できる。
【００１２】
本発明の一形態における好ましい例では、書き込みシンドロームデコーダは、書き込み要求に応答して第１および第２レギュラーメモリセルから読み出される読み出しデータにより生成されるシンドロームに応じて、誤りが発生したビットを特定する。書き込み誤り訂正回路の反転回路は、読み出しデータにおける書き込みシンドロームデコーダにより特定されたビットデータを反転する。本発明では、パリティデータは、第１および第２レギュラーセルアレイに記憶されるデータに共通である。このため、書き込み動作毎に、データを書き込まないレギュラーセルアレイからデータを読み出し、パリティデータを再度生成する必要がある。書き込みシンドロームデコーダおよび書き込み誤り訂正回路により、データが書き込まれないレギュラーセルアレイに記憶されるデータの誤りに対応してパリティデータを確実に更新できる。
【００１３】
本発明の一形態における好ましい例では、書き込み誤り訂正回路のラッチ回路は、書き込みシンドロームデコーダにより特定されたビットデータを含む読み出しデータを保持する。このため、第１および第２外部データ端子を介して供給される書き込みデータとのタ
イミングと、書き込み要求に応答して第１および第２レギュラーセルアレイから読み出される読み出しデータのタイミングとがずれている場合にも、書き込みデータとラッチ回路に保持された読み出しデータとを用いてパリティデータを確実に生成できる。
【００１４】
本発明の一形態における好ましい例では、一対のメモリユニットは、パリティセルアレイ、第１および第２レギュラーセルアレイ、サブパリティ生成回路、メインパリティ生成回路、シンドローム生成回路および読み出し誤り訂正回路を有する。各メモリユニットのメインパリティ生成回路は、サブパリティ保持回路、サブパリティ演算回路、メインパリティ保持回路およびメインパリティ演算回路とを有している。サブパリティ保持回路は、サブパリティデータを保持する。サブパリティ演算回路は、サブパリティ保持回路に保持されているサブパリティデータと、サブパリティ生成回路により新たに生成されるサブパリティデータとの違いを示す差分パリティデータを生成する。メインパリティ保持回路とは、パリティデータを保持する。メインパリティ演算回路は、メインパリティ保持回路に保持されているパリティデータと、差分パリティデータとを演算し、新たなパリティデータを生成する。
【００１５】
この例では、パリティデータを、新たに供給される書き込みデータのサブパリティデータに対応する差分パリティデータに応じて更新できる。したがって、メモリユニットに対する書き込み動作が交互に実行される場合に、最初のアクセスでレギュラーセルアレイからのデータを読み出すことで、２回目のアクセスでは、レギュラーセルアレイからデータを読み出すことなくパリティデータを生成できる。この結果、２回目のアクセスに必要な時間を短縮できる。
【００１６】
本発明の一形態における好ましい例では、共通なアドレスが割り当てられた第１および第２レギュラーセルアレイによりレギュラーセルアレイ対が構成されている。半導体メモリは、第１および第２外部データ端子に連続して所定の回数だけ供給される書き込みデータを直列並列変換し、全てのレギュラーセルアレイ対に書き込むバースト書き込み機能を有する。受信した書き込みデータは、メモリユニット単位で書き込まれる。サブパリティ演算回路およびメインパリティ演算回路は、バースト書き込み動作において、各メモリユニットにおいてデータが書き込まれるレギュラーセルアレイ対が１つだけのときのみに動作する。また、サブパリティ保持回路および前記サブパリティ演算回路は、この１つのレギュラーセルアレイ対のみに対応して形成されている。
【００１７】
例えば、各メモリユニットが、４つのレギュラーセルアレイ対を有する場合、一方のメモリユニットの２番目のレギュラーセルアレイ対からバースト書き込み動作（バースト長＝”８”）が順次実行されると、最後の書き込みデータは、一方のメモリユニットの１番目のレギュラーセルアレイ対に書き込まれる。一方のメモリユニットでは、４番目のレギュラーセルアレイ対の書き込みデータを受けたときに、予め読み出された１番目の読み出しデータと２番目から４番目の書き込みデータとがレギュラーセルアレイ対にそれぞれ書き込まれる。このとき、読み出しデータのサブパリティデータをサブパリティ保持回路に保持し、パリティデータをメインパリティ保持回路に保持しておくことで、１番目のレギュラーセルアレイ対に対応する最後の書き込みデータを含めたパリティデータは、レギュラーセルアレイ対からデータを読み出すことなく生成できる。したがって、最後の書き込み動作に必要な時間を短縮でき、バースト書き込みサイクル時間を短縮できる。また、メインパリティ生成回路に供給されるサブパリティデータの情報量は、サブパリティ生成回路により減らされている。このため、サブパリティ保持回路で保持するビット数を少なくでき、サブパリティ保持回路の回路規模を削減できる。
【発明の効果】
【００１８】
本発明では、半導体メモリの開発期間を削減できる。
【発明を実施するための最良の形態】
【００１９】
以下、本発明の実施形態を図面を用いて説明する。図中の二重の四角印は、外部データ端子（パッド）を示している。図中、太線で示した信号線は、複数本で構成されている。また、太線が接続されているブロックの一部は、複数の回路で構成されている。外部端子を介して供給される信号には、端子名と同じ符号を使用する。また、信号が伝達される信号線には、信号名と同じ符号を使用する。
【００２０】
図１は、本発明の半導体メモリの第１の実施形態を示している。この半導体メモリは、シリコン基板上にＣＭＯＳプロセスを使用して擬似ＳＲＡＭとして形成されている。擬似ＳＲＡＭは、ＤＲＡＭのメモリコアを有し、ＳＲＡＭのインタフェースを有する。
【００２１】
擬似ＳＲＡＭは、外部データ端子ＤＱ１−１６を介して供給されるデータを記憶するレギュラーセルアレイＣＡ１−４、パリティデータを記憶するパリティセルアレイＰＣＡ、書き込み誤り訂正回路１０、サブパリティ生成回路１２、メインパリティ生成回路１４、シンドローム生成回路１６、書き込みシンドロームデコーダ１８、読み出しシンドロームデコーダ２０、書き込みデータ選択回路２２、読み出しデータ選択回路２４、読み出し誤り訂正回路２６、データ入出力バッファ２８およびアドレスバッファ３０を有している。
【００２２】
擬似ＳＲＡＭは、図に示した以外にも、アドレスデコーダ、動作コマンド（書き込みコマンド、読み出しコマンド等）を受信するコマンドバッファ、動作コマンドを解読するコマンドデコーダ、セルアレイＣＡ１−３、ＰＣＡに対する書き込み動作、読み出し動作およびリフレッシュ動作を制御するための制御信号を生成する動作制御回路等を有している。
【００２３】
レギュラーセルアレイＣＡ１−４およびパリティセルアレイＰＣＡは、一般的なＤＲＡＭと同様に、ダイナミックメモリセルを有している。ダイナミックメモリセルは、データを電荷として保持するキャパシタと、キャパシタをビット線に接続するための転送トランジスタとを有している。
【００２４】
レギュラーセルアレイＣＡ１およびＣＡ２−４は、一対のレギュラーセルアレイＣＡ１Ｌ、ＣＡ１ＵおよびＣＡ２Ｌ、ＣＡ２Ｕ、ＣＡ３Ｌ、ＣＡ３Ｕ、ＣＡ４Ｌ、ＣＡ４Ｕによりそれぞれ構成されている。レギュラーセルアレイＣＡ１Ｌ−ＣＡ４Ｌ、ＣＡ１Ｕ−ＣＡ４Ｕのデータのビット幅は、第１および第２外部データ端子ＤＱ１−８、ＤＱ９−１６のビット幅に等しい。第１外部データ端子ＤＱ１−８（下位バイト）に供給される書き込みデータは、アドレスＡ１−０に応じて、末尾に”Ｌ”の付くレギュラーセルアレイＣＡ１Ｌ−ＣＡ４Ｌ（第１レギュラーセルアレイ）のいずれかに記憶される。第２外部データ端子ＤＱ９−１６（上位バイト）に供給される書き込みデータは、アドレスＡ１−０に応じて、末尾に”Ｕ”の付くレギュラーセルアレイＣＡ１Ｕ−ＣＡ４Ｕ（第２レギュラーセルアレイ）のいずれかに記憶される。
【００２５】
レギュラーセルアレイＣＡ１は、アドレスの最下位２ビット（Ａ１、Ａ０）が（０、０）のときにアクセスされる。同様に、レギュラーセルアレイＣＡ２−４は、アドレス（Ａ１、Ａ０）が（０、１）、（１、０）、（１、１）のときにそれぞれアクセスされる。外部データ端子ＤＱ１−１６に供給される書き込みデータは、書き込み動作毎に、アドレスＡ１−０に応じて選択されるレギュラーセルアレイＣＡ１−４のいずれかに書き込まれる。読み出し動作毎にレギュラーセルアレイＣＡ１−４から読み出された６４ビットのデータのうち、アドレスＡ１−０に応じて選択される１６ビットが外部データ端子ＤＱ１−１６に出力される。
【００２６】
パリティセルアレイＰＣＡは、レギュラーセルアレイＣＡ１−４に記憶される６４ビットのデータに対応する７ビットのパリティビット（パリティデータ）を記憶する。パリティセルアレイＰＣＡに書き込まれる書き込みパリティデータＣＷ１−７は、メインパリティ生成回路１４により生成される。パリティセルアレイＰＣＡから読み出される読み出しパリティデータＣＲ１−７は、シンドローム生成回路１６に出力される。
【００２７】
書き込み誤り訂正回路１０は、外部からの読み出し要求に応答する読み出し動作において、レギュラーセルアレイＣＡ１−４から読み出されるデータＤ１−６４をそのまま訂正データＤＣ１−６４として出力する。書き込み誤り訂正回路１０は、外部からの書き込み要求に応答する書き込み動作において、レギュラーセルアレイＣＡ１−４から読み出されたデータＤ１−６４を、書き込み誤り検出データＥＷ１−６４のビット値に応じて誤り訂正する。書き込み誤り訂正回路１０は、書き込みシンドロームデコーダにより特定された誤りビットの論理を誤り訂正するために反転する反転回路（図示せず）を有している。反転回路は、例えば、ＥＯＲ回路で構成される。書き込み誤り訂正回路１０は、反転回路により訂正されたビットデータ（ＤＣ１−６４の１ビット）を外部データ端子ＤＱ１−１６に供給される他のビットデータ（ＤＣ１−６４のうち訂正されない残りのビット）とともにサブパリティ生成回路１２に出力する。なお、書き込み動作におけるレギュラーセルアレイＣＡ１−４からのデータＤ１−６４の読み出しは、パリティセルアレイＰＣＡがレギュラーセルアレイＣＡ１−４に書き込まれる６４ビットのデータのパリティデータを記憶するために必要である。
【００２８】
また、書き込み誤り訂正回路１０は、書き込みシンドロームデコーダ１８により特定されたビットデータを含む読み出しデータを保持するラッチ回路（図示せず）を有している。このため、外部データ端子ＤＱ１−１６を介して供給される書き込みデータのタイミングと、書き込み要求に応答してレギュラーセルアレイＣＡ１−４から読み出される読み出しデータのタイミングとを同期させる必要がない。したがって、書き込みデータとラッチ回路に保持された読み出しデータとを用いてパリティデータを確実に生成できる。この結果、タイミング設計を容易にできる。また、タイミング仕様をユーザが使いやすい使用に設定できる。さらに、書き込み動作において、レギュラーセルアレイＣＡ１−４にそれぞれ書き込まれる書き込みデータが外部データ端子ＤＱ１−１６に順次供給される場合にも（後述する第２の実施形態に示すバースト書き込み動作など）、これ等データをラッチ回路により確実に保持できる。
【００２９】
サブパリティ生成回路１２は、訂正データＤＣ１−６４からサブパリティデータＤＢ１−３２（バイトパリティ）を生成する。サブパリティ生成回路１２の詳細は、後述する図４および図５で説明する。メインパリティ生成回路１４は、サブパリティ生成回路１２により生成されたサブパリティデータＤＢ１−３２を用いて書き込みパリティデータＣＷ１−７を生成する。メインパリティ生成回路１４の詳細は、後述する図７で説明する。
【００３０】
シンドローム生成回路１６は、書き込みパリティデータＣＷ１−７と読み出しパリティデータＣＲ１−７の排他的論理和を演算することによりシンドロームＳ１−７を生成する。書き込みシンドロームデコーダ１８は、書き込み要求に応答して開始される書き込みサイクルの最初にレギュラーセルアレイＣＡ１−４から読み出されたデータＤ１−６４を誤り訂正するために、シンドロームＳ１−７に応じて誤りが発生したビットを特定する。書き込みシンドロームデコーダ１８は、誤りの発生したビットに対応する書き込み誤り検出データＥＷのビット（例えば、ＥＷ１）を、他のビット（例えば、ＥＷ２−６４）と異なる論理レベルに設定する。
【００３１】
読み出しシンドロームデコーダ２０は、読み出し動作時に、シンドロームＳ１−７および読み出しアドレスＡ１−０に応じて、外部データ端子ＤＱ１−１６に出力する１６ビッ
トの読み出しデータ中にビット誤りがあるか否かを判定する。すなわち、読み出しシンドロームデコーダ２０は、シンドロームＳ１−７と読み出しアドレスＡ１−０とに応じて、誤りが発生したビットデータに対応する外部データ端子ＤＱ（ＤＱ１−１６のいずれか）を特定する。読み出しシンドロームデコーダ２０は、誤りの発生したビットデータに対応する読み出し誤り検出データＥＲのビット（例えば、ＥＲ７）を、他のビット（例えば、ＥＲ１−６、８−１６）と異なる論理レベルに設定する。
【００３２】
書き込みデータ選択回路２２は、書き込み動作時に、外部データ端子ＤＱ１−１６を介して供給される書き込みデータＤＷ１−１６を、アドレスＡ１−０に応じて、データ線Ｄ１−１６、１７−３２、３３−４８、４８−６４のいずれかに出力する。読み出しデータ選択回路２４は、読み出し動作中に、レギュラーセルアレイＣＡ１−４から読み出される読み出しデータＤ１−６４のうちアドレスＡ１−０に応じて選択される１６ビットを、外部データ端子ＤＱ１−１６に出力するために選択データＤＳ１−１６として出力する。
【００３３】
読み出し誤り訂正回路２６は、読み出しシンドロームデコーダ２０により特定されたデータ端子ＤＱ（ＤＱ１−１６のいずれか）に対応するビットデータを誤り訂正するために反転する反転回路（図示せず）を有している。反転回路は、例えば、ＥＯＲ回路等で構成される。読み出し誤り訂正回路２６は、選択データＤＳ１−１６のうちの１ビットを読み出し誤り検出データＥＲ１−１６に応じて反転回路により反転することで誤り訂正し、読み出しデータＤＲ１−１６として出力する。
【００３４】
データ入出力バッファ２８は、書き込み動作中に、外部データ端子ＤＱ１−１６に供給されるデータを書き込みデータＤＷ１−１６として出力する。データ入出力バッファ２８は、読み出し動作中に、１６ビットの読み出しデータＤＲ１−１６を外部データ端子ＤＱ１−１６に出力する。アドレスバッファ３０は、データを読み書きするメモリセルを選択するためのアドレスをアドレス端子ＡＤを介して受信する。
【００３５】
図２は、図１に示したセルアレイＣＡ１−４、ＰＣＡ、書き込み誤り訂正回路１０、サブパリティ生成回路１２、メインパリティ生成回路１４およびシンドローム生成回路１６の擬似ＳＲＡＭチップ上でのレイアウトを示している。外部データ端子ＤＱ１−８および外部データ端子ＤＱ１−８に対応するセルアレイＣＡ１Ｌ−４Ｌは、パリティセルアレイＰＣＡの一方の側（図の左側）に配置されている。外部データ端子ＤＱ９−１６および外部データ端子ＤＱ９−１６に対応するセルアレイＣＡ１Ｕ−４Ｕは、パリティセルアレイＰＣＡの他方の側（図の右側）に配置されている。
【００３６】
レギュラーセルアレイＣＡ１Ｌ−ＣＡ４Ｌ（第１レギュラーセルアレイ）、ＣＡ１Ｕ−ＣＡ４Ｕ（第２レギュラーセルアレイ）およびパリティセルアレイＰＣＡは、データのビット幅が８ビットであり、互いに同じ回路および同じレイアウトを有する。各レギュラーセルアレイパリティセルアレイＰＣＡの記憶領域は、８ビットのうち１ビットが未使用である。レギュラーセルアレイＣＡ１Ｌ、ＣＡ１Ｕ（または、ＣＡ２ＬとＣＡ２Ｕ、ＣＡ３ＬとＣＡ３Ｕ、ＣＡ４ＬとＣＡ４Ｕ）は、共通なアドレスが割り当てられている。
【００３７】
書き込み誤り訂正回路１０およびサブパリティ生成回路１２は、セルアレイＣＡ１Ｌ−４Ｌ、ＣＡ１Ｕ−４Ｕに対応する８つの書き込み誤り訂正回路回路１０ａおよびサブパリティ生成回路１２ａで構成されている。書き込み誤り訂正回路回路１０ａおよびサブパリティ生成回路１２ａは、セルアレイＣＡ１Ｌ−４Ｌ、ＣＡ１Ｕ−４Ｕに対向する位置にそれぞれ配置されている。メインパリティ生成回路１４およびシンドローム生成回路１６は、パリティセルアレイＰＣＡに対応して、擬似ＳＲＡＭチップのほぼ中央にレイアウトされている。メインパリティ生成回路１４およびシンドローム生成回路１６を１箇所に配置することで、レイアウト設計等の効率を向上できる。
【００３８】
図に示すように、外部データ端子ＤＱ１−８に供給されるデータＤ１−８を記憶するレギュラーセルアレイＣＡ１Ｌ−４Ｌと、これ等セルアレイＣＡ１Ｌ−４Ｌに対応する回路は、外部データ端子ＤＱ１−８が形成される側に配置される。外部データ端子ＤＱ９−１６に供給されるデータＤ９−１６を記憶するレギュラーセルアレイＣＡ１Ｕ−４Ｕと、これ等セルアレイＣＡ１Ｕ−４Ｕに対応する回路は、外部データ端子ＤＱ９−１６が形成される側に配置される。
【００３９】
本発明では、パリティデータを生成する回路は、レギュラーセルアレイＣＡ１Ｌ−４Ｌ、ＣＡ１Ｕ−４Ｕに対応するサブパリティ生成回路１２ａとメインパリティ生成回路１４とで構成されている。各サブパリティ生成回路１２ａから出力されるサブパリティデータＤＢのビット数（４ビット）は、各サブパリティ生成回路１２に入力される訂正データＤＣのビット数（８ビット）の半分である。メインパリティ生成回路１４に伝達されるデータの情報量は、サブパリティ生成回路１２ａにより半分になる。サブパリティ生成回路１２ａからメインパリティ生成回路１４に出力されるサブパリティデータＤＢの信号線数を半減できるため、配線領域を削減でき、擬似ＳＲＡＭのチップサイズを小さくできる。
【００４０】
図３は、レギュラーセルアレイＣＡ１−４に記憶される６４ビットのデータＤ１−６４およびパリティセルアレイＰＣＡに記憶されるパリティデータＰ１−７に対するシンドロームＳ１−７のコードの割り当てを示している。図中に網掛けで示したコードは、使用されないコードである。各コードの下に示した数値は、コードの十進表示である。
【００４１】
シンドロームＳ４−１（第１サブシンドローム）に対応するコードは、全てのセルアレイＣＡ１−４において、対応する外部データ端子ＤＱ毎に互いに等しい。例えば、各セルアレイＣＡ１−４において、外部データ端子ＤＱ５に対応するデータＤ５、Ｄ２１、Ｄ３７、Ｄ５３のコードは、全て”０１００”に割り当てられている。
【００４２】
シンドロームＳ７−５（第２サブシンドローム）に対応するコードは、セルアレイＣＡ１−４毎に共通である。すなわち、セルアレイＣＡ１に対応するデータＤ１−１６のコードは、全て”０１１”である。同様に、セルアレイＣＡ２−４に対応するデータＤ７−３２のコードは、それぞれ”１０１”、”１１０”、”１１１”である。
【００４３】
上述したサブパリティ生成回路１２およびメインパリティ生成回路１４の論理は、図３に示したコードの割り当てに従って形成されている。コードの割り当ては、規則性を有している、例えば、４ビットのシンドロームＳ４−１により、誤りの発生した外部データ端子ＤＱを特定できる。また、３ビットのシンドロームＳ７−５により、誤りの発生したレギュラーセルアレイＣＡ１−４を特定できる。
【００４４】
図４および図５は、図１に示したサブパリティ生成回路１２ａの詳細を示している。各サブパリティ生成回路１２ａは、４つの４入力ＥＯＲ回路を有している。各サブパリティ生成回路１２ａは、８ビットのデータから４ビットのサブパリティデータＤＢを生成する。以降の説明では、サブパリティデータＤＢ１−３２は、バイトパリティＢＰｍＬ＜ｎ＞、ＢＰｍＵ＜ｎ＞（ｍ、ｎ：１、２、３、４）とも称する。ここで、”ｍ”は、レギュラーセルアレイＣＡ１−４の番号に対応する。
【００４５】
図６は、図４および図５に示したサブパリティ生成回路１２ａが生成するバイトパリティの概要を示している。ここでは、レギュラーセルアレイＣＡ１に対応するバイトパリティＢＰ１Ｌ＜１＞−ＢＰ１Ｌ＜４＞、ＢＰ１Ｕ＜１＞−ＢＰ１Ｕ＜４＞を示している。
【００４６】
バイトパリティＢＰ１Ｌ＜１＞（＝ＤＢ１）は、データＤ１−８のうち、シンドローム
Ｓ１のコードが”１”であるデータＤ２、Ｄ４、Ｄ６、Ｄ８の排他的論理和の演算により生成される。バイトパリティＢＰ１Ｕ＜１＞（＝ＤＢ５）は、データＤ９−１６のうち、シンドロームＳ１のコードが”１”のデータＤ１０、Ｄ１２、Ｄ１４、Ｄ１６の排他的論理和の演算により生成される。バイトパリティＢＰ１Ｌ＜２＞（＝ＤＢ２）は、データＤ１−８のうち、シンドロームＳ２のコードが”１”のデータＤ３、Ｄ４、Ｄ７、Ｄ８の排他的論理和の演算により生成される。バイトパリティＢＰ１Ｕ＜２＞（＝ＤＢ６）は、データＤ９−１６のうち、シンドロームＳ２のコードが”１”のデータＤ１１、Ｄ１２、Ｄ１５、Ｄ１６の排他的論理和の演算により生成される。
【００４７】
バイトパリティＢＰ１Ｌ＜３＞（＝ＤＢ３）は、データＤ１−８のうち、シンドロームＳ３のコードが”１”のデータＤ５−８の排他的論理和の演算により生成される。バイトパリティＢＰ１Ｕ＜３＞（＝ＤＢ７）は、データＤ９−１６のうち、シンドロームＳ３のコードが”１”のデータＤ１３−１６の排他的論理和の演算により生成される。バイトパリティＢＰ１Ｌ＜４＞（＝ＤＢ４）は、データＤ１−８のうち、シンドロームＳ３のコードが”０”のデータＤ１−４の排他的論理和の演算により生成される。バイトパリティＢＰ１Ｕ＜４＞（＝ＤＢ８）は、データＤ９−１６のうち、シンドロームＳ３のコードが”０”のデータＤ９−１２の排他的論理和の演算により生成される。なお、レギュラーセルアレイＣＡ２−４に対応するバイトパリティＢＰは、シンドロームＳ５−７の値が異なることを除き、図６と同じ太枠で示すことができる。
【００４８】
図７は、図１に示したメインパリティ生成回路１４の詳細を示している。メインパリティ生成回路１４は、書き込みパリティデータＣＷ１−４を生成する４つの８入力ＥＯＲ回路と、書き込みパリティデータＣＷ５−７を生成するための７つの３入力ＥＯＲ回路とを有している。
【００４９】
書き込みパリティデータＣＷ１−７は、上述した図３の各シンドローム行において、”１”が割り当てられているデータＤの排他的論理和を演算することで求められる。メインパリティ生成回路１４は、サブパリティ生成回路１２ａにより生成された３２個のバイトパリティＢＰｍＬ＜ｎ＞、ＢＰｍＵ＜ｎ＞を用いてこの演算を行い、書き込みパリティデータＣＷ１−７を生成する。すなわち、メインパリティ生成回路１４、サブパリティデータＤＢ１−３２に応じてレギュラーセルアレイＣＡ１−４に共通のパリティデータＣＷ１−７を生成する。
【００５０】
書き込みパリティデータＣＷ４を生成する８入力ＥＯＲ回路は、書き込みパリティデータＣＷ５−７を生成するために必要な中間パリティデータＰ１Ｕ、Ｐ２Ｕ、Ｐ３Ｕ、Ｐ４Ｕも生成する。中間パリティデータＰ１Ｕ、Ｐ２Ｕ、Ｐ３Ｕ、Ｐ４Ｕを受ける４つの３入力ＥＯＲ回路は、書き込みパリティデータＣＷ５−７を生成するために必要な中間パリティデータＰ１、Ｐ２、Ｐ３、Ｐ４を生成する。
【００５１】
図８は、図７に示したメインパリティ生成回路１４が生成する中間パリティデータの概要を示している。図において十字を付けた丸印は、排他的論和の演算子を示している。中間パリティデータＰ１Ｕは、データＤ１−１６のうち、シンドロームＳ４のコードが”１”のデータＤ９−１６の排他的論理和の演算により生成される。中間パリティデータＰ２Ｕは、データＤ１７−３２のうち、シンドロームＳ４のコードが”１”のデータＤ２５−３２の排他的論理和の演算により生成される。中間パリティデータＰ３Ｕは、データＤ３３−４８のうち、シンドロームＳ４のコードが”１”のデータＤ４１−４８の排他的論理和の演算により生成される。中間パリティデータＰ４Ｕは、データＤ４９−６４のうち、シンドロームＳ４のコードが”１”のデータＤ５７−６４の排他的論理和の演算により生成される。
【００５２】
中間パリティデータＰ１は、シンドロームＳ５のコードが”１”のデータＤ１−１６の排他的論理和の演算により生成される。中間パリティデータＰ２は、シンドロームＳ５のコードが”１”のデータＤ１７−３２の排他的論理和の演算により生成される。中間パリティデータＰ３は、シンドロームＳ５のコードが”０”のデータＤ３３−４８の排他的論理和の演算により生成される。中間パリティデータＰ４は、シンドロームＳ５のコードが”１”のデータＤ４９−６４の排他的論理和の演算により生成される。
【００５３】
以下に、本実施形態の擬似ＳＲＡＭの読み出し動作および書き込み動作を説明する。擬似ＳＲＡＭは、読み出し要求（読み出しコマンド）を受けると、レギュラーセルアレイＣＡ１−４からそれぞれ１６ビットのデータＤ１−１６、Ｄ１７−３２、Ｄ３３−４８、Ｄ４９−６４を読み出し、パリティセルアレイＰＣＡからパリティデータＣＲ１−７を読み出す。読み出しデータＤ１−６４が書き込み誤り訂正回路１０を通過した後、サブパリティ生成回路１２およびメインパリティ生成回路１４によりパリティデータＣＷ１−７が生成される。シンドローム生成回路１６は、パリティデータＣＷ１−７とパリティセルアレイＰＣＡから読み出されたパリティデータＣＲ１−７とを比較し、シンドロームＳ１−７を生成する。
【００５４】
次に、読み出しシンドロームデコーダ２０は、シンドロームＳ１−７に応じて読み出し誤り検出データＥＲ１−１６を生成する。読み出しデータ選択回路２４は、読み出しコマンドとともに供給されたアドレスＡ１−０により選択されたレギュラーセルアレイＣＡ（ＣＡ１−４のいずれか）が出力する１６ビットの読み出しデータを選択し、選択データＤＳ１−１６として出力する。読み出し誤り訂正回路２６は、読み出し誤り検出データＥＲ１−１６に応じて誤りのあるビットデータを訂正し、訂正したデータを読み出しデータＤＲ１−１６として出力する。そして、データ入出力バッファ２８により、読み出しデータＤＲ１−１６が外部データ端子ＤＱ１−１６に出力され、読み出し動作が完了する。
【００５５】
一方、擬似ＳＲＡＭは、書き込み要求（書き込みコマンド）を受けると、読み出し動作と同様に、レギュラーセルアレイＣＡ１−４からデータＤ１−６４を読み出し、パリティセルアレイＰＣＡからパリティデータＣＲ１−７を読み出す。この後、シンドローム生成回路１６によりシンドロームＳ１−７が生成されるまでの動作は、読み出し動作と同様である。書き込み動作では、書き込み用シンドロームデコーダ１８が動作し、シンドロームＳ１−７はデコードされる。書き込み用シンドロームデコーダ１８は、シンドロームＳ１−７に応じて書き込み誤り検出データ信号ＥＷ１−６４を生成する。書き込み誤り訂正回路１０は、書き込み誤り検出データＥＷ１−６４に応じて、読み出しデータＤ１−６４のビット誤りを訂正する。
【００５６】
誤り訂正の動作が終了すると、データ入出力バッファ２８は、外部データ端子ＤＱ１−１６で受けた書き込みデータＤＷ１−１６を書き込みデータ選択回路２２に出力する。書き込みデータ選択回路２２は、書き込みコマンドとともに供給されたアドレスＡ１−０によりに選択されるレギュラーセルアレイＣＡ（ＣＡ１−４のいずれか）にデータを転送する。そして、１６ビットの書き込みデータＤＷ１−１６は、レギュラーセルアレイＣＡ１−４のいずれかに書き込まれる。この時、データが書き込まれるレギュラーセルアレイＣＡ内のライトアンプは、書き込みデータＤＷ１−１６をラッチする。データが書き込まれない３つのレギュラーセルアレイＣＡ内のライトアンプは、最初に読み出されたデータをラッチし続ける。
【００５７】
書き込みデータと読み出しデータとを合わせた６４ビットのデータＤ１−６４は、書き込み誤り訂正回路１０を再度通過し、サブパリティ生成回路１２に転送される。そして、サブパリティ生成回路１２およびメインパリティ生成回路１４により、パリティデータＣＷ１−７が生成される。生成されたパリティデータＣＷ１−７は、パリティセルアレイＰ
ＣＡに書き込まれ、書き込み動作完了する。
【００５８】
以上、本実施形態では、メインパリティ生成回路１４を分散して配置することなく、パリティセルアレイＰＣＡに対向する位置に形成することで、レイアウト設計およびレイアウト検証等が煩雑になることを防止できる。
【００５９】
シンドロームＳ１−７を、図３に示すようにＳ１−４とＳ５−７に分け、外部データ端子ＤＱ１−１６およびレギュラーセルアレイＣＡ１−４の番号に対応して割り当てることで、サブパリティ生成回路１２およびメインパリティ生成回路１４の論理に規則性を持たせることができ、これ等回路を簡易に構成できる。
【００６０】
読み出し動作において、６４ビットの読み出しデータの中から外部データ端子ＤＱ１−１６に実際に出力されるデータのみに着目して読み出しデータを誤り訂正することで、読み出し誤り訂正回路２６の回路規模を小さくできる。この結果、擬似ＳＲＡＭのチップサイズを小さくできる。
【００６１】
サブパリティ生成回路１２およびメインパリティ生成回路１４を、読み出し動作だけでなく書き込み動作でも使用することで、パリティ生成回路１２、１４が冗長に形成されることを防止でき、回路規模を削減できる。
【００６２】
本発明では、レギュラーセルアレイＣＡ１−４に共通なパリティセルアレイＰＣＡを形成し、外部データ端子ＤＱ１−１６に供給される書き込みデータは、アドレスＡ１−０に応じてレギュラーセルアレイＣＡ１−４のいずれかに書き込まれる。このアーキテクチャでは、データをレギュラーセルアレイＣＡ１−４に書き込む前に、書き込み要求に応答してレギュラーセルアレイＣＡ１−４からデータを読み出す必要がある。この際、書き込みシンドロームデコーダ１８および書き込み誤り訂正回路１０により、データが書き込まれないレギュラーセルアレイＣＡに記憶されるデータの誤りに対応してパリティデータを確実に更新できる。
【００６３】
書き込み誤り訂正回路１０にラッチ回路を形成することで、書き込み動作において、レギュラーセルアレイＣＡ１−４から読み出されるデータを、外部データ端子ＤＱ１−１６を介して供給される書き込みデータに同期して書き込み誤り訂正回路１０に供給する必要がなくなる。ラッチ回路にラッチされたデータを用いてサブパリティデータＤＢ１−３２を生成できるため、パリティデータを生成する回路のタイミング設計を容易にできる。また、回路の動作マージンを確保できるため、擬似ＳＲＡＭの歩留を向上できる。
【００６４】
図９は、本発明の半導体メモリの第２の実施形態を示している。第１の実施形態で説明した要素と同一の要素については、同一の符号を付し、これ等については、詳細な説明を省略する。この半導体メモリは、シリコン基板上にＣＭＯＳプロセスを使用して擬似ＳＲＡＭとして形成されている。
【００６５】
擬似ＳＲＡＭは、一対のメモリユニットＭＵ１、ＭＵ２を有している。各メモリユニットＭＵ１−２は、書き込み誤り訂正回路１０、サブパリティ生成回路１２、メインパリティ生成回路１５、シンドローム生成回路１６、書き込みシンドロームデコーダ１８、読み出しシンドロームデコーダ２０、書き込みデータ選択回路２２、読み出しデータ選択回路２４および読み出し誤り訂正回路２６を有している。シンドローム生成回路１６は、パリティデータＣＷ１−７（またはＣＷ８−１４）ではなく、パリティ生成回路１５から出力されるパリティデータＣＰ１−７（またはＣＰ８−１４）を受ける。
【００６６】
メモリユニットＭＵ１は、レギュラーセルアレイＣＡ１−４（レギュラーセルアレイ対
）およびパリティセルアレイＰＣＡ１を有している。パリティセルアレイＰＣＡ１は、レギュラーセルアレイＣＡ１−４に書き込まれるデータのパリティデータを記憶する。メモリユニットＭＵ２は、レギュラーセルアレイＣＡ５−８（レギュラーセルアレイ対）およびパリティセルアレイＰＣＡ２を有している。パリティセルアレイＰＣＡ２は、レギュラーセルアレイＣＡ５−８に書き込まれるデータのパリティデータを記憶する。
【００６７】
レギュラーセルアレイＣＡ５−８は、レギュラーセルアレイＣＡ１−４と同じ回路であり、レギュラーセルアレイＣＡ５Ｌ、ＣＡ５Ｕ、ＣＡ６Ｌ、ＣＡ６Ｕ、ＣＡ７Ｌ、ＣＡ７Ｕ、ＣＡ８Ｌ、ＣＡ８Ｕで構成されている。パリティセルアレイＰＣＡ１−２は、第１の実施形態のパリティセルアレイＰＣＡと同じ回路である。各メモリユニットＭＵ１−２は、外部データ端子ＤＱ１−１６との対応関係を除き、上述した図２と同じ回路配置を有している。図９に示すように、この実施形態の半導体メモリは、第１の実施形態（図１）の主要な回路要素を２組（メモリユニットＭＵ１−２として）有している。データ入出力バッファ２８、アドレスバッファ３０および外部データ端子ＤＱ１−１６は、メモリユニットＭＵ１−２に共通の要素である。
【００６８】
レギュラーセルアレイＣＡ１−４は、アドレスＡ２＝”０”に割り当てられ、レギュラーセルアレイＣＡ５−８は、アドレスＡ２ビット＝”１”に割り当てられている。レギュラーセルアレイＣＡ１−８は、図に示すように、アドレス（Ａ２、Ａ１、Ａ０）の値に応じて選択され、アクセスされる。メモリユニットＭＵ１−２は、同時に動作する。例えば、書き込み動作では、外部データ端子ＤＱ１−１６に供給される書き込みデータは、アドレスに応じてレギュラーセルアレイＣＡ１−８にいずれかに書き込まれる。読み出し動作では、レギュラーセルアレイＣＡ１−８から読み出される１２８ビットのデータのうちドレスに応じて選択されるレギュラーセルアレイＣＡ（ＣＡ１−８のいずれか）からの１６ビットが外部データ端子ＤＱ１−１６に出力される。書き込み動作および読み出し動作では、メモリユニットＭＵ１−２毎に、パリティデータが生成される。
【００６９】
図１０は、図９に示したメインパリティ生成回路１５の詳細を示している。各メインパリティ生成回路１５は、パリティ生成回路１５ａ、サブパリティ保持回路１５ｂ、サブパリティ演算回路１５ｃ、メインパリティ保持回路１５ｄ、メインパリティ演算回路１５ｅおよびパリティドライブ回路１５ｆを有している。
【００７０】
パリティ生成回路１５ａは、第１の実施形態のメインパリティ生成回路１４と同じ機能を有しており、サブパリティ生成回路１２からのサブパリティデータＤＢ１−３２のパリティデータＣＰ１−７を生成する。サブパリティ保持回路１５ｂは、レギュラーセルアレイＣＡ１（またはＣＡ５）に対応するサブパリティデータＤＢ１−８を保持する８ビットのラッチ回路を有している。メインパリティ生成回路１５に供給されるサブパリティデータＤＢ１−３２の情報量は、サブパリティ生成回路１２により元のデータＤ１−６４の半分に減らされている。このため、サブパリティ保持回路１５ｂで保持するビット数を少なくでき、サブパリティ保持回路１５ｂの回路規模を削減できる。
【００７１】
サブパリティ演算回路１５ｃは、サブパリティ保持回路１５ｂに保持されているサブパリティデータＤＢ１−８と、新たに生成されるサブパリティデータＤＢ１−８とを比較し、その違いを示す差分パリティデータＤＦ１−７を生成する。差分パリティデータＤＦ１−７は、パリティデータＣＰ１−７に対応しており、２つのサブパリティデータＤＢ１−８のみを用いて生成されるパリティデータである。
【００７２】
メインパリティ保持回路１５ｄは、パリティ生成回路１５ａにより生成されるパリティデータＣＰ１−７を保持する７ビットのラッチ回路を有している。メインパリティ演算回路１５ｅは、メインパリティ保持回路１５ｄに保持されているパリティデータＣＰ１−７
を差分パリティデータＤＦ１−７に応じて修正し、パリティデータＣＦ１−７を生成する。パリティドライブ回路１５ｆは、パリティデータＣＰ１−７またはＣＦ１−７のいずれかを動作状態に応じて選択し、パリティデータＣＷ１−７として出力する。
【００７３】
サブパリティ保持回路１５ｂ、サブパリティ演算回路１５ｃ、メインパリティ保持回路１５ｄおよびメインパリティ演算回路１５ｅは、後述するバースト書き込み動作においてのみ動作する。バースト読み出し動作を含む読み出し動作では、パリティ生成回路１５ａにより生成されるパリティデータが、読み出しデータの誤り訂正をするためにシンドローム生成回路１６に供給される。
【００７４】
次に、本実施形態の擬似ＳＲＡＭのバースト書き込み動作を説明する。バースト書き込み動作は、外部データ端子ＤＱ１−１６に連続して供給される書き込みデータＤＷ１−１６を、直列並列変換し、レギュラーセルアレイ対ＣＡ１−８の複数に書き込む機能である。擬似ＳＲＡＭは、レギュラーセルアレイ対ＣＡ１−８から同時に読み出させるデータを並列直列変換し、外部データ端子ＤＱ１−１６に順次出力するバースト読み出し動作機能を有している。外部データ端子ＤＱ１−１６に入出力されるデータの数は、予めバースト長として擬似ＳＲＡＭのモードレジスタ等に設定される。以下では、バースト長が”８”に設定されている例について説明する。また、この例では、書き込み動作の開始アドレスは、（Ａ２、Ａ１、Ａ０）＝（０、０、１）である。このため、外部データ端子ＤＱ１−１６による書き込みデータの受信は、レギュラーセルアレイＣＡ２、ＣＡ３、ＣＡ４、ＣＡ５、ＣＡ６、ＣＡ７、ＣＡ８、ＣＡ１の順に実行される。
【００７５】
まず、擬似ＳＲＡＭは、書き込みコマンドが供給されると、レギュラーセルアレイＣＡ１−４からデータＤ１−６４を読み出し、パリティセルアレイＰＣＡ１からパリティデータＣＲ１−７を読み出す。書き込み誤り訂正回路１０は、読み出しデータＤ１−６４に誤りがある場合、第１の実施形態と同様に誤りを訂正し、訂正データＤＣ１−６４として出力する。
【００７６】
ライトデータ選択回路２２は、レギュラーセルアレイＣＡ２−４に書き込むために順次供給されるデータＤＷ１−１６を、アドレスに応じてデータバスＤ１７−３２、Ｄ３３−４８、Ｄ４９−６４に転送する。すなわち、直列並列変換が実施される。サブパリティ生成回路１２は、データＤ１７−６４を用いてサブパリティデータＤＢ９−３２を生成する。パリティ生成回路１５ａは、予め生成されているサブパリティデータＤＢ１−８と、新たに生成されたサブパリティデータＤＢ９−３２を用いてパリティデータＣＰ１−７を生成する。
【００７７】
そして、パリティデータＣＰ１−７は、レギュラーセルアレイＣＡ４に書き込む３番目の書き込みデータの供給に同期して、パリティデータＣＷ１−７としてパリティセルアレイＰＣＡ１に書き込まれる。このように、書き込みデータＤ１−１６は、メモリユニットＭＵ単位で書き込まれる。同時に、書き込みデータＤ１−６４は、レギュラーセルアレイＣＡ１−４に書き込まれる。この際、パリティデータＣＷ１−７および書き込みデータＤ１−６４は、アドレスに応じて選択されるコラム選択線を介して、所定のメモリセルに書き込まれる。ここで、レギュラーセルアレイＣＡ１に書き込まれるデータＤ１−１６は、書き込みデータの最初にレギュラーセルアレイＣＡ１から読み出されたデータである。データの書き込みに同期して、サブパリティ保持回路１５ｂは、レギュラーセルアレイＣＡ１に対応するサブパリティデータＤＢ１−８をラッチし、メインパリティ保持回路１５ｄは、パリティデータＣＰ１−７をラッチする。この際、サブパリティ演算回路１５ｃ、メインパリティ保持回路１５ｄおよびメインパリティ演算回路１５ｅは、動作しない。
【００７８】
次に、擬似ＳＲＡＭは、レギュラーセルアレイＣＡ５−８からデータＤ６５−１２８を
読み出し、パリティセルアレイＰＣＡ２からパリティデータＣＲ８−１４を読み出す。書き込み誤り訂正回路１０は、読み出しデータＤ６５−１２８に誤りがある場合、誤りを訂正し、訂正データＤＣ６５−１２８として出力する。ライトデータ選択回路２２は、レギュラーセルアレイＣＡ５−８に書き込むために順次供給されるデータＤＷ１−１６を、アドレスに応じてデータバスＤ６５−８０、８１−９６、９７−１１２、１１３−１２８に転送する。サブパリティ生成回路１２は、データＤ６５−１２８を用いてサブパリティデータＤＢ３３−６４を生成する。パリティ生成回路１５ａは、サブパリティデータＤＢ３３−６４を用いてパリティデータＣＰ８−１４を生成する。この際、サブパリティ演算回路１５ｃ、メインパリティ保持回路１５ｄおよびメインパリティ演算回路１５ｅは、動作しない。サブパリティ保持回路１５ｂは、サブパリティデータＤＢ３３−６４をラッチしてもよく、ラッチしなくてもよい。
【００７９】
そして、レギュラーセルアレイＣＡ８に書き込む７番目の書き込みデータの供給に同期して、パリティデータＣＰ８−１４は、パリティデータＣＷ８−１４としてパリティセルアレイＰＣＡ２に書き込まれる。同時に、書き込みデータＤ６５−１２８は、レギュラーセルアレイＣＡ５−８に書き込まれる。パリティデータＣＷ８−１４および書き込みデータＤ６５−１２８は、アドレスに応じて選択されるコラム選択線を介して、所定のメモリセルに書き込まれる。
【００８０】
次に、擬似ＳＲＡＭは、８番目の書き込みデータＤ１−１６を受信する。ライトデータ選択回路２２は、書き込みデータＤＷ１−１６を、アドレスに応じてデータバスＤ１−１６に転送する。書き込みデータＤ１−１６に対応するサブパリティ生成回路１２は、データＤ１−１６を用いてサブパリティデータＤＢ１−８を生成する。サブパリティ演算回路１５ｃは、サブパリティ保持回路１５ｂに保持されているサブパリティデータＤＢ１−８と、サブパリティ生成回路１２により新たに生成されたサブパリティデータＤＢ１−８との違いを示す差分パリティデータＤＦ１−７を生成する。メインパリティ演算回路１５ｅは、差分パリティデータＤＦ１−７を、メインパリティ保持回路１５ｄに保持されているパリティデータＣＰ１−７に反映させ、新たなパリティデータＣＦ１−７を生成する。このように、サブパリティ演算回路１５ｃ、メインパリティ保持回路１５ｄおよびメインパリティ演算回路１５ｅは、バースト書き込み動作において、レギュラーセルアレイＣＡ１に書き込まれる最後の書き込みデータの供給にのみ応答して動作する。新たなパリティデータＣＦ１−７は、１番目から３番目に供給され、レギュラーセルアレイＣＡ２−４に書き込まれた４８ビットのデータと、８番目に供給された１６ビットのデータとから生成されるパリティデータに等しい。すなわち、レギュラーセルアレイＣＡ２−４に対応するサブパリティデータＤＢ９−３２を用いることなく、新たなパリティデータＣＦ１−７を生成できる。パリティドライブ回路１５ｆは、パリティデータＣＦ１−７をパリティデータＣＷ１−７として出力する。
【００８１】
そして、レギュラーセルアレイＣＡ１に書き込む８番目の書き込みデータの供給に同期して、パリティデータＣＷ１−７は、パリティセルアレイＰＣＡ１に書き込まれる。同時に、書き込みデータＤ１−６４は、レギュラーセルアレイＣＡ１−４に書き込まれる。なお、レギュラーセルアレイ１−４に対応する書き込みデータは、１番目から３番目のデータを書き込んだときに、レギュラーセルアレイ１−４内のライトアンプ（図示せず）に保持されているデータである。本実施形態では、上述のようにレギュラーセルアレイＣＡ２（あるいはＣＡ６）からバースト書き込みが実施される場合に、レギュラーセルアレイＣＡ１（あるいはＣＡ５）に対応する最後の書き込みデータを含む６４ビットのデータを書き込むときに、レギュラーセルアレイＣＡ１−４（あるいはＣＡ５−８）およびパリティセルアレイＰＣＡ１（あるいはＰＣＡ２）からデータを読み出す必要がない。したがって、最後の書き込み動作を、バースト書き込み動作におけるデータの供給間隔である１サイクル時間内に完了できる。
【００８２】
この実施形態においても、上述した第１の実施形態と同様の効果を得ることができる。さらに、この実施形態では、バースト書き込み動作における最後の書き込み動作において、レギュラーセルアレイＣＡ２−４からデータを読み出すことなく新たなパリティデータＣＦ１−７を生成できる。したがって、最初のアクセスでレギュラーセルアレイＣＡ１−４からのデータを読み出しておくことで、２回目のアクセスでは、レギュラーセルアレイＣＡ１−４からデータを読み出すことなくパリティデータＣＦ１−７を生成できる。この結果、２回目のアクセスに必要な時間を短縮できる。バースト書き込み動作では、最後の書き込み動作をバースト開始アドレスに依存せず１サイクル時間内に完了できる。したがって、バースト書き込みサイクル時間を短縮できる。また、メインパリティ生成回路１５に供給されるサブパリティデータＤＢ１−３２（又はＤＢ３３−６４）の情報量は、サブパリティ生成回路１２により減らされている。このため、サブパリティ保持回路１２で保持するビット数を少なくでき、サブパリティ保持回路の回路規模を削減できる。
【００８３】
なお、上述した実施形態では、本発明を疑似ＳＲＡＭに適用する例について述べた。本発明はかかる実施形態に限定されるものではない。例えば、本発明をＤＲＡＭ、ＳＲＡＭ、強誘電体メモリ等の他の半導体メモリに適用しても同様の効果を得ることができる。
【００８４】
以上、本発明について詳細に説明してきたが、上記の実施形態およびその変形例は発明の一例に過ぎず、本発明はこれに限定されるものではない。本発明を逸脱しない範囲で変形可能であることは明らかである。
【産業上の利用可能性】
【００８５】
本発明は、誤り訂正機能を有する半導体メモリに適用できる。
【図面の簡単な説明】
【００８６】
【図１】本発明の半導体メモリの第１の実施形態を示すブロック図である。
【図２】図１の要部のレイアウトを示すブロック図である。
【図３】シンドロームのコードの割り当てを示す説明図である。
【図４】図１に示したサブパリティ生成回路の詳細を示す回路図である。
【図５】図１に示したサブパリティ生成回路の詳細を示す回路図である。
【図６】図４および図５に示したサブパリティ生成回路が生成するバイトパリティの概要を示す説明図である。
【図７】図１に示したメインパリティ生成回路の詳細を示す回路図である。
【図８】図７に示したメインパリティ生成回路が生成する中間パリティデータの概要を示す説明図である。
【図９】本発明の半導体メモリの第２の実施形態を示すブロック図である。
【図１０】図９に示したメインパリティ生成回路の詳細を示すブロック図である。
【符号の説明】
【００８７】
１０、１０ａ  書き込み誤り訂正回路
１２、１２ａ  サブパリティ生成回路
１４  メインパリティ生成回路
１５  メインパリティ生成回路
１５ａ  パリティ生成回路
１５ｂ  サブパリティ保持回路
１５ｃ  サブパリティ演算回路
１５ｄ  メインパリティ保持回路
１５ｅ  メインパリティ演算回路
１５ｆ  パリティドライブ回路
１６  シンドローム生成回路
１８  書き込みシンドロームデコーダ
２０  読み出しシンドロームデコーダ
２２  書き込みデータ選択回路
２４  読み出しデータ選択回路
２６  読み出し誤り訂正回路
２８  データ入出力バッファ
３０  アドレスバッファ
ＡＤ  アドレス
ＣＡ１−４、５−８  レギュラーセルアレイ
ＣＡ１Ｌ、ＣＡ１Ｕ、ＣＡ２Ｌ、ＣＡ２Ｕ  レギュラーセルアレイ
ＣＡ３Ｌ、ＣＡ３Ｕ、ＣＡ４Ｌ、ＣＡ４Ｕ  レギュラーセルアレイ
ＣＲ１−７、８−１４  読み出しパリティデータ
ＣＷ１−７、８−１４  書き込みパリティデータ
Ｄ１−６４、６５−１２８  データ
ＤＢ１−３２、３３−６４  サブパリティデータ
ＤＣ１−６４、６５−１２８  訂正データ
ＤＱ１−１６  外部データ端子
ＤＲ１−１６  読み出しデータ
ＤＳ１−１６、１７−３２  選択データ
ＤＷ１−１６  書き込みデータ
ＥＲ１−１６、１７−３２  読み出し誤り検出データ
ＥＷ１−６４、６５−１２８  書き込み誤り検出データ
ＰＣＡ  パリティセルアレイ
Ｓ１−７、８−１４  シンドローム
【図１】
2006179056.tif 000003
【図２】
2006179056.tif 000004
【図３】
2006179056.tif 000005
【図４】
2006179056.tif 000006
【図５】
2006179056.tif 000007
【図６】
2006179056.tif 000008
【図７】
2006179056.tif 000009
【図８】
2006179056.tif 000010
【図９】
2006179056.tif 000011
【図１０】
2006179056.tif 000012