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