説明

半導体記憶装置及び半導体記憶システム

【課題】メモリセルの性能劣化要因の影響を抑制した信頼性の高い半導体記憶装置を提供する。
【解決手段】半導体記憶装置は、ワード線WLとビット線BLとの各交差部に配置され、一端がワード線に他端がビット線に接続された複数のメモリセルMCを有するメモリセルアレイ1と、メモリセルMCに対するデータの読み出し/書き込みを行う読み出し/書き込み回路2と、メモリセルMCから読み出された所定長のデータと、メモリセルMCに書き込むべき所定長のデータとを比較及び判定し、その判定結果を表すフラグを作成する演算回路3とを備える。読み出し/書き込み回路2は、データ書き込み時には、メモリセルに書き込むべき所定長のデータの各ビットをフラグに応じて反転させ、所定長のデータ及びフラグのうち書き換えられるデータのみをメモリセルに書き込み、データ読み出し時には、所定長のデータと共に対応するフラグを読み出してフラグに応じて所定長のデータの各ビットを反転させて出力する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、半導体記憶装置及び半導体記憶システムに関し、特に、不揮発性半導体メモリへのデータの書き込み技術に関する。
【背景技術】
【0002】
近年、フラッシュメモリに代わる不揮発性記憶装置として、抵抗変化メモリが注目されている。抵抗変化メモリは、例えば遷移金属酸化物を記録層としてその抵抗値状態を不揮発に記憶するReRAM(Resistance RAM)やカルコゲナイト等を記録層として用いてその結晶状態(導体)と非晶質状態(絶縁体)の抵抗値情報を利用するPCRAM(Phase Change RAM)を含む。
【0003】
このような不揮発性半導体記憶装置は、ビット線とワード線の各クロスポイントに、可変抵抗素子とダイオード等の整流素子を直列接続することによりメモリセルアレイを構成できるので、高密度メモリセルアレイを実現するのに適している。複数層のメモリセルアレイを積層することにより、セルアレイ部の面積を増大させることなく、更にメモリ容量を増加させることも容易である(例えば、特許文献1)。
【0004】
この種の不揮発性半導体記憶装置に使用される可変抵抗素子は、金属遷移元素の移動や相変化といった素子内部の状態変化によって、その抵抗値を変化させるものであるから、状態変化の回数が多くなると特性が劣化したり、一つの状態から他の状態に変化する速度が逆の状態に変化する速度よりも極端に遅かったり、何れか一方の状態に比較して他方の状態が不安定であるといった、種々の性能劣化要因が存在する。
【特許文献1】特表2002−541613号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
本発明は、メモリセルの性能劣化要因の影響を抑制した信頼性の高い半導体記憶装置及び半導体記憶システムを提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明の一つの態様において、半導体記憶装置は、互いに平行な複数のワード線、前記複数のワード線と交差するように形成された互いに平行な複数のビット線、及び前記ワード線とビット線との各交差部に配置されて、一端が前記ワード線に他端が前記ビット線に接続された複数のメモリセルを有するメモリセルアレイと、前記ワード線と前記ビット線との間にデータの読み出し/書き込みのための電圧を選択的に付与すると共に、前記メモリセルに対するデータの読み出し/書き込みを行う読み出し/書き込み回路と、前記読み出し/書き込み回路によって複数の前記メモリセルから読み出された所定長のデータと、当該複数のメモリセルに書き込むべき所定長のデータとを比較及び判定し、その判定結果を表すフラグを作成する演算回路とを備え、前記読み出し/書き込み回路は、データ書き込み時には、前記メモリセルに書き込むべき所定長のデータの各ビットを前記フラグに応じて反転させ、前記所定長のデータ及び前記フラグのうち書き換えられるデータのみを前記メモリセルに書き込み、データ読み出し時には、前記所定長のデータと共に対応する前記フラグを読み出して前記フラグに応じて前記所定長のデータの各ビットを反転させて出力することを特徴とする。
【0007】
本発明の他の態様において、半導体記憶装置は、互いに平行な複数のワード線、前記複数のワード線と交差するように形成された互いに平行な複数のビット線、及び前記ワード線とビット線との各交差部に配置されて、一端が前記ワード線に他端が前記ビット線に接続された複数のメモリセルを有するメモリセルアレイと、前記ワード線と前記ビット線との間にデータの読み出し/書き込みのための電圧を選択的に付与すると共に、前記メモリセルに対するデータの読み出し/書き込みを行う読み出し/書き込み回路と、複数の前記メモリセルに書き込むべき所定長のデータを判定し、その判定結果を表すフラグを作成する演算回路とを備え、前記演算回路は、前記複数のメモリセルに書き込むべき所定長のデータのうち、前記メモリセルをセット状態にするビット数が過半数かどうかを判定し、過半数の場合には前記書き込むべきデータの各ビットを反転させることを示すフラグを生成し、過半数でない場合には、各ビットを反転させないことを示すフラグを生成し前記読み出し/書き込み回路は、データ書き込み時には、前記メモリセルに書き込むべき所定長のデータの各ビットを前記フラグに応じて反転させ、前記所定長のデータ及び前記フラグのうち書き換えられるデータのみを前記メモリセルに書き込み、データ読み出し時には、前記所定長のデータと共に対応する前記フラグを読み出して前記フラグに応じて前記所定長のデータの各ビットを反転させて出力することを特徴とする。
【0008】
本発明の更に他の態様において、半導体記憶システムは、互いに平行な複数のワード線、前記複数のワード線と交差するように形成された互いに平行な複数のビット線、前記ワード線とビット線との各交差部に配置されて、一端が前記ワード線に他端が前記ビット線に接続された複数のメモリセル、及び前記ワード線と前記ビット線との間にデータの読み出し/書き込みのための電圧を選択的に付与すると共に前記メモリセルに対するデータの読み出し/書き込みを行う読み出し/書き込み回路を有する半導体記憶チップと、この半導体記憶チップに対してデータの読み出し及び書き込みを制御するコントローラとを有し、複数の前記メモリセルから読み出された所定長のデータと、当該複数のメモリセルに書き込むべき所定長のデータとを比較及び判定してその判定結果を表すフラグを作成し、データ書き込み時には、前記メモリセルに書き込むべき所定長のデータの各ビットを前記フラグに応じて反転させ、前記所定長のデータ及び前記フラグのうち書き換えられるデータのみを前記メモリセルに書き込み、データ読み出し時には、前記所定長のデータと共に対応する前記フラグを読み出して前記フラグに応じて前記所定長のデータの各ビットを反転させてエラー検出及び訂正したのち出力することを特徴とする。
【発明の効果】
【0009】
本発明によれば、メモリセルの性能劣化要因の影響を抑制した信頼性の高い半導体記憶装置及び半導体記憶システムを提供することができる。
【発明を実施するための最良の形態】
【0010】
以下、図面を参照しながら、本発明に係る半導体記憶装置の実施の形態について詳細に説明する。
【0011】
[第1の実施形態]
[全体構成]
図1は、本発明の第1の実施形態に係る不揮発性メモリのブロック図である。
【0012】
この不揮発性メモリは、メモリセルアレイ1と、メモリセルMCに対してデータの読み出し及び書き込みを行う読み出し/書き込み回路(以下、「R/W回路」と称する。)2と、データの書き込み及び読み出し時に後述するフラグを生成する演算回路3とを備える。
【0013】
メモリセル1は、後述する抵抗変化型素子を使用したメモリセルMCをマトリクス状に配置したもので、データを格納するデータ領域1a及びフラグを格納するフラグ領域1bを含む。
【0014】
R/W回路2は、次のように構成されている。メモリセルアレイ1のビット線BL方向に隣接する位置には、メモリセルアレイ1のビット線BLを制御し、メモリセルのデータ消去、メモリセルへのデータ書き込み、及びメモリセルからのデータ読み出しを行うBLデコーダ/ドライバ2aが設けられている。また、メモリセルアレイ1のワード線WL方向に隣接する位置には、メモリセルアレイ1のワード線WLを選択し、メモリセルのデータ消去、メモリセルへのデータ書き込み、及びメモリセルからのデータ読み出しに必要な電圧を印加するWLデコーダ/ドライバ2bが設けられている。BLデコーダ/ドライバ2aには、書き込みデータが格納される第1データラッチ2cと、読み出しデータが格納される第2データラッチ2dが接続されている。また、R/W回路2には、後述するフラグを格納するためのフラグデータラッチ2eが設けられている。第1データラッチ2cに格納された書き込みデータは、フラグデータラッチ2eに格納されたフラグが“1”の場合には、そのままBLデコーダ/ドライバ2aに転送され、フラグが“0”の場合には、各ビットが反転されてBLデコーダ/ドライバ2aに転送される。また、BLデコーダ/ドライバ2aによって読み出された読み出しデータは、第2データラッチ2dに格納され、同時に読み出されたフラグが“1”の場合には、そのまま外部に出力され、フラグが“0”の場合には、各ビットが反転されて外部に出力される。
【0015】
演算回路3は、第1及び第2データラッチ2c,2dに格納されたデータの各ビットを比較し、所定のルールに従って判定し、その判定結果を示すフラグを生成してフラグデータラッチ2eに出力する。
【0016】
なお、第2データラッチ2dに格納された読み出しデータは、図示しないデータ入出力バッファを介して外部のホストに接続される。
【0017】
[メモリセルアレイ及びその周辺回路]
図2は、メモリセルアレイ1の一部の斜視図、図3は、図2におけるI−I′線で切断して矢印方向に見たメモリセル1つ分の断面図である。
【0018】
複数本の第1の配線としてワード線WL0〜WL2が平行に配設され、これと交差して複数本の第2の配線としてビット線BL0〜BL2が平行に配設され、これらの各交差部に両配線に挟まれるようにメモリセルMCが配置される。第1及び第2の配線は、熱に強く、且つ抵抗値の低い材料が望ましく、例えばW,WSi,NiSi,CoSi等を用いることができる。
【0019】
メモリセルMCは、図3に示すように、可変抵抗素子VRと非オーミック素子NOの直列接続回路からなる。
【0020】
可変抵抗素子VRとしては、電圧印加によって、電流、熱、化学エネルギー等を介して抵抗値を変化させることができるもので、上下にバリアメタル及び接着層として機能する電極EL1,EL2が配置される。電極材としては、Pt,Au,Ag,TiAlN,SrRuO,Ru,RuN,Ir,Co,Ti,TiN,TaN,LaNiO,Al,PtIrOx, PtRhOx,Rh/TaAlN等が用いられる。また、配向性を一様にするようなメタル膜の挿入も可能である。また、別途バッファ層、バリアメタル層、接着層等を挿入することも可能である。
【0021】
可変抵抗素子VRは、カルコゲナイド等のように結晶状態と非晶質状態の相転移により抵抗値を変化させるもの(PCRAM)、金属陽イオンを析出させて電極間に架橋(コンタクティングブリッジ)を形成したり、析出した金属をイオン化して架橋を破壊することで抵抗値を変化させるもの(CBRAM)、電圧あるいは電流印加により抵抗値が変化するもの(ReRAM)(電極界面に存在する電荷トラップにトラップされた電荷の存在の有無により抵抗変化が起きるものと、酸素欠損等に起因する伝導パスの存在の有無により抵抗変化が起きるものとに大別される。)等を用いることができる。
【0022】
図4及び図5は、ReRAMの例を示す図である。図4に示す可変抵抗素子VRは、電極層11、13の間に記録層12を配置してなる。記録層12は、少なくとも2種類の陽イオン元素を有する複合化合物から構成される。陽イオン元素の少なくとも1種類は電子が不完全に満たされたd軌道を有する遷移元素とし、且つ隣接する陽イオン元素間の最短距離は、0.32nm以下とする。具体的には、化学式AxMyXz(AとMは互いに異なる元素)で表され、例えばスピネル構造(AM)、イルメナイト構造(AMO)、デラフォサイト構造(AMO)、LiMoN構造(AMN)、ウルフラマイト構造(AMO)、オリビン構造(AMO)、ホランダイト構造(AxMO)、ラムスデライト構造(AMO)ペロブスカイト構造(AMO)等の結晶構造を持つ材料により構成される。
【0023】
図4の例では、AがZn、MがMn、XがOである。記録層12内の小さな白丸は拡散イオン(Zn)、大きな白丸は陰イオン(O)、小さな黒丸は遷移元素イオン(Mn)をそれぞれ表している。記録層12の初期状態は高抵抗状態であるが、電極層11を固定電位、電極層13側に負の電圧を印加すると、記録層12中の拡散イオンの一部が電極層13側に移動し、記録層12内の拡散イオンが陰イオンに対して相対的に減少する。電極層13側に移動した拡散イオンは、電極層13から電子を受け取り、メタルとして析出するため、メタル層14を形成する。記録層12の内部では、陰イオンが過剰となり、結果的に記録層12内の遷移元素イオンの下層を上昇させる。これにより、記録層12はキャリアの注入により電子伝導性を有するようになってセット動作が完了する。再生に関しては、記録層12を構成する材料が抵抗変化を起こさない程度の微小な電流値を流せば良い。プログラム状態(低抵抗状態)を初期状態(高抵抗状態)にリセットするには、例えば記録層12に大電流を充分な時間流してジュール加熱して、記録層12の酸化還元反応を促進すれば良い。また、セット時と逆向きの電場を印加することによってもリセット動作が可能である。
【0024】
図5の例は、電極層11,13に挟まれた記録層15が第1化合物層15aと第2化合物層15bの2層で形成されている。第1化合物層15aは電極層11側に配置され化学式AxM1yX1zで表記される。第2化合物層15bは電極層13側に配置され第1化合物層15aの陽イオン元素を収容できる空隙サイトを有している。
【0025】
図5の例では、第1化合物層15aにおけるAがMg、M1がMn、X1がOである。第2化合物層15bには、遷移還元イオンとして黒丸で示すTiが含まれている。また、第1化合物層15a内の小さな白丸は拡散イオン(Mg)、大きな白丸は陰イオン(O)、二重丸は遷移元素イオン(Mn)をそれぞれ表している。なお、第1化合物層15aと第2化合物層15bとは、2層以上の複数層となるように積層されていても良い。
【0026】
この可変抵抗素子VRにおいて、第1化合物層15aが陽極側、第2化合物層15bが陰極側となるように、電極層11,13に電位を与え、記録層15に電位勾配を発生させると、第1化合物層15a内の拡散イオンの一部が結晶中を移動し、陰極側の第2化合物層15b内に進入する。第2化合物層15bの結晶中には、拡散イオンを収容できる空隙サイトがあるため、第1化合物層15a側から移動してきた拡散イオンは、この空隙サイトに収まることになる。このため、第1化合物層15a内の遷移元素イオンの価数が上昇し、第2化合物層15b内の遷移元素イオンの価数が減少する。初期状態において、第1及び第2の化合物層15a,15bが高抵抗状態であるとすれば、第1化合物層15a内の拡散イオンの一部が第2化合物層15b内に移動することにより、第1及び第2化合物の結晶中に伝導キャリアが発生し、両者共に電気伝導性を有することになる。なお、プログラム状態(低抵抗状態)を消去状態(高抵抗状態)にリセットするには、先の例と同様に、記録層15に大電流を充分な時間流してジュール加熱して、記録層15の酸化還元反応を促進すれば良い。また、セット時とは逆向きの電場を印加することによってもリセットは可能である。
【0027】
非オーミック素子NOは、例えば図6に示すように、(a)ショットキーダイオード、(b)PN接合ダイオード、(c)PINダイオード等の各種ダイオード、(d)MIM(Metal-Insulator-Metal)構造、(e)SIS構造(Silicon-Insulator-Silicon)等からなる。ここにもバリアメタル層、接着層を形成する電極EL2,EL3を挿入しても良い。また、ダイオードを使用する場合はその特性上、ユニポーラ動作を行うことができ、また、MIM構造、SIS構造等の場合にはバイポーラ動作を行うことが可能である。なお、非オーミック素子NOと可変抵抗素子VRの配置は、図3と上下を逆にしても良いし、非オーミック素子NOの極性を上下反転させても良い。
【0028】
図7は、非オーミック素子NOとしてダイオードSDを用いたメモリセルアレイ1及びR/W回路2の一部の回路図である。
【0029】
図7において、メモリセルMCを構成するダイオードのアノードはワード線WLに接続され、カソードは可変抵抗素子VRを介してビット線BLに接続されている。各ビット線BLの一端はBLデコーダ/ドライバ2aの一部である選択回路2aaに接続されている。また、各ワード線WLの一端はWLデコーダ/ドライバ2bの一部である選択回路2baに接続されている。
【0030】
選択回路2aaは、ビット線BL毎に設けられた、ゲート及びドレインが共通接続された選択PMOSトランジスタQP0及び選択NMOSトランジスタQN0からなる。選択PMOSトランジスタQP0のソースは、高電位電源Vccに接続されている。選択NMOSトランジスタQN0のソースは、書き込みパルスを印加すると共にデータ読み出し時に検出すべき電流を流すビット線側ドライブセンス線BDSに接続されている。トランジスタQP0,QN0の共通ドレインは、ビット線BLに接続され、共通ゲートには、各ビット線BLを選択するビット線選択信号BSiが供給されている。
【0031】
また、選択回路2baは、ワード線WL毎に設けられた、ゲート及びドレインが共通接続された選択PMOSトランジスタQP1及び選択NMOSトランジスタQN1からなる。選択PMOSトランジスタQP1のソースは、書き込みパルスを印加すると共にデータ読み出し時に検出すべき電流を流すワード線側ドライブセンス線WDSに接続されている。選択NMOSトランジスタQN1のソースは、低電位電源Vssに接続されている。トランジスタQP1,QN1の共通ドレインは、ワード線WLに接続され、共通ゲートには、各ワード線WLを選択するワード線選択信号/WSiが供給されている。
【0032】
[各メモリセルに対するデータ読み出し及び書き込み動作]
次に、各メモリセルMCに対するデータのリード・ライト動作を説明する。
【0033】
上述した回路において、データは各メモリセルMCの抵抗素子VRの抵抗値の大小として記憶される。非選択状態では、例えば、ワード線選択信号/WS0,/WS1,…が“H”レベル、ビット線選択信号BS0,BS1,…が“L”レベルとなって全てのワード線WLは“L”レベル、全てのビット線BLは“H”レベルとなる。この非選択状態では、全てのメモリセルMCのダイオードSDが逆バイアス状態でオフであり、可変抵抗素子VRには電流は流れない。ここで、ワード線WL1及びビット線BL1に繋がる真中のメモリセルMCを選択する場合を考えると、WLデコーダ/ドライバ2bはワード線選択信号/WS1を“L”レベルとし、BLデコーダ/ドライバ2aはビット線選択信号BS1を “H”レベルとする。これによってワード線WL1はワード線側ドライブセンス線WDSに接続され、ビット線BL1はビット線側ドライブセンス線BDSに接続されるので、ドライブセンス線WDSに“H”レベル、ドライブセンス線BDSに“L”レベルを印加することにより、ワード線WL1が“H”レベル、ビット線BL1が“L”レベルとなる。これにより、選択セルでは、ダイオードSDが順バイアスになって電流が流れる。このとき、選択セルに流れる電流量は、抵抗素子VRの抵抗値によって決まるから、電流量の大きさを検知することにより、データの読み出しができる。すなわち、図8に示すように、例えば高抵抗の消去状態を“1”、低抵抗のプログラム状態を“0”に対応させて、センスされた電流値が少ない場合“1”、多い場合“0”と検出することができる。
【0034】
なお、選択されたワード線WL1と非選択のビット線BLとは共に“H”レベルであるため、両者間に電流は流れず、非選択のワード線WLと選択されたビット線BL1とは共に“L”レベルであるから、これらの間にも電流は流れない。従って、選択されたメモリセル以外のメモリセルには電流は流れない。
【0035】
このようなメモリセルMCに流れる電流値の大小をBLデコーダ/ドライバ2a内の図示しないセンスアンプで検出することにより、メモリセルMCに記憶されているデータを、第2データラッチ2dに読み出すことができる。なお、各ビット線BLにセンスアンプを設けることで、ワード線WL方向に配置された複数のメモリセルからの複数ビットのデータを一括読み出しすることができる。また、ダイオードの極性を代えた場合には、WLデコーダ/ドライバ2ba側にセンスアンプを設けることでワード線WL側でデータ読み出しを行うようにしても良い。
【0036】
図9は、データ書込時の選択信号/WS,BSと、ドライブデータ線WDS,BDSに印加する書き込みパルスWP,BPを示す波形図である。書き込みパルスWP,BPは、昇圧回路を含む図示しないパルスジェネレータから生成出力される。
【0037】
可変抵抗素子VRを高抵抗状態から低抵抗状態に変化させるデータセット時には、データを書き込むメモリセルに対応したワード線WL1のワード線選択信号/WS1を“L”レベルにすると共に、書き込むメモリに対応したビット線BL1のビット線選択信号BS1を“H”レベルにする。これと同時に、ワード線側ドライブセンス線WDSには、図8に示す、可変抵抗素子VRの抵抗値を消去レベルからプログラムレベルに変化させるための書き込みパルスWPを与える。この書き込みパルスWPのパルス高さは例えばVccレベルとする。同時にビット線側ドライブセンス線BDSには、Vssレベルとなる負の書き込みパルスBPが与えられる。これにより、高抵抗状態(消去状態)の可変抵抗素子VRを低抵抗状態(プログラム状態)にセットすることができる。
【0038】
また、可変抵抗素子VRを低抵抗状態から高低抵抗状態に変化させるデータリセット時には、複数のメモリセルに対する一括消去が可能であるが、メモリセル毎の個別消去も可能である。この場合には、データを消去するメモリセルに対応したワード線WL1のワード線選択信号/WS1をセット時よりも長い時間“L”レベルにすると共に、書き込むメモリに対応したビット線BL1のビット線選択信号BS1を同じくセット時よりも長い時間“H”レベルにする。消去時には、メモリセルが低抵抗状態となっているので、ワード線側ドライブセンス線WDSには、セット時よりも低い消去パルスEWPを印加し、ビット線側ドライブセンス線BDSには、Vssレベルとなる負の消去パルスEBPを印加する。これにより、低抵抗状態にある可変抵抗素子VRに長い時間、多めの電流を流すことによってジュール熱によって高抵抗状態にリセットすることができる。
【0039】
[所定長のデータの書き込み及び読み出し動作]
可変抵抗素子VRへの書き込みパルス及び消去パルスの印加は、可変抵抗素子VRの劣化を促進するので、極力、パルス印加の回数を少なくしたい。そのためには、データが“0”から“1”又は“1”から“0”に書き換えられるメモリセルMCに対してのみ書き込みパルス又は消去パルスを印加することが考えられる。
【0040】
本実施形態では、R/W回路2によって複数のメモリセルMCから読み出された所定長(例えば8ビット)のデータと、メモリセルMCに書き込むべき所定長(例えば8ビット)のデータとを比較及び判定し、判定結果を表すフラグを作成する。そして、データ書き込み時には、メモリセルMCに書き込むべき所定長のデータの各ビットをフラグに応じて反転させることにより、書き換えビット数が極力少なくなるようにしている。
【0041】
図10は、このような不揮発性メモリへの所定長のデータの書き込み方法を示すフローチャートである。
【0042】
まず、外部から図示しないI/Oバッファを通じて書き込みデータDATAが入力され、そのデータがR/W回路2の第1データラッチ2cに格納される(ステップS20)。
【0043】
次に、BLデコーダ/ドライバ2aにより、書き込む場所のメモリセルMCのデータが読み出され、そのデータが第2データラッチ2dに保持される(ステップS21)。
【0044】
続いて、第1データラッチ2cに保持された書き込みデータと、第2データラッチ2dに保持された読み出しデータとが演算回路3に入力されて比較され、両データ間で値が異なるビットの数を書き換えビット数Nとして求める(ステップS22)。
【0045】
次に、演算回路3において、書き換えビット数Nが全ビット数nの過半数であるか否かを判定する(ステップS23)。例えば、データが8ビット(すなわち、n=8)で、書き換えビット数が5ビット(すなわち、N=5)の場合には、N>n/2となる。この点については、以下で詳細に説明する。
【0046】
ステップS23での判定の結果、N>n/2の場合には値が“0”のフラグを生成してフラグデータラッチ2eに格納し(ステップS24)、N≦n/2の場合には値が“1”のフラグを生成してフラグデータラッチ2eに格納する(ステップS27)。フラグが“0”の場合には、書き換えビット数がデータ長の過半数なので、第1データラッチ2cに格納された書き込みテータDATAの各ビットを反転させる(ステップS25)。具体的には、書き込みデータが“0”ならば“1”に反転させ、書き込みデータが“1”ならば“0”に反転させる。
【0047】
最後に、第1データラッチ2cに格納された書き込みデータ又はこれを反転したデータとフラグデータレジスタ2eに格納されたフラグとをメモリセルアレイ1のデータ領域1a及びフラグ領域1bにそれぞれ書き込む(ステップS26)。
【0048】
次に、上記のようにしてメモリセル1に書き込まれたデータを読み出す方法について説明する。図11は、メモリセルMCに書き込まれたデータを読み出す方法を記載したフローチャートである。
【0049】
まず、BLデコーダ/ドライバ2aを使って、選択したメモリセルMCのデータを所定長の単位で読み出して第2データラッチ2dに格納する(ステップS30)。
【0050】
このとき同時に、または続いて、当該所定長のデータに対応したフラグ領域1aのフラグを読み出してフラグデータラッチ2eに格納する(ステップS31)。
【0051】
フラグが“0”の場合は(ステップS32)、書き込みデータが反転して書き込まれていることを示している。したがって、読み出しの際にも反転させる必要がある。このため第2のデータラッチ2dに格納された読み出しデータの各ビットを反転させて読み出す(ステップS33)。
【0052】
一方、フラグが“1”の場合は(ステップS32)、書き込みデータが非反転であることを示している。したがって、読み出しの際に非反転読み出しを行う(ステップS34)。
【0053】
以上のデータ書き込み方法を、8ビットデータを書き込む場合を例にとって、さらに詳細に説明する。図12は、書き込みデータの反転を伴う場合を示し、図13は書き込みデータの反転を伴わない場合を示している。
【0054】
まず、図12に示すように、メモリセルアレイ1のデータ領域1aに8ビット“10111011”のデータが記憶され、このメモリセルアレイ1に書き込みデータ“00011100”を書き込む場合を考える。
【0055】
この場合、書き込みデータ“00011100”が、外部からI/Oバッファを介して入力され、第1データラッチ2cに保持される。次いで、メモリセルアレイ1から8ビットデータ“10111011”が読み出され、第2データラッチ2dに格納される。
【0056】
次に、演算回路3で第1データラッチ2cの書き込みデータと第2データラッチ2dの読み出しデータとが比較される。書き込みデータ“00011100”と読み出しデータ“10111011”を比較すると、書き換えを要するビット数が5ビットであることがわかる(N=5)。全ビット数が8である(n=8)ので、書き換えビット数が過半数を占めている。すなわち、N>n/2である。
【0057】
この場合、演算回路3はフラグ “0”を作成しフラグデータラッチ2eに格納する。次いで、第1データラッチ2cに保持された書き込みデータを反転させる。反転の結果、最初の書き込みデータ“00011100”は、“11100011”に変換される。
【0058】
次に、フラグデータ及びセルデータの書き込みが実行される。図12では書き込むべきセルデータが“×1×00×××”と示されている。ここで、×は書き込みが不要なビットを示す。当初、書き換えビット数Nは5ビットであったが、書き込みデータの反転を行った結果、実際に書き換えを行うのは3ビットとなり、書き換えビット数を減少させることができる。
【0059】
書き込みが終了した後、メモリセルMCにはデータ“11100011”が書き込まれ、そのメモリセルに対応するフラグ領域1aにはフラグデータ“0”が格納される。
【0060】
読み出しの際には、8ビットデータが第2データラッチ2dに読み出されると共に、読み出された8ビットデータに対応するフラグもフラグデータラッチ2eに読み出される。そして、フラグデータラッチ2eに格納されたフラグが“0”の場合には、第2データラッチ2dに格納されたデータが反転読み出され、フラグが“1”の場合には、そのまま第2データラッチ2dに格納されたデータがそのまま読み出される。上記の例の場合、フラグが“0”であるから、メモリセルアレイ1から読み出された8ビットのデータ “11100011”は、“00011100”に反転されて読み出される。したがって、結果的に、当初の書き込みデータ“00011100”が当該メモリセルMCに書き込まれたことと等価になる。
【0061】
次に、反転書き込みを行わない場合について図13を参照しながら詳細に説明する。
【0062】
いま、メモリセルアレイ1のデータ領域1aに8ビットのデータ“11100011”が記憶されており、このメモリセルアレイ1に書き込みデータ“11110001”を書き込む場合を考える。
【0063】
まず、書き込みデータ“11110001”が、外部からI/Oバッファを通じて入力され、第1データラッチ2cに保持される。次いで、メモリセルアレイ1から既に記憶されている8ビットデータ“11100011”が読み出され、第2データラッチ2dに格納される。
【0064】
次に、演算回路3で第1データラッチ2cの書き込みデータと、第2データラッチ2dの読み出しデータとが比較される。書き込みデータ“11110001”と読み出しデータ“11100011”を比較すると、書き換えを要するビット数が2ビットであることがわかる(N=2)。全ビット数が8である(n=8)ので、書き換えビット数が過半数以下、すなわちN<n/2である。
【0065】
この場合、演算回路3はフラグ “1”を作成する。
【0066】
次に、セルデータの書き込みが実行される。図13では書き込むべきセルデータが“×××1××0×”と示されている。ここで、×は書き込みが不要なビットを示す。
【0067】
書き込み後のメモリセルのビットデータは“11110001”となる。データの反転を行わなかったため、フラグは“1”である。メモリセルアレイ1からの読み出しを行う場合には、フラグデータが“1”であることから非反転読み出しとなる。
【0068】
このように、第1の実施形態に係るデータ書き込み方法によれば、ビット数の過半数が書き換えられる場合にデータ反転を実行することにより、実際に書き換えを行うビット数を減少させることができる。結果として、メモリセルの実効的な書き換え回数を減少させることができ、不揮発性メモリの信頼性の向上を図ることが可能となる。
【0069】
[第2の実施形態]
図14は、本発明の第2の実施形態に係るデータ書き込み方法を示すフローチャートである。第2の実施形態における演算回路3の判定アルゴリズムは、書き換えを行うべきビットにそのビット順位に応じた重み付けを行って判定を行う点で、第1実施形態と異なる。
【0070】
まず、外部から図示しないI/Oバッファを通じて、書き込みデータを入力し、第1データラッチ2cに保持する(ステップS40)。
【0071】
一方、メモリセルアレイ1からはこれから書き込む場所のデータが読み出され、第2データラッチ2dに格納される(ステップS41)。
【0072】
次に、演算回路3で、両データを比較し、書き換えを要するビットに対してそのビット順位に応じて重み付けを行ったのち加算する。具体的には、重み係数a(kはビット順位)の和Σaを算出する(ステップS42)。
【0073】
次に、演算回路3において、重み計数の和Σaが所定値Aを超えるかどうかの判定がなされる(ステップS43)。
【0074】
ステップS43での判定の結果、Σa>Aの場合には、フラグ“0”を作成し(ステップS44)、書き込みデータを反転させて(ステップS45)、データの書き込みを実行し(ステップS46)、Σa≦Aの場合には、フラグ“1”を作成し(ステップS47)、そのまま書き込みを実行する(ステップS46)。
【0075】
読み出しの場合は、第1実施形態と同様なので説明を省略する。
【0076】
第2の実施形態によれば、重み係数aを、例えば、メモリセルアレイ1又はこれを分割したMATの端に位置するメモリセルMCほど大きな値にすることにより、端に位置する特性の悪いメモリセルMCの書き換え回数を優先的に制限すること等が可能である。
【0077】
[第3の実施形態]
図15は、本発明の第3の実施形態を説明するための図である。
【0078】
第3の実施形態における演算回路3の判定アルゴリズムは、書き換えビットの全てが“1”にリセットされるようなデータのビットパターンの場合、これを反転させて書き換えビットの全てが“0”にセットされるように適宜データの反転を行うようにしたものである。
【0079】
例えば、図15に示すように、メモリセルアレイ1からの読み出しデータが“11111000”、書き込みデータが“11111111”である場合、第1の実施形態では、最後の3ビットのみを“0”から“1”にリセットするようにした。これに対し、第3の実施形態では、書き込みデータを反転させて“00000000”とし、最初の5ビットを“1”から“0”にセットするようにしている。
【0080】
このように制御することにより、書き換えビットが全てセット書き込みになる。これは、セット動作時間がリセット動作時間よりも遙かに短い場合に、アクセス時間の短縮化を図れるという点で効果がある。しかし、1ビットでもリセット動作が混在すると、セットとリセットとは同時に実行することはできないこと、或いは同時に実行できたとしても書き換え時間はリセット時間で律速することにより、この効果は得られない。
【0081】
この第3の実施形態の方式を他の実施形態の方式と組み合わせることもできる。この場合、アクセス速度の向上を優先する場合には、第3の実施形態の方式を他の方式よりも優先的に実施することもできる。
【0082】
[第4の実施形態]
図16は、本発明の第4の実施形態に係るデータ書き込み方法を示す図である。第4の実施形態における演算回路3の判定アルゴリズムは、書き込みデータを複数(この例では2つ)に分割し、フラグのビット数を複数ビットとしたものである。
【0083】
読み出しデータが“10111011 00111000”、書き込みデータが“10101010 10001101”であるとすると、上位8ビットの書き換えビット数は2ビット、下位8ビットの書き換えビット数は5ビットであるから、上位8ビットについては非反転、下位8ビットについては反転して書き込みを行う。フラグは、“10”となる。これにより、書き換えビット数を、7ビットから5ビットに2ビット分だけ削減することができる。
【0084】
データを読み出す場合には、2ビットのフラグに応じて、上位8ビット及び下位8ビットをそれぞれ反転又は非反転読み出しとする。図16の例の場合、フラグが“10”なので、上位8ビットは非反転読み出し、下位8ビットは反転読み出しとなる。
【0085】
[第5の実施形態]
図17は、本発明の第5の実施形態に係る不揮発性半導体記憶システムの構成を示すブロック図である。なお、図17において、図1と対応する部分には同一符号を付してある。このシステムは、メモリチップを構成するメモリセルアレイ1、R/W回路2、演算回路3及びデータ入出力バッファ4と、チップ外部に設けられた外部コントローラ5とを有する。外部コントローラ5には、エラー検出訂正(以下、「ECC」と呼ぶ。)回路5aが設けられている。
【0086】
なお、図示の例では、メモリチップの外部に外部コントローラ5が設けられ、この外部コントローラ5内にECC回路5aが設けられているが、ECC回路はチップの内部に設けられていても良い。
【0087】
書き込みに際しては、外部コントローラ5のECC回路5aで、書き込みデータから予めチェックビットを生成し、データ入出力バッファ4を介して第1データラッチ2cに格納する。
【0088】
一方、メモリセルアレイ1のデータ領域1a及びチェックビット領域1cからは書き込みデータが記録される場所に記憶されているデータとチェックビットが読み出され、第2データラッチ2dに格納される。
【0089】
そして、データ及びチェックビットの全体を比較・判定して、データ及びチェックビットを反転書き込みするか、非反転書き込みするかを示すフラグを生成し、書き込みデータ、そのチェックビット及びフラグをメモリセルアレイ1に書き込む。
【0090】
また、読み出しに際しては、メモリセルアレイ1から読み出されたデータ及びチェックビットを、同じくメモリセルアレイ1から読み出されたフラグによって反転又は非反転とし、データ入出力バッファ4を介して外部コントローラ5に出力する。外部コントローラ5のECC回路5aは、読み出されたチェックビットを用いて読み出しデータのエラー検出訂正処理を実行する。
【0091】
このように、本実施形態では、ECCによるビット反転がなされる前の読み出しデータと書き込みデータとを比較することによって、実際にメモリセルアレイ1に記憶されているデータ状態に対して書き換えの有無を判定することにより、書き換え回数を制限することができる。
【0092】
また、この実施形態によれば、チェックビットを含めて書き換え回数を制限することができる。
【0093】
[第6の実施形態]
図18及び図19は、第6の実施形態を説明するための図である。この第6の実施形態では、可変抵抗素子VRが高抵抗状態及び低抵抗状態のいずれか一方が安定状態、他方が不安定状態であるとしたとき、安定状態となるメモリセルが増えるように、書き込みデータの反転、非反転を行うものである。
【0094】
図18は、図5に示したReRAMにおける高抵抗状態と低抵抗状態の電気化学ポテンシャル分布を模式的に示している。すなわちこの例では、セット、リセット動作がそれぞれ電圧(電場)過程、熱過程として行われて、データ書き込み/消去が行われる。電気化学ポテンシャルの低い高抵抗状態が安定状態である。ポテンシャル障壁の低い低抵抗状態は相対的に不安定であり、これがデータ保持特性を決定する。
【0095】
図19は、PCRAMの場合の素子構造とセット、リセット動作を示している。PCRAMの場合は、電極41,42間に記録層としてカルコゲナイト層43を挟んでメモリセル(可変抵抗素子)が構成される。記録層が結晶状態のときが低抵抗状態(導体)であり且つ安定状態である。
【0096】
この状態から、ジュール熱で加熱して急冷すると、記録層は非晶質となり、高抵抗(絶縁体)状態になる(セット動作)。高抵抗状態で徐冷すると、記録層が結晶化して低抵抗状態に戻る(リセット)。
【0097】
ここでは、安定状態を“リセット”、非安定状態を“セット”と定義する。ReRAMでは、“リセット”が高抵抗状態、“セット”が低抵抗状態であるが、PCRAMでは、“リセット”が低抵抗状態、“セット”が高抵抗状態となっている。
【0098】
本実施形態では、演算回路3は、書き込みデータのうち“リセット”状態になるメモリセルMCの数が、“セット”状態となるメモリセルMCの数よりも多くなるような判定アルゴリズムに従って動作する。
【0099】
例えば、ReRAMの場合、書き込みデータが“10111011”であれば、“リセット”が6ビット、“セット”が2ビットとなって、“リセット”されるビット数の方が多いので、フラグを“1”としてそのままデータを書き込む。一方、書き込みデータが“01001000”の場合、“リセット”が2ビット、“セット”が6ビットとなって、“リセット”されるビット数の方が少ないので、フラグを“0”として書き込みデータを反転してデータを書き込む。
【0100】
なお、データ書き込みの際には、予めメモリセル1から読み出した読み出しデータと書き込みデータとを比較して、異なるビットの部分のみを書き換えするようにすれば良い。
【0101】
これにより、常に、安定状態のセルを多数とすることができ、記憶装置の特性向上を図ることができる。
【0102】
[その他]
以上、発明の実施の形態を説明したが、本発明はこれらに限定されるものではなく、発明の趣旨を逸脱しない範囲内において、種々の変更、追加等が可能である。例えば、上記各実施形態の判定方法を優先順位を付けて適宜組み合わせて実行することもできる。また、本発明は、固体電解質を利用した記憶素子を用いたメモリ(PMC,CBRAM)にも適用可能である。
【図面の簡単な説明】
【0103】
【図1】本発明の第1の実施形態に係る不揮発性メモリのブロック図である。
【図2】同実施形態に係る不揮発性メモリのメモリセルアレイの一部の斜視図である。
【図3】図2におけるI−I′線で切断して矢印方向に見たメモリセル1つ分の断面図である。
【図4】同実施形態における可変抵抗素子の一例を示す模式的な断面図である。
【図5】同実施形態における可変抵抗素子の他の例を示す模式的な断面図である。
【図6】同実施形態における非オーミック素子の例を示す模式的断面図である。
【図7】同実施形態に係る非揮発性メモリのメモリセルアレイ及びその周辺回路の回路図である。
【図8】二値データの場合のメモリセルの抵抗値分布とデータの関係を示すグラフである。
【図9】同実施形態におけるデータ書込時の選択信号/WS,BSと、書き込みパルスWP,BPを示す波形図である。
【図10】同実施形態に係るデータ書き込み方法のフローチャートである。
【図11】同実施形態に係るデータ読み出し方法のフローチャートである。
【図12】同データ書き込み方法の一例を示す図である。
【図13】同データ書き込み方法の他の例を示す図である。
【図14】本発明の第2の実施形態に係るデータ読み出し方法のフローチャートである。
【図15】本発明の第3の実施形態に係るデータ書き込み及び読み出し方法を説明するための図である。
【図16】本発明の第4の実施形態に係るデータ書き込み及び読み出し方法を説明するための図である。
【図17】本発明の第5の実施形態に係る不揮発性半導体記憶システムの構成を示すブロック図である。
【図18】本発明の第6の実施形態に係るデータ書き込み方法を説明するための図である。
【図19】同実施形態に係るデータ書き込み方法を説明するための図である。
【符号の説明】
【0104】
1…メモリセルアレイ、1a…フラグ領域、1b…データ領域、1c…チェックビット領域、2…読み出し/書き込み回路、2a…BLデコーダ/ドライバ、2b…WLデコーダ/ドライバ、2c…第1データラッチ、2d…第2データラッチ、2e…フラグデータラッチ、3…演算回路、4…データ入出力バッファ、5…外部コントローラ、5a…エラー検出訂正回路。

【特許請求の範囲】
【請求項1】
互いに平行な複数のワード線、前記複数のワード線と交差するように形成された互いに平行な複数のビット線、及び前記ワード線とビット線との各交差部に配置されて、一端が前記ワード線に他端が前記ビット線に接続された複数のメモリセルを有するメモリセルアレイと、
前記ワード線と前記ビット線との間にデータの読み出し/書き込みのための電圧を選択的に付与すると共に、前記メモリセルに対するデータの読み出し/書き込みを行う読み出し/書き込み回路と、
前記読み出し/書き込み回路によって複数の前記メモリセルから読み出された所定長のデータと、当該複数のメモリセルに書き込むべき所定長のデータとを比較及び判定し、その判定結果を表すフラグを作成する演算回路と
を備え、
前記読み出し/書き込み回路は、データ書き込み時には、前記メモリセルに書き込むべき所定長のデータの各ビットを前記フラグに応じて反転させ、前記所定長のデータ及び前記フラグのうち書き換えられるデータのみを前記メモリセルに書き込み、データ読み出し時には、前記所定長のデータと共に対応する前記フラグを読み出して前記フラグに応じて前記所定長のデータの各ビットを反転させて出力する
ことを特徴とする半導体記憶装置。
【請求項2】
前記演算回路は、前記メモリセルから読み出された所定長のデータと前記メモリセルに書き込むべき所定長のデータとを比較し、両データの間で書き換えられるビット数が全ビット数の過半数であるか否かを判定し、過半数である場合には前記書き込むべきデータの各ビットを反転させることを示すフラグを生成し、過半数でない場合には、各ビットを反転させないことを示すフラグを生成する
ことを特徴とする請求項1記載の半導体記憶装置。
【請求項3】
前記メモリセルアレイの各メモリセルには予め書き換え回数制限に関する重み付けがなされており、
前記演算回路は、前記メモリセルから読み出された所定長のデータと前記メモリセルに書き込むべき所定長のデータとを比較し、両データの間で書き換えられるビットの各重みの総数が所定値を超えたか否かを判定し、前記重みの総数が前記所定値を超えた場合には前記書き込むべきデータの各ビットを反転させることを示すフラグを生成し、前記重みの総数が前記所定値を超えない場合には、各ビットを反転させないことを示すフラグを生成する
ことを特徴とする請求項1記載の半導体記憶装置。
【請求項4】
互いに平行な複数のワード線、前記複数のワード線と交差するように形成された互いに平行な複数のビット線、及び前記ワード線とビット線との各交差部に配置されて、一端が前記ワード線に他端が前記ビット線に接続された複数のメモリセルを有するメモリセルアレイと、
前記ワード線と前記ビット線との間にデータの読み出し/書き込みのための電圧を選択的に付与すると共に、前記メモリセルに対するデータの読み出し/書き込みを行う読み出し/書き込み回路と、
複数の前記メモリセルに書き込むべき所定長のデータを判定し、その判定結果を表すフラグを作成する演算回路と
を備え、
前記演算回路は、前記複数のメモリセルに書き込むべき所定長のデータのうち、前記メモリセルをセット状態にするビット数が過半数かどうかを判定し、過半数の場合には前記書き込むべきデータの各ビットを反転させることを示すフラグを生成し、過半数でない場合には、各ビットを反転させないことを示すフラグを生成し
前記読み出し/書き込み回路は、データ書き込み時には、前記メモリセルに書き込むべき所定長のデータの各ビットを前記フラグに応じて反転させ、前記所定長のデータ及び前記フラグのうち書き換えられるデータのみを前記メモリセルに書き込み、データ読み出し時には、前記所定長のデータと共に対応する前記フラグを読み出して前記フラグに応じて前記所定長のデータの各ビットを反転させて出力する
ことを特徴とする半導体記憶装置。
【請求項5】
互いに平行な複数のワード線、前記複数のワード線と交差するように形成された互いに平行な複数のビット線、前記ワード線とビット線との各交差部に配置されて、一端が前記ワード線に他端が前記ビット線に接続された複数のメモリセル、及び前記ワード線と前記ビット線との間にデータの読み出し/書き込みのための電圧を選択的に付与すると共に前記メモリセルに対するデータの読み出し/書き込みを行う読み出し/書き込み回路を有する半導体記憶チップと、
この半導体記憶チップに対してデータの読み出し及び書き込みを制御するコントローラと
を有し、
複数の前記メモリセルから読み出された所定長のデータと、当該複数のメモリセルに書き込むべき所定長のデータとを比較及び判定してその判定結果を表すフラグを作成し、
データ書き込み時には、前記メモリセルに書き込むべき所定長のデータの各ビットを前記フラグに応じて反転させ、前記所定長のデータ及び前記フラグのうち書き換えられるデータのみを前記メモリセルに書き込み、データ読み出し時には、前記所定長のデータと共に対応する前記フラグを読み出して前記フラグに応じて前記所定長のデータの各ビットを反転させてエラー検出及び訂正したのち出力する
ことを特徴とする半導体記憶システム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate


【公開番号】特開2009−230796(P2009−230796A)
【公開日】平成21年10月8日(2009.10.8)
【国際特許分類】
【出願番号】特願2008−74087(P2008−74087)
【出願日】平成20年3月21日(2008.3.21)
【出願人】(000003078)株式会社東芝 (54,554)
【出願人】(598010562)東芝メモリシステムズ株式会社 (119)
【Fターム(参考)】