JP2006238209A - ハブ装置およびハブシステム - Google Patents

ハブ装置およびハブシステム Download PDF

Info

Publication number
JP2006238209A
JP2006238209A JP2005051812A JP2005051812A JP2006238209A JP 2006238209 A JP2006238209 A JP 2006238209A JP 2005051812 A JP2005051812 A JP 2005051812A JP 2005051812 A JP2005051812 A JP 2005051812A JP 2006238209 A JP2006238209 A JP 2006238209A
Authority
JP
Japan
Prior art keywords
data
transfer
host
hub
driver
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
JP2005051812A
Other languages
English (en)
Inventor
Makoto Saotome
誠 五月女
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2005051812A priority Critical patent/JP2006238209A/ja
Publication of JP2006238209A publication Critical patent/JP2006238209A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Small-Scale Networks (AREA)

Abstract

【課題】
既存の装置等に手を入れずに、複数のデバイスが接続されている場合、転送レートが落ち、所望の処理が素早く終了しないという状態が発生してしまうところを、転送のタイプを変換することにより、転送レートを保持することを可能にハブ装置およびハブシステムを提供することを目的とする。
【解決手段】
デバイス装置とホスト装置間のデータを中継するハブ装置であって、デバイス装置とホスト装置間のバルク転送をアイソクロナス転送に変換する転送モード変換手段を有することを特徴とするハブ装置。
【選択図】 図1

Description

本発明は、ホストとデバイスとを中継するハブ装置とハブシステムに関する。
近年、PCのインターフェースとして、Universal Serial Bus(以下USBと記す)が標準的なものとなってきている。
それに伴い、本インタフェースに対応したPC周辺デバイスが多く出回るようになって来ている。このUSBでは、1ホストに対し127台ものデバイスが接続可能であるため、1つのPCに同時に複数のUSBデバイスが接続し動作するシチュエーションが増えている。
図9に、従来例のUSBハブシステムを示す。
USBは、まず1つのホストとその配下に(この例では4port所有の)ルートハブが有り、その下に、デバイスまたはハブが接続される。更に、そのハブの配下にデバイス(またはこの例では無いが)ハブを接続することが出来る。これを繰り返し最大127台のデバイスが1つのホストの下にぶら下がることが可能である。
このように複数のデバイスを接続した際、例えばハブb配下のバルク転送(以降Bulk転送と記載)をサポートしたデバイスが存在した場合(例えばf)、他のデバイス(aorborcord)転送に邪魔をされ、ホストとのデータ通信の転送レートが著しく低下してしまう。巷に多く存在するUSBデバイスは、データ転送用にBulk転送をサポートしたものが多く見受けられるが、Bulk転送はそもそもデータ転送レートを保証しない転送なため、多くのデバイスを同時使用すると、データを中々、転送出来ず、転送スピードが落ちるということが起きてしまう。
このため、USBバスの状況を見て、バルク転送のバンド幅の空いているときはバルク転送を行い、バンド幅の空きが少ないときはアイソクロナス転送を行う方式がある(特許文献1参照)。
特開2003−248558号公報(第8頁、図4)
この方式では、バスの状況を監視しなければならず、そのための機能を外部装置に加える必要がある。本発明は、既存のUSB装置等に手を入れずに、複数のデバイスが接続されている場合、転送レートが落ち、所望の処理が素早く終了しないという状態が発生してしまうところを、転送のタイプを変換することにより、転送レートを保持することを可能にするUSBハブ装置およびUSBハブシステムを提供することを目的とする。
本発明のハブ装置は、デバイス装置とホスト装置間のデータを中継するハブ装置であって、デバイス装置とホスト装置間のバルク転送をアイソクロナス転送に変換する転送モード変換手段を有する構成である。
この構成により、バルク転送とアイソクロナス転送を変換することができるので、複数のデバイス装置が接続されても、特定のデバイス装置については、転送速度を落とさずに使用することができる。
また、転送モード変換手段が、ホスト装置からのデバイス情報取得コマンドに対するデバイスからの応答データを受信する応答データ受信手段と、受信した応答データの中の転送モード情報がバルク転送モードか否かを判別する転送モード判別手段と、判別結果がバルク転送モードのときには、応答データの中の転送モード情報をアイソクロナス転送モードに変更する転送モード情報変更手段と、変換した応答データをホストに転送する応答データ転送手段と、デバイス装置からのバルク転送データを受信し、それに対するハンドシェークデータをデバイス装置に返送するハンドシェークデータ返送手段と、ホストデータ受信に対するデバイス装置からハンドシェークデータを受信したときは、そのデータを削除するハンドシェークデータ削除手段とを有する構成である。
この構成により、バルク転送とアイソクロナス転送を変換することができるので、複数のデバイス装置が接続されても、特定のデバイス装置については、転送速度を落とさずに使用することができる。
また、ホスト装置とハブ間では、アイソクロナス転送データにエラー訂正符号を付加して送受信するエラー符号付加データ送受信手段を有する構成である。
この構成により、アイソクロナス転送上のみエラー訂正符号を付加して通信することができる。
また、エラー符号付加データ送受信手段は、デバイス装置からの転送データに対しては、エラー符号を付加し、ホスト装置からのエラー訂正符号を付加した転送データに対しては、エラー符号を削除する構成である。
この構成により、アイソクロナス転送上のみエラー訂正符号を付加して通信することができる。
また、ハブ装置とホストドライバとデバイスドライバとを有するホスト装置とを備えるハブシステムであって、ハブ装置と、デバイスドライバからのバルク転送データをアイソクロナス転送データに変換してホストドライバに提供し、ホストドライバからのアイソクロナス転送データをバルク転送データに変換してデバイスドライバに提供するフィルタドライバを備えるホスト装置とを有する構成である。
この構成により、ホスト装置側のフィルタドライバが転送モード変換処理を行なうので、ホスト装置の中のデバイス装置に対応するデバイスドライバを修正せずに、そのまま使用することができる。
本発明により、この構成により、バルク転送とアイソクロナス転送を変換することができるので、複数のデバイス装置が接続されても、特定のデバイス装置については、転送速度を落とさずに使用することができる。
図1に実施例のUSBハブ装置の構成図を示す。
デバイス装置よりUSBトランシーバ2を経由して入って来たデータを、ポートロジック4を介してハブコントローラ6にてデータ解析し、該当データが存在した際は、ハブリピータ3に入ったデータを、ビット変換部5により制御しビットを置換えし、USBトランシーバ2を経てホスト装置へ転送する。
USBハブ装置1は、USBトランシーバ2と、ハブリピータ3と、ポートロジック4と、ビット変換部5とハブコントローラ6とを有する。
USBトランシーバ2は、外部と接続されるインタフェース回路である。
ハブリピータ3は、外部から受信したデータをそのまま他のデバイス装置またはホスト装置に送信処理をする。
ポートロジック4は、各USBトランシーバ2からのデータをハブリピータ3に接続する中継部である。
ビット変換部5は、ハブコントローラ6の制御を受け、ハブリピータ3からのデータのビット変換をし、USBトランシーバ2に送り出す。
ハブコントローラ6は、デバイス装置からのデータを解析する。バルク転送モードを認識し、ビット変換部で転送モードをアイソクロナス転送(以降ISO転送と記述)に変換しホスト装置に転送する。また、アイソクロナス転送を実現するため、ハンドシェイクデータの発生、削除の制御を行う。また、エラー訂正信号の追加、削除を行なう。
図2に実施例のUSBハブシステムの構成図を示す。
まず1つのホスト装置とその配下に(この例では4port所有の)ルートハブが有り、その下に、USBインタフェースを有するデバイス装置またはUSBハブ装置1(図では、Deviceと記載)が接続される。更に、そのUSBハブ装置1の配下にデバイス装置、(またはこの例では無いが)USBハブ装置1を接続することが出来る。
ホスト装置は、パーソナルコンピュータ等であり、デバイス装置等の接続を制御するために、ホストドライバ、フィルタドライバ、デバイスドライバを有する。
ホストドライバは、パーソナルコンピュータ等に搭載されているOS付属のドライバであり、デバイス装置等との初期設定処理を行なう。
フィルタドライバは、デバイスドライバからの転送データをホストドライバに転送し、ホストドライバからの転送データをデバイスドライバに転送する。また、デバイスドライバからの転送データに対してハンドシェイクデータを返送する。また、デバイスドライバからのハンドシェイクデータを削除する。また、デバイスドライバからの転送データにエラー訂正符号を挿入して、ホストドライバに転送する。また、ホストドライバからの転送データに対して、エラー訂正符号をもとにエラーチェックし、エラーのときには、自動訂正を行なう。エラーチェック後、エラー訂正符号を削除した転送データをデバイスドライバに転送する。
デバイスドライバは、デバイス装置との転送データの送受信を制御する。
このシステムにおいては、ホスト装置とUSBハブ装置1(ここではハブb)間のBulk転送をISO転送に変換する。
USB規格上、Bulk転送はバンド幅やレイテンシが保証されないが、ISO転送は一定のデータ・レートが保証されるよう、ホストドライバによりトランザクションがスケジューリングされる。これにより、優先させたいバルク転送をサポートしたデバイス装置との通信を、転送レートを劣化させること無く行うことが可能となる。
これを実現する為には、USBハブ装置1にBulk転送をISO転送に変換する機能を設けている。
以下に各処理について説明を行なう。
USBハブ装置1に以下の処理を実施させる必要がある。
(1)コンフィギュレーション時にデバイス装置のサポート転送タイプをBulk→ISO転送に変換すること、および(2)ホストからのISOトランザクションをBulkトランザクションへ変換することが必要である。
まず(1)について説明する。
図3にUSBの標準デバイスリクエストの説明図を示す。
デバイス装置をPlug-INした際、または電源ON時に、ホスト装置がデバイス装置の情報を取得する。このため、標準デバイスリクエストのGet_Descriptorコマンド(以下ディスクリプタ取得コマンドと呼ぶ)が発行される。その発行を行った後、デバイス装置に対し初期設定を行うコンフィギュレーションが行われる。
このホストからのディスクリプタ取得コマンドに伴い、USBデバイスは自らの情報をホスト装置へ伝えるが、その中でENDPOINT Descriptorという情報を送信する。
図4に、ENDPOINT Descriptorの説明図を示す。
ENDPOINT Descriptor情報の中の<bmAttributes>FieldのBit0〜1を、「10」:Bulkまたは、「01」:Isochronousへ変換することで、ホストに対し、ISO転送用ENDPOINTであると通知をする。この処理は、USBハブ装置1においてデータをバッファリングし、データを解析後、該当データ(2bit)を置き換えることで可能となる。
次に(2)について説明する。
図5に転送フォーマットの説明図を示す。
図5(a)に、ISO転送フォーマット、図5(b)にBulk転送フォーマットを示す。
ISO転送はToken/Dataの2フェーズ存在するのに対し、Bulk転送はHandshakeフェーズが追加で存在する。
IN転送時には、DataフェーズのDATA0/1がデバイス装置からホストへ転送された後、USBハブ装置1によりACKを生成し、デバイス装置に送信することで転送を変換できる。
OUT転送時には、DataフェーズのDATA0/1がホスト装置からデバイス装置へ転送された後、デバイス装置からHandshakeフェーズのACK/NAK/STALLが転送されてくるが、USBハブ装置1により削除し、ホスト装置へ転送しないことで転送を変換できる。
元々bulk転送であったものをISO転送にすると、USB規格に謳われているように、エラーによって転送が失敗しても、データの再転送はリトライされない。
よって、USBバス上で発生したエラーはUSBレベルでは救うことが出来ない。
これを回避するために、エラー訂正符号を付加し、データバス上のエラーを極力減少させ、実通信に影響を与えないようにする。
図6に、ホスト側ドライバの説明図を示す。
USBのホスト側にあるドライバというのは、通常、ホスト装置とRoot ハブを制御するホストドライバと、各デバイス装置を制御するデバイスドライバが存在する。
このとき、デバイス装置のBulk転送をサポートするエンドポイントに対する転送を、USBハブ装置1によってISO転送に変換してしまうので、そのデバイス装置用のドライバでは動作しなくなってしまう。そこで、これを解決するために、ホストドライバとデバイスドライバの間に、フィルタドライバを追加する。
本フィルタドライバにおいて、ホストドライバと特定のUSBハブ装置1間でだけ、Bulk転送をISO転送に変換することが出来る。
図7に転送処理の説明図を示す。
IN転送時には、転送データDATA0/1がデバイス装置からUSBハブ装置1に送信され、ホストドライバ、フィルタドライバを経由してデバイスドライバに転送された後、デバイスドライバからのACKをフィルタドライバが受けるが削除することで、転送を変換できる。
OUT転送時には、転送データのDATA0/1がデバイスドライバからフィルタドライバ、ホストドライバを経由してUSBハブ装置1からデバイス装置へ転送された後、デバイス装置からHandshakeフェーズのACK/NAK/STALLが転送されてくるが、ハブにより削除し、ホストドライバへ転送しないことで転送を変換できる。
これにより、通常USBデバイスと共にデバイスメーカより提供されるデバイスドライバに手を入れる事無く、転送の変換を行うことが可能となる。
図8にエラー訂正処理の説明図を示す。
IN転送時には、デバイス装置から転送データがUSBハブ装置1に来たときに、転送データにエラー訂正符号を付加する。この転送データは、フィルタドライバでエラー訂正符号をもとに、エラーの発生をチェックする。エラー検知すると訂正処理を行なう。エラーチェック後、エラー訂正符号を削除して、転送データをデバイスドライバに転送する。
また、OUT転送時には、デバイスドライバから転送データをフィルタドライバが受信するとエラー訂正データを付加してUSBハブ装置1に送信する。
そして、USBハブ装置1でエラー訂正符号をもとに、エラーの発生をチェックする。エラー検知すると訂正処理を行なう。その後、エラー訂正符号を削除して、転送データをデバイスへ転送する。
エラー訂正処理は、エラー訂正符号を用いて行なわれる。ここで、エラー訂正符号としては、誤り訂正符号(ECC:Error Correcting Code)を用いている。
フィルタドライバは、デバイスドライバにその機能を搭載することもできる。
この結果、バルク転送とアイソクロナス転送を変換することができるので、複数のデバイス装置が接続されても、特定のデバイス装置については、転送速度を落とさずに使用することができる。
以上の実施例1を含む実施形態に関し、更に以下の付記を開示する。
(付記1)デバイス装置とホスト装置間のデータを中継するハブ装置であって、デバイス装置とホスト装置間のバルク転送をアイソクロナス転送に変換する転送モード変換手段を有することを特徴とするハブ装置。
(付記2)転送モード変換手段が、ホスト装置からのデバイス情報取得コマンドに対するデバイス装置からの応答データを受信する応答データ受信手段と、受信した応答データの中の転送モード情報がバルク転送モードか否かを判別する転送モード判別手段と、判別結果がバルク転送モードのときには、応答データの中の転送モード情報をアイソクロナス転送モードに変更する転送モード情報変更手段と、変換した応答データをホストに転送する応答データ転送手段と、デバイス装置からのバルク転送データを受信し、それに対するハンドシェークデータをデバイス装置に返送するハンドシェークデータ返送手段と、ホストデータ受信に対するデバイス装置からハンドシェークデータを受信したときは、そのデータを削除するハンドシェークデータ削除手段とを有することを特徴とする付記1記載のハブ装置。
(付記3)ホスト装置とハブ間では、アイソクロナス転送データにエラー訂正符号を付加して送受信するエラー符号付加データ送受信手段を有することを特徴とする付記2記載のハブ装置。
(付記4)エラー符号付加データ送受信手段は、デバイス装置からの転送データに対しては、エラー符号を付加し、ホスト装置からのエラー訂正符号を付加した転送データに対しては、エラー符号を削除することを特徴とする付記3記載のハブ装置。
(付記5)ハブ装置とホストドライバとデバイスドライバとを有するホスト装置とを備えるハブシステムであって、付記2記載のハブ装置と、デバイスドライバからのバルク転送データをアイソクロナス転送データに変換してホストドライバに提供し、ホストドライバからのアイソクロナス転送データをバルク転送データに変換してデバイスドライバに提供するフィルタドライバを備えるホスト装置とを有することを特徴とするハブシステム。
(付記6)フィルタドライバは、デバイスドライバの転送データに対してハンドシェイクデータを返送し、デバイスドライバからのハンドシェイクデータを削除することを特徴とする付記5記載のハブシステム。
本発明により、バルク転送とアイソクロナス転送を変換することができるので、複数のデバイス装置が接続されても特定のデバイス装置については、転送速度を落とさずに使用するハブ装置およびハブシステムを提供する用途に適用できる。
実施例のUSBハブ装置の構成図 実施例のUSBハブシステムの構成図 標準デバイスリクエストの説明図 ENDPOINT Descriptorの説明図 転送フォーマットの説明図 ホスト側ドライバの説明図 転送処理の説明図 エラー訂正処理の説明図 従来例のUSBハブシステムの構成図
符号の説明
1 USBハブ装置
2 USBトランシーバ
3 ハブリピータ
4 ポートロジック
5 ビット変換部
6 ハブコントローラ

Claims (5)

  1. デバイス装置とホスト装置間のデータを中継するハブ装置であって、
    デバイス装置とホスト装置間のバルク転送をアイソクロナス転送に変換する転送モード変換手段を有することを特徴とするハブ装置。
  2. 転送モード変換手段が、
    ホスト装置からのデバイス情報取得コマンドに対するデバイス装置からの応答データを受信する応答データ受信手段と、
    受信した応答データの中の転送モード情報がバルク転送モードか否かを判別する転送モード判別手段と、
    判別結果がバルク転送モードのときには、応答データの中の転送モード情報をアイソクロナス転送モードに変更する転送モード情報変更手段と、
    変換した応答データをホストに転送する応答データ転送手段と、
    デバイス装置からのバルク転送データを受信し、それに対するハンドシェークデータをデバイス装置に返送するハンドシェークデータ返送手段と、
    ホストデータ受信に対するデバイス装置からハンドシェークデータを受信したときは、そのデータを削除するハンドシェークデータ削除手段とを有することを特徴とする請求項1記載のハブ装置。
  3. ホスト装置とハブ間では、アイソクロナス転送データにエラー訂正符号を付加して送受信するエラー符号付加データ送受信手段を有することを特徴とする請求項2記載のハブ装置。
  4. エラー符号付加データ送受信手段は、
    デバイス装置からの転送データに対しては、エラー符号を付加し、ホスト装置からのエラー訂正符号を付加した転送データに対しては、エラー符号を削除することを特徴とする請求項3記載のハブ装置。
  5. ハブ装置とホストドライバとデバイスドライバとを有するホスト装置とを備えるハブシステムであって、
    請求項2記載のハブ装置と、
    デバイスドライバからのバルク転送データをアイソクロナス転送データに変換してホストドライバに提供し、ホストドライバからのアイソクロナス転送データをバルク転送データに変換してデバイスドライバに提供するフィルタドライバを備えるホスト装置と、
    を有することを特徴とするハブシステム。
JP2005051812A 2005-02-25 2005-02-25 ハブ装置およびハブシステム Pending JP2006238209A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005051812A JP2006238209A (ja) 2005-02-25 2005-02-25 ハブ装置およびハブシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005051812A JP2006238209A (ja) 2005-02-25 2005-02-25 ハブ装置およびハブシステム

Publications (1)

Publication Number Publication Date
JP2006238209A true JP2006238209A (ja) 2006-09-07

Family

ID=37045348

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005051812A Pending JP2006238209A (ja) 2005-02-25 2005-02-25 ハブ装置およびハブシステム

Country Status (1)

Country Link
JP (1) JP2006238209A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011512738A (ja) * 2008-02-07 2011-04-21 クゥアルコム・インコーポレイテッド バルクデータ転送タイプを使用するアイソクロナス・データのワイヤレスusb転送のための方法およびシステム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011512738A (ja) * 2008-02-07 2011-04-21 クゥアルコム・インコーポレイテッド バルクデータ転送タイプを使用するアイソクロナス・データのワイヤレスusb転送のための方法およびシステム

Similar Documents

Publication Publication Date Title
CN100366029C (zh) 通信控制器、主机端控制器、通信设备、通信系统和方法
US20020023189A1 (en) Apparatus and method for initializing a universal serial bus device
US10503239B2 (en) Electronic device and power management method
JP2005107683A (ja) 通信コントローラ、通信システム、通信機器、および通信方法
JPH10207804A (ja) 偽装端末システムおよび偽装端末装置
CN115499505B (zh) Usb网卡和通信方法
US10740172B2 (en) Communication apparatus, communication method, program, and communication system
US20240248819A1 (en) Peripheral component interconnect express device and operating method thereof
JP2006238209A (ja) ハブ装置およびハブシステム
US20100106869A1 (en) USB Storage Device and Interface Circuit Thereof
KR100798169B1 (ko) 호스트 컴퓨터와 외부 장치 사이에서의 연속적인 통신 설정 방법 및 시스템, 컴퓨터 독출 가능 매체
TWI512482B (zh) 主機板組件及其資料處理系統
JP4458873B2 (ja) シリアルデータ転送方法とその装置
US10824582B2 (en) Communication apparatus, communication method, program, and communication system
JP2009130614A (ja) 通信制御装置、通信制御方法および通信制御プログラム
JP3483738B2 (ja) データ通信装置
JP4924472B2 (ja) ホスト機器
US20190163407A1 (en) Storage device and storage system
CN116737616A (zh) 用于互连协议的错误处理的方法、控制器以及存储设备
KR20220118226A (ko) PCIe 인터페이스 장치 및 이를 포함하는 시스템
CN116166591A (zh) 指令转换系统以及指令转换方法
JP2008283418A (ja) コンピュータ間通信システムとコンピュータ間のデータ通信方法
JP2014174924A (ja) 情報処理装置、情報処理方法
JP2001175433A (ja) 無線アダプタ
JP2006065632A (ja) 通信制御装置及び通信制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Effective date: 20061127

Free format text: JAPANESE INTERMEDIATE CODE: A621

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080624

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080820

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20081028