(57)【要約】【課題】不揮発性メモリにおいて書込みの強度を柔軟に変更する。【解決手段】不揮発性メモリまたはその記憶制御装置は、リード処理部およびライト処理部を備える。リード処理部は、データとそのデータが反転した状態か非反転の状態かを示す反転状態情報とを対応付けて第１の強度で記憶するメモリセルアレイの特定の領域からデータおよび反転状態情報を読み出す。ライト処理部は、データを反転させたものと反転状態情報の示す状態を逆の状態にしたものとを特定の領域に第１の強度とは異なる第２の強度で書き込む。【選択図】図１
2014013635.tif 000002
【特許請求の範囲】
【請求項１】
データとそのデータが反転した状態か非反転の状態かを示す反転状態情報とを対応付けて第１の強度で記憶するメモリセルアレイの特定の領域から前記データおよび前記反転状態情報を読み出すリード処理部と、
前記データを反転させたものと前記反転状態情報の示す状態を逆の状態にしたものとを前記特定の領域に前記第１の強度とは異なる第２の強度で書き込むライト処理部と
を具備する記憶制御装置。
【請求項２】
前記メモリセルアレイは可変抵抗素子であって、
前記第１の強度は、所定の閾値により高抵抗状態または低抵抗状態の何れか一方の状態を示す通常の強度であり、
前記第２の強度は、高抵抗状態については前記第１の強度による高抵抗状態よりも高い抵抗状態を示し、低抵抗状態については前記第１の強度による低抵抗状態よりも低い抵抗状態を示す強度である
請求項１記載の記憶制御装置。
【請求項３】
前記メモリセルアレイは可変抵抗素子であって、
前記第２の強度は、所定の閾値により高抵抗状態または低抵抗状態の何れか一方の状態を示す通常の強度であり、
前記第１の強度は、高抵抗状態については前記第２の強度による高抵抗状態よりも高い抵抗状態を示し、低抵抗状態については前記第２の強度による低抵抗状態よりも低い抵抗状態を示す強度である
請求項１記載の記憶制御装置。
【請求項４】
前記メモリセルアレイは、前記データが前記第１の強度または前記第２の強度の何れの強度により記憶されているかを示す強度情報を前記データと対応付けて記憶し、
前記リード処理部は、前記データとともに前記強度情報を読み出し、
前記ライト処理部は、前記強度情報が前記第１の強度により記憶されている旨を示している場合には前記データを反転させたものと前記反転状態情報の示す状態を逆の状態にしたものとを前記特定の領域に前記第２の強度で書込みを行い、前記強度情報が前記第２の強度により記憶されている旨を示している場合には前記書込みを行わない
請求項１記載の記憶制御装置。
【請求項５】
前記ライト処理部は、前記反転状態情報が前記非反転の状態を示している場合には前記データを反転させたものと前記反転状態情報として前記反転した状態を示すものとを前記特定の領域に前記第２の強度で書込みを行い、前記反転状態情報が前記反転した状態を示している場合には前記書込みを行わない
請求項１記載の記憶制御装置。
【請求項６】
データとそのデータが反転した状態か非反転の状態かを示す反転状態情報とを対応付けて記憶するメモリセルアレイと、
前記データおよび前記反転状態情報を第１の強度で記憶する前記メモリセルアレイの特定の領域から前記データおよび前記反転状態情報を読み出すリード処理部と、
前記データを反転させたものと前記反転状態情報の示す状態を逆の状態にしたものとを前記特定の領域に前記第１の強度とは異なる第２の強度で書き込むライト処理部と
を具備する記憶装置。
【請求項７】
データとそのデータが反転した状態か非反転の状態かを示す反転状態情報とを対応付けて記憶するメモリセルアレイと、
前記メモリセルアレイに対して記憶強度を変更するコマンドを発行するホストコンピュータと、
前記データおよび前記反転状態情報を第１の強度で記憶する前記メモリセルアレイの特定の領域から前記データおよび前記反転状態情報を前記コマンドに応答して読み出すリード処理部と、
前記データを反転させたものと前記反転状態情報の示す状態を逆の状態にしたものとを前記特定の領域に前記第１の強度とは異なる第２の強度で書き込むライト処理部と
を具備する情報処理システム。
【請求項８】
データとそのデータが反転した状態か非反転の状態かを示す反転状態情報とを対応付けて第１の強度で記憶するメモリセルアレイの特定の領域から前記データおよび前記反転状態情報を読み出すリード処理手順と、
前記データを反転させたものと前記反転状態情報の示す状態を逆の状態にしたものとを前記特定の領域に前記第１の強度とは異なる第２の強度で書き込むライト処理手順と
を具備する記憶制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、記憶制御装置に関する。詳しくは、不揮発性メモリのための記憶制御装置、記憶装置、情報処理システム、および、これらにおける処理方法ならびに当該方法をコンピュータに実行させるプログラムに関する。
【背景技術】
【０００２】
情報処理システムにおいては、ワークメモリとしてＤＲＡＭ（Dynamic Random Access Memory）等が用いられる。このＤＲＡＭは、通常、揮発性メモリであり、電源の供給が停止するとその記憶内容は消失する。一方、近年、不揮発性メモリ（ＮＶＭ：Non-Volatile Memory）が用いられるようになっている。この不揮発性メモリとしては、大きなサイズを単位としたデータアクセスに対応したフラッシュメモリと、小さな単位での高速なランダムアクセスが可能な不揮発性ランダムアクセスメモリ（ＮＶＲＡＭ：Non-Volatile RAM）とに大別される。ここで、フラッシュメモリの代表例としては、ＮＡＮＤ型フラッシュメモリが挙げられる。一方、不揮発性ランダムアクセスメモリの例としては、ＲｅＲＡＭ（Resistance RAM）、ＰＣＲＡＭ（Phase-Change RAM）、ＭＲＡＭ（Magnetoresistive RAM）などが挙げられる。
【０００３】
ＲｅＲＡＭは、可変抵抗素子を用いた不揮発性メモリであり、データの書込みに先立ってブロック単位で消去を行う必要がなく、必要ページのみを直接書き換えることが可能である。この点で、浮遊ゲートの電化蓄積量による閾値をデータとして記憶するＮＡＮＤフラッシュメモリ等とは異なっている。可変抵抗素子は、高抵抗状態（ＨＲＳ：High Resistive State）と低抵抗状態（ＬＲＳ：Low Resistive State）の２状態で１ビットの情報を記録することができる。
【０００４】
一方、このような不揮発性メモリにおいては、データ保持力を長くするために、より大きいパルス電圧を使用して書込みを行う技術が提案されている（例えば、特許文献１参照。）。このような大きいパルス電圧を使用した書込みによれば、その書込みによるデータ保持力は長くなるが、その反面、メモリセルに与えるストレスも大きくなり、耐久性は低下することになる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特表２００９−５０７３２７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上述の従来技術では、パルス電圧の強度を調整することにより、２つの可能な記憶特性を使い分けている。しかしながら、この従来技術は、プログラムまたは消去を新たに行う際に用いられる手法であり、一旦書込みが行われた後にその特性を変更することは想定されていない。
【０００７】
本技術はこのような状況に鑑みて生み出されたものであり、不揮発性メモリにおいて書込みの強度を柔軟に変更することを目的とする。
【課題を解決するための手段】
【０００８】
本技術は、上述の問題点を解消するためになされたものであり、その第１の側面は、データとそのデータが反転した状態か非反転の状態かを示す反転状態情報とを対応付けて第１の強度で記憶するメモリセルアレイの特定の領域から上記データおよび上記反転状態情報を読み出すリード処理部と、上記データを反転させたものと上記反転状態情報の示す状態を逆の状態にしたものとを上記特定の領域に上記第１の強度とは異なる第２の強度で書き込むライト処理部とを具備する記憶制御装置またはその記憶制御方法である。これにより、不揮発性メモリに対してデータの論理状態を維持したまま書込みの強度を変更させるという作用をもたらす。
【０００９】
また、この第１の側面において、上記メモリセルアレイは可変抵抗素子であって、上記第１の強度は、所定の閾値により高抵抗状態または低抵抗状態の何れか一方の状態を示す通常の強度であり、上記第２の強度は、高抵抗状態については上記第１の強度による高抵抗状態よりも高い抵抗状態を示し、低抵抗状態については上記第１の強度による低抵抗状態よりも低い抵抗状態を示す強度であってもよい。これにより、可変抵抗素子におけるデータの保持特性を向上させるという作用をもたらす。
【００１０】
また、この第１の側面において、上記メモリセルアレイは可変抵抗素子であって、上記第２の強度は、所定の閾値により高抵抗状態または低抵抗状態の何れか一方の状態を示す通常の強度であり、上記第１の強度は、高抵抗状態については上記第２の強度による高抵抗状態よりも高い抵抗状態を示し、低抵抗状態については上記第２の強度による低抵抗状態よりも低い抵抗状態を示す強度であってもよい。これにより、可変抵抗素子の耐久性を向上させるという作用をもたらす。
【００１１】
また、この第１の側面において、上記メモリセルアレイは、上記データが上記第１の強度または上記第２の強度の何れの強度により記憶されているかを示す強度情報を上記データと対応付けて記憶し、上記リード処理部は、上記データとともに上記強度情報を読み出し、上記ライト処理部は、上記強度情報が上記第１の強度により記憶されている旨を示している場合には上記データを反転させたものと上記反転状態情報の示す状態を逆の状態にしたものとを上記特定の領域に上記第２の強度で書込みを行い、上記強度情報が上記第２の強度により記憶されている旨を示している場合には上記書込みを行わないようにしてもよい。これにより、強度情報に応じて書込み強度の変更を制御するという作用をもたらす。
【００１２】
また、この第１の側面において、上記ライト処理部は、上記反転状態情報が上記非反転の状態を示している場合には上記データを反転させたものと上記反転状態情報として上記反転した状態を示すものとを上記特定の領域に上記第２の強度で書込みを行い、上記反転状態情報が上記反転した状態を示している場合には上記書込みを行わないようにしてもよい。これにより、反転状態情報に応じて書込み強度の変更を制御するという作用をもたらす。
【００１３】
また、本技術の第２の側面は、データとそのデータが反転した状態か非反転の状態かを示す反転状態情報とを対応付けて記憶するメモリセルアレイと、上記データおよび上記反転状態情報を第１の強度で記憶する上記メモリセルアレイの特定の領域から上記データおよび上記反転状態情報を読み出すリード処理部と、上記データを反転させたものと上記反転状態情報の示す状態を逆の状態にしたものとを上記特定の領域に上記第１の強度とは異なる第２の強度で書き込むライト処理部とを具備する記憶装置である。これにより、不揮発性メモリにおいてデータの論理状態を維持したまま書込みの強度を変更するという作用をもたらす。
【００１４】
また、本技術の第３の側面は、データとそのデータが反転した状態か非反転の状態かを示す反転状態情報とを対応付けて記憶するメモリセルアレイと、上記メモリセルアレイに対して記憶強度を変更するコマンドを発行するホストコンピュータと、上記データおよび上記反転状態情報を第１の強度で記憶する上記メモリセルアレイの特定の領域から上記データおよび上記反転状態情報を上記コマンドに応答して読み出すリード処理部と、上記データを反転させたものと上記反転状態情報の示す状態を逆の状態にしたものとを上記特定の領域に上記第１の強度とは異なる第２の強度で書き込むライト処理部とを具備する情報処理システムである。これにより、記憶強度を変更するコマンドに応じて不揮発性メモリにおけるデータの論理状態を維持したまま書込みの強度を変更するという作用をもたらす。
【発明の効果】
【００１５】
本技術によれば、不揮発性メモリにおいて書込みの強度を柔軟に変更することができるという優れた効果を奏し得る。
【図面の簡単な説明】
【００１６】
【図１】本技術の実施の形態における情報処理システムの全体構成例を示す図である。
【図２】本技術の実施の形態における不揮発性メモリ３００の構成例を示す図である。
【図３】本技術の第１の実施の形態におけるメモリセルアレイ３１０の各ページのフィールド構成例を示す図である。
【図４】可変抵抗素子のセット動作を説明するための図である。
【図５】可変抵抗素子のリセット動作を説明するための図である。
【図６】可変抵抗素子の強セット動作を説明するための図である。
【図７】可変抵抗素子の強リセット動作を説明するための図である。
【図８】本技術の実施の形態における不揮発性メモリ３００のライト処理手順の一例を示す流れ図である。
【図９】本技術の第１の実施の形態における不揮発性メモリ３００の強書込み状態への変更処理手順の一例を示す流れ図である。
【図１０】本技術の第１の実施の形態における不揮発性メモリ３００の通常書込み状態への変更処理手順の一例を示す流れ図である。
【図１１】本技術の実施の形態における不揮発性メモリ３００のリード処理手順の一例を示す流れ図である。
【図１２】本技術の第２の実施の形態におけるメモリセルアレイ３１０の各ページのフィールド構成例を示す図である。
【図１３】本技術の第２の実施の形態における不揮発性メモリ３００の強書込み状態への変更処理手順の一例を示す流れ図である。
【図１４】本技術の第２の実施の形態における不揮発性メモリ３００の通常書込み状態への変更処理手順の一例を示す流れ図である。
【発明を実施するための形態】
【００１７】
以下、本技術を実施するための形態（以下、実施の形態と称する）について説明する。説明は以下の順序により行う。
１．第１の実施の形態（反転フラグおよび強書込みフラグを用いた例）
２．第２の実施の形態（反転フラグが強書込みフラグを兼ねた例）
３．変形例（サイズ指定を行う例）
【００１８】
＜１．第１の実施の形態＞
［情報処理システムの構成］
図１は、本技術の実施の形態における情報処理システムの全体構成例を示す図である。この情報処理システムは、プロセッサ１１０と、ＤＲＡＭ１２０と、不揮発性メモリ（ＮＶＭ）３００と、メモリコントローラ２００とを備えている。不揮発性メモリ３００およびメモリコントローラ２００は、メモリモジュール４００を構成する。メモリモジュール４００は、特許請求の範囲に記載の記憶装置の一例である。また、プロセッサ１１０は、特許請求の範囲に記載のホストコンピュータの一例である。
【００１９】
プロセッサ１１０は、各種プログラムを実行することにより情報処理を遂行する処理装置である。このプロセッサ１１０は、ＤＲＡＭ１２０における記憶領域をワーク領域として、データのロードまたはストアを繰り返すことによりプログラムを実行する。また、このプロセッサ１１０は、メモリコントローラ２００を介してＮＶＭ３００に記憶されている各データに対してアクセスを行う。
【００２０】
ＤＲＡＭ１２０は、プロセッサ１１０の主記憶装置として機能する揮発性のメモリである。このＤＲＡＭ１２０は、プロセッサ１１０におけるプログラムの実行に必要なデータを記憶する。
【００２１】
不揮発性メモリ３００は、プロセッサ１１０の補助記憶装置として機能する不揮発性のメモリである。この不揮発性メモリ３００は、メモリコントローラ２００の制御によりアクセスされる。この不揮発性メモリ３００は、フラッシュメモリにより構成されてもよく、不揮発性ランダムアクセスメモリ（ＮＶＲＡＭ）により構成されてもよい。この不揮発性メモリ３００は、ＳｎＤ（Store and Download）モデルおよびＸＩＰ（eXecute In Plane）モデルの何れにも適用することができる。ＳｎＤモデルでは、不揮発性メモリ３００上のデータはＤＲＡＭ１２０を介してプロセッサ１１０からアクセスされる。したがって、不揮発性メモリ３００上のデータは一旦ＤＲＡＭ１２０に転送されることによりメモリ空間としてアクセス可能となる。一方、ＸＩＰモデルでは、不揮発性メモリ３００に記憶されているデータはそのままプロセッサ１１０のメモリ空間としてアクセス可能である。このＸＩＰモデルの場合、ＤＲＡＭ１２０の役割を不揮発性メモリ３００に持たせ、ＤＲＡＭ１２０自体を省いて構成してもよい。
【００２２】
メモリコントローラ２００は、不揮発性メモリ３００を制御するものであり、プロセッサ１１０と不揮発性メモリ３００とを接続する。このメモリコントローラ２００は不揮発性メモリ３００との間でデータ転送するためのデータバッファを備える。このデータバッファはメモリコントローラ２００の外付けメモリデバイスとして実現してもよく、また、内蔵メモリとして実現してもよい。
【００２３】
［不揮発性メモリの構成］
図２は、本技術の実施の形態における不揮発性メモリ３００の構成例を示す図である。この不揮発性メモリ３００は、メモリセルアレイ３１０と、制御部３２０と、アドレスレジスタ３３０と、コマンドレジスタ３４０と、アドレスデコーダ３５０と、バッファ３６０と、反転制御部３７０と、外部インターフェース（Ｉ／Ｆ）３９０とを備えている。
【００２４】
メモリセルアレイ３１０は、ビット毎に所定の状態を保持するメモリセルアレイを格子状に並べたものである。メモリセルアレイ３１０のメモリセルアレイは可変抵抗素子により構成される抵抗変化型メモリである。可変抵抗素子は、高抵抗状態（ＨＲＳ：High Resistive State）と低抵抗状態（ＬＲＳ：Low Resistive State）の２状態で１ビットの情報を記録することができる。各抵抗状態で「０」または「１」の何れの状態に対応させるかは任意であるが、以下ではＨＲＳの論理状態を「１」、ＬＲＳの論理状態を「０」として説明する。
【００２５】
メモリセルアレイ３１０は複数のページから構成される。各ページ内には、図３に示すように、データ３１１、反転フラグ３１２および強書込みフラグ３１３が記憶される。データ３１１は、１ワード分のデータとして例えば３２ビットのデータを想定する。
【００２６】
反転フラグ３１２は、対応するデータ３１１がメモリセルアレイ３１０内で反転された状態で記憶されているか否かを示す。この反転フラグ３１２についても、「０」または「１」の何れの状態に対応させるかは任意である。例えば、データ３１１が反転されていない状態で記憶されていれば反転フラグ３１２は「０」にクリアされ、データ３１１が反転された状態で記憶されていれば反転フラグ３１２は「１」にアサートされるものとすることができる。この反転フラグ３１２は、特許請求の範囲に記載の反転状態情報の一例である。なお、この反転フラグ３１２は、論理的には１つのデータ３１１に対応して１ビットの反転フラグ３１２があれば足りるが、信頼度を向上させるために複数ビットを備えるようにしてもよい。
【００２７】
強書込みフラグ３１３は、対応するデータ３１１がメモリセルアレイ３１０において強書込み状態で記憶されているか否かを示す。強書込み状態とは、後述するように、高抵抗状態（ＨＲＳ）であれば通常より高い抵抗状態（強ＨＲＳ）であり、低抵抗状態（ＬＲＳ）であれば通常より低い抵抗状態（強ＬＲＳ）である。この強書込みフラグ３１３についても、「０」または「１」の何れの状態に対応させるかは任意である。例えば、データ３１１が強書込み状態で記憶されていなければ強書込みフラグ３１３は「０」にクリアされ、データ３１１が強書込み状態で記憶されていれば強書込みフラグ３１３は「１」にアサートされるものとすることができる。この強書込みフラグ３１３は、特許請求の範囲に記載の強度情報の一例である。なお、この強書込みフラグ３１３は、論理的には１つのデータ３１１に対応して１ビットの強書込みフラグ３１３があれば足りるが、信頼度を向上させるために複数ビットを備えるようにしてもよい。
【００２８】
制御部３２０は、不揮発性メモリ３００内の各ブロックを制御するコントローラである。この制御部３２０は、コマンドレジスタ３４０からコマンドを受け取り、メモリセルアレイ３１０に制御信号を出力する。また、この制御部３２０は、反転制御部３７０に対して、バッファ３６０の反転を行うか否かを制御する制御信号を出力する。なお、この制御部３２０は、特許請求の範囲に記載のリード処理部またはライト処理部の一例である。
【００２９】
アドレスレジスタ３３０は、外部Ｉ／Ｆ３９０から指示されたライトアドレスまたはリードアドレスを受け取り、それを一時的に保持するレジスタである。このアドレスレジスタ３３０に保持されたアドレスは、アドレスデコーダ３５０に供給される。
【００３０】
コマンドレジスタ３４０は、外部Ｉ／Ｆ３９０から指示されたコマンドを受け取り、それを一時的に保持するレジスタである。このコマンドレジスタ３４０に保持されたコマンドは制御部３２０に供給される。このコマンドレジスタ３４０に保持されるコマンドとしては、例えば、ライトデータをメモリセルアレイ３１０にライトするためのライトコマンドや、メモリセルアレイ３１０からリードデータをリードするためのリードコマンドなどが想定される。また、本実施の形態では、通常書込み状態から強書込み状態への変更コマンドや、強書込み状態から通常書込み状態への変更コマンドも導入される。
【００３１】
アドレスデコーダ３５０は、アドレスレジスタ３３０から供給されたアドレスをデコードして、そのアドレスに該当するメモリセルアレイ３１０のページ領域をアクセス対象とするものである。
【００３２】
バッファ３６０は、メモリセルアレイ３１０にアクセスするページ領域のためのバッファである。例えば、ライトアクセスの際にはメモリセルアレイ３１０への書込み対象となるライトデータが保持される。また、リードアクセスの際にはメモリセルアレイ３１０からの読出されたリードデータが保持される。このバッファ３６０には、図３に示すようにデータ３１１に対応する反転フラグ３１２や強書込みフラグ３１３も保持される。
【００３３】
反転制御部３７０は、制御部３２０からの指示に従って、バッファ３６０に対して、保持しているデータを反転させるように指示する。なお、この反転制御部３７０は、特許請求の範囲に記載のライト処理部の一例である。
【００３４】
外部インターフェース３９０は、メモリコントローラ２００との間のやりとりを行うためのインターフェースである。
【００３５】
［可変抵抗素子の状態遷移］
図４は、可変抵抗素子のセット動作を説明するための図である。上述のように、可変抵抗素子は高抵抗状態（ＨＲＳ）および低抵抗状態（ＬＲＳ）の２状態の何れかの状態となる。横軸を抵抗値、縦軸を相対的な累積ビット数とすると、抵抗値の低い部分と高い部分に分布が分かれる。抵抗値の低い部分がＬＲＳ状態、抵抗値の高い部分がＨＲＳ状態である。この図のように、メモリセルに電流を流すことによってＨＲＳ状態からＬＲＳ状態に状態を遷移させる動作をセット動作という。この場合、セット動作を行った後に、そのセット動作が正常に完了したか否かを検証するためには、両分布の中央よりも低抵抗側に設けられたセット検証閾値Ｒ＿ｖｅｒｉｆｙ（セット）が用いられる。この検証に失敗した場合には、再度セット動作が試みられる。
【００３６】
図５は、可変抵抗素子のリセット動作を説明するための図である。この図のように、メモリセルにセット動作時とは逆方向の電流を流すことによってＬＲＳ状態からＨＲＳ状態に状態を遷移させる動作をリセット動作という。この場合、リセット動作を行った後に、そのリセット動作が正常に完了したか否かを検証するためには、両分布の中央よりも高抵抗側に設けられたリセット検証閾値Ｒ＿ｖｅｒｉｆｙ（リセット）が用いられる。この検証に失敗した場合には、再度リセット動作が試みられる。
【００３７】
図６は、可変抵抗素子の強セット動作を説明するための図である。上述のように、可変抵抗素子はＨＲＳ状態およびＬＲＳ状態の２状態のそれぞれについて、通常よりも強く書き込まれた状態が発生し得る。この図では、ＬＲＳ状態よりもさらに低い抵抗状態にセットされた場合の強ＬＲＳ状態が示されている。この強ＬＲＳ状態は、通常のセット動作と比べて、セットする際に印加される電圧パルスの大きさや幅を広くすることによって実現される。この場合、強セット動作を行った後に、その強セット動作が正常に完了したか否かを検証するためには、セット検証閾値よりも低抵抗側に設けられた強セット検証閾値Ｒ＿ｖｅｒｉｆｙ（強セット）が用いられる。この検証に失敗した場合には、再度強セット動作が試みられる。
【００３８】
図７は、可変抵抗素子の強リセット動作を説明するための図である。この図では、ＨＲＳ状態よりもさらに高い抵抗状態にリセットされた場合の強ＨＲＳ状態が示されている。この強ＨＲＳ状態は、通常のリセット動作と比べて、リセットする際に印加される電圧パルスの大きさや幅を広くすることによって実現される。この場合、強リセット動作を行った後に、その強リセット動作が正常に完了したか否かを検証するためには、リセット検証閾値よりも高抵抗側に設けられた強リセット検証閾値Ｒ＿ｖｅｒｉｆｙ（強リセット）が用いられる。この検証に失敗した場合には、再度強リセット動作が試みられる。
【００３９】
このような強セット動作または強リセット動作による強ＬＲＳ状態または強ＨＲＳ状態を強書込み状態と総称する。強書込み状態となったメモリセルは、通常のセット動作またはリセット動作によるＨＲＳ状態またはＬＲＳ状態と比較して、抵抗値が容易に反転しないため、データの保持特性を延ばすことができる。その反面、強書込み状態にするとメモリセルに与えるストレスも大きくなり、耐久性は低下することになるため、通常の書込み状態に戻したい場合もある。
【００４０】
強書込み状態にするためには、ＨＲＳ状態から強ＬＲＳ状態、または、ＬＲＳ状態から強ＨＲＳ状態とする必要がある。一方、強書込み状態から通常の書込み状態に戻すためには、強ＨＲＳ状態からＬＲＳ状態、または、強ＬＲＳ状態からＨＲＳ状態とする必要がある。すなわち、強書込み状態と通常書込み状態との間で状態変更するためには、ＨＲＳ状態およびＬＲＳ状態の２状態のうち現在状態とは異なる状態へ遷移する動作が必要となる。そのため、「０」または「１」の論理状態を変更せずに、強書込み状態と通常書込み状態との間で状態変更しようとすると、従来手法ではセットおよびリセットの２回の動作を要してしまう。そこで、この実施の形態では、強書込み状態と通常書込み状態との間で状態変更を行う際に、反転フラグ３１２の内容を反転させることにより、論理状態の解釈を反転させて、セットまたはリセットの動作を１回のみに抑えることができる。
【００４１】
［不揮発性メモリの動作］
図８は、本技術の実施の形態における不揮発性メモリ３００のライト処理手順の一例を示す流れ図である。
【００４２】
プロセッサ１１０からライトコマンドが発行されると、コマンドレジスタ３４０にライトコマンドが保持され、アドレスレジスタ３３０にライトアドレスが保持され、バッファ３６０にライトデータが保持される（ステップＳ９１１）。
【００４３】
そして、反転制御部３７０は、バッファ３６０の反転フラグを、反転されていない状態を示す「０」にクリアする（ステップＳ９１２）。また、反転制御部３７０は、バッファ３６０の強書込みフラグを、強書込み状態で記憶されていない状態を示す「０」にクリアする（ステップＳ９１３）。
【００４４】
その後、このようにしてバッファ３６０に準備されたライトデータ、反転フラグおよび強書込みフラグが、メモリセルアレイ３１０に通常の書込み状態でライトされる（ステップＳ９１４）。この場合、ライトされたメモリセルは、ＨＲＳ状態またはＬＲＳ状態の何れかの状態となる。
【００４５】
図９は、本技術の第１の実施の形態における不揮発性メモリ３００の強書込み状態への変更処理手順の一例を示す流れ図である。
【００４６】
プロセッサ１１０から強書込み状態への変更コマンドが発行されると、コマンドレジスタ３４０に強書込み状態変更コマンドが保持され、アドレスレジスタ３３０に変更対象アドレスが保持される（ステップＳ９２１）。
【００４７】
そして、メモリセルアレイ３１０の変更対象アドレスに該当する領域から読出しが行われ、バッファ３６０に保持される（ステップＳ９２２）。すなわち、バッファ３６０には、リードデータ、反転フラグおよび強書込みフラグが保持される。このとき、バッファ３６０に保持された強書込みフラグが強書込み状態で記憶されている状態を示す「１」にアサートされていれば（ステップＳ９２３：Ｎｏ）、強書込み状態への変更処理を終了する。一方、バッファ３６０に保持された強書込みフラグが強書込み状態で記憶されていない状態を示す「０」にクリアされていれば（ステップＳ９２３：Ｙｅｓ）、以下の処理を継続する。
【００４８】
反転制御部３７０は、バッファ３６０に保持されている反転フラグの内容を反転する（ステップＳ９２４）。また、反転制御部３７０は、バッファ３６０に保持されているリードデータを反転する（ステップＳ９２５）。さらに、反転制御部３７０は、バッファ３６０に保持されている強書込みフラグを、強書込み状態で記憶されている状態を示す「１」にアサートする（ステップＳ９２６）。
【００４９】
その後、このようにしてバッファ３６０に準備されたリードデータ、反転フラグおよび強書込みフラグが、メモリセルアレイ３１０に強書込み状態でライトされる（ステップＳ９２７）。この場合、ライトされたメモリセルは、強ＨＲＳ状態または強ＬＲＳ状態の何れかの状態、すなわち強書込み状態となる。
【００５０】
図１０は、本技術の第１の実施の形態における不揮発性メモリ３００の通常書込み状態への変更処理手順の一例を示す流れ図である。
【００５１】
プロセッサ１１０から通常書込み状態への変更コマンドが発行されると、コマンドレジスタ３４０に通常書込み状態変更コマンドが保持され、アドレスレジスタ３３０に変更対象アドレスが保持される（ステップＳ９３１）。
【００５２】
そして、メモリセルアレイ３１０の変更対象アドレスに該当する領域から読出しが行われ、バッファ３６０に保持される（ステップＳ９３２）。すなわち、バッファ３６０には、リードデータ、反転フラグおよび強書込みフラグが保持される。このとき、バッファ３６０に保持された強書込みフラグが強書込み状態で記憶されていない状態を示す「０」にクリアされていれば（ステップＳ９３３：Ｎｏ）、通常書込み状態への変更処理を終了する。一方、バッファ３６０に保持された強書込みフラグが強書込み状態で記憶されている状態を示す「１」にアサートされていれば（ステップＳ９３３：Ｙｅｓ）、以下の処理を継続する。
【００５３】
反転制御部３７０は、バッファ３６０に保持されている反転フラグの内容を反転する（ステップＳ９３４）。また、反転制御部３７０は、バッファ３６０に保持されているリードデータを反転する（ステップＳ９３５）。さらに、反転制御部３７０は、バッファ３６０に保持されている強書込みフラグを、強書込み状態で記憶されていない状態を示す「０」にクリアする（ステップＳ９３６）。
【００５４】
その後、このようにしてバッファ３６０に準備されたリードデータ、反転フラグおよび強書込みフラグが、メモリセルアレイ３１０に通常書込み状態でライトされる（ステップＳ９３７）。この場合、ライトされたメモリセルは、ＨＲＳ状態またはＬＲＳ状態の何れかの状態、すなわち通常の書込み状態となる。
【００５５】
図１１は、本技術の実施の形態における不揮発性メモリ３００のリード処理手順の一例を示す流れ図である。
【００５６】
プロセッサ１１０からリードコマンドが発行されると、コマンドレジスタ３４０にリードコマンドが保持され、アドレスレジスタ３３０にリードアドレスが保持される（ステップＳ９４１）。
【００５７】
そして、メモリセルアレイ３１０のリードアドレスに該当する領域から読出しが行われ、バッファ３６０に保持される（ステップＳ９４２）。すなわち、バッファ３６０には、リードデータおよび反転フラグが保持される。なお、リード処理においては、強書込みフラグは必ずしも必要ではないが、同時にバッファ３６０に読み出すようにしてもよい。
【００５８】
このとき、バッファ３６０に保持された反転フラグが反転されている状態を示す「１」にアサートされていれば（ステップＳ９４３：Ｙｅｓ）、反転制御部３７０は、バッファ３６０に保持されているリードデータを反転する（ステップＳ９４４）。一方、バッファ３６０に保持された反転フラグが反転されていない状態を示す「０」にクリアされていれば（ステップＳ９４３：Ｎｏ）、リードデータの反転は行われない。
【００５９】
その後、このようにしてバッファ３６０に準備されたリードデータは、外部Ｉ／Ｆ３９０を介してメモリコントローラ２００へ出力される（ステップＳ９４５）。
【００６０】
このように、この第１の実施の形態によれば、強書込み状態と通常書込み状態との間で状態変更を行う際に、反転フラグ３１２の内容を反転させることにより、論理状態の解釈を反転させて、セットまたはリセットの動作を１回のみに抑えることができる。すなわち、強書込み状態と通常書込み状態との間で状態変更を行う際に、メモリセルへの書込み回数を半分にすることができる。また、この強書込み状態と通常書込み状態との間の状態変更を行う際に、メモリコントローラ２００からのデータの受信を伴わないため、高速に状態変更を実現することができる。
【００６１】
＜２．第２の実施の形態＞
上述の第１の実施の形態では反転フラグおよび強書込みフラグの両者を用いて反転制御および強度制御を行っていたが、この第２の実施の形態では反転フラグに強書込みフラグの機能を持たせることにより制御を簡略化する。なお、情報処理システムの全体構成および不揮発性メモリ３００の構成は、図１および図２により説明したものと同様である。
【００６２】
［不揮発性メモリの構成］
図１２は、本技術の第２の実施の形態におけるメモリセルアレイ３１０の各ページのフィールド構成例を示す図である。この第２の実施の形態では、各ページ内には、データ３１１および反転フラグ３１２が記憶される。すなわち、第１の実施の形態における強書込みフラグ３１３を省いた構成となっている。
【００６３】
この第２の実施の形態では、反転フラグ３１２は、対応するデータ３１１がメモリセルアレイ３１０内で反転された状態で記憶されているか否かを示すとともに、強書込み状態で記憶されているか否かを示す。この場合においても、「０」または「１」の何れの状態に対応させるかは任意である。例えば、データ３１１が反転されていない状態で記憶されており、かつ、強書込み状態で記憶されていなければ反転フラグ３１２は「０」にクリアされるものとすることができる。また、データ３１１が反転された状態で記憶されており、かつ、強書込み状態で記憶されていれば反転フラグ３１２は「１」にアサートされるものとすることができる。この反転フラグ３１２を他の用途に用いずに、常に強度情報と同期がとれた状態にしておくことにより、反転フラグ３１２のみによる制御が可能となる。
【００６４】
［不揮発性メモリの動作］
本技術の第２の実施の形態における不揮発性メモリ３００の処理手順は、ライト処理およびリード処理については、図８および図１１により説明した第１の実施の形態と同様である。
【００６５】
図１３は、本技術の第２の実施の形態における不揮発性メモリ３００の強書込み状態への変更処理手順の一例を示す流れ図である。
【００６６】
プロセッサ１１０から強書込み状態への変更コマンドが発行されると、コマンドレジスタ３４０に強書込み状態変更コマンドが保持され、アドレスレジスタ３３０に変更対象アドレスが保持される（ステップＳ９５１）。
【００６７】
そして、メモリセルアレイ３１０の変更対象アドレスに該当する領域から読出しが行われ、バッファ３６０に保持される（ステップＳ９５２）。すなわち、バッファ３６０には、リードデータおよび反転フラグが保持される。このとき、バッファ３６０に保持された反転フラグが強書込み状態で記憶されている状態を示す「１」にアサートされていれば（ステップＳ９５３：Ｎｏ）、強書込み状態への変更処理を終了する。一方、バッファ３６０に保持された反転フラグが強書込み状態で記憶されていない状態を示す「０」にクリアされていれば（ステップＳ９５３：Ｙｅｓ）、以下の処理を継続する。
【００６８】
反転制御部３７０は、バッファ３６０に保持されている反転フラグの内容を「１」に反転する（ステップＳ９５４）。これにより、データ３１１が反転された状態で記憶されており、かつ、強書込み状態で記憶されていることを示すようになる。また、反転制御部３７０は、バッファ３６０に保持されているリードデータを反転する（ステップＳ９５５）。
【００６９】
その後、このようにしてバッファ３６０に準備されたリードデータおよび反転フラグが、メモリセルアレイ３１０に強書込み状態でライトされる（ステップＳ９５７）。この場合、ライトされたメモリセルは、強ＨＲＳ状態または強ＬＲＳ状態の何れかの状態、すなわち強書込み状態となる。
【００７０】
図１４は、本技術の第２の実施の形態における不揮発性メモリ３００の通常書込み状態への変更処理手順の一例を示す流れ図である。
【００７１】
プロセッサ１１０から通常書込み状態への変更コマンドが発行されると、コマンドレジスタ３４０に通常書込み状態変更コマンドが保持され、アドレスレジスタ３３０に変更対象アドレスが保持される（ステップＳ９６１）。
【００７２】
そして、メモリセルアレイ３１０の変更対象アドレスに該当する領域から読出しが行われ、バッファ３６０に保持される（ステップＳ９６２）。すなわち、バッファ３６０には、リードデータおよび反転フラグが保持される。このとき、バッファ３６０に保持された反転フラグが強書込み状態で記憶されていない状態を示す「０」にクリアされていれば（ステップＳ９６３：Ｎｏ）、通常書込み状態への変更処理を終了する。一方、バッファ３６０に保持された反転フラグが強書込み状態で記憶されている状態を示す「１」にアサートされていれば（ステップＳ９６３：Ｙｅｓ）、以下の処理を継続する。
【００７３】
反転制御部３７０は、バッファ３６０に保持されている反転フラグの内容を「０」に反転する（ステップＳ９６４）。これにより、データ３１１が反転されていない状態で記憶されており、かつ、通常書込み状態で記憶されていることを示すようになる。また、反転制御部３７０は、バッファ３６０に保持されているリードデータを反転する（ステップＳ９６５）。
【００７４】
その後、このようにしてバッファ３６０に準備されたリードデータおよび反転フラグが、メモリセルアレイ３１０に通常書込み状態でライトされる（ステップＳ９６７）。この場合、ライトされたメモリセルは、ＨＲＳ状態またはＬＲＳ状態の何れかの状態、すなわち通常の書込み状態となる。
【００７５】
このように、本技術の第２の実施の形態によれば、反転フラグに強書込みフラグの機能を持たせることにより、反転制御および書込み強度の制御を簡略化することができる。
【００７６】
＜３．変形例＞
［複数ページに対する処理］
上述の第１および第２の実施の形態では、指定されたアドレスに該当するページのみを書込み状態変更処理の対象とすることを想定していたが、複数ページをまとめて処理対象とするようにしてもよい。この場合、強書込み状態変更コマンドまたは通常書込み状態変更コマンドとともに変更対象サイズ（ページ数）を指定するようにして、指定されたアドレスからページ数分についてメモリセルアレイ３１０への書込みを行い、書込み状態を変更することが考えられる。これにより、連続する領域毎に書込み状態をまとめて変更することができる。
【００７７】
［リフレッシュ動作］
上述の第１および第２の実施の形態では、強書込み状態と通常書込み状態との間の遷移を想定していたが、通常書込み状態よりも弱い書込み状態（以下、弱書込み状態と称する。）と通常書込み状態との間の遷移も考えられる。ここでは、通常書込み状態によって書き込まれてから長時間が経過し、保持力が低下して弱書込み状態になってしまった場合を想定する。この場合、弱書込み状態となっているデータを読み出して、そのデータを反転するとともに反転フラグを反転して、通常書込み状態で書込みを行う。これにより、データの内容を維持したまま、当初の書込みの直後の保持力に戻すことができる。すなわち、この変形例によれば、リフレッシュ動作を効果的に実現することができる。
【００７８】
なお、上述の実施の形態は本技術を具現化するための一例を示したものであり、実施の形態における事項と、特許請求の範囲における発明特定事項とはそれぞれ対応関係を有する。同様に、特許請求の範囲における発明特定事項と、これと同一名称を付した本技術の実施の形態における事項とはそれぞれ対応関係を有する。ただし、本技術は実施の形態に限定されるものではなく、その要旨を逸脱しない範囲において実施の形態に種々の変形を施すことにより具現化することができる。
【００７９】
また、上述の実施の形態において説明した処理手順は、これら一連の手順を有する方法として捉えてもよく、また、これら一連の手順をコンピュータに実行させるためのプログラム乃至そのプログラムを記憶する記録媒体として捉えてもよい。この記録媒体として、例えば、ＣＤ（Compact Disc）、ＭＤ（MiniDisc）、ＤＶＤ（Digital Versatile Disk）、メモリカード、ブルーレイディスク（Blu-ray Disc（登録商標））等を用いることができる。
【００８０】
なお、本技術は以下のような構成もとることができる。
（１）データとそのデータが反転した状態か非反転の状態かを示す反転状態情報とを対応付けて第１の強度で記憶するメモリセルアレイの特定の領域から前記データおよび前記反転状態情報を読み出すリード処理部と、
前記データを反転させたものと前記反転状態情報の示す状態を逆の状態にしたものとを前記特定の領域に前記第１の強度とは異なる第２の強度で書き込むライト処理部と
を具備する記憶制御装置。
（２）前記メモリセルアレイは可変抵抗素子であって、
前記第１の強度は、所定の閾値により高抵抗状態または低抵抗状態の何れか一方の状態を示す通常の強度であり、
前記第２の強度は、高抵抗状態については前記第１の強度による高抵抗状態よりも高い抵抗状態を示し、低抵抗状態については前記第１の強度による低抵抗状態よりも低い抵抗状態を示す強度である
前記（１）に記載の記憶制御装置。
（３）前記メモリセルアレイは可変抵抗素子であって、
前記第２の強度は、所定の閾値により高抵抗状態または低抵抗状態の何れか一方の状態を示す通常の強度であり、
前記第１の強度は、高抵抗状態については前記第２の強度による高抵抗状態よりも高い抵抗状態を示し、低抵抗状態については前記第２の強度による低抵抗状態よりも低い抵抗状態を示す強度である
前記（１）に記載の記憶制御装置。
（４）前記メモリセルアレイは、前記データが前記第１の強度または前記第２の強度の何れの強度により記憶されているかを示す強度情報を前記データと対応付けて記憶し、
前記リード処理部は、前記データとともに前記強度情報を読み出し、
前記ライト処理部は、前記強度情報が前記第１の強度により記憶されている旨を示している場合には前記データを反転させたものと前記反転状態情報の示す状態を逆の状態にしたものとを前記特定の領域に前記第２の強度で書込みを行い、前記強度情報が前記第２の強度により記憶されている旨を示している場合には前記書込みを行わない
前記（１）から（３）のいずれかに記載の記憶制御装置。
（５）前記ライト処理部は、前記反転状態情報が前記非反転の状態を示している場合には前記データを反転させたものと前記反転状態情報として前記反転した状態を示すものとを前記特定の領域に前記第２の強度で書込みを行い、前記反転状態情報が前記反転した状態を示している場合には前記書込みを行わない
前記（１）から（３）のいずれかに記載の記憶制御装置。
（６）データとそのデータが反転した状態か非反転の状態かを示す反転状態情報とを対応付けて記憶するメモリセルアレイと、
前記データおよび前記反転状態情報を第１の強度で記憶する前記メモリセルアレイの特定の領域から前記データおよび前記反転状態情報を読み出すリード処理部と、
前記データを反転させたものと前記反転状態情報の示す状態を逆の状態にしたものとを前記特定の領域に前記第１の強度とは異なる第２の強度で書き込むライト処理部と
を具備する記憶装置。
（７）データとそのデータが反転した状態か非反転の状態かを示す反転状態情報とを対応付けて記憶するメモリセルアレイと、
前記メモリセルアレイに対して記憶強度を変更するコマンドを発行するホストコンピュータと、
前記データおよび前記反転状態情報を第１の強度で記憶する前記メモリセルアレイの特定の領域から前記データおよび前記反転状態情報を前記コマンドに応答して読み出すリード処理部と、
前記データを反転させたものと前記反転状態情報の示す状態を逆の状態にしたものとを前記特定の領域に前記第１の強度とは異なる第２の強度で書き込むライト処理部と
を具備する情報処理システム。
（８）データとそのデータが反転した状態か非反転の状態かを示す反転状態情報とを対応付けて第１の強度で記憶するメモリセルアレイの特定の領域から前記データおよび前記反転状態情報を読み出すリード処理手順と、
前記データを反転させたものと前記反転状態情報の示す状態を逆の状態にしたものとを前記特定の領域に前記第１の強度とは異なる第２の強度で書き込むライト処理手順と
を具備する記憶制御方法。
【符号の説明】
【００８１】
１１０  プロセッサ
１２０  ＤＲＡＭ
２００  メモリコントローラ
３００  不揮発性メモリ（ＮＶＭ）
３１０  メモリセルアレイ
３１１  データ
３１２  反転フラグ
３１３  強書込みフラグ
３２０  制御部
３３０  アドレスレジスタ
３４０  コマンドレジスタ
３５０  アドレスデコーダ
３６０  バッファ
３７０  反転制御部
３９０  外部インターフェース（Ｉ／Ｆ）
４００  メモリモジュール
【図１】
2014013635.tif 000003
【図２】
2014013635.tif 000004
【図３】
2014013635.tif 000005
【図４】
2014013635.tif 000006
【図５】
2014013635.tif 000007
【図６】
2014013635.tif 000008
【図７】
2014013635.tif 000009
【図８】
2014013635.tif 000010
【図９】
2014013635.tif 000011
【図１０】
2014013635.tif 000012
【図１１】
2014013635.tif 000013
【図１２】
2014013635.tif 000014
【図１３】
2014013635.tif 000015
【図１４】
2014013635.tif 000016