(57)【要約】【課題】バースト誤り訂正符号の符号構成をＰＲＡＭ、ＲｅＲＡＭ及び固体電解質メモリの入出力の数に適合させ、符号構成の効率を向上させる。【解決手段】本発明による半導体記憶装置は、複数のシンボルから構成され、各シンボルが複数のビットから構成され、更にシンボル単位での誤り訂正が可能な誤り訂正符号を誤り検出及び誤り訂正に使用する。当該半導体記憶装置は、相変化抵抗素子、金属酸化物抵抗素子、又は固体電解質抵抗素子のいずれかを含む複数のメモリセルと、周辺回路（３〜７）とを備えている。メモリセルは、データシンボルの一部のビットを記憶する第１データセル（１１）を含んでいる。周辺回路（３〜７）は、第１データセル（１１）から前記一部のビットを読み出し、前記一部のビットに所定のダミービットを付け加えることによってデータシンボルを再生し、再生されたデータシンボルを用いて誤り検出及び誤り訂正を行う。【選択図】図２
2008269671.tif 000002
【特許請求の範囲】
【請求項１】
複数のシンボルから構成され、各々のシンボルが複数のビットから構成され、更にシンボル単位での誤り訂正が可能な誤り訂正符号を誤り検出及び誤り訂正に使用する半導体記憶装置であって、
それぞれが、相変化抵抗素子、金属酸化物抵抗素子、又は固体電解質抵抗素子のいずれかを含む複数のメモリセルと、
周辺回路
とを具備し、
前記複数のメモリセルは、前記シンボルのうちのデータシンボルの一部のビットを記憶する第１データセルを含み、
前記周辺回路は、前記第１データセルから前記一部のビットを読み出し、前記一部のビットに所定のダミービットを付け加えることによって前記データシンボルを再生し、前記再生されたデータシンボルを用いて誤り検出及び誤り訂正を行う
半導体記憶装置。
【請求項２】
請求項１に記載の半導体記憶装置であって、
前記複数のメモリセルは、更に、
前記シンボルのうちのパリティシンボルの一部のビットを記憶する第２データセルと、
読み出し動作時に、前記第１データセルと同時に選択される第１参照セル及び第２参照セルとを含み、
前記第２参照セルは、前記パリティシンボルの残余ビットを記憶し、且つ、前記第１データセルと別のデータセルからのデータ読み出しに使用される参照信号を生成するために使用され、
前記第１参照セルは、前記第１データセル及び前記第２参照セルからのデータ読み出しに使用される参照信号を生成するために使用される
半導体記憶装置。
【請求項３】
請求項１に記載の半導体記憶装置であって、
前記第２参照セルは、互いに相補のデータを記憶する第１セルと第２セルから構成され、
前記所定のダミービットは、前記第１セルと前記第２セルに記憶される前記残余ビットが、互いに相補であるように決定されている
半導体記憶装置。
【請求項４】
請求項２に記載の半導体記憶装置であって、
前記周辺回路は、前記第１データセルから読み出された前記データシンボルと前記第２参照セルから読み出された前記残余ビットの両方にデータ誤りを検出したとき、前記第１参照セルに記憶されているデータを訂正する
半導体記憶装置。
【請求項５】
請求項４に記載の半導体記憶装置であって、
前記周辺回路は、前記第１データセルから読み出された前記データシンボルにデータ誤りを検出し、前記第２参照セルから読み出された前記残余ビットにデータ誤りを検出しなかったとき、前記第１データセルに記憶されているデータを訂正する
半導体記憶装置。
【請求項６】
請求項４に記載の半導体記憶装置であって、
前記周辺回路は、前記第２参照セルから読み出された前記残余ビットにデータ誤りを検出し、前記第１メモリセルから読み出された前記データシンボルにデータ誤りを検出しなかったとき、前記第２参照セルに記憶されている前記残余ビットを訂正する
半導体記憶装置。
【請求項７】
複数のシンボルから構成され、各々のシンボルが複数のビットから構成され、更にシンボル単位での誤り訂正が可能な誤り訂正符号を誤り検出及び誤り訂正に使用する半導体記憶装置であって、
それぞれが、相変化抵抗素子、金属酸化物抵抗素子、又は固体電解質抵抗素子のいずれかを含む複数のメモリセルと、
周辺回路
とを具備し、
前記メモリセルが、複数のデータセルを含み、
前記周辺回路は、前記書き込みデータに所定のダミービットを付け加えることによってデータシンボルを生成し、前記生成されたデータシンボルを用いてパリティシンボルを算出し、前記データシンボルのうち前記書き込みデータに対応するビットのみを前記複数のデータセルのうちの第１データセルに書き込む
半導体記憶装置。
【請求項８】
請求項７に記載の半導体記憶装置であって、
更に、
読み出し動作時に、前記第１データセルと同時に選択される第１参照セル及び第２参照セルとを具備し、
前記周辺回路は、前記パリティシンボルの一部のビットを前記複数のデータセルのうちの第２データセルに書き込み、且つ、前記パリティシンボルの残余ビットを前記第２参照セルに書き込み、
前記第１参照セルは、前記第１データセル及び前記第２参照セルからのデータ読み出しに使用される参照信号を生成するために使用される
半導体記憶装置。
【請求項９】
請求項８に記載の半導体記憶装置であって、
前記第２参照セルは、互いに相補のデータを記憶する第１セルと第２セルから構成され、
前記所定のダミービットは、前記第１セルと前記第２セルに記憶される前記残余ビットが、互いに相補であるように決定されている
半導体記憶装置。
【請求項１０】
複数のシンボルから構成され、各々のシンボルが複数のビットから構成され、更にシンボル単位での誤り訂正が可能な誤り訂正符号を誤り検出及び誤り訂正に使用する半導体記憶装置であって、
それぞれが、相変化抵抗素子、金属酸化物抵抗素子、又は固体電解質抵抗素子のいずれかを含む複数のメモリセルを具備し、
前記複数のメモリセルは、
前記複数のシンボルのうちのデータシンボルのビットを記憶するために使用される第１データセルと、
前記複数のシンボルのうちのパリティシンボルの一部のビットを記憶するために使用される第２データセルと、
前記第１データセルのデータ読み出しに使用される参照信号を生成するために使用される第１参照セルと、
前記第１データセルとは別のデータセルのデータ読み出しに使用される参照信号を生成するために使用される第２参照セル
とを含み、
前記第２参照セルは、前記パリティシンボルの残余ビットを記憶するために使用される
半導体記憶装置。
【請求項１１】
請求項１０に記載の半導体記憶装置であって、
前記第１参照セルは、前記第２参照セルからのデータ読み出しに使用される参照信号を生成するために使用される
半導体記憶装置。
【請求項１２】
請求項１０に記載の半導体記憶装置であって、
更に、
周辺回路を具備し、
前記第１データセルには、前記データシンボルのうちの一部のビットのみが記憶され、
前記周辺回路は、前記第１データセルから前記一部のビットを読み出し、前記一部のビットに所定のダミービットを付け加えることによって前記データシンボルを再生し、且つ、前記第２データセル及び前記第２参照セルから前記パリティシンボルを読み出し、前記再生されたデータシンボルと前記読み出されたパリティシンボルを用いて誤り検出及び誤り訂正を行う
半導体記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、相変化ランダムアクセスメモリ（ＰＲＡＭ）、抵抗変化ランダムアクセスメモリ（ＲｅＲＡＭ）、及び固体電解質メモリのような不揮発性の半導体記憶装置に関しており、特に、参照セルを用いてデータ読み出しを行う場合における、データの誤り訂正技術に関する。
【背景技術】
【０００２】
近年、１ビットの情報を記憶素子の抵抗を変化させて記憶する新しい不揮発性半導体記憶装置の研究開発が活発に行われている。例えば、カルコゲナイト合金等で形成された相変化抵抗素子を記憶素子として用いるＰＲＡＭ（Phase change RAM）は、そのような不揮発性半導体記憶装置の一つの例である。ＰＲＡＭは、相変化抵抗素子の抵抗値が、加熱方法によって（あるいは加熱後の冷却方法によって）変化するという性質を利用している。相変化抵抗素子の加熱は、最も典型的には、相変化抵抗素子に電流を流すことによってジュール熱を発生させることによって行われる。他の例は、ペロブスカイト酸化物などで形成された金属酸化物抵抗素子を記憶素子として用いるＲｅＲＡＭ（Resistive RAM）である。ＲｅＲＡＭは、ペロブスカイト酸化物などで形成された金属酸化物抵抗素子の抵抗値が、金属酸化物抵抗素子への印加電圧、又は印加電流によって変化するという性質を利用している。更に、硫化銅のような固体電解質で形成された固体電解質抵抗素子を記憶素子として用いる固体電解質メモリについても、研究開発が進められている。固体電解質抵抗素子は、固体電解質の中における原子の移動を利用した素子であり、固体電解質抵抗素子の抵抗値は、印加電圧の極性によって変化する。固体電解質メモリは、このような固体電解質抵抗素子の性質を利用している。
【０００３】
これらの記憶素子に蓄えられた記憶データのリード動作は、その抵抗値を検出することで行われる点で共通している。抵抗値の検出の最も典型的な方法の一つは、予め規定のデータがプログラムされた参照セルをメモリセルに設け、選択状態のメモリセルから得られる信号（典型的には電流信号）と、参照セルから得られる信号とを比較する方法である。例えば、データ「０」がプログラムされている参照セルと、データ「１」がプログラムされている参照セルとが用意され、これらの参照セルに流れる電流の平均電流値と、メモリセルに流れる電流の電流値とを比較してリード動作が実行される。
【０００４】
他の多くのメモリデバイスと同様に、上述のＰＲＡＭ、ＲｅＲＡＭ及び固体電解質メモリも、メモリセルのデータエラーに遭遇することが不可避であると考えられる。ＰＲＡＭの場合、加熱方法の違いによってデータ書き込みを行うため、その動作環境、特に、環境温度の影響を受けやすい。例えば、室温で最適化されているＰＲＡＭを１００℃程度の環境下で動作させると、室温で正常に動作したメモリセルが、不良動作することが考えられる。更に、ライト動作とリード動作とで同じ電流経路が使用されるため、リード動作によって記憶データが書き換えられる可能性も否定できない。一方、ＲｅＲＡＭ及び固体電解質メモリの場合、書き込みデータに応じてライト動作を変更する必要がある等、ライト動作の制御が複雑であり、電源電圧の変動等でライト動作が正常に実行されないことがある。また、ＰＲＡＭと同様に、ライト動作とリード動作とで同じ電流経路が使用されるため、リード動作によって記憶データが書き換えられる可能性もある。以上に説明されているように、ＰＲＡＭ、ＲｅＲＡＭ及び固体電解質メモリでは、特にライト動作とリード動作とで同じ電流経路が使用されることを原因とするソフトエラーは避け難く、不所望な記憶データの反転が低確率で発生することは避け難い。
【０００５】
このようなデータエラーに対処するためには、他の多くのメモリデバイスと同様に、誤り訂正符号を利用したＥＣＣ（Error check and correction）技術により、ソフトエラーを救済することが望ましい。ＥＣＣが採用されているメモリデバイスでは、データ書き込みの際に書き込みデータに対して誤り訂正符号化が行われ、誤り訂正符号化されたデータがメモリアレイに書き込まれる。データ読み出しの際には、メモリアレイから読み出されたデータからシンドロームが計算され、データ誤りが発見された場合には、その誤りが訂正されたデータが外部に出力される。このとき、メモリアレイに記憶されているデータも同時に訂正される。
【０００６】
１つの有用な誤り訂正符号は、１つのブロックが複数のシンボルで構成され、各々のシンボルが複数のビットから構成され、更にシンボル単位での誤り訂正が可能なバースト誤り訂正符号である。リード・ソロモン符号、及び、ファイア符号は、このようなバースト誤り訂正符号の一種である。ＰＲＡＭ、ＲｅＲＡＭ及び固体電解質メモリにおけるバースト誤り訂正符号の有用性は、参照セルにデータエラーが発生したときに誤り訂正を可能にする点である。参照セルにデータエラーが発生したときには、多くの場合、読み出しデータにバースト誤りが発生する。バースト誤り訂正符号を採用すれば、参照セルにデータエラーが発生した場合でも、読み出しデータを正しく訂正できる可能性が高くなる。
【０００７】
バースト誤り訂正符号をメモリアレイの誤り訂正のために使用する上での１つの問題は、符号構成が、ＰＲＡＭ、ＲｅＲＡＭ及び固体電解質メモリの入出力の数に適合しないことがあることである。一般的には、ＰＲＡＭ、ＲｅＲＡＭ及び固体電解質メモリは、外部入出力ピンの数が２ｎ個であることが好適である。例えば、典型的なＰＲＡＭの外部インターフェースは、ＤＱ０〜ＤＱ１５の１６（＝２４）個の入出力ピンを備えている。しかし、公知のバースト誤り訂正符号化手法では、その符号構成が、外部入出力ピンの数が２ｎ個であるＰＲＡＭ、ＲｅＲＡＭ及び固体電解質メモリに適していないという事態が発生し得る。以下、リード・ソロモン符号を例にとって説明する。
【０００８】
公知のリード・ソロモン符号化では、１つのブロックは、データシンボルとパリティシンボルとで構成される。データシンボルとは、実際に使用されるデータを含むシンボルであり、パリティシンボルとは、誤り検出及び誤り訂正に使用されるシンボルである。１つのシンボルがＭビットで構成されている場合、１つのブロックに含まれるデータシンボルの許容最大数は、２Ｍ−１個である。例えば、１つのシンボルが４ビットで構成される場合には、１つのブロックを最大で１５個のデータシンボルを含むように構成することができる。一つのブロックに含まれるシンボルの総数がＪであり、そのうちのデータシンボルの数がＫであるリード・ソロモン符号は、（Ｊ，Ｋ）リード・ソロモン符号と呼ばれる。
【０００９】
１つのブロックに含まれるパリティシンボルの数は、誤り訂正能力に影響する。リード・ソロモン符号では、一ブロックに含まれるシンボルのうちのｔ個のシンボルの誤り訂正を可能にするためには、一つのブロックが２ｔ個のパリティシンボルを含む必要がある。
【００１０】
１つのブロックに含まれるデータシンボルの最大数が、２Ｍから１だけ少ないことはＰＲＡＭ、ＲｅＲＡＭ及び固体電解質メモリの設計の上で重大である。ＰＲＡＭ、ＲｅＲＡＭ及び固体電解質メモリのアーキテクチャを簡便にするためには、１つのブロックの各データシンボルを、各入出力ピンに割り当てることが好適である。しかし、外部入出力ピンの数を２ｎ個にするためには、１つのシンボルに含まれるビット数を無駄に増やさなくてはならない。即ち、リード・ソロモン符号では、１つのシンボルがｎビットで構成されている場合のデータシンボルの最大数が２ｎからたった１だけ少ないために、２ｎ個の入出力ピンを１つのブロックの２ｎ個のデータシンボルにそれぞれに割り当てるためには、１つのシンボルを（ｎ＋１）ビットで構成する必要がある。これは、符号構成の効率性を低下させるため好ましくない。
【００１１】
このことは、とりわけ、１６個の入出力ピンを備えるＰＲＡＭ、ＲｅＲＡＭ及び固体電解質メモリを実現するために重大である。１つのシンボルに含まれるビット数が２の累乗で表される数であることは、ＰＲＡＭ、ＲｅＲＡＭ及び固体電解質メモリのアドレス割付を容易にすることは明らかである。例えば、１つのシンボルに含まれるビット数が４であることは、アドレス割付を容易にするため好適である。しかし、問題は、１つのシンボルが４ビットで構成される場合には、１つのブロックに含まれるデータシンボルの最大数が１５個であることである。１つのシンボルを４ビットで構成すると、１６個の入出力ピンを備えるＰＲＡＭ、ＲｅＲＡＭ及び固体電解質メモリを実現するためにはデータシンボルの数が１つだけ不足してしまう。したがって、一般的なリード・ソロモン符号化手法では、１６個の入出力ピンを備えるＰＲＡＭ、ＲｅＲＡＭ及び固体電解質メモリを実現するためには、１つのシンボルを５ビットで構成する必要がある。これは、符号構成の効率を低下させる上、アドレス割付を複雑にするため好ましくない。
【００１２】
このような背景から、誤り訂正符号の符号構成を、ＰＲＡＭ、ＲｅＲＡＭ及び固体電解質メモリの入出力の数に適合させるための技術を提供することが望まれている。特に、１つのシンボルが実質的に４ビットで構成されていながら、１６個の入出力ピンを備えるＰＲＡＭ、ＲｅＲＡＭ及び固体電解質メモリを実現するための技術を提供することが望まれている。
【発明の開示】
【発明が解決しようとする課題】
【００１３】
本発明の目的は、バースト誤り訂正符号の符号構成をＰＲＡＭ、ＲｅＲＡＭ及び固体電解質メモリの入出力の数に適合させ、これにより、符号構成の効率を向上させるための技術を提供することにある。
【課題を解決するための手段】
【００１４】
上記の目的を達成するために、本発明は、以下に述べられる手段を採用する。その手段を構成する技術的事項の記述には、［特許請求の範囲］の記載と［発明を実施するための最良の形態］の記載との対応関係を明らかにするために、［発明を実施するための最良の形態］で使用される番号・符号が付加されている。但し、付加された番号・符号は、［特許請求の範囲］に記載されている発明の技術的範囲を限定的に解釈するために用いてはならない。
【００１５】
一の観点において、本発明による半導体記憶装置は、複数のシンボルから構成され、各々のシンボルが複数のビットから構成され、更にシンボル単位での誤り訂正が可能な誤り訂正符号を誤り検出及び誤り訂正に使用する半導体記憶装置である。当該半導体記憶装置は、それぞれが、相変化抵抗素子、金属酸化物抵抗素子、又は固体電解質抵抗素子のいずれかを含む複数のメモリセルと、周辺回路（３〜７）とを備えている。複数のメモリセルは、前記シンボルのうちのデータシンボルの一部のビットを記憶する第１データセル（１１）を含んでいる。周辺回路（３〜７）は、第１データセル（１１）から前記一部のビットを読み出し、前記一部のビットに所定のダミービットを付け加えることによって前記データシンボルを再生し、前記再生されたデータシンボルを用いて誤り検出及び誤り訂正を行う。
【００１６】
一実施形態では、当該半導体記憶装置のメモリセルは、更に、前記シンボルのうちのパリティシンボルの一部のビットを記憶する第２データセル（１１）と、読み出し動作時に、前記第１データセル（１１）と同時に選択される第１参照セル（１２Ａ）及び第２参照セル（１２Ｂ）とを含む。この場合、前記第２参照セル（１２Ｂ）は、前記パリティシンボルの残余ビットを記憶し、且つ、前記第１データセル（１１）と別のデータセルからのデータ読み出しに使用される参照信号を生成するために使用され、前記第１参照セル（１２Ａ）は、前記第１データセル（１１）及び前記第２参照セル（１２Ｂ）からのデータ読み出しに使用される参照信号を生成するために使用されることが好ましい。
【００１７】
一実施形態では、前記第２参照セルは、互いに相補のデータを記憶する第１セルと第２セルから構成される。この場合、前記所定のダミービットは、前記第１メモリセルと前記第２メモリセルに記憶される前記残余ビットが、互いに相補であるように決定されていることが好ましい。
【００１８】
好適には、周辺回路（３〜７）は、前記第１データセルから読み出された前記データシンボルと前記第２参照セル（１２Ｂ）から読み出された前記残余ビットの両方にデータ誤りを検出したとき、前記第１参照セル（１２Ａ）に記憶されているデータを訂正する。この場合、周辺回路（３〜７）は、前記第１データセルから読み出された前記データシンボルにデータ誤りを検出し、前記第２参照セルから読み出された前記残余ビットにデータ誤りを検出しなかったとき、前記第１データセル（１１）に記憶されているデータを訂正することが好ましい。また、周辺回路（３〜７）は、前記第２参照セルから読み出された前記残余ビットにデータ誤りを検出し、前記第１メモリセルから読み出された前記データシンボルにデータ誤りを検出しなかったとき、前記第２参照セルに記憶されている前記残余ビットを訂正することが好ましい。
【００１９】
他の観点では、本発明による半導体記憶装置は、それぞれが、相変化抵抗素子、金属酸化物抵抗素子、又は固体電解質抵抗素子のいずれかを含む複数のメモリセルと、周辺回路（３−７）とを具備する。複数のメモリセルは、複数のデータセル（１１）を含んでいる。周辺回路（３−７）は、複数のデータセル（１１）と、前記書き込みデータに所定のダミービットを付け加えることによってデータシンボルを生成し、前記生成されたデータシンボルを用いてパリティシンボルを算出し、前記データシンボルのうち前記書き込みデータに対応するビットのみを前記複数のデータセル（１１）のうちの第１データセル（１１）に書き込む。
【００２０】
一実施形態では、当該半導体記憶装置のメモリセルは、更に、読み出し動作時に、前記第１データセル（１１）と同時に選択される第１参照セル（１２Ａ）及び第２参照セル（１２Ｂ）とを含んでいる。この場合、周辺回路（３〜７）は、前記パリティシンボルの一部のビットを前記複数のデータセル（１１）のうちの第２データセルに書き込み、且つ、前記パリティシンボルの残余ビットを前記第２参照セル（１２Ｂ）に書き込み、前記第１参照セル（１２Ａ）は、前記第１データセル（１１）及び前記第２参照セル（１２Ｂ）からのデータ読み出しに使用される参照信号を生成するために使用される。
【００２１】
前記第２参照セル（１２Ｂ）が、互いに相補のデータを記憶する第１セルと第２セルから構成される場合、前記所定のダミービットは、前記第１セルと前記第２セルに記憶される前記残余ビットが、互いに相補であるように決定されていることが好ましい。
【００２２】
更に他の観点において、本発明による半導体記憶装置は、それぞれが、相変化抵抗素子、金属酸化物抵抗素子、又は固体電解質抵抗素子のいずれかを含む複数のメモリセルを具備する。前記複数のメモリセルは、前記複数のシンボルのうちのデータシンボルのビットを記憶するために使用される第１データセル（１１）と、前記複数のシンボルのうちのパリティシンボルの一部のビットを記憶するために使用される第２データセル（１１）と、前記第１データセル（１１）のデータ読み出しに使用される参照信号を生成するために使用される第１参照セル（１２Ａ）と、前記第１データセル（１１）とは別のデータセルのデータ読み出しに使用される参照信号を生成するために使用される第２参照セル（１２Ａ）とを含んでいる。第２参照セル（１２Ａ）は、前記パリティシンボルの残余ビットを記憶するために使用される。
【００２３】
好適には、前記第１参照セル（１２Ａ）は、第１データセル（１１）のみではなく、前記第２参照セルからのデータ読み出しに使用される参照信号を生成するために使用される。
【００２４】
第１データセル（１１）には、前記データシンボルのうちの一部のビットのみが記憶されることが好適である。この場合、半導体記憶装置の周辺回路（３−７）は、前記一部のビットに所定のダミービットを付け加えることによって前記データシンボルを再生し、且つ、前記第２データセル（１１）及び前記第２参照セル（１２Ｂ）から前記パリティシンボルを読み出し、前記再生されたデータシンボルと前記読み出されたパリティシンボルを用いて誤り検出及び誤り訂正を行うことが好ましい。
【発明の効果】
【００２５】
本発明によれば、バースト誤り訂正符号の符号構成を半導体記憶装置の入出力の数に適合させ、これにより、符号構成の効率を向上させることができる。
【発明を実施するための最良の形態】
【００２６】
本実施形態の半導体記憶装置は、それぞれが、相変化抵抗素子、金属酸化物抵抗素子、又は固体電解質抵抗素子のいずれかを含む複数のメモリセルを具備する不揮発性のメモリデバイスである。メモリセルとして相変化抵抗素子が使用される場合は、本実施形態の半導体記憶装置はＰＲＡＭとして機能し、メモリセルとして金属酸化物抵抗素子が使用される場合は、本実施形態の半導体記憶装置はＲｅＲＡＭとして機能する。また、メモリセルとして固体電解質抵抗素子が使用される場合は、本実施形態の半導体記憶装置は固体電解質メモリとして機能する。
【００２７】
本実施形態の半導体記憶装置では、メモリアレイに記憶されるデータが、（１８、１６）リード・ソロモン符号を用いて符号化される。即ち、本実施形態では、１つのブロックに含まれるデータシンボルの数は１６、パリティシンボルの数は２である。これは、１つのブロックに含まれる１８のシンボルのうちの１つのシンボルの誤り訂正が可能であることを意味している。
【００２８】
既述のとおり、データシンボルの数を１６にするためには、公知のリード・ソロモン符号化手法では、１つのシンボルに含まれるビット数は５でなくてはならない。しかし、本実施形態では、下記のような符号構成を採用することにより、誤り訂正符号の符号構成と半導体記憶装置の入出力の数の不適合性を解消している：
（１）各データシンボル、パリティシンボルを構成する５ビットのうちの４ビットは、メモリアレイのデータセルに記憶される。
（２）各データシンボルの残りの１ビットとしては所定値が使用され、データセルには記憶されない。
（３）各パリティシンボルの残りの１ビットは、参照セルに記憶される。
【００２９】
これにより、１つのデータシンボルに含まれるビット数を実質的には４にしながら、１６個の入出力を有するＰＲＡＭ、ＲｅＲＡＭ、及び固体電解質メモリを実現することができる。また、データシンボルは合計６４ビット、パリティシンボルは合計１０ビットであるから、６４個の入出力を有するＰＲＡＭ、ＲｅＲＡＭ、及び固体電解質メモリを実現することも可能である。以下、本実施形態の半導体記憶装置を詳細に説明する。なお、以下の実施形態においては、便宜上、相変化抵抗素子をメモリセルとして使用するＰＲＡＭを例にとって説明する。しかし、金属酸化物抵抗素子をメモリセルとして使用するＲｅＲＡＭ、及び固体電解質抵抗素子をメモリセルとして使用する固体電解質メモリも、以下の実施形態と同様の動作方法、及び回路構成をとることが可能である。
【００３０】
図１は、本発明の一実施形態に係るＰＲＡＭ１０の構成を示すブロック図である。ＰＲＡＭ１０は、磁気抵抗素子で構成されたメモリセルが行列に配置されたメモリアレイを複数備えている。
【００３１】
ＰＲＡＭ１０のメモリアレイには、データアレイ１＿０〜１＿１５とパリティアレイ２＿０、２＿１の２種類がある。以下において、相互に区別しない場合には、データアレイ１＿０〜１＿１５を総称してデータアレイ１と記載し、パリティアレイ２＿０、２＿１をパリティアレイ２と記載する。データアレイ１は、データシンボルを記憶するために使用され、パリティアレイ２は、パリティシンボルを記憶するために使用される。データアレイ１＿０〜１＿１５は、それぞれＰＲＡＭ１０のデータ入出力ＤＱ０〜ＤＱ１５に対応付けられている。データ書き込み時には、データ入出力ＤＱ０〜ＤＱ１５に入力された書き込みデータからデータシンボルが構成されてデータアレイ１＿０〜１＿１５に保存される一方、そのデータシンボルからパリティシンボルが生成されてパリティアレイ２＿０、２＿１に保存される。
【００３２】
データアレイ１及びパリティアレイ２へのアクセスは、周辺回路、具体的には、ロウデコーダ３と、カラムデコーダ４と、書き込み回路５と、センスアンプ回路６と、コントローラ７とを用いて行われる。ロウデコーダ３及びカラムデコーダ４は、アクセスされるメモリセルを選択するために使用される。書き込み回路５は、選択されたメモリセルに対するデータ書き込みに使用される書き込み電流を生成する。センスアンプ回路６は、メモリセルに記憶されているデータを識別するために使用される。コントローラ７は、ロウデコーダ３と、カラムデコーダ４と、書き込み回路５と、センスアンプ回路６とを制御する機能を有している。コントローラ７は、更に、誤り訂正のための様々な演算、例えば、リード・ソロモン符号化や誤り検出を行う機能を有している。
【００３３】
図２は、本実施の形態のデータアレイ１＿０及びデータアレイ１＿０に対応して設けられたセンスアンプ回路６の構成の詳細を示すブロック図である。データアレイ１＿０に配置されているメモリセルには、データセル１１と参照セル１２の２種類がある。図３に示されているように、データセル１１と参照セル１２は、ワード線１３とビット線１４とが交差する位置に配置されている。ワード線１３は、Ｘアドレスに応じて選択され、ビット線１４はＹアドレスに応じて選択される。
【００３４】
図２に戻り、データアレイ１＿０は、２つのエリア１５Ａ、１５Ｂに区分されている。エリア１５Ａは、偶数のＹアドレスのデータを記憶するために使用される領域であり、エリア１５Ｂは、奇数のＹアドレスのデータを記憶するために使用される領域である。一のＸアドレスによって１つのメモリセルの行が指定されるのに対し、一のＹアドレスでは、４つのデータセル１１の列が指定される。即ち、一組のＸアドレスとＹアドレスを指定すると、同一の行に位置する４つのデータセル１１が選択される。後述されるように、この４つのデータセル１１は、一つのデータシンボルを記憶するために使用される。
【００３５】
本実施形態の説明では、１６個のデータ入出力構成の場合、データセル１１の列を区別するためにＹアドレスのさらに下位のｙアドレスを使用することがある。図２において、一組のＸアドレスとＹアドレス
例えば、各データアレイ１及び各パリティアレイ２のＹアドレス”０”のデータＱ０〜Ｑ３は、それぞれ、ｙアドレス”０”〜”３”に対応しており、Ｙアドレス”１”のデータＱ４〜Ｑ７は、それぞれ、ｙアドレス”０”〜”３”に対応している。更に、Ｙアドレス”２”のデータＱ８〜Ｑ１１は、ｙアドレス”０”〜”３”に対応しており、Ｙアドレス”３”のデータＱ１２〜Ｑ１５は、ｙアドレス”０”〜”３”に対応している。
【００３６】
一方、６４個のデータ入出力構成の場合、下位のｙアドレスは存在せず、データアレイ１＿０〜１＿１５のデータＱ０〜Ｑ３が１サイクルで６４ビットのデータとして入出力され、同様に、データアレイ１＿０〜１＿１５のデータＱ４〜Ｑ７も１サイクルで６４ビットのデータとして入出力される。
【００３７】
エリア１５Ａ、１５Ｂのそれぞれに、参照セル１２の列が２つずつ設けられている。エリア１５Ａに設けられている参照セルは、以下、参照セル１２Ａと呼ばれ、エリア１５Ｂに設けられている参照セル１２は、参照セル１２Ｂと呼ばれる。同一のメモリセルの行に位置する（即ち、同一のワード線１３に接続されている）２つの参照セル１２Ａには、互いに相補のデータが書き込まれている。エリア１５Ａに位置するデータセル１１からのデータ読み出しの際には、当該データセル１１と同一の行に位置する２つの参照セル１２Ａに電流が流され、それらの電流から参照信号が発生される。この参照信号は、データ”１”に対応する信号レベルと、データ”０”に対応する信号レベルの中間に対応する信号レベルを有するように発生される。その参照信号と、データセル１１に電流が流されることによって発生するデータ信号とを比較することにより、当該データセル１１のデータが判別される。
【００３８】
同一のメモリセルの行に位置する２つの参照セル１２Ａには、互いに相補のデータが記憶されていればよく、２つの参照セル１２Ａのいずれにデータ”１”、”０”が記録されていても良いことに留意されたい。２つの参照セル１２Ａの特性の違いが充分に小さければ、２つの参照セル１２Ａのいずれにデータ”１”、”０”が記録されていても、データ読み出しに影響はない。即ち、２つの参照セル１２Ａは、それぞれデータ”１”、”０”を記憶する状態と、データ”０”、”１”を記憶する状態の何れの状態をとることも許容される。
【００３９】
同様に、同一のメモリセルの行に位置する（即ち、同一のワード線１３に接続されている）２つの参照セル１２Ｂには、互いに相補のデータが書き込まれている。エリア１５Ｂに位置するデータセル１１からのデータ読み出しの際には、該データセル１１と同一の行に位置する２つの参照セル１２Ｂが使用される。
【００４０】
センスアンプ回路６は、２つの４ビット・センスアンプ１６Ａ、１６Ｂと、２つの２ビット・センスアンプ１７Ａ、１７Ｂとを備えている。４ビット・センスアンプ１６Ａは、エリア１５Ａに位置するデータセル１１に記憶されているデータの識別に使用される。詳細には、４ビット・センスアンプ１６Ａは、エリア１５Ａに位置する参照セル１２Ａから受け取った信号から参照信号を生成し、その参照信号を用いてエリア１５Ａに位置するデータセル１１に記憶されているデータを識別する。同様に、４ビット・センスアンプ１６Ｂは、エリア１５Ｂに位置するデータセル１１に記憶されているデータの識別に使用される。
【００４１】
一方、２ビット・センスアンプ１７Ａ、１７Ｂは、参照セル１２Ａ、１２Ｂに記憶されているデータの識別に使用される。後述されるように、一般的なＰＲＡＭとは異なり、参照セル１２Ａ、１２Ｂは、単に参照信号の生成に使用されるわけではない；参照セル１２Ａ、１２Ｂは、参照信号の生成と共に、パリティシンボルの一部のビットの記憶に使用される。２ビット・センスアンプ１７Ａは、エリア１５Ｂに位置する参照セル１２Ｂから受け取った信号から参照信号を生成し、その参照信号を用いてエリア１５Ａに位置する参照セル１２Ａのデータを識別する。同様に、２ビット・センスアンプ１７Ｂは、エリア１５Ａに位置する参照セル１２Ａから受け取った信号から参照信号を生成し、その参照信号を用いてエリア１５Ｂに位置する参照セル１２Ｂのデータを識別する。
【００４２】
一実施形態では、他のデータアレイ１＿１〜１＿１５及びパリティアレイ２＿０、２＿１、並びに、それらに対応して設けられたセンスアンプ回路６も、図２に示されている構成を有する。ただし、他のデータアレイ１＿１〜１＿１５及びパリティアレイ２＿０、２＿１は、図４に示されているように、行列に配置されたデータセル１１と、２列に配置された参照セル１２とで構成されることも可能である。この場合、センスアンプ回路６は、４ビット・センスアンプで構成される。データアレイ１＿０と同様に、一のＸアドレスによってメモリセルの行が選択され、一のＹアドレスによってメモリセルの列が４つ選択される。即ち、一組のＸアドレスとＹアドレスを指定すると、同一の行に位置する４つのデータセル１１と、２つの参照セル１２が選択される。４ビット・センスアンプは、選択されたメモリセルの行に位置する２つの参照セル１２から供給される信号を用いて参照信号を生成し、その参照信号を用いてデータセル１１のデータを識別する。
【００４３】
続いて、本実施形態におけるデータ割付を説明する。本実施形態では、一組のＸアドレスとＹアドレスが一つのブロックに対応している。即ち、アクセス時にＸアドレス、Ｙアドレスが指定されると、そのＸアドレス、Ｙアドレスに対応する一つのブロックに対するアクセスが行われる。
【００４４】
図５Ａ、図５Ｂは、本実施形態におけるバースト誤り訂正符号の符号構成を示す概念図である。図５Ａは、偶数Ｙアドレスに対応するブロックの符号構成を、Ｙアドレス”０”を例として図示しており、図５Ｂは、奇数Ｙアドレスに対応するブロックの符号構成を、Ｙアドレス”１”を例として図示している。
【００４５】
図５Ａ、図５Ｂに示されているように、各ブロックは、１６個のデータシンボルと、２つのパリティシンボルで構成される。１６個のデータシンボルは、それぞれ、ＰＲＡＭ１０の入出力ＤＱ０〜ＤＱ１５に、即ち、それぞれデータアレイ１＿０〜１＿１５に対応付けられている。以下では、入出力ＤＱ０〜ＤＱ１５に対応付けられているデータシンボルを、それぞれ、データシンボルＤＱ０〜ＤＱ１５と記載することがある。更に、２つのパリティシンボルは、それぞれ、パリティアレイ２＿０、２＿１に対応付けられている。以下では、パリティアレイ２＿０、２＿１に対応付けられたパリティシンボルを、それぞれ、パリティシンボルＰ０、Ｐ１と記載することがある。
【００４６】
データアレイ１＿０〜１＿１５は、それぞれ、データシンボルＤＱ０〜ＤＱ１５を記憶するために使用される。ただし、データシンボルＤＱ０〜ＤＱ１５の全ビットがデータアレイ１＿０〜１＿１５に記憶されるのではない。データシンボルＤＱ０〜ＤＱ１５のそれぞれを構成する５ビットのうちの上位４ビットは、それぞれデータアレイ１＿０〜１＿１５に記憶される。残りの下位１ビットは、所定値に固定され、実際にはデータアレイ１＿０〜１＿１５には記憶されない。実際にデータアレイ１＿０〜１＿１５には記憶されないデータシンボルＤＱ０〜ＤＱ１５のビットを、以下では、ダミービットと呼ぶこととする。
【００４７】
同様に、パリティアレイ２＿０、２＿１は、それぞれ、パリティシンボルＰ０、Ｐ１を記憶するために使用される。ただし、パリティシンボルＰ０、Ｐ１の全ビットが、パリティアレイ２＿０、２＿１に記憶されるのではない。パリティシンボルＰ０、Ｐ１を構成する５ビットのうちの４ビットは、それぞれ、パリティアレイ２＿０、２＿１に記憶される。残りの１ビットは、データアレイ１＿０の参照セル１２Ａ、１２Ｂに記憶される；パリティアレイ２＿０、２＿１に記憶されない残りの１ビットを、以下では、残余ビットと記載することとする。より詳細には、あるＸアドレスのある偶数Ｙアドレスに対応するブロックのパリティシンボルＰ０、Ｐ１の残余ビットは、データアレイ１＿０の該Ｘアドレスに対応するメモリセルの行に位置する参照セル１２Ｂに記憶される。図２及び図５Ａでは、参照セル１２Ｂに記憶されている残余ビットがＱｒｅｆ０として参照されている。一方、あるＸアドレスの奇数ＹアドレスブロックのパリティシンボルＰ０、Ｐ１の残余ビットは、データアレイ１＿０の該Ｘアドレスに対応するメモリセルの行に位置する参照セル１２Ａに記憶される。図２及び図５Ｂでは、参照セル１２Ａに記憶されている残余ビットは、Ｑｒｅｆ１として参照されている。
【００４８】
上述されているように、同一のＸアドレスに対応する２つの参照セル１２Ａは、その一方がデータ”１”を他方がデータ”０”でなくてはならず、同一のＸアドレスに対応する２つの参照セル１２Ｂも、同様である。したがって、実質的には、２つの参照セル１２Ａ（又は２つの参照セル１２Ｂ）で１ビットのデータしか記憶できない。これでは、２つのパリティシンボルＰ０、Ｐ１それぞれの残余ビットを記憶することはできないと考えられるかもしれない。
【００４９】
しかし、このような問題は、データシンボルＤＱ０〜ＤＱ１５のダミービットを適切に決定することによって回避できる。具体的には、データシンボルＤＱ０〜ＤＱ１５のダミービットのうちの奇数個を”１”に設定することにより、２つのパリティシンボルＰ０、Ｐ１の残余ビットを、それぞれ、”１”、”０”の組み合わせ、又は、”０”、”１”の組み合わせのいずれかに制限することができる。なぜなら、データシンボルＤＱ０〜ＤＱ１５の値をそれぞれＤ０〜Ｄ１５とし、パリティシンボルＰ０、Ｐ１の値をそれぞれＰ０、Ｐ１としたとき、リード・ソロモン符号では、下記の式が成立するからである：
Ｄ０＋Ｄ１＋Ｄ２＋・・・＋Ｄ１５＋Ｐ０＋Ｐ１＝０．
ここで、Ｄ０〜Ｄ１５、及びＰ０、Ｐ１は、ガロア体ＧＦ（２５）の元であり、加算は、ガロア体ＧＦ（２５）上の演算として定義されることに留意されたい。上記の式は、データシンボルＤＱ０〜ＤＱ１５の最下位ビットのうちの奇数個が１であれば、パリティシンボルＰ０、Ｐ１の一方が”０”、他方が”１”でなければならないことを意味している。これは、一方がデータ”１”、他方がデータ”０”を記憶する２つの参照セル１２Ａ（又は２つの参照セル１２Ｂ）で２つのパリティシンボルＰ０、Ｐ１の残余ビットを記憶できることを意味している。
【００５０】
以下では、図９Ａ、９Ｂに図示されている符号構成に対応したリード動作、及び、ライト動作を説明する。
【００５１】
（リード動作）
図１０を参照して、リード動作では、まず、選択されたＸアドレス、Ｙアドレスに対応するブロックのデータシンボル及びパリティシンボルのデータがパリティアレイ２＿０、２＿１から読み出される（ステップＳ０１）。
【００５２】
より具体的には、リード動作が開始されると、データアレイ１＿０〜１＿１５、パリティアレイ２＿０、２＿１のそれぞれにおいて、選択されたＸアドレス、Ｙアドレスの組によって選択される４つのデータセル１１から４ビットのデータが読み出される。詳細には、Ｙアドレスが偶数Ｙアドレスである場合には、エリア１５Ａに位置する参照セル１２Ａを用いて生成された参照信号を用いてエリア１５Ａに位置するデータセル１１からデータが読み出され、奇数Ｙアドレスである場合には、エリア１５Ｂに位置する参照セル１２Ｂを用いて生成された参照信号を用いてエリア１５Ｂに位置するデータセル１１からデータが読み出される。以下では、データ読み出しに使用される参照信号の生成に使用された参照セルを参照信号生成参照セルと呼ぶこととする。
【００５３】
更に、データアレイ１＿０の参照セル１２からパリティシンボルＰ０、Ｐ１の残余ビットが読み出される。指定されたＹアドレスが偶数Ｙアドレスである場合には、指定されたＸアドレスに対応する２つの参照セル１２Ｂから、参照セル１２Ａを用いて生成された参照信号を用いて２ビットのデータが読み出される。一方、奇数Ｙアドレスである場合には、指定されたＸアドレスに対応する２つの参照セル１２Ａから、参照セル１２Ｂを用いて生成された参照信号を用いて２ビットのデータが読み出される。以下では、パリティシンボルＰ０、Ｐ１の残余ビットが読み出された参照セルを、読み出し対象参照セルと呼ぶこととする。
【００５４】
コントローラ７は、データアレイ１＿０〜１＿１５から読み出された４ビットのデータに所定のダミービットを付け加えて、１６個のデータシンボルを再生する。更に、コントローラ７は、パリティアレイ２＿０、２＿１から読み出された４ビットのデータに読み出し対象参照セルから読み出された残余ビットを付け加えて、２個のパリティシンボルを再生する。
【００５５】
続いて、コントローラ７は、再生した１６個のデータシンボル及び２個のパリティシンボルを用いて誤り検出を行う（ステップＳ０２）。
【００５６】
誤りが検出されなかった場合には（ステップＳ０３）、コントローラ７は、データアレイ１＿０〜１＿１５から読み出された読み出しデータをそのまま出力し（ステップＳ０４）、読み出し動作が完了する。
【００５７】
一方、誤りが検出された場合には、コントローラ７は、誤り訂正が可能であるかを判断する（ステップＳ０５）。本実施形態では、一のシンボルに誤りが検出された場合には、誤りのビット数に関らず誤り訂正が可能である。誤り訂正が不可能である場合、コントローラ７は、エラー信号を出力し、リード動作を完了させる（ステップＳ１２）。
【００５８】
誤り訂正が可能である場合、コントローラ７は、データアレイ１＿０〜１＿１５から読み出された読み出しデータを訂正し、訂正された読み出しデータを出力する（ステップＳ０６）。
【００５９】
更にコントローラ７は、データアレイ１＿０〜１＿１５、及びパリティアレイ２＿０、２＿１について誤り訂正動作を行う（ステップＳ０７〜Ｓ１１）。この誤り訂正動作の一つの主題は、データセル１１と、参照信号生成参照セル（参照信号の生成に使用された参照セル）と、読み出し対象参照セル（パリティシンボルの残余ビットが読み出された参照セル）とのいずれを訂正すべきであるかである。データセル１１及び読み出し対象参照セルにデータ誤りが検出されても、それらに実際に記憶されているデータに誤りがあるとは限らない；参照信号の生成に使用された参照信号生成参照セルにデータ誤りがあった場合にも、データセル１１及び読み出し対象参照セルにデータ誤りが検出され得る。本実施形態では、誤り検出において検出された誤りパターンの内容に応じて、適切なメモリセルのデータが訂正される。
【００６０】
具体的には、本実施形態では、データセル１１及び読み出し対象参照セルの両方にデータ誤りが検出された場合には、対応する参照信号生成参照セルのデータが反転されて訂正される。これは、メモリセルのデータ誤り率が充分に低減されている状況において、データセル１１及び読み出し対象参照セルの両方にデータ誤りが検出された場合には参照信号生成参照セルのデータ誤りが発生している確率が最も高いからである。一方、データセル１１にのみデータ誤りが検出された場合にはデータセル１１のデータが訂正され、読み出し対象参照セルのみにデータ誤りが検出された場合には、読み出し対象参照セルのデータが訂正される。
【００６１】
より具体的には、誤りが検出され、且つ、読み出し対象参照セルに誤りが検出されない場合（即ち、データセル１１にのみデータ誤りが検出された場合）、図１１Ａに示されているように、誤りが発見されたデータセル１１のデータが反転され、これにより、データセル１１のデータが訂正される（ステップＳ１１）。
【００６２】
一方、読み出し対象参照セルに誤りが検出され（ステップＳ０７）、且つ、データセル１１にも誤りが検出された場合（ステップＳ０８）、図１１Ｂに示されているように、コントローラ７は、参照信号生成参照セルに誤りがあると判断し、対応する参照信号生成参照セルの訂正を行う。参照信号生成参照セルの訂正は、参照信号の生成に使用された２つの参照セルのうちの一方のみのデータを反転することによって行われる。参照信号生成参照セルに誤りがある状態とは、（データ”１”、データ”０”の何れであるかは不明であるが）２つの参照セルに同一のデータが書き込まれている状態であるから、一方のみのデータを反転することによって参照信号生成参照セルの訂正を行うことができる。Ｒｅｆ
【００６３】
更に、読み出し対象参照セルに誤りが検出され（ステップＳ０７）、且つ、データセル１１には誤りが検出されない場合には（ステップＳ０８）、図１１Ｃに示されているように、コントローラ７は、読み出し対象参照セルに誤りがあると判断し、データ誤りが検出された読み出し対象参照セルの訂正を行う。
【００６４】
このようなリード動作によれば、データセル１１及び参照セル１２に書き込まれているデータを高い確率で正しく訂正することができる。
【００６５】
（ライト動作）
次に、ライト動作について説明する。ライトコマンドが入力されると、コントローラ７は、書き込みデータに応じたパリティシンボルのデータパターンを作成する。留意すべきことは、パリティシンボルの作成には、データシンボルの全てのビット情報が必要であることである。図５Ａ、図５Ｂの符号例では、６４個のデータ入出力構成が採用される場合には、６４ビットの書き込みデータは、一つのデータシンボルの全てのビット情報であるから、６４ビットの書き込みデータからパリティシンボルを作成可能である。したがって、この場合には、データアレイ１には、書き込みデータがデータシンボルＤＱ０〜ＤＱ１５（の上位４ビット）としてそのまま書き込まれ、パリティシンボルを記憶するパリティアレイ２には、書き込みデータからコントローラ７によって作成された２つのパリティシンボルＰ０、Ｐ１の上位４ビットが書き込まれる。更に、データアレイ１＿０の参照セル１２（参照セル１２Ａ又は参照セル１２Ｂ）に、パリティシンボルＰ０、Ｐ１の残余ビット（最下位ビット）が書き込まれる。上述のように、パリティシンボルＰ０、Ｐ１の残余ビットは、一方が”１”で他方が”０”であるから１ビットの情報量しかなく、また、一対の参照セル１２は、１ビットを記憶できるから、結局、２つのパリティシンボルＰ０、Ｐ１の残余ビットを、一対の参照セル１２で記憶できることに留意されたい。ライト動作時においては、書き込み先のデータセル１１、参照セル１２に誤りビットが存在していたとしても、上書きされるため、後述されるような先読み動作と誤り検出動作は必要ない。
【００６６】
一方、１６個のデータ入出力構成が採用される場合には、各データシンボルの一部のビットしか、書き込みデータとして外部から入力されない。パリティシンボルを作成するためには、図８Ａのフローチャートに示されているように、対応するデータシンボルの全てのビットが先読みされる（ステップＳ２１）。次に、コントローラ７は、入力された１６ビットの書き込みデータと、先読みで取得された残りの４８ビットのデータを用いて、２つのパリティシンボルＰ０、Ｐ１を作成する（ステップＳ２２）。次に、１６ビットの書き込みデータと、２つのパリティシンボルＰ０、Ｐ１のデータ書き込みが行われる（ステップＳ２３）。具体的には、１６ビットの書き込みデータがデータアレイ１の対応するデータセル１１に書き込まれ、２つのパリティシンボルＰ０、Ｐ１の上位４ビットが、パリティアレイ２の対応するデータセル１１に書き込まれ、更に、２つのパリティシンボルＰ０、Ｐ１の残余ビットが、データアレイ１＿０の対応する参照セル１２に書き込まれる。例えば、図９Ａは、書き込みデータとしてデータＱ０（Ｙ＝０のｙ＝０に対応）が入力された場合の符号構成と実際にライト動作が行われるビットを示す図である。ステップＳ２１では、データＱ０〜Ｑ３（ｙ＝０〜３）に相当する全てのビット情報がデータアレイ１から先読みされる。ステップＳ２２では、書き込みデータであるデータＱ０（ｙ＝０）と、元々、データアレイ１に書き込まれていたデータであるデータＱ１〜Ｑ３（ｙ＝１〜３）からパリティシンボルが作成される。ステップＳ２３では、書き込みデータＤ０がデータアレイ１に書き込まれ、パリティシンボルＰ０、Ｐ１の上位４ビットがパリティアレイ２に書き込まれ、パリティシンボルＰ０、Ｐ１の残余ビットのデータＱｒｅｆ０が、データアレイ１＿０の参照セル１２Ｂに書き込まれる。
【００６７】
図８Ａ、図９Ａに示されているような、書き込みデータに対応するデータビットと、パリティシンボルに限定してデータ書き込みを行う方法は、ライト動作時の消費電流を削減できるメリットがある反面、書き込みデータ以外のデータビットに対応するデータセル１１にソフトエラーが存在しても、そのソフトエラーを訂正できないという問題もある。
【００６８】
図８Ｂは、このような問題を解決するための他のライト動作を説明する図であり、図９Ｂは、当該他のライト動作において、書き込みデータとしてデータＱ０（Ｙ＝０のｙ＝０に対応）が入力された場合の符号構成と、実際にデータ書き込みが行われるビットを示す図である。ステップＳ３１では、書き込みデータＱ０が属するデータシンボルＤＱ０〜ＤＱ１５、及びそれに対応するパリティシンボルＰ０、Ｐ１の全てのビット情報がデータアレイ１及びパリティアレイ２から先読みされる。先読みされるデータには、新たなパリティシンボルの残余ビットの書き込み先である参照セル１２のデータも含まれていることに留意されたい。例えば、書き込み先のＹアドレスが偶数アドレス（例えば”０”）である場合には、データアレイ１＿０のエリア１５Ｂの参照セル１２Ｂが、新たなパリティシンボルの残余ビットの書き込み先であり、この参照セル１２ＢのデータＱｒｅｆ０が先読みされる。一方、書き込み先のＹアドレスが奇数アドレス（例えば”１”）である場合には、データアレイ１＿０のエリア１５Ａの参照セル１２Ａが、新たなパリティシンボルの残余ビットの書き込み先であり、この参照セル１２ＡのデータＱｒｅｆ１が先読みされる。以下では、パリティシンボルの残余ビットの書き込み先の参照セル１２を書き込み対象参照セルと呼ぶこととする。
【００６９】
データアレイ１＿０のデータセル１１と書き込み対象参照セルの先読みにおいては、書き込み参照セルと同一の行に位置する参照セル１２が参照信号の生成に使用される。例えば、書き込み先のＹアドレスが偶数アドレス（例えば”０”）である場合には、データアレイ１＿０のエリア１５Ａの参照セル１２Ａが参照信号の生成に使用され、書き込み先のＹアドレスが奇数アドレス（例えば”１”）である場合には、データアレイ１＿０のエリア１５Ｂの参照セル１２Ｂが参照信号の生成に使用される。以下では、先読みにおいて参照信号の生成に使用される参照セル１２を、参照信号生成参照セルと呼ぶこととする。
【００７０】
続いて、コントローラ７は、先読みされたデータシンボル及びパリティシンボルに対して誤り検出を行う（ステップＳ３２）。先読みされたデータシンボルに誤り（ソフトエラー）が無い場合、即ち、ステップＳ３３で誤りがないと判断された場合には、コントローラ７は、入力された１６ビットの書き込みデータと、先読みで取得された残りの４８ビットのデータを用いて、２つのパリティシンボルＰ０、Ｐ１を作成する（ステップＳ３４）。次に、１６ビットの書き込みデータと、２つのパリティシンボルＰ０、Ｐ１のデータ書き込みが行われる（ステップＳ３５）。具体的には、１６ビットの書き込みデータがデータアレイ１の対応するデータセル１１に書き込まれ、２つのパリティシンボルＰ０、Ｐ１の上位４ビットが、パリティアレイ２の対応するデータセル１１に書き込まれ、更に、２つのパリティシンボルＰ０、Ｐ１の残余ビットが、書き込み対象参照セル１２に書き込まれる。
【００７１】
一方、ステップＳ３２、Ｓ３３においてデータ誤りが検出された場合、コントローラ７は、誤り訂正が可能であるかを判断する（ステップＳ３６）。本実施形態では、一のシンボルに誤りが検出された場合には、誤りのビット数に関らず誤り訂正が可能である。誤り訂正が不可能である場合、コントローラ７は、エラー信号を出力し、ライト動作を完了させる（ステップＳ３７）。
【００７２】
誤り訂正が可能である場合には、誤りパターンに応じて異なる動作シーケンスで、データ書き込みが行われる。より具体的には、下記のようにしてデータ書き込みが行われる。
【００７３】
先読みされたデータシンボルの書きこみデータに対応するデータビット、又は、書き込み対象参照セルに記憶されているビットに誤りがあった場合には（ステップＳ３８：ＹＥＳ）、誤りが発見されなかった場合と同様に、パリティシンボルＰ０、Ｐ１の作成（ステップＳ３４）と、１６ビットの書き込みデータと、２つのパリティシンボルＰ０、Ｐ１のデータ書き込みが行われる（ステップＳ３５）。データシンボルの書きこみデータに対応するデータビット、又は、書き込み対象参照セルに記憶されているビットに誤りが発見されても、これらは上書きされるので、何らの対処も必要としない。
【００７４】
先読みされたデータシンボルの書きこみデータに対応しないデータビットに誤りがあった場合には（ステップＳ３９：ＹＥＳ）、誤り訂正されたデータシンボルとパリティシンボルとが生成される（ステップＳ４０）。詳細には、誤り訂正によって正しいデータビットが算出され、更に、書きこみデータに対応するデータビットと誤りが訂正されたデータビットとを組み合わせることにより、誤り訂正されたデータシンボルＤＱ０〜ＤＱ１５が生成される。更に、誤り訂正されたデータシンボルからパリティシンボルＰ０、Ｐ１が生成される。
【００７５】
続いて、誤り訂正されたデータシンボルＤＱ０〜ＤＱ１５とパリティシンボルＰ０、Ｐ１とが、データアレイ１及びパリティアレイ２の書き込まれる（ステップＳ４１）。ステップＳ４１のデータ書き込みでは、図９Ｂに示されているように、書き込みデータに対応するデータビットのみならず、データシンボルＤＱ０〜ＤＱ１５の全体が書き込まれることに留意されたい。
【００７６】
また、上記のいずれにも該当しない場合、即ち、参照電流生成参照セルに誤りがあった場合には、誤り訂正されたデータシンボルとパリティシンボルとが生成された後、（ステップＳ４２）、参照電流生成参照セルの訂正とデータ書き込みとが同時に行われる（ステップＳ４４）。ステップＳ４２における誤り訂正されたデータシンボルとパリティシンボルの生成の手順は、ステップＳ４０と同様である。詳細には、誤り訂正によって正しいデータビットが算出され、更に、書きこみデータに対応するデータビットと誤りが訂正されたデータビットとを組み合わせることにより、誤り訂正されたデータシンボルＤＱ０〜ＤＱ１５が生成される。更に、誤り訂正されたデータシンボルからパリティシンボルＰ０、Ｐ１が生成される。
【００７７】
パリティシンボルＰ０、Ｐ１の生成には、先読みによって得られたデータシンボルＤＱ０〜ＤＱ１５ではなく、誤り訂正されたデータシンボルＤＱ０〜ＤＱ１５が使用されることに留意されたい。参照電流生成参照セルに誤りがある場合には、先読みによって得られたデータシンボルＤＱ０〜ＤＱ１５の値は、データアレイ１に書き込まれている値とは相違し得る。一方、誤り訂正されたデータシンボルＤＱ０〜ＤＱ１５は、データアレイ１に書き込まれている値と一致する。従って、誤り訂正されたデータシンボルからパリティシンボルＰ０、Ｐ１が生成される必要がある。
【００７８】
ステップＳ４４における参照電流生成参照セルの訂正は、２つの参照電流生成参照セルの一方のデータを反転させることによって行われる。ステップＳ４４におけるデータ書き込みでは、１６ビットの書き込みデータと、２つのパリティシンボルＰ０、Ｐ１のデータ書き込みが行われる。ステップＳ４４におけるデータ書き込みでは、書きこみデータに対応しないデータビットの訂正は行われる必要がない。
【００７９】
以上の手順でライト動作を行うことにより、書き込みデータ以外のデータビットに対応するデータセル１１におけるソフトエラーを訂正しながらデータ書き込みを行うことができる。
【図面の簡単な説明】
【００８０】
【図１】図１は、本発明の一実施形態に係る半導体記憶装置の構成を示すブロック図である。
【図２】図２は、本発明の一実施形態に係る半導体記憶装置のデータアレイ及びセンスアンプ回路の構成を示すブロック図である。
【図３】図３は、本発明の一実施形態に係る半導体記憶装置のデータアレイの構成を示す概念図である。
【図４】図４は、本発明の一実施形態に係る半導体記憶装置のデータアレイ及びパリティアレイの他の構成を示すブロック図である。
【図５Ａ】図５Ａは、本発明の一実施形態に係る半導体記憶装置の符号構成を示す図である。
【図５Ｂ】図５Ｂは、本発明の一実施形態に係る半導体記憶装置の符号構成を示す図である。
【図６】図６は、本発明の一実施形態に係る半導体記憶装置のリード動作を説明するタイミングチャートである。
【図７Ａ】図７Ａは、本発明の一実施形態に係る半導体記憶装置の誤り訂正の動作を説明する概念図である。
【図７Ｂ】図７Ｂは、本発明の一実施形態に係る半導体記憶装置の誤り訂正の動作を説明する概念図である。
【図７Ｃ】図７Ｃは、本発明の一実施形態に係る半導体記憶装置の誤り訂正の動作を説明する概念図である。
【図８Ａ】図８Ａは、本発明の一実施形態に係る半導体記憶装置のライト動作を説明するタイミングチャートである。
【図８Ｂ】図８Ｂは、本発明の他の実施形態に係る半導体記憶装置のライト動作を説明するタイミングチャートである。
【図９Ａ】図９Ａは、図８Ａのライト動作において、先読みが行われるビットとデータ書き込み動作が行われるビットを示す図である。
【図９Ｂ】図９Ｂは、図８Ｂのライト動作における、先読みが行われるビットとデータ書き込みが行われるビットを示す図である。
【符号の説明】
【００８１】
１、１＿０〜１＿１５：データアレイ
２、２＿０、２＿１：パリティアレイ
３：ロウデコーダ
４：カラムデコーダ
５：書き込み回路
６：センスアンプ回路
７：コントローラ
１１：データセル
１２、１２Ａ、１２Ｂ：参照セル
１３：ワード線
１４：ビット線
１５Ａ、１５Ｂ：エリア
１６Ａ、１６Ｂ：４ビット・センスアンプ
１７Ａ、１７Ｂ：２ビット・センスアンプ
【図１】
2008269671.tif 000003
【図２】
2008269671.tif 000004
【図３】
2008269671.tif 000005
【図４】
2008269671.tif 000006
【図５Ａ】
2008269671.tif 000007
【図５Ｂ】
2008269671.tif 000008
【図６】
2008269671.tif 000009
【図７Ａ】
2008269671.tif 000010
【図７Ｂ】
2008269671.tif 000011
【図７Ｃ】
2008269671.tif 000012
【図８Ａ】
2008269671.tif 000013
【図８Ｂ】
2008269671.tif 000014
【図９Ａ】
2008269671.tif 000015
【図９Ｂ】
2008269671.tif 000016