図1は、実施例1に係る半導体装置100の構成を示したブロック図である。図1において、メモリセルアレイ10は、データ記憶素子(不図示)を含む複数のメモリセルMCを有する。メモリセルアレイ10には、複数のデータラインDLと複数のワードラインWLとが設けられている。メモリセルMCは、データラインDLとワードラインWLとの交差領域に設けられ、データラインDLとワードラインWLとに接続されている。複数のデータラインDLのうち、隣接するデータラインDLである、第1データラインDLzと第2データラインDLxとはデータライン対を構成する。複数のメモリセルのうち、第1メモリセルMCzは第1データラインDLzに接続され、第2メモリセルMCxは第2データラインDLxに接続されている。第1メモリセルMCzと第2メモリセルMCxとは、ワードラインWL1本おきに交互に設けられている。
ワードラインWLには行選択を行うためのロウデコーダ12が接続され、データラインDLには列選択を行うためのカラムデコーダ14が接続されている。ロウデコーダ12で選択される行とカラムデコーダ14で選択される列との組み合わせによりアクセス対象となるメモリセルMCが選択される。メモリセルMCを選択するためのアドレス信号は、外部から、アドレスバッファ16を介して、ロウデコーダ12とカラムデコーダ14とに送られる。
書き込み回路18は、データを書き込む際に、メモリセルMCに印加されるデータ書き込み用の高電圧を生成する。リセット回路20は、データを読み出す際に、データラインDLに印加されるリファレンス電圧Vrefを供給する。クランプ回路21は、データを読み出す際に、データラインDLに印加されるクランプ電圧Vclmpを供給する。センスアンプ22は、メモリセルMCからの信号の読み出し及び増幅を行う。センスアンプドライバ24は、データを読み出す際に、センスアンプ22を駆動させる。入出力回路26は、メモリセルアレイ10と外部との間でデータのやり取りを行う。
選択レジスタ28は、メモリセルMCにデータを記憶する際の記憶モードに関する情報を格納する。制御部30は、選択レジスタ28に記憶された記憶モードに関する情報に基づき、メモリセルMCの記憶モードを選択する。また、制御部30は、外部からのコマンド信号に応じて、書き込み回路18、リセット回路20、クランプ回路21、入出力回路26に対する制御を行う。さらに、制御部30は、カラムデコーダ14を制御することにより、第1データラインDLz及び第2データラインDLxからなるデータライン対の中から、データを書き込む際及び読み出す際に、電圧を印加すべき1本のデータラインDLを選択する。リフレッシュ制御回路32は、メモリセルMCのデータ記憶素子40に対するリフレッシュの制御を行う。
図2(a)から図2(d)は、図1におけるメモリセルMCの構成を示す回路図である。図2(a)及び図2(b)において、メモリセルMCは、データ記憶素子40と選択トランジスタ41とを有する。選択トランジスタ41を有する構造のメモリセルMCを1T1R型と称する。選択トランジスタ41はデータ記憶素子40に対するアクセスを制御する。選択トランジスタ41のゲートはワードラインWLに接続し、ドレインはデータラインDLに接続し、ソースはデータ記憶素子40に接続する。データ記憶素子40は、記憶モードにより、容量及び可変抵抗のいずれかで機能する。データ記憶素子40の一端は、不図示のソースライン(接地電位)または任意の電圧レベル(電位)に接続されている。
図2(c)及び図2(d)において、メモリセルMCは、データ記憶素子40と選択ダイオード42とを有する。選択ダイオード42を有する構造のメモリセルMCを1D1R型と称する。データ記憶素子40のアノード側はワードラインWLに接続され、カソード側はデータラインDLに接続されている。図2(a)及び図2(b)のように、選択トランジスタ41を設けていないため、データ記憶素子40の非選択時においては、データラインDLの電位をワードラインWLの電位より高く維持することで、選択ダイオード42の働きにより、データ記憶素子40に電流が流れるのを防ぐことができる。逆に、データラインDLの電位をワードラインWLの電位より低くすることで、データ記憶素子40を選択することができる。
図3は、図2(a)から図2(d)におけるデータ記憶素子40の構成を示す断面図である。図3において、データ記憶素子40は、可変抵抗43及び電極44を有する。可変抵抗43は、抵抗値の大小によりデータを記憶するもので、電流が流れることにより抵抗値が大きく変化(例えば、104倍以上)する材料からなる。具体的な材料として、例えば、CuOをはじめとする遷移金属酸化物が挙げられる。電極44は、容量として電荷を蓄えることによりデータを記憶するもので、例えばCuなどの伝導性の高い物質からなる。電極44は可変抵抗43の両端に設けられている。可変抵抗43は、絶縁部46にて周囲を覆われている。
次に、表1を用いて、メモリセルMCにデータを記憶する際の記憶モードについて説明をする。表1において、メモリセルMCにデータを記憶する記憶モードは、3つの記憶モード(NVMモード、MIDモード、RAMモード)がある。NVMモードとMIDモードとは、可変抵抗43を高抵抗状態及び低抵抗状態のいずれかに変化させることでデータの記憶を行う。ここで、MIDモードのことを第1モードとし、NVMモードのことを第2モードとする。NVMモードにおいて、高抵抗状態は、例えば108Ω程度で、この時に論理“0”を記憶する。低抵抗状態は、例えば102Ω程度で、この時に論理“1”を記憶する。MIDモードにおいては、高抵抗状態は、例えば107Ω程度で、この時に論理“0”を記憶する。低抵抗状態は、例えば103Ω程度で、この時に論理“1”を記憶する。このように、第2モードであるNVMモードの高抵抗状態における可変抵抗43の抵抗値は、第1モードであるMIDモードの高抵抗状態における可変抵抗43の抵抗値に比べて大きい。また、NVMモードの低抵抗状態における可変抵抗43の抵抗値は、MIDモードの低抵抗状態における可変抵抗43の抵抗値に比べて小さい。即ち、可変抵抗43の高抵抗状態と低抵抗状態との抵抗値の差は、MIDモードの方がNVMモードに比べて小さい。
第3モードであるRAMモードは、容量である電極44に蓄えられた電荷量によりデータを記憶する。容量に電荷が蓄えられていない場合(放電時)に論理“0”を記憶し、電荷が蓄えられている場合(充電時)に論理“1”を記憶する。以上より、図2(a)及び図2(c)のように、NVMモード及びMIDモードの場合には、データ記憶素子40は可変抵抗として機能し、図2(b)及び図2(d)のように、RAMモードの場合には、データ記憶素子40は容量として機能する。
表2は、各記憶モードにおけるデータ記憶素子40の特性を示したものである。なお、表2の括弧内の数値は一例である。表2において、NVMモードはデータの保持時間が長い(例えば10年)反面アクセス速度が遅い(例えば300ns)。これは、従来の不揮発性の記憶素子(フラッシュメモリ等)に近い性質を示す。MIDモードは、データの保持時間はNVMモードに比べて短く(例えば1日)、アクセス速度はNVMモードに比べて速い(例えば70ns)。MIDモードにおいて、データの保持時間をより長くするためには、一定時間ごとにリフレッシュを行う必要がある。RAMモードは、アクセス速度は速い(例えば50ns)が、データの保持時間は短い(例えば1秒)。これは、従来の揮発性の記憶素子(DRAM等)に近い性質を示す。データの保持時間を長くするためには、リフレッシュを行う必要がある。以上のように、MIDモードは、NVMモードとRAMモードの中間の性質を有する。
また、NVMモード及びMIDモードへのデータの書き込みは可変抵抗43の状態変化を伴い、データ記憶素子40にダメージを与えるため、データの書き換え回数に制限がある(例えばNVMモードは10000回、MIDモードは100000回)。一方、RAMモードは、電極44への電荷の出し入れのみが行われ、データ記憶素子40へのダメージが少ないため、実質的に無限に書き換えを行うことができる。
データ記憶素子40は、流れる電流の大きさ及び印加する電圧の時間を制御することにより、NVMモード、MIDモード、RAMモードの異なる3つの記憶モードで、データを機能させることができる。ここで、1T1R型メモリセルMCの場合での、データの書き込み及び読み出し動作を説明する。表3は、1T1R型メモリセルMCの各記憶モードにおける、データの書き込み及び読み出し動作に対応した、選択トランジスタ41のゲート電圧Vg、ドレイン電圧Vd、電圧印加時間Sの一例を示す表である。電圧印加時間Sは、例えばデータ記憶素子40に加える電圧条件を変化させることにより制御することができる。なお、電圧条件とは、メモリセルMCに印加する電圧の大きさ及び印加時間をいう。
まず、NVMモードにおけるデータの書き込み及び読み出しの電圧条件について説明する。図4は、データ記憶素子40の電圧−電流特性を示すグラフである。図4において、実線の矢印で示された(a)は、データ記憶素子40内の可変抵抗43が、低抵抗状態から高抵抗状態に移行する場合の電圧−電流特性の変化を示し、破線の矢印で示された(b)は、可変抵抗43が高抵抗状態から低抵抗状態に移行する場合の電圧−電流特性の変化を示す。
データ記憶素子40には、可変抵抗43を高抵抗状態から低抵抗状態へと変化させるための閾値電圧Vthが存在する。論理“0”を書き込む場合には、閾値電圧Vthより低い電圧を一定時間印加する。これにより、データ記憶素子40には所定時間経過後からほとんど電流が流れなくなり、可変抵抗43は低抵抗状態から高抵抗状態へと移行する。(図4の(a)参照)。このときのゲート電圧Vgは2.5V、ドレイン電圧Vdは1.2V、印加電圧時間Sは250nsである(表3参照)。論理“1”を書き込む場合には、閾値電圧Vthより高い電圧を印加する。これにより、データ記憶素子40に電流が流れ、可変抵抗43は高抵抗状態から低抵抗状態へと変化する(図4の(b)参照)。このときのゲート電圧Vgは1.2V、ドレイン電圧Vdは4V、印加電圧時間Sは100nsである(表3参照)。このようにして、NVMモードでのデータの書き込みを行うことができる。
NVMモードにおいて、データを読み出す際には、データ記憶素子40に対して閾値電圧Vthより低く、且つ可変抵抗43を高抵抗状態にする場合の電圧より低い電圧を加える。これにより、可変抵抗43が低抵抗状態の場合は電流が流れ、高抵抗状態の場合は電流が流れないので、論理“0”及び“1”を判別することができる。このときのゲート電圧Vgは1.0Vであり、ドレイン電圧VdはVclmpである。
次に、MIDモードにおけるデータの書き込み及び読み出しの電圧条件について説明する。表3において、MIDモードでデータを書き込む際の、選択トランジスタ41のゲート電圧Vgの大きさとドレイン電圧Vdの大きさとは、NVMモードの場合と同じであり、電圧印加時間Sのみ異なる。MIDモードでのデータ書き込み時の電圧印加時間Sは50nsである。MIDモードにおいて、データを読み出す際の電圧条件は、NVMモードの場合と同じである。
次に、RAMモードにおけるデータの書き込み及び読み出しの電圧条件について説明する。表3において、RAMモードでデータを書き込む場合の選択トランジスタ41のゲート電圧Vgは常に2.5Vである。これは、NVMモード及びMIDモードにおいて可変抵抗43を高抵抗状態にする場合のゲート電圧と同じ大きさである。即ち、RAMモードでは、可変抵抗43は高抵抗状態に維持される。RAMモードで論理“0”を書き込む場合には、データ記憶素子40に低電圧(例えば、接地電位Vss)を印加して、電極44に蓄えられた電荷を放電させる。このときのドレイン電圧Vdは0V、印加電圧時間Sは10nsである。論理“1”を書き込む場合には、データ記憶素子40に高電圧を印加して、電極44に電荷を蓄積して充電する。このときのドレイン電圧Vdは1.2V、電圧印加時間Sは10nsである。RAMモードでは、電極44への電荷の出し入れが行われるのみで、可変抵抗43の状態変化は起こらない。このため、NVMモード及びMIDモードにおける電圧印加時間Sは、RAMモードにおける電圧印加時間Sより長くなっている。また、電極44に印加される電圧の大きさは、データ記憶素子40の閾値電圧より小さい。
RAMモードにおいて、データを読み出す際には、データ記憶素子40に対してデータ読み出し用のリファレンス電圧Vrefを加える。このときのゲート電圧Vgは2.5Vであり、ドレイン電圧VdはVrefである。
次に、1T1R型メモリセルMCへのデータ書き込みに関する具体的な回路構成及び動作について説明する。図5は、図1におけるロウデコーダ12の構成を示す回路図である。図5において、斜線のあるトランジスタ53から55はpMOSトランジスタであり、それぞれのゲート端子への入力AxxからCxxに応じて、それぞれのソース端子に印加された電圧Vx1からVx3を選択する。pMOSトランジスタ53から55のドレイン端子は、ワードラインWLを介して選択トランジスタ41のゲート端子に接続している。このため、電圧Vx1からVx3の中から選択された1つの電圧が、選択トランジスタ41のゲート電圧Vgとして印加される。Vx1は2.5Vであり、Vx2は1.2Vであり、Vx3は1.0Vである。したがって、表3によれば、NVMモード及びMIDモードにおける論理“0”の書き込みと、RAMモードにおける書き込み及び読み出しとにおいてVx1が選択される。NVMモード及びMIDモードにおける論理“1”の書き込みにはVx2が選択される。NVMモード及びMIDモードにおけるデータの読み出しにはVx3が選択される。
NANDゲート50には、ワードライン選択のためのアドレス信号A#x/zと、選択トランジスタ41のゲート電圧Vgの立ち上げ及び立ち下げをコントロールするタイミング信号Timxpzが入力される。アドレス信号A#x/zがH(ハイ)レベルの時、タイミング信号Timxpzに応じて電圧Vx1からVx3のいずれかが、インバータ52を介してワードラインWLに印加される。
図6は、図1におけるカラムデコーダ14の構成を示す回路図である。図6において、NANDゲート56には、データライン選択のためのアドレス信号A#x/zと、選択トランジスタ41のドレイン電圧Vdの立ち上げ及び立ち下げをコントロールするタイミング信号Timypzが入力される。インバータ58はNANDゲート56の出力を反転させる。アドレス信号A#x/zがHレベルの時、タイミング信号Timypzに応じて、制御信号Timypzbが書き込み回路18に出力される。ここで、カラムデコーダ14はアクセス対象となるメモリセルMCが接続されたデータラインと、それに対応したデータラインとからなるデータライン対を選択する。データライン対を構成する2本のデータラインのうち、ドレイン電圧Vdを印加するデータラインは、後述するデータライン選択部62(図8参照)において選択される。
図7は、図1における書き込み回路18の構成を示す回路図である。図7において、書き込み回路18は、電圧選択部60とデータライン選択部62とを備える。電圧選択部60内のpMOSトランジスタ66から68は、それぞれソース端子にVy1、Vy2、Vclmpが印加されている。pMOSトランジスタ66から68のドレイン端子は、データライン選択部62とデータラインDLとを介して選択トランジスタ41のドレイン端子に接続されている。これにより、電圧Vy1、Vy2、Vclmpの中から選択された電圧が、選択トランジスタ41のドレイン電圧Vdとして印加される。Vy1は4Vであり、Vy2は1.2Vであり、Vclmpは0.8Vである。したがって、表3によれば、NVMモード及びMIDモードにおける論理“1”の書き込みにおいてVy1が選択される。NVMモード及びMIDモードにおける論理“0”の書き込みと、RAMモードにおける論理“1”の書き込みにおいてVy2が選択される。NVMモード及びMIDモードにおけるデータの読み出しにはVclmpが選択される。
NANDゲート64には、信号RAMzがインバータ63により反転されて入力されると共に、データ記憶素子40に記憶される論理値に対応した信号DATAzが入力される。つまり、RAMモードにおいて、信号RAMzはHレベルとなり、NANDゲート64の出力は常にHレベルとなる。NANDゲート64の出力はインバータ65により反転されてトランジスタ67のゲート端子に入力される。これにより、トランジスタ67がONとなり電圧Vy2が選択される。NVMモード及びMIDモードにおいては、RAMzはLレベルとなり、信号DATAzに応じて電圧が選択される。即ち、NVMモード及びMIDモードにおける論理“0”の書き込みにおいては、信号DATAzはLレベルとなり、NANDゲート64の出力はHレベルとなる。これにより、RAMモードの場合と同じくトランジスタ67がONとなり、電圧Vy2が選択される。NVMモード及びMIDモードにおける論理“1”書き込みにおいては、信号DATAzはHレベルとなり、NANDゲート64の出力はLレベルとなる。これにより、トランジスタ66がONとなり、電圧Vy1が選択される。
実施例1に係る半導体装置100は、第1データラインDLz及び第2データラインDLxからなるデータライン対を備え、それぞれのデータラインDLにはメモリセルMCが交互に配置されている。このため、NVMモード、MIDモードとRAMモードとでは、ドレイン電圧Vdを印加すべきデータラインの選択方法が異なる。以下、これについて説明する。
図8は、図7におけるデータライン選択部62と図1におけるメモリセルアレイ10の一部との構成を示す回路図である。図8(a)はNVMモード及びMIDモードに対応し、図8(b)はRAMモードに対応する。図8(a)及び図8(b)において、データライン選択部62は、インバータ70から72、NANDゲート73、パスゲート74、75で構成される。インバータ70と71とには、電圧選択部60において選択されたドレイン電圧Vdが印加されている。パスゲート74には第1データラインDLzが、パスゲート75には第2データラインDLxがそれぞれ接続されている。第1データラインDLzには、第1データ記憶素子を有する第1メモリセルMCzが接続され、第2データラインDLxには、第2データ記憶素子を有する第2メモリセルMCxが接続されている。
図8(a)において、NVMモード及びMIDモードの場合、NANDゲート73に入力される信号NVMzがHレベルとなり、カラムデコーダ14から入力されるタイミング信号Timypzbに応じて、パスゲート74及び75がON又はOFFに切り替わる。また、インバータ70に入力される信号Ya0zは、第1データラインDLzと第2データラインDLxとからなるデータライン対のうち、データ書き込み対象となるメモリセルが接続されたデータラインを選択するアドレス信号である。
図8(b)において、RAMモードの場合、NANDゲート73に入力される信号RAMzがHレベルとなり、カラムデコーダ14から入力されるタイミング信号Timypzbに応じて、パスゲート74及び75がONまたはOFFに切り替わる。また、インバータ70に入力される信号DATAzは、メモリセルMCに書き込まれるデータの論理値である。以下において、論理H(ハイ)は表1における論理“1”に対応し、論理L(ロー)は表1における論理“0”に対応するものとする。
次に、図9を用い、図1における第1メモリセルMCzと第2メモリセルMCxとへのデータ書き込みについて説明する。図9において、制御部30が、メモリセルMCに行うデータ記憶の記憶モードを選択する(ステップS10)。NVMモード及びMIDモードの場合はステップS11へ、RAMモードの場合はステップS15へとそれぞれ進む。
NVMモード及びMIDモードの場合、書き込み対象であるデータ記憶素子40を有するメモリセルMCが、第1メモリセルMCzであるか第2メモリセルMCxであるか判定する(ステップS11)。第1メモリセルMCz内の第1データ記憶素子に書き込みを行う場合には、制御部30は、第1データラインDLzを選択する。このとき、図8(a)における信号Ya0zがHレベルとなり、第1データラインDLzはHレベルに、第2データラインDLxはHレベルより低い電圧レベル(例えば、電源電圧Vccの半分)にそれぞれ設定される(ステップS12)。第2メモリセルMCx内の第2データ記憶素子に書き込みを行う場合には、制御部30は、第2データラインDLxを選択する。このとき、図8(a)における信号Ya0zはLレベルとなり、第2データラインDLxがHレベルに、第1データラインDLzがHレベルより低い電圧レベルにそれぞれ設定される(ステップS13)。
次に、制御部30が、書き込み回路18を制御することにより、ステップS12及びステップS13においてHレベルに設定されたデータラインに対して書き込み電圧を印加し、データの書き込みを行う(ステップS14)。図8(a)において、第1データラインDLz及び第2データラインDLxに対し印加される書き込み電圧は、電圧選択部60(図7参照)において選択されたドレイン電圧Vdであり、データ記憶素子40内の可変抵抗43を高抵抗状態及び低抵抗状態のいずれかに変化させるためのものである。
図9に戻り、ステップS10においてRAMモードと判定された場合は、メモリセルMC内のデータ記憶素子40に記憶する論理値に応じて、書き込み電圧を印加すべきデータラインを選択する。まず、制御部30が、メモリセルMCに書き込まれるデータの論理値を判定する(ステップS15)。論理“1”(論理H)を書き込む場合は、制御部30は第1データラインDLzを選択する。このとき、図8(b)における信号DATAzがHレベルとなり第1データラインDLzがHレベルに、第2データラインDLxがLレベルにそれぞれ設定される(ステップS16)。論理“0”(論理L)を書き込む場合は、制御部30は第2データラインDLxを選択する。このとき、図8(b)における信号DATAzがLレベルとなり、第1データラインDLzがLレベルに、第2データラインDLxがHレベルにそれぞれ設定される(ステップS17)。
次に、制御部30が、書き込み回路18を制御することにより、ステップS16及びステップS17においてHレベルに設定されたデータラインに対し、データ記憶素子40内の電極44に電荷を充電するための電圧を印加し、データの書き込みを行う(ステップS18)。図8(b)において、Hレベルに設定されたデータラインに対し印加される書き込み電圧は、電圧選択部60(図7参照)において選択されたドレイン電圧Vdである。また、制御部30は、同時に、Lレベルに設定されたデータラインに対し、データ記憶素子40内の電極44から電荷を放電させるための電圧(例えば、接地電位Vss)を印加する。以上により、データ記憶素子40へのデータの書き込みが完了する。
RAMモードにおいては、書き込み対象となるメモリセルMCが第1データラインDLz及び第2データラインDLxのどちらに接続されているかに関係なく、メモリセルMCに記憶される論理値に応じて、ドレイン電圧Vdを印加すべきデータラインを選択する。このため、メモリセルMCに記憶される論理値(以下、外部の論理)と、メモリセルMC内のデータ記憶素子40の状態を示す論理値(以下、内部の論理)とは必ずしも一致しない。以下、これについて説明する。
例えば、第1メモリセルMCzに論理“1”を記憶する場合(外部の論理が1)、図8(b)における信号DATAzはHレベルとなり、第1データラインDLzがHレベルに設定される。このため、第1メモリセルMCzは充電される(内部の論理は1)。第1メモリセルMCzに論理“0”を記憶する場合(外部の論理が0)、図8(b)における信号DATAzはLレベルとなり、第1データラインDLzがLレベルに設定されるため、第1メモリセルMCzは放電する(内部の論理は0)。このように、第1メモリセルMCzにおいては、外部の論理と内部の論理とは同じになる。
一方、第2メモリセルMCxに論理“1”を記憶する場合(外部の論理が1)、図8(b)における信号DATAzはHレベルとなり、第1データラインDLzがHレベルに設定される。このとき、第2データラインDLxはLレベルに設定されるため、第2データラインDLxに接続された第2メモリセルMCxは放電する(内部の論理は0)。第2メモリセルMCxに論理“0”を記憶する場合(外部の論理が0)、図8(b)における信号DATAzはLレベルとなり、第1データラインDLzがLレベルに設定される。このとき、第2データラインDLxはHレベルに設定されるため、第2データラインDLxに接続された第2メモリセルMCxは充電される(内部の論理は1)。このように、第2メモリセルMCxにおいては、外部の論理と内部の論理とが反対となる。しかしながら、後述するように、第2メモリセルMCxからのデータの読み出しの際に、論理値を逆転させて読み出しを行うため、それぞれのメモリセルMCからデータを正しく読み出すことが可能となる。
NVMモードとMIDモードとは、可変抵抗43の抵抗値によりデータを記憶するため、データの書き込みに際しては共通の回路(図6から図8)を用いることができる。制御部30は、選択トランジスタ41のゲート電圧Vg、及びドレイン電圧Vdをコントロールするタイミング信号Timxpz及びTimypzを制御することにより、メモリセルに対する電圧印加時間を制御し、NVMモード、MIDモード、及びRAMモードの切り替えを行うことができる。
次に、1D1R型メモリセルMCへのデータ書き込みに関する具体的な回路構成及び動作について説明する。1D1R型メモリセルMCにおいては、前述の通り、セルを選択するための選択トランジスタ41を有していないため、データ記憶素子40の可変抵抗43の抵抗値を変化させるためには、電圧条件が設定されたパルスをグローバルデータラインGDL及びデータラインDLを介して、データ記憶素子40に送る必要がある。ここで、表4に、メモリセルMCに印加する電圧条件の一例を示す。
表4において、NVMモードの場合、データ記憶素子40の可変抵抗43を高抵抗状態にするためには、振幅の小さいパルス(例えば1.2V)を長時間(例えば250ns)印加する。また、データ記憶素子40の可変抵抗43を低抵抗状態にするためには、振幅の大きいパルス(例えば4.0V)を短時間(例えば100ns)印加する。
次に、MIDモードの場合、表4のように、印加する電圧の大きさは、NVMモードの場合と同じであり、電圧印加時間Sのみ異なり、NVMモードの半分の時間を印加する。また、RAMモードの場合、データ記憶素子40の電極44を放電状態にするためには、振幅の小さいパルス(例えば0V)を短時間(例えば10ns)印加する。また、電極44を充電状態にするためには、振幅の大きいパルス(例えば1.2V)を短時間(例えば10ns)印加する。
図10(a)から図10(d)は、図1における周辺回路の構成を示した回路図である。図10(a)から図10(d)を用いて、NVMモード及びMIDモードでのデータの書き込みを説明する。図10(a)において、入出力回路26は、外部から入力される信号I/Ozに応じて、メモリセルMCに書き込まれるデータであるデータ信号Datazを出力する。
図10(b)において、選択回路であるワードライン駆動回路WDr(図1において不図示)は、書き込み信号WRz及びアドレス信号Add.に応じて、メモリセルMCを選択するための選択信号をワードラインWLに供給する。書き込み信号WRz及びアドレス信号Add.はNANDゲート134に入力され、双方の入力が共に“H”の場合にのみ、電位がVdd1の選択信号がインバータ136を介してワードラインWLに出力される。Vdd1は、例えば4.0Vである。
非選択時におけるメモリセルMCの電位は、ワードラインWL側が低電位に、データラインDL側が高電位にそれぞれ設定されている。ワードライン駆動回路WDrから供給される選択信号により、ワードラインWLの電位は上昇し、データラインDLの電位と等しくなる。この段階では、メモリセルMCに電流は流れない。
図10(c)において、書き込み制御回路130(図1において不図示)は、書き込み信号WRz及びタイミング信号Timypzに応じて第1パルス生成信号WRHz及び第2パルス生成信号WRLzを出力する。書き込み制御回路130は、2つのNANDゲート138及び140と、それぞれのNANDゲートに接続された遅延回路142からなる。NANDゲート138に接続された遅延回路142のインバータの数は、NANDゲート140に接続されたインバータの数より多い。従って、第1パルス生成信号WRHzのパルス幅は、第2パルス生成信号WRLzのパルス幅より短くなる。
図10(d)において、データライン駆動回路DDr(図1において不図示)は、入出力回路26から供給されるデータ信号Datazに応じて、第1パルス生成信号WRHzから第1パルスを、第2パルス生成信号WRLzから第2パルスをそれぞれ生成する。データライン駆動回路DDrは、生成された第1パルス及び第2パルスのいずれかである書き込みパルスをデータラインDLへ供給する。
図10(d)のように、データ信号Datazはインバータ146及び148を介し、パスゲート150及び152、並びにN型トランジスタ154及び156のON/OFFを制御する。第1パルス生成信号WRHzはP型トランジスタ160及びN型トランジスタ162のゲートに入力される。第2パルス生成信号WRLzはP型トランジスタ158及びN型トランジスタ164のゲートに入力される。データの書き込みが行われない場合は、第1パルス生成信号WRHz及び第2パルス生成信号WRLzは共に“L”となるため、P型トランジスタ158及び160はONに、N型トランジスタ162及び164はOFFに設定される。その結果、P型トランジスタ158及び160を介して電圧Vdd1が出力され、データラインDLの電位はVdd1に維持される。
データ信号Datazが“H”の場合には、パスゲート152がONとなり第1パルス生成信号WRHzが回路に入力される。また、N型トランジスタ154はONに、N型トランジスタ156はOFFに設定される。N型トランジスタ156がOFFに設定されたことで、P型トランジスタ160のゲートには第1パルス生成信号WRHzの“H”が入力され、OFFに設定される。また、N型トランジスタ162のゲートにも同様に“H”が入力され、こちらはONに設定される。この結果、電圧VssがデータラインDLへと出力される。Vssは、例えば接地電位である。
ワードラインWLの電位が選択信号によりVdd1に設定されている場合、前述のようにデータラインDLの電位をVssとすることで両者の電位差はVdd1となり、バイアスが逆転するためメモリセルMCに電流が流れる。この状態を、表4の低抵抗“1”の場合の印加時間だけ維持することにより、メモリセルMCの可変抵抗43は低抵抗状態となり、論理“1”が書き込まれる。以上のように、データライン駆動回路DDrは、選択信号がメモリセルMCに対し印加されている間に、第1パルス生成信号WRHzに応じて、可変抵抗43を低抵抗状態に変化させる第1パルスをデータラインDLに供給する。
データ信号Datazが“L”の場合には、パスゲート150がONとなり第2パルス生成信号WRLzが回路に入力される。また、N型トランジスタ154はOFFに、N型トランジスタ156はONに設定される。N型トランジスタ154がOFFに設定されたことで、P型トランジスタ158のゲートには第2パルス生成信号WRLzの“H”が入力されOFFに設定される。また、N型トランジスタ164のゲートにも同様に“H”が入力され、こちらはONに設定される。この結果、電圧Vdd1−Vdd0がデータラインDLへと出力される。Vdd0は、例えば1.2Vである。
ワードラインWLの電位が選択信号によりVdd1に設定されている場合、前述のようにデータラインDLの電位をVdd1−Vdd0とすることで両者の電位差はVdd0となり、バイアスが逆転するためメモリセルMCに電流が流れる。この状態を表4の高抵抗“0”の場合の印加時間だけ維持することにより、メモリセルMCの可変抵抗43は高抵抗状態となり、論理“0”が書き込まれる。以上のように、データライン駆動回路DDrは、選択信号がメモリセルMCに対し印加されている間に、第2パルス生成信号WRLzに応じて、可変抵抗43を高抵抗状態に変化させる第2パルスをデータラインDLに供給する。
図11は、データ書き込み時の動作を示したフローチャートである。図10及び図11を参照に、データ書き込みの開始時においてワードラインWLの電位はVssに、データラインDLの電位はVdd1に設定されている。メモリセルMCには逆バイアスが印加されており、電流は流れない。最初に、制御部30が、メモリセルMCに行うデータ記憶の記憶モードを選択する(ステップS20)。NVMモード及びMIDモードである場合はステップS22へ進む。RAMモードの場合はステップS26に進む。
NVMモード及びMIDモードである場合、選択回路であるワードライン駆動回路WDrは、ワードラインWLに対し選択信号を供給する(ステップS22)。これにより、ワードラインWLの電位はVdd1に上昇する。次に、論理“1”のデータを書き込む場合、データライン駆動回路DDrは、データラインDLに対し電圧条件が設定された第1パルスを供給する(ステップS24)。これにより、データラインの電位はVssとなり、メモリセルMCに電流が流れ、データ記憶素子40内の可変抵抗43は低抵抗状態となる。また、論理“0”のデータを書き込む場合、書き込み回路であるデータライン駆動回路DDrは、データラインDLに対し電圧条件が設定された第2パルスを供給する(ステップS22)。これにより、データラインDLの電位はVdd1−Vdd0となり、メモリセルMCに電流が流れ、データ記憶素子40内の可変抵抗43は高抵抗状態となる。以上のステップにより、NVMモード及びMIDモードでの、メモリセルMCへのデータの書き込みが完了する。
RAMモードである場合も、選択回路であるワードライン駆動回路WDrは、ワードラインWLに対し選択信号を供給する(ステップS26)。次に、論理“1”のデータを書き込む場合、書き込み回路であるデータライン駆動回路DDrは、データラインDLに対し電圧条件が設定された第3パルスを供給する(ステップS28)。これにより、メモリセルMCに電流が流れ、データ記憶素子40の電極44に電荷を蓄えることができる。この際、表4に示すように、RAMモードにおける電圧印加時間は短時間であるため、可変抵抗43は高抵抗状態を維持する。論理“0”のデータを書き込む場合には、データ駆動回路DDrが、データラインDLに対し、降伏電圧(ブレークダウン電圧)を印加(供給)する(ステップS28)。これにより、データ記憶素子40の電極44に蓄えられている電荷を引き抜く(放電する)ことができ、論理“0”のデータを書き込むことができる。以上のステップにより、RAMモードでの、メモリセルMCへのデータの書き込みが完了する。
次に、メモリセルMCからのデータの読み出しに関する具体的な回路構成及び動作について説明する。図12は、図1におけるメモリセルアレイ10、リセット回路20、検出回路であるセンスアンプ22の構成を示す回路図である。図12において、第1データラインDLzには第1メモリセルMCzが接続しており、第2データラインDLxには第2メモリセルMCxが接続している。このため、第1メモリセルMCzに記憶されたデータは第1データラインDLzから読み出され、第2メモリセルMCxに記憶されたデータは第2データラインDLxから読み出される。
リセット回路20は、第1データラインDLzと第2データラインDLxとの間に設けられている。つまり、データライン対に対してリセット回路20が設けられている。リセット回路20は、トランジスタ84、86、88で構成される。トランジスタ84は、リセット信号BRSzに応じて第1データラインDLzと第2データラインDLxとを短絡させる。トランジスタ86と88とは、リセット信号BRSzに応じて、第1データラインDLzと第2データラインDLxとに対しリファレンス電圧Vrefを供給する。
センスアンプ22は、第1データラインDLzと第2データラインDLxとの間に、リセット回路20に対応して設けられており、インバータ80と82とからなるインバータ・ペアで構成される。インバータ80と82とには、センスアンプドライバ24から電源電圧Vccと接地電圧Vssとが供給されている。センスアンプ22は、ラッチ信号LEz(不図示)に応じて両データライン間の電位差を増幅する。ここで、リファレンス電圧Vrefは、電源電圧Vccの半分程度の大きさである場合が好ましい。電源電圧Vccは、例えば1.2Vであり、リファレンス電圧Vrefは、例えば0.6Vである。
図13は、図1におけるクランプ回路21の構成を示す回路図である。図13において、クランプ回路21は、NANDゲート90と91、インバータ92と93、pMOSトランジスタ94と95で構成される。pMOSトランジスタ94と95とのソース端子は、図7における電圧選択部60の出力端子Vdに接続されている。図7において、NVMモード及びMIDモードで記憶されたデータをメモリセルMCから読み出す場合には、出力端子Vdにクランプ電圧Vclmpが供給される。クランプ電圧Vclmpはリファレンス電圧Vrefより高くなるよう設定されている。Vclmpは、例えば0.8Vである。
NANDゲート90と91とに入力されるクランプ信号clmpzは、クランプ回路21を作動させるための信号である。NVMモード及びMIDモードで記憶されたデータを読み出す場合に、クランプ信号clmpzはHレベルに設定される。インバータ92に入力されるアドレス信号Ya0zは、クランプ電圧Vclmpを印加すべきデータラインを選択する信号である。クランプ信号clmpzがHレベルの場合、アドレス信号Ya0zに応じて、クランプ電圧Vclmpが印加されるデータラインが選択される。即ち、NVMモード及びMIDモードでデータを記憶した第1メモリセルMCzからデータを読み出す場合は、信号Ya0zはHレベルとなり、pMOSトランジスタ94がONとなる。これにより、第1データラインDLzに対しクランプ電圧Vclmpが印加される。NVMモード及びMIDモードでデータを記憶した第2メモリセルMCxからデータを読み出す場合は、信号Ya0zはLレベルとなり、pMOSトランジスタ95がONとなる。これにより、第2データラインDLxに対しクランプ電圧Vclmpが印加される。
図14は、図1におけるセンスアンプドライバ24の構成を示す回路図である。図14において、センスアンプドライバ24は、インバータ96、pMOSトランジスタ97、nMOSトランジスタ98で構成される。pMOSトランジスタ97のソース端子には、電源電圧Vccが印加されており、nMOSトランジスタ98のソース端子には接地電圧Vssが印加されている。pMOSトランジスタ97のドレイン端子PSAはセンスアンプ22のPチャネル側に接続され、nMOSトランジスタ98のドレイン端子NSAはセンスアンプ22のNチャネル側に接続されている。インバータ96は、ラッチ信号LEzをpMOSトランジスタ97のゲート端子に反転して入力する。ラッチ信号LEzがHレベルに設定されると、pMOSトランジスタ97とnMOSトランジスタ98とはそれぞれONになる。よって、pMOSトランジスタ97のドレイン端子PSAには電源電圧Vccが供給され、nMOSトランジスタ98のドレイン端子NSAには接地電圧Vssが供給される。
図15は、メモリセルMCからのデータの読み出しにおける制御を示したフローチャートである。図15において、まず、制御部30は、データの読み出し対象である第1メモリセルMCz又は第2メモリセルMCxがそれぞれ接続する、第1データラインDLzと第2データラインDLxとにリファレンス電圧Vrefを印加する(ステップS30)。このとき、図12において、リセット回路20にリセット信号BRSzが供給され、トランジスタ84がONとなることで、第1データラインDLzと第2データラインDLxとが短絡する。後述するように、データの読み出しが終了した後は、第1データラインDLz及び第2データラインDLxのうちいずれか一方は電源電圧Vccが印加され、他方は接地電圧Vssが印加される。このため、両者を短絡させることで、データラインの電圧をリファレンス電圧Vref(=Vcc/2)付近に制御することが可能となる。これにより、回路の消費電力を抑制することができる。また、リセット信号BRSzによりトランジスタ86と88とがONとなるため、第1データラインDLzと第2データラインDLxとにリファレンス電圧Vrefが供給される。これにより、第1データラインDLzと第2データラインDLxとがリファレンス電圧Vrefに正確に設定される。
次に、制御部30は、読み出し対象であるメモリセルMCの記憶モードの判定を行う(ステップS32)。記憶モードがNVMモード及びMIDモードのいずれかである場合はステップS34に進み、記憶モードがRAMモードである場合はステップS50に進む。
記憶モードがNVMモード及びMIDモードのいずれかである場合、制御部30は、読み出し対象であるメモリセルMCの特定を行う(ステップS34)。読み出し対象のメモリセルMCが、第1データ記憶素子を有する第1メモリセルMCzである場合、制御部30は、第1データラインDLzを選択する(ステップS36)。読み出し対象のメモリセルMCが、第2データ記憶素子を有する第2メモリセルMCxである場合、制御部30は、第2データラインDLxを選択する(ステップS38)。そして、選択されたデータラインに対してクランプ電圧Vclmpを印加する(ステップS40)。クランプ電圧Vclmpは、図13に示したクランプ回路21により供給される。これにより、読み出し対象であるメモリセルMCが接続されたデータラインDLの電圧は、リファレンス電圧Vrefより高いクランプ電圧Vclmpまで上昇する。一方、読み出し対象のメモリセルMCが接続されていないデータラインDLの電圧は、リファレンス電圧Vrefのまま維持される。
次に、制御部30は、メモリセルMC内のデータ記憶素子40とデータラインDLとを導通させる(ステップS42)。
データ記憶素子40内の可変抵抗43が高抵抗状態の場合は、メモリセルMCに電流が流れないため、データラインDLの電圧はVclmpのまま変化しない。したがって、読み出し対象であるメモリセルMCが接続するデータラインDL(第1データラインDLz及び第2データラインDLxのうちいずれか一方)の電圧は、読み出し対象のメモリセルが接続しないデータラインDL(第1データラインDLz及び第2データラインDLxの他方)の電圧に比べて高くなる。
データ記憶素子40内の可変抵抗43が低抵抗状態の場合は、メモリセルMCに電流が流れるため、読み出し対象のメモリセルMCが接続するデータラインDLの電圧はVclmpから降下する。したがって、読み出し対象であるメモリセルMCが接続するデータラインDLの電圧は、読み出し対象のメモリセルMCが接続しないデータラインDLの電圧に比べて低くなる。このように、制御部30が、第1データラインDLzと第2データラインDLxとの電圧を比較することで、メモリセルMCからのデータの読み出しを行う(ステップS44)。
ここで、図16に、NVMモード及びMIDモードの場合の、データ読み出し時の動作を表したタイミングチャートを示す。図16において、制御部30から供給されるリセット信号BRSzにより、データライン電圧はVrefに維持されている。データ読み出し時には、制御部30は、リセット信号BRSzをLレベルに設定し、リセット電圧Vrefの供給を停止する(A)。次に、制御部30は、クランプ信号clmpzをHレベルに設定し(B)、データライン電圧をVclmpへと上昇させる(C)。その後、再びクランプ信号clmpzをLレベルに設定し(D)、クランプ電圧Vclmpの供給を停止する。
次に、制御部30は、ワードラインWL(選択トランジスタ41のゲート電圧Vg)の電圧を上昇させ(E)、データ記憶素子40とデータラインDLとを導通させる。データ記憶素子40に論理“0”が記憶されている場合は、可変抵抗43は高抵抗状態のため、データライン電圧は変化しない(F)。データ記憶素子40に論理“1”が記憶されている場合は、可変抵抗43は低抵抗状態のため、データライン電圧は下降していき、リファレンス電圧Vrefを下回る(G)。次に、制御部30は、ラッチ信号LEzをHレベルに設定すると(H)、データライン電圧がVrefより高い場合は、電源電圧Vccまで上昇し(I)、データライン電圧がVrefより低い場合は、接地電圧Vssまで下降する(J)。これにより、データ記憶素子40から読み出された信号が増幅され、外部へと取り出される。
図15に戻り、記憶モードがRAMモードである場合、制御部30は、メモリセルMC内のデータ記憶素子40とデータラインDLとを導通させる(ステップS50)。RAMモードにおいては、データラインDLへのクランプ電圧Vclmpの供給は行わない。
データ記憶素子40が充電状態である場合、電極44に蓄えられた電荷はデータラインDLに放出される。これにより、読み出し対象であるメモリセルMCが接続するデータラインDL(第1データラインDLz及び第2データラインDLxのうちいずれか一方)の電圧は上昇し、読み出し対象のメモリセルが接続しないデータラインDL(第1データラインDLz及び第2データラインDLxの他方)の電圧Vrefより高くなる。
データ記憶素子40が放電状態である場合、電極44に電荷が充電されるため、読み出し対象のメモリセルMCが接続するデータラインDLの電圧は降下する。したがって、読み出し対象のメモリセルMCが接続するデータラインDLの電圧は、読み出し対象のメモリセルMCが接続しないデータラインDLの電圧Vrefに比べて低くなる。
制御部30は、第1データラインDLzの電圧と第2データラインDLxの電圧との比較を行い(ステップS52)、第1データラインDLzの電圧が大きい場合は論理“1”を読み出し(ステップS54)、第2データラインDLxの電圧が大きい場合は論理“0”を読み出す(ステップS56)。
このように、RAMモードで記憶するメモリセルMCからのデータの読み出しにおいて、制御部30は、第1データラインDLzの電圧レベルに基づきデータの読み出しを行う。即ち、第1データラインDLzがHレベルの場合は論理“1”が読み出され、第1データラインDLzがLレベルの場合は論理“0”が読み出される。その結果、読み出し対象であるメモリセルMCが第1メモリセルMCzである場合、第1メモリセルMCz内の第1データ記憶素子の状態(内部の論理)と読み出されるデータの論理値(外部の論理)とは同じになる。一方、読み出し対象であるメモリセルMCが第2メモリセルMCxである場合、第2メモリセルMCx内の第2データ記憶素子の状態(内部の論理)と読み出されるデータの論理値(外部の論理)とは反対になる。
例えば、第2データ記憶素子が放電状態の場合(内部の論理は“0”)、データ読み出し時に第1データラインDLzはHレベルになり、第2データラインDLxはLレベルになるため、論理“1”が読み出される(外部の論理は“1”)。第2データ記憶素子が充電状態の場合(内部の論理は“1”)、データ読み出し時に第1データラインDLzはLレベルになり、第2データラインDLxはHレベルになるため、論理“0”が読み出される(外部の論理は“0”)。前述のように、RAMモードで第2メモリセルMCxにデータを記憶させる場合、第2データ記憶素子の状態を示す内部の論理と、第2メモリセルMCxに記憶するデータを示す外部の論理とは反対であった。このため、第2メモリセルMCxからデータを読み出す場合には、内部の論理と外部の論理とを逆転させることで、データを正確に読み出すことが可能となる。
ここで、図17に、RAMモードの場合の、データ読み出し時の動作を表したタイミングチャートを示す。図17において、最初に、制御部30から供給されるリセット信号BRSzにより、データライン電圧はVrefに維持されている。データ読み出し時には、制御部30は、リセット信号BRSzをLレベルに設定し(A)、リセット電圧Vrefの供給を停止する。次に、制御部30は、ワードラインWL(選択トランジスタのゲート電圧Vg)の電圧を上昇させ(B)、データ記憶素子とデータラインとを導通させる。データ記憶素子40に論理“0”が記憶されている場合、電極44は放電状態のため、データライン電圧は下降していく(C)。データ記憶素子40に論理“1”が記憶されている場合は、電極44は充電状態のため、データライン電圧は上昇していく(D)。
次に、制御部30が、ラッチ信号LEzをHレベルに設定すると(E)、データライン電圧がVrefより高い場合は、電源電圧Vccまで上昇し(F)、データライン電圧がVrefより低い場合は、接地電圧Vssまで下降する(G)。これにより、データ記憶素子40から読み出された信号が増幅され、外部へと取り出される。
次に、データ記憶素子40に対して行うリフレッシュについて説明する。表2に示すように、MIDモード及びRAMモードでデータを記憶するデータ記憶素子40は、データの保持時間が短いが、リフレッシュを行うことで、データの保持時間を延ばすことができる。図18は、図1におけるリフレッシュ制御回路32の構成を示すブロック図である。図18において、リフレッシュ制御回路32は、リフレッシュ回路34とタイマー36とで構成されている。リフレッシュ回路34は、グローバルデータラインGDLに接続されている。グローバルデータラインGDLは、複数のデータラインDLに接続されている。
タイマー36には、MIDモードでデータを記憶するデータ記憶素子40に対して行うリフレッシュの間隔に対応する時間が予め設定されている。また、タイマー36には、制御部30から、データ記憶素子40の記憶モードに関する信号Modeが入力される。タイマー36は、制御部30から入力された信号ModeがMIDモードであると判定した場合、タイマーを始動させる。そして、タイマー36は、タイマー始動後、設定時間に到達したら、信号timerをリフレッシュ回路34に出力する。
リフレッシュ回路34には、制御部30から、データ記憶素子40の記憶モードに関する信号Modeが入力される。リフレッシュ回路34は、制御部30から入力された信号ModeがMIDモードであると判定した場合、タイマー36から、信号timerが入力されるまで待機する。リフレッシュ回路34は、タイマー36から信号timerが入力された後、MIDモードでデータを記憶するデータ記憶素子40に対してリフレッシュを実行する。また、リフレッシュ回路34は、制御部30から入力された信号ModeがRAMモードであると判定した場合は、即座にRAMモードでデータを記憶するデータ記憶素子40に対してリフレッシュを実行する。さらに、リフレッシュ回路34は、制御部30から入力された信号ModeがNVMモードであると判定した場合は、NVMモードでデータを記憶するデータ記憶素子40に対してリフレッシュを実行しない。
図19は、データ記憶素子40に対して行うリフレッシュの制御を示したフローチャートである。図19において、リフレッシュ制御回路32は、制御部30から入力された信号Modeに基づき、メモリセルMC内のデータ記憶素子40の記憶モードを判定する(ステップS60)。信号Modeは、メモリセルMCに対してデータの書き込み又はリフレッシュを行った際に、制御部30から入力される。リフレッシュ制御回路32は、制御部30から入力された信号Modeに基づき、データ記憶素子40の記憶モードがMIDモードであると判定した場合、内蔵するタイマー36を始動させる(ステップS62)。前述したように、タイマー36には、予め、MIDモードでデータを記憶するデータ記憶素子40に対して行うリフレッシュの間隔に対応する時間が設定されている。
リフレッシュ制御回路32は、タイマー36に設定されている時間に到達した後、制御部30に対して、メモリセルMCからデータを読み出すよう指示する(ステップS64)。このときのデータの読み出し方法は、前述したメモリセルMCからのデータの読み出し方法を用いることができる。メモリセルMCから読み出されたデータは、データラインDLとグローバルデータラインGDLとを介してリフレッシュ制御回路32に入力される。リフレッシュ制御回路32は、メモリセルMCから読み出されたデータが、論理“1”であるか論理“0”であるか判定する(ステップS66)。
リフレッシュ制御回路32は、メモリセルMCから読み出されたデータが論理“1”(データ記憶素子40の可変抵抗43は低抵抗状態)であると判定した場合、制御部30に、論理“1”である旨の判定結果を出力する。
メモリセルMCが1T1R型である場合、リフレッシュ制御回路32は、制御部30から入力された、論理“1”の判定結果に基づく書き込み信号WRz及びタイミング信号Timypzに応じて、データ記憶素子40の可変抵抗43を低抵抗状態にするための第1電圧条件を設定する。ロウデコーダ12及びカラムデコーダ14により、リフレッシュを行うメモリセルMCが選択され、書き込み回路18により、リフレッシュ制御回路32で設定された第1電圧条件に基づいて、可変抵抗43を低抵抗状態にさせるリフレッシュを実行する(ステップS68)。
メモリセルMCが1D1R型である場合、リフレッシュ制御回路32は、制御部30から入力された、論理“1”の判定結果に基づく書き込み信号WRz及びタイミング信号Timypzに応じて、データ記憶素子40の可変抵抗43を低抵抗状態にするための第1電圧条件が設定された第1パルスを生成する。リフレッシュ制御回路32は、生成された第1パルスを、グローバルデータラインGDLを介してデータラインDLに供給し、可変抵抗43を低抵抗状態にさせるリフレッシュを実行する(ステップS68)。
次に、リフレッシュ制御回路32は、メモリセルMCから読み出されたデータが論理“0”(データ記憶素子40の可変抵抗43は高抵抗状態)であると判定した場合、制御部30に、論理“0”である旨の判定結果を出力する。
メモリセルMCが1T1R型である場合、リフレッシュ制御回路32は、制御部30から入力された、論理“0”の判定結果に基づく書き込み信号WRz及びタイミング信号Timypzに応じて、データ記憶素子40の可変抵抗43を高抵抗状態にするための第2電圧条件を設定する。ロウデコーダ12及びカラムデコーダ14により、リフレッシュを行うメモリセルMCが選択され、書き込み回路18により、リフレッシュ制御回路32で設定された第2電圧条件に基づいて、可変抵抗43を高抵抗状態にさせるリフレッシュを実行する(ステップS70)。
メモリセルMCが1D1R型である場合、リフレッシュ制御回路32は、制御部30から入力された、論理“0”の判定結果に基づく書き込み信号WRz及びタイミング信号Timypzに応じて、データ記憶素子40の可変抵抗43を高抵抗状態にするための第2電圧条件が設定された第2パルスを生成する。リフレッシュ制御回路32は、生成された第2パルスを、グローバルデータラインGDLを介してデータラインDLに供給し、可変抵抗43を高抵抗状態にさせるリフレッシュを実行する(ステップS70)。
次に、リフレッシュ制御回路32が、制御部30から入力された信号Modeに基づき、メモリセルMC内のデータ記憶素子40の記憶モードがRAMモードであると判定(ステップS60)した場合、ステップS72に進む。リフレッシュ制御回路32は、内蔵タイマー36を始動させずに、制御部30に対して、メモリセルMCからデータを読み出すよう指示する(ステップS72)。メモリセルMCから読み出されたデータは、データラインDLとグローバルデータラインGDLとを介してリフレッシュ制御回路32に入力される。リフレッシュ制御回路32は、メモリセルMCから読み出されたデータが論理“1”(データ記憶素子40の電極44は充電状態)であると判定した場合、制御部30に、論理“1”の判定結果を出力する。
メモリセルMCが1T1R型である場合、リフレッシュ制御回路32は、制御部30から入力された、論理“1”の判定結果に基づく書き込み信号WRz及びタイミング信号Timypzに応じて、データ記憶素子40の電極44に電荷を充電するための第3電圧条件を設定する。ロウデコーダ12及びカラムデコーダ14により、リフレッシュを行うメモリセルMCが選択され、書き込み回路18により、リフレッシュ制御回路32で設定された第3電圧条件に基づいて、電極44を充電状態にさせるリフレッシュを実行する(ステップS74)。
メモリセルMCが1D1R型である場合、リフレッシュ制御回路32は、制御部30から入力された、論理“1”の判定結果に基づく書き込み信号WRz及びタイミング信号Timypzに応じて、データ記憶素子40の電極44に電荷を充電するための第3電圧条件が設定された第3パルスを生成する。リフレッシュ制御回路32は、生成された第3パルスを、グローバルデータラインGDLを介してデータラインDLに供給し、電極44を充電状態にさせるリフレッシュを実行する(ステップS74)。
次に、リフレッシュ制御回路32が、制御部30から入力された信号Modeに基づき、メモリセルMC内のデータ記憶素子40の記憶モードがNVMモードであると判定(ステップS60)した場合、リフレッシュ制御回路32は、NVMモードでデータを記憶するメモリセルMCに対して、リフレッシュを実行しない。NVMモードでデータを記憶するデータ記憶素子40は、データの保持時間が長いため、リフレッシュを行わなくても、データが消失することはないためである。
ここで、図20に、1T1R型メモリセルMCの場合において、MIDモードでデータを記憶するデータ記憶素子40に対する再書き込み(リフレッシュ)を表したタイミングチャートを示す。図20(a)は、論理“1”の状態にあるメモリセルMC内のデータ記憶素子40に対して行うリフレッシュ動作のタイミングチャートを示しており、図20(b)は、論理“0”の状態にあるメモリセルMC内のデータ記憶素子40に対して行うリフレッシュ動作のタイミングチャートを示している。
図20(a)において、リフレッシュ制御回路32が、メモリセルMCは論理“1”であると判定し、判定結果を制御部30に出力した後、制御部30から供給されるタイミング信号Timxpzが立ち上がる(A)。それに伴い、ワードラインWLが立ち上がり、リフレッシュされるメモリセルMCのゲートにゲート電圧(Vg=1.2V)を印加する(B)。続いて、制御部30から供給されるタイミング信号Timypzが立ち上がる(C)。それに伴い、データラインDLも立ち上がり、リフレッシュされるメモリセルMCのドレインにドレイン電圧(Vd=4.0V)を時間(t=50ns)だけ印加する(D)。以上のプロセスにより、メモリセルMC内のデータ記憶素子40に対してリフレッシュを実行することができる。
図20(b)においても同様に、リフレッシュ制御回路32が、メモリセルMCは論理“0”であると判定し、判定結果を制御部30に出力した後、制御部30から供給されるタイミング信号Timxpzが立ち上がる(A)。それに伴い、ワードラインWLが立ち上がり、リフレッシュされるメモリセルMCのゲートにゲート電圧(Vg=2.5V)を印加する(B)。続いて、制御部30から供給されるタイミング信号Timypzが立ち上がる(C)。それに伴い、データラインDLも立ち上がり、リフレッシュされるメモリセルMCのドレインにドレイン電圧(Vd=1.2V)を時間(t=50ns)だけ印加する(D)。以上のプロセスにより、メモリセルMC内のデータ記憶素子40に対してリフレッシュを実行することができる。
次に、図21に、1D1R型メモリセルMCの場合において、MIDモードでデータを記憶するデータ記憶素子40に対する再書き込み(リフレッシュ)を表したタイミングチャートを示す。図21(a)は、論理“1”の状態にあるメモリセルMC内のデータ記憶素子40に対して行うリフレッシュ動作のタイミングチャートを示しており、図21(b)は、論理“0”の状態にあるメモリセルMC内のデータ記憶素子40に対して行うリフレッシュ動作のタイミングチャートを示している。
図21(a)において、リフレッシュ制御回路32が、メモリセルMCは論理“1”であると判定し、判定結果を制御部30に出力した後、制御部30から供給されるタイミング信号Timypzが立ち上がる(A)。続いて、書き込み信号WRHzが立ち上がり(B)、リフレッシュ制御回路32は、書き込み信号WRHzに応じた、時間(t=50ns)と書き込み電圧(V=4.0V)とに対応した第1パルスを生成し、この第1パルスをグローバルデータラインGDLに供給する。第1パルスは、グローバルデータラインGDLに接続するデータラインDLにも供給され(C)、所望のメモリセルMCに第1パルスが印加される。以上のプロセスにより、メモリセルMC内のデータ記憶素子に対してリフレッシュを実行することができる。ここで、第1パルスは、データ記憶素子の可変抵抗43を低抵抗状態にさせるパルスであり、高電圧で短時間のパルスを用いることできる。
図21(b)においても同様に、リフレッシュ制御回路32が、メモリセルMCは論理“0”であると判定し、判定結果を制御部30に出力した後、制御部30から供給されるタイミング信号Timypzが立ち上がる(A)。続いて、書き込み信号WRLzが立ち上がり(B)、リフレッシュ制御回路32は、書き込み信号WRLzに応じた、時間(t=125ns)と書き込み電圧(V=1.2V)に対応した第2パルスを生成し、この第2パルスをグローバルデータラインGDLに供給する。第2パルスは、グローバルデータラインGDLに接続するデータラインDLにも供給され(C)、所望のメモリセルに第2パルスが印加される。以上のプロセスにより、メモリセルMC内のデータ記憶素子に対してリフレッシュを実行することができる。ここで、第2パルスは、データ記憶素子の可変抵抗43を高抵抗状態にさせるパルスであり、低電圧で長時間のパルスを用いることができる。
実施例1の半導体装置100は、可変抵抗43と電極44とを備えたデータ記憶素子40を有する。データ記憶素子40は、可変抵抗43を低抵抗状態及び高抵抗状態のいずれかに変化させてデータを記憶するMIDモード(第1モード)とNVMモード(第2モード)とを有する。また、電極44の電荷量によりデータを記憶するRAMモード(第3モード)を有する。さらに、半導体装置100は、リフレッシュ制御回路32を有する。リフレッシュ制御回路32は、MIDモードでデータを記憶するデータ記憶素子40の可変抵抗43が低抵抗状態及び高抵抗状態のいずれの状態にあるか判定する。そして、リフレッシュ制御回路32は、MIDモードでデータを記憶するデータ記憶素子40の可変抵抗43を低抵抗状態にさせるための第1電圧条件及び高抵抗状態にさせるための第2電圧条件のいずれかを用いて、MIDモードでデータを記憶するデータ記憶素子40にリフレッシュを行う。このような、リフレッシュ制御回路32を備えていることで、MIDモードでデータを記憶するデータ記憶素子に対して、リフレッシュを実行することが可能となる。このため、MIDモードでデータを記憶するメモリセルMCのデータの保持時間を長くすることが可能となり、例えば実質的に不揮発性の記憶素子として使用することも可能となる。
また、データ記憶素子40が有するNVMモードの高抵抗状態は、MIDモードの高抵抗状態における可変抵抗43の抵抗値より大きい抵抗値からなり、NVMモードの低抵抗状態は、MIDモードの低抵抗状態における可変抵抗43の抵抗値より小さい抵抗値からなる。このように、NVMモードでは、高抵抗状態における可変抵抗43の抵抗値をより大きくし、低抵抗状態における可変抵抗43の抵抗値をより小さくすることで、NVMモードでデータを記憶するメモリセルMCを、不揮発性の記憶素子として使用することができる。このため、表2のように、NVMモードでデータを記憶するメモリセルMCのデータの保持時間は長くなる。よって、リフレッシュ制御回路32は、NVMモードでデータを記憶するデータ記憶素子に対しては、リフレッシュを実行しない。
さらに、データ記憶素子40が有するRAMモードは、電極44に蓄えられた電荷量により、データの記憶を行う。これにより、RAMモードでデータを記憶するメモリセルMCは、揮発性の記憶素子として働き、表2のように、データの保持時間が短くなる。このため、データの保持時間を延ばすには、リフレッシュが必要となる。したがって、リフレッシュ制御回路32は、RAMモードでデータを記憶するデータ記憶素子40に対して、電極44に電荷を充電させるための第3電圧条件によりリフレッシュを実行する。
このように、リフレッシュ制御回路32は、データ記憶素子40の記憶モードに応じて、データ記憶素子40に行うリフレッシュを制御することができる。換言すれば、リフレッシュ制御回路32は、データ記憶素子40の記憶モードに応じて、データ再書き込みの電圧条件を変更して、データ記憶素子40に対してリフレッシュを実行することが可能となる。
また、図21で説明したように、1D1R型メモリセルMCにおいて、リフレッシュ制御回路32は、グローバルデータラインGDLを介して、データラインDLに第1パルス及び第2パルスのいずれかを供給することにより、データラインDLに接続されたメモリセルMC内のデータ記憶素子40にリフレッシュを実行している。グローバルデータラインGDLには複数のデータラインDLが接続しているため、1つのリフレッシュ制御回路32を設けることで、複数のデータ記憶素子40に対して、リフレッシュを実行することが可能となる。
また、MIDモードでデータを記憶するデータ記憶素子40に対して行うリフレッシュにおいて、リフレッシュを行う前のデータ記憶素子40の可変抵抗43が、既にある程度、低抵抗状態及び高抵抗状態のいずれかになっていることを考慮すると、表3及び表4で示した、書き込み時の電圧及び電圧印加時間より、低い電圧及び短い電圧印加時間を用いて、リフレッシュを行うことができる。これにより、消費電力の低減を図ることができる。さらに、より低い電圧、より短い電圧印加時間を用いて、複数回繰り返して再書き込みを行うことで、リフレッシュを実行してもよい。これにより、データ記憶素子40の可変抵抗43に与えるストレスを低減することができる。
また、図18に示すように、リフレッシュ制御回路32は、タイマー36を備えている。タイマー36には、予め、MIDモードで記憶するデータ記憶素子40に行うリフレッシュ間隔に対応した時間が設定されている。設定する時間は任意に変更することが可能であり、MIDモードで記憶するデータ記憶素子40のデータの保持時間より短い時間を設定する場合が好ましい。そして、リフレッシュ制御回路32は、設定した時間に応じて、リフレッシュの対象であるデータ記憶素子40の可変抵抗43が低抵抗状態及び高抵抗状態のいずれの状態にあるか判定し、可変抵抗43を低抵抗状態にさせるための第1電圧条件及び高抵抗状態にさせるための第2電圧条件のいずれかにより、データ記憶素子40にリフレッシュを実行する。これにより、例えば、データ記憶素子40のデータ保持時間が1日である場合や1年である場合でも、データ記憶素子40に行うリフレッシュに、柔軟に対応することができる。
実施例1において、データ記憶素子40は、NVMモード、MIDモード、及びRAMモードの3つの記憶モードを有する場合を例に示したが、この場合に限られない。少なくともMIDモードのような、可変抵抗を低抵抗状態及び高抵抗状態のいずれかに変化させ、揮発性の性質の記憶モードを有していれば良い。
また、実施例1において、図18に示すように、リフレッシュ制御回路32は、リフレッシュ回路34とタイマー36とを備えている場合を例に示したが、更に、カウンタ38を備えている場合でも良い。図22に、カウンタ38を更に備えたリフレッシュ制御回路32のブロック図を示す。図22において、カウンタ38が、タイマー36とリフレッシュ回路34との間に設けられている。カウンタ38は、タイマー36からリフレッシュ回路34に出力される信号timerに応じて、リフレッシュを実行するメモリセルMCのアドレス等をカウントする。つまり、例えば、MIDモードでデータを記憶するメモリセルMCのデータ記憶素子に対して、3回目のリフレッシュを実行する場合は、カウンタ38は、メモリセルMCについてリフレッシュ回数を3としてカウントする。
MIDモードでデータを記憶するデータ記憶素子40に対して、リフレッシュを繰り返し行っていくと、データ記憶素子40は、不揮発性の性質に近づいていく。図23(a)から図23(d)に、MIDモードとRAMモードとにおいて、リフレッシュを実行した回数とリフレッシュのための再書き込みに必要な電圧の大きさ、電圧印加時間との関係を示している。図23(a)は1T1R型メモリセルのゲート電圧、図23(b)は1T1R型メモリセルに与える電圧印加時間、図23(c)はメモリセルのドレイン(カソード)電圧、図23(d)は1D1R型メモリセルに与える電圧印加時間をそれぞれ示す。
図23(a)及び図23(c)において、横軸はリフレッシュを実行した回数、縦軸はリフレッシュのための再書き込みに必要な電圧の大きさを示している。グラフ中の実線は、MIDモードにおけるリフレッシュで、データ記憶素子40の可変抵抗43を高抵抗状態(論理“0”)にさせるために必要な電圧の大きさを示し、一点鎖線は、可変抵抗43を低抵抗状態(論理“1”)にさせるために必要な電圧の大きさを示す。また、二点鎖線は、RAMモードにおけるリフレッシュで、データ記憶素子40の電極44に電荷を蓄積させるために必要な電圧の大きさを示す。図23(b)及び図23(d)において、横軸はリフレッシュを実行した回数、縦軸はリフレッシュのための再書き込みに必要な電圧印加時間を示している。グラフ中の実線は、MIDモードにおけるリフレッシュについて示しており、二点鎖線は、RAMモードにおけるリフレッシュについて示している。
図23(a)及び図23(c)によれば、MIDモードにおけるリフレッシュの場合、リフレッシュの回数が増えるに従い、リフレッシュのための再書き込みに必要な電圧が低くなっていくことが分かる。一方、RAMモードにおけるリフレッシュ場合、リフレッシュの回数に関わらず、リフレッシュのための再書き込みに必要な電圧は一定であることが分かる。図23(b)及び図23(d)によれば、MIDモードにおけるリフレッシュ場合、リフレッシュの回数が増えるに従い、リフレッシュのための再書き込みに必要な電圧印加時間が短くなっていくことが分かる。一方、RAMモードにおけるリフレッシュの場合、リフレッシュの回数に関わらず、リフレッシュのための再書き込みに必要な電圧印加時間は一定であることが分かる。
このことから、MIDモードでデータを記憶するデータ記憶素子40に対して行うリフレッシュの際、データ記憶素子40に対して実行したMIDモードでのリフレッシュ回数を計測し、このリフレッシュ回数に応じて、第1電圧条件及び第2電圧条件を変化させて、リフレッシュを実行することが好ましい。このように、データ記憶素子40の状態に対応した最適な再書き込み電圧条件によりリフレッシュを行うことで、データ記憶素子40の不揮発性化を防止し、書き換え回数を増加させることが可能になる。また、RAMモードでデータを記憶するデータ記憶素子40に対して行うリフレッシュは、データ記憶素子40に対して実行したRAMモードでのリフレッシュ回数に関わらず、第3電圧条件を変化させずに、リフレッシュを実行することが好ましい。