(57)【要約】    【課題】  物理記憶装置の割り当て効率を改善し、ストレージ装置にかかるコストを低減することを可能としたストレージ装置及びそのアクセス制御方法を提供する。    【解決手段】  複数の物理記憶装置１０１の集合からなる物理記憶スペース１０２上の領域をある単位長の物理ブロック１０３で分割し、物理ブロックによって物理記憶スペースを割り当てることにより論理記憶装置１０４を構成するストレージ装置であって、論理記憶装置１０４上の領域毎に、物理ブロックが割り当てられているか又は所定のデータ配置パターンから生成されるデータに従うかを示す識別情報を記録する論理記憶管理テーブル２１３を備え、論理記憶装置１０４の領域に対するデータの書き込み要求があった場合、書き込み要求データのデータ配置パターンが予め登録されたデータ配置パターンと一致する場合に、一致するデータ配置パターンの識別情報を、論理記憶管理テーブル２１３の書き込み要求のあった領域に対応させて記録し、書き込み要求データを破棄するデータ書き込み手段２０１を備える。【選択図】      図１
2005135116.tif 000002
【特許請求の範囲】
【請求項１】
複数の物理記憶装置の集合からなる物理記憶スペース上の領域をある単位長の物理ブロックで分割し、物理ブロックによって物理記憶スペースを割り当てることにより論理記憶装置を構成するストレージ装置において、
前記論理記憶装置上の領域毎に、前記物理ブロックが割り当てられているか又は所定のデータ配置パターンから生成されるデータに従うかを示す識別情報を記録する論理記憶管理テーブルを備え、
前記論理記憶装置の領域に対するデータの書き込み要求があった場合、書き込み要求データのデータ配置パターンが予め登録されたデータ配置パターンと一致する場合に、一致するデータ配置パターンの識別情報を、前記論理記憶管理テーブルの書き込み要求のあった領域に対応させて記録し、前記書き込み要求データを破棄するデータ書き込み手段を備えることを特徴とするストレージ装置。
【請求項２】
前記論理記憶装置の当該領域に対して前記物理ブロックが割り当て済みである場合、割り当て済みの物理ブロックを解放するブロック解放手段を備えることを特徴とする請求項１に記載のストレージ装置。
【請求項３】
前記データ書き込み手段は、前記書き込み要求データのデータ配置パターンが、予め登録されたデータ配置パターンと一致しない場合、前記物理ブロックを割り当てて当該物理ブロックの識別情報を前記論理記憶管理テーブルの書き込み要求のあった領域に対応させて記録し、前記書き込み要求データを前記物理ブロックに書き込むことを特徴とする請求項１又は請求項２に記載のストレージ装置。
【請求項４】
前記データ配置パターンを一意に識別する前記識別情報と、前記データ配置パターンを対応させて登録したデータ配置パターン記録テーブルを備え、
前記データ配置パターン記録テーブルを参照して、前記書き込み要求データのデータ配置パターンと一致するデータ配置パターンが存在するかどうかを判別することを特徴とする請求項１から請求項３の何れか１項に記載のストレージ装置。
【請求項５】
前記データ配置パターン記録テーブルを調査し、指定されたデータがデータ配置パターン記録テーブル上のデータ配置パターンに一致する場合、当該データ配置パターンの識別情報を前記データ書き込み手段に返却するデータ配置パターン解析手段を備えることを特徴とする請求項４に記載のストレージ装置。
【請求項６】
前記物理ブロックを識別する識別情報と、前記物理ブロックに対応する物理記憶スペース上のアドレスと、前記物理ブロックが前記論理記憶装置の領域として割り当て済みか否かを示す割り当てフラグとを対応させて記録する物理記憶管理テーブルを備え、
前記物理記憶管理テーブルから割り当て可能な物理ブロックを取得し、指定された論理記憶装置上の領域に対応する物理ブロックを割り当て、前記論理記憶管理テーブルに当該物理ブロックの識別情報を記録するブロック割り当て手段を備えることを特徴とする請求項１から請求項５の何れか１項に記載のストレージ装置。
【請求項７】
前記論理記憶装置の領域からデータの読み出し要求があった場合、前記論理記憶管理テーブルを参照し、データを読み出す前記論理記憶装置上の領域に対して物理ブロックが割り当て済みであれば、当該物理ブロックからデータを読み出し、当該領域に対して前記データ配置パターンの識別情報が記録されていれば、前記識別情報に対応するデータ配置パターンからデータを生成し、当該生成したデータを返却するデータ読み出し手段を備えることを特徴とする請求項１から請求項６の何れか１項に記載のストレージ装置。
【請求項８】
前記データ配置パターン記録テーブルにデータ配置パターンの識別情報と任意のデータ配置パターンを設定するデータ配置パターン設定手段とを備えることを特徴とする請求項４に記載のストレージ装置。
【請求項９】
複数の物理記憶装置の集合からなる物理記憶スペース上の領域をある単位長の物理ブロックで分割し、物理ブロックによって物理記憶スペースを割り当てることにより論理記憶装置を構成するストレージ装置のアクセス制御方法であって、
前記論理記憶装置上の領域毎に、前記物理ブロックが割り当てられているか又は所定のデータ配置パターンから生成されるデータに従うかを示す識別情報を記録する論理記憶管理テーブルを備え、
前記論理記憶装置の領域に対するデータの書き込み要求があった場合、書き込み要求データのデータ配置パターンが予め登録されたデータ配置パターンと一致する場合に、一致するデータ配置パターンの識別情報を、前記論理記憶管理テーブルの書き込み要求のあった領域に対応させて記録し、前記書き込み要求データを破棄するステップを有することを特徴とするアクセス制御方法。
【請求項１０】
前記論理記憶装置の当該領域に対して前記物理ブロックが割り当て済みである場合、割り当て済みの物理ブロックを解放するステップを有することを特徴とする請求項９に記載のアクセス制御方法。
【請求項１１】
前記書き込み要求データのデータ配置パターンが、予め登録されたデータ配置パターンと一致しない場合、前記物理ブロックを割り当てて当該物理ブロックの識別情報を前記論理記憶管理テーブルの書き込み要求のあった領域に対応させて記録し、前記書き込み要求データを前記物理ブロックに書き込むステップを有することを特徴とする請求項９又は請求項１０に記載のアクセス制御方法。
【請求項１２】
前記データ配置パターンを一意に識別する前記識別情報と、前記データ配置パターンを対応させて登録したデータ配置パターン記録テーブルを備え、
前記データ配置パターン記録テーブルを参照して、前記書き込み要求データのデータ配置パターンと一致するデータ配置パターンが存在するかどうかを判別するステップを有することを特徴とする請求項９から請求項１１の何れか１項に記載のアクセス制御方法。
【請求項１３】
前記データ配置パターン記録テーブルを調査し、指定されたデータがデータ配置パターン記録テーブル上のデータ配置パターンに一致する場合、当該データ配置パターンの識別情報を返却するステップを有することを特徴とする請求項１２に記載のアクセス制御方法。
【請求項１４】
前記物理ブロックを識別する識別情報と、前記物理ブロックに対応する物理記憶スペース上のアドレスと、前記物理ブロックが前記論理記憶装置の領域として割り当て済みか否かを示す割り当てフラグとを対応させて記録する物理記憶管理テーブルを備え、
前記物理記憶管理テーブルから割り当て可能な物理ブロックを取得し、指定された論理記憶装置上の領域に対応する物理ブロックを割り当て、前記論理記憶管理テーブルに当該物理ブロックの識別情報を記録するステップを有することを特徴とする請求項９から請求項１３の何れか１項に記載のアクセス制御方法。
【請求項１５】
前記論理記憶装置の領域からデータの読み出し要求があった場合、前記論理記憶管理テーブルを参照し、データを読み出す前記論理記憶装置上の領域に対して物理ブロックが割り当て済みであれば、当該物理ブロックからデータを読み出し、当該領域に対して前記データ配置パターンの識別情報が記録されていれば、前記識別情報に対応するデータ配置パターンからデータを生成し、当該生成したデータを返却するステップを有することを特徴とする請求項９から請求項１４の何れか１項に記載のアクセス制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の物理記憶装置の集合から構成される物理記憶スペース上の領域をある単位長の物理ブロック単位で分割し、物理ブロック単位で物理記憶スペースを割り当てることにより論理記憶装置を構成するストレージ装置に関し、特に、物理記憶装置の割り当て効率を改善するストレージ装置及びそのアクセス制御方法に関する。
【背景技術】
【０００２】
従来、ＲＡＩＤ(Redundant Arrays of Inexpensive/Independent Disks)に代表されるディスクアレイ装置のように、複数の物理記憶装置の集合から論理記憶装置を構成するストレージ装置が存在する。このようなストレージ装置上の論理記憶装置に対して格納するデータは、複数の物理記憶装置上の記憶領域に分散して格納する。
【０００３】
ストレージ装置では、論理記憶装置の論理記憶領域と物理記憶装置の物理記憶領域との対応付けを行うためのテーブルを保持し、ストレージ装置に格納するデータ配置の対応関係を管理する。また、高可用性を維持するため、格納するデータを冗長化して物理記憶装置に記録する。
【０００４】
このような冗長性を有するストレージ装置では、格納するデータが大規模になればなるほど、必要とされる物理記憶装置容量が増大し、それに伴いコストが増大するという問題点がある。
【０００５】
ストレージ装置のコスト増大を解決する従来技術の一例が、特開平８−２２１８７５号公報（特許文献１）に開示されている。この特許文献１には、データ記憶システム上に冗長度の異なる記憶領域を用意し、利用者から求められる性能や信頼性によって、冗長度の異なる記憶領域を選択的に変更することにより、必要となる物理記憶容量を抑える技術が開示されている。
【０００６】
また、特開２００３−２９９３５号公報（特許文献２）では、物理記憶容量の異なる物理記憶装置からＲＡＩＤを構成する際、容量が異なることによって発生する物理記憶装置上の未使用領域に対し論理アドレスを割り当てる手段により、物理記憶装置上の領域を有効利用する技術が開示されている。
【０００７】
また、論理記憶装置の構築と、その論理記憶装置に対応する物理記憶装置上の領域の割り当てを分離し、論理記憶装置に対する物理記憶装置の領域は、データの書き込み要求によってオンデマンドで記憶領域の割り当てを実施する方式が存在する。この方式によれば、データ書き込み要求によって物理記憶装置上の領域が必要となるまで、実際の物理記憶装置上の領域は不必要となるため、未使用となる無駄な領域を無くし、記憶領域の割り当てを効率化するストレージ装置が存在する。
【特許文献１】特開平８−２２１８７５号公報
【特許文献２】特開２００３−２９９３５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
上述した従来の技術には、以下に述べるような問題点があった。
【０００９】
従来のストレージ装置は、論理記憶装置上の領域に対して書き込みデータを記録する物理記憶装置が必ず存在するため、必ずしも物理記憶装置の割り当てを効率化できていないという問題がる。
【００１０】
その理由は、従来のストレージ装置は、ホスト計算機からのデータ書き込み要求を受けると、予め確保済みの物理記憶装置上の記憶領域にデータを記録するかあるいはオンデマンドで記憶領域を割り当ててデータを記録するため、ホスト計算機からのデータ書き込み要求に応じた分の物理記憶装置が必要となる。ところが、ホスト計算機上で動作するある種のプログラム(ファイルシステム、ボリューム管理プログラム、バックアップ復旧プログラムなど)は、特定のデータ格納形式（データの配置パターン）でストレージ装置に対してデータを書き込むことがあるが、従来のストレージ装置ではデータ格納形式（データの配置パターン）に依存した処理がなされておらず、書き込み要求を受けた領域に対しては必ず物理記憶装置上の領域が割り当てされることになる。
【００１１】
このため、データ格納形式（データの配置パターン）に依存した処理を導入すれば、物理記憶装置の割り当てを一層効率化することが可能である。
【００１２】
本発明の目的は、このような従来技術の問題点を解消し、複数の物理記憶装置の集合から論理記憶装置を構成するストレージ装置において、物理記憶装置の割り当て効率を改善し、ストレージ装置にかかるコストを低減することを可能としたストレージ装置及びそのアクセス制御方法を提案することを目的とする。
【課題を解決するための手段】
【００１３】
上記目的を達成するための本発明は、複数の物理記憶装置の集合からなる物理記憶スペース上の領域をある単位長の物理ブロックで分割し、物理ブロックによって物理記憶スペースを割り当てることにより論理記憶装置を構成するストレージ装置において、前記論理記憶装置上の領域毎に、前記物理ブロックが割り当てられているか又は所定のデータ配置パターンから生成されるデータに従うかを示す識別情報を記録する論理記憶管理テーブルを備え、前記論理記憶装置の領域に対するデータの書き込み要求があった場合、書き込み要求データのデータ配置パターンが予め登録されたデータ配置パターンと一致する場合に、一致するデータ配置パターンの識別情報を、前記論理記憶管理テーブルの書き込み要求のあった領域に対応させて記録し、前記書き込み要求データを破棄するデータ書き込み手段を備えることを特徴とする。
【００１４】
本発明によれば、ストレージ装置に対する書き込み要求データがデータ配置パターンに従う限り、物理記憶装置の領域の割り当てが不要となり、こにれより、物理記憶装置の割り当て効率が改善され、ストレージ装置にかかるコストが低減される。
【００１５】
請求項２の本発明のストレージ装置は、前記論理記憶装置の当該領域に対して前記物理ブロックが割り当て済みである場合、割り当て済みの物理ブロックを解放するブロック解放手段を備えることを特徴とする。
【００１６】
請求項３の本発明のストレージ装置は、前記データ書き込み手段は、前記書き込み要求データのデータ配置パターンが、予め登録されたデータ配置パターンと一致しない場合、前記物理ブロックを割り当てて当該物理ブロックの識別情報を前記論理記憶管理テーブルの書き込み要求のあった領域に対応させて記録し、前記書き込み要求データを前記物理ブロックに書き込むことを特徴とする。
【００１７】
請求項４の本発明のストレージ装置は、前記データ配置パターンを一意に識別する前記識別情報と、前記データ配置パターンを対応させて登録したデータ配置パターン記録テーブルを備え、前記データ配置パターン記録テーブルを参照して、前記書き込み要求データのデータ配置パターンと一致するデータ配置パターンが存在するかどうかを判別することを特徴とする。
【００１８】
請求項５の本発明のストレージ装置は、前記データ配置パターン記録テーブルを調査し、指定されたデータがデータ配置パターン記録テーブル上のデータ配置パターンに一致する場合、当該データ配置パターンの識別情報を前記データ書き込み手段に返却するデータ配置パターン解析手段を備えることを特徴とする。
【００１９】
請求項６の本発明のストレージ装置は、前記物理ブロックを識別する識別情報と、前記物理ブロックに対応する物理記憶スペース上のアドレスと、前記物理ブロックが前記論理記憶装置の領域として割り当て済みか否かを示す割り当てフラグとを対応させて記録する物理記憶管理テーブルを備え、前記物理記憶管理テーブルから割り当て可能な物理ブロックを取得し、指定された論理記憶装置上の領域に対応する物理ブロックを割り当て、前記論理記憶管理テーブルに当該物理ブロックの識別情報を記録するブロック割り当て手段を備えることを特徴とする。
【００２０】
請求項７の本発明のストレージ装置は、前記論理記憶装置の領域からデータの読み出し要求があった場合、前記論理記憶管理テーブルを参照し、データを読み出す前記論理記憶装置上の領域に対して物理ブロックが割り当て済みであれば、当該物理ブロックからデータを読み出し、当該領域に対して前記データ配置パターンの識別情報が記録されていれば、前記識別情報に対応するデータ配置パターンからデータを生成し、当該生成したデータを返却するデータ読み出し手段を備えることを特徴とする。
【００２１】
請求項８の本発明のストレージ装置は、前記データ配置パターン記録テーブルにデータ配置パターンの識別情報と任意のデータ配置パターンを設定するデータ配置パターン設定手段とを備えることを特徴とする。
【００２２】
請求項９の本発明は、複数の物理記憶装置の集合からなる物理記憶スペース上の領域をある単位長の物理ブロックで分割し、物理ブロックによって物理記憶スペースを割り当てることにより論理記憶装置を構成するストレージ装置のアクセス制御方法であって、前記論理記憶装置上の領域毎に、前記物理ブロックが割り当てられているか又は所定のデータ配置パターンから生成されるデータに従うかを示す識別情報を記録する論理記憶管理テーブルを備え、前記論理記憶装置の領域に対するデータの書き込み要求があった場合、書き込み要求データのデータ配置パターンが予め登録されたデータ配置パターンと一致する場合に、一致するデータ配置パターンの識別情報を、前記論理記憶管理テーブルの書き込み要求のあった領域に対応させて記録し、前記書き込み要求データを破棄するステップを有することを特徴とする。
【発明の効果】
【００２３】
本発明のストレージ装置及びデータアクセス方法によれば、以下の効果が達成される。
【００２４】
ストレージ装置を利用するホスト計算機上で動作するプログラム(ファイルシステム、ボリューム管理プログラム、バックアップ復旧プログラムなど)において、ストレージ装置上の論理記憶装置に対し、ある特定の条件に従うデータ配置パターンを書き込むことが判明している場合、ストレージ装置にそのデータ配置パターンの条件を記録することにより、論理記憶装置に対するデータ書き込み要求に対し、物理記憶装置の領域を割り当てずにデータ配置条件の識別情報のみを記録する構成としたので、ストレージ装置に対して書き込むデータがデータ配置条件に従う限り、物理記憶装置の領域の割り当てが不要となり、物理記憶装置の割り当て効率が大幅に改善され、ストレージ装置に要するコストも低減することができる。
【実施例】
【００２５】
以下、本発明の好適な実施例について図面を参照して詳細に説明する。
【００２６】
（実施例の構成）
図１は、本発明の好適な実施例によるストレージ装置の構成を示すブロックである。
【００２７】
本実施例のストレージ装置１００は、物理記憶スペース１０２、論理記憶装置１０４、物理記憶管理テーブル２１１、データ配置パターン記録テーブル２１２、論理記憶管理テーブル２１３、データ書き込み手段２０１、データ配置パターン解析手段２０２、ブロック割り当て手段２０３、ブロック解放手段２０４、データ読み出し手段２０５、データ配置パターン設定手段２０６を備えて構成される。
【００２８】
物理記憶スペース１０２は、１つ以上の物理記憶装置１０１の集合からなり、仮想的な物理記憶空間を構成する。この物理記憶スペース１０２上の領域は、ある単位長の複数の物理ブロック１０３単位で分割されている。
【００２９】
論理記憶装置１０４は、物理記憶スペース１０２上の物理ブロック１０３の集合から構成されるストレージ装置１００上の論理的な記憶装置である。物理ブロックによって物理記憶スペースを割り当てることにより論理記憶装置が構成されている。
【００３０】
ストレージ装置１００は、上記論理記憶装置１０４に対してデータの書き込み要求あるいは読み出し要求を発行するホスト計算機１１０と接続されている。
【００３１】
物理記憶管理テーブル２１１は、物理ブロック１０３の割り当て状態を管理するためのテーブルである。
【００３２】
データ配置パターン記録テーブル２１２は、データ配置条件の識別情報およびデータ配置条件の対を記録するためのテーブルである。
【００３３】
論理記憶管理テーブル２１３は、論理記憶装置１０４を構成する論理記憶空間と物理記憶スペース１０２上の物理ブロック１０３との対応関係を記録するためのテーブルである。
【００３４】
データ書き込み手段２０１は、ホスト計算機１１０からの書き込み要求を受け、ストレージ装置１００上の論理記憶装置１０４に対してデータを書き込む機能を有する。
【００３５】
データ配置パターン解析手段２０２は、論理記憶装置１０４に書き込むデータのデータ配置パターンを解析する機能を有する。
【００３６】
ブロック割り当て手段２０３は、論理記憶装置１０４上の論理記憶空間に対してデータを格納するための物理ブロック１０３を割り当てる機能を有する。
【００３７】
ブロック解放手段２０４は、論理記憶装置１０４に対して既に割り当て済みの物理ブロック１０３を解放する機能を有する。
【００３８】
データ読み出し手段２０５は、ホスト計算機１１０からの読み出し要求を受け、論理記憶装置１０４からデータを読み出す機能を有する。
【００３９】
データ配置パターン設定手段２０６は、データ配置パターン記録テーブル２１２に任意のデータ配置条件を設定する。
【００４０】
図２は、物理記憶管理テーブル２１１の一例を示した図である。物理記憶管理テーブル２１１は、物理ブロック１０３を識別する情報である物理ブロックＩＤと、当該物理ブロックに対応する物理記憶スペース１０２上のアドレスを示す物理記憶スペースアドレスと、当該物理ブロックが論理記憶装置１０４を構成する領域として割り当て済みか否かを示す割り当てフラグとを対応させて記憶している。
【００４１】
図３は、データ配置パターン記録テーブル２１２の一例を示した図である。データ配置パターン記録テーブル２１２は、データ配置条件を識別する情報であるパターンＩＤと、当該パターンＩＤの示すデータ配置条件とを対応させて記憶している。
【００４２】
ここで、データ配置条件には、具体的な定数、あるいはオフセットアドレス等の要求に応じて可変な変数を設定することができる。例えば、パターンＩＤが「ＰＴ１」のデータ配置条件は、対象となるブロック上の領域が「００ｈ」で満たされることを示している。パターンＩＤが「ＰＴ４」のデータ配置条件は、先頭の０〜３ｂｙｔｅ目が論理記憶装置１０４上の論理記憶アドレスをブロックサイズで除算した値であり、残りのブロックの領域が全て「００ｈ」で満たされることを示している。
【００４３】
以上のように、データ配置パターン記録テーブル２１２には、論理記憶装置１０４を利用するホスト計算機１１０上で動作するプログラムが書き込むデータの配置パターン（データ格納形式）に適合するデータ配置条件を保持するものとする。
【００４４】
すなわち、ストレージ装置１００を利用するホスト計算機１１０上で動作するプログラム(ファイルシステム、ボリューム管理プログラム、バックアップ復旧プログラムなど)において、ストレージ装置１００上の論理記憶装置１０４に対し、ある特定の条件に従うデータ配置パターンを書き込むことが判明している場合、ストレージ装置１００のデータ配置パターン記録テーブル２１２にそのデータ配置パターンの条件を記録する。
【００４５】
データ配置パターン設定手段２０６は、データ配置パターン記録テーブル２１２に対して、データ配置条件を一意に識別するパターンＩＤおよびデータ配置条件を記録する機能を提供する。論理記憶装置１０４の利用者は、データ配置パターン設定手段２０６を利用して、あらかじめデータ配置条件を設定することが望ましい。また、事後的にもパターンＩＤ及びデータ配置条件を追加することが可能である。
【００４６】
図４は、論理記憶管理テーブル２１３の一例を示した図である。論理記憶管理テーブル２１３は、論理記憶装置１０４を識別する情報である論理記憶装置ＩＤと、１つの論理記憶装置１０４上の領域をブロック単位に分割した各ブロックを識別する論理ブロックＩＤと、当該論理ブロックに対応する論理記憶装置１０４上の領域のアドレスを示す論理記憶アドレスと、当該論理ブロックに対して物理ブロック１０３が割り当てられているか、あるいはデータ配置パターンに従うかを識別する割り当てＩＤとを対応させて記憶している。
【００４７】
割り当てＩＤには、物理ブロックＩＤまたはパターンＩＤのいずれかが記録される。もし、割り当てＩＤに物理ブロックＩＤが記録されていた場合は、当該論理記憶装置１０４上の領域に物理ブロックが割り当てられ、物理ブロックに対応する物理記憶装置１０１にデータが記録されていることを示す。もし、割り当てＩＤにパターンＩＤが記録されていた場合は、当該論理記憶装置１０４上の領域は当該パターンＩＤに対応するデータ配置条件から生成されるデータに従うことを示している。
【００４８】
（動作の説明）
上記のように構成される本実施例の詳細な動作について図面を参照して説明する。
【００４９】
図５は、ストレージ装置１００のデータ書き込み手段２０１の動作を示すフローチャートである。
【００５０】
データ書き込み手段２０１は、ホスト計算機１１０からデータ書き込み要求を受けることによって動作する。
【００５１】
まず、データ書き込み手段２０１は、データ書き込み要求を受け取ると、書き込み要求された論理記憶装置１０４に対応する論理記憶装置ＩＤと、論理記憶アドレスと、データサイズを元に当該データ書き込み要求が論理記憶装置１０４上のいずれの領域に対する要求であるか判別し、論理記憶管理テーブル２１３を参照して、当該書き込み要求に対応する論理記憶管理テーブル２１３のエントリと、当該エントリが示す論理ブロックＩＤを取得する（ステップＳ１１）。
【００５２】
次に、書き込みデータを指定してデータ配置パターン解析手段２０２を呼び出すことにより、当該書き込みデータとデータ配置パターン記録テーブル２１２のデータ配置条件との比較を実施し、一致するデータ配置条件が存在するかどうかを調査し、一致する場合は一致するデータ配置条件のパターンＩＤが取得される（ステップＳ１２）。
【００５３】
もし、ステップＳ１２による比較の結果、当該書き込みデータに対応するデータ配置条件が存在しない場合、当該書き込みデータのデータ配置条件はストレージ装置１００に対して未登録であり、当該書き込みデータを記録するための物理領域が必要であると判断し、ステップＳ１４に移行する（ステップＳ１３）。
【００５４】
一方、データ配置条件が存在する場合、当該書き込みデータのデータ配置条件はストレージ装置１００に対して登録済みであり、当該書き込みデータを記録するための物理領域は不要であると判断し、ステップＳ１７に移行する（ステップＳ１３）。
【００５５】
ステップＳ１３において、書き込みデータのデータ配置条件が存在せず、ステップＳ１１において求めた論理記憶管理テーブル２１３のエントリにおける割り当てＩＤが物理ブロックＩＤであった場合、当該論理ブロックに対して物理ブロック１０３は割り当て済みと判断する。一方、割り当てＩＤがパターンＩＤであった場合、当該論理ブロックに対して物理ブロック１０３は未割り当てと判断する（ステップＳ１４）。
【００５６】
ステップＳ１４において、物理ブロック１０３が未割り当てと判断した場合は、論理記憶装置ＩＤと論理ブロックＩＤを指定してブロック割り当て手段２０３を呼び出すことにより、当該論理記憶装置１０４上の領域に対して書き込むデータを格納するための物理記憶スペース１０２に対応する物理ブロック１０３を割り当てる（ステップＳ１５）。
【００５７】
最後に、物理ブロック１０３に対し、書き込み要求を受けたデータの書き込み処理を実施する（ステップＳ１６）。
【００５８】
一方、ステップＳ１３において、当該書き込みデータのデータ配置条件が存在する場合、ステップＳ１１において求めた論理記憶管理テーブル２１３の当該エントリの割り当てＩＤがパターンＩＤであり、かつ当該パターンＩＤが、ステップＳ１２のデータ配置パターン解析手段２０２で求めたデータ配置条件のパターンＩＤと一致する場合、当該書き込みデータに対応するパターンＩＤは既に論理記憶管理テーブル２１３に記録済みであり、論理記憶管理テーブルの更新は不要と判断する（ステップＳ１７）。
【００５９】
また、論理記憶管理テーブル２１３の当該エントリの割り当てＩＤが物理ブロックＩＤであるか、あるいは当該エントリの割り当てＩＤがパターンＩＤであるがステップＳ１２で求めたデータ配置条件のパターンＩＤと一致しない場合は、論理記憶管理テーブル２１３の更新が必要と判断する（ステップＳ１７）。
【００６０】
ステップＳ１７において、論理記憶管理テーブル２１３の更新が必要と判断した場合は、論理記憶管理テーブル２１３上の当該エントリの割り当てＩＤを読み出し、当該割り当てＩＤを過去の割り当てＩＤとして保存した後、当該エントリの割り当てＩＤに対して当該書き込みデータのデータ配置条件に対応するパターンＩＤを記録することで、論理記憶管理テーブル２１３を更新する（ステップＳ１８）。
【００６１】
次に、ステップＳ１８において保存した過去の割り当てＩＤが物理ブロックＩＤであった場合、当該書き込み要求に対応する論理記憶領域に対して物理ブロック１０３が割り当て済みであったと判断する。一方、過去の割り当てＩＤがパターンＩＤであった場合、物理ブロック１０３は未割り当てであったと判断する（ステップＳ１９）。
【００６２】
ステップＳ１９において、物理ブロック１０３が割り当て済みと判断した場合、保存した過去の割り当てＩＤを解放すべき物理ブロックＩＤと指定してブロック解放手段２０４を呼び出し、物理ブロックの解放処理を実施する（ステップＳ２０）。
【００６３】
ステップＳ２０の処理が完了した後、または、ステップＳ１７において当該書き込みデータに対応するパターンＩＤが既に論理記憶管理テーブル２１３に記録済みである場合、または、ステップＳ１９において当該書き込み要求に対応する論理記憶領域に対して物理ブロック１０３が未割り当てである場合、当該書き込み要求のデータを破棄して処理を終了する（ステップＳ２１）。
【００６４】
図６は、図５のステップＳ１２におけるデータ配置パターン解析手段２０２の動作の詳細を示すフローチャートである。データ配置パターン解析手段２０２は、調査対象データを指定され、データ書き込み手段２０１から呼び出されることによって動作する。
【００６５】
まず、データ配置パターン解析手段２０２は、データ配置パターン記録テーブル２１２の全エントリを調査するための初期化処理を行う（ステップＳ３１）。
【００６６】
データ配置パターン記録テーブル２１２の全てのエントリについて調査を実行済みであるかどうかを確認し、残りのエントリがあれば調査を継続する（ステップＳ３２）。
【００６７】
データ配置パターン記録テーブル２１２の次のエントリに記録されているデータ配置条件を取得し、当該データ配置条件を解釈して比較対象とするデータ配置パターンを生成する（ステップＳ３３）。
【００６８】
ステップＳ３３において生成した比較対象のデータ配置パターンと、指定された調査対象データ（書き込みデータ）を比較し、一致しない場合はステップＳ３２に戻り次のエントリの調査を行う（ステップＳ３４）。
【００６９】
ステップＳ３３において生成したデータ配置パターンと指定された調査対象データ（書き込みデータ）が一致した場合は、一致するパターンの条件が存在することをパターンＩＤと共に呼び出し元のデータ書き込み手段２０１に返却する（ステップＳ３５）。
【００７０】
一方、前記ステップＳ３２において、全てのエントリの調査が完了した場合、調査対象データ（書き込みデータ）に対して一致するパターンが無いことを呼び出し元のデータ書き込み手段２０１に返却する（Ｓ３６）。
【００７１】
図７は、図５のステップＳ１５におけるブロック割り当て手段２０３の動作の詳細を示すフローチャートである。ブロック割り当て手段２０３は、論理記憶装置ＩＤと論理ブロックＩＤを指定され、データ書き込み手段２０１から呼び出されることによって動作する。
【００７２】
ブロック割り当て手段２０３は、まず、物理記憶管理テーブル２１１を参照し、割り当てフラグの状態から、まだ論理記憶装置１０４に対して割り当てられていない物理ブロック１０３を選択する。当該物理ブロック１０３は、この時点で割り当て用に予約済みとなるため、物理記憶管理テーブル２１１の割り当てフラグに割り当て済みであることを記録し、物理記憶管理テーブル２１１を更新する（ステップＳ４１）。
【００７３】
次いで、論理記憶管理テーブル２１３から指定された論理記憶装置ＩＤと論理ブロックＩＤに対応するエントリを選択し、当該エントリに対応する割り当てＩＤに、前記ステップＳ４１において選択した物理ブロック１０３を識別する物理ブロックＩＤを記録し、論理記憶管理テーブル２１３を更新する（ステップＳ４２）。
【００７４】
図８は、図５のステップＳ２０におけるブロック解放手段２０４の動作の詳細を示すフローチャートである。ブロック解放手段２０４は、物理ブロックＩＤを指定され、データ書き込み手段２０１から呼び出されることによって動作する。
【００７５】
ブロック解放手段２０４は、物理記憶管理テーブル２１１から指定された物理ブロックＩＤに対応するエントリを選択し、選択したエントリの割り当てフラグに当該物理ブロックは未割り当てであることを記録し、物理記憶管理テーブル２１１を更新する（ステップＳ５１）。
【００７６】
以上のように、データ書き込み手段２０１は、ホスト計算機１１０からのデータ書き込み要求を受け、書き込むデータに一致するデータ配置パターン記録テーブル２１２上のデータ配置条件が存在するかどうか調査し、存在しない場合はデータ書き込み要求を受けた論理記憶装置１０４上の領域に対して物理ブロック１０３を割り当て、要求されたデータを書き込む。
【００７７】
一方、データ配置条件が存在する場合は、要求を受けた論理記憶装置１０４上の領域が当該データ配置条件に従うことを論理記憶管理テーブル２１３に記録して、物理ブロック１０３を割り当てずに要求されたデータを破棄し、さらに、当該領域に対して物理ブロック１０３が既に割り当て済みであった場合は、割り当て済みの物理ブロック１０３を解放する。
【００７８】
これにより、ストレージ装置１００に対して書き込むデータがデータ配置条件に従う限り、物理記憶装置１０１の領域である物理ブロックの割り当てが不要となるため、物理記憶装置の割り当て効率を改善し、ストレージ装置にかかるコストを低減することが可能となる。
【００７９】
図９は、ストレージ装置１００のデータ読み出し手段２０５の動作を示すフローチャートである。
【００８０】
データ読み出し手段２０５は、ホスト計算機１１０からデータ読み出し要求を受けることによって動作する。
【００８１】
まず、データ読み出し手段２０５は、データ読み出し要求を受け取ると、読み出しを要求された論理記憶装置１０４に対応する論理記憶装置ＩＤと、論理記憶アドレスと、データサイズを元に当該データ読み出し要求が論理記憶装置１０４上のいずれの領域に対する要求であるかを判断し、論理記憶管理テーブル２１３を参照して、当該データ読み出し要求に対応する論理記憶管理テーブル２１３のエントリを求め、当該エントリが示す論理ブロックＩＤと割り当てＩＤを取得する（ステップＳ６１）。
【００８２】
論理記憶管理テーブル２１３における当該エントリの割り当てＩＤが、物理ブロックＩＤであれば、物理ブロック１０３が割り当て済みと判断する。一方、割り当てＩＤがパターンＩＤであれば、物理ブロック１０３は未割り当てであると判断する（ステップＳ６２）。
【００８３】
ステップＳ６２において、物理ブロック１０３が割り当て済みであった場合は、物理記憶管理テーブル２１１を参照し、当該物理ブロックＩＤが示す物理記憶スペース１０２のオフセットアドレスから読み出し要求されたデータの読み出しを行う（ステップＳ６３）。
【００８４】
最後に、データ読み出し要求を受けたホスト計算機１１０に対して読み出したデータの返却を行う（ステップＳ６４）。
【００８５】
一方、ステップＳ６２において、物理ブロック１０３が未割り当てと判断した場合は、データ配置パターン記録テーブル２１２を参照し、当該エントリの割り当てＩＤに記録されたパターンＩＤが示すデータ配置条件を取得し、当該データ配置条件に従ってデータを生成する（ステップＳ６５）。その後、ステップＳ６４において、データ読み出し要求を受けたホスト計算機１１０へ生成したデータを返却する。
【００８６】
以上のように、データ読み出し手段２０５は、ホスト計算機１１０からのデータ読み出し要求を受け、論理記憶管理テーブル２１３を参照し、データ読み出し要求に対応する論理記憶装置１０４上の領域に対して、物理ブロック１０３が割り当て済みであれば、対応する物理ブロック１０３からデータを読み出し、読み出したデータを返却する。
【００８７】
一方、当該要求に対応する論理記憶装置１０４上の記憶領域が、データ配置パターン記録テーブル２１２上のデータ配置条件に従うことが記録されていれば、当該データ配置条件に従ってデータを生成し、生成したデータを返却する。
【００８８】
なお、上記実施例においては、データ配置パターン記録テーブル２１２にデータ配置条件を一意に識別するパターンＩＤおよびデータ配置条件を記録するデータ配置パターン設定手段２０６を備える構成を示したが、このデータ配置パターン設定手段２０６は必ずしも設ける必要がない。
【００８９】
データ配置パターン記録テーブル２１２に事後的に新たなデータ配置条件を追加せず、予め設定された特定のデータ配置条件（例えば、書き込み対象データが全て「００ｈ」、あるいは全て「ＦＦｈ」といった２パターンのみのデータ配置条件）を保持するとした場合も、書き込みデータが当該データ配置条件に従う限り、物理記憶装置１０１の割り当て効率が改善し、要するコストを低減することができる。ただし、上述した実施例よりも期待されるコスト削減の効果は低下する。
【００９０】
本発明のストレージ装置の機能は、その機能をハードウェア的に実現することは勿論として、上記した各手段（データ書き込み手段２０１、データ読み出し手段２０５、データ配置パターン解析手段２０２、ブロック割り当て手段２０３、ブロック解放手段２０４）の機能を実行するアクセス制御プログラム（アプリケーション）５００をコンピュータ処理装置で実行することにより、ソフトウェア的に実現することができる。このアクセス制御プログラム５００は、磁気ディスク、半導体メモリその他の記録媒体に格納され、その記録媒体からコンピュータ処理装置にロードされ、コンピュータ処理装置の動作を制御することにより、上述した各機能を実現する。
【００９１】
以上好ましい複数の実施例をあげて本発明を説明したが、本発明は必ずしも、上記実施例に限定されるものでなく、その技術的思想の範囲内において様々に変形して実施することができる。
【図面の簡単な説明】
【００９２】
【図１】本発明における好適な実施例によるストレージ装置の構成を示すブロック図である。
【図２】図１の本実施例における物理記憶管理テーブルの一例を示した図である。
【図３】図１の本実施例におけるデータ配置パターン記録テーブルの一例を示した図である。
【図４】図１の実施例における論理記憶管理テーブルの一例を示した図である。
【図５】本実施例におけるデータ書き込み手段の動作を示すフローチャートである。
【図６】本実施例におけるデータ配置パターン解析手段の動作を示すフローチャートである。
【図７】本実施例におけるブロック割り当て手段の動作を示すフローチャートである。
【図８】本実施例におけるブロック解放手段の動作を示すフローチャートである。
【図９】本実施例におけるデータ読み出し手段の動作を示すフローチャートである。
【符号の説明】
【００９３】
１００：ストレージ装置
１０１：物理記憶装置
１０２：物理記憶スペース
１０３：物理ブロック
１０４：論理記憶装置
１１０：ホスト計算機
２０１：データ書き込み手段
２０２：データ配置パターン解析手段
２０３：ブロック割り当て手段
２０４：ブロック解放手段
２０５：データ読み出し手段
２０６：データ配置パターン設定手段
２１１：物理記憶管理テーブル
２１２：データ配置パターン記録テーブル
２１３：論理記憶管理テーブル
【図１】
2005135116.tif 000003
【図２】
2005135116.tif 000004
【図３】
2005135116.tif 000005
【図４】
2005135116.tif 000006
【図５】
2005135116.tif 000007
【図６】
2005135116.tif 000008
【図７】
2005135116.tif 000009
【図８】
2005135116.tif 000010
【図９】
2005135116.tif 000011