(57)【要約】【課題】データが格納された記憶媒体からのデータの不正な取り出しを防止するストレージ制御プログラム、ストレージ制御装置、ストレージ制御方法を提供する。【解決手段】複数の記憶領域へのアクセスの制御をコンピュータに実行させるストレージ制御プログラムであって、書き込みデータを受信する第１受信ステップと、第１受信ステップにより受信された書き込みデータを構成する各バイト単位で各々複数ビットに分けた分割データとして再構成する第１変換ステップと、第１変換ステップにて再構成された各々の分割データをそれぞれ異なる複数の記憶領域へ書き込む指示を行う第１指示ステップとをコンピュータに実行させる。【選択図】図２
2009020780.tif 000002
【特許請求の範囲】
【請求項１】
複数の記憶領域へのアクセスの制御をコンピュータに実行させるストレージ制御プログラムであって、
書き込みデータを受信する第１受信ステップと、
前記第１受信ステップにより受信された書き込みデータを構成する各バイト単位で各々複数ビットに分けた分割データとして再構成する第１変換ステップと、
前記第１変換ステップにて再構成された各々の分割データをそれぞれ異なる複数の記憶領域へ書き込む指示を行う第１指示ステップと、
をコンピュータに実行させるストレージ制御プログラム。
【請求項２】
請求項１に記載のストレージ制御プログラムにおいて、
前記第１受信ステップは、前記書き込みデータを含む書き込み要求を受信し、
前記第１指示ステップは、前記分割データ毎に、該分割データを含む書き込み要求を発行するストレージ制御プログラム。
【請求項３】
請求項２に記載のストレージ制御プログラムにおいて、
前記複数の記憶領域は、少なくとも１つのストレージ装置により管理され、
前記第１指示ステップは、前記分割データを含む書き込み要求を、該分割データに対応する前記記憶領域を管理するストレージ装置へ発行するストレージ制御プログラム。
【請求項４】
請求項１乃至請求項３のいずれかに記載のストレージ制御プログラムにおいて、
前記複数の記憶領域のサイズは、同一であるストレージ制御プログラム。
【請求項５】
請求項１乃至請求項４のいずれかに記載のストレージ制御プログラムにおいて、
前記第１変換ステップは、前記書き込みデータを所定のサイズのブロックに分割し、設定された前記ブロック内のビット位置と前記分割データとの関係に基づいて、前記ブロック内の複数のビットを前記複数の分割データへ割り振るストレージ制御プログラム。
【請求項６】
複数の記憶領域へのアクセスの制御を行うストレージ制御装置であって、
書き込みデータを受信する受信部と、
前記受信部により受信された書き込みデータを分割して複数の分割データとする変換であって、前記書き込みデータにおける各バイトを構成する複数のビットを前記複数の分割データに割り振る変換を行う変換部と、
前記複数の分割データをそれぞれ異なる複数の記憶領域へ書き込む指示を行う指示部と
を備えるストレージ制御装置。
【請求項７】
複数の記憶領域へのアクセスの制御を行うストレージ制御方法であって、
書き込みデータを受信する第１受信ステップと、
前記第１受信ステップにより受信された書き込みデータを分割して複数の分割データとする変換であって、前記書き込みデータにおける各バイトを構成する複数のビットを前記複数の分割データに割り振る変換を行う第１変換ステップと、
前記複数の分割データをそれぞれ異なる複数の記憶領域へ書き込む指示を行う第１指示ステップと
を実行するストレージ制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データを多数の記憶媒体に分散して記憶させるストレージ制御プログラム、ストレージ制御装置、ストレージ制御方法に関するものである。
【背景技術】
【０００２】
従来、ネットワークに接続されたディスクを制御するネットワークストレージがある。また、大容量化、信頼性の向上のために、複数のディスクを制御するネットワークストレージがある。
【０００３】
なお、本発明の関連ある従来技術として、物理記憶スペース上の領域をある単位長の物理ブロックで分割し、物理ブロック毎の書き込み要求データのパターンが予め登録されたデータ配置パターンと一致する場合に、一致するデータ配置パターンの識別情報を記録することにより、記録効率を向上させることができるストレージ装置がある（例えば、特許文献１参照）。また、複数の物理デバイスから構成される記憶空間をセクタ等の記憶単位に分割管理し、格納したデータを記憶単位毎に再配置することにより、物理デバイス内への論理デバイスの収容効率を向上させることができる記憶装置がある（例えば、特許文献２参照）。
【特許文献１】特開２００５−１３５１１６号公報
【特許文献２】特開２００１−３３７８５０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、ディスクに格納されたデータは、意味が読み取れる塊になっている可能性がある。従って、物理記憶デバイスが盗難や修理などで持ち出された場合、データが読み出されてしまう可能性がある。
【０００５】
本発明は上述した問題点を解決するためになされたものであり、データが格納された記憶媒体からのデータの不正な取り出しを防止するストレージ制御プログラム、ストレージ制御装置、ストレージ制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上述した課題を解決するため、本発明の一態様は、複数の記憶領域へのアクセスの制御をコンピュータに実行させるストレージ制御プログラムであって、書き込みデータを受信する第１受信ステップと、前記第１受信ステップにより受信された書き込みデータを構成する各バイト単位で各々複数ビットに分けた分割データとして再構成する第１変換ステップと、前記第１変換ステップにて再構成された各々の分割データをそれぞれ異なる複数の記憶領域へ書き込む指示を行う第１指示ステップとをコンピュータに実行させる。
【０００７】
また、本発明の一態様は、複数の記憶領域へのアクセスの制御を行うストレージ制御装置であって、書き込みデータを受信する受信部と、前記受信部により受信された書き込みデータを分割して複数の分割データとする変換であって、前記書き込みデータにおける各バイトを構成する複数のビットを前記複数の分割データに割り振る変換を行う変換部と、前記複数の分割データをそれぞれ異なる複数の記憶領域へ書き込む指示を行う指示部とを備える。
【０００８】
また、本発明の一態様は、複数の記憶領域へのアクセスの制御を行うストレージ制御方法であって、書き込みデータを受信する第１受信ステップと、前記第１受信ステップにより受信された書き込みデータを分割して複数の分割データとする変換であって、前記書き込みデータにおける各バイトを構成する複数のビットを前記複数の分割データに割り振る変換を行う第１変換ステップと、前記複数の分割データをそれぞれ異なる複数の記憶領域へ書き込む指示を行う第１指示ステップとを実行する。
【発明の効果】
【０００９】
本発明によれば、データが格納された記憶媒体からのデータの不正な取り出しを防止することができる。
【発明を実施するための最良の形態】
【００１０】
まず、本発明の実施の形態の前提技術について説明する。
【００１１】
前提技術．
まず、自律的に動作する多数の制御装置を備えるネットワークストレージであるオーガニックストレージの概要について説明する。
【００１２】
図１は、前提技術に係るオーガニックストレージの構成の一例を示すブロック図である。このオーガニックストレージは、ＭＰ（Management Processor）１１、ＡＰ（Access Processor）１２、ＣＰ（Control Processor）１３、ＤＰ（Data Processor）１４、ディスク１５、ネットワーク１６を備える。ＭＰ１１、ＡＰ１２、ＣＰ１３、ＤＰ１４は、それぞれコンピュータであり、ネットワーク１６を介して互いに接続されている。ディスク１５は、ＤＰ１４に接続されている。ＤＰ１４に接続されるディスク１５は複数であっても良い。
【００１３】
ＭＰ１１は、管理者がオーガニックストレージの管理コマンドを発行するためのコンピュータである。ＡＰ１２は、利用者からの要求を受け、それをＤＰ１４へ伝えるコンピュータである。利用者は、ＡＰ１２の論理ボリュームにアクセスすることにより、オーガニックストレージに要求を伝える。ＣＰ１３は、論理ボリューム情報の管理とＤＰ１４の状態監視を行う。ＤＰ１４は、ＡＰ１２からのデータ書き込み要求・読み出し要求を受け取って処理する。更に、ＤＰ１４は、データの二重化を構成・回復するためにＤＰ１４間でデータのやり取りを行う。
【００１４】
論理ボリュームは、一定のサイズ（例えば１Ｇバイト）のセグメントに分割されて管理されている。また、ＤＰ１４は、接続されたディスク１５をセグメントと同サイズのスライス（記憶領域）に分割して管理する。全てのセグメントは、二重化され、スライスのペアが割り当てられる。スライスには、Ｐｒｉｍａｒｙスライス、Ｓｅｃｏｎｄａｒｙスライス、その他のスライスがある。二重化されたセグメントのデータのうち、主データは、Ｐｒｉｍａｒｙスライスに保存され、副データは、Ｓｅｃｏｎｄａｒｙスライスに保存される。
【００１５】
この例において、各ディスク１５は、６つのスライスを有する。Ｐ１，Ｐ２，Ｐ３，Ｐ４，Ｐ５，Ｐ６は、それぞれＰｒｉｍａｒｙスライスを示し、Ｓ１，Ｓ２，Ｓ３，Ｓ４，Ｓ５，Ｓ６は、それぞれＳｅｃｏｎｄａｒｙスライスを示す。ＰｒｉｍａｒｙスライスとＳｅｃｏｎｄａｒｙスライスに付された番号は、セグメント番号を示し、Ｐ１とＳ１のように同一のセグメント番号を持つＰｒｉｍａｒｙスライスとＳｅｃｏｎｄａｒｙスライスが二重化されていることを示す。
【００１６】
ＤＰ１４は、論理ボリュームとスライスに関するメタデータを保持する。ＣＰ１３は、全てのＤＰ１４からメタデータを集め、保持する。論理ボリュームに変更がある場合やＤＰ１４に以上が検出された場合、ＣＰ１３は、関係するＤＰ１４へメタデータ変更の指示を送る。ＡＰ１２は、ＣＰ１３に問い合わせて取得した論理ボリューム情報に基づいて、データの書き込み要求・読み出し要求をＤＰ１４へ送る。
【００１７】
データの書き込み時、利用者のコンピュータは、ＡＰ１２に書き込み要求とデータを送る。ＡＰ１２は、データを決められた単位に分割し、書き込み要求をＤＰ１４へ送る。書き込み要求を受け取ったＤＰ１４は、論理ボリューム情報から二重化を行うべき相手のＤＰ１４を判断し、そのＤＰ１４へ書き込み要求を送る。ここで、ＡＰ１２からの書き込み要求を受け取ったＤＰ１４をＰｒｉｍａｒｙＤＰとし、ＰｒｉｍａｒｙＤＰからの書き込み要求を受け取ったＤＰ１４をＳｅｃｏｎｄａｒｙＤＰと呼ぶことにする。
【００１８】
書き込み要求を受け取ったＳｅｃｏｎｄａｒｙＤＰは、自己の管理するディスク１５にデータの書き込みをスケジューリングし、ＰｒｉｍａｒｙＤＰに応答を返す。ＳｅｃｏｎｄａｒｙＤＰからの応答を受け取ったＰｒｉｍａｒｙＤＰは、自己の管理するディスク１５にデータの書き込みをスケジューリングし、ＡＰ１２に応答を返す。ＰｒｉｍａｒｙＤＰからの応答を受け取ったＡＰ１２は、書き込み要求を発行した利用者のコンピュータに応答を返す。
【００１９】
データの読み出し時、利用者のコンピュータは、ＡＰ１２へ読み出し要求を送る。ＡＰ１２は、主データを書き込んだＤＰ１４へその読み出し要求を送る。ＡＰ１２からの読み出し要求を受け取ったＤＰ１４は、自己の管理するディスク１５からデータを読み出し、そのデータをＡＰ１２へ送る。データを受け取ったＡＰ１２は、データを組み立て、データを利用者のコンピュータへ送る。
【００２０】
また、設定済みのＤＰ１４をネットワークに組み込むと、新規ＤＰ１４は、ＣＰ１３へ生存情報を送る。生存情報を受け取ったＣＰ１３は、新規追加されたＤＰ１４に対して論理ボリューム情報を問い合わせる。新規ＤＰ１４は、自己の管理する論理ボリューム情報をＣＰ１３へ送る。ＣＰ１３は、論理ボリューム情報に組み込み、新規ＤＰ１４の管理するディスク１５をオーガニックストレージの論理ボリュームの一部として利用することが可能になる。
【００２１】
また、ＭＰ１１において管理者が任意のＤＰ１４を切り離すための管理コマンドを実行すると、データの二重化構成が損なわれないように、データの複写が行われる。ＣＰ１３は、システム全体の空き容量を計算し、二重化されたデータが同じＤＰ１４にあることがないように、切り離し対象のＤＰ１４とその他のＤＰ１４にデータ複写を指示する。複写処理及び二重化の再構成が完了したら、ネットワークからＤＰ１４を切り離すことができる。
【００２２】
また、ＤＰ１４の追加や入れ替えなどのメンテナンスにより、各ＤＰ１４の使用量に偏りが生じると、特定のＤＰ１４へのアクセスが集中し、オーガニックストレージのパフォーマンスが低下してしまうと共に、ＤＰ１４が故障したときのデータの二重化の回復が困難になる。これを解決するために、各ＤＰ１４の使用量を平均化するデータ再配置の機能がある。ＡＰ１２において管理者が再配置のコマンドを実行すると、ＣＰ１３は、ＤＰ１４に使用量を問い合わせ、使用量が平均的になるようにデータの移動を指示する。
【００２３】
また、ＤＰ１４が故障すると、データの二重化構成が損なわれる。このような場合、オーガニックストレージは、自動的にリカバリを実行し、二重化を回復する。ＣＰ１３は、全てのＤＰ１４とハートビート通信を行っている。このハートビート通信が途絶える、もしくはエラー情報を含んだハートビート通信を受け取ることによって、ＣＰ１３は、ＤＰ１４の故障を検知する。
【００２４】
ＣＰ１３は、あるＤＰ１４が故障したと判断すると、保持している論理ボリューム情報から、どのデータの二重化の回復が必要であるかを判断する。次に、ＣＰ１３は、データを再び二重化するための空き領域を別のＤＰ１４に確保する。次に、ＣＰ１３は、二重化されていないデータを持つＤＰ１４から空き領域を持つＤＰ１４へデータの複写を指示する。指示されたＤＰ１４は、指示に従ってデータを複写し、二重化情報を再構成してリカバリを終了する。
【００２５】
しかしながら、上述した前提技術に係るオーガニックストレージにおいて、スライス中のデータは、意味が読み取れる塊になっている可能性がある。従って、物理記憶デバイスが盗難や修理などで持ち出された場合、データが読み出されてしまう可能性がある。
【００２６】
以下、本発明の実施の形態について図面を参照しつつ説明する。
【００２７】
実施の形態１．
本実施の形態においては、本発明のストレージ制御装置を適用したオーガニックストレージについて説明する。
【００２８】
まず、本実施の形態に係るオーガニックストレージの構成について説明する。
【００２９】
図２は、本実施の形態に係るオーガニックストレージの構成の一例を示すブロック図である。この図において、図１と同一符号は図１に示された対象と同一又は相当物を示しており、ここでの説明を省略する。この図は、図１と比較すると、ＡＰ１２の代わりにＡＰ２２（ストレージ制御装置）を備える。
【００３０】
図３は、本実施の形態に係るＡＰの構成の一例を示すブロック図である。ＡＰ２２は、要求受付部３１、データｗｒｉｔｅ処理部３２、データシャッフル部３３、データ分割部３４、ｗｒｉｔｅ要求部３５、データｒｅａｄ処理部３６、データリストア部３７、データ統合部３８、ｒｅａｄ要求部３９、論理ボリュームアクセス部４０を備える。要求受付部３１、データｗｒｉｔｅ処理部３２、データシャッフル部３３、データ分割部３４、ｗｒｉｔｅ要求部３５、データｒｅａｄ処理部３６、データリストア部３７、データ統合部３８、ｒｅａｄ要求部３９、論理ボリュームアクセス部４０は、互いに接続されている。要求受付部３１は、オーガニックストレージへの要求元となる外部ネットワークに接続されている。論理ボリュームアクセス部４０は、ネットワーク１６に接続されている。
【００３１】
次に、本実施の形態に係るＡＰにおけるデータ書き込みの動作について説明する。
【００３２】
図４は、本実施の形態に係るＡＰにおけるデータ書き込みの動作の一例を示すフローチャートである。まず、要求受付部３１がデータ書き込み要求を受け取ると（Ｓ２１）、データｗｒｉｔｅ処理部３２は、データ書き込み要求に含まれた書き込みデータのアラインメントが揃っているか否かの判断を行う（Ｓ２２）。アラインメントとは、処理するデータの単位である。
【００３３】
書き込みデータのアラインメントが揃っている場合（Ｓ２２，ｙｅｓ）、処理Ｓ２５へ移行する。書き込みデータのアラインメントが揃っていない場合（Ｓ２２，ｎｏ）、データｒｅａｄ処理部３６は、アラインメントをそろえるために、書き込み位置に隣接するデータのｒｅａｄを行う（Ｓ２３）。次に、データｒｅａｄ処理部３６は、ｒｅａｄしたデータと書き込み要求されたデータとを結合してアラインメントを揃える（Ｓ２４）。次に、データシャッフル部２３は、ビット単位でデータを組み換える組み換え処理を行う（Ｓ２５）。次に、データ分割部３４は、バイト単位でデータを分割して再構成する再構成処理を行う（Ｓ２６）。次に、ｗｒｉｔｅ要求部３５は、再構成されたデータを元に論理ボリュームアクセス部４０にコマンドを発行し（Ｓ２７）、このフローは終了する。
【００３４】
ここで、論理ボリュームアクセス部４０は、再構成されたデータ（分割データ）毎に異なるスライスへの書き込みを要求するコマンドを生成し、書き込むスライスを管理するＤＰ１４（ストレージ装置）へ送信する。コマンドを受信したＤＰ１４は、コマンドに従ってディスク１５への書き込みを実行する。
【００３５】
次に、データシャッフル部３３による組み換え処理の詳細について説明する。データシャッフル部３３の処理として処理パターンＡと処理パターンＢが設定される。
【００３６】
まず、処理パターンＡについて説明する。処理パターンＡは、データを２バイトのアラインメントに区切り、アラインメントを３ビット左に回すローテートを行う処理である。
【００３７】
図５は、本実施の形態に係る処理パターンＡの動作の一例を示す図である。データａは、与えられた４バイトのデータをビットで表したものである。データｂは、データａを２バイトのアラインメントで区切った結果である。データｃは、データｂのアラインメント毎に、３ビット左に回すローテートを行った結果である。
【００３８】
次に、処理パターンＢについて説明する。処理パターンＢは、データを２バイトのアラインメントに区切り、更にアラインメント内を４ビット単位で区切り順序を入れ替える処理である。
【００３９】
図６は、本実施の形態に係る処理パターンＢの動作の一例を示す図である。データａは、与えられた４バイトのデータをビットで表したものである。データｂは、データａを２バイトのアラインメントで区切り、更に４ビットのブロックで区切った結果である。データｃは、データｂのアラインメント内で４ビットのブロックの順序を入れ替えた結果である。ここでは、アラインメント内の４つのブロックのうち、２番目と３番目を入れ替える。
【００４０】
データシャッフル部３３は、上述した組み換え処理を設定するための組み換え設定テーブルを有する。図７は、本実施の形態に係る組み換え設定テーブルの一例を示す表である。組み換え設定テーブルは、組み換え処理の処理パターン、組み換え処理のアラインメント、組み換え処理に用いるビット数の値を有する。処理パターンは、上述した処理パターンＡや処理パターンＢを示す。アラインメントは、データの塊の大きさ（バイト単位）を示す。ビット数は、処理パターンＡの場合、ローテートのビット数を示し、処理パターンＢの場合、分割するビット数を示す。
【００４１】
次に、データ分割部３４による再構成処理の詳細について説明する。
【００４２】
データ分割部３４は、例えば、アラインメントを２バイトとし、与えられたデータをアラインメント毎に２つに分割して複数のコマンドを生成し、各コマンドのデータアクセス先を変換する。与えられたデータを含むコマンド列を次のように表すとする。
【００４３】
ｃｏｍｍａｎｄ，ｂ，ｓｉｚｅ，ｄａｔａ
【００４４】
ｃｏｍｍａｎｄは、ＲｅａｄまたはＷｒｉｔｅである。ｂは、論理ボリュームのｂバイト目からのアクセスであることを示す。ｓｉｚｅは、バイト単位で示されるアクセス範囲である。ｄａｔａは、ｗｒｉｔｅの場合、書き込みたいデータ（データシャッフル部３３による組み替え処理済み）が格納されている。
【００４５】
例として、組み替え処理済のデータを含むコマンドが、次のコマンドであるとする。
【００４６】
Ｗｒｉｔｅ，１０００，８，ＡＢＣＤＥＦＧＨ
【００４７】
データ分割部３４は、このコマンドを次の２つのコマンドに分割する。
【００４８】
Ｗｒｉｔｅ，ｂ１，ｓ１，ＡＣＥＧ
Ｗｒｉｔｅ，ｂ２，ｓ２，ＢＤＦＨ
【００４９】
ここで、アクセス対象の論理ボリュームサイズ（ＬＶＯＬサイズ）が１００００バイトである場合、ｂ１とｂ２は、次のようにして求められる。
【００５０】
ｂ１＝ｂ／２＝５００
ｂ２＝ｂ／２＋ＬＶＯＬサイズ／２＝５５００
【００５１】
ｓ１とｓ２は、以下のようにして求められる。割り算の結果は、小数点以下切り捨てとする。
【００５２】
ｓ１＝（ｓｉｚｅ＋ａｌｉｇｎｍｅｎｔ−１）／２
＝（ｓｉｚｅ＋２−１）／２
＝４
ｓ２＝（ｓｉｚｅ＋ａｌｉｇｎｍｅｎｔ−１）／２
＝（ｓｉｚｅ＋２−１）／２
＝４
【００５３】
つまり、与えられたデータは、１バイトずつ順に２つの異なるスライスに割り振られる。
【００５４】
データ分割部３４は、上述した再構成処理を設定するための再構成設定テーブルを有する。図８は、本実施の形態に係る再構成設定テーブルの一例を示す表である。再構成設定テーブルは、再構成処理の処理パターンと再構成処理のアラインメントの値を有する。処理パターンは、アクセス対象の論理ボリュームサイズを示し、ここでは処理パターンａとする。アラインメントは、データ組み換えテーブルと同様、データの塊の大きさ（バイト単位）を示す。
【００５５】
上述した組み換え処理及び再構成処理により、データ書き込み要求で与えられた書き込みデータは、分割され、複数のスライスへのデータ（分割データ）に変換される。また、書き込みデータにおける各バイトは、複数のスライスへのデータに振り分けられるため、記憶媒体に格納されたスライスから書き込みデータが読み取られることを防止することができる。
【００５６】
次に、本実施の形態に係るＡＰにおけるデータ読み出しの動作について説明する。
【００５７】
図９は、本実施の形態に係るＡＰにおけるデータ読み出しの動作の一例を示すフローチャートである。まず、要求受付部３１がデータ読み出し要求を受け取ると（Ｓ１１）、データｒｅａｄ処理部３６は、論理ボリュームアクセス部４０へ渡すコマンドを生成する（Ｓ１２）。次に、ｒｅａｄ要求部３９は、コマンドを論理ボリュームアクセス部４０へ発行する（Ｓ１３）。論理ボリュームアクセス部４０は、コマンドをＤＰ１４へ送信する。コマンドを受信したＤＰ１４は、コマンドに従ってディスク１５からの読み出しを行い、読み出したデータを論理ボリュームアクセス部４０へ送信する。
【００５８】
次に、ｒｅａｄ要求部３９は、論理ボリュームアクセス部４０からデータを受け取る（Ｓ１４）。次に、データ統合部３８は、受け取ったデータをバイト単位で再構成する統合処理を行う（Ｓ１５）。次に、データリストア部３７は、再構成されたデータを元にビット単位でデータを復元する復元処理を行う（Ｓ１６）。次に、要求受付部３１は、要求されたデータの要求元に渡し（Ｓ１７）、このフローは終了する。
【００５９】
データ統合部３８による統合処理は、データ分割部３４による再構成処理と逆の処理である。また、データリストア部３７による復元処理は、データシャッフル部３３による組み換え処理と逆の処理である。書き込み時に複数のスライスに分割して格納されたデータは、読み出し時の統合処理及び復元処理により、元のデータに復元される。
【００６０】
実施の形態２．
本実施の形態に係るオーガニックストレージの構成及び動作の概要は、実施の形態１と同様であるが、組み換え処理及び再構成処理の代わりに次の変換処理を行う。
【００６１】
図１０は、本実施の形態に係る変換処理の動作の一例を示す図である。この例において、データは、２つのＰｒｉｍａｒｙスライスに書き込まれる。Ｐ１は、１番目のＰｒｉｍａｒｙスライスを示し、Ｐ２は、２番目のＰｒｉｍａｒｙスライスを示す。
【００６２】
この例において、ＡＰ２２は、与えられたデータを２バイトのアラインメントに区切る。次に、ＡＰ２２は、各アラインメントのうち、１ビット目と９ビット目〜１５ビット目を抽出して結合し、Ｐ１へ書き込むデータとする。また、ＡＰ２２は、２ビット目〜８ビット目と１６ビット目を抽出して結合し、Ｐ２へ書き込むデータとする。
【００６３】
この変換処理により、データ書き込み要求で与えられた書き込みデータは、分割され、複数のスライスへのデータ（分割データ）に変換される。また、書き込みデータにおける各バイトは、複数のスライスへのデータに振り分けられるため、記憶媒体に格納されたスライスから書き込みデータが読み取られることを防止することができる。
【００６４】
また、複数のスライスに分割して格納されたデータは、読み出し時に変換処理と逆の処理を行うことにより、元のデータに復元される。
【００６５】
なお、アラインメントにおける変換前のビット位置と変換後の分割データ及びビット位置とを対応付けたテーブルを用意し、このテーブルに従って、書き込みデータから複数の分割データへの変換を行っても良い。また、上述した各実施の形態で述べたデータの並び替え規則に限らず、データを１バイト以下の単位で並び替えてから複数の記憶媒体に分散して書き込む規則であれば、他の規則を用いても良い。
【００６６】
上述した各実施の形態によれば、暗号化及び分割されて記憶媒体に格納されることにより、記憶媒体が持ち出された場合でもデータの意味を読み取られることを防止することができる。
【００６７】
なお、第１受信ステップは、実施の形態における処理Ｓ２１に対応する。また、第１変換ステップは、実施の形態における処理Ｓ２５，Ｓ２６に対応する。また、第１指示ステップは、実施の形態における処理Ｓ２８に対応する。また、第２受信ステップは、実施の形態における処理Ｓ１１に対応する。また、第２指示ステップは、実施の形態における処理Ｓ１３に対応する。また、第２変換ステップは、実施の形態における処理Ｓ１５，Ｓ１６に対応する。
【００６８】
また、受信部は、実施の形態における要求受付部に対応する。また、変換部は、実施の形態におけるデータシャッフル部、データ分割部、データ統合部、データリストア部に対応する。また、指示部は、実施の形態における論理ボリュームアクセス部に対応する。
【００６９】
更に、ストレージ制御装置を構成するコンピュータにおいて上述した各ステップを実行させるプログラムを、ストレージ制御プログラムとして提供することができる。上述したプログラムは、コンピュータにより読取り可能な記録媒体に記憶させることによって、ストレージ制御装置を構成するコンピュータに実行させることが可能となる。ここで、上記コンピュータにより読取り可能な記録媒体としては、ＲＯＭやＲＡＭ等のコンピュータに内部実装される内部記憶装置、ＣＤ−ＲＯＭやフレキシブルディスク、ＤＶＤディスク、光磁気ディスク、ＩＣカード等の可搬型記憶媒体や、コンピュータプログラムを保持するデータベース、或いは、他のコンピュータ並びにそのデータベースや、更に回線上の伝送媒体をも含むものである。
【００７０】
本発明は、その精神または主要な特徴から逸脱することなく、他の様々な形で実施することができる。そのため、前述の実施の形態は、あらゆる点で単なる例示に過ぎず、限定的に解釈してはならない。本発明の範囲は、特許請求の範囲によって示すものであって、明細書本文には、何ら拘束されない。更に、特許請求の範囲の均等範囲に属する全ての変形、様々な改良、代替および改質は、全て本発明の範囲内のものである。
【００７１】
（付記１）  複数の記憶領域へのアクセスの制御をコンピュータに実行させるストレージ制御プログラムであって、
書き込みデータを受信する第１受信ステップと、
前記第１受信ステップにより受信された書き込みデータを構成する各バイト単位で各々複数ビットに分けた分割データとして再構成する第１変換ステップと、
前記第１変換ステップにて再構成された各々の分割データをそれぞれ異なる複数の記憶領域へ書き込む指示を行う第１指示ステップと、
をコンピュータに実行させるストレージ制御プログラム。
（付記２）  付記１に記載のストレージ制御プログラムにおいて、
前記第１受信ステップは、前記書き込みデータを含む書き込み要求を受信し、
前記第１指示ステップは、前記分割データ毎に、該分割データを含む書き込み要求を発行するストレージ制御プログラム。
（付記３）  付記２に記載のストレージ制御プログラムにおいて、
前記複数の記憶領域は、少なくとも１つのストレージ装置により管理され、
前記第１指示ステップは、前記分割データを含む書き込み要求を、該分割データに対応する前記記憶領域を管理するストレージ装置へ発行するストレージ制御プログラム。
（付記４）  付記１に記載のストレージ制御プログラムにおいて、
前記複数の記憶領域のサイズは、同一であるストレージ制御プログラム。
（付記５）  付記１に記載のストレージ制御プログラムにおいて、
前記第１変換ステップは、前記書き込みデータを所定のサイズのブロックに分割し、設定された前記ブロック内のビット位置と前記分割データとの関係に基づいて、前記ブロック内の複数のビットを前記複数の分割データへ割り振るストレージ制御プログラム。
（付記６）  付記５に記載のストレージ制御プログラムにおいて、
前記第１変換ステップは、前記ブロックのビット列を所定のビット数だけローテートさせて変換データとし、該変換データを分割して前記分割データとするストレージ制御プログラム。
（付記７）  付記５に記載のストレージ制御プログラムにおいて、
前記第１変換ステップは、前記ブロック内のビットの順序を入れ替えて変換データとし、前記分割データに割り振るストレージ制御プログラム。
（付記８）  付記３に記載のストレージ制御プログラムにおいて、
更に、読み出し要求を受信する読み出し第２受信ステップと、
前記読み出し要求の対象となる記憶領域を管理する前記ストレージ装置へ読み出し指示を発行する第２指示ステップと、
前記読み出し指示に従って前記ストレージ装置により読み出された複数の分割データに対して、前記第１変換ステップによる変換と逆の変換を行って読み出しデータとする第２変換ステップと
をコンピュータに実行させるストレージ制御プログラム。
（付記９）  複数の記憶領域へのアクセスの制御を行うストレージ制御装置であって、
書き込みデータを受信する受信部と、
前記受信部により受信された書き込みデータを分割して複数の分割データとする変換であって、前記書き込みデータにおける各バイトを構成する複数のビットを前記複数の分割データに割り振る変換を行う変換部と、
前記複数の分割データをそれぞれ異なる複数の記憶領域へ書き込む指示を行う指示部と
を備えるストレージ制御装置。
（付記１０）  付記９に記載のストレージ制御装置において、
前記受信部は、前記書き込みデータを含む書き込み要求を受信し、
前記指示部は、前記分割データ毎に、該分割データを含む書き込み要求を発行するストレージ制御装置。
（付記１１）  付記１０に記載のストレージ制御装置において、
前記複数の記憶領域は、少なくとも１つのストレージ装置により管理され、
前記指示部は、前記分割データを含む書き込み要求を、該分割データに対応する前記記憶領域を管理するストレージ装置へ発行するストレージ制御装置。
（付記１２）  付記９に記載のストレージ制御装置において、
前記複数の記憶領域のサイズは、同一であるストレージ制御装置。
（付記１３）  付記９に記載のストレージ制御装置において、
前記変換部は、前記書き込みデータを所定のサイズのブロックに分割し、設定された前記ブロック内のビット位置と前記分割データとの関係に基づいて、前記ブロック内の複数のビットを前記複数の分割データへ割り振るストレージ制御装置。
（付記１４）  付記１３に記載のストレージ制御装置において、
前記変換部は、前記ブロックのビット列を所定のビット数だけローテートさせて変換データとし、該変換データを分割して前記分割データとするストレージ制御装置。
（付記１５）  付記１３に記載のストレージ制御装置において、
前記変換部は、前記ブロック内のビットの順序を入れ替えて変換データとし、前記分割データに割り振るストレージ制御装置。
（付記１６）  付記１１に記載のストレージ制御装置において、
前記受信部は更に、読み出し要求を受信し、
前記指示部は、前記受信部が読み出し要求を受信した場合、前記読み出し要求の対象となる記憶領域を管理する前記ストレージ装置へ読み出し指示を発行し、
前記変換部は、前記ストレージ装置により読み出された複数の分割データに対して、前記変換と逆の変換を行って読み出しデータとするストレージ制御装置。
（付記１７）  複数の記憶領域へのアクセスの制御を行うストレージ制御方法であって、
書き込みデータを受信する第１受信ステップと、
前記第１受信ステップにより受信された書き込みデータを分割して複数の分割データとする変換であって、前記書き込みデータにおける各バイトを構成する複数のビットを前記複数の分割データに割り振る変換を行う第１変換ステップと、
前記複数の分割データをそれぞれ異なる複数の記憶領域へ書き込む指示を行う第１指示ステップと
を実行するストレージ制御方法。
（付記１８）  付記１７に記載のストレージ制御方法において、
前記第１受信ステップは、前記書き込みデータを含む書き込み要求を受信し、
前記第１指示ステップは、前記分割データ毎に、該分割データを含む書き込み要求を発行するストレージ制御方法。
（付記１９）  付記１８に記載のストレージ制御方法において、
前記複数の記憶領域は、少なくとも１つのストレージ装置により管理され、
前記第１指示ステップは、前記分割データを含む書き込み要求を、該分割データに対応する前記記憶領域を管理するストレージ装置へ発行するストレージ制御方法。
（付記２０）  付記１７に記載のストレージ制御方法において、
前記第１変換ステップは、前記書き込みデータを所定のサイズのブロックに分割し、設定された前記ブロック内のビット位置と前記分割データとの関係に基づいて、前記ブロック内の複数のビットを前記複数の分割データへ割り振るストレージ制御方法。
【図面の簡単な説明】
【００７２】
【図１】本発明の実施の形態の前提技術に係るオーガニックストレージの構成の一例を示すブロック図である。
【図２】実施の形態１に係るオーガニックストレージの構成の一例を示すブロック図である。
【図３】実施の形態１に係るＡＰの構成の一例を示すブロック図である。
【図４】実施の形態１に係るＡＰにおけるデータ書き込みの動作の一例を示すフローチャートである。
【図５】実施の形態１に係る処理パターンＡの動作の一例を示す図である。
【図６】実施の形態１に係る処理パターンＢの動作の一例を示す図である。
【図７】実施の形態１に係る組み換え設定テーブルの一例を示す表である。
【図８】実施の形態１に係る再構成設定テーブルの一例を示す表である。
【図９】実施の形態１に係るＡＰにおけるデータ読み出しの動作の一例を示すフローチャートである。
【図１０】実施の形態２に係る変換処理の動作の一例を示す図である。
【符号の説明】
【００７３】
１１  ＭＰ、２２  ＡＰ、１３  ＣＰ、１４  ＤＰ、１５  ディスク、１６  ネットワーク、３１  要求受付部、３２  データｗｒｉｔｅ処理部、３３  データシャッフル部、３４  データ分割部、３５  ｗｒｉｔｅ要求部、３６  データｒｅａｄ部、３７  データリストア部、３８  データ統合部、３９  ｒｅａｄ要求部、４０  論理ボリュームアクセス部。
【図１】
2009020780.tif 000003
【図２】
2009020780.tif 000004
【図３】
2009020780.tif 000005
【図４】
2009020780.tif 000006
【図５】
2009020780.tif 000007
【図６】
2009020780.tif 000008
【図７】
2009020780.tif 000009
【図８】
2009020780.tif 000010
【図９】
2009020780.tif 000011
【図１０】
2009020780.tif 000012