TWI402684B - 通用串列匯流排裝置以及其校正方法 - Google Patents

通用串列匯流排裝置以及其校正方法 Download PDF

Info

Publication number
TWI402684B
TWI402684B TW098135736A TW98135736A TWI402684B TW I402684 B TWI402684 B TW I402684B TW 098135736 A TW098135736 A TW 098135736A TW 98135736 A TW98135736 A TW 98135736A TW I402684 B TWI402684 B TW I402684B
Authority
TW
Taiwan
Prior art keywords
symbol
type
data
symbols
link partner
Prior art date
Application number
TW098135736A
Other languages
English (en)
Other versions
TW201115354A (en
Inventor
Yu Lung Lin
Original Assignee
Via Tech Inc
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 Via Tech Inc filed Critical Via Tech Inc
Priority to TW098135736A priority Critical patent/TWI402684B/zh
Priority to US12/652,174 priority patent/US8370716B2/en
Publication of TW201115354A publication Critical patent/TW201115354A/zh
Application granted granted Critical
Publication of TWI402684B publication Critical patent/TWI402684B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0745Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in an input/output transactions management context

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Systems (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Description

通用串列匯流排裝置以及其校正方法
本發明係有關於一種通用串列匯流排裝置,特別是有關於一種可校正跨越符元之通用串列匯流排裝置。
通用串列匯流排(Universal Serial Bus,USB)為連接外部設備的一種串列匯流排標準,其可支持熱插拔(Hot plug)和即插即用(Plug and Play)等功能。
現今,USB 2.0規格可提供低速、全速以及高速傳輸,其可分別支援最大1.5Mbps、12Mbps及480Mbps的資料量。然而,隨著複雜功能的增加,電子產品需要更高速的USB傳輸速率,以便能更快速地從外部設備存取資料並執行相關之操作程序。
因此,USB實施論壇(USB Implementers Forum)制訂了USB 3.0的規格,其可同時提供超高速(SuperSpeed)以及非超高速(即USB 2.0)的資訊交換,其中超高速傳輸可支援最大5G bps的資料量。
本發明提供一種通用串列匯流排裝置,具有一第一工作時脈,用以接收來自一鏈接伙伴之資料。上述通用串列匯流排裝置包括:一電子實體單元,經由一纜線耦接於上述鏈接伙伴,用以接收來自於上述鏈接伙伴之一串列位元資料,並產生對應於上述串列位元資料之一符元串,其中上述符元串包括複數符元;一校正單元,耦接於上述電子實體單元,用以接收上述符元串、判斷所接收之上述符元串中的每一上述符元是否為一第一類型符元以及計數接收之上述第一類型符元的數量,其中當計數的數量為奇數且下一個所接收之上述符元為一第二類型符元時,將上述下一個所接收之上述符元替換為上述第一類型符元,其中上述第一類型符元係為一跨越符元。
再者,本發明提供一種校正方法,適用於具有一第一工作時脈之一通用串列匯流排裝置,其中上述校正方法包括接收來自一鏈接伙伴之一串列位元資料,並產生對應於上述串列位元資料之一符元串,其中上述符元串包括複數符元。接收上述符元串並判斷上述符元串中的每一上述符元是否為一第一類型符元以及計數接收之上述第一類型符元的數量,其中上述第一類型符元係為一跨越符元。當計數的數量為奇數且下一個所接收之上述符元為一第二類型符元時,將上述下一個所接收之上述符元替換為上述第一類型符元。
為讓本發明之上述和其他目的、特徵、和優點能更明顯易懂,下文特舉出較佳實施例,並配合所附圖式,作詳細說明如下:
實施例:
第1圖係顯示兩通用串列匯流排裝置10、20之間超高速(SuperSpeed)資料傳遞之示意圖。在第1圖中,通用串列匯流排(USB)裝置10經由纜線30傳送資料給通用串列匯流排20,其中通用串列匯流排裝置10與通用串列匯流排裝置20為鏈接伙伴(link partner)。鏈接伙伴10包括處理單元11、擾亂器12、編碼器13以及電子實體單元14,其中擾亂器12包括線性回授移位暫存器(linear feedback shifter register)15。首先,處理單元11提供要被傳送之原始資料TXData至擾亂器12,其中資料TXData具有8位元長度。接著,擾亂器12會根據線性回授移位暫存器15所提供之種子(seed)對資料TXData進行擾亂以產生擾亂資料SSCR 。接著,編碼器13會將擾亂資料SSCR 編碼成資料SENC 並傳送至電子實體單元14。編碼器13係使用8位元/10位元(8b/10b)編碼技術對資料SSCR 進行編碼,因此資料SENC 為具有10位元長度之符元(symbol)。接著,電子實體單元14將資料SENC 由並列轉換為串列(parallel to serial),並經由纜線30傳送至鏈接伙伴20。電子實體單元14為一種輸入輸出界面(Input/Output Interface)單元,用以接收以及傳送符合USB規格之差動對信號。
參考第1圖,鏈接伙伴20包括處理單元21、解擾亂器22、解碼器23、時脈差補償單元26以及電子實體單元24,其中解擾亂器22包括線性回授移位暫存器25。當鏈接伙伴20接收到來自鏈接伙伴10的串列位元資料(或位元資料流)時,電子實體單元24會將連續接收之位元資料由串列轉換為並列,以形成具有複數資料SIN 之符元串,其中每一資料SIN 為具有10位元長度之符元。接著,時脈差補償單元26會根據鏈接伙伴20之第一工作時脈與鏈接伙伴10之第二工作時脈之間的頻率差來決定是否需執行一補償程序,使得鏈接伙伴10的資料傳送速度以及鏈接伙伴20的資料接收速度能同步。當兩工作時脈之間的頻率差很小時,時脈差補償單元26會直接將資料SIN 提供給解碼器23而不執行補償程序,即資料SCOMP 會相同於資料SIN 。因此,當資料傳遞過程中無失真發生時,鏈接伙伴20所接收到的資料SCOMP 會相同於鏈接伙伴10內的資料SENC 。接著,解碼器23會使用8位元/10位元解碼技術將資料SCOMP 解碼為資料SDEC 。同樣地,當資料傳遞正確時,鏈接伙伴20所接收到的資料SDEC 會相同於鏈接伙伴10內的資料SSCR 。接著,解攪亂器22會根據線性回授移位暫存器25所提供之種子對資料SDEC 進行解擾亂以產生資料RXData至處理單元21,以供處理單元21進行後續的應用。
在第1圖中,為了能正確地還原出鏈接伙伴10所要傳送的資料TXData,鏈接伙伴10之擾亂器12以及鏈接伙伴20之解擾亂器22所使用的種子必須同步。線性回授移位暫存器15以及線性回授移位暫存器25會同時以一既定方式(例如根據一特定查表(lookup table))來提供種子。因此,當同時對線性回授移位暫存器15以及線性回授移位暫存器25設定初始值之後,則線性回授移位暫存器15以及線性回授移位暫存器25的種子會同步變化,即線性回授移位暫存器15以及線性回授移位暫存器25具有相同的種子。此外,在USB 3.0的規格中,可使用校準符元(COM)來對擾亂器/解擾亂器之線性回授移位暫存器設定初始值,以初始化各鏈接伙伴內線性回授移位暫存器的種子。因此,在傳送資料之前,可使用校準符元來同步鏈接伙伴10之線性回授移位暫存器15以及鏈接伙伴20之線性回授移位暫存器25。再者,USB 3.0的規格亦揭露可使用跨越符元(SKP)來使線性回授移位暫存器停止更新種子,使得種子能保持不變。跨越符元的格式為“0011111001”以及“1100000110”。一般而言,除了校準符元與跨越符元之外,其他類型的符元都會使擾亂器/解擾亂器之線性回授移位暫存器對種子進行更新。
第2圖係顯示符合USB 3.0規格之一種資料封包200。資料封包200包括資料封包標頭210以及資料封包負載(payload)220,其中資料封包標頭210以及資料封包負載220係由複數符元所組成。在資料封包標頭210中,標頭封包成框(framing)230包括符元232、234、236與238,其中符元232為資料封包200中最先傳送之符元。此外,標頭封包成框230允許一個符元的容錯率(error tolerance)。因此,在資料傳輸過程中,當標頭封包成框230中的一符元發生錯誤而其他三符元為正確時,接收端的鏈接伙伴必須將資料封包200視為有效的資料。此外,傳送端之鏈接伙伴會視狀況在兩資料封包之間傳送跨越有序組(SKP Ordered Set)以補償接收端之鏈接伙伴以及傳送端之鏈接伙伴之間的時脈(clock)頻率差。在USB 3.0的規格中,一跨越有序組包括兩跨越符元。例如,第一跨越符元“0011111001”與第二跨越符元“1100000110”,或是第一跨越符元“1100000110”與第二跨越符元“0011111001”。此外,依USB3.0規格,傳送端之鏈接伙伴平均每354個符元需傳送一跨越有序組至接收端的鏈接伙伴。然而,傳送端之鏈接伙伴不會在任一資料封包中插入跨越有序組,於是傳送端之鏈接伙伴可累積跨越有序組的數量直到資料封包傳送完之後再傳送給接收端之鏈接伙伴。再者,當接收到跨越有序組時,接收端的鏈接伙伴可增加或減少跨越有序組的數量以解決兩鏈接伙伴之間時脈不同步的問題。
第3A圖係顯示一資料表300,其表示第1圖中鏈接伙伴10內所要傳送的資料。同時參考第1圖與第3A圖,鏈接伙伴10會依序傳送資料封包P1、跨越有序組PS以及資料封包P2至鏈接伙伴20。在資料表300中,第1列係表示處理單元11所提供的資料TXData。第2列係表示線性回授移位暫存器15所提供之種子lfsr_1。第3列係表示擾亂器12所提供的擾亂資料SSCR ,其係根據種子lfsr_1以及資料TXData而產生。第4列係表示編碼器13所提供的編碼資料SENC 。資料EncA、EncB為資料封包P1的最後兩符元,而資料EncC、EncD、EncE、EncF為資料封包P2的前四個符元,即標頭封包成框。以資料DataA為例,擾亂器12根據資料DataA以及種子lfsrA提供擾亂資料ScrA。接著,編碼器13會將擾亂資料ScrA編碼為資料EncA。值得注意的是,擾亂器12不會對跨越資料SKP進行擾亂。此外,若欲攪亂的資料為非跨越資料,則在擾亂器12完成攪亂之後,線性回授移位暫存器15會先更新種子lfsr_1以供下一個欲攪亂的資料使用。舉例來說,在完成擾亂資料DataB之後,線性回授移位暫存器15會先將種子更新為lfsrC。因此,當擾亂器12接收到第一跨越資料SKP時,擾亂器12會直接提供跨越資料SKP(未攪亂),而不會使用種子lfsrC對跨越資料SKP進行擾亂。此外,由於接收到第一跨越資料SKP,因此線性回授移位暫存器15不會對種子進行更新,則種子會維持為lfsrC。接著,編碼器13會將未擾亂的第一跨越資料SKP編碼為第一跨越符元EncSKP。接著,當擾亂器12接收到第二跨越資料SKP時,擾亂器12會直接提供跨越資料SKP至編碼器13,且種子亦維持為lfsrC。接著,編碼器13會將未擾亂的第二跨越資料SKP編碼為第二跨越符元EncSKP。
第3B圖係顯示一資料表350,其表示第1圖中鏈接伙伴20內所接收的資料。資料表350係對應於根據第3A圖中資料表300所傳送的資料。同時參考第1圖、第3A圖與第3B圖,鏈接伙伴20會依序接收來自鏈接伙伴10的資料封包P1、跨越有序組PS以及資料封包P2。在資料表350中,第1列係表示電子實體單元24所接收到的輸入資料SIN 。此外,在此實施例中,由於不需要執行補償程序,輸入資料SIN 會直接由時脈差補償單元26傳遞至解碼器23,即資料SCOMP 相同於輸入資料SIN 。第2列係表示解碼器23所提供之解碼資料SDEC 。第3列係表示線性回授移位暫存器25所提供之種子lfsr_2。第4列係表示解擾亂器22根據種子lfsr_2以及解碼資料SDEC 所提供的解擾亂資料RXData。當資料傳遞正確時,鏈接伙伴20之電子實體單元24所接收到的輸入資料SIN 會相同於鏈接伙伴10之編碼器13所提供的編碼資料SENC 。因此,第3B圖中資料表350的第1列會相同於第3A圖中資料表300的第4列。以輸入資料EncA為例,解碼器23會將資料EncA解碼為解碼資料ScrA。如先前所描述,當資料傳遞正確時,第3B圖中資料表350的第2列會相同於第3A圖中資料表300的第3列。接著,解擾亂器22會根據解碼資料ScrA以及種子lfsrA而得到解擾亂資料DataA。因此,鏈接伙伴20之處理單元21可正確接收鏈接伙伴10所要傳送的資料TXData。值得注意的是,第3B圖中資料表350的種子lfsr_2需同步於第3A圖中資料表300的種子lfsr_1,才能正確還原出鏈接伙伴10所要傳送的資料TXData。
第4A圖與第4B圖係分別顯示資料表400以及資料表450,其中資料表400係表示第3B圖中第一跨越符元有誤的情況,而資料表450係表示第3B圖中第二跨越符元有誤的情況。同時參考第1圖以及第4A圖,當鏈接伙伴20之電子實體單元24所接收到的第一跨越符元EncSKP有失真情況發生時(以資料EncERR表示),解碼器23無法識別出資料EncERR為跨越符元。因此,解碼器23會將資料EncERR解碼為資料ERR。接著,解擾亂器22會根據種子lfsrC對解碼資料ERR進行解擾亂,以得到解擾亂DataK。在完成解擾亂資料ERR後,線性回授移位暫存器25會將種子更新為lfsrD。接著,當鏈接伙伴20接收到第二跨越符元EncSKP時,則解碼器23會將資料EncSKP解碼為跨越資料SKP,而解擾亂器22會直接提供跨越資料SKP至處理單元21,以及線性回授移位暫存器25不會對種子進行更新,則種子會維持為lfsfD。明顯地,在處理來自鏈接伙伴10的第二跨越符元時,第4A圖中資料表400的種子lfsr_2已經不同步於第3A圖中資料表300的種子lfsr_1,因此鏈接伙伴20無法正確解擾亂還原出鏈接伙伴10所要傳送的後續資料。例如,根據種子lfsrD、lfsrE、lfsrF和lfsrG,解擾亂器22分別得到資料DataL、DataM、DataN和DataO,因此鏈接伙伴20無法還原出資料DataC、DataD、DataE與DataF。當鏈接伙伴20一直無法接收到正確的資料時,鏈接伙伴10以及鏈接伙伴20需要額外的時間來重新建立連線並將種子進行同步設定。相似地,參考第4B圖,當鏈接伙伴20接收到來自鏈接伙伴10的第二跨越符元EncSKP有失真情況發生時(以資料EncERR表示),鏈接伙伴10以及鏈接伙伴20內的種子將不再同步,因此鏈接伙伴20亦無法正確解擾亂還原出鏈接伙伴10所要傳送的後續資料。
第5圖係顯示根據本發明一實施例所述之通用串列匯流排裝置40。在第5圖中,鏈接伙伴10經由纜線30傳送資料給通用串列匯流排40,以及鏈接伙伴10係根據第二工作時脈提供資料至鏈接伙伴40,而鏈接伙伴40根據第一工作時脈處理來自鏈接伙伴10的資料。相較於第1圖中的鏈接伙伴20,鏈接伙伴40更包括耦接於電子實體單元24以及時脈差補償單元26之間的校正單元41。校正單元41依序接收來自電子實體單元24的輸入資料SIN ,並根據所接收之輸入資料SIN 提供校正資料SCORR 至時脈差補償單元26。在第5圖中,校正單元41包括計數器42。校正單元41判斷所接收之輸入資料SIN 是否為跨越符元,並使用計數器42來計數接收到之跨越符元的數量。舉例來說,當電子實體單元24正確接收到來自鏈接伙伴10之一跨越有序組時,計數器42會計數到兩個跨越符元。然而,當纜線30有干擾存在時,跨越有序組可能在傳輸過程中被干擾,使得計數器42可能只會計數到一個跨越符元,如第4A圖以及第4B圖中的資料EncERR所示。因此,當計數器42計數到奇數個跨越符元且下一個所接收之輸入資料SIN 為非跨越符元時,校正單元41會執行一校正程序,將該非跨越符元替換成跨越符元並輸出至時脈差補償單元26。因此,時脈差補償單元26會接收到偶數個跨越符元。
第6A圖係顯示根據本發明一實施例所述之一資料表600,其表示第5圖中鏈接伙伴40內所接收的資料。資料表600係對應於根據第3A圖中資料表300所傳送的資料。同時參考第5圖與第6A圖,鏈接伙伴40會依序接收來自鏈接伙伴10的資料封包P1、跨越有序組PS以及資料封包P2。在資料表600中,第1列係表示電子實體單元24所接收到的輸入資料SIN 。第2列係表示校正單元41根據來自電子實體單元24之資料SIN 所提供的校正資料SCORR 。在此實施例中,鏈接伙伴10之第二工作時脈以及鏈接伙伴40之第一工作時脈之間的頻率差很小,因此時脈差補償單元26不需要執行補償程序。因此,時脈差補償單元26會直接提供校正資料SCORR 至解碼器23,即資料SCOMP 相同於校正資料SCORR 。第3列係表示解碼器23根據資料SCOMP 所提供之解碼資料SDEC 。第4列係表示線性回授移位暫存器25所提供之種子lfsr_2。第5列係表示解擾亂器22根據種子lfsr_2以及解碼資料SDEC 所提供的解擾亂資料RXData。以輸入資料EncA為例,當校正單元41判斷輸入資料EncA為非跨越符元時,校正單元41會直接將資料EncA傳遞至時脈差補償單元26,而不執行校正程序。接著,解碼器23以及解擾亂器22會將資料EncA正確還原為資料DataA。在資料表600中,電子實體單元24所接收到的跨越有序組PS中第一個跨越符元已失真(以資料EncERR表示),因此校正單元41無法判斷出資料EncERR為跨越符元。於是,校正單元41會直接將資料EncERR傳遞至時脈差補償單元26以進行後續處理。接著,解擾亂器22會將資料EncERR解擾亂為資料DataK。接著,當電子實體單元24接收到的跨越有序組PS中第二個跨越符元EncSKP時,校正單元41會判斷出資料EncSKP為跨越符元,並啟動計數器42來計數後續連續接收之跨越符元的數量。接著,當電子實體單元24接收到資料EncC時,校正單元41會判斷出資料EncSKP之後的下一資料EncC為非跨越符元,並根據計數器42所計數的值來判斷是否執行校正程序。在此實施例中,計數器42所計數的值為1(奇數)。因此,校正單元41會將資料EncC替換成跨越符元EncSKP 610並提供至時脈差補償單元26以進行後續處理,其中線性回授移位暫存器25不會對種子進行更新,則種子會維持為lfsrD。此外,在校正單元41將資料EncC替換成跨越符元EncSKP之後,亦會將計數器42進行重置,以重新計數後續接收之跨越符元的數量。接著,當電子實體單元24接收到資料EncD時,校正單元41會判斷出資料EncD為非跨越符元,則校正單元41會直接將資料EncD傳遞至時脈差補償單元26以進行後續處理。於是,解碼器23會將資料EncD解碼為資料ScrD,而解擾亂器22會根據種子lfsfD將資料ScrD正確還原為資料DataD。因此,藉由校正單元41執行校正程序,可同步線性回授移位暫存器15以及線性回授移位暫存器25所提供的種子。此外,由於標頭封包成框可允許一個符元的容錯率,處理單元21可根據資料DataD、DataE、DataF而偵測出資料封包P2的標頭封包成框,並將資料封包P2視為有效的資料。因此,在校正單元41執行校正程序後,處理單元21可正確接收資料封包P2。
第6B圖係顯示根據本發明另一實施例所述之一資料表650,其表示第5圖中鏈接伙伴40內所接收的資料。資料表650係對應於根據第3A圖中資料表300所傳送的資料。相較於第6A圖中的資料表600,資料表650係描述當電子實體單元24所接收到的跨越有序組PS中第二跨越符元發生失真時,校正單元41執行校正程序的結果。校正單元41會將資料EncERR替換成跨越符元EncSKP 660並提供至時脈差補償單元26以進行後續處理。接著,後續的資料DataC、DataD、DataE、DataF可正確被還原。因此,藉由校正單元41執行校正程序來校正失真的跨越符元,可同步線性回授移位暫存器15以及線性回授移位暫存器25所提供的種子,使得處理單元21可正確接收鏈接伙伴10所要傳送的資料。
當鏈接伙伴10在資料封包P1以及資料封包P2之間傳送複數跨越有序組PS時,校正單元41可使用計數器42來計數連續接收之跨越符元的數量。舉例來說,當校正單元41判斷出目前接收之跨越資料EncSKP之後的下一筆資料為非跨越符元且計數器42連續計數跨越符元的數量為奇數(例如3、5、7等)時,校正單元41會將該下一筆資料替換成跨越符元EncSKP以提供至時脈差補償單元26並重置計數器42。因此,當複數跨越有序組PS中有跨越符元發生失真時,校正單元41亦可藉由執行校正程序來輸出偶數個跨越符元至時脈差補償單元26。
第7A係顯示根據本發明另一實施例所述之一資料表700,其表示第5圖中鏈接伙伴40內所接收的資料。資料表700係對應於根據第3A圖中資料表300所傳送的資料,以及資料表700係描述當電子實體單元24所接收到的跨越有序組PS中第一跨越符元發生失真且兩鏈接伙伴10與40之工作時脈有較大頻率差存在時,校正單元41執行校正程序以及時脈差補償單元26執行補償程序的結果。在此實施例中,鏈接伙伴40之第一工作時脈的頻率大於鏈接伙伴10之第二工作時脈的頻率,於是造成兩鏈接伙伴10與40之間的資料傳送速度以及資料接收速度不同步。因此,時脈差補償單元26會藉由在第一資料封包以及第二資料封包之間增加跨越有序組的數量來執行補償程序,以補償兩工作時脈之間的頻率差。同時參考第5圖與第7A圖,在資料表700中,第1列係表示電子實體單元24所接收到的輸入資料SIN 。第2列係表示校正單元41根據來自電子實體單元24之輸入資料SIN 所提供的校正資料SCORR 。第3列係表示時脈差補償單元26所提供之補償資料SCOMP 。第4列係表示解碼器23所提供之解碼資料SDEC 。第5列係表示線性回授移位暫存器25所提供之種子lfsr_2。第6列係表示解擾亂器22根據種子lfsr_2以及解碼資料SDEC 所提供的解擾亂資料RXData。如先前所描述,當校正單元41判斷出跨越資料EncSKP之後的下一筆資料為非跨越符元且計數器42所計數的值為奇數時,校正單元41會將下一筆資料替換成跨越符元EncSKP 610並提供至時脈差補償單元26。接著,在接收到由校正單元41所提供的跨越有序組710時,時脈差補償單元26會在跨越有序組710之後提供一跨越有序組720至解碼器23,然後再將資料EncD、資料EncE與資料EncF傳送至解碼器23以進行後續處理。在此實施例中,處理單元21可根據資料DataD、DataE、DataF而偵測出資料封包P2的標頭封包成框,並將資料封包P2視為有效的資料。因此,在校正單元41執行校正程序以及時脈差補償單元26執行補償程序後,處理單元21可正確接收資料封包P2。
第7B係顯示根據本發明另一實施例所述之一資料表750,其表示第5圖中鏈接伙伴40內所接收的資料。資料表750係對應於根據第3A圖中資料表300所傳送的資料,以及資料表750係描述當電子實體單元24所接收到的跨越有序組PS中第二跨越符元發生失真且兩鏈接伙伴10與40之工作時脈有較大頻率差存在時,校正單元41執行校正程序以及時脈差補償單元26執行補償程序的結果。在此實施例中,鏈接伙伴40之第一工作時脈的頻率大於鏈接伙伴10之第二工作時脈的頻率。相似地,當時脈差補償單元26接收到由校正單元41所提供的跨越有序組760時,時脈差補償單元26會在跨越有序組760之後提供一跨越有序組770至解碼器23,然後再將資料EncC、資料EncD、資料EncE與資料EncF傳送至解碼器23以進行後續處理。在此實施例中,處理單元21可接收到完整的資料封包P2的標頭封包成框(資料DataC、DataD、DataE、DataF)。因此,在校正單元41執行校正程序以及時脈差補償單元26執行補償程序後,處理單元21可正確接收資料封包P2。
第8A係顯示根據本發明另一實施例所述之一資料表800,其表示第5圖中鏈接伙伴40內所接收的資料。資料表800係對應於根據第3A圖中資料表300所傳送的資料,以及資料表800係描述當電子實體單元24所接收到的跨越有序組PS中第一跨越符元發生失真且兩鏈接伙伴10與40之工作時脈有較大頻率差存在時,校正單元41執行校正程序以及時脈差補償單元26執行補償程序的結果。在此實施例中,鏈接伙伴40之第一工作時脈的頻率小於鏈接伙伴10之第二工作時脈的頻率。因此,時脈差補償單元26會藉由在第一資料封包以及第二資料封包之間減少跨越有序組的數量,以補償兩工作時脈之間的頻率差。如先前所描述,當校正單元41判斷出跨越資料EncSKP之後的下一筆資料為非跨越符元且計數器42所計數的值為奇數時,校正單元41會將下一筆資料替換成跨越符元EncSKP並提供至時脈差補償單元26。接著,在接收到由校正單元41所提供的跨越有序組810時,時脈差補償單元26不會提供跨越有序組810至解碼器23。接著,當時脈差補償單元26接收到資料EncD時,才會開始輸出資料EncD至解碼器23以進行後續處理。在此實施例中,處理單元21可根據資料DataD、DataE、DataF而偵測出資料封包P2的標頭封包成框,並將資料封包P2視為有效的資料。因此,在校正單元41執行校正程序以及時脈差補償單元26執行補償程序後,處理單元21可正確接收資料封包P2。
第8B係顯示根據本發明另一實施例所述之一資料表850,其表示第5圖中鏈接伙伴40內所接收的資料。資料表850係對應於根據第3A圖中資料表300所傳送的資料,以及資料表850係描述當電子實體單元24所接收到的跨越有序組PS中第二跨越符元發生失真且兩鏈接伙伴10與40之工作時脈有較大頻率差存在時,校正單元41執行校正程序以及時脈差補償單元26執行補償程序的結果。在此實施例中,鏈接伙伴40之第一工作時脈的頻率小於鏈接伙伴10之第二工作時脈的頻率。相似地,當時脈差補償單元26接收到由校正單元41所提供的跨越有序組860時,時脈差補償單元26不會提供跨越有序組860至解碼器23。接著,當時脈差補償單元26接收到資料EncC時,才會開始輸出資料EncC至解碼器23以進行後續處理。在此實施例中,處理單元21可接收到完整的資料封包P2的標頭封包成框(資料DataC、DataD、DataE、DataF)。因此,在校正單元41執行校正程序以及時脈差補償單元26執行補償程序後,處理單元21可正確接收資料封包P2。
第9圖係顯示根據本發明一實施例所述之一種校正方法,其適用於第5圖中具有第一工作時脈之通用串列匯流排裝置40。同時參考第5圖以及第9圖,首先,電子實體單元24接收來自鏈接伙伴10之一串列位元資料,並產生對應於串列位元資料之一符元串(步驟S902),其中鏈接伙伴10具有第二工作時脈,以及符元串包括並列之複數符元。接著,校正單元41依序接收來自電子實體單元24之符元,並判斷所接收之符元是否為跨越符元且計數接收之跨越符元的數量(步驟S904)。接著,當校正單元41判斷出跨越符元之後的下一符元為非跨越符元且計數器42所計數的值為奇數(例如1、3、5、7等)時,校正單元41會將該下一非跨越符元替換成跨越符元,並將計數器42重置為0,以重新計數後續接收之跨越符元的數量(步驟S906)。接著,當第一工作時脈以及第二工作時脈之間的頻率差過大時,時脈差補償單元26會藉由調整跨越符元的數量以對來自校正單元41之符元執行補償程序(步驟S908)。接著,解碼器23對時脈差補償單元26所提供之符元進行解碼(步驟S910)。接著,解擾亂器22會根據線性回授移位暫存器25所提供之種子對解碼資料進行解擾亂並提供解擾亂資料至處理單元21以進行後續處理,其中線性回授移位暫存器25會根據解碼資料而決定是否更新種子(步驟S912)。
雖然本發明已以較佳實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明之精神和範圍內,當可作些許之更動與潤飾,因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。
10、20、40...鏈接伙伴
11、21...處理單元
12...擾亂器
13...編碼器
14、24...電子實體單元
15、25...線性回授移位暫存器
22...解擾亂器
23...解碼器
26...時脈差補償單元
30...纜線
41...校正單元
200...資料封包
210...資料封包標頭
220...資料封包負載
230...標頭封包成框
232、234、236、238...符元
610、660...跨越符元
710、720、760、770、810、860...跨越有序組
以及
SCOMP 、SCORR 、SDEC 、SENC 、SIN 、SSCR 、TXData、RXData...資料
第1圖係顯示兩通用串列匯流排裝置之間超高速資料傳遞之示意圖;
第2圖係顯示符合USB 3.0規格之一種資料封包;
第3A圖係顯示一資料表,其表示第1圖中鏈接伙伴10內所要傳送的資料;
第3B圖係顯示一資料表,其表示第1圖中鏈接伙伴20內所接收的資料;
第4A圖係分別顯示一資料表,其表示第3B圖中第一跨越符元有誤的情況;
第4B圖係分別顯示一資料表,其表示第3B圖中第二跨越符元有誤的情況;
第5圖係顯示根據本發明一實施例所述之通用串列匯流排裝置;
第6A圖係顯示根據本發明一實施例所述之一資料表,其表示第5圖中鏈接伙伴40內所接收的資料;
第6B-8B圖係顯示根據本發明另一實施例所述之一資料表,其表示第5圖中鏈接伙伴40內所接收的資料;以及
第9圖係顯示根據本發明一實施例所述之一種校正方法。
10、40...鏈接伙伴
11、21...處理單元
12...擾亂器
13...編碼器
14、24...電子實體單元
15、25...線性回授移位暫存器
22...解擾亂器
23...解碼器
26...時脈差補償單元
30...纜線
41...校正單元
SCOMP 、SCORR 、SDEC 、SENC 、SIN 、SSCR 、TXData、RXData...資料

Claims (19)

  1. 一種通用串列匯流排裝置,具有一第一工作時脈,用以接收來自一鏈接伙伴之資料,包括:一電子實體單元,經由一纜線耦接於上述鏈接伙伴,用以接收來自於上述鏈接伙伴之一串列位元資料,並產生對應於上述串列位元資料之一符元串,其中上述符元串包括複數符元;以及一校正單元,耦接於上述電子實體單元,用以接收上述符元串、判斷所接收之上述符元串中的每一上述符元是否為一第一類型符元以及計數接收之上述第一類型符元的數量,其中當計數的數量為奇數且下一個所接收之上述符元為一第二類型符元時,將上述下一個所接收之上述符元替換為上述第一類型符元,其中上述第一類型符元係為一跨越符元。
  2. 如申請專利範圍第1項所述之通用串列匯流排裝置,更包括:一解碼器,用以將來自上述校正單元之上述符元解碼成一解碼資料;以及一解擾亂器,用以根據一種子對上述解碼資料進行解擾亂,上述解擾亂器包括:一線性回授移位暫存器,用以提供上述種子,其中當上述解碼資料係對應於上述第二類型符元時,上述線性回授移位暫存器根據一特定查表來更新上述種子。
  3. 如申請專利範圍第2項所述之通用串列匯流排裝置,其中當上述解碼資料係對應於上述第一類型符元時,上述線性回授移位暫存器停止更新上述種子。
  4. 如申請專利範圍第2項所述之通用串列匯流排裝置,其中當上述解碼資料係對應於上述第二類型符元且上述第二類型符元為一校準符元時,上述線性回授移位暫存器初始化上述種子。
  5. 如申請專利範圍第4項所述之通用串列匯流排裝置,其中上述鏈接伙伴包括一擾亂器,以及上述鏈接伙伴傳送上述校準符元以同步上述擾亂器之一線性回授移位暫存器以及上述解擾亂器之上述線性回授移位暫存器。
  6. 如申請專利範圍第1項所述之通用串列匯流排裝置,其中上述鏈接伙伴在一第一封包以及一第二封包之間傳送偶數個上述第一類型符元至上述電子實體單元。
  7. 如申請專利範圍第2項所述之通用串列匯流排裝置,更包括:一時脈差補償單元,耦接於上述校正單元以及上述解碼器之間,用以調整上述第一類型符元的數量,以補償上述第一工作時脈以及上述鏈接伙伴之一第二工作時脈之間的一頻率差。
  8. 如申請專利範圍第7項所述之通用串列匯流排裝置,其中當上述第一工作時脈的頻率大於上述第二工作時脈的頻率時,上述時脈差補償單元藉由增加上述第一類型符元的數量來補償上述頻率差,以及當上述第一工作時脈的頻率小於上述第二工作時脈的頻率時,上述時脈差補償單元藉由減少上述第一類型符元的數量來補償上述頻率差。
  9. 如申請專利範圍第1項所述之通用串列匯流排裝置,其中上述校正單元包括一計數器,用以計數連續接收之上述第一類型符元的數量。
  10. 如申請專利範圍第9項所述之通用串列匯流排裝置,其中當上述下一個所接收之上述符元被替換為上述第一類型符元時,上述校正單元將上述計數器進行重置。
  11. 一種校正方法,適用於具有一第一工作時脈之一通用串列匯流排裝置,上述校正方法包括:接收來自一鏈接伙伴之一串列位元資料,並產生對應於上述串列位元資料之一符元串,其中上述符元串包括複數符元;接收上述符元串並判斷上述符元串中的每一上述符元是否為一第一類型符元以及計數接收之上述第一類型符元的數量,其中上述第一類型符元係為一跨越符元;以及當計數的數量為奇數且下一個所接收之上述符元為一第二類型符元時,將上述下一個所接收之上述符元替換為上述第一類型符元。
  12. 如申請專利範圍第11項所述之校正方法,更包括:將上述符元解碼成一解碼資料;以及根據一種子對上述解碼資料進行解擾亂。
  13. 如申請專利範圍第12項所述之校正方法,其中上述根據上述種子對上述解碼資料進行解擾亂之步驟,更包括:當上述解碼資料係對應於上述第二類型符元時,根據一特定查表來更新上述種子;以及當上述解碼資料係對應於上述第一類型符元時,停止更新上述種子。
  14. 如申請專利範圍第13項所述之校正方法,其中上述根據上述種子對上述解碼資料進行解擾亂之步驟,更包括:當上述解碼資料係對應於上述第二類型符元且上述第二類型符元為一校準符元時,初始化上述種子。
  15. 如申請專利範圍第11項所述之校正方法,其中上述鏈接伙伴在一第一封包以及一第二封包之間傳送偶數個上述第一類型符元至上述通用串列匯流排裝置。
  16. 如申請專利範圍第12項所述之校正方法,更包括:調整上述第一類型符元的數量以補償上述第一工作時脈以及上述鏈接伙伴之一第二工作時脈之間的一頻率差。
  17. 如申請專利範圍第16項所述之校正方法,其中上述調整上述第一類型符元的數量之步驟,更包括:當上述第一工作時脈的頻率大於上述第二工作時脈的頻率時,增加上述第一類型符元的數量來補償上述頻率差;以及當上述第一工作時脈的頻率小於上述第二工作時脈的頻率時,減少上述第一類型符元的數量來補償上述頻率差。
  18. 如申請專利範圍第11項所述之校正方法,其中上述計數接收之上述第一類型符元之步驟更包括:計數連續接收之上述第一類型符元的數量。
  19. 如申請專利範圍第11項所述之校正方法,更包括:當上述下一個所接收之上述符元被替換為上述第一類型符元時,重新計數接收之上述第一類型符元的數量。
TW098135736A 2009-10-22 2009-10-22 通用串列匯流排裝置以及其校正方法 TWI402684B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
TW098135736A TWI402684B (zh) 2009-10-22 2009-10-22 通用串列匯流排裝置以及其校正方法
US12/652,174 US8370716B2 (en) 2009-10-22 2010-01-05 USB device and correction method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW098135736A TWI402684B (zh) 2009-10-22 2009-10-22 通用串列匯流排裝置以及其校正方法

Publications (2)

Publication Number Publication Date
TW201115354A TW201115354A (en) 2011-05-01
TWI402684B true TWI402684B (zh) 2013-07-21

Family

ID=43899394

Family Applications (1)

Application Number Title Priority Date Filing Date
TW098135736A TWI402684B (zh) 2009-10-22 2009-10-22 通用串列匯流排裝置以及其校正方法

Country Status (2)

Country Link
US (1) US8370716B2 (zh)
TW (1) TWI402684B (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101678915B1 (ko) * 2010-12-27 2016-11-23 삼성전자주식회사 플래시 메모리 장치, 그것의 데이터 랜덤화 방법, 및 그것을 포함하는 메모리 시스템
US9778389B2 (en) 2011-05-27 2017-10-03 Halliburton Energy Services, Inc. Communication applications
US9625603B2 (en) * 2011-05-27 2017-04-18 Halliburton Energy Services, Inc. Downhole communication applications
CN104063352B (zh) * 2013-03-20 2017-03-15 上海华虹集成电路有限责任公司 Pipe的弹性缓冲电路及其状态同步方法
TWI623200B (zh) * 2016-04-27 2018-05-01 財團法人工業技術研究院 定位絕對碼的解碼裝置及解碼方法
US10243668B2 (en) 2016-04-27 2019-03-26 Industrial Technology Research Institute Positioning measurement device and the method thereof
US10784986B2 (en) * 2017-02-28 2020-09-22 Intel Corporation Forward error correction mechanism for peripheral component interconnect-express (PCI-e)
US10771189B2 (en) 2018-12-18 2020-09-08 Intel Corporation Forward error correction mechanism for data transmission across multi-lane links
US11637657B2 (en) 2019-02-15 2023-04-25 Intel Corporation Low-latency forward error correction for high-speed serial links
US11249837B2 (en) 2019-03-01 2022-02-15 Intel Corporation Flit-based parallel-forward error correction and parity
CN110109643B (zh) * 2019-03-14 2022-09-23 恒玄科技(上海)股份有限公司 一种无晶振的usb音频终端片上系统及同步时钟校准方法
US11296994B2 (en) 2019-05-13 2022-04-05 Intel Corporation Ordered sets for high-speed interconnects
US11740958B2 (en) 2019-11-27 2023-08-29 Intel Corporation Multi-protocol support on common physical layer

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW444165B (en) * 1998-05-12 2001-07-01 Primax Electronics Ltd Hot plug and play universal serial bus switch device and control method
TW561347B (en) * 2001-01-31 2003-11-11 Hewlett Packard Co Look-up table based USB identification
US20070124623A1 (en) * 2003-07-02 2007-05-31 Wayne Tseng Circuit and method for aligning data transmitting timing of a plurality of lanes
US20070177701A1 (en) * 2006-01-27 2007-08-02 Ati Technologies Inc. Receiver and method for synchronizing and aligning serial streams
TWI296332B (en) * 2006-08-04 2008-05-01 Inventec Corp A system of testing speed of universal serial bus and a method applies the same

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7234007B2 (en) * 2003-09-15 2007-06-19 Broadcom Corporation Adjustable elasticity FIFO buffer have a number of storage cells equal to a frequency offset times a number of data units in a data stream
US20080147916A1 (en) * 2006-12-19 2008-06-19 Via Technologies, Inc. Data synchronization method of data buffer device
US8154918B2 (en) * 2008-06-30 2012-04-10 Sandisk Il Ltd. Method for page- and block based scrambling in non-volatile memory
US8161210B1 (en) * 2008-11-03 2012-04-17 Integrated Device Technology Inc. Multi-queue system and method for deskewing symbols in data streams

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW444165B (en) * 1998-05-12 2001-07-01 Primax Electronics Ltd Hot plug and play universal serial bus switch device and control method
TW561347B (en) * 2001-01-31 2003-11-11 Hewlett Packard Co Look-up table based USB identification
US20070124623A1 (en) * 2003-07-02 2007-05-31 Wayne Tseng Circuit and method for aligning data transmitting timing of a plurality of lanes
US20070177701A1 (en) * 2006-01-27 2007-08-02 Ati Technologies Inc. Receiver and method for synchronizing and aligning serial streams
TWI296332B (en) * 2006-08-04 2008-05-01 Inventec Corp A system of testing speed of universal serial bus and a method applies the same

Also Published As

Publication number Publication date
TW201115354A (en) 2011-05-01
US8370716B2 (en) 2013-02-05
US20110099411A1 (en) 2011-04-28

Similar Documents

Publication Publication Date Title
TWI402684B (zh) 通用串列匯流排裝置以及其校正方法
TWI423007B (zh) 串列匯流排裝置以及其時脈差補償方法
KR101939875B1 (ko) 다중 레인 직렬 인터페이스를 통한 심볼 스크램블링 방법 및 장치
JP4229836B2 (ja) 一群の受信ワードの各ワードを単一送信ワードにマッピングすることで連続リンク送信上のシンボル間干渉効果を低減させる方法および装置。
JP5010733B2 (ja) 情報スキューおよび冗長制御情報によるデータ送信装置および方法
US10009200B2 (en) Data communication systems with forward error correction
US7529275B2 (en) Data transfer protocol for 6.25 GBPs Serializer/Deserializer (SERDES)
JP6514333B2 (ja) 送信装置、dpソース機器、受信装置及びdpシンク機器
JP6531513B2 (ja) シリアル通信装置及びシリアル通信方法
JP5266164B2 (ja) データ受信装置
JP2006333478A (ja) パケットデータの符号化と復号
US10942886B2 (en) Data transmission method and data transmission system
JPH07273742A (ja) 並列データ伝送装置
CN101667167B (zh) 通用串行总线装置以及其校正方法
US9755782B2 (en) Flexible PRBS architecture for a transceiver
US9031241B2 (en) Link and physical coding sub-layer protocols
CN113904756B (zh) 基于10Gbase-R协议的以太网系统
US9401803B2 (en) Flexible scrambler/descrambler architecture for a transceiver
US9872035B2 (en) System and method for transcoding data
JP4407910B2 (ja) データ受信装置
CN113949831B (zh) 一种基于FPGA的接收开展频高速V-By-One信号的方法及装置
JP6468292B2 (ja) 送信回路、受信回路、光伝送システムおよびマルチフレームの送信方法
CN101763330B (zh) 串行总线装置以及其时钟差补偿方法
Gearbox Receiver 10G PCS Datapath
Rockrohr et al. Protocol Logic and Specifications