JP2014501997A - 記憶位置属性及びデータ利用統計に基づくデータ記憶のための記憶位置の選択 - Google Patents
記憶位置属性及びデータ利用統計に基づくデータ記憶のための記憶位置の選択 Download PDFInfo
- Publication number
- JP2014501997A JP2014501997A JP2013548482A JP2013548482A JP2014501997A JP 2014501997 A JP2014501997 A JP 2014501997A JP 2013548482 A JP2013548482 A JP 2013548482A JP 2013548482 A JP2013548482 A JP 2013548482A JP 2014501997 A JP2014501997 A JP 2014501997A
- Authority
- JP
- Japan
- Prior art keywords
- physical storage
- storage location
- data
- logical block
- stored
- 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.)
- Pending
Links
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
- 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
-
- 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/0614—Improving the reliability of storage systems
- G06F3/0616—Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
-
- 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/0638—Organizing or formatting or addressing of data
- G06F3/0643—Management of files
-
- 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/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- 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/0653—Monitoring storage devices or systems
-
- 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/0673—Single storage device
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Debugging And Monitoring (AREA)
Abstract
【課題】データを記憶するための物理的記憶位置を選択する方法を提供すること。
【解決手段】本発明による方法は,物理的記憶位置の属性とデータの利用統計とを対照することによって,データを記憶する物理的記憶位置を選択するステップを伴う。
【選択図】図2
【解決手段】本発明による方法は,物理的記憶位置の属性とデータの利用統計とを対照することによって,データを記憶する物理的記憶位置を選択するステップを伴う。
【選択図】図2
Description
本発明は,物理的記憶位置を選択することに関する。より詳細に言えば,本発明は,記憶位置属性及びデータ利用統計に基づいて,データ記憶のための物理的記憶位置を選択することに関する。
データは,物理的記憶媒体内の物理的記憶位置に物理的に記憶される。物理的記憶媒体の例には,磁気ディスク,光ディスク,磁気光ディスク,半導体ドライブ(SSD),等が含まれる。物理的記憶媒体はまた,2又はそれ以上の異なる種類の物理的記憶媒体の組合せであるハイブリッドを含む。例えば,物理的記憶媒体は,SSD及び回転プラッタドライブの組合せで実現してもよい。
物理的記憶媒体に物理的に記憶されたデータは,オペレーティングシステム(OS)によって維持されるディスクファイル内に整理される。ディスクファイルは複数の論理ブロックに区分され,各論理ブロックは物理的記憶媒体内の物理的記憶位置に対応付け又は指定される。特定の論理ブロック内に整理されたデータは,特定の論理ブロックに指定された物理的記憶位置で読み書きすることによって利用できる。ここでは,特定の論理ブロック内に整理されたデータは,特定の論理ブロック上に論理的に記憶されたデータを指してもよい。
本項目で説明する方法は,遂行できる方法であるが,必ずしも以前に想起され又は遂行された方法である必要はない。したがって,この項目で説明する方法はどれも,単にこの項目に含められたことを理由に先行技術と認定されると推定することは望ましくない。
添付の図面に本発明の例が示されているが,それは本発明を制限するものではない。各図において,類似の参照符号は類似の要素を指す。
以降の説明においては,説明のために,本発明を完全に理解できるように多くの特定の詳細が述べられる。しかし,本発明はこれら特定の詳細によらず実施してもよいことは明白である。別の例では,本発明を不必要に不明瞭にしないように,周知の構造及び装置はブロック図で示される。
後で説明するいくつかの特徴は,それぞれを互いに独立に使用してもよいし,残りの特徴との任意の組合せで使用してもよい。しかし,どの個別の特徴が,上述のどの課題も解決できる訳ではなく,上述の課題のうち一つを解決できるに過ぎないこともある。上述の課題のうちいくつかは,ここで説明する特徴のどれによっても十分に解決できないかも知れない。表題が示されているが,特定の表題に関係するが当該表題を掲げた項目に見当たらない情報は,本明細書の別の場所にあるかも知れない。
概要
データ配置(positioning)の方法が提供される。1又は複数の実施例において,この方法は,ファイルシステムの論理ブロックに論理的に記憶されたデータを記憶するために,物理的記憶位置を選択するステップを伴う。物理的記憶位置の選択は,(a)データの利用統計及び(b)記憶位置属性に基づく。
データ配置(positioning)の方法が提供される。1又は複数の実施例において,この方法は,ファイルシステムの論理ブロックに論理的に記憶されたデータを記憶するために,物理的記憶位置を選択するステップを伴う。物理的記憶位置の選択は,(a)データの利用統計及び(b)記憶位置属性に基づく。
一実施例においては,頻繁に利用されるデータは,アクセス速度が速く,故障までの寿命が長く,及び/又は関連データを記憶する物理的記憶位置に記憶される。
本方法のステップを実行する際に,ここでは特定の構成要素を列挙しているが,別の実施例においては,当該特定の構成要素の代わりに機能するエージェント又は機構が本方法のステップを実行してもよい。さらに,単一のシステム上の構成要素に関して実施例を説明しているが,この実施例は複数のシステムに分散する構成要素で実現してもよい。さらに,特定の記憶装置又は特定の種類の物理的記憶に関して実施例を説明しているが,実施例は任意の物理的記憶装置又は物理的記憶種別(例えば,回転ディスクドライブ,半導体ドライブ(SSD),ネットワーク接続記憶装置(NAS),記憶域ネットワーク(SAN),ハイブリッドドライブ,等)に適用可能である。
実施例はまた,ここで説明する方法ステップを実行する手段を有する任意のシステム又は装置も含む。実施例はまた,プロセッサによって実行したとき,ここで説明する方法を実行させる命令を含む計算機可読媒体も含む。
システム構成
ここでは特定のシステム構成を説明するが,ほかの実施例は,データ配置に用いることができる任意の構成に適用できる。図1は,1又は複数の実施例による,データ配置のための例示システム100を示す。図1に示すように,システム100は,データ配置エンジン108と,記憶装置ドライバ112と,1又は複数のデータリポジトリ114とを含む。システム100はまた,別のハードウェア及び/又はソフトウェアを含んでもよく,これらは図示されていないが,1又は複数の実施例の実現に用いてもよい。例えば,ディスクファイルを維持するOSは,データ配置エンジン108又は記憶装置ドライバ112と通信で接続されていてもよい。これら構成要素はそれぞれ,同一の装置に配置されていてもよいし,有線区間及び/又は無線区間を有するネットワーク(例えば,インターネット,イントラネット,エクストラネット,構内網(LAN),広域網(WAN),等)によって結合された別個の装置又は別の手段で結合された別個の装置に配置されてもよい。一つの実施例においては,システム100は別様に構成してもよい。例えば,データ配置エンジン108は,記憶装置ドライバ112とデータリポジトリ114との間に論理的に配置されてもよい。別の例では,データ配置エンジン108を記憶装置ドライバ112の構成要素として実現してもよい。
ここでは特定のシステム構成を説明するが,ほかの実施例は,データ配置に用いることができる任意の構成に適用できる。図1は,1又は複数の実施例による,データ配置のための例示システム100を示す。図1に示すように,システム100は,データ配置エンジン108と,記憶装置ドライバ112と,1又は複数のデータリポジトリ114とを含む。システム100はまた,別のハードウェア及び/又はソフトウェアを含んでもよく,これらは図示されていないが,1又は複数の実施例の実現に用いてもよい。例えば,ディスクファイルを維持するOSは,データ配置エンジン108又は記憶装置ドライバ112と通信で接続されていてもよい。これら構成要素はそれぞれ,同一の装置に配置されていてもよいし,有線区間及び/又は無線区間を有するネットワーク(例えば,インターネット,イントラネット,エクストラネット,構内網(LAN),広域網(WAN),等)によって結合された別個の装置又は別の手段で結合された別個の装置に配置されてもよい。一つの実施例においては,システム100は別様に構成してもよい。例えば,データ配置エンジン108は,記憶装置ドライバ112とデータリポジトリ114との間に論理的に配置されてもよい。別の例では,データ配置エンジン108を記憶装置ドライバ112の構成要素として実現してもよい。
1又は複数の実施例において,システム100はクライアントサーバ形態を用いて実現される。さらに,システムは,1又は複数のインタフェースを用いてほかの機械から利用することができる。1又は複数の実施例において,システムは,インターネットのようなネットワーク接続を介して,1又は複数の利用者が利用可能であってもよい。システムが提供する情報及び/又はサービスはまた,ネットワーク接続を介して記憶し,利用してもよい。
データリポジトリ
データリポジトリ114は一般に,データ104を記憶できる物理的記憶位置を含む1又は複数の記憶装置を備えた物理的記憶媒体を表す。データリポジトリ114の部分は,システム100に直接接続されていてもよいし,ネットワーク116又は別の適切なインタフェースを介して接続されていてもよい。データリポジトリ114は,当業において既知の任意の種類の記憶装置を含んでもよい。例えば,データリポジトリ114は,キャッシュ,RAM,2次記憶装置,従来の回転プラッタドライブ,SSD,従来の回転プラッタドライブとSSDとのハイブリッド組合せ,SAN又はNASのような別の記憶システムを含んでもよい。
データリポジトリ114は一般に,データ104を記憶できる物理的記憶位置を含む1又は複数の記憶装置を備えた物理的記憶媒体を表す。データリポジトリ114の部分は,システム100に直接接続されていてもよいし,ネットワーク116又は別の適切なインタフェースを介して接続されていてもよい。データリポジトリ114は,当業において既知の任意の種類の記憶装置を含んでもよい。例えば,データリポジトリ114は,キャッシュ,RAM,2次記憶装置,従来の回転プラッタドライブ,SSD,従来の回転プラッタドライブとSSDとのハイブリッド組合せ,SAN又はNASのような別の記憶システムを含んでもよい。
一つの実施例においては,データリポジトリ114内の各記憶装置は,別種類の記憶位置を含んでもよい。例えば,データリポジトリ114内のSSDは,単一レベルセル(SLC),多レベルセル(MLC)又はその組合せのような種々のセルを含んでもよい。このように,システム100が利用可能なデータリポジトリ114内の物理記憶位置は,単一の記憶装置又は種々の記憶装置にわたる,若しくは単一記憶装置内の種々の構成を有する複数の記憶装置にあってもよい。
物理的記憶位置属性
一つの実施例において,データリポジトリ114内の物理的記憶位置及び/又はデータ記憶装置は物理的記憶位置属性110が異なってもよい。物理的記憶位置属性の例には,連続書込み速度,連続読出し速度,ランダム書込み速度,ランダム読出し速度,寿命,1秒当たり入出力操作回数(IOPS),等が含まれる。物理的記憶位置又はデータ記憶装置の寿命は,一般に,物理的記憶位置又はデータ記憶装置の故障までの推定寿命を表す。例えば,物理的記憶位置又はデータ記憶装置の寿命は,故障までに実行できる推定書込み回数(以降,「故障前書込み数」と呼ぶ),又は故障までに実行できる推定読出し回数(以降,「故障前読出し数」と呼ぶ)に依存してもよい。故障前書込み数及び/又は故障前読出し数は,例えば類似の装置の使用に基づく統計に基づいて推定してもよい。推定の故障前書込み数及び/又は推定の故障前読出し数は,製造メーカ又はほかの情報源から受領してもよい。推定の故障前書込み数及び/又は推定の故障前読出し数は,正確な情報を含むことがある。例えば,物理的記憶位置,物理的記憶位置の領域又は装置は,特定の読出し及び/又は書込み回数後に故障するようにプログラムしてもよい。この推定値は,特定の回数であってもよいし,仮想的に無制限であってもよい。例えば,記憶装置は,故障なしの,仮想的に無制限の読出し回数を見込んでもよい。物理的記憶位置の寿命は,推定の故障前書込み数及び推定の故障前読出し数の組合せに基づいて計算された値であってもよい。
一つの実施例において,データリポジトリ114内の物理的記憶位置及び/又はデータ記憶装置は物理的記憶位置属性110が異なってもよい。物理的記憶位置属性の例には,連続書込み速度,連続読出し速度,ランダム書込み速度,ランダム読出し速度,寿命,1秒当たり入出力操作回数(IOPS),等が含まれる。物理的記憶位置又はデータ記憶装置の寿命は,一般に,物理的記憶位置又はデータ記憶装置の故障までの推定寿命を表す。例えば,物理的記憶位置又はデータ記憶装置の寿命は,故障までに実行できる推定書込み回数(以降,「故障前書込み数」と呼ぶ),又は故障までに実行できる推定読出し回数(以降,「故障前読出し数」と呼ぶ)に依存してもよい。故障前書込み数及び/又は故障前読出し数は,例えば類似の装置の使用に基づく統計に基づいて推定してもよい。推定の故障前書込み数及び/又は推定の故障前読出し数は,製造メーカ又はほかの情報源から受領してもよい。推定の故障前書込み数及び/又は推定の故障前読出し数は,正確な情報を含むことがある。例えば,物理的記憶位置,物理的記憶位置の領域又は装置は,特定の読出し及び/又は書込み回数後に故障するようにプログラムしてもよい。この推定値は,特定の回数であってもよいし,仮想的に無制限であってもよい。例えば,記憶装置は,故障なしの,仮想的に無制限の読出し回数を見込んでもよい。物理的記憶位置の寿命は,推定の故障前書込み数及び推定の故障前読出し数の組合せに基づいて計算された値であってもよい。
一つの実施例においては,物理的記憶位置又はデータ記憶装置の推定寿命は,物理的記憶位置又はデータ記憶装置の利用時間の長さであってもよい。物理的記憶位置又はデータ記憶装置の寿命は,任意の要因(例えば,製造メーカ,年代,運用環境,等)に基づいて異なることがある。さらに,物理的記憶位置属性110は,特定の物理的記憶位置又は特定の記憶装置の使用履歴を含んでもよい。物理的記憶位置の実際の利用は,一般に,物理的記憶位置が利用された回数(例えば,物理的記憶位置が書き込まれ,又は読み出された回数),データ記憶装置が使用された時間,等を表す。
一つの実施例において,物理的記憶位置の物理的記憶位置属性は,当該物理的記憶位置に既に記憶されているデータを含んでもよい。例えば,2次記憶装置(例えば,回転プラッタドライブ)からRAMにロードされた,特定の物理メモリブロック内に記憶されたデータは,関係する論理ブロック内に論理的に記憶されたデータを含んでもよい。一つの実施例において,データの物理的記憶位置を選択する選択手続は,当該物理的記憶位置に既に記憶されているほかのデータを考慮に入れてもよい。
一つの実施例において,関係するデータを同一の物理的記憶位置(例えば,同一の物理メモリブロック内又は同一の物理メモリブロックの集合内)に記憶することが,性能を改善することがある。例えば,単一の物理メモリブロック内の関係するデータを読み出すことは,2次記憶装置から単一の物理メモリブロックをRAMにロードすることを伴うことがある。複数の物理メモリブロック内の関係するデータを読み出すことは,2次記憶装置から複数の物理メモリブロックをRAMにロードすることを伴うことがある。
論理ブロック
一つの実施例において,論理ブロックはデータ104の整理に用いられるディスクファイル内の区画である。論理ブロックは,任意の量のデータを含むことができる。一つの実施例において,論理ブロックは,個別に参照し,2次記憶装置からロードできるページである。
一つの実施例において,論理ブロックはデータ104の整理に用いられるディスクファイル内の区画である。論理ブロックは,任意の量のデータを含むことができる。一つの実施例において,論理ブロックは,個別に参照し,2次記憶装置からロードできるページである。
一つの実施例において,特定の論理ブロック内に整理されたデータは,ここでは,当該特定の論理ブロックに論理的に記憶されたデータを指してもよい。ここで指す論理ブロックの利用は,当該論理ブロック内に論理的に記憶された任意のデータの利用を含む。論理ブロック内に論理的に記憶されたデータは,当該論理ブロックに指定された物理的記憶位置に物理的に記憶される。
一つの実施例においては,OSは,データ104を論理的に記憶する論理ブロックを参照して,データリポジトリ114内に記憶されたデータ104を利用することができる。データファイルから物理的記憶媒体への対応付けに基づいて,論理ブロックに指定された物理的記憶位置を特定することができる。例えば,テーブルが論理ブロックの物理的記憶位置のアドレスを示してもよい。別の例では,当該論理ブロックに対応付けされた物理的メモリ位置のアドレスを取得するために,論理ブロックのアドレスにオフセットを加えてもよい。物理的メモリ位置のアドレスが決定されると,物理的メモリ位置からデータを読出し,書き込むことができる。
利用統計
一つの実施例においては,論理ブロックに利用統計102が関係付けられる。特定の論理ブロックに関係付けられた利用統計102は,当該特定論理ブロック内に論理的に記憶された任意のデータに関係する統計を含む。
一つの実施例においては,論理ブロックに利用統計102が関係付けられる。特定の論理ブロックに関係付けられた利用統計102は,当該特定論理ブロック内に論理的に記憶された任意のデータに関係する統計を含む。
一つの実施例においては,特定論理ブロックの利用統計は当該特定論理ブロックの利用頻度を含む。例えば,利用統計は,特定論理ブロックと関係付けられた書込み頻度を含んでもよい。特定論理ブロックと関係付けられた書込み頻度は,当該特定論理ブロック内に論理的に記憶された任意のデータへのすべての書込みを勘定することによって計算してもよい。特定論理ブロックと関係付けられた書込み頻度は,当該特定論理ブロック内に論理的に記憶された任意のデータへの時間当たりの書込み回数を平均することによって計算してもよい。特定論理ブロックと関係付けられた書込み頻度は,当該特定論理ブロック内に論理的に記憶された任意のデータへの,書き込み総数に対する書込み数に基づいて計算してもよい。
読出し頻度もまた,類似の計算技法例を用いて計算することができる。一つの実施例においては,利用頻度は,書込み頻度及び読出し頻度の組合せに基づいてもよい。
一つの実施例においては,特定論理ブロックの利用統計は,当該特定論理ブロック内に論理的に記憶された任意のデータの利用タイミングを含む。例えば,当該特定論理ブロック内に論理的に記憶された任意のデータの利用は,ある事象(例えば,システム起動,システムシャットダウン,システム一時停止,システムハイバネート,システム再開)の前であってもよいし,後であってもよいし,毎日,毎週,データ生成の直後,等であってもよい。
データ配置エンジン
一つの実施例においては,システム内のデータ配置エンジン108は概略,データを記憶するための物理的記憶位置を選択する論理を含むソフトウェア及び/又はハードウェアを表す。
一つの実施例においては,システム内のデータ配置エンジン108は概略,データを記憶するための物理的記憶位置を選択する論理を含むソフトウェア及び/又はハードウェアを表す。
一つの実施例においては,ここで指すところの物理的記憶位置の選択は,物理的記憶位置タイプ又は物理的記憶位置属性の選択を含んでもよい。選択された物理的記憶位置は,物理的記憶位置タイプの任意の物理的記憶位置,又は物理的記憶位置属性を有する任意の物理的記憶位置を含む。例えば,物理的記憶位置の選択は,SSD及び回転プラッタドライブを含むハイブリッドドライブのSSD部の選択を含んでもよい。別の例は,回転プラッタドライブの複数の領域から,回転プラッタドライブの特定領域を選択することを伴う。別の例は,最小書込み速度の選択及び少なくとも最小書込み速度を有する任意の物理的記憶位置(例えば,領域又は装置)の選択を伴う。
一つの実施例においては,ここで指すところの物理的記憶位置の選択は,特定の論理ブロックに論理的に記憶されたデータを記憶するための物理的記憶位置の物理アドレスの選択を含む。
一つの実施例においては,データ配置エンジン108は1又は複数のサーバ上で動作する応用プログラムであってよく,いくつかの実施例においては,対等(peer−to−peer)応用プログラムであってもよいし,単一計算システム(例えば,パソコン,携帯型装置,キオスク,車載計算機又は記憶装置を含む任意のほかのシステム)上の常駐プログラム(resident)であってもよい。
一つの実施例においては,データ配置エンジン108はシステム100内の記憶装置ドライバ112の構成要素として実現してもよい。一つの実施例においては,データ配置エンジン108は,システム100内のOS(図示していない)と記憶装置ドライバ112との間に実現してもよい。一つの実施例においては,データ配置エンジン108は,システム100内の記憶装置ドライバ112とデータリポジトリ114との間に配置してもよい。
一つの実施例においては,データ配置エンジン108は,記憶装置ドライバ112によって行われる物理的記憶位置の選択を上書きしてもよい。例えば,データ配置エンジン108は,特定の論理ブロック内に論理的に記憶されたデータを記憶するために,記憶装置ドライバから物理的記憶位置を受信してもよい。データ配置エンジン108は,1又は複数の実施例によれば代替物理的記憶位置を選択し,代替物理的記憶位置にデータを記憶してもよい。
一つの実施例においては,データ配置エンジン108は,特定の論理ブロックに論理的に記憶されたデータを記憶するために,連続する物理的記憶位置の集合を特定してもよい。データ配置エンジン108は,物理的記憶位置の開始アドレス及び/又は物理的記憶位置の終了アドレスを特定することによって,物理的記憶位置の集合を特定してもよい。
一つの実施例においては,データ配置エンジン108は,データ104を記憶するためにデータリポジトリ114内の物理的記憶位置を特定してもよい(例えば,1より多い記憶装置が利用できるとき)。データ配置エンジン108はまた,データ104を記憶するために,データリポジトリ内の領域又は特定の記憶位置アドレスを選択するように構成してもよい。
記憶装置ドライバ
一つの実施例においては,記憶装置ドライバ112はデータ配置エンジン108から直接又は間接に受信した命令集合に基づいて,データリポジトリ114からデータ104を取得して記憶する。
一つの実施例においては,記憶装置ドライバ112はデータ配置エンジン108から直接又は間接に受信した命令集合に基づいて,データリポジトリ114からデータ104を取得して記憶する。
一つの実施例においては,記憶装置ドライバ112はデータ配置エンジン108によって特定された物理的記憶位置タイプ又は物理的記憶位置属性を受信する。そして記憶装置ドライバ112はデータ配置エンジン,データ104を記憶するために物理的記憶位置タイプ又は物理的記憶位置属性と一致する物理的記憶位置のアドレスを選択する。
一つの実施例においては,データ配置エンジン108は,データ104を提供し,物理記憶媒体にデータを記憶するための物理的記憶位置を指定してもよい。記憶装置ドライバ112が受信した物理的記憶位置は,記憶装置,記憶装置の領域,論理的記憶位置アドレス,又は物理的記憶位置アドレスを含んでもよい。一つの実施例においては,記憶装置ドライバ112は,指定された領域又は指定された装置内の利用可能な物理的記憶位置に基づいて,物理的記憶位置アドレスを決定してもよい。
一つの実施例においては,データ記憶装置ドライバ112は,データと,物理的記憶位置を特定する情報とを,データ配置エンジン108によってデータを記憶するために,データ配置エンジン108に送信する。
論理ブロック及び記憶位置属性と関係する利用統計に基づく記憶位置の選択
図2は,1又は複数の実施例によるデータ配置のフローチャートを示す。1又は複数の実施例において,以降説明するステップのうち1又は複数は,省略し,反復し,及び/又は異なる順序で実行してもよい。したがって,図2に示す特定のステップの配置は,本発明の範囲を制限するものと解釈することは望ましくない。
図2は,1又は複数の実施例によるデータ配置のフローチャートを示す。1又は複数の実施例において,以降説明するステップのうち1又は複数は,省略し,反復し,及び/又は異なる順序で実行してもよい。したがって,図2に示す特定のステップの配置は,本発明の範囲を制限するものと解釈することは望ましくない。
一つの実施例においては,特定の論理ブロックに論理的に記憶されたデータの利用が,当該特定の論理ブロックの利用統計を測定するために監視される(ステップ202)。特定の論理ブロックに論理的に記憶されたデータの利用は,1又は複数の種々のシステムレベルで監視してもよい。例えば,データの利用は,応用レベル,OSレベル,記憶装置ドライバレベル又はハードウェアレベルで監視してもよい。
一つの実施例においては,ファイル要求をOSレベルで監視してもよい。例えば,OSが受信したファイル要求ごとに,ディスクファイルの対応する論理ブロックが特定される。利用の種類,利用時刻及び論理ブロックを示す情報を記録してもよい。
一つの実施例においては,データの利用を記憶装置ドライバレベルで監視してもよい。例えば,論理ブロックに基づいて物理的記憶位置アドレスを(例えば,ポインタ,対応付け,計算,等によって)決定する要求を監視してもよい。要求内の論理ブロックを記録してもよい。
一つの実施例においては,データの利用をハードウェアレベルで監視してもよい。例えば,読出し又は書込みについて,物理メモリ位置を監視してもよい。時刻データがそれぞれ物理記憶アドレスから読み出され,又は物理記憶アドレスに書き込まれ,物理記憶アドレスが指定されている対応の論理ブロックを判定し,記録してもよい。
論理ブロックに論理的に記憶されているデータの利用は,ほかのレベル(例えば,OSレベルと記憶装置ドライバとの間のレベル,又は記憶装置ドライバと物理メモリとの間のレベル)で監視してもよい。
一つの実施例においては,任意の記録された情報を利用統計(例えば,利用頻度,利用種別,利用時刻,等)として収集してもよい。利用統計は,記録された情報内で特定されるパターンを含んでもよい。例えば,パターンは,特定の論理ブロックに論理的に記憶されたデータが毎日午前9時に読み出されることを示してもよい。
一つの実施例においては,データの利用時刻は事象(例えば,システムシャットダウン,システム起動,システムハイバネート,システム一時停止,システム再開,等)と関係してもよい。例えば,利用統計は,システム起動の際に特定の論理ブロック内に論理的に記憶されたデータを読み出すパターン,及びシステムシャットダウンの際に特定の論理ブロック内に論理的に記憶されたデータを書き込むパターンを含んでもよい。パターンは,事象の前,事象の後又は事象の最中のデータ利用に関係してもよい。例えば,事象は特定のシステム状態を含んでもよい。システムが特定のシステム状態にある時間に,ある論理ブロックに論理的に記憶されたデータを連続的に読み出してもよい。
一つの実施例においては,利用可能な物理的記憶位置に関する物理的記憶位置属性と関係する情報が取得される(ステップ204),物理的記憶位置属性と関係する情報は,記憶装置の製造メーカ(又はほかのエンティティ)が提供してもよい。例えば,物理的記憶位置属性は,記憶措置と共に売られるSSD上で提供してもよい。記憶装置の物理的記憶位置属性はまた,記憶装置を利用するシステムが記憶装置から物理的記憶位置属性を読むことができるように,記憶装置自体に記憶されていてもよい。
一つの実施例においては,記憶装置内の種々の物理的記憶位置の属性を決定するために,記憶装置について試験を行ってもよい。例えば,従来の回転プラッタドライブの別個の領域に一連の読出し及び/又は書込みを実行して,当該回転プラッタドライブ内の別個の領域の読出し及び/又は書込み速度を測定してもよい。別の例は,SSD内の単一レベルセル,又は同一SSD内の複数レベルのセルの読出し及び書込み速度の試験を伴う。この試験は単一レベルのセルの方が速いことを示すことがある。別の例は物理的記憶位置又は記憶装置全体に明確に関係する寿命を決定するために,物理的記憶位置又は物理的記憶位置の集合が故障までに利用される回数を追跡することを伴ってもよい。
一つの実施例においては,物理的記憶位置が,(a)特定の論理ブロックの利用統計と,(b)物理的記憶位置の属性とに基づいて,特定の論理ブロック内に論理的に記憶されたデータを記憶するために選択される(ステップ206)。
一つの実施例においては,高読出し速度及び/又は高書込み速度を有する物理的記憶位置が,高利用頻度と関係する論理ブロックに論理的に記憶されたデータを記憶するために選択される。さらに,低読出し速度及び/又は低書込み速度を有する物理的記憶位置が,低利用頻度と関係する論理ブロックに論理的に記憶されたデータを記憶するために選択される。
一つの実施例においては,長寿命の物理的記憶位置が,高利用頻度と関係する論理ブロックに論理的に記憶されたデータを記憶するために選択される。さらに,短寿命の物理的記憶位置が,低利用頻度と関係する論理ブロックに論理的に記憶されたデータを記憶するために選択される。
一つの実施例においては,論理ブロックに論理的に記憶されたデータは,当該データが,当該データを記憶してから特定の時間窓内で読み出されることが予測されると判定されたとき,高速記憶位置に記憶してもよい。物理的記憶位置は,データが記憶された時刻又は事象に基づいて,論理ブロックに論理的に記憶されたデータを記憶するために選択してもよい。例えば,利用統計が,特定の論理ブロックに論理的に記憶されたデータが毎日午前9時に読み出され,当該データは午前7時から午前9時の間に記憶されることを示すとき,当該データは高読出し速度を有する物理的記憶位置に記憶してもよい。
一つの実施例においては,特定の論理ブロックに論理的に記憶されたデータを記憶するための物理的記憶位置を決定するために,種々の種類の利用統計(例えば,利用頻度,利用種別,利用時刻,等)及び/又は種々の種別の記憶位置属性(例えば,速度,寿命,等)を組み合わせて評価してもよい。例えば,特定の論理ブロックに論理的に記憶された特定のデータは,頻繁に読み出されるが,頻繁には書き込まれないことがある。高読出し速度及び高推定故障前読出し回数を有する物理的記憶位置を,特定のデータを記憶するために選択してもよい。たとえこの物理的記憶位置が低書込み速度又は低推定故障前書込み回数を有していても,この物理的記憶位置を選択してもよい。
一つの実施例においては,物理的記憶位置の選択は,すべての利用可能な記憶位置の比較に基づく。例えば,利用可能な記憶位置のうち,最高速又は最長寿命の記憶位置の上位四分位を,最頻利用データの上位四分位と対照する。
別の例は,従来のプラッタドライブとSSDとの同時使用を伴う。従来のプラッタドライブは一般に,非常に長い寿命又は推定寿命を有する傾向にある。しかし,従来のプラッタドライブは低速の傾向がある。これに比べてSSDは一般に短寿命であるが,従来のプラッタドライブよりも高速な読出し/書込みを提供する。例として,バックグラウンドプロセスは,特定の論理ブロックに論理的に記憶されたデータ集合(例えばログファイル)に継続的に書込みを行うことがあるが,データを読み出すことはめったにない。この場合,書込みを要求しているのは低優先度のバックグラウンドプロセスであることから,特定の論理ブロックに論理的に記憶されたデータの書き込み速度は重要ではないと判断してもよい。たとえ書込みが頻繁に要求されても,読出しはめったに要求されないことから,この判断をしてもよい。従来のプラッタドライブは無故障書込み回数が非常に多く,書込み速度は重要でないため,低書込み速度を有する従来のプラッタドライブが適当なことがある。SSDは継続的書込みで故障する可能性が高く,SSDの高書込み速度は不必要であるため,この例では,SSDは適切ではないことがある。
データを記憶する適切な物理的記憶位置が選択されると,データが選択された物理的記憶位置に記憶される(ステップ208)。物理的記憶位置へデータを記憶するステップは,特定の記憶位置属性(例えば,最短寿命)に一致する任意の物理的記憶位置にデータを記憶するように記憶装置ドライバに指示するステップを伴ってもよい。
一つの実施例においては,物理的記憶位置にデータを記憶するステップは,特定のメモリ領域内の任意の物理的記憶位置にデータを記憶するように記憶装置ドライバに指示するステップを伴ってもよい。例えば,特定の記憶装置又は記憶装置内の特定の領域を選択してもよい。そして記憶装置ドライバはデータを記憶するために物理的記憶位置の特定のアドレスを選択してもよい。
一つの実施例においては,物理的記憶位置にデータを記憶するステップは,物理的記憶位置の特定のアドレスにデータを記憶させるように記憶装置ドライバに指示するステップを伴ってもよい。
データ記憶の複製
一つの実施例においては,データの複製を複数の物理的記憶位置(例えば,複数の異なる装置及び/又は単一の装置の複数の領域)に記憶してもよい。例えば,ディスクファイルの論理ブロックに論理的に記憶されたデータを,回転プラッタドライブ及びSSDに同時に記憶してもよい。
一つの実施例においては,データの複製を複数の物理的記憶位置(例えば,複数の異なる装置及び/又は単一の装置の複数の領域)に記憶してもよい。例えば,ディスクファイルの論理ブロックに論理的に記憶されたデータを,回転プラッタドライブ及びSSDに同時に記憶してもよい。
一つの実施例においては,データは,回転プラッタドライブのような第1データ源に要求してもよい。要求に応答して,要求されたデータもまたSSDに記憶されていることが判定される。データは回転プラッタドライブの代わりにSSDから読み出してもよい。1又は複数の要因によって,要求されたデータ源の代わりに新規データ源を選択してもよい。例えば,SSDからのデータ読出しは回転プラッタドライブからのデータ読出しより高速なことがある。連続的な読出し要求を伴うほかの例では,回転プラッタドライブの長寿命性のため,要求されたSSDの代わりに回転プラッタドライブをデータ源として選択してもよい。
一つの実施例においては,システムの現在の利用率に基づいて,特定の物理的記憶位置を選択してもよい。例えば,現在の利用率又は現在の入出力要求キューを判定するために,要求されたデータを記憶する複数の記憶装置を評価してもよい。最低の現在利用率又は最大の現在可用性を有する記憶装置を,データを取得するためのデータ源として選択してもよい。例えば,データを有する記憶装置の一つは近々の計算機ジョブのために既に予定されており,一方ほかの記憶装置は利用可能なことがある。
一つの実施例によれば,ここで説明した技法は1又は複数の特定用途計算装置によって実現される。特定用途計算装置は,この技法を実行するために布線されていてもよいし,1又は複数の特定用途集積回路(ASIC)のようなデジタル電子装置若しくは本技法を実行するように永続的にプログラムされているフィールドプログラム可能ゲートアレイを含んでもよいし,又はファームウェア,メモリ,ほかの記憶装置若しくはその組合せに記憶されたプログラム命令に従って本技法を実行するようにプログラムされた1又は複数のはん用ハードウェアプロセッサを含んでもよい。このような特定用途計算装置はまた,専用布線論理,ASIC又は本技法を遂行するための専用プログラムを有するFPGAを組合せてもよい。特定用途計算装置は,デスクトップ計算機システム,可搬型計算機システム,携帯型装置,ネットワーク装置又は本技法を実現するための布線論理及び/又はプログラム論理を組み込んだ任意のほかの装置であってよい。
例えば,図3は,本発明の実施例が実現される計算機システム300を示すブロック図である。計算機システム300は,バス302又は情報を伝送するほかの通信機構と,情報を処理するためのバス302と接続されたハードウェアプロセッサ304とを含む。ハードウェアプロセッサ304は,例えば,はん用マイクロプロセッサであってよい。
計算機システム300はまた,情報及びプロセッサ304で実行する命令を記憶するための,バス302と接続されたRAM又はほかの動的記憶装置のような主メモリ306も含む。主メモリ306はまた,プロセッサ304で実行する命令の実行中に一時変数又はほかの中間情報を記憶するためにも用いてよい。このような命令は,プロセッサ304を利用できる非一時的記憶媒体に記憶されたとき,計算機システム300を,命令によって指定された操作を実行するようにカスタマイズされた特定用途機械にする。
計算機システム300は,静的情報及びプロセッサ304用の命令を記憶する,ROM308又はバス302に接続されたほかの静止記憶装置を更に含む。磁気ディスク又は光ディスクのような記憶装置310は,情報及び命令を記憶するために提供され,バス302に接続される。
計算機システム300は,計算機利用者に情報を表示するための,CRTのような表示装置3121にバス302を介して接続されていてもよい。英数字キー又はほかのキーを含む入力装置314は,情報及びコマンド選択をプロセッサ304に伝送するために,バス302に接続されている。ほかの種類の利用者入力装置は,方向情報及びコマンド選択をプロセッサ304に伝送し,表示装置312上のカーソルの動きを制御するための,マウス,トラックボール又はカーソル方向キーのようなカーソル制御316である。この入力装置は,平面内の位置を指定できるように,通常2軸,すなわち第1軸(例えば,x)及び第2軸(例えば,y)に自由度2を有する。
計算機システム300は,専用の布線論理,1又は複数のASIC若しくはFPGA,ファームウェア及び/又は計算機システムと組み合わせて計算機システム300を特定用途機械にする,又はプログラムするプログラム論理を用いてここで説明した技法を実現することができる。一つの実施例によれば,ここで説明した技法は,主メモリ306に含まれる1又は複数の命令の1又は複数のシーケンスを実行するプロセッサ304に応答して,計算機システム300によって実行される。このような命令は,記憶装置310のようなほかの記憶媒体から主メモリ306に読み込まれてもよい。主メモリ306に含まれる一連の命令を実行することによって,プロセッサ304にここで説明したステップを実行させる。代替実施例においては,ソフトウェア命令の代わりに,又はソフトウェア命令と組み合わせて,布線回路を用いてもよい。
ここで用いた「記憶媒体」という用語は,機械が特定の方法で動作するようにするデータ及び/又は命令を記憶する任意の非一時的媒体を指す。このような記憶媒体は,不揮発性媒体及び/又は揮発性媒体を含んでもよい。不揮発性媒体は,例えば,記憶装置310のような光ディスク又は磁気ディスクを含む。揮発性媒体は,主メモリ306のようなダイナミックメモリを含む。記憶媒体のよくある形態は,例えば,フロッピー(登録商標)ディスク,フレキシブルディスク,ハードディスク,SSD,磁気テープ若しくは任意のほかの磁気データ記憶媒体,CD−ROM,任意のほかの光データ記憶媒体,穴パターンを有する任意の物理媒体,RAM,PROM,EPROM,フラッシュEPROM,NVRAM,任意のほかのメモリチップ又はカートリッジ,を含む。
記憶媒体は,伝送媒体とは区別されるが,一緒に用いてもよい。伝送媒体は,記憶媒体間の情報転送に用いられる。例えば,伝送媒体は,同軸ケーブル,銅線及び光ファイバを含み,バス302を成す電線も含む。伝送媒体はまた,無線波及び赤外データ通信の際に発生されるような音波又は光波の形態を取ってもよい。
1又は複数の命令の1又は複数のシーケンスを,実行するためにプロセッサ304へ搬送する際に,種々の形態の媒体が関与してもよい。例えば,最初は,命令は遠隔計算機の磁気ディスク又はSSDに担持される。遠隔計算機は命令をダイナミックメモリにロードし,モデムを用いて電話線を介して命令を送信する。計算機システム300のモデムは電話線上のデータを受信し,赤外線送信器を用いてデータを赤外線信号に変換することができる。赤外線検知器は赤外線信号で搬送されるデータを受信することができ,そして適切な回路がバス302にデータを置くことができる。バス302はデータを主メモリ306へ搬送し,プロセッサ304は主メモリからデータを取得して命令を実行する。主メモリ306が受信した命令は任意選択で,プロセッサ304による実行の前又は後のいずれかに,記憶装置310に記憶してもよい。
計算機システム300はまた,バス302に接続された通信インタフェース318も含む。通信インタフェース318は局所網322に接続されたネットワークリンク302に双方向データ通信接続を提供する。例えば,通信インタフェース320は,統合サービスデジタル網(ISDN)カード,ケーブルモデム,衛星モデム,又は対応する種類の電話線にデータ通信接続を提供するモデムであってよい。別の例として,通信インタフェース318は,両立性のある構内網(LAN)にデータ通信接続を提供するLANカードであってよい。無線リンクもまた実現できる。このような任意の実現形態において,通信インタフェース318は種々の情報を表すデジタルデータストリームを搬送する電気信号,電磁気信号又は光信号を送受信する。
ネットワークリンク320は通常1又は複数のネットワークを介してほかのデータ装置にデータ通信を提供する。例えば,ネットワークリンク320は局所網322を介してホスト計算機324又はインターネットサービスプロバイダ(ISP)326が運用するデータ装置にコネクションを提供してもよい。ISP326は次いで,今日よく「インターネット」328と呼ばれる世界規模のパケットデータ通信網を介して,データ通信サービスを提供する。局所網322及びインターネット328は双方とも,デジタルデータストリームを搬送する電気信号,電磁気信号又は光信号を用いる。種々のネットワークを介した信号と,ネットワークリンク320上の信号及び通信インタフェース318を介した信号とは,計算機システム300との間でデジタルデータを搬送する伝送媒体の例示形態である。
計算機システム300は,ネットワーク,ネットワークリンク320及び通信インタフェース318を介してメッセージを送信し,プログラムコードを含むデータを受信することができる。インターネットの例では,サーバ330は,インターネット328,ISP326,局所網322及び通信インタフェース318を介して,応用プログラム用に要求されたコードを送信してもよい。
受信したコードは,プロセッサ304によって受信したとき実行してもよいし,及び/又は後で実行するために記憶装置310若しくはほかの不揮発性記憶装置に記憶してもよい。
本明細書においては,本発明の実施例を多くの特定の詳細について説明したが,それらは実現形態ごとに異なってもよい。したがって,本明細書及び図面は制限的な意味ではなく例示としてみなすことが望ましい。本発明の範囲の唯一かつ排他的な指標と,本発明の範囲として出願人が意図するところとは,任意の後の補正を含む本願の請求項に由来する特定の形態において,本願の一組の請求項に由来する文字通りの範囲及び均等な範囲である。
Claims (16)
- 計算機で実現される方法であって,
ファイルシステム内の論理ブロックと関係する利用統計を測定するステップと,
前記論理ブロックに指定するために,複数の物理的記憶位置のうち,第1の物理的記憶位置を選択するステップであって,(a)前記第一の物理的記憶位置と関係する少なくとも一つの属性と,(b)前記論理ブロックに関係する前記利用統計とに基づいて選択するステップと,
前記論理ブロックが前記第1の物理的記憶位置に指定されるようにするステップと,
を有する方法。 - 前記論理ブロックに論理的に記憶されたデータを読み出す要求を受信するステップであって,該データは前記第1の物理的記憶位置と,第2の物理的記憶位置とに記憶される,ステップと,
前記第1の物理的記憶位置に関係する特定の属性に少なくとも基づいて,前記第1の物理的記憶位置から前記データを読み出すステップと,
を更に有する請求項1に記載の方法。 - 第2の物理的記憶位置に記憶されたデータを読み出す要求を受信するステップと,
前記データが前記第1の物理的記憶位置にも記憶されていることを判定するステップと,
前記第1の物理的記憶位置に関係する特定の属性に少なくとも基づいて,前記第1の物理的記憶位置から前記データを読み出すステップと,
を更に有する請求項1に記載の方法。 - 前記特定の属性は前記第1の物理的記憶位置の現在の利用率である,請求項3に記載の方法。
- 前記利用統計を測定するステップは,前記論理ブロックに論理的に記憶された任意のデータの利用を監視するステップを含む,請求項1に記載の方法。
- 前記利用統計を測定するステップは,監視の実行中に前記論理ブロックに指定された1又は複数の物理的記憶位置の利用を監視するステップを含む,請求項1に記載の方法。
- 前記利用統計を測定するステップは,前記論理ブロックを参照する,オペレーティングシステムからのデータ利用要求を監視するステップを含む,請求項1に記載の方法。
- 前記利用統計は,
前記論理ブロックに論理的に記憶された任意のデータと関係する読出し頻度と,
前記論理ブロックに論理的に記憶された任意のデータと関係する書込み頻度と,
前記論理ブロックに論理的に記憶された任意のデータと関係する利用タイミングと,
のうち1又は複数を含む,請求項1に記載の方法。 - 前記論理ブロックに論理的に記憶されたデータは,2次記憶装置から個別に要求できるメモリの最小単位である,請求項1に記載の方法。
- 前記第1の物理的記憶位置を選択するステップは,前記論理メモリブロックに論理的に記憶されたデータを記憶する連続した物理メモリ空間を選択するステップを含む,請求項1に記載の方法。
- 前記少なくとも一つの属性は,前記第1の物理的記憶位置の読出し速度及び前記第1の物理的記憶位置の書込み速度のうち1又は複数を含む,請求項1に記載の方法。
- 前記少なくとも一つの属性は,前記第1の物理的記憶位置の推定故障前書込み回数及び前記第1の物理的記憶位置の推定故障前読出し回数のうち1又は複数を含む,請求項1に記載の方法。
- 前記少なくとも一つの属性は,前記第1の物理的記憶位置が選択される前に,前記第1の物理的記憶位置に記憶されていたデータを含む,請求項1に記載の方法。
- 前記論理ブロックが前記第1の物理的記憶位置に指定されるようにするステップは,
複数の論理ブロックを前記複数の物理的記憶位置に対応付ける際に,前記論理ブロックを前記第1の物理的記憶位置に対応付けるステップを含む,請求項1に記載の方法。 - 1又は複数のプロセッサで実行したとき,請求項1〜14のいずれか一項に記載のステップを実行する命令を含む,非一時的計算機可読記憶媒体。
- 1又は複数のプロセッサを備え,
請求項1〜14のいずれか一項に記載のステップを実行するように構成された装置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/984,553 | 2011-01-04 | ||
US12/984,553 US9052826B2 (en) | 2006-07-28 | 2011-01-04 | Selecting storage locations for storing data based on storage location attributes and data usage statistics |
PCT/US2012/020198 WO2012094400A1 (en) | 2011-01-04 | 2012-01-04 | Selecting storage locations for storing data based on storage location attributes and data usage statistics |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2014501997A true JP2014501997A (ja) | 2014-01-23 |
Family
ID=45509744
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013548482A Pending JP2014501997A (ja) | 2011-01-04 | 2012-01-04 | 記憶位置属性及びデータ利用統計に基づくデータ記憶のための記憶位置の選択 |
Country Status (7)
Country | Link |
---|---|
US (1) | US9052826B2 (ja) |
EP (1) | EP2661707A1 (ja) |
JP (1) | JP2014501997A (ja) |
CN (1) | CN103430174A (ja) |
AU (1) | AU2012204481A1 (ja) |
TW (1) | TW201241650A (ja) |
WO (1) | WO2012094400A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017531337A (ja) * | 2014-07-10 | 2017-10-19 | アール・エイ・アイ・ストラテジック・ホールディングス・インコーポレイテッド | 読み出し要求に基づくデバイスの操作を制御するためのシステム及び関連する方法、装置、ならびにコンピュータプログラム製品 |
Families Citing this family (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9052826B2 (en) | 2006-07-28 | 2015-06-09 | Condusiv Technologies Corporation | Selecting storage locations for storing data based on storage location attributes and data usage statistics |
US20090132621A1 (en) * | 2006-07-28 | 2009-05-21 | Craig Jensen | Selecting storage location for file storage based on storage longevity and speed |
US7870128B2 (en) | 2006-07-28 | 2011-01-11 | Diskeeper Corporation | Assigning data for storage based on speed with which data may be retrieved |
WO2011092739A1 (ja) | 2010-01-28 | 2011-08-04 | 株式会社日立製作所 | 増設/減設する記憶容量を計算する管理システム |
US8954688B2 (en) * | 2010-10-06 | 2015-02-10 | International Business Machines Corporation | Handling storage pages in a database system |
US20120317337A1 (en) * | 2011-06-09 | 2012-12-13 | Microsoft Corporation | Managing data placement on flash-based storage by use |
JP2013061847A (ja) * | 2011-09-14 | 2013-04-04 | Sony Corp | 情報処理装置および情報処理方法 |
CN103677653B (zh) * | 2012-09-21 | 2017-07-25 | 联想(北京)有限公司 | 一种基于ssd的数据处理方法及电子设备 |
GB2506164A (en) * | 2012-09-24 | 2014-03-26 | Ibm | Increased database performance via migration of data to faster storage |
US10057726B2 (en) | 2012-10-02 | 2018-08-21 | Razer (Asia-Pacific) Pte. Ltd. | Managing user data on an electronic device |
US9106721B2 (en) * | 2012-10-02 | 2015-08-11 | Nextbit Systems | Application state synchronization across multiple devices |
US9569476B2 (en) * | 2013-04-02 | 2017-02-14 | International Business Machines Corporation | Intelligent data routing and storage provisioning |
JP6050768B2 (ja) * | 2014-01-31 | 2016-12-21 | 京セラドキュメントソリューションズ株式会社 | データ記憶装置及びデータ記憶方法 |
US10105593B2 (en) | 2014-04-08 | 2018-10-23 | Razer (Asia-Pacific) Pte. Ltd. | File prefetching for gaming applications accessed by electronic devices |
KR102289919B1 (ko) * | 2014-04-15 | 2021-08-12 | 삼성전자주식회사 | 스토리지 컨트롤러, 스토리지 장치, 스토리지 시스템 및 상기 스토리지 컨트롤러의 동작 방법 |
US9658964B2 (en) * | 2014-12-02 | 2017-05-23 | Seagate Technology Llc | Tiered data storage system |
US10154112B1 (en) * | 2015-02-11 | 2018-12-11 | EMC IP Holding Company LLC | Cloud-to-cloud data migration via cache |
CN105242977B (zh) * | 2015-10-20 | 2018-03-09 | 广东欧珀移动通信有限公司 | 一种智能终端的存储访问性能的测试方法及装置 |
CN108733307B (zh) * | 2017-04-17 | 2021-06-08 | 伊姆西Ip控股有限责任公司 | 存储管理方法、设备以及计算机可读介质 |
CN107450853A (zh) * | 2017-08-01 | 2017-12-08 | 郑州云海信息技术有限公司 | 一种数据文件读取方法及装置 |
TWI656442B (zh) | 2017-11-30 | 2019-04-11 | 慧榮科技股份有限公司 | 用來於一記憶裝置中進行存取控制之方法以及記憶裝置及其控制器 |
TWI698742B (zh) * | 2017-11-30 | 2020-07-11 | 慧榮科技股份有限公司 | 用來於一記憶裝置中進行存取控制之方法以及記憶裝置及其控制器 |
US10810054B1 (en) | 2019-07-29 | 2020-10-20 | Hitachi, Ltd. | Capacity balancing for data storage system |
WO2021135820A1 (en) * | 2019-12-30 | 2021-07-08 | Guangdong Oppo Mobile Telecommunications Corp., Ltd. | Method for storage management of media content on electronic device, electronic device, and non-transitory computer-readable storage medium |
US11422721B2 (en) | 2020-01-31 | 2022-08-23 | Dropbox, Inc. | Data storage scheme switching in a distributed data storage system |
US20210272035A1 (en) * | 2020-02-28 | 2021-09-02 | Uber Technologies, Inc. | Storage location selection according to query evaluation |
JP7334136B2 (ja) | 2020-06-15 | 2023-08-28 | 富士フイルム株式会社 | カートリッジ管理システム、カートリッジ管理システムの作動方法、及びプログラム |
Family Cites Families (93)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4467421A (en) * | 1979-10-18 | 1984-08-21 | Storage Technology Corporation | Virtual storage system and method |
US4607346A (en) * | 1983-03-28 | 1986-08-19 | International Business Machines Corporation | Apparatus and method for placing data on a partitioned direct access storage device |
US5018060A (en) | 1989-01-26 | 1991-05-21 | Ibm Corporation | Allocating data storage space of peripheral data storage devices using implied allocation based on user parameters |
US5398142B1 (en) * | 1989-05-31 | 1997-09-16 | Raxco Inc | Method for eliminating file fragmentation and reducing average seek times in a magnetic disk media environment |
JPH0415839A (ja) * | 1990-05-10 | 1992-01-21 | Toshiba Corp | 分散データベース管理装置 |
CA2105085A1 (en) * | 1991-03-05 | 1992-09-06 | Marvin Lautzenheiser | Cache memory system and method of operating the cache memory system |
US5594885A (en) * | 1991-03-05 | 1997-01-14 | Zitel Corporation | Method for operating a cache memory system using a recycled register for identifying a reuse status of a corresponding cache entry |
US5590300A (en) * | 1991-03-05 | 1996-12-31 | Zitel Corporation | Cache memory utilizing address translation table |
US5475545A (en) * | 1991-03-28 | 1995-12-12 | Seagate Technology, Inc. | Method for reducing noise during seeks in a hard disk drive |
US5491810A (en) * | 1994-03-01 | 1996-02-13 | International Business Machines Corporation | Method and system for automated data storage system space allocation utilizing prioritized data set parameters |
US5592622A (en) * | 1995-05-10 | 1997-01-07 | 3Com Corporation | Network intermediate system with message passing architecture |
JPH0944381A (ja) * | 1995-07-31 | 1997-02-14 | Toshiba Corp | データ格納方法およびデータ格納装置 |
WO1997011426A1 (en) * | 1995-09-18 | 1997-03-27 | Cyberstorage Systems, Inc. | Universal storage management system |
US5854941A (en) * | 1996-05-31 | 1998-12-29 | Acceleration Software International Corporation | System for estimating access time by deriving from first and second rotational time from rotational time table based on logical address and head movement time |
US5884022A (en) * | 1996-06-03 | 1999-03-16 | Sun Microsystems, Inc. | Method and apparatus for controlling server activation in a multi-threaded environment |
US6032224A (en) * | 1996-12-03 | 2000-02-29 | Emc Corporation | Hierarchical performance system for managing a plurality of storage units with different access speeds |
US6469343B1 (en) * | 1998-04-02 | 2002-10-22 | Nippon Steel Corporation | Multi-level type nonvolatile semiconductor memory device |
US6175899B1 (en) * | 1997-05-19 | 2001-01-16 | International Business Machines Corporation | Method for providing virtual atomicity in multi processor environment having access to multilevel caches |
JP3044005B2 (ja) * | 1997-05-29 | 2000-05-22 | 公一 柴山 | データ格納制御方式 |
US6023706A (en) | 1997-07-11 | 2000-02-08 | International Business Machines Corporation | Parallel file system and method for multiple node file access |
US6199150B1 (en) * | 1997-07-15 | 2001-03-06 | Matsushita Electric Industrial Co., Ltd. | Data memory apparatus forming memory map having areas with different access speeds |
JPH11224491A (ja) * | 1997-12-03 | 1999-08-17 | Sony Corp | 不揮発性半導体記憶装置およびそれを用いたicメモリカード |
US6301640B2 (en) * | 1998-07-02 | 2001-10-09 | Lucent Technologies, Inc. | System and method for modeling and optimizing I/O throughput of multiple disks on a bus |
US6192481B1 (en) * | 1998-08-18 | 2001-02-20 | International Business Machines Corporation | Structure and method for power sequencing of disk drives in a computer system |
US6897346B1 (en) * | 1999-06-10 | 2005-05-24 | Fina Technology, Inc. | Aromatic conversion process employing low surface area zeolite Y |
US6378042B1 (en) * | 1999-08-11 | 2002-04-23 | Fast-Chip, Inc. | Caching associative memory |
US6760723B2 (en) * | 2000-01-31 | 2004-07-06 | Commvault Systems Inc. | Storage management across multiple time zones |
US6542972B2 (en) * | 2000-01-31 | 2003-04-01 | Commvault Systems, Inc. | Logical view and access to physical storage in modular data and storage management system |
US6848019B1 (en) * | 2000-02-17 | 2005-01-25 | Seagate Technology Llc | Performance in a data storage device using head-to-head offsets in access command scheduling |
JP3607153B2 (ja) * | 2000-02-28 | 2005-01-05 | シャープ株式会社 | ファイル管理方法及び装置 |
JP2002073383A (ja) | 2000-08-31 | 2002-03-12 | Matsushita Electric Ind Co Ltd | 情報サービスの方法 |
US6535891B1 (en) * | 2000-09-26 | 2003-03-18 | Emc Corporation | Method and apparatus for indentifying accesses to a repository of logical objects stored on a storage system based upon information identifying accesses to physical storage locations |
US6772285B2 (en) * | 2000-11-30 | 2004-08-03 | Emc Corporation | System and method for identifying busy disk storage units |
US6801994B2 (en) * | 2000-12-20 | 2004-10-05 | Microsoft Corporation | Software management systems and methods for automotive computing devices |
US20020191311A1 (en) * | 2001-01-29 | 2002-12-19 | Ulrich Thomas R. | Dynamically scalable disk array |
US6715098B2 (en) * | 2001-02-23 | 2004-03-30 | Falconstor, Inc. | System and method for fibrechannel fail-over through port spoofing |
US6839836B2 (en) * | 2001-04-13 | 2005-01-04 | Hewlett-Packard Development Company, L.P. | Portable computing device with specialized operating system |
US7512964B2 (en) * | 2001-06-29 | 2009-03-31 | Cisco Technology | System and method for archiving multiple downloaded recordable media content |
US6760918B2 (en) * | 2001-06-29 | 2004-07-06 | Scientific-Atlanta, Inc. | Method and apparatus for recordable media content distribution |
JP4701550B2 (ja) * | 2001-07-06 | 2011-06-15 | ソニー株式会社 | 記録装置および方法、記録媒体、並びにプログラム |
US6965989B1 (en) * | 2001-08-14 | 2005-11-15 | Network Appliance, Inc. | System and method for fast reboot of a file server |
US7092977B2 (en) * | 2001-08-31 | 2006-08-15 | Arkivio, Inc. | Techniques for storing data based upon storage policies |
US7003116B2 (en) * | 2001-10-31 | 2006-02-21 | Hewlett-Packard Development Company, L.P. | System for encrypted file storage optimization via differentiated key lengths |
US7287047B2 (en) * | 2001-11-23 | 2007-10-23 | Commvault Systems, Inc. | Selective data replication system and method |
US6744967B2 (en) * | 2001-12-20 | 2004-06-01 | Scientific-Atlanta, Inc. | Program position user interface for personal video recording time shift buffer |
US6904496B2 (en) * | 2002-03-25 | 2005-06-07 | Dell Products L.P. | Computer system with improved write cache and method therefor |
US7330954B2 (en) | 2002-04-18 | 2008-02-12 | Intel Corporation | Storing information in one of at least two storage devices based on a storage parameter and an attribute of the storage devices |
US6785794B2 (en) * | 2002-05-17 | 2004-08-31 | International Business Machines Corporation | Differentiated storage resource provisioning |
EP1369773A2 (en) * | 2002-05-27 | 2003-12-10 | Hitachi, Ltd. | A storage system and storage subsystem |
US7017085B2 (en) * | 2002-05-30 | 2006-03-21 | Capital One Financial Corporation | Systems and methods for remote tracking of reboot status |
US6868424B2 (en) * | 2002-07-25 | 2005-03-15 | Xerox Corporation | Electronic filing system with file-placeholders |
US7370068B1 (en) * | 2002-09-04 | 2008-05-06 | Teradata Us, Inc. | Sorting of records with duplicate removal in a database system |
US7191304B1 (en) * | 2002-09-06 | 2007-03-13 | 3Pardata, Inc. | Efficient and reliable virtual volume mapping |
US7203713B2 (en) * | 2002-09-20 | 2007-04-10 | International Business Machines Corporation | Method and apparatus for optimizing extent size |
EP1588360B1 (en) | 2003-01-20 | 2018-09-05 | Dell Products, L.P. | System and method for distributed block level storage |
EP1632856A4 (en) | 2003-06-09 | 2007-02-28 | Fujitsu Ltd | STORAGE MANAGEMENT UNIT, STORAGE UNIT, FILE PROCESSING SYSTEM, FILE MANAGEMENT SYSTEM, AND METHODS AND PROGRAMS THEREOF |
JP4404246B2 (ja) * | 2003-09-12 | 2010-01-27 | 株式会社日立製作所 | データ特性に基づくバックアップシステム及び方法 |
US8788764B2 (en) * | 2003-10-08 | 2014-07-22 | Oracle International Corporation | Access controller for storage devices |
US7814554B1 (en) * | 2003-11-06 | 2010-10-12 | Gary Dean Ragner | Dynamic associative storage security for long-term memory storage devices |
US7669032B2 (en) * | 2003-11-26 | 2010-02-23 | Symantec Operating Corporation | Host-based virtualization optimizations in storage environments employing off-host storage virtualization |
US20050125456A1 (en) * | 2003-12-09 | 2005-06-09 | Junichi Hara | File migration method based on access history |
JP4445783B2 (ja) | 2003-12-09 | 2010-04-07 | 株式会社日立製作所 | ファイル管理装置、ファイル管理装置を用いた計算機システム |
US7836021B2 (en) * | 2004-01-15 | 2010-11-16 | Xerox Corporation | Method and system for managing image files in a hierarchical storage management system |
US7136973B2 (en) * | 2004-02-04 | 2006-11-14 | Sandisk Corporation | Dual media storage device |
US7383400B2 (en) * | 2004-04-22 | 2008-06-03 | Apple Inc. | Method and apparatus for evaluating and improving disk access time in a RAID system |
US20070083491A1 (en) * | 2004-05-27 | 2007-04-12 | Silverbrook Research Pty Ltd | Storage of key in non-volatile memory |
US7533230B2 (en) | 2004-10-13 | 2009-05-12 | Hewlett-Packard Developmetn Company, L.P. | Transparent migration of files among various types of storage volumes based on file access properties |
US7490197B2 (en) * | 2004-10-21 | 2009-02-10 | Microsoft Corporation | Using external memory devices to improve system performance |
US7212440B2 (en) * | 2004-12-30 | 2007-05-01 | Sandisk Corporation | On-chip data grouping and alignment |
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 |
US8824205B2 (en) * | 2005-04-11 | 2014-09-02 | Micron Technology, Inc. | Non-volatile electronic memory device with NAND structure being monolithically integrated on semiconductor |
JP2006338370A (ja) * | 2005-06-02 | 2006-12-14 | Toshiba Corp | メモリシステム |
US7681004B2 (en) * | 2005-06-13 | 2010-03-16 | Addmm, Llc | Advanced dynamic disk memory module |
US7571295B2 (en) * | 2005-08-04 | 2009-08-04 | Intel Corporation | Memory manager for heterogeneous memory control |
US7660834B2 (en) * | 2005-08-17 | 2010-02-09 | International Business Machines Corporation | Maintaining an aggregate including active files in a storage pool |
RU2312388C2 (ru) * | 2005-09-22 | 2007-12-10 | Андрей Игоревич Ефимов | Способ организации многопроцессорной эвм |
US8131689B2 (en) * | 2005-09-30 | 2012-03-06 | Panagiotis Tsirigotis | Accumulating access frequency and file attributes for supporting policy based storage management |
US7865673B2 (en) * | 2005-11-04 | 2011-01-04 | Oracle America, Inc. | Multiple replication levels with pooled devices |
US20070143567A1 (en) * | 2005-12-21 | 2007-06-21 | Gorobets Sergey A | Methods for data alignment in non-volatile memories with a directly mapped file storage system |
US20070156998A1 (en) * | 2005-12-21 | 2007-07-05 | Gorobets Sergey A | Methods for memory allocation in non-volatile memories with a directly mapped file storage system |
US8286159B2 (en) * | 2005-12-22 | 2012-10-09 | Alan Joshua Shapiro | Method and apparatus for gryphing a data storage medium |
US8756399B2 (en) * | 2006-01-25 | 2014-06-17 | Seagate Technology Llc | Mutable association of a set of logical block addresses to a band of physical storage blocks |
US7395394B2 (en) * | 2006-02-03 | 2008-07-01 | Hewlett-Packard Development Company, L.P. | Computer operating system with selective restriction of memory write operations |
US7496711B2 (en) * | 2006-07-13 | 2009-02-24 | International Business Machines Corporation | Multi-level memory architecture with data prioritization |
US9052826B2 (en) | 2006-07-28 | 2015-06-09 | Condusiv Technologies Corporation | Selecting storage locations for storing data based on storage location attributes and data usage statistics |
US7536504B2 (en) * | 2006-07-28 | 2009-05-19 | Diskeeper Corporation | Online storage medium transfer rate characteristics determination |
US20090132621A1 (en) * | 2006-07-28 | 2009-05-21 | Craig Jensen | Selecting storage location for file storage based on storage longevity and speed |
US7870128B2 (en) * | 2006-07-28 | 2011-01-11 | Diskeeper Corporation | Assigning data for storage based on speed with which data may be retrieved |
US7899987B2 (en) * | 2007-05-15 | 2011-03-01 | Sandisk Il Ltd. | File storage in a computer system with diverse storage media |
US20090157756A1 (en) * | 2007-12-15 | 2009-06-18 | Hitachi Global Storage Technologies Netherlands, B.V. | File System For Storing Files In Multiple Different Data Storage Media |
US7870363B2 (en) * | 2007-12-28 | 2011-01-11 | Intel Corporation | Methods and arrangements to remap non-volatile storage |
US8452927B2 (en) * | 2008-01-02 | 2013-05-28 | Sandisk Technologies Inc. | Distributed storage service systems and architecture |
US8375180B2 (en) * | 2010-02-05 | 2013-02-12 | International Business Machines Corporation | Storage application performance matching |
-
2011
- 2011-01-04 US US12/984,553 patent/US9052826B2/en active Active
-
2012
- 2012-01-03 TW TW101100183A patent/TW201241650A/zh unknown
- 2012-01-04 AU AU2012204481A patent/AU2012204481A1/en not_active Abandoned
- 2012-01-04 WO PCT/US2012/020198 patent/WO2012094400A1/en active Application Filing
- 2012-01-04 JP JP2013548482A patent/JP2014501997A/ja active Pending
- 2012-01-04 EP EP12700750.8A patent/EP2661707A1/en not_active Withdrawn
- 2012-01-04 CN CN2012800046061A patent/CN103430174A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017531337A (ja) * | 2014-07-10 | 2017-10-19 | アール・エイ・アイ・ストラテジック・ホールディングス・インコーポレイテッド | 読み出し要求に基づくデバイスの操作を制御するためのシステム及び関連する方法、装置、ならびにコンピュータプログラム製品 |
Also Published As
Publication number | Publication date |
---|---|
AU2012204481A8 (en) | 2013-08-15 |
US20110167230A1 (en) | 2011-07-07 |
WO2012094400A1 (en) | 2012-07-12 |
CN103430174A (zh) | 2013-12-04 |
AU2012204481A1 (en) | 2013-07-25 |
EP2661707A1 (en) | 2013-11-13 |
US9052826B2 (en) | 2015-06-09 |
TW201241650A (en) | 2012-10-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2014501997A (ja) | 記憶位置属性及びデータ利用統計に基づくデータ記憶のための記憶位置の選択 | |
US11422722B2 (en) | Intelligent wide port PHY usage | |
US9959057B2 (en) | Performance-based grouping of storage devices in a storage system | |
JP4576923B2 (ja) | ストレージシステムの記憶容量管理方法 | |
CN102568522B (zh) | 硬盘性能的测试方法和装置 | |
KR20100107470A (ko) | 저장 수명 및 속도에 기초하여 파일 저장을 위한 저장 위치 선택 | |
CN107076797B (zh) | 基于所执行的访问命令对半导体存储功耗的测试 | |
CN111026333A (zh) | 访问请求处理方法、处理装置、电子设备及存储介质 | |
US8775786B1 (en) | Boot caching for boot acceleration within data storage systems | |
US20200356454A1 (en) | Method and computer storage node of shared storage system for abnormal behavior detection/analysis | |
KR20140041408A (ko) | 저장 위치 속성 및 데이터 사용량 통계에 기초하여 데이터 저장을 위한 저장 위치 선택 | |
US9411695B2 (en) | Provisioning memory in a memory system for mirroring | |
EP2703993A2 (en) | Information processing apparatus, computer program, and copy control method | |
US9430007B2 (en) | Voltage regulator stress reducing system | |
US10585622B2 (en) | Data writing device and method | |
WO2014030249A1 (ja) | ボリュームのi/o性能の検証システム及び検証方法 | |
TWI841511B (zh) | 測試記憶體裝置的系統與方法及非暫態電腦可讀取記錄媒體 | |
Shvidkiy et al. | Approaches Analysis to Determining the Characteristics of the Load on the Disk Subsystem Created by User Applications | |
TW202414421A (zh) | 測試記憶體裝置的系統與方法及非暫態電腦可讀取記錄媒體 | |
JP2023044934A (ja) | ストレージ装置及びキャッシュ制御方法 | |
TWI477963B (zh) | 客戶端裝置的測試方法 | |
JP2012185771A (ja) | 情報処理装置、デフラグメンテーション方法、およびデフラグメンテーションプログラム |