(57)【要約】【課題】複数の磁気抵抗素子を有し、３個以上の抵抗状態を有するメモリ素子の抵抗値のばらつきが大きくても、メモリ素子の抵抗状態を正しく判定することができるメモリ装置を提供することを課題とする。【解決手段】メモリ装置は、第１の抵抗状態又は第２の抵抗状態を有する複数の磁気抵抗素子を用いて３個以上の抵抗状態を有するメモリ素子（ＭＥ）と、前記メモリ素子内の前記複数の磁気抵抗素子のうちの１個の第１の磁気抵抗素子を前記第１の抵抗状態に書き換える前と書き換えた後の前記メモリ素子の抵抗状態を比較し、その比較の結果に応じて、前記メモリ素子の抵抗状態を判定する比較判定回路（１０７）とを有する。【選択図】図１
2014229325.tif 000002
【特許請求の範囲】
【請求項１】
第１の抵抗状態又は第２の抵抗状態を有する複数の磁気抵抗素子を用いて３個以上の抵抗状態を有するメモリ素子と、
前記メモリ素子内の前記複数の磁気抵抗素子のうちの１個の第１の磁気抵抗素子を前記第１の抵抗状態に書き換える前と書き換えた後の前記メモリ素子の抵抗状態を比較し、その比較の結果に応じて、前記メモリ素子の抵抗状態を判定する比較判定回路と
を有することを特徴とするメモリ装置。
【請求項２】
前記比較判定回路は、
前記書き換える前と前記書き換えた後の前記メモリ素子の抵抗状態が異なる抵抗状態である場合には、前記書き換えた後の前記メモリ素子の抵抗値と前記第１の抵抗値とを比較し、その比較の結果に応じて、前記メモリ素子の抵抗状態を判定し、
前記書き換える前と前記書き換えた後の前記メモリ素子の抵抗状態が同じ抵抗状態である場合には、前記書き換えた後の前記メモリ素子の抵抗値と前記第２の抵抗値とを比較し、その比較の結果に応じて、前記メモリ素子の抵抗状態を判定することを特徴とする請求項１記載のメモリ装置。
【請求項３】
さらに、前記第１の抵抗状態又は前記第２の抵抗状態を有する複数の磁気抵抗素子を用いて前記第１の抵抗値を有する第１のリファレンスメモリ素子と、
前記第１の抵抗状態又は前記第２の抵抗状態を有する複数の磁気抵抗素子を用いて前記第２の抵抗値を有する第１のリファレンスメモリ素子とを有し、
前記比較判定回路は、
前記書き換える前と前記書き換えた後の前記メモリ素子の抵抗状態が異なる抵抗状態である場合には、前記第１のリファレンスメモリ素子の前記第１の抵抗値を用いて比較を行い、
前記書き換える前と前記書き換えた後の前記メモリ素子の抵抗状態が同じ抵抗状態である場合には、前記第２のリファレンスメモリ素子の前記第２の抵抗値を用いて比較を行うことを特徴とする請求項２記載のメモリ装置。
【請求項４】
前記比較判定回路は、
前記書き換える前と前記書き換えた後の前記メモリ素子の抵抗状態が異なる抵抗状態である場合には、前記メモリ素子内の前記複数の磁気抵抗素子のうちの前記第１の磁気抵抗素子とは異なる１個の第２の磁気抵抗素子を前記第１の抵抗状態又は前記第２の抵抗状態に書き換えた後の前記メモリ素子の抵抗状態を前記第１の抵抗値として比較し、
前記書き換える前と前記書き換えた後の前記メモリ素子の抵抗状態が同じ抵抗状態である場合には、前記メモリ素子内の前記複数の磁気抵抗素子のうちの前記第１の磁気抵抗素子とは異なる１個の第２の磁気抵抗素子を前記第１の抵抗状態又は前記第２の抵抗状態に書き換えた後の前記メモリ素子の抵抗状態を前記第２の抵抗値として比較することを特徴とする請求項２記載のメモリ装置。
【請求項５】
前記書き換える前と前記書き換えた後の前記メモリ素子の抵抗状態が異なる抵抗状態である場合には、前記第１の磁気抵抗素子は、前記第２の抵抗状態に書き戻されることを特徴とする請求項１〜４のいずれか１項に記載のメモリ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリ装置に関する。
【背景技術】
【０００２】
複数の物理量レベルを設定できるメモリセルが配列されて、同時に選択される二つのメモリセルがデータ記憶単位となるペアセルを構成するメモリセルアレイを有する半導体記憶装置が知られている（例えば、特許文献１参照）。半導体記憶装置は、各メモリセルにＮ（Ｎは３以上の整数）個の物理量レベルの一つが設定され、各ペアセルは、それを構成する二つのメモリセルの物理量レベルが異なりかつ、物理量レベルの差が異なる組み合わせ状態により決まる、Ｍ＝２n（ｎは２以上の整数）で表されるＭ値データ（但しＭ＞Ｎ）を記憶する。
【０００３】
また、複数の磁気トンネル接合を用いたマルチレベルセルのメモリが知られている（例えば、非特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−２６０７１１号公報
【非特許文献】
【０００５】
【非特許文献１】T. Ishigaki et al., "A Multi-Level-Cell Spin-Transfer Torque Memory with Series-Stacked Magnetotunnel Junctions", 2010 Symposium on VLSI Technology Digest of Technical Papers, 2010, PP. 47-48.
【発明の概要】
【発明が解決しようとする課題】
【０００６】
複数の磁気トンネル接合を用いたマルチレベルセルのメモリにおいて、マルチレベルセルの抵抗値のばらつきが大きくなると、マルチレベルの判定が困難になる。
【０００７】
本発明の目的は、複数の磁気抵抗素子を有し、３個以上の抵抗状態を有するメモリ素子の抵抗値のばらつきが大きくても、メモリ素子の抵抗状態を正しく判定することができるメモリ装置を提供することである。
【課題を解決するための手段】
【０００８】
メモリ装置は、第１の抵抗状態又は第２の抵抗状態を有する複数の磁気抵抗素子を用いて３個以上の抵抗状態を有するメモリ素子と、前記メモリ素子内の前記複数の磁気抵抗素子のうちの１個の第１の磁気抵抗素子を前記第１の抵抗状態に書き換える前と書き換えた後の前記メモリ素子の抵抗状態を比較し、その比較の結果に応じて、前記メモリ素子の抵抗状態を判定する比較判定回路とを有する。
【発明の効果】
【０００９】
メモリ素子の抵抗値のばらつきが大きくても、メモリ素子の抵抗状態を正しく判定することができる。
【図面の簡単な説明】
【００１０】
【図１】図１は、第１の実施形態によるメモリ装置の構成例を示す図である。
【図２】図２（Ａ）は低抵抗状態の磁気抵抗素子の構成例を示す図であり、図２（Ｂ）は高抵抗状態の磁気抵抗素子の構成例を示す図である。
【図３】図３は、図２（Ａ）及び（Ｂ）の磁気抵抗素子の上部電極及び下部電極間の電圧と電流の絶対値との関係を示すグラフである。
【図４】図４は、図１のメモリ素子の構成例を示す図である。
【図５】図５は、メモリ素子の４個の抵抗状態の抵抗値の分布を示す図である。
【図６】図６は、第１の実施形態によるメモリ素子の４個の抵抗状態の抵抗値の分布を示す図である。
【図７】図７は、第１の実施形態によるメモリ装置の読み出し処理例を示すフローチャートである。
【図８】図８は、第２の実施形態によるメモリ装置の構成例を示す図である。
【図９】図９は、第２の実施形態によるメモリ素子の４個の抵抗状態の抵抗値の分布を示す図である。
【図１０】図１０は、第２の実施形態によるメモリ装置の読み出し処理例を示すフローチャートである。
【発明を実施するための形態】
【００１１】
（第１の実施形態）
図１は、第１の実施形態によるメモリ装置の構成例を示す図である。メモリ装置は、多値の磁気抵抗メモリ（ＭＲＡＭ：magnetoresistive random access memory）である。メモリ装置は、中央処理装置（ＣＰＵ：Central Processing Unit）１０１と、入出力インターフェイス回路１０２と、行デコーダ１０３と、メモリアレイ１０４と、一時記憶用メモリ１０５と、リファレンスメモリ１０６と、比較判定回路１０７と、列デコーダ１０８とを有する。メモリアレイ１０４は、２次元行列状に配置された複数のメモリ素子ＭＥを有する。同様に、一時記憶用メモリ１０５も複数のメモリ素子ＭＥを有する。行デコーダ１０３は、入出力インターフェイス回路１０２を介して、中央処理装置１０１から行アドレスを入力し、複数の行デコード線のうちの１本の行デコード線を選択する。列デコーダ１０８は、入出力インターフェイス回路１０２を介して、中央処理装置１０１から列アドレスを入力し、複数の列デコード線のうちの１本の列デコード線を選択する。２次元行列状のメモリ素子ＭＥは、行デコーダ１０３の行デコード線の選択と列デコーダ１０８の列デコード線の選択により、選択される。選択されたメモリ素子ＭＥは、読み出し又は書き込みが行われる。
【００１２】
リファレンスメモリ１０６は、第１のリファレンスメモリ素子１０６ａ及び第２のリファレンスメモリ素子１０６ｂを有する。第１のリファレンスメモリ素子１０６ａは、第１の抵抗値ｒｅｆ１を記憶する。第２のリファレンスメモリ素子１０６ｂは、第２の抵抗値ｒｅｆ２を記憶する。
【００１３】
まず、読み出しについて説明する。比較判定回路１０７は、入出力インターフェイス回路１０２を介して、中央処理装置１０１から読み出し命令を入力すると、選択されたメモリ素子ＭＥから抵抗状態を読み出し、データ判定を行い、入出力インターフェイス回路１０２を介して、判定したデータを中央処理装置１０１に出力する。
【００１４】
次に、書き込みについて説明する。入出力インターフェイス回路１０２を介して、中央処理装置１０１から書き込み命令及び書き込みデータが入力されると、行デコーダ１０３及び列デコーダ１０８により選択されたメモリ素子ＭＥには書き込みデータが書き込まれる。
【００１５】
図２（Ａ）は低抵抗状態の磁気抵抗素子４０１の構成例を示す図であり、図２（Ｂ）は高抵抗状態の磁気抵抗素子４０１の構成例を示す図である。磁気抵抗素子４０１は、図１のメモリ素子ＭＥ内に設けられる。磁気抵抗素子４０１は、トンネル絶縁層２０２を自由磁化層２０１と固定磁化層２０３とで挟んだ構造を有する。固定磁化層２０３の磁化方向２１３は、固定である。図２（Ａ）では、自由磁化層２０１の磁化方向２１１は、固定磁化層２０３の磁化方向２１３と同じであり、磁気抵抗素子４０１の上部電極２２１と下部電極２２２間の抵抗は、低抵抗になる。図２（Ｂ）では、自由磁化層２０１の磁化方向２１１は、固定磁化層２０３の磁化方向２１３と逆であり、磁気抵抗素子４０１の上部電極２２１と下部電極２２２間の抵抗は、高抵抗になる。
【００１６】
図３は、図２（Ａ）及び（Ｂ）の磁気抵抗素子４０１の上部電極２２１及び下部電極２２２間の電圧と電流の絶対値との関係を示すグラフである。まず、磁気抵抗素子４０１の書き込みについて説明する。図２（Ｂ）の高抵抗状態の磁気抵抗素子４０１において、下部電極２２２に対して上部電極２２１に正電圧（例えば＋１．０［Ｖ］）を印加すると、パス３０１を経由し、正電流が流れる。その後、下部電極２２２に対して上部電極２２１に０［Ｖ］を印加すると、パス３０２を経由し、電流が０［Ａ］になる。これにより、磁気抵抗素子４０１は、図２（Ｂ）の高抵抗状態から図２（Ａ）の低抵抗状態に書き換えられる。なお、図２（Ａ）の低抵抗状態の磁気抵抗素子４０１において、下部電極２２２に対して上部電極２２１に正電圧（例えば＋１．０［Ｖ］）を印加すると、パス３０２の矢印の逆方向のパス３０２をたどり、磁気抵抗素子４０１は、図２（Ａ）の低抵抗状態を維持する。また、高抵抗の状態で＋０．５Ｖを印加すると、パス３０１を上がっていき、続いて０Ｖにすると、そのままパス３０１を戻る。
【００１７】
また、図２（Ａ）の低抵抗状態の磁気抵抗素子４０１において、下部電極２２２に対して上部電極２２１に負電圧（例えば−１．０［Ｖ］）を印加すると、パス３０３を経由し、負電流が流れる。その後、下部電極２２２に対して上部電極２２１に０［Ｖ］を印加すると、パス３０４を経由し、電流が０［Ａ］になる。これにより、磁気抵抗素子４０１は、図２（Ａ）の低抵抗状態から図２（Ｂ）の高抵抗状態に書き換えられる。なお、図２（Ｂ）の高抵抗状態の磁気抵抗素子４０１において、下部電極２２２に対して上部電極２２１に負電圧（例えば−１．０［Ｖ］）を印加すると、パス３０４の矢印の逆方向のパス３０４をたどり、磁気抵抗素子４０１は、図２（Ｂ）の高抵抗状態を維持する。
【００１８】
次に、磁気抵抗素子４０１の読み出しについて説明する。磁気抵抗素子４０１において、下部電極２２２に対して上部電極２２１に正電圧（例えば＋０．１〜＋０．２［Ｖ］）を印加する。図２（Ａ）の低抵抗状態では、パス３０２を経由し、比較的大電流が流れる。図２（Ｂ）の高抵抗状態では、パス３０１を経由し、比較的小電流が流れる。したがって、上部電極２２１及び下部電極２２２間に流れる電流が閾値より大きい場合には、磁気抵抗素子４０１が図２（Ａ）の低抵抗状態であると判定し、上部電極２２１及び下部電極２２２間に流れる電流が閾値より小さい場合には、磁気抵抗素子４０１が図２（Ｂ）の高抵抗状態であると判定する。磁気抵抗素子４０１は、読み出しを行っても、抵抗状態が変わらない非破壊読み出しを行うことができる。
【００１９】
上記のように、磁気抵抗素子４０１は、第１の抵抗状態と第２の抵抗状態の２値を記憶可能である。３値以上の抵抗状態を記憶するためのメモリ素子ＭＥを、図４を参照しながら説明する。
【００２０】
図４は、図１のメモリ素子ＭＥの構成例を示す図である。メモリ素子ＭＥは、中間層４０３を第１の磁気抵抗素子（ＭＴＪ１）４０１と第２の磁気抵抗素子（ＭＴＪ２）４０２とで挟んだ構造を有する。第１の磁気抵抗素子４０１は、図２（Ａ）又は（Ｂ）の構成を有する。第２の磁気抵抗素子４０２は、第２の磁気抵抗素子４０１と同様の構成を有する。４値（＝Ｎ個の物理レベル量のＮが４の場合）を実現するためには、磁気抵抗素子４０１と磁気抵抗素子４０２の抵抗値を違う値にする必要がある。３値の場合は、磁気抵抗素子４０１と磁気抵抗素子４０２の抵抗値は同じ抵抗値でよい。抵抗値を変える方法としては、トンネル絶縁膜２０２の厚さを変えるのが一番効果的であり、大きな抵抗ふり幅が確保できる。その場合、第２の磁気抵抗素子４０２のトンネル絶縁層２０２（図２（Ａ）又は（Ｂ））の厚さは、第１の磁気抵抗素子４０１のトンネル絶縁層２０２の厚さとは異なり、第２の磁気抵抗素子４０２の抵抗値は、第１の磁気抵抗素子４０１の抵抗値とは異なる。なお、磁化層２０１，２０３の厚さを変えることによっても、磁気抵抗素子４０１と磁気抵抗素子４０２の抵抗値を変えることもできる。ただし、抵抗ふり幅は小さくなる。
【００２１】
図５は、メモリ素子ＭＥの４個の抵抗状態の抵抗値の分布５０１〜５０４を示す図である。横軸は抵抗値を示し、縦軸は度数を示す。ここで、「Ｌ」は低抵抗状態を示し、「Ｈ」は高抵抗状態を示す。分布５０１は、第１の磁気抵抗素子４０１が低抵抗状態であり、第２の磁気抵抗素子４０２が低抵抗状態であり、「Ｌ／Ｌ」で表し、最も抵抗値が低い状態である。分布５０２は、第１の磁気抵抗素子４０１が高抵抗状態であり、第２の磁気抵抗素子４０２が低抵抗状態であり、「Ｌ／Ｈ」で表し、２番目に抵抗値が低い状態である。分布５０３は、第１の磁気抵抗素子４０１が低抵抗状態であり、第２の磁気抵抗素子４０２が高抵抗状態であり、「Ｈ／Ｌ」で表し、３番目に抵抗値が低い状態である。ここで、第２の磁気抵抗素子４０２の抵抗値は、第１の磁気抵抗素子４０１とは異なるので、分布５０３のメモリ素子ＭＥの抵抗値は、分布５０２のメモリ素子ＭＥの抵抗値より高くなる。分布５０４は、第１の磁気抵抗素子４０１が高抵抗状態であり、第２の磁気抵抗素子４０２が高抵抗状態であり、「Ｈ／Ｈ」で表し、４番目に抵抗値が低い状態である。
【００２２】
以上のように、２個の磁気抵抗素子４０１及び４０２の低抵抗状態又は高抵抗状態の組み合わせにより、４個の抵抗状態の分布５０１〜５０４を有するメモリ素子ＭＥを実現することができる。すなわち、４値のＭＲＡＭを実現することができる。
【００２３】
次に、３個のリファレンス抵抗値ｒｅｆ１〜ｒｅｆ３を用いて、４個の抵抗状態の分布５０１〜５０４のデータを判定する方法を説明する。リファレンス抵抗値ｒｅｆ１は、メモリ素子ＭＥと同様の構成の第１のリファレンスメモリ素子の抵抗値であり、分布５１１を有する。リファレンス抵抗値ｒｅｆ２は、メモリ素子ＭＥと同様の構成の第２のリファレンスメモリ素子の抵抗値であり、分布５１２を有する。リファレンス抵抗値ｒｅｆ３は、メモリ素子ＭＥと同様の構成の第３のリファレンスメモリ素子の抵抗値であり、分布５１３を有する。
【００２４】
メモリ素子ＭＥの抵抗値がリファレンス抵抗値ｒｅｆ１より小さい場合には、メモリ素子ＭＥは、分布５０１の「Ｌ／Ｌ」の抵抗状態のデータであると判定することができる。また、メモリ素子ＭＥの抵抗値がリファレンス抵抗値ｒｅｆ１及びｒｅｆ２の間である場合には、メモリ素子ＭＥは、分布５０２の「Ｌ／Ｈ」の抵抗状態のデータであると判定することができる。また、メモリ素子ＭＥの抵抗値がリファレンス抵抗値ｒｅｆ２及びｒｅｆ３の間である場合には、メモリ素子ＭＥは、分布５０３の「Ｈ／Ｌ」の抵抗状態のデータであると判定することができる。また、メモリ素子ＭＥの抵抗値がリファレンス抵抗値ｒｅｆ３より大きい場合には、メモリ素子ＭＥは、分布５０４の「Ｈ／Ｈ」の抵抗状態のデータであると判定することができる。
【００２５】
ここで、分布５０１〜５０４及び５１１〜５１３は、製造ばらつき等により、抵抗値のばらつきを有する。分布５０１〜５０４及び５１１〜５１３がそれぞれ隣接する分布と一部が重なってしまうと、誤判定の原因になる。したがって、データ判定を正しく行うには、分布５０１〜５０４及び５１１〜５１３の各抵抗値の間隔を広くする必要があり、設計上の制約が大きい課題がある。また、読み出しマージンが小さいという課題がある。
【００２６】
そこで、以下、分布５０１〜５０４の各抵抗値の間隔を狭くすることができ、かつメモリ素子ＭＥの抵抗状態のデータ判定を正しく行うことができる実施形態を説明する。
【００２７】
図６は、図５に対応し、本実施形態によるメモリ素子ＭＥの４個の抵抗状態の抵抗値の分布６０１〜６０４を示す図である。分布６０１は、第１の磁気抵抗素子４０１が低抵抗状態であり、第２の磁気抵抗素子４０２が低抵抗状態であり、「Ｌ／Ｌ」で表し、最も抵抗値が低い状態である。分布６０２は、第１の磁気抵抗素子４０１が高抵抗状態であり、第２の磁気抵抗素子４０２が低抵抗状態であり、「Ｌ／Ｈ」で表し、２番目に抵抗値が低い状態である。分布６０３は、第１の磁気抵抗素子４０１が低抵抗状態であり、第２の磁気抵抗素子４０２が高抵抗状態であり、「Ｈ／Ｌ」で表し、３番目に抵抗値が低い状態である。分布６０４は、第１の磁気抵抗素子４０１が高抵抗状態であり、第２の磁気抵抗素子４０２が高抵抗状態であり、「Ｈ／Ｈ」で表し、４番目に抵抗値が低い状態である。
【００２８】
第１のリファレンス抵抗値ｒｅｆ１は、「Ｌ／Ｈ」の抵抗状態のメモリ素子ＭＥと同様の構成の第１のリファレンスメモリ素子１０６ａの抵抗値であり、分布６１１を有する。分布６１１は、分布６０２と同様の分布である。第２のリファレンス抵抗値ｒｅｆ２は、「Ｈ／Ｌ」の抵抗状態のメモリ素子ＭＥと同様の構成の第２のリファレンスメモリ素子１０６ｂの抵抗値であり、分布６１２を有する。分布６１２は、分布６０３と同様の分布である。
【００２９】
分布６１１は分布６０２と同様の分布であり、分布６１２は分布６０３と同様の分布であるため、４個の抵抗状態の分布６０１〜６０４の抵抗値の各間隔は、図５の場合に比べて、狭くすることができる。これにより、設計上の制約を緩和することができ、かつデータの誤判定を低減し、正しいデータ判定を行うことができる。
【００３０】
図７は、本実施形態によるメモリ装置の読み出し処理例を示すフローチャートである。まず、ステップＳ７０１では、中央処理装置１０１は、読み出しを行うメモリ素子ＭＥの選択を行う。具体的には、中央処理装置１０１は、入出力インターフェイス回路１０２を介して、行デコーダ１０３の行アドレスを出力し、列デコーダ１０８に列アドレスを出力する。すると、行デコーダ１０３は、複数の行デコード線のうちの１本の行デコード線を選択し、列デコーダ１０８は、複数の列デコード線のうちの１本の列デコード線を選択する。これにより、メモリ素子ＭＥが選択される。
【００３１】
次に、ステップＳ７０２では、中央処理装置１０１は、選択したメモリ素子ＭＥの抵抗値Ｒ１を読み出す。具体的には、中央処理装置１０１は、入出力インターフェイス回路１０２を介して、比較判定回路１０７に読み出し命令を出力する。すると、比較判定回路１０７は、選択されたメモリ素子ＭＥの抵抗値（電流値）Ｒ１を読み出す。
【００３２】
次に、ステップＳ７０３では、中央処理装置１０１は、抵抗値Ｒ１を一時記憶用メモリ１０５に保存する。一時記憶用メモリ１０５は、行デコーダ１０３及び列デコーダ１０８により選択される。
【００３３】
次に、ステップＳ７０４では、比較判定回路１０７は、ステップＳ７０１で選択されたメモリ素子ＭＥ内の第１の磁気抵抗素子（ＭＴＪ１）４０１を高抵抗状態に書き換える。
【００３４】
次に、ステップＳ７０５では、比較判定回路１０７は、書き換え後のメモリ素子ＭＥの抵抗値Ｒ２を読み出す。
【００３５】
次に、ステップＳ７０６では、比較判定回路１０７は、抵抗値Ｒ１及びＲ２を比較する。抵抗値Ｒ１及びＲ２がほぼ同じ場合には、書き換え前のメモリ素子ＭＥ内の第１の磁気抵抗素子４０１は、高抵抗状態であり、書き換え前のメモリ素子ＭＥは、「Ｌ／Ｈ」又は「Ｈ／Ｈ」の抵抗状態であるので、ステップＳ７１１へ進む。これに対し、抵抗値Ｒ１が抵抗値Ｒ２より小さい場合には、書き換え前のメモリ素子ＭＥ内の第１の磁気抵抗素子４０１は、低抵抗状態であり、書き換え前のメモリ素子ＭＥは、「Ｌ／Ｌ」又は「Ｈ／Ｌ」の抵抗状態であるので、ステップＳ７０７に進む。具体的には、抵抗値Ｒ２から抵抗値Ｒ１を減算した値が閾値より大きい場合にはステップＳ７０７に進み、抵抗値Ｒ２から抵抗値Ｒ１を減算した値が閾値より小さい場合にはステップＳ７１１に進む。
【００３６】
ステップＳ７０７では、比較判定回路１０７は、上記の書き換え前の第１の磁気抵抗素子４０１は低抵抗状態であるので、書き換え後のメモリ素子ＭＥ内の第１の磁気抵抗素子４０１を低抵抗状態に書き戻す。
【００３７】
次に、ステップＳ７０８では、比較判定回路１０７は、第１のリファレンスメモリ素子１０６ａから第１のリファレンス抵抗値ｒｅｆ１を読み出し、抵抗値Ｒ２及び第１のリファレンス抵抗値ｒｅｆ１を比較する。抵抗値Ｒ２が第１のリファレンス抵抗値ｒｅｆ１より小さい場合には、ステップＳ７０９に進む。これに対し、抵抗値Ｒ２が第１のリファレンス抵抗値ｒｅｆ１より大きい場合には、ステップＳ７１０に進む。
【００３８】
ステップＳ７０９では、比較判定回路１０７は、選択したメモリ素子ＭＥが「Ｌ／Ｌ」の抵抗状態であると判定し、「Ｌ／Ｌ」の抵抗状態に対応するデータ値を、入出力インターフェイス回路１０２を介して、中央処理装置１０１に出力する。
【００３９】
ステップＳ７１０では、比較判定回路１０７は、選択したメモリ素子ＭＥが「Ｈ／Ｌ」の抵抗状態であると判定し、「Ｈ／Ｌ」の抵抗状態に対応するデータ値を、入出力インターフェイス回路１０２を介して、中央処理装置１０１に出力する。
【００４０】
ステップＳ７１１では、比較判定回路１０７は、第２のリファレンスメモリ素子１０６ｂから第２のリファレンス抵抗値ｒｅｆ２を読み出し、抵抗値Ｒ２及び第２のリファレンス抵抗値ｒｅｆ２を比較する。抵抗値Ｒ２が第２のリファレンス抵抗値ｒｅｆ２より小さい場合には、ステップＳ７１２に進む。これに対し、抵抗値Ｒ２が第２のリファレンス抵抗値ｒｅｆ２より大きい場合には、ステップＳ７１３に進む。
【００４１】
ステップＳ７１２では、比較判定回路１０７は、選択したメモリ素子ＭＥが「Ｌ／Ｈ」の抵抗状態であると判定し、「Ｌ／Ｈ」の抵抗状態に対応するデータ値を、入出力インターフェイス回路１０２を介して、中央処理装置１０１に出力する。
【００４２】
ステップＳ７１３では、比較判定回路１０７は、選択したメモリ素子ＭＥが「Ｈ／Ｈ」の抵抗状態であると判定し、「Ｈ／Ｈ」の抵抗状態に対応するデータ値を、入出力インターフェイス回路１０２を介して、中央処理装置１０１に出力する。
【００４３】
なお、ステップＳ７０４では、第１の磁気抵抗素子４０１を高抵抗状態に書き換える例を説明したが、第１の磁気抵抗素子４０１を低抵抗状態に書き換えるようにしてもよい。その場合には、ステップＳ７０６において、抵抗Ｒ１及びＲ２がほぼ同じであれば、書き換え前の第１の磁気抵抗素子４０１は、低抵抗状態であったと判定することができる。
【００４４】
また、ステップＳ７０４では、第１の磁気抵抗素子４０１を高抵抗状態又は低抵抗状態に書き換える例を説明したが、第２の磁気抵抗素子４０２を高抵抗状態又は低抵抗状態に書き換えるようにしてもよい。その場合には、ステップＳ７０６において、抵抗Ｒ１及びＲ２がほぼ同じであれば、書き換え前の第２の磁気抵抗素子４０２は、高抵抗状態又は低抵抗状態であったと判定することができる。
【００４５】
以上のように、メモリ素子ＭＥは、第１の抵抗状態又は第２の抵抗状態を有する複数の磁気抵抗素子４０１及び４０２を用いて３個以上の抵抗状態を有する。第１のリファレンスメモリ素子１０６ａは、第１の抵抗状態又は第２の抵抗状態を有する複数の磁気抵抗素子４０１及び４０２を用いて第１のリファレンス抵抗値ｒｅｆ１を有する。第２のリファレンスメモリ素子１０６ｂは、第１の抵抗状態又は第２の抵抗状態を有する複数の磁気抵抗素子４０１及び４０２を用いて第２のリファレンス抵抗値ｒｅｆ２を有する。
【００４６】
ステップＳ７０６では、比較判定回路１０７は、メモリ素子ＭＥ内の複数の磁気抵抗素子４０１及び４０２のうちの１個の第１の磁気抵抗素子４０１を第１の抵抗状態に書き換える前と書き換えた後のメモリ素子ＭＥの抵抗状態を比較し、その比較の結果に応じて、メモリ素子ＭＥの抵抗状態を判定する。
【００４７】
ステップＳ７０８では、比較判定回路１０７は、書き換える前と書き換えた後のメモリ素子ＭＥの抵抗状態が異なる抵抗状態である場合には、書き換えた後のメモリ素子ＭＥの抵抗値Ｒ２と第１の（リファレンス）抵抗値ｒｅｆ１とを比較し、その比較の結果に応じて、メモリ素子ＭＥの抵抗状態を判定する。具体的には、比較判定回路１０７は、書き換える前と書き換えた後のメモリ素子ＭＥの抵抗状態が異なる抵抗状態である場合には、第１のリファレンスメモリ素子１０６ａの第１の（リファレンス）抵抗値ｒｅｆ１を用いて比較を行う。
【００４８】
ステップＳ７１１では、比較判定回路１０７は、書き換える前と書き換えた後のメモリ素子ＭＥの抵抗状態が同じ抵抗状態である場合には、書き換えた後のメモリ素子ＭＥの抵抗値Ｒ２と第２の（リファレンス）抵抗値ｒｅｆ２とを比較し、その比較の結果に応じて、メモリ素子ＭＥの抵抗状態を判定する。具体的には、比較判定回路１０７は、書き換える前と書き換えた後のメモリ素子ＭＥの抵抗状態が同じ抵抗状態である場合には、第２のリファレンスメモリ素子１０６ｂの第２の（リファレンス）抵抗値ｒｅｆ２を用いて比較を行う。
【００４９】
本実施形態によれば、第１のリファレンス抵抗値ｒｅｆ１及び第２のリファレンス抵抗値ｒｅｆ２を用いて、４個の抵抗状態のデータ判定を行うので、４個の抵抗状態の抵抗値の各間隔を狭くすることができる。これにより、設計上の制約を緩和することができ、かつデータの誤判定を低減し、正しいデータ判定を行うことができる。
【００５０】
（第２の実施形態）
図８は、第２の実施形態によるメモリ装置の構成例を示す図である。本実施形態（図８）は、第１の実施形態（図１）に対して、リファレンスメモリ１０６を削除したものである。本実施形態の比較判定回路１０７は、第１のリファレンス抵抗値ｒｅｆ１及び第２のリファレンス抵抗値ｒｅｆ２を用いないで、４個の抵抗状態のデータ判定を行う。以下、本実施形態が第１の実施形態と異なる点を説明する。
【００５１】
図９は、図６に対応し、本実施形態によるメモリ素子ＭＥの４個の抵抗状態の抵抗値の分布６０１〜６０４を示す図である。分布６０１〜６０４は、図６の分布６０１〜６０４と同じである。分布６０１は、「Ｌ／Ｌ」の抵抗状態であり、最も抵抗値が低い状態である。分布６０２は、「Ｌ／Ｈ」の抵抗状態であり、２番目に抵抗値が低い状態である。分布６０３は、「Ｈ／Ｌ」の抵抗状態であり、３番目に抵抗値が低い状態である。分布６０４は、「Ｈ／Ｈ」の抵抗状態であり、４番目に抵抗値が低い状態である。上記のように、比較判定回路１０７は、第１のリファレンス抵抗値ｒｅｆ１及び第２のリファレンス抵抗値ｒｅｆ２を用いないで、４個の抵抗状態のデータ判定を行う。
【００５２】
本実施形態は、リファレンス抵抗値ｒｅｆ１〜ｒｅｆ３を用いないので、第１の実施形態と同様に、図５の場合に比べて、４個の抵抗状態の分布６０１〜６０４の抵抗値の各間隔を狭くすることができる。これにより、設計上の制約を緩和することができ、かつデータの誤判定を低減し、正しいデータ判定を行うことができる。
【００５３】
図１０は、本実施形態によるメモリ装置の読み出し処理例を示すフローチャートである。まず、メモリ装置は、ステップＳ７０１〜Ｓ７０５の処理を行う。ステップＳ７０１〜Ｓ７０５の処理は、図７のステップＳ７０１〜Ｓ７０５の処理と同じである。
【００５４】
次に、ステップＳ１００１では、中央処理装置１０１は、ステップＳ７０５で読み出した抵抗値Ｒ２を一時記憶用メモリ１０５に保存する。一時記憶用メモリ１０５は、行デコーダ１０３及び列デコーダ１０８により選択される。
【００５５】
次に、ステップＳ１００２では、比較判定回路１０７は、抵抗値Ｒ１及びＲ２を比較する。抵抗値Ｒ１及びＲ２がほぼ同じ場合には、書き換え前のメモリ素子ＭＥ内の第１の磁気抵抗素子４０１は、高抵抗状態であり、書き換え前のメモリ素子ＭＥは、「Ｌ／Ｈ」又は「Ｈ／Ｈ」の抵抗状態であるので、ステップＳ１０１０へ進む。これに対し、抵抗値Ｒ１が抵抗値Ｒ２より小さい場合には、書き換え前のメモリ素子ＭＥ内の第１の磁気抵抗素子４０１は、低抵抗状態であり、書き換え前のメモリ素子ＭＥは、「Ｌ／Ｌ」又は「Ｈ／Ｌ」の抵抗状態であるので、ステップＳ１００３に進む。この場合、書き換え後のメモリ素子ＭＥは、「Ｌ／Ｈ」又は「Ｈ／Ｈ」の抵抗状態である。このステップでは、具体的には、抵抗値Ｒ２から抵抗値Ｒ１を減算した値が閾値より大きい場合にはステップＳ１００３に進み、抵抗値Ｒ２から抵抗値Ｒ１を減算した値が閾値より小さい場合にはステップＳ１０１０に進む。
【００５６】
ステップＳ１００３では、比較判定回路１０７は、上記の書き換え前の第１の磁気抵抗素子４０１は低抵抗状態であるので、書き換え後のメモリ素子ＭＥ内の第１の磁気抵抗素子４０１を低抵抗状態に書き戻す。これにより、メモリ素子ＭＥは、当初の「Ｌ／Ｌ」又は「Ｈ／Ｌ」の抵抗状態に戻る。
【００５７】
次に、ステップＳ１００４では、比較判定回路１０７は、上記のメモリ素子ＭＥ内の第２の磁気抵抗素子（ＭＴＪ２）４０２を高抵抗状態に書き換える。
【００５８】
次に、ステップＳ１００５では、比較判定回路１０７は、書き換え後のメモリ素子ＭＥの抵抗値Ｒ３を読み出す。
【００５９】
次に、ステップＳ１００６では、比較判定回路１０７は、抵抗値Ｒ２及びＲ３を比較する。抵抗値Ｒ２及びＲ３がほぼ同じ場合には、当初のメモリ素子ＭＥ内の第２の磁気抵抗素子４０２は、高抵抗状態であり、当初のメモリ素子ＭＥは、「Ｈ／Ｌ」の抵抗状態であるので、ステップＳ１００９へ進む。なお、現時点のメモリ素子ＭＥも、「Ｈ／Ｌ」の抵抗状態である。これに対し、抵抗値Ｒ３が抵抗値Ｒ２より大きい場合には、当初のメモリ素子ＭＥ内の第２の磁気抵抗素子４０２は、低抵抗状態であり、当初のメモリ素子ＭＥは、「Ｌ／Ｌ」の抵抗状態であるので、ステップＳ１００７に進む。なお、現時点のメモリ素子ＭＥは、「Ｈ／Ｌ」の抵抗状態である。このステップでは、具体的には、抵抗値Ｒ３から抵抗値Ｒ２を減算した値が閾値より大きい場合にはステップＳ１００７に進み、抵抗値Ｒ３から抵抗値Ｒ２を減算した値が閾値より小さい場合にはステップＳ１００９に進む。
【００６０】
ステップＳ１００７では、比較判定回路１０７は、上記の当初の第２の磁気抵抗素子４０２は低抵抗状態であるので、書き換え後のメモリ素子ＭＥ内の第２の磁気抵抗素子４０２を低抵抗状態に書き戻す。これにより、メモリ素子ＭＥは、当初の「Ｌ／Ｌ」の抵抗状態に戻る。その後、ステップＳ１００８に進む。
【００６１】
ステップＳ１００８では、比較判定回路１０７は、選択したメモリ素子ＭＥが「Ｌ／Ｌ」の抵抗状態であると判定し、「Ｌ／Ｌ」の抵抗状態に対応するデータ値を、入出力インターフェイス回路１０２を介して、中央処理装置１０１に出力する。
【００６２】
ステップＳ１００９では、比較判定回路１０７は、選択したメモリ素子ＭＥが「Ｈ／Ｌ」の抵抗状態であると判定し、「Ｈ／Ｌ」の抵抗状態に対応するデータ値を、入出力インターフェイス回路１０２を介して、中央処理装置１０１に出力する。
【００６３】
ステップＳ１０１０では、比較判定回路１０７は、上記のメモリ素子ＭＥ内の第２の磁気抵抗素子（ＭＴＪ２）４０２を高抵抗状態に書き換える。
【００６４】
次に、ステップＳ１０１１では、比較判定回路１０７は、書き換え後のメモリ素子ＭＥの抵抗値Ｒ４を読み出す。
【００６５】
次に、ステップＳ１０１２では、比較判定回路１０７は、抵抗値Ｒ２及びＲ４を比較する。抵抗値Ｒ２及びＲ４がほぼ同じ場合には、当初のメモリ素子ＭＥ内の第２の磁気抵抗素子４０２は、高抵抗状態であり、当初のメモリ素子ＭＥは、「Ｈ／Ｈ」の抵抗状態であるので、ステップＳ１０１５へ進む。なお、現時点のメモリ素子ＭＥも、「Ｈ／Ｈ」の抵抗状態である。これに対し、抵抗値Ｒ４が抵抗値Ｒ２より大きい場合には、当初のメモリ素子ＭＥ内の第２の磁気抵抗素子４０２は、低抵抗状態であり、当初のメモリ素子ＭＥは、「Ｌ／Ｈ」の抵抗状態であるので、ステップＳ１０１３に進む。なお、現時点のメモリ素子ＭＥは、「Ｈ／Ｈ」の抵抗状態である。このステップでは、具体的には、抵抗値Ｒ４から抵抗値Ｒ２を減算した値が閾値より大きい場合にはステップＳ１０１３に進み、抵抗値Ｒ４から抵抗値Ｒ２を減算した値が閾値より小さい場合にはステップＳ１０１５に進む。
【００６６】
ステップＳ１０１３では、比較判定回路１０７は、上記の当初の第２の磁気抵抗素子４０２は低抵抗状態であるので、書き換え後のメモリ素子ＭＥ内の第２の磁気抵抗素子４０２を低抵抗状態に書き戻す。これにより、メモリ素子ＭＥは、当初の「Ｌ／Ｈ」の抵抗状態に戻る。その後、ステップＳ１０１４に進む。
【００６７】
ステップＳ１０１４では、比較判定回路１０７は、選択したメモリ素子ＭＥが「Ｌ／Ｈ」の抵抗状態であると判定し、「Ｌ／Ｈ」の抵抗状態に対応するデータ値を、入出力インターフェイス回路１０２を介して、中央処理装置１０１に出力する。
【００６８】
ステップＳ１０１５では、比較判定回路１０７は、選択したメモリ素子ＭＥが「Ｈ／Ｈ」の抵抗状態であると判定し、「Ｈ／Ｈ」の抵抗状態に対応するデータ値を、入出力インターフェイス回路１０２を介して、中央処理装置１０１に出力する。
【００６９】
なお、ステップＳ７０４、Ｓ１００４及びＳ１０１０では、磁気抵抗素子４０１及び４０２を高抵抗状態に書き換える例を説明したが、上記と同様に、磁気抵抗素子４０１及び／又は４０２を低抵抗状態に書き換えるようにしてもよい。
【００７０】
また、ステップＳ７０４では、第１の磁気抵抗素子４０１を書き換え、ステップＳ１００４及びＳ１０１０では、第２の磁気抵抗素子４０２を書き換える例を説明したが、ステップＳ７０４では、第２の磁気抵抗素子４０２を書き換え、ステップＳ１００４及びＳ１０１０では、第１の磁気抵抗素子４０１を書き換えるようにしてもよい。
【００７１】
以上のように、ステップＳ１００２では、比較判定回路１０７は、メモリ素子ＭＥ内の複数の磁気抵抗素子４０１及び４０２のうちの１個の第１の磁気抵抗素子４０１を第１の抵抗状態に書き換える前と書き換えた後のメモリ素子ＭＥの抵抗状態を比較し、その比較の結果に応じて、メモリ素子ＭＥの抵抗状態を判定する。
【００７２】
ステップＳ１００６では、比較判定回路１０７は、書き換える前と書き換えた後のメモリ素子ＭＥの抵抗状態が異なる抵抗状態である場合には、書き換えた後のメモリ素子ＭＥの抵抗値Ｒ２と第１の抵抗値Ｒ３とを比較し、その比較の結果に応じて、メモリ素子ＭＥの抵抗状態を判定する。具体的には、比較判定回路１０７は、書き換える前と書き換えた後のメモリ素子ＭＥの抵抗状態が異なる抵抗状態である場合には、メモリ素子ＭＥ内の複数の磁気抵抗素子４０１及び４０２のうちの第１の磁気抵抗素子４０１とは異なる１個の第２の磁気抵抗素子４０２を第１の抵抗状態又は第２の抵抗状態に書き換えた後のメモリ素子ＭＥの抵抗状態を第１の抵抗値Ｒ３として比較する。
【００７３】
ステップＳ１０１２では、比較判定回路１０７は、書き換える前と書き換えた後のメモリ素子ＭＥの抵抗状態が同じ抵抗状態である場合には、書き換えた後のメモリ素子ＭＥの抵抗値Ｒ２と第２の抵抗値Ｒ４とを比較し、その比較の結果に応じて、メモリ素子ＭＥの抵抗状態を判定する。具体的には、比較判定回路１０７は、書き換える前と書き換えた後のメモリ素子ＭＥの抵抗状態が同じ抵抗状態である場合には、メモリ素子ＭＥ内の複数の磁気抵抗素子４０１及び４０２のうちの第１の磁気抵抗素子４０１とは異なる１個の第２の磁気抵抗素子４０２を第１の抵抗状態又は第２の抵抗状態に書き換えた後のメモリ素子ＭＥの抵抗状態を第２の抵抗値Ｒ４として比較する。
【００７４】
本実施形態によれば、抵抗値Ｒ１〜Ｒ４を用いて、４個の抵抗状態のデータ判定を行うので、４個の抵抗状態の抵抗値の各間隔を狭くすることができる。これにより、設計上の制約を緩和することができ、かつデータの誤判定を低減し、正しいデータ判定を行うことができる。
【００７５】
第１及び第２の実施形態によれば、多値ＭＲＡＭのメモリ装置において、少ないリファレンスメモリ素子１０６ａ，１０６ｂを用いて、又はリファレンスメモリ素子を用いずに、読み出しマージンを確保して、データ判定を行い、読み出しを行うことができる。
【００７６】
なお、上記実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【００７７】
１０１  中央処理装置
１０２  入出力インターフェイス回路
１０３  行デコーダ
１０４  メモリアレイ
１０５  一時記憶用メモリ
１０６  リファレンスメモリ
１０６ａ  第１のリファレンスメモリ素子
１０６ｂ  第２のリファレンスメモリ素子
１０７  比較判定回路
１０８  列デコーダ
【図１】
2014229325.tif 000003
【図２】
2014229325.tif 000004
【図３】
2014229325.tif 000005
【図４】
2014229325.tif 000006
【図５】
2014229325.tif 000007
【図６】
2014229325.tif 000008
【図７】
2014229325.tif 000009
【図８】
2014229325.tif 000010
【図９】
2014229325.tif 000011
【図１０】
2014229325.tif 000012