(57)【要約】【課題】  バースト動作の開始アドレスによらずライトリカバリタイムの悪化を抑止可能な半導体記憶装置を提供する。【解決手段】  選択データ保持回路１９−１、１９−２、１９−３、１９−４は、バーストライト時におけるＥＣＣコードを構成するビット数分のデータビットＣ（１）、Ｃ（２）、Ｃ（３）、Ｃ（４）及びパリティビットＰごとのメモリセル（図示せず）への複数回の書き込みのうち、初回書き込み時のデータビットを保持する。そして、バーストライト時におけるメモリセルへの最後の書き込み時に、初回に生成されたＥＣＣコードを構成するデータビットのアドレスが指定されると、最後に書き込まれるライトデータと、保持されたデータビットをもとに初回に生成されたパリティビットを更新する。【選択図】  図１
2006286059.tif 000002
【特許請求の範囲】
【請求項１】
バースト動作時にアドレッシングされるアドレスのうち、連続する複数のアドレスのデータを含んで構成される１ビットエラー訂正可能な符号を用いて不良ビットを訂正する機能を有する半導体記憶装置において、
バーストライト時における前記符号を構成するビット数分のデータビット及びパリティビットごとのメモリセルへの複数回の書き込みのうち、初回書き込み時のデータビットまたは前記データビットに応じて生成されるパリティビットを保持する保持回路を有し、
前記バーストライト時における前記メモリセルへの最後の書き込み時に、初回に生成された前記符号を構成する前記データビットのアドレスが指定されると、最後に書き込まれるライトデータと、保持された前記データビットまたは前記パリティビットをもとに初回に生成された前記パリティビットを更新することを特徴とする半導体記憶装置。
【請求項２】
前記保持回路は、前記符号を構成する前記データビットを指定するためにアドレッシングされる複数の前記アドレスのうち、先頭から２番目のアドレスからバーストライト動作が始まる場合に、初回に書き込まれる前記データビットまたは前記パリティビットを保持することを特徴とする請求項１記載の半導体記憶装置。
【請求項３】
前記符号は、書き込みの際の最小データ単位が２nである場合、ｍビットの前記パリティビットのうちｎビットで、前記最小データ単位のデータを有するライトブロック内の個々のデータを特定し、残りの（ｍ−ｎ）ビットで前記データビット内における前記ライトブロックを特定するように構成されていることを特徴とする請求項１記載の半導体記憶装置。
【請求項４】
バースト動作時にアドレッシングされるアドレスのうち、連続する複数のアドレスのデータを含んで構成される１ビットエラー訂正可能な符号を用いて不良ビットを訂正する機能を有する半導体記憶装置において、
バーストライト時における前記符号を構成するビット数分のデータビットごとのメモリセルへの複数回の書き込みのうち、初回に書き込まれるデータビットを保持する保持回路と、
前記データビットに対応するパリティビットを生成するとともに、前記バーストライト時における前記メモリセルへの最後の書き込み時に初回に生成された前記符号を構成する前記データビットのアドレスが指定されると、保持された前記データビットのうち指定された前記アドレスに対応するデータを最後に書き込まれるライトデータに置き換え、初回に生成された前記パリティビットを更新するパリティ生成回路と、
を有することを特徴とする半導体記憶装置。
【請求項５】
バースト動作時にアドレッシングされるアドレスのうち、連続する複数のアドレスのデータを含んで構成される１ビットエラー訂正可能な符号を用いて不良ビットを訂正する機能を有する半導体記憶装置において、
前記符号を構成するデータビットをもとに、書き込みの際の最小データ単位ごとに部分パリティビットを生成する部分パリティ生成回路と、
バーストライト時における前記符号を構成するビット数分のデータビットごとのメモリセルへの複数回の書き込みのうち、初回に書き込まれるデータビットをもとに生成される前記部分パリティビットを保持する保持回路と、
前記バーストライト時における前記メモリセルへの最後の書き込み時に初回に生成された前記符号を構成する前記データビットのアドレスが指定されると、保持された前記部分パリティビットと、最後に書き込まれるライトデータとから生成される部分パリティビットとを比較し、異なっている場合には該当するビットを反転する比較回路と、
前記比較回路の出力である複数の部分パリティビットを合成して前記メモリセルに書き込むパリティビット生成する部分パリティ合成回路と、
を有することを特徴とする半導体記憶装置。
【請求項６】
バースト動作時にアドレッシングされるアドレスのうち、連続する複数のアドレスのデータを含んで構成される１ビットエラー訂正可能な符号を用いて不良ビットを訂正する機能を有する半導体記憶装置において、
前記符号を構成する前記データビットを指定するためにアドレッシングされる複数の前記アドレスのうち、先頭から２番目のアドレスからバーストライト動作が始まる場合に、バーストライト時における前記符号を構成するビット数分のデータビットごとのメモリセルへの複数回の書き込みのうち、初回に書き込まれるデータビット内の先頭アドレスのデータを保持するデータ保持回路と、
初回に書き込まれる前記データビットから生成されるパリティビットを保持するパリティ保持部と、
初回以降の書き込み時における前記データビットの先頭アドレスのデータと、保持された前記データとを比較し、異なっている場合には該当するビットを反転する比較回路と、
前記比較回路の出力から部分パリティビットを生成する部分パリティ生成回路と、
前記パリティ保持回路で保持した前記パリティビットと、前記部分パリティビットとを比較し、異なっている場合には該当するビットを反転し、前記メモリセルに書き込むパリティビットとして出力するデータ反転回路と、
を有することを特徴とする半導体記憶装置。
【請求項７】
バースト動作時にアドレッシングされるアドレスのうち、連続する複数のアドレスのデータを含んで構成される１ビットエラー訂正可能な符号を用いて不良ビットを訂正する機能を有する半導体記憶装置において、
前記符号を構成する前記データビットを指定するためにアドレッシングされる複数の前記アドレスのうち、先頭から２番目のアドレスからバーストライト動作が始まる場合に、バーストライト時における前記符号を構成するビット数分のデータビットごとのメモリセルへの複数回の書き込みのうち、初回に書き込まれるデータビット内の先頭アドレスのデータを保持するデータ保持回路と、
初回に書き込まれる前記データビットから生成されるパリティビットを保持するパリティ保持部と、
初回以降の書き込み時における前記データビットの先頭アドレスのデータをもとに第１の部分パリティビットを生成する第１の部分パリティ生成回路と、
前記データ保持回路で保持された初回に書き込まれる前記データビットの前記先頭アドレスの前記データをもとに、第２の部分パリティビットを生成する第２の部分パリティ生成回路と、
前記第１の部分パリティビットと、前記第２の部分パリティビットとを比較し、異なっている場合には該当するビットを反転した第３の部分パリティビットを出力する比較回路と、
前記パリティ保持部で保持された前記パリティビットと、前記第３の部分パリティビットとを比較し、異なっている場合には該当するビットを反転し、前記メモリセルに書き込むパリティビットとして出力するデータ反転回路と、
を有することを特徴とする半導体記憶装置。
【請求項８】
バースト動作時にアドレッシングされるアドレスのうち、連続する複数のアドレスのデータを含んで構成される１ビットエラー訂正可能な符号を用いて不良ビットを訂正する機能を有する半導体記憶装置において、
前記符号を構成する前記データビットを指定するためにアドレッシングされる複数の前記アドレスのうち、先頭から２番目のアドレスからバーストライト動作が始まる場合に、バーストライト時における前記符号を構成するビット数分のデータビットごとのメモリセルへの複数回の書き込みのうち、初回に書き込まれる前記データビットから生成されるパリティビットを保持するパリティ保持部と、
前記メモリセルに書き込まれるデータビットのうち先頭アドレスのデータをもとに部分パリティビットを生成する部分パリティ生成回路と、
初回の書き込み時に前記部分パリティ生成回路で生成される第１の部分パリティビットを保持する部分パリティ保持回路と、
保持された第１の部分パリティビットと、初回以降の書き込み時において生成された第２の部分パリティビットとを比較し、異なっている場合には該当するビットを反転した第３の部分パリティビットを出力する比較回路と、
前記パリティ保持部で保持された前記パリティビットと、前記比較回路から出力された前記部分パリティビットとを比較し、異なっている場合には該当するビットを反転し、前記メモリセルに書き込むパリティビットとして出力するデータ反転回路と、
を有することを特徴とする半導体記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は半導体記憶装置に関し、特に不良ビットを訂正するエラー訂正機能及びバースト機能を有する半導体記憶装置に関する。
【背景技術】
【０００２】
メモリコアに対して１回のアドレス指定で複数のデータをまとめて転送し、データ転送速度を上げるバースト機能を有する半導体記憶装置が知られている（例えば、特許文献１参照。）。
【０００３】
図１５は、従来の半導体記憶装置のバースト動作を説明する図であり、開始アドレスがＡ（１）の場合のタイミング波形図である。
ここでは、ライトレイテンシ（ＷＬ）＝２、バースト長（ＢＬ）＝８で、開始アドレスがＡ（１）の場合におけるバースト動作（ライト動作）のタイミングを示している。開始アドレスが入力されることにより、そのアドレスに応じたワード線が選択され、ビット線対ｂｌ／ｂｌｂに差電位が生じ、センス動作が開始される。開始アドレスがＡ（１）の場合は、アドレスはＡ（１）→Ａ（２）→Ａ（３）→Ａ（４）→Ａ（５）→Ａ（６）→Ａ（７）→Ａ（８）の順にインクリメントされる（図示は省略している。）。この間ワード線選択アドレスｗ１に変化はない。ライトされるデータはＷ１（１）→Ｗ１（２）→Ｗ１（３）→Ｗ１（４）→Ｗ２（１）→Ｗ２（２）→Ｗ２（３）→Ｗ２（４）（データはいずれも１６ビット分を指し示す。以降特に記述がなければ１６ビットとして扱う。）の順に取り込まれるが、入力端子ＤＱからメモリセルの間に存在する各データバスもライトされるデータにより順次、Ｗ１（１）→Ｗ２（１）、Ｗ１（２）→Ｗ２（２）、Ｗ１（３）→Ｗ２（３）、Ｗ１（４）→Ｗ２（４）に遷移していく。メモリセルに書き込まれるタイミングは、アドレスがＡ（４）とＡ（８）の時で、計２回であり６４ビットずつ書き込まれる。なお、アドレスインクリメント、データ取り込みはいずれもクロックＣＬＫと同期している。アドレスがＡ（４）の時（１回目のライト時）にメモリセルに書き込むデータはＷ１（１）〜Ｗ１（４）で、この時コラム選択信号はＣＬ１（１）〜ＣＬ１（４）がアクティブになる。アドレスがＡ（８）のとき（２回目のライト時）にメモリセルに書き込むデータはＷ２（１）〜Ｗ２（４）である。このときコラム選択信号はＣＬ２（１）〜ＣＬ２（４）がアクティブになる。最終のライト（ここでは、アドレスがＡ（８）でのライト）を開始したクロックから、ビット線イコライズが完了し、次のコマンド（ＷＲｏｒＲＤ）が開始できるまでの期間（クロック数）をライトリカバリタイム（ｔＷＲＢ）と呼ぶ。
【０００４】
なお、バースト動作は、開始アドレスがＡ（１）から始まるのではなく、Ａ（２）やＡ（３）、Ａ（４）などから始まる場合もある。そのような場合でも、コラム選択信号はＣＬ１（１）〜ＣＬ１（４）またはＣＬ２（１）〜ＣＬ２（４）を同時にアクティブにし、以下のような制御が行われる。
【０００５】
図１６は、従来の半導体記憶装置のバースト動作を説明する図であり、開始アドレスがＡ（２）の場合のタイミング波形図である。
開始アドレスがＡ（２）の場合は、アドレスはＡ（２）→Ａ（３）→Ａ（４）→Ａ（５）→Ａ（６）→Ａ（７）→Ａ（８）→Ａ（１）の順にインクリメントされる。この間ワード線選択アドレスｗ１に変化はない。ライトされるデータはＷ１（２）→Ｗ１（３）→Ｗ１（４）→Ｗ２（１）→Ｗ２（２）→Ｗ２（３）→Ｗ２（４）→Ｗ１（１）の順に取り込まれ、入力端子ＤＱからメモリセルの間に存在する各データバスもライトされるデータにより順次、Ｗ１（２）→Ｗ２（２）、Ｗ１（３）→Ｗ２（３）、Ｗ１（４）→Ｗ２（４）、Ｗ２（１）→Ｗ１（１）に変化していく。メモリセルに書き込まれるタイミングは、アドレスがＡ（４）とＡ（８）とＡ（１）の時で、計３回である。アドレスインクリメント、データ取り込みはいずれもクロックＣＬＫと同期している。アドレスがＡ（４）の時（１回目のライト時）にメモリセルに書き込むデータはＷ１（２）〜Ｗ１（４）で、このときコラム選択信号はＣＬ１（１）〜ＣＬ１（４）がアクティブになるが、Ｗ１（１）はマスクされメモリセルに書き込まれない。アドレスがＡ（８）の時（２回目のライト時）にメモリセルに書き込むデータはＷ２（１）〜Ｗ２（４）で、このときコラム選択信号はＣＬ２（１）〜ＣＬ２（４）がアクティブになる。アドレスがＡ（１）の時（３回目のライト時）にメモリセルに書き込むデータはＷ１（１）で、このときコラム選択信号はＣＬ１（１）〜ＣＬ１（４）がアクティブになるが、Ｗ１（２）〜Ｗ１（４）はマスクされメモリセルには書き込まれない。また１回目のライト時にアクティブになるコラム選択信号ＣＬ１（１）〜ＣＬ１（４）と３回目のライト時にアクティブになるコラム選択信号ＣＬ１（１）〜ＣＬ１（４）は同一のコラム選択信号である。ｔＷＲＢの期間は、開始アドレスがＡ（１）の時と変わらない。
【０００６】
図１７は、従来の半導体記憶装置のバースト動作を説明する図であり、開始アドレスがＡ（３）の場合のタイミング波形図である。
開始アドレスがＡ（３）の場合は、アドレスはＡ（３）→Ａ（４）→Ａ（５）→Ａ（６）→Ａ（７）→Ａ（８）→Ａ（１）→Ａ（２）の順にインクリメントされるが、この間ワード線選択アドレスｗ１に変化はない。ライトされるデータはＷ１（３）→Ｗ１（４）→Ｗ２（１）→Ｗ２（２）→Ｗ２（３）→Ｗ２（４）→Ｗ１（１）→Ｗ１（２）の順に取り込まれる。入力端子ＤＱからメモリセルの間に存在する各データバスもライトされるデータにより順次、Ｗ１（３）→Ｗ２（３）、Ｗ１（４）→Ｗ２（４）、Ｗ２（１）→Ｗ１（１）、Ｗ２（２）→Ｗ１（２）に変化していく。メモリセルに書き込まれるタイミングは、アドレスがＡ（４）とＡ（８）とＡ（２）の時で、計３回である。アドレスインクリメント、データ取り込みはいずれもクロックＣＬＫと同期している。アドレスがＡ（４）の時（１回目のライト時）にメモリセルに書き込むデータはＷ１（３）、Ｗ１（４）で、このときコラム選択信号はＣＬ１（１）〜ＣＬ１（４）がアクティブになるが、Ｗ１（１）、Ｗ１（２）はマスクされメモリセルには書き込まれない。アドレスがＡ（８）の時（２回目のライト時）にメモリセルに書き込むデータはＷ２（１）〜Ｗ２（４）で、このときコラム選択信号はＣＬ２（１）〜ＣＬ２（４）がアクティブになる。アドレスがＡ（２）の時（３回目のライト時）にメモリセルに書き込むデータはＷ１（１）、Ｗ１（２）で、このときコラム選択信号はＣＬ１（１）〜ＣＬ１（４）がアクティブになるが、Ｗ１（３）、Ｗ１（４）はマスクされメモリセルには書き込まれない。また１回目のライト時にアクティブになるコラム選択信号ＣＬ１（１）〜ＣＬ１（４）と３回目のライト時にアクティブになるコラム選択信号ＣＬ１（１）〜ＣＬ１（４）は同一のコラム選択信号である。ｔＷＲＢの期間は、開始アドレスがＡ（１）またはＡ（２）の時と変わらない。
【０００７】
以上のような制御により、バースト動作を行う従来の半導体記憶装置は、異なる開始アドレスが指定された場合でも動作速度を落とすことなくバースト動作を行うことができる。
【０００８】
ところで、近年、ＤＲＡＭ（Dynamic Random Access Memory）のようなリフレッシュ動作を必要とするメモリセルで、保持期間の突発的な変動による不良の対応策の１つとして、ＥＣＣ（Error Checking and Correcting）機能を搭載するということが挙げられる（例えば特許文献２参照。）。一般的によく使われている１ビット訂正可能なＥＣＣを用いた場合、読み出しデータに１ビットのエラーがあってもＥＣＣを使って訂正することができる。なお、以下では、ＥＣＣコードとして６４ビットのデータビットと７ビットのパリティビットを用いてハミング符号を構築する場合を例にして説明する。
【０００９】
図１８は、ＥＣＣ機能及びバースト機能を有した従来の半導体記憶装置の回路ブロック図である。
従来の半導体記憶装置８００は、シンドローム生成回路８０１、デコーダ８０２、エラー訂正回路８０３、データ選択回路８０４、ライトデータ保持回路８０５−１、８０５−２、８０５−３、８０５−４、ライトステータス保持回路８０６−１、８０６−２、８０６−３、８０６−４、リード／ライトデータ選択回路８０７−１、８０７−２、８０７−３、８０７−４、パリティ生成回路８０８を有する。メモリセルの図示は省略している。
【００１０】
シンドローム生成回路８０１は、図示しないメモリセルから読み出されるリードデータｒ（１）、ｒ（２）、ｒ（３）、ｒ（４）（それぞれ１６ビットで計６４ビット）と、パリティビットＰ０（７ビット）とで、７ビットのシンドローム信号Ｓを生成する。
【００１１】
デコーダ８０２は、シンドローム信号Ｓをデコードして６４ビットのエラー訂正フラグｅｒｒを生成する。
エラー訂正回路８０３は、エラー訂正フラグｅｒｒが立ったビットを訂正（反転）し、訂正されたリードデータＲ（１）、Ｒ（２）、Ｒ（３）、Ｒ（４）（それぞれ１６ビット）を出力する。
【００１２】
データ選択回路８０４は、出力イネーブル信号に応じて、図示しないメモリセルからの６４ビットの出力データを１６ビットのＩ／Ｏに出力するためのパラレル／シリアル変換を行う。
【００１３】
ライトデータ保持回路８０５−１、８０５−２、８０５−３、８０５−４は、それぞれライトイネーブル信号ＷＥ１、ＷＥ２、ＷＥ３、ＷＥ４に応じて、Ｉ／Ｏからのライトデータを順次１６ビットずつ取り込み、保持する。
【００１４】
ライトステータス保持回路８０６−１、８０６−２、８０６−３、８０６−４は、ステータスイニシャル信号に応じて、取り込まれたライトデータを図示しないメモリセルにライトするか否かを判定する。
【００１５】
リード／ライトデータ選択回路８０７−１、８０７−２、８０７−３、８０７−４は、ライトステータス保持回路８０６−１〜８０６−４からの信号に応じて、取り込まれたライトデータＷ（１）、Ｗ（２）、Ｗ（３）、Ｗ（４）と、訂正されたリードデータＲ（１）、Ｒ（２）、Ｒ（３）、Ｒ（４）のいずれを図示しないメモリセルに書き込むか選択する。
【００１６】
パリティ生成回路８０８は、リード／ライトデータ選択回路８０７−１〜８０７−４で選択されたデータＣ（１）、Ｃ（２）、Ｃ（３）、Ｃ（４）をパリティ生成用データとして入力し、７ビットのパリティビットＰを生成して出力する。
【００１７】
次に、上記のようなＥＣＣ機能を有する従来の半導体記憶装置８００におけるバースト動作を説明する。
なお、以下ではバースト長（ＢＬ）＝８で、ライトの最小データ単位（以下ライトブロックまたは語構成という。）が１６ビットの場合について説明する。この場合、ＥＣＣコードを構成する６４ビットのデータビットは、バースト動作時にアドレッシングされるアドレスをＡ（１）〜Ａ（８）とすると、連続するアドレスＡ（１）〜Ａ（４）またはアドレスＡ（５）〜Ａ（８）のデータから構成される。
【００１８】
図１９は、ＥＣＣ機能を有する従来の半導体記憶装置のバースト動作を説明する図であり、開始アドレスがＡ（１）の場合のタイミング波形図である。
ここでは、図１５の場合と同様に、ライトレイテンシ（ＷＬ）＝２、開始アドレスがＡ（１）の場合におけるバースト動作（ライト動作）のタイミングを示している。図１５と異なる点は、ＥＣＣ機能を有する半導体記憶装置８００では、パリティビットＰの生成のために、ライト時に図示しないメモリセルからリードデータｒ（１）〜ｒ（４）を読み出す（以下ＥＣＣ−ＲＤと表記する。）必要がある。但しＥＣＣ−ＲＤの期間は１クロックの期間よりも短いとする。
【００１９】
開始アドレスに応じて図示しないメモリセルのワード線が選択されると、ビット線対ｂｌ／ｂｌｂに差電位が生じセンス動作が開始される。このときＥＣＣ−ＲＤを行うため図示しないメモリセルのコラム選択線がアクティブになる期間が図１５と異なっている。また、開始アドレスによらず、ＥＣＣ−ＲＤ時とライト（ＷＲ）時は、コラム選択信号ＣＬ１（１）〜ＣＬ１（４）またはＣＬ２（１）〜ＣＬ２（４）はアクティブになる。ＥＣＣ−ＲＤが終了してもコラム選択信号ＣＬ１（１）〜ＣＬ１（４）、ＣＬ２（１）〜ＣＬ２（４）はアクティブの状態を保持し、アドレスがＡ（４）とＡ（８）の時に計２回ライト動作が行われ、リード／ライトデータ選択回路８０７−１〜８０７−４で選択されたデータＣ（１）〜Ｃ（４）及びパリティ生成回路８０８で生成されたパリティビットＰが図示しないメモリセルに書き込まれる。１回目のライトでは、ライトデータＷ１（１）、Ｗ１（２）、Ｗ１（３）、Ｗ１（４）がデータＣ（１）〜Ｃ（４）として選択され、２回目のライトでは、ライトデータＷ２（１）、Ｗ２（２）、Ｗ２（３）、Ｗ２（４）がデータＣ（１）〜Ｃ（４）として選択される。ライト動作終了とともにコラム選択信号ＣＬ１（１）〜ＣＬ１（４）、ＣＬ２（１）〜ＣＬ２（４）は非活性となる。なお、ＥＣＣ動作を行う場合においても開始アドレスがＡ（１）の場合には、ｔＷＲＢの期間に変化はない。
【００２０】
図２０は、ＥＣＣ機能を有する従来の半導体記憶装置のバースト動作を説明する図であり、開始アドレスがＡ（２）の場合のタイミング波形図である。
図１６と同様に、開始アドレスに応じて図示しないメモリセルのワード線が選択され、ビット線対ｂｌ／ｂｌｂに差電位が生じセンス動作が開始されるが、このときＥＣＣ−ＲＤを行うため図示しないメモリセルのコラム選択線がアクティブになる期間が図１６と異なっている。つまり、ＥＣＣ−ＲＤ時とライト（ＷＲ）時は、コラム選択信号ＣＬ１（１）〜ＣＬ１（４）またはＣＬ２（１）〜ＣＬ２（４）はアクティブになる。ＥＣＣ−ＲＤが終了してもコラム選択信号ＣＬ１（１）〜ＣＬ１（４）、ＣＬ２（１）〜ＣＬ２（４）はアクティブの状態を保持し、アドレスＡ（４）とＡ（８）とＡ（１）のときに計３回ライトが行われる。パリティ生成回路１８にてパリティビットＰを生成するのに必要なビット数のデータビットを揃えるために、１回目のライト時はＥＣＣ−ＲＤで読み出されたアドレスＡ（１）の訂正されたリードデータＲ（１）（図１８参照。図２０では図示を省略。）と、ライトデータＷ１（２）〜Ｗ１（４）をデータＣ（１）〜Ｃ（４）として選択してライトし、２回目のライト時はライトデータＷ２（１）〜Ｗ２（４）をデータＣ（１）〜Ｃ（４）として選択してライトし、３回目のライト時は、Ｗ１（１）をデータＣ（１）として選択してライトする。このときコラム選択信号はＣＬ１（１）〜ＣＬ１（４）がアクティブになるが、ライトデータＷ１（２）〜Ｗ１（４）はマスクされメモリセルには書き込まれない。その代わり、ＥＣＣコードに必要なデータビットを揃えるために、ＥＣＣ−ＲＤによって読み出されたリードデータＲ（２）〜Ｒ（４）（１回目のライト時に書き込まれたＷ１（２）〜Ｗ１（４））を用いる。具体的には、図１８で示したライトステータス保持回路８０６−１〜８０６−４からの信号をもとにリード／ライトデータ選択回路８０７−１はライトデータＷ１（１）（図１８中ではＷ（１））を選択して出力し、残りのリード／ライトデータ選択回路８０７−２〜８０７−４は、訂正されたリードデータＲ（２）〜Ｒ（４）を選択して出力する。ライト終了とともにコラム選択信号ＣＬ１（１）〜ＣＬ１（４）、ＣＬ２（１）〜ＣＬ２（４）は非活性となる。また、１回目のライト時にアクティブになるコラム選択信号ＣＬ１（１）〜ＣＬ１（４）と、３回目のライト時にアクティブになるコラム選択信号ＣＬ１（１）〜ＣＬ１（４）は同一のコラム選択信号である。
【００２１】
ここで、図１６と大きく異なるのは、アドレスがＡ（１）の時のライト動作（つまり３回目のライト動作）である。開始アドレスがＡ（２）の場合、ＥＣＣ−ＲＤとライト動作が続けて行われることによって、ＥＣＣ−ＲＤの期間の分、ビット線イコライズのタイミングが遅れてしまう。このためＥＣＣ機能を有さない半導体記憶装置の動作（図１６）と比べて１クロック分ｔＷＲＢの悪化が生じてしまう。
【００２２】
図２１は、ＥＣＣ機能を有する従来の半導体記憶装置のバースト動作を説明する図であり、開始アドレスがＡ（３）の場合のタイミング波形図である。
図１７と同様に、開始アドレスに応じて図示しないメモリセルのワード線が選択され、ビット線対ｂｌ／ｂｌｂに差電位が生じセンス動作が開始されるが、このときＥＣＣ−ＲＤを行うため図示しないメモリセルのコラム選択線がアクティブになる期間が図１７と異なっている。また、ＥＣＣ−ＲＤ時とライト（ＷＲ）時は、コラム選択信号ＣＬ１（１）〜ＣＬ１（４）またはＣＬ２（１）〜ＣＬ２（４）はアクティブになる。ＥＣＣ−ＲＤが終了してもコラム選択信号ＣＬ１（１）〜ＣＬ１（４）、ＣＬ２（１）〜ＣＬ２（４）はアクティブの状態を保持し、アドレスＡ（４）とＡ（８）とＡ（２）のときに計３回ライトが行われる。１回目のライト時はＥＣＣ−ＲＤで読み出されたＲ（１）、Ｒ（２）（図１８参照。図２１では図示を省略。）と、ライトデータＷ１（３）、Ｗ１（４）をデータＣ（１）〜Ｃ（４）として選択してライトし、２回目のライト時はライトデータＷ２（１）〜Ｗ２（４）をデータＣ（１）〜Ｃ（４）として選択してライトし、３回目のライト時は、ライトデータＷ１（１）、Ｗ１（２）をデータＣ（１）、Ｃ（２）として選択してライトする。このときコラム選択信号はＣＬ１（１）〜ＣＬ１（４）がアクティブになるが、ライトデータＷ１（３）、Ｗ１（４）はマスクされメモリセルには書き込まれない。具体的には、図１８で示したライトステータス保持回路８０６−１〜８０６−４からの信号をもとにリード／ライトデータ選択回路８０７−１、８０７−２はそれぞれライトデータＷ（１）、Ｗ（２）を選択して出力し、残りのリード／ライトデータ選択回路８０７−３、８０７−４は、リードデータＲ（３）、Ｒ（４）（すなわち１回目のライト時に書き込まれたライトデータＷ１（３）、Ｗ１（４））をデータＣ（３）、Ｃ（４）として選択して出力する。ライト終了とともにコラム選択信号ＣＬ１（１）〜ＣＬ１（４）、ＣＬ２（１）〜ＣＬ２（４）は非活性となる。また、１回目のライト時にアクティブになるコラム選択信号ＣＬ１（１）〜ＣＬ１（４）と、３回目のライト時にアクティブになるコラム選択信号ＣＬ１（１）〜ＣＬ１（４）は同一のコラム選択信号である。ここで、図１７と大きく異なるのは、アドレスがＡ（２）の時のライト動作（つまり３回目のライト動作）である。ＥＣＣ−ＲＤとライト動作が行われるのは開始アドレスがＡ（２）の時（図２０参照）と同様であるが、アドレスがＡ（２）のライト時前までにＥＣＣ−ＲＤが終了するため、ビット線イコライズが後ろに食い込むことはない。よって、ＥＣＣ機能の有無に係わらずｔＷＲＢの期間に変化はない。なお、説明を省略するが、開始アドレスがＡ（４）の時でも同様で、ｔＷＲＢの期間に変化はない。
【特許文献１】特開平４−２９１０８４号公報
【特許文献２】特開２００２−５６６７１号公報
【発明の開示】
【発明が解決しようとする課題】
【００２３】
上記のように、ＥＣＣ機能及びバースト機能を有する従来の半導体記憶装置では、開始アドレス（特に開始アドレスＡ（２）の場合）によって、ライトリカバリタイムが伸びてしまうという問題があった。
【００２４】
本発明はこのような点に鑑みてなされたものであり、バースト動作の開始アドレスによらずライトリカバリタイムの悪化を抑止可能な半導体記憶装置を提供することを目的とする。
【課題を解決するための手段】
【００２５】
本発明では上記問題を解決するために、バースト動作時にアドレッシングされるアドレスのうち、連続する複数のアドレスのデータを含んで構成される１ビットエラー訂正可能な符号を用いて不良ビットを訂正する機能を有する半導体記憶装置において、図１に示すように、バーストライト時における前記符号を構成するビット数分のデータビットＣ（１）、Ｃ（２）、Ｃ（３）、Ｃ（４）及びパリティビットＰごとのメモリセル（図示せず）への複数回の書き込みのうち、初回書き込み時のデータビットまたはそのデータビットに応じて生成されるパリティビットを保持する保持回路（図１では、選択データ保持回路１９−１、１９−２、１９−３、１９−４）を有し、バーストライト時におけるメモリセルへの最後の書き込み時に、初回に生成された前記符号を構成する前記データビットのアドレスが指定されると、最後に書き込まれるライトデータと、保持された前記データビットまたは前記パリティビットをもとに初回に生成された前記パリティビットを更新することを特徴とする半導体記憶装置が提供される。
【００２６】
上記の構成によれば、保持回路（選択データ保持回路１９−１、１９−２、１９−３、１９−４）は、バーストライト時における１ビットエラー訂正可能な符号を構成するビット数分のデータビットＣ（１）、Ｃ（２）、Ｃ（３）、Ｃ（４）及びパリティビットＰごとのメモリセル（図示せず）への複数回の書き込みのうち、初回書き込み時のデータビットまたはそのデータビットに応じて生成されるパリティビットを保持する。そして、バーストライト時におけるメモリセルへの最後の書き込み時に、初回に生成された符号を構成するデータビットのアドレスが指定されると、最後に書き込まれるライトデータと、保持されたデータビットまたはパリティビットをもとに初回に生成されたパリティビットが更新されるので、バーストライト時におけるメモリセルへの最後の書き込み時にメモリコアアクセスをする必要がなく、符号を構成するデータビットを指定するためにアドレッシングされる複数のアドレスのうち、先頭から２番目のアドレスからバーストライト動作が始まる場合でも、ライトリカバリタイムの悪化が抑止される。
【発明の効果】
【００２７】
本発明の半導体記憶装置によれば、バーストライト時における１ビットエラー訂正可能な符号を構成するビット数分のデータビット及びパリティビットごとのメモリセルへの複数回の書き込みのうち、初回書き込み時のデータビットまたはそのデータビットに応じて生成されるパリティビットを保持し、バーストライト時におけるメモリセルへの最後の書き込み時に、初回に生成された符号を構成するデータビットのアドレスが指定されると、最後に書き込まれるライトデータと、保持されたデータビットまたはパリティビットをもとに初回に生成されたパリティビットが更新されるので、バーストライト時におけるメモリセルへの最後の書き込み時にメモリコアアクセスをする必要がなく、符号を構成するデータビットを指定するためにアドレッシングされる複数のアドレスのうち、先頭から２番目のアドレスからバーストライト動作が始まる場合でも、ライトリカバリタイムの悪化を抑止することができる。
【発明を実施するための最良の形態】
【００２８】
以下、本発明の実施の形態を図面を参照して詳細に説明する。
なお、以下に示す実施の形態の半導体記憶装置はＥＣＣ機能を有するものである。１ビットエラー訂正のＥＣＣコードを構築する場合、８ビットのデータビットに対して４ビットのパリティビット、１６ビットのデータビットに対して５ビットのパリティビット、６４ビットのデータビットに対して７ビットのパリティビット、１２８ビットのデータビットに対しては８ビットのパリティビットが必要になる。以下では、６４ビットのデータビットと７ビットのパリティビットを用いてＥＣＣコードを構築する場合を例にして説明する。
【００２９】
図１は、第１の実施の形態の半導体記憶装置の回路ブロック図である。
第１の実施の形態の半導体記憶装置１０ａは、従来の半導体記憶装置８００と同様に、シンドローム生成回路１１、デコーダ１２、エラー訂正回路１３、データ選択回路１４、ライトデータ保持回路１５−１、１５−２、１５−３、１５−４、ライトステータス保持回路１６−１、１６−２、１６−３、１６−４、リード／ライトデータ選択回路１７−１、１７−２、１７−３、１７−４、パリティ生成回路１８を有する。そして、第１の実施の形態の半導体記憶装置１０ａは、さらに、選択データ保持回路１９−１、１９−２、１９−３、１９−４と、選択回路２０−１、２０−２、２０−３、２０−４を有することを特徴としている。
【００３０】
シンドローム生成回路１１は、図示しないメモリセルから読み出されるリードデータｒ（１）、ｒ（２）、ｒ（３）、ｒ（４）（それぞれ１６ビットで計６４ビット）と、それに対応したパリティビットＰ０（７ビット）とからなるＥＣＣコードにより、７ビットのシンドローム信号Ｓを生成する。
【００３１】
デコーダ１２は、シンドローム信号Ｓをデコードして６４ビットのエラー訂正フラグｅｒｒを生成する。
エラー訂正回路１３は、例えばＥｘＯＲ回路から構成され、リードデータｒ（１）〜ｒ（４）と、エラー訂正フラグｅｒｒを入力し、エラー訂正フラグｅｒｒが立ったリードデータｒ（１）〜ｒ（４）のビットを訂正（反転）し、それぞれ１６ビットの訂正されたリードデータ（以下単にリードデータという。）Ｒ（１）、Ｒ（２）、Ｒ（３）、Ｒ（４）を出力する。
【００３２】
データ選択回路１４は、入力アドレスによって指定される出力イネーブル信号に応じて、図示しないメモリセルからの６４ビットの出力データを１６ビットのＩ／Ｏで順に出力するためのパラレル／シリアル変換を行う。
【００３３】
ライトデータ保持回路１５−１〜１５−４は、それぞれライトイネーブル信号ＷＥ１、ＷＥ２、ＷＥ３、ＷＥ４に応じて、Ｉ／Ｏからのライトデータを順次１６ビットずつ取り込み、保持する。
【００３４】
ライトステータス保持回路１６−１〜１６−４は、ステータスイニシャル信号に応じて、取り込まれたライトデータを図示しないメモリセルにライトするか否かを判定する。
リード／ライトデータ選択回路１７−１〜１７−４は、ライトステータス保持回路１６−１〜１６−４からの信号に応じて、取り込まれたライトデータＷ（１）、Ｗ（２）、Ｗ（３）、Ｗ（４）と、選択回路２０−１〜２０−２からの出力データのいずれかを選択して、図示しないメモリセルに書き込むデータＣ（１）〜Ｃ（４）として出力する。
【００３５】
パリティ生成回路１８は、選択されたデータＣ（１）〜Ｃ（４）をパリティ生成用データとして入力し、７ビットのパリティビットＰを出力する。
選択データ保持回路１９−１〜１９−４は、図示しないメモリセルに書き込まれるデータＣ（１）〜Ｃ（４）を、データ保持イネーブル信号に応じて保持する。
【００３６】
選択回路２０−１〜２０−４は、データ選択信号に応じて、選択データ保持回路１９−１〜１９−４からのデータか、エラー訂正されたリードデータＲ（１）〜Ｒ（４）のデータのいずれかを選択して、リード／ライトデータ選択回路１７−１〜１７−４に入力する。
【００３７】
以下、第１の実施の形態の半導体記憶装置１０ａにおけるバースト動作を説明する。
まず、バーストリード動作について簡単に説明する。
バーストリード時には、図示しないメモリセルからのリードデータｒ（１）〜ｒ（４）（それぞれ１６ビット）を１クロックで読み出す。シンドローム生成回路１１は、リードデータｒ（１）〜ｒ（４）と、リードデータｒ（１）〜ｒ（４）に対応した７ビットのパリティビットＰ０により７ビットのシンドローム信号Ｓを生成する。デコーダ１２は、シンドローム信号Ｓをデコードして６４ビットのエラー訂正フラグｅｒｒを生成する。エラー訂正回路１３は、リードデータｒ（１）〜ｒ（４）と、そのデータをもとに生成されたエラー訂正フラグｅｒｒを入力し、エラー訂正フラグｅｒｒが立ったリードデータｒ（１）〜ｒ（４）のビットを訂正（反転）し、リードデータＲ（１）、Ｒ（２）、Ｒ（３）、Ｒ（４）（それぞれ１６ビット）を出力する。データ選択回路１４は、出力イネーブル信号に応じて、図示しないメモリセルからの６４ビットの出力データに対し、パラレル／シリアル変換を行い１６ビットのＩ／Ｏで順に出力する。バースト長（ＢＬ）＝８の場合には、以上の処理を２回続けて行う。すなわち１回目に読み出したデータのアドレスの後続アドレスに格納されたデータをリードデータｒ（１）〜ｒ（４）として同様に読み出し、エラー訂正を行った後出力する。
【００３８】
次に、バーストライト動作の詳細を説明する。
なお、以下ではバースト長（ＢＬ）＝８で、語構成が１６ビットの場合について説明する。この場合、ＥＣＣコードを構成する６４ビットのデータビットはバースト動作時にアドレッシングされるアドレスＡ（１）〜Ａ（８）のうち、連続するアドレスＡ（１）〜Ａ（４）またはアドレスＡ（５）〜Ａ（８）のデータから構成される。図１において、データＣ（１）〜Ｃ（４）が、それぞれ図示しないメモリセルのアドレスＡ（１）〜Ａ（４）またはアドレスＡ（５）〜Ａ（８）に書き込まれることでＥＣＣコードを構成する。
【００３９】
バーストライトの開始アドレスが、Ａ（１）またはＡ（５）の場合や、Ａ（３）、Ａ（４）、Ａ（７）、Ａ（８）の場合には、ライトリカバリタイム（ｔＷＲＢ）の悪化は少ないので（図１９、図２１参照）、選択データ保持回路１９−１〜１９−４は、図示しないメモリセルに書き込むデータＣ（１）〜Ｃ（４）を保持せず、選択回路２０−１〜２０−４はリードデータＲ（１）〜Ｒ（４）を選択し、リード／ライトデータ選択回路１７−１〜１７−４に入力する。これにより、図１９、２１で示したような従来の半導体記憶装置８００と同様の動作を行う。
【００４０】
一方、バーストライトの開始アドレスが、Ａ（２）またはＡ（６）の場合について説明する。
以下に開始アドレスがＡ（２）の場合についてのタイミング波形図を示す。開始アドレスがＡ（６）の場合もほぼ同様である。
【００４１】
図２は、第１の実施の形態の半導体記憶装置のバーストライト動作を説明する図であり、開始アドレスがＡ（２）の場合のタイミング波形図である。
開始アドレスが入力されて図示しないメモリセルのワード線が選択され、ビット線対ｂｌ／ｂｌｂに差電位が生じセンス動作が開始される。このとき、ＥＣＣ−ＲＤ時とライト（ＷＲ）時は、コラム選択信号ＣＬ（１）〜ＣＬ（４）またはＣＬ（１）ａ〜ＣＬ（４）ａはアクティブになっている。開始アドレスがＡ（２）の場合、図示を省略しているがアドレスはＡ（２）→Ａ（３）→Ａ（４）→Ａ（５）→Ａ（６）→Ａ（７）→Ａ（８）→Ａ（１）の順にインクリメントされる。この間、ワード線選択アドレスｗ１に変化はない。ライトされるデータはＷ１（２）→Ｗ１（３）→Ｗ１（４）→Ｗ２（１）→Ｗ２（２）→Ｗ２（３）→Ｗ２（４）→Ｗ１（１）の順に取り込まれる。各データバスもライトされるデータにより順次、Ｗ１（２）→Ｗ２（２）、Ｗ１（３）→Ｗ２（３）、Ｗ１（４）→Ｗ２（４）、Ｗ２（１）→Ｗ１（１）に遷移していく。ＥＣＣ−ＲＤが終了してもコラム選択信号ＣＬ１（１）〜ＣＬ１（４）、ＣＬ２（１）〜ＣＬ２（４）はアクティブの状態を保持し、アドレスＡ（４）とＡ（８）とＡ（１）のときに計３回ライトが行われる。パリティ生成回路１８にてパリティビットＰを生成するのに必要なビット数のデータビットを揃えるために、１回目のライト時はＥＣＣ−ＲＤで読み出されたアドレスＡ（１）のリードデータＲ（１）と、アドレスＡ（２）〜Ａ（４）にライトするライトデータＷ１（２）〜Ｗ１（４）をデータＣ（１）〜Ｃ（４）として選択する（リードデータＲ（１）〜Ｒ（４）、データＣ（１）〜Ｃ（４）は図２では図示を省略している）。
【００４２】
第１の実施の形態の半導体記憶装置１０ａでは、この開始アドレスがＡ（２）のバーストライト時に、最初に図示しないメモリセルに書き込む訂正されたリードデータＲ（１）と、ライトデータＷ１（２）〜Ｗ１（４）とを、データＣ（１）〜データＣ（４）としてそれぞれ選択データ保持回路１９−１〜１９−４に保持する。
【００４３】
２回目のライト時は従来と同様に、ＥＣＣ−ＲＤを行った後にライトデータＷ２（１）〜Ｗ２（４）がデータＣ（１）〜Ｃ（４）として選択され、図示しないメモリセルにライトされる。
【００４４】
３回目のライト時、つまり、１回のバーストライト動作において最後のライト時、選択データ保持回路１９−１〜１９−４に保持されたデータが読み出される。すなわち、選択回路２０−１〜２０−４は、リードデータＲ（１）〜Ｒ（４）ではなく、選択データ保持回路１９−１〜１９−４で保持されたデータを選択してリード／ライトデータ選択回路１７−１〜１７−４に入力する。リード／ライトデータ選択回路１７−１〜１７−４のうち、リード／ライトデータ選択回路１７−１は、ライトステータス保持回路１６−１〜１６−４からの信号をもとに新たに書き込まれるアドレスＡ（１）のライトデータＷ１（１）を選択する。その他は保持されていたデータ、すなわちライトデータＷ１（２）〜Ｗ１（４）を選択する。そしてこれらのライトデータＷ１（１）〜Ｗ１（４）をデータＣ（１）〜Ｃ（４）としてパリティ生成回路１８に入力するとともに図示しないメモリセルのアドレスＡ（１）〜Ａ（４）に書き込む。
【００４５】
ここでパリティビットＰの生成の詳細を説明する。
図３は、開始アドレスがＡ（１）の場合のパリティビット生成の様子を説明するデータ遷移波形図である。
【００４６】
開始アドレスがＡ（１）の場合には、２回ライト動作が行われる。１回目のライト動作が行われる前には、まずＥＣＣ−ＲＤを行う。このとき図示しないメモリセルからリードデータバスにそれぞれ１６ビットのリードデータＲ１（１）〜Ｒ１（４）を読み出す。選択回路２０−１〜２０−４及びリード／ライトデータ選択回路１７−１〜１７−４ではこのリードデータＲ１（１）〜Ｒ１（４）を選択する。そしてパリティ生成回路１８はリードデータＲ１（１）〜Ｒ１（４）をもとにパリティビットＰ０を生成する。これにより、パリティライトバスの状態はＰ０（７ビット）となる。ライトデータが入力されると、リード／ライトデータ選択回路１７−１〜１７−４は、リードデータＲ１（１）〜Ｒ１（４）をライトデータに置き換えて、パリティ生成回路１８は、その都度パリティビットを生成する。例えば、ライトデータバスにライトデータＷ１（１）（１６ビット）が入力されると、パリティ生成のためのデータＣ（１）はリードデータＲ１（１）からライトデータＷ１（１）に遷移する。パリティ生成回路１８は、ライトデータＷ１（１）と、リードデータＲ１（２）〜Ｒ１（４）をもとにパリティビットＰ１を生成する。これにより、パリティライトバスの状態はＰ１となる。同様に順次ライトデータＷ（２）、Ｗ（３）、Ｗ（４）が入力されるたびにパリティビットは、Ｐ１→Ｐ１２→Ｐ１２３→Ｐ１２３４と生成しなおされ、最終的にパリティライトバスの状態はＰ１２３４になり、ライトデータＷ１（１）〜Ｗ１（４）とパリティビットＰ１２３４がメモリセルに書き込まれることになる。なお、図示を省略しているが、同様に２回目のライト動作が行われ、ライトデータとそれによって生成されたパリティビットがメモリセルに書き込まれる。これでバースト長（ＢＬ）＝８のライト動作が終了する。
【００４７】
図４は、開始アドレスがＡ（２）の場合のパリティビット生成の様子を説明するデータ遷移波形図である。
開始アドレスがＡ（２）の場合には、３回ライト動作が行われる。１回目のライト動作を行う前には、まずＥＣＣ−ＲＤを行い、図３と同様に図示しないメモリセルからリードデータバスにそれぞれ１６ビットのリードデータＲ１（１）〜Ｒ１（４）を読み出す。選択回路２０−１〜２０−４及びリード／ライトデータ選択回路１７−１〜１７−４ではこのリードデータＲ１（１）〜Ｒ１（４）を選択する。そしてパリティ生成回路１８はリードデータＲ１（１）〜Ｒ１（４）をもとにパリティビットＰ０を生成する。これにより、パリティライトバスの状態はＰ０となる。ライトデータが入力されると、リード／ライトデータ選択回路１７−１〜１７−４はリードデータＲ１（１）〜Ｒ１（４）をライトデータに置き換えて、パリティ生成回路１８は、その都度パリティビットを生成する。例えば、ライトデータバスにライトデータＷ１（２）が入力されると、パリティビット生成のためのデータＣ（２）はリードデータＲ１（２）からライトデータＷ１（２）に遷移する。パリティ生成回路１８は、ライトデータＷ１（２）と、リードデータＲ１（１）、Ｒ１（３）、Ｒ１（４）をもとにパリティビットＰ２を生成する。これにより、パリティライトバスの状態はＰ２となる。同様に順次ライトデータＷ１（３）、Ｗ１（４）が入力されるたびにパリティビットは、Ｐ２→Ｐ２３→Ｐ２３４と生成しなおされ、最終的にパリティライトバスの状態はＰ２３４になる。そして、リードデータＲ１（１）と、ライトデータＷ１（２）〜Ｗ１（４）が、図示しないメモリセルに書き込まれるデータＣ（１）〜Ｃ（４）として選択され、パリティビットＰ２３４とともにメモリセルに書き込まれることになる。さらに、第１の実施の形態の半導体記憶装置１０ａでは、選択データ保持回路１９−１〜１９−４にて、１回目のライト動作におけるデータＣ（１）〜Ｃ（４）（すなわち、Ｒ１（１）、Ｗ１（２）、Ｗ１（３）、Ｗ１（４））を一時記憶する。そして、その状態を保持したままで２回目のライト動作が行われる。
【００４８】
２回目のライト動作では、１回目と同様にＥＣＣ−ＲＤを行い図示しないメモリセルからリードデータバスにリードデータＲ２（１）〜Ｒ２（４）を読み出す。選択回路２０−１〜２０−４及びリード／ライトデータ選択回路１７−１〜１７−４ではこのリードデータＲ２（１）〜Ｒ２（４）を選択する。そしてパリティ生成回路１８にてリードデータＲ２（１）〜Ｒ２（４）をもとにパリティビットＰ０ａを生成する。これにより、パリティライトバスの状態はＰ０ａとなる。ライトデータが入力されると、リード／ライトデータ選択回路１７−１〜１７−４は、リードデータＲ２（１）〜Ｒ２（４）をライトデータに置き換えて、パリティ生成回路１８は、その都度、Ｐ１ａ→Ｐ１２ａ→Ｐ１２３ａ→Ｐ１２３４ａとパリティビットを更新する。最終的にパリティライトバスの状態はＰ１２３４ａになり、ライトデータＷ２（１）〜Ｗ２（４）がデータＣ（１）〜Ｃ（４）として選択され、パリティビットＰ１２３４ａとともに図示しないメモリセルに書き込まれることになる。
【００４９】
３回目のライト動作では、選択回路２０−１〜２０−４は選択データ保持回路１９−１〜１９−４に保持されたリードデータＲ１（１）及びライトデータＷ１（２）、Ｗ１（３）、Ｗ１（４）を選択して、リード／ライトデータ選択回路１７−１〜１７−４に入力する。リード／ライトデータ選択回路１７−１〜１７−４もそのデータを選択する。パリティ生成回路１８は、リードデータＲ（１）及びライトデータＷ１（２）、Ｗ１（３）、Ｗ１（４）をもとにパリティビットＰ２３４を生成する。ここで、アドレスＡ（１）にライトされるライトデータＷ１（１）が書き込まれると、ライトデータ保持回路１５−１〜１５−４は、ライトデータＷ１（１）を取り込み、それをリード／ライトデータ選択回路１７−１に入力する。リード／ライトデータ選択回路１７−１は、保持されていたリードデータＲ１（１）の代わりにライトデータＷ（１）を選択し、パリティ生成回路１８に入力する。パリティ生成回路１８は、ライトデータＷ１（１）と、保持されていたＷ１（２）、Ｗ１（３）、Ｗ１（４）をもとにパリティビットＰ１２３４を生成する。これにより、パリティライトバスの状態はＰ１２３４になりライトデータＷ１（１）〜Ｗ１（４）とパリティビットＰ１２３４がメモリセルに書き込まれることになる。これで、バースト長（ＢＬ）＝８のライト動作が終了する。なお、１回目のライト時にアクティブになるコラム選択信号ＣＬ１（１）〜ＣＬ１（４）と、３回目のライト時にアクティブになるコラム選択信号ＣＬ１（１）〜ＣＬ１（４）は同一である（図２参照）。
【００５０】
図５は、開始アドレスがＡ（３）の場合のパリティビット生成の様子を説明するデータ遷移波形図である。
開始アドレスがＡ（３）の場合には、３回ライト動作が行われる。１回目のライト動作が行われる前には、まずＥＣＣ−ＲＤを行う。このとき図示しないメモリセルからリードデータバスにそれぞれ１６ビットのリードデータＲ１（１）〜Ｒ１（４）を読み出す。選択回路２０−１〜２０−４及びリード／ライトデータ選択回路１７−１〜１７−４ではこのリードデータＲ１（１）〜Ｒ１（４）を選択する。そしてパリティ生成回路１８はリードデータＲ１（１）〜Ｒ１（４）をもとにパリティビットＰ０を生成する。これにより、パリティライトバスの状態はＰ０となる。ライトデータが入力されると、リード／ライトデータ選択回路１７−１〜１７−４は、リードデータＲ１（１）〜Ｒ１（４）をライトデータに置き換えて、パリティ生成回路１８は、その都度パリティビットを生成する。例えば、ライトデータバスにライトデータＷ１（３）が入力されると、パリティビット生成のためのデータＣ（３）はリードデータＲ１（３）からライトデータＷ１（３）に遷移する。パリティ生成回路１８は、ライトデータＷ１（３）と、リードデータＲ１（１）、Ｒ１（２）、Ｒ１（４）をもとにパリティビット生成する。これにより、パリティライトバスの状態はＰ３となる。同様にライトデータＷ１（４）が入力されると、パリティビットは生成しなおされ、最終的にパリティライトバスの状態はＰ３４になり、リードデータＲ１（１）、Ｒ１（２）及びライトデータＷ１（３）、Ｗ１（４）がデータＣ（１）〜Ｃ（４）として選択され、パリティビットＰ３４とともに図示しないメモリセルに書き込まれることになる。同様に２回目のライト動作が行われ、最終的にライトデータＷ２（１）〜Ｗ２（４）と、パリティビットＰ１２３４ａが図示しないメモリセルに書き込まれる。
【００５１】
３回目のライト動作では、まずＥＣＣ−ＲＤを行い、図示しないメモリセルからリードデータバスにそれぞれ１６ビットのリードデータＲ１（１）、Ｒ１（２）と１回目のライト動作で書き込んだＷ１（３）、Ｗ１（４）を読み出す。選択回路２０−１〜２０−４及びリード／ライトデータ選択回路１７−１〜１７−４ではこのリードデータＲ１（１）、Ｒ１（２）、Ｗ１（３）、Ｗ１（４）を選択する。パリティ生成回路１８は、リードデータＲ１（１）、Ｒ１（２）、Ｗ１（３）、Ｗ１（４）をもとにパリティビットＰ３４を生成する。これにより、パリティライトバスの状態はＰ３４となる。パリティ生成回路１８は、ライトデータが入力されると、ライトデータに置き換えて、その都度パリティビットを生成する。ライトデータＷ１（１）が入力されると、パリティビット生成用のデータＣ（１）もリードデータＲ（１）からライトデータＷ１（１）に遷移し、パリティ生成回路１８は、パリティビットＰ１３４を生成する。同様にライトデータＷ１（２）が入力されると、パリティビットは生成しなおされ、最終的にパリティライトバスの状態はＰ１２３４になり、ライトデータＷ１（１）、Ｗ１（２）、Ｗ１（３）、Ｗ１（４）がデータＣ（１）〜Ｃ（４）として選択され、パリティビットＰ１２３４とともに図示しないメモリセルに書き込まれることになる。これで、バースト長（ＢＬ）＝８のライト動作が終了する。なお、１回目のライト時にアクティブになるコラム選択信号ＣＬ１（１）〜ＣＬ１（４）と、３回目のライト時にアクティブになるコラム選択信号ＣＬ１（１）〜ＣＬ１（４）は同一である（図２参照）。
【００５２】
以上のように、第１の実施の形態の半導体記憶装置１０ａは、ＥＣＣ−ＲＤを行うとｔＷＲＢが悪化する開始アドレスＡ（２）の場合には、最初にメモリセルに書き込む６４ビットのデータＣ（１）〜Ｃ（４）を保持して、１回のバーストライト動作における最後の書き込み時に、選択データ保持回路１９−１〜１９−２に保持されたデータを用いてパリティビットを生成するので、ＥＣＣ−ＲＤのためのメモリコアアクセスが不要になり、ｔＷＲＢの悪化を防止することができる。
【００５３】
次に、第２の実施の形態の半導体記憶装置を説明する。
図６は第２の実施の形態の半導体記憶装置の回路ブロック図である。
第１の実施の形態の半導体記憶装置１０ａと同じ構成要素については同一符号とし説明を省略する。
【００５４】
第２の実施の形態の半導体記憶装置１０ｂは、第１の実施の形態の半導体記憶装置１０ａと異なり、部分パリティ生成回路２１−１、２１−２、２１−３、２１−４と、部分パリティ保持回路２２−１、２２−２、２２−３、２２−４と、比較回路２３−１、２３−２、２３−３、２３−４と、部分パリティ合成回路２４を有する。
【００５５】
部分パリティ生成回路２１−１〜２１−４は、図示しないメモリセルに書き込む際の最小データ単位である１６ビットのデータＣ（１）〜Ｃ（４）をもとに部分パリティビットｐ１、ｐ２、ｐ３、ｐ４を生成する。
【００５６】
部分パリティ保持回路２２−１〜２２−４は、データ保持イネーブル信号に応じて生成した部分パリティビットｐ１、ｐ２、ｐ３、ｐ４を保持する。
比較回路２３−１〜２３−４は、例えばＥｘＯＲ回路を有し、部分パリティ生成回路２１−１〜２１−４からの部分パリティビットと、部分パリティ保持回路２２−１〜２２−４で保持した部分パリティビットとを比較して、違いのあるビットがあればそれを反転させる。そして、比較の結果得られた部分パリティビットか、部分パリティ生成回路２１−１〜２１−４からの部分パリティビットの一方を選択信号ＳＥ１、ＳＥ２、ＳＥ３、ＳＥ４に応じて選択して出力する。
【００５７】
部分パリティ合成回路２４は、比較回路２３−１〜２３−４で出力された部分パリティビットを合成してパリティビットＰを生成する。
以下、第２の実施の形態の半導体記憶装置１０ｂの動作を説明する。
【００５８】
第１の実施の形態の半導体記憶装置１０ａと同様に、バースト長（ＢＬ）＝８で、語構成が１６ビットの場合について説明する。この場合、ＥＣＣコードを構成する６４ビットのデータビットは、バースト動作時にアドレッシングされるアドレスＡ（１）〜Ａ（８）のうち、連続するアドレスＡ（１）〜Ａ（４）またはアドレスＡ（５）〜Ａ（８）のデータから構成される。
【００５９】
バーストライトの開始アドレスが、Ａ（１）またはＡ（５）の場合や、Ａ（３）、Ａ（４）、Ａ（７）、Ａ（８）の場合には、ｔＷＲＢの悪化は少ないので（図１９、図２１参照）、部分パリティ保持回路２２−１〜２２−４は、部分パリティビットｐ１〜ｐ４を保持せず、比較回路２３−１〜２３−４は部分パリティ生成回路２１−１〜２１−４からの部分パリティビットを選択し、部分パリティ合成回路２４に入力してパリティビットＰを生成させる。これにより、図１９、２１で示したような従来の半導体記憶装置８００と同様の動作を行う。
【００６０】
バーストライト動作の開始アドレスがＡ（２）またはＡ（６）の場合、第１の実施の形態の半導体記憶装置１０ａでは、図２で示したように、１回目のライト時に図示しないメモリセルに書き込む計６４ビットのデータＣ（１）〜Ｃ（４）を保持し、３回目のライト時に保持したデータを用いてパリティビットを生成する。これに対し、第２の実施の形態の半導体記憶装置１０ｂでは、１回目のライト時に図示しないメモリセルに書き込むＣ（１）〜Ｃ（４）により生成される部分パリティビット（７ビット）を保持し、３回目のライト時に、保持した部分パリティビットと、ライトデータＷ（１）によって生成する部分パリティビットとの差異を利用して図示しないメモリセルに書き込むパリティビットＰを更新する。
【００６１】
具体的に説明すると、１回目のライト時には、リード／ライトデータ選択回路１７−１〜１７−４で選択されたそれぞれ１６ビットのデータＣ（１）〜Ｃ（４）の各々を用いて、部分パリティ生成回路２１−１〜２１−４において部分パリティビットｐ１〜ｐ４（以下１回目のライト時の部分パリティビットをｐ１−１、ｐ２−１、ｐ３−１、ｐ４−１とする。）を生成する。そして生成した部分パリティビットｐ１−１〜ｐ４−１を、部分パリティ保持回路２２−１〜２２−４に記憶する。３回目のライト時には、ＥＣＣ−ＲＤを行わず、取り込まれたライトデータＷ（１）を用いて部分パリティビットｐ１−２、ｐ２−２、ｐ３−２、ｐ４−２が生成される。比較回路２３−１〜２３−４は、部分パリティビットｐ１−２、ｐ２−２、ｐ３−２、ｐ４−２と、部分パリティ保持回路２２−１〜２２−４に保持された部分パリティビットｐ１−１、ｐ２−１、ｐ３−１、ｐ４−１とを比較して、違いのあるビットがあればそれを反転し、それを出力する。部分パリティ合成回路２４は比較回路２３−１〜２３−４から出力された部分パリティビットを合成し、７ビットのパリティビットＰとして３回目のライト時に選択されたデータＣ（１）〜Ｃ（４）とともに図示しないメモリセルに書き込む。
【００６２】
以上のように、第２の実施の形態の半導体記憶装置１０ｂの動作は、保持するデータが、データＣ（１）〜Ｃ（４）か部分パリティビットかが異なるほかは、図２で説明した第１の実施の形態の半導体記憶装置１０ａとほぼ同じである。しかし、７×４＝２８ビットの部分パリティビットｐ１〜ｐ４を保持することで、６４ビットのデータＣ（１）〜Ｃ（４）を保持するよりも回路面積を縮小することができる。
【００６３】
次に、第３の実施の形態の半導体記憶装置を説明する。
図７は、第３の実施の形態の半導体記憶装置の回路ブロック図である。
第１の実施の形態の半導体記憶装置１０ａと同じ構成要素については同一符号とし説明を省略する。
【００６４】
第３の実施の形態の半導体記憶装置１０ｃは、第１の実施の形態の半導体記憶装置１０ａと異なり、パリティ保持回路２５と、データ保持回路２６と、比較回路２７と、部分パリティ生成回路２８と、データ反転回路２９と、選択回路３０を有する。
【００６５】
パリティ保持回路２５は、データ保持イネーブル信号に応じて、パリティ生成回路１８で生成された７ビットのパリティビットを保持する。
データ保持回路２６は、データ保持イネーブル信号に応じて、リード／ライトデータ選択回路１７−１で選択されたデータＣ（１）を保持する。
【００６６】
なお、データ保持イネーブル信号は、バーストライト動作において、最初に図示しないメモリセルへデータを書き込む際（１回目のライト時）に、パリティ保持回路２５及びデータ保持回路２６に、パリティビット及びデータＣ（１）を保持させる信号である。
【００６７】
比較回路２７は、例えば、ＥｘＯＲ回路により構成され、データ保持回路２６で保持されているデータと、リード／ライトデータ選択回路１７−１で選択されたデータＣ（１）とを比較し、違いのあるビットがあればそれを反転し、出力する。
【００６８】
部分パリティ生成回路２８は、比較回路２７からの１６ビットの出力をもとに部分パリティビットを生成する。
データ反転回路２９は、パリティ保持回路２５で保持された７ビットのパリティビットと、部分パリティ生成回路２８で生成された７ビットの部分パリティビットとを比較して、違いのあるビットがあればそれを反転し出力する。
【００６９】
選択回路３０は、選択信号に応じて、パリティ生成回路１８からの７ビットのパリティビットか、データ反転回路２９の出力である７ビットのパリティビットのいずれかを選択して図示しないメモリセルに出力する。具体的には、開始アドレスがＡ（２）、Ａ（６）の場合には、データ反転回路２９からのパリティビットを選択し、それ以外の場合には、パリティ生成回路１８からのパリティビットを選択する。
【００７０】
以下、第３の実施の形態の半導体記憶装置１０ｃの動作を説明する。
第１の実施の形態の半導体記憶装置１０ａと同様に、バースト長（ＢＬ）＝８で、語構成が１６ビットの場合について説明する。この場合、ＥＣＣコードを構成する６４ビットのデータビットは、バースト動作時にアドレッシングされるアドレスＡ（１）〜Ａ（８）のうち、連続するアドレスＡ（１）〜Ａ（４）またはアドレスＡ（５）〜Ａ（８）のデータから構成される。
【００７１】
バーストライトの開始アドレスが、Ａ（１）またはＡ（５）の場合や、Ａ（３）、Ａ（４）、Ａ（７）、Ａ（８）の場合には、ｔＷＲＢの悪化は少ないので（図１９、図２１参照）、選択回路３０は選択信号により、パリティ生成回路１８からのパリティビットを選択し、それを図示しないメモリセルに書き込むパリティビットＰとして出力する。これにより、図１９、図２１で示したような従来の半導体記憶装置８００と同様の動作を行う。
【００７２】
バーストライト動作の開始アドレスがＡ（２）またはＡ（６）の場合、３回のライト動作を行う。１回目のライト時にリード／ライトデータ選択回路１７−１〜１７−４で選択された計６４ビットのデータＣ（１）〜Ｃ（４）（以下１回目に選択されるデータをＣ１（１）〜Ｃ１（４）と表記する。）を用いてパリティビットＰ（以下１回目に生成されるパリティビットをＰ−１と表記する。）を生成する。そして、生成したパリティビットＰ−１をパリティ保持回路２５に保持する。さらに、データ保持回路２６は、先頭アドレスＡ（１）にライトするデータＣ１（１）のみを保持する。３回目のライト時には、ＥＣＣ−ＲＤは行われず、パリティ生成回路１８は取り込まれたライトデータＷ（１）を用いて７ビットのパリティビットＰ−３を生成する。
【００７３】
ところで、パリティデータの各ビットは、それに関与するデータビットの“Ｈ（Ｈｉｇｈ）”（あるいは“Ｌ（Ｌｏｗ）”）データが偶数個であるか、奇数個であるかを表しているので、部分パリティビットの偶／奇が変わった場合、部分パリティビットが反転する。最終的なパリティビットは、それに関与する全データビットの偶／奇なので、部分パリティビットの“Ｈ”（あるいは“Ｌ”）の個数の偶／奇となる。部分パリティビットの反転が偶数個ならば、パリティビットの極性は変わらず、奇数個ならば、極性が反転する。従って、データ保持回路２６に１回目のライト時に保持されたデータＣ１（１）と、３回目のライト（Ｗ（１）のみのライト）時に選択されたデータＣ３（１）を比較した結果が異なっていれば、最終的なパリティビットのデータは、パリティビットＰ−１のデータの極性を反転することで再現できる。
【００７４】
そこで、第３の実施の形態の半導体記憶装置１０ｃでは、比較回路２７は、データ保持回路２６に１回目のライト時に保持されたデータＣ１（１）と、３回目のライト（Ｗ（１）のみのライト）時に選択されたデータＣ３（１）を比較し、異なるビットがあればこれを反転し出力する。部分パリティ生成回路２８は比較回路２７の出力をもとに、７ビットの部分パリティビットを生成する。この部分パリティビットは、データＣ１（１）とＣ３（１）の違いを示し、つまりはパリティビットＰ−１とＰ−３の違いを示す。データ反転回路２９は、パリティ保持回路２５に保持したパリティビットＰ−１を反転させ、最終的なパリティビットを生成する。選択回路３０では、データ反転回路２９からの出力をパリティビットＰとして選択する。これにより、パリティビットＰが、３回目のライト時に選択されたデータＣ３（１）〜Ｃ３（４）とともに、図示しないメモリセルに書き込まれることになる。
【００７５】
ここで、第３の実施の形態の半導体記憶装置１０ｃにおけるパリティビットＰの生成の詳細をデータ遷移波形図を用いて説明する。
図８は、開始アドレスがＡ（２）の場合のパリティビット生成の様子を説明するデータ遷移波形図である。
【００７６】
開始アドレスがＡ（２）の場合には、３回ライト動作が行われる。１回目のライト動作を行う前には、まずＥＣＣ−ＲＤを行い、図示しないメモリセルからリードデータバスにそれぞれ１６ビットのリードデータＲ１（１）〜Ｒ１（４）を読み出す。リード／ライトデータ選択回路１７−１〜１７−４ではこのリードデータＲ１（１）〜Ｒ１（４）を選択する。そしてパリティ生成回路１８はリードデータＲ１（１）〜Ｒ１（４）をもとにパリティビットＰ０を生成する。これにより、パリティライトバスの状態はＰ０となる。ライトデータが入力されると、リード／ライトデータ選択回路１７−１〜１７−４はリードデータＲ１（１）〜Ｒ１（４）をライトデータに置き換えて、パリティ生成回路１８は、その都度パリティビットを生成する。例えば、ライトデータバスにライトデータＷ１（２）（１６ビット）が入力されると、パリティ生成のためのデータＣ（１）〜Ｃ（４）は、リードデータＲ１（２）からライトデータＷ１（２）に遷移する。パリティ生成回路１８は、ライトデータＷ１（２）と、リードデータＲ１（１）、Ｒ１（３）、Ｒ１（４）をもとにパリティビットＰ２を生成する。これにより、パリティライトバスの状態はＰ２となる。同様に順次ライトデータＷ１（３）、Ｗ１（４）が入力されるたびにパリティビットは、Ｐ２→Ｐ２３→Ｐ２３４と生成しなおされ、最終的にパリティライトバスの状態はＰ２３４になり、リードデータＲ１（１）とライトデータＷ１（２）〜Ｗ（４）がデータＣ（１）〜Ｃ（４）として、パリティビットＰ２３４とともに図示しないメモリセルに書き込まれることになる。さらに、第３の実施の形態の半導体記憶装置１０ｃでは、データ保持回路２６にて、１回目のライト時にデータＣ（１）（すなわち１６ビットのリードデータＲ１（１））を保持する。また、パリティ保持回路２５は、パリティ生成回路１８にて生成されたパリティビットＰ２３４（前述したパリティＰ１−１に相当）を保持する。２回目のライト動作は図４の場合と同様であるので説明を省略する。
【００７７】
３回目のライト動作では、パリティライトバスには、パリティ保持回路２５で保持されていたパリティビットＰ２３４が読み出される。そして、データ保持回路２６に保持したリードデータＲ１（１）と、今回書き込まれるライトデータＷ１（１）とで両者の比較が比較回路２７にて行われる。違いがあれば部分パリティ生成回路２８にて生成された部分パリティビットにより、パリティビットＰ２３４のうち、そのデータが関係するビットが反転され、最終的なパリティビットＰ１２３４が生成され、選択回路３０を介して図示しないメモリセルに書き込まれる。
【００７８】
以上のように、第３の実施の形態の半導体記憶装置１０ｃでは、バーストライト動作の開始アドレスがＡ（２）から始まっても３回目のライト時にＥＣＣ−ＲＤを行わないのでｔＷＲＢを悪化させることがない。また、保持するデータも、１６ビットのデータビットと、７ビットのパリティビットで済むので、回路面積を縮小することができる。
【００７９】
次に第４の実施の形態の半導体記憶装置を説明する。
図９は、第４の実施の形態の半導体記憶装置の回路ブロック図である。
第３の実施の形態の半導体記憶装置１０ｃと同じ構成要素については同一符号とし説明を省略する。
【００８０】
第４の実施の形態の半導体記憶装置１０ｄは、第３の実施の形態の半導体記憶装置１０ｃと異なり、リード／ライトデータ選択回路１７−１〜１７−４で選択されたデータＣ（１）〜Ｃ（４）のうち、データＣ（１）（１６ビット）をもとに部分パリティビットを生成する部分パリティ生成回路３１と、データ保持回路２６で保持されたデータをもとに部分パリティビット生成する部分パリティ生成回路３２と、部分パリティ生成回路３１、３２で生成された７ビットの部分パリティビットを比較する比較回路３３を有する。
【００８１】
以下、第４の実施の形態の半導体記憶装置１０ｄの動作を、第３の実施の形態の半導体記憶装置１０ｃとの差異を中心に説明する。
バーストライト動作の開始アドレスがＡ（２）の場合、第３の実施の形態の半導体記憶装置１０ｃでは、１回目のライト時にデータ保持回路２６に保持したリードデータＲ１（１）と３回目のライト時に選択されたライトデータＷ１（１）とを比較し、部分パリティビットを生成していた。これに対し、第４の実施の形態の半導体記憶装置１０ｄでは、部分パリティ生成回路３２において、１回目のライト時にデータ保持回路２６に保持したデータＣ１（１）（すなわちリードデータＲ１（１））から生成された部分パリティビットと、部分パリティ生成回路３１において３回目のライト時に選択されたデータＣ３（１）（すなわちライトデータＷ１（１））から生成された部分パリティビットとを比較回路３３にて比較している。比較回路３３は、比較の結果、異なるビットがあればこれを反転し出力する。その後は、第４の実施の形態の半導体記憶装置１０ｃの動作と同様である。
【００８２】
次に第５の実施の形態の半導体記憶装置を説明する。
図１０は、第５の実施の形態の半導体記憶装置の回路ブロック図である。
第４の実施の形態の半導体記憶装置１０ｄと同じ構成要素については同一符号とし説明を省略する。
【００８３】
第５の実施の形態の半導体記憶装置１０ｅは、第４の実施の形態の半導体記憶装置１０ｄと異なり、データ保持回路２６の代わりに、部分パリティ生成回路３１で生成した部分パリティビットを保持する部分パリティ保持回路３４を有している。
【００８４】
第４の実施の形態の半導体記憶装置１０ｄでは、部分パリティビットを生成する前のデータＣ（１）をデータ保持回路２６に保持していたが、第５の実施の形態の半導体記憶装置１０ｅでは、部分パリティ生成回路３１で１回目のライト時に生成した部分パリティビットを部分パリティ保持回路３４に保持し、３回目のライト時に選択されたデータＣ３（１）から生成される部分パリティビットと比較回路３３にて比較する。以下の動作は、第４の実施の形態の半導体記憶装置１０ｄの動作と同様である。第５の実施の形態の半導体記憶装置１０ｅによれば、保持するデータビット数が少ないので第１乃至第４の実施の形態の半導体記憶装置１０ａ〜１０ｄに比べてさらに回路面積を縮小することができる。
【００８５】
最後に、第１乃至第５の実施の形態で用いるパリティ生成回路の具体例を説明する。
図１１は、６４ビットのデータビットに対する７ビットのパリティビットを生成するＥＣＣコードの例を示す図である。
【００８６】
また、図１２は、図１１のＥＣＣコードに応じてパリティビットを生成するパリティ生成回路の回路ブロック図である。
ここでは、Ｃ０〜Ｃ１５の１６ビットが前述のデータＣ（１）、Ｃ１６〜Ｃ３１の１６ビットがデータＣ（２）、Ｃ３２〜Ｃ４７の１６ビットがデータＣ（３）、Ｃ４８〜Ｃ６３の１６ビットがデータＣ（４）に対応している。
【００８７】
パリティビット生成回路は、１６ビットのライトブロック（語構成）の中で図１１のｘ表記のデータビットに対してのＥｘＯＲ演算を行うＥｘＯＲ回路１０１ａ、１０１ｂ、１０１ｃ、１０１ｄと、ＥｘＯＲ回路１０１ａ、１０１ｂ、１０１ｃ、１０１ｄの出力に対しＥｘＯＲ演算を行うＥｘＯＲ回路１０２とを、生成するパリティビットＰ１〜Ｐ７それぞれに対して有している（但し、パリティビットＰ７に関しては、Ｃ１〜Ｃ１５内のＥｘＯＲ演算は必要ないのでＥｘＯＲ回路１０１ａは必要ない。）。
【００８８】
ここで、ＥｘＯＲ回路１０１ａは、生成するパリティビットＰ１〜Ｐ７に応じて、Ｃ０〜Ｃ１５のライトブロック内で図１１のｘ表記のデータビットを選択してＥｘＯＲ演算を行う。同様に、ＥｘＯＲ回路１０１ｂはＣ１６〜Ｃ３１、ＥｘＯＲ回路１０１ｃはＣ３２〜Ｃ４７、ＥｘＯＲ回路１０１ｄはＣ４８〜Ｃ６３のライトブロック内で、生成するパリティＰ２〜Ｐ７に応じて、図１１のｘ表記のデータビットを選択してＥｘＯＲ演算を行う。つまり、ＥｘＯＲ回路１０１ａ、１０１ｂ、１０１ｃ、１０１ｄは、それぞれ１６ビットのデータＣ（１）、Ｃ（２）、Ｃ（３）、Ｃ（４）に対する部分パリティビットを生成する部分パリティ生成回路である。また、ＥｘＯＲ回路１０２は、部分パリティビットを合成する部分パリティ合成回路である。
【００８９】
例えば、パリティビットＰ１は、Ｃ１、Ｃ３、Ｃ５、Ｃ７、Ｃ９、Ｃ１１、Ｃ１３、Ｃ１５のＥｘＯＲ演算と、Ｃ１７、Ｃ１９、Ｃ２１、Ｃ２３、Ｃ２５、Ｃ２７、Ｃ２９、Ｃ３１のＥｘＯＲ演算と、Ｃ３３、Ｃ３５、Ｃ３７、Ｃ３９、Ｃ４１、Ｃ４３、Ｃ４５、Ｃ４７のＥｘＯＲ演算と、Ｃ４９、Ｃ５１、Ｃ５３、Ｃ５５、Ｃ５７、Ｃ５９、Ｃ６１、Ｃ６３のＥｘＯＲ演算の４つの演算結果に対し、さらにＥｘＯＲ演算することにより得られる。ＥＣＣ機能は、図１１のようなＥＣＣコードによりパリティビットＰ１〜Ｐ７を生成することで１ビットエラー訂正を可能にしている。
【００９０】
また、以下のようなＥＣＣコードを適用することもできる。
図１３は、１６ビットのデータに対する７ビットの部分パリティビットを生成するＥＣＣコードの例を示す図である。
【００９１】
ここで適用するＥＣＣコードは、ライトブロック（語構成）が２nである場合、ｍビットのパリティビットのうち、ｎビットのパリティビットでライトブロック内の個々のデータビットを特定でき、残りの（ｍ−ｎ）ビットのパリティビットでライトブロックを特定できるように構成されている。
【００９２】
例えば、図１３のように、４つのライトブロック（破線部）内においてｍ＝７ビットのパリティビットＰ１〜Ｐ７のうち、ｎ＝４ビットのパリティビット（部分パリティビット）Ｐ１〜Ｐ４は、ライトブロック内の個々のデータビットを特定するようにｘ表記のデータが割り付けられる。さらに、ｍ−ｎ＝３ビットのパリティビットＰ５〜Ｐ７は、４つのライトブロックから１つを特定するようにｘ表記のデータが割り付けられる。
【００９３】
図１４は、図１３のＥＣＣコードに応じてパリティビットを生成するパリティ生成回路の回路ブロック図である。
パリティビットＰ１〜Ｐ４に対しては、それぞれ、図１２と同様に、１６ビットのライトブロック（語構成）の中で図１３のｘ表記のデータビットに対してのＥｘＯＲ演算を行うＥｘＯＲ回路１１１ａ、１１１ｂ、１１１ｃ、１１１ｄと、ＥｘＯＲ回路１１１ａ、１１１ｂ、１１１ｃ、１１１ｄの出力に対しＥｘＯＲ演算を行うＥｘＯＲ回路１１２と有している。しかし、図１４で示すパリティ生成回路は、図１３のようなＥＣＣコードを適用することで、１組のＥｘＯＲ回路１１１ａ、１１１ｂ、１１１ｃ、１１１ｄと、これらの出力の３つを入力してＥｘＯＲ演算を行うＥｘＯＲ回路１１２ａ、１１２ｂ、１１２ｃでパリティビットＰ５〜Ｐ７を生成することができる。
【００９４】
図１４のようなパリティ生成回路を、パリティビットを保持する必要がある第２〜第５の実施の形態の半導体記憶装置１０ｂ、１０ｃ、１０ｄ、１０ｅに適用することで、保持するパリティビットを７ビットから実質４ビットに減らすことができ回路規模をさらに縮小することが可能になる。また回路負荷も低減できる。
【００９５】
なお、上記では、６４ビットのデータビットと７ビットのパリティビットを用いてＥＣＣコードを構築する場合を例にして説明したが、これに限定されず、ＥＣＣコードがバースト動作に時に出力されるデータ数（語構成×バースト長（ＢＬ））よりも少ないデータ数で構成されていればよい。例えば、語構成が１６ビットで、ＢＬ＝８ならば、語構成×ＢＬ＝１２８ビットである。この場合、６４ビットのデータビットと７ビットのパリティビットからなるＥＣＣコードのほか、３２ビットのデータビットと６ビットのパリティビットからなるＥＣＣコードを適用することができる。また、ＢＬ＝１６ならば、語構成×ＢＬ＝２５６ビットであるので、１２８ビットのデータビットと８ビットのパリティビットからなるＥＣＣコードも適用することができる。
【００９６】
また、前述したように、ＥＣＣコードはバースト動作時にアドレッシングされるアドレスのうち、連続する複数のアドレスのデータを含んで構成されるが、ＢＬ＝８（アドレスＡ（１）〜Ａ（８））のとき３２ビットのデータビットと６ビットのパリティビットからなるＥＣＣコードを適用する場合、データビットは、アドレスＡ（１）〜Ａ（２）、Ａ（３）〜Ａ（４）、Ａ（５）〜Ａ（６）あるいはＡ（７）〜Ａ（８）それぞれの３２ビットのデータで構成される。また、ＢＬ＝１６（アドレスＡ（１）〜Ａ（１６）で１２８ビットのデータビットと８ビットのパリティビットからなるＥＣＣコードを適用する場合、データビットは、アドレスＡ（１）〜Ａ（８）あるいはＡ（９）〜Ａ（１６）それぞれの１２８ビットのデータで構成される。
【図面の簡単な説明】
【００９７】
【図１】第１の実施の形態の半導体記憶装置の回路ブロック図である。
【図２】第１の実施の形態の半導体記憶装置のバーストライト動作を説明する図であり、開始アドレスがＡ（２）の場合のタイミング波形図である。
【図３】開始アドレスがＡ（１）の場合のパリティビット生成の様子を説明するデータ遷移波形図である。
【図４】開始アドレスがＡ（２）の場合のパリティビット生成の様子を説明するデータ遷移波形図である。
【図５】開始アドレスがＡ（３）の場合のパリティビット生成の様子を説明するデータ遷移波形図である。
【図６】第２の実施の形態の半導体記憶装置の回路ブロック図である。
【図７】第３の実施の形態の半導体記憶装置の回路ブロック図である。
【図８】開始アドレスがＡ（２）の場合のパリティビット生成の様子を説明するデータ遷移波形図である。
【図９】第４の実施の形態の半導体記憶装置の回路ブロック図である。
【図１０】第５の実施の形態の半導体記憶装置の回路ブロック図である。
【図１１】６４ビットのデータビットに対する７ビットのパリティビットを生成するＥＣＣコードの例を示す図である。
【図１２】図１１のＥＣＣコードに応じてパリティビットを生成するパリティ生成回路の回路ブロック図である。
【図１３】１６ビットのデータに対する７ビットの部分パリティビットを生成するＥＣＣコードの例を示す図である。
【図１４】図１３のＥＣＣコードに応じてパリティビットを生成するパリティ生成回路の回路ブロック図である。
【図１５】従来の半導体記憶装置のバースト動作を説明する図であり、開始アドレスがＡ（１）の場合のタイミング波形図である。
【図１６】従来の半導体記憶装置のバースト動作を説明する図であり、開始アドレスがＡ（２）の場合のタイミング波形図である。
【図１７】従来の半導体記憶装置のバースト動作を説明する図であり、開始アドレスがＡ（３）の場合のタイミング波形図である。
【図１８】ＥＣＣ機能及びバースト機能を有した従来の半導体記憶装置の回路ブロック図である。
【図１９】ＥＣＣ機能を有する従来の半導体記憶装置のバースト動作を説明する図であり、開始アドレスがＡ（１）の場合のタイミング波形図である。
【図２０】ＥＣＣ機能を有する従来の半導体記憶装置のバースト動作を説明する図であり、開始アドレスがＡ（２）の場合のタイミング波形図である。
【図２１】ＥＣＣ機能を有する従来の半導体記憶装置のバースト動作を説明する図であり、開始アドレスがＡ（３）の場合のタイミング波形図である。
【符号の説明】
【００９８】
１０ａ  半導体記憶装置
１１  シンドローム生成回路
１２  デコーダ
１３  エラー訂正回路
１４  データ選択回路
１５−１、１５−２、１５−３、１５−４  ライトデータ保持回路
１６−１、１６−２、１６−３、１６−４  ライトステータス保持回路
１７−１、１７−２、１７−３、１７−４  リード／ライトデータ選択回路
１８  パリティ生成回路
１９−１、１９−２、１９−３、１９−４  選択データ保持回路
２０−１、２０−２、２０−３、２０−４  選択回路
【図１】
2006286059.tif 000003
【図２】
2006286059.tif 000004
【図３】
2006286059.tif 000005
【図４】
2006286059.tif 000006
【図５】
2006286059.tif 000007
【図６】
2006286059.tif 000008
【図７】
2006286059.tif 000009
【図８】
2006286059.tif 000010
【図９】
2006286059.tif 000011
【図１０】
2006286059.tif 000012
【図１１】
2006286059.tif 000013
【図１２】
2006286059.tif 000014
【図１３】
2006286059.tif 000015
【図１４】
2006286059.tif 000016
【図１５】
2006286059.tif 000017
【図１６】
2006286059.tif 000018
【図１７】
2006286059.tif 000019
【図１８】
2006286059.tif 000020
【図１９】
2006286059.tif 000021
【図２０】
2006286059.tif 000022
【図２１】
2006286059.tif 000023