(57)【特許請求の範囲】
【請求項１】
第１のデバイスと第２のデバイスとの間でデータを転送する方法であって、
前記第１のデバイスが、回転する記録媒体との間で、前記記録媒体のセクタサイズの整数倍のサイズのデータブロックを単位としてデータを転送し、前記第２のデバイスとの間で前記記録媒体から転送されたデータまたは前記記録媒体へ転送するデータをパケットを単位として転送する第１のインタフェース部を備え、
前記第２のデバイスが、前記第１のインタフェース部と接続して前記第１のデバイスとの間でデータをパケットを単位として転送する第２のインタフェース部を備えており、
前記第１のデバイスと前記第２のデバイスとの間でデータを転送する過程において、１セクタ分のデータの転送に必要なパケットの数よりもパケットの数が少なくなるセクタ数とパケット数の整数比に従ってデータを転送し、
前記第１のデバイスに装着されている記録媒体のセクタサイズがＮ、基準セクタサイズがｎ、その基準セクタサイズｎのデータの転送に必要なパケットの数よりもパケットの数が少なくなる基準セクタ数ｘと基準パケット数ｙの基準整数比がｘ：ｙである場合、
前記第１のデバイスと前記第２のデバイスとの間でデータを転送する前に、前記第１のデバイスおよび前記第２のデバイスの少なくとも一方により、（ｎ／Ｎ）×ｘ：ｙの式から前記整数比を算出する
ことを特徴とするデータ転送方法。
【請求項２】
第１のデバイスと第２のデバイスとの間でデータを転送する方法であって、
前記第１のデバイスが、回転する記録媒体との間で、前記記録媒体のセクタサイズの整数倍のサイズのデータブロックを単位としてデータを転送し、前記第２のデバイスとの間で前記記録媒体から転送されたデータまたは前記記録媒体へ転送するデータをパケットを単位として転送する第１のインタフェース部を備え、
前記第２のデバイスが、前記第１のインタフェース部と接続して前記第１のデバイスとの間でデータをパケットを単位として転送する第２のインタフェース部を備えており、
前記第１のデバイスと前記第２のデバイスとの間でデータを転送する過程において、１セクタ分のデータの転送に必要なパケットの数よりもパケットの数が少なくなるセクタ数とパケット数の整数比に従ってデータを転送し、
前記第１のデバイスに装着されている記録媒体のセクタサイズと、前記パケットのユーザデータサイズとを認識する認識工程と、
パケット数を１から順番に増やすか、またはパケット数に素数を割り当て、それぞれのパケット数に前記ユーザデータサイズを掛け算して各単位サイズを算出し、その算出された各単位サイズと前記セクタサイズとの各比率を算出する比率算出工程と、
前記各比率から前記各比率を整数化した各丸め値を引き算して各判断値を算出する判断値算出工程と、
前記判断値の中から最小の判断値を探索する判断値探索工程と、
前記判断値探索工程で探索された前記判断値に対応する丸め値をセクタ数とし、そのセクタ数と前記判断値探索工程で探索された前記判断値に対応するパケット数との比を前記整数比として算出する整数比算出工程と、
を具備することを特徴とするデータ転送方法。
【請求項３】
前記データブロックのサイズが予め定められており、
前記各比率を整数化した各丸め値の中から、前記データブロックのサイズを表すセクタ数を割り切れる丸め値を探索する丸め値探索工程をさらに具備し、
前記判断値探索工程の際に、最小の判断値を、前記丸め値探索工程で探索された前記丸め値に対応する判断値の中から探索する
ことを特徴とする請求項２記載のデータ転送方法。
【発明の詳細な説明】
【技術分野】
【０００１】
ｉＳＣＳＩ等のパケットを用いてデータブロック単位のデータ転送を行うインタフェース規格に準拠したデータ転送方法に関する。
【背景技術】
【０００２】
ある一定のサイズのデータブロック単位でデータ転送を行うデバイスはブロック型デバイスと呼ばれる。ブロック型デバイスは、ＳＣＳＩやＡＴＡＰＩに準拠したインタフェース部を搭載している。ブロック型デバイスの典型例は、回転する記録媒体に対してデータの書き込みや読み出しを行うディスク装置である。ディスク装置によるデータの書き込みや読み出しは、セクタサイズの整数倍のサイズのデータブロックを単位として行われる。セクタサイズは、記録媒体上の各セクタのサイズのことである。また、データブロックのサイズは、セクタ数ないしはパケット数で表すことができる。
【０００３】
ディスク装置としては、ハードディスクドライブや光ディスクドライブ等が知られている。例えばＤＶＤやブルーレイ・ディスク（登録商標）のセクタサイズは２０４８ｂｙｔｅｓ、磁気ディスクのセクタサイズは５１２ｂｙｔｅｓであり、例えばブルーレイ・ディスク（登録商標）・ドライブは、サイズが３２セクタ、すなわち６５５３６ｂｙｔｅｓ（６４ＫＢ）のＥＣＣ（Ｅｒｒｏｒ  Ｃｏｒｒｅｃｔｉｏｎ  Ｃｏｄｅ）単位でデータの書き込みや読み出し、および他のデバイスとのデータ転送を行う。
【０００４】
ディスク装置は、例えばＭＰＥＧ−２トランスポートストリーム（以下、ＭＰＥＧ−２ＴＳと云う。）を、通常ＦＡＴ（File Allocation Table）やＵＤＦ(Universal Disk Format)等のファイルシステムに基づいて、セクタサイズの整数倍のサイズのデータブロックを単位として記録媒体に記録する。ＭＰＥＧ−２ＴＳは、圧縮された映像信号および音声信号を伝送する方式の一つであり、日本および欧米における衛星デジタル放送や地上デジタル放送に採用されている。ＭＰＥＧ−２ＴＳにおいては、放送される番組の映像や音声のデータが、１８８バイト固定長のＭＰＥＧ−２ＴＳパケットを単位として時分割多重化される。
【０００５】
近年、ブロック型デバイスのインタフェース規格としてｉＳＣＳＩ（ｉｎｔｅｒｎｅｔ  ＳＣＳＩ）が登場してきた（例えば、特許文献１を参照。）。ｉＳＣＳＩは、デバイス間でＴＣＰ／ＩＰパケットを用いてＳＣＳＩのコマンドやデータを転送させるための規格である。ＳＣＳＩのコマンドやデータはＴＣＰ／ＩＰパケットの伝送フレームの中に内包される。例えばｉＳＣＳＩに準拠したインタフェース部をブロック型デバイスとホストコンピュータに搭載すれば、ブロック型デバイスとホストコンピュータをネットワークを介して接続することが可能となっている。
【０００６】
ｉＳＣＳＩに準拠したインタフェース部を用いてディスク装置とホストコンピュータとの間でデータ転送を行う場合、データ転送の都度、１セクタに割り当てるパケット数を決定する計算処理を行う必要がある。その理由は、ＴＣＰ／ＩＰパケットのユーザデータサイズが、可変できるものの記録媒体のセクタサイズとは親和性がないためである。つまり、ＴＣＰ／ＩＰパケットのユーザデータサイズとセクタサイズは整数比の関係にない。例えば、ブルーレイ・ディスク（登録商標）のセクタサイズは２０４８ｂｙｔｅｓ、ＴＣＰ／ＩＰのＩＰｖ４規格で決められたＥｔｈｅｒｎｅｔ（登録商標）・パケットの最大ユーザデータサイズは１４１２ｂｙｔｅｓであり、ブルーレイ・ディスク（登録商標）のセクタサイズはＥｔｈｅｒｎｅｔ（登録商標）・パケットの最大ユーザデータサイズで割り切れず、端数が発生する。
【０００７】
一方、ＭＰＥＧ−２ＴＳパケットも、上述したようにそのサイズが１８８バイト固定長であるので、記録媒体のセクタサイズとは親和性がない。そこで、記録媒体に対するＭＰＥＧ−２ＴＳの書き込みや読み出しの効率をよくするために、パケットのサイズとセクタサイズの最小公倍数のデータサイズを単位としてデータ転送を行う方法が提案されている（例えば、特許文献２、３および４を参照。）。
【０００８】
また、同様に、転送元のセクタサイズと転送先のセクタサイズとの親和性がない場合に、転送元のセクタサイズと転送先のセクタサイズの最小公倍数のデータサイズを単位としてデータ転送を行う方法が提案されている（例えば、特許文献５を参照。）。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００２−３１８７２５号公報
【特許文献２】特開２００４−１１０８７６号公報
【特許文献３】特許第４３１０８２１号公報
【特許文献４】特開平８−２８９２４８号公報
【特許文献５】特開２００６−０１８４２６号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
上述したように、ｉＳＣＳＩに準拠したデータ転送を行う場合、ＴＣＰ／ＩＰパケットのユーザデータサイズと記録媒体のセクタサイズが整数比の関係になく、データ転送の都度、１セクタに割り当てるパケット数を決定する計算処理を行う必要がある。そのため、その計算処理の分だけデータ転送速度が遅くなるという問題があった。また上述したように、セクタサイズはユーザデータサイズでは割り切れず、端数が発生する。そのため、端数分のデータを内包するパケットを転送する必要があり、パケット数が増加する分、データ転送速度が遅くなるという問題があった。またｉＳＣＳＩでは、１パケットの送信ごとにネゴシエーション処理を行う必要があり、その処理の分だけデータ転送速度が遅くなるという問題があった。さらに、データ転送速度が遅くなるため、ブロック型デバイスにおいて回転待ちが発生するおそれがあった。
【００１１】
以下、回転待ちに起因するデータ転送速度（スループット）の悪化について、ブロック型デバイスからホストコンピュータへ、ネットワークを介して１セクタ単位でパケットを転送する場合を例に説明する。このようなインタフェースの機能を実現するには、例えばｉＳＣＳＩに準拠したネットワークカードとそのドライバ等をブロック型デバイスとホストコンピュータに搭載すればよい。ここでは、１セクタのサイズ（セクタサイズ）が２０４８ｂｙｔｅｓ、１パケットの最大ユーザデータサイズが１４１２ｂｙｔｅｓであるとする。
【００１２】
まず、ホストコンピュータから、ネットワークを介してブロック型デバイスのインタフェース部に１セクタのＲＥＡＤコマンドが送信される。そのＲＥＡＤコマンドを受信したブロック型デバイスのインタフェース部は、ブロック型デバイスの主制御装置へ１セクタのＲＥＡＤコマンドを発行する。ブロック型デバイスは、その発行されたＲＥＡＤコマンドに従い、記録媒体から１セクタ分のデータを読み出して、その読み出したデータをブロック型デバイスのインタフェース部へ転送する。
【００１３】
ブロック型デバイスのインタフェース部は、転送された１セクタ分のデータをパケット単位でネットワークへ送出する。ここでは、１セクタ分のデータが２個のパケットに分割され、それらのパケットがホストコンピュータへ転送されることになる。このとき、１セクタに割り当てるパケット数を決定する計算処理が実行される。また、端数分のデータを内包するパケットを転送する処理が実行される。さらに、１パケットの送信ごとにネゴシエーション処理が行われる。一方、この期間中も記録媒体は回転を続けている。
【００１４】
次に、２個のパケットを受信したホストコンピュータから、ネットワークを介してブロック型デバイスのインタフェース部に１セクタのＲＥＡＤコマンドが送信される。そのＲＥＡＤコマンドを受信したブロック型デバイスのインタフェース部は、ブロック型デバイスの主制御装置へ１セクタのＲＥＡＤコマンドを発行する。このとき、ブロック型デバイスのデータ取り出し部が次にデータを読み出すセクタの一部または全部を通り過ぎていた場合、約１回転分の回転待ち時間が発生する。データ取り出し部は、ブロック型デバイスが光ディスクドライブの場合は光ピックアップであり、ハードディスクドライブの場合は再生ヘッドである。
【００１５】
以上のように、ホストコンピュータから要求される複数のデータを連続して記録媒体から読み出すためには、そのホストコンピュータから要求される各データが記録されている各セクタに連続してアクセスする必要があり、そのためにブロック型デバイスにおいて回転待ちが発生してデータ転送速度（スループット）が悪化するおそれがあった。
【００１６】
なお、ｉＳＣＳＩに準拠したデータ転送に対して、上述したパケットのサイズとセクタサイズの最小公倍数のデータサイズを単位としてデータ転送を行う方法を適用しても、データ転送速度の向上にはつながらない。例えば、セクタサイズが２０４８ｂｙｔｅｓ、１パケットの最大ユーザデータサイズが１４１２ｂｙｔｅｓである場合、それらのサイズの最小公倍数のデータサイズは７２２９４４ｂｙｔｅｓとなる。したがって、記録媒体とブロック型デバイスのインタフェース部との間で転送されるデータブロックのサイズは３５３セクタとなり、ブロック型デバイスのインタフェース部とホストコンピュータとの間で転送されるデータブロックのサイズは５１２パケットとなる。このようにデータブロックのサイズが大きくなり過ぎるので、ホストコンピュータから要求されるデータのサイズが３５３セクタ分のデータサイズよりも小さい場合が在り得る。その場合には、ブロック型デバイスからホストコンピュータへ転送するパケット数を５１２パケットにするために、要求されたデータ以外のダミーデータを内包するパケットを転送する必要がある。このように余分なダミーのパケットを転送する分だけパケット数が増加する。このことはデータ転送速度の低下の原因となる。さらに、ｉＳＣＳＩでは、上述したように１パケットの送信ごとにネゴシエーション処理を行う必要があるので、余分なダミーのパケットのネゴシエーション処理の分だけ、データ転送速度が低下する。
【００１７】
また、実際には、ホストコンピュータがディスク装置へ一度に要求できるデータサイズには限界がある。例えば、ホストコンピュータがＭＳ−ＤＯＳ（登録商標）やＷｉｎｄｏｗｓ（登録商標）等の高機能ＯＳ(オペレーティングシステム)を搭載している場合には、ホストコンピュータがディスク装置へ一度に要求できる最大のデータサイズは１２８ＫＢである。一方、上述したように、セクタサイズが２０４８ｂｙｔｅｓ、１パケットの最大ユーザデータサイズが１４１２ｂｙｔｅｓである場合、それらのサイズの最小公倍数のデータサイズは７２２９４４ｂｙｔｅｓとなり、ホストコンピュータが一度に要求できる最大データサイズよりも大きくなる。したがって、最小公倍数を利用するデータ転送方法を適用することは実際的ではない。
【００１８】
以上のように、パケットを用いてデータブロック単位のデータ転送を行う一般的なデータ転送方法では、効率よくデータ転送を行うことができず、回転待ちが発生して、データ転送速度（スループット）が悪化するおそれがあった。
【００１９】
本発明は、上記の問題点に鑑み、データ転送速度の向上を図ることができるデータ転送方法を提供することを目的とする。
【課題を解決するための手段】
【００２７】
本発明のデータ転送方法は、第１のデバイスと第２のデバイスとの間でデータを転送する方法であって、前記第１のデバイスが、回転する記録媒体との間で、前記記録媒体のセクタサイズの整数倍のサイズのデータブロックを単位としてデータを転送し、前記第２のデバイスとの間で前記記録媒体から転送されたデータまたは前記記録媒体へ転送するデータをパケットを単位として転送する第１のインタフェース部を備え、前記第２のデバイスが、前記第１のインタフェース部と接続して前記第１のデバイスとの間でデータをパケットを単位として転送する第２のインタフェース部を備えており、前記第１のデバイスと前記第２のデバイスとの間でデータを転送する過程において、１セクタ分のデータの転送に必要なパケットの数よりもパケットの数が少なくなるセクタ数とパケット数の整数比に従ってデータを転送し、前記第１のデバイスに装着されている記録媒体のセクタサイズがＮ、基準セクタサイズがｎ、その基準セクタサイズｎのデータの転送に必要なパケットの数よりもパケットの数が少なくなる基準セクタ数ｘと基準パケット数ｙの基準整数比がｘ：ｙである場合、前記第１のデバイスと前記第２のデバイスとの間でデータを転送する前に、前記第１のデバイスおよび前記第２のデバイスの少なくとも一方により、（ｎ／Ｎ）×ｘ：ｙの式から前記整数比を算出するものである。
【００２８】
また、第１のデバイスと第２のデバイスとの間でデータを転送する方法であって、前記第１のデバイスが、回転する記録媒体との間で、前記記録媒体のセクタサイズの整数倍のサイズのデータブロックを単位としてデータを転送し、前記第２のデバイスとの間で前記記録媒体から転送されたデータまたは前記記録媒体へ転送するデータをパケットを単位として転送する第１のインタフェース部を備え、前記第２のデバイスが、前記第１のインタフェース部と接続して前記第１のデバイスとの間でデータをパケットを単位として転送する第２のインタフェース部を備えており、前記第１のデバイスと前記第２のデバイスとの間でデータを転送する過程において、１セクタ分のデータの転送に必要なパケットの数よりもパケットの数が少なくなるセクタ数とパケット数の整数比に従ってデータを転送し、前記第１のデバイスに装着されている記録媒体のセクタサイズと、前記パケットのユーザデータサイズとを認識する認識工程と、パケット数を１から順番に増やすか、またはパケット数に素数を割り当て、それぞれのパケット数に前記ユーザデータサイズを掛け算して各単位サイズを算出し、その算出された各単位サイズと前記セクタサイズとの各比率を算出する比率算出工程と、前記各比率から前記各比率を整数化した各丸め値を引き算して各判断値を算出する判断値算出工程と、前記判断値の中から最小の判断値を探索する判断値探索工程と、前記判断値探索工程で探索された前記判断値に対応する丸め値をセクタ数とし、そのセクタ数と前記判断値探索工程で探索された前記判断値に対応するパケット数との比を前記整数比として算出する整数比算出工程と、を具備するものである。
【００２９】
また、前記した認識工程と、比率算出工程と、判断値算出工程と、判断値探索工程と、整数比算出工程とを具備するデータ転送方法において、前記データブロックのサイズが予め定められている場合には、前記各比率を整数化した各丸め値の中から、前記データブロックのサイズを表すセクタ数を割り切れる丸め値を探索する丸め値探索工程をさらに具備し、前記判断値探索工程の際に、最小の判断値を、前記丸め値探索工程で探索された前記丸め値に対応する判断値の中から探索してもよい。
【発明の効果】
【００３０】
本発明の好ましい形態によれば、１セクタ分のデータの転送に必要なパケット数よりもパケット数が少なくなるセクタ数とパケット数の整数比に従ってデータ転送を行うので、効率よくデータ転送を行うことができ、データ転送速度の向上を図ることができる。さらに、整数比に従って記録媒体から読み出されるセクタのグループを構成する各セクタのデータを一時保存するバッファ上の位置と、整数比に従って転送されるパケットのグループを構成する各パケットに対して予め定められたバッファ上の位置との関係が固定されることにより、記録媒体上で連続するセクタから順にデータを読み出して保存する必要がなくなるので、たとえ回転待ちが発生したとしても効率の高いデータ転送を実現でき、実質的に回転待ち時間を短縮できる。したがって、データ転送速度の向上を図ることができる。
【図面の簡単な説明】
【００３１】
【図１】本発明の各実施の形態に係るデータ転送方法を実現するシステムの構成例を示す模式図
【図２】ｉＳＣＳＩの一般的な概念図
【図３】Ｅｔｈｅｒｎｅｔ（登録商標）・パケットの一般的な構成図
【図４】本発明の各実施の形態に係るブロック型デバイスに装着する記録媒体のセクタサイズを説明するための模式図
【図５】本発明の実施の形態１に係るデータ転送方法の一例を説明するための図
【図６】本発明の実施の形態２に係るデータ転送方法の一例を説明するための図
【図７】ブロック型デバイスとネットワークとの間の平均データ転送速度と記録媒体の回転速度との関係を説明するための図
【図８】本発明の実施の形態３に係るデータ転送方法の一例を説明するための図
【図９】本発明の実施の形態４に係る整数比の算出工程の一例を示す図
【図１０】本発明の実施の形態４に係る整数比の算出工程の他例を示す図
【発明を実施するための形態】
【００３２】
まず、以下の各実施の形態に共通する基本態様について説明する。図１は各実施の形態に係るデータ転送方法を実現するシステムの構成例を示す模式図である。以下の各実施の形態では、第１のデバイスがブロック型デバイス１であり、第２のデバイスがホストコンピュータ２であり、ブロック型デバイス１とホストコンピュータ２がネットワーク３を介して接続されている場合を例に説明する。
【００３３】
ブロック型デバイス１は、回転する記録媒体（図示せず）に対してデータの書き込みや読み出しを行うディスク装置である。データの書き込みや読み出しは、セクタサイズの整数倍のサイズのデータブロック単位で実行される。ブロック型デバイス１は第１のインタフェース部４を備える。第１のインタフェース部４は、回転する記録媒体との間でデータブロック単位でデータを転送する。また、第１のインタフェース部４は、ホストコンピュータ２との間で記録媒体から転送されたデータまたは記録媒体へ転送するデータをパケット単位で転送する。
【００３４】
一方、ホストコンピュータ２は、第１のインタフェース部４とネットワーク３を介して接続する第２のインタフェース部５を備える。第２のインタフェース部５は、第１のインタフェース部４との間でデータをパケット単位で転送する。またホストコンピュータ２は、ブロック型デバイス１へのＲＥＡＤコマンドまたはＷＲＩＴＥコマンドの発行をシーケンシャルに行う。
【００３５】
このようにデータブロック単位でパケット通信を行うインタフェースの機能を実現するには、例えばｉＳＣＳＩに準拠したネットワークカードとそのドライバ等をブロック型デバイス１とホストコンピュータ２に搭載すればよい。ｉＳＣＳＩでは、ブロック型デバイス１はｉＳＣＳＩターゲットとなり、ホストコンピュータ２はｉＳＣＳＩイニシエータとなる。図２にｉＳＣＳＩの概念図を示す。
【００３６】
また以下の各実施の形態では、ブロック型デバイス１とホストコンピュータ２との間で、ＴＣＰ／ＩＰのＩＰｖ４規格で決めれたＥｔｈｅｒｎｅｔ（登録商標）・パケットを転送する場合を例に説明する。図３にＥｔｈｅｒｎｅｔ（登録商標）・パケットの構成図を示す。Ｅｔｈｅｒｎｅｔ（登録商標）・パケットの最大サイズと最大ユーザデータサイズはそれぞれ１５１４ｂｙｔｅｓと１４１２ｂｙｔｅｓである。ｉＳＣＳＩでは、ＳＣＳＩのコマンドやデータがＴＣＰ／ＩＰパケットの伝送フレームの中に内包される。また以下の各実施の形態では、図４に示すように、１セクタのサイズ（セクタサイズ）が２０４８ｂｙｔｅｓの記録媒体６を例に説明する。なお、無論、１パケットの最大ユーザデータサイズと記録媒体６のセクタサイズはそれぞれ１４１２ｂｙｔｅｓと２０４８ｂｙｔｅｓに限定されるものではない。
【００３７】
（実施の形態１）
以下、本発明の実施の形態１に係るデータ転送方法について図面を交えて説明する。但し、既に説明した事項については、その説明を省略する。
【００３８】
１パケットの最大ユーザデータサイズが１４１２ｂｙｔｅｓ、記録媒体６のセクタサイズが２０４８ｂｙｔｅｓの場合、１セクタ分のデータの転送に必要なパケット数は２個となる。この実施の形態１では、１セクタ分のデータの転送に必要なパケット数よりもパケット数が少なくなるセクタ数とパケット数の整数比として、「セクタ数：パケット数＝２：３」がブロック型デバイス１とホストコンピュータ２に予め記憶されており、その整数比に従って、ブロック型デバイス１とホストコンピュータ２との間で、２セクタ分のデータを３個のパケットで転送する場合について説明する。したがって、データブロックのサイズは上記した整数比のセクタ数分（２セクタ分）のサイズとなる。
【００３９】
図５は本発明の実施の形態１に係るデータ転送方法の一例を説明するための図である。但し、既に説明した要素に対応する要素には同じ符号を付している。図５は、詳しくは、記録媒体６から２セクタ単位でデータを読み出し、その読み出されたデータ（データブロック）を３個のパケットに分割し、その各パケットをネットワーク３へ送出する処理の様子を示している。また、図５には、ブロック型デバイス１のインタフェース部４の処理フローを示している。
【００４０】
まず、ホストコンピュータ２から、ネットワーク３を介してブロック型デバイス１のインタフェース部４に２セクタのＲＥＡＤコマンドが送信される（ステップＳ１）。そのＲＥＡコマンドを受信したインタフェース部４は、ブロック型デバイス１の主制御装置（図示せず）へ２セクタのＲＥＡＤコマンドを発行する（ステップＳ２）。
【００４１】
ブロック型デバイス１は、ＲＥＡＤコマンドに従い、記録媒体６から２セクタ分のデータ（２０４８×２＝４０９６ｂｙｔｅｓ）を読み出し、その読み出されたデータをインタフェース部４へ転送する（ステップＳ３）。
【００４２】
インタフェース部４は、転送された２セクタ分のデータを３個のパケットに分割し、その各パケットをネットワーク３へ送出する（ステップＳ４）。３個のパケットの各々に内包される各転送データのサイズは、１４１２ｂｙｔｅｓ、１４１２ｂｙｔｅｓ、１２７２ｂｙｔｅｓとなる。また、１パケットの送信ごとにネゴシエーション処理が行われる。一方、この期間中も記録媒体６は回転を続けている。
【００４３】
この実施の形態１に係るデータ転送方法では、上記したセクタ数とパケット数の整数比２：３がブロック型デバイス１とホストコンピュータ２に予め記憶されているので、１セクタに割り当てるパケット数を決定する計算処理は不要である。また、２セクタ分のデータを３個のパケットで転送するので、１セクタ単位でデータ転送を行う場合に比べて、１パケット分のデータ転送時間を削減できる。すなわち、１セクタ単位でデータを転送する場合、１セクタ分のデータを転送するのに必要なパケット数は２個となる。具体的には、１セクタのサイズが２０４８ｂｙｔｅｓであるので、１４１２ｂｙｔｅｓのパケットと、端数分の６３６ｂｙｔｅｓのパケットが生成される。したがって、１セクタ単位でデータを転送する場合、２セクタ分のデータを転送するのに必要なパケット数は４個になる。これに対して、上記した整数比２：３に従ってデータ転送を行う場合、端数分のデータを内包するパケットは、２セクタ分のデータに対して１個となる。したがって、１パケット分のデータ転送時間を削減できる。さらに、２セクタ単位でデータ転送を行うので、記録媒体６から第１のインタフェース部４へデータを転送するのに要する時間は、１セクタ単位でデータ転送を行う場合の２倍となる。したがって、回転待ちが発生する確率は抑制される。
【００４４】
また、上述したように、２セクタ分のデータに対して端数分のデータを内包するパケットが１個生成されるのみであるので、１セクタ単位でデータを転送する場合に比べて、端数分のデータを内包するパケットの総数が減少する。したがって、転送されるＴＣＰ／ＩＰパケットの総数が減少し、その結果、データ転送効率が向上する。
【００４５】
以上説明したように、１セクタ分のデータの転送に必要なパケット数よりもパケット数が少なくなるセクタ数とパケット数の整数比として、「セクタ数：パケット数＝２：３」をブロック型デバイス１とホストコンピュータ２に予め記憶させておくことで、ブロック型デバイス１とホストコンピュータ２との間のデータ転送にかかる時間を削減することができる。加えて、回転待ちが発生する確率を抑制することができる。
【００４６】
なお、セクタサイズは記録媒体の種類ごとに予め定められている。そこで、ホストコンピュータ２に、記録媒体の種類ごとのセクタ数とパケット数の整数比を予め記憶させておき、ホストコンピュータ２のインタフェース部５が、ブロック型デバイス１に装着されている記録媒体の種類に応じて選定された整数比に従ってデータを転送するようにしてもよい。
【００４７】
また、ブロック型デバイス１が複数種類の記録媒体に対応している場合には、ブロック型デバイス１にも記録媒体の種類ごとのセクタ数とパケット数の整数比を予め記憶させておき、ブロック型デバイス１のインタフェース部４とホストコンピュータ２のインタフェース部５が共に、ブロック型デバイス１に装着されている記録媒体の種類に応じて選定された整数比に従ってデータを転送するようにしてもよい。
【００４８】
またここでは、予め記憶された整数比を用いる場合について説明したが、基準セクタサイズのデータの転送に必要なパケット数よりもパケット数が少なくなる基準セクタ数と基準パケット数の基準整数比を用いて、ブロック型デバイス１に装着されている記録媒体のセクタサイズに応じた整数比を、下記の式（１）により計算してもよい。
（ｎ／Ｎ）×ｘ：ｙ・・・（１）
式（１）において、「Ｎ」はブロック型デバイス１に装着されている記録媒体のセクタサイズ（ｂｙｔｅｓ）、「ｎ」は基準セクタサイズ（ｂｙｔｅｓ）、「ｘ」は基準セクタ数、「ｙ」は基準パケット数である。
【００４９】
例えば基準セクタサイズｎが２０４８ｂｙｔｅｓ、基準セクタ数ｘが２、基準パケット数ｙが３であり、ブロック型デバイス１が磁気ディスク装置である場合、磁気ディスクのセクタサイズＮは５１２ｂｙｔｅｓであるので、整数比は、
（２０４８／５１２）×２：３＝８：３
となる。
【００５０】
式（１）を用いた計算はデータ転送開始前に実行してもよい。この計算を実行するのは、ブロック型デバイス１とホストコンピュータ２のいずれか一方でもよいし、両者において実行してもよい。また、式（１）を用いた計算をデータ転送開始前に実行するのではなく、予め記憶させる整数比として、式（１）を用いて算出した整数比を用いるようにしてもよい。
【００５１】
（実施の形態２）
続いて、本発明の実施の形態２に係るデータ転送方法について図面を交えて説明する。但し、既に説明した事項については、その説明を省略する。
【００５２】
この実施の形態２に係るデータ転送方法においては、データブロックのサイズが予め定められている。また、１セクタ分のデータの転送に必要なパケット数よりもパケット数が少なくなるセクタ数とパケット数の整数比として、その整数比のセクタ数が、データブロックのサイズを表すセクタ数を割り切れる値を持つ整数比を使用する。
【００５３】
また、この実施の形態２では、データブロックのサイズが３２セクタ、すなわち６５５３６ｂｙｔｅｓ（６４ＫＢ）であり、セクタ数とパケット数の整数比として「セクタ数：パケット数＝２：３」がブロック型デバイス１とホストコンピュータ２に予め記憶されており、その整数比に従って、ブロック型デバイス１とホストコンピュータ２との間で、３２セクタ分のデータを４８個のパケットで転送する場合について説明する。このように大きなサイズのデータを一括転送する場合には、ブロック型デバイス１にキャッシュバッファ（一時記憶領域）を設けておく必要がある。ここでは、ブロック型デバイス１のインタフェース部４にキャッシュバッファを設ける場合について説明する。また、６４ＫＢのデータを一括転送する場合、キャッシュバッファは、６４ＫＢの整数倍の記憶容量を持つのが好適である。
【００５４】
図６は本発明の実施の形態２に係るデータ転送方法の一例を説明するための図である。但し、既に説明した要素に対応する要素には同じ符号を付している。図６は、詳しくは、記録媒体６から３２セクタ単位でデータを読み出し、その読み出されたデータ（データブロック）を４８個のパケットに分割し、その各パケットをネットワーク３へ送出する処理の様子を示している。また、図６には、ブロック型デバイス１のインタフェース部４の処理フローを示している。
【００５５】
まず、ホストコンピュータ２から、ネットワーク３を介してブロック型デバイス１のインタフェース部４に３２セクタのＲＥＡＤコマンドが送信される（ステップＳ１１）。そのＲＥＡＤコマンドを受信したインタフェース部４は、ブロック型デバイス１の主制御装置（図示せず）へ３２セクタのＲＥＡＤコマンドを発行する（ステップＳ１２）。
【００５６】
ブロック型デバイス１は、ＲＥＡＤコマンドに従い、記録媒体６から３２セクタ分のデータを読み出し、その読み出されたデータをインタフェース部４へ転送する。
【００５７】
記録媒体６から転送された３２セクタ分のデータは、インタフェース部４のキャッシュバッファ（図示せず）に一時保存される（ステップＳ１３）。インタフェース部４は、キャッシュバッファに保存された３２セクタ分のデータを４８個のパケットに分割し、その各パケットをネットワーク３へ送出する（ステップ１４）。このとき、セクタ数とパケット数の整数比が「２：３」であるので、２セクタ分のデータ（４０９６ｂｙｔｅｓ）ごとに３個のパケットが割り当てられる。３個のパケットの各々に内包される各転送データのサイズは、１４１２ｂｙｔｅｓ、１４１２ｂｙｔｅｓ、１２７２ｂｙｔｅｓとなる。また、１パケットの送信ごとにネゴシエーション処理が行われる。一方、この期間中も記録媒体６は回転を続けている。
【００５８】
この実施の形態２に係るデータ転送方法では、上記したセクタ数とパケット数の整数比２：３がブロック型デバイス１とホストコンピュータ２に予め記憶されているので、１セクタに割り当てるパケット数を決定する計算処理は不要である。また、２セクタ分のデータを３個のパケットで転送するので、１セクタ単位でデータ転送を行う場合に比べて、１６パケット分のデータ転送時間を削減できる。すなわち、１セクタ単位でデータを転送する場合、１セクタ分のデータを転送するのに必要なパケット数は２個となる。したがって、１セクタ単位でデータを転送する場合、３２セクタ分のデータを転送するのに必要なパケット数は６４個になる。これに対して、上記した整数比２：３に従ってデータ転送を行う場合、端数分のデータを内包するパケットは、２セクタ分のデータに対して１個となるので、３２セクタ分のデータを転送するのに必要なパケット数は４８個になる。したがって、１６パケット分のデータ転送時間を削減できる。さらに、３２セクタ単位でデータ転送を行うので、記録媒体６から第１のインタフェース部４へデータを転送するのに要する時間は、１セクタ単位でデータ転送を行う場合の３２倍となる。したがって、回転待ちが発生する確率は抑制される。
【００５９】
また、上述したように、２セクタ分のデータに対して端数分のデータを内包するパケットが１個生成されるのみであるので、１セクタ単位でデータを転送する場合に比べて、端数分のデータを内包するパケットの総数が減少する。したがって、転送されるＴＣＰ／ＩＰパケットの総数が減少し、その結果、データ転送効率が向上する。
【００６０】
以上説明したように、データブロックのサイズが予め定められている場合でも、１セクタ分のデータの転送に必要なパケット数よりもパケット数が少なくなるセクタ数とパケット数の整数比として、その整数比のセクタ数が、データブロックのサイズを表すセクタ数を割り切れる値を持つ整数比を使用することで、ブロック型デバイス１とホストコンピュータ２との間のデータ転送にかかる時間を削減することができる。加えて、回転待ちが発生する確率を抑制することができる。
【００６１】
なお、ここでは、ブロック型デバイス１のインタフェース部４にキャッシュバッファ（一時記憶領域）を設けた場合について説明したが、ブロック型デバイス１本体（例えば、ディスク装置本体）にキャッシュバッファが搭載されている場合には、そのブロック型デバイス１本体のキャッシュバッファを利用してもよい。
【００６２】
また、前述の実施の形態１で説明したように、ホストコンピュータ２、またはホストコンピュータ２とブロック型デバイス１に、記録媒体の種類ごとの整数比を予め記憶させてもよい。但し、整数比のセクタ数が、データブロックのサイズを表すセクタ数を割り切れる値であることが条件である。
【００６３】
また、前述の実施の形態１で説明したように、ブロック型デバイス１またはホストコンピュータ２のいずれか一方において、あるいは両者において、式（１）を用いて整数比を算出してもよいし、予め記憶させる整数比として、式（１）を用いて算出した整数比を用いるようにしてもよい。但し、整数比のセクタ数が、データブロックのサイズを表すセクタ数を割り切れる値であることが条件である。
【００６４】
（実施の形態３）
続いて、本発明の実施の形態３に係るデータ転送方法について図面を交えて説明する。但し、既に説明した事項については、その説明を省略する。
【００６５】
この実施の形態３では、データブロックのサイズが４セクタ、すなわち８１９２ｂｙｔｅｓ（２０４８×４）であり、セクタ数とパケット数の整数比として「セクタ数：パケット数＝２：３」がブロック型デバイス１とホストコンピュータ２に予め記憶されており、その整数比に従って、ブロック型デバイス１とホストコンピュータ２との間で、４セクタ分のデータを６個のパケットで転送する場合について説明する。したがって、前述の実施の形態２と同様に、ブロック型デバイス１にキャッシュバッファ（一時記憶領域）を設けておく必要がある。ここでは、ブロック型デバイス１のインタフェース部４にキャッシュバッファを設ける場合について説明する。また、８１９２ｂｙｔｅｓのデータを一括転送する場合、キャッシュバッファは、８１９２ｂｙｔｅｓの整数倍の記憶容量を持つのが好適である。
【００６６】
さらに、この実施の形態３では、記録媒体６の回転速度が２倍速である場合を例に説明する。記録媒体６の回転速度が２倍速である場合、記録媒体６から１セクタ飛ばしでデータが読み出される。
【００６７】
ここで、ブロック型デバイス１とネットワーク３との間の平均データ転送速度と記録媒体６の回転速度との関係について、図７に示すように、記録媒体６のセクタサイズがａ［ｂｙｔｅｓ／セクタ］、記録媒体６の１トラック当たりのセクタ数がｓ［セクタ／トラック］、記録媒体６の回転速度がｒ［回転／分］、ブロック型デバイス１とネットワーク３との間の平均データ転送速度がｔ［ｂｙｔｅｓ／秒］である場合を例に説明する。
【００６８】
この場合、１秒間に記録媒体６が回転する回数はｒ／６０［回転／秒］となり、１セクタの通過に要する時間（１セクタ分のデータ転送時間）は６０／（ｒ×ｓ）［秒］となる。よって、この記録媒体６のデータ転送速度は（ａ×ｒ×ｓ）／６０［ｂｙｔｅｓ／秒］となる。
【００６９】
したがって、記録媒体６のデータ転送速度がブロック型デバイス１とネットワーク３との間の平均データ転送速度ｔ以下の場合は、記録媒体６上で連続するセクタから順にデータが読み出される。一方、記録媒体６の回転速度がｎ倍速となり、記録媒体６のデータ転送速度がブロック型デバイス１とネットワーク３との間の平均データ転送速度ｔを越えた場合、（ｎ−１）セクタ飛ばしでデータが読み出される。
【００７０】
この実施の形態３に係るデータ転送方法では、セクタ数とパケット数の整数比に従って転送されるパケットのグループを構成する各パケットのユーザデータを保存するキャッシュバッファ上の記憶領域が予め定められている。そして、その各パケットに対して予め定められたキャッシュバッファ上の記憶領域と、セクタ数とパケット数の整数比に従って記録媒体６から読み出されるセクタのグループを構成する各セクタを保存するキャッシュバッファ上の記憶領域との位置関係が固定されている。このような特徴が可能となるのは、セクタ数とパケット数の整数比が決まっており、その整数比に従って、１セクタに割り当てるパケット数および各パケットに内包される各転送データのサイズが決まるためである。
【００７１】
図８は本発明の実施の形態３に係るデータ転送方法の一例を説明するための図である。但し、既に説明した要素に対応する要素には同じ符号を付している。図８は、詳しくは、記録媒体６から４セクタ単位でデータを読み出し、その読み出されたデータ（データブロック）を６個のパケットに分割し、その各パケットをネットワーク３へ送出する処理の様子を示している。
【００７２】
まず、ホストコンピュータ２から、ネットワーク３を介してブロック型デバイス１のインタフェース部４に４セクタのＲＥＡＤコマンドが送信される。そのＲＥＡＤコマンドを受信したインタフェース部４は、ブロック型デバイス１の主制御装置（図示せず）へ４セクタのＲＥＡＤコマンドを発行する。
【００７３】
ブロック型デバイス１は、ＲＥＡＤコマンドに従い、記録媒体６から４セクタ分のデータを読み出し、その読み出されたデータをインタフェース部４へ転送する。このとき、まず記録媒体６からセクタＮのデータが読み出される。この最初に読み出されたセクタＮのデータが一時保存されるキャッシュバッファ７上の記憶領域は予め定められている。例えば、セクタＮのデータと、このセクタＮに連続する次のセクタ（Ｎ＋１）のデータを３つのパケット１、２、３に分割する場合、セクタＮとセクタ（Ｎ＋１）のデータは、３つのパケット１、２、３に対して予め定められているキャッシュバッファ７上の記憶領域へ一旦保存されることになる。そして、それら３つのパケット１、２、３の各々に内包される各転送データのサイズが、１４１２ｂｙｔｅｓ、１４１２ｂｙｔｅｓ、１２７２ｂｙｔｅｓとなることから、セクタＮのデータは、パケット１に対応する記憶領域（１４１２ｂｙｔｅｓ）と、パケット２に対応する記憶領域（１４１２ｂｙｔｅｓ）の一部に保存される。
【００７４】
この実施の形態３では、上述したように、記録媒体６の回転速度が２倍速であり、１セクタ飛ばしでデータが読み出されるので、セクタＮのデータが読み出された後、セクタ（Ｎ＋２）のデータが読み出される。
【００７５】
セクタ（Ｎ＋２）のデータが一時保存されるキャッシュバッファ７上の記憶領域も、セクタＮと同様に予め定められている。例えば、セクタ（Ｎ＋２）のデータと、このセクタ（Ｎ＋２）に連続する次のセクタ（Ｎ＋３）のデータを３つのパケット４、５、６に分割する場合、セクタ（Ｎ＋２）のデータは、パケット４に対応する記憶領域（１４１２ｂｙｔｅｓ）と、パケット５に対応する記憶領域（１４１２ｂｙｔｅｓ）の一部に保存される。
【００７６】
その後、記録媒体６が約１回転するのを待って、残りのセクタ（Ｎ＋１）およびセクタ（Ｎ＋３）のデータが読み出される。この実施の形態３では、セクタＮとセクタ（Ｎ＋２）のデータを記録媒体６から読み出してキャッシュバッファ７に保存する処理が実行されている期間も記録媒体６が回転を続けているので、実質的な回転待ち時間が、連続するセクタから順にデータを読み出す場合に比べて削減される。
【００７７】
残りのセクタ（Ｎ＋１）およびセクタ（Ｎ＋３）のそれぞれのデータが一時保存されるキャッシュバッファ７上の記憶領域は、セクタＮおよびセクタ（Ｎ＋２）のそれぞれのデータが保存されている記憶領域に続く記憶領域である。
【００７８】
すなわち、セクタ（Ｎ＋１）のデータは、パケット２に対応する記憶領域のうちのセクタＮのデータが保存されていない記憶領域と、パケット３に対応する記憶領域（１２７２ｂｙｔｅｓ）に保存される。
【００７９】
同様に、セクタ（Ｎ＋３）のデータは、パケット５に対応する記憶領域のうちのセクタ（Ｎ＋２）のデータが保存されていない記憶領域と、パケット６に対応する記憶領域（１２７２ｂｙｔｅｓ）に保存される。
【００８０】
ホストコンピュータ２から要求された４セクタ分のデータがインタフェース部４のキャッシュバッファ７に一時保存されると、インタフェース部４は、キャッシュバッファ７に保存されたデータを６個のパケットに分割し、その各パケットをネットワーク３へ送出する。
【００８１】
このように、この実施の形態３においては、セクタ数とパケット数の整数比に従って記録媒体６から読み出されるセクタのグループを構成する各セクタのデータを一時保存するキャッシュバッファ７上の位置と、前記整数比に従ってホストコンピュータ２へ転送されるパケットのグループを構成する各パケットに対して予め設定されているキャッシュバッファ７上の位置とが一対一に対応している。したがって、読み出すことができたデータから順にキャッシュバッファ上に保存することができ、連続するセクタ順にデータをキャッシュバッファ上に保存せずに済む。このことから、記録媒体６の回転速度が上昇しても、実質的な回転待ち時間を削減することができる。
【００８２】
なお、ここでは、ブロック型デバイス１のインタフェース部４にキャッシュバッファ（一時記憶領域）を設けた場合について説明したが、ブロック型デバイス１本体（例えば、ディスク装置本体）にキャッシュバッファが搭載されている場合には、そのブロック型デバイス１本体のキャッシュバッファを利用してもよい。
【００８３】
また、前述の実施の形態１で説明したように、ホストコンピュータ２、またはホストコンピュータ２とブロック型デバイス１に、記録媒体の種類ごとの整数比を予め記憶させてもよい。
【００８４】
また、前述の実施の形態１で説明したように、ブロック型デバイス１またはホストコンピュータ２のいずれか一方において、あるいは両者において、式（１）を用いて整数比を算出してもよいし、予め記憶させる整数比として、式（１）を用いて算出した整数比を用いるようにしてもよい。
【００８５】
（実施の形態４）
続いて、本発明の実施の形態４に係るデータ転送方法について図面を交えて説明する。但し、既に説明した事項については、その説明を省略する。
【００８６】
この実施の形態４は、１セクタ分のデータの転送に必要なパケット数よりもパケット数が少なくなるセクタ数とパケット数の整数比の算出方法が前述した実施の形態１と異なる。整数比が算出された後のデータ転送方法は前述した実施の形態１と同様であるので、説明を省略する。
【００８７】
図９は本発明の実施の形態４に係る整数比の算出工程の一例を示す図である。まず、ステップＳ２１において、ブロック型デバイス１に装着されている記録媒体６のセクタサイズＳ（２０４８ｂｙｔｅｓ）と、１パケットの最大ユーザデータサイズＵ（１４１２ｂｙｔｅｓ）を認識する認識工程が実行される。
【００８８】
次に、ステップＳ２２において、パケット数ｐを１から順番に増やし、各パケット数（転送パケット単位数）ｐに最大ユーザデータサイズＵを掛け算して各単位サイズＢ（ｐ）を算出し、その算出した各単位サイズＢ（ｐ）とセクタサイズＳとの各比率ｒ（ｐ）を算出する比率算出工程が実行される。単位サイズＢ（ｐ）と比率ｒ（ｐ）の計算式は下記の通りである。
Ｂ（ｐ）＝ｐ×Ｕ＝ｐ×１４１２
ｒ（ｐ）＝Ｂ（ｐ）／Ｓ＝ｐ×Ｕ／Ｓ＝ｐ×１４１２／２０４８
ここで、ｐは｛１、２、３、・・・ｎ｝であり、ｎはＢ（ｎ）がブロック型デバイス本体またはブロック型デバイスのインタフェース部に設けられているキャッシュバッファの記憶容量を超えない範囲に設定する。
【００８９】
次に、ステップＳ２３において、比率算出工程で算出された各比率ｒ（ｐ）から、各比率ｒ（ｐ）を整数化した各丸め値Ｉｎｔ｛ｒ（ｐ）｝を引き算して各判断値Ｒ（ｐ）を算出する判断値算出工程が実行される。判断値Ｒ（ｐ）の計算式は下記の通りである。
Ｒ（ｐ）＝ｒ（ｐ）−Ｉｎｔ｛ｒ（ｐ）｝
【００９０】
次に、ステップＳ２４において、判断値算出工程で算出された判断値Ｒ（ｐ）の中から最小の値を持つ判断値Ｒ（ｍｉｎｉｍｕｍ）を探索する判断値探索工程が実行される。
Ｒ（ｍｉｎｉｍｕｍ）＝ＭＩＮ｛Ｒ（１）、Ｒ（２）、Ｒ（３）、・・・、Ｒ（ｎ）｝
【００９１】
次に、ステップＳ２５において、判断値探索工程で探索された判断値Ｒ（ｍｉｎｉｍｕｍ）に対応する丸め値をセクタ数とし、そのセクタ数と判断値探索工程で探索された判断値Ｒ（ｍｉｎｉｍｕｍ）に対応する転送単位パケット数との整数比を算出する整数比算出工程が実行される。
【００９２】
続いて、整数比の算出方法の他例について説明する。図１０は本発明の実施の形態４に係る整数比の算出工程の他例を示す図である。但し、上述した整数比の算出工程において説明した工程に対応する工程については、同じステップ番号を付して説明を省略する。
【００９３】
上述した算出工程により算出した整数比に従ってデータ転送を行う場合、データブロックのサイズは、その算出された整数比のセクタ数分のサイズとなる。一方、データブロックのサイズが予め定められている場合には、整数比のセクタ数が、データブロックのサイズを表すセクタ数を割り切れる値である必要がある。図１０には、整数比のセクタ数が、データブロックのサイズを表すセクタ数を割り切れる値となる整数比の算出工程を示している。
【００９４】
図１０に示す整数比の算出工程は、ステップＳ２３の判断値算出工程の後、ステップＳ２６において、各比率ｒ（ｐ）を整数化した各丸め値Ｉｎｔ｛ｒ（ｐ）｝の中から、データブロックのサイズを表すセクタ数を割り切れる値を探索する丸め値探索工程が実行され、ステップＳ２４の判断値探索工程において、丸め値探索工程で探索された丸め値に対応する判断値の中から最小の値を持つ判断値Ｒ（ｍｉｎｉｍｕｍ）が探索される点が、前述した図９に示す整数比の算出工程と異なる。なお、丸め値探索工程は、ステップＳ２２の比率算出工程とステップＳ２３の判断値算出工程との間で実行してもよい。
【００９５】
このように、データブロックのサイズが予め定められている場合には、データブロックのサイズを表すセクタ数を割り切れる丸め値を探索し、その探索された丸め値に対応する判断値の中から最小の値を持つ判断値を探索することで、整数比のセクタ数が、データブロックのサイズを表すセクタ数を割り切れる値となる整数比を算出することができる。例えば記録媒体がブルーレイ・ディスク（登録商標）の場合、データブロックサイズは３２セクタであるので、丸め値探索工程で探索される丸め値、すなわち整数比のセクタ数は｛１、２、４、８、１６｝となる。
【００９６】
以上説明した整数比の算出工程はデータ転送開始前に実行してもよい。この計算は、ブロック型デバイス１またはホストコンピュータ２の両者において実行してもよいし、いずれか一方で実行し、他方のデバイスには予め整数比を記憶させておいてもよい。また、上記した整数比の算出工程をデータ転送開始前に実行するのではなく、予め記憶させる整数比として、上記した整数比の算出工程により算出した整数比を用いるようにしてもよい。
【００９７】
なお、上述した２つの算出工程では、ステップＳ２２の比率算出工程において、パケット数ｐを１から順番に増やしたが、パケット数ｐに素数を割り当ててもよい。このようにすれば、パケット数ｐを１から順番に増やす場合に比べて、最小の判断値の探索にかかる計算回数を削減することができる。
【産業上の利用可能性】
【００９８】
本発明にかかるデータ転送方法は、パケットを用いたデータブロック単位のデータ転送におけるデータ転送速度の向上を図ることができ、ｉＳＣＳＩ等のインタフェースに有用である。
【符号の説明】
【００９９】
１      ブロック型デバイス
２      ホストコンピュータ
３      ネットワーク
４、５      インタフェース部
６      記録媒体
【図１】
0005436543.tif 000002
【図２】
0005436543.tif 000003
【図３】
0005436543.tif 000004
【図４】
0005436543.tif 000005
【図５】
0005436543.tif 000006
【図６】
0005436543.tif 000007
【図７】
0005436543.tif 000008
【図８】
0005436543.tif 000009
【図９】
0005436543.tif 000010
【図１０】
0005436543.tif 000011