(57)【要約】【課題】ストレージシステムの任意の記憶領域に書き込み禁止属性を設定することによって、記憶容量を有効に利用する。【解決手段】データが格納される論理ボリュームと、前記論理ボリュームのデータへのアクセスを制御する制御装置と、を備え、前記論理ボリュームには、アクセス制御属性が設定された任意の大きさの第１領域が設定され、前記制御装置は、前記ホストコンピュータから前記論理ボリュームへのアクセス要求を受信すると、当該アクセス要求に係るアクセス先が前記第１領域内の記憶領域を含み、かつ、当該第１領域に設定された前記アクセス制御属性が当該アクセス要求に係るアクセスを禁止している場合、当該アクセスを実行しないことを前記ホストコンピュータに応答する。【選択図】      図３
2006127106.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介してホストコンピュータと接続されるストレージシステムにおいて、
前記ストレージシステムは、
データが格納される論理ボリュームと、
前記論理ボリュームのデータへのアクセスを制御する制御装置と、を備え、
前記論理ボリュームには、アクセス制御属性が設定された任意の大きさの第１領域が設定され、
前記制御装置は、前記ホストコンピュータから前記論理ボリュームへのアクセス要求を受信すると、
当該アクセス要求に係るアクセス先が前記第１領域内の記憶領域を含み、かつ、当該第１領域に設定された前記アクセス制御属性が当該アクセス要求に係るアクセスを禁止している場合、当該アクセスを実行しないことを前記ホストコンピュータに応答することを特徴とするストレージシステム。
【請求項２】
前記論理ボリュームには、所定の大きさの第２領域が設定され、
前記制御装置は、前記アクセス要求を受信すると、
当該アクセス要求に係るアクセス先を含む前記第２領域が、当該アクセス要求に係るアクセスを禁止する前記アクセス属性が設定された前記第１領域を含まない場合、当該アクセスを実行し、
当該アクセス要求に係るアクセス先を含む前記第２領域の全体が、当該アクセス要求に係るアクセスを禁止する前記アクセス属性が設定された一つの前記第１領域によって占められている場合、当該アクセスを実行しないことを前記ホストコンピュータに応答することを特徴とする請求項１に記載のストレージシステム。
【請求項３】
前記制御装置は、
前記論理ボリュームへの前記第１領域の作成要求を受信すると、
当該作成要求に係る前記第１領域と、既に前記論理ボリュームに設定されている前記第１領域とが重複する判定した場合、当該作成要求に係る前記第１領域を作成しないことを応答することを特徴とする請求項１に記載のストレージシステム。
【請求項４】
前記論理ボリュームには、所定の大きさの第２領域が設定され、
前記制御装置は、前記作成要求を受信すると、
当該作成要求に係る作成先を含む前記第２領域が、既に前記論理ボリュームに設定されている前記第１領域を含まない場合、当該作成要求に係る前記第１領域を作成し、
当該作成要求に係る作成先を含む前記第２領域の全体が、既に前記論理ボリュームに設定されている一つの前記第１領域によって占められている場合、当該作成要求に係る前記第１領域を作成しないことを応答することを特徴とする請求項３に記載のストレージシステム。
【請求項５】
前記制御装置は、
前記第１領域への前記アクセス制御属性の設定要求と、当該設定要求に係る当該アクセス制御属性の設定期間とを受信すると、
当該設定要求に係る当該アクセス制御属性の設定期間と、当該設定要求に係る前記第１領域に既に設定されている前記アクセス制御属性の設定期間とを比較し、
当該設定要求に係る当該アクセス制御属性の設定期間が、当該設定要求に係る前記第１領域に既に設定されている前記アクセス制御属性の設定期間より早く経過する場合、当該設定要求に係る当該アクセス制御属性を設定しないことを応答することを特徴とする請求項１に記載のストレージシステム。
【請求項６】
前記制御装置は、
前記第１領域に設定された前記アクセス制御属性の解除要求を受信すると、
当該解除要求に係る前記アクセス制御属性の設定期間を経過したか否かを判定し、
当該解除要求に係る前記アクセス制御属性の設定期間を経過していないと判定した場合、当該解除要求に係る前記アクセス制御属性を解除しないことを応答することを特徴とする請求項１に記載のストレージシステム。
【請求項７】
前記制御装置は、
前記第１領域に設定された前記アクセス制御属性の参照要求を受信すると、
当該参照要求に係る前記アクセス制御属性の情報を応答し、さらに、当該アクセス制御属性の設定期間を経過していない場合は、当該アクセス制御属性を変更することができないことを示すフラグを応答することを特徴とする請求項１に記載のストレージシステム。
【請求項８】
前記制御装置は、
前記論理ボリュームに設定された前記第１領域の削除要求を受信すると、
当該削除要求に係る前記第１領域に、アクセスを禁止する前記アクセス制御属性が設定されているか否かを判定し、
当該削除要求に係る前記第１領域に、アクセスを禁止する前記アクセス制御属性が設定されていると判定した場合、当該削除要求に係る前記第１領域を削除しないことを応答することを特徴とする請求項１に記載のストレージシステム。
【請求項９】
ネットワークを介してホストコンピュータと接続され、データが格納される論理ボリュームを備えるストレージシステムにおいて、
前記ストレージシステムは、
前記論理ボリュームに任意の大きさの第１領域を作成する第１コマンドを受信し、
その後、前記第１コマンドによって作成された前記第１領域に、書き込み禁止属性と、前記書き込み禁止属性が設定される期間とを設定する第２コマンドを受信し、
その後、前記第２コマンドによって設定された前記期間が経過する前に、前記第１領域にデータを書き込む第３コマンドを受信すると、前記受信した第３コマンドに係る書き込みを実行しないことを応答することを特徴とするストレージシステム。
【請求項１０】
ネットワークを介してホストコンピュータと接続され、
データが格納される論理ボリュームと、
前記論理ボリュームのデータへのアクセスを制御する制御装置と、を備え、
前記論理ボリュームには、アクセス制御属性が設定された任意の大きさの第１領域が設定されるストレージシステムの制御方法において、
前記ホストコンピュータから前記論理ボリュームへのアクセス要求を受信する手順と、
当該アクセス要求に係るアクセス先が前記第１領域内の記憶領域を含み、かつ、当該第１領域に設定された前記アクセス制御属性が当該アクセス要求に係るアクセスを禁止している場合、当該アクセスを実行しないことを前記ホストコンピュータに応答する手順と、を含むことを特徴とする制御方法。
【請求項１１】
前記論理ボリュームには、所定の大きさの第２領域が設定され、
受信した前記アクセス要求に係るアクセス先を含む前記第２領域が、当該アクセス要求に係るアクセスを禁止する前記アクセス属性が設定された前記第１領域を含まない場合、当該アクセスを実行する手順と、
当該アクセス要求に係るアクセス先を含む前記第２領域の全体が、当該アクセス要求に係るアクセスを禁止する前記アクセス属性が設定された一つの前記第１領域によって占められている場合、当該アクセスを実行しないことを前記ホストコンピュータに応答する手順と、を含むことを特徴とする請求項１０に記載の制御方法。
【請求項１２】
受信した前記論理ボリュームへの前記第１領域の作成要求に係る前記第１領域と、既に前記論理ボリュームに設定されている前記第１領域とが重複する場合、当該作成要求に係る前記第１領域を作成しないことを応答する手順と、を含むことを特徴とする請求項１０に記載の制御方法。
【請求項１３】
前記論理ボリュームには、所定の大きさの第２領域が設定され、
受信した前記作成要求に係る作成先を含む前記第２領域が、既に前記論理ボリュームに設定されている前記第１領域を含まない場合、当該作成要求に係る前記第１領域を作成する手順と、
当該作成要求に係る作成先を含む前記第２領域の全体が、既に前記論理ボリュームに設定されている一つの前記第１領域によって占められている場合、当該作成要求に係る前記第１領域を作成しないことを応答する手順と、を含むことを特徴とする請求項１２に記載の制御方法。
【請求項１４】
受信した前記第１領域への前記アクセス制御属性の設定要求に係る当該アクセス制御属性の設定期間と、当該設定要求に係る前記第１領域に既に設定されている前記アクセス制御属性の設定期間とを比較する手順と、
当該設定要求に係る当該アクセス制御属性の設定期間が、当該設定要求に係る前記第１領域に既に設定されている前記アクセス制御属性の設定期間より早く経過する場合、当該設定要求に係る当該アクセス制御属性を設定しないことを応答する手順と、を含むことを特徴とする請求項１０に記載の制御方法。
【請求項１５】
受信した前記第１領域に設定された前記アクセス制御属性の解除要求に係る当該アクセス制御属性の設定期間を経過したか否かを判定する手順と、
当該設定期間を経過していないと判定した場合、当該解除要求に係る当該アクセス制御属性を解除しないことを応答する手順と、を含むことを特徴とする請求項１０に記載の制御方法。
【請求項１６】
受信した前記第１領域に設定された前記アクセス制御属性の参照要求に係る前記アクセス制御属性の情報を応答し、さらに、当該アクセス制御属性の設定期間を経過していない場合は、当該アクセス制御属性を変更することができないことを示すフラグを応答する手順を含むことを特徴とする請求項１０に記載の制御方法。
【請求項１７】
受信した前記論理ボリュームに設定された前記第１領域の削除要求に係る前記第１領域に設定された前記アクセス制御属性がアクセスを禁止しているか否かを判定する手順と、
当該アクセス制御属性がアクセスを禁止していると判定した場合、当該削除要求に係る前記第１領域を削除しないことを応答する手順と、を含むことを特徴とする請求項１０に記載の制御方法。
【請求項１８】
ネットワークを介してホストコンピュータと接続され、データが格納される論理ボリュームを備えるストレージシステムの制御方法において、
前記論理ボリュームに任意の大きさの第１領域を作成する第１コマンドを受信する手順と、
前記第１コマンドによって作成された前記第１領域に、書き込み禁止属性と、前記書き込み禁止属性が設定される期間とを設定する第２コマンドを受信する手順と、
前記第２コマンドによって設定された前記期間が経過する前に、前記第１領域にデータを書き込む第３コマンドを受信すると、前記受信した第３コマンドに係る書き込みを実行しないことを応答する手順と、を含むことを特徴とする制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージシステムのアクセス制御に関する。
【背景技術】
【０００２】
ホストコンピュータからストレージシステム内の論理ボリュームへのアクセス制御技術、特に、論理ボリュームのデータのセキュリティ機能に関する従来技術として、例えば、特許文献１が開示されている。特許文献１によれば、ストレージシステム内の論理ボリュームごとに、読み出し／書き込み共に可能、書き込み禁止、又は、読み出し／書き込み共に禁止、のいずれかの属性が設定される。ホストコンピュータからの読み出し／書き込みコマンドは、読み出し／書き込み対象の論理ボリュームに設定された属性に従って処理される。
【特許文献１】特開２０００−１１２８２２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
上記の特許文献１によれば、書き込み禁止等の属性は、論理ボリューム全体に設定される。このため、論理ボリュームに格納されたデータの更新を禁止したい場合は、その論理ボリュームに空き領域があっても、その論理ボリューム全体に書き込み禁止属性を設定する必要があった。その結果、その論理ボリュームの空き領域にはデータを書き込むことができないため、ストレージシステムの容量を有効に利用することができなかった。
【課題を解決するための手段】
【０００４】
本発明は、ネットワークを介してホストコンピュータと接続されるストレージシステムにおいて、前記ストレージシステムは、データが格納される論理ボリュームと、前記論理ボリュームのデータへのアクセスを制御する制御装置と、を備え、前記論理ボリュームには、アクセス制御属性が設定された任意の大きさの第１領域が設定され、前記制御装置は、前記ホストコンピュータから前記論理ボリュームへのアクセス要求を受信すると、当該アクセス要求に係るアクセス先が前記第１領域内の記憶領域を含み、かつ、当該第１領域に設定された前記アクセス制御属性が当該アクセス要求に係るアクセスを禁止している場合、当該アクセスを実行しないことを前記ホストコンピュータに応答することを特徴とする。
【発明の効果】
【０００５】
本発明によれば、論理ボリューム内に任意の大きさの領域（エクステント）が設定され、エクステントごとに書き込み禁止等の属性が設定される。このため、ストレージシステムの容量が有効に利用される。
【発明を実施するための最良の形態】
【０００６】
以下、本発明の実施の形態について、図面を参照して説明する。本実施の形態は、本発明を電子メールデータの管理に適用した例である。しかし、本発明は、他の用途に適用することもできる。
【０００７】
図１は、本発明の実施の形態のコンピュータシステムのハードウエア構成を示すブロック図である。
【０００８】
本実施の形態のコンピュータシステムは、ホスト１１０、ストレージシステム１２０、管理端末１３０及びメールサーバ１８０によって構成される。ホスト１１０、ストレージシステム１２０、管理端末１３０及びメールサーバ１８０は、ＬＡＮ１７０によって通信可能に接続される。さらに、ホスト１１０、ストレージシステム１２０及びメールサーバ１８０は、ストレージエリアネットワーク（ＳＡＮ）１５０によって通信可能に接続される。
【０００９】
このコンピュータシステムは、複数のホスト１１０及び複数のストレージシステム１２０を含んでもよい。図１には、ホスト１００Ａ、ストレージシステム１２０Ａ及びストレージシステム１２０Ｂを示す。
【００１０】
ホスト１１０Ａは、プロセッサ１１１、入出力部１１３及びメインメモリ１１２を含むコンピュータである。ホスト１１０Ａは、ＬＡＮ１７０を介して管理端末１３０及びメールサーバ１８０と通信する。また、ホスト１１０Ａは、ＳＡＮ１５０を介してストレージシステム１２０にデータを書き込んで格納し、格納されたデータを読み出す。
【００１１】
プロセッサ１１１は、メインメモリ１１２に格納されたプログラムを実行して、ホスト１１０Ａの動作を制御する。
【００１２】
メインメモリ１１２には、プロセッサ１１１によって実行されるプログラム等が格納される。
【００１３】
入出力部１１３は、ＳＡＮ１５０を介してストレージシステム１２０と通信して、データの転送を制御するインターフェースである。
【００１４】
ストレージシステム１２０Ａは、ディスクドライブ１２１、保守端末１２２及びストレージ制御装置１４０を含む。
【００１５】
ディスクドライブ１２１は、ホスト１１０Ａから書き込まれたデータを格納するハードディスクドライブである。ストレージシステム１２０Ａは、一つ又は複数のディスクドライブ１２１を含んでもよい。本実施の形態のストレージシステム１２０Ａは、ディスクアレイ（ＲＡＩＤ）を構成する複数のディスクドライブ１２１を含む。
【００１６】
保守端末１２２は、ストレージシステム１２０Ａに内蔵されたコンピュータであり、ストレージシステム１２０Ａの設定をする。また、保守端末１２２は、ＬＡＮ１７０を介して管理端末１３０と通信する。
【００１７】
ストレージ制御装置１４０は、ＳＡＮ１５０を介してホスト１１０Ａと通信し、ホスト１１０Ａとディスクドライブ１２１との間のデータの転送を制御する。
【００１８】
ストレージ制御装置１４０は、入出力部１４１、キャッシュメモリ１４２、入出力部１４３、プロセッサ１４４及び制御メモリ１４５からなる。
【００１９】
入出力部１４１は、ＳＡＮ１５０を介してホスト１１０Ａと通信して、データの転送を制御するインターフェースである。
【００２０】
キャッシュメモリ１４２は、データの読み出し／書き込みの高速化のために、ホスト１１０Ａとディスクドライブ１２１との間で転送されるデータを一時的に格納するメモリである。
【００２１】
入出力部１４３は、ディスクドライブ１２１と通信して、データの転送を制御するインターフェースである。
【００２２】
プロセッサ１４４は、制御メモリ１４５に格納されたプログラムを実行することによって、ストレージ制御装置の動作を制御する。
【００２３】
制御メモリ１４５には、プロセッサ１４４によって実行されるプログラム及びプログラムを実行するために必要な管理情報が格納される。
【００２４】
ストレージシステム１２０Ｂの構成は、ストレージシステム１２０Ａと同様であるため、図示及び説明を省略する。
【００２５】
管理端末１３０は、ＬＡＮ１７０を介してホスト１１０Ａ、ストレージシステム１２０、メールサーバ１８０と通信し、これらを管理するコンピュータである。管理端末１３０のハードウエア構成は、ホスト１１０Ａと同様であるため、図示及び説明を省略する。
【００２６】
メールサーバ１８０は、ＬＡＮ１７０を介して接続された他のコンピュータ（図示省略）に電子メールサービスを提供するコンピュータである。メールサーバ１８０のハードウエア構成は、ホスト１１０Ａと同様であるため、図示及び説明を省略する。
【００２７】
メールサーバ１８０は、電子メールサービスを提供する際に、電子メールのデータをストレージシステム１２０Ｂに格納する。そして、メールサーバ１８０は、所定のタイミングで（例えば、毎日所定の時刻に）、ストレージシステム１２０Ｂに格納された電子メールデータをＳＡＮ１５０を介して読み出して、ＬＡＮ１７０を介してホスト１１０Ａに転送する。
【００２８】
ホスト１１０Ａは、いわゆるアーカイブサーバであり、メールサーバ１８０から転送された電子メールデータを、ストレージシステム１２０Ａに格納する。
【００２９】
なお、メールサーバ１８０からホスト１１０Ａへの電子メールデータの転送は、ホスト１１０Ａからの要求によって実行されてもよいし、メールサーバ１８０からの要求によって実行されてもよい。
【００３０】
また、電子メールデータは、メールサーバ１８０又はホスト１１０Ａからの指示によって、ＬＡＮ１７０を経由せず、ＳＡＮ１５０を経由して、ストレージシステム１２０Ｂからストレージシステム１２０Ａに直接転送されてもよい。
【００３１】
なお、所定のタイミングでホスト１１０ＡがＳＡＮ１５０を経由してストレージシステム１２０Ｂに格納されている電子メールデータを読み出して、読み出した電子メールデータをストレージシステム１２０Ａに格納してもよい。
【００３２】
さらに、メールサーバ１８０は、ストレージシステム１２０Ａを用いて電子メールサービスを提供し、ストレージシステム１２０Ａに電子メールデータを格納してもよい。この場合、電子メールデータは、所定のタイミングで、メールサーバ１８０が使用するストレージシステム１２０Ａ内の論理デバイスから、ホスト１１０Ａが使用するストレージシステム１２０Ａ内の他の論理デバイスにコピーされる。なお、論理デバイスについては、後述する（図２参照）。
【００３３】
このコピー処理は、メールサーバ１８０又はホスト１１０Ａからの命令に基づいて、ストレージシステム１２０Ａのストレージ制御装置１４０が実行してもよい。あるいは、ホスト１１０Ａがストレージシステム１２０Ａ内の論理デバイスから電子メールデータを読み出して、読み出した電子メールデータをホスト１１０Ａが使用するストレージシステム１２０Ａ内の他の論理デバイスに格納してもよい。
【００３４】
ストレージシステム１２０Ａに格納される電子メールデータは、法律によって所定の期間の保存が義務付けられている場合がある。このような場合、ストレージシステム１２０Ａは、電子メールデータが格納された記憶領域に書き込み禁止属性を設定して、データが消去又は改竄されないように保護する。
【００３５】
本発明は、このような場合に、任意の記憶領域に任意の属性を設定する技術に関する。
【００３６】
図２は、本発明の実施の形態のコンピュータシステムの機能ブロック図である。
【００３７】
図２において、図１と共通する部分は、説明を省略する。
【００３８】
ホスト１１０Ａ内のアプリケーション２１１及びストレージシステム制御部２１２は、メインメモリ１１２に格納され、プロセッサ１１１によって実行されるプログラムである。
【００３９】
アプリケーション２１１は、ホスト１１０Ａをアーカイブサーバとして機能させるためのプログラムである。ホスト１１０Ａは、その他の機能を実現するために、複数のアプリケーション２１１を有してもよい。
【００４０】
ストレージシステム制御部２１２は、ストレージシステム１２０Ａへのデータの書き込み及びストレージシステム１２０Ａからのデータの読み出しを制御するプログラムである。
【００４１】
管理端末１３０内の管理部１３１は、ホスト１１０Ａ、ストレージシステム１２０及びメールサーバ１８０を管理するプログラムである。管理部１３１は、ホスト１１０Ａを管理する管理プログラム、ストレージシステム１２０を管理する管理プログラム、及び、メールサーバ１８０を管理する管理プログラム等の複数の管理プログラムによって構成されてもよい。あるいは、上記の各管理プログラムが異なる管理端末１３０に実装されてもよい。
【００４２】
ストレージシステム１２０Ａ内の論理デバイス（ＬＤＥＶ）２２５は、ストレージシステム１２０Ａによって管理される記憶領域である。ストレージシステム１２０Ａは、一つの論理デバイス２２５を一つの論理的なディスクドライブとして扱う。
【００４３】
一つの論理デバイス２２５は、物理的には、一つのディスクドライブ１２１の一部の記憶領域であってもよいし、複数のディスクドライブ１２１の記憶領域によって構成されてもよい。ストレージシステム１２０Ａは、任意の数の論理デバイス２２５を設定することができる。
【００４４】
論理ボリューム（ＬＵ）２２６は、論理デバイス２２５内の記憶領域である。ホスト１１０Ａは、一つの論理ボリューム２２６を一つの論理的なディスクドライブとして扱う。
【００４５】
本実施の形態では、一つの論理ボリューム２２６が一つの論理デバイス２２５に対応する。しかし、一つの論理デバイス２２５が複数の論理ボリューム２２６を含む場合にも、本発明を適用することができる。
【００４６】
本実施の形態のコンピュータシステムのユーザは、論理ボリューム２２６内に任意の数のエクステント（図３参照）を設定することができる。エクステントとは、論理ボリューム２２６内に設定される任意の大きさの記憶領域である。本発明によれば、ユーザは、エクステントごとに、書き込み禁止又は読み出し禁止等の属性（アクセス制御属性）を設定することができる。
【００４７】
論理デバイス２２５、論理ボリューム２２６及びエクステントについては、後で詳細に説明する。
【００４８】
ストレージシステム１２０Ａ内のアクセス制御部２２１及びエクステント管理部２２２は、制御メモリ１４５に格納され、プロセッサ１４４によって実行されるプログラムである。
【００４９】
アクセス制御部２２１は、ホスト１１０Ａからのアクセス要求（すなわち、データの書き込み要求又は読み出し要求）に従って、論理ボリューム２２６にアクセスし、データの書き込み又は読み出しを実行する。アクセス先のエクステントに書き込み禁止等の属性が設定されている場合は、その属性に従ってアクセスを制御する。
【００５０】
エクステント管理部２２２は、論理ボリューム２２６内のエクステントを管理する。具体的には、エクステントの新規作成、エクステントの削除、及び、エクステントに対するアクセス制御属性の設定等を実行する。
【００５１】
論理デバイス管理情報２２３は、論理デバイス２２５の管理情報であり、制御メモリ１４５に格納される。論理デバイス管理情報２２３には、少なくとも、各論理デバイス２２５がボリューム管理領域３０１（図３参照）を含むか否かを示す情報が含まれる。論理デバイス管理情報２２３には、さらに、各論理デバイス２２５を識別する論理デバイス番号、及び、その他の情報が含まれてもよい。
【００５２】
アクセス制御部２２１、エクステント管理部２２２及び論理デバイス管理情報２２３については、後で詳細に説明する。
【００５３】
図３は、本発明の実施の形態の論理デバイス２２５の記憶領域の説明図である。
【００５４】
本実施の形態において、論理デバイス２２５の記憶領域は、ボリューム管理領域（ＶＭＡ）３０１及びユーザ領域３０２からなる。ボリューム管理領域３０１には、論理デバイス２２５の管理情報が格納される。ユーザ領域３０２には、ユーザから書き込まれたデータ、すなわち、ホスト１１０Ａから書き込まれたデータが格納される。ユーザ領域３０２は、論理ボリューム２２６に相当する。
【００５５】
ボリューム管理領域３０１には、少なくとも、ボリューム管理情報３０３、ボリューム保護用管理情報３０４、ボリューム内エクステント管理情報３０５及びエクステント管理情報３０６が格納される。
【００５６】
ボリューム管理情報３０３は、論理デバイス２２５の属性、サイズ等、論理デバイス２２５全体を管理する情報を含む。ボリューム管理情報３０３については、後で詳細に説明する。
【００５７】
ボリューム保護用管理情報３０４は、論理デバイス２２５全体（すなわち、論理ボリューム２２６全体）に設定されるアクセス制御属性に関する情報を含む。この領域は、従来と同様に、論理ボリューム２２６全体に書込み禁止等のアクセス制御属性を設定するために使用される。このため、本実施の形態では、ボリューム保護用管理情報３０４の詳細な説明を省略する。
【００５８】
ボリューム内エクステント管理情報３０５は、論理ボリューム２２６内に設定された全てのエクステントを管理する情報を含む。ボリューム内エクステント管理情報３０５には、例えば、論理ボリューム２２６内に一つ以上のエクステントが設定されているか否かを示すフラグが含まれる。ボリューム内エクステント管理情報３０５については、後で詳細に説明する。
【００５９】
エクステント管理情報３０６は、論理ボリューム２２６内に設定された各エクステントに対応して設けられ、各エクステントを管理する情報を含む。図３の例では、論理ボリューム２２６（すなわち、ユーザ領域３０２）内に設定された二つのエクステント（エクステント１及びエクステント２）に対応するエクステント管理情報３０６Ａ及び３０６Ｂが設けられる。エクステント管理情報３０６には、例えば、対応するエクステントに設定されたアクセス制御属性に関する情報が含まれる。
【００６０】
ユーザは、ユーザ領域３０２内の任意の領域を、エクステント３０７として設定することができる。さらに、ユーザは、各エクステント３０７に任意のアクセス制御属性を設定することができる。
【００６１】
論理デバイス２２５内の各領域は、論理ブロック（図示省略）によって構成される。したがって、論理デバイス２２５内の各領域は、論理ブロックアドレス（ＬＢＡ）によって定義される。
【００６２】
ＬＢＡには、ホスト１１０Ａによって認識される外部ＬＢＡと、ストレージシステム１２０によって認識される内部ＬＢＡとがある。ボリューム管理領域３０１を構成する論理ブロックには、内部ＬＢＡが付与されるが、外部ＬＢＡは付与されない。
【００６３】
図３の例では、論理デバイス２２５がＬＢＡ「０」から「１０００」までの論理ブロックによって構成され、そのうち、ボリューム管理領域３０１の論理ブロック数が１００である。この場合、ボリューム管理領域３０１の論理ブロックには、「０」から「９９」までの内部ＬＢＡが付与されるが、外部ＬＢＡは付与されない。一方、ユーザ領域３０２の先頭論理ブロックの内部ＬＢＡは「１００」であり、外部ＬＢＡは「０」である。さらに、ユーザ領域３０２の末尾論理ブロックの内部ＬＢＡは「１０００」であり、外部ＬＢＡは「９００」である。
【００６４】
なお、ユーザは、ボリューム管理領域３０１及びユーザ領域３０２を任意の大きさに設定することができる。
【００６５】
さらに、ユーザは、ボリューム管理領域３０１を含まない論理デバイス２２５を設定することもできる。ただし、論理ボリューム２２６にエクステント３０７を設定し、各エクステント３０７にアクセス制御属性を設定するためには、論理デバイス２２５にボリューム管理領域３０１を設けるか、ボリューム管理領域３０１の代わりに、制御メモリ１４５にボリューム管理領域３０１が有する情報を格納する必要がある。
【００６６】
なお、ストレージ制御装置１４０が制御する論理デバイス２２５の数が多いと、制御メモリ１４５の容量が不足し、全ての論理デバイス２２５についてボリューム管理情報３０３、ボリューム保護用管理情報３０４、ボリューム内エクステント管理情報３０５、エクステント管理情報３０５を格納することができない場合がある。したがって、このような場合には、論理デバイス２２５にボリューム管理領域３０１を設けることが好ましい。
【００６７】
なお、ボリューム管理領域３０１を有する論理デバイス２２５と有さない論理デバイス２２５とが一つのストレージシステム１２０に混在する場合、制御メモリ１４５は、各論理デバイス２２５がボリューム管理領域３０１を有するか否かを示す情報を備える必要がある。
【００６８】
図４は、本発明の実施の形態のボリューム管理情報３０３の説明図である。
【００６９】
ボリューム管理情報３０３は、トータルサイズ４０１、ＶＭＡタイプ４０２及びＶＭＡサイズ４０３を含む。これらの値は、ユーザによって任意に設定される。
【００７０】
トータルサイズ４０１は、論理デバイス２２５全体のサイズであり、ボリューム管理領域３０１のサイズ及びユーザ領域３０２のサイズの合計である。
【００７１】
ＶＭＡタイプ４０２は、ボリューム管理領域３０１の用途を示す情報である。ボリューム管理領域３０１は、種々の用途に用いることができる。ただし、本発明を実施するためには、図３に示すように、ボリューム管理領域３０１をエクステント３０７毎のアクセス制御属性の設定に用いる必要がある。したがって、本実施の形態のＶＭＡタイプ４０２は、ボリューム管理領域３０１をエクステント３０７毎のアクセス制御属性の設定に用いることを示す情報である。
【００７２】
ＶＭＡサイズ４０３は、ボリューム管理領域３０１のサイズである。ＶＭＡサイズ４０３は、固定であってもよいし、ユーザによって任意に設定可能であってもよい。
【００７３】
なお、論理デバイス管理情報２２３（図２参照）が、ボリューム管理情報３０３の一部又は全部を含んでもよい。
【００７４】
図５は、本発明の実施の形態のボリューム内エクステント管理情報３０５の説明図である。
【００７５】
ボリューム内エクステント管理情報３０５は、エクステント有無５０１、エクステントＩＤビットマップ５０２、管理ブロック情報ビットマップ５０３及びエクステントポインタ５０４を含む。
【００７６】
エクステント有無５０１は、論理ボリューム２２６が一つ以上のエクステント３０７を含むか否かを示す情報である。
【００７７】
エクステントＩＤビットマップ５０２は、論理ボリューム２２６内に存在するエクステント３０７によって使用されているエクステントＩＤ６０１（図６参照）を示すビットマップである。
【００７８】
例えば、エクステントＩＤ６０１が２バイト（１６ビット）である場合、論理ボリューム２２６内に６５５３６通りのエクステントＩＤ６０１が存在し得る。この場合、エクステントＩＤビットマップ５０２は、６５５３６ビット（８キロバイト）の領域を有し、各ビットが、存在し得るエクステントＩＤ６０１と対応する。これらのビットは、対応するエクステントＩＤ６０１が論理ボリューム２２６内に実際に存在するか否かを示すフラグである。
【００７９】
管理ブロック情報ビットマップ５０３は、論理ボリューム２２６内に設けられた管理ブロック８０１（図８参照）の状態を示すビットマップである。具体的には、管理ブロック情報ビットマップ５０３は、各管理ブロック８０１がエクステント３０７を含むか否か、各管理ブロック８０１がエクステント３０７の端点（始点又は終点）を含むか否か、各管理ブロック８０１が書き込み禁止領域を含むか否か、及び、各管理ブロック８０１が読み出し禁止領域を含むか否かを示すステータスフラグを含む。
【００８０】
ここで、書き込み禁止領域とは、書き込み禁止属性が設定されたエクステント３０７であり、読み出し禁止領域とは、読み出し禁止属性が設定されたエクステント３０７である。
【００８１】
管理ブロック８０１がエクステント３０７を含むとき、当該管理ブロックがエクステント３０７を含むか否かを示すフラグの値は「有効」（例えば、「１」）に設定される。
【００８２】
管理ブロック８０１がエクステント３０７の端点を含むとき、当該管理ブロックがエクステント３０７を含むか否かを示すフラグの値は「有効」に設定される。すなわち、このフラグの値が「有効」のとき、当該管理ブロック８０１には、エクステント３０７の始点及び終点のうち少なくとも一方が含まれる。
【００８３】
管理ブロック８０１に含まれる少なくとも一つのエクステント３０７に書き込み禁止属性が設定されている場合、当該管理ブロック８０１が書き込み禁止領域を含むか否かを示すフラグの値は「有効」に設定される。
【００８４】
管理ブロック８０１に含まれる少なくとも一つのエクステント３０７に読み出し禁止属性が設定されている場合、当該管理ブロック８０１が読み出し禁止領域を含むか否かを示すフラグの値は「有効」に設定される。
【００８５】
なお、管理ブロック８０１及び管理ブロック情報ビットマップ５０３を使用したアクセス制御については、後で詳細に説明する（図８及び図９参照）。
【００８６】
エクステントポインタ５０４は、各管理ブロック８０１内の先頭エクステント３０７へのポインタである。具体的には、管理ブロック８０１内に一つのエクステント３０７が存在する場合、そのエクステント３０７のエクステントＩＤ６０１であり、管理ブロック８０１内に複数のエクステント３０７が存在する場合、先頭のエクステント３０７のエクステントＩＤ６０１である。
【００８７】
なお、論理デバイス管理情報２２３（図２参照）が、ボリューム内エクステント管理情報３０５の一部又は全部を含んでもよい。
【００８８】
図６は、本発明の実施の形態のエクステント管理情報３０６の説明図である。
【００８９】
エクステント管理情報３０６は、エクステントＩＤ６０１、属性６０２、先頭外部ＬＢＡ６０３、エクステント長６０４、継続期間設定日時、継続期間６０６、エクステントポインタ６０７、シュレッド進捗率６０８及びシュレッドパターン６０９を含む。
【００９０】
なお、シュレッドとは、エクステント３０７内のデータを完全に消去するために、特定のパターンを繰り返し書き込む処理である。シュレッドを実行した後、シュレッドが実行される前に書き込まれていたデータを復元することはできない。
【００９１】
エクステントＩＤ６０１は、論理ボリューム２２６内のエクステント３０７の一意の識別子である。例えば、エクステントＩＤ６０１が２バイト（１６ビット）である場合、６５５３６通りのエクステントＩＤ６０１が存在し得る。すなわち、論理ボリューム２２６内には、最大６５５３６個のエクステント３０７が存在し得る。
【００９２】
属性６０２は、エクステント３０７に設定された属性を示すステータスフラグである。エクステント３０７に設定される属性には、例えば、書き込み禁止、読み出し禁止、シュレッド禁止及びシュレッド中がある。属性６０２の各ビットは、上記の各属性に対応し、各属性がエクステント３０７に設定されているか否かを示すフラグである。
【００９３】
書き込み禁止フラグ及び読み出し禁止フラグは、ユーザが、ホスト１１０Ａ、管理端末１３０、又は、保守端末１２２を操作して設定してもよい。あるいは、ホスト１１０Ａ又はストレージシステム１２０Ａが自動的にこれらのフラグを設定してもよい。
【００９４】
書き込み禁止フラグが「有効」に設定されると、エクステント３０７には書き込み禁止属性が設定される。その結果、当該エクステント３０７へのデータの書き込みが禁止される。読み出し禁止フラグが「有効」に設定されると、エクステント３０７には読み出し禁止属性が設定される。その結果、当該エクステント３０７からのデータの読み出しが禁止される。
【００９５】
これらのフラグと許容されるアクセスとの関係については、後で詳細に説明する。
【００９６】
シュレッド禁止フラグ及びシュレッド中フラグは、ストレージシステム１２０Ａによって自動的に設定される。
【００９７】
例えば、シュレッド禁止フラグは、通常は「有効」（すなわち、シュレッドが禁止されていることを示す）であり、書き込み禁止属性が解除された時点で「無効」となる。ユーザは、シュレッド禁止フラグが「無効」である間は、シュレッドを実行することができる。そして、シュレッドの実行が終了した時点で、シュレッド禁止フラグは再び「有効」となる。
【００９８】
シュレッド中フラグは、シュレッドの実行が開始した時点で「有効」となり、シュレッドの実行が終了した時点で「無効」となる。
【００９９】
先頭外部ＬＢＡ６０３は、エクステント３０７の先頭論理ブロックの外部ＬＢＡ（図３参照）である。
【０１００】
エクステント長６０４は、エクステントのサイズである。
【０１０１】
継続期間設定日時６０５は、書き込み禁止フラグ及び読み出し禁止フラグを「有効」に設定した日時である。
【０１０２】
継続期間６０６は、書き込み禁止フラグ及び読み出し禁止フラグの無効化が禁止される期間である。継続期間６０６は、これらのフラグが「有効」に設定された時点で設定される。
【０１０３】
例えば、ユーザが、あるエクステント３０７に対して、２００４年１０月１日０時０分に書き込み禁止フラグを「有効」に設定し、この書き込み禁止フラグの無効化が禁止される期間を「１年間」と設定する。このとき、当該エクステント３０７の継続期間設定日時６０５には、書き込み禁止フラグを「有効」に設定した日時として、「２００４年１０月１日０時０分」が書き込まれる。さらに、継続期間６０６には、書き込み禁止フラグの無効化が禁止される期間として、「１年間」が書き込まれる。この場合、当該エクステント３０７には、２００５年１０月１日０時０分まで書き込み禁止属性が設定される。すなわち、２００５年１０月１日０時０分までは、当該エクステント３０７にデータを書き込むことができない。
【０１０４】
エクステントポインタ６０７は、エクステント３０７を含む管理ブロック８０１に、そのエクステント３０７の次のエクステント３０７が含まれている場合、当該次のエクステント３０７のエクステントＩＤ６０１である。
【０１０５】
シュレッド進捗率６０８は、シュレッドの実行がどこまで進捗したかを示す値（％）である。
【０１０６】
シュレッドパターン６０９は、シュレッドの際に書き込まれるデータパターンである。図６の例では、シュレッドの際に、パターン「０ｘ００００００００」が書き込まれ、次に、パターン「０ｘＦＦＦＦＦＦＦＦ」が書き込まれ、次に、パターン「０ｘ００００００００」が再度書き込まれる。
【０１０７】
なお、論理デバイス管理情報２２３（図２参照）が、エクステント管理情報３０６の一部又は全部を含んでもよい。
【０１０８】
図７は、本発明の実施の形態のエクステント３０７に設定された属性と、当該エクステント３０７に許容されるアクセスとの対応の説明図である。
【０１０９】
エクステント管理情報３０６の属性６０２の書き込み禁止フラグが「０」（すなわち、無効）、かつ、読み出し禁止フラグが「０」のとき、書き込み及び読み出しが共に許容される通常モードである（７０１）。
【０１１０】
書き込み禁止フラグが「１」（すなわち、有効）、かつ、読み出し禁止フラグが「０」のとき、読み出しが許容され、書き込みが禁止されるリードオンリーモードである（７０２）。
【０１１１】
書き込み禁止フラグが「０」、かつ、読み出し禁止フラグが「１」のとき、書き込みが許容され、読み出しが禁止されるライトオンリーモードである（７０３）。
【０１１２】
書き込み禁止フラグが「１」、かつ、読み出し禁止フラグが「１」のとき、書き込み及び読み出しが共に禁止されるリードライト禁止モードである（７０４）。
【０１１３】
図８は、本発明の実施の形態の管理ブロックの説明図である。
【０１１４】
本実施の形態の論理ボリューム２２６の全体は、所定の大きさの管理ブロック８０１に分割される。管理ブロック８０１の大きさは、例えば、３２メガバイトである。
【０１１５】
一方、エクステント３０７の位置及び大きさは任意である。図８（Ａ）には、一つのエクステント３０７Ｃが複数の管理ブロック８０１に跨る場合を示す。また、図８（Ｂ）には、一つのエクステント３０７Ｄが一つの管理ブロック８０１に含まれる場合を示す。
【０１１６】
図８（Ａ）の例では、エクステント３０７Ｃは、管理ブロック８０１Ａの途中に始点があり、管理ブロック８０１Ｂ及び８０１Ｃの全体を占め、管理ブロック８０１Ｄの途中に終点がある。このとき、管理ブロック８０１Ａは、エクステント３０７Ｃの端点（始点）を含むため、端点管理ブロックと呼ばれる。管理ブロック８０１Ｂ及び８０１Ｃは、エクステント３０７Ｃの中間部分に相当するため、中間管理ブロックと呼ばれる。管理ブロック８０１Ｄは、エクステント３０７Ｃの端点（終点）を含むため、端点管理ブロックと呼ばれる。
【０１１７】
一方、図８（Ｂ）の例では、エクステント３０７Ｄは、管理ブロック８０１Ｆに含まれる。すなわち、管理ブロック８０１Ｆは、エクステント３０７Ｄの端点（始点及び終点）を含む。このため、管理ブロック８０１Ｆは、端点管理ブロックと呼ばれる。
【０１１８】
図８（Ａ）において、管理ブロック８０１Ｂ及び８０１Ｃは、全体にエクステント３０７Ｃが設定されている。このため、管理ブロック８０１Ｂ及び８０１Ｃには、新たなエクステント３０７を作成することができない。さらに、エクステント３０７Ｃに書き込み禁止属性が設定されている場合、管理ブロック８０１Ｂ及び８０１Ｃには、データを書き込むことができない。
【０１１９】
一方、図８（Ｂ）において、管理ブロック８０１Ｅ、８０１Ｇ及び８０１Ｈには、エクステント３０７が設定されていない。このため、管理ブロック８０１Ｅ、８０１Ｇ及び８０１Ｈには、新たなエクステントを作成することができる。また、データを書き込み又は読み出すこともできる。
【０１２０】
このように、中間管理ブロック８０１Ｂ及び８０１Ｃ、並びに、エクステント３０７を含まない管理ブロック８０１Ｅ、８０１Ｇ及び８０１Ｈについては、管理ブロック８０１ごとに、新たなエクステントの作成、データの書き込み又は読み出し等の処理の可否を判定することができる。その結果、これらの処理の可否の判定が簡略化される。
【０１２１】
一方、中間管理ブロック８０１Ｂ、８０１Ｃ及び８０１Ｆについては、これらの処理の可否を詳細に判定する必要がある。
【０１２２】
このような管理ブロック８０１を用いた処理の可否の判定について、図９を参照して詳細に説明する。
【０１２３】
図９は、管理ブロック８０１のステータスフラグと、処理の可否の判定との関係の説明図である。
【０１２４】
図９において、ステータスフラグ９０１は、ボリューム内エクステント管理情報３０５の管理ブロック情報ビットマップ５０３の内容である。具体的には、ステータスフラグ９０１は、管理ブロック８０１がエクステント３０７を含むか否かを示すフラグ（９０３）、管理ブロック８０１がエクステント３０７の端点を含むか否かを示すフラグ（９０４）、管理ブロック８０１が書き込み禁止領域を含むか否かを示すフラグ（９０５）、及び、管理ブロック８０１が読み出し禁止領域を含むか否かを示すフラグ（９０６）を含む。
【０１２５】
管理ブロック８０１がエクステント３０７を含むか否かを示すフラグ（９０３）の値が「１」であるとき、その管理ブロック８０１は、エクステント３０７を含む。他のフラグも同様の意味を有する。
【０１２６】
図９には、これら四つのフラグの値の全ての組み合わせを示す。ただし、エクステント３０７を含まない管理ブロック８０１は、エクステント３０７の端点、書き込み禁止領域及び読み出し禁止領域のいずれも含まないため、行９２６〜行９２８及び行９３３〜行９３６の組み合わせは、存在しない。
【０１２７】
処理可否判定９０２は、管理ブロック８０１に対して処理を実行してよいか否かの判定である。判定される処理は、エクステント３０７の新規作成（９０７）、データの書き込み（９１０）及びデータの読み出し（９１１）である。エクステント３０７の新規作成（９０７）については、さらに、判定の対象の管理ブロック８０１が、新規作成されるエクステント３０７（以下、「新規エクステント３０７」と記載する）の端点管理ブロックに該当する場合（９０８）と、新規エクステント３０７の中間管理ブロックに該当する場合（９０９）とがある。
【０１２８】
管理ブロック８０１がエクステント３０７を含まない場合、全ての処理は、「可（ＯＫ）」と判定される（９２５）。
【０１２９】
管理ブロック８０１がエクステント３０７を含み（９０３）、当該管理ブロック８０１が、新規エクステント３０７の中間管理ブロックに該当するとき（９０９）、当該新規エクステント３０７の新規作成は「不可（ＮＧ）」と判定される（９２１〜９２４、９２９〜９３２）。
【０１３０】
管理ブロック８０１がエクステント３０７を含むが（９０３）、当該エクステント３０７の端点を含まない場合（９０４）、当該管理ブロック８０１は、当該エクステント３０７の中間管理ブロックである。当該管理ブロック８０１が、新規エクステント３０７の端点管理ブロックに該当するとき（９０８）、当該新規エクステント３０７の新規作成は「不可」と判定される（９２１、９２４、９２９、９３２）。
【０１３１】
管理ブロック８０１がエクステント３０７を含み（９０３）、さらに、当該エクステント３０７の端点も含む場合（９０４）、当該管理ブロック８０１は、当該エクステント３０７の端点管理ブロックである。当該管理ブロック８０１が、新規エクステント３０７の端点管理ブロックに該当するときは（９０８）、当該新規エクステント３０７を新規作成することができる場合とできない場合とがある。このため、詳細判定が必要であると判定される（９２２、９２３、９３０、９３１）。
【０１３２】
具体的には、当該管理ブロック８０１内で当該エクステント３０７と当該新規エクステント３０７とが重複する場合は、当該新規エクステント３０７を新規作成することができない。一方、当該管理ブロック８０１内で当該エクステント３０７と当該新規エクステント３０７とが重複しない場合は、当該新規エクステント３０７を新規作成することができる。
【０１３３】
同様にして、管理ブロック８０１が書き込み禁止領域を含まない場合（９０５）、当該管理ブロック８０１へのデータの書き込みは「可」と判定される（９２１、９２２、９２９、９３０）。管理ブロック８０１が書き込み禁止領域を含み（９０５）、エクステント３０７の端点を含まない場合（９０４）、当該管理ブロック８０１へのデータの書き込みは「不可」と判定される（９２４、９３２）。管理ブロック８０１が書き込み禁止領域を含み（９０５）、さらに、エクステント３０７の端点も含む場合（９０４）、当該管理ブロック８０１にデータを書き込むことができる場合とできない場合とがある。具体的には、データが書き込まれる位置が、書き込み禁止領域内であるとき、当該データを書き込むことができない。このため、詳細判定が必要であると判定される（９２３、９３１）。
【０１３４】
管理ブロック８０１が読み出し禁止領域を含まない場合（９０６）、当該管理ブロック８０１からのデータの読み出しは「可」と判定される（９２１〜９２４）。管理ブロック８０１が読み出し禁止領域を含み（９０９）、エクステント３０７の端点を含まない場合（９０４）、当該管理ブロック８０１からのデータの読み出しは「不可」と判定される（９２９、９３２）。管理ブロック８０１が読み出し禁止領域を含み（９０６）、さらに、エクステント３０７の端点も含む場合（９０４）、当該管理ブロック８０１からデータを読み出すことができる場合とできない場合とがある。具体的には、読み出されるデータが、読み出し禁止領域内にあるとき、当該データを読み出すことができない。このため、詳細判定が必要であると判定される（９３０、９３１）。
【０１３５】
以上のような管理ブロック８０１を用いた処理可否判定の具体例を、図８及び図９を参照して説明する。
【０１３６】
図８（Ａ）において、エクステント３０７Ｃに書き込み禁止属性が設定され、読み出し禁止属性が設定されていない場合、管理ブロック８０１Ａは、エクステント３０７Ｃを含み、エクステント３０７Ｃの端点を含み、書き込み禁止領域を含み、読み出し禁止領域を含まない。すなわち、管理ブロック８０１Ａのステータスフラグ９０１は、図９の行９２３に相当する。
【０１３７】
管理ブロック８０１Ａにエクステント３０７を新規作成する場合、新規エクステント３０７の端点が管理ブロック８０１に含まれるときは、エクステント３０７Ｃと当該新規エクステント３０７とが重複するときと重複しないときとがある。したがって、詳細な判定が必要になる（９０８）。エクステント３０７Ｃと当該新規エクステント３０７とが重複しないとき、当該新規エクステント３０７を新規作成することができる。
【０１３８】
新規エクステント３０７の端点が管理ブロック８０１に含まれるときは、エクステント３０７Ｃと当該新規エクステント３０７とが必ず重複する。このため、当該新規エクステント３０７を新規作成することができない（９０９）。
【０１３９】
管理ブロック８０１Ａにデータを書き込む場合、データが書き込まれる位置がエクステント３０７Ｃの外側であれば、当該データを書き込むことができる。しかし、データが書き込まれる位置がエクステント３０７Ｃの内側であれば、当該データを書き込むことができない。このため、データが書き込まれる位置がエクステント３０７Ｃの外側であるか内側であるかを詳細に判定する必要がある（９１０）。
【０１４０】
管理ブロック８０１Ａには、読み出し禁止領域が含まれない。このため、管理ブロック８０１Ａ内の全てのデータを読み出すことができる（９１１）。
【０１４１】
図１０は、本発明の実施の形態のエクステント管理部２２２によって実行されるエクステント作成処理のフローチャートである。
【０１４２】
エクステント作成処理は、ホスト１１０Ａ又は管理端末１３０からエクステント３０７の新規作成を要求するコマンド（エクステント作成コマンド）を受信したときに、エクステント管理部２２２によって実行される。
【０１４３】
エクステント作成コマンドには、作成されるエクステント３０７のエクステントＩＤ６０１、先頭外部ＬＢＡ６０３及びエクステント長６０４、並びに、エクステント３０７が作成される対象の論理ボリューム２２６を識別する情報が含まれる。
【０１４４】
以下の図１０の説明において、エクステント作成コマンドに含まれるエクステントＩＤ６０１、先頭外部ＬＢＡ６０３及びエクステント長６０４を、それぞれ、当該エクステントＩＤ６０１、当該先頭外部ＬＢＡ６０３及び当該エクステント長６０４と記載する。また、エクステント作成コマンドによって指定されるエクステント３０７の作成対象の論理ボリューム２２６を、当該論理ボリューム２２６と記載する。
【０１４５】
エクステント作成コマンドを受信してエクステント作成処理が開始されると、エクステント管理部２２２は、他の機能によって当該論理ボリューム２２６を含む論理デバイス２２５へのデータの書き込みが禁止されているか否かを判定する（１００１）。他の機能によって当該論理デバイス２２５への書き込みが禁止されている場合とは、例えば、当該論理デバイス２２５全体に書き込み禁止属性が設定されている場合、当該論理ボリューム２２６全体に書き込み禁止属性が設定されている場合、又は、ストレージシステム１２０Ａ上で実行される他のプログラムによって当該論理デバイス２２５へのデータの書き込みが禁止されている場合である。
【０１４６】
ステップ１００１において、他の機能によって当該論理デバイス２２５又は当該論理ボリューム２２６へのデータの書き込みが禁止されていると判定された場合は、当該論理デバイス２２５のボリューム管理領域３０１を更新することができないため、エクステント３０７を新規に作成することができない。このため、エクステント作成処理は失敗する（１００６）。
【０１４７】
一方、ステップ１００１において、他の機能によって当該論理デバイス２２５及び当該論理ボリューム２２６へのデータの書き込みが禁止されていないと判定された場合は、エクステント３０７を新規に作成することができる。
【０１４８】
このため、次に、当該エクステントＩＤ６０１が使用されているか否かを判定する（１００２）。具体的には、エクステントＩＤビットマップ５０２を参照して、当該エクステントＩＤ６０１が使用されているか否かを判定する。
【０１４９】
ステップ１００２において、当該エクステントＩＤ６０１が使用されていると判定された場合は、当該エクステントＩＤを新規に作成されるエクステント３０７に使用することができない。このため、エクステント作成処理は失敗する（１００６）。
【０１５０】
一方、ステップ１００２において、当該エクステントＩＤ６０１が使用されていないと判定された場合は、当該エクステントＩＤを新規に作成されるエクステント３０７に使用することができる。
【０１５１】
このため、次に、新規に作成されるエクステント３０７の領域と、既に設定されているエクステント３０７の領域とが重複するか否かを判定する（１００３）。この判定の手順については、後で詳細に説明する（図１１〜図１４参照）。
【０１５２】
ステップ１００３において、新規に作成されるエクステント３０７の領域と、既に設定されているエクステント３０７の領域とが重複すると判定された場合、その領域にエクステント３０７を作成することができない。このため、エクステント作成処理は失敗する（１００６）。
【０１５３】
一方、ステップ１００３において、新規に作成されるエクステント３０７の領域と、既に設定されているエクステント３０７の領域とが重複しないと判定された場合、その領域にエクステント３０７を作成することができる。
【０１５４】
このため、次に、管理情報を作成及び更新する（１００４）。具体的には、新規に作成されるエクステント３０７に従って、ボリューム内エクステント管理情報３０５を更新し、エクステント管理情報３０６を新規に作成する。作成されたエクステント管理情報３０６は、ボリューム管理領域３０１に追加される。
【０１５５】
以上で、エクステント作成処理が成功し、作成されたエクステント３０７が論理デバイス２２５内に設定される（１００５）。このとき、エクステント管理部２２２は、エクステント作成処理の成功を、エクステント作成コマンドを発行したホスト１１０Ａ又は管理端末１３０に応答する。
【０１５６】
なお、エクステント作成処理に失敗した場合（１００６）、エクステント管理部２２２は、エクステント作成処理に失敗したこと（すなわち、エクステント３０７を作成しないこと）を、エクステント作成コマンドを発行したホスト１１０Ａ又は管理端末１３０に応答する。
【０１５７】
次に、ステップ１００３の判定の手順を、図１１から図１４を参照して説明する。
【０１５８】
エクステント管理部２２２は、新規に作成されるエクステント３０７を含む各管理ブロック８０１について、その管理ブロック８０１が新規に作成されるエクステント３０７の始点を含むか、終点を含むか、始点及び終点の両方を含むか、又は、始点及び終点のいずれも含まないかを判定する。
【０１５９】
管理ブロック８０１が新規に作成されるエクステント３０７の始点を含む場合、図１１の処理を実行する。
【０１６０】
管理ブロック８０１が新規に作成されるエクステント３０７の始点及び終点のいずれも含まない場合、図１２の処理を実行する。
【０１６１】
管理ブロック８０１が新規に作成されるエクステント３０７の終点を含む場合、図１３の処理を実行する。
【０１６２】
管理ブロック８０１が新規に作成されるエクステント３０７の始点及び終点の両方を含む場合、図１４の処理を実行する。
【０１６３】
新規に作成されるエクステント３０７を含む全ての管理ブロック８０１について、上記の処理が終了すると、これらの処理の結果を参照する。そして、これらの管理ブロック８０１の一つでも「重複する」と判定された場合、ステップ１００３において、新規に作成されるエクステント３０７の領域と、既に設定されているエクステント３０７の領域とが重複すると判定される。
【０１６４】
以下、図１１から図１４の処理について、詳細に説明する。
【０１６５】
図１１は、本発明の実施の形態の管理ブロック８０１が新規に作成されるエクステント３０７の始点を含む場合に実行される処理のフローチャートである。
【０１６６】
図１１の処理が開始すると、最初に、判定の対象の管理ブロック８０１が、既に設定されているエクステント３０７を含むか否かを判定する（１１０１）。具体的には、管理ブロック情報ビットマップ５０３を参照する。当該管理ブロック８０１がエクステント３０７を含むか否かを示すステータスフラグが「１」（すなわち、有効）である場合、判定の対象の管理ブロック８０１が、既に設定されているエクステント３０７を含むと判定する。
【０１６７】
判定の対象の管理ブロック８０１が、既に設定されているエクステント３０７を含まないと判定された場合、その管理ブロック８０１で新規に作成されるエクステント３０７の領域と既に設定されているエクステント３０７の領域とが重複する場合がない。このため、「重複なし」と判定して、処理を終了する（１１０５）。
【０１６８】
一方、判定の対象の管理ブロック８０１が、既に設定されているエクステント３０７を含むと判定された場合、その管理ブロック８０１で新規に作成されるエクステント３０７の領域と既に設定されているエクステント３０７の領域とが重複する場合がある。
【０１６９】
このため、次に、判定の対象の管理ブロック８０１が、既に設定されているエクステント３０７の端点を含むか否かを判定する（１１０２）。具体的には、管理ブロック情報ビットマップ５０３を参照する。当該管理ブロック８０１がエクステント３０７の端点を含むか否かを示すステータスフラグが「１」（すなわち、有効）である場合、判定の対象の管理ブロック８０１が、既に設定されているエクステント３０７の端点を含むと判定する。
【０１７０】
判定の対象の管理ブロック８０１が、既に設定されているエクステント３０７の端点を含まないと判定された場合、その管理ブロック８０１の全体が、一つのエクステント３０７によって占められている。したがって、その管理ブロック８０１で新規に作成されるエクステント３０７の領域と既に設定されているエクステント３０７の領域とは、必ず重複する。このため、「重複あり」と判定して、処理を終了する（１１０６）。
【０１７１】
一方、判定の対象の管理ブロック８０１が、既に設定されているエクステント３０７の端点を含むと判定された場合、その管理ブロック８０１で新規に作成されるエクステント３０７の領域と既に設定されているエクステント３０７の領域とが重複する場合がある。
【０１７２】
このため、次に、判定の対象の管理ブロック８０１に既に設定されている末尾エクステント３０７の情報を取得する（１１０３）。
【０１７３】
ここで、末尾エクステント３０７とは、判定の対象の管理ブロック８０１に既に設定されているエクステント３０７のうち、最も後ろにあるエクステント３０７である。一方、判定の対象の管理ブロック８０１に既に設定されているエクステント３０７のうち、最も後ろにあるエクステント３０７は、先頭エクステント３０７である。判定の対象の管理ブロック８０１に既に設定されているエクステント３０７が一つのみである場合は、そのエクステント３０７が、先頭エクステントであると同時に、末尾エクステントである。
【０１７４】
具体的には、エクステントポインタ５０４及び６０７を参照して、その管理ブロック８０１の末尾エクステント３０７のエクステントＩＤ６０１を取得し、さらに、末尾エクステント３０７の先頭外部ＬＢＡ６０３及びエクステント長６０４から、末尾エクステント３０７の終点のＬＢＡを取得する。
【０１７５】
次に、新規に作成されるエクステント３０７の始点が、末尾エクステント３０７より後ろにあるか否かを判定する（１１０４）。具体的には、新規に作成されるエクステント３０７の先頭外部ＬＢＡ６０３が、末尾エクステント３０７の終点のＬＢＡより後ろにあるか否かを判定する。
【０１７６】
新規に作成されるエクステント３０７の始点が、末尾エクステント３０７より後ろにあると判定された場合、判定の対象の管理ブロック８０１で新規に作成されるエクステント３０７の領域と既に設定されているエクステント３０７の領域とが重複しない。このため、「重複なし」と判定して、処理を終了する（１１０５）。
【０１７７】
一方、新規に作成されるエクステント３０７の始点が、末尾エクステント３０７より後ろにないと判定された場合、判定の対象の管理ブロック８０１で新規に作成されるエクステント３０７の領域と既に設定されているエクステント３０７の領域とが重複する。このため、「重複あり」と判定して、処理を終了する（１１０６）。
【０１７８】
図１２は、本発明の実施の形態の管理ブロック８０１が新規に作成されるエクステント３０７の始点及び終点のいずれも含まない場合に実行される処理のフローチャートである。
【０１７９】
なお、図１２において、図１１と共通する部分については、詳細な説明を省略する。
【０１８０】
図１２の処理が開始すると、最初に、判定の対象の管理ブロック８０１が、既に設定されているエクステント３０７を含むか否かを判定する（１２０１）。
【０１８１】
判定の対象の管理ブロック８０１が、既に設定されているエクステント３０７を含まないと判定された場合、その管理ブロック８０１で新規に作成されるエクステント３０７の領域と既に設定されているエクステント３０７の領域とが重複する場合がない。このため、「重複なし」と判定して、処理を終了する（１２０３）。
【０１８２】
一方、判定の対象の管理ブロック８０１が、既に設定されているエクステント３０７を含むと判定された場合、その管理ブロック８０１で新規に作成されるエクステント３０７の領域と既に設定されているエクステント３０７の領域とが必ず重複する。このため、「重複あり」と判定して、処理を終了する（１２０２）。
【０１８３】
図１３は、本発明の実施の形態の管理ブロック８０１が新規に作成されるエクステント３０７の終点を含む場合に実行される処理のフローチャートである。
【０１８４】
なお、図１３において、図１１から図１２までと共通する部分については、詳細な説明を省略する。
【０１８５】
図１３の処理が開始すると、最初に、判定の対象の管理ブロック８０１が、既に設定されているエクステント３０７を含むか否かを判定する（１３０１）。
【０１８６】
判定の対象の管理ブロック８０１が、既に設定されているエクステント３０７を含まないと判定された場合、その管理ブロック８０１で新規に作成されるエクステント３０７の領域と既に設定されているエクステント３０７の領域とが重複する場合がない。このため、「重複なし」と判定して、処理を終了する（１３０５）。
【０１８７】
一方、判定の対象の管理ブロック８０１が、既に設定されているエクステント３０７を含むと判定された場合、その管理ブロック８０１で新規に作成されるエクステント３０７の領域と既に設定されているエクステント３０７の領域とが重複する場合がある。
【０１８８】
このため、次に、判定の対象の管理ブロック８０１が、既に設定されているエクステント３０７の端点を含むか否かを判定する（１３０２）。
【０１８９】
判定の対象の管理ブロック８０１が、既に設定されているエクステント３０７の端点を含まないと判定された場合、その管理ブロック８０１の全体が、一つのエクステント３０７によって占められている。したがって、その管理ブロック８０１で新規に作成されるエクステント３０７の領域と既に設定されているエクステント３０７の領域とは、必ず重複する。このため、「重複あり」と判定して、処理を終了する（１３０６）。
【０１９０】
一方、判定の対象の管理ブロック８０１が、既に設定されているエクステント３０７の端点を含むと判定された場合、その管理ブロック８０１で新規に作成されるエクステント３０７の領域と既に設定されているエクステント３０７の領域とが重複する場合がある。
【０１９１】
このため、次に、判定の対象の管理ブロック８０１に既に設定されている先頭エクステント３０７の情報を取得する（１３０３）。具体的には、エクステントポインタ５０４を参照して、その管理ブロック８０１の先頭のエクステント３０７のエクステントＩＤ６０１を取得し、さらに、先頭エクステント３０７の先頭外部ＬＢＡ６０３を取得する。
【０１９２】
次に、新規に作成されるエクステント３０７の終点が、先頭エクステント３０７より前にあるか否かを判定する（１３０４）。具体的には、新規に作成されるエクステント３０７の末尾のＬＢＡが、先頭エクステント３０７の先頭外部ＬＢＡ６０３より前にあるか否かを判定する。新規に作成されるエクステント３０７の末尾のＬＢＡは、そのエクステント３０７の先頭外部ＬＢＡ６０３及びエクステント長６０４から取得される。
【０１９３】
新規に作成されるエクステント３０７の終点が、先頭エクステント３０７より前にあると判定された場合、判定の対象の管理ブロック８０１で新規に作成されるエクステント３０７の領域と既に設定されているエクステント３０７の領域とが重複しない。このため、「重複なし」と判定して、処理を終了する（１３０５）。
【０１９４】
一方、新規に作成されるエクステント３０７の終点が、先頭エクステント３０７より前にないと判定された場合、判定の対象の管理ブロック８０１で新規に作成されるエクステント３０７の領域と既に設定されているエクステント３０７の領域とが重複する。このため、「重複あり」と判定して、処理を終了する（１３０６）。
【０１９５】
図１４は、本発明の実施の形態の管理ブロック８０１が新規に作成されるエクステント３０７の始点及び終点を含む場合に実行される処理のフローチャートである。
【０１９６】
なお、図１４において、図１１から図１３までと共通する部分については、詳細な説明を省略する。
【０１９７】
図１４の処理が開始すると、最初に、判定の対象の管理ブロック８０１が、既に設定されているエクステント３０７を含むか否かを判定する（１４０１）。
【０１９８】
判定の対象の管理ブロック８０１が、既に設定されているエクステント３０７を含まないと判定された場合、その管理ブロック８０１で新規に作成されるエクステント３０７の領域と既に設定されているエクステント３０７の領域とが重複する場合がない。このため、「重複なし」と判定して、処理を終了する（１４０８）。
【０１９９】
一方、判定の対象の管理ブロック８０１が、既に設定されているエクステント３０７を含むと判定された場合、その管理ブロック８０１で新規に作成されるエクステント３０７の領域と既に設定されているエクステント３０７の領域とが重複する場合がある。
【０２００】
このため、次に、判定の対象の管理ブロック８０１が、既に設定されているエクステント３０７の端点を含むか否かを判定する（１４０２）。
【０２０１】
判定の対象の管理ブロック８０１が、既に設定されているエクステント３０７の端点を含まないと判定された場合、その管理ブロック８０１の全体が、一つのエクステント３０７によって占められている。したがって、その管理ブロック８０１で新規に作成されるエクステント３０７の領域と既に設定されているエクステント３０７の領域とは、必ず重複する。このため、「重複あり」と判定して、処理を終了する（１４０７）。
【０２０２】
一方、判定の対象の管理ブロック８０１が、既に設定されているエクステント３０７の端点を含むと判定された場合、その管理ブロック８０１で新規に作成されるエクステント３０７の領域と既に設定されているエクステント３０７の領域とが重複する場合がある。
【０２０３】
このため、次に、判定の対象の管理ブロック８０１に既に設定されている先頭エクステント３０７の情報を取得する（１４０３）。具体的には、先頭エクステント３０７の先頭外部ＬＢＡ６０３及び末尾のＬＢＡを取得する。
【０２０４】
次に、新規に作成されるエクステント３０７の領域と、先頭エクステント３０７の領域とが重複するか否かを判定する（１４０４）。具体的には、ステップ１４０３で取得した先頭エクステント３０７の先頭外部ＬＢＡ６０３から末尾のＬＢＡまでの範囲と、新規に作成されるエクステント３０７の領域とが重複するか否かを判定する。
【０２０５】
新規に作成されるエクステント３０７の領域と、先頭エクステント３０７の領域とが重複すると判定された場合は、判定の対象の管理ブロック８０１で新規に作成されるエクステント３０７の領域と既に設定されているエクステント３０７の領域とが重複する。このため、「重複あり」と判定して、処理を終了する（１４０７）。
【０２０６】
一方、新規に作成されるエクステント３０７の領域と、先頭エクステント３０７の領域とが重複しないと判定された場合は、判定の対象の管理ブロック８０１で、新規に作成されるエクステント３０７の領域と、先頭エクステント３０７以外の既に設定されているエクステント３０７の領域とが重複する場合がある。
【０２０７】
このため、次に、新規に作成されるエクステント３０７が、ステップ１４０４で判定された既に設定されているエクステント３０７の後ろにあるか否かを判定する（１４０５）。
【０２０８】
新規に作成されるエクステント３０７が、ステップ１４０４で判定された既に設定されているエクステント３０７の後ろにないと判定された場合、その管理ブロック８０１で新規に作成されるエクステント３０７の領域と既に設定されているエクステント３０７の領域とが重複する場合がない。このため、「重複なし」と判定して、処理を終了する（１４０８）。
【０２０９】
一方、新規に作成されるエクステント３０７が、ステップ１４０４で判定された既に設定されているエクステント３０７の後ろにあると判定された場合、判定の対象の管理ブロック８０１で、新規に作成されるエクステント３０７の領域と、ステップ１４０４の判定の対象のエクステント３０７以外の既に設定されているエクステント３０７の領域とが重複する場合がある。
【０２１０】
このため、次に、管理ブロック８０１内に既に設定されている次のエクステント３０７の情報を取得する（１４０６）。具体的には、ステップ１４０４の判定の対象の既に設定されているエクステント３０７のエクステントポインタ６０７を参照して、そのエクステント３０７の次のエクステント３０７のエクステントＩＤ６０１を取得する。さらに、そのエクステントＩＤ６０１に対応する先頭外部ＬＢＡ６０３及び末尾のＬＢＡの情報を取得する。そして、ステップ１４０６で取得した次のエクステント３０７の領域と新規に作成されるエクステント３０７の領域とが重複するか否かを判定する（１４０４）。
【０２１１】
ステップ１４０６において、次のエクステント３０７がない場合、その管理ブロック８０１で新規に作成されるエクステント３０７の領域と既に設定されているエクステント３０７の領域とが重複する場合がない。このため、「重複なし」と判定して、処理を終了する（１４０８）。
【０２１２】
図１５は、本発明の実施の形態のエクステント管理部２２２によって実行されるアクセス制御属性設定処理のフローチャートである。
【０２１３】
図１５において、図１０から図１４までと共通する部分については、詳細な説明を省略する。
【０２１４】
アクセス制御属性には、書き込み禁止属性及び読み出し禁止属性が含まれる。
【０２１５】
アクセス制御属性の設定には、アクセス制御属性の新規設定、アクセス制御属性の解除、及び、既に設定されているアクセス制御属性の継続期間の変更が含まれる。ただし、図１５の処理は、アクセス制御属性の新規設定及び既に設定されているアクセス制御属性の継続期間の変更のために実行される。アクセス制御属性の解除のために実行される処理は、図１６で説明する。
【０２１６】
アクセス制御属性設定処理は、ホスト１１０Ａ又は管理端末１３０からエクステント３０７のアクセス制御属性の設定を要求するコマンド（アクセス制御属性設定コマンド）を受信したときに、エクステント管理部２２２によって実行される。
【０２１７】
アクセス制御属性設定コマンドには、設定対象の論理ボリューム２２６の識別子、設定対象のエクステント３０７のエクステントＩＤ６０１、設定されるアクセス制御属性及び継続期間６０６が含まれる。
【０２１８】
アクセス制御属性設定コマンドを受信してアクセス制御属性設定処理が開始されると、エクステント管理部２２２は、他の機能によって設定対象のエクステント３０７を含む論理デバイス２２５又は論理ボリューム２２６へのデータの書き込みが禁止されているか否かを判定する（１５０１）。
【０２１９】
ステップ１５０１において、他の機能によって当該論理デバイス２２５又は当該論理ボリューム２２６へのデータの書き込みが禁止されていると判定された場合は、当該論理デバイス２２５のボリューム管理領域３０１を更新することができないため、アクセス制御属性を設定することができない。このため、アクセス制御属性設定処理は失敗する（１５０８）。
【０２２０】
一方、ステップ１５０１において、他の機能によって当該論理デバイス２２５及び当該論理ボリューム２２６へのデータの書き込みが禁止されていないと判定された場合は、当該論理デバイス２２５のボリューム管理領域３０１を更新することができる。
【０２２１】
このため、次に、設定対象のエクステント３０７のエクステントＩＤ６０１が使用されているか否かを判定する（１５０２）。
【０２２２】
ステップ１５０２において、エクステントＩＤ６０１が使用されていないと判定された場合、設定対象のエクステント３０７が存在しない。このため、アクセス制御属性設定処理は失敗する（１５０８）。
【０２２３】
一方、ステップ１５０２において、エクステントＩＤ６０１が使用されていると判定された場合、設定対象のエクステント３０７が存在するため、アクセス制御属性を設定することができる。
【０２２４】
このため、次に、設定対象のエクステント３０７の属性６０２及び継続期間６０６を参照して、設定対象のエクステント３０７に既に設定されているアクセス制御属性が「無効」であるか否か、及び、継続期間が０であるか否かを判定する（１５０３）。
【０２２５】
例えば、書き込み禁止属性を設定する場合、設定対象のエクステント３０７に既に設定されている書き込み禁止属性が「無効」（すなわち、書き込み禁止属性が設定されていない）であるか、又は、既に設定されている書き込み禁止属性の継続期間が「０」である場合、その設定対象のエクステント３０７に書き込み禁止属性を設定することができる。このため、ステップ１５０４に進む。
【０２２６】
一方、設定対象のエクステント３０７に既に設定されている書き込み禁止属性が「有効」であり、かつ、既に設定されている書き込み禁止属性の継続期間６０６が「０」でない場合、その設定対象のエクステント３０７に書き込み禁止属性を設定することができない場合がある。具体的には、既に設定されている書き込み禁止属性の継続期間６０６を延長することは許容されるが、短縮することは許容されない。
【０２２７】
このため、次に、設定する書き込み禁止属性の継続期間６０６と、既に設定されている書き込み禁止属性の継続期間６０６とを比較し、継続期間６０６を設定することによって継続期間６０６が延長されるか否かを判定する（１５０７）。
【０２２８】
継続期間６０６が延長されないと判定された場合、アクセス制御属性設定処理は失敗する（１５０８）。継続期間６０６を短縮することは許容されないためである。
【０２２９】
一方、継続期間６０６が延長されると判定された場合、ステップ１５０５に進む。
【０２３０】
なお、読み出し禁止属性を設定する場合は、ステップ１５０３及びステップ１５０７において、読み出し禁止属性について上記と同様の手順を実行する。
【０２３１】
ステップ１５０４において、現在時刻を継続期間設定日時６０５として取得する。
【０２３２】
次に、管理情報を更新する（１５０５）具体的には、アクセス制御属性設定コマンドに含まれる値及び上記の手順で取得した値に従って、管理ブロック情報ビットマップ５０３、属性６０２、継続期間設定日時６０５、継続期間６０６を更新する。
【０２３３】
以上で、アクセス制御属性設定処理が成功して終了する（１５０６）。このとき、エクステント管理部２２２は、成功したことを、アクセス制御属性設定コマンドを発行したホスト１１０Ａ又は管理端末１３０に応答する。
【０２３４】
一方、アクセス制御属性設定処理が失敗した場合（１５０８）、エクステント管理部２２２は、失敗したことを、アクセス制御属性設定コマンドを発行したホスト１１０Ａ又は管理端末１３０に応答する。
【０２３５】
図１６は、本発明の実施の形態のエクステント管理部２２２によって実行されるアクセス制御属性解除処理のフローチャートである。
【０２３６】
図１６において、図１０から図１５までと共通する部分については、詳細な説明を省略する。
【０２３７】
アクセス制御属性解除処理とは、エクステント３０７に設定されているアクセス制御属性を解除する（すなわち、「無効」にする）処理である。
【０２３８】
アクセス制御属性解除処理は、ホスト１１０Ａ又は管理端末１３０からエクステント３０７に設定されているアクセス制御属性の解除を要求するアクセス制御属性設定コマンドを受信したときに、エクステント管理部２２２によって実行される。
【０２３９】
アクセス制御属性設定コマンドを受信してアクセス制御属性解除処理が開始されると、エクステント管理部２２２は、他の機能によって解除対象のエクステント３０７を含む論理デバイス２２５又は論理ボリューム２２６へのデータの書き込みが禁止されているか否かを判定する（１６０１）。
【０２４０】
ステップ１６０１において、他の機能によって当該論理デバイス２２５又は当該論理ボリューム２２６へのデータの書き込みが禁止されていると判定された場合は、当該論理デバイス２２５のボリューム管理領域３０１を更新することができないため、アクセス制御属性を解除することができない。このため、アクセス制御属性解除処理は失敗する（１６０８）。
【０２４１】
一方、ステップ１６０１において、他の機能によって当該論理デバイス２２５及び当該論理ボリューム２２６へのデータの書き込みが禁止されていないと判定された場合は、当該論理デバイス２２５のボリューム管理領域３０１を更新することができる。
【０２４２】
このため、次に、解除対象のエクステント３０７のエクステントＩＤ６０１が使用されているか否かを判定する（１６０２）。
【０２４３】
ステップ１６０２において、エクステントＩＤ６０１が使用されていないと判定された場合、解除対象のエクステント３０７が存在しない。このため、アクセス制御属性解除処理は失敗する（１６０８）。
【０２４４】
一方、ステップ１６０２において、エクステントＩＤ６０１が使用されていると判定された場合、解除対象のエクステント３０７が存在するため、アクセス制御属性を解除することができる。
【０２４５】
このため、次に、設定対象のエクステント３０７に設定されているアクセス制御属性が「有効」であるか否かを判定する（１６０３）。
【０２４６】
例えば、書き込み禁止属性を解除する場合、解除対象のエクステント３０７に設定されている書き込み禁止属性が「無効」である場合、その解除対象のエクステント３０７の書き込み禁止属性は既に解除されているため、あらためて解除することができない。このため、アクセス制御属性解除処理は失敗する（１６０８）。
【０２４７】
一方、設定対象のエクステント３０７に設定されている書き込み禁止属性が「有効」である場合、その書き込み禁止属性を解除することができない場合がある。具体的には、設定されている書き込み禁止属性の継続期間６０６を経過した後でその書き込み禁止属性を解除することは許容されるが、経過する前に短縮することは許容されない。
【０２４８】
このため、次に、継続期間６０６を経過した否かを判定する（１６０４）。継続期間６０６を経過していない場合、アクセス制御属性解除処理は失敗する（１６０８）。
【０２４９】
一方、継続期間６０６を経過した場合、次に、ステップ１６０５に進む。
【０２５０】
なお、読み出し禁止属性を解除する場合は、ステップ１６０３及びステップ１６０４において、読み出し禁止属性について上記と同様の手順を実行する。
【０２５１】
ステップ１６０５では、アクセス制御属性を無効化（すなわち、解除）する。具体的には、属性６０２の対応するステータスフラグを「無効」にする。さらに、対応する継続期間設定日時６０５及び継続期間６０６をクリアする。さらに、シュレッド禁止属性を無効化する。
【０２５２】
次に、管理情報を更新する（１６０６）具体的には、アクセス制御属性設定コマンドに含まれる値及び上記の手順で取得した値に従って、管理ブロック情報ビットマップ５０３、属性６０２、継続期間設定日時６０５、継続期間６０６を更新する。
【０２５３】
以上で、アクセス制御属性解除処理が成功して終了する（１６０７）。このとき、エクステント管理部２２２は、成功したことを、アクセス制御属性設定コマンドを発行したホスト１１０Ａ又は管理端末１３０に応答する。
【０２５４】
一方、アクセス制御属性解除処理が失敗した場合（１６０８）、エクステント管理部２２２は、失敗したことを、アクセス制御属性設定コマンドを発行したホスト１１０Ａ又は管理端末１３０に応答する。
【０２５５】
図１７は、本発明の実施の形態のエクステント管理部２２２によって実行されるエクステント情報参照処理のフローチャートである。
【０２５６】
図１７において、図１０から図１６までと共通する部分については、詳細な説明を省略する。
【０２５７】
エクステント情報参照処理とは、特定のエクステント３０７について、エクステント管理情報３０６を参照する処理である。
【０２５８】
エクステント情報参照処理は、ホスト１１０Ａ又は管理端末１３０からエクステント３０７のエクステント管理情報３０６の参照を要求するコマンド（エクステント情報参照コマンド）を受信したときに、エクステント管理部２２２によって実行される。
【０２５９】
エクステント情報参照コマンドには、参照対象のエクステント３０７を含む論理ボリューム２２６の識別子、及び、参照対象のエクステント３０７のエクステントＩＤ６０１が含まれる。
【０２６０】
エクステント情報参照コマンドを受信してエクステント情報参照処理が開始されると、エクステント管理部２２２は、他の機能によって参照対象のエクステント３０７を含む論理デバイス２２５又は論理ボリューム２２６からのデータの読み出しが禁止されているか否かを判定する（１７０１）。
【０２６１】
ステップ１７０１において、他の機能によって当該論理デバイス２２５又は当該論理ボリューム２２６からのデータの読み出しが禁止されていると判定された場合は、当該論理デバイス２２５のボリューム管理領域３０１を参照することができない。このため、エクステント情報参照処理は失敗する（１７０６）。
【０２６２】
一方、ステップ１７０１において、他の機能によって当該論理デバイス２２５及び当該論理ボリューム２２６からのデータの読み出しが禁止されていないと判定された場合は、当該論理デバイス２２５のボリューム管理領域３０１を参照することができる。
【０２６３】
このため、次に、参照対象のエクステント３０７のエクステントＩＤ６０１が使用されているか否かを判定する（１７０２）。
【０２６４】
ステップ１７０２において、エクステントＩＤ６０１が使用されていないと判定された場合、参照対象のエクステント３０７が存在しない。このため、エクステント情報参照処理は失敗する（１７０６）。
【０２６５】
一方、ステップ１７０２において、エクステントＩＤ６０１が使用されていると判定された場合、参照対象のエクステント３０７が存在するため、エクステント管理情報３０６を参照することができる。
【０２６６】
このため、次に、エクステント管理情報３０６を参照し、属性変更可否フラグを作成する（１７０３）。属性変更可否フラグとは、参照対象のエクステント３０７に設定されたアクセス制御属性を変更することができるか否かを示すフラグである。具体的には、参照対象のエクステント３０７に設定されたアクセス制御属性の継続期間６０６を経過している場合、属性変更可否フラグは「有効」（すなわち、アクセス制御属性を変更することができる）に設定される。一方、継続期間６０６を経過していない場合、属性変更可否フラグは「無効」（すなわち、アクセス制御属性を変更することができない）に設定される。
【０２６７】
次に、参照したエクステント管理情報３０６の内容及びステップ１７０３で作成した属性変更可否フラグを、エクステント情報参照コマンドを発行したホスト１１０Ａ又は管理端末１３０に応答する（１７０４）。
【０２６８】
以上で、エクステント情報参照処理が成功して終了する（１７０５）。このとき、エクステント管理部２２２は、成功したことを、エクステント情報参照コマンドを発行したホスト１１０Ａ又は管理端末１３０に応答する。
【０２６９】
一方、エクステント情報参照処理が失敗した場合（１７０６）、エクステント管理部２２２は、失敗したことを、エクステント情報参照コマンドを発行したホスト１１０Ａ又は管理端末１３０に応答する。
【０２７０】
図１８は、本発明の実施の形態のエクステント管理部２２２によって実行されるシュレッド処理のフローチャートである。
【０２７１】
図１８において、図１０から図１７までと共通する部分については、詳細な説明を省略する。
【０２７２】
シュレッド処理とは、特定のエクステント３０７をシュレッドする処理である。
【０２７３】
シュレッド処理は、ホスト１１０Ａ又は管理端末１３０からエクステント３０７のシュレッドを要求するコマンド（シュレッドコマンド）を受信したときに、エクステント管理部２２２によって実行される。
【０２７４】
シュレッドコマンドには、シュレッド対象のエクステント３０７を含む論理ボリューム２２６の識別子、シュレッド対象のエクステント３０７のエクステントＩＤ６０１、及び、シュレッドパターンが含まれる。
【０２７５】
シュレッドコマンドを受信してシュレッド処理が開始すると、エクステント管理部２２２は、他の機能によってシュレッド対象のエクステント３０７を含む論理デバイス２２５又は論理ボリューム２２６へのデータの書き込みが禁止されているか否かを判定する（１８０１）。
【０２７６】
ステップ１８０１において、他の機能によって当該論理デバイス２２５又は当該論理ボリューム２２６へのデータの書き込みが禁止されていると判定された場合、シュレッド対象のエクステント３０７にシュレッドパターンを書き込むことができない。このため、シュレッド処理は失敗する（１８０８）。
【０２７７】
一方、ステップ１８０１において、他の機能によって当該論理デバイス２２５及び当該論理ボリューム２２６へのデータの書き込みが禁止されていないと判定された場合、次に、シュレッド対象のエクステント３０７のエクステントＩＤ６０１が使用されているか否かを判定する（１８０２）。
【０２７８】
ステップ１８０２において、エクステントＩＤ６０１が使用されていないと判定された場合、シュレッド対象のエクステント３０７が存在しない。このため、シュレッド処理は失敗する（１８０８）。
【０２７９】
一方、ステップ１８０２において、エクステントＩＤ６０１が使用されていると判定された場合、シュレッド対象のエクステント３０７が存在する。
【０２８０】
このため、次に、シュレッド対象のエクステント３０７の属性６０２を参照して、書き込み禁止属性及びシュレッド禁止属性がいずれも「無効」であるか否かを判定する（１８０３）。
【０２８１】
ステップ１８０３において、書き込み禁止属性及びシュレッド禁止属性の少なくとも一方が「無効」でないと判定された場合、シュレッド対象のエクステント３０７にシュレッドパターンを書き込むことができない。このため、シュレッド処理は失敗する（１８０８）。
【０２８２】
一方、ステップ１８０３において、書き込み禁止属性及びシュレッド禁止属性がいずれも「無効」であると判定された場合、シュレッド対象のエクステント３０７にシュレッドパターンを書き込むことができる。
【０２８３】
このため、次に、シュレッドを実行する（１８０４）。具体的には、シュレッド対象のエクステント３０７に、シュレッドパターンを所定の回数書き込む。
【０２８４】
なお、シュレッドの実行中は、シュレッド対象のエクステント３０７に対応する管理ブロック８０１について、管理ブロック情報ビットマップ５０３の書き込み禁止領域を含むか否かを示すフラグ、及び、読み出し禁止領域を含むか否かを示すフラグの値を、共に「有効」とする。
【０２８５】
シュレッドの実行が終了すると、各管理ブロック８０１について、シュレッド対象でないエクステント３０７であって、かつ、書き込みが禁止されているエクステント３０７が含まれているか否かを確認する。このようなエクステント３０７が含まれていない場合、書き込み禁止領域を含むか否かを示すフラグを「無効」にする。同様にして、各管理ブロック８０１について、シュレッド対象でないエクステント３０７であって、かつ、読み出しが禁止されているエクステント３０７が含まれているか否かを確認する。このようなエクステント３０７が含まれていない場合、読み出し禁止領域を含むか否かを示すフラグを「無効」にする。
【０２８６】
次に、シュレッド対象のエクステント３０７のシュレッド禁止属性を「有効」に更新する（１８０５）。その結果、以後、シュレッド禁止属性が「無効」とされるまで、当該エクステント３０７のシュレッドが禁止される。
【０２８７】
次に、管理情報を更新する（１８０６）。具体的には、エクステント管理情報３０６の属性６０２に、ステップ１８０５の更新を反映する。
【０２８８】
以上で、シュレッド処理が成功して終了する（１８０７）。このとき、エクステント管理部２２２は、成功したことを、シュレッドコマンドを発行したホスト１１０Ａ又は管理端末１３０に応答する。
【０２８９】
一方、シュレッド処理が失敗した場合（１８０８）、エクステント管理部２２２は、失敗したことを、シュレッドコマンドを発行したホスト１１０Ａ又は管理端末１３０に応答する。
【０２９０】
図１９は、本発明の実施の形態のエクステント管理部２２２によって実行されるエクステント削除処理のフローチャートである。
【０２９１】
図１９において、図１０から図１８までと共通する部分については、詳細な説明を省略する。
【０２９２】
エクステント削除処理とは、設定されている特定のエクステント３０７を削除する処理である。エクステント３０７が削除されても、そのエクステント３０７に格納されていたデータは削除されない。しかし、そのエクステント３０７に設定されていたアクセス制御属性は全て失われる。このため、書き込み禁止属性及び読み出し禁止属性の少なくとも一方が設定されているエクステント３０７の削除は禁止される。
【０２９３】
エクステント削除処理は、ホスト１１０Ａ又は管理端末１３０からエクステント３０７の削除を要求するコマンド（エクステント削除コマンド）を受信したときに、エクステント管理部２２２によって実行される。
【０２９４】
エクステント削除コマンドには、削除対象のエクステント３０７を含む論理ボリューム２２６の識別子、及び、削除対象のエクステント３０７のエクステントＩＤ６０１が含まれる。
【０２９５】
エクステント削除コマンドを受信してエクステント削除処理が開始されると、エクステント管理部２２２は、他の機能によって削除対象のエクステント３０７を含む論理デバイス２２５又は論理ボリューム２２６へのデータの書き込みが禁止されているか否かを判定する（１９０１）。
【０２９６】
ステップ１９０１において、他の機能によって当該論理デバイス２２５又は当該論理ボリューム２２６へのデータの書き込みが禁止されていると判定された場合は、当該論理デバイス２２５のボリューム管理領域３０１を更新することができないため、エクステント３０７を削除することができない。このため、エクステント削除処理は失敗する（１９０６）。
【０２９７】
一方、ステップ１９０１において、他の機能によって当該論理デバイス２２５及び当該論理ボリューム２２６へのデータの書き込みが禁止されていないと判定された場合は、当該論理デバイス２２５のボリューム管理領域３０１を更新することができる。
【０２９８】
このため、次に、削除対象のエクステント３０７のエクステントＩＤ６０１が使用されているか否かを判定する（１９０２）。
【０２９９】
ステップ１９０２において、エクステントＩＤ６０１が使用されていないと判定された場合、削除対象のエクステント３０７が存在しない。このため、エクステント削除処理は失敗する（１９０６）。
【０３００】
一方、ステップ１９０２において、エクステントＩＤ６０１が使用されていると判定された場合、削除対象のエクステント３０７が存在する。
【０３０１】
このため、次に、削除対象のエクステント３０７の属性６０２を参照して、書き込み禁止属性及び読み出し禁止属性がいずれも「無効」であるか否かを判定する（１９０３）。
【０３０２】
ステップ１９０３において、書き込み禁止属性及び読み出し禁止属性の少なくとも一方が「無効」でないと判定された場合、そのエクステント３０７の削除が禁止される。このため、エクステント削除処理は失敗する（１９０６）。
【０３０３】
一方、ステップ１９０３において、書き込み禁止属性及び読み出し禁止属性がいずれも「無効」であると判定された場合、そのエクステント３０７を削除することができる。
【０３０４】
このため、次に、管理情報を削除する（１９０４）。具体的には、削除対象のエクステント３０７に対応するエクステント管理情報３０６を削除する。さらに、ボリューム内エクステント管理情報３０５の内容を更新する。
【０３０５】
以上で、エクステント削除処理が成功して終了する（１９０５）。このとき、エクステント管理部２２２は、成功したことを、エクステント削除コマンドを発行したホスト１１０Ａ又は管理端末１３０に応答する。
【０３０６】
一方、シュレッド処理が失敗した場合（１９０６）、エクステント管理部２２２は、失敗したことを、エクステント削除コマンドを発行したホスト１１０Ａ又は管理端末１３０に応答する。
【０３０７】
図２０は、本発明の実施の形態のアクセス制御部２２１によって実行されるデータ書き込み処理のフローチャートである。
【０３０８】
図２０において、図１０から図１９までと共通する部分については、詳細な説明を省略する。
【０３０９】
データ書き込み処理は、ホスト１１０Ａからデータの書き込みを要求するコマンド（書き込みコマンド）を受信したときに、アクセス制御部２２１が論理ボリューム２２６にデータを書き込む処理である。
【０３１０】
書き込みコマンドには、その書き込みコマンドによって書き込まれるデータ、そのデータが書き込まれる論理ボリューム２２６の識別子、及び、そのデータが書き込まれる位置（外部ＬＢＡ）が含まれる。
【０３１１】
書き込みコマンドを受信してデータ書き込み処理が開始すると、アクセス制御部２２１は、他の機能によって書き込み対象の論理ボリューム２２６へのデータの書き込みが禁止されているか否かを判定する（２００１）。
【０３１２】
ステップ２００１において、他の機能によって当該論理ボリューム２２６へのデータの書き込みが禁止されていると判定された場合、データ書き込み処理は失敗する（２００８）。
【０３１３】
一方、ステップ２００１において、他の機能によって当該論理ボリューム２２６へのデータの書き込みが禁止されていないと判定された場合、次に、書き込み対象の論理ブロックを含む管理ブロック８０１（以下、「当該管理ブロック８０１」と記載する）に、書き込み禁止属性が設定されたエクステント３０７が含まれるか否かを判定する（２００２）。
【０３１４】
具体的には、ボリューム内エクステント管理情報３０５の管理ブロック情報ビットマップ５０３を参照し、当該管理ブロック８０１について、管理ブロックが書き込み禁止領域を含むか否かを示すフラグが「有効」であるか否かを判定する。このフラグが「有効」であるとき、当該管理ブロック８０１に、書き込み禁止属性が設定されたエクステント３０７が含まれ、「無効」であるとき、当該管理ブロック８０１に、書き込み禁止属性が設定されたエクステント３０７が含まれないと判定される。
【０３１５】
ステップ２００２において、当該管理ブロック８０１に、書き込み禁止属性が設定されたエクステント３０７が含まれないと判定された場合、当該管理ブロック８０１にデータを書き込むことができる。このため、ステップ２００６に進む。
【０３１６】
一方、ステップ２００２において、当該管理ブロック８０１に、書き込み禁止属性が設定されたエクステント３０７が含まれると判定された場合、当該管理ブロック８０１にデータを書き込むことができない場合がある。
【０３１７】
このため、次に、当該管理ブロック８０１に、エクステント３０７の端点が含まれるか否かを判定する（２００３）。
【０３１８】
具体的には、ボリューム内エクステント管理情報３０５の管理ブロック情報ビットマップ５０３を参照し、当該管理ブロック８０１について、管理ブロックがエクステントの端点を含むか否かを示すフラグが「有効」であるか否かを判定する。このフラグが「有効」であるとき、当該管理ブロック８０１にエクステント３０７の端点が含まれ、「無効」であるとき、当該管理ブロック８０１にエクステント３０７の端点が含まれないと判定される。
【０３１９】
ステップ２００３において、当該管理ブロック８０１にエクステント３０７の端点が含まれないと判定された場合、当該管理ブロック８０１の全体が、書き込み禁止属性が設定された一つのエクステント３０７によって占められている。したがって、当該管理ブロック８０１にデータを書き込むことができない。このため、データ書き込み処理は失敗する（２００８）。
【０３２０】
一方、ステップ２００３において、当該管理ブロック８０１にエクステント３０７の端点が含まれると判定された場合、当該管理ブロック８０１にデータを書き込むことができる場合がある。
【０３２１】
このため、次に、当該管理ブロック８０１に含まれる全てのエクステント３０７の情報を取得する（２００４）。具体的には、エクステント管理情報３０６から、各エクステント３０７の属性６０２、先頭外部ＬＢＡ６０３及びエクステント長６０４を参照する。そして、書き込み禁止属性が設定されているか否か、シュレッド中であるか否か、及び、そのエクステント３０７が占める領域の情報を取得する。
【０３２２】
次に、ステップ２００４で取得した情報を用いて、書き込み対象の論理ブロックが、書き込み禁止属性が設定されているか又はシュレッド中のエクステント３０７の領域と重複するか否かを判定する（２００５）。
【０３２３】
ステップ２００５において、書き込み対象の論理ブロックが、書き込み禁止属性が設定されているか又はシュレッド中のエクステント３０７の領域と重複すると判定された場合、当該論理ブロックにデータを書き込むことができない。このため、データ書き込み処理は失敗する（２００８）。
【０３２４】
一方、ステップ２００５において、書き込み対象の論理ブロックが、書き込み禁止属性が設定されているか又はシュレッド中のエクステント３０７の領域と重複しないと判定された場合、当該論理ブロックにデータを書き込むことができる。
【０３２５】
このため、次に、書き込み対象のデータの外部ＬＢＡを内部ＬＢＡに変換して、その内部ＬＢＡが示す位置にデータを書き込む（２００６）。
【０３２６】
以上で、データ書き込み処理が成功して終了する（２００７）。このとき、アクセス制御部２２１は、成功したことをホスト１１０Ａに応答する。
【０３２７】
一方、データ書き込み処理が失敗した場合（２００８）、アクセス制御部２２１は、失敗したことをホスト１１０Ａに応答する。
【０３２８】
図２１は、本発明の実施の形態のアクセス制御部２２１によって実行されるデータ読み出し処理のフローチャートである。
【０３２９】
データ読み出し処理の手順は、図２０のデータ書き込み処理の手順と同様である。
【０３３０】
データ読み出し処理は、ホスト１１０Ａからデータの読み出しを要求するコマンド（読み出しコマンド）を受信したときに、アクセス制御部２２１が論理ボリューム２２６からデータを読み出す処理である。
【０３３１】
読み出しコマンドには、その読み出しコマンドによって読み出されるデータを含む論理ボリューム２２６の識別子、及び、そのデータが書き込まれている位置（外部ＬＢＡ）が含まれる。
【０３３２】
読み出しコマンドを受信してデータ読み出し処理が開始すると、アクセス制御部２２１は、他の機能によって読み出し対象の論理ボリューム２２６からのデータの読み出しが禁止されているか否かを判定する（２１０１）。
【０３３３】
ステップ２１０１において、他の機能によって当該論理ボリューム２２６からのデータの読み出しが禁止されていると判定された場合、データ読み出し処理は失敗する（２１０８）。
【０３３４】
一方、ステップ２１０１において、他の機能によって当該論理ボリューム２２６からのデータの読み出しが禁止されていないと判定された場合、次に、読み出し対象の論理ブロックを含む管理ブロック８０１（以下、「当該管理ブロック８０１」と記載する）に、読み出し禁止属性が設定されたエクステント３０７が含まれるか否かを判定する（２１０２）。
【０３３５】
具体的には、ボリューム内エクステント管理情報３０５の管理ブロック情報ビットマップ５０３を参照し、当該管理ブロック８０１について、管理ブロックが読み出し禁止領域を含むか否かを示すフラグが「有効」であるか否かを判定する。このフラグが「有効」であるとき、当該管理ブロック８０１に、読み出し禁止属性が設定されたエクステント３０７が含まれ、「無効」であるとき、当該管理ブロック８０１に、読み出し禁止属性が設定されたエクステント３０７が含まれないと判定される。
【０３３６】
ステップ２１０２において、当該管理ブロック８０１に、読み出し禁止属性が設定されたエクステント３０７が含まれないと判定された場合、当該管理ブロック８０１からデータを読み出すことができる。このため、ステップ２１０６に進む。
【０３３７】
一方、ステップ２１０２において、当該管理ブロック８０１に、読み出し禁止属性が設定されたエクステント３０７が含まれると判定された場合、当該管理ブロック８０１からデータを読み出すことができない場合がある。
【０３３８】
このため、次に、当該管理ブロック８０１に、エクステント３０７の端点が含まれるか否かを判定する（２１０３）。
【０３３９】
具体的には、ボリューム内エクステント管理情報３０５の管理ブロック情報ビットマップ５０３を参照し、当該管理ブロック８０１について、管理ブロックがエクステントの端点を含むか否かを示すフラグが「有効」であるか否かを判定する。このフラグが「有効」であるとき、当該管理ブロック８０１にエクステント３０７の端点が含まれ、「無効」であるとき、当該管理ブロック８０１にエクステント３０７の端点が含まれないと判定される。
【０３４０】
ステップ２１０３において、当該管理ブロック８０１にエクステント３０７の端点が含まれないと判定された場合、当該管理ブロック８０１の全体が、読み出し禁止属性が設定された一つのエクステント３０７によって占められている。したがって、当該管理ブロック８０１からデータを読み出すことができない。このため、データ読み出し処理は失敗する（２１０８）。
【０３４１】
一方、ステップ２１０３において、当該管理ブロック８０１にエクステント３０７の端点が含まれると判定された場合、当該管理ブロック８０１からデータを読み出すことができる場合がある。
【０３４２】
このため、次に、当該管理ブロック８０１に含まれる全てのエクステント３０７の情報を取得する（２１０４）。具体的には、エクステント管理情報３０６から、各エクステント３０７の属性６０２、先頭外部ＬＢＡ６０３及びエクステント長６０４を参照する。そして、読み出し禁止属性が設定されているか否か、シュレッド中であるか否か、及び、そのエクステント３０７が占める領域の情報を取得する。
【０３４３】
次に、ステップ２１０４で取得した情報を用いて、読み出し対象の論理ブロックが、読み出し禁止属性が設定されているか又はシュレッド中のエクステント３０７の領域と重複するか否かを判定する（２１０５）。
【０３４４】
ステップ２１０５において、読み出し対象の論理ブロックが、読み出し禁止属性が設定されているか又はシュレッド中のエクステント３０７の領域と重複すると判定された場合、当該論理ブロックからデータを読み出すことができない。このため、データ読み出し処理は失敗する（２１０８）。
【０３４５】
一方、ステップ２１０５において、読み出し対象の論理ブロックが、読み出し禁止属性が設定されているか又はシュレッド中のエクステント３０７の領域と重複しないと判定された場合、当該論理ブロックからデータを読み出すことができる。
【０３４６】
このため、次に、読み出し対象のデータの外部ＬＢＡを内部ＬＢＡに変換して、その内部ＬＢＡが示す位置からデータを読み出す（２１０６）。
【０３４７】
以上で、データ読み出し処理が成功して終了する（２１０７）。このとき、アクセス制御部２２１は、成功したことをホスト１１０Ａに応答する。
【０３４８】
一方、データ読み出し処理が失敗した場合（２１０８）、アクセス制御部２２１は、失敗したことをホスト１１０Ａに応答する。
【０３４９】
以上の本発明によれば、論理ボリューム内に任意の大きさの領域（エクステント）が設定され、エクステントごとに書き込み禁止等の属性が設定される。このため、ストレージシステムの容量が有効に利用される。
【０３５０】
さらに、論理ボリュームが所定の大きさの管理ブロックに分割され、各管理ブロックに、エクステントを含むか否か等のフラグが設けられる。これらのフラグを参照することによって、各管理ブロックにデータを書き込むことができるか否か等を簡易に判定することができる。
【図面の簡単な説明】
【０３５１】
【図１】本発明の実施の形態のコンピュータシステムのハードウエア構成を示すブロック図である。
【図２】本発明の実施の形態のコンピュータシステムの機能ブロック図である。
【図３】本発明の実施の形態の論理デバイスの記憶領域の説明図である。
【図４】本発明の実施の形態のボリューム管理情報の説明図である。
【図５】本発明の実施の形態のボリューム内エクステント管理情報の説明図である。
【図６】本発明の実施の形態のエクステント管理情報の説明図である。
【図７】本発明の実施の形態のエクステントに設定された属性と、当該エクステントに許容されるアクセスとの対応の説明図である。
【図８】本発明の実施の形態の管理ブロックの説明図である。
【図９】管理ブロックのステータスフラグと、処理の可否の判定との関係の説明図である。
【図１０】本発明の実施の形態のエクステント管理部によって実行されるエクステント作成処理のフローチャートである。
【図１１】本発明の実施の形態の管理ブロックが新規に作成されるエクステントの始点を含む場合に実行される処理のフローチャートである。
【図１２】本発明の実施の形態の管理ブロックが新規に作成されるエクステントの始点及び終点のいずれも含まない場合に実行される処理のフローチャートである。
【図１３】本発明の実施の形態の管理ブロックが新規に作成されるエクステントの終点を含む場合に実行される処理のフローチャートである。
【図１４】本発明の実施の形態の管理ブロックが新規に作成されるエクステントの始点及び終点を含む場合に実行される処理のフローチャートである。
【図１５】本発明の実施の形態のエクステント管理部によって実行されるアクセス制御属性設定処理のフローチャートである。
【図１６】本発明の実施の形態のエクステント管理部によって実行されるアクセス制御属性解除処理のフローチャートである。
【図１７】本発明の実施の形態のエクステント管理部によって実行されるエクステント情報参照処理のフローチャートである。
【図１８】本発明の実施の形態のエクステント管理部によって実行されるシュレッド処理のフローチャートである。
【図１９】本発明の実施の形態のエクステント管理部によって実行されるエクステント削除処理のフローチャートである。
【図２０】本発明の実施の形態のアクセス制御部によって実行されるデータ書き込み処理のフローチャートである。
【図２１】本発明の実施の形態のアクセス制御部によって実行されるデータ読み出し処理のフローチャートである。
【符号の説明】
【０３５２】
１１０  ホスト
１１１、１４４  プロセッサ
１１２  メインメモリ
１１３、１４１、１４３  入出力部
１２０  ストレージシステム
１２１  ディスクドライブ
１４０  ストレージ制御装置
１４５  制御メモリ
１５０  ＳＡＮ
１７０  ＬＡＮ
１８０  メールサーバ
２１１  アプリケーション
２１２  ストレージシステム制御部
２２１  アクセス制御部
２２２  エクステント管理部
２２３  論理デバイス管理情報
２２５  論理デバイス（ＬＤＥＶ）
２２６  論理ボリューム（ＬＵ）
３０１  ボリューム管理領域（ＶＭＡ）
３０２  ユーザ領域
３０３  ボリューム管理情報
３０４  ボリューム保護用管理情報
３０５  ボリューム内エクステント管理情報
３０６  エクステント管理情報
３０７  エクステント
８０１  管理ブロック
【図１】
2006127106.tif 000003
【図２】
2006127106.tif 000004
【図３】
2006127106.tif 000005
【図４】
2006127106.tif 000006
【図５】
2006127106.tif 000007
【図６】
2006127106.tif 000008
【図７】
2006127106.tif 000009
【図８】
2006127106.tif 000010
【図９】
2006127106.tif 000011
【図１０】
2006127106.tif 000012
【図１１】
2006127106.tif 000013
【図１２】
2006127106.tif 000014
【図１３】
2006127106.tif 000015
【図１４】
2006127106.tif 000016
【図１５】
2006127106.tif 000017
【図１６】
2006127106.tif 000018
【図１７】
2006127106.tif 000019
【図１８】
2006127106.tif 000020
【図１９】
2006127106.tif 000021
【図２０】
2006127106.tif 000022
【図２１】
2006127106.tif 000023