(57)【特許請求の範囲】
【請求項１】
印加された電圧に応じて非導通状態から導通状態に閾値電圧を境として変化するとともに前記導通状態の時に印加された電圧に応じて高抵抗状態および低抵抗状態に変化するメモリセルと、
印加された電圧に応じて非導通状態から導通状態に参照閾値電圧を境として変化する参照素子を備える参照セルと、
前記参照セルにおいて計測された参照閾値電圧を前記メモリセルの閾値電圧と推定して前記メモリセルのアクセスの際に前記メモリセルに電圧を印加するアクセス制御部と
を具備し、
前記アクセス制御部は、読出しを行う際に前記参照素子を前記非導通状態から前記導通状態に変化させて前記参照閾値電圧の計測を行い、
前記閾値電圧は、前記メモリセルが前記非導通状態から前記導通状態に変化したときからの経過時間に応じて変化し、
前記参照セルは、前記メモリセルと同じ構成の素子を有する
メモリ。
【請求項２】
前記メモリセルは、印加された電圧に応じて前記非導通状態から前記導通状態に前記閾値電圧を境として変化する制御素子と印加された電圧に応じて前記高抵抗状態および前記低抵抗状態に変化する抵抗変化素子とを備える請求項１記載のメモリ。
【請求項３】
前記メモリセルは、ページサイズにより分割されたページを単位としてアクセスされ、
前記参照セルは、前記ページ毎に配置され、
前記アクセス制御部は、前記ページ毎に前記参照閾値電圧を前記メモリセルの閾値電圧と推定して前記メモリセルに電圧を印加する
請求項１記載のメモリ。
【請求項４】
前記参照セルは、前記ページ毎に複数配置され、
前記アクセス制御部は、前記複数の参照セルにおける参照閾値電圧により前記メモリセルの閾値電圧を推定する
請求項３記載のメモリ。
【請求項５】
前記アクセス制御部は、前記ページにおける読出しを行う際に前記参照素子を前記非導通状態から前記導通状態に変化させて前記参照閾値電圧の計測を行う請求項３記載のメモリ。
【請求項６】
前記アクセス制御部は、前記ページにおける書込みの後に前記高抵抗状態の前記メモリセルが存在する場合に前記ページの前記低抵抗状態の前記メモリセルを前記導通状態に変化させて当該変化後の経過時間を前記高抵抗状態の前記メモリセルと略等しいかまたは短い状態にして前記参照閾値電圧を前記ページにおける前記メモリセルの閾値電圧と推定する請求項５記載のメモリ。
【請求項７】
ＸＹマトリクス状に配置された複数の行信号線および複数の列信号線をさらに具備し、
前記メモリセルは、前記複数の行信号線および前記複数の列信号線の交点に複数配置されて前記交点における前記複数の行信号線のうちの一つと前記交点における前記複数の列信号線のうちの一つとにそれぞれ接続され、
前記参照セルは、前記複数のメモリセル毎に配置され、
前記アクセス制御部は、前記複数のメモリセル毎に配置された前記参照セルの参照閾値電圧を前記メモリセルの閾値電圧と推定して前記メモリセル毎に電圧を印加する
請求項１記載のメモリ。
【請求項８】
前記アクセス制御部は、前記複数の行信号線のうちの一つと前記複数の列信号線のうちの一つとを選択して前記アクセスを行う請求項７記載のメモリ。
【請求項９】
前記アクセス制御部は、前記複数の行信号線のうちの一つである選択行信号線と前記複数の列信号線のうちの一つである選択列信号線との間に接続された前記メモリセルの書込みを行う際に前記選択行信号線と前記選択列信号線を除く前記列信号線との間に接続された前記メモリセルである半選択行メモリセルの閾値電圧および前記選択列信号線と前記選択行信号線を除く前記行信号線との間に接続された前記メモリセルである半選択列メモリセルの閾値電圧を前記参照閾値電圧により推定して前記半選択行メモリセルおよび前記半選択列メモリセルに電圧を印加する請求項８記載のメモリ。
【請求項１０】
前記アクセスに係る読出しデータの誤り検出および誤り訂正を行う誤り検出訂正部をさらに具備し、
前記アクセス制御部は、前記誤り検出訂正部において前記読出しデータの誤りが検出された際に前記参照閾値電圧を前記メモリセルの閾値電圧と推定して前記メモリセルに電圧を印加する
請求項１記載のメモリ。
【請求項１１】
印加された電圧に応じて非導通状態から導通状態に閾値電圧を境として変化するとともに前記導通状態の時に印加された電圧に応じて高抵抗状態および低抵抗状態に変化するメモリセルと、
印加された電圧に応じて非導通状態から導通状態に参照閾値電圧を境として変化する参照素子を備える参照セルと、
前記参照セルにおいて計測された参照閾値電圧を前記メモリセルの閾値電圧と推定して前記メモリセルのアクセスの際に前記メモリセルに電圧を印加するアクセス制御部と
を備えるメモリと、
前記メモリにアクセスするホストコンピュータと
を具備し、
前記アクセス制御部は、読出しを行う際に前記参照素子を前記非導通状態から前記導通状態に変化させて前記参照閾値電圧の計測を行い、
前記閾値電圧は、前記メモリセルが前記非導通状態から前記導通状態に変化したときからの経過時間に応じて変化し、
前記参照セルは、前記メモリセルと同じ構成の素子を有する
情報処理システム。
【請求項１２】
印加された電圧に応じて非導通状態から導通状態に参照閾値電圧を境として変化する参照素子を備える参照セルにおいて計測された前記参照閾値電圧を印加された電圧に応じて非導通状態から導通状態に閾値電圧を境として変化するとともに前記導通状態の時に印加された電圧に応じて高抵抗状態および低抵抗状態に変化するメモリセルの前記閾値電圧と推定して前記メモリセルのアクセスの際に前記メモリセルに電圧を印加するアクセス制御手順を具備し、
前記アクセス制御手順において、読出しを行う際に前記参照素子を前記非導通状態から前記導通状態に変化させて前記参照閾値電圧の計測を行い、
前記閾値電圧は、前記メモリセルが前記非導通状態から前記導通状態に変化したときからの経過時間に応じて変化し、
前記参照セルは、前記メモリセルと同じ構成の素子を有する
メモリの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、メモリ、情報処理システムおよびメモリの制御方法に関する。詳しくは、印加された電圧に応じて非導通状態から導通状態に変化する制御素子を有するメモリセルから構成されるメモリ、情報処理システムおよびメモリの制御方法に関する。
【背景技術】
【０００２】
従来、抵抗値が可逆的に変化する抵抗変化素子とデータの書込みおよび読出しの際にこの抵抗変化素子を制御する制御素子とが直列に接続されたメモリセルが２次元に配置されて構成されたメモリが使用されている。抵抗変化素子は、印加された電圧等により抵抗値を変化させることができる素子であり、抵抗が高い状態および低い状態を、例えば、値「０」および「１」にそれぞれ対応させて記憶を行う素子である。このようなメモリとして、ＲｅＲＡＭ（Resistive RAM）、ＰＣＲＡＭ（Phase-Change RAM）およびＭＲＡＭ（Magnetoresistive RAM）などにより構成されたメモリが知られている。制御素子は、この抵抗変化素子に印加される電圧を制御する素子である。この制御素子として、ＭＯＳトランジスタのように制御電極を備えた３端子型の制御素子や、制御電極を省略して簡略化された２端子型の制御素子などが使用されている。近年、この２端子型の制御素子を採用して低コスト化したメモリが注目されている。２端子型の制御素子は、印加された電圧に応じて閾値を境として非導通状態および導通状態に変化する素子である。この２端子型の制御素子を使用したメモリセルにおけるデータの読出しは、次の手順により行われる。まず、メモリセルに電圧を印加して制御素子を導通状態にする、すなわちオンさせる。次に、抵抗変化素子の抵抗値が高い状態または低い状態の何れであるかを判断する。
【０００３】
上述の抵抗変化素子は、構造が簡単で高速にアクセス可能である一方、電気的な特性が変化するという問題がある。例えば、相変化型メモリであるＰＣＲＡＭは、抵抗変化素子を非結晶状態および結晶状態に変化させることにより抵抗値を変化させるメモリであり、これらの状態がデータの書込みからの経過時間に応じて変化する。このため、抵抗変化素子の抵抗が高い状態または低い状態の何れであるかを判断するための抵抗値である閾値も経過時間に応じて変化する。そこで、データの書込みからの経過時間に応じて抵抗変化素子に印加する電圧である読出し電圧を変更し、抵抗変化素子の抵抗が高い状態または低い状態の何れであるかの判断を行う。これにより、閾値が変化した場合であっても、書き込まれたデータと同じデータの読出しを可能とするシステムが提案されている（例えば、特許文献１参照。）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】米国特許出願公開第２００９／０３０３７８５号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００５】
前述のように、２端子型の制御素子は、閾値を超える電圧が印加されると非導通状態から導通状態に変化し、電圧の印加を停止すると非導通状態に戻る素子である。すなわち、抵抗変化素子と同様に、印加された電圧に応じて抵抗値が変化する素子である。この２端子型の制御素子の閾値電圧が前回のオン動作からの経過時間に応じて変化する場合を想定する。例えば、前回のオン動作の時より高い閾値電圧に変化すると、前回と同じ電圧をメモリセルに印加しても、変化後の閾値電圧と比べて相対的に低い印加電圧となり、制御素子を十分に導通させることができなくなる。このため、抵抗変化素子の抵抗が低抵抗の状態であっても、高抵抗の状態と判断されて記憶されたデータとは異なるデータが読み出されてしまい、その結果、記憶データの信頼性が低下するという問題がある。閾値電圧の変化を想定した高い電圧をメモリセルに印加することにより、前回のオン動作からの経過時間に関わらず制御素子をオンさせることができる。しかし、この場合には、比較的高い電圧がメモリセルに印加されて読出しが行われるため、読出しの際の消費電力が増加するという問題が生じる。
【０００６】
本技術はこのような状況に鑑みて生み出されたものであり、メモリセルにおける制御素子の閾値が変化した場合において、消費電力を増加させることなく、記憶データの信頼性を向上させることを目的とする。
【課題を解決するための手段】
【０００７】
本技術は、上述の問題点を解消するためになされたものであり、その第１の側面は、印加された電圧に応じて非導通状態から導通状態に閾値電圧を境として変化するとともに上記導通状態の時に印加された電圧に応じて高抵抗状態および低抵抗状態に変化するメモリセルと、印加された電圧に応じて非導通状態から導通状態に参照閾値電圧を境として変化する参照素子を備える参照セルと、上記参照セルにおいて計測された参照閾値電圧を上記メモリセルの閾値電圧と推定して上記メモリセルのアクセスの際に上記メモリセルに電圧を印加するアクセス制御部とを具備するメモリおよびメモリの制御方法である。これにより、参照閾値電圧によりメモリセルの閾値電圧が推定されてメモリセルに電圧が印加されるという作用をもたらす。
【０００８】
また、この第１の側面において、上記メモリセルは、印加された電圧に応じて上記非導通状態から上記導通状態に上記閾値電圧を境として変化する制御素子と印加された電圧に応じて上記高抵抗状態および上記低抵抗状態に変化する抵抗変化素子とを備えてもよい。これにより、参照閾値電圧によりメモリセルの制御素子の閾値電圧が推定されるという作用をもたらす。
【０００９】
また、この第１の側面において、上記アクセス制御部は、読出しを行う際に上記参照素子を上記非導通状態から上記導通状態に変化させて上記参照閾値電圧の計測を行ってもよい。これにより、メモリセルおよび参照素子における非導通状態から導通状態への変化を同期させるという作用をもたらす。
【００１０】
また、この第１の側面において、上記データセルは、ページサイズにより分割されたページを単位としてアクセスされ、上記参照セルは、上記ページ毎に配置され、上記アクセス制御部は、上記ページ毎に上記参照閾値電圧を上記メモリセルの閾値電圧と推定して上記メモリセルに電圧を印加してもよい。これにより、ページ毎に参照閾値電圧が計測されてメモリセルの閾値電圧が推定されるという作用をもたらす。
【００１１】
また、この第１の側面において、上記参照セルは、上記ページ毎に複数配置され、上記アクセス制御部は、上記複数の参照セルにおける参照閾値電圧により上記メモリセルの閾値電圧を推定してもよい。これにより、計測された複数の参照閾値電圧によりメモリセルの閾値電圧が推定されるという作用をもたらす。
【００１２】
また、この第１の側面において、上記アクセス制御部は、上記ページにおける読出しを行う際に上記参照素子を上記非導通状態から上記導通状態に変化させて上記参照閾値電圧の計測を行ってもよい。これにより、メモリセルおよび参照素子における非導通状態から導通状態への変化をページ毎に同期させるという作用をもたらす。
【００１３】
また、この第１の側面において、上記アクセス制御部は、上記ページにおける書込みの後に上記高抵抗状態の上記メモリセルが存在する場合に上記ページの上記低抵抗状態の上記メモリセルを上記導通状態に変化させて当該変化後の経過時間を上記高抵抗状態の上記メモリセルと略等しいかまたは短い状態にして上記参照閾値電圧を上記ページにおける上記メモリセルの閾値電圧と推定してもよい。これにより、高抵抗状態のメモリセルおよび低抵抗状態のメモリセルにおける非導通状態から導通状態への変化を同期させるという作用をもたらす。
【００１４】
また、この第１の側面において、ＸＹマトリクス状に配置された複数の行信号線および複数の列信号線をさらに具備し、上記メモリセルは、上記複数の行信号線および上記複数の列信号線の交点に複数配置されて上記交点における上記複数の行信号線のうちの一つと上記交点における上記複数の列信号線のうちの一つとにそれぞれ接続され、上記参照セルは、上記複数のメモリセル毎に配置され、上記アクセス制御部は、上記複数のメモリセル毎に配置された上記参照セルの参照閾値電圧を上記メモリセルの閾値電圧と推定して上記メモリセル毎に電圧を印加してもよい。これにより、複数の行信号線および複数の列信号線により配線されたメモリセルの閾値電圧が参照閾値電圧により推定されてメモリセルに電圧が印加されるという作用をもたらす。
【００１５】
また、この第１の側面において、上記アクセス制御部は、上記複数の行信号線のうちの一つと上記複数の列信号線のうちの一つとを選択して上記アクセスを行ってもよい。これにより、選択された行信号線および選択された列信号線に接続されたメモリセルの閾値電圧が参照閾値電圧により推定されるという作用をもたらす。
【００１６】
また、この第１の側面において、上記アクセス制御部は、上記複数の行信号線のうちの一つである選択行信号線と上記複数の列信号線のうちの一つである選択列信号線との間に接続された上記メモリセルの書込みを行う際に上記選択行信号線と上記選択列信号線を除く上記列信号線との間に接続された上記メモリセルである半選択行メモリセルの閾値電圧および上記選択列信号線と上記選択行信号線を除く上記行信号線との間に接続された上記メモリセルである半選択列メモリセルの閾値電圧を上記参照閾値電圧により推定して上記半選択行メモリセルおよび上記半選択列メモリセルに電圧を印加してもよい。これにより、半選択行メモリセルおよび半選択列メモリセルの閾値電圧が参照閾値電圧により推定されるという作用をもたらす。
【００１７】
また、この第１の側面において、上記アクセスに係る読出しデータの誤り検出および誤り訂正を行う誤り検出訂正部をさらに具備し、上記アクセス制御部は、上記誤り検出訂正部において上記読出しデータの誤りが検出された際に上記参照閾値電圧を上記メモリセルの閾値電圧と推定して上記メモリセルに電圧を印加してもよい。これにより、誤りが検出された場合に、参照閾値電圧によりメモリセルの閾値電圧が推定されるという作用をもたらす。
【００１８】
また、本技術の第２の側面は、印加された電圧に応じて非導通状態から導通状態に閾値電圧を境として変化するとともに上記導通状態の時に印加された電圧に応じて高抵抗状態および低抵抗状態に変化するメモリセルと、印加された電圧に応じて非導通状態から導通状態に参照閾値電圧を境として変化する参照素子を備える参照セルと、上記参照セルにおいて計測された参照閾値電圧を上記メモリセルの閾値電圧と推定して上記メモリセルのアクセスの際に上記メモリセルに電圧を印加するアクセス制御部とを備えるメモリと、上記メモリにアクセスするホストコンピュータとを具備する情報処理システムである。これにより、参照閾値電圧によりメモリセルの閾値電圧が推定されてメモリセルに電圧が印加されるという作用をもたらす。
【発明の効果】
【００１９】
本技術によれば、メモリセルにおける制御素子の閾値が変化した場合において、消費電力を増加させることなく、記憶データの信頼性を向上させるという優れた効果を奏し得る。なお、ここに記載された効果は必ずしも限定されるものではなく、本開示中に記載されたいずれかの効果であってもよい。
【図面の簡単な説明】
【００２０】
【図１】本技術の実施の形態における情報処理システムの構成例を示す図である。
【図２】本技術の第１の実施の形態におけるアクセス制御部２００の構成例を示す図である。
【図３】本技術の第１の実施の形態におけるメモリアレイ３００の構成例を示す図である。
【図４】本技術の第１の実施の形態におけるメモリアレイユニット３１０の構成例を示す図である。
【図５】本技術の第１の実施の形態における参照アレイユニット３９０の構成例を示す図である。
【図６】本技術の第１の実施の形態におけるメモリセルおよび参照セルの構成例を示す図である。
【図７】本技術の第１の実施の形態における抵抗変化素子３０２の特性の一例を示す図である。
【図８】本技術の第１の実施の形態における制御素子３０１の特性の一例を示す図である。
【図９】本技術の実施の形態における行信号線および列信号線の印加電圧を示す図である。
【図１０】本技術の第１の実施の形態におけるメモリセルの印加電圧を示す図である。
【図１１】本技術の第１の実施の形態におけるオペレーションコードを示す図である。
【図１２】本技術の第１の実施の形態における印加電圧生成部２５０の出力電圧を示す図である。
【図１３】本技術の第１の実施の形態における読出し処理の処理手順の一例を示す図である。
【図１４】本技術の第１の実施の形態におけるメモリアレイユニット読出し処理（ステップＳ９１０）の処理手順の一例を示す図である。
【図１５】本技術の第１の実施の形態におけるメモリセル読出し処理（ステップＳ９２０）の処理手順の一例を示す図である。
【図１６】本技術の第１の実施の形態における書込み処理の処理手順の一例を示す図である。
【図１７】本技術の第１の実施の形態におけるメモリアレイユニット書込み処理（ステップＳ９４０）の処理手順の一例を示す図である。
【図１８】本技術の第１の実施の形態におけるメモリセルの印加電圧と電流との関係を示す図である。
【図１９】本技術の第２の実施の形態におけるメモリアレイユニット読出し処理（ステップＳ９１０）の処理手順の一例を示す図である。
【図２０】本技術の第３の実施の形態におけるメモリアレイ３００の構成例を示す図である。
【図２１】本技術の第４の実施の形態におけるアクセス制御部２００の構成例を示す図である。
【図２２】本技術の第４の実施の形態におけるメモリセルの印加電圧を示す図である。
【図２３】本技術の第４の実施の形態におけるオペレーションコードを示す図である。
【図２４】本技術の第４の実施の形態における非選択行印加電圧生成部２６０および非選択列印加電圧生成部２７０の出力電圧を示す図である。
【図２５】本技術の第４の実施の形態におけるメモリアレイユニット読出し処理（ステップＳ９６０）の処理手順の一例を示す図である。
【図２６】本技術の第４の実施の形態における書込み処理の処理手順の一例を示す図である。
【図２７】本技術の第４の実施の形態における非選択ラインセット電圧設定処理（ステップＳ９８０）の処理手順の一例を示す図である。
【図２８】本技術の第４の実施の形態におけるセット時のコード設定処理（ステップＳ９９０）の処理手順の一例を示す図である。
【図２９】本技術の第４の実施の形態におけるメモリアレイユニット書込み処理（ステップＳ８１０）の処理手順の一例を示す図である。
【図３０】本技術の第５の実施の形態におけるオペレーションコードを示す図である。
【図３１】本技術の第５の実施の形態における非選択行印加電圧生成部２６０および非選択列印加電圧生成部２７０の出力電圧を示す図である。
【図３２】本技術の第５の実施の形態における書込み処理の処理手順の一例を示す図である。
【図３３】本技術の第５の実施の形態における非選択ラインリセット電圧設定処理（ステップＳ８４０）の処理手順の一例を示す図である。
【図３４】本技術の第５の実施の形態におけるリセット時のコード設定処理（ステップＳ８５０）の処理手順の一例を示す図である。
【図３５】本技術の第６の実施の形態におけるメモリセルおよび参照セルの構成例を示す図である。
【図３６】本技術の第７の実施の形態におけるメモリセルおよび参照セルの構成例を示す図である。
【発明を実施するための形態】
【００２１】
以下、本技術を実施するための形態（以下、実施の形態と称する）について説明する。説明は以下の順序により行う。
１．第１の実施の形態（メモリセルの閾値電圧を参照素子の参照閾値電圧により推定する場合の例）
２．第２の実施の形態（読出しデータに対する誤り検出等の結果に基づいて参照閾値電圧による推定を行う場合の例）
３．第３の実施の形態（ページ毎に２つの参照素子を備える場合の例）
４．第４の実施の形態（セットにおける半選択行メモリセルおよび半選択列メモリセルの閾値電圧を参照閾値電圧により推定する場合の例）
５．第５の実施の形態（セットおよびリセットにおける半選択行メモリセルおよび半選択列メモリセルの閾値電圧を参照閾値電圧により推定する場合の例）
６．第６の実施の形態（単一方向性の抵抗変化素子および制御素子により構成されたメモリセルを使用する場合の例）
７．第７の実施の形態（単一の素子により構成されたメモリセルを使用する場合の例）
【００２２】
＜１．第１の実施の形態＞
［情報処理システムの構成］
図１は、本技術の実施の形態における情報処理システムの構成例を示す図である。同図の情報処理システムは、ホストコンピュータ１０と、メモリコントローラ２０と、メモリ３０とを備える。
【００２３】
ホストコンピュータ１０は、情報処理システムにおける各種の処理を行うものである。このホストコンピュータ１０は、メモリコントローラ２０を介して、メモリ３０に対して書込みまたは読出し等のコマンドを発行してアクセスを行う。信号線１９は、ホストコンピュータ１０とメモリコントローラ２０とを電気的に接続する信号線である。
【００２４】
メモリコントローラ２０は、メモリ３０を制御するものである。このメモリコントローラ２０は、ホストコンピュータ１０から発行された書込みおよび読出しコマンドを解釈し、これに基づく書込みおよび読出しリクエストをメモリ３０に対して要求する。
【００２５】
メモリ３０は、データを記憶するものである。メモリコントローラ２０から要求されたリクエストに基づいて、このデータに対するアクセスが行われる。この際、メモリ３０とメモリコントローラ２０との間でデータの転送が行われる。このメモリ３０には不揮発メモリであるＲｅＲＡＭにより構成されたメモリを想定する。このＲｅＲＡＭは、抵抗変化型メモリであり、抵抗値を可逆的に変化させて記憶を行う抵抗変化素子を有するメモリである。信号線２９は、メモリコントローラ２０とメモリ３０とを電気的に接続する信号線である。
【００２６】
ホストコンピュータ１０は、書込みを行う際に、書込みコマンドとこれに付随する書込みデータ、書込み先アドレスおよび書込みデータ数をメモリコントローラ２０に対して発行する。メモリコントローラ２０は、発行された書込みコマンドを解釈し、これに付随する書込みデータ、書込み先アドレスおよび書込みデータ数に基づいてメモリ３０に対して書込みリクエストを要求する。メモリ３０は、このリクエストに基づいて書込みを行う。
【００２７】
一方、読出しの際には、ホストコンピュータ１０は、読出しコマンドとこれに付随する読出し先アドレスおよび読出しデータ数をメモリコントローラ２０に対して発行する。メモリコントローラ２０がこのコマンドを解釈して、これに付随する読出し先アドレスおよび読出しデータ数に基づいてメモリ３０に対して読出しリクエストを要求する。メモリ３０は、このリクエストに基づいて読出しを行い、読み出したデータをメモリコントローラ２０に対して出力する。メモリコントローラ２０は、この出力されたデータを読出しデータとしてホストコンピュータ１０に出力する。
【００２８】
［メモリコントローラの構成］
メモリコントローラ２０は、ホストコンピュータインターフェース２１と、メモリアクセス制御部２２と、誤り検出訂正部２３と、メモリインターフェース２４とを備える。
【００２９】
ホストコンピュータインターフェース２１は、ホストコンピュータ１０との間のやり取りを行うインターフェースである。
【００３０】
メモリアクセス制御部２２は、メモリ３０に対するアクセスを制御するものである。このメモリアクセス制御部２２は、メモリコントローラ２０の全体を制御するとともに、ホストコンピュータ１０が発行したコマンドの解釈、これに基づくリクエストの生成を行う。
【００３１】
誤り検出訂正部２３は、書込みデータに対する符号化および読出しデータに対する復号を行うものである。ここで、符号化とは、書込みデータにパリティを付加して誤り検出訂正符号（ＥＣＣ：Error detection and Correction Code）にする処理である。このパリティには、例えば、ＢＣＨ（Bose-Chaudhuri-Hocquenghem）符号を使って生成されたパリティを使用することができる。また、復号とは、ＥＣＣから元のデータを取り出す処理である。この復号の際、データの誤り検出および誤り訂正が行われる。
【００３２】
メモリインターフェース２４は、メモリ３０との間のやり取りを行うインターフェースである。
【００３３】
バス２８は、メモリコントローラ２０の各部を相互に接続するバスである。信号線２９は、メモリコントローラ２０とメモリ３０とを電気的に接続する信号線である。
【００３４】
［メモリの構成］
メモリ３０は、メモリコントローラインターフェース１００と、アクセス制御部２００と、メモリアレイ３００とを備える。
【００３５】
メモリコントローラインターフェース１００は、メモリコントローラ２０との間のやり取りを行うインターフェースである。
【００３６】
アクセス制御部２００は、メモリ３０の全体を制御するものである。また、このアクセス制御部２００は、メモリコントローラ２０が要求したリクエストを解釈し、メモリアレイ３００に対してデータの書込みおよび読出しを行う。アクセス制御部２００の構成の詳細については、後述する。
【００３７】
メモリアレイ３００は、アクセス制御部２００により制御されてデータの記憶を行うものである。このメモリアレイ３００は、ページを単位としてページアドレスによりアクセスされる。なお、メモリコントローラ２０により生成されたリクエストにおける書込みデータおよび読出しデータのサイズは１ページと想定する。メモリアレイ３００の構成の詳細については、後述する。
【００３８】
［アクセス制御部の構成］
図２は、本技術の第１の実施の形態におけるアクセス制御部２００の構成例を示す図である。このアクセス制御部２００は、書込データ保持部２１０と、読出データ保持部２２０と、オペレーションコード保持部２３０と、メモリアクセス処理部２４０と、印加電圧生成部２５０とを備える。
【００３９】
書込データ保持部２１０は、メモリアレイ３００に対する書込みデータを保持するものである。この書込データ保持部２１０は、メモリコントローラ２０が要求した書込みリクエストに付随する１ページの書込みデータを保持する。
【００４０】
読出データ保持部２２０は、メモリアレイ３００からの読出しデータを保持するものである。この読出データ保持部２２０は、メモリコントローラ２０が要求した読出しリクエストに基づく１ページの読出しデータを保持する。その後、この読出しデータは、メモリアクセス処理部２４０によりメモリコントローラ２０に対して出力される。また、読出データ保持部２２０は、書込みリクエストの処理におけるデータの書込みに先立って行われたデータの読出しによる読出しデータの保持をさらに行う。
【００４１】
オペレーションコード保持部２３０は、オペレーションコードを保持するものである。ここで、オペレーションコードとは、メモリアレイ３００に対する指示を表すものである。このオペレーションコード保持部２３０は、後述するメモリアレイ３００に含まれるメモリアレイユニットおよび参照アレイユニット毎のオペレーションコードを保持する。また、オペレーションコード保持部２３０は、保持したオペレーションコードを対応するメモリアレイユニット等に出力する。オペレーションコードの詳細については、後述する。
【００４２】
印加電圧生成部２５０は、メモリアレイ３００に印加する電圧を生成するものである。この印加電圧生成部２５０は、メモリアクセス処理部２４０により出力された制御コードに基づいて印加電圧の生成を行う。印加電圧生成部２５０における処理の詳細については、後述する。
【００４３】
メモリアクセス処理部２４０は、メモリアレイ３００に対するアクセスの処理を行うものである。また、このメモリアクセス処理部２４０は、アクセス制御部２００の全体を制御する。リクエストが入力された際、メモリアクセス処理部２４０は、入力されたリクエストを解釈して、メモリアレイ３００に対してオペレーションコード、イネーブル信号およびアドレスを出力する。ここで、イネーブル信号は、後述するメモリアレイ３００のメモリセルに対する印加電圧生成部２５０により生成された電圧の印加を指示する信号である。また、メモリアクセス処理部２４０は、メモリアレイ３００との間でデータを双方向にやり取りする。さらに、メモリアクセス処理部２４０は、制御コードを出力して印加電圧生成部２５０を制御することにより、メモリアレイ３００のメモリセルに印加される電圧の制御を行う。メモリアクセス処理部２４０における処理の詳細については、後述する。
【００４４】
［メモリアレイの構成］
図３は、本技術の第１の実施の形態におけるメモリアレイ３００の構成例を示す図である。このメモリアレイ３００は、メモリアレイユニット＃１（３１０）乃至＃８（３８０）と、参照アレイユニット３９０とを備える。
【００４５】
メモリアレイユニット＃１（３１０）乃至＃８（３８０）は、１ビットのデータを記憶するメモリセルがアレイ状に配置されて構成されたものである。ここで、メモリセルは、後述する制御素子および抵抗変化素子により構成されるものである。メモリアレイユニット＃１（３１０）乃至＃８（３８０）は、メモリアクセス処理部２４０が出力するオペレーションコード、イネーブル信号およびアドレスに基づいてメモリセルに対して電圧を印加する。また、これらメモリアレイユニット＃１（３１０）乃至＃８（３８０）は、同一のアドレスが入力されて同時にアクセスされる。すなわち、これらのメモリアレイユニット数が１ページのビット数に該当する。同図の例では、８ビットが１ページに相当する。
【００４６】
参照アレイユニット３９０は、参照セルがアレイ状に配置されて構成されたものである。ここで、参照セルは、メモリセルの制御素子の閾値電圧を推定するための参照素子を備えるものである。参照セルの構成の詳細については、後述する。
【００４７】
［メモリアレイユニットの構成］
図４は、本技術の第１の実施の形態におけるメモリアレイユニット３１０の構成例を示す図である。このメモリアレイユニット３１０は、アレイ駆動部３１１と、行信号線３１２と、列信号線３１３と、メモリセル３１４乃至３１７とを備える。便宜上、同図のメモリアレイユニット３１０は、４個のメモリセルとそれぞれ２本の行信号線３１２および列信号線３１３を備えることを想定する。なお、メモリアレイユニット＃２（３２０）乃至＃８（３８０）は同図のメモリアレイユニット３１０と同じ構成であるため、説明を省略する。
【００４８】
行信号線３１２および列信号線３１３は、メモリセル３１４乃至３１７のそれぞれに印加する電圧を伝達するものである。これらは、ＸＹマトリクス状に配置される。
【００４９】
メモリセル３１４乃至３１７は、抵抗変化素子および制御素子を備えて１ビットのデータを記憶するものである。抵抗変化素子は、印加された電圧に応じて高抵抗状態および低抵抗状態に変化する素子である。これら高抵抗状態および低抵抗状態を切替えることによりデータの記憶が行われる。制御素子は、印加された電圧に応じて非導通状態から導通状態に閾値電圧を境として変化する素子である。この制御素子により抵抗変化素子に印加される電圧が制御される。
【００５０】
上述のＸＹマトリクス状に配置された行信号線３１２および列信号線３１３の交点にメモリセル３１４乃至３１７が配置される。さらに、メモリセル３１４乃至３１７は、一端が行信号線３１２に接続され、他の一端が列信号線３１３に接続される。具体的には、メモリセル３１４は、行信号線３１２のうち「ＲＬ０」が付された行信号線に一端が接続され、列信号線３１３のうち「ＣＬ０」が付された列信号線に他の一端が接続されている。メモリセル３１４乃至３１７の構成の詳細については、後述する。
【００５１】
アレイ駆動部３１１は、メモリセル３１４乃至３１７を駆動するものである。このアレイ駆動部３１１は、アクセス制御部２００により出力されたアドレスに基づいて、行信号線３１２および列信号線３１３からそれぞれ１つの信号線を選択する。以下、選択された行信号線３１２および選択された列信号線３１３をそれぞれ選択行信号線および選択列信号線と称する。その後、イネーブル信号が出力されると、アレイ駆動部３１１は、印加電圧生成部２５０により生成された印加電圧を選択行信号線および選択列信号線に対して出力する。これにより、選択行信号線および選択列信号線に接続されたメモリセル３１４等に対して電圧が印加され、書込みおよび読出しが行われる。アレイ駆動部３１１は、アクセス制御部２００が出力したオペレーションコードに基づいてメモリセル３１４乃至３１７に印加される電圧の極性を変更して書込みおよび読出しを行う。また、アレイ駆動部３１１は、これら書込みおよび読出しに係るデータをアクセス制御部２００との間で双方向にやり取りする。
【００５２】
一方、アレイ駆動部３１１は、上述の選択行信号線以外の行信号線３１２および選択列信号線以外の列信号線３１３に対してさらに電圧を印加する。以下、選択行信号線以外の行信号線３１２を非選択行信号線と称し、選択列信号線以外の列信号線３１３を非選択列信号線と称する。これら選択行信号線等に印加される電圧の詳細については、後述する。
【００５３】
［参照アレイユニットの構成］
図５は、本技術の第１の実施の形態における参照アレイユニット３９０の構成例を示す図である。この参照アレイユニット３９０は、アレイ駆動部３９１と、行信号線３９２と、列信号線３９３と、参照セル３９４乃至３９７とを備える。
【００５４】
参照セル３９４乃至３９７は、参照素子を備えるものである。参照素子は、印加された電圧に応じて非導通状態から導通状態に参照閾値電圧を境として変化する素子である。この参照閾値電圧を図４において説明したメモリセル３１４乃至３１７に含まれる制御素子の閾値電圧と推定し、アクセスの際にメモリセル３１４等に電圧が印加される。このため、参照セル３９４乃至３９７は、メモリセル３１４乃至３１７と１対１に対応し、メモリセル３１４等のアクセスに先立って対応する参照セル３９４乃至３９７における参照閾値電圧の計測が行われる。
【００５５】
アレイ駆動部３９１は、印加電圧生成部２５０により生成された電圧を参照セル３９４乃至３９７に印加して読出しを行い、読み出したデータをアクセス制御部２００に対して出力する。この際、参照セル３９４等に印加する電圧を高めながら読出したデータの変化を調べることにより参照閾値電圧の計測が行われる。これ以外のアレイ駆動部３９１の構成はアレイ駆動部３１１の構成と同様であるため、説明を省略する。
【００５６】
行信号線３９２および列信号線３９３の構成ならびに参照セル３９４乃至３９７の配置は図４において説明した行信号線３１２および列信号線３１３の構成ならびにメモリセル３１４乃至３１７の配置と同様であるため、説明を省略する。
【００５７】
［メモリセルおよび参照セルの構成］
図６は、本技術の第１の実施の形態におけるメモリセルおよび参照セルの構成例を示す図である。同図におけるａはメモリセルの構成例を表したものであり、直列に接続された制御素子３０１および抵抗変化素子３０２により構成されるメモリセルの例を表したものである。
【００５８】
抵抗変化素子３０２は、前述のように高抵抗状態および低抵抗状態の２つの状態を有し、これら２つの状態を切替えることによりデータの記憶を行う。以下、高抵抗状態をＨＲＳ（High Resistance State）、低抵抗状態をＬＲＳ（Low Resistance State）と称する。この抵抗変化素子３０２として、イオン供給層と絶縁層とが積層された素子を挙げることができる。イオン供給層から供給されたイオンが絶縁層に拡散することにより抵抗変化素子３０２はＬＲＳになる。逆に、絶縁層に拡散したイオンがイオン供給層に戻った場合には、抵抗変化素子３０２は、ＨＲＳになる。
【００５９】
このイオンの拡散等は、抵抗変化素子３０２に印加される書込み電圧の極性により変化する。すなわち、イオンが拡散する方向に書込み電圧が印加された場合には、抵抗変化素子３０２をＨＲＳからＬＲＳにすることができる。一方、逆極性の書込み電圧が印加された場合には、抵抗変化素子３０２は、ＬＲＳからＨＲＳに戻ることとなる。このように抵抗変化素子３０２をＨＲＳおよびＬＲＳに可逆的に変化させることによりデータの書込みが行われる。なお、データの読出しを行う場合には、書込み電圧より絶対値が低い読出し電圧を抵抗変化素子３０２に印加して流れる電流値によりＨＲＳまたはＬＲＳを判断することにより行うことができる。
【００６０】
制御素子３０１は、前述のように非導通状態および導通状態の２つの状態を有し、抵抗変化素子３０２に印加される電圧を制御するものである。この制御素子３０１は、印加された電圧と流れる電流との関係が非線形であり、閾値電圧以上の電圧を印加することにより非導通状態から導通状態に変化する。導通状態にある制御素子３０１に対して電圧の印加を停止すると、元の非導通状態に戻る。すなわち、印加する電圧を変化させることにより、制御素子３０１は、非導通状態および導通状態に可逆的に変化する。さらに、制御素子３０１は、双方向素子であり、逆極性の電圧を印加した場合においても、非導通状態および導通状態に可逆的に変化させることができる。このような性質を有する制御素子３０１として、双方向ダイオードを挙げることができる。
【００６１】
同図におけるｂおよびｃは、参照セルの構成を表したものである。同図におけるｂは、直列に接続された参照素子３０３および抵抗変化素子３０２により構成される参照セルの例を表したものである。この参照素子３０３には、制御素子３０１と同じ構成の素子を使用することができる。また、同図におけるｃの参照セルは、参照素子３０３により構成される参照セルの例を表したものである。
【００６２】
［抵抗変化素子の特性］
図７は、本技術の第１の実施の形態における抵抗変化素子３０２の特性の一例を示す図である。同図は、抵抗変化素子３０２の抵抗値の分布を表したグラフである。同図において、グラフ５０１はＬＲＳの場合の分布を表し、グラフ５０２はＨＲＳの場合の分布を表す。同図に記載された点線は、ＬＲＳおよびＨＲＳを分離する閾値を表す。抵抗変化素子３０２の抵抗がこの閾値に相当する抵抗値より高い場合および低い場合にそれぞれＨＲＳおよびＬＲＳと判断することができる。抵抗変化素子３０２は、これらＬＲＳおよびＨＲＳを論理値に対応させて１ビットのデータを記憶する。例えば、同図に表したように、ＬＲＳおよびＨＲＳを値「１」および「０」にそれぞれ対応させることができる。また、例えば、ＬＲＳおよびＨＲＳを値「０」および「１」にそれぞれ対応させることも可能である。本技術の実施の形態では、ＬＲＳおよびＨＲＳを値「１」および「０」にそれぞれ対応させることを想定する。
【００６３】
また、ＨＲＳからＬＲＳに遷移させる処理をセットと称し、ＬＲＳからＨＲＳに遷移させる処理をリセットと称する。図５において説明したように、セットおよびリセットは、抵抗変化素子３０２に印加する電圧の極性が異なる。以下、この電圧をプログラム電圧と称する。また、抵抗変化素子３０２から読出しを行う場合には、セットと同じ極性の電圧を印加することを想定する。図４において説明したアレイ駆動部３１１は、読出しを行う際、メモリセルに流れる電流から抵抗変化素子３０２の抵抗値を算出し、この抵抗値と上述の閾値に相当する抵抗値とを比較することにより、データの読出しを行う。なお、リセットと同じ極性の電圧を印加して、抵抗変化素子３０２から読出しを行うことも可能である。
【００６４】
図３において説明したように、メモリセルは、制御素子３０１および抵抗変化素子３０２が直列に接続されて構成されているため、メモリセルに印加された電圧は、制御素子３０１および抵抗変化素子３０２の抵抗の比率に基づいて分圧される。抵抗変化素子３０２のセットおよびリセットの処理を行う場合には、制御素子３０１を導通状態にして、プログラム電圧を抵抗変化素子３０２に印加する必要がある。このため、制御素子３０１の閾値電圧とプログラム電圧とを加えた書込み電圧をメモリセルに印加する必要がある。
【００６５】
前述のように、読出しの際には、プログラム電圧より低い電圧をメモリセルに印加する。抵抗変化素子３０２がＨＲＳの場合には、ＬＲＳの場合と比較して、抵抗変化素子３０２に対してより高い電圧が分圧される。このため、制御素子３０１を導通状態にするには、抵抗変化素子３０２がＬＲＳのメモリセルより高い電圧を印加する必要がある。以下、抵抗変化素子３０２がＨＲＳのメモリセルおよび抵抗変化素子３０２がＬＲＳのメモリセルをそれぞれＨＲＳのメモリセルおよびＬＲＳのメモリセルと称する。この読出しの際に印加する電圧である読出し電圧として、ＬＲＳのメモリセルにおける制御素子３０１が導通状態になるとともにＨＲＳのメモリセルにおける制御素子３０１が非導通状態にとどまる電圧を採用することができる。すなわち、ＬＲＳのメモリセルの制御素子３０１には閾値電圧を超える印加電圧となり、ＨＲＳのメモリセルの制御素子３０１には閾値電圧未満の印加電圧となる読出し電圧にすることができる。これにより、ＨＲＳのメモリセルにおいては、読出しの際に制御素子３０１を非導通状態にして抵抗変化素子３０２に印加される電圧を低減することができる。
【００６６】
読出しの際には、セットと同極性の読出し電圧が抵抗変化素子３０２に印加されるため、読出しを行うことにより抵抗変化素子３０２の記憶状態が徐々に変化し、記憶したデータの読出しにおいてエラーを生じる現象が知られている。これは、例えば、ＨＲＳの抵抗変化素子３０２の抵抗値が徐々に低下して、ＨＲＳおよびＬＲＳを分離する閾値に近い抵抗値になり、記憶されたデータの読出しができなくなる現象であり、いわゆるリードディスターブと称される現象である。しかし、上述のようにＨＲＳの抵抗変化素子３０２に印加される電圧が低減される場合には、抵抗変化素子３０２の記憶状態の変化が軽減され、リードディスターブの発生を防止することができる。このように、本技術の実施の形態では、読出しの際にＬＲＳのメモリセルにおける制御素子３０１のみを導通状態にする。
【００６７】
［制御素子の特性］
図８は、本技術の第１の実施の形態における制御素子３０１の特性の一例を示す図である。同図は、制御素子３０１の印加電圧と流れる電流との関係を表したグラフである。前述のように、制御素子３０１は双方向素子であり、逆極性の電圧を印加した場合の特性は、同図の特性曲線の符号のみを負にしたグラフと等価である。同図は、この第３象限の記載を省略している。同図に表したように、制御素子３０１は、非導通状態および導通状態に可逆的に変化する。以下、非導通状態から導通状態への変化をオンと称し、導通状態から非導通状態への変化をオフと称する。閾値電圧は、制御素子３０１がオンする電圧であり、例えば、制御素子３０１に流れる電流が同図に表した所定の電流であるＩｔｈに達する電圧を閾値電圧にすることができる。
【００６８】
この閾値電圧は、前回オンした時からの経過時間に応じて変化する。同図のグラフ５０３は、この経過時間が１μｓの場合の特性を表している。同様に、グラフ５０４乃至５０６は、それぞれ経過時間が１ｍｓ、１ｓおよび１０年の場合の特性を表している。このように、経過時間に応じて、特性曲線が同図における高電圧の方向に移動し、閾値電圧も高い値に変化する。このため、制御素子３０１をオンさせるためには、経過時間が長いほど高い電圧を印加する必要がある。
【００６９】
経過時間が長い場合を想定して高い電圧を読出し電圧としてメモリセル３１４乃至３１７に印加することにより、経過時間に関わらず制御素子３０１をオンすることができる。しかし、高い電圧を印加した場合には、ＨＲＳのメモリセルにおける制御素子３０１がオンする場合が想定されるとともに、消費電力が増加する。メモリセル毎に経過時間を記録し、これに基づいて閾値電圧を推定して電圧を印加することも可能であるが、経過時間を記録するためのハードウェアおよびソフトウェア的な負担が過大なものとなる。そこで、参照セルの参照素子３０３の閾値電圧である参照閾値電圧を計測して、この参照閾値電圧を制御素子３０１の閾値電圧と推定してメモリセルのアクセスの際にメモリセルに電圧を印加する方式を採用する。
【００７０】
参照閾値電圧の計測は、次のように行うことができる。図５において説明したように、参照セルに印加する電圧を徐々に高くしながら参照セルに流れる電流の変化を調べ、この電流がＩｔｈに達した時の参照セルの印加電圧を参照閾値電圧として計測する。図５において説明したアレイ駆動部３９１は、参照セル３９４等に流れる電流がＩｔｈ未満の場合およびＩｔｈ以上の場合にそれぞれ値「０」および「１」を読出しデータとしてアクセス制御部２００に出力する。図４において説明したメモリアクセス処理部２４０は、この読出しデータが値「０」の場合には、印加電圧生成部２５０に対して徐々に高い電圧を出力するように制御する。この制御は、制御コードを印加電圧生成部２５０に出力することにより行われる。そして、読出しデータが値「１」になった時の印加電圧生成部２５０の出力電圧を参照閾値電圧とし、この出力電圧に対応する制御コードを保持する。次に、データの読出しを行う際に、この制御コードに基づく電圧をメモリセル３１４等の閾値電圧と推定してメモリセル３１４等に印加する電圧を決定する。計測された参照閾値電圧に対して所定の電圧をマージンとして追加した電圧をメモリセル３１４等に印加することもできる。これにより、制御素子３０１および参照素子３０３の特性のばらつきが大きい場合であっても、制御素子３０１を十分に導通させることができる。
【００７１】
なお、参照閾値電圧を制御素子３０１の閾値電圧として推定するためには、ページにおける全てのメモリセルの制御素子３０１および参照素子３０３における経過時間を等しくする必要がある。本技術の実施の形態では、データの読出しの際に参照素子３０３とＬＲＳのメモリセルの制御素子３０１が略同時にオンされる。また、後述するように、本技術の第１の実施の形態では、ページにおける書込みを行う前に読出し（プレリード）が行われる。このプレリードにより、参照素子３０３とＬＲＳのメモリセルの制御素子３０１が略同時にオンされる。これに続く書込みにおいて抵抗変化素子３０２がＨＲＳからＬＲＳに変化したメモリセルの制御素子３０１は、当該書込みの際に制御素子３０１がオンしているため、プレリードにおける参照素子３０３と略同時にオンされることとなる。
【００７２】
一方、ＨＲＳのメモリセルについては、参照素子３０３とは異なる経過時間になる場合が想定される。しかし、ＨＲＳのメモリセルは、前述のようにデータの読出しの際、制御素子３０１が非導通状態を保つため、この制御素子３０１の経過時間は、参照素子３０３の経過時間と略同じかまたは長くなる。このため、参照素子３０３により推定された閾値電圧に基づく読出し電圧が印加された場合においても、ＨＲＳのメモリセルの制御素子３０１が導通状態になることはなく、記憶データの信頼性が低下することはない。このように、参照素子３０３とＬＲＳのメモリセルの制御素子３０１とが略同じ経過時間となるため、参照閾値電圧をページにおける制御素子３０１の閾値電圧として推定することができる。なお、参照セルとして図６におけるｂの構成の参照セルを採用する場合には、抵抗変化素子３０２をＬＲＳにして使用する必要がある。データの読出しの際に参照素子３０３とＬＲＳのメモリセルの制御素子３０１とを略同時にオンさせるためである。初期状態（例えば、製造直後）の抵抗変化素子３０２がＨＲＳの場合には、アクセス制御部２００は、初期動作として参照セル３１４等に対して書込み（セット）を行い、全ての参照セルの抵抗変化素子３０２をＬＲＳにする必要がある。
【００７３】
［行信号線および列信号線の印加電圧］
図９は、本技術の実施の形態における行信号線および列信号線の印加電圧を示す図である。同図は、図４において説明したメモリアレイユニット３１０における行信号線３１２および列信号線３１３に印加される電圧とメモリセル３１４等に印加される電圧との関係を表したものである。アレイ駆動部３１１は、入力されたアドレスに基づいて行信号線３１２および列信号線３１３を選択して電圧を印加する。同図においては、メモリセル３１５に対してアクセスする場合を想定する。この場合、「ＲＬ０」が付された行信号線３１２および「ＣＬ１」が付された列信号線３１３がそれぞれ選択行信号線および選択列信号線としてアレイ駆動部３１１によって選択され、書込み電圧等が印加される。ここで選択行信号線および選択列信号線には、それぞれ選択行電圧Ｖｒおよび選択列電圧Ｖｃが印加される。一方、「ＲＬ１」が付された行信号線３１２および「ＣＬ０」が付された列信号線３１３は、それぞれ非選択行信号線および非選択列信号線に該当する。アレイ駆動部３１１は、これら非選択行信号線および非選択列信号線に対してそれぞれ非選択行電圧Ｖｕｒおよび非選択列電圧Ｖｕｃを印加する。
【００７４】
ここで、選択行信号線および選択列信号線に接続されるメモリセル（メモリセル３１５）を選択メモリセルと称し、非選択行信号線および非選択列信号線に接続されるメモリセル（メモリセル３１６）を非選択メモリセルと称する。また、選択行信号線および非選択列信号線に接続されるメモリセル（メモリセル３１４）を半選択行メモリセルと称し、選択列信号線および非選択行信号線に接続されるメモリセル（メモリセル３１７）を半選択列メモリセルと称する。
【００７５】
［メモリセルの印加電圧］
図１０は、本技術の第１の実施の形態におけるメモリセルの印加電圧を示す図である。同図におけるａは、書込みを行う場合の選択メモリセル、半選択行メモリセルおよび半選択列メモリセルの印加電圧の関係を表したものである。選択列電圧Ｖｃおよび選択行電圧Ｖｒにそれぞれ高レベル書込み電圧（Ｖｐｇｍ＿Ｈ）および低レベル書込み電圧（Ｖｐｇｍ＿Ｌ）が印加される。これにより、選択メモリセルには、これらの差分の電圧に相当する書込み電圧（Ｖｐｇｍ）が印加される。一方、非選択行電圧Ｖｕｒおよび非選択列電圧Ｖｕｃには、Ｖｐｇｍ＿ＨおよびＶｐｇｍ＿Ｌの中点に相当する電圧を印加する。この電圧は、（Ｖｐｇｍ＿Ｈ＋Ｖｐｇｍ＿Ｌ）／２に相当する電圧である。これにより、半選択行メモリセルおよび半選択列メモリセルには、Ｖｐｇｍ／２に相当する電圧が印加される。ここで、半選択行メモリセルおよび半選択列メモリセルの制御素子３０１は、Ｖｐｇｍ／２に相当する電圧が印加された場合においてオンしないことを想定する。なお、非選択行電圧Ｖｕｒおよび非選択列電圧Ｖｕｃに同じ電圧が印加されるため、非選択メモリセルの印加電圧は、０Ｖになる（不図示）。
【００７６】
非選択行信号線および非選択列信号線をフローティング状態にして、選択行信号線および選択列信号線に書込み電圧を印加することも可能である。しかし、この場合には、半選択行メモリセルおよび半選択列メモリセルに印加される電圧は、各メモリセルの抵抗変化素子３０２の記憶状態に応じて変動する。この結果、半選択行メモリセル等に閾値電圧を超える電圧が印加されて制御素子３０１がオンし、半選択行メモリセル等の抵抗変化素子３０２の記憶状態に影響を及ぼす可能性が生じる。これに対し、上述のように、アレイ駆動部３１１が非選択行信号線および非選択列信号線に対してそれぞれ非選択行電圧Ｖｕｒおよび非選択列電圧Ｖｕｃを印加することにより、半選択行メモリセル等の制御素子３０１の導通状態への変化を防止することができる。
【００７７】
同図におけるｂは、読出しを行う場合の選択メモリセル、半選択行メモリセルおよび半選択列メモリセルの印加電圧の関係を表したものである。選択列電圧Ｖｃおよび選択行電圧Ｖｒにそれぞれ高レベル読出し電圧（Ｖｓｎｓ＿Ｈ）および低レベル読出し電圧（Ｖｓｎｓ＿Ｌ）が印加される。これにより、選択メモリセルには、これらの差分の電圧に相当する読出し電圧（Ｖｓｎｓ）が印加される。一方、非選択行電圧Ｖｕｒおよび非選択列電圧Ｖｕｃには、（Ｖｓｎｓ＿Ｈ＋Ｖｓｎｓ＿Ｌ）／２に相当する電圧が印加される。
【００７８】
［オペレーションコード］
図１１は、本技術の第１の実施の形態におけるオペレーションコードを示す図である。同図は、オペレーションコードおよびイネーブル信号とメモリセルへの印加電圧の関係を表したものである。オペレーションコードは、書込み（セットおよびリセット）および読出しについてのメモリアレイユニット３１０に対する指示を表すものであり、例えば、２ビットの値により表すことができる。
【００７９】
オペレーションコードが値「２ｂ０１」およびイネーブル信号が値「１」の時には、メモリアレイユニット３１０は、セットを行う。この場合、図９において説明したように選択列電圧Ｖｃおよび選択行電圧ＶｒとしてＶｐｇｍ＿ＨおよびＶｐｇｍ＿Ｌがそれぞれ印加される。また、非選択列電圧Ｖｕｃおよび非選択行電圧Ｖｕｒとして（Ｖｐｇｍ＿Ｈ＋Ｖｐｇｍ＿Ｌ）／２が印加される。これにより、選択メモリセルには、選択行信号線を基準としてＶｐｇｍの書込み電圧が印加され、メモリセルの抵抗変化素子３０２がＨＲＳからＬＲＳに変化する。なお、抵抗変化素子３０２がＬＲＳのメモリセルは、このＬＲＳが維持される。半選択行メモリセルおよび半選択列メモリセルにはＶｐｇｍ／２の電圧が印加される。一方、非選択メモリセルの印加電圧は、０Ｖとなる。
【００８０】
オペレーションコードが値「２ｂ１０」およびイネーブル信号が値「１」の時には、メモリアレイユニット３１０は、リセットを行う。この場合、選択列電圧Ｖｃおよび選択行電圧ＶｒとしてＶｐｇｍ＿ＬおよびＶｐｇｍ＿Ｈがそれぞれ印加される。これにより、選択メモリセルには、選択行信号線を基準として−Ｖｐｇｍの書込み電圧が印加され、メモリセルの抵抗変化素子３０２がＬＲＳからＨＲＳに変化する。なお、抵抗変化素子３０２がＨＲＳのメモリセルは、このＨＲＳが維持される。
【００８１】
オペレーションコードが値「２ｂ１１」およびイネーブル信号が値「１」の時には、メモリアレイユニット３１０は、読出しを行う。この場合、選択列電圧Ｖｃおよび選択行電圧ＶｒとしてＶｓｎｓ＿ＨおよびＶｓｎｓ＿Ｌがそれぞれ印加される。これにより、選択メモリセルには、選択行信号線を基準としてＶｓｎｓの読出し電圧が印加される。この場合、メモリセルの抵抗変化素子３０２のＨＲＳおよびＬＲＳは変化せず、維持される。
【００８２】
オペレーションコードが値「２ｂ００」の時またはイネーブル信号が値「０」の時には、メモリアレイユニット３１０は、いわゆるノーオペレーションの状態になる。この場合、選択列電圧Ｖｃ、選択行電圧Ｖｒ、非選択列電圧Ｖｕｃおよび非選択行電圧Ｖｕｒとして（Ｖｓｎｓ＿Ｈ＋Ｖｓｎｓ＿Ｌ）／２が印加される。
【００８３】
これらのオペレーションコードは、メモリアクセス処理部２４０により生成されてオペレーションコード保持部２３０に保持される。オペレーションコードが２ビットの値であり、またメモリアレイユニットおよび参照アレイユニットの個数が９であるため、オペレーションコード保持部２３０のサイズは、１８ビットになる。ここで、書込みを行う際のオペレーションコードは、次の手順により生成することができる。まず、メモリアクセス処理部２４０は、書込みデータを書込データ保持部２１０に保持する。次に、メモリアクセス処理部２４０は、プレリードを行って読み出したデータであるプレリードデータを読出データ保持部２２０に保持する。次に、メモリアクセス処理部２４０は、このプレリードデータおよび書込みデータの各ビットの値に基づいて対応するオペレーションコードを生成し、オペレーションコード保持部２３０に保持する。
【００８４】
オペレーションコードは、次式に基づいて生成することができる。
（Ｒ［ｎ］、Ｗ［ｎ］）＝（０、１）；  オペレーションコード＝２ｂ０１（セット）
（Ｒ［ｎ］、Ｗ［ｎ］）＝（１、０）；  オペレーションコード＝２ｂ１０（リセット）
（Ｒ［ｎ］、Ｗ［ｎ］）＝（０、０）；  オペレーションコード＝２ｂ００（ノーオペレーション）
（Ｒ［ｎ］、Ｗ［ｎ］）＝（１、１）；  オペレーションコード＝２ｂ００（ノーオペレーション）
ただし、Ｒ［ｎ］は、プレリードデータにおけるｎ番目のビット値を表す。また、ｎは、自然数を表す。また、Ｗ［ｎ］は、書込みデータにおけるｎ番目のビット値を表す。
【００８５】
なお、参照アレイユニット３９０においても同図のオペレーションコードを使用することができる。ただし、読出しおよびノーオペレーションの際には、同図のＶｓｎｓ＿ＨおよびＶｓｎｓ＿Ｌに替えてＶｒｅｆ＿ＨおよびＶｒｅｆ＿Ｌが印加される。このＶｓｎｓ＿Ｈ等とＶｒｅｆ＿Ｈ等との関係については、後述する。
【００８６】
上述のＶｐｇｍ＿Ｈ等の電圧は、図２において説明した印加電圧生成部２５０により生成される。
【００８７】
［印加電圧生成部の出力電圧］
図１２は、本技術の第１の実施の形態における印加電圧生成部２５０の出力電圧を示す図である。同図は、印加電圧生成部２５０の出力電圧とメモリアクセス処理部２４０が出力する制御コードとの関係を表したものである。同図のグラフ５０７は、制御コードとＶｒｅｆ＿Ｈとの関係を表すグラフである。グラフ５０８は、制御コードとＶｒｅｆ＿Ｌとの関係を表すグラフである。グラフ５１１は、制御コードとＶｓｎｓ＿Ｈとの関係を表すグラフである。グラフ５１２は、制御コードとＶｓｎｓ＿Ｌとの関係を表すグラフである。制御コードは、０を含む自然数により表される。制御コードが値「０」の場合には、Ｖｒｅｆ＿ＨおよびＶｓｎｓ＿Ｈは最も低い電圧となり、Ｖｒｅｆ＿ＬおよびＶｓｎｓ＿Ｌは最も高い電圧となる。制御コードに比例してＶｒｅｆ＿ＨおよびＶｓｎｓ＿Ｈは上昇し、Ｖｒｅｆ＿ＬおよびＶｓｎｓ＿Ｌは低下する。すなわち、制御コードの増加に伴って参照セルおよびメモリセルに印加される電圧は上昇する。また、制御コードが等しい場合、Ｖｓｎｓ＿ＨはＶｒｅｆ＿Ｈに対してマージンに相当する電圧だけ高く、Ｖｓｎｓ＿ＬはＶｒｅｆ＿Ｌに対してマージンに相当する電圧だけ低くなる。
【００８８】
制御コードが値「０」の時メモリセルには最小の読出し電圧が印加され、制御コードが最大値の時メモリセルには最大の読出し電圧が印加される。この制御コードに所定の閾値を設定し、メモリセル等に印加される電圧の最大値を変更することができる。同図の一点鎖線５１３は、この閾値の例を表したものである。
【００８９】
［読出し処理］
図１３は、本技術の第１の実施の形態における読出し処理の処理手順の一例を示す図である。同図の処理は、読出しリクエストがメモリコントローラインターフェース１００を介して入力された際に実行される。まず、メモリアクセス処理部２４０は、読出しリクエストを解釈して読出し先のアドレスを設定し、メモリアレイ３００に対して出力する（ステップＳ９０２）。次に、メモリアクセス処理部２４０は、メモリアレイユニット読出し処理を行う（ステップＳ９１０）。これにより、メモリアレイユニット＃１（３１０）乃至＃８（３８０）に対する読出しが行われる。最後に、メモリアクセス処理部２４０は、読出しデータをメモリコントローラ２０に対して出力し（ステップＳ９０９）、読出し処理を終了する。
【００９０】
［メモリアレイユニット読出し処理］
図１４は、本技術の第１の実施の形態におけるメモリアレイユニット読出し処理（ステップＳ９１０）の処理手順の一例を示す図である。同図は、図１３において説明したメモリアレイユニット読出し（ステップＳ９１０）の処理を表したものである。まず、メモリアクセス処理部２４０は、制御コードＶＧ＿ｃｏｄｅを０に初期化する（ステップＳ９１１）。次に、メモリアクセス処理部２４０は、参照アレイユニット３９０のオペレーションコードを設定する（ステップＳ９１３）。これは、参照アレイユニット３９０のオペレーションコードとして値「２ｂ１１」をオペレーションコード保持部２３０に保持させることにより行うことができる。次に、メモリアクセス処理部２４０は、参照アレイユニット３９０のイネーブル信号を値「１」にして参照セル３９４等に読出し電圧を印加する（ステップＳ９１４）。これにより、参照セル３９４等には、Ｖｒｅｆ＿ＨおよびＶｒｅｆ＿Ｌが印加される。次にメモリアクセス処理部２４０は、参照セル３９４等の読出しデータが値「１」であるか否かについて判断する（ステップＳ９１５）。
【００９１】
参照セル３９４等の読出しデータが値「１」でない場合（ステップＳ９１５：Ｎｏ）、メモリアクセス処理部２４０は、制御コードＶＧ＿ｃｏｄｅをインクリメントして参照セル３９４等の印加電圧を変更する（ステップＳ９１７）。この結果、制御コードＶＧ＿ｃｏｄｅが図１２において説明した閾値に達した場合には（ステップＳ９１８：Ｙｅｓ）、メモリアクセス処理部２４０は、元の読出し処理に戻ることなくメモリアレイユニット読出し処理を異常終了する。この場合、メモリアクセス処理部２４０は、参照セル３９４等に異常が発生したものと判断し、読出しに失敗した旨をメモリコントローラ２０に対して出力することができる。一方、制御コードＶＧ＿ｃｏｄｅが閾値に達していない場合には（ステップＳ９１８：Ｎｏ）、メモリアクセス処理部２４０は、ステップＳ９１５の処理を再度実行する。
【００９２】
ステップＳ９１５において参照セル３９４等の読出しデータが値「１」の場合には（ステップＳ９１５：Ｙｅｓ）、メモリアクセス処理部２４０は、参照セル３９４等の読出し電圧の印加を停止する（ステップＳ９１６）。これは、参照アレイユニット３９０のイネーブル信号を値「０」にすることにより行うことができる。これらの処理により参照閾値電圧が計測され、計測の結果として制御コードＶＧ＿ｃｏｄｅがメモリアクセス処理部２４０に保持される。次に、メモリアクセス処理部２４０は、メモリセル読出し処理（ステップＳ９２０）によりデータの読出しを行い、メモリアレイユニット読出し処理を終了する。
【００９３】
［メモリセル読出し処理］
図１５は、本技術の第１の実施の形態におけるメモリセル読出し処理（ステップＳ９２０）の処理手順の一例を示す図である。この処理は、図１４において説明したメモリセル読出し（ステップＳ９２０）の処理を表したものである。まず、メモリアクセス処理部２４０は、メモリアレイユニット＃１（３１０）等のオペレーションコードを設定する（ステップＳ９２３）。これは、メモリアレイユニット＃１（３１０）乃至＃８（３８０）のオペレーションコードとして値「２ｂ１１」をオペレーションコード保持部２３０に保持させることにより行うことができる。
【００９４】
次に、メモリアクセス処理部２４０は、メモリアレイユニット＃１（３１０）等のイネーブル信号を値「１」にしてメモリセルに読出し電圧を印加する（ステップＳ９２４）。これにより、メモリセルには、Ｖｓｎｓ＿ＨおよびＶｓｎｓ＿Ｌが印加される。次に、メモリアクセス処理部２４０は、メモリアレイユニット＃１（３１０）等から出力された読出しデータを読出データ保持部２２０に保持する（ステップＳ９２５）。最後に、メモリアクセス処理部２４０は、メモリアレイユニット＃１（３１０）等のイネーブル信号を値「０」にして、メモリセルの読出し電圧の印加を停止し（ステップＳ９２６）、メモリセル読出し処理を終了する。この処理により、参照閾値電圧をメモリセルの制御素子３０１の閾値電圧として推定した読出し電圧がメモリセル３１４等に印加され、データの読出しが行われる。
【００９５】
［書込み処理］
図１６は、本技術の第１の実施の形態における書込み処理の処理手順の一例を示す図である。同図の処理は、書込みリクエストがメモリコントローラインターフェース１００を介して入力された際に実行される。まず、メモリアクセス処理部２４０は、書込みリクエストを解釈して書込みデータを書込データ保持部２１０に保持する（ステップＳ９３１）。次に、メモリアクセス処理部２４０は、書込み先のアドレスを設定し、メモリアレイ３００に対して出力する（ステップＳ９３２）。次に、メモリアクセス処理部２４０は、メモリアレイユニット読出し処理を行う（ステップＳ９１０）。この処理はプレリードに該当し、メモリアクセス処理部２４０は図１４において説明したステップＳ９１０の処理を実行する。次に、メモリアクセス処理部２４０は、メモリアレイユニット書込み処理を行う（ステップＳ９４０）。これにより、メモリアレイユニット＃１（３１０）乃至＃８（３８０）に対する書込みが行われる。その後、メモリアクセス処理部２４０は、書込み処理を終了する。
【００９６】
［メモリアレイユニット書込み処理］
図１７は、本技術の第１の実施の形態におけるメモリアレイユニット書込み処理（ステップＳ９４０）の処理手順の一例を示す図である。この処理は、図１６において説明したメモリアレイユニット書込み（ステップＳ９４０）の処理を表したものである。まず、メモリアクセス処理部２４０は、変数ｌｏｏｐおよび制御コードＶＧ＿ｃｏｄｅを値「０」にして初期化する（ステップＳ９４１）。次に、メモリアクセス処理部２４０は、メモリアレイユニット＃１（３１０）乃至＃８（３８０）のオペレーションコードを設定する（ステップＳ９４３）。これは、プレリードデータおよび書込みデータに基づいてメモリアレイユニット＃１（３１０）等のオペレーションコードを設定し、オペレーションコード保持部２３０に保持させることにより行うことができる。次に、メモリアクセス処理部２４０は、この保持されたオペレーションコードからセットを指示するオペレーションコードおよびリセットを指示するオペレーションコードの合計（ＮＳｅｔＲｅｓｅｔ）を算出する（ステップＳ９４８）。
【００９７】
このＮＳｅｔＲｅｓｅｔが所定の閾値以下の場合（ステップＳ９４９：Ｙｅｓ）、メモリアクセス処理部２４０は、書込みが成功したものと判断し、メモリアレイユニット書込み処理を終了する。ＮＳｅｔＲｅｓｅｔが０でない場合、すなわち書込みデータと読出しデータとが完全に一致しない場合であっても、メモリコントローラ２０の誤り検出訂正部２３により誤りの訂正が可能なためである。
【００９８】
一方、ＮＳｅｔＲｅｓｅｔが所定の閾値以下でない場合（ステップＳ９４９：Ｎｏ）、メモリアクセス処理部２４０は、変数ｌｏｏｐが所定の閾値以下であるか否かについて判断する（ステップＳ９５１）。変数ｌｏｏｐが所定の閾値に達した場合には（ステップＳ９５１：Ｎｏ）、メモリアクセス処理部２４０は、元の書込み処理に戻ることなくメモリアレイユニット書込み処理を異常終了する。この場合、メモリアクセス処理部２４０は、書込みに失敗した旨をメモリコントローラ２０に対して出力することができる。
【００９９】
一方、変数ｌｏｏｐが所定の閾値以下の場合には（ステップＳ９５１：Ｙｅｓ）、メモリアクセス処理部２４０は、メモリアレイユニット＃１（３１０）等のイネーブル信号を値「１」にして、メモリセルに書込み電圧を印加する（ステップＳ９４４）。所定の書込み時間の経過後、メモリアクセス処理部２４０は、メモリアレイユニット＃１（３１０）等のイネーブル信号を値「０」にして、メモリセルの書込み電圧の印加を停止する（ステップＳ９４６）。次に、メモリアクセス処理部２４０は、メモリセル読出し処理を行う（ステップＳ９２０）。この処理は、書込みが正しく行われたか否かを判断する検証を行うためのデータの読出しを行う処理であり、読み出されたデータを新たなプレリードデータにする処理である。メモリアクセス処理部２４０は、図１５において説明したステップＳ９２０の処理を実行する。次に、メモリアクセス処理部２４０は、変数ｌｏｏｐをインクリメントして更新し（ステップＳ９４７）、ステップＳ９４８の処理に移行する。
【０１００】
ステップＳ９４４においてリセットを行った場合にＨＲＳのメモリセルの制御素子３０１はオンし、この直後のメモリセル読出し（ステップＳ９２０：検証）において参照セルの参照素子３０３がオンする。さらに、メモリアレイユニット書込み処理（ステップＳ９４０）の呼び出し元である書込み処理（図１６）においても、メモリアレイユニット読出し（ステップＳ９１０：プレリード）において、参照素子３０３は、オンする。このように、ＨＲＳのメモリセルの制御素子３０１のオンと略同時に参照素子３０３がオンするため、ＨＲＳのメモリセルの制御素子３０１の経過時間は、参照素子３０３の経過時間より短くなることはない。
【０１０１】
これに対し、書込み処理において上述の検証およびプレリードの何れも行わずに、ＨＲＳのメモリセルに対してリセットを行う方式を採用すると、ＨＲＳのメモリセルの制御素子３０１の経過時間が参照素子３０３の経過時間より短くなる場合が生じる。このような場合に参照素子３０３によるメモリセルの制御素子３０１の閾値電圧の推定が行われて、読出しが行われると、経過時間の短いＨＲＳのメモリセルに対して比較的高い読出し電圧が印加されて制御素子３０１が導通状態になり得る。本技術の第１の実施の形態では、このような、ＨＲＳのメモリセルの制御素子３０１のオンを防止することができる。
【０１０２】
［メモリセルの印加電圧と電流との関係］
図１８は、本技術の第１の実施の形態におけるメモリセルの印加電圧と電流との関係を示す図である。同図は、ＬＲＳのメモリセルおよびＨＲＳのメモリセルについて、経過時間毎の印加電圧と電流との関係を表したものである。同図のうち上側はＬＲＳの場合を表し、下側はＨＲＳの場合を表している。また、同図の点線は、それぞれの閾値電圧を判断する電流値（Ｉｔｈ）を表している。同図のグラフ５３２および５４２は経過時間１μｓの場合の特性を表し、グラフ５３３および５４３は経過時間１ｍｓの場合の特性を表し、グラフ５３４および５４４は経過時間１ｓの場合の特性を表している。また、同図のグラフ５３５および５４５は、経過時間１０年の場合の特性を表している。
【０１０３】
同図の特性曲線は、Ｉｔｈを境として、制御素子３０１が非導通状態にある領域と導通状態にある領域に分離される。さらに、導通状態においては、抵抗変化素子３０２がＬＲＳおよびＨＲＳの何れかにより異なる特性になる。また、経過時間によって制御素子３０１の閾値が変化する。そこで、本技術の第１の実施の形態では、参照素子３０３を配置し、この参照素子３０３の経過時間をＬＲＳのメモリセルの経過時間と略等しくするとともに、ＨＲＳのメモリセルの経過時間以下にする。そして、参照素子３０３の参照閾値電圧によりメモリセルの閾値電圧を推定して電圧をメモリセルに印加することにより、読出しを行う。同図の１点鎖線５３６はＬＲＳのメモリセルにおける経過時間が１μｓの場合の閾値電圧を表し、２点鎖線５４６はＨＲＳのメモリセルにおける経過時間が１μｓの場合の閾値電圧を表している。このように経過時間が等しい場合において、ＬＲＳのメモリセルとＨＲＳのメモリセルとは閾値電圧が異なる。このため、例えば、１点鎖線５３６および２点鎖線５４６により表される閾値電圧の中間の電圧を読出し電圧として印加することにより読出しを行うことができる。この場合、ＬＲＳのメモリセルの制御素子３０１は導通状態になり、ＨＲＳのメモリセルの制御素子３０１は非導通状態を保つこととなる。
【０１０４】
これにより、制御素子の閾値電圧が変化した場合においても、メモリセルの制御素子３０１を十分に導通させることができる。書き込まれたデータと同じデータの読出しが可能となり、記憶データの信頼性を向上させることができる。また、読出しの際、閾値電圧の変化を加味した高い電圧を印加する必要がないため、比較的低い消費電力にすることができる。さらに、本技術の第１の実施の形態においては、読出しの際、ＨＲＳのメモリセルの制御素子３０１が導通状態になることを防止することができる。これにより、ＨＲＳのメモリセルの抵抗変化素子３０２に印加される電圧を低減することができ、リードディスターブの発生を防止して記憶データの信頼性を向上させることができる。
【０１０５】
このように、本技術の第１の実施の形態では、メモリセルにおける制御素子３０１の閾値が変化した場合において、参照素子３０３の参照閾値電圧により制御素子３０１の閾値電圧を推定してメモリセルに電圧を印加し、読出しを行う。これにより、制御素子３０１の閾値が変化した場合においても、書き込まれたデータと同じデータの読出しを行うことができ、記憶データの信頼性を向上させることができる。
【０１０６】
［第１の変形例］
上述の第１の実施の形態では、参照セル３９４等がメモリセルと同様にアレイ状に配置され、選択行信号線および選択列信号線により１つの参照セルが選択されていた。これに対し、複数の参照セル３９４等の１つが、セレクタ等によりアドレスに基づいて選択される方式を採用してもよい。アドレスに基づくメモリセルとこれに対応する参照セルとが選択されることにより、参照閾値電圧によるメモリセルの閾値電圧の推定が可能なためである。
【０１０７】
［第２の変形例］
上述の第１の実施の形態では、読出しの際に参照閾値電圧の計測に関する処理とメモリセルからの読出しに関する処理とを順次実行していた。すなわち、図１４において説明したメモリアレイユニット読出し処理（ステップＳ９１０）において、ステップＳ９１２乃至Ｓ９１８の処理とステップＳ９２０の処理とを順次実行していた。これに対し、読出し処理が連続する場合に、これらの処理を同時並列に行う、すなわちパイプライン処理の形式にして実行することもできる。これにより、複数のアドレスにわたる読出しに要する時間を短縮することができる。
【０１０８】
［第３の変形例］
上述の第１の実施の形態では、書込みの際にプレリードデータおよび書込みデータに基づいてメモリセルのオペレーションコードを設定していたが、書込みデータのみに基づいてオペレーションコードを設定し、書込みを行ってもよい。具体的には、書込みデータが値「０」のビットにはオペレーショコードとして値「２ｂ１０」（リセット）を設定し、書込みデータが値「１」のビットにはオペレーショコードとして値「２ｂ０１」（セット）を設定して書込みを行う。プレリードを省略することができ、書込み処理を簡略化することができる。この場合、書込み処理の後にページにおいてＨＲＳのメモリセルが存在する場合には、当該ページのＬＲＳのメモリセルにおける制御素子３０１および対応する参照セルの参照素子３０３をオンさせる必要がある。これらメモリセルの制御素子３０１および参照素子３０３における経過時間を略等しいかまたは短い状態にして参照閾値電圧によりメモリセルの閾値電圧を推定するためである。
【０１０９】
［第４の変形例］
上述の第１の実施の形態では、読出しデータにおける誤り検出および誤り訂正を行っていたが、誤り検出および誤り訂正の結果に基づいてメモリセル等の制御素子３０１をオン状態にしてもよい。ＲｅＲＡＭにおいては、読出しの際に流れる電流がノイズ（ＲＴＮ：Random Telegraph Noise）の影響により、大きく変動する現象が知られている。このＲＴＮにより、制御素子３０１が誤動作し、抵抗変化素子３０２に記憶されたデータとは異なるデータが読出しデータとしてメモリコントローラ２０に対して出力される場合がある。このＲＴＮによる制御素子３０１の誤動作は、誤り検出訂正部２３により誤りが訂正されたか否かにより判断することができる。
【０１１０】
例えば、値「０」から値「１」に訂正されたビットが存在する場合、このビットに対応するメモリセルにおいて、ＲＴＮの影響により制御素子３０１がオン状態にならなかったものと判断することができる。すなわち、アレイ駆動部３１１によりＬＲＳのメモリセルであるにも関わらずＨＲＳと判断されて値「０」が読み出されたものと判断することができる。この場合には、再度当該ページの読出しを行うことにより、ＬＲＳのメモリセルにおける制御素子３０１および参照素子３０３の経過時間を略等しくすることができる。また、例えば、値「１」から値「０」に訂正されたビットが存在する場合、このビットに対応するメモリセルにおいて、ＲＴＮの影響によりＨＲＳのメモリセルの制御素子３０１が導通状態に変化したものと判断することができる。この場合には、参照素子３０３をオンすることにより、ＨＲＳのメモリセルにおける制御素子３０１および参照素子３０３の経過時間を略等しくすることができる。
【０１１１】
このように、ＲＴＮ等の影響により制御素子３０１が誤動作した場合においても、誤り検出および誤り訂正の結果に基づいて制御素子３０１および参照素子３０３をオン状態にすることにより、記憶データの信頼性を向上させることができる。
【０１１２】
＜２．第２の実施の形態＞
上述の第１の実施の形態では、読出しの際、常に参照閾値電圧を計測し、メモリセルの制御素子３０１の閾値電圧の推定を行っていた。これに対し、本技術の第２の実施の形態では、読出しデータにおける誤り検出および誤り訂正の結果に基づいて、参照閾値電圧の計測等を行う。これにより、読出しに要する時間を短縮する。
【０１１３】
［読出し処理］
本技術の第２の実施の形態における読出し処理は、以下の手順により行われる。まず、メモリコントローラ２０が要求した読出しリクエストに基づいて、メモリアクセス処理部２４０が読出しを行う。この際、メモリアクセス処理部２４０は、参照閾値電圧の計測を省略してメモリセルに対して読出しを行う。アクセス制御部２００は、制御コードとして値「０」を印加電圧生成部２５０に対して出力し、最小の読出し電圧を生成させてメモリセルに印加する。その後、読出しデータがメモリコントローラ２０に対して出力されると、読出しデータに対する誤り検出および誤りの訂正が誤り検出訂正部２３により行われる。検出された誤りが所定のビット数を超えた場合または誤りの訂正ができなかった場合、メモリコントローラ２０は、２回目の読出しリクエストを要求する。この２回目の読出しリクエストに基づいてアクセス制御部２００は、参照閾値電圧の計測を行い、この参照閾値電圧によりメモリセルの制御素子３０１の閾値電圧の推定を行う。
【０１１４】
このような処理を行うため、読出しリクエストが２回目のリクエストであるか否かについてメモリアクセス処理部２４０が把握する必要がある。これは、例えば、メモリコントローラ２０が２回目の読出しリクエストであることについてメモリアクセス処理部２４０に対して通知することにより行うことができる。これにより、読出しデータから多くの誤りが検出された場合等、必要に応じて参照閾値電圧の計測を行ってメモリセルの制御素子３０１の閾値電圧を推定することができ、読出しに要する時間を短縮することができる。これ以外のメモリコントローラ２０およびメモリ３０の構成は本技術の第１の実施の形態のメモリコントローラ２０およびメモリ３０と同様であるため、説明を省略する。
【０１１５】
［メモリアレイユニット読出し処理］
図１９は、本技術の第２の実施の形態におけるメモリアレイユニット読出し処理（ステップＳ９１０）の処理手順の一例を示す図である。同図の処理は、図１４において説明した処理と比較して、ステップＳ９１１およびＳ９１３の間にステップＳ９１２を追加した点が異なっている。ステップＳ９１２において、メモリアクセス処理部２４０は、読出しリクエストが２回目の読出しリクエストであるか否かについて判断する（ステップＳ９１２）。その結果、２回目の読出しリクエストである場合には（ステップＳ９１２：Ｙｅｓ）、メモリアクセス処理部２４０は、ステップＳ９１３の処理に移行する。一方、２回目の読出しリクエストではない場合には（ステップＳ９１２：Ｎｏ）、メモリアクセス処理部２４０は、ステップＳ９１３乃至Ｓ９１８の処理をスキップしてステップＳ９２０の処理に移行する。
【０１１６】
これ以外の読出しおよび書込みの処理は本技術の第１の実施の形態における読出しおよび書込みの処理と同様であるため、説明を省略する。
【０１１７】
このように、本技術の第２の実施の形態によれば、必要に応じて参照閾値電圧の計測およびメモリセルにおける制御素子３０１の閾値電圧の推定を行うため、読出しに要する時間を短縮することができる。
【０１１８】
＜３．第３の実施の形態＞
上述の第１の実施の形態では、ページ毎に１つの参照素子３０３を配置していた。これに対し、本技術の第３の実施の形態では、ページ毎に２つの参照素子３０３を配置して、メモリセルの制御素子３０１の閾値電圧を推定する。これにより、参照素子３０３の特性がばらついた場合においても、記憶データの信頼性を向上させる。
【０１１９】
［メモリアレイの構成］
図２０は、本技術の第３の実施の形態におけるメモリアレイ３００の構成例を示す図である。このメモリアレイ３００は、メモリアレイユニット＃１（３１０）乃至＃８（３８０）と、参照アレイユニット＃１（３９０）および＃２（４９０）とを備える。同図のメモリアレイ３００は、参照アレイユニットを２つ備える点で、図３において説明したメモリアレイ３００と異なっている。
【０１２０】
本技術の第３の実施の形態におけるメモリアクセス処理部２４０は、参照アレイユニット＃１（３９０）および＃２（４９０）のそれぞれに対して参照閾値電圧の計測を行い、取得した２つの参照閾値電圧によりメモリセルの制御素子３０１の閾値電圧を推定する。具体的には、メモリアクセス処理部２４０は、参照アレイユニット＃１（３９０）および＃２（４９０）を個別に制御して２つの制御コードＶＧ＿ｃｏｄｅを取得する。その後、これらの制御コードＶＧ＿ｃｏｄｅの平均値に基づいてメモリセルの印加電圧を設定する。これ以外のメモリ３０の構成は本技術の第１の実施の形態におけるメモリ３０の構成と同様であるため、説明を省略する。
【０１２１】
このように、本技術の第３の実施の形態では、２つの参照素子３０３から取得した２つの参照閾値電圧の平均値によりメモリセルの制御素子３０１の閾値電圧を推定して読出しを行う。これにより、参照素子の特性がばらついた場合においても、記憶データの信頼性を向上させることができる。
【０１２２】
［変形例］
上述の第３の実施の形態では、ページ毎に２つの参照素子３０３を配置していたが、３つ以上の参照素子３０３を配置してもよい。多くの参照閾値電圧の平均値を用いることにより、より正確な閾値電圧の推定が可能になるためである。なお、その際、参照閾値電圧の平均値に替えて参照閾値電圧の最頻値を使用して閾値電圧の推定を行うことも可能である。
【０１２３】
＜４．第４の実施の形態＞
上述の第１の実施の形態では、参照閾値電圧により選択メモリセルの制御素子３０１の閾値電圧を推定していた。これに対し、本技術の第５の実施の形態では、書込み時における半選択行メモリセルおよび半選択列メモリセルの制御素子３０１の閾値電圧を推定し、半選択行メモリセルおよび半選択列メモリセルに電圧を印加する。これにより、書込みの際の半選択行メモリセル等の制御素子３０１の導通状態への変化を防止し、記憶データの信頼性を向上させる。
【０１２４】
［アクセス制御部の構成］
図２１は、本技術の第４の実施の形態におけるアクセス制御部２００の構成例を示す図である。このアクセス制御部２００は、非選択行印加電圧生成部２６０および非選択列印加電圧生成部２７０をさらに備える点で、図２において説明したアクセス制御部２００と異なる。
【０１２５】
非選択行印加電圧生成部２６０は、メモリアレイ３００の非選択行信号線に印加する電圧を生成するものである。この非選択行印加電圧生成部２６０は、メモリアクセス処理部２４０により出力された制御コードに基づいて非選択行信号線に印加する電圧の生成を行う。
【０１２６】
非選択列印加電圧生成部２７０は、メモリアレイ３００の非選択列信号線に印加する電圧を生成するものである。この非選択列印加電圧生成部２７０は、メモリアクセス処理部２４０により出力された制御コードに基づいて非選択列信号線に印加する電圧の生成を行う。
【０１２７】
メモリアクセス処理部２４０は、書込みの際に非選択行印加電圧生成部２６０および非選択列印加電圧生成部２７０をそれぞれ制御して制御コードを取得し、保持する。また、本技術の第３の実施の形態におけるアクセス制御部２００は、読出しの際の参照閾値電圧の計測を省略し、固定値のＶｓｎｓ＿ＨおよびＶｓｎｓ＿Ｌを出力する。このため、印加電圧生成部２５０は、図１２において説明した出力電圧を調整する機能を省略することができる。メモリアクセス処理部２４０の処理の詳細については、後述する。
【０１２８】
本技術の第４の実施の形態では、参照閾値電圧により半選択行メモリセルおよび半選択列メモリセルの制御素子３０１の閾値電圧を推定する。そして、書込みの際に、この閾値電圧より低い電圧を半選択行メモリセルおよび半選択列メモリセルに印加する。これにより、書込みの際の半選択行メモリセルおよび半選択列メモリセルにおける制御素子３０１の導通状態への変化を防止することができる。メモリアクセス処理部２４０は、書込みの際に、半選択行メモリセルおよび半選択列メモリセルのそれぞれについて対応する参照セルの参照閾値電圧を計測する。次に、メモリアクセス処理部２４０は、計測した参照閾値電圧に基づいて、図９において説明した非選択行電圧Ｖｕｒおよび非選択列電圧Ｖｕｃを設定し、メモリセル３１４等に印加する。
【０１２９】
［メモリセルの印加電圧］
図２２は、本技術の第４の実施の形態におけるメモリセルの印加電圧を示す図である。同図は、セットの際の選択メモリセル、半選択行メモリセルおよび半選択列メモリセルの印加電圧の関係を表したものである。非選択行電圧Ｖｕｒおよび非選択列電圧Ｖｕｃには、それぞれ高レベル非選択電圧（ＶｐｇｍＵ＿Ｈ）および低レベル非選択電圧（ＶｐｇｍＵ＿Ｌ）が印加される。このため、半選択列メモリセルには、Ｖｐｇｍ＿ＨおよびＶｐｇｍＵ＿Ｈの差分に相当する電圧であるＶｐｇｍＵが印加される。また、半選択行メモリセルには、ＶｐｇｍＵ＿ＬおよびＶｐｇｍ＿Ｌの差分に相当する電圧であるＶｐｇｍＵ'が印加される。さらに、非選択メモリセルには、ＶｐｇｍＵ＿ＨおよびＶｐｇｍＵ＿Ｌの差分に相当する電圧であるΔＶが印加される。
【０１３０】
ＶｐｇｍＵおよびＶｐｇｍＵ'は、それぞれ参照閾値電圧に基づいて設定された電圧である。これらの電圧を印加することにより、半選択行メモリセル等の制御素子３０１の導通状態への変化を防止することができる。参照閾値電圧の計測を省略して、経過時間が短い場合に相当する低い電圧をＶｐｇｍＵおよびＶｐｇｍＵ'として印加した場合にも、半選択行メモリセル等の制御素子３０１の導通状態への変化を防止することが可能である。しかし、その場合には、非選択メモリセルに印加される電圧ΔＶが大きな値になり、消費電力が増加する。通常、メモリアレイユニット３１０等は多くの非選択メモリセルを有するため、メモリ３０の低消費電力化のためには、ΔＶを低減させる必要がある。そこで、上述したように、参照閾値電圧により半選択行メモリセル等の閾値を推定して、印加する電圧を必要最小限の値にすることにより、消費電力の増加を防ぐことができる。
【０１３１】
参照閾値電圧による半選択行メモリセル等の閾値の推定は、セットの場合に行うことができる。ＨＲＳの半選択行メモリセル等における制御素子３０１の導通状態への変化を防止するためである。リセットの場合には、本技術の第１の実施の形態と同様に、ＶｕｒおよびＶｕｃに（Ｖｓｎｓ＿Ｈ＋Ｖｓｎｓ＿Ｌ）／２の電圧を印加する。
【０１３２】
［オペレーションコード］
図２３は、本技術の第４の実施の形態におけるオペレーションコードを示す図である。同図のオペレーションコードは、セットの際のＶｕｃおよびＶｕｒとしてＶｐｇｍＵ＿ＬおよびＶｐｇｍＵ＿Ｈを印加する点で、図１１において説明したオペレーションコードと異なる。
【０１３３】
［非選択行印加電圧生成部および非選択列印加電圧生成部の出力電圧］
図２４は、本技術の第４の実施の形態における非選択行印加電圧生成部２６０および非選択列印加電圧生成部２７０の出力電圧を示す図である。同図におけるａは、非選択行印加電圧生成部２６０の出力電圧と制御コードとの関係を表したものである。同図におけるｂは、非選択列印加電圧生成部２７０の出力電圧と制御コードとの関係を表したものである。
【０１３４】
同図におけるａのグラフ５５２は、制御コードとＶｒｅｆ＿Ｈとの関係を表すグラフである。また、グラフ５５１は、制御コードとＶｐｇｍＵ＿Ｈとの関係を表すグラフである。制御コードが値「０」の場合に、Ｖｒｅｆ＿ＨおよびＶｐｇｍＵ＿Ｈは最も高い電圧となり、制御コードに比例してＶｒｅｆ＿ＨおよびＶｐｇｍＵ＿Ｈは低下する。すなわち、制御コードの増加に伴って半選択列メモリセルに印加される電圧は上昇する。また、制御コードが等しい場合、ＶｐｇｍＵ＿Ｈは、Ｖｒｅｆ＿Ｈに対してマージンに相当する電圧だけ高くなる。Ｖｃａｌ＿Ｈは、ＶｕｃおよびＶｒとして印加される電圧である。半選択列メモリセルに対応する参照素子３０３の参照閾値電圧を計測する際には、選択列信号線にＶｐｇｍ＿Ｈが印加されるとともに非選択列信号線および選択行信号線に所定のＶｃａｌ＿Ｈが印加される。次に、非選択行信号線に印加する電圧であるＶｒｅｆ＿Ｈを低下させて、参照素子３０３をオンさせる。選択列信号線に流れる電流が所定の閾値を超えた際に、参照素子３０３がオンしたものと判断することができる。この参照素子３０３がオンした時の制御コードＶＧｕｒ＿ｃｏｄｅ＿ｓがメモリアクセス処理部２４０に保持される。同図におけるａの１点鎖線５５３は、制御コードＶＧｕｒ＿ｃｏｄｅ＿ｓに対して設定された閾値の例を表したものである。
【０１３５】
同図におけるｂのグラフ５５４は、制御コードとＶｒｅｆ＿Ｌとの関係を表すグラフである。また、グラフ５５５は、制御コードとＶｐｇｍＵ＿Ｌとの関係を表すグラフである。制御コードが値「０」の場合に、Ｖｒｅｆ＿ＬおよびＶｐｇｍＵ＿Ｌは最も低い電圧となり、制御コードに比例してＶｒｅｆ＿ＬおよびＶｐｇｍＵ＿Ｌは上昇する。上述の半選択列メモリセルと同様に、制御コードの増加に伴って半選択行メモリセルに印加される電圧は上昇する。また、制御コードが等しい場合、ＶｐｇｍＵ＿ＬはＶｒｅｆ＿Ｌに対してマージンに相当する電圧だけ低くなる。Ｖｃａｌ＿Ｌは、ＶｕｒおよびＶｃとして印加される電圧である。半選択行メモリセルに対応する参照素子３０３の参照閾値電圧を計測する際には、選択行信号線にＶｐｇｍ＿Ｌが印加されるとともに非選択行信号線および選択列信号線にＶｃａｌ＿Ｌが印加される。次に、非選択列信号線に印加する電圧であるＶｒｅｆ＿Ｌを上昇させて、参照素子３０３をオンさせる。選択行信号線に流れる電流が所定の閾値を超えた場合に、参照素子３０３がオンしたものと判断することができる。この制御コードＶＧｕｃ＿ｃｏｄｅ＿ｓがメモリアクセス処理部２４０に保持される。同図におけるｂの１点鎖線５５６は、制御コードＶＧｕｃ＿ｃｏｄｅ＿ｓに対して設定された閾値の例を表したものである。
【０１３６】
［メモリアレイユニット読出し処理］
図２５は、本技術の第４の実施の形態におけるメモリアレイユニット読出し処理（ステップＳ９６０）の処理手順の一例を示す図である。本技術の第４の実施の形態におけるアクセス制御部２００は、図１３において説明した読出し処理のうち、ステップＳ９１０に替えて同図の処理（ステップＳ９６０）を実行する。
【０１３７】
まず、メモリアクセス処理部２４０は、メモリアレイユニット＃１（３１０）等および参照アレイユニット３９０のオペレーションコードを設定する（ステップＳ９６１）。これは、オペレーションコードとして値「２ｂ１１」をオペレーションコード保持部２３０に保持させることにより行うことができる。次にメモリアクセス処理部２４０は、イネーブル信号を値「１」にしてメモリセル３１４等および参照セル３９４等に読出し電圧を印加する（ステップＳ９６４）。次に、メモリアクセス処理部２４０は、メモリセル３１４等からの読出しデータを読出データ保持部２２０に保持する（ステップＳ９６５）。次に、メモリアクセス処理部２４０は、イネーブル信号を値「０」にしてメモリセル３１４等および参照セル３９４等の読出し電圧の印加を停止する（ステップＳ９６６）。このように、本技術の第４の実施の形態では、メモリアレイユニット読出し処理における参照閾値電圧の計測を省略することができる。
【０１３８】
［書込み処理］
図２６は、本技術の第４の実施の形態における書込み処理の処理手順の一例を示す図である。まず、メモリアクセス処理部２４０は、書込みデータを書込データ保持部２１０に保持する（ステップＳ９７１）。次に、メモリアクセス処理部２４０は、書込みアドレスを設定する（ステップＳ９７２）。次に、メモリアクセス処理部２４０は、非選択ラインセット電圧設定処理を行う（ステップＳ９８０）。次に、メモリアクセス処理部２４０は、図２５において説明したメモリアレイユニット読出し処理を行う（ステップＳ９６０）。最後に、メモリアクセス処理部２４０は、メモリアレイユニット書込み処理を行い（ステップＳ８１０）、書込み処理を終了する。
【０１３９】
［非選択ラインセット電圧設定処理］
図２７は、本技術の第４の実施の形態における非選択ラインセット電圧設定処理（ステップＳ９８０）の処理手順の一例を示す図である。同図は、図２６において説明した非選択ラインセット電圧設定処理（ステップＳ９８０）を表したものである。まず、メモリアクセス処理部２４０は、制御コードＶＧｕｒ＿ｃｏｄｅ＿ｓおよびＶＧｕｃ＿ｃｏｄｅ＿ｓを値「０」にして初期化する（ステップＳ９８１）。次に、メモリアクセス処理部２４０は、参照アレイユニット（３９０）にオペレーションコードとして値「２ｂ０１」を設定する（ステップＳ９８３）。次にメモリアクセス処理部２４０は、セット時のコード設定処理を行い（ステップＳ９９０）、制御コードＶＧｕｒ＿ｃｏｄｅ＿ｓおよびＶＧｕｃ＿ｃｏｄｅ＿ｓを保持する。
【０１４０】
次に、メモリアクセス処理部２４０は、これらの制御コードに基づいて、非選択列電圧Ｖｕｃが非選択行電圧Ｖｕｒより高いか否かを判断する（ステップＳ９８４）。非選択列電圧Ｖｕｃが非選択行電圧Ｖｕｒより高い場合には（ステップＳ９８４：Ｙｅｓ）、制御コードＶＧｕｒ＿ｃｏｄｅ＿ｓおよびＶＧｕｃ＿ｃｏｄｅ＿ｓを調整して非選択列電圧Ｖｕｃおよび非選択行電圧Ｖｕｒを等しい値にする（ステップＳ９８７）。非選択列電圧Ｖｕｃが非選択行電圧Ｖｕｒより高くない場合には（ステップＳ９８４：Ｎｏ）、メモリアクセス処理部２４０は、ステップＳ９８７の処理をスキップして、非選択ラインセット電圧設定処理を終了する。
【０１４１】
［セット時のコード設定処理］
図２８は、本技術の第４の実施の形態におけるセット時のコード設定処理（ステップＳ９９０）の処理手順の一例を示す図である。同図は、図２７において説明したセット時のコード設定（ステップＳ９９０）の処理を表したものである。まず、メモリアクセス処理部２４０は、選択および非選択電圧の設定を行う（ステップＳ９９１）。具体的には、メモリアクセス処理部２４０は、印加電圧生成部２５０に対して選択列電圧Ｖｃ（Ｖｐｇｍ＿Ｈ）および選択行電圧Ｖｒ（Ｖｃａｌ＿Ｈ）をそれぞれ生成させる。同時に、メモリアクセス処理部２４０は、非選択列印加電圧生成部２７０に対して非選択列電圧Ｖｕｃ（Ｖｃａｌ＿Ｈ）を生成させ、非選択行印加電圧生成部２６０に対して非選択行電圧Ｖｕｒ（Ｖｒｅｆ＿Ｈ）を生成させる。次に、メモリアクセス処理部２４０は、参照アレイユニット３９０のイネーブル信号を値「１」にして、参照セル３９４等に電圧を印加する（ステップＳ９９２）。
【０１４２】
次に、メモリアクセス処理部２４０は、選択列信号線に該当する列信号線３１３を流れる電流が閾値以上か否かを判断する（ステップＳ９９３）。電流が閾値以上の場合には（ステップＳ９９３：Ｙｅｓ）、メモリアクセス処理部２４０は、参照素子３０３がオンしたものと判断し、この時の制御コードＶＧｕｒ＿ｃｏｄｅ＿ｓを保持する。その後、メモリアクセス処理部２４０は、ステップＳ９９６の処理に移行する。
【０１４３】
一方、電流が閾値未満の場合には（ステップＳ９９３：Ｎｏ）、メモリアクセス処理部２４０は、ＶＧｕｒ＿ｃｏｄｅ＿ｓをインクリメントして印加電圧を変更する（ステップＳ９９４）。この結果、ＶＧｕｒ＿ｃｏｄｅ＿ｓが閾値に達した場合には（ステップＳ９９５：Ｙｅｓ）、メモリアクセス処理部２４０は、ステップＳ９９６の処理に移行する。一方、ＶＧｕｒ＿ｃｏｄｅ＿ｓが閾値に達していない場合には（ステップＳ９９５：Ｎｏ）、メモリアクセス処理部２４０は、ステップＳ９９３からの処理を再度実行する。
【０１４４】
ステップＳ９９６において、メモリアクセス処理部２４０は、選択および非選択電圧の設定を行う（ステップＳ９９６）。具体的には、メモリアクセス処理部２４０は、印加電圧生成部２５０に対して選択列電圧Ｖｃ（Ｖｃａｌ＿Ｌ）および選択行電圧Ｖｒ（Ｖｐｇｍ＿Ｌ）をそれぞれ生成させる。同時に、メモリアクセス処理部２４０は、非選択列印加電圧生成部２７０に対して非選択列電圧Ｖｕｃ（Ｖｒｅｆ＿Ｌ）を生成させ、非選択行印加電圧生成部２６０に対して非選択行電圧Ｖｕｒ（Ｖｃａｌ＿Ｌ）を生成させる。次に、メモリアクセス処理部２４０は、選択行信号線に該当する行信号線３１２を流れる電流が閾値以上か否かを判断する（ステップＳ９９７）。電流が閾値以上の場合には（ステップＳ９９７：Ｙｅｓ）、メモリアクセス処理部２４０は、参照素子３０３がオンしたものと判断し、この時の制御コードＶＧｕｃ＿ｃｏｄｅ＿ｓを保持する。その後、メモリアクセス処理部２４０は、ステップＳ８０１の処理に移行する。
【０１４５】
一方、電流が閾値未満の場合には（ステップＳ９９７：Ｎｏ）、メモリアクセス処理部２４０は、ＶＧｕｃ＿ｃｏｄｅ＿ｓをインクリメントして印加電圧を変更する（ステップＳ９９８）。この結果、ＶＧｕｃ＿ｃｏｄｅ＿ｓが閾値に達した場合には（ステップＳ９９９：Ｙｅｓ）、メモリアクセス処理部２４０は、ステップＳ８０１の処理に移行する。一方、ＶＧｕｃ＿ｃｏｄｅ＿ｓが閾値に達していない場合には（ステップＳ９９９：Ｎｏ）、メモリアクセス処理部２４０は、ステップＳ９９７からの処理を再度実行する。ステップＳ８０１において、メモリアクセス処理部２４０は、参照アレイユニット３９０のイネーブル信号を値「０」にして、参照セル３９４等の電圧の印加を停止し（ステップＳ８０１）、セット時のコード設定の処理を終了する。
【０１４６】
［メモリアレイユニット書込み処理］
図２９は、本技術の第４の実施の形態におけるメモリアレイユニット書込み処理（ステップＳ８１０）の処理手順の一例を示す図である。この処理は、図２６において説明したメモリアレイユニット書込み（ステップＳ８１０）の処理を表したものである。まず、メモリアクセス処理部２４０は、変数ｌｏｏｐを値「０」にして初期化する（ステップＳ８１１）。次に、メモリアクセス処理部２４０は、メモリアレイユニット＃１（３１０）乃至＃８（３８０）のオペレーションコードを設定する（ステップＳ８１３）。これは、プレリードデータおよび書込みデータに基づいてメモリアレイユニット＃１（３１０）等のオペレーションコードを設定し、オペレーションコード保持部２３０に保持させることにより行う。次に、メモリアクセス処理部２４０は、ＮＳｅｔＲｅｓｅｔを算出する（ステップＳ８１８）。
【０１４７】
このＮＳｅｔＲｅｓｅｔが所定の閾値以下の場合（ステップＳ８１９：Ｙｅｓ）、メモリアクセス処理部２４０は、書込みが成功したものと判断し、メモリアレイユニット書込み処理を終了する。
【０１４８】
一方、ＮＳｅｔＲｅｓｅｔが所定の閾値以下でない場合（ステップＳ８１９：Ｎｏ）、メモリアクセス処理部２４０は、変数ｌｏｏｐが所定の閾値以下であるか否かについて判断する（ステップＳ８２１）。変数ｌｏｏｐが所定の閾値に達した場合には（ステップＳ８２１：Ｎｏ）、メモリアクセス処理部２４０は、元の書込み処理に戻ることなくメモリアレイユニット書込み処理を異常終了する。
【０１４９】
一方、変数ｌｏｏｐが所定の閾値以下の場合には（ステップＳ８２１：Ｙｅｓ）、メモリアクセス処理部２４０は、メモリアレイユニット＃１（３１０）等のイネーブル信号を値「１」にして、メモリセル３１４等に書込み電圧を印加する（ステップＳ８１４）。所定の書込み時間の経過後、メモリアクセス処理部２４０は、メモリアレイユニット＃１（３１０）等のイネーブル信号を値「０」にして、メモリセル３１４等の書込み電圧の印加を停止する（ステップＳ８１６）。次に、メモリアクセス処理部２４０は、メモリセル読出し処理（ステップＳ９６０）を行い、読み出したデータを新たなプレリードデータとして読出データ保持部２２０に保持させる。次に、メモリアクセス処理部２４０は、変数ｌｏｏｐをインクリメントして更新し（ステップＳ８１７）、ステップＳ８１８の処理に移行する。
【０１５０】
これ以外のアクセス制御部２００の構成は図２において説明したアクセス制御部２００の構成と同様であるため、説明を省略する。なお、本技術の第４の実施の形態においても、本技術の第１の実施の形態と同様に、読出しの際、参照閾値電圧によるメモリセルの制御素子３０１の閾値電圧の推定を行うことができる。この場合には、図２５において説明したメモリアレイユニット読出し処理に替えて図１４において説明したメモリアレイユニット読出し処理を実行する。
【０１５１】
このように、本技術の第４の実施の形態では、参照閾値電圧によりセットの際の半選択行メモリセルおよび半選択列メモリセルの制御素子３０１の閾値電圧を推定し、半選択行メモリセルおよび半選択列メモリセルに対して電圧を印加する。これにより、半選択行メモリセルおよび半選択列メモリセルにおける制御素子３０１の導通状態への変化を防止する。半選択行メモリセル等の抵抗変化素子３０２に印加される電圧が低減されて抵抗変化素子の記憶状態に及ぼす影響が軽減され、記憶データの信頼性を向上させることができる。
【０１５２】
＜５．第５の実施の形態＞
上述の第４の実施の形態では、セットの際に参照閾値電圧による半選択行メモリセルおよび半選択列メモリセルの制御素子３０１の閾値電圧の推定を行っていた。これに対し、本技術の第５の実施の形態では、セットおよびリセットの際に参照閾値電圧による半選択行メモリセルおよび半選択列メモリセルの制御素子３０１の閾値電圧の推定を行う。これにより、セットおよびリセットにおいて半選択行メモリセルおよび半選択列メモリセルの制御素子３０１の導通状態への変化を防止する。半選択行メモリセル等の抵抗変化素子３０２に印加される電圧を低減し、記憶データの信頼性を向上させる。
【０１５３】
［オペレーションコード］
図３０は、本技術の第５の実施の形態におけるオペレーションコードを示す図である。同図のオペレーションコードは、リセット動作のＶｕｃおよびＶｕｒとしてＶｐｇｍＵ＿ＨおよびＶｐｇｍＵ＿Ｌを印加する点で、図２３において説明したオペレーションコードと異なる。このように、本技術の第５の実施の形態では、セットおよびリセットの両方において半選択行メモリセル等にＶｐｇｍＵ＿ＨおよびＶｐｇｍＵ＿Ｌを印加する。
【０１５４】
［非選択行印加電圧生成部および非選択列印加電圧生成部の出力電圧］
図３１は、本技術の第５の実施の形態における非選択行印加電圧生成部２６０および非選択列印加電圧生成部２７０の出力電圧を示す図である。同図は、リセット時の非選択行印加電圧生成部２６０および非選択列印加電圧生成部２７０の出力電圧と制御コードとの関係を表したものである。同図におけるａは非選択行印加電圧生成部２６０の出力電圧を表し、同図におけるｂは非選択列印加電圧生成部２７０の出力電圧を表す。なお、セット時の非選択行印加電圧生成部２６０および非選択列印加電圧生成部２７０の出力電圧と制御コードとの関係は、図２４において説明した非選択行印加電圧生成部２６０の出力電圧と制御コードとの関係等と同様であるため、説明を省略する。
【０１５５】
同図におけるａのグラフ５６１は、制御コードとＶｐｇｍＵ＿Ｌとの関係を表すグラフである。グラフ５６２は、制御コードとＶｒｅｆ＿Ｌとの関係を表すグラフである。制御コードに比例してＶｒｅｆ＿ＬおよびＶｐｇｍＵ＿Ｌは上昇する。また、ＶｐｇｍＵ＿ＬはＶｒｅｆ＿Ｌに対してマージンに相当する電圧だけ低くなる。半選択列メモリセルに対応する参照閾値電圧を計測する際には、選択列信号線にＶｐｇｍ＿Ｌが印加されるとともに非選択列信号線および選択行信号線に所定のＶｃａｌ＿Ｌが印加される。次に、非選択行信号線に印加する電圧であるＶｒｅｆ＿Ｌを上昇させて、参照素子３０３をオンさせ、その際の制御コードＶＧｕｒ＿ｃｏｄｅ＿ｒを保持することにより参照閾値電圧を計測する。同図におけるａの１点鎖線５６３は、制御コードＶＧｕｒ＿ｃｏｄｅ＿ｒに対して設定された閾値の例を表したものである。
【０１５６】
同図におけるｂのグラフ５６４は、制御コードとＶｒｅｆ＿Ｈとの関係を表すグラフである。グラフ５６５は、制御コードとＶｐｇｍＵ＿Ｈとの関係を表すグラフである。制御コードに比例してＶｒｅｆ＿ＨおよびＶｐｇｍＵ＿Ｈは低下する。また、ＶｐｇｍＵ＿ＨはＶｒｅｆ＿Ｈに対してマージンに相当する電圧だけ高くなる。半選択行メモリセルに対応する参照閾値電圧を計測する際には、選択行信号線にＶｐｇｍ＿Ｈを印加するとともに非選択行信号線および選択列信号線に所定のＶｃａｌ＿Ｈを印加する。次に、非選択列信号線に印加する電圧であるＶｒｅｆ＿Ｈを低下させて、参照素子３０３をオンさせ、その際の制御コードＶＧｕｃ＿ｃｏｄｅ＿ｒを保持することにより参照閾値電圧を計測する。同図におけるｂの１点鎖線５６６は、制御コードＶＧｕｃ＿ｃｏｄｅ＿ｒに対して設定された閾値の例を表したものである。
【０１５７】
［書込み処理］
図３２は、本技術の第５の実施の形態における書込み処理の処理手順の一例を示す図である。まず、メモリアクセス処理部２４０は、書込みデータを書込データ保持部２１０に保持する（ステップＳ８３１）。次に、メモリアクセス処理部２４０は、書込みアドレスを設定する（ステップＳ８３２）。次に、メモリアクセス処理部２４０は、図２７において説明した非選択ラインセット電圧設定（ステップＳ９８０）の処理を行う。次に、メモリアクセス処理部２４０は、非選択ラインリセット電圧設定（ステップＳ８４０）の処理を行う。次に、メモリアクセス処理部２４０は、図２５において説明したメモリアレイユニット読出し（ステップＳ９６０）の処理を行う。最後に、メモリアクセス処理部２４０は、図２９において説明したメモリアレイユニット書込み（ステップＳ８１０）の処理を行い、書込み処理を終了する。
【０１５８】
［非選択ラインリセット電圧設定処理］
図３３は、本技術の第５の実施の形態における非選択ラインリセット電圧設定処理（ステップＳ８４０）の処理手順の一例を示す図である。同図は、図３２において説明した非選択ラインリセット電圧設定（ステップＳ８４０）の処理を表したものである。まず、メモリアクセス処理部２４０は、制御コードＶＧｕｒ＿ｃｏｄｅ＿ｒおよびＶＧｕｃ＿ｃｏｄｅ＿ｒを値「０」にして初期化する（ステップＳ８４１）。次に、メモリアクセス処理部２４０は、参照アレイユニット３９０にオペレーションコードとして値「２ｂ１０」を設定する（ステップＳ８４３）。次に、メモリアクセス処理部２４０は、リセット時のコード設定処理（ステップＳ８５０）を行い、制御コードＶＧｕｒ＿ｃｏｄｅ＿ｒおよびＶＧｕｃ＿ｃｏｄｅ＿ｒを取得する。
【０１５９】
次に、メモリアクセス処理部２４０は、これらの制御コードに基づいて、非選択行電圧Ｖｕｒが非選択列電圧Ｖｕｃより高いか否かを判断する（ステップＳ８４４）。非選択行電圧Ｖｕｒが非選択列電圧Ｖｕｃより高い場合には（ステップＳ８４４：Ｙｅｓ）、制御コードＶＧｕｒ＿ｃｏｄｅ＿ｒおよびＶＧｕｃ＿ｃｏｄｅ＿ｒを調整して非選択行電圧Ｖｕｒおよび非選択列電圧Ｖｕｃを等しい値にする（ステップＳ８４７）。非選択行電圧Ｖｕｒが非選択列電圧Ｖｕｃより高くない場合には（ステップＳ８４４：Ｎｏ）、メモリアクセス処理部２４０は、ステップＳ８４７の処理をスキップして、非選択ラインリセット電圧設定処理を終了する。
【０１６０】
［リセット時のコード設定処理］
図３４は、本技術の第５の実施の形態におけるリセット時のコード設定処理（ステップＳ８５０）の処理手順の一例を示す図である。同図は、図３３において説明したリセット時のコード設定（ステップＳ８５０）の処理を表したものである。まず、メモリアクセス処理部２４０は、選択および非選択電圧の設定を行う（ステップＳ８５１）。具体的には、メモリアクセス処理部２４０は、印加電圧生成部２５０に対して選択列電圧Ｖｃ（Ｖｐｇｍ＿Ｌ）および選択行電圧Ｖｒ（Ｖｃａｌ＿Ｌ）をそれぞれ生成させる。同時に、メモリアクセス処理部２４０は、非選択列印加電圧生成部２７０に対して非選択列電圧Ｖｕｃ（Ｖｃａｌ＿Ｌ）を生成させ、非選択行印加電圧生成部２６０に対して非選択行電圧Ｖｕｒ（Ｖｒｅｆ＿Ｌ）を生成させる。次に、メモリアクセス処理部２４０は、参照アレイユニット３９０のイネーブル信号を値「１」にして、参照セル３９４等に電圧を印加する（ステップＳ８５２）。
【０１６１】
次に、メモリアクセス処理部２４０は、選択列信号線に該当する列信号線３１３を流れる電流が閾値以上か否かを判断する（ステップＳ８５３）。電流が閾値以上の場合には（ステップＳ８５３：Ｙｅｓ）、メモリアクセス処理部２４０は、この時の制御コードＶＧｕｒ＿ｃｏｄｅ＿ｒを保持し、ステップＳ８５６の処理に移行する。
【０１６２】
一方、電流が閾値未満の場合には（ステップＳ８５３：Ｎｏ）、メモリアクセス処理部２４０は、ＶＧｕｒ＿ｃｏｄｅ＿ｒをインクリメントして印加電圧を変更する（ステップＳ８５４）。この結果、ＶＧｕｒ＿ｃｏｄｅ＿ｒが閾値に達した場合には（ステップＳ８５５：Ｙｅｓ）、メモリアクセス処理部２４０は、ステップＳ８５６の処理に移行する。一方、ＶＧｕｒ＿ｃｏｄｅ＿ｒが閾値に達していない場合には（ステップＳ８５５：Ｎｏ）、メモリアクセス処理部２４０は、ステップＳ８５３からの処理を再度実行する。
【０１６３】
ステップＳ８５６において、メモリアクセス処理部２４０は、選択および非選択電圧の設定を行う（ステップＳ８５６）。具体的には、メモリアクセス処理部２４０は、印加電圧生成部２５０に対して選択列電圧Ｖｃ（Ｖｃａｌ＿Ｈ）および選択行電圧Ｖｒ（Ｖｐｇｍ＿Ｈ）をそれぞれ生成させる。同時に、メモリアクセス処理部２４０は、非選択列印加電圧生成部２７０に対して非選択列電圧Ｖｕｃ（Ｖｒｅｆ＿Ｈ）を生成させ、非選択行印加電圧生成部２６０に対して非選択行電圧Ｖｕｒ（Ｖｃａｌ＿Ｈ）を生成させる。次に、メモリアクセス処理部２４０は、選択行信号線に該当する行信号線３１２を流れる電流が閾値以上か否かを判断する（ステップＳ８５７）。電流が閾値以上の場合には（ステップＳ８５７：Ｙｅｓ）、メモリアクセス処理部２４０は、制御コードＶＧｕｃ＿ｃｏｄｅ＿ｓを保持し、ステップＳ８６１の処理に移行する。
【０１６４】
一方、電流が閾値未満の場合には（ステップＳ８５７：Ｎｏ）、メモリアクセス処理部２４０は、ＶＧｕｃ＿ｃｏｄｅ＿ｒをインクリメントして印加電圧を変更する（ステップＳ８５８）。この結果、ＶＧｕｃ＿ｃｏｄｅ＿ｒが閾値に達した場合には（ステップＳ８５９：Ｙｅｓ）、メモリアクセス処理部２４０は、ステップＳ８６１の処理に移行する。一方、ＶＧｕｃ＿ｃｏｄｅ＿ｒが閾値に達していない場合には（ステップＳ８５９：Ｎｏ）、メモリアクセス処理部２４０は、ステップＳ８５７からの処理を再度実行する。最後に、メモリアクセス処理部２４０は、参照アレイユニット３９０のイネーブル信号を値「０」にして、参照セル３９４等の電圧の印加を停止し（ステップＳ８６１）、リセット時のコード設定の処理を終了する。
【０１６５】
なお、読出し処理については本技術の第４の実施の形態において説明した読出し処理と同様であるため、説明を省略する。これ以外のアクセス制御部２００の構成は図２１において説明したアクセス制御部２００の構成と同様であるため、説明を省略する。
【０１６６】
このように、本技術の第５の実施の形態では、第４の実施の形態と比べて、リセットの際にも参照閾値電圧による半選択行メモリセル等の制御素子３０１の閾値電圧の推定を行う。このため、セットおよびリセットにおける半選択行メモリセル等の制御素子３０１の導通状態への変化を防止する。リセット時においても、半選択行メモリセル等の抵抗変化素子３０２に印加される電圧が低減されるため、記憶データの信頼性をより向上させることができる。
【０１６７】
［変形例］
上述の本技術の第５の実施の形態では、セットおよびリセットの際に参照閾値電圧の計測を行っていた。これに対し、セット時に計測した参照閾値電圧によりリセット時の半選択行メモリセル等の制御素子３０１の閾値電圧を推定し、半選択行メモリセル等に電圧を印加してもよい。具体的には、セット時に取得した制御コードＶＧｕｒ＿ｃｏｄｅ＿ｓおよびＶＧｕｃ＿ｃｏｄｅ＿ｓと同じ値の制御コードＶＧｕｒ＿ｃｏｄｅ＿ｒおよびＶＧｕｃ＿ｃｏｄｅ＿ｒを使用してリセット時の非選択行印加電圧Ｖｕｒ等を設定してもよい。印加される電圧の極性が異なる場合の制御素子３０１の特性に大きな差異がない場合には、セットおよびリセットにおいて同じ制御コードを使用することができる。これにより、リセットの際の参照閾値電圧の計測を省略することが可能になる。
【０１６８】
＜６．第６の実施の形態＞
上述の第１の実施の形態では、双方向に電圧を印加する形式の抵抗変化素子３０２および制御素子３０１により構成されたメモリセルを使用していた。これに対し、本技術の第６の実施の形態では、単一方向に電圧を印加する形式の抵抗変化素子および制御素子により構成されたメモリセルを採用し、メモリシステムを簡略化する。
【０１６９】
［メモリセルおよび参照セルの構成］
図３５は、本技術の第６の実施の形態におけるメモリセルおよび参照セルの構成例を示す図である。同図は、直列に接続された制御素子３０４および抵抗変化素子３０５により構成されるメモリセルおよび参照セルの例を表したものである。制御素子３０４には、例えば、ダイオードを使用することができる。また、抵抗変化素子３０５には、例えば、ＰＣＲＡＭにより構成された抵抗変化素子３０５を使用することができる。この抵抗変化素子３０５は、書込みの際に書込み電流の大きさ等を制御して抵抗変化素子３０５を非結晶状態および結晶状態に可逆的に変化させる抵抗変化素子である。非結晶状態および結晶状態がそれぞれＨＲＳおよびＬＲＳに該当する。このような構成のメモリにおいて、参照メモリセルを配置して参照閾値電圧の計測を行う。計測した参照閾値電圧により制御素子３０４の閾値電圧を推定し、メモリセルに電圧を印加する。単一方向に電圧を印加する形式のメモリセルを使用した場合には、印加電圧の極性を変更する必要がないため、双方向に電圧を印加する形式のメモリセルを使用するシステムと比較して、アレイ駆動部３１１等の構成を簡略化することができる。また、単一方向性の制御素子３０４は、双方向性の制御素子３０１と比べて簡単な構成にすることができる。
【０１７０】
これ以外のメモリ３０の構成は本技術の第１の実施の形態において説明したメモリ３０の構成と同様であるため、説明を省略する。
【０１７１】
このように、本技術の第６の実施の形態によれば、単一方向に電圧を印加する形式の抵抗変化素子３０５および制御素子３０４により構成されたメモリセルを使用するため、メモリセルおよびアレイ駆動部３１１等の構成を簡略化することができる。
【０１７２】
＜７．第７の実施の形態＞
上述の第１の実施の形態では、抵抗変化素子３０２および制御素子３０１により構成されたメモリセルを使用していた。これに対し、本技術の第７の実施の形態では、単一の素子により構成されたメモリセルを採用し、メモリシステムを簡略化する。
【０１７３】
［メモリセルおよび参照セルの構成］
図３６は、本技術の第７の実施の形態におけるメモリセルおよび参照セルの構成例を示す図である。同図は、素子３０６により構成されるメモリセルおよび参照セルの例を表したものである。素子３０６は、印加された電圧に応じて非導通状態から導通状態に閾値電圧を境として変化するとともに導通状態の時に印加された電圧に応じて高抵抗状態および低抵抗状態に変化する素子である。このような構成のメモリセルにおいて、参照メモリセルを配置して参照閾値電圧の計測を行う。計測した参照閾値電圧により素子３０６の閾値電圧を推定しメモリセルに電圧を印加する。
【０１７４】
これ以外のメモリ３０の構成は本技術の第１の実施の形態において説明したメモリ３０の構成と同様であるため、説明を省略する。
【０１７５】
このように、本技術の第７の実施の形態では、印加された電圧に応じて非導通状態から導通状態に変化するとともに導通状態の時に印加された電圧に応じて高抵抗状態および低抵抗状態に変化する素子３０６により構成されたメモリセルを使用する。これにより、メモリセルの構成を簡略化することができる。
【０１７６】
上述のように、本技術の実施の形態では、参照閾値電圧により閾値電圧を推定してメモリセルに電圧を印加する。このため、メモリセルにおける制御素子の閾値が変化した場合において、制御素子を導通状態にするための必要最低限の電圧を印加することができ、消費電力を増加させることなく、記憶データの信頼性を向上させることができる。
【０１７７】
なお、上述の実施の形態は本技術を具現化するための一例を示したものであり、実施の形態における事項と、特許請求の範囲における発明特定事項とはそれぞれ対応関係を有する。同様に、特許請求の範囲における発明特定事項と、これと同一名称を付した本技術の実施の形態における事項とはそれぞれ対応関係を有する。ただし、本技術は実施の形態に限定されるものではなく、その要旨を逸脱しない範囲において実施の形態に種々の変形を施すことにより具現化することができる。
【０１７８】
また、上述の実施の形態において説明した処理手順は、これら一連の手順を有する方法として捉えてもよく、また、これら一連の手順をコンピュータに実行させるためのプログラム乃至そのプログラムを記憶する記録媒体として捉えてもよい。この記録媒体として、例えば、ＣＤ（Compact Disc）、ＭＤ（MiniDisc）、ＤＶＤ（Digital Versatile Disc）、メモリカード、ブルーレイディスク（Blu-ray（登録商標）Disc）等を用いることができる。
【０１７９】
なお、本明細書に記載された効果はあくまで例示であって、限定されるものではなく、また、他の効果があってもよい。
【０１８０】
なお、本技術は以下のような構成もとることができる。
（１）印加された電圧に応じて非導通状態から導通状態に閾値電圧を境として変化するとともに前記導通状態の時に印加された電圧に応じて高抵抗状態および低抵抗状態に変化するメモリセルと、
印加された電圧に応じて非導通状態から導通状態に参照閾値電圧を境として変化する参照素子を備える参照セルと、
前記参照セルにおいて計測された参照閾値電圧を前記メモリセルの閾値電圧と推定して前記メモリセルのアクセスの際に前記メモリセルに電圧を印加するアクセス制御部と
を具備するメモリ。
（２）前記メモリセルは、印加された電圧に応じて前記非導通状態から前記導通状態に前記閾値電圧を境として変化する制御素子と印加された電圧に応じて前記高抵抗状態および前記低抵抗状態に変化する抵抗変化素子とを備える前記（１）に記載のメモリ。
（３）前記アクセス制御部は、読出しを行う際に前記参照素子を前記非導通状態から前記導通状態に変化させて前記参照閾値電圧の計測を行う前記（１）または（２）に記載のメモリ。
（４）前記データセルは、ページサイズにより分割されたページを単位としてアクセスされ、
前記参照セルは、前記ページ毎に配置され、
前記アクセス制御部は、前記ページ毎に前記参照閾値電圧を前記メモリセルの閾値電圧と推定して前記メモリセルに電圧を印加する
前記（１）から（３）に記載のメモリ。
（５）前記参照セルは、前記ページ毎に複数配置され、
前記アクセス制御部は、前記複数の参照セルにおける参照閾値電圧により前記メモリセルの閾値電圧を推定する
前記（４）に記載のメモリ。
（６）前記アクセス制御部は、前記ページにおける読出しを行う際に前記参照素子を前記非導通状態から前記導通状態に変化させて前記参照閾値電圧の計測を行う前記（４）に記載のメモリ。
（７）前記アクセス制御部は、前記ページにおける書込みの後に前記高抵抗状態の前記メモリセルが存在する場合に前記ページの前記低抵抗状態の前記メモリセルを前記導通状態に変化させて当該変化後の経過時間を前記高抵抗状態の前記メモリセルと略等しいかまたは短い状態にして前記参照閾値電圧を前記ページにおける前記メモリセルの閾値電圧と推定する前記（６）に記載のメモリ。
（８）ＸＹマトリクス状に配置された複数の行信号線および複数の列信号線をさらに具備し、
前記メモリセルは、前記複数の行信号線および前記複数の列信号線の交点に複数配置されて前記交点における前記複数の行信号線のうちの一つと前記交点における前記複数の列信号線のうちの一つとにそれぞれ接続され、
前記参照セルは、前記複数のメモリセル毎に配置され、
前記アクセス制御部は、前記複数のメモリセル毎に配置された前記参照セルの参照閾値電圧を前記メモリセルの閾値電圧と推定して前記メモリセル毎に電圧を印加する
前記（１）に記載のメモリ。
（９）前記アクセス制御部は、前記複数の行信号線のうちの一つと前記複数の列信号線のうちの一つとを選択して前記アクセスを行う前記（８）に記載のメモリ。
（１０）前記アクセス制御部は、前記複数の行信号線のうちの一つである選択行信号線と前記複数の列信号線のうちの一つである選択列信号線との間に接続された前記メモリセルの書込みを行う際に前記選択行信号線と前記選択列信号線を除く前記列信号線との間に接続された前記メモリセルである半選択行メモリセルの閾値電圧および前記選択列信号線と前記選択行信号線を除く前記行信号線との間に接続された前記メモリセルである半選択列メモリセルの閾値電圧を前記参照閾値電圧により推定して前記半選択行メモリセルおよび前記半選択列メモリセルに電圧を印加する前記（９）に記載のメモリ。
（１１）前記アクセスに係る読出しデータの誤り検出および誤り訂正を行う誤り検出訂正部をさらに具備し、
前記アクセス制御部は、前記誤り検出訂正部において前記読出しデータの誤りが検出された際に前記参照閾値電圧を前記メモリセルの閾値電圧と推定して前記メモリセルに電圧を印加する
前記（１）に記載のメモリ。
（１２）印加された電圧に応じて非導通状態から導通状態に閾値電圧を境として変化するとともに前記導通状態の時に印加された電圧に応じて高抵抗状態および低抵抗状態に変化するメモリセルと、
印加された電圧に応じて非導通状態から導通状態に参照閾値電圧を境として変化する参照素子を備える参照セルと、
前記参照セルにおいて計測された参照閾値電圧を前記メモリセルの閾値電圧と推定して前記メモリセルのアクセスの際に前記メモリセルに電圧を印加するアクセス制御部と
を備えるメモリと、
前記メモリにアクセスするホストコンピュータと
を具備する情報処理システム。
（１３）印加された電圧に応じて非導通状態から導通状態に参照閾値電圧を境として変化する参照素子を備える参照セルにおいて計測された前記参照閾値電圧を印加された電圧に応じて非導通状態から導通状態に閾値電圧を境として変化するとともに前記導通状態の時に印加された電圧に応じて高抵抗状態および低抵抗状態に変化するメモリセルの前記閾値電圧と推定して前記メモリセルのアクセスの際に前記メモリセルに電圧を印加するアクセス制御手順を具備するメモリの制御方法。
【符号の説明】
【０１８１】
１０  ホストコンピュータ
２０  メモリコントローラ
２１  ホストコンピュータインターフェース
２２  メモリアクセス制御部
２３  誤り検出訂正部
２４  メモリインターフェース
３０  メモリ
１００  メモリコントローラインターフェース
２００  アクセス制御部
２１０  書込データ保持部
２２０  読出データ保持部
２３０  オペレーションコード保持部
２４０  メモリアクセス処理部
２５０  印加電圧生成部
２６０  非選択行印加電圧生成部
２７０  非選択列印加電圧生成部
３００  メモリアレイ
３０１、３０４  制御素子
３０２、３０５  抵抗変化素子
３０３  参照素子
３０６  素子
３１０〜３８０  メモリアレイユニット
３１１、３９１  アレイ駆動部
３１２、３９２  行信号線
３１３、３９３  列信号線
３１４〜３１７  メモリセル
３９０、４９０  参照アレイユニット
３９４〜３９７  参照セル
【図１】
0006520576.tif 000002
【図２】
0006520576.tif 000003
【図３】
0006520576.tif 000004
【図４】
0006520576.tif 000005
【図５】
0006520576.tif 000006
【図６】
0006520576.tif 000007
【図７】
0006520576.tif 000008
【図８】
0006520576.tif 000009
【図９】
0006520576.tif 000010
【図１０】
0006520576.tif 000011
【図１１】
0006520576.tif 000012
【図１２】
0006520576.tif 000013
【図１３】
0006520576.tif 000014
【図１４】
0006520576.tif 000015
【図１５】
0006520576.tif 000016
【図１６】
0006520576.tif 000017
【図１７】
0006520576.tif 000018
【図１８】
0006520576.tif 000019
【図１９】
0006520576.tif 000020
【図２０】
0006520576.tif 000021
【図２１】
0006520576.tif 000022
【図２２】
0006520576.tif 000023
【図２３】
0006520576.tif 000024
【図２４】
0006520576.tif 000025
【図２５】
0006520576.tif 000026
【図２６】
0006520576.tif 000027
【図２７】
0006520576.tif 000028
【図２８】
0006520576.tif 000029
【図２９】
0006520576.tif 000030
【図３０】
0006520576.tif 000031
【図３１】
0006520576.tif 000032
【図３２】
0006520576.tif 000033
【図３３】
0006520576.tif 000034
【図３４】
0006520576.tif 000035
【図３５】
0006520576.tif 000036
【図３６】
0006520576.tif 000037