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

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

Info

Publication number
JP5410386B2
JP5410386B2 JP2010192801A JP2010192801A JP5410386B2 JP 5410386 B2 JP5410386 B2 JP 5410386B2 JP 2010192801 A JP2010192801 A JP 2010192801A JP 2010192801 A JP2010192801 A JP 2010192801A JP 5410386 B2 JP5410386 B2 JP 5410386B2
Authority
JP
Japan
Prior art keywords
page
file
storage
storage device
disk
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
JP2010192801A
Other languages
English (en)
Other versions
JP2011150681A (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 JP2011150681A publication Critical patent/JP2011150681A/ja
Application granted granted Critical
Publication of JP5410386B2 publication Critical patent/JP5410386B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/182Distributed file systems
    • G06F16/1824Distributed file systems implemented using Network-attached Storage [NAS] architecture
    • G06F16/1827Management specifically adapted to NAS
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • 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/064Management of blocks
    • G06F3/0641De-duplication techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • 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/0643Management of files

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 米国特許第 6,725,328号は、シン・プロビジョニングストレージを実現するための動的チャンク割り当て方法及び装置を開示する。米国特許公報第2007/0055713号は、チャンク単位の階層ストレージを実現するために異なる特徴を有するブロックデバイスを備える動的チャンク割り当てを開示する。米国特許公報第2009/0132619号は、ストレージシステムのための重複排除方法を開示する。米国特許第7,330,950号は、ファイル単位階層ストレージ管理方法を開示する。これらの参考文献の内容全体が、参照することによって本明細書に組み込まれる。
0005 本発明の例示的実施形態は、ストレージシステムの各データボリュームへのチャンク割り当てを制御するための方法及び装置を提供する。本発明は、データに対して複数サイズのチャンク割り当て及び複数プロトコルのアクセスを可能にする。特定の実施形態では、ストレージ装置は、いくつかのチャンクをページ単位のファイルとして外部ファイルサーバ又は内部ファイルシステムに割り当てる。さらに、ストレージ装置は、ページの単位ファイルをセグメント単位のファイルに分割することもでき、セグメントは、ページ(最大)とセクタ(最小)の間の中間レベルのブロックサイズである。ファイルシステムは、ディスク上のファイルツリー構造を管理する。よって、チャンクが複数のファイルに分割される場合でも、チャンク割り当て情報を格納するための多くのメモリは必要ない。さらに、ホストコンピュータは、FC/iSCSIなどのディスクI/Oを介してI/Oを発行することができる。
0006 本発明の一態様は、I/O要求をストレージシステムに発行するホストコンピュータを含む情報システムを対象とする。ストレージシステムは、プロセッサと、複数のストレージディスクと、ページマッピングテーブル、ページマッピングプログラム及びページ・ファイル名マッピングプログラムを格納するメモリとを含む、ストレージ装置と、ファイル名によって、ファイルのファイルツリーを管理するファイルシステムとを備える。前記ページマッピングテーブルは、前記ホストコンピュータ及び前記ストレージディスク及び前記ファイルシステムからアクセス可能な前記ストレージ装置のデータボリューム間の関係を特定し、前記データボリュームの各々は複数のページを含み、各ページは複数のセグメントを含み、各セグメントは複数のセクタを含む。各ストレージ装置についての前記ファイルツリーは、前記データボリュームと、前記ページと、前記セグメントとの間の関係に基づくディレクトリ及びファイルの階層を有する。前記ページマッピングテーブル及び前記ファイルツリーを参照することによって、前記I/O要求に含まれるデータの位置をページごとに特定するために、前記ページマッピングプログラム及び前記ページ・ファイル名マッピングプログラムは、前記プロセッサによって実行可能である。
0007 一実施形態では、ストレージシステムは、複数のストレージ装置とファイルサーバとを備え、前記ファイルシステムは前記ファイルサーバの中に設けられ、前記ファイルサーバは、ファイルI/Oに対してファイルアクセスネットワークを介して前記ストレージ装置に接続されている。他の実施形態では、ストレージシステムは、前記ファイルシステムがその中に設けられているファイルサーバをさらに備え、前記ストレージ装置及び前記ファイルサーバの各々は、ストレージプロトコルとファイルI/Oプロトコルの両方を処理するための統合型ネットワークに結合される統合型インタフェースを含む。
0008 他の実施形態では、ファイルシステムは、ファイルサービス能力を有する前記ストレージ装置の中に設けられる。前記ページマッピングテーブルが、前記ストレージ装置のボリューム識別子によって、各データボリュームの複数のエントリのうちの少なくとも1行であって、複数のエントリの各行が前記ボリューム識別子についての連続するページのグループと対応付けられるとともに、データボリュームのオフセットを示すページオフセットを含む、複数のエントリの少なくとも1行と、前記行の前記ページのグループの長さを示す長さと、(a)前記行の前記ページのグループが前記ファイルシステム内に配置されていることを示す「ファイル中」についての「yes」のエントリか、又は(b)ページデータを入れるストレージディスクを識別するディスク識別子、及び前記行の前記ページのグループについて前記ストレージディスクのオフセットを示すディスクオフセットかのいずれか一方とを特定する。
0009 他の実施形態では、ストレージシステムは、前記ファイルシステムがその中に設けられているファイル可能ストレージ装置をさらに備え、前記ファイル可能ストレージ装置は、ディスクI/Oに対しては内部ストレージエリアネットワークを介して、及びファイルI/Oに対してはファイルアクセスネットワークを介して、前記ストレージ装置に結合されている。前記ページマッピングテーブルが、前記ストレージ装置のボリューム識別子によって、各データボリュームの複数のエントリのうちの少なくとも1行であって、複数のエントリの各行が前記ボリューム識別子についての連続するページのグループと対応付けられるとともに、データボリュームのオフセットを示すページオフセットを含む、複数のエントリの少なくとも1行と、前記行の前記ページのグループの長さを示す長さと、(a)前記ストレージ装置のストレージディスクにページデータを入れることを示す「内部」というノード識別子、前記ページデータを入れる前記ストレージ装置のストレージディスクを特定するディスク識別子、及び前記行の前記ページのグループに対して前記ストレージディスクのオフセットを示すディスクオフセット、前記行の前記ページのグループについて前記ストレージディスクのオフセットを示すディスクオフセット、又は(b)ページデータを入れるための前記ファイル可能ストレージ装置を示すノード識別子、及び(i)前記行の前記ページのグループが、前記ファイル可能ストレージ装置の前記ファイルシステム内に配置されていることを示す「ファイルの中」についての「yes」のエントリか、又は(ii)前記行の前記ページのグループが前記ファイル可能ストレージ装置のストレージディスク内に配置されていることを示す「ファイルの中」についての「no」のエントリ、ページデータを入れるための前記ファイル可能ストレージ装置の前記ストレージディスクを識別するディスク識別子、及び前記行の前記ページのグループについて前記ストレージディスクのオフセットを示すディスクオフセットかのいずれか一方とを特定する。ストレージシステムは、複数のストレージ装置を備えてもよく、各ストレージ装置は、ディスクI/Oに対しては内部ストレージエリアネットワークを介して、ファイルI/Oに対してはファイルアクセスネットワークを介して、前記ファイル可能ストレージ装置に結合されている。他の実施形態では、ストレージシステムは、前記ファイルシステムがその中に設けられているファイル可能ストレージ装置をさらに備え、前記ファイル可能ストレージ装置は、ファイルI/Oに対してファイルアクセスネットワークを介して前記ストレージ装置に結合されており、前記ストレージ装置及び前記ファイル可能ストレージ装置の各々は、ディスクI/Oに対して前記ホストコンピュータとのストレージインタフェースを有する。
0010 いくつかの実施形態では、前記ページマッピングテーブルが、前記ストレージ装置のボリューム識別子によって、各データボリュームの複数のエントリのうちの少なくとも1行であって、複数のエントリの各行が前記ボリューム識別子についての連続するページのグループと対応付けられるとともに、データボリュームのオフセットを示すページオフセットを含む、複数のエントリの少なくとも1行と、前記行の前記ページのグループの長さを示す長さと、(a)ページデータを入れるための前記ファイルサーバを識別するためのノード識別子か、又は(b)ページデータを入れる前記ストレージ装置のストレージディスクを識別するディスク識別子、及び前記行の前記ページのグループについて前記ストレージディスクのオフセットを示すディスクオフセットかのいずれか一方とを特定する。
0011 特定の実施形態では、前記ファイルツリーは、各ストレージ装置について、ストレージ単位ディレクトリと、各ストレージ単位ディレクトリの下の複数のボリューム単位ディレクトリと、一つ以上の前記ボリューム単位ディレクトリの下の少なくとも一つのページ単位ファイルと、一つ以上の前記ボリューム単位ディレクトリの下の少なくとも一つのページ単位ディレクトリと、前記少なくとも一つのページ単位ディレクトリの各々の下の複数のセグメント単位ファイルとを有する。
0012 本発明の他の態様は、I/O要求をストレージシステムに発行するホストコンピュータを含む情報システムを対象とし、プロセッサと、複数のストレージディスクと、ページマッピングテーブルを格納するメモリとを含む、ストレージ装置と、ファイル名によって、ファイルのファイルツリーを管理するファイルシステムとを有する、ストレージシステムであって、前記ページマッピングテーブルは、前記ホストコンピュータ及び前記ストレージディスク及び前記ファイルシステムからアクセス可能な前記ストレージ装置のデータボリューム間の関係を特定し、前記ファイルツリーは、各ストレージ装置について、ストレージ単位ディレクトリと、各ストレージ単位ディレクトリの下の複数のボリューム単位ディレクトリと、一つ以上の前記ボリューム単位ディレクトリの下の少なくとも一つのページ単位ファイルと、一つ以上の前記ボリューム単位ディレクトリの下の少なくとも一つのページ単位ディレクトリと、前記少なくとも一つのページ単位ディレクトリの各々の下の複数のセグメント単位ファイルとを有する。前記ページマッピングテーブル及び前記ファイルツリーを参照することによって、前記I/O要求に含まれるデータの位置を特定する方法は、前記I/O要求に含まれる前記データの各ターゲットページについて、前記ターゲットページが前記ページマッピングテーブルに記述されているか否かを判断しし、否定的判断がなされた場合は、「ページは未割り当て」という情報を戻すことと、肯定的判断がなされた場合は、前記ターゲットページが、前記ページマッピングテーブルに記述されている通りに前記ストレージディスクにマップされているか否かを判断し、肯定的判断がなされた場合は、前記ストレージディスクにおける位置を計算し、かつ前記計算された位置と共に「ディスクに割り当て済み」という情報を戻すことと、否定的判断がなされた場合は、前記ファイルツリーを参照することによって、前記ターゲットページが前記ファイルシステムのページ単位ファイルに対応するか否かを判断し、肯定的判断がなされた場合は、前記ページ単位ファイルのファイル名と共に「ページ単位ファイルに割り当て済み」という情報を戻すことと、否定的判断がなされた場合は、前記ファイルツリーを参照することによって、前記ターゲットページが前記ファイルシステムのページ単位ディレクトリに対応するか否かを判断し、否定的判断がなされた場合は、「ページは未割り当て」という情報を戻すことと、肯定的判断がなされた場合は、前記ファイルツリーを参照することによって、前記ターゲットページが前記ファイルシステムのセグメント単位ファイルに対応するか否かを判断し、肯定的判断がなされた場合は、前記セグメント単位ファイルのファイル名と共に「セグメント単位ファイルに割り当て済み」という情報を戻すことと、否定的判断がなされた場合は、「セグメントは未割り当て」という情報を戻すこととを含む。
0013 いくつかの実施形態では、ストレージシステムは、前記ファイルシステムがその中に設けられるファイル可能ストレージ装置をさらに含み、前記ファイル可能ストレージ装置は前記ストレージ装置に結合されている。前記方法は、前記ターゲットページが前記ページマッピングテーブルに記述されているように前記ストレージディスクにマップされているか否かを判断する際に、肯定的判断がなされた場合は、前記ターゲットページがストレージ装置の内部ノードにマップされている場合にのみ、前記ストレージ装置の前記ストレージディスクにおける位置を計算し、かつ前記計算された位置と共に「ディスクに割り当て済み」という情報を戻し、前記ターゲットページが前記ストレージ装置の内部ノードにマップされていない場合には、前記ファイル可能ストレージ装置の前記ストレージディスクにおける位置を計算し、かつ前記計算された位置と共に「外部ストレージに割り当て済み」という情報を戻すことをさらに含む。
0014 一実施形態では、前記ストレージ装置及び前記ファイル可能ストレージ装置のうち一方が移行元ストレージ装置であり、前記ストレージ装置及び前記ファイル可能記憶媒体のうち他方が移行先ストレージ装置である。前記方法は、前記移行先ストレージ装置のストレージディスクの未使用領域にページ領域を割り当てることと、ページを移行するために、前記移行先ストレージ装置の前記ストレージディスクに前記移行元ストレージ装置の前記ストレージディスクのページデータをコピーすることと、前記移行されたページの位置を特定するために、前記ページマッピングテーブルの前記エントリを固定することと、前記移行元ストレージ装置の前記ストレージディスクの中の前記ページデータを消去することとをさらに含む。
0015 他の実施形態では、前記ファイル可能ストレージ装置又は前記ストレージ装置のうちの一方が移行元ストレージ装置であり、前記ファイル可能ストレージ装置が移行先ストレージ装置である。前記方法は、前記移行先ストレージ装置が、データを前記移行元ストレージ装置から前記移行先ストレージ装置にコピーするためのページデータコピープログラムを有さない場合、前記移行元ストレージ装置のストレージディスクからページデータを読み出し、前記移行先ストレージ装置のページファイルに前記ページデータを書き込み、かつ前記移行元ストレージ装置の前記ストレージディスクから前記ページデータを消去することと、前記移行先ストレージ装置が、データを前記移行元ストレージ装置から前記移行先ストレージ装置にコピーするためのページデータコピープログラムを有する場合、前記移行先ストレージ装置にページデータコピー要求を発行し、前記移行先ストレージ装置のストレージディスクから前記移行先ストレージ装置の前記ファイルシステムのページファイルに内部的にページデータをコピーし、かつ前記移行先ストレージ装置の前記ストレージディスクから前記ページデータを消去することとをさらに含む。
0016 他の実施形態では、前記ファイル可能ストレージ装置が移行元ストレージ装置であり、前記ファイル可能ストレージ装置又は前記ストレージ装置のうちの一方が移行先ストレージ装置である。前記方法は、前記移行先ストレージ装置のストレージディスクの未使用領域にページ領域を割り当てることと、前記移行先ストレージ装置が、前記移行元ストレージ装置から前記移行先ストレージ装置にデータをコピーするためのページデータコピープログラムを有さない場合、前記移行元ストレージ装置の前記ファイルシステムのページ単位ファイルからページデータを読み出し、前記移行先ストレージ装置の前記ストレージディスクに前記ページデータを書き込み、かつ前記移行元ストレージ装置の前記ファイルシステムから前記ページ単位ファイルを削除することと、前記移行先ストレージ装置が、前記移行元ストレージ装置から前記移行先ストレージ装置にデータをコピーするためのページデータコピープログラムを有する場合、前記移行先ストレージ装置にページデータコピー要求を発行し、前記移行先ストレージ装置の前記ファイルシステムのページ単位ファイルから前記移行先ストレージ装置の前記ストレージディスクに内部的にページデータをコピーし、かつ移行先ストレージ装置の前記ファイルシステムから前記ページ単位ファイルを削除することとをさらに含む。
0017 特定の実施形態では、ストレージシステムは、前記ストレージシステムは、前記ファイルシステムがその中に設けられているファイルサーバをさらに備え、前記ファイルサーバは、前記ストレージ装置に接続されている。前記方法は、前記ストレージ装置のストレージディスクの中の前記ターゲットページのターゲットページデータを、前記ファイルシステムがその中に設けられている前記ファイルサーバのファイルにコピーすることと、前記ターゲットページが前記ファイルサーバ内に配置されていることを特定するために、前記ページマッピングテーブルを修正することと、前記ストレージ装置の前記ストレージディスクの前記ターゲットページの前記ページデータを消去することとをさらに含む。
0018 特定の実施形態では、ストレージシステムは、前記ファイルシステムがその中に設けられているファイルサーバをさらに備え、前記ファイルサーバは、前記ストレージ装置に結合されている。前記方法は、前記ページマッピングテーブルを参照することによって、前記ストレージ装置のストレージディスクから未使用のページ領域を割り当てることと、ページを移行するために、前記割り当てられたページ領域に前記ファイルサーバのページ単位ファイルのデータをコピーすることと、前記移行されたページが前記ストレージ装置の前記ストレージディスク内に配置されていることを特定するために、前記ページマッピングテーブルを修正することと、前記ファイルサーバの前記ページ単位ファイルを削除することとをさらに含む。
0019 いくつかの実施形態では、前記方法は、新しいページ単位ディレクトリを作成することと、前記新しいページ単位ディレクトリにセグメント単位ファイルを作成することと、前記作成されたセグメント単位ファイルにページ単位ファイルのデータをコピーすることと、前記ページ単位ファイルを削除することとをさらに含む。前記方法は、セグメント単位ファイルをページ単位ファイルに連結することと、セグメント単位ファイルが存在しない場合に、前記ページ単位ファイルの対応する領域にゼロを記入することとをさらに含む。
0020 本発明の上記及びその他の特徴及び効果は、特定の実施形態についての以下の詳細な説明を考慮することにより、当業者にとって明らかとなるであろう。
0021 図1a〜図1cは、本発明の方法及び装置が適用され得る情報システムの第1の実施形態構成の一例を示す。 0021 図1a〜図1cは、本発明の方法及び装置が適用され得る情報システムの第1の実施形態構成の一例を示す。 0021 図1a〜図1cは、本発明の方法及び装置が適用され得る情報システムの第1の実施形態構成の一例を示す。 0022 図1d及び1eは、本発明の方法及び装置が適用され得る情報システムの第1の実施形態構成の他の例を示す。 0022 図1d及び1eは、本発明の方法及び装置が適用され得る情報システムの第1の実施形態構成の他の例を示す。 0023 図2は、ページマッピングテーブルの一例を示す。 0024 図3は、ファイルサーバが管理するファイルツリーの一例を示す。 0025 図4は、第1の実施形態のI/Oマッピングプロセスの一例を示す。 0026 図5aは、記憶媒体からページ単位ファイルへの移行の一例を示す。 0027 図5bは、ページ単位ファイルから記憶媒体への移行の一例を示す。 0028 図5cは、ページ単位ファイルからセグメント単位ファイルへの移行の一例を示す。 0029 図5dは、セグメント単位ファイルからページ単位ファイルへの移行の一例を示す。 0030 図6は、移行の例における特定のページマッピングテーブルを示す。 0031 図7は、移行の例における特定のファイルツリーを示す。 0032 図8a及び8bは、本発明の方法及び装置が適用され得る情報システムの第2の実施形態構成の一例を示す。 0032 図8a及び8bは、本発明の方法及び装置が適用され得る情報システムの第2の実施形態構成の一例を示す。 0033 図9は、ディスク使用テーブルの一例を示す。 0034 図10は、ページマッピングテーブルの一例を示す。 0035 図11a〜図11gは、本発明の方法及び装置が適用され得る情報システムの第3の実施形態構成を示す。 0035 図11a〜図11gは、本発明の方法及び装置が適用され得る情報システムの第3の実施形態構成を示す。 0035 図11a〜図11gは、本発明の方法及び装置が適用され得る情報システムの第3の実施形態構成を示す。 0035 図11a〜図11gは、本発明の方法及び装置が適用され得る情報システムの第3の実施形態構成を示す。 0035 図11a〜図11gは、本発明の方法及び装置が適用され得る情報システムの第3の実施形態構成を示す。 0035 図11a〜図11gは、本発明の方法及び装置が適用され得る情報システムの第3の実施形態構成を示す。 0035 図11a〜図11gは、本発明の方法及び装置が適用され得る情報システムの第3の実施形態構成を示す。 0036 図12は、ページマッピングテーブルの一例を示す。 0037 図13は、第3の実施形態のI/Oマッピングプロセスの一例を示す。 0038 図14aは、内部記憶媒体と外部ファイルストレージ装置の記憶媒体との間でページを移行するための移行フローの一例を示す。 0039 図14bは、移行元ストレージ装置の記憶媒体から移行元ファイル可能ストレージ装置のファイルシステム上のページ単位ファイルにページデータを移行するための移行フローの一例を示す。 0040 図14cは、移行元ファイル可能ストレージ装置のファイルシステム上のページ単位ファイルから移行先ストレージ装置の記憶媒体にページデータを移行するための移行フローの一例を示す。 0040 図15a〜図15dは、異なるレベルのブロックサイズを示す。 0040 図15a〜図15dは、異なるレベルのブロックサイズを示す。 0040 図15a〜図15dは、異なるレベルのブロックサイズを示す。 0040 図15a〜図15dは、異なるレベルのブロックサイズを示す。
0041 以下の本発明についての詳細な説明では、開示の一部を成すとともに、それによって本発明が実施され得る例示的実施形態が実例として(但し限定ではない)示される、添付の図面を参照する。当該図面において、類似の数字は、いくつかの図面を通してほぼ同様の構成要素を示すものである。また、留意すべき点として、詳細な説明では様々な例示的実施形態を提供する(以下に説明し、かつ図面で示される通り)が、本発明は本明細書において説明されかつ示される実施形態に限定されず、当業者が知っているであろう又は知るようになり得るその他の実施形態にも及び得る。本明細書における「一実施形態」、「本実施形態」、又は「上述の実施形態」の言及は、当該実施形態に関連して説明される特定の特性、構造又は特徴が、本発明の少なくとも一つの実施形態に含まれることを意味し、本明細書の様々な箇所において上記文言が使用されていても、必ずしもすべてが同一の実施形態を言及するものではない。さらに、以下の詳細な説明において、本発明を徹底して理解できるように、多くの具体的な詳細が記載されている。但し、本発明を実施するためにこれらの具体的な詳細すべてが必要なわけではないことは、当業者にとって明らかであろう。他の状況では、本発明を不必要に曖昧にしないように、周知の構造、材料、回路、プロセス及びインタフェースの詳細については説明しておらず、かつ/又はブロック図において図示している場合もある。
0042 さらに、以下の詳細な説明の一部は、コンピュータ内のオペレーションのアルゴリズム及び象徴的な態様に関して示されている。これらのアルゴリズム記述及び象徴的な態様は、データ処理分野の当業者がその新しいアイディアのエッセンスを最も効果的に他の当業者に伝えるために使用する手段である。アルゴリズムとは、望ましい最終状態又は結果へと導く一連の定義されたステップである。本発明において、実施されるステップは、具体的な結果を達成するための相応量の物理的操作を必要とする。通常は(必ずしもそうではないが)、当該数量は、格納、転送、組み合わせ、比較、その他の操作が可能な電気もしくは磁気信号又は命令の形態を取る。主に一般的な使用のために、上記の信号をビット、値、要素、記号、文字、用語、数字、命令等として言及することが時として便利であることが証明されている。但し、上記の及び類似の用語のすべてが、適切な物理数量に対応付けられるものであり、かつ当該数量に適用される単に便利なラベルであることを留意すべきである。別段の記載がない限り、以下の解説から明らかなように、当然のことながら説明全体を通して、「処理」、「演算」、「計算」、「判断」、「表示」等の用語を用いた解説は、コンピュータシステムのレジスタ及びメモリ内の物理的(電子的)数量として表わされるデータを、コンピュータシステムのメモリもしくはレジスタ又はその他の情報記憶、送信もしくは表示装置の中の物理的数量として同様に表わされるその他のデータに操作しかつ変換する、コンピュータシステム又はその他の情報処理装置の動作又はプロセスを含み得る。
0043 本発明は、本明細書における動作を実施する装置にも関する。この装置は、必要とされる目的のために特別に構築してもよく、又は一つ以上のコンピュータプログラムによって選択的に起動又は再構成された一つ以上の汎用コンピュータを含み得る。当該コンピュータプログラムは、光ディスク、磁気ディスク、読取専用記憶装置(ROM)、ランダムアクセスメモリ(RAM)、ソリッドステート装置及びドライブ、又は電子情報の格納に適したその他の種類の媒体等(但し、これらに限定されない)のコンピュータ読取可能記憶媒体に格納され得る。本明細書において示されるアルゴリズム及び(情報)提示は、特定のコンピュータ又はその他の装置に本質的に関係しているわけではない。様々な汎用システムを、本明細書における教示に従ってプログラム及びモジュールと共に使用してもよく、又は望ましい方法ステップを実施するためにより特化した装置を構築することが都合がよいということが判明するかもしれない。さらに、本発明は、特定のプログラミング言語を参照して説明されてはいない。当然のことながら、本明細書に記載されている通りに本発明の教示を実施するために、様々なプログラミング言語を使用してもよい。プログラミング言語の命令は、一つ以上の処理装置、例えば中央処理装置(CPU)、プロセッサ、又はコントローラによって実行され得る。
0044 本発明の例示的実施形態は、以下でより詳細に記述されるように、ストレージシステムにおける、特に、チャンクプールから論理ボリュームにチャンクを割り当てるチャンク割り当て能力と、内部又は外部ファイルシステムのファイルにアクセスする能力とを有するストレージシステムにおけるデータ位置を管理するための装置、方法、及びコンピュータプログラムを提供する。本発明は、内部記憶媒体と内部/外部ファイルシステムの両方の上の各論理ボリュームのためにチャンク割り当てを制御するためのストレージシステムにおいて、特に、ローブロックデバイス及びファイルサーバの間の動的チャンク割り当て能力を有するストレージシステムにおいて使用することができる。
0045 I.第1の実施形態
0046 A.システム構成
0047 図1a〜図1cは、本発明の方法及び装置が適用され得る情報システム100の一例を示す。情報システムは、ホストコンピュータ130と、ネットワーク150と、ストレージシステム170とを含む。ストレージシステム170は、少なくとも一つのストレージ装置110と、少なくとも一つのファイルサーバ120とを有する。ストレージ装置110及びファイルサーバ120は、ファイルアクセスネットワーク160を介して通信する。ホストコンピュータ130は、SAN(ストレージエリアネットワーク)150を介してストレージインタフェースを使用して、ストレージ装置110にI/O要求を発行する。
0048 図1bに示されるように、ストレージ装置110は、CPU(中央処理装置)111と、メモリ112と、内部ストレージインタフェース116と、少なくとも一つの記憶媒体117と、ストレージインタフェース151と、ネットワークインタフェース161とを含む。CPU111は、メモリ112のプログラムを実行することによって、ストレージ装置110のデバイスを制御する。メモリ112は、様々なプログラム、テーブル、及びキャッシュを格納する。CPU111は、ディスクI/Oプログラム119を実行することによって、ストレージインタフェース151を介して、ホストコンピュータ130からのI/O要求を処理する。ディスクI/Oプロセスにおいて、ディスクI/Oプログラム119を実行するCPU111は、ページマッピングテーブル200を参照することによって、要求されたデータの位置を判断する。CPU111は、メモリ112の領域をディスクキャッシュ113として使用し、アクセス記憶媒体117へのレイテンシーを隠し、かつI/O要求に迅速に応答するために、ディスクキャッシュ113にデータを格納する。CPU111は、ページマッピングプログラム114及びページ・ファイル名マッピングプログラム118を参照することによって、記憶媒体117又は外部ファイルサーバ120にI/O要求を発行する。また、CPU111は、ページ移行プログラム115を参照することによって、記憶媒体117と外部ファイルサーバ120の間、又は外部ファイルサーバ120のファイルの間でデータを移行する。ストレージ装置110は、一つ以上の記憶媒体117を有する。CPU111は、内部ストレージインタフェース116を通じて記憶媒体117から/にデータを読み出し/書き込みすることができる。FC(ファイバ・チャネル)、SATA(シリアルATA)、SAS(シリアル接続SCSI)、IDE(Integrated Device Electronics)、又は他のインタフェースが記憶媒体117にアクセスするために使用される。ストレージ装置110は、様々な種類の記憶媒体、例えばHDD(ハードディスクドライブ)、SSD(ソリッドステートドライブ)、フラッシュメモリ、光ディスク、磁気テープなどを使用することができる。RAID(Redundant Array of Independent Disk)技術による上記記憶媒体のアレイも、記憶媒体117で利用できる。さらに、ストレージ装置110は、記憶媒体117として他のストレージ装置を使用することができる。
0049 図1cに示されるように、ファイルサーバ120は、CPU121と、メモリ122と、内部ストレージインタフェース116と、少なくとも一つの記憶媒体117と、ネットワークインタフェース161とを含む。CPU121は、メモリ122のプログラムを実行することによって、ファイルサーバ120のデバイスを制御する。メモリ122は、ファイルシステムプログラム123及びネットワークファイルプロセスプログラム124を含む、プログラム及びキャッシュを有する。CPU121は、ファイルシステムプログラム123を参照することによって、ファイルI/O要求を処理し、かつ記憶媒体117から/にデータを読み出す/書き込む。CPU121は、ネットワークファイルプロセスプログラム124を参照することによって、ネットワークインタフェース161を介して外部コンピュータからファイルI/O要求を受信し、かつI/O要求をファイルシステムプログラム123に転送する。CPU121は、メモリ112の領域をバッファキャッシュ125として使用する。バッファキャッシュ125は、記憶媒体へのI/Oを減らし、ファイルI/Oを加速するためにデータを格納する。
0050 情報システムの通信のために、ホストコンピュータ130及びストレージ装置110は、ストレージインタフェース151を有する。ストレージインタフェース151を使用して、ホストコンピュータ130及びストレージ装置110は、SAN150を介してI/Oのために通信する。例えばFC(ファイバ・チャネル)、iSCSI(Internet Small Computer System Interface)、FCoE(FC over Ethernet)などの、ストレージインタフェース151及びSAN150のための共通ストレージプロトコルが存在する。さらに、ネットワークインタフェース161を備える各コンピュータは、ファイルアクセスネットワーク160を介してファイルサーバ120にファイルI/Oを通信しかつ発行することができる。NFS(ネットワークファイルシステム)、CIFS(コモンインターネットファイルシステム)、及びAFP(アップルファイリングプロトコル)などのネットワークを介するファイルI/Oのための共通プロトコルが存在する。さらに、各コンピュータは、様々な目的のために他のコンピュータと通信することができる。ホストコンピュータ130は、ストレージシステム170のユーザである。ホストコンピュータ130は、SAN150を介してストレージインタフェース151を使用してI/Oを発行する。
0051 B.ネットワークトポロジのバリエーション及び統合型ネットワーク
0052 図1d及び1eは、本発明の方法及び装置が適用され得る情報システム180及び190の他の例を示す。図1dのシステム構成180では、複数のストレージ装置(例えば2つ)110が存在し、両方の装置110は、ファイルアクセスネットワーク160を介してファイルサーバ120にファイルI/O要求を発行することができる。図1eのシステム構成190では、各コンピュータは、統合型ネットワーク193を介して通信する統合型インタフェース192を有する。統合型インタフェース192及び統合型ネットワーク193は、同じ物理媒体でストレージプロトコル及びファイルI/Oプロトコルの両方を処理することができる。例えば、FCoE、iSCSI、NFS、及びCIFSがサポートされる。この状況では、ストレージ装置110、ファイルサーバ160、及びホストコンピュータ130の各々は、ストレージインタフェース151及びネットワークインタフェース161の代わりに、統合型インタフェース192を有する。統合型インタフェース192及び統合型ネットワーク193がストレージプロトコルとファイルI/Oプロトコルの両方をサポートするので、図1bの情報システム構成110についての以下の説明は、図1eの情報システム構成190にも当てはまる。
0053 C.ブロックサイズレベル
0054 図15a〜図15dは、ブロックサイズの異なるレベルを示す。「セクタ」1510は、最小サイズであり、ホストコンピュータ130とストレージ装置110の間の共通の単位である。例えば、SCSI(Small Computer System Interface)のセクタサイズは、512バイトである。ホストコンピュータ130にとっては、「ボリューム」1500は、セクタのアレイのように見える。ホストコンピュータ130は、ターゲットボリューム1500、ボリューム1500の開始セクタ、及び読み取り又は書き込みを行うセクタ1510の番号を特定することによって、I/Oを発行する。
0055 ストレージ装置130にとっては、「ボリューム」1500は、複数の「ページ」1520を含む。一つのボリューム1500の各ページ1520は、同じサイズを有する。
ページマッピングプログラム114及びページマッピングテーブル200は、ページ1520によって動的チャンク割り当てを管理する。ページのサイズが大きいときは、ページマッピングテーブル200は、より少ないエントリを管理するだけでよく、メモリの消費も少ない。しかし、ページが大きいと、内部断片化を引き起こし、シン・プロビジョニングの効果が下がり、ページの重複排除の効果も下がる。「セグメント」1530は、ページ1520とセクタ1510の間の中間レベルである。一つページ1520は、一つのセグメント又は複数のセグメント1530で構成され、一つのセグメントは、一つのセクタ又は複数のセクタ1510で構成される。一つのボリューム1500の各セグメント1530は、同じサイズを有する。上述のページサイズについての説明のように、セグメントサイズには、メモリ消費と、シン・プロビジョニング及び重複排除の効果との間の同様のトレードオフがある。各ストレージ装置110は、各ボリュームについて同じページサイズ及びセグメントサイズを、又はボリューム単位で又は媒体単位で異なるページサイズ及びセグメントサイズを使用することができる。
0056 ページ1520及びセグメント1530は、ストレージシステム170内で管理される要因であり、ホストコンピュータ130は、ページ1520及びセグメント1530の概念を知る必要がない。
0057 D.ページマッピングテーブル
0058 図2は、ページマッピングテーブル200の一例である。ページマッピングテーブル200は、ホストコンピュータ130、記憶媒体117、ファイルサーバ120からアクセス可能な論理ボリューム間の関係を記述する。ページマッピングテーブル200の各行は、論理ボリュームのIDを格納するボリュームID210について連続するページの一つのグループの情報を示す。ページオフセット220は、論理ボリュームのオフセットを格納する。長さ230は、各エントリのページの長さを示す。各行は、ノードID240又はディスクID250を有する。ノードID240は、ページデータを入れるファイルサーバ120を特定するための固有のIDである。ノードID240は、ファイルサーバ名、IPアドレス、又はファイルサーバリストのインデックスを受け付けることができる。ディスクID250は、ページデータを入れる記憶媒体117を特定するための固有のIDである。ディスクID250が特定される場合、その行は、ディスクオフセット260を有していなければなければならない。ディスクオフセット260は、この行のページのグループについての記憶媒体117のオフセットを示す。
0059 E.ページ/セグメントマッピングファイルツリー
0060 図3は、ファイルサーバ120が管理するファイルツリー300の一例を示す。ファイルサーバ120は、ページマッピングテーブル200のファイルサーバ120上に割り当てられたデータに対応するファイルを有する。ファイルツリー300は、トップディレクトリ310について、ストレージ装置に対応するストレージ単位ディレクトリ320を有する。複数のストレージ装置110がファイルサーバ120を共有する場合でも、ファイルサーバ120は、各ストレージ装置が自己のストレージ単位ディレクトリ320のみにアクセスすることを可能にし、かつストレージ装置間のデータ破損を防止する。ストレージ単位ディレクトリ320の下に位置するボリューム単位ディレクトリ330及び331が存在する。ボリューム単位ディレクトリ330及び331の名前は、ストレージ装置110のボリュームIDから派生する。ボリューム単位ディレクトリ330、331の下にページ単位ファイル又はディレクトリ340〜343が存在する。ページ単位ファイル及びディレクトリ340〜343の名前は、ページ番号から派生する。さらに、ファイルサーバ120は、ページ単位ファイル又はページ単位ディレクトリページ単位を有することができる。ページ単位ファイル及びディレクトリの名前は、ページ番号から派生する。例えば、ページ単位ファイル340「page100.dat」は、ストレージ装置「sa1」のボリューム「vol1」の101ページ目に対応する(ページ番号は0から始まり、「100」は101ページを意味する)。ページ単位ディレクトリ343「ページ103」は、ストレージ装置「sa1」のボリューム「vol1」の104ページ目に対応する。ページ単位ディレクトリ343は、セグメント単位ファイル350〜353を有することができる。このようなセグメント単位ファイルの名前は、セグメント番号から派生する。例えば、セグメント単位ファイル351「seg1.dat」は、ストレージ装置112のボリューム「vol1」の104ページ目の第2セグメントに対応する。上述のルールに従って、ページ・ファイル名マッピングプログラム118は、ページ単位ファイル及びセグメント単位ファイルのパス名を生成する。例えば、ページ・ファイル名マッピングプログラム118は、パス名「/vol/<storage apparatus name>/<volume id >/page<page number>.dat」又は「/vol/< storage apparatus name>/<volume id >/page<page number >/segment<segment number>.dat」を生成する。
0061 F.I/Oマッピング方法
0062 ディスクI/Oプログラム119がホストコンピュータ130からI/O要求を受信すると、ページマッピングプログラム114及びページ・ファイル名マッピングプログラム118は、ページマッピングテーブル200及びファイルツリー300を参照することによって、どこを読み取り/書き込むべきかを特定する。図4は、I/Oマッピングプロセス400の一例を示す。以下は、I/Oマッピングプロセス400の詳細を示す。ページマッピングプログラム114は、ページ単位でI/Oマッピングプロセス400を実行し、ステップ410で開始する。
0063 ステップ415では、ページマッピングプログラム114は、ターゲットページに対応するチャンクを検索する。ページマッピングプログラム114は、ページマッピングテーブル200の各エントリをチェックする。ボリュームIDがI/Oターゲットページ及びターゲットページのIDと一致するエントリの一つがページオフセット220と(ページオフセット220+長さ230)の間にある場合は、検索は成功した。検索が失敗すると、ページマッピングプログラム114は、ステップ420で「ページは未割り当て」と応答し、ステップ470でI/Oマッピングプロセス400を終了する。例えば、ボリューム「vol1」のページ番号200は、割り当てられない。
0064 検索が成功すると、ページマッピングプログラム114は、ステップ425で、チャンクがディスクに割り当てられているか否かをチェックする。チャンクがディスクに割り当てられる(すなわち、ページマッピングテーブル200のエントリが有効なディスクIDを有する)と、ステップ430で、ページマッピングプログラム114は、ページの位置を計算し、「ページはディスク<ディスクID>上にある」と応答する。ページマッピングプログラム114は、次の式に従って位置を計算することができる。(ボリューム内の要求されたページ番号)−(ページマッピングテーブルエントリに書き込まれたページオフセット)+(ページマッピングテーブルエントリに書き込まれたディスクオフセット)。例えば、ボリューム「vol1」のページ番号30は、ディスク1のページ番号80に位置する。
0065 エントリが、ページがファイルサーバ120上にある(すなわち、エントリが有効なノードID240を有する)ことを示すとき、ページマッピングプログラム114は、ページ・ファイル名マッピングプログラム118によって生成されるパス名を使用して、ステップ435でページ単位ファイルを検索するためにファイルI/Oを発行する。対応するページ単位ファイルが存在する場合は、ページマッピングプログラム114は、ステップ440で、「ページ単位ファイルに割り当て済み」と共にファイル名を戻す。例えば、ページマッピングプログラム114がボリューム「vol1」の102ページ目に対する要求を受信すると、ページマッピングプログラム114は、「/vol/sa1/vol1/page101.dat」の存在を検出するためにファイルI/Oを発行する。ファイルツリー300にファイル341が存在し、ページマッピングプログラム114は、ファイル名を戻す。
0066 ページ単位ファイルが存在しないと、ページマッピングプログラム114は、ページ・ファイル名マッピングプログラム118によって生成されたパス名を使用して、ステップ445でページ単位ディレクトリを検索するためにファイルI/Oを発行する。検索が失敗した場合は、ページマッピングプログラム114は、ステップ450で「ページは未割り当て」と応答し、プロセス400を終了する。例えば、ファイルツリー300は、ページ単位ファイル「/vol/sa1/vol1/page105.dat」又はページ単位ディレクトリ「/vol/sa1/vol1/page105/」のいずれも有さない。ページマッピングプログラム114は、ボリューム「vol1」の106ページ目に割り当てられていないという応答を生成する。
0067 ページ単位ディレクトリが存在すると、ページマッピングプログラム114は、ページ・ファイル名マッピングプログラム118によって生成されたパス名を使用して、ステップ455でセグメント単位ファイルを検索するためにファイルI/Oを発行する。このページのI/Oサイズがセグメントよりも大きいと、ステップ455、460、及び465は、セグメントごとに繰り返される。対応するページ単位ファイルが存在する場合は、ページマッピングプログラム114は、ステップ460で、「セグメント単位ファイルに割り当て済み」と共にファイル名を戻す。存在しない場合は、ページマッピングプログラム114は、ステップ465で「セグメントは未割り当て」と応答する。例えば、ファイルツリー300には、「/vol/sa1/vol1/page103/seg0.dat」が存在するが、「/vol/sa1/vol1/page103/seg5.dat」は存在しない。ページマッピングプログラム114は、ボリューム「vol1」の104ページ目の1番目のセグメントについて、「/vol/sa1/vol1/page103/seg0.dat」に位置し、セグメントはボリューム「vol1」の104ページ目の6番目のセグメントに割り当てられていない、という応答を生成する。
0068 要するに、I/Oマッピングプロセス400の結果を使用することによって、ディスクI/Oプログラム119は実際に、読み出し/書き込みI/Oを記憶媒体117又は外部ファイルサーバ120に発行する。ページ又はセグメントが割り当てられない場合は、ディスクI/Oプログラム119はI/Oエラーを戻すことができ、又はページマッピングプログラム114はそこに新しいページを割り当てる。これは、システム構成に依存する。
0069 G.ページ移行及びマッピング変換方法
0070 システム管理者が特定するか、又はいくつかのイベントが発生した時に、ページ移行プログラム115はページ移行を実行する。例えば、記憶媒体117に利用可能なボリュームがあまりない、いくつかのページがそれほど頻繁にアクセスされていない、又はいくつかのページについてより多いI/Oスループットが必要であるときに、移行が実行される。移行の間、ホストコンピュータ130からのI/O要求は中断されている。ページ移行プログラム115は、いくつかのパターンの移行を実行する。
0071 記憶媒体からページ単位ファイルへの移行の一例として、図5aは、記憶媒体117上のページを外部ファイルサーバ120のページファイルに移行するためにの移行フロー510を示す。ステップ512では、ページ移行プログラム115は、記憶媒体117のターゲットページデータを外部ファイルサーバ120のファイルにコピーする。ファイルは、ストレージ装置、ボリュームID、及びページ番号に基づく。しかし、ページのすべてのデータにゼロが記入されている場合は、ファイルコピーは必要ない。ファイルコピーの後で、ページ移行プログラム115は、ステップ513で、移行されたページが外部ファイルサーバ120内に配置されていることを特定するために、ページマッピングテーブル200を修正する。ステップ514では、ページ移行プログラム115は、記憶媒体のページデータを消去する。この移行プロセスフローの後で、移行されたファイルは、ページ単位ファイルとして使用される。
0072 ページ単位ファイルから記憶媒体への移行の一例として、図5bは、外部ファイルサーバ120のページ単位ファイルのページを記憶媒体117に移行するための移行フロー520を示す。ステップ522では、ページ移行プログラム115は、ページマッピングテーブル200を参照することによって、記憶媒体117から未使用のページ領域を割り当てる。ステップ523では、ページ移行プログラム115は、外部ファイルサーバ120のページ単位ファイルのデータを、割り当てられたページ領域にコピーする。その後で、ページ移行プログラム115は、移行されたページがステップ524で記憶媒体117内に配置されていることを特定するために、ページマッピングテーブル200を修正する。ステップ525では、ページ移行プログラム115は、外部ファイルサーバ120のページ単位ファイルを削除する。
0073 ページ単位ファイルからセグメント単位ファイルへの移行の一例として、図5cは、外部ファイルサーバ120のページ単位ファイルのページをセグメント単位ファイルに移行するための移行フロー530を示す。ステップ532では、ページ移行プログラム115は、新しいディレクトリを作成する。ステップ533では、ページ移行プログラム115は、セグメント単位ファイルを作成し、ページ単位ファイルのデータをセグメント単位ファイルにコピーする。このステップでは、いずれかのセグメントのデータがすべてゼロの場合は、ページ移行プログラム115は、対応するセグメント単位ファイルを作成する必要がない。その後で、ページ移行プログラム115は、ステップ534でページ単位ファイルを削除する。
0074 セグメント単位ファイルからページ単位ファイルへの移行の一例として、図5dは、外部ファイルサーバ120のセグメント単位ファイルのページをページ単位ファイルに移行するための移行フロー540を示す。ステップ542では、ページ移行プログラム115は、セグメント単位ファイルをページ単位ファイルに連結させる。セグメント単位ファイルが存在しない場合、ページ単位ファイルの対応する領域は、すべてゼロである。ステップ543では、ページ移行プログラム115は、セグメント単位ファイルと、セグメント単位ファイルを格納するページ単位ディレクトリとを削除する。
0075 各移行の後で、中断されていたI/O要求が再開される。
0076 H.移行例
0077 移行の例として、図6は特定のページマッピングテーブル600を示し、図7は、特定のファイルツリー700を示す。ページマッピングテーブル600及びファイルツリー700は、ページマッピングテーブル200及びファイルツリー300に適用される移行の結果を示す。
0078 ページ移行プログラム115がボリューム「vol 1」のページ50〜54をディスク1から外部ファイルサーバ112に移行すると想定した場合、ページマッピングエントリ270(図2)は、3つのエントリ670、671、672に分割されて、ページ50〜54が外部ファイルサーバ「ノード1」に位置していたことを特定する。その後、ファイルツリー700はいくつかのページ単位ファイル710を有する。この例では、ページ53にはすべてゼロが記入され、ページ単位ファイル「page53.dat」は作成されない。
0079 ページ移行プログラム115がボリューム「vol 1」のページ105〜109を外部ファイルサーバ「ノード1」からディスク1に移行すると想定した場合、ページマッピングエントリ271(図2)は、2つのエントリ673及び674に分割され、ページ105〜109が現在ディスク1に配置されていることを特定する。その後、ファイルツリー700は、ページ単位ファイル370を有さない。
0080 ページ移行プログラム115がボリューム「vol 2」のページ2をページ単位ファイル「page002.dat」372からセグメント単位ファイルに移行すると想定した場合、ページ単位ファイル「page002.dat」372が取り除かれ、ページ単位ディレクトリ及びセグメント単位ファイル712が移行の後で作成される。この例では、セグメント2にはすべてゼロが記入され、セグメント単位ファイル「seg2.dat」は作成されない。
0081 ページ移行プログラム115がボリューム「vol 2」のページ1をセグメント単位ファイル371からページ単位ファイルに移行すると想定した場合、移行の後で、ページ単位ファイル「page001.dat」711が作成され、ページ単位ディレクトリ及びセグメント単位ファイル371が取り除かれる。
0082 上述のこれらのI/Oマッピング及び移行の方法を使用すると、ストレージシステム170は、記憶媒体117及び外部ファイルサーバ112上のチャンクデータを配置しかつ移行することを可能にし、ホスト130は、ファイルアクセスプロトコルなしで間接的にファイルサーバ120上のデータにアクセスすることができる。さらに、この方法は、ページデータをいくつかのセグメントに分割することを可能にし、重複排除方法は効率的に機能する。図1dの情報システム構成180では、格納された異なるストレージ装置110のファイルに対する重複排除を適用することができる。重複排除については、米国特許第2009/0132619号で開示されるような方法が受け入れられる。米国特許第7330950号で開示されるようなファイル単位階層ストレージ管理方法も適用可能であり、ファイル単位階層ストレージ管理方法は、より安価な記憶媒体にページ単位ファイル及びセグメント単位ファイルを格納することを可能にする。
0083 II. 第2の実施形態
0084 A.システム構成
0085 図8a及び図8bは、本発明の方法及び装置が適用され得る情報システムの第2の実施形態構成の一例を示す。図8aに示されるように、第2の実施形態の情報システムは、ホストコンピュータ130と、ストレージエリアネットワーク150と、ストレージシステム810とを含む。ストレージシステム810は、少なくとも一つのストレージ装置820を含む。ホストコンピュータ130は、SAN150を介してストレージインタフェース151を使用して、I/O要求をストレージ装置に発行する。図8bで示されるように、ストレージ装置820は、図1で示される第1の実施形態のストレージ装置110とほぼ同じであるが、追加の構成要素を有している。ストレージ装置820は、ネットワークインタフェースを有する必要がない。ストレージ装置820のメモリ822は、第1の実施形態のメモリ112と比較して、追加の構成要素を有している。メモリ812は、ファイルシステムプログラム123と、バッファキャッシュ125と、ディスク使用テーブル900とを有している。通信のために、ホストコンピュータ130及びストレージ装置820は、ストレージインタフェース151を有している。ストレージインタフェース151を使用して、ホストコンピュータ130及びストレージ装置820は、I/Oに対してSAN150を介して通信する。FC、iSCSI、FCoEなど、ストレージインタフェース151及びSAN150のための共通プロトコルが存在する。ホストコンピュータ130は、ストレージシステム810のユーザである。ホストコンピュータ130は、SAN150を介してストレージインタフェース151を使用してI/Oを発行する。
0086 B.ボリューム使用テーブル及びファイルサービス
0087 ストレージ装置820は、ディスクI/Oプログラム119及びファイルシステムプログラム123の両方を有し、よって、ストレージ装置820は、2つの目的のために内部記憶媒体117で構成されるディスクを使用することができる。つまり、ホストコンピュータ130からのディスクI/Oと、その上にファイルシステムを作るためである。図9は、ディスクID910、ホスト用920、及びサービスファイル用930の欄を有するディスク使用テーブル900の一例を示す。このディスク使用テーブル900は、どのディスクがディスクI/Oのために使用され、どのディスクがファイルサービスのためであるかを記述する。ストレージ装置820のマッピングテーブル200は、ディスク使用テーブル900で「ホスト用」と特定されたディスクIDを含むエントリしか有することができない。同様に、ファイルシステムプログラム123は、IDがディスク使用テーブル900で「ファイルサービス用」と特定されるディスクしか使用することができない。各ディスクは、「ホスト用」又は「ファイルサービス用」に割り当てられる。
0088 C.ページマッピングテーブル
0089 図10は、ページマッピングテーブル1000の一例を示す。ページマッピングテーブル1000は、ファイル中の欄1010以外は、ページマッピングテーブル200と同じである。ストレージシステム810は、外部ファイルサーバを有さないが、ストレージ装置820自体は、ファイルサービス能力を有している。そして、各ボリュームのページデータを、内部ファイルシステムにマップすることができる。よって、欄1010は、ページが内部ファイルシステムに割り当てられているか否かを示す。
0090 D.ページ/セグメントマッピングファイルツリー
0091 ストレージ装置820は、図3のファイルツリー300を使用することができる。ストレージ装置820に対応するディレクトリ320は、省略することができる。
ストレージ装置820は、図4が示すようにI/Oマッピングフロー400を、図5が示すようにページ移行フロー510、520、530、540を実行することができる。これらの方法を使用すると、ストレージシステム810は、ファイルの形式で記憶媒体117上のチャンクデータを配置し、かつ移行することが可能である。さらに、この方法は、ページデータをいくつかのセグメントに分割することを可能にし、重複排除方法は効率的に機能する。重複排除については、米国特許第2009/0132619号で開示されているような方法が受け入れられる。米国特許第7330950号で開示されているファイル単位階層ストレージ管理方法も適用可能であり、ファイル単位階層ストレージ管理方法は、より安価な記憶媒体にいくつかのページ単位ファイル及びセグメント単位ファイルを格納することを可能にする。
0092 III.第3の実施形態
0093 A.システム構成
0094 図11a〜図11gは、本発明の方法及び装置が適用され得る情報システムの第3の実施形態構成の一例を示す。図11aで示されるように、第3の実施形態の情報システムは、ホストコンピュータ130と、ストレージエリアネットワーク150と、ストレージシステム1110とを含む。ストレージシステム1110は、少なくとも一つのストレージ装置1120と、ファイル可能ストレージ装置1130とを含む。ホストコンピュータ130は、SAN150を介してストレージインタフェース151を使用して、I/O要求をストレージ装置1120に発行する。さらに、ストレージ装置1120は、内部SAN153を介して、ディスクI/O要求をファイル可能ストレージ装置1130に、ファイルアクセスネットワーク160を介して、ファイルI/O要求をファイル可能ストレージ装置1130に発行することができる。図11bで示されるように、ストレージ装置1120は、第1の実施形態のストレージ装置110とほぼ同じであるが、いくつかの構成要素がストレージ装置110とは異なる。ストレージ装置1120はそのメモリ1121に、ページマッピングプログラム1122と、ページマッピングテーブル1200と、ページ移行プログラム1124とを有する。
0095 図11cに示されるように、ファイル可能ストレージ装置1130は、SAN150を介してディスクI/O及びファイルアクセスネットワーク162を介してファイルI/Oの両方を処理することができるように、ストレージインタフェース151及びネットワークインタフェース161を有する。ファイル可能ストレージ装置1130は、ディスクI/Oを処理するためのディスクI/Oプログラム119及びディスクキャッシュ113を有し、メモリ1132のファイルI/Oを処理するためのファイルシステムプログラム123、バッファキャッシュ125、及びネットワークファイルプロセスプログラム124を有する。ファイル可能ストレージ装置1130は、第2の実施形態のストレージ装置820のように、ローI/O及びファイルI/Oの両方のために記憶媒体117を使用する。さらに、ファイル可能ストレージ装置1130は、ページデータコピープログラム1133を有することができ、これは、記憶媒体117間でデータをコピーする。ファイル可能ストレージ装置1130は、第2の実施形態のストレージ装置820に設けられるような、ページマッピングプログラム1122、ページマッピングテーブル1200、ページ移行プログラム115、及びページ・ファイル名マッピングプログラム118などの追加の構成要素を有してもよい。
0096 通信のために、ホストコンピュータ130及びストレージ装置1120は、ストレージインタフェース151を有する。ストレージインタフェース151を使用して、ホストコンピュータ130及びストレージ装置1120は、SAN150を介してI/Oのために通信する。図11aに示されるように、ストレージ装置1120及びファイル可能ストレージ装置1130は、内部ストレージエリアネットワーク153を介してI/Oを通信する。FC、iSCSI、FCoEなどの、ストレージインタフェース151及びSAN153のための共通プロトコルが存在する。ネットワークインタフェース161を備えるストレージ装置1120及びファイル可能ストレージ装置1130は、ファイルアクセスネットワーク160を介してファイルI/Oをストレージ装置1120に通信かつ発行することができる。NFS(ネットワークファイルシステム)、CIFS(コモンインターネットファイルシステム)、AFP(アップルファイリングプロトコル)などのネットワークを介したファイルI/Oインタフェースのための共通プロトコルが存在する。
ストレージ装置1120はまた、「ページコピー要求」をファイル可能ストレージ装置1130に発行するためにこのネットワーク160を使用する。ホストコンピュータ130は、ストレージシステム1110のユーザである。ホストコンピュータ130は、SAN150を介してストレージインタフェース151を使用してI/Oを発行する。
0097 B.ネットワークトポロジ・バリエーション及び統合型ネットワーク
0098 図11d〜図11gは、本発明の方法及び装置が適用され得る情報システム構成1160、1170、1180、及び1190の他の例を示す。構成1160では、複数のストレージ装置1120が存在し、各装置1120は、内部SAN153を介してディスクI/O要求をファイル可能ストレージ装置1130に発行することができ、ファイルアクセスネットワーク160を介してファイルI/O要求をファイル可能ストレージ装置1130に発行することができる。情報システム構成1170では、SAN150及び内部SAN153が統合され、SAN150は、ホストコンピュータ130とストレージ装置1120の間のディスクI/O、及びストレージ装置1120とファイル可能ストレージ装置1130の間のディスクI/Oの両方のために使用される。情報システム構成1180では、ストレージ装置1120及びファイル可能ストレージ装置1130は、ストレージインタフェース151及びネットワークインタフェース161の代わりに、統合型インタフェース192を有する。統合型インタフェース192及び内部統合型ネットワーク194は、同じ物理媒体でストレージプロトコルとファイルI/Oプロトコルの両方を処理することができる。例えば、FCoE、iSCSI、NFS、CIFSがサポートされる。統合型インタフェース192及び内部統合型ネットワーク194がストレージプロトコルとファイルI/Oプロトコルの両方をサポートするので、情報システム構成1100についての以下の説明は、情報システム構成1180にも当てはまる。情報システム概要1190では、SAN150及び内部統合型ネットワーク194は、情報システム構成1180に加えて統合型ネットワーク193に統合される。統合型インタフェース192及び統合型ネットワーク193がストレージプロトコルとファイルI/Oプロトコルの両方をサポートするので、情報システム構成1100についての以下の説明は、情報システム構成1190にも当てはまる。
0099 C.ページマッピングテーブル
0100 図12は、ページマッピングテーブル1200の一例を示す。ページマッピングテーブル1200は、ホストコンピュータ130、記憶媒体117、及びファイル可能ストレージ装置1130からアクセス可能な論理ボリューム間の関係を説明する。ページマッピングテーブル1200は、第1の実施形態及び第2の実施形態のページマッピングテーブル200及び1000を組み合わせた欄を有する(図2及び図10)。すなわち、ページマッピングテーブル1200は、ノードID欄1210と「ファイルの中」欄1220の両方を有する。これらの欄1210及び1220を使用して、ページマッピングテーブル1200は、各データの3つの位置を示す。すなわち、(1)内部記憶媒体117の中、(2)外部ファイル可能ストレージ装置1130の中であって、データにアクセスするためにディスクI/Oを使用する位置、(3)外部ファイル可能ストレージ装置1130の中であって、データにアクセスするためにファイルI/Oを使用する位置。ノードID欄1210に「内部」を有するエントリは、ケース(1)を示す。ノードID欄1210に「内部」を有さず、「ファイルの中」欄1220に「no」を有するエントリは、ケース(2)を示す。ノードID欄1210に「内部」を有さず、「ファイルの中」欄1220に「yes」を有するエントリは、ケース(3)を示す。
0101 D.I/Oマッピング方法
0102 ディスクI/Oプログラム119がI/O要求をホストコンピュータ130から受信すると、ページマッピングプログラム1112及びページ・ファイル名マッピングプログラム118は、ページマッピングテーブル1200及びファイルツリー300を参照することによって、どこを読み出して、どこに書き込むべきかを特定する。図13は、I/Oマッピングプロセス1300の一例を示す。I/Oマッピングプロセス1300は、ステップ1305以外は、第1の実施形態のマッピングプロセス400(図4)と同じである。ステップ425においてページがディスクIDにマップされていない場合は、I/Oマッピングプロセス1300は、ステップ1305を実行する。ステップ1305では、ページマッピングプログラム1112は、ページマッピングテーブル1200のノードID欄1210を参照することによって、ターゲットページが内部ノードにマッピングされるか否かをチェックする。ページが内部ノードにマップされている場合、ページマッピングプログラム1112は、ステップ430を実行する。ページが外部ノードにマップされている場合、ページマッピングプログラム1112は、次の式に従って位置を計算することができる。すなわち、ステップ1310において、(ボリューム内の要求されたページ番号)−(ページマッピングテーブルエントリに書き込まれたページオフセット)+(ページマッピングテーブルエントリに書き込まれたディスクオフセット)。
0103 I/Oマッピングプロセス1300の後で、ページマッピングプログラム1112は、ページの位置を取得する。ページ位置情報を使用して、ディスクI/Oプログラム119は、ディスクI/O要求を内部記憶媒体117又はファイル可能ストレージ装置1130に発行することができる。あるいは、ディスクI/Oプログラム119は、ページ・ファイル名マッピングプログラム118によって生成されたパス名を使用して、ファイルI/O要求をファイル可能ストレージ装置1130に発行することができる。
0104 E.ページ移行及びマッピング変換方法
0105 システム管理者が特定するか、又はいくつかのイベントが発生した時、ページ移行プログラム1124は、ページ移行を実行する。例えば、記憶媒体117で利用可能なボリュームがあまりない、又はより多くのI/Oスループットが必要であるときに、移行が実行される。移行の間に、ホストコンピュータ130からのI/O要求は中断されている。ページ移行プログラム1124は、いくつかのパターンの移行を実行する。
0106 異なるストレージ装置の記憶媒体間の移行について、この移行方法は、位置タイプ(1)から位置タイプ(2)、位置タイプ(2)から位置タイプ(1)、又は位置タイプ(2)から位置タイプ(2)への移行を実現する。図14aは、内部記憶媒体と外部ファイルストレージ装置の記憶媒体の間でページを移行するための移行フロー1410の一例を示す。ページが移行元ストレージ装置から移行先ストレージ装置に移行されることが想定される。ステップ1412では、ページ移行プログラム1124は、移行先ストレージ装置の記憶媒体117の未使用の領域にページ領域を割り当てる。ステップ1413では、ページ移行プログラム1124は、移行元ストレージ装置の記憶媒体117のページデータを、移行先ストレージ装置の記憶媒体にコピーする。ステップ1414では、ページ移行プログラム1124は、移行されたページ位置を特定するために、ページマッピングテーブル1200のエントリを固定する。ステップ1415では、ページ移行プログラム1124は、移行元ストレージ装置の記憶媒体のページデータを消去する。
0107 記憶媒体からページ単位ファイルへの移行については、この移行方法は、位置タイプ(2)から位置タイプ(3)、又は位置タイプ(1)から位置タイプ(3)への移行を実現する。図14bは、移行元ストレージ装置の記憶媒体から移行元ファイル可能ストレージ装置のファイルシステム上のページ単位ファイルにページデータを移行するための移行フロー1430の一例を示す。ステップ1432では、ページ移行プログラム1124は、ページデータコピープログラム1133がこの移行のために利用可能か否かをチェックする。ステップ1432で、移行先ストレージ装置がページデータコピープログラム1133を有さない場合は、ページデータコピープログラム1133は利用できない。ページデータコピープログラム1133が利用できない場合、ページ移行プログラム1124は、ステップ1433で、移行元ストレージ装置の記憶媒体117からページデータを読み出し、移行先ファイル可能ストレージ装置のファイルシステムのページ単位ファイルに書き込む。次に、ページ移行プログラム1124は、ステップ1434で移行元ストレージ装置の記憶媒体117のページデータを消去する。ステップ1433及び1434では、ページデータは、ストレージ装置120がCPU時間及びストレージインタフェース151及びネットワークインタフェース161の帯域幅を消費するように、SAN150及びファイルアクセスネットワーク160上を移動しなければならない。ページデータコピープログラム1133が利用可能な場合は、ストレージ装置は、ページデータコピープロセスを移行先ファイル可能ストレージ装置1130に委任することができる。次に、ステップ1435では、ページ移行プログラム1124は、ファイルアクセスネットワーク160を介してページコピー要求を移行先ファイル可能ストレージ装置に発行する。ステップ1436では、移行先ファイル可能ストレージ装置1130のページデータコピープログラム1133は、ページコピー要求を受信し、記憶媒体117からページデータを読み出し、ページ単位ファイルに書き込み、移行先ファイル可能ストレージ装置1130の記憶媒体117からページデータを消去する。ページコピー要求及びページデータコピープログラム1133を使用して、ページデータは、移行先ファイル可能ストレージ装置1130で内部的に処理され、ストレージ装置1120は、CPU時間及び帯域幅を消費しない。ステップ1434又は1436の後で、ページ移行プログラム1124は、ステップ1437で移行されたページ位置を特定するために、ページマッピングテーブル1200のエントリを固定する。
0109 ファイルシステムのページ単位ファイルから記憶媒体への移行に対する移行方法は、位置タイプ(3)から位置タイプ(2)、又は位置タイプ(3)から位置タイプ(1)への移行を実現する。図14cは、移行元ファイル可能ストレージ装置のファイルシステム上のページ単位ファイルから移行先ストレージ装置の記憶媒体にページデータを移行するための移行フロー1450の一例を示す。ステップ1451では、ページ移行プログラム1124は、移行先ストレージ装置の記憶媒体117の未使用領域にページ領域を割り当てる。ステップ1453では、ページ移行プログラム1124は、ページデータコピープログラム1133がこの移行のために利用可能か否かをチェックする。ステップ1453で、移行先ストレージ装置がページデータコピープログラム1133を有さない場合は、ページデータコピープログラム1133は利用できない。ページデータコピープログラム1133が利用できないときに、ページ移行プログラム1124は、ステップ1454において、移行元ファイル可能ストレージ装置1130のページ単位ファイルからページデータを読み出し、移行先ストレージ装置の記憶媒体117に書き込む。ステップ1454及び1455では、ページ移行プログラム1124がページ単位ファイルを見つけることができない場合は、ページ移行プログラム1124は、ページ単位ファイルにはすべて0が記入され、かつ縮小され又は省略されていたとみなし、記憶媒体117に0を書き込む。次に、ステップ1455で、ページ移行プログラム1124は、移行元ファイル可能ストレージ装置1130のファイルシステムのページ単位ファイルを消去する。ステップ1454及び1455では、ストレージ装置120がCPU時間と、ストレージインタフェース151及びネットワークインタフェース161の帯域幅とを消費するように、ページデータは、SAN150及びファイルアクセスネットワーク160上を移動しなければならない。ページデータコピープログラム1133が利用できる場合は、ストレージ装置は、ページデータコピープロセスを移行先ファイル可能ストレージ装置1130に委任することができる。次に、ステップ1456では、ページ移行プログラム1124は、ファイルアクセスネットワーク160を介してページコピー要求を移行先ファイル可能ストレージ装置に発行する。ステップ1457では、移行先ファイル可能ストレージ装置1130のページデータコピープログラム1133は、ページコピー要求を受信し、ファイルシステムからページ単位ファイルを読み出し、記憶媒体117に書き込み、移行先ファイル可能ストレージ装置1130のファイルシステムからページ単位ファイルを消去する。ステップ1456及び1457では、ページデータコピープログラム1133がページ単位ファイルを見つけられない場合は、ページデータコピープログラム1133は、ページ単位ファイルにすべて0が記入され、かつ縮小され又は省略されていたとみなし、記憶媒体117に0を書き込む。ステップ1457では、ページコピー要求及びページデータコピープログラム1133を使用して、ページデータは、移行先ファイル可能ストレージ装置1130で内部的に処理され、ストレージ装置1120は、CPU時間及び帯域幅を消費しない。ステップ1434又は1436の後、ページ移行プログラム1124は、ステップ1458において、移行されたページの位置を特定するために、ページマッピングテーブル1200のエントリを固定する。
0110 ページ単位ファイルからセグメント単位ファイルへの移行については、第1の実施形態に示される移行フロー530(図5c)も適用できる。
0111 セグメント単位ファイルからページ単位ファイルへの移行については、第1の実施形態に示される移行フロー530(図5c)も適用できる。
0112 各移行の後で、中断されていたI/O要求が再開される。
0113 上述の方法を使用して、ストレージシステム1110は、次の3つの状態でチャンクデータを配置しかつ移行することを可能にする。すなわち、(1)ストレージ装置1120の記憶媒体、(2)外部ファイル能力ストレージ1130の記憶媒体、(3)外部ファイル可能ストレージ1130のページ単位ファイルである。さらに、前記方法は、ページデータをセグメント単位ファイルに分割することを可能にし、重複排除方法が効率的に機能する。情報システム構成1160(図11d)では、格納された異なるストレージ装置1120のファイルに対する重複排除を適用することができる。重複排除については、米国特許第2009/0132619号で開示されたような方法が受け入れられる。米国特許第7330950号で開示されたようなファイル単位階層ストレージ管理方法も適用可能であり、かつファイル単位階層ストレージ管理方法は、より安価な記憶媒体にいくつかのページ単位ファイル及びセグメント単位ファイルを格納することを可能にする。
0114 上述の特徴に基づいた本発明の特定の実施形態に従って、本発明のシステムは、一つ以上のホストコンピュータと、ストレージ装置と、ファイルサーバ(又はファイル可能ストレージ装置又は内部ファイルシステム)とを含む。ストレージ装置は、チャンクプールから論理データボリュームにチャンクを割り当てる能力を有するとともに、ファイルサーバにアクセスし、かつ内部記憶媒体上にファイルシステムを作成するためのインタフェースを有する。各チャンクは、「ページ」と呼ばれる固定サイズを有する。ストレージシステムは、データボリュームのページとファイルサーバに格納されたファイルとの間を接続するためのページマッピングテーブルを有する。また、ストレージシステムは、データボリュームとファイル名の間でページ位置を相互変換する種類のプログラムであるページ・ファイル名マッピングプログラムを有する。ストレージシステムは、これらのテーブル及びユニットを使用してファイルサーバにページデータを格納することができる。さらに、ストレージシステムは、データのページをより小さいファイルに分割し、それをファイルサーバに格納することができる。ページ・ファイル名マッピングプログラムが通常の方法でファイルに名前を付ける場合に、ストレージシステムは、ページマッピングテーブルをより大きくする必要はない。それでもなお、分割されたファイルは、各ページのサイズよりも小さい。
0115 ストレージシステムは、上述のテーブル及びユニットを備えるTSM(階層型ストレージ管理)能力を有する。本発明は、TSM能力によって適用することができる。TSMが可能であり、かつページマッピングテーブル及びページ・ファイル名マッピングプログラムを有するストレージシステムは、ストレージシステム及びいくつかのファイルサーバで、なんらかの種類の記憶媒体によってチャンクプールを構築する。ストレージシステムは、記憶媒体と外部ファイルサーバの混合であるページを、一つの論理ボリュームに割り当てることができる。ファイルシステムプログラムを有するストレージシステムは、直接ローボリュームにだけでなく、ファイルとして内部ファイルシステムにページを格納することができる。この状況では、ストレージシステムは、高速ロー媒体で頻繁にアクセスされるページを格納し、(高速でない)ファイルシステムでほとんどアクセスされないチャンクを分割かつ格納する。
0116 当然のことながら、図1、図8、図11に示すシステム構成は、本発明が実施され得る情報システムの単なる例示であり、本発明は特定のハードウェア構成に限定されない。本発明を実施するコンピュータ及びストレージシステムは、上述の発明を実施するために用いられるモジュール、プログラム及びデータ構造を格納しかつ読み出すことができる公知のI/O装置(例えば、CD及びDVDドライブ、フロッピーディスクドライブ、ハードドライブ等)も有し得る。これらのモジュール、プログラム及びデータ構造は、当該コンピュータ読取可能媒体上で符号化することができる。例えば、本発明のデータ構造は、本発明で使用されるプログラムが存在する一つ以上のコンピュータ読取可能媒体から独立したコンピュータ読取可能媒体に格納することができる。システムの構成要素は、あらゆる形態又は媒体のデジタルデータ通信(例えば、通信ネットワーク)によって相互接続することができる。通信ネットワークの例としては、ローカルエリアネットワーク、ワイドエリアネットワーク(例えば、インターネット)、無線ネットワーク、ストレージエリアネットワーク等を含む。
0117 説明では、本発明を徹底的に理解できるようにするために説明する目的で多くの詳細が記載されている。しかし、当業者にとっては、本発明を実施するためにはこれら具体的な詳細のすべてが必要なわけではないことは明らかであるだろう。また、留意すべき点として、本発明は、通常はフローチャート、流れ図又はブロック図として記載されるプロセスとして説明されてもよい。フローチャートでは動作を逐次プロセスとして説明し得るが、動作の多くは並行して又は同時に実行することができる。さらに、動作の順番は並び替えてもよい。
0118 当技術分野では周知であるように、上述の動作は、ハードウェア、ソフトウェア、又はソフトウェアとハードウェアの組み合わせによって実行することができる。本発明の実施形態の様々な態様は、回路や論理装置(ハードウェア)を用いて実施してよく、その一方で、その他の態様は、機械読み取り可能媒体上に記憶された命令を用いて実施してもよく、これがプロセッサによって実行された場合には、本発明の実施形態を実行する方法をプロセッサに実施させるものである。さらに、本発明のいくつかの実施形態は、ハードウェアのみにおいて実施されてよく、その他の実施形態は、ソフトウェアのみで実施されてよい。さらに、説明された様々な機能は、一つのユニットで実施することができ、又はあらゆる方法によって多くの構成要素に分散することができる。ソフトウェアによって実施された場合、上記の方法は、コンピュータ読取可能媒体に記憶された命令に基づいて、汎用コンピュータなどのプロセッサによって実行され得る。望ましい場合には、圧縮及び/又は暗号化形式で命令を媒体に記憶することができる。
0119 上記により、本発明が、ストレージシステムにおける各データボリュームへのチャンク割り当てを制御するための方法、装置及びコンピュータ読取可能媒体に記憶されたプログラムを提供するものであることが明らかであろう。さらに、本明細書において特定の実施形態が示され説明されているが、当業者にとって当然のことながら、開示された特定の実施形態の代わりに、同じ目的を達成するために創出されたいかなる構成を用いてもよい。本開示は、本発明のあらゆる適応又はバリエーションを対象とすることを意図したものであり、また以下の請求項で用いられる用語は、本発明を本明細書で開示されている特定の実施形態に限定するものとは解釈されるべきではないことが理解される。むしろ本発明の範囲は、以下の請求項によって全面的に判断されるものであり、以下の請求項は、当該請求項が権利を有する同等物の範囲全体と共に、請求項の解釈について確立された原則に従って解釈されるものである。

Claims (20)

  1. I/O要求をストレージシステムに発行するホストコンピュータを含む情報処理システムにおいて、
    前記ストレージシステムは、
    プロセッサと、複数のストレージディスクと、ページマッピングテーブル、ページマッピングプログラム及びページファイル名マッピングプログラムを格納するメモリとを含む、ストレージ装置と、
    ファイル名によって、ファイルのファイルツリーを管理するファイルシステムと
    を備え、
    前記ページマッピングテーブルは、前記ホストコンピュータからアクセス可能な前記ストレージ装置のデータボリュームと、前記ストレージディスクと、前記ファイルシステムとの間の関係を特定し、前記データボリュームの各々は複数のページを含み、各ページは複数のセグメントを含み、各セグメントは複数のセクタを含み、
    各ストレージ装置に対応する前記ファイルツリーは、前記データボリュームと、前記ページと、前記セグメントとの間の関係に基づくディレクトリ及びファイルの階層を有し、
    前記プロセッサは、前記メモリに格納されている前記ページマッピングプログラム及び前記ページファイル名マッピングプログラムを実行して、前記ページマッピングテーブル及び前記ファイルツリーを参照することによって、前記I/O要求に含まれるデータの位置をページごとに特定する、
    ことを特徴とする、情報処理システム。
  2. 前記ストレージシステムは、
    複数のストレージ装置とファイルサーバとを備え、
    前記ファイルシステムは前記ファイルサーバに設けられ、前記ファイルサーバは、ファイルI/Oのためにファイルアクセスネットワークを介して前記ストレージ装置に接続されている、
    ことを特徴とする、請求項1に記載の情報処理システム。
  3. ストレージシステムは、
    前記ファイルシステムを含むファイルサーバをさらに備え、
    前記ストレージ装置及び前記ファイルサーバの各々は、ストレージプロトコルとファイルI/Oプロトコルの両方を処理するための統合型ネットワークに結合される統合型インタフェースを含む、
    ことを特徴とする、請求項1に記載の情報処理システム。
  4. 前記ファイルシステムは、ファイルサービス能力を有する前記ストレージ装置の中に設けられる、請求項1に記載の情報処理システム。
  5. 前記ページマッピングテーブルは、
    前記ストレージ装置のボリューム識別子によって、各データボリュームの複数のエントリのうちの少なくとも1行を特定し、複数のエントリの各行が前記ボリューム識別子に対して連続するページのグループと対応付けられ、複数エントリの各行が、データボリュームのオフセットを示すページオフセットと、前記行の前記ページのグループの長さと、
    (a)前記行の前記ページのグループが前記ファイルシステム内に配置されていることを示す「ファイル内」についての「yes」のエントリか、又は
    (b)ページデータを入れるストレージディスクを識別するディスク識別子、及び前記行の前記ページのグループについて前記ストレージディスクのオフセットを示すディスクオフセットか
    のいずれか一方を含む、
    ことを特徴とする、請求項4に記載の情報処理システム。
  6. 前記ストレージシステムは、
    ストレージディスクへのアクセスに加えてファイルにアクセス可能な、前記ファイルシステムを含むファイルアクセス可能ストレージ装置を備え、
    前記ファイルアクセス可能ストレージ装置は、ディスクI/Oに対しては内部ストレージエリアネットワークを介して、及びファイルI/Oに対してはファイルアクセスネットワークを介して、前記ストレージ装置に結合されている、
    ことを特徴とする、請求項1に記載の情報処理システム。
  7. 前記ストレージシステムは、
    複数のストレージ装置を備え、
    前記複数のストレージ装置の各々は、ディスクI/Oに対しては前記内部ストレージエリアネットワークを介して、及びファイルI/Oに対しては前記ファイルアクセスネットワークを介して、前記ファイルアクセス可能ストレージ装置に結合されている、
    ことを特徴とする、請求項6に記載の情報処理システム。
  8. 前記ページマッピングテーブルは、
    前記ストレージ装置のボリューム識別子によって、各データボリュームの複数のエントリのうちの少なくとも1行を特定し、複数のエントリの各行が前記ボリューム識別子に対して連続するページのグループと対応付けられ、データボリュームのオフセットを示すページオフセットを含む、複数のエントリの少なくとも1行と、前記行の前記ページのグループの長さを示す長さと、
    (a)前記ストレージ装置のストレージディスクにページデータを入れることを示す「内部」というノード識別子、前記ページデータを入れる前記ストレージ装置のストレージディスクを特定するディスク識別子、及び前記行の前記ページのグループに対して前記ストレージディスクのオフセットを示すディスクオフセット、又は
    (b)ページデータを入れるための前記ファイルアクセス可能ストレージ装置を示すノード識別子、及び(i)前記行の前記ページのグループが、前記ファイルアクセス可能ストレージ装置の前記ファイルシステム内に配置されていることを示す「ファイルの中」についての「yes」のエントリか、又は(ii)前記行の前記ページのグループが前記ファイルアクセス可能ストレージ装置のストレージディスク内に配置されていることを示す「ファイルの中」についての「no」のエントリ、ページデータを入れるための前記ファイルアクセス可能ストレージ装置の前記ストレージディスクを識別するディスク識別子、及び前記行の前記ページのグループについて前記ストレージディスクのオフセットを示すディスクオフセットかのいずれか一方と、を特定する、
    ことを特徴とする、請求項6に記載の情報処理システム。
  9. ストレージシステムは、
    前記ファイルシステムを含むファイルアクセス可能ストレージ装置をさらに備え、
    前記ファイルアクセス可能ストレージ装置は、ファイルI/Oのためにファイルアクセスネットワークを介して前記ストレージ装置に結合されており、
    前記ストレージ装置及び前記ファイルアクセス可能ストレージ装置の各々は、ディスクI/Oのために前記ホストコンピュータとのストレージインタフェースを有する、
    ことを特徴とする、請求項1に記載の情報処理システム。
  10. 前記ページマッピングテーブルは、
    前記ストレージ装置のボリューム識別子によって、各データボリュームの複数のエントリのうちの少なくとも1行を特定し、複数のエントリの各行が前記ボリューム識別子に対して連続するページのグループと対応付けられ、複数エントリの各行が、データボリュームのオフセットを示すページオフセットと前記行の前記ページのグループの長さと、
    (a)ページデータを入れるための前記ファイルサーバを識別するためのノード識別子か、又は
    (b)ページデータを入れる前記ストレージ装置のストレージディスクを識別するディスク識別子、及び前記行の前記ページのグループについて前記ストレージディスクのオフセットを示すディスクオフセットか
    のいずれか一方を特定する、
    ことを特徴とする、請求項1に記載の情報処理システム。
  11. 前記ファイルツリーは、
    各ストレージ装置について、ストレージ単位ディレクトリと、各ストレージ単位ディレクトリの配下の複数のボリューム単位ディレクトリと、一つ以上の前記ボリューム単位ディレクトリの配下の少なくとも一つのページ単位ファイルと、一つ以上の前記ボリューム単位ディレクトリの配下の少なくとも一つのページ単位ディレクトリと、前記少なくとも一つのページ単位ディレクトリの各々の配下の複数のセグメント単位ファイルとを有する、
    ことを特徴とする、請求項1に記載のストレージシステム。
  12. I/O要求をストレージシステムに発行するホストコンピュータを含む情報処理システムにおいて、前記ページマッピングテーブル及び前記ファイルツリーを参照することによって、前記I/O要求に含まれるデータの位置を特定する方法であって、
    前記ストレージシステムは、
    プロセッサと、複数のストレージディスクと、ページマッピングテーブル、ページマッピングプログラム及びページファイル名マッピングプログラムを格納するメモリとを含む、ストレージ装置と、
    ファイル名によって、ファイルのファイルツリーを管理するファイルシステムと
    を有し、
    前記ページマッピングテーブルは、前記ホストコンピュータからアクセス可能な前記ストレージ装置のデータボリュームと、前記ストレージディスクと、前記ファイルシステムとの間の関係を特定し、
    前記ファイルツリーは、各ストレージ装置について、ストレージ単位ディレクトリと、各ストレージ単位ディレクトリの配下の複数のボリューム単位ディレクトリと、一つ以上の前記ボリューム単位ディレクトリの配下の少なくとも一つのページ単位ファイルと、一つ以上の前記ボリューム単位ディレクトリの配下の少なくとも一つのページ単位ディレクトリと、前記少なくとも一つのページ単位ディレクトリの各々の配下の複数のセグメント単位ファイルとを有し、
    前記ページマッピングプログラムは、前記I/O要求に含まれる前記データの各ターゲットページについて、
    前記ターゲットページが前記ページマッピングテーブルに記述されているか否かを判断し、否定的判断がなされた場合は、「ページは未割り当て」という情報を前記プロセッサに戻し、
    肯定的判断がなされた場合は、前記ターゲットページが前記ストレージディスクに割り当てられていることを示す値がページマッピングテーブルに記述されているか否かを判断し、肯定的判断がなされた場合は、前記ストレージディスクにおける位置を計算し、かつ前記計算された位置と共に「ディスクに割り当て済み」という情報を前記プロセッサに戻し、
    否定的判断がなされた場合は、前記ファイルツリーを参照することによって、前記ターゲットページが前記ファイルシステムのページ単位ファイルに対応するか否かを判断し、肯定的判断がなされた場合は、前記ページ単位ファイルのファイル名と共に「ページ単位ファイルに割り当て済み」という情報を前記プロセッサに戻し、
    否定的判断がなされた場合は、前記ファイルツリーを参照することによって、前記ターゲットページが前記ファイルシステムのページ単位ディレクトリに対応するか否かを判断し、否定的判断がなされた場合は、「ページは未割り当て」という情報を前記プロセッサに戻し、
    肯定的判断がなされた場合は、前記ファイルツリーを参照することによって、前記ターゲットページが前記ファイルシステムのセグメント単位ファイルに対応するか否かを判断し、肯定的判断がなされた場合は、前記セグメント単位ファイルのファイル名と共に「セグメント単位ファイルに割り当て済み」という情報を前記プロセッサに戻し、
    否定的判断がなされた場合は、「セグメントは未割り当て」という情報を前記プロセッサに戻すこと
    を含むことを特徴とする、方法。
  13. 前記ストレージシステムは、前記ファイルシステムがその中に設けられるファイルアクセス可能ストレージ装置をさらに含み、前記ファイルアクセス可能ストレージ装置は前記ストレージ装置に結合されており、
    前記ターゲットページが前記ストレージディスクに割り当てられていることを示す値がページマッピングテーブルに記述されているか否かを判断する際に、肯定的判断がなされた場合は、前記ターゲットページがストレージ装置の内部ノードにマップされている場合には、前記ストレージ装置の前記ストレージディスクにおける位置を計算し、かつ前記計算された位置と共に「ディスクに割り当て済み」という情報を前記プロセッサに戻し、前記ターゲットページが前記ストレージ装置の内部ノードにマップされていない場合には、前記ファイルアクセス可能ストレージ装置の前記ストレージディスクにおける位置を計算し、かつ前記計算された位置と共に「外部ストレージに割り当て済み」という情報を前記プロセッサに戻すことをさらに含む、
    ことを特徴とする、請求項12に記載の方法。
  14. 前記ストレージ装置及び前記ファイルアクセス可能ストレージ装置のうち一方が移行元ストレージ装置であり、前記ストレージ装置及び前記ファイル可能記憶媒体のうち他方が移行先ストレージ装置であって、
    前記移行先ストレージ装置のストレージディスクの未使用領域にページ領域を割り当てることと、
    ページを移行するために、前記移行先ストレージ装置の前記ストレージディスクに前記移行元ストレージ装置の前記ストレージディスクのページデータをコピーすることと、
    前記移行されたページの位置を特定するために、前記ページマッピングテーブルの前記エントリを修正することと、
    前記移行元ストレージ装置の前記ストレージディスクの中の前記ページデータを消去することと
    をさらに含む、請求項13に記載の方法。
  15. 前記ストレージ装置が移行元ストレージ装置であり、前記ファイルアクセス可能ストレージ装置が移行先ストレージ装置であって、
    前記移行先ストレージ装置が、データを前記移行元ストレージ装置から前記移行先ストレージ装置にコピーするためのページデータコピープログラムを有さない場合、前記移行元ストレージ装置のページ移行プログラムは、前記移行元ストレージ装置のストレージディスクからページデータを読み出し、前記移行先ストレージ装置のページファイルに前記ページデータを書き込み、かつ前記移行元ストレージ装置の前記ストレージディスクから前記ページデータを消去することと、
    前記移行先ストレージ装置が、データを前記移行元ストレージ装置から前記移行先ストレージ装置にコピーするためのページデータコピープログラムを有する場合、前記移行元ストレージ装置の前記移行プログラムは、前記移行先ストレージ装置にページデータコピー要求を発行し、前記ページデータコピープログラムは、前記移行先ストレージ装置のストレージディスクから前記移行先ストレージ装置の前記ファイルシステムのページファイルに内部的にページデータをコピーし、かつ前記移行先ストレージ装置の前記ストレージディスクから前記ページデータを消去することと
    をさらに含むことを特徴とする、請求項13に記載の方法。
  16. 前記ファイルアクセス可能ストレージ装置が移行元ストレージ装置であり、前記ストレージ装置が移行先ストレージ装置であって、
    前記移行元ストレージ装置のページ移行プログラムは、前記移行先ストレージ装置のストレージディスクの未使用領域にページ領域を割り当てることと、
    前記移行先ストレージ装置が、前記移行元ストレージ装置から前記移行先ストレージ装置にデータをコピーするためのページデータコピープログラムを有さない場合、前記移行元ストレージ装置のページ移行プログラムは、前記移行元ストレージ装置の前記ファイルシステムのページ単位ファイルからページデータを読み出し、前記移行先ストレージ装置の前記ストレージディスクに前記ページデータを書き込み、かつ前記移行元ストレージ装置の前記ファイルシステムから前記ページ単位ファイルを削除することと、
    前記移行先ストレージ装置が、前記移行元ストレージ装置から前記移行先ストレージ装置にデータをコピーするためのページデータコピープログラムを有する場合、前記移行元ストレージ装置のページ移行プログラムは前記移行先ストレージ装置にページデータコピー要求を発行し、前記ページデータコピープログラムは、前記移行先ストレージ装置の前記ファイルシステムのページ単位ファイルから前記移行先ストレージ装置の前記ストレージディスクに内部的にページデータをコピーし、かつ移行先ストレージ装置の前記ファイルシステムから前記ページ単位ファイルを削除することと
    をさらに含む、請求項13に記載の方法。
  17. 前記ストレージシステムは、前記ファイルシステムがその中に設けられているファイルサーバをさらに備え、前記ファイルサーバは、前記ストレージ装置に接続されており、
    前記ストレージ装置のストレージディスクの中の前記ターゲットページのターゲットページデータを、前記ファイルシステムがその中に設けられている前記ファイルサーバのファイルにコピーすることと、
    前記ターゲットページが前記ファイルサーバ内に配置されていることを特定するために、前記ページマッピングテーブルを修正することと、
    前記ストレージ装置の前記ストレージディスクの前記ターゲットページの前記ページデータを消去することと
    をさらに含む、請求項12に記載の方法。
  18. 前記ストレージシステムは、前記ファイルシステムを含むファイルサーバをさらに備え、前記ファイルサーバは、前記ストレージ装置に結合されており、
    前記ページマッピングテーブルを参照することによって、前記ストレージ装置のストレージディスクから未使用のページ領域を割り当てることと、
    ページを移行するために、前記割り当てられたページ領域に前記ファイルサーバのページ単位ファイルのデータをコピーすることと、
    前記移行されたページが前記ストレージ装置の前記ストレージディスク内に配置されていることを特定するために、前記ページマッピングテーブルを修正することと、
    前記ファイルサーバの前記ページ単位ファイルを削除することと
    をさらに含む、請求項12に記載の方法。
  19. 新しいページ単位ディレクトリを作成することと、
    前記新しいページ単位ディレクトリにセグメント単位ファイルを作成することと、
    前記作成されたセグメント単位ファイルにページ単位ファイルのデータを分割してコピーすることと、
    前記ページ単位ファイルを削除することと
    をさらに含む、請求項12に記載の方法。
  20. セグメント単位ファイルをページ単位ファイルに連結することと、
    セグメント単位ファイルが存在しない場合に、前記ページ単位ファイルの対応する領域にゼロを記入することと
    をさらに含む、請求項12に記載の方法。
JP2010192801A 2010-01-20 2010-08-30 ストレージシステムのためのi/o変換方法及び装置 Expired - Fee Related JP5410386B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/690,404 US8281105B2 (en) 2010-01-20 2010-01-20 I/O conversion method and apparatus for storage system
US12/690,404 2010-01-20

Publications (2)

Publication Number Publication Date
JP2011150681A JP2011150681A (ja) 2011-08-04
JP5410386B2 true JP5410386B2 (ja) 2014-02-05

Family

ID=43836596

Family Applications (1)

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

Country Status (3)

Country Link
US (2) US8281105B2 (ja)
EP (1) EP2348425A1 (ja)
JP (1) JP5410386B2 (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8645490B2 (en) * 2010-06-08 2014-02-04 Microsoft Corporation Web site implementation by mapping expression evaluation
WO2013115822A1 (en) 2012-02-02 2013-08-08 Hewlett-Packard Development Company, L.P. Systems and methods for data chunk deduplication
EP2845107A4 (en) * 2012-05-01 2015-12-23 Hewlett Packard Development Co SEGMENT COMBINATION FOR DEDUPLICATION
US8700578B1 (en) * 2012-09-27 2014-04-15 Emc Corporation System and method for determining physical storage space of a deduplicated storage system
US9817766B1 (en) * 2012-12-28 2017-11-14 EMC IP Holding Company LLC Managing relocation of slices in storage systems
US9984083B1 (en) * 2013-02-25 2018-05-29 EMC IP Holding Company LLC Pluggable storage system for parallel query engines across non-native file systems
US9563648B2 (en) 2013-02-25 2017-02-07 EMC IP Holding Company LLC Data analytics platform over parallel databases and distributed file systems
KR101505263B1 (ko) 2013-03-07 2015-03-24 포항공과대학교 산학협력단 데이터 중복 제거 방법 및 장치
US10496490B2 (en) 2013-05-16 2019-12-03 Hewlett Packard Enterprise Development Lp Selecting a store for deduplicated data
WO2014185918A1 (en) 2013-05-16 2014-11-20 Hewlett-Packard Development Company, L.P. Selecting a store for deduplicated data
JP6152704B2 (ja) * 2013-05-28 2017-06-28 富士通株式会社 ストレージシステム、情報処理装置の制御プログラム、およびストレージシステムの制御方法
US9454400B2 (en) * 2013-08-16 2016-09-27 Red Hat Israel, Ltd. Memory duplication by origin host in virtual machine live migration
US9459902B2 (en) * 2013-08-16 2016-10-04 Red Hat Israel, Ltd. Memory duplication by destination host in virtual machine live migration
JP6067819B1 (ja) * 2015-10-21 2017-01-25 株式会社東芝 階層化ストレージシステム、ストレージコントローラ、並びに重複排除及びストレージ階層化のための方法
WO2019127135A1 (zh) * 2017-12-27 2019-07-04 华为技术有限公司 文件页表管理技术

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4175788B2 (ja) * 2001-07-05 2008-11-05 株式会社日立製作所 ボリューム制御装置
US7107385B2 (en) * 2002-08-09 2006-09-12 Network Appliance, Inc. Storage virtualization by layering virtual disk objects on a file system
US7873700B2 (en) * 2002-08-09 2011-01-18 Netapp, Inc. Multi-protocol storage appliance that provides integrated support for file and block access protocols
JP4322031B2 (ja) * 2003-03-27 2009-08-26 株式会社日立製作所 記憶装置
JP2005078419A (ja) * 2003-09-01 2005-03-24 Ricoh Co Ltd 情報処理装置及びファイル管理方法
US20060010293A1 (en) * 2004-07-09 2006-01-12 Schnapp Michael G Cache for file system used in storage system
JP2007066259A (ja) * 2005-09-02 2007-03-15 Hitachi Ltd 計算機システムとストレージシステム並びにボリューム容量拡張方法
JP4927412B2 (ja) * 2006-02-10 2012-05-09 株式会社日立製作所 記憶制御方法及びその制御方法
JP2008171311A (ja) * 2007-01-15 2008-07-24 Matsushita Electric Ind Co Ltd データ保存装置
US7870105B2 (en) * 2007-11-20 2011-01-11 Hitachi, Ltd. Methods and apparatus for deduplication in storage system
JP5090941B2 (ja) * 2008-01-29 2012-12-05 株式会社日立製作所 ストレージサブシステム及びストレージシステム

Also Published As

Publication number Publication date
US20120331203A1 (en) 2012-12-27
JP2011150681A (ja) 2011-08-04
US8281105B2 (en) 2012-10-02
US8683174B2 (en) 2014-03-25
EP2348425A1 (en) 2011-07-27
US20110179250A1 (en) 2011-07-21

Similar Documents

Publication Publication Date Title
JP5410386B2 (ja) ストレージシステムのためのi/o変換方法及び装置
JP5530863B2 (ja) ストレージシステムのためのi/o変換方法及び装置
JP5685676B2 (ja) 計算機システム及びデータ管理方法
JP5914305B2 (ja) データ位置の管理方法および装置
EP2263145B1 (en) Hybrid media storage system architecture
JP5456063B2 (ja) アロケートオンライトのスナップショットを用いた、ダイナミックストレージ階層化のための方法及びシステム
US7584229B2 (en) Method and system for priority-based allocation in a storage pool
US7975115B2 (en) Method and apparatus for separating snapshot preserved and write data
JP5707540B1 (ja) 階層化ストレージシステム、ストレージコントローラ、及び階層間のデータ移動を代替する方法
JP5271424B2 (ja) ダイナミックストレージ階層化によるオンラインデータ配置をボリュームに提供するためのアロケートオンライトのスナップショット機構
US7792882B2 (en) Method and system for block allocation for hybrid drives
JP5309259B2 (ja) ストレージ装置及びその制御方法
WO2015076354A1 (ja) ストレージ装置と方法並びにプログラム
JP2015521310A (ja) 効率的なデータオブジェクトストレージ及び検索
JP6867578B2 (ja) ストレージ制御装置、ストレージシステム、ストレージ制御方法およびストレージ制御プログラム
US20130073826A1 (en) Storage system and method of controlling storage system
JP2019003416A (ja) ストレージ制御装置、制御プログラム及び制御方法
JPWO2016103356A1 (ja) 階層化ストレージシステム、ストレージコントローラ及びレプリケーション初期化方法
US11947799B1 (en) Systems and methods for using the TRIM command with solid state devices
JP5729173B2 (ja) 制御装置、制御方法およびストレージ装置
JP5638022B2 (ja) ディスクアレイ装置
Khil et al. Hot and Cold Data Replacement Method for Hybrid Storage System
WO2015145707A1 (ja) 追記型記憶装置への書き込みデータ決定方法
JP2018185760A (ja) データの重複を排除するためのストレージ装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120724

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121016

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121212

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130507

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130704

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20131008

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131106

LAPS Cancellation because of no payment of annual fees