説明

データ処理の方法及びシステム

【課題】データ処理の方法及びシステムを提供する。
【解決手段】本発明に係る方法は、ストレージエリアネットワークにおいてデータブロックを取り出す方法であって、ストレージデバイスへの複数のパスのうちの第1のパスを選択することと、前記第1のパスに沿って前記ストレージデバイスから第1の数のシーケンシャルデータブロックを取り出すことと、前記ストレージデバイスから後続のシーケンシャルデータブロックを取り出すための、前記複数のパスのうちの第2のパスを選択することとを含む。1つ又は複数の選択されたパスは、利用可能なすべてのパスの最小平均ターンアラウンドタイムを有するパスとなり得る。

【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施の形態は、データ処理の方法及びシステムに関する。
【背景技術】
【0002】
エンタープライズSAN(ストレージエリアネットワーク)環境では、シーケンシャルI/O(入出力)が、一定のアプリケーションによって頻繁に実施される。
シーケンシャルI/Oは、大きなファイルの読み出し及び書き込みに特有のものであり、通常、或るブロックを、その隣のブロックの直後に処理することを伴う。
このタイプのI/Oでは、ディスクドライブヘッドが新しいロケーションへ移動しなければならないことに関連したペナルティがほとんどない。
【0003】
データ処理システム上で実行される(たとえば)アプリケーションは、ストレージデバイスに記憶されているファイルから読み出しを行うことを望む場合がある。
通常、データは、ストレージデバイスにブロックで記憶され、ファイルは、1つ又は複数のブロックに存在することができる。
データクエリが、データ処理システムのアプリケーションによりストレージデバイスに対して行われると、適切なブロックが、物理ディスクから取り出され、ストレージデバイスのキャッシュに記憶される。
ここから、ブロックは、物理媒体(たとえば、ファイバチャネル物理媒体)を介してIOバッファ(又はパケット)としてアプリケーションに引き渡される。
【0004】
ストレージエリアネットワークでは、スイッチ型ファブリックを通ってデータ処理システムからストレージデバイスへ複数のパスが存在し得る。
【0005】
ストレージデバイスは、複数の論理ユニット(LUN)を有することができる。
LUN、すなわち論理ユニット番号(論理ユニット、すなわちLUとも称される)は、ストレージエレメントの実際の部分又は仮想的な部分に対応する。
たとえば、LUNは、ディスクドライブアレイの1つ又は複数のディスクに対応することができる。
【0006】
ストレージデバイスは、近時にアクセスされたデータを記憶するキャッシュを含むことができる。
ストレージデバイスは、データプリフェッチを用いることもできる。
データプリフェッチでは、ストレージデバイスは、要求されたデータよりも多くのデータをLUNからフェッチし、それらのデータをキャッシュに記憶する。
シーケンシャル要求(具体的には、読み出し)が検出されると、まだ要求されていないがシーケンスに沿って先にあるデータブロックが、LUNからキャッシュにコピーされる。
ストレージデバイスが、これらのプリフェッチされたデータブロックの要求を受け取ると、キャッシュへのアクセスは、通常、物理ストレージへのアクセスよりも高速であるため、これらのブロックは、要求側データ処理システムへより迅速に提供される。
【0007】
異なるストレージアレイによって用いられるキャッシュポリシーは同じではない。
たとえば、ポートを通過するI/Oのキャッシュを用いるアレイもあれば、コントローラを通過するI/Oのキャッシュを用いるアレイもあり、又は、アレイの任意の特定のコンポーネント(たとえば、LUN)への/からのI/Oのキャッシュを用いるアレイもある。
【0008】
上記の状況のもとでは、I/Oを、同じキャッシュを共有するコンポーネントへルーティングすることは、キャッシュ無効化につながるおそれがあり、したがって、データプリフェッチ機能の有効な使用にならないおそれがある。
【発明の開示】
【発明が解決しようとする課題】
【0009】
従来技術の問題のうちの1つ又は複数を少なくとも軽減することが、本発明の実施の形態の目的である。
【課題を解決するための手段】
【0010】
本発明の一形態は、ストレージエリアネットワークにおいてデータブロックを取り出す方法であって、ストレージデバイスへの複数のパスのうちの第1のパスを選択することと、前記第1のパスに沿って前記ストレージデバイスから第1の数のシーケンシャルデータブロックを取り出すことと、前記ストレージデバイスから後続のシーケンシャルデータブロックを取り出すための、前記複数のパスのうちの第2のパスを選択することとを含む方法である。
【0011】
次に、添付図面を参照して、本発明の実施形態を単に例として説明する。
【発明を実施するための最良の形態】
【0012】
有効なプリフェッチのためには、シーケンシャル要求は、ストレージデバイスの他のストレージコンポーネントと同じキャッシュを共有するストレージデバイス上のストレージコンポーネント(たとえば、LUN等)に到着すべきである。
しかしながら、シーケンシャルブロック要求が複数のコンポーネントに及ぶ場合、コンポーネント間でキャッシュを共有していないと、その結果、キャッシュ無効化が生じ、したがって、ストレージアレイのプリフェッチ機能の使用が有効なものでなくなる。
さらに、このことは、アレイが、そのキャッシュを無効にし、新しいコンポーネントのキャッシュを使用してプリフェッチしなければならないことから、アレイの性能に悪影響を与える。
また、プリフェッチ機能を有効に利用するためにストレージデバイスからの単一のパスを介してすべてのブロックを取り出すことは、ストレージエリアネットワーク(SAN)のそのパスの輻輳及び/又はSAN内のすべてのパスの非効率的な使用につながるおそれがある。
【0013】
本発明の実施形態は、単一のパスを介して第1の複数のシーケンシャルデータブロック要求にサービス提供し、次いで、次のパスに移って別の複数のシーケンシャルデータブロック要求にサービス提供し、次いで、別のパスに移る等を行うことによって、従来技術の問題のうちの1つ又は複数を少なくとも軽減する。
このように、データブロックの数群のシーケンシャル要求(すなわち、シーケンシャルデータブロックの要求)は、ストレージデバイスに到着し、ストレージデバイスによってシーケンシャル要求として検出される。
したがって、ストレージデバイスのプリフェッチ機能が使用される。
さらに、単一のデータバッファに対応するすべての要求が、SAN内の単一のパスを使用してサービス提供されるとは限らないため、パスの輻輳が回避される。
その代わり、複数のパスが使用され、したがって、SANの複数のパスが、単一のパスを使用するよりも効率的に使用され、且つ/又は、輻輳が緩和若しくは回避される。
【0014】
図1は、ストレージエリアネットワーク100の一例を示している。
SAN100は、ストレージデバイス102を含む。
SAN100は、他のストレージデバイス(図示せず)を含むこともできる。
ストレージデバイス102は、物理ストレージ104とキャッシュ106とを備える。
物理ストレージ104に記憶されているデータは、複数の固定サイズのブロック108に配列される。
物理ストレージ104のサイズ及びブロック108のサイズに応じて、任意の数のブロック108が存在し得る。
【0015】
物理ストレージ104は、単一の物理ストレージデバイス又は複数の物理ストレージデバイスを備えることができる。
物理ストレージデバイスの例には、ハードディスク、光ストレージデバイス、テープストレージデバイス等が含まれる。
複数の物理ストレージデバイスを収容する物理ストレージ104の例には、RAID(独立ドライブ冗長アレイ)アレイ、JBOD等が含まれる。
【0016】
LUN、すなわち論理ユニット番号(論理ユニット、LUとも称される)は、物理ストレージデバイスの実際の一部又は仮想的な一部に対応する。
たとえば、LUNは、ディスクドライブアレイの1つの物理ディスクに対応する場合もあるし、複数の物理ディスクに対応する場合もある。
通常、SAN内のストレージデバイス102のLUNは、アプリケーションがデータを記憶し且つ/又はデータにアクセスするための一意のストレージエレメントとして現れる。
【0017】
SANは、スイッチ型ファブリック110も含む。
このスイッチ型ファブリックは、たとえば、1つ又は複数のネットワークスイッチ及びルータ並びにそれらの間の相互接続といったネットワーキングコンポーネントを含む。
スイッチ型ファブリック110は、正しく動作することができない1つ又は複数のネットワーキングコンポーネントの影響を回避することを試みる冗長性を提供するために、複数のネットワーキングコンポーネント及び相互接続を含むことができる。
たとえば、ストレージデバイスへのパスが利用不能となるように、ネットワーキングコンポーネントが故障した場合、1つ又は複数の他のネットワーキングコンポーネントを通る、そのストレージデバイスへの別のパスを利用可能とすることができる。
SAN内のネットワーキングコンポーネントは、通常、ファイバチャネル(FC)スイッチ等のファイバチャネルデバイスを備える。
ただし、追加の又は代替的な他の任意の適切なネットワーキング技術(たとえば、イーサネット(登録商標))を使用してもよい。
【0018】
データ処理システム120(ホストとしても既知である)を、SAN100のスイッチ型ファブリック110に接続することができる。
ホスト120は、ホスト120がスイッチ型ファブリック110に接続することを可能にするデバイス122を備える。
デバイス122は、たとえば、ファイバチャネルネットワークに接続するための1つ若しくは複数のホストバスアダプタ(HBA)、又は、スイッチ型ファブリック110に接続するための他の任意の適切な1つ若しくは複数のデバイスを備えることができる。
【0019】
ホスト120は、メモリ124(RAM等)を含む。
ホスト120上で実行されるアプリケーション126は、メモリ124内に存在することができる。
メモリ124は、アプリケーション126及び/又は他のアプリケーション(図示せず)によって使用されるデータブロックを記憶する1つ又は複数のI/Oバッファ128も含むことができる。
【0020】
アプリケーションが、読み出し及び/又は書き込みのためのファイルを開くと、アプリケーションが、そのファイルに対応するデータブロックのデータにアクセスすることができるように、そのファイルを収容するデータブロックをメモリ124に移動しなければならない。
たとえば、ファイルが記憶されるストレージデバイス(LUN)、開始ブロック番号(すなわち、ファイルがLUNに記憶される最初のデータブロック)、及びブロックの数(すなわち、ファイルが記憶されるシーケンシャルブロックの数)を示すI/Oバッファが、メモリ124内に作成される。
したがって、示された数のシーケンシャルブロックをストレージデバイス102からメモリ124内のI/Oバッファにコピーしなければならない。
【0021】
シーケンシャルI/Oは、1つ又は複数のデータブロックをそれぞれ収容するための複数のI/Oバッファを作成するのに使用することができる。
これらの複数のI/Oバッファは、集合的に、アプリケーション126によって要求されたファイルを収容するすべてのデータブロックに対応する。
本発明の代替的な実施形態では、アプリケーション126によるファイルからの読み出し要求及び/又はファイルへの書き込み要求は、単一のI/Oバッファではなくこのような複数のI/Oバッファを作成することができる。
本発明のさらに代替的な実施形態では、1つのI/Oバッファのみが作成される。
いずれの場合も、ストレージデバイス102がシーケンシャルデータブロックの取り出しを検出するように、数群のシーケンシャルデータブロックが、スイッチ型ファブリック110を通り各パスに沿ってストレージデバイス102から取り出される。
しかしながら、これらの群自体は、たとえシーケンシャルであっても、ストレージデバイス102からシーケンシャルに(順番に)取り出される場合もあるし、そうでない場合もある。
【0022】
図2は、本発明の実施形態によるデータブロックを取り出す方法200を示している。
データブロックは、ホスト120によって取り出されて、アプリケーション126による使用のためにメモリ124内の1つ又は複数のI/Oバッファ128に記憶される。
この方法は、ステップ202で開始する。ステップ202において、一定の数のデータブロックを取り出すために、スイッチ型ファブリック110を通るホスト120からストレージデバイス102へのパスが選択される。
この方法200は、次に、ステップ204に進む。
ステップ204において、一定の数のシーケンシャルデータブロックが、選択されたパスに沿ってストレージデバイス102から順番に(たとえば、昇順のブロック番号又は降順のブロック番号の順番に)取り出されて、1つ又は複数のI/Oバッファ128内に記憶される。
この方法は、次に、ステップ206で終了する。
【0023】
たとえば、アプリケーション126によって要求されたファイルを収容するデータブロックの取り出し及び記憶のために複数のI/Oバッファが作成される本発明の実施形態では、この方法200は、I/Oバッファごとに、たとえば並列に且つ/又はシーケンシャルに且つ/又は任意の順番に実行することができる。
この方法200のステップ204において、たとえば、取り出されてI/Oバッファに記憶される予定のデータブロックのすべてが、取り出されて、そのI/Oバッファに記憶される。
【0024】
図3は、SAN内で遂行されるI/Oオペレーションの(図2に示す方法200のステップ202に対応する)パスを選択する方法300の一例を示している。
この方法300は、ステップ302で開始する。
ステップ302において、パスが初期化されているか否かが判断される。
パスが初期化されていない場合、この方法はステップ304に進む。
ステップ304において、「ブロックしきい値」の値が初期化される。
この値は、固定値、又はユーザ(たとえば、システム管理者)によって指定された値等、事前に設定された値に初期化することができる。
次に、ステップ306において、パスが選択される。
図3に示すように、パスを選択する一例は、次のように、最小平均ターンアラウンドタイムを有するパスを選択することを含む。
本発明の実施形態は、各パスの平均ターンアラウンドタイムの記録を維持する。
ホスト120上で実行されるマルチパスソフトウェアは、パスを定期的にポーリングして、その接続ステータスをチェックすることができる。
すなわち、ストレージデバイス等のパスの終点に応答するように命令する通信をその終点へ送信し、このようにして、パスの接続ステータスをチェックする。
パスのポーリングと受信された応答との間の平均ポーリングターンアラウンドタイムである第1の値をパスごとに維持することができる。
また、(コントローラが複数のストレージデバイス/LUNを制御する場合)コントローラに至るパスの平均コントローラターンアラウンドタイムの記録も維持することができ、このようにして、コントローラの負荷の概観(view of the load)が維持される。
別のパスを選択する他の方法も、これに加えて又はこれに代えて使用してもよい。
【0025】
SAN100を監視し、ストレージデバイスへの特定されたパスのリストを維持するホスト120のマルチパスソフトウェア(図示せず)が、パスを特定することができる。
マルチパスソフトウェアは、パスを特定して管理し、SAN内の負荷バランシングを達成するために、ブロックが、(本明細書で後に特定されるステップに基づいて)一定のパスに沿って取り出されることを指示することができる。
本発明の実施形態では、たとえば、本発明の実施形態による方法を実施するようにマルチパスソフトウェアを変更することもできるし、本発明の実施形態による方法を実行するようにマルチパスソフトウェアを命令又は制御することもできる。
【0026】
パスがステップ306で選択されると、選択されたパスのパス範囲が、ステップ308で求められる。パス範囲は、パスのサービス提供可能な範囲、すなわち、そのパスに沿って通信することができるブロックである。
【0027】
パスのサービス提供可能な範囲を求めるために、以下の公式が使用される。
サービス提供可能な範囲=サービス提供された最後のブロック±ブロックしきい値
ここで、
サービス提供可能な範囲=パスによってサービス提供することができるブロック番号の範囲;
サービス提供された最後のブロック=そのパスに沿ってホスト120により取り出された最後のブロック番号;及び
ブロックしきい値=ステップ304によって初期化された、パスによりサービス提供することができるブロックの所定のしきい値番号
である。
【0028】
或るパスが、ブロックにサービス提供しなかった場合、サービス提供された最後のブロックの値は、選択されたパスに沿って送信されることになる最初のブロックのブロック番号で初期化され、そのパスによってサービス提供されたブロック数は、0に初期化される。
ステップ308において、サービス提供可能な範囲が選択されたパスについて求められると、この方法300は、ステップ310で終了する。
【0029】
ステップ302において、パスが初期化されていると判断された場合、すなわち、ブロックのサービス提供可能な範囲が初期化されていると判断された場合、この方法300は、ステップ302からステップ312に進む。
ステップ312において、適切な範囲を有するパスを見つける検索が行われる。
適切な範囲を有するパスは、SAN内で遂行されるI/Oの最初のブロックを含むサービス提供可能なブロック範囲を有するパスである。
また、適切なパスは、ブロックしきい値よりも小さい、サービス提供されたブロック数を有するブロックしきい値を有するパスでもある。
【0030】
この方法は、ステップ314に進む。
ステップ314において、適切な範囲及びサービス提供されたブロック数を有するパスがあるか否かが判断される。
このようなパスがある場合、そのパスがステップ316で選択され、この方法300は、ステップ310で終了する。
利用可能な適切なパスがない場合、この方法は、その代わりに、ステップ314からステップ306に進む。
ステップ306において、代替的なパスが上述したように選択される。
選択されたパス(この方法300のステップ306又はステップ316のいずれかで選択される)が、その後使用されて、図2の方法200のステップ204のI/Oオペレーションでブロックが取り出される。
【0031】
したがって、パスは、SAN内のI/Oオペレーションで一群のシーケンシャルブロック(I/Oバッファのそれらのブロック等)にサービス提供し、パスは、別のI/Oオペレーションで別の一群のブロックにサービス提供する場合もあるし、提供しない場合もある。
パスが、許容ブロック数(ブロックしきい値)よりも多くのブロックにサービス提供した場合、そのパスは、もはや、I/Oオペレーションでブロックにサービス提供するために選択されず、別のパスが、次の一群のブロック用に選ばれる。
これによって、少なくともいくつかのシーケンシャルブロックがストレージデバイスから順番に取り出されることを確実にし、したがって、シーケンシャルブロックが取り出されていることをストレージデバイスが確認することを確実にする。
ストレージデバイスは、次に、シーケンスのさらに先の(まだ取り出し又は要求をされていない)ブロックをプリフェッチし、これらのブロックをストレージデバイスのキャッシュにロードすることによって、自身のプリフェッチ機能を有効に使用することができる。
取り出された後続のブロックが、シーケンスに沿ったさらに先のブロックであるという可能性があり、これらのブロックは、キャッシュにすでに存在するため、迅速に供給することができる。
【0032】
一群のシーケンシャルデータブロックが、I/Oオペレーションでパスに沿ってストレージデバイスから取り出されると、「サービス提供された最後のブロック」属性が、そのパスに沿って取り出される最後のブロックのブロック番号について更新される。
「サービス提供されたブロック数」も、そのパスに沿って取り出されたその一群のブロック数を追加することによって更新される。
このようにサービス提供されたブロック数が、ブロックしきい値よりも大きくなる場合、そのパスによってそれ以上ブロックにサービス提供することはできず、ブロック(すなわち、他のI/Oオペレーションで取り出されるブロック)のその後の取り出しのために別のパスを選択しなければならない。
【0033】
適切な範囲及びサービス提供されたブロック数を有するパスが見つからない場合、この方法300のステップ306において、別のパスが選ばれる。
このように、利用不能であると事前にマーキングされた(すなわち、ブロックしきい値よりも多くのブロックにサービス提供したか又は適切でない範囲を有する)ブロックを再び選択することができ、それらのサービス提供可能なブロック範囲及びサービス提供されたブロック数を再初期化することができる。
【0034】
ユーザ(たとえば、システム管理者)が、ブロックしきい値の値を設定することができる。
代替的に、ユーザは、ブロックしきい値の値の範囲を指定してもよい。
或る範囲が指定された場合、本発明の実施形態は、所定の期間にわたってその範囲の値のそれぞれについて、1ブロック当たりの平均ターンアラウンドタイム又は平均サービス時間(取り出し時間)を監視することができ、次いで、1ブロック当たりの最小の平均ターンアラウンドタイム又は平均サービス時間を与えるブロックしきい値の値を選択することができる。
これは、ユーザが範囲を指定することなく、たとえば、適切な範囲を自動的に選択することによって、又は、適切な開始点を選択して、平均サービス時間を最小にするようにブロックしきい値の値を増減することによっても行うことができる。
任意の方法を使用して、任意の適切なブロックしきい値の値を選択することができる。ブロックしきい値は、設定されると、固定にしておくこともできるし、動的に変化させることもできる(たとえば、これは、ブロックしきい値の複数の値の平均サービス時間を監視すること、及び、最小平均サービス時間に対応するブロックしきい値の値を定期的に選ぶことを含むことができる)。
これに加えて又はこれに代えて、ブロックしきい値の値は、必要に応じてユーザが変更することもできるし、ユーザは、適切な値の新しい範囲を指定することもできる。
【0035】
上記の説明では、数個のデータブロックが操作されて取り出される。
しかしながら、ストレージデバイス及び/又はホストの観点からすれば、データブロックは、単一のデータブロックから構成される場合がある。
一方、代替的に、データブロックは、たとえば、複数のデータブロック、1つのデータブロックの一部、又は複数のデータブロックの数部分から構成される場合もある。
【0036】
図4は、ストレージエリアネットワーク(SAN)と通信するホストとするのに適し得る、データ処理システム400の一例を示している。
システム400は、データプロセッサ402と、通信デバイス404と、メモリ406(RAM等)とを備える。
通信デバイス404は、システム400がSANと通信することを可能にする。たとえば、通信デバイス404は、ホストバスアダプタ(HBA)又はネットワークインターフェースカード(NIC)を備えることができる。
【0037】
データ処理システムはまた、永久ストレージデバイス408(ハードディスク等)、表示デバイス410、及びヒューマンインターフェースデバイス412(マウス及び/又はキーボード等)のうちの1つ又は複数を備えることができる。
【0038】
本発明の実施形態は、ハードウェア、ソフトウェア、又はハードウェア及びソフトウェアの組合せの形で実現することができることが理解されよう。
このようないずれのソフトウェアも、たとえば、消去可能であろうとなかろうと、再書き込み可能であろうとなかろうと、ROMのようなストレージデバイス等の揮発性ストレージ又は不揮発性ストレージの形で記憶することもできるし、たとえば、RAM、メモリチップ、デバイス、集積回路等のメモリの形で記憶することもできるし、たとえば、CD、DVD、磁気ディスク、又は磁気テープ等の光可読媒体又は磁気可読媒体に記憶することもできる。
これらのストレージデバイス及びストレージ媒体は、実行されると、本発明の実施形態を実施する1つ又は複数のプログラムを記憶するのに適した機械可読ストレージの実施形態であることが理解されよう。
したがって、実施形態は、先行するいずれかの請求項に記載のシステム又は方法を実施するためのコードを含むプログラムと、このようなプログラムを記憶する機械可読ストレージとを提供する。
さらに、本発明の実施形態は、有線接続又は無線接続で運ばれる通信信号等のあらゆる媒体を介して電子的に搬送することもでき、実施形態は、それらも適切に包含する。
【0039】
本明細書(あらゆる添付の特許請求の範囲、要約書、及び図面を含む)で開示される機能のすべて、並びに/又は、そのように開示されるあらゆる方法若しくはプロセスのステップのすべては、このような機能及び/又はステップのうちの少なくともいくつかが相互に矛盾する組合せを除いて、任意の組合せで組合せることができる。
【0040】
本明細書(あらゆる添付の特許請求の範囲、要約書、及び図面を含む)で開示される各機能は、明示的に別段の定めをした場合を除き、同じ目的、等価な目的、又は類似の目的を果たす代替的な機能と取り替えることができる。
したがって、明示的に別段の定めをした場合を除き、開示される各特徴は、一般的な一連の等価な機能又は類似の機能の一例にすぎない。
【0041】
本発明は、上記のいずれの実施形態の詳細にも制限されるものではない。
本発明は、本明細書(あらゆる添付の特許請求の範囲、要約書、及び図面を含む)で開示される機能のうちの任意の新規な1つ若しくは任意の新規な組合せ、又は、そのように開示される任意の方法若しくはプロセスのステップのうちの任意の新規な1つ若しくは任意の新規な組合せにまで及ぶ。
特許請求の範囲は、単に上記実施形態だけを包含するように解釈されるべきではなく、特許請求の範囲の範囲内に含まれるあらゆる実施形態も包含するように解釈されるべきである。
【図面の簡単な説明】
【0042】
【図1】ストレージエリアネットワークの一例を示す図である。
【図2】本発明の実施形態によるデータブロックを取り出す方法の一例を示す図である。
【図3】パスを選択する一例を示す図である。
【図4】本発明の実施形態での使用に適したデータ処理システムの一例を示す図である。
【符号の説明】
【0043】
100・・・ストレージエリアネットワーク
102・・・ストレージデバイス
104・・・物理ストレージ
106・・・キャッシュ
108・・・ブロック
110・・・スイッチ型ファブリック
120・・・ホスト
122・・・HBA
124・・・メモリ
126・・・アプリケーション
128・・・I/Oバッファ
400・・・データ処理システム
402・・・データプロセッサ
404・・・通信デバイス
406・・・メモリ
408・・・永久ストレージデバイス
410・・・表示デバイス
412・・・ヒューマンインターフェースデバイス

【特許請求の範囲】
【請求項1】
ストレージエリアネットワークにおいてデータブロックを取り出す方法であって、
ストレージデバイスへの複数のパスのうちの第1のパスを選択することと、
前記第1のパスに沿って前記ストレージデバイスから第1の数のシーケンシャルデータブロックを取り出すことと、
前記ストレージデバイスから後続のシーケンシャルデータブロックを取り出すための、前記複数のパスのうちの第2のパスを選択することと
を含む方法。
【請求項2】
前記第1のパスを選択することは、
各パスについて、サービス提供可能なシーケンシャルブロックの各範囲を求めることと、
前記サービス提供可能なシーケンシャルブロックの各範囲内に、要求されるブロックを有するパスを選択することと
を含む請求項1に記載の方法。
【請求項3】
前記複数のパスが、前記複数のパスの各範囲内に、前記要求されるブロックを有しないときに、前記シーケンシャルデータブロックを取り出すための適切なパスを選択すること
を含む請求項2に記載の方法。
【請求項4】
前記方法は、前記複数のパスのうちの少なくともいくつかのパスの各平均ターンアラウンドタイムを監視することを含み、
前記適切なパスを選択することは、最小平均ターンアラウンドタイムを有するパスを選択することを含む
請求項3に記載の方法。
【請求項5】
前記第2のパスに沿って前記ストレージデバイスから第2の数のシーケンシャルデータブロックを取り出すことと、
後続のシーケンシャルデータブロックを取り出すための、前記ストレージデバイスへの前記複数のパスのうちの第3のパスを選択することと
を含む請求項1に記載の方法。
【請求項6】
前記第1の数は、前記第2の数と実質的に等しい
請求項5に記載の方法。
【請求項7】
前記第1のパスを選択することおよび前記第2のパスを選択することのうちの少なくとも一方は、最小平均ターンアラウンドタイムを有するパスを選択することを含む
請求項1に記載の方法。
【請求項8】
ストレージエリアネットワークにおいてデータブロックを取り出すシステムであって、
ストレージデバイスへの複数のパスのうちの第1のパスを選択し、
前記第1のパスに沿って前記ストレージデバイスから第1の数のシーケンシャルデータブロックを取り出し、
前記ストレージデバイスから後続のシーケンシャルデータブロックを取り出すための、前記複数のパスのうちの第2のパスを選択するように
構成されるシステム。
【請求項9】
各パスについて、サービス提供可能なシーケンシャルブロックの各範囲を求め、
前記サービス提供可能なシーケンシャルブロックの各範囲内に、要求されるブロックを有するパスを選択することによって前記第1のパスを選択するように
構成される請求項8に記載のシステム。
【請求項10】
前記複数のパスが、前記複数のパスの各範囲内に、前記要求されるブロックを有しないときに、前記シーケンシャルデータブロックを取り出すための適切なパスを選択するように構成される
請求項9に記載のシステム。
【請求項11】
前記システムは、前記複数のパスのうちの少なくともいくつかパスの各平均ターンアラウンドタイムを監視するように構成され、
前記適切なパスを選択することは、最小平均ターンアラウンドタイムを有する前記パスを選択することを含む
請求項10に記載のシステム。
【請求項12】
前記第2のパスに沿って前記ストレージデバイスから第2の数のシーケンシャルデータブロックを取り出し、
後続のシーケンシャルデータブロックを取り出すための、前記ストレージデバイスへの前記複数のパスのうちの第3のパスを選択するように
構成される請求項8に記載のシステム。
【請求項13】
前記第1の数は、前記第2の数と実質的に等しい
請求項12に記載のシステム。
【請求項14】
前記第1のパスを選択することおよび前記第2のパスを選択することのうちの少なくとも一方は、最小平均ターンアラウンドタイムを有するパスを選択することを含む
請求項8に記載のシステム。
【請求項15】
請求項1に記載の方法および請求項8に記載のシステムのうちの一方を実施するように構成される
コンピュータプログラム。
【請求項16】
請求項15に記載のコンピュータプログラムを記憶する
コンピュータ可読ストレージ。
【請求項17】
請求項1に記載の方法および請求項8に記載のシステムのうちの一方を実施するように構成される
データ処理システム。
【請求項18】
請求項15に記載のコンピュータプログラムが内部にロードされている
データ処理システム。
【請求項19】
ストレージエリアネットワークにおいてデータブロックを取り出す方法であって、
ストレージデバイスへの複数のパスのうちの第1のパスを選択することと、
前記複数のパスについて、サービス提供可能なシーケンシャルブロックの各範囲を求めることと、
前記サービス提供可能なシーケンシャルブロックの各範囲内に、要求されるブロックを有するパスを選択し、前記複数のパスが、前記複数のパスの各範囲内に、前記要求されるブロックを有しないときに、前記シーケンシャルデータブロックを取り出すための適切なパスを選択することであって、前記適切なパスは、最小平均ターンアラウンドタイムを有するパスであることと、
前記選択されたパスに沿って前記ストレージデバイスから第1の数のシーケンシャルデータブロックを取り出すことと、
前記ストレージデバイスから後続のシーケンシャルデータブロックを取り出すための、前記複数のパスのうちの第2のパスを選択することと
を含む方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate


【公開番号】特開2009−140493(P2009−140493A)
【公開日】平成21年6月25日(2009.6.25)
【国際特許分類】
【出願番号】特願2008−307361(P2008−307361)
【出願日】平成20年12月2日(2008.12.2)
【出願人】(503003854)ヒューレット−パッカード デベロップメント カンパニー エル.ピー. (1,145)
【Fターム(参考)】