説明

デバイス及びホスト装置並びに通信システム

【課題】ホスト装置がデバイスとの間でのデータ転送に関する複数のコマンドを連続してデバイスに送信し、デバイスが該複数のコマンドの実行順を決定する通信システムにおけるデータ転送の効率を高める。
【解決手段】デバイス150は、ホスト装置110が発行した複数のコマンドのうちの、、次に実行するコマンドが決定した時点で、該次に実行するコマンドを通知するための次コマンド情報をホスト装置110に送信すると共に、該次に実行するコマンドに関するデータ転送の準備を行う(S62、S70)。ホスト装置110は、次コマンド情報をデバイス150から受信した際に、該次コマンド情報が示すコマンドの実行準備を開始する(S12、S20)。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、通信技術、より具体的には、ホスト装置がデバイスとの間でのデータ転送に関する複数のコマンドをデバイスに送信し、デバイスにより該複数のコマンドの実行順を決定する通信技術に関する。
【背景技術】
【0002】
ホスト装置とデバイス間のデータ転送に際して、ホスト装置とデバイスが様々なメッセージのやりとりをする通信システムは知られている。例えば、特許文献1には、NFC(Near Field Communicatio)通信システムが開示されている。
【0003】
また、USB(Universal Serial Bus)に準拠した通信システムにおいても、ホスト装置(例えばコンピュータ)とデバイス間は、メッセージのやりとりをしながらデータ転送を行う(非特許文献1)。
【0004】
USB3.0規格では、USB2.0規格より転送速度が大幅に向上したことから、デバイスとしてUSB3.0規格に準拠した大容量の記憶装置が脚光を浴びている。これらのデバイスにおいて、USBコントローラと記憶部(例えばハードディスク)間では、接続に関して、UASP(USB Attached SCSI Protocol)というプロトコルが知られており、データ転送に関しては、USB3.0 Bulk Stream転送が用いられている。また、記憶部自身として、高速化のためにそのインタフェースにSATA(Serial Advanced Technology Attachment)が採用されたものが多い。
【0005】
SATAには、NCQ(Native Command Queuing)という機能が定められている。ここで、ハードディスク(以下HDDとも表記する)を例にして、NCQについて簡単に説明する。
【0006】
HDDに対してデータを読み書きするときに最も時間がかかる操作は、ヘッドの移動時間やディスクの回転待ち時間といったHDD内部の機械的な動作である。これらの動作と比べ、コマンドの送受信、コマンドのデコード、メモリアクセスなどの電気的な処理にかかる時間は、極めて短い。
【0007】
ヘッドの移動時間は、HDDが読み書きの指令を出してからディスク上の希望のトラックにヘッドを位置付けるまでの時間を指しており、「シーク時間」と呼ばれる。シーク時間は、トラック間の移動距離によって大きく左右される。
【0008】
希望のトラックにヘッドを位置付けた後に、そのトラック上にある希望のセクタにヘッドを位置付ける必要がある。ヘッドが、トラック方向に移動するが、セクタ方向に移動できないため、ディスクの回転によって希望のセクタがヘッドの真上に到着するまで待つ必要がある。この待ち時間は、「回転待ち時間」と呼ばれる。
【0009】
上述した機械的動作によるオーバーヘッドを隠蔽するための技術として、CQ(Command Queuing)が知られている。CQは、コマンドの実行完了を待たずに複数のコマンドを連続して発行し、そのままキューに溜めていく機能である。この機能により、長い時間を要するHDDの機械的動作の完了をコマンドごとに待つことなく、次々とHDDにコマンドを送り込むことができる。
【0010】
しかし、CQだけでは、HDDへのアクセスの劇的な高速化につながらない。キューに格納されたコマンドを受信した順番(インオーダー)に実行しただけでは、HDDの機械的動作の時間を短縮することができないからである。
【0011】
NCQは、CQと併用することによりHDDアクセスの高速化を図るものである。具体的には、キューに格納された複数のコマンドを効率の良い順番に並べ替えてから実行する(所謂アウトオブオーダー実行)機能である。なお、「効率の良い順番」とは、キューに格納された複数のコマンドを実行するためのHDDの機械的動作時間の総和が少ない順番を意味する。なお
【0012】
なお、分かりやすいように、HDDを例に説明したが、SDD(Solid State Drive)など機械的なオーバーヘッドが無いドライブに関してもNCQを適用することによりコマンド処理の向上を図ることがなされている。
【0013】
SATAに準拠したHDDやSSDなどを備えるUSBデバイスと、ホスト装置とは、下記の順序でデータ転送を行う。
【0014】
まず、ホスト装置は、データ転送に関する複数のコマンドをデバイスに連続的に送信する。なお、これらの複数のコマンドには、夫々の識別子となるタグが付属されている。
【0015】
デバイスは、上記複数のコマンドを受信すると、該複数のコマンドに実行順を決定すると共に、実行順に沿って当該コマンドの実行準備を行う。そして、該コマンドの実行準備が完了すると、ERDY TP(ERDY:End Point Ready)というパケットをホスト装置に送信する。該ERDY TPには、上記コマンドのタグが含まれている。
【0016】
ホスト装置は、ERDY TPを受信すると、それに含まれるタグに対応するコマンドの実行準備を開始し、実行準備が完了すると、該コマンドに対応するデータ転送を開始する。
【先行技術文献】
【特許文献】
【0017】
【特許文献1】特表2009−515250号公報
【非特許文献】
【0018】
【非特許文献1】Universal Serial Bus 3.0 Specification
【発明の概要】
【発明が解決しようとする課題】
【0019】
以上の説明から分かるように、デバイスからERDY TPを受信するまで、ホスト装置は、次に実行すべきコマンドが分からないため、該コマンドの実行準備をすることができない。そのため、デバイス側において該コマンドの実行準備が出来てから、実際にデータ転送が開始されるまでに時間がかかるという問題がある。
【課題を解決するための手段】
【0020】
本発明の1つの態様は、ホスト装置がデバイスとの間でのデータ転送に関する複数のコマンドを連続して前記デバイスに送信し、前記デバイスが前記複数のコマンドの実行順を決定する通信システムである。
【0021】
該通信システムにおいて、前記デバイスは、前記複数のコマンドのうちの、次に実行するコマンドが決定した時点で、該次に実行するコマンドを通知するための次コマンド情報を前記ホスト装置に送信すると共に、該次に実行するコマンドに関するデータ転送の準備を行う。
【0022】
前記ホスト装置は、前記次コマンド情報を前記デバイスから受信した際に、該次コマンド情報が示すコマンドの実行準備を開始する。
【0023】
なお、上記態様の通信システムを方法や装置に置換えて表現したものや、該通信システムに含まれるホスト装置及びデバイス、コンピュータを該ホスト装置またはデバイスとして動作せしめるプログラムなども、本発明の態様としては有効である。
【発明の効果】
【0024】
本発明にかかる技術によれば、ホスト装置がデバイスとの間でのデータ転送に関する複数のコマンドを連続してデバイスに送信し、デバイスが該複数のコマンドの実行順を決定する通信システムに対して、ホスト装置とデバイス間のデータ転送の効率を向上させることができる。
【図面の簡単な説明】
【0025】
【図1】本発明の原理を説明するための通信システムを示す図である。
【図2】図1に示す通信システムにおけるデータ転送に関連する処理の流れを示すフローチャートである。
【図3】本発明にかかる実施の形態を示すUSBシステムを示す図である。
【図4】図3に示すUSBシステムにおけるデータ転送に関する処理の流れを示すフローチャートである。
【発明を実施するための形態】
【0026】
以下、図面を参照して本発明の実施の形態について説明する。説明の明確化のため、以下の記載及び図面は、適宜、省略、及び簡略化がなされている。また、様々な処理を行う機能ブロックとして図面に記載される各要素は、ハードウェアとソフトウェア(プログラム)の組合せによっていろいろな形で実現できることは当業者には理解されるところであり、ハードウェアとソフトウェアのいずれかに限定されるものではない。なお、各図面において、同一の要素には同一の符号が付されており、必要に応じて重複説明は省略されている。
【0027】
また、上述したプログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non−transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば光磁気ディスク)、CD−ROM(Read Only Memory)CD−R、CD−R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(Random Access Memory))を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【0028】
本発明の具体的な実施の形態の前に、まず、図1に示す通信システム100を参照して、本発明にかかる技術の原理を説明する。
【0029】
図1に示す通信システム100は、ホスト装置110とデバイス150を備え、ホスト装置110は、デバイス150との間でのデータ転送に関する複数のコマンドを連続してデバイス150に送信し、デバイス150は、該複数のコマンドの実行順を決定する。
【0030】
デバイス150は、上記複数のコマンドのうちの、次に実行するコマンドが決定した時点で、該次に実行するコマンドを通知するための次コマンド情報をホスト装置110に送信すると共に、該次に実行するコマンドに関するデータ転送の準備を行う。
【0031】
ホスト装置110は、次コマンド情報をデバイス150から受信した際に、該次コマンド情報が示すコマンドの実行準備を開始する。
【0032】
図2のフローチャートを参照して、通信システム100におけるホスト装置110とデバイス150間のデータ転送に関連する処理の流れの一例を説明する。なお、図2において、点線が、ホスト装置110とデバイス150間で送受信されるデータの流れを示す。
【0033】
図2に示すように、まず、ホスト装置110は、複数のコマンドを連続してデバイス150に送信する(S10)。
【0034】
デバイス150は、これらの複数のコマンドを受信すると、該複数のコマンドの実行順を決定する(S60)
【0035】
最も先に実行するコマンドが決まると、デバイス150は、該コマンドの実行準備を行うと共に、それに並行して、該コマンドが次に実行するコマンドであることを示す次コマンド情報をホスト装置110に送信する(S62)。
【0036】
ホスト装置110は、次コマンド情報を受信すると、該次コマンド情報が示すコマンド(ここでは、最も先に実行するコマンド)の実行準備を開始する(S12)。
【0037】
デバイス150は、最も先に実行するコマンドの実行準備が完了すると、デバイス150において該コマンドの実行準備が完了したことを示す準備完了情報をホスト装置110に送信する(S64)。
【0038】
ホスト装置110は、デバイス150から準備完了情報を受信すると、該準備完了情報が示すコマンドに対応するデータ転送を開始する。これにより、
【0039】
ホスト装置110は、デバイス150から準備完了情報を受信すると、ホスト装置110側において該準備完了情報が示すコマンド(ここでは、最も先に実行するコマンド)の準備が完了していれば、直ちに対応するデータ伝送を開始する。これにより、最も先に実行するコマンドに対応するデータ転送が、ホスト装置110とデバイス150間で行われる(S14、S66)。
【0040】
なお、デバイス150から準備完了情報を受信した時点で、ホスト装置110側においてまだ該コマンドの実行準備がまだ完了していなければ、ホスト装置110は、該コマンドの実行準備が完了次第、対応するデータ転送を開始する。
【0041】
ホスト装置110とデバイス150間で、最も先のコマンドに対応するデータ転送がなされている間、デバイス150は、次に実行するコマンドが決定した時点で、該コマンドの実行準備に並行して、該コマンドを示す次コマンド情報をホスト装置110に送信する(S70)。
【0042】
ホスト装置110は、デバイス150から次コマンド情報を受信すると、該次コマンド情報が示すコマンドの実行準備を開始する(S20)。
【0043】
そして、デバイス150は、ホスト装置110とデバイス150間で行われている現在のデータ転送が完了すると、次のコマンドの準備完了情報をホスト装置110に送信する(S72)。
【0044】
なお、図2は、ホスト装置110とデバイス150間で行われている現在のデータ転送が完了した時点で、デバイス150において、次のコマンドの実行準備が既に完了した場合を示している。例えば、ホスト装置110とデバイス150間で行われている現在のデータ転送が完了した時点で、デバイス150における次のコマンドの実行準備がまだ完了していない場合には、デバイス150は、現在のデータ転送の完了後に、次のコマンドの実行準備の完了を待って、準備完了情報をホスト装置110に送信するようにすればよい。
【0045】
その後、ステップS10でホスト装置110が発行した全てのコマンドに対応するデータ転送が完了するまで、ホスト装置110側ではステップS14とS20の処理、デバイス150側ではステップS66とS70の処理が、繰り返される。
【0046】
このように、通信システム100において、デバイス150が、次に実行するコマンドが決定した時点で、前のコマンドに対応するデータ転送中であっても、次のコマンドの実行準備に並行して、該次のコマンドを示す次コマンド情報をホスト装置110に送信する。ホスト装置110は、現在のコマンドに対応するデータ転送中に、次のコマンドの実行準備を開始することができるため、通信システム100におけるデータ転送の効率を向上させることができる。
【0047】
以上の原理を踏まえて、本発明の具体的な実施の形態を説明する。
図3は、本発明の実施の形態にかかるUSBシステム200を示す。該USBシステム200は、USB3.0に準拠し、ホスト装置210と、デバイス250を有する。USBシステム200において、ホスト装置210は、デバイス250との間でのデータ転送に関する複数のコマンドを連続してデバイス250に送信して、デバイス250は、該複数のコマンドの実行順を決定する。
【0048】
ホスト装置210は、デバイス250と送受信を行うためのホスト通信部220と、ホスト制御部としてのUSBコントローラ230を備える。ホスト通信部220は、ホスト通信部220と送信部224を有する。
【0049】
デバイス250は、ホスト装置210と送受信を行うためのデバイス通信部260と、デバイス制御部としてのUSBコントローラ270と、記憶部となるハードディスク(以下HDDと表記する)HDD280を備える。デバイス通信部260は、受信部262と送信部264を有する。
【0050】
ホスト装置210とデバイス250の各機能ブロックを説明する。なお、ホスト装置210とデバイス250間の全ての通信は、ホスト通信部220とデバイス通信部260を介して行われる。以下の説明において、この点を省略する。
【0051】
ホスト装置210におけるUSBコントローラ230は、デバイス250との間でのデータ転送に関する複数のコマンドを連続して発行する処理と、該複数のコマンドのうちのいずれかのコマンドが次に実行するコマンドであることを示す次コマンド情報をデバイス250から受信した際に、該コマンドの実行準備を行う処理と、デバイス250における該コマンドの実行準備の完了を示す準備完了情報をデバイス250から受信した際に、デバイス250との間で、該コマンドに対応するデータ転送を開始する処理を行う。
【0052】
なお、ホスト装置210側におけるコマンドの実行準備は、該コマンドに対応するデータ転送の転送方式の決定など、USB規格により定められた処理である。
【0053】
デバイス250におけるHDD280は、SATA仕様のものであり、CQとNCQ機能を備える。そのため、HDD280は、自身へのアクセス(リード/ライト)に関する複数のコマンドをキューにためておき、効率の良いように該複数のコマンドの実行順を決定する。
【0054】
デバイス250におけるUSBコントローラ270は、ホスト装置210からの複数のコマンドをHDD280に転送する処理、HDD280により該複数のコマンドの実行順が決定した後に、次に実行するコマンドが決定した時点で、該コマンドの実行準備に並行して、次コマンド情報をホスト装置210に送信することにより次に実行するコマンドをホスト装置210に通知する処理、次に実行するコマンドの実行準備が完了次第、準備完了情報をホスト装置210に送信する処理などを行う。なお、次に実行するコマンドが最も先頭のコマンドではなく、かつ、次に実行するコマンドの準備完了時に、前のコマンドに対応するデータ転送がまだ終わっていない場合には、USBコントローラ270は、前のコマンドに対応するデータ転送が完了次第、準備完了情報をホスト装置210に送信する。
【0055】
デバイス250におけるコマンドの実行準備は、HDD280における実行準備(トラックとセクタへの位置付け)が含まれる。なお、リードの場合には、HDD280が当該トラックやセクタからデータを読み出してUSBコントローラ270に出力する処理も含まれる。
【0056】
USBコントローラ270の処理をより具体的に説明する。
USBコントローラ270は、上記複数のコマンドのうちの最も先に実行するコマンドをHDD280から通知されると、直ちに該コマンドの識別子を含む次コマンド情報をホスト装置210に送信する。その後、デバイス250における該コマンドの実行準備が完了次第、該コマンドの識別子を含む準備完了情報をホスト装置210に送信する。
【0057】
USBコントローラ270は、現在のコマンドに対応するデータ転送の開始後、次に実行するコマンドをHDD280から通知されると、直ちに該コマンドの識別子が含まれる次コマンド情報をホスト装置210に送信する。その後、現在のコマンドに対応するデータ転送の終了時と、次のコマンドの実行準備の完了時のうちの遅いほうのタイミングで、次のコマンドの識別子が含まれる準備完了情報をホスト装置210に送信する。
【0058】
なお、本実施の形態のUSBシステム200において、コマンドの識別子は、タグ情報であり、USBコントローラ230は、複数のコマンドをデバイス250に送信する際に、該複数のコマンドのタグ情報を付属させる。
【0059】
また、USBコントローラ270は、USB規格で定められているVendor defined Device Notificationに当該コマンドのタグ情報を付属させて、次コマンド情報としてホスト装置210に送信する。
【0060】
USBコントローラ230は、タグ情報を含むVendor defined Device Notificationをデバイス250から受信した際に、該Vendor defined Device Notificationを、次に実行するコマンドを示す次コマンド情報として認識する。
【0061】
なお、デバイス250からホスト装置210に送信される準備完了情報は、USB規格で定められているERDY TPであり、当該コマンドのタグ情報が含まれている。
【0062】
図4を参照して、USBシステム200のホスト装置210とデバイス250間で行われるデータ転送に関連する処理の流れの一例を示す説明する。
【0063】
タイミングT1において、USBコントローラ230は、複数のコマンドをデバイス250に送信する。この例において、該複数のコマンドは、コマンドCMD1とコマンドCMD2の2つであり、夫々のコマンドには、該コマンドのタグ情報(tag1またはtag2)が付属されている。なお、該2つのコマンドは、共にリードコマンドであるとする。
【0064】
USBコントローラ270は、ホスト装置210からの2つのコマンドをHDD280に転送する。
【0065】
HDD280は、USBコントローラ270からコマンドCMD1とコマンドCMD2を受信すると、該2つのコマンドの実行順を決定する。例として、コマンドCMD2が先に実行されるコマンドとして決定されたとする。
【0066】
タイミングT2において、HDD280は、先に実行するコマンド(コマンドCMD2)のタグ情報(tag2)が含まれるDMA Setup FIS(FIS:Frame Information Block)をUSBコントローラ270に送信する。
【0067】
USBコントローラ270は、HDD280からコマンドCMD2のDMA Setup FISを受信すると、直ちにVendor defined Device Notificationをホスト装置210に送信する。このVendor defined Device Notificationには、HDD280から受信したDMA Setup FISに含まれたタグ情報(tag2)が含まれている。
【0068】
ホスト装置210におけるUSBコントローラ230は、tag2を含むVendor defined Device Notificationを受信すると、該メッセージを次コマンド情報として認識し、tag2が対応するコマンド(コマンドCMD2)の実行準備を開始する。
【0069】
HDD280は、タイミングT2でDMA Setup FISをUSBコントローラ270に送信した後に、当該コマンド(コマンドCMD2)が示すデータを順次読み出してUSBコントローラ270に送信する。例として、コマンドCMD2が示すデータには、DATA1〜3の3つのデータが含まれ、順次USBコントローラ270に出力されるようになっている。
【0070】
タイミングT3において、USBコントローラ270は、HDD280からDATA1を受信すると、コマンドCMD2の実行が可能になったことを示す準備完了情報としてERDY TPをホスト装置210に出力する。このERDY TPには、コマンドCMD2のタグ情報(tag2)が含まれている。
【0071】
ホスト装置210のUSBコントローラ230は、コマンドCMD2の準備完了情報を受信したときに、既に該コマンドの実行準備が完了したため、直ちにコマンドCMD2に対応するデータ転送を開始する。具体的には、デバイス250からのERDY TPに対応した、USB規格で定められた応答メッセージ(ACK TP)を返送する。分かりやすいように、図4においては、USBコントローラ230がACK TPを返送するタイミングをT4で示している。
【0072】
タイミングT5において、USBコントローラ270は、ホスト装置210からのACK TPに応じて、DATA1をホスト装置210に送信する。DATA1を受信すると、USBコントローラ230は、タイミングT6において、ACK TPをデバイス250に返送する。
【0073】
タイミングT3の後に、HDD280は、引き続き、コマンドCMD2の後続のデータ(DATA2、DATA3)をUSBコントローラ270に送信している。そのため、タイミングT8において、USBコントローラ270は、タイミングT6においてホスト装置210が送信したACK TPに応じて次のデータ(DATA2)をホスト装置210に送信する。そして、タイミングT9において、USBコントローラ230は、ACK TPをデバイス250に返送する。なお、HDD280は、コマンドCMD2の後続のデータ(DATA2、DATA3)を送信し終えると、コマンドCMD2に関連する全てのデータが完了したことを示すSet Device Bits FIS(Tag2)を送信する。図4の例においては、Set Device Bits FIS(Tag2)は、T5とT6の間に送信されている。
【0074】
そして、タイミングT10において、USBコントローラ270は、コマンドCMD2の最後のデータ(DATA3)をホスト装置210に送信し、タイミングT11において、USBコントローラ230は、ACK TPを返送する。これにて、コマンドCMD2に対応するデータ転送が終了する。
【0075】
コマンドCMD2に対応するデータ転送中に、図4の例では、タイミングT6とタイミングT8の間のタイミングT7において、HDD280は、次のコマンド(コマンドCMD1)のDMA Setup FISをUSBコントローラ270に出力している。その後、コマンドCMD1に対応するデータ(DATA4〜6)を順次USBコントローラ270に出力している。そして、DATA6の送信を終えると、コマンドCMD1に関連する全てのデータが完了したことを示すSet Device Bits FIS(Tag1)を送信する。図4の例においては、Set Device Bits FIS(Tag1)は、T12とT13の間に送信されている。
【0076】
タイミングT6において、USBコントローラ270は、HDD280からDMA Setup FISを受信すると、直ちにtag1が含まれるVendor defined Device Notificationをホスト装置210に送信する。
【0077】
また、ホスト装置210のUSBコントローラ230は、tag1が含まれるVendor defined Device Notificationを受信すると、コマンドCMD1の実行準備を開始している。
【0078】
そのため、コマンドCMD2に対応するデータ転送の完了後に、タイミングT12において、USBコントローラ270がホスト装置210にtag1を含むERDY TPを送信したときに、ホスト装置210側における該コマンドの実行準備が既に完了したため、USBコントローラ230は、直ちにコマンドCMD1に対応するデータ転送を開始する。
【0079】
コマンドCMD1に対応するデータ転送に関して、ホスト装置210とデバイス250の動作は、転送されるデータの中身が異なる以外、コマンドCMD2に対応するデータ転送のときと同様であるため、ここで詳細な説明を省略する。図示のように、タイミングT19において、DATA6を受信したホスト装置210がACK TPをデバイス250に返送することをもって、タイミングT1でホスト装置210が発行した全てのコマンドに対応するデータ転送が完了する。
【0080】
図3に示すUSBシステム200は、図1に示す通信システム100を具現化したシステムであり、通信システム100のときに説明した全ての効果を奏することができる。
【0081】
さらに、USBシステム200において、デバイス側制御部としてのUSBコントローラ270と、ホスト側制御部としてUSBコントローラ230は、規格により定められたVendor defined Device Notificationにコマンドのタグ情報を付属させて次コマンド情報として利用することにより、次コマンド情報として、規格に定められていない他のメッセージを追加する必要が無い。
【0082】
以上、実施の形態をもとに本発明を説明した。実施の形態は例示であり、本発明の主旨から逸脱しない限り、上述した実施の形態に対してさまざまな変更、増減を行ってもよい。これらの変更、増減が行われた変形例も本発明の範囲にあることは、当業者に理解されるところである。
【0083】
例えば、図2に示すUSBシステム200において、デバイス250の記憶部として、NCQ機能を備えるSATA仕様のHDD280が用いられている。本発明にかかる技術は、このような記憶部が備えられたデバイスを有するシステムに限らず、ホスト装置がデバイスとの間でのデータ転送に関する複数のコマンドを連続してデバイスに送信し、デバイスが該複数のコマンドの実行順を決定するいかなる通信システムにも適用することができる。
【符号の説明】
【0084】
100 通信システム
110 ホスト装置
150 デバイス
200 USBシステム
210 ホスト装置
220 ホスト通信部
222 受信部
224 送信部
230 USBコントローラ
250 デバイス
260 デバイス通信部
262 受信部
264 送信部
270 USBコントローラ
280 ハードディスク

【特許請求の範囲】
【請求項1】
ホスト装置がデバイスとの間でのデータ転送に関する複数のコマンドを連続して前記デバイスに送信し、前記デバイスが前記複数のコマンドの実行順を決定する通信システムにおける前記デバイスであって、
前記ホスト装置との送受信を行うデバイス通信部と、
前記複数のコマンドのうちの、次に実行するコマンドが決定した時点で、該次に実行するコマンドを通知するための次コマンド情報を、前記デバイス通信部を介して前記ホスト装置に送信すると共に、該次に実行するコマンドに関するデータ転送の準備を行うデバイス制御部とを備えることを特徴とするデバイス。
【請求項2】
USB((Universal Serial Bus)規格に準拠するものであることを特徴とする請求項1に記載のデバイス。
【請求項3】
前記ホスト装置が送信した前記複数のコマンドは、各前記コマンドの識別子となるタグ情報が付属されており、
前記デバイス制御部は、前記次コマンド情報として、該コマンドのタグ情報を含むVendor defined Device Notificationを前記ホスト装置に送信することを特徴とする請求項2に記載のデバイス。
【請求項4】
ホスト装置がデバイスとの間でのデータ転送に関する複数のコマンドを連続して前記デバイスに送信し、前記デバイスが前記複数のコマンドの実行順を決定する通信システムにおける前記ホスト装置であって、
前記デバイスと送受信を行うホスト通信部と、
次に実行するコマンドを通知するための次コマンド情報を前記ホスト通信部を介して前記デバイスから受信した際に、該次コマンド情報が示すコマンドの実行準備を開始するホスト制御部とを備えることを特徴とするホスト装置。
【請求項5】
USB((Universal Serial Bus)に準拠することを特徴とする請求項4に記載のホスト装置。
【請求項6】
前記ホスト装置が送信した前記複数のコマンドは、各前記コマンドの識別子となるタグ情報が付属されており、
前記ホスト制御部は、前記デバイスから受信した、前記複数のコマンドのうちのいずれかのコマンドのタグ情報を含むVendor defined Device Notificationを、前記次コマンド情報として認識することを特徴とする請求項5に記載のホスト装置。
【請求項7】
ホスト装置がデバイスとの間でのデータ転送に関する複数のコマンドを連続して前記デバイスに送信し、前記デバイスが前記複数のコマンドの実行順を決定する通信システムにおいて、
前記デバイスは、
前記複数のコマンドのうちの、次に実行するコマンドが決定した時点で、該次に実行するコマンドを通知するための次コマンド情報を前記ホスト装置に送信すると共に、該次に実行するコマンドに関するデータ転送の準備を行い、
前記ホスト装置は、
前記次コマンド情報を前記デバイスから受信した際に、該次コマンド情報が示すコマンドの実行準備を開始することを特徴とする通信システム。
【請求項8】
USB((Universal Serial Bus)に準拠することを特徴とする請求項7に記載の通信システム。
【請求項9】
前記ホスト装置が送信した前記複数のコマンドは、各前記コマンドの識別子となるタグ情報が付属されており、
前記デバイスは、前記次コマンド情報として、該コマンドのタグ情報を含むVendor defined Device Notificationを前記ホスト装置に送信し、
前記ホスト装置は、前記デバイスから受信した、前記複数のコマンドのうちのいずれかのコマンドのタグ情報を含むVendor defined Device Notificationを、前記次コマンド情報として認識することを特徴とする請求項8に記載の通信システム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate


【公開番号】特開2013−114541(P2013−114541A)
【公開日】平成25年6月10日(2013.6.10)
【国際特許分類】
【出願番号】特願2011−261551(P2011−261551)
【出願日】平成23年11月30日(2011.11.30)
【出願人】(302062931)ルネサスエレクトロニクス株式会社 (8,021)
【Fターム(参考)】