TWI423037B - 一種提升於通用串列匯流排協定中傳輸同時型傳輸類型的封包之效率之方法與裝置 - Google Patents

一種提升於通用串列匯流排協定中傳輸同時型傳輸類型的封包之效率之方法與裝置 Download PDF

Info

Publication number
TWI423037B
TWI423037B TW098116150A TW98116150A TWI423037B TW I423037 B TWI423037 B TW I423037B TW 098116150 A TW098116150 A TW 098116150A TW 98116150 A TW98116150 A TW 98116150A TW I423037 B TWI423037 B TW I423037B
Authority
TW
Taiwan
Prior art keywords
packet
transmission type
transmitting
simultaneous transmission
header
Prior art date
Application number
TW098116150A
Other languages
English (en)
Other versions
TW201040739A (en
Inventor
Tso Hsuan Chang
Ming Hsu Hsu
Teng Chuan Hsieh
Original Assignee
Etron Technology 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 Etron Technology Inc filed Critical Etron Technology Inc
Priority to TW098116150A priority Critical patent/TWI423037B/zh
Priority to US12/750,666 priority patent/US8473801B2/en
Publication of TW201040739A publication Critical patent/TW201040739A/zh
Application granted granted Critical
Publication of TWI423037B publication Critical patent/TWI423037B/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1829Arrangements specially adapted for the receiver end
    • H04L1/1854Scheduling and prioritising arrangements
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/63Joint error correction and other techniques
    • H03M13/6306Error control coding in combination with Automatic Repeat reQuest [ARQ] and diversity transmission, e.g. coding schemes for the multiple transmission of the same information or the transmission of incremental redundancy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/1607Details of the supervisory signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1806Go-back-N protocols
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/09Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0072Error control for data other than payload data, e.g. control data

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Communication Control (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Description

一種提升於通用串列匯流排協定中傳輸同時型傳輸類型的封包之效率之方法與裝置
本發明係有關一種資料傳輸方法,更明確地說,係有關一種可提高同時型傳輸類型封包之傳輸效率的資料傳輸方法。
在通用串列匯流排(Universal Serial Bus,USB)協定3.0版中,包含四種傳輸類型:控制型傳輸類型(control transfer type)、中斷型傳輸類型(interrupt transfer type)、巨量型傳輸類型(bulk transfer type),以及同時型傳輸類型(isochronous transfer type)。一般而言,同時型傳輸類型是應用於語音和視訊的傳輸,且由於語音與視訊的傳輸需為即時傳輸(real-time transfer),因此,在傳輸同時型傳輸類型的封包時,需以穩定的速度且持續地傳輸同時型傳輸類型的封包,以避免造成接收端所接收的語音或視訊產生斷斷續續(不連續)的現象,或者與傳輸端所傳送的語音或視訊不同步(延遲)的現象。
以USB 3.0為例,請參考第1圖,第1圖係為說明一USB 3.0封包DP的封包格式之示意圖。如第1圖所示,封包DP包含一檔頭H,以及一資料負載P。檔頭H包含一型態資訊TP、一端點資訊(end point)EP、一連結命令字元(link command word)LW,以及一檔頭錯誤檢查碼CRCH 。資料負載P包含一資料段D,以及一資料錯誤檢查碼CRCD
型態資訊TP可用來判斷封包DP之封包類型。封包類型,舉例來說,可為握手(handshake)、資料(data)...等。端點資訊EP可用來判斷封包DP所屬之傳輸類型(如同時型傳輸類型)。連結命令字元LW用來表示資料連結的情況,且連結命令字元LW另包含一連結命令字元錯誤檢查碼CRCL 與檔頭順序參數(Header Sequence Number)HSEQ。連結命令字元錯誤檢查碼CRCL 用來判斷連結命令字元LW是否有錯誤。檔頭順序參數HSEQ用來判斷封包DP之封包順序是否有錯誤。檔頭錯誤檢查碼CRCH 用來判斷檔頭H是否有錯誤。
資料段D提供傳送端實際所傳輸的資料,如語音資料、視訊資料...等。資料錯誤檢查碼CRCD 用來判斷資料段D是否有錯誤。此外,資料段D可包含N筆資料SD1 ~SDN
請參考第2圖。第2圖係為說明於先前技術中傳輸同時型傳輸類型封包之示意圖。在第2圖中,傳送端T可為一主控端(host)或一裝置端(device),而接收端R則為一對應的裝置端或一對應的主控端。而傳輸端T跟接收端R之資料處理係從最底部依序分層為實體層(physical layer)PH、資料連結層(data link layer)DL與協定層(protocol layer)PR。如第2圖所示,當接收端R接收一來自於傳送端T之封包DP1 後,經過實體層PH的處理之後,接收端R之資料連結層DL會直接依據封包DP1 之連結命令字元錯誤檢查碼CRCL1 與檔頭錯誤檢查碼CRCH1 ,判斷封包DP1 之檔頭H1 是否正確。當判斷封包DP1 之檔頭H1 正確後,接收端R才會根據封包DP1 之檔頭H1 ,對封包DP1 進行後續處理,如將封包DP1 往上傳送至接收端R的協定層PR以依據封包DP1 的資料負載P1 中的資料錯誤檢查碼CRCD1 來判斷封包DP1 的資料負載P1 是否正確,以及在判斷DP1 的資料負載P1 為正確後,根據協定所定義的事件及資料段D1 的內容(資料SD11 ~SD1N ),產生對應的動作,如根據協定與資料段D1 的內容,輸出語音或視訊資料。然而,當接收端R之資料連結層DL判斷封包DP1 之檔頭H1 錯誤時,接收端R之資料連結層DL會直接發出一重新傳送訊號SRETRY 至傳送端T,而使傳送端T得再重新傳送一次封包DP1 。換句話說,即使封包DP1 是屬於同時型傳輸類型封包,接收端R仍會針對檔頭錯誤之同時型傳輸類型封包DP1 發出一重試訊號SRETRY 至傳送端T,而使得傳送端T得再重新傳送一次同時型傳輸類型封包DP1 。如此一來,在傳輸語音或視訊時,會產生不必要的延遲,例如讓語音或視訊的斷斷續續的狀況更為嚴重,或者與傳送端之間的同步性更差,而造成使用者的不便。
本發明於一實施例中,係提供一種提升於通用串列匯流排通訊協定版本3.0版中傳輸同時性型傳輸類型的封包之效率之方法。該方法包含從一傳送端接收一第一封包、對該第一封包之一檔頭進行錯誤碼檢查,以得出一檢查結果,以及當該檢查結果表示為錯誤時,丟棄忽略該第一封包。
本發明於另一實施例中,提供一種提升於通用串列匯流排協定3.0版中傳輸同時型傳輸類型的封包之效率之方法。該方法包含當一傳送端從一接收端接收對應於一第一同時型傳輸類型封包之一重新傳送訊號時,該傳送端根據該第一同時型傳輸類型封包之一第一檔頭序列參數,設定一第二同時型傳輸類型封包之一第二檔頭序列參數,以及該傳送端傳送設定該第二檔頭序列參數後之該第二同時型傳輸類型封包至該接收端。
有鑑於此,本發明為了解決在先前技術中傳輸同時型傳輸類型封包的不連續與不同步的問題,提出了新的傳輸方法,以提升在傳輸同時型傳輸類型封包的效率並降低在傳輸語音或視訊時產生不連續與不同步的現象。
請參考第3圖。第3圖係說明根據本發明之一第一實施例之提升於USB協定3.0版中傳輸同時型傳輸類型的封包之效率之方法300之流程圖。於方法300中,假設傳輸端T欲傳輸兩個同時型傳輸類型封包DP1 與DP2 ,且封包DP1 與DP2 所傳輸的順序是傳輸端T先傳輸封包DP1 至接收端R,然後再傳輸封包DP2 至接收端R。其步驟說明如下:
步驟301:接收端R接收從傳送端T傳送來之同時型傳輸類型封包DP1
步驟302:依據同時型傳輸類型封包DP1 之連結命令字元錯誤檢查碼CRCL1 與檔頭錯誤檢查碼CRCH1 ,對同時型傳輸類型封包DP1 之檔頭H1 進行錯誤碼檢查,以分別得出連結命令字元檢查結果EL1 與檔頭檢查結果EH1
步驟303:依據連結命令字元檢查結果EL1 與檔頭檢查結果EH1 ,判斷同時型傳輸類型封包DP1 之檔頭H1 是否正確;若正確,則繼續步驟304;若否,則跳到步驟305;
步驟304:接受同時型傳輸類型封包DP1 ,以進行後續處理;
步驟305:忽略同時型傳輸類型封包DP1 ,且不要求傳送端T重新傳送同時型傳輸類型封包DP1 ,以使得傳送端T可直接傳送下一個同時型傳輸類型封包DP2
另外,上述之步驟301~305係在接收端R的資料連結層DL中所進行。
於步驟301中,從傳送端T接收封包DP1 時,依據封包DP1 中的型態資訊TP1 與端點資訊EP1 ,可得知封包DP1 為同時型傳輸類型的封包。
於步驟302中,封包DP1 之檔頭H1 之錯誤檢查碼CRCH1 可為16位元的循環冗餘檢查碼(Cyclic Redundancy Check 16,CRC-16),而錯誤檢查碼CRCL1 可為5位元的循環冗餘檢查碼(CRC-5)。而判斷封包DP1 之檔頭H1 是否正確的方式,舉例而言,可對封包DP1 之檔頭H1 與連結命令字元LW1 分別進行循環冗餘檢查。舉例來說,檔頭H1 整體的循環冗餘檢查,係將封包DP1 之檔頭H1 (包含錯誤檢查碼CRCH1 )除以一預定除數CRCDH ,以據以得一對應的餘數CRCRH1 。依據所得餘數CRCRH1 ,可得檔頭檢查結果EH1 。而連結命令字元檢查結果EL1 可以類似的方式得出。
於步驟303中,當餘數CRCRH1 等於一預定值X時,檢查結果EH1 表示封包DP1 之檔頭H1 為正確;當餘數CRCRH1 不等於預定值X時,檢查結果EH1 表示封包DP1 之檔頭H1 為錯誤。舉例而言,設預定值X為0,當餘數CRCRH1 等於0時,檢查結果EH1 表示封包DP1 之檔頭H1 為正確;當餘數CRCRH1 不等於0時,檢查結果EH1 表示封包DP1 之檔頭H1 為錯誤。而檢查結果EL1 亦可以類似的方式來得知連結命令字元LW1 係為正確或錯誤。於本實施例中,當檢查結果EL1 與EH1 皆為正確時,才判斷檔頭H1 為正確;當檢查結果EL1 與EH1 中有一者為錯誤時,則判斷檔頭H1 為錯誤。
於步驟304中,在接收端R確定接受同時型傳輸類型封包DP1 後,便會將封包DP1 上傳至協定層PR,以進行後續處理。而在協定層PR對於封包DP1 的處理如同前述,於此不再贅述。
於步驟305中,接收端R已經由檔頭檢查結果EH1 與EL1 得知封包DP1 有誤,因此忽略封包DP1 。然而為了提升傳輸效率,使傳送端T可更快傳送後續的封包DP2 ,因此接收端R不要求傳送端T重新傳送封包DP1 ,意即接收端R的資料連結層DL不會發出重新傳送訊號SRETRY 至傳送端T,來要求傳送端T重新傳送封包DP1 。更明確地說,若傳送端T被要求重新傳送封包DP1 ,則傳送端T便得再次傳送封包DP1 ,而因此後續的封包DP2 被發出的時間便會被延後而造成延遲,而產生如先前技術般在傳送語音或視訊時的問題。然而,由於本發明在步驟305中並不會要求傳送端T重新傳送封包DP1 ,因此後續的封包DP2 不會因此等待傳送端T重新傳送封包DP1 的時間,而可以即時地傳送至接收端R,如此以提升傳輸效率並改善在傳送語音或視訊時不連續或者不同步的問題。
請參考第4圖。第4圖係為說明本發明在同時型傳輸類型封包之檔頭有錯誤的情況下,不要求傳送端T重新傳送封包(步驟305)之示意圖。第4圖之上半部係為說明在同時型傳輸類型封包之檔頭有錯誤的情況下,要求傳送端T重新傳送封包之示意圖(先前技術);第4圖之下半部係為說明在同時型傳輸類型封包之檔頭有錯誤的情況下,不要求傳送端T重新傳送封包之示意圖(本發明之步驟305);以此方式來說明本發明確能提高在傳送同時型傳輸類型封包的傳輸效率。於第4圖中,假設傳送端T欲依序傳送同時型傳輸類型封包DP1 、DP2 、DP3 、DP4 以及DP5 。接收端R在接收到一封包時,在資料連結層DL的處理中,皆會對該封包的檔頭進行錯誤檢查,以據以發出一對應的確認訊號ACK至傳送端T,來告知傳送端T所傳送的封包是否有被正確地接收。舉例來說,當確認訊號ACK表示為「LGOOD」,則表示傳送端T所傳送的封包有被正確地接收,而不需重新傳送;當確認訊號ACK表示為「LBAD」,則表示傳送端T所傳送的封包沒有被正確地接收,而需要傳送端T重新傳送該封包。也就是說,當確認訊號ACK表示為「LBAD」時,則表示接收端R發出一重新傳送訊號SRETRY ,以要求傳送端T重新傳送該封包。而從第4圖的下半部可以看出,封包DP1 在接收端R的資料連結層DL的處理中,被檢查出有錯誤。然而,對應於封包DP1 的確認訊號ACK1 仍為「LGOOD」,如此傳送端T便視為成功傳送封包DP1 ,而繼續傳送下一個封包DP2 。此外,接收端R經由錯誤檢查得知封包DP1 有錯,所以實際上不會對封包DP1 進行後續處理,而是直接忽略封包DP1 。反觀第4圖的上半部,封包DP1 在接收端R的資料連結層DL的處理中,被檢查出有錯誤。因此,對應於封包DP1 的確認訊號ACK1 便為「LBAD」,以告知傳送端T需重新傳送封包DP1 。而傳送端T在第二次傳送封包DP1 時,接收端R的資料連結層DL在處理第二次接收到的封包DP1 時,仍發現有錯,對應於第二次傳送的封包DP1 的確認訊號ACK2 仍為「LBAD」,以告知傳送端T需重新傳送封包DP1 。直到傳送端T第三次傳送封包DP1 時,接收端R才有正確地接收到封包DP1 ,而回應「LGOOD」的確認訊號ACK3 至傳送端T,如此傳送端才可繼續傳送下一個封包DP2 。如此看來,在相同的時間中,第4圖的下半部已將五個封包DP1 ~DP5 傳送完畢;而第4圖的上半部卻僅傳送了三個封包DP1 ~DP3 。雖然第4圖的下半部所接收到的封包DP1 是錯誤的,但是這樣的狀況,在進行語音或視訊的傳輸時,是可以被允許的,而換來的是傳輸效率的提升。相較之下,第4圖的上半部所接收到的封包都是正確的,可是傳輸效率卻因為重新傳送的關係而下降。這樣的情況,在進行語音或視訊的傳輸時,有可能會造成傳輸端T與接收端R的語音或視訊訊號彼此間的同步性差異太大,而造成使用者的困擾。
另外,在進行USB協定3.0版的傳輸時,傳送端T有一傳送封包計數器CT ,用來計數傳送封包數目NT ,以在欲傳送之封包內之檔頭序列參數HSEQ填入正確的值;接收端R有一接收封包計數器CR ,用來計數接收封包數目NR ,以判斷所接收之封包DP之檔頭序列參數HSEQ之值是否正確。在傳送端T與接收端R進行初始化溝通之前,傳送端T會先同步傳送端T之傳送封包數目NT 與接收端R之接收封包數目NR 。更明確地說,在傳送端T與接收端R進行初始化溝通之前,傳送端T會先將傳送封包計數器CT 之傳送封包數目NT 重置為預設值N1 ,並發出同步序列訊號SSEQ 至接收端R,以使接收端R將接收封包計數器CR 之接收封包數目NR 重置為預設值N1 ,並且通知接收端R在每次正確接收封包後,就將接收封包數目NR 增加步階數目NSTEP 。如此一來,每當傳送端T接收到接收端R所回應之代表「LGOOD」之確認訊號ACK(意即接收端R已正確接收封包),傳送端T就會將傳送封包數目NT 增加一步階數目NSTEP 。舉例來說,當傳送端T要傳送第一個封包DP0 時,傳送端T會根據傳送封包數目NT 之值(N1 ),以將封包DP0 之檔頭序列參數HSEQ0 之值設為N1 。當接收端R接收到封包DP0 時,接收端R會比較封包DP0 之檔頭序列參數HSEQ0 之值(N1 )與接收封包數目NR 之值(N1 )。若檔頭序列參數HSEQ0 之值與接收封包數目NR 相等(N1 ),則接收端R判斷封包DP0 之封包順序正確;反之,若不相等,則接收端R判斷封包DP0 之封包順序不正確。在接收端R正確接收封包DP0 之後,接收端R會將接收封包數目NR 之值增加步階數目NSTEP 。此時,接收封包數目NR 之值變為(N1 +NSTEP ),且接收端R會發出代表「LGOOD」之確認訊號ACK至傳送端T,以通知傳送端T,將傳送封包數目NT 之值增加步階數目NSTEP 。如此一來,當傳送端T要傳封送封包DP0 之下一個封包DP1 時,傳送端T會根據傳送封包數目NT 之值,將封包DP1 之檔頭序列參數HSEQ1 之值設為(N1 +NSTEP )。因此當接收端R接收到封包DP1 後,可比較接收封包數目NR 之值與檔頭序列參數HSEQ1 之值,以判斷封包DP1 之封包順序是否正確。
請參考第5圖。第5圖係為說明根據本發明之一第二實施例之提升於USB協定3.0版中傳輸同時型傳輸類型的封包之效率之方法500之流程圖。於方法500中,假設傳輸端T欲傳輸兩個同時型傳輸類型封包DP0 與DP1 。也就是說,傳輸端T之緩衝記憶體內有封包DP0 與封包DP1 等待被傳送。封包DP0 與DP1 所傳輸的順序是傳輸端T先傳輸封包DP0 至接收端R,然後再傳輸封包DP1 至接收端R。在本實施例中,當接收端R在接收封包DP0 後,接收端R根據同時型傳輸類型封包DP0 之連結命令字元錯誤檢查碼CRCL0 與檔頭錯誤檢查碼CRCH0 ,判斷所接收之連結命令字元LW0 或檔頭H0 有錯誤,而發出一重新傳送訊號SRETRY 至傳送端T,來要求傳送端T得再重新傳送一次同時型傳輸類型封包DP0 。其步驟說明如下:
步驟501:傳送端T接收從接收端R傳送來之要求傳送端T再重新傳送一次同時型傳輸類型封包DP0 之重新傳送訊號SRETRY
步驟502:依據同時型傳輸類型封包DP0 之檔頭序列參數HSEQ0 之值,以設定同時型傳輸類型封包DP1 之檔頭序列參數HSEQ1 之值;
步驟503:不發送同時型傳輸類型封包DP0 ,而直接傳送同時型傳輸類型封包DP1
另外,上述之步驟501~503係在傳送端T的資料連結層DL中所進行。
於步驟501中,傳送端T根據重新傳送訊號SRETRY ,可得知接收端R未成功接收傳送端T上次所傳送的封包(在本實施例中即為封包DP0 ),且依據傳送端T之緩衝記憶體中之封包DP0 中的型態資訊TP0 與端點資訊EP0 ,傳送端T可知封包DP0 為同時型傳輸類型的封包。
於步驟502中,由於傳送端T未接收到代表「LGOOD」之確認訊號ACK。因此,傳送端T之傳送封包數目NT 之值不會增加步階數目NSTEP 。更明確地說,此時,傳送端T之傳送封包數目NT 之值等於封包DP0 之檔頭序列參數HSEQ0 之值。因此,傳送端T根據傳送封包數目NT 之值(等於檔頭序列參數HSEQ0 之值),以設定封包DP1 之檔頭序列參數HSEQ1 之值。舉例而言,若封包DP0 之檔頭序列參數HSEQ0 之值為0,此時傳送端T將緩衝記憶體中之封包DP1 之檔頭序列參數HSEQ1 之值設定為0。
於步驟503中,傳送端T直接傳送封包DP1 。由於封包DP1 之檔頭序列參數HSEQ1 之值被設為等於封包DP0 之檔頭序列參數HSEQ0 之值,且由於接收端R未正確接收封包DP0 ,因此接收端R之接收封包數目NR 之值仍維持等於檔頭序列參數HSEQ0 之值,因此,當接收端R接收到封包DP1 時,由於封包DP1 之檔頭序列參數HSEQ1 之值等於檔頭序列參數HSEQ0 之值(意即檔頭序列參數HSEQ1 之值與接收封包數目NR 之值相等),因此接收端R會判斷封包DP1 之封包順序正確。
請參考第6圖。第6圖係為說明本發明在接收端R要求傳送端T得再重新傳送一次傳送端T上次所傳輸之同時型傳輸類型封包的情況下,傳送端T不再重新傳送上次所傳輸之封包(步驟503)之示意圖。在第6圖中,設傳送端T已發出序列訊號SSEQ 至接收端R。傳送端T將傳送封包數目NT 重置為預設值N1 (在第6圖中,設預設值N1 為0)。接收端R將接收封包數目NR 也重置為預設值N1 (0)。且設步階數目NSTEP 為1。第6圖之上半部係為說明在接收端R要求傳送端T得再重新傳送一次傳送端T上次所傳輸之同時型傳輸類型封包的情況下,傳送端T再重新傳送上次所傳輸之封包之示意圖(先前技術);第6圖之下半部係為說明接收端R要求傳送端T得再重新傳送一次傳送端T上次所傳輸之同時型傳輸類型封包的情況下,傳送端T不再重新傳送封包之示意圖(本發明之步驟503);以此方式來說明本發明確能提高USB 3.0版在傳送同時型傳輸類型封包的傳輸效率。於第6圖中,假設傳送端T欲依序傳送同時型傳輸類型封包DP0 、DP1 、DP2 、DP3 以及DP4 。從第6圖中,封包DP1 在接收端R的資料連結層DL的處理中,被檢查出有錯誤。因此,接收端R之接收封包數目NR 仍維持等於1,且接收端R會發出對應於封包DP1 的確認訊號ACK1 為「LBAD」,以要求傳送端T重新傳送封包DP1 。因此,傳送端T之傳送封包數目NT 也維持等於1。在第6圖的上半部,傳送端T會重新傳送封包DP1 。然而,在第6圖的下半部中,傳送端T不會重新傳送封包DP1 。而是根據此時傳送封包數目NT 之值(等於封包DP1 之檔頭序列參數HSEQ1 )來設定封包DP2 之檔頭序列參數HSEQ2 ,並將DP2 傳送至接收端R。因此,當接收端R接收到檔頭序列參數HSEQ2 已被更改為1之封包DP2 時,接收端R根據接收封包數目NR (等於1)與檔頭序列參數HSEQ2 (等於1),會判斷封包DP2 之封包順序為正確。若封包DP2 之檔頭序列參數HSEQ2 未被設定為1,則接收端R根據接收封包數目NR (等於1)與檔頭序列參數HSEQ2 (不等於1),會判斷在傳輸的過程中,遺漏了檔頭序列參數HSEQ為1之封包。此時,接收端R會判斷與傳送端T已不同步,而發出一同步請求訊號SSYN 至傳送端T,以要求傳送端T重新同步。在第6圖的下半部中,傳送端T在傳送完封包DP2 後,接收端R正確接收封包DP2 ,並且將接收封包數目NR (等於1)增加步階數目NSTEP ,而使接收封包數目NR 變成2。接收端R會發出對應於封包DP2 之「LGOOD」之確認訊號ACK2 。因此,傳送端T會將傳送封包數目NT 增加步階數目NSTEP ,而使傳送封包數目NT 變成2。如此一來,當傳送端T要傳送封包DP3 時,由於傳送封包數目NT 與接收封包數目NR 相等,因此,傳送端T就可設定正確的檔頭序列參數HSEQ3 ,以使得接收端R判斷封包順序正確,而不會發出同步請求訊號SSYN 。如此一來,在相同的時間中,第6圖的下半部已將五個封包DP0 ~DP4 傳送完畢;而第6圖的上半部卻僅傳送了四個封包DP0 ~DP4 。雖然第6圖的下半部所接收到的封包DP1 是錯誤的,且傳送端T未重新傳送DP1 。然而上述的狀況,在進行語音或視訊的傳輸時,是可以被允許的,而換來的是傳輸效率的提升。相較之下,第6圖的上半部所接收到的封包都是正確的,可是傳輸效率卻因為重新傳送的關係而下降。這樣的情況,在進行語音或視訊的傳輸時,有可能會造成傳輸端T與接收端R的語音或視訊訊號彼此間的同步性差異太大,而造成使用者的困擾。
請參考第7圖。第7圖係為說明本發明之用於傳輸同時型傳輸類型中之裝置700之示意圖。裝置700用來傳送資料。裝置700包含第一資料連結層裝置711、第二資料連結層712、第一協定層裝置721,以及第二協定層裝置722。裝置700係根據本發明之第一實施例與第二實施例所衍生。如第7圖所示,當第一資料連結層裝置711與第一協定層裝置721為傳送端時,第二資料連結層裝置712與第二協定層裝置為接收端;當第一資料連結層裝置711與第一協定層裝置721為接收端時,第二資料連結層裝置712與第二協定層裝置為傳送端。第一資料連結層裝置711與第二資料連結層裝置712皆能偵測彼此之間所傳輸之資料以據以分別產生偵測訊號SD1 與SD2 。舉例來說,設第一資料連結層裝置711與第一協定層裝置721為接收端、第二資料連結層裝置712與第二協定層裝置722為傳送端。當第一資料連結層裝置711偵測到傳輸的封包有一CRC錯誤時,偵測訊號SD1 指示出該CRC錯誤,而第一資料連結層裝置711便據以傳送一偽裝封包資料DPCRC 至第二資料連結層裝置712,其中偽裝封包資料DPCRC 包含對應於該CRC錯誤之錯誤封包資料。第二資料連結層裝置712將所接收的偽裝封包資料DPCRC 進行處理,再傳送至第二協定層裝置722。當第二資料連結層裝置711偵測到從第一資料連結層裝置712所傳送來之重傳訊號時,偵測訊號SD2 表示需重傳一第一封包,而第二資料連結層裝置712便據以傳送一偽裝封包資料DPRETRY 至第一資料連結層裝置711,其中偽裝封包資料DPRETRY 包含相異於該第一封包之一第二封包資料。第一資料連結層裝置711將所接收的偽裝封包資料DPRETRY 進行處理,再傳送至第一協定層裝置721。此外,第二封包可為第一封包之下一個待傳送之封包。
綜上所述,利用本發明所提供之傳輸方法,在資料連結層中對於有錯誤的同時型傳輸類型封包,接收端並不會對傳送端發出重新傳送訊號。除此之外,本發明另提供一傳輸方法,可使當傳送端接收到代表要求重新傳送上一次所傳送之同時型傳輸類型封包之重新傳送訊號時,傳送端不重新傳送上一次所傳送之同時型傳輸類型封包,而直接傳送本次所要傳送之同時型傳輸類型封包,以使得傳送端可以更快速地傳送後續的同時型傳輸類型封包,如此便可以有效解決使用者在接收語音或視訊訊號時產生不連續或者不同步的現象,提供給使用者更大的便利性。
以上所述僅為本發明之較佳實施例,凡依本發明申請專利範圍所做之均等變化與修飾,皆應屬本發明之涵蓋範圍。
300...方法
301~305...步驟
ACK0 ~ACK5 ...確認訊號
CRCH 、CRCD 、CRCL 、CRCDH1 、CRCD1 、CRCL1 ...錯誤檢查碼
DP、DP0 ~DP5 ...封包
D、D1 ...資料段
DL...資料連結層
EP、EP1 ...端點資訊
H、H1 ...檔頭
HSEQ、HSEQ0 ~HSEQ4 ...檔頭順序參數
LBAD...確認錯誤
LGOOD...確認正確
NR ...接收封包數目
NT ...傳送封包數目
P、P1 ...資料負載
PH...實體層
PR...協定層
R...接收端
SD1 、SD2 、SDN 、SD11 、SD12 、SD1N ...資料
SRETRY ...重新傳送訊號
T...傳送端
TP、TP1 ...型態資訊
LW、LW1 ...連結命令字元
700...用於傳輸同時型傳輸類型中之裝置
711、712...資料連結層裝置
721、722...協定層裝置
SD1 、SD2 ...偵測訊號
DPCRC 、DPRETRY ...偽裝封包資料
第1圖係為說明一USB 3.0封包的封包格式之示意圖。
第2圖係為說明於先前技術中傳輸同時型傳輸類型封包之示意圖。
第3圖係為說明本發明之第一實施例之提升於USB協定3.0版中傳輸同時型傳輸類型的封包之效率之方法之流程圖。
第4圖係為說明本發明在同時型傳輸類型封包之檔頭有錯誤的情況下,不要求傳送端重新傳送封包之示意圖。
第5圖係為說明本發明之第二實施例之提升於USB協定3.0版中傳輸同時型傳輸類型的封包之效率之方法之流程圖。
第6圖係為說明本發明在接收端要求傳送端重新傳送上次所傳送之同時型傳輸類型封包的情況下,傳送端不再重新傳送上次所傳輸之封包之示意圖。
第7圖係為說明本發明之用於傳輸同時型傳輸類型中之裝置之示意圖。
300...方法
301~305...步驟

Claims (27)

  1. 一種提升於通用串列匯流排(Universal Serial Bus,USB)協定中傳輸同時型傳輸類型(isochronous transfer type)的封包之效率之方法,該方法包含:從一傳送端接收一第一同時型傳輸類型封包(packet);對該第一同時型傳輸類型封包之一檔頭(header)進行錯誤碼檢查,以得出一檢查結果;以及當該檢查結果表示為錯誤時,忽略該第一同時型傳輸類型封包;其中,對該第一同時型傳輸類型封包之該檔頭進行錯誤碼檢查以得出該檢查結果之步驟包含:對該第一同時型傳輸類型封包之該檔頭之一檔頭錯誤檢查碼進行循環冗餘檢查,以得出一檔頭檢查結果;對該第一同時型傳輸類型封包之該檔頭之一連結命令字元(link command word)錯誤檢查碼進行循環冗餘檢查,以得出一連結命令字元檢查結果;以及根據該檔頭檢查結果與該連結命令字元檢查結果,得出該檢查結果。
  2. 如請求項1所述之方法,另包含:當該檢查結果表示為正確時,接收該第一同時型傳輸類型封包以進行後續處理。
  3. 如請求項1所述之方法,其中當該檢查結果表示為錯誤時,忽略該第一同時型傳輸類型封包包含:當該檢查結果表示為錯誤時,不要求該傳送端重新傳送該第一同時型傳輸類型封包。
  4. 如請求項3所述之方法,其中當該檢查結果表示為錯誤時,不要求該傳送端重新傳送該第一同時型傳輸類型封包包含:不要求該傳送端重新傳送該第一同時型傳輸類型封包,以使得該傳送端可直接傳送一第二同時型傳輸類型封包。
  5. 如請求項1所述之方法,其中該傳送端係為一主控端(host)或一裝置端(device)。
  6. 如請求項1所述之方法,其中根據該檔頭檢查結果與該連結命令字元檢查結果,得出該檢查結果包含:當該檔頭檢查結果與該連結命令字元檢查結果皆為正確時,該檢查結果為正確;以及當該檔頭檢查結果與該連結命令字元檢查結果中有一者為錯誤時,該檢查結果為錯誤。
  7. 如請求項1所述之方法,其中該檔頭錯誤檢查碼係為十六位元之循環冗餘檢查碼(Cyclic Redundancy Check 16,CRC-16);該連結命令字元錯誤檢查碼係為五位元之循環冗餘檢查碼(CRC-5)。
  8. 如請求項7所述之方法,其中對該第一同時型傳輸類型封包之該檔頭之該檔頭錯誤檢查碼進行循環冗餘檢查,以得出該檔頭檢查結果包含:將該第一同時型傳輸類型封包之該檔頭除以一預定除數以得出一餘數;以及依據該餘數,得出該檔頭檢查結果。
  9. 如請求項8所述之方法,其中當該餘數等於一預定值時,該檔頭檢查結果為正確;當該餘數不等於該預定值時,該檔頭檢查結果為錯誤。
  10. 如請求項9所述之方法,其中該預定值係為零。
  11. 如請求項7所述之方法,其中對該第一同時型傳輸類型封包之該檔頭之該連結命令字元錯誤檢查碼進行循環冗餘檢查,以得出該連結命令字元檢查結果包含:將該第一同時型傳輸類型封包之該連結命令字元除以一預定除數以得出一餘數;以及依據該餘數,得出該連結命令字元檢查結果。
  12. 如請求項11所述之方法,其中當該餘數等於一預定值時,該連結命令字元檢查結果為正確;當該餘數不等於該預定值時,該 連結命令字元檢查結果為錯誤。
  13. 如請求項12所述之方法,其中該預定值係為零。
  14. 一種提升於通用串列匯流排協定中傳輸同時型傳輸類型的封包之效率之方法,該方法包含:當一傳送端從一接收端接收對應於一第一同時型傳輸類型封包之一重新傳送訊號時,該傳送端根據該第一同時型傳輸類型封包之一第一檔頭序列參數,設定一第二同時型傳輸類型封包之一第二檔頭序列參數;該傳送端傳送設定該第二檔頭序列參數後之該第二同時型傳輸類型封包至該接收端;以及於該傳輸端傳輸該第一同時型傳輸類型封包前,該傳輸端同步該傳送端與該接收端。
  15. 如請求項14所述之方法,其中該傳送端傳送封包之順序係為先傳送該第一同時型傳輸類型封包後,再傳送該第二同時型傳輸類型封包。
  16. 如請求項15所述之方法,其中該傳送端根據該第一同時型傳輸類型封包之該第一檔頭序列參數,設定該第二同時型傳輸類型封包之該第二檔頭序列參數包含:該傳送端設定該第二同時型傳輸類型封包之該第二檔頭序列參 數之值為該第一檔頭序列參數之值。
  17. 如請求項14所述之方法,其中於該傳輸端同步該傳送端與該接收端包含:該傳輸端將該傳輸端之一傳送封包計數器之計數值重置為一預定值;以及該傳輸端傳輸一同步序列訊號至該接收端以使該接收端之一接收封包計數器之計數值重置為該預定值。
  18. 如請求項17所述之方法,另包含:該傳輸端控制該傳送封包計數器於每次傳送一封包後,該傳送封包計數器之計數值增加一步階數目;以及該傳輸端通知該接收端控制該接收封包計數器於每次正確接收一封包後,該接收封包計數器之計數值增加該步階數目。
  19. 如請求項18所述之方法,另包含:當該傳輸端從該接收端接收到該重新傳送訊號時,該傳輸端控制該傳送封包計數器之計數值不增加該步階數目。
  20. 如請求項19所述之方法,其中該第一同時型傳輸類型封包之該第一檔頭序列參數係為該傳輸封包計數器之計數值。
  21. 如請求項14所述之方法,另包含: 該傳送端根據該第一同時型傳輸類型封包中的一型態資訊與一端點資訊,以判斷該第一封包為同時型傳輸類型的封包。
  22. 如請求項14所述之方法,其中當該傳送端為一主控端時,該接收端為一裝置端;當該接收端為該主控端時,該傳送端為該裝置端。
  23. 一種用於同時型通訊協定中傳送資料之裝置,包含:一第一資料連結層裝置,用來偵測一傳輸封包之一CRC錯誤訊號以及於該CRC錯誤訊號被偵測到時傳送一第一偽裝封包資料至一第二資料連結層裝置,其中該第一偽裝封包資料包含一對應於該CRC錯誤訊號之一錯誤封包資料;以及一第二資料連結層裝置,用來處理該已接收之第一偽裝封包資料以及傳送該已處理之第一偽裝封包資料。
  24. 如請求項23所述之裝置,另包含一協定層裝置,用來接收該已處理之偽裝封包資料。
  25. 如請求項23所述之裝置,其中該第二資料連結層裝置另用來傳送用來指示一第一封包資料需要重傳之一重傳訊號至該第一資料連結層裝置以及於該第一資料連結層裝置偵測到該重傳訊號時傳送一第二偽裝封包資料至該第一資料連結層裝置,其中該第二偽裝封包資料包含一相異於該第一封包資料之第二封包資 料。
  26. 如請求項25所述之裝置,其中該第一第一資料連結層裝置另用來處理該已接收之第二偽裝封包資料以及傳送該已處理之第二偽裝封包資料。
  27. 如請求項26所述之裝置,另包含一協定層裝置,用來接收該已處理之第二偽裝封包資料。
TW098116150A 2009-05-15 2009-05-15 一種提升於通用串列匯流排協定中傳輸同時型傳輸類型的封包之效率之方法與裝置 TWI423037B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
TW098116150A TWI423037B (zh) 2009-05-15 2009-05-15 一種提升於通用串列匯流排協定中傳輸同時型傳輸類型的封包之效率之方法與裝置
US12/750,666 US8473801B2 (en) 2009-05-15 2010-03-30 Method for increasing efficiency of transferring packet of isochronous transfer type and device thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW098116150A TWI423037B (zh) 2009-05-15 2009-05-15 一種提升於通用串列匯流排協定中傳輸同時型傳輸類型的封包之效率之方法與裝置

Publications (2)

Publication Number Publication Date
TW201040739A TW201040739A (en) 2010-11-16
TWI423037B true TWI423037B (zh) 2014-01-11

Family

ID=43069494

Family Applications (1)

Application Number Title Priority Date Filing Date
TW098116150A TWI423037B (zh) 2009-05-15 2009-05-15 一種提升於通用串列匯流排協定中傳輸同時型傳輸類型的封包之效率之方法與裝置

Country Status (2)

Country Link
US (1) US8473801B2 (zh)
TW (1) TWI423037B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI578166B (zh) * 2014-02-10 2017-04-11 英特爾公司 用於顯式控制訊息發送信號之系統與方法、嵌入式高速串列介面埠及非暫時性電腦可讀媒體

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6232604B2 (ja) * 2014-02-10 2017-11-22 サイレックス・テクノロジー株式会社 デバイスサーバとその制御方法
US10841621B2 (en) * 2017-03-01 2020-11-17 Wyse Technology L.L.C. Fault recovery of video bitstream in remote sessions

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010025239A1 (en) * 2000-03-02 2001-09-27 Rolf Hakenberg Data transmission in non-reliable networks
US20030169687A1 (en) * 2002-03-05 2003-09-11 Sony Corporation And Sony Electronics, Inc. Method of flow control for data transported using isochronous packets over an IEEE 1394-2000 serial bus network
TW200537879A (en) * 2003-11-12 2005-11-16 Qualcomm Inc High data rate interface with improved link control
US20060224936A1 (en) * 2005-03-31 2006-10-05 Fujitsu Limited Data transfer apparatus
TWI266992B (en) * 2002-03-13 2006-11-21 Advanced Micro Devices Inc USB host controller
US20070239900A1 (en) * 2005-12-06 2007-10-11 Avocent Corporation Universal serial bus (USB) extension

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62193383A (ja) * 1986-02-20 1987-08-25 Kokusai Denshin Denwa Co Ltd <Kdd> 動画像信号伝送方式
KR100238133B1 (ko) * 1993-05-31 2000-01-15 윤종용 영상전화기의 화상 복구 장치 및 방법
US6593937B2 (en) * 1998-06-18 2003-07-15 Sony Corporation Method of and apparatus for handling high bandwidth on-screen-display graphics data over a distributed IEEE 1394 network utilizing an isochronous data transmission format
US6717947B1 (en) * 1998-12-03 2004-04-06 Lsi Logic Corporation Method and apparatus for isochronous data transfer with retry capability
US7085233B2 (en) * 2000-10-11 2006-08-01 Matsushita Electric Industrial Co., Ltd. Communications control method
CN101094206B (zh) 2007-08-02 2010-08-04 中兴通讯股份有限公司 数据传输装置
US20100198999A1 (en) * 2009-02-05 2010-08-05 Qualcomm Incorporated Method and system for wireless usb transfer of isochronous data using bulk data transfer type
US8041856B2 (en) * 2008-09-30 2011-10-18 Lsi Corporation Skip based control logic for first in first out buffer
TWI384810B (zh) 2009-05-07 2013-02-01 Etron Technology Inc 可節省通用串列匯流排協定中用來儲存封包之記憶體之資料傳輸方法及其裝置
CN101887403B (zh) 2010-06-25 2012-06-27 钰创科技股份有限公司 节省usb协议中存封包的存储器的数据传输方法及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010025239A1 (en) * 2000-03-02 2001-09-27 Rolf Hakenberg Data transmission in non-reliable networks
US20030169687A1 (en) * 2002-03-05 2003-09-11 Sony Corporation And Sony Electronics, Inc. Method of flow control for data transported using isochronous packets over an IEEE 1394-2000 serial bus network
TWI266992B (en) * 2002-03-13 2006-11-21 Advanced Micro Devices Inc USB host controller
TW200537879A (en) * 2003-11-12 2005-11-16 Qualcomm Inc High data rate interface with improved link control
US20060224936A1 (en) * 2005-03-31 2006-10-05 Fujitsu Limited Data transfer apparatus
US20070239900A1 (en) * 2005-12-06 2007-10-11 Avocent Corporation Universal serial bus (USB) extension

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI578166B (zh) * 2014-02-10 2017-04-11 英特爾公司 用於顯式控制訊息發送信號之系統與方法、嵌入式高速串列介面埠及非暫時性電腦可讀媒體

Also Published As

Publication number Publication date
US8473801B2 (en) 2013-06-25
US20100293435A1 (en) 2010-11-18
TW201040739A (en) 2010-11-16

Similar Documents

Publication Publication Date Title
WO2021008248A1 (zh) 数据帧接收方法和装置以及通信方法和系统
US8281189B2 (en) SATA primitive prediction and correction
KR101283482B1 (ko) Pci 익스프레스 프로토콜 처리 장치
CN101931516A (zh) 一种无线链路控制层确认模式下快速重传的方法及装置
WO2012052450A1 (en) System and method to detect and communicate loss and retention of synchronization in a real-time data transfer scheme
WO2022052507A1 (zh) 蓝牙低功耗音频数据传输方法以及装置、设备
US8335958B2 (en) Method of communication, in particular with capability of frame abortion or retransmission indication, between a transmitter and a receiver based on frames and corresponding communication node
JP4541949B2 (ja) データ転送装置
JPWO2011046056A1 (ja) パケット通信の伝送制御方法及びパケット通信システム
TWI423037B (zh) 一種提升於通用串列匯流排協定中傳輸同時型傳輸類型的封包之效率之方法與裝置
US11095474B2 (en) Packet data protocol
JP2016174211A (ja) 通信システム
JP2013531952A (ja) 無線通信環境における自動再送要求リセットを実行する方法及びデバイス
TWI290284B (en) Method and electronic device of packet error detection on PCI express bus link
US20170097867A1 (en) System and method for early packet header verification
JPH10126463A (ja) 全二重直列伝送の完全性検査方法
US8780934B2 (en) Method for performing serial transport communication, and associated device
CN103001733B (zh) 一种提升传输数据包的效率的方法
JP2014082578A (ja) 通信パケットを用い送信装置と受信装置を有する全二重通信装置及びその通信方法
JP5459308B2 (ja) データ転送装置及びデータ転送装置の制御方法
TW202103466A (zh) 實施混合自動重傳請求過程的系統及方法
JP2011039897A (ja) データ通信装置、データ通信制御方法、データ通信制御プログラム及び記録媒体
US20100122134A1 (en) Application-configured, content-based retransmission scheme for dropped media access control frames
CN104660374A (zh) 一种用于同时型通讯协议中传送数据的装置
EP1353468A1 (en) ARQ method with isochronous and asynchronous transmission