JP4412191B2 - データ転送制御装置及び電子機器 - Google Patents
データ転送制御装置及び電子機器 Download PDFInfo
- Publication number
- JP4412191B2 JP4412191B2 JP2005029225A JP2005029225A JP4412191B2 JP 4412191 B2 JP4412191 B2 JP 4412191B2 JP 2005029225 A JP2005029225 A JP 2005029225A JP 2005029225 A JP2005029225 A JP 2005029225A JP 4412191 B2 JP4412191 B2 JP 4412191B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- transfer
- transport
- bulk
- transaction
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/12—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4247—Bus transfer protocol, e.g. handshake; Synchronisation on a daisy chain bus
- G06F13/426—Bus transfer protocol, e.g. handshake; Synchronisation on a daisy chain bus using an embedded synchronisation, e.g. Firewire bus, Fibre Channel bus, SSA bus
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Systems (AREA)
Description
まずUSBのデータ転送について説明する。USBでは、図1(A)に示すようなエンドポイント(EP0〜15)がデバイス(USBデバイス)側に用意される。ホストは、デバイスのファンクションアドレスとエンドポイント番号を指定することで、所望のエンドポイントへのデータ送信や、所望のエンドポイントからのデータ受信を自由に行うことができる。
次に、USBのバルクオンリートランスポートのプロトコルについて説明する。ハードディスクドライブや光ディスクドライブなどの大容量記憶装置は、マスストレージと呼ばれるクラスに属する。このマスストレージクラスには、バルクオンリートランスポートというプロトコルが規格化されている。
図4に、以上のような課題を解決できる本実施形態のデータ転送制御装置の構成例を示す。このデータ転送制御装置120は、トランシーバ10、転送コントローラ40、レジスタ部80、バッファコントローラ90、データバッファ100、ストレージI/F(インターフェース)コントローラ110、CPUI/Fコントローラ112、DMA(Direct Memory Access)コントローラ114を含む。なお本実施形態のデータ転送制御装置120は、これらの一部を省略する構成としてもよく、例えばトランシーバ10やデータバッファ100などを含まない構成としてもよい。或いはCPU140を含む構成としてもよい。
図5、図6にデータバッファ100に確保される領域(area)の例を示す。図5に示すようにホストモード時には、SETUP、CBW0(第1のコマンドブロック)、CBW1(第2のコマンドブロック)、CSW(ステータスブロック)、CH0〜CHh(チャネル)の領域がデータバッファ100に確保される。ここでSETUP、CBW0、CBW1、CSWは固定サイズの領域である。またCH0〜CHhは、スタートアドレスとエンドアドレスによりその領域サイズが可変に設定され、FIFOとして制御される領域である。そしてCH0はコントロール転送にのみ使用される領域である。またCHa〜CHcはバルク転送に使用される領域であり、CHd〜CHfはバルク及びインタラプト転送に使用される領域であり、CHg、CHhはバルク、インタラプト及びアイソクロナス転送に使用される領域である。
本実施形態のデータ転送制御装置は、図9に示すように、USBのバルクオンリートランスポートの一連のコマンドトランスポート、データトランスポート、ステータストランスポートの実行、管理を自動的に行う機能を有している。
次に本実施形態の処理、動作の詳細を説明する。図11は、バルクオンリーサポート機能をオンにした場合のファームウェアの処理例を示すフローチャートである。
図20に、バルクオンリーサポート転送を実現する回路の詳細例を示す。チャネル情報管理回路240は、ターゲットとなるチャネルの情報を管理する回路である。このチャネル情報管理回路240は、転送実行のターゲットとなるチャネルが指示された場合に、レジスタ部80のチャネル情報レジスタ82から、対応するチャネル情報を選択して、図示しないトランザクション管理回路などに渡す処理を行う。
INデータを解析したり、OUTデータを含む送信パケットを生成する。そしてバルクIN転送の場合には、パケット解析&生成回路250が、受信パケットに含まれるINデータをバッファコントローラ90に出力すると共にライトリクエストを出力する。そしてINデータがデータトランスポートの受信データである場合には、バッファコントローラ90はINデータをデータバッファ100のCHa領域(データ領域)に書き込む。一方、INデータがステータストランスポートのCSWデータである場合には、CSWデータであるINデータをデータバッファ100のCSW領域に書き込む。そしてバッファコントローラ90はライトACK(Acknowledgement)をパケット解析&生成回路250に出力する。
図21(A)(B)に、本実施形態のデータ転送制御装置を含む電子機器の構成例を示す。電子機器110は、図2等で説明したデータ転送制御装置120、ストレージ130、CPU140(処理部)、操作部150、表示部160、音出力部170を含む。またアップストリームポートUPPTとダウンストリームポートDWPTを含む。なおこれらの一部を省略する構成としてもよい。
CBW コマンドブロックデータ、CSW ステータスブロックデータ、
10 トランシーバ、20 ホストトランシーバ、30 デバイストランシーバ、
40 転送コントローラ、50 ホストコントローラ、52 解析回路、
60 デバイスコントローラ、70 ポートセレクタ、80 レジスタ部、
82 チャネル情報レジスタ、84 バルクオンリーサポート情報レジスタ、
86 ステータスレジスタ、90 バッファコントローラ、100 データバッファ、
110 ストレージI/Fコントローラ、112 CPUI/Fコントローラ、
114 DMAコントローラ、120 データ転送制御装置、130 ストレージ、
140 CPU(処理部)
Claims (11)
- USB(Universal serial Bus)を介したデータ転送のためのデータ転送制御装置であって、
コマンドブロック領域とデータ領域とステータスブロック領域とが確保されるデータバッファのアクセス制御を行うバッファコントローラと、
処理部と、
前記処理部により前記コマンドブロック領域に書き込まれたコマンドブロックデータを解析する解析回路を有し、データ転送制御を行う転送コントローラとを含み、
前記転送コントローラは、
前記処理部により自動バルク転送の実行が指示された場合に、コマンドトランスポートのバルクOUT転送のトランザクションを実行して、前記コマンドブロック領域に書き込まれた前記コマンドブロックデータを含むパケットを自動送信し、
前記コマンドトランスポートのバルクOUT転送が完了したと判断された場合に、前記解析回路による前記コマンドブロックデータの解析結果に基づいて、データトランスポートの転送方向と前記データトランスポートの有無を判断し、前記データトランスポートのバルクOUT転送又はバルクIN転送のトランザクションを実行して、前記データ領域に書き込まれた送信データを含むパケットの自動送信又は前記データ領域に書き込むべき受信データを含むパケットの自動受信を行い、
前記データトランスポートが完了したと判断された場合に、ステータストランスポートのバルクIN転送のトランザクションを実行して、前記ステータスブロック領域に書き込むべきステータスブロックデータを含むパケットの自動受信を行い、
前記ステータスブロックデータは、
前記ステータスブロックデータの識別子が設定される第1のフィールドと、前記コマンドブロックデータのタグと同じ値のタグが設定される第2のフィールドと、前記コマンドトランスポートの処理結果を示す値が設定される第3のフィールドを有し、
前記解析回路は、
前記ステータストランスポートにおいて受信された前記ステータスブロックデータを解析し、前記ステータスブロックデータのエラーを検出し、前記第1のフィールド、前記第2のフィールド、前記第3のフィールドのうちのいずれかのフィールドにエラーが検出された場合には、前記ステータスブロックデータのエラーを前記処理部に通知し、
前記処理部は、
前記ステータスブロック領域に書き込まれた前記ステータスブロックデータを解析し、ホスト側とデバイス側とで、前記コマンドトランスポート、前記データトランスポート、前記ステータストランスポートのフェーズがずれたことが検出された場合には、フェーズのずれをリカバリーするリセットリカバリー処理を行うことを特徴とするデータ転送制御装置。 - 請求項1において、
前記コマンドブロックデータは、前記データトランスポートで転送されるデータの転送方向の情報が設定されるフィールドと、前記データトランスポートで転送されるデータのデータ転送長の情報が設定されるフィールドを有し、
前記転送コントローラは、
前記コマンドブロック領域に書き込まれた前記コマンドブロックデータの前記解析結果に基づいて、前記データトランスポートの転送方向と前記データトランスポートの有無を判断して、前記データトランスポートのトランザクションを制御することを特徴とするデータ転送制御装置。 - 請求項2において、
前記転送コントローラは、
前記コマンドブロックデータの前記データ転送長が0に設定されていた場合には、前記データトランスポートのトランザクションの実行を省略して、前記ステータストランスポートのトランザクションを実行することを特徴とするデータ転送制御装置。 - 請求項2又は3において、
前記転送コントローラは、
前記コマンドブロックデータの前記転送方向の情報に基づいて、前記データトランスポートにおいてバルクOUT転送のトランザクションとバルクIN転送のトランザクションのいずれを実行するかを決定することを特徴とするデータ転送制御装置。 - 請求項1乃至4のいずれかにおいて、
前記データバッファに確保されるチャネル領域のチャネル情報が設定されるチャネル情報レジスタを含み、
前記チャネル情報レジスタには、マックスパケットサイズとデバイスのファンクションアドレスとが前記チャネル情報として設定され、
前記データバッファには、前記データ領域が前記チャネル領域として確保され、
前記転送コントローラは、
前記チャネル情報レジスタに設定されるチャネル情報に基づいて、前記自動バルク転送を実行することを特徴とするデータ転送制御装置。 - 請求項1乃至5のいずれかにおいて、
バルクOUT転送のエンドポイントを指定するOUTエンドポイント番号と、バルクIN転送のエンドポイントを指定するINエンドポイント番号とが、自動バルク転送情報として設定される自動バルク転送情報レジスタを含み、
前記転送コントローラは、
前記データトランスポートにおいてバルクOUT転送のトランザクションを実行する場合には、前記OUTエンドポイント番号で指定されるエンドポイントに対して、前記送信データを含むパケットを自動送信し、前記データトランスポートにおいてバルクIN転送のトランザクションを実行する場合には、前記INエンドポイント番号で指定されるエンドポイントから、前記受信データを含むパケットを自動受信することを特徴とするデータ転送制御装置。 - 請求項1乃至6のいずれかにおいて、
前記転送コントローラは、
コマンドトランスポート、データトランスポート、ステータストランスポートの各トランスポートにおいてトランザクションエラーを検出した場合には、前記自動バルク転送の実行を停止し、エラーが発生したトランスポートを前記処理部に通知することを特徴とするデータ転送制御装置。 - 請求項1乃至7のいずれかにおいて、
前記コマンドブロック領域として第1、第2のコマンドブロック領域が前記データバッファに確保され、
前記転送コントローラは、
前記第1、第2のコマンドブロック領域のいずれか一方のコマンドブロック領域に対して前記処理部がコマンドブロックデータを書き込んでいる際に、他方のコマンドブロック領域に書き込まれたコマンドブロックデータに基づいて、前記自動バルク転送を実行することを特徴とするデータ転送制御装置。 - 請求項1乃至8のいずれかにおいて、
前記転送コントローラは、
自動バルク転送の実行が指示された場合に、コマンドトランスポートのバルクOUT転送のトランザクションの開始を指示する回路と、
開始したコマンドトランスポートのバルクOUT転送のトランザクションが完了した場合に、データトランスポートの転送方向とデータトランスポートの有無の情報に基づいて、データトランスポートのバルクOUT転送のトランザクションの実行、データトランスポートのバルクIN転送のトランザクションの実行、或いはデータトランスポート無しのいずれかを選択する回路と、
データトランスポートのバルクOUT転送のトランザクションの実行が選択された場合には、データトランスポートのバルクOUT転送のトランザクションの開始を指示し、データトランスポートのバルクIN転送のトランザクションの実行が選択された場合には、データトランスポートのバルクIN転送のトランザクションの開始を指示する回路と、
開始したデータトランスポートのバルクOUT転送のトランザクション又はバルクIN転送のトランザクションが完了した場合には、コマンドトランスポートのバルクIN転送のトランザクションの開始を指示する回路とを含むことを特徴とするデータ転送制御装置。 - 請求項1乃至9のいずれかにおいて、
前記コマンドトランスポート、データトランスポート、ステータストランスポートは、マスストレージクラスのバルクオンリートランスポート規格のトランスポートであることを特徴とするデータ転送制御装置。 - 請求項1乃至10のいずれかに記載のデータ転送制御装置と、
前記データ転送制御装置により転送されるデータを記憶するストレージと、
を含むことを特徴とする電子機器。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005029225A JP4412191B2 (ja) | 2005-02-04 | 2005-02-04 | データ転送制御装置及び電子機器 |
US11/338,733 US7590765B2 (en) | 2005-02-04 | 2006-01-25 | Bulk data transfer and buffer control device and electronic instrument |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005029225A JP4412191B2 (ja) | 2005-02-04 | 2005-02-04 | データ転送制御装置及び電子機器 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006215891A JP2006215891A (ja) | 2006-08-17 |
JP4412191B2 true JP4412191B2 (ja) | 2010-02-10 |
Family
ID=36781203
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005029225A Expired - Fee Related JP4412191B2 (ja) | 2005-02-04 | 2005-02-04 | データ転送制御装置及び電子機器 |
Country Status (2)
Country | Link |
---|---|
US (1) | US7590765B2 (ja) |
JP (1) | JP4412191B2 (ja) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4391548B2 (ja) | 2007-04-20 | 2009-12-24 | 株式会社メディアロジック | デバイスドライバ |
US20080276012A1 (en) * | 2007-05-04 | 2008-11-06 | Joe Mesa | Driver Loading via a PnP Device |
TW200844841A (en) * | 2007-05-10 | 2008-11-16 | Realtek Semiconductor Corp | Method for expediting data access of universal serial bus stoarage device |
JP2008299747A (ja) * | 2007-06-01 | 2008-12-11 | Panasonic Corp | Usbホストシステム及び転送データの転送方法 |
TW200945052A (en) * | 2008-04-21 | 2009-11-01 | Ralink Technology Corp | Method for increasing USB transmission rate |
TWI456508B (zh) * | 2009-11-20 | 2014-10-11 | Realtek Semiconductor Corp | 一種具有模擬多媒體設備的非多媒體設備以及其模擬方法 |
US8402180B2 (en) * | 2010-03-26 | 2013-03-19 | Atmel Corporation | Autonomous multi-packet transfer for universal serial bus |
JP5867206B2 (ja) * | 2012-03-16 | 2016-02-24 | 富士通株式会社 | 移動制御装置,プログラム及びストレージ装置 |
US20160232112A1 (en) * | 2015-02-06 | 2016-08-11 | Futurewei Technologies, Inc. | Unified Memory Bus and Method to Operate the Unified Memory Bus |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3680763B2 (ja) * | 2001-05-14 | 2005-08-10 | セイコーエプソン株式会社 | データ転送制御装置及び電子機器 |
JP3680762B2 (ja) | 2001-05-14 | 2005-08-10 | セイコーエプソン株式会社 | データ転送制御装置及び電子機器 |
JP3870717B2 (ja) * | 2001-05-14 | 2007-01-24 | セイコーエプソン株式会社 | データ転送制御装置及び電子機器 |
JP2003323391A (ja) | 2003-02-18 | 2003-11-14 | Seiko Epson Corp | データ転送制御装置、電子機器及びデータ転送制御方法 |
-
2005
- 2005-02-04 JP JP2005029225A patent/JP4412191B2/ja not_active Expired - Fee Related
-
2006
- 2006-01-25 US US11/338,733 patent/US7590765B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US7590765B2 (en) | 2009-09-15 |
US20060179202A1 (en) | 2006-08-10 |
JP2006215891A (ja) | 2006-08-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4412191B2 (ja) | データ転送制御装置及び電子機器 | |
EP1389760B1 (en) | Data transfer control system, program and data transfer control method | |
JP3636157B2 (ja) | データ転送制御装置、電子機器及びデータ転送制御方法 | |
JP3632695B2 (ja) | データ転送制御装置、電子機器及びデータ転送制御方法 | |
US7739419B2 (en) | Data transfer control device and electronic instrument | |
KR20020087861A (ko) | 데이터 전송 제어 장치, 전자 기기 및 데이터 전송 제어방법 | |
US7716395B2 (en) | Low latency mechanism for data transfers between a media controller and a communication device | |
EP2214103B1 (en) | I/O controller and descriptor transfer method | |
JP2002344538A (ja) | データ転送制御装置及び電子機器 | |
US7359996B2 (en) | Data transfer control device, electronic equipment, and data transfer control method | |
JP3636158B2 (ja) | データ転送制御装置及び電子機器 | |
JP4293141B2 (ja) | データ転送制御装置及び電子機器 | |
JP4434218B2 (ja) | データ転送制御装置及び電子機器 | |
US7428600B2 (en) | Data transfer control device, electronic equipment, and data transfer control method | |
JP2009048444A (ja) | Usbデバイスの制御方法、コントローラ及び電子機器 | |
JP2007011783A (ja) | データ転送制御装置及び電子機器 | |
JP3829851B2 (ja) | データ転送制御装置及び電子機器 | |
US8473665B2 (en) | Universal serial bus (USB) transaction translator and a universal serial bus (USB) isochronous-in transaction method | |
JP2009026165A (ja) | コントローラ、電子機器及び電子機器の制御方法 | |
JP4127071B2 (ja) | データ転送制御装置、電子機器及びデータ転送制御方法 | |
JP2003316734A (ja) | データ転送制御装置、電子機器及びデータ転送制御方法 | |
JP2009032011A (ja) | データ転送制御装置及び電子機器 | |
JP2008204048A (ja) | データ転送制御装置及び電子機器 | |
TW201321993A (zh) | 用於通用序列匯流排裝置的全雙工控制器與其方法 | |
JP2003323391A (ja) | データ転送制御装置、電子機器及びデータ転送制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20070629 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080625 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080819 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20081020 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20090616 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090916 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20091002 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20091027 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20091109 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121127 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121127 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131127 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |