(57)【要約】【課題】フォーマットが未済の領域を効率的に利用可能な状態にすること。【解決手段】複数の区画を有する記憶領域３０ａの各区画に関するフォーマット状態を記した管理情報２１ａを記憶する記憶部２１と、記憶領域３０ａに対する第１のデータ４１の書き込み要求を受け付けたときに、管理情報２１ａに基づいて該第１のデータ４１の書き込み先を含む区画がフォーマット済みであるかを判定し、フォーマットが未済の場合には、第１のデータ４１と、所定の第２のデータ４２とを組み合わせて該区画のサイズに適合する第３のデータ４３を生成し、該第３のデータ４３を該区画に書き込む制御を実行する制御部２２と、を有する、ストレージ制御装置２０が提供される。【選択図】図１
2017004146.tif 000002
【特許請求の範囲】
【請求項１】
複数の区画を有する記憶領域の各区画に関するフォーマット状態を記した管理情報を記憶する記憶部と、
前記記憶領域に対する第１のデータの書き込み要求を受け付けたときに、前記管理情報に基づいて該第１のデータの書き込み先を含む前記区画がフォーマット済みであるかを判定し、フォーマットが未済の場合には、前記第１のデータと、所定の第２のデータとを組み合わせて該区画のサイズに適合する第３のデータを生成し、該第３のデータを該区画に書き込む制御を実行する制御部と
を有する、ストレージ制御装置。
【請求項２】
前記制御部は、生成した前記第３のデータに基づいて該第３のデータのエラーチェックコードを計算し、該第３のデータとともに該エラーチェックコードを書き込む制御を実行する
請求項１に記載のストレージ制御装置。
【請求項３】
前記制御部は、前記第１のデータの書き込み先を含む前記区画のうち該第１のデータが書き込まれる領域以外の領域に前記第２のデータが埋まるように前記第１のデータと前記第２のデータとを組み合わせて前記第３のデータを生成する
請求項１に記載のストレージ制御装置。
【請求項４】
前記制御部は、前記記憶領域に対する読み出し要求を受け付けたときに、前記管理情報に基づいて、読み出し先を含む前記区画がフォーマット済みであるかを判定し、フォーマットが未済の場合には、前記第２のデータを用いて前記読み出し要求に応答する
請求項１に記載のストレージ制御装置。
【請求項５】
前記制御部は、前記管理情報に記された、前記第３のデータが書き込まれた前記区画に関するフォーマット状態をフォーマット済みに変更する
請求項１に記載のストレージ制御装置。
【請求項６】
前記制御部は、前記管理情報に記されたフォーマット状態が全ての前記区画についてフォーマット済みである場合に前記管理情報を削除する
請求項１に記載のストレージ制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージ制御装置に関する。
【背景技術】
【０００２】
ＲＡＩＤ（Redundant Arrays of Inexpensive Disks）技術を用いて複数の記憶装置（ＨＤＤ（Hard Disk Drive）やＳＳＤ（Solid State Drive）など）を冗長化し、高速なデータアクセス及び大容量化を実現するディスクアレイが広く利用されている。ディスクアレイには、論理ユニット（ＬＵ：Logical Unit）と呼ばれる論理記憶領域が設定され、ＬＵに記憶装置の物理記憶領域が割り当てられる。ＬＵは、ＬＵＮ（Logical Unit Number）で識別される。なお、ＬＵＮに対応する論理記憶領域をＬＵＮ領域と呼ぶ場合がある。
【０００３】
ＬＵＮ領域の設定は、ディスクアレイに接続されたコントローラが実行する。コントローラは、ディスクアレイに割り当てるＬＵＮを設定する際、そのＬＵＮに対応するＬＵＮ領域をフォーマットする。このとき、コントローラは、そのＬＵＮ領域に対応する記憶装置のセクタに対し、ｎｕｌｌ（ゼロ）データとＢＣＣ（Block Checking Character）とを書き込む処理を実行する。
【０００４】
近年、記憶装置単体の大容量化も進み、運用開始時に実行されるフォーマットにかかる時間が長くなっている。そのため、運用中にフォーマットを実行できるようにする技術について検討が行われている。
【０００５】
例えば、書き込み要求で指定されたエリアが初期化済みであればディスクにデータを書き込み、初期化未済であれば初期化が完了するまでキャッシュにデータを退避させ、初期化完了時にキャッシュのデータをディスクに書き込む技術が提案されている。また、フォーマット済みか否かをビットマップメモリで管理し、アクセス領域が全てフォーマット済みの場合にディスクアクセスを実施し、未済の場合にフォーマットを実施する技術が開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００５−１１３１７号公報
【特許文献２】特開２００３−２９９３４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上記の技術はフォーマットが未済の場合に書き込みデータを一時的に退避させておき、対象領域のフォーマットを実施する方法である。そのため、対象領域にｎｕｌｌデータなどのデータを書き込んでフォーマットを実施した後、さらに書き込み要求を受けたデータを該対象領域に書き込む処理が実施される。
【０００８】
運用中にフォーマットの処理が実行できれば、ディスクアレイのフォーマットが完了するまで運用開始を待たずに済むという利点がある。しかし、フォーマットの処理が実行されている間、ディスクアレイやコントローラなどのリソースに負荷がかかるため、データの読み書き処理が遅くなるなど、他の処理に影響が生じうる。
【０００９】
一態様によれば、本発明の目的は、フォーマットが未済の領域を効率的に利用可能な状態にするストレージ制御装置を提供することにある。
【課題を解決するための手段】
【００１０】
一態様によれば、複数の区画を有する記憶領域の各区画に関するフォーマット状態を記した管理情報を記憶する記憶部と、記憶領域に対する第１のデータの書き込み要求を受け付けたときに、管理情報に基づいて該第１のデータの書き込み先を含む区画がフォーマット済みであるかを判定し、フォーマットが未済の場合には、第１のデータと、所定の第２のデータとを組み合わせて該区画のサイズに適合する第３のデータを生成し、該第３のデータを該区画に書き込む制御を実行する制御部とを有する、ストレージ制御装置が提供される。
【発明の効果】
【００１１】
本開示によれば、フォーマットが未済の領域を効率的に利用可能な状態にできる。
【図面の簡単な説明】
【００１２】
【図１】第１実施形態に係るストレージシステムの一例を示した図である。
【図２】第２実施形態に係るストレージシステムの一例を示した図である。
【図３】第２実施形態に係るサーバのハードウェアの一例を示した図である。
【図４】第２実施形態に係るコントローラが有する機能の一例を示した図である。
【図５】第２実施形態に係るＬＵＮ管理テーブルの一例を示した図である。
【図６】第２実施形態に係るフォーマット管理テーブルの更新を示した図である。
【図７】第２実施形態に係るコピー処理の一例（コピー元の区画サイズ＜コピー先の区画サイズ）を示した図である。
【図８】第２実施形態に係るコピー処理の一例（コピー元の区画サイズ＞コピー先の区画サイズ）を示した図である。
【図９】第２実施形態に係るＬＵＮ作成処理の流れを示したフロー図である。
【図１０】第２実施形態に係るＷＲＩＴＥ処理の流れを示した第１のフロー図である。
【図１１】第２実施形態に係るＷＲＩＴＥ処理の流れを示した第２のフロー図である。
【図１２】第２実施形態に係るＲＥＡＤ処理の流れを示したフロー図である。
【図１３】ＯＰＣ／ＱｕｉｃｋＯＰＣへの応用について説明するための図である。
【図１４】ＳｎａｐＯＰＣ／ＳｎａｐＯＰＣ＋への応用について説明するための第１の図である。
【図１５】ＳｎａｐＯＰＣ／ＳｎａｐＯＰＣ＋への応用について説明するための第２の図である。
【図１６】ＳｎａｐＯＰＣ／ＳｎａｐＯＰＣ＋への応用について説明するための第３の図である。
【図１７】ＥＣへの応用について説明するための図である。
【発明を実施するための形態】
【００１３】
以下に添付図面を参照しながら、本発明の実施形態について説明する。なお、本明細書及び図面において実質的に同一の機能を有する要素については、同一の符号を付することにより重複説明を省略する場合がある。
【００１４】
＜１．第１実施形態＞
図１を参照しながら、第１実施形態について説明する。第１実施形態は、フォーマットが未済の領域に対し、書き込み要求の対象となるデータを書き込むことで、事前のフォーマットを省略する仕組みを提供する。この仕組みによれば、これまでフォーマットの処理にかかっていた時間及び該処理に伴って生じていた負荷の増大を抑制できる。図１は、第１実施形態に係るストレージシステムの一例を示した図である。
【００１５】
図１に示すストレージシステムは、サーバ１０と、ストレージ制御装置２０と、ディスクアレイ３０とを有する。サーバ１０は、ストレージ制御装置２０に対し、ディスクアレイ３０へデータを書き込むように要求する。また、サーバ１０は、ストレージ制御装置２０に対し、ディスクアレイ３０からデータを読み出すように要求する。ディスクアレイ３０は、例えば、ＲＡＩＤ技術を用いて複数の記憶装置（ＨＤＤやＳＳＤなど）を冗長化したＲＡＩＤ装置である。ディスクアレイ３０の動作は、ストレージ制御装置２０により制御される。
【００１６】
ストレージ制御装置２０は、記憶部２１、及び制御部２２を有する。
記憶部２１は、ＲＡＭ（Random Access Memory）などの揮発性記憶装置、或いは、ＨＤＤやフラッシュメモリなどの不揮発性記憶装置である。制御部２２は、ＣＰＵ（Central Processing Unit）やＤＳＰ（Digital Signal Processor）などのプロセッサである。但し、制御部２２は、ＡＳＩＣ（Application Specific Integrated Circuit）やＦＰＧＡ（Field Programmable Gate Array）などの電子回路であってもよい。制御部２２は、例えば、記憶部２１又は他のメモリに記憶されたプログラムを実行する。
【００１７】
記憶部２１は、複数の区画を有する記憶領域３０ａの各区画に関するフォーマット状態を記した管理情報２１ａを記憶する。
記憶領域３０ａは、例えば、ＬＵＮ領域である。区画は、ＬＵＮ領域に設定された複数の分割領域である。区画は、複数のブロックを含む。図１に例示した記憶領域３０ａは、区画１、区画２、区画３を有する。区画１は、アドレスＡ１ａ、Ａ１ｂで識別される２つのブロックを有する。区画２は、アドレスＡ２ａ、Ａ２ｂで識別される２つのブロックを有する。区画３は、アドレスＡ３ａ、Ａ３ｂで識別される２つのブロックを有する。区画に含まれるブロック数（区画サイズ）は３以上であってもよい。
【００１８】
管理情報２１ａは、記憶領域３０ａの区画毎にフォーマット済みであるか否かが記された情報である。例えば、管理情報２１ａは、各区画に対応するビット値を有し、ビット値が０の場合にフォーマット済み、ビット値が１の場合にフォーマット未済を表すビットマップを用いて表現することができる。
【００１９】
制御部２２は、記憶領域３０ａに対する第１のデータ４１の書き込み要求を受け付けたときに、管理情報２１ａに基づいて該第１のデータ４１の書き込み先を含む区画がフォーマット済みであるかを判定する。また、制御部２２は、フォーマットが未済の場合には、第１のデータ４１と、所定の第２のデータ４２とを組み合わせて該区画のサイズに適合する第３のデータ４３を生成する。そして、制御部２２は、第３のデータ４３を該区画に書き込む制御を実行する。
【００２０】
ここで、図１に示した例に沿って、さらに説明する。
図１の例において、サーバ１０は、記憶領域３０ａのアドレスＡ２ａを指定して第１のデータ４１の書き込みをストレージ制御装置２０に要求している。この書き込み要求を受け付けた制御部２２は、管理情報２１ａを参照し、アドレスＡ２ａの領域を含む区画２がフォーマット済みであるか否かを判定する。図１の例では、区画２はフォーマット済みではない（未済）。この場合、制御部２２は、第１のデータ４１と第２のデータ４２とを組み合わせて第３のデータ４３を生成する。
【００２１】
第２のデータ４２は、ｎｕｌｌデータなどのフォーマット時に記憶領域３０ａへ書き込まれるデータである。第２のデータ４２は、区画２の領域の中で、第１のデータ４１が書き込まれない領域が埋まるようにサイズが調整されたデータである。この例では、アドレスＡ２ａの領域に第１のデータ４１が書き込まれると、アドレスＡ２ｂの領域が未フォーマットの状態で残る。この場合、制御部２２は、アドレスＡ２ｂの領域を埋める第２のデータ４２を用意し、第１のデータ４１に組み合わせて第３のデータ４３を生成する。
【００２２】
制御部２２は、上記のようにして生成した第３のデータ４３を区画２に書き込む。そして、制御部２２は、管理情報２１ａを更新し、区画２のフォーマット状態をフォーマット済みにする。第３のデータ４３が区画２に書き込まれることで、区画２にはデータが書き込まれた状態になる。この方法によれば、第１のデータ４１をアドレスＡ２ａの領域に書き込む前に、アドレスＡ２ａの領域にｎｕｌｌデータなどを書き込むフォーマットの処理が省略されるため、処理時間や処理負荷を抑制することが可能になる。
【００２３】
以上、第１実施形態について説明した。
＜２．第２実施形態＞
次に、第２実施形態について説明する。第２実施形態は、フォーマットが未済の領域に対し、書き込み要求の対象となるデータを書き込むことで、事前のフォーマットを省略する仕組みを提供する。この仕組みによれば、これまでフォーマットの処理にかかっていた時間及び該処理に伴って生じていた負荷の増大を抑制できる。
【００２４】
［２−１．システム］
図２を参照しながら、第２実施形態に係るストレージシステムについて説明する。図２は、第２実施形態に係るストレージシステムの一例を示した図である。
【００２５】
図２に示したストレージシステムは、サーバ１０１ａ、１０１ｂ、ＦＣ（Fibre Channel）スイッチ１０２、ＦＣポート１０３、ＬＡＮ（Local Area Network）スイッチ１０４、ＮＩＣ（Network Interface Card）ポート１０５、及びストレージ装置１１０を含む。ＦＣポート１０３は、ＦＣスイッチ１０２とストレージ装置１１０とを接続するインターフェースである。ＮＩＣポート１０５は、ＬＡＮスイッチ１０４とストレージ装置１１０とを接続するインターフェースである。
【００２６】
サーバ１０１ａ、１０１ｂは、ストレージ装置１１０に対してデータの書き込み及びデータの読み出しを要求するホストコンピュータである。図２の例では、説明の都合上、ＦＣスイッチ１０２には１台のサーバ１０１ａしか接続されていないが、ＦＣスイッチ１０２には複数台のホストコンピュータを接続することができる。これらのホストコンピュータは、ＦＣスイッチ１０２を介してストレージ装置１１０のＦＣポート１０３に接続され、ＳＡＮ（Storage Area Network）を構成する。
【００２７】
また、図２の例では、説明の都合上、ＬＡＮスイッチ１０４には１台のサーバ１０１ｂしか接続されていないが、ＬＡＮスイッチ１０４には複数台のホストコンピュータを接続することができる。これらのホストコンピュータは、ＬＡＮスイッチ１０４を介してストレージ装置１１０のＮＩＣポート１０５に接続され、ストレージ装置１１０をＮＡＳ（Network Attached Storage）として利用することができる。
【００２８】
なお、サーバ１０１ａは、ストレージ装置１１０の管理用のＩ／Ｏを送受信するためにＬＡＮを利用してもよい。この場合、サーバ１０１ａは、ＦＣスイッチ１０２に接続されると共に、ＬＡＮスイッチ１０４にも接続される。
【００２９】
ストレージ装置１１０は、コントローラ１１１、ＲＡＩＤグループ１１２、及びスペアディスクプール１１３を有する。コントローラ１１１は、ＲＡＩＤグループ１１２、及びスペアディスクプール１１３の動作を制御する。ＲＡＩＤグループ１１２は、複数のＨＤＤを有し、ＲＡＩＤ技術を用いて複数のＨＤＤを冗長化したディスクアレイである。ＲＡＩＤグループ１１２上にはＬＵＮ領域が設定される。なお、ＲＡＩＤグループ１１２には、ＳＳＤが混在していてもよい。
【００３０】
ＬＵＮ領域の設定は、コントローラ１１１が実行する。コントローラ１１１は、ＲＡＩＤグループ１１２に設定するＬＵＮ領域にＬＵＮを割り当てる際、ＬＵＮ領域をフォーマットするか否かを判断する。つまり、コントローラ１１１は、後述するようにＬＵＮの割り当て時にフォーマットを回避することができる。フォーマットを実施する場合、コントローラ１１１は、設定するＬＵＮ領域に対応するＨＤＤのセクタに対し、ｎｕｌｌデータとＢＣＣとを書き込む。一方、フォーマットを実施しない場合、コントローラ１１１は、未フォーマットのＬＵＮ領域にＬＵＮを割り当てる。
【００３１】
スペアディスクプール１１３は、ＲＡＩＤグループ１１２に組み込まれていないＨＤＤの集合である。スペアディスクプール１１３のＨＤＤは、例えば、ＲＡＩＤグループ１１２のＬＵＮ領域に格納されたデータのバックアップなどに利用される。なお、スペアディスクプール１１３のＨＤＤは、ＲＡＩＤグループ１１２のＨＤＤが故障した際に代替ＨＤＤとして利用されるＨＤＤを含んでいてもよい。
【００３２】
コントローラ１１１は、サーバ１０１ａ、１０１ｂから受け付けた読み出し要求（ＲＥＡＤ要求）に応じてＬＵＮ領域からデータを読み出す。ＲＥＡＤ要求が指定する位置からデータを読み出す際、コントローラ１１１は、データの品質保証のためにＨＤＤのセクタに記録されたデータとＢＣＣとの整合性を確認する。整合性が確認できた場合、コントローラ１１１は、読み出したデータでサーバ１０１ａ、１０１ｂに応答する（ＲＥＡＤ処理）。
【００３３】
また、コントローラ１１１は、サーバ１０１ａ、１０１ｂから受け付けた書き込み要求（ＷＲＩＴＥ要求）に応じてＬＵＮ領域にデータを書き込む。このとき、コントローラ１１１は、ＷＲＩＴＥ要求が指定する位置から旧データとＢＣＣを読み出して整合性を確認する。整合性が確認できた場合、コントローラ１１１は、読み出したＢＣＣと書き込みデータとを用いてＸＯＲ（排他的論理和）演算を実行し、書き込みデータに対するＢＣＣを生成する。そして、コントローラ１１１は、書き込みデータとＢＣＣとをＷＲＩＴＥ要求が指定する位置に書き込む（ＷＲＩＴＥ処理）。
【００３４】
ＲＥＡＤ要求及びＷＲＩＴＥ要求を受け付けた場合、データとＢＣＣとの整合性がとれていれば、コントローラ１１１は、正常にＲＥＡＤ処理及びＷＲＩＴＥ処理を完了することができる。しかし、工場出荷時など、ＨＤＤの各セクタに記録されたデータとＢＣＣとの整合性がとれていない場合がある。この整合性をとる処理としてフォーマットがある。
【００３５】
ＨＤＤの容量増加に伴ってフォーマットにかかる時間は長くなってきており、運用開始前にフォーマットを実施すると運用開始までに長時間待たされることになる。また、運用中にフォーマットをバックグラウンドで実施する場合、フォーマットの処理により負荷が増大するため、アクセスに対する応答が遅れるなどの影響が生じうる。
【００３６】
フォーマットの実施後にＷＲＩＴＥ処理を実行する場合、ｎｕｌｌデータ及びＢＣＣの書き込み処理、整合性の確認処理、書き込みデータによる書き換え処理が順次行われることになり冗長である。この冗長な処理が負荷を高める要因の１つになっている。このような書き込み、読み出し、書き込みという３ステップの処理を経ずに上述した整合性を確保できる機能を実現すれば、運用中の負荷増大を抑制しつつ、運用開始前のフォーマットを省略することができる。
【００３７】
第２実施形態に係るストレージ装置１１０は、上記のような冗長な処理を回避し、運用開始までの待ち時間の短縮、及びバックグラウンド処理による運用中の性能低下の抑制を実現する機能を有する。この機能は、例えば、旧製品から新製品に置き換える際に行われるデータの移行や、テープ媒体から新たに追加したＨＤＤにデータを復元する場合など、バックグラウンドでデータをコピーする場合などにも高い効果が期待できる。
【００３８】
以下、上記のようなストレージ装置１１０について、さらに説明する。
［２−２．ハードウェア］
ここで、図３を参照しながら、サーバ１０１ａ、１０１ｂのハードウェアについて説明する。図３は、第２実施形態に係るサーバのハードウェアの一例を示した図である。
【００３９】
サーバ１０１ａ、１０１ｂが有する機能は、例えば、図３に示すハードウェア資源を用いて実現することが可能である。つまり、サーバ１０１ａ、１０１ｂが有する機能は、コンピュータプログラムを用いて図３に示すハードウェアを制御することで実現される。
【００４０】
図３に示すように、このハードウェアは、主に、ＣＰＵ９０２と、ＲＯＭ（Read Only Memory）９０４と、ＲＡＭ９０６と、ホストバス９０８と、ブリッジ９１０とを有する。さらに、このハードウェアは、外部バス９１２と、インターフェース９１４と、入力部９１６と、出力部９１８と、記憶部９２０と、ドライブ９２２と、接続ポート９２４と、通信部９２６とを有する。
【００４１】
ＣＰＵ９０２は、例えば、演算処理装置又は制御装置として機能し、ＲＯＭ９０４、ＲＡＭ９０６、記憶部９２０、又はリムーバブル記録媒体９２８に記録された各種プログラムに基づいて各構成要素の動作全般又はその一部を制御する。ＲＯＭ９０４は、ＣＰＵ９０２に読み込まれるプログラムや演算に用いるデータなどを格納する記憶装置の一例である。ＲＡＭ９０６には、例えば、ＣＰＵ９０２に読み込まれるプログラムや、そのプログラムを実行する際に変化する各種パラメータなどが一時的又は永続的に格納される。
【００４２】
これらの要素は、例えば、高速なデータ伝送が可能なホストバス９０８を介して相互に接続される。一方、ホストバス９０８は、例えば、ブリッジ９１０を介して比較的データ伝送速度が低速な外部バス９１２に接続される。また、入力部９１６としては、例えば、マウス、キーボード、タッチパネル、タッチパッド、ボタン、スイッチ、及びレバーなどが用いられる。さらに、入力部９１６としては、赤外線やその他の電波を利用して制御信号を送信することが可能なリモートコントローラが用いられることもある。
【００４３】
出力部９１８としては、例えば、ＣＲＴ（Cathode Ray Tube）、ＬＣＤ（Liquid Crystal Display）、ＰＤＰ（Plasma Display Panel）、又はＥＬＤ（Electro-Luminescence Display）などのディスプレイ装置が用いられる。また、出力部９１８として、スピーカやヘッドホンなどのオーディオ出力装置、又はプリンタなどが用いられることもある。つまり、出力部９１８は、情報を視覚的又は聴覚的に出力することが可能な装置である。
【００４４】
記憶部９２０は、各種のデータを格納するための装置である。記憶部９２０としては、例えば、ＨＤＤなどの磁気記憶デバイスが用いられる。また、記憶部９２０として、ＳＳＤやＲＡＭディスクなどの半導体記憶デバイス、光記憶デバイス、又は光磁気記憶デバイスなどが用いられてもよい。
【００４５】
ドライブ９２２は、着脱可能な記録媒体であるリムーバブル記録媒体９２８に記録された情報を読み出し、又はリムーバブル記録媒体９２８に情報を書き込む装置である。リムーバブル記録媒体９２８としては、例えば、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリなどが用いられる。
【００４６】
接続ポート９２４は、例えば、ＵＳＢ（Universal Serial Bus）ポート、ＩＥＥＥ１３９４ポート、ＳＣＳＩ（Small Computer System Interface）、ＲＳ−２３２Ｃポート、又は光オーディオ端子など、外部接続機器９３０を接続するためのポートである。外部接続機器９３０としては、例えば、プリンタなどが用いられる。
【００４７】
通信部９２６は、ネットワーク９３２に接続するための通信デバイスである。通信部９２６としては、例えば、有線又は無線ＬＡＮ用の通信回路、ＷＵＳＢ（Wireless USB）用の通信回路、光通信用の通信回路やルータ、ＡＤＳＬ（Asymmetric Digital Subscriber Line）用の通信回路やルータ、携帯電話ネットワーク用の通信回路などが用いられる。通信部９２６に接続されるネットワーク９３２は、有線又は無線により接続されたネットワークであり、例えば、インターネット、ＬＡＮ、放送網、衛星通信回線などを含む。
【００４８】
以上、サーバ１０１ａ、１０１ｂのハードウェアについて説明した。なお、ストレージ装置１１０や、第１実施形態のストレージ制御装置２０の機能も、図３に例示したハードウェアの少なくとも一部を利用して実現することが可能である。
【００４９】
［２−３．コントローラの機能］
次に、図４を参照しながら、コントローラ１１１の機能について説明する。図４は、第２実施形態に係るコントローラが有する機能の一例を示した図である。
【００５０】
コントローラ１１１は、記憶部１３１、ＦＣＰ（Fibre Channel Protocol）／ＮＡＳ制御部１３２、ＲＡＩＤ制御部１３３、コピー制御部１３４、及びキャッシュ制御部１３５を有する。
【００５１】
なお、記憶部１３１は、ＲＡＭなどの揮発性記憶装置、或いは、ＨＤＤやフラッシュメモリなどの不揮発性記憶装置である。ＦＣＰ／ＮＡＳ制御部１３２、ＲＡＩＤ制御部１３３、コピー制御部１３４、及びキャッシュ制御部１３５は、ＣＰＵやＤＳＰなどのプロセッサである。但し、ＦＣＰ／ＮＡＳ制御部１３２、ＲＡＩＤ制御部１３３、コピー制御部１３４、及びキャッシュ制御部１３５は、ＡＳＩＣやＦＰＧＡなどの電子回路であってもよい。ＦＣＰ／ＮＡＳ制御部１３２、ＲＡＩＤ制御部１３３、コピー制御部１３４、及びキャッシュ制御部１３５は、例えば、記憶部１３１又は他のメモリに記憶されたプログラムを実行する。
【００５２】
記憶部１３１は、ＬＵＮ管理テーブル（ＴＢＬ）１３１ａ及びＦＭＴ管理テーブル（ＴＢＬ）１３１ｂの情報を記憶する記憶領域を有する。
（ＬＵＮ管理テーブル１３１ａ）
ＬＵＮ管理テーブル１３１ａは、図５に示すように、ＬＵＮ名、ＬＵＮ領域サイズ、構成ＤＩＳＫ名ＬＩＳＴ、及び各ＤＩＳＫ上の位置・サイズに関する情報を含む。さらに、ＬＵＮ管理テーブル１３１ａは、ＬＵＮ領域を区切る区画のブロック数、未フォーマット区画の数、ＦＭＴ管理テーブル１３１ｂ上のアドレス、及びＦＭＴ管理テーブル１３１ｂのサイズに関する情報を含む。なお、図５は、第２実施形態に係るＬＵＮ管理テーブルの一例を示した図である。
【００５３】
ＬＵＮ名は、ＬＵＮ管理テーブル１３１ａが管理するＬＵＮ領域に設定された名称を示す。ＬＵＮ領域サイズは、ＬＵＮ領域に含まれるブロック数を示す。構成ＤＩＳＫ名ＬＩＳＴは、論理ユニットであるＬＵＮ領域に対応する物理記憶領域があるＨＤＤのリスト（例えば、ＨＤＤに設定された名称のリスト）を示す。各ＤＩＳＫ上の位置・サイズは、ＬＵＮ領域が設定されたＨＤＤ上の位置（例えば、ＯＦＦＳＥＴ値で表現）及びそのサイズを示す。
【００５４】
ＬＵＮ領域を区切る区画のブロック数は、１つの区画に含まれるブロックの数を示す。１つのＬＵＮ領域には複数の区画が設定される。それぞれの区画は複数のブロックで構成される。そのため、ＬＵＮ管理テーブル１３１ａには、１区画のサイズを示すブロック数の情報が格納される。このブロック数は、例えば、ＬＵＮ領域の作成時に設定される。
【００５５】
また、ＬＵＮ領域を区切る区画のブロック数は、ＲＡＩＤストライプ内のブロック数のｎ数（ｎは２以上の整数）に設定される。ＲＡＩＤストライプはＨＤＤの種類やＲＡＩＤグループ１１２内にあるＨＤＤの数などで変わるため、ＲＡＩＤストライプ内のブロック数を単位としてＬＵＮ領域を区切る区画のブロック数が設定される。なお、ＲＡＩＤストライプを単位とするとＬＵＮ管理テーブル１３１ａのサイズが大きくなりすぎるため、その倍数に設定されることが好ましい。運用上の都合などで第２実施形態に係る技術を適用しない場合（無効）は０とする。
【００５６】
未フォーマット区画の数は、ＬＵＮ領域のサイズを区画のブロック数で割った値を初期値とし、区画のフォーマットが実施された場合には、その区画の分だけ値が更新される。初期値は、ＬＵＮ領域に含まれる区画の全数である。そして、フォーマットが済んだ区画の数だけ初期値から１ずつ減算することで、現在の未フォーマット区画の数が得られる。なお、運用上の都合などで第２実施形態に係る技術を適用しない場合（無効）は０とする。
【００５７】
ＦＭＴ管理ＴＢＬ上のアドレスは、ＦＭＴ管理テーブル１３１ｂの実体であるビットマップテーブルのアドレスを示す。後述するように、このビットマップテーブルは、ビットを並べたテーブルであり、１つのビットがＬＵＮ領域に設定された１つの区画に対応する。そして、各ビットのビット値がフォーマット状態を表す。例えば、ビット値１は未フォーマット状態を表し、ビット値０はフォーマット済みの状態を表す。
【００５８】
ＦＭＴ管理ＴＢＬのサイズは、このビットマップテーブルに含まれるビットの数（ビットサイズ）を表す。なお、運用上の都合などで第２実施形態に係る技術を適用しない場合（無効）は、ＦＭＴ管理ＴＢＬ上のアドレスも、ＦＭＴ管理ＴＢＬのサイズも０とする。
【００５９】
（ＦＭＴ管理テーブル１３１ｂ）
ＦＭＴ管理テーブル１３１ｂは、図６に示すように、ビット値が並んだビットマップテーブルである。１つのビットは１つの区画に対応する。なお、図６は、第２実施形態に係るフォーマット管理テーブルの更新を示した図である。図６の例は、全てのビットがビット値１（未フォーマット状態）に設定された初期状態から、アドレスＡ６のビットに対応する区画がフォーマットされた場合の状態に遷移する様子を示している。
【００６０】
ビットマップ上の位置と区画との関係は、上述したＬＵＮ管理テーブル１３１ａのＦＭＴ管理ＴＢＬ上のアドレスを参照すれば特定することができる。例えば、ビットマップ上のアドレスＡ６のビットに対応する区画がフォーマットされた場合、アドレスＡ６のビットは、未フォーマット状態を表すビット値１からビット値０に書き換えられる。同様に、他の区画がフォーマットされた場合も、その区画に対応するビットのビット値が０に書き換えられる。
【００６１】
再び図４を参照する。
ＦＣＰ／ＮＡＳ制御部１３２は、ＬＵＮ領域に対するＦＣＰ及びＮＡＳのＩ／Ｏ制御を実施する。ＦＣではファイバチャネルプロトコル（ＦＣＰ）が使用され、ＳＣＳＩコマンドがやり取りされる。一方、ＮＡＳでは、ＮＦＳ（Network File System）やＣＩＦＳ（Common Internet File System）などのファイル共有コマンドがやり取りされる。ＦＣＰ／ＮＡＳ制御部１３２は、これらのプロトコルに従ってサーバ１０１ａ、１０１ｂとコマンドをやり取りする。
【００６２】
ＲＡＩＤ制御部１３３は、ＲＡＩＤグループ１１２の動作を制御する。コピー制御部１３４は、ＬＵＮ領域間のデータコピーを制御する。キャッシュ制御部１３５は、ＲＡＩＤグループ１１２に対するＩ／Ｏ実行時にキャッシュメモリ（非図示）を利用して処理を高速化するキャッシュ制御を実施する。
【００６３】
キャッシュメモリは、ＲＡＩＤグループ１１２のＬＵＮ領域に対するデータの読み書きよりも高速な読み書きが可能な記憶装置である。キャッシュメモリとしては、例えば、コントローラ１１１に接続された不揮発性メモリ又は揮発性メモリなどが利用される。
【００６４】
例えば、キャッシュ制御部１３５は、サーバ１０１ａからＷＲＩＴＥ要求を受け付けた場合、書き込み対象のデータをキャッシュメモリに書き込む。そして、キャッシュ制御部１３５は、キャッシュメモリへの書き込みが完了した段階でサーバ１０１ａへ完了応答を返す。また、キャッシュ制御部１３５は、予め設定されたタイミングでキャッシュメモリに格納されたデータをＬＵＮ領域に書き込む。
【００６５】
また、キャッシュ制御部１３５は、サーバ１０１ａからＲＥＡＤ要求を受け付けた場合、キャッシュメモリに読み出し対象のデータが存在するかを確認する。キャッシュメモリに読み出し対象のデータがある場合、キャッシュ制御部１３５は、キャッシュメモリからデータを読み出してサーバ１０１ａへ応答する。キャッシュメモリに読み出し対象のデータがない場合、キャッシュ制御部１３５は、ＬＵＮ領域からデータを読み出してサーバ１０１ａへ応答する。
【００６６】
（コピー処理の例）
ここで、図７及び図８を参照しながら、コピー制御部１３４の機能について、さらに説明する。図７は、第２実施形態に係るコピー処理の一例（コピー元の区画サイズ＜コピー先の区画サイズ）を示した図である。図８は、第２実施形態に係るコピー処理の一例（コピー元の区画サイズ＞コピー先の区画サイズ）を示した図である。
【００６７】
図７の例は、コピー元となるＬＵＮ領域に格納されたデータＤ１、Ｄ２を、コピー先となるＬＵＮ領域にコピーする場合のコピー方法を示している。ＬＵＮ領域には複数の区画が設定され、各区画にはＬＵＮ領域のブロックが複数割り当てられている。コピー元のＬＵＮ領域は、区画サイズが２（つまり、１つの区画の大きさが２ブロック分）の６つの区画を有する。一方、コピー先のＬＵＮ領域は、区画サイズが３（つまり、１つの区画の大きさが３ブロック分）の４つの区画を有する。
【００６８】
コピー元のＬＵＮ領域の中でブロック番号０、１に割り当てられた区画には、データＤ１が格納されている。また、ブロック番号２、３に割り当てられた区画、ブロック番号４、５に割り当てられた区画、ブロック番号６、７に割り当てられた区画、及びブロック番号１０、１１に割り当てられた区画は、未フォーマット領域である。ブロック番号８、９に割り当てられた区画には、データＤ２が格納されている。
【００６９】
コピー先のＬＵＮ領域には、ブロック番号０、１、２に割り当てられた区画、ブロック番号３、４、５に割り当てられた区画、ブロック番号６、７、８に割り当てられた区画、及びブロック番号９、１０、１１に割り当てられた区画がある。コピー制御部１３４がデータＤ１、Ｄ２をコピーする前は、いずれの区画も未フォーマット領域である。ここで、コピー制御部１３４は、同じブロック番号のブロックにデータＤ１、Ｄ２をコピーする。
【００７０】
データＤ１をコピーする場合、コピー制御部１３４は、データＤ１が格納されるコピー先のブロック番号を特定する。また、コピー制御部１３４は、特定したブロック番号を含む区画を特定する。図７の例では、ブロック番号０、１、２に割り当てられた区画が特定される。ここで、コピー制御部１３４は、特定した区画にデータＤ１を格納した際、未フォーマット領域として残る領域のブロック番号を特定し、そのブロック番号に対応する領域がｎｕｌｌデータで埋まるようにデータＤ１にｎｕｌｌデータを付加する。
【００７１】
図７の例では、データＤ１をそのままコピーすると、コピー先のブロック番号２に対応する領域が未フォーマット領域となるため、コピー制御部１３４は、データＤ１の後ろに１ブロック分のｎｕｌｌデータを付加してデータＤ１ａを作成する。そして、コピー制御部１３４は、データＤ１ａをコピー先のＬＵＮ領域に書き込む。このとき、コピー制御部１３４は、データＤ１ａについて計算したＢＣＣを共にＬＵＮ領域に書き込む。
【００７２】
データＤ２をコピーする場合、コピー制御部１３４は、データＤ２が格納されるコピー先のブロック番号を特定する。また、コピー制御部１３４は、特定したブロック番号を含む区画を特定する。図７の例では、ブロック番号６、７、８に割り当てられた区画、及びブロック番号９、１０、１１に割り当てられた区画が特定される。
【００７３】
ここで、コピー制御部１３４は、特定した区画にデータＤ２を格納した際、未フォーマット領域として残る領域のブロック番号を特定し、そのブロック番号に対応する領域がｎｕｌｌデータで埋まるようにデータＤ２にｎｕｌｌデータを付加する。この例では２つの区画が特定されているため、コピー制御部１３４は、区画毎にｎｕｌｌデータを付加したデータ（データＤ２ａ、Ｄ２ｂ）を作成する。
【００７４】
図７の例では、データＤ２のブロック番号８に対応する部分をそのままコピーすると、ブロック番号８を含むコピー先の区画の中で、ブロック番号６、７に対応する領域が未フォーマット領域となる。また、データＤ２のブロック番号９に対応する部分をそのままコピーすると、ブロック番号９を含むコピー先の区画の中で、ブロック番号１０、１１に対応する領域が未フォーマット領域となる。
【００７５】
そのため、コピー制御部１３４は、データＤ２のブロック番号８に対応する部分の前に２ブロック分のｎｕｌｌデータを付加してデータＤ２ａを作成する。また、コピー制御部１３４は、データＤ２のブロック番号９に対応する部分の後ろに２ブロック分のｎｕｌｌデータを付加してデータＤ２ｂを作成する。そして、コピー制御部１３４は、データＤ２ａ、Ｄ２ｂをコピー先のＬＵＮ領域に書き込む。このとき、コピー制御部１３４は、データＤ２ａ、Ｄ２ｂのそれぞれについて計算したＢＣＣを共にＬＵＮ領域に書き込む。
【００７６】
コピー元の区画サイズがコピー先の区画サイズより小さい場合について説明したが、コピー元の区画サイズがコピー先の区画サイズより大きい場合についても同様である。
図８の例は、コピー元となるＬＵＮ領域に格納されたデータＤ３、Ｄ４を、コピー先となるＬＵＮ領域にコピーする場合のコピー方法を示している。コピー元のＬＵＮ領域は、区画サイズが３（つまり、１つの区画の大きさが３ブロック分）の４つの区画を有する。一方、コピー先のＬＵＮ領域は、区画サイズが２（つまり、１つの区画の大きさが２ブロック分）の６つの区画を有する。
【００７７】
コピー元のＬＵＮ領域には、ブロック番号０、１、２に割り当てられた区画、ブロック番号３、４、５に割り当てられた区画、ブロック番号６、７、８に割り当てられた区画、及びブロック番号９、１０、１１に割り当てられた区画がある。
【００７８】
コピー元のＬＵＮ領域の中でブロック番号０、１、２に割り当てられた区画には、データＤ３が格納されている。ブロック番号６、７、８に割り当てられた区画には、データＤ４が格納されている。また、ブロック番号３、４、５に割り当てられた区画、及びブロック番号９、１０、１１に割り当てられた区画は、未フォーマット領域である。
【００７９】
コピー先のＬＵＮ領域には、ブロック番号０、１に割り当てられた区画、ブロック番号２、３に割り当てられた区画、ブロック番号４、５に割り当てられた区画、ブロック番号６、７に割り当てられた区画、ブロック番号８、９に割り当てられた区画、ブロック番号１０、１１に割り当てられた区画がある。未フォーマット領域である。コピー制御部１３４がデータＤ３、Ｄ４をコピーする前は、いずれの区画も未フォーマット領域である。ここで、コピー制御部１３４は、同じブロック番号のブロックにデータＤ３、Ｄ４をコピーする。
【００８０】
データＤ３をコピーする場合、コピー制御部１３４は、データＤ３が格納されるコピー先のブロック番号を特定する。また、コピー制御部１３４は、特定したブロック番号を含む区画を特定する。図８の例では、ブロック番号０、１に割り当てられた区画、及びブロック番号２、３に割り当てられた区画が特定される。
【００８１】
ここで、コピー制御部１３４は、特定した区画にデータＤ３を格納した際、未フォーマット領域として残る領域のブロック番号を特定し、そのブロック番号に対応する領域がｎｕｌｌデータで埋まるようにデータＤ３にｎｕｌｌデータを付加する。この例では２つの区画が特定されているため、コピー制御部１３４は、必要に応じてｎｕｌｌデータを付加し、それぞれの区画にサイズが適合するデータ（データＤ３ａ、Ｄ３ｂ）を作成する。
【００８２】
図８の例では、データＤ３をそのままコピーすると、コピー先のブロック番号３に対応する領域が未フォーマット領域となる。そのため、コピー制御部１３４は、データＤ３の先頭２ブロック分のデータＤ３ａと、末尾１ブロック分のデータの後ろに１ブロック分のｎｕｌｌデータを付加したデータＤ３ｂとを作成する。そして、コピー制御部１３４は、データＤ３ａ、Ｄ３ｂをコピー先のＬＵＮ領域に書き込む。このとき、コピー制御部１３４は、データＤ３ａ、Ｄ３ｂのそれぞれについて計算したＢＣＣを共にＬＵＮ領域に書き込む。
【００８３】
データＤ４をコピーする場合、コピー制御部１３４は、データＤ４が格納されるコピー先のブロック番号を特定する。また、コピー制御部１３４は、特定したブロック番号を含む区画を特定する。図８の例では、ブロック番号６、７に割り当てられた区画、及びブロック番号８、９に割り当てられた区画が特定される。
【００８４】
この場合、データＤ３のコピーに関する処理と同様、コピー制御部１３４は、データＤ４の先頭２ブロック分のデータＤ４ａと、末尾１ブロック分のデータの後ろに１ブロック分のｎｕｌｌデータを付加したデータＤ４ｂとを作成する。そして、コピー制御部１３４は、データＤ４ａ、Ｄ４ｂをコピー先のＬＵＮ領域に書き込む。このとき、コピー制御部１３４は、データＤ４ａ、Ｄ４ｂのそれぞれについて計算したエラーチェックコードであるＢＣＣを共にＬＵＮ領域に書き込む。
【００８５】
上記のように、コピー制御部１３４は、未フォーマットの区画に対し、区画のサイズに合わせてｎｕｌｌデータを追加して書き込み対象のデータを直接書き込む。このとき、コピー制御部１３４は、区画に書き込むデータのＢＣＣを計算し、計算したＢＣＣを共に書き込むことで、区画に格納されたデータとＢＣＣとの整合性が維持される。その結果、事前にフォーマットがされていなくても、書き込み後に正常にＲＥＡＤ処理及びＷＲＩＴＥ処理を完了させることが可能になる。
【００８６】
上記の方法によれば、一度の書き込み処理で、書き込み対象のデータの書き込みと、区画毎に残る未フォーマット領域のフォーマットとが完了するため、処理の負担はほとんど増大しない。また、運用開始前のフォーマットが省略できるため、運用開始までの待ち時間が短縮される。また、バックグラウンドでＬＵＮ領域全体のフォーマットを一度に実行する場合とは異なり、運用中の負荷増大に伴う他の処理への影響を回避できる。
【００８７】
なお、説明の都合上、ここではＬＵＮ領域間におけるデータコピーを例に説明したが、未フォーマットの区画に対するデータの書き込みを実行する際にキャッシュ制御部１３５も同様の処理を実行する。つまり、キャッシュ制御部１３５は、キャッシュメモリからＬＵＮ領域へデータを書き込む際、書き込み先の区画に適合するように適宜ｎｕｌｌデータを付加したデータを生成する。また、キャッシュ制御部１３５は、生成したデータのＢＣＣを計算し、そのデータと共にＬＵＮ領域に書き込む。
【００８８】
以上、コントローラ１１１の機能について説明した。
上述したコントローラ１１１の機能によれば、通常の運用時における処理の高速化や効率化に加え、障害発生時におけるＲＡＩＤの再構築処理など、フォーマット済みの区画を対象として実行される処理の高速化も期待できる。つまり、上述したコントローラ１１１の機能によれば、書き込みが生じた区画だけがフォーマット済みの状態になるため、再構築の対象とされる範囲が小さくなる。その結果、短時間で復旧できるようになる。また、各区画に対する書き込み回数が少なくなる分、ＳＳＤなどの書き込み回数に制限があるデバイスを利用している場合に、その寿命が延びる可能性もある。
【００８９】
［２−４．処理フロー］
次に、コントローラ１１１が実行する処理の流れについて説明する。
（ＬＵＮ作成）
まず、図９を参照しながら、ＬＵＮ領域の作成に関する処理（ＬＵＮ作成処理）の流れについて説明する。図９は、第２実施形態に係るＬＵＮ作成処理の流れを示したフロー図である。この処理は、主にＲＡＩＤ制御部１３３が実行する。
【００９０】
（Ｓ１０１）ＲＡＩＤ制御部１３３は、クイックフォーマット用のビットマップを作成する。ビットマップを作成したＲＡＩＤ制御部１３３は、ＦＣＰ／ＮＡＳ制御部１３２を介してサーバ１０１ａ、１０１ｂにＬＵＮを公開する。
【００９１】
クイックフォーマットとは、ＨＤＤのセクタに対するｎｕｌｌデータ及びＢＣＣの書き込み（初期化）をバックグラウンドで実施する方法である。コントローラ１１１は初期化の実施中もサーバ１０１ａ、１０１ｂからアクセスを受けるため、初期化の進捗状況を管理するために各ビットが進捗状況を示すビットマップが利用される。
【００９２】
（Ｓ１０２）ＲＡＩＤ制御部１３３は、フォーマット省略方式を適用するか否かを判定する。フォーマット省略方式とは、図７及び図８のように未フォーマット領域に対し、フォーマットを経ずに書き込みデータを直接書き込む方式である。
【００９３】
フォーマット省略方式を適用するか否かはユーザにより予め設定され、その設定内容を示す情報が記憶部１３１に格納されている。ＲＡＩＤ制御部１３３は、この情報を参照してフォーマット省略方式を適用するか否かを判定する。フォーマット省略方式を適用する場合、処理はＳ１０３へと進む。一方、フォーマット省略方式を適用しない場合、処理はＳ１０４へと進む。
【００９４】
（Ｓ１０３）ＲＡＩＤ制御部１３３は、ＦＭＴ管理テーブル１３１ｂを作成し、記憶部１３１に格納する。このとき、ＲＡＩＤ制御部１３３は、図６（初期状態）に示すように、全てのビットが未フォーマット状態を示すビット値（図６の例では１）で埋められたビットマップをＦＭＴ管理テーブル１３１ｂとして作成する。ＦＭＴ管理テーブル１３１ｂが記憶部１３１に格納されることで、フォーマット省略方式が有効化される。Ｓ１０３の処理が完了すると、図９に示した一連の処理は終了する。
【００９５】
（Ｓ１０４）ＲＡＩＤ制御部１３３は、バックグラウンドフォーマット（つまり、クリックフォーマット）を実行する。例えば、ＲＡＩＤ制御部１３３は、コントローラ１１１がサーバ１０１ａ、１０１ｂからアクセス要求を受けた場合に、アクセス先の領域を初期化し、初期化の完了をキャッシュ制御部１３５に通知する。この通知を受けたキャッシュ制御部１３５が、アクセス要求に応じた処理を実行する。Ｓ１０４の処理が完了すると、図９に示した一連の処理は終了する。
【００９６】
以上、ＬＵＮ作成処理の流れについて説明した。
（ＷＲＩＴＥ）
次に、図１０及び図１１を参照しながら、ＷＲＩＴＥ処理の流れについて説明する。図１０は、第２実施形態に係るＷＲＩＴＥ処理の流れを示した第１のフロー図である。図１１は、第２実施形態に係るＷＲＩＴＥ処理の流れを示した第２のフロー図である。
【００９７】
この処理は、主にキャッシュ制御部１３５が実行する。なお、説明の都合上、サーバ１０１ａからコントローラ１１１がＷＲＩＴＥ要求を受け付けた場合を例に説明する。
（Ｓ１１１）キャッシュ制御部１３５は、ＷＲＩＴＥ要求で指定されたブロック（該当ブロック）がキャッシュ上にあるか否かを判定する。つまり、キャッシュ制御部１３５は、該当ブロックのデータがキャッシュメモリに格納されているか否かを判定する。該当ブロックがキャッシュ上にある場合、処理はＳ１１２へと進む。一方、該当ブロックがキャッシュ上にない場合、処理はＳ１１３へと進む。
【００９８】
（Ｓ１１２）キャッシュ制御部１３５は、キャッシュ上へデータを展開し、サーバ１０１ａへ応答する。つまり、キャッシュ制御部１３５は、ＷＲＩＴＥ処理の対象となる書き込みデータをキャッシュメモリ上の該当ブロックに格納し、ＦＣＰ／ＮＡＳ制御部１３２を介して、書き込み完了を示す完了応答をサーバ１０１ａへ送信する。なお、キャッシュメモリ上のデータは、予め設定されたタイミングでキャッシュ制御部１３５によりＲＡＩＤグループ１１２のＨＤＤに書き込まれる。Ｓ１１２の処理が完了すると、図１０及び図１１に示した一連の処理は終了する。
【００９９】
（Ｓ１１３）キャッシュ制御部１３５は、該当ブロックを含むＬＵＮ領域のＬＵＮ（該当ＬＵＮ）に対応するＦＭＴ管理テーブル１３１ｂが有効か否かを判定する。つまり、キャッシュ制御部１３５は、該当ＬＵＮに対応するＦＭＴ管理テーブル１３１ｂが記憶部１３１に格納されているか否かを判定する。該当ＬＵＮのＦＭＴ管理テーブル１３１ｂが有効である場合、処理はＳ１１４へと進む。一方、該当ＬＵＮのＦＭＴ管理テーブル１３１ｂが有効でない場合、処理はＳ１１６へと進む。
【０１００】
（Ｓ１１４）キャッシュ制御部１３５は、ＷＲＩＴＥ要求で指定されたＬＢＡ（Logical Block Addressing）を基に、書き込み先に対応するＦＭＴ管理テーブル１３１ｂのビット位置を特定する。つまり、キャッシュ制御部１３５は、ＦＭＴ管理テーブル１３１ｂから、該当ブロックを含む区画（該当区画）のフォーマット状態を示すビットを特定する。
【０１０１】
（Ｓ１１５）キャッシュ制御部１３５は、特定したビットのビット値を参照し、該当区画がフォーマット済みか否かを判定する。該当区画がフォーマット済みである場合、処理はＳ１１６へと進む。一方、該当区画がフォーマット済みでない場合、処理は図１１のＳ１１７へと進む。
【０１０２】
（Ｓ１１６）キャッシュ制御部１３５は、キャッシュ上へデータを展開し、サーバ１０１ａへ応答する。つまり、キャッシュ制御部１３５は、ＷＲＩＴＥ処理の対象となる書き込みデータをキャッシュメモリ上の該当ブロックに格納し、ＦＣＰ／ＮＡＳ制御部１３２を介して、書き込み完了を示す完了応答をサーバ１０１ａへ送信する。なお、キャッシュメモリ上のデータは、予め設定されたタイミングでキャッシュ制御部１３５によりＲＡＩＤグループ１１２のＨＤＤに書き込まれる。Ｓ１１６の処理が完了すると、図１０及び図１１に示した一連の処理は終了する。
【０１０３】
（Ｓ１１７）キャッシュ制御部１３５は、該当区画の先頭ブロック番号を特定する。
（Ｓ１１８）キャッシュ制御部１３５は、フォーマット用データ（ｎｕｌｌデータ及びそのＢＣＣ）を準備する。
【０１０４】
（Ｓ１１９）キャッシュ制御部１３５は、ｎｕｌｌデータ、ＢＣＣ、ブロック番号、個数、及びＷＲＩＴＥのみの動作モードを指定し、マージ制御を実施する。マージ制御とは、該当区画のサイズに応じて適宜書き込みデータにｎｕｌｌデータを付加し、ｎｕｌｌデータを付加した書き込みデータに基づくＢＣＣを計算する処理である。
【０１０５】
ＷＲＩＴＥのみの動作モードとは、該当区画に書き込まれている古いデータ及びそのＢＣＣを読み出す処理を実行せず、直ちに書き込みデータを該当区画に書き込む処理を実行する動作モードである。キャッシュ制御部１３５は、図７及び図８の例と同様に、ＷＲＩＴＥ要求されたデータの前後に必要に応じてｎｕｌｌデータを付加して新たな書き込みデータを生成し、このデータについて計算したＢＣＣと共に、この新たな書き込みデータを該当区画に書き込む。
【０１０６】
（Ｓ１２０）キャッシュ制御部１３５は、該当区画に対応するＦＭＴ管理テーブル１３１ｂのビット（該当ビット）を更新する。Ｓ１１７からＳ１１９の処理は、実質的に該当区画をフォーマットした状態にするから、キャッシュ制御部１３５は、該当ビットのビット値をフォーマット済みの状態を示す値（例えば、０）に書き換える。
【０１０７】
（Ｓ１２１）キャッシュ制御部１３５は、ＬＵＮ管理テーブル１３１ａの記録されている情報の中で、未フォーマット区画の数（未フォーマットの状態にある区画数のカウント値）を１減少させる。
【０１０８】
（Ｓ１２２）キャッシュ制御部１３５は、未フォーマット区画の数が０か否かを判定する。未フォーマット区画の数が０の場合、処理はＳ１２３へと進む。一方、未フォーマット区画の数が０でない場合、処理はＳ１２４へと進む。なお、未フォーマット区画の数が０であるということは、該当ＬＵＮのＬＵＮ領域全体がフォーマット済みの状態になったことを示す。
【０１０９】
（Ｓ１２３）キャッシュ制御部１３５は、該当ＬＵＮに対応するＦＭＴ管理テーブル１３１ｂを削除する。つまり、ＬＵＮ領域全体がフォーマット済みの状態になった場合に、キャッシュ制御部１３５は、そのＬＵＮ領域のフォーマット状態を示すＦＭＴ管理テーブル１３１ｂを削除し、記憶部１３１の空き容量を増加させる。
【０１１０】
（Ｓ１２４）キャッシュ制御部１３５は、キャッシュ上へデータを展開し、サーバ１０１ａへ応答する。つまり、キャッシュ制御部１３５は、ＷＲＩＴＥ処理の対象となる書き込みデータをキャッシュメモリ上の該当ブロックに格納し、ＦＣＰ／ＮＡＳ制御部１３２を介して、書き込み完了を示す完了応答をサーバ１０１ａへ送信する。なお、キャッシュメモリ上のデータは、予め設定されたタイミングでキャッシュ制御部１３５によりＲＡＩＤグループ１１２のＨＤＤに書き込まれる。Ｓ１２４の処理が完了すると、図１０及び図１１に示した一連の処理は終了する。
【０１１１】
以上、ＷＲＩＴＥ処理の流れについて説明した。
（ＲＥＡＤ）
次に、図１２を参照しながら、ＲＥＡＤ処理の流れについて説明する。図１２は、第２実施形態に係るＲＥＡＤ処理の流れを示したフロー図である。この処理は、主にキャッシュ制御部１３５が実行する。なお、説明の都合上、サーバ１０１ａからコントローラ１１１がＲＥＡＤ要求を受け付けた場合を例に説明する。
【０１１２】
（Ｓ１３１）キャッシュ制御部１３５は、ＲＥＡＤ要求で指定されたブロック（該当ブロック）がキャッシュ上にあるか否かを判定する。つまり、キャッシュ制御部１３５は、該当ブロックのデータがキャッシュメモリに格納されているか否かを判定する。該当ブロックがキャッシュ上にある場合、処理はＳ１３６へと進む。一方、該当ブロックがキャッシュ上にない場合、処理はＳ１３２へと進む。
【０１１３】
（Ｓ１３２）キャッシュ制御部１３５は、該当ブロックを含むＬＵＮ領域のＬＵＮ（該当ＬＵＮ）に対応するＦＭＴ管理テーブル１３１ｂが有効か否かを判定する。つまり、キャッシュ制御部１３５は、該当ＬＵＮに対応するＦＭＴ管理テーブル１３１ｂが記憶部１３１に格納されているか否かを判定する。該当ＬＵＮのＦＭＴ管理テーブル１３１ｂが有効である場合、処理はＳ１３３へと進む。一方、該当ＬＵＮのＦＭＴ管理テーブル１３１ｂが有効でない場合、処理はＳ１３５へと進む。
【０１１４】
（Ｓ１３３）キャッシュ制御部１３５は、ＲＥＡＤ要求で指定されたＬＢＡを基に、読み出し先に対応するＦＭＴ管理テーブル１３１ｂのビット位置を特定する。つまり、キャッシュ制御部１３５は、ＦＭＴ管理テーブル１３１ｂから、該当ブロックを含む区画（該当区画）のフォーマット状態を示すビットを特定する。
【０１１５】
（Ｓ１３４）キャッシュ制御部１３５は、特定したビットのビット値を参照し、該当区画がフォーマット済みか否かを判定する。該当区画がフォーマット済みである場合、処理はＳ１３５へと進む。一方、該当区画がフォーマット済みでない場合、処理はＳ１３７へと進む。
【０１１６】
（Ｓ１３５）キャッシュ制御部１３５は、キャッシュメモリ上へ該当ブロックにあるデータを読み出す。
（Ｓ１３６）キャッシュ制御部１３５は、読み出したデータでサーバ１０１ａへ応答する。Ｓ１３６の処理が完了すると、図１２に示した一連の処理は終了する。
【０１１７】
（Ｓ１３７）キャッシュ制御部１３５は、ｎｕｌｌデータでサーバ１０１ａへ応答する。Ｓ１３７の処理が完了すると、図１２に示した一連の処理は終了する。
以上、ＲＥＡＤ処理の流れについて説明した。
【０１１８】
［２−５．応用例］
ここで、上述した第２実施形態に係る技術の応用例について説明する。なお、以下ではバックグラウンドコピー方式、コピーオンライト方式、二重化切離し方式を例に説明するが、同技術の適用範囲はこれらの例に限定されるものではない。
【０１１９】
（ＯＰＣ／ＱｕｉｃｋＯＰＣ）
まず、図１３を参照しながら、ＯＰＣ（One Point Copy）／ＱｕｉｃｋＯＰＣと呼ばれる方式（バックグラウンドコピー方式）への応用について説明する。図１３は、ＯＰＣ／ＱｕｉｃｋＯＰＣへの応用について説明するための図である。
【０１２０】
ＯＰＣは、ある時点で、コピー元のＬＵＮ領域の連続するブロック領域を異なるＬＵＮ領域（コピー先）にコピーする機能である。この機能は、例えば、図１３に示すように、業務用の記憶領域である業務ボリュームから、バックアップ用の記憶領域である複製ボリュームにデータをコピーする用途で利用することができる。この例では、開始指示前の業務ボリュームが複製ボリュームにコピーされている。
【０１２１】
ＯＰＣは、論理コピー及び物理コピーという２種類のコピー状態を有する。論理コピーは、サーバ１０１ａ、１０１ｂから受け付けたコピーの要求に対し、物理的にコピーを実行する前に論理的にコピーを完了させ、その完了通知をサーバ１０１ａ、１０１ｂに返すモードである。一方、物理コピーは、論理コピーが完了した後に物理的にＨＤＤ上でコピーを実行する状態である。ＯＰＣは、バックグラウンドで実行される。
【０１２２】
ＱｕｉｃｋＯＰＣは、ある時点で、連続するブロック領域をコピーするＯＰＣと同様の仕組みを有する。但し、ＱｕｉｃｋＯＰＣは、初回のコピー完了後、２回目以降のコピーでは前回コピーを実行した時点からの差分データがある更新ブロックをコピーする。初回のコピーは、全領域の物理コピーを実行する。２回目以降のコピーは、前回から更新した分を対象に物理コピーを実行する。
【０１２３】
第２実施形態の技術を適用する場合、コピー元のＬＵＮ領域は未フォーマット領域を含みうる。そして、フォーマット済みの領域が物理コピーの対象となる。コピー先のＬＵＮ領域は、全領域が未フォーマット領域であるか、ＯＰＣ又はＱｕｉｃｋＯＰＣの実行時に設定された未フォーマットの領域である。
【０１２４】
（論理コピー）
ＯＰＣを起動した場合、コピー制御部１３４は、コピー状態を表現するビットマップ（転送用ビットマップ）を生成する。転送用ビットマップは、ブロック領域のデータがコピー済みであるか否かをビット値で表現したものである。転送用ビットマップを生成すると、コピー制御部１３４は、論理コピーを完了する。
【０１２５】
コピー制御部１３４は、転送用ビットマップを用いたコピー監視とホストＩ／Ｏとの排他制御により、論理コピーが完了した時点におけるコピー元の領域に格納されたデータと同じ内容のデータをコピー先の領域に生成する。
【０１２６】
ＱｕｉｃｋＯＰＣを起動した場合、コピー制御部１３４は、転送用ビットマップと、更新状態を表すビットマップ（差分用ビットマップ）を生成する。差分用ビットマップは、ブロック領域の更新状態をビット値で表現したものである。転送用ビットマップ及び差分用ビットマップを生成すると、コピー制御部１３４は、初期の論理コピーを完了する。
【０１２７】
コピー制御部１３４は、コピー元の未フォーマット領域を「コピー完了」とする。これにより、コピーの対象領域を減らすことができる。なお、コピー元のＬＵＮ領域とコピー先のＬＵＮ領域との間で区画サイズが異なる場合、コピー制御部１３４は、コピー先の区画サイズに合わせて調整した領域を「コピー完了」とする（図７及び図８参照）。
【０１２８】
（物理コピー）
論理コピー完了後、コピー制御部１３４は、コピー元の領域にあるデータをコピー先の領域へと順次物理的にコピーする。そして、コピー制御部１３４は、物理コピーが完了した領域に対応する転送用ビットマップのビット値を「コピー完了」のものに変更する。
【０１２９】
コピー先への書き出しは、コピー元から読み出したデータをキャッシュメモリに書き出すことにより開始される。コピー制御部１３４は、キャッシュメモリに該当区画のサイズ分の初期化データ（ｎｕｌｌデータ及びＢＣＣ）を準備し、書き込み対象のデータをマージする。また、コピー制御部１３４は、予め設定されたタイミング（例えば、書き込みデータのデータ量が閾値を超えた場合、ホストＩ／Ｏが一定時間停止した場合、書き込みデータが一定時間以上キャッシュメモリに常駐している場合など）でＨＤＤに書き込む。
【０１３０】
ＯＰＣの場合、コピー制御部１３４は、ＬＵＮ領域全体の物理コピーが完了すると、フォーマット状態を示すビットマップを削除して記憶容量を開放する。ＱｕｉｃｋＯＰＣの場合、コピー制御部１３４は、ＬＵＮ領域全体の物理コピーが完了しても、トラッキング状態としてビットマップを継続して維持する。なお、コピー状態を表す転送用ビットマップは維持される。
【０１３１】
ＱｕｉｃｋＯＰＣでは、初期の論理コピーが完了した後、コピー元の領域及びコピー先の領域でＷＲＩＴＥ処理が発生した場合、差分用ビットマップを用いて更新箇所の情報が保持される。初期の論理コピーが完了した後、コピー元の未コピー領域にＷＲＩＴＥ要求が発生した場合、ＷＲＩＴＥ処理前のデータが直ちにコピー先の領域にコピーされ、その後、ＷＲＩＴＥ要求の処理が実行される。この場合、該当する領域の転送用ビットマップは「コピー完了」に変更され、差分ビットマップが「更新あり」に変更される。
【０１３２】
また、ＱｕｉｃｋＯＰＣでは、既に起動済みのＱｕｉｃｋＯＰＣセッションに対し、ホストコンピュータから再起動の指示を受けた場合に、コピー制御部１３４は、差分ビットマップに記録された更新部分をコピー先にコピーする。これらの制御を実施することで、コピー先の事前物理フォーマットが不要となるため、時間を節約できる。また、コピー元に未フォーマット領域が存在する場合には、転送されるデータのデータ量をフォーマット済み領域のデータに絞ることができるため、時間の節約や負荷の低減が見込める。
【０１３３】
（ＳｎａｐＯＰＣ／ＳｎａｐＯＰＣ＋）
次に、図１４〜図１６を参照しながら、ＳｎａｐＯＰＣ／ＳｎａｐＯＰＣ＋と呼ばれる方式（コピーオンライト方式）への応用について説明する。図１４は、ＳｎａｐＯＰＣ／ＳｎａｐＯＰＣ＋への応用について説明するための第１の図である。図１５は、ＳｎａｐＯＰＣ／ＳｎａｐＯＰＣ＋への応用について説明するための第２の図である。図１６は、ＳｎａｐＯＰＣ／ＳｎａｐＯＰＣ＋への応用について説明するための第３の図である。
【０１３４】
ＳｎａｐＯＰＣは、ある時点で、ＬＵＮ領域の連続するブロック領域（コピー元）を異なるＬＵＮ領域のブロック領域（コピー先）として論理的にコピーする。但し、ＳｎａｐＯＰＣは、ＯＰＣ／ＱｕｉｃｋＯＰＣとは異なり更新のあったブロックの更新前のデータをコピー先に移動する。ホストコンピュータが認識するデータのコピー先ＬＵＮ領域は、更新されていないコピー元ブロック領域と、更新したコピー元ブロック領域の更新前データとを組み合わせて再現される。
【０１３５】
この機能は、例えば、図１４に示すように、業務用の記憶領域である業務ボリュームから、バックアップ用の記憶領域である複製ボリュームに更新前データをコピーする用途で利用することができる。この例では、開始指示前の業務ボリュームに格納されていたデータの中で、開始指示後に業務ボリューム内で更新された領域に対応する開始指示前のデータが複製ボリュームにコピーされている。
【０１３６】
ＳｎａｐＯＰＣ／ＳｎａｐＯＰＣ＋では、コピー先に用意する領域は更新量分の容量で足りる。また、ＳｎａｐＯＰＣ／ＳｎａｐＯＰＣ＋では、コピー元を更新するごとに、随時、コピー先に旧データが物理コピーされる。
【０１３７】
ＳｎａｐＯＰＣ＋は、ＳｎａｐＯＰＣの機能に更新部分を世代管理できる仕組みを設けて改良したものである。この仕組みによれば、ＳｎａｐＯＰＣでは重複して保持してしまうデータを更新履歴として世代管理するため、より少ないコピー先領域で世代毎のバックアップを実現することができる。また、更新されたデータの差分を更新履歴として世代管理できるため、ＳｎａｐＯＰＣを利用した定期的なバックアップよりも少ないディスク容量で世代バックアップが可能になるという利点もある。
【０１３８】
フォーマット省略方式を採用した場合、コピー元の領域は未フォーマット領域を含みうる。コピー先の領域はＬＵＮ領域であり、最初は実データの割当てがなく、コピー元ブロック領域の更新に応じて、適宜、別途用意した複数のＬＵＮ領域を含むストレージプールから所要の領域を切出したものが割り当てられる（図１５参照）。
【０１３９】
例えば、コピー先の領域として割当てられる領域サイズの単位は１ＧＢ、２ＧＢ、４ＧＢなどから選択されることが多い。但し、ストレージプールに含まれるＬＵＮ領域にフォーマット省略方式を採用する場合、ＬＵＮ領域の区画サイズの倍数に調整される。
【０１４０】
フォーマット済み区画で更新が発生した場合、更新があったブロックについて更新前データがコピー先に移動される（図１６参照）。未フォーマット区画で書込みが発生した場合、未フォーマット区画に更新前の実データは存在しない。しかし、ＳｎａｐＯＰＣ／ＳｎａｐＯＰＣ＋ではサーバから認識するコピー先ＬＵＮ領域は、更新されていないコピー元ブロックと更新したコピー元ブロックの更新前データを組み合わせて再現される。
【０１４１】
そのため、コピー制御部１３４は、コピー先ブロックに更新前データとしてｎｕｌｌデータを書き出す。コピー制御部１３４は、ＷＲＩＴＥ処理の対象となるブロック分のｎｕｌｌデータをコピー先ブロックに書き出す。このとき、コピー制御部１３４は、コピー対象のデータと初期化データとをキャッシュ上でマージして書き込む。コピー元の領域に対するＷＲＩＴＥ処理も同様に実行される。
【０１４２】
なお、コピー元で未フォーマット区画に最初のＷＲＩＴＥ要求がされた後、その初期化対象区画に次のＷＲＩＴＥ要求がされた場合、コピー制御部１３４は、キャッシュ制御を通して更新前ブロックのデータ（ｎｕｌｌデータ）を得てコピー先に書き込む。ＨＤＤへの書き込みが完了してｎｕｌｌデータがキャッシュ上にない場合、コピー制御部１３４は、ＨＤＤから更新前ブロックのデータ（ｎｕｌｌデータ）を読出して更新先に書き込む。
【０１４３】
上記のように、ストレージプールのＬＵＮ領域にフォーマット省略方式を適用した場合、ＬＵＮ領域の事前物理フォーマットが不要となるため時間を節約できる。また、未フォーマット区画に対するＷＲＩＴＥ処理が続く場合、更新前データ（ｎｕｌｌデータ）がキャッシュ上でヒットする可能性が高く、コピー先の領域に対する更新前データ（ｎｕｌｌデータ）のＷＲＩＴＥ処理に要する時間が短くなるという利点がある。
【０１４４】
（ＥＣ）
次に、図１７を参照しながら、ＥＣ（Equivalent Copy）と呼ばれる方式（二重化切離し方式）への応用について説明する。図１７は、ＥＣへの応用について説明するための図である。
【０１４５】
ＥＣは異なるＬＵＮ領域上の連続するブロック領域（コピー元）を異なるＬＵＮ領域のブロック領域（コピー先）にコピーし、コピー元の領域とコピー先の領域とで二重化状態を作出し、この二重化状態を切離すことによってコピーを作成する技術である。また、ＥＣは、サスペンドとレジュームにより等価状態の一時切り離しと再開を行う仕組みを有する（図１７参照）。再開時は、一時切り離し状態におけるコピー元の領域に対する更新・差分データがコピー先に反映される。
【０１４６】
フォーマット省略方式を採用した場合、コピー元の領域には未フォーマット領域が含まれうる。フォーマット済み領域が初期コピーの対象となる。コピー先の領域は領域全体が未フォーマット領域に設定されるか、又はＥＣ実行時に動的に未フォーマット領域に設定される。なお、コピー元の領域とコピー先の領域とで初期化の対象区画のサイズが異なる場合、ＳｎａｐＯＰＣ／ＳｎａｐＯＰＣ＋の場合と同様に、ｎｕｌｌデータの付加による調整が実施される（図７及び図８参照）。
【０１４７】
コピー制御部１３４は、コピー先の領域への書き出しを実行する際、コピー元の領域から読み出したデータをコピー先のシステムにあるキャッシュメモリに書き出す。このとき、コピー制御部１３４は、キャッシュメモリに該当区画分の初期化データを準備し、コピー対象のデータをマージする。そして、コピー制御部１３４は、予め設定されたタイミングでコピー先のＨＤＤにキャッシュしたデータを書き出す。
【０１４８】
ＥＣの場合、二重化が保たれた状態でサーバからＷＲＩＴＥ要求があると、ＷＲＩＴＥ処理は二重化された両方の領域に対して行われる。フォーマット省略方式を採用する場合、二重化状態の構築中、又は、等価性維持状態でＷＲＩＴＥ要求が未フォーマット区画に対してされた場合、コピー制御部１３４は、二重化された両方の領域に対して初期化データをマージした書き込み対象のデータを書き込む。
【０１４９】
サスペンドを指示し、等価性維持状態の停止又は切り離しをすることで二重化された各領域は、それぞれを対象とする処理で独立して使用できるようになる。コピー元のＬＵＮ領域及びコピー先のＬＵＮ領域に対する更新状態はビットマップで管理される。レジュームを指示した場合、更新データは、二重化再開後の差分コピーがコピー先のＬＵＮ領域に反映される。
【０１５０】
フォーマット省略方式を採用した場合、コピー先の事前物理フォーマットが不要となるため、時間を節約できる。また、二重化構築時に初期転送されるデータを、未フォーマット区画を除く領域のデータに絞ることができるため、データ量を低減でき、転送にかかる負荷を低減することができる。
【０１５１】
（その他）
変形例として、ＬＵＮ領域の物理フォーマットをバックグラウンドジョブとして実行し、未フォーマット区画を認識しながら、区画単位で物理フォーマットを行う方法が変形例として考えられる。
【０１５２】
上記の変形例では、コントローラ１１１は、該当ＬＵＮ領域に対するＩ／Ｏ（ホストＩ／Ｏやコピー機能の実施に伴うＩ／Ｏなど）が発生したら、そのバックグラウンドジョブの処理を一時停止させる。該当ＬＵＮ領域に対するＩ／Ｏがなくなって一定時間が経過したら、コントローラ１１１は、バックグラウンドジョブの処理を再開する。そして、コントローラ１１１は、ＦＭＴ管理テーブル１３１ｂを参照して未フォーマット区画を確認しながら、未フォーマット区画の物理フォーマットを継続実施する。
【０１５３】
また、キャッシュ制御部１３５が、１回の書き込みで該当区画がｎｕｌｌデータ以外のデータで埋まるように書き込みを遅延させるキャッシュ制御を実施するように変形してもよい。この変形によれば、未フォーマット領域に直接ｎｕｌｌデータ以外のデータを書き込める機会が増えるため、より効率的に処理負荷を低減することができる。
【０１５４】
以上、コントローラ１１１が実行する処理の流れについて説明した。
上述したコントローラ１１１の処理によれば、通常の運用時における処理の高速化や効率化に加え、障害発生時におけるＲＡＩＤの再構築処理など、フォーマット済みの区画を対象として実行される処理の高速化も期待できる。つまり、上述したコントローラ１１１の処理によれば、書き込みが生じた区画だけがフォーマット済みの状態になるため、再構築の対象とされる範囲が小さくなる。その結果、短時間で復旧できるようになる。また、各区画に対する書き込み回数が少なくなる分、ＳＳＤなどの書き込み回数に制限があるデバイスを利用している場合に、その寿命が延びる可能性もある。
【０１５５】
以上、第２実施形態について説明した。
【符号の説明】
【０１５６】
１０  サーバ
２０  ストレージ制御装置
２１  記憶部
２１ａ  管理情報
２２  制御部
３０  ディスクアレイ
３０ａ  記憶領域
４１  第１のデータ
４２  第２のデータ
４３  第３のデータ
Ａ１ａ、Ａ１ｂ、Ａ２ａ、Ａ２ｂ、Ａ３ａ、Ａ３ｂ  アドレス
【図１】
2017004146.tif 000003
【図２】
2017004146.tif 000004
【図３】
2017004146.tif 000005
【図４】
2017004146.tif 000006
【図５】
2017004146.tif 000007
【図６】
2017004146.tif 000008
【図７】
2017004146.tif 000009
【図８】
2017004146.tif 000010
【図９】
2017004146.tif 000011
【図１０】
2017004146.tif 000012
【図１１】
2017004146.tif 000013
【図１２】
2017004146.tif 000014
【図１３】
2017004146.tif 000015
【図１４】
2017004146.tif 000016
【図１５】
2017004146.tif 000017
【図１６】
2017004146.tif 000018
【図１７】
2017004146.tif 000019