(57)【特許請求の範囲】
【請求項１】
データを記憶する複数のメモリ・セルを備え、アドレスによってアクセス制御されるメモリ・セル・アレイと、
前記メモリ・セル・アレイ内のメモリ・セルに格納されたデータに対しＥＣＣ処理を実行するＥＣＣ処理回路と、を備え、
前記メモリ・セル・アレイに対しリード／ライトが処理されるときは外部から導入された外部アドレスによって実行され、
前記ＥＣＣ処理は、前記リード／ライトの処理サイクル内であって、複数のデータを順次転送するバースト転送タイミング期間に、前記外部アドレスと異なる内部アドレスによって実行されることを特徴とするメモリ装置。
【請求項２】
さらに、前記外部アドレスと独立して、前記内部アドレスを生成する内部アドレス発生回路を備える、請求項１に記載のメモリ装置。
【請求項３】
前記ＥＣＣ処理回路は、バースト転送の１サイクルに必要とされる時間内において、データの取得、エラー判定、必要なエラー訂正及びデータの前記メモリ・セル・アレイへの出力を実行する、請求項１に記載のメモリ装置。
【請求項４】
前記ＥＣＣ処理回路は、データの取得、エラー判定、必要なエラー訂正及びデータの前記メモリ・セル・アレイへの出力を含む１サイクルのＥＣＣ処理を、バースト転送の複数のサイクルに分割して実行する、請求項１に記載のメモリ装置。
【請求項５】
前記メモリ・セル・アレイは複数のメモリ・セルを備え、前記複数のメモリ・セルのそれぞれは、
第１のポートと、第２のポートとを備え、
通常のリード／ライト処理において、前記第１のポートを介してデータの読み出し／書き込み処理が実行され、
ＥＣＣ処理において、前記第２のポートを介してデータの読み出し／書き込み処理が実行される、請求項１に記載のメモリ装置。
【請求項６】
エラー発生の頻度に基づいて、前記ＥＣＣ処理の周期を変更するＥＣＣ周期変更回路をさらに備える、請求項１に記載のメモリ装置。
【請求項７】
前記メモリ・セル・アレイは、電荷保持素子を利用してデータを記憶し、
前記ＥＣＣ処理は前記メモリ・セル・アレイのリフレッシュ動作に伴って実行される、請求項１に記載のメモリ装置。
【請求項８】
さらに、データを記憶可能なスペア・メモリ・セルと、
前記ＥＣＣ処理回路が予め定められた条件において前記メモリ・セル・アレイのセルについて複数回のエラー判定を行った場合、前記セルへのアクセス・アドレスに従って、アクセス先を前記スペア・メモリ・セルに変更する回路と、を備える請求項１に記載のメモリ装置。
【請求項９】
さらに、ＥＣＣ処理回路によってエラー判定されたアドレスを記憶する記憶手段と、
前記記憶されたアドレスと新たにエラー判定されたアドレスを比較して、前記アドレスによるアクセス先の変更を決定する判定回路と、を備える請求項８に記載のメモリ装置。
【請求項１０】
前記ＥＣＣ処理回路は、複数のアドレスのデータに対してＥＣＣ処理を実行し、
前記複数のアドレスのデータは、前記メモリ・セル・アレイの互いに物理的に隣接することなく離間したメモリ・セルに記憶される、
請求項１に記載のメモリ装置。
【請求項１１】
メモリ・セル・アレイに記憶されたデータのエラーを訂正する方法であって、
外部アドレスに従って、前記メモリ・セル・アレイに対する外部データのリード／ライト処理を実行するステップと、
エラー訂正に使用される内部アドレスを生成するステップと、
前記内部アドレスによって指定される前記メモリ・セル・アレイの領域に記憶されているデータについて、エラー判定と修正を含むＥＣＣ処理を実行する、ステップと、を備え、
前記ＥＣＣ処理を実行するステップは、前記メモリ・セル・アレイに対する外部データのリード／ライト処理サイクル内であって、複数のデータを順次転送するバースト転送タイミング期間においてＥＣＣ処理を実行する、方法。
【請求項１２】
データをシリアル・パラレル変換するシリアル・パラレル変換回路と、
データを格納する複数のメモリ・セルと、
内部アドレスを発生する内部アドレス発生回路と、
外部アドレスを導入する外部アドレス・ピンと、
データを基にしてＥＣＣコードを発生するＥＣＣコード発生回路と、
前記ＥＣＣコードを基にデータを判定及び訂正するＥＣＣコード判定・訂正回路と、を備え、
データ書き込みは、データ入力ピンに供給されたシリアルデータを前記シリアル・パラレル変換回路がパラレルデータに変換し、前記パラレルデータを基に前記ＥＣＣコード発生回路がＥＣＣコードを発生し、前記パラレルデータ及び前記ＥＣＣコードを第１の外部アドレスに対応したメモリ・セルに格納することにより実施され、
データ読出しは、第２の外部アドレスに対応したメモリ・セルに格納されたパラレルデータが、前記ＥＣＣ判定訂正回路にて処理されること無しに、前記シリアル・パラレル変換回路に供給され、シリアルデータに変換されてデータ出力ピンに供給されることにより実施され、
ＥＣＣ判定・訂正は、前記内部アドレスに対応した前記メモリ・セルに格納されたデータ及びＥＣＣコードの判定が前記ＥＣＣ判定訂正回路にてなされ、前記データが訂正されたときにはその訂正データが前記データ出力ピンに供給されること無く前記メモリ・セル・アレイに格納されることにより実施され、
前記ＥＣＣ判定・訂正は、前記データ書込み又は前記データ読出しが実施されているときであって、複数のデータを順次転送するバースト転送タイミング期間に実施されることを特徴とするメモリ装置。
【請求項１３】
少なくとも第１及び第２のバンクを備える複数のバンクと、
バンク・セレクト・ビットを備える外部アドレスを導入する外部アドレス・ピンと、
バンク・セレクト・ビットを備える内部アドレスを発生する内部アドレス発生回路と、
前記外部アドレスのバンク・セレクト・ビット及び内部アドレスのバンク・セレクト・ビットを比較し制御信号を出力する比較回路と、を備え、
前記外部アドレスに対応する前記第１のバンクに対しリード／ライト・アクセスを実施されるときに、前記制御信号が不一致を示すときは前記内部アドレスに対応する前記第２のバンクに対しＥＣＣ処理を実施し、前記制御信号が一致を示すときは前記内部アドレスに対応する前記第２のバンクに対しＥＣＣ処理を中止することを特徴とするメモリ装置。
【請求項１４】
一つのセルが２トランジスタ及び１キャパシタからなる２ポート・メモリ・セルを備え、
リードライト動作は、前記２ポート・メモリ・セルの第１のポートを介して外部アドレスによって実施され、ＥＣＣ動作は、前記２ポート・メモリ・セルの第２のポートを介して内部アドレスによって実施されることを特徴とする、請求項１２に記載のメモリ装置。
【請求項１５】
複数のアドレスのデータに対してＥＣＣ処理を実行するメモリ装置であって、
データを記憶する複数のメモリ・セルを備え、内部アドレスに応じたメモリ・セルが選択されるメモリ・セル・アレイと、
前記複数のアドレスから、前記複数のアドレスのデータが互いに物理的に隣接することなく離間したメモリ・セルに記憶されるように、前記複数のアドレスのそれぞれに対応した内部アドレスを生成するコントローラと、
を有する請求項１２に記載のメモリ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリ装置及びメモリのエラー訂正方法に関し、特に、ＥＣＣ処理が可能なメモリ装置及びメモリのエラー訂正方法に関する。
【背景技術】
【０００２】
半導体装置の微細化と低電圧化によって、ＳＲＡＭ（Static Random Access Memory）のソフトエラー発生率（ＳＥＲ）が増加しており、対策が急がれている。ソフトエラー率の悪化は、汎用メモリ及びロジックＬＳＩに搭載されたＳＲＭＡセルにおいて大きな問題となってきている。ＳＥＲを決定している大きな要因は、半導体デバイスの構成材料（パッケージ部材、アルミ配線など）から放出されるα粒子や地上まで到達する二次宇宙線の高エネルギー中性子である。特に、高エネルギー中性子は遮蔽が困難であること、あるいは、地上での場所や日時でフラックスが異なるなど定量的なＳＥＲ測定が困難であること、といった特徴を備えている。
【０００３】
一方、ＤＲＡＭ（Dynamic Random Access Memory）に関しては、現時点のＳＥＲは、前世代の製品と比較して改善されている。しかし、ＤＲＡＭについても、今後の低電圧化と微細化に伴いＳＥＲの悪化が考えられる。従って、ＤＲＡＭに関しても、少なくとも近い将来において、ＳＥＲ対策が必要とされることが予想される。また、上述の放射線起因ソフトエラーとは別に、今後微細化が進むとデバイスの特性ゆらぎ（物理学的な統計ゆらぎによる特性変動、経時変化による特性変化なども含む）が顕著になってくると考えられる。この為、それまで正常に動作していたセルが、ある時から「不良セル」となる可能性がある、このような特性ゆらぎは、回復可能な可逆性の現象、もしくは、実質的に回復不可能（ハードエラーに相当）な場合がある。このような広い意味でのソフトエラーが問題となってくる。
【０００４】
ＳＥＲ対策の技術として、ソフトエラーを自動的に訂正する機能を備えるメモリが知られている。以下、エラーの自動訂正機能を備えるメモリをＥＣＣ（Error Check and Correct）メモリと呼ぶ。ＥＣＣメモリは、本来のデータとは別に、エラー検出と訂正のための冗長データであるＥＣＣコード（ＥＣＣ（Error Correcting Code）とも呼ばれる）を記憶し、ＥＣＣコードを使用してエラー検出と訂正を行う。ＥＣＣ機能を備えるメモリは、メモリ内のエラーを自動的に訂正することができる一方で、通常のリード／ライト処理の動作時間に影響を与える問題が存在する。そのため、ＥＣＣ機能を実現しながら、通常のリード／ライト処理の動作時間への影響を小さくするためのいくつかの技術が知られている。
【０００５】
例えば、データのリード処理においてパリティ検査を行わず、ライト処理において、リセット時にパリティ・セルの読み出し、あるいはエラー訂正などを行うＥＣＣ回路を搭載するメモリが知られている（例えば、特許文献１を参照）。具体的には、このメモリは、メモリ・セル・アレイ、水平パリティ・セル・アレイ、垂直パリティ・セル・アレイ、ワード線を選択するＸデコーダ、データ線を選択するＹデコーダ、水平・垂直コード選択回路、水平／垂直コードのパリティ検査回路、及びエラー訂正回路を備えている。データの読み出し時には、パリティ検査を行わずに読み出しデータをそのまま出力する。
【０００６】
データの書き込み時には、基準クロック信号の第１の電圧レベルで、書き込み対象となるメモリ・セルに属する水平及び垂直コードのメモリ・セル情報が読み出された後、書き込みデータ信号が書き込み対象のメモリ・セルに書き込まれる。基準クロック信号の第２の電圧レベルで、書き込み対象のメモリ・セルが属する水平及び垂直コードの水平及び垂直パリティ・セル情報が読み出されると同時に、パリティ・セル情報と水平及び垂直コードのメモリ・セル情報も用いてパリティ検査が行われる。エラー検出された場合、水平及び垂直パリティ・セル情報の書き換えが行われる。メモリ・データのリフレッシュ時には、メモリ・セル及びパリティ・セルのパリティ検査及びメモリ情報のエラー訂正を行う。
【０００７】
上記メモリ構成において、リード処理時においてＥＣＣ回路が動作しないため、リード処理の動作マージンに影響を与えることはない。ライト動作においてＥＣＣ回路が動作するが、最近の高速デバイスにおいて、ライト処理の一部の時間のみにおいて、ＥＣＣ動作を実現することは極めて困難である。尚、上記文献は、リフレッシュ動作に伴ってＥＣＣ処理を実行することを開示しているが、ＥＣＣ処理を実行することによってリフレッシュに必要なサイクル数もしくはトータル時間が増加し、システムにおけるアクセス禁止時間を増加させる。これによって、リード／ライト処理に遅延が生じ、システムの性能を落とすことになる。
【０００８】
あるいは、動作モードに応じてＥＣＣ回路が動作し、通常のリード／ライト処理動作時において、ＥＣＣ回路が動作しないメモリが知られている（例えば、特許文献２を参照）。具体的に、このメモリは、エラー発生率が高いデータ保持状態になる直前に全ての検査用メモリ・セルに所定のパリティ情報を書き込む。パリティ付加は、通常動作時において、メモリ・アクセスに悪影響を与えない時間に行うことができることが開示されているが、その具体的タイミングについて、一切の示唆がなされていない。
【０００９】
このメモリにおいて、高いデータ保持状態が終了した直後に、検査用メモリ・セルのパリティ情報を参照データとして、全ての情報メモリ・セルを検索し誤り番地の検出と誤りデータの訂正が行われる。上記動作のタイミングは、モード検出機構によって検出されたメモリの動作モードによって決定される。しかし、本メモリ構成においては、基本的には通常動作時においてＥＣＣ回路が動作しないため、高速デバイスのようにリード処理とライト処理が頻繁に繰り返されるメモリなどにおいて、実質的にＥＣＣ回路が機能しないことになる。
【００１０】
この他、通常のリード／ライト処理の他に、リフレッシュ専用のワード線、ビット線、及びトランジスタを備えるセル構成が、特許文献３に開示されている。しかし、ＥＣＣ処理について、一切の開示及び示唆を行っていない。あるいは、ＤＲＡＭと同じ構成メモリ・セルを備え、ＳＲＡＭ仕様で動作する半導体装置が知られている（例えば特許文献４参照）。ＤＲＡＭと同じ構成のメモリ・セルのリフレッシュは内部で発生したリフレッシュ・アドレスに従って制御され、リード／ライト処理のサイクル内でリフレッシュ処理が実行されるため、リフレッシュ処理が外部から認識されることはない。しかし、この文献は、ＥＣＣ処理について、一切の開示を行っていない。
【００１１】
【特許文献１】特開平１−２９０２００号公報
【特許文献２】特開平７−４５０９６号公報
【特許文献３】特開平３−２６３６８５号公報
【特許文献４】特開２００３−８５９７０号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
本発明は上記従来技術に鑑みてなされたものであって、本発明の一つの目的は、効果的にエラー・チェックあるいはエラー訂正することができるメモリ機構を提供することである。
【課題を解決するための手段】
【００１３】
本発明の第１の態様は、メモリ装置であって、データを記憶する複数のメモリ・セルを備え、アドレスによってアクセス制御されるメモリ・セル・アレイと、前記メモリ・セル・アレイ内のメモリ・セルに格納されたデータに対しＥＣＣ(Error Check and Correct)処理を実行するＥＣＣ処理回路と、を備え、前記メモリ・セル・アレイに対しリード／ライトが処理されるときは外部から導入された外部アドレスによって実行され、前記ＥＣＣ処理は前記リード／ライトの処理サイクル内に前記外部アドレスと異なる内部アドレスによって実行されることを特徴とする。この構成を有することによって、ＥＣＣ処理を効果的に実行することができる。
【００１４】
上記第１の態様において、さらに、前記外部アドレスと独立して、前記内部アドレスを生成する内部アドレス発生回路を備えることが好ましい。これによって、ＥＣＣ処理に好適なアドレス生成を行うことができる。
【００１５】
上記第１の態様において、前記ＥＣＣ処理は、複数のデータを順次転送するバースト転送タイミング期間を使用して実行されることが好ましい。これによって、リード／ライト処理に実質的に遅延が生じないタイミングでＥＣＣ処理を確実に実行することができる。さらに、前記ＥＣＣ処理回路は、バースト転送の１サイクルに必要とされる時間内において、データの取得、エラー判定、必要なエラー訂正及びデータの前記メモリ・セル・アレイへの出力を実行することが好ましい。これによって、効率的にＥＣＣ処理を実行することができる。あるいは、前記ＥＣＣ処理回路は、データの取得、エラー判定、必要なエラー訂正及びデータの前記メモリ・セル・アレイへの出力を含む１サイクルのＥＣＣ処理を、バースト転送の複数のサイクルに分割して実行することができる。これによって、バースト転送期間が短い場合でも、ＥＣＣ処理を実行することができる。
【００１６】
上記第１の態様において、前記メモリ・セル・アレイは複数のバンクを備え、前記ＥＣＣ処理回路は、外部データのリード／ライト処理が実行されていないバンクに記憶されているデータについてＥＣＣ処理を実行することが好ましい。これにより、リード／ライト処理とコンフリクトするＥＣＣ処理を減少することができる。
【００１７】
上記複数のバンクを備えるメモリ装置において、さらに、前記ＥＣＣ処理が実行されているバンクに対して外部アクセスが生じた場合に、前記バンクのＥＣＣ処理を停止するように制御するＥＣＣ制御回路を備えることが好ましい。これによって、ＥＣＣ処理がリード／ライト処理を妨げることを避けることができる。
【００１８】
上記複数のバンクを備えるメモリ装置において、前記ＥＣＣ処理が次に実行されるバンクに対して外部アクセスが生じた場合に、前記ＥＣＣ処理を停止する、もしくは前記次のバンクのＥＣＣ処理をスキップするように制御するＥＣＣ制御回路を備えることが好ましい。これによって、ＥＣＣ処理がリード／ライト処理を妨げることを避けることができる。
あるいは、上記複数のバンクを備えるメモリ装置において、さらに、各バンクのＥＣＣ処理回数の差を決定可能な情報を記憶する記憶手段と、前記情報に基づいて、ＥＣＣ処理回数が少ないバンクを優先的にＥＣＣ処理実行するように制御するＥＣＣ制御回路と、を備えることが好ましい。これにより、バンク間のＥＣＣ処理の頻度に差がでることを抑制することができる。
【００１９】
上記複数のバンクを備えるメモリ装置において、バンク内におけるＥＣＣ処理は、固定されたアドレス順序に従って繰り返され、前記バンクにおけるＥＣＣ処理が停止された場合、ＥＣＣ処理は停止されたアドレスの続きのアドレスから再開されることが好ましい。これによって、バンク内のＥＣＣ処理の偏りを小さくすることができる。
あるいは、上記複数のバンクを備えるメモリ装置において、バンク内においてＥＣＣ処理が停止されたアドレスを決定可能な情報を記憶する記憶手段と、前記バンクのＥＣＣ処理を、前記記憶されたアドレスに基づいて決定されたアドレスから開始するように制御するＥＣＣ制御回路と、を備えることが好ましい。これによって、バンク内のＥＣＣ処理の偏りを小さくすることができる。
【００２０】
上記第１の態様において、前記メモリ・セル・アレイは複数のメモリ・セルを備え、前記複数のメモリ・セルのそれぞれは、第１のポートと、第２のポートとを備え、通常のリード／ライト処理において、前記第１のポートを介してデータの読み出し／書き込み処理が実行され、ＥＣＣ処理において、前記第２のポートを介してデータの読み出し／書き込み処理が実行されることが好ましい。これによって、ＥＣＣ処理によるリード／ライト処理の遅延を抑制することができる。
あるいは、上記第１の態様において、エラー発生の頻度に基づいて、前記ＥＣＣ処理の周期を変更するＥＣＣ周期変更回路をさらに備えることが好ましい。これによって、信頼性確保のためにエラー発生に応じたＥＣＣ処理を行うことができる。
あるいは、上記第１の態様において、前記メモリ・セル・アレイは、電荷保持素子を利用してデータを記憶し、前記ＥＣＣ処理は前記メモリ・セル・アレイのリフレッシュ動作に伴って実行されることが好ましい。これにより、リフレッシュ処理とＥＣＣ処理を効率的に実行することができる。
【００２１】
あるいは、上記第１の態様において、さらに、データを記憶可能なスペア・メモリ・セルと、前記ＥＣＣ処理回路が予め定められた条件において前記メモリ・セル・アレイのセルについて複数回のエラー判定を行った場合、前記セルへのアクセス・アドレスに従って、アクセス先を前記スペア・メモリ・セルに変更する回路と、を備えることが好ましい。これによって、繰り返し起こるエラーを抑制することができる。さらに、ＥＣＣ処理回路によってエラー判定されたアドレスを記憶する記憶手段と、前記記憶されたアドレスと新たにエラー判定されたアドレスを比較して、前記アドレスによるアクセス先の変更を決定する判定回路と、を備えることが好ましい。これにより、効果的にエラー発生するセルを特定することができる。
【００２２】
あるいは、上記第１の態様において、前記ＥＣＣ処理回路は、複数のアドレスのデータに対してＥＣＣ処理を実行し、前記複数のアドレスのデータは、前記メモリ・セル・アレイの互いに離間したメモリ・セルに記憶されることが好ましい。これによって、面積増加が少ない状態でエラー訂正を行い、マルチビット・モードのソフトエラーに強くなる。
【００２３】
本発明の他の態様は、メモリ・セル・アレイに記憶されたデータのエラーを訂正する方法であって、外部アドレスに従って、前記メモリ・セル・アレイに対する外部データのリード／ライト処理を実行するステップと、エラー訂正に使用される内部アドレスを生成するステップと、前記内部アドレスによって指定される前記メモリ・セル・アレイの領域に記憶されているデータについて、エラー判定と修正を含むＥＣＣ処理を実行する、ステップと、を備え、前記ＥＣＣ処理を実行するステップは、前記メモリ・セル・アレイに対する外部データのリード／ライト処理サイクル内において、ＥＣＣ処理を実行する。この構成を有することによって、ＥＣＣ処理を効果的に実行することができる。
【００２４】
本発明の他の態様は、メモリ装置であって、データをシリアル・パラレル変換するシリアル・パラレル変換回路と、データを格納する複数のメモリ・セルと、内部アドレスを発生する内部アドレス発生回路と、外部アドレスを導入する外部アドレス・ピンと、データを基にしてＥＣＣコードを発生するＥＣＣコード発生回路と、前記ＥＣＣコードを基にデータを判定及び訂正するＥＣＣコード判定・訂正回路と、を備え、データ書き込みは、データ入力ピンに供給されたシリアルデータを前記シリアル・パラレル変換回路がパラレルデータに変換し、前記パラレルデータを基に前記ＥＣＣコード発生回路がＥＣＣコードを発生し、前記パラレルデータ及び前記ＥＣＣコードを第１の外部アドレスに対応したメモリ・セルに格納することにより実施され、データ読出しは、第２の外部アドレスに対応したメモリ・セルに格納されたパラレルデータが、前記ＥＣＣ判定訂正回路にて処理されること無しに、前記シリアル・パラレル変換回路に供給され、シリアルデータに変換されてデータ出力ピンに供給されることにより実施され、ＥＣＣ判定・訂正は、前記内部アドレスに対応した前記メモリ・セルに格納されたデータ及びＥＣＣコードの判定が前記ＥＣＣ判定訂正回路にてなされ、前記データが訂正されたときにはその訂正データが前記データ出力ピンに供給されること無く前記メモリ・セル・アレイに格納されることにより実施され、前記ＥＣＣ判定・訂正は、前記データ書込み又は前記データ読出しが実施されているときに実施されることを特徴とする。これによって、メモリ・セルへのデータ書き込みあるいは読み出し処理の実質的な遅延を生ずることなくＥＣＣ処理を実行可能なメモリ装置を構成することができる。
【００２５】
本発明の他の態様は、メモリ装置であって、少なくとも第１及び第２のバンクを備える複数のバンクと、バンク・セレクト・ビットを備える外部アドレスを導入する外部アドレス・ピンと、バンク・セレクト・ビットを備える内部アドレスを発生する内部アドレス発生回路と、前記外部アドレスのバンク・セレクト・ビット及び内部アドレスのバンク・セレクト・ビットを比較し制御信号を出力する比較回路と、を備え、前記外部アドレスに対応する前記第１のバンクに対しリード／ライト・アクセスを実施されるときに、前記制御信号が不一致を示すときは前記内部アドレスに対応する前記第２のバンクに対しＥＣＣ処理を実施し、前記制御信号が一致を示すときは前記内部アドレスに対応する前記第２のバンクに対しＥＣＣ処理を中止することを特徴とする。これによって、リード／ライト・アクセスに実質的に遅延を生ずることなく、ＥＣＣ処理を実行可能なメモリ装置を構成することができる。
【００２６】
本発明の他の態様は、メモリ装置であって、一つのセルが２トランジスタ及び１キャパシタからなる２ポート・メモリ・セルを備え、リードライト動作は、前記２ポート・メモリ・セルの第１のポートを介して外部アドレスによって実施され、ＥＣＣ動作は、前記２ポート・メモリ・セルの第２のポートを介して内部アドレスによって実施されることを特徴とする。これによって、メモリ・セルへのリードライト動作へのＥＣＣ処理の影響を小さくすることができる。
【００２７】
本発明の他の態様は、複数のアドレスのデータに対してＥＣＣ処理を実行するメモリ装置であって、データを記憶する複数のメモリ・セルを備え、内部アドレスに応じたメモリ・セルが選択されるメモリ・セル・アレイと、前記複数のアドレスから、前記複数のアドレスのデータが離間したメモリ・セルに記憶されるように、前記複数のアドレスのそれぞれに対応した内部アドレスを生成するコントローラと、を有する。これによって、面積増加が少ない状態でエラー訂正を行い、マルチビット・モードのソフトエラーに強くなる。
【発明の効果】
【００２８】
本発明によれば、メモリのエラー訂正を効果的に実行することができる。
【発明を実施するための最良の形態】
【００２９】
以下に、本発明を適用可能な実施の形態が説明される。以下の説明は、本発明の実施形態を説明するものであり、本発明が以下の実施形態に限定されるものではない。説明の明確化のため、以下の記載は、適宜、省略及び簡略化がなされている。又、当業者であれば、以下の実施形態の各要素を、本発明の範囲において容易に変更、追加、変換することが可能であろう。
【００３０】
第１の実施形態．
図１は、本実施の形態にかかる半導体回路装置における、ＥＣＣ（Error Check and Correct）メモリ・システム１００の構成を示すブロック図である。本形態はＳＲＡＭを例として説明されるが、本発明をＤＲＡＭに適用することが可能である。本形態のメモリ・システム１００は、内部回路を利用してＥＣＣ処理を実行する。図１において、１０１は外部から外部データが入力されるレジスタである。例として、３６の入力もしくは出力ピン数を備えるレジスタが示されており、３６ビット・データが入出力ピン１１３を介してレジスタ１０１に入力される。典型的なメモリは、９から３６ビット・データが入出力される。尚、通常、９ビット・データのうち、８ビットがデータ本体であり、１ビットはパリティ・ビットである。
【００３１】
１０２は外部から入力されたシリアルデータをパラレルデータへ変換し、内部からのパラレルデータをシリアルデータに変換する、シリアル・パラレル変換回路である。図１において、４つのデータから１つのパラレルデータを生成する例（もしくはその逆）が開示されている。入力／出力データが３６ビットであるので、内部データは１４４ビットである。シリアル・パラレル変換回路１０２によって、内部動作周波数を大きく増加することなく、インターフェース部の転送レートを上げることができる。また、ピン数を小さくすることができるので、チップ面積問題やノイズ問題に関しても好ましい。
【００３２】
１０３は入力データに従ってＥＣＣコードを生成し、ＥＣＣバス１１０に出力するＥＣＣコード発生回路である。内部データが１４４ビットであるので、ＥＣＣコードは８ビット・データが付加される。ＥＣＣコードは、広く知られた技術を利用して生成することができる。１０４はメモリ・セル・アレイであって、外部からの入力データ及びＥＣＣコードを、外部アドレス・データに従って記憶する。１０５はＥＣＣ判定・訂正回路であって、メモリ・セル・アレイからデータとＥＣＣコードとを取得し、ＥＣＣ判定及び必要である場合には訂正処理を行う。ＥＣＣコード発生回路１０３は、外部からの入力データ、あるいは、ＥＣＣ判定・訂正回路１０５からのデータに従って、ＥＣＣコードを生成する。
【００３３】
１０６は内部アドレス発生回路であって、ＥＣＣ処理のための内部アドレスを生成する。１０７はマルチプレクサであって、シリアル・パラレル変換回路１０２からの外部入力データとＥＣＣ判定・訂正回路１０５からのデータを選択して、ノーマルバス１１１に出力する。１０８はマルチプレクサであって、外部アドレスと内部アドレスとから、一方を選択する。１０９は内部ＥＣＣコントロールであって、ＥＣＣ動作のために各回路を制御する。内部ＥＣＣコントロール１０９は、リード／ライトのアクティブ信号、クロック信号、あるいはチップ・セレクト（ＣＳ）信号などの制御信号に従って、各回路の必要な制御を行う。内部ＥＣＣコントロールはＥＣＣ周期変更回路１１２を備え、ＥＣＣ処理の頻度、あるいは周期を変更することができる。
【００３４】
メモリ・セル・アレイ１０４へのデータのライト処理について説明する。レジスタ１０１に外部から入出力ピン４１３を介してデータが入力されると、シリアル・パラレル変換回路１０２によってパラレルデータに変換される。マルチプレクサ１０７は、内部ＥＣＣコントロール１０９の制御によってシリアル・パラレル変換回路１０２からの入力を選択し、データをノーマルバス１１１にのせる。マルチプレクサ１０８は、内部ＥＣＣコントロール１０９の制御に従って、外部アドレスを選択し、内部メモリ選択アドレスとして出力する。ノーマルバス１１１にのせられたデータは、メモリ・セル・アレイ１０４の外部アドレスによって指定された領域（メモリ・セル）に書き込まれる。
【００３５】
一方、シリアル・パラレル変換回路１０２からのデータは、メモリ・セル・アレイ１０４へ伝送されるパスと並行して、ＥＣＣコード発生回路１０３に入力される。ＥＣＣコード発生回路１０３は、入力データに従ってＥＣＣコードを生成する。本例においては、１４４ビット・データに対して８ビットＥＣＣコードを生成する。生成されたＥＣＣコードはＥＣＣバス１１０にのせられ、ノーマルバス１１１上のデータとセットになって、メモリ・セル・アレイ１０４に書き込まれる。１４４ビット・データと８ビットＥＣＣコードは、１回の処理で、メモリ・セル・アレイ１０４に、書き込み／読み出し処理することができる。
【００３６】
メモリ・セル・アレイ１０４からのデータのリード処理について説明する。メモリ・セル・アレイ１０４からのデータのリード処理において、マルチプレクサ１０８は、内部ＥＣＣコントロール１０９の制御に従って、外部アドレスを選択する。外部アドレスによって指定された領域からデータが読み出される。読みだされたデータはノーマルバス１１１に出力され、ＥＣＣ判定・訂正回路を介することなくシリアル・パラレル変換回路１０２によってシリアルデータに変換されたあと、外部へ出力される。
【００３７】
本形態のメモリ・システム１００におけるＥＣＣ判定・訂正処理について、図２を参照して説明する。本形態のメモリ・システム１００において、通常のデータ・ライトあるいはデータ・リード処理におけるデータ経路上に、ＥＣＣ判定・訂正回路が挿入されていない。ＥＣＣ判定・訂正処理（以下、ＥＣＣ処理と記述する）は、通常データのリード／ライト処理のサイクル内において実行されるが、データ・リードあるいはデータ・ライト処理とコンフリクトしないタイミングにおいて実行される。このため、ＥＣＣ処理によって、通常のデータ・ライトあるいはデータ・リード処理に実質的な遅延が生ずることがない。
【００３８】
図２は、本形態のメモリ・システム１００におけるＥＣＣ処理を説明するタイミングチャートである。クロック信号のrise/fallタイミングを示すＴ（Ｎ）は、Ｎが奇数のときに立ち上がりタイミングであり、Ｎが偶数のときに、立ち下がりタイミングである。図２は、リード処理におけるＥＣＣ処理のタイミングを示している。ＥＣＣ処理は、リード処理と並行して実行される。しかし、リード処理に遅延が生じないタイミングにおいて、ＥＣＣ処理が実行される。まず、外部アドレスが入力されると、マルチプレクサ１０８は内部ＥＣＣコントロールの制御に従って、外部アドレスを選択して出力する。
【００３９】
Ｔ２−Ｔ３のタイミングにおいて、メモリ・セル・アレイ１０４のワード選択がなされ、指定されたアドレス領域からデータが読み出される。Ｔ３のタイミングにおいて、レジスタ１０１によるデータ取り込みが開始され、Ｔ１０のタイミングまでの間、順次データを取り込む。レジスタ１０１には、パラレル−シリアル変換された４つのデータＤ１−Ｄ４が順次入力される。レジスタ１０１は、Ｔ４−Ｔ１２のタイミング期間において、シリアルデータを外部へ順次出力する。一般に、このような出力処理はバースト動作と呼ばれる。本例において、４つのデータの開始から終了までがバースト転送の１サイクルであり、Ｔ４−Ｔ１２が１サイクルのバースト転送に必要な時間である。
【００４０】
一方、メモリ・セル・アレイ１０４からの読み出しタイミングと重なるＴ２−Ｔ４のタイミングにおいて、マルチプレクサ１０８は内部アドレス発生回路１０６からの内部アドレスであるＥＣＣ読み出しアドレスを選択して出力する。次のＴ４−Ｔ５のタイミングにおいて、内部アドレスによって指定された領域がアクティブとなり、ＥＣＣ用データが読み出される。ＥＣＣ用データは、本来のデータとＥＣＣコードとを含んでいる。レジスタ１０１からデータが順次出力されている間のＴ６−Ｔ７のタイミングにおいて、ＥＣＣ判定・訂正回路１０５がＥＣＣ判定・訂正処理を実行する。訂正処理は、必要な場合に実行される。尚、ＥＣＣ判定・訂正処理は、従来の広くしられた技術を利用して実行される。
【００４１】
Ｔ６−Ｔ８のタイミングにおいて、マルチプレクサ１０８は内部アドレス発生回路１０６からのＥＣＣ書き込みアドレスを選択して出力する。ＥＣＣ書き込みアドレスは、ＥＣＣ読み出しアドレスと同じアドレスである。Ｔ８−Ｔ９のタイミングにおいて、ＥＣＣ処理が実行されたデータがメモリ・セル・アレイ１０４のもとのアドレスに書きこまれる。書き込まれるデータは、本来のデータの他にＥＣＣコードを含む。
【００４２】
ＥＣＣ判定・訂正回路１０５からのＥＣＣ処理された本来のデータは、マルチプレクサ１０７に選択され、ノーマルバス１１１にのせられる。ＥＣＣ判定・訂正回路１０５からＥＣＣコード発生回路１０３へ、ＥＣＣコードが送付される。ＥＣＣコード発生回路１０３は、ＥＣＣ判定・訂正回路１０５から送付されたＥＣＣコードを、そのままスルーして出力する。尚、ＥＣＣ判定・訂正回路１０５から出力された訂正データをＥＣＣコード発生回路１０３に導入するパスを設け、ＥＣＣコード発生回路１０３がＥＣＣコードを生成する構成も可能である。この場合、ＥＣＣ判定・訂正回路１０５からＥＣＣコード発生回路１０３へＥＣＣコードを送付する必要はない。Ｔ８−Ｔ１０のタイミングにおいて、マルチプレクサ１０８は外部アドレスを選択してメモリ・セル・アレイに出力する。ＥＣＣ処理されたデータがメモリ・セル・アレイ１０４に書き込まれた後に、次のサイクルのリード処理が開始される。Ｔ１０−Ｔ１１のタイミングにおいてワード選択がなされ、外部アドレスによって指定された領域からデータが読み出される。Ｔ１１のタイミングにおいてレジスタ１０１による次のサイクルのデータの取り込み処理が開始される。以下、同様の処理が繰り返される。
【００４３】
内部アドレス発生回路１０６によって生成されるＥＣＣ訂正用内部アドレスは、外部アドレスとは独立に生成され、両者は異なるアドレスである。内部のＥＣＣ処理は、一部のローカルな部分に記憶されたデータに限定されず、メモリ・セル・アレイ１０４に記憶されているデータを均一的に、判定・訂正する必要がある。外部からのアドレスは外部システムによって決定され、アクセスされるアドレスに偏り生じやすい。そのため、ＥＣＣ処理のためにアクセスされるアドレスの順番が予め決定され、メモリ・セル・アレイ全体をスキャンするように、内部アドレスを指定することが好ましい。
【００４４】
本形態のメモリ・システム１００は、メモリ・セル・アレイ１０４からデータが読み出された後、シフトレジスタ１０１から複数のデータが連続して出力されている間に、ＥＣＣ処理を実行する。リード処理からＥＣＣ処理への移行は、内部ＥＣＣコントロール１０９の制御に従って、アドレスを切り替えることによって実行される。本例においては、４つのデータが順次出力されているため、３サイクル（３クロック）の付加的な時間が生ずる。
【００４５】
本形態のＥＣＣ方式は、この連続する３クロックの各クロック・タイミングにおいて、メモリ・セル・アレイからの読み出し処理、ＥＣＣ判定・訂正処理、及びメモリ・セル・アレイへの書き込み処理を実行する。リード処理は、レジスタ１０１からのバースト出力サイクルの間、メモリ・セル・アレイ１０４へアクセスを行わない。従って、ＥＣＣ処理がデータのリード処理とコンフリクトすることがなく、リード処理に実質的に遅延が生じない。
【００４６】
このため、システム外部のデバイスにとってＥＣＣ処理は認識されることがなく、システム全体の処理スピードの低下を抑制することができる。内部伝送データのデータ量の増加によって、ＥＣＣのエラー訂正用コード比率は減少する。メモリ・セル・アレイの面積を小さくするためには、内部データ量は大きいことが好ましい。例えば、１４４ビット・データの場合、およそ６％のメモリ増加率であり、リダンダンシと比較して、ほぼ同一もしくはそれ以下であり、チップ面積へのインパクトは小さい。尚、リード／ライト処理において遅延が生じないタイミングであれば、全てのＥＣＣ処理とバースト転送の期間が一致することは要求されない。
【００４７】
本形態は、１サイクルの間に４つのデータをバースト転送する例において、１サイクルのＥＣＣ処理を実行する例を説明しているが、例えば、８データをバースト転送するシステムにおいては、２サイクルのＥＣＣ処理を実行することができる。あるいは、２データがバースト転送されるシステムにおいては、１サイクルのＥＣＣ処理を分割して、レジスタ１０１からの異なるバースト出力サイクルにおいて、各分割された処理を実行することができる。動作あるいは回路の単純化の観点などから、好ましくは、１サイクル以上のＥＣＣ処理が、１サイクルのバースト出力の間に実行される。このため、ＥＣＣ処理を実行するために適切なバースト長、あるいはレイテンシを選択することができる。以上の点は、以下のライト処理において同様である。
【００４８】
図３は、本形態のメモリ・システム１００におけるＥＣＣ処理を説明するタイミングチャートであって、ライト処理におけるＥＣＣ処理のタイミングを示している。しかし、ライト処理に遅延が生じないタイミングにおいて、ＥＣＣ処理が実行される。動作の基本的部分は、リード処理におけるＥＣＣ処理と同様である。タイミングを指示するＴ（Ｎ）は、Ｎが奇数のときに立ち上がりタイミングであり、Ｎが偶数のときに、立ち下がりタイミングである。ＥＣＣ処理は、ライト処理と並行して実行される。
【００４９】
メモリ・システム１００の入力ピンにＤ１データが入力された後、ライト・イネーブル信号（ＷＥ）がアクティブとなり、レジスタ１０１への入力データの取り込みが開始される。Ｔ２−Ｔ３のタイミングにおいて、内部アドレスによって指定された領域から、ＥＣＣ用データが読み出される。ＥＣＣ用データは、本来のデータとＥＣＣコードとを含んでいる。Ｔ４−Ｔ５のタイミングにおいて、ＥＣＣ判定・訂正回路１０５がＥＣＣ判定・訂正処理を実行する。Ｔ６−Ｔ７のタイミングにおいて、ＥＣＣ処理が実行されたデータがメモリ・セル・アレイのもとのアドレスに書きこまれる。書き込まれるデータは、本来のデータの他にＥＣＣコードを含む。
【００５０】
Ｔ８−Ｔ９のタイミングにおいて、マルチプレクサ１０８によって選択された外部アドレスに従って、外部からの入力データがメモリ・セル・アレイ１０４に書き込まれる。メモリ・セル・アレイへの外部からの書き込みデータとＥＣＣ処理された書き込みデータの選択は、内部ＥＣＣコントロール１０９の制御のもと、マルチプレクサ１０７によって実行される。ＥＣＣ処理が実行される、Ｔ２−Ｔ７のタイミングは、外部データのレジスタ１０１／シリアル・パラレル変換回路１０２ヘのバースト入力処理サイクルの間である。
【００５１】
レジスタ１０１／シリアル・パラレル変換回路１０２へデータが順次入力されている間にＥＣＣ処理を実行することによって、通常のライト処理を実質的に遅延することなく、ＥＣＣ処理を実行することができる。図３の例においては、４つのシリアルデータが１クロック・タイミングごとに順次入力し、シリアル−パラレル変換される。４つのデータは１回の処理でメモリ・セル・アレイへの書き込みが可能であるので、３サイクル（３クロック）の付加的な時間が生ずる。本形態のＥＣＣ方式は、この連続する３クロックの各クロック・タイミングにおいて、メモリ・セル・アレイからの読み出し処理、ＥＣＣ判定・訂正処理、及びメモリ・セル・アレイへの書き込み処理を実行する。
【００５２】
本形態において、ＥＣＣ処理周期はエラー発生率に従って変更することができる。ＥＣＣ処理は予め定めされた周期において実行される。ＥＣＣ周期変更回路１１２は、ＥＣＣ判定・訂正回路１０５からのＥＣＣエラー信号に基づいて、ＥＣＣ処理周期を変更する。ＥＣＣ判定・訂正回路１０５がＥＣＣエラーを検出すると、ＥＣＣエラー信号がＥＣＣ判定・訂正回路１０５からＥＣＣ制御回路１０９に送られる。ＥＣＣ周期変更回路１１２は、エラー検出されたことに応答して、ＥＣＣ処理の設定周期を短くする。一方、予め定められた一定期間ＥＣＣエラーが検出されない場合、ＥＣＣ周期変更回路１１２はＥＣＣ処理の設定周期を長くする。このようにＥＣＣ処理周期をエラー発生の頻度に応答して変更することによって、システムの信頼性に応じて、消費電力を削減することができる。例えば、使用環境が変化するモバイルシステムにおいて、エラー発生率が高い環境においてＥＣＣ処理周期を小さくすることで信頼性を高め、低い環境において設定周期を長くすることによって消費電力を削減することができる。ＥＣＣ処理周期の変更は、以下の実施形態においても適用することができる。尚、本形態のＥＣＣ処理は、特にソフトエラーの訂正に好適があるが、これに限らず、例えば、微細化に伴い発生しうる揺らぎを原因とするハードエラー類似のエラーなど、他の態様のメモリ・エラーに対しても効果を発揮することができる。この点は、以下の実施の形態において同様である。
【００５３】
第２の実施形態．
図４は、本実施の形態にかかるメモリ・システム４００の例示的構成を示すブロック図である。本形態のメモリ・システム４００は複数のバンクに分割されたメモリ・セル・アレイを備えている。図４において、４つのバンクから構成されるメモリ・セル・アレイの例が示されている。図４において、４０１はメモリ・セル・アレイである。本例において、メモリ・セル・アレイ４０１は、４つのバンク４０２−４０５から構成されている。４０６は、外部アドレスに従ってワード線とビット線の選択を制御するロウ／カラム・コントローラ、４０７は通常のリード／ライト処理のためにバンクを選択するノーマルバンク選択回路である。
【００５４】
図４の例において、２４ビット外部アドレスは、バンク・セレクト用に２ビット・データを備えている。４０８は外部システムとの間においてデータや制御信号の入出力を行うＩ／Ｏ回路、４０９は入力データに従ってＥＣＣコードを生成するＥＣＣコード発生回路である。４１０はＥＣＣ動作のための各回路の制御を行うＥＣＣ制御回路である。ＥＣＣ制御回路４１０は、比較回路４１１とＥＣＣアドレス発生回路４１２を備えている。比較回路４１１は、通常のリード／ライト処理が実行されるバンクと、ＥＣＣ処理が実行されるバンクとが同一であるか、異なるものであるかを比較決定する。
【００５５】
ＥＣＣアドレス発生回路４１２は、ＥＣＣ処理のために外部アドレスとは別の内部アドレスとして、ＥＣＣアドレスを生成する。ＥＣＣアドレスは、バンク特定情報と、バンク内のアドレス情報とを含んでいる。図４の例においては、バンク・セレクト用に２ビット・データが割り当てられている。４１３はメモリから本来データとＥＣＣコードを取得し、ＥＣＣ判定・訂正処理を実行するＥＣＣ回路、４１４はＥＣＣ動作時に、ＥＣＣアドレスに従ってバンク選択を行うＥＣＣバンク選択回路である。
【００５６】
通常のリード／ライト処理において、外部から入力される外部アドレスが、メモリ・セル・アレイ４０１のバンク及びバンク内のアドレスを指定する。外部アドレスがロウ／カラム・コントローラ４０６に伝送されると同時に、外部アドレスの内のバンク・セレクト用の２ビット・データがノーマルバンク選択回路４０７に入力される。ノーマルバンク選択回路４０７は、入力データに従ってメモリ・セル・アレイ４０１の一つのバンクを選択する。
【００５７】
リード処理においては、指定されたバンクのアドレスから、データがバスに読み出され、Ｉ／Ｏ回路４０８を介して外部システムに出力される。ライト処理においては、外部からの書き込みデータがＩ／Ｏ回路４０８を介してＥＣＣコード発生回路４０９に入力する。ＥＣＣコード発生回路４０９は入力データに基づいてＥＣＣコードを生成する。外部からの入力データとＥＣＣコードは、バスを介して、指定されたバンクのアドレスに書き込まれる。図４は、１４４ビット・データ、８ビットＥＣＣコードを例示している。
【００５８】
メモリ・システム４００は、通常のリード／ライト処理において選択されているバンクとは異なるバンクに記憶されているデータについて、ＥＣＣ処理を実行する。これによって、リード／ライト処理に実質的な遅延を生ずることなく、ＥＣＣ処理を実行することができる。具体的処理について説明する。ＥＣＣ処理は、実施の形態１と異なり、通常のリード／ライト処理のタイミングとは独立したタイミングで実行することができる。尚、理解されるように、実施の形態１のタイミング処理を、本形態に適用することが可能である。
【００５９】
ＥＣＣ処理は、ＥＣＣ制御回路４１０の制御のもとにおいて実行される。ＥＣＣアドレス発生回路４１２は、ＥＣＣ処理のための内部アドレスであるＥＣＣアドレスを生成する。生成されたＥＣＣアドレスは、外部アドレスのアドレス・フォーマットと同様に、２ビットのバンク・セレクト・データを含んでいる。ＥＣＣ回路４１３はＥＣＣアドレスを取得し、バンク・セレクト・データをＥＣＣバンク選択回路４１４に送る。ＥＣＣバンク選択回路４１４は、取得したバンク・セレクト・データに基づいてバンクを選択する。
【００６０】
ＥＣＣ回路４１３は、ＥＣＣアドレスによって指定された領域に記憶されているデータを取得し、ＥＣＣ判定・訂正処理を実行する。ＥＣＣ判定・訂正処理が完了すると、データがメモリのもとのアドレスに書き戻される。ＥＣＣ判定・訂正処理は、実施の形態１と同様の処理を実行することができる。メモリ・セル・アレイからの本来データ及びＥＣＣコードの取得は、ＥＣＣ処理専用のバスを介して行われる。通常のリード／ライト処理用のバスとＥＣＣ処理専用のバスとを備えることによって、２つの処理を並列して、同時に実行することができる。
【００６１】
ＥＣＣ制御回路４１０は比較回路４１１を備えている。比較回路４１１は、外部アドレスのバンク・セレクト・データとＥＣＣアドレスのバンク・セレクト・データを取得し、これらを比較することによって、通常のリード／ライト処理が実行されるバンクとＥＣＣ処理が実行されるバンクとが同一であるか、異なるかを決定する。バンクが異なる場合、ＥＣＣ処理が通常のリード／ライト処理とコンフリクトしないので、ＥＣＣ処理が実行される。バンクが同一である場合、ＥＣＣ制御回路部は、通常のリード／ライト処理を妨げないために、ＥＣＣ処理を中止する。これによって、通常のリード／ライト処理に実質的遅延を生ずることないように、ＥＣＣ処理を制御することができる。
【００６２】
ＥＣＣ制御回路４１０における、好ましいＥＣＣアドレス発生方法について、図４を参照して説明する。ＳＥＲ改善効果を高めるため、ＥＣＣチェックはできる限りメモリ・セル・アレイ内で均等に実行されることが好ましい。従って、ＥＣＣ制御回路４１０は、好ましくは、均等化を判断及び実行する機能を備える。各バンク内において、ＥＣＣ処理は、チェック・スタート・アドレスからエンド・アドレスまで同一の順序に従って繰り返され、外部バンク・アクセスによってＥＣＣチェックが中断した場合に、順番をリセットしないことが好ましい。具体例として、ＥＣＣチェック・アドレスは、０、１、２、・・・ｎ  →  ０、１、２、・・・ｎ  →０、を繰り返し、外部バンク・アクセスによってｍアドレスのチェック完了時に中断した場合、（ｍ+１）アドレスからＥＣＣチェックが再開される。
【００６３】
ＥＣＣ制御回路４１０は、バンク毎に、ＥＣＣチェックがどのアドレスまで進んだかを示す中断アドレス情報を各バンクにストアすることが好ましい。例えば、バンク内においてＥＣＣチェックが完了しているアドレス、もしくは次にチェックすべきアドレスが関連付けて記憶される。ＥＣＣ処理の中断アドレス情報を記憶することによって、外部バンク・アクセスによってＥＣＣチェック処理が中断しても、続きのアドレスからＥＣＣチェックを開始することができる。尚、中断アドレス情報は、バンク識別情報と関連付けて、ＥＣＣ制御回路４１０内にストアすることが可能である。
【００６４】
さらに、ＥＣＣ制御回路４１０は、バンク間でＥＣＣチェックの頻度に差がどの程度生じているかをモニタするための、差分カウンタ４５０を備えていることが好ましい。差分カウンタ４５０は、各バンクに対応する差分カウンタ４５０ａ−ｄを備えている。差分カウンタ４５０を使用して頻度の低いバンクを決定し、この決定された頻度の低いバンクから、ＥＣＣチェックが優先して実行される。これによって、バンク間でのＥＣＣチェック頻度の均一性を改善することができる。
【００６５】
外部アクセス・バンクとＥＣＣチェックを行うバンクが重なった場合における、ＥＣＣ制御回路４１０の動作を説明する。比較回路４１１によって、ＥＣＣチェック中に同一のバンクに対して外部アクセスが実行されたと決定される。外部アクセスが優先されるので、ＥＣＣ制御回路４１０は、そのバンクのＥＣＣ処理を中止するように、バンク選択回路４１４とＥＣＣ回路４１３を制御する。ＥＣＣ制御回路４１０は、そのバンクの差分カウンタ４５０に、ＥＣＣチェックが他のバンクより１回少ないことを入力する。
【００６６】
次に、外部アクセスが実行されているバンク以外のバンクの中で、ＥＣＣチェック頻度が最も低いバンクを、差分カウンタ４５０に記憶されている差分カウンタ情報に従って決定する。決定されたバンクのＥＣＣ処理を開始するため、ＥＣＣ制御回路４１０は、ＥＣＣチェック対象バンクにストアされている中断アドレス情報としてのバンク内アドレス情報を取り出す。バンク内アドレス情報は、ＥＣＣ処理が最後に実行されたアドレスであるケースを例として説明する。ＥＣＣアドレス発生回路４１２は、差分カウンタ情報によって決定されたバンク情報と、バンク内アドレスに従ってＥＣＣアドレスを生成する。
【００６７】
ＥＣＣアドレスは、バンク内アドレスの次のアドレスが選択される。バンク選択回路４１４はＥＣＣアドレスに従ってバンクを選択し、ＥＣＣ回路４１３がＥＣＣ処理を実行する。ＥＣＣ制御回路４１０は、バンク内にストアされているバンク内アドレス情報をカウント・アップし、ＥＣＣチェックを実行したバンクの差分カウンタ４５０のカウントを１回アップする。尚、差分カウンタのカウントＭＡＸ値は、バンク選択の偏りにより決定され、これはメモリを使用するシステムにより異なるものであるので、その環境に照らし合わせて適切に設定される。
【００６８】
本形態は、バースト転送の有無を問わず、様々なメモリ・システムに適用することができる。又、本形態はＳＲＡＭを例として説明されたが、本発明をＤＲＡＭに適用することが可能である。
【００６９】
ここで、本形態の効果について検証する。Ｎバンク構成のメモリのＥＣＣ回路を搭載しない場合のソフトエラー発生率ＳＥＲをfn [ＦＩＴ（Failure In Time）]とする。１ＦＩＴは、一つのデバイス当たり１０９時間に１回の割合でエラーが発生することを示す。本形態を適用した時のＳＥＲをＦn  [ＦＩＴ]とすると、Ｆnはfnを用いて以下のように表すことができる。
【００７０】
まず、第１のケースとして、通常のＲ／Ｗ時の動作がいつも一つのバンクで行われるケースについて検証する。Ｒ／Ｗ動作は一つのバンクのみにおいて行われるため、他のバンクはＥＣＣによって完全に救済される。従って、ＳＥＲは一つのバンクに影響される。つまり、Ｒ／Ｗで使用され、ＥＣＣで救済されないメモリ・セルが１／Ｎになる。この場合のＳＥＲは、
Ｆn＝fn／N
である。但し、通常システムではこのような使われ方は極めて少ない。
【００７１】
次に、通常のＲ／Ｗ時の動作がＮバンクで均等（ランダム）に行われるケースについて検証する。仮定として、ＥＣＣ回路がメモリ・セル全部に対して一回働くのに要する時間をT0 [hr]とする。通常動作バンクとＥＣＣ動作バンクがいつも一致しない場合、単純化されたＳＥＲは、
Ｆn＝fn ＊Ｔ０／１０９
である。
【００７２】
通常動作とＥＣＣ動作が各バンクに対して独立にランダムに行われると仮定すると、通常動作バンクとＥＣＣ動作バンクが一致する確率は、
（１／NC1 ）＊（１／NC1  ）
である。
ＮＣ１は、
ＮＣ１＝ＮＰ１／１！＝Ｎ／１＝Ｎ
であるので
（１／NC1 ）＊（１／NC1  ）＝（1／Ｎ）＊（１／Ｎ）
となる。
【００７３】
ＳＥＲ発生率が小さいため、Ｎ個またはＮ−１個のバンクのセルに対してＥＣＣ動作が終了している可能性が極めて大きい場合、上式の確率でＮ−１個のバンクがＥＣＣ修正されているものと考えることができる。チップ全体で１／ＮのセルがＳＥＲの危険対象となることから、この時のＳＥＲは次のようになる。
ＳＥＲ＝fn ＊（１／Ｎ＊（１／NC1 ）＊（１／NC1  ））
＝fn ＊（１／Ｎ＊（１／Ｎ ）＊（１／Ｎ ））
【００７４】
一方、通常動作バンクとＥＣＣ動作バンクが一致しない確率は、次のようになる。
１−（１／NC1 ）＊（１／NC1  ）
この時のＳＥＲは
ＳＥＲ＝fn ＊（１−（１／NC1 ）＊（１／NC1  ））＊Ｔ０／１０９
【００７５】
チップ全体のＳＥＲは、上記両者ＦＩＴ数の和と考えらえるので次のようになる。ＳＥＲは、
Ｆn＝fn ＊（１／Ｎ３）＋fn ＊Ｔ０／１０９＊（１−１／Ｎ２）
＝fn ＊（１／Ｎ３ ＋Ｔ０／１０９＊（１−１／Ｎ２））
【００７６】
以上の検証から、本形態の効果をより得るためには、バンク数Ｎを大きくすると良いことが判る。Ｎは現在、１６〜６４程度が一般的なので、ＦＩＴ数を３桁ほど改善することができる。尚、外部アクセスに依存しないで定期的にＥＣＣチェックを行うことができる第一の実施形態のような場合、常に上記のベストケースに相当し、ＳＥＲは、Ｆn＝fn ＊Ｔ０／１０９で表される。
【００７７】
ここでＴ０の概算値を見積もると、２００ＭＨｚ動作の１４４Ｍｂｉｔ容量、バースト４、Ｉ／Ｏデータ数３６、１回のＥＣＣ訂正を数１０サイクル以内に実行したと仮定すると、１０-5[ｈｒ]のオーダーになる。従って、本発明を使用しない場合と比べて、Ｆｎは約１４桁小さくなり、ＳＥＲが大幅に改善される。
【００７８】
実施の形態３．
図５は、本実施の形態に係るメモリ・システムにおいて使用される、メモリ・セル５００の回路構成を示す、回路図である。本形態のメモリ・セル５００は、２つの入出力ポートを備えるデュアル・ポート・メモリ・セルである。図５において、５０１、５０２、５０３は、それぞれ、通常のリード／ライト処理のためのノーマルビット線、ノーマルワード線、及びノーマルトランジスタである。５０４は電荷を蓄積することによってデータを保持する電荷保持素子としてのコンデンサである。５０５、５０６、５０７は、それぞれ、ＥＣＣ処理のための、ＥＣＣ用ビット線、ＥＣＣ用ワード線、及びＥＣＣ用トランジスタである。スイッチグ素子としてのトランジスタは、典型的にはＮＭＯＳが使用される。
【００７９】
通常のリード／ライト処理において、外部アドレスに従ってメモリ・セルが選択される。ノーマルワード線５０２がアクティブになることによって、ノーマルトランジスタ５０３がＯＮ状態となる。ノーマルビット線５０１へのコンデンサ５０４からの放電、もしくはノーマルビット線５０１を介したコンデンサ５０４への電荷蓄積によって、メモリ・セルへのデータのリード／ライトが行われる。リード／ライト処理は、ロウ・アドレス・ストローブ信号、カラム・アドレス・ストローブ信号、アウトプット・イネーブル信号、ライト・イネーブル信号などの制御信号によって制御される。
【００８０】
ＥＣＣ処理においては、通常のリード／ライト処理とは異なるＥＣＣ用ビット線５０５、ＥＣＣ用ワード線５０６及びＥＣＣ用トランジスタ５０７が使用される。ＥＣＣ処理において、ＥＣＣ用の内部アドレスによって、メモリ・セルが選択される。ＥＣＣ用ワード線５０６がアクティブになることによって、ＥＣＣ用トランジスタ５０７がＯＮ状態となる。コンデンサ５０４から、ＥＣＣ用ビット線５０６を介してデータが読み出される。読み出されたデータについてＥＣＣ判定・訂正処理が実行された後、同じセルにデータが書き戻される。ＥＣＣ処理は、ＥＣＣ用のタイミング制御信号によって制御される。ＥＣＣ処理は、メモリ・セルへのＥＣＣ書き込み処理が、通常の書き込み処理とコンフリクトしないように制御される。
【００８１】
本形態のメモリ・セル構造は、様々なメモリ・システムに適用することができるが、例えば、実施の形態１に示されたメモリ・システムに適用することができる。ＥＣＣ処理とリード／ライト処理を並行して処理するため、ＥＣＣ処理専用のバスを備えることが好ましい。実施の形態１は、ＥＣＣ処理を通常のリード／ライト処理の特定のタイミングにおいて実行するが、本形態のメモリ・セルを備えるメモリ・システムによるＥＣＣ処理は、実施の形態１のタイミングに限定されないため、ＥＣＣ処理のタイミング制御をよりフレキシブルに行うことができる。尚、ＥＣＣ専用回路を利用してレフレッシュ処理を実行することが可能である。また、本形態はＤＲＡＭを例として説明されているが、本発明をＳＲＡＭに適用することが可能である。
【００８２】
実施の形態４．
図６は、本実施の形態にかかるメモリ・システム６００の概略構成を示すブロック図である。本形態のメモリ・システム６００は、チップ・セレクト信号によってアクティブ状態にある場合において、外部に認識されることなく、内部においてリフレッシュ処理を実行する。リフレッシュ処理されるアドレスは、内部回路によって、外部アドレスとは独立に生成される。メモリ・システム６００は、一つの外部からのアクセス・サイクル中に、リード／ライト処理とリフレッシュ処理を実行する。さらに、メモリ・セルのリフレッシュ動作と一体的に、ＥＣＣ処理を実行する。これによって、リード／ライト処理に遅延を生ずることなく、ＥＣＣ処理を実行することができる。
【００８３】
図６において、６０１はデータを記憶するメモリ・セル・アレイである。６０２は入力されたロウ・アドレスに従ってワード線を選択するロウ・アドレス・デコーダである。ロウ・アドレス・デコーダ６０２は、ロウ制御回路６０３からのロウ・イネーブル信号に従って、デコード処理を実行する。６０４は入力されたカラム・アドレスに従ってビット線を選択するカラム・アドレス・デコーダである。カラム・アドレス・デコーダ６０４は、カラム制御回路６０５からのカラム・イネーブル信号に従ってデコード処理を実行する。カラム制御回路６０５は、ロウ制御回路６０３からの制御信号に従ってカラム・イネーブル信号を出力する。６０６はメモリ・セルからの電圧を増幅するためのセンス・アンプである。
【００８４】
６０７はＥＣＣ処理を実行するＥＣＣ処理回路である。６０８は、チップ・セレクト信号が有効な場合に、外部アドレスの変化を検出するＡＤＴ（Address Transition Detector）回路であって、アドレス変化に従ってＡＤＴパルス信号を出力する。６０９はリフレッシュ制御回路であって、リフレッシュ処理を行うアドレスを生成する。リフレッシュ制御回路６０９は、ＡＤＴ回路６０８からのＡＤＴ信号によって制御される。６１０はマルチプレクサ（ＭＰＸ）であって、ＡＤＴ信号に従って、外部アドレスとリフレッシュ・アドレスの一方を選択して、ロウ・アドレス・デコーダ６０２に出力する。６１１は外部との間でデータの入出力を行うＩ／Ｏ回路である。尚、典型的なメモリ・システム６００は、この他にいくつかの回路構成を含むが、説明の明確化のために省略されている。
【００８５】
メモリ・システム６００による通常のリード／ライト処理について説明する。外部アドレスが入力されると、ロウ・アドレスに従ってロウ・アドレス・デコーダ６０２が選択したワード線がアクティブとなり、メモリ・セルに保持されているデータがビット線を介してセンス・アンプ６０６にラッチされる。カラム・アドレスに従って、カラム・アドレス・デコーダ６０４がビット線を選択する。リード処理において、選択されたビット線に対応するセンス・アンプ６０６の状態値が読み出されて、Ｉ／Ｏ回路を介して外部に出力される。ライト処理において、ビット線に対応するセンス・アンプ６０６の状態値が、Ｉ／Ｏ回路６１１を介して入力されたデータに書き換えられる。続いて、センス・アンプ６０６がラッチしている１行分のデータが、前処理において選択されたロウ・アドレスに書きこまれる。
【００８６】
本形態のメモリ・システム６００は通常データのリード／ライト処理に遅延が生じないタイミングにおいて、リフレッシュ処理及びそれに伴うＥＣＣ処理が実行される。通常データのリード／ライト処理が所定時間以上実行されない場合、リフレッシュ制御回路６０９内のタイマに従って、リフレッシュ処理が実行される。リフレッシュ処理は、リフレッシュ制御回路６０９が生成するリフレッシュ・アドレスに従って実行される。
【００８７】
メモリ・システム６００は、リード／ライト処理のサイクル内において、リフレッシュ処理及びそれに伴うＥＣＣ処理を実行する。本例においては、リード／ライト処理において、外部アドレスの値が確定していない待機期間を利用してリフレッシュ及びＥＣＣ処理が実行される。以下に、リード処理を例として、メモリ・システム６００の処理動作を説明する。アクティブ状態において外部アドレスの変化が生ずると、ＡＤＴ回路６０８がそれを検出してＡＤＴ信号を出力する。このタイミングにおいてレジスタ（不図示）における外部アドレスの値は確定していない。ＡＤＴ信号に従って、ＭＰＸ６１０はリフレッシュ制御回路６０９からのリフレッシュ・アドレスを選択してロウ・アドレス・デコーダ６０２に出力する。リフレッシュ制御回路６０９からの制御信号及びＡＤＴ信号に従って、ロウ制御回路６０３は有効状態のロウ・イネーブル信号をロウ・アドレス・デコーダに出力する。
【００８８】
ロウ・アドレス・デコーダ６０２は、リフレッシュ・アドレスに従って選択したワード線を活性化する。ロウ制御回路６０３は有効状態のセンス・アンプ・イネーブル信号をセンス・アンプ６０６に出力する。活性化されたワード線のメモリ・セルに保持されているデータが、ビット線を介してセンス・アンプ６０６にラッチされる。ラッチされたデータは、ＥＣＣ処理回路６０７に伝送される。ＥＣＣ処理回路６０７はＥＣＣ判定・訂正処理を実行し、データをセンス・アンプ６０６に出力する。センス・アンプ６０６は、もとのメモリ・セルにＥＣＣ処理が実行されたデータを書き込む。
【００８９】
リフレッシュ処理及びＥＣＣ処理が終了すると、ＡＤＴ信号が非有効状態となって、ＭＰＸ６１０は外部アドレスを選択する。ロウ制御回路６０３からのロウ・イネーブル信号に従って、ロウ・アドレス・デコーダ６０２が外部アドレスのデコード処理を実行する。センス・アンプ６０６はセンス・アンプ・イネーブル信号に従って、選択されたワード線上のデータを取得する。ロウ制御回路６０３からの制御信号に従って、カラム制御回路６０５はカラム・イネーブル信号をカラム・アドレス・デコーダ６０４に出力する。
【００９０】
カラム・アドレス・デコーダ６０４は、外部アドレスに従ってビットを選択する。選択されたビット線に対応するセンス・アンプ６０６の状態値が読み出されて、Ｉ／Ｏ回路６１１を介して外部に出力される。ライト処理においても、上記リード処理と同様に、アクセス・サイクルにおけるライト処理の前の待機期間において、リフレッシュ処理及びＥＣＣ処理が実行される。
【００９１】
実施の形態５．
図７は、本実施の形態に係るメモリ・システム７００の構成を示すブロック図である。本形態のメモリ・システム７００は、デバイスのゆらぎに起因するエラー修正に特に有用である。ソフトエラーとしては、ランダムに発生するα線や宇宙線起因以外に、微細化に伴うデバイスのゆらぎに起因するものがある。最も典型的な例において、製造工程の動作チェックの段階でパスしたメモリ・セルの中でゆらぎの大きいセルが、実システム稼動中に誤動作を起こす。
【００９２】
原因がゆらぎであるため、しばらくすると正常に動作するようになる可能性が高い。しかし、この誤動作期間は一定ではなく、再現性も無い。このソフトエラーの特徴は、エラー・セルがランダムではなく決まっているが、製造段階でそれを完全にはリジェクトできないことである。本形態のメモリ・システム７００は、この問題を以下の構成によって解決する。
【００９３】
図７に示されたメモリ・システム７００の構成について説明する。メモリ・システム７００は、リダンダンシ回路を利用することによって、ゆらぎによる不良を修復する。図１と同一の符号を付された要素は、実質的に同様の構成を備えており、必要のない説明が省略される。図７において、７１０はメモリ・セル・アレイ内にエラー・セルがある場合に、そのセルに代わってデータを記憶するスペア・メモリ・セルである。７１１は、内部メモリ・セル選択アドレスに従って、特定のアドレスについてアクセス先をスペア・メモリへ切替えるリダンダンシ切替回路である。７１２は、リダンダンシ切替回路７１１の切替処理を変更する、プログラム可能なリダンダンシ・プログラム回路である。
【００９４】
外部アドレスもしくはＥＣＣ処理のための内部アドレスは、ＭＰＸ１０８によって選択された後、内部メモリ・セル選択アドレスとしてリダンダンシ切替回路７１１に入力される。リダンダンシ切替回路７１１は、リダンダンシ・プログラム回路７１２に従って、入力されたアドレスに対応するセルにデータの書き込み／読み出し処理が実行されるように、メモリ・セル・アレイ及びスペア・メモリ・セル・アレイを制御する。特定の内部メモリ・セル選択アドレスはスペア・メモリ・セル・アレイにアクセスするように、パスが設定される。７１３は、ＥＣＣ判定回路の判定で誤動作がみつかったアドレスをストアし、その後のＥＣＣ判定で誤判定が見つかったセルのアドレスと比較する、エラー・アドレス判定回路である。
【００９５】
ＥＣＣ判定・訂正回路１０５において、メモリ・セル・アレイ内の特定アドレスに記憶されているデータが誤りであると判定がなされると、エラー・アドレス判定回路７１３に、そのアドレスが送られる。エラー・アドレス判定回路７１３は、過去のＥＣＣ処理においてエラーと判定されたアドレスをストアしている。エラー・アドレス判定回路７１３は、そのアドレスと、すでにストアしているアドレスを比較し、同一アドレスの存在を決定する。同一アドレスが存在しない場合、ＥＣＣ判定・訂正回路１０５からの修正データは、メモリ・セル・アレイ１０４のもとのアドレスに書き込まれる。エラー・アドレス判定回路７１３は、エラーと判定されたアドレスをストアする。
【００９６】
同一アドレスが存在する場合、エラー・アドレス判定回路７１３は、そのエラーはゆらぎによるソフトエラー現象であると決定し、リダンダンシ・プログラム回路７１２に必要な変更を加える。リダンダンシ切替回路７１１は、変更されたリダンダンシ・プログラム回路７１２に従って、エラー・セルの選択アドレスによるパスを遮断し、スペア・メモリ・セル・アレイ内の特定のセルに、そのアドレスを割り当てるように動作する。このリダンダンシ切替回路７１１の回路状態は、リダンダンシ・プログラム回路７１２によって固定される。尚、エラー・アドレス判定回路７１３によるリダンダンシ・プログラム回路７１２の変更基準は、設計によって適宜決定される。例えば、所定時間内にエラーが再発した場合、あるいは、所定回数以上エラー検出された場合に、変更の決定を行うことができる。
【００９７】
ＥＣＣ判定・訂正回路１０５によって訂正されたデータは、リダンダンシ切り替えされた選択パスを通って、スペア・メモリ・セル・アレイ７１０内の特定スペア・セルに書き込まれる。以後の処理において、上記のエラー判定されたアドレスに対する外部アクセスの要求があると、割り当てられたスペア・セルが選択され、アクセスされる。ゆらぎによるソフトエラーと決定されたメモリ・セルは、以降の処理において不使用状態となる。このことは、実質的に稼動途中から回復しない不良（ハードエラー相当）となったセルを救済するというリダンダンシ救済機能に相当すると言える。
【００９８】
メモリ・システムの外部から見た場合の誤動作の認識がなされるのは、内部での誤動作発生から訂正までの期間に、外部リード要求によるエラー・データを出力した場合である。従って、内部ＥＣＣ回路だけで訂正する場合、ゆらぎによるセルの誤動作状態が続いている間はＥＣＣ訂正が繰り返され、ゆらぎによるエラー確率が急速に高まる。本形態の構成により、ゆらぎによるエラー・セルが検出された以降は、そのセルが使用されないため、ソフトエラーの確率は大幅に削減することができる。本発明技術は、ＳＲＡＭやＤＲＡＭ以外に不揮発記憶素子やその他の記憶素子にも適用できる。また、本発明技術は、通常のソフトエラー救済だけでなく、特性の経時変化等による実質的にハードエラー状態のセルも救済可能である。
【００９９】
実施の形態６．
複数アドレスのデータに対してＥＣＣ処理を実行する場合、メモリ・セル・アレイに対するデータの物理的マッピングが問題になる。物理的に隣接するメモリセルデータについて、ＳＥＲによるマルチビット・エラーの救済ができない。なぜなら、マルチビット・モードのソフトエラーにおいて、隣接する複数セルデータが一度に破壊される。一方、ＥＣＣは２ｂｉｔ訂正を行うことができない。このため、ＥＣＣ処理が実行される複数アドレスのデータが隣接セルに記憶されると、ＥＣＣによるエラー・データ訂正を行うことができないからである。
【０１００】
図８（ａ）は、本形態のメモリ・システム８００におけるデータの物理的マッピングを説明する図であり、図８（ｂ）は、対比例としての従来のマッピングを説明する図である。図８（ａ）において、アドレス１に対応するセルは、それぞれ離間して配置されている。また、アドレス２に対応するセルも、同様に、それぞれ離間して配置されている。さらに、アドレス１のセルとアドレス２のセルどうしもそれぞれ離間して配置されている。このため、複数アドレスのデータを使用したＥＣＣ処理が効果的に機能する。
【０１０１】
一方、図８（ｂ）において、アドレス１に対応するセルは、それぞれ離間して配置されているが、アドレス１に対応するセルとアドレス２に対応するセルが隣接している。２Ａは、カラム方向の隣接ビットであり、２Ｂはロウ方向の隣接ビットである。２Ｃは隣に配置された別のセル・マトリックス・エリア（Ｉ／Ｏエリア）におけるアドレス１のセルと隣接する隣接ビットである。これらの複数のアドレス（アドレス１、２）によってＥＣＣ処理する場合、マルチビット・エラーに対して救済できない可能性が高い。
【０１０２】
このように、本メモリ・システム８００は、メモリ・セル・アレイ８０１に対するデータの物理的マッピングにおいて、ＥＣＣ処理の対象となる複数アドレス分のデータを、互いに隣接することなく離間したセルに記憶する。複数のアドレスアクセス（ｎ回）で扱うデータ（1回のデータビット長ｋ×ｎ）に対して、ＥＣＣ処理を実行することによって、面積増加が少ない状態でエラー訂正を行うことが可能となる。複数に相当するアドレスの物理的マッピングを、セル同士が隣接することなく離間した位置のセルにすることで、マルチビット・モードのソフトエラーに強くなる。
【０１０３】
メモリ・システム８００において、ロウ／カラム・コントローラ８０２が、外部から入力された外部アドレスを変換し、変換されたアドレスをカラム選択回路８０３ａ、ｂ及びロウ選択回路（不図示）に出力する。カラム選択回路８０３ａ、ｂは、それぞれ、センス・アンプ（ＳＡ）及びライト・アンプ（ＷＡ）を備えている。カラム選択回路８０３ａ、ｂは、それぞれのセル・マトリックス・エリア（Ｉ／Ｏエリア）８０１ａ、ｂと対応づけられており、対応付けられたＩ／Ｏエリアについて、リード／ライト処理を実行する。
【０１０４】
上記のように、各データＩ／Ｏに対応したＩ／Ｏエリア８０１ａ、ｂが形成されており、それらが隣接配置されている。ロウ／カラム・コントローラ８０２は、例えば、一つのアドレスについて、共通Ｘ、Ｙ選択信号を各カラム選択回路８０３ａ、ｂ及びロウ選択回路に出力する。各カラム選択回路８０３ａ、ｂ及びロウ選択回路は、共通Ｘ、Ｙ選択信号をアドレス・デコードすることで、セルを選択する。各Ｉ／Ｏエリア８０１ａ、ｂでのアドレス変化は共通であるので、選択セルは常に物理的に離間した状態を維持することができる。これによって、１アドレス分のビット（例えば３２ビット）の各セルは、物理的に隣接しないように選択される。
【０１０５】
メモリ・システム８００は、複数アドレスのデータ（例えば、３２ｂｉｔデータ×４アドレス＝１２８ｂｉｔ）にてエラー訂正する。内部ＥＣＣ回路は、他の形態において説明された構成、あるいは広く知られた構成を適用することができので、ここでは説明を省略する。ロウ／カラム・コントローラ８０２は、複数アドレスについて、それぞれ離間したセルにビット・データを記憶するように、デコード処理を実行し、マッピングを行う。選択される各セルは、一つのＩ／Ｏエリア内において離間しており、また、隣接するＩ／Ｏエリア内のセルとも離間している。好ましくは、３ビット以上離れたセルが選択される（隣接ビットは、１ビット離れたセルとする）。
【０１０６】
デコード処理においては、セルアレイ８０１の一つのアドレスに対して、例えば、連続したアドレス（図８（ｂ）における２Ａ）、及びＩ／Ｏエリアのカラム・ビット数分（図８の例において８ビット）離れたアドレス（図８（ｂ）における２Ｂ）を除いたアドレスのセルから選択される。また、Ｉ／Ｏエリア端のセルが含まれる場合、Ｉ／Ｏエリアのカラム・ビット数から１を引いた値だけ（図８の例において７ビット）離れたアドレス（図８（ｂ）における２Ｃ）も除いたアドレスのセルから選択される。このように、ＥＣＣ処理の対象となる複数アドレスに各データが、離間したメモリ・セルに記憶されることによって、複数アドレスのＳＥＲを効果的に実行することが可能となる。尚、ＥＣＣ処理の対象となる複数のアドレスのデータを離間したメモリ・セルに記憶する方法は、本形態に示されたものに限定されず、他の態様によって相互に物理的に離間したメモリ・セルを選択することも可能である。
【図面の簡単な説明】
【０１０７】
【図１】第１の実施形態に係るメモリ・システムの構成を示すブロック図である。
【図２】第１の実施形態に係るメモリ・システムにおける、リード処理に伴うＥＣＣ処理に関するタイミングチャートである。
【図３】第１の実施形態に係るメモリ・システムにおける、ライト処理に伴うＥＣＣ処理に関するタイミングチャートである。
【図４】第２の実施形態に係るメモリ・システムの構成を示すブロック図である。
【図５】第３の実施形態に係るメモリ・セルの回路構成を示す回路図である。
【図６】第４の実施形態に係るメモリ・システムの構成を示すブロック図である。
【図７】第５の実施形態に係るメモリ・システムの構成を示すブロック図である。
【図８】第６の実施形態に係るメモリ・システムにおける、データの物理的マッピングを説明する図である。
【符号の説明】
【０１０８】
１０１  レジスタ、１０２  シリアル・パラレル変換回路、
１０３  ＥＣＣコード発生回路、１０４  メモリ・セル・アレイ、
１０５  ＥＣＣ判定・訂正回路、１０６  内部アドレス発生回路、
１０７  マルチプレクサ、１０８  マルチプレク、１０９  内部ＥＣＣコントロール、
１１２  ＥＣＣ処理周期変更回路、４０１  メモリ・セル・アレイ、
４０２−４０５  バンク、４０６  ロウ／カラム・コントローラ、
４０７  ノーマルバンク選択回路、４０８  Ｉ／Ｏ回路、
４０９  ＥＣＣコード発生回路、４１０  ＥＣＣ制御回路、４１１  比較回路、
４１２  ＥＣＣアドレス発生回路、４１３  ＥＣＣ回路、
４１４  ＥＣＣバンク選択回路、４５０  差分カウンタ、５０１  ノーマルビット線、
５０２  ノーマルワード線、５０３  ノーマルトランジスタ、５０４  コンデンサ、
５０５  ＥＣＣ用ビット線、５０６  ＥＣＣ用ワード線、
５０７  ＥＣＣ用トランジスタ、６０１  メモリ・セル・アレイ、
６０２  ロウ・アドレス・デコーダ、６０３  ロウ制御回路、
６０４  カラム・アドレス・デコーダ、６０５  カラム制御回路、
６０６  センス・アンプ、６０７  ＥＣＣ処理回路、６０８  ＡＤＴ回路、
６０９  リフレッシュ制御回路、６１０  マルチプレクサ、
７１０  スペア・メモリ・セル・アレイ、７１１  リダンダンシ切替回路、
７１２  リダンダンシ・プログラム回路、７１３  エラー・アドレス判定回路、
８０１  メモリ・セル・アレイ、８０２  ロウ／カラム・コントローラ、
８０３  カラム選択回路
【図１】
0004627411.tif 000002
【図２】
0004627411.tif 000003
【図３】
0004627411.tif 000004
【図４】
0004627411.tif 000005
【図５】
0004627411.tif 000006
【図６】
0004627411.tif 000007
【図７】
0004627411.tif 000008
【図８】
0004627411.tif 000009