以下、本発明に係わる半導体記憶装置の好適ないくつかの事例につき、図面を用いて説明する。実施例の各機能ブロックを構成する回路素子は、特に制限がないが、公知のCMOS(相補型MOSトランジスタ)等の集積回路技術によって、単結晶シリコンのような一つの半導体基板上に形成される。図面には、MOSトランジスタの基板電位の接続は特に明記しないが、MOSトランジスタが正常に動作可能な範囲であれば、その接続方法は特に限定しない。また、特に断りのない場合、信号のロウレベルを‘L’、ハイレベルを‘H’とする。
図1は、本願発明を適用したシングルチップマイクロコンピュータ10の一例である。シングルチップマイクロコンピュータは、特に制限はされないものの、中央処理装置CPU、割込み制御回路INTC、相変化素子を利用した4メガバイトのメモリブロックPCROM、1キロバイトの内部メモリRAM、タイマTIM、シリアルコミュニケーションインタフェースSCI、A/D変換器ADC、第1乃至第9入出力ポートIOP1〜IOP9、およびクロックパルスジェネレータCPGを含み、公知の半導体製造技術により1つの半導体基板上に形成される。
中央処理装置CPUと、割込み制御回路INTC、4メガバイトの相変化メモリPCROM
、1キロバイトの内部メモリRAM、タイマTIM、SCI、A/D変換器ADC、第1乃至第9入出力ポートIOP1〜IOP9は、内部バス1000によって相互に接続され
、中央処理装置CPUの制御によってリード/ライトが行なわれる。上記内部バス1000は、アドレスバス、データバス、リード信号、ライト信号、機能ブロック選択信号、およびシステムクロックなどを含む。システムクロックは、図示はされない水晶発振子などを基準に、クロックパルスジェネレータCPGで適宜生成される。また、水晶発振子を接続しないで、外部クロックを入力することもできる。電圧発生回路VGENは、外部電圧VDDC
(例えば、1.2V)を受けて、相変化メモリPCROMが使用する電圧を供給する。なお、本実施例では、外部電圧は、VDDCとVDDI(例えば3.3V)が供給され、VDDCは、中央処理装置CPU等の回路ブロックに、VDDIは、入出力回路IOに供給される。なお、外部より1種類の電圧のみが供給される場合は、電圧発生回路VGENにより発生させた電圧を中央処理装置CPU等の回路ブロックに供給してもよい。
割込み制御回路INTCは、タイマTIM、シリアルコミュニケーションインタフェースSCI、A/D変換器730などからの割込み要求信号を制御し、CPUに割込みを要求する。入出力ポートIOP1〜IOP9は、アドレスバス出力、データバス入出力、バス制御信号入出力、割込み要求信号入力などと兼用されている。これらの兼用機能は動作モードおよびソフトウェアによって選択される。また、各入出力ポートIOP1〜IOP9は、入出力回路IOを介して外部端子に接続されている。また、入力出力回路IOは、中央処理装置CPU等の内部回路に供給される電圧より高い電圧が供給される。
図2は、本願発明を説明するための上記のシングルチップマイクロコンピュータの要部を示す概念図である。図2には、相変化素子を用いて構成したメモリブロック100とメモリブロック100を制御するメモリコントローラMEM_CNT、ラッチ回路(FF0、FF1、FF2、FF3
)、中央処理装置CPU、入出力回路IOが示されている。
メモリブロック100の詳細は、後に説明する。メモリコントローラMEM_CNTは、コントロール回路CONTROLと書き込みデータが正しく書きこまれているか確認するために使用される比較回路CMPより構成される。コントロール回路CONTROLには、書き込み動作であるメモリセルを低抵抗化するSET動作の時間を計測するタイマー回路TIMER_SETとメモリセルを高抵抗化するRESET動作の時間を計測するタイマー回路TIMER_RESETが含まれている。メモリコントローラMEM_CNTは、書き込みデータWDATAおよび書き込み許可信号WE、読み出し許可信号REを受け取って、書き込みデータWDATAIおよび制御信号CNTを生成してメモリブロック100を制御する。タイマー回路TIMER_SETはSET動作を終了させる制御信号SETENDを、タイマー回路TIMER_RESETはRESET動作を終了させる制御信号RESETENDをメモリブロック100に出力する。比較回路CMPはメモリブロック100より読み出されたデータRDARAIと書き込みデータWDATAIを比較して比較結果WCHを出力する。ラッチ回路(FF0、FF1、FF2、FF3)には、図1におけるクロック発生回路CPGにおいて生成されたメモリ専用クロックCK_MEMが入力される。
次に、図3を用いて動作について説明する。始めは、待機状態STANDBYにある。次に、書込みサイクルWRITEで、データを書き込む。アドレスADDと書き込みデータWDATA、書き込み許可信号WEが中央処理装置CPUからラッチ回路(FF0、FF1、FF2)に与えられ、メモリ専用クロックCK_MEMが‘L’から‘H’になると、アドレスADDは、メモリブロック100に、書き込みデータWDATAと書き込み許可信号WEは、メモリコントローラMEM_CNTに取り込まれる。メモリコントローラMEM_CNTは、書き込みデータWDATAIと制御信号CNTを生成し、メモリブロック100に送ることによって、メモリブロック100での書き込み動作が開始される。本願発明では、書込みサイクルWRITEは、セットサイクルとリセットサイクルに分けられている。はじめは、SET動作を行い、タイマー回路TIMER_SETによりSET時間が計測される。所望の時間が経過するとSET動作終了信号SETENDをメモリブロック100に送ることにより、メモリブロック100ではSET動作を終了しRESET動作を開始する。同時にタイマー回路TIMER_RESETによりRESET時間の計測が開始され、所望の時間が経過するとRESET動作終了信号RESETENDをメモリブロック100に送り、メモリブロック100でのRESET動作が終了する。この後、必要に応じて、書き込みが正しく行われているか確認するために、ベリファイ動作が行われる。ベリファイ動作では、書き込んだデータをメモリブロック100から読み出し、読み出したデータRDATAIと書き込みデータWDATAIを比較回路CMPで比較し、一致した場合にはWCHが‘L'から‘H’となり正しく書き込まれたことが確認される。もし一致しない場合には、再度書き込みを行う。正しく書き込みが行われたら書き込み終了信号WENDを中央処理装置CPUに返す。なお、ベリファイ動作は、削除することが可能であり、この場合、比較回路CMPは削除可能である。
READサイクルでは、データを読み出す。アドレスADDと読み出し許可信号REが中央処理装置CPUからラッチ回路(FF0、FF3)に与えられ、メモリ専用クロックCK_MEMが‘L’から‘H’になると、アドレスADDはメモリブロック100に、読み出し許可信号REはメモリコントローラMEM_CNTにそれぞれ取り込まれる。メモリコントローラMEM_CNTは、制御信号CNTを生成し、メモリブロック100に送ることによって、メモリブロック100での読み出し動作が開始される。読み出されたデータRDATAIは、メモリコントローラMEM_CNTを経由して中央処理装置CPUへ送られ、読み出し動作が終了する。なお、WRITE動作とREAD動作は、連続している必要が無いのはいうまでもない。
次に図1に示したタイマー回路(TIMER_SET、TIMER_RESET)の詳細を図4に示す。タイマー回路TIMER_SETは、フリップフロップ回路FF_Aを直列にn個接続した回路となっている。またタイマー回路TIMER_RESETは、フリップフロップ回路FF_Bを直列にm個接続した回路である。フリップフロップ回路FFでは、クリア信号端子CLRが‘L’レベルのときは常に出力端子Qに‘L’レベルを出力する。クリア信号端子CLRが‘H’の時には、クロック端子CKが‘L’から‘H’になると入力端子Dの値を出力端子Qに出力する。それぞれのフリップフロップ回路FFでは、出力端子Qがインバータ回路INVを介して入力端子Dに接続されている。タイマー回路TIMER_SETの第1段のフリッププロップFF_A_0とタイマー回路TIMER_RESETの第1段のフリッププロップFF_B_0のクロック端子CKには中央処理装置CPUからの基本クロック信号CK_CPUが入力される。そのほかのフリップフロップ回路FFではクロック端子CKに前段のフリップフロップ回路の出力端子Qが接続される。タイマー回路TIMER_SETのフリップフロップ回路FF_Aのクリア信号端子CLRにはクリア信号CLR_CPUが接続される。タイマー回路TIMER_SETの最終段のフリップフロップ回路FF_A_nの出力は、制御信号SETENDとなる。また、タイマー回路TIMER_RESETの最終段のフリップフロップ回路FF_B_mの出力は、制御信号RESETENDとなる。タイマー回路TIMER_RESETのフリップフロップ回路FF_Bのクリア信号端子CLRには制御信号SETENDが接続されている。
タイマーが動作する前にはクリア信号CLR_CPUが‘L’であり、‘H’となるとSET時間の計測がタイマー回路TIMER_SETで始まる。基本クロック信号CK_CPUが2n-1回遷移すると制御信号SETENDが‘L’から‘H’になりSET終了時刻を出力する。従って所望のSET時間が得られるようnの値をあらかじめ設定しておく必要がある。制御信号SETENDが‘L’から‘H’になると、今度はRESET時間の計測がタイマー回路TIMER_RESETで始まる。基本クロック信号CK_CPUが2m-1回遷移すると制御信号RESETENDが‘L’から‘H’になりRESET終了時刻を出力する。従って所望のRESET時間が得られるようmの値をあらかじめ設定しておく必要がある。
このようにセット動作とリセット動作をタイマを使用して、記憶素子に流す時間を異ならせることで誤動作を防止することが可能となる。
<メモリセルに用いられるMOSトランジスタのしきい値>
続いて、メモリブロック100について図5を用いて詳細に説明する。メモリアレイARRAYは、複数のワード線WLと複数のビット線BLより構成されており、ワード線WLとビット線BLの交点にメモリセルCELLが接続されている。各メモリセルCELLは、メモリセルCELL00で例示されているようにノードN1でワード線と、ノードN2でビット線と、ノードN3で接地電位と接続されている。各メモリセルCELLの詳細を図6に示す。メモリセルの夫々は、Nチャネル型MOSトランジスタMN00と記憶素子であるPCM00で構成されている。記憶素子PCM00は、たとえば相変化素子と呼ばれる素子であり、例えば、結晶状態では1KΩ〜10KΩ程度の低い抵抗で、アモルファス状態では100KΩ以上の高い抵抗であることを特徴とする素子である。また、記憶素子PCM00は、記憶素子に加える温度でその状態が変化させることができる。具体的には、高い温度を記憶素子に加えることによりアモルファス状態となり、低い温度を加えることにより結晶状態となる。記憶素子PCM00がアモルファス状態となるか、結晶状態となるかは、記憶素子PCM00に流す電流値、及び、記憶素子PCM00に電流を流す時間を変更することにより、記憶素子PCM00の状態が変更される。記憶素子PCM00は、特に制限されないが、カルコゲナイド材料と呼ばれる相変化材料が用いられる。カルゴゲナイド材料としては、GeSbTe(ゲルマニウム・アンチモン・テルル)やZeTn(ジンク・テルル)等がある。Nチャネル型MOSトランジスタMN00のゲート電極には、ノード1N1を介してワード線WL0が接続され、Nチャネル型MOSトランジスタを選択状態ではオン状態に、非選択状態ではオフ状態となるように制御する。また、本実施例のメモリセルは、記憶素子PCM00の抵抗値、言い換えれば、ビット線とソース線に流れる電流値の大小により情報を読み出す。従って、(a)に示すように相変化素子PCM00の一方の端子がノードN3を介して接地電位に接続されても、(b)に示すようにPCM00の一方の端子がノードN2を介してビット線に接続されてもよい。(b)に示すメモリセルを用いると、Nチャネル型MOSトランジスタのソース電極が接地電位に直接接続されるため、NチャネルMOSトランジスタのゲート電極とソース電極の電圧が大きくなり(a)のメモリセルと比較して大きい電流を得ることが可能となる。なお、本明細書では、特に言及しない限り、(a)に示されるメモリセルを用いる。
ワード線WLには、ワードドライバ回路(102、103)が接続されている。例えば、ワードドライバ回路102は、インバータ回路INV0から構成されており、デコーダ回路ADECのデータにより、ひとつのワード線WLを選択する。
ビット線BLには、プリチャージ回路(104、105、106、107)が接続されている。具体的には、例えば、プリチャージ回路104は、Pチャネル型MOSトランジスタMP20で構成されており、ドレイン電極にはビット線BL0が、ゲート電極には制御信号PC0が、ソース電極には電源電位線がそれぞれ接続される。また、プリチャージ回路(104,105,106,107)は、一つ置きに制御信号線PC0,PC1に接続される。従って、並列して読み出し、書込みされるビット線BLは、1つ置きに制御される。即ち、読み出し動作又は書込み動作を行っているメモリセルに隣接するメモリセルは、必ず非選択状態となる。これにより熱を発生するメモリセルは1つ置きとなり、熱が局所的に発生することを防止でき、半導体集積回路の安定動作の向上を図ることができる。
ビット線には、更に、書き込み・読み出し回路が接続されている。例えば、書き込み・読み出し回路は、ビット線BL0,BL1への書き込み回路WTC、ビット線BL0のデータを読み出すセンスアンプ回路150、ビット線BL1のデータを読み出すセンスアンプ回路151より構成されている。書き込み・読み出し回路では読み出しデータRDATAI0が出力され、書き込みデータWDATAI0が入力される。
制御回路CNTLは、メモリコントローラMEM_CNTから制御信号(SETEND、RESETEND、YADD、CNT)信号を受け取り、制御信号(RS、PC、YSW、YSR)信号を生成し出力する。
図7に本発明における断面図を示す。メモリセルCELL内で使用されるNチャネル型MOSトランジスタMN_MEM_LVTとメモリの周辺回路や中央演算装置CPU、ラッチ回路FFなどのコア回路で使用されるNチャネル型MOSトランジスタMN_COREとPチャネル型MOSトランジスタMP_CORE、入出力回路IOなどで使用されるトランジスタNチャネル型MOSトランジスタMN_IOとPチャネル型MOSトランジスタMP_IOが示されている。メモリセルCELLやコア回路で使用されるトランジスタのゲート酸化膜(SIO0、SIO1、SIO2)の厚さは等しくなるよう製造され、入出力回路IOで使用されるトランジスタのゲート酸化膜(SIO3、SIO4)の厚さより薄い構造となるように製造されている。また、ゲート酸化膜(SIO0、SIO1、SIO2)の横方向の長さ(チャネル長)は等しくなるように、入出力回路IOで使用されるトランジスタのゲート酸化膜(SIO3、SIO4)の横方向の長さより短い構造となるように製造されている。また、入出力回路IOで使用さえNチャネル型MOSトランジスタMN_IOとPチャネル型MOSトランジスタMP_IOのソース・ドレイン間には、高い電圧(例えば3.3V)が供給され、メモリセルCELL内で使用されるNチャネル型MOSトランジスタMN_MEM_LVTとメモリの周辺回路や中央演算装置CPU、ラッチ回路FFなどのコア回路で使用されるNチャネル型MOSトランジスタMN_COREとPチャネル型MOSトランジスタMP_COREのソース・ドレイン間には、最大でも入出力回路IOに供給される電圧より小さい電圧(例えば1.2V)が供給される。
本実施例において、メモリセルCELLで使用されるトランジスタMNは、入出力回路IOに使用されるMOSトランジスタのしきい値電圧より小さくされる。入出力回路IOに用いられるMOSトランジスタは、高い電圧が供給されるのでリーク電流を抑えるため0.7V程度の比較的しきい値が高いMOSトランジスタを使用する。それに対し、相変化素子を使用した場合、十分な電流を得る必要があるため、入出力回路に用いられるMOSトランジスタよりしきい値電圧が小さい、例えば、0.5V程度のしきい値電圧を有するMOSトランジスタを使用する。これにより、入出力回路IOと同程度のしきい値電圧を有するMOSトランジスタを使用した場合と比較して大きな電流を得ることができ、セット動作を行うことが可能となる。また、電流値を大きく取れるためセット動作、リセット動作、リード動作の電流の切り分けが容易となる。この場合、中央処理装置等で使用されるMOSトランジスタMN CORE、MP COREと同等のしきい値電圧とすることにより、マスクの追加を抑え、半導体装置(マイクロコンピュータ等)の製造コストを低減することが可能となる。
なお、本実施例の記憶素子は、記憶素子の結晶/非結晶状態(又は、抵抗値)で情報を記憶するため、トランジスタMNのしきい値電圧を低くしたとしてもキャパシタに蓄積された電荷量で情報を記憶するDRAMのように記憶した情報が破壊されることはない。
図8は、本発明における断面図の他の例を示す。図7と相違する点は、供給される最大の電圧が同じであるメモリセルと中央処理装置等において、メモリセルに使用されるNチャネル型MOSトランジスタMN_MEM_LVTのしきい値電圧の絶対値が、メモリの周辺回路や中央演算装置CPU、ラッチ回路FFなどのコア回路で使用されるNチャネル型MOSトランジスタMN_COREとPチャネル型MOSトランジスタMP_COREのしきい値電圧の絶対値(例えば0.5V程度)よりメモリセルに使用されるMOSトランジスタのしきい値電圧の絶対値を更に小さくしている(例えば0.2V〜0V程度)。このようにすることで、更に、大きな電流を得ることが可能となる。これにより、面積の増加を抑えつつ、セット動作に必要な大きな電流を得ることが可能となり、マイクロコンピュータ等に混載することが可能となる。また、大電流を得られるため、セット動作とリセット動作のマージンを取ることが可能となり、相変化メモリの安定動作を得られる。
図29は、図5に示されるメモリアレイARRAYの平面図とその断面図を示している。本実施例では、相変化素子PCMは、各メモリセルに固有に持つ構成となっている。また、ワード線WLとソース線SLは、同じ方向に延在し、ビット線BLは、ワード線WLやソース線SLと交差する方向に延在している。選択トランジスタと相変化素子PCMは、コンタクトCNTCを介して接続され、選択トランジスタとビット線BLは、ビアVIAを介して接続される。ここで、コンタクトCNTCの平面状の大きさは、相変化素子PCMの大きさと比較して小さくされる。即ち、相変化素子PCMと接触するコンタクトCNTCの面積は、相変化素子PCMの面積より小さくされる。これにより、電流が集中し、効率よく相変化素子の書き込みを行うことができる。
図9を用いて詳細な動作を説明する。始めは、待機状態STANDBYから、書き込み動作を行う。書き込み動作は3つのステップからなる。初めに素子を結晶化し低抵抗化するSET動作、次に素子をアモルファス化し高抵抗化するRESET動作、最後に書き込み動作が正しく行われたかチェックするVERIFY-READ動作である。SET動作が始まると、アドレスADDと書き込みデータWDATAIが入力される。アドレスADDは、デコーダ回路ADECに入力されるX系アドレスXADDと制御回路CNTLに入力されるY系アドレスYADDに分かれている。X系アドレスはデコーダ回路ADECでデコードされ、選択された1つのワード線WDが、‘L’から‘H’に遷移する。本実施例ではワード線WD0が選択されている。Y系アドレスは、制御回路CNTLでデコードされカラムを選択する信号(YSW、YSR)となる。書き込みデータWDATAIは、制御信号(YSWT、YSEB )により制御され、選択的にビット線BLに入力される。本実施例では、制御信号(YSWT0、YSWB0)が活性化され、書き込みデータWDATAI1のデータがビット線BL2に入力されビット線が立ち上がる。ここで、書き込み電位は、電源電位より小さい第1電位とされる。以上の動作によりメモリセルCELL02の相変化素子PCM02に対してSET動作が開始される。SET動作では、たとえばビット線の電位が0.8Vとされ、素子が高抵抗化している場合には、数マイクロ程度の電流が流れ続ける。この状態を100ナノ秒から数マイクロ秒(例えば、100ナノ秒から10マイクロ秒)続けることにより素子は結晶化し低抵抗化する。一方、あらかじめ低抵抗化している素子にも同様の電圧が印加される。このとき素子には、50マイクロアンペア以上の電流が流れることになる。また、SET動作が終了し低抵抗化した素子でも同様に大きな電流が流れる。
タイマー回路TIMER_SET回路によりSET時間が計測され所望の時間になるとSET終了信号SETENDが‘L’から‘H’となり、ビット線BL2がゆっくりと第1電位から‘L’へ遷移する。この遷移が速すぎると素子はアモルファス化してしまい抵抗値が上がってしまうため、少なくとも5ナノ秒以上かけて遷移させる必要がある。遷移が終了するとメモリセルCELL00へのRESET動作が開始される。書き込みデータWDATAI0のデータがビット線BL0に入力されビット線が第1電位より大きい第2電位となり、例えば、電源電位1.2Vとされる。素子が低抵抗化している場合には、数十マイクロアンペア程度の電流がビット線からソース線へ流れ続ける。この状態を5ナノ秒から数十ナノ秒(例えば、20ナノ秒から100ナノ秒)続けることにより素子は溶融状態となる。
タイマー回路TIMER_RESET回路によりRESET時間が計測され所望の時間になるとRESET終了信号RESETENDが‘L’から‘H’となり、RESET終了動作が始まる。ビット線BL0を‘H’から‘L’に素早く遷移させることにより素子に印加される電圧を急激に下げて急冷する。この急冷により記憶素子PCM00は結晶化されず、アモルファス化し高抵抗となる。一方、あらかじめ高抵抗化している素子にも同様の電圧が印加される。このとき素子には数マイクロアンペア以上の電流が流れることになる。ただし、この時間が数10ナノ秒程度であれば素子の抵抗は変化せず、問題とはならない。
続いて、書き込み動作が正しく行われたかチェックするVERIFY-READ動作について説明する。VERIFY-READ動作開始時に、書き込まれたメモリセルCELLの接続されているビット線(BL0、BL2)を制御信号PC0を‘L’とすることにより例えば0.5Vにプリチャージしておく。次にワード線WL0を‘L’から‘H’に活性化させると同時にプリチャージ制御信号PC0を‘L’から‘H’に不活性にし、ビット線(BL0、BL2)から電流をソース線SL0に向かって流す。メモリセルCELL00には高抵抗の値が書き込まれているので、ビット線BL0はほとんど変化しない。一方メモリセルCELL02には低抵抗の値が書き込まれているので、ビット線BL2はすばやくディスチャージされる。素早く(例えば数ナノ秒)ディスチャージすることにより発生する熱量が制限され記憶素子PCM02の結晶構造が変化せず、データ破壊を防ぐことができる。例えば、記憶素子PCM02への電圧印加時間を2ナノ秒から10ナノ秒とするとよい。ビット線の電位が確定した後、カラム制御信号(YSRT0、YSRB0)により所望のアンプ回路(CINV0、CINV4)が選択され、ビット線(BL0、BL2)の信号が読み出しデータ(RDATAI0、RDATA1)として出力される。
最後に読み出し動作であるREAD動作について説明する。READ動作開始時に、書き込まれたメモリセルCELLの接続されているビット線(BL0、BL2)は制御信号PC0を‘L’とすることにより、例えば0.5Vにプリチャージをする。次にワード線WL0を‘L’から‘H’に活性化させると同時にプリチャージ制御信号PC0を‘L’から‘H’に不活性にし、ビット線(BL0、BL2)から電流をソース線SL0に向かって流す。メモリセルCELL00には高抵抗の値が書き込まれているので、ビット線BL0はほとんど変化しない。一方メモリセルCELL02には低抵抗の値が書き込まれているので、ビット線BL2はすばやくディスチャージされる。ビット線の電位が確定した後、カラム制御信号(YSRT0、YSRB0)により所望のアンプ回路(CINV0、CINV4)が選択され、ビット線(BL0、BL2)の信号が読み出しデータ(RDATAI0、RDATA1)として出力される。
なお、本実施例において、セット動作とリセット動作を時分割して行ったが、それには限定されず、セット動作とリセット動作を並行して行っても構わない。
<ソース線制御>
図10は、図2におけるメモリブロック100の他の実施例を説明する図である。図10におけるメモリブロック100は、図5のメモリブロックと比較して、メモリセルの第3ノードを接地電位とするのではなく、ソース線SLに接続している。また、各ソース線SLには、ソースドライバ回路が接続されており、電位を制御することが可能な構成としている。また、ソース線は、ワード線単位での制御を行うためワード線が延在する方向と同じ方向に延在している。ソースドライバ回路は、アンド回路AND0から構成されており、デコーダ回路ADECのデータと制御信号RSによりソース線SLを制御することが可能である。書込み回路は、インバータCIVN1,3,5,7で構成される。また、ソース線に接続されるメモリセルの数は、ビット線に接続されるメモリセルの数より多くされる。これにより、ビット線は、負荷が軽くなり高速に動作させることが可能となる。
上述したように最小加工寸法のMOSトランジスタを用いるとセット動作、リセット動作のマージンを取ることが苦しくなる。そこで、本実施例では、ソース線を制御することを可能とし、セット動作とリセット動作で流す電流の向きを変更するように構成している。具体的には、比較的小さい電流を流すセット動作時には、ビット線にソース線より高い電位を供給し、比較的大きい電流を流すリセット動作時には、ソース線にビット線より高い電位を供給する。このようにセット動作とリセット動作で電流方向が逆することで、大きな電流が必要なRESET動作では、メモリセルCELL00内のNチャネル型MOSトランジスタMN00のゲート電極とソース電極の電位差が電源電圧となり大きな電流が得られる。一方、比較的小さな電流で十分なSET動作では、メモリセルCELL02のNチャネル型MOSトランジスタMN02のゲート電極とソース電極の電位差が電源電位より小さい値となり比較的小さな電流に抑えることができSET動作とRESET動作を区別しやすくなる。言い換えれば、セット動作時とリセット動作時の電流値の間に大きなマージンを取ることが可能となる。なお、セット動作では、ビット線に高い電位を供給しているため、ノードN3側がソース電極となり、リセット動作では、ソース線に高い電位を供給しているため、ノードN2側がソース電極となる。更に、セット動作においてゲート電極とソース電極の電位差が電源電圧より小さくなるのはゲート電極とソース線SL0の電位差が電源電位であっても記憶素子PCM02による電圧ドロップ分があるためである。また、図5に示すメモリブロックでは、セット動作、リセット動作ともビット線を駆動しており、かつ、セット動作、リセット動作を区別するために2つの異なる電位を供給していた。それに対し、本実施例では、相変化素子の特性によっては、メモリセルに流れる電流の向きを変更することによりビット線に供給する電位を1種類とすることが可能となり、書込み回路も簡素化することが可能となる場合がある。なお、メモリセルを図6の(b)に示す構成とした場合は、電位関係が逆になることは言うまでもない。また、電流を逆にしたのみでは、セット動作が出来ない場合は、セット動作とリセット動作において、ビット線とソース線との間の電位差を変更しても良い。この場合でも、セット動作とリセット動作での電流差を大きくとることができるため制御が容易となる。
次に、図11を用いて詳細な動作について説明する。SET動作が始まるまでのデコーダ回路、ワードドライバ回路等の動作は、図9と同様である。本実施例におけるSET動作では、たとえばビット線の電位が電源電圧である1.2Vで、ソース線SLが0Vに保たれ、素子が高抵抗化している場合には、数マイクロ程度の電流が流れ続ける。この電圧差は電源電圧より小さい値としてもよいし、大きい値としてもよいが、同じ電源電圧にすることにより電圧発生回路VGENの規模を小さくすることができる。この状態を100ナノ秒から数マイクロ秒(例えば100ナノ秒から10マイクロ秒)続けることにより素子は結晶化し低抵抗化する。一方あらかじめ低抵抗化している素子にも同様の電圧が印加される。このとき素子には50マイクロアンペア以上の電流が流れることになる。またSET動作が終了し低抵抗化した素子でも同様に大きな電流が流れる。
タイマー回路TIMER_SET回路によりSET時間が計測され所望の時間になるとSET終了信号SETENDが‘L’から‘H’となり、ソース線SL0がゆっくりと‘L’から‘H’へ遷移する。この遷移が速すぎると素子はアモルファス化してしまい抵抗値が上がってしまうため、少なくとも5ナノ秒以上かけて遷移させる必要がある。ソース線SL0がゆっくり遷移するとフローティング状態にあるビット線(BL1、BL3)もゆっくり‘L’から‘H’へ遷移する。遷移が終了するとメモリセルCELL00へのRESET動作が開始される。RESET動作では、たとえばビット線の電位が0Vで、ソース線SLが電源電圧1.2Vに保たれ、素子が低抵抗化している場合には、数十マイクロアンペア程度の電流がソース線からビット線へ流れ続ける。この状態を5ナノ秒から数十ナノ秒(例えば20ナノ秒から100ナノ秒)続けることにより素子は溶融状態となる。
タイマー回路TIMER_RESET回路によりRESET時間が計測され所望の時間になるとRESET終了信号RESETENDが‘L’から‘H’となり、RESET終了動作が始まる。制御信号PC0を‘H’から‘L’へ遷移させ、ビット線BL0を‘L’から‘H’に素早く遷移させることにより素子に印加される電圧を急激に下げて急冷する。この急冷により記憶素子PCM00は結晶化されず、アモルファス化し高抵抗となる。アモルファス化するのに必要な遷移時間TF(例えば数ナノ秒)以下でビット線BLを駆動するためには、ビット線の容量とプリチャージ用Pチャネル型MOSトランジスタ(MP20、MP22)のオン抵抗の積が遷移時間TFより短くなるように設計する必要がある。具体的には、ビット線に接続されるセル数を128ビットあるいは256ビット程度にするとよい。一方、あらかじめ高抵抗化している素子にも同様の電圧が印加される。このとき素子には数マイクロアンペア以上の電流が流れることになる。ただし、この時間が数10ナノ秒程度であれば素子の抵抗は変化せず、問題とはならない。従って、リード時に記憶素子に電圧を印加する時間を2ナノ秒から10ナノ秒とすることで記憶破壊を防止できる。
続いて書き込み動作が正しく行われたかチェックするVERIFY-READ動作について説明する。VERIFY-READ動作開始時に、書き込まれたメモリセルCELLの接続されているビット線(BL0、BL2)を制御信号PC0を‘L’とすることにより例えば電源電圧1.2Vにプリチャージしておく。次にワード線WL0を‘L’から‘H’に活性化させると同時にプリチャージ制御信号PC0を‘L’から‘H’に不活性にし、ビット線(BL0、BL2)から電流をソース線SL0に向かって流す。メモリセルCELL00には高抵抗の値が書き込まれているので、ビット線BL0はほとんど変化しない。一方メモリセルCELL02には低抵抗の値が書き込まれているので、ビット線BL2はすばやくディスチャージされる。素早く(例えば数ナノ秒)ディスチャージすることにより発生する熱量が制限され記憶素子PCM02の結晶構造が変化せず、データ破壊を防ぐことができる。ビット線の電位が確定した後、カラム制御信号(YSRT0、YSRB0)により所望のアンプ回路(CINV0、CINV4)が選択され、ビット線(BL0、BL2)の信号が読み出しデータ(RDATAI0、RDATA1)として出力される。
最後に読み出し動作であるREAD動作について説明する。READ動作開始時に、書き込まれたメモリセルCELLの接続されているビット線(BL0、BL2)は制御信号PC0を‘L’とすることにより、例えば電源電圧1.2Vにプリチャージをする。次にワード線WL0を‘L’から‘H’に活性化させると同時にプリチャージ制御信号PC0を‘L’から‘H’に不活性にし、ビット線(BL0、BL2)から電流をソース線SL0に向かって流す。メモリセルCELL00には高抵抗の値が書き込まれているので、ビット線BL0はほとんど変化しない。一方メモリセルCELL02には低抵抗の値が書き込まれているので、ビット線BL2はすばやくディスチャージされる。ビット線の電位が確定した後、カラム制御信号(YSRT0、YSRB0)により所望のアンプ回路(CINV0、CINV4)が選択され、ビット線(BL0、BL2)の信号が読み出しデータ(RDATAI0、RDATA1)として出力される。
以上のように、セット動作とリセット動作で電流方向が逆することで、大きな電流が必要なRESET動作では、メモリセルCELL00内のNチャネル型MOSトランジスタMN00のゲート電極とドレイン電極の電位差が電源電圧となり大きな電流が得られる。一方比較的小さな電流で十分なSET動作では、メモリセルCELL02のNチャネル型MOSトランジスタMN02のゲート電極とソース電極の電位差が電源電位より小さい値となり比較的小さな電流に抑えることができSET動作とRESET動作を区別しやすくなる。さらには、ゆっくりと遷移させる必要があるセット動作からリセット動作時は、ソース線を駆動し、素早く遷移させる必要があるリセット動作終了時及びリード動作時(ベリファイリード時を含む)は、ビット線を駆動するといった使い分けをしているため、ソース線に大きな負荷をつけ、ビット線の負荷を小さくすることで特別な回路を付加することなく遷移時間の制御が可能となる。
なお、本実施例では、メモリセルのしきい値電圧を小さくしているが、必ずしもメモリセルのしきい値電圧を小さくしなくとも良い。本実施例では、メモリセルのしきい値電圧を小さくしなかった場合であっても、セット動作とリセット動作でメモリセルCELLに流れる電流の向きを変更することにより、上述の効果は得られる。但、メモリセルのしきい値を小さくすることによりメモリセルに流れる電流を大きくすることが可能となり、セット動作及びリセット動作の電流制御が容易になり安定動作を実現できる。
<リード時のリーク電流防止>
次に、図2におけるメモリブロック100の他の実施例を図12を用いて説明する。上述のように最小加工寸法のMOSトランジスタを用いて得られる電流を大きくすることでリセット電流を得ることができる。しかし、しきい値電圧を低くすると、非選択状態であってもMOSトランジスタのリーク電流が大きくなり、リーク電流が読み出し動作時にビット線に流れ込むことでノイズとして無視出来なくなる場合がある。また、故意にメモリセルに用いられるMOSトランジスタのしきい値電圧を小さくしなくとも、MOSトランジスタの微細化により、サブスレッショルド電流等のリーク電流が発生し、ノイズとして無視できない場合がある。
そこで図12に示すメモリブロック110は、図10と比較すると、ワードドライバ回路に含まれるインバータ回路INV2の接地電位端子は電源線VWDSに接続されており、非選択状態では接地電位より低い負の電位が供給される構成となっている。即ち、メモリセルに含まれるMOSトランジスタのゲートに非選択状態では、負の電位が供給されるためMOSトランジスタの抵抗値が上がり、リーク電流が流れにくくなる。
次に図13を用いて動作について説明する。始めは待機状態STANDBYにあり、ワード線の電位は接地電位より低い値、例えば-0.3Vとなっている。これによりメモリセルCELLのNチャネル型MOSトランジスタMNのゲート電極とソース電極の間には負電圧が印加されリーク電流を低減することができる。次に書き込み動作を行う。セット動作及びリセット動作は、図11と同様のため説明は省略する。ベリファイリード動作の際、選択のワード線WDは負電位のままとする。従って、非選択セルCELLのNチャネル型MOSトランジスタMNのゲート電極とソース電極の間には負電圧が印加されリーク電流を低減することができる。これにより非選択メモリセルCELLによるビット線BLの電荷引き抜きを防ぐことができ、安定した読み出しを高速に行うことが可能となる。また、リード動作もベリファイリード動作と同様である。
次に、非選択セルCELLのリーク電流によるノイズの問題を解決した第2の実施例であるメモリブロック120を図14を用いて説明する。図10のメモリブロックと主な相違点は、ソースドライバ回路SDRがアンド回路AND0、Nチャネル型MOSトランジスタ(MN20、MN21)、Pチャネル型MOSトランジスタMP30から構成されている点である。この信号はまた、Nチャネル型MOSトランジスタ(MN20、MN21)とPチャネル型MOSトランジスタMP30のゲート電極は、デコーダ回路ADECのデータに接続されている。Nチャネル型MOSトランジスタMN21のドレイン電極には電源線VSLが接続される。電源線VSLには接地電位より高く電源電位より小さいソース線プリチャージ電位(例えば0.3V)が供給される。また、制御信号RSによりソース線SLを制御することが可能である。本実施例では、ソースドライバ回路は、待機状態又は非選択状態のソース線にソース線プリチャージ電位を供給する。これにより、非選択状態のメモリセルに含まれるMOSトランジスタのゲート電極とソース電極との間が負電圧となり、リーク電流を減少させることができる。
次に図15を用いて動作について説明する。なお、ここでは図11と相違する点を主に説明する。始めは待機状態STANDBYにあり、ワード線の電位は接地電位となっている。ソース線SLは接地電位より高い値例えば0.3Vに設定される。これによりメモリセルCELLのNチャネル型MOSトランジスタMNのゲート電極とソース電極の間には負電圧が印加されリーク電流を低減することができる。次に書き込み動作を行う。本実施例では、ソース線が0.3Vにプリチャージされているため、SET動作が始まり、ワード線WD0が選択されると同時にソース線SL0も接地電位となる。これによりビット線BL2とソース線SL0との間に電位差が生じ、記憶素子PCM02が結晶化する。次に、SET終了信号SETENDが‘L’から‘H’となり、ソース線SL0がゆっくりと‘L’から‘H’へ遷移する。遷移が終了するとビット線BL0とソース線SL0との間に電位差が生じ、メモリセルCELL00へのRESET動作が開始され、記憶素子PCM00はアモルファス化する。
続いてVERIFY-READ動作について説明する。VERIFY-READ動作開始時に、まずビット線を電源電位にプリチャージする。次にワード線WL0を‘H’に活性化させるとビット線(BL0
、BL2)から電流をソース線SL0に向かって流す。ここで、非選択メモリセルCELLのソース線SLは、接地電位より高い値となっているので、非選択セルCELLのNチャネル型MOSトランジスタMNのゲート電極とソース電極の間には負電圧が印加されリーク電流を低減することができる。これにより非選択メモリセルCELLによるビット線BLの電荷引き抜きを防ぐことができ、安定した読み出しを高速に行うことが可能となる。なお、リード動作は、ベリファイリード動作と同様である。
上述の通り、メモリセルに用いられるトランジスタをIO回路に用いられるMOSトランジスタのしきい値より小さくし、かつ、セット動作時とリセット動作時とでメモリセルに流す電流の向きを変えたことによるリーク電流の問題を解決でき、安定動作が可能となる。
なお、図12〜15では、メモリセルのしきい値電圧をIO回路に用いられるMOSトラン
ジスタしきい値電圧より小さくしているが、必ずしもメモリセルのしきい値電圧を入出力回路IOに用いられるMOSトランジスタのしきい値電圧比較して小さくしなくとも良い。例え、入出力回路IOに用いられるMOSトランジスタのしきい値電圧と同じにしてもリーク電流が発生する場合が考えられるためである。但、メモリセルに用いられるMOSトランジスタのしきい値電圧を小さくすることで、より大きな電流を得ることを可能としながらも安定した読み出し動作が可能となる。また、セット動作とリセット動作とでメモリセルに流す電流の向きを変更して説明したが、これに制限されるものではない。本実施例は、リーク電流が発生するようなMOSトランジスタをメモリセルに用いた際に、リーク電流を防止して読み出し時のノイズを低減するものである。
<リード時の情報破壊防止>
続いて、図2に示されるメモリブロック100の他の実施例を図16を用いて説明する。相変化素子は、与えられる温度により抵抗値が変化する特性をもつ。従って、相変化素子に情報を記憶させた場合、情報を書換える必要がないがリード時にも電流が流れるため熱が発生し、情報が破壊される恐れがある。これは、リード時(ベリファイリード時を含む)に素早くビット線をディスチャージすることにより情報破壊を防止することができる。しかし、ビット線に付加された容量等によっては、素早くディスチャージできない可能性がある。
そこで、本実施例では、リード動作時に電源電位より小さく、ソース線の電位より大きい電位(例えば0.6V)でビット線をプリチャージすることにより、リード時にメモリセルに流れる電流値を抑え、情報破壊を防止している。図16に、リード時にメモリセルに流れる電流値を抑えたメモリブロックの実施例を示す。図14と相違する主な点は、次の通りである。
ビット線BLには、リードプリチャージ回路(134、135、136、137)が接続されている。例えば、プリチャージ回路134は、Pチャネル型MOSトランジスタMP40で構成されており、ドレイン電極にはビット線BL0が、ゲート電極には制御信号PC2が、ソース電極には電源線VBLがそれぞれ接続される。電源線VBLは電源より低い電圧であり、読み出し時に使用される。
ビット線BLには、ディスチャージ回路(138、139、140、141)も接続されており、例えば、ディスチャージ回路138は、Nチャネル型MOSトランジスタMN40で構成されており、ドレイン電極にはビット線BL0が、ゲート電極には制御信号DC0が、ソース電極には接地電位がそれぞれ接続される。ディスチャージ回路は、ビット線にある電荷を接地電位に引き抜くために用いられる。これは、Yスイッチ142, 143, 144, 145において、ビット線とセンスアンプ150との間をPチャネル型MOSトランジスタとしたため、ビット線を接地電位まで引き抜くことが出来ないために設けたものである。また、ディスチャージ回路を設けることにより、高速にビット線を引き抜くことが可能である。なお、他の実施例において、ディスチャージ回路をビット線を高速に引き抜くために設けてもよい。
ビット線BLには、更に、Yスイッチ回路(142、143、144、145)が接続されている。Yスイッチ回路(142、143、144、145)には書き込み・読み出し回路(150、151)も接続されている。例えば、Yスイッチ回路142は、Pチャネル型MOSトランジスタ(MP45、MP50)で構成されている。Pチャネル型MOSトランジスタMP45は書き込み時に使用され、ドレイン電極にはビット線BL0が、ゲート電極には制御信号YSW0が、ソース電極には書き込み・読み出し回路150がそれぞれ接続される。Pチャネル型MOSトランジスタMP50は読み出し時に使用され、ドレイン電極にはビット線BL0が、ゲート電極には制御信号YSR0が、ソース電極には書き込み・読み出し回路150がそれぞれ接続される。
書き込み・読み出し回路(150、151)の1つである書き込み・読み出し回路150は、書き込み回路である(INV4、INV14)と読み出し回路から構成される。読み出し回路は、Nチャネル型MOSトランジスタ(MN44、MN45、MN46)とPチャネル型MOSトランジスタ(MP58、MP59)で構成されるセンスアンプ回路とPチャネル型MOSトランジスタ(MP54、MP55、MP56)で構成されるセンスアンププリチャージ回路とPチャネル型MOSトランジスタMP57で構成されるレファレンス用Yスイッチ回路とインバータ回路INV5で構成される出力回路よりなる。センスアンプ回路は,Pチャネル型MOSトランジスタ(MP58、MP59)とNチャネル型MOSトランジスタ(MN44、MN45)からなるフリップフロップとセンスアンプを活性にするNチャネル型MOSトランジスタMN46からなるラッチ型センスアンプ回路である。Nチャネル型MOSトランジスタMN46のゲート電極には制御信号SAが接続される。センスアンププリチャージ回路は、電源線VBLとセンスアンプの内部ノードをつなぐPチャネル型MOSトランジスタ(MP54、MP55)とセンスアンプ回路の内部ノードをイコライズするPチャネル型MOSトランジスタMP56から構成される。Pチャネル型MOSトランジスタ(MP54、MP55、MP56)のゲート電極には制御信号PC_AMPが接続される。レファレンス用Yスイッチ回路であるPチャネル型MOSトランジスタMP57のゲート電極は制御信号YS_AMPに、ソース電極はレファレンス電圧であるVREFに接続される。本実施例では、読み出し時にビット線BLを電源電位より小さいリード電源電位0.6Vとするため、差動型のセンスアンプを使用している。なお、レファンス電位VREFは、リード電源電位と接地電位との間の電位とするとよい。例えば、本実施例では、ソース電位VSL(例えば0.3V)を使用しているため、VSLの電位を供給するように構成することにより電圧発生回路VGENを小さくすることができる。書き込み・読み出し回路150では読み出しデータRDATAI0が出力され、書き込みデータWDATAI0が入力される。このように構成することにより、リード時にビット線を電源電位より小さい電源電位とすることができ、記憶素子を流れる電流を小さくすることができ、情報破壊を防止し、信頼性を向上させることができる。
次に図17、図18を用いて動作について説明する。セット動作、リセット動作は、図15と同様である。なお、本実施例では、セット動作時のビット線とソース線の間の電位差をリセット動作時のビット線とソース線の間の電位差より小さくしている。図15では、0.3Vにプリチャージしたソース線をセット動作時に接地電位まで遷移させていた。しかし、セット動作時にリセット動作時のビット線とソース線との間の電位差と同じとすると電流が流れすぎる場合が考えられる。そのため本実施例では、セット動作時にプリチャージ電位のままとし、リセット動作時と比較して小さい電位差でセット動作を行っている。
続いてベリファイリード動作について説明する。VERIFY-READ動作開始時に、書き込まれたメモリセルCELLの接続されているビット線(BL0、BL2)を制御信号PC2を‘L’とすることにより電源線VBL電位にプリチャージしておく。電源線VBLの電位は電源電位より低い例えば0.6Vとする。電源電位より低い値とすることにより、読み出し破壊を避けることができる。次にワード線WL0を‘L’から‘H’に活性化させると同時にプリチャージ制御信号PC2を‘L’から‘H’に不活性にし、ビット線(BL0、BL2)から電流をソース線SL0に向かって流す。メモリセルCELL00には高抵抗の値が書き込まれているので、ビット線BL0はほとんど変化しない。一方メモリセルCELL02には低抵抗の値が書き込まれているので、ビット線BL2はすばやくディスチャージされる。ビット線の信号は、制御信号YSR0によりセンスアンプ回路(150、151)に伝えられ、制御信号SAにより増幅されて、読み出しデータ(RDATAI0、RDATA1)として出力される。センスアンプ回路のレファレンス側には、レファレンス電位VREFが供給されており、ビット線BL0では、ビット線の電位がVREFより高く、読み出しデータRDARAI0には、‘L’が出力され、ビット線BL2では、ビット線電位がVREFより低く、読み出しデータRDARAI1には、‘H’が出力される。センスアンプ回路で増幅すると、すぐにビット線(BL0、BL2)を0Vにディスチャージする。なお、リード動作は、ベリファイリード動作と同様である。
このように読み出し時のビット線とソース線との間の電位差を書込み時に対して低くすることにより読み出し時にメモリセルに流れる電流が小さくなり、情報破壊から防止することが可能となる。
本実施例では、記憶素子に印加される電圧を下げることにより読出し破壊を防ぐ例を示したが、記憶素子に電圧が印加される時間を短くすることも読出し破壊防止には有効である。この場合は、ワード線がオンした後、ビット線(BL0、BL2)をプリチャージし、センスアンプでデータを増幅した後すぐに、ディスチャージする。ビット線に接続されるメモリセルの数を例えば128ビットまたは64ビットにし、寄生容量を小さくすることにより高速でディスチャージやプリチャージを行い、素子に電圧が印加される時間を例えば2ns以下と短くなるようにし読出し破壊を防ぐ。
〈遷移時間の制御〉
更に図19を用いて図2に用いられるメモリブロック100の他の実施例を説明する。相変化素子を記憶素子に使用した場合、上述したようにセット動作時からリセット動作時への遷移時、リセット動作終了時及びリード動作時(ベリファイリード動作時を含む)に、ビット線又はソース線の遷移時間に制約がある。具体的には、セット動作時からリセット動作の遷移時では、ソース線SL0の遷移が速すぎると素子がアモルファス化してしまい抵抗値が上がってしまうため、少なくとも5ナノ秒以上かけて遷移させる必要がある。次に、リセット動作終了時には、記憶素子がアモルファス化しないために、ビット線BL0を‘L’から‘H’に素早く遷移させることにより素子に印加される電圧を急激に下げて急冷する必要がある。更に、リード動作時には、素早く(例えば数ナノ秒)ディスチャージすることにより発生する熱量が制限し、記憶素子PCM02の結晶構造を変化させず、データ破壊を防ぐ必要がある。即ち、ソース線の遷移は、時間をかけ、ビット線の遷移は、急速に行う必要がある。
そこで、ソース線には大きい負荷を与え、ビット線には小さい負荷を与える必要がある
。従って、一つのソース線に接続されるメモリセルの数を一つのビット線に接続されるメモリセルの数より大きくすると良い。
一つのソース線に接続されるメモリセルを一つのビット線に接続されるメモリセルの数より大きくするためのメモリブロックを図19を用いて説明する。図19のメモリブロックでは、ワード線WL、ビット線BL及びメモリセルCELLを含む複数のメモリアレイARRAYと、プリチャージ回路と、リードプリチャージ回路、Yスイッチ回路とを夫々が含む複数のメモリバンクBANKと、複数のメモリバンクBANKに共通に接続されるグローバルビット線を有している。また、グローバルビット線GRBLは、読み出しグローバルビット線GRBLと書込み読み出し回路GWBLとを含み、夫々読み出し回路SA、書込み回路WAに接続されている。Yスイッチは、グローバルビット線と各バンクのビット線との間に設けられており、読み出し用と書き込み用に分かれている。ここで、読み出し用のYスイッチ160,161,162,163は、例えば、MOSトランジスタMN50,MN51のようにソース・ドレイン経路が接地電位とグローバルビット線GRBL0の間に接続され、MOSトランジスタMN50のゲートはビット線BL0に接続され、MOSトランジスタMN51のゲートは、制御線YSR0に接続されている。このように、ビット線をYスイッチで細かい単位で分割することにより、一つのビット線に接続されるメモリセルの数を少なくすることが可能となる。また、リセット終了時に用いられるプリチャージ回路104,105,106,107を各メモリバンクBANKのビット線に設けることにより高速にビット線を立ち上げることが可能となる。更に、ビット線の負荷が小さいため読み出し時には高速にディスチャージされ、データ破壊を防止できる。更に、読み出し回路SAや書込み回路WAは、複数のメモリバンクBANKに共通にできるので、面積を小さくすることが可能となる。
なお、本実施例では、ビット線を分割することによりビット線に接続されるメモリセルの容量を減少させ、高速にディスチャージすることを可能とすることで情報破壊を防止することを特徴としており、その他の構成、例えば、メモリセルのしきい値電圧を小さくすることやセット時、リセット時の電流の向きを変更することは適宜削除することも可能である。
<ワードドライバ回路、ソースドライバ回路のレイアウト>
次に、図20から図22を用いて、ワードドライバ回路WDRとソースドライバ回路SDRのレイアウトについて説明する。図20は、ワードドライバ回路WDRとソースドライバ回路S
DRのレイアウトを示す第1の例である。ワードドライバ回路WDRとソースドライバ回路SDRは、ワード線WL、ビット線BL、メモリセルCELLを含むメモリアレイARRAYの1辺に沿って配置されている。このように配置することにより、レイアウトがシンプルになりサイズ変更がしやすくなる。なお、図では、一つのメモリアレイARRAYのみを記載しているが、ワードドライバ回路WDRとソースドライバ回路SDRをワードドライバ回路WDR、ソースドライバ回路SDRの両側にあるメモリアレイARRAYで共有してもよい。共有することにより一つのソース線に接続されるメモリセルの数を増やすことができ、セット時からリセット時に遷移する際にゆっくりと遷移することになり、誤書き込みを防止することが可能となる。
図21は、ワードドライバ回路WDRとソースドライバ回路SDRのレイアウトを示す第2の例である。図21では、ワードドライバ回路WDRをワード線WL、ビット線BL、メモリセルC
ELLを含むメモリアレイARRAYの一辺に沿ってワードドライバ回路WDRを配置し、対向する他の一辺に沿ってソースドライバ回路SDRを配置している。このようにワードドライバ回路WDR、ソースドライバ回路SDRを2列に並べることにより面積を小さくすることが可能となる。
図22は、ワードドライバ回路WDRとソースドライバ回路SDRのレイアウトを示す第3の例である。図22では、ワードドライバ回路WDRとソースドライバ回路SDRを一つのセットとし、ワード線WL、ビット線BL、メモリセルCELLを含むメモリアレイの両側に配置している。このようにワードドライバ回路WDR、ソースドライバ回路SDRを2列に並べることにより面積を小さくすることが可能となる。また、ワードドライバ回路WDR、ソースドライバ回路SDRの両側にあるメモリアレイARRAYと共有することで更に面積を小さくすることが可能となるとともに、一つのソース線に接続されるメモリセルの数を増やすことができ、セット時からリセット時に遷移する際にゆっくりと遷移することになり、誤書き込みを防止することが可能となる。なお、本レイアウトは、その他の実施例と組み合わせることが可能である。
<内部メモリによるバッファリング>
次に、実施例1で説明したシステムLSI(10)の別の実施例であるシステムLSI(20)を図23を用いて説明する。シリコン基板上には,実施例1に示すシステムLSI10に加えて、1次キャッシュまたはオンチップRAMとして使用されるメモリSRAMが形成されている。メモリブロック100の詳細は、既に説明した各実施例を適用することが可能である。メモリSRAMは、中央処理装置CPUの動作周波数に対してメモリブロック100の動作周波数が遅い場合、バッファとして用いられる。このようにバッファとして用いることにより動作周波数の違いを吸収でき、中央処理装置CPUを高速に動作させることが可能となる。例えば、メモリブロック100に中央処理装置が処理すべきプログラムを格納している場合、1つメモリアクセスで2命令をメモリSRAMに転送することで動作周波数の違いを吸収することが可能である。
次に図24を用いて動作について説明する。始めは待機状態STANDBYにある。第1サイクルWRITEでデータを書き込む。アドレスADDと書き込み許可信号WEが中央処理装置CPUから、書き込みデータWDATAがメモリSRAMからそれぞれラッチ回路(FF0、FF1、FF2)に与えられ、メモリ専用クロックCK_MEMが‘L’から‘H’になると、アドレスADDはメモリブロック100に、書き込みデータWDATAと書き込み許可信号WEはメモリコントローラMEM_CNTに取り込まれる。メモリコントローラMEM_CNTに取り込まれる。メモリコントローラMEM_CNTは、書き込みデータWDATAIと制御信号CNTを生成し、メモリブロック100に送ることによって、メモリブロック100での書き込み動作が開始される。はじめはSET動作を行い、タイマー回路TIMER_SETによりSET時間が計測される。所望の時間が経過するとSET動作終了信号SETENDをメモリブロック100に送ることにより、メモリブロック100ではSET動作を終了しRESET動作を開始する。同時にタイマー回路TIMER_RESETによりRESET時間の計測が開始され、所望の時間が経過するとRESET動作終了信号RESETENDをメモリブロック100に送り、メモリブロック100でのRESET動作が終了する。この後、必要に応じて、書き込みが正しく行われているか確認するために、ベリファイ動作が行われる。ベリファイ動作では、書き込んだデータをメモリブロック100から読み出し、読み出したデータRDATAIと書き込みデータWDATAIを比較回路CMPで比較し、一致した場合にはWCHが‘L'から‘H’となり正しく書き込まれたことが確認される。もし一致しない場合には、再度書き込みを行う。正しく書き込みが行われたら書き込み終了信号WENDを中央処理装置CPUに返す。
第2サイクルREADでは、データを読み出す。アドレスADDと読み出し許可信号REが中央処理装置CPUからラッチ回路(FF0、FF3)に与えられ、メモリ専用クロックCK_MEMが‘L’から‘H’になると、アドレスADDはメモリブロック100に、読み出し許可信号REはメモリコントローラMEM_CNTにそれぞれ取り込まれる。メモリコントローラMEM_CNTは、制御信号CNTを生成し、メモリブロック100に送ることによって、メモリブロック100での読み出し動作が開始される。読み出されたデータRDATAIは、メモリコントローラMEM_CNTを経由してメモリSRAMへ送られ、読み出し動作が終了する。
<薄膜MOSを用いた高圧での書込み>
MOSトランジスタは、酸化膜が薄いほどゲート長を短くでき、面積を小さくすることが可能である。従ってメモリセルサイズを小さくするためには、セルトランジスタは、薄い酸化膜を使うことが望ましい。ここで、薄い酸化膜とは例えば3nmの厚さであり、ゲート耐圧の観点から印加できる電圧は、1.2V程度となる。しかし、素子の書き込みにはこれより高い電圧、例えば2.4V程度が必要な場合がある。本実施例では薄膜のMOSトランジスタを用いて高電圧を使って書き込みを行なう場合について図25を用いて説明する。図16と相違する主な点は、次の通りである。
本実施例200では、カラム選択を行なわず、全てのカラムに同時にデータを書込み、読み出す構成としている。また、センスアンプ回路AMPは単純な形とした。
Yスイッチ回路(142、143、144、145)を構成する書き込み用のYスイッチHMPはメモリセルのトランジスタより厚い酸化膜を使ったMOSトランジスタであり、例えば酸化膜は8nmが使用され、2.4V程度まで電圧を印加することが可能である。厚い酸化膜を使ったMOSトランジスタは、図7に示したような入出力回路IO で使用されるMOSトランジスタと同一の酸化膜厚としても良い。書き込み用のYスイッチHMPの制御信号YSWは、選択時には接地電位とし、非選択時には、2.4Vに制御される。
また、書込み回路HBUFは、0Vまたは2.4Vを出力するため、厚い酸化膜を使ったMOSトランジスタを用いて構成されている。その他のMOSトランジスタは薄い酸化膜を使って構成されている。
ワードドライバ回路(115、116)は、図16と一部異なる。例えばワードドライバ回路115は、ワード線WL0を駆動するインバータINV0とソース線を制御するインバータ回路INV20とNチャネル型MOSトランジスタ(MN20、MN21)、Pチャネル型MOSトランジスタMP30より構成される。電源線VSLは本実施例では0.8Vであり、Nチャネル型MOSトランジスタMN21を介してソース線に供給される。ワードドライバ回路(115、116)は、デコーダADECの出力と制御信号(RDB、RD)により制御される。
次に図26を用いて動作について説明する。本実施例の書き込みではセル(CELL00、CELL01)の記憶素子(PCM00、PCM01)をRESET(“0”書き込みと定義)し、セル(CELL02、CELL03)の記憶素子(PCM02、PCM03)をSET(“1”書き込みと定義)する。STANDBY状態では、ビット線BL0とソース線SL、ワード線WLはいずれも0Vに制御される。SET動作では、全てのワード線WLが選択され1.2Vとなる。また全てのビット線BLも制御信号PC0を‘H’から‘L’にすることにより1.2Vにプリチャージされる。ソース線SLは選択されソース線SL0のみが0Vにされ、その他の非選択のソース線(SL1、、、)には1.2Vが印加される。この結果、ワード線WL0に接続される全てのメモリセル(CELL00、CELL01、CELL02、CELL03)では、セルトランジスタ(MN00、MN01、MN02、MN03)がオンし、ビット線BLの電位が1.2Vに、ソース線SLが0Vになり、記憶素子(PCM00、PCM 01、PCM 02、PCM 03)に電流が流れて、結晶化し、低抵抗化する。
所望の時間になるとSET終了し、RESET動作が開始される。RESET動作ではRESET動作を行ないたいセル(CELL00、CELL01)が接続されるビット線(BL0、BL1)をYスイッチ回路(142、143)を介して書込み回路(HBUF0、HBUF1)から2.4Vにする。セル(CELL00、CELL01)のトランジスタ(MN00、MN01)はオンし、ビット線の電位が2.4Vで、ソース線SL0が0Vに保たれ、記憶素子(PCM00、PCM01)は溶融状態となる。一方SETを行なう記憶素子(PCM02、PCM03)はRESET動作が始まってもSET動作を続ける。
所望の時間が経過するとRESETの終了が始まる。ワード線WLは0Vに、ビット線BLとソース線は0.8Vにそれぞれ遷移し、書込み動作が終了する。記憶素子(PCM00、PCM01)は溶融状態から冷却されアモルファス化し高抵抗となる。
本方式では、メモリセルのトランジスタのゲート−ソース間電圧およびゲート−ドレイン間電圧が耐圧以下の電源電圧1.2V以下となる。このため、メモリセルを薄膜のトランジスタで形成しても記憶素子には最大2.4Vの電圧を印加することができる。
続いて書き込み動作が正しく行われたかチェックするVERIFY-READ動作とREAD動作について説明する。どちらの動作も同一であるのでVERIFY-READ動作を説明する。まず、ワード線WL0を‘L’から‘H’に活性化させる。その後、プリチャージ制御信号PC0を‘H’から‘L’にしてビット線BLを1.2Vにプリチャージし、1.2Vになったところで、プリチャージ制御信号PC0を不活性にし、ビット線(BL0、BL2)から電流をソース線SL0に向かって流す。メモリセル(CELL00、CELL01)には高抵抗の値が書き込まれているので、ビット線(BL0、BL1)は、ほとんど変化せず1.2Vである。一方メモリセル(CELL02、CELL03)には低抵抗の値が書き込まれているので、ビット線(BL2、BL3)はディスチャージされ、およそ0.8V付近まで下がる。ビット線の電位が確定した後、センスアンプ回路AMPによりデータを増幅し読み出しデータRDATAIとして出力する。
その後、制御信号PC1を‘H’から‘L’にし、データ線を電源線VBLの値である0.8Vまで戻し、ゆっくりとワードを0Vに遷移させる。本方式では、ビット線が1.2Vか0.8Vかを判別すればよく、通常の読出し回路でも十分読出しを行うことも可能である。
〈読出しディスターブの防止〉
相変化素子を記憶素子に使用した場合、読出し時にも電流が流れるため素子が発熱し、連続して同一素子の読み出しを行った場合には、リセット状態の素子がセットしてしまう読出しディスターブが問題となる。セット状態の素子をリセットするにはかなりのエネルギーが必要となりほとんど問題とはならない。
本実施例は、読出しディスターブを防ぐための回路構成であり図27を用いて説明する。図19と相違する主な点は、次の通りである。
図27のメモリブロックでは、各メモリバンクBANKは、メモリアレイARRAYと、デコーダ回路ADEC、ワードドライバ回路115、制御回路CNTL、プリチャージ回路(134、135、136、137)と、ディスチャージ回路(138、139、140、141)、読出し用Yスイッチ回路(142、143、144、145)、読出し回路(150、151)、読出しグローバルビット線GRBLを駆動するNチャネル型MOSトランジスタ(MN100、MN101)、書込み用Yスイッチ回路(164、165、166、167)を含んでいる。
読み出しグローバルビット線GRBLは、グローバル読み出し回路GSAと各メモリバンクBANKのNチャネル型MOSトランジスタ(MN100、MN101)と接続されている。書込みグローバルビット線GWBLは、グローバル書込み回路GWAと各メモリバンクBANKの書込み用Yスイッチ回路(164、165、166、167)にそれぞれ接続されている。
読出し用のYスイッチ回路(142、143、144、145)は、Pチャネル型MOSトランジスタMPで構成され、ビット線BLと読出し回路(150、151)を選択的に接続する。
読出し回路(150、151)は、図5に示した読出し回路(150、151)と同一の構成である。読出し回路(150、151)の出力はNチャネル型MOSトランジスタ(MN100、MN101)のゲート電極に接続される。
次に、図28を用いて動作について説明する。本実施例では、ソース線SLは、接地電位に接続されている。セット動作では、ワード線WL0が選択され、ビット線BL2がYスイッチ回路166を介してグローバル書込み回路GWA_1により0.6Vに制御され、メモリセルCELL02の記憶素子PCM02がセットされる。リセット動作では、ワード線WL0が選択され、ビット線BL0がYスイッチ回路164を介してグローバル書込み回路GWA_0により1.2Vに制御され、メモリセルCELL00の記憶素子PCM00がリセットされる。
続いてベリファイリード動作について説明する。ワード線WL0を‘L’から‘H’に選択した後、プリチャージ制御信号PC0を‘H’から‘L’にし、ビット線(BL0、BL2)を0Vから電源線VBL電位である0.4Vにプリチャージする。プリチャージ終了後、制御信号PC0を‘L’から‘H’にし、プリチャージを不活性にし、ビット線をフローティング状態にする。その後ビット線BLからソース線SL0に向かって電流が流れ、ビット線BLの電位が変化する。
メモリセルCELL00には高抵抗の値が書き込まれているので、ビット線BL0はほとんど変化しない。一方メモリセルCELL02には低抵抗の値が書き込まれているので、ビット線BL2はディスチャージされる。ビット線BLの変化は、Yスイッチ回路(142、144)により読出し回路(150、151)にそれぞれ伝えられ、制御信号YS_AMPにより増幅され、保持される。このデータはNチャネル型MOSトランジスタ(MN100、MN101)により読出しグローバルビット線GRBLに送られ、グローバル読出し回路GSAにより増幅され読み出しデータ(RDATAI0、RDATA1)として出力される。読出されたデータが読出し回路(150、151)に保持されると同時に、制御信号YSR0を‘L’から‘H’にしてビット線BLと読出し回路(150、151)の接続を切り離し、制御信号DC0を‘L’から‘H’にしてビット線BLをディスチャージし0Vにする。その後ワード線をH’から‘L’に不活性としてベリファイリード動作は終了する。なお、リード動作は、ベリファイリード動作と同様である。
本方式ではワード線WLをオンしてから、ビット線BLをプリチャージし、データを読み出した後、ビット線BLをディスチャージし、ワード線WLをオフするという順序で動作を行なう。一般的にワード線WLは、負荷が大きいので、遷移に時間がかかる。一方ビット線BLは、一般的に負荷容量が小さく高速に遷移できる。このためワード線WLをオンしてからビット線BLをプリチャージし、また、ビット線BLをディスチャージしてからワード線WLをオフする順序とすることにより、記憶素子に電圧が印加される時間を最小とすることができる。さらに本方式のようにビット線をバンクBANKに分割して階層化することにより、さらにビット線BLの負荷容量を小さくして高速に遷移させることができる。また、ビット線BLを階層化し、読み出し回路もメモリバンクBANK毎に置くことにより、読出し動作自身を高速に行うことができるので、素子に電圧が印加される時間をさらに短くすることができる。
このように記憶素子に電圧を印加する時間を短くすることにより、記憶素子での発熱を抑え記憶素子のディスターブを防止することができる。また、書き込みではこのように素子に電圧が印加される時間を短くする必要がないため、書込み回路をメモリバンクBANK毎におく必要がなく、グローバルに書込み回路を置くだけでよい。したがって面積増加を防ぐことができる。
<薄膜MOSを用いた高圧での書込み2>
薄膜MOSを使っても、限られた時間であれば耐圧以上の電圧をMOSに印加することができる。本実施例ではこの特性を使って薄膜のMOSトランジスタを用いて高電圧で書き込みを行なう場合について、図30を用いて説明する。図25と相違する主な点は、次の通りである。
本実施例210では、ソース線SLを制御せず接地電位に接続している。また、プリチャージ回路は読み出し用の電位Vrdにプリチャージするのみであり、電源電位にプリチャージする回路は削除している。ビット線には1024個のメモリセルが接続されている。本実施例で使用される薄膜MOSの酸化膜厚は4nmであり、常時印加できる電圧は1.5Vである。
次に図31を用いて動作について説明する。本実施例の書き込みではセル(CELL00、CELL01)の記憶素子(PCM00、PCM01)をRESET(“0”書き込みと定義)し、セル(CELL02、CELL03)の記憶素子(PCM02、PCM03)をSET(“1”書き込みと定義)する。STANDBY状態では、ビット線BLとソース線SL、ワード線WLはいずれも0Vに制御される。SET動作では、ワード線WL0が選択され1.5Vとなる。また、ビット線(BL2、BL3)は、Yスイッチ回路(144、145)を介して書込み回路(HBUF2、HBUF3)によりセット電圧である1.2Vに設定される。この結果、ワード線WL0に接続されるメモリセル(CELL02、CELL03)では、セルトランジスタ(MN02、MN03)がオンし、ビット線BLの電位が1.2Vに、ソース線SLが0Vになり、記憶素子(PCM02、PCM03)に電流が流れて結晶化し、低抵抗化する。
所望の時間になるとビット線(BL2、BL3)を0VにしSETが終了する。その後、RESET動作が開始される。RESET動作ではRESET動作を行ないたいセル(CELL00、CELL01)が接続されるビット線(BL0、BL1)をYスイッチ回路(142、143)を介して書込み回路(HBUF0、HBUF1)により2.0Vにする。セル(CELL00、CELL01)のトランジスタ(MN00、MN01)はオンし、ビット線の電位が2.0Vで、ソース線SL0が0Vに保たれ、記憶素子(PCM00、PCM01)に電流が流れ溶融状態となる。
所望の時間が経過するとワード線WL0とビット線(BL0、BL1)がそれぞれ0Vに遷移し、RESET動作が終了する。記憶素子(PCM00、PCM01)は溶融状態から冷却されアモルファス化し高抵抗となる。
通常オンチップROMとして使用される場合に要求される書換え回数は100万回程度であり、RESET時間が100nsの場合、1つのセルが書き込みをされる合計時間は0.1sとなる。また、同一ビット線で書き込みをしないセルのトランジスタMNのゲート−ドレイン電極間にも同様に耐圧以上の2Vの電圧が印加される。本実施例ではビット線BLにメモリセルが1024個接続されるので、全てのセルに100万回の書き込みを行なった場合、MOSトランジスタのゲート・ソース間には、2Vの電圧を約100s間印加したことになる。本実施例の薄膜MOSトランジスタには1.5Vまで印加可能であるが、100s以下であれば2Vまで印加しても信頼性上特に問題とはならない。以上述べてきたように薄膜MOSを使っても、耐圧以上の電圧で素子の書換えを行なうことができる。
書込み後は、素子が冷却し抵抗値が低下するまで正常に読み出しが行なえないため、しばらくしてから書き込み動作が正しく行われたかチェックするベリファイや通常の読みだしREADを行なう。まず、ワード線WL0を‘L’から‘H’に活性化させる。その後、プリチャージ制御信号PCを‘H’から‘L’にしてビット線BLを0.3Vにプリチャージし、0.3Vになったところで、プリチャージ制御信号PCを不活性にし、ビット線(BL0、BL1、BL2、BL3)から電流をソース線SL0に向かって流す。メモリセル(CELL00、CELL01)には高抵抗の値が書き込まれているので、ビット線(BL0、BL1)は、ほとんど変化せず0.3Vである。一方メモリセル(CELL02、CELL03)には低抵抗の値が書き込まれているので、ビット線(BL2、BL3)はディスチャージされ、およそ0V付近まで下がる。ビット線の電位が確定した後、センスアンプ回路AMPによりデータを増幅し読み出しデータRDATAIとして出力する。
その後、制御信号DCを‘L’から‘H’にし、データ線を0Vまで戻し、ワードを0Vに遷移させ、READが終了する。