(57)【要約】      （修正有）【課題】ハードディスク記憶装置の特性に合ったデータ単位でデータの読み書きを行う読取装置、書込み装置及び、データのコピー時間を短縮できるハードディスク記憶装置の複写装置を提供する。【解決手段】マスタートハードディスク記憶装置ＭＨからターゲットハードディスク記憶装置ＴＨ１〜３へデータの複写を行う際に、複写処理の最初に、１回のコマンドでリード／ライトできるデータ量を、１データ単位として、このデータ単位を変更して、複写処理を行い、各データ単位における複写時間を計測する。そして、最も複写時間が短いデータ単位を用いて、残りのデータの複写処理を行うことにより、より短い処理時間で複写を完了させることができる。【選択図】図１
0003198192.tif 000002
【実用新案登録請求の範囲】
【請求項１】
記憶装置に接続される接続端子と、
該接続端子に接続された記憶装置から所定の単位データ毎にデータを読み取る読取手段とを有するデータ読取装置であって、
データ量の異なる複数の単位データを記憶する単位データ記憶手段と、
前記単位データ記憶手段で記憶された各単位データを用いて、一定量のデータを読み取ったときの処理時間を各単位データ毎に計測する処理時間計測手段と、
前記処理時間計測手段によって計測された処理時間を単位データ毎に記憶する処理時間記憶手段と、
前記処理時間記憶手段に記憶されている処理時間の中で最も処理時間の短い単位データを決定する単位データ決定手段と、
前記単位データ決定手段で決定された単位データを用いてその後の記憶装置からの読み取り処理を実行する読取実行手段とを備える読取装置。
【請求項２】
記憶装置に接続される接続端子と、
該接続端子に接続された記憶装置に、所定の単位データ毎にデータを書き込む書込み手段とを有するデータ書込み装置であって、
データ量の異なる複数の単位データを記憶する単位データ記憶手段と、
前記単位データ記憶手段で記憶された各単位データを用いて、一定量のデータを書き込んだときの処理時間を単位データ毎に計測する処理時間計測手段と、
前記処理時間計測手段によって計測された処理時間を単位データ毎に記憶する処理時間記憶手段と、
前記処理時間記憶手段に記憶されている処理時間の中で最も処理時間の短い単位データを決定する単位データ決定手段と、
前記単位データ決定手段で決定された単位データを用いてその後の記憶装置への書き込み処理を実行する書込み実行手段とを備える書込み装置。
【請求項３】
複写元記憶装置に接続される第1接続端子と、複写先記憶装置に接続される第２接続端子と、
複写元記憶装置から所定の単位データ毎にデータを読み取る読取手段と、
複写元記憶装置から読み取ったデータの読み取り開始位置の物理フォーマットにおけるアドレスを記憶するアドレス記憶手段と、
前記アドレス記憶手段が記憶しているアドレスと同じアドレス位置から複写先記憶装置に前記読取手段で読み取ったデータを書き込む書込み手段を備え、読取手段で読み取ったデータを書込み手段で書き込むことにより複写処理を行う複写装置であって、
１回のコマンドで、複写元記憶装置からデータ読み取り、複写先記憶装置へデータ書き込みを実行する単位データを、データ量の異なる単位データとして複数種類記憶する単位データ記憶手段と、
複写処理中において、前記単位データ記憶手段で記憶されている複数の単位データを用いて、予め定められた一定量のデータの複写処理を実行する予備処理手段と、
前記予備処理手段によって処理された各単位データの処理時間を単位データ毎に計測する処理時間計測手段と、
前記処理時間計測手段によって計測された処理時間を単位データ毎に記憶する処理時間記憶手段と、
前記処理時間記憶手段が記憶している処理時間を比較し、最も短い処理時間の単位データを複写処理に用いる単位データとして決定する単位データ決定手段と、
前記単位データ決定手段によって決定された単位データを用いて複写処理を実行する複写手段とを備えたことを特徴とする複写装置。
【請求項４】
前記第２接続端子を複数有し、前記書込み手段は、複数の複写先記憶装置にそれぞれ読み取ったデータの書き込みを行う請求項３に記載の複写装置。
【考案の詳細な説明】
【技術分野】
【０００１】
この考案は、パーソナルコンピュータ等の電子計算機器に用いられる記憶装置に記録されているデータを他の記憶装置に転送する装置に係り、詳しくは、記憶装置の特性に沿ったデータ転送ができる読取装置、書込み装置及び複写装置に関するものである。
【背景技術】
【０００２】
従来、パーソナルコンピュータ等に搭載される記憶装置としては、例えば、記憶容量が大きくアクセス時間が比較的短いハードディスク記憶装置がある。このハードディスク記憶装置は、例えば、パーソナルコンピュータのオペレーションシステム等のソフトウエアーを記憶する記憶装置として用いられており、大量のパーソナルコンピュータを製造、出荷する際には、ハードディスク記憶装置に、既述のシステムソフトを書き込む作業が行なわれる。
【０００３】
従来、このようなハードディスク記憶装置へのデータの書込みには、パーソナルコンピュータの使用に必要なシステムソフトを書き込んだハードディスク記憶装置（複写元記憶装置:マスターＨＤＤ）を作成し、このマスターＨＤＤから、実際にパーソナルコンピュータへ装填される複数のハードディスク記憶装置（複写先記憶装置:ターゲットＨＤＤ）へデータを物理コピーすることにより行われていた。具体的には、マスターＨＤＤの所定の読み取り開始位置からセクタ単位で所定量のデータを読み取り、これをターゲットＨＤＤへ転送し、ターゲットＨＤＤの対応するアドレスから順に書き込み、次のコピーのために、最初に読み取ったデータの次のアドらレスから所定量のデータを読み出す、といった動作が繰り返される。
【０００４】
このようなハードディスク記憶装置のデータをコピーする装置として、例えば下記先行特許文献に記載されているような装置がある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−１０８４１０公報
【特許文献２】特開２００５−９２３７３公報
【考案の概要】
【考案が解決しようとする課題】
【０００６】
ところで、出願人は従来よりハードディスク記憶装置のコピー装置を開発し、多数の種類のハードディスク記憶装置のデータのコピーを行っているが、同一容量のハードディスク記憶装置であるにもかかわらず、全てのデータのコピーが終了するまでの時間に差があるという問題があった。この理由を解析すると、データを転送する単位となる、一回のコマンドで実行される読み取り処理又は書き込み処理のデータ量と、読み取り処理又は書き込み処理が終了する時間との間の関係に特性があり、この特性がハードディスク記憶装置の種類によって異なることが判明した。
【０００７】
すなわち、図７に示されているように、横軸に一回毎の読み取り又は書き込みを行う際のデータ量（1回のライト又はリードコマンドによって転送されるデータ量）を表すセクタ数、縦軸に1回のコマンドによって処理が終了するまでの時間として、両者の関係を示すと、異なるハードディスク記憶装置の間には、セクタ数と処理時間の間に共通する相関関係はなく、（例えば、転送するセクタ数が増加するに従って処理時間が長くなるとは限らない。）ハードディスク記憶装置の種類Ａ〜Ｃによって、異なる関係を示すものとなる。つまり、ハードディスク記憶装置の種類によって、最も処理時間が短いセクタ数が異なるのである。
【０００８】
ところが、従来のコピー装置では、一回のライドコマンド（または、リードコマンド）によるデータ転送で送られるデータ量は、予め固定されているため、ハードディスク記憶装置の種類によっては、同じ容量を有する記憶装置であっても、処理時間がかえって長くなってしまう場合もある。特に、近年ではハードディスク記憶装置の容量が増大しており、一回の読み書きの処理時間の差が、全データのコピー処理が終了するまでの時間に大きな差を生じさせていた。
【０００９】
この考案は、ハードディスク記憶装置の特性に合ったデータ単位でデータの読み書きを行うことで、データのコピー時間を短縮できるハードディスク記憶装置の複写装置を提供することを目的とするものである。
【課題を解決するための手段】
【００１０】
以上のような問題を解決する本考案は、以下のような構成を有する。
（１）記憶装置に接続される接続端子と、
該接続端子に接続された記憶装置から所定の単位データ毎にデータを読み取る読取手段とを有するデータ読取装置であって、
データ量の異なる複数の単位データを記憶する単位データ記憶手段と、
前記単位データ記憶手段で記憶された各単位データを用いて、一定量のデータを読み取ったときの処理時間を各単位データ毎に計測する処理時間計測手段と、
前記処理時間計測手段によって計測された処理時間を単位データ毎に記憶する処理時間記憶手段と、
前記処理時間記憶手段に記憶されている処理時間の中で最も処理時間の短い単位データを決定する単位データ決定手段と、
前記単位データ決定手段で決定された単位データを用いてその後の記憶装置からの読み取り処理を実行する読取実行手段とを備える読取装置。
【００１１】
（２）記憶装置に接続される接続端子と、
該接続端子に接続された記憶装置に、所定の単位データ毎にデータを書き込む書込み手段とを有するデータ書込み装置であって、
データ量の異なる複数の単位データを記憶する単位データ記憶手段と、
前記単位データ記憶手段で記憶された各単位データを用いて、一定量のデータを書き込んだときの処理時間を単位データ毎に計測する処理時間計測手段と、
前記処理時間計測手段によって計測された処理時間を単位データ毎に記憶する処理時間記憶手段と、
前記処理時間記憶手段に記憶されている処理時間の中で最も処理時間の短い単位データを決定する単位データ決定手段と、
前記単位データ決定手段で決定された単位データを用いてその後の記憶装置への書き込み処理を実行する書込み実行手段とを備える書込み装置。
【００１２】
（３）複写元記憶装置に接続される第1接続端子と、複写先記憶装置に接続される第２接続端子と、
複写元記憶装置から所定の単位データ毎にデータを読み取る読取手段と、
複写元記憶装置から読み取ったデータの読み取り開始位置の物理フォーマットにおけるアドレスを記憶するアドレス記憶手段と、
前記アドレス記憶手段が記憶しているアドレスと同じアドレス位置から複写先記憶装置に前記読取手段で読み取ったデータを書き込む書込み手段を備え、読取手段で読み取ったデータを書込み手段で書き込むことにより複写処理を行う複写装置であって、
１回のコマンドで、複写元記憶装置からデータ読み取り、複写先記憶装置へデータ書き込みを実行する単位データを、データ量の異なる単位データとして複数種類記憶する単位データ記憶手段と、
複写処理中において、前記単位データ記憶手段で記憶されている複数の単位データを用いて、予め定められた一定量のデータの複写処理を実行する予備処理手段と、
前記予備処理手段によって処理された各単位データの処理時間を計測する処理時間計測手段と、
前記処理時間計測手段によって計測された処理時間を単位データ毎に記憶する処理時間記憶手段と、
前記処理時間記憶手段が記憶している処理時間を比較し、最も短い処理時間の単位データを複写処理に用いる単位データとして決定する単位データ決定手段と、
前記単位データ決定手段によって決定された単位データを用いて複写処理を実行する複写手段とを備えたことを特徴とする複写装置。
【００１３】
（４）前記第２接続端子を複数有し、前記書込み手段は、複数の複写先記憶装置にそれぞれ読み取ったデータの書き込みを行う上記 （３）に記載の複写装置。
【考案の効果】
【００１４】
請求項１に記載の考案によれば、記憶装置から所定量のデータを読み出す際に、単位データ記憶手段にデータ量の異なる複数の単位データを記憶させておき、記憶されている各単位データによって、同量のデータを読み取った時の読み取り処理時間を単位データ毎に記憶する。記憶された処理時間の中から最も短い処理時間の単位データを抽出し、その後の読み取り処理に用いる単位データとして用いる。このように、処理時間の短い単位データを選びだし、これを読み取り処理に用いる単位データとして採用することで、データの読み出し時間を短縮することができる。
【００１５】
請求項２に記載の考案によれば、記憶装置に所定量のデータを書き込む際に、単位データ記憶手段にデータ量の異なる複数の単位データを記憶させておき、記憶されている各単位データによって、同量のデータを読み取った時の書き込み処理時間を単位データ毎に記憶する。記憶された処理時間の中から最も短い処理時間の単位データを抽出し、その後の書き込み処理に用いる単位データとして用いる。このように、処理時間の短い単位データを選びだし、これを書き込み処理に用いる単位データとして採用することで、データの書き込み時間を短縮することができる。
【００１６】
請求項３に記載の考案によれば、１回のコマンドで複写するデータ単位毎に、処理時間を計測し、最も短い処理時間となるデータ単位で、複写先記憶装置にデータを複写するので、複写時間を短縮することができる。
【００１７】
請求項４に記載の考案によれば、複写先記憶装置が複数ある場合には、コピー先の記憶容量が更に拡大するため、１回のコマンドで処理できるコピー時間の差が、全ての複写先記憶装置への複写が完了するまでの所要時間に大きな差を及ぼすこととなるので、このような複写装置に用いることは、特に有用である。
【図面の簡単な説明】
【００１８】
【図１】本考案の複写装置の構成を示すブロック図である。
【図２】複写処理のメインフローチャートである。
【図３】単位データ決定ルーチンを示すフローチャートである。
【図４】複写処理ルーチンを示すフローチャートである。
【図５】他の構成例における単位データ決定ルーチンを示すフローチャートである。
【図６】他の構成例における単位データ決定ルーチンを示すフローチャートである。
【図７】単位データのデータ量の大きさと、処理時間のハードディスク記憶装置毎の特性をしめすグラフである。
【考案を実施するための形態】
【００１９】
以下、本考案の好適実施形態について、詳細に説明する。図１は、本考案の複写装置の構成を示すブロック図である。複写装置１は、複写元ハードディスク記憶装置であるマスターハードディスク記憶装置ＭＨから読み取ったデータを複写先ハードディスク記憶装置であるターゲットハードディスク記憶装置ＴＨに書き込み、マスタートハードディスク記憶装置ＭＨからターゲットハードディスク記憶装置ＴＨにミラーコピーする装置である。
【００２０】
複写装置１は、処理装置２０(ＣＰＵ:Central Processing Unit）と、ハードディスク記憶装置から読み取ったデータを一時格納するメモリ３１〜３３と、マスタートハードディスク記憶装置ＭＨに接続される第1接続端子である接続端子４Ｍと、ターゲットハードディスク記憶装置ＴＭ１〜ＴＭ３に接続される第２接続端子である接続端子４Ｔ１〜４Ｔ３を備えている。各接続端子４Ｔ１〜４Ｔ３には、これに接続されるターゲットハードディスク記憶装置ＴＨ１〜ＴＨ３へのデータの転送を中継するための制御回路ＣＰＵ２１〜２３がそれぞれ接続されている。
ＣＰＵ２０と、メモリ３１〜３３と、接続される接続端子４Ｍと、ＣＰＵ２１〜２３とは、バスライン５で接続されている。
【００２１】
ＣＰＵ２０〜２３は、コマンドをハードディスク記憶装置に出力することにより、データの読み出しと書き込みを行う。この実施形態におけるハードディスク記憶装置は、例えば４８ｂｉｔＬＢＡ規格である。ＣＰＵ２０は、１回のコマンド出力によって、決められた一定量のデータを読み出し（又は、書き込み）、コマンドを繰り返し出力することによって、順にデータを読み出す（又は、書き込む）。このコマンドの出力によって転送されるデータの塊を単位データと定義する。
【００２２】
ＣＰＵ２０は、１回のコマンドで読み出す(又は書き込む)データ量を複数記憶し、リードコマンド又はライトコマンドを出力する場合には、リード又はライトを開始するアドレスと、リード又はライトするデータ量を同時に出力することで、ハードディスク記憶装置内のデータを特定する。例えば、「Read LBA0LBC256」なるリードコマンドは、0番目のセクタ(ＬＢＡ規格における最初のセクタ)から、順に256番目セクタまでを読み出す、といった内容となり、これに対応するライトコマンドは、「Write LBA0LBC256」となり、0番目のセクタ(ＬＢＡ規格における最初のセクタ)から、順に256番目セクタまで書き込む、といった内容となる。そして、次に発行されるリードコマンドは、「Read LBA256LBC512」、ライトコマンドは、「Write LBA256LBC512」となる。このように、リードコマンドを発行するたびに間を空けずに順にデータが読み取られる。また、リードコマンドに対応するライトコマンドを発行することによって、ターゲットハードディクス記憶装置に対して、マスターハードディスク記憶装置と同じアドレス上に、データが複写される。読み取りと同じように、順にデータが書き込まれる。
【００２３】
一回のコマンドでデータの読み出し(又は、書き込み)が行われる単位データのデータ量としては、２５６セクタの他、例えば、２０４８セクタ、８１９２セクタ、１６３８４セクタ、６５５３６セクタ等が挙げられる。これらの値は、予め決定されており、ＣＰＵ２０内のメモリに記憶されている。
ＣＰＵ２０は、マスタートハードディスク記憶装置ＭＨからターゲットハードディスク記憶装置ＴＨ１〜３へ複写動作を開始すると、最初に、１回のコマンドで複写するデータ量を変更して、予め決められた特定量のデータ量で、複写動作を行う。この際、各データ単位で複写を行った場合の処理時間（複写が完了するまでの時間）を記憶し、記憶された処理時間の中で、最も時間の短い単位データを決定し、この決定された一つの単位データを用いてハードディスク記憶装置の残りのデータの複写処理を実行する。
【００２４】
具体的に説明すると、複写を行う際、既述のデータ単位の中から複数個抽出し(例えば、３つ: ２５６セクタ、１６３８４セクタ、６５５３６セクタ)、それぞれのデータ単位で、特定量のデータを複写する。この特定量のデータは、例えば、異なるデータ量である単位データに対して、各データ量の公倍数であるとよい。既述の例に基づけば、単位データのデータ利用が、２５６セクタ、１６３８４セクタ、６５５３６セクタであった場合には、６５５３６セクタの整数倍の値であることが好ましい。
【００２５】
この複写データは、マスタートハードディスク記憶装置から読み出したデータである。そして、それぞれの単位データで同一量（特定量）のデータを複写した際の処理時間(ターゲットハードディスク記憶装置ＴＨ１〜３の１つに複写か完了した時間)を記憶し、複写に用いた各単位データにおける経過時間を比較する。この中で、最も短い時間となった単位データを、以後複写処理を行う際の単位データとして決定する。
【００２６】
以下本考案の処理手順について、フローチャートに基づいて説明する。図２は、複写処理におけるメインルーチンを示すフローチャートである。最初に初期化して、前回の処理において記憶されたデータなどをクリアーにし、また接続された記憶装置に関する情報、例えば、IDENTIFY DEVICE コマンドの発行によって得られる情報（記憶容量）等を取得する（ステップＳ１０１）。
【００２７】
単位データ決定ルーチンを実行する（ステップＳ１０３）。単位データ決定ルーチンで決定された単位データを、１回のコマンド出力毎に転送し、残りの領域のデータの複写処理を開始する（ステップＳ１０５）。予め定められた所定量のデータがコピーされたか判断し（ステップＳ１０７）、所定量のデータコピーが完了している場合には、再度単位データ決定ルーチンを実行する（ステップＳ１０９）。これは、ハードディスク装置にディスクに対するヘッドの位置によって、読み取り処理や書き込み処理の処理時間が変化する可能性があるので、所定量のデータコピーが終了した時点で、複数の単位データ毎の処理時間を再計測し、他の単位データの処理時間が短くなっていた場合には、単位データを変更する。
ステップＳ１０９で決定された単位データを、１回のコマンド出力毎に転送し、残りの領域のデータの複写処理を開始する（ステップＳ１１１）。複写処理ルーチン（ステップＳ１１１）で複写処理が終了した時点でメインルーチンが終了する。
【００２８】
ステップＳ１０７での所定量とは、ステップＳ１０１で取得した記憶容量の３分の１、２分の１、３分の２の量など、ステップＳ１０１で算出されている。或いは、接続された記憶装置には関係なく、予め決められた量（例えば、１０ギガバイト毎、２０ギガバイト毎、１００ギガバイト毎、５００ギガバイト毎・・）等であってもよい。さらに、１回のコマンドによって、マスタートハードディスク記憶装置から読み出しを開始してから、読み出したデータをターゲットハードディスク記憶装置へ書き込みを終了させるまでの時間（処理時間）を所定の間隔でモニターし、その時間が、コピーを開始した時と比較して、所定の割合（例えば、１０％〜３０％）長くなった場合に、ステップＳ１０９を実行する構成であってもよい。或いは、特定量のデータの複写処理時間を定期的に又はランダムに検出し、最初に複数の単位データで複写処理した時の各処理時間と比較して、他の単位データの処理時間のいずれかよりも長くなった場合であってもよい。上記ステップＳ１０５又はＳ１１１において、データ転送ステップ及び転送ステップが構成される。
【００２９】
図３は、本考案の単位データ決定ルーチンを示すフローチャートである。既述の通り、ＣＰＵ２０は、異なるデータ量の単位データを複数個記憶している。記憶されている複数の単位データの中から１つを選択する（ステップＳ２０１）。その後、タイマーをオンし、処理時間の計測を開始する（ステップＳ２０３）。マスタートハードディスク記憶装置ＭＨにリードコマンドを発行する（ステップＳ２０５）。このコマンドの発行によって、ステップＳ２０１で決定された単位データのデータ量（例えば、２５６セクタ）が読み出される。読みだされた単位データは、メモリ３１に蓄積される（ステップＳ２０７）。リードデータの蓄積が終了したか判断し（ステップＳ２０９）、蓄積が終了した場合には、ターゲットハードディスク記憶装置ＴＨ１にライトコマンドを発行する（ステップＳ２１１）。
【００３０】
ライトコマンドの発行によって単位データが書き込まれ、その書き込みが終了したか判断する（ステップＳ２１５）。単位データの書き込みが終了した場合には、処理時間を計測するために予め定められている所定のデータ量の書き込みが終了したか判断し（ステップＳ２１７）、終了していない場合には、ステップＳ２０５に移行する。所定のデータ量の書き込みが終了した場合には、書き込みが終了するまでに経過した時間を記憶する（ステップＳ２１９）。この経過時間の記憶は、データ量の異なる単位データ毎に記憶される。
ステップＳ２１７における所定データ量は、各単位データのデータ量の公倍数であることが好ましい。
【００３１】
次に予め記憶されている全ての単位データについて、ステップＳ２０１〜２１９が終了し、各単位データの処理時間の測定が終了したか判断する（ステップＳ２２１）。終了していない場合には、（ステップＳ２０１）に戻り、処理時間が測定されていない単位データについて処理時間の計測が行われる。
【００３２】
全ての単位データについて処理時間の計測が終わった場合には、残りのデータの複写に用いる1つの単位データを選択する（ステップＳ２２３）。この単位データは、最も処理時間の短い単位データである。複写処理に使用される1つの単位データが決定されたのち、メインルーチンにリターンされる。
【００３３】
なお、この単位データ決定ルーチンにおいて処理時間の計測を行う単位データは、記憶されている全ての単位データでなくとも良く、記憶されている複数の単位データから選ばれた２つ以上の単位データであればよい。以上説明したステップＳ２０１〜Ｓ２２１において、測定ステップが構成される。また、ステップＳ２０１で単位データ選択ステップが、ステップＳ２０３〜Ｓ２１９によって転送時間計測ステップが、ステップＳ２２３で最短単位データ決定ステップが構成される。また、ステップＳ２２３において単位データ決定ステップが構成される。
【００３４】
更に、ステップＳ２０１、Ｓ２０５〜Ｓ２１７によって予備処理手段が構成され、ステップＳ２０３、Ｓ２１９によって処理時間計測手段と、処理時間記憶手段が構成され、ステップＳ２２３によって単位データ決定手段が構成される。
【００３５】
次に、図４に示されているフローチャートに基づいて、複写処理ルーチンについて説明する。
目標複写データ量を取得する（ステップＳ３００）。これは、目標複写データ量とは、この複写処理ルーチンによって複写される総データ量である。ステップＳ１０５で実行される複写処理ルーチンでは、ステップＳ１０７における所定量であり、ステップＳ１１１で実行される複写処理ルーチンでは、総複写データ量からステップＳ１０７の所定量を差し引いた残りのデータ量である。また、単位データの再決定を行わない場合（この場合には、ステップＳ１０９とステップＳ１１１が省略される。）には、総複写データ量であり、記憶装置に記憶された全てのデータを複写する場合には、複写元記憶装置の記憶容量に相当する。
【００３６】
読み取ったデータを蓄積するメモリ３１に転送するデータ量(蓄積データ量)を決定する（ステップS３０１）。マスターハードディスク記憶装置から読み取る際の単位データのデータ量と、ターゲットハードディスク記憶装置に書き込む際の単位データのデータ量が同じ場合には、この所定量は、単位データのデータ量と同じか、又は整数倍された量である。
【００３７】
リードコマンドを発行する（ステップS３０３）。既述の通り、リードコマンドによって、読み取りを開始するアドレスと、そのアドレスから読み取るデータ量が規定される。読み取られたデータがメモリ３１に格納され、読み取ったデータが全てメモリ３１に蓄積されたか判断する（ステップS３０５）。蓄積された場合には、ステップS３０１で決定された所定の蓄積データ量に達したか判断する（ステップＳ３０７）、達していない場合には、ステップＳ３０３に戻り、再度リードコマンドを発行してデータを読み取る。例えば、最初に発行したリードコマンドが「Read LBA0LBC256」である場合、ＣＰＵ２０は、アドレス「LBA0」を記憶しており、このアドレスに単位データのデータ量を加えた値を、次のアドレスとして、次に発行されるコマンドは、「Read LBA256LBC512」となる。このようなコマンドを発行するＣＰＵ２０によって、アドレス記憶手段が構成される。
【００３８】
達している場合には、ターゲットハードディスク記憶装置にライトコマンドを発行する（ステップＳ３０９）。メモリ３１に蓄積されたデータを読み取った時に発行したリードコマンドのアドレスが記憶されており、その読み取りを開始したアドレスと同じアドレスからデータが書き込まれる。ライトコマンド発行による書き込みが終了したか判断し（ステップＳ３１１）、終了している場合には、ステップＳ３０１で決定された所定の蓄積データ量に達したか判断する（ステップＳ３１３）、達していない場合には、ステップＳ３０９に戻り、再度ライトコマンドを発行して続きのデータを書き込む。このステップＳ３１３の実行は行わず、ステップＳ３０７で所定の蓄積データ量に達した、と判断されるまでに発行したリードコマンドの回数と、アドレスを記憶し、その回数と同じ回数のライトコマンドを発行する構成としてもよい。
【００３９】
ステップＳ３００で取得した目標複写データ量に達したか判断し（ステップＳ３１５）達していない場合には、ステップＳ３０３から再度リード・ライト処理（複写処理）を実行する。達している場合には、メインルーチンにリターンされる。
なお、読み取られたデータを蓄積するメモリ３１は、デュアルポートメモリであり、マスターハードディスク記憶装置から読み取ったデータは、メモリの一方のポートａから入力されてデータが蓄積され、ライトコマンドを発行してターゲットハードディスク記憶装置に書き込む場合には、ポートａからデータがターゲットハードディスク記憶装置に供給される。
【００４０】
ここで、ライトコマンドの発行と重ねて、次のリードコマンドが発行され、他方のポートｂに読み取られたデータが蓄積される。つまり、ポートａからデータをターゲットハードディスク記憶装置に供給している間に、ポートｂには読み取ったデータが蓄積されていく。このように、２つのポートで、読み取りデータの蓄積と、書き込みデータの吐き出しが同時に行われる。上記、リードコマンドやライトコマンドを発行するＣＰＵ２０によって、読取手段及び書込み手段が構成され、また単位データ記憶手段が構成される。また、複写処理ルーチンによって、複写手段が構成される。
以上説明した実施形態は、マスターハードディスク記憶装置ＭＨからデータを読み取る単位データと、読み取ったデータをターゲットハードディスク記憶装置ＴＨに書き込む単位データとが同じ場合の実施形態である。
【００４１】
次に、読み取り処理における単位データと、書き込み処理における単位データが異なる場合の複写処理について、図５及び図６に示されている、単位データ決定ルーチンのフローチャートに基づいて説明する。
予め記憶されている複数の単位データの中から、１つの単位データを選択する（ステップＳ４０１）。次に、処理時間の計測を開始する（ステップＳ４０３）。ステップＳ４０１で選択された単位データで、マスターハードディスク記憶装置ＭＨにリードコマンドを発行する（ステップＳ４０５）。読み取られたリードデータは、メモリ３１に蓄積させる（ステップＳ４０７）。リードコマンドによって読み取られたデータの蓄積が終了した場合には（ステップＳ４０９）、処理時間を計測するために予め定められた所定のデータ量の読み取りが完了しているか判断する（ステップＳ４１１）。完了していない場合には、ステップＳ４０５からステップＳ４０９までの処理を繰り返す。所定のデータ量の読み取りが完了した場合には、ステップＳ４０３からの時間計測を終了し、経過時間を単位データのデータ量に対応づけて記憶する（ステップＳ４１３）。
【００４２】
ステップＳ４０３〜Ｓ４１３によって処理時間計測手段と、処理時間記憶手段が構成され、ステップＳ３０１〜Ｓ３０７によって読取実行手段が構成される。
次に、メモリ３１に蓄積された所定量のデータをターゲットハードディスク記憶装置に書き込む処理を行う。
時間計測を開始し（ステップＳ４１５）、ターゲットハードディスク記憶装置にライトコマンドを発行する（ステップＳ４１７）。ライトコマンドは、ステップＳ４０５で発行したリードコマンドで指定したアドレスと同じアドレスから書き込みを開始することを指示する。
【００４３】
ライトコマンドによってターゲットハードディスク記憶装置へデータを出力する（ステップＳ４１９）。ライトコマンドによるデータの書き込みが終了したか判断し（ステップＳ４２１）、終了した場合には、処理時間を計測するために予め定められた所定のデータ量の書き込みが完了しているか判断する（ステップＳ４２３）。完了していない場合には、ステップＳ４１７からステップＳ４２１までの処理を繰り返す。所定のデータ量の書き込みが完了した場合には、ステップＳ４１５からの時間計測を終了し、経過時間を単位データのデータ量に対応づけて記憶する（ステップＳ４２５）。
【００４４】
予め記憶されている複数の単位データについて、それぞれ処理時間の計測が終わっているか判断し（ステップＳ４２７）、終わっていない場合には、ステップＳ４０１から再度実行される。ステップＳ４０１では、処理時間の計測が未測定の単位データを決定する。
【００４５】
全ての単位データの処理時間が計測されている場合には、次に読取時単位データとして、最も処理時間の短い単位データを、読み取り処理に用いる単位データとして決定する（ステップＳ４２９）。次に、書き込み時単位データとして、最も処理時間の短い単位データを、書き込み処理に用いる単位データとして決定する（ステップＳ４３１）。２つの単位データが決定したところで、リターンされる。ステップＳ４２９によって、読取装置における単位データ決定手段が構成され、ステップＳ４３１によって、書込み装置における単位データ決定手段が構成される。
【００４６】
メインルーチンでは、複写処理が実行される。読み取り単位データと書込み単位データが異なる複写処理では、図４に示されている複写処理ルーチンの所定蓄積データ量の決定処理（ステップＳ３０１）において、所定蓄積データ量は、読み取り単位データのデータ量と、書込み単位データのデータ量との公倍数となるように設定される。上記、複写処理ルーチンにおいて、ステップＳ３０１〜３０７によって読取実行手段が構成され、ステップＳ３０９〜３１３によって書込み実行手段が構成される。
このような公倍数とすることによって、メモリ３１に対してデータを蓄積する処理と、データを掃き出して書き込む処理とを効率よく実施することができる。
【００４７】
上記実施形態は、マスターハードディスク記憶装置とターゲットハードディスク記憶装置とが異なる種類の製品である場合、最短処理時間の単位データも違う可能性が高く、読み取りと書き込みについてそれぞれ異なる単位データを用いることで、複写時間の短縮を図るものである。
【００４８】
さらに、図１に示されているように、複数のターゲットハードディスク記憶装置に複写処理を行う場合には、各ターゲットハードディスク記憶装置ＴＨ１〜３毎に設けられたＣＰＵ２１〜２３が図４に示されている複写処理ルーチンの複写処理を実行する。即ち、最初に複写処理が行われたターゲットハードディスク記憶装置をマスターハードディスク記憶装置として、データを読み取り、隣接するターゲットハードディスク記憶装置にデータを複写する処理を行い、順次隣接するハードディスク記憶装置にデータを書き込む処理を実行する。
【００４９】
以上説明した実施形態は、ハードディスク記憶装置間で複写を行う構成であるが、ハードディスク記憶装置に限らず、ハードディスク記憶装置の代わりにＳＳＤ（ソリッドステートドライブ）、 ＳＤメモリカードなどのフラッシュメモリ、磁気記録媒体に記録する記録装置、光媒体に記録する記録装置、光磁気媒体に記録する記録装置、その他の記憶装置に記録されているデータを複写する場合に用いることも可能である。
【００５０】
本明細書は、以下の構成を開示する。
（１）第１の記憶手段に記憶されている所定量のデータを、所定の単位データで読み出し、読み出した単位データ毎に第２の記憶手段へ順番に転送するデータ転送方法であって、
前記所定量の全データの転送を終了させる前に、異なるデータ量の単位データで一定量のデータを転送した場合の各単位データの転送時間を測定する測定ステップと、
前記測定ステップで測定された各単位データの転送時間の中から最も短い転送時間となったデータ量の単位データを決定する単位データ決定ステップと、
前記単位データ決定ステップによって決定された単位データを用いて残りのデータの転送を行うデータ転送ステップとを備えるデータ転送方法。
このような方法によれば、異なるデータ量の複数の単位データの候補を用意して、各単位データのデータ転送を行った場合の各転送時間を計測し、その中で最も短い転送時間の単位データを用いて、残りのデータの転送を行うので、転送を実行する単位データが１つである従来の転送方法に比較して、転送を行う全データの転送時間を短縮することができる。
【００５１】
（２）前記データ転送ステップの実行中に、前記測定ステップと、単位データ決定ステップを再度実行する上記(１)に記載のデータ転送方法。
このような方法によれば、転送する全データの転送時間の短縮が、一層確実に行われる。即ち、記憶装置の特性によっては、データの転送量に応じて、単位データの転送時間が変化する場合がある。そこで、単位データ決定ステップによって単位データが決定され後、データ転送ステップ実行中において、定期的、又はランダムに、再度複数の単位データ毎の転送時間の再計測を行い、最短転送時間となる単位データの更新を行う。これにより、全データの転送時間の一層の短縮が行われる。
【００５２】
（３）第１の記憶手段に記憶されている所定量のデータを、第２の記憶手段へ転送するデータ転送方法であって、
１回の転送処理において転送されるデータ量を単位データとして、データ量の異なる単位データを複数決定する単位データ決定ステップと、
前記単位データ決定ステップで決定された各単位データのデータ量で一定量のデータの転送を行い、転送に要した時間を単位データ毎に計測する転送時間計測ステップと、
前記転送時間計測ステップで計測された各単位データの転送時間の中から最も短い転送時間の単位データを決定する最短単位データ決定ステップと、
前記最短単位データ決定ステップで決定された単位データを繰り返し転送することによって、第１の記憶手段に記憶されている所定量のデータを第２の記憶手段に転送する転送ステップとを備えるデータ転送方法。
このような方法によれば、単位データの転送を１単位として、単位データの転送を繰り返すことによって所定量のデータ転送を実行する転送方法において、複数の異なるデータ量の単位データの転送時間を計測して比較することが、より短時間で、短い転送時間を実現できるデータ量の単位データを決定する方法となる。
【００５３】
（４）前記転送ステップ実行中に、前記単位データ決定ステップと、前記転送時間計測ステップと、最短単位データ決定ステップとを再度実行する上記（３）に記載のデータ転送方法。
このような方法によれば、転送する全データの転送時間の短縮が、一層確実に行われる。即ち、記憶装置の特性によっては、データの転送量に応じて、単位データの転送時間が変化する。そこで、最短単位データ決定ステップによって単位データが決定され後、転送ステップ実行中において、定期的、又はランダムに、再度複数の単位データ毎の転送時間の再計測を行い、最短転送時間となる単位データの更新を行う。これにより、全データの転送時間の一層の短縮が行われる。
【符号の説明】
【００５４】
１  複写装置
２０〜２３  中央演算処理装置
３1〜３３  メモリ
４Ｍ、４Ｔ１、４Ｔ２、４Ｔ３  接続端子
ＭＨ  マスタートハードディスク記憶装置
ＴＨ１〜３  ターゲットハードディスク記憶装置
【図１】
0003198192.tif 000003
【図２】
0003198192.tif 000004
【図３】
0003198192.tif 000005
【図４】
0003198192.tif 000006
【図５】
0003198192.tif 000007
【図６】
0003198192.tif 000008
【図７】
0003198192.tif 000009