(57)【要約】装置は、メモリセルのアレイ及びアレイに結合されたコントローラを有することができる。コントローラは、アレイのセンチネルセルグループを読み取り、アレイのいくつかの他のグループのセルを読み取ることなく、そのいくつかの他のグループのセルに記憶されたデータが整合性を欠いていることを、センチネルセルのグループに記憶されたデータが整合性を欠いているという判断に基づいて判断するように構成できる。
2021527912.tif 000002
【特許請求の範囲】
【請求項１】
メモリセルアレイと、
前記アレイに結合されたコントローラと、
を含む装置であって、前記コントローラは、
前記アレイのセンチネルセルのグループを読み取り、且つ、
前記アレイのセルのいくつかの他のグループを読み取ることなく、前記センチネルセルのグループに記憶されたデータが整合性を欠くという判断に基づいて、前記セルのいくつかの他のグループに記憶されたデータが整合性を欠くと判断するように、
構成される、前記装置。
【請求項２】
前記コントローラは、前記センチネルセルのグループに記憶された前記データが閾値より多い数のエラーを含むと判断されたことに応答して、前記センチネルセルのグループに記憶された前記データが整合性を欠くと判断するように構成される、請求項１に記載の装置。
【請求項３】
前記コントローラは、前記センチネルセルのグループに記憶された前記データが整合性を欠くと判断されたことに応答して、前記セルのいくつかの他のグループに記憶された前記データをリフレッシュするように構成される、請求項１に記載の装置。
【請求項４】
前記コントローラは、
前記センチネルセルのグループに対応する書き込みスタンプを追跡し、
前記セルのいくつかの他のグループに対応する書き込みスタンプを追跡し、且つ、
前記センチネルセルのグループに記憶された前記データが整合性を欠くと判断されたことに応答して、前記センチネルセルのグループに対応する書き込みスタンプより少ない書き込みスタンプに対応する前記セルのいくつかの他のグループのみをリフレッシュする
ように構成される、請求項３に記載の装置。
【請求項５】
前記セルのいくつかの他のグループに対応する前記書き込みスタンプは、前記セルのいくつかの他のグループに記憶された前記データが前記アレイに書き込まれる時の前記アレイへの書き込み数を含み、
前記センチネルセルのグループに対応する前記書き込みスタンプは、前記センチネルセルのグループに記憶された前記データが前記アレイに書き込まれる時の前記アレイへの書き込み数である、
請求項４に記載の装置。
【請求項６】
前記コントローラは、前記セルのいくつかの他のグループにデータが書き込まれるＮ回ごとに一度、前記センチネルセルのグループにデータを書き込むように構成される、請求項１に記載の装置。
【請求項７】
前記データが前記セルのいくつかの他のグループに書き込まれるＮ回ごとに一度、前記センチネルセルのグループに書き込まれる前記データは、同じ所定のセンチネルデータである、請求項６に記載の装置。
【請求項８】
前記コントローラは、前記センチネルセルのグループとしてセルのどのグループを使用するかを定期的に変更するように構成される、請求項１に記載の装置。
【請求項９】
前記センチネルセルのグループは、前記アレイのメモリセルのブロックの一部であり、
前記ブロックは、書き込みスタンプに対応し、且つ、
前記コントローラは、前記書き込みスタンプ基づいた頻度で、前記センチネルセルのグループを読み取るように構成される、
請求項１に記載の装置。
【請求項１０】
メモリセルアレイと、
前記メモリセルアレイに結合されたコントローラと、
を含む装置であって、前記コントローラは、
前記アレイのセンチネルメモリセルのグループであって、前記センチネルメモリセルのグループに対応するセンチネルデータと書き込みスタンプとを記憶する前記センチネルメモリセルのグループに対して読み取りを行い、
前記センチネルデータの品質を前記読み取りに基づいて判断し、
前記センチネルデータが品質に欠けるという判断に応答して、
前記アレイの非センチネルメモリセルの各グループに対応する書き込みスタンプを決定し、
決定された書き込みスタンプが非センチネルメモリセルが前記センチネルメモリセルのグループの前に書き込まれたことを示す前記非センチネルメモリセルの各グループに対して、リフレッシュ動作を行うように
構成される、前記装置。
【請求項１１】
前記コントローラは、前記センチネルデータが閾値より多い数のエラーを含むと判断されたことに応答して、前記センチネルデータが品質に欠けると判断するように構成される、請求項１０に記載の装置。
【請求項１２】
前記非センチネルメモリセルの各グループに対応する前記書き込みスタンプは、前記非センチネルメモリセルの各グループのメタデータとして記憶される、請求項１０〜１１のいずれか一項に記載の装置。
【請求項１３】
メモリセルアレイと、
前記メモリセルアレイに結合されたコントローラと、
を含む装置であって、前記コントローラは、
前記アレイのメモリセルの第１のグループに向けられた書き込みコマンドに応答して、
書き込みスタンプをインクリメントし、
前記第１のグループにデータを書き込み、前記インクリメントされた書き込みスタンプの値に関わらず、前記第１のグループに対応する書き込みスタンプを前記インクリメントされた書き込みスタンプで更新し、且つ、
前記インクリメントされた書き込みスタンプが前記インクリメントされた書き込みスタンプのインクリメントの特定の数の倍数であるときのみ、前記メモリアレイのメモリセルの第２のグループにセンチネルデータを書き込み、前記第２のグループに対応する書き込みスタンプを更新する
ように構成され、
前記インクリメントされた書き込みスタンプは、前記データが前記第１のグループに書き込まれた時に前記アレイに書き込まれた回数に対応する、
前記装置。
【請求項１４】
前記コントローラは、前記第１のグループに書き込まれた前記データを読み取ることなく、前記センチネルデータを読み取る時に発生するエラーの数に基づいて、前記第１のグループに書き込まれた前記データの整合性を判断するように構成される、請求項１３に記載の装置。
【請求項１５】
前記コントローラは、前記第１のグループに対応する前記更新された書き込みスタンプを前記第１のグループに記憶するように構成される、請求項１３〜１４のいずれか一項に記載の装置。
【請求項１６】
前記コントローラは、前記インクリメントされた書き込みスタンプが前記インクリメントされた書き込みスタンプのインクリメントの特定の数の倍数である時のみ、前記第２のグループに対応する前記更新された書き込みスタンプを前記第２のグループに記憶するように構成される、請求項１３〜１４のいずれか一項に記載の装置。
【請求項１７】
前記コントローラは、前記第１のグループに対応する前記更新された書き込みスタンプを、前記第１のグループのアドレスを特定するテーブルのエントリに記憶するように構成される、請求項１３〜１４のいずれか一項に記載の装置。
【請求項１８】
メモリアレイのセンチネルメモリセルのいくつかのグループのそれぞれからセンチネルデータを読み取ることと、
前記アレイの非センチネルメモリセルの各グループから非センチネルデータを読み取ることなく、前記センチネルメモリセルのいくつかのグループのそれぞれから前記センチネルデータを読み取ることに基づいて、前記非センチネルメモリセルの各グループに記憶された各非センチネルデータの整合性を判断することと、
を含む、方法。
【請求項１９】
前記センチネルメモリセルのいくつかのグループのそれぞれから前記センチネルデータを読み取る際のエラーの数に基づいて、前記非センチネルメモリセルの各グループに記憶された前記各非センチネルデータの前記整合性を判断することをさらに含む、請求項１８に記載の方法。
【請求項２０】
前記各非センチネルデータは、前記センチネルデータが前記センチネルメモリセルのいくつかのグループの特定のグループに書き込まれる前に、前記非センチネルメモリセルの各グループに書き込まれたと判断することに応答して、且つ、前記特定のグループに書き込まれたセンチネルデータの読み取り時のエラーの前記数が、閾値エラー数より多いと判断されることに応答して、前記各非センチネルデータは整合性に欠けると判断することをさらに含む、請求項１９に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、一般に、データストレージシステムなどの装置、及びそれらの動作に関し、より詳細には、センチネルセルに基づくデータ整合性の判断に関する。
【背景技術】
【０００２】
ストレージシステムは、コンピュータ、携帯電話、ハンドヘルド電子デバイスなどの電子システムに実装されてよい。ソリッドステートドライブ（ＳＳＤ）、組み込みマルチメディアコントローラ（ｅＭＭＣ）デバイス、ユニバーサル（ＵＦＳ）フラッシュストレージデバイスなどの一部のストレージシステムは、ホストからのユーザデータを記憶するための不揮発性ストレージメモリを含み得る。不揮発性ストレージメモリは、電源が入っていないときに記憶されたデータを保持することで永続的なデータを提供し、他のメモリタイプの中で特に、ＮＡＮＤフラッシュメモリ、ＮＯＲフラッシュメモリ、読み取り専用メモリ（ＲＯＭ）、電気的消去可能プログラマブルＲＯＭ（ＥＥＰＲＯＭ）、消去可能プログラマブルＲＯＭ（ＥＰＲＯＭ）、並びに、抵抗位相変化ランダムアクセスメモリ（ＰＣＲＡＭ）、抵抗性ランダムアクセスメモリ（ＲＲＡＭ）、強誘電性ランダムアクセスメモリ（ＦｅＲＡＭ）、磁気抵抗性ランダムアクセスメモリ（ＭＲＡＭ）、プログラム可能な導電性メモリなどの抵抗変化型メモリを含み得る。
【０００３】
不揮発性メモリセルは、複数の状態の１つなど、所望の状態にプログラムできる。シングルレベルセル（ＳＬＣ）としてプログラムされたメモリセルは、２つのバイナリ状態（例えば、１または０）のいずれかを記憶できる。マルチレベルセル（ＭＬＣ）としてプログラムされたメモリセルは、３つ以上のバイナリ状態を記憶できる。例えば、クワッドレベルセルは、１１１１、０１１１、００１１、１０１１、１００１、０００１、０１０１、１１０１、１１００、０１００、００００、１０００、１０１０、００１０、０１１０、及び１１１０の１６の状態の１つにプログラムすることができる。状態は、検知（例えば、読み取り）マージンなどのＶｔマージンによって互いに分離される異なる閾値電圧（Ｖｔ）分布に対応することができる。例えば、状態は、Ｖｔマージン内にあるように選択することができる検知電圧を使用して検知する（例えば、読み取る）ことができる。
【図面の簡単な説明】
【０００４】
【図１】本開示のいくつかの実施形態による、装置のブロック図である。
【図２】本開示のいくつかの実施形態による、センチネルデータ及びユーザデータを記憶するメモリアレイのブロック図である。
【図３】本開示のいくつかの実施形態による、書き込みスタンプ対時間のプロットである。
【図４】本開示のいくつかの実施形態による、書き込み方法のフローチャートである。
【発明を実施するための形態】
【０００５】
本開示は、データストレージシステム、及びデータの整合性（例えば、データ品質）を決定するためにデータストレージシステムによって実行される方法に対する技術的改善など、装置、及び装置によって実行される方法（例えば、プロセス）に対する技術的改善に関する。開示された実施形態は、非センチネルメモリセルのいくつかのグループに記憶された非センチネルデータ（例えば、ユーザデータ及びエラー訂正（ＥＣＣ）データなど）の整合性を、非センチネルセルのいくつかのグループを読み取る必要なく、センチネルメモリセルのグループに記憶された比較的少量の（例えば、非センチネルデータの量と比較するとはるかに少ない）センチネルデータから、そのセンチネルセルのグループを読み取ることによって、判断することができる。これにより、いくつかのグループセルから比較的大量のデータを読み取って、いくつかのグループセルのそれぞれのデータの整合性を判断する以前のアプローチと比較して、データの整合性を判断するのにかかる時間を短縮できる。
【０００６】
非センチネルデータの整合性は、センチネルデータが整合性に欠けるかどうかの判断に基づくことができる。センチネルデータが整合性を欠いているとの判断に応答して、センチネルデータの前に、したがってセンチネルデータより長く記憶されている非センチネルデータの整合性は、整合性を欠いていると判断することができる。非センチネルセルのいくつかのグループの少なくとも全体を読み取るのではなく、非センチネルデータが非センチネルセルのいくつかのグループに最後に書き込まれた時を示し得る書き込みスタンプを読み取ることができ、その書き込みスタンプをセンチネルデータがセンチネルセルのグループに書き込まれた時を示し得るセンチネルセルのグループに対応する書き込みスタンプと比較することができる。リフレッシュ動作は、センチネルデータが整合性を欠いていると判断されたセンチネルセルのグループに対応する書き込みスタンプよりも少ない書き込みスタンプに対応する非センチネルセルのいくつかのグループに対して実行することができる。セルのグループに対応する書き込みスタンプは、データがセルのグループに書き込まれるときのメモリセルのアレイへの書き込みの数に対応し得る。少ない書き込みスタンプに対応するセルのグループに記憶されたデータは、多い書き込みスタンプに対応するセルのグループに記憶されたデータよりも前に記憶されている可能性があり、したがって、より古い可能性がある。
【０００７】
長時間の温度ストレス及び／またはデータ保持ストレスなどは、記憶されたデータの整合性を低下させる場合がある。例えば、メモリアレイを比較的高温に長時間さらす及び／またはデータを長期間記憶（例えば、保持）すると、記憶されたデータの整合性が低下する場合がある。
【０００８】
メモリアレイから読み取られるデータの整合性は、前述のＶｔマージンやＶｔ分布のドリフトに依存し得る。例えば、Ｖｔマージンが小さくなると、データの整合性が低下する可能性がある。長時間の温度ストレス及び／またはデータ保持ストレスにより、Ｖｔマージンが縮小及び／またはＶｔ分布がドリフトして、データの整合性が低下する場合がある。
【０００９】
以前のアプローチでは、データを読み取って、データ読み取り時のエラーの数に基づいてデータの整合性を判断していた。例えば、データが整合性を欠いていることに応答して、データがリフレッシュ（例えば、書き換え）されてよい。しかしながら、大量のデータが存在する場合があり、そのような大量のデータを読み取って、そのような大量のデータの整合性を判断するのは、時間がかかる可能性がある。これにより、このようなアプローチを採用しているシステムのパフォーマンスが低下し得る。
【００１０】
本開示の実施形態は、データの整合性を判断するために比較的大量のデータを読み取ることに関連付けられた以前のアプローチの問題を解決する。比較的大量のデータを読み取ってデータの整合性を判断する代わりに、本発明の実施形態は、セルのいくつかのグループを読み取るのではなく、センチネルセルのグループを読み取ることによって、センチネルセルのグループに記憶されたセンチネルデータの整合性に基づいて、セルのいくつかのグループに記憶されたデータの整合性を判断する。例えば、センチネルセルのグループに対応する書き込みスタンプよりも少ない書き込みスタンプに対応するセルのいくつかのグループは、センチネルセルのグループのセンチネルデータが整合性を欠いているとの判断に応答してリフレッシュすることができる。その結果、データの整合性の判断に関連する時間が短縮され、それによって、データの整合性を判断するプロセスが改善される。これにより、データストレージシステムを改善することができ、データストレージシステムの動作を改善することができる。
【００１１】
図１は、本開示のいくつかの実施形態による、コンピューティングシステム１００の形式の装置のブロック図である。コンピューティングシステム１００は、例えば、ＳＳＤ、ＵＦＳデバイス、ｅＭＭＣデバイスなどのストレージシステムであり得るメモリシステム１０２を含む。しかしながら、実施形態は、特定のタイプのメモリシステムに限定されない。例えば、メモリシステム１０２は、システム１００のメインメモリとして機能することができる。
【００１２】
図１に示すように、システム１０２は、メモリ１０６及びホスト１０４に結合されたコントローラ１０８を含むことができる。ホスト１０４は、様々な他のタイプのホストの中で、パーソナルラップトップコンピュータ、デスクトップコンピュータ、デジタルカメラ、モバイルデバイス（携帯電話）、ネットワークサーバ、インターネットオブシングズ（ＩｏＴ）対応デバイス、またはメモリカードリーダなどのホストシステムであってよい。例えば、ホスト１０４は、バスを含むことができるインタフェースを介して（例えば、コントローラ１０８を介して）メモリ１０６にアクセスすることができる１つまたは複数のプロセッサを含むことができる。インタフェースは、様々なインタフェースの中で、シリアルアドバンストテクノロジーアタッチメント（ＳＡＴＡ）、ペリフェラルコンポーネントインターコネクトエクスプレス（ＰＣＩｅ）、ユニバーサルシリアルバス（ＵＳＢ）などの標準化されたインタフェースであってよい。
【００１３】
メモリ１０６は、いくつかのメモリデバイス（例えば、メモリダイ、チップなど）を含むことができ、各メモリデバイスは、いくつかのメモリセルアレイ１０９を含むことができる。アレイ１０９は、２次元（２Ｄ）及び／または３次元（３Ｄ）ＮＡＮＤメモリアレイなどのＮＡＮＤフラッシュメモリアレイであってよい。一部の例では、アレイ１０９は、クロスポイントアレイ構造など、２Ｄ及び／または３Ｄアレイ構造を含むことができる。メモリセルは、例えば、フラッシュメモリセル、または可変抵抗の記憶素子及び／またはスイッチ素子を含み得る様々なタイプの可変抵抗（例えば、ＰＣＲＡＭセル、ＲＲＡＭセル、３Ｄクロスポイントセル）を含むことができる。いくつかの実施形態においては、メモリセルは、単一の材料が記憶素子及びメモリ素子の両方として機能することができる自己選択メモリ（ＳＳＭ）セルであってよい。
【００１４】
メモリアレイ１０９は、グループをアドレス指定する書き込みコマンドに応答して書き込む（例えば、プログラムする）ことができ、グループをアドレス指定する読み取りコマンドに応答して読み取ることができるメモリセルのアドレス可能なグループに分割することができる。一部の例では、メモリセルのグループは、ホスト１０４から受信した論理アドレスに対応する物理アドレスを持つことができる。コントローラ１０８は、ホスト１０４からメモリセルのグループの物理アドレスに論理アドレスをマッピングすることができる論理から物理（Ｌ２Ｐ）へのマッピングテーブルなどのマッピングテーブルを含むことができる。メモリセルのグループは、論理アドレスに対応するメモリセルのページまたは論理アドレスに対応するメモリセルのページの一部であってよい。
【００１５】
一部の例では、各グループは、所定のデータパターン、ユーザデータまたはセンチネルデータに対応するエラー訂正（ＥＣＣ）データ、書き込みカウント（例えば、書き込みスタンプ）を含み得るメタデータ、及びメタデータに対応するＥＣＣデータなど、ユーザ（例えば、ホスト）データまたはセンチネルデータを記憶することができる。一部の例では、各グループは、ユーザデータまたはセンチネルデータ、ユーザデータまたはセンチネルデータに対応するＥＣＣデータ、メタデータ、及びメタデータに対応するＥＣＣデータを含み得るコードワードを記憶することができる。ユーザデータは、ホスト１０４から受信したデータであってよい。書き込みスタンプは、データが対応するグループに書き込まれた時点（例えば、時）にアレイ１０９に書き込まれた回数であってよい。
【００１６】
センチネルデータを記憶するセルのグループはセンチネルセルのグループと呼ばれてよく、非センチネルデータなど、センチネルデータ以外のデータを記憶するセルのグループは非センチネルセルのグループと呼ばれてよい。一部の例では、センチネルセルのグループは、システム１０２の寿命を通して固定することができる同じセンチネルデータを含むことができる。センチネルデータを含むコードワードはセンチネルコードワードと呼ばれてよく、非センチネルデータを含むコードワードは非センチネルコードワードと呼ばれてよい。各センチネルコードワードは、同じセンチネルデータを含み得る。センチネルデータは、全て１、０、または１と０の組み合わせのパターンである。
【００１７】
コントローラ１０８は、本明細書に開示される様々な方法を実行することができるデータ整合性コンポーネント１１０を含むことができる。整合性コンポーネント１１０は、センチネルデータを定期的に読み取ることができ、また、センチネルデータの整合性に基づいて（例えば、センチネルデータ読み取り時に発生するエラーの数に基づいて）、且つ、センチネルデータを記憶するセンチネルセルのグループに対応する書き込みスタンプの値に対する非センチネルデータを記憶する非センチネルセルのいくつかのグループに対応する書き込みスタンプの値に基づいてなど、センチネルデータが書き込まれた時に対する非センチネルデータが書き込まれた時に基づいて、非センチネルデータの整合性と、ユーザデータをリフレッシュすべきかどうかを判断できる。
【００１８】
ＮＡＮＤメモリを伴う例では、メモリアレイ内の別の場所に「アウトオブプレース」でデータを書き込む（例えば、データをコピーする）ことで、データをリフレッシュできる。例えば、データは、第１の物理アドレスを有するセルのグループからレジスタなどにコピーされ、その後、第２の物理アドレスを有するセルの予備のグループに書き込むことができる。次に、コントローラ１０８は、第１の物理アドレスにマッピングされた論理アドレスを第２の物理アドレスに再マッピングしてよい。
【００１９】
クロスポイントメモリセルを含む例では、最初にセルを消去することなく、データを「インプレース」に書き込むことでデータをリフレッシュできる。例えば、データをセルのグループからコピーし、その後、セルのグループに上書きすることで、セルのグループに書き戻すことができる。
【００２０】
整合性コンポーネント１１０は、整合性を欠くセンチネルデータ（例えば、エラーの閾値数を超えるエラーの数を有するセンチネルデータ）に応答して、センチネルデータの前に書き込まれた非センチネルデータが整合性を欠くと判断することができる。例えば、整合性コンポーネント１１０は、センチネルデータが整合性を欠いていると判断したことに応答して、センチネルデータを記憶するセンチネルセルのグループに対応する書き込みスタンプより少ない書き込みスタンプに対応する非センチネルセルのいくつかのグループに記憶されている非センチネルデータは整合性を欠くと判断してよい。
【００２１】
整合性コンポーネント１１０は、整合性を欠いていると判断された非センチネルデータをリフレッシュしてよい。例えば、整合性コンポーネント１１０は、閾値エラー数よりも多いエラー数を有するセンチネルデータに応答して、センチネルデータの前に書き込まれた非センチネルデータをリフレッシュしてよい。整合性コンポーネント１１０は、整合性に欠けると判断されたセンチネルデータを記憶するセンチネルセルのグループに対応する書き込みスタンプよりも少ない書き込みスタンプに対応する非センチネルセルのいくつかのグループに記憶された非センチネルデータをリフレッシュしてよい。
【００２２】
整合性コンポーネント１１０は、アレイ１０９の非センチネルデータの整合性と、非センチネルデータをリフレッシュする必要があるかどうかを、非センチネルデータを記憶する非センチネルセルのいくつかのグループを少なくともその全体を読み取ることなく、判断することができ、それによって、非センチネルデータを記憶している非センチネルメモリセルの各グループから非センチネルデータを読み取ることによって整合性を判断する以前のアプローチに比べて、非センチネルデータの整合性を判断するのに必要な時間を短縮することができる。例えば、整合性コンポーネント１１０は、センチネルセルのグループからセンチネルデータを読み取ることができ、センチネルセルのグループからセンチネルセルのグループに対応する書き込みスタンプを読み取ることができる。次に、整合性コンポーネント１１０は、読み取りに基づいて、センチネルデータが整合性を欠いていると判断することができる。整合性を欠くセンチネルデータに応答して、整合性コンポーネント１１０は、非センチネルデータを記憶する非センチネルセルの各グループのメタデータから書き込みスタンプを読み取ることができ、その書き込みスタンプをセンチネルのグループに対応する書き込みスタンプと比較することができ、センチネルセルのグループに対応する書き込みスタンプよりも少ない書き込みスタンプを有する非センチネルセルのグループの非センチネルデータを整合性を欠くと判断することができる。次に、整合性コンポーネント１１０は、整合性を欠くと判断された非センチネルデータをリフレッシュすることができる。
【００２３】
一部の例では、非センチネルメモリセルの各グループに対応する各書き込みスタンプは、非センチネルメモリセルの各グループのメモリアレイ内の各物理アドレスを指定できるテーブル、または、非センチネルメモリセルの各グループを指すことができるテーブルの各エントリに記憶することができる。そのような例では、整合性コンポーネント１１０は、センチネルデータが整合性を欠いているとの判断に応答して、テーブルから書き込みスタンプを読み取ることができる。
【００２４】
コントローラ１０８は、書き込みスタンプカウンタ１１２などのカウンタを含むことができる。コントローラ１０８は、アレイ１０９のセルの各グループにデータを書き込むための各書き込みコマンドが受信されるたびに、カウンタ１１２の書き込みスタンプ（例えば、書き込みカウント）をインクリメントすることができる。例えば、書き込みスタンプは、セルの各グループにデータを書き込むときのアレイ１０９への書き込みの数であってよい。コントローラ１０８は、書き込みスタンプをセルの各グループに（例えば、メタデータまたはメタデータの一部として）書き込むことができる。
【００２５】
整合性コンポーネント１１０は、非センチネルデータが非センチネルセルのいくつかのグループに書き込まれるＮ回ごとに１回など、センチネルデータをセンチネルセルのいくつかのグループに定期的に書き込んでよい。整合性コンポーネント１１０は、書き込みスタンプを監視（例えば、追跡）し、書き込みスタンプを正の整数であるＮと比較することができる。例えば、整合性コンポーネント１１０は、書き込みスタンプがＮの倍数になるたびに、センチネルデータ及び書き込みスタンプをセンチネルセルのいくつかのグループに定期的に書き込んでよい。例えば、整合性コンポーネント１１０は、書き込みスタンプがＮの倍数になるたびに、センチネルデータ及び書き込みスタンプを、（例えば、ランダムに選択された）センチネルメモリセルの異なるグループに書き込んでよい。しかしながら、一部の例では、整合性コンポーネント１１０は、書き込みスタンプがＮの倍数になるたび、またはＮの倍数になる時の一部など、複数回、センチネルデータ及び書き込みスタンプをセンチネルメモリセルの同じグループに書き込んでよい。
【００２６】
センチネルデータは、アレイ１０９内のグループの位置に基づいて、メモリセルの同じグループに書き込むことができる。例えば、グループは、温度に対してより敏感なアレイ１０９の領域、温度がアレイ１０９の他の領域よりも高くなる傾向がある領域、カラムデコーダから比較的離れた領域などの妨害に対してより敏感な領域などに位置することができる。
【００２７】
図２は、本開示のいくつかの実施形態による、メモリアレイ１０９の一部であってよいアレイ２０９を示す。アレイ１０９がＮＡＮＤアレイである例では、アレイ２０９は、メモリセルが同時に消去されるメモリセルのブロックであってよい。図２では、アレイ２０９は特定の時に書き込み状態になっている。アレイ２０９は、各非センチネルコードワード２１５−１〜２１５−Ｍを記憶することができる非センチネルメモリセルの各グループ２１５−１〜２１５−Ｍを含む。アレイ２０９は、各センチネルコードワード２１８−１〜２１８−５を記憶することができるセンチネルメモリセルの各グループ２１８−１〜２１８−５を含むことができる。しかしながら、例えば、特定の時点よりも早い時点または遅い時点など、５つ以外の数のセンチネルメモリセルのグループが存在してよい。例えば、早い時点ではセンチネルメモリセルのグループが５つ未満であり、遅い時点ではセンチネルメモリセルのグループが５つを超える場合がある。
【００２８】
非センチネルメモリセル２１５の各グループのそれぞれは、各ユーザデータ２２０、各ユーザデータ２２０を訂正するための各ユーザデータ２２０に対応する各ＥＣＣデータ２２２、各ユーザデータ２２０に対応する各書き込みスタンプを含み得る各メタデータ２２４、及び、各メタデータ２２４を訂正するための各メタデータ２２４に対応する各ＥＣＣ−Ｍデータ２２６を含むことができる。センチネルメモリセル２１８の各グループのそれぞれは、各センチネルデータ２３０、各センチネルデータ２３０を訂正するための各センチネルデータ２３０に対応する各ＥＣＣデータ２３２、各センチネルデータ２３０に対応する各書き込みスタンプを含み得る各メタデータ２３４、及び、各メタデータ２３４を訂正するための各メタデータ２３４に対応する各ＥＣＣ−Ｍデータ２３６を含むことができる。
【００２９】
図２は、センチネルデータ２３０を訂正するためのＥＣＣデータ２３２を示しているが、センチネルデータ２３０が事前に決定され、同じセンチネルデータ２３０がセンチネルメモリセル２１８の各グループに対して使用され得るような一部の例では、センチネルデータ２３０の読み取り時のエラーの数は、センチネルメモリセルのグループ２１８から読み取られたセンチネルデータ２３０を所定のセンチネルデータと比較することによって決定できるので、ＥＣＣデータ２３２は必要ない場合がある。
【００３０】
図３は、本開示のいくつかの実施形態による、メモリアレイ２０９などのメモリアレイの書き込みスタンプ対時間のプロットである。メモリアレイが最後に書き込まれたのは時間ｔＣであり、その時に、メモリセルグループ２１５−Ｍ内の非センチネルデータなどの非センチネルデータがメモリアレイに書き込まれた。例えば、メモリセルグループ２１５−Ｍは、メモリセルグループ２１５−Ｍに記憶されたメタデータに存在し得る書き込みスタンプＷＳＣに対応し得る。
【００３１】
図３のデータ記号は、センチネルデータが書き込まれた時点の書き込みスタンプに対応する。記号３２０−１〜３２０−５はそれぞれ、センチネルセルの各グループ２１８−１〜２１８−５の各センチネルデータが書き込まれた各時点における各書き込みスタンプに対応することができる。各センチネルデータがセンチネルセルの各グループ２１８−１〜２１８−５に書き込まれる時、各記号３２０−１〜３２０−５に対応する各書き込みスタンプは、センチネルセルの各グループ２１８−１〜２１８−５のメタデータにそれぞれ、書き込むことができる。例えば、書き込みスタンプＷＳＡは、センチネルデータがセンチネルセルのグループ２１８−２に書き込まれる時点ｔＡにセンチネルセルのグループ２１８−２のメタデータに書き込むことができ、書き込みスタンプＷＳＢは、センチネルデータがセンチネルセルのグループ２１８−５に書き込まれる時点ｔＢにセンチネルセルのグループ２１８−５のメタデータに書き込むことができる。
【００３２】
整合性コンポーネント１１０は、センチネルセルの各グループ２１８−１〜２１８−５の各センチネルデータを読み取って、非センチネルセルのグループ２１８−１〜２１８−Ｍのグループの非センチネルデータの整合性を判断することができる。例えば、センチネルセルのグループ２１８−１、２１８−３、２１８−４、及び２１８−５のセンチネルデータは、閾値より少ない数のエラーを有することで整合性があると判断できるが、センチネルコードワード２１８−２のセンチネルデータは、閾値を超える数のエラーを有することにより、整合性を欠いていると判断できる。結果として、整合性コンポーネント１１０は、センチネルセルのグループ２１８−２のセンチネルデータの前に書き込まれたアレイ２０９内の非センチネルデータの全てが整合性を欠く場合があり、リフレッシュされるべきであると判断してよい。例えば、整合性コンポーネント１１０は、センチネルコードワード２１８−２の書き込みスタンプＷＳＡよりも少ない書き込みスタンプを有する非センチネルセルのグループに記憶された非センチネルデータは整合性を欠いており、リフレッシュされるべきであると判断してよい。整合性コンポーネント１１０は、センチネルコードワード２１８−２の書き込みスタンプＷＳＡ以上の書き込みスタンプを有する非センチネルセルのグループに記憶された非センチネルデータは整合性を有すると判断してよい。
【００３３】
一部の例では、整合性コンポーネント１１０は、センチネルセルのグループ２１８−１〜２１８−５及びそれらの物理アドレスを追跡することができ、その結果、現在記憶されているセンチネルデータ及び対応するメタデータの全てを定期的に読み取ることができる。例えば、整合性コンポーネント１１０は、センチネルコードワードの物理アドレスまたはセンチネルコードワードへのポインタのテーブルを維持することができる。
【００３４】
図４は、本開示のいくつかの実施形態による、書き込み方法４５０のフローチャートである。ブロック４５２で、書き込みコマンドがホスト１０４からコントローラ１０８で受信される。書き込みコマンドは、ユーザデータの書き込み先となる論理アドレスを含むことができる。コントローラ１０８は、論理アドレスをメモリセルのグループ（例えば、非センチネルメモリセルのグループ）の物理アドレスにマッピングすることができる。ＮＡＮＤメモリを伴う例では、ユーザメモリセルのグループは、メモリセルの消去されたグループなどの空きグループであってよい。クロスポイントの場合、セルのグループの既存のデータにユーザデータを上書きすることができる。
【００３５】
書き込みスタンプは、ブロック４５４でインクリメントされる。例えば、カウンタ１１２は、書き込みスタンプをインクリメントすることができる。決定ブロック４５６で、インクリメントされた書き込みスタンプがＮと比較されて、インクリメントされた書き込みスタンプがＮの倍数であるかどうかが判断される。例えば、モジュラー演算が決定ブロック４５６で実行されて、インクリメントされた書き込みスタンプがＮの倍数であるかどうかを判断できる。
【００３６】
モジュラー演算は、書き込みスタンプとＮのモジュラス（例えば、ＭＯＤ（書き込みスタンプ，Ｎ））を決定することを含み得る。例えば、ＭＯＤ（書き込みスタンプ，Ｎ）は、書き込みスタンプをＮで除算した余りに等しくなる。ＭＯＤ（書き込みスタンプ，Ｎ）＝０の場合、書き込みスタンプをＮで除算した余りは０であり、これは、書き込みスタンプがＮの倍数であることを意味する。
【００３７】
ＭＯＤ（書き込みスタンプ，Ｎ）≠０の場合、インクリメントされた書き込みスタンプを含むユーザデータ及びメタデータは、ブロック４５８の論理アドレスに対応するユーザメモリセルのグループに書き込まれる。ＭＯＤ（書き込みスタンプ，Ｎ）＝０の場合、インクリメントされた書き込みスタンプを含むセンチネルデータ及びメタデータが、ブロック４６０でメモリセルの選択されたグループ（例えば、センチネルメモリセルのグループ）に書き込まれ、インクリメントされた書き込みスタンプを含むユーザデータ及びメタデータは、ブロック４５８で非センチネルメモリセルのグループに書き込まれる。この方法は、ブロック４６２で終了する。
【００３８】
前述のように、センチネルデータ及びメタデータは、センチネルデータ及びメタデータが書き込まれるたびにメモリセルの異なる（例えば、ランダムに選択された）グループに書き込むことができる、または、センチネルデータ及びメタデータは、センチネルデータ及びメタデータが書き込まれるたびに同じメモリセルのグループに書き込むことができる。例えば、ＭＯＤ（書き込みスタンプ，Ｎ）＝０に応答して、メモリセルのグループをランダムに選択して、センチネルデータを記憶できる。
【００３９】
前述のように、アレイ２０９は、メモリセルが同時に消去されるメモリセルのＮＡＮＤブロックなどのブロックであってよい。例えば、アレイ１０９はそのようないくつかのＮＡＮＤブロックを含むことができる。一部の例では、ＮＡＮＤブロックごとに書き込みスタンプが存在し得る。各書き込みスタンプは、各ＮＡＮＤブロックが書き込まれる回数であってよい。例えば、各書き込みスタンプは、各ＮＡＮＤブロックが書き込まれるたびにインクリメントできる。一部の例では、データ整合性コンポーネント１１０は、各ＮＡＮＤブロックの各書き込みスタンプを含むルックアップテーブルなどのテーブルを含む（例えば、維持する）ことができる。
【００４０】
一部の例では、データ整合性コンポーネント１１０は、ルックアップテーブルの書き込みスタンプなどから、各書き込みスタンプに基づいて、（例えば、メモリシステム１０２の起動中に）各ＮＡＮＤブロックの整合性を決定するかどうかを判断することができる。データ整合性コンポーネント１１０は、多い書き込みスタンプに対応するＮＡＮＤブロックよりも少ない書き込みスタンプを有するＮＡＮＤブロックにおいて、より頻繁にセンチネルセルを読み取ってよい。例えば、少ない書き込みスタンプに対応するＮＡＮＤブロックに記憶されたデータは、多い書き込みスタンプに対応するＮＡＮＤブロックに記憶されたデータよりも前に記憶されている可能性があり、従って、より古い可能性がある。
【００４１】
書き込みスタンプに基づいてＮＡＮＤブロックのデータ整合性をスキャンする頻度を調節すると、起動時に全てのＮＡＮＤブロックをスキャンしてデータ整合性を確認する以前のアプローチと比較して、起動時にスキャンされるＮＡＮＤブロックの数を減らすことができる。これにより、以前のアプローチと比較して起動時の動作が少なくなり、以前のアプローチと比較して起動が速くなる。
【００４２】
以下の詳細な説明では、添付図面を参照する、図面は、説明の一部を形成し、例示として特定の例を示している。図面では、類似の数字は、いくつかの図面を通して実質的に類似のコンポーネントを記述する。本開示の範囲を逸脱することなく、他の例が利用されてよく、構造的、論理的、及び／または電気的変更が行われてよい。
【００４３】
本明細書の図は、最初の数字（複数可）が図面の図番に対応し、残りの数字が図面の要素またはコンポーネントを識別する番号付けの慣習に従う。異なる図面の間の類似の要素またはコンポーネントは、類似の数字を使用することによって識別されてよい。認識されるように、本明細書における様々な実施形態において示される要素は、本開示のいくつかの追加の実施形態を提供するように、追加、交換、及び／または削除することができる。さらに、認識されるように、図において提供される要素の釣り合い及び相対的大きさは、本開示の実施形態を示すことを意図しており、限定的な意味に取られるべきではない。
【００４４】
本明細書で使用される場合、「いくつかの（ａ  ｎｕｍｂｅｒ  ｏｆ）」何かは、そのようなもののうちの１つまたは複数を指すことができる。例えば、いくつかのメモリセルは、１つまたは複数のメモリセルを指すことができる。「複数の（ｐｌｕｒａｌｉｔｙ）」何かは、２つ以上を意図している。本明細書で使用される場合、同時に実行される複数の行為は、特定の期間にわたって少なくとも部分的に重なる行為を指す。本明細書で使用される場合、用語「結合される（ｃｏｕｐｌｅｄ）」は、電気的に結合されること、直接結合されること、及び／または介在要素なしに直接接続されること（例えば、直接の物理的接触による）、または介在要素により間接的に結合及び／または接続されることを含み得る。結合されるという用語はさらに、相互に協働または相互作用する２つ以上の要素を含んでよい（例えば、原因及び結果関係にあるような）。
【００４５】
特定の例が本明細書で示され、及び説明されたが、当業者は、同一の結果を達成するよう計算された構成が、示された特定の実施形態の代わりに使用されてよいことを認識されよう。本開示は、本開示の１つまたは複数の実施形態の適合または変形を含むことを意図している。上記説明は、例示的なものであり、限定的なものではないことは理解されよう。本開示の１つまたは複数の例の範囲は、添付の請求項が権利化されるのと同等のものの全範囲と共に、そのような請求項を参照して決定されるべきである。
【図１】
2021527912.tif 000003
【図２】
2021527912.tif 000004
【図３】
2021527912.tif 000005
【図４】
2021527912.tif 000006
【手続補正書】
【提出日】令和2年12月10日(2020.12.10)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
メモリセルアレイと、
前記アレイに結合されたコントローラと、
を含む装置であって、前記コントローラは、
前記アレイのセンチネルセルのグループを読み取り、且つ、
前記アレイのセルのいくつかの他のグループを読み取ることなく、前記センチネルセルのグループに記憶されたデータが整合性を欠くという判断に基づいて、前記セルのいくつかの他のグループに記憶されたデータが整合性を欠くと判断するように、
構成される、前記装置。
【請求項２】
前記コントローラは、前記センチネルセルのグループに記憶された前記データが閾値より多い数のエラーを含むと判断されたことに応答して、前記センチネルセルのグループに記憶された前記データが整合性を欠くと判断するように構成される、請求項１に記載の装置。
【請求項３】
前記コントローラは、前記センチネルセルのグループに記憶された前記データが整合性を欠くと判断されたことに応答して、前記セルのいくつかの他のグループに記憶された前記データをリフレッシュするように構成される、請求項１に記載の装置。
【請求項４】
前記コントローラは、
前記センチネルセルのグループに対応する書き込みスタンプを追跡し、
前記セルのいくつかの他のグループに対応する書き込みスタンプを追跡し、且つ、
前記センチネルセルのグループに記憶された前記データが整合性を欠くと判断されたことに応答して、前記センチネルセルのグループに対応する書き込みスタンプより少ない書き込みスタンプに対応する前記セルのいくつかの他のグループのみをリフレッシュする
ように構成される、請求項３に記載の装置。
【請求項５】
前記セルのいくつかの他のグループに対応する前記書き込みスタンプは、前記セルのいくつかの他のグループに記憶された前記データが前記アレイに書き込まれる時の前記アレイへの書き込み数を含み、
前記センチネルセルのグループに対応する前記書き込みスタンプは、前記センチネルセルのグループに記憶された前記データが前記アレイに書き込まれる時の前記アレイへの書き込み数である、
請求項４に記載の装置。
【請求項６】
前記コントローラは、前記セルのいくつかの他のグループにデータが書き込まれるＮ回ごとに一度、前記センチネルセルのグループに同じ所定のセンチネルデータを書き込むように構成される、請求項１に記載の装置。
【請求項７】
前記コントローラは、前記センチネルセルのグループとしてセルのどのグループを使用するかを定期的に変更するように構成される、請求項１に記載の装置。
【請求項８】
前記センチネルセルのグループは、前記アレイのメモリセルのブロックの一部であり、
前記ブロックは、書き込みスタンプに対応し、且つ、
前記コントローラは、前記書き込みスタンプ基づいた頻度で、前記センチネルセルのグループを読み取るように構成される、
請求項１に記載の装置。
【請求項９】
メモリセルアレイと、
前記メモリセルアレイに結合されたコントローラと、
を含む装置であって、前記コントローラは、
前記アレイのセンチネルメモリセルのグループであって、前記センチネルメモリセルのグループに対応するセンチネルデータと書き込みスタンプとを記憶する前記センチネルメモリセルのグループに対して読み取りを行い、
前記センチネルデータの品質を前記読み取りに基づいて判断し、
前記センチネルデータが品質に欠けるという判断に応答して、
前記アレイの非センチネルメモリセルの各グループに対応する書き込みスタンプを決定し、
決定された書き込みスタンプが非センチネルメモリセルが前記センチネルメモリセルのグループの前に書き込まれたことを示す前記非センチネルメモリセルの各グループに対して、リフレッシュ動作を行うように
構成される、前記装置。
【請求項１０】
メモリセルアレイと、
前記メモリセルアレイに結合されたコントローラと、
を含む装置であって、前記コントローラは、
前記アレイのメモリセルの第１のグループに向けられた書き込みコマンドに応答して、
書き込みスタンプをインクリメントし、
前記第１のグループにデータを書き込み、前記インクリメントされた書き込みスタンプの値に関わらず、前記第１のグループに対応する書き込みスタンプを前記インクリメントされた書き込みスタンプで更新し、且つ、
前記インクリメントされた書き込みスタンプが前記インクリメントされた書き込みスタンプのインクリメントの特定の数の倍数であるときのみ、前記メモリアレイのメモリセルの第２のグループにセンチネルデータを書き込み、前記第２のグループに対応する書き込みスタンプを更新する
ように構成され、
前記インクリメントされた書き込みスタンプは、前記データが前記第１のグループに書き込まれた時に前記アレイに書き込まれた回数に対応する、
前記装置。
【請求項１１】
前記コントローラは、前記第１のグループに書き込まれた前記データを読み取ることなく、前記センチネルデータを読み取る時に発生するエラーの数に基づいて、前記第１のグループに書き込まれた前記データの整合性を判断するように構成される、請求項１０に記載の装置。
【請求項１２】
前記コントローラは、
前記第１のグループに対応する前記更新された書き込みスタンプを前記第１のグループに記憶し、且つ、
前記インクリメントされた書き込みスタンプが前記インクリメントされた書き込みスタンプのインクリメントの前記特定の数の前記倍数である時のみ、前記第２のグループに対応する前記更新された書き込みスタンプを前記第２のグループに記憶する
ように構成される、請求項１０〜１１のいずれか一項に記載の装置。
【請求項１３】
前記コントローラは、前記第１のグループに対応する前記更新された書き込みスタンプを、前記第１のグループのアドレスを特定するテーブルのエントリに記憶するように構成される、請求項１０〜１１のいずれか一項に記載の装置。
【請求項１４】
メモリアレイのセンチネルメモリセルのいくつかのグループのそれぞれからセンチネルデータを読み取ることと、
前記アレイの非センチネルメモリセルの各グループから非センチネルデータを読み取ることなく、前記センチネルメモリセルのいくつかのグループのそれぞれから前記センチネルデータを読み取ることに基づいて、前記非センチネルメモリセルの各グループに記憶された各非センチネルデータの整合性を判断することと、
を含む、方法。
【請求項１５】
前記センチネルメモリセルのいくつかのグループのそれぞれから前記センチネルデータを読み取る際のエラーの数に基づいて、前記非センチネルメモリセルの各グループに記憶された前記各非センチネルデータの前記整合性を判断することをさらに含む、請求項１４に記載の方法。
【請求項１６】
前記各非センチネルデータは、前記センチネルデータが前記センチネルメモリセルのいくつかのグループの特定のグループに書き込まれる前に、前記非センチネルメモリセルの各グループに書き込まれたと判断することに応答して、且つ、前記特定のグループに書き込まれたセンチネルデータの読み取り時のエラーの前記数が、閾値エラー数より多いと判断されることに応答して、前記各非センチネルデータは整合性に欠けると判断することをさらに含む、請求項１５に記載の方法。
【国際調査報告】
2021527912.tif 000007
2021527912.tif 000008
2021527912.tif 000009