(57)【要約】 【課題】データ破壊を抑制しつつ多値データ読出しの高速化を図ることが可能な抵抗変化メモリ装置を提供する。【解決手段】実施形態の抵抗変化メモリ装置は、複数の抵抗状態のうちの何れかを、２ビット以上で表現されるデータとして記憶する抵抗変化型の記憶素子が複数配列されるメモリセルアレイと、選択された記憶素子のデータを読み出すための読み出し部と、を備える。読み出し部は、記憶素子のデータを読み出す際に、複数種類の定電圧を選択的に記憶素子に印加する。【選択図】図１
2019057347.tif 000002
【特許請求の範囲】
【請求項１】
複数の抵抗状態のうちの何れかを、２ビット以上で表現されるデータとして記憶する抵抗変化型の記憶素子が複数配列されるメモリセルアレイと、
選択された前記記憶素子のデータを読み出すための読み出し部と、を備え、
前記読み出し部は、
前記記憶素子のデータを読み出す際に、複数種類の定電圧を選択的に前記記憶素子に印加する、
抵抗変化メモリ装置。
【請求項２】
前記読み出し部は、前記記憶素子が相転移を起こす動作点を示す相転移点の集合である禁止領域を回避して読み出しを行うように、定電圧を選択する、
請求項１に記載の抵抗変化メモリ装置。
【請求項３】
前記読み出し部は、
前記記憶素子のデータが前記複数の抵抗状態のうちの何れであるかを判定するための複数の閾値抵抗に対応する複数の参照電圧のうちの何れかを順次に選択し、
最初に選択した参照電圧を示す第１の参照電圧と、前記記憶素子に電圧を供給するためのビット線に対して、最初に選択した定電圧を示す第１の定電圧を印加して読み出すときの電圧と、の比較結果に応じて、次の参照電圧および次の定電圧を選択して読み出しを行う、
請求項２に記載の抵抗変化メモリ装置。
【請求項４】
最初に選択した前記第１の定電圧は前記禁止領域を回避可能な最大電圧であり、前記最大電圧と、前記禁止領域を回避可能な最大電流との交点は、前記複数の閾値抵抗のうちの中間の閾値抵抗に対応する、
請求項３に記載の抵抗変化メモリ装置。
【請求項５】
前記読み出し部は、
前記第１の定電圧を印加して読み出したときの前記ビット線の電圧が前記第１の参照電圧よりも大きい場合は、
前記中間の閾値抵抗よりも１段階上の閾値抵抗に対応する参照電圧として、第１の参照電圧よりも高い第２の参照電圧を選択し、定電圧として、前記第１の定電圧よりも高い第２の定電圧を選択して読み出しを行い、
前記第１の定電圧、前記第２の定電圧を前記ビット線に印加して読み出したときの前記記憶素子の動作点が前記禁止領域を回避するように設定される、
請求項４に記載の抵抗変化メモリ装置。
【請求項６】
前記読み出し部は、
前記第１の定電圧を印加して読み出したときの前記ビット線の電圧が前記第１の参照電圧よりも小さい場合は、
前記中間の閾値抵抗よりも１段階下の閾値抵抗に対応する参照電圧として、前記第１の参照電圧よりも小さい第３の参照電圧を選択し、定電圧として、前記第１の定電圧を再度選択して読み出しを行い、
前記第１の定電圧を前記ビット線に印加して読み出したときの前記記憶素子の動作点が前記禁止領域を回避するように設定される、
請求項４または５に記載の抵抗変化メモリ装置。
【請求項７】
前記読み出し部は、
前記第１の定電圧を印加して読み出したときの前記ビット線の電圧が前記第１の参照電圧よりも小さい場合は、
前記中間の閾値抵抗よりも１段階下の閾値抵抗に対応する参照電圧として、前記第１の参照電圧よりも低い第３の参照電圧を選択し、前記第１の定電圧を再度選択せず、かつ、他の定電圧を選択せずに第２回目の読み出しを行い、
前記第１の定電圧を前記ビット線に印加して読み出したときの前記記憶素子の動作点が、前記禁止領域を回避するように設定される、
請求項５に記載の抵抗変化メモリ装置。
【請求項８】
複数の抵抗状態のうちの何れかを、２ビット以上で表現されるデータとして記憶する抵抗変化型の記憶素子が複数配列されるメモリセルアレイと、
選択された前記記憶素子のデータを読み出すための読み出し部と、を備え、
前記読み出し部は、
前記記憶素子のデータを読み出すために定電圧を印加する定電圧読み出し方式と、前記記憶素子のデータを読み出すために定電流を印加する定電流読み出し方式とを切り替えながら、前記記憶素子のデータを読み出す、
抵抗変化メモリ装置。
【請求項９】
前記読み出し部は、
前記定電圧読み出し方式から前記定電流読み出し方式に切り替えて、前記記憶素子のデータを読み出す、
請求項８に記載の抵抗変化メモリ装置。
【請求項１０】
複数の抵抗状態のうちの何れかを、２ビット以上で表現されるデータとして記憶する抵抗変化型の記憶素子が複数配列されるメモリセルアレイと、
選択された前記記憶素子のデータを読み出すための読み出し部と、を備え、
前記読み出し部は、
前記記憶素子のデータを読み出す際に、複数種類の定電流を選択的に前記記憶素子に印加する、
抵抗変化メモリ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、抵抗変化メモリ装置に関する。
【背景技術】
【０００２】
従来、複数（典型的には４つ以上）の抵抗状態のうちの何れかを、２ビット以上で表現されるデータ（多値データ）として記憶する抵抗変化型の記憶素子を有するメモリ装置が知られている。例えば、このようなメモリ装置においてデータの読み出しを行う場合は、選択した記憶素子が接続されたビット線に所定の電圧（読み出し電圧）を印加して読み出すときの電圧と、複数の閾値抵抗のうちの何れかに対応する参照電圧とを比較するセンス動作を、参照電圧を変えながら繰り返すことで該記憶素子の抵抗状態を特定することになる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−９９２０６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上述のような多値データ（２ビット以上のデータ）を記憶する抵抗変化型の記憶素子は、高抵抗状態に設定される場合もあり、そのような場合は読み出しが遅くなる可能性がある。そのため、高電流・高電圧な動作点で読み出しを行うことが考えうるが、高電流・高電圧な動作点では誤書き込み等が起こり、データが破壊されるおそれがある。
【０００５】
本発明が解決しようとする課題は、データ破壊を抑制しつつ多値データ読出しの高速化を図ることが可能な抵抗変化メモリ装置を提供することである。
【課題を解決するための手段】
【０００６】
実施形態の抵抗変化メモリ装置は、複数の抵抗状態のうちの何れかを、２ビット以上で表現されるデータとして記憶する抵抗変化型の記憶素子が複数配列されるメモリセルアレイと、選択された記憶素子のデータを読み出すための読み出し部と、を備える。読み出し部は、記憶素子のデータを読み出す際に、複数種類の定電圧を選択的に記憶素子に印加する。
【図面の簡単な説明】
【０００７】
【図１】第１の実施形態の抵抗変化メモリ装置の概略構成を示す図。
【図２】第１の実施形態の閾値抵抗を説明するための図。
【図３】第１の実施形態の記憶素子の電流−電圧特性を示す図。
【図４】第１の実施形態の閾値抵抗に対応する記憶素子の動作点を示す図。
【図５】第１の実施形態の閾値抵抗に対応する記憶素子の動作点を示す図。
【図６】第１の実施形態の閾値抵抗に対応する記憶素子の動作点を示す図。
【図７】第１の実施形態の読み出し部の回路構成を示す図。
【図８】第１の実施形態のラッチ／選択回路の構成を示す図。
【図９】第１の実施形態のラッチ／選択回路の構成を示す図。
【図１０】第１の実施形態の読み出し部の動作を説明するための図。
【図１１】第２の実施形態の閾値抵抗に対応する記憶素子の動作点を示す図。
【図１２】第２の実施形態の閾値抵抗に対応する記憶素子の動作点を示す図。
【図１３】第２の実施形態の閾値抵抗に対応する記憶素子の動作点を示す図。
【図１４】第２の実施形態の読み出し部の回路構成を示す図。
【図１５】第２の実施形態のラッチ／選択回路の構成を示す図。
【図１６】第２の実施形態の読み出し部の動作を説明するための図。
【図１７】第３の実施形態の閾値抵抗に対応する記憶素子の動作点を示す図。
【図１８】第３の実施形態の閾値抵抗に対応する記憶素子の動作点を示す図。
【図１９】第３の実施形態の閾値抵抗に対応する記憶素子の動作点を示す図。
【図２０】第３の実施形態の読み出し部の回路構成を示す図。
【図２１】第３の実施形態のラッチ／選択回路の構成を示す図。
【図２２】第３の実施形態のラッチ／選択回路の構成を示す図。
【図２３】第３の実施形態の読み出し部の動作を説明するための図。
【図２４】第４の実施形態の閾値抵抗に対応する記憶素子の動作点を示す図。
【図２５】第４の実施形態の閾値抵抗に対応する記憶素子の動作点を示す図。
【図２６】第４の実施形態の閾値抵抗に対応する記憶素子の動作点を示す図。
【図２７】第４の実施形態の読み出し部の回路構成を示す図。
【図２８】第４の実施形態のラッチ／選択回路の構成を示す図。
【図２９】第４の実施形態の読み出し部の動作を説明するための図。
【図３０】第５の実施形態の閾値抵抗に対応する記憶素子の動作点を示す図。
【図３１】第５の実施形態の閾値抵抗に対応する記憶素子の動作点を示す図。
【図３２】第５の実施形態の閾値抵抗に対応する記憶素子の動作点を示す図。
【図３３】第５の実施形態の読み出し部の回路構成を示す図。
【図３４】第５の実施形態のラッチ／選択回路の構成を示す図。
【図３５】第５の実施形態のラッチ／選択回路の構成を示す図。
【図３６】第５の実施形態の読み出し部の動作を説明するための図。
【発明を実施するための形態】
【０００８】
以下、添付図面を参照しながら、抵抗変化メモリ装置の実施形態を詳細に説明する。
【０００９】
図１は、後述の各実施形態に共通する抵抗変化メモリ装置１の概略構成を示すブロック図である。図１に示すように、抵抗変化メモリ装置１は、メモリセルアレイ１００、ロウデコーダ２００、カラムデコーダ３００、書き込み／読み出し部４００を備える。
【００１０】
メモリセルアレイ１００は、複数の抵抗状態のうちの何れかを、２ビット以上で表現されるデータ（多値データ）として記憶する抵抗変化型の記憶素子１０１が複数配列される。より具体的には、メモリセルアレイ１００には、複数の記憶素子１０１がマトリクス状に配列される。図１に示すように、記憶素子１０１は、複数のワード線ＷＬと複数のビット線ＢＬとの各交差部に配置される。この例では、抵抗変化型の記憶素子１０１は、書き込まれる電圧に応じて、４つの抵抗状態に設定可能であるが、設定可能な抵抗状態の数はこれに限られるものではない。ここでは、記憶素子１０１は、４つの抵抗状態のうちの何れかをデータ（２ビットのデータ）として記憶する形態であることを前提とする。以下の説明では、４つの抵抗状態のそれぞれを、高抵抗側より順に（１，１）、（１，０）、（０，１）、（０，０）と表す。なお、記憶素子１０１のデータを読み出す場合は、記憶素子１０１の抵抗状態が４つの抵抗状態のうちの何れに該当するのかを判断する必要がある。そのため、ここでは、図２に示すように、４つの抵抗状態を判別するための３つの閾値抵抗（Ｒｔｈ１＞Ｒｔｈ２＞Ｒｔｈ３）を設けて判断している。
【００１１】
なお、抵抗変化型の記憶素子１０１としては、例えば合金型ＰＣＭ、界面型ＰＣＭ（ｉＰＣＭ）、ＲｅＲＡＭ（ＨｆＯｘ）、ＣＢＲＡＭ（Ｃｕ／Ａｌ２Ｏ３）などを用いることができる。
【００１２】
ロウデコーダ２００は、書き込み／読み出し部４００から送られるアドレス信号に基づき、ワード線ＷＬを選択する。図１の例では、ワード線ＷＬごとに、ワード線ＷＬと、電源線ＶＰＰ（ワード線ＷＬ昇圧用電源）との導通／非導通を切り替えるための選択トランジスタ２０１が設けられる。ロウデコーダ２００は、選択トランジスタ２０１をオン状態に遷移させ、非選択対象の選択トランジスタ２０１をオフ状態に維持する。この例では、選択トランジスタ２０１は、ゲートに供給される信号に応じてオン／オフが切り替わり、信号がHighの場合にトランジスタ２０１はオフ状態に遷移し、信号がLowの場合に選択トランジスタ２０１はオン状態に遷移する。
【００１３】
カラムデコーダ３００は、書き込み／読み出し部４００から送られるアドレス信号に基づき、ビット線ＢＬを選択する。図１の例では、ビット線ＢＬごとに、ビット線ＢＬと後述の定電圧供給部（図示省略するが一般的には高電位電源線。実施形態では後述のＶＲＶ１、ＶＲＶ２Ｈ、Ｖｄｄが用いられる。電流源の場合はＩｍａｘが供給される。）との導通／非導通を切り替えるための選択トランジスタ３０１が設けられる。カラムデコーダ３００は、選択対象のビット線ＢＬに設けられた選択トランジスタ３０１をオン状態に遷移させ、非選択対象のビット線ＢＬに設けられた選択トランジスタ３０１をオフ状態に維持する。
【００１４】
書き込み／読み出し部４００は、外部のホスト装置からのコマンド（データの書き込みを要求する書き込みコマンド、または、データの読み出しを要求する読み出しコマンド）を受け付け、その受け付けたコマンドに従って、データの書き込み又はデータの読み出しを行う。例えば読み出しコマンドの中には、読み出し対象の記憶素子１０１の位置を特定するためのアドレス信号が含まれており、書き込み／読み出し部４００は、そのアドレス信号を、ロウデコーダ２００およびカラムデコーダ３００を選択・制御して、読み出し対象の記憶素子１０１を選択させる。
【００１５】
ここでは、書き込み／読み出し部４００のデータの読み出しに関する機能は、「選択された記憶素子１０１のデータを読み出すための読み出し部」に対応する。以下の説明では、書き込み／読み出し部４００を「読み出し部４００」と称して、データの読み出しに関する機能を中心に説明する。
【００１６】
ここで、多値データの読み出しにおいては、高抵抗状態のデータの読み出しを行う場合に読み出し速度が遅くなるので、高速化を図るためには、できるだけ高電圧・高電流な動作点で記憶素子１０１の読み出しを行うことが望ましい。図３は、記憶素子１０１の電流−電圧特性を示す図であるが、高電圧・高電流な動作点では、記憶素子１０１が相転移を起こし、抵抗状態が急峻に変化することで誤書き込み等が起こることによって、データが破壊されるおそれがある。このため、記憶素子１０１が相転移を起こす動作点を示す相転移点の集合である禁止領域を回避しつつ高電圧・高電流な動作点で読み出しを行うことが望ましい。
【００１７】
そこで、本実施形態の読み出し部４００は、記憶素子１０１のデータを読み出す際に、複数種類の定電圧を選択的に記憶素子１０１に印加する。より具体的には、読み出し部４００は、記憶素子１０１が相転移を起こす動作点を示す相転移点の集合である禁止領域を回避して読み出しを行うように、定電圧を選択する。以下、具体的に説明する。
【００１８】
（第１の実施形態）
読み出し部４００は、読み出し対象として選択された記憶素子１０１のデータが複数の抵抗状態のうちの何れであるかを判定するための複数（この例では３つ）の閾値抵抗（Ｒｔｈ１，Ｒｔｈ２，Ｒｔｈ３）に対応する複数の参照電圧を順次に選択する。読み出し部４００は、最初に選択した参照電圧を示す第１の参照電圧ＶＲＥＦ１と、記憶素子１０１に電圧を供給するためのビット線ＢＬに対して、最初に選択した定電圧を示す第１の定電圧ＶＲＶ１を印加して読み出すときの電圧と、の比較結果に応じて、次の参照電圧および次の定電圧を選択して読み出しを行う。
【００１９】
図４乃至図１０を参照しながら、第１の実施形態の具体的な内容を説明する。まず、最初に読み出し対象の記憶素子１０１に接続されたワード線ＷＬを非選択（ＷＬ：Low）にした状態（フローティング状態）で、該記憶素子１０１に接続されたビット線ＢＬに第１の定電圧ＶＲＶ１を印加する。図４に示すように、この第１の定電圧ＶＲＶ１は、禁止領域(誤書き込み領域)に掛からない電圧のうち最大の電圧である。また、ここでは、禁止領域に掛からない電流のうち最大の電流をＩｍａｘと呼ぶ。Ｉｍａｘの直線とＶＲＶ１の直線の交点を、前述した閾値抵抗Ｒｔｈ２に対応する直線が通過する。つまり、最初に選択した第１の定電圧ＶＲＶ１は禁止領域を回避可能な最大電圧であり、この最大電圧と、禁止領域を回避可能な最大電流Ｉｍａｘとの交点は、複数の閾値抵抗のうちの中間の閾値抵抗Ｒｔｈ２に対応する。図５、図６に示すように、この閾値抵抗Ｒｔｈ２の直線（上記交点と原点を結ぶ直線）は(０，１)と（１，０）の中間に位置する。まず第１回目の読み出しにおいては、記憶素子１０１の抵抗状態が、４つの抵抗状態のうち上位２つの抵抗状態なのか下位２つの抵抗状態なのかが判定される。図４および図１０に示すように、ワード線ＷＬを非選択としたフローティングの状態で第１の定電圧ＶＲＶ１が印加された後にワード線ＷＬが選択され、ビット線ＢＬの電圧が下降していき、第１の参照電圧ＶＲＥＦ１との比較が行われる。ここでは、第１のセンス（第１回目の読み出し）が行われる時刻（ビット線ＢＬの電位が下降して行ってオペアンプの参照電位を下回る時刻）において、記憶素子１０１の抵抗値がＲｔｈ２のときにビット線ＢＬの電圧は第１の参照電圧ＶＲＥＦ１を示すように設定される。
【００２０】
読み出し部４００は、上述のようにして最初に第１の参照電圧ＶＲＥＦ１および第１の定電圧ＶＲＶ１を選択し、第１の定電圧ＶＲＶ１を印加して読み出すときのビット線ＢＬの電圧が第１の参照電圧ＶＲＥＦ１よりも大きい場合は、中間の閾値抵抗Ｒｔｈ２よりも１段階上の閾値抵抗Ｒｔｈ１に対応する参照電圧として、第１の参照電圧ＶＲＥＦ１よりも高い第２の参照電圧ＶＲＥＦ２Ｈを供給し、定電圧として、第１の定電圧ＶＲＶ１よりも高い第２の定電圧ＶＲＶ２Ｈを供給して第２回目の読み出しを行う。ここでは、第１の定電圧ＶＲＶ１、第２の定電圧ＶＲＶ２Ｈをビット線ＢＬに印加して読み出したときの記憶素子１０１の動作点が禁止領域を回避するように設定される。つまり、読み出し部４００は、第ｋ（≧３）の定電圧を印加して読み出したときのビット線ＢＬの電圧が第ｋの参照電圧よりも大きい場合は、中間の閾値抵抗よりも１段階又はそれより上の閾値抵抗に対応する参照電圧として、第ｋの参照電圧よりも高い第ｋ’の参照電圧を選択し、定電圧として、第ｋの定電圧よりも高い第ｋ’の定電圧を選択して読み出しを行う。ここでは、第ｋの定電圧、第ｋ’の定電圧をビット線ＢＬに印加して読み出したときの記憶素子１０１の動作点が禁止領域を回避するように設定される。例えば、8値の場合は全体の抵抗幅の内、5/8や7/8の位置が参照抵抗になる場合がある。又16値の場合は全体の抵抗幅の内、9/16、11/16、13/16、15/16の位置が参照抵抗になる場合がある。
【００２１】
以下に、第１回目の読み出しで、読み出し対象の記憶素子１０１の抵抗状態が、４つの抵抗状態のうち上位２つの抵抗状態の何れか（即ち（１，１）（１，０）の何れか）であった場合の第２回目の読み出しを説明する。読み出し部４００は、第１回目の読み出しを行ってから第２回目の読み出しを行う途中の段階において、記憶素子１０１を一旦非選択としてから再度選択し（ワード線ＷＬを一旦非選択としてから再度選択し）、記憶素子１０１を非選択とする期間中に、第２の定電圧ＶＲＶ２Ｈをビット線ＢＬにプリチャージする。図５および図１０に示すように、ワード線ＷＬを非選択としたフローティングの状態で第２の定電圧ＶＲＶ２Ｈが印加された後にワード線ＷＬが再度選択され、ビット線ＢＬの電圧が下降していき、第２の参照電圧ＶＲＥＦ２Ｈとの比較が行われる。ここでは、第２のセンス（第２回目の読み出し）が行われる時刻（ビット線ＢＬの電位が下降して行ってオペアンプの参照電位を下回る時刻）において、記憶素子１０１の抵抗値がＲｔｈ１のときにビット線ＢＬの電圧は第２の参照電圧ＶＲＥＦ２Ｈを示すように設定される。ビット線ＢＬの、記憶素子１０１の抵抗状態に応じた電圧が第２の参照電圧ＶＲＥＦ２Ｈよりも小さい場合は、読み出し対象の記憶素子１０１の抵抗状態は、中間の閾値抵抗Ｒｔｈ２と１段階上の閾値抵抗Ｒｔｈ１との間であることが分かるので、（１，０）であると特定することができる（図２参照）。また、第２の定電圧ＶＲＶ２Ｈを印加して読み出したときのビット線ＢＬの電圧が第２の参照電圧ＶＲＥＦ２Ｈよりも大きい場合は、読み出し対象の記憶素子１０１の抵抗状態は、１段階上の閾値抵抗Ｒｔｈ１よりも抵抗が大きいことが分かるので、（１，１）であると特定することができる（図２参照）。
【００２２】
また、読み出し部４００は、第１回目の読み出し時に上述のようにして最初に第１の参照電圧ＶＲＥＦ１および第１の定電圧ＶＲＶ１を選択し、上述の第１の定電圧ＶＲＶ１を印加して読み出したときのビット線ＢＬの電圧が第１の参照電圧ＶＲＥＦ１よりも小さい場合は、中間の閾値抵抗Ｒｔｈ２よりも１段階下の閾値抵抗Ｒｔｈ３に対応する参照電圧として第１の参照電圧ＶＲＥＦ１よりも小さい第３の参照電圧ＶＲＥＦ２Ｌを選択し、定電圧として、再度第１の定電圧ＶＲＶ１を選択して第２回目の読み出しを行う。ここでは、第１の定電圧ＶＲＶ１をビット線ＢＬに印加して読み出したときの記憶素子１０１の動作点が禁止領域を回避するように設定される。つまり、読み出し部４００は、第１の定電圧ＶＲＶ１を印加して読み出したときのビット線ＢＬの電圧が第１の参照電圧ＶＲＥＦ１よりも小さい場合は、第ｋ（≧３）の閾値抵抗よりも１段階又はそれより上の閾値抵抗に対応する参照電圧として、第ｋの参照電圧よりも小さい第ｋ’’の参照電圧を選択し、定電圧として、第１の定電圧ＶＲＶ１を再度選択して読み出しを行う。ここでは、第ｋの定電圧をビット線ＢＬに印加して読み出したときの記憶素子１０１の動作点が禁止領域を回避するように設定される。例えば、8値の場合は全体の抵抗幅の内、5/8や7/8の位置が参照抵抗になる場合がある。又16値の場合は全体の抵抗幅の内、9/16、11/16、13/16、15/16の位置が参照抵抗になる場合がある。
【００２３】
図６は、第１回目の読み出しにおいて、記憶素子１０１の抵抗状態が下位の２つの抵抗状態の何れか（即ち（０，１）（０，０）の何れか）であった場合の第２回目の読み出しを示す図である。読み出し部４００は、第１回目の読み出しを行ってから第２回目の読み出しを行う途中の段階において、記憶素子１０１を一旦非選択としてから再度選択し、記憶素子１０１を非選択とする期間中に、再度第１の定電圧ＶＲＶ１をビット線ＢＬにプリチャージする。この例では、ワード線ＷＬを非選択としたフローティングの状態で第１の定電圧ＶＲＶ１が再度印加された後にワード線ＷＬが再度選択され、ビット線ＢＬの電圧が下降していき、第３の参照電圧ＶＲＥＦ２Ｌとの比較が行われる。ここでは、第２のセンス（第２回目の読み出し）が行われる時刻（ビット線ＢＬの電位が下降して行ってオペアンプの参照電位を下回る時刻）において、記憶素子１０１の抵抗値がＲｔｈ３のときにビット線ＢＬの電圧は第３の参照電圧ＶＲＥＦ２Ｌを示すように設定される。ビット線ＢＬの、記憶素子１０１の抵抗状態に応じた電圧が第３の参照電圧ＶＲＥＦ２Ｌよりも大きい場合は、読み出し対象の記憶素子１０１の抵抗状態は、中間の閾値抵抗Ｒｔｈ２と１段階下の閾値抵抗Ｒｔｈ３との間であることが分かるので、（０，１）であると特定することができる（図２参照）。また、第１の定電圧ＶＲＶ１を再度印加して読み出したときのビット線ＢＬの電圧が第３の参照電圧ＶＲＥＦ２Ｌよりも小さい場合は、読み出し対象の記憶素子１０１の抵抗状態は、１段階下の閾値抵抗Ｒｔｈ３よりも抵抗が小さいことが分かるので、（０，０）であると特定することができる（図２参照）。
【００２４】
図７は、読み出し部４００が有する機能のうち、参照電圧および定電圧を選択する機能を提供するための回路構成の一例を示す図である。図７に示すように、読み出し部４００は、定電圧供給部４１０、オペアンプ４２０、ＡＮＤ回路４３０、ラッチ／選択回路４４０、参照電圧供給部４５０を少なくとも備える。また、各記憶素子１０１に対応してトランジスタ２０２が設けられる。このトランジスタ２０２は、ワード線ＷＬがゲートに接続されて、記憶素子１０１と低電位電源線ＶＳＬとの導通／非導通を切り替えるためのセルトランジスタである。
【００２５】
定電圧供給部４１０は、ビット線ＢＬに対して定電圧を供給するための回路である。図７の例では、定電圧供給部４１０は、トランジスタ４１１，４１２，４１３を含む。トランジスタ４１１は、第１の定電圧ＶＲＶ１をビット線ＢＬへ印加するか否かを切り替えるためのトランジスタであり、ゲートに入力される信号／ＰＲ１に応じてオン／オフが切り替わる。この例では、トランジスタ４１１は、信号／ＰＲ１がLowに遷移するとオン状態に遷移し、信号／ＰＲ１がHighに遷移するとオフ状態に遷移する。
【００２６】
トランジスタ４１２は、第２の定電圧ＶＲＶ２Ｈをビット線ＢＬへ印加するか否かを切り替えるためのトランジスタであり、ゲートに入力される信号／ＰＲ２Ｈに応じてオン／オフが切り替わる。この例では、トランジスタ４１２は、信号／ＰＲ２ＨがLowに遷移するとオン状態に遷移し、信号／ＰＲ２がHighに遷移するとオフ状態に遷移する。
【００２７】
トランジスタ４１３は、第１の定電圧ＶＲＶ１をビット線ＢＬへ印加するか否かを切り替えるためのトランジスタであり、ゲートに入力される信号／ＰＲ２Ｌに応じてオン／オフが切り替わる。この例では、トランジスタ４１３は、信号／ＰＲ２ＬがLowに遷移するとオン状態に遷移し、信号／ＰＲ２ＬがHighに遷移するとオフ状態に遷移する。
【００２８】
なお、信号／ＰＲ１、／ＰＲ２Ｈおよび／ＰＲ２Ｌの信号レベル（Ｈ／Ｌ）は読み出し部４００によって制御される。
【００２９】
オペアンプ４２０は、ビット線ＢＬの電圧と、参照電圧との比較結果を出力する。この例では、オペアンプ４２０の正の入力側（非反転増幅端子）にはビット線ＢＬの電圧が入力され、負の入力側（反転増幅端子）には参照電圧が入力される。オペアンプ４２０の出力ＯＵＴはラッチ／選択回路４４０を介してＡＮＤ回路４３０に入力される。ＡＮＤ回路４３０には、アウトプットイネーブル信号（ここでは「ＯＥ」と称する）が入力され、ＯＥの信号レベルがHighに遷移したときにＡＮＤ回路４３０からの出力ＤＯＵＴが出力される。
【００３０】
ラッチ／選択回路４４０は、オペアンプ４２０の出力ＯＵＴをラッチするとともに、その出力ＯＵＴに応じて、次の参照電圧および次の定電圧を選択するための回路である。具体的な構成については後述する。
【００３１】
参照電圧供給部４５０は、オペアンプ４２０の負の入力側（反転増幅端子）に参照電圧を供給するための回路であり、スイッチング素子（相補型スイッチ）４５１，４５２，４５３を含む。スイッチング素子４５１は、第１の参照電圧ＶＲＥＦ１をオペアンプ４２０の負の入力側（反転増幅端子）に供給するか否かを切り替えるためのスイッチング素子である。信号ＳＷ１に応じてオン／オフが切り替わる。この例では、信号ＳＷ１がHighに遷移するとオン状態に遷移し、信号ＳＷ１がLowに遷移するとオフ状態に遷移する。なお、信号ＳＷ１の信号レベル（Ｈ／Ｌ）は読み出し部４００によって制御される。
【００３２】
スイッチング素子４５２は、第２の参照電圧ＶＲＥＦ２Ｈをオペアンプ４２０の負の入力側（反転増幅端子）に供給するか否かを切り替えるためのスイッチング素子である。信号ＳＷ１２Ｈに応じてオン／オフが切り替わる。この例では、信号ＳＷ１２ＨがHighに遷移するとオン状態に遷移し、信号ＳＷ１２ＨがLowに遷移するとオフ状態に遷移する。なお、後述するように、信号ＳＷ１２Ｈの信号レベルは、ラッチ／選択回路４４０によって制御されることになる。
【００３３】
スイッチング素子４５３は、第３の参照電圧ＶＲＥＦ２Ｌをオペアンプ４２０の負の入力側（反転増幅端子）に供給するか否かを切り替えるためのスイッチング素子である。信号ＳＷ１２Ｌに応じてオン／オフが切り替わる。この例では、スイッチング素子４５３は、信号ＳＷ１２ＬがHighに遷移するとオン状態に遷移し、信号ＳＷ１２ＬがLowに遷移するとオフ状態に遷移する。なお、後述するように、信号ＳＷ１２Ｌの信号レベルは、ラッチ／選択回路４４０によって制御されることになる。
【００３４】
次に、図８および図９を参照して、ラッチ／選択回路４４０の構成を説明する。図８は、ラッチ／選択回路４４０が有する機能のうち、上述のオペアンプ４２０からの出力ＯＵＴをラッチする機能を提供するための回路の構成例を示す図である。図８に示すように、ラッチ／選択回路４４０は、スイッチング素子４４１とラッチ回路４４２とを備える。スイッチング素子４４１はオペアンプ４２０からの出力ＯＵＴをラッチ回路４４２へ供給するか否かを切り替えるためのスイッチング素子である。スイッチング素子４４１は、信号ＯＮ１に応じてオン／オフが切り替わる。この例では、信号ＯＮ１がHighに遷移するとスイッチング素子４４１はオン状態に遷移し、信号ＯＮ１がLowに遷移するとスイッチング素子４４１はオフ状態に遷移する。なお、信号ＯＮ１の信号レベル（Ｈ／Ｌ）は読み出し部４００によって制御される。
【００３５】
ラッチ回路４４２は、オン状態に遷移したスイッチング素子４４１を介して入力される出力ＯＵＴ１（オペアンプ４２０からの出力ＯＵＴ）をラッチする。また、ラッチ回路４４２は、ラッチ動作を行うか行わないかを切り替えるためのトランジスタ４４３，４４４を備える。トランジスタ４４３のゲートへ入力される信号／ＯＮ１２（信号ＯＮ１２の反転信号）やトランジスタ４４４のゲートへ入力される信号ＯＮ１２の信号レベルは、読み出し部４００によって制御される。
【００３６】
図９は、ラッチ／選択回路４４０が有する機能のうち、定電圧および参照電圧を選択する機能を提供するための回路（以下、「選択回路」と称する場合がある）の構成例を示す図である。図９に示すように、ラッチ／選択回路４４０は、インバータ５０１、インバータ５０２、ＮＡＮＤ回路５０３、インバータ５０４、インバータ５０５、ＮＡＮＤ回路５０６、ＮＡＮＤ回路５０７、インバータ５０８、インバータ５０９、ＮＡＮＤ回路５１０、ＮＡＮＤ回路５１１を備える。ＮＡＮＤ回路５１１には、信号ＳＷ１と／ＷＬ（ワード線ＷＬの反転した状態を表す信号）が入力され、信号ＳＷ１と／ＷＬのＮＡＮＤ  Ｌｏｇｉｃを取って、信号／ＰＲ１が出力される。つまり、ＳＷ１がHighとなり、且つＷＬが閉じている間、ビット線ＢＬにプリチャージが行われる。
【００３７】
上述の出力ＯＵＴ１はインバータ５０１へ入力される。出力ＯＵＴ１がインバータ５０１で反転された信号／ｎｏｄｅ１２はインバータ５０２へ入力されるとともに、ＮＡＮＤ回路５０７へ入力される。
【００３８】
インバータ５０２で信号／ｎｏｄｅ１２が反転された信号ｎｏｄｅ１２はＮＡＮＤ回路５０３へ入力される。ＮＡＮＤ回路５０３には信号ＯＮ１２も入力され、信号ＯＮ１２がHigh、かつ、信号ｎｏｄｅ１２がHighの場合は、ＮＡＮＤ回路５０３から出力される信号／ＳＷ１２ＨはLowとなり、それ以外の場合は、ＮＡＮＤ回路５０３から出力される信号／ＳＷ１２ＨはHighとなる。そして、信号／ＳＷ１２Ｈはインバータ５０４へ入力される。信号／ＳＷ１２Ｈはインバータ５０４で反転され、信号ＳＷ１２Ｈとして出力される。また、信号／ＳＷ１２Ｈはインバータ５０５へも入力される。インバータ５０５で反転された信号／ＳＷ１２ＨはＮＡＮＤ回路５０６へ入力される。ＮＡＮＤ回路５０６には信号ＯＮ１２も入力され、信号ＯＮ１２がHigh、かつ、信号／ＳＷ１２ＨがLowの場合は、ＮＡＮＤ回路５０６から出力される信号／ＰＲ２ＨはLowとなり、それ以外の場合は、ＮＡＮＤ回路５０６から出力される信号／ＰＲ２ＨはHighとなる。
【００３９】
一方、上述の信号／ｎｏｄｅ１２が入力されるＮＡＮＤ回路５０７には信号ＯＮ１２も入力され、信号ＯＮ１２がHigh、かつ、信号／ｎｏｄｅ１２がHighの場合は、ＮＡＮＤ回路５０７から出力される信号／ＳＷ１２ＬはLowとなり、それ以外の場合は、信号／ＳＷ１２ＬはHighとなる。そして、信号／ＳＷ１２Ｌはインバータ５０８へ入力される。信号／ＳＷ１２Ｌはインバータ５０８で反転され、信号ＳＷ１２Ｌとして出力される。また、信号／ＳＷ１２Ｌはインバータ５０９へ入力される。インバータ５０９で反転された信号は、さらにＮＡＮＤ回路５１０へ入力され、ＮＡＮＤ回路５１０には信号ＯＮ２も入力され、ＮＡＮＤ  Ｌｏｇｉｃを取って、信号／ＰＲ２Ｌが出力される。
【００４０】
例えば最初の読み出し時において、定電圧として第１の定電圧ＶＲＶ１、参照電圧として第１の参照電圧ＶＲＥＦ１が選択された場合に、オペアンプ４２０の出力ＯＵＴがLowの場合を想定する。つまり、第１の参照電圧ＶＲＥＦ１の方が、第１の定電圧ＶＲＶ１を印加して読み出すときのビット線ＢＬの電圧よりも高い場合を想定する。この場合、図８および図９の回路によれば、信号ＳＷ１２ＬはHigh、信号／ＰＲ２ＬはLow、信号ＳＷ１２ＨはLow、信号／ＰＲ２ＨはHighとなり、参照電圧として第３の参照電圧ＶＲＥＦ２Ｌ、定電圧として再度第１の定電圧ＶＲＶ１が選択されることになる。
【００４１】
一方、例えばオペアンプ４２０の出力ＯＵＴがHigh、つまり、第１の参照電圧ＶＲＥＦ１の方が、第１の定電圧ＶＲＶ１を印加して読み出すときのビット線ＢＬの電圧よりも低い場合を想定する。この場合、図８および図９の回路によれば、信号ＳＷ１２ＬはLow、信号／ＰＲ２ＬはHigh、信号ＳＷ１２ＨはHigh、信号／ＰＲ２ＨはLowとなり、参照電圧として第２の参照電圧ＶＲＥＦ２Ｈ、定電圧として第２の定電圧ＶＲＶ２Ｈが供給されることになる。
【００４２】
図１０は、読み出し部４００が、選択された記憶素子１０１からのデータを読み出す際に、参照電圧および定電圧を選択するための各種信号を制御するときのタイミングチャートの一例を示す図である。この例では、選択対象の記憶素子１０１に接続されたビット線ＢＬは選択済みであることを前提とする。つまり、選択対象の記憶素子１０１に接続されたビット線ＢＬの選択トランジスタ３０１はオン状態に遷移していることを前提とする。
【００４３】
図１０に示すように、まず読み出し部４００は、信号ＳＷ１をHigh、信号／ＰＲ１をLowに制御する。これにより、トランジスタ４１１およびスイッチング素子４５１がオン状態に遷移するので、選択対象の記憶素子１０１に接続されたビット線Ｂに印加する定電圧として第１の定電圧ＶＲＶ１が選択され、オペアンプ４２０の負の入力側（反転増幅端子）に入力される参照電圧として第１の参照電圧ＶＲＥＦ１が選択される。信号ＳＷ１は後述する信号ＯＮ１がLowに遷移するまでHighとなり、オペアンプ４２０の反転増幅端子側に第１の参照電圧ＶＲＥＦ１が供給される。
【００４４】
次に、読み出し部４００は、選択対象の記憶素子１０１に接続されたワード線ＷＬを選択（ＷＬ：High）とする。具体的には、選択対象の記憶素子１０１に接続されたワード線ＷＬの選択トランジスタ２０１のゲートに供給する信号をLowに遷移させて、該選択トランジスタ２０１をオン状態に遷移させる。これにより、プリチャージされたビット線ＢＬ（選択対象の記憶素子１０１に接続されたビット線ＢＬ）はフローティング状態から記憶素子１０１（セル抵抗）を介して低電位電源線ＶＳＬに接続され、選択対象の記憶素子１０１の抵抗状態に応じてビット線ＢＬの電圧は降下（第１の定電圧ＶＲＶ１から降下）していく。図１０では、記憶素子１０１の抵抗状態が（１，１）、（１，０）、（０，１）、（０，０）のそれぞれの場合におけるビット線ＢＬの電圧降下の様子を示している。
【００４５】
フローティング状態から記憶素子１０１を介して低電位電源線ＶＳＬに接続されたビット線ＢＬの電圧が第１の参照電圧ＶＲＥＦ１と比較されるまでの時間（記憶素子１０１の抵抗状態が中間の閾値抵抗Ｒｔｈ２に相当する場合に、第１の定電圧ＶＲＶ１が印加されてフローティング状態から記憶素子１０１を介して低電位電源線ＶＳＬに接続されたビット線ＢＬの電圧が第１の参照電圧ＶＲＥＦ１に降下するまでの時間）が経過した後、読み出し部４００は、ビット線ＢＬの電位の比較ができるタイミング（データの読み出しタイミングに相当）で信号ＯＮ１をHighに制御する。これにより、スイッチング素子４４１がオン状態に遷移するので、オペアンプ４２０の出力ＯＵＴがラッチされるとともに上述の選択回路へ入力される。また、読み出し部４００は、ＷＬをLowに制御する。これにより、選択対象の記憶素子１０１に接続されたワード線ＷＬが再び非選択となる。読み出し部４００は、信号ＯＮ１を所定時間だけHighに維持した後、信号ＯＮ１をLowに遷移させる。そして、読み出し部４００は、図示しないＬｏｇｉｃにより、ビット線ＢＬをプリチャージするために、／ＰＲ２Ｈ、／ＰＲ２ＬをLowにする。
【００４６】
その後、上述したように、オペアンプ４２０の出力ＯＵＴがLowの場合は、信号ＳＷ１２ＬはHigh、信号／ＰＲ２ＬはLow、信号ＳＷ１２ＨはLow、信号／ＰＲ２ＨはHighとなり、参照電圧として第３の参照電圧ＶＲＥＦ２Ｌ、定電圧として再度第１の定電圧ＶＲＶ１が選択される。また、オペアンプ４２０の出力ＯＵＴがHighの場合は、信号ＳＷ１２ＬはLow、信号／ＰＲ２ＬはHigh、信号ＳＷ１２ＨはHigh、信号／ＰＲ２ＨはLowとなり、参照電圧として第２の参照電圧ＶＲＥＦ２Ｈ、定電圧として第２の定電圧ＶＲＶ２Ｈが選択される。
【００４７】
そして、読み出し部４００は、選択対象の記憶素子１０１に接続されたワード線ＷＬを選択するために、ＷＬをHighに遷移させる。これにより、第２の定電圧ＶＲＶ２Ｈまたは第３の定電圧ＶＲＶ２Ｌでプリチャージされていたビット線ＢＬはフローティング状態から記憶素子１０１を介して低電位電源線ＶＳＬに接続され、選択対象の記憶素子１０１の抵抗状態に応じてビット線ＢＬの電圧は降下していく。図１０では、記憶素子１０１の抵抗状態が（１，１）、（１，０）、（０，１）、（０，０）のそれぞれの場合におけるビット線ＢＬの電圧降下の様子を示している。
【００４８】
フローティング状態から記憶素子１０１を介して低電位電源線ＶＳＬに接続されたビット線ＢＬの電圧が参照電圧と比較されるまでの時間が経過した後、読み出し部４００は、オペアンプ４２０の比較結果によってビット線ＢＬのHigh、Low即ち記憶素子１０１（Ｃｅｌｌ）の抵抗値が判定される。記憶素子１０１の抵抗状態が閾値抵抗Ｒｔｈ１よりも大きかった場合に、第２の定電圧ＶＲＶ２Ｈが印加されてフローティング状態から記憶素子１０１を介して低電位電源線ＶＳＬに接続されたビット線ＢＬの電圧が第２の参照電圧ＶＲＥＦ２Ｈに降下するまでの時間が、記憶素子１０１の抵抗状態が閾値抵抗Ｒｔｈ１よりも小さかった場合に、再度第１の定電圧ＶＲＶ１が印加されてフローティング状態から憶素子１０１を介して低電位電源線ＶＳＬに接続されたビット線ＢＬの電圧が第３の参照電圧ＶＲＥＦ２Ｌに降下するまでの時間よりも長い。
【００４９】
以上に説明したように、本実施形態の読み出し部４００は、記憶素子１０１のデータ（多値データ）を読み出す際に、複数種類の定電圧を選択的に記憶素子１０１に印加する。より具体的には、読み出し部４００は、記憶素子１０１の多値データを読み出す際に、記憶素子１０１が相転移を起こす動作点を示す相転移点の集合である禁止領域を回避して読み出しを行うように、定電圧を選択する。これにより、データ破壊を抑制しつつ多値データ読出しの高速化を図ることができる。
【００５０】
（第２の実施形態）
次に、第２の実施形態について説明する。上述の第１の実施形態と共通する部分については適宜に説明を省略する。本実施形態では、上述のように第１回目の読み出しの際に、記憶素子１０１の抵抗状態が下位２つの抵抗状態（（０，１）または（０，０））であると判定された場合に、記憶素子１０１を一旦非選択してから選択（ワード線ＷＬを一旦非選択してから選択）した後、再度第１の定電圧ＶＲＶ１を印加することを行わない。記憶素子１０１の抵抗状態として上位２ビット（１，１）、（１，０）を判別する場合にのみ記憶素子１０１を一旦非選択してから選択する。記憶素子１０１を非選択としている期間中に第２の定電圧ＶＲＶ２Ｈを与えて再度の読み出しを行う点で上述の第１の実施形態と相異する。以下、具体的な内容を説明する。
【００５１】
本実施形態においても、読み出し部４００は、記憶素子１０１のデータを読み出す際に、相転移点の集合である禁止領域を回避しつつ出来るだけ高電圧・高電流な動作点で読み出しを行うように、定電圧および参照電圧を選択する。上述の第１の実施形態と同様に、読み出し部４００は、読み出し対象として選択された記憶素子１０１のデータが複数の抵抗状態のうちの何れであるかを判定するための複数（この例では３つ）の閾値抵抗（Ｒｔｈ１、Ｒｔｈ２、Ｒｔｈ３）に対応する複数の参照電圧のうちの何れかを順次に選択する。
【００５２】
図１１乃至図１６を参照しながら、第２の実施形態の具体的な内容を説明する。まず、最初に読み出し対象の記憶素子１０１に接続されたワード線ＷＬを非選択にした状態（フローティング状態）で、該記憶素子１０１に接続されたビット線ＢＬに第１の定電圧ＶＲＶ１を印加する。図１１に示すように、この第１の定電圧ＶＲＶ１は、禁止領域(誤書き込み領域)に掛からない電圧のうち最大の電圧である。また、ここでは、禁止領域に掛からない電圧のうち最大の電流をＩｍａｘと呼ぶ。Ｉｍａｘの直線とＶＲＶ１の直線の交点を、前述した閾値抵抗Ｒｔｈ２に対応する直線が通過する。この最大電圧と、禁止領域を回避可能な最大電流Ｉｍａｘとの交点は、複数の閾値抵抗のうちの中間の閾値抵抗Ｒｔｈ２に対応する。図１２、図１３に示すように、この閾値抵抗Ｒｔｈ２の直線（上記交点と原点を結ぶ直線）は(０，１)と（１，０）の中間に位置する。まず第１回目の読み出しにおいては、４つの抵抗状態のうち上位２つの抵抗状態なのか、下位２つの抵抗状態なのかが判定される。図１１および図１６に示すように、ワード線ＷＬを非選択としたフローティングの状態で第１の定電圧ＶＲＶ１が印加された後にワード線ＷＬが選択され、ビット線ＢＬの電圧が下降していき、第１の参照電圧ＶＲＥＦ１との比較が行われる。ここでは、第１のセンス（第１回目の読み出し）が行われる時刻（ビット線ＢＬの電位が下降して行ってオペアンプの参照電位を下回る時刻）において、記憶素子１０１の抵抗値がＲｔｈ２のときにビット線ＢＬの電圧は第１の参照電圧ＶＲＥＦ１を示すように設定される。
【００５３】
読み出し部４００は、上述のようにして最初に第１の参照電圧ＶＲＥＦ１および第１の定電圧ＶＲＶ１を選択し、第１の定電圧ＶＲＶ１を印加して読み出すときのビット線ＢＬの電圧が第１の参照電圧ＶＲＥＦ１よりも大きい場合は、中間の閾値抵抗Ｒｔｈ２よりも１段階上の閾値抵抗Ｒｔｈ１に対応する参照電圧として、第１の参照電圧ＶＲＥＦ１よりも高い第２の参照電圧ＶＲＥＦ２Ｈを選択し、定電圧として、第１の定電圧ＶＲＶ１よりも高い第２の定電圧ＶＲＶ２Ｈを選択して第２回目の読み出しを行う。ここでは、第１の定電圧ＶＲＶ１、第２の定電圧ＶＲＶ２Ｈをビット線ＢＬに印加して読み出したときの記憶素子１０１の動作点が禁止領域を回避するように設定される。読み出し部４００は、第１回目の読み出しを行ってから第２回目の読み出しを行う途中の段階において、記憶素子１０１を一旦非選択としてから選択し（ワード線ＷＬを一旦非選択としてから選択し）、記憶素子１０１を非選択とする期間中に、第２の定電圧ＶＲＶ２Ｈをビット線ＢＬにプリチャージする。図１２および図１６に示すように、ワード線ＷＬを非選択としたフローティングの状態で第２の定電圧ＶＲＶ２Ｈが印加された後にワード線ＷＬが選択され、ビット線ＢＬの電圧が下降していき、第２の参照電圧ＶＲＥＦ２Ｈとの比較が行われる。ここでは、第２のセンス（第２回目の読み出し）が行われる時刻（ビット線ＢＬの電位が下降して行ってオペアンプの参照電位を下回る時刻）において、記憶素子１０１の抵抗値がＲｔｈ１のときにビット線ＢＬの電圧は第２の参照電圧ＶＲＥＦ２Ｈを示すように設定される。
【００５４】
一方、読み出し部４００は、上述のようにして最初に第１の参照電圧ＶＲＥＦ１および第１の定電圧ＶＲＶ１を選択し、上述の第１の定電圧ＶＲＶ１を印加して読み出したときのビット線ＢＬの電圧が第１の参照電圧ＶＲＥＦ１よりも小さい場合は、中間の閾値抵抗Ｒｔｈ２よりも１段階下の閾値抵抗Ｒｔｈ３に対応する参照電圧として、第１の参照電圧ＶＲＥＦ１よりも低い第３の参照電圧ＶＲＥＦ２Ｌを選択し、再度の定電圧印加は行わずに（第１の定電圧ＶＲＶ１を再度選択せず、かつ、他の定電圧を選択せずに）第２回目の読み出しを行う。ここでは、第１の定電圧ＶＲＶ１をビット線ＢＬに印加して読み出したときの記憶素子１０１の動作点が、禁止領域を回避するように設定される。
【００５５】
読み出しポイントでのビット線ＢＬの電圧（記憶素子１０１の抵抗状態に応じた電圧）が第３の参照電圧ＶＲＥＦ２Ｌよりも大きい場合は、読み出し対象の記憶素子１０１の抵抗状態は中間の閾値抵抗Ｒｔｈ２と１段階下の閾値抵抗Ｒｔｈ３との間であることが分かるので、（０，１）であると特定することができる（図２参照）。また、この読み出しポイントでのビット線ＢＬの電圧が第３の参照電圧ＶＲＥＦ２Ｌよりも小さい場合は、読み出し対象の記憶素子１０１の抵抗状態は閾値抵抗Ｒｔｈ３よりも抵抗が小さいことが分かるので、（０，０）であると特定することができる（図２参照）。
【００５６】
図１４は、本実施形態の読み出し部４００が有する機能のうち、参照電圧および定電圧を選択する機能を提供するための回路構成の一例を示す図である。図１４に示すように、定電圧供給部４１０は、トランジスタ４１１，４１２を含み、トランジスタ４１３を含んでいない点で上述の第１の実施形態と相異する。
【００５７】
さらに、後述するように、ラッチ／選択回路４４０のうち選択回路の構成が上述の第１の実施形態と一部相異するが、それ以外の構成は上述の第１の実施形態と同様である。
【００５８】
図１５は、本実施形態のラッチ／選択回路４４０の選択回路の構成の一例を示す図である。図１５に示すように、ラッチ／選択回路選択回路４４０は、インバータ６０１、インバータ６０２、ＮＡＮＤ回路６０３、インバータ６０４、インバータ６０５、ＮＡＮＤ回路６０６、ＮＡＮＤ回路６０７、インバータ６０８を備える。さらに、ラッチ／選択回路４４０は、ＮＡＮＤ回路６０９を備える。
【００５９】
オペアンプ４２０からスイッチング素子４４１を経由した上述の出力ＯＵＴ１はインバータ６０１へ入力される。インバータ６０１でＯＵＴ１を反転した信号／ｎｏｄｅ１２はインバータ６０２へ入力される。インバータ６０２で／ｎｏｄｅ１２を反転した信号ｎｏｄｅ１２はＮＡＮＤ回路６０３へ入力される。ＮＡＮＤ回路６０３には信号ＯＮ１２が入力され、信号ＯＮ１２がHigh、かつ、信号ｎｏｄｅ１２がHighの場合は、ＮＡＮＤ回路６０３から出力される信号／ＳＷ１２ＨはLowとなり、それ以外の場合は、信号／ＳＷ１２ＨはHighとなる。そして、信号／ＳＷ１２Ｈはインバータ６０４へ入力される。信号／ＳＷ１２Ｈはインバータ６０４で反転され、信号ＳＷ１２Ｈとして出力される。また、信号／ＳＷ１２Ｈはインバータ６０５へ入力される。インバータ６０５で反転された信号／ＳＷ１２Ｈは、ＮＡＮＤ回路６０６に入力される。ＮＡＮＤ回路６０６には信号ＯＮ１２も入力され、ＮＡＮＤ  Ｌｏｇｉｃを取って、信号／ＰＲ２Ｈが出力される。また、ＮＡＮＤ回路６０７には信号／ｎｏｄｅ１２と、信号ＯＮ１２が入力され、ＮＡＮＤ  Ｌｏｇｉｃを取って、信号／ＳＷ１２Ｌが出力される。信号／ＳＷ１２Ｌはインバータ６０８で反転され、信号ＳＷ１２Ｌとして出力される。
【００６０】
また、図１５に示すように、ＮＡＮＤ回路６０９には、信号ＳＷ１と／ＷＬが入力され、ＮＡＮＤ  Ｌｏｇｉｃを取って、信号／ＰＲ１が出力される。
【００６１】
例えば最初の読み出し時において、定電圧として第１の定電圧ＶＲＶ１、参照電圧として第１の参照電圧ＶＲＥＦ１が選択された場合に、オペアンプ４２０の出力ＯＵＴがLowの場合を想定する。つまり、第１の参照電圧ＶＲＥＦ１の方が、第１の定電圧ＶＲＶ１を印加して読み出すときのビット線ＢＬの電圧よりも高い場合を想定する。この場合、図８および図１５の回路によれば、信号ＳＷ１２ＬはHigh、信号ＳＷ１２ＨはLowになるので、参照電圧として第３の参照電圧ＶＲＥＦ２Ｌが選択される。また、このとき信号／ＰＲ２Ｈおよび信号／ＰＲ１はHighになるので、定電圧の選択は行われないことになる。詳しくは後述する。
【００６２】
一方、例えばオペアンプ４２０の出力ＯＵＴがHigh、つまり、第１の参照電圧ＶＲＥＦ１の方が、記憶素子１０１の抵抗状態に応じたビット線ＢＬの電圧よりも低い場合を想定する。この場合、図８および図１５の回路によれば、信号ＳＷ１２ＬはLow、信号ＳＷ１２ＨはHighになるので、参照電圧として第２の参照電圧ＶＲＥＦ２Ｈが選択される。また、このとき、信号／ＰＲ２ＨはLow、信号／ＰＲ１はHighになるので、定電圧として第２の定電圧ＶＲＶ２Ｈが選択されることになる。詳しくは後述する。
【００６３】
図１６は、本実施形態の読み出し部４００が、選択された記憶素子１０１からのデータを読み出す際に、参照電圧および定電圧を選択するための各種信号を制御するときのタイミングチャートの一例を示す図である。この例では、選択対象の記憶素子１０１に接続されたビット線ＢＬは選択済みであることを前提とする。
【００６４】
図１６に示すように、まず読み出し部４００は、信号ＳＷ１をHighにし、信号ＳＷ１と／ＷＬのＮＡＮＤ  Ｌｏｇｉｃを取った信号／ＰＲ１を所定期間だけLowに制御する。これにより、トランジスタ４１１およびスイッチング素子４５１がオン状態に遷移するので、選択対象の記憶素子１０１に接続されたビット線ＢＬに印加する定電圧として第１の定電圧ＶＲＶ１が選択され、オペアンプ４２０の負の入力側（反転増幅端子）に入力される参照電圧として第１の参照電圧ＶＲＥＦ１が選択される。
【００６５】
次に、読み出し部４００は、選択対象の記憶素子１０１に接続されたワード線ＷＬを選択する。具体的には、選択対象の記憶素子１０１に接続されたワード線ＷＬのトランジスタ２０１のゲートに供給する信号をLowに遷移させて、該トランジスタ２０１をオン状態に遷移させる。これにより、プリチャージされたビット線ＢＬはフローティング状態から記憶素子１０１を介して低電位電源線ＶＳＬに接続され、選択対象の記憶素子１０１の抵抗状態に応じてビット線ＢＬの電圧は降下（第１の定電圧ＶＲＶ１から降下）していく。図１６では、記憶素子１０１の抵抗状態が（１，１）、（１，０）、（０，１）、（０，０）のそれぞれの場合におけるビット線ＢＬの電圧降下の様子を示している。
【００６６】
フローティング状態から記憶素子１０１を介して低電位電源線ＶＳＬに接続されたビット線ＢＬの電圧が第１の参照電圧ＶＲＥＦ１と比較されるまでの時間が経過した後、読み出し部４００は、オペアンプ４２０の比較結果を出力するとともに、信号ＯＮ１を所定期間だけHighに制御する。これにより、スイッチング素子４４１がオン状態に遷移するので、オペアンプ４２０の出力ＯＵＴがラッチ回路へ入力されるとともに上述の選択回路へ入力される。
【００６７】
上述したように、オペアンプ４２０の出力ＯＵＴがLowの場合は、信号ＳＷ１２ＬはHigh、信号ＳＷ１２ＨはLowになるので、参照電圧として第３の参照電圧ＶＲＥＦ２Ｌが選択される。また、このとき、信号／ＰＲ２ＨはHighになる。さらに、このとき、読み出し部４００は、信号ＳＷ１をLowに維持するので信号／ＰＲ１はHighになる。したがって、定電圧の選択は行われないことになる。この場合、ビット線ＢＬの再プリチャージは行われず、図示しないＬｏｇｉｃ回路によりＷＬはHighに維持される。フローティング状態から記憶素子１０１を介して低電位電源線ＶＳＬに接続されたビット線ＢＬの電圧が参照電圧（第３の参照電圧ＶＲＥＦ２Ｌ）と比較されるまでの時間が経過した後、読み出し部４００は、オペアンプ４２０の比較結果によって記憶素子１０１の抵抗値を判定する。
【００６８】
一方、オペアンプ４２０の出力ＯＵＴがHighの場合は、信号ＳＷ１２ＬはLow、信号ＳＷ１２ＨはHighになるので、参照電圧として第２の参照電圧ＶＲＥＦ２Ｈが選択される。また、このとき、信号／ＰＲ２ＨはLowになり、信号／ＰＲ１はHighになるので（上述のように信号ＳＷ１はLowに維持されるため）、定電圧として第２の定電圧ＶＲＶ２Ｈが選択される。オペアンプ４２０の出力ＯＵＴがHighという結果を受けて、読み出し部４００は、ＷＬをLowに制御する。これにより、選択対象の記憶素子１０１に接続されたワード線ＷＬが再び非選択とされる。読み出し部４００は、ビット線ＢＬをプリチャージするために、信号ＯＮ１２をHighに遷移させる。その後、読み出し部４００は、ＷＬをHighに遷移させ、第２の定電圧ＶＲＶ２Ｈでプリチャージされたビット線ＢＬをフローティング状態から記憶素子１０１を介して低電位電源線ＶＳＬに接続する。第２の定電圧ＶＲＶ２Ｈでプリチャージされていたビット線ＢＬの電圧は、選択対象の記憶素子１０１の抵抗状態（（１，１）または（１，０））に応じて降下していく。図１６の例では、記憶素子１０１の抵抗状態が（１，１）、（１，０）のそれぞれの場合におけるビット線ＢＬの電圧降下の様子を示している。フローティング状態から記憶素子１０１を介して低電位電源線ＶＳＬに接続されたビット線ＢＬの電圧が第２の参照電圧ＶＲＥＦ２Ｈと比較されるまでの時間が経過した後、読み出し部４００は、オペアンプ４２０の比較結果によって記憶素子１０１の抵抗値を判定する。
【００６９】
（第３の実施形態）
次に、第３の実施形態について説明する。上述の各実施形態と共通する部分については適宜に説明を省略する。本実施形態では、読み出し部４００は、記憶素子１０１のデータを読み出すために定電圧を印加する定電圧読み出し方式と、記憶素子１０１のデータを読み出すために定電流を印加する定電流読み出し方式とを切り替えながら、記憶素子１０１のデータを読み出す点で上述の各実施形態と相異する。本実施形態では、読み出し部４００は、定電圧読み出し方式から定電流読み出し方式に切り替えて、記憶素子１０１のデータを読み出す。以下、具体的に説明する。
【００７０】
図１７乃至図２３を参照しながら第３の実施形態の具体的な内容を説明する。まず、最初に読み出し対象の記憶素子１０１に接続されたワード線ＷＬを非選択にした状態（フローティング状態）で、該記憶素子１０１に接続されたビット線ＢＬに第１の定電圧ＶＲＶ１を印加する。図１７に示すように、この第１の定電圧ＶＲＶ１は、禁止領域(誤書き込み領域)に掛からない電圧のうち最大の電圧である。また、ここでは、禁止領域に掛からない電流のうち最大の電流をＩｍａｘと呼ぶ。Ｉｍａｘの直線とＶＲＶ１の直線の交点を、前述した閾値抵抗Ｒｔｈ２に対応する直線が通過する。つまり、最初に選択した第１の定電圧ＶＲＶ１は禁止領域を回避可能な最大電圧であり、この最大電圧と、禁止領域を回避可能な最大電流Ｉｍａｘとの交点は、複数の閾値抵抗のうちの中間の閾値抵抗Ｒｔｈ２に対応する。図１８、図１９に示すように、この閾値抵抗Ｒｔｈ２の直線（上記交点と原点を結ぶ直線）は(０，１)と（１，０）の中間に位置する。まず第１回目の読み出しにおいては、記憶素子１０１の抵抗状態は、４つの抵抗状態のうち上位２つの抵抗状態なのか下位２つの抵抗状態なのかが判定される。図１７および図２３に示すように、ワード線ＷＬを非選択（ＷＬ:Low）としたフローティングの状態で第１の定電圧ＶＲＶ１が印加された後にワード線ＷＬが選択され（ＷＬ:High）、ビット線ＢＬの電圧が下降していき、第１の参照電圧ＶＲＥＦ１との比較が行われる。ここでは、第１のセンス（第１回目の読み出し）が行われる時刻（ビット線ＢＬの電位が下降して行ってオペアンプの参照電位を下回る時刻）において、記憶素子１０１の抵抗値がＲｔｈ２のときにビット線ＢＬの電圧は第１の参照電圧となるように設定される。
【００７１】
読み出し部４００は、上述のようにして最初に第１の参照電圧ＶＲＥＦ１および第１の定電圧ＶＲＶ１を選択し、第１の定電圧ＶＲＶ１を印加して読み出すときのビット線ＢＬの電圧が第１の参照電圧ＶＲＥＦ１よりも大きい場合は、中間の閾値抵抗Ｒｔｈ２よりも１段階上の閾値抵抗Ｒｔｈ１に対応する参照電圧として、第１の参照電圧ＶＲＥＦ１よりも高い第２の参照電圧ＶＲＥＦ２Ｈを選択し、定電流として上述の最大電流Ｉｍａｘを印加して読み出しを行う。ここでは、最大電流Ｉｍａｘを印加して読み出したときの記憶素子１０１の動作点が禁止領域を回避するように設定される。
【００７２】
図１８に示すように、第２の参照電圧ＶＲＥＦ２Ｈおよび最大電流Ｉｍａｘは、第２の参照電圧ＶＲＥＦ２Ｈと最大電流Ｉｍａｘとで規定される記憶素子１０１の動作点が、禁止領域を回避しつつ中間の閾値抵抗Ｒｔｈ２よりも１段階上の閾値抵抗Ｒｔｈ１に対応するように設定される。なお、最大電流Ｉｍａｘを印加して読み出すときのビット線ＢＬの電圧は、記憶素子１０１の抵抗状態に応じて決まる放電量と、供給される最大電流Ｉｍａｘとが釣り合った点で決まり、該ビット線ＢＬの電圧が第２の参照電圧ＶＲＥＦ２Ｈよりも小さい場合は、読み出し対象の記憶素子１０１の抵抗状態は中間の閾値抵抗Ｒｔｈ２と１段階上の閾値抵抗Ｒｔｈ１との間であることが分かるので、（１，０）であると特定することができる（図２参照）。また、最大電流Ｉｍａｘを印加して読み出すときのビット線ＢＬの電圧が第２の参照電圧ＶＲＥＦ２Ｈよりも大きい場合は、読み出し対象の記憶素子１０１の抵抗状態は閾値抵抗Ｒｔｈ１よりも抵抗が大きいことが分かるので、（１，１）であると特定することができる（図２参照）。
【００７３】
また、読み出し部４００は、上述のようにして最初に第１の参照電圧ＶＲＥＦ１および第１の定電圧ＶＲＶ１を選択し、第１の定電圧ＶＲＶ１を印加して読み出すときのビット線ＢＬの電圧（第１の定電圧ＶＲＶ１でプリチャージされた後にフローティング状態から記憶素子１０１を介して低電位電源線ＶＳＬに接続されたビット線ＢＬの、記憶素子１０１の抵抗状態に応じた電圧）が第１の参照電圧ＶＲＥＦ１よりも小さい場合は、中間の閾値抵抗Ｒｔｈ２よりも１段階下の閾値抵抗Ｒｔｈ３に対応する参照電圧として第１の参照電圧ＶＲＥＦ１よりも小さい第３の参照電圧ＶＲＥＦ２Ｌを選択し、定電圧として、再度第１の定電圧ＶＲＶ１を選択して第２回目の読み出しを行う。ここでは、第１の定電圧ＶＲＶ１を印加して読み出したときの記憶素子１０１の動作点が禁止領域を回避するように設定される。
【００７４】
図１９および図２３に示すように、再度第１の定電圧ＶＲＶ１が印加された後にフローティング状態から記憶素子１０１を介して低電位電源線ＶＳＬに接続されたビット線ＢＬの電圧が第３の参照電圧ＶＲＥＦ２Ｌを示す記憶素子１０１の動作点が読み出しポイントとなり、この動作点は、禁止領域を回避するように設定されている。なお、この第２回目の読み出し結果がHighの場合（再度第１の定電圧ＶＲＶ１が印加された後にフローティング状態から記憶素子１０１を介して低電位電源線ＶＳＬに接続されたビット線ＢＬの電圧が、第３の参照電圧ＶＲＥＦ２Ｌよりも大きい場合）は、読み出し対象の記憶素子１０１の抵抗状態は中間の閾値抵抗Ｒｔｈ２と１段階下の閾値抵抗Ｒｔｈ３との間であることが分かるので、（０，１）であると特定することができる（図２参照）。また、この第２回目の読み出し結果がLowの場合は、読み出し対象の記憶素子１０１の抵抗状態は閾値抵抗Ｒｔｈ３よりも抵抗が小さいことが分かるので、（０，０）であると特定することができる（図２参照）。
【００７５】
図２０は、本実施形態の読み出し部４００が有する機能のうち、参照電圧、定電圧、定電流を選択する機能を提供するための回路構成の一例を示す図である。図２０に示すように、読み出し部４００は、定電圧／定電流供給部７００、オペアンプ６２０、ＡＮＤ回路６３０、ラッチ／選択回路６４０、参照電圧供給部６５０を少なくとも備える。
【００７６】
定電圧／定電流供給部７００は、ビット線ＢＬに対して定電圧または定電流を供給するための回路である。図２０の例では、定電圧／定電流供給部７００は、トランジスタ６１１、定電流源６１２、トランジスタ６１３を含む。トランジスタ６１１は、第１の定電圧ＶＲＶ１をビット線ＢＬへ印加するか否かを切り替えるためのトランジスタであり、ゲートに入力される信号／ＰＲ１に応じてオン／オフが切り替わる。この例では、トランジスタ６１１は、信号／ＰＲ１がLowに遷移するとオン状態に遷移し、信号／ＰＲ１がHighに遷移するとオフ状態に遷移する。
【００７７】
定電流源６１２は、ビット線ＢＬに対して定電流（この例では上述の最大電流Ｉｍａｘ）を供給するための回路であり、トランジスタ６２１，６２２を含む。トランジスタ６２１は、電源電圧Ｖｄｄから定電流を生成して流すための電流源トランジスタである。トランジスタ６２２は、トランジスタ６２１で生成された定電流をビット線ＢＬへ印加するか否かを切り替えるためのトランジスタであり、ゲートに入力される信号／ＰＲ２Ｈに応じてオン／オフが切り替わる。この例では、トランジスタ６２２は、信号／ＰＲ２ＨがLowに遷移するとオン状態に遷移し、信号／ＰＲ２ＨがHighに遷移するとオフ状態に遷移する。
【００７８】
トランジスタ６１３は、第１の定電圧ＶＲＶ１をビット線ＢＬへ印加するか否かを切り替えるためのトランジスタであり、ゲートに入力される信号／ＰＲ２Ｌに応じてオン／オフが切り替わる。この例では、トランジスタ６１３は、信号／ＰＲ２ＬがLowに遷移するとオン状態に遷移し、信号／ＰＲ２ＬがHighに遷移するとオフ状態に遷移する。
【００７９】
なお、信号／ＰＲ１、／ＰＲ２Ｈおよび／ＰＲ２Ｌの信号レベル（Ｈ／Ｌ）は読み出し部４００によって制御される。
【００８０】
オペアンプ６２０は、ビット線ＢＬの電圧と、参照電圧との比較結果を出力する。この例では、オペアンプ６２０の正の入力側（非反転増幅端子）にはビット線ＢＬの電圧が入力され、負の入力側（反転増幅端子）には参照電圧が入力される。オペアンプ６２０の出力ＯＵＴはラッチ／選択回路６４０を介してＡＮＤ回路６３０に入力される。ＡＮＤ回路６３０には、上述の各実施形態と同様、ＯＥが入力され、ＯＥの信号レベルがHigh期間中にＡＮＤ回路６３０からの出力ＤＯＵＴが出力される。
【００８１】
ラッチ／選択回路６４０は、オペアンプ６２０の出力ＯＵＴをラッチするとともに、その出力ＯＵＴに応じて、次の参照電圧、次の定電圧または定電流を選択するための回路である。具体的な構成については後述する。
【００８２】
参照電圧供給部６５０は、オペアンプ６２０の負の入力側（反転増幅端子）に参照電圧を供給するための回路であり、スイッチング素子（相補型スイッチ）６１４，６１５，６１６を含む。スイッチング素子６１４は、図７に示すスイッチング素子４５１に対応し、スイッチング素子６１５は、図７に示すスイッチング素子４５２に対応し、スイッチング素子６１６は、図７に示すスイッチング素子４５３に対応する。
【００８３】
次に、図２１および図２２を参照して、ラッチ／選択回路６４０の構成を説明する。図２１は、ラッチ／選択回路６４０が有する機能のうち、上述のオペアンプ６２０からの出力ＯＵＴをラッチする機能を提供するための回路の構成例を示す図である。ラッチ／選択回路６４０は、スイッチング素子６４１とラッチ回路６４２とを備える。この構成は、図８の構成と同じであり、スイッチング素子６４１は、図８に示すスイッチング素子４４１に対応し、ラッチ回路６４２は、図８に示すラッチ回路４４２に対応する。また、ラッチ回路６４２に含まれるトランジスタ６４３，６４４は、図８に示すトランジスタ４４３，４４４にそれぞれ対応する。ここでは、詳細な説明は省略する。
【００８４】
図２２は、ラッチ／選択回路６４０が有する機能のうち、参照電圧、定電圧または定電流を選択する機能を提供するための回路（以下、「選択回路」と称する場合がある）の構成例を示す図である。図２２に示すように、ラッチ／選択回路６４０（選択回路）は、インバータ６５１、インバータ６５２、ＮＡＮＤ回路６５３、インバータ６５４、インバータ６５５、インバータ６５６、ＮＡＮＤ回路６５７、インバータ６５８、インバータ６５９、ＮＡＮＤ回路６６０を備える。また、ラッチ／選択回路６４０は、ＮＡＮＤ回路６６１を備える。ＮＡＮＤ回路５１１には、信号ＳＷ１と／ＷＬが入力され、ＳＷ１と／ＷＬがHighの場合に限り、ＮＡＮＤ回路５１１から出力される信号／ＰＲ１はLowになる。
【００８５】
オン状態のスイッチング素子６４１を経たオペアンプ６２０からの出力ＯＵＴ１は、インバータ６５１へ入力される。インバータ６５１で反転された出力ＯＵＴ１を示す信号／ｎｏｄｅ１２はインバータ６５２へ入力されるとともに、ＮＡＮＤ回路６５７へ入力される。
【００８６】
インバータ６５２で反転された信号ｎｏｄｅ１２はＮＡＮＤ回路６５３へ入力される。ＮＡＮＤ回路６５３には信号ＯＮ１２が入力され、信号ＯＮ１２がHigh、かつ、信号ｎｏｄｅ１２がHighの場合は、ＮＡＮＤ回路５０３から出力される信号／ＳＷ１２Ｈは非アクティブレベル（Low）となり、それ以外の場合は、信号／ＳＷ１２Ｈはアクティブレベル（High）となる。そして、信号／ＳＷ１２Ｈはインバータ６５４へ入力される。信号／ＳＷ１２Ｈはインバータ６５４で反転され、信号ＳＷ１２Ｈとして出力される。また、信号／ＳＷ１２Ｈはインバータ６５５へ入力される。インバータ６５５で反転された信号は、インバータ６５６でさらに反転され、信号／ＰＲ２Ｈとして出力される。
【００８７】
一方、上述の信号／ｎｏｄｅ１２が入力されるＮＡＮＤ回路６５７には信号ＯＮ１２も入力され、信号ＯＮ１２がHigh、かつ、信号／ｎｏｄｅ１２がHighの場合は、ＮＡＮＤ回路６５７から出力される信号／ＳＷ１２ＬはLowとなり、それ以外の場合は、信号／ＳＷ１２ＬはHighとなる。そして、信号／ＳＷ１２Ｌはインバータ６５８へ入力される。信号／ＳＷ１２Ｌはインバータ６５８で反転され、信号ＳＷ１２Ｌとして出力される。また、信号／ＳＷ１２Ｌはインバータ６５９へ入力される。インバータ６５９で反転された信号は、ＮＡＮＤ回路６６０へ入力される。ＮＡＮＤ回路６６０には信号ＯＮ２も入力され、ＮＡＮＤ  Ｌｏｇｉｃを取って、信号／ＰＲ２Ｌとして出力される。
【００８８】
例えば最初の読み出し時において、定電圧として第１の定電圧ＶＲＶ１、参照電圧として第１の参照電圧ＶＲＥＦ１が選択された場合に、オペアンプ６２０の出力ＯＵＴがLowの場合を想定する。つまり、第１の参照電圧ＶＲＥＦ１の方が、第１の定電圧ＶＲＶ１を印加して読み出すときのビット線ＢＬの電圧よりも高い場合を想定する。この場合、図２１および図２２の回路によれば、信号ＳＷ１２ＬはHigh、信号／ＰＲ２ＬはLow、信号ＳＷ１２ＨはLow、信号／ＰＲ２ＨはHighとなり、参照電圧として第１の参照電圧ＶＲＥＦ１、定電圧として第３の定電圧ＶＲＶ２Ｌが選択されることになる。
【００８９】
一方、例えばオペアンプ６２０の出力ＯＵＴがHigh、つまり、第１の参照電圧ＶＲＥＦ１の方が、第１の定電圧ＶＲＶ１を印加して読み出すときのビット線ＢＬの電圧よりも低い場合を想定する。この場合、図２１および図２２の回路によれば、信号ＳＷ１２ＬはLow、信号／ＰＲ２ＬはHigh、信号ＳＷ１２ＨはHigh、信号／ＰＲ２ＨはLowとなり、参照電圧として第２の参照電圧ＶＲＥＦ２Ｈが選択され、定電流として最大電流Ｉｍａｘが印加されて読み出しが行われることになる。
【００９０】
図２３は、読み出し部４００が、選択された記憶素子１０１からのデータを読み出す際に、参照電圧、定電圧または定電流を選択するための各種信号を制御するときのタイミングチャートの一例を示す図である。この例では、選択対象の記憶素子１０１に接続されたビット線ＢＬは選択済みであることを前提とする。
【００９１】
図２３に示すように、まず読み出し部４００は、信号ＳＷ１をHigh、信号／ＰＲ１をLowに制御する。これにより、トランジスタ６１１およびスイッチング素子６１４がオン状態に遷移するので、選択対象の記憶素子１０１に接続されたビット線ＢＬに印加する定電圧として第１の定電圧ＶＲＶ１が選択され、オペアンプ６２０の負の入力側（反転増幅端子）に入力される参照電圧として第１の参照電圧ＶＲＥＦ１が選択される。
【００９２】
次に、読み出し部４００は、選択対象の記憶素子１０１に接続されたワード線ＷＬを選択する。具体的には、選択対象の記憶素子１０１に接続されたワード線ＷＬのトランジスタ２０１のゲートに供給する信号をLowに遷移させて、該トランジスタ２０１をオン状態に遷移させる。これにより、第１の定電圧ＶＲＶ１が印加されていたビット線ＢＬ（選択対象の記憶素子１０１に接続されたビット線ＢＬ）はフローティング状態から記憶素子１０１を介して低電位電源線ＶＳＬに接続され、選択対象の記憶素子１０１の抵抗状態に応じてビット線ＢＬの電圧は降下（第１の定電圧ＶＲＶ１から降下）していく。図２３では、記憶素子１０１の抵抗状態が（１，１）、（１，０）、（０，１）、（０，０）のそれぞれの場合におけるビット線ＢＬの電圧降下の様子を示している。
【００９３】
ビット線ＢＬの電圧が第１の参照電圧ＶＲＥＦ１と比較される時間が経過した後、読み出し部４００は、オペアンプ６２０の比較結果を出力するとともに、信号ＯＮ１を所定期間だけHighに制御する。これにより、スイッチング素子６４１がオン状態に遷移するので、オペアンプ６２０の出力ＯＵＴがラッチ回路へ入力され、引き続く信号ＯＮ１２のHighへの遷移によりラッチされると同時に選択回路へ入力される。
【００９４】
上述したように、オペアンプ６２０の出力ＯＵＴがLowの場合は、信号ＳＷ１２ＬはHigh、信号／ＰＲ２ＬはLow、信号ＳＷ１２ＨはLow、信号／ＰＲ２ＨはHighとなり、参照電圧として第３の参照電圧ＶＲＥＦ２Ｌ、定電圧として再度第１の定電圧ＶＲＶ１が選択される。オペアンプ６２０の出力ＯＵＴがLowという結果を受けて、読み出し部４００は、ＷＬを一旦Lowに制御する。これにより、選択対象の記憶素子１０１に接続されたワード線ＷＬが再び非選択とされる。読み出し部４００は、ビット線ＢＬをプリチャージするために、信号/ＰＲ２ＬをLowに遷移させる。図２２、図２３に示すように、信号/ＰＲ２Ｌは信号ＯＮ２がHighの期間のみLowになってビット線ＢＬのプリチャージが行われる。これにより、再度第１の定電圧ＶＲＶ１でプリチャージされたビット線ＢＬはフローティング状態から記憶素子１０１を介して低電位電源線ＶＳＬに接続される。再度第１の定電圧ＶＲＶ１でプリチャージされていたビット線ＢＬの電圧は、選択対象の記憶素子１０１の抵抗状態（（０，１）または（０，０））に応じて降下していく。図２３の例では、記憶素子１０１の抵抗状態が（０，１）、（０，０）のそれぞれの場合におけるビット線ＢＬの電圧降下の様子を示している。
【００９５】
一方、オペアンプ６２０の出力ＯＵＴがHighの場合は、信号ＳＷ１２ＬはLow、信号／ＰＲ２ＬはHigh、信号ＳＷ１２ＨはHigh、信号／ＰＲ２ＨはLowとなり、参照電圧として第２の参照電圧ＶＲＥＦ２Ｈ、定電流として最大電流Ｉｍａｘが印加される。最大電流Ｉｍａｘが印加されたビット線ＢＬの電圧は、記憶素子１０１の抵抗状態に応じて決まる放電量と、供給される最大電流Ｉｍａｘとが釣り合った点で決まる。図２３の例では、記憶素子１０１の抵抗状態が（１，１）、（１，０）のそれぞれの場合におけるビット線ＢＬの電圧を示している。
【００９６】
そして、読み出し部４００は、オペアンプ６２０の比較結果によって記憶素子１０１の抵抗値を判定する。
【００９７】
以上に説明したように、本実施形態では、記憶素子１０１の抵抗状態として上位２ビット（１，１）、（１，０）を判別する場合に定電流を印加して読み出す方式を採用する。これにより、上述の各実施形態のように、上位ビット（１，１）、（１，０）の判別時に定電圧を印加して読み出す場合に比べて、ビット線ＢＬの電圧降下を抑えることができるので、結果として、複数の参照電圧間のマージン（例えば第１の参照電圧ＶＲＥＦ１と第２の参照電圧ＶＲＥＦ２Ｈとの間のマージン）を十分に確保でき、より判別し易くなるという利点がある。
【００９８】
（第４の実施形態）
次に、第４の実施形態について説明する。上述の第３の実施形態と共通する部分については適宜に説明を省略する。本実施形態では、第１回目の読み出しにおいて、記憶素子１０１の抵抗状態が下位の２つの抵抗状態の何れか（（０，１）または（０，０））であると判断されたときに、ワード線ＷＬを一旦閉じて再度の定電圧の供給を行わない点で第３の実施形態と異なっている。以下、具体的な内容を説明する。
【００９９】
本実施形態においても、読み出し部４００は、記憶素子１０１のデータを読み出すために定電圧を印加する定電圧読み出し方式と、記憶素子１０１のデータを読み出すために定電流を印加する定電流読み出し方式とを切り替えながら、記憶素子１０１のデータを読み出す。より具体的には、読み出し部４００は、定電圧読み出し方式から定電流読み出し方式に切り替えて、記憶素子１０１のデータを読み出す。上述の第３の実施形態と同様に、読み出し部４００は、記憶素子１０１のデータが複数の抵抗状態のうちの何れであるかを判定するための複数（この例では３つ）の閾値抵抗（Ｒｔｈ１、Ｒｔｈ２、Ｒｔｈ３）に対応する複数の参照電圧のうちの何れかを選択しながら記憶素子１０１のデータの読み出しを行い、最初に選択した参照電圧を示す第１の参照電圧ＶＲＥＦ１と、記憶素子１０１に電圧を供給するためのビット線ＢＬに対して、最初に選択した定電圧を示す第１の定電圧ＶＲＶ１を印加して読み出すときの電圧と、の比較結果に応じて、次の参照電圧、次の定電圧または定電流を選択して読み出しを行う。
【０１００】
図２４乃至図２９を参照しながら、第４の実施形態の具体的な内容を説明する。まず、最初に読み出し対象の記憶素子１０１に接続されたワード線ＷＬを非選択にした状態（フローティング状態）で、該記憶素子１０１に接続されたビット線ＢＬに第１の定電圧ＶＲＶ１を印加する。図２４に示すように、この第１の定電圧ＶＲＶ１は、禁止領域(誤書き込み領域)に掛からない電圧のうち最大の電圧である。また、ここでは、禁止領域に掛からない電流のうち最大の電流をＩｍａｘと呼ぶ。Ｉｍａｘの直線とＶＲＶ１の直線の交点を、前述した閾値抵抗Ｒｔｈ２に対応する直線が通過する。つまり、最初に選択した第１の定電圧ＶＲＶ１は禁止領域を回避可能な最大電圧であり、この最大電圧と、禁止領域を回避可能な最大電流Ｉｍａｘとの交点は、複数の閾値抵抗のうちの中間の閾値抵抗Ｒｔｈ２に対応する。図２５、図２６に示すように、この閾値抵抗Ｒｔｈ２の直線（上記交点と原点を結ぶ直線）は(０，１)と（１，０）の中間に位置する。まず第１回目の読み出しにおいては、４つの抵抗状態のうち上位２つの抵抗状態なのか、下位２つの抵抗状態なのかが判定される。図２４および図２９に示すように、ワード線ＷＬを非選択としたフローティングの状態で第１の定電圧ＶＲＶ１が印加された後にワード線ＷＬが選択され、ビット線ＢＬの電圧が下降していき、第１の参照電圧ＶＲＥＦ１との比較が行われる。ここでは、第１のセンス（第１回目の読み出し）が行われる時刻（ビット線ＢＬの電位が下降して行ってオペアンプの参照電位を下回る時刻）において、記憶素子１０１の抵抗値がＲｔｈ２のときにビット線ＢＬの電圧は第１の参照電圧ＶＲＥＦ１を示すように設定される。
【０１０１】
読み出し部４００は、上述のようにして最初に第１の参照電圧ＶＲＥＦ１および第１の定電圧ＶＲＶ１を選択し、第１の定電圧ＶＲＶ１を印加して読み出すときのビット線ＢＬの電圧が第１の参照電圧ＶＲＥＦ１よりも大きい場合は、中間の閾値抵抗Ｒｔｈ２よりも１段階上の閾値抵抗Ｒｔｈ１に対応する参照電圧として、第１の参照電圧ＶＲＥＦ１よりも高い第２の参照電圧ＶＲＥＦ２Ｈを選択し、定電流として上述の最大電流Ｉｍａｘを印加して読み出しを行う。ここでは、最大電流Ｉｍａｘを印加して読み出したときの記憶素子１０１の動作点が禁止領域を回避するように設定される。図２５に示すように、第２の参照電圧ＶＲＥＦ２Ｈおよび最大電流Ｉｍａｘは、第２の参照電圧ＶＲＥＦ２Ｈと最大電流Ｉｍａｘとで規定される記憶素子１０１の動作点が、禁止領域を回避しつつ中間の閾値抵抗Ｒｔｈ２よりも１段階上の閾値抵抗Ｒｔｈ１に対応するように設定される。
【０１０２】
また、読み出し部４００は、上述のようにして最初に第１の参照電圧ＶＲＥＦ１および第１の定電圧ＶＲＶ１を選択し、第１の定電圧ＶＲＶ１を印加して読み出したときのビット線ＢＬの電圧が第１の参照電圧ＶＲＥＦ１よりも小さい場合は、中間の閾値抵抗Ｒｔｈ２よりも１段階下の閾値抵抗Ｒｔｈ３に対応する参照電圧として、第１の参照電圧ＶＲＥＦ１よりも低い第３の参照電圧ＶＲＥＦ２Ｌを選択し、他の定電圧は選択せずに引き続き第２回目の読み出しを行う。ここでは、第１の定電圧ＶＲＶ１を印加して読み出したときの記憶素子１０１の動作点が禁止領域を回避するように設定される。
【０１０３】
図２７は、本実施形態の読み出し部４００が有する機能のうち、参照電圧、定電圧または定電流を選択する機能を提供するための回路構成の一例を示す図である。図２７に示すように、定電圧／定電流供給部７００は、トランジスタ６１１、定電流源６１２を含み、トランジスタ６１３を含んでいない点で上述の第３の実施形態と相異する。
【０１０４】
さらに、後述するように、ラッチ／選択回路６４０のうち選択回路の構成が上述の第３の実施形態と相異するが、それ以外の構成は上述の第３の実施形態と同様である。
【０１０５】
図２８は、本実施形態の選択回路の構成の一例を示す図である。図２８に示すように、選択回路は、インバータ６７１、インバータ６７２、ＮＡＮＤ回路６７３、インバータ６７４、インバータ６７５、インバータ６７６、インバータ６７９、ＮＡＮＤ回路６８０、ＮＡＮＤ回路６８１、インバータ６８２を備える。
【０１０６】
オペアンプ６２０からスイッチング素子６４１を経由した上述の出力ＯＵＴ１はインバータ６７１へ入力される。ＯＵＴ１をインバータ６７１で反転した信号／ｎｏｄｅ１２はインバータ６７２へ入力される。信号／ｎｏｄｅ１２をインバータ６７２で反転した信号ｎｏｄｅ１２はＮＡＮＤ回路６７３へ入力される。ＮＡＮＤ回路６７３には信号ＯＮ１２も入力され、信号ＯＮ１２がHigh、かつ、信号ｎｏｄｅ１２がHighの場合は、ＡＮＤ回路６７３から出力される信号／ＳＷ１２ＨはLowとなり、それ以外の場合は、信号／ＳＷ１２ＨはHighとなる。そして、信号／ＳＷ１２Ｈはインバータ６７４へ入力される。信号／ＳＷ１２Ｈはインバータ６７４で反転され、信号ＳＷ１２Ｈとして出力される。また、信号／ＳＷ１２Ｈはインバータ６７５へ入力される。インバータ６７５で反転された信号は、インバータ６７６でさらに反転され、信号／ＰＲ２Ｈとして出力される。また、図２８に示すＮＡＮＤ６８１には信号／ｎｏｄｅ１２と、信号ＯＮ１２が入力され、ＮＡＮＤ  Ｌｏｇｉｃを取って、信号／ＳＷ１２Ｌが出力される。信号／ＳＷ１２Ｌはインバータ６８２で反転され、信号ＳＷ１２Ｌとして出力される。
【０１０７】
図２８に示すインバータ６７９には、信号ＳＷ１の反転信号を示す信号／ＳＷ１が入力される。インバータ６７９で反転された信号／ＳＷ１は、ＮＡＮＤ回路６８０に入力され、ＷＬを反転させた／ＷＬとのＮＡＮＤ  Ｌｏｇｉｃを取って、信号／ＰＲ１が出力される。
【０１０８】
例えば最初の読み出し時において、定電圧として第１の定電圧ＶＲＶ１、参照電圧として第１の参照電圧ＶＲＥＦ１が選択された場合に、オペアンプ６２０の出力ＯＵＴがLowの場合を想定する。つまり、第１の参照電圧ＶＲＥＦ１の方が、第１の定電圧ＶＲＶ１を印加して読み出すときのビット線ＢＬの電圧よりも高い場合を想定する。この場合、図２１および図２８の回路によれば、信号ＳＷ１２ＬはHigh、信号ＳＷ１２ＨはLowになるので、参照電圧として第３の参照電圧ＶＲＥＦ２Ｌが選択される。また、このとき信号／ＰＲ２Ｈおよび信号／ＰＲ１はHighになるので、第２回目の読み出しにおいて定電圧または定電流の選択は行われないことになる。詳しくは後述する。
【０１０９】
一方、例えばオペアンプ６２０の出力ＯＵＴがHigh、つまり、第１の参照電圧ＶＲＥＦ１の方が、記憶素子１０１の抵抗状態に応じたビット線ＢＬの電圧よりも低い場合を想定する。この場合、図２１および図２８の回路によれば、信号ＳＷ１２ＬはLow、信号ＳＷ１２ＨはHighになるので、参照電圧として第２の参照電圧ＶＲＥＦ２Ｈが選択される。また、このとき、信号／ＰＲ２ＨはLow、信号／ＰＲ１はHighになるので、第１回目の読み出しとは異なり、第２回目の読み出しに関しては定電流として最大電流Ｉｍａｘが選択されて読み出しが行われることになる。
【０１１０】
図２９は、本実施形態の読み出し部４００が、選択された記憶素子１０１からのデータを読み出す際に、参照電圧、定電圧または定電流を選択するための各種信号を制御するときのタイミングチャートの一例を示す図である。この例では、選択対象の記憶素子１０１に接続されたビット線ＢＬは選択済みであることを前提とする。
【０１１１】
図２９に示すように、まず読み出し部４００は、信号ＳＷ１を所定期間だけHigh、信号／ＰＲ１を所定期間だけLowに制御する。これにより、トランジスタ６１１およびスイッチング素子６１４がオン状態に遷移するので、選択対象の記憶素子１０１に接続されたビット線ＢＬに印加する定電圧として第１の定電圧ＶＲＶ１が選択され、オペアンプ６２０の負の入力側（反転増幅端子）に入力される参照電圧として第１の参照電圧ＶＲＥＦ１が選択される。
【０１１２】
次に、読み出し部４００は、選択対象の記憶素子１０１に接続されたワード線ＷＬを選択する。具体的には、選択対象の記憶素子１０１に接続されたワード線ＷＬのトランジスタ２０１のゲートに供給する信号をLowに遷移させて、該トランジスタ２０１をオン状態に遷移させる。これにより、プリチャージされたビット線ＢＬはフローティング状態から記憶素子１０１を介して低電位電源線ＶＳＬに接続され、選択対象の記憶素子１０１の抵抗状態に応じてビット線ＢＬの電圧は降下（第１の定電圧ＶＲＶ１から降下）していく。図２９では、記憶素子１０１の抵抗状態が（１，１）、（１，０）、（０，１）、（０，０）のそれぞれの場合におけるビット線ＢＬの電圧降下の様子を示している。
【０１１３】
フローティング状態のビット線ＢＬの電圧が第１の参照電圧ＶＲＥＦ１と比較されるまでの時間が経過した後、読み出し部４００は、オペアンプ６２０の比較結果を出力するとともに、信号ＯＮ１を所定期間だけHighに制御する。これにより、スイッチング素子６４１がオン状態に遷移するので、オペアンプ６２０の出力ＯＵＴがラッチ回路へ入力される。
【０１１４】
上述したように、オペアンプ６２０の出力ＯＵＴがLowの場合は、信号ＳＷ１２ＬはHigh、信号ＳＷ１２ＨはLowになるので、参照電圧として第３の参照電圧ＶＲＥＦ２Ｌが選択される。また、このとき、信号／ＰＲ２ＨはHighになる。さらに、このとき、読み出し部４００は、信号ＳＷ１をLowに維持するので、信号／ＰＲ１はHighになる。したがって、定電圧または定電流の選択は行われないことになる。この場合は、ビット線ＢＬの再プリチャージは行われず、またＷＬはLowに維持されたままになっている。ビット線ＢＬの電圧が参照電圧（第３の参照電圧ＶＲＥＦ２Ｌ）と比較されるまでの時間が経過した後、読み出し部４００は、オペアンプ６２０の比較結果によって記憶素子１０１の抵抗値を判定する。
【０１１５】
一方、オペアンプ６２０の出力ＯＵＴがHighの場合は、信号ＳＷ１２ＬはLow、信号ＳＷ１２ＨはHighになるので、参照電圧として第２の参照電圧ＶＲＥＦ２Ｈが選択される。また、このとき、信号／ＰＲ２Ｈはローベルになり、信号／ＰＲ１はHighになるので、定電流として最大電流Ｉｍａｘが選択される。この場合、最大電流Ｉｍａｘが印加されたビット線ＢＬの電圧は、記憶素子１０１の抵抗状態に応じて決まる放電量と、供給される最大電流Ｉｍａｘとが釣り合った点で決まる。図２９の例では、記憶素子１０１の抵抗状態が（１，１）、（１，０）のそれぞれの場合におけるビット線ＢＬの電圧を示している。読み出し部４００は、オペアンプ６２０の比較結果によって記憶素子１０１の抵抗値を判定する。
【０１１６】
（第５の実施形態）
次に、第５の実施形態について説明する。上述の各実施形態と共通する部分については適宜に説明を省略する。本実施形態では、読み出し部４００は、記憶素子１０１のデータを読み出す際に、複数種類の定電流を選択的に記憶素子１０１に印加する点で上述の各実施形態と相異する。本実施形態の読み出し部４００は、記憶素子１０１が相転移を起こす動作点を示す相転移点の集合である禁止領域を回避して読み出しを行うように、定電流を供給する。以下、具体的に説明する。
【０１１７】
読み出し部４００は、読み出し対象として選択された記憶素子１０１のデータが複数の抵抗状態のうちの何れであるかを判定するための複数（この例では３つ）の閾値抵抗（Ｒｔｈ１、Ｒｔｈ２、Ｒｔｈ３）に対応する複数の参照電圧のうちの何れかを選択しながら記憶素子１０１のデータの読み出しを行い、最初に選択した参照電圧を示す第１の参照電圧ＶＲＥＦ１と、記憶素子１０１に電流／電圧を供給するためのビット線ＢＬに対して、最初に選択した定電流を示す第１の定電流Ｉｍａｘを印加して読み出すときの電圧と、の比較結果に応じて、次の参照電圧および次の定電流を選択して読み出しを行う。
【０１１８】
ここでは、最初に選択した第１の参照電圧ＶＲＥＦ１は、複数の閾値抵抗（Ｒｔｈ１、Ｒｔｈ２、Ｒｔｈ３）のうちの中間の閾値抵抗Ｒｔｈ２に対応する。図３０に示すように、この第１の参照電圧ＶＲＥＦ１は、禁止領域に掛からない電圧のうち最大の電圧である。また、ここでは、禁止領域に掛からない電流のうち最大の電流をＩｍａｘ（第１の定電流Ｉｍａｘ）と呼ぶ。Ｉｍａｘの直線とＶＲＶ１の直線の交点を、前述した閾値抵抗Ｒｔｈ２に対応する直線が通過する。図３１、図３２に示すように、この閾値抵抗Ｒｔｈ２の直線（上記交点と原点を結ぶ直線）は(０，１)と（１，０）の中間に位置する。まず第１回目の読み出しにおいては、記憶素子１０１の抵抗状態が、４つの抵抗状態のうち上位２つの抵抗状態なのか下位２つの抵抗状態なのかが判定される。図３０および図３６に示すように、ワード線ＷＬを非選択としたフローティングの状態で電流Ｉｍａｘが供給され、ビット線ＢＬの電圧と、第１の参照電圧ＶＲＥＦ１との比較が行われる。
【０１１９】
読み出し部４００は、上述のようにして最初に第１の参照電圧ＶＲＥＦ１および第１の定電流Ｉｍａｘを選択し、第１の定電流Ｉｍａｘを印加して読み出したときのビット線ＢＬの電圧が第１の参照電圧ＶＲＥＦ１よりも大きい場合は、中間の閾値抵抗Ｒｔｈ２よりも１段階上の閾値抵抗Ｒｔｈ１に対応する参照電圧として、第１の参照電圧ＶＲＥＦ１よりも高い第２の参照電圧ＶＲＥＦ２Ｈを選択し、定電流は第１の定電流Ｉｍａｘのまま読み出しを行う。ここでは、第１の定電流Ｉｍａｘを印加して読み出したときの記憶素子１０１の動作点が禁止領域を回避するように設定される。
【０１２０】
また、読み出し部４００は、上述のようにして最初に第１の参照電圧ＶＲＥＦ１および第１の定電流Ｉｍａｘを選択し、第１の定電流Ｉｍａｘを印加して読み出したときのビット線ＢＬの電圧が第１の参照電圧ＶＲＥＦ１よりも小さい場合は、中間の閾値抵抗Ｒｔｈ２よりも１段階下の閾値抵抗Ｒｔｈ３に対応する参照電圧として第１の参照電圧ＶＲＥＦ１を選択し、定電流として、第１の定電流Ｉｍａｘよりも大きい第２の定電流Ｉ２を選択して読み出しを行う。ここでは、第２の定電流Ｉ２を印加して読み出したときの記憶素子１０１の動作点が禁止領域を回避するように設定される。
【０１２１】
図３３は、本実施形態の読み出し部４００が有する機能のうち、参照電圧および定電流を選択する機能を提供するための回路構成の一例を示す図である。図３３に示すように、読み出し部４００は、定電流供給部７１０、オペアンプ７２０、ＡＮＤ回路７３０、ラッチ／選択回路７４０、参照電圧供給部７５０を少なくとも備える。
【０１２２】
定電流供給部７１０は、ビット線ＢＬに対して定電流を供給するための回路である。図３３の例では、定電流供給部７１０は、定電流源７１１，７１２，７１３を含む。
【０１２３】
定電流源７１１は、ビット線ＢＬに対して第１の定電流Ｉ１を供給するための回路であり、トランジスタ７１４，７１５を含む。トランジスタ７１４は、電源電圧Ｖｄｄから第１の定電流Ｉ１を生成して流すための電流源トランジスタである。トランジスタ７１５は、トランジスタ７１４で生成された第１の定電流Ｉ１をビット線ＢＬへ印加するか否かを切り替えるためのトランジスタであり、ゲートに入力される信号／ＰＲ１に応じてオン／オフが切り替わる。この例では、トランジスタ７１５は、信号／ＰＲ１がLowに遷移するとオン状態に遷移し、信号／ＰＲ１がHighに遷移するとオフ状態に遷移する。なお、信号／ＰＲ１の信号レベル（Ｈ／Ｌ）は読み出し部４００によって制御される。言い換えれば、読み出し部４００は、信号／ＰＲ１の信号レベルを制御する機能も有している。
【０１２４】
定電流源７１２は、ビット線ＢＬに対して再度第１の定電流Ｉ１を供給するための回路であり、トランジスタ７１６，７１７を含む。トランジスタ７１６は、電源電圧Ｖｄｄから第１の定電流Ｉ１を生成して流すための電流源トランジスタである。トランジスタ７１７は、トランジスタ７１６で生成された第１の定電流Ｉ１をビット線ＢＬへ印加するか否かを切り替えるためのトランジスタであり、ゲートに入力される信号／ＰＲ２Ｈに応じてオン／オフが切り替わる。この例では、トランジスタ７１７は、信号／ＰＲ２ＨがLowに遷移するとオン状態に遷移し、信号／ＰＲ２ＨがHighに遷移するとオフ状態に遷移する。
【０１２５】
定電流源７１３は、ビット線ＢＬに対して第２の定電流Ｉ２を供給するための回路であり、トランジスタ７１８，７１９を含む。トランジスタ７１８は、電源電圧Ｖｄｄから第２の定電流Ｉ２を生成して流すための電流源トランジスタである。トランジスタ７１９は、トランジスタ７１８で生成された第２の定電流Ｉ２をビット線ＢＬへ印加するか否かを切り替えるためのトランジスタであり、ゲートに入力される信号／ＰＲ２Ｌに応じてオン／オフが切り替わる。この例では、トランジスタ７１９は、信号／ＰＲ２ＬがLowに遷移するとオン状態に遷移し、信号／ＰＲ２ＬがHighに遷移するとオフ状態に遷移する。
【０１２６】
オペアンプ７２０は、ビット線ＢＬの電圧と、参照電圧との比較結果を出力する。この例では、オペアンプ７２０の正の入力側（非反転増幅端子）にはビット線ＢＬの電圧が入力され、負の入力側（反転増幅端子）には参照電圧が入力される。オペアンプ７２０の出力ＯＵＴはラッチ／選択回路７４０を介してＡＮＤ回路７３０に入力される。ＡＮＤ回路７３０には、ＯＥも入力される。
【０１２７】
ラッチ／選択回路７４０は、オペアンプ７２０の出力ＯＵＴをラッチするとともに、その出力ＯＵＴに応じて、次の参照電圧および次の定電流を選択するための回路である。具体的な構成については後述する。
【０１２８】
参照電圧供給部７５０は、オペアンプ７２０の負の入力側（反転増幅端子）に参照電圧を供給するための回路であり、スイッチング素子（相補型スイッチ）７５１，７５２，７５３を含む。スイッチング素子７５１は、図７に示すスイッチング素子４５１に対応し、スイッチング素子７５２は図７に示すスイッチング素子４５２に対応し、スイッチング素子７５３は図７に示すスイッチング素子４５３に対応する。ここでは、詳細な説明は省略する。
【０１２９】
次に、図３４および図３５を参照して、ラッチ／選択回路７４０の構成を説明する。図３４は、ラッチ／選択回路７４０が有する機能のうち、上述のオペアンプ７２０からの出力ＯＵＴをラッチする機能を提供するための回路の構成例を示す図である。図３４に示すように、ラッチ／選択回路７４０は、スイッチング素子７４１とラッチ回路７４２とを備える。スイッチング素子７４１はオペアンプ７２０からの出力ＯＵＴをラッチ回路７４２へ供給するか否かを切り替えるためのスイッチング素子である。スイッチング素子７４１は、信号ＯＮ１に応じてオン／オフが切り替わる。この例では、信号ＯＮ１がHighに遷移するとスイッチング素子７４１はオン状態に遷移し、信号ＯＮ１がLowに遷移するとスイッチング素子７４１はオフ状態に遷移する。なお、信号ＯＮ１の信号レベル（Ｈ／Ｌ）は読み出し部４００によって制御される。言い換えれば、読み出し部４００は、信号ＯＮ１の信号レベルを制御する機能も有している。
【０１３０】
ラッチ回路７４２は、オン状態に遷移したスイッチング素子７４１を介して入力される出力ＯＵＴ１（オペアンプ７２０からの出力）をラッチする。また、ラッチ回路７４２は、ラッチした信号を出力するか否かを切り替えるためのトランジスタ７４３，７４４を備える。トランジスタ７４３のゲートへ入力される信号／ＯＮ１２やトランジスタ７４４のゲートへ入力される信号ＯＮ１２の信号レベルは、読み出し制御部４００によって制御される。
【０１３１】
図３５は、ラッチ／選択回路７４０が有する機能のうち、定電流および参照電圧を選択する機能を提供するための選択回路の構成例を示す図である。図３５に示すように、ラッチ／選択回路７４０の選択回路は、インバータ８０１、インバータ８０２、ＮＡＮＤ回路８０３、インバータ８０４、インバータ８０５、インバータ８０６、ＮＡＮＤ回路８０７、インバータ８０８、ＮＡＮＤ回路８０９、インバータ８１０を備える。
【０１３２】
オペアンプ７２０からスイッチング素子７４１を経由した上述の出力ＯＵＴ１はインバータ８０１へ入力される。ＯＵＴ１をインバータ８０１で反転した信号／ｎｏｄｅ１２はインバータ８０２へ入力されるとともに、ＮＡＮＤ回路８０７へ入力される。ＮＡＮＤ回路８０７には信号ＯＮ１２も入力され、信号ＯＮ１２がHigh、かつ、信号／ｎｏｄｅ１２がHighの場合は、ＮＡＮＤ回路８０７から出力される信号／ＳＷ１２ＬはLowとなり、それ以外の場合は、信号／ＳＷ１２ＬはHighとなる。そして、信号／ＳＷ１２Ｌはインバータ８０８へ入力される。信号／ＳＷ１２Ｌはインバータ８０８で反転され、信号ＳＷ１２Ｌとして出力される。また、信号／ＳＷ１２Ｌは、ＮＡＮＤ回路８０９へ入力される。ＮＡＮＤ回路８０９には信号／ＳＷ１も入力され、信号／ＳＷ１２ＬがHigh、かつ、信号／ＳＷ１がHighの場合は、ＮＡＮＤ回路８０９から出力される信号はLowとなり、それ以外の場合は、ＮＡＮＤ回路８０９から出力される信号はHighとなる。ＮＡＮＤ回路８０９から出力される信号は、インバータ８１０で反転され、信号／ＰＲ２Ｌとして出力される。
【０１３３】
信号／ｎｏｄｅ１２をインバータ８０２で反転した信号ｎｏｄｅ１２はＮＡＮＤ回路８０３へ入力される。ＮＡＮＤ回路８０３には信号ＯＮ１２も入力され、信号ＯＮ１２がHigh、かつ、信号ｎｏｄｅ１２がHighの場合は、ＮＡＮＤ回路８０３から出力される信号／ＳＷ１２ＨはLowとなり、それ以外の場合は、信号／ＳＷ１２ＨはHighとなる。そして、信号／ＳＷ１２Ｈはインバータ８０４へ入力される。信号／ＳＷ１２Ｈはインバータ８０４で反転され、信号ＳＷ１２Ｈとして出力される。
【０１３４】
また、信号／ＳＷ１２Ｈはインバータ８０５へ入力される。インバータ８０５で反転された信号は、インバータ８０６でさらに反転され、信号／ＰＲ２Ｈとして出力される。
【０１３５】
例えば最初の読み出し時において、定電流として第１の定電流Ｉｍａｘ、参照電圧として第１の参照電圧ＶＲＥＦ１が選択された場合に、オペアンプ７２０の出力ＯＵＴがLowの場合を想定する。つまり、第１の参照電圧ＶＲＥＦ１の方がビット線ＢＬの電圧よりも高い場合を想定する。この場合、図３４および図３５の回路によれば、信号ＳＷ１２ＬはHigh、信号ＳＷ１２ＨはLowになるので、参照電圧として第１の参照電圧ＶＲＥＦ１が選択される。また、このとき信号／ＰＲ２ＬはLow、信号／ＰＲ２ＨはHighになるので、定電流として第２の定電流Ｉ２が選択される。
【０１３６】
一方、例えばオペアンプ７２０の出力ＯＵＴがHigh、つまり、第１の参照電圧ＶＲＥＦ１の方がビット線ＢＬの電圧よりも低い場合を想定する。この場合、図３４および図３５の回路によれば、信号ＳＷ１２ＬはLow、信号ＳＷ１２ＨはHighになるので、参照電圧として第２の参照電圧ＶＲＥＦ２Ｈが選択される。また、このとき信号／ＰＲ２ＬはHigh、信号／ＰＲ２ＨはLowになるので、定電流として第１の定電流Ｉｍａｘが供給される。
【０１３７】
図３６は、読み出し部４００が、選択された記憶素子１０１からのデータを読み出す際に、参照電圧および定電流を選択するための各種信号を制御するときのタイミングチャートの一例を示す図である。この例では、選択対象の記憶素子１０１に接続されたビット線ＢＬは選択済みであることを前提とする。
【０１３８】
図３６に示すように、まず読み出し部４００は、ワード線ＷＬの選択とともに信号ＳＷ１をHigh、信号／ＰＲ１をLowに制御する。これにより、トランジスタ７１５およびスイッチング素子７５１がオン状態に遷移するので、選択対象の記憶素子１０１に接続されたビット線ＢＬに印加する定電流として第１の定電流Ｉｍａｘが供給され、オペアンプ７２０の負の入力側（反転増幅端子）に入力される参照電圧として第１の参照電圧ＶＲＥＦ１が選択される。ビット線ＢＬの電圧は、記憶素子１０１の抵抗状態に応じて決まる放電量と、供給される第１の定電流Ｉ１とが釣り合った点で決まり、図３６では、記憶素子１０１の抵抗状態が（１，１）、（１，０）、（０，１）、（０，０）のそれぞれの場合におけるビット線ＢＬの電圧を示している。
【０１３９】
そして、読み出し部４００は、オペアンプ７２０の比較結果を出力するとともに、信号ＯＮ１を所定期間だけHighに制御する。これにより、スイッチング素子７４１がオン状態に遷移するので、オペアンプ７２０の出力ＯＵＴ１がラッチ回路７４２へ入力される。
【０１４０】
上述したように、オペアンプ７２０の出力ＯＵＴがLowの場合は、信号ＳＷ１２ＬはHigh、信号ＳＷ１２ＨはLowになるので、参照電圧として第１の参照電圧ＶＲＥＦ１が選択される。また、このとき信号／ＰＲ２ＬはLow、信号／ＰＲ２ＨはHighになるので、定電流として第２の定電流Ｉ２が選択される。この場合、ビット線ＢＬの電圧は、記憶素子１０１の抵抗状態に応じて決まる放電量と、供給される第２の定電流Ｉ２とが釣り合った点へ変化する。また、オペアンプ７２０の出力ＯＵＴがHighの場合は、信号ＳＷ１２ＬはLow、信号ＳＷ１２ＨはHighになるので、参照電圧として第２の参照電圧ＶＲＥＦ２Ｈが選択される。また、このとき信号／ＰＲ２ＬはHigh、信号／ＰＲ２ＨはLowになるので、定電流として第１の定電流Ｉｍａｘが選択される。この場合、ビット線ＢＬの電圧は、記憶素子１０１の抵抗状態に応じて決まる放電量と、供給される第１の定電流Ｉ１とが釣り合った点で決まる。
【０１４１】
そして、読み出し部４００は、オペアンプ７２０の比較結果によって記憶素子１０１の抵抗値を判定する。
【０１４２】
以上、本発明の実施形態を説明したが、上述の実施形態は例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら新規な実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０１４３】
１      抵抗変化メモリ装置
１００  メモリセルアレイ
１０１  記憶素子
２００  ロウデコーダ
３００  カラムデコーダ
４００  書き込み／読み出し部
４１０  定電圧供給部
４２０  オペアンプ
４３０  ＡＮＤ回路
４４０  ラッチ／選択回路
４５０  参照電圧供給部
【図１】
2019057347.tif 000003
【図２】
2019057347.tif 000004
【図３】
2019057347.tif 000005
【図４】
2019057347.tif 000006
【図５】
2019057347.tif 000007
【図６】
2019057347.tif 000008
【図７】
2019057347.tif 000009
【図８】
2019057347.tif 000010
【図９】
2019057347.tif 000011
【図１０】
2019057347.tif 000012
【図１１】
2019057347.tif 000013
【図１２】
2019057347.tif 000014
【図１３】
2019057347.tif 000015
【図１４】
2019057347.tif 000016
【図１５】
2019057347.tif 000017
【図１６】
2019057347.tif 000018
【図１７】
2019057347.tif 000019
【図１８】
2019057347.tif 000020
【図１９】
2019057347.tif 000021
【図２０】
2019057347.tif 000022
【図２１】
2019057347.tif 000023
【図２２】
2019057347.tif 000024
【図２３】
2019057347.tif 000025
【図２４】
2019057347.tif 000026
【図２５】
2019057347.tif 000027
【図２６】
2019057347.tif 000028
【図２７】
2019057347.tif 000029
【図２８】
2019057347.tif 000030
【図２９】
2019057347.tif 000031
【図３０】
2019057347.tif 000032
【図３１】
2019057347.tif 000033
【図３２】
2019057347.tif 000034
【図３３】
2019057347.tif 000035
【図３４】
2019057347.tif 000036
【図３５】
2019057347.tif 000037
【図３６】
2019057347.tif 000038