JP4777263B2 - マスストレージアクセラレータ - Google Patents
マスストレージアクセラレータ Download PDFInfo
- Publication number
- JP4777263B2 JP4777263B2 JP2006552117A JP2006552117A JP4777263B2 JP 4777263 B2 JP4777263 B2 JP 4777263B2 JP 2006552117 A JP2006552117 A JP 2006552117A JP 2006552117 A JP2006552117 A JP 2006552117A JP 4777263 B2 JP4777263 B2 JP 4777263B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- storage device
- storage
- volatile
- address
- 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.)
- Expired - Fee Related
Links
- 239000012634 fragment Substances 0.000 claims description 41
- 238000013500 data storage Methods 0.000 claims description 39
- 238000000034 method Methods 0.000 claims description 35
- 125000004122 cyclic group Chemical group 0.000 claims description 8
- 239000007787 solid Substances 0.000 claims description 2
- 230000007704 transition Effects 0.000 claims description 2
- 238000004590 computer program Methods 0.000 claims 7
- 239000004065 semiconductor Substances 0.000 claims 3
- 230000002457 bidirectional effect Effects 0.000 claims 2
- 238000013507 mapping Methods 0.000 description 15
- 238000012546 transfer Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 11
- 230000000694 effects Effects 0.000 description 8
- 230000001133 acceleration Effects 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 230000008569 process Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000013479 data entry Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 239000012212 insulator Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000006386 memory function Effects 0.000 description 1
- 229920000642 polymer Polymers 0.000 description 1
- 230000002459 sustained effect Effects 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0613—Improving I/O performance in relation to throughput
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0685—Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
図面において同様の参照番号は同様の構成要素を示すことが理解されよう。また図中の描写は必ずしも正しい縮尺ではないことが理解されよう。
Claims (32)
- データストレージシステムであって、
第1不揮発性ストレージデバイスと、
前記第1不揮発性ストレージデバイスよりもより低速な平均アクセスタイムおよびより大きい容量を有する第2不揮発性ストレージデバイスであって、前記より低速な平均アクセスタイムは、前記第2不揮発性ストレージデバイスがデータをライトし始める前に必要な平均遅延である、前記第2不揮発性ストレージデバイスと、
データの第1部分を前記第1ストレージデバイスに、データの第2部分を前記第2ストレージデバイスに送信させるよう動作可能であるストレージコントローラであって、前記データの第1部分を収めるのに充分なスペースを予約するよう前記第2不揮発性ストレージデバイスに指示すべく動作可能である前記ストレージコントローラを備え、
前記データの第1部分は、ヘッドデータであり、前記データの第2部分は、ボディデータであり、前記データの第1部分のための前記予約されたスペースと、該データの第1部分に対応するデータの第2部分とは、連続して配置され、
前記ストレージコントローラは、前記第1不揮発性ストレージデバイスにおいてデータの前記第1部分をリード又はライトすることを完了する前に、前記データの第2部分をリード又はライトするために準備するよう前記第2不揮発性ストレージデバイスに指示し、且つ第1不揮発性ストレージデバイスの空き容量が所定の容量より少なく、前記第1または第2不揮発性ストレージデバイス中に含まれる前記データへのアクセスがリクエストされていない場合、前記データの前記第1部分を消去するよう前記第1揮発性ストレージデバイスに指示するとともに、前記予約されたスペースに前記データの前記第1部分をライトするよう第2揮発性ストレージデバイスに指示すべく動作可能である、データストレージシステム。 - 請求項1に記載のデータストレージシステムであって、前記第1不揮発性ストレージデバイスは、前記ストレージコントローラによって前記データの第2部分が前記第2ストレージデバイスに送信させるとき、前記データの記憶に直接関連しない操作を行う、データストレージシステム。
- 請求項2に記載のデータストレージシステムであって、前記データの記憶に直接関連しない操作はガーベジコレクションを含む、データストレージシステム。
- 請求項1に記載のデータストレージシステムであって、前記第2ストレージデバイスは、前記データの第1部分の全体が前記第1ストレージデバイスに送信される前に、自身の遅延の影響を受け始める、データストレージシステム。
- 請求項1に記載のデータストレージシステムであって、前記第1ストレージデバイスは、データを物理アドレスのリングバッファ構成中に記憶する、データストレージシステム。
- 請求項1に記載のデータストレージシステムであって、前記第1ストレージデバイスは、データを論理アドレスのサイクリックバッファ構成中に記憶する、データストレージシステム。
- 請求項1に記載のデータストレージシステムであって、
前記第1不揮発性ストレージデバイスは固体メモリであり、
前記第2不揮発性ストレージデバイスは磁気ハードディスクである、
データストレージシステム。 - 請求項7に記載のデータストレージシステムであって、前記固体メモリはフラッシュメモリシステムである、データストレージシステム。
- データストレージシステムであって、
第1不揮発性ストレージデバイスと、
前記第1不揮発性ストレージデバイスよりもより低速な平均アクセスタイムおよびより大きい容量を有する第2不揮発性ストレージデバイスであって、前記より低速な平均アクセスタイムは、前記第2不揮発性ストレージデバイスがデータをリードし始める前に必要な平均遅延である第2不揮発性ストレージデバイスと、
データの第1部分を前記第1ストレージデバイスから、データの第2部分を前記第2ストレージデバイスから取り出すよう動作可能であるストレージコントローラであって、前記データの第1部分を収めるのに充分なスペースを予約するよう前記第2デバイスに指示すべく動作可能であり、かつ前記第2ストレージデバイス中の前記予約されたスペースに、前記データの第1部分を送るよう前記第1ストレージデバイスに続いて指示すべく動作可能である前記ストレージコントローラとを備え、
前記データの第1部分は、ヘッドデータであり、前記データの第2部分は、ボディデータであり、前記データの第1部分のための前記予約されたスペースと、該データの第1部分に対応するデータの第2部分とは、連続して配置され、
前記ストレージコントローラは、前記第1不揮発性ストレージデバイスにおいてデータの前記第1部分をリード又はライトすることを完了する前に、前記データの第2部分をリード又はライトするために準備するよう前記第2不揮発性ストレージデバイスに指示し、且つ第2不揮発性ストレージデバイスの空き容量が所定の容量より少なく、前記第1または第2不揮発性ストレージデバイス中に含まれる前記データへのアクセスがリクエストされていない場合、前記データの前記第1部分を消去するよう前記第1揮発性ストレージデバイスに指示するとともに、前記予約されたスペースに前記データの前記第1部分をライトするよう第2揮発性ストレージデバイスに指示すべく動作可能である、データストレージシステム。 - データストレージシステムであって、
ヘッドデータを記憶するよう動作可能である第1ストレージデバイスであって、前記ヘッドデータは連続したデータストリーム中のデータの第1部分である、第1ストレージデバイスと、
前記第1ストレージデバイスよりもより低速な平均アクセスタイムおよびより大きい容量を有する第2ストレージデバイスであって、前記第2ストレージデバイスは、ボディデータを記憶するよう動作可能であって、前記ボディデータは、連続したデータストリーム中のデータの残りの部分である、第2ストレージデバイスと、
前記ヘッドデータの位置および前記ボディデータの位置に関する情報を含むよう動作可能であるヘッドテーブルと、
前記ヘッドテーブルを用いることによってデータ記憶リクエストを満足するよう動作可能であるストレージコントローラであって、前記ヘッドデータを収めるのに充分なスペースを予約するよう前記第2デバイスに指示すべく動作可能であり、かつ前記ストレージコントローラは、前記第2ストレージデバイス中の前記予約されたスペースに、前記ヘッドデータを送るよう前記第1ストレージデバイスに続いて指示すべく動作可能である前記ストレージコントローラとを備え、
前記データの第1部分のための前記スペースと、該データの第1部分に対応するデータの第2部分とは、連続して配置され、
前記ストレージコントローラは、前記第1ストレージデバイスにおいてデータの前記第1部分をリード又はライトすることを完了する前に、前記データの第2部分をリード又はライトするために準備するよう前記第2ストレージデバイスに指示し、且つ第1ストレージデバイスの空き容量が所定の容量より少なく、前記第1または第2ストレージデバイス中に含まれる前記データへのアクセスがリクエストされていない場合、前記データの前記第1部分を消去するよう前記第1ストレージデバイスに指示するとともに、前記予約されたスペースに前記データの前記第1部分をライトするよう第2ストレージデバイスに指示すべく動作可能である、データストレージシステム。 - データを記憶する方法であって、
データアドレスにライトするためのライトコマンドをホストシステムバスから受け取ること、
前記ホストシステムバスからデータフラグメントを受け取ること、
第1ストレージデバイスに前記データフラグメントの第1部分を記憶すること、
前記第1ストレージデバイスに前記データフラグメントの前記第1部分を記憶することが完了する前に、第2ストレージデバイスがデータをライトできるよう準備させること、および
前記第2ストレージデバイスが準備できた後、前記第2ストレージデバイスに前記データフラグメントの残りの部分を記憶すること
を備え、
前記第2ストレージデバイスがデータをライトできるよう準備させることは、前記データアドレスおよび前記データフラグメントの前記第1部分を記憶するのに充分大きいオフセットに等しい第2アドレスにシークコマンドを送ることを含み、
前記データフラグメントの第1部分は、ヘッドデータであり、前記データフラグメントの残り部分は、ボディデータであり、
前記データフラグメントの第1部分が前記第1ストレージデバイス上に存在する場合、前記第2ストレージデバイスに、前記データフラグメントの第1部分を収めるのに充分、且つ前記データフラグメントの第1部分に対応する残り部分と連続のスペースを予約すること、
第1ストレージデバイスの空き容量が所定の容量より少なく、前記第1または第2ストレージデバイス中に含まれる前記データフラグメントへのアクセスがリクエストされていない場合、前記第1ストレージデバイスから前記データの前記第1部分を消去するとともに、第2ストレージデバイスの前記予約されたスペースに前記データフラグメントの前記第1部分をライトすることをさらに含む、方法。 - 請求項11に記載の方法であって、データの前記第1部分およびデータの前記残りの部分の位置に関する情報を含むヘッドテーブルをアップデートすることをさらに含む、方法。
- 請求項11に記載の方法であって、もし前記第1ストレージデバイスが利用可能でないなら、前記データフラグメントの全体は前記第2ストレージデバイスだけに記憶される、方法。
- データを取り出す方法であって、
データアドレスでデータをリードするためのリードコマンドをホストシステムバスから受け取ること、
前記データの第1部分が第1ストレージデバイス上に存在するかを決定すること、
もしデータの前記第1部分が前記第1ストレージデバイス上に存在するなら、
前記データの前記第1部分を前記第1ストレージデバイスからリードすること、
前記第1ストレージデバイスにおいてデータの前記第1部分をリードすることを完了する前に、第2ストレージデバイスが前記データの残りの部分をリードできるよう準備させること、および
前記データの前記残りの部分をリードするよう前記第2ストレージデバイスが準備できた後、前記第2ストレージデバイスから前記データの残りの部分をリードすること、および
もしデータの前記第1部分が前記第1ストレージデバイス上に存在しないなら、前記データの前記第1部分および前記データの前記残りの部分の両者を前記第2ストレージデバイスからリードすること
を備え、
もし前記データの第1部分が前記第1デバイス上に存在しないと決定されたなら、データの前記第1部分を前記第2ストレージデバイスから前記第1ストレージデバイスへコピーすることをさらに含み、
前記データの第1部分は、ヘッドデータであり、前記データの残り部分は、ボディデータであり、
前記データの第1部分が前記第1ストレージデバイス上に存在する場合、前記第2ストレージデバイスには、前記データの第1部分を収めるのに充分、且つ対応する前記データの残り部分と連続のスペースが予約されること、
第1ストレージデバイスの空き容量が所定の容量より少なく、前記第1または第2ストレージデバイス中に含まれる前記データへのアクセスがリクエストされていない場合、前記第1ストレージデバイスから前記データの前記第1部分を消去するとともに、第2ストレージデバイスの前記予約されたスペースに前記データの前記第1部分をライトすることをさらに含む、方法。 - 請求項14に記載のデータを取り出す方法であって、
データアドレスでデータをリードするためのリードコマンドをホストシステムバスから受け取ること、
前記データの第1部分が第1ストレージデバイス上に存在するかを決定すること、
もしデータの前記第1部分が前記第1ストレージデバイス上に存在するなら、
前記データの前記第1部分を前記第1ストレージデバイスからリードすること、
前記第1ストレージデバイスにおいて前記データの前記第1部分をリードすることを完了する前に、第2ストレージデバイスが前記データの残りの部分をリードできるよう準備させること、および
前記データの前記残りの部分をリードするよう前記第2ストレージデバイスが準備できた後、前記第2ストレージデバイスから前記データの残りの部分をリードすること、および
もしデータの前記第1部分が前記第1ストレージデバイス上に存在しないなら、前記データの前記第1部分および前記データの前記残りの部分の両者を前記第2ストレージデバイスからリードすること
を備える方法であって、ヘッドマップテーブル中に前記データがリクエストされたことを示すフラグをセットすることをさらに含む、方法。 - 請求項14に記載の方法であって、もし前記第1ストレージデバイスが利用可能でないなら、前記データの第1部分および前記データの残りの部分の両者は、前記第2ストレージデバイスからリードされる、方法。
- データを記憶するコンピュータプログラムコードを少なくとも含むコンピュータで読み取り可能な媒体であって、
データアドレスにライトするためのライトコマンドをホストシステムバスから受け取るコンピュータプログラムコードと、
前記ホストシステムバスからデータフラグメントを受け取るコンピュータプログラムコードと、
第1ストレージデバイスに前記データフラグメントの第1部分を記憶するコンピュータプログラムコードと、
前記第1ストレージデバイスに前記データフラグメントの前記第1部分を記憶することが完了する前に、第2ストレージデバイスがデータをライトできるよう準備させる、少なくとも前記データアドレスおよび前記データフラグメントの前記第1部分を記憶するのに充分大きいオフセットに等しい第2アドレスにシークコマンドを送るコンピュータプログラムコードと、
前記第2ストレージデバイスが準備できた後、前記第2ストレージデバイスに前記データフラグメントの残りの部分を記憶するコンピュータプログラムコードとを備え、
前記データの第1部分は、ヘッドデータであり、前記データの残り部分は、ボディデータであり、
第1ストレージデバイスの空き容量が所定の容量より少なく、前記第1および第2ストレージデバイス中に含まれる前記データフラグメントへのアクセスがリクエストされていない場合、前記第1ストレージデバイスから前記データフラグメントの前記第1部分を消去するとともに、第2ストレージデバイスの前記オフセットが設定されたスペースに前記データフラグメントの前記第1部分を記憶するコンピュータプログラムコードとをさらに含む、コンピュータで読み取り可能な媒体。 - 請求項1に記載のデータストレージシステムであって、データの第2部分を第2揮発性ストレージデバイスにライトする前に第2ストレージデバイスがディスクアクセス動作を実行する場合、前記ストレージコントローラは、データの第1部分を第1揮発性ストレージデバイスにライトするようにさらに動作可能である、データストレージシステム。
- 請求項1に記載のデータストレージシステムであって、前記第1ストレージデバイスは、データを論理アドレスのリングバッファ構成中に記憶し、前記ストレージコントローラは、周期的なパターンで前記第1揮発性ストレージデバイスの前記選択された第1部分を消去するかどうかを判定するようにさらに動作可能である、データストレージシステム。
- 請求項19に記載のデータストレージシステムであって、前記論理アドレスのリングバッファ構成は、前記ストレージコントローラにより制御される優先的なシステムに従って調整可能である、データストレージシステム。
- 回転ディスクドライブからデータのリード動作を改良する方法であって、
前記回転ディスクドライブ内の定義された最初のアドレスでバーストデータをリードするための第1のコマンドをホストシステムバスから受け取ること、
前記第1のコマンドに対するバーストデータの前記アドレスが前回アクセスされたアドレスと不連続であるかを判定すること、
前記アドレスが不連続と判定された場合、前記回転ディスクドライブから前記リクエストされたデータをリードし、前記データの始めの部分を不揮発性メモリデバイスにコピーすること、
次に、前記回転ディスクドライブの同一の前記最初のアドレスでバーストデータをリードするための第2のコマンドを前記ホストシステムから受信すること、
前記第2のコマンドに対するバーストデータの前記アドレスが前回アクセスされたアドレスと不連続であるかを判定すること、
前記アドレスが不連続と判定された場合、前記不揮発性メモリデバイスから前記リクエストされたデータの始めの部分をリードし、前記回転ディスクドライブから前記リクエストされたデータの残りをリードすることで、前記回転ディスクドライブのシークタイムに起因する、データを前記ホストシステムに供給する際の遅延を除去することを含み、
前記データの始め部分は、ヘッドデータであり、前記データの残り部分は、ボディデータであり、
前記データの始め部分が前記不揮発性メモリデバイス上に存在する場合、前記回転ディスクドライブに、前記データの始め部分を収めるのに充分、且つ対応するデータの残り部分と連続のスペースを予約すること、
前記不揮発性メモリデバイスの空き容量が所定の容量より少なく、前記不揮発性メモリデバイスまたは前記回転ディスクドライブ中に含まれる前記データへのアクセスがリクエストされていない場合、前記不揮発性メモリデバイスから前記データの前記始め部分を消去するとともに、前記回転ディスクドライブの前記予約されたスペースに前記データの前記始め部分をライトすることをさらに含む、方法。 - 請求項21に記載の方法であって、前記回転ディスクドライブおよび前記不揮発性メモリデバイスは、コンピュータシステムの一部である、方法。
- 請求項22に記載の方法であって、前記不揮発性メモリデバイスは、半導体メモリである、方法。
- 請求項23に記載の方法であって、前記半導体メモリは、フラッシュメモリであり、前記回転ディスクドライブは、磁気ハードディスクドライブである、方法。
- コンピュータシステムにおいて提供されるハードドライブからデータのリード動作を改良する方法であって、
前記ハードドライブ内の定義された最初のアドレスでデータをリードするためのリクエストをホストシステムから受け取ること、
前記リクエストされたデータのアドレスが前回アクセスされたアドレスと連続であるかを判定すること、
前記リクエストされたデータの前記アドレスが前記前回アクセスされたデータと連続である場合、前記ハードドライブから前記リクエストされたデータをリードすること、
前記リクエストされたデータの前記アドレスが前記前回アクセスされたデータと連続ではないと判定された場合、前記リクエストされたデータの第1部分が不揮発性マスストレージデバイス上に存在するか判定すること、
前記リクエストされたデータの第1部分が不揮発性マスストレージデバイス上に存在する場合、前記不揮発性マスストレージデバイスから前記リクエストされたデータの第1部分にリードし、前記ハードドライブから前記リクエストされたデータの残りをリードすること、
前記リクエストされたデータの第1部分が不揮発性マスストレージデバイス上に存在しない場合、前記ハードドライブから前記リクエストされたデータをリードし、前記リクエストされたデータの第1部分を前記不揮発性マスストレージデバイスにコピーすることを含み、
前記データの第1部分は、ヘッドデータであり、前記データの残りは、ボディデータであり、
前記データの第1部分が前記不揮発性マスストレージデバイス上に存在する場合、前記ハードドライブに、前記データの第1部分を収めるのに充分、且つ対応するデータの残りと連続のスペースが予約されること、
前記不揮発性マスストレージデバイスの空き容量が所定の容量より少なく、前記不揮発性マスストレージデバイスまたは前記ハードドライブ中に含まれる前記データへのアクセスがリクエストされていない場合、前記不揮発性マスストレージデバイスから前記データの前記第1部分を消去するとともに、前記ハードドライブの前記予約されたスペースに前記データの前記第1部分を記憶することをさらに含む、方法。 - コンピュータシステムにおけるハードドライブの動作を改良する方法であって、
前記ハードドライブを前記コンピュータシステムのシステムバスに、前記システムバスおよび前記ハードドライブ間の双方向でデータを受け渡し可能にするインターフェースを介して接続すること、
前記ハードドライブよりもより高速な平均アクセスタイムおよびより小さな容量を有する不揮発性マスストレージデバイスを前記システムバスに、前記システムバスおよび前記不揮発性マスストレージデバイス間の双方向でデータを受け渡し可能にするインターフェースを介して接続することであって、前記より高速な平均アクセスタイムは、前記不揮発性マスストレージデバイスがデータをライトし始める前に必要な平均遅延である、前記接続すること、
前記コンピュータシステムから前記不揮発性マスストレージデバイスに前記第1部分を送信させ、前記コンピュータシステムから前記ハードドライブに前記第2部分を送信させるようにストレージコントローラを用いることを含み、
前記データの第1部分は、ヘッドデータであり、前記データの第2部分は、ボディデータであり、
前記不揮発性マスストレージデバイスにおいてデータの前記第1部分をリード又はライトすることを完了する前に、前記ハードドライブが前記データの第2部分をリード又はライトするために準備させるように前記ストレージコントローラを用いること、
前記データの第1部分が前記不揮発性マスストレージデバイス上に存在する場合、前記ハードドライブに、前記データの第1部分を収めるのに充分、且つ対応するデータの残りと連続のスペースを予約させるように前記ストレージコントローラを用いること、
前記ハードドライブの空き容量が所定の容量より少なく、前記不揮発性マスストレージデバイスまたは前記ハードドライブ中に含まれる前記データへのアクセスがリクエストされていない場合、前記不揮発性マスストレージデバイスに、前記データの前記第1部分を消去させるとともに、前記ハードドライブに、前記データの前記第1部分を前記予約されたスペースにライトさせるように前記ストレージコントローラを用いることをさらに含む、方法。 - 請求項1に記載のデータストレージシステムであって、
前記ストレージコントローラは、
前記第1ストレージデバイス内の定義された最初のアドレスでデータフラグメントをリードするための第1コマンドをホストシステムから受け取り、
前記第1コマンドに対する前記データフラグメントのアドレスが前回アクセスされたアドレスと不連続であるかを判定し、
前記アドレスが不連続であると判定された場合、前記第2ストレージデバイスから前記リクエストされたデータをリードし、前記データの始めの部分を第1ストレージデバイスにコピーすべく動作可能である、データストレージシステム。 - 請求項27に記載のデータストレージシステムであって、
前記ストレージコントローラは、
次に、前記第2ストレージデバイスの同じ最初のアドレスでデータフラグメントをリードするための第2コマンドを前記ホストシステムから受け取り、
前記第2コマンドに対する前記データフラグメントのアドレスが前回アクセスされたアドレスと不連続であるかを判定し、
前記アドレスが不連続であると判定された場合、前記第1ストレージデバイスから前記リクエストされたデータの残りをリードし、前記第2ストレージデバイスから前記リクエストされたデータの残りをリードすべく動作可能である、データストレージシステム。 - 請求項28に記載のデータストレージシステムであって
前記第1ストレージデバイスは半導体メモリであり、前記第2ストレージデバイスはハードドライブであり、
前記アドレスが不連続であると判定された場合、前記第1ストレージデバイスから前記リクエストされたデータの始めの部分のリードは、データの前記ホストシステムへの供給において不連続の前記アドレスに遷移する際のハードドライブのシーク遅延に起因する遅延を低減する働きをする、データストレージシステム。 - コンピュータシステムのハードドライブの動作を改良する方法であって、
前記ハードドライブを前記コンピュータシステムのシステムバスに、前記システムバスおよび前記ハードドライブ間の双方向でデータを受け渡し可能にするインターフェースを介して接続すること、
前記ハードドライブよりもより高速な平均アクセスタイムおよびより小さな容量を有する不揮発性マスストレージデバイスを前記システムバスに、前記システムバスおよび前記不揮発性マスストレージデバイス間の双方向でデータを受け渡し可能にするインターフェースを介して接続することであって、前記より高速な平均アクセスタイムは、前記不揮発性マスストレージデバイスがデータをリードし始める前に必要な平均遅延である、前記接続すること、
前記不揮発性マスストレージデバイスからデータの第1部分を前記コンピュータシステムにリターンし、前記ハードドライブからデータの第2部分をリターンするようにストレージコントローラを用いることを含み、
前記データの第1部分は、ヘッドデータであり、前記データの第2部分は、ボディデータであり、
前記不揮発性マスストレージデバイスにおいてデータの前記第1部分をリード又はライトすることを完了する前に、前記ハードドライブが前記データの第2部分をリード又はライトするために準備させるようにストレージコントローラを用いること、
前記データの第1部分が前記不揮発性マスストレージデバイス上に存在する場合、前記ハードドライブに、前記データの第1部分を収めるのに充分、且つ対応するデータの残りと連続のスペースを予約させるように前記ストレージコントローラを用いること、
前記不揮発性マスストレージデバイスの空き容量が所定の容量より少なく、前記不揮発性マスストレージデバイスまたは前記ハードドライブ中に含まれる前記データへのアクセスがリクエストされていない場合、前記不揮発性マスストレージデバイスに、前記データの前記第1部分を消去させるとともに、前記ハードドライブに、前記データの前記第1部分を前記予約されたスペースにライトさせるようにストレージコントローラを用いることをさらに含む、方法。 - 請求項1に記載のデータストレージシステムであって、
前記データの第1部分はヘッドデータを備え、前記不揮発性ストレージデバイスは、連続したデータストリーム中のデータの第1部分である前記ヘッドデータを格納すべく動作可能であり、
前記データの第2部分はボディデータを備え、第2ストレージデバイスはボディデータを記憶すべく動作可能であり、前記ボディデータは、連続したデータストリーム中のデータの残り部分であり、
前記ヘッドデータの前記位置および前記ボディデータの前記位置に関する情報を含むよう使用可能であるヘッドテーブルを備え、
ストレージコントローラは、前記ヘッドテーブルを用いることによりデータストレージリクエストに応じるようさらに動作可能である、データストレージシステム。 - 請求項14に記載のデータを取り出す方法であって、
前記第1ストレージデバイスが利用可能ではない場合、データの前記第1部分とデータの残り部分は前記第2ストレージデバイスからリードされる、取り出す方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/772,789 | 2004-02-04 | ||
US10/772,789 US7127549B2 (en) | 2004-02-04 | 2004-02-04 | Disk acceleration using first and second storage devices |
PCT/US2005/000275 WO2005081097A2 (en) | 2004-02-04 | 2005-01-05 | Mass storage accelerator |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011109493A Division JP2011192298A (ja) | 2004-02-04 | 2011-05-16 | マスストレージアクセラレータ |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2007522560A JP2007522560A (ja) | 2007-08-09 |
JP2007522560A5 JP2007522560A5 (ja) | 2008-02-14 |
JP4777263B2 true JP4777263B2 (ja) | 2011-09-21 |
Family
ID=34808627
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006552117A Expired - Fee Related JP4777263B2 (ja) | 2004-02-04 | 2005-01-05 | マスストレージアクセラレータ |
JP2011109493A Pending JP2011192298A (ja) | 2004-02-04 | 2011-05-16 | マスストレージアクセラレータ |
JP2013159593A Pending JP2013218741A (ja) | 2004-02-04 | 2013-07-31 | マスストレージアクセラレータ |
Family Applications After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011109493A Pending JP2011192298A (ja) | 2004-02-04 | 2011-05-16 | マスストレージアクセラレータ |
JP2013159593A Pending JP2013218741A (ja) | 2004-02-04 | 2013-07-31 | マスストレージアクセラレータ |
Country Status (7)
Country | Link |
---|---|
US (2) | US7127549B2 (ja) |
EP (2) | EP2241966A3 (ja) |
JP (3) | JP4777263B2 (ja) |
KR (1) | KR101200670B1 (ja) |
CN (1) | CN100570546C (ja) |
TW (1) | TWI360050B (ja) |
WO (1) | WO2005081097A2 (ja) |
Families Citing this family (149)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7108975B2 (en) * | 2001-09-21 | 2006-09-19 | Regents Of The University Of Michigan | Atlastin |
DE112004001255T5 (de) * | 2003-07-07 | 2006-06-08 | Hitachi ULSI Systems Co., Ltd., Kodaira | Speichervorrichtung und Speichersystem |
US7644239B2 (en) | 2004-05-03 | 2010-01-05 | Microsoft Corporation | Non-volatile memory cache performance improvement |
US7472222B2 (en) * | 2004-10-12 | 2008-12-30 | Hitachi Global Storage Technologies Netherlands B.V. | HDD having both DRAM and flash memory |
US7490197B2 (en) | 2004-10-21 | 2009-02-10 | Microsoft Corporation | Using external memory devices to improve system performance |
US9104315B2 (en) | 2005-02-04 | 2015-08-11 | Sandisk Technologies Inc. | Systems and methods for a mass data storage system having a file-based interface to a host and a non-file-based interface to secondary storage |
SG126788A1 (en) * | 2005-04-19 | 2006-11-29 | Trek 2000 Int Ltd | Interface for non-volatile memories |
US7318118B2 (en) * | 2005-07-14 | 2008-01-08 | Hitachi Global Storage Technologies B.V. | System and method for selective write to flash memory in HDD |
KR101345033B1 (ko) | 2005-08-26 | 2013-12-30 | 톰슨 라이센싱 | 개선된 트릭 재생을 위한 트랜스코딩된 이미지 |
US8914557B2 (en) | 2005-12-16 | 2014-12-16 | Microsoft Corporation | Optimizing write and wear performance for a memory |
US7769978B2 (en) | 2005-12-21 | 2010-08-03 | Sandisk Corporation | Method and system for accessing non-volatile storage devices |
US7793068B2 (en) | 2005-12-21 | 2010-09-07 | Sandisk Corporation | Dual mode access for non-volatile storage devices |
US7747837B2 (en) | 2005-12-21 | 2010-06-29 | Sandisk Corporation | Method and system for accessing non-volatile storage devices |
KR100755702B1 (ko) * | 2005-12-27 | 2007-09-05 | 삼성전자주식회사 | 비휘발성 메모리가 캐쉬로 사용되는 저장 장치 및 그 동작방법 |
US20070147115A1 (en) * | 2005-12-28 | 2007-06-28 | Fong-Long Lin | Unified memory and controller |
US7519754B2 (en) * | 2005-12-28 | 2009-04-14 | Silicon Storage Technology, Inc. | Hard disk drive cache memory and playback device |
JP2008033412A (ja) * | 2006-07-26 | 2008-02-14 | Hitachi Ltd | 計算機システムの性能管理方法、管理計算機、及びストレージ装置 |
US20080072084A1 (en) * | 2006-09-20 | 2008-03-20 | Chao-Kuang Yang | Method for Power Management |
WO2008057557A2 (en) | 2006-11-06 | 2008-05-15 | Rambus Inc. | Memory system supporting nonvolatile physical memory |
US20080244105A1 (en) * | 2007-03-27 | 2008-10-02 | Rothman Michael A | Enhancing performance of input-output (i/o) components |
JP4925230B2 (ja) * | 2007-06-08 | 2012-04-25 | 株式会社東芝 | 記憶装置、記憶制御装置及び制御方法 |
US8032699B2 (en) * | 2007-06-15 | 2011-10-04 | Seagate Technology Llc | System and method of monitoring data storage activity |
US8504784B2 (en) * | 2007-06-27 | 2013-08-06 | Sandisk Technologies Inc. | Scheduling methods of phased garbage collection and housekeeping operations in a flash memory system |
US20090006720A1 (en) * | 2007-06-27 | 2009-01-01 | Shai Traister | Scheduling phased garbage collection and house keeping operations in a flash memory system |
US20090002863A1 (en) * | 2007-06-29 | 2009-01-01 | Seagate Technology, Llc | System and method of monitoring data operations at a data storage device |
US8122322B2 (en) | 2007-07-31 | 2012-02-21 | Seagate Technology Llc | System and method of storing reliability data |
JP5124217B2 (ja) * | 2007-09-18 | 2013-01-23 | 株式会社日立製作所 | ストレージ装置 |
US8959307B1 (en) | 2007-11-16 | 2015-02-17 | Bitmicro Networks, Inc. | Reduced latency memory read transactions in storage devices |
US8416657B2 (en) * | 2007-12-03 | 2013-04-09 | Mediatek Inc. | Method and system for managing data from host to optical disc |
US8631203B2 (en) | 2007-12-10 | 2014-01-14 | Microsoft Corporation | Management of external memory functioning as virtual cache |
US20090172048A1 (en) * | 2007-12-31 | 2009-07-02 | Intel Corporation | Memory storage of file fragments |
US8327095B2 (en) * | 2008-06-06 | 2012-12-04 | International Business Machines Corporation | Maintaining information of a relationship of target volumes comprising logical copies of a source volume |
US8843691B2 (en) * | 2008-06-25 | 2014-09-23 | Stec, Inc. | Prioritized erasure of data blocks in a flash storage device |
KR101521493B1 (ko) | 2008-07-16 | 2015-05-19 | 시게이트 테크놀로지 엘엘씨 | 통신 속도를 조절할 수 있는 컨트롤러, 상기 컨트롤러를포함하는 데이터 저장 장치, 및 상기 데이터 저장 장치를포함하는 데이터 통신 시스템 |
KR101459520B1 (ko) * | 2008-07-16 | 2014-11-07 | 시게이트 테크놀로지 엘엘씨 | 기입 속도를 향상시킬 수 있는 데이터 저장 장치, 및 이를포함하는 데이터 저장 시스템 |
US8032707B2 (en) | 2008-09-15 | 2011-10-04 | Microsoft Corporation | Managing cache data and metadata |
US9032151B2 (en) | 2008-09-15 | 2015-05-12 | Microsoft Technology Licensing, Llc | Method and system for ensuring reliability of cache data and metadata subsequent to a reboot |
US7953774B2 (en) | 2008-09-19 | 2011-05-31 | Microsoft Corporation | Aggregation of write traffic to a data store |
WO2010041093A1 (en) | 2008-10-09 | 2010-04-15 | Federico Tiziani | Virtualized ecc nand |
US8112580B2 (en) * | 2009-01-19 | 2012-02-07 | Hitachi Global Storage Technologies Netherlands B.V. | Disk drive having multiple disk surfaces accessible by a read/write head and nonvolatile memory for continuous data transfer |
US20100199036A1 (en) * | 2009-02-02 | 2010-08-05 | Atrato, Inc. | Systems and methods for block-level management of tiered storage |
JP2010211858A (ja) | 2009-03-09 | 2010-09-24 | Sony Corp | 記録再生装置及び記録再生方法 |
US20100287217A1 (en) * | 2009-04-08 | 2010-11-11 | Google Inc. | Host control of background garbage collection in a data storage device |
US20100262773A1 (en) * | 2009-04-08 | 2010-10-14 | Google Inc. | Data striping in a flash memory data storage device |
US8447918B2 (en) | 2009-04-08 | 2013-05-21 | Google Inc. | Garbage collection for failure prediction and repartitioning |
US20100262979A1 (en) * | 2009-04-08 | 2010-10-14 | Google Inc. | Circular command queues for communication between a host and a data storage device |
US8516264B2 (en) * | 2009-10-09 | 2013-08-20 | Lsi Corporation | Interlocking plain text passwords to data encryption keys |
US8321639B2 (en) * | 2009-12-30 | 2012-11-27 | Lsi Corporation | Command tracking for direct access block storage devices |
US8219776B2 (en) * | 2009-09-23 | 2012-07-10 | Lsi Corporation | Logical-to-physical address translation for solid state disks |
US9063561B2 (en) * | 2009-05-06 | 2015-06-23 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Direct memory access for loopback transfers in a media controller architecture |
US20100306451A1 (en) * | 2009-06-01 | 2010-12-02 | Joshua Johnson | Architecture for nand flash constraint enforcement |
US8166258B2 (en) * | 2009-07-24 | 2012-04-24 | Lsi Corporation | Skip operations for solid state disks |
US8245112B2 (en) * | 2009-06-04 | 2012-08-14 | Lsi Corporation | Flash memory organization |
US8555141B2 (en) * | 2009-06-04 | 2013-10-08 | Lsi Corporation | Flash memory organization |
US8176367B2 (en) * | 2009-05-28 | 2012-05-08 | Agere Systems Inc. | Systems and methods for managing end of life in a solid state drive |
US8151137B2 (en) * | 2009-05-28 | 2012-04-03 | Lsi Corporation | Systems and methods for governing the life cycle of a solid state drive |
KR20140040870A (ko) * | 2009-07-07 | 2014-04-04 | 엘에스아이 코포레이션 | 계층화된 비휘발성 스토리지를 위한 시스템 및 방법 |
US9135190B1 (en) | 2009-09-04 | 2015-09-15 | Bitmicro Networks, Inc. | Multi-profile memory controller for computing devices |
US8665601B1 (en) | 2009-09-04 | 2014-03-04 | Bitmicro Networks, Inc. | Solid state drive with improved enclosure assembly |
US8447908B2 (en) | 2009-09-07 | 2013-05-21 | Bitmicro Networks, Inc. | Multilevel memory bus system for solid-state mass storage |
US8458416B2 (en) * | 2009-09-08 | 2013-06-04 | Lsi Corporation | Systems and methods for selecting bit per cell density of a memory cell based on data typing |
US20110060865A1 (en) * | 2009-09-08 | 2011-03-10 | Lsi Corporation | Systems and Methods for Flash Memory Utilization |
US8243546B2 (en) * | 2009-09-08 | 2012-08-14 | Lsi Corporation | Systems and methods for peak power and/or EMI reduction |
US8174912B2 (en) * | 2009-09-08 | 2012-05-08 | Lsi Corporation | Systems and methods for circular buffering control in a memory device |
US8381077B2 (en) * | 2009-09-08 | 2013-02-19 | Lsi Corporation | Systems and methods for implementing error correction in relation to a flash memory |
US20110060862A1 (en) * | 2009-09-08 | 2011-03-10 | Lsi Corporation | Systems and Methods for Switchable Memory Configuration |
US8243536B2 (en) * | 2009-09-08 | 2012-08-14 | Lsi Corporation | Systems and methods for increasing bit density in a memory cell |
US8499220B2 (en) * | 2009-09-08 | 2013-07-30 | Lsi Corporation | Systems and methods for re-designating memory regions as error code corrected memory regions |
US8560765B2 (en) * | 2009-09-08 | 2013-10-15 | Lsi Corporation | Systems and methods for variable level use of a multi-level flash memory |
US8560804B2 (en) | 2009-09-14 | 2013-10-15 | Bitmicro Networks, Inc. | Reducing erase cycles in an electronic storage device that uses at least one erase-limited memory device |
US8996785B2 (en) * | 2009-09-21 | 2015-03-31 | Aplus Flash Technology, Inc. | NAND-based hybrid NVM design that integrates NAND and NOR in 1-die with serial interface |
US8775719B2 (en) * | 2009-09-21 | 2014-07-08 | Aplus Flash Technology, Inc. | NAND-based hybrid NVM design that integrates NAND and NOR in 1-die with parallel interface |
CN102103545B (zh) * | 2009-12-16 | 2013-03-27 | 中兴通讯股份有限公司 | 一种数据缓存的方法、装置及系统 |
US8463984B2 (en) * | 2009-12-31 | 2013-06-11 | Seagate Technology Llc | Dynamic data flow management in a multiple cache architecture |
US8289768B2 (en) * | 2010-01-22 | 2012-10-16 | Lsi Corporation | Systems and methods for extended life multi-bit memory cells |
US8756387B2 (en) * | 2010-03-05 | 2014-06-17 | International Business Machines Corporation | Method and apparatus for optimizing the performance of a storage system |
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 |
US8504766B2 (en) | 2010-04-15 | 2013-08-06 | Netapp, Inc. | Methods and apparatus for cut-through cache management for a mirrored virtual volume of a virtualized storage system |
US8489940B2 (en) | 2010-04-16 | 2013-07-16 | Netapp, Inc. | Methods and apparatus for managing asynchronous dependent I/O for a virtual fibre channel target |
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 |
JP4988008B2 (ja) * | 2010-05-13 | 2012-08-01 | 株式会社東芝 | 情報処理装置およびドライバ |
USRE49818E1 (en) * | 2010-05-13 | 2024-01-30 | Kioxia Corporation | Information processing method in a multi-level hierarchical memory system |
JP4988007B2 (ja) * | 2010-05-13 | 2012-08-01 | 株式会社東芝 | 情報処理装置およびドライバ |
US9213628B2 (en) * | 2010-07-14 | 2015-12-15 | Nimble Storage, Inc. | Methods and systems for reducing churn in flash-based cache |
JP4886887B2 (ja) * | 2010-07-23 | 2012-02-29 | 株式会社東芝 | コマンド管理装置及び同コマンド管理装置を備えた記憶装置 |
US8261003B2 (en) | 2010-08-11 | 2012-09-04 | Lsi Corporation | Apparatus and methods for managing expanded capacity of virtual volumes in a storage system |
US8176218B2 (en) | 2010-08-11 | 2012-05-08 | Lsi Corporation | Apparatus and methods for real-time routing of received commands in a split-path architecture storage controller |
US8255634B2 (en) * | 2010-08-11 | 2012-08-28 | Lsi Corporation | Apparatus and methods for look-ahead virtual volume meta-data processing in a storage controller |
US8635412B1 (en) | 2010-09-09 | 2014-01-21 | Western Digital Technologies, Inc. | Inter-processor communication |
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 |
US8825976B1 (en) | 2010-09-28 | 2014-09-02 | Western Digital Technologies, Inc. | Hybrid drive executing biased migration policy during host boot to migrate data to a non-volatile semiconductor memory |
US8560759B1 (en) * | 2010-10-25 | 2013-10-15 | Western Digital Technologies, Inc. | Hybrid drive storing redundant copies of data on disk and in non-volatile semiconductor memory based on read frequency |
US20120275046A1 (en) * | 2011-04-27 | 2012-11-01 | Toshiba America Information Systems, Inc. | Splitting a data stream between two storage media in a hybrid disk drive |
US9158670B1 (en) | 2011-06-30 | 2015-10-13 | Western Digital Technologies, Inc. | System and method for dynamically adjusting garbage collection policies in solid-state memory |
US8700834B2 (en) | 2011-09-06 | 2014-04-15 | Western Digital Technologies, Inc. | Systems and methods for an enhanced controller architecture in data storage systems |
US8713357B1 (en) | 2011-09-06 | 2014-04-29 | Western Digital Technologies, Inc. | Systems and methods for detailed error reporting 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 |
US9372755B1 (en) | 2011-10-05 | 2016-06-21 | Bitmicro Networks, Inc. | Adaptive power cycle sequences for data recovery |
KR101342658B1 (ko) | 2011-12-06 | 2013-12-16 | 주식회사 디에이아이오 | 비휘발성 메모리 시스템 및 그 구성 방법 |
KR20130064521A (ko) * | 2011-12-08 | 2013-06-18 | 삼성전자주식회사 | 데이터 저장 장치 및 그것의 데이터 관리 방법 |
US9128949B2 (en) * | 2012-01-18 | 2015-09-08 | Cloudera, Inc. | Memory allocation buffer for reduction of heap fragmentation |
US9053008B1 (en) | 2012-03-26 | 2015-06-09 | Western Digital Technologies, Inc. | Systems and methods for providing inline parameter service in data storage devices |
US9009392B2 (en) | 2012-04-25 | 2015-04-14 | International Business Machines Corporation | Leveraging a hybrid infrastructure for dynamic memory allocation and persistent file storage |
US9043669B1 (en) | 2012-05-18 | 2015-05-26 | Bitmicro Networks, Inc. | Distributed ECC engine for storage media |
CN107704198B (zh) * | 2012-12-17 | 2020-01-31 | 联想(北京)有限公司 | 信息处理的方法及电子设备 |
US10073851B2 (en) | 2013-01-08 | 2018-09-11 | Apple Inc. | Fast new file creation cache |
US9423457B2 (en) | 2013-03-14 | 2016-08-23 | Bitmicro Networks, Inc. | Self-test solution for delay locked loops |
US9934045B1 (en) | 2013-03-15 | 2018-04-03 | Bitmicro Networks, Inc. | Embedded system boot from a storage device |
US9430386B2 (en) | 2013-03-15 | 2016-08-30 | Bitmicro Networks, Inc. | Multi-leveled cache management in a hybrid storage system |
US9672178B1 (en) | 2013-03-15 | 2017-06-06 | Bitmicro Networks, Inc. | Bit-mapped DMA transfer with dependency table configured to monitor status so that a processor is not rendered as a bottleneck in a system |
US9875205B1 (en) | 2013-03-15 | 2018-01-23 | Bitmicro Networks, Inc. | Network of memory systems |
US10489318B1 (en) | 2013-03-15 | 2019-11-26 | Bitmicro Networks, Inc. | Scatter-gather approach for parallel data transfer in a mass storage system |
US9734067B1 (en) | 2013-03-15 | 2017-08-15 | Bitmicro Networks, Inc. | Write buffering |
US9720603B1 (en) | 2013-03-15 | 2017-08-01 | Bitmicro Networks, Inc. | IOC to IOC distributed caching architecture |
US9971524B1 (en) | 2013-03-15 | 2018-05-15 | Bitmicro Networks, Inc. | Scatter-gather approach for parallel data transfer in a mass storage system |
US9842024B1 (en) | 2013-03-15 | 2017-12-12 | Bitmicro Networks, Inc. | Flash electronic disk with RAID controller |
US9501436B1 (en) | 2013-03-15 | 2016-11-22 | Bitmicro Networks, Inc. | Multi-level message passing descriptor |
US9798688B1 (en) | 2013-03-15 | 2017-10-24 | Bitmicro Networks, Inc. | Bus arbitration with routing and failover mechanism |
US9916213B1 (en) | 2013-03-15 | 2018-03-13 | Bitmicro Networks, Inc. | Bus arbitration with routing and failover mechanism |
US9400617B2 (en) | 2013-03-15 | 2016-07-26 | Bitmicro Networks, Inc. | Hardware-assisted DMA transfer with dependency table configured to permit-in parallel-data drain from cache without processor intervention when filled or drained |
US9858084B2 (en) | 2013-03-15 | 2018-01-02 | Bitmicro Networks, Inc. | Copying of power-on reset sequencer descriptor from nonvolatile memory to random access memory |
US9164828B2 (en) | 2013-09-26 | 2015-10-20 | Seagate Technology Llc | Systems and methods for enhanced data recovery in a solid state memory system |
US9424179B2 (en) | 2013-10-17 | 2016-08-23 | Seagate Technology Llc | Systems and methods for latency based data recycling in a solid state memory system |
US9201729B2 (en) | 2013-10-21 | 2015-12-01 | Seagate Technology, Llc | Systems and methods for soft data utilization in a solid state memory system |
US9378840B2 (en) | 2013-10-28 | 2016-06-28 | Seagate Technology Llc | Systems and methods for sub-zero threshold characterization in a memory cell |
US9323467B2 (en) | 2013-10-29 | 2016-04-26 | Western Digital Technologies, Inc. | Data storage device startup |
US9276609B2 (en) | 2013-11-16 | 2016-03-01 | Seagate Technology Llc | Systems and methods for soft decision generation in a solid state memory system |
US9576683B2 (en) | 2014-02-06 | 2017-02-21 | Seagate Technology Llc | Systems and methods for hard error reduction in a solid state memory device |
US9378810B2 (en) | 2014-02-11 | 2016-06-28 | Seagate Technology Llc | Systems and methods for last written page handling in a memory device |
US9952991B1 (en) | 2014-04-17 | 2018-04-24 | Bitmicro Networks, Inc. | Systematic method on queuing of descriptors for multiple flash intelligent DMA engine operation |
US10078604B1 (en) | 2014-04-17 | 2018-09-18 | Bitmicro Networks, Inc. | Interrupt coalescing |
US10025736B1 (en) | 2014-04-17 | 2018-07-17 | Bitmicro Networks, Inc. | Exchange message protocol message transmission between two devices |
US10055150B1 (en) | 2014-04-17 | 2018-08-21 | Bitmicro Networks, Inc. | Writing volatile scattered memory metadata to flash device |
US9811461B1 (en) | 2014-04-17 | 2017-11-07 | Bitmicro Networks, Inc. | Data storage system |
US10042792B1 (en) | 2014-04-17 | 2018-08-07 | Bitmicro Networks, Inc. | Method for transferring and receiving frames across PCI express bus for SSD device |
US9672107B1 (en) * | 2015-02-11 | 2017-06-06 | Western Digital Technologies, Inc. | Data protection for a data storage device |
US9942324B2 (en) * | 2015-08-05 | 2018-04-10 | Futurewei Technologies, Inc. | Rebalancing and elastic storage scheme with elastic named distributed circular buffers |
CN106469119B (zh) * | 2015-08-10 | 2020-07-07 | 北京忆恒创源科技有限公司 | 一种基于nvdimm的数据写缓存方法及其装置 |
TWI588824B (zh) * | 2015-12-11 | 2017-06-21 | 捷鼎國際股份有限公司 | 加快在不連續頁面寫入資料之電腦系統及其方法 |
US9886209B2 (en) * | 2016-02-16 | 2018-02-06 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Controlling file placement on a disk drive to improve file access |
US10942844B2 (en) | 2016-06-10 | 2021-03-09 | Apple Inc. | Reserved memory in memory management system |
DE102016211386A1 (de) * | 2016-06-14 | 2017-12-14 | Robert Bosch Gmbh | Verfahren zum Betreiben einer Recheneinheit |
US10459658B2 (en) * | 2016-06-23 | 2019-10-29 | Seagate Technology Llc | Hybrid data storage device with embedded command queuing |
US10552050B1 (en) | 2017-04-07 | 2020-02-04 | Bitmicro Llc | Multi-dimensional computer storage system |
KR102586768B1 (ko) | 2018-03-27 | 2023-10-16 | 에스케이하이닉스 주식회사 | 컴퓨팅 시스템 및 그것의 동작방법 |
KR102655094B1 (ko) * | 2018-11-16 | 2024-04-08 | 삼성전자주식회사 | 메모리를 공유하는 이종의 프로세서들을 포함하는 스토리지 장치 및 그것의 동작 방법 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US408357A (en) * | 1889-08-06 | William ruttan | ||
JPH08195022A (ja) * | 1994-11-14 | 1996-07-30 | Sega Enterp Ltd | ディスク再生装置、カラオケシステム及びディスク再生方法 |
US5708846A (en) * | 1995-02-24 | 1998-01-13 | Intel Corporation | System for retrieving initial data sequence corresponding to next data sequence while locating next data sequence when branch point is reached during current data sequence |
US5754888A (en) * | 1996-01-18 | 1998-05-19 | The Board Of Governors For Higher Education, State Of Rhode Island And Providence Plantations | System for destaging data during idle time by transferring to destage buffer, marking segment blank , reodering data in buffer, and transferring to beginning of segment |
JP2000285590A (ja) * | 1999-03-26 | 2000-10-13 | Sony Corp | ディスク装置 |
JP2001189912A (ja) * | 1999-10-21 | 2001-07-10 | Sanyo Electric Co Ltd | デジタルtv放送記録再生装置 |
JP2002133835A (ja) * | 2000-10-27 | 2002-05-10 | Sharp Corp | 記録装置 |
JP2003123381A (ja) * | 2001-10-11 | 2003-04-25 | Sony Computer Entertainment Inc | ディスク再生装置及び方法、メモリ制御プログラム、メモリ制御プログラムを記録した記録媒体 |
JP2003125358A (ja) * | 2001-10-18 | 2003-04-25 | Sony Corp | 情報処理装置、情報処理装置の制御方法、情報処理装置の制御プログラム及び情報処理装置の制御プログラムを記録した記録媒体 |
US6646948B1 (en) * | 2002-08-29 | 2003-11-11 | Motorola, Inc. | Data storage system utilizing a non-volatile IC based memory for reduction of data retrieval time |
Family Cites Families (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4896262A (en) | 1984-02-24 | 1990-01-23 | Kabushiki Kaisha Meidensha | Emulation device for converting magnetic disc memory mode signal from computer into semiconductor memory access mode signal for semiconductor memory |
GB2251324B (en) * | 1990-12-31 | 1995-05-10 | Intel Corp | File structure for a non-volatile semiconductor memory |
US5778418A (en) | 1991-09-27 | 1998-07-07 | Sandisk Corporation | Mass computer storage system having both solid state and rotating disk types of memory |
JPH0590669U (ja) * | 1992-05-20 | 1993-12-10 | ミツミ電機株式会社 | 再生装置 |
US5636355A (en) | 1993-06-30 | 1997-06-03 | Digital Equipment Corporation | Disk cache management techniques using non-volatile storage |
US5542066A (en) | 1993-12-23 | 1996-07-30 | International Business Machines Corporation | Destaging modified data blocks from cache memory |
JPH0883148A (ja) | 1994-09-13 | 1996-03-26 | Nec Corp | 磁気ディスク装置 |
US5586291A (en) | 1994-12-23 | 1996-12-17 | Emc Corporation | Disk controller with volatile and non-volatile cache memories |
US6728851B1 (en) | 1995-07-31 | 2004-04-27 | Lexar Media, Inc. | Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices |
GB9613088D0 (en) | 1996-06-21 | 1996-08-28 | Memory Corp Plc | Memory device |
US5798968A (en) | 1996-09-24 | 1998-08-25 | Sandisk Corporation | Plane decode/virtual sector architecture |
US5890192A (en) | 1996-11-05 | 1999-03-30 | Sandisk Corporation | Concurrent write of multiple chunks of data into multiple subarrays of flash EEPROM |
US6424486B2 (en) * | 1997-12-17 | 2002-07-23 | Texas Instruments Incorporated | Method and apparatus for positioning a read/write head of a hard disk drive |
US6286056B1 (en) * | 1998-06-26 | 2001-09-04 | Seagate Technology Llc | Data storage device with small computer system interface providing persistent reservations |
US6408357B1 (en) | 1999-01-15 | 2002-06-18 | Western Digital Technologies, Inc. | Disk drive having a cache portion for storing write data segments of a predetermined length |
US6370614B1 (en) | 1999-01-26 | 2002-04-09 | Motive Power, Inc. | I/O cache with user configurable preload |
US20010047473A1 (en) * | 2000-02-03 | 2001-11-29 | Realtime Data, Llc | Systems and methods for computer initialization |
JP4523150B2 (ja) | 2000-12-27 | 2010-08-11 | レノボ シンガポール プライヴェート リミテッド | データサーバシステム、コンピュータ装置、記憶媒体 |
US6763424B2 (en) | 2001-01-19 | 2004-07-13 | Sandisk Corporation | Partial block data programming and reading operations in a non-volatile memory |
US6631456B2 (en) | 2001-03-06 | 2003-10-07 | Lance Leighnor | Hypercache RAM based disk emulation and method |
GB0123412D0 (en) | 2001-09-28 | 2001-11-21 | Memquest Ltd | Memory system sectors |
US7024614B1 (en) * | 2002-12-24 | 2006-04-04 | Western Digital Technologies, Inc. | Disk drive employing a configuration data structure comprising a plurality of configuration parameters to facilitate disk commands |
US20050125603A1 (en) * | 2003-12-04 | 2005-06-09 | Ehrlich Richard M. | Method for rapid availability of critical data through re-allocation |
US20050125600A1 (en) * | 2003-12-04 | 2005-06-09 | Ehrlich Richard M. | Method for storing HDD critical data in flash |
US20050125602A1 (en) * | 2003-12-04 | 2005-06-09 | Ehrlich Richard M. | HDD with storage of critical data in FLASH |
-
2004
- 2004-02-04 US US10/772,789 patent/US7127549B2/en active Active
-
2005
- 2005-01-05 EP EP10171208A patent/EP2241966A3/en not_active Ceased
- 2005-01-05 WO PCT/US2005/000275 patent/WO2005081097A2/en active Application Filing
- 2005-01-05 KR KR1020067016395A patent/KR101200670B1/ko not_active IP Right Cessation
- 2005-01-05 JP JP2006552117A patent/JP4777263B2/ja not_active Expired - Fee Related
- 2005-01-05 EP EP05711276A patent/EP1716477A2/en not_active Ceased
- 2005-01-05 CN CNB2005800081633A patent/CN100570546C/zh active Active
- 2005-01-21 TW TW094101858A patent/TWI360050B/zh not_active IP Right Cessation
-
2006
- 2006-09-29 US US11/541,013 patent/US7310699B2/en not_active Expired - Lifetime
-
2011
- 2011-05-16 JP JP2011109493A patent/JP2011192298A/ja active Pending
-
2013
- 2013-07-31 JP JP2013159593A patent/JP2013218741A/ja active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US408357A (en) * | 1889-08-06 | William ruttan | ||
JPH08195022A (ja) * | 1994-11-14 | 1996-07-30 | Sega Enterp Ltd | ディスク再生装置、カラオケシステム及びディスク再生方法 |
US5708846A (en) * | 1995-02-24 | 1998-01-13 | Intel Corporation | System for retrieving initial data sequence corresponding to next data sequence while locating next data sequence when branch point is reached during current data sequence |
US5754888A (en) * | 1996-01-18 | 1998-05-19 | The Board Of Governors For Higher Education, State Of Rhode Island And Providence Plantations | System for destaging data during idle time by transferring to destage buffer, marking segment blank , reodering data in buffer, and transferring to beginning of segment |
JP2000285590A (ja) * | 1999-03-26 | 2000-10-13 | Sony Corp | ディスク装置 |
JP2001189912A (ja) * | 1999-10-21 | 2001-07-10 | Sanyo Electric Co Ltd | デジタルtv放送記録再生装置 |
JP2002133835A (ja) * | 2000-10-27 | 2002-05-10 | Sharp Corp | 記録装置 |
JP2003123381A (ja) * | 2001-10-11 | 2003-04-25 | Sony Computer Entertainment Inc | ディスク再生装置及び方法、メモリ制御プログラム、メモリ制御プログラムを記録した記録媒体 |
JP2003125358A (ja) * | 2001-10-18 | 2003-04-25 | Sony Corp | 情報処理装置、情報処理装置の制御方法、情報処理装置の制御プログラム及び情報処理装置の制御プログラムを記録した記録媒体 |
US6646948B1 (en) * | 2002-08-29 | 2003-11-11 | Motorola, Inc. | Data storage system utilizing a non-volatile IC based memory for reduction of data retrieval time |
Also Published As
Publication number | Publication date |
---|---|
CN1934529A (zh) | 2007-03-21 |
US7310699B2 (en) | 2007-12-18 |
TW200604796A (en) | 2006-02-01 |
EP1716477A2 (en) | 2006-11-02 |
KR20070001136A (ko) | 2007-01-03 |
JP2011192298A (ja) | 2011-09-29 |
US7127549B2 (en) | 2006-10-24 |
KR101200670B1 (ko) | 2012-11-12 |
CN101685382A (zh) | 2010-03-31 |
EP2241966A3 (en) | 2010-11-17 |
US20070028040A1 (en) | 2007-02-01 |
JP2007522560A (ja) | 2007-08-09 |
US20050172067A1 (en) | 2005-08-04 |
EP2241966A2 (en) | 2010-10-20 |
TWI360050B (en) | 2012-03-11 |
JP2013218741A (ja) | 2013-10-24 |
WO2005081097A2 (en) | 2005-09-01 |
CN100570546C (zh) | 2009-12-16 |
WO2005081097A3 (en) | 2005-11-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4777263B2 (ja) | マスストレージアクセラレータ | |
US10126959B2 (en) | Systems and methods for a mass data storage system having a file-based interface to a host and a non-file-based interface to secondary storage | |
US8208322B2 (en) | Non-volatile memory control | |
JP5129484B2 (ja) | デュアルメディアストレージデバイス | |
KR100610647B1 (ko) | 직접실행제어 기능과 스토리지 기능이 복합된 대용량저장장치 | |
US20130212320A1 (en) | Non-volatile memory controller processing new request before completing current operation, system including same, and method | |
KR20070060301A (ko) | 불휘발성 메모리를 쓰기 캐시로 구비한 하드 디스크드라이버 | |
US20240070067A1 (en) | Storage device including nonvolatile memory device and operating method of storage device | |
CN101685382B (zh) | 使用第一及第二存储装置的磁盘加速 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071217 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20071217 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20100830 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100907 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20101130 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20110118 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110516 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110520 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20110610 |
|
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: 20110621 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110629 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 4777263 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140708 Year of fee payment: 3 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140708 Year of fee payment: 3 |
|
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 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
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 |
|
LAPS | Cancellation because of no payment of annual fees |