(57)【要約】  本発明の動作方法は、それぞれが複数のシンボルから構成され、各々のシンボルが複数のビットから構成され、更にシンボル単位での誤り訂正が可能な誤り訂正符号を記憶するＰＲＡＭ、ＲｅＲＡＭ、又は固体電解質メモリに適用される。当該動作方法では、各々のシンボルは互いに異なる参照セル１２を用いて読み出しが行われる。入力されたアドレスに対応する誤り訂正符号を構成するデータセル１１の読み出しデータに訂正可能な誤りが検出された場合、１ビットの誤りパターンである第１の誤りシンボルに対しては、その誤りビットに対応するデータセル１１のデータを訂正し、複数ビットの誤りパターンである第２の誤りシンボルに対しては、第２の誤りシンボルの読み出しに使用された参照セル１２のデータを訂正する。
2008133087.tif 000002
【特許請求の範囲】
【請求項１】
それぞれが複数のシンボルから構成され、各々のシンボルが複数のビットから構成され、更にシンボル単位での誤り訂正が可能な誤り訂正符号をメモリアレイに記憶する半導体記憶装置の動作方法であって、
前記複数のビットは、相変化抵抗素子、金属酸化物抵抗素子、又は固体電解質抵抗素子のいずれかを含むメモリセルによって記憶され、
各々のシンボルは互いに異なる参照セルを用いて読み出しが行われ、
入力されたアドレスに対応する前記誤り訂正符号を構成するデータセルの読み出しデータに訂正可能な誤りが検出された場合に、（Ａ）１ビットの誤りパターンである第１の誤りシンボルに対しては、その誤りビットに対応するデータセルのデータを訂正し、（Ｂ）複数ビットの誤りパターンである第２の誤りシンボルに対しては、第２の誤りシンボルの読み出しに使用された参照セルのデータを訂正する
半導体記憶装置の動作方法。
【請求項２】
請求の範囲１に記載の動作方法であって、
前記（Ａ）に記載した第１の誤りシンボルのデータセルのデータを訂正した後、前記誤り訂正符号を構成するデータセルの再読み出し動作と誤り検出動作が実行され、
再読み出しデータに再度、訂正可能な誤りが検出された場合に、（Ｃ）前記第１の誤りシンボルの読み出しに使用された参照セルのデータを訂正する
半導体記憶装置の動作方法。
【請求項３】
請求の範囲２に記載の動作方法であって、
再読み出しデータに再度、訂正可能な誤りが検出された場合に、前記（Ａ）に記載した前記第１の誤りシンボルの読み出しに使用された参照セルのデータを訂正する
半導体記憶装置の動作方法。
【請求項４】
請求の範囲１に記載の動作方法であって、
入力データから前記誤り訂正符号に基づく書き込みデータが符号化され、符号化された前記書き込みデータが前記データセルに書き込まれる
半導体記憶装置の動作方法。
【請求項５】
請求の範囲１に記載の動作方法であって、
入力データと、入力されたアドレスに対応する前記誤り訂正符号を構成するデータセルの読み出しデータに関する誤り検出結果とから前記誤り訂正符号に基づく書き込みデータが符号化される
半導体記憶装置の動作方法。
【請求項６】
請求の範囲１に記載の動作方法であって、
前記誤り訂正符号を構成する複数のシンボルは、複数の情報シンボルと複数のパリティシンボルに種別され、各々のパリティシンボルを構成する複数のデータセルは、各々の情報シンボルを構成するデータセルの読み出しに使用される参照セル以外の参照セルを使用して読み出しが行われ、前記複数のパリティシンボルは、前記誤り訂正符号である読み出しデータのデータ誤りを検出するために使用される
半導体記憶装置の動作方法。
【請求項７】
請求の範囲６に記載の動作方法であって、
前記複数の情報シンボルと前記複数のパリティシンボルは、互いに別々のメモリアレイに記憶され、且つ、各々のシンボルを構成するデータセルの読み出しには、それぞれと同一のメモリアレイに配置された参照セルが使用される
半導体記憶装置の動作方法。
【請求項８】
請求の範囲６に記載の動作方法であって、
前記複数の情報シンボルの一の情報シンボルと、前記複数のパリティシンボルの一のパリティシンボルと、第１の参照セルと第２の参照セルとが一のメモリアレイに配置されており、
前記一の情報シンボルを構成するデータセルの読み出しは第１の参照セルが使用され、
前記一のパリティシンボルを構成するデータセルの読み出しは第２の参照セルが使用される
半導体記憶装置の動作方法。
【請求項９】
請求の範囲６に記載の動作方法であって、
前記誤り訂正符号は、入力されるアドレスによって第１の符号と第２の符号に区別され、
第１の符号に含まれる第１の情報シンボル、及び第１のパリティシンボルと、第２の符号に含まれる第２の情報シンボル、及び第２のパリティシンボルと、第１の参照セルと、第２の参照セルとが一のメモリアレイに配置されており、
前記第１の符号が選択されている場合に、前記第１の情報シンボルのデータセルの読み出しは第１の参照セルが使用され、前記第１のパリティシンボルのデータセルの読み出しは第２の参照セルが使用され、
前記第２の符号が選択されている場合に、前記第２の情報シンボルのデータセルの読み出しは第２の参照セルが使用され、前記第２のパリティシンボルのデータセルの読み出しは第１の参照セルが使用される
半導体記憶装置の動作方法。
【請求項１０】
それぞれが複数のシンボルから構成され、各々のシンボルが複数のビットから構成され、更にシンボル単位での誤り訂正が可能な誤り訂正符号を記憶するための複数のデータセルと、前記データセルの読み出しに使用される複数の参照セルと、ＥＣＣ回路を含む周辺回路とを具備する半導体記憶装置の動作方法であって、
前記複数のデータセルと前記複数の参照セルのそれぞれは、相変化抵抗素子、金属酸化物抵抗素子、又は固体電解質抵抗素子のいずれかを含み、
各々のシンボルは互いに異なる参照セルを用いて読み出しが行われ、
前記データセルの読み出しデータに訂正可能な誤りが検出された場合に、前記周辺回路は、１ビットの誤りパターンである第１の誤りシンボルに対して、読み出しデータとＥＣＣ回路が出力する復号化データの各々のビットを比較し、異なるビット、即ち、誤りビットのデータセルを訂正する動作と、複数ビットの誤りパターンである第２の誤りシンボルに対して、第２の誤りシンボルの読み出しに使用される参照セルを訂正する動作とを行う
半導体記憶装置の動作方法。
【請求項１１】
請求の範囲１０に記載の動作方法であって、
前記第１の誤りシンボルに含まれる誤りビットのデータセルを訂正した後、前記誤り訂正符号を構成するデータセルの再読み出し動作と誤り検出動作とが実行され、
再読み出しデータに再度、前記第１の誤りシンボルと同じシンボルに誤りビットが検出された場合に、前記周辺回路は、前記第１の誤りシンボルの読み出しに使用される参照セルを訂正する動作を行う
半導体記憶装置の動作方法。
【請求項１２】
請求の範囲１０に記載の動作方法であって、
前記ＥＣＣ回路は、入力データから前記誤り訂正符号に基づく書き込みデータを符号化し、
入力されたアドレスに対応する前記誤り訂正符号を構成するデータセルの読み出しデータに訂正可能な誤りが検出された場合に、前記周辺回路は、誤りの無いシンボル、及び、１ビットの誤りパターンである第１の誤りシンボルに対して、前記読み出しデータと前記書き込みデータの各々のビットを比較し、異なるビットのデータセルを訂正する動作と、複数ビットの誤りパターンである第２の誤りシンボルに対して、ＥＣＣ回路が出力する復号化データと前記書き込みデータの各々のビットを比較し、異なるビットのデータセルを訂正する動作と、第２の誤りシンボルの読み出しに使用される参照セルを訂正する動作とを行う
半導体記憶装置の動作方法。
【請求項１３】
請求の範囲１２に記載の動作方法であって、
前記第１の誤りシンボルのデータセルを訂正する動作を行った後、前記誤り訂正符号を構成するデータセルの再読み出し動作と誤り検出動作とが実行され、
再読み出しデータに再度、前記第１の誤りシンボルと同じシンボルに誤りビットが検出された場合に、前記周辺回路は、前記第１の誤りシンボルの読み出しに使用される参照セルを訂正する動作を行う
半導体記憶装置の動作方法。
【請求項１４】
それぞれが複数のシンボルから構成され、各々のシンボルが複数のビットから構成され、更にシンボル単位での誤り訂正が可能な誤り訂正符号である第１〜第ｍのブロック符号を記憶する複数のデータセルと、第１〜第ｎの参照セルと、第１〜第ｍのＥＣＣ回路を含む周辺回路とを具備する半導体記憶装置の動作方法であって、
前記複数のデータセルと前記第１〜第ｎの参照セルのそれぞれは、相変化抵抗素子、金属酸化物抵抗素子、又は固体電解質抵抗素子のいずれかを含み、
前記第１〜第ｍのブロック符号の各々の第ｉシンボルの読み出しに、前記第１〜第ｎの参照セルのうちの第ｉ参照セルを使用しながら前記第１〜第ｍのブロック符号のデータを読み出し、且つ、前記第１〜第ｍのブロック符号の各々について、それぞれ前記第１〜第ｍのＥＣＣ回路を用いて誤り検出を行うように構成され、且つ、
前記周辺回路は、前記第１〜第ｍのＥＣＣ回路の各々が訂正可能な誤りを検出した場合に、前記第ｉ参照セルを用いて読み出されたｍ個の第ｉシンボルについて、１つの第ｉシンボルに誤りが検出された場合には、その誤りビットのデータセルのデータを訂正し、複数の第ｉシンボルに誤りが検出された場合には、前記第ｉ参照セルのデータを訂正する
半導体記憶装置の動作方法。
【請求項１５】
請求の範囲１４に記載の動作方法であって、
前記第１〜第ｍのＥＣＣ回路のうちの第ｊのＥＣＣ回路は、入力データから前記誤り訂正符号に基づく第ｊの書き込みデータを符号化し、
前記周辺回路は、前記第１〜第ｍのＥＣＣ回路の各々が訂正可能な誤りを検出した場合に、前記第ｉ参照セルを用いて読み出されたｍ個の第ｉシンボルについて、１つの第ｉシンボルに誤りが検出された場合には、第ｊのブロック符号のデータセルに前記第ｊの書き込みデータを書き込み、複数の第ｉシンボルに誤りが検出された場合には、第ｊのブロック符号のデータセルに前記書き込みデータを書き込み、且つ、前記第ｉ参照セルのデータを訂正する
半導体記憶装置の動作方法。
【請求項１６】
請求の範囲１４に記載の動作方法であって、
前記周辺回路は、前記第１〜第ｍのＥＣＣ回路の各々が訂正可能な誤りを検出した場合に、前記第ｉ参照セルを用いて読み出されたｍ個の第ｉシンボルについて、１つの第ｉシンボルに誤りが検出された場合、即ち、前記第１〜第ｍのブロック符号のうちの第ｋのブロック符号における第ｉシンボルのみに誤りシンボルが検出された場合、第ｋのブロック符号における第ｉシンボルの読み出しデータと、第ｋのＥＣＣ回路が出力する復号化データにおける第ｉシンボルとの各々のビットを比較し、異なるビット、即ち、誤りビットのデータセルを訂正する動作と、複数の第ｉシンボルに誤りが検出された場合、第ｉ参照セルのデータを訂正する動作とを行う
半導体記憶装置の動作方法。
【請求項１７】
請求の範囲１６に記載の動作方法であって、
前記第１〜第ｍのブロック符号のうちの第ｊのブロック符号のデータセルは、入力されたアドレスに対して選択されるデータセルであり、
前記周辺回路は、前記第１〜第ｍのＥＣＣ回路の各々が訂正可能な誤りを検出した場合に、前記第ｉ参照セルを用いて読み出されたｍ個の第ｉシンボルについて、前記第ｊのブロック符号における第ｉシンボルのみに誤りシンボルが検出された場合、第ｊのブロック符号における第ｉシンボルの読み出しデータと、第ｊのＥＣＣ回路が出力する復号化データにおける第ｉシンボルとの各々のビットを比較し、異なるビット、即ち、誤りビットのデータセルを訂正する動作と、複数の第ｉシンボルに誤りが検出された場合、第ｉ参照セルのデータを訂正する動作とを行い、更に、第ｊのＥＣＣ回路が出力する復号化データを前記アドレスの読み出しデータとして外部へ出力する
半導体記憶装置の動作方法。
【請求項１８】
請求の範囲１７に記載の動作方法であって、
前記第１〜第ｍのＥＣＣ回路のうちの第ｊのＥＣＣ回路は、入力データから前記誤り訂正符号に基づく第ｊの書き込みデータを符号化し、
前記周辺回路は、前記第１〜第ｍのＥＣＣ回路の各々が訂正可能な誤りを検出した場合に、前記第ｉ参照セルを用いて読み出されたｍ個の第ｉシンボルについて、前記第ｊのブロック符号における第ｉシンボルのみに誤りシンボルが検出された場合、第ｊのブロック符号における第ｉのシンボルの読み出しデータと、前記第ｊの書き込みデータにおける第ｉのシンボルのデータについて各々のビットを比較し、異なるビットのデータセルを訂正する動作と、複数の第ｉシンボルに誤りが検出された場合、第ｉ参照セルのデータを訂正する動作とを行う
半導体記憶装置の動作方法。
【請求項１９】
それぞれが複数のシンボルから構成され、各々のシンボルが複数のビットから構成され、更にシンボル単位での誤り訂正が可能な誤り訂正符号を誤り検出及び誤り訂正に使用する半導体記憶装置であって、
それぞれが、相変化抵抗素子、金属酸化物抵抗素子、又は固体電解質抵抗素子のいずれかを含む複数のメモリセルと、
周辺回路
とを具備し、
前記複数のメモリセルは、
前記複数のシンボルを記憶するために使用されるデータセルと、
前記複数のシンボルを読み出すために使用される参照セル
とを含み、
前記周辺回路は、前記各々のシンボルを互いに異なる参照セルを用いて読み出すように構成され、且つ、入力されたアドレスに対応する前記誤り訂正符号を構成するデータセルの読み出しデータに訂正可能な誤りが検出された場合に、（Ａ）１ビットの誤りパターンである第１の誤りシンボルに対しては、その誤りビットに対応するデータセルのデータを訂正し、（Ｂ）複数ビットの誤りパターンである第２の誤りシンボルに対しては、第２の誤りシンボルの読み出しに使用された参照セルのデータを訂正する
半導体記憶装置。
【請求項２０】
それぞれが複数のシンボルから構成され、各々のシンボルが複数のビットから構成され、更にシンボル単位での誤り訂正が可能な誤り訂正符号を誤り検出及び誤り訂正に使用する半導体記憶装置であって、
それぞれが、相変化抵抗素子、金属酸化物抵抗素子、又は固体電解質抵抗素子のいずれかを含む複数のメモリセルと、
ＥＣＣ回路を含む周辺回路
とを具備し、
前記複数のメモリセルは、
前記複数のシンボルを記憶するための複数のデータセルと、
前記複数のシンボルの読み出しに使用される複数の参照セル
とを含み、
前記周辺回路は、前記各々のシンボルを互いに異なる参照セルを用いて読み出し、且つ、前記データセルの読み出しデータに訂正可能な誤りが検出された場合に、１ビットの誤りパターンである第１の誤りシンボルに対して、読み出しデータと前記ＥＣＣ回路が出力する復号化データの各々のビットを比較し、異なるビット、即ち、誤りビットのデータセルを訂正する制御と、複数ビットの誤りパターンである第２の誤りシンボルに対して、第２の誤りシンボルの読み出しに使用される参照セルを訂正する制御とを行う
半導体記憶装置。
【請求項２１】
それぞれが複数のシンボルから構成され、各々のシンボルが複数のビットから構成され、更にシンボル単位での誤り訂正が可能な誤り訂正符号である第１〜第ｍのブロック符号を記憶する複数のデータセルと、
第１〜第ｎの参照セルと、
第１〜第ｍのＥＣＣ回路を含む周辺回路
とを具備し、
前記周辺回路は、前記第１〜第ｍのブロック符号の各々の第ｉシンボルの読み出しに、前記第１〜第ｎの参照セルのうちの第ｉ参照セルを使用しながら前記第１〜第ｍのブロック符号のデータを読み出し、且つ、前記第１〜第ｍのブロック符号の各々について、それぞれ前記第１〜第ｍのＥＣＣ回路を用いて誤り検出を行うように構成され、且つ、
前記周辺回路は、前記第１〜第ｍのＥＣＣ回路の各々が訂正可能な誤りを検出した場合に、前記第ｉ参照セルを用いて読み出されたｍ個の第ｉシンボルについて、１つの第ｉシンボルに誤りが検出された場合には、その誤りビットのデータセルのデータを訂正し、複数の第ｉシンボルに誤りが検出された場合には、前記第ｉ参照セルのデータを訂正する
半導体記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、相変化ランダムアクセスメモリ（ＰＲＡＭ）、抵抗変化ランダムアクセスメモリ（ＲｅＲＡＭ）、及び固体電解質メモリのような不揮発性半導体記憶装置に関しており、特に、参照セルを用いて読み出しを行う不揮発性半導体記憶装置におけるデータの誤り訂正技術に関する。
【背景技術】
【０００２】
近年、１ビットの情報を記憶措置の抵抗を変化させて記憶する新しい不揮発性半導体記憶装置の研究開発が活発に行われている。例えば、カルコゲナイト合金等で形成された相変化抵抗素子を記憶素子として用いるＰＲＡＭ（Phase change RAM）は、そのような不揮発性半導体記憶装置の一つの例である。ＰＲＡＭは、相変化抵抗素子の抵抗値が、加熱方法によって（あるいは加熱後の冷却方法によって）変化するという性質を利用している。相変化抵抗素子の加熱は、最も典型的には、相変化抵抗素子に電流を流すことによってジュール熱を発生させることによって行われる。他の例は、ペロブスカイト酸化物などで形成された金属酸化物抵抗素子を記憶素子として用いるＲｅＲＡＭ（Resistive RAM）である。ＲｅＲＡＭは、ペロブスカイト酸化物などで形成された金属酸化物抵抗素子の抵抗値が、金属酸化物抵抗素子への印加電圧、又は印加電流によって変化するという性質を利用している。更に、硫化銅のような固体電解質で形成された固体電解質抵抗素子を記憶素子として用いる固体電解質メモリについても、研究開発が進められている。固体電解質抵抗素子は、固体電解質の中における原子の移動を利用した素子であり、固体電解質抵抗素子の抵抗値は、印加電圧の極性によって変化する。固体電解質メモリは、このような固体電解質抵抗素子の性質を利用している。【０００３】
これらの記憶素子に蓄えられた記憶データのリード動作は、その抵抗値を検出することで行われる点で共通している。抵抗値の検出の最も典型的な方法の一つは、予め規定のデータがプログラムされた参照セルをメモリセルに設け、選択状態のメモリセルから得られる信号（典型的には電流信号）と、参照セルから得られる信号とを比較する方法である。例えば、データ「０」がプログラムされている参照セルと、データ「１」がプログラムされている参照セルとが用意され、これらの参照セルに流れる電流の平均電流値と、メモリセルに流れる電流の電流値とを比較してリード動作が実行される。【０００４】
他の多くのメモリデバイスと同様に、上述のＰＲＡＭ、ＲｅＲＡＭ及び固体電解質メモリも、メモリセルのデータエラーに遭遇することが不可避であると考えられる。ＰＲＡＭの場合、加熱方法の違いによってデータ書き込みを行うため、その動作環境、特に、環境温度の影響を受けやすい。例えば、室温で最適化されているＰＲＡＭを１００℃程度の環境下で動作させると、室温で正常に動作したメモリセルが、不良動作することが考えられる。更に、ライト動作とリード動作とで同じ電流経路が使用されるため、リード動作によって記憶データが書き換えられる可能性も否定できない。一方、ＲｅＲＡＭ及び固体電解質メモリの場合、書き込みデータに応じてライト動作を変更する必要がある等、ライト動作の制御が複雑であり、電源電圧の変動等でライト動作が正常に実行されないことがある。また、ＰＲＡＭと同様に、ライト動作とリード動作とで同じ電流経路が使用されるため、リード動作によって記憶データが書き換えられる可能性もある。以上に説明されているように、ＰＲＡＭ、ＲｅＲＡＭ及び固体電解質メモリでは、特にライト動作とリード動作とで同じ電流経路が使用されることを原因とするソフトエラーは避け難く、不所望な記憶データの反転が低確率で発生することは避け難い。【０００５】
このようなデータエラーに対処するためには、他の多くのメモリデバイスと同様に、誤り訂正符号を利用したＥＣＣ（Error check and correction）技術により、ソフトエラーを救済することが望ましい。しかし、リード動作によって記憶データが書き換えられるソフトエラーは、データセルと参照セルのどちらを訂正すべきかが不明であることを考慮しなくてはならない。参照セルは、リード動作によって常にアクセスされる性質を有しており、低確率であっても不所望に反転することがある。従って、データ誤りが検出されたからといって、単純にデータセルに記憶されているデータを訂正することは、結局、ソフトエラーを救済できない可能性がある。【０００６】
加えて、ＰＲＡＭ、ＲｅＲＡＭ、及び固体電解質メモリにおける誤り訂正では、誤り検出時にデータセルと参照セルのどちらにソフトエラーが発生しているかを高確率で予測、あるいは断定できることが望ましい。さらに、参照セルにデータ誤りがあっても、その誤り訂正が可能であることが望ましい。参照セルのデータ誤りは、バースト誤りとして発現しやすい。しかし、参照セルのデータ誤りによるバースト誤りがあまりに広範囲に影響を及ぼすと、誤り訂正が不能になってしまう。【０００７】
誤り訂正方法の一の観点において、誤り検出時に誤りであるデータセルと、そのデータセルの読み出しに使用した参照セルの両方を無条件に訂正することが考えられる。しかし、データセルと参照セルとを同時にライト動作することはアドレスデコーダを複雑化するだけでなく、参照セル専用の書き込み回路も必要となる。一般に、ＰＲＡＭ、ＲｅＲＡＭ、及び固体電解質メモリのライト動作に必要な電圧や電流は小さくなく、書き込み回路の面積も大きい。また、誤り訂正する必要のないメモリセルにもライト動作するため、非効率的である。従って、このような誤り訂正方法は、回路面積や消費電流の増大を招いてしまう。【０００８】
このような背景から、データセル及び参照セルのいずれにデータ誤りがあっても、回路面積や消費電流のオーバーヘッドが無く、誤り訂正を正しく行うことができるような技術の提供が望まれている。
【発明の開示】
【０００９】
本発明の目的は、ＰＲＡＭ、ＲｅＲＡＭ、及び固体電解質メモリにおいて、データセル及び参照セルのいずれにデータ誤りがあっても、回路面積や消費電流のオーバーヘッドが無く、誤り訂正を正しく行うことを可能にする技術を提供することにある。
【００１０】
本発明の一の観点では、それぞれが複数のシンボルから構成され、各々のシンボルが複数のビットから構成され、更にシンボル単位での誤り訂正が可能な誤り訂正符号をメモリアレイに記憶する半導体記憶装置の動作方法が提供される。前記複数のビットは、相変化抵抗素子、金属酸化物抵抗素子、又は固体電解質抵抗素子のいずれかを含むメモリセルによって記憶される。当該動作方法では、各々のシンボルは互いに異なる参照セルを用いて読み出しが行われる。更に、当該動作方法では、入力されたアドレスに対応する前記誤り訂正符号を構成するデータセルの読み出しデータに訂正可能な誤りが検出された場合に、（Ａ）１ビットの誤りパターンである第１の誤りシンボルに対しては、その誤りビットに対応するデータセルのデータを訂正し、（Ｂ）複数ビットの誤りパターンである第２の誤りシンボルに対しては、第２の誤りシンボルの読み出しに使用された参照セルのデータを訂正する。
【００１１】
本発明の他の観点では、それぞれが複数のシンボルから構成され、各々のシンボルが複数のビットから構成され、更にシンボル単位での誤り訂正が可能な誤り訂正符号を記憶するための複数のデータセルと、前記データセルの読み出しに使用される複数の参照セルと、ＥＣＣ回路を含む周辺回路とを具備する半導体記憶装置の動作方法が提供される。前記複数のデータセルと前記複数の参照セルのそれぞれは、相変化抵抗素子、金属酸化物抵抗素子、又は固体電解質抵抗素子のいずれかを含む。当該動作方法では、各々のシンボルは互いに異なる参照セルを用いて読み出しが行われる。前記データセルの読み出しデータに訂正可能な誤りが検出された場合に、前記周辺回路は、１ビットの誤りパターンである第１の誤りシンボルに対して、読み出しデータとＥＣＣ回路が出力する復号化データの各々のビットを比較し、異なるビット、即ち、誤りビットのデータセルに正しいデータをライト動作する訂正動作と、複数ビットの誤りパターンである第２の誤りシンボルに対して、第２の誤りシンボルの読み出しに使用される参照セルに正しいデータをライト動作する訂正動作とを行う。
【００１２】
本発明の更に他の観点では、それぞれが複数のシンボルから構成され、各々のシンボルが複数のビットから構成され、更にシンボル単位での誤り訂正が可能な誤り訂正符号である第１〜第ｍのブロック符号を記憶する複数のデータセルと、第１〜第ｎの参照セルと、第１〜第ｍのＥＣＣ回路を含む周辺回路とを具備する半導体記憶装置の動作方法が提供される。前記複数のデータセルと前記複数の参照セルのそれぞれは、相変化抵抗素子、金属酸化物抵抗素子、又は固体電解質抵抗素子のいずれかを含む。当該ＭＲＡＭの動作方法は、前記第１〜第ｍのブロック符号の各々の第ｉシンボルの読み出しに、前記第１〜第ｎの参照セルのうちの第ｉ参照セルを使用しながら前記第１〜第ｍのブロック符号のデータを読み出し、且つ、前記第１〜第ｍのブロック符号の各々について、それぞれ前記第１〜第ｍのＥＣＣ回路を用いて誤り検出を行うように構成され、且つ、前記周辺回路は、前記第１〜第ｍのＥＣＣ回路の各々が訂正可能な誤りを検出した場合に、前記第ｉ参照セルを用いて読み出されたｍ個の第ｉシンボルについて、１つの第ｉシンボルに誤りが検出された場合には、その誤りビットのデータセルのデータを訂正し、複数の第ｉシンボルに誤りが検出された場合には、前記第ｉ参照セルのデータを訂正する。
【００１３】
本発明によれば、ＰＲＡＭ、ＲｅＲＡＭ、及び固体電解質メモリにおいて、データセル及び参照セルのいずれにデータ誤りがあっても、誤り訂正を正しく行うことを可能にする技術が提供される。
【図面の簡単な説明】
【００１４】
【図１】図１は、本発明の第１の実施形態に係る不揮発性ＲＡＭにおいて使用される誤り訂正符号の符号フォーマットを示す概念図である。
【図２】図２は、本発明の第１の実施形態に係る不揮発性ＲＡＭの構成を示すブロック図である。
【図３】図３は、第１の実施形態におけるデータアレイ、パリティアレイ、書き込み／読み出し回路、及びコントローラの構成を示す詳細図である。
【図４Ａ】図４Ａは、第１の実施形態におけるデータアレイ、パリティアレイの構成を示す詳細図である。
【図４Ｂ】図４Ｂは、参照セルに誤ったデータが書き込まれているときの不揮発性ＲＡＭの動作を説明する図である。
【図５Ａ】図５Ａは、第１の実施形態における、情報シンボル及びパリティシンボルのデータアレイ、パリティアレイへの割り付け法を示す概念図である。
【図５Ｂ】図５Ｂは、データセルが訂正されるデータエラーと、参照セルが訂正されるデータエラーの例を説明する図である。
【図６】図６は、第１の実施形態に係る不揮発性ＲＡＭのリード動作を示すフローチャートである。
【図７】図７は、第１の実施形態においてリード動作が行われるときの、不揮発性ＲＡＭの状態遷移図である。
【図８】図８は、第１の実施形態に係る不揮発性ＲＡＭの別のリード動作を示すフローチャートである。
【図９】図９は、書き込み動作においてあるアドレスが選択されたときに、実際にデータ書き込みが行われるデータセルを示す概念図である。
【図１０Ａ】図１０Ａは、本発明の第２の実施形態に係る不揮発性ＲＡＭの構成を部分的に示す図である。
【図１０Ｂ】図１０Ｂは、第２の実施形態に係る不揮発性ＲＡＭについて、データセルが訂正されるデータエラーを示す図である。
【図１０Ｃ】図１０Ｃは、第２の実施形態に係る不揮発性ＲＡＭについて、参照セルが訂正されるデータエラーを示す図である。
【図１１】図１１は、第２の実施形態に係る不揮発性ＲＡＭのリード動作を示すフローチャートである。
【図１２】図１２は、本発明の第３の実施形態に係る不揮発性ＲＡＭの構成を示すブロック図である。
【図１３】図１３は、第３の実施形態に係る不揮発性ＲＡＭのメモリアレイの構成を示す概念図である。
【図１４】図１４は、情報シンボル及びパリティシンボルのメモリアレイへの割り付け法を示す概念図である。
【発明を実施するための最良の形態】
【００１５】
以下、添付図面を参照しながら、本発明の半導体記憶装置の実施形態が説明される。本発明は、相変化抵抗素子をメモリセルとして使用するＰＲＡＭ、金属酸化物抵抗素子をメモリセルとして使用するＲｅＲＡＭ、固体電解質抵抗素子をメモリセルとして使用する固体電解質メモリのいずれにも適用可能である。以下では、ＰＲＡＭ、ＲｅＲＡＭ、及び固体電解質メモリを総称して不揮発性ＲＡＭと記載して説明を行う。なお、図面において、同一又は類似の符号は、同一又は対応する構成要素を参照していることに留意されたい。【００１６】
第１の実施形態：
（不揮発性ＲＡＭの構成）
本発明の第１の実施形態に係る不揮発性ＲＡＭは、一のブロックが複数のシンボルで構成されているブロック符号を用いて誤り訂正を行うように構成されている。ブロック符号とは、符号化後のデータが複数のブロックに区分されており、そのブロック毎に符号化及び復号化が行われる符号である。ブロック符号としては、例えば、ハミング符号、ＢＣＨ符号、リード・ソロモン符号（ＲＳ符号）が知られているが、第１の実施形態ではリード・ソロモン符号が誤り訂正に使用される。【００１７】
図１は、本実施形態の不揮発性ＲＡＭにおける誤り訂正に使用される符号フォーマットを示す概念図である。図１に示されているフォーマットは、メモリセルの物理的な配置を表しているのではなく、あくまで、不揮発性ＲＡＭに記憶されるデータの論理的な構成を示しているに過ぎないことに留意されたい。【００１８】
本実施形態では、（１０，８）リード・ソロモン符号が用いられる；即ち、各ブロックは、８個の情報シンボルと、２つのパリティシンボルで構成される。情報シンボルとパリティシンボルは、いずれも、４ビットで構成される。即ち、本実施形態では、３２のデータビットに対し、８ビットのパリティビットが付加される。（１０，８）リード・ソロモン符号では、１つのシンボルの誤り訂正が可能である。１つのシンボル中であれば、その何ビットが誤っていても誤り訂正が可能であり、バースト誤りの訂正も行うことができる。【００１９】
本実施形態に係る不揮発性ＲＡＭの一つの主題は、情報シンボル及びパリティシンボルのメモリアレイへの割付の最適化によってデータセルと参照セルのいずれにデータ誤りがあるかの判定の正確性を向上し、更に参照セルに誤りがあったときのデータ訂正を可能にすることである。以下、本実施形態に係る不揮発性ＲＡＭを詳細に説明する。【００２０】
図２は、本発明の第１の実施形態に係る不揮発性ＲＡＭ１０の構成を示すブロック図である。不揮発性ＲＡＭ１０は、複数のメモリアレイを備えている。不揮発性ＲＡＭ１０がＰＲＡＭである場合、メモリアレイには相変化抵抗素子で構成されたメモリセルが行列に配置され、不揮発性ＲＡＭ１０がＲｅＲＡＭである場合、メモリアレイには金属酸化物抵抗素子で構成されたメモリセルが行列に配置される。更に、不揮発性ＲＡＭ１０が固体電解質メモリである場合、メモリアレイには固体電解質抵抗素子で構成されたメモリセルが行列に配置される。【００２１】
不揮発性ＲＡＭ１０のメモリアレイには、データアレイ１＿０〜１＿７とパリティアレイ２＿０、２＿１の２種類がある。以下において、相互に区別しない場合には、データアレイ１＿０〜１＿７を総称してデータアレイ１と記載し、パリティアレイ２＿０、２＿１をパリティアレイ２と記載する。データアレイ１は、上述の情報シンボルを記憶するために使用され、パリティアレイ２は、パリティシンボルを記憶するために使用される。データアレイ１＿０〜１＿７は、それぞれ不揮発性ＲＡＭ１０のデータ入出力ＤＱ０〜ＤＱ７に対応付けられている。データ書き込み時には、データ入出力ＤＱ０〜ＤＱ７に入力された書き込みデータから情報シンボルが構成されてデータアレイ１＿０〜１＿７に保存される一方、その情報シンボルからパリティシンボルが生成されてパリティアレイ２＿０、２＿１に保存される。【００２２】
データアレイ１及びパリティアレイ２へのアクセスは、周辺回路、具体的には、ロウデコーダ３と、カラムデコーダ４と、書き込み／読み出し回路５と、コントローラ６とを用いて行われる。ロウデコーダ３及びカラムデコーダ４は、アクセスされるメモリセルを選択するために使用される。書き込み／読み出し回路５は、選択されたメモリセルに対するデータ書き込み及びデータ読み出しを行う。コントローラ６は、ロウデコーダ３と、カラムデコーダ４と、書き込み／読み出し回路５を制御する機能を有している。コントローラ６は、更に、誤り訂正のための様々な演算、例えば、リード・ソロモン符号化や誤り検出を行う機能を有している。【００２３】
図３は、本実施の形態の不揮発性ＲＡＭ１０の構成の詳細を示すブロック図であり、一つのデータアレイ１（またはパリティアレイ２）と、それに対応する周辺回路の部分の構成を示している。データアレイ１及びパリティアレイ２に配置されているメモリセルには、データセル１１と参照セル１２の２種類がある。参照セル１２は、２列に並べられている。図４Ａに示されているように、データセル１１と参照セル１２は、ワード線１３とビット線１４とが交差する位置に配置されている。【００２４】
同一のメモリセルの行に位置する（即ち、同一のワード線１３に接続されている）２つの参照セル１２は、参照セル対１５を構成している。一の参照セル対１５に含まれる２つの参照セル１２には、互いに相補のデータが書き込まれている。あるデータセル１１からのデータ読み出しの際には、当該データセル１１と同一の行に位置する２つの参照セル１２に電流が流され、それらの電流から参照信号が発生される。この参照信号は、データ”１”及びデータ”０”の中間に対応する信号レベルを有するように発生される。その参照信号と、データセル１１に電流が流されることによって発生するデータ信号とを比較することにより、当該データセル１１のデータが判別される。【００２５】
参照セル対１５の２つの参照セル１２の一方がデータ”０”を保持し、他方がデータ”１”を保持することは、データセル１１からの読み出しを正しく行うために重要である。図４Ｂに示されているように、ある参照セル対１５の参照セル１２の両方が、例えば、データ”０”を保持していると、対応するデータセル１１に記憶されているデータは、データ”１”と判別されやすくなる。この場合、バースト誤りが発生し易くなる。【００２６】
図３に戻り、読み出し／書き込み回路５は、書き込み回路１６と、センスアンプ１７とを備えている。書き込み回路１６は、コントローラ６から供給されるライト・イネーブル信号に応答して、データセル１１及び参照セル１２に入力データを書き込む。ライト・イネーブル信号には２種類ある：一つは、データセル・ライト・イネーブル信号であり、もう一つは、参照セル・ライト・イネーブル信号である。データセル・ライト・イネーブル信号が活性化されると、書き込み回路１６は、データセル１１に入力データを書き込むための書き込み電流（又は書き込み電圧）を供給する。同様に、参照セル・ライト・イネーブル信号が活性化されると、書き込み回路１６は、参照セル１２に先述した保持すべきデータを書き込むための電流（又は電圧）を供給する。センスアンプ１７は、選択されたメモリセルのデータを判別して出力データを生成し、コントローラ６に出力する。【００２７】
コントローラ６は、アドレス／モード制御部２１と、データ制御部２２と、ＥＣＣ回路２３とを備えている。アドレス／モード制御部２１は、アドレス入力とコマンド入力に応答して、様々な内部制御信号を生成する。この内部制御信号は、上述のロウデコーダ３、カラムデコーダ４、書き込み回路１６、及びセンスアンプ１７の制御に使用される。ＥＣＣ回路２３は、誤り訂正を行うための演算を行う。ＥＣＣ回路２３は、誤り訂正符号化を行うエンコーダ２４と、復号化及び誤り検出を行うデコーダ２５とを備えている。データ制御部２２は、メモリアレイ１へのデータ書き込み、及びメモリアレイ１からのデータ読み出しを制御する。具体的には、データ制御部２２は、（必要な場合には誤り訂正が行われた）読み出しデータをデコーダ２５から受け取ってデータ入出力ＤＱ０〜ＤＱ７に出力する。更にデータ制御部２２は、データセル・ライト・イネーブル信号及び参照セル・ライト・イネーブル信号を生成して書き込み回路１６に供給する。データセル・ライト・イネーブル信号及び参照セル・ライト・イネーブル信号は、（１）データ入力と共にライト・コマンドが入力された場合、及び、（２）デコーダ２５により読み出されたデータに誤りが検出された場合に活性化される。【００２８】
（情報シンボル及びパリティシンボルの割り付け）
図５Ａを参照して、本実施形態の不揮発性ＲＡＭの一つの特徴は、情報シンボル及びパリティシンボルの、データアレイ１及びパリティアレイ２への割り付け法にある。本実施形態の不揮発性ＲＡＭでは、情報シンボル及びパリティシンボルのデータアレイ１及びパリティアレイ２への割り付けは、一のブロックの８つの情報シンボル及び２つのパリティシンボルが、互いに異なる参照セル１２に対応付けられるように決定されている。即ち、一のブロックの８つの情報シンボル及び２つのパリティシンボルは、互いに異なる参照セル１２を用いて読み出される。【００２９】
より具体的には、あるブロックの８つの情報シンボルは、互いに異なるデータ入出力ＤＱ０〜ＤＱ７に対応付けられ、従って異なるデータアレイ１に保存される；以下において、データ入出力ＤＱ０〜ＤＱ７に対応付けられた情報シンボルは、それぞれ、情報シンボルＤＱ０〜ＤＱ７と記載される。即ち、情報シンボルＤＱ０〜ＤＱ７は、それぞれ、データアレイ１＿０〜１＿７に保存される。データアレイ１＿０〜１＿７のそれぞれに参照セル１２の列が設けられているから、情報シンボルＤＱ０〜ＤＱ７は、異なる参照セル１２を用いて読み出されることになる。ある情報シンボルを記憶する４つのデータセル１１は、データアレイ１の同一の行に設けられ、それら４つのデータセル１１のデータ読み出しには、同一の行にある参照セル１２が使用される。これにより、８つの情報シンボルは、互いに異なる参照セル１２を用いて読み出されることになる。【００３０】
あるブロックの情報シンボルＤＱ０〜ＤＱ７が記憶されるデータセル１１の列アドレスは、データアレイ１＿０〜１＿７間で同一である。例えば、あるブロックの情報シンボルＤＱ０〜ＤＱ７は、ある行アドレスＸ及び列アドレスＹ０〜Ｙ３によって特定されるデータセル１１に保存される。このような構成は、データセル１１の選択を簡素化し好適である。【００３１】
加えて、当該ブロックの２つのパリティシンボルは、異なるパリティアレイ２に対応付けられて保存される；以下において、パリティアレイ２＿０、２＿１に対応付けられたパリティシンボルは、パリティシンボルＰ０、Ｐ１と記載される。パリティシンボルＰ０、Ｐ１は、データアレイ１＿０〜１＿７とは別に用意されたパリティアレイ２＿０、２＿１に別々に保存されるから、パリティシンボルＰ０、Ｐ１は、互いに異なり、且つ、情報シンボルＤＱ０〜ＤＱ７の読み出しに使用される参照セル１２以外の参照セル１２を用いて読み出されることになる。あるパリティシンボルを記憶する４つのデータセル１１は、データアレイ１の同一の行に設けられ、それら４つのデータセル１１のデータ読み出しには同一の行にある参照セル１２が使用される【００３２】
このような割り付け法の利点は、データセル１１及び参照セル１２のいずれに誤りがあるかを高い確率で正しく特定することが可能である上に、それらのいずれに誤りがある場合でも、誤り訂正によって正しい読み出しデータを特定して外部に出力することが可能な点である。図５Ｂに示されているように、メモリセルのデータエラー率が充分に低ければ、データセル１１のデータエラーは単ビット誤りとして発現し、参照セル１２のデータエラーは多くの場合に単一シンボル内のバースト誤りとして発現する。単ビット誤りが検出された場合に対応するデータセル１１のデータを訂正し、バースト誤りが検出された場合には参照セル１２のデータを訂正することにより、データセル１１及び参照セル１２のうちの適切なものを、高い確率で正しく訂正できる。【００３３】
参照セル１２のデータエラーによってバースト誤りが発生しても、誤り訂正によって正しい読み出しデータが得られることに留意されるべきである。一のブロックの情報シンボル及びパリティシンボルが互いに異なる参照セル１２に対応付けられているから、ある参照セル１２のデータエラーによって発生するバースト誤りは、単一のシンボルに現れる。（１０，８）リード・ソロモン符号は、一のシンボルの誤りを訂正可能であるから、データエラーが単一の参照セル対１５で発生している限り、必ず、当該シンボルを訂正して正しい読み出しデータを得ることが可能である。【００３４】
（リード動作）
以下、上記の割り付け法の利点を生かしたデータ読み出しの手順を説明する。図６は、本実施形態の不揮発性ＲＡＭの好適な読み出し動作を示すフローチャートである。本実施形態の不揮発性ＲＡＭのリード動作では、まず、データセル１１からのデータの読み出しと、誤り検出が行われる（ステップＳ０１）。【００３５】
データセル１１からのデータ読み出しは、ブロックごとに行われる。アドレス入力が与えられると、そのアドレス入力に対応するブロックに属する全ての情報シンボル及びパリティシンボルを格納するデータセル１１が選択される。このとき同時に、選択されたデータセル１１と同一の行にある参照セル１２も選択される。続いて、選択されたデータセル１１からデータビットが読み出される。【００３６】
選択されたデータセル１１からのデータの読み出し時には、当該データセル１１と同一の行に位置する参照セル対１５の２つの参照セル１２が使用される。具体的には、該２つの参照セル１２に流れる電流の平均と、データセル１１を流れる電流がセンスアンプ１７によって比較され、データセル１１のデータビットが判別される。このようにして読み出されたデータセル１１のデータビットは、ＥＣＣ回路２３のデコーダ２５に送られて誤り検出が行われる。一実施形態では、ＥＣＣ回路２３は、読み出されたデータビットからシンドロームを算出し、そのシンドロームに基づいて誤り検出を行う。【００３７】
誤りが検出されなかった場合には、対象データセルから読み出されたデータが出力データとして出力される（ステップＳ０２）。【００３８】
一方、誤りが検出された場合には、ＥＣＣ回路２３は、誤り訂正が可能であるかを判断する（ステップＳ０３）。誤り訂正が不可能であると判断した場合、ＥＣＣ回路２３は、エラー信号を外部に出力する（ステップＳ１２）。リード動作は、これによって中断される。【００３９】
誤り訂正が可能であると判断した場合、ＥＣＣ回路２３は、正しい読み出しデータを算出して外部に出力する。既述のとおり、（１０，８）リード・ソロモン符号が使用されている本実施形態では、データエラーが単一の情報シンボルにのみ存在している場合には、何ビットの誤りであっても正しい読み出しデータを算出することが可能である。【００４０】
続いて、データセル１１又は参照セル１２の誤りが訂正される。【００４１】
具体的には、ステップＳ０１において検出された誤りが単ビット誤りでない場合（即ち、一の情報シンボルに複数ビット誤りが検出された場合）、データ制御部２２による制御の下、データ誤りが発見された情報シンボル又はパリティシンボルに対応する参照セル１２に記憶されているデータが訂正される（ステップＳ１１）。データ制御部２２は、一の情報シンボルに複数ビット誤りが検出された場合、参照セル・ライト・イネーブル信号を活性化して書き込み回路１６に参照セル１２への書き込み電流の供給を許可する。参照セル１２の訂正は、予めプログラムすべきデータ、即ち、一方の参照セル１２にはデータ”０”、もう一方の参照セル１２にはデータ”１”を書き込むことによって行われる。以上の参照セル１２の訂正動作により、データ読み出しに使用可能な状態に戻すことができる。参照セル１２の誤り訂正動作（ステップＳ１１）の後、リード動作が完了する。【００４２】
一方、ステップＳ０１において検出された誤りが単ビット誤りである場合、ＥＣＣ回路２３による制御の下、データセル１１に記憶されているデータが訂正される（ステップＳ０５）。即ち、選択されたデータセル１１のうち、データエラーがあると判断されたデータセル１１のデータが反転される。データの反転は、ＥＣＣデコーダ２５が出力する誤り訂正データを誤りのデータセル１１に書き込むことによって行われる。より具体的には、データ制御部２２は、ＥＣＣデコーダ２５から受け取った誤り訂正後のデータを書き込み回路１６に送り、データセル・ライト・イネーブル信号を活性化して書き込み回路１６にデータセル１１への書き込み電流、あるいは書き込み電圧の供給を許可する。データセルの誤り訂正動作（ステップＳ０５）の後、リード動作を終了する。【００４３】
ここで、図７を用いて、本実施形態におけるデータセル１１と参照セル１２の状態遷移を確認する。図７において、「データセル：○」は、データセル１１に誤りが無い状態、「データセル：×」は、データセル１１に１ビットの誤りがある状態を示している。また、「参照セル：○」は、参照セル１２に誤りのない状態、「参照セル：×」は、参照セル１２に誤りがある状態を示している。【００４４】
ソフトエラーの発生確率が充分に抑制されているという条件の下、すなわち、データセル１１及び参照セル１２のうちの一つのメモリセルにしかデータ誤りが存在しない程度に抑制されているという条件の下では、データ誤りが発見された場合には、下記２つの状態：データセル１１にのみ誤りがある状態Ａ、参照セル１２にのみ誤りがある状態Ｂのいずれかの状態にある。つまり、データセル１１と参照セル１２の両方に誤りがある状態Ｃは確率的に存在しない。誤りの状態が状態Ａである場合、誤り検出結果は単ビット誤りであるからステップＳ０５により正常な状態に遷移する。また、誤りの状態が状態Ｂである場合、多くの場合は誤り検出結果が複数ビット誤りとなる。従って、ステップＳ１１により正常な状態に遷移する。しかし、低い確率ではあるが、誤り検出結果が単ビット誤りとなる可能性がある。なぜなら、参照セル１２に誤りがあったにも関わらず、その参照セル１２の抵抗特性によって偶発的に単ビット誤りが検出されてしまったことに起因する。この確率は、シンボルのビット構成が少ない場合には無視できない。この場合、誤りの無いデータセル１１の訂正動作（ステップＳ０５）を行うので、参照セル１２の誤りを訂正できないことになる。ただし、誤りを含んだままの参照セル１２を用いて読み出しが行われる別のブロック符号に対応するデータセル１１を、比較的短時間の後に偶発的にアクセスされる場合に、ステップＳ０１において検出された誤りが複数ビットであれば、ステップＳ１１を経て参照セル１２の誤りを訂正することが可能となる。【００４５】
書き込み回路１６の個数を増加させることなく、データセル１１と参照セル１２の両方を確実に誤り訂正できる訂正フローを図８に示す。具体的には、ステップＳ０１において検出された誤りが多ビット誤りである場合、参照セル１２を訂正する（ステップＳ１１）。ステップＳ０１において検出された誤りが単ビット誤りである場合、データエラーがあると判断されたデータセル１１の訂正を行う（ステップＳ０５）。ステップＳ０５の後、再読み出しと再誤り検出を行い（ステップＳ０６）、その結果に誤りが無ければリード動作を終了する。ステップＳ０６の結果に誤りがあれば無条件に参照セル１２の訂正動作を行う（ステップＳ１１）。本訂正のフローでは、ソフトエラーの発生確率は一つのメモリセルにしかデータ誤りが存在しない程度に十分抑制されている場合には確実にデータセル１１と参照セル１２の両方を訂正することが可能である。しかし、ステップＳ０１において検出された誤りが単ビットであった場合に、再読み出し動作が必要となるため、その制御回路や動作タイミングが複雑化するデメリットもある。【００４６】
（ライト動作）
次に、ライト動作について説明する。ライト・コマンドが入力されると、ＥＣＣエンコーダ２４は入力データに応じたパリティシンボルのデータ・パターンを作成する。しかし、パリティシンボルの作成には、情報シンボルの全てのビットの情報が必要である。すなわち、図１におけるブロック符号の例においては、２つのパリティシンボルを作成するには、ＤＱ０〜ＤＱ７に対応する情報シンボルのｙ０〜ｙ３に対応するビットの情報が全て必要である。従って、不揮発ＲＡＭの動作仕様がライトサイクル内でブロック符号の全ての情報シンボルのビット情報が入力される場合はそのサイクル内でパリティシンボルを作成でき、情報シンボルと作成されたパリティシンボルのビット情報を、同時にライト動作することが可能である。【００４７】
一つの具体例として、１つのライトサイクルが４つのクロックサイクルで実行されると仮定する。１番目のクロックサイクルで情報シンボルのアドレスｙ０のデータ、２番目のクロックサイクルで情報シンボルのアドレスｙ１のデータ、３番目のクロックサイクルで情報シンボルのアドレスｙ２のデータ、４番目のクロックサイクルで情報シンボルのアドレスｙ３のデータが順次ＤＱ０〜ＤＱ７から入力される。さらに、４番目のクロックサイクルにおいてはＥＣＣエンコーダ２４によりパリティシンボルが作成され、且つ、合計３２ビットの情報シンボルと、合計８ビットのパリティシンボルが同時に対応するメモリセルへ書き込まれる。【００４８】
しかし、不揮発ＲＡＭの動作仕様がライトサイクル内でブロック符号の情報シンボルの一部のビット情報しか入力されない場合は、パリティシンボルを作成するためには残りの情報シンボルのビット情報を検出する必要がある。すなわち、ライトサイクルにおいてもそのブロック符号に属する情報シンボル、及び、パリティシンボルのメモリセルの記憶データを全て先読みしておく必要がある。【００４９】
一つの具体例として、図９に示すように、あるライトサイクルにおいて、入力アドレスがｙ０で情報シンボルのｙ０に属するビットのライトデータがＤＱ０〜ＤＱ７より入力される。この時、ライト動作を実行する前に、情報シンボルのｙ０〜ｙ３に属するビットの記憶情報が先読みされる。先読みされたｙ１〜ｙ３に属する情報シンボルのビット情報と、入力されたｙ０に属する入力データとにより、ＥＣＣエンコーダ２４は新たなパリティシンボルＰ０、Ｐ１を作成する。次に、情報シンボルの一部であるｙ０に属する８ビットのメモリセルのライト動作と、パリティシンボルのｙ０〜ｙ３に属する８ビットのメモリセルのライト動作が同時に行われ（図９の斜線で示されたビットのメモリセル）、ライトサイクルを終了する。【００５０】
ＥＣＣエンコーダ２４によるパリティシンボルの作成は、センスアンプ１７が出力する先読み結果を利用するよりも、ＥＣＣデコーダ２５により先読み結果を受けて出力される誤り検出結果を利用して作成される方がより望ましい。なぜなら、実際に書き込みが実行されるメモリセル以外で誤りビットがあった場合（先の例では、情報シンボルのｙ１〜ｙ３に属するメモリセルで誤りビットが存在した場合）、その誤りビットを含んだ情報シンボルによって誤ったパリティシンボルが作成されてしまい、ブロック符号単位でのデータ化けを発生させてしまうからである。つまり、先読み結果を利用してパリティシンボルを作成すると、誤って作成されたパリティシンボルによって、その後に、情報シンボルのｙ１〜ｙ３の領域に存在する誤りビットが検出できないことになる。ＥＣＣデコーダ２５の誤り検出の結果、誤りビットが無い、あるいは誤りビットが入力データで置き換えられるビット（先の例ではｙ０に属するビット）か、これから作成されるパリティシンボルのパリティビットである場合には問題にならない。【００５１】
先読み動作から得られる誤り検出結果より、ライト動作が実行されるメモリセル以外で誤りビットが存在する場合、同じライトサイクル内でその誤りビットを同時に訂正できることがより望まれる。例えば、バースト誤り訂正符号を用いた図６による訂正フローを用いて、書き込み対象のメモリセルと誤りビットのメモリセルに対して、同時にライト動作を行うことは可能である。しかし、ブロック符号を形成するメモリセルの数と、それらのメモリセルの読み出しに利用される参照セルの数だけ書き込み回路を用意する必要があり、アドレスデコーダの回路構成も複雑化する問題がある。ライト動作時においても、回路面積のオーバーヘッドなしに、効率的に誤り訂正を行う一つの例は、ブロック符号単位でリード／ライト動作を行う仕様である。例えば、図１及び図９に示されるブロック符号においては、ｙ０〜ｙ３に対応する４つのライトサイクル単位で書き込み動作を実行する仕様にすれば良い。各ライトサイクルにおいては、そのブロック符号における先読み動作と、そのライトサイクルで選択される情報シンボルのメモリセルへとパリティビットへのライト動作が実行される。一のライトサイクルにおいて、情報シンボルの非選択のメモリセルに誤りビットが検出されても、別のライトサイクルにおいて、いずれその誤りビットは入力データで置き換えられ、実質的に誤り訂正を実行したのと等価にできる。本実施例によれば、ライトモードにおいて、参照セル１２の誤りは訂正不可能となるが、そのブロック符号の読み出し動作が実行される際に、先に述べた訂正フロー（図６、及び、図８）によって誤り検出、訂正できる。一般的に多くのアプリケーションにおいて、ライト動作よりもリード動作の方が実行回数が多く、ライト動作時に検出された参照セルの誤りは、その後のリード動作時において誤り訂正できる可能性が高い。【００５２】
以上のライト動作によれば、参照セル１２に誤りがあった場合でも、正しいデータ書き込みを行い、高い確率で不揮発性ＲＡＭに正常な状態に復帰させることができる。【００５３】
第２の実施形態：
第１の実施形態に係る不揮発性ＲＡＭのリード動作の一つの課題は、図８に示されているように、誤り訂正の確実性を向上するためにはデータセル１１の訂正（ステップＳ０５）の後、再度にデータ読み出しを行う必要があることである。再度にデータ読み出しを行うことは、リードサイクルを増大させるため好ましくない。実施の第２形態では、データセル１１の訂正のデータ読み出しを不要化するための不揮発性ＲＡＭのアーキテクチャが提供される。【００５４】
図１０Ａは、本発明の第２の実施形態に係る不揮発性ＲＡＭの構成を部分的に示す図である。コントローラ６に、２つのＥＣＣ回路２３Ａ、２３Ｂが設けられている。ＥＣＣ回路２３Ａ、２３Ｂは、それぞれが、１ブロックのデータに対して誤り検出及び訂正を行う能力を有している。【００５５】
加えて、本実施形態の不揮発性ＲＡＭでは、外部から読み出しアドレスが指定されると、２つのブロックの読み出しが行われるように構成されている。一つのブロックは、読み出しアドレスに対応するブロックであり、もう一つのブロックは、そのブロックを構成する情報シンボル、パリティシンボルの読み出しに使用される参照セルと同一の参照セルを用いて読み出される情報シンボル、パリティシンボルで構成されるブロックである。【００５６】
より具体的には、データアレイ１、パリティアレイ２に接続されているセンスアンプ１７は、それぞれ、同一の参照セル対１５を用いて２つのシンボルのデータ（即ち、８ビットのデータ）を同時に読み出すように構成されている。上述のように、一つのブロックは、データアレイ１＿０〜１＿７のそれぞれに記憶されている８つの情報ブロックと、パリティアレイ２＿０、２＿１のそれぞれに記憶されている２つのパリティブロックとから構成されているから、データアレイ１、パリティアレイ２のそれぞれから同一アドレスの２つのシンボルを読み出すことにより、２つのブロックが読み出されることになる。【００５７】
例えば、読み出しアドレスとして行アドレスＸ、列アドレスＹ０が指定されると、データアレイ１及びパリティアレイ２のそれぞれにおいて、行アドレスＸ、列アドレスＹ０〜Ｙ３のデータセル１１に記憶されたシンボルと、行アドレスＸ、列アドレスＹ４〜Ｙ６のデータセル１１に記憶されたシンボルとが、行アドレスＸで選択される参照セル対１５の参照セル１２を用いて読み出される。データアレイ１及びパリティアレイ２のそれぞれから、行アドレスＸ、列アドレスＹ０〜Ｙ３に対応するシンボルがＥＣＣ回路２３Ａに送られ、行アドレスＸ、列アドレスＹ４〜Ｙ７に対応するシンボルがＥＣＣ回路２３Ｂに送られる。ＥＣＣ回路２３Ａ、２３Ｂは、それぞれに送られてくるシンボルを用いて、上記の２つのブロックに対する誤り検出及び誤り訂正を行う。【００５８】
このように構成された第２の実施形態の不揮発性ＲＡＭでは、データセル１１の訂正のデータ読み出しを不要化するために、以下の手順によってデータセル１１及び参照セル１２の訂正が行われる。【００５９】
図１１を参照して、まず、データ読み出しと、誤り検出が行われる（ステップＳ４１）。データ読み出しでは、上述のように、読み出しアドレスに対応するブロックに加えて、もう一つのブロックがデータアレイ１、パリティアレイ２から読み出され、読み出された２つのブロックについて、誤り検出が行われる。【００６０】
誤りが検出されなかった場合には、読み出しアドレスによって指定されたデータセル１１から読み出されたデータが読み出しデータとして外部に出力されて、リード動作が終了する（ステップＳ４２）。【００６１】
誤りが検出された場合には、更に、誤りの種類に応じて、データセル１１の訂正、又は参照セル１２の訂正が行われる。【００６２】
２つのブロックを通じて単一のシンボルにしか誤りが検出されなかった場合（ステップＳ４３）、誤り訂正によって正しい読み出しデータが算出され、その算出された正しい読み出しデータが、外部に出力される。更に、図１０Ｂの左図に示されているように、そのシンボルに対応するデータセル１１のうちデータ誤りが発見されたデータセル１１のデータが訂正され（ステップＳ４６）、リード動作が終了する。【００６３】
いずれかの一方のブロックに２個を超えるシンボルに誤りが検出された場合、誤り訂正が不可能である。この場合、エラー信号が出力されてリード動作が終了する（ステップＳ４９）。【００６４】
上記以外の場合とは、２つのブロックのそれぞれについて、一つずつのシンボルに誤りが検出された場合であり、誤り訂正は可能である。この場合、誤り訂正によって算出された正しい読み出しデータが外部に出力された後、データセル１１と参照セル１２のうち適切なメモリセルが訂正される。具体的には、誤りが検出された２つのシンボルが同一の参照セル１２に対応している場合には（ステップＳ４５）、図１０Ｃに示されているように、参照セル１２の訂正が行われる（ステップＳ４７）。一方、異なる参照セル１２に対応している場合には、図１０Ｂの右図に示されているように、データセル１１の訂正が行われる（ステップＳ４８）。データセル１１の訂正、又は参照セル１２の訂正が完了すると、リード動作が完了する。【００６５】
本実施形態の不揮発性ＲＡＭのリード動作は、データセル１１の訂正が行われた後に再度にデータを読み出さなくても、高い確率でデータセル１１及び参照セル１２の訂正を正しく行うことができる。ある参照セル１２に誤りがある場合には、高い確率で当該参照セル１２に対応する２つのシンボルに誤りが発生し、一つのシンボルにのみ誤りが発生することは実質上有り得ない。したがって、誤りが検出された２つのシンボルが同一の参照セル１２に対応している場合以外は、検出されたデータ誤りはデータセル１１の誤りと判断してよい。したがって、本実施形態の不揮発性ＲＡＭのリード動作は、データセル１１の訂正が行われた後にその訂正が正しいかを検証しなくても、高い確率でデータセル１１及び参照セル１２の訂正を正しく行うことができる。【００６６】
なお、図１０Ａの不揮発性ＲＡＭでは、２つのＥＣＣ回路がコントローラ６に設けられているが、３以上のＥＣＣ回路がコントローラ６に設けられ、３以上の数のブロックが同時に読み出されることも可能である。この場合、同一の参照セル１２に対応する２つ以上のシンボルに誤りが検出された場合に当該参照セル１２が訂正され、そうでない場合にはデータセル１１が訂正される。【００６７】
第３の実施形態：
第１の実施形態の不揮発性ＲＡＭのもう一つの問題点は、ライト動作がパリティアレイ２に集中することである。例えば、メモリセルに電流を供給して書き込みを行うＰＲＡＭの場合、ライト動作時に、書き込み電流がパリティアレイ２に集中的に流れてしまう。より具体的には、図９を参照して、ある一のアドレス（例えば、列アドレスＹ０）のデータを書き換える場合、データアレイ１については、それぞれ、そのアドレスに対応する１ビットの書き込みが行われる；しかしながら、パリティアレイ２については、パリティシンボル全体を書き換える必要があるため、４ビットを書き込む必要がある。これは、データアレイ１に流される書き込み電流に比べて、パリティアレイ２に流される書き込み電流を増加させる。このような書き込み電流の不均一性は、局所的な電源電圧の変動を招く。シンボルが更に多くのビットで構成される場合には、書き込み電流の不均一性は更に大きくなる。このような書き込み電流の不均一性は、不揮発性ＲＡＭの動作の信頼性を低下させるおそれがあるため好ましくない。第３の実施形態では、書き込み電流の不均一性を解消するための不揮発性ＲＡＭのアーキテクチャが提供される。【００６８】
図１２は、第３の実施形態の不揮発性ＲＡＭの構成を示すブロック図である。本実施形態の不揮発性ＲＡＭでは、パリティシンボルを構成するビットがメモリアレイ３１＿０〜３１＿７に分散して記憶される。メモリアレイ３１＿０〜３１＿７は、同一の構成を有しており、区別する必要がない場合には、総称的にメモリアレイ３１と記載される。図１２では、図の簡略化のため、メモリアレイ３１＿０、３１＿４の構成のみが詳細に記述されていることに留意されたい。【００６９】
より具体的には、図１３に示されているように、メモリアレイ３１のそれぞれは、２つのメモリエリア：メモリエリア３２Ａ、３２Ｂで構成される。メモリエリア３２Ａ、３２Ｂは、データ領域３３とパリティ領域３４とをそれぞれに有している。データ領域３３は、データセル１１と参照セル１２が配置される領域であり、パリティ領域３４は、パリティシンボルを記憶するためのメモリセルであるパリティセル３５が配置される領域である。参照セル１２は、メモリエリア３２Ａ、３２Ｂそれぞれのデータ領域３３に、２列に配置されている。メモリエリア３２Ａに配置されているデータセル１１及びパリティセル３５のデータビットは、メモリエリア３２Ａに配置されている参照セル１２（以下、参照セル１２Ａという。）を使用して読み出され、メモリエリア３２Ａに配置されているデータセル１１及びパリティセル３５のデータビットは、メモリエリア３２Ｂに配置されている参照セル１２（以下、参照セル１２Ｂという。）を使用して読み出される。【００７０】
図１４は、本実施形態の不揮発性ＲＡＭにおける情報シンボル及びパリティシンボルのデータアレイ１及びパリティアレイ２への割り付け法を示す図である。本実施形態の不揮発性ＲＡＭの情報シンボル及びパリティシンボルの割り付け法の特徴は、８つの情報シンボルと、８つのパリティビットが、互いに異なる参照セル１２を用いて読み出されるように、情報シンボル及びパリティシンボルがメモリアレイ３１に割り付けられていることである。【００７１】
より具体的には、本実施形態では、一のブロックの８つの情報シンボルＤＱ０〜ＤＱ７が、それぞれ、メモリアレイ３１＿０〜３１＿７のデータ領域３３に記憶される。各情報シンボルの４ビットを記憶するデータセル１１は、同一の行に配置される。【００７２】
一方、パリティシンボルを構成するビットは、メモリアレイ３１＿０〜３１＿７に分散して保存される。より具体的には、パリティシンボルＰ０を構成する４ビットは、それぞれ、メモリアレイ３１＿０〜３１＿３に分散して保存される一方、パリティシンボルＰ１を構成する４ビットは、それぞれ、メモリアレイ３１＿４〜３１＿７に分散して保存される。パリティシンボルのビットを記憶するパリティセル３５は、各メモリアレイ３１において、同一のブロックに属する情報シンボルが記憶されるデータセル１１と同一の行に位置する（即ち、同時に選択される）が、異なるメモリエリア３２Ａ、３２Ｂに配置される。【００７３】
例えば、列アドレスＹ０〜Ｙ３の情報シンボルＤＱ０を記憶する４つのデータセル１１とパリティシンボルＰ０の列アドレスＹ０に対応するビットを記憶するパリティセル３５は、メモリアレイ３１＿０の同一の行に配置されるが、前者はメモリエリア３２Ａに配置され、後者は、メモリエリア３２Ｂに配置される。この結果、情報シンボルＤＱ０を記憶する４つのデータセル１１のデータ読み出しには、メモリエリア３２Ａに配置されている参照セル１２Ａが使用される一方、パリティシンボルＰ０の列アドレスＹ０に対応するビット記憶するパリティセル３５のデータ読み出しには、メモリエリア３２Ｂに配置されている参照セル１２Ｂが使用されることになる。【００７４】
同様に、列アドレスＹ４〜Ｙ７の情報シンボルＤＱ０を記憶する４つのデータセル１１とパリティシンボルＰ０の列アドレスＹ４に対応するビットを記憶するパリティセル３５は、メモリアレイ３１＿０の同一の行に配置されるが、前者はメモリエリア３２Ｂに配置され、後者は、メモリエリア３２Ａに配置される。この結果、情報シンボルＤＱ０を記憶する４つのデータセル１１のデータ読み出しには、メモリエリア３２Ｂに配置されている参照セル１２Ａが使用される一方、パリティシンボルＰ０の列アドレスＹ０に対応するビット記憶するパリティセル３５のデータ読み出しには、メモリエリア３２Ａに配置されている参照セル１２Ａが使用されることになる。【００７５】
このような割り付けによれば、８つの情報シンボル及びパリティシンボルの８つのビットが互いに異なる参照セル１２を用いて読み出されることになる。【００７６】
本実施形態の不揮発性ＲＡＭでは、パリティシンボルにエラー誤りが検出されても、その誤りを訂正できない；なぜなら、パリティシンボルの各ビットにデータ誤りが発見されても、それが、データセル１１と参照セル１２のいずれに原因があるかが特定できないからである。本実施形態では、パリティシンボルにエラー誤りが検出されても、データセル１１と参照セル１２の誤りは訂正されない。【００７７】
しかしながら、本実施形態の不揮発性ＲＡＭでは、データ書き込み時にメモリアレイ３１に流れる書き込み電流を均一化できるという大きな利点がある。図１４から理解されるように、ある一のアドレス（例えば、列アドレスＹ０）のデータを書き換える場合には、各メモリアレイ３１において書き換えられるメモリセルは、データ領域３３に位置する一のデータセル１１と、パリティ領域３４に位置する一のパリティセル３５の２つのメモリセルである。したがって、データ書き込み時にメモリアレイ３１に流れる書き込み電流は、同一である。これは、不揮発性ＲＡＭの電源電圧の局所的な低下を防止し、書き込み動作の信頼性を向上するために有効である。【００７８】
以下では、本願発明の実施形態のサマリーが提示される。
本発明の一実施形態では、それぞれが複数のシンボルから構成され、各々のシンボルが複数のビットから構成され、更にシンボル単位での誤り訂正が可能な誤り訂正符号をメモリアレイに記憶する半導体記憶装置の動作方法が提供される。前記複数のビットは、相変化抵抗素子、金属酸化物抵抗素子、又は固体電解質抵抗素子のいずれかを含むメモリセルによって記憶される。当該動作方法では、各々のシンボルは互いに異なる参照セルを用いて読み出しが行われる。更に、当該動作方法では、入力されたアドレスに対応する前記誤り訂正符号を構成するデータセルの読み出しデータに訂正可能な誤りが検出された場合に、（Ａ）１ビットの誤りパターンである第１の誤りシンボルに対しては、その誤りビットに対応するデータセルのデータを訂正し、（Ｂ）複数ビットの誤りパターンである第２の誤りシンボルに対しては、第２の誤りシンボルの読み出しに使用された参照セルのデータを訂正する。【００７９】
前記（Ａ）に記載した第１の誤りシンボルのデータセルのデータを訂正した後、前記誤り訂正符号を構成するデータセルの再読み出し動作と誤り検出動作が実行され、再読み出しデータに再度、訂正可能な誤りが検出された場合に、（Ｃ）前記第１の誤りシンボルの読み出しに使用された参照セルのデータを訂正することが好ましい。【００８０】
また、当該動作方法では、入力データから前記誤り訂正符号に基づく書き込みデータが符号化され、前記入力データと、入力されたアドレスに対応する前記誤り訂正符号を構成するデータセルの読み出しデータに関する誤り検出結果とから、前記誤り訂正符号に基づく書き込みデータが符号化されることが好ましい。【００８１】
好適には、前記誤り訂正符号を構成する複数のシンボルは、複数の情報シンボルと複数のパリティシンボルに種別され、各々のパリティシンボルを構成する複数のデータセルは、各々の情報シンボルを構成するデータセルの読み出しに使用される参照セル以外の参照セルを使用して読み出しが行われ、前記複数のパリティシンボルは、前記誤り訂正符号である読み出しデータのデータ誤りを検出するために使用される。【００８２】
前記複数の情報シンボルと前記複数のパリティシンボルは、互いに別々のメモリアレイに記憶され、且つ、各々のシンボルを構成するデータセルの読み出しには、それぞれと同一のメモリアレイに配置された参照セルが使用されることが好ましい。【００８３】
好適には、前記複数の情報シンボルの一の情報シンボルと、前記複数のパリティシンボルの一のパリティシンボルと、第１の参照セルと第２の参照セルとが一のメモリアレイに配置されており、前記一の情報シンボルを構成するデータセルの読み出しは第１の参照セルが使用され、前記一のパリティシンボルを構成するデータセルの読み出しは第２の参照セルが使用される。【００８４】
前記誤り訂正符号は、入力されるアドレスによって第１の符号と第２の符号に区別され、第１の符号に含まれる第１の情報シンボル、及び第１のパリティシンボルと、第２の符号に含まれる第２の情報シンボル、及び第２のパリティシンボルと、第１の参照セルと、第２の参照セルとが一のメモリアレイに配置されており、前記第１の符号が選択されている場合に、前記第１の情報シンボルのデータセルの読み出しは第１の参照セルが使用され、前記第１のパリティシンボルのデータセルの読み出しは第２の参照セルが使用され、前記第２の符号が選択されている場合に、前記第２の情報シンボルのデータセルの読み出しは第２の参照セルが使用され、前記第２のパリティシンボルのデータセルの読み出しは第１の参照セルが使用されることが好ましい。【００８５】
本発明の他の実施形態では、それぞれが複数のシンボルから構成され、各々のシンボルが複数のビットから構成され、更にシンボル単位での誤り訂正が可能な誤り訂正符号を記憶するための複数のデータセルと、前記データセルの読み出しに使用される複数の参照セルと、ＥＣＣ回路を含む周辺回路とを具備する半導体記憶装置の動作方法が提供される。前記複数のデータセルと前記複数の参照セルのそれぞれは、相変化抵抗素子、金属酸化物抵抗素子、又は固体電解質抵抗素子のいずれかを含む。当該動作方法では、各々のシンボルは互いに異なる参照セルを用いて読み出しが行われる。前記データセルの読み出しデータに訂正可能な誤りが検出された場合に、前記周辺回路は、１ビットの誤りパターンである第１の誤りシンボルに対して、読み出しデータとＥＣＣ回路が出力する復号化データの各々のビットを比較し、異なるビット、即ち、誤りビットのデータセルに正しいデータをライト動作する訂正動作と、複数ビットの誤りパターンである第２の誤りシンボルに対して、第２の誤りシンボルの読み出しに使用される参照セルに正しいデータをライト動作する訂正動作とを行う。【００８６】
前記第１の誤りシンボルに含まれる誤りビットのデータセルを訂正した後、前記誤り訂正符号を構成するデータセルの再読み出し動作と誤り検出動作とが実行され、再読み出しデータに再度、前記第１の誤りシンボルと同じシンボルに誤りビットが検出された場合に、前記周辺回路は、前記第１の誤りシンボルの読み出しに使用される参照セルの訂正動作を行うことが好ましい。【００８７】
前記ＥＣＣ回路は、入力データから前記誤り訂正符号に基づく書き込みデータを符号化し、入力されたアドレスに対応する前記誤り訂正符号を構成するデータセルの読み出しデータに訂正可能な誤りが検出された場合に、前記周辺回路は、誤りの無いシンボル、及び、１ビットの誤りパターンである第１の誤りシンボルに対して、前記読み出しデータと前記書き込みデータの各々のビットを比較し、異なるビットのデータセルを訂正する動作と、複数ビットの誤りパターンである第２の誤りシンボルに対して、ＥＣＣ回路が出力する復号化データと前記書き込みデータの各々のビットを比較し、異なるビットのデータセルを訂正する動作と、第２の誤りシンボルの読み出しに使用される参照セルを訂正する動作とを行うことが好ましい。【００８８】
好適には、前記第１の誤りシンボルのデータセルに対してライド動作を行った後、前記誤り訂正符号を構成するデータセルの再読み出し動作と誤り検出動作とが実行され、再読み出しデータに再度、前記第１の誤りシンボルと同じシンボルに誤りビットが検出された場合に、前記周辺回路は、前記第１の誤りシンボルの読み出しに使用される参照セルを訂正する動作と、前記第１の誤りシンボルに含まれていた１ビットの誤りビットのデータセルを訂正する動作とを行うことが好ましい。【００８９】
本発明の更に他の実施形態では、それぞれが複数のシンボルから構成され、各々のシンボルが複数のビットから構成され、更にシンボル単位での誤り訂正が可能な誤り訂正符号である第１〜第ｍのブロック符号を記憶する複数のデータセルと、第１〜第ｎの参照セルと、第１〜第ｍのＥＣＣ回路を含む周辺回路とを具備する半導体記憶装置の動作方法が提供される。前記複数のデータセルと前記複数の参照セルのそれぞれは、相変化抵抗素子、金属酸化物抵抗素子、又は固体電解質抵抗素子のいずれかを含む。当該ＭＲＡＭの動作方法は、前記第１〜第ｍのブロック符号の各々の第ｉシンボルの読み出しに、前記第１〜第ｎの参照セルのうちの第ｉ参照セルを使用しながら前記第１〜第ｍのブロック符号のデータを読み出し、且つ、前記第１〜第ｍのブロック符号の各々について、それぞれ前記第１〜第ｍのＥＣＣ回路を用いて誤り検出を行うように構成され、且つ、前記周辺回路は、前記第１〜第ｍのＥＣＣ回路の各々が訂正可能な誤りを検出した場合に、前記第ｉ参照セルを用いて読み出されたｍ個の第ｉシンボルについて、１つの第ｉシンボルに誤りが検出された場合には、その誤りビットのデータセルのデータを訂正し、複数の第ｉシンボルに誤りが検出された場合には、前記第ｉ参照セルのデータを訂正する。【００９０】
前記第１〜第ｍのＥＣＣ回路のうちの第ｊのＥＣＣ回路は、入力データから前記誤り訂正符号に基づく第ｊの書き込みデータを符号化し、前記周辺回路は、前記第１〜第ｍのＥＣＣ回路の各々が訂正可能な誤りを検出した場合に、前記第ｉ参照セルを用いて読み出されたｍ個の第ｉシンボルについて、１つの第ｉシンボルに誤りが検出された場合には、第ｊのブロック符号のデータセルに前記第ｊの書き込みデータを書き込み、複数の第ｉシンボルに誤りが検出された場合には、第ｊのブロック符号のデータセルに前記書き込みデータを書き込み、且つ、前記第ｉ参照セルのデータを訂正することが好ましい。【００９１】
前記周辺回路は、前記第１〜第ｍのＥＣＣ回路の各々が訂正可能な誤りを検出した場合に、前記第ｉ参照セルを用いて読み出されたｍ個の第ｉシンボルについて、１つの第ｉシンボルに誤りが検出された場合、即ち、前記第１〜第ｍのブロック符号のうちの第ｋのブロック符号における第ｉシンボルのみに誤りシンボルが検出された場合、第ｋのブロック符号における第ｉシンボルの読み出しデータと、第ｋのＥＣＣ回路が出力する復号化データにおける第ｉシンボルとの各々のビットを比較し、異なるビット、即ち、誤りビットのデータセルを訂正する制御と、複数の第ｉシンボルに誤りが検出された場合、第ｉ参照セルのデータを訂正することを行うことが好ましい。【００９２】
前記第１〜第ｍのブロック符号のうちの第ｊのブロック符号のデータセルは、入力されたアドレスに対して選択されるデータセルであり、前記周辺回路は、前記第１〜第ｍのＥＣＣ回路の各々が訂正可能な誤りを検出した場合に、前記第ｉ参照セルを用いて読み出されたｍ個の第ｉシンボルについて、前記第ｊのブロック符号における第ｉシンボルのみに誤りシンボルが検出された場合、第ｊのブロック符号における第ｉシンボルの読み出しデータと、第ｊのＥＣＣ回路が出力する復号化データにおける第ｉシンボルとの各々のビットを比較し、異なるビット、即ち、誤りビットのデータセルを訂正する動作と、複数の第ｉシンボルに誤りが検出された場合、第ｉ参照セルのデータを訂正する動作とを行い、更に、第ｊのＥＣＣ回路が出力する復号化データを前記アドレスの読み出しデータとして外部へ出力することが好ましい。【００９３】
前記第１〜第ｍのＥＣＣ回路のうちの第ｊのＥＣＣ回路は、入力データから前記誤り訂正符号に基づく第ｊの書き込みデータを符号化し、前記周辺回路は、前記第１〜第ｍのＥＣＣ回路の各々が訂正可能な誤りを検出した場合に、前記第ｉ参照セルを用いて読み出されたｍ個の第ｉシンボルについて、前記第ｊのブロック符号における第ｉシンボルのみに誤りシンボルが検出された場合、第ｊのブロック符号における第ｉのシンボルの読み出しデータと、前記第ｊの書き込みデータにおける第ｉのシンボルのデータについて各々のビットを比較し、異なるビットのデータセルを訂正する動作と、複数の第ｉシンボルに誤りが検出された場合、第ｉ参照セルのデータを訂正する制御とを行うことが好ましい。【００９４】
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。例えば、本発明において採用される誤り訂正符号化方式は、リード・ソロモン符号に限定されると解釈されてはならない。リード・ソロモン符号の代わりに、１ブロックが複数のシンボルで構成されるバースト誤り訂正符号が使用されることが可能である。このような符号の例としては、ファイア符号が挙げられる。【００９５】
この出願は、２００７年４月１７日に出願された日本出願特願２００７−１０８５６９を基礎とする優先権を主張するものであり、その開示の全てをここに取り込む。
【図１】
2008133087.tif 000003
【図２】
2008133087.tif 000004
【図３】
2008133087.tif 000005
【図４Ａ】
2008133087.tif 000006
【図４Ｂ】
2008133087.tif 000007
【図５Ａ】
2008133087.tif 000008
【図５Ｂ】
2008133087.tif 000009
【図６】
2008133087.tif 000010
【図７】
2008133087.tif 000011
【図８】
2008133087.tif 000012
【図９】
2008133087.tif 000013
【図１０Ａ】
2008133087.tif 000014
【図１０Ｂ】
2008133087.tif 000015
【図１０Ｃ】
2008133087.tif 000016
【図１１】
2008133087.tif 000017
【図１２】
2008133087.tif 000018
【図１３】
2008133087.tif 000019
【図１４】
2008133087.tif 000020
【国際調査報告】
2008133087.tif 000021
2008133087.tif 000022