(57)【特許請求の範囲】
【請求項１】
第１のインバータと、
前記第１のインバータの出力端子に入力端子が接続され、前記第１のインバータの入力端子に出力端子が接続された第２のインバータと、
一端が第１のビット線に接続され、他端が第１のインバータの入力端子に接続される第１のトランジスタと、
前記第１のインバータの出力端子と第２のビット線との間に設けられる複数のトランジスタを含む第１の素子群と、
前記第２のインバータの出力端子と動作に応じて所定の電位が与えられる第１の端子との間もしくは、前記第１のトランジスタと前記第１の端子との間に設けられる複数のトランジスタと磁気抵抗変化素子とを含む第２の素子群とを有する半導体集積回路であって、
前記第２のインバータの出力端子と前記第１の端子との間の素子のオン抵抗値の合計は、前記磁気抵抗変化素子が低抵抗状態の場合には前記第１の素子群のオン抵抗値の合計よりも低く、前記磁気抵抗変化素子が高抵抗状態の場合には前記第１の素子群のオン抵抗値の合計よりも高いことを特徴とする半導体集積回路。
【請求項２】
前記半導体集積回路への電源が投入されると、前記第２のビット線と前記第１の端子をグランドに接続し、前記第１の素子群に含まれるトランジスタと前記第２のインバータの出力端子を前記第１の端子の間に設けられる複数のトランジスタをＯＮにする制御回路を更に有することを特徴とする請求項１に記載の半導体集積回路。
【請求項３】
前記制御回路は、前記半導体集積回路への電源が遮断される前に、前記第１の端子に基準電源の半分の電位を印加し、前記第２のインバータの出力端子と前記第１の端子との間のトランジスタをＯＮすることによって、前記磁気抵抗変化素子に書き込み電流を流すことを特徴とする請求項２に記載の半導体集積回路。
【請求項４】
第１のインバータと、
前記第１のインバータの出力端子に入力端子が接続され、前記第１のインバータの入力端子に出力端子が接続された第２のインバータと、
ゲートがワード線に接続され、一端が第１のビット線に接続され、他端が第１のインバータの入力端子に接続される第１のトランジスタと、
ゲートが前記ワード線に接続され、一端が前記第１のインバータの出力端子に接続される第２のトランジスタと、
前記第１のインバータの入力端子に一端が接続された第３のトランジスタと、
前記第３のトランジスタの他端に接続された磁気抵抗変化素子と、
前記第２のトランジスタに一端が接続され、他端が第２のビット線に接続された第４のトランジスタと、
前記磁気抵抗変化素子に一端が接続され、他端が動作に応じて所定の電位が与えられる第１の端子に接続された第５のトランジスタとを有する半導体集積回路であって、
前記第３のトランジスタと前記磁気抵抗変化素子と前記第５のトランジスタのオン抵抗値の合計値が、前記磁気抵抗変化素子が低抵抗状態の場合には、前記第２のトランジスタと前記第４のトランジスタのオン抵抗値の合計値よりも低く、前記磁気抵抗変化素子が高抵抗状態の場合には、前記第２のトランジスタと前記第４のトランジスタのオン抵抗値の合計値よりも高いことを特徴とする半導体集積回路。
【請求項５】
第１のインバータと、
前記第１のインバータの出力端子に入力端子が接続され、前記第１のインバータの入力端子に出力端子が接続された第２のインバータと、
ゲートがワード線に接続され、一端が第１のビット線に接続され、他端が第１のインバータの入力端子に接続される第１のトランジスタと、
ゲートが前記ワード線に接続され、一端が前記第１のインバータの出力端子に接続される第２のトランジスタと、
前記第１のビット線に一端が接続された第３のトランジスタと、
前記第３のトランジスタの他端に接続された磁気抵抗変化素子と、
前記第２のトランジスタに一端が接続され、他端が第２のビット線に接続された第４のトランジスタと、
前記磁気抵抗変化素子に一端が接続され、他端が動作に応じて所定の電位が与えられる第１の端子に接続された第５のトランジスタとを有する半導体集積回路であって、
前記第１のトランジスタと前記第３のトランジスタと前記磁気抵抗変化素子と前記第５のトランジスタのオン抵抗値の合計値が、前記磁気抵抗変化素子が低抵抗状態の場合には、前記第２のトランジスタと前記第４のトランジスタのオン抵抗値の合計値よりも低く、前記磁気抵抗変化素子が高抵抗状態の場合には、前記第２のトランジスタと前記第４のトランジスタのオン抵抗値の合計値よりも高いことを特徴とする半導体集積回路。
【請求項６】
前記磁気抵抗変化素子は、磁化固定層、磁化自由層及びそれらの間に配置される非磁性層を備え、前記磁化固定層が前記第３のトランジスタに接続され、前記磁化自由層が前記第５のトランジスタに接続されることを特徴とする請求項４または請求項５に記載の半導体集積回路。
【請求項７】
請求項１乃至６のいずれか一項に記載の半導体集積回路をアレイ状に配置してキャッシュとして用いるプロセッサ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は半導体集積回路およびプロセッサに関する。
【背景技術】
【０００２】
マイクロプロセッサの性能を決める大きな要因にキャッシュメモリがある。マイクロプロセッサ全体の半分近くをキャッシュメモリが占める。そのため、キャッシュメモリの消費電力は、マイクロプロセッサ全体の消費電力に対して大きく寄与する。従来のキャッシュメモリには高速動作が可能なＳＲＡＭ（Static Random Access Memory）が用いられている。しかしながら、ＳＲＡＭは揮発性メモリであり、データを記憶し続けるためには常時ＳＲＡＭに電源を供給しなければならない。そのため、微細化に伴って、ＳＲＡＭのリーク電流による大きなスタティック電力が問題となっている。
【０００３】
一方、キャッシュメモリに不揮発メモリを用いることで、消費電力を削減することが可能であるが、不揮発メモリの中で最も高速動作が可能であるＭＲＡＭ（Magnetoresistive Random Access Memory）を用いたとしても、キャッシュメモリとして使用するには動作速度が遅い。そのため、キャッシュメモリに使用することができる高速動作が可能な不揮発メモリが望まれている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−５２８７９号公報
【非特許文献】
【０００５】
【非特許文献１】S. Yamamoto et al, Japanese Journal of Applied Physics 48 (2009) 043001
【発明の概要】
【発明が解決しようとする課題】
【０００６】
非特許文献１には、８個のトランジスタと２個のＭＴＪを用いた不揮発性ＳＲＡＭが提案されている。しかしながら、ＳＲＡＭの回路よりもトランジスタ数が増えるうえに、２個のＭＴＪのそれぞれに接続されるトランジスタは、ＳＲＡＭを構成する他のトランジスタと比較して大きいため、回路面積が大幅に増大する。
【０００７】
そこで、本発明が解決しようとする課題は、性能悪化と回路面積増大を抑えた不揮発性ＳＲＡＭを提供することである。
【課題を解決するための手段】
【０００８】
上記目的を達成するために、本発明の実施形態による半導体集積回路は、第１のインバータと、前記第１のインバータの出力端子に入力端子が接続され、前記第１のインバータの入力端子に出力端子が接続された第２のインバータと、一端が第１のビット線に接続され、他端が第１のインバータの入力端子に接続される第１のトランジスタと、前記第１のインバータの出力端子と第２のビット線との間に設けられる複数のトランジスタを含む第１の素子群と、前記第２のインバータの出力端子と動作に応じて所定の電位が与えられる第１の端子との間もしくは、前記第１のトランジスタと前記第１の端子との間に設けられる複数のトランジスタと磁気抵抗変化素子とを含む第２の素子群とを有する半導体集積回路であって、前記第２のインバータの出力端子と前記第１の端子との間の素子のオン抵抗値の合計は、前記磁気抵抗変化素子が低抵抗状態の場合には前記第１の素子群のオン抵抗値の合計よりも低く、前記磁気抵抗変化素子が高抵抗状態の場合には前記第１の素子群のオン抵抗値の合計よりも高いことを特徴としている。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施形態に係る不揮発性ＳＲＡＭセルの回路を示す図。
【図２】本発明の実施形態に係る不揮発性ＳＲＡＭセルの状態遷移を示す図。
【図３】本発明の実施形態に係る不揮発性ＳＲＡＭセルがＳＲＡＭモードの場合の動作を示す図。
【図４】本発明の実施形態に係る不揮発性ＳＲＡＭセルがＳｔｏｒｅモードの動作の回路を示す図。
【図５】本発明の実施形態に係る不揮発性ＳＲＡＭセルがＳｔｏｒｅモードの動作の回路を示す図。
【図６】本発明の実施形態に係る不揮発性ＳＲＡＭセルがＲｅｃａｌｌモードの動作の回路を示す図。
【図７】本発明の実施形態に係る不揮発性ＳＲＡＭセルをＭＲＡＭとして用いる場合の動作を示す図。
【図８】本発明の実施形態の変形例に係る不揮発性ＳＲＡＭセルのＲｅｃａｌｌの動作を示す図。
【図９】本発明の実施形態の変形例に係る不揮発性ＳＲＡＭセルのＲｅｃａｌｌの動作を示す図。
【図１０】本発明の実施形態の変形例に係る不揮発性ＳＲＡＭセルのＲｅｃａｌｌの動作を示す図。
【図１１】本発明の実施形態に係る不揮発性ＳＲＡＭセルを用いた不揮発性ＳＲＡＭの基本構成を示す図。
【図１２】本発明の実施形態に係る不揮発性ＳＲＡＭをキャッシュとして用いた情報処理装置のブロック図。
【図１３】本発明の実施形態に係る不揮発性ＳＲＡＭセルを用いたＦＰＧＡを示す図。
【図１４】本発明の実施形態に係る不揮発性ＳＲＡＭセルを用いたＦＰＧＡを示す図。
【発明を実施するための形態】
【００１０】
以下、本発明の実施形態について図面を参照して説明する。  
（第１の実施形態）
図１に本発明の実施形態に係る不揮発性ＳＲＡＭセルの基本回路を示す。図１に示す不揮発性ＳＲＡＭセル１０は、インバータ１１、１２、トランジスタ２１、２２、２３、ＭＴＪ（Magnetic Tunnel Junction）３１を有する。
【００１１】
第１および第２のインバータ１１、１２は、それぞれ２つの電源端子Ｖｄｄ、Ｖｓｓの間に直列接続されるＰチャネルＭＯＳＦＥＴおよびＮチャネルＭＯＳＦＥＴから構成される。第１および第２のインバータ１１、１２は、クロスカップルされる。
【００１２】
第１のトランジスタ２１は、ゲートがワード線ＷＬに接続され、ソースが第１のビット線ＢＬに接続され、ドレインが第１のインバータ１１の入力端子に接続される。第２のトランジスタ２２は、ゲートがワード線ＷＬに接続され、ソースが第２のビット線ＢＬＢに接続され、ドレインが第２のインバータ１２の入力端子に接続される。第３のトランジスタ２３は、ゲートがスイッチ線ＳＬに接続され、ソースがクロスカップルインバータに接続され、ドレインがＭＴＪ３１に接続される。
【００１３】
ＭＴＪ３１は、磁化固定層３１１、非磁性層３１２、磁化自由層３１３を備えるスピン注入方式の磁気抵抗変化素子である。非磁性層３１２は、トンネル絶縁層または非磁性金属から構成される。ＭＴＪ３１の磁化固定層３１１は、第３のトランジスタ２３に接続され、磁化自由層３１３は、共通電位電極に接続される。ＭＴＪ３１は、書き込み電流を流す方向に応じて、磁化自由層３１３のスピンの向きが磁化固定層３１１と平行な方向から反平行な方向へ、もしくは反平行な方向から平行な方向へ変化する。磁化固定層３１１と磁化自由層３１３のスピンの向きが平行な場合には、ＭＴＪ３１の抵抗は低く、反平行な場合には、ＭＴＪ３１の抵抗が高い。
【００１４】
以降では、磁化固定層３１１から磁化自由層３１３へ向かう方向に書き込み電流を流すと、磁化固定層３１１と磁化自由層３１３のスピンの向きが平行だった場合に反平行（低抵抗値から高抵抗値）に変化し、磁化自由層３１３から磁化固定層３１１へ向かう方向に書き込み電流を流すと磁化固定層３１１と磁化自由層３１３のスピンの向きが反平行だった場合に平行（高抵抗値から低抵抗値）に変化するものとする。
【００１５】
このような構成を有する不揮発性ＳＲＡＭセル１０の動作を説明する。図２は、不揮発性ＳＲＡＭセル１０の状態遷移を示す図である。不揮発性ＳＲＡＭセル１０は、図示しない制御回路によって、不揮発性ＳＲＡＭセル１０へのアクセスが行われる状態であると判断されると、不揮発性ＳＲＡＭセル１０に電源が供給される状態が継続し、不揮発性ＳＲＡＭセル１０は、ＳＲＡＭとして動作する。（以降では、この状態をＳＲＡＭモードと称する。）このように、不揮発性ＳＲＡＭセル１０をＳＲＡＭモードで動作させることによって、高速なデータの読み書きを行うことができる。
【００１６】
一方、不揮発性ＳＲＡＭセル１０へのアクセスが行われない状態では、ＭＴＪ３１がデータを記憶し、不揮発性ＳＲＡＭセル１０への電源を遮断する（図２の「電源断状態」）。これによって、リーク電流を削減することができる。このように電源を遮断した状態ではＭＴＪ３１がデータを記憶し、電源が供給される状態ではＳＲＡＭがデータを記憶するよう動作するために、不揮発性ＳＲＡＭセル１０の電源を遮断する前にＳＲＡＭのデータをＭＴＪ３１に記憶させる処理（以降では、この処理を行う状態をＳｔｏｒｅモードと称する）を行い、不揮発性ＳＲＡＭセル１０の電源を復帰させたときに、ＭＴＪ３１に記憶されたデータをＳＲＡＭに戻す処理（以降では、この処理を行う状態をＲｅｃａｌｌモードと称する）を行う。
【００１７】
つまり、不揮発性ＳＲＡＭセル１０の状態は次のように変化する。図示しない制御回路によって、不揮発性ＳＲＡＭセル１０へのアクセスが行われる状態であると判断されると、不揮発性ＳＲＡＭセル１０はＳＲＡＭモードとなる。その後、制御回路によって、不揮発性ＳＲＡＭセル１０へのアクセスが行われない状態であると判断されると、ＳＲＡＭモードからＳｔｏｒｅモードへと以降する。そして、Ｓｔｏｒｅモードでの処理終了後に不揮発性ＳＲＡＭセル１０への電源が遮断され、不揮発性ＳＲＡＭセル１０は電源が遮断された状態となる。その後、制御回路によって、不揮発性ＳＲＡＭセル１０へのアクセスが行われる状態に変化すると判断されると、不揮発性ＳＲＡＭセル１０はＲｅｃａｌｌモードとなる。そして、Ｒｅｃａｌｌモードでの処理が終了すると、不揮発性ＳＲＡＭセル１０は、電源遮断前のＳＲＡＭのデータが復帰して、ＳＲＡＭモードにて動作する。
【００１８】
図３は、不揮発性ＳＲＡＭセル１０がＳＲＡＭモードの場合の動作を示す図である。不揮発性セル１をＳＲＡＭモードに設定するには、スイッチ線ＳＬを低電位”Ｌ”に設定し、ＭＴＪ３１の一端が接続された共通電位電極のインピーダンスを高くする。する。すると、第３のトランジスタ２３がＯＦＦの状態となる。そのため、図３の破線で囲った回路がＭＴＪ３１と切り離され、通常のＳＲＡＭと同様の動作をすることができる。つまり、このとき不揮発性ＳＲＡＭセルは揮発的にデータを記憶し、通常のＳＲＡＭセルと同様に高速に動作する。
【００１９】
ＳＲＡＭモードの場合に、不揮発性ＳＲＡＭセル１０にデータを書き込むには、まず書き込み電位に応じて第１および第２のビット線ＢＬ、ＢＬＢの一方を高電位”Ｈ”にし、他方を低電位”Ｌ”にしたうえで、ワード線ＷＬを”Ｈ”に設定する。例えば、第１のビット線ＢＬを”Ｈ”、第２のビット線ＢＬＢを”Ｌ”に設定したとする。この状態で、ワード線ＷＬを”Ｈ”に設定して第１のトランジスタ２１と第２のトランジスタ２２をＯＮにしたときに、第１のインバータ１１の出力（ノードＮ１の電位）は”Ｌ”、第２のインバータ１２の出力（ノードＮ２の電位）は”Ｈ”となる。この状態を、書き込みデータ”１”が記憶された状態であるとする。
【００２０】
一方、第１のビット線ＢＬを”Ｌ”、第２のビット線ＢＬＢを”Ｈ”に設定して、ワード線ＷＬを”Ｈ”に設定すると、第１のインバータ１１の出力（ノードＮ１の電位）は”Ｈ”、第２のインバータ１２の出力（ノードＮ２の電位）は”Ｌ”となる。この状態を、書き込みデータ”０”が記憶された状態であるとする。
【００２１】
ＳＲＡＭモードの場合に、不揮発性ＳＲＡＭセル１０に記憶されたデータを読み出すには、ワード線ＷＬを”Ｈ”に設定して第１のトランジスタ２１と第２のトランジスタ２２をＯＮにする。すると、不揮発性ＳＲＡＭセル１０内に記憶されたデータとその反転値がそれぞれビット線ＢＬ、ＢＬＢに転送される。
【００２２】
図４と図５は、Ｓｔｏｒｅモードの動作を示す図である。図４では、Ｓｔｏｒｅモード開始時に、ＳＲＡＭが”１”を記憶している状態（ノードＮ１が”Ｌ”、ノードＮ２が”Ｈ”の状態）であるとする。そして、ＭＴＪ３１に接続される共通電位電極には基準電源Ｖｄｄの半分の電圧を与える。このとき、第１のインバータ１１および第２のインバータ１２に接続された電源端子Ｖｄｄ、Ｖｓｓは、電源ライン、グランドラインから切り離されて、浮いた状態にする。そして、スイッチ線ＳＬを”Ｈ”に設定して、第３のトランジスタ２３をＯＮ状態とする。すると、ノードＮ２の電位が共通電位電極に与えられた電位（１／２Ｖｄｄ）よりも高い電位”Ｈ”であるため、ＭＴＪ３１の磁化固定層３１１から磁化自由層３１３へ向かう方向に書き込み電流が流れる。これによって、ＭＴＪ３１が低抵抗状態であった場合、ＭＴＪ３１の磁化固定層３１１と磁化自由層３１３のスピンの向きが平行から反平行に変化し、ＭＴＪ３１の抵抗が高抵抗状態に変化する。
【００２３】
一方、図５に示すように、Ｓｔｏｒｅモード開始時に、ＳＲＡＭが”０”を記憶している状態（ノードＮ１が”Ｈ”、ノードＮ２が”Ｌ”の状態）の場合には、ＭＴＪ３１に接続される共通電位電極には基準電源Ｖｄｄの半分の電圧を与え、スイッチ線ＳＬを”Ｈ”に設定して、第３のトランジスタ２３をＯＮ状態とする。すると、ノードＮ２の電位が共通電位電極に与えられた電位（１／２Ｖｄｄ）よりも低い電位”Ｌ”であるため、ＭＴＪ３１の磁化自由層３１３から磁化固定層３１１へ向かう方向に書き込み電流が流れる。これによって、ＭＴＪ３１が高抵抗状態であった場合、ＭＴＪ３１の磁化固定層３１１と磁化自由層３１３のスピンの向きが反平行から平行に変化し、ＭＴＪ３１の抵抗が低抵抗状態に変化する。
【００２４】
図６は、Ｒｅｃａｌｌを実現するための不揮発性ＳＲＡＭセルの回路図である。Ｒｅｃａｌｌを実現するために、不揮発性ＳＲＡＭセル１０ａは、不揮発性ＳＲＡＭセル１０にて説明した構成に加え、第４のトランジスタ２４と第５のトランジスタ２５とを有する。第４のトランジスタ２４は、一端を第２のビット線ＢＬＢに接続し、他端を第２のトランジスタ２２のソースに接続する。第２のビット線ＢＬＢは、グランドに接続する。第５のトランジスタ２５は、一端をＭＴＪ３１に接続し、他端をグランドに接続する。このように構成された不揮発性ＳＲＡＭセル１０ａでは、ＭＴＪ３１の抵抗の大小を利用して、ＭＴＪ３１に記憶されたデータをＳＲＡＭに自動的にＲｅｃａｌｌする。
【００２５】
Ｒｅｃａｌｌを実現するために、第２のトランジスタ２２のオン抵抗値ＲＴＲ２、第３のトランジスタ２３のオン抵抗値ＲＴＲ３、第４のトランジスタ２４のオン抵抗値ＲＴＲ４、第５のトランジスタ２５のオン抵抗値ＲＴＲ５、低抵抗状態のＭＴＪ３１の抵抗値ＲＰ、高抵抗状態のＭＴＪ３１の抵抗値ＲＡＰは、式（１）のような関係となるように設定する。以下、トランジスタの抵抗値と記載した場合、トランジスタのオン抵抗を意味する。  
（ＲＰ＋ＲＴＲ３＋ＲＴＲ５）＜（ＲＴＲ２＋ＲＴＲ４）＜（ＲＡＰ＋ＲＴＲ３＋ＲＴＲ５）  …（１）
すなわち、ノードＮ２からグランドに接続された電極までの間に位置するトランジスタおよびＭＴＪの抵抗の和が、ノードＮ１からグランドに接続された電極までの間に位置するトランジスタの抵抗の和よりも、ＭＴＪが低抵抗状態の場合には小さく、ＭＴＪが高抵抗状態の場合には大きくなるように設定する。
【００２６】
各トランジスタの抵抗値は、トランジスタのチャネルの幅を変更することによって、式（１）を満たすように設定することができる。式（１）のように設定すると、第２〜第５のトランジスタを一斉にＯＮ状態にしたとき、第２のトランジスタ２２および第４のトランジスタ２４を流れる電流ＩＡと、第３のトランジスタ２３、第５のトランジスタ２５、およびＭＴＪ３１を流れる電流ＩＢを比較すると、以下のようになる。
【００２７】
ＭＴＪ３１が反平行状態（高抵抗状態）の場合、（ＲＴＲ２＋ＲＴＲ４）＜（ＲＡＰ＋ＲＴＲ３＋ＲＴＲ５）であるため、電流ＩＡの方が電流ＩＢよりも大きくなる（ＩＢ＜ＩＡ）。これにより、ノードＮ１の方がノードＮ２よりも先に”Ｌ”（つまり０Ｖ）になる。そのため、第２のインバータ１２に”Ｌ”が入力されて、第２のインバータ１２の出力によりノードＮ２が”Ｈ”になる。そのため、ノードＮ２が”Ｈ”、ノードＮ１が”Ｌ”に固定される。これは、ＳＲＡＭに元のデータ”１”がＲｅｃａｌｌされたことを意味する。
【００２８】
一方、ＭＴＪ３１が平行状態（低抵抗状態）の場合、（ＲＰ＋ＲＴＲ３＋ＲＴＲ５）＜（ＲＴＲ２＋ＲＴＲ４）であるため、電流ＩＢの方が電流ＩＡよりも大きくなる（ＩＡ＜ＩＢ）。これにより、ノードＮ２の方がノードＮ１よりも先に”Ｌ”（つまり０Ｖ）になる。そのため、第１のインバータ１１に”Ｌ”が入力されて、第１のインバータ１１の出力によりノードＮ１が”Ｈ”になる。そのため、ノードＮ１が”Ｈ”、ノードＮ２が”Ｌ”に固定される。これは、ＳＲＡＭに元のデータ”０”がＲｅｃａｌｌされたことを意味する。
【００２９】
なお、本実施形態によるＲｅｃａｌｌモードでは、ＭＴＪの抵抗の大小を利用して、ＳＲＡＭにデータをＲｅｃａｌｌするような回路構成にしたが、ＭＴＪからデータを読み出すセンスアンプを設け、ＳＲＡＭモードのデータ書き込み方法にて説明した方法によって、読み出したデータをＳＲＡＭに書き戻すことでＲｅｃａｌｌを行っても良い。
【００３０】
以上のように、本実施形態の不揮発性ＳＲＡＭセルは、キャッシュに対してアクセスが行われる場合には、ＳＲＡＭモードとして高速なデータの読み書きを行い、キャッシュに対するアクセスが行われない場合には、ＭＴＪにデータを記憶させて電源を遮断し、リーク電流を削減することができる。
【００３１】
なお、本実施形態の不揮発性ＳＲＡＭセルは、ＭＲＡＭとして動作させることもできる。図７は、不揮発性ＳＲＡＭセル１０を１ビットのＭＲＡＭとして用いる場合の動作を示す図である。以降では、この状態をＭＲＡＭモードと称する。このとき、第１のインバータ１１および第２のインバータ１２に接続された電源端子Ｖｄｄ、Ｖｓｓは、電源ライン、グランドラインから切り離されて、浮いた状態にする。これは、不揮発ＳＲＡＭセル１０全体として電源ラインとグランドラインから遮断された状態である。これによって、２つのインバータを有してＳＲＡＭとして機能する回路が、電気的な浮遊状態となり、機能しない。そして、図７の破線で囲った回路（第１および第３のトランジスタ２１、２３とＭＴＪ３１から成る回路）が１ビットのＭＲＡＭ回路として動作する。なお、ＭＲＡＭモードのとき、ＭＴＪ３１に接続される共通電位電極には基準電源Ｖｄｄの半分の電圧を与える。
【００３２】
ＭＲＡＭモードの場合に、不揮発性ＳＲＡＭセル１０にデータを書き込むには、ワード線ＷＬを”Ｈ”に設定して第１のトランジスタ２１をＯＮにするとともに、スイッチ線ＳＬを”Ｈ”に設定して第３のトランジスタ２３をＯＮにし、ビット線ＢＬに基準電源Ｖｄｄと同じ電圧または０Ｖのいずれかを、書き込みデータに応じて印加する。これによってＭＴＪ３１に書き込み電流が流れる。
【００３３】
この書き込み電流は、ビット線ＢＬに印加した電圧が基準電源Ｖｄｄと同じ電圧の場合には、磁化固定層３１１から磁化自由層３１３へ向かう方向に流れる。これによって、ＭＴＪ３１が低抵抗状態であった場合、ＭＴＪ３１の磁化固定層３１１と磁化自由層３１３のスピンの向きが平行から反平行に変化し、ＭＴＪ３１の抵抗が高抵抗状態に変化する。
【００３４】
一方、ビット線ＢＬに印加した電圧が０Ｖの場合、書き込み電流は磁化自由層３１３から磁化固定層３１１へ向かう方向に流れる。これによって、ＭＴＪ３１が高抵抗状態であった場合、ＭＴＪ３１の磁化固定層３１１と磁化自由層３１３のスピンの向きが反平行から平行に変化し、ＭＴＪ３１の抵抗が低抵抗状態に変化する。このようにして、ＭＴＪ３１に書き込み電流を流す方向に応じて、ＭＴＪ３１にデータを書き込むことができる。
【００３５】
（変形例１）
上述の実施形態には種種の変形例が考えられる。図８は、第１の実施形態の変形例１に係る不揮発性ＳＲＡＭセル１０ｂのＲｅｃａｌｌの動作を示す。不揮発性ＳＲＡＭセル１０ｂは、ノードＮ１に第３のトランジスタ２３が接続され、第３のトランジスタ２３にＭＴＪ３１が接続される。本変形例のＳＲＡＭモードでは、不揮発性ＳＲＡＭセル１０にて説明した方法（図３参照）と同様の方法で読み込み、書き込みができるため、詳細な説明を省略する。
【００３６】
Ｓｔｏｒｅモードでは、図４、図５にて説明した不揮発性ＳＲＡＭ１０の場合、ＳＲＡＭが記憶しているデータが”１”ならば、ＭＴＪ３１が高抵抗状態となり、データが”０”ならば、ＭＴＪ３１が低抵抗状態になるが、本変形例の不揮発性ＳＲＡＭ１０ｂでは、これとは逆の抵抗状態となる。
【００３７】
例えば、不揮発性ＳＲＡＭセル１０ｂでは、Ｓｔｏｒｅモード開始時に、ノードＮ１が”Ｌ”である（ＳＲＡＭに”１”が記憶されている）と、ノードＮ１の電位は、共通電位電極の電位（１／２Ｖｄｄ）よりも低いため、磁化自由層３１３から磁化固定層３１１へ向かう方向に書き込み電流が流れる。これにより、ＭＴＪ３１が高抵抗状態であった場合、ＭＴＪ３１の磁化固定層３１１と磁化自由層３１３のスピンの向きが反平行から平行に変化し、ＭＴＪ３１の抵抗が低抵抗状態に変化する。一方、ノードＮ１が”Ｈ”である（ＳＲＡＭに”０”が記憶されている）と、磁化固定層３１１から磁化自由層３１３に向かう方向に書き込み電流が流れる。これにより、ＭＴＪ３１が低抵抗状態であった場合に、ＭＴＪ３１の抵抗が高抵抗状態に変化する。
【００３８】
不揮発性ＳＲＡＭセル１０ｂにてＲｅｃａｌｌを行うためには、第１のトランジスタ２１の抵抗値ＲＴＲ１、第３のトランジスタ２３の抵抗値ＲＴＲ３、第４のトランジスタ２４の抵抗値ＲＴＲ４、第５のトランジスタ２５の抵抗値ＲＴＲ５、低抵抗状態のＭＴＪ３１の抵抗値ＲＰ、高抵抗状態のＭＴＪ３１の抵抗値ＲＡＰは、式（２）のような関係となるように設定する。  
（ＲＰ＋ＲＴＲ３＋ＲＴＲ５）＜（ＲＴＲ１＋ＲＴＲ４）＜（ＲＡＰ＋ＲＴＲ３＋ＲＴＲ５）  …（２）
式（２）のように設定することによって、第１および第３〜第５のトランジスタを一斉にＯＮ状態にしたとき、第１のトランジスタ２１および第４のトランジスタ２４を流れる電流ＩＡと、第３のトランジスタ２３、第５のトランジスタ２５およびＭＴＪ３１を流れる電流ＩＢを比較すると、以下のようになる。
【００３９】
ＭＴＪ３１が反平行状態（高抵抗状態）の場合、（ＲＴＲ１＋ＲＴＲ４）＜（ＲＡＰ＋ＲＴＲ３＋ＲＴＲ５）であるため、電流ＩＡの方が電流ＩＢよりも大きくなる（ＩＢ＜ＩＡ）。これにより、ノードＮ２の方がノードＮ１よりも先に”Ｌ”になる。そのため、第１のインバータ１１に”Ｌ”が入力されて、ノードＮ１は”Ｈ”、ノードＮ２は”Ｌ”に固定される。これはつまり、ＳＲＡＭに元のデータ”０”がＲｅｃａｌｌされたことを意味する。
【００４０】
一方、ＭＴＪ３１が平行状態（低抵抗状態）の場合、（ＲＰ＋ＲＴＲ３＋ＲＴＲ５）＜（ＲＴＲ１＋ＲＴＲ４）であるため、電流ＩＢの方が電流ＩＡよりも大きくなる（ＩＡ＜ＩＢ）。これにより、ノードＮ１の方がノードＮ２よりも先に”Ｌ”になる。そのため、第２のインバータ１２に”Ｌ”が入力されて、ノードＮ２は”Ｈ”、ノードＮ１は”Ｌ”に固定される。これはつまり、ＳＲＡＭに元のデータ”１”がＲｅｃａｌｌされたことを意味する。このように、不揮発性ＳＲＡＭセル１０ｂも、不揮発性ＳＲＡＭセル１０ａ（図６参照）と同様の動作をさせることができる。
【００４１】
（変形例２）
図９は、第１の実施形態の変形例２に係る不揮発性ＳＲＡＭセル１０ｃのＲｅｃａｌｌの動作を示す。不揮発性ＳＲＡＭセル１０ｃは、第１のトランジスタ２１に第３のトランジスタ２３の一端が接続され、第３のトランジスタ２３の他端にはＭＴＪ３１が接続される。本変形例のＳＲＡＭモードでは、第１の実施形態におけるＳＲＡＭモード（図３参照）と同様の方法で読み込み、書き込みができるため、詳細な説明を省略する。
【００４２】
不揮発性ＳＲＡＭセル１０ｃのＳｔｏｒｅモードでは、ＭＴＪ３１に接続される共通電位電極には基準電源Ｖｄｄの半分の電圧を与え、第３のトランジスタ２３をＯＮにするとともに、第１のトランジスタ２１をＯＮにする。すると、不揮発性ＳＲＡＭセル１０のＳｔｏｒｅモードにて説明した方法（図４、図５参照）と同様に、ＳＲＡＭに記憶されたデータをＭＴＪ３１に記憶させることができる。
【００４３】
不揮発性ＳＲＡＭセル１０ｃにてＲｅｃａｌｌを行うために、第１のトランジスタ２１の抵抗値ＲＴＲ１、第２のトランジスタ２２の抵抗値ＲＴＲ２、第３のトランジスタ２３の抵抗値ＲＴＲ３、第４のトランジスタ２４の抵抗値ＲＴＲ４、第５のトランジスタ２５の抵抗値ＲＴＲ５、低抵抗状態のＭＴＪ３１の抵抗値ＲＰ、高抵抗状態のＭＴＪ３１の抵抗値ＲＡＰは、式（３）のような関係となるように設定する。  
（ＲＰ＋ＲＴＲ１＋ＲＴＲ３＋ＲＴＲ５）＜（ＲＴＲ２＋ＲＴＲ４）＜（ＲＡＰ＋ＲＴＲ１＋ＲＴＲ３＋ＲＴＲ５）  …（３）
式（３）のように設定することによって、第１〜第５のトランジスタを一斉にＯＮ状態にしたとき、第２のトランジスタ２２および第４のトランジスタ２４を流れる電流ＩＡと、第１のトランジスタ２１、第３のトランジスタ２３、第５のトランジスタ２５およびＭＴＪ３１を流れる電流ＩＢを比較すると、以下のようになる。
【００４４】
ＭＴＪ３１が反平行状態（高抵抗状態）の場合、（ＲＴＲ２＋ＲＴＲ４）＜（ＲＡＰ＋ＲＴＲ１＋ＲＴＲ３＋ＲＴＲ５）であるため、電流ＩＡの方が電流ＩＢよりも大きくなる（ＩＢ＜ＩＡ）。これにより、ノードＮ１の方がノードＮ２よりも先に”Ｌ”になる。そのため、第２のインバータ１２に”Ｌ”が入力されて、ノードＮ２は”Ｈ”、ノードＮ１は”Ｌ”に固定される。これはつまり、ＳＲＡＭに元のデータ”１”がＲｅｃａｌｌされたことを意味する。
【００４５】
一方、ＭＴＪ３１が平行状態（低抵抗状態）の場合、（ＲＰ＋ＲＴＲ１＋ＲＴＲ３＋ＲＴＲ５）＜（ＲＴＲ２＋ＲＴＲ４）であるため、電流ＩＢの方が電流ＩＡよりも大きくなる（ＩＡ＜ＩＢ）。これにより、ノードＮ２の方がノードＮ１よりも先に”Ｌ”になる。そのため、第１のインバータ１１に”Ｌ”が入力されて、ノードＮ１は”Ｈ”、ノードＮ２は”Ｌ”に固定される。これはつまり、ＳＲＡＭに元のデータ”０”がＲｅｃａｌｌされたことを意味する。このように、不揮発性ＳＲＡＭセル１０ｃも、不揮発性ＳＲＡＭセル１０ａ（図６参照）と同様の動作をさせることができる。
【００４６】
なお、図１０に示すように、第２のトランジスタ２２に対して第３のトランジスタ２３の一端を接続し、第３のトランジスタ２３の他端にＭＴＪ３１を接続する構成にしても良い。この場合、Ｓｔｏｒｅモードでは、ＳＲＡＭが記憶しているデータが”１”ならば、ＭＴＪ３１が低抵抗状態となり、データが”０”ならば、ＭＴＪ３１が高抵抗状態になる。また、Ｒｅｃａｌｌモードを実現するためには、式（４）のような関係となるように各トランジスタの抵抗値を設定する。  
（ＲＰ＋ＲＴＲ２＋ＲＴＲ３＋ＲＴＲ５）＜（ＲＴＲ１＋ＲＴＲ４）＜（ＲＡＰ＋ＲＴＲ２＋ＲＴＲ３＋ＲＴＲ５）  …（４）
これによって、図１０に示す不揮発性ＳＲＡＭセル１０ｄも、不揮発性ＳＲＡＭセル１０ａ（図６参照）と同様の動作をさせることができる。
【００４７】
なお、本実施形態では、ＭＴＪ３１の磁化固定層３１１が第３のトランジスタ２３に接続され、磁化自由層３１３が共通電位電極に接続されるとして説明したが、磁化固定層３１１が共通電位電極に接続され、磁化自由層３１３が第３のトランジスタ２３に接続されても良い。
【００４８】
（第２の実施形態）
図１１は、上述の不揮発性ＳＲＡＭセルを用いた不揮発性ＳＲＡＭの基本構成を示す図である。複数の不揮発性ＳＲＡＭセルＭＣがアレイ状に配置され、メモリセルアレイ１０１を構成する。メモリセルアレイ１０１には、メモリセルアレイ１０１の複数のワード線ＷＬの１つを選択するロウデコーダ１０２が接続される。また、メモリセルアレイ１０１には、センスアンプ１０３が接続され、センスアンプ１０３には、入出力回路１０４が接続される。
【００４９】
また、ＢＬおよびＢＬＢから成り、メモリセルアレイ１０１に複数含まれるビット線対のうち、１対を選択するカラムデコーダ１０５も設ける。カラムデコーダ１０５は、選択したビット線対の情報を入出力回路１０４およびセンスアンプ１０３に出力する。不揮発性ＳＲＡＭのメモリセルからデータを読み出す際には、カラムデコーダ１０５によって指定されたビット線対に、メモリセルＭＣのデータが出力され、このデータをセンスアンプ１０３によって増幅し、入出力回路１０４から出力する。不揮発性ＳＲＡＭのメモリセルにデータを書き込む際には、書き込み対象のデータが入出力回路１０４に供給され、カラムデコーダ１０５によってビット線対が選択されると、そのビット線対とロウデコーダ１０２によって選択されたワード線ＷＬとが交差するメモリセルにデータが書き込まれる。
【００５０】
図１２は、この不揮発性ＳＲＡＭをキャッシュとして用いた情報処理装置（ＰＣ等）を示すブロック図である。この例では、プロセッサ２１０に含まれるＬ２キャッシュ２１４として不揮発性ＳＲＡＭを用いる。Ｌ２キャッシュは、プロセッサ２１０内のプロセッサエレメント２１１と比較してアクセスされる頻度が低い。そこで、プロセッサコア２１３にてＬ２キャッシュ２１４の電源を遮断することができることを判断し、不揮発性ＳＲＡＭから成るＬ２キャッシュ２１４の電源を遮断することによって、消費電力を削減することができる。
【００５１】
（第３の実施形態）
図１３は、上述の不揮発性ＳＲＡＭセルを用いたＦＰＧＡ（Field-Programmable Gate Array）の第一例である。このＦＰＧＡでは、不揮発性ＳＲＡＭセルＭＣがアレイ状に配置され、メモリセルアレイ１２１を構成する。図１３に示すように、不揮発性ＳＲＡＭセルＭＣに記憶されるデータは、ＦＰＧＡのＬＵＴ（Look Up Table）やマルチプレクサの切り替えとして用いることができる。
【００５２】
図１４は、上述の不揮発性ＳＲＡＭセルを用いたＦＰＧＡの第二例である。このＦＰＧＡでは、不揮発性ＳＲＡＭセルＭＣがアレイ状に配置され、メモリセルアレイ１４１を構成する。この例では、不揮発性ＳＲＡＭセルＭＣに記憶されるデータを、ＦＰＧＡのスイッチブロックのトランジスタを制御するデータとして用いる場合を示している。
【００５３】
以上、本発明のいくつかの実施形態を説明したが、これらの実施形態は例として提示したものである。上記実施形態に限定されることはなく、本発明の要旨を逸脱しない範囲において、適宜変更しても良い。
【符号の説明】
【００５４】
１０，１０ａ…不揮発ＳＲＡＭセル、  １１，１２…インバータ、  ２１，２２，２３，２４，２５…トランジスタ、  ３１…ＭＴＪ、  １０１，１２１，１４１…メモリセルアレイ、  １０２…ロウデコーダ、  １０３…センスアンプ、  １０４…入出力回路、  １０５…カラムデコーダ、  ２１０…プロセッサ、  ２１１…プロセッサエレメント、  ２１２…Ｌ１キャッシュ、  ２１３…プロセッサコア、  ２１４…Ｌ２キャッシュ、  ２２０…メインメモリ、  ２３０…ハードディスク、  ２４０…入出力装置、  ２５０…不揮発性メモリ、  ３１１…磁化固定層、  ３１２…非磁性層、  ３１３…磁化自由層
【図１】
0005597169.tif 000002
【図２】
0005597169.tif 000003
【図３】
0005597169.tif 000004
【図４】
0005597169.tif 000005
【図５】
0005597169.tif 000006
【図６】
0005597169.tif 000007
【図７】
0005597169.tif 000008
【図８】
0005597169.tif 000009
【図９】
0005597169.tif 000010
【図１０】
0005597169.tif 000011
【図１１】
0005597169.tif 000012
【図１２】
0005597169.tif 000013
【図１３】
0005597169.tif 000014
【図１４】
0005597169.tif 000015