(57)【要約】【課題】  アクセスタイムが長くなることを防ぎ、かつ、ソフトエラー発生頻度を十分に低くする。【解決手段】  メモリ回路として、データ及び前記データに対する誤り訂正を行うための冗長データを格納するデータ格納部と、データを入出力するように外部からアクセスを受けていないときに、前記データ格納部のデータに対して、前記冗長データを用いて、少なくとも誤り検出を行い、得られた結果をエラー検出信号として出力する誤り訂正部とを備える。データ格納部は、格納しているデータを出力するようにアクセスされているときには、指定されたデータを、前記誤り訂正部における処理を経ずに外部に出力する。【選択図】      図１
2006209900.tif 000002
【特許請求の範囲】
【請求項１】
データ及び前記データに対する誤り訂正を行うための冗長データを格納するデータ格納部と、
データを入出力するように外部からアクセスを受けていないときに、前記データ格納部のデータに対して、前記冗長データを用いて、少なくとも誤り検出を行い、得られた結果をエラー検出信号として出力する誤り訂正部とを備え、
前記データ格納部は、
格納しているデータを出力するようにアクセスされているときには、指定されたデータを、前記誤り訂正部における処理を経ずに外部に出力するものである
メモリ回路。
【請求項２】
請求項１に記載のメモリ回路において、
前記誤り訂正部は、
前記データ格納部から読み出されたデータに対して、これに対応する前記冗長データを用いて、誤り訂正を行い、得られた誤り訂正後のデータに対する誤り訂正を行うための冗長データを生成するものであり、
前記データ格納部は、
前記誤り訂正後のデータ及び対応する冗長データを、前記データ格納部から読み出されたデータのアドレスと同一のアドレスに再書込みするものである
ことを特徴とするメモリ回路。
【請求項３】
請求項１に記載のメモリ回路において、
前記誤り訂正部は、
前記データ格納部から読み出されたデータに対して、これに対応する前記冗長データを用いて、誤り訂正を行い、得られた誤り訂正後のデータ及び前記エラー検出信号を出力する出力データ誤り訂正回路と、
前記エラー検出信号が、誤りが検出されたことを示した場合には、前記誤り訂正後のデータを選択し、その他の場合には、外部からの入力データを選択して、前記データ格納部に出力するデータ選択回路と、
前記データ選択回路から出力されたデータから、このデータに対する誤り訂正を行うための冗長データを生成して前記データ格納部に出力する符号化回路とを有するものである
ことを特徴とするメモリ回路。
【請求項４】
請求項３に記載のメモリ回路において、
前記データ格納部は、
前記データを格納するデータ用メモリセルアレイと、
前記冗長データを格納する冗長データ用メモリセルアレイと、
前記データ用メモリセルアレイ及び前記冗長データ用メモリセルアレイにアクセスするための内部アドレス信号を出力する制御回路と、
前記内部アドレス信号をデコードして前記データ用メモリセルアレイ及び前記冗長データ用メモリセルアレイに供給するアドレスデコーダとを備え、
前記制御回路は、
前記データ用メモリセルアレイ及び前記冗長データ用メモリセルアレイにアクセスするための循環的に生成された誤り訂正用内部アドレス信号、又は外部から入力された外部アドレス信号を選択し、ラッチして、前記内部アドレス信号として出力するアドレス制御回路を有するものであり、
前記アドレス制御回路は、
前記エラー検出信号が、誤りが検出されたことを示した場合には、前記内部アドレス信号を更新せずに保持するものである
ことを特徴とするメモリ回路。
【請求項５】
請求項４に記載のメモリ回路において、
前記制御回路は、
前記エラー検出信号が、誤りが検出されたことを示した場合には、内部書込み制御信号を活性化して前記データ選択回路に出力する制御信号入力回路を更に備えるものであり、
前記データ選択回路は、
前記内部書込み制御信号が活性化されているときには、選択されたデータを出力するものである
ことを特徴とするメモリ回路。
【請求項６】
請求項５に記載のメモリ回路において、
前記制御信号入力回路は、
入力された誤り訂正制御信号が活性化されている場合には、誤り訂正イネーブル信号を活性化し、かつ、アドレスカウンタ用クロック信号を生成して出力するものであり、
前記制御回路は、
前記アドレスカウンタ用クロック信号をカウントして、カウント値を前記誤り訂正用内部アドレス信号として出力するアドレスカウンタを有するものであり、
前記アドレス制御回路は、
前記誤り訂正イネーブル信号が活性化されている場合には、前記誤り訂正用内部アドレス信号を選択し、その他の場合には、前記外部アドレス信号を選択するものである
ことを特徴とするメモリ回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリ回路に関し、特に、格納されたデータのソフトエラーを検出又は訂正する回路を有するメモリ回路に関する。
【背景技術】
【０００２】
近年、半導体メモリのプロセス微細化に伴い、メモリセルの１セル当りの面積は縮小され続けている。これに伴いメモリセルに蓄積される電荷の量も減少している。この結果、アルファ線及び宇宙線入射による、メモリセルへの電荷流入やデータ破壊が深刻な問題となりつつある。このデータ破壊は、メモリセルの記憶ノードへの電荷流入による、記憶ノードの電位の変化によるものであり、メモリセルが物理的に破壊されているわけではない。このため、同一アドレスへ正しいデータを再書込みすれば、エラーを訂正することができる。このようなエラーはソフトエラーと称されている。ソフトエラーへの対処方法としては、誤り訂正回路（ＥＣＣ（Error Check and Correct）回路）を用いる方法が一般的である。
【０００３】
従来の誤り訂正回路を備えたメモリ回路では、メモリへのデータ入力時に、記憶データとともにハミング符号などの冗長データを付加して記憶し、メモリからのデータ出力時に、記憶データと冗長データとを用いて、入力時のデータを復元する。例えば、３２ビットのデータを入力する際に、ハミング符号を用いた６ビットの冗長データを記憶すれば、記憶中に生じた１ビットのデータ誤りを、出力時に訂正することができる（例えば、下記非特許文献１参照）。
【０００４】
図４は、従来のメモリ回路の構成の例を示すブロック図である。図４のメモリ回路は、データ格納部９００と、誤り訂正部９２０と、入力バッファ９３２とを備えている。データ格納部９００は、データ用メモリセルアレイ９０２と、冗長データ用メモリセルアレイ９０４と、アドレスデコーダ９０６と、制御信号入力回路９１２とを備えている。誤り訂正部９２０は、符号化回路９２４と、出力データ誤り訂正回路９２８とを備えている。
【０００５】
図５は、図４の制御信号入力回路９１２の構成を示す回路図である。制御信号入力回路９１２は、フリップフロップ９４１，９４２と、論理ゲート９５１，９５２とを備えている。
【０００６】
データ格納部９００のデータ入出力は、クロック信号ＣＬＫの立ち上がりに同期して行われる。リード／ライト制御信号ＮＷＥは低電位（以下では、“Ｌ”と表記する）のとき、制御信号入力回路９１２は、クロック信号ＣＬＫに同期して、内部書込み制御信号ＩＷＥを活性化する（高電位（以下では“Ｈ”と表記する）にする）。また、制御信号入力回路９１２は、メモリ選択信号ＮＣＳが“Ｌ”であるときには、クロック信号ＣＬＫを内部クロック信号ＩＣＬＫとして出力する。
【０００７】
図６は、図４のメモリ回路の動作の例を示すタイミングチャートである。図６において、内部クロック信号ＩＣＬＫの立ち上り時にアドレス信号Ａが内部に入力され、アドレスデコーダ９０６は、アドレス信号Ａをデコードして、格納されたデータを選択するための信号ＡＩＮを生成する。
【０００８】
図６のサイクル１は、ライトサイクルである。リード／ライト制御信号ＮＷＥは“Ｌ”になるので、図５の制御信号入力回路９１２は、クロック信号ＣＬＫに同期して、内部書込み制御信号ＩＷＥを活性化する。
【０００９】
すると、入力バッファ９３２は、外部入力データＤを内部入力データＤＩＮとして出力する。内部入力データＤＩＮは、データ用メモリセルアレイ９０２に書き込まれる。また、符号化回路９２４は、内部入力データＤＩＮに基づいて誤り訂正用のハミング符号を生成し、冗長データＰＩＮとして出力する。冗長データＰＩＮは、冗長データ用メモリセルアレイ９０４に書き込まれる。
【００１０】
サイクル２〜４はリードサイクルである。クロック信号ＣＬＫの立ち上がり時に内部書込み制御信号ＩＷＥが活性化されていないと、データ用メモリセルアレイ９０２及び冗長データ用メモリセルアレイ９０４は、内部出力データＤＯＵＴ及び冗長データＰＯＵＴを、出力データ誤り訂正回路９２８にそれぞれ出力する。
【００１１】
出力データ誤り訂正回路９２８は、冗長データＰＯＵＴを用いて、内部出力データＤＯＵＴに対して誤り訂正を行い、読み出された内部出力データＤＯＵＴと比較して、エラーの有無を検出する。エラーを検出した場合には、出力データ誤り訂正回路９２８は、エラー検出信号ＥＲＲ信号を“Ｈ”にして出力し、誤り訂正された出力データＱをメモリ回路の外部に出力する。
【非特許文献１】Kiyohiro FURUTANI，他５名，“A Built-In Hamming Code ECC Circuit for DRAM's”，IEEE JOURNAL OF SOLID-STATE CIRCUITS，（米国），１９８９年２月，第２４巻，第１号，ｐｐ．５０−５６
【発明の開示】
【発明が解決しようとする課題】
【００１２】
しかしながら、このような従来の誤り訂正回路では、データ出力の経路上に誤り訂正回路が配置されているので、メモリの出力アクセスタイムが、誤り訂正回路がない場合に比べて非常に遅くなるという問題点があった。すなわち、図６に示されているように、内部出力データＤＯＵＴは、必ず誤り訂正回路を経由してから外部出力データＱとして出力されるので、出力アクセスタイムが長くなる。
【００１３】
本発明は、アクセスタイムが長くなることを防ぎ、かつ、ソフトエラー発生頻度を、実使用上、十分に低くしたメモリ回路を提供することを目的とする。
【課題を解決するための手段】
【００１４】
前記課題を解決するため、請求項１の発明が講じた手段は、メモリ回路として、データ及び前記データに対する誤り訂正を行うための冗長データを格納するデータ格納部と、データを入出力するように外部からアクセスを受けていないときに、前記データ格納部のデータに対して、前記冗長データを用いて、少なくとも誤り検出を行い、得られた結果をエラー検出信号として出力する誤り訂正部とを備え、前記データ格納部は、格納しているデータを出力するようにアクセスされているときには、指定されたデータを、前記誤り訂正部における処理を経ずに外部に出力するものである。
【００１５】
これによると、読み出されたデータを、誤り訂正部における処理を経ることなく、外部に出力することができる。このため、出力アクセスタイムが長くなることを防ぐことができる。一方、データを入出力するように外部からアクセスを受けていないときには、データ格納部のデータに対して、少なくとも誤り検出を行うので、誤りが検出された場合に、誤り訂正を行って再書込みをするようにすれば、ソフトエラーにより生じる読出し誤りの確率を低くすることができる。
【００１６】
請求項２の発明では、請求項１に記載のメモリ回路において、前記誤り訂正部は、前記データ格納部から読み出されたデータに対して、これに対応する前記冗長データを用いて、誤り訂正を行い、得られた誤り訂正後のデータに対する誤り訂正を行うための冗長データを生成するものであり、前記データ格納部は、前記誤り訂正後のデータ及び対応する冗長データを、前記データ格納部から読み出されたデータのアドレスと同一のアドレスに再書込みするものである。
【００１７】
請求項３の発明では、請求項１に記載のメモリ回路において、前記誤り訂正部は、前記データ格納部から読み出されたデータに対して、これに対応する前記冗長データを用いて、誤り訂正を行い、得られた誤り訂正後のデータ及び前記エラー検出信号を出力する出力データ誤り訂正回路と、前記エラー検出信号が、誤りが検出されたことを示した場合には、前記誤り訂正後のデータを選択し、その他の場合には、外部からの入力データを選択して、前記データ格納部に出力するデータ選択回路と、前記データ選択回路から出力されたデータから、このデータに対する誤り訂正を行うための冗長データを生成して前記データ格納部に出力する符号化回路とを有するものである。
【００１８】
請求項４の発明では、請求項３に記載のメモリ回路において、前記データ格納部は、前記データを格納するデータ用メモリセルアレイと、前記冗長データを格納する冗長データ用メモリセルアレイと、前記データ用メモリセルアレイ及び前記冗長データ用メモリセルアレイにアクセスするための内部アドレス信号を出力する制御回路と、前記内部アドレス信号をデコードして前記データ用メモリセルアレイ及び前記冗長データ用メモリセルアレイに供給するアドレスデコーダとを備え、前記制御回路は、前記データ用メモリセルアレイ及び前記冗長データ用メモリセルアレイにアクセスするための循環的に生成された誤り訂正用内部アドレス信号、又は外部から入力された外部アドレス信号を選択し、ラッチして、前記内部アドレス信号として出力するアドレス制御回路を有するものであり、前記アドレス制御回路は、前記エラー検出信号が、誤りが検出されたことを示した場合には、前記内部アドレス信号を更新せずに保持するものである。
【００１９】
請求項５の発明では、請求項４に記載のメモリ回路において、前記制御回路は、前記エラー検出信号が、誤りが検出されたことを示した場合には、内部書込み制御信号を活性化して前記データ選択回路に出力する制御信号入力回路を更に備えるものであり、前記データ選択回路は、前記内部書込み制御信号が活性化されているときには、選択されたデータを出力するものである。
【００２０】
請求項６の発明では、請求項５に記載のメモリ回路において、前記制御信号入力回路は、入力された誤り訂正制御信号が活性化されている場合には、誤り訂正イネーブル信号を活性化し、かつ、アドレスカウンタ用クロック信号を生成して出力するものであり、前記制御回路は、前記アドレスカウンタ用クロック信号をカウントして、カウント値を前記誤り訂正用内部アドレス信号として出力するアドレスカウンタを有するものであり、前記アドレス制御回路は、前記誤り訂正イネーブル信号が活性化されている場合には、前記誤り訂正用内部アドレス信号を選択し、その他の場合には、前記外部アドレス信号を選択するものである。
【発明の効果】
【００２１】
本発明によると、読み出されたデータを、誤り検出や誤り訂正の処理を受けることなく、外部に出力することができるので、出力アクセスタイムが長くなることを防ぐことができる。また、データを入出力するように外部からアクセスを受けていないときに、メモリ回路のデータに対して誤り検出や誤り訂正を行うようにするので、メモリ回路においてソフトエラーにより生じる読出し誤りの確率を、実使用上、十分低くすることができる。
【発明を実施するための最良の形態】
【００２２】
以下、本発明の実施の形態について、図面を参照しながら説明する。
【００２３】
図１は、本発明に係るメモリ回路の構成を示すブロック図である。図１のメモリ回路は、データ格納部１００と、誤り訂正部２０とを備えている。データ格納部１００は、データ用メモリセルアレイ１０２と、冗長データ用メモリセルアレイ１０４と、アドレスデコーダ１０６と、制御回路１１０とを備えている。
【００２４】
制御回路１１０は、制御信号入力回路１１２と、アドレスカウンタ１１４と、アドレス制御回路としてのセレクタ１１６とを有している。誤り訂正部２０は、データ選択回路としてのセレクタ２２と、符号化回路２４と、出力バッファ２６と、出力データ誤り訂正回路２８とを備えている。
【００２５】
制御信号入力回路１１２は、クロック信号ＣＬＫ、メモリ選択信号ＮＣＳ、リード／ライト制御信号ＮＷＥ、誤り訂正制御信号ＮＥＣＣ、及びエラー検出信号ＥＲＲを入力とし、内部クロック信号ＩＣＬＫ、内部書込み制御信号ＩＷＥ、アドレスカウンタ用クロック信号ＥＣＬＫ、及び誤り訂正イネーブル信号ＥＣＣＥを出力する。
【００２６】
アドレスカウンタ１１４は、アドレスカウンタ用クロック信号ＥＣＬＫに従ってカウントを行い、カウント値を誤り訂正用内部アドレス信号ＣＡとしてセレクタ１１６に出力する。
【００２７】
セレクタ１１６は、誤り訂正イネーブル信号ＥＣＣＥが“Ｈ”のときには誤り訂正用内部アドレス信号ＣＡを選択し、その他のときには外部アドレス信号Ａを選択する。セレクタ１１６は、選択された信号をクロック信号ＣＬＫに同期してラッチし、ラッチされた信号を内部アドレス信号ＩＡとしてアドレスデコーダ１０６に出力する。また、セレクタ１１６は、エラー検出信号ＥＲＲが“Ｈ”のときは、ラッチされた内部アドレス信号ＩＡを更新せずに保持し続ける。
【００２８】
アドレスデコーダ１０６は、内部アドレス信号ＩＡをデコードして、データ用メモリセルアレイ１０２及び冗長データ用メモリセルアレイ１０４に格納されたデータから、内部アドレス信号ＩＡが指定するデータを選択するための信号ＡＩＮを出力する。
【００２９】
データ用メモリセルアレイ１０２は、信号ＡＩＮによって選択されたデータを、内部出力データＤＯＵＴとして出力バッファ２６及び出力データ誤り訂正回路２８に出力する。冗長データ用メモリセルアレイ１０４は、信号ＡＩＮによって選択されたデータを、冗長データＰＯＵＴとして出力データ誤り訂正回路２８に出力する。
【００３０】
出力データ誤り訂正回路２８は、内部出力データＤＯＵＴと、冗長データＰＯＵＴとを用いて、内部出力データＤＯＵＴに対する誤り訂正を行い、得られた訂正データＤＣＲＴをセレクタ２２に出力する。また、出力データ誤り訂正回路２８は、内部出力データＤＯＵＴにおいてエラーが検出された場合には、エラー検出信号ＥＲＲを“Ｈ”にして制御信号入力回路１１２及びセレクタ２２，１１６に出力する。
【００３１】
セレクタ２２は、エラー検出信号ＥＲＲ及び内部書込み制御信号ＩＷＥに従って、外部入力データＤ又は訂正データＤＣＲＴを選択して、内部入力データＤＩＮとしてデータ用メモリセルアレイ１０２及び符号化回路２４に出力する。セレクタ２２は、内部書込み制御信号ＩＷＥが活性化しているとき（“Ｈ”であるとき）は、訂正データＤＣＲＴを選択する。
【００３２】
符号化回路２４は、内部入力データＤＩＮから、誤り訂正のための冗長データＰＩＮを生成し、冗長データ用メモリセルアレイ１０４に出力する。符号化回路２４は、例えば、３２ビットの内部入力データＤＩＮから、６ビットのハミング符号を冗長データＰＩＮとして生成する。
【００３３】
出力バッファ２６は、内部出力データＤＯＵＴを入力とし、これを、誤り訂正イネーブル信号ＥＣＣＥに従って外部出力データＱとして出力する。すなわち、出力バッファ２６は、誤り訂正イネーブル信号ＥＣＣＥが“Ｈ”であるときは、内部出力データＤＯＵＴをラッチして出力し、誤り訂正イネーブル信号ＥＣＣＥが“Ｌ”であるときは、内部出力データＤＯＵＴをそのまま出力する。
【００３４】
図２は、図１の制御信号入力回路１１２の構成を示す回路図である。制御信号入力回路１１２は、フリップフロップ１４１，１４２，１４３，１４４と、論理ゲート１５１，１５２，１５３，１５４，１５５，１５８とを備えている。
【００３５】
フリップフロップ１４１〜１４４は、それぞれ、メモリ選択信号ＮＣＳ、リード／ライト制御信号ＮＷＥ、誤り訂正制御信号ＮＥＣＣ、及びエラー検出信号ＥＲＲを入力としており、入力された信号を、クロック信号ＣＬＫに同期して出力する。
【００３６】
メモリ選択信号ＮＣＳが“Ｌ”である場合には、論理ゲート１５１は、クロック信号ＣＬＫを内部クロック信号ＩＣＬＫとして出力する。論理ゲート１５８は、リード／ライト制御信号ＮＷＥが“Ｌ”であり、かつ、誤り訂正制御信号ＮＥＣＣが“Ｈ”である場合に、内部書込み制御信号ＩＷＥを活性化する他、エラー検出信号ＥＲＲが“Ｈ”である場合には、内部クロック信号ＩＣＬＫを内部書込み制御信号ＩＷＥとして出力する。
【００３７】
誤り訂正制御信号ＮＥＣＣ及びエラー検出信号ＥＲＲが“Ｌ”である場合には、論理ゲート１５５は、アドレスカウンタ用クロック信号ＥＣＬＫを出力する。エラー検出信号ＥＲＲが“Ｈ”になると、アドレスカウンタ用クロック信号ＥＣＬＫは停止する。メモリ選択信号ＮＣＳ及び誤り訂正制御信号ＮＥＣＣが“Ｌ”である場合には、論理ゲート１５４は、誤り訂正イネーブル信号ＥＣＣＥを活性化して、“Ｈ”を出力する。
【００３８】
図３は、図１のメモリ回路の動作の例を示すタイミングチャートである。図３を用いて図１のメモリ回路の動作を説明する。データ格納部１００のデータ入出力は、クロック信号ＣＬＫの立ち上がりに同期して行われる。
【００３９】
図３において、サイクル１は通常のリードサイクルであって、格納しているデータを出力するように、外部からアクセスされている。このサイクルにおいては、外部から入力される誤り訂正制御信号ＮＥＣＣが“Ｈ”になるので、誤り訂正イネーブル信号ＥＣＣＥは“Ｌ”である。したがって、セレクタ１１６は、外部アドレス信号Ａを選択し、出力バッファ２６は、内部出力データＤＯＵＴをそのまま外部出力データＱとして出力する。このとき出力されるデータは、出力データ誤り訂正回路２８を経由せず、誤り検出や誤り訂正の処理を受けることがないので、出力アクセスタイムが長くなることを防ぐことができる。
【００４０】
サイクル２〜５において、メモリ選択信号ＮＣＳは“Ｌ”に活性化されている。また、サイクル２〜５においては、データを入出力するように外部からアクセスを受けておらず、格納されているデータの誤り検出や誤り訂正のために、誤り訂正時以外には読出しが行われる。このため、サイクル２〜５においては、誤り訂正制御信号ＮＥＣＣが“Ｌ”に活性化されている。
【００４１】
サイクル２はリードサイクルである。サイクル２において、クロック信号ＣＬＫの立ち上がり時に、誤り訂正イネーブル信号ＥＣＣＥが“Ｈ”に活性化され、また、アドレスカウンタ用クロック信号ＥＣＬＫが、内部クロック信号ＩＣＬＫと同様に出力される。
【００４２】
誤り訂正イネーブル信号ＥＣＣＥが活性化すると、セレクタ１１６は、外部アドレス信号Ａの入力を禁止し、アドレスカウンタ１１４から出力される誤り訂正用内部アドレス信号ＣＡを選択して出力する。また、出力バッファ２６は、前サイクルの出力データＱ（図６のＱｘ）をラッチする。更に、出力データ誤り訂正回路２８は、活性化され、訂正データＤＣＲＴを出力する。
【００４３】
アドレスカウンタ１１４は、アドレスカウンタ用クロック信号ＥＣＬＫの立ち上がり時に誤り訂正用内部アドレス信号ＣＡをインクリメントする。アドレスカウンタ１１４は、データ用メモリセルアレイ１０２及び冗長データ用メモリセルアレイ１０４内のデータを指定する全てのアドレスを循環的に発生する。例えば、データ用メモリセルアレイ１０２及び冗長データ用メモリセルアレイ１０４のアドレスとして、０〜Ｍが割り当てられているとすると、アドレスカウンタ１１４は、０からＭまでカウントアップすることを繰り返す。
【００４４】
サイクル３はリードサイクルである。サイクル３において、出力データ誤り訂正回路２８は、内部アドレスＡｎ＋１で指定されたデータ用メモリセルアレイ１０２からの内部出力データＱｎ＋１にエラーが検出されると、エラー検出信号ＥＲＲを“Ｈ”にする。
【００４５】
サイクル４では、誤り訂正が行われる。サイクル４では、エラー検出信号ＥＲＲが“Ｈ”なので、制御信号入力回路１１２は、アドレスカウンタ用ＥＣＬＫを停止し、アドレスカウンタ１１４は、誤り訂正用内部アドレス信号ＣＡをインクリメントせず、セレクタ１１６は、前サイクルと同じアドレスＡｎ＋１を保持して出力する。
【００４６】
また、制御信号入力回路１１２が、エラー検出信号ＥＲＲに従って内部書込み制御信号ＩＷＥを活性化するので、セレクタ２２は、訂正データＤＣＲＴを選択して内部入力データＤＩＮとして出力する。すなわち、訂正データＱｎ＋１ｘが、内部入力データＤｎ＋１としてデータ用メモリセルアレイ１０２及び符号化回路２４に与えられる。
【００４７】
データ用メモリセルアレイ１０２及び冗長データ用メモリセルアレイ１０４には、内部アドレスＡｎ＋１が与えられたままであるので、データ用メモリセルアレイ１０２及び冗長データ用メモリセルアレイ１０４のアドレスＡｎ＋１に、内部入力データＤｎ＋１及びこれに基づいて生成された冗長データがそれぞれ書き込まれる。
【００４８】
すなわち、データ用メモリセルアレイ１０２及び冗長データ用メモリセルアレイ１０４は、サイクル３で読み出しの対象となったアドレスに、誤り訂正後のデータ及びこれに対応する冗長データをそれぞれ再書込みする。
【００４９】
以上のように、図１のメモリ回路によると、読み出されたデータを直接外部に出力する経路（図１の出力バッファ２６を経由する経路）に並列に、出力データ誤り訂正回路２８を備えるようにしたので、読み出されたデータは、誤り検出や誤り訂正のための処理を受けることなく、外部に出力される。このため、誤り訂正等の処理によって生じるアクセスタイムの低下を防ぐことができ、高速なアクセスを行うことができる。
【００５０】
また、誤り訂正制御信号ＮＥＣＣに従って、メモリ外部からのデータ入出力アクセスサイクルとは別のサイクルにおいて、アドレスカウンタ１１４が誤り訂正用内部アドレス信号ＣＡを生成し、周期的にデータ用メモリセルアレイ１０２及び冗長データ用メモリセルアレイ１０４内に格納されたデータに対して誤り検出や誤り訂正が行われる。このため、メモリ回路においてソフトエラーにより生じる読出しデータの誤りの確率を、実使用上、十分低くすることができる。
【００５１】
例えば、メモリ回路として、１３０ｎｍプロセス用いた半導体ＳＲＡＭ（Static Random-Access Memory）を考える。この場合、１メガビットあたりの宇宙線によるソフトエラーの確率（ソフトエラー・レート）は、約２．１ ｘ １０-5error/hour/Mbitであり、この値は約５年に１回エラーが生じる確率である。
【００５２】
いま、ＳＲＡＭの容量が３２Ｋワード、動作周波数が２７ＭＨｚの場合に、ＳＲＡＭが動作するサイクルの内、１万回に１回だけ、通常アクセスのサイクルとは別サイクルにおいてエラーをチェックすると仮定すると、ソフトエラーが１回発生する期間中に、１．４ｘ１０7回も全ビットをチェックすることが可能である。この場合、誤り訂正回路を使用しない場合に対して、３．６ｘ１０8倍もソフトエラーの発生確率を低くすることができる。この確率は、実使用上、全く問題のないエラー確率である。
【００５３】
以上の実施形態においては、出力データ誤り訂正回路２８が誤り訂正を行う場合について説明したが、出力データ誤り訂正回路が、誤り訂正を行わず、誤り検出の結果をメモリ回路の外部に出力するようにしてもよい。この場合は、誤り検出の結果に従って、メモリ回路の外部で誤り訂正を行い、訂正後のデータを再書込みするようにする。
【００５４】
また、内部出力データＤＯＵＴは３２ビットのデータ、冗長データＰＯＵＴは６ビットのデータとして説明したが、これらのデータのビット数は他のビット数であってもよい。
【００５５】
また、以上の実施形態においては、クロック同期式のメモリ回路について説明したが、非同期式のメモリ回路であってもよい。また、メモリ回路は、再書込みによってデータ破壊を修復することができるメモリであればよく、半導体メモリであっても、その他の種類のメモリであってもよい。
【産業上の利用可能性】
【００５６】
以上説明したように、本発明は、データ出力の際のアクセスタイムを短縮することができるので、高速に動作することが必要なメモリ回路等に有用である。
【図面の簡単な説明】
【００５７】
【図１】本発明に係るメモリ回路の構成を示すブロック図である。
【図２】図１の制御信号入力回路の構成を示す回路図である。
【図３】図１のメモリ回路の動作の例を示すタイミングチャートである。
【図４】従来のメモリ回路の構成の例を示すブロック図である。
【図５】図４の制御信号入力回路の構成を示す回路図である。
【図６】図４のメモリ回路の動作の例を示すタイミングチャートである。
【符号の説明】
【００５８】
２０  誤り訂正部
２２  セレクタ（データ選択回路）
２４  符号化回路
２６  出力バッファ
２８  出力データ誤り訂正回路
１００  データ格納部
１０２  データ用メモリセルアレイ
１０４  冗長データ用メモリセルアレイ
１０６  アドレスデコーダ
１１０  制御回路
１１２  制御信号入力回路
１１４  アドレスカウンタ
１１６  セレクタ（アドレス制御回路）
【図１】
2006209900.tif 000003
【図２】
2006209900.tif 000004
【図３】
2006209900.tif 000005
【図４】
2006209900.tif 000006
【図５】
2006209900.tif 000007
【図６】
2006209900.tif 000008