(57)【要約】【課題】磁気ディスク等に格納されたデータのバックアップを取るときの、バックアップ元の装置からのデータ読み出し速度を向上させるためのデータ記憶制御装置を提供する。【解決手段】本願発明の一実施形態のデータ記憶制御装置は、ブロック単位でデータを記憶する記憶装置の各ブロックの使用未使用を判断する使用ブロック判断手段と、記憶装置における複数のブロックを包含する連続領域から、使用されているブロックに格納されているデータを読み出す場合に、使用ブロック判断手段により使用されていると判断されたブロックのデータのみを読み出すために要する時間と、ブロックの使用未使用にかかわらず連続領域内の全ブロックを読み出すために要する時間を算出して比較するデータ読出時間比較手段と、データ読出時間比較手段の比較結果において、読み出すために要する時間が短い方の方式で、連続領域のデータを読み出すブロックデータ読出手段と、を備える。【選択図】      図１
2013206164.tif 000002
【特許請求の範囲】
【請求項１】
ブロック単位でデータを記憶する記憶装置の各ブロックの使用未使用を判断する使用ブロック判断手段と、
前記記憶装置における複数の前記ブロックを包含する連続領域から、使用されている前記ブロックに格納されているデータを読み出す場合に、前記連続領域内の前記ブロックであって、前記使用ブロック判断手段により使用されていると判断された前記ブロックのデータのみを読み出すために要する時間と、前記ブロックの使用未使用にかかわらず前記連続領域内の全ブロックのデータを読み出すために要する時間を算出して比較するデータ読出時間比較手段と、
前記データ読出時間比較手段の比較結果において、前記読み出すために要する時間が短い方の方式で、前記連続領域のデータを読み出すブロックデータ読出手段と、
を備えるデータ記憶制御装置。
【請求項２】
前記データ読出時間比較手段は、不連続の前記ブロックのデータ読み出し時に発生するオーバヘッドの平均時間と、連続した前記ブロックのデータを読み出す時の１ブロックあたりの平均アクセス時間と、前記使用ブロック判断手段が求めた前記連続領域内の前記ブロックの使用状況の情報を基に、２つの前記方式の前記読み出すために要する時間を算出する
請求項１のデータ記憶制御装置。
【請求項３】
請求項１乃至２のデータ記憶制御装置と、前記記憶装置と、読み出した前記連続領域のデータの格納先の記憶装置を包含するデータ記憶制御システム。
【請求項４】
ブロック単位でデータを記憶する記憶装置の各ブロックの使用未使用を判断し、
前記記憶装置における複数の前記ブロックを包含する連続領域から、使用されている前記ブロックに格納されているデータを読み出す場合に、前記連続領域内の前記ブロックであって、使用されていると判断された前記ブロックのデータのみを読み出すために要する時間と、前記ブロックの使用未使用にかかわらず前記連続領域内の全ブロックのデータを読み出すために要する時間を算出して比較し、
比較結果において、前記読み出すために要する時間が短い方の方式で、前記連続領域のデータを読み出す
データ記憶制御方法。
【請求項５】
不連続の前記ブロックのデータ読み出し時に発生するオーバヘッドの平均時間と、連続した前記ブロックのデータを読み出す時の１ブロックあたりの平均アクセス時間と、前記連続領域内の前記ブロックの使用状況の情報を基に、２つの前記方式の前記読み出すために要する時間を算出する
請求項４のデータ記憶制御方法。
【請求項６】
ブロック単位でデータを記憶する記憶装置の各ブロックの使用未使用を判断する使用ブロック判断処理と、
前記記憶装置における複数の前記ブロックを包含する連続領域から、使用されている前記ブロックに格納されているデータを読み出す場合に、前記連続領域内の前記ブロックであって、前記使用ブロック判断処理により使用されていると判断された前記ブロックのデータのみを読み出すために要する時間と、前記ブロックの使用未使用にかかわらず前記連続領域内の全ブロックのデータを読み出すために要する時間を算出して比較するデータ読出時間比較処理と、
前記データ読出時間比較処理の比較結果において、前記読み出すために要する時間が短い方の方式で、前記連続領域のデータを読み出すブロックデータ読出処理と、
をコンピュータに実行させるデータ記憶制御プログラム。
【請求項７】
前記データ読出時間比較処理は、不連続の前記ブロックのデータ読み出し時に発生するオーバヘッドの平均時間と、連続した前記ブロックのデータを読み出す時の１ブロックあたりの平均アクセス時間と、前記使用ブロック判断処理が求めた前記連続領域内の前記ブロックの使用状況の情報を基に、２つの前記方式の前記読み出すために要する時間を算出する
請求項６のデータ記憶制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本願発明は、磁気ディスク等の記憶装置に格納されたデータの読出しを高速に行うためのデータ記憶制御装置、データ記憶制御システム、データ記憶制御方法、及び、データ記憶制御プログラムに関する。
【背景技術】
【０００２】
情報化の進んだ現代社会では、コンピュータシステムで取り扱うデータの量が年々急速に増加している。そのため、ファイルサーバ等に格納されるデータ量が増加し、テープ装置等へのデータのバックアップ時間が増大する傾向にある。したがって、想定した時間内でのバックアップ運用が困難となり、バックアップ処理の高速化が課題となっている。特に、ディスク装置からテープ装置へのバックアップでは、ディスク装置からのデータの読み込み速度が、バックアップ処理の高速化のネックとなることが多い。
【０００３】
バックアップ方法の一つとして、ＲＡＷデバイスをブロック単位でバックアップする方法がある。この方法はファイルを意識しないため高速という利点があるが、ボリューム全体をバックアップする必要があるため、データの使用量が少ない場合は無駄なバックアップが生じて必要以上の時間がかかるという問題がある。
【０００４】
このような問題に対応するための技術として、特許文献１には以下のようなデータのバックアップの方式が公開されている。バックアップ元の記憶装置の記憶領域を予め定められた大きさのブロックに分割し、各ブロックにデータが記憶されていることを示すブロック使用情況管理ビットマップを作成する。そして、データのバックアップ時には、前述のビットマップの各ビットを調べ、データが記憶されているブロックについてのみ、データのバックアップ処理を行うという方式である。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平8-263389
【発明の概要】
【発明が解決しようとする課題】
【０００６】
前述の特許文献１の方式では、データが記憶されているブロックが不連続である場合、ディスク装置などではシーク等によるオーバヘッドが発生する。したがって、記憶装置のハードウェアの特性や使用ブロックの分布状況次第では、データが記憶されているブロックについてのみバックアップする方式の方が、ブロックの使用状況を考慮しないで全ブロックをバックアップする方式よりも、かえって処理時間が増加する可能性があるという問題がある。
【０００７】
本願発明の目的は、上述の問題点を解決したデータ記憶制御装置、データ記憶制御システム、データ記憶制御方法、及び、データ記憶制御プログラムを提供することである。
【課題を解決するための手段】
【０００８】
本願発明の一実施形態のデータ記憶制御装置は、ブロック単位でデータを記憶する記憶装置の各ブロックの使用未使用を判断する使用ブロック判断手段と、前記記憶装置における複数の前記ブロックを包含する連続領域から、使用されている前記ブロックに格納されているデータを読み出す場合に、前記連続領域内の前記ブロックであって、前記使用ブロック判断手段により使用されていると判断された前記ブロックのデータのみを読み出すために要する時間と、前記ブロックの使用未使用にかかわらず前記連続領域内の全ブロックのデータを読み出すために要する時間を算出して比較するデータ読出時間比較手段と、前記データ読出時間比較手段の比較結果において、前記読み出すために要する時間が短い方の方式で、前記連続領域のデータを読み出すブロックデータ読出手段と、を備える。
【０００９】
本願発明の一実施形態のデータ記憶制御方法は、ブロック単位でデータを記憶する記憶装置の各ブロックの使用未使用を判断し、前記記憶装置における複数の前記ブロックを包含する連続領域から、使用されている前記ブロックに格納されているデータを読み出す場合に、前記連続領域内の前記ブロックであって、使用されていると判断された前記ブロックのデータのみを読み出すために要する時間と、前記ブロックの使用未使用にかかわらず前記連続領域内の全ブロックのデータを読み出すために要する時間を算出して比較し、比較結果において、前記読み出すために要する時間が短い方の方式で、前記連続領域のデータを読み出す。
【００１０】
本願発明の一実施形態のデータ記憶制御プログラムは、ブロック単位でデータを記憶する記憶装置の各ブロックの使用未使用を判断する使用ブロック判断処理と、前記記憶装置における複数の前記ブロックを包含する連続領域から、使用されている前記ブロックに格納されているデータを読み出す場合に、前記連続領域内の前記ブロックであって、前記使用ブロック判断処理により使用されていると判断された前記ブロックのデータのみを読み出すために要する時間と、前記ブロックの使用未使用にかかわらず前記連続領域内の全ブロックのデータを読み出すために要する時間を算出して比較するデータ読出時間比較処理と、前記データ読出時間比較処理の比較結果において、前記読み出すために要する時間が短い方の方式で、前記連続領域のデータを読み出すブロックデータ読出処理と、をコンピュータに実行させる。
【発明の効果】
【００１１】
本願発明は、磁気ディスク等の記憶装置の所定連続領域内に格納されたデータ読み出し速度を向上させる。
【図面の簡単な説明】
【００１２】
【図１】本願発明の第１の実施形態のデータ記憶制御システムの構成を示すブロック図である。
【図２】本願発明の第１の実施形態の動作を示すフローチャートである。
【図３】本願発明の第１の実施形態における各データ読み出し方式の読み出し時間算出例である。
【図４】本願発明の第２の実施形態のデータ記憶制御システムの構成を示すブロック図である。
【発明を実施するための形態】
【００１３】
本願発明の第一の実施の形態について図面を参照して詳細に説明する。
【００１４】
図１は本実施形態のデータ記憶制御システムの構成を示すブロック図である。
【００１５】
本実施形態のデータ記憶制御システム０は、データ記憶制御装置１と、ディスク装置２と、テープ装置３とを包含している。
【００１６】
データ記憶制御装置１は、ディスク装置２に格納されたデータをテープ装置３へバックアップするコマンドを外部から受信すると、ディスク装置２に格納されているデータを読み出して、テープ装置３にバックアップデータとして格納するためのバックアップ処理を実行する。
【００１７】
ディスク装置２は、ある特定のサイズのブロック領域単位でデータを格納しており、ブロック単位でデータの読み出し、書き込みを行う。ディスク装置２は、ブロック毎にデータが格納されていることを示すブロック使用フラグを包含しており、あるブロックへのデータの格納を行うときに、当該ブロックのブロック使用フラグをセットする。
【００１８】
データ記憶制御装置１は、使用ブロック判断部１０と、データ読出時間比較部１１と、ブロックデータ読出部１２と、Ｉ／Ｏ制御部１３とを包含している。Ｉ／Ｏ制御部１３は、データ記憶制御装置１が、ディスク装置２、およびテープ装置３へアクセスするときに、データの読み込みと書き込みを制御する。
【００１９】
使用ブロック判断部１０は、ディスク装置２からテープ装置３へのデータバックアップコマンドにおいて指示された、ディスク装置２におけるバックアップ領域に含まれるブロックに対応するブロック使用フラグの情報を読み出し、ブロック使用フラグ１００として格納する。使用ブロック判断部１０は、ブロック使用フラグ１００の情報を、データ読出時間比較部１１へ送付する。
【００２０】
データ読出時間比較部１１は、受信したブロック使用フラグ１００の情報を、ブロック使用フラグ１１０として格納する。データ読出時間比較部１１は、オーバヘッド平均時間情報１１１と、ブロックアクセス平均時間情報１１２とを格納している。
【００２１】
オーバヘッド平均時間情報１１１は、ディスク装置２における不連続ブロックの読み出し時に発生するシーク等のオーバヘッドの平均時間の値である。ブロックアクセス平均時間時間情報１１２は、ディスク装置２における連続ブロックを読み出す場合の１ブロックあたりの平均アクセス時間の値である。オーバヘッド平均時間情報１１１と、ブロックアクセス平均時間情報１１２は、ディスク装置２のハードウェアの特性情報を基に、本実施形態のデータ記憶制御システム０の管理者により、事前に設定される。
【００２２】
データ読出時間比較部１１は、ディスク装置２におけるバックアップ対象の連続領域内の使用ブロックのみのデータの読み出しに要する時間と、ブロックの使用未使用にかかわらずバックアップ対象の連続領域内の全ブロックのデータの読み出しに要する時間を算出して比較する。
【００２３】
上述の２つの読み出し方式に対応する、データの読み出しに要する時間の算出例の詳細を図３に示す。連続領域内の使用ブロックのみのデータを読み出す場合のイメージ２００、および、ブロックの使用未使用にかかわらず連続領域内の全ブロックのデータを読み出す場合のイメージ２０１における太線で囲まれた部分は、ディスク装置２におけるバックアップ対象の連続領域である。太線で囲まれた部分で、網掛けされたブロックデータで示されるブロックが、使用されているブロックである。図３の例では、バックアップ対象の連続領域は、ｎ個の使用ブロックと、１個の使用ブロックと、それら使用ブロックに挟まれたｍ個の未使用ブロックを包含している。ｎ個と１個の使用ブロックに対応するブロック使用フラグは、ディスク装置２によりセットされている。
【００２４】
連続領域内の使用ブロックのみのデータを読み出す場合のデータ読み出しに要する時間ｔ１は、
ｔ１  ＝  α  ＋  ｎβ  ＋  α  ＋  β
の式で算出される。ここで、αはオーバヘッド平均時間情報１１１の値であり、βはブロックアクセス平均時間情報１１２である。
【００２５】
一方、ブロックの使用未使用にかかわらず連続領域内の全ブロックのデータを読み出す場合のデータ読み出しに要する時間ｔ２は、
ｔ２  ＝  α  ＋  （ｎ  ＋  ｍ  ＋  １）β
の式で算出される。
【００２６】
したがって、上述のｔ１とｔ２の差分は、
ｔ１  −  ｔ２  ＝  α  −  ｍβ
の式で算出される。
【００２７】
データ読出時間比較部１１は、上述の２つの時間のｔ１とｔ２の比較結果とブロック使用フラグ１１０の情報をブロックデータ読出部１２に送付する。
【００２８】
ブロックデータ読出部１２は、受信したブロック使用フラグ１１０の情報をブロック使用フラグ１２０として格納する。ブロックデータ読出部１２は、上述の比較結果において、ｔ１の方がｔ２より短い場合は、ブロック使用フラグ１２０においてセットされたフラグに対応するブロックのみについて、データをディスク装置２から読み出し、読み出したデータをテープ装置３へ格納する。
【００２９】
ブロックデータ読出部１２は、上述の比較結果において、ｔ２の方がｔ１より短い場合は、図３におけるブロックの使用未使用にかかわらず連続領域内の全ブロックのデータを読み出す場合のイメージ２０１に示すとおり、未使用のｍ個のブロックに対応するブロック使用フラグをセットして、ブロック使用フラグ１２０を更新する。ブロックデータ読出部１２は、バックアップ対象の連続領域に含まれる全ブロックについて、データをディスク装置２から読み出し、読み出したデータをテープ装置３へ格納する。
【００３０】
現在の技術では、ＦＣ（Ｆｉｂｅｒ  Ｃｈａｎｅｌ）ディスクやＳＡＳ（Ｓｅｒｉａｌ  Ａｔｔａｃｈｅｄ  ＳＣＳＩ）ディスクのシーク時間は４ｍ秒、回転待ち時間は、１００００ｒｐｍのディスクで４ｍ秒であり、この場合の図３のαの値は８ｍ秒である。また、これらディスクのデータ読み込み性能は、約８０ＭＢ／秒であり、ブロックサイズを１２８ＫＢとした場合の図３のβの値は１．６ｍ秒となる。
【００３１】
上述の場合、ｔ１＞ｔ２となる条件は、α−ｍβ＞０であることから、ｍ＜α／βより、ｍ＜５となる。このことから、２つの使用ブロックに挟まれる未使用ブロックの数が５より小さい場合は、未使用ブロックに対応するブロック使用フラグをセットして、バックアップ対象の連続領域に含まれる全ブロックについて、データをディスク装置２から読み出した方が、読み出し時間を短縮化できることになる。
【００３２】
次に図２のフローチャートを参照して、本実施形態の動作について詳細に説明する。
【００３３】
データ記憶制御装置１は、ディスク装置２に格納されたある連続領域内のデータをテープ装置３へバックアップするコマンドを外部から受信する（Ｓ１０１）。使用ブロック判断部１０は、バックアップ対象領域における各ブロックのブロック使用フラグを、Ｉ／Ｏ制御部１３を介して、ディスク装置２から読み出して、ブロック使用フラグ１００として格納し、ブロック使用フラグ１００の情報を、データ読出時間比較部１１へ送付する（Ｓ１０２）。
【００３４】
データ読出時間比較部１１は、ブロック使用フラグ１００の情報を格納したブロック使用フラグ１１０と、オーバヘッド平均時間情報１１１と、ブロックアクセス平均時間情報１１２とを基に、連続領域内の使用ブロックのみのデータ読み出しに要する時間と、ブロックの使用未使用にかかわらず連続領域内の全ブロックのデータ読み出しに要する時間を算出して比較する。そして、比較結果とブロック使用フラグ１１０の情報をブロックデータ読出部１２へ送付する（Ｓ１０３）。
【００３５】
比較結果において、使用ブロックのみのデータを読み出す時間の方が短い場合（Ｓ１０４でＹｅｓ）、ブロックデータ読出部１２は、ブロック使用フラグ１１０の情報を格納したブロック使用フラグ１２０の情報を基に、バックアップ対象領域において、ブロック使用フラグ１２０がセットされているブロックについてのみ、Ｉ／Ｏ制御部１３を介してディスク装置２からデータを読み出す。そして、読み出したデータをテープ装置３へ格納し（Ｓ１０５）、全体の処理は終了する。
【００３６】
比較結果において、使用ブロックのみのデータを読み出す時間の方が長い場合（Ｓ１０４でＮｏ）、ブロックデータ読出部１２は、ブロック使用フラグ１１０の情報を格納したブロック使用フラグ１２０の、バックアップ対象領域内の未使用ブロックの使用フラグをセットして、バックアップ対象領域内の全ブロックについて、Ｉ／Ｏ制御部１３を介してディスク装置２からデータを読み出す。そして、読み出したデータをテープ装置３へ格納し（Ｓ１０６）、全体の処理は終了する。
【００３７】
本実施形態には、ディスク装置に格納されたデータのバックアップをとる場合に、ディスク装置からのデータの読み出しを高速化する効果がある。その理由は、データ読出時間比較部１１が、ディスク装置２におけるバックアップ対象領域が包含する使用ブロックのみを読み出す場合と、未使用ブロックを含めた連続ブロックを読み出す場合のデータ読み出しに要する時間をそれぞれ算出して、データ記憶制御装置１が、読み出し時間の短い方の方法でデータを読み出すからである。
【００３８】
ディスク装置からのデータの読み出し時間は、不連続ブロックの読み出し時に発生するシーク等のオーバヘッドの時間と、１ブロックのデータの読み出しに必要なアクセス時間とに左右される。使用ブロックのみを読み出すことで未使用のブロックへのアクセス時間を削減することの方が時間短縮効果が大きいのか、それとも未使用ブロックを含めた連続ブロックを読み出すことでオーバヘッドの時間を削減することの方が時間短縮効果が大きいのかは、ディスク装置のハードウェアの特性と、使用ブロックの分布状況により決定する。
【００３９】
本実施形態では、データ読出時間比較部１１が、ブロック使用フラグ１１０と、オーバヘッド平均時間情報１１１と、ブロックアクセス平均時間情報１１２の各情報を保持しているため、上述の２つのデータ読み出し方式のどちらの読み出し時間が短いのかを、データの読み出し時に算出して比較することが可能となる。
＜第二の実施形態＞
次に、本願発明の第二の実施形態について図面を参照して詳細に説明する。
【００４０】
図４は本願発明の第二の実施形態のデータ記憶制御システムの構成を示すブロック図である。
【００４１】
本実施形態のデータ記憶制御システム０は、データ記憶制御装置１と、記憶装置４とを包含している。記憶装置４はブロック単位でデータを記憶しており、不連続ブロックの読み出し時にオーバヘッドが生じる記憶装置である。
【００４２】
データ記憶制御装置１は、使用ブロック判断部１０と、データ読出時間比較部１１と、ブロックデータ読出部１２とを包含している。
【００４３】
使用ブロック判断部１０は、記憶装置４の各ブロックの使用未使用を判断する。
【００４４】
データ読出時間比較部１１は、記憶装置４における複数のブロックを包含する連続領域から、使用されているブロックに格納されているデータを読み出す場合に、連続領域内のブロックであって、使用ブロック判断部１０により使用されていると判断されたブロックのデータのみを読み出すために要する時間と、ブロックの使用未使用にかかわらず連続領域内の全ブロックを読み出すために要する時間を算出して比較する。
【００４５】
ブロックデータ読出部１２は、データ読出時間比較部１１の比較結果において、読み出すために要する時間が短い方の方式で、連続領域のデータを読み出す。読み出したデータの格納先は図示していないが、第一の実施形態と同様にテープ装置の場合もあれば、ディスク装置等の他の種類の記憶装置の場合もある。
【００４６】
本実施形態には、記憶装置に格納されたデータのバックアップをとる場合に、記憶装置からのデータの読み出しを高速化する効果がある。その理由は、データ読出時間比較部１１が、記憶装置４におけるバックアップ対象領域が包含する使用ブロックのみを読み出す場合と、未使用ブロックを含めた連続ブロックを読み出す場合のデータ読み出しに要する時間をそれぞれ算出して、データ記憶制御装置１が、読み出し時間の短い方の方法でデータを読み出すからである。
【００４７】
本実施形態のテータ読出時間比較部１１は、上述の２つのデータの読み出し方式でのデータ読み出しの時間を、第一の実施形態と同様に、オーバヘッド平均時間情報１１１とブロックアクセス平均時間情報１１２を保持して算出する場合もあれば、他の方法で算出する場合もある。例えば、上述の例のとおり、図３におけるαの値が８ｍ秒、βの値が１．６ｍ秒の記憶装置の場合であれば、ｍ＝５を境界に、上述の２つのデータの読み出し方式の読み出し時間の大小関係が逆転する。したがって、テータ読出時間比較部１１は、ブロック使用フラグの情報から、２つの使用ブロックに挟まれた未使用ブロックの個数が５より大きいか小さいかを算出する方法でも対応可能であり、第一の実施形態の算出方法と比較して、ロジックを簡素化することが可能である。
【００４８】
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されたものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【符号の説明】
【００４９】
０    データ記憶制御システム
１    データ記憶制御装置
１０    使用ブロック判断部
１１    データ読出時間比較部
１２    ブロックデータ読出部
１３    Ｉ／Ｏ制御部
１００    ブロック使用フラグ
１１０    ブロック使用フラグ
１１１    オーバヘッド平均時間情報
１１２    ブロックアクセス平均時間情報
１２０    ブロック使用フラグ
２    ディスク装置
３    テープ装置
４    記憶装置
２００    連続領域内の使用ブロックのみのデータを読み出す場合のイメージ
２０１    ブロックの使用未使用にかかわらず連続領域内の全ブロックのデータを読み出す場合のイメージ
【図１】
2013206164.tif 000003
【図２】
2013206164.tif 000004
【図３】
2013206164.tif 000005
【図４】
2013206164.tif 000006