(57)【要約】【課題】ストアとリストアを利用してエラー耐性を向上させることができる不揮発性ラッチ装置及び不揮発性フリップフロップ装置を提供する。【解決手段】ストア時に、ストア回路２８は、出力されている出力データＱに応じて、スレーブラッチ回路２１、２２、ウィークキーパ回路２４のそれぞれに設けた不揮発性記憶部２５〜２７の各ＭＴＪ素子Ｊ１０、Ｊ１１、Ｊ２０、Ｊ２１、Ｊ３０、Ｊ３１に流す書込電流の向きを変え、出力データＱに応じたデータを記憶する。リストア時に、不揮発性記憶部２５〜２７に記憶されているデータを対応する回路に復元することで、リストア後には、スレーブラッチ回路２１、２２に正常なデータを保持した状態にする。【選択図】図２
2018107626.tif 000002
【特許請求の範囲】
【請求項１】
第１ないし第３端子を有し、前記第２端子と前記第３端子との間に流れる書込電流の向きによって第１磁化状態または第２磁化状態になるとともに、前記第１磁化状態と前記第２磁化状態とで前記第１端子と前記第２及び前記第３端子との間の抵抗が異なるＭＴＪ素子を用いた不揮発性ラッチ装置において、
１ビットデータをラッチする複数のラッチ回路と、
前記複数のラッチ回路からの出力がそれぞれ入力されるＣエレメント回路と、
前記Ｃエレメント回路の出力する１ビットデータを保持するウィークキーパ回路と、
第１の前記ＭＴＪ素子を有し、前記複数のラッチ回路のそれぞれに設けられた複数の第１不揮発性記憶部と、
前記ウィークキーパ回路に接続され、第２の前記ＭＴＪ素子を有する第２不揮発性記憶部と、
データのストア時に、前記ウィークキーパ回路が保持した１ビットデータが「１」のときの前記書込電流の向きと「０」のときの前記書込電流の向きとを互いに逆向きにして、前記書込電流を少なくとも２つの前記第１不揮発性記憶部の各前記第１のＭＴＪ素子及び前記第２不揮発性記憶部の前記第２のＭＴＪ素子に流すストア回路と、
データのリストア時に、前記ラッチ回路のそれぞれに、対応する前記第１不揮発性記憶部の前記第１のＭＴＪ素子の磁化状態で定まる１ビットデータを保持させるとともに、前記ウィークキーパ回路に前記第２不揮発性記憶部の前記第２のＭＴＪ素子の磁化状態で定まる１ビットデータを保持させるリストア回路と
を備えることを特徴とする不揮発性ラッチ装置。
【請求項２】
前記第２端子と前記第３端子とを用いて前記第１のＭＴＪ素子及び前記第２のＭＴＪ素子を直列に接続し、前記リストア回路からの前記書込電流を流す経路を形成する配線を有し、
前記ストア回路は、前記ウィークキーパ回路が保持した１ビットデータが「１」のときと「０」のときとで互いに逆向きとなる前記書込電流を前記配線に流す
ことを特徴とする請求項１に記載の不揮発性ラッチ装置。
【請求項３】
前記ラッチ回路は、クロスカップルされた一対の第１のインバータを有し、
前記第１不揮発性記憶部は、前記配線上の同一方向の前記書込電流によって互いに異なる磁化状態になる一対の前記第１のＭＴＪ素子を有し、一方の前記第１のＭＴＪ素子の前記第１端子が一方の前記第１のインバータの入力端に、他方の前記第１のＭＴＪ素子の前記第１端子が他方の前記第１のインバータの入力端にそれぞれ接続され、
前記リストア回路は、データのリストアの際に、前記第１のＭＴＪ素子の前記第２及び前記第３端子をグランドする
ことを特徴とする請求項２に記載の不揮発性ラッチ装置。
【請求項４】
前記ウィークキーパ回路は、クロスカップルされた一対の第２のインバータを有し、
前記第２不揮発性記憶部は、前記配線上の同一方向の前記書込電流によって互いに異なる磁化状態になる一対の前記第２のＭＴＪ素子を有し、一方の前記第２のＭＴＪ素子の前記第１端子が一方の前記第２のインバータの負側電源端に、他方の前記第２のＭＴＪ素子の前記第１端子が他方の前記第２のインバータの負側電源端にそれぞれ接続され、
前記リストア回路は、前記一対の第２のインバータの入力端同士を短絡するとともに、前記第２のＭＴＪ素子の前記第２及び前記第３端子をグランドする
ことを特徴とする請求項２または３に記載の不揮発性ラッチ装置。
【請求項５】
前記リストア回路は、オンにより前記配線をグランドするグランド用トランジスタを有し、データのストアの際に前記グランド用トランジスタをオンとすることを特徴とする請求項３または４に記載の不揮発性ラッチ装置。
【請求項６】
請求項１ないし請求項５のいずれか１項に記載の不揮発性ラッチ装置からなるスレーブラッチ部と、
入力される信号をラッチして前記スレーブラッチ部に出力するマスタラッチ部と
を備えることを特徴とする不揮発性フリップフロップ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、不揮発性ラッチ装置及び不揮発性フリップフロップ装置に関する。
【背景技術】
【０００２】
マスタスレーブ型のフリップフロップ装置にＭＴＪ（Magnetic Tunnel Junction）素子を組み合わせた不揮発性フリップフロップ装置が知られている（例えば、非特許文献１を参照）。図１５に示すように、非特許文献１に記載された不揮発性フリップフロップ装置９０は、マスタラッチ回路９１と、スレーブラッチ回路９２と、このスレーブラッチ回路９２に接続された不揮発性記憶回路９３とを有している。
【０００３】
マスタラッチ回路９１、スレーブラッチ回路９２は、これまでのラッチ回路と同様に、一対のインバータをクロスカップルした構成である。不揮発性記憶回路９３は、３端子型のＭＴＪ素子Ｊ４０、Ｊ４１や、３端子型のＭＴＪ素子Ｊ４０、Ｊ４１に書込電流を流すためトランジスタＭ６１〜Ｍ６４等で構成されている。３端子型のＭＴＪ素子Ｊ４０、Ｊ４１は、第２端子Ｐ２と第３端子Ｐ３との間に流す書込電流の向きに応じて磁化状態が変化し、書込電流の停止後にもその磁化状態を維持する。また、ＭＴＪ素子Ｊ４０、Ｊ４１は、その磁化状態に応じて第１端子Ｐ１と第２及び第３端子Ｐ２、Ｐ３との間の抵抗が変化する。
【０００４】
不揮発性フリップフロップ装置９０は、例えば電源を遮断する直前に、スレーブラッチ回路９２のデータを不揮発性記憶回路９３に記憶させるストア動作を行い、電源復帰後に不揮発性記憶回路９３に記憶したデータをスレーブラッチ回路９２に復元するリストア動作を行う。ストア動作では、スレーブラッチ回路９２に入力されている１ビットのデータ（「１」または「０」）に応じて、ＭＴＪ素子Ｊ４０、Ｊ４１に流す書込電流の向きを変えることによって、スレーブラッチ回路９２が保持しているデータに応じた磁化状態にＭＴＪ素子Ｊ４０、Ｊ４１の磁化状態を変化させる。また、リストア動作では、スレーブラッチ回路９２を構成するインバータ９４、９５の入力端同士を一時的に短絡することにより、インバータ９４、９５の入力端の初期の電位をＭＴＪ素子Ｊ４０、Ｊ４１の抵抗に応じたものとして、不揮発性記憶回路９３に記憶したデータに応じた状態にインバータ９４、９５を遷移させている。
【０００５】
一方、半導体集積回路は、その製造プロセスの微細化技術の向上にともなって、ソフトエラーの発生が問題になっている。ソフトエラーは、一過性のものであり、半導体集積回路を故障させるものではないが、データを反転させる等の演算エラー、制御エラー等を引き起こす原因になる。このため、時間・空間冗長性を持たせることでエラー耐性を高めたＢＩＳＥＲ型のフリップフロップ装置が知られている（非特許文献２を参照）。
【０００６】
非特許文献２に記載されたフリップフロップ装置は、マスタラッチ部とスレーブラッチ部とから構成され、これらラッチ部は、いずれも一対のラッチ回路と、一方のマスタラッチ回路へのデータ入力を遅延させる遅延回路と、Ｃエレメント回路と、ウィークキーパ回路とを有している。Ｃエレメント回路は、一対のマスタラッチ回路が出力する各データが一致しているときに、そのデータを出力し、各データが一致しないときには出力をハイインピーダンスにする。ウィークキーパ回路は、Ｃエレメント回路が出力をハイインピーダンスとなったときに、出力データとしてＣエレメント回路が直前に出力していたデータを保持されるようにしたものである。
【先行技術文献】
【非特許文献】
【０００７】
【非特許文献１】N. Sakimura, T. Sugibayashi, R. Nebashi, N. Kasai, "Nonvolatile magnetic flip-flop for standby-power-free SoCs", IEEE J. Solid-State Circuits, vol. 44, no. 8, pp. 2244-2250, 2009/07.
【非特許文献２】J. Furuta, K. Kobayashi, and H. Onodera “An Area/Delay Efficient Dual-Modular Flip-Flop with Higher SEU/SET Immunity”IEICE Trans. on Electronics, vol.E93-C, no. 3, pp. 340-346, 2010/03
【発明の概要】
【発明が解決しようとする課題】
【０００８】
ところで、上記のようなＢＩＳＥＲ構造のフリップフロップ装置において、そのスレーブラッチ部に非特許文献１の技術を適用することで、不揮発性フリップフロップ装置のエラー耐性を高くすることが考えられる。この場合、スレーブラッチ部の一対のラッチ回路とウィークキーパ回路のそれぞれに不揮発性記憶回路を設け、各回路に保持されているデータを対応する不揮発性記憶回路に記憶させる構成が考えられる。しかしながら、このような構成にした場合、ストア動作時に一対のラッチ回路のうちの一方のラッチ回路が正常なデータに対して反転したデータを保持しているときには、その反転しているデータが不揮発性記憶回路に記憶される。そして、リストア動作で、その反転したデータが一方のスレーブラッチ回路に復元される。この結果、リストア動作後にも一方のスレーブラッチ回路が反転したデータをラッチした状態になるので、一対のスレーブラッチ回路のデータが同時に反転した状態になる確率は、ストア動作前とリストア動作後では特に変化しない。
【０００９】
本発明は、上記事情を鑑みてなされたものであり、ストアとリストアを利用してエラー耐性を向上させることができる不揮発性ラッチ装置及び不揮発性フリップフロップ装置を提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明は、第１ないし第３端子を有し、第２端子と第３端子との間に流れる書込電流の向きによって第１磁化状態または第２磁化状態になるとともに、第１磁化状態と第２磁化状態とで第１端子と第２及び第３端子との間の抵抗が異なるＭＴＪ素子を用いた不揮発性ラッチ装置において、１ビットデータをラッチする複数のラッチ回路と、複数のラッチ回路からの出力がそれぞれ入力されるＣエレメント回路と、Ｃエレメント回路の出力する１ビットデータを保持するウィークキーパ回路と、第１のＭＴＪ素子を有し、複数のラッチ回路のそれぞれに設けられた複数の第１不揮発性記憶部と、ウィークキーパ回路に接続され、第２のＭＴＪ素子を有する第２不揮発性記憶部と、データのストア時に、ウィークキーパ回路が保持した１ビットデータが「１」のときの書込電流の向きと「０」のときの書込電流の向きとを互いに逆向きにして、書込電流を少なくとも２つの第１不揮発性記憶部の各第１のＭＴＪ素子及び第２不揮発性記憶部の第２のＭＴＪ素子に流すストア回路と、データのリストア時に、ラッチ回路のそれぞれに、対応する第１不揮発性記憶部の第１のＭＴＪ素子の磁化状態で定まる１ビットデータを保持させるとともに、ウィークキーパ回路に第２不揮発性記憶部の第２のＭＴＪ素子の磁化状態で定まる１ビットデータを保持させるリストア回路とを備えるものである。
【００１１】
また、本発明の不揮発性フリップフロップ装置は、上記の不揮発性ラッチ装置からなるスレーブラッチ部と、入力される信号をラッチしてスレーブラッチ部に出力するマスタラッチ部とを備えるものである。
【発明の効果】
【００１２】
本発明によれば、ストア時には、第１及び第２のＭＴＪ素子を、ウィークキーパ回路が保持している１ビットデータに応じた磁化状態にし、リストア時に第１及び第２のＭＴＪ素子の磁化状態に応じたデータを各ラッチ回路とウィークキーパ回路に復元するので、ストア時に各ラッチ回路のいずれか一方の保持するデータが反転して誤ったデータになっていても、リストア後には正常なデータを保持した状態になる。このため、各ラッチ回路が同時に反転した誤ったデータになる確率が小さくなり、エラー耐性を向上させることができる。
【図面の簡単な説明】
【００１３】
【図１】本発明を実施した不揮発性フリップフロップ装置の構成を示すブロック図である。
【図２】スレーブラッチ部の構成を示す回路図である。
【図３】３端子型のＭＴＪ素子の構成を示す斜視図である。
【図４】３端子型のＭＴＪ素子へのデータ書き込みの状態を示す説明図である。
【図５】３端子型のＭＴＪ素子の書込電流を流す時間と、磁化状態が反転する確率を示すグラフである。
【図６】スレーブラッチ回路とＭＴＪ素子との接続を示す回路図である。
【図７】ストア・リストアによりデータが訂正される状態を示す動作波形図である。
【図８】参考例のスレーブラッチ部の構成を示す回路図である。
【図９】ソフトエラーがない場合における書込時間とリストアエラーの発生確率との関係を示すグラフである。
【図１０】ソフトエラーがない場合における書込エネルギーとリストアエラーの発生確率との関係を示すグラフである。
【図１１】ソフトエラーレートを１０-６とした場合における書込エネルギーとリストアエラーの発生確率との関係を示すグラフである。
【図１２】ソフトエラーレートを１０-３とした場合における書込エネルギーとリストアエラーの発生確率との関係を示すグラフである。
【図１３】ソフトエラーレートを１０-６とした場合における１日当たりのストア／リストア回数とＦＩＴとの関係を示すグラフである。
【図１４】ソフトエラーレートを１０-３とした場合における１日当たりのストア／リストア回数とＦＩＴとの関係を示すグラフである。
【図１５】従来の不揮発性フリップフロップ装置の構成を示すブロック図である。
【発明を実施するための形態】
【００１４】
図１において、本発明を実施した不揮発性フリップフロップ装置１０は、マスタラッチ部１１とスレーブラッチ部１２とを有するＢＩＳＥＲ構造のマスタ−スレーブ型フリップフロップ回路である。この不揮発性フリップフロップ装置１０では、スレーブラッチ部１２を不揮発性として構成しており、スレーブラッチ部１２が不揮発性ラッチ装置に相当する。なお、以下では、データ「１」が信号レベルのＨ（High）レベルであり、データ「０」が信号レベルのＬ（Low）レベルであるとして説明する。
【００１５】
不揮発性フリップフロップ装置１０は、制御部１４からのクロック（ＣＬＫ）、ストア信号（ＷＣＫ）、リストア信号（／ＲＥ）を受けて動作する。制御部１４は、通常動作では、クロック信号を周期的にＨレベルとＬレベルとに変化させる。また、詳細を後述するように、ストア信号、リストア信号は、スレーブラッチ部１２においてデータのストア、リストアを行うためのものである。制御部１４は、ストアの際にストア信号をアクテイブ（Ｈレベル）とし、リストアの際にリストア信号をアクテイブ（Ｌレベル）とする。例えばストアは、不揮発性フリップフロップ装置１０の電源供給端への電源電圧ＶＤＤが遮断（オフ）とされる直前に行われ、リストアは電源復帰時に行われる。制御部１４は、不揮発性フリップフロップ装置１０の電源を制御する。
【００１６】
マスタラッチ部１１は、一対のマスタラッチ回路１５、１６と、遅延回路ＤＥ１と、Ｃエレメント回路１８と、ウィークキーパ回路１９とを備えている。マスタラッチ回路１５は、それらの入力端に１ビットデータ（「１」または「０」）である入力データＤが入力され、クロックに応じて入力データＤをラッチ（保持）する。また、マスタラッチ回路１６は、その入力端に遅延回路ＤＥ１を介して入力データＤが入力され、クロックに応じて入力データＤをラッチする。
【００１７】
遅延回路ＤＥ１は、所定の遅延時間だけ入力データＤを遅延させてマスタラッチ回路１６に入力する。マスタラッチ回路１６は、その動作は上記マスタラッチ回路１６と同じであるが、遅延回路ＤＥ１を介して入力データＤが入力される分だけ遅れて入力データＤをラッチする。これにより、マスタラッチ回路１５、１６がＳＥＴ（Single Event Transient）によるパルス（以下、ＳＥＴパルスという）をそれぞれラッチすることがないようにしている。
【００１８】
なお、ＳＥＴとは、ソフトエラーの一種であり、高エネルギー粒子が組み合わせ回路に衝突してパルスを発生させる現象である。また、ソフトエラーとしては、この他に高エネルギー粒子がフリップフロップ回路やＳＲＡＭが保持しているデータを直接に反転させるＳＥＵ(Single Event Upset)や、同時に複数のＳＲＡＭ等のデータが反転するＭＣＵ(Multiple Cell Upset)等がある。
【００１９】
Ｃエレメント回路１８とウィークキーパ回路１９は、入力される複数のデータが「１」または「０」のいずれか一方に揃ったときのみ、出力するデータを入力されたデータに応じて変化させるものであり、入力される複数のデータが揃っていない場合には、出力をそれまでのデータに保持する回路である。
【００２０】
Ｃエレメント回路１８は、ＰＭＯＳのＦＥＴ（Field effect transistor）であるトランジスタＭ１、Ｍ２と、ＮＭＯＳのＦＥＴであるトランジスタＭ３、Ｍ４とから構成されている。このＣエレメント回路１８は、電源電圧ＶＤＤを供給する電源供給端とグランドとの間に、電源供給端側からトランジスタＭ１、Ｍ２、Ｍ３、Ｍ４をその順番で直列に接続してある。トランジスタＭ１、Ｍ３のゲートには、マスタラッチ回路１５の出力端が、トランジスタＭ２、Ｍ４のゲートには、マスタラッチ回路１６の出力端がそれぞれ接続され、トランジスタＭ２、Ｍ３のドレイン同士の接続点ｎ１がスレーブラッチ部１２の入力として接続されている。
【００２１】
このように接続されたＣエレメント回路１８は、マスタラッチ回路１５、１６が同じデータを出力しているときにだけ、トランジスタＭ１、Ｍ２がオンしＭ３、Ｍ４がオフし、またはトランジスタＭ１、Ｍ２がオフしＭ３、Ｍ４がオンして、そのデータを反転したデータＸＤを接続点ｎ１から出力する。一方、マスタラッチ回路１５、１６から異なるデータが出力されているときには、Ｃエレメント回路１８は、トランジスタＭ１、Ｍ３またはトランジスタＭ２、Ｍ４のいずれか一方がオフとなるためデータを出力せず、接続点ｎ１をハイインピーダンスにする。
【００２２】
ウィークキーパ回路１９は、接続点ｎ１がハイインピーダンスである場合に、そのハイインピーダンスとなる直前のデータにデータＸＤを固定する。このウィークキーパ回路１９は、互いに入力端と出力端とが接続された、すなわちクロスカップルされたインバータ１９ａ、１９ｂから構成され、双安定マルチバイブレータ（以下、単にマルチバイブレータという）を形成する。インバータ１９ａの入力端が接続点ｎ１に接続されている。ウィークキーパ回路１９は、接続点ｎ１から出力されているデータＸＤを保持し、接続点ｎ１がハイインピーダンスとなった場合に、接続点ｎ１の電位を保持しているデータＸＤに応じたものにする。これにより、接続点ｎ１がハイインピーダンスとなった場合に、そのハイインピーダンスとなる前までのデータＸＤが継続してスレーブラッチ部１２に入力される。
【００２３】
上記のＣエレメント回路１８とウィークキーパ回路１９とにより、マスタラッチ回路１５、１６の一方のラッチしたデータが反転してもエラーにならないようにしている。すなわち、反転したデータをマスキングしている。このように構成されたマスタラッチ部１１は、結果的に一対のマスタラッチ回路１５、１６が保持しているデータとウィークキーパ回路１９が保持しているデータのうち２個以上のデータが一致する当該データを出力することに相当する。なお、このような効果は、詳細を後述するスレーブラッチ部１２と同様である。
【００２４】
図２に示すように、スレーブラッチ部１２は、一対のスレーブラッチ回路２１、２２、遅延回路ＤＥ２、Ｃエレメント回路２３、ウィークキーパ回路２４、不揮発性記憶部（以下、単に記憶部という）２５〜２７、ストア回路２８、リストア回路２９等で構成される。
【００２５】
スレーブラッチ回路２１は、ＮＭＯＳのＦＥＴであるトランジスタＭ１１、Ｍ１２と、インバータ２１ａ〜２１ｃで構成されている。トランスファゲートであるトランジスタＭ１１は、そのドレインがマスタラッチ部１１に接続されてデータＸＤが入力される。第１のインバータとしてのインバータ２１ａ、２１ｂは、互いに入力端と出力端とが接続されてクロスカップルされており、マルチバイブレータＭＶ１を形成している。
【００２６】
マルチバイブレータＭＶ１は、インバータ２１ａの入力端とインバータ２１ｂの出力端とが接続された接続点ｎａ１にトランジスタＭ１１を介してデータＸＤが入力される。また、インバータ２１ｂの入力端とインバータ２１ａの出力端とが接続された接続点ｎｂ１にインバータ２１ｃとトランジスタＭ１２とを介してデータＸＤを反転したデータＸＤｂが入力される。マルチバイブレータＭＶ１は、接続点ｎｂ１がスレーブラッチ回路２１の出力端とされて後段のインバータ３１に接続されている。
【００２７】
スレーブラッチ回路２２は、スレーブラッチ回路２１と同様な構成であり、トランジスタＭ１３、Ｍ１４、インバータ２２ａ〜２２ｃを備えている。インバータ２２ａ、２２ｂは、クロスカップルされてマルチバイブレータＭＶ２を形成している。マルチバイブレータＭＶ２は、インバータ２２ａの入力端とインバータ２２ｂの出力端とが接続された接続点ｎａ２にトランジスタＭ１３を介してデータＸＤが入力される。また、インバータ２２ｂの入力端とインバータ２２ａの出力端とが接続された接続点ｎｂ２に、インバータ２２ｃとトランジスタＭ１４とを介してデータＸＤｂが入力される。
【００２８】
スレーブラッチ回路２１、２２は、マスタラッチ回路１５、１６と同様に、クロックに応じてデータＸＤをラッチする。すなわち、スレーブラッチ回路２１、２２は、クロックがＨレベルからＬレベルに変化すると、その変化直前のデータＸＤをマルチバイブレータＭＶ１、ＭＶ２に保持して、保持したデータＸＤを反転したデータＸＤｂを出力する。なお、スレーブラッチ回路２１、２２は、クロックがＨレベルの間では、入力されているデータＸＤを反転したデータＸＤｂを出力する。
【００２９】
遅延回路ＤＥ２は、所定の遅延時間だけデータＸＤを遅延させてスレーブラッチ回路２２に入力する。この遅延回路ＤＥ２によって、スレーブラッチ回路２１、２２が同一のＳＥＴパルスを同時にラッチすることがないようにしている。なお、遅延回路ＤＥ２による遅延時間は、クロックの同一の立ち上がりでスレーブラッチ回路２１、２２がそれぞれデータＸＤをラッチすることができる程度の極めて短い時間である。遅延回路ＤＥ１による遅延時間についても同様である。
【００３０】
スレーブラッチ回路２１の出力は、インバータ３１を介してＣエレメント回路２３に入力され、スレーブラッチ回路２２の出力は、インバータ３２を介してＣエレメント回路２３に入力される。なお、インバータ３１を含めてスレーブラッチ回路２１とし、インバータ３２を含めてスレーブラッチ回路２２としてもよい。
【００３１】
Ｃエレメント回路２３は、ＰＭＯＳのＦＥＴであるトランジスタＭ１６〜Ｍ１８と、ＮＭＯＳのＦＥＴであるトランジスタＭ１９〜Ｍ２１とから構成されている。Ｃエレメント回路２３は、電源供給端とグランドとの間に、電源供給端側からトランジスタＭ１６、Ｍ１７、・・・Ｍ２１をその順番で直列に接続してある。Ｃエレメント回路２３は、トランジスタＭ１８、Ｍ１９のドレイン同士の接続点ｎ２がウィークキーパ回路２４に接続されるとともに、スレーブラッチ部１２の出力端とされている。
【００３２】
トランジスタＭ１７、Ｍ１９のゲートには、インバータ３１の出力端が、トランジスタＭ１８、Ｍ２０のゲートには、インバータ３２の出力端がそれぞれ接続されている。また、トランジスタＭ１６は、そのゲートにストア信号が入力され、トランジスタＭ２１は、そのゲートにストア信号をインバータ３３で反転した信号（／ＷＣＫ）が入力される。
【００３３】
上記のように接続されたＣエレメント回路２３は、ストア信号が非アクテイブ（Ｌレベル）となっている場合、前述のマスタラッチ部１１のＣエレメント回路１８と同様に、スレーブラッチ回路２１、２２が同じデータを出力しているときにだけ、スレーブラッチ回路２１、２２が出力しているデータ（「１」または「０」）を接続点ｎ２から出力データＱとして出力する。この出力データＱは、スレーブラッチ部１２の出力、すなわち不揮発性フリップフロップ装置１０の出力となる。また、スレーブラッチ回路２１、２２から異なるデータが出力されているときには、Ｃエレメント回路２３は、トランジスタＭ１７、Ｍ１８またはトランジスタＭ１９、Ｍ２０のいずれか一方がオフとなるため、出力データＱを出力せず、接続点ｎ２をハイインピーダンスにする。
【００３４】
さらに、ストア信号がアクテイブ（Ｈレベル）となっている場合には、Ｃエレメント回路２３は、トランジスタＭ１６、Ｍ２１がそれぞれオフになるため、スレーブラッチ回路２１、２２が出力するデータの異同にかかわらず、接続点ｎ２がハイインピーダンスになる。これにより、後述するストア中にウィークキーパ回路２４の保持したデータが変化することを防止している。
【００３５】
ウィークキーパ回路２４は、トランジスタＭ２４、Ｍ２５で構成されるインバータ３５と、トランジスタＭ２６、Ｍ２７で構成されたインバータ３６とで構成されている。トランジスタＭ２４、Ｍ２６は、ＰＭＯＳのＦＥＴであり、トランジスタＭ２５、Ｍ２７は、ＮＭＯＳのＦＥＴである。
【００３６】
インバータ３５のトランジスタＭ２４は、ソースが電源供給端に接続され、トランジスタＭ２５は、ソースがＭＴＪ素子Ｊ３０、トランジスタＭ３６を介してグランドされ、トランジスタＭ２４、Ｍ２５のドレイン同士が接続されている。また、インバータ３６のトランジスタＭ２６は、ソースが電源供給端に接続され、トランジスタＭ２７は、ソースがＭＴＪ素子Ｊ３１、トランジスタＭ３６を介してグランドされ、トランジスタＭ２６、Ｍ２７のドレイン同士が接続されている。この例では、トランジスタＭ２４のソースがインバータ３５の正側電源端でありトランジスタＭ２５のソースがインバータ３５の負側電源端になる。トランジスタＭ２６のソースがインバータ３６の正側電源端でありトランジスタＭ２７のソースがインバータ３６の負側電源端になる。
【００３７】
第２のインバータとしての上記インバータ３５、３６は、クロスカップルされて、マルチバイブレータを形成している。すなわち、インバータ３５の入力端であるトランジスタＭ２４、Ｍ２５のドレイン同士の接続点ｎａ３とインバータ３６の出力端であるトランジスタＭ２６、Ｍ２７の各ゲートとが接続され、インバータ３６の入力端であるトランジスタＭ２６、Ｍ２７のドレイン同士の接続点ｎｂ３とインバータ３５の出力端であるトランジスタＭ２４、Ｍ２５の各ゲートとが接続されている。
【００３８】
上記のように構成されたウィークキーパ回路２４は、通常動作時では、接続点ｎ２から出力されている出力データＱを保持し、接続点ｎ２がハイインピーダンスとなった場合に、接続点ｎ２の電位を保持している出力データＱに応じたものにする。これにより、接続点ｎ２がハイインピーダンスとなった場合に、そのハイインピーダンスとなる前までの出力データＱを継続して不揮発性フリップフロップ装置１０から出力する。
【００３９】
上記のＣエレメント回路２３とウィークキーパ回路２４とにより、スレーブラッチ回路２１、２２の一方のラッチしたデータが反転してもエラーにならないようにしている。
【００４０】
スレーブラッチ部１２では、スレーブラッチ回路２１に記憶部２５が、スレーブラッチ回路２２に記憶部２６が接続されており、ウィークキーパ回路２４には記憶部２７が接続されている。記憶部２５〜２７は、それが接続された回路が保持するデータを不揮発的に記憶するものである。
【００４１】
記憶部２５は、２個のＭＴＪ（Magnetic Tunnel Junction）素子Ｊ１０、Ｊ１１とから構成されている。記憶部２６、２７についても、ＭＴＪ素子Ｊ２０、Ｊ２１と、ＭＴＪ素子Ｊ３０、Ｊ３１とから構成されている。ＭＴＪ素子Ｊ１０、Ｊ１１、Ｊ２０、Ｊ２１、Ｊ３０、Ｊ３１の構成は同じであるので、以下、ＭＴＪ素子Ｊ１０を例に説明する。なお、この例では記憶部２５、２６が第１不揮発性記憶部であり、記憶部２７が第２不揮発性記憶部である。また、記憶部２５、２６を構成するＭＴＪ素子Ｊ１０、Ｊ１１、Ｊ２０、Ｊ２１が第１のＭＴＪ素子であり、記憶部２７を構成するＭＴＪ素子Ｊ２０、Ｊ２１が第２のＭＴＪ素子である。
【００４２】
図３において、ＭＴＪ素子Ｊ１０は、磁壁移動型のものであり、自由磁性層Ｌ１と自由磁性層Ｌ１上に形成された絶縁体層Ｌ２と、絶縁体層Ｌ２の上に形成された固定磁性層Ｌ３とを有している。また、ＭＴＪ素子Ｊ１０は、固定磁性層Ｌ３の上面に第１端子Ｐ１が設けられ、自由磁性層Ｌ１の下面の長手方向の両端に下部端子である第２端子Ｐ２と第３端子Ｐ３が設けられており、３端子型のものである。
【００４３】
固定磁性層Ｌ３は、磁化方向が一方向に固定されている。例えば、図４（Ａ）、（Ｃ）に示すように、固定磁性層Ｌ３は、右方向（第２端子Ｐ２から第３端子Ｐ３に向かう方向）に磁化方向が固定されている。自由磁性層Ｌ１は、その右側に磁化方向が右方向の磁区があり、左側に磁化方向が左向の磁区がある。図４（Ａ）のように、これら各磁区の境界領域である磁壁Ｗｍが自由磁性層Ｌ１の中央より左側（以下、単に左側という）にある磁化状態が、固定磁性層Ｌ３と自由磁性層Ｌ１との磁化が平行な平行状態であり、図４（Ｃ）のように、磁壁Ｗｍが自由磁性層Ｌ１の中央よりも左側（以下、単に右側という）にある磁化状態が、固定磁性層Ｌ３と自由磁性層Ｌ１との磁化が逆向きの反平行状態である。
【００４４】
ＭＴＪ素子Ｊ１０は、平行状態の場合に、第１端子Ｐ１と下部端子（第２、第３端子Ｐ２、Ｐ３）との間の電気抵抗が低い低抵抗状態であり、磁化方向が反平行状態の場合、第１端子Ｐ１と下部端子との間の電気抵抗が高い高抵抗状態である。この例では、平行状態（低抵抗状態）を１ビットデータの「０」に、反平行状態（高抵抗状態）を１ビットデータの「１」に対応させている。なお、低抵抗状態における低抵抗と高い高抵抗状態の高抵抗とは相対的な高低である。また、例えば、ＭＴＪ素子Ｊ１０は、平行状態が第１磁化状態であり、反平行状態が第２磁化状態である。
【００４５】
磁壁Ｗｍは、自由磁性層Ｌ１に流す電流の向きと反対方向に移動する。このため、例えば、図４（Ａ）に示すように、磁壁Ｗｍが自由磁性層Ｌ１の左側にある状態で、図４（Ｂ）に示すように、第３端子Ｐ３から第２端子Ｐ２方向（左方向）に流れる電流Ｉｗ１を流した場合、図４（Ｃ）に示すように、磁壁Ｗｍは右側に移動して、ＭＴＪ素子Ｊ１０は高抵抗状態になる。また、図４（Ｃ）に示すように、磁壁Ｗｍが自由磁性層Ｌ１の右側にある状態で、図４（Ｄ）に示すように、第２端子Ｐ２から第３端子Ｐ３方向（右方向）に流れる電流Ｉｗ０を流した場合、図４（Ａ）に示すように、磁壁Ｗｍは左側に移動して、ＭＴＪ素子Ｊ１０は低抵抗状態になる。このようにして、ＭＴＪ素子Ｊ１０は、向きの異なる電流Ｉｗ０，Ｉｗ１によって、データ「０」または「１」を記憶させることができる。なお、第２、第３端子Ｐ２、Ｐ３間の電流を停止しても磁化状態が維持され、データを不揮発的に記憶できる。
【００４６】
なお、上記では、自由磁性層Ｌ１、固定磁性層Ｌ３の磁化方向を左右方向としたが、各層に垂直な方向でもよい。各記憶部２５〜２７において、固定磁性層の磁化方向が互いに逆向きの一対のＭＴＪ素子を用いることもできる。
【００４７】
ＭＴＪ素子Ｊ１０は、磁化反転、すなわち平行状態と反平行状態との相互に切り替えは確率的に生じ、磁化反転に必要な書込電流（臨界電流）を流す必要がある。図５に示すように、臨界電流を流す時間（τＰ）を長くすることで、磁化反転の確率Ｐｗは高くなり１００％に近づけることができる。なお、確率が完全に１００％になるわけではないので、極めて低い確率であるが磁化反転が失敗する書込エラーとなる場合がある。
【００４８】
図２に示すように、記憶部２５では、ＭＴＪ素子Ｊ１０の第１端子Ｐ１が接続点ｎｂ１に接続されており、ＭＴＪ素子Ｊ１１の第１端子Ｐ１が接続点ｎａ１に接続されている。また、記憶部２６についても、同様であり、ＭＴＪ素子Ｊ２０の第１端子Ｐ１が接続点ｎｂ２に接続されており、ＭＴＪ素子Ｊ２１の第１端子Ｐ１が接続点ｎａ２に接続されている。記憶部２７では、ＭＴＪ素子Ｊ３０の第１端子Ｐ１がトランジスタＭ２５のソースに接続され、ＭＴＪ素子Ｊ３１の第１端子Ｐ１がトランジスタＭ２７のソースに接続されている。
【００４９】
ＭＴＪ素子Ｊ１０、Ｊ１１、Ｊ２０、Ｊ２１、Ｊ３０、Ｊ３１は、それらの第２端子Ｐ２と第３端子Ｐ３とを用いて、書込電流を流す経路を形成する配線４０により直列に接続されて、ストア回路２８に接続されている。具体的には、ストア回路２８からＭＴＪ素子Ｊ１０の第２端子Ｐ２―ＭＴＪ素子Ｊ１０の第３端子Ｐ３―ＭＴＪ素子Ｊ１１の第３端子Ｐ３―ＭＴＪ素子Ｊ１１の第２端子Ｐ２―ＭＴＪ素子Ｊ２０の第２端子Ｐ２―ＭＴＪ素子Ｊ２０の第３端子Ｐ３―ＭＴＪ素子Ｊ２１の第３端子Ｐ３―ＭＴＪ素子Ｊ２１の第２端子Ｐ２―ＭＴＪ素子Ｊ３１の第３端子Ｐ３―ＭＴＪ素子Ｊ３１の第２端子Ｐ２―ＭＴＪ素子Ｊ３０の第２端子Ｐ２―ＭＴＪ素子Ｊ３０の第３端子Ｐ３を経てストア回路２８に戻るように配線４０によって接続されている。同一のＭＴＪ素子の第２端子Ｐ２と第３端子Ｐ３との間の接続は、自由磁性層Ｌ１によるものである。
【００５０】
上記のように接続することによって、各記憶部２５〜２７のそれぞれにおいては、それを構成する一対のＭＴＪ素子の固定磁性層Ｌ３の磁化方向と第２端子Ｐ２と第３端子Ｐ３との間に流れる向きとの関係を互い逆にしてある。すなわち、配線４０に流れる同一方向の書込電流は、一対のＭＴＪ素子の一方に対しては電流Ｉｗ０となり他方に対しては電流Ｉｗ１となる。
【００５１】
ストア回路２８は、出力データＱ、すなわちウィークキーパ回路２４が保持しているデータに応じた内容を記憶部２５〜２７にストア（記憶）するためのものであり、出力データＱが「１」である場合と「０」である場合とで互いに逆向きの書込電流Ｉａ、Ｉｂのいずか一方を配線４０に流す。書込電流Ｉａは、ストア回路２８からＭＴＪ素子Ｊ１０、ＭＴＪ素子Ｊ１１等を経てストア回路２８に戻る向きの電流である。一方の書込電流Ｉｂは、ストア回路２８からＭＴＪ素子Ｊ３０からＭＴＪ素子Ｊ３１等を経てストア回路２８に戻る向きの電流である。
【００５２】
ストア回路２８は、４個のトランジスタＭ３１〜Ｍ３４と、ＮＯＲ回路４１、４２とを有する。トランジスタＭ３１〜Ｍ３４としては、ＮＭＯＳのＦＥＴが用いられている。トランジスタＭ３１、Ｍ３２と、トランジスタＭ３３、Ｍ３４とは、それぞれ電源供給端とグランドとの間に直列に接続されている。トランジスタＭ３１、Ｍ３２のソースとドレインとの接続点は、ＭＴＪ素子Ｊ３０の第３端子Ｐ３に接続され、トランジスタＭ３３、Ｍ３４のソースとドレインとの接続点は、ＭＴＪ素子Ｊ１０の第２端子Ｐ２に接続されている。また、トランジスタＭ３１、Ｍ３４の各ゲートは、それぞれＮＯＲ回路４２の出力端に接続され、トランジスタＭ３２、Ｍ３３の各ゲートは、それぞれＮＯＲ回路４１の出力端に接続されている。このように接続されたトランジスタＭ３１〜Ｍ３４は、Ｈブリッジを形成しており、配線４０に向きの異なる書込電流Ｉａ、Ｉｂのいずか一方を流す。
【００５３】
ＮＯＲ回路４１、４２は、それぞれ一方の入力端にインバータ３３を介してストア信号を反転した信号が入力される。ＮＯＲ回路４１は、他方の入力端にウィークキーパ回路２４の接続点ｎａ３が接続されて出力データＱが入力され、ＮＯＲ回路４２は、他方の入力端にウィークキーパ回路２４の接続点ｎｂ３が接続されて出力データＱが反転されて入力される。これにより、ストア回路２８は、ストア信号がアクテイブ（Ｈレベル）であるときに、出力データＱが「０」である場合には、書込電流Ｉａを配線４０に流し、出力データＱが「１」である場合には、書込電流Ｉｂを配線４０に流す。
【００５４】
トランジスタＭ３６は、配線４０をグランドするためのグランド用トランジスタであり、ＮＭＯＳのＦＥＴが用いられている。このトランジスタＭ３６は、ドレインが配線４０に接続され、ソースがグランドされている。トランジスタＭ３６のゲートには、インバータ３３を介してストア信号を反転した信号が入力される。これにより、トランジスタＭ３６は、ストア時以外の期間で配線４０をグランドする。トランジスタＭ３６は、リストアの際にもオンとなるので、後述するようにリストア回路２９の一部にもなっている。
【００５５】
リストア回路２９は、リストアの際に、記憶部２７に記憶されたデータをウィークキーパ回路２４にリストア（復元）、すなわち記憶部２７のＭＴＪ素子Ｊ３０，Ｊ３１の磁化状態で定まる１ビットデータをウィークキーパ回路２４に保持させる回路である。リストア回路２９は、ＰＭＯＳのＦＥＴのトランジスタＭ３７と、前述のトランジスタＭ３６とで構成されている。トランジスタＭ３７は、そのソースとドレインの一方がトランジスタＭ２４、Ｍ２５のゲートに、他方がトランジスタＭ２６、Ｍ２７のゲートにそれぞれ接続されている。トランジスタＭ３７は、リストア時にはリストア信号がアクテイブ（Ｌレベル）になることに応答してオンになり、トランジスタＭ２４〜Ｍ２７の各ゲートを互いに接続する。すなわち、インバータ３５、３６の入力端同士を短絡する。トランジスタＭ３７は、オンとなってから所定の時間の経過後にリストア信号が非アクテイブ（Ｈレベル）になることに応答してオフになる。
【００５６】
記憶部２５、２６からスレーブラッチ回路２１、２２へのデータの復元は、制御部１４が電源復帰時にクロックを停止するとともに、ストア信号を非アクテイブによりトランジスタＭ３６をオンとして、ＭＴＪ素子Ｊ１０、Ｊ１１、Ｊ２０、Ｊ２１の第２、第３端子Ｐ２、Ｐ３をグランドすることによって行う。したがって、制御部１４は、リストアの際に、記憶部２５、２６のＭＴＪ素子Ｊ１０，Ｊ１１、ＭＴＪ素子Ｊ２０、Ｊ２１の磁化状態で定まる「１」または「０」の１ビットデータをスレーブラッチ回路２１、２２に保持させるリストア回路である。
【００５７】
以下にスレーブラッチ部１２における通常動作と、ストア及びそれに続くリストアとを順番に説明する。通常動作の場合、制御部１４は、ストア信号（ＷＣＫ）を非アクテイブ（Ｌレベル）、リストア信号（／ＲＥ）を非アクテイブ（Ｈレベル）として、所定の周期でクロックを出力する。
【００５８】
ストア信号がＬレベルであるので、ＮＯＲ回路４１、４２のそれぞれの一方の入力端がインバータ３３によってＨレベルとなる。これによって、ＮＯＲ回路４１、４２の出力がＬレベルとなり、トランジスタＭ３１〜Ｍ３４がそれぞれオフとなる。この結果、ストア回路２８は、配線４０に対して書込電流Ｉａ、Ｉｂのいずれをも流さない非動作状態になる。
【００５９】
また、インバータ３３によって、トランジスタＭ３６のゲートがＨレベルとなるため、オンとなったトランジスタＭ３６により配線４０がグランドされた状態になる。さらに、Ｈレベルのリストア信号によりトランジスタＭ３７がオフとなり、ウィークキーパ回路２４のインバータ３５、３６がクロスカップルされた状態になり、ウィークキーパとして機能する。
【００６０】
クロックに同期して、マスタラッチ部１１からデータＸＤがスレーブラッチ部１２に入力される。マスタラッチ部１１への入力データＤに対応するデータＸＤは、その入力データＤを反転したものになる。したがって、例えば、「１」のマスタラッチ部１１への入力データＤに対応して「０」のデータＸＤがスレーブラッチ部１２に入力され、「０」のマスタラッチ部１１への入力データＤに対応して「１」のデータＸＤがスレーブラッチ部１２に入力される。なお、マスタラッチ部１１の動作は、これまでのＢＩＳＥＲ型のフリップフロップ装置のマスタラッチと同じである。
【００６１】
スレーブラッチ回路２１では、クロックがＨレベルとなっているときにトランジスタＭ１１、Ｍ１２がオンになる。このトランジスタＭ１１、Ｍ１２がオンとなっている間に、マルチバイブレータＭＶ１にデータＸＤが入力され、クロックがＬレベルとなってトランジスタＭ１１、Ｍ１２がオフになると入力中のデータＸＤがマルチバイブレータＭＶ１に保持される。
【００６２】
このとき、マルチバイブレータＭＶ１では、接続点ｎａ１、接続点ｎｂ１の電位がデータＸＤに応じたものになる。例えばデータＸＤが「１」であれば、接続点ｎａ１はＨレベルに、また接続点ｎｂ１はＬレベルに維持される。一方、データＸＤが「０」であれば、接続点ｎａ１はＬレベルに、接続点ｎｂ２はＨレベルに維持される。
【００６３】
スレーブラッチ回路２２には、遅延回路ＤＥ２による遅延により、スレーブラッチ回路２１への入力から僅かに遅れてデータＸＤが入力される。そして、クロックに応答してトランジスタＭ１３、Ｍ１４がオンになっている間に、マルチバイブレータＭＶ２にデータＸＤが入力され、トランジスタＭ１３、Ｍ１４がオフになることによって、入力中のデータＸＤがマルチバイブレータＭＶ２に保持される。このとき、マルチバイブレータＭＶ２の各接続点ｎａ２、ｎｂ２の電位は、接続点ｎａ１、接続点ｎｂ１の電位と同じである。
【００６４】
スレーブラッチ回路２１、２２は、マルチバイブレータＭＶ１、ＭＶ２にデータＸＤが入力されている間では、データＸＤを反転したデータＸＤｂが出力され、トランジスタＭ１１〜Ｍ１４がオフとなった後には、保持したデータＸＤを反転したデータＸＤｂが出力される。そして、これらスレーブラッチ回路２１、２２からの各データＸＤｂは、それぞれ対応するインバータ３１、３２を介して反転されて、Ｃエレメント回路２３に入力される。
【００６５】
例えば、マスタラッチ部１１からのデータＸＤが「１」をラッチした場合、各スレーブラッチ回路２１、２２からはそれぞれデータ「０」が出力される。インバータ３１、３２から出力されるデータをそれぞれデータＳ０、Ｓ１とすると、データＳ０、Ｓ１はいずれも「１」となり、これらがＣエレメント回路２３に入力される。この結果、Ｃエレメント回路２３を構成するトランジスタＭ１６〜Ｍ２１のうち、トランジスタＭ１７、Ｍ１８は、データＳ０、Ｓ１によってそれぞれオフとなり、トランジスタＭ１９、Ｍ２０は、データＳ０、Ｓ１によってそれぞれオンとなる。また、ストア信号がＬレベルであるため、トランジスタＭ１６、Ｍ２１がそれぞれオンになっている。この結果、Ｃエレメント回路２３の接続点ｎ２がグランド（プルダウン）され、Ｃエレメント回路２３からＬレベルすなわちデータ「０」が出力される。
【００６６】
一方、マスタラッチ部１１からのデータＸＤが「０」であった場合には、各スレーブラッチ回路２１、２２からはそれぞれデータ「１」が出力されるから、インバータ３１、３２から出力されるデータＳ０、Ｓ１はいずれも「０」となる。この結果、Ｃエレメント回路２３を構成するトランジスタＭ１６〜Ｍ２１のうち、トランジスタＭ１７、Ｍ１８は、データＳ０、Ｓ１によってそれぞれオンとなり、トランジスタＭ１９、Ｍ２０は、データＳ０、Ｓ１によってそれぞれオフとなる。また、この場合にも、ストア信号がＬレベルであるため、トランジスタＭ１６、Ｍ２１がそれぞれオンになっている。この結果、Ｃエレメント回路２３の接続点ｎ２が電源供給端に接続（プルアップ）され、Ｃエレメント回路２３からＨレベルすなわちデータ「１」が出力される。
【００６７】
上記のＣエレメント回路２３から出力されたデータは、スレーブラッチ部１２の出力データＱとして出力されるとともに、ウィークキーパ回路２４に入力されることにより、そのウィークキーパ回路２４に保持される。例えば、Ｃエレメント回路２３からデータ「１」が出力されている場合には、接続点ｎａ３がＨレベル、接続点ｎｂ３がＬレベルにそれぞれ保持された状態になる。逆に、Ｃエレメント回路２３からデータ「０」が出力されている場合には、接続点ｎａ３がＬレベル、接続点ｎｂ３がＨレベルにそれぞれ保持された状態になる。
【００６８】
スレーブラッチ部１２から出力データＱの出力後、マスタラッチ部１１からのデータＸＤが「１」から「０」へ、また「０」から「１」に変化すれば、上記と同様な手順で各部が動作してＣエレメント回路２３から出力されるデータも変化する。そして、その変化に応じて出力データＱ及びウィークキーパ回路２４に保持されるデータも変化する。
【００６９】
ところで、ソフトエラーが発生した場合、例えば、クロックが立ち上がるときに、スレーブラッチ部１２にＳＥＴパルスが入力された場合、スレーブラッチ回路２１とスレーブラッチ回路２２とでは、ＳＥＴパルスについても相互の入力タイミングがずれるため、そのＳＥＴパルスをラッチして、ラッチしたデータが反転してしまうのは、スレーブラッチ回路２１とスレーブラッチ回路２２のいずれか一方だけにとどまる。また、ＳＥＵによって、既にラッチしているデータが反転してしまうのも、スレーブラッチ回路２１とスレーブラッチ回路２２のいずれか一方だけにとどまる。
【００７０】
以下、上記のようなソフトエラーが発生した場合について、スレーブラッチ回路２２のラッチしているデータが「１」から「０」に反転した場合を例に説明する。なお、この場合、ソフトエラーが発生していなければ、スレーブラッチ回路２１、２２は、いずれもデータ「１」をラッチしてデータ「０」を出力する。また、Ｃエレメント回路２３からは、データ「０」が出力され、これが出力データＱとしてスレーブラッチ部１２から出力されているとともに、ウィークキーパ回路２４はデータ「０」を保持している。
【００７１】
上記のようなソフトエラーが生じると、スレーブラッチ回路２２から出力されるデータが「１」から「０」に変化する。そして、インバータ３２からのデータＳ１が「０」から「１」に変化する。このため、それまでオフであったトランジスタＭ２０がオンとなり、オンであったトランジスタＭ１８がオフとなる。また、このときに、トランジスタＭ１９は、継続してオフとなっている。したがって、トランジスタＭ１８がオフとなる結果、接続点ｎ２は、電源供給端にもグランドにも接続されていないハイインピーダンスになる。
【００７２】
接続点ｎ２がハイインピーダンスになる直前までは、ウィークキーパ回路２４は、Ｃエレメント回路２３からのデータ「０」が入力されており、上述のように、そのデータ「０」を保持した状態にあり接続点ｎａ３はＬレベルである。そして、ウィークキーパ回路２４は、接続点ｎ２がハイインピーダンスになってもデータの保持状態を維持する。結果として、ウィークキーパ回路２４の接続点ｎａ３のＬレベル、すなわちウィークキーパ回路２４が保持しているデータ「０」が出力データＱとして出力され、出力データＱは「０」に維持されソフトエラーの影響を受けない。
【００７３】
なお、ウィークキーパ回路２４が保持しているデータは、それがソフトエラーで反転することも考えられるが。この場合、Ｃエレメント回路２３からの出力が入力されていることによって、その反転は直に修正される正常なデータを保持した状態に維持される。
【００７４】
次にストア及びリストアについて説明する。ストアは、前述のように電源電圧ＶＤＤを遮断する直前に行われる。制御部１４は、ストアのために、クロック（ＣＬＫ）を停止してから、ストア信号（ＷＣＫ）をアクテイブ（Ｈレベル）とする。なお、リストア信号（／ＲＥ）は、非アクテイブが維持される。
【００７５】
Ｈレベルのストア信号は、インバータ３３を介してＬレベルとなり、これがＮＯＲ回路４１、４２のそれぞれの一方の入力端に入力される。一方で、出力データＱ、すなわちウィークキーパ回路２４が保持しているデータに応じて、接続点ｎａ３，ｎｂ３のいずれか一方がＨレベル、他方がＬレベルとなっている。そして、ＮＯＲ回路４１、４２の各々の他方の入力端には、このウィークキーパ回路２４の接続点ｎａ３，ｎｂ３が接続されているから、ＮＯＲ回路４１、４２の一方の出力がＨレベルとなり、他方の出力がＬレベルになる。
【００７６】
例えば、出力データＱが「１」になっている場合には、ウィークキーパ回路２４が保持しているデータが「１」であるので、接続点ｎａ３がＨレベル、接続点ｎｂ３がＬレベルになっている。このため、ＮＯＲ回路４１の出力がＬレベル、ＮＯＲ回路４２の出力がＨレベルとなる。これにより、トランジスタＭ３１、Ｍ３４がオン、トランジスタＭ３２、Ｍ３３がオフとなって、配線４０に書込電流Ｉｂが流れる。
【００７７】
書込電流Ｉｂは、ストア回路２８からＭＴＪ素子Ｊ３０−ＭＴＪ素子Ｊ３１−ＭＴＪ素子Ｊ２１−ＭＴＪ素子Ｊ２０−ＭＴＪ素子Ｊ１１−ＭＴＪ素子Ｊ１０を経てストア回路２８に戻る向きに流れる。そして、このときに書込電流Ｉｂは、ＭＴＪ素子Ｊ１１、Ｊ２１、Ｊ３１では、第２端子Ｐ２から自由磁性層Ｌ１を通って第３端子Ｐ３に向かう方向、すなわち電流Ｉｗ０として流れる。このため、ＭＴＪ素子Ｊ１１、Ｊ２１、Ｊ３１は、それぞれ低抵抗状態になり、データ「０」が記憶される。また、書込電流Ｉｂは、ＭＴＪ素子Ｊ１０、Ｊ２０、Ｊ３０では、第３端子Ｐ３から自由磁性層Ｌ１を通って第２端子Ｐ２に向かう方向、すなわち電流Ｉｗ１として流れる。このため、ＭＴＪ素子Ｊ１０、Ｊ２０、Ｊ３０は、それぞれ高抵抗状態になり、データ「１」が記憶される。
【００７８】
この後、制御部１４は、ストア信号をＬレベルとして非アクテイブにしてから、電源供給端への電源電圧ＶＤＤを遮断する。
【００７９】
制御部１４は、電源電圧ＶＤＤの遮断後、電源電圧ＶＤＤの供給を再開する際には、リストアのために、リストア信号をアクテイブ（Ｌレベル）にしてから、電源電圧ＶＤＤの供給を開始する。リストア信号は、一定時間の経過後に非アクテイブ（Ｈレベル）にされる。なお、リストア時には、クロックの停止を維持するとともに、ストア信号を非アクテイブに維持する。ストア信号が非アクテイブ（Ｌレベル）であるため、トランジスタＭ３６がオンとなり、配線４０を介して、各ＭＴＪ素子の第２、第３端子Ｐ２、Ｐ３がグランドされた状態になる。
【００８０】
ウィークキーパ回路２４及び記憶部２７については、リストア信号がＬレベルとなることで、トランジスタＭ３７がオンとなって、トランジスタＭ２４〜Ｍ２７のゲートが接続された状態になる。電源電圧ＶＤＤの供給が開始されると、上記のように各ＭＴＪ素子の第２、第３端子Ｐ２、Ｐ３がグランドされているから、トランジスタＭ２５とトランジスタＭ２７のソースに、それぞれＭＴＪ素子Ｊ３０、Ｊ３１を介して電流が流れる。上述のストア動作によってＭＴＪ素子Ｊ３０は高抵抗状態とされ、ＭＴＪ素子Ｊ３１は低抵抗状態となっているから、ＭＴＪ素子Ｊ３０によりもＭＴＪ素子Ｊ３１の抵抗値が低い。このため、トランジスタＭ２５のソース電位よりもトランジスタＭ２７のソース電位が低くなる。トランジスタＭ２５とトランジスタＭ２７は、ゲート同士が接続されているから、トランジスタＭ２５に対して、ソース電位が低いトランジスタＭ２７のゲートーソース間電圧が大きくなり、ドレインーソース間抵抗が低くなる。
【００８１】
この状態で、リストア信号が非アクテイブに応答してトランジスタＭ３７がオフとなることによって、トランジスタＭ２４、Ｍ２５のゲートと、トランジスタＭ２６、Ｍ２７のゲートとが切り離される。上記のようにトランジスタＭ２５に対してトランジスタＭ２７のドレインーソース間抵抗が低いので、接続点ｎａ３の電位よりも接続点ｎｂ３の電位が低い。そして、このように相対的に電位の低い接続点ｎｂ３がトランジスタＭ２４、Ｍ２５のゲートに接続され、電位の高い接続点ｎａ３がトランジスタＭ２６、Ｍ２７のゲートに接続されているから、インバータ３５、３６の相互の正帰還作用により、接続点ｎａ３はＨレベルの電位まで上がり、接続点ｎｂ３はＬレベルの電位まで下がる。この結果、リストア前と同じく、接続点ｎａ３がＨレベル、接続点ｎｂ３がＬレベルに維持され、ウィークキーパ回路２４としてはデータ「１」を保持した状態になる。
【００８２】
図６に示すように、スレーブラッチ回路２１及び記憶部２５については、トランジスタＭ３６、配線４０を介してＭＴＪ素子Ｊ１０、Ｊ１１の第２、第３端子Ｐ２、Ｐ３がそれぞれグランドされた状態になる。このようにＭＴＪ素子Ｊ１０、Ｊ１１の第２、第３端子Ｐ２、Ｐ３がグランドされると、インバータ２１ａを構成するトランジスタＭ４１、Ｍ４２及びインバータ２１ｂを構成するトランジスタＭ４３、Ｍ４４のうちトランジスタＭ４１、Ｍ４３にそれぞれドレイン電流が流れる。一方、上述のストアによってＭＴＪ素子Ｊ１０が高抵抗状態とされ、ＭＴＪ素子Ｊ１１が低抵抗状態となっているから、相対的にＭＴＪ素子Ｊ１０よりもＭＴＪ素子Ｊ１１の抵抗が低い。このため、接続点ｎａ１は、接続点ｎｂ１の電位よりも低い。電源電圧ＶＤＤが上昇するのにしたがって、接続点ｎａ１、ｎｂ１の電位は高くなるが、接続点ｎａ１は、接続点ｎｂ１の電位よりも低い。
【００８３】
接続点ｎｂ１の電位の上昇により、トランジスタＭ４４のドレインーソース間が導通した状態になると、接続点ｎａ１の電位は、低下して最終的に０ＶすなわちＬレベルになる。また、これにともないトランジスタＭ４３はオフになる。一方、接続点ｎａ１の電位が０Ｖになることにより、トランジスタＭ４１がオンになって、接続点ｎｂ１の電位が電源電圧ＶＤＤすなわちＨレベルになる。この結果、リストア前と同じく、接続点ｎａ１がＬレベル、接続点ｎｂ１がＨレベルに保持される。すなわち、スレーブラッチ回路２１としては、データ「０」を保持した状態になる。
【００８４】
スレーブラッチ回路２２及び記憶部２６についても、上記スレーブラッチ回路２１及び記憶部２５の場合と同様であり、リストア前と同じく、接続点ｎａ２がＬレベル、接続点ｎｂ２がＨレベルであり、スレーブラッチ回路２２としてデータ「０」を保持した状態になる。
【００８５】
上記のようにストアの際の出力データＱが「１」である場合、ウィークキーパ回路２４が保持しているデータは「１」である。また、その出力データＱのとなるデータＸＤの本来の値は「０」である。そして、この場合には、ソフトエラー等によってラッチしたデータが反転していなければ、スレーブラッチ回路２１、２２は、データ「０」をラッチしている。したがって、リストア動作後に、スレーブラッチ回路２１、２２、ウィークキーパ回路２４は、リストア動作によってストア前の状態に復元される。
【００８６】
一方、ストア時の出力データＱが「０」である場合には、ウィークキーパ回路２４が保持しているデータが「０」になっているから、接続点ｎａ３がＬレベル、接続点ｎｂ３がＨレベルになっている。このため、ＮＯＲ回路４１の出力がＨレベル、ＮＯＲ回路４２の出力がＬレベルとなる。これにより、トランジスタＭ３２、Ｍ３３がオン、トランジスタＭ３１、Ｍ３４がオフとなって、配線４０に書込電流Ｉａが流れる。
【００８７】
書込電流Ｉａは、ストア回路２８からＭＴＪ素子Ｊ１０−ＭＴＪ素子Ｊ１１−ＭＴＪ素子Ｊ２０−ＭＴＪ素子Ｊ２１−ＭＴＪ素子Ｊ３１−ＭＴＪ素子Ｊ３０を経てストア回路２８に戻る向きに流れる。そして、このときに書込電流Ｉａは、ＭＴＪ素子Ｊ１０、Ｊ２０、Ｊ３０では、第２端子Ｐ２から自由磁性層Ｌ１を通って第３端子Ｐ３に向かう方向の電流Ｉｗ０として流れる。このため、ＭＴＪ素子Ｊ１０、Ｊ２０、Ｊ３０は、それぞれ低抵抗状態になり、データ「０」が記憶される。また、書込電流Ｉａは、ＭＴＪ素子Ｊ１１、Ｊ２１、Ｊ３１では、第３端子Ｐ３から自由磁性層Ｌ１を通って第２端子Ｐ２に向かう方向の電流Ｉｗ１として流れる。このため、ＭＴＪ素子Ｊ１１、Ｊ２１、Ｊ３１は、それぞれ高抵抗状態になり、データ「１」が書き込まれる。
【００８８】
出力データＱが「０」であるときのストア後に行われるリストアは、上記と同様な手順で行われる。この場合、各ＭＴＪ素子Ｊ１０、Ｊ１１、Ｊ２０、Ｊ２１、Ｊ３０、Ｊ３１に書き込まれているデータが、出力データＱが「１」であるときのストア後とは逆である。したがって、ウィークキーパ回路２４の接続点ｎａ３がＬレベル、接続点ｎｂ３がＨレベルとなり、ウィークキーパ回路２４としてはデータ「０」を保持した状態になる。また、接続点ｎａ１がＨレベル、接続点ｎｂ１がＬレベルになり、スレーブラッチ回路２１としてはデータ「１」を保持した状態になる。同様に、スレーブラッチ回路２２としてデータ「１」を保持した状態になる。
【００８９】
上記のようにストアの際の出力データＱが「０」である場合、ウィークキーパ回路２４が保持しているデータは「０」である。また、その出力データＱのとなるデータＸＤの本来の値は「１」である。そして、この場合には、ソフトエラー等によってラッチしたデータが反転していなければ、スレーブラッチ回路２１、２２は、それぞれデータ「１」をラッチしている。したがって、リストア後に、スレーブラッチ回路２１、２２、ウィークキーパ回路２４は、リストア動作によってストア前の状態に復元される。
【００９０】
ところで、ストア時に、ソフトエラーによってスレーブラッチ回路２１、２２の一方のデータが反転している可能性がある。しかしながら、この不揮発性フリップフロップ装置１０のストアでは、上述のように出力データＱに応じて、ウィークキーパ回路２４に保持されたデータを各記憶部２５、２６に書き込んでいるため、スレーブラッチ回路２１、２２の一方のデータが反転しても、ソフトエラーによって反転していないデータが各記憶部２５、２６に記憶される。そして、リストアによって各記憶部２５、２６に記憶されデータが対応するスレーブラッチ回路２１、２２に復元される。
【００９１】
したがって、ストア及びその後のリストアによって、データが正しく訂正（コレクション）され、スレーブラッチ回路２１、２２が正常なデータをラッチした状態になる。これにより、反転して誤ったデータをそのまま復元する場合に比べて、スレーブラッチ回路２１、２２がラッチしているデータが同時に反転する確率が低くなり、スレーブラッチ部１２及び不揮発性フリップフロップ装置１０のエラー耐性が高くなる。
【００９２】
例えば、電源電圧が不安定であって電源遮断と復帰が頻繁になるような、振動や熱、光等の微小なエネルギーを電力に変換するエネルギーハーベスティング技術（環境発電技術）を用いた演算装置等に不揮発性フリップフロップ装置１０を用いることは、ストア、リストアが頻繁に行われることから有用である。
【００９３】
また、ＭＴＪ素子Ｊ１０、Ｊ１１、Ｊ２０、Ｊ２１、Ｊ３０、Ｊ３１にデータを書き込む際には、ＭＴＪ素子Ｊ１０、Ｊ１１、Ｊ２０、Ｊ２１、Ｊ３０、Ｊ３１を配線４０上に接続し、１つの電流経路に書込電流ＩａまたはＩｂを流す構成としているので、ＭＴＪ素子１個ごと、あるいは記憶部２５〜２７ごとに書込電流を流す場合よりも小さい書込エネルギーで６個のＭＴＪ素子Ｊ１０、Ｊ１１、Ｊ２０、Ｊ２１、Ｊ３０、Ｊ３１にデータを書き込むことができる。換言すれば、同一の書込エネルギーであれば、ＭＴＪ素子１個ごとあるいは記憶部２５〜２７ごとに書込電流を流す場合よりも、ＭＴＪ素子の書込エラーの発生確率を低くすることができる。
【００９４】
３端子型のＭＴＪ素子は、第２、第３端子間に書込電流を流すことにより書き込みを行うため、書込抵抗（第２、第３端子間の電気抵抗）が数十Ω程度と小さく、第２端子と第３端子とを用いて複数のＭＴＪ素子を直列に接続し、同一の書込電流で複数のＭＴＪ素子に同時に書き込みをすることができる。これにより、上記のように複数のＭＴＪ素子に対する同一の書込電流での書き込みによる書込エネルギーの低減効果が得られる。一方、２端子型のＭＴＪ素子は、書込抵抗（２端子間の電気抵抗）が数ｋΩと大きいため、複数のＭＴＪ素子に対する同一の書込電流による書き込みが困難である。
【００９５】
図７は、上記不揮発性フリップフロップ装置１０において、ストア及びその後のリストアによってデータが訂正されることを確認した動作波形を示している。シミュレーションでは、一対のスレーブラッチ回路２１、２２のうちスレーブラッチ回路２１がＳＥＴパルスによって正常なデータではなく反転したデータをラッチした状態を意図的に作り出し、ストアを行ってから電源を遮断し、電源の復帰時にリストアを行うようにした。
【００９６】
電源遮断前では、スレーブラッチ回路２１、２２の後段のインバータ３１、３２から出力されるデータＳ０、Ｓ１のうち、スレーブラッチ回路２２に対応したデータＳ１は、正常な「０」になっているのに対して、スレーブラッチ回路２１に対応したデータＳ０は、反転した「１」になっている。この状態において、出力データＱは「１」になっている。これは、Ｃエレメント回路２３とウィークキーパ回路２４によって、スレーブラッチ回路２１がラッチしているデータがマスキングされ、ウィークキーパ回路２４がそれまでの正常な出力データＱを維持するためである。
【００９７】
電源が復帰すると、スレーブラッチ回路２１、２２に対応したデータＳ０、Ｓ１がともに「０」を出力しており、スレーブラッチ回路２１の保持するデータが正常な「１」に訂正されていることがわかる。もちろん、出力データＱも正常な「１」となっている。
【００９８】
以下、信頼性をシミュレーションした結果について説明する。本例の不揮発性フリップフロップ装置１０のスレーブラッチ部１２とともに、参考例の不揮発性フリップフロップ装置におけるスレーブラッチ部１２Ａ（図８参照）と、従来例としての図１５に示す不揮発性フリップフロップ装置９０のスレーブラッチ回路９２と不揮発性記憶回路９３からなるスレーブラッチ部とをあわせて評価した結果を示す。
【００９９】
シミュレーションでは、本例、参考例、従来例の各スレーブラッチ部を６５ｎｍＣＭＯＳ／ＭＴＪ技術を用いて作製したものとした。また、ＭＴＪ素子は、いずれも高抵抗状態における抵抗値が２４ｋΩ、低抵抗状態における抵抗値が１８ｋΩ、書込抵抗（第２端子Ｐ２と第３端子Ｐ３との間の抵抗）が７５Ω、臨界電流が１００μＡである。また、ストア時には、ＭＴＪ素子のそれぞれに２００μＡの書込電流を流すものとした。さらに、電源電圧ＶＤＤは、１．０Ｖとした。
【０１００】
図８に参考例のスレーブラッチ部１２Ａを示す。参考例の不揮発性フリップフロップ装置は、本例の不揮発性フリップフロップ装置１０と同じＢＩＳＥＲ構造のマスタ−スレーブ型フリップフロップ回路である。この参考例の不揮発性フリップフロップ装置は、スレーブラッチ部１２Ａが、各スレーブラッチ回路とウィークキーパ回路とのそれぞれにストア回路及びリストア回路を設けている点と、各記憶部が対応するスレーブラッチ回路、ウィークキーパ回路に保持または入力されるデータを記憶する点で本例の不揮発性フリップフロップ装置１０と異なっている他は同じ構成である。このため、参考例の不揮発性フリップフロップ装置のマスタラッチ部の図示及びその詳細な説明を省略する。また、以下の説明では、スレーブラッチ部１２の部材と実質的に同じ部材には同一の符号を付して、その詳細な説明を省略する。
【０１０１】
スレーブラッチ部１２Ａは、第１回路部５１、第２回路部５２、Ｃエレメント回路２３、ウィークキーパ回路２４、記憶部２７、ストア回路２８Ａ、リストア回路２９、トランジスタＭ３６Ａ等で構成されている。ストア回路２８Ａは、ストアの際に、出力データＱに応じた内容を記憶部２７にストアするためのものであり、出力データＱが「１」である場合と「０」である場合とで互いに逆向きの書込電流を配線４０Ａを介してＭＴＪ素子Ｊ３０，Ｊ３１にだけ流す。ストア回路２８Ａの構成は、不揮発性フリップフロップ装置１０のストア回路２８の構成と同じであり、ストア回路２８のトランジスタＭ３１〜Ｍ３４、ＮＯＲ回路４１、４２に対応したトランジスタＭ３１Ａ〜Ｍ３４Ａ、ＮＯＲ回路４１Ａ、４２Ａから構成されている。トランジスタＭ３６Ａは、ストア信号を反転した信号（ＷＣＫｂ）がゲートに入力され、通常動作及びリストアの際にオンとなって、ＭＴＪ素子Ｊ３０，Ｊ３１の各々の第２、第３端子Ｐ２、Ｐ３をグランドする。
【０１０２】
第１回路部５１は、スレーブラッチ回路２１Ｂ、記憶部２５Ｂ、ストア回路２８Ｂ、リストア回路２９Ｂ、トランジスタＭ３６Ｂで構成されている。スレーブラッチ回路２１Ｂは、スレーブラッチ回路２１と同じ構成である。記憶部２５Ｂは、ＭＴＪ素子Ｊ１０の第１端子Ｐ１が接続点ｎａ１に、ＭＴＪ素子Ｊ１１の第１端子Ｐ１が接続点ｎｂ１にそれぞれ接続されている。また、この記憶部２５ＢのＭＴＪ素子Ｊ１０、Ｊ１１は、記憶部２７のＭＴＪ素子Ｊ３０、Ｊ３１と同様な接続であり、それらの第２端子Ｐ２同士が接続されている。
【０１０３】
ストア回路２８Ｂは、ストアの際に、スレーブラッチ回路２１Ｂに入力されているデータＸＤに応じた内容を記憶部２５Ｂにストアするためのものであり、データＸＤが「１」である場合と「０」である場合とで互いに逆向きの書込電流を配線４０Ｂを介してＭＴＪ素子Ｊ１０，Ｊ１１にだけ流す。このストア回路２８Ｂの構成は、ストア回路２８Ａの構成と同じであり、ストア回路２８ＡのトランジスタＭ３１Ａ〜Ｍ３４Ａ、ＮＯＲ回路４１Ａ、４２Ａに対応したトランジスタＭ３１Ｂ〜Ｍ３４Ｂ、ＮＯＲ回路４１Ｂ、４２Ｂから構成されている。トランジスタＭ３６Ｂは、トランジスタＭ３６Ａと同様にストア信号を反転した信号の入力でオンとなりＭＴＪ素子Ｊ１０，Ｊ１１の各々の第２、第３端子Ｐ２、Ｐ３をグランドする。リストア回路２９ＢのトランジスタＭ３７Ｂは、トランジスタＭ３７と同様に、記憶部２５Ｂに記憶されているデータをスレーブラッチ回路２１Ｂに復元するリストアの際に、リストア信号（／ＲＥ）がアクテイブになることによってオンとなり、インバータ２１ａ、２１ｂの入力端同士を接続する。
【０１０４】
第２回路部５２は、第１回路部５１と同じ構成であるので、その構成の図示及びその詳細な説明を省略する。この第２回路部５２には、データＸＤが遅延回路ＤＥ２で遅延されて入力される。
【０１０５】
図９、図１０は、本例、参考例、従来例の各スレーブラッチ部の書込エラー耐性を示すグラフである。図９のグラフの横軸は、ＭＴＪ素子の書込時間、すなわち書込電流を流している時間（単位：ナノ秒）を示しており、縦軸はリストアエラー発生確率を示している。リストアエラーは、リストアの結果として誤った出力データＱが出力される確率を示している。また、図１０のグラフの横軸は、書込エネルギー、すなわち各記憶部にデータを記憶させるのに必要なエネルギー（単位：ｐＪ）を示しており、縦軸はリストアエラー発生確率を示している。なお、図９、図１０のグラフは、いずれもソフトエラーがないことを前提としている。
【０１０６】
図９、図１０では、線Ａ１、Ａ２が本例のものであり、線Ｂ１、Ｂ２が参考例のスレーブラッチ部１２Ａ（以下、単に参考例という）のものである。また、線Ｃ１、Ｃ２が従来例のスレーブラッチ部（以下、単に従来例という）のものである。
【０１０７】
図９のグラフに示されるように、本例、参考例、従来例のいずれにおいても、書込時間が長くなるほど、リストアエラー発生確率が低下する傾向を示す。しかしながら、同一の書込時間に対するリストアエラー発生確率は、従来例に比べて本例及び参考例は低い。これは、本例及び参考例では、書込エラーが発生しても、Ｃエレメント回路２３とウィークキーパ回路２４とによって、そのデータがマスキングされるためである。
【０１０８】
また、本例と参考例とでは、同じ書込時間であればリストアエラー発生確率が同じになる。しかしながら、図１０に示すように、本例は、書込エネルギーに対するリストアエラー発生率は、参考例に比べて低い。これは、本例は、各記憶部２５〜２７に対して共通の書込電流（Ｉａ、Ｉｂ）を流しているのに対して、参考例は、記憶部ごとに書込電流を流しており、３倍の書込電流が必要なためである。この違いにより、本例は、同一の書込エネルギーで、参考例に対して１０−９倍もリストアエラーの発生確率を低くすることができることがわかる。
【０１０９】
図１１、図１２は、ソフトエラーの発生を考慮した場合の書込エネルギーとリストアエラー発生確率との関係を示している。図１１は、ソフトエラー発生確率を１０−６とし、図１２は、ソフトエラー発生確率を１０−３としたものである。図１１、図１２では、線Ａ３、Ａ４が本例のものであり、線Ｂ３、Ｂ４が参考例のものである。また、線Ｃ３、Ｃ４は従来例のものである。
【０１１０】
図１０に示されるソフトエラーが発生しないことを前提とした場合に比べて、ソフトエラー発生確率を考慮した場合では、参考例及び従来例のリストアエラー発生確率が、ソフトエラー発生確率分だけ高くなる。これに対して、本例では、ソフトエラーの影響が見られず、ソフトエラーの発生を考慮してもリストアエラーが悪化することがない。この違いにより、本例は、同一のリストアエラーの発生確率に対する書込エネルギーを、ソフトエラー発生確率が１０−６の場合では参考例の１／３にすることができ、ソフトエラーの発生確率が１０−３の場合では参考例の１／４にすることができる。
【０１１１】
図１３、図１４のグラフは、１日当たりのストア／リストアの回数とＦＩＴ（Failure In Time：単位時間当たりの平均故障発生件数）との関係を示している。図１３、図１４のグラフの縦軸は、１０９時間当たりの平均故障発生件数であり、横軸は１日当たりのストア／リストアの回数を示している。ストア／リストアの回数は、ストア信号をアクテイブとするストアから、この後の電源遮断、電源復帰、リストアまでの一連の動作を１回とした回数である。なお、図１３、図１４のいずれの場合も、書込エネルギーは、１．５９ｐＪとし、図１３では、ソフトエラーの発生確率を１０−６とし、図１４では、ソフトエラーの発生確率を１０−３としている。図１３、図１４では、線Ａ５、Ａ６が本例のものであり、線Ｂ５、Ｂ６が参考例のものである。また、線Ｃ５、Ｃ６は従来例のものである。
【０１１２】
本例、参考例、及び従来例のいずれにおいても、１日当たりのストア／リストアの回数が増大すると、ＦＩＴも増大する傾向を示すが、本例は、参考例及び従来例に比べて、ＦＩＴが約１０−１６倍と非常に小さいことがわかる。
【０１１３】
次の表１は、本例と参考例とを比較したものである。本例は、参考例に対してＭＴＪ素子の個数が同じであるが、トランジスタの個数が参考例では７７素子であるのに対して本例では５６素子と少ない。これにより、本例では、スレーブラッチ部１２の面積を３１％縮小することができる。また、書込配線本数が、参考例では３本であるのに対して、本例では１本と少ないため、書込エネルギーが参考例に対して６５％低減される。ソフトエラー耐性は、参考例では１ビットマスキングしかできないのに対して、本例では１ビットコレクション（訂正）が可能であり、これにより、ＦＩＴを４桁低減することができる。
【０１１４】
【表１】
2018107626.tif 000003
【０１１５】
なお、表１中の書込エネルギーは、書込時間を７．９５（ナノ秒）とした場合の値である。また、ＦＩＴは、ソフトエラーの発生確率を１０−６とし、１日当たりのストア／リストアの回数を１万回とした場合で、本例では書込エネルギーを１．５９ｐＪとし、参考例では書込エネルギーを４．７７ｐＪとしたときの値である。遅延時間は、スレーブラッチ部へのデータＸＤの入力からスレーブラッチ部から出力データＱが出力されるまでの時間であり、ダイナミック消費電力は、クロック周波数を１ＧＨｚとした場合の値である。
【０１１６】
上記実施形態では、２つのスリーブラッチ回路の場合を例に説明したが、スレーブラッチ回路が３以上であってもよい。また、各スレーブラッチ回路がラッチしているデータが同時に反転する確率を低くする観点からは、各記憶部のそれぞれにストア回路を設けたり、各スレーブラッチ回路の各記憶部に共通なストア回路とウィークキーパ回路の記憶部にストア回路とを設けたりしてもよい。この場合においても、各ストア回路は、出力データＱに応じた内容を各記憶部に記憶させるようにＭＴＪ素子に書込電流を流す。
【０１１７】
また、マスタスレーブ型のフリップフロップ装置のスレーブラッチ部を不揮発性とした例について説明したが、このスレーブラッチ部を各種の不揮発性ラッチ装置として利用することもできる。
【０１１８】
さらに、上記実施形態では、３端子型のＭＴＪ素子として磁壁移動型のものを用いているが、３端子型のＭＴＪ素子は、これに限定されない。例えば、３端子型のＭＴＪ素子として、スピン軌道トルク磁化反転方式のものを用いてもよい。このスピン軌道トルク磁化反転方式を用いた３端子型のＭＴＪ素子は、スピン軌道トルクの相互作用が大きい例えばタンタル等の重金属でなるチャネル層の上に、磁化方向が反転可能な記録層、障壁層（絶縁層）、磁化方向が固定された参照層が積層され、第１端子が参照層に、第２、第３端子がチャネル層にそれぞれ設けられた構成である。そして、第２、第３端子を通してチャネル層に流す書込電流の向きにより参照層に対する記録層の磁化方向を平行、反平行状態のいずれかにする。このＭＴＪ素子においても、第１端子と第２、第３端子との間の電気抵抗は、平行状態の場合と反平行状態の場合とで異なったものになる。
【符号の説明】
【０１１９】
１０  不揮発性フリップフロップ装置
１１  マスタラッチ部
１２  スレーブラッチ部
２１、２２  スレーブラッチ回路
２３  Ｃエレメント回路
２４  ウィークキーパ回路
２５〜２７  不揮発性記憶部
２８  ストア回路
２９  リストア回路
４０  配線
Ｊ１０、Ｊ１１、Ｊ２０、Ｊ２１、Ｊ３０、Ｊ３１  ＭＴＪ素子
【図１】
2018107626.tif 000004
【図２】
2018107626.tif 000005
【図３】
2018107626.tif 000006
【図４】
2018107626.tif 000007
【図５】
2018107626.tif 000008
【図６】
2018107626.tif 000009
【図７】
2018107626.tif 000010
【図８】
2018107626.tif 000011
【図９】
2018107626.tif 000012
【図１０】
2018107626.tif 000013
【図１１】
2018107626.tif 000014
【図１２】
2018107626.tif 000015
【図１３】
2018107626.tif 000016
【図１４】
2018107626.tif 000017
【図１５】
2018107626.tif 000018