(57)【特許請求の範囲】
【請求項１】
互いに平行な複数のワード線、前記複数のワード線と交差するように形成された互いに平行な複数のビット線、及び前記ワード線とビット線との各交差部に配置されて、一端が前記ワード線に他端が前記ビット線に接続された複数のメモリセルを有するメモリセルアレイと、
前記ワード線と前記ビット線との間にデータの読み出し／書き込みのための電圧を選択的に付与すると共に、前記メモリセルに対するデータの読み出し／書き込みを行う読み出し／書き込み回路と、
前記読み出し／書き込み回路によって複数の前記メモリセルから読み出された所定長のデータと、当該複数のメモリセルに書き込むべき所定長のデータとを比較及び判定し、その判定結果を表すフラグを作成する演算回路と
を備え、
前記読み出し／書き込み回路は、データ書き込み時には、前記メモリセルに書き込むべき所定長のデータの各ビットを前記フラグに応じて反転させ、前記所定長のデータ及び前記フラグのうち書き換えられるデータのみを前記メモリセルに書き込み、データ読み出し時には、前記所定長のデータと共に対応する前記フラグを読み出して前記フラグに応じて前記所定長のデータの各ビットを反転させて出力し、
前記メモリセルアレイの各メモリセルには予めメモリセルの位置に応じた重み付けがなされており、
前記演算回路は、前記メモリセルから読み出された所定長のデータと前記メモリセルに書き込むべき所定長のデータとを比較し、両データの間で書き換えられるビットの各重みの和が所定値を超えたか否かを判定し、前記重みの和が前記所定値を超えた場合には前記書き込むべきデータの各ビットを反転させることを示すフラグを生成し、前記重みの和が前記所定値を超えない場合には、各ビットを反転させないことを示すフラグを生成する
ことを特徴とする半導体記憶装置。
【請求項２】
互いに平行な複数のワード線、前記複数のワード線と交差するように形成された互いに平行な複数のビット線、前記ワード線とビット線との各交差部に配置されて、一端が前記ワード線に他端が前記ビット線に接続された複数のメモリセル、及び前記ワード線と前記ビット線との間にデータの読み出し／書き込みのための電圧を選択的に付与すると共に前記メモリセルに対するデータの読み出し／書き込みを行う読み出し／書き込み回路を有する半導体記憶チップと、
この半導体記憶チップに対してデータの読み出し及び書き込みを制御するコントローラと
を有し、
複数の前記メモリセルから読み出された所定長のデータと、当該複数のメモリセルに書き込むべき所定長のデータとを比較及び判定してその判定結果を表すフラグを作成し、
データ書き込み時には、前記メモリセルに書き込むべき所定長のデータの各ビットを前記フラグに応じて反転させ、前記所定長のデータ及び前記フラグのうち書き換えられるデータのみを前記メモリセルに書き込み、データ読み出し時には、前記所定長のデータと共に対応する前記フラグを読み出して前記フラグに応じて前記所定長のデータの各ビットを反転させてエラー検出及び訂正したのち出力し、
前記メモリセルアレイの各メモリセルには予めメモリセルの位置に応じた重み付けがなされており、
前記メモリセルから読み出された所定長のデータと前記メモリセルに書き込むべき所定長のデータとを比較し、両データの間で書き換えられるビットの各重みの和が所定値を超えたか否かを判定し、前記重みの和が前記所定値を超えた場合には前記書き込むべきデータの各ビットを反転させることを示すフラグを生成し、前記重みの和が前記所定値を超えない場合には、各ビットを反転させないことを示すフラグを生成する
ことを特徴とする半導体記憶システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体記憶装置及び半導体記憶システムに関し、特に、不揮発性半導体メモリへのデータの書き込み技術に関する。
【背景技術】
【０００２】
近年、フラッシュメモリに代わる不揮発性記憶装置として、抵抗変化メモリが注目されている。抵抗変化メモリは、例えば遷移金属酸化物を記録層としてその抵抗値状態を不揮発に記憶するＲｅＲＡＭ（Resistance RAM）やカルコゲナイト等を記録層として用いてその結晶状態（導体）と非晶質状態（絶縁体）の抵抗値情報を利用するＰＣＲＡＭ（Phase Change RAM）を含む。
【０００３】
このような不揮発性半導体記憶装置は、ビット線とワード線の各クロスポイントに、可変抵抗素子とダイオード等の整流素子を直列接続することによりメモリセルアレイを構成できるので、高密度メモリセルアレイを実現するのに適している。複数層のメモリセルアレイを積層することにより、セルアレイ部の面積を増大させることなく、更にメモリ容量を増加させることも容易である（例えば、特許文献１）。
【０００４】
この種の不揮発性半導体記憶装置に使用される可変抵抗素子は、金属遷移元素の移動や相変化といった素子内部の状態変化によって、その抵抗値を変化させるものであるから、状態変化の回数が多くなると特性が劣化したり、一つの状態から他の状態に変化する速度が逆の状態に変化する速度よりも極端に遅かったり、何れか一方の状態に比較して他方の状態が不安定であるといった、種々の性能劣化要因が存在する。
【特許文献１】特表２００２−５４１６１３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明は、メモリセルの性能劣化要因の影響を抑制した信頼性の高い半導体記憶装置及び半導体記憶システムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の一つの態様において、半導体記憶装置は、互いに平行な複数のワード線、前記複数のワード線と交差するように形成された互いに平行な複数のビット線、及び前記ワード線とビット線との各交差部に配置されて、一端が前記ワード線に他端が前記ビット線に接続された複数のメモリセルを有するメモリセルアレイと、前記ワード線と前記ビット線との間にデータの読み出し／書き込みのための電圧を選択的に付与すると共に、前記メモリセルに対するデータの読み出し／書き込みを行う読み出し／書き込み回路と、前記読み出し／書き込み回路によって複数の前記メモリセルから読み出された所定長のデータと、当該複数のメモリセルに書き込むべき所定長のデータとを比較及び判定し、その判定結果を表すフラグを作成する演算回路とを備え、前記読み出し／書き込み回路は、データ書き込み時には、前記メモリセルに書き込むべき所定長のデータの各ビットを前記フラグに応じて反転させ、前記所定長のデータ及び前記フラグのうち書き換えられるデータのみを前記メモリセルに書き込み、データ読み出し時には、前記所定長のデータと共に対応する前記フラグを読み出して前記フラグに応じて前記所定長のデータの各ビットを反転させて出力することを特徴とする。
【０００７】
本発明の他の態様において、半導体記憶装置は、互いに平行な複数のワード線、前記複数のワード線と交差するように形成された互いに平行な複数のビット線、及び前記ワード線とビット線との各交差部に配置されて、一端が前記ワード線に他端が前記ビット線に接続された複数のメモリセルを有するメモリセルアレイと、前記ワード線と前記ビット線との間にデータの読み出し／書き込みのための電圧を選択的に付与すると共に、前記メモリセルに対するデータの読み出し／書き込みを行う読み出し／書き込み回路と、複数の前記メモリセルに書き込むべき所定長のデータを判定し、その判定結果を表すフラグを作成する演算回路とを備え、前記演算回路は、前記複数のメモリセルに書き込むべき所定長のデータのうち、前記メモリセルをセット状態にするビット数が過半数かどうかを判定し、過半数の場合には前記書き込むべきデータの各ビットを反転させることを示すフラグを生成し、過半数でない場合には、各ビットを反転させないことを示すフラグを生成し前記読み出し／書き込み回路は、データ書き込み時には、前記メモリセルに書き込むべき所定長のデータの各ビットを前記フラグに応じて反転させ、前記所定長のデータ及び前記フラグのうち書き換えられるデータのみを前記メモリセルに書き込み、データ読み出し時には、前記所定長のデータと共に対応する前記フラグを読み出して前記フラグに応じて前記所定長のデータの各ビットを反転させて出力することを特徴とする。
【０００８】
本発明の更に他の態様において、半導体記憶システムは、互いに平行な複数のワード線、前記複数のワード線と交差するように形成された互いに平行な複数のビット線、前記ワード線とビット線との各交差部に配置されて、一端が前記ワード線に他端が前記ビット線に接続された複数のメモリセル、及び前記ワード線と前記ビット線との間にデータの読み出し／書き込みのための電圧を選択的に付与すると共に前記メモリセルに対するデータの読み出し／書き込みを行う読み出し／書き込み回路を有する半導体記憶チップと、この半導体記憶チップに対してデータの読み出し及び書き込みを制御するコントローラとを有し、複数の前記メモリセルから読み出された所定長のデータと、当該複数のメモリセルに書き込むべき所定長のデータとを比較及び判定してその判定結果を表すフラグを作成し、データ書き込み時には、前記メモリセルに書き込むべき所定長のデータの各ビットを前記フラグに応じて反転させ、前記所定長のデータ及び前記フラグのうち書き換えられるデータのみを前記メモリセルに書き込み、データ読み出し時には、前記所定長のデータと共に対応する前記フラグを読み出して前記フラグに応じて前記所定長のデータの各ビットを反転させてエラー検出及び訂正したのち出力することを特徴とする。
【発明の効果】
【０００９】
本発明によれば、メモリセルの性能劣化要因の影響を抑制した信頼性の高い半導体記憶装置及び半導体記憶システムを提供することができる。
【発明を実施するための最良の形態】
【００１０】
以下、図面を参照しながら、本発明に係る半導体記憶装置の実施の形態について詳細に説明する。
【００１１】
［第１の実施形態］
［全体構成］
図１は、本発明の第１の実施形態に係る不揮発性メモリのブロック図である。
【００１２】
この不揮発性メモリは、メモリセルアレイ１と、メモリセルＭＣに対してデータの読み出し及び書き込みを行う読み出し／書き込み回路（以下、「Ｒ／Ｗ回路」と称する。）２と、データの書き込み及び読み出し時に後述するフラグを生成する演算回路３とを備える。
【００１３】
メモリセル１は、後述する抵抗変化型素子を使用したメモリセルＭＣをマトリクス状に配置したもので、データを格納するデータ領域１ａ及びフラグを格納するフラグ領域１ｂを含む。
【００１４】
Ｒ／Ｗ回路２は、次のように構成されている。メモリセルアレイ１のビット線ＢＬ方向に隣接する位置には、メモリセルアレイ１のビット線ＢＬを制御し、メモリセルのデータ消去、メモリセルへのデータ書き込み、及びメモリセルからのデータ読み出しを行うＢＬデコーダ／ドライバ２ａが設けられている。また、メモリセルアレイ１のワード線ＷＬ方向に隣接する位置には、メモリセルアレイ１のワード線ＷＬを選択し、メモリセルのデータ消去、メモリセルへのデータ書き込み、及びメモリセルからのデータ読み出しに必要な電圧を印加するＷＬデコーダ／ドライバ２ｂが設けられている。ＢＬデコーダ／ドライバ２ａには、書き込みデータが格納される第１データラッチ２ｃと、読み出しデータが格納される第２データラッチ２ｄが接続されている。また、Ｒ／Ｗ回路２には、後述するフラグを格納するためのフラグデータラッチ２ｅが設けられている。第１データラッチ２ｃに格納された書き込みデータは、フラグデータラッチ２ｅに格納されたフラグが“１”の場合には、そのままＢＬデコーダ／ドライバ２ａに転送され、フラグが“０”の場合には、各ビットが反転されてＢＬデコーダ／ドライバ２ａに転送される。また、ＢＬデコーダ／ドライバ２ａによって読み出された読み出しデータは、第２データラッチ２ｄに格納され、同時に読み出されたフラグが“１”の場合には、そのまま外部に出力され、フラグが“０”の場合には、各ビットが反転されて外部に出力される。
【００１５】
演算回路３は、第１及び第２データラッチ２ｃ，２ｄに格納されたデータの各ビットを比較し、所定のルールに従って判定し、その判定結果を示すフラグを生成してフラグデータラッチ２ｅに出力する。
【００１６】
なお、第２データラッチ２ｄに格納された読み出しデータは、図示しないデータ入出力バッファを介して外部のホストに接続される。
【００１７】
［メモリセルアレイ及びその周辺回路］
図２は、メモリセルアレイ１の一部の斜視図、図３は、図２におけるＩ−Ｉ′線で切断して矢印方向に見たメモリセル１つ分の断面図である。
【００１８】
複数本の第１の配線としてワード線ＷＬ０〜ＷＬ２が平行に配設され、これと交差して複数本の第２の配線としてビット線ＢＬ０〜ＢＬ２が平行に配設され、これらの各交差部に両配線に挟まれるようにメモリセルＭＣが配置される。第１及び第２の配線は、熱に強く、且つ抵抗値の低い材料が望ましく、例えばW，WSi，NiSi，CoSi等を用いることができる。
【００１９】
メモリセルＭＣは、図３に示すように、可変抵抗素子ＶＲと非オーミック素子ＮＯの直列接続回路からなる。
【００２０】
可変抵抗素子ＶＲとしては、電圧印加によって、電流、熱、化学エネルギー等を介して抵抗値を変化させることができるもので、上下にバリアメタル及び接着層として機能する電極ＥＬ１，ＥＬ２が配置される。電極材としては、Pt，Au，Ag，TiAlN，SrRuO，Ru，RuN，Ir，Co，Ti，TiN，TaN，LaNiO，Al，PtIrOx， PtRhOx，Rh/TaAlN等が用いられる。また、配向性を一様にするようなメタル膜の挿入も可能である。また、別途バッファ層、バリアメタル層、接着層等を挿入することも可能である。
【００２１】
可変抵抗素子ＶＲは、カルコゲナイド等のように結晶状態と非晶質状態の相転移により抵抗値を変化させるもの（ＰＣＲＡＭ）、金属陽イオンを析出させて電極間に架橋（コンタクティングブリッジ）を形成したり、析出した金属をイオン化して架橋を破壊することで抵抗値を変化させるもの（ＣＢＲＡＭ）、電圧あるいは電流印加により抵抗値が変化するもの（ＲｅＲＡＭ）(電極界面に存在する電荷トラップにトラップされた電荷の存在の有無により抵抗変化が起きるものと、酸素欠損等に起因する伝導パスの存在の有無により抵抗変化が起きるものとに大別される。）等を用いることができる。
【００２２】
図４及び図５は、ＲｅＲＡＭの例を示す図である。図４に示す可変抵抗素子ＶＲは、電極層１１、１３の間に記録層１２を配置してなる。記録層１２は、少なくとも２種類の陽イオン元素を有する複合化合物から構成される。陽イオン元素の少なくとも１種類は電子が不完全に満たされたｄ軌道を有する遷移元素とし、且つ隣接する陽イオン元素間の最短距離は、０．３２ｎｍ以下とする。具体的には、化学式ＡｘＭｙＸｚ（ＡとＭは互いに異なる元素）で表され、例えばスピネル構造（ＡＭ２Ｏ４）、イルメナイト構造（ＡＭＯ３）、デラフォサイト構造（ＡＭＯ２）、ＬｉＭｏＮ２構造（ＡＭＮ２）、ウルフラマイト構造（ＡＭＯ４）、オリビン構造（Ａ２ＭＯ４）、ホランダイト構造（ＡｘＭＯ２）、ラムスデライト構造（ＡｘＭＯ２）ペロブスカイト構造（ＡＭＯ３）等の結晶構造を持つ材料により構成される。
【００２３】
図４の例では、ＡがＺｎ、ＭがＭｎ、ＸがＯである。記録層１２内の小さな白丸は拡散イオン（Ｚｎ）、大きな白丸は陰イオン（Ｏ）、小さな黒丸は遷移元素イオン（Ｍｎ）をそれぞれ表している。記録層１２の初期状態は高抵抗状態であるが、電極層１１を固定電位、電極層１３側に負の電圧を印加すると、記録層１２中の拡散イオンの一部が電極層１３側に移動し、記録層１２内の拡散イオンが陰イオンに対して相対的に減少する。電極層１３側に移動した拡散イオンは、電極層１３から電子を受け取り、メタルとして析出するため、メタル層１４を形成する。記録層１２の内部では、陰イオンが過剰となり、結果的に記録層１２内の遷移元素イオンの下層を上昇させる。これにより、記録層１２はキャリアの注入により電子伝導性を有するようになってセット動作が完了する。再生に関しては、記録層１２を構成する材料が抵抗変化を起こさない程度の微小な電流値を流せば良い。プログラム状態（低抵抗状態）を初期状態（高抵抗状態）にリセットするには、例えば記録層１２に大電流を充分な時間流してジュール加熱して、記録層１２の酸化還元反応を促進すれば良い。また、セット時と逆向きの電場を印加することによってもリセット動作が可能である。
【００２４】
図５の例は、電極層１１，１３に挟まれた記録層１５が第１化合物層１５ａと第２化合物層１５ｂの２層で形成されている。第１化合物層１５ａは電極層１１側に配置され化学式ＡｘＭ１ｙＸ１ｚで表記される。第２化合物層１５ｂは電極層１３側に配置され第１化合物層１５ａの陽イオン元素を収容できる空隙サイトを有している。
【００２５】
図５の例では、第１化合物層１５ａにおけるＡがＭｇ、Ｍ１がＭｎ、Ｘ１がＯである。第２化合物層１５ｂには、遷移還元イオンとして黒丸で示すＴｉが含まれている。また、第１化合物層１５ａ内の小さな白丸は拡散イオン（Ｍｇ）、大きな白丸は陰イオン（Ｏ）、二重丸は遷移元素イオン（Ｍｎ）をそれぞれ表している。なお、第１化合物層１５ａと第２化合物層１５ｂとは、２層以上の複数層となるように積層されていても良い。
【００２６】
この可変抵抗素子ＶＲにおいて、第１化合物層１５ａが陽極側、第２化合物層１５ｂが陰極側となるように、電極層１１，１３に電位を与え、記録層１５に電位勾配を発生させると、第１化合物層１５ａ内の拡散イオンの一部が結晶中を移動し、陰極側の第２化合物層１５ｂ内に進入する。第２化合物層１５ｂの結晶中には、拡散イオンを収容できる空隙サイトがあるため、第１化合物層１５ａ側から移動してきた拡散イオンは、この空隙サイトに収まることになる。このため、第１化合物層１５ａ内の遷移元素イオンの価数が上昇し、第２化合物層１５ｂ内の遷移元素イオンの価数が減少する。初期状態において、第１及び第２の化合物層１５ａ，１５ｂが高抵抗状態であるとすれば、第１化合物層１５ａ内の拡散イオンの一部が第２化合物層１５ｂ内に移動することにより、第１及び第２化合物の結晶中に伝導キャリアが発生し、両者共に電気伝導性を有することになる。なお、プログラム状態（低抵抗状態）を消去状態（高抵抗状態）にリセットするには、先の例と同様に、記録層１５に大電流を充分な時間流してジュール加熱して、記録層１５の酸化還元反応を促進すれば良い。また、セット時とは逆向きの電場を印加することによってもリセットは可能である。
【００２７】
非オーミック素子ＮＯは、例えば図６に示すように、（ａ）ショットキーダイオード、（ｂ）ＰＮ接合ダイオード、（ｃ）ＰＩＮダイオード等の各種ダイオード、（ｄ）ＭＩＭ（Metal-Insulator-Metal）構造、（ｅ）ＳＩＳ構造（Silicon-Insulator-Silicon）等からなる。ここにもバリアメタル層、接着層を形成する電極ＥＬ２，ＥＬ３を挿入しても良い。また、ダイオードを使用する場合はその特性上、ユニポーラ動作を行うことができ、また、ＭＩＭ構造、ＳＩＳ構造等の場合にはバイポーラ動作を行うことが可能である。なお、非オーミック素子ＮＯと可変抵抗素子ＶＲの配置は、図３と上下を逆にしても良いし、非オーミック素子ＮＯの極性を上下反転させても良い。
【００２８】
図７は、非オーミック素子ＮＯとしてダイオードＳＤを用いたメモリセルアレイ１及びＲ／Ｗ回路２の一部の回路図である。
【００２９】
図７において、メモリセルＭＣを構成するダイオードのアノードはワード線ＷＬに接続され、カソードは可変抵抗素子ＶＲを介してビット線ＢＬに接続されている。各ビット線ＢＬの一端はＢＬデコーダ／ドライバ２ａの一部である選択回路２ａａに接続されている。また、各ワード線ＷＬの一端はＷＬデコーダ／ドライバ２ｂの一部である選択回路２ｂａに接続されている。
【００３０】
選択回路２ａａは、ビット線ＢＬ毎に設けられた、ゲート及びドレインが共通接続された選択ＰＭＯＳトランジスタＱＰ０及び選択ＮＭＯＳトランジスタＱＮ０からなる。選択ＰＭＯＳトランジスタＱＰ０のソースは、高電位電源Ｖｃｃに接続されている。選択ＮＭＯＳトランジスタＱＮ０のソースは、書き込みパルスを印加すると共にデータ読み出し時に検出すべき電流を流すビット線側ドライブセンス線ＢＤＳに接続されている。トランジスタＱＰ０，ＱＮ０の共通ドレインは、ビット線ＢＬに接続され、共通ゲートには、各ビット線ＢＬを選択するビット線選択信号ＢＳｉが供給されている。
【００３１】
また、選択回路２ｂａは、ワード線ＷＬ毎に設けられた、ゲート及びドレインが共通接続された選択ＰＭＯＳトランジスタＱＰ１及び選択ＮＭＯＳトランジスタＱＮ１からなる。選択ＰＭＯＳトランジスタＱＰ１のソースは、書き込みパルスを印加すると共にデータ読み出し時に検出すべき電流を流すワード線側ドライブセンス線ＷＤＳに接続されている。選択ＮＭＯＳトランジスタＱＮ１のソースは、低電位電源Ｖｓｓに接続されている。トランジスタＱＰ１，ＱＮ１の共通ドレインは、ワード線ＷＬに接続され、共通ゲートには、各ワード線ＷＬを選択するワード線選択信号／ＷＳｉが供給されている。
【００３２】
［各メモリセルに対するデータ読み出し及び書き込み動作］
次に、各メモリセルＭＣに対するデータのリード・ライト動作を説明する。
【００３３】
上述した回路において、データは各メモリセルＭＣの抵抗素子ＶＲの抵抗値の大小として記憶される。非選択状態では、例えば、ワード線選択信号／ＷＳ０，／ＷＳ１，…が“Ｈ”レベル、ビット線選択信号ＢＳ０，ＢＳ１，…が“Ｌ”レベルとなって全てのワード線ＷＬは“Ｌ”レベル、全てのビット線ＢＬは“Ｈ”レベルとなる。この非選択状態では、全てのメモリセルＭＣのダイオードＳＤが逆バイアス状態でオフであり、可変抵抗素子ＶＲには電流は流れない。ここで、ワード線ＷＬ１及びビット線ＢＬ１に繋がる真中のメモリセルＭＣを選択する場合を考えると、ＷＬデコーダ／ドライバ２ｂはワード線選択信号／ＷＳ１を“Ｌ”レベルとし、ＢＬデコーダ／ドライバ２ａはビット線選択信号ＢＳ１を “Ｈ”レベルとする。これによってワード線ＷＬ１はワード線側ドライブセンス線ＷＤＳに接続され、ビット線ＢＬ１はビット線側ドライブセンス線ＢＤＳに接続されるので、ドライブセンス線ＷＤＳに“Ｈ”レベル、ドライブセンス線ＢＤＳに“Ｌ”レベルを印加することにより、ワード線ＷＬ１が“Ｈ”レベル、ビット線ＢＬ１が“Ｌ”レベルとなる。これにより、選択セルでは、ダイオードＳＤが順バイアスになって電流が流れる。このとき、選択セルに流れる電流量は、抵抗素子ＶＲの抵抗値によって決まるから、電流量の大きさを検知することにより、データの読み出しができる。すなわち、図８に示すように、例えば高抵抗の消去状態を“１”、低抵抗のプログラム状態を“０”に対応させて、センスされた電流値が少ない場合“１”、多い場合“０”と検出することができる。
【００３４】
なお、選択されたワード線ＷＬ１と非選択のビット線ＢＬとは共に“Ｈ”レベルであるため、両者間に電流は流れず、非選択のワード線ＷＬと選択されたビット線ＢＬ１とは共に“Ｌ”レベルであるから、これらの間にも電流は流れない。従って、選択されたメモリセル以外のメモリセルには電流は流れない。
【００３５】
このようなメモリセルＭＣに流れる電流値の大小をＢＬデコーダ／ドライバ２ａ内の図示しないセンスアンプで検出することにより、メモリセルＭＣに記憶されているデータを、第２データラッチ２ｄに読み出すことができる。なお、各ビット線ＢＬにセンスアンプを設けることで、ワード線ＷＬ方向に配置された複数のメモリセルからの複数ビットのデータを一括読み出しすることができる。また、ダイオードの極性を代えた場合には、ＷＬデコーダ／ドライバ２ｂａ側にセンスアンプを設けることでワード線ＷＬ側でデータ読み出しを行うようにしても良い。
【００３６】
図９は、データ書込時の選択信号／ＷＳ，ＢＳと、ドライブデータ線ＷＤＳ，ＢＤＳに印加する書き込みパルスＷＰ，ＢＰを示す波形図である。書き込みパルスＷＰ，ＢＰは、昇圧回路を含む図示しないパルスジェネレータから生成出力される。
【００３７】
可変抵抗素子ＶＲを高抵抗状態から低抵抗状態に変化させるデータセット時には、データを書き込むメモリセルに対応したワード線ＷＬ１のワード線選択信号／ＷＳ１を“Ｌ”レベルにすると共に、書き込むメモリに対応したビット線ＢＬ１のビット線選択信号ＢＳ１を“Ｈ”レベルにする。これと同時に、ワード線側ドライブセンス線ＷＤＳには、図８に示す、可変抵抗素子ＶＲの抵抗値を消去レベルからプログラムレベルに変化させるための書き込みパルスＷＰを与える。この書き込みパルスＷＰのパルス高さは例えばＶｃｃレベルとする。同時にビット線側ドライブセンス線ＢＤＳには、Ｖｓｓレベルとなる負の書き込みパルスＢＰが与えられる。これにより、高抵抗状態（消去状態）の可変抵抗素子ＶＲを低抵抗状態（プログラム状態）にセットすることができる。
【００３８】
また、可変抵抗素子ＶＲを低抵抗状態から高低抵抗状態に変化させるデータリセット時には、複数のメモリセルに対する一括消去が可能であるが、メモリセル毎の個別消去も可能である。この場合には、データを消去するメモリセルに対応したワード線ＷＬ１のワード線選択信号／ＷＳ１をセット時よりも長い時間“Ｌ”レベルにすると共に、書き込むメモリに対応したビット線ＢＬ１のビット線選択信号ＢＳ１を同じくセット時よりも長い時間“Ｈ”レベルにする。消去時には、メモリセルが低抵抗状態となっているので、ワード線側ドライブセンス線ＷＤＳには、セット時よりも低い消去パルスＥＷＰを印加し、ビット線側ドライブセンス線ＢＤＳには、Ｖｓｓレベルとなる負の消去パルスＥＢＰを印加する。これにより、低抵抗状態にある可変抵抗素子ＶＲに長い時間、多めの電流を流すことによってジュール熱によって高抵抗状態にリセットすることができる。
【００３９】
[所定長のデータの書き込み及び読み出し動作]
可変抵抗素子ＶＲへの書き込みパルス及び消去パルスの印加は、可変抵抗素子ＶＲの劣化を促進するので、極力、パルス印加の回数を少なくしたい。そのためには、データが“０”から“１”又は“１”から“０”に書き換えられるメモリセルＭＣに対してのみ書き込みパルス又は消去パルスを印加することが考えられる。
【００４０】
本実施形態では、Ｒ／Ｗ回路２によって複数のメモリセルＭＣから読み出された所定長（例えば８ビット）のデータと、メモリセルＭＣに書き込むべき所定長（例えば８ビット）のデータとを比較及び判定し、判定結果を表すフラグを作成する。そして、データ書き込み時には、メモリセルＭＣに書き込むべき所定長のデータの各ビットをフラグに応じて反転させることにより、書き換えビット数が極力少なくなるようにしている。
【００４１】
図１０は、このような不揮発性メモリへの所定長のデータの書き込み方法を示すフローチャートである。
【００４２】
まず、外部から図示しないＩ／Ｏバッファを通じて書き込みデータＤＡＴＡが入力され、そのデータがＲ／Ｗ回路２の第１データラッチ２ｃに格納される（ステップＳ２０）。
【００４３】
次に、ＢＬデコーダ／ドライバ２ａにより、書き込む場所のメモリセルＭＣのデータが読み出され、そのデータが第２データラッチ２ｄに保持される（ステップＳ２１）。
【００４４】
続いて、第１データラッチ２ｃに保持された書き込みデータと、第２データラッチ２ｄに保持された読み出しデータとが演算回路３に入力されて比較され、両データ間で値が異なるビットの数を書き換えビット数Ｎとして求める（ステップＳ２２）。
【００４５】
次に、演算回路３において、書き換えビット数Ｎが全ビット数ｎの過半数であるか否かを判定する（ステップＳ２３）。例えば、データが８ビット（すなわち、ｎ＝８）で、書き換えビット数が５ビット（すなわち、Ｎ＝５）の場合には、Ｎ＞ｎ／２となる。この点については、以下で詳細に説明する。
【００４６】
ステップＳ２３での判定の結果、Ｎ＞ｎ／２の場合には値が“０”のフラグを生成してフラグデータラッチ２ｅに格納し（ステップＳ２４）、Ｎ≦ｎ／２の場合には値が“１”のフラグを生成してフラグデータラッチ２ｅに格納する（ステップＳ２７）。フラグが“０”の場合には、書き換えビット数がデータ長の過半数なので、第１データラッチ２ｃに格納された書き込みテータＤＡＴＡの各ビットを反転させる（ステップＳ２５）。具体的には、書き込みデータが“０”ならば“１”に反転させ、書き込みデータが“１”ならば“０”に反転させる。
【００４７】
最後に、第１データラッチ２ｃに格納された書き込みデータ又はこれを反転したデータとフラグデータレジスタ２ｅに格納されたフラグとをメモリセルアレイ１のデータ領域１ａ及びフラグ領域１ｂにそれぞれ書き込む（ステップＳ２６）。
【００４８】
次に、上記のようにしてメモリセル１に書き込まれたデータを読み出す方法について説明する。図１１は、メモリセルＭＣに書き込まれたデータを読み出す方法を記載したフローチャートである。
【００４９】
まず、ＢＬデコーダ／ドライバ２ａを使って、選択したメモリセルＭＣのデータを所定長の単位で読み出して第２データラッチ２ｄに格納する（ステップＳ３０）。
【００５０】
このとき同時に、または続いて、当該所定長のデータに対応したフラグ領域１ａのフラグを読み出してフラグデータラッチ２ｅに格納する（ステップＳ３１）。
【００５１】
フラグが“０”の場合は（ステップＳ３２）、書き込みデータが反転して書き込まれていることを示している。したがって、読み出しの際にも反転させる必要がある。このため第２のデータラッチ２ｄに格納された読み出しデータの各ビットを反転させて読み出す（ステップＳ３３）。
【００５２】
一方、フラグが“１”の場合は（ステップＳ３２）、書き込みデータが非反転であることを示している。したがって、読み出しの際に非反転読み出しを行う（ステップＳ３４）。
【００５３】
以上のデータ書き込み方法を、８ビットデータを書き込む場合を例にとって、さらに詳細に説明する。図１２は、書き込みデータの反転を伴う場合を示し、図１３は書き込みデータの反転を伴わない場合を示している。
【００５４】
まず、図１２に示すように、メモリセルアレイ１のデータ領域１ａに８ビット“１０１１１０１１”のデータが記憶され、このメモリセルアレイ１に書き込みデータ“０００１１１００”を書き込む場合を考える。
【００５５】
この場合、書き込みデータ“０００１１１００”が、外部からＩ／Ｏバッファを介して入力され、第１データラッチ２ｃに保持される。次いで、メモリセルアレイ１から８ビットデータ“１０１１１０１１”が読み出され、第２データラッチ２ｄに格納される。
【００５６】
次に、演算回路３で第１データラッチ２ｃの書き込みデータと第２データラッチ２ｄの読み出しデータとが比較される。書き込みデータ“０００１１１００”と読み出しデータ“１０１１１０１１”を比較すると、書き換えを要するビット数が５ビットであることがわかる（Ｎ＝５）。全ビット数が８である（ｎ＝８）ので、書き換えビット数が過半数を占めている。すなわち、Ｎ＞ｎ／２である。
【００５７】
この場合、演算回路３はフラグ “０”を作成しフラグデータラッチ２ｅに格納する。次いで、第１データラッチ２ｃに保持された書き込みデータを反転させる。反転の結果、最初の書き込みデータ“０００１１１００”は、“１１１０００１１”に変換される。
【００５８】
次に、フラグデータ及びセルデータの書き込みが実行される。図１２では書き込むべきセルデータが“×１×００×××”と示されている。ここで、×は書き込みが不要なビットを示す。当初、書き換えビット数Ｎは５ビットであったが、書き込みデータの反転を行った結果、実際に書き換えを行うのは３ビットとなり、書き換えビット数を減少させることができる。
【００５９】
書き込みが終了した後、メモリセルＭＣにはデータ“１１１０００１１”が書き込まれ、そのメモリセルに対応するフラグ領域１ａにはフラグデータ“０”が格納される。
【００６０】
読み出しの際には、８ビットデータが第２データラッチ２ｄに読み出されると共に、読み出された８ビットデータに対応するフラグもフラグデータラッチ２ｅに読み出される。そして、フラグデータラッチ２ｅに格納されたフラグが“０”の場合には、第２データラッチ２ｄに格納されたデータが反転読み出され、フラグが“１”の場合には、そのまま第２データラッチ２ｄに格納されたデータがそのまま読み出される。上記の例の場合、フラグが“０”であるから、メモリセルアレイ１から読み出された８ビットのデータ “１１１０００１１”は、“０００１１１００”に反転されて読み出される。したがって、結果的に、当初の書き込みデータ“０００１１１００”が当該メモリセルＭＣに書き込まれたことと等価になる。
【００６１】
次に、反転書き込みを行わない場合について図１３を参照しながら詳細に説明する。
【００６２】
いま、メモリセルアレイ１のデータ領域１ａに８ビットのデータ“１１１０００１１”が記憶されており、このメモリセルアレイ１に書き込みデータ“１１１１０００１”を書き込む場合を考える。
【００６３】
まず、書き込みデータ“１１１１０００１”が、外部からＩ／Ｏバッファを通じて入力され、第１データラッチ２ｃに保持される。次いで、メモリセルアレイ１から既に記憶されている８ビットデータ“１１１０００１１”が読み出され、第２データラッチ２ｄに格納される。
【００６４】
次に、演算回路３で第１データラッチ２ｃの書き込みデータと、第２データラッチ２ｄの読み出しデータとが比較される。書き込みデータ“１１１１０００１”と読み出しデータ“１１１０００１１”を比較すると、書き換えを要するビット数が２ビットであることがわかる（Ｎ＝２）。全ビット数が８である（ｎ＝８）ので、書き換えビット数が過半数以下、すなわちＮ＜ｎ／２である。
【００６５】
この場合、演算回路３はフラグ “１”を作成する。
【００６６】
次に、セルデータの書き込みが実行される。図１３では書き込むべきセルデータが“×××１××０×”と示されている。ここで、×は書き込みが不要なビットを示す。
【００６７】
書き込み後のメモリセルのビットデータは“１１１１０００１”となる。データの反転を行わなかったため、フラグは“１”である。メモリセルアレイ１からの読み出しを行う場合には、フラグデータが“１”であることから非反転読み出しとなる。
【００６８】
このように、第１の実施形態に係るデータ書き込み方法によれば、ビット数の過半数が書き換えられる場合にデータ反転を実行することにより、実際に書き換えを行うビット数を減少させることができる。結果として、メモリセルの実効的な書き換え回数を減少させることができ、不揮発性メモリの信頼性の向上を図ることが可能となる。
【００６９】
[第２の実施形態]
図１４は、本発明の第２の実施形態に係るデータ書き込み方法を示すフローチャートである。第２の実施形態における演算回路３の判定アルゴリズムは、書き換えを行うべきビットにそのビット順位に応じた重み付けを行って判定を行う点で、第１実施形態と異なる。
【００７０】
まず、外部から図示しないＩ／Ｏバッファを通じて、書き込みデータを入力し、第１データラッチ２ｃに保持する（ステップＳ４０）。
【００７１】
一方、メモリセルアレイ１からはこれから書き込む場所のデータが読み出され、第２データラッチ２ｄに格納される（ステップＳ４１）。
【００７２】
次に、演算回路３で、両データを比較し、書き換えを要するビットに対してそのビット順位に応じて重み付けを行ったのち加算する。具体的には、重み係数ａｋ（ｋはビット順位）の和Σａｋを算出する（ステップＳ４２）。
【００７３】
次に、演算回路３において、重み計数の和Σａｋが所定値Ａを超えるかどうかの判定がなされる（ステップＳ４３）。
【００７４】
ステップＳ４３での判定の結果、Σａｋ＞Ａの場合には、フラグ“０”を作成し（ステップＳ４４）、書き込みデータを反転させて（ステップＳ４５）、データの書き込みを実行し（ステップＳ４６）、Σａｋ≦Ａの場合には、フラグ“１”を作成し（ステップＳ４７）、そのまま書き込みを実行する（ステップＳ４６）。
【００７５】
読み出しの場合は、第１実施形態と同様なので説明を省略する。
【００７６】
第２の実施形態によれば、重み係数ａｋを、例えば、メモリセルアレイ１又はこれを分割したＭＡＴの端に位置するメモリセルＭＣほど大きな値にすることにより、端に位置する特性の悪いメモリセルＭＣの書き換え回数を優先的に制限すること等が可能である。
【００７７】
［第３の実施形態］
図１５は、本発明の第３の実施形態を説明するための図である。
【００７８】
第３の実施形態における演算回路３の判定アルゴリズムは、書き換えビットの全てが“１”にリセットされるようなデータのビットパターンの場合、これを反転させて書き換えビットの全てが“０”にセットされるように適宜データの反転を行うようにしたものである。
【００７９】
例えば、図１５に示すように、メモリセルアレイ１からの読み出しデータが“１１１１１０００”、書き込みデータが“１１１１１１１１”である場合、第１の実施形態では、最後の３ビットのみを“０”から“１”にリセットするようにした。これに対し、第３の実施形態では、書き込みデータを反転させて“００００００００”とし、最初の５ビットを“１”から“０”にセットするようにしている。
【００８０】
このように制御することにより、書き換えビットが全てセット書き込みになる。これは、セット動作時間がリセット動作時間よりも遙かに短い場合に、アクセス時間の短縮化を図れるという点で効果がある。しかし、１ビットでもリセット動作が混在すると、セットとリセットとは同時に実行することはできないこと、或いは同時に実行できたとしても書き換え時間はリセット時間で律速することにより、この効果は得られない。
【００８１】
この第３の実施形態の方式を他の実施形態の方式と組み合わせることもできる。この場合、アクセス速度の向上を優先する場合には、第３の実施形態の方式を他の方式よりも優先的に実施することもできる。
【００８２】
［第４の実施形態］
図１６は、本発明の第４の実施形態に係るデータ書き込み方法を示す図である。第４の実施形態における演算回路３の判定アルゴリズムは、書き込みデータを複数（この例では２つ）に分割し、フラグのビット数を複数ビットとしたものである。
【００８３】
読み出しデータが“１０１１１０１１  ００１１１０００”、書き込みデータが“１０１０１０１０  １０００１１０１”であるとすると、上位８ビットの書き換えビット数は２ビット、下位８ビットの書き換えビット数は５ビットであるから、上位８ビットについては非反転、下位８ビットについては反転して書き込みを行う。フラグは、“１０”となる。これにより、書き換えビット数を、７ビットから５ビットに２ビット分だけ削減することができる。
【００８４】
データを読み出す場合には、２ビットのフラグに応じて、上位８ビット及び下位８ビットをそれぞれ反転又は非反転読み出しとする。図１６の例の場合、フラグが“１０”なので、上位８ビットは非反転読み出し、下位８ビットは反転読み出しとなる。
【００８５】
［第５の実施形態］
図１７は、本発明の第５の実施形態に係る不揮発性半導体記憶システムの構成を示すブロック図である。なお、図１７において、図１と対応する部分には同一符号を付してある。このシステムは、メモリチップを構成するメモリセルアレイ１、Ｒ／Ｗ回路２、演算回路３及びデータ入出力バッファ４と、チップ外部に設けられた外部コントローラ５とを有する。外部コントローラ５には、エラー検出訂正（以下、「ＥＣＣ」と呼ぶ。）回路５ａが設けられている。
【００８６】
なお、図示の例では、メモリチップの外部に外部コントローラ５が設けられ、この外部コントローラ５内にＥＣＣ回路５ａが設けられているが、ＥＣＣ回路はチップの内部に設けられていても良い。
【００８７】
書き込みに際しては、外部コントローラ５のＥＣＣ回路５ａで、書き込みデータから予めチェックビットを生成し、データ入出力バッファ４を介して第１データラッチ２ｃに格納する。
【００８８】
一方、メモリセルアレイ１のデータ領域１ａ及びチェックビット領域１ｃからは書き込みデータが記録される場所に記憶されているデータとチェックビットが読み出され、第２データラッチ２ｄに格納される。
【００８９】
そして、データ及びチェックビットの全体を比較・判定して、データ及びチェックビットを反転書き込みするか、非反転書き込みするかを示すフラグを生成し、書き込みデータ、そのチェックビット及びフラグをメモリセルアレイ１に書き込む。
【００９０】
また、読み出しに際しては、メモリセルアレイ１から読み出されたデータ及びチェックビットを、同じくメモリセルアレイ１から読み出されたフラグによって反転又は非反転とし、データ入出力バッファ４を介して外部コントローラ５に出力する。外部コントローラ５のＥＣＣ回路５ａは、読み出されたチェックビットを用いて読み出しデータのエラー検出訂正処理を実行する。
【００９１】
このように、本実施形態では、ＥＣＣによるビット反転がなされる前の読み出しデータと書き込みデータとを比較することによって、実際にメモリセルアレイ１に記憶されているデータ状態に対して書き換えの有無を判定することにより、書き換え回数を制限することができる。
【００９２】
また、この実施形態によれば、チェックビットを含めて書き換え回数を制限することができる。
【００９３】
［第６の実施形態］
図１８及び図１９は、第６の実施形態を説明するための図である。この第６の実施形態では、可変抵抗素子ＶＲが高抵抗状態及び低抵抗状態のいずれか一方が安定状態、他方が不安定状態であるとしたとき、安定状態となるメモリセルが増えるように、書き込みデータの反転、非反転を行うものである。
【００９４】
図１８は、図５に示したＲｅＲＡＭにおける高抵抗状態と低抵抗状態の電気化学ポテンシャル分布を模式的に示している。すなわちこの例では、セット、リセット動作がそれぞれ電圧（電場）過程、熱過程として行われて、データ書き込み／消去が行われる。電気化学ポテンシャルの低い高抵抗状態が安定状態である。ポテンシャル障壁の低い低抵抗状態は相対的に不安定であり、これがデータ保持特性を決定する。
【００９５】
図１９は、ＰＣＲＡＭの場合の素子構造とセット、リセット動作を示している。ＰＣＲＡＭの場合は、電極４１，４２間に記録層としてカルコゲナイト層４３を挟んでメモリセル（可変抵抗素子）が構成される。記録層が結晶状態のときが低抵抗状態（導体）であり且つ安定状態である。
【００９６】
この状態から、ジュール熱で加熱して急冷すると、記録層は非晶質となり、高抵抗（絶縁体）状態になる（セット動作）。高抵抗状態で徐冷すると、記録層が結晶化して低抵抗状態に戻る（リセット）。
【００９７】
ここでは、安定状態を“リセット”、非安定状態を“セット”と定義する。ＲｅＲＡＭでは、“リセット”が高抵抗状態、“セット”が低抵抗状態であるが、ＰＣＲＡＭでは、“リセット”が低抵抗状態、“セット”が高抵抗状態となっている。
【００９８】
本実施形態では、演算回路３は、書き込みデータのうち“リセット”状態になるメモリセルＭＣの数が、“セット”状態となるメモリセルＭＣの数よりも多くなるような判定アルゴリズムに従って動作する。
【００９９】
例えば、ＲｅＲＡＭの場合、書き込みデータが“１０１１１０１１”であれば、“リセット”が６ビット、“セット”が２ビットとなって、“リセット”されるビット数の方が多いので、フラグを“１”としてそのままデータを書き込む。一方、書き込みデータが“０１００１０００”の場合、“リセット”が２ビット、“セット”が６ビットとなって、“リセット”されるビット数の方が少ないので、フラグを“０”として書き込みデータを反転してデータを書き込む。
【０１００】
なお、データ書き込みの際には、予めメモリセル１から読み出した読み出しデータと書き込みデータとを比較して、異なるビットの部分のみを書き換えするようにすれば良い。
【０１０１】
これにより、常に、安定状態のセルを多数とすることができ、記憶装置の特性向上を図ることができる。
【０１０２】
［その他］
以上、発明の実施の形態を説明したが、本発明はこれらに限定されるものではなく、発明の趣旨を逸脱しない範囲内において、種々の変更、追加等が可能である。例えば、上記各実施形態の判定方法を優先順位を付けて適宜組み合わせて実行することもできる。また、本発明は、固体電解質を利用した記憶素子を用いたメモリ（ＰＭＣ，ＣＢＲＡＭ）にも適用可能である。
【図面の簡単な説明】
【０１０３】
【図１】本発明の第１の実施形態に係る不揮発性メモリのブロック図である。
【図２】同実施形態に係る不揮発性メモリのメモリセルアレイの一部の斜視図である。
【図３】図２におけるＩ−Ｉ′線で切断して矢印方向に見たメモリセル１つ分の断面図である。
【図４】同実施形態における可変抵抗素子の一例を示す模式的な断面図である。
【図５】同実施形態における可変抵抗素子の他の例を示す模式的な断面図である。
【図６】同実施形態における非オーミック素子の例を示す模式的断面図である。
【図７】同実施形態に係る非揮発性メモリのメモリセルアレイ及びその周辺回路の回路図である。
【図８】二値データの場合のメモリセルの抵抗値分布とデータの関係を示すグラフである。
【図９】同実施形態におけるデータ書込時の選択信号／ＷＳ，ＢＳと、書き込みパルスＷＰ，ＢＰを示す波形図である。
【図１０】同実施形態に係るデータ書き込み方法のフローチャートである。
【図１１】同実施形態に係るデータ読み出し方法のフローチャートである。
【図１２】同データ書き込み方法の一例を示す図である。
【図１３】同データ書き込み方法の他の例を示す図である。
【図１４】本発明の第２の実施形態に係るデータ読み出し方法のフローチャートである。
【図１５】本発明の第３の実施形態に係るデータ書き込み及び読み出し方法を説明するための図である。
【図１６】本発明の第４の実施形態に係るデータ書き込み及び読み出し方法を説明するための図である。
【図１７】本発明の第５の実施形態に係る不揮発性半導体記憶システムの構成を示すブロック図である。
【図１８】本発明の第６の実施形態に係るデータ書き込み方法を説明するための図である。
【図１９】同実施形態に係るデータ書き込み方法を説明するための図である。
【符号の説明】
【０１０４】
１…メモリセルアレイ、１ａ…フラグ領域、１ｂ…データ領域、１ｃ…チェックビット領域、２…読み出し／書き込み回路、２ａ…ＢＬデコーダ／ドライバ、２ｂ…ＷＬデコーダ／ドライバ、２ｃ…第１データラッチ、２ｄ…第２データラッチ、２ｅ…フラグデータラッチ、３…演算回路、４…データ入出力バッファ、５…外部コントローラ、５ａ…エラー検出訂正回路。
【図１】
0004719236.tif 000002
【図２】
0004719236.tif 000003
【図３】
0004719236.tif 000004
【図４】
0004719236.tif 000005
【図５】
0004719236.tif 000006
【図６】
0004719236.tif 000007
【図７】
0004719236.tif 000008
【図８】
0004719236.tif 000009
【図９】
0004719236.tif 000010
【図１０】
0004719236.tif 000011
【図１１】
0004719236.tif 000012
【図１２】
0004719236.tif 000013
【図１３】
0004719236.tif 000014
【図１４】
0004719236.tif 000015
【図１５】
0004719236.tif 000016
【図１６】
0004719236.tif 000017
【図１７】
0004719236.tif 000018
【図１８】
0004719236.tif 000019
【図１９】
0004719236.tif 000020