(57)【特許請求の範囲】
【請求項１】
メモリ内の電源遮断管理に関する方法であって、
破損したページと関連するトランザクションログ情報を判定するために、書き込み先読み情報を使用して、前記破損したページと関連する判定されたトランザクションログ情報をトランザクションログに書き込むことにより、前記トランザクションログを更新して前記トランザクションログの前記破損したページを再構築することであって、これにおいて、前記書き込み先読み情報は、少なくとも部分的には、最近書き込まれたデータの場所及びデータを受信する用意のできているフリーブロックが配置されている場所を示すウェアレベリングアルゴリズムからの情報を含むことと、
前記更新されたトランザクションログを使用して、不揮発性メモリに記憶されている論理アドレス（ＬＡ）テーブルを更新することと、
を含む、方法。
【請求項２】
前記書き込み先読み情報が、メモリシステム内にデータが次に書き込まれたであろう場所についての情報を含む、請求項１に記載の方法。
【請求項３】
前記書き込み先読み情報が、メモリシステム内にデータが直近に書き込まれていた場所についての情報を含む、請求項２に記載の方法。
【請求項４】
前記ウェアレベリングアルゴリズムからの情報を使用して、データが直近に書き込まれていた場所および次に書き込まれたであろう場所についての、書き込み先読み情報を作り出すことを更に含む、請求項３に記載の方法。
【請求項５】
ガベージコレクションアルゴリズムからの情報を使用して、データが直近に書き込まれていた場所および次に書き込まれたであろう場所についての、書き込み先読み情報を作り出すことを更に含む、請求項４に記載の方法。
【請求項６】
揮発性メモリ内のＬＡテーブルをコピーすることによって、前記不揮発性メモリ内のＬＡテーブルを周期的に記憶することを更に含む、請求項５に記載の方法。
【請求項７】
前記トランザクションログ内の前記トランザクションログ情報を記録することを更に含み、前記トランザクションログ情報が、前記揮発性メモリ内のＬＡテーブルが不揮発性メモリ内に前回コピーされた後に、前記不揮発性メモリを含むメモリシステム内で発生した書き込みについての情報を含む、請求項６に記載の方法。
【請求項８】
前記トランザクションログを更新することが、トランザクションログ情報のページを再構築することを含む、請求項１〜７のいずれか一項に記載の方法。
【請求項９】
前記方法が、前記書き込み先読み情報を使用して、メモリ内の場所を見出し、前記場所での前記データに関連するリビジョン番号を探知することによって、前記場所で発生した有効な書き込みを検証することを含み、これにおいて、前記リビジョン番号は、前記場所における前記データを識別し、前記場所で発生した有効な書き込みを示すことができるものである、請求項８に記載の方法。
【請求項１０】
メモリシステムであって、
論理アドレス（ＬＡ）テーブルおよびトランザクションログを記憶するように構成され、前記ＬＡテーブルは、揮発性メモリ内のＬＡテーブルのコピーである、ソリッドステート不揮発性メモリと、
破損したページと関連するトランザクションログ情報を判定するために、書き込み先読み情報を使用して、前記破損したページと関連する判定されたトランザクションログ情報をトランザクションログに書き込むことにより、前記トランザクションログを更新して前記トランザクションログの前記破損したページを再構築し、これにおいて、前記書き込み先読み情報は、少なくとも部分的には、最近書き込まれたデータの場所及びデータを受信する用意のできているフリーブロックが配置されている場所を示すウェアレベリングアルゴリズムからの情報を含み、
前記更新されたトランザクションログを使用して、不揮発性メモリに記憶されている前記ＬＡテーブルを更新するように構成される、
コントローラと、
を備える、メモリシステム。
【請求項１１】
前記トランザクションログが、前記不揮発性メモリ内のＬＡテーブルを記憶した後に、前記メモリシステム内に発生する書き込みについての情報を記録するように構成される、請求項１０に記載のメモリシステム。
【請求項１２】
前記コントローラが、前記書き込み先読み情報を使用して、前記トランザクションログ内のトランザクションログ情報の最終ページを再構築するように構成される、請求項１０に記載のメモリシステム。
【請求項１３】
コンデンサが、前記不揮発性メモリに結合されて、電源遮断の後に、前記メモリシステムに電力を一時的に提供する、請求項１０〜１２のいずれか一項に記載のメモリシステム。
【請求項１４】
前記コントローラが、前記場所での前記データに関連するリビジョン番号を識別することによって、データが次に書き込まれたであろう場所で発生した有効な書き込みを検証するように構成され、これにおいて、前記リビジョン番号は、前記場所における前記データを識別し、前記場所で発生した有効な書き込みを示すことができるものである、請求項１０に記載のメモリシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、全般的には、半導体メモリのデバイス、方法、およびシステムに関し、より具体的には、電源遮断管理に関する。
【背景技術】
【０００２】
メモリデバイスは、典型的には、コンピュータまたは他の電子デバイス内の、内蔵半導体集積回路として提供される。揮発性および不揮発性のメモリを含めた、多種多様なタイプのメモリが存在する。揮発性メモリは、そのデータを維持するために電力を必要とする可能性があり、数ある中でも特に、ランダムアクセスメモリ（ＲＡＭ）、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）、および同期ダイナミックランダムアクセスメモリ（ＳＤＲＡＭ）を含む。不揮発性メモリは、電力が供給されていない場合に、記憶された情報を保持することによって、永続的データを提供することができ、数ある中でも特に、ＮＡＮＤフラッシュメモリ、ＮＯＲフラッシュメモリ、読み出し専用メモリ（ＲＯＭ），電気的消去可能プログラマブル可能ＲＯＭ（ＥＥＰＲＯＭ）、消去可能プログラマブルＲＯＭ（ＥＰＲＯＭ）、および相変化ランダムアクセスメモリ（ＰＣＲＡＭ）を含むことができる。
【０００３】
メモリデバイスは、共に組み合わされて、ソリッドステートドライブ（ＳＳＤ）を形成することができる。ソリッドステートドライブは、数ある様々なタイプの不揮発性および揮発性のメモリの中でも特に、例えばＮＡＮＤフラッシュメモリおよびＮＯＲフラッシュメモリなどの不揮発性メモリを含むことができ、かつ／または、例えばＤＲＡＭおよびＳＲＡＭなどの揮発性メモリを含むことができる。窒化物層内の電荷トラップ内に情報を記憶する、半導体‐酸化物‐窒化物‐酸化物‐半導体のコンデンサ構造、および金属‐酸化物‐窒化物‐酸化物‐半導体のコンデンサ構造を使用する、浮遊ゲートフラッシュデバイスおよび電荷トラップフラッシュ（ＣＴＦ）デバイスを含めた、フラッシュメモリデバイスは、広範囲の電子的用途に関する不揮発性メモリとして利用することができる。フラッシュメモリデバイスは、一般的には、高メモリ密度、高信頼性、および低電力消費を可能にする、１トランジスタメモリセルを使用する。
【０００４】
ソリッドステートドライブは、性能、サイズ、重量、耐久性、動作温度範囲、および電力消費の点で、ハードドライブに勝る利点を有することができるため、ＳＳＤを、コンピュータ用の主記憶デバイスとして、ハードディスクドライブに置き換えて使用することができる。例えば、ＳＳＤは、それらが可動部品を欠くことにより、シークタイム、レイテンシ、および磁気ディスクドライブに関連する他の電気機械的遅延を回避する場合があるため、磁気ディスクドライブと比較した場合に、優れた性能を有することができる。ＳＳＤの製造業者は、不揮発性フラッシュメモリを使用して、内部バッテリー供給を使用しなくともよいフラッシュＳＳＤを作り出すことができ、それゆえ、このドライブを、より多目的かつコンパクトにすることが可能になる。
【０００５】
ＳＳＤは、多数のメモリデバイス、例えば、多数のメモリチップを含むことができる（本明細書で使用するとき、「多数の」何かは、１つ以上のそのようなものを指すことができ、例えば、多数のメモリデバイスは、１つ以上のメモリデバイスを指すことができる）。当業者には理解されるように、メモリチップは、多数のダイおよび／または論理ユニット（ＬＵＮ）を含むことができる。各ダイは、その上に、多数のメモリアレイおよびその上の周辺回路を含むことができる。メモリアレイは、多数の物理ページへと組織化される多数のメモリセルを含むことができ、物理ページは、多数のブロックへと組織化することができる。
【０００６】
ソリッドステートドライブは、論理ブロックアドレス（ＬＢＡ）テーブルなどの、論理アドレス（ＬＡ）テーブルを含むことができる。ＬＢＡテーブルは、データの論理アドレスをソリッドステートドライブのメモリアレイ内のデータの物理的位置に連係させる情報を記録するために、使用することができる。このＬＢＡテーブルは、ソリッドステートドライブ内の揮発性メモリ内に記憶させることができ、ＬＢＡテーブルのコピーもまた、ソリッドステートドライブ内の不揮発性メモリ内に記憶させることができる。ＬＢＡテーブルは、ソリッドステートドライブ内で読み出し要求が開始される際に、ソリッドステートドライブ内のデータの物理的位置を探知し、そのデータを読み出すために使用することができる。特定の論理アドレスにおけるデータに対する読み出し要求は、ホストによって開始することができる。その論理アドレスは、ＬＢＡテーブル内に見出すことができ、次いで、対応する物理アドレスを指示することができる。ソリッドステートドライブは、指示された物理アドレスからデータを読み出し、ソリッドステートドライブに対する読み出し要求を完了することができる。
【０００７】
ソリッドステートドライブ内のデータに関する、論理アドレスと物理アドレスとの関係についての、現時点の、例えば直近の情報を備えたＬＢＡテーブルを有しない、ソリッドステートドライブでは、そのソリッドステートドライブ内の一部のデータがアクセス不能になる恐れがある。それゆえ、ソリッドステートドライブ内の全てのデータへの完全なアクセスのためには、現時点でのＬＢＡテーブルが望ましい。ソリッドステートドライブ内のＬＢＡテーブルは、ＬＢＡテーブルが揮発性メモリ内に記憶されるため、および／またはＬＢＡテーブルが不揮発性メモリ内に周期的に記憶されるために、電源遮断の後に失われるか、または不完全になる恐れがある。それゆえ、電源遮断により、電源遮断の直前の時間内にソリッドステートドライブに書き込まれたデータについての情報を有しないＬＢＡテーブルを、ソリッドステートドライブに有しさせることになる可能性がある。
【図面の簡単な説明】
【０００８】
【図１】本開示の１つ以上の実施形態による、少なくとも１つのメモリシステムを含むコンピューティングシステムの機能ブロック図である。
【図２】本開示の１つ以上の実施形態による、メモリシステムの機能ブロック図である。
【図３】本開示の１つ以上の実施形態による、不揮発性メモリ内の、トランザクションログ、ブロックテーブル、および論理ブロックアドレス（ＬＢＡ）テーブルのブロック図である。
【図４】本開示の１つ以上の実施形態による、再利用ユニットの機能ブロック図である。
【図５】本開示の１つ以上の実施形態による、トランザクションログを示す表である。
【図６】本開示の１つ以上の実施形態による、ブロックテーブルを示す表である。
【図７】本開示の１つ以上の実施形態による、論理ブロックアドレス（ＬＢＡ）テーブルを示す表である。
【発明を実施するための形態】
【０００９】
本開示は、メモリ内の電源遮断管理に関する方法及びデバイスを含む。１つの方法の実施形態は、書き込み先読み情報を使用して、トランザクションログ内のトランザクションログ情報を更新することと、そのトランザクションログを使用して、論理アドレス（ＬＡ）テーブルを更新することとを含む。
【００１０】
本開示の、以下の発明を実施するための形態では、本明細書の一部分を形成し、本開示の１つ以上の実施形態が実施されてもよい方法が例示として示される、添付の図面を参照する。これらの実施形態は、当業者が本開示の実施形態を実施することを可能にするように、十分詳細に説明され、また、他の実施形態が利用されてもよく、本開示の範囲から逸脱することなく、プロセスの変更、電気的な変更、および／または構造的な変更が為されてもよいことが理解される。
【００１１】
本開示の、以下の発明を実施するための形態では、本明細書の一部分を形成し、本開示の１つ以上の実施形態が実施されてもよい方法が例示として示される、添付の図面を参照する。これらの実施形態は、当業者が本開示の実施形態を実施することを可能にするように、十分詳細に説明され、また、他の実施形態が利用されてもよく、本開示の範囲から逸脱することなく、プロセスの変更、電気的な変更、および／または構造的な変更が為されてもよいことが理解される。本明細書で使用するとき、「Ｎ」、「Ｍ」、および「Ｒ」の指示子は、具体的には図面内の参照番号に関して、多数のそのように指示された特定の特徴が、本開示の１つ以上の実施形態と共に含まれる可能性があることを示す。
【００１２】
本明細書の図は、最初の桁（複数可）が図面の図番号に対応し、残りの桁（複数）が図面内の要素または構成要素を識別する、番号付け規約に従う。異なる図の間で、同様の要素または構成要素は、同様の桁の使用によって識別される場合がある。例えば、１０８は、図１の要素「０８」に言及する場合があり、同様の要素は、図２では２０８として言及される場合がある。理解されるであろうように、本開示の多数の追加的実施形態を提供するように、本明細書の様々な実施形態で示される要素を、追加、交換、および／または削除することができる。更には、理解されるであろうように、図内に提供される要素の比率および相対的スケールは、本発明の特定の実施形態を説明することを意図するものであり、限定的な意味で解釈するべきではない。
【００１３】
図１は、本開示の１つ以上の実施形態による、少なくとも１つのメモリシステム１０４を含むコンピューティングシステム１００の機能ブロック図である。図１に示す実施形態では、メモリシステム１０４（例えばソリッドステートドライブ（ＳＳＤ））は、物理ホストインターフェース１０６、コントローラ（例えばメモリシステム制御回路）１０８、および１つ以上のソリッドステートメモリデバイス１１０‐１〜１１０‐Ｎを含むことができる。ソリッドステートメモリデバイス１１０‐１〜１１０‐Ｎは、例えば、メモリデバイスにフォーマットされたファイルシステムによる、このメモリシステム用の記憶ボリュームを提供することができる。１つ以上の実施形態では、メモリシステム制御回路１０８は、物理インターフェース１０６とソリッドステートメモリデバイス１１０‐１〜１１０‐Ｎとを含むプリント回路基板に結合される、特定用途向け集積回路（ＡＳＩＣ）とすることができる。
【００１４】
図１に示すように、メモリシステム制御回路１０８は、物理ホストインターフェース１０６およびソリッドステートメモリデバイス１１０‐１〜１１０‐Ｎに結合することができる。物理ホストインターフェース１０６を使用して、メモリシステム１０４と、ホストシステム１０２などの別のデバイスとの間で情報を通信することができる。ホストシステム１０２は、メモリアクセスデバイス、例えばプロセッサを含むことができる。「プロセッサ」は、並列処理システム、多数のコプロセッサなどのような、１つ以上のプロセッサを意図することができることが、当業者には理解されよう。ホストシステムの例としては、ラップトップコンピュータ、パーソナルコンピュータ、デジタルカメラ、デジタル録音再生デバイス、携帯電話、ＰＤＡ、メモリカードリーダー、インターフェースハブなどが挙げられる。１つ以上の実施形態に関しては、物理ホストインターフェース１０６は、標準化されたインターフェースの形態とすることができる。例えば、メモリシステム１０４を、コンピューティングシステム１００でのデータ記憶に関して使用する場合、物理ホストインターフェース１０６は、数あるコネクタおよびインターフェースの中でも特に、シリアルアドバンスドテクノロジーアタッチメント（ＳＡＴＡ）、周辺機器相互接続エクスプレス（ＰＣＩｅ）、またはユニバーサルシリアルバス（ＵＳＢ）とすることができる。しかしながら、一般的には、物理ホストインターフェース１０６は、メモリシステム１０４と、物理ホストインターフェース１０６に適合するレセプタを有するホストシステム１０２との間で、制御信号、アドレス信号、データ信号、および他の信号を通過させるためのインターフェースを提供することができる。
【００１５】
メモリシステム制御回路１０８は、ソリッドステートメモリデバイス１１０‐１〜１１０‐Ｎと通信して、数ある動作の中でも特に、データの読み出し、書き込み、および消去をすることができる。メモリシステム制御回路１０８は、１つ以上の集積回路および／または個別構成要素であってもよい、回路を有することができる。１つ以上の実施形態に関しては、メモリシステム制御回路１０８内の回路は、ソリッドステートメモリデバイス１１０‐１〜１１０‐Ｎの全体にわたるアクセスを制御するための制御回路、およびホストシステム１０２とメモリシステム１０４との間に変換レイヤーを提供するための回路を含んでもよい。それゆえ、メモリコントローラは、ソリッドステートメモリデバイス１１０‐１〜１１０‐ＮのＩ／Ｏ接続（図１には示さず）を選択的に結合して、適切な時間に、適切なＩ／Ｏ接続で、適切な信号を受信することができる。同様に、ホストシステム１０２とメモリシステム１０４との間の通信プロトコルは、ソリッドステートメモリデバイス１１０‐１〜１１０‐Ｎのアクセスに関して要求されるものとは異なってもよい。その場合、メモリシステム制御回路１０８は、ホストから受信したコマンドを、ソリッドステートメモリデバイス１１０‐１〜１１０‐Ｎへの所望のアクセスを達成するための、適切なコマンドへと変換することが可能である。
【００１６】
ソリッドステートメモリデバイス１１０‐１〜１１０‐Ｎは、メモリセル（例えば不揮発性メモリセル）の、１つ以上のアレイを含むことができる。このアレイは、例えば、ＮＡＮＤアーキテクチャーを備えるフラッシュアレイとすることができる。ＮＡＮＤアーキテクチャーでは、「行」のメモリセルの制御ゲートは、アクセス（例えばワード）の線に結合することができ、一方で、メモリセルは、選択ゲートソーストランジスタと選択ゲートドレイントランジスタとの間の「ストリング」内で、ソースからドレインへと直列に結合することができる。ストリングは、選択ゲートドレイントランジスタによって、データ（例えばビット）の線に接続することができる。用語「行」および「ストリング」の使用は、メモリセルの直線状配列または直交配列のいずれをも意味しない。当業者には理解されるであろうように、ビット線およびソース線へのメモリセルの接続の方式は、そのアレイがＮＡＮＤアーキテクチャーであるか、ＮＯＲアーキテクチャーであるか、または他の何らかのメモリアレイアーキテクチャーであるかに応じて変化する。
【００１７】
ソリッドステートメモリデバイス１１０‐１〜１１０‐Ｎは、グループ化することができる多数のメモリセルを含むことができる。本明細書で使用するとき、グループは、ページ、ブロック、プレーン、ダイ、アレイ全体、またはメモリセルの他のグループなどの、１つ以上のメモリセルを含むことができる。例えば、一部のメモリアレイは、メモリセルのブロックを構成する、多数のメモリセルのページを含むことができる。多数のブロックを、メモリセルのプレーン内に含めることができる。多数のメモリセルのプレーンを、１つのダイに含めることができる。一例として、１２８ＧＢのメモリデバイスは、１ページ当たり４３１３バイトのデータ、１ブロック当たり１２８のページ、１プレーン当たり２０４８のブロック、および１デバイス当たり１６のプレーンを含むことができる。
【００１８】
メモリデバイスでは、物理ページは、書き込みおよび／または読み出しのユニット、例えば、共に、またはメモリセルの１つの機能グループとして、書き込みおよび／または読み出しが行なわれる多数のセルを参照することができる。したがって、偶数ページと奇数ページとは、別個の書き込みおよび／または読み出しの動作により、書き込みおよび／または読み出しを行なうことができる。マルチレベルセル（ＭＬＣ）を含む実施形態に関しては、物理ページは、データの上位ページおよび下位ページへと論理的に区分することができる。例えば、１つのメモリセルは、データの上位ページに１つ以上のビットを寄与し、かつデータの下位ページに１つ以上のビットを寄与することができる。したがって、データの上位ページおよび下位ページは、１回の書き込みおよび／または読み出しの動作の一部として、書き込みおよび／または読み出しを行なうことができるが、これは論理上位ページおよび論理下位ページが、双方とも同一の物理ページの一部であるためである。
【００１９】
メモリシステム１０４は、ソリッドステートメモリデバイス１１０‐１〜１１０‐Ｎに対する磨耗率を制御するための、ウェアレベリングを実行することができる。ソリッドステートメモリアレイは、多数のプログラムおよび／または消去のサイクルの後では、失敗を起こす恐れがある。ウェアレベリングは、特定のグループに対して実行される、プログラムおよび／または消去のサイクルの数を低減することができる。ウェアレベリングは、ブロックを再利用するために移動される、有効ブロックの量を最小限に抑えるための、ダイナミックウェアレベリングを含むことができる。ダイナミックウェアレベリングは、閾値量を超える無効ページを備えるブロックが、そのブロックを消去することによって再利用される、ガベージコレクションと呼ばれる技術を含んでもよい。無効ページは、例えば、更新されて異なるページ内に記憶されているデータのページとすることができる。スタティックウェアレベリングは、高い消去回数を有するブロックに静的データを書き込み、そのブロックの寿命を延長することを含むことができる。
【００２０】
図１の実施形態は、本開示の実施形態を不明瞭にしないために示されない、追加的な回路を含むことができる。例えば、メモリシステム１０４は、Ｉ／Ｏ回路を通過したＩ／Ｏ接続を介して提供されるアドレス信号にラッチするための、アドレス回路を含むことができる。アドレス信号は、行デコーダーおよび列デコーダーによって受信されてデコードされ、ソリッドステートメモリデバイス１１０‐１〜１１０‐Ｎにアクセスすることができる。アドレス入力接続の数は、ソリッドステートメモリデバイス１１０‐１〜１１０‐Ｎの密度およびアーキテクチャーに依存する可能性があることが、当業者には理解されよう。
【００２１】
図２は、本開示の１つ以上の実施形態による、メモリシステム２０４の機能ブロック図である。メモリシステム２０４は、メモリシステム制御回路２０８を含むことができる。メモリシステム制御回路２０８は、１つ以上のソリッドステートメモリデバイス（例えば不揮発性メモリ２１０および／または揮発性メモリ２１２）に結合することができる。メモリシステム２０４およびメモリシステム制御回路２０８は、それぞれ、図１に示すメモリシステム１０４およびメモリシステム制御回路１０８に類似のものとすることができる。
【００２２】
メモリシステム制御回路２０８は、ホストインターフェース回路２１４、ホストメモリ変換回路２１６、メモリ管理回路２１８、スイッチ２２０、不揮発性メモリ制御回路２２２、および／または揮発性メモリ制御回路２２４を含むことができる。本明細書で説明するように、メモリシステム制御回路２０８は、ＡＳＩＣの形態で提供することができるが、しかしながら、実施形態は、そのように限定されるものではない。
【００２３】
ホストインターフェース回路２１４は、ホストメモリ変換回路２１６に結合することができる。ホストインターフェース回路２１４は、図１に示す物理インターフェース１０６などの物理インターフェースで、ホストシステムに結合および／または組み込むことができる。
【００２４】
一般的には、ホストインターフェース回路２１４は、ホストシステム、例えばＰＣＩｅから受信したコマンドパケットを、ホストメモリ変換回路２１６に関するコマンド命令へと変換すること、およびメモリ応答を、要求ホストへの送信に関するホストシステムコマンドへと変換することに対応する。例えば、ホストインターフェース回路２１４は、ＰＣＩｅに基づくトランザクションレイヤーパケットから、ＳＡＴＡコマンドパケットを構築することができる。
【００２５】
ホストメモリ変換回路２１６は、ホストインターフェース回路２１４、メモリ管理回路２１８、および／またはスイッチ２２０に結合することができる。ホストメモリ変換回路２１６は、論理（例えば、ホスト）アドレス（例えば、受信されるコマンドに関連する）を、物理メモリアドレスに変換するように構成することができる。例えば、ホストメモリ変換回路２１６は、ホストのセクター読み出しおよび書き込みコマンドを、不揮発性メモリ２１０の特定部分に向けられるコマンドに変換することができる。各ホスト動作は、単一セクターまたはマルチセクターの不揮発性メモリ２１０の動作に変換することができる。
【００２６】
メモリ管理回路２１８は、ホストメモリ変換回路２１６および／またはスイッチ２２０に結合することができる。メモリ管理回路２１８は、例えば、プロセッサ２２８の動作を介して、多数のプロセスを制御することができ、それらのプロセスとしては、初期化、ウェアレベリング、（例えば、ガベージコレクションおよび／またはブロック再利用）、および誤り訂正などが挙げられるが、これらに限定されない。メモリ管理回路２１８は、グループ（例えばブロックテーブル２３６）にアクセスして、ウェアレベリングの候補対象を判定することができる。メモリ管理回路２１８は、論理アドレスに関連するデータが新たな物理アドレスに書き込まれる際に（例えば、ウェアレベリングまたはデータに対する更新の一部として）、論理アドレスに対応する新たな物理アドレスで、ＬＢＡテーブル、例えばＬＢＡテーブル２３４を更新することができる。
【００２７】
メモリ管理回路２１８は、例えばスタティックウェアレベリング動作の一部として、ブロックテーブル２３６内で、高い消去回数を有するブロックを検索することができる。メモリ管理回路は、特定のブロックの消去回数を、閾値回数と比較することができる。例えば、最低の消去回数を有するブロックの消去回数を、特定のブロックから減算することができる。その差が閾値回数よりも大きい場合には、その特定のブロックを、ブロック再利用の候補対象として指示することができる。
【００２８】
メモリ管理回路２１８は、例えばダイナミックウェアレベリング動作の一部として、ガベージコレクション閾値量の無効（例えば未使用）の部分（例えばページ）をその中に有するブロックを、検索することができる。メモリ管理回路２１８は、再利用回路２３０を含むことができる。再利用は、ガベージコレクションの結果として、メモリ管理回路２１８によって起動することができるプロセスである。再利用は、消去されるブロック内の場所から、全ての有効データを、そのブロックが消去される前に別のブロック内の場所に移動させることを伴うことができる。
【００２９】
スイッチ２２０は、ホストメモリ変換回路２１６、メモリ管理回路２１８、不揮発性制御回路２２２、および／または揮発性メモリ制御回路２２４に結合することができる。スイッチ２２０は、クロスバースイッチとすることができ、１つ以上のバッファ（例えばスタティックランダムアクセスメモリ（ＳＲＡＭ）バッファ）を含み、かつ／または結合することができる。スイッチ２２０は、メモリシステム制御回路２０８の様々な構成要素間に、インターフェースを提供することができる。スイッチ２２０は、構成要素間の一貫したアクセスおよび実行を提供するために、メモリシステム制御回路２０８の種々の構成要素に関連する場合がある定義信号プロトコルの差異の責任を負うことができる。１つ以上の実施形態では、スイッチ２２０は、ダイレクトメモリアクセス（ＤＭＡ）モジュールとすることができる。
【００３０】
コントローラ、例えば不揮発性メモリ制御回路２２２は、スイッチ２２０および１つ以上の不揮発性メモリデバイス２１０に結合することができる。１つ以上の不揮発性メモリデバイス２１０は、数ある情報の中でも特に、本明細書で説明するように、トランザクションログ２３８、論理ブロックアドレス（ＬＢＡ）テーブル２３４‐Ｃなどの論理アドレス（ＬＡ）テーブルのコピー、および／またはブロックテーブル２３６‐Ｃなどのグループテーブルを記憶することができる。一部の実施形態では、メモリシステム制御回路２０８は、全てのメモリチャネルに対して１つの不揮発性メモリコントローラを含むことができる。他の実施形態では、各メモリチャネルは、別個の不揮発性メモリコントローラに結合される。
【００３１】
揮発性メモリ制御回路２２４は、スイッチ２２０および１つ以上の揮発性メモリデバイス２１２に結合することができる。この１つ以上の揮発性メモリデバイスは、数ある情報の中でも特に、ＬＢＡテーブル２３４、および／またはブロックテーブル２３６を記憶することができる。ＬＢＡテーブル２３４は、１つ以上の不揮発性メモリデバイス２１０内のページの物理アドレスを記憶し、対応する論理アドレスを含むことができる。ＬＢＡテーブル２３４は、関連するＳＡＴＡコマンド内に含まれるＬＢＡによって指標付けすることができる。ＬＢＡテーブル２３４は、ホストメモリ変換回路２１６によって、例えば、論理ブロックアドレスに対応する物理ページアドレスを探索するために使用することができる。ブロックテーブル２３６は、１つ以上の不揮発性メモリデバイス２１０内の消去可能なブロックに関する情報を記憶することができる。ブロックテーブル２３６内に記憶される情報には、有効ページ情報、消去回数、および他のステータス情報を含むことができる。ブロックテーブル２３６からアクセスされる情報は、物理ブロックアドレスによって指標付けすることができる。
【００３２】
図３は、本開示の１つ以上の実施形態による、不揮発性メモリ３１０内の、トランザクションログ３３８、ブロックテーブル３３４、および論理ブロックアドレス（ＬＢＡ）テーブル３３６のブロック図を示す。不揮発性メモリは、数ある情報の中でも特に、書き込み動作情報を、ＬＢＡテーブル３３６、ブロックテーブル３３４、および／またはトランザクションログ３３８内に記憶することができる。
【００３３】
揮発性メモリ内に記憶されるＬＢＡテーブルのコピーは、不揮発性メモリ３１０内のＬＢＡテーブル３３６として、数ある周期的間隔の中でも特に、少なくとも３００秒毎のように、周期的に記憶することができる。例えば、ＬＢＡテーブル３３６は、不揮発性メモリ３１０内に、１２０秒毎に記憶することができる。揮発性メモリ内のＬＢＡテーブルは、ソリッドステートドライブ内の各書き込みの後に更新することができる。不揮発性メモリデバイス内のＬＢＡテーブルを更新する頻度に関する時間周期は、数ある要因の中でも特に、メモリシステムが実行する書き込みの頻度、および／またはデータが書き込まれる速度に依存して変化し得る。
【００３４】
トランザクションログ３３８を不揮発性メモリ内に記憶して、メモリデバイス内で発生するあらゆる書き込みについての情報を記録するために使用することができる。多数のメモリデバイスを有するメモリシステムは、メモリデバイス内で発生するあらゆる書き込みについての情報を含むトランザクションログを含むことができる。トランザクションログは、メモリシステム内の多数のメモリデバイス全体にわたって、ストライピングすることができる。当業者には理解されるように、ストライピングは、データを、２つ以上のデバイス上に記憶されるように分割することを含む。ストライピングは、トランザクションログ情報などの書き込みデータを、フラグメントへと分割し、多数のメモリデバイスのそれぞれに、少なくとも１つのフラグメントを記憶させることを含むことができる。１つ以上の実施形態では、コントローラは、メモリデバイス内で各書き込みが実行されると、各書き込みに関するトランザクションログ情報で、トランザクションログを更新することができる。トランザクションログは、１つの時間周期の間にメモリデバイス内で発生する、全ての書き込みについての情報を含むことができる。トランザクションログは、ＬＢＡテーブル３３６が不揮発性メモリ３１０内に前回保存されてから発生した、メモリデバイスへの全ての書き込みについての情報を含むことができる。
【００３５】
１つ以上の実施形態では、トランザクションログ３３８からの情報を使用して、例えば前回の保存と電源遮断との間の、ＬＢＡテーブル３３６が不揮発性メモリ３１０内に前回保存された後の時間からの、メモリデバイス内で発生した書き込みについての情報で、ＬＢＡテーブル３３６のコピーを更新することができる。不揮発性メモリ３１０内のＬＢＡテーブル３３６のコピーは、不揮発性メモリ３１０内のＬＢＡコピー３３６は、不揮発性メモリ内へとコピーされた時点で揮発性メモリ内のＬＢＡテーブル内にあった情報を有するのみであるため、そうでなければ欠落情報となる場合がある。また、揮発性メモリ内のＬＢＡテーブルは、電源遮断の間に消去されるため、不揮発性メモリ内のＬＢＡコピーは、そうでなければ、不揮発性メモリ３１０に前回コピーされたときと消去時との間に揮発性メモリ内のＬＢＡテーブル内に記憶されたであろう情報で更新することができない。それゆえ、不揮発性メモリ３１０内のトランザクションログ３３８を使用して、不揮発性メモリ内のＬＢＡテーブル内の情報を更新することができる。トランザクションログ３３８は、データの場所、およびデータがメモリデバイスに書き込まれた時間についての情報を含むことができる。この情報は、メモリデバイスによって確認され、次いでＬＢＡテーブルへと入力されて、ＬＢＡテーブル３３６を更新することができる。１つ以上の実施形態では、トランザクションログの最終ページが、電源遮断の間に破損する可能性があるため、トランザクションログ内の情報の最終ページは、メモリアレイに書き込まれた直近のデータの一部についての情報を含まない。
【００３６】
図４に示すような再利用ユニットは、ウェアレベリングアルゴリズム（例えば、ガベージコレクションアルゴリズム）からの情報を使用して、例えば、書き込み先読み情報を作り出すことができる。この書き込み先読み情報は、最近書き込まれたデータの場所、および次のデータが書き込まれたであろう場所を含むことができる。ウェアレベリングアルゴリズムは、メモリの未使用部分および／または使用頻度の低い部分にデータを移動させることにより、データを書き込むための新たなフリーブロックを作り出す。ウェアレベリングアルゴリズムは、新たなフリーブロックの場所を含み、コントローラに、次回その新たなフリーブロックに書き込ませることができる。新たなフリーブロックの場所、ならびにデータが最近書き込まれた場所および次に書き込まれたであろう場所についての、ウェアレベリングアルゴリズムおよび／またはガベージコレクションアルゴリズムからの情報は、書き込み先読み情報内に含まれる。コントローラは、有効な書き込みなどのデータが、書き込み先読み情報によって指示される場所にあるか否か、および／またはそのデータが何であるかを、それらの場所でのリビジョン番号を照合することによって判定することができる。リビジョン番号は、ある場所でのデータに関連するメタデータ内に見出すことができ、有効な書き込みが、ある場所で発生したことを指示することができる。トランザクションログは、それらの場所でデータが見出したトランザクション情報で、更新することができる。書き込み先読み情報を使用して、トランザクションログ内の情報の、破損した最終ページを再構築することができる。次いで、不揮発性メモリ内のＬＢＡテーブルを、この時点で完成したトランザクションログで更新することができる。
【００３７】
１つ以上の実施形態では、電源遮断が発生した場合に、トランザクションログの最終ページを保存するための十分な電力をメモリデバイスに与えるための、コンデンサを含むことができる。そのような実施形態では、コンデンサからの電力を使用して、電源遮断の直前に発生したトランザクションログへの更新の保存を完了することにより、トランザクションログは、不揮発性メモリ内のＬＢＡテーブルの前回の保存以降に発生した書き込みについての情報を有し、ＬＢＡテーブルを更新するために使用することができる。
【００３８】
図４は、本開示の１つ以上の実施形態による、再利用ユニット４３０の機能ブロック図である。図４では、再利用ユニット４３０は、ウェアレベリングユニット４４４を含むことができる。再利用ユニット４３０は、ウェアレベリングユニット４４４からの情報を使用して、書き込み先読み情報４４６を作り出すことができる。書き込み先読み情報４４６は、前回の書き込みが実行されたメモリアレイ内の場所、および／または次の書き込みが実行されたであろうメモリアレイ内の場所を指示するデータとすることができる。この書き込み先読み情報は、再利用ユニット４３０によって使用され、電源遮断の前の、前回のデータ書き込みの場所を判定し、その情報でトランザクションログを更新することができる。電源遮断の前のデータの場所で更新されているトランザクションログを使用して、ＬＢＡテーブルを更新することにより、不揮発性メモリ内のＬＢＡテーブルの前回の保存と電源遮断の時間との間の書き込みについての情報を含めることができる。
【００３９】
図５は、本開示の１つ以上の実施形態による、トランザクションログ５３８を示す表である。図５では、トランザクションログ５３８は、メモリデバイス内にあるデータに関する物理アドレス５５０および論理アドレス５５２を含む、トランザクションログ情報を含むことができる。トランザクションログ５３８は、メモリデバイス内で発生するあらゆる書き込みの場所を記録することができ、トランザクションログ５３８は、メモリデバイス内に記憶することができる。トランザクションログは、メモリシステム内の多数のメモリデバイス全体にわたって、ストライピングすることができる。１つ以上の実施形態では、トランザクションログは、メモリデバイス内で発生する各トランザクションのログを取ることができ、メモリデバイスに関する参照、および／またはメモリデバイス上で実行されるトランザクションのコントローラーとすることができる。トランザクションログは、揮発性メモリからのＬＢＡテーブルのコピーが、不揮発性メモリ内に作成された後に、消去することができる。トランザクションログは、このトランザクションログの消去の後に発生するトランザクションに対応する新たなエントリで、更新することができる。
【００４０】
図５では、トランザクションログ５３８は、メモリデバイス内で発生した各トランザクションを指示する、多数のエントリ５５６‐１、５５６‐２、５５６‐３〜５５６‐Ｎを含むことができる。トランザクションログ５３８内のエントリ５５６‐１、５５６‐２、５５６‐３〜５５６‐Ｎは、書き込み、読み出し、または消去などの、トランザクションに対するコマンド５５０、トランザクションの物理アドレス５５２、およびトランザクションの論理アドレス５５４を含むことができる。
【００４１】
図６は、本開示の１つ以上の実施形態による、ブロックテーブル６３４を示す表である。ブロックテーブル６３４は、メモリデバイス内のブロックについての情報を記憶することができる。ブロックテーブル６３４内に記憶される情報は、データ有効性情報６６０、消去回数６６２、およびステータス情報６６４を含むことができる。ブロックテーブル６３４は、多数のエントリ６６６‐１、６６６‐２、６６６‐３〜６６６‐Ｍを含むことができる。ブロックテーブル６３４内の各エントリは、データのブロックおよび／またはページなどの、データに対する、物理アドレス６５２、データ有効性情報６６０、消去回数６６２、ならびにステータス情報６６４を含むことができる。ブロックテーブル６３４内のデータ有効性情報６６０は、ブロック内の各ページの有効性、例えば、そのデータが有効であるか、または無効であるかについての情報を含むことができる。ブロックテーブル６３４内の消去回数６６２は、ブロックが消去された回数を指示することができる。ブロックテーブル６３４内のステータス情報６６４は、ブロックに関する数あるステータス指示の中でも特に、ブロックが消去されているか、および／またはデータを含むかを、指示することができる。
【００４２】
図７は、本開示の１つ以上の実施形態による、論理ブロックアドレス（ＬＢＡ）テーブル７３６を示す表である。ＬＢＡテーブル７３６は、メモリデバイス内の各データエントリに関する論理アドレス７５２および物理アドレス７５４を記憶することができ、メモリデバイス内の各データエントリに関して、論理アドレス７５２の、物理アドレス７５４への変換を提供することができる。ＬＢＡテーブル７３６は、メモリデバイスへの各書き込みに対するＬＢＡによって指標付けすることができ、ＬＢＡテーブル７３６内の各データエントリに関する論理アドレス７５４および物理アドレス７５２を含む、多数のエントリ７７０‐１、７７０‐２、７７０‐３〜７７０‐Ｒを含むことができる。ＬＢＡを使用して、各エントリ内のデータが記憶されている、対応する物理アドレスを探索することができる。ＬＢＡテーブルは、メモリシステムの揮発性メモリ内に記憶することができ、揮発性メモリ内のＬＢＡテーブルのコピーを、不揮発性メモリ内に周期的に作成することができる。ＬＢＡテーブルのコピーが、不揮発性メモリ内に作成されると、揮発性メモリ内のＬＢＡテーブルを消去することができ、揮発性メモリ内のＬＢＡテーブルは、揮発性メモリ内のＬＢＡテーブルの消去後に発生するトランザクションに対応する新たなエントリで、更新されるであろう。
【００４３】
結論
本開示は、メモリ内の電源遮断管理に関する方法及びデバイスを含む。１つの方法の実施形態は、書き込み先読み情報を使用して、トランザクションログ内のトランザクションログ情報を更新すること、およびそのトランザクションログを使用して、論理アドレス（ＬＡ）テーブルを更新することを含む。
【００４４】
具体的な実施形態を、本明細書に示し、説明してきたが、同一の結果を達成するように考案された配置構成で、示された具体的な実施形態を置換することができることが、当業者には理解されよう。本開示は、本開示の１つ以上の実施形態の応用または変型を包含することを意図する。上記の説明は、例示的な方式で為されているものであり、限定的なものではないことが理解される。上記の実施形態の組み合わせ、および本明細書で具体的に説明されない他の実施形態が、上記の説明を検討すれば、当業者には明らかとなるであろう。本開示の１つ以上の実施形態の範囲は、上記の構造および方法が使用される他の適用を包含する。それゆえ、本開示の１つ以上の実施形態の範囲は、添付の特許請求の範囲を、そのような特許請求の範囲が享受する均等物の全範囲と共に参照して、判定されるべきである。
【００４５】
前述の発明を実施するための形態では、一部の特徴は、本開示の合理化の目的のために、単一の実施形態内に共にグループ化される。この開示方法は、本開示の開示される実施形態が、各特許請求の範囲で明示的に列挙されるものよりも多くの特徴を使用しなければならないという意図を反映するものとして、解釈されるべきではない。むしろ、以下の特許請求の範囲が反映するように、発明の主題は、開示される単一の実施形態の全ての特徴よりも少ない点にある。それゆえ、以下の特許請求の範囲は、各特許請求の範囲が個別の実施形態として自立すると共に、本明細書によって、発明を実施するための形態に組み込まれる。
【図１】
0005585919.tif 000002
【図２】
0005585919.tif 000003
【図３】
0005585919.tif 000004
【図４】
0005585919.tif 000005
【図５】
0005585919.tif 000006
【図６】
0005585919.tif 000007
【図７】
0005585919.tif 000008