(57)【要約】　　　（修正有）【課題】クライアントごとに、あるいはディスクドライブの種類ごとにデータ入出力要求の順序を合目的的に、そして効果的に決めることができる記憶制御装置を提供する。【解決手段】外部装置と送受信可能に接続し、記憶手段と、外部装置とデータ入出力要求を送受信する送受信手段と、記憶手段に対して、データ入出力要求に対応した入出力処理を実行する実行手段と、を備える記憶制御装置において、外部装置から受信したデータ入出力要求の属性情報として付帯された優先度決定情報に基づいて決定される順序で、優先度決定情報に付帯のデータ入出力要求に対応した入出力処理を実行するようにする。【選択図】　　　図１
2004038758.tif 000002
【特許請求の範囲】
【請求項１】
外部装置と通信可能に接続し、
記憶手段と、
外部装置とデータ入出力要求を送受信する送受信手段と、
前記記憶手段に対して、前記データ入出力要求に対応するデータ入出力処理を実行する実行手段と、
を備えた記憶制御装置であって、
前記実行手段が、前記外部装置から受信した前記データ入出力要求の属性情報として付帯している優先度決定情報に基づいて決定される順序で、前記データ入出力要求に対応する前記データ入出力処理を実行することを特徴とする記憶制御装置。
【請求項２】
受信した前記データ入出力要求に、前記優先度決定情報に対応させた優先順位を付与し、前記データ入出力処理を設定回数実行するごとに前記各優先順位の前記データ入出力要求に対応する前記データ入出力処理を少なくとも一度実行することを特徴とする請求項１に記載の記憶制御装置。
【請求項３】
前記優先度決定情報と、前記実行手段が前記データ入出力要求を実行する優先度とを対応づけた優先度管理テーブルを記憶し、
該優先度管理テーブルに基づいて、前記実行手段が該データ入出力要求に対応した前記データ入出力処理を実行する順序を決定することを特徴とする請求項１に記載の記憶制御装置。
【請求項４】
受信した前記データ入出力要求に、前記優先度決定情報に対応させた前記優先度を付与し、前記データ入出力処理を設定回数実行するごとに前記各優先度の前記データ入出力要求に対応する前記データ入出力処理を少なくとも一度実行することを特徴とする請求項３に記載の記憶制御装置。
【請求項５】
前記優先度決定情報が、前記データ入出力要求に対応した入出力処理を実行する対象である前記記憶手段を特定する情報であることを特徴とする請求項１から４のいずれかに記載の記憶制御装置。
【請求項６】
前記記憶手段がディスクドライブであり、
前記優先度決定情報が、該ディスクドライブの記憶領域上に論理的に設定された記憶領域を指定する情報であることを特徴とする請求項１から４のいずれかに記載の記憶制御装置。
【請求項７】
前記優先度決定情報が、前記データ入出力要求を送信した前記外部装置を特定する情報であることを特徴とする請求項１から４のいずれかに記載の記憶制御装置。
【請求項８】
前記外部装置に対し、前記優先度管理テーブルを送受信する手段を備えることを特徴とする請求項３または４に記載の記憶制御装置。
【請求項９】
ファイル名により前記データ入出力処理の処理対象となるデータを指定するプロトコルに準拠したデータ入出力要求を受信する手段を備えることを特徴とする請求項１から４のいずれかに記載の記憶制御装置。
【請求項１０】
外部装置と通信可能に接続し、
記憶手段と、
外部装置とデータ入出力要求を送受信する送受信手段と、
前記記憶手段に対して、前記データ入出力要求に対応するデータ入出力処理を実行する実行手段と、
を備える記憶制御装置の制御方法であって、
前記実行手段が、前記外部装置から受信した前記データ入出力要求の属性情報として付帯している優先度決定情報に基づいて決定される順序で、前記データ入出力要求に対応する前記データ入出力処理を実行することを特徴とする記憶制御装置の制御方法。
【請求項１１】
請求項１０に記載の記憶制御装置の制御方法における前記外部装置に、
請求項３または４に記載の前記優先度管理テーブルにおける前記優先度決定情報と前記実行手段が該データ入出力要求を実行する優先度との対応づけを設定する手段と、
前記設定した前記対応づけを前記記憶制御装置に送信する手段と、
を実行させるためのプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、記憶制御装置、記憶制御装置の制御方法、及びプログラムに関する。
【０００２】
【背景技術】
ＩＴ関連産業の進展に伴いデータストレージに対する需要が急増している。基幹システムの運用やＷｅｂサーバの運用などが行われる、いわゆるデータセンタなどにおいては、ＳＡＮ（Ｓｔｏｒａｇｅ　Ａｒｅａ　Ｎｅｔｗｏｒｋ）やＬＡＮ（Ｌｏｃａｌ　Ａｒｅａ　Ｎｅｔｗｏｒｋ）などに接続された多量のディスクアレイ装置が導入され運用されている。そして、このようなデータセンタなどにおいて運用されるディスクアレイ装置を使用する顧客のニーズもますます多様化してきている。
【０００３】
【発明が解決しようとする課題】
ところで、一般にデータセンタなどでは、後継機種の導入などにより、容量や性能の異なる様々なディスクアレイ装置やネットワーク装置、周辺装置などの記憶資源が運用されている。このため、顧客に提供される記憶資源の性能は、その記憶資源がどのような機種によって提供されるかによって異なり、顧客に提供するサービスの質も変わってくる。
【０００４】
一方、顧客にとってみれば、自らの資本力や経済力に応じて、必要十分な記憶資源が確保されていればよく、また、できるだけ低コストで利用できた方が都合がよい。例えば、顧客が取り扱うデータには、他のデータに比べてリアルタイム性が重視されるものもあれば、そうでないものもあり、必ずしもすべてのデータをよりコストの高い高級な記憶資源で運用する必要がない。すなわち、顧客は、できるだけ現在および将来的な自分のニーズにあった必要最低限の形で記憶資源を利用したいと思うのが普通である。
【０００５】
本発明はこうした観点からなされたもので、合目的的に、そして効果的に機能する記憶制御装置を提供することを目的とする。
【０００６】
【課題を解決するための手段】
前記目的を達成するための本発明の主たる発明にかかる記憶制御装置は、外部装置と通信可能に接続し、記憶手段と、外部装置とデータ入出力要求を送受信する送受信手段と、前記記憶手段に対して、前記データ入出力要求に対応するデータ入出力処理を実行する実行手段と、を備えた記憶制御装置であって、前記実行手段が、前記外部装置から受信した前記データ入出力要求の属性情報として付帯している優先度決定情報に基づいて決定される順序で、前記データ入出力要求に対応する前記データ入出力処理を実行することを特徴とする。
【０００７】
【発明の実施の形態】
＝＝＝開示の概要＝＝＝
本明細書および添付図面の記載により、少なくとも次のことが明らかにされる。
本発明の主たる発明にかかる記憶制御装置は、外部装置と通信可能に接続し、記憶手段と、外部装置とデータ入出力要求を送受信する送受信手段と、前記記憶手段に対して、前記データ入出力要求に対応するデータ入出力処理を実行する実行手段と、を備えた記憶制御装置であって、前記実行手段が、前記外部装置から受信した前記データ入出力要求の属性情報として付帯している優先度決定情報に基づいて決定される順序で、前記データ入出力要求に対応する前記データ入出力処理を実行することを特徴とする。
【０００８】
この構成により、記憶制御装置は、データ入出力要求に付帯された優先度決定情報を調べるだけで、入出力するデータの優先度を知ることができ、それに基づいてデータ入出力の順序を決定し、その順序に従って、データを記憶装置に入出力できる。従って、本発明によると、記憶制御装置は、例えば、クライアントごとに、あるいはディスクドライブの種類ごとにデータ入出力要求の順序を決めることができるようになり、合目的的に、そして効果的に機能する記憶制御装置を提供することが可能となる。
【０００９】
また、受信した前記データ入出力要求に前記優先度決定情報に対応させた優先順位を付与し、前記データ入出力処理を設定回数実行するごとに前記各優先順位の前記データ入出力要求に対応する前記データ入出力処理を少なくとも一度実行することを特徴としてもよい。これにより、優先度決定情報に基づいてデータ入出力処理の実行順序が決定される際、そのデータ入出力処理の優先度決定情報が低いために常に後回しにされ、そのデータ入出力処理が長期間実行されないという不都合は起こらなくなる。
【００１０】
また、前記優先度決定情報と前記実行手段が前記データ入出力要求を実行する優先度とを対応づけた優先度管理テーブルを記憶し、該優先度管理テーブルに基づいて、前記実行手段が該データ入出力要求に対応した前記データ入出力処理を実行する順序を決定することを特徴としてもよい。これにより、優先度決定情報と優先度は独立に扱うことができ、例えば、一つの優先度決定情報に対し、書込み要求の優先度と読出し要求の優先度を異なるものにすることができる、というように、優先度に関して、より細かい設定が可能となる。
【００１１】
また、受信した前記データ入出力要求に前記優先度決定情報に対応させた前記優先度を付与し、前記データ入出力処理を設定回数実行するごとに前記各優先度の前記データ入出力要求に対応する前記データ入出力処理を少なくとも一度実行することを特徴としてもよい。これにより、優先度決定情報に基づいてデータ入出力処理の実行順序が決定される際、そのデータ入出力処理の優先度決定情報が低いために常に後回しにされ、そのデータ入出力処理が長期間実行されないという不都合は起こらなくなる　。
【００１２】
また、前記優先度決定情報が、前記データ入出力要求に対応した入出力処理を実行する対象である記憶手段を特定する情報であることを特徴としてもよい。
【００１３】
また、前記記憶手段がディスクドライブであり、前記優先度決定情報が、該ディスクドライブの記憶領域上に論理的に設定された記憶領域を指定する情報であることを特徴としてもよい。
【００１４】
また、前記優先度決定情報が、前記データ入出力要求を送信した外部装置を特定する情報であることを特徴としてもよい。
【００１５】
また、外部装置に対し、前記優先度管理テーブルを送受信する手段を備えることを特徴としてもよい。これにより、外部装置から、優先度管理テーブルにおける優先度決定情報と優先度との対応づけを決定することができるようになる。
【００１６】
また、ファイル名により前記データ入出力処理の処理対象となるデータを指定するプロトコルに準拠したデータ入出力要求を受信する手段を備えることを特徴としてもよい。
【００１７】
さらに、外部装置と通信可能に接続し、記憶手段と、外部装置とデータ入出力要求を送受信する送受信手段と、前記記憶手段に対して、前記データ入出力要求に対応するデータ入出力処理を実行する実行手段と、を備える記憶制御装置の制御方法であって、前記実行手段が、前記外部装置から受信した前記データ入出力要求の属性情報として付帯している優先度決定情報に基づいて決定される順序で、前記データ入出力要求に対応する前記データ入出力処理を実行することを特徴とする記憶制御装置の制御方法としてもよい。
【００１８】
さらに、記憶制御装置の制御方法における前記外部装置に、前記優先度管理テーブルにおける前記優先度決定情報と前記実行手段が該データ入出力要求を実行する優先度との対応づけを設定する手段と、前記設定した前記対応づけを前記記憶制御装置に送信する手段と、を実行させるためのプログラムを実行させるようにしてもよい。
【００１９】
＝＝＝実施の形態＝＝＝
以下、図を参照しながら、本発明を詳細に説明する。
図１に本発明の一実施例におけるストレージシステムを示す。
図１において、本発明にかかる記憶制御装置１００の一例としてのディスクアレイ装置は、外部装置であるクライアント１０２と、ファイル名指定によるデータ入出力要求を受信するＮＦＳ（Ｎｅｔｗｏｒｋ　Ｆｉｌｅ　Ｓｙｓｔｅｍ）プロトコルの処理機能を備えている。このようなタイプのディスクアレイ装置はＮＡＳ（Ｎｅｔｗｏｒｋ　Ａｔｔａｃｈｅｄ　Ｓｔｏｒａｇｅ）と通称されている。
【００２０】
記憶制御装置１００は、クライアント１０２と通信可能に接続し、記憶手段として複数のディスクドライブ１０４を有し、ＮＦＳによるデータの送受信手段を提供するＮＡＳエンジン１０６と、データをディスクドライブ１０４に入出力する実行手段としてのディスクコントローラ１０８とを備える。
【００２１】
また、記憶制御装置１００は、クライアント１０２から送信され、ＮＡＳエンジン１０６で受信されるデータの入出力要求を登録する処理待ちキュー（図示せず；以下、キューと記す）と、キュー内でデータ入出力要求の処理順序などを決めるデータ入出力要求管理部１１０とを備える。記憶制御装置１００は、ディスクドライブ１０４が提供する記憶領域上に論理的な記憶領域である「論理ユニット（以下ＬＵと記す）」を設定している。各論理ユニットには、固有の論理ユニット番号（以下、ＬＵＮと記す）ａ〜ｇが付与されている。
【００２２】
記憶制御装置１００は、データ入出力要求の属性として付帯する優先度決定情報と、実際に処理する際の優先度とを対応づけた優先度管理テーブル（例えば、図２や図５）を記憶している。ここで優先度とは、優先度決定情報に対応して決定され、記憶制御装置１００がデータ入出力要求に対応するデータ入出力処理の実行順序を決定する際に参照する情報である。記憶制御装置１００は、原則として、優先度の大きいデータ入出力要求を先に処理する。また、優先度が同じ場合は、先に受信したデータ入出力要求を先に処理する。
【００２３】
また、記憶制御装置１００は、処理割合管理テーブル（例えば図３）を記憶している。このテーブルには、各優先度に対し、ディスクコントローラ１０８のデータ入出力要求の最大連続処理回数が設定されており、例えば、同一優先度のデータ入出力要求が最大連続回数まで処理されると、その優先度のデータ入出力要求が残っていても、次に優先度の高いデータ入出力要求が処理され、最も優先度の低いデータ出力要求が処理されるまで、初めの優先度のデータ入出力要求は再び処理されない。
【００２４】
つぎに、以上の記憶制御装置１００において行われる具体的なデータ入出力要求について、いくつかの処理について詳述する。
【００２５】
＜実施例１＞
この実施例では、外部装置１０２から送信されたデータ入出力要求に付帯する優先度決定情報に対し、一つの優先度が設定される。図２は優先度決定情報がＬＵＮである場合の優先度管理テーブルの一例である。このテーブルでは、ＬＵＮａの処理性能が最も高く、従って、重要性または緊急性の最も高いデータは、ＬＵＮａに保存される。ＬＵＮ名のアルファベットが後に進むほど、ＬＵの処理性能が低下し、重要性または緊急性の最も低いデータはＬＵＮｇに保存されるように設定される。なお、このようなＬＵの処理性能は、例えば、そのＬＵを提供するディスクドライブとしてどのような性能のものを選択するかによって定まる。
【００２６】
優先度には、１から１０までの１０段階（数字が大きいほど優先度は高い）があり、各ＬＵＮに優先度が付与される。さらに、記憶制御装置１００は、図３に示す処理割合管理テーブルを記憶している。このテーブルには、各優先度に対してディスクコントローラ１０８のデータ入出力処理の最大連続処理回数が設定されている。
【００２７】
優先度管理テーブルや処理割合管理テーブルの内容は、例えば、外部装置の一つである管理ホスト１１２によって決定される。これらのテーブルを設定することにより、例えば、記憶制御装置１００の運用会社は、顧客に対し利用料金に応じて顧客から受託したデータの処理優先度が異なるようにする、といったサービスを提供することができる。これにより、記憶制御装置１００を利用する顧客は、記憶制御装置１００に記憶させるデータの迅速性や重要性、自己の経済的な観点などから、目的に合ったサービスを選択することができる。
【００２８】
また、これらのテーブルは、ユーザ端末などのクライアントから設定できるようにしてもよい。これによりデータセンタなどで記憶制御装置１００を利用する顧客は、例えば、オペレータや、記憶制御装置１００の運営会社などを介さずに、自分の都合のよいタイミングで迅速かつ簡便にテーブルの内容を設定することができる。また、自分がどのような設定で記憶制御装置１００を利用しているのかを確認したい場合には、ユーザ端末やクライアントから簡単にテーブルの内容を参照することができる。
【００２９】
このような構成の記憶制御装置１００において、ＬＵＮを指定したデータ入出力要求がクライアント１０２から送信されてくると、ＮＡＳエンジン１０６は、これを受信してデータ入出力要求管理部１１０に送出する。データ入出力要求管理部１１０は、データ入出力要求を格納しているキューに、受け取ったデータ入出力要求を登録する。
【００３０】
つぎに、データ入出力要求管理部１１０は、優先度管理テーブルを参照してデータ入出力要求の保存先であるＬＵに対応する優先度を取得し、さらに処理割合管理テーブルを基にして、キューに登録されているデータ入出力要求からデータ入出力要求を選択する。
【００３１】
この選択は図４のフローチャートに示す手順で行われる。記憶制御装置１００が、キュー内のデータ入出力要求のもつ優先度のうち、優先度の最も高いデータ入出力要求を実行すると、その優先度のカウンタが一つ加算される（ｓ４０２）。加算されたカウンタが、処理割合管理テーブルに示された、その優先度に対応する最大連続処理回数になると（ｓ４０３〜ｓ４０４）、その優先度を持つデータ入出力要求が存在しても、次に優先度の高いデータ入出力要求が実行され、その優先度のカウンタが一つ加算される（ｓ４０４〜ｓ４０６）。そして、カウンタが、その優先度に対応する最大連続処理回数になるまで、その優先度を持つデータ入出力要求が実行される（ｓ４０６〜ｓ４０８〜ｓ４１０）。この優先度のカウンタが最大処理回数に達すると、その優先度を持つデータ入出力要求が存在しても、さらに次に優先度の高いデータ入出力要求が実行され、その優先度のカウンタが一つ加算される（ｓ４０８〜ｓ４０４〜ｓ４０６）。ある優先度のデータ入出力要求が、その優先度に対応する最大処理回数に達しないうちに実行され尽くされた場合は、その時点で、次に優先度の高いデータ入出力要求が実行される（ｓ４０８〜ｓ４１０〜ｓ４０４〜ｓ４０６）。
【００３２】
このようにして、最も優先度の高いデータ入出力要求から最も優先度の低いデータ入出力要求までの処理が終わると、その時点で最も高い優先度を持つデータ入出力要求が再び実行される（ｓ４０４〜ｓ４１２〜ｓ４０２）。順に低い優先度のデータ入出力要求を実行するというサイクルが、全てのデータ入出力要求について実行され、キュー内にデータ入力要求が無くなると、カウンタがクリアされる（ｓ４１２〜ｓ４１４）。
【００３３】
以上のようにして、ディスクコントローラ１０８は、ディスクドライブ１０４に対し、キュー内のデータ入出力要求を順次実行する。
【００３４】
＜実施例２＞
実施例１においては、データ入出力要求の属性として付帯する１つの優先度決定情報に対し、１つの優先度が対応づけられていた。ここで説明する実施例では、１つの優先度決定情報に対し、データ入出力要求によって要求される処理によって異なる優先度を対応づけている。
【００３５】
記憶制御装置１００は、図５に示された優先度管理テーブルを記憶している。このテーブルには、ＬＵＮごとに、書き込みと読み出しの際の優先度が設定されている。さらに、記憶制御装置１００は、各優先度に対し、ディスクコントローラ１０８のデータ入出力要求の最大連続処理回数が設定された、図３に示す処理割合管理テーブルを記憶している　。
【００３６】
記憶制御装置１００は、クライアントから送信された書き込み要求（または読み出し要求）に対し、優先度管理テーブルと処理割合管理テーブルとを用いて書き込み処理（または読み出し処理）の順序を決定する。なお、この実施例において、クライアントから優先度情報の付加された書き込み要求（または読み出し要求）が記憶制御装置１００に送信されてから、ディスクコントローラ１０８が書き込み処理（または読み出し処理）を実行するまでの処理は、優先度管理テーブルの種類を除いて、実施例１と同様なので、ここでは、説明を省略する。
【００３７】
この実施例によると、例えば、書き込み要求と読み出し要求とで異なる優先度を設定できる。従って、データのバックアップ処理のように、読み出し処理より書き込み処理の方に、より緊急性が求められるような場合、バックアップのためのディレクトリに対し、読み出し処理より、書き出し処理のほうの優先度を高くすることにより、記憶制御装置１００全体の利用効率を高めることができる。
【００３８】
＜実施例３＞
実施例１と２では、クライアント１０２から記憶制御装置１００に、ＬＵＮが指定されたデータ入出力要求が送信されると、記憶制御装置１００は、そのデータ入出力要求をキューに登録し、データ入出力要求を実行する際、データ入出力要求を選択することによって、処理順序を決定している。これに対し、この実施例では、データ入出力要求管理部１１０に、優先度管理テーブルと処理割合管理テーブルの他に、図６に示すようなデータ入出力管理テーブルを設けている。
【００３９】
記憶制御装置１００のＮＡＳエンジン１０６は、クライアント１０２から送信されてくる、ＬＵＮが指定されたデータ入出力要求を受信すると、これをデータ入出力要求管理部１１０に送出する。データ入出力要求管理部１１０は、送出されたデータ入出力要求をデータ入出力管理テーブルに書き込む。以上のようにしてデータ入出力管理テーブルには、優先度ごとにデータ入出力要求が分類されて登録される。
【００４０】
そして、データ入出力要求管理部１１０は、優先度管理テーブルと処理割合管理テーブルを基にして、実施例１と同様の方法によりデータ入出力要求を実行することになる。
【００４１】
＝＝＝他の実施形態＝＝＝
実施例１においては、優先度決定情報が優先度と対応しているため、優先度決定情報と優先度の対応が予め決まっていて、設定を変更する必要がない場合は、必ずしも優先度管理テーブルを設けなくてもよく、入出力要求が送信されると、記憶制御装置１００が、その度に入出力要求を直接処理待ちキューに登録し、優先度決定情報を認識することによって、データ入出力要求を実行するようにしてもよい。
【００４２】
実施例３において、データ入出力要求管理部１１０は、単一のキューからデータ入出力要求を実行するのではなく、優先度別に複数の処理待ちキューを設けるようにしてもよい。
【００４３】
また、優先度を、クライアントを特定する情報に対応させてもよい。このようにすれば、例えば、記憶制御装置１００の利用料金に段階を設け、高い利用料金を支払っている顧客のクライアントからのデータ入出力要求は、優先的に処理されるといったサービスを提供することができる。
【００４４】
【発明の効果】
本発明によれば、合目的的に、そして効果的に機能する記憶制御装置が提供される。
【図面の簡単な説明】
【図１】本発明の一実施例における記憶制御装置の全体構成を示す図である。
【図２】本発明の一実施例における優先度管理テーブルを示す図である。
【図３】本発明の一実施例における処理割合管理テーブルを示す図である。
【図４】本発明の一実施例におけるデータ入出力要求の実行の際の記憶制御装置の動作を示すフローチャートを示す図である。
【図５】本発明の別の一実施例における優先度管理テーブルを示す図である。
【図６】本発明の一実施例におけるデータ入出力管理テーブルを示す図である。
【符号の説明】
１００　　　記憶制御装置
１０２　　　クライアント
１０４　　　ディスクドライブ
１０６　　　ＮＡＳエンジン
１０８　　　ディスクコントローラ
１１０　　　データ入出力管理部
１１２　　　管理ホスト
【図１】
2004038758.tif 000003
【図２】
2004038758.tif 000004
【図３】
2004038758.tif 000005
【図４】
2004038758.tif 000006
【図５】
2004038758.tif 000007
【図６】
2004038758.tif 000008