(57)【要約】【課題】データの書き込み時に、データのハッシュ値も書き込むことが必要なデータ書き込み装置において、優先度の高いデータの書き込み処理時間を短くする。【解決手段】識別情報生成手段61は、書き込みデータの内容に応じた識別情報（ハッシュ値など）を生成する。記憶装置群63は、速度の異なる複数の記憶装置61-1〜61-nから構成されている。書き込み手段62は、書き込みデータを複数の記憶装置61-1〜61-nの内の所定の記憶装置に書き込むと共に、識別情報生成手段61で生成された識別情報を複数の記憶装置61-1〜61-nの内の上記書き込みデータの優先度に応じた記憶装置に書き込む。【選択図】図６
2013058133.tif 000002
【特許請求の範囲】
【請求項１】
書き込みデータの内容に応じた識別情報を生成する識別情報生成手段と、
速度の異なる複数の記憶装置から構成される記憶装置群と、
前記書き込みデータを前記複数の記憶装置の内の所定の記憶装置に書き込むと共に、前記識別情報生成手段で生成された識別情報を前記複数の記憶装置の内の前記書き込みデータの優先度に応じた記憶装置に書き込む書き込み手段とを備えたことを特徴とするデータ書き込み装置。
【請求項２】
請求項１記載のデータ書き込み装置において、
前記書き込みデータは、ユーザが希望する書き込み処理時間が短いものほど、高い優先度を有することを特徴とするデータ書き込み装置。
【請求項３】
請求項１または２記載のデータ書き込み装置において、
前記書き込み手段は、優先度が高い書き込みデータの識別情報ほど、速度が速い記憶装置に書き込むことを特徴とするデータ書き込み装置。
【請求項４】
請求項１乃至３の何れか１項に記載のデータ書き込み装置において、
前記識別情報生成手段は、前記書き込みデータの優先度に応じた長さの識別情報を生成することを特徴とするデータ書き込み装置。
【請求項５】
請求項４記載のデータ書き込み装置において、
前記識別情報生成手段は、優先度が高い書き込みデータほど、長さの短い識別情報を生成することを特徴とするデータ書き込み装置。
【請求項６】
請求項１乃至５の何れか１項に記載のデータ書き込み装置において、
前記書き込みデータの識別情報は、前記書き込みデータのハッシュ値であることを特徴とするデータ書き込み装置。
【請求項７】
速度の異なる複数の記憶装置から構成される記憶装置群と、識別情報生成手段と、書き込み手段とを備えたコンピュータが実行するデータ書き込み方法であって、
前記識別情報生成手段が、書き込みデータの内容に応じた識別情報を生成し、
前記書き込み手段が、前記書き込みデータを前記複数の記憶装置の内の所定の記憶装置に書き込むと共に、前記識別情報生成手段で生成された識別情報を前記複数の記憶装置の内の前記書き込みデータの優先度に応じた記憶装置に書き込むことを特徴とするデータ書き込み方法。
【請求項８】
速度の異なる複数の記憶装置から構成される記憶装置群を備えたコンピュータをデータ書き込み装置として機能させるためのプログラムであって、
前記コンピュータを、
書き込みデータの内容に応じた識別情報を生成する識別情報生成手段、
前記書き込みデータを前記複数の記憶装置の内の所定の記憶装置に書き込むと共に、前記識別情報生成手段で生成された識別情報を前記複数の記憶装置の内の前記書き込みデータの優先度に応じた記憶装置に書き込む書き込み手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データを記憶装置に書き込む際、データのハッシュ値など、データの内容に応じた識別情報も記憶装置に書き込むデータ書き込み装置に関する。
【背景技術】
【０００２】
データを記憶装置に書き込む際、そのハッシュ値などの識別情報も併せて記憶装置に書き込むということが行われている（例えば、特許文献１参照）。この特許文献１に記載されている技術では、データを記憶装置に書き込む際、そのハッシュ値を算出し、データに設定（付加）しておく。そして、重複データの排除時に、データに付加されているハッシュ値を比較し、同一のハッシュ値が付加されているデータは重複データであると判定し、所定の排除処理を行う。排除処理としては、例えば、重複する２つのデータの内の一方のデータを削除するといった処理や、重複する２つのデータの内の一方の内容を他方のデータへのリンクに書き換えるといった処理を挙げることができる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−２５１７２５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に記載されている技術は、データのハッシュ値を利用して記憶装置内に存在する重複データを排除するようにしている。しかし、特許文献１に記載されている技術では、計算機が備えている複数階層の記憶装置の内の下位階層の記憶装置（ディスク装置）に、重複データ排除処理に使用するハッシュ値を記録するようにしているため、ハッシュ値の書き込みに時間がかかり、入出力性能が低下してしまうという問題がある。
【０００５】
このような問題を解決するためには、速度の速い上位階層の記憶装置（キャッシュメモリやメモリ）に、ハッシュ値とそのハッシュ値がどのデータのものなのかを示す情報（データ識別情報）とを記録するようにすることが考えられる。そして、上位階層の記憶装置だけではハッシュ値、データ識別情報を記録できなくなった場合には更に中位階層の記憶装置を使用し、中位階層の記憶装置を使用してもハッシュ値、データ識別情報を記録できなくなった場合には更に下位階層の記憶装置を使用することが考えられる。
【０００６】
ところで、記憶装置に記録するデータには、書き込み処理が短時間で完了することが望まれるデータもあれば、そうでないデータもある。従って、上記したように、記憶装置に記録したデータのハッシュ値、データ識別情報を上位階層の記憶装置に記録し、上位階層の記憶装置だけではハッシュ値、データ識別情報を記録できなくなった場合には、中位階層の記憶装置に記録し、中位階層の記憶装置を使用してもハッシュ値、データ識別情報を記録できなくなった場合には下位階層の記憶装置に記録するという方法では、書き込み処理が短時間で完了することが望まれるデータの書き込み処理時間が長くなってしまう場合があるという問題がある。
【０００７】
[発明の目的]
そこで、本発明の目的は、データの書き込み時にハッシュ値などの識別情報も書き込むことが必要になるデータ書き込み装置において、書き込み処理を短時間で完了することが望まれるデータの書き込み処理時間が長くなってしまう場合があるという課題を解決したデータ書き込み装置を提供することにある。
【課題を解決するための手段】
【０００８】
本発明にかかるデータ書き込み装置は、
書き込みデータの内容に応じた識別情報を生成する識別情報生成手段と、
速度の異なる複数の記憶装置から構成される記憶装置群と、
前記書き込みデータを前記複数の記憶装置の内の所定の記憶装置に書き込むと共に、前記識別情報生成手段で生成された識別情報を前記複数の記憶装置の内の前記書き込みデータの優先度に応じた記憶装置に書き込む書き込み手段とを備える。
【０００９】
本発明にかかるデータ書き込み方法は、
速度の異なる複数の記憶装置から構成される記憶装置群と、識別情報生成手段と、書き込み手段とを備えたコンピュータが実行するデータ書き込み方法であって、
前記識別情報生成手段が、書き込みデータの内容に応じた識別情報を生成し、
前記書き込み手段が、前記書き込みデータを前記複数の記憶装置の内の所定の記憶装置に書き込むと共に、前記識別情報生成手段で生成された識別情報を前記複数の記憶装置の内の前記書き込みデータの優先度に応じた記憶装置に書き込む。
【００１０】
本発明にかかるプログラムは、
速度の異なる複数の記憶装置から構成される記憶装置群を備えたコンピュータをデータ書き込み装置として機能させるためのプログラムであって、
前記コンピュータを、
書き込みデータの内容に応じた識別情報を生成する識別情報生成手段、
前記書き込みデータを前記複数の記憶装置の内の所定の記憶装置に書き込むと共に、前記識別情報生成手段で生成された識別情報を前記複数の記憶装置の内の前記書き込みデータの優先度に応じた記憶装置に書き込む書き込み手段として機能させる。
【発明の効果】
【００１１】
本発明によれば、データの書き込み時に、データの識別情報も書き込むことが必要になるデータ書き込み装置において、書き込み処理を短時間で完了させることが望まれるデータの書き込み処理時間を短くすることができるという効果を得ることができる。
【図面の簡単な説明】
【００１２】
【図１】本発明にかかるデータ書き込み装置を利用したシステムの一例を示すブロック図である。
【図２】本発明にかかるデータ書き込み装置の第１の実施の形態の構成例を示すブロック図である。
【図３】ファイルシステム管理記憶手段１０１で管理されているデータの一例を示す図である。
【図４】ハッシュ長変換手段１０４の構成例を示すブロック図である。
【図５】ハッシュインデックスの一例を示す図である。
【図６】書き込み手段１０７の処理例を示すフローチャートである。
【図７】本発明にかかるデータ書き込み装置の第２の実施の形態の構成例を示すブロック図である。
【発明を実施するための形態】
【００１３】
次に図面を参照して本発明の実施の形態について詳細に説明する。
【００１４】
[本発明の第１の実施の形態]
図１を参照すると、本発明の第１の実施の形態にかかるデータ書き込み装置１を利用したシステムの一例が示されている。このシステムにおいてデータ書き込み装置１は、汎用バックアップサーバ３を介して業務サーバ４から更新データが送られてくると、そのハッシュ値を求め、既に記憶装置群２に格納されている、上記更新データに対応する既存データ（データ名が同一のデータ）のハッシュ値と比較する。そして、ハッシュ値が一致した場合には、既存データと更新データとは内容が同一であると判断し、処理を終了する。これに対して、ハッシュ値が不一致の場合は、既存データを更新データに置き換えると共に、ハッシュ値を新たに求めたハッシュ値に置き換える。記憶装置群２は、速度が異なる複数の記憶装置から構成されている。記憶装置群２を構成する記憶装置を速度が速い順に並べると、キャッシュメモリ２１、メモリ２２、ＳＳＤ(Solid State Drive)２３、ＨＤＤ(Hard Disk Drive)２４、テープ装置２５となる。
【００１５】
図２を参照すると、データ書き込み装置１は、ファイルシステム管理記憶手段１０１と、データ分割出力手段１０２と、ハッシュ値生成手段（Hash値生成手段）１０３と、ハッシュ長変換手段１０４と、ハッシュ値格納メモリ階層指定手段１０５と、ハッシュ値比較手段１０６と、書き込み手段１０７と、強制非重複指示手段１０８と、リード制御ブロック（READ制御ブロック）１０９とを備えている。
【００１６】
データ分割出力手段１０２は、汎用バックアップサーバ３を介して業務サーバ４から送られてくる書き込みデータを、ファイルやブロックといった最小処理単位に分割する機能を有する。
【００１７】
ハッシュ値生成手段１０３は、SHA-1,MD5アルゴニズムなどを利用して、データ分割出力手段１０２から出力されたデータに対するハッシュ値を生成し、生成したハッシュ値をハッシュ長変換手段１０４に対して出力する機能を有する。また、ハッシュ値生成手段１０３は、自手段１０３に障害が発生したとき、強制非重複指示手段１０８に対してエラー信号を出力する機能を有する。より具体的には、ハッシュ値生成手段１０３は、データ分割出力手段１０２から出力されたデータに対するハッシュ値を生成する第１および第２のハッシュ値生成回路と、第１および第２のハッシュ値生成回路から出力されたハッシュ値が異なるものであった場合にエラー信号を出力するエラー検出回路を備えている。なお、ハッシュ長変換手段１０４に対しては、第１および第２のハッシュ値生成回路の内の何れか一方で生成されたハッシュ値を出力する。
【００１８】
ファイルシステム管理記憶手段１０１内のメモリ（図示せず）には、一般的なファイルシステム、ボリュームグループなどといったあるまとまりのデータ群毎に、そのデータ群に含まれるデータの各種メタ情報が記録されている。メタ情報には、データ群に含まれている各データ（ファイルなど）をアクセスするための情報や、各データに関連するハッシュ値などをアクセスするための情報が含まれている。更に、ファイルシステム管理記憶手段１０１には、データ群毎に、そのデータ群に属するデータの優先度が記録されている。この優先度は、後述するように、ハッシュ長変換手段１０４でハッシュ値の長さを変更する場合や、ハッシュ値格納メモリ階層指定手段１０５でハッシュ値を記録するメモリ階層を決定する場合に利用される。なお、優先度はユーザが設定するものであり、書き込み処理時間を短くしたいデータ群に属するデータほど、高い優先度を与える。
【００１９】
図３を参照すると、ファイルシステム管理記憶手段１０１が、自手段１０１内のメモリ（図示せず）に記録して管理しているデータの一例が示されている。この例は、ファイルシステム識別子が「File System A」「File System B」「File System C」…のファイルシステムに属するファイル（データ）の優先度は、それぞれ「２」「３」「４」…であることを示している。なお、本実施の形態では、小さな値ほど、優先度が高いとする。
【００２０】
また、ファイルシステム管理記憶手段１０１は、汎用バックアップサーバ３を介して業務サーバ４から書き込みデータが送られてくると、上記書き込みデータに付加されているファイルシステム識別子と関連付けて記録されている優先度をハッシュ長変換手段１０４およびハッシュ値格納メモリ階層指定手段１０５に対して出力する機能を有する。例えば、ファイルシステム管理記憶手段１０１に図３に示す情報が記録され、書き込みデータに付加されていたファイルシステム識別子が「File system A」であったとすると、優先度「２」を出力し、「File
System C」であったとすると、優先度「４」を出力する。
【００２１】
ハッシュ長変換手段１０４は、ハッシュ値生成手段１０３から渡されたハッシュ値を、ファイルシステム管理記憶手段１０１から出力されている優先度に応じてそのまま或いは長さを変更（短くする）して出力する機能を有する。ここで、ハッシュ長変換手段１０４は、優先度が高いときほど、変換後のハッシュ値の長さが短くなるようにする。例えば、優先度が「１」「２」「３」「４」…の場合は、変換後のハッシュ値を「５byte」「１０byte」「１５byte」「２０byte」…とする。また、ハッシュ長変換手段１０４は、自手段１０４に障害が発生したとき、強制非重複指示手段１０８に対してエラー信号を出力する機能を有する。
【００２２】
図４を参照すると、ハッシュ長変換手段１０４は、第１および第２の変換回路1041,1042と、エラー検出回路1043とを備えている。第１の変換回路1041は、ファイルシステム管理記憶手段１０１から出力される優先度に応じて、ハッシュ値生成手段１０３から出力されるハッシュ値の上位「５byte」「１０byte」「１５byte」「２０byte」の内の何れかを選択して出力するセレクタにより実現される。第２の変換回路1042も第１の変換手段と同様の構成を備えている。エラー検出回路1043は、第１の変換回路1041から出力されるハッシュ値と、第２の変換回路1042から出力されるハッシュ値とが異なるものである場合、エラー信号を出力する。また、第１、第２の変換回路1041，1042から出力されるハッシュ値の内、第１の変換回路1041から出力されているハッシュ値がハッシュ値比較手段１０６および書き込み手段１０７に供給されている。
【００２３】
ハッシュ値格納メモリ階層指定手段１０５は、ファイルシステム管理記憶手段１０１から出力される優先度に基づいて、ハッシュ値の格納先にするハッシュインデックス（Hash Index）を、どの記憶装置上のものにするのかを決定し、書き込み手段１０７に対して決定した記憶装置を示す情報を渡す機能を有する。なお、ハッシュ値格納メモリ階層指定手段１０５は、ファイルシステム管理記憶手段１０１から出力されている優先度が高い時ほど、上位階層の記憶装置（速度が速い記憶装置）上のハッシュインデックスを選択する。
【００２４】
図５にハッシュインデックスの一例を示す。同図に示すようにハッシュインデックスには、データ識別子であるファイル名に関連付けて、該当するファイルのハッシュ値（ハッシュ長変換手段１０４から出力されたハッシュ値）と、障害フラグとが記録されている。障害フラグは、初期値は“０”であり、ハッシュ値生成手段１０３と、ハッシュ長変換手段１０４と、ハッシュ値比較手段１０６との内の少なくとも１つに障害が発生した場合、“１”となる。
【００２５】
ハッシュ値比較手段１０６は、ハッシュ長変換手段１０４から出力されたハッシュ値（更新データのハッシュ値、つまり、データ分割出力手段１０２から出力されているデータのハッシュ値）と、リード制御ブロック１０９から出力される値（ファイルシステム管理記憶手段１０１から出力されている優先度に応じた階層の記憶装置も記録されている既存データのハッシュ値、または、所定値）とを比較し、比較結果を出力する機能を有する。また、ハッシュ値比較手段１０６は、自手段１０６に障害が発生した場合、エラー信号を強制非重複指示手段１０８に対して出力する機能を有する。より具体的には、ハッシュ値比較手段１０６は、更新データのハッシュ値と既存データのハッシュ値とを比較する第１および第２の比較回路と、第１および第２の比較回路の比較結果が異なるものである場合、エラー信号を出力するエラー検出回路とから構成される。なお、書き込み手段１０７に対しては、第１、第２の比較回路の内の、一方の比較結果が出力される。
【００２６】
強制非重複指示手段１０８は、ハッシュ値生成手段１０３、ハッシュ長変換手段１０４およびハッシュ値比較手段１０６の内の少なくとも１つからエラー信号が出力された場合、書き込み手段１０７に対して出力する強制非重複指示信号を“１”とし、その状態を保持する。また、リード制御ブロック１０９から出力された障害フラグ（データ分割出力手段１０２から出力されているファイルについての障害フラグ）の値が“１”の場合も、強制非重複信号を“１”とし、その状態を保持する。
【００２７】
書き込み手段１０７は、次のような機能(1)〜(4)を有する。
【００２８】
(1)データ分割出力手段１０２から出力されているデータが更新データであり、強制非重複指示手段１０８から出力されている強制非重複指示信号が“０”であり、且つ、ハッシュ値比較手段１０６の比較結果が比較一致の場合は、更新データと記憶装置２群上の既存データとが一致すると判断し、処理を終了する。なお、強制非重複指示手段１０８から出力される強制非重複指示信号は、手段１０３，１０４，１０６が正常動作している間は“０”となり、上記各手段１０３，１０４，１０６の何れかに障害が発生した後は、“１”となる。
【００２９】
(2) データ分割出力手段１０２から出力されているデータが更新データであり、強制非重複指示手段１０８から出力されている強制非重複指示信号が“０”であり、且つ、ハッシュ値比較手段１０６の比較結果が比較不一致の場合は、更新データと既存データとが異なっていると判断し、データ分割出力手段１０２から出力されている更新データで記憶装置群２上の既存データを更新し、同時に記憶装置群２上の該当するハッシュインデックス中の該当するハッシュ値を、ハッシュ長変換手段１０４から出力されているハッシュ値で書き換える。
【００３０】
(3) データ分割出力手段１０２から出力されているデータが更新データであり、且つ、強制非重複指示手段１０８から出力されている強制非重複指示信号が“１”の場合は、ハッシュ値比較手段１０６の比較結果に信頼性がないと判断し、データ分割出力手段１０２から出力されている更新データで記憶装置群２上の既存データを更新し、同時に記憶装置群２上の該当するハッシュインデックス中の該当するハッシュ値を、ハッシュ長変換手段１０４から出力されているハッシュ値で書き換える。更に、強制非重複指示信号が“１”の場合は、該当するハッシュインデックス中の該当する障害フラグを“１”とする。
【００３１】
(4)データ分割出力手段１０２から出力されているデータが新規データ（初めて記憶装置群２に書き込まれるデータ）の場合は、データを記憶装置群２に書き込むと共に、該当するハッシュインデックスに上記データ用のエントリを作成し、そこにハッシュ長変換手段１０４から出力されているハッシュ値及び障害フラグ（初期値“０”）を書き込む機能。
【００３２】
リード制御ブロック１０９は、データ分割出力手段１０２から出力されているデータに対応するハッシュ値および障害フラグを記憶装置群２上のハッシュインデックスから読み込み、読み込んだハッシュ値および障害フラグの値をそれぞれハッシュ値比較手段１０６および強制非重複指示手段１０８に出力する機能を有する。なお、データ分割出力手段１０２から出力されているデータに対応するハッシュ値および障害フラグが記憶装置群２上のハッシュインデックスに記録されていない場合（データが新規データの場合）は、ハッシュ値比較手段１０６に対しては、予め定められている値を出力し、強制非重複指示手段１０８に対しては、強制非重複指示信号の値と同一の値を、障害フラグの値として出力する。
【００３３】
上述した機能を有するデータ書き込み装置１は、コンピュータにより実現可能であり、コンピュータにより実現する場合は、例えば、次にようにする。コンピュータをファイルシステム管理記憶手段１０１、データ分割出力手段１０２、ハッシュ値生成手段１０３、ハッシュ長変換手段１０４、ハッシュ値格納メモリ階層指定手段１０５、ハッシュ値比較手段１０６、書き込み手段１０７、強制非重複指示手段１０８、および、リード制御ブロック１０９として機能させるためのプログラムを記録したディスク、半導体メモリ、その他の記録媒体を用意し、コンピュータに上記プログラムを読み取らせる。コンピュータは、読み取ったプログラムに従って自身の動作を制御することにより、自コンピュータ上に上記各手段１０１〜１０９を実現する。
【００３４】
[第１の実施の形態の動作]
次に、本実施の形態の動作について詳細に説明する。
【００３５】
業務サーバ４は、データ（以下ではファイル群とする）を記憶装置群２にバックアップする場合、バックアップするファイル群と、それらのファイル群を管理しているファイルシステムのファイルシステム識別子と含んだバックアップ要求を汎用バックアップサーバ３へ送信する。汎用バックアップサーバ３は、業務サーバ４から送られてきたバックアップ要求をデータ書き込み装置１へ送信する。
【００３６】
これにより、データ書き込み装置１内のファイルシステム管理記憶手段１０１は、バックアップ要求中のファイルシステム識別子と関連付けて管理している優先度を出力する。例えば、ファイルシステム管理記憶手段１０１の記憶内容が図３に示すものであり、バックアップ要求中のファイルシステム識別子がFile System Aである場合は、優先度「２」を出力することになる。
【００３７】
また、データ分割出力手段１０２は、バックアップ要求に含まれているファイル群を処理単位であるファイルに分割して順次出力する。本実施の形態では、処理単位をファイルとするが、ファイルを更に一定長に分割したブロックを処理単位としても構わない。データ分割出力手段１０２から出力されたファイルは、ハッシュ値生成手段１０３および書き込み手段１０７に入力される。
【００３８】
また、リード制御ブロック１０９は、データ分割出力手段１０２から出力されているファイルのハッシュ値および障害フラグを、ファイルシステム管理記憶手段１０１から出力されている優先度に応じた記憶装置上のハッシュインデックスから入力し、ハッシュ値および障害フラグをそれぞれハッシュ値比較手段１０６および強制非重複指示手段１０８に対して出力する。
【００３９】
強制非重複指示手段１０８は、ハッシュ値生成手段１０３、ハッシュ長変換手段１０４、およびハッシュ値比較手段１０６の内の少なくとも１つがエラー信号を出力した場合と、リード制御ブロック１０９から出力された障害フラグが“１”の場合に、書き込み手段１０７に対して出力する強制非重複指示信号を“１”とし、その状態を保持する。
【００４０】
ハッシュ値生成手段１０３は、SHA-1、MD5などの汎用のHashアルゴニズムを利用して入力されたファイルのハッシュ値を算出し、ハッシュ長変換手段１０４に対して出力する。
【００４１】
ハッシュ長変換手段１０４は、ハッシュ値生成手段１０３で生成されたハッシュ値を、ファイルシステム管理記憶手段１０１から出力されている優先度に応じてそのまま或いは長さを短くして出力する。ハッシュ長変換手段１０４から出力されるハッシュ値の長さは、優先度が高いファイルほど短くなる。ここで、優先度が高いものほどハッシュ値の長さを短くするのは、ハッシュ値の書き込み時間を優先度が高いファイルほど短くすることができるからである。
【００４２】
ハッシュ値比較手段１０６は、ハッシュ長変換手段１０４から出力されたハッシュ値（更新ファイルのハッシュ値）と、リード制御ブロック１０９から出力される値（ファイルシステム管理記憶手段１０１から出力されている優先度に応じた階層の記憶装置も記録されている既存データのハッシュ値、または、所定値）とを比較し、書き込み手段１０７に対して比較結果を出力する。
【００４３】
書き込み手段１０７は、データ分割出力手段１０２からファイルが出力される毎に、図６のフローチャートに示す処理を行う。先ず、データ分割出力手段１０２から出力されたファイルが新規ファイル（初めて、記憶装置群２に書き込まれるファイル）であるか否かを判定する（ステップＳ６１）。この判定は、例えば、上記ファイルのファイル名がハッシュインデックスに記録されているか否かに基づいて行う。
【００４４】
ファイルが新規ファイルではなく、既存ファイルに対する更新ファイルである場合（ステップＳ６１がＮｏ）は、書き込み手段１０７は、強制非重複指示手段１０８から出力されている強制非重複信号が“１”である否かを判定する（ステップＳ６２）。強制非重複信号が“０”の場合（ステップＳ６２がＮｏ）は、更にハッシュ値比較手段１０６の比較結果が比較一致を示しているか否かを判定する（ステップＳ６３）。そして、比較結果が比較一致を示している場合（ステップＳ６３がＹｅｓ）は、更新ファイルと既存ファイルは同一であると判断し、その処理を終了する。これに対して、比較結果が比較不一致を示している場合（ステップＳ６３がＮｏ）は、既存ファイルを更新ファイルで更新すると共に、更新ファイルの優先度に応じた記憶装置上のハッシュインデックスに記録されている該当するハッシュ値を、ハッシュ長変換手段１０４から出力されているハッシュ値で置き換え（ステップＳ６４）、その後、処理を終了する。
【００４５】
また、強制非重複指示手段１０８から出力されている強制非重複指示信号が“１”の場合（ステップＳ６２がＹｅｓ）は、記憶装置群２上のファイル及びハッシュ値を更新すると共に、該当するハッシュインデックス中の該当する障害フラグを“１”にし（ステップＳ６５）、その後、処理を終了する。強制非重複指示信号は、ハッシュ値生成手段１０３、ハッシュ長変換手段１０４、或いは、ハッシュ値比較手段１０６に障害が発生した後、“１”となる。つまり、強制非重複指示信号が“１”の場合は、ハッシュ値比較手段１０６の比較結果は信頼性が低いものとなり、比較結果が一致していたとしても、ファイルの内容が異なる場合がある。そこで、本実施の形態では、強制非重複指示信号が“１”の場合は、ハッシュ値比較手段１０６の比較結果にかかわらず、常に、ファイルを更新することにより、ファイルの整合性を保証できるようにしている。
【００４６】
また、データ分割出力手段１０２から出力されたファイルが新規ファイルである場合（ステップＳ６１がＹｅｓ）は、該当するハッシュインデックスに上記新規ファイル用のエントリを作成する（ステップＳ６６）。その際、障害フラグには、初期値として“０”を設定する。更に、書き込み手段１０７は、データ分割出力手段１０２から出力されている新規ファイルを記憶装置群２上に書き込むと共に、上記ファイル用のエントリに、ハッシュ長変換手段１０４から出力されているハッシュ値を書き込む（ステップＳ６７）。
【００４７】
その後、書き込み手段１０７は、強制非重複指示手段１０８から出力されている強制非重複指示信号が“１”であるか否かを判定する（ステップＳ６８）。そして、強制非重複指示信号が“０”の場合（ステップＳ６８がＮｏ）は、処理を終了し、“１”の場合は（ステップＳ６８がＹｅｓ）は、新規ファイル用に作成したエントリ中の障害フラグを“１”に変更し（ステップＳ６９）、その後、その処理を終了する。なお、図６に示したフローチャートでは、更新ファイルと既存ファイルとのハッシュ値が一致した場合（ステップＳ６３がＹｅｓ）、処理を終了するようにしたが、ハッシュ値が一致した場合には、実際に更新ファイルと既存ファイルとの内容を比較し、内容が一致した場合には処理終了とし、内容が不一致の場合には、ステップＳ６４と同様の処理を行い、ファイル及びハッシュ値を更新するようにしても良い。
【００４８】
ここで、ハッシュ値を利用した重複データの削除処理について説明する。図示を省略した排除手段は、所定のタイミング（ユーザによって指示されたタイミングや、所定時間間隔など）で各階層の記憶装置に設けられているハッシュインデックス毎に、ハッシュ値が同一になっているファイルが存在するか否かを調べる。ハッシュ値が同一のファイルが存在する場合は、そのファイル対は、内容が重複しているので、一方のファイルを削除する、或いは、一方のファイルの中身を他方のファイルへのリンクに書き換えるなどといった重複データの削除処理を行う。なお、障害フラグが“１”になっているファイルについては、ハッシュ値が信頼できないものであるので、ハッシュ値が一致しているか否かにかかわらずファイルの内容を比較し、内容が一致している場合は、上記した重複データの削除処理と同様の処理を行う。
【００４９】
[第１の実施の形態の効果]
本実施の形態によれば、データの書き込み時に、データのハッシュ値（識別情報）も書き込むことが必要なデータ書き込み装置において、書き込み処理を短時間で完了させることが望まれるデータの書き込み処理時間を短くすることができるという効果を得ることができる。その理由は、速度が異なる複数の記憶装置から構成される記憶装置群にデータのハッシュ値を書き込む際、データの優先度に応じた記憶装置にハッシュ値を書き込むようにしており、優先度の高いデータのハッシュ値の書き込み時間を短くすることができるからである。また、データの優先度に応じた記憶装置にハッシュ値が記録されているので、優先度の高いデータの読み出し時間を短いものとすることができる。
【００５０】
更に、本実施の形態では、データの優先度に応じて記憶装置に書き込むハッシュ値の長さを変更しているので、優先度の高いデータの読み書きを更に短時間で行うことが可能になる。
【００５１】
[本発明の第２の実施の形態]
図７を参照すると、本発明にかかるデータ書き込み装置の第２の実施の形態は、識別情報生成手段７１と、書き込み手段７２と、記憶装置群７３とを備えている。
【００５２】
識別情報生成手段７１には、例えば、バックアップサーバを介して業務サーバなどからの書き込みデータ（バックアップデータ）が送られてくる。識別情報生成手段７１は、書き込みデータの内容に応じた識別情報を生成する。識別情報としては、例えば、データのハッシュ値を使用することができる。
【００５３】
記憶装置群７３は、速度の異なる複数の記憶装置７３−１〜７３−ｎから構成されている。例えば、キャッシュメモリ、メモリ、ＳＳＤ、ＨＤＤ、テープ装置などから構成される。
【００５４】
書き込み手段７２は、書き込みデータを記憶装置７３−１〜７３−ｎの内の所定の記憶装置に書き込むと共に、識別情報生成手段７１で生成された識別情報を記憶装置７３−１〜７３−ｎの内の、上記書き込みデータの優先度に応じた記憶装置に書き込む。より具体的には、優先度の高い書き込みデータほど、速度の速い記憶装置に記録する。
【００５５】
なお、本実施の形態のデータ書き込み装置も第１の実施の形態と同様にコンピュータによって実現できる。即ち、コンピュータを識別情報生成手段７１、書き込み手段７２として機能させるためのプログラムを記録したディスク、半導体メモリ、その他の記録媒体を用意し、コンピュータに上記プログラムを読み取らせる。コンピュータは、読み取ったプログラムに従って自身の動作を制御することにより、自コンピュータ上に上記各手段７１，７２を実現する。
【００５６】
[第２の実施の形態の効果]
本実施の形態によれば、データの書き込み時に、データの識別情報も書き込むことが必要になるデータ書き込み装置において、書き込み処理を短時間で完了させることが望まれるデータの書き込み処理時間を短くすることができるという効果を得ることができる。その理由は、速度が異なる複数の記憶装置から構成される記憶装置群にデータの識別情報を書き込む際、データの優先度に応じた記憶装置の識別情報を書き込むようにしており、優先度の高いデータの識別情報の書き込み時間を短くすることができるからである。
【産業上の利用可能性】
【００５７】
本発明は、データを書き込む際、データのハッシュ値も併せて記録しておき、データの内容が一致しているか否かをハッシュ値に基づいて判断する計算機システムに適用可能である。
【符号の説明】
【００５８】
１      データ書き込み装置
２      記憶装置群
３      汎用バックアップサーバ
４      業務サーバ
２１    キャッシュメモリ
２２    メモリ
２３    ＳＳＤ
２４    ＨＤＤ
２５    テープ装置
１０１  ファイルシステム管理記憶手段
１０２  データ分割出力手段
１０３  ハッシュ値生成手段
１０４  ハッシュ長変換手段
１０５  ハッシュ値格納メモリ階層指定手段
１０６  ハッシュ値比較手段
１０８  強制非重複指示手段
１０９  リード制御ブロック
７１    識別情報生成手段
７２    書き込み手段
７３    記憶装置群
７３−１〜７３−ｎ    記憶装置
【図１】
2013058133.tif 000003
【図２】
2013058133.tif 000004
【図３】
2013058133.tif 000005
【図４】
2013058133.tif 000006
【図５】
2013058133.tif 000007
【図６】
2013058133.tif 000008
【図７】
2013058133.tif 000009