(57)【要約】【課題】ＰＳＲＡＭ等において、データ保持特性の劣化とアクセススピードの劣化を抑制し、バースト期間中におけるＥＣＣ動作回数を最小限に減らし、消費電力を減らす。【解決手段】ノーマルデータ部１ａ及びパリティデータ部１ｂを備えたメモリセルアレイ１と、バーストレングスをカウントするバーストカウンタ４と、バーストデータ読み出し時にはリードレイテンシ中にエラー検知訂正動作を行い、バーストデータ書き込み時の前半には、リードレイテンシ中にバーストデータ読み出し時と同様にエラー検知訂正動作を行うエラー検知訂正回路３と、バーストデータ書き込み時のリードレイテンシ経過以後、予めエラー検知訂正されたデータを書き込みデータにしたがってバーストレングスのカウント毎に順次書き換え、バーストレングスのカウント終了後に書き換え後のデータに対してエラー検知訂正動作を行わせるように制御するバースト書き込み制御回路２０とを具備する。【選択図】    図１
2006012360.tif 000002
【特許請求の範囲】
【請求項１】
通常のデータ書き込み、読み出しに用いられるノーマルデータ部、及びノーマルデータ部からの読み出しデータのエラー検知訂正のための検査データを記憶するパリティデータ部を備えたメモリセルアレイと、
バーストデータ読み出し時およびバーストデータ書き込み時にそれぞれバーストレングスをカウントするバーストカウンタと、
前記バーストデータ読み出し時には、前記ノーマルデータ部から読み出した読み出しデータを、前記パリティデータ部から読み出した検査データに基づいてエラー検知訂正するエラー検知訂正動作をリードレイテンシ中に行い、前記バーストデータ書き込み時には、リードレイテンシ中に前記ノーマルデータ部から読み出した読み出しデータを前記パリティデータ部から読み出した検査データに基づいてエラー検知訂正するエラー検知訂正動作を行うエラー検知訂正回路と、
前記バーストデータ読み出し時には、前記エラー検知訂正された読み出しデータを前記リードレイテンシ経過以降に順次出力し、前記バーストデータ書き込み時には、入力された書き込みデータを前記エラー検知訂正回路に転送するＩ／Ｏバッファと、
前記バーストデータ書き込み時のリードレイテンシ経過以後、予め前記リードレイテンシ中にエラー検知訂正されたデータを前記Ｉ／Ｏバッファから転送された書き込みデータにしたがって前記バーストカウンタによるバーストレングスのカウント毎に順次書き換え、書き換え後の書き込みデータに対して前記バーストカウンタによるバーストレングスのカウント終了後に前記エラー検知訂正回路によって検査データを生成させ、書き換え後の書き込みデータおよび前記生成された検査データを前記メモリセルアレイに書き込むように制御するバースト書き込み制御回路
とを具備することを特徴とする半導体記憶装置。
【請求項２】
前記バースト書き込み制御回路は、前記バーストカウンタがバーストレングスのカウントの最後のアドレス内容を保持させ、書き込み系の動作を可能状態に保持させるように制御信号のタイミングを設定し、前記カウントの最後のサイクルで前記エラー検知訂正回路によって検査データ生成動作を行わせるように制御することを特徴とする請求項１記載の半導体記憶装置。
【請求項３】
前記バースト書き込み制御回路は、前記バーストカウンタがバーストレングスのカウントの最後のアドレス内容を次のサイクルで歩進させて保持させ、書き込み系の動作を可能状態に保持させるように制御信号のタイミングを設定し、前記カウントの最後のサイクルの次のサイクルで前記エラー検知訂正回路によって検査データ生成動作を行わせるように制御することを特徴とする請求項１記載の半導体記憶装置。
【請求項４】
前記バースト書き込み制御回路は、前記バーストカウンタによるバーストレングスのカウント中にターミネーションされた場合には、ターミネーションされた直後のサイクルで前記エラー検知訂正回路によって検査データ生成動作を行わせるように制御することを特徴とする請求項２または３に記載の半導体記憶装置。
【請求項５】
前記バースト書き込み制御回路は、前記バーストカウンタによるカウントの内容を保持させるために、前記バーストカウンタによるカウント動作を停止させるように制御することを特徴とする請求項２または３記載の半導体記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、誤り検査訂正（error checking and correcting ：ＥＣＣ）回路を備えた半導体記憶装置に関する。
【背景技術】
【０００２】
半導体記憶装置の小型化、大容量化、省電力化に伴い、半導体記憶装置の中でも特に微細構造を持つメモリセルはプロセス的にも、トランジスタ特性においても信頼性の確保が難しくなっている。半導体メモリの中でＳＲＡＭは、メモリセルが複数のトランジスタ（フルＣＭＯＳタイプで６個のトランジスタ）で構成されるため、小型化、大容量化が困難である。これに対し、ＤＲＡＭのメモリセルは、１個のトランジスタと１個のキャパシタで構成されるため、小型化、大容量化に向いている。
【０００３】
このようなＤＲＡＭの特徴を考慮して、例えば、小型の携帯電子機器において、ＳＲＡＭを用いて構成されていたメモリシステムの一部を、ＤＲＡＭセルを用いた擬似ＳＲＡＭ（Pseudo-SRAM：ＰＳＲＡＭ）に置き換え、小型化を図ることが考えられている。通常、ＤＲＡＭはロウ、カラムのアドレスをマルチプレクスするのに対し、ＳＲＡＭではアドレスマルチプレクスを行わない。従って、ＳＲＡＭ用のインターフェースをそのまま用いるとすれば、ＰＳＲＡＭは、アドレスマルチプレクスせずに使うことになる。また、ＤＲＡＭはデータのリフレッシュ動作を必要とすることから、ＰＳＲＡＭにおいても内部に自動リフレッシュ回路を内蔵させることが必要である。
【０００４】
ＰＳＲＡＭはＤＲＡＭセルを用いるために、メモリシステムの小型化、大容量化に向いている。しかし、定期的にデータをリフレッシュしなければならないので、消費電力が大きくなりやすい。このため、ＰＳＲＡＭにおいては、例えば、動作電圧を可能な限り下げたり、あるいはリフレッシュサイクルを可能な限り長くしたりして、省電力化の要望に応えている。
【０００５】
しかし、省電力化が進展するに連れ、ＤＲＡＭセルのデータ保持特性の維持が厳しくなりつつあり、データ保持特性の劣化の対応が求められている。省電力化に起因したデータ保持特性の劣化は、ＰＳＲＡＭに特有のものではなく、通常のＤＲＡＭや、さらには、不揮発性半導体装置、例えば、ＥＥＰＲＯＭにおいても同様である。
【０００６】
データ保持特性の劣化を解決する装置としては、ＥＣＣ回路を持つ半導体記憶装置がある。しかし、ＥＣＣ回路を備えた半導体記憶装置は、省電力化に起因したデータ保持特性の劣化については解決できるものの、通常の読み出し動作及び書き込み動作に加え、ＥＣＣのための一連の動作が加わるために、アクセススピードが劣化する。小型の携帯電子機器に多用される半導体記憶装置、例えば、ＰＳＲＡＭは、省電力化に加え、アクセスピードの高速化も求められている。
【０００７】
なお、ＥＣＣ回路を備えた半導体記憶装置の公知例としては、例えば、特許文献１、２がある。
【特許文献１】特開平１０−１７７８００号公報
【特許文献２】特開２００３−５９２９０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
本発明は上記事情に鑑みてなされたもので、その目的は、省電力化に起因したデータ保持特性の劣化、及びアクセススピードの劣化の双方を抑制可能であり、バースト期間中におけるＥＣＣ回路の動作回数を最小限に減らし、消費電力を減らすことが可能になる半導体記憶装置を提供することにある。
【課題を解決するための手段】
【０００９】
本発明の半導体記憶装置の第１の形態は、通常のデータ書き込み、読み出しに用いられるノーマルデータ部、及びノーマルデータ部からの読み出しデータのエラー検知訂正のための検査データを記憶するパリティデータ部を備えたメモリセルアレイと、バーストデータ読み出し時およびバーストデータ書き込み時にそれぞれバーストレングスをカウントするバーストカウンタと、前記バーストデータ読み出し時には、前記ノーマルデータ部から読み出した読み出しデータを、前記パリティデータ部から読み出した検査データに基づいてエラー検知訂正するエラー検知訂正動作をリードレイテンシ中に行い、前記バーストデータ書き込み時には、リードレイテンシ中に前記ノーマルデータ部から読み出した読み出しデータを前記パリティデータ部から読み出した検査データに基づいてエラー検知訂正するエラー検知訂正動作を行うエラー検知訂正回路と、前記バーストデータ読み出し時には、前記エラー検知訂正された読み出しデータを前記リードレイテンシ経過以降に順次出力し、前記バーストデータ書き込み時には、入力された書き込みデータを前記エラー検知訂正回路に転送するＩ／Ｏバッファと、前記バーストデータ書き込み時のリードレイテンシ経過以後、予め前記リードレイテンシ中にエラー検知訂正されたデータを前記Ｉ／Ｏバッファから転送された書き込みデータにしたがって前記バーストカウンタによるバーストレングスのカウント毎に順次書き換え、書き換え後の書き込みデータに対して前記バーストカウンタによるバーストレングスの最終カウント終了後に前記エラー検知訂正回路によって検査データを生成させ、書き換え後の書き込みデータおよび前記生成された検査データを前記メモリセルアレイに書き込むように制御するバースト書き込み制御回路とを具備することを特徴とする。
【００１０】
また、本発明の半導体記憶装置の第２の形態は、通常のデータ書き込み、読み出しに用いられるノーマルデータ部、及びノーマルデータ部からの読み出しデータのエラー検知訂正のための検査データを記憶するパリティデータ部を備えたＫ個（但し、Ｋは２以上の自然数）のメモリセルアレイと、バーストデータ読み出し時およびバーストデータ書き込み時にそれぞれバーストレングスをカウントするバーストカウンタと、前記Ｋ個のメモリセルアレイに対応して設けられ、前記バーストデータ読み出し時には、それぞれ対応する前記ノーマルデータ部から読み出した読み出しデータを、前記パリティデータ部から読み出した検査データに基づいてエラー検知訂正するエラー検知訂正動作をリードレイテンシ中に行い、前記バーストデータ書き込み時には、リードレイテンシ中にそれぞれ対応する前記ノーマルデータ部から読み出した読み出しデータを前記パリティデータ部から読み出した検査データに基づいてエラー検知訂正するエラー検知訂正動作を行うＫ個のエラー検知訂正回路と、前記バーストデータ読み出し時には、前記エラー検知訂正された読み出しデータを前記リードレイテンシ経過以降に順次出力し、前記バーストデータ書き込み時には、入力された書き込みデータを前記エラー検知訂正回路に転送するＩ／Ｏバッファと、前記バーストデータ書き込み時のリードレイテンシ経過以後、予め前記リードレイテンシ中にエラー検知訂正されたデータを前記Ｉ／Ｏバッファから転送された書き込みデータにしたがって前記バーストカウンタによるバーストレングスのカウント毎に順次書き換え、書き換え後の書き込みデータに対して前記バーストカウンタによるバーストレングスの最終カウント終了後に前記エラー検知訂正回路によって検査データを生成させ、書き換え後の書き込みデータおよび前記生成された検査データを前記メモリセルアレイに書き込むように制御するバースト書き込み制御回路とを具備することを特徴とする。
【発明の効果】
【００１１】
本発明の半導体記憶装置によれば、バーストモードとＥＣＣ動作が可能であり、省電力化に起因したデータ保持特性とアクセススピードの劣化を抑制し、バースト期間中におけるＥＣＣ回路の動作回数を最小限に減らし、消費電力を減らすことができる。
【発明を実施するための最良の形態】
【００１２】
以下、本発明の実施形態を、図面を参照して説明する。この説明に際し、全図にわたり、共通する部分には共通する参照符号を付す。
【００１３】
＜第１実施形態＞
図１は、この発明の第１実施形態に係る同期型半導体記憶装置の一構成例を示すブロック図である。
【００１４】
図１に示す第１実施形態に係る装置は、メモリセルＭＣに、ＤＲＡＭセルを用いた擬似ＳＲＡＭ（Pseudo SRAM ：ＰＳＲＡＭ）である。第１実施形態に係る装置では、メモリセルアレイ１と、Ｉ／Ｏバッファ２との間に、エラー検知訂正（Error Checking and Correcting：ＥＣＣ）回路３を有する。メモリセルアレイ１は、ノーマルデータ部１ａと、パリティデータ部１ｂとを含む。ＥＣＣ回路３は、エラー訂正符号として、例えば、ハミング符号（Hamming-Code）を用い、単一ビットエラー訂正（Single-Error-Correction）を行う。
【００１５】
第１の実施形態に係る装置は、バーストカウンタ４を持つ。バーストカウンタ４は、バーストモード時に用いられ、バーストモード時、モード設定回路５に設定されたバーストレングス（Burst Length：Ｂ．Ｌ．）分の内部アドレス（カラムアドレスに相当）を生成する。つまり、第１実施形態に係る装置は、バーストモード付ＰＳＲＡＭである。以下、詳細に説明する。
【００１６】
ノーマルデータ部１ａは通常のデータ書き込み／読み出しに用いられ、ノーマルデータ部１ａ内のメモリセルＭＣには、通常のデータが記憶される。パリティデータ部１ｂはエラー検知訂正（Error Checking and Correcting：ＥＣＣ）に用いられ、パリティデータ部１ｂ内のメモリセルＭＣにはＥＣＣのための検査データ、例えば、シンドロームの奇数偶数判定のためのパリティデータが記憶される。
【００１７】
メモリセルアレイ１内にはワード線ＷＬ、及びビット線ＢＬが設けられる。ワード線ＷＬは、ノーマルデータ部１ａからパリティデータ部１ｂまで連続して設けられ、ワード線ＷＬとビット線ＢＬとの交点には、メモリセルＭＣが設けられる。
【００１８】
ロウデコーダ及びワード線ドライバ６は、入力されたアドレス（ロウアドレスに相当）に基づいてワード線ＷＬを選択駆動する。アドレスは、例えば、外部から、アドレスバリット信号／ＡＤＶに従ってロウアドレスバッファ７に入力され、ロウアドレスバッファ７を介してロウデコーダに入力される。ロウデコーダは入力された内部アドレスをデコードし、デコード結果に基づいてワード線ドライバを選択する。選択されたワード線ドライバは、これに接続されたワード線を駆動する。
【００１９】
ビット線ＢＬは、センスアンプ８を介してカラムゲート９に接続される。カラムゲート９は、カラムアドレスバッファ１０から出力された内部アドレスに基づいてビット線ＢＬを選択し、選択したビット線ＢＬをデータ線ＤＱに接続する。これにより、ビット線ＢＬとデータ線ＤＱとの間でデータの授受が行われる。
【００２０】
データ線ＤＱは、ＤＱバッファ１１に接続される。ＥＣＣ回路３は、ＤＱバッファ１１とＩ／Ｏバッファ２との間に設けられる。
【００２１】
ＥＣＣ回路３は、シンドロームデコード／エラー訂正回路３１を備えたリード／ライトバッファ３２、検査ビット生成回路３３、情報ビット生成回路３４、及びシンドローム生成回路３５を具備する。検査ビット生成回路３３は、例えば、外部からＩ／Ｏピンを介して入力される書き込みデータ（ＷＤ）に基づいて、パリティデータ部１ｂに書き込むための検査データを生成する。情報ビット生成回路３４は、ノーマルデータ部１ａから読み出された読み出しデータＲＤから情報データを抽出する。シンドローム生成回路３５は、パリティデータ部１ｂから読み出された検査データＰＲＷＤと情報データとを比較し、シンドローム信号を生成する。シンドロームデコード／エラー訂正回路３１は、シンドローム信号をデコードし、エラー発生の有無を、例えば、ビット毎に検知し、エラー発生を検知した場合には、そのエラーが発生したビットデータを反転させ、訂正する。エラー検知訂正については、周知の方法を用いることが可能である。本例では、エラー検知訂正として、ハミング符号（Hamming-Code）を用いた、単一ビットエラー訂正（Single-Error-Correction）を想定する。その具体的なエラー検知訂正動作の一例は、特許文献２に記載されているので、本明細書ではその詳細は省略する。簡単には、エラー発生の有無は、例えば、ハミング符号検査行列中のアドレスの論理値が“０”になるか、“１”になるかで検知される。エラーが発生したアドレスでは、例えば、論理値“１”となり、エラーが無いアドレスでは論理値“０”となる。シンドロームデコード／エラー訂正回路３１は、論理値“１”となったアドレスに対応するビットデータを反転し、１ビットのエラーを訂正する。
【００２２】
バーストモードは、リードレイテンシ（Read Latency：Ｒ．Ｌ．）、バーストレングス、リニアシーケンスもしくはインターリーブシーケンス等、バーストモードに関わる設定情報に基づいて実行される。これら設定情報は、例えば、アドレス入力を用いて、モード設定回路５に予め設定される。
【００２３】
バーストモード時、装置は、例えば、外部から入力されたクロック入力ＣＬＫｉｎから、クロックバッファ１２およびクロックジェネレータ１３を介して生成された内部クロックＣＬＫに基づいて動作する。この内部クロックＣＬＫはバーストカウンタ４、ロウデコーダ３等に供給される。
【００２４】
ところで、バーストレングスのカウント毎にＥＣＣ回路を動作させ、カウント毎に書き込みデータ及び検査ビットを書き込むことによって、バーストデータ入力が途中で中断された場合でも、改めてＥＣＣ動作を行うことなく、次の動作に移行することができる。しかし、このような動作は、ＥＣＣ回路の動作回数が多いので、消費電力の面で不利である。
【００２５】
そこで、本実施形態においては、バーストモードでの書き込み時において、バーストレングスの最終カウント後にＥＣＣ回路を動作させることによって、バースト期間中におけるＥＣＣ回路の動作回数を最小限に減らし、消費電力を減らすように構成している。そのための構成として、図１中に示すように、バースト書き込み制御回路２０によって、バーストカウンタ４、ロウアドレスバッファ７、カラムアドレスバッファ１０を制御している。
【００２６】
このバースト書き込み制御回路２０による制御動作は、例えば後述するように、バーストカウンタ４によるバーストレングスのカウントの最後のアドレス内容を保持させる（例えば、バーストカウンタ４の動作を停止させる）とともに、書き込み系の動作を可能状態に保持させるように制御信号のタイミングを設定するように制御するものである。
【００２７】
次に、第１実施形態に係る装置の動作を説明する。以下の動作は、バーストデータ読み出し及び書き込みを想定する。
【００２８】
（読み出し動作）
第１実施形態では、読み出し動作時、読み出したデータのＥＣＣを、設定されたリードレイテンシ中に終了させる。例えば、リードレイテンシが２クロックに設定されている場合には、アドレスバリッド信号／ＡＤＶが“Ｌ”レベルに遷移してから２クロック未満内に、例えば、下記の動作（１）〜（５）を終了させ、２クロック目に、第１回バーストデータ出力を行えるようにしておく。図２〜図１０に、動作の一例を視覚化し、図１１にその動作波形図を示す。
【００２９】
なお、本動作の一例では、リードレイテンシを２クロック、バーストレングスを４ワードとし、４ワードパラレル読み出し／１ワードシリアル出力を想定する。もちろん、リードレイテンシ及びバーストレングスは、それぞれ２クロック及び４ワードに限られるものではない。
【００３０】
（１）ワード線ＷＬの選択、及びノーマルデータ部１ａからのデータ（読み出しデータ：ＲＤ１〜ＲＤ４）の読み出し、パリティデータ部１ｂからの検査データ（ＰＲＷＤ）の読み出し（図２）、
（２）センスアンプ８による読み出しデータ／検査データの増幅とリストア（図３）、
（３）ビット線ＢＬの選択、及びビット線ＢＬからＤＱバッファ（データ線ＤＱ）への読み出しデータ／検査データの授受（図４）、
（４）読み出しデータから情報ビット（ＩＮＦ．）を生成（図５）、
（５）検査データ及び情報ビットからシンドローム信号（ＳＹＮ．）を生成、及びシンドローム信号のデコード（エラー検知）及びエラー訂正（図６）。
【００３１】
次に、図７に示すように、リードレイテンシ経過以降に、本例では、２クロック目に、Ｉ／Ｏバッファ２からＩ／Ｏピンに、第１回バーストデータ出力ができるように、エラー訂正された１ワード分の読み出しデータ（ＲＤ１ＥＣＣ）を、リード／ライトバッファ３２からＩ／Ｏバッファ２に転送しておく。
【００３２】
バーストカウンタ４は、リードレイテンシ経過以降に、本例では、２クロック目から、設定されたバーストレングス分のカウントに入る。そして、カウント毎に、内部アドレスを生成し、内部アドレスを、カラムアドレスバッファ１０を介して、リード／ライトバッファ３２のカラムデコード回路に供給する。リード／ライトバッファ３２は、カラムデコード回路に設定されたシーケンスに基づいて、カウント毎に、エラー訂正された読み出しデータを、１ワードずつ出力していく。本例では、２クロック目（図７）に、エラー訂正された読み出しデータ（ＲＤ１ＥＣＣ）を出力する（第１回バーストデータ出力）。続いて、３クロック目（図８）、４クロック目（図９）、５クロック目（図１０）に、それぞれ第２回バーストデータ出力、第３回バーストデータ出力、第４回バーストデータ出力を行う。これにより、設定されたバーストレングス分の、エラー訂正されたデータ（ＲＤ１ＥＣＣ〜ＲＤ４ＥＣＣ）が出力される。
【００３３】
（書き込み動作）
第１実施形態では、書き込み動作の前半、即ちリードレイテンシ中に、上記読み出し動作を行い、リード／ライトバッファ３２に、エラー訂正された読み出しデータを揃えておく。例えば、リードレイテンシが２クロックに設定されている場合には、アドレスバリッド信号／ＡＤＶが“Ｌ”レベルに遷移してから２クロック未満内に、上記読み出し動作を終了させ、エラー訂正された読み出しデータをリード／ライトバッファ３２に揃えておく。
【００３４】
書き込み動作の後半、即ちリードレイテンシ経過以降に、エラー訂正された読み出しデータを、１ワードずつ、カウント毎に書き込みデータに書き換える。このような動作をＢ．Ｌ．のカウント毎に行うことにより、新しい書き込みデータが生成される。そして、Ｂ．Ｌ．のカウントの最後に、上記した新しく生成された書き込みデータから検査ビットを生成してパリティデータ部１ｂ内のセルに書き込むとともに、書き込みデータをノーマルデータ部１ａ内のセルに書き込む。つまり、ＥＣＣ回路を、Ｂ．Ｌ．のカウント毎に動作させずに、Ｂ．Ｌ．のカウントの最後に動作させる。図１２〜図１７に、動作の一例を視覚化し、図１８に、その動作波形図を示す。なお、本動作の一例では、リードレイテンシを２クロック、バーストレングスを４ワードとし、かつ１ワードシリアル入力／４ワードパラレル書き込みを想定する。もちろん、リードレイテンシ及びバーストレングスは、それぞれ２クロック、及び４ワードに限られるものではない。
【００３５】
まず、図１２に示すように、例えば、図２〜図６に示した動作により、リードレイテンシ中（本例では２クロック未満内）にエラー訂正された４ワード分の読み出しデータＲＤ１ＥＣＣ〜ＲＤ４ＥＣＣを、リード／ライトバッファ３２に揃えておく。
【００３６】
次に、図１３に示すように、書き込み動作の後半、即ちリードレイテンシ経過以降（本例では２クロック以降）に、第１回バーストデータ入力に対応した１ワード分の書き込みデータＷＤ１を、Ｉ／Ｏバッファ２からリード／ライトバッファ３２に入力する。さらに、バーストカウンタ４が、カウント毎に内部アドレスを生成し、カラムアドレスバッファ１０を介してリード／ライトバッファ３２内のカラムデコード回路に供給する。これにより、読み出しデータＲＤ１ＥＣＣを、書き込みデータＷＤ１に書き換える。
【００３７】
以下同様に、３クロック以降に、第２回バーストデータ入力に対応した１ワード分の書き込みデータＷＤ２をリード／ライトバッファ３２に入力し、読み出しデータＲＤ２ＥＣＣを書き込みデータＷＤ２に書き換える（図１４）。
【００３８】
４クロック以降に、第３回バーストデータ入力に対応した１ワード分の書き込みデータＷＤ３をリード／ライトバッファ３２に入力し、読み出しデータＲＤ３ＥＣＣを書き込みデータＷＤ３に書き換える（図１５）。
【００３９】
５クロック以降に、第４回バーストデータ入力に対応した１ワード分の書き込みデータＷＤ４をリード／ライトバッファ３２に入力し、読み出しデータＲＤ４ＥＣＣを書き込みデータＷＤ４に書き換える。この後、データＷＤ１〜ＷＤ４をノーマルデータ部１ａに書き込むとともに、データＷＤ１〜ＷＤ４から検査ビットＰＲＷＤを生成し、検査ビットＰＲＷＤをパリティデータ部１ｂに書き込む（図１６）。
【００４０】
図１７は、書き込み後のデータを示す。
【００４１】
上記したように第１実施形態に係る装置によれば、リードレイテンシ中にＥＣＣ動作を終了させるので、ＥＣＣ動作を付加することによるアクセススピードの劣化を抑制することができる。また、ＥＣＣ動作が付加されるので、省電力化に起因したデータ保持特性の劣化も抑制される。従って、省電力化に起因したデータ保持特性の劣化、及びアクセススピードの劣化の双方を抑制することが可能となり、低消費電力で、かつ動作が高速な半導体記憶装置を実現することができる。
【００４２】
また、第１実施形態では、書き込み動作時、エラー訂正された読み出しデータを、書き込み動作の前半、即ちリードレイテンシ中に、リード／ライトバッファ３２に揃えておく。この後、書き込み動作の後半、即ちリードレイテンシ経過以降に、エラー訂正された読み出しデータを、１ワードずつ、カウント毎に書き込みデータに書き換える。このような動作をＢ．Ｌ．のカウント毎に行うことにより、新しい書き込みデータが生成される。そして、Ｂ．Ｌ．のカウントの最後に、上記した新しく生成された書き込みデータから検査ビットを生成してパリティデータ部１ｂ内のセルに書き込むとともに、書き込みデータをノーマルデータ部１ａ内のセルに書き込む。つまり、ＥＣＣ回路を、Ｂ．Ｌ．のカウント毎に動作させずに、Ｂ．Ｌ．のカウントの最後に動作させることにより、書き込み時のＥＣＣ動作回数を最小限に抑え、消費電力を減らすことができる。
【００４３】
（第２実施形態）
本第２実施形態は、第１実施形態をより具体的に説明する例で、バーストレングスが４ワード、Ｉ／Ｏ数が１６Ｉ／Ｏ＝１６ビット＝１ワードのバーストモード付ＰＳＲＡＭの例である。
【００４４】
図１９は、この発明の第２実施形態に係るＥＣＣ回路付同期型半導体記憶装置の一構成例を示すブロック図である。本第２実施形態では、仕様の一例として、読み出し時、４ワードパラレル読み出し／１ワードシリアル出力、書き込み時、１ワードシリアル入力／４ワードパラレル書き込みを想定する。ノーマルデータ部１ａに対して、一度に読み書きするビット数は、６４ビット（＝Ｂ．Ｌ．×Ｉ／Ｏ＝４ワード×１６ビット）である。また、パリティデータ部１ｂに対して、一度に読み書きするビット数は８ビットである。ＥＣＣ回路３は、第１実施形態と同様、誤り訂正符号として、例えば、ハミング符号を用い、単一ビットエラー訂正を行う。
【００４５】
以下、その動作の一例に基づき、第２実施形態に係る装置を詳細に説明する。
【００４６】
（読み出し動作）
読み出し動作時、ＥＣＣ回路３は、ノーマルデータ部１ａから６４ビットのデータを読み出し、情報ビット生成回路３４にて６４ビットの読み出しデータから、８ビットの情報データを生成する。さらに、ＥＣＣ回路３は、６４ビットの読み出しデータに加えて、パリティデータ部１ｂから８ビットの検査データを読み出す。シンドローム生成回路３５は、８ビットの情報データと８ビットの検査データとを比較し、８ビットのシンドローム信号を生成する。６４ビットの読み出しデータは、シンドロームデコード／エラー訂正回路３１において、８ビットのシンドローム信号に従って、１ビットのエラー検知及びエラー訂正が為される。第２実施形態においても、６４ビットの読み出しデータのＥＣＣを、第１実施形態と同様に、設定されたリードレイテンシ中に終了させる。
【００４７】
リードレイテンシ開始以降、バーストカウンタ４は、内部アドレスを生成する。内部アドレスは、カウント毎に、カラムアドレスバッファ１０を介してリード／ライトバッファ３２内のカラムデコード回路に供給される。リード／ライトバッファ３２は、カラムデコード回路に設定されたシーケンスに基づいて、カウント毎に、１６ビットの読み出しデータを出力する。本例では、リードレイテンシ経過以降、例えば、１クロック毎に、１６ビットの読み出しデータを、４回出力する。
【００４８】
（書き込み動作）
書き込み動作の前半、即ち設定されたリードレイテンシ中、上記読み出し動作を行い、リード／ライトバッファ３２に、エラー訂正された６４ビットの読み出しデータを揃えておく。
【００４９】
書き込み動作の後半、即ちリードレイテンシ経過以降、バーストカウンタ４は、カウント毎に内部アドレスを生成し、カラムアドレスバッファ１０を介してリード／ライトバッファ３２内のカラムデコード回路に供給する。リード／ライトバッファ３２は、カラムデコード回路に設定されたシーケンスに基づいて、カウント毎に、６４ビットのエラー訂正された読み出しデータを、１６ビットずつ、入力された書き込みデータに書き換える。
【００５０】
このような動作をＢ．Ｌ．のカウント毎に行う（本例では４回繰り返す）ことにより、新しい書き込みデータが生成される。そして、Ｂ．Ｌ．のカウントの最後に、上記した新しく生成された書き込みデータから検査ビットを生成してパリティデータ部１ｂ内のセルに書き込むとともに、書き込みデータをノーマルデータ部１ａ内のセルに書き込む。つまり、ＥＣＣ回路を、Ｂ．Ｌ．のカウント毎に動作させずに、Ｂ．Ｌ．のカウントの最後に動作させることにより、書き込み時のＥＣＣ動作回数を最小限に抑え、消費電力を減らすことができる。
【００５１】
上記した第２実施形態においても、第１実施形態と同様の効果を得ることができる。
【００５２】
なお、第２実施形態では、バーストレングスが４ワード、Ｉ／Ｏ数が１６Ｉ／Ｏ、ノーマルデータ部１ａに対して、一度に読み書き可能なビット数が６４ビットを想定した。つまり、一度に読み書き可能なビット数＝Ｂ．Ｌ．×Ｉ／Ｏの例である。
【００５３】
バーストレングスは、例えば、ユーザの希望に応じて、あるいはユーザ自体が任意に設定できる。このため、バーストレングスが長くなり、例えば、一度に読み書きするビット数＜Ｂ．Ｌ．×Ｉ／Ｏとなる場合もある。以下、これに対処できる装置のいくつかの例を、第３、第４実施形態として説明する。
【００５４】
（第３実施形態）
第３実施形態に係る装置は、バーストレングスが長い例に関する。以下では、バーストレングスが８ワード、Ｉ／Ｏ数が１ワード＝１６Ｉ／Ｏ＝１６ビットのバーストモード付ＰＳＲＡＭを想定する。このＰＳＲＡＭでは、８ワードパラレル読み出し／１ワードシリアル出力を想定すると、ノーマルデータ部１ａに対して、一度に読み書きするビット数は１２８ビット（＝Ｂ．Ｌ．×Ｉ／Ｏ＝８ワード×１６ビット）となる。これは、上記第２実施形態に係る装置の２倍である。
【００５５】
一度に読み書きするビット数が大きい場合、通常、ＥＣＣ回路３によるエラーの救済率が劣化する。さらに、エラーの救済率が劣化する上、シンドローム信号のビット数も大きくなってＥＣＣ動作が複雑になり、ＥＣＣに時間を要してしまう。この結果、ＥＣＣ動作を、設定されたリードレイテンシ中に終了させることが難しくなる。
【００５６】
第３実施形態は、一度に読み書きするビット数が大きい場合でも、エラー救済率の劣化を抑制し、かつＥＣＣに要する時間を軽減できるようにしたものである。
【００５７】
図２０は、この発明の第３実施形態に係る同期型半導体記憶装置の一構成例を示すブロック図である。
【００５８】
図２０に示すように、第３実施形態では、例えば第２実施形態と同規模のＥＣＣ回路３を複数具備する。具体的には、第３実施形態のメモリは、一度に読み書きするビット数を、ノーマルデータ部１ａ＝６４ビット、パリティデータ部１ｂ＝８ビットとしたメモリを、２セット（上側メモリＴＯＰ／下側メモリＢＴＭ）具備している。本例のＥＣＣ回路３は、第１、第２実施形態と同様に、誤り訂正符号として、例えばハミング符号を用い、単一ビットエラー訂正を行う。以下、その動作を説明する。なお、上側メモリＴＯＰの動作、及び下側メモリＢＴＭの動作は、それぞれ同じである。
【００５９】
図２１は、第３実施形態の装置において、バーストレングスが８ワード、Ｉ／Ｏ数が１６Ｉ／Ｏ、ＴＯＰ／ＢＴＭの各ノーマルデータ部１ａに対して、一度に読み書き可能なビット数がそれぞれ６４ビット（合計１２８ビット）の場合、つまり、一度に読み書き可能なビット数＝Ｂ．Ｌ．×Ｉ／Ｏの場合のＥＣＣ動作の概要を示す。
【００６０】
（読み出し動作）
読み出し動作時、上側メモリＴＯＰのＥＣＣ回路３は、上側メモリＴＯＰのノーマルデータ１ａから６４ビットのデータを読み出し、情報ビット生成回路３４にて６４ビットの読み出しデータから８ビットの情報データを生成する。さらに、上側メモリＴＯＰのＥＣＣ回路３は、６４ビットの読み出しデータのほかに、上側メモリＴＯＰのパリティデータ部１ｂから８ビットの検査データを読み出す。シンドローム生成回路３５は、８ビットの情報データと８ビットの検査データを比較し、８ビットのシンドローム信号を生成する。６４ビットの読み出しデータは、シンドロームデコード／エラー訂正回路３１において８ビットのシンドローム信号に従って１ビットのエラー検知及びエラー訂正が為される。
【００６１】
この動作を、上側メモリＴＯＰ及び下側メモリＢＴＭで、例えば、同時に行い、上側メモリＴＯＰ及び下側メモリＢＴＭあわせて１２８ビットの、エラー訂正された読み出しデータを揃える。この動作を、設定されたリードレイテンシ中に終了させる。
【００６２】
リードレイテンシ経過以降、バーストカウンタ４は、カウント毎に内部アドレス（バーストアドレス）を生成し、カラムアドレスバッファ１０を介して上側メモリＴＯＰのリード／ライトバッファ３２内のカラムデコード回路、及び下側メモリＢＴＭのリード／ライトバッファ３２内のカラムデコード回路にそれぞれ供給する。リード／ライトバッファ３２は、カラムデコード回路に設定されたシーケンスに基づいて、カウント毎に、上側メモリＴＯＰ＝８ビット、下側メモリＢＴＭ＝８ビット、合計１６ビット（＝１ワード）の読み出しデータを出力する。本例では、例えば、１クロック毎に、１６ビットの読み出しデータを、合計８回出力する。
【００６３】
（書き込み動作）
書き込み動作の前半、即ち設定されたリードレイテンシ中、上記読み出し動作を行い、上側メモリＴＯＰのリード／ライトバッファ３２に６４ビット、下側メモリＢＴＭのリード／ライトバッファ３２に６４ビット、合計１２８ビットの、エラー訂正された読み出しデータを揃えておく。
【００６４】
書き込み動作の後半、即ちリードレイテンシ経過以降、バーストカウンタ４は、カウント毎に内部アドレスを生成し、カラムアドレスバッファ１０を介して上側メモリＴＯＰのリード／ライトバッファ３２内のカラムデコード回路、及び下側メモリＢＴＭのリード／ライトバッファ３２内のカラムデコード回路にそれぞれ供給する。リード／ライトバッファ３２は、カラムデコード回路に設定されたシーケンスに基づいて、エラー訂正された１２８ビットの読み出しデータを、カウント毎に、上側メモリＴＯＰ＝８ビット、下側メモリＢＴＭ＝８ビット、合計１６ビットずつ、入力された書き込みデータに書き換える。
【００６５】
このような動作をＢ．Ｌ．のカウント毎に行う（つまり、８サイクル繰り返す）ことにより、新しく生成された内部アドレスに相当する上側メモリＴＯＰの６４ビットのデータが生成される。そして、８サイクル目（Ｂ．Ｌ．の８カウント目）に、上記した新しく生成された上側メモリＴＯＰの６４ビットのデータから８ビットの検査ビットを生成して上側メモリＴＯＰのパリティデータ部１ｂ内のセルに書き込むとともに、６４ビットの書き込みデータを上側メモリＴＯＰのノーマルデータ部１ａ内のセルに書き込む。つまり、上側メモリＴＯＰへの書き込みに際して、上側メモリＴＯＰのＥＣＣ回路を、Ｂ．Ｌ．のカウント毎に動作させずに、Ｂ．Ｌ．のカウントの最後に動作させることにより、書き込み時のＥＣＣ動作回数を最小限に抑え、消費電力を減らすことができる。
【００６６】
このような上側メモリＴＯＰに対する書き込みと同様の書き込みを下側メモリＢＴＭに対しても実施することにより、上側メモリＴＯＰおよび下側メモリＢＴＭに６４ビットずつ、合計１２８ビットの書き込みが行われる。
【００６７】
上記した第３実施形態によれば、バーストレングスが長く、設定されたリードレイテンシ中に、ＥＣＣを終了させることが難しくなる場合でも、第１、第２実施形態と同様の効果を得ることができる。また、第３実施形態によれば、ＴＯＰ／ＢＴＭそれぞれでＥＣＣを行うので、一度に読み書きするビット数が大きい場合でも、エラー救済率の劣化を抑制することができる。さらに、第３実施形態の装置によれば、バーストモードにおける書き込み時のＥＣＣ動作回数を最小限に抑え、消費電力を減らすことができ、モバイル機器に搭載する場合に極めて有利である。
【００６８】
なお、バーストレングスは、例えば、ユーザの希望に応じて、あるいはユーザ自体が任意に設定できるので、一度に読み書き可能なビット数＞Ｂ．Ｌ．×Ｉ／Ｏとなる場合もある。例えば、バーストレングスが４ワードになると、一度に６４ビット読み書きで済むので、本例では６４ビット余分になる。この場合にはＴＯＰ／ＢＴＭのＥＣＣ回路３のいずれか一つのみ動作させれば良い。
【００６９】
（第４実施形態）
第４実施形態も、第３実施形態と同様に、バーストレングスが長い例に関する。第４実施形態では、Ｂ．Ｌ．×Ｉ／Ｏ＝設定されたリードレイテンシ中にＥＣＣ可能なビット数、具体的には、例えば、第２実施形態の４ワード×１６＝６４ビットのメモリを一つのセットと考え、このセットを１チップ中に複数持たせ、ＥＣＣ回路の動作をフレキシブルに変化させる。これにより、例えば、バーストレングスが長く、設定されたリードレイテンシ中にＥＣＣが終了できない場合にも対応できるようにする。
【００７０】
図２２は、この発明の第４実施形態に係る同期型半導体記憶装置の一構成例を示すブロック図である。図２２に示すように、第４実施形態では、第２実施形態と同様のメモリを、２セット持つ。詳しくは、一度に読み書きするビット数を、ノーマルデータ部１ａ＝６４ビット、パリティデータ部１ｂ＝８ビットとしたメモリを、２セット（上側メモリＴＯＰ／下側メモリＢＴＭ）持つ。本例のＥＣＣ回路３は、第１〜第３実施形態と同様、誤り訂正符号として、例えば、ハミング符号を用い、単一ビットエラー訂正を行う。以下、その動作例のいくつかを説明する。
【００７１】
（第１の例）
第１の例では、バーストレングスが８ワード、Ｉ／Ｏ数が１６Ｉ／Ｏ＝１６ビット＝１ワードのバーストモード付ＰＳＲＡＭを想定する。
【００７２】
図２３は、第４実施形態の第１の例に係る装置において、バーストレングスが８ワード、Ｉ／Ｏ数が１６Ｉ／Ｏ＝１６ビット＝１ワード、ＴＯＰ／ＢＴＭの各ノーマルデータ部１ａに対して、一度に読み書き可能なビット数がそれぞれ６４ビット（合計１２８ビット）の場合、つまり、一度に読み書き可能なビット数＝Ｂ．Ｌ．×Ｉ／Ｏの場合のＥＣＣ動作の概要を示す。
【００７３】
（読み出し動作）
読み出し動作時、上側メモリＴＯＰ、下側メモリＢＴＭそれぞれＥＣＣ回路３は、例えば、第２実施形態と同様の動作を行い、それぞれ６４ビットの読み出しデータのＥＣＣを、設定されたリードレイテンシ中に終了させる。これにより、上側メモリＴＯＰ及び下側メモリＢＴＭの双方に、合計１２８ビットのエラー訂正された読み出しデータが揃えられる。
【００７４】
リードレイテンシ経過以降、バーストカウンタ４は、カウント毎に内部アドレスを生成する。本例では、８個の内部アドレスを生成し、最初の４個の内部アドレスを、カラムアドレスバッファ１０を介して上側メモリＴＯＰのリード／ライトバッファ３２内のカラムデコード回路に、カウント毎に供給する。上側メモリＴＯＰのリード／ライトバッファ３２は、カラムデコード回路に設定されたシーケンスに基づいて、カウント毎に、１６ビットの読み出しデータを、合計４回出力する。この間、下側メモリＢＴＭのＥＣＣ回路３は動作しない。
【００７５】
次に、残り４個の内部アドレスを、カラムアドレスバッファ１０を介して下側メモリＢＴＭのリード／ライトバッファ３２内のカラムデコード回路に、カウント毎に供給する。下側メモリＢＴＭのリード／ライトバッファ３２は、カラムデコード回路に設定されたシーケンスに基づいて、上側メモリＴＯＰからの出力に続き、カウント毎に、１６ビットの読み出しデータを、合計４回出力する。下側メモリＢＴＭからデータ出力がされている間、上側メモリＴＯＰのＥＣＣ回路３は、動作しない。
【００７６】
このようにして、上側メモリＴＯＰ及び下側メモリＢＴＭから、合計８回のバーストデータ出力が行われる。
【００７７】
（書き込み動作）
書き込み動作の前半、即ち設定されたリードレイテンシ中、上記読み出し動作を行い、上側メモリＴＯＰ及び下側メモリＢＴＭの双方に、合計１２８ビットのエラー訂正された読み出しデータを揃えておく。
【００７８】
書き込み動作の後半、即ち設定されたリードレイテンシ経過以降、バーストカウンタ４は、カウント毎に内部アドレスを生成する。本例では、８個の内部アドレスを生成し、最初の４個の内部アドレスを、カラムアドレスバッファ１０を介して上側メモリＴＯＰのリード／ライトバッファ３２内のカラムデコード回路に、カウント毎に供給する。
【００７９】
上側メモリＴＯＰのリード／ライトバッファ３２は、カラムデコード回路に設定されたシーケンスに基づいて、バーストカウンタ４のカウント毎に１６ビットずつ、エラー訂正された６４ビットの読み出しデータを入力された書き込みデータに書き換える。このような動作をＢ．Ｌ．のカウント（１回目〜４回目）毎に行う（つまり、４サイクル繰り返す）ことにより、新しく生成された内部アドレスに相当する上側メモリＴＯＰの６４ビットのデータが生成される。そして、４サイクル目（Ｂ．Ｌ．の４カウント目）に、上記した新しく生成された上側メモリＴＯＰの６４ビットのデータから８ビットの検査ビットを生成して上側メモリＴＯＰのパリティデータ部１ｂ内のセルに書き込むとともに、６４ビットの書き込みデータを上側メモリＴＯＰのノーマルデータ部１ａ内のセルに書き込む。この間、下側メモリＢＴＭのＥＣＣ回路３は動作しない。
【００８０】
上記したように、上側メモリＴＯＰへの書き込みに際して、上側メモリＴＯＰのＥＣＣ回路を、Ｂ．Ｌ．のカウント毎に動作させずに、Ｂ．Ｌ．のカウントの最後に動作させることにより、書き込み時のＥＣＣ動作回数を最小限に抑え、消費電力を減らすことができる。
【００８１】
次に、残り４個の内部アドレスを、カラムアドレスバッファ１０を介して下側メモリＢＴＭのリード／ライトバッファ３２内のカラムデコード回路に、カウント毎に供給する。下側メモリＢＴＭのリード／ライトバッファ３２は、カラムデコード回路に設定されたシーケンスに基づいて、バーストカウンタ４のカウント毎に１６ビットずつ、エラー訂正された６４ビットの読み出しデータを入力された書き込みデータに書き換える。このような動作をＢ．Ｌ．のカウント（５回目〜８回目）毎に行う（つまり、４サイクル繰り返す）ことにより、新しく生成された内部アドレスに相当する下側メモリＢＴＭの６４ビットのデータが生成される。そして、４サイクル目（Ｂ．Ｌ．の８カウント目）に、上記した新しく生成された下側メモリＢＴＭの６４ビットのデータから８ビットの検査ビットを生成して下側メモリＢＴＭのパリティデータ部１ｂ内のセルに書き込むとともに、６４ビットの書き込みデータを下側メモリＢＴＭのノーマルデータ部１ａ内のセルに書き込む。
【００８２】
上記したように、下側メモリＢＴＭへの書き込みに際して、下側メモリＢＴＭのＥＣＣ回路を、Ｂ．Ｌ．のカウント毎に動作させずに、Ｂ．Ｌ．のカウントの最後に動作させることにより、書き込み時のＥＣＣ動作回数を最小限に抑え、消費電力を減らすことができる。
【００８３】
このようにして、上側メモリＴＯＰ及び下側メモリＢＴＭに、６４ビットずつ、合計１２８ビットの書き込みが行われる。
【００８４】
このような第４実施形態の第１の例においても、第３実施形態と同様に、バーストレングスが長く、設定されたリードレイテンシ中に、ＥＣＣを終了させることが難しくなる場合でも、第１、第２実施形態と同様の効果を得ることができる。また、第３実施形態と同様に、ＥＣＣをＴＯＰ／ＢＴＭそれぞれで行うので、エラー救済率の劣化も抑制できる。
【００８５】
なお、本第４実施形態の第１の例においても、第３実施形態と同様に、一度に読み書き可能なビット数＞Ｂ．Ｌ．×Ｉ／Ｏとなる場合もある。例えば、バーストレングスが４ワードになった場合には、第３実施形態と同様に、ＴＯＰ／ＢＴＭのＥＣＣ回路３のいずれか一つのみ動作させれば良い。反対に、バーストレングスが、さらに長くなると、一度に読み書きするビット数＜Ｂ．Ｌ．×Ｉ／Ｏとなる場合もある。以下、これに対処できる装置の一例を、第４実施形態の第２の例として説明する。
【００８６】
（第２の例）
第２の例では、バーストレングスが第１の例よりも長い１６ワード、Ｉ／Ｏ数が１６Ｉ／Ｏ＝１６ビット＝１ワードのバーストモード付ＰＳＲＡＭを想定する。
【００８７】
図２４は、第４実施形態の第２の例に係る装置において、バーストレングスが１６ワード、Ｉ／Ｏ数が１６Ｉ／Ｏ＝１６ビット＝１ワード、ＴＯＰ／ＢＴＭの各ノーマルデータ部１ａに対して、一度に読み書き可能なビット数がそれぞれ６４ビット（合計１２８ビット）の場合、つまり、一度に読み書き可能なビット数＜Ｂ．Ｌ．×Ｉ／Ｏの場合のＥＣＣ動作の概要を示す。
【００８８】
（読み出し動作）
読み出し動作時、上側メモリＴＯＰ、下側メモリＢＴＭそれぞれＥＣＣ回路３は、例えば、第２実施形態と同様の動作を行い、それぞれ６４ビットの読み出しデータのＥＣＣを、設定されたリードレイテンシ中に終了させる。これにより、上側メモリＴＯＰ及び下側メモリＢＴＭの双方に、まず、合計１２８ビットのエラー訂正された読み出しデータを揃える。
【００８９】
リードレイテンシ経過以降、バーストカウンタ４は、カウント毎に内部アドレスを生成する。本例では、１６個の内部アドレスを生成する。最初の４個の内部アドレスを、第１の例と同様に、上側メモリＴＯＰのリード／ライトバッファ３２内のカラムデコード回路に、カウント毎に供給する。上側メモリＴＯＰのリード／ライトバッファ３２は、カラムデコード回路に設定されたシーケンスに基づいて、カウント毎に、１６ビットの読み出しデータを、合計４回出力する。この間、下側メモリＢＴＭのＥＣＣ回路３は動作しない。
【００９０】
次に、続く４個の内部アドレスを、第１の例と同様に、下側メモリＢＴＭのリード／ライトバッファ３２内のカラムデコード回路に、カウント毎に供給する。下側メモリＢＴＭのリード／ライトバッファ３２は、カラムデコード回路に設定されたシーケンスに基づいて、上側メモリＴＯＰからの出力に続き、カウント毎に、１６ビットの読み出しデータを、合計４回出力する。この間、上側メモリＴＯＰでは、残り６４ビット分のデータの読み出し、及び読み出しデータのＥＣＣを行う。これにより、上側メモリＴＯＰに６４ビットのエラー訂正された読み出しデータが揃えられる。
【００９１】
次に、続く４個の内部アドレスを、上側メモリＴＯＰのリード／ライトバッファ３２内のカラムデコード回路に、カウント毎に供給する。上側メモリＴＯＰのリード／ライトバッファ３２は、カラムデコード回路に設定されたシーケンスに基づいて、下側メモリＢＴＭからの出力に続き、カウント毎に、１６ビットの読み出しデータを、合計４回出力する。この間、下側メモリＢＴＭでは、残り６４ビット分のデータの読み出し、及び読み出しデータのＥＣＣを行う。これにより、下側メモリＢＴＭに６４ビットのエラー訂正された読み出しデータが揃えられる。
【００９２】
次に、残り４個の内部アドレスを、下側メモリＢＴＭのリード／ライトバッファ３２内のカラムデコード回路に、カウント毎に供給する。下側メモリＢＴＭのリード／ライトバッファ３２は、カラムデコード回路に設定されたシーケンスに基づいて、上側メモリＴＯＰからの出力に続き、カウント毎に、１６ビットの読み出しデータを、合計４回出力する。この間、上側メモリＴＯＰのＥＣＣ回路３は動作しない。
【００９３】
このようにして、上側メモリＴＯＰ及び下側メモリＢＴＭから、合計１６回のバーストデータ出力が行われる。
【００９４】
（書き込み動作）
書き込み動作の前半、即ち設定されたリードレイテンシ中、上記読み出し動作を行い、上側メモリＴＯＰ及び下側メモリＢＴＭの双方に、まず、合計１２８ビットのエラー訂正された読み出しデータを揃えておく。
【００９５】
リードレイテンシ経過以降、バーストカウンタ４は、カウント毎に内部アドレスを生成する。本例では、１６個の内部アドレスを生成する。最初の４個の内部アドレスを、第１の例と同様に、上側メモリＴＯＰのリード／ライトバッファ３２内のカラムデコード回路に、カウント毎に供給する。これにより、上側メモリＴＯＰのリード／ライトバッファ３２は、エラー訂正された６４ビットの読み出しデータを、カウント毎に１６ビットずつ入力された書き込みデータに順次書き換える。このような動作をＢ．Ｌ．のカウント（１回目〜４回目）毎に行う（つまり、４サイクル繰り返す）ことにより、新しく生成された内部アドレスに相当する下側メモリＢＴＭの６４ビットのデータが生成される。そして、４サイクル目（Ｂ．Ｌ．の４カウント目）に、上記した新しく生成された上側メモリＴＯＰの６４ビットのデータから８ビットの検査ビットを生成して上側メモリＴＯＰのパリティデータ部１ｂ内のセルに書き込むとともに、６４ビットの書き込みデータを上側メモリＴＯＰのノーマルデータ部１ａ内のセルに書き込む。この間、下側メモリＢＴＭのＥＣＣ回路３は動作しない。
【００９６】
次に、続く４個の内部アドレスを、第１の例と同様に、下側メモリＢＴＭのリード／ライトバッファ３２内のカラムデコード回路に、カウント毎に供給する。これにより、下側メモリＢＴＭのリード／ライトバッファ３２は、エラー訂正された６４ビットの読み出しデータを、カウント毎に１６ビットずつ、入力された書き込みデータに順次書き換える。このような動作をＢ．Ｌ．のカウント（５回目〜８回目）毎に行う（つまり、４サイクル繰り返す）ことにより、新しく生成された内部アドレスに相当する下側メモリＢＴＭの６４ビットのデータが生成される。そして、４サイクル目（Ｂ．Ｌ．の８カウント目）に、上記した新しく生成された下側メモリＢＴＭの６４ビットのデータから８ビットの検査ビットを生成して下側メモリＢＴＭのパリティデータ部１ｂ内のセルに書き込むとともに、６４ビットの書き込みデータを下側メモリＢＴＭのノーマルデータ部１ａ内のセルに書き込む。この間、上側メモリＴＯＰでは、残り６４ビット分のデータの読み出し、及び読み出しデータのＥＣＣを行い、上側メモリＴＯＰに、残り６４ビットのエラー訂正された読み出しデータを揃えておく。
【００９７】
次に、続く４個の内部アドレスを、上側メモリＴＯＰのリード／ライトバッファ３２内のカラムデコード回路に、カウント毎に供給する。これにより、上側メモリＢＴＭのリード／ライトバッファ３２では、エラー訂正された６４ビットの読み出しデータを入力された書き込みデータに、カウント毎に１６ビットずつ順次書き換える。このような動作をＢ．Ｌ．のカウント（９回目〜１２回目）毎に行う（つまり、４サイクル繰り返す）ことにより、新しく生成された内部アドレスに相当する上側メモリＴＯＰの６４ビットのデータが生成される。そして、４サイクル目（Ｂ．Ｌ．の１２カウント目）に、上記した新しく生成された上側メモリＴＯＰの６４ビットのデータから８ビットの検査ビットを生成して上側メモリＴＯＰのパリティデータ部１ｂ内のセルに書き込むとともに、６４ビットの書き込みデータを下側メモリＢＴＭのノーマルデータ部１ａ内のセルに書き込む。この間、下側メモリＢＴＭでは、残り６４ビット分のデータの読み出し、及び読み出しデータのＥＣＣを行い、下側メモリＢＴＭに、残り６４ビットのエラー訂正された読み出しデータを揃えておく。
【００９８】
次に、残り４個の内部アドレスを、下側メモリＢＴＭのリード／ライトバッファ３２内のカラムデコード回路に、カウント毎に供給する。これにより、下側メモリＢＴＭのリード／ライトバッファ３２は、エラー訂正された６４ビットの読み出しデータを、カウント毎に１６ビットずつ、入力された書き込みデータに順次書き換える。このような動作をＢ．Ｌ．のカウント（１３回目〜１６回目）毎に行う（つまり、４サイクル繰り返す）ことにより、新しく生成された内部アドレスに相当する下側メモリＢＴＭの６４ビットのデータが生成される。そして、４サイクル目（Ｂ．Ｌ．の１６カウント目）に、上記した新しく生成された下側メモリＢＴＭの６４ビットのデータから８ビットの検査ビットを生成して下側メモリＢＴＭのパリティデータ部１ｂ内のセルに書き込むとともに、６４ビットの書き込みデータを下側メモリＢＴＭのノーマルデータ部１ａ内のセルに書き込む。
【００９９】
このようにして、上側メモリＴＯＰ及び下側メモリＢＴＭに、残り６４ビットずつ、合計１２８ビットの書き込みが行われる。
【０１００】
このような第４実施形態の第２の例においても、第３実施形態と同様に、バーストレングスが長く、設定されたリードレイテンシ中に、ＥＣＣを終了させることが難しくなる場合でも、第１、第２実施形態と同様の効果を得ることができる。また、第３実施形態と同様に、ＥＣＣをＴＯＰ／ＢＴＭそれぞれで行うので、エラー救済率の劣化も抑制できる。
【０１０１】
図２４では、２度目のデータ読み出しのためのＥＣＣ動作を、上側メモリＴＯＰもしくは下側メモリＢＴＭのバーストデータ出力／入力に要するクロック数と同じ、４クロックかけて行うように記載している。もちろん、上記ＥＣＣ動作を４クロックかけて終了させるようにしても良いが、上記ＥＣＣ動作の時間は自由である。例えば、上記ＥＣＣ動作を、１クロックで終了させることも可能である。ただし、上記ＥＣＣ動作は、２度目のバーストデータ出力、及び２度目のバーストデータ入力が開始される前に、終了されなければならない。
【０１０２】
このような第４実施形態の第２の例によれば、複数のメモリセルアレイを有する装置において、一度に読み書き可能なビット数＜Ｂ．Ｌ．×Ｉ／Ｏとなるような場合においても、第１〜第３実施形態、及び第４実施形態の第１の例と同様の効果を得ることができる。
【０１０３】
なお、第２〜第４実施形態では、Ｉ／Ｏ数を１６としたが、Ｉ／Ｏ数は１６に限られるものではない。例えば、１以上１６未満が可能であるし、１６以上も可能である。つまり、Ｉ／Ｏ数をＮとしたとき、Ｎは１以上の自然数であれば良い。
【０１０４】
また、第３、第４実施形態では、メモリセルアレイ１の数、及びＥＣＣ回路３の数をそれぞれ２個としたが、２個に限られるものではない。メモリセルアレイ１、及びＥＣＣ回路の数を、Ｋとしたとき、Ｋは２以上の自然数であれば良い。
【０１０５】
さらに、バーストレングスは２以上が可能であり、バーストレングスをＭとしたとき、Ｍは２以上の自然数であれば良い。
【０１０６】
一例として、Ｋ＝４、Ｍ＝８、Ｎ＝３２とした装置を説明する。
【０１０７】
この場合、一度に読み書きするビット数は、Ｍ×Ｎ＝８×３２＝２５６ビットである。Ｋは４であるから、ＥＣＣ回路３は１個当たり、（Ｍ×Ｎ）／Ｋ＝２５６／４＝６４ビットを、設定されたリードレイテンシ中にＥＣＣすれば良い。
【０１０８】
第３実施形態に従う場合には、リードレイテンシ経過以降、ＥＣＣされた６４ビット×４＝２５６ビットのデータは、４個のＥＣＣ回路３からＩ／Ｏバッファ２に対して、Ｎ／Ｋ＝３２／４＝８ビットずつ同時に（合計３２ビット）、転送されれば良い。
【０１０９】
また、第４実施形態の第１の例に従う場合には、リードレイテンシ経過以降、ＥＣＣされた６４ビット×４＝２５６ビットのデータは、４個のＥＣＣ回路３からＩ／Ｏバッファ２に対して、Ｎ＝３２ビットずつ別々に、転送されれば良い。
【０１１０】
また、Ｋ＝４、Ｍ＝８＋８、Ｎ＝３２で、一度に読み書き可能なビット数を超えてしまった場合には、第４実施形態の第２の例に従えば良い。つまり、リードレイテンシ経過以降、ＥＣＣされた６４ビット×４＝２５６ビットのデータを、４個のＥＣＣ回路３からＩ／Ｏバッファ２に対して、Ｎ＝３２ビットずつ別々に転送する。
【０１１１】
この後、不足ビットＬ×Ｎ＝８×３２ビット＝２５６ビットのＥＣＣを、転送を終えたＥＣＣ回路３から順次行い、最初の２５６ビットの転送に続いて順次転送すれば良い。
【０１１２】
また、不足ビットＬ×Ｎ＝４×３２ビット＝１２８ビットのように、一度に読み書き可能なビット数＞不足ビットＬ×Ｎとなった場合には、例えば、４個のＥＣＣ回路のうち、２個のＥＣＣ回路３で、不足ビットのＥＣＣを行えば良い。
【０１１３】
ところで、前述した第１〜第４実施形態に従った同期型半導体記憶装置を、データ書き込みを途中で中断し、データ読み出しを優先させるような電子機器、例えば、携帯電話等に使用した場合を考える。携帯電話等のモバイル機器では、半導体記憶装置の書き込み時のバーストカウント中に例えばチップイネーブル（ＣＥ）信号によりターミネーションされることが頻繁に生じる。この場合、バーストレングスのカウント毎にＥＣＣ回路を動作させる方式では、カウント毎に書き込みデータ及び検査ビットが書き込まれているので、バーストデータ入力が途中で中断されても、改めてＥＣＣ動作を行うことなく、次の動作に移行することが可能であるので、バーストカウント中にターミネーション（Termination ）されたとしても問題はない。
【０１１４】
これに対して、前述したようにバーストレングスのカウントの最後に、あるいは、所定数のカウント毎にＥＣＣ動作を行う第３、第４実施形態において、データ書き替え時のバーストカウント中に／ＣＥが“Ｈ”になってターミネーションされた場合に上記の問題を回避するためには、／ＣＥが“Ｈ”になった以後（例えば次）のサイクルでＥＣＣ回路を動作させるようにすればよい。一例として、第４実施形態に係る装置の第１の例および第２の例に対する変更例として第５実施形態の第１の例（Ｂ．Ｌ．＝８の場合）および第２の例（Ｂ．Ｌ．＞８の場合）を以下に説明する。
【０１１５】
（第５実施形態）
第５実施形態に係る装置は、前述した第４実施形態に係る装置と比べて、例えば下側メモリＢＴＭへのデータ書き替え時のバーストカウント中に／ＣＥが“Ｈ”になってターミネーションされた場合に／ＣＥが“Ｈ”になった後の次のサイクルでＥＣＣ回路を動作させるようにした点と、バースト書き込み制御回路（図１中の２０）はバーストカウンタ（図１中の４）によるバーストレングスのカウント中にターミネーションされた場合にターミネーションされた直後のサイクルでＥＣＣ回路３によってＥＣＣ動作を行わせるように制御する点が異なり、その他は同じである。
【０１１６】
図２５は、第５実施形態に係る装置の第１の例（Ｂ．Ｌ．＝８の場合）および第２の例（Ｂ．Ｌ．＞８の場合）におけるデータ書き込み時のＥＣＣ動作の概要を示す。このようにＥＣＣ動作のタイミングを設定すると、バーストカウント中にターミネーションされたとしても問題はない。
【０１１７】
ところで、前述した第３実施形態に係る装置の動作クロックが高速化する高周波での動作に際して、データ書き込み時のＥＣＣ動作がタイミング的に困難になる場合に、それを回避するためには、データ書き込み時のＥＣＣ動作のタイミングをずらす（例えば１サイクル遅らせる）ようにすればよい。一例として、第４実施形態に係る装置の第１の例および第２の例に対する変更例として第６実施形態の第１の例（Ｂ．Ｌ．＝８の場合）および第２の例（Ｂ．Ｌ．＞８の場合）を以下に説明する。
【０１１８】
（第６実施形態）
第６実施形態に係る装置は、前述した第４実施形態に係る装置と比べて、バースト書き込み制御回路（図１中の２０）はバーストカウンタ（図１中の４）によるバーストレングスのカウントの最後のアドレス内容を歩進させて保持させるとともに、書き込み系の動作を可能状態に保持させるように制御信号のタイミングを制御する（つまり、データ書き込み時のＥＣＣ動作のタイミングが１サイクル遅れている）点が異なり、その他は同じである。
【０１１９】
図２６は、第６実施形態に係る装置の第１の例（Ｂ．Ｌ．＝８の場合）および第２の例（Ｂ．Ｌ．＞８の場合）におけるデータ書き込み時のＥＣＣ動作の概要を示す。このようにＥＣＣ動作のタイミングを設定すると、サイクルタイムが短くなる高周波での動作に際してＥＣＣ動作のタイミングマージンを増やすことが可能になる。
【０１２０】
但し、図２６中に示すように、第２の例（Ｂ．Ｌ．＞８の場合）においては、バーストサイクルの５サイクル目に下側メモリＢＴＭで書き替えを行っている間にバーストサイクルの１サイクル〜４サイクルのデータ読み出しおよびＥＣＣ動作を行うので、９サイクル目にデータ読み出しおよびＥＣＣ動作を行う時間（次サイクルの準備時間）が短くなるおそれがある。この問題を回避するためには、８カウントの各カウントで１６ビットづつ（計１２８ビット）のデータを書き込むようにすることで、次サイクルの準備時間を十分に長くすることが対応することができる。
【０１２１】
（第７実施形態）
第７実施形態に係る装置は、前述した第６実施形態に係る装置においてデータ書き替え時のバーストカウント中にターミネーションされた場合の問題を、前述した第５実施形態に係る装置と同様の手法により回避したものである。
【０１２２】
第７実施形態に係る装置は、前述した第６実施形態に係る装置と比べて、例えば下側メモリＢＴＭへのデータ書き替え時のバーストカウント中に／ＣＥが“Ｈ”になってターミネーションされた場合に／ＣＥが“Ｈ”になった後の次のサイクルでＥＣＣ回路を動作させるようにした点が異なり、その他は同じである。
【０１２３】
図２７は、第７実施形態に係る装置の第１の例（Ｂ．Ｌ．＝８の場合）および第２の例（Ｂ．Ｌ．＞８の場合）におけるデータ書き込み時のＥＣＣ動作の概要を示す。
【０１２４】
以上、この発明を第１〜第７実施形態により説明したが、この発明は、これら実施形態それぞれに限定されるものではなく、その実施にあたっては、発明の要旨を逸脱しない範囲で種々に変形することが可能である。
【０１２５】
また、上記各実施形態はそれぞれ、単独で実施することが可能であるが、適宜組み合わせて実施することも、もちろん可能である。
【０１２６】
また、上記各実施形態には、種々の段階の発明が含まれており、各実施形態において開示した複数の構成要件の適宜な組み合わせにより、種々の段階の発明を抽出することも可能である。
【０１２７】
また、上記各実施形態では、この発明をＰＳＲＡＭに適用した例に基づき説明したが、上述したようなＰＳＲＡＭを内蔵した半導体集積回路装置、例えばプロセッサ、システムＬＳＩ等もまた、この発明の範疇である。また、この発明は、ＰＳＲＡＭに限って適用されるものではなく、ＰＳＲＡＭ以外の半導体記憶装置にも適用できる。
【図面の簡単な説明】
【０１２８】
【図１】本発明の第１の実施形態に係る同期型の半導体記憶装置の構成を示すブロック図。
【図２】図１の半導体記憶装置の読み出し動作の一例を示す図。
【図３】図１の半導体記憶装置の読み出し動作の他の例を示す図。
【図４】図１の半導体記憶装置の読み出し動作のさらに他の例を示す図。
【図５】図１の半導体記憶装置の読み出し動作のさらに他の例を示す図。
【図６】図１の半導体記憶装置の読み出し動作のさらに他の例を示す図。
【図７】図１の半導体記憶装置の読み出し動作のさらに他の例を示す図。
【図８】図１の半導体記憶装置の読み出し動作のさらに他の例を示す図。
【図９】図１の半導体記憶装置の読み出し動作のさらに他の例を示す図。
【図１０】図１の半導体記憶装置の読み出し動作のさらに他の例を示す図。
【図１１】図１の半導体記憶装置の読み出し動作例を示す波形図。
【図１２】図１の半導体記憶装置の書き込み動作の一例を示す図。
【図１３】図１の半導体記憶装置の書き込み動作の他の例を示す図。
【図１４】図１の半導体記憶装置の書き込み動作のさらに他の例を示す図。
【図１５】図１の半導体記憶装置の書き込み動作のさらに他の例を示す図。
【図１６】図１の半導体記憶装置の書き込み動作のさらに他の例を示す図。
【図１７】図１の半導体記憶装置の書き込み動作のさらに他の例を示す図。
【図１８】図１の半導体記憶装置の書き込み動作例を示す波形図。
【図１９】本発明の第２の実施形態に係る同期型の半導体記憶装置の構成例を示すブロック図。
【図２０】本発明の第３の実施形態に係る同期型の半導体記憶装置の構成を示すブロック図。
【図２１】図２０の半導体記憶装置のＥＣＣ動作の概要を示す図。
【図２２】本発明の第４の実施形態に係る同期型の半導体記憶装置の構成を示すブロック図。
【図２３】図２２の半導体記憶装置の第１の例に係るＥＣＣ動作の概要を示す図。
【図２４】図２２の半導体記憶装置の第２の例に係るＥＣＣ動作の概要を示す図。
【図２５】本発明の第５実施形態に係る同期型の半導体記憶装置のデータ書き込み時のＥＣＣ動作の概要を示す図。
【図２６】本発明の第６実施形態に係る同期型の半導体記憶装置のデータ書き込み時のＥＣＣ動作の概要を示す図。
【図２７】本発明の第７実施形態に係る同期型の半導体記憶装置のデータ書き込み時のＥＣＣ動作の概要を示す図。
【符号の説明】
【０１２９】
１…メモリセルアレイ、１ａ…ノーマルデータ部、１ｂ…パリティデータ部、ＭＣ…メモリセル、ＷＬ…ワード線、ＢＬ…ビット線、２…Ｉ／Ｏバッファ、３…エラー検知訂正（ＥＣＣ）回路、４…バーストカウンタ、５…モード設定回路、６…ロウデコーダ及びワード線ドライバ、７…ロウアドレスバッファ、８…センスアンプ、９…カラムゲート、１０…カラムアドレスバッファ、１１…ＤＱバッファ、ＤＱ…データ線、１２…クロックバッファ、１３…クロックジェネレータ、２０…バースト書き込み制御回路、３１…シンドロームデコード／エラー訂正回路、３２…リード／ライトバッファ、３３…検査ビット生成回路、３４…情報ビット生成回路、３５…シンドローム生成回路。
【図１】
2006012360.tif 000003
【図２】
2006012360.tif 000004
【図３】
2006012360.tif 000005
【図４】
2006012360.tif 000006
【図５】
2006012360.tif 000007
【図６】
2006012360.tif 000008
【図７】
2006012360.tif 000009
【図８】
2006012360.tif 000010
【図９】
2006012360.tif 000011
【図１０】
2006012360.tif 000012
【図１１】
2006012360.tif 000013
【図１２】
2006012360.tif 000014
【図１３】
2006012360.tif 000015
【図１４】
2006012360.tif 000016
【図１５】
2006012360.tif 000017
【図１６】
2006012360.tif 000018
【図１７】
2006012360.tif 000019
【図１８】
2006012360.tif 000020
【図１９】
2006012360.tif 000021
【図２０】
2006012360.tif 000022
【図２１】
2006012360.tif 000023
【図２２】
2006012360.tif 000024
【図２３】
2006012360.tif 000025
【図２４】
2006012360.tif 000026
【図２５】
2006012360.tif 000027
【図２６】
2006012360.tif 000028
【図２７】
2006012360.tif 000029