(57)【要約】      （修正有）【課題】通信によりホスト機器に転送されるべきデータ量が大きなものであっても、その転送に要する時間を短縮させることが可能なＵＳＢ接続機器を提供する。【解決手段】ＵＳＢ接続機器は、ホストからのデータ読み出し要求で指定された転送データの先頭アドレス，容量により、現在転送が行われているファイルをメディアのＦＡＴ情報から解析して取得する。これにより、ＵＳＢ接続機器は、次にホストから要求されるであろう読み出しデータのアドレス、データブロック数を予測し、実際にホストより次のデータ読み出し要求が送信される前に、そのデータをメディアから転送用バッファへ読み出しておく。【選択図】  図２
2004318653.tif 000002
【特許請求の範囲】
【請求項１】
メディアが備えられ、ＵＳＢ接続されたホスト機器との間で該メディア上のデータの送受信が可能なＵＳＢ接続機器であって、
前記ホスト機器へ送信するための前記メディア上のデータが読み出されるバッファと、
前記ホスト機器から次に読み出し要求される読み出しデータを前記メディア内に記録されているＦＡＴ情報に基づいて予測する予測手段と、
該予測手段により得られた予測読み出しデータに対応するデータを、前記ホスト機器からの次の読み出し要求に先立って、前記メディア上から前記バッファへ先行読み出しする先行読み出し手段と
を備えていることを特徴とするＵＳＢ接続機器。
【請求項２】
前記予測手段は、
ホスト機器から読み出し要求される読み出しデータのブロック数の最大値を保持し、当該最大値を使用して、前記ホスト機器から次に読み出し要求される読み出しデータを前記メディア内に記録されているＦＡＴ情報に基づいて予測する
ことを特徴とする請求項１記載のＵＳＢ接続機器。
【請求項３】
前記予測手段により得られた予測読み出しデータと、前記ホスト機器からの次のデータ読み出し要求が異なる場合には、前記先行読み出し手段による先行読み出しを中止させ、前記ホスト機器からの当該データ読み出し要求に対応するデータの読み出しを開始させる確認／修正手段
をさらに備えていることを特徴とする請求項１又は２記載のＵＳＢ接続機器。
【請求項４】
前記確認／修正手段は、前記予測手段により得られた予測読み出しデータと、前記ホスト機器からの次のデータ読み出し要求との間で、予測読み出しデータが次のデータ読み出し要求に一部重複している部分がある場合には、不足するデータのみの読み出しを開始させる
ことを特徴とする請求項３記載のＵＳＢ接続機器。
【請求項５】
前記確認／修正手段は、前記予測手段により得られた予測読み出しデータと、前記ホスト機器からの次のデータ読み出し要求との間で、予測読み出しデータに次のデータ読み出し要求が含まれている場合には、前記バッファから余分なデータを破棄して前記ホスト機器へ送信開始させる
ことを特徴とする請求項３記載のＵＳＢ接続機器。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ハードディスク，メモリカード等の大容量記録メディアを備え、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）等のホスト機器とＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）規格で定められた通信プロトコルで接続され、ホスト機器との間でメディアデータの送受信機能を備えたＵＳＢ接続機器に関する。
【０００２】
【従来の技術】
従来、ハードディスクやメモリカード等のメディアに記録されているデータをＰＣ等が読み出す際、ＵＳＢ規格で定められたマスストレージクラス（Ｍａｓｓ  Ｓｔｏｒａｇｅ  Ｃｌａｓｓ）のプロトコルでメディアはＰＣ等にデータ接続される。
【０００３】
ここで、上記メディアが備えられる側の機器をＵＳＢ接続機器と称する一方、このＵＳＢ接続機器とデータ接続され、上記メディアにアクセスする側の機器をホスト機器と称した場合、従来は、図５に示すようなシーケンスで、メディアに記録されているデータの読み出しが実施されていた。
【０００４】
図５は、メディアに記録されているデータを読み出す際の従来の処理を示したフローチャートである。
図５に示すように、まずホスト機器であるホストＰＣ１３０からメディア１２０を備えたＵＳＢ接続機器１１０にデータ読み出し要求が送信される（ステップＳｈ１０１）。このホストＰＣ１３０からのデータ読み出し要求の送信の際には、パラメータとして読み出しデータの先頭アドレス並びに容量が、ホストＰＣ１３０によって指定される。
【０００５】
ＵＳＢ接続機器１１０は、ホストＰＣ１３０からのデータ読み出し要求を受信後、パラメータにより指定されたデータをメディア１２０からバッファへ読み出す（ステップＳｕ１０１）。このバッファは、ＵＳＢ接続機器１１０に備えられているデータ転送用のバッファで、高速アクセスが可能な構成になっている。
【０００６】
ＵＳＢ接続機器１１０は、指定されたデータのメディア１２０からバッファへの読み出し終了後、その読み出したデータをホストＰＣ１３０へ送信する（ステップＳｕ１０２）。
【０００７】
ホストＰＣ１３０は、このＵＳＢ接続機器１１０からの送信データを受信し（ステップＳｈ１０２）、先に述べたステップＳｕ１０１のデータ読み出し要求によるデータ全ての受信終了後、次のデータ読み出し要求をＵＳＢ接続機器に送信する（ステップＳｈ１０３）。
【０００８】
以下、この上述したシーケンスを全てのデータ転送が終了するまで、ステップＳｈ１０３，Ｓｕ１０３，Ｓｕ１０４，Ｓｈ１０４，・・・といった具合に、ＵＳＢ接続機器１１０及びホストＰＣ１３０はそれぞれの上述したデータ転送処理を繰り返すことにより、大容量データの転送を実現する。
【０００９】
また、このシーケンスに関連して、特開平１１−２２４１６５号公報には、複数のクラスタに分割されてディスク媒体に記録されているデータファイルをホストがリードする場合に、ＦＡＴ情報を用いたアドレスの予測及び先読みにより、２回目以降のリードコマンドに対応するリードデータの転送を短時間に実施することができるディスク装置（ＵＳＢ接続機器）が記載されている。
【００１０】
【特許文献１】
特開平１１−２２４１６５号公報
【００１１】
【発明が解決しようとする課題】
しかしながら、大容量記録メディアを持つＵＳＢ接続機器の場合、そのメディアの容量が増大するにつれて、当然通信により転送されるべきデータ量も増大する。転送に要する時間はデータ転送量に比例して増加するので、非常に大きなものとなる。
【００１２】
そこで、本発明は、上記問題点に鑑み、通信によりホスト機器に転送されるべきデータ量が大きなものであっても、その転送に要する時間を短縮させることが可能なＵＳＢ接続機器を提供することを目的とする。
【００１３】
【課題を解決するための手段】
上記目的を達成するために、本発明のＵＳＢ接続機器は、メディアが備えられ、ＵＳＢ接続されたホスト機器との間で該メディア上のデータの送受信が可能なＵＳＢ接続機器であって、前記ホスト機器へ送信するための前記メディア上のデータが読み出されるバッファと、前記ホスト機器から次に読み出し要求される読み出しデータを前記メディア内に記録されているＦＡＴ情報に基づいて予測する予測手段と、該予測手段により得られた予測読み出しデータに対応するデータを、前記ホスト機器からの次の読み出し要求に先立って、前記メディア上から前記バッファへ先行読み出しする先行読み出し手段とを備えていることを特徴とする。
【００１４】
また、本発明のＵＳＢ接続機器では、前記予測手段は、ホスト機器から読み出し要求される読み出しデータのブロック数の最大値を保持し、当該最大値を使用して、前記ホスト機器から次に読み出し要求される読み出しデータを前記メディア内に記録されているＦＡＴ情報に基づいて予測することを特徴とする。
【００１５】
また、本発明のＵＳＢ接続機器では、前記予測手段により得られた予測読み出しデータと、前記ホスト機器からの次のデータ読み出し要求が異なる場合には、前記先行読み出し手段による先行読み出しを中止させ、前記ホスト機器からの当該データ読み出し要求に対応するデータの読み出しを開始させる確認／修正手段をさらに備えていることを特徴とする。
【００１６】
さらに、本発明のＵＳＢ接続機器では、前記確認／修正手段は、前記予測手段により得られた予測読み出しデータと、前記ホスト機器からの次のデータ読み出し要求との間で、予測読み出しデータが次のデータ読み出し要求に一部重複している部分がある場合には、不足するデータのみの読み出しを開始させることを特徴とする。
【００１７】
さらに、本発明のＵＳＢ接続機器では、前記確認／修正手段は、前記予測手段により得られた予測読み出しデータと、前記ホスト機器からの次のデータ読み出し要求との間で、予測読み出しデータに次のデータ読み出し要求が含まれている場合には、前記バッファから余分なデータを破棄して前記ホスト機器へ送信開始させることを特徴とする。
【００１８】
以上、本発明によれば、ＵＳＢ接続機器は、ホスト機器からのデータ読み出し要求により、ホスト機器からの次のデータ読み出し要求により指定される読み出しデータを予測し、実際にホストＰＣから次のデータ読み出し要求が送信される前に、そのデータをメディアから転送用（送信用）のバッファへ読み出しておくことができる。
【００１９】
また、予測読み出しデータと、ホストＰＣから実際に次のデータ読み出し要求で指定された内容が異なる場合にも、データ読み出し及びファイル転送の時間を短縮することが可能になる。
【００２０】
【発明の実施の形態】
以下、添付図面を参照しながら本発明の好適な実施の形態について詳細に説明する。
【００２１】
図１は、本発明の一実施の形態によるＵＳＢ接続機器のブロック図である。
本実施の形態によるＵＳＢ接続機器１０は、ＣＰＵ，ＲＡＭ，ＲＯＭ等を備えシステム全体を制御するＭＰＵ１１、ホスト機器としてのホストＰＣ３０とＵＳＢ規格によってデータ接続され、データの送受信を行うＵＳＢドライバ１２、メディア２０に格納されているデータへのアクセスを制御するメディアドライバ１３、メディア２０を接続するメディアドライブ１４、メディア２０から読み出したデータやメディア２０へ書き込むデータを一時的に格納する転送用バッファ１５を備えて構成される。なお、メディア２０は、大容量動画ファイルや静止画ファイルが格納可能になっている。
【００２２】
ここで、ホストＰＣ３０により、メディア２０に格納されている一の大容量動画ファイルの読み出しを実行しようとした場合について説明する。
【００２３】
ホストＰＣ３０は、データ接続されたＵＳＢ接続機器１０に備えられているメディア２０から当該一の大容量動画ファイルの読み出しを実施する。
【００２４】
このＵＳＢ接続機器１０とホストＰＣ３０との間のＵＳＢ規格によるデータ接続では、ＵＳＢ規格で規定される通信プロトコルであるマスストレージクラスのプロトコルを使用している。
【００２５】
メディア２０に格納されているデータへのマスストレージクラスのプロトコルによるアクセスは、論理ブロックと呼ばれるデータブロック単位で行われ、それぞれのデータブロックには論理ブロックアドレスというアドレスが割り付けられている。
【００２６】
ホストＰＣ３０からの読み出し要求においては、読み出すデータの先頭論理ブロックアドレス、並びにブロック数が指定される。
【００２７】
ところで、一度にホストＰＣ３０から読み出し要求されるデータブロック数は、ホストＰＣ３０側に備えられたドライバによって異なるが、１〜数ｋブロック程度である。そのため、ホストＰＣ３０側で大容量の動画ファイルや静止画ファイルのデータをメディア２０から読み出す場合は、ホストＰＣ３０からＵＳＢ接続機器１０への読み出し要求が何回も実施されることとなる。
【００２８】
ＵＳＢ接続機器１０は、ホストＰＣ３０からの読み出し要求により指定されるデータブロック数の最大値をＭＰＵ１１内に記憶しておく機能を有する。この値により、現在ＵＳＢ接続機器１０に接続されているホストＰＣ３０が最大何ブロックの読み出しコマンドを送信してくるかを予測することができる。
【００２９】
図２は、本実施の形態によるＵＳＢ接続機器から、そのメディアに記録されているデータを読み出す際の処理を示したフローチャートである。
【００３０】
ホストＰＣ３０からＵＳＢ接続機器１０に対し、データ読み出し要求が送信される（ステップＳｈ００１）。このホストＰＣ３０からのデータ読み出し要求の送信の際には、パラメータとして読み出しデータの先頭アドレス及び容量が、ホストＰＣ３０によって指定される。
【００３１】
ＵＳＢ接続機器１０は、このパラメータにより指定されたデータを、メディア２０から転送用バッファ１５へ読み出す（ステップＳｕ００１）。
【００３２】
ＵＳＢ接続機器１０は、このパラメータにより指定されたデータに関するメディア２０から転送用バッファ１５への読み出しが終了し、転送するデータの準備ができた後、ホストＰＣ３０へ送信を開始する（ステップＳｕ００２）。
【００３３】
ホストＰＣ３０は、このＵＳＢ接続機器１０からの送信データを受信し（ステップＳｈ００２）、ステップＳｈ００１のデータ読み出し要求によるデータ全ての受信処理が終わった後、次のデータ読み出し要求を送信する（ステップＳｈ００３）。
【００３４】
前述の図５により説明した従来技術による場合は、ＵＳＢ接続機器１０は、このホストＰＣ３０からのステップＳｈ００３によるデータ読み出し要求を受信した後、そのパラメータによりメディア２０からのデータの読み出しを開始する。
【００３５】
本実施の形態においては、ＵＳＢ接続機器１０は、ホストＰＣ３０からのデータ読み出し要求に対応して、前述したステップＳｕ００１に示した処理でそのパラメータにより指定されたデータをメディア２０から転送用バッファ１５へ読み出し、ステップＳｕ００２に示した処理によってホストＰＣ３０へこの読み出したデータの送信を開始した後、その送信処理と並行して、次に述べる予測／先行読み出し処理を行う。
【００３６】
すなわち、ＵＳＢ接続機器１０は、ステップＳｕ００１に示した処理でメディア２０から転送用バッファ１５へ読み出したデータ（パラメータ）を解析することにより、ステップＳｈ００３に示したホストＰＣ３０からの次のデータ読み出し要求で指定されるパラメータを予測する。そして、ＵＳＢ接続機器１０は、そのパラメータを予測したならば、このステップＳｈ００３に示した次のデータ読み出し要求をホストＰＣ３０から受信する前に、前述のステップＳｕ００２に示した送信処理に並行し、メディア２０から転送用バッファ１５へこの予測したパラメータにより指定されるデータの読み出しを開始しておく（ステップＳｕ００３）。
【００３７】
そして、ＵＳＢ接続機器１０は、ホストＰＣ３０からこのステップＳｈ００３による次のデータ読み出し要求を受信した際に、ステップＳｕ００３の予測処理において予測したパラメータと、このステップＳｈ００３による次のデータ読み出し要求によってホストＰＣ３０から指定された読み出しデータのパラメータとが一致していれば、次のデータの処理を行う。
【００３８】
ＵＳＢ接続機器１０は、メディア２０からこの予測処理で予測したパラメータにより指定されるデータを未だ転送用バッファ１５に読み出し中であれば、その先行読み出し処理をそのまま続行する一方、その先行読み出し処理が既に終了していれば、この先行読み出し処理によって転送用バッファ１５へ読み出されているデータをホストＰＣ３０へ転送する（ステップＳｕ００４）。
【００３９】
この結果、ホストＰＣ３０は、ステップＳｈ００３による次のデータ読み出し要求を送信してから、このデータ読み出し要求に対応するデータを、ＵＳＢ接続機器１０側におけるその読み出し時間を短縮して、受信することができる（ステップＳｈ００４）。
【００４０】
次に、このＵＳＢ接続機器１０が行う予測／先行読み出し処理の詳細について説明する。
【００４１】
図３は、本実施の形態によるＵＳＢ接続機器が行う予測／先行読み出し処理のフローチャートである。
【００４２】
ＵＳＢ接続機器１０は、ホストＰＣ３０からのデータ読み出し要求を受信検出し（ステップＳ００１）、ホストＰＣ３０からのデータ読み出し要求を受信した場合は、そのデータ読み出し要求にパラメータとして指定された読み出しデータの先頭アドレス及び容量に基づき、メディア２０から転送用バッファ１５へ該当データの読み出しを実施する（ステップＳ００２，図２におけるステップＳｕ００１に対応）。
【００４３】
ＵＳＢ接続機器１０は、ステップＳ００２による該当データの転送用バッファ１５への読み出しを終了したならば（ステップＳ００３）、ホストＰＣ３０へその該当データのデータ転送を開始する（ステップＳ０２０，図２におけるステップＳｕ００２に対応）。
【００４４】
そして、ＵＳＢ接続機器１０は、該当データのホストＰＣ３０へのデータ転送に並行させて、前述の図２におけるステップＳｕ００３に対応する予測／先行読み出し処理を行う。
【００４５】
この予測／先行読み出し処理では、ＵＳＢ接続機器１０は、前述のステップＳ００１により検出したデータ読み出し要求に基づき、ステップＳ００２の処理によって転送用バッファ１５へ読み出した該当データの解析を、ＦＡＴ（Ｆｉｌｅ  Ａｌｌｏｃａｔｉｏｎ  Ｔａｂｌｅ）情報を用いて行う（ステップＳ００４）。
【００４６】
ＵＳＢ接続機器１０は、このステップＳ００４によるＦＡＴ情報による解析（ＦＡＴ解析）を行った結果、前述のステップＳ００２の読み出し処理によって転送用バッファ１５へ読み出した該当データが、メディア２０に記録されているファイル（例えば，大容量の動画ファイルや静止画ファイル等）の最終データであり、次にホストＰＣ３０によって読み出し要求されるデータが不確定な場合は、この予測／先行読み出し処理をそのまま終了として（ステップＳ０１４）、次のホストＰＣ３０からの読み出し要求の受信を待つ（ステップＳ００１）。
【００４７】
一方、ステップＳ００４によるＦＡＴ情報による解析の結果、前述のステップＳ００２の読み出し処理によって読み出されたデータがメディア２０に記録されているファイルの途中データであり、次にホストＰＣ３０からのデータ読み出し要求より読み出されるであろうデータが予測可能である場合、ＵＳＢ接続機器１０は、その読み出しデータの先頭ブロックアドレス、ブロック数を予測する（ステップＳ００５）。
【００４８】
そして、ＵＳＢ接続機器１０は、このステップＳ５０５によって先頭ブロックアドレス、ブロック数を予測した読み出しデータ（予測読み出しデータ）について、ホストＰＣ３０からの次のデータ読み出し要求を未だ受信していない状態であっても、メディア２０からこの予測読み出しデータに対応するデータを転送用バッファ１５へ先行して読み出しておく（ステップＳ００６）。
【００４９】
ＵＳＢ接続機器１０は、このステップＳ００６により先行読み出し処理を実施している最中にあっても、ホストＰＣ３０からの次のデータ読み出し要求の受信を監視している（ステップＳ００７）。
【００５０】
そして、ＵＳＢ接続機器１０は、この予測読み出しデータに対応するデータの先行読み出し中に次のデータ読み出し要求の受信がない場合は、この予測読み出しデータに対応するデータを転送バッファ１５へ全て読み出した後（ステップＳ００８）、ホストＰＣ３０からの次のデータ読み出し要求の受信を予め定められた所定時間だけ待つ（ステップＳ００９）。
【００５１】
その上で、ＵＳＢ接続機器１０は、予測読み出しデータに対応するデータの読み出し終了後（ステップＳ００８）、ホストＰＣ３０からの次のデータ読み出し要求の受信がない場合は（ステップＳ００９）、転送バッファ１５へ読み出した予測読み出しデータに対応するデータを破棄し、前述のステップＳ００１の処理に戻り、ホストＰＣ３０からのデータ読み出し要求の受信検出を行う。
【００５２】
ところが、ステップＳ００６による先行読み出し処理を実施している最中に、ホストＰＣ３０からの次のデータ読み出し要求の受信があった場合（ステップＳ００７）、又はステップＳ００８による先行読み出し処理の終了後、所定時間内にホストＰＣ３０からの次のデータ読み出し要求の受信があった場合には（ステップＳ００９）、ＵＳＢ接続機器１０は、次のような予測読み出しデータの確認／修正処理を行う。
【００５３】
ＵＳＢ接続機器１０は、前述のステップＳ００５による予測処理によって予測した読み出しデータの先頭ブロックアドレス、ブロック数と、ステップＳ００６，Ｓ００９の処理で受信した次のデータ読み出し要求にパラメータとして指定された読み出しデータの先頭ブロックアドレス、ブロック数とを比較する。
【００５４】
これにより、予測読み出しデータが次のデータ読み出し要求の内容と同一であり（ステップＳ０１０）、予測読み出しデータに対応するデータの読み出しが終了している場合は（ステップＳ０１１）、転送バッファ１５に読み出されたデータをホストＰＣ３０へ送信開始する（ステップＳ０２０）。
【００５５】
一方、予測読み出しデータが次のデータ読み出し要求の内容と同一、又は一部同一であり（ステップＳ０１０）、次のデータ読み出し要求による読み出しデータに対し、予測読み出しデータに対応するデータの読み出し途中に起因する読み出し未完重複部分があったり、次のデータ読み出し要求に予測読み出しデータとは異なる読み出し部分があったり等した場合には、これら不足部分のデータについてのメディア２０から転送バッファ１５への読み出しを行う一方、既に転送バッファ１５へ読み出した予測読み出しデータに対応するデータ中に、データ読み出し要求と異なる読み出しデータがあれば、これを送信データから破棄する（ステップＳ０１３）。そして、次のデータ読み出し要求よるメディア２０から転送バッファ１５へのデータ読み出し終了後に（ステップＳ０１１）、ＵＳＢ接続機器１０は、ホストＰＣ３０へデータを転送開始する（ステップＳ０２０）。
【００５６】
これらに対し、予測読み出しデータが次のデータ読み出し要求の内容とが全く異なる場合は（ステップＳ０１０）、即刻、先行読み出し処理を停止するとともに、既に転送バッファ１５へ読み出した予測読み出しデータに対応するデータを破棄し（ステップＳ０１２）、ホストＰＣ３０からの次のデータ読み出し要求より指定されたデータの読み出しを開始する（ステップＳ００２）。
【００５７】
次に、ＵＳＢ接続機器１０が前述のステップＳ００４で実行するＦＡＴ情報によるＦＡＴ解析について説明する。
【００５８】
図４は、ＦＡＴ解析についての説明図である。
図４に示すように、メディア２０上でのデータ領域２１０は、クラスタ２１というデータブロックに区切られて管理されている。
【００５９】
クラスタ２１は、ホストＰＣ３０のＯＳがＵＳＢ接続機器１０の記憶領域としてのメディア２０を管理するために使用している単位である。
【００６０】
各クラスタ２１の容量はそのメディア２０のフォーマット状態によって異なるが、動画ファイルや静止画ファイル等といった大容量ファイルの場合、複数のクラスタ２１にまたがって１つのファイル２３０が構成される。
【００６１】
図４において、例えば、一のファイル２３１は、Ｄａｔａ１，Ｄａｔａ２，Ｄａｔａ３，Ｄａｔａ４，Ｄａｔａ５という５つのクラスタ２１で構成されているものとする。
【００６２】
一方、メディア２０上に設けられたＦＡＴ領域２２０は、当該メディア２０に記録されている一乃至複数のファイル２３０の情報を管理する領域である。
【００６３】
ＦＡＴ領域２２０には、そのメディア２０が持つクラスタ２１の数だけＦＡＴ番号２２１、ＦＡＴデータ２２２を格納する領域を持つ。
【００６４】
また、データ領域２１０は、メディア２０上で、ファイルデータやディレクトリデータを格納している領域であり、クラスタ番号２１１の数だけ領域を持ち、それぞれにデータ２１２を格納している。
【００６５】
ここで、例えば、ファイル２３１の先頭クラスタのＦＡＴ番号２２１が、ＦＡＴ番号“０ｘ２２”であるものとする。
【００６６】
この場合、データ領域２１０において、このＦＡＴ番号データ“０ｘ２２”と同じクラスタ番号２１１に対応したデータ２１２である“Ｄａｔａ１”が、当該ファイル２３１の先頭データとなる。
【００６７】
また、ＦＡＴ番号“０ｘ２２”に対応するＦＡＴデータ２２２には、ファイルデータ２３１の先頭データ“Ｄａｔａ１”に続くファイルデータ“Ｄａｔａ２”に関する情報が格納されている。
【００６８】
ここで、ＦＡＴ領域２２０において、ＦＡＴ番号“０ｘ２２”で指定されるＦＡＴデータ２２２には、その後に続くファイル２３１のファイルデータ“Ｄａｔａ２”の情報として、ＦＡＴ番号“０ｘ１０”が格納されているものとする。
【００６９】
これは、データ領域２１０において、このＦＡＴ番号“０ｘ１０”と同じクラスタ番号２１１に対応したデータ２１２、すなわち“Ｄａｔａ２”が、当該ファイル２３１の先頭データ“Ｄａｔａ１”に続く、次のファイルデータ“Ｄａｔａ２”となることを意味している。
【００７０】
同様にして、ＦＡＴ領域２２０のＦＡＴ番号“０ｘ１０”に対応するＦＡＴデータ領域２２１のＦＡＴ番号“０ｘ１１”を基にして、ファイル２３１は、その後に“Ｄａｔａ３”，“Ｄａｔａ４”，“Ｄａｔａ５”とデータが連結して構成されていることが分かる。
【００７１】
そして、当該ファイル２３１の最後のデータ“Ｄａｔａ５”のクラスタ番号２１１は“０ｘ１５３”であるが、ＦＡＴ領域２２０のＦＡＴ番号“０ｘ１５３”に対応するＦＡＴデータ２２２には、“０ｘＦＦＦ”が格納されている。
【００７２】
この場合、このＦＡＴデータ“０ｘＦＦＦ”は、対応するＦＡＴ番号“０ｘ１５３”に対応するクラスタ２１が、該当ファイル２３１の最終のクラスタ２１であることを示している。
【００７３】
よって、本実施の形態によるＵＳＢ接続機器１０は、図３のステップＳ００１等によってホストＰＣ３０から受信したデータ読み出し要求の内容を、このメディア２０のＦＡＴ領域２２０のＦＡＴ番号２２１，ＦＡＴデータ２２２を用いて解析することにより、大容量ファイル２３０のクラスタ２１の連結情報を取得することが可能な構成になっている。
【００７４】
そこで、上述したファイル２３１の場合、“Ｄａｔａ２”，“Ｄａｔａ３”，“Ｄａｔａ４”は、データ領域２１０上で、連続したアドレス構造を持つ。また、“Ｄａｔａ５”は、データ領域２１０上で、離間したアドレス構造を持つとともに、ホストＰＣ３０から受信したデータ読み出し要求の内容と関係のない無効データ部分も、“Ｄａｔａ５”に対応するクラスタ番号のクラスタ２１内に有することになる。
【００７５】
したがって、本実施の形態によるＵＳＢ接続機器１０では、ホストＰＣ３０からその“Ｄａｔａ１”の読み出し要求を受信すれば、ホストＰＣ３０によって“Ｄａｔａ２”，“Ｄａｔａ３”，“Ｄａｔａ４”，“Ｄａｔａ５”の複数ブロックが、一連のデータ読み出し要求によってメディア２０から読み出されることを予測することができる。
【００７６】
よって、ＵＳＢ接続機器１０は、ＭＰＵ１１内に記憶されているホストＰＣ３０からの読み出し要求により指定されるデータブロック数の最大値に基づき、このＦＡＴ情報（ＦＡＴ領域２２０のデータ２２１，２２２）により、ホストＰＣ３０から次回のデータ読み出し要求で指定されるであろうブロック数も予測することができる。
【００７７】
そして、この予測されたファイル上の連続したファイルデータ“Ｄａｔａ２”，“Ｄａｔａ３”，“Ｄａｔａ４”，“Ｄａｔａ５”の中、例えばファイルデータ“Ｄａｔａ５”が記録されているクラスタ２１ように、このクラスタ２１におけるデータブロック数がホストＰＣ３０からの１回の読み出し要求により転送される最大データブロック数よりも大きい場合、ホストＰＣ３０はこの最大データブロック数を指定することが予測される。その場合は、データブロック数の最大値を使用することが有効となる。
【００７８】
例えば、このホストＰＣ３０により指定されるデータブロック数の最大値を使用すれば、同じクラスタ２１内に無効データ部分も含む“Ｄａｔａ５”に対応するクラスタ番号“０ｘ１５３”のデータ２１２の先行読み出しに当たって、ＵＳＢ接続機器１０は、この無効データ部分の先行読み出しを行わずに済ますことができ、転送バッファ１５への先行読み出し処理の終了を早めることができる。
【００７９】
本実施の形態のＵＳＢ接続機器１０は、以上説明したとおりであるが、本実施の形態のＵＳＢ接続機器１０によれば、ホスト機器３０からメディア２０上から動画ファイルや静止画ファイル等といった大容量ファイル２３０を読み出す際、より高速に該当ファイル２３１をホスト機器３０へ転送することができる。
【００８０】
また、次のデータ読み出し要求で指定されるデータをホスト機器３０へ転送するにあたっても、本実施の形態のＵＳＢ接続機器１０によれば、次のデータ読み出し要求の受信に基づき、転送用バッファ１５に予測／先行読み出し処理したデータの確認／修正処理を行ってからホスト機器３０へ転送するので、高速かつ正確に該当データの転送が可能である。
【００８１】
なお、本発明は上記実施の形態に限定されるものではなく、例えばＵＳＢ接続機器１０は、メディア２０を固定的内蔵した構成になっているものであっても、メディア２０が着脱自在な構成になっているものであってもよい。
【００８２】
また、その予測処理も、ホスト機器３０からの一連のデータ読み出し要求で指定されるデータを一括的に予測するものであっても、ホスト機器からの次回のデータ読み出し要求で指定されるデータを逐次予測するものであってもよい。
【００８３】
【発明の効果】
以上のように、本発明によるＵＳＢ接続機器では、ホスト機器からのデータ読み出し要求によってメディアからファイルを読み出す際、ホスト機器からのデータ読み出し要求で指定されるデータを解析することにより、次にホスト機器によって要求されるであろう読み出しデータのアドレス（先頭ブロックアドレス）と容量（ブロック数）とを予測し、ホスト機器から次のデータ読み出し要求を受信する前に、この予測読み出しデータに対応するデータをメディアから先行読み出しすることが可能になるため、ホスト機器へのより高速なファイル転送が可能となる。
【００８４】
また、本発明によるＵＳＢ接続機器では、一のファイルについての連結するデータブロック数が非常に大きい場合、ホスト機器から要求される読み出しデータのブロック数の最大値を保存し、これをホスト機器からの次のデータ読み出し要求の予測処理に使用することによって、クラスタ内の余計なデータを読み出すことを極力防止できるため、先行読み出し処理自体が早まり、さらにホスト機器へのより高速なファイル転送が可能となる。
【００８５】
また、本発明によるＵＳＢ接続機器では、予測読み出しデータに対応するデータを先行読み出し中、又はその先行読み出し後に、予測読み出しデータが、ホスト機器による実際のデータ読み出し要求と異なってしまった場合であっても、その先行読み出し処理を即刻停止し、実際に読み出し要求により指定されたデータ内容の読み出し処理に速やかに移行できるため、例え、予測に失敗した場合でも、従来技術に比べてパフォーマンスを落とさずに、ホスト機器へのファイルの転送が可能となる。
【００８６】
また、本発明によるＵＳＢ接続機器では、予測読み出しデータに対応して先行読み出しを行ったデータブロック数が、ホスト機器からのデータ読み出し要求により指定されたデータブロック数に比べて足りない場合等は、足りないデータブロックのみを新たに読み出すことにより、再度、データ読み出し要求により指定されたデータブロック全てのデータ読み出しをするのに比べ、データ読み出し及びファイル転送の時間を短縮することが可能となる。
【００８７】
また、本発明によるＵＳＢ接続機器では、予測して先行読み出し処理したデータブロックがホスト機器から指定されたデータブロックの中に全て含まれている場合、新たなデータの読み出しは行わず、該当するデータブロックのみをバッファより取り出してホスト機器へ送信することにより、ファイル転送の時間を短縮することが可能となる。
【図面の簡単な説明】
【図１】本発明の一実施の形態によるＵＳＢ接続機器のブロック図である。
【図２】本実施の形態によるＵＳＢ接続機器から、そのメディアに記録されているデータを読み出す際の処理を示したフローチャートである。
【図３】本実施の形態によるＵＳＢ接続機器が行う予測／先行読み出し処理のフローチャートである。
【図４】本実施の形態によるＦＡＴ解析についての説明図である。
【図５】メディアに記録されているデータを読み出す際の従来の処理を示したフローチャートである。
【符号の説明】
１０  ＵＳＢ接続機器
１１  ＭＰＵ
１２  ＵＳＢドライバ部
１３  メディアドライバ
１４  メディアドライブ
１５  転送用バッファ
２０  メディア
２１  クラスタ
３０  ホストＰＣ
２１０  データ領域
２１１  クラスタ番号
２１２  データ
２２０  ＦＡＴ領域
２２１  ＦＡＴ番号
２２２  ＦＡＴデータ
２３０  ファイル
２３１  ファイル
【図１】
2004318653.tif 000003
【図２】
2004318653.tif 000004
【図３】
2004318653.tif 000005
【図４】
2004318653.tif 000006
【図５】
2004318653.tif 000007