説明

データ書き込み装置

【課題】データの書き込み時に、データのハッシュ値も書き込むことが必要なデータ書き込み装置において、優先度の高いデータの書き込み処理時間を短くする。
【解決手段】識別情報生成手段61は、書き込みデータの内容に応じた識別情報(ハッシュ値など)を生成する。記憶装置群63は、速度の異なる複数の記憶装置61-1〜61-nから構成されている。書き込み手段62は、書き込みデータを複数の記憶装置61-1〜61-nの内の所定の記憶装置に書き込むと共に、識別情報生成手段61で生成された識別情報を複数の記憶装置61-1〜61-nの内の上記書き込みデータの優先度に応じた記憶装置に書き込む。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データを記憶装置に書き込む際、データのハッシュ値など、データの内容に応じた識別情報も記憶装置に書き込むデータ書き込み装置に関する。
【背景技術】
【0002】
データを記憶装置に書き込む際、そのハッシュ値などの識別情報も併せて記憶装置に書き込むということが行われている(例えば、特許文献1参照)。この特許文献1に記載されている技術では、データを記憶装置に書き込む際、そのハッシュ値を算出し、データに設定(付加)しておく。そして、重複データの排除時に、データに付加されているハッシュ値を比較し、同一のハッシュ値が付加されているデータは重複データであると判定し、所定の排除処理を行う。排除処理としては、例えば、重複する2つのデータの内の一方のデータを削除するといった処理や、重複する2つのデータの内の一方の内容を他方のデータへのリンクに書き換えるといった処理を挙げることができる。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2009−251725号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1に記載されている技術は、データのハッシュ値を利用して記憶装置内に存在する重複データを排除するようにしている。しかし、特許文献1に記載されている技術では、計算機が備えている複数階層の記憶装置の内の下位階層の記憶装置(ディスク装置)に、重複データ排除処理に使用するハッシュ値を記録するようにしているため、ハッシュ値の書き込みに時間がかかり、入出力性能が低下してしまうという問題がある。
【0005】
このような問題を解決するためには、速度の速い上位階層の記憶装置(キャッシュメモリやメモリ)に、ハッシュ値とそのハッシュ値がどのデータのものなのかを示す情報(データ識別情報)とを記録するようにすることが考えられる。そして、上位階層の記憶装置だけではハッシュ値、データ識別情報を記録できなくなった場合には更に中位階層の記憶装置を使用し、中位階層の記憶装置を使用してもハッシュ値、データ識別情報を記録できなくなった場合には更に下位階層の記憶装置を使用することが考えられる。
【0006】
ところで、記憶装置に記録するデータには、書き込み処理が短時間で完了することが望まれるデータもあれば、そうでないデータもある。従って、上記したように、記憶装置に記録したデータのハッシュ値、データ識別情報を上位階層の記憶装置に記録し、上位階層の記憶装置だけではハッシュ値、データ識別情報を記録できなくなった場合には、中位階層の記憶装置に記録し、中位階層の記憶装置を使用してもハッシュ値、データ識別情報を記録できなくなった場合には下位階層の記憶装置に記録するという方法では、書き込み処理が短時間で完了することが望まれるデータの書き込み処理時間が長くなってしまう場合があるという問題がある。
【0007】
[発明の目的]
そこで、本発明の目的は、データの書き込み時にハッシュ値などの識別情報も書き込むことが必要になるデータ書き込み装置において、書き込み処理を短時間で完了することが望まれるデータの書き込み処理時間が長くなってしまう場合があるという課題を解決したデータ書き込み装置を提供することにある。
【課題を解決するための手段】
【0008】
本発明にかかるデータ書き込み装置は、
書き込みデータの内容に応じた識別情報を生成する識別情報生成手段と、
速度の異なる複数の記憶装置から構成される記憶装置群と、
前記書き込みデータを前記複数の記憶装置の内の所定の記憶装置に書き込むと共に、前記識別情報生成手段で生成された識別情報を前記複数の記憶装置の内の前記書き込みデータの優先度に応じた記憶装置に書き込む書き込み手段とを備える。
【0009】
本発明にかかるデータ書き込み方法は、
速度の異なる複数の記憶装置から構成される記憶装置群と、識別情報生成手段と、書き込み手段とを備えたコンピュータが実行するデータ書き込み方法であって、
前記識別情報生成手段が、書き込みデータの内容に応じた識別情報を生成し、
前記書き込み手段が、前記書き込みデータを前記複数の記憶装置の内の所定の記憶装置に書き込むと共に、前記識別情報生成手段で生成された識別情報を前記複数の記憶装置の内の前記書き込みデータの優先度に応じた記憶装置に書き込む。
【0010】
本発明にかかるプログラムは、
速度の異なる複数の記憶装置から構成される記憶装置群を備えたコンピュータをデータ書き込み装置として機能させるためのプログラムであって、
前記コンピュータを、
書き込みデータの内容に応じた識別情報を生成する識別情報生成手段、
前記書き込みデータを前記複数の記憶装置の内の所定の記憶装置に書き込むと共に、前記識別情報生成手段で生成された識別情報を前記複数の記憶装置の内の前記書き込みデータの優先度に応じた記憶装置に書き込む書き込み手段として機能させる。
【発明の効果】
【0011】
本発明によれば、データの書き込み時に、データの識別情報も書き込むことが必要になるデータ書き込み装置において、書き込み処理を短時間で完了させることが望まれるデータの書き込み処理時間を短くすることができるという効果を得ることができる。
【図面の簡単な説明】
【0012】
【図1】本発明にかかるデータ書き込み装置を利用したシステムの一例を示すブロック図である。
【図2】本発明にかかるデータ書き込み装置の第1の実施の形態の構成例を示すブロック図である。
【図3】ファイルシステム管理記憶手段101で管理されているデータの一例を示す図である。
【図4】ハッシュ長変換手段104の構成例を示すブロック図である。
【図5】ハッシュインデックスの一例を示す図である。
【図6】書き込み手段107の処理例を示すフローチャートである。
【図7】本発明にかかるデータ書き込み装置の第2の実施の形態の構成例を示すブロック図である。
【発明を実施するための形態】
【0013】
次に図面を参照して本発明の実施の形態について詳細に説明する。
【0014】
[本発明の第1の実施の形態]
図1を参照すると、本発明の第1の実施の形態にかかるデータ書き込み装置1を利用したシステムの一例が示されている。このシステムにおいてデータ書き込み装置1は、汎用バックアップサーバ3を介して業務サーバ4から更新データが送られてくると、そのハッシュ値を求め、既に記憶装置群2に格納されている、上記更新データに対応する既存データ(データ名が同一のデータ)のハッシュ値と比較する。そして、ハッシュ値が一致した場合には、既存データと更新データとは内容が同一であると判断し、処理を終了する。これに対して、ハッシュ値が不一致の場合は、既存データを更新データに置き換えると共に、ハッシュ値を新たに求めたハッシュ値に置き換える。記憶装置群2は、速度が異なる複数の記憶装置から構成されている。記憶装置群2を構成する記憶装置を速度が速い順に並べると、キャッシュメモリ21、メモリ22、SSD(Solid State Drive)23、HDD(Hard Disk Drive)24、テープ装置25となる。
【0015】
図2を参照すると、データ書き込み装置1は、ファイルシステム管理記憶手段101と、データ分割出力手段102と、ハッシュ値生成手段(Hash値生成手段)103と、ハッシュ長変換手段104と、ハッシュ値格納メモリ階層指定手段105と、ハッシュ値比較手段106と、書き込み手段107と、強制非重複指示手段108と、リード制御ブロック(READ制御ブロック)109とを備えている。
【0016】
データ分割出力手段102は、汎用バックアップサーバ3を介して業務サーバ4から送られてくる書き込みデータを、ファイルやブロックといった最小処理単位に分割する機能を有する。
【0017】
ハッシュ値生成手段103は、SHA-1,MD5アルゴニズムなどを利用して、データ分割出力手段102から出力されたデータに対するハッシュ値を生成し、生成したハッシュ値をハッシュ長変換手段104に対して出力する機能を有する。また、ハッシュ値生成手段103は、自手段103に障害が発生したとき、強制非重複指示手段108に対してエラー信号を出力する機能を有する。より具体的には、ハッシュ値生成手段103は、データ分割出力手段102から出力されたデータに対するハッシュ値を生成する第1および第2のハッシュ値生成回路と、第1および第2のハッシュ値生成回路から出力されたハッシュ値が異なるものであった場合にエラー信号を出力するエラー検出回路を備えている。なお、ハッシュ長変換手段104に対しては、第1および第2のハッシュ値生成回路の内の何れか一方で生成されたハッシュ値を出力する。
【0018】
ファイルシステム管理記憶手段101内のメモリ(図示せず)には、一般的なファイルシステム、ボリュームグループなどといったあるまとまりのデータ群毎に、そのデータ群に含まれるデータの各種メタ情報が記録されている。メタ情報には、データ群に含まれている各データ(ファイルなど)をアクセスするための情報や、各データに関連するハッシュ値などをアクセスするための情報が含まれている。更に、ファイルシステム管理記憶手段101には、データ群毎に、そのデータ群に属するデータの優先度が記録されている。この優先度は、後述するように、ハッシュ長変換手段104でハッシュ値の長さを変更する場合や、ハッシュ値格納メモリ階層指定手段105でハッシュ値を記録するメモリ階層を決定する場合に利用される。なお、優先度はユーザが設定するものであり、書き込み処理時間を短くしたいデータ群に属するデータほど、高い優先度を与える。
【0019】
図3を参照すると、ファイルシステム管理記憶手段101が、自手段101内のメモリ(図示せず)に記録して管理しているデータの一例が示されている。この例は、ファイルシステム識別子が「File System A」「File System B」「File System C」…のファイルシステムに属するファイル(データ)の優先度は、それぞれ「2」「3」「4」…であることを示している。なお、本実施の形態では、小さな値ほど、優先度が高いとする。
【0020】
また、ファイルシステム管理記憶手段101は、汎用バックアップサーバ3を介して業務サーバ4から書き込みデータが送られてくると、上記書き込みデータに付加されているファイルシステム識別子と関連付けて記録されている優先度をハッシュ長変換手段104およびハッシュ値格納メモリ階層指定手段105に対して出力する機能を有する。例えば、ファイルシステム管理記憶手段101に図3に示す情報が記録され、書き込みデータに付加されていたファイルシステム識別子が「File system A」であったとすると、優先度「2」を出力し、「File
System C」であったとすると、優先度「4」を出力する。
【0021】
ハッシュ長変換手段104は、ハッシュ値生成手段103から渡されたハッシュ値を、ファイルシステム管理記憶手段101から出力されている優先度に応じてそのまま或いは長さを変更(短くする)して出力する機能を有する。ここで、ハッシュ長変換手段104は、優先度が高いときほど、変換後のハッシュ値の長さが短くなるようにする。例えば、優先度が「1」「2」「3」「4」…の場合は、変換後のハッシュ値を「5byte」「10byte」「15byte」「20byte」…とする。また、ハッシュ長変換手段104は、自手段104に障害が発生したとき、強制非重複指示手段108に対してエラー信号を出力する機能を有する。
【0022】
図4を参照すると、ハッシュ長変換手段104は、第1および第2の変換回路1041,1042と、エラー検出回路1043とを備えている。第1の変換回路1041は、ファイルシステム管理記憶手段101から出力される優先度に応じて、ハッシュ値生成手段103から出力されるハッシュ値の上位「5byte」「10byte」「15byte」「20byte」の内の何れかを選択して出力するセレクタにより実現される。第2の変換回路1042も第1の変換手段と同様の構成を備えている。エラー検出回路1043は、第1の変換回路1041から出力されるハッシュ値と、第2の変換回路1042から出力されるハッシュ値とが異なるものである場合、エラー信号を出力する。また、第1、第2の変換回路1041,1042から出力されるハッシュ値の内、第1の変換回路1041から出力されているハッシュ値がハッシュ値比較手段106および書き込み手段107に供給されている。
【0023】
ハッシュ値格納メモリ階層指定手段105は、ファイルシステム管理記憶手段101から出力される優先度に基づいて、ハッシュ値の格納先にするハッシュインデックス(Hash Index)を、どの記憶装置上のものにするのかを決定し、書き込み手段107に対して決定した記憶装置を示す情報を渡す機能を有する。なお、ハッシュ値格納メモリ階層指定手段105は、ファイルシステム管理記憶手段101から出力されている優先度が高い時ほど、上位階層の記憶装置(速度が速い記憶装置)上のハッシュインデックスを選択する。
【0024】
図5にハッシュインデックスの一例を示す。同図に示すようにハッシュインデックスには、データ識別子であるファイル名に関連付けて、該当するファイルのハッシュ値(ハッシュ長変換手段104から出力されたハッシュ値)と、障害フラグとが記録されている。障害フラグは、初期値は“0”であり、ハッシュ値生成手段103と、ハッシュ長変換手段104と、ハッシュ値比較手段106との内の少なくとも1つに障害が発生した場合、“1”となる。
【0025】
ハッシュ値比較手段106は、ハッシュ長変換手段104から出力されたハッシュ値(更新データのハッシュ値、つまり、データ分割出力手段102から出力されているデータのハッシュ値)と、リード制御ブロック109から出力される値(ファイルシステム管理記憶手段101から出力されている優先度に応じた階層の記憶装置も記録されている既存データのハッシュ値、または、所定値)とを比較し、比較結果を出力する機能を有する。また、ハッシュ値比較手段106は、自手段106に障害が発生した場合、エラー信号を強制非重複指示手段108に対して出力する機能を有する。より具体的には、ハッシュ値比較手段106は、更新データのハッシュ値と既存データのハッシュ値とを比較する第1および第2の比較回路と、第1および第2の比較回路の比較結果が異なるものである場合、エラー信号を出力するエラー検出回路とから構成される。なお、書き込み手段107に対しては、第1、第2の比較回路の内の、一方の比較結果が出力される。
【0026】
強制非重複指示手段108は、ハッシュ値生成手段103、ハッシュ長変換手段104およびハッシュ値比較手段106の内の少なくとも1つからエラー信号が出力された場合、書き込み手段107に対して出力する強制非重複指示信号を“1”とし、その状態を保持する。また、リード制御ブロック109から出力された障害フラグ(データ分割出力手段102から出力されているファイルについての障害フラグ)の値が“1”の場合も、強制非重複信号を“1”とし、その状態を保持する。
【0027】
書き込み手段107は、次のような機能(1)〜(4)を有する。
【0028】
(1)データ分割出力手段102から出力されているデータが更新データであり、強制非重複指示手段108から出力されている強制非重複指示信号が“0”であり、且つ、ハッシュ値比較手段106の比較結果が比較一致の場合は、更新データと記憶装置2群上の既存データとが一致すると判断し、処理を終了する。なお、強制非重複指示手段108から出力される強制非重複指示信号は、手段103,104,106が正常動作している間は“0”となり、上記各手段103,104,106の何れかに障害が発生した後は、“1”となる。
【0029】
(2) データ分割出力手段102から出力されているデータが更新データであり、強制非重複指示手段108から出力されている強制非重複指示信号が“0”であり、且つ、ハッシュ値比較手段106の比較結果が比較不一致の場合は、更新データと既存データとが異なっていると判断し、データ分割出力手段102から出力されている更新データで記憶装置群2上の既存データを更新し、同時に記憶装置群2上の該当するハッシュインデックス中の該当するハッシュ値を、ハッシュ長変換手段104から出力されているハッシュ値で書き換える。
【0030】
(3) データ分割出力手段102から出力されているデータが更新データであり、且つ、強制非重複指示手段108から出力されている強制非重複指示信号が“1”の場合は、ハッシュ値比較手段106の比較結果に信頼性がないと判断し、データ分割出力手段102から出力されている更新データで記憶装置群2上の既存データを更新し、同時に記憶装置群2上の該当するハッシュインデックス中の該当するハッシュ値を、ハッシュ長変換手段104から出力されているハッシュ値で書き換える。更に、強制非重複指示信号が“1”の場合は、該当するハッシュインデックス中の該当する障害フラグを“1”とする。
【0031】
(4)データ分割出力手段102から出力されているデータが新規データ(初めて記憶装置群2に書き込まれるデータ)の場合は、データを記憶装置群2に書き込むと共に、該当するハッシュインデックスに上記データ用のエントリを作成し、そこにハッシュ長変換手段104から出力されているハッシュ値及び障害フラグ(初期値“0”)を書き込む機能。
【0032】
リード制御ブロック109は、データ分割出力手段102から出力されているデータに対応するハッシュ値および障害フラグを記憶装置群2上のハッシュインデックスから読み込み、読み込んだハッシュ値および障害フラグの値をそれぞれハッシュ値比較手段106および強制非重複指示手段108に出力する機能を有する。なお、データ分割出力手段102から出力されているデータに対応するハッシュ値および障害フラグが記憶装置群2上のハッシュインデックスに記録されていない場合(データが新規データの場合)は、ハッシュ値比較手段106に対しては、予め定められている値を出力し、強制非重複指示手段108に対しては、強制非重複指示信号の値と同一の値を、障害フラグの値として出力する。
【0033】
上述した機能を有するデータ書き込み装置1は、コンピュータにより実現可能であり、コンピュータにより実現する場合は、例えば、次にようにする。コンピュータをファイルシステム管理記憶手段101、データ分割出力手段102、ハッシュ値生成手段103、ハッシュ長変換手段104、ハッシュ値格納メモリ階層指定手段105、ハッシュ値比較手段106、書き込み手段107、強制非重複指示手段108、および、リード制御ブロック109として機能させるためのプログラムを記録したディスク、半導体メモリ、その他の記録媒体を用意し、コンピュータに上記プログラムを読み取らせる。コンピュータは、読み取ったプログラムに従って自身の動作を制御することにより、自コンピュータ上に上記各手段101〜109を実現する。
【0034】
[第1の実施の形態の動作]
次に、本実施の形態の動作について詳細に説明する。
【0035】
業務サーバ4は、データ(以下ではファイル群とする)を記憶装置群2にバックアップする場合、バックアップするファイル群と、それらのファイル群を管理しているファイルシステムのファイルシステム識別子と含んだバックアップ要求を汎用バックアップサーバ3へ送信する。汎用バックアップサーバ3は、業務サーバ4から送られてきたバックアップ要求をデータ書き込み装置1へ送信する。
【0036】
これにより、データ書き込み装置1内のファイルシステム管理記憶手段101は、バックアップ要求中のファイルシステム識別子と関連付けて管理している優先度を出力する。例えば、ファイルシステム管理記憶手段101の記憶内容が図3に示すものであり、バックアップ要求中のファイルシステム識別子がFile System Aである場合は、優先度「2」を出力することになる。
【0037】
また、データ分割出力手段102は、バックアップ要求に含まれているファイル群を処理単位であるファイルに分割して順次出力する。本実施の形態では、処理単位をファイルとするが、ファイルを更に一定長に分割したブロックを処理単位としても構わない。データ分割出力手段102から出力されたファイルは、ハッシュ値生成手段103および書き込み手段107に入力される。
【0038】
また、リード制御ブロック109は、データ分割出力手段102から出力されているファイルのハッシュ値および障害フラグを、ファイルシステム管理記憶手段101から出力されている優先度に応じた記憶装置上のハッシュインデックスから入力し、ハッシュ値および障害フラグをそれぞれハッシュ値比較手段106および強制非重複指示手段108に対して出力する。
【0039】
強制非重複指示手段108は、ハッシュ値生成手段103、ハッシュ長変換手段104、およびハッシュ値比較手段106の内の少なくとも1つがエラー信号を出力した場合と、リード制御ブロック109から出力された障害フラグが“1”の場合に、書き込み手段107に対して出力する強制非重複指示信号を“1”とし、その状態を保持する。
【0040】
ハッシュ値生成手段103は、SHA-1、MD5などの汎用のHashアルゴニズムを利用して入力されたファイルのハッシュ値を算出し、ハッシュ長変換手段104に対して出力する。
【0041】
ハッシュ長変換手段104は、ハッシュ値生成手段103で生成されたハッシュ値を、ファイルシステム管理記憶手段101から出力されている優先度に応じてそのまま或いは長さを短くして出力する。ハッシュ長変換手段104から出力されるハッシュ値の長さは、優先度が高いファイルほど短くなる。ここで、優先度が高いものほどハッシュ値の長さを短くするのは、ハッシュ値の書き込み時間を優先度が高いファイルほど短くすることができるからである。
【0042】
ハッシュ値比較手段106は、ハッシュ長変換手段104から出力されたハッシュ値(更新ファイルのハッシュ値)と、リード制御ブロック109から出力される値(ファイルシステム管理記憶手段101から出力されている優先度に応じた階層の記憶装置も記録されている既存データのハッシュ値、または、所定値)とを比較し、書き込み手段107に対して比較結果を出力する。
【0043】
書き込み手段107は、データ分割出力手段102からファイルが出力される毎に、図6のフローチャートに示す処理を行う。先ず、データ分割出力手段102から出力されたファイルが新規ファイル(初めて、記憶装置群2に書き込まれるファイル)であるか否かを判定する(ステップS61)。この判定は、例えば、上記ファイルのファイル名がハッシュインデックスに記録されているか否かに基づいて行う。
【0044】
ファイルが新規ファイルではなく、既存ファイルに対する更新ファイルである場合(ステップS61がNo)は、書き込み手段107は、強制非重複指示手段108から出力されている強制非重複信号が“1”である否かを判定する(ステップS62)。強制非重複信号が“0”の場合(ステップS62がNo)は、更にハッシュ値比較手段106の比較結果が比較一致を示しているか否かを判定する(ステップS63)。そして、比較結果が比較一致を示している場合(ステップS63がYes)は、更新ファイルと既存ファイルは同一であると判断し、その処理を終了する。これに対して、比較結果が比較不一致を示している場合(ステップS63がNo)は、既存ファイルを更新ファイルで更新すると共に、更新ファイルの優先度に応じた記憶装置上のハッシュインデックスに記録されている該当するハッシュ値を、ハッシュ長変換手段104から出力されているハッシュ値で置き換え(ステップS64)、その後、処理を終了する。
【0045】
また、強制非重複指示手段108から出力されている強制非重複指示信号が“1”の場合(ステップS62がYes)は、記憶装置群2上のファイル及びハッシュ値を更新すると共に、該当するハッシュインデックス中の該当する障害フラグを“1”にし(ステップS65)、その後、処理を終了する。強制非重複指示信号は、ハッシュ値生成手段103、ハッシュ長変換手段104、或いは、ハッシュ値比較手段106に障害が発生した後、“1”となる。つまり、強制非重複指示信号が“1”の場合は、ハッシュ値比較手段106の比較結果は信頼性が低いものとなり、比較結果が一致していたとしても、ファイルの内容が異なる場合がある。そこで、本実施の形態では、強制非重複指示信号が“1”の場合は、ハッシュ値比較手段106の比較結果にかかわらず、常に、ファイルを更新することにより、ファイルの整合性を保証できるようにしている。
【0046】
また、データ分割出力手段102から出力されたファイルが新規ファイルである場合(ステップS61がYes)は、該当するハッシュインデックスに上記新規ファイル用のエントリを作成する(ステップS66)。その際、障害フラグには、初期値として“0”を設定する。更に、書き込み手段107は、データ分割出力手段102から出力されている新規ファイルを記憶装置群2上に書き込むと共に、上記ファイル用のエントリに、ハッシュ長変換手段104から出力されているハッシュ値を書き込む(ステップS67)。
【0047】
その後、書き込み手段107は、強制非重複指示手段108から出力されている強制非重複指示信号が“1”であるか否かを判定する(ステップS68)。そして、強制非重複指示信号が“0”の場合(ステップS68がNo)は、処理を終了し、“1”の場合は(ステップS68がYes)は、新規ファイル用に作成したエントリ中の障害フラグを“1”に変更し(ステップS69)、その後、その処理を終了する。なお、図6に示したフローチャートでは、更新ファイルと既存ファイルとのハッシュ値が一致した場合(ステップS63がYes)、処理を終了するようにしたが、ハッシュ値が一致した場合には、実際に更新ファイルと既存ファイルとの内容を比較し、内容が一致した場合には処理終了とし、内容が不一致の場合には、ステップS64と同様の処理を行い、ファイル及びハッシュ値を更新するようにしても良い。
【0048】
ここで、ハッシュ値を利用した重複データの削除処理について説明する。図示を省略した排除手段は、所定のタイミング(ユーザによって指示されたタイミングや、所定時間間隔など)で各階層の記憶装置に設けられているハッシュインデックス毎に、ハッシュ値が同一になっているファイルが存在するか否かを調べる。ハッシュ値が同一のファイルが存在する場合は、そのファイル対は、内容が重複しているので、一方のファイルを削除する、或いは、一方のファイルの中身を他方のファイルへのリンクに書き換えるなどといった重複データの削除処理を行う。なお、障害フラグが“1”になっているファイルについては、ハッシュ値が信頼できないものであるので、ハッシュ値が一致しているか否かにかかわらずファイルの内容を比較し、内容が一致している場合は、上記した重複データの削除処理と同様の処理を行う。
【0049】
[第1の実施の形態の効果]
本実施の形態によれば、データの書き込み時に、データのハッシュ値(識別情報)も書き込むことが必要なデータ書き込み装置において、書き込み処理を短時間で完了させることが望まれるデータの書き込み処理時間を短くすることができるという効果を得ることができる。その理由は、速度が異なる複数の記憶装置から構成される記憶装置群にデータのハッシュ値を書き込む際、データの優先度に応じた記憶装置にハッシュ値を書き込むようにしており、優先度の高いデータのハッシュ値の書き込み時間を短くすることができるからである。また、データの優先度に応じた記憶装置にハッシュ値が記録されているので、優先度の高いデータの読み出し時間を短いものとすることができる。
【0050】
更に、本実施の形態では、データの優先度に応じて記憶装置に書き込むハッシュ値の長さを変更しているので、優先度の高いデータの読み書きを更に短時間で行うことが可能になる。
【0051】
[本発明の第2の実施の形態]
図7を参照すると、本発明にかかるデータ書き込み装置の第2の実施の形態は、識別情報生成手段71と、書き込み手段72と、記憶装置群73とを備えている。
【0052】
識別情報生成手段71には、例えば、バックアップサーバを介して業務サーバなどからの書き込みデータ(バックアップデータ)が送られてくる。識別情報生成手段71は、書き込みデータの内容に応じた識別情報を生成する。識別情報としては、例えば、データのハッシュ値を使用することができる。
【0053】
記憶装置群73は、速度の異なる複数の記憶装置73−1〜73−nから構成されている。例えば、キャッシュメモリ、メモリ、SSD、HDD、テープ装置などから構成される。
【0054】
書き込み手段72は、書き込みデータを記憶装置73−1〜73−nの内の所定の記憶装置に書き込むと共に、識別情報生成手段71で生成された識別情報を記憶装置73−1〜73−nの内の、上記書き込みデータの優先度に応じた記憶装置に書き込む。より具体的には、優先度の高い書き込みデータほど、速度の速い記憶装置に記録する。
【0055】
なお、本実施の形態のデータ書き込み装置も第1の実施の形態と同様にコンピュータによって実現できる。即ち、コンピュータを識別情報生成手段71、書き込み手段72として機能させるためのプログラムを記録したディスク、半導体メモリ、その他の記録媒体を用意し、コンピュータに上記プログラムを読み取らせる。コンピュータは、読み取ったプログラムに従って自身の動作を制御することにより、自コンピュータ上に上記各手段71,72を実現する。
【0056】
[第2の実施の形態の効果]
本実施の形態によれば、データの書き込み時に、データの識別情報も書き込むことが必要になるデータ書き込み装置において、書き込み処理を短時間で完了させることが望まれるデータの書き込み処理時間を短くすることができるという効果を得ることができる。その理由は、速度が異なる複数の記憶装置から構成される記憶装置群にデータの識別情報を書き込む際、データの優先度に応じた記憶装置の識別情報を書き込むようにしており、優先度の高いデータの識別情報の書き込み時間を短くすることができるからである。
【産業上の利用可能性】
【0057】
本発明は、データを書き込む際、データのハッシュ値も併せて記録しておき、データの内容が一致しているか否かをハッシュ値に基づいて判断する計算機システムに適用可能である。
【符号の説明】
【0058】
1 データ書き込み装置
2 記憶装置群
3 汎用バックアップサーバ
4 業務サーバ
21 キャッシュメモリ
22 メモリ
23 SSD
24 HDD
25 テープ装置
101 ファイルシステム管理記憶手段
102 データ分割出力手段
103 ハッシュ値生成手段
104 ハッシュ長変換手段
105 ハッシュ値格納メモリ階層指定手段
106 ハッシュ値比較手段
108 強制非重複指示手段
109 リード制御ブロック
71 識別情報生成手段
72 書き込み手段
73 記憶装置群
73−1〜73−n 記憶装置

【特許請求の範囲】
【請求項1】
書き込みデータの内容に応じた識別情報を生成する識別情報生成手段と、
速度の異なる複数の記憶装置から構成される記憶装置群と、
前記書き込みデータを前記複数の記憶装置の内の所定の記憶装置に書き込むと共に、前記識別情報生成手段で生成された識別情報を前記複数の記憶装置の内の前記書き込みデータの優先度に応じた記憶装置に書き込む書き込み手段とを備えたことを特徴とするデータ書き込み装置。
【請求項2】
請求項1記載のデータ書き込み装置において、
前記書き込みデータは、ユーザが希望する書き込み処理時間が短いものほど、高い優先度を有することを特徴とするデータ書き込み装置。
【請求項3】
請求項1または2記載のデータ書き込み装置において、
前記書き込み手段は、優先度が高い書き込みデータの識別情報ほど、速度が速い記憶装置に書き込むことを特徴とするデータ書き込み装置。
【請求項4】
請求項1乃至3の何れか1項に記載のデータ書き込み装置において、
前記識別情報生成手段は、前記書き込みデータの優先度に応じた長さの識別情報を生成することを特徴とするデータ書き込み装置。
【請求項5】
請求項4記載のデータ書き込み装置において、
前記識別情報生成手段は、優先度が高い書き込みデータほど、長さの短い識別情報を生成することを特徴とするデータ書き込み装置。
【請求項6】
請求項1乃至5の何れか1項に記載のデータ書き込み装置において、
前記書き込みデータの識別情報は、前記書き込みデータのハッシュ値であることを特徴とするデータ書き込み装置。
【請求項7】
速度の異なる複数の記憶装置から構成される記憶装置群と、識別情報生成手段と、書き込み手段とを備えたコンピュータが実行するデータ書き込み方法であって、
前記識別情報生成手段が、書き込みデータの内容に応じた識別情報を生成し、
前記書き込み手段が、前記書き込みデータを前記複数の記憶装置の内の所定の記憶装置に書き込むと共に、前記識別情報生成手段で生成された識別情報を前記複数の記憶装置の内の前記書き込みデータの優先度に応じた記憶装置に書き込むことを特徴とするデータ書き込み方法。
【請求項8】
速度の異なる複数の記憶装置から構成される記憶装置群を備えたコンピュータをデータ書き込み装置として機能させるためのプログラムであって、
前記コンピュータを、
書き込みデータの内容に応じた識別情報を生成する識別情報生成手段、
前記書き込みデータを前記複数の記憶装置の内の所定の記憶装置に書き込むと共に、前記識別情報生成手段で生成された識別情報を前記複数の記憶装置の内の前記書き込みデータの優先度に応じた記憶装置に書き込む書き込み手段として機能させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2013−58133(P2013−58133A)
【公開日】平成25年3月28日(2013.3.28)
【国際特許分類】
【出願番号】特願2011−196963(P2011−196963)
【出願日】平成23年9月9日(2011.9.9)
【出願人】(000004237)日本電気株式会社 (19,353)
【Fターム(参考)】