以下において、本発明の実施の形態について図面を参照して詳しく説明する。なお、図中同一符号は同一または相当部分を示す。
図1は、この発明の実施の形態に従う記憶装置の全体の構成を概略的に示す図である。
図1を参照して、記憶装置は、行列状にメモリセルMCが配列されるメモリセルアレイ100を含む。メモリセルMCは、相変化素子を含む可変抵抗素子と、この可変抵抗素子を選択する選択トランジスタとを含む。
このメモリセルアレイ100においては、メモリセルMCの行に対応してワード線WLが配置され、メモリセルMCの各列に対応してビット線BLが配置される。
記憶装置は、さらに、ワード線アドレス信号ADXをデコードし、メモリセルアレイ100内のワード線を指定するワード線選択信号を生成するワード線デコーダ102と、このワード線デコーダ102からのワード線選択信号に従って、選択されたワード線を選択状態へ駆動するワード線ドライブ回路104と、書込指示信号WRの活性化時活性化されて、ビット線アドレス信号ADYをデコードして、書込対象のビット線を選択するライトドライバデコーダ106と、ライトドライバデコーダ106の出力信号に従って選択ビット線にデータ書込時、書込電圧(電流)パルスを供給するビット線ドライブ回路108とを含む。
ライトドライバデコーダ106は、書込対象のビット線を選択し、かつ書込データに応じて、書込回路114から与えられる書込制御信号に従って書込対象のビット線へ書込電流パルスを供給するための制御信号を生成する。ビット線ドライブ回路108は、データ書込時、このライトドライバデコーダ106の出力信号に従って、選択ビット線へ書込電流パルスを供給する。ビット線ドライブ回路108は、データ書込動作時を除く期間は、出力ハイインピーダンス状態に維持される。
書込回路114は、書込活性化信号WEの活性化に従って、この書込データに基づいて選択ビット線に対する書込制御信号を生成する。この書込回路114からの書込制御信号が、ライトドライバデコーダ106へ与えられて、データの書込が、選択ビット線に対して実行される。
書込活性化信号WEは、書込み指示信号WRの活性化時、実際にデータを選択メモリセルに書込むときに活性化される。書込み指示信号WRは、動作モードがデータ書込モードであることを示す。
記憶装置は、さらに、ビット線アドレス信号ADYをデコードして、選択ビット線を指定するビット線選択信号を生成するビット線デコーダ110と、ビット線デコーダ110からのビット線選択信号に従って対応のビット線を選択し、選択列のビット線を内部データバス120に結合する列選択回路112と、データ読出時、この内部データバス120上に読出されたデータに基づいて内部読出データを生成する読出回路116と、内部データバス120に結合され、外部データDQの入出力を行なう入出力回路118を含む。
図2は、図1におけるメモリセルMCの構成を示す回路図である。
図2を参照して、メモリセルMCは、ワード線WLとビット線BLの交点に対応して設けられる。メモリセルMCは、ワード線がゲートに接続され一方端がビット線に接続されるアクセストランジスタATと、アクセストランジスタATの他方端と接地ノードとの間に直列に接続されるヒータ素子HEおよび相変化素子PEとを含む。
図3は、図2における相変化素子の説明をするための断面図である。
図3を参照して、ヒータ素子156と多結晶カルコゲナイド152とが接続され、その接続部分に相変化素子に対応するプログラマブルボリューム154が形成される。ヒータ素子156による多結晶カルコゲナイド152の加熱が一定温度以上となり、その後急冷が行なわれることにより、プログラマブルボリューム154はアモルファス状態となり抵抗値が高くなる。
一方、一旦アモルファス状態となったプログラマブルボリューム154は、ヒータ素子156による加熱が再結晶化温度を超えてある程度の時間行なわれると、アモルファス状態から抵抗値が低い多結晶状態に変化する。たとえば多結晶状態におけるメモリセルの抵抗値は2.0KΩであり、アモルファス状態におけるメモリセルの抵抗値は85KΩである。多結晶状態がデータ“0”に対応し、アモルファス状態がデータ“1”に対応する。
アモルファス状態から多結晶状態へ遷移させるために与える電流値Icellは、たとえば0.3mAであり、多結晶状態からアモルファス状態にプログラマブルボリューム154の状態遷移をさせるためには印加電流Icellはたとえば0.75mAであり、印加時間はたとえば85nsである。
[実施の形態1]
図4は、実施の形態1における相変化メモリの書込動作の1サイクルを示したフローチャートである。
図4を参照して、書込動作がステップS1で開始される。ステップS2において書込データが“1”か“0”かが判断される。
書込データが“1”である場合にはステップS3に進み、セル選択動作がなされる。次にステップS4に進みメモリセルのデータ読出が行なわれる。続いてステップS5に進み読出データが“1”か“0”かが判断される。読出データが“0”であった場合にはステップS6に進み、メモリセルに対して“1”を書込むために電流の印加が行なわれる。ステップS6が終了するとステップS10に進む。
一方、ステップS5において読出データが“1”であると判断された場合には、書込動作は行なわれずステップS10に進む。
ステップS2において書込データが“0”であると判断された場合には、ステップS7に進む。ステップS7では、書込アドレスに対応してデータを書込むメモリセルの選択がなされ、続いてステップS8において書込をするメモリセルに現在どんなデータが書かれているかデータの読出がなされる。続いて、ステップS9においてデータ“0”を書込む動作が行なわれる。そして、ステップS9が終了するとステップS10に進む。
なお、ステップS8のデータ読出動作は必ずしも必要ではないが、“1”を書込むときと“0”を書込むときのサイクルタイムが異なるのを避けた方が、メモリ装置として使いやすいので入れているものである。
ステップS10においては、メモリセルの選択等がリセットされ、書込サイクルがステップS11で終了する。
図5は、図4に示したフローチャートに対応するデータ書込サイクルを表わした図である。
図5を参照して、まず“1”書込サイクルでは、時刻t1〜t2における読出動作において“0”が読出された場合には、時刻t2〜t3において“1”を書込む動作を行なう。これに対し、時刻t1〜t2において“1”が読出された場合には、特に動作を行なわない(NOP:ノーオペレーション)。
一方、“0”を書込むサイクルにおいては、時刻t1〜t2の読出動作において“0”が読出されるか“1”が読出されるかにかかわらず、時刻t2〜t3では“0”を書込む動作を行なう。以上時刻t1〜t3が1つのデータ書込サイクルとなる。
従来は、ライトディスターブを防ぐには、高抵抗状態でのメモリセルの抵抗値Rcell(H)をあまり大きくできない。しかしメモリセルの抵抗値Rcell(H)をあまり大きくしないとすると、データ“1”,“0”に対応するメモリセルの抵抗比が大きく取れない。メモリセルの抵抗比が大きく取れないと読出アクセス時の読出信号が小さくなり、読出アクセスタイムが遅くなるという問題点があった。
本発明では、このような書込サイクルとすることによって、ライトディスターブの問題が生じない。高抵抗状態(“1”を保持している状態)への“1”の再書込を行なわないからである。したがって、メモリセルの抵抗の制約がなく、データ“1”を保持している際のメモリセルの抵抗値Rcell(H)を大きくすることができる。データ“1”,“0”に対応するメモリセルの抵抗比が大きくとれるようになり、読出信号が大きくでき、読出アクセスタイムを高速にすることができる。
図6は、図4に示したフローチャートの変形例である。
図6を参照して、ステップS21において書込サイクルが開始され、ステップS22において書込対象となるメモリセルの選択が、入力アドレスに応じて行なわれる。続いて、ステップS23において、書込対象のメモリセルに現在保持されているデータの読出が行なわれる。
そしてステップS24において、読出データと書込データが一致するか否かが判断される。読出データと書込データが一致しないときには、ステップS25においてデータ書込が行なわれる。一方、ステップS24において読出データと書込データが一致した場合においては、ステップS25のデータ書込は行なわれない。そしてステップS26に進みメモリセルの選択等がリセットされステップS27において書込サイクルが終了する。
図7は、図6に示したフローチャートに対応する書込サイクルの説明をするための図である。
図7を参照して、時刻t1〜t2において読出動作が行なわれ時刻t2〜t3において必要な場合にのみ書込動作が行なわれる。
“1”を書込むサイクルにおいては、時刻t1〜t1における読出動作時に“0”が読出された場合には、引続き時刻t2〜t3において“1”を書込む動作が行なわれる。一方、“1”を書込むサイクルで時刻t1〜t2の読出動作において“1”が読出された場合には、既にメモリセルに“1”のデータが保持されているので書込む必要がないためノーオペレーション(NOP)となる。
一方“0”を書込むサイクルにおいて時刻t1〜t2の読出動作時に“0”が読出された場合には、書込みたいデータが既にメモリセルに保持されているのでノーオペレーション(NOP)となる。これに対し、“0”を書込むサイクルにおいて時刻t1〜t2の読出動作時に“1”が読出された場合には、時刻t2〜t3において“0”を書込む動作が行なわれる。
図6、図7に示した動作を行なうことにより、ライトディスターブの問題が生じるケースつまり高抵抗状態(データ“1”を保持している状態)への“1”のデータの再書込(オーバーライト)を行なわないので、メモリセル抵抗の制約がなく、高抵抗状態の抵抗値Rcell(H)を大きくすることができる。
また、不要な書込動作を極力避けることにより、発熱による信頼性の問題を低減することができる。
図8は、書込動作の他の変形例を説明するためのフローチャートである。
図8を参照して、ステップS31において書込サイクルが開始され、ステップS32において書込データが“0”であるか“1”であるかが判断される。
ステップS32において書込データが“1”と判断された場合にはステップS33に進みセルの選択動作が行なわれ、続いて書込対象として選択されたセルに現在保持されているデータの読出動作がステップS34において行なわれる。ステップS34で読出されたデータが、ステップS35において“0”であるか“1”であるかが判断される。
ステップS35においてデータが“0”と判断された場合にはステップS36に進みデータ“1”を書込む動作が行なわれる。そしてステップS39に進む。一方ステップS35において読出データが“1”であると判断された場合にはステップS36を経由せずにステップS39に進む。
ステップS32において書込データが“0”であると判断された場合にはステップS37に進み、書込対象であるメモリセルの選択が行なわれる。そしてステップS38に進みデータ“0”の書込が行なわれる。この場合にはデータの読出は行なわれない。ステップS38の書込動作が終了するとステップS39に進む。
ステップS39では、メモリセルの選択等のリセットが行なわれステップS40において書込サイクルが終了する。
図9は、図8に示したフローチャートに対応する書込サイクルを説明するための図である。
図9を参照して、“1”を書込むサイクルにおいては、時刻t1〜t2において読出動作が行なわれている。時刻t1〜t2における読出動作において“0”が読出された場合には、保持されているデータが書込みたいデータとは異なっているので、時刻t2〜t4において“1”を書込む動作が行なわれる。
“1”を書込むサイクルの時刻t1〜t2における読出動作において“1”が読出された場合には、メモリセルに既に保持されているデータが書込みたいデータと等しいため、特に書込動作は行なわない(NOP)。
一方“0”を書込むサイクルにおいては時刻t1〜t2における読出動作は行なわず、直ちに時刻t1〜t3において“0”を書込む動作が行なわれる。“0”を保持している状態はメモリセルの抵抗が低いため、ライトディスターブの問題が生じないからである。
図8、図9に説明した動作を行なうことによっても、ライトディスターブの問題が解決できる。すなわち高抵抗状態(データ“1”を保持している状態)への“1”のデータ再書込を行なわないのでメモリセル抵抗の制約はなく、メモリセル抵抗値Rcell(H)を大きくすることができる。また、“1”を書込むサイクルにおいては不要な書込動作を極力避けることにより発熱による信頼性の問題を低減することができる。
図10は、さらに他の書込サイクルの変形例を説明するためのフローチャートである。
図10を参照して、ステップS51において書込サイクルが開始され、ステップS52において書込データが“1”であるか“0”であるかが判断される。
ステップS52においてデータが“1”であると判断された場合にはステップS53においてメモリセルの選択が行なわれ、ステップS54において書込対象のメモリセルに現在保持されているデータの読出が行なわれる。
続いてステップS55において読出データが“0”であるか“1”であるかが判断される。
ステップS55において読出されたデータが“0”であると判断された場合にはステップS56に進み“1”の書込動作が行なわれる。そしてステップS61に進む。
一方、ステップS55において読出データが“1”であると判断された場合には、ステップS57において一旦“0”を書込む動作が行なわれた後に、ステップS58において“1”を書込む動作が行なわれ、そしてステップS61に進む。ステップS57において一旦“0”を書込むのは、これによりメモリセルの抵抗値が低くなり“1”を書込む動作が行ないやすくなるからである。
ステップS52において書込データが“0”であると判断された場合には、ステップS59に進み書込対象であるメモリセルの選択が行なわれる。その後、ステップS60において“0”の書込動作が行なわれ、ステップS61に進む。
ステップS61ではメモリセルの選択等のリセットが行なわれステップS62において書込サイクルが終了する。
図11は、図10に示したフローチャートによるデータ書込サイクルを説明するための図である。
図11を参照して、データ“1”を書込むサイクルでは、時刻t1〜t2において読出動作が行なわれる。この読出動作において“0”が読出された場合には、時刻t2〜t4において“1”を書込む動作が行なわれる。
データ“1”を書込むサイクルで時刻t1〜t2の読出動作において“1”が読出された場合には、時刻t2〜t4において、一旦この読出された“1”のデータを“0”のデータに書換える。これによりメモリセルの抵抗値が小さくなり、“1”の書込が確実に行なわれるようになる。
そして時刻t4〜t5において“1”を書込む動作が行なわれる。
これにより時刻t1〜t2において読出動作による加熱によってメモリセルの徐熱が起こりデータの誤書換えが発生するのを防ぐことができる。
一方、“0”を書込むサイクルでは、読出動作は行なわれず時刻t1〜t3において“0”を書込む動作が行なわれる。
図10で説明した書込サイクルは図11では結局時刻t1〜t5が1つのデータ書込サイクルとなる。
図10、図11において説明した書込動作でも、ライトディスターブの問題を解決することができる。すなわち、高抵抗状態(“1”を保持している状態)への“1”データの再書込を、一旦“0”を書込んだ後に“1”を書込む動作を行なうことで実現する。したがって、メモリセル抵抗の制約はなく、メモリセル抵抗値Rcell(H)を大きくすることができる。
また、不要な書込動作を極力避けることにより、発熱による信頼性の問題を低減することができる。
[実施の形態2]
実施の形態2ではリードディスターブの問題を解決する。
図12は、実施の形態2の読出サイクルの説明を行なうためのフローチャートである。
図12を参照して、ステップS71において読出サイクルが開始される。そして、ステップS72において読出対象となるメモリセルの選択が行なわれる。
続いてステップS73においてデータ読出動作が行なわれ、ステップS74において読出データが“0”であるか“1”であるかが判断される。
読出データが“0”であった場合にはリードディスターブの問題が発生しないのでそのままステップS76に進む。一方、読出データが“1”であった場合には読出におけるメモリセルの加熱によりデータが“0”に書換わってしまうおそれがあるので、ステップS75に進む。ステップS75では“1”を再び書込んでおく動作を行ない、そしてステップS76に進む。
ステップS76ではメモリセルの選択等のリセットが行なわれ、ステップS77において書込動作が終了する。
図13は、図12のフローチャートの読出サイクルを説明するための図である。
図13を参照して、読出サイクルにおいて時刻t1〜t2において読出動作が行なわれる。読出した結果が“0”である場合には特に動作は行なわれない(NOP)。
一方、時刻t1〜t2に読出したデータが“1”であった場合には時刻t2〜t3においてデータ“1”を書込む動作を行なう。
図14は、図12に示した動作の変形例を示したフローチャートである。
図14では、ステップS74とステップS75との間にステップS81が設けられ、メモリセルが“1”を保持していた場合に一旦このデータを“0”に書換える点が図12と異なる。他のステップについては図12で説明したので説明は繰返さない。
図15は、図14のフローチャートの読出サイクルを説明するための図である。
図15を参照して、時刻t1〜t2において読出動作が行なわれる。読出結果が“0”であった場合には時刻t2以降は特に動作は行なわれない(NOP)。
一方、時刻t1〜t2において“1”が読出された場合には、時刻t2〜t3において“0”を書込む動作が行なわれ、そして引続き時刻t3〜t4において“1”を書込む動作が行なわれる。これによりメモリセルが“1”を保持している場合に、読出電流によるメモリセルの加熱によるデータ誤書換が一層生じにくくなる。
つまりステップS81を設けることにより、メモリセルの抵抗値を一旦低くするためのステップS75の“1”を書込む動作が、より確実に行なえるようになる。
図16は、図14に示したフローチャートのさらなる変形例を示した図である。
図16に示したフローチャートは、ステップS74とS76との間に“0”を書込む動作を行なうステップS82が設けられた点が、図14のフローチャートとは異なっている。他のステップについては図12、図14で説明したため説明は繰返さない。このように読出データが“0”の場合も“1”の場合も両方とも読出データと同じデータを再書込みするようにしてもかまわない。
以上説明したように、メモリセルから“1”を読出した場合に読出電流によりセルが加熱されメモリセルが保持している“1”のデータが破壊されるのを防ぐために、少なくとも“1”を読出した後には“1”を書込む動作を行なう。これにより、メモリセルの抵抗の制約はなくメモリセルの高抵抗状態での抵抗値Rcell(H)をあまり大きくしなくてもよいので読出が容易となる。好ましくは“1”を読出した後には“0”を一旦書いた後に“1”を書込むことを行なうことにより“1”の書込動作がさらに容易化できる。また“0”を読出した場合にも“0”を再書込してもよい。
[実施の形態3]
実施の形態3では、相変化メモリの読出および書込回路の具体例と改良実施例を示す。これらは、従来技術の読出動作や書込動作の改良実施例としても、また実施の形態1、実施の形態2のそれぞれについての読出および書込回路例としても適宜適用が可能である。
図17はデータ書込の書込電流波形を示した図である。
図18は相変化メモリの書込動作を説明するためのメモリアレイの構成を示した図である。
図17、図18を参照して、メモリセルアレイのワード線WL1とビット線BL1との交点に対応してメモリセル201が設けられ、ワード線WL2とビット線BL1の交点に対応してメモリセル202が設けられている。メモリセル201、202の構成は、図2で説明したので説明は繰返さない。
ビット線BL1を書込データバスWDBに接続するためのスイッチ204はコラム選択線CSL1の活性化に応じて導通する。ビット線BLnはコラム選択線CSLnの活性化に応じてスイッチ206が導通したときに書込データバスWDBに接続される。書込データバスWDBと電源ノードとの間には可変電流源208が設けられる。可変電流源208は書込データを示す信号φに応じて電流値および電流の印加時間が変化する。
書込データが“0”の場合と“1”の場合とでは、書込に最適な電流値や電流パルス幅が異なる。図17に示すように“1”を書込む場合には波形WA1がメモリセルに印加される。波形WA1は時刻t0〜t1の短時間に書込電流I1を流しメモリセルをその後急冷することによりメモリセルの一部がアモルファス化され抵抗値が高くなる。
一方、メモリセルに0を書込む場合には、波形WA2に示されるように時刻t0〜t3の間書込電流I2をメモリセルに流す。書込電流I2は、書込電流I1よりも電流値が小さい。
これによりメモリセルがアモルファス状態から再結晶化が進行し多結晶状態となる。そしてメモリセルの抵抗値は低くなる。
図19は、図18の可変電流源208の構成をより詳細に示した回路図である。
可変電流源208は、電源ノードと書込データバスWDBとの間に接続されゲートがノ
ードN11に接続されるPチャネルMOSトランジスタ210と、電源ノードとノードN11との間に接続されゲートがノードN11に接続されるPチャネルMOSトランジスタ212と、ノードN11と接地ノードとの間に接続されゲートに信号φ0を受けるNチャネルMOSトランジスタ214と、ノードN11と接地ノードとの間に接続されゲートに信号φ0を受けるNチャネルMOSトランジスタ216とを含む。NチャネルMOSトランジスタ216のゲート幅はW1でありNチャネルMOSトランジスタ216のゲート幅はW2である。これら2つのゲート幅の間にはW1<W2の関係がある。なお信号φ0は書込データが0の場合に活性化される信号であり、信号φ1は書込データが1である場合に活性化される信号である。
可変電流源208は、さらに、信号φ0,φ1を受けるNOR回路222と、NOR回路222の出力を受けて反転するインバータ220と、電源ノードとノードN11との間に接続されゲートにインバータ220の出力を受けるPチャネルMOSトランジスタ218を含む。
図20は、図19に示した可変電流源の動作を説明するための動作波形図である。
図19、図20を参照して、データ書込は、書込データが“1”である場合と“0”である場合に従った2種類の電流ピーク値およびパルス幅を持つ電流パルスをメモリセルに流すことで行なう。この電流パルスの制御は可変電流源208によって行なわれる。
すなわち、メモリセルをワード線WLで選択し、選択メモリセルに含まれるアクセストランジスタとコラム選択線CSLにより選択される選択スイッチ204を通して書込電流を印加する。時刻t1〜t4の間ワード線WLおよびコラム選択線CSLが活性化される。このとき“0”を書込む場合信号φ0が時刻t1〜t3の間活性化される。一方、“1”を書込む場合にはこれに代わって信号φ1がt1〜t2の間活性化される。
“0”書込がなされる場合にはその場合の電流値はNチャネルMOSトランジスタ214のゲート幅で定まる。そして“1”を書込む場合には書込の電流値はNチャネルMOSトランジスタ216のゲート幅で定まる。W1<W2の関係があるため、“1”を書込む際の電流値の方が“0”を書込む場合の電流値よりも大きくなる。
図21は、図20に示した書込動作を改良した波形を示した動作波形図である。
図20のような回路動作では、特に、“1”書込でメモリセルを急冷しなければならないために、書込データバスの容量やビット線容量の放電をメモリセルで行なうと好ましくない。これは書込電流の立下がり時の時定数が大きくなるために、電流が流れる時間が長くなり急冷されずに相変化素子が正しくアモルファス化されない可能性があるからである。このために図21の実線で示されるように、“0”を書込む場合にはワード線WLおよびコラム選択線CSLの活性化期間は信号φ0の活性化期間と揃えておく。
その一方で、“1”を書込む場合には図21の破線に示されるように信号φ1の活性化期間に合せてワード線WLおよびコラム選択線CSLの活性化期間も時刻t1〜t2の間だけにする。これにより、メモリセル201、202は時刻t2においてビット線から切り離されるため、ビット線の放電がメモリセルを介して時刻t2〜t3の間に行なわれることはなくなる。
ところが、図21のような回路動作では、同一メモリマットに複数ビットを同時に書込するようなメモリ構成の場合には“1”を書込むメモリセルと“0”を書込むメモリセルとが同一メモリマット上に存在する場合にはワード線を立下げるタイミングが両立しない。
図22は、同一メモリマットに複数ビット同時に書込する場合の構成を示した回路図である。
図22を参照して、ビット線BLAとワード線WL1との交点に対応してメモリセル201Aが設けられ、ビット線BLAとワード線WL2との間の交点に対応してメモリセル202Aが設けられる。コラム選択線CSLAの活性化に応じてコラム選択スイッチ204Aはビット線BLAを書込データバスWDBAに接続する。ビット線BLAおよび書込データバスWDBAに対応して可変電流源208Aが設けられる。可変電流源208Aの構成は、図9に示した可変電流源208と同様であり説明は繰返さない。
ワード線WL1とビット線BLBとの交点に対応してメモリセル201Bが設けられ、ワード線WL2とビット線BLBとの交点に対応してメモリセル202Bが設けられる。ビット線BLBを書込データバスWDBBに接続するために、コラム選択線CSLBの活性化に応じて導通するコラム選択スイッチ204Bが設けられている。書込データバスWDBBに対応して可変電流源208Bが設けられる。可変電流源208Bの内部の構成は可変電流源208Aと同様であるので説明は繰返さない。
図23は、図22に示した構成の書込動作を説明するための動作波形図である。
データ“0”とデータ“1”を書込む動作を同時に行なうことをせず、これらの動作を時間的に分離して行なうようにすればよい。
図23を参照して、具体的には、時刻t1〜t2においてワード線WL1が活性化され、データ“0”を書込むメモリセル201Aがビット線に接続され、コラム選択線CSLAが活性化されることによってこれが可変電流源208Aに接続され、メモリセル201Aに所定の電流が印加される。
そして時刻t3〜t4においては同様にワード線WL1が活性化され、データ“1”を書込むメモリセル201Bがビット線を介して可変電流源208Bに接続される。
このように、データ“0”書込動作と“1”書込動作を時間的に分離して行なうことにより、データに応じてワード線を速く非選択状態にして迅速にメモリセルをビット線から切離しつつ、複数データの同時書込が可能となる。
図19〜図23のような回路動作では、電流源が2種類の電流値を発生するような回路であった。しかしながらこれと同等の動作を他の方法でも実現することができる。
図24は、他の方法でデータ書込をする場合の構成を示した回路図である。
図24では、ワード線ドライブ回路104Aがデータφ0,φ1に対応してワード線WL1,WL2…の活性化電位を変化させる。代わりに、電流源208Cは図19の電流源208よりももっと簡単な構成でよい。
具体的には、電流源208Cは、電源ノードと書込データバスWDBとの間に接続されゲートがノードN21に接続されるPチャネルMOSトランジスタ300と、電源ノードとノードN21との間に接続されゲートがノードN21に接続されるPチャネルMOSトランジスタ312と、ノードN21と接地ノードとの間に接続されゲートに書込時に活性化される信号φwを受けるNチャネルMOSトランジスタ314と、電源ノードとN21との間に接続されゲートに信号φwを受けるPチャネルMOSトランジスタ313とを含む。なお、NチャネルMOSトランジスタ314のゲート幅W2は、図19のNチャネルMOSトランジスタ216と同様W2であり電流源208C自体の電流供給能力は“1”を書込むことができる能力に設定されている。
図25は、図24に示した回路の動作を説明するための動作波形図である。
図25を参照して、時刻t1〜t2ではワード線WL,コラム選択線CSLおよび信号φw,φ0が活性化される。φ0が活性化されている期間はワード線ドライブ回路104Aはワード線WLの活性化電位を、たとえば0.5Vに低く設定する。これにより、電流源208Cから供給される電流が制限されメモリセルの加熱状態は低めに設定される。
一方、時刻t3〜t4では、ワード線WL,コラム選択線CSLおよび信号φw,φ1が活性化される。信号φ1が活性化される場合には、ワード線ドライブ回路104Aはワード線の活性化電位を、たとえば1.5Vに高く設定する。これにより電流源208Cから供給される電流はあまり電流制限されずにそのままメモリセルに印加されることになり、メモリセルの加熱状態は高く設定される。
図26は、さらに他の方法でデータ書込をする場合の構成を示した回路図である。
図26では、列選択回路112Aがデータφ0,φ1に対応してコラム選択線CSLの活性化電位を変化させる。図24の場合と同様、電流源208Cは図19の電流源208よりももっと簡単な構成でよい。電流源208Cの構成は図24で説明しているので、説明は繰返さない。
図27は、図26に示した回路の動作を説明するための動作波形図である。
図27を参照して、時刻t1〜t2ではワード線WL,コラム選択線CSLおよび信号φw,φ0が活性化される。φ0が活性化されている期間は列選択回路112Aはコラム選択線CSLの活性化電位を、たとえば0.5Vに低く設定する。これにより、電流源208Cから供給される電流が制限されメモリセルの加熱状態は低めに設定される。
一方、時刻t3〜t4では、ワード線WL,コラム選択線CSLおよび信号φw,φ1が活性化される。信号φ1が活性化される場合には、列選択回路112Aはコラム選択線CSLの活性化電位を、たとえば1.5Vに高く設定する。これにより電流源208Cから供給される電流はあまり電流制限されずにそのままメモリセルに印加されることになり、メモリセルの加熱状態は高く設定される。
図28は、相変化メモリのデータ読出に関する改善例を示した図である。
図28を参照して、ワード線WL1とビット線BLの交点に対応してメモリセル401が設けられ、ワード線WL2とビット線BLの交点に対応してメモリセル402が設けられている。ビット線BLは、スイッチ回路404によってコラム選択線CSLが活性化されると、リードデータバスRDBに接続される。
ビット線BLの電位を接地電位に初期化しておくために、ビット線BLと接地ノードとの間に接続され、信号BL−RESETをゲートに受けるNチャネルMOSトランジスタ410が設けられる。
センスアンプ412は、電源ノードとノードN31との間に接続されゲートに信号φSAを受けるPチャネルMOSトランジスタ414と、ゲートおよびドレインがノードN31に接続されソースが電源ノードに接続されるPチャネルMOSトランジスタ416と、ノードN31とリードデータバスRDBとの間に接続されゲートに参照電位Vrefを受けるNチャネルMOSトランジスタとを含む。
センスアンプ412は、さらに、電源ノードとノードN32との間に接続されゲートがノードN31の接続されるPチャネルMOSトランジスタ418と、ノードN32と接地ノードとの間に直列に接続されるNチャネルMOSトランジスタ422,424とを含む。NチャネルMOSトランジスタ422のゲートは参照電位Vrefに結合される。NチャネルMOSトランジスタ424のゲートは信号φSAを受ける。ノードN32からは読出出力信号Doutが出力される。
図29は、図28に示した構成の読出動作を説明するための動作波形図である。
図28、図29を参照して、時刻t1において信号BL−RESETがHレベルからLレベルに非活性化され、続いて時刻t2においてワード線WL、コラム選択線CSLおよび信号φSAが活性化される。すると、NチャネルMOSトランジスタ410によってLレベルにリセットされていたビット線BLの電位が、選択されたメモリセルの保持データに応じて変化する。データは、ビット線電位およびビット線電流として読出される。
メモリセルが“0”を保持している場合には、図29の実線に示すようにビット線電位、ビット線電流および出力データDoutが読出される。一方、メモリセルがデータ“1”を保持していた場合には、図29の破線に示すようにビット線電位、ビット線電流および信号Doutが出力される。
読出が終了する時刻t3において、ワード線WL,コラム選択線CSLおよび信号φSAが非活性化され、続いて時刻t4において信号BL−RESETがHレベルに活性化される。
これにより時刻t4以降はビット線電位はLレベルに固定される。
図30は、図29におけるビット線電流を拡大して示した図である。
図30を参照して、メモリセルから“0”が読出される場合には読出電流I−READは電流値が大きい。これはメモリセルが低抵抗状態にあるからである。
一方、メモリセルから“1”が読出される場合には読出電流I−READは小さい。これはメモリセルが高抵抗状態にあるからである。
つまり、図28のセンスアンプ412は、メモリセルからビット線および読出データバスを介して、メモリセルの抵抗の差異を電流差として読出し電圧に変換して出力する。
[実施の形態4]
図31は、実施の形態4のデータ書込に関する構成を示した回路図である。
図31に示した構成は、図19で示した構成に加えて、書込データバスWDBの電位Vcontと参照電位Vrefとを比較して信号Vwriteを出力する比較回路452と、信号φ1と比較回路452の出力とを受けるAND回路454とを含む。なお、NチャネルMOSトランジスタ216には信号φ1に代わりにAND回路454の出力が与えられる。
図32は、図31に示した構成の書込動作時の波形を示す動作波形図である。
図33は、比較回路の出力信号と入力信号の関係を示した図である。
図32、図33を参照して、データ書込は、書込データ“1”/“0”に従った2種類の電流ピーク値およびパルス幅を持つ電流パルスをメモリセルに与えることで行なわれる。メモリセルをワード線WLで選択し、メモリセル中のアクセストランジスタとコラム選択線CSLにより選択される選択スイッチ204とを介して相変化素子に書込電流を印加する。ワード線およびコラム選択線による選択は、時刻t1〜t4の間行なわれる。データ“0”を書込む場合は時刻t1〜t3の間信号φ0が活性化され、一方、データ“1”を書込む場合は時刻t1〜t2の間信号φ1が活性化される。
このときデータを蓄積したメモリセルに蓄積データによらず書込動作を行なうことが高速書込サイクルを実現するために望ましい。しかし“1”を蓄積したメモリセル(高抵抗状態のメモリセル)に“1”のデータを書込む場合には、メモリセルの抵抗が“0”を保持している場合と比べて10倍程度に大きくなっている。このため十分な加熱に必要な電流をメモリセルに流すことができない。
したがってメモリセルが保持しているデータにかかわらず書込動作を行なうと、結果的に“1”を保持している場合には小さな電流を流して徐熱する結果となる。メモリセルを徐熱することは、データ“0”を書込む方向である。したがってデータ“1”の書込を行なっているつもりがかえってデータ破壊を招くことになる。
この対策としては、メモリセルに電流が流れないと電流源付近の電圧が上がってくることを検知して、書込動作を遮断するとよい。この検知を比較回路452で行なう。これにより、メモリセル温度が徐熱によりアモルファスから多結晶に遷移する遷移温度まで上昇するのを防ぎ、データ破壊を防止することができる。また、メモリセルのデータ保持状態を把握するための読出動作を書込サイクルにおいて行なわなくてもよくなる。
より具体的に可変電流源208の動作を説明する。メモリセルの抵抗値が小さいとき、つまり相変化素子が多結晶状態のときは、NチャネルMOSトランジスタ214、216のゲート幅で決定される電流値が、PチャネルMOSトランジスタ210、212によって構成されるカレントミラーによってメモリセルに流れる。この電流値に対応してメモリセルは多結晶になったりアモルファス状態となったりする。
一方、メモリセルの抵抗値が大きいとき、つまり相変化素子がアモルファス状態のときは、NチャネルMOSトランジスタ214、216で決定される電流値がメモリセルを流れる前に電位Vcontが上限まで上昇してしまうので、PチャネルMOSトランジスタ210、212はカレントミラーとして動作を行なわない。このため、メモリセルの抵抗値が大きい場合にデータ“1”を書込むときには、メモリセルに結果的に小さな電流が流れる。この小さな電流が流れる時間が長いと、相変化素子がアモルファス状態から多結晶状態に変化してしまう。これを防止するため、図33において電位Vcontが参照電位Vrefを超えると、出力である電位VwriteがHレベルからLレベルに変化しNチャネルMOSトランジスタ216のゲートは非活性化される。したがって、電位Vcontが参照電位Vrefを超えた場合には電流源208の動作が停止する。これによりアモルファス状態が維持される。
[実施の形態5]
実施の形態5では、ライトディスターブ、リードディスターブの問題を解決するためのメモリセルパラメータの実現について説明する。
メモリセル書換に必要な電流設定は、
Icell(“1”Write) > Icell(“0”Write)…(1)
である。
式(1)において、Icell(“1”Write)とは、データ“0”を保持している状態の
メモリセルをデータ“1”に書換えるためのメモリセル電流である。また、Icell(“0”Write)とは、データ“0”または“1”を保持している状態のメモリセルを“0”に書換えるためのメモリセル電流である。
メモリセルが“0”を保持している状態では相変化素子は多結晶状態であり、メモリセルは低抵抗状態である。これに対し、データ“1”を保持している状態では、相変化素子はアモルファス状態であり、メモリセルは高抵抗状態である。高抵抗状態のメモリセルの抵抗値は低抵抗状態の場合と比べると10倍程度となっている。この高抵抗状態のメモリセルに“1”をオーバーライトするためには、メモリセルに所定の電流を流す必要がある。
高抵抗状態のメモリセルに所定の電流を流すためには、低抵抗状態のメモリセルに与える電圧の10倍程度の電圧を印加する必要がある。しかし、一定の動作電源電圧を用いるという条件下では、電圧を10倍印加することはできず、このためメモリセルのアクセストランジスタのIdsによって電流は小さく制限される(メモリセルの面積にも依存するが、たとえばI<200μA)。したがって、データ“1”を保持している状態のメモリセルに“1”をオーバーライトするときには通常はアモルファス化のための所定の電流にはならず、電流値が小さいため徐熱のみをして終わることになる。しかし、この徐熱を多数回繰返すうちに多少とも多結晶化が進むような温度にメモリセルがなってしまうと“1”データが破壊され“0”を保持する状態となってしまう。
もう少し具体的に言うと、メモリセルのデータが“1”(アモルファス状態)のときは、メモリセルのデータが“0”(多結晶状態)のときと同じ電圧を加えても流れる電流が小さいので、セルが少し加熱されたとしても本来は多結晶化が進む温度に至らずアモルファス状態が保持されるはずである。しかし、メモリセル特性のばらつきや、印加電流値のばらつき等により加熱の程度が想定を超えると、多少とも多結晶化が進む温度に至る場合が考えられ、多数回“1”書込みを行なうと“1”であるべきデータが“0”に書き換わることがある、という問題がある。
このような問題を避けるためには、データ“1”を保持している状態のメモリセルに“1”をオーバーライトするときの発熱量を、メモリセルが多結晶化する遷移温度まで上がらないような設定にする。たとえば電流値を小さくし、電流パルスの幅を十分短いものとする。
次に読出時について検討すると、データ“1”を読出す場合には、メモリセルデータの読出のためにメモリセルに電流を流す。
このとき流す電流をIcell(“1”Read)とする。読出のための電流は、リードアクセスの高速化のためには大きいほど良い。しかし、電流が大きすぎるとメモリセルに電流を流すことによりメモリセルの徐熱となる。これを多数回繰返すうちに“1”データが破壊され、“0”データになってしまう。このようなリードディスターブの問題を回避するためには、Icell(“1”Read)が十分小さく、発熱量はメモリセルが多結晶化する遷移温度まで至らないような設定とする。このためには電流値を小さく、電流パルス幅を十分短くする。少なくとも、
Icell(“0”Write) > Icell(“1”Read)…(2)
を満たすようにする。
式(1)、(2)より、Icell(“1”Read)の上限が決まる。これと、次式
Icell(“0”Read) > Icell(“1”Read)
により決まるIcell(“0”Read)がリードアクセスの速度を決定する。リードアクセスの高速化には、たとえば、Icell(“0”Read)>10μAであることが必要である。
また、式(1)、(2)より、
Icell(“1”Write) > Icell(“0”Write) > Icell(“1”Read)…(3)
が導かれる。式(3)の不等号は電流の絶対値の関係ではなく、電流印加時間を含めた発熱量での比較であるので、正確には、“1”書込時のメモリセル到達温度をTcell(“1”Write)、“0”書込時のメモリセル到達温度をTcell(“0”Write)、“1”読出時のメモリセル到達温度をTcell(“1”Read)、“1”に“1”を上書きする時のメモリセル到達温度をTcell(“1”Overwrite)、メモリセルの相変化素子が相変化を起こ
す温度をT(transition)とすると、式(3)で示した関係は、
Tcell(“1”Write)>Tcell(“0”Write)>Tcell(“1”Read) …(4)
Tcell(“1”Read)<T(transition) …(5)
Tcell(“1”Overwrite)<T(transition) …(6)
の3式にまとめられる。
これらを満たすようにメモリセル素子の材料・構造・抵抗値設定、ヒータ素子の材料・構造・抵抗値設定、メモリセル動作電圧・電流を設定すれば、ライトディスターブやリードディスターブの問題を回避できる相変化メモリを実現することができる。これにより相変化メモリセルのデータの信頼性を高めることができる。
なお、以上のすべての実施の形態は、メモリセルの構成によらずに適用できるものである。図2では、ビット線BL−トランジスタAT−ヒータ素子HE−相変化素子PE−接地ノードの順に配置したメモリセルの構成を例示したが、たとえば図34に示すように、ビット線BL−相変化素子PE−ヒータ素子HE−トランジスタAT−接地ノードの順の配置となるようにメモリセルの構成を変形してもよい。
[実施の形態6]
従来のカルコゲナイドガラスなどを用いた相変化メモリでは、メモリセルアクセス動作において、書込時の発熱によるメモリセルの温度上昇が、次のサイクルの動作に影響するという問題点がある。
すなわち、相変化メモリでは、選択したメモリセルにデータ書込を行なう場合には、書込動作終了時にはメモリセルの温度が500℃以上まで上昇している。加熱後急冷してアモルファス化(高抵抗化=データ“1”書込)する場合も、除熱して多結晶化(低抵抗化=データ“0”書込)する場合も、500℃以上までセル温度が上昇するのは同様である。
したがって書込動作終了後すぐに次のサイクルを行なう場合に、選択書込を行なったメモリセルと同一のメモリセルにアクセスする動作、すなわち読出または書込をする動作を行なうと、当該セルは通常セルと異なり、温度が高いために次の(1)、(2)の問題を生ずる。
(1) 次のサイクルが読出の場合には、常温である通常セルとメモリセルの抵抗が異なっており、抵抗は小さくなっている。このため、データセンス読出動作においては、リファレンスレベルを印加する場合でも、ダミーセルを用いる場合でも、リファレンスレベルやダミーレベルが適合せず、センスマージンを損なうことが考えられる。
(2) 次のサイクルが書込の場合には、次のサイクルの開始時点でのメモリセルの温度は通常より高くなっている。これに対して通常の書込電流印加を行なうと、書込時のメモリセルの温度がねらい目より高くなってしまい、メモリセルが過剰に熱せられることによる信頼性の低下や書込マージンの減少に至る。
実施の形態6〜実施の形態8においては、これらの問題点を解決する。
実施の形態6では、実際上のタイミング使用を損なうことなく、すなわち、メモリ装置としてのデータレートをさほど損なうことなく、有効に問題点を解決する手段を示す。
このために、書込サイクル終了時に、書込されたメモリセルが所定温度まで冷却するのに十分な冷却時間を確保する。
確保する方法としては、まず、書込サイクル動作の終了時に内部でセル冷却時間を入れることが考えられる。
図35は、メモリセルの冷却時間の説明をするための図である。
図35を参照して、“1”が書込まれる場合(急冷)についてまず説明すると、時刻t1〜t2においてセル書込電流が印加され、印加電流の増大に少し遅れてメモリセルの温度が、外気温度Temp(Amb)から温度Temp(A)にまで上昇する。時刻t2においては書込電流が供給停止され、これに伴い時刻t2〜t3の間においてメモリセルの温度は温度Temp(A)から外気温度Temp(Amb)の近くまで下がる。この時刻t2〜t3の間の時間を冷却時間Tcool(A)とする。
一方、データ“0”を書込む場合(除熱)について説明する。時刻t1において“1”を書込む際よりも小さな電流が印加され、これに応じて時刻t1〜t2の間メモリセルの温度は外気温度Temp(Amb)から温度Temp(P)まで上昇する。アモルファス化されていたメモリセルがしばらくこの温度Temp(P)に維持されることにより、アモルファス状態から多結晶状態にメモリセルの相が変化する。
時刻t4においてメモリセルへの書込電流の印加が停止され、これに応じて時刻t4〜t5の間でメモリセルの温度は温度Temp(P)から外気温度Temp(Amb)の近くまで下がる。この場合のセル冷却期間は時刻t4から時刻t5までの時間Tcool(P)となる。
なお、図35において、上側に記載されたセル書込電流の立下がり波形に対して、下側に記載されたセル温度の立下がり波形は相似ではなく、温度の変化が電流にやや遅れて追従することに注意する必要がある。
書込サイクル動作の終了時に内部でセル冷却時間を入れる説明をする。内部書込サイクルが終了した後、すなわちメモリセルへ書込電流印加を終えた後には、さらに、メモリセルの冷却期間を経過した後に、次のサイクル受付けを開始するようにセルフタイミング設定を行なう。メモリセルの冷却時間は、書込時にメモリセルが到達した温度とメモリセルの放熱能力との兼ね合いで決定される。
アモルファス化におけるセル到達温度をTemp(A)とし、多結晶化におけるセル到達温度をTemp(P)とすると、Temp(A) > Temp(P) なので、アモルファス化における必要冷却時間は多結晶化における多結晶化後の必要冷却時間よりも長い。
つまり、アモルファス化サイクル終了時の必要冷却時間をTcool(A)とし、多結晶化サイクル終了の必要冷却時間をTcool(P)とすると、Tcool(A) > Tcool(P)となる。ここでアモルファス化はデータ“1”を書込む場合であり、多結晶化はデータ“0”を書込む場合である。
したがって、アモルファス化書込サイクル時間をT(A)とし、多結晶化書込サイクル時間をT(P)とし、アモルファス化書込必要時間をTc(A)とし、多結晶化書込必要時間をTc(P)とすると、
Tc(A)=T(A)+Tcool(A)
Tc(P)=T(P)+Tcool(P)
T(A)<T(P)、Tcool(A)>Tcool(P)
となる。
書込時到達温度と放熱時定数τより、Tcool(A)、Tcool(P)を求める。たとえば、外気温度をTemp(Amb)とすると、書込時温度上昇がTemp(Amb)+αまで冷却される時間として、
Temp(Amb)+(Temp(A)−Temp(Amb))*exp(−Tcool(A)/τ)=Temp(Amb)+α
が成立する。
式変形をすると、
Tcool(A)=τ*log[(temp(A)−Temp(Amb))/α)]
同様に、Tcool(P)=τ*log[(Temp(P)−Temp(Amb))/α)]も成立する。
上式より、Tcool(A)−Tcool(P)=τ*log[(Temp(A)−Temp(amb)/(Temp(A)−Temp(Amb))]が成立する。
この関係を保って冷却時間を確保すればよい。
これら冷却時間は、メモリセルに書込電流印加を終了した時点より開始される。たとえば、ワード線が立下がり、セル印加電流が終了した時点、あるいは、ワード線は選択状態ではあるがビット線系よりセルへの電流印加を止めた時点、などである。
実際には、Tcool(A)>Tcool(P)であることから、アモルファス化サイクル(データ“1”書込サイクル)の終了時に通常温度に達する時間を設定し、これを多結晶化サイクル終了時にも適用すれば十分な時間となる。
図36は、書込サイクルの終了時に外部NOPサイクルを入れることを示した図である。
図36は、読出に要するクロックサイクル数=1、書込“1”に要するクロックサイクル数=2、書込“0”に要するクロックサイクル数=4、書込サイクル後のメモリセル冷却に要するNOPサイクル=1、という前提で書いているが、これに限られるものではない。
まず動作内容♯1Aでは、クロックサイクル1〜2において書込“1”サイクルが行なわれる。そして続いてクロックサイクル3においてNOPサイクル(ノーオペレーションサイクル)が行なわれる。これにより書込時に加熱されたメモリセルが必要な温度まで冷却される。続いてクロックサイクル4においてメモリセルからのデータ読出が行なわれる。そしてクロックサイクル5〜8において書込“0”サイクルが行なわれる。書込が行なわれたのでクロックサイクル9においてNOPサイクルが挿入される。続くクロックサイクル10においては、読出動作が行なわれる。
また動作内容♯1Bでは、クロックサイクル1〜2において書込“1”サイクルが行なわれる。そして続いてクロックサイクル3においてNOPサイクル(ノーオペレーションサイクル)が行なわれる。これにより書込時に加熱されたメモリセルが必要な温度まで冷却される。続いてクロックサイクル4〜7において書込“0”サイクルが行なわれる。書
込が行なわれたのでクロックサイクル8においてNOPサイクルが挿入される。
このように、書込動作が行なわれた後に冷却時間をNOPサイクルにより確保する。前述に示したような関係を満たすように十分な冷却時間を確保することを、NOPサイクルを挿入することにより実現するものである。簡単には、書込サイクル後に必ず1サイクルのNOPを入れなければならないという外部入力タイミング規格(スペック)とすることにより、書込後の動作サイクルに制限を設ければよい。
図37は、他の動作条件(第2の方法)を示した図である。
図37も、読出に要するクロックサイクル数=1、書込“1”に要するクロックサイクル数=2、書込“0”に要するクロックサイクル数=4、書込サイクル後のメモリセル冷却に要するNOPサイクル=1、という前提で書いているが、これに限られるものではない。
まず動作内容♯3Aでは、クロックサイクル1にまずNOPサイクルが設けられる。クロックサイクル2〜3において書込“1”サイクルが行なわれる。続いてクロックサイクル4においてメモリセルからのデータ読出が行なわれる。そして続いてクロックサイクル5においてNOPサイクルが行なわれる。これにより続く書込は、加熱されたメモリセルが必要な温度まで冷却されてから行なわれる。そしてクロックサイクル6〜9において書込“0”サイクルが行なわれる。続くクロックサイクル10においては、読出動作が行なわれる。読出は、書込ほど加熱されないので前に冷却のためのNOPサイクルを設けなくてもよい。
また動作内容♯3Bでは、クロックサイクル1にまずNOPサイクルが設けられる。クロックサイクル2〜3において書込“1”サイクルが行なわれる。そして続いてクロックサイクル4においてNOPサイクルが行なわれる。これにより続く書込は、加熱されたメモリセルが必要な温度まで冷却されてから行なわれる。そしてクロックサイクル5〜8において書込“0”サイクルが行なわれる。
このように、書込動作が行なわれる前に予め冷却時間をNOPサイクルにより確保する。前述に示したような関係を満たすように十分な冷却時間を確保することを、NOPサイクルを挿入することにより実現するものである。簡単には、書込サイクル前に必ず1サイクルのNOPを入れなければならないという外部入力タイミング規格(スペック)とすることにより、書込後の動作サイクルに制限を設ければよい。
つまり、図36で説明したように、冷却時間は書込サイクルの終了時に入れてもよいが、図37に示すように書込サイクルの開始前に入れても同様な効果が得られる。すなわち、書込セルの温度上昇による次の動作サイクルでの書込動作時のマージン低下や信頼性低下を防止することができる。
また、第3の方法として、同一アドレスへの書込が連続する場合には、その間に外部NOPサイクルあるいは読出サイクルを入れるという方法がある。
図38は、同一アドレスへの連続書込に対する動作を説明するためのフローチャートである。
図38を参照して、まず書込サイクルが開始されると、ステップS101において書込が2回連続しているか否かが判断され、書込が2回連続していない場合にはステップS103に進み、通常の書込動作が選択セルに対して行なわれる。一方、ステップS101において書込が2回連続している場合には、ステップS102に進む。ステップS102では、アクセスアドレスが1回目のアドレスAdd1と2回目のアドレスAdd2が等しいか否かが判断される。
アクセスアドレスが等しくない場合にはステップS103に進み選択セルへの通常書込動作がなされる。一方アクセスアドレスが等しい場合には、ステップS104に進み冷却時間後に選択セルへの書込動作を行なう。ステップS103またはS104が終了すると、次のサイクルに移る。
図39は、図38のフローチャートに対応する動作を示した図である。
図39を参照して、クロックサイクル1〜2では、アドレスAdd1への書込“1”の動作が行なわれる。続いてクロックサイクル3〜6では、アドレスが前回とは異なるアドレスAdd2に対する書込“0”の動作が行なわれる。クロックサイクル2と3との間では、異なるアドレスに対する連続書込であるので、NOPサイクルは挿入されない。一方、クロックサイクル3〜6の書込“0”に引続き、書込“1”の動作が同じアドレスに対して指示されたとする。この場合には、同一アドレスAdd2への連続書込となるので、クロックサイクル7においてNOPサイクルが挿入される。NOPサイクルに限らずたとえば読出サイクルでも構わない。そしてクロックサイクル8〜9においてアドレスAdd2への書込“1”の動作が行なわれる。
図39に示すように、同一アドレスへの連続書込を避け、必要ならば冷却時間を確保することを入力タイミング規格とすれば、アドレスが異なる連続書込の場合は高速動作を維持しつつも、上述の第1、第2の方法と同様の冷却時間を外部NOPあるいは読出サイクルにより確保することができる。
上述の第1〜第3のいずれかの方法により、選択されデータ書込が行なわれたメモリセルが、通常温度付近にまで戻るのを待って、次のサイクルを行なうことにより、書込対照セルの温度上昇によるリサイクルでの同一セルへのアクセス時のマージン低下や信頼性低下を防止することができる。
[実施の形態7]
実施の形態6で示した例以外に、メモリの書込と読出の連続サイクル(同一アドレス、異なるアドレス)、書込と書込の連続サイクル(同一アドレス、異なるアドレス)のサイクル動作に応じて同様に問題を解決する例を説明する。
実施の形態7では書込サイクル後の読出サイクルでの問題解決を示す。
図40は、実施の形態7の相変化メモリの構成を示したブロック図である。
図40を参照して、相変化メモリ500は、アドレス入力端子521と、アドレス入力バッファ501とWE入力端子522と、WE信号入力バッファ502と、データ入力端子523と、データ入力バッファ503と、データ出力端子524と、データ出力バッファ504とを含む。
相変化メモリ500は、さらに、信号WEに応じてアドレス入力バッファ501の出力するアドレスを一時的に保持する書込アドレスレジスタ507と、前サイクルのアドレスを書込アドレスレジスタ507から受け、現サイクルのアドレスをアドレス入力バッファ501から受けて両者を比較するアドレス一致比較回路508と、書込データレジスタ509と、スイッチ505、506と、Xデコーダ&WLドライバ510と、Yデコーダ&データI/O回路511と相変化メモリセルアレイ512とを含む。
Xデコーダ&WLドライバ510は、アドレス入力バッファ501の出力に応じてデコ
ード動作とワード線の駆動を行なう。スイッチ505は、データ入力バッファ503の出力を信号WEに応じて、書込データレジスタとYデコーダ&データI/O回路511の2系統のいずれかを選択して出力する。スイッチ506は、信号WEとアドレス一致比較回路508の出力とに応じて、書込データレジスタ509の出力とYデコーダ&データI/O回路の出力のいずれかを選択してデータ出力バッファ504に出力する。
図40に示すように、書込データレジスタ509、書込アドレスレジスタ507を備え、書込サイクル時に、選択メモリセルにデータを書込みするとともに、このデータおよびアドレスをレジスタ509、507に記憶しておく。
図41は、実施の形態7の相変化メモリの動作を説明するためのフローチャートである。
図41を参照して、まず書込サイクルが開始されるとステップS111において選択セルにデータを書込むサイクル(♯1)が行なわれる。この場合の入力アドレスをAdd1とし、データをデータ♯1とする。
続いてステップS112において(♯2)のアクセスアドレスAdd2がAdd1と等しいか否かが判断される。アドレスが等しい場合にはステップS113に進み、アドレスが異なる場合にはステップS116に進む。
ステップS113では、次のサイクル(♯2)が読出か書込かが判断される。次のサイクル(♯2)が読出である場合にはステップS114に進む。同じアドレスが連続した場合の書込データは書込データレジスタに一時的に保持されているので、ステップS114では書込データレジスタからデータを読出して外部に出力する。
一方、ステップS113において、次のサイクル(♯2)が書込であると判断されるとステップS115に進む。この場合には、冷却時間後に選択メモリセルへの書込動作が行なわれる。
一方、ステップS116においても、次のサイクル(♯2)が読出か書込かが判断される。サイクルが読出である場合にはステップS117に進み、選択セルからの読出動作が行なわれる。また次のサイクルが書込サイクルである場合はステップS118に進み選択セルへの書込動作が行なわれる。この場合にはアクセスアドレスが異なっているので、書込も読出も冷却時間を置く必要がない。
そして、ステップS114が終了した場合とステップS117が終了した場合にはステップS119に進み、次のサイクル(♯3)は読出から書込かが判断される。そして、この次のサイクル(♯3)が読出の場合には、そのまま次のサイクルの動作が通常動作として行なわれる。
一方ステップS119において次のサイクル(♯3)が書込であると判断された場合と、ステップS115、ステップS118のように書込動作が行なわれた後である場合には*1に進む。
図41で説明したように、書込サイクル時に、選択メモリセルにデータを書込みするとともにこのデータおよびアドレスをレジスタに記憶しておく。そして次のサイクルが読出であった場合に、前のサイクルの書込と同一のアドレスが入力されたときには、レジスタに記憶している書込データをアクセスして読出データとし、アドレスに対応するメモリセルにはデータを書込む動作は行なわない。
一方、次のサイクルが読出であった場合に、前サイクルの書込と異なるアドレスが入力されたときには、通常どおりメモリセルデータを読出す動作を行なう。
図42は、図40における相変化メモリセルアレイ512およびその周辺回路を示した回路図である。
図42を参照して、メモリセルアレイ512は、読出回路531と電流印加回路532とに接続されている。読出回路531と電流印加回路532は、図40のYデコーダ&データI/O回路511に含まれる回路である。
メモリセルアレイ512は、ワード線WL1に接続され、ビット線BL1〜BL4にそれぞれ接続されるメモリセル611〜614と、ワード線WL2に接続され、ビット線BL1〜BL4にそれぞれ接続されるメモリセル621〜624とを含む。
メモリセルアレイ512は、さらに、ワード線WL3に接続され、ビット線BL1〜BL4にそれぞれ接続されるメモリセル631〜634と、ワード線WL4に接続され、ビット線BL1〜BL4にそれぞれ接続されるメモリセル641〜644とを含む。
ワード線WL1〜WL4は、図40のXデコーダ&WLドライバ510によって選択駆動される。
メモリセル611〜614およびメモリセル621〜624は、ソース線SL1に接続され、メモリセル631〜634およびメモリセル641〜644はソース線SL2に接続される。
メモリセル611〜644の各々は、対応するビット線とソース線との間に直列に接続されるヒータ素子650、相変化素子651およびアクセストランジスタ652を含む。アクセストランジスタ652のゲートは対応するワード線に接続される。なお、ヒータ素子650、相変化素子651およびアクセストランジスタ652の3要素が直列に接続される順序は図42に示す場合に限られるものではなく、たとえば、図2や図34で示した順序であってもよい。
読出回路531は、スイッチ551〜554と、スイッチ551〜554によって選択的にビット線BL1〜BL4に接続される読出データ線RDB1,RDB2と、読出データ線RDB1,RDB2にそれぞれ接続されるセンスアンプ541,542とを含む。
スイッチ551は、信号RCSL1に応じて読出データ線RDB1とビット線BL1とを接続する。スイッチ552は、信号RCSL1に応じて読出データ線RDB2とビット線BL2とを接続する。スイッチ553は信号RCSL2に応じて、読出データ線RDB1とビット線BL3とを接続する。スイッチ554は信号RCSL2に応じて読出データ線RDB2とビット線BLとを接続する。
電流印加回路532は、メモリセル611〜644に熱を印加してデータを書込むための電流を出力する。電流印加回路532は、スイッチ571〜574と、スイッチ571〜574によってビット線BL1〜BL4に選択的に接続される書込データ線WDB1,WDB2と、書込データ線WDB1,WDB2にそれぞれ接続される可変電流源561,562とを含む。
図43は、図42における可変電流源561の構成を示した回路図である。
図43を参照して、可変電流源561は、電源ノードと書込データ線WDB1との間に接続されるPチャネルMOSトランジスタ661と、ソースが電源ノードに接続されゲートとドレインとがPチャネルMOSトランジスタ661のゲートに接続されるPチャネルMOSトランジスタ662と、ソースが電源ノードに接続され、ドレインがPチャネルMOSトランジスタ661のゲートに接続されるPチャネルMOSトランジスタ663と、PチャネルMOSトランジスタ661のゲートと接地ノードとの間に並列接続され、それぞれゲートに信号φ0,φ1を受けるNチャネルMOSトランジスタ667,668とを含む。NチャネルMOSトランジスタ667のゲート幅はW1であり、NチャネルMOSトランジスタ668のゲート幅はW2である。W1とW2との間にはW1<W2の関係がある。
可変電流源561は、さらに、信号φ0,φ1を受けるNOR回路665と、NOR回路665の出力を受けて反転し、PチャネルMOSトランジスタ663のゲートに出力するインバータ664とを含む。
なお、図42の可変電流源562は、可変電流源561の構成において書込データ線WDB1に代えてWDB2に接続される点が異なるが、内部の構成は同様であるので説明は繰返さない。
図44は、メモリセルへの書込動作を説明するための動作波形図である。
図44を参照して、時刻t1において対応するワード線WLの電位と対応するビット線を選択する信号CSLとがLレベルからHレベルに活性化される。そして“0”書込を行なう場合には信号φ0が時刻t1〜t3の間Hレベルに活性化される。一方、“1”書込が行なわれる場合には、信号φ1が時刻t1〜t2の間Hレベルに活性化される。この場合、時刻t2〜t3の間は信号φ1はLレベルに非活性化される。そして時刻t4において、ワード線が非活性化されビット線が可変電流源から切離されることにより書込サイクルが終了する。
図45は、図42におけるセンスアンプ541の構成を示した回路図である。
図45を参照して、センスアンプ541は、読出データ線RDB1と電源ノードとの間に接続されるPチャネルMOSトランジスタ671と、ソースが電源ノードに接続されゲートとドレインとがPチャネルMOSトランジスタ671のゲートに接続されるPチャネルMOSトランジスタ672と、ソースが電源ノードに接続され、ドレインがPチャネルMOSトランジスタ671のゲートに接続されるPチャネルMOSトランジスタ673とを含む。PチャネルMOSトランジスタ673のゲートは、信号φReadを受ける。
センスアンプ541は、さらに、PチャネルMOSトランジスタ671のゲートと接地ノードとの間に接続され、ゲートに信号φReadを受けるNチャネルMOSトランジスタ675と、−入力ノードが読出データ線RDB1に接続され+入力ノードがNチャネルMOSトランジスタ675のドレインに接続され信号SAOUTを出力する比較回路674とを含む。NチャネルMOSトランジスタ675のゲート幅はW1である。
センスアンプ541は、さらに、読出データ線RDB1にマイナス入力ノードが接続され、PチャネルMOSトランジスタ671のゲートにプラス入力ノードが接続され、信号SAOUTを出力する比較回路674を含む。
なお、図42のセンスアンプ542は、読出データ線RDB1に代えて読出データ線RDB2が接続される点が異なるが、内部の構成はセンスアンプ541と同様であるので説明は繰返さない。
図46は、読出動作を説明するための動作波形図である。
図46を参照して、時刻t1において対応するワード線WLがLレベルからHレベルに活性化され、また対応するビット線BLを対応する読出データ線RDBに接続するために、信号CSLがLレベルからHレベルに活性化される。そしてその後、信号φReadがLレベルからHレベルに活性化され、センスアンプ541のPチャネルMOSトランジスタ673が非導通状態となり、NチャネルMOSトランジスタ675が導通状態となって、センスアンプ541が活性化されデータの読出が行なわれる。
時刻t2において、信号φReadがHレベルからLレベルに非活性化され、センスアンプ541が動作を終了し、その後時刻t3においてワード線WLが非活性化され、また対応するビット線BLが対応する読出データ線RDBと切離される。
図42〜図46で説明した構成および動作では以下の点が特徴である。
まず第1に、データ線を書込系(WDB)、読出系(RDB)に分割する。そして、書込系、読出系のそれぞれを複数の経路を有する構成とする。これにより、データバスの負荷容量を小さくして高速アクセス動作が可能となる。
第2、読出時には、図46に示すように信号φReadをワンショット動作により活性化することにより、ビット線を介して読出電流をメモリセルに流す。これにより、センスアンプのセンス動作に必要な時間だけ読出電流が流れる。そして、時刻t2〜t3の間は読出電流を流さないようにする。これにより、不要な読出電流によるメモリセルの発熱を抑え、メモリセルデータの破壊を防ぐことができる。
図47は、図45に示したセンスアンプの変形例を示した図である。
図47を参照して、センスアンプ680は、電源ノードと読出データ線RDBnとの間に接続され、ゲートに信号φReadを受けるPチャネルMOSトランジスタ681と、読出データ線RDBnに入力が接続され、信号SAOUTを出力するインバータ682とを含む。
図48は、図47に示したセンスアンプの動作を説明するための動作波形図である。
図47、図48を参照して、時刻t1において信号φReadがLレベルからHレベルに変化することにより、PチャネルMOSトランジスタ681が非導通状態となる。これにより読出データ線RDBnのプリチャージ状態が解除される。
そして、ワード線WLが活性化され、また信号CSLがLレベルからHレベルに変化することにより、対応するビット線を介してメモリセルが読出データ線RDBと接続される。すると、Hレベルにプリチャージされていた読出データ線RDBの電荷が、ビット線経由してメモリセルから放電されることにより、ビット線BLの電位は変化する。この変化後にはビット線BLの電位は、メモリセルの抵抗が高い場合にはレベルが高くなり、メモリセルの抵抗値が低い場合にはレベルが低くなる。
これに応じて読出データ線RDBの電位もメモリセルの抵抗が高い場合は高く、それに比べてメモリセルの抵抗が低い場合には電位が低くなる。この電位がインバータ682によって反転増幅されて、信号SAOUTはメモリセルの抵抗が高い場合にはLレベルとなり、メモリセルの抵抗が低い場合にはHレベルとなる。
時刻t2において、ワード線が非活性化され信号CSLがLレベルに非活性化され、信号φReadがLレベルに変化することにより、読出データ線RDBはビット線と切離されて再びトランジスタ681によってプリチャージされている状態となる。
図47、図48において説明した動作では、読出時に読出データ線(RDB)のプリチャージ電荷を放電して読出電圧を発生する。したがって、メモリセルに流れるのは最大でも読出データ線の寄生容量に蓄積された電荷を放電するだけの電流のみである。この場合、読出動作が終了するように自動的に電荷制限がされるので、不要な読出電流によるメモリセルの発熱が抑えられ、メモリセルデータの破壊を防ぐことができる。
以上説明したように、実施の形態7で説明した構成によれば、書込セルの温度上昇による次のサイクルでの読出動作時のマージン低下や信頼性低下を防止することができる。
また、図40で説明したように書込サイクルと読出サイクルとが連続して行なわれ場合に備えて書込データレジスタ509や書込アドレスレジスタ507を設けているときには、以下のようにこれらのレジスタを書込サイクルが2つ連続する場合にも使用することができる。
第1のサイクルが書込でありその際にデータおよびアドレスをレジスタに記憶しておく。さらに続く第2のサイクルが書込であった場合には、まず第1に前サイクルの書込と同一アドレスで同一データに対して、次のサイクルの書込が行なわれるときには内部での処理はNOPサイクルとし、アドレスで指定されるメモリセルにはデータを書込む動作を行なわない。書込サイクルが2つ連続する場合においてアドレスが前サイクルの書込と同一アドレスであっても書込むデータが前サイクルのデータと異なるときには、メモリセルにデータを書込む動作を行なうが、サイクルの先頭に冷却時間が挿入される。
第3に書込サイクルが2つ連続する場合において、前サークルの書込と入力されるアドレスが異なる場合には、メモリセルにデータを書込む動作を行なう。この場合には冷却時間はサイクルに挿入されない。
このようにすることで、書込セルの温度上昇による次のサイクルでの書込動作時のマージン低下や信頼性低下を防止することができる。
[実施の形態8]
一般に、メモリ装置では、複数の端子から同時に入出力を行なう構成が通常である。たとえば、16ビット幅または32ビット幅のデータを同時に読出または書込みする場合が多い。
図49は、同時に2セルに書込が行なわれるケースについて説明するための図である。
図49に示す構成は図42に示したものと同じである。ワード線WL2と信号WCSL1、または信号RCSL1が選択された場合には、図49において太い破線で示したメモリセル621、622が選択される。つまり、隣接する2セルが選択されることがある。したがってこの構成では、同時に書込みされるメモリセルが隣接している場合があり、これによりこの2セルの発熱が互いに他のセルに影響し、メモリセルの過熱による書込動作マージンの低下や信頼性低下の問題を起こすおそれがある。
図50は、隣接するメモリセルの発熱による過熱の問題を解決する構成を示す図である。
図50に示す構成は、図42で説明した構成において読出回路531に代えて読出回路531Aを備え、また電流印加回路532に代えて電流印加回路532Aを備える点が、図42で説明した構成と異なる。
読出回路531Aは、図42の読出回路531の構成において、スイッチ552は信号
RCSL1に代えて信号RCSL2に応じて制御され、またスイッチ553は信号RCSL2に代えて信号RCSL1に応じて制御される点が読出回路531と異なる。
また電流印加回路532Aは、電流印加回路532の構成において、スイッチ572が信号WCSL1に代えてWCSL2に応じて制御され、スイッチ537が信号WCSL1に代えて信号WCSL1に応じて制御される点が、電流印加回路532Aと異なる。他の構成については、図50は図2と同様であるので説明は繰返さない。
図51は、図50に示した構成におけるメモリセルの選択を説明するための図である。
ワード線WL2が活性化され、また信号WCSL2が活性化された場合が、図51に示される。この場合に選択されるのは図中太い破線で示したメモリセル624とメモリセル622である。図49で説明した場合と同様に2ビットが選択されているが、選択されるメモリセルが隣接していない。すなわち選択される2つのメモリセルの間には非選択のメモリセルが1つ存在している。したがって同時に書込が行なわれるメモリセル間の熱干渉という問題が軽減される。
図52は、熱干渉の問題をさらに改善した構成を示す図である。
図52で示した構成では、読出回路として531Bが設けられ、電流印加回路として電流印加回路532Bが設けられる。
読出回路531Bは、スイッチ711〜717を介してビット線BL1〜BL7に選択的に接続される読出データ線RDB1〜RDB4と、読出データ線RDB1〜RDB4にそれぞれ接続されるセンスアンプ701〜704とを含む。
スイッチ711は、信号RCSL1の活性化に応じてビット線BL1と読出データ線RDB1とを接続する。スイッチ712は、信号RCSL2の活性化に応じてビット線BL2と読出データ線RDB2とを接続する。スイッチ713は、信号RCSL3の活性化に応じてビット線BL3と読出データ線RDB3とを接続する。スイッチ714は、信号RCSL4の活性化に応じてビット線BL4と読出データ線RDB4とを接続する。
スイッチ715は、信号RCSL1の活性化に応じてビット線BL5と読出データ線RDB1とを接続する。スイッチ716は、信号RCSL2の活性化に応じてビット線BL6と読出データ線RDB2とを接続する。スイッチ717は、信号RCSL3の活性化に応じてビット線BL7と読出データ線RDB3とを接続する。
電流印加回路532Bは、スイッチ731〜737と、スイッチ731〜737を介してビット線BL1〜BL7と選択的に接続される書込データ線WDB1〜WDB4と、書込データ線WDB1〜WDB4にそれぞれ接続される可変電流源721〜724とを含む。
スイッチ731は、信号WCSL1の活性化に応じてビット線BL1と書込データ線WDB1とを接続する。スイッチ732は、信号WCSL2の活性化に応じてビット線BL2と書込データ線WDB2とを接続する。スイッチ733は、信号WCSL3の活性化に応じてビット線BL3と書込データ線WDB3とを接続する。スイッチ734は、信号WCSL4の活性化に応じてビット線BL4と書込データ線WDB4とを接続する。
スイッチ735は、信号WCSL1の活性化に応じてビット線BL5と書込データ線WDB1とを接続する。スイッチ736は、信号WCSL2の活性化に応じてビット線BL6と書込データ線WDB2とを接続する。スイッチ737は、信号WCSL3の活性化に応じてビット線BL7と書込データ線WDB3とを接続する。
図52で示した構成によれば、同時に書込が行なわれるメモリセルはたとえばワード線WL2が活性化され、信号WCSL2が活性化された場合には斜線で示したメモリセル622およびメモリセル626である。2つの選択されたメモリセルは、間に3つの非選択のメモリセルを挟む関係となる。図51で説明したケースでは、メモリセル622と624の間に挟まれたメモリセル623は2つの加熱対象のメモリセルから熱影響を受ける。これに対し、図52で示した構成では、メモリセル623はメモリセル622の加熱の影響を受けるが、メモリセル626の加熱の影響は受けにくい。したがって、書込メモリセルの温度上昇の影響が同時書込セル間で相乗効果を及ぼし合いメモリセルが過熱されることによる、信頼性の低下や書込マージンの減少を防ぐのにさらに有利である。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。