JP2013506903A - 電源遮断管理 - Google Patents

電源遮断管理 Download PDF

Info

Publication number
JP2013506903A
JP2013506903A JP2012532063A JP2012532063A JP2013506903A JP 2013506903 A JP2013506903 A JP 2013506903A JP 2012532063 A JP2012532063 A JP 2012532063A JP 2012532063 A JP2012532063 A JP 2012532063A JP 2013506903 A JP2013506903 A JP 2013506903A
Authority
JP
Japan
Prior art keywords
information
memory
volatile memory
transaction log
write
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2012532063A
Other languages
English (en)
Other versions
JP5585919B2 (ja
Inventor
エム. ジェデロー,ジョセフ
Original Assignee
マイクロン テクノロジー, インク.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by マイクロン テクノロジー, インク. filed Critical マイクロン テクノロジー, インク.
Publication of JP2013506903A publication Critical patent/JP2013506903A/ja
Application granted granted Critical
Publication of JP5585919B2 publication Critical patent/JP5585919B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/30Means for acting in the event of power-supply failure or interruption, e.g. power-supply fluctuations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1405Saving, restoring, recovering or retrying at machine instruction level
    • G06F11/141Saving, restoring, recovering or retrying at machine instruction level for bus or memory accesses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1441Resetting or repowering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0215Addressing or allocation; Relocation with look ahead addressing means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1032Reliability improvement, data loss prevention, degraded operation etc
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/21Employing a record carrier using a specific recording technology
    • G06F2212/214Solid state disk
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7201Logical to physical mapping or translation of blocks or pages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7207Details relating to flash memory management management of metadata or control data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7209Validity control, e.g. using flags, time stamps or sequence numbers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7211Wear leveling

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本開示は、メモリシステムを運用するための方法、およびメモリシステムを含む。1つのそのような方法は、書き込み先読み情報を使用して、トランザクションログ内のトランザクションログ情報を更新することと、そのトランザクションログを使用して、論理アドレス(LA)テーブルを更新することとを含む。
【選択図】図2

Description

本開示は、全般的には、半導体メモリのデバイス、方法、およびシステムに関し、より具体的には、電源遮断管理に関する。
メモリデバイスは、典型的には、コンピュータまたは他の電子デバイス内の、内蔵半導体集積回路として提供される。揮発性および不揮発性のメモリを含めた、多種多様なタイプのメモリが存在する。揮発性メモリは、そのデータを維持するために電力を必要とする可能性があり、数ある中でも特に、ランダムアクセスメモリ(RAM)、ダイナミックランダムアクセスメモリ(DRAM)、および同期ダイナミックランダムアクセスメモリ(SDRAM)を含む。不揮発性メモリは、電力が供給されていない場合に、記憶された情報を保持することによって、永続的データを提供することができ、数ある中でも特に、NANDフラッシュメモリ、NORフラッシュメモリ、読み出し専用メモリ(ROM),電気的消去可能プログラマブル可能ROM(EEPROM)、消去可能プログラマブルROM(EPROM)、および相変化ランダムアクセスメモリ(PCRAM)を含むことができる。
メモリデバイスは、共に組み合わされて、ソリッドステートドライブ(SSD)を形成することができる。ソリッドステートドライブは、数ある様々なタイプの不揮発性および揮発性のメモリの中でも特に、例えばNANDフラッシュメモリおよびNORフラッシュメモリなどの不揮発性メモリを含むことができ、かつ/または、例えばDRAMおよびSRAMなどの揮発性メモリを含むことができる。窒化物層内の電荷トラップ内に情報を記憶する、半導体‐酸化物‐窒化物‐酸化物‐半導体のコンデンサ構造、および金属‐酸化物‐窒化物‐酸化物‐半導体のコンデンサ構造を使用する、浮遊ゲートフラッシュデバイスおよび電荷トラップフラッシュ(CTF)デバイスを含めた、フラッシュメモリデバイスは、広範囲の電子的用途に関する不揮発性メモリとして利用することができる。フラッシュメモリデバイスは、一般的には、高メモリ密度、高信頼性、および低電力消費を可能にする、1トランジスタメモリセルを使用する。
ソリッドステートドライブは、性能、サイズ、重量、耐久性、動作温度範囲、および電力消費の点で、ハードドライブに勝る利点を有することができるため、SSDを、コンピュータ用の主記憶デバイスとして、ハードディスクドライブに置き換えて使用することができる。例えば、SSDは、それらが可動部品を欠くことにより、シークタイム、レイテンシ、および磁気ディスクドライブに関連する他の電気機械的遅延を回避する場合があるため、磁気ディスクドライブと比較した場合に、優れた性能を有することができる。SSDの製造業者は、不揮発性フラッシュメモリを使用して、内部バッテリー供給を使用しなくともよいフラッシュSSDを作り出すことができ、それゆえ、このドライブを、より多目的かつコンパクトにすることが可能になる。
SSDは、多数のメモリデバイス、例えば、多数のメモリチップを含むことができる(本明細書で使用するとき、「多数の」何かは、1つ以上のそのようなものを指すことができ、例えば、多数のメモリデバイスは、1つ以上のメモリデバイスを指すことができる)。当業者には理解されるように、メモリチップは、多数のダイおよび/または論理ユニット(LUN)を含むことができる。各ダイは、その上に、多数のメモリアレイおよびその上の周辺回路を含むことができる。メモリアレイは、多数の物理ページへと組織化される多数のメモリセルを含むことができ、物理ページは、多数のブロックへと組織化することができる。
ソリッドステートドライブは、論理ブロックアドレス(LBA)テーブルなどの、論理アドレス(LA)テーブルを含むことができる。LBAテーブルは、データの論理アドレスをソリッドステートドライブのメモリアレイ内のデータの物理的位置に連係させる情報を記録するために、使用することができる。このLBAテーブルは、ソリッドステートドライブ内の揮発性メモリ内に記憶させることができ、LBAテーブルのコピーもまた、ソリッドステートドライブ内の不揮発性メモリ内に記憶させることができる。LBAテーブルは、ソリッドステートドライブ内で読み出し要求が開始される際に、ソリッドステートドライブ内のデータの物理的位置を探知し、そのデータを読み出すために使用することができる。特定の論理アドレスにおけるデータに対する読み出し要求は、ホストによって開始することができる。その論理アドレスは、LBAテーブル内に見出すことができ、次いで、対応する物理アドレスを指示することができる。ソリッドステートドライブは、指示された物理アドレスからデータを読み出し、ソリッドステートドライブに対する読み出し要求を完了することができる。
ソリッドステートドライブ内のデータに関する、論理アドレスと物理アドレスとの関係についての、現時点の、例えば直近の情報を備えたLBAテーブルを有しない、ソリッドステートドライブでは、そのソリッドステートドライブ内の一部のデータがアクセス不能になる恐れがある。それゆえ、ソリッドステートドライブ内の全てのデータへの完全なアクセスのためには、現時点でのLBAテーブルが望ましい。ソリッドステートドライブ内のLBAテーブルは、LBAテーブルが揮発性メモリ内に記憶されるため、および/またはLBAテーブルが不揮発性メモリ内に周期的に記憶されるために、電源遮断の後に失われるか、または不完全になる恐れがある。それゆえ、電源遮断により、電源遮断の直前の時間内にソリッドステートドライブに書き込まれたデータについての情報を有しないLBAテーブルを、ソリッドステートドライブに有しさせることになる可能性がある。
本開示の1つ以上の実施形態による、少なくとも1つのメモリシステムを含むコンピューティングシステムの機能ブロック図である。 本開示の1つ以上の実施形態による、メモリシステムの機能ブロック図である。 本開示の1つ以上の実施形態による、不揮発性メモリ内の、トランザクションログ、ブロックテーブル、および論理ブロックアドレス(LBA)テーブルのブロック図である。 本開示の1つ以上の実施形態による、再利用ユニットの機能ブロック図である。 本開示の1つ以上の実施形態による、トランザクションログを示す表である。 本開示の1つ以上の実施形態による、ブロックテーブルを示す表である。 本開示の1つ以上の実施形態による、論理ブロックアドレス(LBA)テーブルを示す表である。
本開示は、メモリ内の電源遮断管理に関する方法及びデバイスを含む。1つの方法の実施形態は、書き込み先読み情報を使用して、トランザクションログ内のトランザクションログ情報を更新することと、そのトランザクションログを使用して、論理アドレス(LA)テーブルを更新することとを含む。
本開示の、以下の発明を実施するための形態では、本明細書の一部分を形成し、本開示の1つ以上の実施形態が実施されてもよい方法が例示として示される、添付の図面を参照する。これらの実施形態は、当業者が本開示の実施形態を実施することを可能にするように、十分詳細に説明され、また、他の実施形態が利用されてもよく、本開示の範囲から逸脱することなく、プロセスの変更、電気的な変更、および/または構造的な変更が為されてもよいことが理解される。
本開示の、以下の発明を実施するための形態では、本明細書の一部分を形成し、本開示の1つ以上の実施形態が実施されてもよい方法が例示として示される、添付の図面を参照する。これらの実施形態は、当業者が本開示の実施形態を実施することを可能にするように、十分詳細に説明され、また、他の実施形態が利用されてもよく、本開示の範囲から逸脱することなく、プロセスの変更、電気的な変更、および/または構造的な変更が為されてもよいことが理解される。本明細書で使用するとき、「N」、「M」、および「R」の指示子は、具体的には図面内の参照番号に関して、多数のそのように指示された特定の特徴が、本開示の1つ以上の実施形態と共に含まれる可能性があることを示す。
本明細書の図は、最初の桁(複数可)が図面の図番号に対応し、残りの桁(複数)が図面内の要素または構成要素を識別する、番号付け規約に従う。異なる図の間で、同様の要素または構成要素は、同様の桁の使用によって識別される場合がある。例えば、108は、図1の要素「08」に言及する場合があり、同様の要素は、図2では208として言及される場合がある。理解されるであろうように、本開示の多数の追加的実施形態を提供するように、本明細書の様々な実施形態で示される要素を、追加、交換、および/または削除することができる。更には、理解されるであろうように、図内に提供される要素の比率および相対的スケールは、本発明の特定の実施形態を説明することを意図するものであり、限定的な意味で解釈するべきではない。
図1は、本開示の1つ以上の実施形態による、少なくとも1つのメモリシステム104を含むコンピューティングシステム100の機能ブロック図である。図1に示す実施形態では、メモリシステム104(例えばソリッドステートドライブ(SSD))は、物理ホストインターフェース106、コントローラ(例えばメモリシステム制御回路)108、および1つ以上のソリッドステートメモリデバイス110‐1〜110‐Nを含むことができる。ソリッドステートメモリデバイス110‐1〜110‐Nは、例えば、メモリデバイスにフォーマットされたファイルシステムによる、このメモリシステム用の記憶ボリュームを提供することができる。1つ以上の実施形態では、メモリシステム制御回路108は、物理インターフェース106とソリッドステートメモリデバイス110‐1〜110‐Nとを含むプリント回路基板に結合される、特定用途向け集積回路(ASIC)とすることができる。
図1に示すように、メモリシステム制御回路108は、物理ホストインターフェース106およびソリッドステートメモリデバイス110‐1〜110‐Nに結合することができる。物理ホストインターフェース106を使用して、メモリシステム104と、ホストシステム102などの別のデバイスとの間で情報を通信することができる。ホストシステム102は、メモリアクセスデバイス、例えばプロセッサを含むことができる。「プロセッサ」は、並列処理システム、多数のコプロセッサなどのような、1つ以上のプロセッサを意図することができることが、当業者には理解されよう。ホストシステムの例としては、ラップトップコンピュータ、パーソナルコンピュータ、デジタルカメラ、デジタル録音再生デバイス、携帯電話、PDA、メモリカードリーダー、インターフェースハブなどが挙げられる。1つ以上の実施形態に関しては、物理ホストインターフェース106は、標準化されたインターフェースの形態とすることができる。例えば、メモリシステム104を、コンピューティングシステム100でのデータ記憶に関して使用する場合、物理ホストインターフェース106は、数あるコネクタおよびインターフェースの中でも特に、シリアルアドバンスドテクノロジーアタッチメント(SATA)、周辺機器相互接続エクスプレス(PCIe)、またはユニバーサルシリアルバス(USB)とすることができる。しかしながら、一般的には、物理ホストインターフェース106は、メモリシステム104と、物理ホストインターフェース106に適合するレセプタを有するホストシステム102との間で、制御信号、アドレス信号、データ信号、および他の信号を通過させるためのインターフェースを提供することができる。
メモリシステム制御回路108は、ソリッドステートメモリデバイス110‐1〜110‐Nと通信して、数ある動作の中でも特に、データの読み出し、書き込み、および消去をすることができる。メモリシステム制御回路108は、1つ以上の集積回路および/または個別構成要素であってもよい、回路を有することができる。1つ以上の実施形態に関しては、メモリシステム制御回路108内の回路は、ソリッドステートメモリデバイス110‐1〜110‐Nの全体にわたるアクセスを制御するための制御回路、およびホストシステム102とメモリシステム104との間に変換レイヤーを提供するための回路を含んでもよい。それゆえ、メモリコントローラは、ソリッドステートメモリデバイス110‐1〜110‐NのI/O接続(図1には示さず)を選択的に結合して、適切な時間に、適切なI/O接続で、適切な信号を受信することができる。同様に、ホストシステム102とメモリシステム104との間の通信プロトコルは、ソリッドステートメモリデバイス110‐1〜110‐Nのアクセスに関して要求されるものとは異なってもよい。その場合、メモリシステム制御回路108は、ホストから受信したコマンドを、ソリッドステートメモリデバイス110‐1〜110‐Nへの所望のアクセスを達成するための、適切なコマンドへと変換することが可能である。
ソリッドステートメモリデバイス110‐1〜110‐Nは、メモリセル(例えば不揮発性メモリセル)の、1つ以上のアレイを含むことができる。このアレイは、例えば、NANDアーキテクチャーを備えるフラッシュアレイとすることができる。NANDアーキテクチャーでは、「行」のメモリセルの制御ゲートは、アクセス(例えばワード)の線に結合することができ、一方で、メモリセルは、選択ゲートソーストランジスタと選択ゲートドレイントランジスタとの間の「ストリング」内で、ソースからドレインへと直列に結合することができる。ストリングは、選択ゲートドレイントランジスタによって、データ(例えばビット)の線に接続することができる。用語「行」および「ストリング」の使用は、メモリセルの直線状配列または直交配列のいずれをも意味しない。当業者には理解されるであろうように、ビット線およびソース線へのメモリセルの接続の方式は、そのアレイがNANDアーキテクチャーであるか、NORアーキテクチャーであるか、または他の何らかのメモリアレイアーキテクチャーであるかに応じて変化する。
ソリッドステートメモリデバイス110‐1〜110‐Nは、グループ化することができる多数のメモリセルを含むことができる。本明細書で使用するとき、グループは、ページ、ブロック、プレーン、ダイ、アレイ全体、またはメモリセルの他のグループなどの、1つ以上のメモリセルを含むことができる。例えば、一部のメモリアレイは、メモリセルのブロックを構成する、多数のメモリセルのページを含むことができる。多数のブロックを、メモリセルのプレーン内に含めることができる。多数のメモリセルのプレーンを、1つのダイに含めることができる。一例として、128GBのメモリデバイスは、1ページ当たり4313バイトのデータ、1ブロック当たり128のページ、1プレーン当たり2048のブロック、および1デバイス当たり16のプレーンを含むことができる。
メモリデバイスでは、物理ページは、書き込みおよび/または読み出しのユニット、例えば、共に、またはメモリセルの1つの機能グループとして、書き込みおよび/または読み出しが行なわれる多数のセルを参照することができる。したがって、偶数ページと奇数ページとは、別個の書き込みおよび/または読み出しの動作により、書き込みおよび/または読み出しを行なうことができる。マルチレベルセル(MLC)を含む実施形態に関しては、物理ページは、データの上位ページおよび下位ページへと論理的に区分することができる。例えば、1つのメモリセルは、データの上位ページに1つ以上のビットを寄与し、かつデータの下位ページに1つ以上のビットを寄与することができる。したがって、データの上位ページおよび下位ページは、1回の書き込みおよび/または読み出しの動作の一部として、書き込みおよび/または読み出しを行なうことができるが、これは論理上位ページおよび論理下位ページが、双方とも同一の物理ページの一部であるためである。
メモリシステム104は、ソリッドステートメモリデバイス110‐1〜110‐Nに対する磨耗率を制御するための、ウェアレベリングを実行することができる。ソリッドステートメモリアレイは、多数のプログラムおよび/または消去のサイクルの後では、失敗を起こす恐れがある。ウェアレベリングは、特定のグループに対して実行される、プログラムおよび/または消去のサイクルの数を低減することができる。ウェアレベリングは、ブロックを再利用するために移動される、有効ブロックの量を最小限に抑えるための、ダイナミックウェアレベリングを含むことができる。ダイナミックウェアレベリングは、閾値量を超える無効ページを備えるブロックが、そのブロックを消去することによって再利用される、ガベージコレクションと呼ばれる技術を含んでもよい。無効ページは、例えば、更新されて異なるページ内に記憶されているデータのページとすることができる。スタティックウェアレベリングは、高い消去回数を有するブロックに静的データを書き込み、そのブロックの寿命を延長することを含むことができる。
図1の実施形態は、本開示の実施形態を不明瞭にしないために示されない、追加的な回路を含むことができる。例えば、メモリシステム104は、I/O回路を通過したI/O接続を介して提供されるアドレス信号にラッチするための、アドレス回路を含むことができる。アドレス信号は、行デコーダーおよび列デコーダーによって受信されてデコードされ、ソリッドステートメモリデバイス110‐1〜110‐Nにアクセスすることができる。アドレス入力接続の数は、ソリッドステートメモリデバイス110‐1〜110‐Nの密度およびアーキテクチャーに依存する可能性があることが、当業者には理解されよう。
図2は、本開示の1つ以上の実施形態による、メモリシステム204の機能ブロック図である。メモリシステム204は、メモリシステム制御回路208を含むことができる。メモリシステム制御回路208は、1つ以上のソリッドステートメモリデバイス(例えば不揮発性メモリ210および/または揮発性メモリ212)に結合することができる。メモリシステム204およびメモリシステム制御回路208は、それぞれ、図1に示すメモリシステム104およびメモリシステム制御回路108に類似のものとすることができる。
メモリシステム制御回路208は、ホストインターフェース回路214、ホストメモリ変換回路216、メモリ管理回路218、スイッチ220、不揮発性メモリ制御回路222、および/または揮発性メモリ制御回路224を含むことができる。本明細書で説明するように、メモリシステム制御回路208は、ASICの形態で提供することができるが、しかしながら、実施形態は、そのように限定されるものではない。
ホストインターフェース回路214は、ホストメモリ変換回路216に結合することができる。ホストインターフェース回路214は、図1に示す物理インターフェース106などの物理インターフェースで、ホストシステムに結合および/または組み込むことができる。
一般的には、ホストインターフェース回路214は、ホストシステム、例えばPCIeから受信したコマンドパケットを、ホストメモリ変換回路216に関するコマンド命令へと変換すること、およびメモリ応答を、要求ホストへの送信に関するホストシステムコマンドへと変換することに対応する。例えば、ホストインターフェース回路214は、PCIeに基づくトランザクションレイヤーパケットから、SATAコマンドパケットを構築することができる。
ホストメモリ変換回路216は、ホストインターフェース回路214、メモリ管理回路218、および/またはスイッチ220に結合することができる。ホストメモリ変換回路216は、論理(例えば、ホスト)アドレス(例えば、受信されるコマンドに関連する)を、物理メモリアドレスに変換するように構成することができる。例えば、ホストメモリ変換回路216は、ホストのセクター読み出しおよび書き込みコマンドを、不揮発性メモリ210の特定部分に向けられるコマンドに変換することができる。各ホスト動作は、単一セクターまたはマルチセクターの不揮発性メモリ210の動作に変換することができる。
メモリ管理回路218は、ホストメモリ変換回路216および/またはスイッチ220に結合することができる。メモリ管理回路218は、例えば、プロセッサ228の動作を介して、多数のプロセスを制御することができ、それらのプロセスとしては、初期化、ウェアレベリング、(例えば、ガベージコレクションおよび/またはブロック再利用)、および誤り訂正などが挙げられるが、これらに限定されない。メモリ管理回路218は、グループ(例えばブロックテーブル236)にアクセスして、ウェアレベリングの候補対象を判定することができる。メモリ管理回路218は、論理アドレスに関連するデータが新たな物理アドレスに書き込まれる際に(例えば、ウェアレベリングまたはデータに対する更新の一部として)、論理アドレスに対応する新たな物理アドレスで、LBAテーブル、例えばLBAテーブル234を更新することができる。
メモリ管理回路218は、例えばスタティックウェアレベリング動作の一部として、ブロックテーブル236内で、高い消去回数を有するブロックを検索することができる。メモリ管理回路は、特定のブロックの消去回数を、閾値回数と比較することができる。例えば、最低の消去回数を有するブロックの消去回数を、特定のブロックから減算することができる。その差が閾値回数よりも大きい場合には、その特定のブロックを、ブロック再利用の候補対象として指示することができる。
メモリ管理回路218は、例えばダイナミックウェアレベリング動作の一部として、ガベージコレクション閾値量の無効(例えば未使用)の部分(例えばページ)をその中に有するブロックを、検索することができる。メモリ管理回路218は、再利用回路230を含むことができる。再利用は、ガベージコレクションの結果として、メモリ管理回路218によって起動することができるプロセスである。再利用は、消去されるブロック内の場所から、全ての有効データを、そのブロックが消去される前に別のブロック内の場所に移動させることを伴うことができる。
スイッチ220は、ホストメモリ変換回路216、メモリ管理回路218、不揮発性制御回路222、および/または揮発性メモリ制御回路224に結合することができる。スイッチ220は、クロスバースイッチとすることができ、1つ以上のバッファ(例えばスタティックランダムアクセスメモリ(SRAM)バッファ)を含み、かつ/または結合することができる。スイッチ220は、メモリシステム制御回路208の様々な構成要素間に、インターフェースを提供することができる。スイッチ220は、構成要素間の一貫したアクセスおよび実行を提供するために、メモリシステム制御回路208の種々の構成要素に関連する場合がある定義信号プロトコルの差異の責任を負うことができる。1つ以上の実施形態では、スイッチ220は、ダイレクトメモリアクセス(DMA)モジュールとすることができる。
コントローラ、例えば不揮発性メモリ制御回路222は、スイッチ220および1つ以上の不揮発性メモリデバイス210に結合することができる。1つ以上の不揮発性メモリデバイス210は、数ある情報の中でも特に、本明細書で説明するように、トランザクションログ238、論理ブロックアドレス(LBA)テーブル234‐Cなどの論理アドレス(LA)テーブルのコピー、および/またはブロックテーブル236‐Cなどのグループテーブルを記憶することができる。一部の実施形態では、メモリシステム制御回路208は、全てのメモリチャネルに対して1つの不揮発性メモリコントローラを含むことができる。他の実施形態では、各メモリチャネルは、別個の不揮発性メモリコントローラに結合される。
揮発性メモリ制御回路224は、スイッチ220および1つ以上の揮発性メモリデバイス212に結合することができる。この1つ以上の揮発性メモリデバイスは、数ある情報の中でも特に、LBAテーブル234、および/またはブロックテーブル236を記憶することができる。LBAテーブル234は、1つ以上の不揮発性メモリデバイス210内のページの物理アドレスを記憶し、対応する論理アドレスを含むことができる。LBAテーブル234は、関連するSATAコマンド内に含まれるLBAによって指標付けすることができる。LBAテーブル234は、ホストメモリ変換回路216によって、例えば、論理ブロックアドレスに対応する物理ページアドレスを探索するために使用することができる。ブロックテーブル236は、1つ以上の不揮発性メモリデバイス210内の消去可能なブロックに関する情報を記憶することができる。ブロックテーブル236内に記憶される情報には、有効ページ情報、消去回数、および他のステータス情報を含むことができる。ブロックテーブル236からアクセスされる情報は、物理ブロックアドレスによって指標付けすることができる。
図3は、本開示の1つ以上の実施形態による、不揮発性メモリ310内の、トランザクションログ338、ブロックテーブル334、および論理ブロックアドレス(LBA)テーブル336のブロック図を示す。不揮発性メモリは、数ある情報の中でも特に、書き込み動作情報を、LBAテーブル336、ブロックテーブル334、および/またはトランザクションログ338内に記憶することができる。
揮発性メモリ内に記憶されるLBAテーブルのコピーは、不揮発性メモリ310内のLBAテーブル336として、数ある周期的間隔の中でも特に、少なくとも300秒毎のように、周期的に記憶することができる。例えば、LBAテーブル336は、不揮発性メモリ310内に、120秒毎に記憶することができる。揮発性メモリ内のLBAテーブルは、ソリッドステートドライブ内の各書き込みの後に更新することができる。不揮発性メモリデバイス内のLBAテーブルを更新する頻度に関する時間周期は、数ある要因の中でも特に、メモリシステムが実行する書き込みの頻度、および/またはデータが書き込まれる速度に依存して変化し得る。
トランザクションログ338を不揮発性メモリ内に記憶して、メモリデバイス内で発生するあらゆる書き込みについての情報を記録するために使用することができる。多数のメモリデバイスを有するメモリシステムは、メモリデバイス内で発生するあらゆる書き込みについての情報を含むトランザクションログを含むことができる。トランザクションログは、メモリシステム内の多数のメモリデバイス全体にわたって、ストライピングすることができる。当業者には理解されるように、ストライピングは、データを、2つ以上のデバイス上に記憶されるように分割することを含む。ストライピングは、トランザクションログ情報などの書き込みデータを、フラグメントへと分割し、多数のメモリデバイスのそれぞれに、少なくとも1つのフラグメントを記憶させることを含むことができる。1つ以上の実施形態では、コントローラは、メモリデバイス内で各書き込みが実行されると、各書き込みに関するトランザクションログ情報で、トランザクションログを更新することができる。トランザクションログは、1つの時間周期の間にメモリデバイス内で発生する、全ての書き込みについての情報を含むことができる。トランザクションログは、LBAテーブル336が不揮発性メモリ310内に前回保存されてから発生した、メモリデバイスへの全ての書き込みについての情報を含むことができる。
1つ以上の実施形態では、トランザクションログ338からの情報を使用して、例えば前回の保存と電源遮断との間の、LBAテーブル336が不揮発性メモリ310内に前回保存された後の時間からの、メモリデバイス内で発生した書き込みについての情報で、LBAテーブル336のコピーを更新することができる。不揮発性メモリ310内のLBAテーブル336のコピーは、不揮発性メモリ310内のLBAコピー336は、不揮発性メモリ内へとコピーされた時点で揮発性メモリ内のLBAテーブル内にあった情報を有するのみであるため、そうでなければ欠落情報となる場合がある。また、揮発性メモリ内のLBAテーブルは、電源遮断の間に消去されるため、不揮発性メモリ内のLBAコピーは、そうでなければ、不揮発性メモリ310に前回コピーされたときと消去時との間に揮発性メモリ内のLBAテーブル内に記憶されたであろう情報で更新することができない。それゆえ、不揮発性メモリ310内のトランザクションログ338を使用して、不揮発性メモリ内のLBAテーブル内の情報を更新することができる。トランザクションログ338は、データの場所、およびデータがメモリデバイスに書き込まれた時間についての情報を含むことができる。この情報は、メモリデバイスによって確認され、次いでLBAテーブルへと入力されて、LBAテーブル336を更新することができる。1つ以上の実施形態では、トランザクションログの最終ページが、電源遮断の間に破損する可能性があるため、トランザクションログ内の情報の最終ページは、メモリアレイに書き込まれた直近のデータの一部についての情報を含まない。
図4に示すような再利用ユニットは、ウェアレベリングアルゴリズム(例えば、ガベージコレクションアルゴリズム)からの情報を使用して、例えば、書き込み先読み情報を作り出すことができる。この書き込み先読み情報は、最近書き込まれたデータの場所、および次のデータが書き込まれたであろう場所を含むことができる。ウェアレベリングアルゴリズムは、メモリの未使用部分および/または使用頻度の低い部分にデータを移動させることにより、データを書き込むための新たなフリーブロックを作り出す。ウェアレベリングアルゴリズムは、新たなフリーブロックの場所を含み、コントローラに、次回その新たなフリーブロックに書き込ませることができる。新たなフリーブロックの場所、ならびにデータが最近書き込まれた場所および次に書き込まれたであろう場所についての、ウェアレベリングアルゴリズムおよび/またはガベージコレクションアルゴリズムからの情報は、書き込み先読み情報内に含まれる。コントローラは、有効な書き込みなどのデータが、書き込み先読み情報によって指示される場所にあるか否か、および/またはそのデータが何であるかを、それらの場所でのリビジョン番号を照合することによって判定することができる。リビジョン番号は、ある場所でのデータに関連するメタデータ内に見出すことができ、有効な書き込みが、ある場所で発生したことを指示することができる。トランザクションログは、それらの場所でデータが見出したトランザクション情報で、更新することができる。書き込み先読み情報を使用して、トランザクションログ内の情報の、破損した最終ページを再構築することができる。次いで、不揮発性メモリ内のLBAテーブルを、この時点で完成したトランザクションログで更新することができる。
1つ以上の実施形態では、電源遮断が発生した場合に、トランザクションログの最終ページを保存するための十分な電力をメモリデバイスに与えるための、コンデンサを含むことができる。そのような実施形態では、コンデンサからの電力を使用して、電源遮断の直前に発生したトランザクションログへの更新の保存を完了することにより、トランザクションログは、不揮発性メモリ内のLBAテーブルの前回の保存以降に発生した書き込みについての情報を有し、LBAテーブルを更新するために使用することができる。
図4は、本開示の1つ以上の実施形態による、再利用ユニット430の機能ブロック図である。図4では、再利用ユニット430は、ウェアレベリングユニット444を含むことができる。再利用ユニット430は、ウェアレベリングユニット444からの情報を使用して、書き込み先読み情報446を作り出すことができる。書き込み先読み情報446は、前回の書き込みが実行されたメモリアレイ内の場所、および/または次の書き込みが実行されたであろうメモリアレイ内の場所を指示するデータとすることができる。この書き込み先読み情報は、再利用ユニット430によって使用され、電源遮断の前の、前回のデータ書き込みの場所を判定し、その情報でトランザクションログを更新することができる。電源遮断の前のデータの場所で更新されているトランザクションログを使用して、LBAテーブルを更新することにより、不揮発性メモリ内のLBAテーブルの前回の保存と電源遮断の時間との間の書き込みについての情報を含めることができる。
図5は、本開示の1つ以上の実施形態による、トランザクションログ538を示す表である。図5では、トランザクションログ538は、メモリデバイス内にあるデータに関する物理アドレス550および論理アドレス552を含む、トランザクションログ情報を含むことができる。トランザクションログ538は、メモリデバイス内で発生するあらゆる書き込みの場所を記録することができ、トランザクションログ538は、メモリデバイス内に記憶することができる。トランザクションログは、メモリシステム内の多数のメモリデバイス全体にわたって、ストライピングすることができる。1つ以上の実施形態では、トランザクションログは、メモリデバイス内で発生する各トランザクションのログを取ることができ、メモリデバイスに関する参照、および/またはメモリデバイス上で実行されるトランザクションのコントローラーとすることができる。トランザクションログは、揮発性メモリからのLBAテーブルのコピーが、不揮発性メモリ内に作成された後に、消去することができる。トランザクションログは、このトランザクションログの消去の後に発生するトランザクションに対応する新たなエントリで、更新することができる。
図5では、トランザクションログ538は、メモリデバイス内で発生した各トランザクションを指示する、多数のエントリ556‐1、556‐2、556‐3〜556‐Nを含むことができる。トランザクションログ538内のエントリ556‐1、556‐2、556‐3〜556‐Nは、書き込み、読み出し、または消去などの、トランザクションに対するコマンド550、トランザクションの物理アドレス552、およびトランザクションの論理アドレス554を含むことができる。
図6は、本開示の1つ以上の実施形態による、ブロックテーブル634を示す表である。ブロックテーブル634は、メモリデバイス内のブロックについての情報を記憶することができる。ブロックテーブル634内に記憶される情報は、データ有効性情報660、消去回数662、およびステータス情報664を含むことができる。ブロックテーブル634は、多数のエントリ666‐1、666‐2、666‐3〜666‐Mを含むことができる。ブロックテーブル634内の各エントリは、データのブロックおよび/またはページなどの、データに対する、物理アドレス652、データ有効性情報660、消去回数662、ならびにステータス情報664を含むことができる。ブロックテーブル634内のデータ有効性情報660は、ブロック内の各ページの有効性、例えば、そのデータが有効であるか、または無効であるかについての情報を含むことができる。ブロックテーブル634内の消去回数662は、ブロックが消去された回数を指示することができる。ブロックテーブル634内のステータス情報664は、ブロックに関する数あるステータス指示の中でも特に、ブロックが消去されているか、および/またはデータを含むかを、指示することができる。
図7は、本開示の1つ以上の実施形態による、論理ブロックアドレス(LBA)テーブル736を示す表である。LBAテーブル736は、メモリデバイス内の各データエントリに関する論理アドレス752および物理アドレス754を記憶することができ、メモリデバイス内の各データエントリに関して、論理アドレス752の、物理アドレス754への変換を提供することができる。LBAテーブル736は、メモリデバイスへの各書き込みに対するLBAによって指標付けすることができ、LBAテーブル736内の各データエントリに関する論理アドレス754および物理アドレス752を含む、多数のエントリ770‐1、770‐2、770‐3〜770‐Rを含むことができる。LBAを使用して、各エントリ内のデータが記憶されている、対応する物理アドレスを探索することができる。LBAテーブルは、メモリシステムの揮発性メモリ内に記憶することができ、揮発性メモリ内のLBAテーブルのコピーを、不揮発性メモリ内に周期的に作成することができる。LBAテーブルのコピーが、不揮発性メモリ内に作成されると、揮発性メモリ内のLBAテーブルを消去することができ、揮発性メモリ内のLBAテーブルは、揮発性メモリ内のLBAテーブルの消去後に発生するトランザクションに対応する新たなエントリで、更新されるであろう。
結論
本開示は、メモリ内の電源遮断管理に関する方法及びデバイスを含む。1つの方法の実施形態は、書き込み先読み情報を使用して、トランザクションログ内のトランザクションログ情報を更新すること、およびそのトランザクションログを使用して、論理アドレス(LA)テーブルを更新することを含む。
具体的な実施形態を、本明細書に示し、説明してきたが、同一の結果を達成するように考案された配置構成で、示された具体的な実施形態を置換することができることが、当業者には理解されよう。本開示は、本開示の1つ以上の実施形態の応用または変型を包含することを意図する。上記の説明は、例示的な方式で為されているものであり、限定的なものではないことが理解される。上記の実施形態の組み合わせ、および本明細書で具体的に説明されない他の実施形態が、上記の説明を検討すれば、当業者には明らかとなるであろう。本開示の1つ以上の実施形態の範囲は、上記の構造および方法が使用される他の適用を包含する。それゆえ、本開示の1つ以上の実施形態の範囲は、添付の特許請求の範囲を、そのような特許請求の範囲が享受する均等物の全範囲と共に参照して、判定されるべきである。
前述の発明を実施するための形態では、一部の特徴は、本開示の合理化の目的のために、単一の実施形態内に共にグループ化される。この開示方法は、本開示の開示される実施形態が、各特許請求の範囲で明示的に列挙されるものよりも多くの特徴を使用しなければならないという意図を反映するものとして、解釈されるべきではない。むしろ、以下の特許請求の範囲が反映するように、発明の主題は、開示される単一の実施形態の全ての特徴よりも少ない点にある。それゆえ、以下の特許請求の範囲は、各特許請求の範囲が個別の実施形態として自立すると共に、本明細書によって、発明を実施するための形態に組み込まれる。

Claims (35)

  1. メモリ内の電源遮断管理に関する方法であって、
    書き込み先読み情報を使用して、トランザクションログ内のトランザクションログ情報を更新することと、
    前記トランザクションログを使用して、論理アドレス(LA)テーブルを更新することと、
    を含む、方法。
  2. 前記書き込み先読み情報が、メモリシステム内にデータが次に書き込まれたであろう場所についての情報を含む、請求項1に記載の方法。
  3. 前記書き込み先読み情報が、メモリシステム内にデータが直近に書き込まれていた場所についての情報を含む、請求項1に記載の方法。
  4. ウェアレベリングアルゴリズムからの情報を使用して、データが直近に書き込まれていた場所および次に書き込まれたであろう場所についての、書き込み先読み情報を作り出すことを更に含む、請求項1に記載の方法。
  5. ガベージコレクションアルゴリズムからの情報を使用して、データが直近に書き込まれていた場所および次に書き込まれたであろう場所についての、書き込み先読み情報を作り出すことを更に含む、請求項1に記載の方法。
  6. 揮発性メモリ内のLAテーブルをコピーすることによって、前記不揮発性メモリ内のLAテーブルを周期的に記憶することを更に含む、請求項1に記載の方法。
  7. 前記トランザクションログ内の前記トランザクションログ情報を記録することを更に含み、前記トランザクションログ情報が、前記揮発性メモリ内のLAテーブルが不揮発性メモリ内に前回コピーされた後に、前記不揮発性メモリを含むメモリシステム内で発生した書き込みについての情報を含む、請求項6に記載の方法。
  8. 前記トランザクションログを更新することが、トランザクションログ情報のページを再構築することを含む、請求項1〜7のいずれか一項に記載の方法。
  9. 前記方法が、前記書き込み先読み情報を使用して、メモリ内の場所を見出し、前記場所での前記データに関連するリビジョン番号を探知することによって、前記場所で発生した有効な書き込みを検証することを含む、請求項8に記載の方法。
  10. メモリシステムを運用するための方法であって、
    書き込み先読み情報を作り出すことと、
    前記書き込み先読み情報を使用して、トランザクションログを更新することと、
    前記更新されたトランザクションログを使用して、不揮発性メモリ内の論理アドレス(LA)テーブルを更新することと、
    を含む、方法。
  11. 電源遮断の前に、前記不揮発性メモリ内のLAテーブルを周期的に記憶することを更に含み、前記記憶されたLAテーブルが、揮発性メモリ内のLAテーブルのコピーである、請求項10に記載の方法。
  12. 前記揮発性メモリ内のLAテーブルが、前記メモリシステム内の各書き込み動作の後に更新される、請求項11に記載の方法。
  13. 前記LAテーブルを更新する前に、前記不揮発性メモリ内のLAテーブルが、前記LAテーブルが不揮発性メモリ内に前回記憶されたときと電源遮断との間に発生した書き込みについての情報を含まない、請求項11に記載の方法。
  14. 電源遮断の後の、メモリシステムの電源投入時に、前記更新されたLAテーブルを揮発性メモリにコピーすることを更に含む、請求項10に記載の方法。
  15. 書き込み先読み情報を作り出すことが、ウェアレベリングアルゴリズムを使用して前記書き込み先読み情報を作り出すことを含む、請求項10〜14のいずれか一項に記載の方法。
  16. 前記書き込み先読み情報が、前記メモリシステム内にデータが次に書き込まれたであろう場所についての情報を含む、請求項15に記載の方法。
  17. 前記方法が、前記場所での前記データに関連するリビジョン番号を識別することによって、前記ソリッドステートドライブ内にデータが次に書き込まれたであろう前記場所で発生した有効な書き込みを検証することを含む、請求項16に記載の方法。
  18. メモリシステム内の電源遮断管理に関する方法であって、
    書き込み先読み情報を使用して、不揮発性メモリ内のトランザクションログまたは論理アドレス(LA)テーブル内に存在しなかった、書き込み動作についての情報を見出すことと、
    前記書き込み動作の情報に関連するリビジョン番号を識別することによって、前記書き込み動作の情報が有効であることを検証することと、
    前記見出された書き込み動作の情報を使用して、トランザクションログを更新することと、
    前記更新されたトランザクションログを使用して、前記不揮発性メモリ内のLAテーブルを更新することと、
    電源遮断の後の前記揮発性メモリ内のLAテーブルを記憶することと、
    を含む、方法。
  19. 前記書き込み動作についての情報を見出すことが、前記書き込み先読み情報から、前記メモリシステム内にデータが次に書き込まれたであろう場所を判定することを含む、請求項18に記載の方法。
  20. 前記データが次に書き込まれたであろう場所を判定することが、ウェアレベリングアルゴリズムを使用することを含む、請求項19に記載の方法。
  21. 前記トランザクションログを更新することが、前記電源遮断の後に破損した、前記トランザクションログの最終ページを更新することを含む、請求項18に記載の方法。
  22. 前記方法が、前記揮発性メモリ内のLAテーブルのコピーを、前記不揮発性メモリ内に、周期的に記憶することを含む、請求項18〜21のいずれか一項に記載の方法。
  23. 前記方法が、前記不揮発性メモリ内の前記LAテーブルのコピーを記憶した後に発生する動作に関する、前記トランザクションログ内の読み出し動作および書き込み動作についての情報を記録することを含む、請求項18〜21のいずれか一項に記載の方法。
  24. 前記更新されたトランザクションログを使用して、前記不揮発性メモリ内のLAテーブルを更新することが、前記LAテーブルが前記不揮発性メモリ内に前回コピーされたときと前記電源遮断との間に発生した書き込みについての情報を追加することを含む、請求項18〜21のいずれか一項に記載の方法。
  25. メモリシステムであって、
    論理アドレス(LA)テーブルおよびトランザクションログを記憶するように構成される、ソリッドステート不揮発性メモリと、
    書き込み先読み情報を使用して、前記トランザクションログ内の前記トランザクションログ情報を更新し、
    前記トランザクションログ情報を使用して、前記LAテーブルを更新するように構成される、
    コントローラと、
    を備える、メモリシステム。
  26. 前記トランザクションログが、前記不揮発性メモリ内のLAテーブルを記憶した後に、前記メモリシステム内に発生する書き込みについての情報を記録するように構成される、請求項25に記載のメモリシステム。
  27. 前記コントローラが、前記書き込み先読み情報を使用して、前記トランザクションログ内のトランザクションログ情報の最終ページを再構築するように構成される、請求項25に記載のメモリシステム。
  28. 前記コントローラが、ウェアレベリングアルゴリズムを使用して、前記書き込み先読み情報を作り出すように構成される、請求項25に記載のメモリシステム。
  29. コンデンサが、前記不揮発性メモリに結合されて、電源遮断の後に、前記メモリシステムに電力を一時的に提供する、請求項25〜28のいずれか一項に記載のメモリシステム。
  30. メモリシステムであって、
    ソリッドステート不揮発性メモリであって、前記不揮発性メモリは、論理アドレス(LA)テーブルおよびトランザクションログを記憶するように構成される、ソリッドステート不揮発性メモリと、
    書き込み先読み情報を使用して、トランザクションログ情報を再構築し、
    前記トランザクションログ情報を使用して、前記LAテーブルを更新し、電源遮断の後の前記LAテーブルからの情報が欠落する前記LAテーブルを再構築するように構成される、
    コントローラと、
    を備える、メモリシステム。
  31. 前記LAテーブルが不揮発性メモリ内にあり、前記コントローラが、前記更新されたLAテーブルのコピーを、揮発性メモリ内に記憶するように更に構成される、請求項30に記載のメモリシステム。
  32. 前記コントローラが、前記揮発性メモリ内の更新されたLAテーブルのコピーを、少なくとも300秒毎に1回、前記不揮発性メモリ内に記憶するように構成される、請求項31に記載のメモリシステム。
  33. 前記コントローラが、ウェアレベリングアルゴリズムを使用して、前記書き込み先読み情報を作り出すように構成される、請求項30〜32のいずれか一項に記載のメモリシステム。
  34. 前記コントローラが、前記ウェアレベリングアルゴリズムを使用して、前記メモリシステム内にデータが次に書き込まれたであろう場所を判定するように構成される、請求項33に記載のメモリシステム。
  35. 前記LAテーブルが、論理ブロックアドレス(LBA)テーブルである、請求項30〜32のいずれか一項に記載のメモリシステム。
JP2012532063A 2009-10-01 2010-09-20 電源遮断管理 Active JP5585919B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/572,083 US8990476B2 (en) 2009-10-01 2009-10-01 Power interrupt management
US12/572,083 2009-10-01
PCT/US2010/002557 WO2011040950A2 (en) 2009-10-01 2010-09-20 Power interrupt management

Publications (2)

Publication Number Publication Date
JP2013506903A true JP2013506903A (ja) 2013-02-28
JP5585919B2 JP5585919B2 (ja) 2014-09-10

Family

ID=43824049

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012532063A Active JP5585919B2 (ja) 2009-10-01 2010-09-20 電源遮断管理

Country Status (7)

Country Link
US (3) US8990476B2 (ja)
EP (1) EP2483782B1 (ja)
JP (1) JP5585919B2 (ja)
KR (1) KR101447786B1 (ja)
CN (1) CN102576332B (ja)
TW (1) TWI459399B (ja)
WO (1) WO2011040950A2 (ja)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8990476B2 (en) * 2009-10-01 2015-03-24 Micron Technology, Inc. Power interrupt management
US9514838B2 (en) 2011-05-31 2016-12-06 Micron Technology, Inc. Apparatus including memory system controllers and related methods for memory management using block tables
US8543758B2 (en) * 2011-05-31 2013-09-24 Micron Technology, Inc. Apparatus including memory channel control circuit and related methods for relaying commands to logical units
US20130067289A1 (en) * 2011-09-14 2013-03-14 Ariel Maislos Efficient non-volatile read cache for storage system
US9104614B2 (en) * 2011-09-16 2015-08-11 Apple Inc. Handling unclean shutdowns for a system having non-volatile memory
US9075758B2 (en) 2012-03-19 2015-07-07 Samsung Electronics Co., Ltd. Removable storage device with transactional operation support and system including same
WO2013147894A1 (en) * 2012-03-30 2013-10-03 Intel Corporation Solid state drive management in power loss recovery
US9037820B2 (en) * 2012-06-29 2015-05-19 Intel Corporation Optimized context drop for a solid state drive (SSD)
US9015404B2 (en) * 2012-09-28 2015-04-21 Intel Corporation Persistent log operations for non-volatile memory
US9875054B2 (en) 2013-03-06 2018-01-23 Ab Initio Technology Llc Managing operations on stored data units
US10133500B2 (en) 2013-03-06 2018-11-20 Ab Initio Technology Llc Managing operations on stored data units
US9959070B2 (en) * 2013-03-06 2018-05-01 Ab Initio Technology Llc Managing operations on stored data units
US9218279B2 (en) * 2013-03-15 2015-12-22 Western Digital Technologies, Inc. Atomic write command support in a solid state drive
TWI498902B (zh) * 2013-11-28 2015-09-01 Phison Electronics Corp 資料管理方法、記憶體儲存裝置及記憶體控制電路單元
US10359937B2 (en) * 2013-12-20 2019-07-23 Sandisk Technologies Llc System and method of implementing a table storage support scheme
KR102625637B1 (ko) * 2016-02-01 2024-01-17 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
GB2559119B (en) * 2017-01-20 2020-12-30 Advanced Risc Mach Ltd Apparatus and methods to prolong lifetime of memories
US11314635B1 (en) * 2017-12-12 2022-04-26 Amazon Technologies, Inc. Tracking persistent memory usage
US11599403B2 (en) * 2018-10-03 2023-03-07 SK Hynix Inc. Logging mechanism for memory system
US11436153B2 (en) * 2020-05-26 2022-09-06 Western Digital Technologies, Inc. Moving change log tables to align to zones
US11709612B2 (en) 2020-07-02 2023-07-25 Silicon Motion, Inc. Storage and method to rearrange data of logical addresses belonging to a sub-region selected based on read counts
CN113885778B (zh) * 2020-07-02 2024-03-08 慧荣科技股份有限公司 数据处理方法及对应的数据储存装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008087634A1 (en) * 2007-01-18 2008-07-24 Sandisk Il Ltd. A method and system for facilitating fast wake-up of a flash memory system
JP2008544343A (ja) * 2005-05-09 2008-12-04 サンディスク アイエル リミテッド フラッシュメモリシステムの迅速なスリープ解除を促進するための方法およびシステム

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63307551A (ja) 1987-06-08 1988-12-15 インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン 先書きロギング型のトランザクシヨン向けシステム中のロールバツク方法
US7533214B2 (en) 2002-02-27 2009-05-12 Microsoft Corporation Open architecture flash driver
US6944796B2 (en) 2002-06-27 2005-09-13 Intel Corporation Method and system to implement a system event log for system manageability
US7082512B2 (en) 2002-11-21 2006-07-25 Microsoft Corporation Dynamic data structures for tracking file system free space in a flash memory device
US7003620B2 (en) * 2002-11-26 2006-02-21 M-Systems Flash Disk Pioneers Ltd. Appliance, including a flash memory, that is robust under power failure
US7885921B2 (en) 2004-11-18 2011-02-08 International Business Machines Corporation Managing atomic updates on metadata tracks in a storage system
JP4248510B2 (ja) 2005-03-24 2009-04-02 株式会社東芝 計算機システム、ディスク装置およびデータ更新制御方法
US8452929B2 (en) 2005-04-21 2013-05-28 Violin Memory Inc. Method and system for storage of data in non-volatile media
US8205034B2 (en) 2006-08-09 2012-06-19 Hitachi Ulsi Systems Co., Ltd. Flash memory drive having data interface
US8245101B2 (en) 2007-12-27 2012-08-14 Sandisk Enterprise Ip Llc Patrol function used in flash storage controller to detect data errors
US7945762B2 (en) * 2008-01-29 2011-05-17 Cadence Design Systems, Inc. Method and apparatus for memory management in a non-volatile memory system using a block table
US7979626B2 (en) * 2008-05-13 2011-07-12 Microsoft Corporation Flash recovery employing transaction log
US8843691B2 (en) * 2008-06-25 2014-09-23 Stec, Inc. Prioritized erasure of data blocks in a flash storage device
TW201011755A (en) * 2008-09-10 2010-03-16 Skymedi Corp Flash memory system and its data recovery method
US8990476B2 (en) * 2009-10-01 2015-03-24 Micron Technology, Inc. Power interrupt management
US8495338B2 (en) * 2010-12-03 2013-07-23 Micron Technology, Inc. Transaction log recovery

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008544343A (ja) * 2005-05-09 2008-12-04 サンディスク アイエル リミテッド フラッシュメモリシステムの迅速なスリープ解除を促進するための方法およびシステム
WO2008087634A1 (en) * 2007-01-18 2008-07-24 Sandisk Il Ltd. A method and system for facilitating fast wake-up of a flash memory system

Also Published As

Publication number Publication date
US20110082963A1 (en) 2011-04-07
TW201120904A (en) 2011-06-16
US8990476B2 (en) 2015-03-24
EP2483782A2 (en) 2012-08-08
CN102576332A (zh) 2012-07-11
US10564690B2 (en) 2020-02-18
JP5585919B2 (ja) 2014-09-10
EP2483782A4 (en) 2014-06-04
TWI459399B (zh) 2014-11-01
EP2483782B1 (en) 2015-11-25
KR101447786B1 (ko) 2014-10-06
WO2011040950A3 (en) 2011-08-18
US20180101209A1 (en) 2018-04-12
KR20120060236A (ko) 2012-06-11
US9874918B2 (en) 2018-01-23
US20150185798A1 (en) 2015-07-02
WO2011040950A2 (en) 2011-04-07
CN102576332B (zh) 2015-04-29

Similar Documents

Publication Publication Date Title
JP5585919B2 (ja) 電源遮断管理
JP5649742B2 (ja) トランザクションログの復元
US8788876B2 (en) Stripe-based memory operation
KR101528714B1 (ko) 메모리 유닛 동작 방법 및 메모리 제어기
JP5823875B2 (ja) 固体メモリフォーマッティング
KR20220130526A (ko) 메모리 시스템 및 그 동작 방법
US11126545B2 (en) Memory system and operating method thereof
TWI823649B (zh) 快閃記憶體控制器的控制方法、快閃記憶體控制器以及電子裝置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130717

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130723

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20131021

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20131021

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20131031

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131118

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20131118

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140121

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20140418

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140418

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140617

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140711

R150 Certificate of patent or registration of utility model

Ref document number: 5585919

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250