TW201321986A - 降低傳輸延遲的方法及其控制模組 - Google Patents
降低傳輸延遲的方法及其控制模組 Download PDFInfo
- Publication number
- TW201321986A TW201321986A TW100142259A TW100142259A TW201321986A TW 201321986 A TW201321986 A TW 201321986A TW 100142259 A TW100142259 A TW 100142259A TW 100142259 A TW100142259 A TW 100142259A TW 201321986 A TW201321986 A TW 201321986A
- Authority
- TW
- Taiwan
- Prior art keywords
- communication port
- host
- transmission delay
- data segment
- control module
- Prior art date
Links
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
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)
Abstract
一種降低傳輸延遲的方法及其控制模組,運作在主機內部與外接匯流排裝置,此方法包括下列步驟:當主機接收到未備妥封包時,將主機準備要傳送的第一資料段儲存於主機內部的緩衝儲存單元。當主機收到端點已備妥封包時,擷取緩衝儲存單元所儲存的第一資料段,並傳送第一資料段至外接匯流排裝置。
Description
一種降低傳輸延遲的方法及其控制模組,且特別是有關於一種應用於主機端與外接匯流排裝置之間,降低傳輸延遲的方法及其控制模組。
自從匯流排規格問世以來,因為方便使用、熱插拔、隨插即用(不須額外安裝驅動程式)等特性,已成為個人電腦周邊不可或缺的重要介面。目前的個人電腦、手持式裝置,都幾乎把匯流排當成一個資料傳輸的基本介面。諸如滑鼠、鍵盤、外接式硬碟、印表機、隨身碟、網路攝影機,以及讀卡機等重要個人電腦周邊設備,亦大都是以匯流排介面的型態存在。
其中,第二代通用序列匯流排(Universal Serial Bus,USB)(USB 2.0)屬於單向通道半雙工模式進行資料傳輸,但第三代通用序列匯流排(USB 3.0)是利用雙向通道全雙工模式進行資料傳輸,資料也可以更有效率的傳送到目的端。第二代匯流排實體層(Physical Layer)的速度是480Mbit/s,而第三代匯流排則是一舉將速度提升了十倍達5Gbit/s。相較於原有第二代匯流排的輪詢(Polling)方法,第三代匯流排使用主動通知的未備妥(Not Ready,NRDY)機制和端點已備妥(Endpoint Ready,ERDY)機制。
本發明提出一種降低傳輸延遲的控制模組,在一主機內部,並連接到一外接匯流排裝置,此控制模組包括:第一通訊埠、緩衝儲存單元及處理單元。處理單元耦接至第一通訊埠及緩衝儲存單元。當外接匯流排裝置傳送的未備妥封包到第一通訊埠時,處理單元將準備傳送的第一資料段儲存於緩衝儲存單元,當第一通訊埠接收到外接匯流排裝置傳送的端點已備妥封包時,處理單元擷取緩衝儲存單元所儲存的第一資料段,並傳送第一資料段至外接匯流排裝置。
在一實施例中,上述之第一通訊埠支援第三代匯流排規格。
在一實施例中,上述之外接匯流排裝置具有第二通訊埠,第二通訊埠支援第三代匯流排規格,外接匯流排裝置即是透過第二通訊埠與第一通訊埠連接,以進行複數個資料段的傳輸。
在一實施例中,上述之複數個資料段中,各資料段的資料傳輸量,符合第三代匯流排規格之規範。
在一實施例中,上述之主機更包括:一主記憶體及一晶片組。主記憶體儲存第一資料段,晶片組耦接至主記憶體與控制模組。
本發明提出一種降低傳輸延遲的方法,運作在一主機內部與一外接匯流排裝置,此方法包括下列步驟:當主機接收到未備妥封包時,將主機準備要傳送的第一資料段儲存於主機內部的緩衝儲存單元。接著,當主機收到端點已備妥封包時,擷取緩衝儲存單元所儲存的第一資料段並傳送此第一資料段至外接匯流排裝置。
在一實施例中,未備妥封包與端點已備妥封包係由外接匯流排裝置送出。
在一實施例中,外接匯流排裝置為第三代匯流排。
基於上述,本發明提供一種降低傳輸延遲的方法及其控制模組,利用緩衝儲存單元暫存待傳資料的特性,能夠有效地降低從主機端到外接匯流排裝置的傳輸延遲,一旦減少了傳輸延遲的時間,就能提升整體傳輸效率。
為讓本發明之上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。
圖1是依照一實施例所繪示的一種發生傳輸延遲情況的示意圖,描述主機105與外接匯流排裝置160,在時間軸上所呈現之資料段傳輸的情況,其複數個資料段中,各資料段的資料傳輸量,符合第三代匯流排規格之規範。首先,主機105送出資料段210,當外接匯流排裝置160接收到資料段210時,會回覆回應封包260給主機150,回應封包為一般通訊領域常用的回覆確認(Acknowledgement,Ack)機制。
當主機105接收到外接匯流排裝置160的回應封包260後,主機105接著傳送下一個資料段220給外接匯流排裝置160。此時,若外接匯流排裝置160暫時無法執行接收資料段的工作,外接匯流排裝置160將送出未備妥封包270給主機105,以告知主機105目前正處於無法順利接收資料段的狀態。當外接匯流排裝置160恢復成可再繼續接收資料段時,將送出端點已備妥封包280來告知主機105,目前可再繼續接收資料段,主機105才重新將資料段220送出來給外接匯流排裝置160。其中,未備妥封包即是一般第三代匯流排規格之下的NRDY(Not Ready)機制,而端點已備妥封包即是一般第三代匯流排規格之下的ERDY(Endpoint Ready)機制。
以主機105而言,從第一次送出資料段220之後就開始進入等待時間,等待外接匯流排裝置160的回覆確認,然而,若如同上述,外接匯流排裝置160所回覆的是未備妥封包270,主機105仍持續等待。接著,等收到端點已備妥封包280時,以一般主機105端與第三代匯流排裝置160的資料傳輸機制來說,主機105還必需以裝置內文基礎位址陣列(Device Context Base Address Array,DCBAA)方法,在記憶體中重新找尋及擷取資料後,再以重新第二次傳輸資料段220。
上述的DCBAA方法如圖2所示,需先找到所欲傳輸資料段的儲存裝置(290-1~N),再找到對應的端點內文陣列292(Endpoint Context Array),接著透過傳輸環(Transfer Ring)294到資料緩衝區(Data Buffer)298或資料緩衝區299等擷取資料。也就是說,若是主機105中途因為收到未備妥封包270而停止傳輸時,若再次恢復傳輸,就必需再經過上述這些步驟擷取資料。如此一來,即產生一段延遲時間,換言之,主機105的等待時間還必須多加上一段因為重新取得資料而產生的延遲時間,將導致耗時較久,而造成資料段傳輸上的延遲。
圖3是依照一實施例所繪示的一種降低傳輸延遲的控制模組之功能方塊圖。控制模組110運作在主機105內部,適用於降低主機105與連接於主機105的外接匯流排裝置160之間的傳輸延遲。外接匯流排裝置160例如為通用序列匯流排(Universal Serial Bus,USB)隨身碟或USB外接硬碟等電子裝置。控制模組110包括處理單元112、第一通訊埠114及緩衝儲存單元116,其中,處理單元112耦接於第一通訊埠114及緩衝儲存單元116,處理單元112可為一硬體形式之電子裝置,亦可為軟體形式之應用程式。此外,在本發明實施例中,第一通訊埠114可為支援第三代通用序列匯流排(USB 3.0)規格。
另一方面,外接匯流排裝置160具有第二通訊埠165,第二通訊埠165可為支援第三代匯流排規格。外接匯流排裝置160即是透過第二通訊埠165與控制模組110中的第一通訊埠114連接,以進行主機105與外接匯流排裝置160之間複數個資料段的傳輸。
在本實施例中,主機105更包括晶片組130及主記憶體140,其中,晶片組130耦接至控制模組110及主記憶體140。普遍而言,配置在主機105中的晶片組130是主記憶體140與控制模組110的資料傳輸介面,在進行一般主機105與外接匯流排裝置160的資料傳輸時,控制模組110會藉由晶片組130向主記憶體140擷取資料,並透過第一通訊埠114傳輸至外接匯流排裝置160。
本發明即提出一種降低傳輸延遲的方法,來改善上述的問題。圖4是依照一實施例所繪示的一種降低傳輸延遲的方法之流程圖。處理單元112偵測主機105是否接收到外接匯流排裝置160傳送的未備妥封包(步驟S410)。若步驟S410的判斷為是,主機105將將準備傳送的第一資料段儲存於緩衝儲存單元116(步驟S420)。接著,處理單元140偵測第一通訊埠114是否接收到自外接匯流排裝置160所傳送的端點已備妥封包(步驟S430)。若步驟S330的判斷為是,處理單元140擷取緩衝儲存單元140所儲存的第一資料段(步驟S440),處理單元140並控制第一通訊埠114傳送第一資料段至外接匯流排裝置160(步驟S450)。
圖5是依據一實施例中,降低傳輸延遲情況的示意圖。本發明所提出之降低傳輸延遲的方法,在控制模組110中加上緩衝儲存單元116,當主機105送出一資料段(如圖2的資料段220)給外接匯流排裝置160,而外接匯流排裝置160發出未備妥封包270及端點已備妥封包280,主機105一旦接收到端點已備妥封包280時,處理單元140即可直接從緩衝儲存單元116擷取資料段220,接著從第一通訊埠114送出,毋須再經過會造成較長延遲的DCBAA方法來找尋資料,讓主機105與外接匯流排裝置160之間的資料段傳輸,變得更有效率。換言之,比較圖1與圖5,圖1是採用一般的DCBAA方法來擷取資料,而圖5是採用本發明所提出之降低傳輸延遲的方法,本發明即減少了利用DCBAA方法將導致的延遲時間,資料段220能更快速地傳送。
綜上所述,本發明提供一種降低傳輸延遲的方法及其控制模組,利用緩衝儲存單元暫存待傳送之資料的特性,在主機與外接匯流排裝置恢復正常傳輸時,能即刻傳送出方才待傳的資料段。如此一來,能夠有效地降低從主機端到外接匯流排裝置的傳輸延遲,不需要再透過DCBAA機制重新找尋資料。因此,能減少延遲的時間,提升傳輸效率。
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明之精神和範圍內,當可作些許之更動與潤飾,故本發明之保護範圍當視後附之申請專利範圍所界定者為準。
105...主機
110...控制模組
112...處理單元
114...第一通訊埠
116...緩衝儲存單元
160...外接匯流排裝置
165...第二通訊埠
130...晶片組
140...主記憶體
210、220...資料段
260...回應封包
270...未備妥封包
280...端點已備妥封包
290-1~N...儲存裝置
292...端點內文陣列
294...傳輸環
298、299...資料緩衝區
S410~S450...降低傳輸延遲的方法之流程步驟
圖1是一種發生傳輸延遲情況的示意圖。
圖2是利用內文基礎位址陣列方法在儲存裝置中擷取資料的示意圖。
圖3是依照一實施例所繪示的一種降低傳輸延遲的控制模組之功能方塊圖。
圖4是依照一實施例所繪示的一種降低傳輸延遲的方法之流程圖。
圖5是依據一實施例中,降低傳輸延遲情況的示意圖。
S410~S450...降低傳輸延遲的方法之流程步驟
Claims (10)
- 一種降低傳輸延遲的控制模組,其設置在一主機內部,並連接到一外接匯流排裝置,該控制模組包括:一第一通訊埠;一緩衝儲存單元;以及一處理單元,耦接至該第一通訊埠及該緩衝儲存單元;其中,當該外接匯流排裝置傳送一未備妥封包到該第一通訊埠時,該處理單元將準備傳送的一第一資料段儲存於該緩衝儲存單元,當該第一通訊埠接收到該外接匯流排裝置傳送的一端點已備妥封包時,該處理單元擷取該緩衝儲存單元所儲存的該第一資料段,傳送該第一資料段至該外接匯流排裝置。
- 如申請專利範圍第1項所述之降低傳輸延遲的控制模組,其中該第一通訊埠支援第三代通用序列匯流排(Universal Serial Bus 3.0)。
- 如申請專利範圍第2項所述之降低傳輸延遲的控制模組,其中該外接匯流排裝置具有一第二通訊埠,該第二通訊埠與該第一通訊埠連接,以進行該複數個資料段的傳輸。
- 如申請專利範圍第3項所述之降低傳輸延遲的控制模組,其中該第二通訊埠支援第三代通用序列匯流排。
- 如申請專利範圍第1項所述之降低傳輸延遲的控制模組,其中該主機更包括:一主記憶體,儲存該第一資料段;以及一晶片組,耦接至該主記憶體與該控制模組。
- 一種降低傳輸延遲的方法,運作在一主機內部與一外接匯流排裝置,該方法包括:當主機接收到一未備妥封包時,將該主機準備要傳送的一第一資料段儲存於一主機內部的一緩衝儲存單元;當主機收到一端點已備妥封包時,擷取該緩衝儲存單元所儲存的該第一資料段;以及傳送該第一資料段至該外接匯流排裝置。
- 如申請專利範圍第6項所述之降低傳輸延遲的方法,該未備妥封包與該端點已備妥封包係由該外接匯流排裝置送出。
- 如申請專利範圍第6項所述之降低傳輸延遲的方法,該外接匯流排裝置為支援第三代通用序列匯流排的隨身碟或外接硬碟。
- 如申請專利範圍第6項所述之降低傳輸延遲的方法,其中該外接匯流排裝置具有一第二通訊埠,該第二通訊埠與該主機的一第一通訊埠連接,以進行該第一資料段的傳輸。
- 如申請專利範圍第9項所述之降低傳輸延遲的方法,其中該第二通訊埠支援第三代通用序列匯流排。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW100142259A TW201321986A (zh) | 2011-11-18 | 2011-11-18 | 降低傳輸延遲的方法及其控制模組 |
US13/663,479 US20130132619A1 (en) | 2011-11-18 | 2012-10-30 | Method for reducing transmission latency and control module thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW100142259A TW201321986A (zh) | 2011-11-18 | 2011-11-18 | 降低傳輸延遲的方法及其控制模組 |
Publications (1)
Publication Number | Publication Date |
---|---|
TW201321986A true TW201321986A (zh) | 2013-06-01 |
Family
ID=48428045
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW100142259A TW201321986A (zh) | 2011-11-18 | 2011-11-18 | 降低傳輸延遲的方法及其控制模組 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20130132619A1 (zh) |
TW (1) | TW201321986A (zh) |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110022769A1 (en) * | 2009-07-26 | 2011-01-27 | Cpo Technologies Corporation | Translation USB Intermediate Device and Data Rate Apportionment USB Intermediate Device |
CN101673255B (zh) * | 2009-10-21 | 2012-07-11 | 威盛电子股份有限公司 | 通用串行总线主机控制器和通用串行总线主机控制方法 |
CN101692213B (zh) * | 2009-10-23 | 2012-06-27 | 威盛电子股份有限公司 | 通用串行总线主机控制方法和通用串行总线主机控制器 |
-
2011
- 2011-11-18 TW TW100142259A patent/TW201321986A/zh unknown
-
2012
- 2012-10-30 US US13/663,479 patent/US20130132619A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
US20130132619A1 (en) | 2013-05-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3822803A1 (en) | Phy recalibration using a message bus interface | |
EP3133796B1 (en) | Providing a load/store communication protocol with a low power physical unit | |
US9430432B2 (en) | Optimized multi-root input output virtualization aware switch | |
US7802034B2 (en) | Method for performing full transfer automation in a USB controller | |
US20130013823A1 (en) | High Speed USB Hub with Full Speed to High Speed Transaction Translator | |
JP3632695B2 (ja) | データ転送制御装置、電子機器及びデータ転送制御方法 | |
US10261930B2 (en) | System, device and method for transmitting signals between different communication interfaces | |
JP2010061670A (ja) | バス接続システム | |
EP2423822B1 (en) | Methods and apparatus for improved serial advanced technology attachment performance | |
US10671141B2 (en) | Storage device and method of controlling link state thereof | |
JP2008502976A (ja) | 分割トランザクションを処理するためのバス・コントローラ | |
US7853748B2 (en) | Method and apparatus to obtain code data for USB device | |
US8281054B2 (en) | Methods and apparatus for improved host/initiator utilization in serial advanced technology attachment communication | |
TWI423032B (zh) | 提升資料傳輸效能的方法 | |
US8032675B2 (en) | Dynamic memory buffer allocation method and system | |
CN100351824C (zh) | 总线系统和用于连接到总线的总线接口 | |
JP2017520052A (ja) | ユニバーサルシリアルバス(usb)通信システムおよび方法 | |
US8539131B2 (en) | Root hub virtual transaction translator | |
TWI559151B (zh) | 管線排程的控制方法及其控制模組 | |
WO2008134973A1 (fr) | Procédé d'exploitation d'un équipement périphérique, équipement périphérique et hôte | |
TW201224764A (en) | Apparatus for managing interrupt cause and system for processing interrupt | |
TW201321986A (zh) | 降低傳輸延遲的方法及其控制模組 | |
US20070022226A1 (en) | Direct memory access system for iSCSI | |
JP2008107997A (ja) | データ通信方法、データ通信装置及びデータ通信システム | |
CN103744816B (zh) | 通用串行总线设备以及其数据传输方法 |