(57)【要約】【課題】消費電力を抑制すること。【解決手段】各々のメモリセルが、データを揮発的に記憶する双安定回路と、前記双安定回路に記憶されたデータを不揮発的にストアし、不揮発的にストアされたデータを前記双安定回路にリストアする不揮発性素子と、を有し、各々のブロックが少なくとも２つのメモリセルを含む複数のブロックに分割されたセルアレイと、前記セルアレイをシャットダウンするときに、前記複数のブロックからブロック内のいずれのメモリセルも揮発的に書き換えられていないブロックを抽出し、抽出されたブロックをシャットダウンし、前記抽出されたブロックをシャットダウンした後前記複数のブロックのうち残りのブロック内のメモリセルにおいて前記双安定回路に記憶されたデータを前記不揮発性素子にストアするストア動作を行い、ストア動作の終了したブロックをシャットダウンする制御部と、を備えることを特徴とする電子回路。【選択図】図７
2019102111.tif 000002
【特許請求の範囲】
【請求項１】
各々のメモリセルが、データを揮発的に記憶する双安定回路と、前記双安定回路に記憶されたデータを不揮発的にストアし、不揮発的にストアされたデータを前記双安定回路にリストアする不揮発性素子と、を有し、各々のブロックが少なくとも２つのメモリセルを含む複数のブロックに分割されたセルアレイと、
前記セルアレイをシャットダウンするときに、前記複数のブロックからブロック内のいずれのメモリセルも揮発的に書き換えられていないブロックを抽出し、抽出されたブロックをシャットダウンし、前記抽出されたブロックをシャットダウンした後前記複数のブロックのうち残りのブロック内のメモリセルにおいて前記双安定回路に記憶されたデータを前記不揮発性素子にストアするストア動作を行い、ストア動作の終了したブロックをシャットダウンする制御部と、
を備えることを特徴とする電子回路。
【請求項２】
前記複数のブロックのうちそれぞれのブロック内の少なくとも１つのメモリセルが揮発的に書き換えられたことを示す第１情報をそれぞれ記憶する複数の第１記憶部を備え、
前記制御部は、前記複数の第１記憶部に記憶された前記第１情報に基づき、前記複数のブロックからブロック内のいずれのメモリセルも揮発的に書き換えられていないブロックを抽出することを特徴とする請求項１に記載の電子回路。
【請求項３】
前記複数のブロックと接続され、前記複数のブロックから読み出すデータおよび書き込むデータを転送するパラレルバスを備え、
前記制御部は、前記複数のブロックのうち異なるブロックに対応する第１情報を前記パラレルバスの異なる信号線を介し同時に取得することを特徴とする請求項２に記載の電子回路。
【請求項４】
アドレス信号に対応するメモリセルにデータを揮発的に書き込む書込回路と、
前記アドレス信号に基づき前記第１情報を生成する生成回路と、
を備えることを特徴とする請求項２または３に記載の電子回路。
【請求項５】
前記複数のブロックは、各々のブロックが少なくとも２つのメモリセルを含む複数のサブブロックに分割されており、
前記制御部は、前記複数のサブブロックからサブブロック内のいずれのメモリセルも揮発的に書き換えられていないサブブロックを抽出し、抽出されたサブブロックをシャットダウンし、前記抽出されたサブブロックをシャットダウンした後前記複数のサブブロックのうち残りのサブブロックにおいてストア動作を行い、ストア動作の終了したサブブロックをシャットダウンすることを特徴とする請求項１から４のいずれか一項に記載の電子回路。
【請求項６】
前記制御部は、前記残りのサブブロックのうち次のブロックのストア動作を行う前に、前記ストア動作の終了したサブブロックをシャットダウンすることを特徴とする請求項５に記載の電子回路。
【請求項７】
前記複数のサブブロックのうちそれぞれのサブブロック内の少なくとも１つのメモリセルが揮発的に書き換えられたことを示す第２情報をそれぞれ記憶する複数の第２記憶部を備え、
前記制御部は、前記複数の第２記憶部に記憶された前記第２情報に基づき、前記複数のサブブロックからサブブロック内のいずれのメモリセルも揮発的に書き換えられていないサブブロックを抽出することを特徴とする請求項５または６に記載の電子回路。
【請求項８】
前記複数のブロックと接続され、前記複数のブロックから読み出すデータおよび書き込むデータを転送するパラレルバスを備え、
前記制御部は、前記複数のブロックのうち異なるブロックに対応する第２情報を前記パラレルバスの異なる信号線を介し同時に取得することを特徴とする請求項７に記載の電子回路。
【請求項９】
前記制御部は、前記抽出されたブロックを全てシャットダウンした後、前記複数のブロックのうち残りのブロック内のメモリセルにおいてストア動作を行うことを特徴とする請求項１から８のいずれか一項に記載の電子回路。
【請求項１０】
各々のメモリセルが、データを揮発的に記憶する双安定回路と、前記双安定回路に記憶されたデータを不揮発的にストアし、不揮発的にストアされたデータを前記双安定回路にリストアする不揮発性素子と、を有し、各々のブロックが少なくとも２つのメモリセルを含む複数のブロックに分割されたセルアレイと、
前記セルアレイをシャットダウンするときに、前記複数のブロックから不揮発的にストアする必要のないブロックを抽出し、抽出されたブロックをシャットダウンし、前記抽出されたブロックをシャットダウンした後前記複数のブロックのうち残りのブロック内のメモリセルにおいて前記双安定回路に記憶されたデータを前記不揮発性素子にストアするストア動作を行い、ストア動作の終了したブロックをシャットダウンする制御部と、
を備えることを特徴とする電子回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子回路に関し、例えば双安定回路と不揮発性素子とを有する複数のメモリセルを備えた電子回路に関する。
【背景技術】
【０００２】
特許文献１には、双安定回路と不揮発性素子を有するメモリセルを用いた記憶回路が記載されている。双安定回路のデータを不揮発性素子にストアし（以後、この動作を“不揮発的にストアする”と言うことがある）、不揮発性素子のデータを双安定回路にリストアする回路を不揮発性双安定回路という。特許文献２には、不揮発性双安定回路を有するセルにおいて、ＳＲＡＭ（Static Random Access Memory）動作、スリープ動作、ストア動作および電源遮断（シャットダウン）を行なう記憶回路が記載されている。特許文献３には、双安定回路に記憶されているデータと、不揮発性素子にストアされているデータが一致する場合、ストアをスキップする制御（ストアフリー動作）を行なう記憶回路が記載されている。特許文献４には、セルアレイを複数のブロックに分割し、ストア動作が終了したブロックの電源を遮断することが記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】国際公開第２００９／０２８２９８号
【特許文献２】国際公開第２０１３／１７２０６６号
【特許文献３】国際公開第２０１３／１７２０６５号
【特許文献４】国際公開第２０１６／０２４５２７号
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献３および４の方法を用いることで、消費電力を抑制できる。しかしながら、セルアレイの記憶容量が大きくなると、ストア動作を待機するブロックに生じるリーク電流による消費電力が大きくなる。
【０００５】
本発明は、上記課題に鑑みなされたものであり、消費電力を抑制することを目的とする。
【課題を解決するための手段】
【０００６】
本発明は、各々のメモリセルが、データを揮発的に記憶する双安定回路と、前記双安定回路に記憶されたデータを不揮発的にストアし、不揮発的にストアされたデータを前記双安定回路にリストアする不揮発性素子と、を有し、各々のブロックが少なくとも２つのメモリセルを含む複数のブロックに分割されたセルアレイと、前記セルアレイをシャットダウンするときに、前記複数のブロックからブロック内のいずれのメモリセルも揮発的に書き換えられていないブロックを抽出し、抽出されたブロックをシャットダウンし、前記抽出されたブロックをシャットダウンした後前記複数のブロックのうち残りのブロック内のメモリセルにおいて前記双安定回路に記憶されたデータを前記不揮発性素子にストアするストア動作を行い、ストア動作の終了したブロックをシャットダウンする制御部と、を備えることを特徴とする電子回路である。
【０００７】
上記構成において、前記複数のブロックのうちそれぞれのブロック内の少なくとも１つのメモリセルが揮発的に書き換えられたことを示す第１情報をそれぞれ記憶する複数の第１記憶部を備え、前記制御部は、前記複数の第１記憶部に記憶された前記第１情報に基づき、前記複数のブロックからブロック内のいずれのメモリセルも揮発的に書き換えられていないブロックを抽出する構成とすることができる。
【０００８】
上記構成において、前記複数のブロックと接続され、前記複数のブロックから読み出すデータおよび書き込むデータを転送するパラレルバスを備え、前記制御部は、前記複数のブロックのうち異なるブロックに対応する第１情報を前記パラレルバスの異なる信号線を介し同時に取得する構成とすることができる。
【０００９】
上記構成において、アドレス信号に対応するメモリセルにデータを揮発的に書き込む書込回路と、前記アドレス信号に基づき前記第１情報を生成する生成回路と、を備える構成とすることができる。
【００１０】
上記構成において、前記複数のブロックは、各々のブロックが少なくとも２つのメモリセルを含む複数のサブブロックに分割されており、前記制御部は、前記複数のサブブロックからサブブロック内のいずれのメモリセルも揮発的に書き換えられていないサブブロックを抽出し、抽出されたサブブロックをシャットダウンし、前記抽出されたサブブロックをシャットダウンした後前記複数のサブブロックのうち残りのサブブロックにおいてストア動作を行い、ストア動作の終了したサブブロックをシャットダウンする構成とすることができる。
【００１１】
上記構成において、前記制御部は、前記残りのサブブロックのうち次のブロックのストア動作を行う前に、前記ストア動作の終了したサブブロックをシャットダウンする構成とすることができる。
【００１２】
上記構成において、前記複数のサブブロックのうちそれぞれのサブブロック内の少なくとも１つのメモリセルが揮発的に書き換えられたことを示す第２情報をそれぞれ記憶する複数の第２記憶部を備え、前記制御部は、前記複数の第２記憶部に記憶された前記第２情報に基づき、前記複数のサブブロックからサブブロック内のいずれのメモリセルも揮発的に書き換えられていないサブブロックを抽出する構成とすることができる。
【００１３】
上記構成において、前記複数のブロックと接続され、前記複数のブロックから読み出すデータおよび書き込むデータを転送するパラレルバスを備え、前記制御部は、前記複数のブロックのうち異なるブロックに対応する第２情報を前記パラレルバスの異なる信号線を介し同時に取得する構成とすることができる。
【００１４】
上記構成において、前記制御部は、前記抽出されたブロックを全てシャットダウンした後、前記複数のブロックのうち残りのブロック内のメモリセルにおいてストア動作を行う構成とすることができる。
【００１５】
本発明は、各々のメモリセルが、データを揮発的に記憶する双安定回路と、前記双安定回路に記憶されたデータを不揮発的にストアし、不揮発的にストアされたデータを前記双安定回路にリストアする不揮発性素子と、を有し、各々のブロックが少なくとも２つのメモリセルを含む複数のブロックに分割されたセルアレイと、前記セルアレイをシャットダウンするときに、前記複数のブロックから不揮発的にストアする必要のないブロックを抽出し、抽出されたブロックをシャットダウンし、前記抽出されたブロックをシャットダウンした後前記複数のブロックのうち残りのブロック内のメモリセルにおいて前記双安定回路に記憶されたデータを前記不揮発性素子にストアするストア動作を行い、ストア動作の終了したブロックをシャットダウンする制御部と、を備えることを特徴とする電子回路である。
【発明の効果】
【００１６】
本発明によれば、消費電力を抑制することができる。
【図面の簡単な説明】
【００１７】
【図１】図１は、実施例１におけるメモリセルの回路図である。
【図２】図２は、実施例１における各期間の消費電流を示す図である。
【図３】図３は、実施例１における電子回路を示すブロック図である。
【図４】図４は、実施例１におけるサブアレイのブロック図である。
【図５】図５は、実施例１における動作を示すフローチャートである。
【図６】図６は、実施例１におけるＳＲＡＭ動作を示すフローチャートである。
【図７】図７は、実施例１におけるストア動作を示すフローチャートである。
【図８】図８（ａ）から図８（ｄ）は、実施例１におけるセルアレイを示す模式図である。
【図９】図９（ａ）から図９（ｄ）は、実施例１におけるサブアレイを示す模式図である。
【図１０】図１０（ａ）から図１０（ｃ）は、実施例１におけるブロックを示す模式図である。
【図１１】図１１は、実施例１の転送方法１に用いるＳＦＩ回路の例を示すブロック図である。
【図１２】図１２は、実施例１における転送方法を説明するセルアレイの模式図である。
【図１３】図１３（ａ）から図１３（ｄ）は、実施例１の転送方法１におけるバスのデータを示す模式図である。
【図１４】図１４は、実施例１の転送方法２に用いるＳＦＩ回路の例を示すブロック図である。
【図１５】図１５（ａ）および図１５（ｂ）は、実施例１の転送方法２におけるバスのデータを示す模式図である。
【図１６】図１６（ａ）から図１６（ｃ）は、実施例１および比較例１におけるストアフリー比に対するＢＥＴを示す図、図１６（ｄ）から図１６（ｆ）は、ストアフリー比に対するレイテンシを示す図である。
【図１７】図１７は、実施例１の変形例１に係るキャッシュメモリのブロック図である。
【図１８】図１８は、実施例１の変形例２に係るキャッシュメモリのブロック図である。
【発明を実施するための形態】
【００１８】
以下、図面を参照し実施例について説明する。
【実施例１】
【００１９】
［メモリセルの説明］
図１は、実施例１におけるメモリセルの回路図である。図１に示すように、メモリセル１０は、インバータ回路１４および１６、スピントランスファートルク磁気トンネル接合素子（ＳＴＴ-ＭＴＪ：以下では単に強磁性トンネル接合素子と呼ぶ）ＭＴＪ１およびＭＴＪ２を有している。
【００２０】
インバータ回路１４および１６はループ状に接続され双安定回路１２を構成している。インバータ回路１４は、ｎ型ＭＯＳＦＥＴ（Metal Oxide Semiconductor Field Effect Transistor）ｍ２およびｐ型ＭＯＳＦＥＴｍ１を有している。インバータ回路１６は、ｎ型ＭＯＳＦＥＴｍ４およびｐ型ＭＯＳＦＥＴｍ３を有している。ｐ型ＭＯＳＦＥＴｍ１およびｍ３のソースは仮想電源電圧ＶＶＤＤが印加された電源線１５ａに接続され、ｎ型ＭＯＳＦＥＴｍ２およびｍ４のソースはグランド電圧ＶＧＮＤが印加されたグランド線１５ｂに接続されている。
【００２１】
インバータ回路１４と１６が接続されたノードがそれぞれノードＱ、ＱＢである。ノードＱとノードＱＢとは互いに相補ノードである。双安定回路１２は、ノードＱおよびノードＱＢがそれぞれハイレベルおよびローレベル、または、ノードＱおよびノードＱＢがそれぞれローレベルおよびハイレベルとなることにより安定状態となる。双安定回路１２は、安定状態となることにより、データを記憶することができる。
【００２２】
ノードＱおよびＱＢは、それぞれＭＯＳＦＥＴｍ５およびｍ６を介し入出力線ＤおよびＤＢに接続されている。ＭＯＳＦＥＴｍ５およびｍ６のゲートはワード線ＷＬに接続されている。ＭＯＳＦＥＴｍ１からｍ６により６トランジスタ（ＦＥＴ）型のＳＲＡＭが形成される。
【００２３】
ノードＱと制御線ＣＴＲＬとの間にＭＯＳＦＥＴｍ７と強磁性トンネル接合素子ＭＴＪ１とが接続され、ノードＱＢと制御線ＣＴＲＬとの間にＭＯＳＦＥＴｍ８と強磁性トンネル接合素子ＭＴＪ２とが接続されている。ＭＯＳＦＥＴｍ７およびｍ８のソースおよびドレインの一方は、ノードＱおよびＱＢに、ソースおよびドレインの他方は強磁性トンネル接合素子ＭＴＪ１およびＭＴＪ２にそれぞれ接続されている。ＭＯＳＦＥＴｍ７およびｍ８のゲートはスイッチ線ＳＲに接続されている。なお、ＭＯＳＦＥＴｍ７およびｍ８は、それぞれ、強磁性トンネル接合素子ＭＴＪ１およびＭＴＪ２と制御線ＣＴＲＬとの間に接続されていてもよい。また、ＭＯＳＦＥＴｍ７およびｍ８は、設けられていなくてもよい。
【００２４】
強磁性トンネル接合素子ＭＴＪ１とＭＯＳＦＥＴｍ７とは回路ＰＳＭ１を構成する。同様に、強磁性トンネル接合素子ＭＴＪ２とＭＯＳＦＥＴｍ８とは回路ＰＳＭ２を構成する。
【００２５】
強磁性トンネル接合素子ＭＴＪ１およびＭＴＪ２は、それぞれフリー層１７、トンネル絶縁膜１８およびピン層１９を有している。フリー層１７およびピン層１９は強磁性体からなる。フリー層１７とピン層１９との磁化方向が平行な状態（平行状態）では、ＭＴＪ１およびＭＴＪ２の抵抗値が低くなる。フリー層１７とピン層１９との磁化方向が反平行な状態（反平行状態）では、ＭＴＪ１およびＭＴＪ２の抵抗値が平行状態より高くなる。ＭＴＪ１およびＭＴＪ２は、ＭＴＪ１およびＭＴＪ２の抵抗値によりデータをストアする。後述する仮想電源方式では、フリー層１７が制御線ＣＴＲＬに接続され、仮想接地方式では、ピン層１９が制御線ＣＴＲＬに接続される。仮想電源方式では、ＰＳＭ１およびＰＳＭ２のＭＯＳＦＥＴｍ７およびｍ８はｎ型であり、仮想接地方式では、ＰＳＭ１およびＰＳＭ２のＭＯＳＦＥＴｍ７およびｍ８はｐ型である。
【００２６】
双安定回路１２へのデータの書き込みおよび読み出しは、従来のＳＲＡＭと同じように行われる。すなわち、ワード線ＷＬをハイレベルとしＭＯＳＦＥＴｍ５およびｍ６を導通状態とすることにより、双安定回路１２に入出力線ＤおよびＤＢのデータが書き込まれる。また、入出力線ＤおよびＤＢを等電位の浮遊状態としワード線ＷＬをハイレベルとしＭＯＳＦＥＴｍ５およびｍ６を導通状態とすることにより、双安定回路１２のデータを入出力線ＤおよびＤＢに読み出すことができる。ＭＯＳＦＥＴｍ５およびｍ６を遮断状態とすることにより、双安定回路１２のデータが保持される。なお、双安定回路１２へのデータの書き込み、読み出し、および保持の際、スイッチ線ＳＲはローレベルとし、ＭＯＳＦＥＴｍ７およびｍ８は遮断状態とすることが好ましい。これにより、ノードＱおよびＱＢと制御線ＣＴＲＬ間の電流をほぼ遮断し、安定動作を実現し、さらに、消費電力の増大を抑制することができる。
【００２７】
［各期間の説明］
図２は、実施例１における各期間の消費電流を示す図である。実線は図１に示したメモリセル１０（ＮＶ−ＳＲＡＭ）を有する記憶回路の消費電流を示す。実線の消費電流は、リーク電流とストア動作およびリストア動作に用いる電流を含み、通常のＳＲＡＭ動作における書き込みおよび読み出しの電流は含んでいない。破線は、ＭＯＳＦＥＴｍ７、ＭＯＳＦＥＴｍ８、ＭＴＪ１およびＭＴＪ２を設けない６トランジスタＳＲＡＭ（６Ｔ−ＳＲＡＭ）セルを用いた記憶回路の消費電流を示している。点線は、６Ｔ−ＳＲＡＭセルを用いた記憶回路の通常ＳＲＡＭ動作期間の消費電流を示している。破線および点線の消費電流は、リーク電流を含み、ＳＲＡＭ動作における書き込みおよび読み出しの電流は含んでいない。
【００２８】
図２に示すように、メモリセル１０の動作期間には、スリープ期間、ＳＲＡＭ動作（ノーマルＳＲＡＭオペレーション）期間、ストア期間、シャットダウン（電源遮断）期間およびリストア期間がある。スリープ期間とＳＲＡＭ動作期間は、双安定回路１２にデータが保持されている期間である。ＳＲＡＭ動作期間は、通常のＳＲＡＭとして双安定回路１２のデータを書き換え、揮発的に保持する（これを、「データを揮発的に書き換える」という）期間である。スリープ期間は、メモリセル１０がスリープモードの期間であり、双安定回路１２のデータを保持するのみであり、データの書き換えを行なわない期間である。スリープ期間においては、ＳＲＡＭ動作期間に対し、双安定回路１２に供給される仮想電源電圧ＶＶＤＤを、データを保持できる程度に低くする。例えば、ＳＲＡＭ動作期間のＶＶＤＤを１．１Ｖ、およびスリープ期間のＶＶＤＤを０．９Ｖとする。これにより、消費電力を抑制できる。スリープ期間およびＳＲＡＭ動作期間では、制御線ＣＴＲＬおよびスイッチ線ＳＲはローレベルであり、ＭＯＳＦＥＴｍ７およびｍ８はオフしている。
【００２９】
ストア期間は、ストア動作が行なわれる期間であり、双安定回路１２に記憶されたデータを強磁性トンネル接合素子ＭＴＪ１およびＭＴＪ２にストアし、これを不揮発的に保持する（これを、「不揮発的にストアする」という）期間である。ストア期間のうち一部の期間において、スイッチ線ＳＲおよび制御線ＣＴＲＬをハイレベルとし、残りの期間において、スイッチ線ＳＲをハイレベル（ＭＯＳＦＥＴｍ７およびｍ８をオン）とし制御線ＣＴＲＬをローレベルとする。例えば、ストア期間のうち初めの期間において、制御線ＣＴＲＬをローレベルとし、ストア期間のうちその後の期間において、制御線ＣＴＲＬをハイレベルとする。ノードＱおよびＱＢがそれぞれハイレベルおよびローレベルのとき、強磁性トンネル接合素子ＭＴＪ１およびＭＴＪ２はそれぞれ高抵抗および低抵抗となる。ノードＱおよびＱＢがそれぞれローレベルおよびハイレベルのとき、強磁性トンネル接合素子ＭＴＪ１およびＭＴＪ２はそれぞれ低抵抗および高抵抗となる。このように、双安定回路１２のデータが強磁性トンネル接合素子ＭＴＪ１およびＭＴＪ２にストアされる。
【００３０】
シャットダウン期間は、メモリセル１０をシャットダウンモードとする期間である。シャットダウン期間においては、メモリセル１０の電源に供給される電圧（ＶＶＤＤ−ＶＧＮＤ）をほぼ０Ｖとする。これにより、メモリセル１０はシャットダウンモードとなる。このとき、メモリセル１０にほとんど電流が流れないため、消費電力を抑制することができる。
【００３１】
リストア期間においては、制御線ＣＴＲＬをローレベルとしスイッチ線ＳＲをハイレベルとした状態で仮想電源電圧ＶＶＤＤを０Ｖから立ち上げることにより行なわれる。強磁性トンネル接合素子ＭＴＪ１およびＭＴＪ２がそれぞれ高抵抗および低抵抗のとき、ノードＱおよびＱＢはそれぞれハイレベルおよびローレベルとなる。強磁性トンネル接合素子ＭＴＪ１およびＭＴＪ２がそれぞれ低抵抗および高抵抗のとき、ノードＱおよびＱＢはそれぞれローレベルおよびハイレベルとなる。このように、強磁性トンネル接合素子ＭＴＪ１およびＭＴＪ２にストアされ不揮発的に保持されたデータ（これを、「不揮発的にストアされたデータ」という）が双安定回路１２にリストアされる。
【００３２】
スリープ期間の長さをτｓｌｅｅｐ、６Ｔ−ＳＲＡＭのリーク電流をＩＬＳＶ、ＮＶ−ＳＲＡＭのリーク電流をＩＬＳＮＶとする。ＳＲＡＭ動作期間の長さをτａｃｔ、６Ｔ−ＳＲＡＭのリーク電流をＩＬＶ、ＮＶ−ＳＲＡＭのリーク電流をＩＬＮＶとする。ストア期間の長さをτｓｔ、強磁性トンネル接合素子ＭＴＪ１およびＭＴＪ２の書き込み電流（ストア動作時に生じる電流）をＩＭＴＪとする。シャットダウン期間の長さをτＳＤ、ＮＶ−ＳＲＡＭのリーク電流をＩＬＳＤとする。リストア期間の長さをτｒｅｔ、ＮＶ−ＳＲＡＭのリストア動作時に生じる電流をＩＲｕｓｈとする。スリープ期間とＳＲＡＭ動作期間との合計の長さをτｅｘｅとする。スリープ期間からリストア期間までの長さをτｃｙｃとする。
【００３３】
スリープ期間およびＳＲＡＭ動作期間においては、ＭＯＳＦＥＴｍ７およびｍ８にもリーク電流が流れるため、ＮＶ−ＳＲＡＭのリーク電流による消費電力は６Ｔ−ＳＲＡＭより大きい。ＮＶ−ＳＲＡＭにおいては、ストア期間においてはストアのための電流、リストア期間においては、強磁性トンネル接合素子ＭＴＪ１およびＭＴＪ２を介して生じる電流と、電源復帰させる回路に生じるラッシュ電流とが生じる。シャットダウン期間においては、ＮＶ−ＳＲＡＭは、わずかにリーク電流が流れるものの消費電力は十分に小さくなる。６Ｔ−ＳＲＡＭにおいては、シャットダウンできないため、ＮＶ−ＳＲＡＭにおけるストア期間、シャットダウン期間およびリストア期間に相当する期間を、スリープ期間とする。よって、これらの期間の６Ｔ−ＳＲＡＭのリーク電流ＩＬＳＶとなる。
【００３４】
ＮＶ−ＳＲＡＭセルにおいて、６Ｔ−ＳＲＡＭセルと比べて、ＳＲＡＭ動作時およびスリープ動作時におけるリーク電流の増加分と、ストア期間およびリストア期間の消費エネルギーの増加分とが、シャットダウンによって節約できるエネルギーに等しくなる期間がＢＥＴ（Break-even time）である。そこで、待機期間がＢＥＴ以上のときはシャットダウンを行ない、ＢＥＴ以下のときはスリープとする。これにより、極めて高効率に電力を削減できる。
【００３５】
［電子回路の説明］
図３は、実施例１における電子回路を示すブロック図である。図３に示すように、電子回路１００は、セルアレイ２０、プリデコーダ２６および制御部２８を備えている。セルアレイ２０は、複数のサブアレイ２２に分割されている。サブアレイ２２の記憶容量は例えば８Ｋバイトである。サブアレイ２２には複数のメモリセル１０がマトリックス状に設けられている。サブアレイ２２はバス２５に接続されている。サブアレイ２２の個数は適宜設計可能である。
【００３６】
サブアレイ２２にはパワースイッチ３０が設けられている。パワースイッチ３０はサブアレイ２２毎に電源電圧を遮断（または低く）する。パワースイッチ３０は、例えばｐ型ＦＥＴであり、サブアレイ２２と電圧ＶＤＤの電源との間に設けられている。パワースイッチ３０がサブアレイ２２と電源との間に設けられている場合、図１の電源線１５ａには電源の電圧ＶＤＤ以下の仮想電源電圧ＶＶＤＤが印加され、グランド線１５ｂにはグランド電圧ＶＧＮＤが印加される。これを仮想電源方式という。
【００３７】
パワースイッチ３０は、サブアレイ２２とグランドとの間に設けられていてもよい。この場合、電源線１５ａには電源の電圧ＶＤＤが印加され、グランド線１５ｂにはグランド電圧ＶＧＮＤ以上の仮想グランド電圧ＶＶＧＮＤが印加される。これを仮想接地方式という。
【００３８】
プリデコーダ２６はアドレス信号に基づきサブアレイ２２を選択する。制御部２８は、パワースイッチ３０を制御することでサブアレイ２２毎にパワーを制御するパワーマネージメントユニットとして機能する。また、制御部２８は、サブアレイ２２のストアフリー動作を制御するストアフリーマネージメントユニットとして機能する。さらに、制御部２８はバス２５を介しサブアレイ２２へのデータの入出力を行う。制御部２８の少なくとも一部の機能は外部のＣＰＵ（Central Processing Unit）が行ってもよい。
【００３９】
［サブアレイの説明］
図４は、実施例１におけるサブアレイのブロック図である。図４に示すように、サブアレイ２２は、メモリセル１０を有する複数のブロック２４（例えば８個）に分割されている。ブロック２４の記憶容量は例えば１Ｋバイトである。ブロック２４の個数は適宜設計可能である。サブアレイ２２内には複数のメモリセル１０がマトリックス状に配置されている。サブアレイ２２内には、行方向にワード線ＷＬおよびスイッチ線ＳＲが延伸し、列方向にビット線ＢＬ（図１の入出力線ＤおよびＤＢに相当する）および制御線ＣＴＲＬが延伸している。各メモリセル１０には、ワード線ＷＬ、スイッチ線ＳＲ、ビット線ＢＬ、制御線ＣＴＲＬ、電源線１５ａおよびグランド線１５ｂが接続されている。
【００４０】
各サブアレイ２２に対応し、パワースイッチ３０、周辺回路３８およびＳＦＩ（ストアフリーインジケータ）回路４０が設けられている。制御部２８は、パワースイッチ３０、周辺回路３８およびＳＦＩ回路４０を制御する。
【００４１】
パワースイッチ３０は、ブロック２４毎に電源線１５ａの仮想電源電圧ＶＶＤＤを変更できる。これにより、パワースイッチ３０は、ブロック２４毎ごとにメモリセル１０をシャットダウンできる。
【００４２】
周辺回路３８は、ＷＬデコーダ３１、列デコーダ３２、プリチャージ回路３３、読出書込回路３４、ＳＲデコーダ３５および列デコーダ３６を備えている。
【００４３】
ＳＲＡＭ動作期間において、ＷＬデコーダ３１は列アドレスに基づきビット線ＢＬを選択する。プリチャージ回路３３はビット線ＢＬをプリチャージする。読出書込回路３４は、ＷＬデコーダ３１および列デコーダ３２に選択されたメモリセル１０の双安定回路１２にデータを書き込みまたは双安定回路１２からデータを読み出す。
【００４４】
ストア期間において、ＳＲデコーダ３５は行アドレスに基づきスイッチ線ＳＲを選択する。列デコーダ３６は列アドレスに基づき制御線ＣＴＲＬを選択する。ＷＬデコーダ３１および列デコーダ３２に選択されたメモリセル１０において双安定回路１２のデータが強磁性トンネル接合素子ＭＴＪ１およびＭＴＪ２に不揮発的にストアされる。
【００４５】
ＳＦＩ回路４０は、選択回路４１、記憶部４２およびマルチプレクサ（ＭＵＸ）４３を備えている。記憶部４２は、ＳＦＢＦ（ストアフリーブロックフラグ）を記憶する記憶部４２ａおよびＳＦＳＦ（ストアフリーサブアレイフラグ）を記憶する記憶部４２ｂを有する。記憶部４２ａは例えばブロック２４の個数のビット容量を有する。例えばサブアレイ２２が８個のブロック２４を有する場合、記憶部４２ａは８ビットである。記憶部４２ｂは１ビットである。記憶部４２は例えばラッチ回路またはフリップフロップ回路である。
【００４６】
選択回路４１は、ＳＲＡＭ動作期間において、ブロック２４に書き込みが行われると対応するＳＦＢＦをセットし（例えばハイレベルとし）、サブアレイ２２に書き込みが行われるとＳＦＳＦをセットする（例えばハイレベルとする）。マルチプレクサ４３は、読出書込回路３４が出力する読み出しデータとＳＦＢＦおよびＳＦＳＦとのいずれかを選択してバス２５に出力する。
【００４７】
［動作の説明］
図５は、実施例１における動作を示すフローチャートである。図５に示すように、制御部２８は、外部からの指令によりセルアレイ２０の電源を投入する（ステップＳ１０）。例えば、制御部２８はパワースイッチ３０に各サブアレイ２２に電源の電圧ＶＤＤを供給させる。これにより、各サブアレイ２２内のメモリセル１０において、強磁性トンネル接合素子ＭＴＪ１およびＭＴＪ２内のデータが双安定回路１２にリストアされる。
【００４８】
制御部２８は、ＳＲＡＭ動作を行う（ステップＳ１２）。制御部２８は、外部からセルアレイ２０をシャットダウンする指示を受けたか否か判定する（ステップＳ１４）。ＮｏのときステップＳ１２に戻る。Ｙｅｓのとき、制御部２８は、ストア動作およびシャットダウンを行う（ステップＳ１６）。その後終了しステップＳ１０に戻る。
【００４９】
［ＳＲＡＭ動作の説明］
図５のステップＳ１２における動作について説明する。図６は、実施例１におけるＳＲＡＭ動作を示すフローチャートである。図６に示すように、選択回路４１は記憶部４２のＳＦＳＦおよびＳＦＢＦをリセットする（ステップＳ２０）。セルアレイ２０のシャットダウンにより記憶部４２がリセットされる場合には、ステップＳ２０は行わなくてもよい。
【００５０】
プリデコーダ２６に書き込みアドレスが入力される（ステップＳ２２）。プリデコーダ２６は、書き込みを行うサブアレイ２２（すなわち書き込みを行うメモリセル１０を含むサブアレイ２２）を選択する（ステップＳ２４）。選択回路４１は、選択されたサブアレイ２２に対応する記憶部４２ｂにＳＦＳＦをセットする（ステップＳ２６）。
【００５１】
ＷＬデコーダ３１および列デコーダ３２は、書き込みを行うブロック２４（すなわち書き込みを行うメモリセル１０を含むブロック２４）を選択する（ステップＳ２８）。選択回路４１は、記憶部４２ａ内に選択されたブロック２４のＳＦＢＦをセットする（ステップＳ３０）。読出書込回路３４は、選択されたブロック２４内のメモリセル１０にデータを書き込む（ステップＳ３２）。制御部２８は、ＳＲＡＭ動作を終了するか判定する（ステップＳ３４）。ＮｏのときステップＳ２２に戻る。Ｙｅｓのとき終了する。
【００５２】
［ストア動作の説明］
図５のステップＳ１６の動作について説明する。図７は、実施例１におけるストア動作を示すフローチャートである。
【００５３】
図８（ａ）から図８（ｄ）は、実施例１におけるセルアレイを示す模式図である。図８（ａ）から図８（ｄ）において、セルアレイ２０内のサブアレイ２２を３×３の９個として説明する。「スリープ」はスリープ状態（すなわち全てのメモリセル１０がスリープモードの状態）のサブアレイ２２を示し、「シャットダウン」はシャットダウン状態（すなわち全てのメモリセル１０がシャットダウンモードの状態）のサブアレイ２２を示し、「ストア」はストア動作中のサブアレイ２２を示す。サブアレイ２２ａから２２ｄは複数のサブアレイ２２のうち特定のサブアレイを示す。
【００５４】
図９（ａ）から図９（ｄ）は、実施例１におけるサブアレイを示す模式図である。図９（ａ）から図９（ｄ）において、サブアレイ２２ａ内のブロック２４を４×２の８個として説明する。「スリープ」はスリープ状態のブロック２４を示し、「シャットダウン」はシャットダウン状態のブロック２４を示し、「ストア」はストア動作中のブロック２４を示す。ブロック２４ａから２４ｄは複数のブロック２４のうち特定のブロックを示す。
【００５５】
図１０（ａ）から図１０（ｃ）は、実施例１におけるブロックを示す模式図である。図１０（ａ）から図１０（ｃ）において、ブロック２４ａ内には複数の行２３が設けられている。「スタンバイ」はストアを待機している状態の行２３である。「ストア」はストア動作中の行２３を示す。行２３ａから２３ｃは複数の行２３のうちの特定の行を示す。
【００５６】
図７に示すように、図５のステップＳ１６において制御部２８がストア動作を開始すると、制御部２８は、各サブアレイ２２に対応するＳＦＳＦをバス２５を介し読み出す（ステップＳ４０）。制御部２８は、ＳＦＳＦがセットされたサブアレイ２２（これをストアフリーサブアレイという）を一括してシャットダウンする（ステップＳ４２）。例えば制御部２８は、パワースイッチ３０にストアフリーサブアレイの仮想電源電圧ＶＶＤＤを遮断（または低下）させる。
【００５７】
図８（ａ）に示すように、制御部２８は９個のサブアレイ２２のうち３個のサブアレイ２２ｄをシャットダウンする。残りの６個のサブアレイ２２はスリープ状態とする。
【００５８】
制御部２８は、ＳＦＳＦがセットされていない（すなわちストア動作を実行する）サブアレイ２２からＳＦＢＦをバス２５を介し読み出す（ステップＳ４４）。ステップＳ４４はステップＳ４０と同時に行ってもよい。制御部２８は、ストアを実行する６個のサブアレイ２２内のＳＦＢＦがセットされたブロック２４（これをストアフリーブロックという）を一括してシャットダウンする（ステップＳ４６）。例えば制御部２８は、パワースイッチ３０にストアフリーブロックの仮想電源電圧ＶＶＤＤを遮断（または低下）させる。
【００５９】
図９（ａ）に示すように、サブアレイ２２ａにおいては、制御部２８は８個のブロック２４のうち４個のブロック２４ｄをシャットダウンする。残りの４個のブロック２４をスリープ状態とする。
【００６０】
制御部２８は、ストア動作を実行するサブアレイ２２の一つを選択する（ステップＳ４８）。図８（ｂ）に示すように、制御部２８は最初のサブアレイ２２ａを選択し、ストア動作を開始する。
【００６１】
選択されたサブアレイ２２ａのストア動作として、制御部２８は、選択されたサブアレイ２２内のストア動作を実行するブロック２４を選択する（ステップＳ５０）。図９（ｂ）に示すように、制御部２８は最初のブロック２４ａを選択し、ストア動作を開始する。
【００６２】
選択されたブロック２４ａのストア動作として、制御部２８は、選択されたブロック２４ａ内を行ごとにストア動作する（ステップＳ５２）。
【００６３】
図１０（ａ）に示すように、制御部２８は最初の行２３ａをストアする。他の行２３をスタンバイとする。例えば、図１のＭＯＳＦＥＴｍ７およびｍ８がｎ型のとき、制御部２８は行２３ａのスイッチ線ＳＲをハイレベルとし、スタンバイ状態の行２３のスイッチ線ＳＲをローレベルとする。制御部２８は、列方向に延伸する制御線ＣＴＲＬにストアのための電圧を印加する。これにより、スイッチ線ＳＲがハイレベルかつ制御線ＣＴＲＬに電圧を印加したメモリセル１０において、双安定回路１２のデータが強磁性トンネル接合素子ＭＴＪ１およびＭＴＪ２に不揮発的にストアされる。制御線ＣＴＲＬには、１列ずつ電圧を印加してもよいし複数列同時に電圧を印加してもよい。ＭＯＳＦＥＴｍ７およびｍ８がｐ型のときはスイッチ線ＳＲのハイレベルおよびローレベルが逆になる。行２３ａ内の全てのメモリセル１０のストアが終了すると行２３ａのストア動作が終了する。
【００６４】
図１０（ｂ）に示すように、制御部２８は次の行２３ｂをストアする。図１０（ｃ）に示すように、制御部２８は、順に行２３をストアし、最後の行２３ｃをストアする。全ての行２３のストアが終了すると、ブロック２４ａのストア動作が終了する。
【００６５】
制御部２８は、ブロック２４ａをシャットダウンする（ステップＳ５４）。制御部２８は、選択されたサブアレイ２２内の全てのブロックのストア動作が終了したか判断する（ステップＳ５６）。Ｎｏのとき、次のブロック２４ｂに進み（ステップＳ５８）、ステップＳ５０に戻る。
【００６６】
図９（ｃ）に示すように、ステップＳ５０において制御部２８はブロック２４ｂを選択し、ステップＳ５２においてブロック２４ｂのストア動作を行なう。ステップＳ５４において制御部２８はブロック２４ｂをシャットダウンする。
【００６７】
図９（ｄ）に示すように、サブアレイ２２ａ内の最後のブロック２４ｃのストア動作が終了し、全てのブロック２４がシャットダウン状態となる。制御部２８はステップＳ５６においてＹｅｓと判定する。
【００６８】
制御部２８は、セルアレイ２０内の全てのサブアレイ２２のストア動作が終了したか判断する（ステップＳ６０）。Ｎｏのとき、次のサブアレイ２２ｂに進み（ステップＳ６２）、ステップＳ４８に戻る。
【００６９】
図８（ｃ）に示すように、ステップＳ４８において制御部２８はサブアレイ２２ｂを選択し、ステップＳ４８からＳ５８においてサブアレイ２２ｂのストア動作を行なう。
【００７０】
図８（ｄ）に示すように、セルアレイ２０内の最後のサブアレイ２２ｃのストア動作が終了し、全てのサブアレイ２２がシャットダウン状態となる。制御部２８はステップＳ６０においてＹｅｓと判定する。これにより、セルアレイ２０のストアおよびシャットダウンが終了する。
【００７１】
［ＳＦＳＦ、ＳＦＢＦの転送方法］
図７のステップＳ４０およびＳ４４におけるＳＦＳＦおよびＳＦＢＦの制御部２８への転送方法について説明する。
【００７２】
［転送方法１］
図１１は、実施例１の転送方法１に用いるＳＦＩ回路の例を示すブロック図である。図１１に示すように、サブアレイ２２は行が２つのブロック２４ａに分割され、列が４つのブロック２４ｂに分割されている。ＷＬデコーダ３１は、行を２つのブロック２４ａに分割する行アドレスの上位のビットに対応するアドレス線３１ｂと、アドレス線３１ｂがインバータ３１ａにより反転されたアドレス線３１ｃと、を有する。列デコーダ３２は、列を４つのブロック２４ｂに分割する２つの列アドレスのビットに対応するアドレス線３２ｂおよび３２ｄと、アドレス線３２ｂおよび３２ｄがインバータ３２ａにより反転されたアドレス線３２ｃおよび３２ｅと、を有する。
【００７３】
選択回路４１は、ブロック２４の個数に対応する個数のＡＮＤ回路４１ａを有する。ＡＮＤ回路４１ａは、アドレス線３１ｂと３１ｃのいずれかのアドレス線、アドレス線３２ｂと３２ｃのいずれかのアドレス線、およびアドレス線３２ｄと３２ｅとのいずれかのアドレス線の３つのアドレス線と、ＳＲＡＭ動作におけるライトイネーブル信号ＷＥのＡＮＤ処理を行う。ライトイネーブル信号ＷＥがハイレベルのとき、選択されたメモリセル１０を有するブロック２４に対応するＡＮＤ回路４１ａのみハイレベルをＳＦＢＦとして記憶部４２ａに出力する。記憶部４２ａにはＳＲＡＭ動作において書き込みされたメモリセル１０を有するブロック２４の相当するＳＦＢＦが記憶される。
【００７４】
選択回路４１は、ＡＮＤ回路４１ａの少なくとも１つがハイレベルを出力すると、ハイレベルをＳＦＳＦとして記憶部４２ｂに出力する。記憶部４２ｂには書き込みされたサブアレイ２２の相当するＳＦＳＦが記憶される。このように、記憶部４２ｂは選択されたサブアレイ２２に対応するチップイネーブル信号とライトイネーブル信号との両方がハイレベルのとき、ＳＦＳＦとしてハイレベルを記憶する。記憶部４２ａおよび４２ｂは、ハイレベルを保持するとリセットされるまでハイレベルを維持する。
【００７５】
記憶部４２ａおよび４２ｂはそれぞれパラレル線２５ａの各信号線に接続される。記憶部４２ｂは０ビット目の信号線に接続され、記憶部４２ａは１ビット目から８ビット目の信号線に接続される。記憶部４２ａおよび４２ｂが接続されていない信号線は接地される。読出書込回路３４はパラレル線２５ｃに接続されている。
【００７６】
マルチプレクサ４３は、パラレル線２５ａおよび２５ｃのいずれか一方を選択しバス２５に接続する。ＳＲＡＭ動作のときにはマルチプレクサ４３はパラレル線２５ｃをバス２５に接続する。ＳＦＳＦおよびＳＦＢＦを制御部２８に転送するとき、マルチプレクサ４３はパラレル線２５ａをバスに接続する。
【００７７】
図１２は、実施例１における転送方法を説明するセルアレイの模式図である。図１２に示すように、サブアレイ２２Ａから２２Ｄが設けられている。サブアレイ２２Ａから２２Ｄに対応するＳＦＩ回路４０Ａから４０Ｄがバス２５に接続されている。各ＳＦＩ回路４０Ａから４０Ｄは、ＳＦＢＦを記憶する記憶部４２ａとＳＦＳＦを記憶する記憶部４２ｂを備えている。
【００７８】
図１３（ａ）から図１３（ｄ）は、実施例１の転送方法１におけるバスのデータを示す模式図である。ＳＦＳＦＡからＳＦＳＦＤはそれぞれＳＦＩ回路４０Ａから４０Ｄが出力するＳＦＳＦを示し、ＳＦＢＦＡからＳＦＢＦＤはそれぞれＳＦＩ回路４０Ａから４０Ｄが出力するＳＦＢＦを示す。バス２５は６４ビットのパラレルバスであり、０ビットから６３ビットはそれぞれバス２５の信号線に対応する。
【００７９】
図１３（ａ）のように、最初のタイミングではサブアレイ２２ＡのＳＦＩ回路４０Ａから０ビット目にＳＦＳＦＡが出力され、１ビット目から８ビット目にＳＦＢＦＡが出力される。図１３（ｂ）のように、次のタイミングではサブアレイ２２ＢのＳＦＩ回路４０Ｂから０ビット目にＳＦＳＦＢが出力され、１ビット目から８ビット目にＳＦＢＦＢが出力される。図１３（ｃ）のように、ＳＦＩ回路４０ＣからＳＦＳＦＣおよびＳＦＢＦＣが出力される。図１３（ｄ）のように、ＳＦＩ回路４０Ｄから順次ＳＦＳＦＤおよびＳＦＢＦＤが出力される。
【００８０】
以上のように、転送方法１では、サブアレイ２２Ａから２２Ｄから制御部２８にＳＦＳＦおよびＳＦＢＦが逐次転送される。
【００８１】
［転送方法２］
図１４は、実施例１の転送方法２に用いるＳＦＩ回路の例を示すブロック図である。図１４に示すように、記憶部４２ａはパラレル線２５ａに接続されている。記憶部４２ｂはパラレル線２５ｂに接続されている。マルチプレクサ４４はパラレル線２５ａおよび２５ｂのいずれか一方をパラレル線２５ｄに接続する。マルチプレクサ４３はパラレル線２５ｃおよび２５ｄのいずれかをバス２５に接続する。これにより、ＳＦＩ回路４０はＳＦＳＦとＳＦＢＦを異なるタイミングでバス２５に出力できる。
【００８２】
例えば、図１２のＳＦＩ回路４０Ａでは、記憶部４２ａはパラレル線２５ａの０から７ビット目の信号線に接続され、記憶部４２ｂはパラレル線２５ｂの０ビット目の信号線に接続されている。ＳＦＩ回路４０Ｂでは、記憶部４２ａはパラレル線２５ａの８から１５ビット目の信号線に接続され、記憶部４２ｂはパラレル線２５ｂの１ビット目の信号線に接続されている。ＳＦＩ回路４０Ｃでは、記憶部４２ａはパラレル線２５ａの１６から２３ビット目の信号線に接続され、記憶部４２ｂはパラレル線２５ｂの２ビット目の信号線に接続されている。ＳＦＩ回路４０Ｄでは、記憶部４２ａはパラレル線２５ａの２４から３１ビット目の信号線に接続され、記憶部４２ｂはパラレル線２５ｂの３ビット目の信号線に接続されている。
【００８３】
図１５（ａ）および図１５（ｂ）は、実施例１の転送方法２におけるバスのデータを示す模式図である。図１５（ａ）に示すように、図７のステップＳ４０において、ＳＦＩ回路４０Ａから４０Ｄのマルチプレクサ４４はパラレル線２５ｂをパラレル線２５ｄに接続し、マルチプレクサ４３はパラレル線２５ｄをバス２５に接続する。これにより、０ビット目から３ビット目にそれぞれサブアレイ２２Ａから２２ＤのＳＦＳＦＡからＳＦＳＦＤがセットされ、制御部２８にパラレルに転送される。
【００８４】
図１５（ｂ）に示すように、図７のステップＳ４４において、ＳＦＩ回路４０Ａから４０Ｄのマルチプレクサ４４はパラレル線２５ａをパラレル線２５ｄに接続し、マルチプレクサ４３のパラレル線２５ｄをバス２５に接続する。これにより、０ビット目から３１ビット目にサブアレイ２２Ａから２２ＤのＳＦＢＦＡからＳＦＢＦＤがセットされ、制御部２８にパラレルに転送される。
【００８５】
以上のように、転送方法２では、サブアレイ２２Ａから２２Ｄから制御部２８にＳＦＳＦが一括転送され、ＳＦＢＦが一括転送される。
【００８６】
転送方法２はサブアレイ２２およびブロック２４が多いときに有利である。例えばサブアレイ２２を８Ｋバイト、ブロック２４を１Ｋバイト、バス２５を６４ビットとする。セルアレイ２０の記憶容量が１６Ｋバイト、３２Ｋバイト、２５６Ｋバイト、１Ｍバイトおよび２Ｍバイトのとき、転送方法１でＳＦＳＦを転送すると、転送回数は、それぞれ２回、４回、３２回、１２８回および２５６回となる。一方、転送方法２でＳＦＳＦを転送すると、転送回数は、それぞれ１回、１回、１回、２回および４回となる。
【００８７】
［シミュレーション］
実施例１に係る電子回路についてＢＥＴおよびレイテンシをシミュレーションした。比較例１として、サブアレイ２２およびブロック２４の一括遮断を行なわず、ＳＦＢＦがセットされているブロック２４のストア動作を順次スキップする場合についてもシミュレーションした。
【００８８】
シミュレーション条件は以下である。ＳＲＡＭ動作期間、ストア期間およびリストア期間における仮想電源電圧ＶＶＤＤを１．２Ｖとした。スリープ期間における仮想電源電圧ＶＶＤＤおよび制御線ＣＴＲＬの電圧をそれぞれ０．５Ｖおよび０Ｖとした。ストア期間におけるスイッチ線ＳＲの電圧を０．７５Ｖとした。ストア期間における制御線ＣＴＲＬのハイレベルおよびローレベルの電圧をそれぞれ０．４５Ｖおよび０Ｖとした。サブアレイ２２およびブロック２４の記憶容量をそれぞれ８Ｋバイトおよび１Ｋバイトとした。転送方法を転送方法２とした。
【００８９】
セルアレイ２０内の全メモリセルの個数に対するストア動作の不要なストアフリーメモリセルの個数の比をストアフリー比とした。セルアレイ２０内に揮発的に書き込まれるメモリセル１０は特定のサブアレイ２２およびブロック２４に集中することを考慮し、ストア動作にかかる時間をレイテンシとした。セルアレイ２０の記憶容量が３２Ｋバイト、２５６Ｋバイトおよび２Ｍバイトについてシミュレーションした。
【００９０】
図１６（ａ）から図１６（ｃ）は、実施例１および比較例１におけるストアフリー比に対するＢＥＴを示す図、図１６（ｄ）から図１６（ｆ）は、ストアフリー比に対するレイテンシを示す図である。図１６（ａ）に示すように、比較例１では、３２Ｋバイトのときストアフリー比が大きくなるとＢＥＴが短くなる。図１６（ｂ）および図１６（ｃ）のように、２５６Ｋバイトおよび２Ｍバイトと記憶容量が大きくなると、ストアフリー比が大きくなってもＢＥＴは小さくならない。これは以下の理由のためである。すなわち、記憶容量が大きくなると、ストア動作を待機するサブアレイ２２およびブロック２４が大きくなる。ストア動作の待機中にもメモリセル１０にはリーク電流が流れる。このため、セルアレイ２０全体でのリーク電流が大きく、ストアフリー比が大きくなってもＢＥＴは小さくならない。また、図１６（ｄ）から図１６（ｆ）に示すように、比較例１ではレイテンシはストアフリー比によらず一定である。
【００９１】
図１６（ａ）から図１６（ｃ）のように、実施例１では記憶容量によらずストアフリー比が大きくなるとＢＥＴが小さくなる。図１６（ｄ）から図１６（ｆ）のように、実施例１では記憶容量によらずストアフリー比が大きくなるとレイテンシが短くなる。これらは、実施例１では、ストアフリーのサブアレイ２２およびブロック２４を最初にシャットダウンするためである。
【００９２】
［実施例１の変形例１］
実施例１の変形例１はキャッシュメモリの例である。図１７は、実施例１の変形例１に係るキャッシュメモリのブロック図である。図１７に示すように、インデックスデコーダ５１、タグアレイ５２およびキャッシュアレイ５０が設けられている。タグアレイ５２およびキャッシュアレイ５０にはメモリセル１０がマトリックス状に配置されている。タグアレイ５２およびキャッシュアレイ５０は例えば８個のブロック５４に分割されている。タグアレイ５２にはキャッシュアレイ５０に書き込まれたデータのアドレスが書き込まれる。インデックスデコーダ５１は、アドレス線５１ｂと、アドレス線５１ｂがインバータ５１ａにより反転されたアドレス線５１ｃと、を有する。
【００９３】
選択回路４１は、上位の３ビットのアドレス線５１ｂおよび５１ｃからＳＦＢＦをセットする。図１７では、キャッシュアレイ５０が行のみでブロック５４に分割されている例を示したが、キャッシュアレイ５０は、行および列で分割されていてもよい。その他の構成は実施例１および図１４と同じであり説明を省略する。
【００９４】
［実施例１の変形例２］
図１８は、実施例１の変形例２に係るキャッシュメモリのブロック図である。図１８に示すようにブロック５４は複数の行が含まれている。複数のブロック５４にそれぞれ対応し、タグアレイ５２内にＳＦＢＦを記憶する複数の記憶部４２ａが設けられている。列アドレスが入力する列デコーダ５３が設けられている。インデックスデコーダ５１に行アドレスが入力すると対応するワード線ＷＬが選択される。ライトイネーブル信号がハイレベル（アサート）でかつブロック５４内のいずれかのメモリセル１０がアクセスされると、アクセスされたブロック５４に対応するタグアレイ５２内の記憶部４２ａにＳＦＢＦがセットされる。その他の構成は実施例１の変形例１と同じであり説明を省略する。
【００９５】
キャッシュメモリでは、タグアレイ５２内のタグをコントロールするダーティビットを用いブロック５４内のメモリセルが書き換えられているか判定してもよい。この場合、タグアレイ５２はＳＦＢＦを記憶する記憶部としての機能を有する。しかし、ダーティビットが多くなる（例えばダーティビットの数が行の数となる）と、記憶部４２ａおよびパワースイッチ３０等の回路規模が大きくなってしまう。よって、実施例の変形例１のように記憶部４２ａはタグアレイ５２と別に設けることが好ましい。また、実施例１の変形例２のように、複数のブロック５４は各々複数の行を含み、タグアレイ５２内に複数のブロック５４にそれぞれ対応する複数の記憶部４２ａを設けることが好ましい。
【００９６】
実施例１およびその変形例によれば、セルアレイ２０は、各々のサブアレイ２２（ブロック）が少なくとも２つのメモリセル１０を含む複数のサブアレイ２２に分割されている。図７のステップＳ４０、Ｓ４２および図８（ａ）のように、制御部２８は、セルアレイ２０をシャットダウンするときに、複数のサブアレイ２２からサブアレイ２２内のいずれのメモリセルも揮発的に書き換えられていないサブアレイ２２ｄを抽出する。制御部２８は、抽出されたサブアレイ２２ｄをシャットダウンする。なお、抽出されたサブアレイ２２ｄのシャットダウンは、サブアレイ２２ｄを一括してシャットダウンする動作であり、サブアレイ２２ａのストア動作を行う前に、ストアフリーの全てのサブアレイ２２ｄを一度にまたは逐次シャットダウンする動作である。ステップＳ４８からＳ６２および図８（ｂ）から図８（ｄ）のように、制御部２８は、抽出されたサブアレイ２２ｄをシャットダウンした後、複数のサブアレイ２２のうち残りのサブアレイ２２ａから２２ｃ内のメモリセル１０においてストア動作を行う。制御部２８は、ストア動作の終了したサブアレイ２２ａから２２ｃをシャットダウンする。例えば制御部２８は、サブアレイ２２ａから２２ｃを順次ストア動作し、ストア動作が終了したサブアレイ２２ａから２２ｃを順次シャットダウンする。これにより、ストアフリーのサブアレイ２２のストア動作を待機する待機電力を抑制できる。よって、消費電力を抑制でき、ＢＥＴを短縮できる。また、レイテンシを短くできる。
【００９７】
図１２のように、各サブアレイ２２Ａから２２Ｄにおける記憶部４２ｂ（第１記憶部）は、複数のサブアレイ２２Ａから２２Ｄのうちそれぞれのサブアレイ２２Ａから２２Ｄ内の少なくとも１つのメモリセル１０が揮発的に書き換えられたことを示すＳＦＳＦ（第１情報）をそれぞれ記憶する。図７のステップＳ４０のように、制御部２８は、複数の記憶部４２ｂに記憶されたＳＦＳＦに基づき、複数のサブアレイ２２Ａから２２Ｄ内のいずれのメモリセル１０も揮発的に書き換えられていないサブアレイ２２Ａから２２Ｄを抽出する。これにより、制御部２８は、いずれのメモリセル１０も揮発的に書き換えられていないサブアレイ２２Ａから２２Ｄを抽出できる。
【００９８】
図１２のように、複数のサブアレイ２２Ａから２２Ｄと接続され、複数のサブアレイ２２Ａから２２Ｄから読み出すデータおよび書き込むデータを転送するバス２５（パラレルバス）が設けられている。図１５（ａ）のように、制御部２８は、複数のサブアレイ２２Ａから２２Ｄのうち異なるサブアレイに対応するＳＦＳＦをバス２５の異なる信号線を介し同時に取得する。これにより、ＳＦＳＦの転送回数を少なくできる。
【００９９】
図４において、読出書込回路３４（書込回路）は、アドレス信号に対応するメモリセル１０にデータを揮発的に書き込む。選択回路４１（生成回路）は、アドレス信号に基づきＳＦＳＦおよびＳＦＢＦを生成する。これにより、ＳＦＳＦおよびＳＦＢＦを容易に生成することができる。
【０１００】
図４のように、複数のサブアレイ２２は、各々のブロック２４が少なくとも２つのメモリセル１０を含むように複数のブロック２４（サブブロック）に分割されている。図７のステップＳ４４、Ｓ４６および図９（ａ）のように、制御部２８は、複数のブロック２４からブロック２４内のいずれのメモリセルも揮発的に書き換えられていないブロック２４ｄを抽出する。ステップＳ４６のように、制御部２８は、抽出されたブロック２４ｄをシャットダウンする。なお、抽出されたブロック２４ｄのシャットダウンはブロック２４ｄを一括してシャットダウンする動作であり、サブアレイ２２ａのストア動作の前に全てのストアフリーのサブアレイ２２ｄとサブアレイ２２ａから２２ｃ内のストアフリーの全てのブロック２４ｄを一度にまたは逐次シャットダウンする動作である。ステップＳ５０からＳ５８、図９（ｂ）から図９（ｄ）のように、制御部２８は、抽出されたブロック２４ｄをシャットダウンした後、複数のブロック２４のうち残りのブロック２４ａから２４ｃにおいてストア動作を行う。制御部２８は、ストア動作の終了したブロック２４ａから２４ｃをシャットダウンする。例えば制御部２８は、ブロック２４ａから２４ｃを順次ストア動作し、ストア動作が終了したブロック２４ａから２４ｃを順次シャットダウンする。このように、シャットダウンする領域を２層構造とすることにより、より消費電力を抑制できる。シャットダウンする階層は、１層でもよいし、３層以上でもよい。シャットダウンする階層は、消費電力の削減と回路規模の削減を考慮して決定すればよい。
【０１０１】
図７のステップＳ５４および図９（ｄ）のように、制御部２８は、サブアレイ２２ａから２２ｃのうち次のサブアレイ２２ｂのストア動作を行う前に、ストア動作の終了したブロック２４ａから２４ｄをシャットダウンする。これにより、より消費電力を抑制できる。
【０１０２】
図１２のように、各サブアレイ２２Ａから２２Ｄにおける記憶部４２ａ（第２記憶部）は、複数のブロック２４のうちそれぞれのブロック２４内の少なくとも１つのメモリセルが揮発的に書き換えられたことを示すＳＦＢＦ（第２情報）をそれぞれ記憶する。図７のステップＳ４４のように、制御部２８は、複数の記憶部４２ａに記憶されたＳＦＢＦに基づき、複数のブロック２４からブロック内のいずれのメモリセルも揮発的に書き換えられていないブロックを抽出する。これにより、制御部２８は、いずれのメモリセル１０も揮発的に書き換えられていないブロック２４を抽出できる。
【０１０３】
図１５（ｂ）のように、制御部２８は、複数のブロック２４のうち異なるサブアレイ２２Ａから２２Ｄに対応するＳＦＢＦをバス２５の異なる信号線を介し同時に取得する。これにより、ＳＦＢＦの転送回数を少なくできる。
【０１０４】
制御部２８は、図８（ａ）のように抽出されたサブアレイ２２ｄを全てシャットダウンした後、図８（ｂ）から図８（ｄ）のように残りのサブアレイ２２ａから２２ｃのメモリセルにおいてストア動作を行う。これにより、より消費電力を抑制できる。
【０１０５】
制御部２８は、図９（ａ）のように抽出されたブロック２４ｄを全てシャットダウンした後、図９（ｂ）から図９（ｄ）のように残りのブロック２４ａから２４ｃのメモリセルにおいてストア動作を行う。これにより、より消費電力を抑制できる。
【０１０６】
制御部２８は、いずれのメモリセルも揮発的に書き換えられていないサブアレイ２２ｄおよび／またはブロック２４ｄを抽出しているが、不揮発的にストアする必要のないサブアレイ２２および／またはブロック２４を抽出してもよい。
【０１０７】
実施例１およびその変形例において、ＭＴＪ１およびＭＴＪ２がノードＱおよびＱＢにそれぞれ接続される例を説明したが、ノードＱまたはＱＢにＭＴＪ１およびＭＴＪ２のいずれか一方が接続されていればよい。メモリセルは、双安定回路１２と不揮発性素子を有していればよい。不揮発性素子としてＭＴＪを例に説明したが、不揮発性素子としては巨大磁気抵抗（ＧＭＲ）素子、ＲｅＲＡＭ（Resistance Random Access Memory）に用いられるような可変抵抗素子、または、ＰＲＡＭ（Phase change RAM）に用いられる相変化素子を用いることができる。
【０１０８】
以上、本発明の好ましい実施例について詳述したが、本発明は係る特定の実施例に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【０１０９】
１０  メモリセル
１２  双安定回路
２０  セルアレイ
２２、２２ａ−２２ｄ、２２Ａ−２２Ｄ  サブアレイ
２４、２４ａ−２４ｄ  ブロック
２８  制御部
３０  パワースイッチ
４１  選択回路
４２ａ、４２ｂ  記憶部
【図１】
2019102111.tif 000003
【図２】
2019102111.tif 000004
【図３】
2019102111.tif 000005
【図４】
2019102111.tif 000006
【図５】
2019102111.tif 000007
【図６】
2019102111.tif 000008
【図７】
2019102111.tif 000009
【図８】
2019102111.tif 000010
【図９】
2019102111.tif 000011
【図１０】
2019102111.tif 000012
【図１１】
2019102111.tif 000013
【図１２】
2019102111.tif 000014
【図１３】
2019102111.tif 000015
【図１４】
2019102111.tif 000016
【図１５】
2019102111.tif 000017
【図１６】
2019102111.tif 000018
【図１７】
2019102111.tif 000019
【図１８】
2019102111.tif 000020