(57)【要約】  ストレージノードにかかる負荷を分散し、アクセス性能を向上させる。  管理情報記憶手段（１ａ）には、仮想的な論理セグメントの識別情報と、論理セグメントに対応付けられた実データ記憶領域の物理セグメントの識別情報と、を関連付けた管理情報が記憶されている。データアクセス手段（１ｂ）経由でアクセス要求を取得すると、セグメント特定手段（１ｃ）は、アクセス対象範囲の論理セグメントと、対応する物理セグメントとを特定する。再配置手段（１ｄ）は、特定された論理セグメントと物理セグメントとを、サブ論理セグメントとサブ物理セグメントとに分割し、所定の規則に従って、サブ論理セグメントをサブ物理セグメントに再配置する。データアクセス手段（１ｂ）は、再配置によって対応付けられたサブ論理セグメントとサブ物理セグメントとの間で、アクセス制御を行う。
2008126202.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク経由で接続される複数のストレージノードによって構成するストレージ装置にてコンピュータがデータを分散管理するストレージシステムの負荷分散処理を前記コンピュータに行わせる負荷分散プログラムにおいて、
前記コンピュータを、
仮想的な論理ボリュームを所定の記憶領域単位で分割した論理セグメントの識別情報と、前記論理セグメントに対応付けられた前記ストレージ装置の実データ記憶領域を前記所定の記憶領域単位で分割した物理セグメントの識別情報とを関連付けた管理情報を記憶する管理情報記憶手段、
前記データのアクセス要求を取得すると、前記管理情報に基づいて、前記アクセス要求によって指定される前記論理ボリューム上のアクセス対象範囲の論理セグメントに対応付けられた物理セグメントとを特定するセグメント特定手段、
前記アクセス対象範囲の前記論理セグメントと前記物理セグメントとを、それぞれ所定の小領域単位のサブ論理セグメントとサブ物理セグメントとに分割し、前記アクセス対象範囲の前記サブ論理セグメントを、所定の規則に従って前記アクセス対象範囲の前記サブ物理セグメントに再配置する再配置手段、
前記再配置手段によって対応付けられた前記サブ論理セグメントと前記サブ物理セグメントとの間で、前記アクセス要求に基づくアクセス制御を行うデータアクセス手段、
として機能させることを特徴とするストレージシステムの負荷分散プログラム。
【請求項２】
前記再配置手段として、同一の前記論理セグメントに属する前記サブ論理セグメントを、複数の前記物理セグメントの前記サブ物理セグメントに分散して配置する前記所定の規則を有し、前記所定の規則を用いて前記サブ論理セグメントの再配置を行う、ことを特徴とする請求の範囲第１項記載のストレージシステムの負荷分散プログラム。
【請求項３】
前記再配置手段として、個々の前記論理セグメントを識別する論理セグメント番号と前記物理セグメントを識別する物理セグメント番号とにセグメント番号を設定し、前記論理セグメントを分割した前記サブ論理セグメントを識別するサブ論理セグメント番号と、前記物理セグメントを分割した前記サブ物理セグメントを識別するサブ論理セグメント番号とにサブセグメント番号を設定し、前記セグメント番号と前記サブセグメント番号とをパラメータとして所定の変換規則を用いて変換し、変換前と変換後のパラメータの値に基づいて、前記サブ論理セグメントを前記サブ物理セグメントに対応付ける、ことを特徴とする請求の範囲第１項記載のストレージシステムの負荷分散プログラム。
【請求項４】
前記管理情報記憶手段は、前記サブ論理セグメントを分散させるセグメント数、及び前記論理セグメントを分割するサブ論理セグメントの数を保持し、
前記再配置手段は、前記管理情報記憶手段に保持されている、前記セグメント数及び前記サブ論理セグメントの数を参照して再配置処理を行う、
ことを特徴とする請求の範囲第３項記載のストレージシステムの負荷分散プログラム。
【請求項５】
前記データアクセス手段として、前記再配置手段によって前記アクセス対象範囲の論理セグメントを分割した前記サブ論理セグメントが割り当てられたすべての前記サブ物理セグメントについて、前記サブ物理セグメントが属する前記物理セグメントを管理する前記ストレージノードに対してアクセス要求を発行する、ことを特徴とする請求の範囲第１項記載のストレージシステムの負荷分散プログラム。
【請求項６】
前記データアクセス手段として、前記再配置手段を備え、管理する前記ストレージ装置に前記サブ物理セグメント単位でデータアクセスが可能な前記ストレージノードに対し、前記アクセス要求がデータ読み出しであるときは、前記アクセス要求を発行した前記ストレージノードから取得した前記サブ物理セグメント単位の読み出しデータを、前記再配置手段によって生成された前記サブ論理セグメントと前記サブ物理セグメントとの対応関係に応じて並び替える、ことを特徴とする請求の範囲第５項記載のストレージシステムの負荷分散プログラム。
【請求項７】
前記データアクセス手段として、前記再配置手段を備え、管理する前記ストレージ装置に前記サブ物理セグメント単位でデータアクセスが可能な前記ストレージノードに対し、前記アクセス要求がデータ書き込みであるときは、前記アクセス要求とともに取得した書き込みデータを、前記サブ論理セグメント単位に分割し、前記サブ論理セグメントに対応付けられた前記サブ物理セグメントを管理する前記ストレージノードに対し、書き込み要求とともに送信する、ことを特徴とする請求の範囲第５項記載のストレージシステムの負荷分散プログラム。
【請求項８】
ネットワーク経由で接続される複数のストレージノードによって構成するストレージ装置にて、コンピュータがデータを分散管理するストレージシステムの負荷分散処理を行う負荷分散方法において、
セグメント特定手段が、前記データのアクセス要求を取得すると、管理情報記憶手段に記憶される仮想的な論理ボリュームを所定の記憶領域単位で分割した論理セグメントの識別情報と、前記論理セグメントに対応付けられた前記ストレージ装置の実データ記憶領域を前記所定の記憶領域単位で分割した物理セグメントの識別情報とを関連付けた管理情報に基づいて、前記アクセス要求によって指定される前記論理ボリューム上のアクセス対象範囲の論理セグメントに対応付けられた物理セグメントとを特定し、
再配置手段が、前記アクセス対象範囲の前記論理セグメントと前記物理セグメントとを、それぞれ所定の小領域単位のサブ論理セグメントとサブ物理セグメントとに分割し、前記アクセス対象範囲の前記サブ論理セグメントを、所定の規則に従って前記アクセス対象範囲の前記サブ物理セグメントに再配置し、
データアクセス手段が、前記再配置手段によって対応付けられた前記サブ論理セグメントと前記サブ物理セグメントとの間で、前記アクセス要求に基づくアクセス制御を行う、
手順を有することを特徴とするストレージシステムの負荷分散方法。
【請求項９】
ネットワーク経由で接続される複数のストレージノードによって構成するストレージ装置にてデータを分散管理するストレージ管理装置において、
仮想的な論理ボリュームを所定の記憶領域単位で分割した論理セグメントの識別情報と、前記論理セグメントに対応付けられた前記ストレージ装置の実データ記憶領域を前記所定の記憶領域単位で分割した物理セグメントの識別情報とを関連付けた管理情報を記憶する管理情報記憶手段と、
前記データのアクセス要求を取得すると、前記管理情報に基づいて、前記アクセス要求によって指定される前記論理ボリューム上のアクセス対象範囲の論理セグメントに対応付けられた物理セグメントとを特定するセグメント特定手段と、
前記アクセス対象範囲の前記論理セグメントと前記物理セグメントとを、それぞれ所定の小領域単位のサブ論理セグメントとサブ物理セグメントとに分割し、前記アクセス対象範囲の前記サブ論理セグメントを、所定の規則に従って前記アクセス対象範囲の前記サブ物理セグメントに再配置する再配置手段と、
前記再配置手段によって対応付けられた前記サブ論理セグメントと前記サブ物理セグメントとの間で、前記アクセス要求に基づくアクセス制御を行うデータアクセス手段と、
を有することを特徴とするストレージ管理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はストレージシステムの負荷分散プログラム、ストレージシステムの負荷分散方法、及びストレージ管理装置に関し、特にネットワーク経由で接続される複数のストレージノードによって構成するするストレージ装置にて、コンピュータがデータを分散管理するストレージシステムの負荷分散処理を、コンピュータに行わせる負荷分散プログラム、その負荷分散方法、及びストレージ管理装置に関する。
【背景技術】
【０００２】
従来、ストレージシステムの構成として、複数のストレージノードをネットワーク上に分散配置して協働させることによって、性能及び信頼性を向上させる分散型の分散ストレージシステムがある。このような分散ストレージシステムでは、個々のストレージノード内の記憶領域を一元的に利用するために、仮想的なボリューム（以下、論理ボリュームと呼ぶ）が利用者に提供される。この、論理ボリュームは、論理的な記憶領域を複数の領域に分割した記憶領域単位（以下、論理セグメントと呼ぶ）によって管理される。また、ストレージノード内の記憶領域は、論理セグメントと同じサイズの実データ記憶領域（以下、物理セグメントと呼ぶ）に分けられている。論理ボリュームの論理セグメントは、ストレージノード内の少なくとも１つの物理セグメントと対応付けられる。なお、データを二重化する場合には、異なるストレージノードの物理セグメントの組が１つの論理セグメントに対応付けられる。個々の物理セグメントを管理する領域には、対応する論理セグメントの識別情報などの管理情報が設定される。【０００３】
従来、セグメント単位の大きさや、論理セグメントと物理セグメントとの対応関係は、導入時に決定したまま、その後は静的に固定されたまま利用されることが多い。このため、アクセス頻度の高いファイルを持つ論理セグメント群が、少数の特定のストレージノードの物理セグメントに対応付けされていると、論理セグメントへの多数のアクセスの集中が原因となり、対応するストレージノードからのファイル読み出し、あるいは書き込みの際にレスポンスの低下が発生する。そこで、このようなストレージシステムの記憶資源の使用率の隔たりを回避して、記憶資源の可用性や、アクセス時のレスポンスを向上させるため、必要に応じて物理セグメントの配置を動的に変化させるコンピュータネットワークの制御方法が提案されている（たとえば、特許文献１参照）。【０００４】
また、分散配置されるストレージ装置（ディスクアレイ）に対するシーケンシャル書き込み時に並列動作するドライブ数ができるだけ多くなるように、ドライブ内の記憶領域を割り当てる制御を行うディスクアレイのための領域割り当て方法も提案されている（たとえば、特許文献２参照）。【０００５】
このように、従来の分散ストレージシステムでは、ストレージノードへアクセスする際の応答速度やスループットの向上のためにさまざまな手法が提案されていた。
【特許文献１】特開平９−２２３０４７号公報（図１１）
【特許文献２】特開平８−１８５２７５号公報（図１）
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかし、従来の分散ストレージシステムでは、少数の特定のストレージノードへの負荷集中を抑制できないという問題点があった。
コンピュータの基本ソフトであるオペレーティングシステム（Operating System；以下、ＯＳとする）では、アプリケーションから論理ボリュームへのアクセスを要求するランダムなＩＯコマンドを取得すると、このＩＯコマンドをソートした後、ストレージノードに対して発行する。図１０は、従来のストレージシステムにおけるＯＳのＩＯコマンドのソートとストレージノードの負荷との関係を説明する図である。【０００７】
論理ボリューム９１０は、論理セグメント、Ｓ１（９１１）、Ｓ２（９１２）、Ｓ３（９１３）、及びＳ４（９１４）により構成され、各セグメントは、アドレスの昇順にＳ１，Ｓ２，Ｓ３，Ｓ４と並んでいるとする。ストレージノード９２０の物理セグメントは、物理セグメント９２１〜９２３に分けられている。同様に、ストレージノード９３０内の記憶領域は、物理セグメント９３１〜９３３に分けられ、ストレージノード９４０内の記憶領域は、物理セグメント９４１〜９４２に分けられている。なお、図の例では、セグメントを「Ｓ」と数字との組合せで示しており、対応付けられた論理セグメントと物理セグメントとには、同じ数字を設定する。たとえば、論理セグメントＳ１（９１１）と、物理セグメントＳ１（９２１）とが対応付けられており、論理セグメントＳ１（９１１）の実データは、物理セグメントＳ１（９２１）に格納される。【０００８】
アプリケーションが発行する論理ボリュームへのアクセスを要求するＩＯコマンド（以下、アプリ発行コマンドとする）９０１は、アプリケーションの動作によりランダムに発生する。なお、図のＩＯコマンドに続く（）内は、アクセス要求先の論理セグメントを表している。たとえば、ＩＯコマンド（Ｓ１）は、論理ボリューム９１０の論理セグメントＳ１（９１１）へのアクセス要求になる。ＯＳは、これらアプリ発行コマンド９０１を取得すると、バッファなどに一時格納し、ＩＯコマンドが指示するアクセス要求先のアドレスでＩＯコマンドをソートしてからアドレス順に従って順次発行する。ソートによって、ＯＳ発行コマンド９０２は、アクセス先をＳ１（９１１）とするＩＯコマンド（Ｓ１）群、アクセス先をＳ２（９１２）とするＩＯコマンド（Ｓ２）群、アクセス先をＳ３（９１３）とするＩＯコマンド（Ｓ３）群の順に並べられる。そして、並べられた順にＩＯコマンドが発行される。ＩＯコマンド（Ｓ２）を例にとれば、ソートされた４つのＩＯコマンド（Ｓ２）９０３が続けて発行される。すなわち、ストレージノード９３０の物理セグメント９３１へのアクセスが集中することとなり、ストレージノード９３０のレスポンスが低下する。【０００９】
しかし、従来のストレージシステムでは、ストレージノードの物理ボリュームへのアクセスの応答時間の高速化や、スループットの向上のためのストレージ管理は、すべてセグメントを単位として行われていた。したがって、上記のように同一セグメント内の狭い範囲へアクセスが集中したときには、応答時間の増大やスループットの低下を防ぐことができなかった。【００１０】
セグメントのサイズを小さくすれば、特定のセグメントへのアクセスの集中を軽減することができる。しかしながらセグメントの数が多くなり、これに伴ってセグメントの管理情報も増大し、セグメント管理処理に要する時間も増えるなど好ましくない。【００１１】
本発明はこのような点に鑑みてなされたものであり、管理情報を増やすことなく、さらにアクセス性能を向上することが可能なストレージシステムの負荷分散プログラム、ストレージシステムの負荷分散方法、及びストレージ管理装置を提供することを目的とする。
【課題を解決するための手段】
【００１２】
本発明では上記課題を解決するために、図１に示すような処理をコンピュータに実行させるための負荷分散プログラムが提供される。本発明にかかるストレージシステムの負荷分散プログラムは、ストレージ管理装置１に適用され、コンピュータに以下の処理を実行させることができる。ストレージ管理装置１は、管理情報記憶手段１ａ、セグメント特定手段１ｃ、再配置手段１ｄ、及びデータアクセス手段１ｂを有し、ネットワーク経由で接続される複数のストレージノード２ａ，３ａ，４ａ，５ａと協働し、データをストレージ装置２ｂ，３ｂ，４ｂ，５ｂに分散配置して管理する。【００１３】
管理情報記憶手段１ａには、仮想的な論理セグメントを個々に識別する論理セグメントの識別情報と、実データ記憶領域である物理セグメントであって、論理セグメントと対応付けられた物理セグメントを個々に識別する識別情報と、を関連付けた管理情報が格納される。論理セグメントは、ストレージ装置２ｂ，３ｂ，４ｂ，５ｂの記憶領域を一元管理するための仮想的な論理ボリュームを、所定の記憶領域単位で分割したものである。物理セグメントは、ストレージ装置２ｂ，３ｂ，４ｂ，５ｂの実データ記憶領域を論理セグメントと同じ所定の記憶領域単位で分割したものである。セグメント特定手段１ｃは、データのアクセス要求を取得すると、管理情報記憶手段１ａに記憶される管理情報に基づいて、アクセス要求によって指定される論理ボリューム上のアクセス対象範囲の論理セグメントに対応付けられた物理セグメントとを特定する。再配置手段１ｄは、まず、アクセス対象範囲の論理セグメントと、その論理セグメントに対応付けられた物理セグメントについて、この論理セグメントと物理セグメントとを、それぞれ所定の小領域単位のサブ論理セグメントと、サブ物理セグメントと、に分割する。そして、分割されたアクセス対象範囲のサブ論理セグメントを、所定の規則に従ってサブ物理セグメントに再配置する。データアクセス手段１ｂは、再配置手段１ｄによって対応付けられたサブ論理セグメントとサブ物理セグメントとの間で、アクセス要求に基づくデータのアクセス制御を行う。【００１４】
このようなストレージシステムの負荷分散プログラムによれば、コンピュータを、ストレージ管理装置１として機能させることができる。管理情報記憶手段１ａには、仮想的な論理セグメントの個々を識別する識別情報と、論理セグメントに対応付けられた実際データ記憶領域の物理セグメントを個々に識別する識別情報と、を関連付けた管理情報が格納される。データのアクセス要求が入力されると、セグメント特定手段１ｃは、管理情報に基づいて、アクセス要求によって指定される論理ボリューム上のアクセス対象領域の論理セグメントに対応付けられた物理セグメントとを特定する。再配置手段１ｄでは、アクセス対象範囲の論理セグメントを所定の分割数のサブ論理セグメントに分割するとともに、対応する物理セグメントを同じ分割数のサブ物理セグメントに分割する。そして、分割されたサブ論理セグメントを、所定の規則に従ってサブ物理セグメントに再配置する。これにより、サブ論理セグメントとサブ物理セグメントとの対応関係が変換される。データアクセス手段１ｂは、再配置手段１ｄによって対応付けられたサブ論理セグメントとサブ物理セグメントとの間のアクセス制御を行う。【００１５】
また、上記課題を解決するために、ネットワーク経由で接続される複数のストレージノードによって構成するストレージ装置にて、コンピュータがデータを分散管理するストレージシステムの負荷分散処理を行う負荷分散方法において、セグメント特定手段が、データのアクセス要求を取得すると、管理情報記憶手段に記憶される仮想的な論理ボリュームを所定の記憶領域単位で分割した論理セグメントの識別情報と、論理セグメントに対応付けられたストレージ装置の実データ記憶領域を所定の記憶領域単位で分割した物理セグメントの識別情報とを関連付けた管理情報に基づいて、アクセス要求によって指定される論理ボリューム上のアクセス対象範囲の論理セグメントに対応付けられた物理セグメントとを特定し、再配置手段が、アクセス対象範囲の論理セグメントと物理セグメントとを、それぞれ所定の小領域単位のサブ論理セグメントとサブ物理セグメントとに分割し、アクセス対象範囲のサブ論理セグメントを、所定の規則に従ってアクセス対象範囲のサブ物理セグメントに再配置し、データアクセス手段が、再配置手段によって対応付けられたサブ論理セグメントとサブ物理セグメントとの間で、アクセス要求に基づくアクセス制御を行う、手順を有することを特徴とするストレージシステムの負荷分散方法、が提供される。【００１６】
このようなストレージシステムの負荷分散方法によれば、アクセス対象範囲の論理セグメントと、論理セグメントに対応付けられたサブ論理セグメントと、を所定の分割数のサブ論理セグメントと、サブ物理セグメントとに分割する。サブ論理セグメントに対応させるサブ物理セグメントを所定の規則に従って再配置し、再配置後の対応付けに基づいて論理セグメントと物理セグメントとの間のアクセス制御を行う。【００１７】
また、上記課題を解決するために、ネットワーク経由で接続される複数のストレージノードによって構成するストレージ装置にてデータを分散管理するストレージ管理装置において、仮想的な論理ボリュームを所定の記憶領域単位で分割した論理セグメントの識別情報と、論理セグメントに対応付けられたストレージ装置の実データ記憶領域を所定の記憶領域単位で分割した物理セグメントの識別情報とを関連付けた管理情報を記憶する管理情報記憶手段と、データのアクセス要求を取得すると、管理情報に基づいて、アクセス要求によって指定される論理ボリューム上のアクセス対象範囲の論理セグメントに対応付けられた物理セグメントとを特定するセグメント特定手段と、アクセス対象範囲の論理セグメントと物理セグメントとを、それぞれ所定の小領域単位のサブ論理セグメントとサブ物理セグメントとに分割し、アクセス対象範囲のサブ論理セグメントを、所定の規則に従ってアクセス対象範囲のサブ物理セグメントに再配置する再配置手段と、再配置手段によって対応付けられたサブ論理セグメントとサブ物理セグメントとの間で、アクセス要求に基づくアクセス制御を行うデータアクセス手段と、を有することを特徴とするストレージ管理装置、が提供される。【００１８】
このようなストレージ管理装置によれば、アクセス対象範囲の論理セグメントと、論理セグメントに対応付けられた物理セグメントとを、所定の分割数のサブ論理セグメントと、サブ物理セグメントと、に分割して所定の規則に従ってサブ論理セグメントに割り当てるサブ物理セグメントを再配置する。そして、再配置後の対応付けに基づいて、論理セグメントと物理セグメントとの間のアクセス制御を行う。
【発明の効果】
【００１９】
本発明では、論理セグメントと物理セグメントとをそれぞれ複数のサブ論理セグメントとサブ物理セグメントとに分割し、サブ論理セグメントをサブ物理セグメントに再配置する。これにより、セグメントを単位としてストレージ装置に振り分けられていたデータを、さらに小さいサブセグメント単位で複数のストレージ装置に振り分けることができる。これにより、特定のセグメントへのアクセスが集中するような場合であっても、ストレージ装置にかかる負荷を分散し、アクセス性能を向上させることが可能となる。【００２０】
本発明の上記および他の目的、特徴および利点は本発明の例として好ましい実施の形態を表す添付の図面と関連した以下の説明により明らかになるであろう。
【図面の簡単な説明】
【００２１】
【図１】実施の形態に適用される発明の概念図である。
【図２】本実施の形態の分散ストレージシステム構成例を示す図である。
【図３】本実施の形態に用いるアクセスノードのハードウェア構成例を示す図である。
【図４】論理ボリュームのデータ構造を示す図である。
【図５】本発明の実施の形態の分散ストレージシステムの各装置の機能を示すブロック図である。
【図６】本発明の実施の形態の管理情報の一例を示した図である。
【図７】再配置の一例を示した図である。
【図８】本発明の実施の形態のサブセグメント割当の一例を示した図である。
【図９】本発明の実施の形態のストレージ管理処理の手順を示したフローチャートである。
【図１０】従来のストレージシステムにおけるＯＳのＩＯコマンドのソートとストレージノードの負荷との関係を説明する図である。
【発明を実施するための最良の形態】
【００２２】
以下、本発明の実施の形態を図面を参照して説明する。まず、実施の形態に適用される発明の概念について説明し、その後、実施の形態の具体的な内容を説明する。
図１は、実施の形態に適用される発明の概念図である。【００２３】
本発明にかかるストレージ管理装置１は、管理情報記憶手段１ａ、データアクセス手段１ｂ、セグメント特定手段１ｃ、及び再配置手段１ｄを有し、データをストレージノード２ａ，３ａ，４ａ，５ａの管理するストレージ装置２ｂ，３ｂ，４ｂ，５ｂにデータを分散配置して管理する。なお、ストレージ管理装置１の各手段は、コンピュータが、ストレージシステムの負荷分散プログラムを実行することにより、その処理機能を実現する。【００２４】
ストレージノード２ａ，３ａ，４ａ，５ａには、それぞれストレージ装置２ｂ，３ｂ，４ｂ，５ｂが接続されている。ストレージ装置２ｂ，３ｂ，４ｂ，５ｂは、記憶領域を論理ボリュームの論理セグメントと同じセグメント単位に分割した物理セグメントによって管理される。【００２５】
管理情報記憶手段１ａには、仮想的な論理セグメントと、実データ記憶領域の物理セグメントとを対応付ける管理情報が記憶されている。論理セグメントは、ストレージ装置２ｂ，３ｂ，４ｂ，５ｂの記憶領域を一元管理するための仮想的な論理ボリュームを所定のセグメント単位に分割したものである。物理セグメントは、ストレージ装置２ｂ，３ｂ，４ｂ，５ｂの実データ記憶領域を、論理セグメントと同様に、セグメント単位に分割したものである。物理セグメントは、実際にデータを格納する記憶領域として論理セグメントに対応付けられる。管理情報には、個々の論理セグメントを特定する論理セグメントの識別情報と、この論理セグメントに対応付けられた個々の物理セグメントを特定する物理セグメントの識別情報とが、関連付けて記録されている。それぞれの識別情報によれば、論理セグメントの属する論理ボリュームや、物理セグメントの属するストレージノードなどがわかる。なお、以下の説明において、論理セグメントと物理セグメントとの双方を指すとき、あるいは区別する必要がないときは、単にセグメントと表記する。サブ論理セグメントとサブ物理セグメントについても同様である。【００２６】
データアクセス手段１ｂは、ネットワークなどを経由して入力されるアクセス要求に対し、アクセス対象のストレージノード２ａ，３ａ，４ａ，５ａを特定し、アクセス要求を特定されたストレージノード２ａ，３ａ，４ａ，５ａに振り分けてデータアクセス処理を行う。また、各ストレージノード２ａ，３ａ，４ａ，５ａから得られた応答は、アクセス要求の要求元に返す。このため、アクセス要求を取得すると、セグメント特定手段１ｃにアクセス要求を送り、アクセス対象のセグメントを特定させる。続いて、再配置手段１ｄによるサブ論理セグメントの再配置によって設定されるサブ論理セグメントと、サブ物理セグメントとの間で、アクセス要求に基づくアクセス制御を行う。【００２７】
セグメント特定手段１ｃは、アクセス要求を取得すると、管理情報記憶手段１ａに記憶される管理情報を読み出し、管理情報に基づいて、アクセス要求によって指定される論理ボリューム上のアクセス対象範囲の論理セグメントに対応付けられた物理セグメントを特定する。【００２８】
再配置手段１ｄは、アクセス対象範囲の論理セグメントと、セグメント特定手段１ｃによって特定されたアクセス対象範囲に対応する物理セグメントと、を所定の分割数で分割することによってセグメント単位より小さい小領域単位に分割する。この小領域単位を、それぞれサブ論理セグメントとサブ物理セグメントと呼ぶ。そして、所定の規則に従って、アクセス対象範囲のサブ論理セグメントを、同じくアクセス対象範囲のサブ物理セグメントに再配置する。所定の規則は、任意の１つの論理セグメントを分割した複数のサブ論理セグメントが、複数の物理セグメントに配置されるような規則であれば、どのような規則であってもよい。この所定の規則は、ストレージノード２ａ，３ａ，４ａ，５ａを含むストレージシステムの各構成要素に対し、予め設定される。【００２９】
このような構成のストレージ管理装置１の動作及びストレージシステムの負荷分散方法について説明する。
ストレージシステムを利用するクライアントには、論理ボリュームが提供されている。ストレージ管理装置１は、論理ボリュームで指定されるアクセス要求に対応するストレージノード２ａ，３ａ，４ａ，５ａを特定し、アクセス要求を転送することによって、ストレージ装置２ｂ，３ｂ，４ｂ，５ｂに分散配置されるデータへのアクセス管理を行っている。【００３０】
ストレージ管理装置１に、クライアントから論理ボリュームに基づくアクセス要求が入力され、処理が開始される。セグメント特定手段１ｃは、アクセス要求を取得すると、管理情報記憶手段１ａに記憶される管理情報に基づいて、アクセス対象範囲の論理セグメントに対応付けられた物理セグメントを特定する。再配置手段１ｄでは、アクセス対象範囲の論理セグメントと、この論理セグメントに対応付けられた物理セグメントとを、さらに、サブ論理セグメントとサブ物理セグメントとに分割する。そして、同一の論理セグメントに属するサブ論理セグメントが、複数の物理セグメントに属するサブ物理セグメントに分散されるように、所定の規則に従ってサブ論理セグメントを再配置する。データアクセス手段１ｂは、再配置手段１ｄの対応付けに基づいて、サブ物理セグメントを管理するストレージノード２ａ，３ａ，４ａ，５ａに対しアクセス要求を転送する。たとえば、データ書き込みであれば、書き込みデータをサブ論理セグメント単位に分割し、対応付けられたサブ物理セグメントを管理するストレージノード２ａ，３ａ，４ａ，５ａに転送する。また、分割した書き込みデータを、サブ物理セグメントの並び順に従って並び替え、物理セグメント単位でストレージノード２ａ，３ａ，４ａ，５ａに転送してもよい。データ読み出しであれば、サブ物理セグメント単位で各ストレージノード２ａ，３ａ，４ａ，５ａから収集したデータを対応付けに従って組み立てて論理セグメントのデータにし、さらに、論理セグメントのデータを組み立ててアクセス対象範囲の読み出しデータを生成し、クライアントへ送る。【００３１】
このように、ストレージ管理装置１では、セグメントをさらにサブセグメントに分割し、サブセグメント単位でストレージ装置２ｂ，３ｂ，４ｂ，５ｂにデータを分散配置することができる。サブ論理セグメントのサブ物理セグメントへの分散配置は、所定の規則に基づいて行われるため、新たに対応付けを管理情報として残す必要はない。これにより、管理情報を増やすことなく、データをより小さい単位でストレージ装置に振り分けることができる。たとえば、ＯＳなどの処理によって、あるセグメントへのアクセスが集中した場合であっても、サブセグメント単位でデータの分散配置が行われるため、ストレージ装置にかかる負荷を分散し、アクセス性能を向上させることが可能となる。【００３２】
以下、実施の形態を、自律型のストレージノードが分散配置される分散ストレージシステムに適用した場合を例に、図面を参照して詳細に説明する。
図２は、本実施の形態の分散ストレージシステム構成例を示す図である。本実施の形態では、ネットワーク１０を介して、アクセスノード１００、複数のストレージノード２００，３００，４００，５００、及びコントロールノード６００が接続されている。ストレージノード２００，３００，４００，５００のそれぞれには、ストレージ装置２１０，３１０，４１０，５１０が接続されている。【００３３】
アクセスノード１００には、ネットワーク２０を介して複数の端末装置２１，２２，２３が接続されている。アクセスノード１００は、ストレージノード２００，３００，４００，５００のそれぞれが管理しているデータの格納場所を認識しており、端末装置２１，２２，２３からの要求に応答して、ストレージノード２００，３００，４００，５００へデータアクセスを行う。本実施の形態では、アクセスノード１００として、ストレージノード２００，３００，４００，５００へのアクセス処理を行うストレージ管理装置を提供する。【００３４】
ストレージ装置２１０には、複数のハードディスク装置（ＨＤＤ）２１１，２１２，２１３，１１４が実装されており、内蔵するＨＤＤを用いたＲＡＩＤ（Redundant Array of Independent Disks）システムを構成する。ストレージ装置３１０，４１０，５１０の構成も同様である。ストレージノード２００，３００，４００，５００は、たとえば、ＩＡ（Intel Architecture）と呼ばれるアーキテクチャのコンピュータである。そして、接続されたストレージ装置２１０，３１０，４１０，５１０に格納されたデータを管理し、管理しているデータをネットワーク１０経由で端末装置２１，２２，２３に提供する。また、ストレージノード２００，３００，４００，５００は、冗長性を有するデータを管理することもできる。この場合、同一のデータが、少なくとも２つのストレージノードで管理される。【００３５】
コントロールノード６００は、ストレージノード２００，３００，４００，５００を管理する。たとえば、コントロールノード６００は、所定のタイミングで、各ストレージノード２００，３００，４００，５００に対してパトロールの指示を出力する。【００３６】
図３は、本実施の形態に用いるアクセスノードのハードウェア構成例を示す図である。アクセスノード１００は、ＣＰＵ（Central Processing Unit）１０１によって装置全体が制御されている。ＣＰＵ１０１には、バス１０８を介してＲＡＭ（Random Access Memory）１０２、ＨＤＤ１０３、グラフィック処理装置１０４、入力インタフェース１０５、通信インタフェース１０６、及び通信インタフェース１０７が接続されている。【００３７】
ＲＡＭ１０２には、ＣＰＵ１０１に実行させるＯＳやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、ＲＡＭ１０２には、ＣＰＵ１０１による処理に必要な各種データが格納される。ＨＤＤ１０３には、ＯＳやアプリケーションのプログラムが格納される。グラフィック処理装置１０４には、モニタ１１が接続されている。グラフィック処理装置１０４は、ＣＰＵ１０１からの命令に従って、画像をモニタ１１の画面に表示させる。入力インタフェース１０５には、キーボード１２とマウス１３とが接続されている。入力インタフェース１０５は、キーボード１２やマウス１３から送られてくる信号を、バス１０８を介してＣＰＵ１０１に送信する。通信インタフェース１０６は、ネットワーク１０に接続されている。通信インタフェース１０６は、ネットワーク１０を介して、ストレージノード２００，３００，４００，５００や、コントロールノード６００など、分散ストレージシステムを構成する他のコンピュータとの間でデータの送受信を行う。通信インタフェース１０７は、ネットワーク２０を介して、端末装置２１，２２，２３との間でデータの送受信を行う。【００３８】
以上のようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。なお、図３には、アクセスノード１００の構成のみを示したが、ストレージノード２００，３００，４００，５００、コントロールノード６００、及び端末装置２１，２２，２３も同様のハードウェア構成で実現できる。ただし、ストレージノード２００，３００，４００，５００については、上述のようにＲＡＩＤシステム構成をとるので、単体のＨＤＤ１０３ではなく、ＨＤＤインタフェースを介して複数のＨＤＤが接続する構成をとる。【００３９】
図２に示すような構成のアクセスノード１００、ストレージノード２００，３００，４００，５００、及びコントロールノード６００から成る分散ストレージシステムは、端末装置２１〜２３に対して、論理ボリュームとして機能する。【００４０】
図４は、論理ボリュームのデータ構造を示す図である。論理ボリューム７００には、「ＬＶＯＬ−Ａ」という識別子（論理ボリューム識別子）が付与されている。また、ネットワーク経由で接続された４台のストレージノード２００，３００，４００，５００には、個々のストレージノードの識別のためにそれぞれ「ＳＮ−Ａ」、「ＳＮ−Ｂ」、「ＳＮ−Ｃ」、「ＳＮ−Ｄ」というノード識別子が付与されている。【００４１】
論理ボリューム７００は、論理セグメント７１０，７２０，７３０，７４０，７５０という単位で構成される。
各ストレージノード２００，３００，４００，５００が有するストレージ装置２１０，３１０，４１０，５１０それぞれは、５つの物理セグメントに分割され、それぞれのストレージノード内で管理されている。図４の例では、ストレージ装置２１０内の記憶領域は、５つの物理セグメント２２１〜２２５に分けられている。ストレージ装置３１０内の記憶領域は、５つの物理セグメント３２１〜３２５に分けられている。ストレージ装置４１０内の記憶領域は、５つの物理セグメント４２１〜４２５に分けられている。ストレージ装置５１０内の記憶領域は、５つの物理セグメント５２１〜５２５に分けられている。【００４２】
なお、論理セグメント７１０，７２０，７３０，７４０，７５０の記憶容量は、ストレージ装置２１０，３１０，４１０，５１０における管理単位である物理セグメントの記憶容量と同じである。たとえば、物理セグメントの記憶容量が１ギガバイトとすると論理セグメントの記憶容量も１ギガバイトである。論理ボリューム７００の記憶容量はセグメント１つ当たりの記憶容量の整数倍である。論理セグメントの記憶容量が１ギガバイトならば、論理ボリューム７００の記憶容量は５ギガバイトといったものになる。【００４３】
図４の例では、セグメントの識別子を、「Ｓ」と数字との組合せで示している。アルファベットに続く数字は、何番目のセグメントに属するのかを表している。たとえば、１番目の論理セグメント７１０が「Ｓ１」で示される。【００４４】
このような構造の論理ボリューム７００の各論理セグメントは、ストレージ装置２１０，３１０，４１０，５１０内のいずれかの物理セグメントに対応付けられる。図の例では、対応付けられている論理セグメントと物理セグメントとには、同一のセグメント識別子が設定されている。たとえば、「Ｓ１」のセグメント識別子の論理セグメント７１０は、ストレージ装置２１０の物理セグメント２２１に対応付けられている。【００４５】
そして、各ストレージ装置２１０，３１０，４１０，５１０では、自己の物理セグメントに対応する論理セグメントのデータを記憶・管理する。
図５は、本発明の実施の形態の分散ストレージシステムの各装置の機能を示すブロック図である。図は、アクセスノードとストレージノードとを取り出して示している。【００４６】
ストレージノード２００は、物理セグメント管理情報記憶部２３０、データアクセス部２４０、及びデータ管理部２５０を有する。
物理セグメント管理情報記憶部２３０は、ストレージ装置２１０の物理セグメント２２１，２２２，２２３，２２４，２２５を管理するための物理セグメント管理情報を記憶する。管理情報の詳細は後述する。【００４７】
データアクセス部２４０は、アクセスノード１００からの要求に応答して、ストレージ装置２１０内のデータにアクセスする。具体的には、アクセスノード１００からデータのリード要求を受け取った場合、リード要求で指定されたデータをストレージ装置２１０から取得し、アクセスノード１００に送信する。また、ライト要求を受け取った場合、ライト要求に含まれるデータをストレージ装置２１０内に格納する。このとき、リード処理及びライト処理は、サブ物理セグメント単位で行う。【００４８】
データ管理部２５０は、ストレージ装置２１０内のデータを管理する。具体的には、コントロールノード６００からの要求に応じて、ストレージ装置２１０内の指定された物理セグメントのデータチェック処理を行う。また、コントロールノード６００からの物理セグメント管理情報の取得要求に応答して、物理セグメント管理情報記憶部２３０に記憶された物理セグメント管理情報をコントロールノード６００に送信する。コントロールノード６００は、取得要求を出して、各ストレージノードから物理セグメント管理情報を収集し、これらをまとめて管理情報として自装置内に格納しておく。アクセスノード１００は、取得要求を出してコントロールノード６００から管理情報を取得し、管理情報記憶部１４０に記憶する。【００４９】
アクセスノード１００は、データアクセス部１１０、セグメント特定部１２０、再配置部１３０、及び管理情報記憶部１４０を有する。
データアクセス部１１０は、アクセス要求受付手段１１１、リード処理手段１１２、ライト処理手段１１３、及び応答処理手段１１４を有する。具体的には、アクセス要求受付手段１１１は、端末装置２１，２２，２３からのアクセス要求を取得し、セグメント特定部１２０及び再配置部１３０によってサブ論理セグメントとサブ物理セグメントとを対応付ける。そして、アクセス要求が、リード要求であればリード処理手段１１２、ライト要求であればライト処理手段１１３へアクセス要求を送る。リード処理手段１１２は、アクセス対象のサブ物理セグメントを有するストレージノードに対し、サブ物理セグメントを指定してリード要求を送信し、応答として読み出されたデータを取得する。そして、取得した各サブ物理セグメントの読み出しデータを組み立てて、セグメントデータに復元する。アクセス対象範囲が複数のセグメントに渡っているときは、対象のサブ物理セグメントから同様にして取得し、復元したセグメントデータを組み立て、アクセス対象範囲のデータを復元し、応答処理手段１１４へ送る。ライト処理手段１１３は、ライト要求とともに取得した書込みデータをサブ論理セグメント単位に分割し、対応するサブ物理セグメントを有するストレージノードに対し、ライト要求を書き込みデータとともに送信する。そして得られた応答を応答処理手段１１４へ送る。応答処理手段１１４は、リード処理手段１１２、またはライト処理手段１１３から取得した応答をアクセス要求元の端末装置へ送信する。【００５０】
セグメント特定部１２０は、管理情報記憶部１４０に記憶される管理情報に基づいて、アクセス対象範囲の論理セグメントに対応付けられた物理セグメントを特定する。
再配置部１３０は、所定の規則に従って、アクセス対象範囲の論理セグメントを分割したサブ論理セグメントを、セグメント特定部１２０によって特定されたアクセス対象範囲の物理セグメントを分割したサブ物理セグメントに再配置する。再配置前は、ある論理セグメントに所属する１番目のサブ論理セグメントは、この論理セグメントに対応付けられた物理セグメントに所属する１番目のサブ物理セグメントに対応付けられている。同様にして、同じ論理セグメントに所属するサブ論理セグメントは、同じ物理セグメントに所属するサブ物理セグメントに対応付けられている。再配置部１３０では、同一の論理セグメントに所属するサブ論理セグメントを、複数の物理セグメントに分散配置する規則を用いてサブ論理セグメントを分散配置させる。これにより、同一の論理セグメントに所属するサブ論理セグメントは、それぞれ異なる物理セグメントに所属するサブ物理セグメントに対応付けられる。たとえば、個々の論理セグメントを識別する論理セグメント番号と、それぞれの論理セグメント内のサブ論理セグメントを識別するサブ論理セグメント番号とをサブ論理セグメントを特定するパラメータとする。同様にして、サブ物理セグメントを特定するパラメータも設定する。そして、サブ論理セグメントを特定するパラメータを変換し、変換されたパラメータに対応するサブ物理セグメントと、このサブ論理セグメントとを対応付け、再配置を行う。【００５１】
管理情報記憶部１４０は、コントロールノード６００から取得した管理情報を記憶する。管理情報は、システム起動時や、ストレージノード２００へのアクセスが失敗したときなどに、コントロールノード６００から読み込まれる。管理情報記憶部１４０には、たとえば、ＲＡＭ１０２内の記憶領域の一部が使用される。【００５２】
図６は、本発明の実施の形態の管理情報の一例を示した図である。
管理情報１１００には、ストレージ装置ＩＤ１１０１、物理セグメントＩＤ１１０２、物理セグメントの状態１１０３、物理セグメントが所属する論理ボリュームＩＤ１１０４、及び物理セグメントが所属する論理セグメントＩＤ１１０５が設定される。【００５３】
ストレージ装置ＩＤ１１０１には、物理セグメントが属するストレージ装置のＩＤが設定される。ストレージ装置ＩＤは、ストレージ装置を特定することが可能な識別情報である。物理セグメントＩＤ１１０２には、当該物理セグメントをストレージ装置内で特定するための識別情報が設定される。物理セグメントの状態１１０３は、物理セグメントの状態を示す。たとえば、データを冗長化するときには、１つの論理セグメントに対し、２つの物理セグメントが割り当てられる。そのうち、主メモリをプライマリ、バックアップ用をセカンダリと呼ぶ。その他、動作に応じた状態が設定される。物理セグメントが所属する論理ボリュームＩＤ１１０４には、物理セグメントが対応付けられた論理ボリュームを特定するための識別情報が設定される。物理セグメントが所属する論理セグメントＩＤ１１０５には、物理セグメントが割り当てられた論理セグメントを特定する識別情報が設定される。【００５４】
たとえば、１行目の管理情報１１１０には、ストレージ装置「ＳＮ−Ａ」の「１」番目の物理セグメントが、「プライマリ」であり、論理ボリューム「ＬＶＯＬ−Ａ」の「１」番目の論理セグメントに対応付けられていることが設定されている。この関係は、図４に示した対応関係にあたる。他の行も同様に管理情報が設定される。【００５５】
なお、この管理情報は、ストレージノード２００，３００，４００，５００が保有する管理情報をコントロールノード６００が収集したものである。１行目及び２行目の管理情報１１１０，１１２０は、ストレージノード２００から取得した管理情報である。３行目の管理情報１１３０は、ストレージノード３００から取得した管理情報である。４行目の管理情報１１４０は、ストレージノード４００から取得した管理情報である。５行目の管理情報１１５０は、ストレージノード５００から取得した管理情報である。アクセスノード１００は、これらの管理情報をコントロールノード６００から取得し、管理情報記憶部１４０に格納しておく。【００５６】
この管理情報１１００に基づき、物理セグメントと論理セグメントとの対応関係と、物理セグメントと論理セグメントとの位置を特定することができる。
具体例を挙げて再配置について説明する。図７は、再配置の一例を示した図である。【００５７】
図は、論理セグメントＳ１（７１０），Ｓ２（７２０），Ｓ３（７３０），Ｓ４（７４０）と、ストレージ装置ＳＮ−Ａ（２１０），ＳＮ−Ｂ（３１０），ＳＮ−Ｃ（４１０）とを有するストレージシステムを示している。ここで、論理セグメントＳ１（７１０）は、ＳＮ−Ａ（２１０）の物理セグメント２２１に対応付けられている。論理セグメントＳ２（７２０）は、ＳＮ−Ｂ（３１０）の物理セグメント３２１に対応付けられている。論理セグメントＳ３（７３０）は、ＳＮ−Ｃ（４１０）の物理セグメント４２１に対応付けられている。論理セグメントＳ４は、ＳＮ−Ａ（２１０）の物理セグメント２２２に対応付けられている。【００５８】
ここでは、論理セグメントと物理セグメントとをそれぞれ４分割する。便宜的に、論理セグメントＳ１を４分割したサブ論理セグメントをＳ１０〜Ｓ１３とする。論理セグメントＳ２のサブ論理セグメントをＳ２０〜Ｓ２３とする。論理セグメントＳ３のサブ論理セグメントをＳ３０〜Ｓ３３とする。そして、論理セグメントＳ４のサブ論理セグメントをＳ４０〜Ｓ４３とする。また、対応する物理セグメントのサブ物理セグメントをＳ’１０〜Ｓ’３３とする。すなわち、再配置前、論理セグメントＳ１に所属するサブ論理セグメントＳ１０〜Ｓ１３は、物理セグメント２２１のＳ’１０〜Ｓ’１３に対応付けられている。【００５９】
ここでは、同一論理セグメントに属するサブ論理セグメントを異なる物理セグメントに再配置するため、サブ論理セグメントをＳ１０からＳ４３の順に並べ、物理セグメントＳ’１０，Ｓ’２０，Ｓ’３０，Ｓ’４０，Ｓ’１１，Ｓ’２１，Ｓ’３１，Ｓ‘４１，・・・，Ｓ’２３，Ｓ’３３，Ｓ’４３の順に対応付けていく。たとえば、論理セグメントＳ２（７２０）のサブ論理セグメントＳ２０〜Ｓ２３は、物理セグメント２２１，３２１，４２１，２２２の２番目の物理セグメントに順に対応付けられる。【００６０】
このように再配置された対応付けによりデータアクセス処理を行うと、処理がストレージ装置２１０，３１０，４１０に分散されるため、各ストレージ装置にかかる負荷を分散させることができる。【００６１】
このような再配置は、対象範囲のセグメントを識別するセグメント番号と、サブセグメントを識別するサブセグメント番号とをパラメータとし、パラメータを所定の演算式などで変換することにより、サブ論理セグメントをサブ物理セグメントに分散配置させることができる。【００６２】
図８は、本発明の実施の形態のサブセグメント割当の一例を示した図である。
ここで、セグメント数がＮ、サブセグメントの分割数がＭであるとき、サブセグメントを分散させるセグメントの数をｎとする。ただし、ｎには、Ｎ≧ｎ、Ｍ≧ｎを満たす整数であって、ＮとＭがｎの整数倍となる数が設定される。【００６３】
このとき、再配置前のサブ論理セグメントの配置を、セグメント番号をｘ、サブセグメント番号をｙとして、（ｘ，ｙ）と表記する。また、再配置後サブ物理セグメントの配置を、セグメント番号をｘ’、サブセグメント番号をｙ’として、（ｘ’，ｙ’）と表記する。【００６４】
そして、サブ論理セグメント（ｘ，ｙ）を、次の式を用いて、サブ物理セグメント（ｘ’，ｙ’）に対応する位置に割り当てる。
ｘ’＝ｎ＊（ｘ／ｎ）＋ｙ％ｎ                                  ・・・（１）
ｙ’＝ｎ＊（ｙ／ｎ）＋ｘ％ｎ                                  ・・・（２）
ここで、／は、整数の商、％は剰余を表わす。たとえば、（ｘ，ｙ）が（２，０）で、ｎが４のとき、ｘ／ｎ＝０、ｘ％ｎ＝２、ｙ／ｎ＝０、ｙ％ｎ＝０になる。【００６５】
図は、ｎ＝４で、上記の再配置が行われたサブセグメントの配列を示している。表の水平方向がサブセグメントの分割数Ｍ、垂直方向がセグメント数Ｎを表わしており、（Ａ）は再配置前の論理セグメントにおけるサブセグメントの配列、（Ｂ）は再配置後の物理セグメントにおけるサブセグメントの配列を示している。【００６６】
図では、セグメント番号をｘ、サブセグメント番号をｙとして、サブ論理セグメント（ｘ，ｙ）を、変換前の論理セグメントの配置で表す。たとえば、論理セグメントにおいて、セグメント０、サブセグメント０に相当するサブ論理セグメントは、（０，０）と表わす。そして、再配置によってサブ論理セグメントが移動した位置を（Ｂ）物理セグメントのセグメント番号とサブセグメント番号とに対応付けて表わす。たとえば、上記のサブ論理セグメント（０，０）は、（Ｂ）物理セグメントのセグメント０、サブセグメント０に再配置されている。また、サブ論理セグメント（０，１）は、物理セグメントのセグメント１、サブセグメント０に再配置されている。【００６７】
図の例からわかるように、たとえば、論理セグメントのセグメント０の行によって表される同一論理セグメントに所属するサブ論理セグメント、（０，０）、（０，１）、（０，２）、（０，３）、（０，４）、（０，５）、（０，６）、（０，７）は、物理セグメントのセグメント０〜３のサブセグメント０と、サブセグメント４とに分散して配置される。【００６８】
なお、上記変換式は一例であり、本願発明を限定するものではない。
ところで、アクセスノード１００からストレージノード２００，３００，４００，５００へのアクセス要求では、アクセス対象のサブ論理セグメントを指定してアクセス要求を行うことができる。また、ストレージノード側にも再配置手段を設け、ストレージノード側でセグメントの指定情報から該当するサブセグメントを特定できるようにすることもできる。【００６９】
次に、本発明の実施の形態のアクセスノードにおけるストレージ管理処理の処理手順を説明する。図９は、本発明の実施の形態のストレージ管理処理の手順を示したフローチャートである。【００７０】
端末装置より、ネットワークを経由してアクセス要求を取得し、処理が開始される。
［Ｓ０１］  アクセス要求と、管理情報記憶部１４０に記憶される管理情報とに基づいて、アクセス対象の論理セグメントに対応する物理セグメントを特定する。【００７１】
［Ｓ０２］  論理セグメントと物理セグメントとを、所定の分割数で、サブ論理セグメントとサブ物理セグメントに分割する。そして、所定の規則に基づいて、サブ論理セグメントをサブ物理セグメントに再配置する。このとき、同一の論理セグメントに所属するサブ論理セグメントを、複数の物理セグメントに所属するサブ物理セグメントに分散配置する。【００７２】
［Ｓ０３］  ステップＳ０２によりサブ論理セグメントに対応付けられたサブ物理セグメントが所属する物理セグメントを管理するストレージノードに対し、アクセス要求を行い、応答を取得する。【００７３】
［Ｓ０４］  アクセス対象のサブ論理セグメントに対応付けられたすべてのサブ物理セグメントに対する処理が終了したかどうかを判断する。終了していない場合は、ステップＳ０３に戻って、未処理のセグメントのストレージノードに対してアクセス処理を行う。終了していれば、次のステップへ処理を進める。【００７４】
［Ｓ０５］  アクセス要求がリード要求であれば、サブセグメントを組み立てて、セグメントにする。必要であれば、さらにセグメントの組立を行う。そして、組み立てられたデータとともに応答を端末装置に返す。アクセス要求がライト要求であれば、ストレージノードからの応答を端末装置に返す。【００７５】
以上の処理手順が実行されることにより、セグメントのデータをサブセグメントに分割してデータのアクセス処理を行うことが可能となる。
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、ストレージ管理装置が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記録装置には、ハードディスク装置（ＨＤＤ）、フレキシブルディスク（ＦＤ）、磁気テープなどがある。光ディスクには、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ（Random Access Memory）、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）などがある。光磁気記録媒体には、ＭＯ（Magneto-Optical disk）などがある。【００７６】
プログラムを流通させる場合には、たとえば、そのプログラムが記録されたＤＶＤ、ＣＤ−ＲＯＭなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。【００７７】
プログラムを実行するコンピュータは、たとえば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。【００７８】
上記については単に本発明の原理を示すものである。さらに、多数の変形、変更が当業者にとって可能であり、本発明は上記に示し、説明した正確な構成および応用例に限定されるものではなく、対応するすべての変形例および均等物は、添付の請求項およびその均等物による本発明の範囲とみなされる。
【符号の説明】
【００７９】
１  ストレージ管理装置
１ａ  管理情報記憶手段
１ｂ  データアクセス手段
１ｃ  セグメント特定手段
１ｄ  再配置手段
２ａ，３ａ，４ａ，５ａ  ストレージノード
２ｂ，３ｂ，４ｂ，５ｂ  ストレージ装置
【図１】
2008126202.tif 000003
【図２】
2008126202.tif 000004
【図３】
2008126202.tif 000005
【図４】
2008126202.tif 000006
【図５】
2008126202.tif 000007
【図６】
2008126202.tif 000008
【図７】
2008126202.tif 000009
【図８】
2008126202.tif 000010
【図９】
2008126202.tif 000011
【図１０】
2008126202.tif 000012
【手続補正書】
【提出日】平成21年4月17日(2009.4.17)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ネットワーク経由で接続される複数のストレージノードによって構成するストレージ装置にてコンピュータがデータを分散管理するストレージシステムの負荷分散処理を前記コンピュータに行わせる負荷分散プログラムにおいて、
前記コンピュータを、
仮想的な論理ボリュームを所定の記憶領域単位で分割した論理セグメントの識別情報と、前記論理セグメントに対応付けられた前記ストレージ装置の実データ記憶領域を前記所定の記憶領域単位で分割した物理セグメントの識別情報とを関連付けた管理情報を記憶する管理情報記憶手段、
前記データのアクセス要求を取得すると、前記管理情報に基づいて、前記アクセス要求によって指定される前記論理ボリューム上のアクセス対象範囲の論理セグメントに対応付けられた物理セグメントを特定するセグメント特定手段、
前記アクセス対象範囲の前記論理セグメントと前記物理セグメントとを、それぞれ所定の小領域単位のサブ論理セグメントとサブ物理セグメントとに分割し、前記アクセス対象範囲の前記サブ論理セグメントを、所定の規則に従って前記アクセス対象範囲の前記サブ物理セグメントに再配置する再配置手段、
前記再配置手段によって対応付けられた前記サブ論理セグメントと前記サブ物理セグメントとの間で、前記アクセス要求に基づくアクセス制御を行うデータアクセス手段、
として機能させることを特徴とするストレージシステムの負荷分散プログラム。
【請求項２】
前記再配置手段として、同一の前記論理セグメントに属する前記サブ論理セグメントを、複数の前記物理セグメントの前記サブ物理セグメントに分散して配置する前記所定の規則を有し、前記所定の規則を用いて前記サブ論理セグメントの再配置を行う、ことを特徴とする請求項１記載のストレージシステムの負荷分散プログラム。
【請求項３】
前記再配置手段として、個々の前記論理セグメントを識別する論理セグメント番号と前記物理セグメントを識別する物理セグメント番号とにセグメント番号を設定し、前記論理セグメントを分割した前記サブ論理セグメントを識別するサブ論理セグメント番号と、前記物理セグメントを分割した前記サブ物理セグメントを識別するサブ物理セグメント番号とにサブセグメント番号を設定し、前記セグメント番号と前記サブセグメント番号とをパラメータとして所定の変換規則を用いて変換し、変換前と変換後のパラメータの値に基づいて、前記サブ論理セグメントを前記サブ物理セグメントに対応付ける、ことを特徴とする請求項１記載のストレージシステムの負荷分散プログラム。
【請求項４】
前記管理情報記憶手段は、前記サブ論理セグメントを分散させるセグメント数、及び前記論理セグメントを分割するサブ論理セグメントの数を保持し、
前記再配置手段は、前記管理情報記憶手段に保持されている、前記セグメント数及び前記サブ論理セグメントの数を参照して再配置処理を行う、
ことを特徴とする請求項３記載のストレージシステムの負荷分散プログラム。
【請求項５】
前記データアクセス手段として、前記再配置手段によって前記アクセス対象範囲の論理セグメントを分割した前記サブ論理セグメントが割り当てられたすべての前記サブ物理セグメントについて、前記サブ物理セグメントが属する前記物理セグメントを管理する前記ストレージノードに対してアクセス要求を発行する、ことを特徴とする請求項１記載のストレージシステムの負荷分散プログラム。
【請求項６】
ネットワーク経由で接続される複数のストレージノードによって構成するストレージ装置にて、コンピュータがデータを分散管理するストレージシステムの負荷分散処理を行う負荷分散方法において、
セグメント特定手段が、前記データのアクセス要求を取得すると、管理情報記憶手段に記憶される仮想的な論理ボリュームを所定の記憶領域単位で分割した論理セグメントの識別情報と、前記論理セグメントに対応付けられた前記ストレージ装置の実データ記憶領域を前記所定の記憶領域単位で分割した物理セグメントの識別情報とを関連付けた管理情報に基づいて、前記アクセス要求によって指定される前記論理ボリューム上のアクセス対象範囲の論理セグメントに対応付けられた物理セグメントを特定し、
再配置手段が、前記アクセス対象範囲の前記論理セグメントと前記物理セグメントとを、それぞれ所定の小領域単位のサブ論理セグメントとサブ物理セグメントとに分割し、前記アクセス対象範囲の前記サブ論理セグメントを、所定の規則に従って前記アクセス対象範囲の前記サブ物理セグメントに再配置し、
データアクセス手段が、前記再配置手段によって対応付けられた前記サブ論理セグメントと前記サブ物理セグメントとの間で、前記アクセス要求に基づくアクセス制御を行う、
手順を有することを特徴とするストレージシステムの負荷分散方法。
【請求項７】
ネットワーク経由で接続される複数のストレージノードによって構成するストレージ装置にてデータを分散管理するストレージ管理装置において、
仮想的な論理ボリュームを所定の記憶領域単位で分割した論理セグメントの識別情報と、前記論理セグメントに対応付けられた前記ストレージ装置の実データ記憶領域を前記所定の記憶領域単位で分割した物理セグメントの識別情報とを関連付けた管理情報を記憶する管理情報記憶手段と、
前記データのアクセス要求を取得すると、前記管理情報に基づいて、前記アクセス要求によって指定される前記論理ボリューム上のアクセス対象範囲の論理セグメントに対応付けられた物理セグメントを特定するセグメント特定手段と、
前記アクセス対象範囲の前記論理セグメントと前記物理セグメントとを、それぞれ所定の小領域単位のサブ論理セグメントとサブ物理セグメントとに分割し、前記アクセス対象範囲の前記サブ論理セグメントを、所定の規則に従って前記アクセス対象範囲の前記サブ物理セグメントに再配置する再配置手段と、
前記再配置手段によって対応付けられた前記サブ論理セグメントと前記サブ物理セグメントとの間で、前記アクセス要求に基づくアクセス制御を行うデータアクセス手段と、
を有することを特徴とするストレージ管理装置。
【国際調査報告】
2008126202.tif 000013
2008126202.tif 000014
2008126202.tif 000015
2008126202.tif 000016