(57)【特許請求の範囲】
【請求項１】
記憶装置と、前記記憶装置へのアクセスを制御する制御装置とを備えるストレージシステムにおいて、
前記記憶装置は、
暗号鍵を生成する暗号鍵生成部と、
自装置の記憶領域に対して前記暗号鍵生成部が生成した暗号鍵を用いてデータを暗号化して記録するとともに、自装置の記憶領域に設定した分割領域ごとに暗号化に用いる暗号鍵を変更可能な暗号化処理部と、
を有し、
前記制御装置は、
前記記憶装置の記憶領域のうち論理ボリュームとして設定した記憶領域ごとに、個別の分割領域を設定するように、前記記憶装置の前記暗号化処理部に要求する論理ボリューム設定部と、
消去対象とする論理ボリュームに対応する分割領域について暗号化に用いる暗号鍵を変更するように、前記記憶装置の前記暗号化処理部に要求するデータ消去処理部と、
を有することを特徴とするストレージシステム。
【請求項２】
前記ストレージシステムは、前記暗号鍵生成部と前記暗号化処理部とをそれぞれ有する複数の記憶装置を備え、
前記制御装置において、
前記論理ボリューム設定部は、前記複数の記憶装置に跨る論理ボリュームを設定する際に、設定する論理ボリュームの記憶領域のうち前記複数の記憶装置のそれぞれに含まれる記憶領域を、それぞれ分割領域として設定するように、前記複数の記憶装置の前記暗号化処理部に要求し、
前記データ消去処理部は、前記複数の記憶装置に跨って設定された論理ボリュームを消去する際に、消去対象の論理ボリュームに対応する前記複数の記憶装置のそれぞれにおける分割領域について暗号化に用いる暗号鍵を変更するように、前記複数の記憶装置の前記暗号化処理部に要求する、
ことを特徴とする請求項１記載のストレージシステム。
【請求項３】
前記論理ボリューム設定部は、前記記憶装置に設定された論理ボリュームの記憶領域を前記記憶装置内で移動する際、移動対象の論理ボリュームに対応する前記記憶装置における分割領域を、移動後の論理ボリュームの記憶領域を含む範囲まで拡張し、拡張された分割領域のうち移動後の論理ボリュームの記憶領域に対してデータを再配置し、データ再配置の完了後に、前記拡張された分割領域を移動後の論理ボリュームの領域に制限することを特徴とする請求項１または２記載のストレージシステム。
【請求項４】
前記論理ボリューム設定部は、前記記憶装置に論理ボリュームを設定する際に、設定する論理ボリュームの記憶領域に隣接する記憶領域に他の論理ボリュームに含まれる分割領域が設定済みである場合には、前記設定済みの分割領域の範囲を前記設定する論理ボリュームの記憶領域を含むように拡張することを特徴とする請求項１〜３のいずれか１つに記載のストレージシステム。
【請求項５】
前記データ消去処理部は、前記記憶装置に設定された論理ボリュームを消去する際に、消去対象の論理ボリュームの記憶領域が含まれる分割領域が複数の論理ボリュームの記憶領域を含む場合には、当該分割領域を前記消去対象の論理ボリュームの記憶領域を含まないように制限することを特徴とする請求項４記載のストレージシステム。
【請求項６】
前記記憶装置は、設定されたすべての分割領域へのアクセスを電源投入時に遮断し、設定された分割領域ごとに前記制御装置との間で認証処理を行い、認証に成功した分割領域に対するアクセスを許可するアクセス制御部を有し、
前記制御装置は、前記アクセス制御部との間で、前記記憶装置に設定した分割領域ごとにアクセス許可を得るための認証処理を実行する認証処理部を有する、
ことを特徴とする請求項４または５記載のストレージシステム。
【請求項７】
暗号鍵を生成し、生成した暗号鍵を用いて記憶領域に記録するデータを暗号化する機能を備える記憶装置に接続し、前記記憶装置へのアクセスを制御するストレージ制御装置において、
記録データの暗号化に用いる暗号鍵をそれぞれ個別に変更可能な分割領域を、前記記憶装置の記憶領域のうち論理ボリュームとして設定した記憶領域ごとに個別に設定するように、前記記憶装置に要求する論理ボリューム設定部と、
消去対象とする論理ボリュームに対応する分割領域について暗号化に用いる暗号鍵を変更するように、前記記憶装置に要求するデータ消去処理部と、
を有することを特徴とするストレージ制御装置。
【請求項８】
暗号鍵を生成し、生成した暗号鍵を用いて記憶領域に記録するデータを暗号化する機能を備える記憶装置に接続したストレージ制御装置におけるストレージ制御方法において、
前記ストレージ制御装置は、
記録データの暗号化に用いる暗号鍵をそれぞれ個別に変更可能な分割領域を、前記記憶装置の記憶領域のうち論理ボリュームとして設定した記憶領域ごとに個別に設定するように、前記記憶装置に要求し、
消去対象とする論理ボリュームに対応する分割領域について暗号化に用いる暗号鍵を変更するように、前記記憶装置に要求する、
ことを特徴とするストレージ制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージシステム、ストレージ制御装置およびストレージ制御方法に関する。
【背景技術】
【０００２】
ＨＤＤ（Hard Disk Drive）などの記憶装置を廃棄する際に、廃棄した記憶装置に記録された情報の漏洩を防止する方法としては、記憶装置内のデータを元のデータとは無関係なデータパターンで上書きするという方法がある。しかし、この方法は、記憶装置に記録されたすべてのデータをデータパターンで上書きするのに長時間を要するという問題がある。
【０００３】
これに対し、記憶装置に対して常にデータを暗号化した状態で記録する方法がある。例えば、内部の記録媒体に記録するデータを暗号化する自己暗号化機能と、その暗号化に使用する暗号鍵を格納する機能とを備える記憶装置がある。この記憶装置では、内部に格納された暗号鍵を外部からの命令に応じて削除または変更するという短時間の処理で、記録媒体に記録されたデータを無効化することができる。なお、以下の説明では、暗号化されたデータを暗号鍵の削除または変更によって無効化することを、「完全消去」と呼ぶことにする。
【０００４】
さらに、最近では、自己暗号化機能を備えた記憶装置として、「ＳＥＤ（Self Encrypting Drive）」と呼ばれる記憶装置がある。ＳＥＤは、ランダムな暗号鍵を発生する機能も備えており、記録データに対応する暗号鍵を変更するようにＳＥＤに指示することで、その記録データをごく短時間で完全消去することができる。
【０００５】
なお、記憶装置へのアクセス元装置が生成した暗号鍵を用いて暗号化したデータを記憶装置に記録する技術としては、例えば、論理ボリュームごとに異なる暗号鍵を用いて暗号化して記憶装置に書き込むようにした計算機システムがある。
【０００６】
また、記憶装置におけるデータ消去に関する技術としては、例えば、第１の記憶領域のデータについての消去要求を受信すると、消去要求に発信元に対して、第１の記憶領域とは別の第２の記憶領域へのアクセスが可能であることを通知するとともに、第１の記憶領域のデータを消去するようにしたストレージシステムがある。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００８−２６９２３２号公報
【特許文献２】特開２００２−２１５４６２号公報
【特許文献３】特開２００８−１９８０４９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
上記のように、論理ボリュームごとに異なる暗号鍵を用いて、記憶装置に記録するデータを暗号化する場合には、論理ボリュームに対応する暗号鍵を消去または変更することで、論理ボリュームごとにデータを短時間で完全消去することができる。記憶装置へのアクセス元装置が暗号鍵を生成するシステムでは、アクセス元装置で暗号化したデータが単に記憶装置に書き込まれる。このため、設定領域や暗号鍵などの論理ボリュームに関する情報をアクセス元装置側が管理することで、論理ボリューム単位でデータを短時間で完全消去することが可能であった。
【０００９】
しかしながら、データの記録先がＳＥＤである場合には、論理ボリュームに関する情報をアクセス元装置側が管理するだけでは、論理ボリュームごとにデータを短時間で完全消去する処理を実現できない。なぜなら、ＳＥＤは、ＳＥＤ自身が生成した暗号鍵を用いて記録データを暗号化するので、完全消去の対象とする領域や暗号鍵の情報をＳＥＤ自身が管理する必要があるからである。
【００１０】
本発明はこのような課題に鑑みてなされたものであり、自己暗号化機能および暗号鍵生成機能を備えた記憶装置に記録されたデータを論理ボリューム単位で短時間で無効化できるようにしたストレージシステム、ストレージ制御装置およびストレージ制御方法を提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記目的を達成するために、記憶装置と、記憶装置へのアクセスを制御する制御装置とを備えるストレージシステムが提供される。記憶装置は、暗号鍵生成部と、暗号化処理部とを有する。暗号鍵生成部は、暗号鍵を生成する。暗号化処理部は、自装置の記憶領域に対して暗号鍵生成部が生成した暗号鍵を用いてデータを暗号化して記録する。また、暗号化処理部は、自装置の記憶領域に設定した分割領域ごとに、暗号化に用いる暗号鍵を変更可能である。一方、制御装置は、論理ボリューム設定部と、データ消去処理部とを有する。論理ボリューム設定部は、記憶装置の記憶領域のうち論理ボリュームとして設定した記憶領域ごとに、個別の分割領域を設定するように、記憶装置の暗号化処理部に要求する。データ消去処理部は、消去対象とする論理ボリュームに対応する分割領域について暗号化に用いる暗号鍵を変更するように、記憶装置の暗号化処理部に要求する。
【００１２】
また、上記目的を達成するために、上記の制御装置と同様の処理を実行するストレージ制御装置が提供される。
さらに、上記目的を達成するために、上記のストレージ制御装置と同様の処理を実行するストレージ制御方法が提供される。
【発明の効果】
【００１３】
上記のストレージシステム、ストレージ制御装置およびストレージ制御方法によれば、自己暗号化機能および暗号鍵生成機能を備えた記憶装置に記録されたデータを、論理ボリューム単位で短時間で無効化できる。
【図面の簡単な説明】
【００１４】
【図１】第１の実施の形態に係るストレージシステムの構成例を示す図である。
【図２】第２の実施の形態に係るストレージシステムの構成例を示す図である。
【図３】ＤＥのハードウェア構成例を示す図である。
【図４】ＳＥＤの内部構成例を示す図である。
【図５】バンド管理テーブルに登録される情報の例を示す図である。
【図６】ＣＭのハードウェア構成例を示す図である。
【図７】ＣＭが保持するテーブルのデータ構成例を示す図である。
【図８】ＣＭが備える処理機能の例を示すブロック図である。
【図９】複数のＳＥＤに跨る論理ボリュームの設定処理について示す図である。
【図１０】暗号鍵の生成機能を持たない複数のＨＤＤに跨る論理ボリュームの設定処理について示す参考図である。
【図１１】ボリューム設定処理手順の例を示すフローチャートである。
【図１２】論理ボリュームを完全消去する際の処理手順の例を示す図である。
【図１３】ＬＤＥ処理の一例を示す図（その１）である。
【図１４】ＬＤＥ処理の一例を示す図（その２）である。
【図１５】ＲＬＵに含まれるＳＥＤ数を増加させる場合のＬＤＥ処理手順の例を示すフローチャートである。
【図１６】リビルド／コピーバック処理の一例を示す図（その１）である。
【図１７】リビルド／コピーバック処理の一例を示す図（その２）である。
【図１８】第３の実施の形態における論理ボリュームの設定処理例を示す図である。
【図１９】第３の実施の形態において論理ボリューム単位でデータを完全消去する処理の例を示す図である。
【図２０】第３の実施の形態における論理ボリューム設定処理手順の例を示すフローチャートである。
【図２１】ＳＥＤの電源投入時におけるロック状態解除処理手順の例を示すフローチャートである。
【図２２】論理ボリュームを完全消去する際の処理手順の例を示すフローチャートである。
【発明を実施するための形態】
【００１５】
以下、実施の形態について図面を参照して詳細に説明する。
〔第１の実施の形態〕
図１は、第１の実施の形態に係るストレージシステムの構成例を示す図である。
【００１６】
図１に示すストレージシステム１は、記憶装置と、記憶装置へのアクセスを制御する制御装置１０とを備える。図１のストレージシステム１は、例として２つの記憶装置２０ａ，２０ｂを備えるが、３つ以上の記憶装置を備えていても、あるいは１つの記憶装置のみ備えていてもよい。
【００１７】
記憶装置２０ａは、制御装置１０からのアクセス対象となる記憶領域２１ａを備える。記憶領域２１ａは、例えば磁気ディスクなどの記録媒体によって実現される。記憶装置２０ａは、さらに、暗号鍵を生成する暗号鍵生成部２２ａと、暗号鍵生成部２２ａに生成させた暗号鍵を用いてデータを暗号化し、暗号化したデータを記憶領域２１ａに記録する暗号化処理部２３ａとを備える。なお、暗号化処理部２３ａは、記憶領域２１ａに記録されたデータを読み出す際には、読み出したデータを、暗号鍵を用いて復号する。
【００１８】
暗号鍵生成部２２ａは、暗号化処理部２３ａから暗号鍵生成の要求を受けるたびに、その都度ユニークな暗号鍵を生成する。
暗号化処理部２３ａは、制御装置１０からの要求に応じて、記憶領域２１ａに対して分割領域を設定することが可能になっている。暗号化処理部２３ａは、制御装置１０からの要求に応じて、暗号化および復号に用いる暗号鍵を、分割領域ごとに変更することが可能になっている。暗号鍵を変更する場合、暗号化処理部２３ａは、暗号鍵生成部２２ａに新たな暗号鍵を生成させ、それ以後、新たに生成された暗号鍵を用いて記録データの暗号化および読み出しデータの復号を行う。
【００１９】
ここで、分割領域で使用される暗号鍵が変更されることで、暗号鍵の変更前にその分割領域に記録されていたデータは、意味のあるデータとして読み取り不能な「完全消去」の状態になる。このように、ある領域の記録データを、暗号鍵を変更することで完全消去することにより、例えば、ある領域のすべての記録データを所定のデータパターンで上書きする方法と比較して、記録データをごく短時間で「完全消去」の状態にすることができる。
【００２０】
記憶装置２０ｂも、記憶装置２０ａと同様に、記憶領域２１ｂ、暗号鍵生成部２２ｂおよび暗号化処理部２３ｂを備える。記憶領域２１ｂ、暗号鍵生成部２２ｂおよび暗号化処理部２３ｂは、それぞれ記憶装置２０ａが備える記憶領域２１ａ、暗号鍵生成部２２ａおよび暗号化処理部２３ａに対応する。
【００２１】
制御装置１０は、論理ボリューム設定部１１と、データ消去処理部１２とを備える。なお、論理ボリューム設定部１１およびデータ消去処理部１２の各処理は、例えば、制御装置１０が備えるＣＰＵ（Central Processing Unit）が所定のプログラムを実行することにより実現される。なお、以下の説明では、Ｎ番の論理ボリュームを「ＬＵＮ（Logical Unit Number）＃Ｎ」と表す。
【００２２】
論理ボリューム設定部１１は、記憶装置２０ａ，２０ｂの各記憶領域２１ａ，２１ｂのうち任意の範囲を、論理ボリュームとして設定する。また、論理ボリューム設定部１１は、論理ボリュームとして設定した記憶領域ごとに、個別の分割領域を設定するように、論理ボリュームが含まれる記憶装置の暗号化処理部に要求する。例えば、記憶装置２０ａの記憶領域２１ａを論理ボリュームとして設定する場合、論理ボリューム設定部１１は、記憶領域２１ａ上の論理ボリュームに対応する領域に分割領域を設定するように、記憶装置２０ａの暗号化処理部２３ａに要求する。
【００２３】
また、論理ボリューム設定部１１は、複数の記憶装置に跨る論理ボリュームを設定することもできる。論理ボリューム設定部１１は、複数の記憶装置に跨る論理ボリュームを設定する際には、設定する論理ボリュームの記憶領域のうちこれら複数の記憶装置のそれぞれに含まれる記憶領域を、それぞれ分割領域として設定するように、これら複数の記憶装置の暗号化処理部に要求する。
【００２４】
例えば、記憶領域２１ａ，２１ｂに跨るＬＵＮ＃０を設定する場合、論理ボリューム設定部１１は、図１中の太線矢印で示すように、記憶装置２０ａの暗号化処理部２３ａに対して分割領域Ａ０を設定するように要求するとともに、記憶装置２０ｂの暗号化処理部２３ｂに対して分割領域Ｂ０を設定するように要求する。ここで、分割領域Ａ０は、ＬＵＮ＃０のうち記憶領域２１ａに含まれる領域であり、分割領域Ｂ０は、ＬＵＮ＃０のうち記憶領域２１ｂに含まれる領域である。
【００２５】
さらに、例えば、記憶領域２１ａ，２２ａに跨るＬＵＮ＃１を設定する場合も、論理ボリューム設定部１１は、記憶装置２０ａの暗号化処理部２３ａに対して分割領域Ａ１を設定するように要求するとともに、記憶装置２０ｂの暗号化処理部２３ｂに対して分割領域Ｂ１を設定するように要求する。これにより、記憶装置２０ａの記憶領域２１ａには分割領域Ａ１が設定され、記憶装置２０ｂの記憶領域２１ｂには分割領域Ｂ１が設定される。
【００２６】
データ消去処理部１２は、記憶装置２０ａ、２０ｂの暗号化処理部２３ａ，２３ｂに対して、論理ボリュームごとにデータの完全消去を要求する。例えば、記憶装置２０ａに設定された論理ボリュームを完全消去する場合、データ消去処理部１２は、消去対象の論理ボリュームに対応する記憶装置２０ａの記憶領域２１ａ内の分割領域について、暗号鍵を変更するように、記憶装置２０ａの暗号化処理部２３ａに要求する。暗号鍵の変更要求を受けた暗号化処理部２３ａは、暗号鍵生成部２２ａに新たな暗号鍵を生成させ、それ以後、分割領域に記録するデータの暗号化や、分割領域から読み出したデータの復号に、新たな暗号鍵を使用する。これにより、データ消去処理部１２が完全消去を要求する前に、消去対象の論理ボリュームに記録されていたデータは、完全消去される。すなわち、制御装置１０は、論理ボリューム単位でデータを短時間で完全消去できる。
【００２７】
また、データ消去処理部１２は、記憶領域２１ａ，２１ｂに跨って設定された論理ボリュームの完全消去を要求する場合、消去対象の論理ボリュームに対応する記憶領域２１ａ，２１ｂのそれぞれにおける分割領域について暗号鍵を変更するように、記憶装置２０ａ，２０ｂの暗号化処理部２３ａ，２３ｂに要求する。これにより、論理ボリュームが複数の記憶装置の記憶領域に跨っている場合でも、記録データを論理ボリューム単位で、短時間で完全消去することができる。
【００２８】
例えば、図１中のＬＵＮ＃０を完全消去する場合、データ消去処理部１２は、図１中の点線矢印で示すように、記憶装置２０ａの暗号化処理部２３ａに対して、分割領域Ａ０への記録データの暗号化に用いる暗号鍵を変更するように要求する。これとともに、データ消去処理部１２は、記憶装置２０ｂの暗号化処理部２３ｂに対して、分割領域Ｂ０への記録データの暗号化に用いる暗号鍵を変更するように要求する。
【００２９】
暗号鍵の変更要求を受けた記憶装置２０ａの暗号化処理部２３ａは、暗号鍵生成部２２ａに新たな暗号鍵を生成させ、それ以後、分割領域Ａ０に記録するデータの暗号化や、分割領域Ａ０に記録されたデータの復号の際に、新たな暗号鍵を用いる。暗号鍵の変更要求を受けた記憶装置２０ｂの暗号化処理部２３ｂも同様に、暗号鍵生成部２２ｂに新たな暗号鍵を生成させ、それ以後、分割領域Ｂ０に記録するデータの暗号化や、分割領域Ｂ０に記録されたデータの復号の際に、新たな暗号鍵を用いる。
【００３０】
このように、ＬＵＮ＃０のデータを完全消去する際には、ＬＵＮ＃０に含まれる分割領域Ａ０，Ｂ０のそれぞれにおいて、暗号化・復号に用いられる暗号鍵が変更される。これにより、ＬＵＮ＃０のデータのみを短時間で完全消去することができる。
【００３１】
〔第２の実施の形態〕
次に、第２の実施の形態として、記憶装置をＲＡＩＤ（Redundant Arrays of Inexpensive Disks）によって管理するストレージシステムの例について説明する。図２は、第２の実施の形態に係るストレージシステムの構成例を示す図である。
【００３２】
図２に示すストレージシステム１００は、ＣＥ（Controller Enclosure）１１０と、ＤＥ（Drive Enclosure）２００とを備える。ＣＥ１１０には、ＣＭ３００ａ，３００ｂ（Controller Module）が搭載されている。また、ストレージシステム１００には、ホスト装置１２０および管理端末１３０が接続されている。
【００３３】
ＤＥ２００は、ＣＭ３００ａ，３００ｂからのアクセス制御対象となる複数の記憶装置を備える。ＤＥ２００は、記憶装置として、自己暗号化機能を備えたＨＤＤであるＳＥＤを備える。なお、ＤＥ２００は、ストレージシステム１００内に複数設けられていてもよい。また、ＤＥ２００は、ＣＭ３００ａ，３００ｂとは別の筐体内に設けられていてもよい。
【００３４】
ＣＭ３００ａ，３００ｂは、ＤＥ２００内の複数のＳＥＤによって実現される物理記憶領域をＲＡＩＤによって管理し、この物理記憶領域に対するアクセスを制御する。また、ＣＭ３００ａ，３００ｂは、ＤＥ２００内の複数のＳＥＤによって実現される物理記憶領域に論理ボリュームを設定し、ホスト装置１２０から論理ボリュームに対するアクセス要求を受け付けて、そのアクセス要求に応じてＤＥ２００内のＳＥＤにアクセスする。
【００３５】
なお、ＣＭは、ストレージシステム１００内に１つ、または３つ以上設けられていてもよい。ただし、ＣＭが複数設けられることで、ＤＥ２００に対するアクセス制御系統が冗長化され、アクセス制御処理の信頼性が向上する。
【００３６】
ホスト装置１２０は、ユーザの操作に応じて、ＣＭ３００ａ，３００ｂに対して、ＣＭ３００ａ，３００ｂが提供する論理ボリュームへのアクセスを要求する。なお、ホスト装置１２０とＣＭ３００ａ，３００ｂとは、例えば、ＦＣ（Fibre Channel）ケーブルを介して接続されている。
【００３７】
管理端末１３０は、管理者の操作に応じて、ＣＭ３００ａ，３００ｂに対して、ＲＡＩＤや論理ボリュームなどのストレージシステム１００の動作に関する各種の設定処理を行う。なお、管理端末１３０とＣＭ３００ａ，３００ｂとは、例えば、ＬＡＮ（Local Area Network）ケーブルを介して接続されている。
【００３８】
図３は、ＤＥのハードウェア構成例を示す図である。
ＤＥ２００は、ＳＡＳ（Serial Attached SCSI，SCSI：Small Computer System Interface）エクスパンダ２０１，２０２と、複数のＳＥＤ２１０ａ〜２１０ｆとを備える。ＳＡＳエクスパンダ２０１は、ＣＭ３００ａとＳＥＤ２１０ａ〜２１０ｆとの間でデータを中継する。ＳＡＳエクスパンダ２０２は、ＣＭ３００ｂとＳＥＤ２１０ａ〜２１０ｆとの間でデータを中継する。
【００３９】
図４は、ＳＥＤの内部構成例を示す図である。なお、図４では例としてＳＥＤ２１０ａについて示すが、ＳＥＤ２１０ｂ〜２１０ｆについても図４と同様の構成を有する。
ＳＥＤ２１０ａは、記録媒体として磁気ディスク２１１を備える。なお、ＳＥＤ２１０ａは、記録媒体として、ＳＳＤ（Solid State Drive）などの他の種類の記録媒体を備えていてもよい。
【００４０】
また、ＳＥＤ２１０ａは、ＳＡＳコントローラ２２１、セキュア処理回路２２２、バッファ２２３、アクセスコントローラ２２４およびフラッシュメモリ２２５を備える。なお、図４では、磁気ディスク２１１に対するデータの読み書きを行う磁気ヘッド機構や、磁気ディスク２１１の回転駆動機構などの図示を省略している。
【００４１】
ＳＡＳコントローラ２２１は、ＳＡＳエクスパンダ２０１を介してＣＭ３００ａと接続するとともに、ＳＡＳエクスパンダ２０２を介してＣＭ３００ｂと接続する。ＳＡＳコントローラ２２１は、ＣＭ３００ａ，３００ｂとの間でＳＡＳ規格に従ってデータを送受信する。
【００４２】
セキュア処理回路２２２は、フラッシュメモリ２２５に記録されたバンド管理テーブル２３０を参照して、磁気ディスク２１１に対するアクセスや磁気ディスク２１１に記録されたデータの安全性を保つための処理を実行する。セキュア処理回路２２２は、バンド管理部２４１、暗号鍵生成部２４２、暗号処理部２４３およびロック制御部２４４を備える。
【００４３】
バンド管理部２４１、暗号鍵生成部２４２、暗号処理部２４３およびロック制御部２４４の処理は、例えば、それぞれ専用のハードウェア回路によって実現される。あるいは、セキュア処理回路２２２がＣＰＵを備え、暗号鍵生成部２４２、暗号処理部２４３およびロック制御部２４４の処理の少なくとも一部は、ＣＰＵが所定のファームウェアプログラムを実行することによって実現されてもよい。ただし、暗号処理部２４３および暗号鍵生成部２４２の処理は、処理を高速化するために専用のハードウェア回路によって実現されることが望ましい。
【００４４】
バンド管理部２４１は、磁気ディスク２１１に対して「バンド（Band）」を設定する。バンドは、それぞれ個別の暗号鍵を用いて、記録するデータの暗号化と記録されたデータの復号とが行われる領域である。バンド管理部２４１は、ＣＭ３００ａ，３００ｂのいずれかからバンドの設定要求を受けると、暗号鍵生成部２４２にランダムな暗号鍵を生成させ、生成された暗号鍵を、バンドの設定領域を示す情報に対応付けて、バンド管理テーブル２３０に登録する。
【００４５】
また、バンド管理部２４１は、バンド単位で記録データを完全消去する「セキュアイレース（Secure Erase）」を実行可能になっている。バンド管理部２４１は、ＣＭ３００ａ，３００ｂのいずれかからセキュアイレース対象とするバンドの指定を受けると、暗号鍵生成部２４２に新たな暗号鍵を生成させる。そして、バンド管理部２４１は、指定されたバンドについての記録データの暗号化および読み出しデータの復号に用いる暗号鍵を、新たに生成された暗号鍵に変更する。このように暗号鍵が変更されることで、指定されたバンドに記録されていたデータは、意味のあるデータとして読み取りできない「完全消去」の状態となる。
【００４６】
なお、バンド管理部２４１は、磁気ディスク２１１の記憶領域のうち、ＣＭ３００ａ，３００ｂからの設定要求に基づくバンドが設定されていない領域を、「グローバルバンド（Global Band）」として管理する。グローバルバンドは、設定されたバンドとは別の暗号鍵を用いてデータが記録される領域である。グローバルバンドの設定領域および暗号鍵についても、バンド管理テーブル２３０に登録される。ＳＥＤ２１０ａの製品出荷状態では、磁気ディスク２１１内のすべての記憶領域がグローバルバンドに設定される。その後、磁気ディスク２１１にバンドが設定されると、バンドが設定されていない領域がグローバルバンドとなる。さらに、バンドの設定が解除された領域は、グローバルバンドに戻る。
【００４７】
暗号鍵生成部２４２は、バンド管理部２４１からの要求に応じて、ランダムな暗号鍵を生成する。
暗号処理部２４３は、磁気ディスク２１１に記録するデータの暗号化処理と、磁気ディスク２１１に記録されたデータの復号処理とを実行する。暗号処理部２４３は、データの記録先および読み出し元のアドレスに対応する暗号鍵を、バンド管理テーブル２３０から読み出し、読み出した暗号鍵を用いてデータの暗号化処理およびデータの復号処理を実行する。
【００４８】
ロック制御部２４４は、磁気ディスク２１１に対する外部からのアクセスの可否を、バンド単位で制御する。ここで、磁気ディスク２１１へのアクセスができないように設定された状態を「ロック（Lock）状態」と呼ぶ。ロック制御部２４４は、磁気ディスク２１１のバンドがロック状態であるときに、ＳＥＤ２１０ａに接続された外部機器（例えばＣＭ３００ａ，３００ｂ）との間で認証処理を実行し、認証が成功すると、バンドのロック状態を解除して、認証に成功した外部機器からバンドへのアクセスを許可する。バンド管理テーブル２３０には、バンドごとに認証鍵が登録され、認証処理は、ＳＥＤ２１０ａに接続された外部機器から受信した認証鍵が、バンド管理テーブル２３０に登録された認証鍵と一致するかを判定することで行われる。
【００４９】
本実施の形態では、ロック制御部２４４は、ＳＥＤ２１０ａの電源がオフからオンになったとき、磁気ディスク２１１の全バンドをロック状態にする「自動ロック動作」を行う。ＳＥＤ２１０ａの電源がオンになり、自動ロック動作を行った後、ＳＥＤ２１０ａに対して外部機器（例えばＣＭ３００ａ，３００ｂ）が接続されると、ロック制御部２４４は、接続された外部機器との間で全バンドについての認証処理を実行する。このため、設定されたバンドの数が多いほど、外部機器が磁気ディスク２１１にアクセスできるようになるまでに要する時間が長くなる。
【００５０】
バッファ２２３は、磁気ディスク２１１に記録するデータや、磁気ディスク２１１から読み出されたデータを、一時的に記憶する。
アクセスコントローラ２２４は、磁気ディスク２１１に書き込む信号に対する誤り訂正符号の付与や変調、磁気ディスク２１１から読み出した信号の復調や誤り訂正、磁気ヘッド（図示せず）の位置決め制御、磁気ディスク２１１の回転駆動制御などを行う。
【００５１】
図５は、バンド管理テーブルに登録される情報の例を示す図である。バンド管理テーブル２３０には、各バンドについてのレコード２３１が登録される。
レコード２３１には、「暗号鍵」、「先頭アドレス」、「長さ」、「ロックイネーブル」、「認証鍵」および「ロック状態」が、バンドの識別情報（図５中の「Ｂａｎｄ＃００」「Ｂａｎｄ＃０１」など）に対応付けて登録される。
【００５２】
「暗号鍵」は、バンドに記録するデータの暗号化、およびバンドから読み出したデータの復号に用いる暗号鍵である。
「先頭アドレス」は、磁気ディスク２１１におけるバンドの設定領域の先頭を示すアドレスである。「長さ」は、磁気ディスク２１１におけるバンドの設定領域の大きさを示す。バンド設定領域の大きさは、例えば、固定長のブロックの数として表される。
【００５３】
「ロックイネーブル」は、自動ロック動作を有効にするか否かを示すフラグ情報である。「ロックイネーブル」には、例えば、自動ロック動作を有効にする（すなわち、このバンド管理テーブル２３０が登録されたＳＥＤの電源をオフからオンにしたときに、自動的にバンドをロック状態にするように設定する）場合には「１」が設定され、自動ロック動作を有効にしない場合には「ＮＵＬＬ値」が設定される。
【００５４】
「認証鍵」は、バンドのロック状態を解除する際の認証処理に使用する情報である。ロック制御部２４４は、管理者の操作に応じて管理端末１３０から送信された、認証処理に使用する認証鍵を、ＣＭを通じて受信すると、例えば、受信した認証鍵をハッシュ化して「認証鍵」の欄に登録する。
【００５５】
「認証鍵」の欄には、「ロックイネーブル」が「１」である（すなわち、自動ロック動作が有効である）場合にのみ、情報が登録される。なお、自動ロック動作以外に、ＣＭ３００ａ，３００ｂのいずれかからの要求に応じて、任意のタイミングでバンドをロック状態にできるようにしてもよい。この場合、例えば、バンドをロック状態にするように要求されたときに、「ロックイネーブル」の値に関係なく、管理端末１３０からＣＭを通じて通知された認証鍵をハッシュ化した値が、「認証鍵」の欄に登録される。
【００５６】
なお、ハッシュ化した認証鍵は、例えば、バンド管理テーブル２３０ではなく、磁気ディスク２１１の所定領域に格納されてもよい。
「ロック状態」は、バンドがロック状態であるか否かを示すフラグ情報である。「ロック状態」は、例えば、バンドがロック状態のとき「１」とされ、バンドがロック状態でないとき「０」とされる。
【００５７】
なお、バンド管理テーブル２３０内のレコード２３１のうちの１つ（図５中のレコード２３１ａ）は、グローバルバンドの情報を保持する。グローバルバンドについてのレコード２３１ａには、データの暗号化／復号に用いる鍵が「暗号鍵」の欄に登録されるものの、その他の欄には何も登録されない（すなわち、ＮＵＬＬ値が設定される）。グローバルバンドの設定領域は、それ以外のバンドの設定領域を除く全領域となる。
【００５８】
ＳＥＤが出荷された初期段階では、ＳＥＤ内の磁気ディスク２１１の全域がグローバルバンドに設定される。このとき、バンド管理テーブル２３０には、グローバルバンドについてのレコード２３１ａのみが登録されている。その後、管理端末１３０からＣＭへの要求に応じてＣＭがバンドを設定する処理を実行すると、ＳＥＤのバンド管理部２４１は、新たに設定するバンドについてのレコード２３１を生成して、レコード２３１に対して必要な情報を登録する。
【００５９】
なお、図５では、グローバルバンドのレコード２３１ａをその他のバンドのレコード２３１と分離して示しているが、例えば、バンドの識別情報について、「Ｂａｎｄ＃００」をグローバルバンドに割り当て、「Ｂａｎｄ＃０１」以降をその他のバンドに割り当ててもよい。
【００６０】
また、グローバルバンドについてもロック状態にできるようにしてもよい。この場合、グローバルバンドについてのレコード２３１ａにも、他のバンドについてのレコード２３１と同様に、「ロックイネーブル」、「認証鍵」および「ロック状態」の各情報が登録される。
【００６１】
次に、ＣＭ３００ａ，３００ｂについて説明する。なお、ＣＭ３００ａ，３００ｂは、ともに同様なハードウェア構成を有し、また、ともに同様の処理を実行可能であるので、以下の説明では、例としてＣＭ３００ａについてのみ説明し、ＣＭ３００ｂについての説明を省略する。
【００６２】
図６は、ＣＭのハードウェア構成例を示す図である。
ＣＭ３００ａは、ＣＰＵ３０１によって装置全体が制御されている。ＣＰＵ３０１には、ＲＡＭ（Random Access Memory）３０２および複数の周辺機器が接続されている。ＲＡＭ３０２は、ＣＭ３００ａの主記憶装置として使用され、ＣＰＵ３０１に実行させるプログラムの少なくとも一部や、このプログラムによる処理に必要な各種データを一時的に記憶する。
【００６３】
ＣＰＵ３０１には、周辺機器の例として、フラッシュメモリ３０３、ＬＡＮインタフェース（Ｉ／Ｆ）３０４、ＣＡ（Channel Adapter）３０５およびＩＯＣ（In/Out Controller）３０６が接続されている。フラッシュメモリ３０３およびＬＡＮインタフェース３０４は、例えば、図示しないＰＣＨ（Platform Controller Hub）を介してＣＰＵ３０１と接続される。また、ＣＡ３０５およびＩＯＣ３０６は、例えば、ＰＣＩ（Peripheral Component Interconnect）バスを通じてＣＰＵ３０１と接続される。
【００６４】
フラッシュメモリ３０３は、ＣＭ３００ａの二次記憶装置として使用され、ＣＰＵ３０１によって実行されるプログラムやその実行に必要な各種のデータなどを記憶する。なお、二次記憶装置としては、例えば、ＨＤＤなどの他の種類の不揮発性記憶装置が使用されてもよい。
【００６５】
ＬＡＮインタフェース３０４は、管理端末１３０との間でデータを送受信する。
ＣＡ３０５は、ホスト装置１２０とＣＭ３００ａとの間でデータを送受信するインタフェース処理を実行する。
【００６６】
ＩＯＣ３０６は、ＤＥ２００内のＳＡＳエクスパンダ２０１を介して、ＤＥ２００内のＳＥＤ２１０ａ〜２１０ｆとの間でＳＡＳ規格に従ってデータを送受信する。
次に、図７は、ＣＭが保持するテーブルのデータ構成例を示す図である。ＣＭ３００ａのフラッシュメモリ３０３には、ＲＡＩＤ管理テーブル３２０とＬＶ（論理ボリューム：Logical Volume）管理テーブル３３０とが格納される。
【００６７】
ＲＡＩＤ管理テーブル３２０には、それぞれＲＡＩＤグループを示すＲＬＵ（RAID Logical Unit）ごとにレコード３２１が登録される。ＲＡＩＤグループとは、複数の記憶装置（本実施の形態ではＳＥＤ）の物理記憶領域を組み合わせて構成される論理記憶領域である。ＲＡＩＤ管理テーブル３２０の各レコード３２１には、「ＲＡＩＤレベル」、「使用ドライブ」および「論理ボリューム」が、ＲＬＵの識別情報（図７中の「ＲＬＵ＃００」「ＲＬＵ＃０１」など）に対応付けて登録される。
【００６８】
「ＲＡＩＤレベル」の欄には、ＲＬＵに適用するＲＡＩＤレベルが登録される。「使用ドライブ」の欄には、ＲＬＵが使用するＳＥＤを示す識別情報が登録される。さらに、各ＳＥＤに対応付けて「先頭アドレス」および「長さ」が登録される。「先頭アドレス」は、ＳＥＤ内の磁気ディスク２１１におけるＲＬＵの設定領域の先頭を示すアドレスである。「長さ」は、ＳＥＤ内の磁気ディスク２１１におけるＲＬＵの設定領域の大きさ（ブロック数）を示す。
【００６９】
「論理ボリューム」の欄には、ＲＬＵに対して設定された論理ボリュームを示す識別情報が登録される。
一方、ＬＶ管理テーブル３３０には、ＲＬＵに対して設定された論理ボリュームごとにレコード３３１が登録される。例えば、図８のＲＡＩＤ管理テーブル３２０において、「ＲＬＵ＃００」には論理ボリュームとして「ＬＵＮ＃００」「ＬＵＮ＃０１」が登録されている。この場合、ＬＶ管理テーブル３３０には、「ＬＵＮ＃００」「ＬＵＮ＃０１」のそれぞれに対応するレコード３３１が登録される。なお、図７では、ＲＡＩＤ管理テーブル３２０に登録された「ＬＵＮ＃００」「ＬＵＮ＃０１」とＬＶ管理テーブル３３０内のレコード３３１との関係を、太線矢印によって示している。
【００７０】
また、ＬＶ管理テーブル３３０のレコード３３１には、論理ボリュームの物理記憶領域を含むＳＥＤに関する情報が登録される。レコード３３１には、ＳＥＤに関する情報として、「先頭アドレス」、「長さ」、「バンド識別情報」および「認証鍵」が、ＳＥＤの識別情報（図７中の「ＳＥＤ＃００」「ＳＥＤ＃０１」など）も対応付けて登録される。
【００７１】
「先頭アドレス」は、ＳＥＤ内の磁気ディスク２１１における論理ボリュームの設定領域の先頭を示すアドレスである。「長さ」は、ＳＥＤ内の磁気ディスク２１１における論理ボリュームの設定領域の大きさ（ブロック数）を示す。
【００７２】
「バンド識別情報」は、「先頭アドレス」および「長さ」が示す磁気ディスク２１１の物理記憶領域に設定されたバンドを識別する情報である。「先頭アドレス」および「長さ」が示す物理記憶領域の範囲が１つのバンドの範囲と一致する場合には、「先頭アドレス」および「長さ」の値は、「バンド識別情報」が示すバンドに対応するＳＥＤ内のバンド管理テーブル２３０において、「先頭アドレス」および「長さ」にそれぞれ登録されている値と同一になる。
【００７３】
「認証鍵」は、「バンド識別情報」が示すバンドのロック状態を解除するための認証処理時に、ＳＥＤに対して通知する認証鍵である。
ところで、論理ボリュームは、複数のＳＥＤに跨って設定される場合がある。論理ボリュームが複数のＳＥＤに跨る場合、その論理ボリュームに対応するＬＶ管理テーブル３３０のレコード３３１には、論理ボリュームの物理記憶領域が含まれる複数のＳＥＤのそれぞれについて、「先頭アドレス」、「長さ」、「バンド識別情報」および「認証鍵」が登録される。
【００７４】
基本的に、論理ボリュームは、その論理ボリュームが設定されたＲＬＵを構成するＳＥＤに対して設定される。図７の例では、ＲＬＵ＃００は少なくともＳＥＤ＃００，＃０１を使用して構成されるので、ＲＬＵ＃００に設定されたＬＵＮ＃００は、少なくともＳＥＤ＃００，＃０１に跨って設定される。このため、ＬＵＮ＃００に対応するＬＶ管理テーブル３３０内のレコード３３１には、少なくともＳＥＤ＃００，＃０１のそれぞれについて「先頭アドレス」、「長さ」、「バンド識別情報」および「認証鍵」が登録される。
【００７５】
図８は、ＣＭが備える処理機能の例を示すブロック図である。
ＣＭ３００ａは、ＲＡＩＤ制御部３１１、ボリューム設定部３１２、セキュアイレース制御部３１３および認証処理部３１４を備える。これらのＲＡＩＤ制御部３１１、ボリューム設定部３１２、セキュアイレース制御部３１３および認証処理部３１４の処理は、例えば、ＣＭ３００ａのＣＰＵ３０１が所定のプログラムを実行することで実現される。
【００７６】
ＲＡＩＤ制御部３１１は、ホスト装置１２０からのアクセス要求に応じて、ＤＥ２００内のＳＥＤ２１０ａ〜２１０ｆに対するアクセスを制御する。ＲＡＩＤ制御部３１１は、ＳＥＤ２１０ａ〜２１０ｆへのアクセスを制御する際に、ＲＡＩＤ管理テーブル３２０およびＬＶ管理テーブル３３０を参照して、ＳＥＤ２１０ａ〜２１０ｆの物理記憶領域をＲＡＩＤによって管理する。
【００７７】
例えば、ＲＡＩＤ制御部３１１は、ホスト装置１２０から、ＬＶ管理テーブル３３０に登録された所定の論理ボリュームに対するデータの書き込みが要求されると、ＲＡＩＤ管理テーブル３２０から、書き込み対象の論理ボリュームが含まれるＲＬＵのレコード３２１を抽出する。ＲＡＩＤ制御部３１１は、抽出したレコード３２１に登録されたＳＥＤの少なくとも１つを書き込み先として、そのレコード３２１に登録されたＲＡＩＤレベルに応じた書き込み処理を実行する。
【００７８】
ボリューム設定部３１２は、管理端末１３０からの要求に応じて、ＲＬＵや論理ボリュームの設定を行う。
例えば、ボリューム設定部３１２は、管理端末１３０からのＲＬＵの設定要求に応じて、ＲＡＩＤ管理テーブル３２０にレコード３２１を生成する。ボリューム設定部３１２は、生成したレコード３２１の「ＲＡＩＤレベル」および「使用ドライブ」の欄に対して、管理端末１３０から指定されたＲＡＩＤレベル、および使用するＳＥＤの識別情報をそれぞれ登録する。
【００７９】
さらに、ボリューム設定部３１２は、管理端末１３０から、登録済みのいずれかのＲＬＵに対する論理ボリュームの設定要求を受け付けると、設定対象のＲＬＵに対応するＲＡＩＤ管理テーブル３２０のレコード３２１内の「論理ボリューム」の欄に、新たな論理ボリューム番号を登録する。これとともに、ボリューム設定部３１２は、新たな論理ボリューム番号に対応するレコード３３１をＬＶ管理テーブル３３０に生成する。
【００８０】
ボリューム設定部３１２は、管理端末１３０から、論理ボリュームの設定先のＳＥＤを識別する情報や、論理ボリュームの大きさを指定する情報を受信する。ボリューム設定部３１２は、管理端末１３０からの受信情報を基に、設定先のＳＥＤのバンド管理部２４１に対して、論理ボリュームが設定される領域に対応するバンドを設定するように要求する。さらに、ボリューム設定部３１２は、ＳＥＤに設定されたバンドに関する情報を、ＬＶ管理テーブル３３０に生成したレコード３３１に登録する。
【００８１】
また、ボリューム設定部３１２は、リビルド（Rebuild）／コピーバック（Copy Back）処理を実行する。リビルド処理は、ＲＬＵを構成するいずれかのＳＥＤが故障した場合に、故障したＳＥＤに記録されていたデータと同じデータをＲＡＩＤ制御部３１１に生成させ、それらのデータをホットスペアのＳＥＤに書き込む処理である。一方、コピーバック処理は、故障したＳＥＤに代わって投入されたＳＥＤに対して、ホットスペアのＳＥＤに記録されたデータを書き戻す処理である。
【００８２】
さらに、ボリューム設定部３１２は、管理端末１３０からの要求に応じて、ＬＤＥ（Logical Device Expansion）と呼ばれる処理を実行することも可能である。ＬＤＥ処理は、ＲＬＵを構成するＳＥＤの数、ＲＬＵを構成する物理記憶領域の容量、ＲＡＩＤレベルを変更するなど、ＲＡＩＤの構成を変更する処理である。
【００８３】
セキュアイレース制御部３１３は、管理端末１３０からの要求に応じて、ＤＥ２００に記録されたデータを論理ボリューム単位で完全消去する制御を行う。セキュアイレース制御部３１３は、管理端末１３０から消去対象の論理ボリュームが指定されると、ＬＶ管理テーブル３３０に基づいて、消去対象の論理ボリュームに含まれるバンドを判別する。セキュアイレース制御部３１３は、判別したバンドが設定されたＳＥＤのバンド管理部２４１に対して暗号鍵の変更を要求することで、そのバンドに記録されたデータを完全消去する。
【００８４】
認証処理部３１４は、ＳＥＤ内のロック状態のバンドに対するアクセスを可能にするために、ＳＥＤのロック制御部２４４との間で認証処理を実行する。認証処理部３１４は、認証処理の際、認証対象のバンドに対応付けられた認証鍵を、ＶＬ管理テーブル３３０のレコード３３１から読み出して、ＳＥＤのロック制御部２４４に送信する。
【００８５】
次に、ボリューム設定部３１２による論理ボリュームの設定処理について説明する。まず、図９は、複数のＳＥＤに跨る論理ボリュームの設定処理について示す図である。
ＣＭ３００ａのボリューム設定部３１２は、論理ボリュームを設定する際には、論理ボリュームの設定対象のＳＥＤに対して、論理ボリュームごとにバンドを設定するように要求する。設定する論理ボリュームが複数のＳＥＤに跨る場合には、それら複数のＳＥＤのそれぞれに対して、論理ボリュームと一致する領域にバンドを設定するように要求する。
【００８６】
例えば、図９において、ＣＭ３００ａのボリューム設定部３１２は、３つのＳＥＤ２１０ａ〜２１０ｃに跨るＬＵＮ＃００を設定するものとする。この場合、ボリューム設定部３１２は、ＬＵＮ＃００の物理記憶領域のうちＳＥＤ２１０ａに含まれる領域にバンド＃００を設定するように、ＳＥＤ２１０ａに要求する。また、ボリューム設定部３１２は、ＬＵＮ＃００の物理記憶領域のうちＳＥＤ２１０ｂに含まれる領域にバンド＃１０を設定するように、ＳＥＤ２１０ｂに要求する。さらに、ボリューム設定部３１２は、ＬＵＮ＃００の物理記憶領域のうちＳＥＤ２１０ｃに含まれる領域にバンド＃２０を設定するように、ＳＥＤ２１０ｃに要求する。
【００８７】
バンド＃００の設定要求を受けたＳＥＤ２１０ａのバンド管理部２４１（図４参照）は、バンド＃００を設定する。具体的には、ＳＥＤ２１０ａのバンド管理部２４１は、バンド管理テーブル２３０にバンド＃００についてのレコード２３１（図５参照）を生成し、そのレコード２３１に対して、バンド＃００の位置情報や暗号化／復号に用いる暗号鍵Ｘ０などを登録する。
【００８８】
また、バンド＃１０の設定要求を受けたＳＥＤ２１０ｂのバンド管理部２４１は、ＳＥＤ２１０ｂ内のバンド管理テーブル２３０にバンド＃１０についてのレコード２３１を生成し、そのレコード２３１に対して、バンド＃１０の位置情報や暗号化／復号に用いる暗号鍵Ｙ０などを登録する。さらに、バンド＃２０の設定要求を受けたＳＥＤ２１０ｃのバンド管理部２４１は、ＳＥＤ２１０ｃ内のバンド管理テーブル２３０にバンド＃２０についてのレコード２３１を生成し、そのレコード２３１に対して、バンド＃０の位置情報や暗号化／復号に用いる暗号鍵Ｚ０などを登録する。
【００８９】
ボリューム設定部３１２は、ＳＥＤ２１０ａ〜２１０ｃのそれぞれにおけるＬＵＮ＃００の物理記憶領域を示す情報に対して、ＳＥＤ２１０ａ〜２１０ｃのそれぞれに設定したバンド＃００，＃１０，＃２０を識別する情報を対応付けて、ＬＶ管理テーブル３３０に登録する。
【００９０】
同様に、ＳＥＤ２１０ａ〜２１０ｃに跨るＬＵＮ＃０１を設定する場合、ボリューム設定部３１２は、ＬＵＮ＃０１の物理記憶領域のうちＳＥＤ２１０ａ，２１０ｂ，２１０ｃにそれぞれ含まれる領域に、バンド＃０１，＃１１，＃２１をそれぞれ設定するように、ＳＥＤ２１０ａ〜２１０ｃにそれぞれ要求する。そして、ボリューム設定部３１２は、ＳＥＤ２１０ａ〜２１０ｃのそれぞれにおけるＬＵＮ＃０１の物理記憶領域を示す情報に対して、ＳＥＤ２１０ａ〜２１０ｃのそれぞれに設定したバンド＃０１，＃１１，＃２１を識別する情報を対応付けて、ＬＶ管理テーブル３３０に登録する。
【００９１】
同様に、ＳＥＤ２１０ａ〜２１０ｃに跨るＬＵＮ＃０２を設定する場合、ボリューム設定部３１２は、ＬＵＮ＃０２の物理記憶領域のうちＳＥＤ２１０ａ，２１０ｂ，２１０ｃにそれぞれ含まれる領域に、バンド＃０２，＃１１，＃２１をそれぞれ設定するように、ＳＥＤ２１０ａ〜２１０ｃにそれぞれ要求する。そして、ボリューム設定部３１２は、ＳＥＤ２１０ａ〜２１０ｃのそれぞれにおけるＬＵＮ＃０２の物理記憶領域を示す情報に対して、ＳＥＤ２１０ａ〜２１０ｃのそれぞれに設定したバンド＃０２，＃１２，＃２２を識別する情報を対応付けて、ＬＶ管理テーブル３３０に登録する。
【００９２】
以上のようなボリューム設定部３１２による論理ボリューム設定処理により、論理ボリュームを複数のＳＥＤに跨るように設定した場合でも、論理ボリュームごとにデータを短時間で完全消去することが可能になる。例えば、ＬＵＮ＃００を完全消去する場合、ＣＭ３００ａのセキュアイレース制御部３１３（図８参照）は、ＬＵＮ＃００が含まれるＳＥＤ２１０ａ，２１０ｂ，２１０ｃに対して、それぞれバンド＃００，＃１０，＃２０に対応する暗号鍵を変更するように要求する。
【００９３】
暗号鍵の変更要求を受けたＳＥＤ２１０ａのバンド管理部２４１は、暗号鍵生成部２４２に新たな暗号鍵を生成させ、バンド＃００に対応付けられた暗号鍵Ｘ０を新たな暗号鍵に変更する。これにより、ＳＥＤ２１０ａの物理記憶領域のうちＬＵＮ＃００に含まれる領域のデータが完全消去される。
【００９４】
同様に、暗号鍵の変更要求を受けたＳＥＤ２１０ｂのバンド管理部２４１は、暗号鍵生成部２４２に新たな暗号鍵を生成させ、バンド＃１０に対応付けられた暗号鍵Ｘ１を新たな暗号鍵に変更する。これにより、ＳＥＤ２１０ｂの物理記憶領域のうちＬＵＮ＃１０に含まれる領域のデータが完全消去される。
【００９５】
同様に、暗号鍵の変更要求を受けたＳＥＤ２１０ｃのバンド管理部２４１は、暗号鍵生成部２４２に新たな暗号鍵を生成させ、バンド＃２０に対応付けられた暗号鍵Ｘ２を新たな暗号鍵に変更する。これにより、ＳＥＤ２１０ｃの物理記憶領域のうちＬＵＮ＃２０に含まれる領域のデータが完全消去される。
【００９６】
ここで、図１０は、暗号鍵の生成機能を持たない複数のＨＤＤに跨る論理ボリュームの設定処理について示す参考図である。
図１０に示すＨＤＤ４００ａ〜４００ｃは、自己暗号化機能および暗号鍵の生成機能を持たない記憶装置である。また、ＣＭ４１０は、暗号鍵を生成し、生成した暗号鍵を用いてＨＤＤ４００ａ〜４００ｃのそれぞれに対して記録するデータを暗号化する機能を備える。このような構成のシステムにおいて、ＣＭ４１０は、ＨＤＤ４００ａ〜４００ｃに跨る論理ボリュームを生成する処理を考える。
【００９７】
例えば、ＨＤＤ４００ａ〜４００ｃに跨るＬＵＮ＃００’を設定する場合、ＣＭ４１０は、ＨＤＤ４００ａ〜４００ｃのそれぞれにおけるＬＵＮ＃００’の設定領域を示す情報と、ＬＵＮ＃００’に記録するデータの暗号化に用いる暗号鍵Ｘとを、ＬＶ管理テーブル４１１に登録する。それ以後、ＣＭ４１０は、ＬＵＮ＃００’に記録するデータを、その記録先がＨＤＤ４００ａ〜４００ｃのどれかに関係なく、暗号鍵Ｘを用いて暗号化する。また、ＣＭ４１０は、ＬＵＮ＃００’から読み出したデータを、暗号鍵Ｘを用いて復号する。
【００９８】
同様に、ＨＤＤ４００ａ〜４００ｃに跨るＬＵＮ＃０１’を設定する場合、ＣＭ４１０は、ＨＤＤ４００ａ〜４００ｃのそれぞれにおけるＬＵＮ＃０１’の設定領域を示す情報と、ＬＵＮ＃０１’に記録するデータの暗号化に用いる暗号鍵Ｙとを、ＬＶ管理テーブル４１１に登録する。それ以後、ＣＭ４１０は、ＬＵＮ＃０１’に記録するデータを、その記録先がＨＤＤ４００ａ〜４００ｃのどれかに関係なく、暗号鍵Ｙを用いて暗号化する。また、ＣＭ４１０は、ＬＵＮ＃０１’から読み出したデータを、暗号鍵Ｙを用いて復号する。
【００９９】
同様に、ＨＤＤ４００ａ〜４００ｃに跨るＬＵＮ＃０２’を設定する場合、ＣＭ４１０は、ＨＤＤ４００ａ〜４００ｃのそれぞれにおけるＬＵＮ＃０２’の設定領域を示す情報と、ＬＵＮ＃０２’に記録するデータの暗号化に用いる暗号鍵Ｚとを、ＬＶ管理テーブル４１１に登録する。それ以後、ＣＭ４１０は、ＬＵＮ＃０２’に記録するデータを、その記録先がＨＤＤ４００ａ〜４００ｃのどれかに関係なく、暗号鍵Ｘを用いて暗号化する。また、ＣＭ４１０は、ＬＵＮ＃０２’から読み出したデータを、暗号鍵Ｚを用いて復号する。
【０１００】
以上のようなＣＭ４１０による論理ボリューム設定処理により、論理ボリュームを複数のＨＤＤに跨るように設定した場合でも、論理ボリュームごとにデータを短時間で完全消去することが可能になる。例えば、ＬＵＮ＃００’を完全消去する場合、ＣＭ４１０は、ＬＵＮ＃００’の暗号化／復号に用いる暗号鍵Ｘを新たな暗号鍵に変更し、ＬＶ管理テーブル４１１に新たな暗号鍵を登録する。
【０１０１】
このように、ＣＭ４１０が暗号鍵を生成して暗号化／復号を行う場合には、ＣＭ４１０側において論理ボリュームと暗号鍵とを対応付けた管理すればよく、ＨＤＤ側に対しては何ら設定の必要はない。
【０１０２】
一方、本実施の形態のストレージシステム１００では、暗号鍵の生成機能をＳＥＤが持つため、論理ボリュームを単位としてデータを短時間で完全消去する処理を、図１０の例のように、ＣＭ側で管理する情報のみを基に実行することはできない。そこで、図９で説明したように、本実施の形態のＣＭ３００ａは、論理ボリュームの物理記憶領域に含まれるＳＥＤに対して、論理ボリュームが含まれる領域にバンドを設定するように要求する。論理ボリュームが複数のＳＥＤに跨るのであれば、それらのＳＥＤのそれぞれに対して、論理ボリュームが含まれる領域にバンドを設定するように要求する。
【０１０３】
このような設定要求により、ＣＭ３００ａがＬＶ管理テーブル３３０を用いて管理する論理ボリュームの物理記憶領域と一致する領域が、ＳＥＤ側でも、バンド管理テーブル２３０に登録されたバンドとして管理されるようになる。そして、ＣＭ３００ａが、消去対象の論理ボリュームの物理記憶領域に含まれるＳＥＤに対して、消去対象の論理ボリュームに対応するバンドについての暗号鍵の変更を要求することで、論理ボリューム単位でデータを短時間で完全消去できるようになる。
【０１０４】
図１１は、ボリューム設定処理手順の例を示すフローチャートである。
［ステップＳ１１］ＣＭ３００ａのボリューム設定部３１２は、管理端末１３０からの要求に応じて、ＲＬＵの設定を行う。
【０１０５】
ボリューム設定部３１２は、ＲＡＩＤ管理テーブル３２０に対して新たなレコード３２１を生成する。ボリューム設定部３１２は、管理端末１３０から、ＲＡＩＤレベル、使用するＳＥＤ、および、ＳＥＤごとのＲＬＵの設定領域の大きさについての指定を受け付ける。ボリューム設定部３１２は、指定されたＲＡＩＤレベルおよび使用するＳＥＤを、生成したレコード３２１の「ＲＡＩＤレベル」および「使用ドライブ」の各欄に登録する。
【０１０６】
また、ボリューム設定部３１２は、使用するＳＥＤのそれぞれにおいて、管理端末１３０から指定された大きさの物理記憶領域を確保する。このとき、各ＳＥＤには同じ大きさの物理記憶領域が確保されればよい。ボリューム設定部３１２は、各ＳＥＤに確保した領域の先頭アドレスおよび大きさを、新たに生成したレコード３２１内の各ＳＥＤに対応する「先頭アドレス」および「長さ」の欄に登録する。
【０１０７】
［ステップＳ１２］ボリューム設定部３１２は、管理端末１３０からの要求に応じて、論理ボリュームの設定を行う。
ボリューム設定部３１２は、ステップＳ１１でＲＡＩＤ管理テーブル３２０に生成したレコード３２１に対して、新たに設定する論理ボリュームの識別情報（ＬＵＮ）を登録する。また、ボリューム設定部３１２は、レコード３２１に登録した論理ボリュームに対応するレコード３３１を、ＬＶ管理テーブル３３０に生成する。
【０１０８】
ボリューム設定部３１２は、ステップＳ１１でＲＡＩＤ管理テーブル３２０に設定したレコード３２１から、「使用ドライブ」に登録されたＳＥＤの識別情報を抽出する。ボリューム設定部３１２は、ＬＶ管理テーブル３３０に生成したレコード３３１に対して、ＲＡＩＤ管理テーブル３２０から抽出したＳＥＤの識別情報にそれぞれ対応する、ＳＥＤについての情報の登録欄を作成する。
【０１０９】
ボリューム設定部３１２は、管理端末１３０から、ＲＡＩＤ管理テーブル３２０から抽出したＳＥＤのそれぞれに確保する論理ボリュームの大きさの指定を受け付ける。ボリューム設定部３１２は、管理端末１３０から指定された大きさ分の物理記憶領域を、各ＳＥＤに確保する。このとき、ボリューム設定部３１２は、各ＳＥＤについて、ステップＳ１１でＲＡＩＤ管理テーブル３２０に生成したレコード３２１内の「先頭アドレス」および「長さ」が示す物理記憶領域のうち、論理ボリュームが設定されていない空き領域の先頭部を、論理ボリュームの領域として確保する。ボリューム設定部３１２は、各ＳＥＤに確保した領域についての先頭アドレスおよび大きさを、ＬＶ管理テーブル３３０に生成したレコード３３１内の各ＳＥＤに対応する「先頭アドレス」および「長さ」の欄に登録する。
【０１１０】
［ステップＳ１３］ボリューム設定部３１２は、ステップＳ１２でＬＶ管理テーブル３３０に生成したレコード３３１から、ＳＥＤを１つ選択する。
［ステップＳ１４］ボリューム設定部３１２は、ステップＳ１３で選択したＳＥＤに対して、論理ボリュームに対応する領域にバンドを設定するように要求する。
【０１１１】
ボリューム設定部３１２は、ステップＳ１２でＬＶ管理テーブル３３０に生成したレコード３３１から、ステップＳ１３で選択したＳＥＤについての「先頭アドレス」および「長さ」の各登録値を読み出す。ボリューム設定部３１２は、ステップＳ１３で選択したＳＥＤに対して、ＬＶ管理テーブル３３０から読み出した「先頭アドレス」および「長さ」の登録値を送信し、「先頭アドレス」および「長さ」が示す領域にバンドを設定するように要求する。
【０１１２】
設定要求を受けたＳＥＤのバンド管理部２４１は、バンド管理テーブル２３０に新たなレコード２３１を生成する。バンド管理部２４１は、ボリューム設定部３１２から受信した「先頭アドレス」および「長さ」の各値を、新たに生成したレコード２３１の「先頭アドレス」および「長さ」の欄に登録する。
【０１１３】
また、バンド管理部２４１は、バンドにおいて暗号化／復号に使用される暗号鍵を、新たに生成したレコード２３１の「暗号鍵」の欄に登録する。このとき登録される暗号鍵は、バンドが新たに設定された領域において、設定前に使用されていた暗号鍵と同じものである。例えば、グローバルバンドの領域に新たなバンドが設定された場合、新たなバンドの暗号鍵として、グローバルバンドの暗号鍵が登録される。
【０１１４】
［ステップＳ１５］ＳＥＤのバンド管理部２４１は、ステップＳ１４で新たに生成したレコード２３１に付与したバンド識別情報を、ＣＭ３００ａのボリューム設定部３１２に送信する。ボリューム設定部３１２は、バンド管理部２４１から受信したバンド識別情報を、ステップＳ１２でＬＶ管理テーブル３３０に生成したレコード３３１の登録欄のうち、ステップＳ１３で選択したＳＥＤに対応する「バンド識別情報」の欄に登録する。
【０１１５】
なお、図示しないが、ボリューム設定部３１２は、さらに、管理端末１３０からの要求に基づいて、ステップＳ１４で設定されたバンドに対する自動ロック動作の設定や、ロック状態を解除するための認証鍵の設定を行ってもよい。ボリューム設定部３１２は、管理端末１３０から自動ロック動作の適用要求と認証鍵とを受け付けると、ステップＳ１２でＬＶ管理テーブル３３０に生成したレコード３３１の登録欄のうち、ステップＳ１３で選択したＳＥＤに対応する「認証鍵」の欄に、管理端末１３０から受信した認証鍵を登録する。また、ボリューム設定部３１２は、ステップＳ１３で選択したＳＥＤに対して、管理端末１３０から受信した認証鍵を送信して、自動ロック動作を有効にするように要求する。要求を受けたＳＥＤのバンド管理部２４１は、ステップＳ１４でバンド管理テーブル２３０に生成したレコード２３１において、「ロックイネーブル」の値を初期値「０」から「１」に更新するとともに、「認証鍵」の欄に、ＣＭ３００ａから受信した認証鍵をハッシュ化して登録する。
【０１１６】
なお、自動ロック動作を有効または無効にする処理は、図１１に示す論理ボリュームの初期設定処理が実行された後の任意のタイミングで行うこともできる。
［ステップＳ１６］ボリューム設定部３１２は、ステップＳ１２でＬＶ管理テーブル３３０に生成したレコード３３１に登録されたすべてのＳＥＤについて、処理済みであるかを判定する。処理済みでないＳＥＤが存在する場合（Ｓ１６：Ｎｏ）、ステップＳ１３に戻り、ボリューム設定部３１２は、レコード３３１に登録された未処理のＳＥＤを１つ選択する。一方、登録されたすべてのＳＥＤが処理済みである場合（Ｓ１６：Ｙｅｓ）、ボリューム設定処理が終了する。
【０１１７】
以上の図１１の処理によれば、論理ボリュームが１つのＳＥＤに設定される場合には、ステップＳ１３〜Ｓ１６の処理が１回だけ行われ、設定先の１つのＳＥＤに対して、論理ボリュームの物理記憶領域に対応するバンドが設定される。これとともに、ＬＶ管理テーブル３３０に新たに生成されたレコード３３１には、バンド識別情報が１つだけ登録される。
【０１１８】
また、論理ボリュームが複数のＳＥＤに跨るように設定される場合には、ステップＳ１３〜Ｓ１６の処理が、論理ボリュームに含まれるＳＥＤの数だけ繰り返し実行される。この場合、論理ボリュームに含まれるＳＥＤのそれぞれに対してバンドが設定されるとともに、ＬＶ管理テーブル３３０に新たに生成されたレコード３３１には、バンド識別情報がＳＥＤの数だけ登録される。
【０１１９】
なお、以上の図１１では、ＲＬＵの設定に続いて論理ボリュームを設定する場合について示したが、ＲＬＵの設定後の任意のタイミングで、設定されたＲＬＵに対して論理ボリュームを追加することもできる。この場合、上記のステップＳ１２〜Ｓ１６の処理が実行される。ステップＳ１２では、ＲＬＵが設定された各ＳＥＤの領域のうち、先頭側から順に論理ボリュームの領域が確保される。また、ＲＡＩＤ管理テーブル３２０の各レコード３２１の「論理ボリューム」欄には、設定された論理ボリュームが、ＲＬＵが設定された各ＳＥＤの領域の先頭側から順に登録される。
【０１２０】
図１２は、論理ボリュームを完全消去する際の処理手順の例を示す図である。
［ステップＳ３１］ＣＭ３００ａのセキュアイレース制御部３１３は、管理端末１３０から、論理ボリュームの指定と、指定された論理ボリュームを完全消去する要求とを受け付ける。
【０１２１】
［ステップＳ３２］セキュアイレース制御部３１３は、管理端末１３０から指定された論理ボリュームに対応するレコード３３１を、ＬＶ管理テーブル３３０から抽出する。
［ステップＳ３３］セキュアイレース制御部３１３は、ステップＳ３２でＬＶ管理テーブル３３０から抽出したレコード３３１から、「バンド識別情報」が示すバンドを１つ選択する。
【０１２２】
［ステップＳ３４］セキュアイレース制御部３１３は、ステップＳ３３で選択したバンドの識別情報に対応付けられたＳＥＤを判別し、判別したＳＥＤに対して、バンドの識別情報を送信し、そのバンドについてのセキュアイレースの実行を要求する。実行要求を受け付けたＳＥＤのバンド管理部２４１は、暗号鍵生成部２４２に新たな暗号鍵を生成させる。バンド管理部２４１は、セキュアイレース制御部３１３から受信したバンドの識別情報に対応するレコード２３１をバンド管理テーブル２３０から抽出し、抽出したレコード２３１内の「暗号鍵」に登録された値を、新たに生成された暗号鍵に更新する。これにより、抽出したレコード２３１に対応するバンドに記録されていたデータは、完全消去される。
【０１２３】
［ステップＳ３５］セキュアイレース制御部３１３は、ステップＳ３２でＬＶ管理テーブル３３０から抽出したレコード３３１に登録されたすべてのバンドについて、処理済みであるかを判定する。処理済みでないバンドが存在する場合（Ｓ３５：Ｎｏ）、ステップＳ３３に戻り、セキュアイレース制御部３１３は、レコード３３１に登録された未処理のバンドを１つ選択する。一方、登録されたすべてのバンドが処理済みである場合（Ｓ３５：Ｙｅｓ）、セキュアイレース制御部３１３は処理を終了する。
【０１２４】
以上の図１２の処理によれば、消去対象として指定された論理ボリュームが１つのＳＥＤに設定されている場合には、ステップＳ３３〜Ｓ３５の処理が１回だけ行われ、指定された論理ボリュームに対応する１つのＳＥＤ内のバンドにおいて、セキュアイレースが行われる。一方、消去対象として指定された論理ボリュームが複数のＳＥＤに跨って設定されている場合には、ステップＳ３３〜Ｓ３５の処理が、論理ボリュームに含まれるＳＥＤの数だけ繰り返し実行される。この場合、論理ボリュームの物理記憶領域のうち各ＳＥＤにおける領域について、セキュアイレースが実行される。このような処理により、論理ボリュームが複数のＳＥＤに跨って設定されている場合でも、論理ボリューム単位でデータを短時間で完全消去することができる。
【０１２５】
次に、ＬＤＥ処理について説明する。前述のように、ＬＤＥ処理とは、ＲＬＵを構成するＳＥＤの数、ＲＬＵを構成する物理記憶領域の容量、ＲＡＩＤレベルを変更するなど、ＲＡＩＤの構成を変更する処理である。
【０１２６】
図１３および図１４は、ＬＤＥ処理の一例を示す図である。
これらの図１３および図１４では、ＬＤＥ処理の一例として、ＲＬＵを構成するＳＥＤの数を「３」から「４」に増加させる処理を示す。図１３および図１４の例では、ＲＡＩＤレベルは「０」のまま変化しないものとし、データ＃００１〜＃０１１，＃１０１〜１１１は、それぞれ暗号化されたストライピングデータであるものとする。
【０１２７】
図１３に示す「状態１」では、ＬＵＮ＃００およびＬＵＮ＃０１が、ともにＳＥＤ２１０ａ〜２１０ｃに跨るように設定されている。ＬＵＮ＃００の物理記憶領域のうちＳＥＤ２１０ａ，２１０ｂ，２１０ｃにそれぞれ含まれる領域には、バンド＃００，＃１０，＃２０がそれぞれ設定されている。また、ＬＵＮ＃０１の物理記憶領域のうちＳＥＤ２１０ａ，２１０ｂ，２１０ｃにそれぞれ含まれる領域には、バンド＃０１，＃１１，＃２１がそれぞれ設定されている。なお、ＬＵＮ＃００，＃０１は同一のＲＬＵに含まれ、ＬＵＮ＃００，＃０１の物理記憶領域は、ＳＥＤ２１０ａ，２１０ｂ，２１０ｃのそれぞれにおいて隣接している。
【０１２８】
上記の「状態１」から、ＬＤＥ処理として、ＬＵＮ＃００，＃０１を含むＲＬＵを構成するＳＥＤを、ＳＥＤ２１０ａ〜２１０ｃの３個からＳＥＤ２１０ａ〜２１０ｄの４個に変更する処理を実行するものとする。この場合、ＣＭ３００ａのボリューム設定部３１２は、まず、ＳＥＤ２１０ｄにＬＵＮ＃００の領域を設定するとともに、ＳＥＤ２１０ｄに対して、ＬＵＮ＃００の範囲にバンドを設定するように要求する。これにより、ＳＥＤ２１０ｄにはバンド＃３０が設定される。
【０１２９】
次に、ボリューム設定部３１２は、ＲＡＩＤ制御部３１１に対して、ＬＵＮ＃００に含まれるデータ＃０００〜＃０１１を、拡張されたＬＵＮ＃００の領域に再配置するように要求する。ＲＡＩＤ制御部３１１は、データ＃０００〜＃０１１を、ＳＥＤ２１０ａ〜２１０ｄのそれぞれにおけるＬＵＮ＃００の先頭領域側に移動させる。データの再配置が完了した状態を、図１３の「状態２」に示す。図１３の例ではＲＡＩＤレベルは変更されないので、再配置の前後ではデータの数は変化しない。このため、ＳＥＤ２１０ａ〜２１０ｄのそれぞれにおけるＬＵＮ＃００の領域の後端には、空き領域が生じる。
【０１３０】
次に、ボリューム設定部３１２は、ＬＵＮ＃００の設定範囲を、データが再配置された範囲（空き領域を含まない範囲）に制限する。これとともに、ボリューム設定部３１２は、ＳＥＤ２１０ａ，２１０ｂ，２１０ｃ，２１０ｄに対して、それぞれバンド＃００，＃１０，＃２０，＃３０の領域をＬＵＮ＃００の設定領域に合わせて制限するように要求する。バンド＃００、＃１０，＃２０，＃３０がそれぞれ制限された状態を、図１３の「状態３」に示す。ＬＵＮ＃００のデータの再配置によって生じた空き領域は、グローバルバンドとなり、他の論理ボリュームを設定可能な状態になる。
【０１３１】
次に、ボリューム設定部３１２は、ＳＥＤ２１０ａ〜２１０ｃのそれぞれにおけるＬＵＮ＃０１の領域を、ＬＵＮ＃００のデータの再配置によって生じた空き領域を含むように拡張する。これとともに、ボリューム設定部３１２は、ＳＥＤ２１０ａ，２１０ｂ，２１０ｃに対して、それぞれバンド＃０１，＃１１，＃２１の領域をＬＵＮ＃０１の設定領域に合わせて拡張するように要求する。次に、ボリューム設定部３１２は、ＳＥＤ２１０ｄにＬＵＮ＃０１の領域を設定する。このときＳＥＤ２１０ｄに設定されるＬＵＮ＃０１の領域の大きさは、ＳＥＤ２１０ａ〜２１０ｃのそれぞれにおけるＬＵＮ＃０１の設定領域と同じにする。さらに、ボリューム設定部３１２は、ＳＥＤ２１０ｄに対して、ＬＵＮ＃０１の範囲にバンドを設定するように要求する。これにより、図１４の「状態４」に示すように、ＳＥＤ２１０ｄにバンド＃３１が設定される。
【０１３２】
次に、ボリューム設定部３１２は、ＲＡＩＤ制御部３１１に対して、ＬＵＮ＃０１に含まれるデータ＃１００〜＃１１１を、拡張されたＬＵＮ＃０１の領域に再配置するように要求する。ＲＡＩＤ制御部３１１は、データ＃１００〜＃１１１を、ＳＥＤ２１０ａ〜２１０ｄのそれぞれにおけるＬＵＮ＃０１の先頭領域側に移動させる。データの再配置が完了した状態を、図１４の「状態５」に示す。この「状態５」のように、ＳＥＤ２１０ａ〜２１０ｄのそれぞれにおけるＬＵＮ＃０１の領域の後端には、空き領域が生じる。
【０１３３】
次に、ボリューム設定部３１２は、ＬＵＮ＃０１の設定範囲を、データが再配置された範囲（空き領域を含まない範囲）に制限する。これとともに、ボリューム設定部３１２は、ＳＥＤ２１０ａ，２１０ｂ，２１０ｃ，２１０ｄに対して、それぞれバンド＃０１，＃１１，＃２１，＃３１の領域をＬＵＮ＃０１の設定領域に合わせて制限するように要求する。バンド＃０１、＃１１，＃２１，＃３１がそれぞれ制限された状態を、図１４の「状態６」に示す。ＬＵＮ＃０１のデータの再配置によって生じた空き領域は、グローバルバンドとなり、他の論理ボリュームを設定可能な状態になる。
【０１３４】
上記の図１４における「状態４」から「状態６」までの処理では、ＬＵＮ＃０１の設定範囲が移動する。この移動処理では、「状態４」に示すように、ＬＵＮ＃０１のデータの移動を開始する前に、ＬＵＮ＃００のデータの再配置によって生じた空き領域に対して、ＬＵＮ＃０１に含まれるバンド＃０１，＃１１，＃２１の領域が拡張される。
【０１３５】
もし、バンド＃０１，＃１１，＃２１の領域拡張を行う前にＬＵＮ＃０１のデータを移動してしまうと、ＬＵＮ＃００のデータの再配置によって生じた空き領域に移動したＬＵＮ＃０１のデータ＃１００〜＃１０２（「状態５」参照）は、バンド＃０１，＃１１，＃２１に含まれるデータとは異なる暗号鍵を用いて暗号化されてしまう。このため、ＬＵＮ＃０１のデータを一度に完全消去できなくなってしまう。これに対して、「状態４」のようにバンド＃０１，＃１１，＃２１の領域を拡張した後に、ＬＵＮ＃０１のデータを移動させることで、ＬＵＮ＃０１のデータを一度に完全消去できるようになる。
【０１３６】
図１５は、ＲＬＵに含まれるＳＥＤ数を増加させる場合のＬＤＥ処理手順の例を示すフローチャートである。
［ステップＳ５１］ボリューム設定部３１２は、管理端末１３０からＬＤＥ処理の要求を受け付けるとともに、ＬＤＥ処理対象のＲＬＵの指定を受け付ける。また、ボリューム設定部３１２は、指定されたＲＬＵを構成する物理記憶領域として新たに含めるＳＥＤの指定も受け付ける。
【０１３７】
［ステップＳ５２］ボリューム設定部３１２は、ＲＡＩＤ管理テーブル３２０から、ＬＤＥ処理対象として指定されたＲＬＵのレコード３２１を抽出する。ボリューム設定部３１２は、抽出したレコード３２１の「論理ボリューム」の欄から、先頭の論理ボリュームを選択する。
【０１３８】
［ステップＳ５３］ボリューム設定部３１２は、ステップＳ５２で選択した論理ボリュームに、ステップＳ５１で管理端末１３０から指定された新たなＳＥＤを追加する。具体的には、ボリューム設定部３１２は、ＬＶ管理テーブル３３０から、ステップＳ５２で選択した論理ボリュームのレコード３３１を抽出する。ボリューム設定部３１２は、抽出したレコード３３１に、新たなＳＥＤについての「先頭アドレス」および「長さ」を登録する。ここで、「長さ」の欄に登録される値は、同じレコード３３１内の他のＳＥＤについての「長さ」の値と同じとされる。
【０１３９】
ボリューム設定部３１２は、さらに、新たなＳＥＤに対して、論理ボリュームに対応する領域にバンドを設定するように要求する。このとき、ボリューム設定部３１２は、ＬＶ管理テーブル３３０から抽出したレコード３３１に登録した、新たなＳＥＤについての「先頭アドレス」および「長さ」の各登録値を読み出して、新たなＳＥＤに対して送信する。
【０１４０】
設定要求を受けたＳＥＤのバンド管理部２４１は、バンド管理テーブル２３０に新たなレコード２３１を生成する。バンド管理部２４１は、ボリューム設定部３１２から受信した「先頭アドレス」および「長さ」の各値を、新たに生成したレコード２３１の「先頭アドレス」および「長さ」の欄に登録する。バンド管理部２４１は、暗号鍵生成部２４２に暗号鍵を生成させ、生成された暗号鍵を、新たに生成したレコード２３１の「暗号鍵」の欄に登録する。
【０１４１】
［ステップＳ５４］ボリューム設定部３１２は、ＲＡＩＤ制御部３１１に対して、ステップＳ５３で拡張した論理ボリュームに対してデータを再配置するように要求する。例えば、図１３，図１４のようにＲＡＩＤレベルが「０」のまま変化しない場合、ＲＡＩＤ制御部３１１は、ステップＳ５２で選択された論理ボリュームに現在記録されているデータをＣＭ３００ａ内のＲＡＭ３０２に一旦移動した後、移動したデータを、ステップＳ５３で拡張した論理ボリュームの領域に対して、先頭側から詰めて書き込む。
【０１４２】
なお、このステップＳ５４でのデータ再配置では、変更前後のＲＡＩＤレベルやＳＥＤ数などによっては、データを単に移動させるだけでなく、パリティデータの再計算が行われる場合もある。パリティデータの再計算が必要となる場合、ＲＡＩＤ制御部３１１は、パリティデータを再計算し、算出されたパリティデータおよび計算元のデータを、論理ボリュームが設定された各ＳＥＤのうち適切なＳＥＤに対して割り振る。
【０１４３】
［ステップＳ５５］このステップＳ５５の処理は、ステップＳ５４のデータ再配置により、処理対象の論理ボリュームについての各ＳＥＤにおける領域の後端に空き領域が生じた場合に実行される。ボリューム設定部３１２は、各ＳＥＤにおける論理ボリュームの設定領域を、空き領域を含まないように制限する。このとき、ボリューム設定部３１２は、ステップＳ５２で選択したＬＶ管理テーブル３３０のレコード３３１に登録された情報のうち、各ＳＥＤについての「長さ」の値を、空き領域を含まないように小さくする。
【０１４４】
さらに、ボリューム設定部３１２は、処理対象の論理ボリュームが含まれる各ＳＥＤに対して、論理ボリュームの設定範囲に合わせてバンドの設定範囲も制限するように要求する。このとき、ボリューム設定部３１２は、各ＳＥＤに対して、ＬＶ管理テーブル３３０のレコード３３１の「長さ」において更新された値を送信する。バンド設定範囲の制限要求を受けた各ＳＥＤのバンド管理部２４１は、バンド管理テーブル２３０内の対応するバンドのレコード２３１において、「長さ」の登録値をボリューム設定部３１２から受信した値に更新する。これにより、各ＳＥＤにおけるバンドの領域の後端が先頭側に移動し、バンドから外れた空き領域がグローバルバンドに変更される。
【０１４５】
［ステップＳ５６］ボリューム設定部３１２は、ステップＳ５２でＲＡＩＤ管理テーブル３３０から抽出したレコード３３１の「論理ボリューム」欄に登録されたすべての論理ボリュームについて、処理済みかを判定する。処理済みでない論理ボリュームがある場合（Ｓ５６：Ｎｏ）、ボリューム設定部３１２は、ステップＳ５７の処理を実行する。一方、登録されたすべての論理ボリュームが処理済みである場合（Ｓ５６：Ｙｅｓ）、ボリューム設定部３１２は、ＬＤＥ処理を終了する。
【０１４６】
［ステップＳ５７］ボリューム設定部３１２は、ステップＳ５２でＲＡＩＤ管理テーブル３３０から抽出したレコード３３１の「論理ボリューム」欄に登録された未処理の論理ボリュームのうち、先頭の論理ボリュームを選択する。
【０１４７】
［ステップＳ５８］ボリューム設定部３１２は、ステップＳ５７で選択した論理ボリュームに、ステップＳ５１で管理端末１３０から指定された新たなＳＥＤを追加する。具体的には、ボリューム設定部３１２は、ＬＶ管理テーブル３３０から、ステップＳ５７で選択した論理ボリュームのレコード３３１を抽出する。ボリューム設定部３１２は、抽出したレコード３３１に、新たなＳＥＤについての「先頭アドレス」および「長さ」を登録する。ここで、「長さ」の欄に登録される値は、同じレコード３３１内の他のＳＥＤについての「長さ」の値と同じとされる。
【０１４８】
ボリューム設定部３１２は、さらに、新たなＳＥＤに対して、論理ボリュームに対応する領域にバンドを設定するように要求する。このとき、ボリューム設定部３１２は、ＬＶ管理テーブル３３０から抽出したレコード３３１に登録した、新たなＳＥＤについての「先頭アドレス」および「長さ」の各登録値を読み出して、新たなＳＥＤに対して送信する。
【０１４９】
設定要求を受けたＳＥＤのバンド管理部２４１は、ステップＳ５３と同様の手順で、ボリューム設定部３１２から受信した「先頭アドレス」および「長さ」が示す領域に、バンドを設定する。
【０１５０】
［ステップＳ５９］このステップＳ５９は、１つ前に処理された論理ボリュームについてのステップＳ５５またはステップＳ６１の処理により、１つ前に処理された論理ボリュームの記憶領域と現在の処理対象の論理ボリュームの記憶領域との間に空き領域（グローバルバンド）が生じた場合に実行される。ボリューム設定部３１２は、処理対象の論理ボリュームが含まれる各ＳＥＤの物理記憶領域のうち、１つ前に処理された論理ボリュームについてのステップＳ５５またはステップＳ６１の処理によって生じた空き領域に対して、処理対象の論理ボリュームの領域を拡張する。このとき、ボリューム設定部３１２は、ステップＳ５８でＬＶ管理テーブル３３０から抽出したレコード３３１の登録値のうち、各ＳＥＤについての「先頭アドレス」の値を、空き領域の先頭アドレスに更新する。
【０１５１】
さらに、ボリューム設定部３１２は、処理対象の論理ボリュームが含まれる各ＳＥＤに対して、論理ボリュームの設定範囲に合わせてバンドの設定範囲も拡張するように要求する。このとき、ボリューム設定部３１２は、各ＳＥＤに対して、ＬＶ管理テーブル３３０のレコード３３１の「先頭アドレス」において更新された値を送信する。バンド設定範囲の拡張要求を受けた各ＳＥＤのバンド管理部２４１は、バンド管理テーブル２３０内の対応するバンドのレコード２３１において、「先頭アドレス」の登録値をボリューム設定部３１２から受信した値に更新する。これにより、各ＳＥＤにおけるバンドの領域が先頭側に拡張される。
【０１５２】
［ステップＳ６０］ボリューム設定部３１２は、ＲＡＩＤ制御部３１１に対して、ステップＳ５９で拡張した論理ボリュームに対してデータを再配置するように要求する。前述のステップＳ５４と同様、ＲＡＩＤ制御部３１１は、図１３，図１４のようにＲＡＩＤレベルが「０」のまま変化しない場合には、処理対象の論理ボリュームに現在記録されているデータをＣＭ３００ａ内のＲＡＭ３０２に一旦移動した後、移動したデータを、ステップＳ５９で拡張した論理ボリュームの領域に対して、先頭側から詰めて書き込む。また、バリティデータの再計算が必要となる場合、ＲＡＩＤ制御部３１１は、パリティデータを再計算し、算出されたパリティデータおよび計算元のデータを、論理ボリュームが設定された各ＳＥＤのうち適切なＳＥＤに対して割り振る。
【０１５３】
［ステップＳ６１］このステップＳ６１の処理は、ステップＳ６０のデータ再配置により、処理対象の論理ボリュームについての各ＳＥＤにおける領域の後端に空き領域が生じた場合に実行される。ボリューム設定部３１２は、ステップＳ５５と同様の手順で、各ＳＥＤにおける処理対象の論理ボリュームの設定領域を、空き領域を含まないように制限する。さらに、ボリューム設定部３１２は、ステップＳ５５と同様の手順で、処理対象の論理ボリュームに含まれる各ＳＥＤに対して、論理ボリュームの設定範囲に合わせてバンドの設定範囲も制限するように要求する。このバンド設定範囲の制限要求に応じて、各ＳＥＤにおけるバンドの領域の後端が先頭側に移動し、バンドから外れた空き領域がグローバルバンドに変更される。
【０１５４】
この後、ステップＳ５６に戻り、ステップＳ５１で指定されたＲＬＵに含まれるすべての論理ボリュームについて、ステップＳ５７〜Ｓ６１の処理が繰り返される。
以上の図１５の処理のうち、ステップＳ５７〜Ｓ６１では、各ＳＥＤにおける論理ボリュームの設定範囲が先頭側に移動し得る。論理ボリュームの設定範囲が移動する場合には、ステップＳ６０でのデータの再配置が行われる前に、ステップＳ５９において、論理ボリュームが先頭側に拡張されるとともに、拡張された論理ボリュームに対応する各ＳＥＤ内のバンドの範囲も、先頭側に拡張される。このような論理ボリュームの領域移動処理が行われることで、ＬＤＥ処理後においても、図１２と同様の手順により、論理ボリューム単位でデータを短時間で完全消去できるようになる。
【０１５５】
次に、図１６および図１７は、リビルド／コピーバック処理の一例を示す図である。
前述のように、リビルド処理は、ＲＬＵを構成するいずれかのＳＥＤが故障した場合に、故障したＳＥＤに記録されていたデータと同じデータを生成して、ホットスペアのＳＥＤに書き込む処理である。また、コピーバック処理は、故障したＳＥＤに代わって投入されたＳＥＤに対して、ホットスペアのＳＥＤに記録されたデータを書き戻す処理である。
【０１５６】
図１６の「状態１１」では、同一ＲＬＵに含まれるＬＵＮ＃００，＃０１が、ＳＥＤ２１０ａ〜２１０ｃに跨るように設定されている。ＬＵＮ＃００の物理記憶領域のうちＳＥＤ２１０ａ，２１０ｂ，２１０ｃにそれぞれ含まれる領域には、バンド＃００，＃１０，＃２０がそれぞれ設定されている。また、ＬＵＮ＃０１の物理記憶領域のうちＳＥＤ２１０ａ，２１０ｂ，２１０ｃにそれぞれ含まれる領域には、バンド＃０１，＃１１，＃２１がそれぞれ設定されている。
【０１５７】
この「状態１１」から、ＳＥＤ２１０ｃが故障したとすると、ホットスペアのＳＥＤ２１０ｄを用いてリビルド処理が実行される。ＣＭ３００ａのボリューム設定部３１２は、まず、ＳＥＤ２１０ｄに対して、ＳＥＤ２１０ｃ内のＬＵＮ＃００，＃０１の各領域と同じ大きさのＬＵＮ＃００，＃０１を設定する。これとともに、ボリューム設定部３１２は、ＳＥＤ２１０ｄ内のＬＵＮ＃００，＃０１にそれぞれ対応する領域にバンド＃３０，＃３１を設定するように、ＳＥＤ２１０ｄのバンド管理部２４１に要求する。
【０１５８】
バンド＃３０，＃３１の設定完了後、ボリューム設定部３１２は、ＳＥＤ２１０ｃのＬＵＮ＃００，＃０１にそれぞれ記録されていたデータと同じデータを、ＳＥＤ２１０ｄ内のＬＵＮ＃００，＃０１の領域に書き込むように、ＲＡＩＤ制御部３１１に要求する。例えば、データ＃００２がデータ＃０００，＃００１に基づくパリティデータである場合、ＲＡＩＤ制御部３１１は、データ＃０００，＃００１を基にパリティデータであるデータ＃００２を算出して、ＳＥＤ２１０ｄに書き込む。また、データ＃００４がデータ＃００３，＃００５に基づくパリティデータである場合、ＲＡＩＤ制御部３１１は、データ＃００３と、パリティデータであるデータ＃００４とを基にデータ＃００５を復元し、復元したデータ＃００５をＳＥＤ２１０ｄに書き込む。
【０１５９】
ＳＥＤ２１０ｄへのデータ書き込みが完了すると、ボリューム設定部３１２は、ＳＥＤ２１０ｃに設定していたＬＵＮ＃００，＃０１およびバンド＃２０，＃２１を解除する。設定解除が完了すると、図１６の「状態１２」に示すように、故障したＳＥＤ２１０ｃがＤＥ２００から取り外される。
【０１６０】
次に、図１７の「状態１３」に示すように、新たなＳＥＤ２１０ｅがＤＥ２００に装着されると、コピーバック処理が開始される。ＣＭ３００ａのボリューム設定部３１２は、取り外したＳＥＤ２１０ｃにおけるＬＵＮ＃００，＃０１の設定と同じ設定値を持つＬＵＮ＃００，＃０１を、ＳＥＤ２１０ｅに設定する。さらに、ボリューム設定部３１２は、ＳＥＤ２１０ｅにおけるＬＵＮ＃００，＃０１の各領域に、バンド＃５０，＃５１を設定する。
【０１６１】
その後、ボリューム設定部３１２は、ホットスペアであるＳＥＤ２１０ｄのＬＵＮ＃００，＃０１の各領域に記録されたデータを、ＳＥＤ２１０ｅのＬＵＮ＃００，＃０１の各領域に書き戻す。書き戻しが完了した後、ボリューム設定部３１２は、ＳＥＤ２１０ｄに設定していたＬＵＮ＃００，＃０１およびバンド＃３０，＃３１を解除する。以後、図１７の「状態１３」に示すように、ＳＥＤ２１０ａ，２１０ｂ，２１０ｅを用いてＲＡＩＤの運用が続行される。
【０１６２】
以上の図１６，図１７の処理では、データを他のＳＥＤに書き込む前には、データ書き込みの前に書き込み先のＳＥＤに対して論理ボリュームおよびバンドの設定が行われる。これにより、例えば、「状態１２」のようなリビルド処理の完了後、および「状態１４」のようなコピーバック処理の完了後のいずれの状態でも、ボリュームごとにデータを短時間で完全消去することが可能になる。
【０１６３】
〔第３の実施の形態〕
上記の第２の実施の形態において、ＳＥＤ内のロック制御部２４４は、ＳＥＤの電源が投入されたとき、ＳＥＤに設定されたバンドのうち自動ロック動作が有効である全バンドについて、ＣＭの認証処理部３１４との間で認証処理を行う。ＳＥＤに設定された全バンドについて自動ロック動作が有効になっている場合には、ＳＥＤの電源投入時に、ＳＥＤに設定された全バンドについて、ＣＭとの間で認証処理が実行される。
【０１６４】
第２の実施の形態では、各ＳＥＤに対して、１つの論理ボリュームに対応する記憶領域ごとに１つのバンドが設定された。このため、論理ボリュームが設定される数が多いほど、バンドが設定される数も多くなり、その結果、ＳＥＤの電源投入時においてＣＭとの間で認証処理が必要となり得るバンドの数も多くなる。認証処理が必要なバンドが多いほど、電源投入操作からＳＥＤにアクセス可能になるまでに要する時間が長くなる。
【０１６５】
このような問題に対して、以下の第３の実施の形態では、各ＳＥＤに対して、最大２つの論理ボリュームに対応する記憶領域ごとに１つのバンドが設定される。これにより、各ＳＥＤに設定されるバンドの数を少なくし、電源投入操作からＳＥＤへのアクセスが可能になるまでの時間を短縮する。
【０１６６】
以下、第３の実施の形態に係るストレージシステムについて、図４，図８の構成および図５，図７のテーブル構成を用いて説明する。図１８は、第３の実施の形態における論理ボリュームの設定処理例を示す図である。
【０１６７】
図１８の例では、ＬＵＮ＃００〜＃０５という５個の論理ボリュームが、ＳＥＤ２１０ａ〜２１０ｃに跨って設定されている。なお、ＬＵＮ＃００〜＃０５は、同一のＲＬＵに設定されているものとする。
【０１６８】
ＣＭ３００ａのボリューム設定部３１２は、ＳＥＤ２１０ａ〜２１０ｃのそれぞれに対して、隣接する２つの論理ボリュームが含まれる記憶領域に１つのバンドを設定する。例えば、ＳＥＤ２１０ａ，２１０ｂ，２１０ｃのそれぞれにおけるＬＵＮ＃００，＃０１の設定領域には、バンド＃００，＃１０，＃２０がそれぞれ設定される。バンド＃００，＃１０，＃２０においては、それぞれ暗号鍵Ｘ０，Ｘ１，Ｘ２を用いてデータの暗号化／復号が行われる。また、ＳＥＤ２１０ａ，２１０ｂ，２１０ｃのそれぞれにおけるＬＵＮ＃０２，＃０３の設定領域には、バンド＃０１，＃１１，＃２１がそれぞれ設定される。バンド＃０１，＃１１，＃２１においては、それぞれ暗号鍵Ｙ０，Ｙ１，Ｙ２を用いてデータの暗号化／復号が行われる。さらに、ＳＥＤ２１０ａ，２１０ｂ，２１０ｃのそれぞれにおけるＬＵＮ＃０４，＃０５の設定領域には、バンド＃０２，＃１２，＃２２がそれぞれ設定される。バンド＃０２，＃１２，＃２２においては、それぞれ暗号鍵Ｚ０，Ｚ１，Ｚ２を用いてデータの暗号化／復号が行われる。
【０１６９】
ここで、ＳＥＤ２１０ａ〜２１０ｃのそれぞれのバンド管理テーブル２３０には、図５と同様に、バンドごとにレコード２３１が生成され、各レコード２３１に暗号鍵やバンドの位置情報などが登録される。図１８のように、ＳＥＤ２１０ａ〜２１０ｃのそれぞれにおいて、論理ボリュームの設定数より少ない数のバンドが設定されることで、第２の実施の形態と比較して、バンド管理テーブル２３０に生成されるレコード２３１の数が少なくなり、バンド管理テーブル２３０の記憶容量を削減できる。
【０１７０】
一方、ＣＭ３００ａのＬＶ管理テーブル３３０においては、ＬＵＮ＃００，＃０１のそれぞれに対応するレコード３３１（図７参照）に対して、ともにバンド＃００，＃１０，＃２０が登録される。同様に、ＬＵＮ＃０２，＃０３のそれぞれに対応するＬＶ管理テーブル３３０のレコード３３１に対して、ともにバンド＃０１，＃１１，＃２１が登録される。また、ＬＵＮ＃０４，＃０５のそれぞれに対応するＬＶ管理テーブル３３０のレコード３３１に対して、ともにバンド＃０２，＃１２，＃２２が登録される。
【０１７１】
図１９は、第３の実施の形態において論理ボリューム単位でデータを完全消去する処理の例を示す図である。
図１９は、図１８のようにＬＵＮ＃００〜＃０５が設定された状態から、例としてＬＵＮ＃０２のデータを完全消去する場合の処理を示している。ＬＵＮ＃０２のデータを完全消去する場合、ボリューム設定部３１２は、ＬＵＮ＃０２の領域が含まれるバンド＃０１，＃１１，＃２１の領域を、ＬＵＮ＃０２を除く領域（すなわち、ＬＵＮ＃０３のみ含む領域）に制限するように、ＳＥＤ２１０ａ，２１０ｂ，２１０ｃのそれぞれに要求する。具体的には、ボリューム設定部３１２は、バンド＃０１，＃１１，＃２１の各領域の先頭アドレスを、ＳＥＤ２１０ａ，２１０ｂ，２１０ｃのそれぞれにおけるＬＵＮ＃０３の先頭アドレスに変更するように、ＳＥＤ２１０ａ，２１０ｂ，２１０ｃのそれぞれに要求する。これにより、ＳＥＤ２１０ａ〜２１０ｃのそれぞれにおけるＬＵＮ＃０２の領域は、グローバルバンドとなって、使用される暗号鍵が変更されるので、それ以前にＬＵＮ＃０２に記録されていたデータは完全消去される。
【０１７２】
また、図示しないが、例えば、図１８の状態からＬＵＮ＃０３のデータを完全消去する場合には、バンド＃０１，＃１１，＃２１の領域が、ＬＵＮ＃０３を除く領域（すなわち、ＬＵＮ＃０２のみ含む領域）に制限される。これにより、ＬＵＮ＃０３の領域はグローバルバンドとなって、使用される暗号鍵が変更されるので、それ以前にＬＵＮ＃０３に記録されていたデータは完全消去される。
【０１７３】
以上のように、隣接する２つの論理ボリュームに対して１つのバンドを設定した状態で、１つの論理ボリュームを消去対象とした場合には、消去対象の論理ボリュームが含まれるバンドの範囲が、消去対象の論理ボリュームの領域を含まないように制限される。このような処理により、隣接する２つの論理ボリュームに対して１つのバンドを設定した場合でも、論理ボリューム単位でデータを短時間で完全消去することが可能になる。
【０１７４】
なお、例えば図１９のＬＵＮ＃０２の領域は、他のバンド非設定領域と同じ暗号鍵が使用されるグローバルバンドとなるので、このままでは、それ以後にＬＵＮ＃０２に記録されたデータのみを完全消去させることはできなくなる。しかしながら、図１９のＬＵＮ＃０２のように、データが完全消去されてグローバルバンドに変化した論理ボリュームについては、その後に、論理ボリューム単位で完全消去できる状態に復帰させることも可能である。以下、グローバルバンドとなった論理ボリュームを、論理ボリューム単位で完全消去できる状態に復帰させることを、「バンドに復帰させる」と呼ぶ。
【０１７５】
例えば、図１９のＬＵＮ＃０２をバンドに復帰させる場合、ボリューム設定部３１２は、ＳＥＤ２１０ａ，２１０ｂ，２１０ｃのそれぞれにおいてＬＵＮ＃０２の領域に隣接するバンド＃０１，＃１１，＃２１を、ＬＵＮ＃０２の領域を含むように拡張する。これにより、ＬＵＮ＃０２の領域は、図１８のようにＬＵＮ＃０３と共通のバンドの領域に戻り、それ以後、ＬＵＮ＃０２のみを完全消去できるようになる。
【０１７６】
図２０は、第３の実施の形態における論理ボリューム設定処理手順の例を示すフローチャートである。この図２０の処理は、図１１のステップＳ１１で示した手順でＲＬＵが設定された後の任意のタイミングで実行されるものである。ただし、ＲＬＵの設定後に、続けて図１９の処理が実行されてもよい。
【０１７７】
［ステップＳ８１］ＣＭ３００ａのボリューム設定部３１２は、管理端末１３０から新規の論理ボリュームの設定要求を受けるとともに、論理ボリュームを設定するＲＬＵの識別情報と、ＲＬＵを構成する各ＳＥＤに対して設定する論理ボリュームの領域の大きさの指定を受ける。
【０１７８】
なお、ＲＬＵの設定後に続けて新規の論理ボリュームの設定が行われる場合には、ステップＳ８１では、ＲＬＵを構成する各ＳＥＤに設定する論理ボリュームの領域の大きさの指定のみ受け付けられればよい。
【０１７９】
また、ステップＳ８１では、すでに登録済みであるが、データの完全消去が行われてグローバルバンドとなった論理ボリュームを、論理ボリューム単位で完全消去できる状態に復帰させる（すなわち、バンドに復帰させる）ように、管理端末１３０から要求される場合もある。この場合、ボリューム設定部３１２は、管理端末１３０から復帰対象の論理ボリュームの指定を受け付ける。
【０１８０】
［ステップＳ８２］ボリューム設定部３１２は、ステップＳ８１で指定されたＲＬＵのレコード３２１をＲＡＩＤ管理テーブル３２０から抽出する。ボリューム設定部３１２は、抽出したレコード３２１に対して、新たに設定する論理ボリュームの識別情報（ＬＵＮ）を登録する。また、ボリューム設定部３１２は、レコード３２１に登録した論理ボリュームに対応するレコード３３１を、ＬＶ管理テーブル３３０に生成する。
【０１８１】
ボリューム設定部３１２は、ＲＡＩＤ管理テーブル３２０から抽出したレコード３２１から、「使用ドライブ」に登録されたＳＥＤの識別情報を抽出する。ボリューム設定部３１２は、ＬＶ管理テーブル３３０に生成したレコード３３１に対して、ＲＡＩＤ管理テーブル３２０から抽出したＳＥＤの識別情報にそれぞれ対応する、ＳＥＤについての情報の登録欄を作成する。
【０１８２】
ボリューム設定部３１２は、ステップＳ８１で管理端末１３０から指定された大きさ分の物理記憶領域を、各ＳＥＤに確保する。このとき、ボリューム設定部３１２は、各ＳＥＤについて、ＲＡＩＤ管理テーブル３２０から抽出したレコード３２１内の「先頭アドレス」および「長さ」が示す物理記憶領域のうち、論理ボリュームが設定されていない空き領域の先頭部を、論理ボリュームの領域として確保する。ボリューム設定部３１２は、各ＳＥＤに確保した領域についての先頭アドレスおよび大きさを、ＬＶ管理テーブル３３０に生成したレコード３３１内の各ＳＥＤに対応する「先頭アドレス」および「長さ」の欄に登録する。
【０１８３】
なお、ステップＳ８１で論理ボリュームについてのバンドへの復帰が要求された場合、ステップＳ８２において、ボリューム設定部３１２は、単に、復帰対象に指定された論理ボリュームに対応するレコード３３１をＬＶ管理テーブル３３０から抽出する。
【０１８４】
［ステップＳ８３］ボリューム設定部３１２は、ステップＳ８２で設定した論理ボリュームに隣接する領域に、他の論理ボリュームの領域を含むバンドが設定されているかを判定する。ボリューム設定部３１２は、ＬＶ管理テーブル３３０内の同一ＲＬＵに対応する論理ボリュームのレコード３３１のうち、ステップＳ８２で生成したレコード３３１より１つ前または１つ後のレコード３３１の「バンド識別情報」に、（グローバルバンドではない）バンドが設定されている場合に、隣接領域にバンドが設定されていると判定する。
【０１８５】
隣接領域にバンドが設定されている場合（Ｓ８３：Ｙｅｓ）、ボリューム設定部３１２は、ステップＳ８４の処理を実行する。一方、隣接領域にバンドが設定されていない場合（Ｓ８３：Ｎｏ）、ボリューム設定部３１２は、ステップＳ８９の処理を実行する。
【０１８６】
［ステップＳ８４］ボリューム設定部３１２は、ステップＳ８３で処理対象の論理ボリュームに隣接していると判定したバンドに、論理ボリュームが１個設定されているか、あるいは２個設定されているかを判定する。ボリューム設定部３１２は、処理対象の論理ボリュームに隣接する、バンドが設定された論理ボリュームに対応するレコード３３１と、その論理ボリュームにさらに隣接する論理ボリュームに対応するレコード３３１とを、ＬＶ管理テーブル３３０から抽出する。
【０１８７】
ボリューム設定部３１２は、抽出した２つのレコード３３１の「バンド識別情報」の欄に異なるバンドが設定されていた場合に、バンドに論理ボリュームが１個設定されていると判定し（Ｓ８４：Ｙｅｓ）、ステップＳ８５の処理を実行する。一方、ボリューム設定部３１２は、抽出した２つのレコード３３１の「バンド識別情報」の欄に同じバンドが登録されていた場合に、バンドに論理ボリュームが２個設定されていると判定し（Ｓ８４：Ｎｏ）、ステップＳ８９の処理を実行する。
【０１８８】
［ステップＳ８５］ボリューム設定部３１２は、ステップＳ８２でＬＶ管理テーブル３３０に生成したレコード３３１（またはＬＶ管理テーブル３３０から抽出したレコード３３１）から、ＳＥＤを１つ選択する。
【０１８９】
［ステップＳ８６］ボリューム設定部３１２は、ステップＳ８５で選択したＳＥＤに対して、処理対象の論理ボリュームの設定領域に隣接するバンドの範囲を、処理対象の論理ボリュームを含む範囲まで拡張するように要求する。処理対象の論理ボリュームより先頭側の記憶領域にバンドが隣接する場合、ＳＥＤのバンド管理部２４１は、そのバンドについてのバンド管理テーブル２３０のレコード２３１内の「長さ」を、処理対象の論理ボリュームの範囲を含むように大きくする。一方、処理対象の論理ボリュームより後端部側の記憶領域にバンドが隣接する場合、バンド管理部２４１は、そのバンドについてのバンド管理テーブル２３０のレコード２３１内の「先頭アドレス」を、処理対象の論理ボリュームの先頭アドレスによって更新する。
【０１９０】
［ステップＳ８７］ＳＥＤのバンド管理部２４１は、ステップＳ８６で範囲を拡張したバンドの識別情報を、ＣＭ３００ａのボリューム設定部３１２に送信する。ボリューム設定部３１２は、バンド管理部２４１から受信したバンド識別情報を、ステップＳ８２でＬＶ管理テーブル３３０に生成したレコード３３１（またはＬＶ管理テーブル３３０から抽出したレコード３３１）の登録欄のうち、ステップＳ８５で選択したＳＥＤに対応する「バンド識別情報」の欄に登録する。
【０１９１】
［ステップＳ８８］ボリューム設定部３１２は、ステップＳ８２でＬＶ管理テーブル３３０に生成したレコード３３１（またはＬＶ管理テーブル３３０から抽出したレコード３３１）に登録されたすべてのＳＥＤについて、処理済みであるかを判定する。処理済みでないＳＥＤが存在する場合（Ｓ８８：Ｎｏ）、ステップＳ８５に戻り、ボリューム設定部３１２は、レコード３３１に登録された未処理のＳＥＤを１つ選択する。一方、登録されたすべてのＳＥＤが処理済みである場合（Ｓ８８：Ｙｅｓ）、ボリューム設定処理は終了する。
【０１９２】
以上のステップＳ８５〜Ｓ８８の処理では、新規に設定された論理ボリューム、またはバンドへの復帰を要求された論理ボリュームに対して、隣接する論理ボリュームと共通のバンドが設定される。従って、ステップＳ８５〜Ｓ８８の処理が実行された場合には、ＳＥＤに設定されるバンドの数は増加しない。
【０１９３】
［ステップＳ８９〜Ｓ９１］処理対象の論理ボリュームに隣接する領域に、論理ボリュームが１個のみ設定されたバンドが設定されていない場合（Ｓ８３：ＮｏまたはＳ８４：Ｎｏ）、ステップＳ８９〜Ｓ９１での新たなバンドを設定する処理が実行される。ステップＳ８９，Ｓ９０，Ｓ９１，Ｓ９２の処理は、それぞれ図１１のＳ１３，Ｓ１４，Ｓ１５，Ｓ１６の処理に対応する。
【０１９４】
すなわち、ボリューム設定部３１２は、ステップＳ８２でＬＶ管理テーブル３３０に生成したレコード３３１（またはＬＶ管理テーブル３３０から抽出したレコード３３１）から、ＳＥＤを１つ選択する（ステップＳ８９）。次に、ボリューム設定部３１２は、ステップＳ８９で選択したＳＥＤに対して、処理対象の論理ボリュームに対応する領域にバンドを新規に設定するように要求する（ステップＳ９０）。これにより、選択したＳＥＤに、処理対象の論理ボリュームの領域に対応するバンドが追加設定される。
【０１９５】
さらに、ボリューム設定部３１２は、追加設定されたバンドの識別情報を、ステップＳ８２でＬＶ管理テーブル３３０に生成したレコード３３１（またはＬＶ管理テーブル３３０から抽出したレコード３３１）の「バンド識別情報」の欄に登録する（ステップＳ９１）。また、ボリューム設定部３１２は、さらに、管理端末１３０からの要求に基づいて、ステップＳ９０で設定されたバンドに対する自動ロック動作の設定や、ロック状態を解除するための認証鍵の設定を行ってもよい。
【０１９６】
ボリューム設定部３１２は、次に、ステップＳ８２でＬＶ管理テーブル３３０に生成したレコード３３１（またはＬＶ管理テーブル３３０から抽出したレコード３３１）に登録されたすべてのＳＥＤについて、処理済みであるかを判定する（ステップＳ９２）。ボリューム設定部３１２は、登録されたすべてのＳＥＤについてステップＳ８９〜Ｓ９１の処理を実行し、すべてのＳＥＤが処理済みになると（Ｓ９２：Ｙｅｓ）、処理を終了する。
【０１９７】
ここで、図２１は、ＳＥＤの電源投入時におけるロック状態解除処理手順の例を示すフローチャートである。ここでは例として、ＳＥＤ２１０ａの電源が投入された場合について説明する。
【０１９８】
［ステップＳ１１１］ＳＥＤ２１０ａのロック制御部２４４は、図示しない電源スイッチの押下を検出するなどして、電源投入操作が行われたことを検知する。
［ステップＳ１１２］ロック制御部２４４は、バンド管理テーブル２３０から、「ロックイネーブル」の値が「１」であるレコード２３１をすべて抽出し、抽出したレコード２３１に対応するバンドを、外部からのアクセスが不可能なロック状態にする。このとき、ロック制御部２４４は、バンド管理テーブル２３０から抽出したすべてのレコード２３１における「ロック状態」の値を、ロックされていない状態を示す「０」からロック状態を示す「１」に更新する。
【０１９９】
ところで、ＳＥＤ２１０ａの電源が投入されたことを検知したＣＭ３００ａの認証処理部３１４は、ＬＶ管理テーブル３３０を検索して、「認証鍵」の欄に鍵情報が登録されたバンド（すなわち、自動ロック動作が有効であるバンド）と、そのバンドが設定されたＳＥＤとを抽出する。認証処理部３１４は、ＬＶ管理テーブル３３０から抽出したＳＥＤのそれぞれに対して、同様に抽出したバンドの識別情報と、このバンドに対応付けられた認証鍵とを順次送信し、ＳＥＤとの間で、自動ロック動作が有効であるバンドについての認証処理を行う。
【０２００】
［ステップＳ１１３］ＳＥＤ２１０ａのロック制御部２４４は、ＣＭ３００ａの認証処理部３１４からの、認証対象のバンドの識別情報と認証鍵とを監視する。ロック制御部２４４は、バンドの識別情報と認証鍵とを受信する（Ｓ１１３：Ｙｅｓ）と、ステップＳ１１４の処理を実行する。
【０２０１】
［ステップＳ１１４］ロック制御部２４４は、バンド管理テーブル２３０から、受信したバンドの識別情報に対応するレコード２３１を抽出し、抽出したレコード２３１から、「認証鍵」の欄に登録された、ハッシュ化された認証鍵を抽出する。ロック制御部２４４は、レコード２３１から抽出した、ハッシュ化された認証鍵と、ステップＳ１１３でＣＭ３００ａから受信した認証鍵をハッシュ化した値とを照合して、認証処理を行う。
【０２０２】
［ステップＳ１１５］ステップＳ１１４での認証に成功した場合（Ｓ１１５：Ｙｅｓ）、ロック制御部２４４は、ステップＳ１１６の処理を実行する。一方、ステップＳ１１４での認証に失敗した場合（Ｓ１１５：Ｎｏ）、ロック制御部２４４は、ステップＳ１１７の処理を実行する。
【０２０３】
［ステップＳ１１６］ロック制御部２４４は、認証対象のバンドのロック状態を解除する。ロック制御部２４４は、ステップＳ１１４でバンド管理テーブル２３０から抽出したレコード２３１の「ロック状態」を、ロック状態を示す「１」からロック状態でないことを示す「０」に更新する。ロック制御部２４４は、ＣＭ３００ａの認証処理部３１４に対して、認証に成功したことを通知する。この後、ステップＳ１１３に戻り、ロック制御部２４４は、ＣＭ３００ａの認証処理部３１４からの、他のバンドの識別情報と認証鍵とを監視する。
【０２０４】
［ステップＳ１１７］ロック制御部２４４は、ＣＭ３００ａの認証処理部３１４に対して、認証に失敗したことを通知する。この場合、認証対象のバンドはロック状態のままになる。この後、ステップＳ１１３に戻り、ロック制御部２４４は、ＣＭ３００ａの認証処理部３１４からの、他のバンドの識別情報と認証鍵とを監視する。
【０２０５】
なお、本実施の形態に限らず、前述した第２の実施の形態におけるＳＥＤのロック制御部２４４とＣＭの認証処理部３１４との間でも、上記の図２１の処理を実行可能である。
上記の図２１の処理では、ＳＥＤ２１０ａに対して、自動ロック動作が有効とされたバンドが多く設定されているほど、ステップＳ１１３〜Ｓ１１７の実行回数が増加する。この結果、自動ロック動作が有効とされたバンドが多く設定されているほど、ＳＥＤ２１０ａの電源投入が要求されてから、ＣＭ３００ａがＳＥＤ２１０ａ内の磁気ディスク２１１にアクセス可能になるまでの時間が長くなる。
【０２０６】
これに対し、前述の図２０の処理によれば、第２の実施の形態と比較して、ＳＥＤにバンドが設定される数が少なくなる。このため、自動ロック動作が有効とされたバンドの設定数が多くなる可能性が低くなり、ＳＥＤの電源投入時に認証処理に要する時間が短縮される可能性が高まる。
【０２０７】
また、ＳＥＤに設定可能なバンド数は、製品の仕様によって制限される場合がある。図２１の処理により、ＳＥＤに設定されるバンドの数が少なくなるので、設定可能なバンド数が同じＳＥＤを使用する場合、第２の実施の形態よりも多くの論理ボリュームを設定可能になる。
【０２０８】
図２２は、論理ボリュームを完全消去する際の処理手順の例を示すフローチャートである。
［ステップＳ１３１］ＣＭ３００ａのセキュアイレース制御部３１３は、管理端末１３０から、論理ボリュームの指定と、指定された論理ボリュームを完全消去する要求とを受け付ける。
【０２０９】
［ステップＳ１３２］セキュアイレース制御部３１３は、管理端末１３０から指定された論理ボリュームに対応するレコード３３１を、ＬＶ管理テーブル３３０から抽出する。
［ステップＳ１３３］セキュアイレース制御部３１３は、ステップＳ１３２でＬＶ管理テーブル３３０から抽出したレコード３３１の「バンド識別情報」の欄に基づき、消去対象の論理ボリュームにバンドが設定されているかを判定する。バンドが設定されている場合（Ｓ１３３：Ｙｅｓ）、セキュアイレース制御部３１３は、ステップＳ１３４の処理を実行する。一方、「バンド識別情報」の欄に何も登録されておらず、消去対象の論理ボリュームがグローバルバンドに属する場合（Ｓ１３３：Ｎｏ）、セキュアイレース制御部３１３は、ステップＳ１４１の処理を実行する。
【０２１０】
［ステップＳ１３４］セキュアイレース制御部３１３は、消去対象の論理ボリュームが含まれるバンドに、隣接する他の論理ボリュームも含まれるかを判定する。例えば、セキュアイレース制御部３１３は、ステップＳ１３２でＬＶ管理テーブル３３０から抽出したレコード３３１内の「バンド識別情報」の登録値と、その前後のレコード３３１内の「バンド識別情報」の登録値とが一致するかを判定する。セキュアイレース制御部３１３は、登録値が一致する場合には、バンドに２つの論理ボリュームが含まれると判定し（Ｓ１３４：Ｙｅｓ）、ステップＳ１３５の処理を実行する。一方、セキュアイレース制御部３１３は、登録値が一致しない場合には、バンドに１つの論理ボリュームのみが含まれると判定し（Ｓ１３４：Ｎｏ）、ステップＳ１３８の処理を実行する。
【０２１１】
［ステップＳ１３５］セキュアイレース制御部３１３は、ステップＳ１３２でＬＶ管理テーブル３３０から抽出したレコード３３１から、「バンド識別情報」が示すバンドを１つ選択する。
【０２１２】
［ステップＳ１３６］ステップＳ１３５で選択されたバンドの設定範囲には、消去対象の論理ボリュームと、隣接する論理ボリュームとが含まれる。セキュアイレース制御部３１３は、ステップＳ１３５で選択したバンドが設定されたＳＥＤに対して、バンドの設定範囲を、消去対象の論理ボリュームの領域を含まない範囲に制限するように要求する。
【０２１３】
例えば、セキュアイレース制御部３１３は、ステップＳ１３５で選択した「バンド識別情報」の登録値と、この登録値に対応付けられた「先頭アドレス」および「長さ」の各情報をＳＥＤに送信し、「先頭アドレス」および「長さ」の各登録値が示す範囲をバンドから外すように要求する。ＳＥＤのバンド管理部２４１は、受信した「先頭アドレス」の登録値に対応するレコード２３１をバンド管理テーブル２３０から抽出し、抽出したレコード２３１内の「先頭アドレス」または「長さ」を更新することで、対応するバンドの設定領域を、消去対象の論理ボリュームを含まなくなるように制限する。
【０２１４】
消去対象の論理ボリュームがバンドの先頭側に配置されていた場合、レコード２３１内の「先頭アドレス」が次の論理ボリュームの先頭アドレスに更新される、一方、消去対象の論理ボリュームがバンドの後端側に配置されていた場合、レコード２３１内の「長さ」が消去対象の論理ボリュームの容量分だけ減算される。これらいずれの場合でも、消去対象の論理ボリュームの領域は、元のバンドとは異なる暗号鍵が用いられるグローバルバンドとなり、消去対象の論理ボリュームの領域に記録されていたデータが完全消去される。
【０２１５】
［ステップＳ１３７］セキュアイレース制御部３１３は、ステップＳ１３２でＬＶ管理テーブル３３０から抽出したレコード３３１に登録されたすべてのバンドについて、処理済みであるかを判定する。処理済みでないバンドが存在する場合（Ｓ１３７：Ｎｏ）、ステップＳ１３５に戻り、セキュアイレース制御部３１３は、レコード３３１に登録された未処理のバンドを１つ選択する。一方、登録されたすべてのバンドが処理済みである場合（Ｓ１３７：Ｙｅｓ）、セキュアイレース制御部３１３は処理を終了する。
【０２１６】
［ステップＳ１３８］セキュアイレース制御部３１３は、ステップＳ１３２でＬＶ管理テーブル３３０から抽出したレコード３３１から、「バンド識別情報」が示すバンドを１つ選択する。
【０２１７】
［ステップＳ１３９］ステップＳ１３８で選択したバンドには、消去対象の論理ボリュームのみが含まれる。この場合、セキュアイレース制御部３１３は、選択したバンドが設定されたＳＥＤに対して、そのバンドについてのセキュアイレースの実行を要求する。要求を受けたＳＥＤのバンド管理部２４１は、セキュアイレース対象のバンドに対応するレコード２３１をバンド管理テーブル２３０から抽出し、抽出したレコード２３１内の「暗号鍵」に登録された値を、暗号鍵生成部２４２に新たに生成させた暗号鍵に更新する。これにより、セキュアイレース対象のバンドに記録されていたデータは、完全消去される。
【０２１８】
［ステップＳ１４０］セキュアイレース制御部３１３は、ステップＳ１３２でＬＶ管理テーブル３３０から抽出したレコード３３１に登録されたすべてのバンドについて、処理済みであるかを判定する。処理済みでないバンドが存在する場合（Ｓ１４０：Ｎｏ）、ステップＳ１３８に戻り、セキュアイレース制御部３１３は、レコード３３１に登録された未処理のバンドを１つ選択する。一方、登録されたすべてのバンドが処理済みである場合（Ｓ１４０：Ｙｅｓ）、セキュアイレース制御部３１３は処理を終了する。
【０２１９】
［ステップＳ１４１］セキュアイレース制御部３１３は、ステップＳ１３２でＬＶ管理テーブル３３０から抽出したレコード３３１から、ＳＥＤを１つ選択する。
［ステップＳ１４２］消去対象の論理ボリュームは、グローバルバンドに属している。このような消去対象の論理ボリュームは、例えば、以前に実行されたステップＳ１３６の処理によってバンドの設定範囲から外れたものである。この場合、消去対象の論理ボリュームに隣接する少なくとも一方の論理ボリュームには、その論理ボリュームの領域のみを含むバンドが設定されている。
【０２２０】
セキュアイレース制御部３１３は、隣接する論理ボリュームのうち、その論理ボリュームの領域のみを含むバンドが設定された論理ボリュームのレコード３３１から、ステップＳ１４１で選択したＳＥＤに対応付けられた「バンド識別情報」の登録情報を読み出す。セキュアイレース制御部３１３は、読み出した「バンド識別情報」の登録情報と、消去対象の論理ボリュームについての「先頭アドレス」および「長さ」の各情報とを、ステップＳ１４１で選択したＳＥＤに対して送信する。そして、「バンド識別情報」の登録情報が示すバンドの範囲を、消去対象の論理ボリュームの範囲まで拡張するように要求する。
【０２２１】
拡張要求を受け付けたＳＥＤのバンド管理部２４１は、「バンド識別情報」の登録情報に対応するレコード２３１をバンド管理テーブル２３０から抽出する。バンド管理部２４１は、抽出したレコード２３１における「先頭アドレス」または「長さ」を更新することで、バンドの設定領域を消去対象の論理ボリュームを含む領域まで拡張する。
【０２２２】
消去対象の論理ボリュームの領域がバンドより先頭側に位置する場合、レコード２３１内の「先頭アドレス」の値が、消去対象の論理ボリュームの先頭アドレスに更新される。一方、消去対象の論理ボリュームの領域がバンドより後端側に位置する場合、レコード２３１内の「長さ」の値に、消去対象の論理ボリュームの容量が加算される。これらいずれの場合でも、消去対象の論理ボリュームの領域は、グローバルバンドから、別の暗号鍵が用いられる既存のバンドに変更されるので、消去対象の論理ボリュームの領域に記録されていたデータが完全消去される。
【０２２３】
［ステップＳ１４３］セキュアイレース制御部３１３は、ステップＳ１３２でＬＶ管理テーブル３３０から抽出したレコード３３１に登録されたすべてのＳＥＤについて、処理済みであるかを判定する。処理済みでないＳＥＤが存在する場合（Ｓ１４３：Ｎｏ）、ステップＳ１４１に戻り、セキュアイレース制御部３１３は、レコード３３１に登録された未処理のＳＥＤを１つ選択する。一方、登録されたすべてのＳＥＤが処理済みである場合（Ｓ１４３：Ｙｅｓ）、セキュアイレース制御部３１３は処理を終了する。
【０２２４】
以上の図２２の処理によれば、第２の実施の形態と同様のセキュアイレース処理（Ｓ１３９）、または、既存のバンドの設定範囲を変更する処理（Ｓ１３６，Ｓ１４２）のいずれかによって、消去対象の論理ボリュームを短時間に完全消去することができる。すなわち、第３の実施の形態では、２つの論理ボリュームに１つのバンドを設定することによるバンドの設定数を減少させる効果が得られながらも、論理ボリューム単位での短時間での完全消去を実現可能になる。
【０２２５】
なお、以上の第３の実施の形態では、最大２つの論理ボリュームに１つのバンドを設定するようにしたが、３つ以上の論理ボリュームに１つのバンドを設定できるようにしてもよい。ただしその場合、同一バンドが設定された複数の論理ボリュームのうち、ＳＥＤの物理記憶領域において最も先頭側または最も後端側に設定された論理ボリュームのみが、論理ボリューム単位で完全消去できる対象となる。
【０２２６】
以上の各実施の形態に関し、さらに以下の付記を開示する。
（付記１）  記憶装置と、前記記憶装置へのアクセスを制御する制御装置とを備えるストレージシステムにおいて、
前記記憶装置は、
暗号鍵を生成する暗号鍵生成部と、
自装置の記憶領域に対して前記暗号鍵生成部が生成した暗号鍵を用いてデータを暗号化して記録するとともに、自装置の記憶領域に設定した分割領域ごとに暗号化に用いる暗号鍵を変更可能な暗号化処理部と、
を有し、
前記制御装置は、
前記記憶装置の記憶領域のうち論理ボリュームとして設定した記憶領域ごとに、個別の分割領域を設定するように、前記記憶装置の前記暗号化処理部に要求する論理ボリューム設定部と、
消去対象とする論理ボリュームに対応する分割領域について暗号化に用いる暗号鍵を変更するように、前記記憶装置の前記暗号化処理部に要求するデータ消去処理部と、
を有することを特徴とするストレージシステム。
【０２２７】
（付記２）  前記ストレージシステムは、前記暗号鍵生成部と前記暗号化処理部とをそれぞれ有する複数の記憶装置を備え、
前記制御装置において、
前記論理ボリューム設定部は、前記複数の記憶装置に跨る論理ボリュームを設定する際に、設定する論理ボリュームの記憶領域のうち前記複数の記憶装置のそれぞれに含まれる記憶領域を、それぞれ分割領域として設定するように、前記複数の記憶装置の前記暗号化処理部に要求し、
前記データ消去処理部は、前記複数の記憶装置に跨って設定された論理ボリュームを消去する際に、消去対象の論理ボリュームに対応する前記複数の記憶装置のそれぞれにおける分割領域について暗号化に用いる暗号鍵を変更するように、前記複数の記憶装置の前記暗号化処理部に要求する、
ことを特徴とする付記１記載のストレージシステム。
【０２２８】
（付記３）  前記論理ボリューム設定部は、前記記憶装置に設定された論理ボリュームの記憶領域を前記記憶装置内で移動する際、移動対象の論理ボリュームに対応する前記記憶装置における分割領域を、移動後の論理ボリュームの記憶領域を含む範囲まで拡張し、拡張された分割領域のうち移動後の論理ボリュームの記憶領域に対してデータを再配置し、データ再配置の完了後に、前記拡張された分割領域を移動後の論理ボリュームの領域に制限することを特徴とする付記１または２記載のストレージシステム。
【０２２９】
（付記４）  前記論理ボリューム設定部は、前記記憶装置に論理ボリュームを設定する際に、設定する論理ボリュームの記憶領域に隣接する記憶領域に他の論理ボリュームに含まれる分割領域が設定済みである場合には、前記設定済みの分割領域の範囲を前記設定する論理ボリュームの記憶領域を含むように拡張することを特徴とする付記１〜３のいずれか１つに記載のストレージシステム。
【０２３０】
（付記５）  前記データ消去処理部は、前記記憶装置に設定された論理ボリュームを消去する際に、消去対象の論理ボリュームの記憶領域が含まれる分割領域が複数の論理ボリュームの記憶領域を含む場合には、当該分割領域を前記消去対象の論理ボリュームの記憶領域を含まないように制限することを特徴とする付記４記載のストレージシステム。
【０２３１】
（付記６）  前記記憶装置は、設定されたすべての分割領域へのアクセスを電源投入時に遮断し、設定された分割領域ごとに前記制御装置との間で認証処理を行い、認証に成功した分割領域に対するアクセスを許可するアクセス制御部を有し、
前記制御装置は、前記アクセス制御部との間で、前記記憶装置に設定した分割領域ごとにアクセス許可を得るための認証処理を実行する認証処理部を有する、
ことを特徴とする付記４または５記載のストレージシステム。
【０２３２】
（付記７）  暗号鍵を生成し、生成した暗号鍵を用いて記憶領域に記録するデータを暗号化する機能を備える記憶装置に接続し、前記記憶装置へのアクセスを制御するストレージ制御装置において、
記録データの暗号化に用いる暗号鍵をそれぞれ個別に変更可能な分割領域を、前記記憶装置の記憶領域のうち論理ボリュームとして設定した記憶領域ごとに個別に設定するように、前記記憶装置に要求する論理ボリューム設定部と、
消去対象とする論理ボリュームに対応する分割領域について暗号化に用いる暗号鍵を変更するように、前記記憶装置に要求するデータ消去処理部と、
を有することを特徴とするストレージ制御装置。
【０２３３】
（付記８）  前記ストレージ制御装置は、暗号鍵を生成し、生成した暗号鍵を用いて記憶領域に記録するデータを暗号化する機能をそれぞれ備える複数の記憶装置に接続され、
前記論理ボリューム設定部は、前記複数の記憶装置に跨る論理ボリュームを設定する際に、設定する論理ボリュームの記憶領域のうち前記複数の記憶装置のそれぞれに含まれる記憶領域を、それぞれ分割領域として設定するように、前記複数の記憶装置に要求し、
前記データ消去処理部は、前記複数の記憶装置に跨って設定された論理ボリュームを消去する際に、消去対象の論理ボリュームに対応する前記複数の記憶装置のそれぞれにおける分割領域について暗号化に用いる暗号鍵を変更するように、前記複数の記憶装置に要求する、
ことを特徴とする付記７記載のストレージ制御装置。
【０２３４】
（付記９）  前記論理ボリューム設定部は、前記記憶装置に設定された論理ボリュームの記憶領域を前記記憶装置内で移動する際、移動対象の論理ボリュームに対応する前記記憶装置における分割領域を、移動後の論理ボリュームの記憶領域を含む範囲まで拡張し、拡張された分割領域のうち移動後の論理ボリュームの記憶領域に対してデータを再配置し、データ再配置の完了後に、前記拡張された分割領域を移動後の論理ボリュームの領域に制限することを特徴とする付記７または８記載のストレージ制御装置。
【０２３５】
（付記１０）  前記論理ボリューム設定部は、前記記憶装置に論理ボリュームを設定する際に、設定する論理ボリュームの記憶領域に隣接する記憶領域に他の論理ボリュームに含まれる分割領域が設定済みである場合には、前記設定済みの分割領域の範囲を前記設定する論理ボリュームの記憶領域を含むように拡張することを特徴とする付記７〜９のいずれか１つに記載のストレージ制御装置。
【０２３６】
（付記１１）  前記データ消去処理部は、前記記憶装置に設定された論理ボリュームを消去する際に、消去対象の論理ボリュームの記憶領域が含まれる分割領域が複数の論理ボリュームの記憶領域を含む場合には、当該分割領域を前記消去対象の論理ボリュームの記憶領域を含まないように制限することを特徴とする付記１０記載のストレージ制御装置。
【０２３７】
（付記１２）  前記記憶装置では、電源投入時に、設定されたすべての分割領域へのアクセスが遮断され、
前記ストレージ制御装置は、前記記憶装置との間で、前記記憶装置に設定した分割領域ごとにアクセス許可を得るための認証処理を実行する認証処理部を有する、
ことを特徴とする付記１０または１１記載のストレージ制御装置。
【０２３８】
（付記１３）  暗号鍵を生成し、生成した暗号鍵を用いて記憶領域に記録するデータを暗号化する機能を備える記憶装置に接続したストレージ制御装置におけるストレージ制御方法において、
前記ストレージ制御装置は、
記録データの暗号化に用いる暗号鍵をそれぞれ個別に変更可能な分割領域を、前記記憶装置の記憶領域のうち論理ボリュームとして設定した記憶領域ごとに個別に設定するように、前記記憶装置に要求し、
消去対象とする論理ボリュームに対応する分割領域について暗号化に用いる暗号鍵を変更するように、前記記憶装置に要求する、
ことを特徴とするストレージ制御方法。
【０２３９】
（付記１４）  前記ストレージ制御装置が、暗号鍵を生成し、生成した暗号鍵を用いて記憶領域に記録するデータを暗号化する機能をそれぞれ備える複数の記憶装置に接続されている場合に、
前記ストレージ制御装置は、
前記複数の記憶装置に跨る論理ボリュームを設定する際に、設定する論理ボリュームの記憶領域のうち前記複数の記憶装置のそれぞれに含まれる記憶領域を、それぞれ分割領域として設定するように、前記複数の記憶装置に要求し、
前記複数の記憶装置に跨って設定された論理ボリュームを消去する際に、消去対象の論理ボリュームに対応する前記複数の記憶装置のそれぞれにおける分割領域について暗号化に用いる暗号鍵を変更するように、前記複数の記憶装置に要求する、
ことを特徴とする付記１３記載のストレージ制御方法。
【０２４０】
（付記１５）  前記ストレージ制御装置は、前記記憶装置に設定された論理ボリュームの記憶領域を前記記憶装置内で移動する際、移動対象の論理ボリュームに対応する前記記憶装置における分割領域を、移動後の論理ボリュームの記憶領域を含む範囲まで拡張し、拡張された分割領域のうち移動後の論理ボリュームの記憶領域に対してデータを再配置し、データ再配置の完了後に、前記拡張された分割領域を移動後の論理ボリュームの領域に制限することを特徴とする付記１３または１４記載のストレージ制御方法。
【０２４１】
（付記１６）  前記ストレージ制御装置は、前記記憶装置に論理ボリュームを設定する際に、設定する論理ボリュームの記憶領域に隣接する記憶領域に他の論理ボリュームに含まれる分割領域が設定済みである場合には、前記設定済みの分割領域の範囲を前記設定する論理ボリュームの記憶領域を含むように拡張することを特徴とする付記１３〜１５のいずれか１つに記載のストレージ制御方法。
【０２４２】
（付記１７）  前記ストレージ制御装置は、前記記憶装置に設定された論理ボリュームを消去する際に、消去対象の論理ボリュームの記憶領域が含まれる分割領域が複数の論理ボリュームの記憶領域を含む場合には、当該分割領域を前記消去対象の論理ボリュームの記憶領域を含まないように制限することを特徴とする付記１６記載のストレージ制御方法。
【０２４３】
（付記１８）  前記記憶装置では、電源投入時に、設定されたすべての分割領域へのアクセスが遮断され、
前記ストレージ制御装置は、前記記憶装置との間で、前記記憶装置に設定した分割領域ごとにアクセス許可を得るための認証処理を実行する、
ことを特徴とする付記１６または１７記載のストレージ制御方法。
【符号の説明】
【０２４４】
１  ストレージシステム
１０  制御装置
１１  論理ボリューム設定部
１２  データ消去処理部
２０ａ，２０ｂ  記憶装置
２１ａ，２１ｂ  記憶領域
２２ａ，２２ｂ  暗号鍵生成部
２３ａ，２３ｂ  暗号化処理部
【図１】
0005640845.tif 000002
【図２】
0005640845.tif 000003
【図３】
0005640845.tif 000004
【図４】
0005640845.tif 000005
【図５】
0005640845.tif 000006
【図６】
0005640845.tif 000007
【図７】
0005640845.tif 000008
【図８】
0005640845.tif 000009
【図９】
0005640845.tif 000010
【図１０】
0005640845.tif 000011
【図１１】
0005640845.tif 000012
【図１２】
0005640845.tif 000013
【図１３】
0005640845.tif 000014
【図１４】
0005640845.tif 000015
【図１５】
0005640845.tif 000016
【図１６】
0005640845.tif 000017
【図１７】
0005640845.tif 000018
【図１８】
0005640845.tif 000019
【図１９】
0005640845.tif 000020
【図２０】
0005640845.tif 000021
【図２１】
0005640845.tif 000022
【図２２】
0005640845.tif 000023