(57)【特許請求の範囲】
【請求項１】
バックアップの対象となるバックアップ対象記憶装置の記憶領域のデータを圧縮してバックアップするバックアップ装置であって、
前記記憶領域のうち未使用領域のデータをクリアし、前記記憶領域のデータをクリア済データとする未使用領域データクリア部と、
前記クリア済データを細分化したデータに対して、クリアされたデータであるか否かを判定する第１クリアデータ判定部と、
前記第１クリアデータ判定部がクリアされたデータであると判定した場合、予め算出したクリアされたデータのチェックコードであるクリアデータチェックコードを取得し、前記クリアデータチェックコードを用いて、信頼性検査を行うための第１チェックコード情報を生成する第１チェックコード生成部と、
前記第１クリアデータ判定部がクリアされたデータであると判定した場合、予め算出したクリアされたデータの圧縮結果であるクリアデータ圧縮データを取得し、前記クリアデータ圧縮データを用いて、圧縮されたデータである圧縮データを生成する圧縮データ生成部と、
前記圧縮データを展開し、展開データを生成する圧縮データ展開部と、
前記展開データを細分化したデータに対して、クリアされたデータであるか否かを判定する第２クリアデータ判定部と、
前記第２クリアデータ判定部がクリアされたデータであると判定した場合、予め算出した前記クリアデータチェックコードを取得し、前記クリアデータチェックコードを用いて、信頼性検査を行うための第２チェックコード情報を生成する第２チェックコード生成部と、
前記第１チェックコード情報と前記第２チェックコード情報を比較するチェックコード比較部と、
を備えることを特徴とするバックアップ装置。
【請求項２】
前記第１チェックコード生成部は、前記第１クリアデータ判定部がクリアされたデータでないと判定した場合、前記クリア済データを細分化したデータからチェックコードを算出し、前記クリアデータチェックコードまたは算出した前記チェックコードを用いて、信頼性検査を行うための第１チェックコード情報を生成し、
前記圧縮データ生成部は、前記第１クリアデータ判定部がクリアされたデータでないと判定した場合、前記クリア済データを細分化したデータから圧縮結果を算出し、前記クリアデータ圧縮データまたは前記圧縮結果を用いて、圧縮されたデータである圧縮データを生成し、
前記第２チェックコード生成部は、前記第２クリアデータ判定部がクリアされたデータでないと判定した場合、前記展開データを細分化したデータからチェックコードを算出し、前記クリアデータチェックコードまたは算出した前記チェックコードを用いて、信頼性検査を行うための第２チェックコード情報を生成する
ことを特徴とする請求項１に記載のバックアップ装置。
【請求項３】
前記圧縮データ展開部は、前記展開データを前記バックアップ対象記憶装置に記録し、
前記第２クリアデータ判定部は、前記バックアップ対象記憶装置に記録された前記展開データを取得し、取得して細分化したデータに対して、クリアされたデータであるか否かを判定する
ことを特徴とする請求項１に記載のバックアップ装置。
【請求項４】
前記チェックコードは、データを数値化して合計するチェックサムである
ことを特徴とする請求項１に記載のバックアップ装置。
【請求項５】
バックアップの対象となるバックアップ対象記憶装置の記憶領域のデータを圧縮してバックアップするバックアップ装置におけるバックアップ方法であって、
前記バックアップ装置の未使用領域データクリア部が、前記記憶領域のうち未使用領域のデータをクリアし、前記記憶領域のデータをクリア済データとする未使用領域データクリアステップと、
前記バックアップ装置の第１クリアデータ判定部が、前記クリア済データを細分化したデータに対して、クリアされたデータであるか否かを判定する第１クリアデータ判定ステップと、
前記バックアップ装置の第１チェックコード生成部が、前記第１クリアデータ判定部がクリアされたデータであると判定した場合、予め算出したクリアされたデータのチェックコードであるクリアデータチェックコードを取得し、前記クリアデータチェックコードを用いて、信頼性検査を行うための第１チェックコード情報を生成する第１チェックコード生成ステップと、
前記バックアップ装置の圧縮データ生成部が、前記第１クリアデータ判定部がクリアされたデータであると判定した場合、予め算出したクリアされたデータの圧縮結果であるクリアデータ圧縮データを取得し、前記クリアデータ圧縮データを用いて、圧縮されたデータである圧縮データを生成する圧縮データ生成ステップと、
前記バックアップ装置の圧縮データ展開部が、前記圧縮データを展開し、展開データを生成する圧縮データ展開ステップと、
前記バックアップ装置の第２クリアデータ判定部が、前記展開データを細分化したデータに対して、クリアされたデータであるか否かを判定する第２クリアデータ判定ステップと、
前記バックアップ装置の第２チェックコード生成部が、前記第２クリアデータ判定部がクリアされたデータであると判定した場合、予め算出した前記クリアデータチェックコードを取得し、前記クリアデータチェックコードを用いて、信頼性検査を行うための第２チェックコード情報を生成する第２チェックコード生成ステップと、
前記バックアップ装置のチェックコード比較部が、前記第１チェックコード情報と前記第２チェックコード情報を比較するチェックコード比較ステップと、
を含むことを特徴とするバックアップ方法。
【請求項６】
バックアップ対象記憶装置の記憶領域のデータを圧縮するバックアップ装置におけるデータ圧縮方法であって、
前記バックアップ装置の未使用領域データクリア部が、前記記憶領域のうち未使用領域のデータをクリアし、前記記憶領域のデータをクリア済データとする未使用領域データクリアステップと、
前記バックアップ装置の第１クリアデータ判定部が、前記クリア済データを細分化したデータに対して、クリアされたデータであるか否かを判定する第１クリアデータ判定ステップと、
前記バックアップ装置の第１チェックコード生成部が、前記第１クリアデータ判定部がクリアされたデータであると判定した場合、予め算出したクリアされたデータのチェックコードであるクリアデータチェックコードを取得し、前記クリアデータチェックコードを用いて、信頼性検査を行うための第１チェックコード情報を生成する第１チェックコード生成ステップと、
前記バックアップ装置の圧縮データ生成部が、前記第１クリアデータ判定部がクリアされたデータであると判定した場合、予め算出したクリアされたデータの圧縮結果であるクリアデータ圧縮データを取得し、前記クリアデータ圧縮データを用いて、圧縮されたデータである圧縮データを生成する圧縮データ生成ステップと、
を含むことを特徴とするデータ圧縮方法。
【請求項７】
請求項５に記載のバックアップ方法をコンピュータに実行させるためのバックアッププログラム。
【請求項８】
請求項６に記載のデータ圧縮方法をコンピュータに実行させるためのデータ圧縮プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データの圧縮と展開、信頼性検査に伴う時間を短縮するバックアップ装置、バックアップ方法、データ圧縮方法等の技術に関する。
【背景技術】
【０００２】
近年、電子計算機に搭載するＯＳ（Operating System）やシステムの複雑化に伴うプログラム量の増大、ＨＤＤ（Hard Disk Drive）の大容量化等により、データの記録・伝送の高速化が必要不可欠となっている。データ量の増加に加え、データの重要性も増してきており、バックアップの必要性や有効性が個人、企業関係なく浸透している。
【０００３】
バックアップデータのような膨大な量のデータを他の記憶媒体へ記録・伝送する際、記憶媒体の容量や伝送の効率を考慮すると、圧縮してより少ないデータにすることが望ましい。データ圧縮方法には、データを復元した際に、完全に元に戻る可逆圧縮(ロスレス圧縮)と、完全には元に戻らない非可逆圧縮(ロッシー圧縮)の二種類が存在する。映像や音声等、多少のデータの欠損や改変があっても、全く意味が変わってしまうことがないデータを除き、圧縮には可逆圧縮を用いる必要がある。
可逆圧縮に用いられるアルゴリズムとしては、ランレングス符号化やハフマン符号化等が広く知られている。特に、Lempel-Ziv符号化は、通常のデータセットにおいてランレングス符号化やハフマン符号化よりも優れた圧縮率を実現している。
【０００４】
また、可逆圧縮でデータを圧縮および展開する場合、圧縮前のデータと展開後のデータが一致することを確認する信頼性検査の作業が必要である。信頼性検査の方法として、誤り検出方法の１つであるチェックサムを算出する方法が知られている。この方法は、圧縮前のデータを分割し、分割したデータを数値とみなして合計値を算出する。算出された値（チェックサム）と圧縮後に展開されたデータから算出したチェックサムとが一致するか否かの検査を実施し、圧縮から展開までの過程での誤りを検出することができる。
チェックサムを算出するアルゴリズムとしては、全データをバイト単位で加算する単純な方法から、広義な意味のチェックサムとして、ハッシュ関数を用いる方法が存在する。
ハッシュ関数は、与えられた値から固定長のデータを生成するが、一方向関数であり、逆変換できない。
よって、算出した値から原文を再現することはできず、また、同じハッシュ値を持つ異なるデータを作成することも極めて困難であり、現実的には不可能となることから誤り検出に利用されている。ハッシュ関数を用いてチェックサムを算出する方法として、ＭＤ５（Message Digest 5）やSHA-1(Secure Hash Algorithm-1)が知られている。
【０００５】
一般的に、上記圧縮技術を用いた記憶媒体のデータのバックアップにおいて、ファイル単位ではなくＯＳを含めた記憶媒体の全データをセクタ単位でバックアップするためには、記憶媒体の先頭から随時読み込みを行い、読み込んだデータの圧縮を行う必要がある。また、データ復元時の信頼性検査としてチェックサムの作成も必要となる。よって、バックアップデータは、圧縮された記憶媒体全体のデータとチェックサムの２つからなる。
データ展開時には、圧縮データを展開し、記憶媒体の先頭から書き込みを行う。書き込んだデータを再度読み込み、チェックサムを計算してデータ圧縮時に作成したチェックサムと比較することで、圧縮および展開、書き込み時のデータ化けがないか検査を実施している（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００８−１７６４２０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
このように、データの圧縮および展開、信頼性検査を行う場合、電子計算機へ実装する記憶媒体の大容量化に伴う処理時間の増加は避けることができない。特に、記憶媒体全体のデータが処理の対象となる場合は、ＯＳが未使用の記憶領域に対しても、データの圧縮を行わなければならない。一般的に、ＯＳが未使用の記憶領域であっても、一度使用されたことがある記憶領域には不規則なデータの羅列が記憶されているため、データの圧縮率は使用している領域と変わらない。
【０００８】
また、記憶媒体全体のデータのバックアップでは、未使用の記憶領域に対してもチェックサムの算出を行わなければならず、大容量記憶媒体に対する圧縮率と圧縮および展開、チェックサムの計算に時間がかかることが問題となっている。
【０００９】
そこで、本発明は、前記問題に鑑みてなされたものであり、データの圧縮および展開、信頼性検査に伴う時間を短縮するバックアップ装置、バックアップ方法、データ圧縮方法、バックアッププログラムおよびデータ圧縮プログラムを提供することを課題とする。
【課題を解決するための手段】
【００１０】
前記課題を解決するために、本発明のバックアップ装置は、バックアップの対象となるバックアップ対象記憶装置の記憶領域のデータを圧縮してバックアップするバックアップ装置であって、前記記憶領域のうち未使用領域のデータをクリアし、前記記憶領域のデータをクリア済データとする未使用記憶領域データクリア部と、前記クリア済データを細分化したデータに対して、クリアされたデータであるか否かを判定する第１クリアデータ判定部と、前記第１クリアデータ判定部がクリアされたデータであると判定した場合、予め算出したクリアされたデータのチェックコードであるクリアデータチェックコードを取得し、前記第１クリアデータ判定部がクリアされたデータでないと判定した場合、前記クリア済データを細分化したデータからチェックコードを算出し、信頼性検査を行うための第１チェックコード情報を生成する第１チェックコード生成部と、前記第１クリアデータ判定部がクリアされたデータであると判定した場合、予め算出したクリアされたデータの圧縮結果であるクリアデータ圧縮データを取得し、前記第１クリアデータ判定部がクリアされたデータでないと判定した場合、前記クリア済データを細分化したデータから圧縮結果を算出し、圧縮されたデータである圧縮データを生成する圧縮データ生成部と、前記圧縮データを展開し、展開データを生成する圧縮データ展開部と、前記展開データを細分化したデータに対して、クリアされたデータであるか否かを判定する第２クリアデータ判定部と、前記第２クリアデータ判定部がクリアされたデータであると判定した場合、予め算出した前記クリアデータチェックコードを取得し、前記第２クリアデータ判定部がクリアされたデータでないと判定した場合、前記展開データを細分化したデータからチェックコードを算出し、信頼性検査を行うための第２チェックコード情報を生成する第２チェックコード生成部と、前記第１チェックコード情報と前記第２チェックコード情報を比較するチェックコード比較部と、を備えることを特徴とする。
【発明の効果】
【００１１】
本発明によれば、データの圧縮および展開、信頼性検査に伴う時間を短縮することができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施形態におけるバックアップ装置の構成を示すブロック図である。
【図２】本発明の実施形態における第１チェックサム情報の一例を示す図である。
【図３】本発明の実施形態におけるバックアップ装置の未使用領域データクリア部による未使用領域データクリア処理の動作を示すフローチャートである。
【図４】本発明の実施形態におけるバックアップ装置の第１クリアデータ判定部および第１チェックサム生成部による第１チェックサム情報生成処理の動作を示すフローチャートである。
【図５】本発明の実施形態におけるバックアップ装置の第１クリアデータ判定部および圧縮データ生成部による圧縮データ生成処理の動作を示すフローチャートである。
【図６】本発明の実施形態におけるバックアップ装置の圧縮データ展開部、第２クリアデータ判定部、第２チェックサム生成部およびチェックサム比較部による圧縮データ展開処理の動作を示すフローチャートである。
【発明を実施するための形態】
【００１３】
以下、本発明の実施形態について、図１〜図６を参照して説明する。なお、各図において、共通する部分には同一の符号を付し重複した説明を省略する。
図１に示すように、バックアップ装置１は、バックアップ対象記憶装置２のデータのバックアップを取るために、バックアップ対象記憶装置２のデータを圧縮してバックアップ記憶装置３に記憶させるものである。
また、バックアップ装置１は、バックアップ記憶装置３に記憶させた圧縮したデータを展開し、バックアップ対象記憶装置２に再び記録し、信頼性検査を行うものである。
なお、バックアップ対象記憶装置２の記憶領域には、ファイルとして存在するデータを記憶している使用領域と、いわゆる空き領域である未使用領域とがある。バックアップ装置１は、バックアップ対象記憶装置２の未使用領域も含めた記憶領域全体のデータをバックアップするものである。
バックアップ対象記憶装置２は、バックアップの対象となるデータが記憶された記憶媒体であり、例えば、ＨＤＤ（Hard Disk Drive）やＳＳＤ（Solid State Drive）等である。バックアップ対象記憶装置２は、電子計算機に実装されていてもよい。
バックアップ記憶装置３は、バックアップのデータを記憶する記憶媒体であり、バックアップ装置１の外部にあってもよいし、内部にあってもよい。
【００１４】
［バックアップ装置１の構成］
図１に示すように、バックアップ装置１は、未使用領域データクリア部１１と、記憶部１２と、第１クリアデータ判定部１３と、第１チェックサム生成部１４と、圧縮データ生成部１５と、圧縮データ展開部１６と、第２クリアデータ判定部１７と、第２チェックサム生成部１８と、チェックサム比較部１９と、を備える。
【００１５】
未使用領域データクリア部１１は、バックアップ対象記憶装置２の未使用領域のデータをクリアするものである。
ここで、未使用領域のデータをクリアすることについて説明する。データの圧縮は、一般的に、規則的なデータの羅列に対しては圧縮率が高く、ランダムなデータの羅列に対しては圧縮率が低い傾向にある。ＯＳが未使用と判断した記憶領域であっても、一度使用されたことがある記憶領域には、不規則なデータの羅列が記憶されたままとなっている。そのため、未使用領域は、未使用であっても圧縮率が比較的低い記憶領域といえる。そこで、未使用領域に規則的なデータの羅列を記憶させ、この未使用領域のデータの圧縮率を高めるのである。このように、未使用領域に規則的なデータの羅列を記憶させることを、未使用領域のデータをクリアするという。
【００１６】
未使用領域のデータをクリアする方法は、未使用領域に例えば、内容が０の羅列である一定量のバイナリファイルを作成することにより行う。このファイルを未使用領域すべてについて作成する。その後、これらのバイナリファイルをすべて削除して再び未使用領域としておく。すると、この未使用領域には、０の羅列が記憶された状態となる。
これにより、圧縮対象であるバックアップ対象記憶装置２の未使用領域については、規則的なデータの羅列が記憶された状態となるため、データをクリアする前の不規則なデータの羅列を圧縮するよりも、圧縮率の向上の効果を得ることができる。
なお、データをクリアする処理が施された未使用領域と、使用領域とを含めたバックアップ対象記憶装置２の記憶領域全体のデータを、クリア済データという。
【００１７】
記憶部１２は、後記するクリアデータチェックサム１２１と、クリアデータ圧縮データ１２２とを記憶するものである。
クリアデータチェックサム１２１は、規則的なデータの羅列のチェックサムである。例えば、クリアデータチェックサム１２１は、一定量の０の羅列のチェックサムである。したがって、このクリアデータチェックサム１２１は、予め計算しておくことができる。
クリアデータ圧縮データ１２２は、規則的なデータの羅列の圧縮結果である。したがって、このクリアデータ圧縮データ１２２も、予め計算しておくことができる。
【００１８】
第１クリアデータ判定部１３は、クリア済データを細分化したデータを取得し、クリア済データを細分化したデータに対して、クリアされたデータであるか否かを判定するものである。クリア済データを細分化したデータとは、クリア済データを、チェックサム算出のために適当な間隔で区切ったデータである。クリアされたデータであるか否かを判定する方法は、クリア済データを細分化したデータが、規則的なデータの羅列であるか否かを判定することにより行う。例えば、第１クリアデータ判定部１３は、クリア済データを細分化したデータが、０の羅列のみからなる場合は、クリアされたデータであると判定する。したがって、クリア済データの中のデータであって、元々は使用領域に記憶されていたデータであっても、細分化されたことにより、０の羅列のみとなったデータは、クリアされたデータであると判定される。
【００１９】
第１チェックサム生成部１４は、クリア済データを細分化したデータがクリアされたデータであると判定された場合は、予め算出しておいたクリアデータチェックサム１２１を取得し、クリア済データを細分化したデータがクリアされたデータでないと判定された場合は、クリア済データを細分化したデータに対するチェックサムを演算により算出するものである。チェックサムを演算により算出する方法は、従来技術により、種々の方法があり、例えば、クリア済データを細分化したデータを数値とみなして、合計値を算出することにより行う。
【００２０】
これにより、第１クリアデータ判定部１３がクリアされたデータか否か判定する判定処理は多くなるが、チェックサムを算出する処理を大幅に減らすことができる。チェックサムを算出する処理の方が判定処理よりも全体の必要時間に与える影響は大きい。したがって、クリア済データ全体のチェックサムを算出するのに必要な時間を短縮することができる。
【００２１】
また、第１チェックサム生成部１４は、取得したクリアデータチェックサム１２１または算出したチェックサムを、第１チェックサム情報３１へ追加し、第１チェックサム情報３１を生成する。
ここで、第１チェックサム情報３１について、図２を参照して説明する。
図２に示すように、第１チェックサム情報３１には、チェックサムを算出したバックアップ対象記憶装置２の所定の記憶領域区間ごと（つまり、クリア済データを細分化したデータごと）にチェックサム算出開始アドレス３１１が記述される。所定の記憶領域区間は、例えば、セクタごとである。チェックサムは、通常は、符号３１２に示すチェックサムのように、異なる値となる。一方、クリアされたデータであると判定されたデータのチェックサムは、符号３１３に示すチェックサムのように、同一の値（つまり、クリアデータチェックサム１２１）となる。
なお、本明細書等において、チェックサムとは、チェックコードの概念に含まれるものである。
【００２２】
圧縮データ生成部１５は、クリア済データを細分化したデータがクリアされたデータであると判定された場合は、予め算出しておいたクリアデータ圧縮データ１２２を取得し、クリア済データを細分化したデータがクリアされたデータでないと判定された場合は、クリア済データを細分化したデータを使用して圧縮データを圧縮処理により算出するものである。圧縮データを圧縮処理により算出する方法は、従来技術により、種々の方法があり、例えば、Lempel-Ziv符号化等の圧縮アルゴリズムを用いることにより行う。
【００２３】
これにより、クリアされたデータであると判定されたデータに対しては、時間のかかる圧縮処理をせずとも、圧縮結果を得ることができ、データ圧縮にかかる時間を短縮することができる。
【００２４】
また、圧縮データ生成部１５は、取得したクリアデータ圧縮データ１２２または算出した圧縮データを、圧縮データ３２へ追加し、圧縮データ３２を生成する。
【００２５】
圧縮データ展開部１６は、圧縮データ３２を取得し、圧縮データ３２を展開するものである。展開されたデータを展開データという。また、圧縮データ展開部１６は、展開データをバックアップ対象記憶装置２へ記録するものである。
第２クリアデータ判定部１７は、展開データを細分化したデータを取得し、展開データを細分化したデータに対して、クリアされたデータであるか否かを判定するものである。判定する方法は、第１クリアデータ判定部１３と同様であるため、説明を省略する。
【００２６】
第２チェックサム生成部１８は、第１チェックサム生成部１４と同様の方法で第２チェックサム情報２１を生成するものである。すなわち、展開データを細分化したデータがクリアされたデータであると判定された場合は、予め算出しておいたクリアデータチェックサム１２１を取得し、展開データを細分化したデータがクリアされたデータでないと判定された場合は、展開データを細分化したデータに対するチェックサムを演算により算出するものである。
これにより、展開データ全体のチェックサムを算出するのに必要な時間を短縮することができる。
なお、このときのチェックサム算出のための演算は、圧縮時のチェックサム算出のための演算と同一である。また、展開データの細分化は、圧縮時のチェックサム算出の際にクリア済データを細分化した区間に合わせる。
【００２７】
チェックサム比較部１９は、第１チェックサムと第２チェックサムとが一致しているか否かを判定するものである。第１チェックサムと第２チェックサムとが一致していれば、細分化された当該区間におけるデータは、誤りなく復元されたことになる。一方、第１チェックサムと第２チェックサムとが一致していなければ、データの圧縮や展開時に問題があると考えられるため、バックアップ装置１は、図示しない出力装置にエラーを出力する。
【００２８】
なお、バックアップ装置１は、図示を省略したＣＰＵ（Central Processing Unit）やメモリを搭載した一般的なコンピュータで実現することができる。このとき、バックアップ装置１は、コンピュータを、前記した各機能部として機能させるバックアッププログラム、データ圧縮プログラムによって動作する。
また、第１クリアデータ判定部１３と第２クリアデータ判定部１７とは、同一のモジュール等で実現することができる。また、第１チェックサム生成部１４と第２チェックサム生成部１８とは、同一のモジュール等で実現することができる。
【００２９】
［バックアップ装置１の動作］
次に、バックアップ装置１の動作について図３〜図６（構成は適宜図１）を参照して説明する。
（未使用領域データクリア処理）
この処理は、バックアップ対象記憶装置２の未使用の記憶領域のデータをクリアする処理である。
【００３０】
図３のフローチャートに示すように、ステップＳ１０１において、未使用領域データクリア部１１は、バックアップ対象記憶装置２の未使用の記憶領域に、データをクリアするためのファイルを作成する。このファイルは、前記したように、例えば、内容が０の羅列である一定量のバイナリファイルである。
ステップＳ１０２において、未使用領域データクリア部１１は、ファイルの作成が成功したか否かを判定する。
【００３１】
ファイルの作成が成功したと判定した場合は（ステップＳ１０２・Ｙｅｓ）、ステップＳ１０１に戻って、未使用領域データクリア部１１は、データをクリアするためのファイルの作成を続ける。
一方、ファイルの作成が成功しなかったと判定した場合は（ステップＳ１０２・Ｎｏ）、未使用領域データクリア部１１は、未使用の記憶領域すべてにファイルが作成されたと判断し、ステップＳ１０３において、未使用領域データクリア部１１は、データをクリアするために作成したファイルのすべてを削除する。
以上により、未使用領域データクリア部１１によって、バックアップ対象記憶装置２にクリア済データが生成される。
【００３２】
（第１チェックサム情報生成処理）
この処理は、第１チェックサム情報３１を生成する処理である。また、バックアップ装置１は、この処理を、バックアップ対象記憶装置２の未使用領域のデータをクリアした後に行う。
【００３３】
図４のフローチャートに示すように、ステップＳ２０１において、第１クリアデータ判定部１３は、クリア済データを細分化したデータを取得する。
ステップＳ２０２において、第１クリアデータ判定部１３は、クリア済データを細分化したデータに対して、クリアされたデータであるか否かを判定する。
【００３４】
クリアされたデータであると判定した場合は（ステップＳ２０２・Ｙｅｓ）、ステップＳ２０３において、第１チェックサム生成部１４は、予め算出したクリアデータチェックサム１２１を取得する。
一方、クリアされたデータでないと判定した場合は（ステップＳ２０２・Ｎｏ）、ステップＳ２０４において、第１チェックサム生成部１４は、クリア済データを細分化したデータからチェックサムを算出する。
【００３５】
ステップＳ２０５において、第１チェックサム生成部１４は、ステップＳ２０３で取得したクリアデータチェックサム１２１またはステップＳ２０４で算出したチェックサムを、第１チェックサム情報３１へ追加し、第１チェックサム情報３１を生成する。
ステップＳ２０６において、第１チェックサム生成部１４は、全記憶領域のデータに対して実施したか否かを判定する。
【００３６】
全記憶領域のデータに対して実施していないと判定した場合は（ステップＳ２０６・Ｎｏ）、ステップＳ２０１に戻って、バックアップ装置１は、処理を続ける。
一方、全記憶領域のデータに対して実施したと判定した場合は（ステップＳ２０６・Ｙｅｓ）、バックアップ装置１は、第１チェックサム情報生成処理を終了する。
【００３７】
（圧縮データ生成処理）
この処理は、バックアップ用の圧縮データを生成する処理である。また、バックアップ装置１は、この処理を、第１チェックサム情報生成処理と並行して行うことができる。
【００３８】
図５のフローチャートに示すように、ステップＳ３０１において、第１クリアデータ判定部１３は、クリア済データを細分化したデータを取得する。
ステップＳ３０２において、第１クリアデータ判定部１３は、クリア済データを細分化したデータに対して、クリアされたデータであるか否かを判定する。
【００３９】
クリアされたデータであると判定した場合は（ステップＳ３０２・Ｙｅｓ）、ステップＳ３０３において、圧縮データ生成部１５は、予め算出したクリアデータ圧縮データ１２２を取得する。
一方、クリアされたデータでないと判定した場合は（ステップＳ３０２・Ｎｏ）、ステップＳ３０４において、圧縮データ生成部１５は、クリア済データを細分化したデータから圧縮データを圧縮処理により算出する。
【００４０】
ステップＳ３０５において、圧縮データ生成部１５は、ステップＳ３０３で取得したクリアデータ圧縮データ１２２またはステップＳ３０４で算出した圧縮データを、圧縮データ３２へ追加し、圧縮データ３２を生成する。
ステップＳ３０６において、圧縮データ生成部１５は、全記憶領域のデータに対して実施したか否かを判定する。
【００４１】
全記憶領域のデータに対して実施していないと判定した場合は（ステップＳ３０６・Ｎｏ）、ステップＳ３０１に戻って、バックアップ装置１は、処理を続ける。
一方、全記憶領域のデータに対して実施したと判定した場合は（ステップＳ３０６・Ｙｅｓ）、バックアップ装置１は、圧縮データ生成処理を終了する。
【００４２】
（圧縮データ展開処理）
この処理は、バックアップ用の圧縮データを用いてバックアップ対象記憶装置２へデータを復元し、圧縮前のデータと展開後のデータが一致しているかを確認する信頼性検査を行う処理である。
【００４３】
図６のフローチャートに示すように、ステップＳ４０１において、圧縮データ展開部１６は、圧縮データ３２を取得する。
ステップＳ４０２において、圧縮データ展開部１６は、圧縮データ３２を展開し、展開データを生成する。
ステップＳ４０３において、圧縮データ展開部１６は、展開データをバックアップ対象記憶装置２へ記録する。
【００４４】
ステップＳ４０４において、第２クリアデータ判定部１７および第２チェックサム生成部１８は、第２チェックサム情報生成処理を実行する。これにより、第２チェックサム情報２１が生成される。なお、第２チェックサム情報生成処理は、第１チェックサム情報生成処理と同様であるため（図４参照）、説明を省略する。
ステップＳ４０５において、チェックサム比較部１９は、第１チェックサムと第２チェックサムとが一致しているか否かを判定する。
【００４５】
第１チェックサムと第２チェックサムとが一致していると判定した場合（ステップＳ４０５・Ｙｅｓ）、ステップＳ４０６において、圧縮データ展開部１６は、圧縮データ３２をすべて展開したか否か判定する。
圧縮データをすべて展開していないと判定した場合は（ステップＳ４０６・Ｎｏ）、ステップＳ４０１に戻って、バックアップ装置１は、処理を続ける。
一方、圧縮データをすべて展開したと判定した場合は（ステップＳ４０６・Ｙｅｓ）、バックアップ装置１は、圧縮データ展開処理を終了する。
【００４６】
ステップＳ４０５において、第１チェックサムと第２チェックサムとが一致していないと判定した場合（ステップＳ４０５・Ｎｏ）、ステップＳ４０７において、バックアップ装置１は、図示しない出力装置にエラーを出力する。
【００４７】
以上の動作によって、圧縮率向上の効果を得ることができる。また、特別なアルゴリズムを用いておらず、圧縮アルゴリズムに関係なく実施することができる。
また、圧縮時において、クリアされたデータと判定されたデータについては、チェックサムの算出処理をしなくとも、チェックサムを特定することができ、チェックサム算出にかかる時間を短縮することができる。
また、圧縮時において、クリアされたデータと判定されたデータについては、データの圧縮処理をしなくとも、圧縮結果のデータを特定することができ、データ圧縮にかかる時間を短縮することができる。
また、展開時において、クリアされたデータと判定されたデータについては、チェックサムの算出処理をしなくとも、チェックサムを特定することができ、チェックサム算出にかかる時間を短縮することができる。
【００４８】
本実施形態により、記憶領域の圧縮率を向上させることで、圧縮したデータの記録・伝送に必要な処理時間の短縮や、記録するメディアの容量を削減することができる。
また、電子計算機へ実装する記憶媒体のデータの圧縮および展開、信頼性検査の作業において、処理時間短縮の効果を得ることができ、記憶媒体の大容量化による処理時間の増加を軽減することができる。
【００４９】
＜変形例＞
以上、本発明の一実施形態について説明したが、本発明はこれに限定されず、本発明の趣旨を逸脱しない範囲で変更することができる。
【００５０】
本発明の実施形態では、フローチャートのステップは、記載された順序に沿って時系列的に行われる処理の例を示したが、必ずしも時系列的に処理されなくとも、並列的あるいは個別実行される処理をも含むものである。
例えば、ステップＳ４０３とステップＳ４０４とは、並列に行うこととしてもよい。すなわち、バックアップ装置１は、展開データをバックアップ対象記憶装置２へ記録するとともに、第２チェックサム情報生成処理を実行することとしてもよい。
【００５１】
また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【符号の説明】
【００５２】
１      バックアップ装置
２      バックアップ対象記憶装置
３      バックアップ記憶装置
１１    未使用領域データクリア部
１２    記憶部
１３    第１クリアデータ判定部
１４    第１チェックサム生成部（第１チェックコード生成部）
１５    圧縮データ生成部
１６    圧縮データ展開部
１７    第２クリアデータ判定部
１８    第２チェックサム生成部（第２チェックコード生成部）
１９    チェックサム比較部（チェックコード比較部）
２１    第２チェックサム情報（第２チェックコード情報）
３１    第１チェックサム情報（第１チェックコード情報）
３２    圧縮データ
１２１  クリアデータチェックサム（クリアデータチェックコード）
１２２  クリアデータ圧縮データ
３１１  チェックサム算出開始アドレス
３１２  通常のチェックサム
３１３  クリアされたデータと判定されたデータのチェックサム
【図１】
0005492103.tif 000002
【図２】
0005492103.tif 000003
【図３】
0005492103.tif 000004
【図４】
0005492103.tif 000005
【図５】
0005492103.tif 000006
【図６】
0005492103.tif 000007