Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP5530863B2 - ストレージシステムのためのi/o変換方法及び装置 - Google Patents
[go: Go Back, main page]

JP5530863B2 - ストレージシステムのためのi/o変換方法及び装置 - Google Patents

ストレージシステムのためのi/o変換方法及び装置 Download PDF

Info

Publication number
JP5530863B2
JP5530863B2 JP2010192821A JP2010192821A JP5530863B2 JP 5530863 B2 JP5530863 B2 JP 5530863B2 JP 2010192821 A JP2010192821 A JP 2010192821A JP 2010192821 A JP2010192821 A JP 2010192821A JP 5530863 B2 JP5530863 B2 JP 5530863B2
Authority
JP
Japan
Prior art keywords
file
page
volume
storage device
speed
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
Application number
JP2010192821A
Other languages
English (en)
Other versions
JP2011192259A (ja
Inventor
敬一 松澤
泰典 兼田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Publication of JP2011192259A publication Critical patent/JP2011192259A/ja
Application granted granted Critical
Publication of JP5530863B2 publication Critical patent/JP5530863B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0607Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/185Hierarchical storage management [HSM] systems, e.g. file migration or policies thereof
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • G06F3/0649Lifecycle management
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0685Hybrid 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)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

0001 本発明は一般にストレージシステム内のデータ位置を管理する方法と装置に関する。より具体的には、本システムのストレージ装置は、ページプールから論理ボリュームにページを割り当てるページ割当て機能を有し、本システムのファイルサーバは、ストレージシステム内のページ割当てを管理する機能を有し、ファイル毎の階層型ストレージ管理を可能にする。
0002 階層ストレージは異種のストレージ媒体にデータを割り当てる機能である。この機能はストレージシステムの性能を最大にし、コストを低減するために使用される。例えば、階層ストレージ能力を有するストレージシステムは、頻繁にアクセスされるデータを高速だが高価なストレージ媒体に割り当て、滅多にアクセスされないデータを低速だが安価なストレージ媒体に割り当てる。この構成は、データ全体が高速で高価な媒体に保存される構成に比べて安価となる。
0003 ストレージシステム内に階層ストレージ機能を実装するためにページマッピングテーブルが使用される。このテーブルは、固定サイズのデータ領域を意味するページとそれらの位置関係を表したものである。この方法では、ページサイズが小さい場合には、データ割当ての有効性とコスト低減が向上する。しかしながら、ページがより小さくなるとページマッピングテーブルのエントリが増大しストレージシステムのメモリがより多く必要になる。
0004 ファイルサーバがファイルデータを保存するのにストレージシステムを使用すると仮定するならば、各ファイルサイズは異なりまた可変で、必ずしもページバウンダリで配置できるわけではない。各ページはいくつかの小ファイルを保存でき、1個の巨大ファイルは複数のページに保存される。通常、同じページに保存された各小ファイルへのアクセス頻度は異なるので、階層ストレージ機能はそのような状態に対しては充分に機能せず有効性が損なわれる。
0005 本発明の典型的な実施例は、ストレージシステム内の各ストレージ媒体へのページとファイル割当てを制御する方法と装置を提供する。本発明はストレージシステム装置とファイルサーバが異種のストレージ媒体へのデータ割当てを制御するために使用される。具体的な実施例では、本発明技術はファイル毎のHSM(階層型ストレージ管理、Hierarchical Storage Management)とページベース(サブファイル)のTSM(階層ストレージ管理、Tiered Storage Management)の両者を可能にする。結果として、階層ストレージ機能の性能とコスト低減への有効性が増大する。
0006 ファイルサーバとストレージ装置はページマッピングテーブルを整えるために相互に交信する。ファイルサーバはボリュームのどの領域がどのストレージ媒体に割り当てられているかを知っており、その結果ファイルサーバは小ファイルを対応する領域に割り当てる。ファイルサーバがページサイズよりも大きいファイルを保存する時には、ファイルサーバは当該ファイルをボリュームのどこかに割り当て、これらの領域がストレージ装置の制御下にあるという情報をストレージ装置に提供し、ストレージ装置は自らストレージ媒体にページを割り当てることができる。
0007 本発明の一つの態様は、固定のページサイズを有し異なる階層に属する複数のページを含む混合ボリュームを有するストレージシステムにおいて、複数のファイルのデータ位置を管理する方法に向けられる。この方法は、ストレージシステム内の異なる階層のページを、少なくとも高い階層のページに対応する1台の高速ストレージデバイスと低い階層のページに対応する1台の低速ストレージデバイスを含む異なる速度のストレージデバイスに、マップするステップ、及びページサイズよりも大きい大ファイルの各ファイルに対して大ファイルに関するサブファイル階層管理を実行して、大ファイルの各部分のアクセス特性を混合ボリュームの割り当てられたページの対応階層に適合させることにより大ファイルの異なる部分のアクセス特性に従って大ファイルを異なる階層のページ間で割り当てるステップを含む。
0008 いくつかの実施例では、この方法は更に、ページサイズ以下の小ファイルの各ファイルに対して、小ファイルのアクセス特性に適合する対応階層に属する複数のページの1ページに小ファイルを割り当てるステップを含む。ストレージシステムは更に、少なくとも1個の高速ボリュームと少なくとも1個の低速ボリュームを含む複数の特定速度のボリュームを有し、この方法は更に、1台以上の高速ストレージデバイスに各高速ボリュームをマップし、1台以上の低速ストレージデバイスに各低速ボリュームをマップし、更に、ページサイズ以下の小ファイルの各ファイルに対して、小ファイルのアクセス特性を特定速度のボリュームの対応する速度に適合させることにより小ファイルを特定速度のボリュームに割り当てるステップを含む。複数の特定速度のボリュームは少なくとも1個の中速ボリュームを含み、この方法は更に、各中速ボリュームを1台以上の中速ストレージデバイスにマップするステップを含む。
0009 具体的な実施例では、複数のストレージデバイスは少なくとも1台の中速ストレージデバイスを含み、ストレージシステム内の異なる階層のページを異なる速度のストレージデバイスにマップするステップは、少なくとも一つのページを中速ストレージデバイスにマップするステップを含む。アクセス特性はアクセス頻度を含み、大ファイルの各部分のアクセス特性を混合ボリュームの割り当てられたページの対応階層に適合させるステップは、高アクセス頻度を対応する高速ストレージデバイスにマップされる高い階層のページに適合させ、低アクセス頻度を対応する低速ストレージデバイスにマップされる低い階層のページに適合させるステップを含む。この方法は更に、ファイルが小ファイルか大ファイルかを判定するステップを含んでもよい。
0010 本発明の別な態様は、固定のページサイズを有し異なる階層に属する複数のページを含む混合ボリュームを有するストレージシステム内の複数のファイルのデータ位置を管理するために、ストレージシステムに接続されたホストを含むシステムに向けられる。ストレージシステムは、少なくとも混合ボリューム内の高い階層のページに対応する1台の高速ストレージデバイスと混合ボリューム内の低い階層のページに対応する1台の低速ストレージデバイスを含む、異なる速度の複数のストレージデバイス、異なる階層の複数のページを含む混合ボリューム、及びプロセッサとメモリを有し、異なる階層のページをストレージシステム内の異なる速度のストレージデバイスにマップするために異なる階層のページをマップするように構成され、ページサイズよりも大きい大ファイルの各ファイルに対して大ファイルに関するサブファイル階層管理を実行して、大ファイルの各部分のアクセス特性を混合ボリュームの割り当てられたページの対応階層に適合させることにより大ファイルの異なる部分のアクセス特性に従って大ファイルを異なる階層のページ間で割り当てるように構成されるファイルサーバを含む。
0011 いくつかの実施例では、ファイルサーバは、ページサイズ以下の小ファイルの各ファイルに対して、小ファイルのアクセス特性に適合する対応階層に属する複数のページの1ページに小ファイルを割り当てる、ように構成される割当て管理モジュールを含む。ストレージシステムは更に、少なくとも1個の高速ボリュームと少なくとも1個の低速ボリュームを含む複数の特定速度のボリュームを有し、ファイルサーバは1台以上の高速ストレージデバイスに各高速ボリュームをマップし、1台以上の低速ストレージデバイスに各低速ボリュームをマップし、ページサイズ以下の小ファイルの各ファイルに対して、小ファイルのアクセス特性を特定速度のボリュームの対応する速度に適合させることにより小ファイルを特定速度のボリュームに割り当てる、ように構成されるファイルレベル階層型ストレージ管理モジュールを含む。複数の特定速度のボリュームは少なくとも1個の中速ボリュームを含み、ファイルレベル階層型ストレージ管理モジュールは、各中速ボリュームを1台以上の中速ストレージデバイスにマップするように構成される。ファイルサーバはファイルが小ファイルか大ファイルかを判定するように構成してもよい。
0012 本発明のもう一つの態様は、固定のページサイズを有し異なる階層に属する複数のページを含む混合ボリュームを有するストレージシステム内の複数のファイルのデータ位置を管理するデータプロセッサを制御するための複数の命令を保存するコンピュータ読み取り可能ストレージ媒体に向けられる。ストレージシステムは少なくとも、混合ボリューム内の高い階層のページに対応する1台の高速ストレージデバイスと混合ボリューム内の低い階層のページに対応する1台の低速ストレージデバイスを含む異なる速度の複数のストレージデバイスを有する。複数の命令は、データプロセッサに異なる階層のページをストレージシステム内の異なる速度のストレージデバイスにマップするために異なる階層のページをマップさせる命令、及びデータプロセッサにページサイズよりも大きい大ファイルの各ファイルに対して大ファイルに関するサブファイル階層管理を実行させ、大ファイルの各部分のアクセス特性を混合ボリュームの割り当てられたページの対応階層に適合させることにより大ファイルの異なる部分のアクセス特性に従って大ファイルを異なる階層のページ間で割り当てさせる命令を含む。
0013 本発明のこれら及びその他の特徴や利点は、以下の個別の実施例の詳細な説明により、この技術分野に於ける通常の知識を有する者(当業者)には明らかになるであろう。
0014 図1aは本発明の第1の実施例に従って、本発明の方法と装置が適用可能な情報システムのハードウェア構成の例を示す。 図1bは本発明の第1の実施例に従って、本発明の方法と装置が適用可能な情報システムのハードウェア構成の例を示す。 図1cは本発明の第1の実施例に従って、本発明の方法と装置が適用可能な情報システムのハードウェア構成の例を示す。 0015 図1dは情報システムのハードウェア構成の別の例を示す。 図1eは情報システムのハードウェア構成の別の例を示す。 0016 図1fは情報システムのハードウェア構成のもう一つの例を示す。 図1gは情報システムのハードウェア構成のもう一つの例を示す。 0017 図2(a)は異なったレベルのブロックサイズを示す。 0018 図2(b)及び図2(c)は「ページ」の概念を示す。 0019 図3はページマッピングテーブルの例を示す。 0020 図4はページマッピングテーブルが示すマッピング構造を示す。 0021 図5はファイルシステムに対するボリュームの一部の使用例を示す。 0022 図6は階層を意識したファイル割当てフローを表すフローダイアグラムの例を示す。 0023 図7は階層を意識したファイル割当て結果の一つの例を示す。 0024 図8aは本発明の第2の実施例に従って、本発明の方法と装置が適用可能な情報システムのハードウェア構成の例を示す。 図8bは本発明の第2の実施例に従って、本発明の方法と装置が適用可能な情報システムのハードウェア構成の例を示す。 0025 図8cは情報システムのハードウェア構成の別の例を示す。 図8dは情報システムのハードウェア構成の別の例を示す。 0026 図8fは情報システムのハードウェア構成のもう一つの例を示す。 図8fは情報システムのハードウェア構成のもう一つの例を示す。 0027 図9はファイルレベルHSMの例を示す。 0028 図10はページベースTSMを有するファイルレベルHSMの例を示す。 0029 図11はファイルレベルHSMプログラムのプロセスを表すフローダイアグラムの例を示す。 0030 図12はファイルレベルHSMプログラムのプロセス結果の一つの例を示す。
0031 本発明の以下の詳細な説明において、付随する図面が参照され、これら図面は開示の一部を構成し、図中では本発明が実施可能な典型的な実施例が、限定する目的ではなく説明の目的で示される。図中ではいくつかの表現を通して同じ数字は実質的に同じコンポーネントを表す。更に、詳細な説明では以下に記述され図中で示されるように種々の典型的な実施例が提供されるが、本発明はここで記述され表示された実施例に限定されるものではなく、当業者には既知であるか知るところになるであろう他の実施例に拡張可能であることは言うもでもない。明細書中の「一つの実施例」、「本実施例」、又は「これらの実施例」という言及は、その実施例に関連して記述される特定の特徴、構造、特性が本発明の少なくとも一つの実施例に含まれることを意味し、これらの語句が明細書中の種々の箇所で出現しても、必ずしもすべてが同じ実施例に言及しているわけでない。更に、以下の詳細な説明において、本発明を完全に理解できるように、数多くの具体的な詳細が用意されている。しかしながら、これら具体的な詳細は本発明を実施するのにすべてが必要なわけではないことは当業者には明白であろう。他の状況では、公知の構造、材料、回路、プロセス及びインタフェースは詳細には説明されておらず、及び/又は本発明を不必要に不明確にしない範囲でブロックダイアグラム形式で示される場合もある。
0032 更に、以下の詳細な説明のいくつかの部分はコンピュータ内の動作のアルゴリズムや記号表現の形で提供される。これらのアルゴリズム的記述や記号表現はデータ処理技術分野に於ける当業者が自らの革新技術の本質を、この技術分野に於ける他の当業者に最も効果的に伝えるために使用される手段である。アルゴリズムとは望ましい最終状態又は結果に導くための一連の定義されたステップである。本発明では、実行されるステップは実際の結果を達成するために実在の量の物理操作を必要とする。通常、必ずしも必然ではないが、これらの量は、保存され、転送され、結合され、比較され、及びその他の方法で操作可能な、電気又は磁気信号あるいは命令の形態をとる。主として慣用されていると言う理由で、これらの信号をビット、値、要素、シンボル、文字、項、数、命令、などと呼ぶのが、時には便利なことが分かっている。しかしながら、これらすべて及び類似の語句は適切な物理量に関連付けられるべきものであり、これらの量に適用される単なる便宜的な呼び方に過ぎないことを心に留めておく必要がある。特に個別に断りがない限り、以下の議論で明らかなように、説明を通じて、「処理する」、「計算する」、「見積る」、「判定する」、「表示する」、などの語句を使用した議論は、コンピュータシステムのレジスタやメモリ内の物理的(電子的)な量で表わされるデータを操作し、コンピュータシステムのメモリ又はレジスタあるいは他の情報ストレージ、転送又はディスプレイデバイス内の同様に物理的な量で表される他のデータへと変換する、コンピュータシステム又は他の情報処理デバイスの動作や処理を含むことができることを理解してもらいたい。
0033 本発明は更に、ここで述べた動作を実行するための装置にも関する。この装置は必要とされる目的のために専用に構築されたものであっても良いし、一つ以上のコンピュータプログラムにより選択的に起動され又は再構成された1台以上の汎用コンピュータを含んでいても良い。そのようなコンピュータプログラムは光ディスク、磁気ディスク、リード−オンリメモリ、ランダムアクセスメモリ、ソリッドステイトデバイス及びドライブ、又は任意のその他の種類の電子的な情報を保存するのに適した媒体などで、これらに限定されることなく、コンピュータ読み取り可能ストレージ媒体に保存することができる。ここで提供されるアルゴリズムや表示は本質的にいかなる特定のコンピュータや他の装置にも依存しない。種々の汎用システムがここでの教示に従うプログラムとモジュールにより使用可能であるが、あるいは望まれる方法ステップを実行するためにより専用の装置を構築するのが便利だと分かる場合もあるだろう。更に、本発明はいかなる特定のプログラミング言語も参照して記述していない。多様なプログラミング言語がここで記述された発明の教示を実装するために使用可能であることは言うまでもない。プログラミング言語の命令は一つ以上の処理デバイス、例えば中央処理装置(CPU)、プロセッサ、又はコントローラ、によって実行可能である。
0034 以下により詳細に記述する本発明の典型的な実施例は、ストレージシステムの各ストレージ媒体へのページとファイルの割当てを制御する装置、方法及びコンピュータプログラムを提供する。
0035 I.第1の実施例
0036 A.システム構成
0037 図1a、図1b、及び図1cは、本発明の第1の実施例に従って本発明の方法及び装置が適用可能な情報システムのハードウェア構成の例を示す。情報システム100は、ストレージシステム170、ストレージネットワーク162、ファイルネットワーク150、管理ネットワーク152、及び1台以上のホストコンピュータ130を含む。
0038 ストレージシステム170は、少なくとも1台のストレージ装置110と少なくとも1台のファイルサーバ120を含む。ストレージ装置110とファイルサーバ120は、管理情報に対しては管理ネットワーク152を介し、データI/O(入/出力)に対してはストレージネットワーク162を介して交信する。ホストコンピュータ130は、ファイルネットワーク150を介してファイルサーバ120にI/O要求を発行する。
0039 ストレージ装置110は、CPU(Central Processing Unit)111、メモリ112、内部ストレージインタフェース116、少なくとも1台のストレージ媒体117、ストレージインタフェース161、及びネットワークインタフェース151を含む。CPU111は、メモリ112内のプログラムが示す通りにストレージ装置110内のデバイスを制御する。メモリ112は、プログラム、テーブル、及びキャッシュを保存する。CPU111は、ディスクI/Oプログラム113を実行してストレージインタフェース161を介してファイルサーバ120から受信するI/O要求を処理する。ディスクI/O処理時、ディスクI/Oプログラム113を実行するCPU111は、ページマッピングテーブル200を参照することにより要求されたデータの位置を決定する。CPU111は、メモリ112の或る領域をディスクキャッシュ114として使用し、ストレージ媒体117にアクセスするための待ち時間を隠しI/O要求に迅速に応答するためにディスクキャッシュ114に或るデータを保存する。統計情報116は、I/O数、CPU負荷、などに関する情報を保存する。ページ管理プログラム115は、統計情報とネットワークインタフェース151を介してのファイルサーバ120からの要求を参照することによりページマッピングテーブル600のエントリを管理する。ストレージ装置110は、少なくとも1台のストレージ媒体117を有する。CPU111は、内部ストレージインタフェース118を経由してストレージ媒体117から/にデータを読み出し/書き込みすることができる。FC(Fibre Channel)、SATA(Serial Attached Technology Attachment)、SAS(Serial Attached SCSI)、IDE(Integrated Device Electronics)、又は他のインタフェースがストレージ媒体117にアクセスするのに使用される。ストレージ装置は、HDD(Hard Disk Drive)、SSD(Solid State Drive)、フラッシュメモリ、光ディスク、磁気テープ、などの多様な種類のストレージ媒体117を使用することができる。RAID(Redundant Array of Independent Disk)技術によるそれらのアレイもまたストレージ媒体117として使用できる。更に、ストレージ装置110はストレージ媒体117として別のストレージ装置を使用することもできる。
0040 ファイルサーバ120は、CPU121、メモリ122、及びネットワークインタフェース151を含む。CPU121は、メモリ122内のプログラムが示す通りにファイルサーバ120内のデバイスを制御する。メモリ122は、プログラム及びキャッシュを有する。CPU121は、ファイルシステムプログラム123を参照することにより、ファイルI/O要求を処理し、ストレージインタフェース160を介して接続されたストレージ装置110から/にデータを読み出し/書き込みする。CPU121は、ネットワークインタフェース161を介して外部コンピュータからファイルI/O要求を受信し、ネットワークファイル処理プログラム124を参照することによりファイルシステムプログラム123にI/O要求を転送する。CPU121は、メモリ112のいくつかの領域をバッファキャッシュ125として使用する。バッファキャッシュ125は、ストレージ装置110へのI/Oを減少させファイルI/Oを加速させるためにデータを保存する。
0041 ストレージインタフェース161を使用して、ファイルサーバ120及びストレージ装置110は、ストレージネットワーク162を介してデータI/Oのために交信する。ストレージインタフェース161及びストレージネットワーク162用に、FC(Fibre Channel)、iSCSI(Internet Small Computer System Interface)、FCoE(FC over Ethernet(登録商標))、などのいくつかの共通ストレージプロトコルが存在する。ホストコンピュータ130は、ネットワークインタフェース151を使用してファイルネットワーク150を介してファイルサーバ120にファイルI/Oを発行する。ネットワーク150を介したファイルI/Oインタフェース用に、NFS(Network File System)、CIFS(Common Internet File System)、及びAFP(Apple Filing Protocol)のいくつかの共通プロトコルが存在する。更に、各コンピュータは、種々の目的で他のコンピュータと交信することができる。ファイルサーバ120及びストレージ装置110は、ネットワークインタフェース151を使用して管理ネットワーク152を介して交信する。ファイルサーバ120は、ページ割当て情報を取得しストレージ装置110に領域情報を提供するために、このネットワーク152を使用する。ホストコンピュータ130は、ストレージシステム170のユーザである。ホストコンピュータ130は、ファイルネットワーク150を介してネットワークインタフェース151を使用してI/Oを発行する。
0042 図1d及び図1eは、情報システム101のハードウェア構成の別の例を示す。ストレージシステム171は、ファイルサーバ180を含む。このファイルサーバ180は、図1a乃至図1cのファイルサーバ120とストレージ装置110の両者の機能を有する。即ち、ファイルサーバ180のメモリ182は、ディスクI/Oプログラム113、ページ管理(又はマッピング)プログラム115、ページマッピングテーブル300、ファイルシステムプログラム123、割当て管理プログラム126、及びネットワークファイルアクセスプログラム124を保存する。更に、このファイルサーバ180は、自らの内部ストレージインタフェース118を有し、内部ストレージ装置117にデータを保存する。
0043 図1f及び図1gは、情報システムのハードウェア構成のもう一つの例を示す。情報システム102は、アプリケーションサーバ190とストレージ装置110を含む。アプリケーションサーバ190は、そのメモリ190内にファイルシステムプログラム123及び割当て管理プログラム126と共にユーザアプリケーションプログラム193を有する。
0044 第1の実施例は、図1a−図1cのストレージシステム170、図1d及び図1eのストレージシステム171、並びに、図1f及び図1gの情報システム102のすべてに適用可能である。
0045 B.セクタ
0046 図2(a)は、異なったレベルのブロックサイズを示す。「セクタ」210は最小サイズであり、ファイルサーバ120とストレージ装置110との間で共通のユニットである。例えば、SCSI(Small Computer System Interface)のセクタサイズは512バイトである。ファイルサーバ120からは、「ボリューム」200はセクタの配列のように見える。ファイルサーバ120はターゲットボリューム200、ボリューム200の開始セクタ、及び読み出し又は書き込みするセクタ210の数を指定してI/Oを発行する。
0047 C.ページベースの階層ストレージ
0048 「階層ストレージ」は、異種のストレージ媒体にデータを割り当てる機能である。この機能はストレージシステムの性能を最大にし、コストを低減するために使用される。例えば階層ストレージが可能なストレージシステムは頻繁にアクセスされるデータは高速だが高価なストレージ媒体に割り当て、滅多にアクセスされないデータは低速だが安価なストレージ媒体に割り当てる。この構成は全データを高速、高価な媒体に保存する構成よりも安価となる。
0049 ページベースの階層ストレージは階層ストレージを実現するための一つの実装である。図2(b)及び図2(c)は、「ページ」の概念を示す。ストレージ装置110に対して、ボリューム200は「ページ」220の配列を有する。ページ220はセクタを有し各ページは同じサイズである。ページベース階層ストレージは、ページ毎にセクタを種々のストレージ媒体117にマップすることで階層ストレージを可能にする。ページ管理プログラム115及びページマッピングテーブル300は、マッピングプロセスを実際に実行する。
0050 図3は、ページマッピングテーブル300の例を示す。ページマッピングテーブル300は、ファイルサーバ120からアクセスできるボリューム間の関係を記述する。ページマッピングテーブル300の各行370,371,372,373は、「チャンク」(連続するページの配列)の情報を示す。ボリュームID310はボリュームIDを格納する。ページオフセット320は、各エントリが意味するボリュームのオフセットを格納する。長さ330は、各エントリにおいて指定されるページの長さを示す。ディスクID340は、ページデータを割り当てるためにストレージ媒体117を指定する固有のIDを示す。ディスクオフセット350は、このページに対するストレージ媒体117のオフセットを示す。
0051 図4は、ページマッピングテーブル300が表示するマッピング構造を示す。「ボリューム1」310は、三つのチャンク311、312、313を有する。チャンク311は、「ディスク1」330のチャンク332にマップされ、チャンク312は、「ディスク3」350のチャンク351にマップされ、チャンク313は、「ディスク2」340のチャンク341にマップされている。各ボリュームの全チャンクがディスクにマップされる必要があるわけではない。例えば、チャンク322はどのディスクにもマップされていない。ファイルサーバ120がこのチャンク322にI/O要求を発行すると、ストレージ装置110はエラーコードを返送するか又はチャンクにディスクスペースを割り当てる。いずれの方法でもその構成によって適用可能である。更にディスクの同じチャンクに2チャンク以上のボリュームを割り当てることも許される。これらの特徴はまたシンプロビジョニングや重複排除(de-duplication)の実装を可能にする。
0052 ページ管理プログラム115は、アクセス頻度の変化、増設のストレージ媒体117のインストール、あるいは何かその他の事象が起きると、ページマッピングテーブル300を修正できる。例えば、ページ管理プログラム115は、統計情報116を参照して、頻繁にはアクセスされていないページを比較的低速(であるがより安価)なストレージ媒体117に移動させる。この階層ストレージでは、ページサイズが重要なパラメータである。ページサイズが小さくなると、各データは適切なストレージ媒体117に割り当てられ、従ってコスト低減の有効性が向上するが、ページマッピングテーブル300のエントリ数は大きくなり、ストレージ装置はずっと多くのメモリを必要とするようになる。
0053 D.階層を意識したファイル割当て
0054 ファイルシステムプログラム123は、ストレージ装置110のボリュームを管理しボリュームに多数のファイルを保存する。慣用技術では、ページマッピングプロセスはストレージ装置110の内部で行われており、従ってファイルシステムプログラム123は、ページマッピングを意識していない。
0055 図5は、ファイルシステムでのボリューム500の一部の使用例を示す。ボリューム500はページ501−508を有す。ファイルシステムプログラム123は、ボリューム500に多数のファイル511−518を保存する。ここで、ファイル「sf1」511、「sf3」513及び「sf5」516は、頻繁にアクセスされ高性能を必要とし、ファイル「sf4」515と「sf6」518は、時々アクセスされ中速ストレージ媒体を必要とし、ファイル「sf2」512は、滅多にアクセスされず、これらのファイルを低速(であるが安価な)ストレージ媒体117上に置くことが容認できる、と仮定しよう。ページ501は、1個の小ファイル「sf1」511のみを保存し、ページ501は、高速ストレージ装置117に割り当てられなければならない。ページ502は、ファイル「sf2」512を保存する。ページ502のデータは、滅多にアクセスされないので、ページ502は、低速(であるが安価な)ストレージ媒体117に割り当てることができる。ファイル「lf1」513は、1ページよりも大きくページ503とページ504の両者に跨って存在する。この場合は、ページベースの階層管理は、ページ503及びページ504のデータが同じ特性を有するので有効に動作する。
0056 しかしながら、ページベースの階層管理は或る状況では有効には動作しない。ページ505は二つの小ファイル「sf3」513と「sf4」514を保存し、これらのファイルは異なるアクセス頻度を有する。従って、これらのファイルのデータは異なるストレージ媒体117に割り当てられるべきであるが、ページベースの階層管理ではこのようなケースをうまく取り扱うことができない。ページ506は小ファイル「sf5」516と大ファイル「lf2」517の一部を保存する。ページ507はファイル517の残りと小ファイル「sf6」518を保存する。小ファイル516と518が頻繁にアクセスされるならば、これらのページ506と508は、高速ストレージ媒体117に割り当てられなければならない。従って、大ファイル「lf2」517が殆どアクセスされなくても、本ファイルは、高速ストレージ媒体117のボリュームを消費してしまう。
0057 この状況において、本発明は、階層を意識したファイル割当てを明らかにする。ファイルサーバ120内の割当て管理プログラム126は、管理ネットワーク152を介してストレージ装置110内のページベースの階層管理を処理する。割当て管理プログラム126は二つのプロセスを実行する。第1に、割当て管理プログラム126は、ストレージ装置115のページ管理プログラム115から割当て情報を取得する。第2に、割当て管理プログラム126は、ページ管理プログラム115に対してページ割当てを指定する。
0058 図6は、階層を意識したファイル割当てフロー600を表すフローダイアグラムの例を示す。割当て管理プログラム126は、ファイル生成やファイル書き込みのような事象発生時、あるいは定期的、その他のタイミングでこのフロー600を実行することができる。割当て管理プログラム126は、ターゲットファイルがページサイズより大きいか否かをチェックする(ステップ610)。ファイルがページサイズより小さい時は、割当て管理プログラム126は、ストレージ装置110のページ管理プログラム115からページ割当て情報を取得する(ステップ620)。次に割当て管理プログラム126は、ファイルに対して適切なページを割り当て、ページ上にファイルを移動するかファイルを生成する(ステップ630)。例えば割当て管理プログラム126は、頻繁にアクセスされるファイルを高速ストレージ媒体117に割り当てられたページに割り当てる。もし割当て管理プログラム126が適切なページ上にスペースを検出できたなら、割当て管理プログラム126はそのスペースを使用する。そうでない場合は、割当て管理プログラム126は、適切なストレージ媒体117にページを割り当てるようにページ管理プログラム115に要求する。
0059 ターゲットファイルがページサイズよりも大きい場合、最初に、割当て管理プログラム126は、ボリュームにファイルを割り当て、移動するかまたは生成する(ステップ640)。もし、ファイルがページバウンダリに配列されるならば、最終ページを除くこのファイルのページはターゲットの大ファイルのみで占有され、階層管理の有効性が向上する。次いで、割当て管理プログラム126は、ページ管理プログラム115に対して要求を発行する(ステップ650)。もし、割当て管理プログラム126がページ割当てについて十分な情報を有するならば、大ファイルの各ページの割当てを指定する要求を出すことができ、あるいはページ管理プログラム115ページ割当を依頼する。もし割当て管理プログラム126がページ割当てを依頼するならば、ページ管理プログラム115はページ割当てを適切に処理することができる。フロー600の後、割当て管理プログラム126は、適切なストレージボリューム117上の適切なページへの大小ファイルの双方の割当てを終了する。更に、このフロー600は、大ファイルの各ページを異なるストレージ媒体117に独立して割り当てることが可能なので、大ファイルに対するサブファイル階層管理を可能にする。
0060 図7は、階層を意識したファイル割当て結果の一例を示す。ページ501は一つのファイル「sf1」511しか保存しておらず、従って、割当て管理プログラム126は、フロー610によりファイル「sf3」514と「sf5」516をページ501のファイル714と716に移動する。というのはこれらのファイルはすべて高速ストレージ媒体117を必要とし、ページ501が実際に高速ストレージ媒体117に割り当てられているからである。同様にして、割当て管理プログラム126はファイル「sf6」518をページ505のファイル718に移動する。ファイル「sf3」514は、高速ストレージ媒体117を必要とするので、ページ505は高速ストレージ媒体117に割り当てられていなければならなかったが、今やファイル「sf3」714はページ501にあるので、ページ505を中速のストレージ媒体117に割り当てることができる。
0061 更に、割当て管理プログラム126は、フロー620により大ファイル「lf1」513及び「lf2」517をページバウンダリに配列するためにファイル713と717に移動する。その結果、ページ503は、ファイル「lf1」713によって完全に占有され、ページ506,507はファイル「lf2」717によって占有される。このように、割当て管理プログラム126は、これらのページ503、506、507の割当てをページ管理プログラム115に依頼する。このプロセスの結果、各小ファイルは適切なストレージ媒体117に割り当てられ、大ファイルに対するサブファイル(「ページ毎」を意味する)階層ストレージ管理が実行され、この結果、階層ストレージ管理の有効性が向上する。
0062 II.第2の実施例
0063 A.システム構成
0064 図8a及び図8bは、本発明の第2の実施例に従って、本発明の方法及び装置が適用可能な情報システム800のハードウェア構成の例を示す。図8aのストレージシステム870は、図1aのストレージシステム170とほぼ同じであるが、図8bのファイルサーバ820は、図1bのストレージシステム170のファイルサーバ120とは異っている。ファイルサーバ820は、ファイルサーバ120の割当て管理プログラム126に代って、そのメモリ822内にファイルレベルHSM(階層型ストレージ管理)プログラム826及びボリューム情報プログラム827を有する。
0065 図8c及び図8dは、情報システム801のハードウェア構成の別の例を示す。ストレージシステム871の図8dのファイルサーバ880もまた、図1eのファイルサーバ180の割当て管理プログラム126の代りにそのメモリ882内にファイルレベルHSMプログラム826を有する。
0066 図8e及び図8fは、情報システム802のハードウェア構成のもう一つの例を示す。情報システム802の図8fのアプリケーションサーバ890もまた、図1gのアプリケーションサーバ190の割当て管理プログラム126の代りに、そのメモリ892内にファイルレベルHSMプログラム826を有する。
0067 第2の実施例に関する以下の説明は、図8a及び図8bの情報システム800に基づくが、第2の実施例は他の2種の情報システム801,802に対しても適応可能である。
0068 B.ファイルレベルHSM
0069 ファイルレベルHSM(階層型ストレージ管理)は階層ストレージ管理を実現するための機能である。ストレージ装置によってボリュームレイヤ内で実行されるページベースの階層ストレージ管理とは反対に、ファイルレベルHSMはファイルサーバによってファイルシステムレイヤ内で実行される。ファイルレベルHSMを実行できるファイルサーバは異なるストレージ媒体117内に実際に保存されている多数のファイルの統合ファイルツリー表示を提供することができる。米国特許No.7,330,950はそのようなファイルレベルHSMの実装方法を開示している。
0070 図9は、ファイルレベルHSM900の例を示す。本例のファイルレベルHSM900は三個のボリューム911、921、及び931を含む。ファイルシステムツリー910は、高速ストレージ媒体912から構成される高速ボリューム911上に生成され、ファイルシステムツリー920は中速ストレージ媒体922から構成される中速ボリューム921上に生成され、ファイルシステムツリー930は、低速(であるが安価な)ストレージ媒体932から構成される低速ボリューム930上に生成される。ファイルレベルHSMプログラム826は統合ファイルシステム901を表示する。この統合ファイルシステム901は、ファイルシステムツリー910、920、及び930内のすべてのファイルを含む。この状況において、ファイルがパス名やファイル名を変えずにファイルシステムツリー間で移動した場合でも、統合ファイルシステム901は不変である。従って、この特徴は、ファイルレベルHSMプログラム826がファイルを適切なボリュームの適切なファイルシステムに移動できるので、ファイル毎の階層ストレージ管理を可能にする。これらのファイルシステム間のファイル移動を「移行」と呼ぶ。
0071 ファイルレベルHSMには長所と短所がある。ファイルレベルHSMはページサイズよりも小さいファイルに対しては、移行に多くの時間がかからないのでうまく動作する。しかしながら、大ファイルはボリューム間で大量のデータをコピーしなければならず、多くの時間がかかるので移行するのが難しい。更に、たとえ大ファイル内部のアクセス頻度がセクタ間で異っていても、全データが同じボリュームに置かれることになる。
0072 C.ファイルレベルHSMとページベースTSMの連携
0073 本実施例はファイルレベルHSMとページベースTSMの連携方法を明らかにする。図10において、ページベースTSMを有するファイルレベルHSM1000は連携の構成例を示す。統合ファイルシステム1001はファイルレベルHSM900の例のように高速ファイルシステム1010、中速ファイルシステム1020、安価なファイルシステム1030を統合し、同様に混合ファイルシステム1040を統合する。混合ファイルシステム1040は多様なストレージ媒体912、922、932を有する混合ボリューム1041上に構築される。ストレージ装置110は、ファイルサーバ820にページベースTSMを有する混合ボリューム1041を供給する。
0074 本構成において、ボリューム情報プログラム827はストレージ装置110内のページ管理プログラム115と交信し、高速、低速、混合などのボリューム速度情報を含むボリュームの特性を取得する。この情報を用いてファイルレベルHSMプログラム826は、ファイル生成やファイル書き込みなどの契機又は、定期的にあるいはその他のタイミングで図11に示すフロー1100を実行する。最初に、ファイルレベルHSMプログラム826は、ターゲットファイルがページサイズよりも大きいか否かをチェックする(ステップ1110)。ファイルがページサイズよりも小さい場合、ファイルレベルHSMプログラム826は本来のファイルレベルHSMプログラム826に従ってファイルを混合ボリューム以外の適切なボリュームに割り当てて移動する(ステップ1120)。例えば、ファイルレベルHSMプログラム826は、頻繁にアクセスされるファイルを高速ボリューム911に割り当てる。ファイルがページファイルよりも大きい場合、ファイルレベルHSMプログラム826は、ファイルを混合ボリューム1041に移動する(ステップ1130)。混合ボリューム1041がページベースTSM機能により実現されている場合、ファイルサーバ880による追加プロセスなしに、サブファイルTSMがストレージ装置110によってファイルに対して自動的に適用される。
0075 図12は、ボリューム500に適用したファイルレベルHSMプログラムのプロセスフロー1100の結果の一つの例1200を示す。フロー1100の後、高性能を必要とするファイル「sf1」511、「sf3」514及び「sf5」516は、高速ボリューム1210にファイル1211、1212、及び1213として保存される。時々アクセスされるファイル「sf4」515と「sf6」518は、中速ボリューム1220にファイル1221と1222として保存される。滅多にアクセスされないファイル「sf2」512は、低速(であるが安価な)ボリューム1230にファイル1231として保存される。大ファイル「lf1」513及び「lf2」517は、混合ボリューム1240にファイル1250と1251として保存される。これらの大ファイル1250,1251は、ストレージ装置110のページベースTSM機能によるサブファイルTSMの適用済みファイルである。本発明を使用して、各小ファイルは適切なストレージ媒体117に保存され、サブファイルTSMは大ファイルに対して適用される。
0076 当然ながら、図1及び図8に示すシステム構成は本発明が実装可能な情報システムの全くの典型例であり、本発明は特定のハードウェア構成に限定されるものでない。本発明を実装するコンピュータ及びストレージシステムは前述の発明を実装するために使用されるモジュール、プログラム及びデータ構造を保存し読み出すことができる公知のI/Oデバイス(例えばCDとDVDドライブ、フロッピー(登録商標)ディスクドライブ、ハードドライブなど)を持つこともできる。これらのモジュール、プログラム及びデータ構造はそのようなコンピュータ読み取り可能媒体上でコード化することができる。例えば、本発明のデータ構造は、本発明で使用されるプログラムを乗せた一つ以上のコンピュータ読み取り可能媒体とは独立なコンピュータ読み取り可能媒体に保存することができる。このシステムのコンポーネントはディジタルデータ通信の任意の形態又は媒体、例えば通信ネットワークにより、相互接続可能である。通信ネットワークの例には、ローカルエリアネットワーク、広域ネットワーク、例えばインターネット、無線ネットワーク、ストレージエリアネットワーク、などが含まれる。
0077 本説明においては、本発明の完全な理解を可能にするために説明の目的で数多くの詳細が述べられている。しかしながら、これらの個別の詳細のすべてが本発明を実施するために必要とされるわけではないことは当業者には明白であろう。更に、本発明は通常、フローチャート、フローダイアグラム、構造ダイアグラム、又はブロックダイアグラムとして描かれるプロセスとして記述できることも言うまでもない。フローチャートは動作をシーケンシャルプロセスとして記述できるが、多くの動作は並行して又は同時に実行可能である。更に、動作の順番は入れ替えることができる場合もある。
0078 この技術分野では公知のように、上述の動作はハードウェア、ソフトウェア、又はソフトウェアとハードウェアの或る組み合わせで実行できる。本発明の実施例の種々の態様は回路や論理デバイス(ハードウェア)を用いて実装可能であるが、他の態様ではマシーン読取可能媒体(ソフトウェア)上に保存され、もしプロセッサが実行すれば、プロセッサに本発明の実施例の実行方法を実現させる命令を用いて実装可能である。更に、本発明のいくつかの実施例は専らハードウェアで実現可能であるが、他の実施例では専らソフトウェアで実現可能である。更に、記述された種々の機能は単一の装置で実現可能であるが、多様な方法で多数のコンポーネントに亘って拡張することも可能である。ソフトウェアにより実現する場合は、本方法はコンピュータ読み取り可能媒体上に保存された命令に基づいて汎用コンピュータのようなプロセッサによって実行可能である。もし必要ならば、命令は圧縮及び/又は暗号化フォーマットで媒体上に保存可能である。
0079 前述から、本発明はストレージシステムに於ける各ストレージ媒体へのページとファイル割当てを制御する方法、装置及びコンピュータ読み取り可能媒体上に保存されるプログラムを提供することが明らかであろう。更に、本明細書において具体的な実施例が示され説明されてきたが、同じ目的を達成することが予想できる任意の構成は、開示された具体的な実施例を代替可能であることが当業者には明らかであろう。ここでの開示は本発明の任意且つあらゆる改編や変形をもカバーするように意図されており、以下の請求項で使用される条項は、本発明を明細書に開示された個別の実施例に限定するように解釈してはならないことを理解しなければならない。むしろ、本発明の範囲は以下の請求項によって完全に決定されるべきであって、本請求項が権利を有する全範囲の等価物も含めて、確立した請求項解釈論に従って解釈されるべきである。

Claims (14)

  1. 第一のストレージデバイスと、前記第一のストレージデバイスと速度の異なる第二のストレージデバイスと、固定のページサイズのページを複数有するボリュームを管理し、前記ページを前記第一又は第二のストレージデバイスに割り当てるCPUとを有するストレージシステムにおいて、
    1以上の前記ページに保存するファイルのサイズが、前記固定のページサイズよりも大きいか否かを判定するステップを有し、
    前記判定の結果、前記ファイルのサイズが前記固定のページサイズ以下の場合、前記ファイルのアクセス特性に応じて、前記第一のストレージデバイスと、前記第二のストレージデバイスとの何れか割り当てられたページに前記ファイルを保存するステップをさらに有し
    前記判定の結果、前記ファイルのサイズが前記固定のページサイズよりも大きい場合、第一のページ及び第二のページを有する前記ボリュームに前記ファイルを保存するステップと、前記第一のページ及び前記第二のページのアクセス特性に応じて、前記第一のページを前記第一のストレージデバイスに割り当て、前記第二のページを前記第二のストレージデバイスに割り当てるステップとをさらに有する
    ことを特徴とする複数のファイルのデータ位置を管理する方法。
  2. 前記ページサイズ以下の小ファイルの各ファイルに対して、前記小ファイルの前記アクセス特性に適合する対応階層に属する前記複数のページの1つのページに前記小ファイルを割り当てるステップを更に含む
    ことを特徴とする請求項1による方法。
  3. 前記ストレージシステムは更に、少なくとも1個の高速ボリュームと少なくとも1個の低速ボリュームを含む複数の特定速度のボリュームを有し、
    前記方法は更に、
    各高速ボリュームを1台以上の高速ストレージデバイスにマップするステップと、
    各低速ボリュームを1台以上の低速ストレージデバイスにマップするステップと、
    前記ページサイズ以下の小ファイルの各ファイルに対して、前記小ファイルの前記アクセス特性を特定速度のボリュームの対応する速度に適合させることにより前記小ファイルを前記特定速度のボリュームに割り当てるステップとを更に含む
    ことを特徴とする請求項1による方法。
  4. 前記複数の特定速度のボリュームは少なくとも1個の中速ボリュームを含み、
    前記方法は更に、
    各中速ボリュームを1台以上の中速ストレージデバイスにマップするステップを含む
    ことを特徴とする請求項3による方法。
  5. 前記複数のストレージデバイスは少なくとも1台の中速ストレージデバイスを含み、
    異なる階層の前記ページ少なくとも1ページを前記中速ストレージデバイスにマップするステップを含む
    ことを特徴とする請求項1による方法。
  6. 第一のストレージデバイスと、前記第一のストレージデバイスと速度の異なる第二のストレージデバイスと、固定のページサイズのページを複数有するボリュームを管理し、前記ページを前記第一又は第二のストレージデバイスに割り当てるファイルサーバとを有するストレージシステム内の複数のファイルのデータ位置を管理するために、前記ストレージシステムに接続されたホストを含むシステムにおいて、
    前記ファイルサーバは、
    1以上の前記ページに保存するファイルのサイズが、前記固定のページサイズよりも大きいか否かを判定し、
    前記判定の結果、前記ファイルのサイズが前記固定のページサイズよりも小さい場合、前記ファイルのアクセス特性に応じて、前記第一のストレージデバイスと、前記第二のストレージデバイスとの何れかに割り当てられたページに前記ファイルを保存し、
    前記判定の結果、前記ファイルのサイズが前記固定のページサイズよりも大きい場合、第一のページ及び第二のページを有する前記ボリュームに前記ファイルを保存するとともに、前記第一のページ及び前記第二のページのアクセス特性に応じて、前記第一のページを前記第一のストレージデバイスに割り当て、前記第二のページを前記第二のストレージデバイスに割り当てる
    ことを特徴とするストレージシステム。
  7. 前記ファイルサーバは、
    前記ページサイズ以下の小ファイルの各ファイルに対して、前記小ファイルの前記アクセス特性に適合する対応階層に属する前記複数のページの一つのページに前記小ファイルを割り当てるように構成される割当て管理モジュールを含む
    ことを特徴とする請求項によるストレージシステム。
  8. 前記ストレージシステムは更に、少なくとも1個の高速ボリュームと少なくとも1個の低速ボリュームを含む複数の特定速度のボリュームを有し、
    前記ファイルサーバは、
    各高速ボリュームを1台以上の高速ストレージデバイスにマップし、
    各低速ボリュームを1台以上の低速ストレージデバイスにマップし、
    前記ページサイズ以下の小ファイルの各ファイルに対して、前記小ファイルの前記アクセス特性を特定速度のボリュームの対応する速度に適合させることにより前記小ファイルを前記特定速度のボリュームに割り当てるように構成されるファイルレベル階層型ストレージ管理モジュールを含む
    ことを特徴とする請求項によるストレージシステム。
  9. 前記複数の特定速度のボリュームは少なくとも1個の中速ボリュームを含み、
    前記ファイルレベル階層型ストレージ管理モジュールは、
    各中速ボリュームを1台以上の中速ストレージデバイスにマップするように構成される
    ことを特徴とする請求項によるストレージシステム。
  10. 前記複数のストレージデバイスは少なくとも1台の中速ストレージデバイスを含み、
    前記ファイルサーバは、
    異なる階層のページ少なくとも1ページを1台の前記中速ストレージデバイスにマップする
    ことを特徴とする請求項によるストレージシステム。
  11. 第一のストレージデバイスと、前記第一のストレージデバイスと速度の異なる第二のストレージデバイスと、固定のページサイズのページを複数有するボリュームを管理し、前記ページを前記第一又は第二のストレージデバイスに割り当てるCPUとを有するストレージシステム内の複数のファイルのデータ位置を管理するデータプロセッサを制御するための複数の命令であって、前記複数の命令は、
    1以上の前記ページに保存するファイルのサイズが、前記固定のページサイズよりも大きいか否かを判定する命令と、
    前記判定の結果、前記ファイルのサイズが前記固定のページサイズよりも小さい場合、前記ファイルのアクセス特性に応じて、前記第一のストレージデバイスと、前記第二のストレージデバイスとの何れかに割り当てられたページに前記ファイルを保存する命令と、
    前記判定の結果、前記ファイルのサイズが前記固定のページサイズよりも大きい場合、第一のページ及び第二のページを有する前記ボリュームに前記ファイルを保存するとともに、前記第一のページ及び前記第二のページのアクセス特性に応じて、前記第一のページを前記第一のストレージデバイスに割り当て、前記第二のページを前記第二のストレージデバイスに割り当てる命令とを含む
    ことを特徴とする前記複数の命令を保存するコンピュータ読み取り可能ストレージ媒体。
  12. 前記複数の命令は更に、
    前記ページサイズ以下の小サイズの各ファイルに対して、前記データプロセッサに、前記小ファイルの前記アクセス特性に適合する対応階層に属する前記複数のページの一つのページに前記小ファイルを割り当てさせる命令を含む
    ことを特徴とする請求項11によるコンピュータ読み取り可能ストレージ媒体。
  13. 前記ストレージシステムは更に、少なくとも1個の高速ボリュームと少なくとも1個の低速ボリュームを含む複数の特定速度のボリュームを有し、
    前記複数の命令は更に、
    前記データプロセッサに、各高速ボリュームを1台以上の高速ストレージデバイスに対してマップさせる命令と、
    前記データプロセッサに、各低速ボリュームを1台以上の低速ストレージデバイスに対してマップさせる命令と、
    前記データプロセッサに、前記ページサイズ以下の小サイズの各ファイルに対して、前記小ファイルの前記アクセス特性を前記特定速度のボリュームの対応する速度に適合させることにより前記小ファイルを一つの特定速度のボリュームに割り当てさせる命令と、を含む
    ことを特徴とする請求項11によるコンピュータ読み取り可能ストレージ媒体。
  14. 前記複数のストレージデバイスは少なくとも1台の中速ストレージデバイスを含み、
    前記複数の命令は更に、
    異なる階層のページ少なくとも1ページを1台の前記中速ストレージデバイスにマップさせる命令を含む
    ことを特徴とする請求項11によるコンピュータ読み取り可能ストレージ媒体。
JP2010192821A 2010-03-16 2010-08-30 ストレージシステムのためのi/o変換方法及び装置 Expired - Fee Related JP5530863B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/724,655 2010-03-16
US12/724,655 US8423727B2 (en) 2010-03-16 2010-03-16 I/O conversion method and apparatus for storage system

Publications (2)

Publication Number Publication Date
JP2011192259A JP2011192259A (ja) 2011-09-29
JP5530863B2 true JP5530863B2 (ja) 2014-06-25

Family

ID=44648141

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010192821A Expired - Fee Related JP5530863B2 (ja) 2010-03-16 2010-08-30 ストレージシステムのためのi/o変換方法及び装置

Country Status (2)

Country Link
US (1) US8423727B2 (ja)
JP (1) JP5530863B2 (ja)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8843459B1 (en) * 2010-03-09 2014-09-23 Hitachi Data Systems Engineering UK Limited Multi-tiered filesystem
US9477597B2 (en) 2011-03-25 2016-10-25 Nvidia Corporation Techniques for different memory depths on different partitions
US8701057B2 (en) 2011-04-11 2014-04-15 Nvidia Corporation Design, layout, and manufacturing techniques for multivariant integrated circuits
US9529712B2 (en) * 2011-07-26 2016-12-27 Nvidia Corporation Techniques for balancing accesses to memory having different memory types
US8706961B2 (en) 2011-10-31 2014-04-22 Hitachi, Ltd. Storage apparatus and data management method
WO2013080243A2 (en) * 2011-11-28 2013-06-06 Hitachi, Ltd. Storage system controller, storage system, and access control method
US9116904B2 (en) 2013-03-14 2015-08-25 Microsoft Technology Licensing, Llc File system operation on multi-tiered volume
US9524300B2 (en) * 2013-03-14 2016-12-20 Microsoft Technology Licensing, Llc Heterogenic volume generation and use system
US9141626B2 (en) 2013-03-14 2015-09-22 Microsoft Technology Licensing, Llc Volume having tiers of different storage traits
US9262313B2 (en) * 2013-03-14 2016-02-16 Microsoft Technology Licensing, Llc Provisioning in heterogenic volume of multiple tiers
CN104246721B (zh) * 2013-03-29 2017-02-22 株式会社东芝 存储系统、存储控制器及存储控制方法
CN105164629B (zh) * 2014-01-15 2018-05-22 株式会社日立制作所 计算机系统及其层级存储的控制方法
US10558611B2 (en) 2016-08-31 2020-02-11 International Business Machines Corporation Format aware file system with file-to-object decomposition
US11132128B2 (en) * 2017-03-24 2021-09-28 Veritas Technologies Llc Systems and methods for data placement in container-based storage systems
US10915498B2 (en) * 2017-03-30 2021-02-09 International Business Machines Corporation Dynamically managing a high speed storage tier of a data storage system
US10795575B2 (en) 2017-03-31 2020-10-06 International Business Machines Corporation Dynamically reacting to events within a data storage system
WO2019127135A1 (zh) * 2017-12-27 2019-07-04 华为技术有限公司 文件页表管理技术
US20210157647A1 (en) * 2019-11-25 2021-05-27 Alibaba Group Holding Limited Numa system and method of migrating pages in the system
JP2022041717A (ja) * 2020-09-01 2022-03-11 キヤノン株式会社 情報処理システム、情報処理システムの制御方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5617566A (en) * 1993-12-10 1997-04-01 Cheyenne Advanced Technology Ltd. File portion logging and arching by means of an auxilary database
JPH0944381A (ja) * 1995-07-31 1997-02-14 Toshiba Corp データ格納方法およびデータ格納装置
US6711625B1 (en) * 2000-01-14 2004-03-23 Hewlett-Packard Development Company, L.P. Kernel file I/O management system and method
EP1433086A4 (en) * 2001-09-26 2006-07-26 Emc Corp EFFICIENT MANAGEMENT OF LARGE SIZE FILES
JP4322031B2 (ja) 2003-03-27 2009-08-26 株式会社日立製作所 記憶装置
US7383414B2 (en) * 2004-05-28 2008-06-03 Oracle International Corporation Method and apparatus for memory-mapped input/output
US20060227899A1 (en) * 2005-04-08 2006-10-12 Yim Jae H Apparatus and method for storing/recovering spectrum
JP2007066259A (ja) 2005-09-02 2007-03-15 Hitachi Ltd 計算機システムとストレージシステム並びにボリューム容量拡張方法

Also Published As

Publication number Publication date
US20110231631A1 (en) 2011-09-22
JP2011192259A (ja) 2011-09-29
US8423727B2 (en) 2013-04-16

Similar Documents

Publication Publication Date Title
JP5530863B2 (ja) ストレージシステムのためのi/o変換方法及び装置
US12169453B2 (en) Namespace change propagation in non-volatile memory devices
US11994984B2 (en) Namespace mapping optimization in non-volatile memory devices
JP5410386B2 (ja) ストレージシステムのためのi/o変換方法及び装置
US10073656B2 (en) Systems and methods for storage virtualization
JP5914305B2 (ja) データ位置の管理方法および装置
US7606944B2 (en) Dynamic input/output optimization within a storage controller
US9454332B2 (en) Assimilation of foreign LUNS into a network storage system
US9213721B1 (en) File server system having tiered storage including solid-state drive primary storage and magnetic disk drive secondary storage
CN102511036B (zh) 数据存储
US10684947B2 (en) Increasing high performance data storage utilization by reducing write operations
US10037161B2 (en) Tiered storage system, storage controller, and method for deduplication and storage tiering
KR20150081424A (ko) 순응적 존속을 위한 시스템, 방법 및 인터페이스
US20150363134A1 (en) Storage apparatus and data management
JP2020533694A (ja) クラウド・ベースのランクを使用するデータの動的再配置
US7584229B2 (en) Method and system for priority-based allocation in a storage pool
US8447947B2 (en) Method and interface for allocating storage capacities to plural pools
US8478933B2 (en) Systems and methods for performing deduplicated data processing on tape
JP2017204037A (ja) 情報処理装置、重複除去プログラム、及び重複除去方法
WO2015130799A1 (en) System and method for storage virtualization
US11947799B1 (en) Systems and methods for using the TRIM command with solid state devices
CN102841758B (zh) 高效能虚拟磁盘管理系统
EP2256615A1 (en) Self-defragmenting storage device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120724

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130917

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131001

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140421

R150 Certificate of patent or registration of utility model

Ref document number: 5530863

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees