(57)【要約】【課題】電源投入後のデータの初期読み出し時におけるECC 制御回路のシンドローム生成回路によるデータの誤訂正を防止でき、ソフトエラーに対して正しくデータを訂正し得る半導体記憶装置を提供する。【解決手段】指定されたアドレスにデータを格納するための複数のメモリ領域を有するデータ用メモリ１１と、データ用メモリと同じアドレス空間を有し、データ用メモリの各メモリ領域に格納されている各データをそれぞれ訂正することが可能なエラー訂正コードを記憶するためのコード用メモリ１２と、データ用メモリおよびコード用メモリを制御するECC 制御回路１３と、電源投入後にデータ用メモリの各メモリ領域に対して最初にアクセスする場合には、読み出したデータに対するデータの訂正機能を無効にする制御回路１４とを具備する。【選択図】図１
2005063547.tif 000002
【特許請求の範囲】
【請求項１】
指定されたアドレスにデータを格納するための複数のメモリ領域を有するデータ用メモリと、
前記データ用メモリと同じアドレス空間を有し、前記データ用メモリの各メモリ領域に格納されている各データをそれぞれ訂正することが可能なエラー訂正コードを記憶するためのコード用メモリと、
エラー訂正コード生成回路とシンドローム生成回路とエラー訂正コードデコード回路を有し、前記データ用メモリの任意のメモリ領域にデータ書き込みが行われる際、当該書き込み前に前記メモリ領域から読み出されたデータに対してエラー訂正コードを生成し、このエラー訂正コードを前記メモリ領域に対応するコード用メモリから読み出されたエラー訂正コードと比較してエラー判別・訂正処理を行うエラー訂正コード制御回路と、
電源投入後に前記データ用メモリの各メモリ領域に対して最初にアクセスする際に、各メモリ領域毎に読み出されたデータに対する前記エラー訂正コード制御回路によるエラー訂正機能を無効にするECC 機能無効制御回路
とを具備することを特徴とする半導体記憶装置。
【請求項２】
前記データ用メモリの各メモリ領域毎に対応してバリッドビットを記憶するために前記データ用メモリに付加され、対応する前記メモリ領域と同時にアクセスされ、電源投入後にリセット信号によってバリッドビットが無効状態に初期化される記憶セルをさらに具備し、
前記ECC 機能無効制御回路は、前記データ用メモリのメモリ領域からデータを読み出した際に前記メモリ領域に対応する前記記憶セルのデータが初期値の場合には前記シンドローム生成回路の動作を停止させる信号を出力し、
前記エラー訂正コード制御回路は、電源投入後に最初に前記データ用メモリのメモリ領域からデータを読み出した時は前記メモリ領域に対応する前記記憶セルに記憶されているバリッドビットを有効状態に書き換えるように制御する
ことを特徴とする請求項１記載の半導体記憶装置。
【請求項３】
前記記憶セルは、前記データ用メモリの対応するメモリ領域のメモリセルと共通に接続されているワード線により選択制御されることを特徴とする請求項２記載の半導体記憶装置。
【請求項４】
前記データ用メモリの各メモリ領域毎に対応してバリッドビットを記憶するために前記データ用メモリとは独立に配設され、対応する前記メモリ領域と同時にアクセスされ、電源投入後にリセット信号によって前記バリッドビットが初期化される記憶回路をさらに具備し、
前記ECC 機能無効制御回路は、前記データ用メモリのメモリ領域からデータを読み出した際に前記メモリ領域に対応する前記記憶回路のデータが初期値の場合には前記シンドローム生成回路の動作を停止させる信号を出力し、
前記エラー訂正コード制御回路は、電源投入後に最初に前記データ用メモリのメモリ領域からデータを読み出した時は前記メモリ領域に対応する前記記憶回路に記憶されているバリッドビットを有効状態に書き換えるように制御する
ことを特徴とする請求項１記載の半導体記憶装置。
【請求項５】
前記ECC 機能無効制御回路は、
電源投入直後に、前記データ用メモリの各メモリ領域に対応するアドレスと初期データおよびそのコードデータを自動で生成し、各初期データおよびそのコードデータが対応する前記データ用メモリの各メモリ領域および前記コード用メモリに前記エラー訂正コード制御回路によって書き込まれる際に前記エラー訂正コード制御回路の機能を停止させる信号を出力することを特徴とする請求項１記載の半導体記憶装置。
【請求項６】
前記ECC 機能無効制御回路は、組み込み自己テスト回路の一部として組み込まれていることを特徴とする請求項５記載の半導体記憶装置。
【請求項７】
前記ECC 機能無効制御回路は、
電源投入直後に、テストパターンデータおよびそのコードデータが前記データ用メモリの各メモリ領域および前記コード用メモリに前記エラー訂正コード制御回路によって書き込まれる際に前記エラー訂正コード制御回路の機能を停止させる信号を出力することを特徴とする請求項１記載の半導体記憶装置。
【請求項８】
前記ECC 機能無効制御回路は、初期テスト用の組み込み自己テスト回路の一部として組み込まれていることを特徴とする請求項７記載の半導体記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、誤り訂正符号（Error-Correction-Code;ECC)を用いた訂正機能（ECC 訂正機能）を搭載した半導体記憶装置に係り、特にリセット機能が搭載されていない半導体記憶装置に関するもので、例えば大容量SRAMなどに使用されるものである。
【背景技術】
【０００２】
半導体メモリの微細化、大容量化の進行に伴い、製造技術が高度化、困難化し、メモリ中の全てのメモリセルが正しく動作する製品を高い歩留りで製造することが困難になってきている。また、微細化により、１ビットセル当りの保持電荷容量が小さくなり、宇宙線やアルファ線に起因するランダムな１ビットデータの破壊（ソフトエラーと呼ばれる）現象が無視できない程度まで頻繁に発生するようになってきている。このソフトエラー現象は、リダンダンシー技術では解決することができないので、大きな問題となりつつある。この問題を解決する手段の１つとしてメモリ内部にECC 訂正機能を搭載している。
【０００３】
図６は、従来の誤り訂正機能を有するDRAMの一部を示す。
【０００４】
このDRAMは、DRAM外部との間で入力データ／出力データを授受する入出力（Ｉ／Ｏ）回路１０と、指定されたアドレスにｎビットのデータを格納するための複数のメモリ領域を有するデータ用メモリ（メインメモリ）１１と、このデータ用メモリ１１と同じアドレス空間を有し、データ用メモリ１１の各メモリ領域に格納されている各データをそれぞれ訂正することが可能なｍ（＜ｎ）ビットのコード(ECC) を記憶するためのコード用メモリ１２と、これらを制御するために設けられたECC 制御回路１３とを備えている。
【０００５】
図７は、図６中のECC 制御回路１３の従来例を示している。
【０００６】
このECC 制御回路は、読み出しデータ用レジスタ２３、ECC コード用レジスタ２４、ECC コード生成回路２５、シンドローム生成回路２６、ECC デコード回路（シンドロームデコーダ）２７、訂正データ用レジスタ２８を有し、次のような基本的な機能を有する。
【０００７】
（１）通常のデータ書き込み前の読み出し時には、データ用メモリ１１から読み出されたｎビットのデータを読み出しデータ用レジスタ２３に格納し、同時に、コード用メモリ１２から読み出されたｍビットのECC コードをECC コード用レジスタ２４に格納する。そして、前記データ用メモリ１１から読み出されたデータに対してECC コード生成回路２５によってｍビットのECC コードを生成し、このECC コードと前記コード用メモリ１２から読み出されたECC コードとをシンドローム生成回路２６で比較し、シンドロームと呼ばれるエラー訂正符号を作成する。ここで、上記２つのECC コードが一致する場合にはシンドローム符号は"0" となり、読み出されたデータ中もしくはECC コード中の特定の１ビットが反転していた場合にはシンドローム符号が"0" 以外の特定の値をとる。
【０００８】
ECC デコード回路（シンドロームデコーダ）２７は、シンドローム符号が"0" の場合にはデータ入力時のデータが正しく保存されていたと判別する。これに対して、シンドローム符号が"0" 以外の特定の値の場合には、シンドローム符号は反転していたビットと１対１の対応がとられているので、どのビットが正しくないかを判別することができ、訂正処理を行う。
【０００９】
引き続き、データ書き込み時には、Ｉ／Ｏ回路１０からデータ用メモリ１１に書き込まれる入力データに対してECC コード生成回路２５によってECC コードを生成する。そして、このECC コードをコード用メモリ１２に格納する。
【００１０】
（２）通常の読み出し時には、前記通常のデータ書き込み前の読み出し時と同様の動作を行う。この場合、読み出しデータ用レジスタ２３に格納されたデータが、そのまま訂正データ用レジスタ２８を経由して、または、訂正データ用レジスタ２８で１ビット訂正されて出力データとなる。
【００１１】
上述したようにECC 機能を搭載するDRAMは、各アドレスのデータ毎に１ビットまでのデータエラーを訂正して出力することができるので、リダンダンシーで救済不可能なソフトエラーによるデータエラー率を抑えることができる。さらに、プロセス工程で発生するメモリセルのビット不良についても、その不良率が十分小さい場合にはビット不良を救済する効果も併せ持っている。
【００１２】
ところで、例えばSRAMにおいては、通常、仕様上の理由からリセット機能が搭載されていない。このようなメモリに、図６に示したようなECC 制御回路１３を搭載した場合、電源投入直後には、読み出しデータ用メモリ１１内のデータとコード用メモリ１２内のECCコードの関係は、ランダム状態（ECC コードに関する相関が全くない状態）になっているので、ECC 機能に不都合が生じる。
【００１３】
また、一般によく用いられる１ビット訂正機能限定のECC 機能を有するECC 制御回路をSRAMに搭載した場合、電源投入直後にはデータ用メモリ１１内のデータとコード用メモリ１２内のECC コードに２ビット以上のデータエラーが発生していた場合に対応していない。この場合には、電源投入後にデータ用メモリ１１およびコード用メモリ１２から最初に読み出しを行った際には、データ用メモリ１１から読み出されたデータ中の本来誤りでない１ビットを高い確率で誤訂正してしまう。
【００１４】
即ち、データ用メモリ１１から読み出されたデータに対して生成したECC コードとコード用メモリ１２から読み出されたECC コードとを比較してシンドローム符号を作成すると、シンドローム符号は"0" 以外の特定の値をとるので、本来正しいはずのデータに対して誤って１ビットを訂正してしまうおそれがあるという問題がある。
【００１５】
ここで、Ｉ／Ｏ回路１０の入／出力データのビット幅よりもデータ用メモリ１１のビット幅ｎを大きく設定している場合、あるいは、入力データの一部のビットしかデータ用メモリ１１に書き込みを行わない機能（マスク機能）を有する場合を考える。この場合、電源投入後の初めて書き込みを行う際にECC コードを作成する時に、事前にデータ用メモリ１１からデータを読み出し、これを参照する必要があるので、前記した誤訂正の問題を避けることが困難であり、結果として、誤ったECC コードを書き戻すことになる。
【００１６】
さらに、ECC 制御回路１３を、ソフトエラー対策だけでなく、固定ビット不良の対策に適用しようとした場合、前記した問題は致命的となる。即ち、電源投入後に初めてデータを書き込む際に指定するアドレスのメモリ領域中に固定の単ビット不良がある場合、次にデータ読み出しを行う時には、上記不良のビットと誤訂正されたビットとの合計２ビットが不良であるとみなされるので、読み出しデータは高い確率で誤ったデータとして読み出される。
【００１７】
なお、特許文献１には、ECC 制御回路の機能検証を行う際、１ビット誤りを発生させたビット位置とECC 制御回路が２つのセレクタの出力から１ビット誤りを検出したビット位置を比較し、１ビット誤りを発生させる前のデータ値とECC 制御回路が１ビット誤りを訂正した後のデータ値を比較する点が示されている。
【特許文献１】特開２０００−２４２５１５号公報
【発明の開示】
【発明が解決しようとする課題】
【００１８】
上記したようにリセット機能が搭載されていない半導体記憶装置にECC 制御機能を搭載する場合に、データの初期読み出し時にデータの誤訂正が発生するという問題があった。  本発明は上記の問題点を解決すべくなされたもので、電源投入後のデータの初期読み出し時におけるECC 制御回路のシンドローム生成回路によるデータの誤訂正を防止でき、ソフトエラーに対して正しくデータを訂正し得る半導体記憶装置を提供することを目的とする。
【課題を解決するための手段】
【００１９】
本発明の半導体記憶装置は、指定されたアドレスにデータを格納するための複数のメモリ領域を有するデータ用メモリと、前記データ用メモリと同じアドレス空間を有し、前記データ用メモリの各メモリ領域に格納されている各データをそれぞれ訂正することが可能なエラー訂正コードを記憶するためのコード用メモリと、エラー訂正コード生成回路とシンドローム生成回路とエラー訂正コードデコード回路を有し、前記データ用メモリおよびコード用メモリを制御するエラー訂正コード制御回路と、電源投入後に前記データ用メモリの各メモリ領域に対して最初にアクセスする際に各メモリ領域毎に読み出したデータに対する前記エラー訂正コード制御回路によるエラー訂正機能を無効にするECC 機能無効制御回路とを具備することを特徴とする。
【発明の効果】
【００２０】
本発明の半導体記憶装置によれば、電源投入後のデータの初期読み出し時におけるECC制御回路のシンドローム生成回路によるデータの誤訂正を防止でき、ソフトエラーに対して正しくデータを訂正することができる。
【発明を実施するための最良の形態】
【００２１】
＜第１の実施形態＞
図１は、本発明の第１の実施形態に係るSRAMの一部を示している。
【００２２】
このSRAMは、SRAM外部との間でｋビットの入力データ／出力データを授受する入出力（Ｉ／Ｏ）回路１０と、指定されたアドレスにｎ（例えばｋの整数倍）ビットのデータ幅を持つ複数のメモリ領域を有するデータ用メモリ（メインメモリ）１１と、このデータ用メモリ１１と同じアドレス空間を有し、データ用メモリ１１の各メモリ領域に格納されている各データをそれぞれ訂正することが可能なｍ（＜ｎ）ビットのECC コードを記憶するためのコード用メモリ１２と、これらを制御するために設けられたECC 制御回路１３とを備えている。
【００２３】
このECC 制御回路１３は、例えば図２に示すように、読み出しデータ用レジスタ２３、ECC コード用レジスタ２４、ECC コード生成回路２５、シンドローム生成回路２６、ECCデコード回路（シンドロームデコーダ）２７、訂正データ用レジスタ２８を有する。そして、図７を参照して前述した従来例のECC 制御回路１３と同様の基本的な機能（１）、（２）を有し、さらに、（３）電源投入後における最初のデータ読み出し時にはメモリ領域から読み出されたデータに対してエラー訂正を行わないように制御することが可能になっている。
【００２４】
即ち、ECC 制御回路１３の機能は、次の通りである。
【００２５】
（１）通常のデータ書き込み前の読み出し時には、データ用メモリ１１のメモリ領域から読み出されたｎビットのデータを読み出しデータ用レジスタ２３に格納し、同時に、コード用メモリ１２から読み出されたｍビットのECC コードをECC コード用レジスタ２４に格納する。そして、前記メモリ領域から読み出されたデータに対してECC コード生成回路２５によってｍビットのECC コードを生成し、このECC コードと前記コード用メモリ１２から読み出されたECC コードとをシンドローム生成回路２６で比較し、シンドロームと呼ばれるエラー訂正符号を作成する。ここで、上記２つのECC コードが一致する場合、シンドローム符号は"0" となり、読み出されたデータ中もしくはECC コード中の特定の１ビットが反転していた場合には、シンドローム符号が"0" 以外の特定の値をとる。
【００２６】
ECC デコード回路（シンドロームデコーダ）２７は、シンドローム符号が"0" の場合にはデータ入力時のデータが正しく保存されていたと判別する。これに対して、シンドローム符号が"0" 以外の特定の値の場合には、シンドローム符号は反転していたビットと１対１の対応がとられているので、どのビットが正しくないかを判別することができ、訂正処理を行う。
【００２７】
引き続き、データ書き込み時には、Ｉ／Ｏ回路１０からデータ用メモリ１１に書き込まれるｋビットの入力データに対してECC コード生成回路２５によってECC コードを生成する。そして、このECC コードをコード用メモリ１２に格納する。
【００２８】
（２）通常の読み出し時には、前記通常のデータ書き込み前の読み出し時と同様の動作を行う。この場合、読み出しデータ用レジスタ２３に格納されたデータが、そのまま訂正データ用レジスタ２８を経由して、または、訂正データ用レジスタ２８で１ビット訂正されて出力データとなる。
【００２９】
（３）電源投入後における最初のデータ読み出し時には、データ用メモリ１１のメモリ領域から読み出されたデータに対してエラー訂正を行わないように制御する。具体例としては、前記メモリ領域から読み出されたｎビットのデータに対してECC コード生成回路２５によってｍビットのECC コードを生成するが、このECC コードと前記コード用メモリ１２から読み出されたECC コードとをシンドローム生成回路２６で比較しないように制御する、または、シンドローム生成回路２６で比較したとしてもその結果を無効にするように制御する。
【００３０】
さらに、データ用メモリ１１から読み出しデータ用レジスタ２３に読み出されたデータに対するエラー訂正機能の有効／無効を制御する（本例ではシンドローム生成回路２６の機能の有効／無効を制御する）ためのECC 機能無効制御回路１４と、データ用メモリ１１とコード用メモリ１２における初期データの整合をとるために、データ用メモリ１１の各メモリ領域毎に対応してバリッドビットを記憶するために付加された記憶セル群からなるバリッドビットアレイ１１ａを搭載している。
【００３１】
ECC 機能無効制御回路１４は、（１）電源投入後にリセット信号によってバリッドビットアレイ１１ａの各記憶セルのバリッドビットを無効状態（本例では"1" 状態、フラグオン状態）に初期化する機能と、（２）データ用メモリ１１のメモリ領域からデータを読み出した際にメモリ領域に対応するバリッドビットが初期値である場合にはシンドローム生成回路の動作を停止させる信号を出力する機能、換言すれば、電源投入後にデータ用メモリ１１の各メモリ領域に対して最初にアクセスする際にECC 制御回路１３のシンドローム生成回路の機能を無効にする機能と、（３）電源投入後に最初にデータ用メモリ１１のメモリ領域からデータを読み出した後は、このメモリ領域に対応するバリッドビットを有効状態（本例では"0" 状態、フラグオフ状態）に書き換える機能を有する。
【００３２】
図３は、図１中のデータ用メモリ１１に付加されたバリッドビットアレイ１１ａのカラムを取り出して一例を示している。
【００３３】
バリッドビットアレイ１１ａのカラムの一対のビット線ＢＬ、／ＢＬには、ビット線プリチャージ・イコライズ回路３０と、複数の記憶セル３１と、初期化回路３２が接続されている。各記憶セル３１は、データ用メモリ１１の各メモリセル（SRAMセル）と同じ構成を有し、同一行のメモリセルと共通のワード線、または、同一行のメモリセルのワード線と同じように選択駆動されるワード線ＷＬに接続されている。
【００３４】
初期化回路３２は、接地ノードと一方のビット線（第１のビット線）ＢＬとの間に接続された第１のクロックド・インバータ回路ＩＶ１と、上記一対のビット線ＢＬ、／ＢＬ間に接続された第２のクロックド・インバータ回路ＩＶ２とからなり、これらの２つのクロックド・インバータ回路ＩＶ１、ＩＶ２はリセットパルス信号reset により駆動される。
【００３５】
また、一対のビット線ＢＬ、／ＢＬには、初期化解除回路３３が接続されている。この初期化解除回路３３は、接地ノードと他方のビット線（第２のビット線）／ＢＬとの間に接続された第３のクロックド・インバータ回路ＩＶ３と、一対のビット線ＢＬ、／ＢＬ間に接続された第４のクロックド・インバータ回路ＩＶ４と、ビット線プリチャージ信号Bprechと第２のビット線／ＢＬの電位とリセットパルス信号reset の三入力の論理和否定をとるノア回路ＮＯＲと、このノア回路ＮＯＲの出力信号（ECC 機能停止信号ECC-disable ）をバッアァ増幅して第３、第４のクロックド・インバータ回路ＩＶ３、ＩＶ４を駆動する二段接続されたインバータ回路ＩＶ５、ＩＶ６とからなる。
【００３６】
図３の構成によれば、電源投入により、例えばパワーオンリセット信号reset によって初期化解除回路３３の２つのクロックド・インバータ回路ＩＶ３、ＩＶ４が駆動され、第１のビット線ＢＬが"H" レベル、第２のビット線／ＢＬが"L" レベルになる、つまり、バリッドビットが"1" 状態（フラグオン状態）に初期化される。
【００３７】
このようにリセットされた状態では、最初のデータ読み出し時にビット線プリチャージ信号Bprechが活性化すると、ノア回路ＮＯＲの出力信号ECC-disable が"H" レベルになり、ECC 制御回路１３のシンドローム生成回路２６の動作を停止させる。
【００３８】
この後、ビット線プリチャージ信号が非活性化すると、ノア回路ＮＯＲの出力信号ECC-disable が"L" レベルになり、ECC 制御回路１３のシンドローム生成回路２６の動作が可能になるとともに、初期化解除回路２２の２つのクロックド・インバータ回路ＩＶ３、ＩＶ４が駆動され、第２のビット線／ＢＬが"H" レベル、第１のビット線ＢＬが"L" レベルになる、つまり、バリッドビットが"0" 状態になり、初期化が解除される。
【００３９】
次に、上記第１の実施形態に係るSRAMの動作の全体的な流れを簡単に説明する。
【００４０】
電源投入により、例えばパワーオンリセット信号によってバリッドビットアリイ１１ａのバリッドビットが"1" 状態に初期化される。
【００４１】
次に、データ用メモリ１１の指定アドレスにデータを書き込む場合、まず、指定アドレスのメモリ領域の記憶データおよびバリッドビットが読み出され、読み出しデータ用レジスタ２３に格納される。同時に、コード用メモリ１２から読み出されたｍビットのECC コードはECC コード用レジスタ２４に格納される。
【００４２】
このような電源投入後の最初の読み出し時には、バリッドビットは"1" であるので、シンドローム生成回路２６は機能を停止し、前記メモリ領域から読み出されたデータの訂正を行わない。
【００４３】
次に、指定アドレスのメモリ領域に書き込みデータが書き込まれ、書き込みデータで一部が上書きされたデータに対して作成されたECC コードがコード用メモリ１２に書き込まれる。この書き込みと同時に、指定アドレスのメモリ領域に対応するバリッドビットが"0" に書き換えられる。
【００４４】
２回目以降の読み出し時には、バリッドデータは"0" になっているので、シンドローム生成回路２６は通常の動作を行い、指定アドレスのメモリ領域の記憶データに対応したECC コードを用いて読み出しデータを正しく訂正する。
【００４５】
上記した第１の実施形態のSRAMによれば、データの初期読み出し時に、読み出しデータ用メモリ１１の記憶データとコード用メモリ１２のECC コードが対応していないことに起因するシンドローム生成回路２６によるデータの誤訂正が起こらなくなる。
【００４６】
これにより、特にソフトエラーについて正しくデータを訂正することができるようになる。さらに、ECC 機能を用いて、プロセス起因の固定単ビット不良の訂正も正しく行うことができるようになる。
【００４７】
また、電源投入時に発生するパワーオンリセット信号によってバリッドビットアレイ１１ａのバリッドビットが初期化される場合には、電源投入後から最初に読み出しデータ用メモリ１１にアクセスすることが可能になるまでの時間が短いという利点がある。
【００４８】
＜第１の実施形態の変形例＞
第１の実施形態では、バリッドビットアレイ１１ａを読み出しデータ用メモリ１１に付加したが、これに限らず、図４に示すように、バリッドビットアレイ１１ａと同様のバリッドビット記憶回路群（例えばフリップフロップ回路群）１１ｂを、読み出しデータ用メモリ１１とは独立に配設するように変更してもよい。なお、図４において、図１中と同一部分には同一符号を付している。
【００４９】
このような変形例において、ECC 機能無効制御回路１４は、読み出しデータ用メモリ１１のメモリ領域とそれに対応するバリッドビット記憶回路を同時にアクセスし、電源投入後にリセット信号reset によってバリッドビットを初期化する。そして、読み出しデータ用メモリ１１のメモリ領域からデータを読み出した際にメモリ領域に対応するバリッドビットが初期値の場合にはECC 制御回路１３内のシンドローム生成回路（図２中２６）の動作を停止させる信号を出力する。また、電源投入後に最初に読み出しデータ用メモリ１１のメモリ領域からデータを読み出した時はメモリ領域に対応するバリッドビットを有効状態に書き換えるように制御する。
【００５０】
したがって、電源投入後に読み出しデータ用メモリ１１の各メモリ領域に対して最初にアクセスする場合には、各メモリ領域毎に読み出したデータに対するエラー訂正機能を無効にすることが可能になり、第１の実施形態と同様の効果が得られる。
【００５１】
＜第２の実施形態＞
図５は、本発明の第２の実施形態に係るSRAMの一部を示している。
【００５２】
このSRAMは、図１に示したSRAMと同様のＩ／Ｏ回路１０、読み出しデータ用メモリ１１、コード用メモリ１２、ECC 制御回路１３のほかに、組み込み自己テスト(Bild In Self Test;BIST)回路５０が搭載されている。
【００５３】
このBIST回路５０は、通常のBIST機能のほかに読み出しデータ用メモリ初期化機能およびECC 機能無効制御機能を有しており、ECC 機能無効制御機能を実現するために、ECC 制御回路１３のシンドローム生成回路２６とECC デコード回路２７に接続されている。
【００５４】
即ち、BIST回路５０は、電源投入直後に、読み出しデータ用メモリ１１の各メモリ領域に対応するアドレスと初期データおよびそのコードデータを自動で生成し、それらがECC制御回路１３によって読み出しデータ用メモリ１１およびコード用メモリ１２に書き込まれる際にシンドローム生成回路２６の機能を停止させる信号を出力する。
【００５５】
このように読み出しデータ用メモリ初期化機能およびECC 機能無効制御機能を有するBIST回路５０を用いた場合にも、電源投入後に読み出しデータ用メモリ１１の各メモリ領域に対して最初にアクセスする場合には、読み出したデータに対するエラー訂正機能を無効にすることが可能になり、第１の実施形態と同様の効果が得られる。
【００５６】
また、第１の実施形態のようなバリッドビットアレイ１１ａあるいはバリッドビット記憶回路群１１ｂを追加する場合に比べて、半導体メモリに搭載される既存のBIST回路にECC 機能無効制御機能を付加することは回路規模が小さくて済む。
【００５７】
＜第２の実施形態の変形例＞
第２の実施形態におけるBIST回路５０を、初期メモリテスト機能（例として、マーチテスト、つまり、書き込みおよび読み出しの連続動作）を有するBIST回路に変更してもよい。このような初期メモリテスト機能を有するBIST回路は、電源投入直後に、予め用意したテストパターンデータをECC 制御回路１３によって読み出しデータ用メモリ１１の各メモリ領域に書き込む。この際、シンドローム生成回路２６の機能を停止させる信号を出力し、ECC コード生成回路２５にテストパターンデータを通してECC コードを生成し、これをコード用メモリ１２に書き込む。
【００５８】
このように初期メモリテスト機能を有するBIST回路を搭載した場合にも、電源投入後に読み出しデータ用メモリ１１の各メモリ領域に対して最初にアクセスする場合には、各メモリ領域毎に読み出したデータに対するECC 制御回路１３によるエラー訂正機能を無効にすることが可能になり、第２の実施形態と同様の効果が得られる。
【図面の簡単な説明】
【００５９】
【図１】本発明の第１の実施形態に係るSRAMの一部を示すブロック図。
【図２】図１中のECC 制御回路の一例を示すブロック図。
【図３】図１中のデータ用メモリに付加されたバリッドビットアレイのカラムを取り出して一例を示す回路図。
【図４】第１の実施形態に係るSRAMの変形例の一部を示すブロック図。
【図５】本発明の第２の実施形態に係るSRAMの一部を示すブロック図。
【図６】従来の誤り訂正機能を有するDRAMの一部を示すブロック図。
【図７】図６中のECC 制御回路の従来例を示すブロック図。
【符号の説明】
【００６０】
１０…Ｉ／Ｏ回路、１１…データ用メモリ（メインメモリ）、１２…コード用メモリ、１３…ECC 制御回路、１４…ECC 機能無効制御回路、２３…読み出しデータ用レジスタ、２４…ECC コード用レジスタ、２５…ECC コード生成回路、２６…シンドローム生成回路、２７…ECC デコード回路（シンドロームデコーダ）、２８…訂正データ用レジスタ。
【図１】
2005063547.tif 000003
【図２】
2005063547.tif 000004
【図３】
2005063547.tif 000005
【図４】
2005063547.tif 000006
【図５】
2005063547.tif 000007
【図６】
2005063547.tif 000008
【図７】
2005063547.tif 000009
【手続補正書】
【提出日】平成15年12月8日(2003.12.8)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
指定されたアドレスにデータを格納するための複数のメモリ領域を有するデータ用メモリと、
前記データ用メモリと同じアドレス空間を有し、前記データ用メモリの各メモリ領域に格納されている各データをそれぞれ訂正することが可能なエラー訂正コードを記憶するためのコード用メモリと、
エラー訂正コード生成回路とシンドローム生成回路とエラー訂正コードデコード回路を有し、前記データ用メモリの任意のメモリ領域にデータ書き込みが行われる際、当該書き込み前に前記メモリ領域から読み出されたデータに対してエラー訂正コードを生成し、このエラー訂正コードを前記メモリ領域に対応するコード用メモリから読み出されたエラー訂正コードと比較してエラー判別・訂正処理を行うエラー訂正コード制御回路と、
電源投入後に前記データ用メモリの各メモリ領域に対して最初にアクセスする際に、各メモリ領域毎に読み出されたデータに対する前記エラー訂正コード制御回路によるエラー訂正機能を無効にするECC 機能無効制御回路
とを具備することを特徴とする半導体記憶装置。
【請求項２】
前記データ用メモリの各メモリ領域毎に対応してバリッドビットを記憶するために前記データ用メモリに付加され、対応する前記メモリ領域と同時にアクセスされ、電源投入後にリセット信号によってバリッドビットが無効状態に初期化される記憶セルをさらに具備し、
前記ECC 機能無効制御回路は、前記データ用メモリのメモリ領域からデータを読み出した際に前記メモリ領域に対応する前記記憶セルのデータが初期値の場合には前記シンドローム生成回路の動作を停止させる信号を出力し、
前記エラー訂正コード制御回路は、電源投入後に最初に前記データ用メモリのメモリ領域からデータを読み出した時は前記メモリ領域に対応する前記記憶セルに記憶されているバリッドビットを有効状態に書き換えるように制御する
ことを特徴とする請求項１記載の半導体記憶装置。
【請求項３】
前記記憶セルは、前記データ用メモリの対応するメモリ領域のメモリセルと共通に接続されているワード線により選択制御されることを特徴とする請求項２記載の半導体記憶装置。
【請求項４】
前記データ用メモリの各メモリ領域毎に対応してバリッドビットを記憶するために前記データ用メモリとは独立に配設され、対応する前記メモリ領域と同時にアクセスされ、電源投入後にリセット信号によって前記バリッドビットが初期化される記憶回路をさらに具備し、
前記ECC 機能無効制御回路は、前記データ用メモリのメモリ領域からデータを読み出した際に前記メモリ領域に対応する前記記憶回路のデータが初期値の場合には前記シンドローム生成回路の動作を停止させる信号を出力し、
前記エラー訂正コード制御回路は、電源投入後に最初に前記データ用メモリのメモリ領域からデータを読み出した時は前記メモリ領域に対応する前記記憶回路に記憶されているバリッドビットを有効状態に書き換えるように制御する
ことを特徴とする請求項１記載の半導体記憶装置。
【請求項５】
前記ECC 機能無効制御回路は、
電源投入直後に、テストパターンデータおよびそのコードデータが前記データ用メモリの各メモリ領域および前記コード用メモリに前記エラー訂正コード制御回路によって書き込まれる際に前記エラー訂正コード制御回路の機能を停止させる信号を出力することを特徴とする請求項１記載の半導体記憶装置。