(57)【要約】【課題】ネットワークに異常がある場合であっても、ネットワークに接続されたバックアップ用装置にバックアップデータを確実に生成する。【解決手段】データ記録装置１０において、処理部１２は、データバックアップ装置２０に記憶されたバックアップデータを更新する場合に、データバックアップ装置２０にデータ送信可能であるか否かを判定し、ここでデータ送信不能であると判定した場合に、更新対象のストライプデータをデータ記憶部１６に蓄積し、データバックアップ装置２０にデータ送信可能となってから、当該更新対象のストライプデータをデータバックアップ装置２０に送信する。【選択図】図１
2009129283.tif 000002
【特許請求の範囲】
【請求項１】
自らが記憶するデータのバックアップを、ネットワークを介して接続されたデータバックアップ装置に生成するデータ記憶装置であって、
バックアップ処理を実行する処理部、自らが記憶するデータをバックアップするために前記データバックアップ装置と共にＲＡＩＤを構成するデータ記憶部、およびネットワークを介してデータを送受するためのネットワークインターフェースを備え、
前記処理部は、前記データバックアップ装置に記憶されたバックアップデータを更新する場合に、前記データバックアップ装置にデータ送信可能であるか否かを判定し、ここでデータ送信不能であると判定した場合に、更新対象のストライプデータを前記データ記憶部に蓄積し、前記データバックアップ装置にデータ送信可能となってから、当該更新対象のストライプデータを前記データバックアップ装置に送信することを特徴とするデータ記憶装置。
【請求項２】
前記処理部は、更新対象のストライプデータを登録するためのコピーオンライトテーブルを有し、データ送信不能であると判定した場合に、更新対象のストライプデータを前記データ記憶部に蓄積するとともに、更新対象のストライプデータの記憶先アドレスを前記コピーオンライトテーブルに登録することを特徴とする請求項１に記載のデータ記憶装置。
【請求項３】
前記処理部は、前記データバックアップ装置にデータ送信可能となってから、前記コピーオンライトテーブルに登録された記憶先アドレスから更新対象のストライプデータを読み出して、当該更新対象のストライプデータを前記データバックアップ装置に送信することを特徴とする請求項２に記載のデータ記憶装置。
【請求項４】
前記処理部は、更新対象のストライプデータを前記データバックアップ装置に送信した後に、前記コピーオンライトテーブルから更新対象のストライプデータの記憶先アドレスを抹消することを特徴とする請求項３に記載のデータ記憶装置。
【請求項５】
前記処理部は、前記データ記憶装置の異常発生時に、ランダムアクセスメモリに記憶されているコピーオンライトテーブルを不揮発性メモリに書き込むことを特徴とする請求項２〜４のいずれか１項に記載のデータ記憶装置。
【請求項６】
前記データ記憶部としてハードディスクを用いた磁気記憶装置またはフラッシュメモリを用いた半導体記憶装置の少なくとも一方を備えていることを特徴とする請求項１〜５のいずれか１項に記載のデータ記憶装置。
【請求項７】
前記データ記憶部として前記半導体記憶装置を備えており、当該半導体記憶装置を更新対象のストライプデータを蓄積するために用いることを特徴とする請求項１〜６のいずれか１項に記載のデータ記憶装置。
【請求項８】
前記処理部は、前記データバックアップ装置にデータ送信可能であるか否かに拘らず、更新対象のストライプデータを前記データ記憶部に蓄積し、前記データバックアップ装置にデータ送信可能となってから、当該更新対象のストライプデータを前記データバックアップ装置に送信することを特徴とする請求項１〜７のいずれか１項に記載のデータ記憶装置。
【請求項９】
前記処理部は、前記データバックアップ装置にデータ送信不能であると判定した場合にのみ、更新対象のストライプデータを前記データ記憶部に蓄積し、前記データバックアップ装置にデータ送信可能となってから、当該更新対象のストライプデータを前記データバックアップ装置に送信することを特徴とする請求項１〜７のいずれか１項に記載のデータ記憶装置。
【請求項１０】
データ記憶装置に記憶されたデータのバックアップを、前記データ記憶装置とネットワークを介して接続され、前記データ記憶装置と共にＲＡＩＤを構成するデータバックアップ装置に生成するデータバックアップ方法であって、
前記データバックアップ装置に記憶されたバックアップデータを更新する場合に、前記データ記憶装置から前記データバックアップ装置にデータ送信可能であるか否かを判定し、ここでデータ送信不能であると判定された場合に、更新対象のストライプデータを前記データ記憶部に蓄積し、前記データ記憶装置から前記データバックアップ装置にデータ送信可能となってから、当該更新対象のストライプデータを前記データバックアップ装置に送信することを特徴とするデータバックアップ方法。
【請求項１１】
データ記憶装置に記憶された複数のストライプデータからなるデータのバックアップを、前記データ記憶装置とネットワークを介して接続され、前記データ記憶装置と共にＲＡＩＤを構成するデータバックアップ装置に生成するデータバックアッププログラムであって、
前記データバックアップ装置に記憶されたバックアップデータを更新する場合に、前記データ記憶装置から前記データバックアップ装置にデータ送信可能であるか否かを判定し、ここでデータ送信不能であると判定された場合に、更新対象のストライプデータを前記データ記憶部に蓄積し、前記データ記憶装置から前記データバックアップ装置にデータ送信可能となってから、当該更新対象のストライプデータを前記データバックアップ装置に送信する機能をコンピュータに実現させるデータバックアッププログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークを介して接続された他装置にバックアップデータを生成するためのデータ記憶装置、データバックアップ方法およびデータバックアッププログラムに関する。
【背景技術】
【０００２】
従来文献（特許文献１）には、ＮＡＳコントローラとネットワークストレージから成るコンピュータシステムが示されている。このコンピュータシステムでは、ＮＡＳボリュームのスナップショットおよびリモートコピーにおいてリファーラル情報の一貫性を確保し、ＮＡＳクライアントが適切なボリュームにアクセスできるようにしている。
【特許文献１】特開２００７−１８３９１３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、従来技術に係るコンピュータシステムでは、例えばネットワークに障害が生じている場合やネットワークが混雑している場合などネットワークに異常があるには、一方のコンピュータから他方のコンピュータにデータを送信することができず、他方のコンピュータにバックアップデータを生成することができない、という問題がある。
【０００４】
本発明は、上記の課題を解決するためになされたもので、ネットワークに異常がある場合であっても、ネットワークに接続されたバックアップ用装置にバックアップデータを確実に生成することが可能なデータ記憶装置、データバックアップ方法およびデータバックアッププログラムを提供することを目的とする。
【課題を解決するための手段】
【０００５】
上述した目的を達成するために、本発明に係るデータ記憶装置は、自らが記憶するデータのバックアップを、ネットワークを介して接続されたデータバックアップ装置に生成するデータ記憶装置であって、バックアップ処理を実行する処理部、自らが記憶するデータをバックアップするためにデータバックアップ装置と共にＲＡＩＤを構成するデータ記憶部、およびネットワークを介してデータを送受するためのネットワークインターフェースを備え、処理部は、データバックアップ装置に記憶されたバックアップデータを更新する場合に、データバックアップ装置にデータ送信可能であるか否かを判定し、ここでデータ送信不能であると判定した場合に、更新対象のストライプデータをデータ記憶部に蓄積し、データバックアップ装置にデータ送信可能となってから、当該更新対象のストライプデータをデータバックアップ装置に送信することを特徴とする。
【０００６】
また、本発明に係るデータバックアップ方法は、データ記憶装置に記憶されたデータのバックアップを、データ記憶装置とネットワークを介して接続され、データ記憶装置と共にＲＡＩＤを構成するデータバックアップ装置に生成するデータバックアップ方法であって、データバックアップ装置に記憶されたバックアップデータを更新する場合に、データ記憶装置からデータバックアップ装置にデータ送信可能であるか否かを判定し、ここでデータ送信不能であると判定された場合に、更新対象のストライプデータをデータ記憶部に蓄積し、データ記憶装置からデータバックアップ装置にデータ送信可能となってから、当該更新対象のストライプデータをデータバックアップ装置に送信することを特徴とする。
【０００７】
また、本発明に係るデータバックアッププログラムは、データ記憶装置に記憶された複数のストライプデータからなるデータのバックアップを、データ記憶装置とネットワークを介して接続され、データ記憶装置と共にＲＡＩＤを構成するデータバックアップ装置に生成するデータバックアッププログラムであって、データバックアップ装置に記憶されたバックアップデータを更新する場合に、データ記憶装置からデータバックアップ装置にデータ送信可能であるか否かを判定し、ここでデータ送信不能であると判定された場合に、更新対象のストライプデータをデータ記憶部に蓄積し、データ記憶装置からデータバックアップ装置にデータ送信可能となってから、当該更新対象のストライプデータをデータバックアップ装置に送信する機能をコンピュータに実現させるデータバックアッププログラムである。
【発明の効果】
【０００８】
本発明によれば、ネットワークに異常がある場合であっても、ネットワークに接続されたバックアップ用装置にバックアップデータを確実に生成することが可能なデータ記憶装置、データバックアップ方法およびデータバックアッププログラムを提供することができる。
【発明を実施するための最良の形態】
【０００９】
以下、添付図面を参照して、本発明の好適な実施形態について詳細に説明する。なお、説明において、同一要素または同一機能を有する要素には、同一符号を用いることとし、重複する説明は省略する。
【００１０】
図１を参照して、本実施形態に係るネットワークシステム１について説明する。ネットワークシステム１は、２つのコンピュータ装置（ＰＣ１，ＰＣ２）１０，２０を含んでおり、２つのコンピュータ装置１０，２０がネットワーク（ＬＡＮ）３を介して互いに接続されている。一方のコンピュータ装置１０が記憶するデータは、データの消失を回避するために他方のコンピュータ装置２０にバックアップされる。すなわち、一方のコンピュータ装置１０は、データを記憶するためのデータ記憶装置であり、他方のコンピュータ装置２０は、データをバックアップするためのデータバックアップ装置である。
【００１１】
データ記憶装置１０は、コンピュータ装置の一般的な構成要素を含んで構成されている。特に、データ記憶装置１０は、データバックアップ処理に関連する構成として、ネットワーク３を介してデータを送受するためのネットワークインターフェース１１と、データバックアップ処理を含む各種処理を行う処理部１２と、記憶媒体としてハードディスクを有するハードディスクドライブである第１データ記憶部（以下、ＨＤＤと称する）１５と、記憶媒体としてフラッシュメモリを有するソリッドステートドライブである第２データ記憶部（以下、ＳＳＤと称する）１６と、を備えている。
【００１２】
データバックアップ装置２０は、データ記憶装置１０と同様に、コンピュータ装置の一般的な構成要素を含んで構成されている。特に、データバックアップ装置２０は、データバックアップ処理に関連する構成として、ネットワーク３を介してデータを送受するためのネットワークインターフェース２１と、データバックアップ処理を含む各種処理を行う処理部２２と、記憶媒体としてハードディスクを有するハードディスクドライブである第１データ記憶部（以下、ＨＤＤと称する）２５と、記憶媒体としてフラッシュメモリを有するソリッドステートドライブである第２データ記憶部（以下、ＳＳＤと称する）２６と、を備えている。
【００１３】
データ記憶装置１０の構成について、より詳しく説明する。
【００１４】
処理部１２は、ＣＰＵ（Central Processing Unit）およびＲＡＭ（RandomAccess Memory）を含み、各種のプログラムを実行する。図２に示されるように、ＣＰＵがＲＡＭにプログラムを読み出して実行することにより、アプリケーションソフトウェア１２ａ、ファイルシステム１２ｂ、ＲＡＩＤドライバなどの機能が実現される。
【００１５】
アプリケーションソフトウェア１２ａは、様々な種類のアプリケーションソフトウェアであり、種類は問わない。但し、本実施形態において、アプリケーションソフトウェア１２ａは、ＨＤＤ１５に記憶されたファイルデータを更新する処理を行うものである。アプリケーションソフトウェア１２ａは、ＨＤＤ１５に記憶されたファイルデータを更新する時に、ファイルシステム１２ｂにファイルデータ更新要求を与える。ファイルデータ更新要求には、更新するファイルデータを特定する情報、および、更新後のファイルデータが含まれている。
【００１６】
ファイルシステム１２ｂは、オペレーティングシステムの持つ機能の一つであり、ＨＤＤ１５に記憶されているディレクトリおよびファイルデータを管理する。すなわち、ファイルシステム１２ｂは、ＨＤＤ１５に記憶されているディレクトリおよびファイルデータの作成、移動、削除などを行う。ファイルシステム１２ｂは、アプリケーションソフトウェア１２ａからファイルデータ更新要求があった時に、ＲＡＩＤドライバ１２ｃにデータライト要求を与える。データライト要求には、更新するストライプデータを特定するストライプアドレス、および、更新後のストライプデータが含まれている。
【００１７】
ＲＡＩＤドライバ１２ｃは、ＲＡＩＤ（Redundant Arrays ofInexpensive Disks）に従って、ＨＤＤ１５にデータを書き込む。ここで、ＲＡＩＤとは、複数台のハードディスクを組み合わせて仮想的な１台のハードディスクとして運用する技術であり、ハードディスクの用途に応じて複数種類のＲＡＩＤレベル（１〜６）が用意されている。本実施形態では、ＲＡＩＤドライバ１２ｃは、ＲＡＩＤ１に従ってＨＤＤ１５にデータを書き込む。但し、ＲＡＩＤドライバ１２ｃは、他のＲＡＩＤレベルに従ってＨＤＤ１５にデータを書き込んでもよい。
【００１８】
ＲＡＩＤ１において、ＲＡＩＤドライバ１２ｃは、図３に示されるように、ＨＤＤ１５に記憶すべきデータを複数のストライプデータ（Ｓ１，Ｓ２，Ｓ３，・・・，ＳＮ）に分割し、ストライプデータの各々をデータ記憶装置１０のＨＤＤ１５に書き込むと共に、データバックアップ装置２０のＨＤＤ２５に書き込む。このＲＡＩＤドライバ１２ｃの処理により、ＨＤＤ１５に記憶されたストライプデータのバックアップがＨＤＤ２５に生成される。なお、ＲＡＩＤドライバ１２ｃは、記憶データを構成するストライプデータの論理アドレスと、ＨＤＤ１５においてストライプデータが記憶された物理アドレスと、ＨＤＤ２５においてストライプデータが記憶された物理アドレスとの対応関係を認識している。
【００１９】
再び図１に戻り、ＨＤＤ１５は、記憶媒体としてハードディスクを有するハードディスクドライブ（磁気記憶装置）であり、データの書き込みおよび消去を自由に行なうこと可能である。ＨＤＤ１５は、大容量のデータ記憶領域を有しており、アプリケーションソフトウェアにより利用される様々なデータを記憶するために利用される。本実施形態では、オペレーティングシステムがウィンドウズ（登録商標）であり、ＨＤＤ１５のデータ記憶領域はＣドライブと名付けられている。また、本実施形態では、ＨＤＤ１５のデータ記憶領域の一部は、Ｃドライブとは別のボリュームとして管理されており、Ｄドライブと名付けられている。このＤドライブは、Ｃドライブのシャドーコピーを記憶するために用いられる。
【００２０】
ＳＳＤ１６は、記憶媒体として不揮発性のフラッシュメモリを有するソリッドステートドライブ（半導体記憶装置）であり、データの書き込みおよび消去を自由に行なうこと可能な半導体ディスク装置である。ＳＳＤ１６は、ＨＤＤ１５より小容量であるが、データバックアップ処理を実行するために十分な容量のデータ記憶領域を有しており、ＨＤＤ１５およびＨＤＤ２５へのストライプデータの書き込みを補助するために利用される。ＳＳＤ１６は、フラッシュメモリを記憶媒体としているため、データの書き込みおよび読み出しを、ＨＤＤ１５と比較して迅速に行うことができる。ＳＳＤ１６は、ソリッドステートドライブは、ＨＤＤ１５と同じ接続インターフェース規格を持っており、ＨＤＤ１５と同じように利用することができる。
【００２１】
なお、本実施形態では、データ記憶装置１０はデータ記憶部としてＨＤＤ１５およびＳＳＤ１６を備えているが、他の実施形態では、データ記憶装置１０はＨＤＤ１５のみを備える構成であったり、ＳＳＤ１６のみを備える構成であってもよい。また、本実施形態では、データバックアップ装置２０はデータ記憶部としてＨＤＤ２５およびＳＳＤ２６を備えているが、他の実施形態では、データバックアップ装置２０はＨＤＤ２５のみを備える構成であったり、ＳＳＤ２６のみを備える構成であってもよい。
【００２２】
次に、図４および図５を参照して、データ記憶装置１０に記憶されたデータのバックアップをデータバックアップ装置２０に生成し、さらにデータバックアップ装置２０に生成されたバックアップデータを更新するためのデータバックアップ処理の概略について説明する。図４は、データ記憶装置１０のデータバックアップ処理の概略を示しており、図５は、データバックアップ装置２０のデータバックアップ処理の概略を示している。
【００２３】
１回目のデータバックアップ処理時には、次の処理が行われる。データ記憶装置１０は、ＨＤＤ１５のＣドライブ１５ａに記憶されたデータのシャドーコピーであるスナップショットを生成し、Ｄドライブ１５ｂに書き込む。そして、データ記憶装置１０は、ＨＤＤ１５のＤドライブ１５ｂに記憶されたスナップショットをネットワーク３を介してデータバックアップ装置２０に送信する。データバックアップ装置２０は、データ記憶装置１０からのスナップショットをネットワーク３を介して受信すると、スナップショットをＨＤＤ２５のＥドライブに書き込む。なお、前述したとおり、ＨＤＤ１５のＤドライブ１５ｂとＨＤＤ２５のＥドライブはＲＡＩＤ１を構成しており、スナップショットを分割したストライプデータが記憶されている。
【００２４】
２回目以降のデータバックアップ処理時には、コピーオンライト（ＣＯＷ）技術を利用して、次の処理が行われる。データ記憶装置１０は、前回のバックアップデータに対する今回のバックアップデータの変更箇所のストライプデータを生成して、高速処理が可能なＳＳＤ１６に書き込む。データ記憶装置１０は、ＳＳＤ１６に書き込まれたストライプデータをＤドライブ１５ｂに上書きすると共に、ＳＳＤ１６に書き込まれたストライプデータをネットワーク３を介してデータバックアップ装置２０に送信する。データバックアップ装置２０は、データ記憶装置１０からのストライプデータをネットワーク３を介して受信すると、ストライプデータを高速処理が可能なＳＳＤ２６に書き込んでから、ＳＳＤ２６に書き込まれたストライプデータをＨＤＤ２５のＥドライブに上書きする。
【００２５】
図４に示されるように、データ記憶装置１０は、コピーオンライトテーブル（以下、ＣＯＷテーブルと称する）１４ａをＲＡＭ１４に保持しており、２回目以降のデータバックアップ処理時にはＣＯＷテーブル１４ａを利用する。ＣＯＷテーブル１４ａには、Ｄドライブ１５ｂに上書きするストライプデータｎの情報が登録されている。すなわち、ＣＯＷテーブル１４ａには、更新対象のストライプデータｎの論理アドレスと、ＳＳＤ１６における更新対象のストライプデータｎの記憶先物理アドレスとが対応付けて登録されている。また、ＳＳＤ１６のストライプデータｎがＤドライブ１５ｂに上書きされた後には、ＣＯＷテーブル１４ａにおいてストライプデータｎの論理アドレスに対応してＮＵＬＬが登録され、ストライプデータｎの記憶先物理アドレスは存在しないこととなる。なお、ＮＵＬＬは、物理アドレスの登録の抹消を意味している。
【００２６】
また、図５に示されるように、データバックアップ装置２０は、ＣＯＷテーブル２４ａをＲＡＭ２４に保持しており、２回目以降のデータバックアップ処理時にはＣＯＷテーブル２４ａを利用する。ＣＯＷテーブル２４ａには、Ｅドライブ２５に上書きするストライプデータｎの情報が登録されている。すなわち、ＣＯＷテーブル２４ａには、更新対象のストライプデータｎの論理アドレスと、ＳＳＤ２６における更新対象のストライプデータｎの記憶先物理アドレスとが対応付けて登録されている。また、ＳＳＤ２６のストライプデータｎがＥドライブ２５に上書きされた後には、ＣＯＷテーブル２４ａにおいてストライプデータｎの論理アドレスに対応してＮＵＬＬが登録され、ストライプデータｎの記憶先物理アドレスは存在しないこととなる。
【００２７】
次に、図６〜図１０のフローチャートを参照して、データ記憶装置１０およびデータバックアップ装置２０によるデータバックアップ処理について説明する。
【００２８】
図６を参照して、データ記憶装置１０のデータライト処理について説明する。このデータライト処理は、２回目以降のデータバックアップ処理時にＲＡＩＤドライバ１２ｃにより実行される。
【００２９】
予め設定されたバックアップタイミングとなった場合や、アプリケーションソフトウェア１２ａからバックアップデータの更新要求があった場合には、ＲＡＩＤドライバ１２ｃは、バックアップデータの更新を促すデータライト要求を受け取る（Ｓ６０１）。
【００３０】
次に、ＲＡＩＤドライバ１２ｃは、前回のバックアップデータに対する今回のバックアップデータの変更箇所であるストライプデータのシャドーコピーを生成し、この更新対象のストライプデータのシャドーコピーをＳＳＤ１６に書き込んで、更新対象のストライプデータのシャドーコピーをローカルのＳＳＤ１６に一時的に記憶する（Ｓ６０２）。この処理により、更新対象のストライプデータがＳＳＤ１６に蓄積される。
【００３１】
次に、ＲＡＩＤドライバ１２ｃは、更新対象のストライプデータをＳＳＤ１６に記憶したことに応じて、ＲＡＭ１４のＣＯＷテーブル１４ａを更新する（Ｓ６０３）。すなわち、ＲＡＩＤドライバ１２ｃは、ＲＡＭ１４のＣＯＷテーブル１４ａにおいて当該ストライプデータの記憶先物理アドレスを、当該ストライプデータが書き込まれたＳＳＤ１６の物理アドレスに変更する。
【００３２】
次に、ＲＡＩＤドライバ１２ｃは、アプリケーションソフトウェア１２ａまたはファイルシステム１２ｂにデータライト処理が終了した旨を通知して、データライト処理を終了する（Ｓ６０４）。なお、この時点では、実際にはデータライト処理は終了していないが、更新対象のストライプデータのシャドーコピーをＳＳＤ１６に記憶しているため問題はない。
【００３３】
次に、ＲＡＩＤドライバ１２ｃは、ネットワーク送信処理要求のイベントを設定する（Ｓ６０５）。このイベント設定は、ＳＳＤ１６に記憶されたストライプデータのネットワーク送信処理の開始条件となっている。このネットワーク送信処理については、図８を参照して後に説明する。
【００３４】
次に、図７を参照して、データ記憶装置１０のデータリード処理について説明する。このデータリード処理は、アプリケーションソフトウェア１２ａがバックアップデータを読み出す場合に、ＲＡＩＤドライバ１２ｃにより実行される。
【００３５】
アプリケーションソフトウェア１２ａからバックアップデータの読み出し要求があった場合には、ＲＡＩＤドライバ１２ｃは、バックアップデータの読み出しを促すデータリード要求を受け取る（Ｓ７０１）。
【００３６】
次に、ＲＡＩＤドライバ１２ｃは、ＣＯＷテーブル１４ａをチェックし、データリードの対象となるストライプデータがデータバックアップ装置２０またはＳＳＤ１６のいずれに記憶されているかを判別する（Ｓ７０２）。ここで、ＲＡＩＤドライバ１２ｃは、データリードの対象となるストライプデータの記憶先がＮＵＬＬである場合には、ストライプデータがデータバックアップ装置２０に記憶されていることを判別して、ステップ７０３の処理に進む。一方、ＲＡＩＤドライバ１２ｃは、データリードの対象となるストライプデータの記憶先がＳＳＤ１６である場合には、ストライプデータがＳＳＤ１６に記憶されていることを判別して、ステップ７０４の処理に進む。
【００３７】
ステップ７０２からステップ７０３に進んだ場合には、ＲＡＩＤドライバ１２ｃは、データバックアップ装置２０にデータリード対象のストライプデータの送信要求をネットワーク３を介して送信する。そして、ＲＡＩＤドライバ１２ｃは、送信要求に応じてデータバックアップ装置２０から送信されたストライプデータを受信し、データバックアップ装置２０からデータリード対象のストライプデータを読み出す（Ｓ７０３）。
【００３８】
ステップ７０２からステップ７０４に進んだ場合には、ＲＡＩＤドライバ１２ｃは、ＣＯＷテーブル１４ａに登録されたＳＳＤ１６の記憶先物理アドレスからデータリード対象のストライプデータを読み出す（Ｓ７０４）。
【００３９】
次に、図８を参照して、データ記憶装置１０のネットワーク送信処理について説明する。このネットワーク送信処理は、データバックアップ装置２０のバックアップデータを更新するために、ＳＳＤ１６に記憶されたストライプデータをデータバックアップ装置２０にネットワーク３を介して送信する場合に、ＲＡＩＤドライバ１２ｃにより実行される。
【００４０】
ＲＡＩＤドライバ１２ｃは、前述したステップ６０５においてネットワーク送信処理要求のイベント設定があったか否かを判定する（Ｓ８０１）。ここで、ネットワーク送信処理要求のイベント設定があった場合には、ネットワーク送信処理を実行するために、ＲＡＩＤドライバ１２ｃはステップ８０２の処理に進む。一方、ネットワーク送信処理要求のイベント設定がない場合には、ネットワーク送信処理を実行する必要がないため、ＲＡＩＤドライバ１２ｃは処理を終了する。
【００４１】
ステップ８０１からステップ８０２に進んだ場合に、ＲＡＩＤドライバ１２ｃは、ネットワーク３が正常であるか否かを判定する（Ｓ８０２）。ここで、ネットワーク３が正常である場合には、ストライプデータをデータバックアップ装置２０に送信することに何ら問題がないため、ＲＡＩＤドライバ１２ｃはステップ８０３の処理に進む。一方、ネットワーク３に障害や混雑などの異常がある場合には、ストライプデータをデータバックアップ装置２０に送信することができないため、ＲＡＩＤドライバ１２ｃは処理を終了する。
【００４２】
ステップ８０２からステップ８０３に進んだ場合に、ＲＡＩＤドライバ１２ｃは、ＣＯＷテーブル１４ａをチェックし、ストライプデータがＳＳＤ１６に記憶されているか否かを判定する（Ｓ８０３）。ここで、ストライプデータがＳＳＤ１６に記憶されている場合には、バックアップすべきストライプデータがＳＳＤ１６に存在するため、ＲＡＩＤドライバ１２ｃはステップ８０４の処理に進む。一方、ストライプデータがＳＳＤ１６に記憶されていない場合には、バックアップすべきストライプデータがＳＳＤ１６に存在しないため、ＲＡＩＤドライバ１２ｃは処理を終了する。
【００４３】
ステップ８０３からステップ８０４に進んだ場合に、ＲＡＩＤドライバ１２ｃは、ネットワーク受信処理要求のイベントを設定するための指令をネットワーク３を介してデータバックアップ装置２０へ送信してから、ＳＳＤ１６に記憶されているストライプデータを読み出して、このストライプデータをネットワーク３を介してデータバックアップ装置２０へ送信する（Ｓ８０４）。同時に、ＲＡＩＤドライバ１２ｃは、ＳＳＤ１６に記憶されていたストライプデータをＤドライブ１５ｂに上書きする。
【００４４】
次に、ＲＡＩＤドライバ１２ｃは、データバックアップ装置２０へのデータ送信が正常に終了したか否かを判定する（Ｓ８０５）。ここで、データ送信が正常に終了した場合には、ＲＡＩＤドライバ１２ｃはステップ８０６の処理に進む。一方、データ送信が正常に終了していない場合には、ＲＡＩＤドライバ１２ｃは処理を終了する。
【００４５】
ステップ８０５からステップ８０６に進んだ場合に、ＲＡＩＤドライバ１２ｃは、ストライプデータをデータバックアップ装置２０へ送信したことに応じて、ＣＯＷテーブル１４ａを更新する（Ｓ８０６）。すなわち、ＲＡＩＤドライバ１２ｃは、ＣＯＷテーブル１４ａにおいて上記の送信されたストライプデータに対応する記憶先物理アドレスをＮＵＬＬに変更する。その後、ＲＡＩＤドライバ１２ｃは、ネットワーク送信処理要求のイベント設定を取り消し、処理を終了する。
【００４６】
次に、図９を参照して、データバックアップ装置２０のネットワーク受信処理について説明する。このネットワーク受信処理は、前述したデータ記憶装置１０のネットワーク送信処理に対応して、データバックアップ装置２０により実行される。
【００４７】
データバックアップ装置２０の処理部２２は、前述したステップ８０４においてネットワーク受信処理要求のイベント設定があったか否かを判定する（Ｓ９０１）。ここで、ネットワーク受信処理要求のイベント設定がある場合には、ネットワーク受信処理を実行するために、データバックアップ装置２０の処理部２２はステップ９０２の処理に進む。一方、ネットワーク受信処理要求のイベント設定がない場合には、データバックアップ装置２０の処理部２２は処理を終了する。
【００４８】
ステップ９０１からステップ９０２に進んだ場合には、データバックアップ装置２０の処理部２２は、データ記憶装置１０から送信されてくるストライプデータを受信する（Ｓ９０２）。そして、データバックアップ装置２０の処理部２２は、データ受信が正常に終了したか否かを判定する（Ｓ９０３）。ここで、データ受信が正常に終了した場合には、データバックアップ装置２０の処理部２２はステップ９０４の処理に進む。一方、データ受信が正常に終了していない場合には、データバックアップ装置２０の処理部２２は処理を終了する。
【００４９】
ステップ９０３からステップ９０４に進んだ場合には、データバックアップ装置２０の処理部２２は、データ記憶装置１０から受信したストライプデータをＳＳＤ２６に迅速に記憶する（Ｓ９０４）。そして、データバックアップ装置２０の処理部２２は、ストライプデータをＳＳＤ２６に記憶したことに応じて、ＲＡＭ２４のＣＯＷテーブル２４ａを更新する（Ｓ９０５）。すなわち、データバックアップ装置２０の処理部２２は、ＲＡＭ２４のＣＯＷテーブル２４ａにおいて上記のＳＳＤ２６に記憶されたストライプデータに対応する記憶先物理アドレスとして、データバックアップ装置２０において当該ストライプデータが書き込まれたＳＳＤ２６の物理アドレスを設定する。
【００５０】
その後、データバックアップ装置２０の処理部２２は、ネットワーク受信処理要求のイベント設定を取り消してから、データ受信が終了した旨をデータ記憶装置１０に通知して、ネットワーク受信処理を終了する（Ｓ９０６）。
【００５１】
次に、図１０を参照して、データバックアップ装置２０のデータ移動処理について説明する。このデータ移動処理は、前述したネットワーク受信処理の後に、データバックアップ装置２０により実行される。
【００５２】
データバックアップ装置２０の処理部２２は、ＲＡＭ２４のＣＯＷテーブル２４ａをチェックし、更新対象のストライプデータがＳＳＤ２６に記憶されているか否かを判定する（Ｓ１００１）。ここで、更新対象のストライプデータがＳＳＤ２６に記憶されている場合には、ＨＤＤ２５に移動すべきストライプデータがＳＳＤ２６に存在するため、データバックアップ装置２０の処理部２２はステップ１００２の処理に進む。一方、更新対象のストライプデータがＳＳＤ２６に記憶されていない場合には、ＨＤＤ２５に移動すべきストライプデータがＳＳＤ２６に存在しないため、データバックアップ装置２０の処理部２２は処理を終了する。
【００５３】
ステップ１００１からステップ１００２に進んだ場合には、データバックアップ装置２０の処理部２２は、ＳＳＤ２６から更新対象のストライプデータを読み出し、この更新対象のストライプデータをＨＤＤ２５に上書きする（Ｓ１００２）。これにより、バックアップデータが更新される。
【００５４】
次に、データバックアップ装置２０の処理部２２は、ストライプデータをＨＤＤ２５に書き込んだことに応じてＲＡＭ２４のＣＯＷテーブル２４ａを更新する。すなわち、データバックアップ装置２０の処理部２２は、ＲＡＭ２４のＣＯＷテーブル２４ａにおいてストライプデータの記憶先物理アドレスをＮＵＬＬに変更する。
【００５５】
本実施形態に係るデータ記憶装置１０によれば、ネットワーク３に異常があるためデータ記憶装置１０からデータバックアップ装置２０に更新対象のストライプデータを送信することができない場合には、データ記憶装置１０のＳＳＤ１６に更新対象のストライプデータを一時的に蓄積し、その後にネットワーク３が復旧してから、データ記憶装置１０からデータバックアップ装置２０に更新対象のストライプデータを送信する。これにより、ネットワーク３に異常が発生した場合でも、データバックアップ装置２０のバックアップデータを確実に更新することができる。
【００５６】
なお、本実施形態では、データ記憶装置１０は、データバックアップ装置２０にデータ送信可能であるか否かに拘らず、更新対象のストライプデータをＳＳＤ１６に蓄積しており（Ｓ６０２）、これにより、更新対象のストライプデータの送信処理をその他の処理から切り離して、データ記憶装置１０の処理の高速化を実現している。但し、他の実施形態では、データバックアップ装置２０にデータ送信可能である場合には、更新対象のストライプデータを直ちにデータバックアップ装置２０に送信することとし、データバックアップ装置２０にデータ送信不能であると判定した場合にのみ、更新対象のストライプデータをＳＳＤ１６に蓄積してもよい。
【００５７】
次に、図１１を参照して、データ記憶装置１０においてＲＡＭ１４にＣＯＷテーブル１４ａを保持できない異常が発生しした場合などの対処処理について説明する。ＲＡＩＤドライバ１２ｃは、ＲＡＭ１４にＣＯＷテーブル１４ａを保持できない異常が発生したことを検出した場合には、ＲＡＭ１４に記憶されているＣＯＷテーブル１４ａを直ちにＳＳＤ１６に書き込む。又は、ＲＡＩＤドライバ１２ｃは、ＲＡＭ１４に記憶されているＣＯＷテーブル１４ａを更新する度に、ＲＡＭ１４に記憶されているＣＯＷテーブル１４ａをＳＳＤ１６に予め書き込んでもよい。ここで、ＲＡＭ１４にＣＯＷテーブル１４ａを保持できない異常とは、例えば、データ記憶装置１０のＲＡＭ１４に障害が発生した場合や、ネットワークシステム１がダウンした場合などである。このような場合にＳＳＤ１６にＣＯＷテーブル１４ａを書き込むことにより、異常を修復した後にバックアップデータを確実に再現することができる。
【００５８】
なお、上述した実施形態において説明したＲＡＩＤドライバ１２ｃの処理は、他の実施形態では他のプログラムモジュールにより実施されてもよい。例えば、オペレーティングシステムがウィンドウズ（登録商標）である場合には、いわゆるフィルタドライバにより実施されてもよい。また、オペレーティングシステムがリナックス（登録商標）である場合には、いわゆるブロックディバイスにより実施されてもよい。
【図面の簡単な説明】
【００５９】
【図１】データ記憶装置およびデータバックアップ装置を含むネットワークシステムの概略図である。
【図２】データ記憶装置の処理部の機能ブロック図である。
【図３】データ記憶装置およびデータバックアップ装置のＲＡＩＤ構成を示す図である。
【図４】データ記憶装置のデータバックアップ処理を説明するための図である。
【図５】データバックアップ装置のデータバックアップ処理を説明するための図である。
【図６】データ記憶装置によるデータライト処理のフローチャートである。
【図７】データ記憶装置によるデータリード処理のフローチャートである。
【図８】データ記憶装置によるネットワーク送信処理のフローチャートである。
【図９】データバックアップ装置によるネットワーク受信処理のフローチャートである。
【図１０】データバックアップ装置によるデータ移動処理のフローチャートである。
【図１１】異常発生時の対処処理を説明するための図である。
【符号の説明】
【００６０】
１…ネットワークシステム、３…ネットワーク、１０…コンピュータ装置（データ記憶装置）、１１…ネットワークインターフェース、１２…処理部、１２ａ…アプリケーションソフトウェア、１２ｂ…ファイルシステム、１２ｃ…ＲＡＩＤドライバ、１３…ＣＰＵ、１４…ＲＡＭ、１４ａ…コピーオンライトテーブル、１５…ハードディスクドライブ、１６…ソリッドステートドライブ、２０…コンピュータ装置（データバックアップ装置）、２１…ネットワークインターフェース、２２…処理部、２３…ＣＰＵ、２４…ＲＡＭ、２４ａ…コピーオンライトテーブル、２５…ハードディスクドライブ、２６…ソリッドステートドライブ。
【図１】
2009129283.tif 000003
【図２】
2009129283.tif 000004
【図３】
2009129283.tif 000005
【図４】
2009129283.tif 000006
【図５】
2009129283.tif 000007
【図６】
2009129283.tif 000008
【図７】
2009129283.tif 000009
【図８】
2009129283.tif 000010
【図９】
2009129283.tif 000011
【図１０】
2009129283.tif 000012
【図１１】
2009129283.tif 000013