(57)【要約】  クロスポイント構造を持つメモリにおいて、セレクタのドリフトによる誤動作を未然に防止する。  メモリセルアレイは、データ領域およびドリフト参照セルを備える。蓄積ドリフト量取得部は、ドリフト参照セルの蓄積ドリフト量を取得する。通算ドリフト量読出し部は、データ領域に記憶される通算ドリフト量を読み出す。リフレッシュ制御部は、通算ドリフト量に蓄積ドリフト量を加算して新たな通算ドリフト量として更新する。そして、新たな通算ドリフト量が所定の閾値を超えている場合には、メモリセルアレイのデータ領域をリフレッシュさせる。
2020031435.tif 000002
【特許請求の範囲】
【請求項１】
メモリセルアレイのドリフト参照セルの蓄積ドリフト量を取得する蓄積ドリフト量取得部と、
前記メモリセルアレイのデータ領域に記憶される通算ドリフト量を読み出す通算ドリフト量読出し部と、
前記通算ドリフト量に前記蓄積ドリフト量を加算して新たな通算ドリフト量として更新して当該新たな通算ドリフト量が所定の閾値を超えている場合には前記データ領域をリフレッシュさせるリフレッシュ制御部と
を具備する記憶制御装置。
【請求項２】
前記蓄積ドリフト量取得部は、前記ドリフト参照セルの読出し閾値を変化させながらドリフト量を探索する
請求項１記載の記憶制御装置。
【請求項３】
前記メモリセルアレイは、抵抗変化型メモリであり、
前記蓄積ドリフト量取得部は、前記ドリフト参照セルの読出し電圧の閾値を変化させて読み出した抵抗分布が所定の状態になった際の前記閾値の電圧を取得して、前記閾値の電圧を前記蓄積ドリフト量に変換する
請求項１記載の記憶制御装置。
【請求項４】
前記ドリフト参照セルの抵抗状態は低抵抗状態であり、
前記蓄積ドリフト量取得部は、前記読み出した抵抗分布の略半数が低抵抗状態を示す際の前記閾値の電圧を取得する
請求項３記載の記憶制御装置。
【請求項５】
前記リフレッシュが行われた際には前記メモリセルアレイのデータ領域に記憶される通算ドリフト量としてゼロ値を書き込み、前記リフレッシュが行われなかった場合には前記メモリセルアレイのデータ領域に記憶される通算ドリフト量として前記新たな通算ドリフト量を書き込む通算ドリフト量書込み部
をさらに具備する請求項１記載の記憶制御装置。
【請求項６】
前記リフレッシュ制御部は、電源オン操作が発生した際に前記リフレッシュの要否を判断する
請求項１記載の記憶制御装置。
【請求項７】
前記電源オン操作から計時を開始するタイマーをさらに具備し、
前記リフレッシュ制御部は、前記タイマーが所定の値になると前記メモリセルアレイのデータ領域をリフレッシュさせる
請求項６記載の記憶制御装置。
【請求項８】
前記蓄積ドリフト量取得部は、電源オフ操作が発生した際に前記タイマーの値を前記蓄積ドリフト量に変換して、
前記リフレッシュ制御部は、前記通算ドリフト量に前記蓄積ドリフト量を加算して新たな通算ドリフト量として更新する
請求項７記載の記憶制御装置。
【請求項９】
データ領域およびドリフト参照セルを備えるメモリセルアレイと、
前記ドリフト参照セルの蓄積ドリフト量を取得する蓄積ドリフト量取得部と、
前記データ領域に記憶される通算ドリフト量を読み出す通算ドリフト量読出し部と、
前記通算ドリフト量に前記蓄積ドリフト量を加算して新たな通算ドリフト量として更新して当該新たな通算ドリフト量が所定の閾値を超えている場合には前記データ領域をリフレッシュさせるリフレッシュ制御部と
を具備する記憶装置。
【請求項１０】
前記メモリセルアレイは、抵抗変化型メモリである
請求項９記載の記憶装置。
【請求項１１】
前記メモリセルアレイは、不揮発メモリである
請求項９記載の記憶装置。
【請求項１２】
メモリセルアレイのドリフト参照セルの蓄積ドリフト量を取得する手順と、
前記メモリセルアレイのデータ領域に記憶される通算ドリフト量を読み出す手順と、
前記通算ドリフト量に前記蓄積ドリフト量を加算して新たな通算ドリフト量として更新して当該新たな通算ドリフト量が所定の閾値を超えている場合には前記データ領域をリフレッシュさせる手順と
を具備する記憶制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、記憶制御装置に関する。詳しくは、メモリのリフレッシュを制御する記憶制御装置、記憶装置、および、これらにおける処理方法に関する。
【背景技術】
【０００２】
クロスポイント構造を持つ抵抗変化型メモリにおいて、メモリセルの各々は可変抵抗部およびセレクタにより構成される。このような構成において、セレクタを長時間に亘ってスナップさせない（すなわち、オン状態にしない）場合、ドリフトが発生するおそれがある。このドリフトの影響により、セレクタがスナップするために必要な電圧が上昇する。メモリセルの可変抵抗部が低抵抗状態かつドリフトが発生している状態では、読出し電圧を印加してもセレクタがスナップせず、クロスポイントメモリのセルに電流が流れない。その結果、可変抵抗部の抵抗状態が誤って判別される。このようなデータの誤りが検出されたメモリセルの状態を復旧させるために、データの誤りが検出されたメモリセルに対してリフレッシュを行う技術が提案されている（例えば、特許文献１参照。）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１６−２２５００７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上述の従来技術では、先読みビットエラーの数が閾値以上であるときは強いリフレッシュを行い、閾値以下であるときは弱いリフレッシュを行うように制御している。しかしながら、この従来技術では、発生したビットエラーにのみ着目しており、ドリフトについては考慮されていない。そのため、エラーとして表面化する前にドリフトが進行した場合に対処することができない。例えば、メモリセルが高抵抗状態の場合、セレクタのドリフト発生状況によらず、読出し電圧が印加されてもメモリに電流が流れないため、可変抵抗部の抵抗状態が誤って判別されることはない。その一方で、セレクタをスナップするために必要な電圧がドリフトにより上昇するため、高抵抗状態の閾値が高くなり過ぎて、セットできなくなるおそれがある。【０００５】
本技術はこのような状況に鑑みて生み出されたものであり、クロスポイント構造を持つメモリにおいて、セレクタのドリフトによる誤動作を未然に防止することを目的とする。
【課題を解決するための手段】
【０００６】
本技術は、上述の問題点を解消するためになされたものであり、その第１の側面は、メモリセルアレイのドリフト参照セルの蓄積ドリフト量を取得する蓄積ドリフト量取得部と、上記メモリセルアレイのデータ領域に記憶される通算ドリフト量を読み出す通算ドリフト量読出し部と、上記通算ドリフト量に上記蓄積ドリフト量を加算して新たな通算ドリフト量として更新して当該新たな通算ドリフト量が所定の閾値を超えている場合には上記データ領域をリフレッシュさせるリフレッシュ制御部とを具備する記憶制御装置、記憶装置および記憶制御方法である。これにより、メモリセルアレイのドリフト参照セルの蓄積ドリフト量により通算ドリフト量を更新して、それに基づいてデータ領域のリフレッシュを制御するという作用をもたらす。【０００７】
また、この第１の側面において、上記蓄積ドリフト量取得部は、上記ドリフト参照セルの読出し閾値を変化させながらドリフト量を探索するようにしてもよい。これにより、ドリフト参照セルに蓄積されたドリフト量に相当する読出し閾値を取得するという作用をもたらす。【０００８】
また、この第１の側面において、上記メモリセルアレイは、抵抗変化型メモリであり、上記蓄積ドリフト量取得部は、上記ドリフト参照セルの読出し電圧の閾値を変化させて読み出した抵抗分布が所定の状態になった際の上記閾値の電圧を取得して、上記閾値の電圧を上記蓄積ドリフト量に変換するようにしてもよい。これにより、ドリフト参照セルに蓄積されたドリフト量に相当する読出し閾値の電圧を取得して、蓄積ドリフト量に変換するという作用をもたらす。なお、上記メモリセルアレイは、不揮発メモリであってもよい。【０００９】
また、この第１の側面において、上記ドリフト参照セルの抵抗状態は低抵抗状態であり、上記蓄積ドリフト量取得部は、上記読み出した抵抗分布の略半数が低抵抗状態を示す際の上記閾値の電圧を取得するようにしてもよい。これにより、抵抗分布を利用してドリフト参照セルに蓄積されたドリフト量に相当する読出し閾値の電圧を取得して、蓄積ドリフト量に変換するという作用をもたらす。【００１０】
また、この第１の側面において、上記リフレッシュが行われた際には上記メモリセルアレイのデータ領域に記憶される通算ドリフト量としてゼロ値を書き込み、上記リフレッシュが行われなかった場合には上記メモリセルアレイのデータ領域に記憶される通算ドリフト量として上記新たな通算ドリフト量を書き込む通算ドリフト量書込み部をさらに具備してもよい。これにより、メモリセルアレイのデータ領域に記憶される通算ドリフト量を最新の状態に維持するという作用をもたらす。【００１１】
また、この第１の側面において、上記リフレッシュ制御部は、電源オン操作が発生した際に上記リフレッシュの要否を判断するようにしてもよい。これにより、電源オフの期間において蓄積したドリフト量を取得して、必要に応じてリフレッシュを行うという作用をもたらす。【００１２】
また、この第１の側面において、上記電源オン操作から計時を開始するタイマーをさらに具備し、上記リフレッシュ制御部は、上記タイマーが所定の値になると上記メモリセルアレイのデータ領域をリフレッシュさせるようにしてもよい。これにより、電源オンからの経過時間に応じてリフレッシュを制御するという作用をもたらす。【００１３】
また、この第１の側面において、上記蓄積ドリフト量取得部は、電源オフ操作が発生した際に上記タイマーの値を上記蓄積ドリフト量に変換して、上記リフレッシュ制御部は、上記通算ドリフト量に上記蓄積ドリフト量を加算して新たな通算ドリフト量として更新するようにしてもよい。これにより、通常動作時において蓄積したドリフト量を取得して、リフレッシュを制御するという作用をもたらす。
【発明の効果】
【００１４】
本技術によれば、クロスポイント構造を持つメモリにおいて、セレクタのドリフトによる誤動作を未然に防止することができるという優れた効果を奏し得る。なお、ここに記載された効果は必ずしも限定されるものではなく、本開示中に記載されたいずれかの効果であってもよい。
【図面の簡単な説明】
【００１５】
【図１】本技術の実施の形態における情報処理システムの一構成例を示す図である。
【図２】本技術の実施の形態におけるメモリ３００の一構成例を示す図である。
【図３】本技術の実施の形態におけるメモリセルアレイ３１０の一構成例を示す図である。
【図４】本技術の実施の形態におけるメモリセルアレイ３１０の立体イメージ例を示す図である。
【図５】本技術の実施の形態におけるメモリセル３１１の抵抗状態を示す図である。
【図６】本技術の実施の形態におけるメモリコントローラ２００の一構成例を示す図である。
【図７】本技術の実施の形態におけるドリフト参照セル３１９のドリフト量測定例を示す図である。
【図８】本技術の実施の形態におけるドリフト量変換部２７０によるドリフト量変換例を示す図である。
【図９】本技術の第１の実施の形態におけるメモリコントローラ２００の処理手順の一例を示す流れ図である。
【図１０】本技術の実施の形態における電源オン処理の処理手順の一例を示す流れ図である。
【図１１】本技術の実施の形態におけるメモリ３００のドリフト参照セルの読出しリクエスト処理の処理手順の一例を示す流れ図である。
【図１２】本技術の実施の形態におけるメモリ３００の通算ドリフト量の読出しリクエスト処理の処理手順の一例を示す流れ図である。
【図１３】本技術の実施の形態におけるメモリ３００のリフレッシュリクエスト処理の処理手順の一例を示す流れ図である。
【図１４】本技術の実施の形態におけるメモリ３００のセット処理の処理手順の一例を示す流れ図である。
【図１５】本技術の実施の形態におけるメモリ３００のリセット処理の処理手順の一例を示す流れ図である。
【図１６】本技術の実施の形態におけるリフレッシュリクエスト処理の具体例を示す図である。
【図１７】本技術の第２の実施の形態におけるメモリコントローラ２００の一構成例を示す図である。
【図１８】本技術の第２の実施の形態におけるメモリコントローラ２００の処理手順の一例を示す流れ図である。
【図１９】本技術の第２の実施の形態における通常動作処理の処理手順の一例を示す流れ図である。
【図２０】本技術の実施の形態における電源オフ処理の処理手順の一例を示す流れ図である。
【図２１】本技術の第３の実施の形態におけるメモリ３００の一構成例を示す図である。
【発明を実施するための形態】
【００１６】
以下、本技術を実施するための形態（以下、実施の形態と称する）について説明する。説明は以下の順序により行う。
１．第１の実施の形態（電源オン時にリフレッシュ制御を行う例）
２．第２の実施の形態（電源オン後の通常動作時にもリフレッシュ制御を行う例）
３．第３の実施の形態（メモリ内でリフレッシュ制御を行う例）
【００１７】
＜１．第１の実施の形態＞
［情報処理システムの構成］
図１は、本技術の実施の形態における情報処理システムの一構成例を示す図である。この情報処理システムは、ホストコンピュータ１００と、メモリコントローラ２００と、メモリ３００とから構成される。メモリコントローラ２００およびメモリ３００はメモリシステム４００を構成する。
【００１８】
ホストコンピュータ１００は、メモリ３００に対してデータのリード処理およびライト処理等を指令するコマンドを発行するものである。このホストコンピュータ１００は、ホストコンピュータ１００としての処理を実行するプロセッサと、メモリコントローラ２００との間のやりとりを行うためのコントローラインターフェースとを備える。ホストコンピュータ１００とメモリコントローラ２００との間は信号線１０９によって接続される。
【００１９】
メモリコントローラ２００は、ホストコンピュータ１００からのコマンドに従って、メモリ３００に対するリクエスト制御を行うものである。メモリコントローラ２００とメモリ３００との間は信号線３０９によって接続される。
【００２０】
メモリ３００は、後述するように、アクセス制御部およびメモリセルアレイを備える。このメモリ３００のアクセス制御部は、メモリコントローラ２００からのリクエストに従ってメモリセルへのアクセスを行う。
【００２１】
ホストコンピュータ１００からライトコマンドを受信した場合、メモリコントローラ２００はホストコンピュータ１００からデータを受信し、メモリ３００にライト要求を発行して、ホストコンピュータ１００から受信したデータをメモリ３００に送信して書き込む。
【００２２】
ホストコンピュータ１００からリードコマンドを受信した場合、メモリコントローラ２００はメモリ３００にリード要求を発行して、メモリ３００からデータを読み出し、メモリ３００から読み出したデータをホストコンピュータ１００に転送する。
【００２３】
［メモリの構成］
図２は、本技術の実施の形態におけるメモリ３００の一構成例を示す図である。
【００２４】
メモリ３００は、メモリセルアレイ３１０と、アクセス制御部３４０と、コントローラインターフェース３９０とを備える。
【００２５】
メモリセルアレイ３１０は、複数のメモリセルをアレイ状（２次元状、マトリクス状）に配置したものである。この実施の形態においては、メモリセルとして不揮発性の抵抗変化型メモリを想定する。
【００２６】
このメモリセルアレイ３１０は、ユーザデータ領域およびドリフト参照領域の２つの領域を備える。ユーザデータ領域は、通常のメモリ領域としてユーザデータの書込みおよび読出しの対象となる領域である。ドリフト参照領域は、ドリフト量を測定するために参照される領域でありドリフト参照セル３１９を備える。
【００２７】
ユーザデータ領域に格納されるデータには、通算ドリフト量３１８が含まれる。この通算ドリフト量３１８は、ユーザデータ領域において前回リフレッシュが行われたときからの通算したドリフト量である。メモリセルアレイ３１０は不揮発メモリを想定するため、電源の投入（オン）および切断（オフ）は断続的に行われるが、その間もドリフトは維持される。したがって、この通算ドリフト量３１８は、電源のオンオフにかかわらず直前にリフレッシュが行われたときからの通算値を示す。なお、ユーザデータ領域のデータは、アドレス毎のアクセス頻度によりドリフト量は異なり、全くアクセスされないアドレスのドリフト量が最大となる。そのため、通算ドリフト量３１８としては、アドレス毎に異なる値を記憶するのではなく、ユーザデータ領域全体で１つの通算ドリフト量を最大値として記憶しておくものとする。
【００２８】
アクセス制御部３４０は、メモリセルアレイ３１０に対する書込みおよび読出しのアクセスを制御するものである。このアクセス制御部３４０は、メモリセルアレイ３１０のワード線およびビット線を制御する機能を備える。なお、アクセス制御部３４０は、特許請求の範囲に記載の通算ドリフト量読出し部および通算ドリフト量書込み部の一例である。
【００２９】
コントローラインターフェース３９０は、メモリコントローラ２００との間のやりとりを行うインターフェースである。
【００３０】
［メモリセルアレイ］
図３は、本技術の実施の形態におけるメモリセルアレイ３１０の一構成例を示す図である。
【００３１】
メモリセルアレイ３１０は、例えば、ＷＬ［０］からＷＬ［４０９５］の４０９６本のワード線３２９と、ＢＬ［０］からＢＬ［４０９５］の４０９６本のビット線３３９との間にメモリセル３１１の各々を接続したクロスポイント構造を備える。ワード線３２９はワード線制御部３４２によって制御され、ビット線３３９はビット線制御部３４３によって制御される。ワード線制御部３４２およびビット線制御部３４３は、上述のアクセス制御部３４０の機能である。
【００３２】
メモリセル３１１は抵抗変化型メモリであり、可変抵抗体３１２とセレクタ３１３とを直列接続したものである。可変抵抗体３１２の一端はビット線３３９に接続され、セレクタ３１３の一端はワード線３２９に接続される。
【００３３】
図４は、本技術の実施の形態におけるメモリセルアレイ３１０の立体イメージ例を示す図である。
【００３４】
同図に示すように、上層のワード線３２９と下層のビット線３３９との間に、セレクタ３１３および可変抵抗体３１２からなるメモリセル３１１が挟まれる構造を備える。これにより、ワード線３２９とビット線３３９とが交差する位置にメモリセル３１１を配置して制御することができる。
【００３５】
図５は、本技術の実施の形態におけるメモリセル３１１の抵抗状態を示す図である。
【００３６】
上述のように、メモリセル３１１は抵抗変化型メモリを想定しており、低抵抗状態（ＬＲＳ：Low Resistance State）と高抵抗状態（ＨＲＳ：High Resistance State）の何れか一方の状態を示す。メモリセル３１１に読出し電圧Ｖを印加した際の累積ビット数の分布は、同図に示すように、閾値を境として低抵抗状態および高抵抗状態の何れかに区別される。
【００３７】
セレクタ３１３を長時間に亘ってスナップさせない（すなわち、オン状態にしない）場合、ドリフトが発生するおそれがある。このドリフトの影響により、セレクタ３１３がスナップするために必要な電圧が時間の対数（ｌｏｇ）に比例して上昇する。メモリセル３１１の可変抵抗体３１２が低抵抗状態かつドリフトが発生している状態では、読出し電圧を印加してもセレクタ３１３がスナップせず、メモリセル３１１に電流が流れない。その結果、可変抵抗体３１２の抵抗状態として低抵抗状態であるべきものが、誤って高抵抗状態と判別されてしまう。一方、もともと高抵抗状態であったメモリセル３１１については、ドリフトが発生していても高抵抗状態であることに変化はなく、データの誤りは生じない。
【００３８】
［メモリコントローラの構成］
図６は、本技術の実施の形態におけるメモリコントローラ２００の一構成例を示す図である。
【００３９】
メモリコントローラ２００は、リフレッシュ制御部２５０と、ドリフト量レジスタ２６０と、ドリフト量変換部２７０と、ホストインターフェース２８０と、メモリインターフェース２９０とを備える。
【００４０】
ドリフト量レジスタ２６０は、メモリセルアレイ３１０のユーザデータ領域のドリフト量を保持するレジスタである。
【００４１】
リフレッシュ制御部２５０は、メモリセルアレイ３１０のリフレッシュ動作を制御するものである。このリフレッシュ制御部２５０は、電源オン時に、メモリセルアレイ３１０のユーザデータ領域に記憶される通算ドリフト量３１８を読み出して、ドリフト量レジスタ２６０に保持させる。ただし、この通算ドリフト量３１８は、直前に電源オフにした時点でのドリフト量である。最新のドリフト量を求めるために、メモリコントローラ２００は、メモリセルアレイ３１０のドリフト参照セル３１９の蓄積ドリフト量を取得する。この蓄積ドリフト量は、後述するように、読出し電圧の閾値として得られるため、ドリフト量変換部２７０によってドリフト量に変換する必要がある。
【００４２】
ドリフト量変換部２７０は、メモリセルアレイ３１０のドリフト参照セル３１９の読出し電圧の閾値をドリフト量に変換するものである。このドリフト量変換部２７０による変換処理の具体例については後述する。なお、ドリフト量変換部２７０は、特許請求の範囲に記載の蓄積ドリフト量取得部の一例である。
【００４３】
ホストインターフェース２８０は、ホストコンピュータ１００との間のやりとりを行うインターフェースである。メモリインターフェース２９０は、メモリ３００との間のやりとりを行うインターフェースである。なお、メモリインターフェース２９０は、特許請求の範囲に記載の通算ドリフト量読出し部および通算ドリフト量書込み部の一例である。
【００４４】
なお、このメモリコントローラ２００は、メモリ３００のユーザデータ領域に記録されるデータのエラー訂正符号（ＥＣＣ）を算出し、メモリ３００のユーザデータ領域から読み出したデータのエラー訂正処理を実行するエラー訂正部を備えてもよい。
【００４５】
［ドリフト参照セルの蓄積ドリフト量測定］
図７は、本技術の実施の形態におけるドリフト参照セル３１９の蓄積ドリフト量測定例を示す図である。
【００４６】
上述のように、ドリフトが発生すると、抵抗状態の分布が変動して、読出し電圧の閾値がより高い電圧となる。ここでは、メモリセルアレイ３１０のドリフト参照セル３１９が低抵抗状態にあるものとして、読出し閾値を変化させながら（高い電圧にずらしながら）ドリフト参照セル３１９の値を読み出す。読出し閾値が低いときには読み出した値は「０」（高抵抗状態）を示すが、この閾値を高くしていくと読み出した値「１」（低抵抗状態）に遷移する。すなわち、抵抗状態の分布として、略半数が「１」を示すようになったときの閾値（電圧）を探索する。ただし、ここで得られるのは読出し電圧の閾値であるため、ドリフト量変換部２７０によってドリフト量に変換する必要がある。
【００４７】
蓄積ドリフト量を測定するためにメモリセルアレイ３１０のドリフト参照セル３１９を読み出す際には、最終的に全てのドリフト参照セル３１９を初期化するために、最後に、セレクタ３１３が確実にスナップする閾値で読出しを行う。
【００４８】
図８は、本技術の実施の形態におけるドリフト量変換部２７０によるドリフト量変換例を示す図である。
【００４９】
ここでは、ドリフト量変換部２７０がテーブル引きにより閾値（電圧）からドリフト量への変換を行うことを想定する。すなわち、読出し閾値をずらしながらメモリセルアレイ３１０のドリフト参照セル３１９の値を読み出して、半数が「１」を示すようになったときの閾値（電圧）に基づいてテーブル参照により、対応するドリフト量を取得する。
【００５０】
ドリフト量の単位として日数を想定しているが、秒数などの時間や、電圧値や、その他の正規化された値を用いてもよい。また、温度や選択回数によって補正を行うようにしてもよい。
【００５１】
なお、この例ではテーブルを参照する例について説明したが、閾値の値から所定の数式による演算を行って算出するようにしてもよい。
【００５２】
［動作］
図９は、本技術の第１の実施の形態におけるメモリコントローラ２００の処理手順の一例を示す流れ図である。
【００５３】
この第１の実施の形態では、電源オン時に、前回のリフレッシュ以降に蓄積したドリフト量を取得する処理を行う。すなわち、メモリコントローラ２００は、電源オンの操作が発生すると、電源オン処理（ステップＳ９１０）を実行する。
【００５４】
図１０は、本技術の実施の形態における電源オン処理（ステップＳ９１０）の処理手順の一例を示す流れ図である。
【００５５】
電源オンが発生すると（ステップＳ９１１）、メモリコントローラ２００は、メモリインターフェース２９０を介してドリフト参照セル３１９の読出しリクエストをメモリ３００に発行する（ステップＳ９１２）。メモリ３００では、通常のセルとは異なる読出し閾値が用いられる。すなわち、上述のように、読出し閾値の電圧を低い電圧から始めて高い電圧にずらしていく。
【００５６】
メモリ３００においてドリフト参照セル３１９から読み出された値の分布として半数が「１」を示す場合には（ステップＳ９１３：Ｙｅｓ）、そのときの読出し閾値が蓄積ドリフト量に相当するものとされる。一方、半数が「１」を示さない場合には（ステップＳ９１３：Ｎｏ）、ドリフト参照セル３１９の読出し閾値をずらして（ステップＳ９１４）、再びドリフト参照セル３１９の読出しリクエストをメモリ３００に発行する（ステップＳ９１２）。
【００５７】
半数が「１」を示した後には（ステップＳ９１３：Ｙｅｓ）、最終的に全てのドリフト参照セル３１９を初期化するために、最後に、セレクタ３１３が確実にスナップする閾値で読出しを行うように、ドリフト参照セル３１９の読出しリクエストをメモリ３００に発行する（ステップＳ９１５）。
【００５８】
ドリフト量変換部２７０は、半数が「１」を示した際のドリフト参照セル３１９の読出し閾値を、上述のようにドリフト量に変換する（ステップＳ９１６）。
【００５９】
また、メモリコントローラ２００は、メモリインターフェース２９０を介して通算ドリフト量３１８の読出しリクエストをメモリ３００に発行する（ステップＳ９１７）。そして、リフレッシュ制御部２５０は、メモリ３００から読み出した通算ドリフト量３１８の値とドリフト量変換部２７０によって変換された蓄積ドリフト量とを加算して、新たな通算ドリフト量として更新する（ステップＳ９１８）。
【００６０】
更新された通算ドリフト量が所定の閾値を超えた場合には（ステップＳ９２１：Ｙｅｓ）、メモリコントローラ２００はユーザデータ領域のリフレッシュリクエストをメモリ３００に発行する（ステップＳ９２２）。これにより、メモリ３００のユーザデータ領域の全ビットがスナップされ、ユーザデータ領域におけるドリフトが解消される。そして、メモリコントローラ２００は、メモリインターフェース２９０を介して通算ドリフト量３１８を「０」にする書込みリクエストをメモリ３００に発行する（ステップＳ９２３）。
【００６１】
一方、更新された通算ドリフト量が所定の閾値を超えない場合には（ステップＳ９２１：Ｎｏ）、更新された通算ドリフト量を通算ドリフト量３１８に書き込む書込みリクエストを、メモリ３００にメモリインターフェース２９０を介して発行する（ステップＳ９２４）。
【００６２】
図１１は、本技術の実施の形態におけるメモリ３００のドリフト参照セルの読出しリクエスト処理（ステップＳ９１２、Ｓ９１５）の処理手順の一例を示す流れ図である。
【００６３】
アクセス制御部３４０は、読出しの閾値をドリフト参照セル３１９のための閾値に設定する（ステップＳ９３１）。そして、アクセス制御部３４０は、メモリセルアレイ３１０からドリフト参照セル３１９の値を読み出して（ステップＳ９３２）、その読み出した値をメモリコントローラ２００に供給する（ステップＳ９３３）。
【００６４】
図１２は、本技術の実施の形態におけるメモリ３００の通算ドリフト量の読出しリクエスト処理（ステップＳ９１７）の処理手順の一例を示す流れ図である。
【００６５】
アクセス制御部３４０は、読出しの閾値を通常の閾値に設定する（ステップＳ９４１）。そして、アクセス制御部３４０は、メモリセルアレイ３１０から通算ドリフト量３１８の値を読み出して（ステップＳ９４２）、その読み出した値をメモリコントローラ２００に供給する（ステップＳ９４３）。
【００６６】
図１３は、本技術の実施の形態におけるメモリ３００のリフレッシュリクエスト処理（ステップＳ９２２）の処理手順の一例を示す流れ図である。
【００６７】
アクセス制御部３４０は、メモリセルアレイ３１０の指定アドレスからプレリードを行う（ステップＳ９５１）。そして、そのプレリードされたデータに基づいてリフレッシュマスクビットを生成する（ステップＳ９５２）。このとき、プレリードデータにおいて低抵抗状態を示すビットをマスクするように、対応するフレッシュマスクビットに「１」を設定する。このフレッシュマスクビットを用いてセット処理（ステップＳ９６０）およびリセット処理（ステップＳ９７０）を行う。
【００６８】
図１４は、本技術の実施の形態におけるメモリ３００のセット処理（ステップＳ９６０）の処理手順の一例を示す流れ図である。
【００６９】
アクセス制御部３４０は、リフレッシュマスクビットからセットマスクビットを生成する（ステップＳ９６１）。そして、セットマスクビットに「１」が設定されていないビットに対して「１」をセットする（ステップＳ９６２）。
【００７０】
アクセス制御部３４０は、セットを行ったデータをベリファイ（検証）するために読み出すベリファイリードを行う（ステップＳ９６３）。その結果、セットマスクビットにおいてセット対象とされているビットが全てセット状態になっていれば（ステップＳ９６４：Ｙｅｓ）、セット処理が成功したものとして終了する。一方、セット対象とされているビットの少なくとも一部がセット状態になっていなければ（ステップＳ９６４：Ｎｏ）、セット処理が失敗したものとして、ステップＳ９６１以降の処理を繰り返す。
【００７１】
図１５は、本技術の実施の形態におけるメモリ３００のリセット処理（ステップＳ９７０）の処理手順の一例を示す流れ図である。
【００７２】
このリセット処理は、上述のセット処理と同様の要領によりリセットを行うものであるため、詳細な説明は省略する。
【００７３】
図１６は、本技術の実施の形態におけるリフレッシュリクエスト処理の具体例を示す図である。なお、ここでは、簡単のため、８ビット幅のデータを例示しているが、リフレッシュの単位は任意のデータ幅により行ってよい。
【００７４】
この例では、プレリードデータの第０、２、４、７ビットが低抵抗状態を示しているため、リフレッシュマスクビットの対応するビットに「１」が設定され、他のビットに「０」が設定される。そして、リフレッシュマスクビットに基づいて同じ値がセットマスクビットに設定され、セットマスクビットに「１」が設定されていないビットに対して「１」がセットされる。
【００７５】
セットを行った後に、ベリファイのためにベリファイリードが行われて、セットマスクビットと比較される。この例では、第３ビットにおいてベリファイエラーが生じたものと想定している。そのため、第３ビット以外を「１」に設定して、セットマスクビットに「１」が設定されていない第３ビットに対して「１」が再度セットされる。その結果、ベリファイに成功するとセットシーケンスが終了する。
【００７６】
次に、リフレッシュマスクビットに基づいて同じ値がリセットマスクビットに設定され、リセットマスクビットに「１」が設定されていないビットが「０」にリセットされる。リセットを行った後に、ベリファイのためにベリファイリードが行われて、リセットマスクビットと比較される。その結果、ベリファイに成功するとリセットシーケンスが終了する。
【００７７】
このように、本技術の第１の実施の形態によれば、ドリフト参照セル３１９を用いて前回のリフレッシュ以降に蓄積したドリフト量を取得することにより、通算ドリフト量３１８を更新して、ユーザデータ領域のリフレッシュを制御することができる。
【００７８】
＜２．第２の実施の形態＞
上述の第１の実施の形態では、電源オンの操作が発生したタイミングでリフレッシュの要否を判断していた。これに対し、この第２の実施の形態では、電源オン後の通常動作状態において時間経過によるドリフトの発生を監視して、必要に応じてリフレッシュを行う。なお、情報処理システムとしての全体構成およびメモリ３００の構成は、上述の第１の実施の形態と同様であるため、詳細な説明は省略する。
【００７９】
［メモリコントローラの構成］
図１７は、本技術の第２の実施の形態におけるメモリコントローラ２００の一構成例を示す図である。
【００８０】
この第２の実施の形態におけるメモリコントローラ２００は、上述の第１の実施の形態におけるメモリコントローラ２００に加えて、タイマー２４０を備える。このタイマー２４０は、通常動作状態における経過時間を計時して、そのカウント値が規定値を超えるとリフレッシュを行う。
【００８１】
［動作］
図１８は、本技術の第２の実施の形態におけるメモリコントローラ２００の処理手順の一例を示す流れ図である。
【００８２】
メモリコントローラ２００は、電源オンの操作が発生すると、電源オン処理（ステップＳ９１０）を実行する。この電源オン処理の内容は、上述の第１の実施の形態と同様である。
【００８３】
そして、メモリコントローラ２００は、電源オンになった後の通常動作状態において、タイマー２４０を用いた通常動作処理（ステップＳ９８０）を実行する。
【００８４】
また、メモリコントローラ２００は、電源オフの操作が発生すると、電源オフ処理（ステップＳ９９０）を実行する。
【００８５】
図１９は、本技術の第２の実施の形態における通常動作処理（ステップＳ９８０）の処理手順の一例を示す流れ図である。
【００８６】
電源オンになった後、タイマー２４０は計時を開始する（ステップＳ９８１）。タイマー２４０のカウント値が規定値を超えた場合には（ステップＳ９８３：Ｙｅｓ）、メモリコントローラ２００はユーザデータ領域のリフレッシュリクエストをメモリ３００に発行する（ステップＳ９８４）。これにより、メモリ３００のユーザデータ領域の全ビットがスナップされ、ユーザデータ領域におけるドリフトが解消される。なお、このリフレッシュリクエスト処理の内容は上述の電源オン処理におけるリフレッシュリクエスト処理と同様である。
【００８７】
そして、メモリコントローラ２００は、メモリインターフェース２９０を介して通算ドリフト量３１８を「０」にする書込みリクエストをメモリ３００に発行する（ステップＳ９８５）。その後、タイマー２４０のカウント値を「０」にクリアして（ステップＳ９８６）、再びタイマー２４０の計時を開始する（ステップＳ９８１）。
【００８８】
タイマー２４０のカウント値が規定値を超える前に（ステップＳ９８３：Ｎｏ）、電源オフの要求があると（ステップＳ９８２：Ｙｅｓ）、通常動作処理を終了する。
【００８９】
図２０は、本技術の実施の形態における電源オフ処理（ステップＳ９９０）の処理手順の一例を示す流れ図である。
【００９０】
電源オフが発生すると、ドリフト量変換部２７０は、タイマー２４０のカウント値をドリフト量に変換して蓄積ドリフト量にする（ステップＳ９９１）。そして、リフレッシュ制御部２５０は、変換されたドリフト量を通算ドリフト量３１８に加算して更新する（ステップＳ９９２）。その後、電源がオフ状態に移行する（ステップＳ９９３）。
【００９１】
このように、本技術の第２の実施の形態によれば、タイマー２４０により電源オンからの経過時間を計時してドリフト量に変換することにより、電源オン後の通常動作状態において必要に応じてリフレッシュを行うことができる。
【００９２】
＜３．第３の実施の形態＞
上述の実施の形態では、メモリコントローラ２００においてリフレッシュ制御を行う例について示したが、この第３の実施の形態では、メモリ３００においてリフレッシュ制御を行う。なお、情報処理システムとしての全体構成は、上述の第１の実施の形態と同様であるため、詳細な説明は省略する。
【００９３】
［メモリの構成］
図２１は、本技術の第３の実施の形態におけるメモリ３００の一構成例を示す図である。
【００９４】
第３の実施の形態におけるメモリ３００は、メモリセルアレイ３１０、アクセス制御部３４０およびコントローラインターフェース３９０に加えて、リフレッシュ制御部３５０と、ドリフト量レジスタ３６０と、ドリフト量変換部３７０とを備える。リフレッシュ制御部３５０、ドリフト量レジスタ３６０およびドリフト量変換部３７０は、上述の第１の実施の形態におけるメモリコントローラ２００のリフレッシュ制御部２５０、ドリフト量レジスタ２６０およびドリフト量変換部２７０と同様の機能を備える。これにより、この第３の実施の形態においては、メモリ３００においてリフレッシュ制御を行うことができる。
【００９５】
なお、上述の実施の形態は本技術を具現化するための一例を示したものであり、実施の形態における事項と、特許請求の範囲における発明特定事項とはそれぞれ対応関係を有する。同様に、特許請求の範囲における発明特定事項と、これと同一名称を付した本技術の実施の形態における事項とはそれぞれ対応関係を有する。ただし、本技術は実施の形態に限定されるものではなく、その要旨を逸脱しない範囲において実施の形態に種々の変形を施すことにより具現化することができる。
【００９６】
また、上述の実施の形態において説明した処理手順は、これら一連の手順を有する方法として捉えてもよく、また、これら一連の手順をコンピュータに実行させるためのプログラム乃至そのプログラムを記憶する記録媒体として捉えてもよい。この記録媒体として、例えば、ＣＤ（Compact Disc）、ＭＤ（MiniDisc）、ＤＶＤ（Digital Versatile Disc）、メモリカード、ブルーレイディスク（Blu-ray（登録商標）Disc）等を用いることができる。
【００９７】
なお、本明細書に記載された効果はあくまで例示であって、限定されるものではなく、また、他の効果があってもよい。
【００９８】
なお、本技術は以下のような構成もとることができる。
（１）メモリセルアレイのドリフト参照セルの蓄積ドリフト量を取得する蓄積ドリフト量取得部と、
前記メモリセルアレイのデータ領域に記憶される通算ドリフト量を読み出す通算ドリフト量読出し部と、
前記通算ドリフト量に前記蓄積ドリフト量を加算して新たな通算ドリフト量として更新して当該新たな通算ドリフト量が所定の閾値を超えている場合には前記データ領域をリフレッシュさせるリフレッシュ制御部と
を具備する記憶制御装置。
（２）前記蓄積ドリフト量取得部は、前記ドリフト参照セルの読出し閾値を変化させながらドリフト量を探索する
前記（１）に記載の記憶制御装置。
（３）前記メモリセルアレイは、抵抗変化型メモリであり、
前記蓄積ドリフト量取得部は、前記ドリフト参照セルの読出し電圧の閾値を変化させて読み出した抵抗分布が所定の状態になった際の前記閾値の電圧を取得して、前記閾値の電圧を前記蓄積ドリフト量に変換する
前記（１）または（２）に記載の記憶制御装置。
（４）前記ドリフト参照セルの抵抗状態は低抵抗状態であり、
前記蓄積ドリフト量取得部は、前記読み出した抵抗分布の略半数が低抵抗状態を示す際の前記閾値の電圧を取得する
前記（３）に記載の記憶制御装置。
（５）前記リフレッシュが行われた際には前記メモリセルアレイのデータ領域に記憶される通算ドリフト量としてゼロ値を書き込み、前記リフレッシュが行われなかった場合には前記メモリセルアレイのデータ領域に記憶される通算ドリフト量として前記新たな通算ドリフト量を書き込む通算ドリフト量書込み部
をさらに具備する前記（１）から（４）のいずれかに記載の記憶制御装置。
（６）前記リフレッシュ制御部は、電源オン操作が発生した際に前記リフレッシュの要否を判断する
前記（１）から（５）のいずれかに記載の記憶制御装置。
（７）前記電源オン操作から計時を開始するタイマーをさらに具備し、
前記リフレッシュ制御部は、前記タイマーが所定の値になると前記メモリセルアレイのデータ領域をリフレッシュさせる
前記（６）に記載の記憶制御装置。
（８）前記蓄積ドリフト量取得部は、電源オフ操作が発生した際に前記タイマーの値を前記蓄積ドリフト量に変換して、
前記リフレッシュ制御部は、前記通算ドリフト量に前記蓄積ドリフト量を加算して新たな通算ドリフト量として更新する
前記（７）に記載の記憶制御装置。
（９）データ領域およびドリフト参照セルを備えるメモリセルアレイと、
前記ドリフト参照セルの蓄積ドリフト量を取得する蓄積ドリフト量取得部と、
前記データ領域に記憶される通算ドリフト量を読み出す通算ドリフト量読出し部と、
前記通算ドリフト量に前記蓄積ドリフト量を加算して新たな通算ドリフト量として更新して当該新たな通算ドリフト量が所定の閾値を超えている場合には前記データ領域をリフレッシュさせるリフレッシュ制御部と
を具備する記憶装置。
（１０）前記メモリセルアレイは、抵抗変化型メモリである
前記（９）に記載の記憶装置。
（１１）前記メモリセルアレイは、不揮発メモリである
前記（９）または（１０）に記載の記憶装置。
（１２）メモリセルアレイのドリフト参照セルの蓄積ドリフト量を取得する手順と、
前記メモリセルアレイのデータ領域に記憶される通算ドリフト量を読み出す手順と、
前記通算ドリフト量に前記蓄積ドリフト量を加算して新たな通算ドリフト量として更新して当該新たな通算ドリフト量が所定の閾値を超えている場合には前記データ領域をリフレッシュさせる手順と
を具備する記憶制御方法。
【符号の説明】
【００９９】
１００  ホストコンピュータ
２００  メモリコントローラ
２４０  タイマー
２５０  リフレッシュ制御部
２６０  ドリフト量レジスタ
２７０  ドリフト量変換部
２８０  ホストインターフェース
２９０  メモリインターフェース
３００  メモリ
３１０  メモリセルアレイ
３１１  メモリセル
３１２  可変抵抗体
３１３  セレクタ
３１８  通算ドリフト量
３１９  ドリフト参照セル
３２９  ワード線
３３９  ビット線
３４０  アクセス制御部
３４２  ワード線制御部
３４３  ビット線制御部
３５０  リフレッシュ制御部
３６０  ドリフト量レジスタ
３７０  ドリフト量変換部
３９０  コントローラインターフェース
４００  メモリシステム
【図１】
2020031435.tif 000003
【図２】
2020031435.tif 000004
【図３】
2020031435.tif 000005
【図４】
2020031435.tif 000006
【図５】
2020031435.tif 000007
【図６】
2020031435.tif 000008
【図７】
2020031435.tif 000009
【図８】
2020031435.tif 000010
【図９】
2020031435.tif 000011
【図１０】
2020031435.tif 000012
【図１１】
2020031435.tif 000013
【図１２】
2020031435.tif 000014
【図１３】
2020031435.tif 000015
【図１４】
2020031435.tif 000016
【図１５】
2020031435.tif 000017
【図１６】
2020031435.tif 000018
【図１７】
2020031435.tif 000019
【図１８】
2020031435.tif 000020
【図１９】
2020031435.tif 000021
【図２０】
2020031435.tif 000022
【図２１】
2020031435.tif 000023
【国際調査報告】
2020031435.tif 000024
2020031435.tif 000025
2020031435.tif 000026