(57)【要約】【課題】本発明は、ディスクに記録されているデータを複製したり暗号化したり、あるいは消去したりする際に、ファイルシステムを意識することなく、高速にこれらの処理を行うことができるディスク制御プログラムを提供する。【解決手段】第１のディスクの所定のセクタ位置にデータを書き込む際に、不揮発性メモリが有するビットマップテーブルにおける所定のセクタ位置に対応したビット位置にフラグを設定するマップ作成ステップと、第１のディスクに記憶されているデータを第２のディスクに複製する際に、ビットマップテーブルのフラグに基づいて書き込みが行われたセクタ位置に記録されているデータのみを複製する複製ステップとをコンピュータに行わせる。【選択図】  図７
2009015357.tif 000002
【特許請求の範囲】
【請求項１】
第１のディスクの所定のセクタ位置にデータを書き込む際に、不揮発性メモリが有するビットマップテーブルにおける前記所定のセクタ位置に対応したビット位置にフラグを設定するマップ作成ステップと、
前記第１のディスクに記憶されているデータを第２のディスクに複製する際に、前記マップ作成ステップにて設定されたフラグに基づいて、書き込みが行われたセクタ位置に記録されているデータのみを複製する複製ステップと、
をコンピュータに行わせることを特徴とするディスク制御プログラム。
【請求項２】
ディスクの所定のセクタ位置にデータを書き込む際に、不揮発性メモリが有するビットマップテーブルにおける前記所定のセクタ位置に対応したビット位置にフラグを設定するマップ作成ステップと、
前記ディスクに記憶されているデータを暗号化する際に、前記マップ作成ステップにて設定されたフラグに基づいて、書き込みが行われたセクタ位置に記録されているデータのみを暗号化する暗号化ステップと、
をコンピュータに行わせることを特徴とするディスク制御プログラム。
【請求項３】
ディスクの所定のセクタ位置にデータを書き込む際に、不揮発性メモリが有するビットマップテーブルにおける前記所定のセクタ位置に対応したビット位置にフラグを設定するマップ作成ステップと、
前記ディスクに記憶されているデータを消去する際に、前記マップ作成ステップにて設定されたフラグに基づいて、書き込みが行われたセクタ位置に記録されているデータのみを消去する消去ステップと、
をコンピュータに行わせることを特徴とするディスク制御プログラム。
【請求項４】
第１のディスクの所定のセクタ位置にデータを書き込む際に、不揮発性メモリが有するビットマップテーブルにおける前記所定のセクタ位置に対応したビット位置にフラグを設定するマップ作成手段と、
前記第１のディスクに記憶されているデータを第２のディスクに複製する際に、前記マップ作成手段により設定されたフラグに基づいて、書き込みが行われたセクタ位置に記録されているデータのみを複製する複製手段と、
を備えたことを特徴とするディスク制御装置。
【請求項５】
ディスクの所定のセクタ位置にデータを書き込む際に、不揮発性メモリが有するビットマップテーブルにおける前記所定のセクタ位置に対応したビット位置にフラグを設定するマップ作成手段と、
前記ディスクに記憶されているデータを暗号化する際に、前記マップ作成手段により設定されたフラグに基づいて、書き込みが行われたセクタ位置に記録されているデータのみを暗号化する暗号化手段と、
を備えたことを特徴とするディスク制御装置。
【請求項６】
ディスクの所定のセクタ位置にデータを書き込む際に、不揮発性メモリが有するビットマップテーブルにおける前記所定のセクタ位置に対応したビット位置にフラグを設定するマップ作成手段と、
前記ディスクに記憶されているデータを消去する際に、前記マップ作成手段により設定されたフラグに基づいて、書き込みが行われたセクタ位置に記録されているデータのみを消去する消去手段と、
を備えたことを特徴とするディスク制御装置。
【請求項７】
第１のディスクの所定のセクタ位置にデータを書き込む際に、不揮発性メモリが有するビットマップテーブルにおける前記所定のセクタ位置に対応したビット位置にフラグを設定するマップ作成ステップと、
前記第１のディスクに記憶されているデータを第２のディスクに複製する際に、前記マップ作成ステップにて設定されたフラグに基づいて、書き込みが行われたセクタ位置に記録されているデータのみを複製する複製ステップと、
を行うことを特徴とするディスク制御方法。
【請求項８】
ディスクの所定のセクタ位置にデータを書き込む際に、不揮発性メモリが有するビットマップテーブルにおける前記所定のセクタ位置に対応したビット位置にフラグを設定するマップ作成ステップと、
前記ディスクに記憶されているデータを暗号化する際に、前記マップ作成ステップにて設定されたフラグに基づいて、書き込みが行われたセクタ位置に記録されているデータのみを暗号化する暗号化ステップと、
を行うことを特徴とするディスク制御方法。
【請求項９】
ディスクの所定のセクタ位置にデータを書き込む際に、不揮発性メモリが有するビットマップテーブルにおける前記所定のセクタ位置に対応したビット位置にフラグを設定するマップ作成ステップと、
前記ディスクに記憶されているデータを消去する際に、前記マップ作成ステップにて設定されたフラグに基づいて、書き込みが行われたセクタ位置に記録されているデータのみを消去する消去ステップと、
を行うことを特徴とするディスク制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ディスクに記録されているデータを複製したり暗号化したり、あるいは消去したりするディスク制御プログラム、ディスク制御装置、及びディスク制御方法に関する。
【背景技術】
【０００２】
従来、ディスクに記録されているデータを複製したり暗号化したり、あるいは消去したりする際に、ディスクの全セクタ（もしくは全ＬＢＡ）に対してこれらの処理を行っており、そのため、書き換えられた部分に加えて書き換えられていない部分に関してもこれらの処理を行わなければならなかった。よって、例えば複製する際のデータ量がディスクのサイズと同サイズのデータ量になってしまい、処理に時間を要してしまうという問題があった。
【０００３】
そこで、リモートディスクミラーリングの初期化処理において、不要なデータブロックの複製を行わないことにより、初期化処理の高速化を図ったリモートディスクミラーリングの初期化方法が提案されている（特許文献１参照）。この初期化方法は、有効なデータブロックや有効でないデータブロックが指定されたビットマップテーブルを用いて、有効なデータが格納されているブロックのみをミラーリング対象ディスクに複製することにより、処理の高速化を図ったものである。
【特許文献１】特開２００５−２８４９８０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
有効なデータブロックや有効でないデータブロックが指定されたビットマップテーブルを用いて、ディスクに記録されているデータの複製処理等を行った場合、有効なデータブロックや有効でないデータブロックがディスクのファイルシステムに依存しているため、ファイルシステムの構造が変わった場合に、この方法を用いることができなくなってしまうという問題があった。
【０００５】
本発明は、上記課題を鑑みなされたもので、ディスクに記録されているデータを複製したり暗号化したり、あるいは消去したりする際に、ファイルシステムを意識することなく、高速にこれらの処理を行うことができるディスク制御プログラム、ディスク制御装置、及びディスク制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明に係るディスク制御プログラムは、第１のディスクの所定のセクタ位置にデータを書き込む際に、不揮発性メモリが有するビットマップテーブルにおける前記所定のセクタ位置に対応したビット位置にフラグを設定するマップ作成ステップと、前記第１のディスクに記憶されているデータを第２のディスクに複製する際に、前記マップ作成ステップにて設定されたフラグに基づいて、書き込みが行われたセクタ位置に記録されているデータのみを複製する複製ステップと、をコンピュータに行わせることを特徴とする。
【０００７】
また、本発明に係るディスク制御装置は、ディスクの所定のセクタ位置にデータを書き込む際に、不揮発性メモリが有するビットマップテーブルにおける前記所定のセクタ位置に対応したビット位置にフラグを設定するマップ作成手段と、前記ディスクに記憶されているデータを暗号化する際に、前記マップ作成手段により設定されたフラグに基づいて、書き込みが行われたセクタ位置に記録されているデータのみを暗号化する暗号化手段と、を備えたことを特徴とする。
【０００８】
また、本発明に係るディスク制御方法は、ディスクの所定のセクタ位置にデータを書き込む際に、不揮発性メモリが有するビットマップテーブルにおける前記所定のセクタ位置に対応したビット位置にフラグを設定するマップ作成ステップと、前記ディスクに記憶されているデータを消去する際に、前記マップ作成ステップにて設定されたフラグに基づいて、書き込みが行われたセクタ位置に記録されているデータのみを消去する消去ステップと、を行うことを特徴とする。
【発明の効果】
【０００９】
本発明に係るディスク制御プログラム、ディスク制御装置、及びディスク制御方法によると、ディスクに記録されているデータを複製したり暗号化したり、あるいは消去したりする場合に、ファイルシステムを意識することなく、高速にこれらの処理を行うことが可能となる。
【発明を実施するための最良の形態】
【００１０】
本発明に係るディスク制御プログラム、ディスク制御装置１、及びディスク制御方法の実施形態について、添付図面に基づいて説明する。図１は、本発明に係るディスク制御装置１が適用される情報処理装置２の外観図である。情報処理装置２は、図１に示すように、ハードディスク等の記録媒体であるディスク３、及びこのディスク３を制御するディスク制御装置１を内蔵しているとともに、同様にディスク３Ａやディスク制御装置１Ａを内蔵した情報処理装置２Ａに通信可能に接続されている。
【００１１】
図２に、情報処理装置２の機能ブロック図を示す。情報処理装置２は、図２に示すように、ハードディスク等のディスク３を備えている。ディスク３は円盤状の記録媒体であり、木の年輪のように同心円状のトラックに分割され、このトラックをさらに放射状に等分したセクタ毎に、あるいはいくつかのセクタをまとめたクラスタ毎に管理されている。例えばデータ２０がディスク３に記録される場合、図３に示すように、ディスク３のセクタ位置（もしくはＬＢＡ；Ｌｏｇｉｃａｌ  Ｂｌｏｃｋ  Ａｄｄｒｅｓｓｉｎｇ）２０ａ、２０ｂ、２０ｃ、・・・のそれぞれにデータが記録されることにより、データ２０がディスク３に記録される。
【００１２】
情報処理装置２は、制御処理や、計算処理、演算処理を行うＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）４ａ、ＣＰＵ４ａが処理を行う際にデータを一時的に記憶するＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）４ｂ、ＣＰＵ４ａが処理を行うための処理プログラムや処理に必要なデータを記憶するＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）４ｃを備えている。
【００１３】
ＲＯＭ４ｃは、例えば情報処理装置２のシステム全体を管理する基本ソフトウェア（オペレーティングシステム；ＯＳ）を記憶していて、ＣＰＵ４ａは、情報処理装置２が起動された際にオペレーティングシステム４を実行して、このオペレーティングシステム４に基づいて様々なアプリケーションプログラムを実行し、情報処理装置２の総括的な制御を行う。ディスク制御装置１に対して、データの書き込み処理や複製処理、暗号化処理、消去処理を指示するのも、オペレーションシステム４である。
【００１４】
情報処理装置２はディスク３の制御を行うディスク制御装置１を備えている。ディスク制御装置１は、ディスク３に対してデータを書き込んだりディスク３からデータを読み出したりするディスクドライバ５と、このディスクドライバ５がディスク３に対してデータを読み書きする際に用いられる不揮発性メモリ６を備えている。
【００１５】
不揮発性メモリ６は、電源を切っても記憶内容を保持することができる半導体メモリであり、例えばフラッシュメモリ等である。不揮発性メモリ６は、図４に示すようなビットマップテーブル２１を有している。このビットマップテーブル２１におけるビット位置２１ａ、２１ｂ、２１ｃ、・・・には、それぞれ「１」または「０」が記録される。また、ビット位置２１ａ、２１ｂ、２１ｃ、・・・は、それぞれディスク３のセクタ位置２０ａ、２０ｂ、２０ｃ、・・・に対応している。
【００１６】
情報処理装置２は、他の情報処理装置やディスクに対してデータの送受信を行うための通信インタフェース７を備えている。通信インタフェース７は、例えばイーサネット（登録商標）等のＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等の通信プロトコルを用いて、データ送受信処理の制御を行う。なお、データ送受信方法はこれに限定されず、任意の通信プロトコルを用いて行って良い。
【００１７】
ここで、オペレーティングシステム４は、ディスク３に記録されているデータを管理するためのファイルシステムの機能を有している。このファイルシステムにおいて、ディスク３に対してファイルやフォルダを作成する方法、ファイルやフォルダの移動や消去を行う方法、データを記録する方式、管理領域の場所や利用方法等が定められている。なお、オペレーティングシステムの種類によって異なるファイルシステムを使用している。
【００１８】
情報処理装置２において、ディスク３に記録されているデータを複製したり暗号化したり、あるいは消去したりする際に、このファイルシステムに依存した複製方法や暗号化方法、消去方法を用いた場合、コピーするデータ量が書き換えられた部分のみで済むが、ファイルシステムの構造が変わった場合に追従することが困難になってしまうという問題がある。
【００１９】
また、ディスク３の全セクタ（もしくは全ＬＢＡ）を複製したり暗号化したり、あるいは消去したりした場合、ファイルシステムを意識しなくて済むが、書き換えられていない部分に対しても複製したり暗号化したり、あるいは消去したりしなければならないため、例えば複製する際のデータ量がディスク３のサイズと同サイズのデータ量になってしまい、時間がかかってしまうという問題があった。
【００２０】
そこで、情報処理装置２では、ディスク制御装置１がデータ複製処理やデータ暗号化処理、データ消去処理を行う際に、不揮発性メモリ６に記録されているビットマップテーブル２１を用いてディスク３において書き換えられたセクタ位置を管理し、書き換えられたデータのみを複製したり暗号化したり、あるいは消去したりする。
【００２１】
始めに、ディスク制御装置１がデータ書き込み処理を行う際の手順について、図５に示す概略図、及び図６に示すフローチャートに基づいて説明する。以下、例えば「ステップＳ１０１」を「Ｓ１０１」のように「ステップ」の語句を省略して説明する。
【００２２】
情報処理装置２において、例えばユーザによる入力処理がある等して、オペレーティングシステム４によりディスク３に記憶されているデータを書き換えるように指示があった場合に、ディスクドライバ５は、この指示に基づいてディスク３に対してデータ書き込み処理を行う。
【００２３】
オペレーティングシステム４は、ディスク３の内容を書き換えるように指示を出す時、図５に示すような変換テーブル２２をディスクドライブ５に対して伝送する。変換テーブル２２は、ディスク３において書き換えを行うセクタ位置を示すセクタ位置情報２２ａと、書き込むデータの内容を示す内容情報２２ｂとが、それぞれ対応付けられたテーブルである。ディスクドライバ５は、この変換テーブル２２に基づいてディスク３に記憶されているデータの書き換えを行う。
【００２４】
まずディスクドライバ５は、図６に示すように、オペレーティングシステム４からデータ書き換え処理が指示されたか否かを判断する（Ｓ１０１）。データ書き換え処理が指示されていない場合（Ｓ１０１のＮｏ）は、ディスクドライバ５はそのまま待機する。データ書き換え処理が指示された場合（Ｓ１０１のＹｅｓ）は、ディスクドライバ５は、オペレーティングシステム４から変換テーブル２２を取得する（Ｓ１０３）。
【００２５】
この変換テーブル２２は、上述のように、オペレーティングシステム４がディスク３の内容を書き換えるように指示が出す時に、ディスクドライバ５に対して伝送してくるテーブルである。例えば変換テーブル２２において、図５に示すように、ディスク３におけるセクタ位置「０１」にデータ「ＡＡ」が、セクタ位置「０２」にデータ「ＢＢ」がそれぞれ対応付けられている。
【００２６】
ディスクドライバ５は、Ｓ１０３にて取得した変換テーブル２２から一つのセクタ位置情報２２ａを取得する（Ｓ１０５）。またディスクドライバ４は、この変換テーブル２２から、Ｓ１０５にて取得したセクタ位置情報２２ａに対応付けられた内容情報２２ｂを取得する（Ｓ１０７）。
【００２７】
ディスクドライバ５は、不揮発性メモリ６のビットマップテーブル２１において、Ｓ１０５にて取得したセクタ位置情報２２ａが示すセクタ位置に対応したビット位置にフラグを設定する（Ｓ１０９）。なお、ここで言う「フラグを設定する」とは、ビットマップテーブル２１の各ビット位置に「１」を書き込むことであり、「フラグを解除する」とは、ビットマップテーブル２１の各ビット位置に「０」を書き込むことである。
【００２８】
またディスクドライバ５は、ディスク３に対して、Ｓ１０５にて取得したセクタ位置情報２２ａが示すセクタ位置に、Ｓ１０７にて取得した内容情報２２ｂが示す情報を書き込む（Ｓ１１１）。Ｓ１０９及びＳ１１１の処理により、ディスク３のセクタ位置のうち、書き込みがされたセクタ位置にのみ、フラグが設定される。
【００２９】
そして、ディスクドライバ５は、Ｓ１０３にて取得した変換テーブル２２において、未処理のデータがあるか否かを判断する（Ｓ１１３）。すなわちディスクドライバ５は、変換テーブル２２に含まれているセクタ位置情報２２ａや内容情報２２ｂにおいて、Ｓ１０５乃至Ｓ１１１の処理が行われていない情報があるか否かを判断する。
【００３０】
未処理のデータがある場合（Ｓ１１３のＹｅｓ）は、Ｓ１０５に戻って、ディスクドライバ５は未処理のセクタ位置情報２２ａを取得し、同様にＳ１０７乃至Ｓ１１１の処理を行う。また、未処理のデータがない場合（Ｓ１１３のＮｏ）、すなわち、Ｓ１０３にて取得した変換テーブル２２に含まれている全てのセクタ位置情報２２ａや内容情報２２ｂに対して、Ｓ１０５乃至Ｓ１１１の処理が行われた場合は、ディスクドライバ５は、データ書き換え処理を終了する。
【００３１】
例えば、図５に示す概略図によると、オペレーティングシステム４からセクタ位置「０１」、「０２」、「０３」、「０４」、「０５」等に対して、それぞれ、「ＡＡ」、「ＢＢ」、「ＣＣ」、「ＤＤ」、「ＥＥ」等のデータ内容を書き込むように指示がされているため、ビットマップテーブル２１には、これらのセクタ位置に対応したビット位置である１つ目、２つ目、３つ目、４つ目、５つ目のビット位置に、「１」が書き込まれる。同時に、ディスク３には、「０１」のセクタ位置に「ＡＡ」のデータが、「０２」のセクタ位置に「ＢＢ」のデータが、「０３」のセクタ位置に「ＣＣ」のデータが、「０４」のセクタ位置に「ＤＤ」のデータが、「０５」のセクタ位置に「ＥＥ」のデータが書き込まれる。
【００３２】
また、図５に示す概略図によると、オペレーティングシステム４からセクタ位置「０６」、「０７」、「０８」に関してデータ内容を書き込むような指示がされていないため、ビットマップテーブル２１には、これらのセクタ位置に対応したビット位置である６つ目、７つ目、８つ目のビット位置に「１」が書き込まれず、「０」のままである。同時に、ディスク３には、「０６」、「０７」、「０８」のセクタ位置にデータが新たに書き込まれることはなく、書き込み前の状態のままである。
【００３３】
このようにして、ディスク制御装置１は、オペレーティングシステム４からディスク３にデータを書き込むように指示された際に、このデータをディスク３に書き込むのと同時に、ディスク３において書き換えが行われるセクタ位置を示す情報を、不揮発性メモリ６に対して書き込んでおく。
【００３４】
ディスク制御装置１は、オペレーティングシステム４から、情報処理装置２のディスク３に記憶されているデータを、この情報処理装置２に通信可能に接続されている情報処理装置２Ａのディスク３Ａに複製するように指示された際に、Ｓ１０９にてフラグが設定されたビットマップテーブル２１を用いて、ディスク３に記憶されているデータをディスク３Ａに複製するデータ複製処理を行う。
【００３５】
ディスク制御装置１がこのデータ複製処理を行う際の手順について、図７に示す概略図、及び図８に示すフローチャートに基づいて説明する。この際、不揮発性メモリ６のビットマップテーブル２１は、図７に示すように、ディスク３において書き換えが行われたセクタ位置に対応したビット位置に、Ｓ１０９にてフラグが設定された状態になっているものとする。
【００３６】
まずディスクドライバ５は、図８に示すように、オペレーティングシステム４からデータ複製指示がされたか否かを判断する（Ｓ２０１）。データ複製処理が指示されていない場合（Ｓ２０１のＮｏ）は、ディスクドライバ５はそのまま待機する。データ複製処理が指示された場合（Ｓ２０１のＹｅｓ）は、ディスクドライバ５は、不揮発性メモリ６のビットマップテーブル２１から一つのビット位置に記録されているフラグ情報を取得する（Ｓ２０３）。フラグ情報は「０」または「１」のいずれかを示す情報であり、Ｓ１０９にてフラグが設定された場合、すなわちディスク３において所定のセクタ位置に記憶されているデータが書き換えられた場合には、このセクタ位置に対応するビット位置のフラグ情報が「１」に設定されている。
【００３７】
ディスクドライバ５は、Ｓ２０３にて取得したフラグ情報が示すフラグが「１」であるか否かを判断する（Ｓ２０５）。フラグが「１」であった場合（Ｓ２０５のＹｅｓ）は、ディスクドライバ５は、ディスク３から、Ｓ２０３にて取得したフラグ情報が記録されていたビット位置に対応するセクタ位置に記録されているデータを取得する（Ｓ２０７）。
【００３８】
そしてディスクドライバ５は、Ｓ２０７にて情報処理装置２のディスク３から取得したデータを、情報処理装置２Ａのディスク３Ａに対して、Ｓ２０３にて取得したフラグ情報が記録されていたビット位置に対応するセクタ位置に書き込む（Ｓ２０９）。
【００３９】
Ｓ２０９の処理を終えた場合、またはフラグが「１」でなかった場合（Ｓ２０５のＮｏ）は、ディスクドライバ５は、ビットマップテーブル２１において、未処理のフラグ情報があるか否かを判断する（Ｓ２１１）。すなわちディスクドライバ５は、ビットマップテーブル２１に含まれているフラグ情報において、Ｓ２０３乃至Ｓ２０９の処理が行われていない情報があるか否かを判断する。
【００４０】
未処理のフラグ情報がある場合（Ｓ２１１のＹｅｓ）は、Ｓ２０３に戻って、ディスクドライバ５はビットマップテーブル２１から未処理のフラグ情報を取得し、同様にＳ２０５乃至Ｓ２０９の処理を行う。また、未処理のフラグ情報がない場合（Ｓ２１１のＮｏ）、すなわち、ビットマップテーブル２１に含まれている全てのフラグ情報に対して、Ｓ１０３乃至Ｓ２０９の処理が行われた場合は、ディスクドライバ５は、データ複製処理を終了する。
【００４１】
例えば、図７に示す概略図によると、ビットマップテーブル２１において、１つ目、２つ目、３つ目、４つ目、５つ目等のビット位置に対して、それぞれフラグ情報として「１」が示されているとともに、ディスク３における「０１」のセクタ位置に「ＡＡ」のデータが、「０２」のセクタ位置に「ＢＢ」のデータが、「０３」のセクタ位置に「ＣＣ」のデータが、「０４」のセクタ位置に「ＤＤ」のデータが、「０５」のセクタ位置に「ＥＥ」のデータが記録されているため、情報処理装置２Ａのディスク３Ａに対して、同様に、「０１」のセクタ位置に「ＡＡ」のデータが、「０２」のセクタ位置に「ＢＢ」のデータが、「０３」のセクタ位置に「ＣＣ」のデータが、「０４」のセクタ位置に「ＤＤ」のデータが、「０５」のセクタ位置に「ＥＥ」のデータが書き込まれる。
【００４２】
また、図７に示す概略図によると、ビットマップテーブル２１において、６つ目、７つ目、８つ目等のビット位置に対して、それぞれフラグ情報として「０」が示されているため、情報処理装置２Ａのディスク３Ａには、「０６」、「０７」、「０８」のセクタ位置にデータが書き込まれることはなく、書き込み前の状態のままである。
【００４３】
このようにして、ディスク制御装置１は、オペレーティングシステム４から、情報処理装置２のディスク３に記録されているデータを情報処理装置２Ａのディスク３Ａに書き込むように指示された際に、ビットマップテーブル２１に示されているフラグ情報（データが書き換えられたか否かを示す情報）に基づいて、書き換えられたデータのみを、ディスク３からディスク３Ａに対して、ディスク３において記録されていたセクタ位置と同様のセクタ位置に複製する。
【００４４】
次に、ディスク制御装置１は、オペレーティングシステム４から、ディスク３に記憶されている全てのデータを暗号化するように指示された際に、Ｓ１０９にてフラグが設定されたビットマップテーブル２１を用いて、ディスク３に記憶されている全てのデータを暗号化するデータ暗号化処理を行う。
【００４５】
ディスク制御装置１がこのデータ暗号化処理を行う際の手順について、図９に示す概略図、及び図１０に示すフローチャートに基づいて説明する。この際、不揮発性メモリ６のビットマップテーブル２１は、図９に示すように、ディスク３において書き換えが行われたセクタ位置に対応したビット位置に、Ｓ１０９にてフラグが設定された状態になっているものとする。
【００４６】
まずディスクドライバ５は、図１０に示すように、オペレーティングシステム４からデータ暗号化指示がされたか否かを判断する（Ｓ４０１）。データ暗号化処理が指示されていない場合（Ｓ４０１のＮｏ）は、ディスクドライバ５はそのまま待機する。データ暗号化処理が指示された場合（Ｓ４０１のＹｅｓ）は、ディスクドライバ５は暗号化用データを作成する（Ｓ４０３）。この暗号化用データは、暗号化の対象とするためのデータであり、例えばＲＡＭ４ｂに一時的に記憶される。
【００４７】
ディスクドライバ５は、不揮発性メモリ６のビットマップテーブル２１から一つのビット位置に記録されているフラグ情報を取得する（Ｓ４０５）。ディスクドライバ５は、Ｓ４０５にて取得したフラグ情報が示すフラグが「１」であるか否かを判断する（Ｓ４０７）。フラグが「１」であった場合（Ｓ４０７のＹｅｓ）は、ディスクドライバ５は、ディスク３から、Ｓ４０５にて取得したフラグ情報が記録されていたビット位置に対応するセクタ位置に記録されているデータを取得する（Ｓ４０９）。
【００４８】
そしてディスクドライバ５は、Ｓ４０９にてディスク３から取得したデータと、このデータが記録されていたセクタ位置とを関連付けて、Ｓ４０３にて作成した暗号化用データに追加する（Ｓ４１１）。Ｓ４１１の処理を終えた場合、またはフラグが「１」でなかった場合（Ｓ４０７のＮｏ）は、ディスクドライバ５は、ビットマップテーブル２１において、未処理のフラグ情報があるか否かを判断する（Ｓ４１３）。すなわちディスクドライバ５は、ビットマップテーブル２１に含まれているフラグ情報において、Ｓ４０５乃至Ｓ４１１の処理が行われていない情報があるか否かを判断する。
【００４９】
未処理のフラグ情報がある場合（Ｓ４１３のＹｅｓ）は、Ｓ４０５に戻って、ディスクドライバ５はビットマップテーブル２１から未処理のフラグ情報を取得し、同様にＳ４０７乃至Ｓ４１１の処理を行う。また、未処理のフラグ情報がない場合（Ｓ４１３のＮｏ）、すなわち、ビットマップテーブル２１に含まれている全てのフラグ情報に対して、Ｓ４０５乃至Ｓ４１１の処理が行われた場合は、ディスクドライバ５は、暗号化用データを暗号化して、暗号データを作成する（Ｓ４１５）。
【００５０】
最後に、ディスクドライバ５は、Ｓ４１５にて作成した暗号データを、ディスク３の所定の位置（例えば、図９に示す暗号データ格納領域２４）に書き込んで（Ｓ４１７）、データ暗号化処理を終了する。
【００５１】
例えば、図９に示す概略図によると、ビットマップテーブル２１において、１つ目、２つ目、３つ目、４つ目、５つ目等のビット位置に対して、それぞれフラグ情報として「１」が示されているとともに、ディスク３における「０１」のセクタ位置に「ＡＡ」のデータが、「０２」のセクタ位置に「ＢＢ」のデータが、「０３」のセクタ位置に「ＣＣ」のデータが、「０４」のセクタ位置に「ＤＤ」のデータが、「０５」のセクタ位置に「ＥＥ」のデータが記録されているため、「０１」のセクタ位置の「ＡＡ」のデータと、「０２」のセクタ位置の「ＢＢ」のデータと、「０３」のセクタ位置の「ＣＣ」のデータと、「０４」のセクタ位置の「ＤＤ」のデータと、「０５」のセクタ位置の「ＥＥ」のデータとが暗号化用データに書き込まれて、この暗号化用データが暗号データに暗号化される。
【００５２】
また、図９に示す概略図によると、ビットマップテーブル２１において、６つ目、７つ目、８つ目等のビット位置に対して、それぞれフラグ情報として「０」が示されているため、「０６」、「０７」、「０８」のセクタ位置に記録されているデータが暗号化データに書き込まれることはなく、暗号データにも含まれない。
【００５３】
このようにして、ディスク制御装置１は、オペレーティングシステム４から、情報処理装置２のディスク３に記録されている全てのデータを暗号化するように指示された際に、ビットマップテーブル２１に示されているフラグ情報（データが書き換えられたか否かを示す情報）に基づいて、書き換えられたデータのみを暗号化する。
【００５４】
次に、ディスク制御装置１は、オペレーティングシステム４から、ディスク３に記憶されている全てのデータを消去するように指示された際に、Ｓ１０９にてフラグが設定されたビットマップテーブル２１を用いて、ディスク３に記憶されている全てのデータを暗号化するデータ消去処理を行う。
【００５５】
ディスク制御装置１がこのデータ消去処理を行う際の手順について、図１１に示す概略図、及び図１２に示すフローチャートに基づいて説明する。この際、不揮発性メモリ６のビットマップテーブル２１は、図１１に示すように、ディスク３において書き換えが行われたセクタ位置に対応したビット位置に、Ｓ１０９にてフラグが設定された状態になっているものとする。
【００５６】
まずディスクドライバ５は、図１２に示すように、オペレーティングシステム４からデータ消去指示がされたか否かを判断する（Ｓ５０１）。データ消去処理が指示されていない場合（Ｓ５０１のＮｏ）は、ディスクドライバ５はそのまま待機する。データ消去処理が指示された場合（Ｓ５０１のＹｅｓ）は、不揮発性メモリ６のビットマップテーブル２１から一つのビット位置に記録されているフラグ情報を取得する（Ｓ５０３）。
【００５７】
ディスクドライバ５は、Ｓ５０３にて取得したフラグ情報が示すフラグが「１」であるか否かを判断する（Ｓ５０５）。フラグが「１」であった場合（Ｓ５０５のＹｅｓ）は、ディスクドライバ５は、ディスク３に対して、Ｓ５０３にて取得したフラグ情報が記録されていたビット位置に対応するセクタ位置に「０」（元のデータ）を書き込む（Ｓ５０７）。なお、図１１では、わかりやすいように、各セクタにセクタ位置を示す番号を記述しているが、そのセクタ位置に何も書き込まれていない場合には「０」が記録されているものとする。
【００５８】
Ｓ５０７の処理を終えた場合、またはフラグが「１」でなかった場合（Ｓ５０５のＮｏ）は、ディスクドライバ５は、ビットマップテーブル２１において、未処理のフラグ情報があるか否かを判断する（Ｓ５０９）。すなわちディスクドライバ５は、ビットマップテーブル２１に含まれているフラグ情報において、Ｓ５０３乃至Ｓ５０７の処理が行われていない情報があるか否かを判断する。
【００５９】
未処理のフラグ情報がある場合（Ｓ５０９のＹｅｓ）は、Ｓ５０３に戻って、ディスクドライバ５はビットマップテーブル２１から未処理のフラグ情報を取得し、同様にＳ５０５乃至Ｓ５０７の処理を行う。また、未処理のフラグ情報がない場合（Ｓ５０９のＮｏ）、すなわち、ビットマップテーブル２１に含まれている全てのフラグ情報に対して、Ｓ５０３乃至Ｓ５０７の処理が行われた場合は、ディスクドライバ５は、データ消去処理を終了する。
【００６０】
例えば、図１１に示す概略図によると、ビットマップテーブル２１において、１つ目、２つ目、３つ目、４つ目、５つ目等のビット位置に対して、それぞれフラグ情報として「１」が示されているとともに、データ消去処理を行う前にディスク３における「０１」のセクタ位置に「ＡＡ」のデータが、「０２」のセクタ位置に「ＢＢ」のデータが、「０３」のセクタ位置に「ＣＣ」のデータが、「０４」のセクタ位置に「ＤＤ」のデータが、「０５」のセクタ位置に「ＥＥ」のデータが記録されているため、これらのセクタ位置の「ＡＡ」乃至「ＥＥ」のデータが消去される。
【００６１】
また、図１１に示す概略図によると、ビットマップテーブル２１において、６つ目、７つ目、８つ目等のビット位置に対して、それぞれフラグ情報として「０」が示されているため、「０６」、「０７」、「０８」のセクタ位置に記録されているデータはもともと書き換えられていないため、消去の対象にはならない。
【００６２】
このようにして、ディスク制御装置１は、オペレーティングシステム４から、情報処理装置２のディスク３に記録されている全てのデータを消去するように指示された際に、ビットマップテーブル２１に示されているフラグ情報（データが書き換えられたか否かを示す情報）に基づいて、書き換えられたデータのみを消去する。
【００６３】
なお、実施形態として、データ暗号化処理を行う際に、情報処理装置２のディスク３に暗号化された暗号データを書き込む例について説明したが、これに限定されず、ディスク３とは異なるディスク３Ａに対して暗号データを書き込んでも良い。
【００６４】
また、実施形態として、ビットマップテーブル２１を不揮発性メモリ６に記録する例について説明したが、これに限定されず、ディスク３内の所定の格納領域に記録するようにしても良い。
【００６５】
さらに、マスターのイメージ（ディスク３）及びビットマップテーブル２１をサーバ側の装置におき、リモートからブートしてマスターのイメージやそれを暗号化したイメージを作成することも可能である。
【００６６】
本発明に係るディスク制御プログラム、ディスク制御装置１、及びディスク制御方法によると、ディスクの書き換わったセクタ位置（もしくはＬＢＡ）をビットマップテーブル２１に記憶させておき、書き換わった部分のみを複製したり暗号化したりあるいは消去したりすることにより、ディスク３に記録されているデータを高速で複製したり暗号化したりあるいは消去したりすることが可能となる。
【００６７】
また、本発明に係るディスク制御プログラム、ディスク制御装置１、及びディスク制御方法によると、ディスク３において書き換わった部分をセクタ位置で管理することにより、ファイルシステムを意識せずに、複製したり暗号化したり、あるいは消去したりすることが可能となる。
【００６８】
特に工場出荷状態の場合、ディスク３に書き込まれているデータ量が少ないので、書き換えられた部分のみを複製することにより、高速で大量のイメージの複製を、ファイルシステムを意識することなく行うことが可能となる。また、複製と同時に暗号化を行うことにより、高速に暗号化した状態で出荷することが可能となる。
【００６９】
なお、本発明に係るディスク制御装置１として、装置内部に発明を実施する機能が予め記録されている場合で説明をしたが、これに限らず、同様の機能を通信インタフェース７を介して装置にダウンロードしても良いし、同様の機能を記録媒体に記憶させたものを装置にインストールしてもよい。
【図面の簡単な説明】
【００７０】
【図１】本発明に係るディスク制御装置が適用される情報処理装置の外観図。
【図２】本発明に係るディスク制御装置が適用される情報処理装置の機能ブロック図。
【図３】本発明に係るディスク制御装置が制御するディスクに格納されるデータの概略図。
【図４】本発明に係るディスク制御装置の半導体メモリに記憶されるデータのデータ構成図。
【図５】本発明に係るディスク制御装置によって行われるデータ書き込み処理を説明するための概略図。
【図６】本発明に係るディスク制御装置がデータ書き込み処理を行う際の手順を示すフローチャート。
【図７】本発明に係るディスク制御装置によって行われるデータ複製処理を説明するための概略図。
【図８】本発明に係るディスク制御装置がデータ複製処理を行う際の手順を示すフローチャート。
【図９】本発明に係るディスク制御装置によって行われるデータ暗号化処理を説明するための概略図。
【図１０】本発明に係るディスク制御装置がデータ暗号化処理を行う際の手順を示すフローチャート。
【図１１】本発明に係るディスク制御装置によって行われるデータ消去処理を説明するための概略図。
【図１２】本発明に係るディスク制御装置がデータ消去処理を行う際の手順を示すフローチャート。
【符号の説明】
【００７１】
１、１Ａ…ディスク制御装置，２…情報処理装置，３、３Ａ…ディスク，４…オペレーティングシステム，４ａ…ＣＰＵ，４ｂ…ＲＡＭ，４ｃ…ＲＯＭ，５…ディスクドライバ，６…不揮発性メモリ，７…通信インタフェース，８…バス，２０、２３…データ，２０ａ、２０ｂ、２０ｃ…セクタ位置，２１…ビットマップテーブル，２１ａ、２１ｂ、２１ｃ…ビット位置，２２…変換テーブル，２２ａ…セクタ位置情報，２２ｂ…内容情報，２４…暗号データ格納領域。
【図１】
2009015357.tif 000003
【図２】
2009015357.tif 000004
【図３】
2009015357.tif 000005
【図４】
2009015357.tif 000006
【図５】
2009015357.tif 000007
【図６】
2009015357.tif 000008
【図７】
2009015357.tif 000009
【図８】
2009015357.tif 000010
【図９】
2009015357.tif 000011
【図１０】
2009015357.tif 000012
【図１１】
2009015357.tif 000013
【図１２】
2009015357.tif 000014