(57)【要約】【課題】コンテンツの不正コピーを防止でき、且つ専用のバックアップ装置を用いずにコンテンツを安全に保存することが可能なディスクアレイ制御装置を実現する。【解決手段】ＲＡＩＤコントローラ１０５は、複数のディスクドライブ１１１〜１１３をＲＡＩＤ１、ＲＡＩＤ４、またはＲＡＩＤ５の冗長化されたディスクアレイとして機能させるための制御を行う。このＲＡＩＤコントローラ１０５は、ホスト装置１０１からのライトデータをＲＡＩＤコントローラ１０５に固有の鍵を用いて暗号化し、その暗号化されたライトデータと当該暗号化されたライトデータの障害回復のための冗長データとをディスクアレイに書き込む。また、ＲＡＩＤコントローラ１０５は、ホスト装置１０１からの読み出し要求に応じて、暗号化されたデータをディスクアレイから読み出し、そして読み出された暗号化されたデータを前記鍵を用いて復号する。【選択図】      図１
2006252328.tif 000002
【特許請求の範囲】
【請求項１】
ホスト装置からのディスクアクセス要求に応じてディスクアレイを制御するディスクアレイ制御装置であって、
前記ホスト装置からのライトデータを前記ディスクアレイ制御装置に固有の鍵を用いて暗号化する暗号化手段と、
前記暗号化されたライトデータと前記暗号化されたライトデータの障害回復のための冗長データとを前記ディスクアレイに書き込む書き込み手段と、
前記ホスト装置からの読み出し要求に応じて、暗号化されたデータを前記ディスクアレイから読み出す読み出し手段と、
前記読み出された暗号化されたデータを前記鍵を用いて復号する復号手段と、
前記復号されたデータを前記ホスト装置に返す手段とを具備することを特徴とするディスクアレイ制御装置。
【請求項２】
前記ディスクアレイは、ミラーリングされた少なくとも２つのディスクドライブを含むことを特徴とする請求項１記載のディスクアレイ制御装置。
【請求項３】
前記ディスクアレイは、複数のデータブロックとこれら複数のデータブロックから生成されるパリティとを各々が含む複数のストライプによってストライピングされた複数のディスクドライブを含むことを特徴とする請求項１記載のディスクアレイ制御装置。
【請求項４】
前記ディスクアレイは、磁気ディスクドライブから各々構成される複数のディスクドライブを含むことを特徴とする請求項１記載のディスクアレイ制御装置。
【請求項５】
ホスト装置によって操作されるデータを格納するストレージシステムであって、
ディスクアレイと、
前記ホスト装置からのディスクアクセス要求に応じて、前記ディスクアレイを制御するディスクアレイ制御装置であって、前記ホスト装置からのライトデータを前記ディスクアレイ制御装置に固有の鍵を用いて暗号化する暗号化手段と、前記暗号化されたライトデータと前記暗号化されたライトデータの障害回復のための冗長データとを前記ディスクアレイに書き込む書き込み手段と、前記ホスト装置からの読み出し要求に応じて、暗号化されたデータを前記ディスクアレイから読み出す読み出し手段と、前記読み出された暗号化されたデータを前記鍵を用いて復号する復号手段と、前記復号されたデータを前記ホスト装置に返す手段とを含むディスクアレイ制御装置とを具備することを特徴とするストレージシステム。
【請求項６】
前記ディスクアレイは、ミラーリングされた少なくとも２つのディスクドライブを含むことを特徴とする請求項５記載のストレージシステム。
【請求項７】
前記ディスクアレイは、複数のデータブロックとこれら複数のデータブロックから生成されるパリティとを各々が含む複数のストライプによってストライピングされた複数のディスクドライブを含むことを特徴とする請求項５記載のストレージシステム。
【請求項８】
前記ディスクアレイは、前記ストレージシステムに取り外し可能に各々装着される複数のディスクドライブを含むことを特徴とする請求項５記載のストレージシステム。
【請求項９】
ディスクアレイ制御装置によってディスクアレイを制御するディスクアレイ制御方法であって、
ホスト装置から前記ディスクアレイ制御装置に送出されるライトデータを前記ディスクアレイ制御装置に固有の鍵を用いて暗号化する暗号化ステップと、
前記暗号化されたライトデータと前記暗号化されたライトデータの障害回復のための冗長データとを前記ディスクアレイに書き込む書き込みステップと、
前記ホスト装置から前記ディスクアレイ制御装置に送出される読み出し要求に応じて、暗号化されたデータを前記ディスクアレイから読み出す読み出しステップと、
前記読み出された暗号化されたデータを前記鍵を用いて復号する復号ステップと、
前記復号されたデータを前記ディスクアレイ制御装置から前記ホスト装置に返すステップとを具備することを特徴とするディスクアレイ制御方法。
【請求項１０】
前記ディスクアレイは、ミラーリングされた少なくとも２つのディスクドライブを含むことを特徴とする請求項９記載のディスクアレイ制御方法。
【請求項１１】
前記ディスクアレイは、複数のデータブロックとこれら複数のデータブロックから生成されるパリティとを各々が含む複数のストライプによってストライピングされた複数のディスクドライブを含むことを特徴とする請求項９記載のディスクアレイ制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＲＡＩＤ（Redundant Array of Inexpensive Disks）のような冗長化されたディスクアレイにデータを格納するためのディスクアレイ制御装置、ストレージシステム、およびディスクアレイ制御方法に関する。
【背景技術】
【０００２】
近年、サーバコンピュータ、パーソナルコンピュータのような情報処理装置においては、ディスクアクセス速度の向上、記憶データの保護を図るために、ＲＡＩＤのような冗長化されたディスクアレイが利用されている。
【０００３】
ＲＡＩＤにおいては、たとえばＲＡＩＤ１、ＲＡＩＤ４、ＲＡＩＤ５のような幾つかの冗長レベル（ＲＡＩＤレベル）が定義されている。ＲＡＩＤシステムにおいては、記憶すべきデータとその障害回復のための冗長データとが複数のディスクドライブに分散して格納される。これにより、十分な耐障害性（フォルトトレラント性）を実現することができる。また、ＲＡＩＤシステムは、リビルド機能を有している。リビルド機能は、障害が発生したディスクドライブに記憶されていたデータの内容を、他のディスクドライブに記憶されているデータの内容を用いて復元する機能である。
【０００４】
また、パーソナルコンピュータ、ＡＶ（オーディオ・ビデオ）機器の多くは、ストレージデバイスとしてハードディスクドライブを利用している。インターネットからダウンロードされた有料インターネットコンテンツや、有料ＴＶ放送番組のような放送コンテンツは、ハードディスクドライブに格納される。
【０００５】
しかし、これらコンテンツの中には、その著作権保護の観点からバックアップ目的のための複製も許されていないものがある。このため、もしハードディスクドライブに障害が発生すると、折角購入したコンテンツが失われてしまうことになる。
【０００６】
特許文献１には、ハードディスクのようなストレージデバイスに格納されたデータを専用のバックアップ装置を用いてバックアップする機能を有するストレージシステムが開示されている。このストレージシステムにおいては、ストレージデバイス内のある記憶エリアＡに格納されたデータは、その記憶エリアＡに固有のキーによって暗号化された後に、バックアップ装置に格納される。
【特許文献１】特開２００２−３５１７４７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかし、特許文献１のストレージシステムにおいては、暗号化されたデータを格納するための専用のバックアップ装置が必要であるので、これによりコストアップが引き起こされることになる。
【０００８】
また、もしコピー制限されたコンテンツの保存のためにＲＡＩＤシステムを単純に使用したならば、コンテンツの複製が不正に作成されてしまう危険がある。例えば、２台のディスクドライブに同一のデータを書き込むＲＡＩＤ１システムにおいては、一方のディスクドライブがシステムから取り外され、そしてその取り外されたディスクドライブに格納されているデータが他の機器で不正に使用される危険がある。また、ＲＡＩＤ４、ＲＡＩＤ５のようなシステムにおいても、個々のディスクドライブの記憶内容が上述のリビルド機能によって不正に複製されてしまう危険がある。
【０００９】
本発明は上述の事情を考慮してなされたものであり、コンテンツの不正コピーを防止でき、且つ専用のバックアップ装置を用いずにコンテンツを安全に保存することが可能なディスクアレイ制御装置、ストレージシステムおよびディスクアレイ制御方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上述の課題を解決するため、本発明は、ホスト装置からのディスクアクセス要求に応じてディスクアレイを制御するディスクアレイ制御装置であって、前記ホスト装置からのライトデータを前記ディスクアレイ制御装置に固有の鍵を用いて暗号化する暗号化手段と、前記暗号化されたライトデータと前記暗号化されたライトデータの障害回復のための冗長データとを前記ディスクアレイに書き込む書き込み手段と、前記ホスト装置からの読み出し要求に応じて、暗号化されたデータを前記ディスクアレイから読み出す読み出し手段と、前記読み出された暗号化されたデータを前記鍵を用いて復号する復号手段と、前記復号されたデータを前記ホスト装置に返す手段とを具備することを特徴とする。
【発明の効果】
【００１１】
本発明によれば、コンテンツの不正コピーを防止でき、且つ専用のバックアップ装置を用いずにコンテンツを安全に保存することが可能となる。
【発明を実施するための最良の形態】
【００１２】
以下、図面を参照して本発明の実施形態を説明する。  
図１には、本発明の一実施形態に係るストレージシステムの構成が示されている。このストレージシステム１０２は、パーソナルコンピュータ、ＴＶ、ＡＶ機器のようなホスト装置１０１によって操作されるデータを格納する。このストレージシステム１０２は、データとそのデータの障害回復のための冗長データとディスクアレイに分散して書き込むＲＡＩＤシステムとして実現されている。ストレージシステム１０２は、ホスト装置１０１に内蔵される内蔵ストレージデバイスとして、またはホスト装置１０１の外付けストレージデバイスとして使用される。
【００１３】
ストレージシステム１０２は、ホスト装置１０１に設けられた接続部（ソケット）１０３に取り外し自在に接続される。ストレージシステム１０２は、図示のように、ソケット１０４、ＲＡＩＤコントローラ１０５、ソケット１０６〜１０８、複数のディスクドライブ１１１〜１１３から構成されている。
【００１４】
ソケット１０４はホスト装置１０１に設けられたソケット１０３と同一の形状を有しており、ストレージシステム１０２をホスト装置１０１に接続するために使用される。ＲＡＩＤコントローラ１０５は、ホスト装置１０１からのディスクアクセス要求に応じて、複数のディスクドライブ１１１〜１１３を含むディスクアレイを制御するディスクアレイ制御装置である。ＲＡＩＤコントローラ１０５は、複数のディスクドライブ１１１〜１１３をＲＡＩＤ１、ＲＡＩＤ４、またはＲＡＩＤ５の冗長化されたディスクアレイとして機能させるための制御を行う。このＲＡＩＤコントローラ１０５には、暗号化部５０１、復号部５０２、およびリビルド処理部５０３が設けられている。
【００１５】
暗号化部５０１は、ホスト装置１０１から送出されるライトデータをＲＡＩＤコントローラ１０５に固有の鍵を用いて暗号化する。復号部５０２は、ディスクアレイから読み出される暗号化されたデータを上述の鍵によって復号する。リビルド処理部５０３は、障害が発生したディスクドライブに記憶されていたデータの内容を、他のディスクドライブに記憶されているデータの内容を用いて復元するリビルド処理を実行する。
【００１６】
ディスクドライブ１１１〜１１３は、ストレージシステム１０２に設けられたソケット１０６〜１０８に取り外し自在に接続される。ソケット１０６〜１０８の各々の形状は、ソケット１０３と同じである。したがって、ホスト装置１０１の使用者は、ソケット１０３にストレージシステム１０２を接続する代わりに、通常のディスクドライブを接続することもできる。
【００１７】
ディスクドライブ１１１〜１１３の各々は、ＩＤＥ、ＳＣＳＩ、ＵＳＢなどの規格の磁気ディスクドライブ（ハードディスクドライブ）として実現されている。ディスクドライブ１１１は、ハードディスクドライブユニット（ＨＤＤ）２０１、ハードディスクコントローラ（ＨＤコントローラ）２０２、およびソケット２０３から構成されている。同様に、ディスクドライブ１１２は、ハードディスクドライブユニット（ＨＤＤ）３０１、ハードディスクコントローラ（ＨＤコントローラ）３０２、およびソケット３０３から構成され、ディスクドライブ１１３は、ハードディスクドライブユニット（ＨＤＤ）４０１、ハードディスクコントローラ（ＨＤコントローラ）４０２、およびソケット４０３から構成されている。
【００１８】
次に、本ストレージシステム１０２におけるデータ格納形式について説明する。
【００１９】
図２には、ＲＡＩＤ１のディスクアレイが示されている。このＲＡＩＤ１のディスクアレイは、ミラーリングされた２つのディスクドライブ１１１，１１２によって構成されている。ＲＡＩＤコントローラ１０５は、ホスト装置からのライトデータＤ１を暗号化し、暗号化されたライトデータＥ（Ｄ１）をディスクドライブ１１１に格納するとともに、暗号化されたライトデータＥ（Ｄ１）と同一のデータ（冗長データ）をディスクドライブ１１２にも格納する。これにより、図２に示されているように、ディスクドライブ１１１とディスクドライブ１１２のデータ構造は全く同一となる。
【００２０】
ディスクドライブ１１１，１１２の一方に障害が発生しても、他方から正しいデータをリードすることができる。ＲＡＩＤ１のディスクアレイは、２台以上の偶数台のディスクドライブによって実現できる。
【００２１】
図３には、ＲＡＩＤ５のディスクアレイが示されている。このＲＡＩＤ５のディスクアレイは、ストライピングされた３つのディスクドライブ１１１，１１２，１１３によって構成されている。各ストライプはパリティを冗長データとして含む。
【００２２】
ストライプＳ１は、ディスクドライブ１１１に格納された暗号化データＥ（Ｄ１）と、ディスクドライブ１１２に格納された暗号化データＥ（Ｄ２）と、ディスクドライブ１１３に格納されたパリティＰ１とから構成される。パリティＰ１は、暗号化データＥ（Ｄ１），Ｅ（Ｄ２）から生成され、それら暗号化データＥ（Ｄ１），Ｅ（Ｄ２）の障害回復のために使用される。ストライプＳ２は、ディスクドライブ１１１に格納された暗号化データＥ（Ｄ３）と、ディスクドライブ１１２に格納されたパリティＰ２と、ディスクドライブ１１３に格納された暗号化データＥ（Ｄ４）とから構成される。パリティＰ２は、暗号化データＥ（Ｄ３），Ｅ（Ｄ４）から生成され、それら暗号化データＥ（Ｄ３），Ｅ（Ｄ４）の障害回復のために使用される。ストライプＳ３は、ディスクドライブ１１１に格納されたパリティＰ３と、ディスクドライブ１１２に格納された暗号化データＥ（Ｄ５）と、ディスクドライブ１１３に格納された暗号化データＥ（Ｄ６）とから構成される。パリティＰ３は、暗号化データＥ（Ｄ５），Ｅ（Ｄ６）から生成され、それら暗号化データＥ（Ｄ５），Ｅ（Ｄ６）の障害回復のために使用される。
【００２３】
いま、ホスト装置からのライトデータＤ１，Ｄ２をＲＡＩＤ５のディスクアレイに書き込む場合を想定する。ＲＡＩＤコントローラ１０５は、ホスト装置からのライトデータＤ１，Ｄ２を暗号化し、暗号化されたデータＥ（Ｄ１），Ｅ（Ｄ２）をディスクドライブ１１１，１１２に格納するとともに、暗号化データＥ（Ｄ１），Ｅ（Ｄ２）に対応するパリティＰ１をディスクドライブ１１３に格納する。
【００２４】
３つのディスクドライブ１１１，１１２，１１３のいずれか１台に障害が発生した場合、障害が発生したディスクドライブの記憶内容は、他の２台のディスクドライブの記憶内容から復元することができる。例えば、ディスクドライブ１１２に障害が発生した場合、暗号化データＥ（Ｄ２）は、暗号化データＥ（Ｄ２）が属するストライプＳ１内の他のデータ、つまり暗号化データＥ（Ｄ１）とパリティＰ１とから復元することができる。同様に、暗号化データＥ（Ｄ５）は、暗号化データＥ（Ｄ５）が属するストライプＳ３内の他のデータ、つまりパリティＰ３と暗号化データＥ（Ｄ６）とから復元することができる。
【００２５】
次に、図４および図５を参照して、ディスクアレイにデータを書き込む処理について説明する。図４はホスト装置１０１からのライトデータがディスクアレイに書き込まれるときのデータの流れを示しており、図４はＲＡＩＤコントローラ１０５によって実行される書き込み処理の手順を示している。
【００２６】
ＲＡＩＤコントローラ１０５は、ホスト装置１０１からのデータ書き込み要求を受け付ける（ステップＳ１０１）。このデータ書き込み要求には、ライトデータと、データ書き込み位置を示す論理アドレスとが含まれている。
【００２７】
ＲＡＩＤコントローラ１０５は、ホスト装置１０１からのライトデータをＲＡＩＤコントローラ１０５自身が持つユニークな鍵によって暗号化する（ステップＳ１０２）。次いで、ＲＡＩＤコントローラ１０５は、暗号化されたライトデータの障害回復のための冗長データ（暗号化されたライトデータの複製データ、または暗号化されたライトデータが属するストライプに対応するパリティ）を生成する（ステップＳ１０３）。そして、ＲＡＩＤコントローラ１０５は、暗号化されたライトデータと冗長データとを複数のディスクドライブに分散して書き込む処理を実行する（ステップＳ１０４，Ｓ１０５）。
【００２８】
このようにして、ホスト装置１０１からの有料コンテンツのようなデータストリームは、図２のデータ構造または図３のデータ構造でディスクアレイに格納される。
【００２９】
次に、図６および図７を参照して、ディスクアレイからデータを読み出す処理について説明する。図６はディスクアレイに格納された暗号化データがホスト装置１０１に読み出されるときのデータの流れを示しており、図７はＲＡＩＤコントローラ１０５によって実行される読み出し処理の手順を示している。
【００３０】
ＲＡＩＤコントローラ１０５は、ホスト装置１０１からのデータ読み出し要求を受け付ける。このデータ読み出し要求には、読み出すべきデータの格納位置を指示する論理アドレスと読み出すべきデータのデータサイズが含まれている。ＲＡＩＤコントローラ１０５は、必要なディスクドライブ内のハードディスクコントローラに読み出し指示を発行し、これによってデータ読み出し要求で指定された暗号化データをディスクアレイから読み出す（ステップＳ２０１，Ｓ２０２）。
【００３１】
ＲＡＩＤコントローラ１０５は、ディスクアレイから読み出された暗号化データを必要に応じて連結（ステップＳ２０３）した後に、その暗号化データをＲＡＩＤコントローラ１０５自身が持つ上述の鍵で復号する（ステップＳ２０４）。そして、ＲＡＩＤコントローラ１０５は、復号されたデータをホスト装置１０１に返す（ステップＳ２０５）。
【００３２】
本ストレージシステム１０２においては、ディスクアレイに格納されるデータはＲＡＩＤコントローラ１０５に固有の鍵で暗号化されているので、ディスクアレイに格納されるデータは本ストレージシステム１０２を経由して読み出さなければ、正常に再生することができない。また、ＲＡＩＤシステムによって十分な耐障害性（フォルトトレラント性）が実現されているので、有料コンテンツのようなコピー制限されたコンテンツを他のメディアにバックアップするという行為を行うことなく、そのコンテンツがハードディスクの故障によって失われてしまうという危険から利用者を守ることができる。
【００３３】
なお、本実施形態ではＲＡＩＤ１とＲＡＩＤ５についてのみ説明したが、ＲＡＩＤ４を用いることもできる。
【００３４】
また、本発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に亘る構成要素を適宜組み合せてもよい。
【図面の簡単な説明】
【００３５】
【図１】本発明の一実施形態に係るストレージシステムの構成を示すブロック図。
【図２】図１のストレージシステムにおけるデータ格納形式の例を示す図。
【図３】図１のストレージシステムにおけるデータ格納形式の他の例を示す図。
【図４】図１のストレージシステムにおける書き込み時のデータの流れを示す図。
【図５】図１のストレージシステムに設けられたＲＡＩＤコントローラによって実行される書き込み処理の手順を示すフローチャート。
【図６】図１のストレージシステムにおける読み出し時のデータの流れを示す図。
【図７】図１のストレージシステムに設けられたＲＡＩＤコントローラによって実行される読み出し処理の手順を示すフローチャート。
【符号の説明】
【００３６】
１０１…ホスト装置、１０２…ストレージシステム、１０３，１０４，１０６，１０７，１０８，２０３，３０３，４０３…ソケット、１０５…ＲＡＩＤコントローラ、１１１，１１２，１１３…ディスクドライブ、５０１…暗号化部、５０２…復号部、５０３…リビルド処理部。
【図１】
2006252328.tif 000003
【図２】
2006252328.tif 000004
【図３】
2006252328.tif 000005
【図４】
2006252328.tif 000006
【図５】
2006252328.tif 000007
【図６】
2006252328.tif 000008
【図７】
2006252328.tif 000009