JP2013232253A - データ転送方法、読取装置、書込み装置及び複写装置 - Google Patents

データ転送方法、読取装置、書込み装置及び複写装置 Download PDF

Info

Publication number
JP2013232253A
JP2013232253A JP2012102365A JP2012102365A JP2013232253A JP 2013232253 A JP2013232253 A JP 2013232253A JP 2012102365 A JP2012102365 A JP 2012102365A JP 2012102365 A JP2012102365 A JP 2012102365A JP 2013232253 A JP2013232253 A JP 2013232253A
Authority
JP
Japan
Prior art keywords
data
unit data
unit
processing time
storage device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2012102365A
Other languages
English (en)
Inventor
Koichi Nibe
浩一 仁部
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
YEC Co Ltd
Original Assignee
YEC Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by YEC Co Ltd filed Critical YEC Co Ltd
Priority to JP2012102365A priority Critical patent/JP2013232253A/ja
Publication of JP2013232253A publication Critical patent/JP2013232253A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

【課題】ハードディスク記憶装置の特性に合ったデータ単位でデータの読み書きを行うことで、データのコピー時間を短縮できるハードディスク記憶装置の複写装置を提供する。
【解決手段】
マスタートハードディスク記憶装置MHからターゲットハードディスク記憶装置THへデータの複写を行う際に、複写処理の最初に、1回のコマンドでリード/ライトできるデータ量を、1データ単位として、このデータ単位を変更して、複写処理を行い、各データ単位における複写時間を計測する。そして、最も複写時間が短いデータ単位を用いて、残りのデータの複写処理を行うことにより、より短い処理時間で複写を完了させることができる。
【選択図】図2

Description

この発明は、パーソナルコンピュータ等の電子計算機器に用いられる記憶装置に記録されているデータを他の記憶装置に転送する方法及び装置に係り、詳しくは、記憶装置の特性に沿ったデータ転送ができるデータ転送方法、読取装置、書込み装置及び複写装置に関するものである。
従来、パーソナルコンピュータ等に搭載される記憶装置としては、例えば、記憶容量が大きくアクセス時間が比較的短いハードディスク記憶装置がある。このハードディスク記憶装置は、例えば、パーソナルコンピュータのオペレーションシステム等のソフトウエアーを記憶する記憶装置として用いられており、大量のパーソナルコンピュータを製造、出荷する際には、ハードディスク記憶装置に、既述のシステムソフトを書き込む作業が行なわれる。
従来、このようなハードディスク記憶装置へのデータの書込みには、パーソナルコンピュータの使用に必要なシステムソフトを書き込んだハードディスク記憶装置(複写元記憶装置:マスターHDD)を作成し、このマスターHDDから、実際にパーソナルコンピュータへ装填される複数のハードディスク記憶装置(複写先記憶装置:ターゲットHDD)へデータを物理コピーすることにより行われていた。具体的には、マスターHDDの所定の読み取り開始位置からセクタ単位で所定量のデータを読み取り、これをターゲットHDDへ転送し、ターゲットHDDの対応するアドレスから順に書き込み、次のコピーのために、最初に読み取ったデータの次のアドらレスから所定量のデータを読み出す、といった動作が繰り返される。
このようなハードディスク記憶装置のデータをコピーする装置として、例えば下記先行特許文献に記載されているような装置がある。
特開2008−108410公報 特開2005−92373公報
ところで、出願人は従来よりハードディスク記憶装置のコピー装置を開発し、多数の種類のハードディスク記憶装置のデータのコピーを行っているが、同一容量のハードディスク記憶装置であるにもかかわらず、全てのデータのコピーが終了するまでの時間に差があるという問題があった。この理由を解析すると、データを転送する単位となる、一回のコマンドで実行される読み取り処理又は書き込み処理のデータ量と、読み取り処理又は書き込み処理が終了する時間との間の関係に特性があり、この特性がハードディスク記憶装置の種類によって異なることが判明した。
すなわち、図7に示されているように、横軸に一回毎の読み取り又は書き込みを行う際のデータ量(1回のライト又はリードコマンドによって転送されるデータ量)を表すセクタ数、縦軸に1回のコマンドによって処理が終了するまでの時間として、両者の関係を示すと、異なるハードディスク記憶装置の間には、セクタ数と処理時間の間に共通する相関関係はなく、(例えば、転送するセクタ数が増加するに従って処理時間が長くなるとは限らない。)ハードディスク記憶装置の種類A〜Cによって、異なる関係を示すものとなる。つまり、ハードディスク記憶装置の種類によって、最も処理時間が短いセクタ数が異なるのである。
ところが、従来のコピー装置では、一回のライドコマンド(または、リードコマンド)によるデータ転送で送られるデータ量は、予め固定されているため、ハードディスク記憶装置の種類によっては、同じ容量を有する記憶装置であっても、処理時間がかえって長くなってしまう場合もある。特に、近年ではハードディスク記憶装置の容量が増大しており、一回の読み書きの処理時間の差が、全データのコピー処理が終了するまでの時間に大きな差を生じさせていた。
この発明は、ハードディスク記憶装置の特性に合ったデータ単位でデータの読み書きを行うことで、データのコピー時間を短縮できるハードディスク記憶装置の複写装置を提供することを目的とするものである。
以上のような問題を解決する本発明は、以下のような構成を有する。
(1)第1の記憶手段に記憶されている所定量のデータを、所定の単位データで読み出し、読み出した単位データ毎に第2の記憶手段へ順番に転送するデータ転送方法であって、
前記所定量の全データの転送を終了させる前に、異なるデータ量の単位データで一定量のデータを転送した場合の各単位データの転送時間を測定する測定ステップと、
前記測定ステップで測定された各単位データの転送時間の中から最も短い転送時間となったデータ量の単位データを決定する単位データ決定ステップと、
前記単位データ決定ステップによって決定された単位データを用いて残りのデータの転送を行うデータ転送ステップとを備えるデータ転送方法。
(2)前記データ転送ステップの実行中に、前記測定ステップと、単位データ決定ステップを再度実行する上記(1)に記載のデータ転送方法。
(3)第1の記憶手段に記憶されている所定量のデータを、第2の記憶手段へ転送するデータ転送方法であって、
1回の転送処理において転送されるデータ量を単位データとして、データ量の異なる単位データを複数決定する単位データ決定ステップと、
前記単位データ決定ステップで決定された各単位データのデータ量で一定量のデータの転送を行い、転送に要した時間を単位データ毎に計測する転送時間計測ステップと、
前記転送時間計測ステップで計測された各単位データの転送時間の中から最も短い転送時間の単位データを決定する最短単位データ決定ステップと、
前記最短単位データ決定ステップで決定された単位データを繰り返し転送することによって、第1の記憶手段に記憶されている所定量のデータを第2の記憶手段に転送する転送ステップとを備えるデータ転送方法。
(4)前記転送ステップ実行中に、前記単位データ決定ステップと、前記転送時間計測ステップと、最短単位データ決定ステップとを再度実行する上記(3)に記載のデータ転送方法。
(5)記憶装置に接続される接続端子と、
該接続端子に接続された記憶装置から所定の単位データ毎にデータを読み取る読取手段とを有するデータ読取装置であって、
データ量の異なる複数の単位データを記憶する単位データ記憶手段と、
前記単位データ記憶手段で記憶された各単位データを用いて、一定量のデータを読み取ったときの処理時間を各単位データ毎に計測する処理時間計測手段と、
前記処理時間計測手段によって計測された処理時間を単位データ毎に記憶する処理時間記憶手段と、
前記処理時間記憶手段に記憶されている処理時間の中で最も処理時間の短い単位データを決定する単位データ決定手段と、
前記単位データ決定手段で決定された単位データを用いてその後の記憶装置からの読み取り処理を実行する読取実行手段とを備える読取装置。
(6)記憶装置に接続される接続端子と、
該接続端子に接続された記憶装置に、所定の単位データ毎にデータを書き込む書込み手段とを有するデータ書込み装置であって、
データ量の異なる複数の単位データを記憶する単位データ記憶手段と、
前記単位データ記憶手段で記憶された各単位データを用いて、一定量のデータを書き込んだときの処理時間を単位データ毎に計測する処理時間計測手段と、
前記処理時間計測手段によって計測された処理時間を単位データ毎に記憶する処理時間記憶手段と、
前記処理時間記憶手段に記憶されている処理時間の中で最も処理時間の短い単位データを決定する単位データ決定手段と、
前記単位データ決定手段で決定された単位データを用いてその後の記憶装置への書き込み処理を実行する書込み実行手段とを備える書込み装置。
(7)複写元記憶装置に接続される第1接続端子と、複写先記憶装置に接続される第2接続端子と、
複写元記憶装置から所定の単位データ毎にデータを読み取る読取手段と、
複写元記憶装置から読み取ったデータの読み取り開始位置の物理フォーマットにおけるアドレスを記憶するアドレス記憶手段と、
前記アドレス記憶手段が記憶しているアドレスと同じアドレス位置から複写先記憶装置に前記読取手段で読み取ったデータを書き込む書込み手段を備え、読取手段で読み取ったデータを書込み手段で書き込むことにより複写処理を行う複写装置であって、
1回のコマンドで、複写元記憶装置からデータ読み取り、複写先記憶装置へデータ書き込みを実行する単位データを、データ量の異なる単位データとして複数種類記憶する単位データ記憶手段と、
複写処理中において、前記単位データ記憶手段で記憶されている複数の単位データを用いて、予め定められた一定量のデータの複写処理を実行する予備処理手段と、
前記予備処理手段によって処理された各単位データの処理時間を計測する処理時間計測手段と、
前記処理時間計測手段によって計測された処理時間を単位データ毎に記憶する処理時間記憶手段と、
前記処理時間記憶手段が記憶している処理時間を比較し、最も短い処理時間の単位データを複写処理に用いる単位データとして決定する単位データ決定手段と、
前記単位データ決定手段によって決定された単位データを用いて複写処理を実行する複写手段とを備えたことを特徴とする複写装置。
(8)前記第2接続端子を複数有し、前記書込み手段は、複数の複写先記憶装置にそれぞれ読み取ったデータの書き込みを行う上記 (7)に記載の複写装置。
請求項1に記載の発明によれば、異なるデータ量の複数の単位データの候補を用意して、各単位データのデータ転送を行った場合の各転送時間を計測し、その中で最も短い転送時間の単位データを用いて、残りのデータの転送を行うので、転送を実行する単位データが1つである従来の転送方法に比較して、転送を行う全データの転送時間を短縮することができる。
請求項2に記載の発明によれば、転送する全データの転送時間の短縮が、一層確実に行われる。即ち、記憶装置の特性によっては、データの転送量に応じて、単位データの転送時間が変化する場合がある。そこで、単位データ決定ステップによって単位データが決定され後、データ転送ステップ実行中において、定期的、又はランダムに、再度複数の単位データ毎の転送時間の再計測を行い、最短転送時間となる単位データの更新を行う。これにより、全データの転送時間の一層の短縮が行われる。
請求項3に記載の発明によれば、単位データの転送を1単位として、単位データの転送を繰り返すことによって所定量のデータ転送を実行する転送方法において、複数の異なるデータ量の単位データの転送時間を計測して比較することが、より短時間で、短い転送時間を実現できるデータ量の単位データを決定する方法となる。
請求項4に記載の発明によれば、転送する全データの転送時間の短縮が、一層確実に行われる。即ち、記憶装置の特性によっては、データの転送量に応じて、単位データの転送時間が変化する。そこで、最短単位データ決定ステップによって単位データが決定され後、転送ステップ実行中において、定期的、又はランダムに、再度複数の単位データ毎の転送時間の再計測を行い、最短転送時間となる単位データの更新を行う。これにより、全データの転送時間の一層の短縮が行われる。
請求項5に記載の発明によれば、記憶装置から所定量のデータを読み出す際に、単位データ記憶手段にデータ量の異なる複数の単位データを記憶させておき、記憶されている各単位データによって、同量のデータを読み取った時の読み取り処理時間を単位データ毎に記憶する。記憶された処理時間の中から最も短い処理時間の単位データを抽出し、その後の読み取り処理に用いる単位データとして用いる。このように、処理時間の短い単位データを選びだし、これを読み取り処理に用いる単位データとして採用することで、データの読み出し時間を短縮することができる。
請求項6に記載の発明によれば、記憶装置に所定量のデータを書き込む際に、単位データ記憶手段にデータ量の異なる複数の単位データを記憶させておき、記憶されている各単位データによって、同量のデータを読み取った時の書き込み処理時間を単位データ毎に記憶する。記憶された処理時間の中から最も短い処理時間の単位データを抽出し、その後の書き込み処理に用いる単位データとして用いる。このように、処理時間の短い単位データを選びだし、これを書き込み処理に用いる単位データとして採用することで、データの書き込み時間を短縮することができる。
請求項7に記載の発明によれば、1回のコマンドで複写するデータ単位毎に、処理時間を計測し、最も短い処理時間となるデータ単位で、複写先記憶装置にデータを複写するので、複写時間を短縮することができる。
請求項8に記載の発明によれば、複写先記憶装置が複数ある場合には、コピー先の記憶容量が更に拡大するため、1回のコマンドで処理できるコピー時間の差が、全ての複写先記憶装置への複写が完了するまでの所要時間に大きな差を及ぼすこととなるので、このような複写装置に用いることは、特に有用である。
本発明の複写装置の構成を示すブロック図である。 複写処理のメインフローチャートである。 単位データ決定ルーチンを示すフローチャートである。 複写処理ルーチンを示すフローチャートである。 他の構成例における単位データ決定ルーチンを示すフローチャートである。 他の構成例における単位データ決定ルーチンを示すフローチャートである。 単位データのデータ量の大きさと、処理時間のハードディスク記憶装置毎の特性をしめすグラフである。
以下、本発明の好適実施形態について、詳細に説明する。図1は、本発明の複写装置の構成を示すブロック図である。複写装置1は、複写元ハードディスク記憶装置であるマスターハードディスク記憶装置MHから読み取ったデータを複写先ハードディスク記憶装置であるターゲットハードディスク記憶装置THに書き込み、マスタートハードディスク記憶装置MHからターゲットハードディスク記憶装置THにミラーコピーする装置である。
複写装置1は、処理装置20(CPU:Central Processing Unit)と、ハードディスク記憶装置から読み取ったデータを一時格納するメモリ31〜33と、マスタートハードディスク記憶装置MHに接続される第1接続端子である接続端子4Mと、ターゲットハードディスク記憶装置TM1〜TM3に接続される第2接続端子である接続端子4T1〜4T3を備えている。各接続端子4T1〜4T3には、これに接続されるターゲットハードディスク記憶装置TH1〜TH3へのデータの転送を中継するための制御回路CPU21〜23がそれぞれ接続されている。
CPU20と、メモリ31〜33と、接続される接続端子4Mと、CPU21〜23とは、バスライン5で接続されている。
CPU20〜23は、コマンドをハードディスク記憶装置に出力することにより、データの読み出しと書き込みを行う。この実施形態におけるハードディスク記憶装置は、例えば48bitLBA規格である。CPU20は、1回のコマンド出力によって、決められた一定量のデータを読み出し(又は、書き込み)、コマンドを繰り返し出力することによって、順にデータを読み出す(又は、書き込む)。このコマンドの出力によって転送されるデータの塊を単位データと定義する。
CPU20は、1回のコマンドで読み出す(又は書き込む)データ量を複数記憶し、リードコマンド又はライトコマンドを出力する場合には、リード又はライトを開始するアドレスと、リード又はライトするデータ量を同時に出力することで、ハードディスク記憶装置内のデータを特定する。例えば、「Read LBA0LBC256」なるリードコマンドは、0番目のセクタ(LBA規格における最初のセクタ)から、順に256番目セクタまでを読み出す、といった内容となり、これに対応するライトコマンドは、「Write LBA0LBC256」となり、0番目のセクタ(LBA規格における最初のセクタ)から、順に256番目セクタまで書き込む、といった内容となる。そして、次に発行されるリードコマンドは、「Read LBA256LBC512」、ライトコマンドは、「Write LBA256LBC512」となる。このように、リードコマンドを発行するたびに間を空けずに順にデータが読み取られる。また、リードコマンドに対応するライトコマンドを発行することによって、ターゲットハードディクス記憶装置に対して、マスターハードディスク記憶装置と同じアドレス上に、データが複写される。読み取りと同じように、順にデータが書き込まれる。
一回のコマンドでデータの読み出し(又は、書き込み)が行われる単位データのデータ量としては、256セクタの他、例えば、2048セクタ、8192セクタ、16384セクタ、65536セクタ等が挙げられる。これらの値は、予め決定されており、CPU20内のメモリに記憶されている。
CPU20は、マスタートハードディスク記憶装置MHからターゲットハードディスク記憶装置TH1〜3へ複写動作を開始すると、最初に、1回のコマンドで複写するデータ量を変更して、予め決められた特定量のデータ量で、複写動作を行う。この際、各データ単位で複写を行った場合の処理時間(複写が完了するまでの時間)を記憶し、記憶された処理時間の中で、最も時間の短い単位データを決定し、この決定された一つの単位データを用いてハードディスク記憶装置の残りのデータの複写処理を実行する。
具体的に説明すると、複写を行う際、既述のデータ単位の中から複数個抽出し(例えば、3つ: 256セクタ、16384セクタ、65536セクタ)、それぞれのデータ単位で、特定量のデータを複写する。この特定量のデータは、例えば、異なるデータ量である単位データに対して、各データ量の公倍数であるとよい。既述の例に基づけば、単位データのデータ利用が、256セクタ、16384セクタ、65536セクタであった場合には、65536セクタの整数倍の値であることが好ましい。
この複写データは、マスタートハードディスク記憶装置から読み出したデータである。そして、それぞれの単位データで同一量(特定量)のデータを複写した際の処理時間(ターゲットハードディスク記憶装置TH1〜3の1つに複写か完了した時間)を記憶し、複写に用いた各単位データにおける経過時間を比較する。この中で、最も短い時間となった単位データを、以後複写処理を行う際の単位データとして決定する。
以下本発明の処理手順について、フローチャートに基づいて説明する。図2は、複写処理におけるメインルーチンを示すフローチャートである。最初に初期化して、前回の処理において記憶されたデータなどをクリアーにし、また接続された記憶装置に関する情報、例えば、IDENTIFY DEVICE コマンドの発行によって得られる情報(記憶容量)等を取得する(ステップS101)。
単位データ決定ルーチンを実行する(ステップS103)。単位データ決定ルーチンで決定された単位データを、1回のコマンド出力毎に転送し、残りの領域のデータの複写処理を開始する(ステップS105)。予め定められた所定量のデータがコピーされたか判断し(ステップS107)、所定量のデータコピーが完了している場合には、再度単位データ決定ルーチンを実行する(ステップS109)。これは、ハードディスク装置にディスクに対するヘッドの位置によって、読み取り処理や書き込み処理の処理時間が変化する可能性があるので、所定量のデータコピーが終了した時点で、複数の単位データ毎の処理時間を再計測し、他の単位データの処理時間が短くなっていた場合には、単位データを変更する。
ステップS109で決定された単位データを、1回のコマンド出力毎に転送し、残りの領域のデータの複写処理を開始する(ステップS111)。複写処理ルーチン(ステップS111)で複写処理が終了した時点でメインルーチンが終了する。
ステップS107での所定量とは、ステップS101で取得した記憶容量の3分の1、2分の1、3分の2の量など、ステップS101で算出されている。或いは、接続された記憶装置には関係なく、予め決められた量(例えば、10ギガバイト毎、20ギガバイト毎、100ギガバイト毎、500ギガバイト毎・・)等であってもよい。さらに、1回のコマンドによって、マスタートハードディスク記憶装置から読み出しを開始してから、読み出したデータをターゲットハードディスク記憶装置へ書き込みを終了させるまでの時間(処理時間)を所定の間隔でモニターし、その時間が、コピーを開始した時と比較して、所定の割合(例えば、10%〜30%)長くなった場合に、ステップS109を実行する構成であってもよい。或いは、特定量のデータの複写処理時間を定期的に又はランダムに検出し、最初に複数の単位データで複写処理した時の各処理時間と比較して、他の単位データの処理時間のいずれかよりも長くなった場合であってもよい。上記ステップS105又はS111において、データ転送ステップ及び転送ステップが構成される。
図3は、本発明の単位データ決定ルーチンを示すフローチャートである。既述の通り、CPU20は、異なるデータ量の単位データを複数個記憶している。記憶されている複数の単位データの中から1つを選択する(ステップS201)。その後、タイマーをオンし、処理時間の計測を開始する(ステップS203)。マスタートハードディスク記憶装置MHにリードコマンドを発行する(ステップS205)。このコマンドの発行によって、ステップS201で決定された単位データのデータ量(例えば、256セクタ)が読み出される。読みだされた単位データは、メモリ31に蓄積される(ステップS207)。リードデータの蓄積が終了したか判断し(ステップS209)、蓄積が終了した場合には、ターゲットハードディスク記憶装置TH1にライトコマンドを発行する(ステップS211)。
ライトコマンドの発行によって単位データが書き込まれ、その書き込みが終了したか判断する(ステップS215)。単位データの書き込みが終了した場合には、処理時間を計測するために予め定められている所定のデータ量の書き込みが終了したか判断し(ステップS217)、終了していない場合には、ステップS205に移行する。所定のデータ量の書き込みが終了した場合には、書き込みが終了するまでに経過した時間を記憶する(ステップS219)。この経過時間の記憶は、データ量の異なる単位データ毎に記憶される。
ステップS217における所定データ量は、各単位データのデータ量の公倍数であることが好ましい。
次に予め記憶されている全ての単位データについて、ステップS201〜219が終了し、各単位データの処理時間の測定が終了したか判断する(ステップS221)。終了していない場合には、(ステップS201)に戻り、処理時間が測定されていない単位データについて処理時間の計測が行われる。
全ての単位データについて処理時間の計測が終わった場合には、残りのデータの複写に用いる1つの単位データを選択する(ステップS223)。この単位データは、最も処理時間の短い単位データである。複写処理に使用される1つの単位データが決定されたのち、メインルーチンにリターンされる。
なお、この単位データ決定ルーチンにおいて処理時間の計測を行う単位データは、記憶されている全ての単位データでなくとも良く、記憶されている複数の単位データから選ばれた2つ以上の単位データであればよい。以上説明したステップS201〜S221において、測定ステップが構成される。また、ステップS201で単位データ選択ステップが、ステップS203〜S219によって転送時間計測ステップが、ステップS223で最短単位データ決定ステップが構成される。また、ステップS223において単位データ決定ステップが構成される。
更に、ステップS201、S205〜S217によって予備処理手段が構成され、ステップS203、S219によって処理時間計測手段と、処理時間記憶手段が構成され、ステップS223によって単位データ決定手段が構成される。
次に、図4に示されているフローチャートに基づいて、複写処理ルーチンについて説明する。
目標複写データ量を取得する(ステップS300)。これは、目標複写データ量とは、この複写処理ルーチンによって複写される総データ量である。ステップS105で実行される複写処理ルーチンでは、ステップS107における所定量であり、ステップS111で実行される複写処理ルーチンでは、総複写データ量からステップS107の所定量を差し引いた残りのデータ量である。また、単位データの再決定を行わない場合(この場合には、ステップS109とステップS111が省略される。)には、総複写データ量であり、記憶装置に記憶された全てのデータを複写する場合には、複写元記憶装置の記憶容量に相当する。
読み取ったデータを蓄積するメモリ31に転送するデータ量(蓄積データ量)を決定する(ステップS301)。マスターハードディスク記憶装置から読み取る際の単位データのデータ量と、ターゲットハードディスク記憶装置に書き込む際の単位データのデータ量が同じ場合には、この所定量は、単位データのデータ量と同じか、又は整数倍された量である。
リードコマンドを発行する(ステップS303)。既述の通り、リードコマンドによって、読み取りを開始するアドレスと、そのアドレスから読み取るデータ量が規定される。読み取られたデータがメモリ31に格納され、読み取ったデータが全てメモリ31に蓄積されたか判断する(ステップS305)。蓄積された場合には、ステップS301で決定された所定の蓄積データ量に達したか判断する(ステップS307)、達していない場合には、ステップS303に戻り、再度リードコマンドを発行してデータを読み取る。例えば、最初に発行したリードコマンドが「Read LBA0LBC256」である場合、CPU20は、アドレス「LBA0」を記憶しており、このアドレスに単位データのデータ量を加えた値を、次のアドレスとして、次に発行されるコマンドは、「Read LBA256LBC512」となる。このようなコマンドを発行するCPU20によって、アドレス記憶手段が構成される。
達している場合には、ターゲットハードディスク記憶装置にライトコマンドを発行する(ステップS309)。メモリ31に蓄積されたデータを読み取った時に発行したリードコマンドのアドレスが記憶されており、その読み取りを開始したアドレスと同じアドレスからデータが書き込まれる。ライトコマンド発行による書き込みが終了したか判断し(ステップS311)、終了している場合には、ステップS301で決定された所定の蓄積データ量に達したか判断する(ステップS313)、達していない場合には、ステップS309に戻り、再度ライトコマンドを発行して続きのデータを書き込む。このステップS313の実行は行わず、ステップS307で所定の蓄積データ量に達した、と判断されるまでに発行したリードコマンドの回数と、アドレスを記憶し、その回数と同じ回数のライトコマンドを発行する構成としてもよい。
ステップS300で取得した目標複写データ量に達したか判断し(ステップS315)達していない場合には、ステップS303から再度リード・ライト処理(複写処理)を実行する。達している場合には、メインルーチンにリターンされる。
なお、読み取られたデータを蓄積するメモリ31は、デュアルポートメモリであり、マスターハードディスク記憶装置から読み取ったデータは、メモリの一方のポートaから入力されてデータが蓄積され、ライトコマンドを発行してターゲットハードディスク記憶装置に書き込む場合には、ポートaからデータがターゲットハードディスク記憶装置に供給される。
ここで、ライトコマンドの発行と重ねて、次のリードコマンドが発行され、他方のポートbに読み取られたデータが蓄積される。つまり、ポートaからデータをターゲットハードディスク記憶装置に供給している間に、ポートbには読み取ったデータが蓄積されていく。
このように、2つのポートで、読み取りデータの蓄積と、書き込みデータの吐き出しが同時に行われる。上記、リードコマンドやライトコマンドを発行するCPU20によって、読取手段及び書込み手段が構成され、また単位データ記憶手段が構成される。また、複写処理ルーチンによって、複写手段が構成される。
以上説明した実施形態は、マスターハードディスク記憶装置MHからデータを読み取る単位データと、読み取ったデータをターゲットハードディスク記憶装置THに書き込む単位データとが同じ場合の実施形態である。
次に、読み取り処理における単位データと、書き込み処理における単位データが異なる場合の複写処理について、図5及び図6に示されている、単位データ決定ルーチンのフローチャートに基づいて説明する。
予め記憶されている複数の単位データの中から、1つの単位データを選択する(ステップS401)。次に、処理時間の計測を開始する(ステップS403)。ステップS401で選択された単位データで、マスターハードディスク記憶装置MHにリードコマンドを発行する(ステップS405)。読み取られたリードデータは、メモリ31に蓄積させる(ステップS407)。リードコマンドによって読み取られたデータの蓄積が終了した場合には(ステップS409)、処理時間を計測するために予め定められた所定のデータ量の読み取りが完了しているか判断する(ステップS411)。完了していない場合には、ステップS405からステップS409までの処理を繰り返す。所定のデータ量の読み取りが完了した場合には、ステップS403からの時間計測を終了し、経過時間を単位データのデータ量に対応づけて記憶する(ステップS413)。
ステップS403〜S413によって処理時間計測手段と、処理時間記憶手段が構成され、ステップS301〜S307によって読取実行手段が構成される。
次に、メモリ31に蓄積された所定量のデータをターゲットハードディスク記憶装置に書き込む処理を行う。
時間計測を開始し(ステップS415)、ターゲットハードディスク記憶装置にライトコマンドを発行する(ステップS417)。ライトコマンドは、ステップS405で発行したリードコマンドで指定したアドレスと同じアドレスから書き込みを開始することを指示する。
ライトコマンドによってターゲットハードディスク記憶装置へデータを出力する(ステップS419)。ライトコマンドによるデータの書き込みが終了したか判断し(ステップS421)、終了した場合には、処理時間を計測するために予め定められた所定のデータ量の書き込みが完了しているか判断する(ステップS423)。完了していない場合には、ステップS417からステップS421までの処理を繰り返す。所定のデータ量の書き込みが完了した場合には、ステップS415からの時間計測を終了し、経過時間を単位データのデータ量に対応づけて記憶する(ステップS425)。
予め記憶されている複数の単位データについて、それぞれ処理時間の計測が終わっているか判断し(ステップS427)、終わっていない場合には、ステップS401から再度実行される。ステップS401では、処理時間の計測が未測定の単位データを決定する。
全ての単位データの処理時間が計測されている場合には、次に読取時単位データとして、最も処理時間の短い単位データを、読み取り処理に用いる単位データとして決定する(ステップS429)。次に、書き込み時単位データとして、最も処理時間の短い単位データを、書き込み処理に用いる単位データとして決定する(ステップS431)。2つの単位データが決定したところで、リターンされる。ステップS429によって、読取装置における単位データ決定手段が構成され、ステップS431によって、書込み装置における単位データ決定手段が構成される。
メインルーチンでは、複写処理が実行される。読み取り単位データと書込み単位データが異なる複写処理では、図4に示されている複写処理ルーチンの所定蓄積データ量の決定処理(ステップS301)において、所定蓄積データ量は、読み取り単位データのデータ量と、書込み単位データのデータ量との公倍数となるように設定される。上記、複写処理ルーチンにおいて、ステップS301〜307によって読取実行手段が構成され、ステップS309〜313によって書込み実行手段が構成される。
このような公倍数とすることによって、メモリ31に対してデータを蓄積する処理と、データを掃き出して書き込む処理とを効率よく実施することができる。
上記実施形態は、マスターハードディスク記憶装置とターゲットハードディスク記憶装置とが異なる種類の製品である場合、最短処理時間の単位データも違う可能性が高く、読み取りと書き込みについてそれぞれ異なる単位データを用いることで、複写時間の短縮を図るものである。
さらに、図1に示されているように、複数のターゲットハードディスク記憶装置に複写処理を行う場合には、各ターゲットハードディスク記憶装置TH1〜3毎に設けられたCPU21〜23が図4に示されている複写処理ルーチンの複写処理を実行する。即ち、最初に複写処理が行われたターゲットハードディスク記憶装置をマスターハードディスク記憶装置として、データを読み取り、隣接するターゲットハードディスク記憶装置にデータを複写する処理を行い、順次隣接するハードディスク記憶装置にデータを書き込む処理を実行する。
以上説明した実施形態は、ハードディスク記憶装置間で複写を行う構成であるが、ハードディスク記憶装置に限らず、ハードディスク記憶装置の代わりにSSD(ソリッドステートドライブ)、 SDメモリカードなどのフラッシュメモリ、磁気記録媒体に記録する記録装置、光媒体に記録する記録装置、光磁気媒体に記録する記録装置、その他の記憶装置に記録されているデータを複写する場合に用いることも可能である。
1 複写装置
20〜23 中央演算処理装置
31〜33 メモリ
4M、4T1、4T2、4T3 接続端子
MH マスタートハードディスク記憶装置
TH1〜3 ターゲットハードディスク記憶装置

Claims (8)

  1. 第1の記憶手段に記憶されている所定量のデータを、所定の単位データで読み出し、読み出した単位データ毎に第2の記憶手段へ順番に転送するデータ転送方法であって、
    前記所定量の全データの転送を終了させる前に、異なるデータ量の単位データで一定量のデータを転送した場合の各単位データの転送時間を測定する測定ステップと、
    前記測定ステップで測定された各単位データの転送時間の中から最も短い転送時間となったデータ量の単位データを決定する単位データ決定ステップと、
    前記単位データ決定ステップによって決定された単位データを用いて残りのデータの転送を行うデータ転送ステップとを備えるデータ転送方法。
  2. 前記データ転送ステップの実行中に、前記測定ステップと、単位データ決定ステップを再度実行する請求項1に記載のデータ転送方法。
  3. 第1の記憶手段に記憶されている所定量のデータを、第2の記憶手段へ転送するデータ転送方法であって、
    1回の転送処理において転送されるデータ量を単位データとして、データ量の異なる単位データを複数決定する単位データ決定ステップと、
    前記単位データ決定ステップで決定された各単位データのデータ量で一定量のデータの転送を行い、転送に要した時間を単位データ毎に計測する転送時間計測ステップと、
    前記転送時間計測ステップで計測された各単位データの転送時間の中から最も短い転送時間の単位データを決定する最短単位データ決定ステップと、
    前記最短単位データ決定ステップで決定された単位データを繰り返し転送することによって、第1の記憶手段に記憶されている所定量のデータを第2の記憶手段に転送する転送ステップとを備えるデータ転送方法。
  4. 前記転送ステップ実行中に、前記単位データ決定ステップと、前記転送時間計測ステップと、最短単位データ決定ステップとを再度実行する請求項3に記載のデータ転送方法。
  5. 記憶装置に接続される接続端子と、
    該接続端子に接続された記憶装置から所定の単位データ毎にデータを読み取る読取手段とを有するデータ読取装置であって、
    データ量の異なる複数の単位データを記憶する単位データ記憶手段と、
    前記単位データ記憶手段で記憶された各単位データを用いて、一定量のデータを読み取ったときの処理時間を各単位データ毎に計測する処理時間計測手段と、
    前記処理時間計測手段によって計測された処理時間を単位データ毎に記憶する処理時間記憶手段と、
    前記処理時間記憶手段に記憶されている処理時間の中で最も処理時間の短い単位データを決定する単位データ決定手段と、
    前記単位データ決定手段で決定された単位データを用いてその後の記憶装置からの読み取り処理を実行する読取実行手段とを備える読取装置。
  6. 記憶装置に接続される接続端子と、
    該接続端子に接続された記憶装置に、所定の単位データ毎にデータを書き込む書込み手段とを有するデータ書込み装置であって、
    データ量の異なる複数の単位データを記憶する単位データ記憶手段と、
    前記単位データ記憶手段で記憶された各単位データを用いて、一定量のデータを書き込んだときの処理時間を単位データ毎に計測する処理時間計測手段と、
    前記処理時間計測手段によって計測された処理時間を単位データ毎に記憶する処理時間記憶手段と、
    前記処理時間記憶手段に記憶されている処理時間の中で最も処理時間の短い単位データを決定する単位データ決定手段と、
    前記単位データ決定手段で決定された単位データを用いてその後の記憶装置への書き込み処理を実行する書込み実行手段とを備える書込み装置。
  7. 複写元記憶装置に接続される第1接続端子と、複写先記憶装置に接続される第2接続端子と、
    複写元記憶装置から所定の単位データ毎にデータを読み取る読取手段と、
    複写元記憶装置から読み取ったデータの読み取り開始位置の物理フォーマットにおけるアドレスを記憶するアドレス記憶手段と、
    前記アドレス記憶手段が記憶しているアドレスと同じアドレス位置から複写先記憶装置に前記読取手段で読み取ったデータを書き込む書込み手段を備え、読取手段で読み取ったデータを書込み手段で書き込むことにより複写処理を行う複写装置であって、
    1回のコマンドで、複写元記憶装置からデータ読み取り、複写先記憶装置へデータ書き込みを実行する単位データを、データ量の異なる単位データとして複数種類記憶する単位データ記憶手段と、
    複写処理中において、前記単位データ記憶手段で記憶されている複数の単位データを用いて、予め定められた一定量のデータの複写処理を実行する予備処理手段と、
    前記予備処理手段によって処理された各単位データの処理時間を単位データ毎に計測する処理時間計測手段と、
    前記処理時間計測手段によって計測された処理時間を単位データ毎に記憶する処理時間記憶手段と、
    前記処理時間記憶手段が記憶している処理時間を比較し、最も短い処理時間の単位データを複写処理に用いる単位データとして決定する単位データ決定手段と、
    前記単位データ決定手段によって決定された単位データを用いて複写処理を実行する複写手段とを備えたことを特徴とする複写装置。
  8. 前記第2接続端子を複数有し、前記書込み手段は、複数の複写先記憶装置にそれぞれ読み取ったデータの書き込みを行う請求項7に記載の複写装置。
JP2012102365A 2012-04-27 2012-04-27 データ転送方法、読取装置、書込み装置及び複写装置 Pending JP2013232253A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012102365A JP2013232253A (ja) 2012-04-27 2012-04-27 データ転送方法、読取装置、書込み装置及び複写装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012102365A JP2013232253A (ja) 2012-04-27 2012-04-27 データ転送方法、読取装置、書込み装置及び複写装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2015001743U Continuation JP3198192U (ja) 2015-04-08 2015-04-08 読取装置、書込み装置及び複写装置

Publications (1)

Publication Number Publication Date
JP2013232253A true JP2013232253A (ja) 2013-11-14

Family

ID=49678559

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012102365A Pending JP2013232253A (ja) 2012-04-27 2012-04-27 データ転送方法、読取装置、書込み装置及び複写装置

Country Status (1)

Country Link
JP (1) JP2013232253A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015194892A (ja) * 2014-03-31 2015-11-05 富士通株式会社 情報処理装置、情報処理システム、情報処理装置の制御プログラム、および情報処理装置の制御方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015194892A (ja) * 2014-03-31 2015-11-05 富士通株式会社 情報処理装置、情報処理システム、情報処理装置の制御プログラム、および情報処理装置の制御方法

Similar Documents

Publication Publication Date Title
US9940045B2 (en) Address mapping table recovery upon power failure
CN107346290B (zh) 使用并行化日志列表重放分区逻辑到物理数据地址转换表
US10248592B2 (en) Interrupted write operation in a serial interface memory with a portion of a memory address
KR101371516B1 (ko) 플래시 메모리 장치의 동작 방법 및 그것을 포함하는 메모리 시스템
JP4182993B2 (ja) メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
US8131911B2 (en) Data writing method, and flash storage system and controller using the same
KR20180094128A (ko) 불휘발성 메모리의 다수의 파티션을 동시에 액세스하기 위한 장치 및 방법
TW201810044A (zh) 用於資料儲存裝置的損耗平均方法
US20120254520A1 (en) Non-volatile memory device, a data processing device using the same, and a swapping method used by the data processing and non-volatile memory devices
US8897092B2 (en) Memory storage device, memory controller and controlling method
US20190163623A1 (en) Memory system and operating method thereof
US20070150645A1 (en) Method, system and apparatus for power loss recovery to enable fast erase time
TW201007735A (en) Block management method for flash memory and storage system and controller using the same
US20150058531A1 (en) Data writing method, memory control circuit unit and memory storage apparatus
CN109976673B (zh) 一种数据写入方法和装置
US20130159604A1 (en) Memory storage device and memory controller and data writing method thereof
CN104133640B (zh) 从休眠快速恢复
JP2010086009A (ja) 記憶装置およびメモリ制御方法
JP6225731B2 (ja) ストレージ制御装置、ストレージシステムおよびストレージ制御方法
JP3198192U (ja) 読取装置、書込み装置及び複写装置
JP5447617B2 (ja) フラッシュメモリコントローラ、フラッシュメモリシステム、及びフラッシュメモリ制御方法
US20140029369A1 (en) Memory device, controller, and write control method
JP2013232253A (ja) データ転送方法、読取装置、書込み装置及び複写装置
KR20100105127A (ko) Ssd 컨트롤러 및 ssd 컨트롤러의 동작 방법
JP2006338083A (ja) メモリコントローラ