(57)【特許請求の範囲】
【請求項１】
記録手段に記録されたデータを復元するデータ復元方法であって、
記録すべきデータを、該記録データが記録される記録単位領域の数およびその先頭アドレスに基づき第１の記録手段に記録する毎に、この記録を行なった前記記録データ、記録単位領域の数、先頭アドレス、および記録時刻を第２の記録手段に記録し、
コンピュータからのデータの読み出し命令を受け付けて、前記第１の記録手段からデータを読み出し、
前記第１の記録手段からのデータの読み出しに失敗した場合、読み出しに失敗したデータの記録単位領域の先頭アドレスと数を含む情報を取得し、当該情報に基づいて読み出しに失敗したデータを前記第２の記録手段から読み出し、
前記第１の記録手段から読み出すことができたデータと、前記第２の記録手段から読み出したデータとをマージして、前記第１の記録手段に記憶されたデータを復元し、復元したデータを前記コンピュータに転送すること
を特徴とするデータ復元方法。
【請求項２】
記録手段に記録されたデータを復元するデータ復元システムであって、
記録すべきデータを、該記録データが記録される記録単位領域の数およびその先頭アドレスに基づき第１の記録手段に記録する毎に、この記録を行なった前記記録データ、記録単位領域の数、先頭アドレス、および記録時刻を第２の記録手段に記録するように制御する記録制御手段と、
コンピュータからのデータの読み出し命令を受け付けて、前記第１の記録手段からデータを読み出すデータ入出力手段と、
前記第１の記録手段からのデータの読み出しに失敗した場合、失敗したデータの記録単位領域の先頭アドレスと数を含む情報を取得し、当該情報に基づいて読み出しに失敗したデータを前記第２の記録手段から読み出すデータ復元手段と、を有し、
前記記録制御手段は、前記第１の記録手段から読み出すことができたデータと、前記第２の記録手段から読み出したデータとをマージして、前記第１の記録手段に記憶されたデータを復元し、復元したデータを前記コンピュータに転送すること
を特徴とするデータ復元システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、記録手段に記録されたデータを復元するデータ復元方法およびシステムに関し、更に詳しくは、データを記録する記録手段に関連するハードウェアおよびソフトウェアの障害または人的間違いを含む要因により生じるデータ欠損や間違いを復元するデータ復元方法およびシステムに関する。
【０００２】
【従来の技術】
この種の従来のデータ復元方法は、例えば「Paul Massiglia,The RAID Book 6thedition,Peer to Peer Communications,San Jose,1997」に記載されている。 この文献に記載されている従来のデータ復元方法では、複数の記録媒体を使用し、データの記録時に複数の記録媒体に同じデータを記録したり、または記録したいデータから計算により生成したパリティデータを記録するなどして記録データに冗長性を持たせ、複数の記録媒体のうちの、ある記録媒体のある記録単位からのデータが欠損したとしても、他の記録媒体に記録されているデータからその欠損した部分のデータを修復することにより、データの保護を行なっている。
【０００３】
【発明が解決しようとする課題】
上述した従来のデータ復元方法では、記録媒体上の物理的な欠損や信号を読み出すヘッドなどのハードウェア的なデータ読み出しエラーに対して、データの復元が可能なだけであり、例えばホストコンピュータのＯＳやアプリケーションの障害によって生成された間違ったデータの書き込み、またはユーザの勘違いなどによる間違ったデータの書き込みに対しては、データを復元することができないという問題がある。
【０００４】
本発明は、上記に鑑みてなされたもので、その目的とするところは、ハードウェア的障害のみでなく、ＯＳ、アプリケーションなどのシステム上で発生する障害や人的間違いによるデータの欠損を復元するデータ復元方法およびシステムを提供することにある。
【０００５】
上記目的を達成するため、第１の本発明は、記録手段に記録されたデータを復元するデータ復元方法であって、記録すべきデータを、該記録データが記録される記録単位領域の数およびその先頭アドレスに基づき第１の記録手段に記録する毎に、この記録を行なった前記記録データ、記録単位領域の数、先頭アドレス、および記録時刻を第２の記録手段に記録し、コンピュータからのデータの読み出し命令を受け付けて、前記第１の記録手段からデータを読み出し、前記第１の記録手段からのデータの読み出しに失敗した場合、読み出しに失敗したデータの記録単位領域の先頭アドレスと数を含む情報を取得し、当該情報に基づいて読み出しに失敗したデータを前記第２の記録手段から読み出し、前記第１の記録手段から読み出すことができたデータと、前記第２の記録手段から読み出したデータとをマージして、前記第１の記録手段に記憶されたデータを復元し、復元したデータを前記コンピュータに転送すること、を要旨とする。
【０００６】
第1の本発明にあっては、記録手段の物理的な欠損や信号を読み出すヘッドなどのハードウェア的なデータ読み出しエラーに対するデータの復元のみならず、ホストコンピュータのＯＳやアプリケーションの障害による間違ったデータの書き込みやユーザの勘違いなどによる間違ったデータの書き込みに対するデータの復元も適確に行なうことができる。
【０００７】
また、第２の本発明は、記録手段に記録されたデータを復元するデータ復元システムであって、記録すべきデータを、該記録データが記録される記録単位領域の数およびその先頭アドレスに基づき第１の記録手段に記録する毎に、この記録を行なった前記記録データ、記録単位領域の数、先頭アドレス、および記録時刻を第２の記録手段に記録するように制御する記録制御手段と、コンピュータからのデータの読み出し命令を受け付けて、前記第１の記録手段からデータを読み出すデータ入出力手段と、前記第１の記録手段からのデータの読み出しに失敗した場合、失敗したデータの記録単位領域の先頭アドレスと数を含む情報を取得し、当該情報に基づいて読み出しに失敗したデータを前記第２の記録手段から読み出すデータ復元手段と、を有し、前記記録制御手段は、前記第１の記録手段から読み出すことができたデータと、前記第２の記録手段から読み出したデータとをマージして、前記第１の記録手段に記憶されたデータを復元し、復元したデータを前記コンピュータに転送すること、を要旨とする。
【０００８】
第２の本発明にあっては、記録手段の物理的な欠損や信号を読み出すヘッドなどのハードウェア的なデータ読み出しエラーに対するデータの復元のみならず、ホストコンピュータのＯＳやアプリケーションの障害による間違ったデータの書き込みやユーザの勘違いなどによる間違ったデータの書き込みに対するデータの復元も適確に行なうことができる。
【０００９】
【発明の実施の形態】
以下、図面を用いて本発明の実施の形態を説明する。図１は、本発明の一実施形態に係るデータ復元方法を実施するデータ復元システムの構成を示すブロック図である。同図に示すデータ復元システムは、ホストコンピュータ１０１などで使用されるデータを記録する記録手段を構成する第１の記録媒体１０６および該第１の記録媒体１０６に記録されたデータが欠損した場合に該データを復元し得るように第１の記録媒体にデータが記録される毎に該データが記録される別の記録手段を構成する第２の記録媒体１０７を有する。
【００１０】
ホストコンピュータ１０１は、コントローラ１０２に接続され、更にコントローラ１０２からデータ入出力手段１０３を介して第１の記録媒体１０６に接続されるとともに、またコントローラ１０２から変更記録手段１０４またはデータ復元手段１０５を介して第２の記録媒体１０７に接続されている。
【００１１】
次に、図５〜図７に示すフローチャートを参照して、以上のように構成されるデータ復元システムの作用について説明する。
【００１２】
まず、図５を参照して、データ書き込み時の動作について説明する。
【００１３】
データの書き込み動作では、ホストコンピュータ１０１は、コントローラ１０２に対してデータ書き込み命令を転送する（ステップＳ１１）。コントローラ１０２は、ホストコンピュータ１０１からのデータ書き込み命令を受信すると、ホストコンピュータ１０１にデータ要求パケットを転送する（ステップＳ１３）。ホストコンピュータ１０１は、データ要求パケットを受信すると、記録すべきデータをコントローラ１０２に転送する（ステップＳ１５）。
【００１４】
コントローラ１０２は、ホストコンピュータ１０１からデータを受信すると、データ入出力手段１０３に対してデータ書き込み命令、データを書き込む第１の記録媒体１０６上の記録場所を示す番号である先頭ブロックアドレス、データ長、および記録すべきデータを転送するとともに（ステップＳ１７）、変更記録手段１０４に対して先頭ブロックアドレス、データ長、記録データ、および記録時間を転送する（ステップＳ２１）。
【００１５】
データ入出力手段１０３は、コントローラ１０２からデータ入出力手段１０３に対してデータ書き込み命令、データを書き込む第１の記録媒体１０６上の記録場所を示す番号である先頭ブロックアドレス、データ長、および記録データを受信すると、この記録データを先頭ブロックアドレスとデータ長で指定されるブロックアドレスの位置に記録する（ステップＳ１９）。
【００１６】
また、変更記録手段１０４は、コントローラ１０２から先頭ブロックアドレス、データ長、記録データ、および記録時間を受信すると、この先頭ブロックアドレス、データ長、記録データ、および記録時間を第２の記録媒体１０７上に記録作成されている図８に示すような変更記録表に記録し、これにより第１の記録媒体１０６からのデータ読み出し時に、例えばハードウェアやソフトウェアの障害や人的間違い等によるデータの欠損等のために第１の記録媒体１０６からデータを読み出すことができない場合などにおけるデータの復元に備えている（ステップＳ２３）。
【００１７】
なお、変更記録手段１０４は、図８に示すような変更記録表に記録データを記録する代わりに、例えば図９に示すような変更記録表に記録データの差分を記録してもよいものである。すなわち、図９に示す変更記録表は、変更記録手段１０４の制御により先頭ブロックアドレス、データ長、記録データの差分、および記録時間を記録している。また、図８および図９に示す変更記録表のレコード番号は明示的に表に書き入れてもよいし、または表を記録する記録媒体のブロックアドレスで代用してもよい。また、この変更記録表を例えばＺｉｖ−Ｌｅｍｐｅｌ符号のようなユニバーサル可逆符号で圧縮してもよいものである。
【００１８】
次に、図６に示すフローチャートを参照して、データ読み出し時の動作について説明する。
【００１９】
データ読み出し動作では、ホストコンピュータ１０１は、コントローラ１０２に対してデータ読み出し命令、読み出すべきデータの先頭ブロックアドレス、およびデータ長を転送する（ステップＳ３１）。コントローラ１０２は、データ読み出し命令、先頭ブロックアドレス、およびデータ長を受信すると、データ入出力手段１０３に対してデータ読み出し命令、先頭ブロックアドレス、およびデータ長を転送する（ステップＳ３３）。データ入出力手段１０３は、データ読み出し命令、ブロックアドレスを受信すると、第１の記録媒体１０６からデータの読み出しを行なう（ステップＳ３５）。
【００２０】
次に、データ入出力手段１０３は、このデータの読み出しが成功したか否かを判定し（ステップＳ３７）、データの読み出しに成功した場合には、この読み出したデータをコントローラ１０２に転送する（ステップＳ３９）。また、コントローラ１０２は、データ入出力手段１０３からデータを受信すると、このデータをホストコンピュータ１０１に転送する（ステップＳ４１）。
【００２１】
しかしながら、データ入出力手段１０３が第１の記録媒体１０６からのデータの読み出しに失敗した場合には、データ入出力手段１０３は、第１の記録媒体１０６から読み出すことができたデータをコントローラ１０２に転送するとともに、読み出しに失敗した先頭ブロックアドレスとデータ長をコントローラ１０２に報告する（ステップＳ４３）。なお、この場合、複数の失敗があった場合には、すべての失敗した先頭ブロックアドレスとデータ長をコントローラ１０２に報告する。
【００２２】
コントローラ１０２は、データ入出力手段１０３からの報告を受けると、データ読み出し命令、報告された先頭ブロックアドレス、およびデータ長をデータ復元手段１０５に転送する（ステップＳ４５）。データ復元手段１０５は、図８または図９に示す変更記録表から最新の変更データのレコードに記録されている前記先頭ブロックアドレスとデータ長に対応するデータを第２の記録媒体１０７から取得し、コントローラ１０２に転送する（ステップＳ４７）。
【００２３】
この場合、変更記録表として、図３に示すような記録データをそのまま記録した変更記録表を使用する場合において、例えば先頭ブロックアドレス１、データ長１のデータの読み出しに失敗した場合には、図８の変更記録表から「ａ」が取得されて送信されることになる。また、例えば先頭ブロックアドレス５、データ長３のデータ読み出しに失敗した場合には、図８の変更記録表から「４６８」が取得されて送信される。
【００２４】
また、変更記録表として、図９に示すような記録データの差分を記録した変更記録表を使用する場合において、例えば先頭ブロックアドレス５、データ長２のデータ読み出しに失敗した場合には、図９の変更記録表を使用して、記録時間の古いものから新しいものへ、先頭ブロックアドレス５でデータ長２のデータについて加算していき、ブロックアドレス５に対しては
２＋２＝４
の計算、ブロックアドレス６に対しては
３＋３＝６
の計算から「４６」が取得され、このデータ「４６」がデータ復元手段１０５からコントローラ１０２に送信されることになる。なお、ここでは、説明を簡単にするために数字として扱ったが実際はバイト単位、セクタ単位での加算等を行なうことになる。
【００２５】
コントローラ１０２は、データ復元手段１０５から受信したデータをデータ入出力手段１０３から得たデータとマージして、ホストコンピュータ１０１に転送する（ステップＳ４９）。
【００２６】
次に、図７に示すフローチャートを参照して、ホストコンピュータ１０１のＯＳやアプリケーションの障害によって生成された間違ったデータの書き込み、またはユーザの勘違いなどによる間違ったデータの書き込みを復元する動作について説明する。
【００２７】
ホストコンピュータ１０１上のデータ整合ソフトウェアによりまたは人的に間違ったデータが書き込まれたことを検出すると（ステップＳ６１）、データ整合ソフトウェアまたは人的にホストコンピュータ１０１からデータ復元命令、復元したいデータの記録時刻をコントローラ１０２に転送する（ステップＳ６３）。コントローラ１０２は、変更記録読み出し命令および記録時刻をデータ復元手段１０５に送信する（ステップＳ６５）。
【００２８】
データ復元手段１０５は、最後の書き込み時刻または最初の書き込み時刻（すなわち、最新の記録時刻または記録し始めた時刻）から復元したい記録時刻までの変更記録のレコードをコントローラ１０２に送信する（ステップＳ６７）。
【００２９】
コントローラ１０２は、データ復元手段１０５から前記変更記録のレコードを受信すると、この変更記録を基にデータ書き込み命令、先頭ブロックアドレス、データ長、およびデータをデータ入出力手段１０３に送信する（ステップＳ６９）。データ入出力手段１０３は、コントローラ１０２からデータ書き込み命令、先頭ブロックアドレス、データ長、およびデータを受信すると、先頭ブロックアドレスおよびデータ長で指定されるブロックアドレスの位置にデータを記録する（ステップＳ７１）。
【００３０】
また、コントローラ１０２は、変更記録手段１０４に対しても先頭ブロックアドレス、データ長、記録データ、および記録時刻を送信する（ステップＳ７３）。変更記録手段１０４は、コントローラ１０２から受信した先頭ブロックアドレス、データ長、記録データ、および記録時刻を図８に示す変更記録表にレコード番号を付して記録する（ステップＳ７５）。この場合、上記記録は例えばＺｉｖ−Ｌｅｍｐｅｌ符号のようなユニバーサル可逆符号で圧縮して記録してもよいものである。なお、コントローラ１０２はこの場合データを最新のものから順次書き換えるように転送し、所望の記録時刻のデータ書き換えまで行なう。
【００３１】
図２は、本発明の他の実施形態に係るデータ復元方法を実施するデータ復元システムの構成を示すブロック図である。同図に示すデータ復元システムは、図１に示した実施形態が第１の記録媒体１０６および第２の記録媒体１０７の２つの記録媒体を使用しているのに対して、この２つの記録媒体を集約した１つの記録媒体２０６を使用し、この１つの記録媒体に両方のデータを記録するように構成されている点が異なるのみであり、その他の構成および作用は図１に示す実施形態と同じである。
【００３２】
図３は、本発明の別の実施形態の係るデータ復元方法を実施するデータ復元システムの構成を示すブロック図である。同図に示すデータ復元システムは、図１に示した実施形態が第１の記録媒体１０６および第２の記録媒体１０７として同じ種類の記録媒体を使用しているのに対して、別の種類の記録媒体３０６と３０７を使用するように構成されている点が異なるのみであり、その他の構成および作用は図１に示した実施形態と同じである。
【００３３】
図４は、本発明の更に他の実施形態に係るデータ復元方法を実施する時刻指定型音声通知システムの構成を示すブロック図である。同図に示すデータ復元システムは、図２に示した実施形態の記録媒体２０６としてオートチェンジャ型のデータ蓄積装置４０６を使用した点が異なるものであり、その他の構成および作用は図１に示した実施形態と同じである。
【００３４】
なお、図１および図３に示したデータ復元システムのように、変更記録手段１０４で書き込む記録媒体が、記録データを書き込む記録媒体と別れている場合は、変更記録手段１０４で書き込む記録媒体は、ＷｒｉｔｅＯｎｃｅ型の大容量の記録媒体であることが好ましい。
【００３５】
また、図２および図４に示すデータ復元システムのように、変更記録手段１０４で書き込む記録媒体が記録データを書き込む記録媒体と１つに集約されている場合は、変更記録手段１０４で書き込む領域は、書き換えができないようになっていることが好ましい。例えば、データ入出力手段１０３、変更記録手段１０４、およびデータ復元手段１０５が１つのホスト上で別々のプロセスとして動作している場合は、変更記録表が変更記録手段１０４を実現するプロセスでのみ変更記録表への書き込み権があり、変更記録手段１０４のプロセス中から変更記録表を追加モードで書き込むようにすることで実現することができる。
【００３６】
【発明の効果】
以上説明したように、本発明によれば、データが記録される記録単位領域の数およびその先頭アドレスに基づきデータを記録手段に記録する毎に、この記録データ、記録単位領域の数、先頭アドレス、および記録時刻を別の記録手段に記録し、ハードウェアおよびソフトウェアの障害を含む要因によりデータを復元する必要がある場合、記録単位領域の先頭アドレスと数または記録時刻を含む情報に基づき別の記録手段からデータを読み出して復元するので、記録手段の物理的な欠損や信号を読み出すヘッドなどのハードウェア的なデータ読み出しエラーに対するデータの復元のみならず、ホストコンピュータのＯＳやアプリケーションの障害による間違ったデータの書き込みやユーザの勘違いなどによる間違ったデータの書き込みに対するデータの復元も適確に行なうことができる。
【図面の簡単な説明】
【図１】本発明の一実施形態に係るデータ復元方法を実施するデータ復元システムの構成を示すブロック図である。
【図２】本発明の他の実施形態に係るデータ復元方法を実施するデータ復元システムの構成を示すブロック図である。
【図３】本発明の別の実施形態に係るデータ復元方法を実施するデータ復元システムの構成を示すブロック図である。
【図４】本発明の更に他の実施形態に係るデータ復元方法を実施するデータ復元システムの構成を示すブロック図である。
【図５】図１〜図４に示す実施形態のデータ復元システムのデータ書き込み時の作用を示すフローチャートである。
【図６】図１〜図４に示す実施形態のデータ復元システムのデータ読み出し時の作用を示すフローチャートである。
【図７】図１〜図４に示す実施形態のデータ復元システムの間違ったデータ書き込みを復元する時の作用を示すフローチャートである。
【図８】図１〜図４に示す実施形態のデータ復元システムに使用される記録データをそのまま記録する場合の変更記録表を示す図である。
【図９】図１〜図４に示す実施形態のデータ復元システムに使用される記録データの差分を記録する場合の変更記録表を示す図である。
【符号の説明】
１０１  ホストコンピュータ
１０２  コントローラ
１０３  データ入出力手段
１０４  変更記録手段
１０５  データ復元手段
１０６，３０６  第１の記録媒体
１０７，３０７  第２の記録媒体
２０６  記録媒体
４０６  オートチェンジャ型データ蓄積装置
【図１】
0003869194.tif 000002
【図２】
0003869194.tif 000003
【図３】
0003869194.tif 000004
【図４】
0003869194.tif 000005
【図５】
0003869194.tif 000006
【図６】
0003869194.tif 000007
【図７】
0003869194.tif 000008
【図８】
0003869194.tif 000009
【図９】
0003869194.tif 000010