JP2007179558A - データ処理装置及びエラー訂正方法 - Google Patents
データ処理装置及びエラー訂正方法 Download PDFInfo
- Publication number
- JP2007179558A JP2007179558A JP2007031985A JP2007031985A JP2007179558A JP 2007179558 A JP2007179558 A JP 2007179558A JP 2007031985 A JP2007031985 A JP 2007031985A JP 2007031985 A JP2007031985 A JP 2007031985A JP 2007179558 A JP2007179558 A JP 2007179558A
- Authority
- JP
- Japan
- Prior art keywords
- packet
- data
- endpoint
- transaction
- transfer request
- 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.)
- Granted
Links
Images
Landscapes
- Information Transfer Systems (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
- Communication Control (AREA)
Abstract
【解決手段】USBデバイス12のパケット判別回路では、受信したパケットの種類がPIDデコーダ22によりPIDのデータパターンに基づいて判別された後、その判別結果が正しいか否かがパケット長測定回路23により該受信したパケットのパケット長を測定して判定される。これにより、USBバス13を伝送する信号のデータ値が、該USBバス13内での反射やノイズ等の影響により変移する場合にも、パケットが正しく判別される。
【選択図】図1
Description
図8(a)に示すように、トークンパケットは、8ビットのパケットID(PID)と、7ビットのUSBアドレス(ADDR)と、4ビットのエンドポイント番号(ENDP)と、5ビットのCRC (Cyclic Redundancy Check)(CRC5)とから構成される24ビット(固定長)のパケットである。尚、パケットIDはパケットの判別、USBアドレスはUSBデバイスの判別、エンドポイント番号はUSBデバイスにおけるエンドポイント(転送型)の判別に用いられ、CRC5は、USBアドレスとエンドポイント番号のチェックに用いられる。
上記各パケット(トークンパケット、データパケット、ハンドシェイクパケット)の種類は、それらに含まれるPID(8ビット)のデータパターンによって判別される。
PIDは、PID0〜PID3(4ビット)と、それらのデータパターンと逆パターンを持つ/PID0〜/PID3(4ビット)とから構成され、USBホスト或いはUSBデバイスで受信されるパケットは、このPID(8ビット)のデータパターン(全16通り)によって認識される。
図10(a)は、USBデバイスからUSBホストへデータ転送を行うINトランザクションの処理を示す。
まず、USBホストは、USBデバイスにOUTトークンパケットを送信し、OUTトランザクションの転送の開始をUSBデバイスに通知する。その後、USBホストは、固有のデータを含むデータパケットをUSBデバイスに送信する。USBデバイスは、そのデータパケットを受信すると、それを正常に受信した旨を示すACKハンドシェイクパケットをUSBホストに送信する。USBホストは、このACKハンドシェイクパケットを受け取ることにより、転送が正常に終了したことを確認する。
USBデバイスは、パケットを受信すると(ステップ91)、そのパケットの種類をPIDのデータパターンによって判定する(ステップ92)。このとき、PIDがトークンパケット、データパケット、ハンドシェイクパケットの何れのパケットにも該当しない場合はタイムアウト処理(転送処理の中止)を行う(ステップ93)。
図12は、従来のUSBデバイスにおけるエラー訂正回路を示す概略ブロック図である。
詳述すると、例えばエンドポイント105が送信型(送信機能を持つFIFO)であって、領域105aに記憶されているデータトグルビットの値が[0]の場合、USBデバイス102は、偶数データパケットとしての情報を持つデータパケット(以下、データ0パケット)を送信する。逆に、領域105aに記憶されているデータトグルビットの値が[1]の場合、USBデバイス102は、奇数データパケットとしての情報を持つデータパケット(以下、データ1パケット)を送信する。
[1:パケットの誤判定による転送効率の低下]
USBバス103を流れる信号は、そのバスケーブル(USBバス103)内での反射やノイズ等の影響によりデータ値が変移してしまう場合がある。上記したように、パケットの判別はPID(パケットID)のデータパターンによって行われる。このため、例えばノイズ等の影響により、PID0〜PID3とそれらと逆パターンを持つ/PID0〜/PID3のうち、対応する2つのビット値が互いに反転してしまう場合には、そのパケットが他の異なるパケットと間違って判定されてしまうことがあった。
従来では、USBデバイス102がACKハンドシェイクパケットを受信できず、データトグルビットエラーとなる場合には、USBホスト101から次のトークンパケット(具体的にはINトークンパケット)を受け取るまでそのエラーから復帰できない。つまり、データトグルビットエラーが発生したエンドポイントは、USBホスト101から次の転送要求があるまでデータトグルビットエラーを起こしたままとなる。
以下、本発明を具体化した第一実施形態を図1〜図3に従って説明する。
図1は、パケット判別回路の構成を示す概略ブロック図である。
PIDデコーダ22は、SIE21を介して受け取ったデータ(パケット)の種類をPID(パケットID)のデータパターンによって判別する。そして、PIDデコーダ22は、受信したパケットがトークンパケットの場合には、そのパケットデータを第1のパケットチェック回路24に出力する。また、データパケットの場合には、そのパケットデータを第2のパケットチェック回路25に出力する。また、ハンドシェイクパケットの場合には、そのパケットデータを第3のパケットチェック回路26に出力する。
USBデバイス12がパケットを受信すると(ステップ31)、PIDデコーダ22は、パケットの種類をPIDのデータパターンによって判別する(ステップ32)。このとき、PIDがトークンパケット、データパケット、ハンドシェイクパケットの何れのパケットにも該当しない場合はタイムアウト処理(転送処理の中止)を行う(ステップ33)。
第2のエンドポイント43(図中、Bulk OUT EP )、第3のエンドポイント44(図中、Bulk IN EP)は、それぞれ受信型の転送機能、送信型の転送機能を持つFIFOであって、これらのエンドポイント43,44はハードディスクへのデータの読み書き及びコマンドの転送に用いられる。
(1)USBデバイス12(パケット判別回路)は、受信したパケットの種類をPIDのデータパターンによって判別するPIDデコーダ22と、そのPIDデコーダ22の判別結果が正しいか否かをパケット長を測定して判定するパケット長測定回路23とを備える。この構成では、USBバス13を伝送する信号のデータ値が、ケーブル(USBバス13)内での反射やノイズ等の影響により変移してしまう場合にもパケットを正しく判別することができる。これにより、USBデバイス12におけるパケットの誤判定を低減させることができるため、転送効率の低下を抑止することができる。延いてはシステム全体のパフォーマンスが低下することを抑止できる。
以下、本発明を具体化した第二実施形態を図4〜図7に従って説明する。
図4は、データトグルビットエラー訂正回路(以下、単にエラー訂正回路という)の構成を示す概略ブロック図である。尚、同図は、USBデバイス51におけるエラー訂正回路の構成部分について示したものである。本実施形態の構成(図4)において、第一実施形態の構成(図1)と同様の構成部分には同一符号を付し、それらの詳細な説明を一部省略する。
このトグルビット切り替え回路54には、第1のパケットチェック回路52が受け取ったトークンパケットのエンドポイント番号(ENDP)を記憶するための記憶領域54aが設けられている。即ち、領域54aには、現在実行中のトランザクションで転送に使用されている(転送要求を受け付けている)エンドポイントを表すエンドポイント番号(ENDP)が記憶されている。
今、USBホスト11とUSBデバイス51との間でINトランザクションが実行されており、USBホスト11からUSBデバイス51にACKハンドシェイクパケットが送信される。尚、ここでは、このINトランザクションで転送要求を受け付けているエンドポイントが例えばエンドポイント55であるとする。
尚、ここでは、説明の便宜上、各々のトランザクションで使用するUSBホスト11のエンドポイントを例えばエンドポイントh1,h2とし、USBデバイス51のエンドポイントを例えばエンドポイントd1,d2とする。
第2のエンドポイント83(図中、Bulk OUT EP )、第3のエンドポイント84(図中、Bulk IN EP)は、それぞれ受信型の転送機能、送信型の転送機能を持つFIFOであって、これらのエンドポイント83,84はハードディスクへのデータの読み書き及びコマンドの転送に用いられる。
(1)USBデバイス51(エラー訂正回路)は、第2のパケットチェック回路53がACKハンドシェイクパケットを受信すると、そのトランザクションで転送要求を受け付けているエンドポイント55〜57のデータトグルビットの値を反転させるトグルビット切り替え回路54を備えている。このトグルビット切り替え回路54は、第1のパケットチェック回路52がトークンパケットを受信すると、そのトランザクションで転送要求を受けたエンドポイントと、前回のトランザクションで転送要求を受けたエンドポイントとが同一であるか否かを判断する。そして、異なるエンドポイントへの転送要求である場合には、前回のトランザクションで転送要求を受けたエンドポイントのデータトグルビットを反転してエラーを訂正する。この構成では、データトグルビットエラーが発生する場合にも、そのエラーを早期に検出して訂正することができるため、転送効率の低下を抑止することができる。延いてはシステム全体のパフォーマンスが低下することを抑止できる。
・各実施形態においては、USBデバイスがパケット判別回路とエラー訂正回路とをそれぞれ個別に備える場合について説明したが、両回路をともに備える構成としてもよい。即ち、第一実施形態のUSBデバイス12(パケット判別回路)の機能と第二実施形態のUSBデバイス51(エラー訂正回路)の機能とを有するように構成してもよい。
12,51 データ処理装置としてのUSBデバイス
22 パケット判別手段としてのPIDデコーダ
23 パケット長測定回路
27,28,55〜57 複数のエンドポイント
54 トグルビット切り替え回路
54a 記憶領域
Claims (5)
- USBインタフェースを介してホストコンピュータとデータ通信を行うデータ処理装置であって、
前記ホストコンピュータからの転送要求に応じたトランザクションを処理する複数のエンドポイントと、
前回のトランザクションで転送要求を受けたエンドポイントと現在のトランザクションで転送要求を受けたエンドポイントとが同一であるか否かを判断し、異なるエンドポイントへの転送要求であるとき、前記前回のトランザクションで転送要求を受けたエンドポイントに記憶されているデータトグルビットの値を反転させるトグルビット切り替え回路と、
を備えたことを特徴とするデータ処理装置。 - 前記トグルビット切り替え回路は、前記ホストコンピュータから送信されるトークンパケットに含まれているエンドポイント番号を記憶するための記憶領域を有し、該記憶領域に記憶されているエンドポイント番号と、現在のトランザクションで転送要求を受けたエンドポイントのエンドポイント番号とを比較することを特徴とする請求項1記載のデータ処理装置。
- 前記トグルビット切り替え回路は、前記ホストコンピュータから送信されるハンドシェイクパケットを受け取ると、現在のトランザクションで転送要求を受け付けているエンドポイントのデータトグルビットの値を反転させることを特徴とする請求項1又は2記載のデータ処理装置。
- USBインタフェースを介してホストコンピュータとデータ
通信を行う複数のエンドポイントのうち、前回のトランザクションで転送要求を受けたエンドポイントと現在のトランザクションで転送要求を受けたエンドポイントが同一であるか否かを判断し、異なるエンドポイントへの転送要求である場合には、前記前回のトランザクションで転送要求を受けたエンドポイントに記憶されているデータトグルビットの値を反転させるようにしたことを特徴とするエラー訂正方法。 - 前記前回のトランザクションで転送要求を受けたエンドポイントと前記現在のトランザクションで転送要求を受けたエンドポイントが同一である場合には、前記前回のトランザクションで転送要求を受けたエンドポイントに記憶されているデータトグルビットの値に従ってデータの再送処理を行うことを特徴とする請求項4記載のエラー訂正方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007031985A JP4616292B2 (ja) | 2007-02-13 | 2007-02-13 | データ処理装置及びエラー訂正方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007031985A JP4616292B2 (ja) | 2007-02-13 | 2007-02-13 | データ処理装置及びエラー訂正方法 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002247060A Division JP3955512B2 (ja) | 2002-08-27 | 2002-08-27 | データ処理装置及びパケット判別方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007179558A true JP2007179558A (ja) | 2007-07-12 |
JP4616292B2 JP4616292B2 (ja) | 2011-01-19 |
Family
ID=38304624
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007031985A Expired - Fee Related JP4616292B2 (ja) | 2007-02-13 | 2007-02-13 | データ処理装置及びエラー訂正方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4616292B2 (ja) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002009849A (ja) * | 2000-06-21 | 2002-01-11 | Nec Microsystems Ltd | Usb転送制御方法およびusbコントローラ |
JP2002055937A (ja) * | 2000-08-07 | 2002-02-20 | Matsushita Electric Ind Co Ltd | Usb装置 |
-
2007
- 2007-02-13 JP JP2007031985A patent/JP4616292B2/ja not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002009849A (ja) * | 2000-06-21 | 2002-01-11 | Nec Microsystems Ltd | Usb転送制御方法およびusbコントローラ |
JP2002055937A (ja) * | 2000-08-07 | 2002-02-20 | Matsushita Electric Ind Co Ltd | Usb装置 |
Also Published As
Publication number | Publication date |
---|---|
JP4616292B2 (ja) | 2011-01-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7343545B2 (en) | Method for processing noise interference | |
JP3955512B2 (ja) | データ処理装置及びパケット判別方法 | |
KR101099471B1 (ko) | PCI.Express 통신 시스템, 및 그 통신 방법 | |
JP2007300619A (ja) | 異なるデータ保護方法間で切換えにおいてデータの完全性を維持する方法、装置及びプログラム | |
JP4925659B2 (ja) | アクセス時間が減少したフラッシュメモリ装置 | |
US8281189B2 (en) | SATA primitive prediction and correction | |
JP4391954B2 (ja) | ファイル制御システムおよびファイル制御装置 | |
CN104699576B (zh) | 串行通信测试装置、包括该装置的系统及其方法 | |
US9191030B2 (en) | Memory controller, data storage device, and memory controlling method | |
US20050268199A1 (en) | Method and circuit for reducing SATA transmission data errors by adjusting the period of sending ALIGN primitives | |
US7430619B2 (en) | Communication device, host apparatus, and communication method | |
JPH10133962A (ja) | 外部記録装置を備えたデータ処理装置における転送データ検証方法および装置 | |
JP4616292B2 (ja) | データ処理装置及びエラー訂正方法 | |
EP2075943B1 (en) | Methods and systems for error detection of data transmission | |
JP4455393B2 (ja) | プログラマブルロジックコントローラ | |
JP4563834B2 (ja) | データ通信システム | |
JP4649304B2 (ja) | 通信制御装置およびその制御方法 | |
JP2007201786A (ja) | 伝送誤り検出方式および伝送装置 | |
JP2002055887A (ja) | 伝送制御装置及び伝送制御方法、情報処理装置並びに情報記録媒体 | |
US20070121496A1 (en) | System and method for amplitude optimization in high-speed serial transmissions | |
KR19990034372A (ko) | 데이터 전송시의 에러 검출 장치 | |
JP6163941B2 (ja) | 制御装置及び画像形成装置 | |
JP2005303489A (ja) | 通信装置および通信方法 | |
KR19980075967A (ko) | 데이터 전송 장치 | |
JP2005173956A (ja) | データ転送方法およびデータ転送システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20080730 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100105 |
|
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: 20101019 |
|
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: 20101021 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4616292 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131029 Year of fee payment: 3 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |