(57)【特許請求の範囲】
【請求項１】
複数の管理ユニットの各ステータスを追跡することと、
第１の書き込み動作を行って、第１のステータスを有する選択された管理ユニットに対応する可変抵抗メモリセルのグループにデータパターンを記憶することであって、前記選択された管理ユニットは、メモリデバイスの前記複数の管理ユニットのうちの１つである、ことと、
前記第１の書き込み動作を行うことに応答して、前記選択された管理ユニットのステータスを前記第１のステータスから第２のステータスに更新することと、
前記選択された管理ユニットの前記ステータスを前記第２のステータスに更新した後で、且つ、第２の書き込み動作を行う前に、
前記選択された管理ユニットの前記ステータスを前記第２のステータスから第３のステータスに更新し、且つ、
前記選択された管理ユニットの前記ステータスを前記第３のステータスから前記第１のステータスに更新することと、
前記第２の書き込み動作を行って可変抵抗メモリセルの前記グループに他のデータパターンを記憶する前に、前記グループの前記可変抵抗メモリセルの全てを、第１のデータ値に対応する第１の抵抗状態にするために、前記第１の書き込み動作中に、第２のデータ値に対応する第２の抵抗状態にプログラムされたメモリセルのみにプログラミング信号を印加することによって、前記第２の書き込み動作のためのデータ状態同期を提供することであって、前記第１の抵抗状態と前記第２の抵抗状態とにプログラムされたメモリセルのそれぞれの抵抗レベルは、より高い抵抗レベルへ向けてドリフトする傾向を有する、ことと、
前記第２の書き込み動作を行うことに応答して、前記選択された管理ユニットの前記ステータスを前記第１のステータスから前記第２のステータスに更新することと、
を含む、方法。
【請求項２】
前記グループの前記セルの全てを前記第１の抵抗状態にすることは、前記第１の抵抗状態にまだなっていない前記グループのセルのみにリセット信号を印加することを含む、請求項１に記載の方法。
【請求項３】
前記データパターンは、ホストデータパターンに対応し、前記第１の書き込み動作を行うことは、
前記ホストデータパターンが、特定のデータ値を有する閾値数のデータユニットを含むか否かを判断することと、
前記ホストデータパターンが前記特定のデータ値を有する少なくとも前記閾値数のデータユニットを含むと判断することに応答して、可変抵抗メモリセルの前記グループに前記データパターンを記憶する前に、パターン反転を行うことと、
を含む、請求項１〜２のいずれか１項に記載の方法。
【請求項４】
前記第１のステータスは、書き込みデータを受信するために利用可能な書き込まれていない管理ユニットを示すフリーステータスであり、
前記第２のステータスは、有効な論理物理マッピングに対応して書き込まれた管理ユニットを示す有効ステータスであり、
前記第３のステータスは、無効な論理物理マッピングに対応して書き込まれた管理ユニットを示す無効ステータスである、
請求項１〜２のいずれか１項に記載の方法。
【請求項５】
前記グループのプログラムされた状態に関連付けられたドリフト時間を追跡すること無しに、前記他のデータパターンを記憶する可変抵抗メモリセルの前記グループを次に読み取ることを含む、請求項１〜２のいずれか１項に記載の方法。
【請求項６】
可変抵抗メモリセルの各グループに対応する複数の管理ユニットを含むメモリと、
前記メモリに結合されたコントローラと、
を含む装置であって、
前記コントローラは、
前記複数の管理ユニットの各ステータスを追跡することと、
関連付けられたデータパターンを前記メモリに書き込ませる書き込みコマンドを受信することと、
第１のステータスを有する管理ユニットを選択することと、
第１の書き込み動作を行って、前記データパターンを前記選択された管理ユニットに記憶することと、
前記第１の書き込み動作を行うことに応答して、前記選択された管理ユニットの前記ステータスを前記第１のステータスから第２のステータスに更新することと、
第２の書き込み動作を行って他のデータパターンを前記管理ユニットに記憶する前に、前記グループの前記可変抵抗メモリセルの全てを、第１のデータ値に対応する第１の抵抗状態にするために、前記第１の書き込み動作中に、第２のデータ値に対応する第２の抵抗状態にプログラムされたメモリセルのみにプログラミング信号を印加することによって、前記管理ユニットに対して行われる前記第２の書き込み動作のためのデータ状態同期を提供することであって、前記第１の抵抗状態と前記第２の抵抗状態とにプログラムされたメモリセルのそれぞれの抵抗レベルは、より高い抵抗レベルへ向けてドリフトする傾向を有し、前記第１の抵抗状態は、前記第２の抵抗状態よりも高い抵抗レベルに相当する、ことと、
を行うように構成される、装置。
【請求項７】
前記コントローラは、前記第２の抵抗状態にプログラムされるべき前記管理ユニットのセルのみの前記状態を、前記第２の書き込み動作中に変更することによって、前記第２の書き込み動作のために前記データ状態同期を提供するように構成される、請求項６に記載の装置。
【請求項８】
前記コントローラは、前記メモリの外部にあり、前記書き込みコマンドは、ホストから受信され、
前記コントローラは、
前記データパターンが特定のデータ値を有する閾値数のデータユニットを含むか否かを判断することと、
前記データパターンが前記特定のデータ値を有する少なくとも前記閾値数のデータユニットを含むと判断することに応答して、
前記データパターンを前記管理ユニットに記憶する前に、パターン反転を行い、且つ、
前記管理ユニットが反転されたデータパターンを記憶することを示すフラグを設定することと、
をさらに行うように構成される、請求項６〜７のいずれか１項に記載の装置。
【請求項９】
前記コントローラは、バックグラウンドクリーニング動作を行うように構成され、
前記バックグラウンドクリーニング動作は、
無効ステータスを有する管理ユニットを判断することと、
無効ステータスを有すると判断された管理ユニットに関して、前記対応する可変抵抗メモリセルの全てを同じ状態にすることと、
前記無効ステータスを有すると判断された管理ユニットの前記ステータスを前記無効ステータスから前記第１のステータスに更新することと、
を含む、請求項６〜７のいずれか１項に記載の装置。
【請求項１０】
前記コントローラは、
論理物理アドレステーブルを維持することと、
次の書き込みコマンドのために指定され且つ前記第１のステータスを有する前記管理ユニットのうちの特定の１つに対応する物理アドレスへのポインタを維持することと、
書き込みコマンドを実行した後、前記第１のステータスを有する前記管理ユニットのうちの次の特定の管理ユニットに対応する物理アドレスに前記ポインタを更新することであって、次の書き込みコマンドのために選択された管理ユニットが、前記書き込みコマンドに関連付けられた論理アドレスとは関係なく選択される、ことと、
を行うように構成される、請求項６〜７のいずれか１項に記載の装置。
【請求項１１】
第１のデータ値に対応する第１の抵抗状態と、第２のデータ値に対応する第２の抵抗状態とにプログラム可能な可変抵抗メモリセルのアレイを含むメモリであって、前記第１の抵抗状態は、前記第２の抵抗状態よりも高い抵抗レベルに相当する、ことと、
コントローラと、
を含む装置であって、
前記コントローラは、前記可変抵抗メモリセルの選択されたグループの選択されたセルに特定のデータパターンを書き込むコマンドに応答して、  
前記選択されたグループに対して読み取り動作を行って、前記選択されたセルの現在の状態と、前記選択されたグループに対応するデータ極性とを判断することと、
前記選択されたセルのうち、前記第２の状態に現在プログラムされているセルを判定することと、
前記選択されたセルのうち、先に行われる書き込み動作中に前記第２のデータ値に対応する前記第２の抵抗状態にプログラムされたと判定されたセルのみにクリーニング信号を印加することにより、前記選択されたセルに対してクリーニング動作を行って、前記選択されたセルの全てを、前記第１のデータ値に対応する前記第１の抵抗状態にすることであって、前記第１の抵抗状態と前記第２の抵抗状態とにプログラムされたメモリセルのそれぞれの抵抗レベルは、より高い抵抗レベルへ向けてドリフトする傾向を有する、ことと、
前記特定のデータパターンの特徴に基づいて、前記特定のデータパターンと前記特定のデータパターンの反転とのうちの一方を、前記選択されたセルに書き込むことと、
を行うように構成される、装置。
【請求項１２】
前記選択されたグループは、前記選択されたグループに対応する前記データ極性の指示を記憶するセルを含み、
前記コントローラは、前記特定のデータパターンの前記特徴に基づいて、前記データ極性の前記指示を更新するように構成された、請求項１１に記載の装置。
【請求項１３】
前記特定のデータパターンの前記特徴は、前記第２の抵抗状態に対応する値を有する前記特定のデータパターンのデータユニットの数に対応し、
前記コントローラは、前記第２の抵抗状態にプログラムされているセルのみにプログラミング信号を印加することによって、前記特定のデータパターンと前記特定のデータパターンの前記反転とのうちの一方を、前記選択されたセルに書き込むように構成される、請求項１２に記載の装置。
【請求項１４】
前記コントローラは、前記メモリの内部にあり、
前記書き込みコマンドは、前記メモリの外部のコントローラからメモリインタフェースを介して受信される、請求項１１〜１３のいずれか１項に記載の装置。
【請求項１５】
第１のデータ値に対応する第１の抵抗状態と、第２のデータ値に対応する第２の抵抗状態とにプログラム可能な可変抵抗メモリセルの選択されたグループの選択されたセルに特定のデータパターンを書き込むコマンドを受信することであって、前記第１の抵抗状態は、前記第２の抵抗状態よりも高い抵抗レベルに相当する、ことと、
前記コマンドを受信することに応答して、前記選択されたセルのプログラムされた状態に関連付けられたドリフト時間を追跡せずに、データ状態同期を提供することと、
前記選択されたグループに対して読み取り動作を行って、前記選択されたセルの現在の状態と、前記選択されたグループに対応するデータ極性とを判断することと、
前記選択されたセルのうちの、前記第２の抵抗状態に現在プログラムされているセルを判定することと、
前記選択されたグループのセルのうち、先に行われる書き込み動作中に前記第１のデータ値に対応する前記第１の抵抗状態にプログラムされたセルにクリーニング信号を印加することなく、前記選択されたセルのうち、前記第２のデータ値に対応する前記第２の抵抗状態に現在プログラムされていると判定されたセルのみにクリーニング信号を印加することにより、クリーニング動作を前記選択されたセルに対して行って、前記選択されたセルの全てを、前記第１のデータ値に対応する前記第１の抵抗状態にすることであって、前記第１の抵抗状態と前記第２の抵抗状態とにプログラムされたメモリセルのそれぞれの抵抗レベルは、より高い抵抗レベルへ向けてドリフトする傾向を有する、ことと、
前記特定のデータパターンの特徴に基づいて、前記特定のデータパターンと前記特定のデータパターンの反転とのうちの一方を、前記選択されたセルに書き込むことと、
を含む、方法。
【請求項１６】
第１の書き込み動作を行って、第１のステータスを有する選択された管理ユニットに対応する可変抵抗メモリセルのグループに、データパターンを記憶することであって、前記データパターンはホストデータパターンに対応し、前記第１の書き込み動作を行うことは、
前記ホストデータパターンが特定のデータ値を有する閾値数のデータユニットを含むか否かを判断すること、及び
前記ホストデータパターンが前記特定のデータ値を有する少なくとも前記閾値数のデータユニットを含むと判断することに応答して、可変抵抗メモリセルの前記グループに前記データパターンを記憶する前に、パターン反転を行うこと、
を含む、ことと、
前記第１の書き込み動作を行うことに応答して、前記選択された管理ユニットのステータスを前記第１のステータスから第２のステータスに更新することと、
第２の書き込み動作を行って別のデータパターンを可変抵抗メモリセルの前記グループに記憶する前に、前記グループの前記可変抵抗メモリセルの全てを、第１のデータ値に対応する第１の抵抗状態にするために、前記第１のデータ値に対応する前記第１の抵抗状態に現在プログラムされているメモリセルにプログラミング信号を印加することなく、前記第１の書き込み動作中に、第２のデータ値に対応する第２の抵抗状態にプログラムされたメモリセルのみにプログラミング信号を印加することによって、前記グループに対して行われる前記第２の書き込み動作のためのデータ状態同期を提供することであって、前記第１の抵抗状態は、前記第２の抵抗状態よりも高い抵抗レベルに相当し、前記第１の抵抗状態と前記第２の抵抗状態とにプログラムされたメモリセルのそれぞれの抵抗レベルは、より高い抵抗レベルへ向けてドリフトする傾向を有する、ことと、
を含む、方法。
【請求項１７】
第１の書き込み動作を行って、第１のステータスを有する選択された管理ユニットに対応する可変抵抗メモリセルのグループにデータパターンを記憶することと、
前記第１の書き込み動作を行うことに応答して、前記選択された管理ユニットのステータスを前記第１のステータスから第２のステータスに更新することと、
第２の書き込み動作を行って別のデータパターンを可変抵抗メモリセルの前記グループに記憶する前に、前記グループの前記可変抵抗メモリセルの全てを、第１のデータ値に対応する第１の抵抗状態にするために、前記第１の書き込み動作中に、第２のデータ値に対応する第２の抵抗状態にプログラムされたメモリセルのみにプログラミング信号を印加することによって、前記グループに対して行われる前記第２の書き込み動作のためのデータ状態同期を提供することであって、前記第１の抵抗状態は、前記第２の抵抗状態よりも高い抵抗レベルに相当し、前記第１の抵抗状態と前記第２の抵抗状態とにプログラムされたメモリセルのそれぞれの抵抗レベルは、より高い抵抗レベルへ向けてドリフトする傾向を有する、ことと、
前記グループのプログラムされた状態に関連付けられたドリフト時間を追跡せずに、前記別のデータパターンを記憶する可変抵抗メモリセルの前記グループを次に読み取ることと、
を含む、方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、一般的に、半導体メモリ及び方法に関し、より具体的には、メモリに関連するデータ状態同期に関する。
【背景技術】
【０００２】
メモリデバイスは、典型的に、コンピュータまたは他の電子デバイスに、内部回路、半導体回路、集積回路、及び／または、外部のリムーバブルデバイスとして備えられる。揮発性メモリ及び不揮発性メモリを含む多くの異なる種類のメモリがある。揮発性メモリは、そのデータを維持するために電力を必要とし得る、また、他の揮発性メモリの中で特に、ランダムアクセスメモリ（ＲＡＭ）、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）、及び、同期型ダイナミックランダムアクセスメモリ（ＳＤＲＡＭ）等を含み得る。不揮発性メモリは、電源が入っていない時、記憶したデータを保持することによって永続的データを提供でき、他の揮発性メモリの中で特に、ＮＡＮＤフラッシュメモリ、ＮＯＲフラッシュメモリ、リードオンリメモリ（ＲＯＭ）、並びに、相変化ランダムアクセスメモリ（ＰＣＲＡＭ）、抵抗ランダムアクセスメモリ（ＲＲＡＭ）、及び、磁気ランダムアクセスメモリ（ＭＲＡＭ）等の可変抵抗メモリを含み得る。
【０００３】
メモリデバイスは、高いメモリ密度、高い信頼性、及び、低い消費電力のニーズから、広範な電子用途の揮発性メモリ及び不揮発性メモリとして利用できる。不揮発性メモリは、他の電子デバイスの中で特に、例えば、パーソナルコンピュータ、ポータブルメモリスティック、ソリッドステートドライブ（ＳＳＤ）、パーソナルデジタルアシスタント（ＰＤＡ）、デジタルカメラ、セルラー電話、ＭＰ３プレイヤ等のポータブルミュージックプレイヤ、及び、ムービープレイヤで使用されてよい。プログラムコード、ユーザデータ、及び／または、基本入出力システム（ＢＩＯＳ）等のシステムデータなどのデータは、典型的に、不揮発メモリデバイスに記憶される。
【０００４】
ＰＣＲＡＭ等の可変抵抗メモリは、記憶素子（例えば、可変抵抗を有する記憶素子）の抵抗に基づいて、データを記憶できる可変抵抗メモリセルを含む。従って、可変抵抗メモリセルは、可変抵抗記憶素子の抵抗レベルを変えることによって、標的状態に対応するデータを記憶するようにプログラムできる。可変抵抗メモリセルは、正または負の電気信号（例えば、正または負の電圧信号または電流信号）等の電場源またはエネルギー源をセルに印加することによって、特定の抵抗に対応する標的状態にプログラムできる。
【０００５】
幾つかの状態（例えば、抵抗状態）の１つが、可変抵抗メモリセルに対して設定できる。例えば、シングルレベルセル（ＳＬＣ）は、２つの状態のうちの１つ（例えば、論理値１または０）にプログラムされてよく、これは、セルが特定のレベルより上の抵抗にプログラムされるか、または、特定のレベルより下の抵抗にプログラムされるかに依存し得る。追加の例として、様々な可変抵抗メモリセルが、各数字パターン（例えば、１０、０１、００、１１、１１１、１０１、１００、１０１０、１１１１、０１０１、０００１等）に対応する多くの異なる状態のうちの１つになるようにプログラムできる。このようなセルは、多状態セル、マルチディジットセル、及び／または、マルチレベルセル（ＭＬＣ）と呼ばれてよい。
【０００６】
可変抵抗メモリセルの状態は、例えば、印加された呼びかけ電圧（ｉｎｔｅｒｒｏｇａｔｉｏｎ  ｖｏｌｔａｇｅ）に応答してセルを通る電流を検出することによって、判断されて（例えば、読み取られて）よい。セルの抵抗に基づいて変化する検出された電流は、セルの状態（例えば、セルに記憶されたバイナリデータ）を示し得る。しかしながら、プログラムされた可変抵抗メモリセルの抵抗は、経時的にドリフト（例えば、シフト）し得る。抵抗ドリフトは、他の問題の中でも特に、可変抵抗メモリセルの誤った検出（例えば、セルがプログラムされた以外の状態にあるという判断）を生じ得る。
【図面の簡単な説明】
【０００７】
【図１】本開示の幾つかの実施形態による、データ状態同期を提供できるメモリシステムを含むコンピューティングシステムの形態の装置のブロック図である。
【図２Ａ】図２Ａ及び図２Ｂは、抵抗ドリフトを経験する可変抵抗メモリセルのグループを示す図である。
【図２Ｂ】図２Ａ及び図２Ｂは、抵抗ドリフトを経験する可変抵抗メモリセルのグループを示す図である。
【図３】本開示の幾つかの実施形態による、次の書き込み動作のためにデータ状態同期を提供することに関連するフロー図である。
【図４】本開示の幾つかの実施形態による、データ状態同期を提供する方法を示す図である。
【図５】本開示の幾つかの実施形態による、データ状態同期を提供することに関連する管理ユニットのステータスを示す図である。
【図６】本開示の幾つかの実施形態による、データ状態同期を提供することに関連する管理ユニットのステータスを示す図である。
【発明を実施するための形態】
【０００８】
本開示は、データ状態同期のための装置及び方法を含む。装置の例は、書き込み動作を行って、第１のステータスを有する選択された管理ユニットに対応する可変抵抗メモリセルのグループにデータパターンを記憶することと、書き込み動作を行うことに応答して、選択された管理ユニットのステータスを第１のステータスから第２のステータスに更新することと、次の書き込み動作を行って可変抵抗メモリセルのグループに他のデータパターンを記憶する前に、グループの可変抵抗メモリセルの全てを同じ状態にすることによって、グループに行われる次の書き込み動作のためにデータ状態同期を提供することと、を含む。
【０００９】
本開示の実施形態は、可変抵抗メモリセルの誤った読み取りを低減する等の利益を提供し得る。可変抵抗メモリセルの抵抗レベルは、（例えば、標的状態にプログラムされた後）経時的にドリフトし得る。従って、実施形態は、従来の手法に比べて、データの信頼性及び／またはデータの完全性を向上させることができる。例えば、抵抗ドリフトを補正することに関連する様々な従来の手法は、抵抗ドリフトを（例えば、バックグラウンドでリアルタイムで）追跡することと、セルが特定の状態にあった時間量（例えば、ドリフト時間）に基づいて、セルを「リフレッシュすること」（例えば、セルをセルの標的状態に戻すように設定すること）、及び／または、検出閾値電圧レベルをドリフトに対応するように調整することとを含む。このような手法は、ドリフト時間に関する情報を絶えず維持することを必要とし得る、及び／または、定電力源を必要とし得る。定電力源は、例えば、モバイル用途等の様々な用途では入手できない場合がある。他の従来の手法は、全てのセルが同時に「セット」または「リセット」されるように、特定のグループの全てのセル（例えば、セルのページ）を絶えず書き込むことを伴い得る。このような手法は、例えば、プログラミングパルスを必要としない可能性のあるセルのプログラミングを要求することによって、エネルギー消費という点でコストが高くなり得る。対照的に、本開示の幾つかの実施形態は、従来の手法と比べて、エネルギー消費を減らしながら、セル抵抗ドリフトが原因の誤った読み取りを低減するように、データ状態同期を提供し得る。さらに、様々な実施形態は、ドリフト時間を追跡せずに、データ状態同期を提供することができ、これは、他の利益の中で特に、定電源（例えば、電池電力）を必要としない等の利益を提供し得る。
【００１０】
本開示の以下の詳細な記載において、記載の一部を成し、開示の１つまたは複数の実施形態がどのように実践され得るかを示す添付図面を参照する。これらの実施形態は、当業者が本開示の実施形態を実践できるように十分に詳細に記載されており、他の実施形態が利用されてよいことと、本開示の範囲を逸脱せずに、プロセス、電気的、及び、構造的な変更が行われてよいこととは理解されたい。
【００１１】
本明細書で使用される場合、「Ｎ」及び「Ｍ」等の指定子は、図面の参照番号に関しては特に、指定した数の特定の特徴が含まれ得ることを示す。本明細書で使用される用語は、特定の実施形態を記載するためのみに使用されており、制限を意図してはいないことも理解されたい。本明細書で使用される場合、文脈より別段の指示のない限り、単数形「ａ」「ａｎ」「ｔｈｅ」は、単数及び複数の指示対象の両方を含み得る。さらに、「幾つかの（ａ  ｎｕｍｂｅｒ  ｏｆ）」「少なくとも１つ（ａｔ  ｌｅａｓｔ  ｏｎｅ）」及び「１つまたは複数（ｏｎｅ  ｏｒ  ｍｏｒｅ）」（例えば、幾つかのメモリセル）は、１つまたは複数のメモリセルを指すことができ、一方、「複数の（ｐｌｕｒａｌｉｔｙ  ｏｆ」」は、このような物の２つ以上を指すことを意図する。さらに、「ｃａｎ」及び「ｍａｙ」という語は、本出願書を通して、義務的な意味（例えば、を要求される）ではなく、許可的な意味で（例えば、可能性を有する、することができる）使用されている。
【００１２】
本明細書の図面は、最初の数字（単数または複数）が、図面番号に対応し、残りの数字が、図面の要素または構成要素を特定するという番号付け規則に従う。異なる図面間の類似の要素または構成要素は、類似の数字を使用して特定されてよい。例えば、１１０は、図１の要素「１０」を指してよく、類似の要素は、図５では５１０とされてよい。
【００１３】
図１は、本開示の幾つかの実施形態による、データ状態同期を提供できるメモリシステム１０４を含むコンピューティングシステム１００の形態の装置のブロック図である。本明細書で使用する場合、メモリシステム１０４、コントローラ１０８、または、メモリデバイス１１０は、別個に、「装置」と考えられてもよい。メモリシステム１０４は、例えば、ソリッドステートドライブ（ＳＳＤ）であってよく、ホストインタフェース１０６、コントローラ１０８（例えば、シーケンサ及び／または他の制御回路）、及び、幾つかのメモリデバイス１１０を含んでよく、メモリデバイス１１０は、システム１０４のメモリとして働くことができ、メモリ１１０と呼ばれてよい。
【００１４】
コントローラ１０８は、ホストインタフェース１０６を介してホスト１０２に結合されてよく、メモリインタフェース１１１を介してメモリ１１０に結合されてよく、また、メモリシステム１０４とホスト１０２との間でデータを転送するのに使用されてよい。ホストインタフェース１０６は、標準インタフェースの形態であってよい。例えば、メモリシステム１０４が、コンピューティングシステム１００にデータを記憶するために使用される時、インタフェース１０６は、他のコネクタ及びインタフェースの中で特に、シリアルアドバンストテクノロジーアタッチメント（ＳＡＴＡ：ｓｅｒｉａｌ  ａｄｖａｎｃｅｄ  ｔｅｃｈｎｏｌｏｇｙ  ａｔｔａｃｈｍｅｎｔ）、ペリフェラルコンポーネントインターコネクトエクスプレス（ＰＣＩｅ：ｐｅｒｉｐｈｅｒａｌ  ｃｏｍｐｏｎｅｎｔ  ｉｎｔｅｒｃｏｎｎｅｃｔ  ｅｘｐｒｅｓｓ）、または、ユニバーサルシリアルバス（ＵＳＢ）であってよい。一般に、ホストインタフェース１０６を介して互いに結合されたメモリシステム１０４とホスト１０２とは、それぞれ、ホストインタフェース１０６を介して、制御、アドレス、データ、及び、他の信号を受け渡すための互換性のある受信器を有してよい。同様に、コントローラ１０８及びメモリ１１０は、それぞれ、メモリインタフェース１１１に対応する受信器を有してよい。インタフェース１１１は、様々な規格をサポートし得、及び／または、様々なインタフェースタイプ（例えば、ＤＤＲ、ＯＮＦＩ、ＮＶＭｅ等）に適合し得る。
【００１５】
ホスト１０２は、様々な他の種類のホストの中で特に、パーソナルラップトップコンピュータ、デスクトップコンピュータ、デジタルカメラ、携帯電話、または、メモリカードリーダ等のホストシステムであってよい。ホスト１０２は、システムマザーボード及び／またはバックプレーンを含んでよく、また、幾つかのメモリアクセスデバイス（例えば、幾つかのプロセッサ）を含んでよい。メモリシステム１０４がメモリデバイス（例えば、オンダイ・コントローラを有するメモリデバイス）である場合等、ホスト１０２は、メモリコントローラであってもよい。
【００１６】
コントローラ１０８は、（ある実施形態においては、１つのダイ上に幾つかのメモリアレイがあってよい）メモリ１１０と通信して、他の動作の中で特に、データの読み取り動作、書き込み動作、及び、消去動作を制御できる。例として、コントローラ１０８は、メモリ１１０に対応するダイ（単数または複数）と同じダイまたは異なるダイであってよい。
【００１７】
上記のように、コントローラ１０８は、コントローラ１０８をメモリ１１０に結合するメモリインタフェース１１１に結合されてよい。コントローラ１０８は、例えば、メモリ１１０へのアクセスを制御するための、及び／または、ホスト１０２とメモリ１１０との間のデータ転送を促進するためのハードウェア及び／またはファームウェア（例えば、１つまたは複数の集積回路）及び／またはソフトウェアの形態で、幾つかのコンポーネントを含み得る。
【００１８】
コントローラ１０８は、管理コンポーネント１０７を含み得る。管理コンポーネント１０７は、メモリ１１０に記憶されたデータを突き止め、（例えば、プログラム動作中）メモリ１１０に記憶されたデータに対応するアドレス（例えば、論理アドレス）にアクセスした頻度を特定するのに使用できる情報（例えば、データ）を提供及び管理できる。この情報は、テーブル１０９（例えば、論理アドレスを物理アドレスへ変換するための論理物理（Ｌ２Ｐ）アドレステーブル）に記憶できる。例えば、テーブル１０９は、論理アドレスから物理アドレスへのマッピング（論理物理マッピング）を含むことができ、プログラム動作中に物理アドレスにアクセスした頻度を示し得る。幾つかの実施形態において、コントローラ１０８は、コマンド（例えば、書き込みコマンド）に関連付けられた特定の論理アドレスとは無関係にメモリセルのグループ（例えば、ページ）を選択するように、また、論理物理アドレステーブル１０９を更新及び維持することによって、書き込みコマンドに関連付けられたデータをメモリ１１０内に配置するように構成される。
【００１９】
メモリ１１０は、幾つかのメモリアレイ（図示せず）と、メモリコントローラ１１２とを含み得る。メモリコントローラ１１２は、メモリ１１０の内部に位置してよく、コントローラ１０８からメモリインタフェース１１１を介してコマンド（例えば、書き込みコマンド、読み取りコマンド、リフレッシュコマンド等）を受信できる。以下にさらに記載するように、幾つかの実施形態において、メモリコントローラ１１２は、コントローラ１０８及び／またはホスト１０２とは独立して（例えば、外部のコントローラ１０８またはホスト１０２からの支援無しで）、メモリ１１０にデータ状態同期を提供することによって、セル抵抗ドリフトを管理するように構成されてよい。
【００２０】
メモリ１１０のメモリアレイ（複数可）は、例えば、不揮発可変抵抗メモリセルを含んでよく、メモリセルは、それぞれ、関連付けられた選択素子と記憶素子とを有する。可変抵抗メモリセルに対して、データプログラミング動作及び／またはデータ読み取り動作等の動作を行うために、各可変抵抗メモリセルの選択素子は、動作（例えば、オン／オフ）されて、メモリセルを選択できる。
【００２１】
本明細書で使用する場合、記憶素子は、可変抵抗メモリセルのプログラム可能な部分を指す。例えば、ＰＣＲＡＭセル及びＲＲＡＭセルにおいて、記憶素子は、例えば、印加されたプログラミング信号（例えば、電圧パルス及び／または電流パルス）に応答したデータ状態にプログラム可能な抵抗を有するメモリセルの部分を含み得る。記憶素子は、インジウム（Ｉｎ）−アンチモン（Ｓｂ）−テルル（Ｔｅ）（ＩＳＴ）材料等の相変化材料（例えば、相変化カルコゲニド合金）、例えば、Ｉｎ２Ｓｂ２Ｔｅ５、Ｉｎ１Ｓｂ２Ｔｅ４、Ｉｎ１Ｓｂ４Ｔｅ７等、または、ゲルマニウム−アンチモン−テルル（ＧＳＴ）材料、例えば、Ｇｅ２Ｓｂ２Ｔｅ５、Ｇｅ１Ｓｂ２Ｔｅ４、Ｇｅ１Ｓｂ４Ｔｅ７等のＧｅ−Ｓｂ−Ｔｅ材料などの可変抵抗材料を含み得る。ハイフンでつながれた化学成分表記は、本明細書で使用する場合、特定の混合物または化合物に含まれる要素を示し、示した要素を含む全ての化学量を表すことを意図している。他の相変化材料は、様々な他の相変化材料の中で特に、ＧｅＴｅ、Ｉｎ−Ｓｅ、Ｓｂ２Ｔｅ３、ＧａＳｂ、ＩｎＳｂ、Ａｓ−Ｔｅ、Ａｌ−Ｔｅ、Ｇｅ−Ｓｂ−Ｔｅ、Ｔｅ−Ｇｅ−Ａｓ、Ｉｎ−Ｓｂ−Ｔｅ、Ｔｅ−Ｓｎ−Ｓｅ、Ｇｅ−Ｓｅ−Ｇａ、Ｂｉ−Ｓｅ−Ｓｂ、Ｇａ−Ｓｅ−Ｔｅ、Ｓｎ−Ｓｂ−Ｔｅ、Ｉｎ−Ｓｂ−Ｇｅ、Ｔｅ−Ｇｅ−Ｓｂ−Ｓ、Ｔｅ−Ｇｅ−Ｓｎ−Ｏ、Ｔｅ−Ｇｅ−Ｓｎ−Ａｕ、Ｐｄ−Ｔｅ−Ｇｅ−Ｓｎ、Ｉｎ−Ｓｅ−Ｔｉ−Ｃｏ、Ｇｅ−Ｓｂ−Ｔｅ−Ｐｄ、Ｇｅ−Ｓｂ−Ｔｅ−Ｃｏ、Ｓｂ−Ｔｅ−Ｂｉ−Ｓｅ、Ａｇ−Ｉｎ−Ｓｂ−Ｔｅ、Ｇｅ−Ｓｂ−Ｓｅ−Ｔｅ、Ｇｅ−Ｓｎ−Ｓｂ−Ｔｅ、Ｇｅ−Ｔｅ−Ｓｎ−Ｎｉ、Ｇｅ−Ｔｅ−Ｓｎ−Ｐｄ、及び、Ｇｅ−Ｔｅ−Ｓｎ−Ｐｔを含み得る。
【００２２】
選択素子も、上記のようなカルコゲニド材料であってよい。選択素子及び記憶素子は、異なるカルコゲニド材料を含み得るが、実施形態は、これに制限されない。例えば、各セルは、記憶素子及び選択素子の両方（例えば、スイッチ及び記憶材料（ＳＳＭ））として働き得る材料（例えば、カルコゲニド材料）を含んでよい。
【００２３】
可変抵抗メモリセルは、ＮＡＮＤメモリアレイのフローティングゲートセルと比較して書き換え可能である。例えば、特定のデータパターンは、可変抵抗メモリセルのグループに、そのグループに事前に記憶されたデータを必ずしも消去せずにプログラムされてよい。
【００２４】
抵抗メモリセルは、例えば、２つの動作信号（例えば、プログラミング信号及び／またはリセット信号）の印加間の時間に（例えば、より高い抵抗の方に）抵抗ドリフトを経験し得る。すなわち、抵抗メモリセルの抵抗レベルは、経時的にシフトし得る。このような抵抗ドリフトは、例えば、記憶素子（例えば、相変化材料）の非晶質部分の構造緩和による、プログラミング後のセルの抵抗レベルの抵抗の自然増加が原因となり得る。
【００２５】
動作時、データは、例えば、データのページとして、メモリ１１０に書き込まれてよい、及び／または、メモリ１１０から読み取られてよい。従って、データのページは、メモリシステムのデータ転送サイズと呼ばれてよい。データは、セクタ（例えば、ホストセクタ）と呼ばれるデータセグメントの形で、ホスト（例えば、ホスト１０２）と送受信されてよい。従って、データのセクタは、ホストのデータ転送サイズと呼ばれてよい。幾つかの実施形態において、メモリ１１０は、メモリセル（例えば、可変抵抗メモリセル）の各グループ（例えば、物理ページ）に管理ユニット（管理されるユニット）を記憶できる。実施形態は、これに制限されないが、管理ユニットは、論理ページサイズ（例えば、ホスト１０２等のホストのデータ転送サイズ）、及び／または、例えば、４ＫＢ、８Ｋ等であってよいメモリシステム（例えば、システム１０４）のデータ管理サイズに対応し得る。例として、管理ユニットは、（例えば、コントローラ１０８を介して）メモリセルの物理ページにマッピングされてよい。しかしながら、幾つかの管理ユニットは、物理ページにマッピングされてよい。
【００２６】
図２Ａ及び図２Ｂは、抵抗ドリフトを経験する可変抵抗メモリセルのグループ２２２−１、２２２−２、２２２−３、２２２−４、２２４−５、２２２−６、２２２−７、及び、２２２−８（まとめて、セル２２２と呼ばれる）を示す。実施形態は、これに限らないが、抵抗分布２７４は、リセット状態（例えば、バイナリデータ値「０」）に対応し、抵抗分布２７６は、セット状態（例えば、バイナリデータ値「１」）に対応する。図２Ｂに示すように、リセット状態（例えば、分布２７４）は、セット状態（例えば、分布２７６）よりも高い抵抗レベルに対応する。抵抗分布２７２は、分布２７６にプログラムされたセルに対応するが、その閾値電圧は、プログラムされた後、経時的にドリフトして上昇した。
【００２７】
図２Ａにおいて、２４０−１は、メモリセル２２２のグループに記憶されたデータパターン（例えば、各セル２２２がバイナリ値「０」を記憶するように、リセット状態にプログラムされる）を表す。矢印２４２は、グループに対して行われる書き込み動作を表し、その結果、異なるデータパターン２４０−２が、セル２２２のグループに記憶される。この例において、書き込み動作２４２は、セル２２２−１、２２２−３、２２２−５、及び、２２２−７をセット状態にプログラムすることを含む。
【００２８】
矢印２４４は、異なるデータパターン２４０−３がメモリセル２２２のグループに記憶されるように、メモリセルのグループに行われる次の書き込み動作を表す。図２Ａに示すように、次の書き込み動作２４４は、メモリセル２２２−５及び２２２−７をセット状態（例えば、「１」）からリセット状態（例えば、「０」）に戻すプログラミングを伴う。書き込み動作２４４は、セル２２２−２及び２２２−４のリセット状態からセット状態へのプログラミングも含むが、書き込み動作２４４中、セル２２２−１及び２２２−３は、セット状態のままであり、セル２２２−６及び２２２−８は、リセット状態のままである。
【００２９】
図２Ｂを見ると、書き込み動作２４２と次の書き込み動作２４４との間の時間（例えば、ドリフト時間と呼ばれる）中、メモリセル２２２のグループは、抵抗ドリフトを経験する。ドリフト時間にわたって、例えば、書き込み動作２４２中、セット状態（例えば、分布２７６）にプログラムされたメモリセル（例えば、メモリセル２２２−１、２２２−３、２２２−５、及び、２２２−７）の抵抗レベルは、（例えば、抵抗分布２７４により近い）抵抗分布２７２にドリフトし、次の書き込み動作２４４中、リセット状態（例えば、分布２７４）にプログラムされたメモリセル（例えば、セル２２２−５及び２２２−７）の抵抗レベルは、リセット分布２７４に戻る。結果として、（例えば、書き込み動作２４４の後の）データパターン２４０−３は、抵抗分布２７４に属するセル（例えば、セル２２２−５及び２２２−７）と共存する抵抗分布２７２に属するセル（例えば、セル２２２−１及び２２２−３）を含む。従って、（例えば、「０」を記憶するセルと「１」を記憶するセルとを区別するために）グループ２２２の読み取りに使用される検出電圧２７８は、重なっている分布２７２及び２７４に属するセルの状態を正確に判断できない場合があり、これは、読み取りエラーにつながり得る。
【００３０】
ドリフトを考慮する従来の手法は、セルのページの全てを常にプログラムすること（例えば、状態を変更すべきセルと、状態を同じままにすべきセルとの両方にプログラミングパルスを印加すること）、及び／または、セルに関連付けられたドリフト時間を追跡して、必要に応じて検出閾値電圧（例えば、２７８）を調整することを伴い得る。しかしながら、このような手法は、定電力源を必要とし得る、及び／または、本開示の様々な実施形態と比べて、消費電力が高くなり得る。
【００３１】
他の従来の手法は、異なるデータユニットを記憶するメモリセルの抵抗レベル間の間隙を維持することに関連付けられる。例えば、一定の閾値より上及び／または下のドリフトされた抵抗レベルを有するメモリセルは、追跡されたドリフト時間に基づいて、調整されてよい。しかしながら、この従来の手法は、絶対的時間情報が入手できない時、ドリフト時間が追跡されず、利用できない場合がある。これは、（例えば、ドリフト時間の追跡に必要な）電力供給が、例えば、メモリシステム（例えば、スマートフォンまたは任意の他のモバイルシステム）で得られないことが多い場合、特に問題である。
【００３２】
本開示の実施形態は、可変抵抗メモリセルのプログラムされた状態に関連付けられたドリフト時間を追跡せずに、（例えば、可変抵抗メモリセルの抵抗ドリフトが原因の）可変抵抗メモリセルの間違ったデータ読み取りを、エネルギー効率よく低減できるという利益を提供し得る。例えば、実施形態は、ドリフト時間に関連付けられた情報が無い時に、新しくプログラムされたリセット状態（例えば、抵抗分布２７４）から区別できないドリフトされたセット状態（例えば、抵抗分布２７４の近くに、または、抵抗分布２７４と重なるようにドリフトされた抵抗分布２７２）を有する危険性を取り除くデータ状態同期を提供できる。
【００３３】
図３は、本開示の幾つかの実施形態による、データ状態同期を提供することに関連するフロー図３５０を示す。図１に関連して記載したように、管理ユニットは、特定のデータサイズに対応してよく、メモリセルの特定のグループ（例えば、可変抵抗メモリセルのページ）にマッピングされてよい。
【００３４】
フロー図３５０は、管理ユニットのステータス遷移の例を示す。図３の例は、管理ユニットの「フリー」ステータス３５８、「有効」ステータス３５４、及び、「無効」ステータス３５６を示す。管理ユニットのステータスは、例えば、図１のコントローラ１０８等のコントローラによって追跡されてよい。幾つかの実施形態において、フロー図３５０に示すステータス遷移は、本開示の幾つかの実施形態による、データ状態同期を提供することに関連して可変抵抗メモリセルを含むメモリデバイス（例えば、メモリ１１０）に関連付けられた管理ユニットによって経験されてよい。可変抵抗メモリセルは、例えば、２つの抵抗状態（例えば、論理値の「１」に対応し得るセット状態と、論理値の「０」に対応し得るリセット状態）のうちの１つにプログラム可能であってよい。実施形態は、これに限らないが、リセット状態は、セット状態より高い抵抗レベルに対応し得る。
【００３５】
フリーステータス３５８は、「クリーニング」動作を終えて、新しいデータパターンのプログラミングの準備ができた管理ユニットを指してよい。クリーニング動作は、対応する管理ユニットのメモリセルの全てのリセット（例えば、セルの全てを「０」状態にすること）を伴い得る。有効ステータス３５４は、有効データ（例えば、現在、システムによって使用されており、最新のＬ２Ｐマッピングエントリを有するデータ）を記憶する管理ユニットを指してよい。無効ステータス３５６は、無効データ（例えば、古いＬ２Ｐマッピングエントリに対応するデータ）を記憶する管理ユニットを指してよい。
【００３６】
図３において、矢印３５３は、選択された管理ユニットに対応するセルのグループに特定のデータパターンを記憶する書き込み動作に応答して、管理ユニットのフリーステータス３５８から有効ステータス３５４へのステータス遷移を表す。書き込み動作に応答して、コントローラ１０８によってマッピングされる選択された管理ユニットのステータスは、選択された管理ユニットが有効データを記憶することを反映して、（例えば、フリーから有効に）更新される。例として、受信した書き込みコマンド（例えば、ホスト１０２からコントローラ１０８に受信した書き込みコマンド）に応答して、フリーステータスを有する幾つかの管理ユニットの中から特定の管理ユニットが、ホストデータ（例えば、ホストから受信したデータパターン）をプログラムするために選択されてよい。
【００３７】
矢印３５９は、無効にされることに応答して、（例えば、その対応するマッピングエントリがもはや最新でないように）管理ユニットの有効ステータス３５４から無効ステータス３５６へのステータス遷移を表す。例えば、管理ユニットのステータスは、ホストから受信したトリミングコマンドに応答して有効から無効に更新されてよく、その結果、（例えば、データが、対応するセルのページから物理的に消去されず）、論理的に消去されてよい。
【００３８】
矢印３５７は、管理ユニットに対応するセルが全て同じ状態（例えば、リセット状態）になるクリーニング動作を経験することに応答して、選択された管理ユニットの無効ステータス３５６からフリーステータス３５８への遷移を表す。クリーニング動作は、管理ユニットに対応するセルのグループに対して行われる次の書き込み動作のためにデータ状態同期を提供できる。例えば、次の書き込みコマンドを実行してグループに他の（例えば、異なる）データパターンを記憶する前に、グループの可変抵抗メモリセルの全てを同じ状態（例えば、リセット状態）にすることによって、図３の方法は、図２Ａ及び図２Ｂに示すようなセルの閾値電圧分布の重なりの発生を除いて、読み取りエラーを低減できる。クリーニング動作に応答して、管理ユニットのステータスをフリーステータスに更新することは、この管理ユニットを、次の書き込み動作のために利用可能な管理ユニットのプールに戻すことができる。幾つかの実施形態において、クリーニング動作は、例えば、グループメモリセルに対してホストコマンドを行うことに関連する待ち時間を減らすバックグラウンド動作として提供されてよい。
【００３９】
幾つかの実施形態において、クリーニング動作は、まだリセット状態になっていないグループのセルにのみリセット信号を印加することを含み得る。従って、まだリセット状態になっていないセルは、同じ時に（例えば、同時に）リセット状態にプログラムされる。この同期は、ドリフトされたセット状態（例えば、ドリフトされたセット状態に対応する抵抗分布２７２）が新しくプログラムされたリセット状態（例えば、調整されたリセット状態に対応する抵抗分布２７４）と共存するのを防ぐ。共存は、図２Ｂに関連して示したように（例えば、２つの状態の間の間隙を減らして）、誤ったデータ読み取りの原因になり得る。
【００４０】
さらに、（例えば、クリーニング前に）既にリセット状態にプログラムされたメモリセルは、リセット状態に再プログラムする必要がないので、既にリセット状態にあるセルにリセットパルスが印加されるのを防ぐことによって、エネルギー効率の良い方法でクリーニング動作を行うことができる。たとえ、ドリフトされたリセット状態を有するメモリセルが、新しくプログラムされたリセット状態を有するメモリセルと共存しても、これらの分布は、異なるデータパターンにプログラムされる前に、メモリセルが既にリセット状態にあることをコントローラ（例えば、コントローラ１０８及び／または１１２）が知っているので、間違ったデータ読み取りにはならない。従って、ドリフト調整を行う必要が無く、よって、ドリフト時間を追跡する必要が無い。
【００４１】
幾つかの実施形態において、フロー図３５０に従って、データ状態同期を提供することは、ホストデータパターンが、特定のデータ値（例えば、データ値「０」）を有する閾値数（例えば、半分を超える）のデータユニットを含むか否かを判断することと、ホストデータパターンが特定のデータ値を有する少なくとも閾値数のデータユニットを含むと判断することに応答して、可変抵抗メモリセルのグループにデータパターンを記憶する前に、パターン反転を行うこととを含む。例えば、パターン反転を行うことは、データ値「０」に対応する全てのデータユニットが、データ値「１」にフリップされ、データ値「１」に対応する全てのデータユニットが、データ値「０」にフリップされるように、ホストデータパターンのデータユニット（例えば、ビット）をフリップすることを含み得る。図５及び図６に関連して、パターン反転をさらに記載する。
【００４２】
パターン反転を行うことは、パターン反転が無い時に（例えば、セット状態に対応する）低い抵抗状態にプログラムされるグループのセルの数と比較して、（例えば、セット状態に対応する）低い抵抗状態にプログラムされるグループのセルの数を低減する等の利益を提供し得る。パターン反転を行うことについて、図５及び図６を参照して、さらに記載する。
【００４３】
図４は、本開示の幾つかの実施形態による、データ状態同期を提供する方法４６０を示す。４６２において、方法４６０は、特定のデータパターン（例えば、ホストデータパターン）をメモリ（例えば、メモリ１１０）に書き込むコマンドを受信することに応答して、可変抵抗メモリセルの選択されたグループ（例えば、管理ユニットに対応するグループ）に対する読み取り動作を行うことを含み得る。読み取り動作を行って、選択されたセルの現在の状態と、選択されたグループに対応するデータ極性とを判断できる。
【００４４】
４６４において、方法４６０は、選択されたセルに対してクリーニング動作を行って、選択されたセルの全てをリセット状態にすることを含む。例えば、選択されたセルのうち、（例えば、クリーニング動作を行う前に）現在セット状態にプログラムされているセルは、クリーニング動作中、同時にリセット状態にプログラムされる。従って、クリーニング動作中にリセット状態にプログラムされるセルのリセット時間は、動作中に同期される。
【００４５】
選択されたセルのうち（例えば、事前にセット状態にプログラムされた）セルのみをクリーニング動作４６６中にリセット状態にプログラムすることは、図３に関連して示したように、選択されたセルのプログラムされた状態に関連付けられたドリフト時間を追跡せずに、選択されたセルに対する誤ったデータ読み取りの危険性を低減する等の利益を提供する。４６６において、方法４６０は、選択されたセルに特定のデータパターンを書き込むことを含む。選択されたセルに特定のデータパターンを書き込むことは、選択されたセルのうち、セット状態にプログラムすべきセルのみをプログラムすることを含み得る。
【００４６】
幾つかの実施形態において、方法４６０は、メモリの外部にあるコントローラによる介入無しで行うことができる。例えば、方法４６０は、（例えば、コントローラ１０８及び／またはホスト１０２等の外部コントローラの介入無く）図１に示すコントローラ１１２によって行うことができる。例えば、外部コントローラが管理ユニットのステータスを追跡、更新することによってドリフト管理を支援する図３に示す方法とは異なり、方法４６０は、コントローラ１１２等の内部コントローラによって実施される。方法４６０に従ってデータ状態同期を行うことは、例えば、メモリの各管理ユニットのステータスの追跡に関連付けられた待ち時間をさらに低減できる。
【００４７】
幾つかの実施形態において、メモリに記憶すべき特定のデータパターン（例えば、ホストデータパターン）は、メモリに書き込まれる前に（例えば、反転形に）反転できる。図３に関連して記載したように、パターン反転が、特定のデータパターンに対して行われて、パターン反転無しに低い抵抗状態にプログラムされ得るグループのセルの数と比較して、低い抵抗状態にプログラムされるグループのセルの数を低減することができる。パターン反転について、図５及び図６に関連してさらに記載する。
【００４８】
図５は、本開示の幾つかの実施形態による、データ状態同期を提供することに関連する管理ユニット５２０のステータスを示す。この例において、メモリ５１０は、１つの管理ユニット（例えば、管理ユニット５２０）のみを図５に示すが、リセット状態及びセット状態にプログラム可能な可変抵抗メモリセルの各グループに対応する複数の管理ユニットを含む。図３に関連して示すように、リセット状態は、バイナリデータ値「０」に対応してよく、セット状態の抵抗レベルより高い抵抗レベルを有してよい。同様に、セット状態は、バイナリデータ値「１」に対応してよいが、実施形態はこれに限らない。
【００４９】
図５に示すように、メモリ５１０を含むメモリシステム（例えば、メモリシステム１０４）は、ホスト（例えば、ホスト１０２）からホストデータパターン５２６を受信し、本開示の幾つかの実施形態に従って、ホストデータパターン５２６を書き込む。ホストデータパターン５２６を記憶するためにプログラムされる前、管理ユニット５２０は、（例えば、５２０−１で示すように）フリーステータスであり、全ての可変抵抗メモリセル５２２−１、．．．、５２２−８は、同じ状態（例えば、リセット状態）である。幾つかの実施形態において、管理ユニットは、管理ユニットに記憶されたデータパターンが反転されているか否かを示すフラグ（例えば、５２４−１、．．．、５２４−４）を含んでよい。ホストデータパターン５２６にプログラムされる前に、フラグ５２４−１は、（例えば、バイナリデータ値「０」を有する）リセット状態であってもよい。フラグは、管理ユニットの特定のビットであってよいが、実施形態は、これに限らない。
【００５０】
ホストデータパターン５２６に関連付けられた書き込みコマンドを受信することに応答して、コントローラ（例えば、コントローラ１０８）は、ホストデータパターン５２６が特定のデータ値を有する少なくとも閾値数の（例えば、半分を超える）データユニットを含むと判断することに応じて、データパターンを管理ユニットに記憶する前に、パターン反転を行うように構成される。例えば、図５に示すように、ホストデータパターン５２６は、バイナリデータ値「１」を有する５つのデータユニット５２６−３、５２６−４、５２６−６、５２６−７、及び、５２６−８を含む。閾値数が５０％であると決定（例えば、予め決定）されて、ホストデータパターン５２６が閾値数を満たす（８つのデータユニットのうちの５つのデータユニットが、バイナリデータ値「１」を有する）時、パターン反転が、ホストデータパターン５２６に対して行われる。この例において、（例えば、バイナリデータパターン「００１１０１１１」を有する）ホストデータパターン５２６に対して行われるパターン反転は、（例えば、バイナリデータパターン「１１００１０００」を有する）反転されたホストデータパターンを生じる。
【００５１】
パターン反転を行った後、コントローラは、書き込み動作５５３を行って、反転されたホストデータパターン５２６を管理ユニット５２０に記憶するように、管理ユニット５２０が反転されたホストデータパターンを記憶することを示すフラグを設定するように、且つ、管理ユニット５２０のステータスをフリーステータスから有効ステータスに更新するように構成される。結果として、（例えば、反転されたホストデータパターンにプログラムされた後、管理ユニット５２０のステータスを示す）５２０−２の管理ユニット５２０は、バイナリデータパターン「１１００１０００」にプログラムされた可変抵抗メモリセル５２４−１、．．．、５２４−８と、（例えば、５２０−２の管理ユニット５２０に記憶されたデータパターンが反転されていることを示す）バイナリデータ値「１」に設定されたフラグ５２４−２とを含む。
【００５２】
パターン反転を行うことは、バイナリ値「１」を有するメモリセルに記憶されたビットをフリップすることに関連付けられたエネルギー消費を低減する等の利益を提供する。バイナリデータ値「１」を有する５つのデータユニットを含むホストデータパターン５２６を考える。この例においては、ホストデータパターン５２６が、反転されずに、管理ユニット５２０に書き込まれると、コントローラ（例えば、コントローラ１０８）は、クリーニング動作中、（例えば、管理ユニット５２０の各メモリセルに記憶された）５つのビットをフリップすることが必要になる。対照的に、（例えば、バイナリデータ値「１」を有するデータユニットを３つだけ含む）ホストデータパターンの反転が管理ユニット５２０に書き込まれると、コントローラは、クリーニング動作中（例えば、管理ユニット５２０の各メモリセルに記憶された）３つのビットだけをフリップすればよい。従って、パターン反転を行うことは、パターン反転無しにセット状態にプログラムする管理ユニットのセルの数に比べて、セット状態にプログラムする管理ユニットのセルの数を低減し、これは、管理ユニット（例えば、管理ユニット５２０）の各セルに記憶された（例えば、バイナリ値「１」を有する）ビットのフリップに関連付けられた待ち時間を減らす。
【００５３】
ある時点（例えば、５５６）で、コントローラは、５２０−２の管理ユニット５２０に記憶されたデータパターンが論理的に消去されるように、管理ユニット５２０を無効に（例えば、ステータスを更新して無効ステータスに）するように構成される。結果として、（例えば、無効にされた後の管理ユニット５２０を示す）５２０−３の管理ユニット５２０に記憶されるデータパターンは、５２０−３の管理ユニット５２０に物理的に残っているが、例えば、ホスト（例えば、ホスト１０２）によってもはや追跡されない。管理ユニット５２０が無効にされるのに応答して、フラグ５２４−３も無効にされる。
【００５４】
５２０−３の管理ユニット５２０が無効ステータスにあると判断することに応答して、コントローラ１０８は、例えば、セット状態の可変抵抗メモリセルのみをリセット状態にするクリーニング動作５５７を行うことによって、データ状態同期を提供するように構成される。この例において、クリーニング動作５５７は、可変抵抗メモリセル５２２−１、．．．、５２２−８の全てがリセット状態になるように、メモリセル５２２−１、５２２−２、及び、５２２−５をリセット状態にする。結果として、（例えば、クリーニング動作５５７を行った後の管理ユニット５２０のステータスを示す）５２０−４の管理ユニット５２０は、バイナリデータパターン「０００００００」を含む。同様に、フラグ５２４は、（例えば、フラグ５２４−４によって示されるように）リセット状態に設定される。従って、次の書き込み動作が、管理ユニット５２０に対して行われてよく、ここで、事前にセット状態に設定された可変抵抗メモリセルの全てが、同期されたリセット時間（例えば、メモリセルがリセット状態にされた時間）を有する。
【００５５】
幾つかの実施形態において、クリーニング動作５５７は、バックグラウンドで行うことができる。例えば、（例えば、５２０−３の管理ユニット５２０によって示されるように）、管理ユニット５２０を含む複数の管理ユニットを無効にした後、コントローラは、アイドル時間中（例えば、コントローラ１０８がホストコマンドを実行していない時）、無効ステータスを有すると判断された管理ユニットに対してクリーニング動作５５７を行うように構成されてよい。バックグラウンド動作としてクリーニング動作を行うことは、特に、待ち時間に否定的な影響を与えるような動作を防ぐ等の利益を提供できる。
【００５６】
幾つかの実施形態において、データ状態同期は、メモリ１１０の外部にあるコントローラ（例えば、コントローラ１０８）を介して実施できる。この例において、コントローラは、例えば、論理物理アドレステーブル（例えば、論理物理アドレステーブル１０９）を介して、メモリ５１０の複数の管理ユニットの各ステータスを追跡できる。従って、（例えば、論理物理アドレステーブルによって提供された情報を利用できる）コントローラは、次の書き込みコマンドに指定され、また、フリーステータスを有する複数の管理ユニット（例えば、管理ユニット５２０）のうちの特定の管理ユニットに対応する物理アドレスへのポインタを維持するように、且つ、書き込みコマンドを行った後に（例えば、次の書き込みコマンドが同じ管理ユニットに対して行われないように）特定の管理ユニットのステータスを無効ステータスに更新するように構成されてよい。その後、コントローラは、セルの信頼性及び／または耐用寿命を低減する可能性のある各管理ユニットへの過剰な上書きを防ぐように、（例えば、フリーステータスにある）次の利用可能な管理ユニットへのポインタをさらに更新するように構成されてよい。
【００５７】
図６は、本開示の幾つかの実施形態による、データ状態同期を提供することに関連付けられた管理ユニット６２０のステータスを示す。この例において、メモリ６１０は、リセット状態及びセット状態にプログラム可能な可変抵抗メモリセルのグループ６２２−１、...、６２２−８に対応する管理ユニット６２０を含む複数の管理ユニットを含む。図２に関連して示すように、リセット状態は、バイナリデータ値「０」に対応してよく、セット状態の抵抗レベルより高い抵抗レベルを有してよい。同様に、セット状態は、バイナリデータ値「１」に対応し得るが、実施形態は、これに限らない。図６には１つの管理ユニットのみが示されているが、メモリ６１０は、可変抵抗メモリセルの各グループに対応する複数の管理ユニットを含み得る。
【００５８】
図６に示すように、メモリ６１０は、バイナリデータパターン「１００１１１１１」を有するホストデータパターン６２６を書き込むコマンドを受信する。コマンドを受信することに応答して、メモリ６１０の内部にあるコントローラ６１２（例えば、メモリコントローラ１１２）は、管理ユニット６２０に対して読み取り動作（図６には図示せず）を行って、可変抵抗メモリセル６２２−１、...、６２２−８の現在の状態と、メモリセル６２２−１、...、６２２−８に対応するデータ極性とを判断するように構成されてよい。読み取り動作の結果として、コントローラ６１２は、可変抵抗メモリセルが（例えば、６２０−１の管理ユニット６２０に示すように）バイナリデータパターン「０１１００００１」を含むこと、また、（例えば、バイナリデータ値「１」を有する反転フラグ６２４が、管理ユニット６２０に記憶されたデータパターンが、反転されたデータパターンであることを示すので）管理ユニット６２０に記憶されたデータパターンが反転されていると判断する。
【００５９】
読み取り動作を行った後、コントローラ６１２は、クリーニング動作６６４を管理ユニット６２０に対して行って、可変抵抗メモリセル６２２−１、...、６２２−８の全てをリセット状態にするように構成される。従って、（例えば、クリーニング動作６６４を行った後の管理ユニット６２０のステータスを示す）６２０−２の管理ユニット６２０は、各セルがバイナリデータ値「０」を有するセルを含む。幾つかの実施形態において、クリーニング動作６６４を行うことは、現在（例えば、６２０−１で）セット状態にプログラムされていると判断されたメモリセルにのみ（例えば、メモリセル６２２−２、６２２−３、及び、６２２−８）にクリーニング信号（例えば、リセット信号）を印加することを含み得る。メモリ６１０の内部にあるコントローラ（例えば、コントローラ６１２）を介してデータ状態同期を行うことは、メモリ６１０の外部にあるコントローラ（例えば、コントローラ１０８）を介して同じことを行い、論理物理アドレステーブル（例えば、テーブル１０７）から提供された情報を利用することと比較して、各管理ユニットのステータスを追跡及び／または更新することに関連付けられた待ち時間を低減するという利益を提供する。
【００６０】
クリーニング動作６６４を行った後、コントローラ６１２は、ホストデータパターンの特徴に基づいて、ホストデータパターン６２６とホストデータパターン６２６の反転とのうちの一方を、管理ユニット６２６に書き込む（例えば、書き込み動作を行う）ように構成されてよい。図５に関連して記載したように、コントローラ６１２は、ホストデータパターン６２６が、例えば、バイナリデータ値「１」を有するデータユニットを少なくとも閾値数（例えば、５０％）含むと判断することに応答して、ホストデータパターン６２６の反転を書き込むように構成されてよい。この例においては、ホストデータパターン６２６は、（例えば、１０のうち）バイナリデータ値「１」を有する６つのデータユニット６２６−１、６２６−４、６２６−５、６２６−６、６２６−７、及び、６２６−８を含む。従って、コントローラ６１２は、（例えば、プログラムされた後の管理ユニット６２０のステータスを示す）６２０−３の管理ユニット６２０が、ホストデータパターン（例えば、ホストデータパターン６２６）の反転に対応するデータパターン（例えば、バイナリデータパターン「０１１０００００」）を含むように、ホストデータパターン（例えば、ホストデータパターン６２６）の反転を管理ユニット６２０に書き込む。
【００６１】
特定の実施形態を本明細書に示し、記載したが、同じ結果を達成するように考慮された構成が、図示の特定の実施形態に替わってよいことを、当業者は理解されよう。本開示は、本開示の幾つかの実施形態の適合または変形を含むことを意図している。上記記載は、説明的なものであり、制限ではないことを理解されたい。上記実施形態と、本明細書に具体的に記載されていない他の実施形態との組み合わせは、上記記載を再考察すると、当業者には明らかであろう。本開示の幾つかの実施形態の範囲は、上記構造及び方法が使用される他の用途を含む。よって、本開示の幾つかの実施形態の範囲は、添付の特許請求の範囲と、このような特許請求の範囲が権利を有する同等物の範囲全体を参照して決定されるべきである。
【００６２】
上述の発明を実施するための形態の項において、幾つかの特徴は、開示を簡素化するために１つの実施形態にまとめられている。この開示方法は、本開示の実施形態が、各請求項に明示的に記載されている以上の特徴を使用すべきであるという意図を反映していると解釈すべきではない。むしろ、以下の特許請求の範囲が示すように、発明の主題は、１つの開示の実施形態の特徴の全てより少ない特徴にある。従って、以下の特許請求の範囲は、発明を実施するための形態の項に組み込まれ、各請求項は、それ自体で、個別の実施形態として成立する。
【図１】
0006978581.tif 000002
【図２Ａ】
0006978581.tif 000003
【図２Ｂ】
0006978581.tif 000004
【図３】
0006978581.tif 000005
【図４】
0006978581.tif 000006
【図５】
0006978581.tif 000007
【図６】
0006978581.tif 000008