JP5410386B2 - ストレージシステムのためのi/o変換方法及び装置 - Google Patents
ストレージシステムのためのi/o変換方法及び装置 Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
- G06F16/1824—Distributed file systems implemented using Network-attached Storage [NAS] architecture
- G06F16/1827—Management specifically adapted to NAS
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0608—Saving storage space on storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
- G06F3/0641—De-duplication techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0643—Management of files
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
0046 A.システム構成
0047 図1a〜図1cは、本発明の方法及び装置が適用され得る情報システム100の一例を示す。情報システムは、ホストコンピュータ130と、ネットワーク150と、ストレージシステム170とを含む。ストレージシステム170は、少なくとも一つのストレージ装置110と、少なくとも一つのファイルサーバ120とを有する。ストレージ装置110及びファイルサーバ120は、ファイルアクセスネットワーク160を介して通信する。ホストコンピュータ130は、SAN(ストレージエリアネットワーク)150を介してストレージインタフェースを使用して、ストレージ装置110にI/O要求を発行する。
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にも当てはまる。
0054 図15a〜図15dは、ブロックサイズの異なるレベルを示す。「セクタ」1510は、最小サイズであり、ホストコンピュータ130とストレージ装置110の間の共通の単位である。例えば、SCSI(Small Computer System Interface)のセクタサイズは、512バイトである。ホストコンピュータ130にとっては、「ボリューム」1500は、セクタのアレイのように見える。ホストコンピュータ130は、ターゲットボリューム1500、ボリューム1500の開始セクタ、及び読み取り又は書き込みを行うセクタ1510の番号を特定することによって、I/Oを発行する。
ページマッピングプログラム114及びページマッピングテーブル200は、ページ1520によって動的チャンク割り当てを管理する。ページのサイズが大きいときは、ページマッピングテーブル200は、より少ないエントリを管理するだけでよく、メモリの消費も少ない。しかし、ページが大きいと、内部断片化を引き起こし、シン・プロビジョニングの効果が下がり、ページの重複排除の効果も下がる。「セグメント」1530は、ページ1520とセクタ1510の間の中間レベルである。一つページ1520は、一つのセグメント又は複数のセグメント1530で構成され、一つのセグメントは、一つのセクタ又は複数のセクタ1510で構成される。一つのボリューム1500の各セグメント1530は、同じサイズを有する。上述のページサイズについての説明のように、セグメントサイズには、メモリ消費と、シン・プロビジョニング及び重複排除の効果との間の同様のトレードオフがある。各ストレージ装置110は、各ボリュームについて同じページサイズ及びセグメントサイズを、又はボリューム単位で又は媒体単位で異なるページサイズ及びセグメントサイズを使用することができる。
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のオフセットを示す。
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」を生成する。
0062 ディスクI/Oプログラム119がホストコンピュータ130からI/O要求を受信すると、ページマッピングプログラム114及びページ・ファイル名マッピングプログラム118は、ページマッピングテーブル200及びファイルツリー300を参照することによって、どこを読み取り/書き込むべきかを特定する。図4は、I/Oマッピングプロセス400の一例を示す。以下は、I/Oマッピングプロセス400の詳細を示す。ページマッピングプログラム114は、ページ単位でI/Oマッピングプロセス400を実行し、ステップ410で開始する。
0070 システム管理者が特定するか、又はいくつかのイベントが発生した時に、ページ移行プログラム115はページ移行を実行する。例えば、記憶媒体117に利用可能なボリュームがあまりない、いくつかのページがそれほど頻繁にアクセスされていない、又はいくつかのページについてより多いI/Oスループットが必要であるときに、移行が実行される。移行の間、ホストコンピュータ130からのI/O要求は中断されている。ページ移行プログラム115は、いくつかのパターンの移行を実行する。
0077 移行の例として、図6は特定のページマッピングテーブル600を示し、図7は、特定のファイルツリー700を示す。ページマッピングテーブル600及びファイルツリー700は、ページマッピングテーブル200及びファイルツリー300に適用される移行の結果を示す。
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を発行する。
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で「ファイルサービス用」と特定されるディスクしか使用することができない。各ディスクは、「ホスト用」又は「ファイルサービス用」に割り当てられる。
0089 図10は、ページマッピングテーブル1000の一例を示す。ページマッピングテーブル1000は、ファイル中の欄1010以外は、ページマッピングテーブル200と同じである。ストレージシステム810は、外部ファイルサーバを有さないが、ストレージ装置820自体は、ファイルサービス能力を有している。そして、各ボリュームのページデータを、内部ファイルシステムにマップすることができる。よって、欄1010は、ページが内部ファイルシステムに割り当てられているか否かを示す。
0091 ストレージ装置820は、図3のファイルツリー300を使用することができる。ストレージ装置820に対応するディレクトリ320は、省略することができる。
ストレージ装置820は、図4が示すようにI/Oマッピングフロー400を、図5が示すようにページ移行フロー510、520、530、540を実行することができる。これらの方法を使用すると、ストレージシステム810は、ファイルの形式で記憶媒体117上のチャンクデータを配置し、かつ移行することが可能である。さらに、この方法は、ページデータをいくつかのセグメントに分割することを可能にし、重複排除方法は効率的に機能する。重複排除については、米国特許第2009/0132619号で開示されているような方法が受け入れられる。米国特許第7330950号で開示されているファイル単位階層ストレージ管理方法も適用可能であり、ファイル単位階層ストレージ管理方法は、より安価な記憶媒体にいくつかのページ単位ファイル及びセグメント単位ファイルを格納することを可能にする。
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とを有する。
ストレージ装置1120はまた、「ページコピー要求」をファイル可能ストレージ装置1130に発行するためにこのネットワーク160を使用する。ホストコンピュータ130は、ストレージシステム1110のユーザである。ホストコンピュータ130は、SAN150を介してストレージインタフェース151を使用してI/Oを発行する。
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にも当てはまる。
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)を示す。
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において、(ボリューム内の要求されたページ番号)−(ページマッピングテーブルエントリに書き込まれたページオフセット)+(ページマッピングテーブルエントリに書き込まれたディスクオフセット)。
0105 システム管理者が特定するか、又はいくつかのイベントが発生した時、ページ移行プログラム1124は、ページ移行を実行する。例えば、記憶媒体117で利用可能なボリュームがあまりない、又はより多くのI/Oスループットが必要であるときに、移行が実行される。移行の間に、ホストコンピュータ130からのI/O要求は中断されている。ページ移行プログラム1124は、いくつかのパターンの移行を実行する。
Claims (20)
- I/O要求をストレージシステムに発行するホストコンピュータを含む情報処理システムにおいて、
前記ストレージシステムは、
プロセッサと、複数のストレージディスクと、ページマッピングテーブル、ページマッピングプログラム及びページファイル名マッピングプログラムを格納するメモリとを含む、ストレージ装置と、
ファイル名によって、ファイルのファイルツリーを管理するファイルシステムと
を備え、
前記ページマッピングテーブルは、前記ホストコンピュータからアクセス可能な前記ストレージ装置のデータボリュームと、前記ストレージディスクと、前記ファイルシステムとの間の関係を特定し、前記データボリュームの各々は複数のページを含み、各ページは複数のセグメントを含み、各セグメントは複数のセクタを含み、
各ストレージ装置に対応する前記ファイルツリーは、前記データボリュームと、前記ページと、前記セグメントとの間の関係に基づくディレクトリ及びファイルの階層を有し、
前記プロセッサは、前記メモリに格納されている前記ページマッピングプログラム及び前記ページファイル名マッピングプログラムを実行して、前記ページマッピングテーブル及び前記ファイルツリーを参照することによって、前記I/O要求に含まれるデータの位置をページごとに特定する、
ことを特徴とする、情報処理システム。 - 前記ストレージシステムは、
複数のストレージ装置とファイルサーバとを備え、
前記ファイルシステムは前記ファイルサーバに設けられ、前記ファイルサーバは、ファイルI/Oのためにファイルアクセスネットワークを介して前記ストレージ装置に接続されている、
ことを特徴とする、請求項1に記載の情報処理システム。 - ストレージシステムは、
前記ファイルシステムを含むファイルサーバをさらに備え、
前記ストレージ装置及び前記ファイルサーバの各々は、ストレージプロトコルとファイルI/Oプロトコルの両方を処理するための統合型ネットワークに結合される統合型インタフェースを含む、
ことを特徴とする、請求項1に記載の情報処理システム。 - 前記ファイルシステムは、ファイルサービス能力を有する前記ストレージ装置の中に設けられる、請求項1に記載の情報処理システム。
- 前記ページマッピングテーブルは、
前記ストレージ装置のボリューム識別子によって、各データボリュームの複数のエントリのうちの少なくとも1行を特定し、複数のエントリの各行が前記ボリューム識別子に対して連続するページのグループと対応付けられ、複数エントリの各行が、データボリュームのオフセットを示すページオフセットと、前記行の前記ページのグループの長さと、
(a)前記行の前記ページのグループが前記ファイルシステム内に配置されていることを示す「ファイル内」についての「yes」のエントリか、又は
(b)ページデータを入れるストレージディスクを識別するディスク識別子、及び前記行の前記ページのグループについて前記ストレージディスクのオフセットを示すディスクオフセットか
のいずれか一方を含む、
ことを特徴とする、請求項4に記載の情報処理システム。 - 前記ストレージシステムは、
ストレージディスクへのアクセスに加えてファイルにアクセス可能な、前記ファイルシステムを含むファイルアクセス可能ストレージ装置を備え、
前記ファイルアクセス可能ストレージ装置は、ディスクI/Oに対しては内部ストレージエリアネットワークを介して、及びファイルI/Oに対してはファイルアクセスネットワークを介して、前記ストレージ装置に結合されている、
ことを特徴とする、請求項1に記載の情報処理システム。 - 前記ストレージシステムは、
複数のストレージ装置を備え、
前記複数のストレージ装置の各々は、ディスクI/Oに対しては前記内部ストレージエリアネットワークを介して、及びファイルI/Oに対しては前記ファイルアクセスネットワークを介して、前記ファイルアクセス可能ストレージ装置に結合されている、
ことを特徴とする、請求項6に記載の情報処理システム。 - 前記ページマッピングテーブルは、
前記ストレージ装置のボリューム識別子によって、各データボリュームの複数のエントリのうちの少なくとも1行を特定し、複数のエントリの各行が前記ボリューム識別子に対して連続するページのグループと対応付けられ、データボリュームのオフセットを示すページオフセットを含む、複数のエントリの少なくとも1行と、前記行の前記ページのグループの長さを示す長さと、
(a)前記ストレージ装置のストレージディスクにページデータを入れることを示す「内部」というノード識別子、前記ページデータを入れる前記ストレージ装置のストレージディスクを特定するディスク識別子、及び前記行の前記ページのグループに対して前記ストレージディスクのオフセットを示すディスクオフセット、又は
(b)ページデータを入れるための前記ファイルアクセス可能ストレージ装置を示すノード識別子、及び(i)前記行の前記ページのグループが、前記ファイルアクセス可能ストレージ装置の前記ファイルシステム内に配置されていることを示す「ファイルの中」についての「yes」のエントリか、又は(ii)前記行の前記ページのグループが前記ファイルアクセス可能ストレージ装置のストレージディスク内に配置されていることを示す「ファイルの中」についての「no」のエントリ、ページデータを入れるための前記ファイルアクセス可能ストレージ装置の前記ストレージディスクを識別するディスク識別子、及び前記行の前記ページのグループについて前記ストレージディスクのオフセットを示すディスクオフセットかのいずれか一方と、を特定する、
ことを特徴とする、請求項6に記載の情報処理システム。 - ストレージシステムは、
前記ファイルシステムを含むファイルアクセス可能ストレージ装置をさらに備え、
前記ファイルアクセス可能ストレージ装置は、ファイルI/Oのためにファイルアクセスネットワークを介して前記ストレージ装置に結合されており、
前記ストレージ装置及び前記ファイルアクセス可能ストレージ装置の各々は、ディスクI/Oのために前記ホストコンピュータとのストレージインタフェースを有する、
ことを特徴とする、請求項1に記載の情報処理システム。 - 前記ページマッピングテーブルは、
前記ストレージ装置のボリューム識別子によって、各データボリュームの複数のエントリのうちの少なくとも1行を特定し、複数のエントリの各行が前記ボリューム識別子に対して連続するページのグループと対応付けられ、複数エントリの各行が、データボリュームのオフセットを示すページオフセットと前記行の前記ページのグループの長さと、
(a)ページデータを入れるための前記ファイルサーバを識別するためのノード識別子か、又は
(b)ページデータを入れる前記ストレージ装置のストレージディスクを識別するディスク識別子、及び前記行の前記ページのグループについて前記ストレージディスクのオフセットを示すディスクオフセットか
のいずれか一方を特定する、
ことを特徴とする、請求項1に記載の情報処理システム。 - 前記ファイルツリーは、
各ストレージ装置について、ストレージ単位ディレクトリと、各ストレージ単位ディレクトリの配下の複数のボリューム単位ディレクトリと、一つ以上の前記ボリューム単位ディレクトリの配下の少なくとも一つのページ単位ファイルと、一つ以上の前記ボリューム単位ディレクトリの配下の少なくとも一つのページ単位ディレクトリと、前記少なくとも一つのページ単位ディレクトリの各々の配下の複数のセグメント単位ファイルとを有する、
ことを特徴とする、請求項1に記載のストレージシステム。 - I/O要求をストレージシステムに発行するホストコンピュータを含む情報処理システムにおいて、前記ページマッピングテーブル及び前記ファイルツリーを参照することによって、前記I/O要求に含まれるデータの位置を特定する方法であって、
前記ストレージシステムは、
プロセッサと、複数のストレージディスクと、ページマッピングテーブル、ページマッピングプログラム及びページファイル名マッピングプログラムを格納するメモリとを含む、ストレージ装置と、
ファイル名によって、ファイルのファイルツリーを管理するファイルシステムと
を有し、
前記ページマッピングテーブルは、前記ホストコンピュータからアクセス可能な前記ストレージ装置のデータボリュームと、前記ストレージディスクと、前記ファイルシステムとの間の関係を特定し、
前記ファイルツリーは、各ストレージ装置について、ストレージ単位ディレクトリと、各ストレージ単位ディレクトリの配下の複数のボリューム単位ディレクトリと、一つ以上の前記ボリューム単位ディレクトリの配下の少なくとも一つのページ単位ファイルと、一つ以上の前記ボリューム単位ディレクトリの配下の少なくとも一つのページ単位ディレクトリと、前記少なくとも一つのページ単位ディレクトリの各々の配下の複数のセグメント単位ファイルとを有し、
前記ページマッピングプログラムは、前記I/O要求に含まれる前記データの各ターゲットページについて、
前記ターゲットページが前記ページマッピングテーブルに記述されているか否かを判断し、否定的判断がなされた場合は、「ページは未割り当て」という情報を前記プロセッサに戻し、
肯定的判断がなされた場合は、前記ターゲットページが前記ストレージディスクに割り当てられていることを示す値がページマッピングテーブルに記述されているか否かを判断し、肯定的判断がなされた場合は、前記ストレージディスクにおける位置を計算し、かつ前記計算された位置と共に「ディスクに割り当て済み」という情報を前記プロセッサに戻し、
否定的判断がなされた場合は、前記ファイルツリーを参照することによって、前記ターゲットページが前記ファイルシステムのページ単位ファイルに対応するか否かを判断し、肯定的判断がなされた場合は、前記ページ単位ファイルのファイル名と共に「ページ単位ファイルに割り当て済み」という情報を前記プロセッサに戻し、
否定的判断がなされた場合は、前記ファイルツリーを参照することによって、前記ターゲットページが前記ファイルシステムのページ単位ディレクトリに対応するか否かを判断し、否定的判断がなされた場合は、「ページは未割り当て」という情報を前記プロセッサに戻し、
肯定的判断がなされた場合は、前記ファイルツリーを参照することによって、前記ターゲットページが前記ファイルシステムのセグメント単位ファイルに対応するか否かを判断し、肯定的判断がなされた場合は、前記セグメント単位ファイルのファイル名と共に「セグメント単位ファイルに割り当て済み」という情報を前記プロセッサに戻し、
否定的判断がなされた場合は、「セグメントは未割り当て」という情報を前記プロセッサに戻すこと
を含むことを特徴とする、方法。 - 前記ストレージシステムは、前記ファイルシステムがその中に設けられるファイルアクセス可能ストレージ装置をさらに含み、前記ファイルアクセス可能ストレージ装置は前記ストレージ装置に結合されており、
前記ターゲットページが前記ストレージディスクに割り当てられていることを示す値がページマッピングテーブルに記述されているか否かを判断する際に、肯定的判断がなされた場合は、前記ターゲットページがストレージ装置の内部ノードにマップされている場合には、前記ストレージ装置の前記ストレージディスクにおける位置を計算し、かつ前記計算された位置と共に「ディスクに割り当て済み」という情報を前記プロセッサに戻し、前記ターゲットページが前記ストレージ装置の内部ノードにマップされていない場合には、前記ファイルアクセス可能ストレージ装置の前記ストレージディスクにおける位置を計算し、かつ前記計算された位置と共に「外部ストレージに割り当て済み」という情報を前記プロセッサに戻すことをさらに含む、
ことを特徴とする、請求項12に記載の方法。 - 前記ストレージ装置及び前記ファイルアクセス可能ストレージ装置のうち一方が移行元ストレージ装置であり、前記ストレージ装置及び前記ファイル可能記憶媒体のうち他方が移行先ストレージ装置であって、
前記移行先ストレージ装置のストレージディスクの未使用領域にページ領域を割り当てることと、
ページを移行するために、前記移行先ストレージ装置の前記ストレージディスクに前記移行元ストレージ装置の前記ストレージディスクのページデータをコピーすることと、
前記移行されたページの位置を特定するために、前記ページマッピングテーブルの前記エントリを修正することと、
前記移行元ストレージ装置の前記ストレージディスクの中の前記ページデータを消去することと
をさらに含む、請求項13に記載の方法。 - 前記ストレージ装置が移行元ストレージ装置であり、前記ファイルアクセス可能ストレージ装置が移行先ストレージ装置であって、
前記移行先ストレージ装置が、データを前記移行元ストレージ装置から前記移行先ストレージ装置にコピーするためのページデータコピープログラムを有さない場合、前記移行元ストレージ装置のページ移行プログラムは、前記移行元ストレージ装置のストレージディスクからページデータを読み出し、前記移行先ストレージ装置のページファイルに前記ページデータを書き込み、かつ前記移行元ストレージ装置の前記ストレージディスクから前記ページデータを消去することと、
前記移行先ストレージ装置が、データを前記移行元ストレージ装置から前記移行先ストレージ装置にコピーするためのページデータコピープログラムを有する場合、前記移行元ストレージ装置の前記移行プログラムは、前記移行先ストレージ装置にページデータコピー要求を発行し、前記ページデータコピープログラムは、前記移行先ストレージ装置のストレージディスクから前記移行先ストレージ装置の前記ファイルシステムのページファイルに内部的にページデータをコピーし、かつ前記移行先ストレージ装置の前記ストレージディスクから前記ページデータを消去することと
をさらに含むことを特徴とする、請求項13に記載の方法。 - 前記ファイルアクセス可能ストレージ装置が移行元ストレージ装置であり、前記ストレージ装置が移行先ストレージ装置であって、
前記移行元ストレージ装置のページ移行プログラムは、前記移行先ストレージ装置のストレージディスクの未使用領域にページ領域を割り当てることと、
前記移行先ストレージ装置が、前記移行元ストレージ装置から前記移行先ストレージ装置にデータをコピーするためのページデータコピープログラムを有さない場合、前記移行元ストレージ装置のページ移行プログラムは、前記移行元ストレージ装置の前記ファイルシステムのページ単位ファイルからページデータを読み出し、前記移行先ストレージ装置の前記ストレージディスクに前記ページデータを書き込み、かつ前記移行元ストレージ装置の前記ファイルシステムから前記ページ単位ファイルを削除することと、
前記移行先ストレージ装置が、前記移行元ストレージ装置から前記移行先ストレージ装置にデータをコピーするためのページデータコピープログラムを有する場合、前記移行元ストレージ装置のページ移行プログラムは前記移行先ストレージ装置にページデータコピー要求を発行し、前記ページデータコピープログラムは、前記移行先ストレージ装置の前記ファイルシステムのページ単位ファイルから前記移行先ストレージ装置の前記ストレージディスクに内部的にページデータをコピーし、かつ移行先ストレージ装置の前記ファイルシステムから前記ページ単位ファイルを削除することと
をさらに含む、請求項13に記載の方法。 - 前記ストレージシステムは、前記ファイルシステムがその中に設けられているファイルサーバをさらに備え、前記ファイルサーバは、前記ストレージ装置に接続されており、
前記ストレージ装置のストレージディスクの中の前記ターゲットページのターゲットページデータを、前記ファイルシステムがその中に設けられている前記ファイルサーバのファイルにコピーすることと、
前記ターゲットページが前記ファイルサーバ内に配置されていることを特定するために、前記ページマッピングテーブルを修正することと、
前記ストレージ装置の前記ストレージディスクの前記ターゲットページの前記ページデータを消去することと
をさらに含む、請求項12に記載の方法。 - 前記ストレージシステムは、前記ファイルシステムを含むファイルサーバをさらに備え、前記ファイルサーバは、前記ストレージ装置に結合されており、
前記ページマッピングテーブルを参照することによって、前記ストレージ装置のストレージディスクから未使用のページ領域を割り当てることと、
ページを移行するために、前記割り当てられたページ領域に前記ファイルサーバのページ単位ファイルのデータをコピーすることと、
前記移行されたページが前記ストレージ装置の前記ストレージディスク内に配置されていることを特定するために、前記ページマッピングテーブルを修正することと、
前記ファイルサーバの前記ページ単位ファイルを削除することと
をさらに含む、請求項12に記載の方法。 - 新しいページ単位ディレクトリを作成することと、
前記新しいページ単位ディレクトリにセグメント単位ファイルを作成することと、
前記作成されたセグメント単位ファイルにページ単位ファイルのデータを分割してコピーすることと、
前記ページ単位ファイルを削除することと
をさらに含む、請求項12に記載の方法。 - セグメント単位ファイルをページ単位ファイルに連結することと、
セグメント単位ファイルが存在しない場合に、前記ページ単位ファイルの対応する領域にゼロを記入することと
をさらに含む、請求項12に記載の方法。
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)
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)
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 | 株式会社日立製作所 | ストレージサブシステム及びストレージシステム |
-
2010
- 2010-01-20 US US12/690,404 patent/US8281105B2/en not_active Expired - Fee Related
- 2010-08-30 JP JP2010192801A patent/JP5410386B2/ja not_active Expired - Fee Related
- 2010-08-31 EP EP10174700A patent/EP2348425A1/en not_active Withdrawn
-
2012
- 2012-09-06 US US13/604,950 patent/US8683174B2/en not_active Expired - Fee Related
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 |