(57)【要約】【課題】ＵＳＢ  ＯＴＧ仕様に基づくＨＯＳＴ機能を搭載したＵＳＢ  ＯＴＧシステムにおいて、アクセスレイテンシを減らし、アクセス競合を減少させることで、データ転送効率を改善する。【解決手段】ＣＰＵ、ＵＳＢ  ＨＯＳＴ機能、ＵＳＢ  ＤＥＶＩＣＥ機能、システムメモリである記憶装置Ａから構成される従来のＵＳＢ  ＯＴＧシステムに対して、ＣＰＵ、ＵＳＢ  ＨＯＳＴ機能、ＵＳＢ  ＤＥＶＩＣＥ機能からアクセス可能な記憶装置Ｂを追加し、ＵＳＢ  ＨＯＳＴ機能が動作している場合は規格所定のＵＳＢ通信制御情報を記憶装置Ｂに格納し、転送対象データ本体（ペイロード）をシステムメモリである記憶装置Ａに格納する。これにより、アクセス競合を減少させ、かつデータ転送に必要な時間を減少させることができる。【選択図】図１
2009020653.tif 000002
【特許請求の範囲】
【請求項１】
プロセッサと、ＵＳＢ  ＯＴＧ仕様に基づくＵＳＢ  ＨＯＳＴ機能と、前記プロセッサおよび前記ＵＳＢ  ＨＯＳＴ機能からそれぞれアクセス可能な第１の記憶装置および第２の記憶装置とを備え、転送対象データ本体を前記第１の記憶装置に格納し、ＵＳＢ通信制御情報を前記第２の記憶装置に格納するものであるＵＳＢ  ＯＴＧシステム。
【請求項２】
ＵＳＢ  ＤＥＶＩＣＥ機能を備え、前記ＵＳＢ  ＤＥＶＩＣＥ機能に係るエンドポイントの所定情報を、前記第１の記憶装置に格納するものである請求項１記載のＵＳＢ  ＯＴＧシステム。
【請求項３】
ＵＳＢ  ＤＥＶＩＣＥ機能を備え、前記ＵＳＢ  ＤＥＶＩＣＥ機能に係るエンドポイントの所定情報を、前記第２の記憶装置に格納するものである請求項１記載のＵＳＢ  ＯＴＧシステム。
【請求項４】
前記ＵＳＢ  ＨＯＳＴ機能または前記ＵＳＢ  ＤＥＶＩＣＥ機能からアクセス可能な前記第１の記憶装置または前記第２の記憶装置のアドレス領域を変更可能に設定する機能を有する請求項１から３のいずれかに記載のＵＳＢ  ＯＴＧシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＵＳＢ  ＯＴＧ（On-The-Go）機能を有するシステムに関し、特に、ＵＳＢ  ＯＴＧシステムにおけるデータ転送効率を改善する技術に関する。
【背景技術】
【０００２】
パーソナルコンピュータにおける周辺機器の簡便な接続技術として開発されたＵＳＢ（Universal Serial Bus）規格は、ＵＳＢ２．０仕様により４８０Ｍｂｐｓまでの高速データ転送にも対応可能となり、その使い易さゆえに従来の各種インターフェース規格に代わり、パーソナルコンピュータの標準的なインターフェースとして普及してきた。
【０００３】
ＵＳＢシステムは、パーソナルコンピュータ（ＨＯＳＴ）に複数の周辺機器（ＤＥＶＩＣＥ）がＵＳＢによりバス接続される構成を採るが、図４に示すように、論理的にはパーソナルコンピュータに搭載される１つのＨＯＳＴ機能３００が複数の各周辺装置に備えられたＤＥＶＩＣＥ機能３０１、３０２、３０３と個別に接続される形態を採り、ＨＯＳＴがすべての通信を制御し、ＤＥＶＩＣＥ同士が勝手に通信することはできない。データ転送はＤＥＶＩＣＥにおいてバッファとして定義されるエンドポイントとＨＯＳＴとの間で行われる。
【０００４】
近年、パーソナルコンピュータに接続される周辺機器として、デジタルカメラや携帯音楽プレーヤなど高度な機能を備えた装置が登場するようになり、パーソナルコンピュータを介することなく周辺機器を相互に接続したいという要求が生じた。この要求に応えるため、２００１年１２月にＵＳＢ２．０の追加仕様としてＵＳＢ  ＯＴＧ仕様が策定された（非特許文献１参照）。
【０００５】
ＵＳＢ  ＯＴＧ機能は周辺機器にも限定的なＨＯＳＴ機能を付加することにより、パーソナルコンピュータを介することなく周辺機器同士の接続を可能にする。ＵＳＢ  ＯＴＧ機能を採用することにより、デジタルカメラとプリンタ、携帯電話と携帯音楽プレーヤなどの間で直接データのやり取りができるようになる。
【０００６】
図２は従来のＵＳＢ  ＯＴＧシステムの構成を示す図である。図２において、１００はＵＳＢ通信を制御する処理部であるＣＰＵ、１１１はＤＥＶＩＣＥ機能、１１２はＵＳＢ  ＯＴＧに基づくＨＯＳＴ機能、１２０はＣＰＵ１００およびＤＥＶＩＣＥ機能１１１およびＨＯＳＴ機能１１２からアクセス可能なシステムメモリとして使用される記憶装置Ａである。システムメモリとしてはＳＤＲＡＭ等の大容量メモリを使用することが多い。
【０００７】
ＵＳＢ  ＯＴＧ仕様に基づくＨＯＳＴ機能を使用するには、ＵＳＢ  ＨＯＳＴのインターフェース規格（ＵＨＣＩ／ＯＨＣＩ／ＥＨＣＩ）に従い、ＣＰＵ１００とＨＯＳＴ機能１１２の双方からアクセス可能な通信制御情報を置く領域が必要となるため、この領域をシステムメモリに割当ててＵＳＢ通信を行うことになる。転送対象のデータ本体（ペイロード）を置く領域についてもシステムメモリ上に確保されることが多い。また、ＤＥＶＩＣＥ機能を使用する場合についても、同様にシステムメモリ上にペイロードを置く領域を確保することが多い。
【０００８】
【非特許文献１】USB Implementers Forum, On-The-Go Supplement to the USB2.0 Specification, Revision1.3, December 5, 2006
【発明の開示】
【発明が解決しようとする課題】
【０００９】
上記従来のＵＳＢ  ＯＴＧシステムの構成では、ＵＳＢ  ＯＴＧ仕様に基づくＨＯＳＴ機能が動作する場合に、ＨＯＳＴ機能１１２と記憶装置Ａ１２０の間のデータ転送時間（アクセスレイテンシ）が長くなり、データ転送効率が悪化するという問題がある。
【００１０】
データ転送時間が長くなる原因としては、システムメモリとしてＳＤＲＡＭ等の大容量メモリが使用された場合に、回路構成上アクセスレイテンシが増大することが挙げられる。また、システムメモリはＵＳＢ機能以外の用途で使用されることが一般的であり、アクセス競合による遅延が影響することが挙げられる。
【００１１】
本発明はかかる点に鑑みてなされたものであり、ＵＳＢ  ＯＴＧ仕様に基づくＨＯＳＴ機能を搭載したＵＳＢ  ＯＴＧシステムにおいて、アクセスレイテンシを減らし、アクセス競合を減少させることで、データ転送効率を改善することができる技術を提供することを目的とする。
【課題を解決するための手段】
【００１２】
本発明に係るＵＳＢ  ＯＴＧシステムは、プロセッサと、ＵＳＢ  ＯＴＧ仕様に基づくＵＳＢ  ＨＯＳＴ機能と、前記プロセッサおよび前記ＵＳＢ  ＨＯＳＴ機能からそれぞれアクセス可能な第１の記憶装置および第２の記憶装置とを備え、転送対象データ本体（ペイロード）を前記第１の記憶装置に格納し、ＵＳＢ通信制御情報を前記第２の記憶装置に格納するものである。
【００１３】
上記構成によれば、システムメモリとして使用され、ペイロードを置く第１の記憶装置としてＳＤＲＡＭ等の大容量メモリが使用された場合にも、ＵＳＢ通信制御情報はＵＳＢ専用の第２の記憶装置に置くことによりＵＳＢ  ＨＯＳＴ機能からのアクセスレイテンシを減らし、第１の記憶装置と第２の記憶装置が独立にアクセス可能なことによりアクセス競合を回避することができるため、データ転送効率を改善することができる。なお、本発明は上記第１の記憶装置および第２の記憶装置の性格を特定するものではなく、また上記システムにおける記憶装置の数を限定するものではない。
【００１４】
また、本発明に係るＵＳＢ  ＯＴＧシステムは、ＵＳＢ  ＤＥＶＩＣＥ機能を備え、このＵＳＢ  ＤＥＶＩＣＥ機能に係るエンドポイントの所定情報を、前記第１の記憶装置に格納するものである。また、本発明に係るＵＳＢ  ＯＴＧシステムは、ＵＳＢ  ＤＥＶＩＣＥ機能を備え、このＵＳＢ  ＤＥＶＩＣＥ機能に係るエンドポイントの所定情報を、前記第２の記憶装置に格納するものである。
【００１５】
上記構成によれば、本ＵＳＢ  ＯＴＧシステムを他のＨＯＳＴと接続してＤＥＶＩＣＥとして動作させる場合に、ＵＳＢ  ＤＥＶＩＣＥ機能に係るエンドポイントの所定情報を格納する領域として、第１の記憶装置または前記第２の記憶装置のいずれか最適な方を選択することができるため、アクセス競合を減少させてデータ転送効率を改善することができる。
【００１６】
さらに本発明に係るＵＳＢ  ＯＴＧシステムは、ＵＳＢ  ＨＯＳＴ機能またはＵＳＢ  ＤＥＶＩＣＥ機能からアクセス可能な前記第１の記憶装置または前記第２の記憶装置のアドレス領域を変更可能に設定する機能を有するものである。
【００１７】
上記構成によれば、システムの動作状況に応じて、ＵＳＢ  ＨＯＳＴ機能またはＵＳＢ  ＤＥＶＩＣＥ機能からアクセス可能な前記第１の記憶装置または前記第２の記憶装置のアドレス領域を変更することができるため、複数の記憶装置を最適に使用することが可能になり、リソースの共有化を図り、コスト削減効果を得ることができる。
【発明の効果】
【００１８】
本発明によれば、転送対象データ本体とＵＳＢ通信制御情報とを独立にアクセス可能な異なる記憶装置に置くことができるため、ＵＳＢ通信におけるデータ転送開始から終了までの時間を短縮することができ、高性能化することが可能になる。また、システムの動作状況に応じて複数の記憶装置の用途を可変にすることにより、リソースの共有化を図り、コスト削減の効果を得ることが可能になる。
【発明を実施するための最良の形態】
【００１９】
以下、本発明の実施形態について図面を参照しながら説明する。図１は本発明の実施の形態に係るＵＳＢ  ＯＴＧシステムの構成を示すブロック図である。図１において、１００はＵＳＢ通信を制御する処理部であるＣＰＵ（プロセッサ）、１１１はＤＥＶＩＣＥ機能、１１２はＵＳＢ  ＯＴＧに基づくＨＯＳＴ機能、１２０はＣＰＵ１００およびＤＥＶＩＣＥ機能１１１およびＨＯＳＴ機能１１２からアクセス可能なシステムメモリとして使用される記憶装置Ａ、１２１はＣＰＵ１００およびＤＥＶＩＣＥ機能１１１およびＨＯＳＴ機能１１２から記憶装置Ａとは独立にアクセス可能な記憶装置Ｂである。
【００２０】
記憶装置Ａと記憶装置Ｂのマスタはそれぞれ３つになるが、ＨＯＳＴ機能とＤＥＶＩＣＥ機能は排他的であるため、実質的に記憶装置Ａ、記憶装置Ｂともにマスタは２つになる。従って、２つのマスタが記憶装置Ａと記憶装置Ｂを使い分けるようにすることで、アクセス競合を回避することが可能になる。
【００２１】
図３は、上記構成のＵＳＢ  ＯＴＧシステムが他の周辺装置（ＤＥＶＩＣＥ）とＵＳＢ通信でデータ転送を行うときの、ＵＳＢ  ＨＯＳＴのインターフェース規格ＥＨＣＩに従ったＣＰＵ１００とＨＯＳＴ機能１１２の間の処理手順の一例を示している。図３に示すようなＵＳＢ通信制御情報は、ＨＯＳＴ機能１１２がＵＳＢ通信の処理を行うために必要な情報であり、ＵＳＢ接続の初期化段階でＣＰＵ１００があらかじめ記憶装置Ｂ１２１に書込んでおく。
【００２２】
図３において、ポインタ２００はＨＯＳＴ機能１１２がＵＳＢ通信の処理を開始するための起点を指定する。ポインタ２００の指定先にはデータ転送先のバッファとして定義されるエンドポイントの情報ｑＨｅａｄ２０１がリストに構成され、ＵＳＢ通信はリストに従って順次処理されるようになっている。
【００２３】
処理の開始時には、ＨＯＳＴ機能１１２が記憶装置Ｂ１２１からｑＨｅａｄ２０１を読出し、さらに、ｑＨｅａｄ２０１の指定情報に従い、転送先、転送サイズ、転送データ領域等を指定するデータ転送制御情報ｑＴＤを読出す。このデータ転送制御情報ｑＴＤに従い、ＨＯＳＴ機能１１２は記憶装置Ａ１２０からペイロードとなるデータを読出し、パケットを組み立てて指定先のＤＥＶＩＣＥに転送する。
【００２４】
上記構成のＵＳＢ  ＯＴＧシステムを他のＨＯＳＴと接続する場合は、本システムはＤＥＶＩＣＥとして動作することになる。すなわち、ＨＯＳＴ機能１１２は使用されず、ＤＥＶＩＣＥ機能１１１が動作することになる。
【００２５】
ＤＥＶＩＣＥ機能１１１が他のＨＯＳＴにデータ転送する場合は、記憶装置Ａ１２０に蓄えられているペイロードとなるデータをＤＥＶＩＣＥ機能１１１のエンドポイントのデータ保存場所としている記憶装置Ｂ１２１に移動させ、ＤＥＶＩＣＥ機能１１１が接続先のＨＯＳＴへデータ転送するように記憶装置Ｂを使用することができる。
【００２６】
逆に接続先のＨＯＳＴからデータが転送される場合は、記憶装置Ｂ１２１にデータを取込み、これを記憶装置Ａ１２０に移動させるように記憶装置Ｂを使用することもできる。記憶装置Ａ１２０と記憶装置Ｂ１２１の間のデータ移動は、ＣＰＵ１００がデータコピーする場合や、ＤＭＡ機能で移動させる場合等がある。
【００２７】
上記構成のＵＳＢ  ＯＴＧシステムによれば、システムメモリである記憶装置ＡとしてＳＤＲＡＭ等の大容量メモリが使用された場合にも、ＨＯＳＴ機能１１２やＤＥＶＩＣＥ機能１１１は記憶装置Ｂを使用することでアクセスレイテンシを減らすことができる。また、記憶装置Ａと独立にアクセス可能な記憶装置ＢをＵＳＢ専用に使用することでアクセス競合を減少させることができ、データ転送効率を改善することができる。
【００２８】
なお、記憶装置Ａ、記憶装置Ｂについては、ＳＲＡＭ等のメモリに限定するものではなく、フリップフロップで構成されたレジスタ群などデータを記憶できる構成のものであれば良い。また、記憶装置Ａ、記憶装置ＢのマスタはＣＰＵ、ＨＯＳＴ機能、ＤＥＶＩＣＥ機能に限定するものではなく、他のマスタが存在しても良い。
【００２９】
また、図１のシステム内のバス構成についても、特に限定するものではなく、各マスタと記憶装置Ａ、記憶装置Ｂの間でデータ転送できる構成になっているのであれば良い。マスタと記憶装置の間にＤＭＡ機能を備える場合も多いが、例えば、データの転送元もしくは転送先がＨＯＳＴ機能である場合には、これを記憶装置のマスタとする。
【００３０】
以上説明したように、本実施の形態に係るＵＳＢ  ＯＴＧシステムは、ＵＳＢ通信の性能向上を実現できる記憶装置を有し、データ量が多い通信を行いたい場合に有用である。
【産業上の利用可能性】
【００３１】
本発明に係るＵＳＢ  ＯＴＧシステムは、転送対象データ本体とＵＳＢ通信制御情報とを独立にアクセス可能な異なる記憶装置に置くことができるため、ＵＳＢ通信におけるデータ転送開始から終了までの時間を短縮することができ、高性能化することが可能になる効果を有し、ＵＳＢ  ＯＴＧ（On-The-Go）機能を有するシステム等に有用である。
【図面の簡単な説明】
【００３２】
【図１】本発明の一実施の形態に係るＵＳＢ  ＯＴＧシステム構成を示すブロック図
【図２】従来のＵＳＢ  ＯＴＧシステム構成を示すブロック図
【図３】ＵＳＢシステムにおけるＨＯＳＴ機能動作時の制御フローを示す図
【図４】ＵＳＢシステムの論理的構成を示す図
【符号の説明】
【００３３】
１００  ＵＳＢ通信を制御する処理部であるＣＰＵ
１１１  ＤＥＶＩＣＥ機能
１１２  ＵＳＢ  ＯＴＧ仕様に基づくＨＯＳＴ機能
１２０  システムメモリである記憶装置Ａ
１２１  記憶装置Ａとは独立にアクセス可能な記憶装置Ｂ
２００  ポインタ
２０１  データ転送先であるエンドポイントの情報を保持するｑＨｅａｄ
２０２  転送サイズや転送データの指定等の情報を保持するｑＴＤ
３００  ＨＯＳＴ（パーソナルコンピュータ）
３０１〜３０３  ＤＥＶＩＣＥ（周辺装置）
【図１】
2009020653.tif 000003
【図２】
2009020653.tif 000004
【図３】
2009020653.tif 000005
【図４】
2009020653.tif 000006