JP5649742B2 - トランザクションログの復元 - Google Patents

トランザクションログの復元 Download PDF

Info

Publication number
JP5649742B2
JP5649742B2 JP2013541977A JP2013541977A JP5649742B2 JP 5649742 B2 JP5649742 B2 JP 5649742B2 JP 2013541977 A JP2013541977 A JP 2013541977A JP 2013541977 A JP2013541977 A JP 2013541977A JP 5649742 B2 JP5649742 B2 JP 5649742B2
Authority
JP
Japan
Prior art keywords
memory
transaction log
data
page
information
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.)
Active
Application number
JP2013541977A
Other languages
English (en)
Other versions
JP2013544414A (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 JP2013544414A publication Critical patent/JP2013544414A/ja
Application granted granted Critical
Publication of JP5649742B2 publication Critical patent/JP5649742B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1009Address translation using page tables, e.g. page table structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • 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/1471Saving, restoring, recovering or retrying involving logging of persistent data for recovery
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures

Description

本開示は、全般的には、半導体メモリ装置、方法、およびシステムに関し、さらに詳細には、トランザクションログの復元に関する。
メモリ装置は、通常、コンピュータまたは他の電子装置における内蔵型の半導体、集積回路として提供される。揮発性メモリおよび不揮発性メモリを含む多数の異なるタイプのメモリが存在する。揮発性メモリはそのデータを保持するにあたり電力を必要とし、中でもとりわけランダムアクセスメモリ(RAM:random−access memory)、ダイナミックランダムアクセスメモリ(DRAM:dynamic random access memory)および同期ダイナミックランダムアクセスメモリ(SDRAM:synchronous dynamic random access memory)を含む。不揮発性メモリは、電力非供給時に格納された情報を保持することにより、永続的なデータを提供し得、中でもとりわけNAND型フラッシュメモリ、NOR型フラッシュメモリ、リードオンリーメモリ(ROM:read only memory)、電気的消去可能プログラマブルROM(EEPROM:Electrically Erasable Programmable ROM)、消去可能プログラマブルROM(EPROM:Erasable Programmable ROM)、および相変化ランダムアクセスメモリ(PCRAM:phase change random access memory)を含み得る。
複数のメモリ装置をともに組合せることにより、ソリッドステートドライブ(SSD:solid state drive)が形成され得る。ソリッドステートドライブは、その他の様々なタイプの不揮発性メモリおよび揮発性メモリの中でもとりわけ、不揮発性メモリ、例えばNAND型フラッシュメモリおよびNOR型フラッシュメモリを含み得、および/または揮発性メモリ、例えばDRAMおよびSDRAMを含み得る。窒化膜における電荷トラップに情報を格納する半導体−酸化物−窒化物−酸化物−半導体型および金属−窒化物−酸化物−半導体型のキャパシタ構造を用いる浮遊ゲート型フラッシュデバイスおよびチャージトラップフラッシュ(CTF:charge trap flash)デバイスを含むフラッシュメモリ装置は広範囲の電子的用途における不揮発性メモリとして利用され得る。フラッシュメモリ装置は通常、高いメモリ密度、高い信頼性、および低い電力消費を可能にする1つのトランジスタメモリセルを用いる。
SSDはコンピュータのための主要なストレージ装置としてハードディスク装置に取って代わるために用いられ得る。なぜならSSDは、性能、サイズ、重量、堅牢性、作動温度範囲、および電力消費に関してハードドライブに優れ得るためである。例えば、SSDは、可動パーツを有さないため磁気ディスク装置と比較してより優れた性能を有し得、可動パーツが存在しないことにより、シークタイム、レイテンシ、および磁気ディスク装置に関連付けられた他の電気機械的遅延が回避され得る。SSD製造業者は不揮発性フラッシュメモリを用いることにより、内部バッテリ供給を使用しないフラッシュSSDを作製し得る。それにより、SSDは多用途性およびコンパクト性を増すこととなる。
SSDはいくつかのメモリ装置、例えばいくつかのメモリチップを含み得る(本明細書において用いられる「いくつか」のものとは、1つまたは複数のそのものを指し得る。例えばいくつかのメモリ装置は1つまたは複数のメモリ装置を指し得る)。当業者が理解するように、メモリチップはいくつかのダイおよび/または論理ユニット(LUN:logical unit)を含み得る。各ダイは、各ダイ上に、いくつかのメモリアレイおよび周辺回路を含み得る。メモリアレイはいくつかの物理ページに組織化されるいくつかのメモリセルを含み得、物理ページはいくつかのブロックに組織化され得る。
SSDは、論理ブロックアドレス(LBA:logical block address)テーブル等の論理アドレス(LA:logical address)テーブルを含み得る。LBAテーブルはSSDのメモリアレイにおけるデータの論理アドレスをそのデータの物理的位置に関連付ける情報を記録するために用いられ得る。LBAテーブルはソリッドステートドライブにおける揮発性メモリ内に格納され、LBAテーブルのデータのコピーはソリッドステートドライブにおける不揮発性メモリ内にも格納され得る。LBAテーブルは、読み出し要求がソリッドステートドライブにおいて起動されたときに、ソリッドステートドライブにおけるデータの物理的位置を特定し、それによりデータを読み出すために用いられ得る。特定の論理アドレスにあるデータに対する読み出し要求はホストにより起動され得る。論理アドレスがLBAテーブルにおいて見出されると、次に、対応する物理アドレスが示され得る。ソリッドステートドライブは示された物理アドレスからデータを読み出し、それによりソリッドステートドライブに対する読み出し要求が完了される。
ソリッドステートドライブにおけるデータに対する論理アドレスと物理アドレスとの間の関係に関する現時点情報、例えば最新情報、を有するLBAテーブルを有さないソリッドステートドライブにおいては、ソリッドステートドライブにおけるいくつかのデータがアクセス不能となり得る。したがって、ソリッドステートドライブにおいて全データに対する完全なアクセスを達成するためには現時点におけるLBAテーブルが求められる。ソリッドステートドライブにおけるLBAテーブルは、LBAテーブルが揮発性メモリに格納され、および/またはLBAテーブルが不揮発性メモリに定期的に格納されるため、電源中断後、失われるかまたは不完全となり得る。したがって、電源中断の結果として、ソリッドステートドライブは、電源中断の直前の時間にソリッドステートドライブに書き込まれたデータに関する情報を有さないLBAテーブルを有することとなる。
本開示の1つまたは複数の実施形態に係る、少なくとも1つのメモリシステムを含むコンピューティングシステムの機能ブロック図である。 本開示の1つまたは複数の実施形態に係るメモリシステムの機能ブロック図である。 本開示の1つまたは複数の実施形態に係る不揮発性メモリにおけるトランザクションログ、ブロックテーブル、および論理ブロックアドレス(LBA)テーブルのブロック図である。 本開示の1つまたは複数の実施形態に係る例示的なトランザクションログを示す表である。 本開示の1つまたは複数の実施形態に係るブロックテーブルを示す表である。 本開示の1つまたは複数の実施形態に係る論理ブロックアドレス(LBA)テーブルを示す表である。 本開示の1つまたは複数の実施形態に係る例示的なトランザクションログの復元を示す方法フローチャートである。
本開示はメモリにおけるトランザクションログ復元のための方法を含む。1つの係る方法は、トランザクションログ内に保存されたいくつかのエントリーを調べ、それにより書き込みパターンを判定することと、書き込みパターンに基づいてメモリを読み出すことと、トランザクションログを、書き込みパターンに基づいてメモリから読み出されたデータに関連付けられた情報で更新することと、論理アドレス(LA)テーブルを、トランザクションログを用いて更新することと、を含む。
本開示の以下の詳細な説明においては添付の図面が参照される。なお、添付の図面は本開示の一部を形成するものであり、添付の図面においては1つまたは複数の実施形態が実施され得る1つまたは複数の方法が例示により示される。これらの実施形態は、当業者が本開示の実施形態を実施することが可能となるよう十分詳細に説明される。他の実施形態も利用され得ること、およびプロセス的変更例、電気的変更例、および/または構造的変更例が本開示の範囲から逸脱することなく可能であること、が理解されるべきである。
本開示の以下の詳細な説明においては添付の図面が参照される。なお、添付の図面は本開示の一部を形成するものであり、添付の図面においては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:application specific integrated circuit)であり得る。
図1において示されるように、コントローラ108は物理ホストインターフェース106と、ソリッドステートメモリ装置110−1、……、110−Nとに連結され得る。物理ホストインターフェース106は、メモリシステム104とホストシステム102等の他の装置との間で情報を伝達するために用いられ得る。ホストシステム102はメモリアクセス装置、例えばプロセッサを含み得る。当業者は、「プロセッサ」が、並列処理システム、いくつかのコプロセッサ、その他等の、1つまたは複数のプロセッサを意図し得ることを理解するであろう。ホストシステムの例は、ラップトップコンピュータ、パーソナルコンピュータ、デジタルカメラ、デジタル録音・再生装置、モバイル電話、PDA、メモリカードリーダ、インターフェースハブ、その他を含む。1つまたは複数の実施形態に対して物理ホストインターフェース106は標準インターフェースの形態であり得る。例えば、メモリシステム104がコンピューティングシステム100におけるデータストレージのために用いられる場合、物理ホストインターフェース106は、他のコネクタおよびインターフェースの中でもとりわけ、シリアル・アドバンスド・テクノロジー・アタッチメント(SATA:serial advanced technology attachment)、ペリフェラル・コンポーネント・インターコネクト・エクスプレス(PCIe:peripheral component interconnect express)、または汎用シリアルバス(USB:universal serial bus)であり得る。しかし一般に、物理ホストインターフェース106は制御、アドレス、データ、および他の信号を、メモリシステム104と、物理ホストインターフェース106に対する互換性を有する受信器を有するホストシステム102との間で渡すためのインターフェースを提供し得る。
コントローラ108はソリッドステートメモリ装置110−1、……、110−Nと通信し、それにより、他の動作の中でもとりわけ、データの読み出し、書き込み、および削除を行い得る。コントローラ108は、1つまたは複数の集積回路および/またはディスクリート部品であり得る回路を有し得る。1つまたは複数の実施形態に対して、コントローラ108における回路は、ソリッドステートメモリ装置110−1、……、110−Nにおけるアクセスを制御するための制御回路と、ホストシステム102およびメモリシステム104の間の変換層を提供するための回路と、を備え得る。したがって、メモリコントローラは、適切な信号を適切なI/O接続部において適切な時間に受信するために、ソリッドステートメモリ装置110−1、……、110−NのI/O接続部(図1において図示せず)を選択的に結合し得る。同様に、ホストシステム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ブロックのメモリセルを形成し得る。いくつかのブロックが1プレーンのメモリセルに含まれ得る。いくつかのプレーンのメモリセルが1つのダイ上に含まれ得る。例えば、128GBのメモリ装置は1ページあたり4314バイトのデータを含み、1ブロックあたり128ページを含み、1プレーンあたり2048ブロックを含み、1装置あたり16プレーンを含む。
ソリッドステートメモリ装置110−1、……、110−Nはいくつかのチャネルを含み得る。なお、各チャネルはいくつかのダイを含み得る。各チャネルは論理ユニット番号(LUN)を用いて組織化され得る。データをソリッドステートメモリ装置110−1、……、110−Nに書き込むとき、データはいくつかのチャネルおよびLUNにまたがってストライピングされ得る。データは、これらのチャネルに関連付けられたメモリセルにまたがって予測パターンでデータをストライピングする書き込みパターンアルゴリズムを用いて、ソリッドステートメモリ装置110−1、……、110−Nに書き込まれ得る。データを書き込むことは、ホストによりチャネルに送られたデータトラフィックを取り扱うチャネルの能力により制限され得る。したがって、より多くのデータの書き込みおよび読み出しがいくつかのチャネル上で可能となるよう、いくつかのチャネルがメモリシステムにより用いられ得る。
メモリ装置において、物理ページとは、書き込みおよび/または読み出しの単位、例えば、ともに、もしくはメモリセルの機能的グループとして、メモリセルの書き込みおよび/または読み出しが行われるいくつかのセル、を指し得る。偶数ページおよび奇数ページは、別個の書き込みおよび/または読み出し操作により、書き込みおよび/または読み出しが行われ得る。マルチレベルセル(MLC:multilevel cell)を含む実施形態に対して、物理ページはデータの上位ページおよび下位ページに論理的に分割され得る。例えば、1つのメモリセルは1つまたは複数のビットをデータの上位ページに寄与し、1つまたは複数のビットをデータの下位ページに寄与し得る。したがって、論理上位ページおよび論理下位ページの両方が同一の物理ページの一部であるため、データの上位ページおよび下位ページは1回の書き込み動作および/または読み出し動作の一環として書き込みおよび/または読み出しが行われ得る。
メモリシステム104はソリッドステートメモリ装置110−1、……、110−N上の消耗率を制御するためにウェアレベリングを実装し得る。ソリッドステートメモリアレイは、いくつかのプログラムサイクルおよび/または消去サイクル後に障害を経験し得る。ウェアレベリングは特定のグループ上で実行されるプログラムサイクルおよび/または消去サイクルの回数を低減し得る。ウェアレベリングは、ブロックに対するリクラメーション処理を行うために移動される有効ブロックの量を最小化するための動的ウェアレベリングを含み得る。動的ウェアレベリングはガベージコレクションと称される技術を含み得る。なお、ガベージコレクションにおいては、閾値量を超える無効ページを有するブロックは、そのブロックを消去することにより、リクラメーションが行われる。無効ページとは、例えば、異なるページに更新および格納された1ページのデータであり得る。静的ウェアレベリングは、高い消去カウントを有するブロックに静的データを書き込み、それによりブロックの寿命を延長することを含み得る。
図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は、書き込みパターンアルゴリズム230により作成された書き込みパターンを用いて、どこにデータが書き込まれたか、およびどこに次のデータを書き込むかを判定する。書き込みパターンアルゴリズムは、いくつかのチャネル上に配置されたメモリセルへとデータを予測パターンで書き込むことをコントローラ208に行わせる。ホスト書き込みに対する書き込みパターンは書き込みパターンアルゴリズム230にしたがって確立され得、リクラメーション書き込みに対する書き込みパターンは書き込みパターンアルゴリズム230にしたがって確立され得る。いくつかの実施形態において、書き込みパターンは予測パターンで書き込まれたメモリセルを含み得る。書き込みパターンは、最も低いアドレスから最も高いアドレスへと各チャネル上のブロックを充填することにより、複数のチャネルにまたがってデータを書き込むことを含み得る。例えば、コントローラはデータを、書き込みパターンアルゴリズムにしたがって第1チャネル上のページに書き込み、次いで第2チャネル上のページに書き込み、次いで第3チャネル上のページに書き込み、次いで第1チャネル上の他のページに戻って書き込み、それにより書き込みパターンを作成し得る。データを書き込むとき、データは、書き込みパターンアルゴリズムを用いて、1つのチャネル上の1つのブロックに対して1度に1ページずつそのブロックがフル状態となるまで書き込まれ得る。次にデータが書き込みパターンアルゴリズムにしたがって再びそのチャネル上に書き込まれるときは、データはそのチャネル上の新規ブロックから開始して書き込まれることとなるであろう。論理アドレスに関連付けられたデータが新規の物理アドレスに書き込まれる(例えばウェアレベリングの一部として、またはデータに対する更新として)と、メモリ管理回路218はLBAテーブル、例えばLBAテーブル234を、論理アドレスに対応する新規の物理アドレスで更新し得る。
メモリ管理回路218は、テーブル、例えばブロックテーブル236にアクセスし、それによりウェアレベリングに対する候補を判定し得る。メモリ管理回路218は、例えば、静的ウェアレベリング動作の一環として、高い消去カウントを有するブロックをブロックテーブル236において検索し得る。メモリ管理回路は特定ブロックの消去カウントとカウント閾値とを比較し得る。例えば、最も低い消去カウントを有するブロックの消去カウントが特定ブロックから減算され得る。その差異がカウント閾値より大きい場合、その特定ブロックはブロックリクラメーションに対する候補として示され得る。
メモリ管理回路218は、例えば動的ウェアレベリング動作の一環として、ガベージコレクション閾値量の無効の部分、例えば未使用の部分、例えばページを有するブロックをブロックテーブル236において検索し得る。リクラメーションは、ガベージコレクションおよび/またはウェアレベリングの結果としてメモリ管理回路218により呼び出さ得るプロセスである。リクラメーションは、全部の有効データを、消去されるべきブロック内の位置から、ブロックが消去される前に他のブロック内の位置に移動することを意味し得る。
スイッチ220は、ホスト−メモリ変換回路216、メモリ管理回路218、不揮発性メモリ制御回路222、および/または揮発性メモリ制御回路224に連結され得る。スイッチ220はクロスバースイッチであり得、1つまたは複数のバッファ、例えばスタティックランダムアクセスメモリ(SRAM:static random access memory)バッファを含む、および/または係るバッファに連結され得る。スイッチ220はコントローラ208の様々な構成品間におけるインターフェースを提供し得る。スイッチ220は、係る構成品間における一貫したアクセスおよび実装を提供するために、コントローラ208の異なる構成品に関連付けられ得る定義された信号プロトコルにおける変動を相殺し得る。1つまたは複数の実施形態において、スイッチ220はダイレクトメモリアクセス(DMA:direct memory access)モジュールであり得る。
コントローラ、例えば不揮発性メモリ制御回路222は、スイッチ220に、および1つまたは複数の不揮発性メモリ210に、連結され得る。他の情報の中でもとりわけ、1つまたは複数の不揮発性メモリ210は、本明細書において説明されるように、トランザクションログ238、論理ブロックアドレス(LBA)テーブル234−C等の論理アドレス(LA:logical address)テーブルのコピー、および/またはブロックテーブル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のブロック図を示す。他の情報の中でもとりわけ、不揮発性310メモリは、他の情報の中でもとりわけ論理アドレス、物理アドレス、データ型、位置に対する消去カウント、ステータス情報を含み得る書き込み動作情報を、LBAテーブル336、ブロックテーブル334、および/またはトランザクションログ338に格納し得る。
揮発性メモリに格納されるLBAテーブルのコピーは、例えば他の周期的間隔の中でもとりわけ少なくとも300秒毎等で周期的に、LBAテーブル336として不揮発性メモリ310に格納され得る。例えば、LBAテーブル336は120秒毎に不揮発性メモリ310に格納され得る。揮発性メモリにおけるLBAテーブルはソリッドステートドライブにおける各書き込み後に更新され得る。不揮発性メモリ装置におけるLBAテーブルの更新頻度に対する時間的周期は、他の要因の中でもとりわけ、メモリシステムが実行する書き込みの頻度に、および/またはデータが書き込まれるスピードに、依存し得る。
トランザクションログ338は不揮発性メモリに格納され、メモリ装置において実行される書き込みに関する情報を記録するために用いられ得る。いくつかのメモリ装置を有するメモリシステムは、メモリ装置において実行される書き込みに関する情報を含むトランザクションログを含み得る。トランザクションログはホスト書き込みに関する情報および/またはリクラメーション書き込みに関する情報を含み得る。ホスト書き込みに関する情報および/またはリクラメーション書き込みに関する情報は、書き込みがメモリにおいて実行されるとき、トランザクションログに含まれる。トランザクションログはメモリシステムにおけるいくつかのメモリ装置にまたがってストライピングされ得る。当業者は、ストライピングは、データが2つ以上の装置上に格納されるよう、データを分割することを含むことを理解するであろう。ストライピングは、トランザクションログ情報等の書き込みデータを断片化し、少なくとも1つの断片をいくつかのメモリ装置のそれぞれに格納することを含み得る。1つまたは複数の実施形態において、コントローラは、各書き込みがメモリ装置において実行されるとき、各書き込みに対するトランザクションログ情報でトランザクションログを更新し得る。トランザクションログは、1つの時間的周期の間にメモリ装置において実行される全書き込みに関するトランザクションログ情報を含み得る。トランザクションログは、LBAテーブル336が不揮発性メモリ310に保存された最終時間以後に実行されたメモリ装置に対する全書き込みに関するトランザクションログ情報を含み得る。
1つまたは複数の実施形態において、トランザクションログ338からの情報は、LBAテーブル336が不揮発性メモリにおいて最後に保存された時間以降、例えば最終保存と電源中断との間に、メモリ装置(単数または複数)において実行された書き込みに関する情報でLBAテーブル336のコピーを更新するために用いられ得る。さもなければ不揮発性メモリ310におけるLBAテーブル336のコピーには情報の欠落が生じ得る。なぜなら、不揮発性メモリ310におけるLBAコピー336は不揮発性メモリにコピーされた時間において揮発性メモリのLBAテーブル内にあった情報のみを有することとなるためである。また、揮発性メモリにおけるLBAテーブルは電源中断の間は消去される。そのため、不揮発性メモリにおけるLBAコピーは、仮に揮発性メモリにおけるLBAテーブルが消去されていないとした場合に揮発性メモリにおけるLBAテーブルが不揮発性メモリ310にコピーされた最終時間と揮発性メモリにおけるLBAテーブルが消去された時間との間に揮発性メモリにおけるLBAテーブルに格納されたであろう情報を用いて、更新されることは不可能である。したがって、不揮発性メモリ310におけるトランザクションログ338は不揮発性メモリにおけるLBAテーブル内の情報を更新するために用いられ得る。トランザクションログ338はデータの位置とそのデータがメモリ装置に書き込まれた時間とに関する情報を含み得る。トランザクションログ338における1ページのデータは、例えば128個の書き込み動作に関連付けられた情報を含み得る。この情報はメモリ装置により確認され、次いでLBAテーブル336を更新するためにLBAテーブルに入力され得る。1つまたは複数の実施形態において、トランザクションログの最終ページは、電源中断の間、破損され得、そのため、トランザクションログの情報の最終ページはメモリアレイに書き込まれた最近のデータのうちの一部に関する情報を含まない。
いくつかの事例において、トランザクションログ復元プロセスは、保存されたトランザクションログ内のいくつかのエントリーを調べ、それにより書き込みパターンを判定することと、トランザクションログにおいて最後に保存された書き込みのメモリにおける位置を判定することと、を含み得る。書き込みパターンは、最後に保存された書き込みからの情報とともに、書き込みパターンにおける次の書き込みのメモリ内の次の位置、例えば、関連付けられた情報がトランザクションログに保存されていない状態の、書き込みパターンにおける第1書き込み、を判定するために用いられ得る。メモリにおけるページは書き込みパターンに基づく順序で読み出され得る。書き込みパターンにしたがってトランザクションログにおけるデータページに関連付けられた情報を有したであろう次のデータページが読み出される。そのデータページに書き込まれたデータが存在すれば、そのデータページに関連付けられたメタデータは、例えばそのデータページのLBA等のそのデータページに関連付けられた情報でトランザクションログを更新するために用いられる。次いで、書き込みパターンにしたがってトランザクションログに存在したであろう次のデータページが読み出される。そのデータページに書き込まれたデータが存在すれば、トランザクションログはそのページに関連付けられた情報で再び更新される。このプロセスは、どこで電源中断により最終書き込みが実行されたかを示す消去ページが見出されるまで、トランザクションログを更新するために用いられる。1つまたは複数の実施形態において、更新されたトランザクションログはLBAテーブルを更新するために用いられ得る。
1つまたは複数の実施形態において、トランザクションログ復元プロセスがフル状態のブロック、例えばブロック境界におけるブロック、に到達した場合、データがページに書き込まれたかどうかを判定するためにページを読み出す間、書き込みパターンは、次の書き込みが実行されるブロックを示さない場合もある。トランザクションログ復元プロセスは部分的に書き込まれたブロックを検索し得る。部分的に書き込まれたブロックは電源中断が生じたときに書き込みパターンアルゴリズムにしたがって書き込み中であったブロックである。なぜなら所与のチャネル上のブロックは、ブロックがフル状態となるまで、書き込みパターンアルゴリズムにしたがって1度に1つ書き込まれるためである。
部分的に書き込まれたブロックは、いくつかのブロックの第1ページおよび最終ページを読み出すこと、および書き込みパターンに基づく順序でメモリにおいて読み出されたページが消去ページを含まないブロック内にあるときに部分的に書き込まれたブロックに含まれるデータ型を判定することにより、位置が特定され得る。第1ページがデータを含み、最終ページが消去されている場合、ブロックは部分的に書き込まれ、この特定の部分的に書き込まれたブロックは、電源中断時にデータ書き込み中であったブロックとして認識される。部分的に書き込まれたブロックが位置特定されると、そのブロックはホストデータで書き込まれているかまたはリクラメーションデータで書き込まれているかどうかの判定は、トランザクションログにおけるホスト書き込み識別子および/またはリクラメーション書き込み識別子を用いてなされ得る。リクラメーションデータはウェアレベリングプロセスおよび/またはガベージコレクションプロセスの一環として書き込まれたデータである。リクラメーションデータで部分的に書き込まれたブロックはトランザクションログ復元プロセスの間、無視され得る。なぜなら、部分的に書き込まれたブロックにおけるリクラメーションデータは、リクラメーションデータに対する書き込み確認が受け取られるまでウェアレベリングおよび/またはガベージコレクションの間データが消去されないためにブロックが部分的に書き込まれている場合、その元の位置から消去されていないためである。したがって、部分的に書き込まれたブロックにおけるリクラメーションデータはトランザクションログに保存される必要はない。ホストデータで部分的に書き込まれたブロックが位置特定されると、ページが読み出され、それによりこれらのページがデータを含むかどうかが判定され、これらのページがデータを含む場合、トランザクションログはデータを含むそれらのページに関連付けられた情報で更新される。なお、ページに関連付けられた情報はメタデータに含まれる論理アドレスであり得る。トランザクションログ復元プロセスは、電源中断により書き込みパターンが終了した位置を示す消去ページが見出されるまで継続され得る。
1つまたは複数の実施形態において、トランザクションログ復元プロセスは、トランザクションログにおける破損された最終ページの情報を再作成するために、書き込みパターンを使用し得る。次に、不揮発性メモリにおけるLBAテーブルは現在完全であるトランザクションログで更新され得る。電源中断前のデータの位置を有する更新されたトランザクションログは、不揮発性メモリにおけるLBAテーブルの最終保存と電源中断時との間の書き込みに関する情報が含まれるようLBAテーブルを更新するために用いられ得る。
図4は本開示の1つまたは複数の実施形態に係る例示的なトランザクションログ438を示す表である。図4において、トランザクションログ438は、メモリ装置内のデータに対する物理アドレス452および論理アドレス454を含むトランザクションログ情報を含み得る。トランザクションログ438はメモリ装置において実行される各書き込みの位置を記録し、トランザクションログ438はメモリ装置に格納され得る。トランザクションログはメモリシステムにおけるいくつかのメモリ装置にまたがってストライピングされ得る。1つまたは複数の実施形態において、トランザクションログは、メモリ装置において実行される各ホスト書き込みおよび各リクラメーション書き込みを含むトランザクションをログ記録し得、メモリ装置上で実行されるトランザクションの、メモリ装置および/またはコントローラに対する参考資料となり得る。トランザクションログは、揮発性メモリからのLBAテーブルのコピーが不揮発性メモリにおいて作成された後、消去され得る。トランザクションログは、トランザクションログの消去後に実行されるトランザクションに対応する新規エントリーで更新され得る。
図4において、トランザクションログ438はいくつかのエントリー456−1、456−2、456−3、……、456−Nを含み得る。これらのエントリーはメモリ装置において実行された各トランザクションを示す。トランザクションログ438におけるエントリー456−1、456−2、456−3、……、456−Nは、例えば書き込み、読み出し、または消去等のトランザクションに対するコマンド450と、トランザクションの物理アドレス452と、トランザクションの論理アドレス454と、ホスト書き込み識別子457と、リクラメーション書き込み識別子458とを含み得る。ホスト書き込み識別子457はトランザクションがホストにより始められたこと、例えばデータ型がホストデータであることを示し得、リクラメーション書き込み識別子458はトランザクションがリクラメーションプロセスの一環として始められたこと、例えばデータ型がリクラメーションデータであることを示し得る。
図5は本開示の1つまたは複数の実施形態に係るブロックテーブル534を示す表である。ブロックテーブル534はメモリ装置におけるブロックに関する情報を格納し得る。ブロックテーブル534に格納される情報は、データ有効性情報560、消去カウント562、およびステータス情報564を含み得る。ブロックテーブル534はいくつかのエントリー566−1、566−2、566−3、……、および566−Mを含み得る。ブロックテーブル534における各エントリーは、1ブロックおよび/または1ページのデータ等の、データに対する物理アドレス552、データ有効性情報560、消去カウント562、およびステータス情報564を含み得る。ブロックテーブル534におけるデータ有効性情報560は、ブロックにおける各ページの有効性に関する情報、例えばデータが有効であるかまたは無効であるかの情報を含み得る。ブロックテーブル534における消去カウント562はブロックがこれまでに消去された回数を示し得る。ブロックテーブル534におけるステータス情報564は、ブロックに対する他のステータス表示の中でもとりわけ、ブロックが消去された、および/またはブロックがデータを含むかどうかを示し得る。
図6は、本開示の1つまたは複数の実施形態に係る論理ブロックアドレス(LBA)テーブル636を示す表である。LBAテーブル636はメモリ装置における各データエントリーに対する論理アドレス654および物理アドレス652を格納し得、メモリ装置における各データエントリーに対して論理アドレス654に対する物理アドレス652への変換を提供し得る。LBAテーブル636はメモリ装置への各書き込みに対するLBAによりインデックス付けられ得、LBAテーブル636における各データエントリーに対する論理アドレス654および物理アドレス652を含むいくつかのエントリー670−1、670−2、670−3、……、および670−Rを含み得る。LBAは、各エントリーにおけるデータが格納された対応する物理アドレスを検索するために用いられ得る。LBAテーブルはメモリシステムの揮発性メモリに格納され得、揮発性メモリにおけるLBAテーブルのコピーが周期的に不揮発性メモリにおいて作成され得る。LBAテーブルのコピーが不揮発性メモリにおいて作成されると、揮発性メモリにおけるLBAテーブルは消去され得、揮発性メモリにおけるLBAテーブルは、揮発性メモリにおけるLBAテーブルの消去後に実行されたトランザクションに対応する新規エントリーで更新され得る。
図7は本開示の1つまたは複数の実施形態に係る例示的なトランザクションログの復元を示す方法フローチャートである。1つまたは複数の実施形態において、トランザクションログの復元は、トランザクションログに保存されたいくつかのエントリーを調べること780を含む。トランザクションログにおけるエントリーを調べることは、ホスト書き込みパターンを判定すること782のために、およびリクラメーション書き込みパターンを判定すること784のために、用いられ得る。ホスト書き込みパターンは、ホスト書き込みパターンにしたがってトランザクションログにおけるデータページに関連付けられた情報を有したであろう次のデータページを位置特定し読み出すこと786のために用いられ得る。トランザクションログの復元は、ホスト書き込みパターンにしたがって読み出されたデータページに関連付けられた情報でトランザクションログを更新すること788を含み得る。
本開示はメモリにおけるトランザクションログ復元のための方法を含む。1つの係る方法は、トランザクションログ内に保存されたいくつかのエントリーを調べ、それにより書き込みパターンを判定することと、書き込みパターンに基づいてメモリを読み出すことと、トランザクションログを、書き込みパターンに基づいてメモリから読み出されたデータに関連付けられた情報で更新することと、論理アドレス(LA)テーブルを、トランザクションログを用いて更新することと、を含む。
本明細書において特定の実施形態が例示および説明されてきたが、当業者は、同一結果を達成するよう計算された構成が、示された特定の実施形態に取って代わられ得ることを理解するであろう。本開示は本開示の1つまたは複数の実施形態の適応例または変化例を含むことを意図するものである。上記の説明が例示的にすぎず制限ではないことを理解すべきである。上述の実施形態の組合せ、および本明細書において特に説明されない他の実施形態は、上記の説明を綿密に調べると、当業者に明らかとなることであろう。本開示の1つまたは複数の実施形態の範囲は、上述の構造および方法が用いられる他の応用を含むものである。したがって、本開示の1つまたは複数の実施形態の範囲は、添付の請求項が教授する均等物の全範囲とともに係る請求項を参照して、判定されるべきである。
前述の詳細な説明において、いくつかの特徴は、本開示を簡素化する目的で、単一の実施形態にまとめられる。本開示の方法は、本発明の開示された実施形態が、各請求項において明示的に記載されるよりも多くの特徴を用いるべきであるという意図を反映するものと解釈されてはならない。むしろ、以下の請求項に反映されるように、本発明の要旨は、開示された単一の実施形態の、全部より少数の特徴に存在する。したがって、以下の請求項は発明を実施するための形態に組み込まれ、各請求項は個別の実施形態として自立している。

Claims (15)

  1. メモリにおけるトランザクションログ復元のための方法であって、
    トランザクションログに保存されたいくつかのエントリーを調べて、書き込みパターンを判定することと、
    前記書き込みパターンに基づいて前記メモリを読み出すことと、
    前記書き込みパターンに基づいて前記メモリから読み出されたデータに関連付けられた情報で前記トランザクションログを更新することと、
    前記トランザクションログを用いて論理アドレス(LA)テーブルを更新することであって、前記論理アドレス(LA)テーブルは、論理アドレス及びそれに対応する物理アドレスを格納する、ことと、
    を含む、方法。
  2. 前記書き込みパターンに基づいて前記メモリを読み出すことは、前記メモリ内のページを読み出すことを含む、請求項1に記載の方法。
  3. 前記トランザクションログは、データが前記メモリに最も最近書き込まれた位置に関する情報を含む、請求項1又は2に記載の方法。
  4. 前記トランザクションログは、更新される前に読み出された前記ページに関連付けられた情報を有さなかった、請求項2に記載の方法。
  5. 前記トランザクションログを更新することは、前記トランザクションログを、データを含むメモリ内の読み出されたページに関連付けられた情報で更新することを含む、請求項2に記載の方法。
  6. 前記メモリを読み出すことは、消去されたページが見出されるまで前記書き込みパターンに基づく順序で前記メモリ内のページを読み出すことを含む、請求項1又は2に記載の方法。
  7. いくつかのブロックの第1ページおよび最終ページを読み出すことにより部分的に書き込まれたブロックの位置を特定することと、
    前記書き込みパターンに基づく順序で読み出された前記メモリ内の前記ページが消去されたページを含まないブロックにあるときに前記部分的に書き込まれたブロックに含まれるデータのタイプを判定することと
    をさらに含む、請求項2に記載の方法。
  8. ホストデータを含む前記部分的に書き込まれたブロックのページを読み出すことをさらに含む、請求項7に記載の方法。
  9. データを含む前記部分的に書き込まれたブロック内の読み出されたページに関連付けられた情報で前記トランザクションログを更新することをさらに含む、請求項8に記載の方法。
  10. 論理アドレス(LA)テーブルおよびトランザクションログを格納するよう構成された不揮発性メモリであって、前記論理アドレス(LA)テーブルは、論理アドレス及びそれに対応する物理アドレスを格納する、不揮発性メモリと、
    コントローラと、
    を含むメモリシステムであって、
    前記コントローラは、
    データがメモリ内のどこに書き込まれたかを示すトランザクションログ内の情報を調べることにより書き込みパターンを判定することと、
    前記書き込みパターンに基づく順序で前記メモリ内のページを読み出すことと、
    前記トランザクションログを、メモリにおいて読み出された前記ページに関連付けられた情報で更新することと、
    前記トランザクションログを用いて前記論理アドレス(LA)テーブルを更新することと、
    を行うよう構成されている、メモリシステム。
  11. 前記トランザクションログは、前記LAテーブルを不揮発性メモリに格納した後に前記メモリシステムにおいて実行された書き込みに関する情報を記録するよう構成されている、請求項10に記載のメモリシステム。
  12. 前記コントローラは、前記書き込みパターンに基づく順序でメモリ内のページを読み出すことによりトランザクションログ内のトランザクションログ情報の最終ページを再作成するよう構成されている、請求項10に記載のメモリシステム。
  13. 前記コントローラは書き込みパターンアルゴリズムに基づいて前記書き込みパターンを作成するよう構成されている、請求項10から請求項12のいずれか1つに記載のメモリシステム。
  14. 前記コントローラは前記更新されたLAテーブルのコピーを揮発性メモリに格納するようさらに構成されている、請求項10に記載のメモリシステム。
  15. 前記コントローラは前記揮発性メモリ内の前記更新されたLAテーブルを継続的に更新するよう、および前記継続的に更新されるLAテーブルのコピーを前記不揮発性メモリに300秒毎に少なくとも1回格納するよう、構成されている、請求項14に記載のメモリシステム。
JP2013541977A 2010-12-03 2011-11-30 トランザクションログの復元 Active JP5649742B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/960,204 US8495338B2 (en) 2010-12-03 2010-12-03 Transaction log recovery
US12/960,204 2010-12-03
PCT/US2011/001944 WO2012074554A2 (en) 2010-12-03 2011-11-30 Transaction log recovery

Publications (2)

Publication Number Publication Date
JP2013544414A JP2013544414A (ja) 2013-12-12
JP5649742B2 true JP5649742B2 (ja) 2015-01-07

Family

ID=46163361

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013541977A Active JP5649742B2 (ja) 2010-12-03 2011-11-30 トランザクションログの復元

Country Status (8)

Country Link
US (2) US8495338B2 (ja)
EP (1) EP2646919B1 (ja)
JP (1) JP5649742B2 (ja)
KR (1) KR101491943B1 (ja)
CN (1) CN103270500B (ja)
SG (1) SG190955A1 (ja)
TW (1) TWI463312B (ja)
WO (1) WO2012074554A2 (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
US9141526B2 (en) * 2010-09-16 2015-09-22 International Business Machines Corporation Reclaiming units by searching units for a predetermined criterion and storing data from a valid subunit
US9176670B2 (en) * 2011-04-26 2015-11-03 Taejin Info Tech Co., Ltd. System architecture based on asymmetric raid storage
US9146855B2 (en) * 2012-01-09 2015-09-29 Dell Products Lp Systems and methods for tracking and managing non-volatile memory wear
CN103378986A (zh) * 2012-04-28 2013-10-30 鸿富锦精密工业(深圳)有限公司 系统事件日志记录系统及方法
US8966205B1 (en) * 2012-05-10 2015-02-24 Western Digital Technologies, Inc. System data management using garbage collection and hybrid self mapping
CN103221925A (zh) * 2012-11-23 2013-07-24 华为技术有限公司 数据处理方法和存储设备
US20140372710A1 (en) * 2013-06-18 2014-12-18 Samsung Electronics Co., Ltd. System and method for recovering from an unexpected shutdown in a write-back caching environment
US9430503B1 (en) 2013-06-28 2016-08-30 Emc Corporation Coalescing transactional same-block writes for virtual block maps
US9110809B2 (en) * 2013-07-03 2015-08-18 Nvidia Corporation Reducing memory traffic in DRAM ECC mode
US10140174B2 (en) 2013-08-29 2018-11-27 Hewlett Packard Enterprise Development Lp Separating storage transaction logs
JP5950286B2 (ja) 2014-05-29 2016-07-13 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation アドレス変換テーブルを書き込む装置及び方法
KR102501751B1 (ko) * 2015-09-22 2023-02-20 삼성전자주식회사 메모리 콘트롤러, 불휘발성 메모리 시스템 및 그 동작방법
US10387275B2 (en) * 2016-07-26 2019-08-20 Hewlett Packard Enterprise Development Lp Resume host access based on transaction logs
CN107678679B (zh) * 2016-08-02 2020-09-08 建兴储存科技(广州)有限公司 运用于固态储存装置的超级区块的扫描方法
CN106874068B (zh) * 2017-02-09 2020-02-21 联想(北京)有限公司 主机装置的容器运行加速方法及系统
US10635613B2 (en) * 2017-04-11 2020-04-28 Micron Technology, Inc. Transaction identification
US10983876B2 (en) 2018-03-29 2021-04-20 Seagate Technology Llc Node management of pending and unstable operations
KR20200089547A (ko) 2019-01-17 2020-07-27 에스케이하이닉스 주식회사 저장 장치 및 그 동작 방법
US11726991B2 (en) 2019-04-30 2023-08-15 EMC IP Holding Company LLC Bulk updating of mapping pointers with metadata transaction log
US11294807B2 (en) * 2019-06-25 2022-04-05 Western Digital Technologies, Inc. Delayed write failure logging
CN112988880B (zh) * 2019-12-12 2024-03-29 阿里巴巴集团控股有限公司 数据同步方法、装置、电子设备及计算机存储介质

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8017A (en) * 1851-04-01 Splint-machine
US6185663B1 (en) 1998-06-15 2001-02-06 Compaq Computer Corporation Computer method and apparatus for file system block allocation with multiple redo
US6553509B1 (en) 1999-07-28 2003-04-22 Hewlett Packard Development Company, L.P. Log record parsing for a distributed log on a disk array data storage system
JP2005222202A (ja) * 2004-02-04 2005-08-18 Matsushita Electric Ind Co Ltd 不揮発性記憶装置のデータ保護方法
US8452929B2 (en) * 2005-04-21 2013-05-28 Violin Memory Inc. Method and system for storage of data in non-volatile media
JP2007122221A (ja) 2005-10-26 2007-05-17 Sony Corp 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
TWI317899B (en) * 2006-11-17 2009-12-01 Hon Hai Prec Ind Co Ltd Storage apparatus with data protection function and method therefor
US7752180B1 (en) 2006-12-12 2010-07-06 Network Appliance, Inc. File system group consistency point
US7769945B2 (en) 2007-01-18 2010-08-03 Sandisk Il Ltd. Method and system for facilitating fast wake-up of a flash memory system
US8140483B2 (en) 2007-09-28 2012-03-20 International Business Machines Corporation Transaction log management
US7979626B2 (en) 2008-05-13 2011-07-12 Microsoft Corporation Flash recovery employing transaction log
US7917803B2 (en) 2008-06-17 2011-03-29 Seagate Technology Llc Data conflict resolution for solid-state memory devices
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
JP5317690B2 (ja) 2008-12-27 2013-10-16 株式会社東芝 メモリシステム
US7925925B2 (en) 2008-12-30 2011-04-12 Intel Corporation Delta checkpoints for a non-volatile memory indirection table
US8239614B2 (en) * 2009-03-04 2012-08-07 Micron Technology, Inc. Memory super block allocation

Also Published As

Publication number Publication date
US20120144152A1 (en) 2012-06-07
CN103270500B (zh) 2016-08-10
CN103270500A (zh) 2013-08-28
WO2012074554A3 (en) 2012-10-04
WO2012074554A2 (en) 2012-06-07
TW201232256A (en) 2012-08-01
EP2646919A4 (en) 2015-03-18
US8495338B2 (en) 2013-07-23
JP2013544414A (ja) 2013-12-12
TWI463312B (zh) 2014-12-01
US8984253B2 (en) 2015-03-17
US20130311750A1 (en) 2013-11-21
KR20130088173A (ko) 2013-08-07
SG190955A1 (en) 2013-07-31
KR101491943B1 (ko) 2015-02-10
EP2646919A2 (en) 2013-10-09
EP2646919B1 (en) 2016-05-04

Similar Documents

Publication Publication Date Title
JP5649742B2 (ja) トランザクションログの復元
US10564690B2 (en) Power interrupt management
US8788876B2 (en) Stripe-based memory operation
JP5728672B2 (ja) ハイブリッドメモリ管理
US20180173619A1 (en) System and Method for Distributed Logical to Physical Address Mapping
US10503433B2 (en) Memory management method, memory control circuit unit and memory storage device
CN113900586A (zh) 存储器系统及其操作方法
US20160224253A1 (en) Memory System and Method for Delta Writes
US20190361608A1 (en) Data storage device and operation method for recovery, and storage system having the same
US11662940B2 (en) Data storage device and data processing method for restoring MLC/TLC memory to avoid degradation of access performance of a memory device caused by word line short
KR20220130526A (ko) 메모리 시스템 및 그 동작 방법
US20200387446A1 (en) Memory system and operating method thereof

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130701

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20130701

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20130531

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130701

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140624

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20140912

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140912

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: 20141021

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141111

R150 Certificate of patent or registration of utility model

Ref document number: 5649742

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