(57)【要約】【課題】ＵＳＢホストコントローラがバスマスタになる回数を削減する。【解決手段】ＵＳＢホストコントローラ１００内に、ＥＤ及びＴＤを保持する記憶部１０８を設けておき、ＯＨＣＩマスタインタフェース１０７が外部記憶装置１１２に対しＥＤ又はＴＤを取得する時、ＥＤ／ＴＤ識別部１０６が記憶部１０８のＥＤ又はＴＤを比較し、一致した場合は記憶部１０８から取得し、一致しない場合は外部記憶装置１１２から取得してＵＳＢ転送する。ＵＳＢ転送した後、ＵＳＢ機器からの応答がＵＳＢ規格に基づくＮＡＫであれば、外部記憶装置１１２から取得したＥＤ及びＴＤを記憶部１０８に保存する。【選択図】  図１
2005018351.tif 000002
【特許請求の範囲】
【請求項１】
ＣＰＵ（中央処理装置）及び外部記憶装置が接続されたＣＰＵバスに接続するためのＣＰＵバスインタフェースと、
ＵＳＢ（ユニバーサル・シリアル・バス）転送のスケジューリングを行うＯＨＣＩコア部と、
前記ＯＨＣＩコア部が前記ＣＰＵバスインタフェースを介して前記外部記憶装置にアクセスするためのＯＨＣＩマスタインタフェースと、
ＯＨＣＩ（オープン・ホスト・コントローラ・インタフェース）規格に基づく非同期転送用のＥＤ（エンドポイント・ディスクリプタ、終点記述子）及びＯＨＣＩ規格に基づくＴＤ（トランスファー・ディスクリプタ、転送記述子）を記憶する記憶部と、
前記ＯＨＣＩマスタインタフェースがＥＤ及びＴＤを取得する際に、前記記憶部に記憶されているＥＤ及びＴＤを比較し、一致する場合は前記記憶部からＥＤ及びＴＤを取得し、一致しない場合には前記外部記憶装置からＥＤ及びＴＤを取得する識別部と、
を備えるＵＳＢホストコントローラ。
【請求項２】
前記識別部は、外部のＵＳＢ機器からの応答がＵＳＢ規格に基づくＮＡＫ（否定応答）である場合、前記ＯＨＣＩマスタインタフェースが取得した前記ＥＤ及び前記ＴＤを前記記憶部に記憶させる請求項１に記載のＵＳＢホストコントローラ。
【請求項３】
ＵＳＢ（ユニバーサル・シリアル・バス）転送のスケジューリングを行うＯＨＣＩコア部と、前記ＯＨＣＩコア部が外部記憶装置にアクセスするためのＯＨＣＩマスタインタフェースとを備えるＵＳＢホストコントローラに、ＯＨＣＩ（オープン・ホスト・コントローラ・インタフェース）規格に基づく非同期転送用のＥＤ（エンドポイント・ディスクリプタ、終点記述子）及びＯＨＣＩ規格に基づくＴＤ（トランスファー・ディスクリプタ、転送記述子）を内部に記憶させ、
ＥＤ及びＴＤを取得する際に、記憶させたＤ及びＤが一致する場合は記憶させたＥＤ及びＴＤを取得して前記ＯＨＣＩマスタインタフェースに渡し、一致しない場合には前記外部記憶装置からＥＤ及びＴＤを取得して前記ＯＨＣＩマスタインタフェースに渡すＵＳＢコントローラバスマスタ回数削減方法。
【請求項４】
外部のＵＳＢ機器からの応答がＵＳＢ規格に基づくＮＡＫ（否定応答）である場合、前記ＯＨＣＩマスタＩ／Ｆが取得した前記非同期転送用ＥＤ又は前記ＴＤを内部に記憶させる請求項３に記載のＵＳＢホストコントローラのバスマスタ回数削減方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ＵＳＢホストコントローラ及びそのバスマスタ回数削減方法に関する。
【０００２】
【従来の技術】
図３は、従来のＵＳＢホストコントローラ３００の構成を示すブロック図である。図３において、ＵＳＢホストコントローラ３００は、ＣＰＵバス３１０を介してＣＰＵ（中央処理装置）３１１と外部記憶装置３１２に接続されており、ＣＰＵバス３１０とのインタフェースであるＣＰＵバスインタフェース（Ｉ／Ｆ）３０１と、ＵＳＢ転送のスケジューリングを行うＯＨＣＩコア部３０３と、ＣＰＵ３１１からＯＨＣＩコア部３０３にアクセスするインタフェースであるＯＨＣＩスレーブインタフェース（Ｉ／Ｆ）３０２と、ＯＨＣＩコア部３０３から外部記憶装置３１２にアクセスするインタフェースであるＯＨＣＩマスタインタフェース（Ｉ／Ｆ）３０６と、複数のＵＳＢトランシーバ３０４−１…３０４−ｎとから構成される。
【０００３】
ＵＳＢホストコントローラ３００は、各フレームにおいてＯＨＣＩ（オープン・ホスト・コントローラ・インタフェース（非特許文献１参照））規格に基づく非同期転送用の終点記述子（ＥＤ：Ｅｎｄｐｏｉｎｔ  Ｄｅｓｃｒｉｐｔｏｒ）とＯＨＣＩ規格に基づく転送記述子（ＴＤ：Ｔｒａｎｓｆｅｒ  Ｄｅｓｃｒｉｐｔｏｒ）を取得する際に、バスマスタとなって外部記憶装置３１２にアクセスする（例えば特許文献１参照）。
【０００４】
【非特許文献１】
ＯｐｅｎＨＣＩ  Ｏｐｅｎ  Ｈｏｓｔ  Ｃｏｎｔｒｏｌｌｅｒ  Ｉｎｔｅｒｆａｃｅ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ  ｆｏｒ  ＵＳＢ
Ｃｏｍｐａｑ／Ｍｉｃｒｏｓｏｆｔ／Ｎａｔｉｏｎａｌ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒ１９９９／０８／２５
【０００５】
【特許文献１】
特開平１０−２８３３１１号公報
【０００６】
【発明が解決しようとする課題】
しかし、上述した従来のＵＳＢホストコントローラにおいては、ＯＣＨＩ規格に従い、各フレームの同期転送が終了した後に非同期転送を行うため、ＵＳＢトランシーバによって接続されるＵＳＢ機器からの応答がＩＮ転送ではデータ送信応答、ＯＵＴ転送ではＡＣＫ応答があるまで、再度非同期転送用ＥＤ及びＴＤを取得するため、ＣＰＵバス上でバスマスタになる回数が増えてしまい、これによってＣＰＵのバス使用率が低下してＣＰＵの処理能力が低下する問題がある。
【０００７】
本発明は、上記従来の問題を解決するもので、バスマスタになる回数の少ないＵＳＢホストコントローラ及びＵＳＢホストコントローラがバスマスタになる回数を低減することができるＵＳＢコントローラのバスマスタ回数削減方法を提供することを目的とする。
【０００８】
【課題を解決するための手段】
請求項１のＵＳＢホストコントローラは、ＣＰＵ（中央処理装置）及び外部記憶装置が接続されたＣＰＵバスに接続するためのＣＰＵバスインタフェースと、ＵＳＢ（ユニバーサル・シリアル・バス）転送のスケジューリングを行うＯＨＣＩコア部と、前記ＯＨＣＩコア部が前記ＣＰＵバスインタフェースを介して前記外部記憶装置にアクセスするためのＯＨＣＩマスタインタフェースと、ＯＨＣＩ（オープン・ホスト・コントローラ・インタフェース）規格に基づく非同期転送用のＥＤ（エンドポイント・ディスクリプタ、終点記述子）及びＯＨＣＩ規格に基づくＴＤ（トランスファー・ディスクリプタ、転送記述子）を記憶する記憶部と、前記ＯＨＣＩマスタインタフェースがＥＤ及びＴＤを取得する際に、前記記憶部に記憶されているＥＤ及びＴＤを比較し、一致する場合は前記記憶部からＥＤ及びＴＤを取得し、一致しない場合には前記外部記憶装置からＥＤ及びＴＤを取得する識別部とを備える。
【０００９】
上記構成によれば、ＯＨＣＩマスタインタフェースがＥＤ及びＴＤを取得する際に、記憶部に記憶されているＥＤ及びＴＤが一致する場合、ＥＤ及びＴＤを外部記憶装置から取得するのではなくコントローラ自身が持つ記憶部から取得するので、その分ＵＳＢホストコントローラがバスマスタになる回数が減少する。これにより、ＣＰＵのバス使用率が向上してＣＰＵの処理能力が向上する。
【００１０】
請求項２のＵＳＢホストコントローラは、請求項１に記載のＵＳＢホストコントローラであって、前記識別部は、外部のＵＳＢ機器からの応答がＵＳＢ規格に基づくＮＡＫ（否定応答）である場合、前記ＯＨＣＩマスタインタフェースが取得した前記ＥＤ及び前記ＴＤを前記記憶部に記憶させる。
【００１１】
上記構成によれば、外部のＵＳＢ機器からの応答がＵＳＢ規格に基づくＮＡＫである場合に、ＯＨＣＩマスタインタフェースが取得したＥＤ及びＴＤを記憶部に記憶させるので、従来のようなＵＳＢ機器からの応答がＩＮ転送ではデータ送信応答があるまで、またはＯＵＴ転送ではＡＣＫ応答があるまで、ＵＳＢホストコントローラが再度ＥＤ及びＴＤを取得する場合と比べてバスマスタになる回数が減少する。これにより、ＣＰＵのバス使用率が向上してＣＰＵの処理能力が向上する。
【００１２】
請求項３のＵＳＢコントローラのバスマスタ回数削減方法は、ＵＳＢ（ユニバーサル・シリアル・バス）転送のスケジューリングを行うＯＨＣＩコア部と、前記ＯＨＣＩコア部が外部記憶装置にアクセスするためのＯＨＣＩマスタインタフェースとを備えるＵＳＢホストコントローラに、ＯＨＣＩ（オープン・ホスト・コントローラ・インタフェース）規格に基づく非同期転送用のＥＤ（エンドポイント・ディスクリプタ、終点記述子）及びＯＨＣＩ規格に基づくＴＤ（トランスファー・ディスクリプタ、転送記述子）を内部に記憶させ、ＥＤ及びＴＤを取得する際に、記憶させたＤ及びＤが一致する場合は記憶させたＥＤ及びＴＤを取得して前記ＯＨＣＩマスタインタフェースに渡し、一致しない場合には前記外部記憶装置からＥＤ及びＴＤを取得して前記ＯＨＣＩマスタインタフェースに渡す。
【００１３】
上記構成によれば、ＯＨＣＩマスタインタフェースがＥＤ及びＴＤを取得する際に、内部に記憶されているＥＤ及びＴＤが一致する場合、ＥＤ及びＴＤを外部記憶装置から取得するのではなくコントローラ内部から取得するので、その分ＵＳＢホストコントローラがバスマスタになる回数が減少する。これにより、ＣＰＵのバス使用率が向上してＣＰＵの処理能力が向上する。
【００１４】
請求項４のＵＳＢコントローラのバスマスタ回数削減方法は、請求項３に記載のＵＳＢコントローラのバスマスタ回数削減方法であって、外部のＵＳＢ機器からの応答がＵＳＢ規格に基づくＮＡＫ（否定応答）である場合、前記ＯＨＣＩマスタＩ／Ｆが取得した前記非同期転送用ＥＤ又は前記ＴＤを内部に記憶させる。
【００１５】
上記構成によれば、外部のＵＳＢ機器からの応答がＵＳＢ規格に基づくＮＡＫである場合に、ＯＨＣＩマスタインタフェースが取得したＥＤ及びＴＤ内部に記憶させるので、従来のようなＵＳＢ機器からの応答がＩＮ転送ではデータ送信応答があるまで、またはＯＵＴ転送ではＡＣＫ応答があるまで、ＵＳＢホストコントローラが再度ＥＤ及びＴＤを取得する場合と比べてバスマスタになる回数が減少する。これにより、ＣＰＵのバス使用率が向上してＣＰＵの処理能力が向上する。
【００１６】
【発明の実施の形態】
以下、本発明の実施の形態について、図面を参照して説明する。図１は、本発明の一実施の形態に係るＵＳＢホストコントローラの構成を示すブロック図である。図１において、本実施の形態に係るＵＳＢホストコントローラ１００は、ＣＰＵバス１１０を介してＣＰＵ１１１と外部記憶装置１１２に接続されており、ＣＰＵバス１１０とのインタフェースであるＣＰＵバスインタフェース（Ｉ／Ｆ）１０１と、ＵＳＢ転送のスケジューリングを行うＯＨＣＩコア部１０３と、ＣＰＵ１１１からＯＨＣＩコア部１０３にアクセスするインタフェースであるＯＨＣＩスレーブインタフェース（Ｉ／Ｆ）１０２と、ＯＨＣＩコア部１０３が外部記憶装置１１２にアクセスするためのインタフェースであるＯＨＣＩマスタインタフェース（Ｉ／Ｆ）１０７と、非同期転送用ＥＤ及びＴＤを保持する記憶部１０８と、ＥＤ／ＴＤ識別部１０６と、ＳＯＦ（スタート・オブ・フレーム）検出部１０９と、複数のＵＳＢトランシーバ１０４−１…１０４−ｎとを備えている。
【００１７】
ＥＤ／ＴＤ識別部１０６は、ＯＨＣＩマスタインタフェース１０７がＥＤ及びＴＤを取得する際に、記憶部１０８に記憶されているＥＤ及びＴＤを比較し、一致する場合は記憶部１０８からＥＤ及びＴＤを取得し、一致しない場合には外部記憶装置１１２からＥＤ及びＴＤを取得して、ＵＳＢ転送を行う。ＳＯＦ検出部１０９は、外部記憶装置１１２と記憶部１０８が保持するＥＤ及びＴＤを一致させるため、ＵＳＢバス上のＵＳＢ規格に基づくＳＯＦを検出した場合に記憶部１０８が保持しているＥＤ及びＴＤを消去する。なお、ＵＳＢホストコントローラ１００、ＣＰＵ１１１、外部記憶装置１１２及びＣＰＵバス１１０はコンピュータシステムを構成する。
【００１８】
図２は上記構成のＵＳＢホストコントローラの動作を示すフローチャートである。まず、ＯＨＣＩマスタインタフェース１０７が外部記憶装置１１２から非同期転送用ＥＤ及びＴＤを取得する際に、ＥＤ／ＴＤ識別部１０６にて記憶部１０８に保存されている非同期転送用ＥＤ及びＴＤが一致するかどうかが判定される（手順２００）。一致する場合は記憶部１０８から非同期転送用ＥＤ及びＴＤが取得される（手順２０１）。一致しない場合は外部記憶装置１１２から非同期転送用ＥＤ及びＴＤが取得される（手順２０２）。
【００１９】
次いで、ＵＳＢトランシーバ（例えば３０４−１）によって接続されたＵＳＢ機器からの応答がＮＡＫであるかどうかが判定される（手順２１０）。ＵＳＢ機器からの応答がＮＡＫ（否定応答）である場合は、ＯＨＣＩマスタインタフェース１０７にて取得された非同期転送用ＥＤ及びＴＤが記憶部１０８に保存される（手順２１１）。次に、ＳＯＦ検出部１０９にてＵＳＢバス上のＵＳＢ規格に基づくＳＯＦが検出されたかどうかが判定される（手順２２０）。ＳＯＦが検出された場合は記憶部１０８にて保持されている非同期転送用ＥＤ及びＴＤが削除される（手順２２１）。
【００２０】
このように、本実施の形態に係るＵＳＢホストコントローラによれば、非同期転送用ＥＤ及びＴＤを保持する記憶部１０８を有し、ＯＨＣＩマスタインタフェース１０７が外部記憶装置１１２から非同期転送用ＥＤ及びＴＤを取得する際に、ＥＤ／ＴＤ識別部１０６が、記憶部１０８に保存されているＥＤ及びＴＤを比較し、一致する場合は記憶部１０８からＥＤ及びＴＤを取得し、一致しない場合は外部記憶装置１１２からＥＤ及びＴＤを取得し、ＵＳＢ転送を行う。そして、ＵＳＢ機器からの応答がＵＳＢ規格に基づくＮＡＫであれば、外部記憶装置１１２からのたＥＤ及びＴＤを記憶部１０８に保存し、さらにＳＯＦを検出した場合には記憶部１０８に保存されているＥＤ及びＴＤを削除する。
【００２１】
また、外部のＵＳＢ機器からの応答がＵＳＢ規格に基づくＮＡＫである場合に、ＯＨＣＩマスタインタフェース１０７が取得したＥＤ及びＴＤを記憶部１０８に記憶させるので、従来のようなＵＳＢ機器からの応答がＩＮ転送ではデータ送信応答があるまで、またはＯＵＴ転送ではＡＣＫ応答があるまで、ＵＳＢホストコントローラが再度ＥＤ及びＴＤを取得する場合と比べてバスマスタになる回数が減少する。
【００２２】
したがって、ＵＳＢホストコントローラがバスマスタになる回数が減少するので、ＣＰＵ１１１のバス使用率が向上してＣＰＵの処理能力が向上する。
【００２３】
【発明の効果】
本発明によれば、ＯＨＣＩマスタインタフェースがＥＤ及びＴＤを取得する際に、ＥＤ及びＴＤを外部記憶装置から取得するのではなくコントローラ内部から取得することを可能とすることで、ＵＳＢホストコントローラがバスマスタになる回数を減少させることができる。これにより、ＣＰＵのバス使用率が向上してＣＰＵの処理能力が向上する。
【図面の簡単な説明】
【図１】本発明の一実施の形態に係るＵＳＢホストコントローラの構成を示すブロック図である。
【図２】本発明の一実施の形態に係るＵＳＢホストコントローラの動作を示すフローチャートである。
【図３】従来のＵＳＢホストコントローラの構成を示すブロック図である。
【符号の説明】
１００  ＵＳＢホストコントローラ
１０１  ＣＰＵバスインタフェース
１０２  ＯＨＣＩスレーブインタフェース
１０３  ＯＨＣＩコア部
１０４−１、１０４−ｎ  ＵＳＢトランシーバ
１０６  ＥＤ／ＴＤ識別部
１０７  ＯＨＣＩマスタインタフェース
１０８  記憶部
１０９  ＳＯＦ検出部
１１０  ＣＰＵバス
１１１  ＣＰＵ
１１２  外部記憶装置
【図１】
2005018351.tif 000003
【図２】
2005018351.tif 000004
【図３】
2005018351.tif 000005