(58)【調査した分野】(Int.Cl.,DB名)
前記制御手段による前記第2の記録手段の転送データ量の設定は、使用するインターフェースや、前記第2の記録手段の種類、及び前記データ転送前に行うデータ転送速度の計測情報を基に設定されることや、前記第2の記録手段の転送の逓減率を考慮した変化する値を基に設定されることを特徴とする請求項1に記載のデータ転送装置。
前記第1の処理によって設定した前記第2の記録手段ごとの転送データ量、及び前記第2の処理によって変更した前記第2の記録手段ごとの転送データ量の情報は、前記制御手段によって第3の記録手段に記録されることを特徴とする請求項1、又は2に記載のデータ転送装置。
前記制御手段による前記データ転送は、前記複数の第2の記録手段に前記データを転送する際、少なくとも1つの前記第2の記録手段の記録容量の不足の判断を行なうと、残る他の第2の記録手段に前記データ転送を振り分けることを特徴とする請求項1、2、3、又は4に記載のデータ転送装置。
【発明を実施するための形態】
【0011】
以下、本発明の実施の形態について、図面を参照しながら説明する。
図1は本実施形態のデータ転送方法を説明する図であり、本方法を使用するデバイスの物理的な接続構成示す図である。また、
図2はそのブロック図である。
両図において、マスターデバイス1は本例のデータ転送方法によって転送対象となる転送元のデータを記録するデバイスであり、例えばパーソナルコンピュータ2に内蔵するハードディスク(HDD)等が対応する。また、ターゲットデバイス3はパーソナルコンピュータ2に接続された記録媒体であり、例えばUSBケーブルで接続されたUSBメモリや、ファイヤーワイヤー(FIREWIRE)等の他のインターフェースで接続された機器が対応する。このターゲットデバイス3は1つのマスターデバイス1に対して複数使用され、マスターデバイス1に記録されたデータを分散して複数のターゲットデバイス3に転送する。
【0012】
転送用プログラム4は本実施形態の処理を実行するプログラムである。この転送用プログラム4は、本例の処理を行う前、予めパーソナルコンピュータ2にインストールされる。
【0013】
次に、
図3は本例の処理を説明する機能ブロック図であり、複数のターゲットデバイス3に対して分散してデータ転送する転送用プログラム4の機能を示す。ここで、同図に示す転送対象データ5は、上記ハードディスク(HDD)等のマスターデバイス1に記録された転送元のデータであり、転送機能6はこのデータを複数のターゲットデバイス3に分散して転送する。
【0014】
また、転送機能6によるデータ転送処理は各ターゲットデバイスへの転送量算出機能7により算出された情報に基づいて行われる。この各ターゲットデバイスの転送量算出機能7は再構成情報8からの情報と転送速度計測機能9によって計測した情報に基づいて転送量の算出を行なう。尚、上記再構成情報8には使用するターゲットデバイス3の種類やインターフェースの特性、記録容量等の情報も含む。
【0015】
転送速度計測機能9はターゲットデバイス3ごとに転送されるデータの転送速度を計測する。また、転送速度計測機能9による転送速度の計測は、実際の転送操作前の所謂シミュレーションの際、及び実際のデータ転送処理中行われる。したがって、転送量算出機能7から転送機能6に常時新たな情報が提供され、転送機能6はターゲットデバイス3から読み出されたデータを最適な条件でターゲットデバイス3に転送することができる。
【0016】
以上の構成において、以下に本例のデータ転送方法を具体的に説明する。
図4は本例のデータ転送方法を説明するフローチャートである。
先ず、各デバイスの転送速度を測定する(ステップ(以下、STで示す)1)。この処理は、実際にターゲットデバイス3にデータを転送する前に各デバイスの転送速度を測定する処理であり、例えばターゲットデバイス3としてUSBメモリが接続されている場合、
図1に示すUSBケーブルを介してデータを送信し、転送速度を計測する。また、ターゲットデバイス3としてファイヤーワイヤー等の他のインターフェースで接続された機器が接続されている場合、対応するインターフェースを介してデータを送信し、それぞれの転送速度を計測する。
【0017】
次に、上記測定結果に基づいて最適な転送データ量を想定する(ST2)。この転送データ量の想定は、ターゲットデバイス3ごとに行なわれ、各ターゲットデバイス3への転送初期時の転送データ量の想定が行われる。
【0018】
次に、上記想定した転送データ量の情報を記録する(ST3)。この転送データ量の記録もターゲットデバイス3ごとに行なわれる。尚、この情報の記録は、例えば転送用プログラム4上であっても良いし、マスターデバイス1やターゲットデバイス3の未使用領域を使用しても良い。
【0019】
以上のようにして各ターゲットデバイス3への転送データ量を設定した後、実際にマスターデバイス1からターゲットデバイス3へのデータ転送処理を開始する(ST4)。同時に、転送時間(速度)の測定も開始する。この処理は上記転送用プログラム4の転送機能6を実行するものであり、設定した上記転送データ量に従って各ターゲットデバイス3に対してデータ転送を行なう。以後、各ターゲットデバイス3へのデータの転送時間(速度)の測定は上記転送速度計測機能9によって継続される。
【0020】
次に、データ転送が全て終了したか判断する(ST5)。転送処理が開始された初期時、通常この判断はNOであり、次の想定した転送時間(速度)との比較処理を行う(ST6)。この比較処理は、最初に測定した転送データ量に対して転送速度計測機能9によって実際に転送される転送データ量を比較する処理であり、例えば転送速度計測機能9によって測定した時間と転送速度から実際にターゲットデバイス3に転送される転送データ量を算出し、予め設定された転送データ量と比較する。
【0021】
ここで、最初に測定した転送データ量と転送速度計測機能9によって実際に測定した転送データ量との差は殆ど無く、想定したデータ転送パフォーマンスの範囲内であると判断すると(ST7がYES)、ターゲットデバイス3へのデータ転送及び転送時間(速度)の測定処理に戻る(ST4)。
【0022】
その後、上記処理を繰り返し(ST4〜ST7がYES)、ターゲットデバイス3へのデータ転送処理が進行すると、ターゲットデバイス3へのデータ転送速度が、例えば遅くなり、あるターゲットデバイス3では想定したデータ転送パフォーマンスを得ることができなくなる(ST7がNO)。
【0023】
この場合、以降の最適な転送データ量の更新・記録処理を行う(ST8)。すなわち、前述のようにターゲットデバイス3へのデータ転送処理の間、転送速度計測機能9によって常時ターゲットデバイス3に転送される転送時間(速度)が計測されており、例えば低下した転送速度を修正する最適な転送データ量の情報が記録されており、以後対応するターゲットデバイス3へのデータ転送速度として使用される。この処理はターゲットデバイス3ごとに行なわれ、データ転送のパフォーマンスが低下したターゲットデバイス3に対して同様に実行される。
【0024】
したがって、以後新たなデータ転送速度の情報に基づいてマスターデバイス1から対応するターゲットデバイス3にデータ転送が行なわれ、データ転送のパフォーマンスが低下するごとに(ST7がNO)、上記と同様に新たなデータ転送速度に切り換えられ、データ転送処理が繰り返される(ST4〜ST8)。
【0025】
その後、データ転送が全て完了すると(ST5がYES)、処理を終了する。尚、
図4に示すフローチャートのデータ転送処理は各ターゲットデバイス3に対して同様に実行され、あるターゲットデバイス3に対するデータ転送処理が終了したとしても、他のターゲットデバイス3に対しては本例のデータ転送処理が継続している場合もある。
【0026】
以上のように、本例によればターゲットデバイス3へのデータ転送速度を常時計測しており、最初に設定したデータ転送速度に対してパフォーマンスが低下すると、直ちに新たに計測した情報に基づいてデータ転送が行なわれ、常に最適な速度でデータ転送を行なうことができる。
【0027】
また、本例のデータ転送はターゲットデバイス3ごとに実行され、ターゲットデバイス3の種類やインターフェースの特性、記録容量等も加味した、ターゲットデバイス3ごとに最適な条件のデータ転送を実行することができる。したがって、トータルとしてマスターデバイス1からターゲットデバイス3へのデータ転送速度を高速に行なうことができる。
【0028】
尚、
図5は上記実施例と比較する為に示したデータ転送処理のフローチャートである。この場合、実際にターゲットデバイス3にデータを転送する前に各デバイスの転送速度を測定する処理を行い(ステップ(以下、STPで示す)1)、上記測定結果に基づいて最適な転送データ量を想定し(STP2)、想定した転送データ量の情報を記録する処理までは同じである(STP3)。
【0029】
その後、実際にマスターデバイス1からターゲットデバイス3にデータを転送し、転送時間(速度)の測定も開始する(STP4)。この場合、最初に測定した転送速度が使用され、転送処理が終了するまで、最初に測定した転送速度によってデータ転送が継続される。
したがって、前の例に比べて転送速度は低下するが、本例のように実際にターゲットデバイス3にデータを転送する前に各デバイスの転送速度を測定し、最適な転送データ量を想定し、この設定に基づいてデータ転送を行うので、前述の従来例に比べて高速にデータ転送を行うことができる。
【0030】
次に、本例を使用してマスターデバイス1のデータを複数のターゲットデバイス3に転送する具体例を説明する。
図6はこの例を説明する模式図であり、同図に示す(a)はマスターデバイス1に記録されたマスターデータを示し、同図(b)は容量の異なる3台のターゲットデバイス3a〜3cを示す。尚、例えば使用されるターゲットデバイス3aの記録容量は500GB(ギガバイト)であり、ターゲットデバイス3bの記録容量は600GBであり、ターゲットデバイス3cの記録容量は800GBである。
【0031】
この場合、先ず本例ではターゲットデバイス3にデータを転送する前、前述の転送速度計測機能9によって各ターゲットデバイス3に対し転送速度の測定を行い、各ターゲットデバイス3a〜3cへの転送速度を想定する(ST1〜ST3)。そして、ターゲットデバイス3aのデータ書き込み速度が中速との測定結果を得ると、例えば転送データ量を300GBと想定し、ターゲットデバイス3bのデータ書き込み速度が低速との測定結果を得ると、例えば転送データ量を200GBと想定し、ターゲットデバイス3cのデータの書き込み速度が高速との測定結果を得ると、例えば転送データ量を500GBと想定する。
【0032】
そして、上記想定に基づき、マスターデバイス1に記録されたデータを再構成する(
図6(a)参照)。例えば、マスターデバイス1に記録されたデータを1−1〜1−6のブロック単位に再構成し、各ブロックのデータをどのターゲットデバイス3に転送するかの設定を行う。尚、同図(a)に示すマスターデータは前述のマスターデバイス1に記録された全てのデータであっても良く、又一部のデータであっても良い。また、上記各ブロック1−1〜1−6は1又は複数のセクタで構成され、その大きさは前述の各ターゲットデバイスへの転送量算出機能7等によって決定されている。
【0033】
次に、上記設定に基づいてマスターデバイス1からデータを読み出し、ターゲットデバイス3へのデータ転送を開始する(ST4)。例えば、ブロック1−1と1−4のデータは設定された再構成情報8に基づいてターゲットデバイス3aに転送され、ブロック1−2のデータはターゲットデバイス3bに転送され、ブロック1−3と1−5と1−6のデータはターゲットデバイス3cに転送される。
【0034】
その後、上記各ターゲットデバイス3a〜3cへのデータ転送が継続すると(ST4〜ST7)、前述のようにあるターゲットデバイス3では想定したデータ転送パフォーマンスを得ることができなくなる(ST7がNO)。この場合、前述のように本例では常時ターゲットデバイス3の転送速度(時間)を計測しており(ST6)、最適な転送データ量の更新・記録処理が行われ(ST8)、対応するターゲットデバイス3への転送速度を調整することができる。
【0035】
上記データの転送速度の調整は3台のターゲットデバイス3a〜3cについて独立して行われ、従って上記テータの速度調整をデータ転送中常時行うことによって、例えば3台のターゲットデバイス3a〜3cに対するデータ転送をほぼ同時に終了することができ、トータルとしてマスターデバイス1からターゲットデバイス3へのデータ転送を高速に行なうことができる。
【0036】
次に、本例を使用した他の例について説明する。本例は基本的に前述の例と同じであるが、転送中書き込み容量が不足する場合の例である。
図7は本例を説明する模式図であり、容量の異なる3台のターゲットデバイス3a、3b、3c´を使用する。尚、マスターデータの構成については前述の
図6(a)に示す例と同じ構成である。
本例においては、接続するターゲットデバイス3c´の記録容量が800GBではなく、容量の少ない400GBである。尚、他のターゲットデバイス3a及び3bについては前述と同様、500GBと600GBである。
【0037】
このような構成において、前述と同様、先ずターゲットデバイス3にデータを転送する前、各ターゲットデバイス3に対し転送速度の測定を行い、各ターゲットデバイス3a、3b、3c´への転送速度を想定し、例えばターゲットデバイス3aのデータ書き込み速度が中速であり、転送データ量を360GBと想定し、ターゲットデバイス3bのデータ書き込み速度が低速であり、転送データ量を240GBと想定し、ターゲットデバイス3cのデータの書き込み速度が高速であり、転送データ量を400GBと想定する(ST1〜ST3)。
【0038】
そして、この結果に基づきマスターデバイス1に記録されたデータを再構成し、各ブロックのデータをどのターゲットデバイス3に転送するか設定する。
【0039】
次に、上記設定に基づいてマスターデバイス1からデータを読み出し、ターゲットデバイス3へのデータ転送を開始する(ST4)。例えば、ブロック1−1と1−4のデータは設定された再構成情報8に基づいてターゲットデバイス3aに転送され、ブロック1−2のデータはターゲットデバイス3bに転送され、ブロック1−3と1−5と1−6のデータはターゲットデバイス3c´に転送される。
【0040】
その後上記各ターゲットデバイス3a、3b、3c´へのデータ転送が継続すると(ST4〜ST7)、前述のようにあるターゲットデバイス3では想定したデータ転送パフォーマンスを得ることができなくなる(ST7がNO)、この場合本例では常時ターゲットデバイス3の転送速度(時間)を計測しており(ST6)、最適な転送データ量の更新・記録処理が行われ(ST8)、対応するターゲットデバイス3への転送速度を調整することができる。
【0041】
本例においてはターゲットデバイス3c´の容量が400GBであり、前述の例で使用した800GBのターゲットデバイス3cに比べて小さい容量のデバイスを使用している。この為、ターゲットデバイス3c´にブロック1−5のデータを全て書き込むことができず、データ転送に支障をきたす。本例においては転送速度計測機能9によってターゲットデバイス3のデータ転送速度を常時計測しており、この場合ターゲットデバイス3c´に対してブロック1−5のデータを全て書き込むことができないと判断する。
【0042】
例えば、既に把握するターゲットデバイス3c´の容量と現在のデータ転送速度に基づいて計算し、ターゲットデバイス3c´に対してブロック1−5のデータを全て書き込むことができないと判断すると、他のターゲットデバイス3a又は3bへのデータ転送を判断する。この場合もターゲットデバイス3a及び3bに対するデータ転送速度や記録容量を把握しており、他のターゲットデバイス3a及び3bへのデータ転送を行うか容易に判断できる。
【0043】
図7に示す例では、ターゲットデバイス3c´に書き込みできなかったブロック1−5のデータの一部をターゲットデバイス3aと3bに転送し、ターゲットデバイス3c´の容量不足に対応する。
【0044】
したがって、本例によれば複数のターゲットデバイス3に同時にデータを分散し、例えば1つのターゲットデバイス(例えば、3c´)に書き込み容量の不足が生じてもデータ転送を中止することなく、他のターゲットデバイス(例えば、3aと3b)にデータ転送し、例えばアドレスを指定してデータを書き込むことによって容易に対応することができる。
【0045】
次に、
図8を用いてターゲットデバイス3に転送したデータを複製する場合を考慮したデータ転写方法について説明する。
この場合、同図(b)に示すように、容量の異なる3台のターゲットデバイス3を使用する構成は同じであるが、本例においては、接続するターゲットデバイス3b´の記録容量が600GBではなく、マスターデバイス1に記録されたマスターデータと同等以上の記録容量を備えたデバイスが使用される。尚、他のターゲットデバイス3a及び3c´については前述と同様、500GB等のマスターデータより容量の小さいデバイスである。
【0046】
このような構成において、前述と同様、先ずターゲットデバイス3にデータを転送する前、各ターゲットデバイス3に対し転送速度の測定を行い、各ターゲットデバイス3a、3b´、3c´への転送速度を想定し、同図(a)に示すようにマスターデータを再構成し、各ブロックのデータを転送する。
【0047】
本例においては、ターゲットデバイス3b´に転送されるブロック1−2と1−5のデータはマスターデータと同じ物理的位置に書き込まれる。一方、ブロック1−1と1−4のデータはアドレス情報と共にターゲットデバイス3aに転送され、ブロック1−3と1−6のデータはアドレス情報と共にターゲットデバイス3cに転送される。
この転送処理においても、3台のターゲットデバイス3a、3b´、3c´に対して速度調整が常時行なわれ、転送速度が低下したターゲットデバイス3に対しては速度調整が行なわれ、マスターデータの転送処理がほぼ同時に終了する。
【0048】
同図(b)に点線矢印で示す例は、上記データ転送後にデータを再構築し、例えばターゲットデバイス3b´にデータを複製する際の処理を示すものであり、この場合ターゲットデバイス3aに書き込まれたブロック1−1と1−4のデータをアドレス情報によって指定されるターゲットデバイス3b´の位置に転送し、ターゲットデバイス3c´に書き込まれたブロック1−3と1−6のデータをアドレス情報によって指定されるターゲットデバイス3b´の位置に転送するだけで、ターゲットデバイス3bにマスターデータの再構築することができる。
【0049】
しかも、この場合ターゲットデバイス3aからターゲットデバイス3b´へのデータ転送、及びターゲットデバイス3c´からターゲットデバイス3b´へのデータ転送は同時に並行して行うことができ、極めて短時間でマスターデータの再構築することができる。
【0050】
したがって、本例のように少なくとも1台のターゲットデバイス3(例えば、3b´)としてマスターデータと同等以上の容量を備えたデバイスを使用し、以後データを再構築する際、極めて迅速に行うことができ、本例の高速なデータ転送方法と組み合わせて実行することで、データの複製処理をより高速に行うことができる。
【0051】
尚、以上の説明においてターゲットデバイス3として3台のデバイスを使用して説明したが、本発明は複数台のターゲットデバイス3を使用すればよく、例えば2台、又は4台以上のターゲットデバイス3を使用しても同様に実行することができる。
【0052】
また、本実施例の説明ではマスターデバイス1のマスターデータを1−1−〜1−6にブロックに分けて説明したが、6ブロックである必要はなく、データ転送量の測定結果や、ターゲットデバイス3の種類やインターフェースの特性、デバイスの記録容量等によってブロックの大きさや分割数を設定することができる。