(57)【特許請求の範囲】
【請求項１】
論理ディスクが構築されている１つまたは複数の物理ディスクを含むストレージ装置であって、
物理ディスクのブロックを初期化する初期化手段と、
物理ディスクにおける論理ディスク割り当てブロックと空きブロックとを入れ替えて、前記論理ディスク割り当てブロックを再利用可能な状態にする割当変更手段と、
論理ディスクが構築されている物理ディスクごとに、空きブロックと入れ替えしきれない論理ディスク割り当てブロックの初期化に要する時間を算出し、算出した時間の中で最大の時間を論理ディスクの初期化所要時間として取得する算出手段と、
前記初期化所要時間で初期化可能な物理ディスクにおける論理ディスク割り当てブロックの最大範囲を初期化可能範囲に決定する範囲決定手段と、
論理ディスクの初期化指示を受け付けた場合に、前記割当変更手段に、初期化可能範囲に含まれないブロックを空きブロックと入れ替えるように指示し、前記初期化手段に、初期化可能範囲に含まれるブロックを初期化するように指示する制御手段とを備えた
ことを特徴とするストレージ装置。
【請求項２】
制御手段は、初期化可能範囲に含まれるブロックの初期化完了後に、自装置と通信可能に接続された通信端末に初期化完了通知を送信し、初期化手段に、空きブロックとの入れ替えによって論理ディスクに割り当てられなくなったブロックを初期化するように指示する
請求項１に記載のストレージ装置。
【請求項３】
算出手段は、論理ディスクが構築されている物理ディスクごとに、論理ディスク割り当てブロック数と空きブロック数とを比較し、
空きブロック数が論理ディスク割り当てブロック数より少ない場合は、論理ディスク割り当てブロック数から空きブロック数を差し引いた残りのブロック数と、物理ディスクの性能値とをもとに、論理ディスク割り当てブロックを初期化するのに必要な時間を算出し、
空きブロック数が論理ディスク割り当てブロック数以上である場合は、論理ディスク割り当てブロックの初期化に必要な時間をゼロとして算出する
請求項１または請求項２に記載のストレージ装置。
【請求項４】
範囲決定手段は、論理ディスクが構築されている物理ディスクごとに、物理ディスクの性能値と論理ディスクの初期化所要時間とをもとに、前記初期化所要時間内で初期化可能な論理ディスク割り当てブロック数を算出し、算出したブロック数をもとに、論理ディスク割り当てブロックの初期化可能範囲を決定する
請求項１から請求項３のうちのいずれか１項に記載のストレージ装置。
【請求項５】
物理ディスクの性能値が、単位時間あたりに初期化可能なブロック数である
請求項３または請求項４に記載のストレージ装置。
【請求項６】
論理ディスクが構築されている１つまたは複数の物理ディスクを含むストレージ装置における初期化方法であって、
論理ディスクが構築されている物理ディスクごとに、空きブロックと入れ替えしきれない論理ディスク割り当てブロックの初期化に要する時間を算出し、算出した時間の中で最大の時間を論理ディスクの初期化所要時間として取得し、
前記初期化所要時間で初期化可能な物理ディスクにおける論理ディスク割り当てブロックの最大範囲を初期化可能範囲に決定し、
論理ディスクの初期化指示を受け付けた場合に、初期化可能範囲に含まれないブロックを空きブロックと入れ替え、初期化可能範囲に含まれるブロックを初期化する
ことを特徴とする初期化方法。
【請求項７】
初期化可能範囲に含まれるブロックの初期化完了後に、自装置と通信可能に接続された通信端末に初期化完了通知を送信し、空きブロックとの入れ替えによって論理ディスクに割り当てられなくなったブロックを初期化する
請求項６に記載の初期化方法。
【請求項８】
論理ディスクが構築されている物理ディスクごとに、論理ディスク割り当てブロック数と空きブロック数とを比較し、
空きブロック数が論理ディスク割り当てブロック数より少ない場合は、論理ディスク割り当てブロック数から空きブロック数を差し引いた残りのブロック数と、物理ディスクの性能値とをもとに、論理ディスク割り当てブロックを初期化するのに必要な時間を算出し、
空きブロック数が論理ディスク割り当てブロック数以上である場合は、論理ディスク割り当てブロックの初期化に必要な時間をゼロとして算出する
請求項６または請求項７に記載の初期化方法。
【請求項９】
論理ディスクが構築されている物理ディスクごとに、物理ディスクの性能値と論理ディスクの初期化所要時間とをもとに、前記初期化所要時間内で初期化可能な論理ディスク割り当てブロック数を算出し、算出したブロック数をもとに、論理ディスク割り当てブロックの初期化可能範囲を決定する
請求項６から請求項８のうちのいずれか１項に記載の初期化方法。
【請求項１０】
物理ディスクの性能値が、単位時間あたりに初期化可能なブロック数である
請求項８または請求項９に記載の初期化方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージ装置およびストレージ装置における初期化方法に関する。
【背景技術】
【０００２】
性能や容量の異なる複数の物理ディスクが混在したプール上に論理ディスク（ＬＤ）を構築し、データの使用頻度によって、適切な物理ディスクにデータを格納および再配置して、ストレージ装置のコストパフォーマンスを向上させる技術（以下、データ最適配置技術という。）がある。データ最適配置技術を利用するストレージ装置では、１つのＬＤのブロックが複数の物理ディスクにまたがって配置される。そして、ＬＤのブロック中のデータの使用頻度が低くなると、ブロックが低性能のディスクへ再配置され、使用頻度が高くなると、ブロックが高性能のディスクへ再配置される。
【０００３】
なお、プールは、複数の物理ディスクにより冗長化されて構成される仮想記憶媒体である。また、ＬＤは、ホスト計算機がストレージ装置にアクセスする際のアクセス単位であり、プールの領域を分割して構築される。また、ＬＤのデータは、ＬＤを構築するプール上の領域と対応付けられた物理ディスクに格納される。
【０００４】
一般に、単一あるいは複数の物理ディスクでプールを構築し、当該プール上にＬＤを構築可能なストレージ装置は、セキュリティ確保のために、ホスト計算機からアクセスされるＬＤ内のデータを消去する機能を有する。
【０００５】
そのようなストレージ装置において、ＬＤの初期化を開始してから、ＬＤが再利用可能になるまでの時間を短縮したいという要望がある。
【０００６】
ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｉｓｋ）上に構築されたＬＤを初期化する際に、「ダイナミックウェアレベリング」および「グルーミング」を利用して、ＬＤが再利用可能になるまでの時間を短縮する方法がある。「ダイナミックウェアレベリング」は、ＳＳＤ上でＬＤに割り当てられたブロック（ＬＤ割り当てブロック）と空きブロックとを入れ替える技術である。「グルーミング」は、ブロックの初期化をバックグラウンドで行う技術である。
【０００７】
そのような方法では、「ダイナミックウェアレベリング」により、ＳＳＤ上でＬＤ割り当てブロックをＳＳＤ中の空きブロックと入れ替えて、ＬＤを再利用可能な状態にする。そして、「グルーミング」により、ＬＤに割り当てられなくなったブロック、つまり、空きブロックと入れ替えたブロックの初期化をバックグラウンドで実行する。ブロックの入れ替えに要する時間は、ブロックの初期化に要する時間に比べて大幅に少ない。従って、「ダイナミックウェアレベリング」および「グルーミング」を利用することにより、ＬＤが再利用可能になるまでの時間を短縮することができる。
【０００８】
管理テーブルを用いて磁気記録媒体の記憶領域の状態を管理するデータ記憶装置において、データの初期化が指示された際に、データが記憶されたことがある記憶領域のみを初期化することにより、消去作業の高速化を図る方法がある（例えば、特許文献１参照。）。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２０１１−１３９７９号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
「ダイナミックウェアレベリング」を利用する方法は、ＬＤを構成する各ＳＳＤ中に、ＬＤ割り当てブロック全体を入れ替えるだけの十分な空きブロックがないとき、ＬＤが再利用可能になるまでの時間を短縮することができない。
【００１１】
また、データ最適配置技術を利用するストレージは、ＬＤ構築やデータの再配置を継続して行うと、ＬＤを構築するブロックが、各物理ディスクに均等ではなく、偏って配置される場合がある。例えば、２つのＳＳＤと１つのＨＤＤとによって構築されたプール上のＬＤにおいて、当初はＬＤのブロックが２つのＳＳＤに均等に存在していたが、データの使用頻度低下に伴って一部のブロックがＳＳＤからＨＤＤへ移動した後、ＬＤの追加構築により片方のＳＳＤで空きブロックが無くなり、その後、データの使用頻度増加に伴ってＨＤＤからもう片方のＳＳＤへＬＤのブロックが戻る場合である。
【００１２】
そのような環境において、複数のＬＤを並行して初期化する場合、空きブロックが無いＬＤが存在すると、ＬＤが再利用可能になるまでの時間を短縮できない可能性がある。例えば、複数のＳＳＤにまたがってブロックが存在するＬＤを初期化する際に、空きブロック数が大きいＳＳＤは、ＬＤ割り当てブロックを全て空きブロックと入れ替えて、すぐにＬＤ割り当てブロックを再利用可能な状態にすることができる。しかし、空きブロック数が少なく、ＬＤ割り当てブロックを全て入れ替えることができないＳＳＤは、ＬＤ割り当てブロックの初期化を行わなければならない。この場合、前者のＳＳＤがすぐに再利用可能な状態になっても、ユーザは、後者のＳＳＤがＬＤ割り当てブロックの初期化が完了するまで、ＬＤを再利用することができない。
【００１３】
このように、同じＳＳＤに構築された複数のＬＤを並行して初期化する場合、あるＬＤの初期化で空きブロックが大きく使用されてしまうと、別のＬＤの初期化で空きブロックが使用できないため、ＬＤが再利用可能になるまでの時間を短縮することができない。
【００１４】
そこで、本発明は、物理ディスク上に構築された複数の論理ディスクの初期化において、複数の論理ディスクが再利用可能になるまでの時間をより短くすることができるストレージ装置およびストレージ装置における初期化方法を提供することを目的とする。
【課題を解決するための手段】
【００１５】
本発明によるストレージ装置は、論理ディスクが構築されている１つまたは複数の物理ディスクを含むストレージ装置であって、物理ディスクのブロックを初期化する初期化手段と、物理ディスクにおける論理ディスク割り当てブロックと空きブロックとを入れ替えて、論理ディスク割り当てブロックを再利用可能な状態にする割当変更手段と、論理ディスクが構築されている物理ディスクごとに、空きブロックと入れ替えしきれない論理ディスク割り当てブロックの初期化に要する時間を算出し、算出した時間の中で最大の時間を論理ディスクの初期化所要時間として取得する算出手段と、初期化所要時間で初期化可能な物理ディスクにおける論理ディスク割り当てブロックの最大範囲を初期化可能範囲に決定する範囲決定手段と、論理ディスクの初期化指示を受け付けた場合に、割当変更手段に、初期化可能範囲に含まれないブロックを空きブロックと入れ替えるように指示し、初期化手段に、初期化可能範囲に含まれるブロックを初期化するように指示する制御手段とを備えたことを特徴とする。
【００１６】
本発明による初期化方法は、論理ディスクが構築されている１つまたは複数の物理ディスクを含むストレージ装置における初期化方法であって、論理ディスクが構築されている物理ディスクごとに、空きブロックと入れ替えしきれない論理ディスク割り当てブロックの初期化に要する時間を算出し、算出した時間の中で最大の時間を論理ディスクの初期化所要時間として取得し、初期化所要時間で初期化可能な物理ディスクにおける論理ディスク割り当てブロックの最大範囲を初期化可能範囲に決定し、論理ディスクの初期化指示を受け付けた場合に、初期化可能範囲に含まれないブロックを空きブロックと入れ替え、初期化可能範囲に含まれるブロックを初期化することを特徴とする。
【発明の効果】
【００１７】
本発明によれば、物理ディスク上に構築された複数の論理ディスクの初期化において、複数の論理ディスクが再利用可能になるまでの時間をより短くすることができる。
【図面の簡単な説明】
【００１８】
【図１】本発明によるストレージ装置の構成を示すブロック図である。
【図２】物理ディスク情報テーブルおよびマッピングテーブルの一例を示す説明図である。
【図３】ＬＤ初期化部の動作を示すフローチャートである。
【図４】ステップＳ１００における初期化時間算出部の動作を示すフローチャートである。
【図５】ステップＳ１１０における初期化ブロック算出部の動作を示すフローチャートである。
【図６】ステップＳ１２０におけるブロック割当変更部の動作を示すフローチャートである。
【図７】ステップＳ１３０における物理ディスクブロック初期化部の動作を示すフローチャートである。
【図８】ステップＳ１５０における物理ディスクブロック初期化部の動作を示すフローチャートである。
【図９】本発明によるストレージ装置の主要部を示すブロック図である。
【発明を実施するための形態】
【００１９】
実施形態１．
以下、本発明の第１の実施形態を図面を参照して説明する。
【００２０】
図１は、本発明によるストレージ装置の構成を示すブロック図である。
【００２１】
図１に示すように、ストレージ装置２００は、ホスト計算機１００と入出力インタフェース（Ｉ／Ｏ）を介して通信可能に接続される。
【００２２】
ストレージ２００は、ＬＤ群２１０と、プール２３０と、物理ディスク群２４０とを備える。ストレージ２００は、さらに、ＬＤ初期化部２５２と、初期化時間算出部２５６と、初期化ブロック算出部２５８と、ブロック割当変更部２６０と、物理ディスクブロック初期化部２６２と、マッピングテーブル２８２と、物理ディスク情報テーブル２８４とを備える。
【００２３】
物理ディスク群２４０は、物理ディスク２４２−１〜２４２−ｎを含む。物理ディスク２４２−１〜２４２−ｎは、例えば、ＳＳＤである。なお、物理ディスク群２４０には、性能と容量が異なる物理ディスクが混在していてもよい。また、物理ディスク群２４０には、物理ディスクがいくつ含まれていてもよい。
【００２４】
プール２３０は、物理ディスク群２４０から構成されるプールである。
【００２５】
ＬＤ群２１０は、プール２３０に構成される論理ディスク（ＬＤ）２１２を含む。なお、図１には、１つのＬＤ２１２が例示されているが、ＬＤ群２１０には、ＬＤがいくつ含まれていてもよい。
【００２６】
ＬＤ初期化部２５２は、初期化算出手段２５６、初期化ブロック算出部２５８、ブロック割当変更部２６０および物理ディスクブロック初期化部２６２に対して指示を行い、ＬＤ２１２を初期化する。
【００２７】
初期化時間算出部２５６は、プール２３０を構成する物理ディスク群２４０の各物理ディスクの性能と空きブロックの数とをもとに、各物理ディスク上でＬＤ２１２に割り当てられたブロックの初期化に必要な時間を計算する。
【００２８】
ブロック割当変更部２６０は、各物理ディスク２４２−１〜２４２−ｎ上においてでＬＤ２１２に割り当てられたブロックと物理ディスク上の空きブロックとを入れ替える。
【００２９】
物理ディスクブロック初期化部２６２は、各物理ディスク２４２−１〜２４２−ｎ上で物理ディスクのブロックを初期化する。
【００３０】
なお、ＬＤ初期化部２５２、初期化時間算出部２５６、初期化ブロック算出部２５８、ブロック割当変更部２６０および物理ディスクブロック初期化部２６２は、ストレージ装置２００が備えるＣＰＵによって実現される。
【００３１】
マッピングテーブル２８２は、各物理ディスク２４２−１〜２４２−ｎ上に構築されたＬＤとＬＤ割り当てブロックと空きブロックとブロックの状態とを管理するための情報を記憶する。マッピングテーブル２８２は、ストレージ装置２００が備えるメモリ等の記憶装置によって実現される。
【００３２】
物理ディスク情報テーブル２８４は、各物理ディスク２４２の性能とブロック数を管理するための情報を記憶する。物理ディスク情報テーブル２８４は、ストレージ装置２００が備えるメモリ等の記憶装置によって実現される。
【００３３】
図２は、マッピングテーブル２８２および物理ディスク情報テーブル２８４の一例を示す説明図である。
【００３４】
図２（ａ）に示すように、マッピングテーブル２８２は、物理ディスクを識別する物理ディスク番号と、物理ディスクのブロックを識別する物理ディスクブロック番号と、物理ディスクのブロックの初期化状態を識別する物理ディスクブロック状態と、物理ディスクのブロックが割り当てられているＬＤを識別するＬＤ番号と、物理ディスクのブロックが割り当てられているＬＤのブロックを識別するＬＤブロック番号とを含む。
【００３５】
図２（ｂ）に示すように、物理ディスク情報テーブル２８４は、物理ディスクを識別する物理ディスク番号と、物理ディスクの性能を示す物理ディスク性能と、物理ディスクの総ブロック数を示す物理ディスクブロック数とを含む。物理ディスクの性能は、本実施形態では、単位時間あたりに初期化可能なブロックの数である。
【００３６】
マッピングテーブル２８２における物理ディスクブロック状態には、「初期化済」、「初期化中」、「使用済」のうちのいずれかが格納される。「初期化済」は、物理ディスクブロックが初期化されていて、一度もデータが書き込まれていない状態を示す。「初期化中」は、物理ディスクブロックが初期化中であることを示す。「使用済」は、物理ディスクブロックが初期化後にデータが書き込まれた状態を示す。
【００３７】
マッピングテーブル２８２におけるＬＤ番号とＬＤブロック番号には、物理ディスクブロックにＬＤが割り当てられていない場合、「−」（ハイフン）が格納される。
【００３８】
次に、本実施形態の動作を説明する。
【００３９】
図３は、ＬＤ初期化部２５２の動作を示すフローチャートである。
【００４０】
ＬＤ初期化部２５２は、ホスト計算機１００を介して、ユーザからＬＤ２１２に対する初期化の指示（初期化指示）を受け付ける。すると、ＬＤ初期化部２５２は、初期化時間算出部２５６へ、ＬＤ２１２のＬＤ番号を伝えるとともに、ＬＤ２１２を初期化するために最低限必要となる時間（以下、初期化所要時間という。）を算出するように要求する（ステップＳ１００）。
【００４１】
ＬＤ初期化部２５２は、初期化時間算出部２５６から、ＬＤ２１２の初期化所要時間を受け取る。すると、ＬＤ初期化部２５２は、初期化ブロック算出部２５８へ、ＬＤ２１２のＬＤ番号と初期化所要時間を伝えるとともに、初期化を実施する物理ディスク番号と、初期化を実施する物理ディスクブロック番号と、空きブロックと入れ替える物理ディスクブロック番号とを算出するように要求する（ステップＳ１１０）。
【００４２】
ＬＤ初期化部２５２は、初期化ブロック算出部２５８から、初期化を実施する物理ディスク番号と、初期化を実施する物理ディスクブロック番号と、空きブロックと入れ替える物理ディスクブロック番号とを受け取る。すると、ＬＤ初期化部２５２は、ブロック割当変更部２６０へ、物理ディスク番号および空きブロックと入れ替える物理ディスクブロック番号を伝えるとともに、ＬＤに割り当てられた物理ディスクブロックと、空きブロックとを入れ替えるように要求する（ステップＳ１２０）。
【００４３】
ＬＤ初期化部２５２は、ブロック割当変更部２６０から、ＬＤに割り当てられた物理ディスクブロックと空きブロックとの入れ替え完了の通知を受ける。すると、ＬＤ初期化部２５２は、物理ディスクブロック初期化部２６２へ、初期化を実施する物理ディスクの物理ディスク番号と、初期化ブロック算出部２５８から受け取った、初期化を実施する物理ディスクブロック番号とを伝えるとともに、当該物理ディスクブロックを初期化するように要求する（ステップＳ１３０）。
【００４４】
ＬＤ初期化部２５２は、物理ディスクブロック初期化部２６２から、ステップＳ１３０で伝えた物理ディスクブロックの初期化完了の通知を受ける。すると、ＬＤ初期化部２５２は、ホスト計算機１００を介してユーザに対して、ＬＤ２１２が初期化完了して再利用可能になったことを通知する（ステップＳ１４０）。
【００４５】
ＬＤ初期化部２５２は、物理ディスクブロック初期化部２６２へ、初期化ブロック算出部２５８から受け取った、空きブロックと入れ替えた物理ディスクブロック番号を伝え、当該物理ディスクブロックを初期化するように要求する（ステップＳ１５０）。ＬＤ２１２はステップＳ１４０において再利用可能になっているため、ステップＳ１５０における初期化処理が実行中であっても、ユーザは、ＬＤ２１２を利用することができる。このように、ステップＳ１５０における初期化処理は、バックグラウンドで実行される。
【００４６】
ＬＤ初期化部２５２は、物理ディスクブロック初期化部２６２から、ステップＳ１５０で伝えた物理ディスクブロックの初期化完了の通知を受けると、処理を終了する。
【００４７】
図４は、ステップＳ１００における初期化時間算出部２５６の動作を示すフローチャートである。
【００４８】
初期化時間算出部２５６は、ＬＤ初期化部２５２からＬＤ２１２のＬＤ番号とともに、ＬＤ２１２の初期化所要時間の算出の指示を受け付けると、マッピングテーブル２８２を参照し、ＬＤ２１２を構成する各物理ディスクを特定する。そして、初期化時間算出部２５６は、物理ディスク情報テーブル２８４を参照し、各物理ディスクの物理ディスク番号と物理ディスク性能との対を取得する（ステップＳ２００）。
【００４９】
初期化時間算出部２５６は、ステップＳ２００で取得した物理ディスク番号ごとに、マッピングテーブル２８２を参照し、ＬＤ２１２に割り当てられているブロック数と、空きブロック数とを比較し、どちらが大きいかを判定する（ステップＳ２２０）。なお、空きブロック数は、当該物理ディスク番号を持ち、かつ、ＬＤ番号とＬＤブロック番号に「−」（ハイフン）が格納されているレコードの数である。
【００５０】
ＬＤ２１２に割り当てられているブロック数より、空きブロック数の方が大きい場合は（ステップＳ２２０のＮ）、初期化時間算出部２５６は、その物理ディスクの初期化時間をゼロとして取得する（ステップＳ２３０）。ブロック入れ替えの処理時間は、実際にはゼロではないが、ブロックの初期化時間に比べて大幅に小さいため、本実施形態ではゼロとして扱う。
【００５１】
空きブロック数より、ＬＤ２１２に割り当てられているブロック数の方が大きい場合は（ステップＳ２２０のＹ）、初期化時間算出部２５６は、ＬＤ２１２に割り当てられているブロック数から空きブロック数を差し引いた残りのブロック数、つまり、空きブロックと入れ替えしきれないブロック数を、物理ディスク性能の値で除算した値を、その物理ディスクの初期化時間として取得する（ステップＳ２４０）。
【００５２】
初期化時間算出部２５６は、ステップＳ２２０〜Ｓ２４０の処理を、ステップＳ２００で特定した全ての物理ディスクに対して行い、各物理ディスクの初期化時間を算出する（ステップＳ２５０）。
【００５３】
初期化時間算出部２５６は、ステップＳ２５０で算出した初期化時間の中で最大の値を、ＬＤ２１２の初期化所要時間として取得する。初期化時間算出部２５６は、ステップＳ２００で取得したＬＤ２１２を構成する各物理ディスク番号とともに、ＬＤ２１２の初期化所要時間をＬＤ初期化部２５２へ通知する（ステップＳ２６０）。その後、初期化時間算出部２５６は、処理を終了する。
【００５４】
図５は、ステップＳ１１０における初期化ブロック算出部２５８の動作を示すフローチャートである。
【００５５】
初期化ブロック算出部２５８は、ＬＤ初期化部２５２からＬＤ２１２のＬＤ番号と、ＬＤ２１２を構成する各物理ディスクの物理ディスク番号と、ＬＤ２１２の初期化所要時間とを受け取る。すると、初期化ブロック算出部２５８は、物理ディスク情報テーブル２８４を参照し、ＬＤ２１２を構成する各物理ディスクの物理ディスク性能を取得する（ステップＳ３００）。
【００５６】
初期化ブロック算出部２５８は、ＬＤ２１２を構成する物理ディスクごとに、物理ディスク性能とＬＤ２１２の初期化所要時間とを乗算して、初期化所要時間で初期化可能なブロック数を算出する。つまり、ＬＤブロック番号の最若番から数えて、何番目のＬＤブロック番号まで初期化可能であるかを算出する（ステップＳ３１０）。
【００５７】
初期化ブロック算出部２５８は、マッピングテーブル２８２を参照し、ＬＤ２１２に割り当てられている各物理ディスクブロックにおいて、ＬＤブロック番号の値を取得し、ＬＤブロック番号の最若番から数えて何番目のＬＤブロックに割り当てられているかを確認する（ステップＳ３２０）。
【００５８】
当該物理ディスクブロックのＬＤブロック番号が、ステップＳ３１０で算出したＬＤブロック番号の範囲（以下、初期化可能範囲という。）に含まれている場合は（ステップＳ３２０のＹ）、初期化ブロック算出部２５８は、初期化を実施する物理ディスクブロックとして、物理ディスク番号と物理ディスクブロック番号の対を取得する（ステップＳ３３０）。
【００５９】
また、当該物理ディスクブロックのＬＤブロック番号が、初期化可能範囲に含まれていない場合は（ステップＳ３２０のＮ）、初期化ブロック算出部２５８は、空きブロックと入れ替える物理ディスクブロックとして、物理ディスク番号と物理ディスクブロック番号の対を取得する（ステップＳ３４０）。
【００６０】
初期化ブロック算出部２５８は、ステップＳ３２０〜Ｓ３４０の処理を、ＬＤ２１２を構成する全ての物理ディスクブロックにおいて実施する（ステップＳ３５０）。
【００６１】
初期化ブロック算出部２５８は、ステップＳ３３０で取得した物理ディスク番号と物理ディスクブロック番号との対を、初期化を実施する物理ディスクブロックとしてＬＤ初期化部２５２へ通知する。また、初期化ブロック算出部２５８は、ステップＳ３４０で取得した物理ディスク番号と物理ディスクブロック番号との対を、空きブロックと入れ替える物理ディスクブロックとしてＬＤ初期化部２５２へ通知し、処理を終了する（ステップＳ３６０）。
【００６２】
図６は、ステップＳ１２０におけるブロック割当変更部２６０の動作を示すフローチャートである。
【００６３】
ブロック割当変更部２６０は、ＬＤ初期化部２５２から物理ディスク番号と、空きブロックと入れ替える物理ディスクブロック番号とを受け取る。すると、ブロック割当変更部２６０は、マッピングテーブル２８２を参照し、ＬＤ初期化部２５２から受け取った物理ディスク番号に対応するブロックの中から、空きブロックであって、かつ、物理ディスクブロック状態が「初期化済」であるブロックを検索して取得する（ステップＳ４００）。
【００６４】
ブロック割当変更部２６０は、ＬＤ初期化部２５２から受け取った物理ディスクブロック番号のブロックに割り当てられているＬＤ番号とＬＤブロック番号とを、ステップＳ４００で取得した空きブロックのレコードに対して割り当てて、マッピングテーブル２８２を更新する（ステップＳ４１０）。
【００６５】
ブロック割当変更部２６０は、ＬＤ初期化部２５２から受け取った物理ディスクブロック番号のブロックに対するＬＤブロックの割当を削除して、当該ブロックを空きブロックにする。具体的には、マッピングテーブル２８２の当該ブロックのＬＤ番号とＬＤブロック番号に「−」（ハイフン）を格納して、マッピングテーブル２８２を更新する（ステップＳ４２０）。
【００６６】
ブロック割当変更部２６０は、ＬＤ初期化部２５２へ物理ディスクのＬＤ割り当てブロックと空きブロックとの入れ替え完了を通知し、処理を終了する（ステップＳ４３０）。
【００６７】
図７は、ステップＳ１３０における物理ディスクブロック初期化部２６２の動作を示すフローチャートである。
【００６８】
物理ディスクブロック初期化部２６２は、ＬＤ初期化部２５２から物理ディスク番号と、初期化を実施する物理ディスクブロック番号とを受け取ると、当該物理ディスクブロック番号のブロックに対して初期化を開始する。そして、物理ディスクブロック初期化部２６２は、マッピングテーブル２８２を更新する。具体的には、当該物理ディスクブロックに対応する物理ディスクブロック状態を「初期化中」に更新する（ステップＳ５００）。
【００６９】
物理ディスクブロック初期化部２６２は、ステップＳ５００で初期化を開始した物理ディスクの初期化が完了すると、マッピングテーブル２８２を更新する。具体的には、当該物理ディスクブロックに対応する物理ディスクブロック状態を「初期化済」に更新する（ステップＳ５１０）。
【００７０】
物理ディスクブロック初期化部２６２は、ＬＤ初期化部２５２に物理ディスクブロックの初期化完了を通知し、処理を終了する（ステップＳ５２０）。
【００７１】
図８は、ステップＳ１５０における物理ディスクブロック初期化部２６２の動作を示すフローチャートである。
【００７２】
物理ディスクブロック初期化部２６２は、ＬＤ初期化部２５２から物理ディスク番号と、空きブロックと入れ替えた物理ディスクブロック番号とを受け取ると、当該物理ディスクブロック番号のブロックに対して初期化を開始する。そして、物理ディスクブロック初期化部２６２は、マッピングテーブル２８２を更新する。具体的には、当該物理ディスクブロックに対応する物理ディスクブロック状態を「初期化中」に更新する（ステップＳ６００）。
【００７３】
物理ディスクブロック初期化部２６２は、ステップＳ６００で初期化を開始した物理ディスクの初期化が完了すると、マッピングテーブル２８２を更新する。具体的には、当該物理ディスクブロックに対応する物理ディスクブロック状態を「初期化済」に更新する（ステップＳ６１０）。
【００７４】
物理ディスクブロック初期化部２６２は、ＬＤ初期化部２５２に物理ディスクブロックの初期化完了を通知し、処理を終了する（ステップＳ６２０）。
【００７５】
以上に説明したように、本実施形態では、物理ディスク上に構築されたＬＤを初期化する際に、ＬＤ割り当てブロックの数より空きブロック数の方が少ない場合には、空きブロック分だけをＬＤ割り当てブロックと入れ替えて、残りのＬＤ割り当てブロックを初期化するようにしている。そのため、ＬＤを初期化する際に、物理ディスク上にＬＤ割り当てブロック全体を入れ替えるだけの十分な空きブロックが存在しない状態でも、ＬＤが再利用可能になるまでの時間を短縮することできる。
【００７６】
また、本実施形態では、ＬＤを構成する物理ディスクごとに、空きブロックと入れ替えしきれない分のＬＤ割り当てブロックの初期化時間を算出し、算出した初期化時間の最大値をＬＤ全体の初期化に最低限必要な時間として算出している。そして、各物理ディスクにおいて、当該時間内に初期化が完了しないＬＤ割り当てブロックの分だけを空きブロックと入れ替えている。そのため、ＬＤ初期化時の各物理ディスクの空きブロックの使用量を低減することができる。従って、複数の物理ディスクで構築したプール上のＬＤにおいて、ＬＤを複数並行して初期化する際に、各物理ディスクのＬＤ割り当てブロックと空きブロックの量に偏りが生じている状態でも、ＬＤが再利用可能になるまでの時間を短縮することができる。
【００７７】
また、本実施形態において、物理ディスク上の空きブロックの数が多い場合には、空きブロックと入れ替えしきれない分のＬＤ割り当てブロックの数が少なくなるので、ＬＤが再利用可能になるまでの時間がより短くなる。それに対し、特許文献１に記載された方法は、記憶領域のみを消去することにより消去作業の高速化を図っているので、磁気記録媒体の空き領域を考慮していない。そのため、空き領域がいくらあっても、消去作業に要する時間は短くならない。
【００７８】
図９は、本発明によるストレージ装置の主要部を示すブロック図である。図９に示すように、ストレージ装置（図１に示すストレージ装置２００に相当。）は、論理ディスクが構築されている１つまたは複数の物理ディスク（図１に示すストレージ装置２００における物理ディスク２４２−１〜２４２−ｎに相当。）を含むストレージ装置であって、物理ディスクのブロックを初期化する初期化手段１５（図１に示すストレージ装置２００における物理ディスクブロック初期化部２６２に相当。）と、物理ディスクにおける論理ディスク割り当てブロックと空きブロックとを入れ替えて、論理ディスク割当ブロックを再利用可能な状態にする割当変更手段１４（図１に示すストレージ装置２００におけるブロック割当変更部２６０相当。）と、論理ディスクが構築されている物理ディスクごとに、空きブロックと入れ替えしきれない論理ディスク割り当てブロックの初期化に要する時間を算出し、算出した時間の中で最大の時間を論理ディスクの初期化所要時間として取得する算出手段１２（図１に示すストレージ装置２００における初期化時間算出部２５６に相当。）と、初期化所要時間をもとに、物理ディスクにおける論理ディスク割当ブロックの初期化可能範囲を決定する範囲決定手段１３（図１に示すストレージ装置２００における初期化ブロック算出部２５８に相当。）と、割当変更手段１４に、初期化可能範囲に含まれないブロックを空きブロックと入れ替えるように指示し、初期化手段１５に、初期化可能範囲に含まれるブロックを初期化するように指示する制御手段１１（図１に示すストレージ装置２００におけるＬＤ初期化部２５２に相当。）とを備えたことを特徴とする。
【００７９】
上記の実施形態には、以下のようなストレージ装置も開示されている。
【００８０】
（１）制御手段１１は、初期化可能範囲に含まれるブロックの初期化完了後に、自装置と通信可能に接続された通信端末（図１に示すホスト計算機１００に相当。）に初期化完了通知を送信し、初期化手段１５に、空きブロックとの入れ替えによって論理ディスクに割り当てられなくなったブロックを初期化するように指示するストレージ装置。
【００８１】
そのような構成によれば、初期化可能範囲に含まれるブロックの初期化が完了したときに、ＬＤが再利用可能になったことをユーザに認識させることができる。従って、ＬＤの初期化によるユーザの待ち時間を短くすることができる。
【００８２】
（２）算出手段１２は、論理ディスクが構築されている物理ディスクごとに、論理ディスク割り当てブロック数と空きブロック数とを比較し、空きブロック数が論理ディスク割り当てブロック数より少ない場合は、論理ディスク割り当てブロック数から空きブロック数を差し引いた残りのブロック数と、物理ディスクの性能値とをもとに、論理ディスク割り当てブロックを初期化するのに必要な時間を算出し、空きブロック数が論理ディスク割り当てブロック数以上である場合は、論理ディスク割り当てブロックの初期化に必要な時間をゼロとして算出するストレージ装置。
【００８３】
そのような構成によれば、ＬＤを構成する物理ディスクごとに、物理ディスクの性能に応じて、空きブロックと入れ替えしきれない分のＬＤ割り当てブロックの初期化時間を算出することができる。
【００８４】
（３）範囲決定手段１３は、論理ディスクが構築されている物理ディスクごとに、物理ディスクの性能値と論理ディスクの初期化所要時間とをもとに、初期化所要時間内で初期化可能な論理ディスク割り当てブロック数を算出し、算出したブロック数をもとに、論理ディスク割当ブロックの初期化可能範囲を決定するストレージ装置。
【００８５】
そのような構成によれば、ＬＤを構成する物理ディスクごとに、ＬＤの初期化所要時間をもとに、空きブロックと入れ替えるＬＤ割り当てブロックの数を決定することができる。それにより、ＬＤ初期化時の各物理ディスクの空きブロックの使用量を低減することができる。
【００８６】
（４）物理ディスクの性能値が、単位時間あたりに初期化可能なブロック数であるストレージ装置。
【００８７】
そのような構成によれば、ＬＤの単位時間あたりに初期化可能なブロック数に応じて、空きブロックと入れ替えしきれない分のＬＤ割り当てブロックの初期化時間を算出することができる。また、物理ディスクの単位時間あたりに初期化可能なブロック数に応じて、空きブロックと入れ替えるＬＤ割り当てブロックの数を決定することできる。
【符号の説明】
【００８８】
１１  制御手段
１２  算出手段
１３  範囲決定手段
１４  割当変更手段
１５  初期化手段
１００  ホスト計算機
２００  ストレージ装置
２１０  ＬＤ群
２１２  論理ディスク
２３０  プール
２４０  物理ディスク群
２４２−１〜２４２−ｎ  物理ディスク
２５２  ＬＤ初期化部
２５６  初期化時間算出部
２５８  初期化ブロック算出部
２６０  ブロック割当変更部
２６２  物理ディスクブロック初期化部
２８２  マッピングテーブル
２８４  物理ディスク情報テーブル
【図１】
0005900063.tif 000002
【図２】
0005900063.tif 000003
【図３】
0005900063.tif 000004
【図４】
0005900063.tif 000005
【図５】
0005900063.tif 000006
【図６】
0005900063.tif 000007
【図７】
0005900063.tif 000008
【図８】
0005900063.tif 000009
【図９】
0005900063.tif 000010