JP2015535119A - ソリッドステートドライブにおいて再構築された断片化ファームウェアテーブルのための方法、データストレージデバイス及びシステム - Google Patents
ソリッドステートドライブにおいて再構築された断片化ファームウェアテーブルのための方法、データストレージデバイス及びシステム Download PDFInfo
- Publication number
- JP2015535119A JP2015535119A JP2015543043A JP2015543043A JP2015535119A JP 2015535119 A JP2015535119 A JP 2015535119A JP 2015543043 A JP2015543043 A JP 2015543043A JP 2015543043 A JP2015543043 A JP 2015543043A JP 2015535119 A JP2015535119 A JP 2015535119A
- Authority
- JP
- Japan
- Prior art keywords
- firmware
- journal
- page
- controller
- volatile memory
- 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
Links
- 238000013500 data storage Methods 0.000 title claims abstract description 28
- 238000000034 method Methods 0.000 title claims description 34
- 239000007787 solid Substances 0.000 title description 2
- 238000012937 correction Methods 0.000 claims description 5
- 238000013519 translation Methods 0.000 description 42
- 238000010586 diagram Methods 0.000 description 12
- 238000007906 compression Methods 0.000 description 7
- 230000006835 compression Effects 0.000 description 7
- 230000007246 mechanism Effects 0.000 description 6
- 238000013507 mapping Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- PCTMTFRHKVHKIS-BMFZQQSSSA-N (1s,3r,4e,6e,8e,10e,12e,14e,16e,18s,19r,20r,21s,25r,27r,30r,31r,33s,35r,37s,38r)-3-[(2r,3s,4s,5s,6r)-4-amino-3,5-dihydroxy-6-methyloxan-2-yl]oxy-19,25,27,30,31,33,35,37-octahydroxy-18,20,21-trimethyl-23-oxo-22,39-dioxabicyclo[33.3.1]nonatriaconta-4,6,8,10 Chemical compound C1C=C2C[C@@H](OS(O)(=O)=O)CC[C@]2(C)[C@@H]2[C@@H]1[C@@H]1CC[C@H]([C@H](C)CCCC(C)C)[C@@]1(C)CC2.O[C@H]1[C@@H](N)[C@H](O)[C@@H](C)O[C@H]1O[C@H]1/C=C/C=C/C=C/C=C/C=C/C=C/C=C/[C@H](C)[C@@H](O)[C@@H](C)[C@H](C)OC(=O)C[C@H](O)C[C@H](O)CC[C@@H](O)[C@H](O)C[C@H](O)C[C@](O)(C[C@H](O)[C@H]2C(O)=O)O[C@H]2C1 PCTMTFRHKVHKIS-BMFZQQSSSA-N 0.000 description 3
- 238000012005 ligant binding assay Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000001465 metallisation Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 230000003213 activating effect Effects 0.000 description 1
- 230000003321 amplification Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 150000004770 chalcogenides Chemical class 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000002347 injection Methods 0.000 description 1
- 239000007924 injection Substances 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 239000000243 solution Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/21—Employing a record carrier using a specific recording technology
- G06F2212/214—Solid state disk
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7201—Logical to physical mapping or translation of blocks or pages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7203—Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7207—Details relating to flash memory management management of metadata or control data
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System (AREA)
Abstract
Description
図2は、一実施形態に係るデータストレージデバイスの物理及び論理データ構成の態様を示す図である。一実施形態では、データストレージデバイスは、SSDである。別の実施形態では、データストレージデバイスは、フラッシュメモリ及び回転磁気ストレージメディアを含むハイブリッドデバイスである。本開示は、SSD及びハイブリッド実装の両方で適用可能であるが、簡略化のために、各種実施形態は、SSDベースの実装について説明される。一実施形態に係るデータストレージデバイスコントローラ202は、参照番号218で示されるホストに接続されるように構成されてもよい。ホスト218は、ロジカルブロックアドレッシング(Logical Block Addressing(LBA))スキームを使用してもよい。LBAサイズは、通常、固定されているが、ホストは、LBAのサイズを動的に変化しうる。例えば、物理データストレージデバイスは、異なるサイズのLBAについて構成されるパーティションをサポートするように論理分割(logically portioned)されてもよい。しかし、このようなパーティションは、同時に異なるサイズのLBAをサポートするために物理デバイスを必要としない。例えば、LBAサイズは、インターフェース及びインターフェースモードによって変化してもよい。事実、512バイトが最も一般的であるが、4KBも一般的となっており、512+(520,528等)及び4KB+(4KB+8,4K+16等)がある。それらに示されるように、データストレージデバイスコントローラ202は、ページレジスタ204を備えてもよい又は接続されてもよい。ページレジスタ204は、コントローラ202がデータストレージデバイスからデータを読み出す、及びデータストレージデバイスへデータを記憶することを可能にするように構成されてもよい。コントローラ202は、ホスト218からのデータアクセスコマンドに対応するフラッシュメモリデバイスのアレイからデータを書き込み及び読み出すように構成されてもよい。本明細書の説明は、一般的なフラッシュメモリについて示されているが、メモリデバイスのアレイは、フラッシュ集積回路、カルコゲナイドRAM(Chalcogenide RAM(C−RAM))、相変化メモリ(Phase Change Memory(PC−RAM又はPRAM))、プログラマブルメタライゼーションセルRAM Programmable Metallization Cell RAM(PMC−RAM又はPMCm)、Ovonic Unified Memory(OUM)、抵抗RAM(Resistance RAM(RRAM(登録商標)))、NANDメモリ(例えば、single−level cell(SLC)メモリ、multi−level cell(MLC)メモリ又はそれらの任意の組み合わせ)、NORメモリ、EEPROM、強誘電体メモリ(Ferroelectric Memory(FeRAM))、磁気抵抗RAM(Magnetoresistive RAM(MRAM))、他のディスクリートNVM(不揮発性メモリ)チップ又はそれらの任意の組み合わせのような不揮発性メモリデバイスの1以上を備えてもよいことが理解される。
論理物理アドレス変換マップ302が揮発性メモリに記憶されている場合、起動又は揮発性メモリ306への任意の他の電力損失があると、再構築を行う必要がある。よって、これは、L−ページが、起動(startup)後又は電力損失イベント(power−fail event)の後に不揮発性メモリ内に記憶されることをコントローラが「知る」前に、コントローラ202が、論理物理アドレス変換マップ302を再構築することができるであろう不揮発性メモリに記憶されるべき一部のメカニズム及び情報を必要とする。一実施形態によれば、このようなメカニズム及び情報は、システムジャーナル又はS−ジャーナルと呼ばれる構成に統合される。一実施形態によれば、コントローラ202は、複数の不揮発性メモリデバイス(例えば、1以上のダイ、チャネル又はプレーンにおけるブロック206の1以上)において、物理論理アドレス対応を定義する複数のS−ジャーナルを維持するように構成されてもよい。一実施形態によれば、各S−ジャーナルは、所定の範囲の物理ページ(例えば、E−ページ)をカバーする。一実施形態によれば、各S−ジャーナルは、複数のジャーナルエントリを備えてもよく、各エントリは、E−ページのような1以上の物理ページを、各L−ページのL−ページ番号に関連付けられるように構成される。一実施形態によれば、コントローラ202がリスタートするたびに、又は論理物理アドレス変換マップ302が部分的又は全体的に再構築されるたびに、コントローラ202は、S−ジャーナルを読み出し、S−ジャーナルエントリから読み出された情報から、論理物理アドレス変換マップ302を再構築する。
図11Aは、一実施形態に係る、論理物理アドレス変換マップ、S−ジャーナル及びS−ブロックの関係を示す。参照番号1102は、(一実施形態では、DRAMに記憶される)論理物理アドレス変換マップにおけるエントリを示す。一実施形態によれば、論理物理アドレス変換マップは、L−ページ番号によってインデックス付けされてもよく、論理物理アドレス変換マップにおいてL−ページごとに1つのエントリ1102であってもよい。フラッシュメモリにおけるL−ページの開始の物理アドレス及びそのサイズは、マップエントリ1102、すなわち、E−ページアドレスによる、E−ページ内のオフセット及びL−ページのサイズに与えられてもよい。上記で述べたように、そのサイズに応じて、L−ページは、1以上のE−ページに亘ってもよく、同様に、F−ページ及びF−ブロックに亘ってもよい。
何らかの理由で揮発性メモリ306への電力が遮断された場合、コントローラ202は、揮発性メモリ306に格納された(図3に示される)ファームウェアテーブル304を再構築する必要もある。このようなファームウェアテーブル304は、例えば、S−ブロックについてのプログラム/消去(Program/Erase(PE))カウント情報を格納する又は不揮発性メモリ欠陥情報を保存してもよい。図5は、一実施形態に係る、ファームウェアテーブルを更新し、ファームウェアジャーナルを生成する方法の態様を示す。一実施形態によれば、上記で説明されたS−ジャーナルメカニズムは、起動後又は揮発性メモリ306が消去又は信頼出来ないとみなされる場合に、揮発性メモリ306のファームウェアテーブル304のその後の再構築を可能にするように、不揮発性メモリにファームウェアテーブル304の内容を格納するように適合されてもよい。図5に示されるように、ブロックB51は、ファームウェアテーブルのエントリ(例えば、ロー(row))が更新されているかどうかを判定する。その後、この更新のパワーセーフバージョンが維持されることを確実にするために、B52に示されるように、例えば、少なくとも更新されたファームウェアテーブルエントリ情報を格納するために、不揮発性メモリにおける最後的なストレージのための揮発性バッファにおいて、ファームウェアジャーナルが生成されてもよい。揮発性メモリ306におけるファームウェアテーブルのアドレスもファームウェアジャーナルに格納される。その後、生成されたファームウェアジャーナルは、B53に示されるように、不揮発性メモリへ書き出される。
図12は、一実施形態に係る、データストレージデバイスにおけるファームウェアテーブルを更新する方法の態様を示すブロック図である。例示的なファームウェアテーブルは、図12の参照番号1202に示される。例えば、ファームウェアテーブル1202は、複数のレコードを備えてもよい。例えば、ファームウェアテーブルは、16KBのトータルサイズに対して、2,048 8−バイトのレコードを含んでもよい。例えば、ファームウェアテーブル1202は、ブロック206当たり1つのエントリを含む、又は電源オンサイクルの数、処理されたコマンドの数及び/又は他のファームウェア由来の情報のような他のシステムに関連する情報を含んでもよい。図12に展開される例では、ファームウェアは、揮発性メモリ306内の実例アドレスABCDで(更新されたPEカウントのような新たなファームウェアテーブルエントリ)を格納するために、ファームウェアテーブル1202を更新する必要がある。更新されたファームウェアテーブル1202全体のコピーを行い、不揮発性メモリに同じものを記憶するのではなく、一実施形態は、ファームウェアジャーナル(及びそのエントリ)を生成することと、ファームウェアテーブル1202における変更されたエントリに対応することと、を含む。ファームウェアジャーナルは、上述したS−ジャーナルの概念を拡張し、ファームウェアテーブルへの更新を扱うように特別に適合されることを除いて同じように動作する。したがって、再構築及び一貫性(coherency)のようなS−ジャーナル処理のためのサポートメカニズムは、ファームウェアジャーナルの処理に影響(leveraged)されうる。
図13は、一実施形態に係る、データストレージデバイスを制御する方法のフローチャートである。実際には、一実施形態は、1つの揮発性メモリ及び複数の不揮発性メモリデバイスを含むデータストレージデバイスを制御する方法である。複数の不揮発性デバイスのそれぞれは、複数の物理ページを格納するように構成されてもよく、複数の物理ページのそれぞれは、複数の不揮発性デバイス内の(例えば、E−ページのような)所定の物理位置に格納される。本方法は、図13のブロックB131に示されるように、データを複数のメモリデバイスにプログラムし、データを複数のメモリデバイスから読み出すことを含む。ブロックB132に示されるように、1以上のファームウェアテーブルは、揮発性メモリに記憶されてもよい。ファームウェアテーブルは、複数のファームウェアテーブルエントリを含んでもよく、それぞれが、揮発性メモリ306の所定のアドレスに格納される。ブロックB133に示されるように、本方法は、図12について説明及び示されるように、複数の不揮発性メモリデバイスの複数のファームウェアジャーナルを維持するステップであって、各ファームウェアジャーナルが、ファームウェアテーブルエントリに関連付けられる、ステップと、ファームウェアテーブルエントリ情報を含むステップと、を備える。これは、ファームウェアテーブルエントリへの更新がなされると、新たなファームウェアジャーナルを生成することを含んでもよい。
Claims (23)
- データストレージデバイスコントローラであって、前記コントローラは、(1)揮発性メモリと、複数の物理ページを記憶するように構成された複数の不揮発性メモリデバイスとに接続されるように構成され、(2)データを前記複数のメモリデバイスにプログラムし、前記複数のメモリデバイスからデータを読み出すように構成され、
前記コントローラは、
複数のファームウェアテーブルエントリを含むファームウェアテーブルを格納し、
前記複数の不揮発性メモリデバイスに複数のファームウェアジャーナルを維持し、各ファームウェアジャーナルは、ファームウェアテーブルエントリに関連付けられ、かつファームウェアテーブルエントリ情報を含み、
起動時に前記複数のファームウェアジャーナルを読み出し、
読み出した前記複数のファームウェアジャーナルのそれぞれにおける前記ファームウェアテーブルエントリ情報を用いて前記ファームウェアテーブルを再構築する
ように構成される、コントローラ。 - 前記複数のファームウェアジャーナルのそれぞれは、ファームウェアジャーナル番号と関連付けられる請求項1に記載のコントローラ。
- 前記コントローラは、更に、前記ファームウェアジャーナル番号、アドレス及び長さを用いて前記ファームウェアテーブルを再構築するように構成される請求項2に記載のコントローラ。
- 前記コントローラは、更に、前記複数のファームウェアジャーナルが生成された順序で前記複数のファームウェアジャーナルを読み出すように構成される請求項1に記載のコントローラ。
- 前記コントローラは、更に、ファームウェアテーブルエントリが変化すると、新たなファームウェアジャーナルを生成し、生成したファームウェアジャーナルを不揮発性メモリに格納するように構成される請求項1に記載のコントローラ。
- 与えられたファームウェアテーブルエントリに関連付けられる先に生成されたファームウェアジャーナルと、前記与えられたファームウェアテーブルエントリに関連付けられる最後に生成されたファームウェアジャーナルとでは、前記最後に生成されたファームウェアジャーナルのみが有効なファームウェアテーブルエントリ情報を含む請求項5に記載のコントローラ。
- 前記複数のファームウェアジャーナルは、時間に亘る前記ファームウェアテーブルに対する変化の履歴を集合的に定義する請求項1に記載のコントローラ。
- 各ファームウェアジャーナルは、揮発性メモリにおいて、その関連付けられるファームウェアテーブルエントリのアドレスを格納するように構成される請求項1に記載のコントローラ。
- 各ファームウェアジャーナルは、揮発性メモリにおいて、その関連付けられるファームウェアテーブルエントリのサイズを格納するように構成される請求項1に記載のコントローラ。
- 各ファームウェアジャーナルは、誤差補正コード及びダイジェストの少なくとも1つを格納するように構成される請求項1に記載のコントローラ。
- 前記コントローラは、更に、ファームウェアジャーナルマップを構築するように構成され、前記ファームウェアジャーナルマップの各エントリは、前記複数のファームウェアジャーナルの1つが格納される前記不揮発性メモリデバイスの位置を指す請求項1に記載のコントローラ。
- 請求項1に記載のコントローラと、
前記複数の不揮発性メモリデバイスと、を備えるデータストレージデバイス。 - データストレージデバイスを制御する方法であって、前記データストレージデバイスは、揮発性メモリと、複数の物理ページを格納するように構成され、複数のメモリデバイスへデータをプログラム可能であり、かつ前記複数のメモリデバイスからデータを読み出し可能にするように構成される複数の不揮発性メモリデバイスと、を備え、前記方法は、
複数のファームウェアテーブルエントリを含むファームウェアテーブルを格納するステップと、
前記複数のファームウェアジャーナルを前記複数の不揮発性メモリデバイスに維持するステップであって、各ファームウェアジャーナルは、ファームウェアテーブルエントリに関連付けられ、かつファームウェアテーブルエントリ情報を含む、ステップと、
起動時に前記複数のファームウェアジャーナルを読み出すステップと、
読み出した前記複数のファームウェアジャーナルのそれぞれにおける前記ファームウェアテーブルエントリ情報を用いて前記ファームウェアテーブルを再構築するステップと、
を備える方法。 - 前記複数のファームウェアジャーナルのそれぞれは、ファームウェアジャーナル番号と関連付けられる請求項13に記載の方法。
- 前記再構築するステップは、更に、前記ファームウェアジャーナル番号、アドレス及び長さを用いて前記ファームウェアテーブルを再構築することを含む請求項14に記載の方法。
- 前記読み出すステップは、前記複数のファームウェアジャーナルが生成された順序で前記複数のファームウェアジャーナルを読み出すことを含む請求項13に記載の方法。
- ファームウェアテーブルエントリが変化すると、新たなファームウェアジャーナルを生成し、生成したファームウェアジャーナルを不揮発性メモリに格納するステップを更に備える請求項13に記載の方法。
- 与えられたファームウェアテーブルエントリに関連付けられる先に生成されたファームウェアジャーナルと、前記与えられたファームウェアテーブルエントリに関連付けられる最後に生成されたファームウェアジャーナルとでは、前記最後に生成されたファームウェアジャーナルのみが有効なファームウェアテーブルエントリ情報を含む請求項17に記載の方法。
- 前記複数のファームウェアジャーナルは、時間に亘る前記ファームウェアテーブルに対する変化の履歴を集合的に定義する請求項13に記載の方法。
- 前記維持するステップは、各ファームウェアジャーナルにおいて、その関連付けられるファームウェアテーブルエントリの不揮発性メモリにおけるアドレスを格納することを含む請求項13に記載の方法。
- 前記維持するステップは、各ファームウェアジャーナルにおいて、その関連付けられるファームウェアテーブルエントリのサイズを格納することを更に含む請求項13に記載の方法。
- 前記維持するステップは、各ファームウェアジャーナルにおいて、誤差補正コード及びダイジェストの少なくとも1つを格納することを更に含む請求項13に記載の方法。
- ファームウェアジャーナルマップを構築するステップを更に備え、前記ファームウェアジャーナルマップの各エントリは、前記複数のファームウェアジャーナルの1つが格納される前記不揮発性メモリデバイスの位置を指す請求項13に記載の方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/677,704 | 2012-11-15 | ||
US13/677,704 US8954694B2 (en) | 2012-11-15 | 2012-11-15 | Methods, data storage devices and systems for fragmented firmware table rebuild in a solid state drive |
PCT/US2013/062765 WO2014077963A1 (en) | 2012-11-15 | 2013-09-30 | Methods, data storage devices and systems for fragmented firmware table rebuild in a solid state drive |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2015535119A true JP2015535119A (ja) | 2015-12-07 |
JP2015535119A5 JP2015535119A5 (ja) | 2016-11-17 |
JP6192024B2 JP6192024B2 (ja) | 2017-09-06 |
Family
ID=50682850
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015543043A Active JP6192024B2 (ja) | 2012-11-15 | 2013-09-30 | ソリッドステートドライブにおいて再構築された断片化ファームウェアテーブルのための方法、データストレージデバイス及びシステム |
Country Status (8)
Country | Link |
---|---|
US (1) | US8954694B2 (ja) |
EP (1) | EP2920697B1 (ja) |
JP (1) | JP6192024B2 (ja) |
KR (1) | KR101948381B1 (ja) |
CN (1) | CN104969196B (ja) |
AU (1) | AU2013345302B2 (ja) |
HK (1) | HK1216043A1 (ja) |
WO (1) | WO2014077963A1 (ja) |
Families Citing this family (139)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9176859B2 (en) | 2009-01-07 | 2015-11-03 | Siliconsystems, Inc. | Systems and methods for improving the performance of non-volatile memory operations |
US10079048B2 (en) | 2009-03-24 | 2018-09-18 | Western Digital Technologies, Inc. | Adjusting access of non-volatile semiconductor memory based on access time |
US9753847B2 (en) | 2009-10-27 | 2017-09-05 | Western Digital Technologies, Inc. | Non-volatile semiconductor memory segregating sequential, random, and system data to reduce garbage collection for page based mapping |
US8782327B1 (en) | 2010-05-11 | 2014-07-15 | Western Digital Technologies, Inc. | System and method for managing execution of internal commands and host commands in a solid-state memory |
US9026716B2 (en) | 2010-05-12 | 2015-05-05 | Western Digital Technologies, Inc. | System and method for managing garbage collection in solid-state memory |
US8959284B1 (en) | 2010-06-28 | 2015-02-17 | Western Digital Technologies, Inc. | Disk drive steering write data to write cache based on workload |
US9058280B1 (en) | 2010-08-13 | 2015-06-16 | Western Digital Technologies, Inc. | Hybrid drive migrating data from disk to non-volatile semiconductor memory based on accumulated access time |
US8769190B1 (en) | 2010-09-15 | 2014-07-01 | Western Digital Technologies, Inc. | System and method for reducing contentions in solid-state memory access |
US8788779B1 (en) | 2010-09-17 | 2014-07-22 | Western Digital Technologies, Inc. | Non-volatile storage subsystem with energy-based performance throttling |
US9164886B1 (en) | 2010-09-21 | 2015-10-20 | Western Digital Technologies, Inc. | System and method for multistage processing in a memory storage subsystem |
US9021192B1 (en) | 2010-09-21 | 2015-04-28 | Western Digital Technologies, Inc. | System and method for enhancing processing of memory access requests |
US9069475B1 (en) | 2010-10-26 | 2015-06-30 | Western Digital Technologies, Inc. | Hybrid drive selectively spinning up disk when powered on |
US8700950B1 (en) | 2011-02-11 | 2014-04-15 | Western Digital Technologies, Inc. | System and method for data error recovery in a solid state subsystem |
US8700951B1 (en) | 2011-03-09 | 2014-04-15 | Western Digital Technologies, Inc. | System and method for improving a data redundancy scheme in a solid state subsystem with additional metadata |
US9361044B2 (en) | 2011-03-28 | 2016-06-07 | Western Digital Technologies, Inc. | Power-safe data management system |
US8898373B1 (en) | 2011-06-29 | 2014-11-25 | Western Digital Technologies, Inc. | System and method for improving wear-leveling performance in solid-state memory |
US8713357B1 (en) | 2011-09-06 | 2014-04-29 | Western Digital Technologies, Inc. | Systems and methods for detailed error reporting in data storage systems |
US8700834B2 (en) | 2011-09-06 | 2014-04-15 | Western Digital Technologies, Inc. | Systems and methods for an enhanced controller architecture in data storage systems |
US9195530B1 (en) | 2011-09-06 | 2015-11-24 | Western Digital Technologies, Inc. | Systems and methods for improved data management in data storage systems |
US8707104B1 (en) | 2011-09-06 | 2014-04-22 | Western Digital Technologies, Inc. | Systems and methods for error injection in data storage systems |
US8977804B1 (en) | 2011-11-21 | 2015-03-10 | Western Digital Technologies, Inc. | Varying data redundancy in storage systems |
US9268701B1 (en) | 2011-11-21 | 2016-02-23 | Western Digital Technologies, Inc. | Caching of data in data storage systems by managing the size of read and write cache based on a measurement of cache reliability |
US8959416B1 (en) | 2011-12-16 | 2015-02-17 | Western Digital Technologies, Inc. | Memory defect management using signature identification |
US9348741B1 (en) | 2011-12-19 | 2016-05-24 | Western Digital Technologies, Inc. | Systems and methods for handling write data access requests in data storage devices |
US9053008B1 (en) | 2012-03-26 | 2015-06-09 | Western Digital Technologies, Inc. | Systems and methods for providing inline parameter service in data storage devices |
US8984247B1 (en) | 2012-05-10 | 2015-03-17 | Western Digital Technologies, Inc. | Storing and reconstructing mapping table data in a data storage system |
US8966205B1 (en) | 2012-05-10 | 2015-02-24 | Western Digital Technologies, Inc. | System data management using garbage collection and hybrid self mapping |
US9977612B1 (en) | 2012-05-11 | 2018-05-22 | Western Digital Technologies, Inc. | System data management using garbage collection and logs |
US9170932B1 (en) | 2012-05-22 | 2015-10-27 | Western Digital Technologies, Inc. | System data storage mechanism providing coherency and segmented data loading |
US8954653B1 (en) | 2012-06-26 | 2015-02-10 | Western Digital Technologies, Inc. | Mechanisms for efficient management of system data in data storage systems |
US8924832B1 (en) | 2012-06-26 | 2014-12-30 | Western Digital Technologies, Inc. | Efficient error handling mechanisms in data storage systems |
US8966343B2 (en) | 2012-08-21 | 2015-02-24 | Western Digital Technologies, Inc. | Solid-state drive retention monitor using reference blocks |
US9507523B1 (en) | 2012-10-12 | 2016-11-29 | Western Digital Technologies, Inc. | Methods, devices and systems for variable size logical page management in a solid state drive |
US9489296B1 (en) | 2012-10-17 | 2016-11-08 | Western Digital Technologies, Inc. | Methods, devices and systems for hardware-based garbage collection in solid state drives |
US8972826B2 (en) | 2012-10-24 | 2015-03-03 | Western Digital Technologies, Inc. | Adaptive error correction codes for data storage systems |
US9177638B2 (en) | 2012-11-13 | 2015-11-03 | Western Digital Technologies, Inc. | Methods and devices for avoiding lower page corruption in data storage devices |
US8954694B2 (en) | 2012-11-15 | 2015-02-10 | Western Digital Technologies, Inc. | Methods, data storage devices and systems for fragmented firmware table rebuild in a solid state drive |
US9021339B2 (en) | 2012-11-29 | 2015-04-28 | Western Digital Technologies, Inc. | Data reliability schemes for data storage systems |
US9059736B2 (en) | 2012-12-03 | 2015-06-16 | Western Digital Technologies, Inc. | Methods, solid state drive controllers and data storage devices having a runtime variable raid protection scheme |
US9032271B2 (en) | 2012-12-07 | 2015-05-12 | Western Digital Technologies, Inc. | System and method for lower page data recovery in a solid state drive |
US9214963B1 (en) | 2012-12-21 | 2015-12-15 | Western Digital Technologies, Inc. | Method and system for monitoring data channel to enable use of dynamically adjustable LDPC coding parameters in a data storage system |
US8954655B2 (en) | 2013-01-14 | 2015-02-10 | Western Digital Technologies, Inc. | Systems and methods of configuring a mode of operation in a solid-state memory |
US8972655B2 (en) | 2013-01-21 | 2015-03-03 | Western Digital Technolgies, Inc. | Initialization of a storage device |
US9274966B1 (en) | 2013-02-20 | 2016-03-01 | Western Digital Technologies, Inc. | Dynamically throttling host commands to disk drives |
US9454474B2 (en) | 2013-03-05 | 2016-09-27 | Western Digital Technologies, Inc. | Methods, devices and systems for two stage power-on map rebuild with free space accounting in a solid state drive |
US8924824B1 (en) | 2013-03-12 | 2014-12-30 | Western Digital Technologies, Inc. | Soft-decision input generation for data storage systems |
US9641378B1 (en) | 2013-03-12 | 2017-05-02 | Western Digital Technologies, Inc. | Adjustment of compression ratios for data storage |
US9280472B1 (en) | 2013-03-13 | 2016-03-08 | Western Digital Technologies, Inc. | Caching data in a high performance zone of a data storage system |
US8990668B2 (en) | 2013-03-14 | 2015-03-24 | Western Digital Technologies, Inc. | Decoding data stored in solid-state memory |
US9218279B2 (en) | 2013-03-15 | 2015-12-22 | Western Digital Technologies, Inc. | Atomic write command support in a solid state drive |
US9448738B2 (en) | 2013-03-15 | 2016-09-20 | Western Digital Technologies, Inc. | Compression and formatting of data for data storage systems |
US9059742B1 (en) | 2013-03-15 | 2015-06-16 | Western Digital Technologies, Inc. | System and method for dynamic scaling of LDPC decoder in a solid state drive |
US9335950B2 (en) | 2013-03-15 | 2016-05-10 | Western Digital Technologies, Inc. | Multiple stream compression and formatting of data for data storage systems |
US9013920B2 (en) | 2013-04-03 | 2015-04-21 | Western Digital Technologies, Inc. | Systems and methods of write precompensation to extend life of a solid-state memory |
US9123686B2 (en) | 2013-04-12 | 2015-09-01 | Western Digital Technologies, Inc. | Thermal management for solid-state drive |
US9338927B2 (en) | 2013-05-02 | 2016-05-10 | Western Digital Technologies, Inc. | Thermal interface material pad and method of forming the same |
US9195293B1 (en) | 2013-05-03 | 2015-11-24 | Western Digital Technologies, Inc. | User controlled data storage device power and performance settings |
US10417123B1 (en) | 2013-05-16 | 2019-09-17 | Western Digital Technologies, Inc. | Systems and methods for improving garbage collection and wear leveling performance in data storage systems |
US9081700B2 (en) | 2013-05-16 | 2015-07-14 | Western Digital Technologies, Inc. | High performance read-modify-write system providing line-rate merging of dataframe segments in hardware |
US9170938B1 (en) | 2013-05-17 | 2015-10-27 | Western Digital Technologies, Inc. | Method and system for atomically writing scattered information in a solid state storage device |
US9280200B1 (en) | 2013-05-20 | 2016-03-08 | Western Digital Technologies, Inc. | Automatic peak current throttle of tiered storage elements |
US9740248B2 (en) | 2013-06-07 | 2017-08-22 | Western Digital Technologies, Inc. | Component placement within a solid state drive |
US9274978B2 (en) | 2013-06-10 | 2016-03-01 | Western Digital Technologies, Inc. | Migration of encrypted data for data storage systems |
US9436630B2 (en) | 2013-06-11 | 2016-09-06 | Western Digital Technologies, Inc. | Using dual phys to support multiple PCIe link widths |
US9830257B1 (en) | 2013-06-12 | 2017-11-28 | Western Digital Technologies, Inc. | Fast saving of data during power interruption in data storage systems |
US9665501B1 (en) | 2013-06-18 | 2017-05-30 | Western Digital Technologies, Inc. | Self-encrypting data storage device supporting object-level encryption |
US9304560B2 (en) | 2013-06-19 | 2016-04-05 | Western Digital Technologies, Inc. | Backup power for reducing host current transients |
US9208101B2 (en) | 2013-06-26 | 2015-12-08 | Western Digital Technologies, Inc. | Virtual NAND capacity extension in a hybrid drive |
US9583153B1 (en) | 2013-06-28 | 2017-02-28 | Western Digital Technologies, Inc. | Memory card placement within a solid state drive |
US9042197B2 (en) | 2013-07-23 | 2015-05-26 | Western Digital Technologies, Inc. | Power fail protection and recovery using low power states in a data storage device/system |
US9141176B1 (en) | 2013-07-29 | 2015-09-22 | Western Digital Technologies, Inc. | Power management for data storage device |
US9070379B2 (en) | 2013-08-28 | 2015-06-30 | Western Digital Technologies, Inc. | Data migration for data storage device |
US9442668B1 (en) | 2013-08-29 | 2016-09-13 | Western Digital Technologies, Inc. | Adaptive power management control with performance feedback |
US9263136B1 (en) | 2013-09-04 | 2016-02-16 | Western Digital Technologies, Inc. | Data retention flags in solid-state drives |
US9304709B2 (en) | 2013-09-06 | 2016-04-05 | Western Digital Technologies, Inc. | High performance system providing selective merging of dataframe segments in hardware |
US10444998B1 (en) | 2013-10-24 | 2019-10-15 | Western Digital Technologies, Inc. | Data storage device providing data maintenance services |
US9330143B2 (en) | 2013-10-24 | 2016-05-03 | Western Digital Technologies, Inc. | Data storage device supporting accelerated database operations |
US9007841B1 (en) | 2013-10-24 | 2015-04-14 | Western Digital Technologies, Inc. | Programming scheme for improved voltage distribution in solid-state memory |
US9323467B2 (en) | 2013-10-29 | 2016-04-26 | Western Digital Technologies, Inc. | Data storage device startup |
US8917471B1 (en) | 2013-10-29 | 2014-12-23 | Western Digital Technologies, Inc. | Power management for data storage device |
US9286176B1 (en) | 2013-11-08 | 2016-03-15 | Western Digital Technologies, Inc. | Selective skipping of blocks in an SSD |
US9270296B1 (en) | 2013-11-13 | 2016-02-23 | Western Digital Technologies, Inc. | Method and system for soft decoding through single read |
US9612773B2 (en) * | 2013-11-21 | 2017-04-04 | Samsung Electronics Co., Ltd. | User device having a host flash translation layer (FTL), a method for transferring an erase count thereof, a method for transferring reprogram information thereof, and a method for transferring a page offset of an open block thereof |
US9529710B1 (en) | 2013-12-06 | 2016-12-27 | Western Digital Technologies, Inc. | Interleaved channels in a solid-state drive |
US9007854B1 (en) | 2013-12-09 | 2015-04-14 | Western Digital Technologies, Inc. | Method and system for optimized soft decoding in a data storage device |
US10140067B1 (en) | 2013-12-19 | 2018-11-27 | Western Digital Technologies, Inc. | Data management for data storage device with multiple types of non-volatile memory media |
US9684568B2 (en) * | 2013-12-26 | 2017-06-20 | Silicon Motion, Inc. | Data storage device and flash memory control method |
US9036283B1 (en) | 2014-01-22 | 2015-05-19 | Western Digital Technologies, Inc. | Data storage device with selective write to a first storage media or a second storage media |
US9337864B1 (en) | 2014-01-29 | 2016-05-10 | Western Digital Technologies, Inc. | Non-binary LDPC decoder using binary subgroup processing |
US9250994B1 (en) | 2014-02-05 | 2016-02-02 | Western Digital Technologies, Inc. | Non-binary low-density parity check (LDPC) decoding using trellis maximization |
US9384088B1 (en) | 2014-02-24 | 2016-07-05 | Western Digital Technologies, Inc. | Double writing map table entries in a data storage system to guard against silent corruption |
US9354955B1 (en) | 2014-03-19 | 2016-05-31 | Western Digital Technologies, Inc. | Partial garbage collection for fast error handling and optimized garbage collection for the invisible band |
US9268487B2 (en) | 2014-03-24 | 2016-02-23 | Western Digital Technologies, Inc. | Method and apparatus for restricting writes to solid state memory when an end-of life condition is reached |
US9348520B2 (en) | 2014-03-24 | 2016-05-24 | Western Digital Technologies, Inc. | Lifetime extension of non-volatile semiconductor memory for data storage device |
US9448742B2 (en) | 2014-03-27 | 2016-09-20 | Western Digital Technologies, Inc. | Communication between a host and a secondary storage device |
US9564212B2 (en) | 2014-05-06 | 2017-02-07 | Western Digital Technologies, Inc. | Solid-state memory corruption mitigation |
US9690696B1 (en) | 2014-05-14 | 2017-06-27 | Western Digital Technologies, Inc. | Lifetime extension of memory for data storage system |
US9472222B2 (en) | 2014-05-16 | 2016-10-18 | Western Digital Technologies, Inc. | Vibration mitigation for a data storage device |
US20150381737A1 (en) * | 2014-06-30 | 2015-12-31 | Davra Networks Limited | Gateway device and a gateway system for an internet-of-things environment |
US9275741B1 (en) | 2014-09-10 | 2016-03-01 | Western Digital Technologies, Inc. | Temperature compensation management in solid-state memory |
US9418699B1 (en) | 2014-10-09 | 2016-08-16 | Western Digital Technologies, Inc. | Management of sequentially written data |
US9405356B1 (en) | 2014-10-21 | 2016-08-02 | Western Digital Technologies, Inc. | Temperature compensation in data storage device |
US9823859B2 (en) | 2014-11-06 | 2017-11-21 | Western Digital Technologies, Inc. | Mechanical shock mitigation for data storage |
US9857995B1 (en) | 2015-03-09 | 2018-01-02 | Western Digital Technologies, Inc. | Data storage device and method providing non-volatile memory buffer for real-time primary non-volatile memory protection |
US10007451B2 (en) | 2015-03-20 | 2018-06-26 | SK Hynix Inc. | Scalable SPOR algorithm for flash memories |
US9785563B1 (en) | 2015-08-13 | 2017-10-10 | Western Digital Technologies, Inc. | Read command processing for data storage system based on previous writes |
US9668337B2 (en) | 2015-09-08 | 2017-05-30 | Western Digital Technologies, Inc. | Temperature management in data storage devices |
US9727261B2 (en) | 2015-09-24 | 2017-08-08 | Western Digital Technologies, Inc. | Weighted programming patterns in solid-state data storage systems |
US10013174B2 (en) | 2015-09-30 | 2018-07-03 | Western Digital Technologies, Inc. | Mapping system selection for data storage device |
US9836232B1 (en) | 2015-09-30 | 2017-12-05 | Western Digital Technologies, Inc. | Data storage device and method for using secondary non-volatile memory for temporary metadata storage |
US9620226B1 (en) | 2015-10-30 | 2017-04-11 | Western Digital Technologies, Inc. | Data retention charge loss and read disturb compensation in solid-state data storage systems |
US9990304B2 (en) * | 2015-11-13 | 2018-06-05 | Samsung Electronics Co., Ltd | Multimode storage management system |
US10126981B1 (en) | 2015-12-14 | 2018-11-13 | Western Digital Technologies, Inc. | Tiered storage using storage class memory |
TWI584291B (zh) | 2015-12-28 | 2017-05-21 | 群聯電子股份有限公司 | 記憶體管理方法、記憶體控制電路單元及記憶體儲存裝置 |
US10162561B2 (en) | 2016-03-21 | 2018-12-25 | Apple Inc. | Managing backup of logical-to-physical translation information to control boot-time and write amplification |
US10157004B2 (en) * | 2016-04-14 | 2018-12-18 | Sandisk Technologies Llc | Storage system and method for recovering data corrupted in a host memory buffer |
US10387303B2 (en) | 2016-08-16 | 2019-08-20 | Western Digital Technologies, Inc. | Non-volatile storage system with compute engine to accelerate big data applications |
US10459644B2 (en) | 2016-10-28 | 2019-10-29 | Western Digital Techologies, Inc. | Non-volatile storage system with integrated compute engine and optimized use of local fast memory |
US10761976B2 (en) * | 2016-11-28 | 2020-09-01 | Arm Limited | Method and apparatus for memory wear leveling |
US10459636B2 (en) * | 2017-03-24 | 2019-10-29 | Sandisk Technologies Llc | System and method for managing data in non-volatile memory systems having multiple mapping layers |
US10565123B2 (en) | 2017-04-10 | 2020-02-18 | Western Digital Technologies, Inc. | Hybrid logical to physical address translation for non-volatile storage devices with integrated compute module |
TWI639917B (zh) * | 2017-04-25 | 2018-11-01 | 慧榮科技股份有限公司 | 資料儲存裝置及映射表重建方法 |
KR102234725B1 (ko) * | 2017-05-30 | 2021-04-02 | 에스케이하이닉스 주식회사 | 컨트롤러 및 메모리 시스템 및 메모리 시스템의 동작 방법 |
US10635654B2 (en) | 2017-06-12 | 2020-04-28 | Samsung Electronics Co., Ltd. | Data journaling for large solid state storage devices with low DRAM/SRAM |
US10915331B2 (en) | 2017-08-04 | 2021-02-09 | Qualcomm Incorporated | Partitioning flash and enabling flexible boot with image upgrade capabilities |
CN109725823B (zh) * | 2017-10-27 | 2021-11-16 | 伊姆西Ip控股有限责任公司 | 用于管理混合存储盘阵列的方法和设备 |
US10552145B2 (en) * | 2017-12-12 | 2020-02-04 | Cypress Semiconductor Corporation | Memory devices, systems, and methods for updating firmware with single memory device |
TWI662410B (zh) * | 2017-12-18 | 2019-06-11 | 慧榮科技股份有限公司 | 資料儲存裝置與記憶體裝置之資料處理方法 |
US10769062B2 (en) | 2018-10-01 | 2020-09-08 | Western Digital Technologies, Inc. | Fine granularity translation layer for data storage devices |
US10956071B2 (en) | 2018-10-01 | 2021-03-23 | Western Digital Technologies, Inc. | Container key value store for data storage devices |
US10740231B2 (en) | 2018-11-20 | 2020-08-11 | Western Digital Technologies, Inc. | Data access in data storage device including storage class memory |
TWI698744B (zh) * | 2019-04-10 | 2020-07-11 | 慧榮科技股份有限公司 | 資料儲存裝置及邏輯至物理位址映射表之更新方法 |
US11016905B1 (en) | 2019-11-13 | 2021-05-25 | Western Digital Technologies, Inc. | Storage class memory access |
US11249921B2 (en) | 2020-05-06 | 2022-02-15 | Western Digital Technologies, Inc. | Page modification encoding and caching |
US11474738B1 (en) * | 2021-04-15 | 2022-10-18 | Micron Technology, Inc. | Probabilistic data integrity scan enhanced by a supplemental data integrity scan |
CN115221072A (zh) * | 2021-04-21 | 2022-10-21 | 建兴储存科技股份有限公司 | 固态存储装置的快闪转换层对应表处理方法 |
KR20220147292A (ko) | 2021-04-27 | 2022-11-03 | 삼성전자주식회사 | 메타 데이터 관리를 수행하는 스토리지 장치 및 이의 동작 방법 |
US12032699B2 (en) | 2021-11-08 | 2024-07-09 | Samsung Electronics Co., Ltd. | Storage device and method of operating the same |
US11960397B2 (en) | 2022-06-16 | 2024-04-16 | Western Digital Technologies, Inc. | Data mapping comparison for improved synchronization in data storage devices |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070101095A1 (en) * | 2005-10-27 | 2007-05-03 | Sandisk Corporation | Methods for adaptively handling data writes in non-volatile memories |
JP2009199665A (ja) * | 2008-02-21 | 2009-09-03 | Hitachi Global Storage Technologies Netherlands Bv | データ記憶装置及びデータ記憶装置におけるデータ管理方法 |
JP2011059866A (ja) * | 2009-09-08 | 2011-03-24 | Toshiba Corp | コントローラ、及びデータ記憶装置 |
JP2011197945A (ja) * | 2010-03-18 | 2011-10-06 | Toshiba Corp | コントローラ、データ記憶装置、及びプログラム |
Family Cites Families (96)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6230233B1 (en) | 1991-09-13 | 2001-05-08 | Sandisk Corporation | Wear leveling techniques for flash EEPROM systems |
US6170066B1 (en) | 1995-09-29 | 2001-01-02 | Intel Corporation | Power-off recovery management for sector based flash media managers |
US7660941B2 (en) | 2003-09-10 | 2010-02-09 | Super Talent Electronics, Inc. | Two-level RAM lookup table for block and page allocation and wear-leveling in limited-write flash-memories |
US8266367B2 (en) | 2003-12-02 | 2012-09-11 | Super Talent Electronics, Inc. | Multi-level striping and truncation channel-equalization for flash-memory system |
US7113432B2 (en) | 2000-09-14 | 2006-09-26 | Sandisk Corporation | Compressed event counting technique and application to a flash memory system |
GB0123422D0 (en) * | 2001-09-28 | 2001-11-21 | Memquest Ltd | Improved memory controller |
US6901499B2 (en) | 2002-02-27 | 2005-05-31 | Microsoft Corp. | System and method for tracking data stored in a flash memory device |
US7533214B2 (en) | 2002-02-27 | 2009-05-12 | Microsoft Corporation | Open architecture flash driver |
ATE372578T1 (de) | 2002-10-28 | 2007-09-15 | Sandisk Corp | Automatischer abnutzungsausgleich in einem nicht- flüchtigen speichersystem |
US6856556B1 (en) | 2003-04-03 | 2005-02-15 | Siliconsystems, Inc. | Storage subsystem with embedded circuit for protecting against anomalies in power signal from host |
US7502256B2 (en) | 2004-11-30 | 2009-03-10 | Siliconsystems, Inc. | Systems and methods for reducing unauthorized data recovery from solid-state storage devices |
WO2007081598A2 (en) * | 2005-10-27 | 2007-07-19 | Sandisk Corporation | Adaptive handling data writes in non-volatile memories |
US7653778B2 (en) | 2006-05-08 | 2010-01-26 | Siliconsystems, Inc. | Systems and methods for measuring the useful life of solid-state storage devices |
US7765373B1 (en) | 2006-06-27 | 2010-07-27 | Siliconsystems, Inc. | System for controlling use of a solid-state storage subsystem |
US8108692B1 (en) | 2006-06-27 | 2012-01-31 | Siliconsystems, Inc. | Solid-state storage subsystem security solution |
US7509441B1 (en) | 2006-06-30 | 2009-03-24 | Siliconsystems, Inc. | Systems and methods for segmenting and protecting a storage subsystem |
US7447807B1 (en) | 2006-06-30 | 2008-11-04 | Siliconsystems, Inc. | Systems and methods for storing data in segments of a storage subsystem |
KR100843543B1 (ko) | 2006-10-25 | 2008-07-04 | 삼성전자주식회사 | 플래시 메모리 장치를 포함하는 시스템 및 그것의 데이터복구 방법 |
US8161227B1 (en) | 2006-10-30 | 2012-04-17 | Siliconsystems, Inc. | Storage subsystem capable of programming field-programmable devices of a target computer system |
US8549236B2 (en) | 2006-12-15 | 2013-10-01 | Siliconsystems, Inc. | Storage subsystem with multiple non-volatile memory arrays to protect against data losses |
US7596643B2 (en) | 2007-02-07 | 2009-09-29 | Siliconsystems, Inc. | Storage subsystem with configurable buffer |
US7685338B2 (en) | 2007-05-24 | 2010-03-23 | Siliconsystems, Inc. | Solid state storage subsystem for embedded applications |
US7685337B2 (en) | 2007-05-24 | 2010-03-23 | Siliconsystems, Inc. | Solid state storage subsystem for embedded applications |
US8185886B2 (en) * | 2007-06-26 | 2012-05-22 | Intel Corporation | Method and apparatus to enable dynamically activated firmware updates |
US7685374B2 (en) | 2007-07-26 | 2010-03-23 | Siliconsystems, Inc. | Multi-interface and multi-bus structured solid-state storage subsystem |
US8095851B2 (en) | 2007-09-06 | 2012-01-10 | Siliconsystems, Inc. | Storage subsystem capable of adjusting ECC settings based on monitored conditions |
US20090138650A1 (en) * | 2007-11-26 | 2009-05-28 | Yen-Cheng Lin | Method and apparatus for managing firmware of an optical storage apparatus |
US8078918B2 (en) | 2008-02-07 | 2011-12-13 | Siliconsystems, Inc. | Solid state storage subsystem that maintains and provides access to data reflective of a failure risk |
US7962792B2 (en) | 2008-02-11 | 2011-06-14 | Siliconsystems, Inc. | Interface for enabling a host computer to retrieve device monitor data from a solid state storage subsystem |
JP4675984B2 (ja) * | 2008-02-29 | 2011-04-27 | 株式会社東芝 | メモリシステム |
US7733712B1 (en) | 2008-05-20 | 2010-06-08 | Siliconsystems, Inc. | Storage subsystem with embedded circuit for protecting against anomalies in power signal from host |
US8375151B1 (en) | 2009-02-12 | 2013-02-12 | Siliconsystems, Inc. | Command portal for securely communicating and executing non-standard storage subsystem commands |
US8583835B1 (en) | 2008-08-06 | 2013-11-12 | Siliconsystems, Inc. | Command portal for executing non-standard storage subsystem commands |
US9176859B2 (en) | 2009-01-07 | 2015-11-03 | Siliconsystems, Inc. | Systems and methods for improving the performance of non-volatile memory operations |
US8412880B2 (en) | 2009-01-08 | 2013-04-02 | Micron Technology, Inc. | Memory system controller to manage wear leveling across a plurality of storage nodes |
US8090899B1 (en) | 2009-03-04 | 2012-01-03 | Western Digital Technologies, Inc. | Solid state drive power safe wear-leveling |
US10079048B2 (en) | 2009-03-24 | 2018-09-18 | Western Digital Technologies, Inc. | Adjusting access of non-volatile semiconductor memory based on access time |
KR101571693B1 (ko) | 2009-04-15 | 2015-11-26 | 삼성전자주식회사 | 동작 수행 중 다른 요청을 우선 처리할 수 있는 비휘발성 메모리 컨트롤러, 이를 포함하는 시스템 및 그 관리 방법 |
US8688894B2 (en) | 2009-09-03 | 2014-04-01 | Pioneer Chip Technology Ltd. | Page based management of flash storage |
US8254172B1 (en) | 2009-09-30 | 2012-08-28 | Western Digital Technologies, Inc. | Wear leveling non-volatile semiconductor memory based on erase times and program times |
US8243525B1 (en) | 2009-09-30 | 2012-08-14 | Western Digital Technologies, Inc. | Refreshing non-volatile semiconductor memory by reading without rewriting |
US9753847B2 (en) | 2009-10-27 | 2017-09-05 | Western Digital Technologies, Inc. | Non-volatile semiconductor memory segregating sequential, random, and system data to reduce garbage collection for page based mapping |
US8261012B2 (en) | 2009-10-30 | 2012-09-04 | Western Digital Technologies, Inc. | Non-volatile semiconductor memory comprising power fail circuitry for flushing write data in response to a power fail signal |
US8135903B1 (en) | 2009-10-30 | 2012-03-13 | Western Digital Technologies, Inc. | Non-volatile semiconductor memory compressing data to improve performance |
US8397107B1 (en) | 2009-12-11 | 2013-03-12 | Western Digital Technologies, Inc. | Data storage device employing data path protection using both LBA and PBA |
US8443167B1 (en) | 2009-12-16 | 2013-05-14 | Western Digital Technologies, Inc. | Data storage device employing a run-length mapping table and a single address mapping table |
US8316176B1 (en) | 2010-02-17 | 2012-11-20 | Western Digital Technologies, Inc. | Non-volatile semiconductor memory segregating sequential data during garbage collection to reduce write amplification |
US8407449B1 (en) | 2010-02-26 | 2013-03-26 | Western Digital Technologies, Inc. | Non-volatile semiconductor memory storing an inverse map for rebuilding a translation table |
US8194340B1 (en) | 2010-03-18 | 2012-06-05 | Western Digital Technologies, Inc. | Disk drive framing write data with in-line mapping data during write operations |
US8725931B1 (en) | 2010-03-26 | 2014-05-13 | Western Digital Technologies, Inc. | System and method for managing the execution of memory commands in a solid-state memory |
US8713066B1 (en) | 2010-03-29 | 2014-04-29 | Western Digital Technologies, Inc. | Managing wear leveling and garbage collection operations in a solid-state memory using linked lists |
US8782327B1 (en) | 2010-05-11 | 2014-07-15 | Western Digital Technologies, Inc. | System and method for managing execution of internal commands and host commands in a solid-state memory |
US9026716B2 (en) | 2010-05-12 | 2015-05-05 | Western Digital Technologies, Inc. | System and method for managing garbage collection in solid-state memory |
US8341339B1 (en) | 2010-06-14 | 2012-12-25 | Western Digital Technologies, Inc. | Hybrid drive garbage collecting a non-volatile semiconductor memory by migrating valid data to a disk |
US8612669B1 (en) | 2010-06-28 | 2013-12-17 | Western Digital Technologies, Inc. | System and method for performing data retention in solid-state memory using copy commands and validity and usage data |
US8447920B1 (en) | 2010-06-29 | 2013-05-21 | Western Digital Technologies, Inc. | System and method for managing data access in non-volatile memory |
US8521972B1 (en) | 2010-06-30 | 2013-08-27 | Western Digital Technologies, Inc. | System and method for optimizing garbage collection in data storage |
US8639872B1 (en) | 2010-08-13 | 2014-01-28 | Western Digital Technologies, Inc. | Hybrid drive comprising write cache spanning non-volatile semiconductor memory and disk |
US8775720B1 (en) | 2010-08-31 | 2014-07-08 | Western Digital Technologies, Inc. | Hybrid drive balancing execution times for non-volatile semiconductor memory and disk |
US8638602B1 (en) | 2010-09-10 | 2014-01-28 | Western Digital Technologies, Inc. | Background selection of voltage reference values for performing memory read operations |
US8769190B1 (en) | 2010-09-15 | 2014-07-01 | Western Digital Technologies, Inc. | System and method for reducing contentions in solid-state memory access |
US8788779B1 (en) | 2010-09-17 | 2014-07-22 | Western Digital Technologies, Inc. | Non-volatile storage subsystem with energy-based performance throttling |
US8612804B1 (en) | 2010-09-30 | 2013-12-17 | Western Digital Technologies, Inc. | System and method for improving wear-leveling performance in solid-state memory |
US8601313B1 (en) | 2010-12-13 | 2013-12-03 | Western Digital Technologies, Inc. | System and method for a data reliability scheme in a solid state memory |
US8615681B2 (en) | 2010-12-14 | 2013-12-24 | Western Digital Technologies, Inc. | System and method for maintaining a data redundancy scheme in a solid state memory in the event of a power loss |
US8601311B2 (en) | 2010-12-14 | 2013-12-03 | Western Digital Technologies, Inc. | System and method for using over-provisioned data capacity to maintain a data redundancy scheme in a solid state memory |
US8458435B1 (en) | 2010-12-20 | 2013-06-04 | Western Digital Technologies, Inc. | Sequential write thread detection |
US8392635B2 (en) | 2010-12-22 | 2013-03-05 | Western Digital Technologies, Inc. | Selectively enabling a host transfer interrupt |
US8683113B2 (en) | 2011-02-04 | 2014-03-25 | Western Digital Technologies, Inc. | Concurrently searching multiple devices of a non-volatile semiconductor memory |
US8700950B1 (en) | 2011-02-11 | 2014-04-15 | Western Digital Technologies, Inc. | System and method for data error recovery in a solid state subsystem |
US8700951B1 (en) | 2011-03-09 | 2014-04-15 | Western Digital Technologies, Inc. | System and method for improving a data redundancy scheme in a solid state subsystem with additional metadata |
US8769232B2 (en) | 2011-04-06 | 2014-07-01 | Western Digital Technologies, Inc. | Non-volatile semiconductor memory module enabling out of order host command chunk media access |
US8862804B2 (en) | 2011-04-29 | 2014-10-14 | Western Digital Technologies, Inc. | System and method for improved parity determination within a data redundancy scheme in a solid state memory |
US8751728B1 (en) | 2011-04-29 | 2014-06-10 | Western Digital Technologies, Inc. | Storage system bus transfer optimization |
US9021178B2 (en) | 2011-05-02 | 2015-04-28 | Western Digital Technologies, Inc. | High performance path for command processing |
US8503237B1 (en) | 2011-05-18 | 2013-08-06 | Western Digital Technologies, Inc. | System and method for data recovery in a solid state storage device |
US8793429B1 (en) | 2011-06-03 | 2014-07-29 | Western Digital Technologies, Inc. | Solid-state drive with reduced power up time |
US8719531B2 (en) | 2011-06-14 | 2014-05-06 | Western Digital Technologies, Inc. | System and method for performing data retention that incorporates environmental conditions |
US8423722B1 (en) | 2011-08-26 | 2013-04-16 | Western Digital Technologies, Inc. | System and method for high performance command processing in solid state drives |
US8713357B1 (en) | 2011-09-06 | 2014-04-29 | Western Digital Technologies, Inc. | Systems and methods for detailed error reporting in data storage systems |
US8700834B2 (en) | 2011-09-06 | 2014-04-15 | Western Digital Technologies, Inc. | Systems and methods for an enhanced controller architecture in data storage systems |
US8707104B1 (en) | 2011-09-06 | 2014-04-22 | Western Digital Technologies, Inc. | Systems and methods for error injection in data storage systems |
US8977803B2 (en) | 2011-11-21 | 2015-03-10 | Western Digital Technologies, Inc. | Disk drive data caching using a multi-tiered memory |
US8724422B1 (en) | 2012-02-29 | 2014-05-13 | Western Digital Technologies, Inc. | System and method for charging back-up charge storage element for data storage device using spindle phase switching elements |
US9003224B2 (en) | 2012-04-25 | 2015-04-07 | Western Digital Technologies, Inc. | Managing unreliable memory in data storage systems |
US8788778B1 (en) | 2012-06-04 | 2014-07-22 | Western Digital Technologies, Inc. | Garbage collection based on the inactivity level of stored data |
US8966343B2 (en) | 2012-08-21 | 2015-02-24 | Western Digital Technologies, Inc. | Solid-state drive retention monitor using reference blocks |
US8788880B1 (en) | 2012-08-22 | 2014-07-22 | Western Digital Technologies, Inc. | Efficient retry mechanism for solid-state memory failures |
US9268682B2 (en) | 2012-10-05 | 2016-02-23 | Skyera, Llc | Methods, devices and systems for physical-to-logical mapping in solid state drives |
US8972826B2 (en) | 2012-10-24 | 2015-03-03 | Western Digital Technologies, Inc. | Adaptive error correction codes for data storage systems |
US9177638B2 (en) | 2012-11-13 | 2015-11-03 | Western Digital Technologies, Inc. | Methods and devices for avoiding lower page corruption in data storage devices |
US8954694B2 (en) | 2012-11-15 | 2015-02-10 | Western Digital Technologies, Inc. | Methods, data storage devices and systems for fragmented firmware table rebuild in a solid state drive |
US9021339B2 (en) | 2012-11-29 | 2015-04-28 | Western Digital Technologies, Inc. | Data reliability schemes for data storage systems |
US9059736B2 (en) | 2012-12-03 | 2015-06-16 | Western Digital Technologies, Inc. | Methods, solid state drive controllers and data storage devices having a runtime variable raid protection scheme |
US20140223255A1 (en) | 2012-12-18 | 2014-08-07 | Western Digital Technologies, Inc. | Decoder having early decoding termination detection |
US9430376B2 (en) | 2012-12-26 | 2016-08-30 | Western Digital Technologies, Inc. | Priority-based garbage collection for data storage systems |
-
2012
- 2012-11-15 US US13/677,704 patent/US8954694B2/en active Active
-
2013
- 2013-09-30 CN CN201380070482.1A patent/CN104969196B/zh active Active
- 2013-09-30 AU AU2013345302A patent/AU2013345302B2/en active Active
- 2013-09-30 JP JP2015543043A patent/JP6192024B2/ja active Active
- 2013-09-30 EP EP13854772.4A patent/EP2920697B1/en active Active
- 2013-09-30 KR KR1020157015777A patent/KR101948381B1/ko active IP Right Grant
- 2013-09-30 WO PCT/US2013/062765 patent/WO2014077963A1/en active Application Filing
-
2016
- 2016-04-07 HK HK16103941.6A patent/HK1216043A1/zh unknown
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070101095A1 (en) * | 2005-10-27 | 2007-05-03 | Sandisk Corporation | Methods for adaptively handling data writes in non-volatile memories |
JP2009199665A (ja) * | 2008-02-21 | 2009-09-03 | Hitachi Global Storage Technologies Netherlands Bv | データ記憶装置及びデータ記憶装置におけるデータ管理方法 |
JP2011059866A (ja) * | 2009-09-08 | 2011-03-24 | Toshiba Corp | コントローラ、及びデータ記憶装置 |
JP2011197945A (ja) * | 2010-03-18 | 2011-10-06 | Toshiba Corp | コントローラ、データ記憶装置、及びプログラム |
Also Published As
Publication number | Publication date |
---|---|
KR101948381B1 (ko) | 2019-02-14 |
US8954694B2 (en) | 2015-02-10 |
WO2014077963A1 (en) | 2014-05-22 |
EP2920697A1 (en) | 2015-09-23 |
AU2013345302A1 (en) | 2015-07-02 |
AU2013345302B2 (en) | 2018-06-07 |
CN104969196A (zh) | 2015-10-07 |
EP2920697B1 (en) | 2018-05-09 |
EP2920697A4 (en) | 2016-08-10 |
US20140136753A1 (en) | 2014-05-15 |
HK1216043A1 (zh) | 2016-10-07 |
JP6192024B2 (ja) | 2017-09-06 |
KR20150085036A (ko) | 2015-07-22 |
CN104969196B (zh) | 2017-05-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6192024B2 (ja) | ソリッドステートドライブにおいて再構築された断片化ファームウェアテーブルのための方法、データストレージデバイス及びシステム | |
JP6210570B2 (ja) | ソリッドステートドライブにおける物理論理マッピングのための方法、装置及びシステム | |
US10055345B2 (en) | Methods, devices and systems for solid state drive control | |
US9792067B2 (en) | Trim command processing in a solid state drive | |
KR101916206B1 (ko) | 고체 상태 드라이브에서 자유 공간 어카운트와 함께 재구축되는 2 스테이지 파워 온 맵을 위한 방법들, 디바이스들, 및 시스템들 | |
US10657047B2 (en) | Data storage device and method of performing partial garbage collection | |
US10254983B2 (en) | Atomic write command support in a solid state drive | |
US7783845B2 (en) | Structures for the management of erase operations in non-volatile memories | |
US9507523B1 (en) | Methods, devices and systems for variable size logical page management in a solid state drive |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20151217 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160929 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20160929 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20160929 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20161031 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20170117 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170417 |
|
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: 20170704 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20170801 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20170808 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170801 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6192024 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313117 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
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 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |