TWI423032B - 提升資料傳輸效能的方法 - Google Patents
提升資料傳輸效能的方法 Download PDFInfo
- Publication number
- TWI423032B TWI423032B TW098114334A TW98114334A TWI423032B TW I423032 B TWI423032 B TW I423032B TW 098114334 A TW098114334 A TW 098114334A TW 98114334 A TW98114334 A TW 98114334A TW I423032 B TWI423032 B TW I423032B
- Authority
- TW
- Taiwan
- Prior art keywords
- data
- subsystem
- temporary storage
- storage memory
- indication message
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/385—Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Communication Control (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Description
本發明係指一種提升資料傳輸效能的方法,尤指一種由主控端與子系統端間之流程控制來提升資料傳輸效能的方法。
無線通訊網路的不斷發展已大大地改變資訊交流的速度與便利性,因此,隨著相關技術的發展,越來越多的電子裝置(如個人電腦、手持式裝置等)設置有無線收發裝置。無線收發裝置的運作除了透過硬體的電路(如天線、混波器、解調器等)發送或接收無線訊號外,還需透過軟體(如驅動程式)來控制硬體的運作,而軟、硬體間的連結則需透過特定的傳輸介面。
請參考第1圖,第1圖為習知一資料傳輸系統10之示意圖。資料傳輸系統10係用於一無線收發裝置(如無線網路卡),主要由一主控端100、一子系統端102及一傳輸介面104所組成。主控端100係對應於無線收發裝置之軟體部分,用以透過一驅動程式106,控制子系統端102之運作,而子系統端102係對應於硬體部分,用來發送或接收資料封包。傳輸介面104則介於主控端100與子系統端102之間,用來於主控端100與子系統端102間傳遞訊號。資料傳輸系統10的運作方式如下。以發送資料封包為例,驅動程式106先將待傳封包經傳輸介面104傳送至子系統端102中的一非同步先
進先出暫存器(Asynchronous First In First Out,ASYNC FIFO)108,並置於一傳送佇列110中;子系統端102會以先進先出的方式,將傳送佇列110中的待傳封包經一直接記憶體存取(Direct Memory Access,DMA)通道112,存入一暫存記憶體114的一傳送佇列116裡;最後,一媒體存取控制(Medium Access Control,MAC)單元118將待傳封包傳送至一實體收發電路120,以完成資料傳輸的運作。相反地,當接收資料封包時,實體收發電路120所接收之封包會經媒體存取控制單元118存入暫存記憶體114的一接收佇列122,再經一直接記憶體存取通道124,傳送至非同步先進先出暫存器108的一接收佇列126,最後傳送至驅動程式106,進行相關處理。
在資料傳輸系統10中,傳輸介面104係用於主控端100與子系統端102間傳送資料封包。當資料傳輸系統10所對應之無線收發裝置係用於一可攜式行動通訊裝置(如行動電話)時,為了降低功率,傳輸介面104通常以低速介面實現,如安全數位輸入/輸出(Secure Digital Input/Output,SDIO)介面、序列週邊介面(Serial Peripheral Interface,SPI)、通用序列週邊介面(Generic Serial Peripheral Interface,GSPI)等。然而,隨著無線網路技術的演進,資料處理速度已相對提高,以802.11n為例,傳輸速率已提升至50Mbps。在此情形下,當傳輸介面104以SDIO/SPI/GSPI等低速介面來處理資料傳輸時,暫存記憶體114的容量很容易耗盡,以致傳送與接收封包佇列在暫存記憶體114內,可能引起競爭情況(Race Condition),降低傳輸效能。
為了改善上述問題,最直覺的方式是增加暫存記憶體114的容量,使暫存記憶體114不會輕易地達到滿載。然而,增加暫存記憶體114容量的方式顯然會增加生產成本,同時有可能因容量增加造成更長的封包潛伏時間(Packet Latency),亦不利於傳輸速率與傳輸品質。
因此本發明之主要目的即在於提供一種用於一資料傳輸系統中提升資料傳輸效能的方法。
本發明揭露一種用於一資料傳輸系統中提升資料傳輸效能的方法,該資料傳輸系統包含有一主控端、一子系統端及一傳輸介面,該方法包含有該主控端透過該傳輸介面輸出一查詢指令至該子系統端,以查詢該子系統端之該暫存記憶體的可用空間狀態;根據該查詢指令,該子系統端透過該傳輸介面輸出一回覆訊息至該主控端,以指示該暫存記憶體的可用空間狀態;以及根據該回覆訊息,控制該主控端對該子系統端之資料傳輸運作。
本發明另揭露一種用於一資料傳輸系統中提升資料傳輸效能的方法,該資料傳輸系統包含有一主控端、一子系統端及一傳輸介面,該方法包含有該主控端透過該傳輸介面傳送資料至該子系統端之一暫存記憶體;根據該暫存記憶體之儲存狀態,該子系統端產生一指
示訊息並透過該傳輸介面將該指示訊息傳送至該主控端;以及根據該指示訊息,控制該主控端對該子系統端之資料傳輸運作。
請參考第2圖,第2圖為本發明實施例一資料傳輸系統20之示意圖。資料傳輸系統20較佳地用於一無線收發裝置(如無線網路卡),用以提升資料傳輸效能,其包含有一主控端200、一子系統端202及一傳輸介面204。傳輸介面204係一相對較低速之介面(與子系統端202相比),如SDIO、SPI、GSPI等,用來傳遞主控端200與子系統端202間之訊號。主控端200包含有一資料接收單元210、一資料發送單元218、一查詢指令產生單元212及一傳輸控制單元216,而子系統端202包含有一暫存記憶體208、一回覆單元214及一實體收發電路206。關於資料傳輸系統20之運作方式,以下分接收及發送作說明。首先,資料封包的發送或接收皆是由實體收發電路206所執行。當接收資料封包時,實體收發電路206會由無線通道接收資料封包,並將之存入暫存記憶體208。接著,資料接收單元210透過傳輸介面204接收暫存記憶體208所儲存之資料封包,並據以進行後續處理,以完成資料封包之接收運作。另一方面,當發送資料封包時,查詢指令產生單元212先產生一查詢指令QUE_CMD,並透過傳輸介面204發送至子系統端202的回覆單元214。回覆單元214可根據查詢指令QUE_CMD,查詢暫存記憶體208的可用空間狀態,並透過傳輸介面204回傳一回覆訊息RT_MSG,以將相關資訊回覆至主控端200的傳輸控制單元216。
傳輸控制單元216可根據回覆訊息RT_MSG,輸出一控制訊號CTRL_SG至資料發送單元218,以控制資料發送單元218之資料傳輸運作。
簡單來說,當主控端200欲發送資料封包至子系統端202之前,查詢指令產生單元212會產生查詢指令QUE_CMD至回覆單元214,要求回覆單元214回傳回覆訊息RT_MSG至傳輸控制單元216,以取得暫存記憶體208之可用空間的資訊。當收到回覆訊息RT_MSG後,傳輸控制單元216可據以判斷暫存記憶體208的可用空間狀態,進而控制資料發送單元218之資料傳輸運作。例如,當回覆訊息RT_MSG指示暫存記憶體208的可用空間大於一預設位元組Vth(或特定百分比等)時,傳輸控制單元216可透過控制訊號CTRL_SG,控制資料發送單元218開始透過傳輸介面204將資料封包傳送至子系統端202之暫存記憶體208,以由實體收發電路206發送至目的通訊端。相反地,若回覆訊息RT_MSG指示暫存記憶體208的可用空間小於預設位元組Vth,傳輸控制單元216可透過控制訊號CTRL_SG,控制資料發送單元218停止傳輸資料封包至暫存記憶體208;或者,傳輸控制單元216可調整資料封包的大小,以避免暫存記憶體208滿載。
因此,當主控端200欲發送資料封包至子系統端202之前,主控端200會先查詢子系統端202之暫存記憶體208是否有足夠的可用空間,並根據子系統端202的回覆訊息RT_MSG,決定是否進行傳
輸。由於每當主控端200欲進行資料封包發送之前皆會發出查詢指令QUE_CMD查詢暫存記憶體208的可用空間狀態,因此,主控端200能在每一次進行資料封包發送前,根據子系統端202回傳的回覆訊息RT_MSG,了解暫存記憶體208的可用空間狀態,並據以控制傳輸之進行或調整傳送資料封包的大小,以提高暫存記憶體208的使用率。
需注意的是,第2圖所示之資料傳輸系統20係為本發明之實施例,本領域具通常知識者當可據以做不同之修飾或變化。舉例來說,查詢指令QUE_CMD可以藉由標準SDIO/SPI/GSPI指令、專屬郵箱或其它介面等方式來實現。同樣地,回覆訊息RT_MSG較佳地可以夾帶於一回傳封包中或以標準SDIO/SPI/GSPI指令等方式,將暫存記憶體208的可用空間資訊發送至主控端200之傳輸控制單元216。
另一方面,在前述說明中,傳輸控制單元216係根據回覆訊息RT_MSG,控制資料發送單元218開始或停止傳輸。實際上,傳輸控制單元216控制資料發送單元218的方式不限於「開始」及「停止」的兩階段控制。例如,本發明可設定對應於暫存記憶體208之容量的預設位元組(或百分比)Vth1、Vth2,且Vth1<Vth2。當回覆訊息RT_MSG顯示暫存記憶體208之可用空間大於預設位元組Vth2時,傳輸控制單元216控制資料發送單元218開始傳輸;當回覆訊息RT_MSG顯示暫存記憶體208之可用空間介於預設位元組Vth1與Vth2之間時,傳輸控制單元216控制資料發送單元218以
較小之資料封包進行傳輸;以及當回覆訊息RT_MSG顯示暫存記憶體208之可用空間小於預設位元組Vth1時,傳輸控制單元216控制資料發送單元218停止傳輸。當然,上述三階段的控制方式係說明本發明可能的變化方式之一,而非用以限制本發明之範圍。除此之外,需注意的是,第2圖之資料傳輸系統20係用以說明本發明之精神,實際上,本領域具通常知識者當可做適當之變化或修飾,以符合不同需求。
在習知技術中,如第1圖所示,資料傳輸系統10在主控端100發送資料封包至子系統端102時,由於沒有任何相關的資訊指示此時暫存記憶體114的空間使用狀態,使得主控端100不斷將封包傳送至暫存記憶體114傳送,導致當暫存記憶體114的使用狀態已達滿容量時,主控端100可能會很容易地引起競爭情況(Race Condition),並可能導致主控端100停止回應或傳輸速度嚴重地受到影響。相較之下,在本發明之資料傳輸系統20中,當主控端200發送資料封包至子系統端202之前,主控端200皆會查詢暫存記憶體208之可用空間,使得主控端200能充分地掌握暫存記憶體208的使用狀態,不會發生暫存記憶體208滿載之現象,以避免競爭情況,進而提高傳輸速度。
因此,若將本發明之概念應用於資料傳輸系統10之例時,則主控端100在發送資料封包至子系統端102前,需先查詢暫存記憶體114的空間使用狀態。如此一來,針對採用低速傳輸介面之資料傳
輸系統,如用於可攜式行動通訊裝置(如行動電話)之無線收發裝置,本發明可根據暫存記憶體的使用狀態,控制傳輸之進行,避免暫存記憶體滿載,以提升傳輸效能。
關於資料傳輸系統20之運作方式,可進一步歸納為一控制流程30,如第3圖所示。控制流程30包含以下步驟:
步驟300:開始。
步驟302:主控端200之查詢指令產生單元212透過傳輸介面204輸出查詢指令QUE_CMD至子系統端202之回覆單元214,以查詢子系統端202之暫存記憶體208的可用空間狀態。
步驟304:回覆單元214根據查詢指令QUE_CMD,將回覆訊息RT_MSG透過傳輸介面204回傳至傳輸控制單元216,用以指示暫存記憶體208的可用空間狀態。
步驟306:傳輸控制單元216根據回覆訊息RT_MSG,控制資料發送單元218之資料傳輸運作。
步驟308:結束。
流程30係用以說明資料傳輸系統20之運作方式,詳細說明可參考前述,在此不贅述。
在資料傳輸系統20中,每當主控端200欲發送資料至子系統端202時,主控端200皆需主動查詢子系統端202之暫存記憶體208
的使用狀態,然後再經由子系統端202發出的回覆訊息RT_MSG進行後續控制。因此,在操作上,多出了主控端200需輸出查詢指令的動作,且是每一次發送資料時皆要執行此查詢動作,可能影響傳輸速率效能。為了改善上述問題,本發明另提供一種實施例。請參考第4圖,第4圖為本發明實施例一資料傳輸系統40之示意圖。資料傳輸系統40包含有一主控端400、一子系統端402及一傳輸介面404。傳輸介面404係一相對較低速之介面(與子系統端402相比),如SDIO、SPI、GSPI等,用來傳遞主控端400與子系統端402間之訊號。主控端400包含有一資料接收單元410、一資料發送單元412及一傳輸控制單元416,而子系統端402包含有一暫存記憶體408、一控制單元414及一實體收發電路406。關於資料傳輸系統40之運作方式,分為接收及發送作以下說明。首先,資料封包的發送或接收皆由實體收發電路406所執行。當接收資料封包時,資料封包會經由無線通道接收至實體收發電路406,並將之存入暫存記憶體408。接著,資料接收單元410會透過傳輸介面404接收暫存記憶體408所儲存之資料封包,並據以進行後續處理,以完成資料封包之接收運作。另一方面,當發送資料封包時,資料發送單元412開始持續發送資料封包至暫存記憶體408,當暫存記憶體408之容量到達一預設位元組Vth(或特定百分比等)時,控制單元414會發出一指示訊息IND_MSG,並透過傳輸介面404傳輸至主控端400的傳輸控制單元416。傳輸控制單元416則根據指示訊息IND_MSG產生一控制訊號CTRL_SG1至資料發送單元412,以控制資料發送單元412之資料傳輸運作。
簡單來說,主控端400在發送資料封包前,不會「主動」查詢暫存記憶體408之容量,而是「被動」接收指示訊息IND_MSG,並據以控制傳輸之進行。亦即,主控端400係持續發送資料封包至子系統端402,當暫存記憶體408之容量達到預設位元組Vth(或特定百分比等)時,控制單元414發出指示訊息IND_MSG至傳輸控制單元416,以控制資料發送單元412之資料傳輸運作。
由於當主控端400欲發送資料封包至子系統端402之前,主控端400不需先查詢子系統端402之暫存記憶體408是否有足夠的可用空間,即可開始進行傳輸,因此,可省略主控端400主動查詢的動作。也就是說,在資料傳輸系統40中,主控端400為非主動行為,係於子系統端402的暫存記憶體408接收資料封包已達到預設之滿載容量時,主動發出指示訊息IND_MSG來控制主控端400的資料傳輸運作。如此一來,由於省略掉主控端400主動發出查詢動作,意即不需要實行額外的查詢指令,因此可提升介面間的資料處理的速度與效率。
在第4圖中,控制單元414係根據暫存記憶體408之容量,輸出指示訊息IND_MSG,其實現方式可根據不同需求而有所不同。舉例來說,請參考第5圖,第5圖為第4圖中控制單元414之一實施例之示意圖。在第5圖中,控制單元414係由一設定單元500及一比較單元502所組成。設定單元500用來設定暫存記憶體408之一
高儲存臨限值Vth_H及一低儲存臨限值Vth_L,而比較單元502則用來將暫存記憶體408之一儲存容量值MEM_VAL與高儲存臨限值Vth_H及低儲存臨限值Vth_L比較,以產生指示訊息IND_MSG來控制主控端400的資料傳輸運作。詳細運作如下,當主控端400持續發送資料封包至暫存記憶體408時,控制單元414中的比較單元502會查詢暫存記憶體408的儲存容量值MEM_VAL,並與設定單元500中由使用者(或系統)預設的高儲存臨限值Vth_H及低儲存臨限值Vth_L比較(可以數值或百分比等來實施)。當儲存容量值MEM_VAL大於高儲存臨限值Vth_H時,則比較單元502輸出對應的指示訊息IND_MSG至傳輸控制單元416,則傳輸控制單元416可透過控制訊號CTRL_SG1要求資料發送單元412停止資料傳輸之運作,以避免暫存記憶體408滿載。當暫存記憶體408中的儲存容量值MEM_VAL降至低於低儲存臨限值Vth_L時,比較單元502則輸出對應指示訊息IND_MSG至傳輸控制單元416,以要求恢復資料發送單元412資料傳輸之運作。
在第5圖中,控制單元414係透過設定暫存記憶體408之高儲存臨限值Vth_H及低儲存臨限值Vth_L的概念來實現,由於此機制不需要主控端400執行額外的查詢動作,因此可提升介面間的資料處理速度與效率。然而,因為暫存記憶體中的儲存容量係為動態的變化,儲存臨限值係為固定的設定值,要取得一適當的儲存臨限值來因應動態變化的暫存記憶體有其一定的難度。因此,為改善並提升暫存記憶體之使用效能,本發明另提供一實施例,其詳細說明如下。
請參考第6圖,第6圖為第4圖中控制單元414之另一實施例之示意圖。在第6圖中,控制單元414包含有一滑動視窗產生單元600、一滑動視窗602、一滑動視窗維護單元604及一指示訊息產生單元606。滑動視窗產生單元600用來產生滑動視窗602;滑動視窗維護單元604用來根據暫存記憶體408之每筆收發資料,調整滑動視窗602之長度,以記錄暫存記憶體408之儲存容量值MEM_VAL;而指示訊息產生單元606則用來根據滑動視窗602之長度,產生指示訊息IND_MSG來控制主控端400的資料傳輸運作。滑動視窗602的運作方式,以下列舉兩種控制方式。
第一種控制方式如下,當暫存記憶體408接收到一筆資料時,滑動視窗維護單元604增加滑動視窗602之長度,並於暫存記憶體408輸出一筆資料時,減少滑動視窗602之長度,以記錄暫存記憶體408之儲存容量值MEM_VAL。指示訊息產生單元606根據儲存容量值MEM_VAL與一預設值Vth3(或預設百分比等)比較,當儲存容量值MEM_VAL<預設值Vth3時,主控端400根據指示訊息產生單元606產生的指示訊息IND_MSG所指示的暫存記憶體408之儲存狀態,調整傳輸至暫存記憶體408之資料封包大小;當儲存容量值MEM_VAL>預設值Vth3時,指示訊息產生單元606輸出指示訊息IND_MSG請求主控端400停止資料傳輸運作;以及當儲存容量值MEM_VAL由高於預設值Vth3降至低於預設值Vth3,指示訊息產生單元606輸出指示訊息IND_MSG請求主控端400恢復資料傳輸
運作。
第二種控制方式為,當暫存記憶體408接收到一筆資料時,滑動視窗維護單元604減少滑動視窗602之長度,並於暫存記憶體408輸出一筆資料時,增加滑動視窗602之長度,以記錄暫存記憶體408之儲存容量值MEM_VAL。指示訊息產生單元606根據儲存容量值MEM_VAL與一預設值Vth3(或預設百分比等)比較,當儲存容量值MEM_VAL>預設值Vth3時,主控端400根據指示訊息產生單元606產生的指示訊息IND_MSG所指示的暫存記憶體408之儲存狀態,調整傳輸至暫存記憶體408之資料封包大小;當儲存容量值MEM_VAL<預設值Vth3時,指示訊息產生單元606輸出指示訊息IND_MSG請求主控端400停止資料傳輸運作;以及當儲存容量值MEM_VAL由低於預設值Vth3升至高於預設值Vth3,指示訊息產生單元606輸出指示訊息IND_MSG請求主控端400恢復資料傳輸運作。
當然,上述兩種的滑動視窗之控制方式係說明本發明可能的變化方式之一,本領域具通常知識者當可據以做不同之修飾或變化。需注意的是,指示訊息IND_MSG可以藉由硬體中斷、專屬郵箱或其它介面等方式來實現。同樣地,指示訊息IND_MSG較佳地可以夾帶於一回傳封包中或以主控端與子系統端之間的控制訊號等方式,將暫存記憶體408的儲存空間資訊發送至主控端400之傳輸控制單元416。
在第6圖中,本發明之實施例係以一滑動視窗概念來即時維護暫存記憶體的使用空間,根據每筆收發資料來調整滑動視窗的長度,可充分掌握暫存記憶體的儲存容量值,進而控制相關的資料傳輸運作。由於此實施方式不需要主控端執行額外的查詢動作,因此可提升介面間的資料處理速度與效率。再者,由於滑動視窗可即時記錄暫存記憶體的使用空間,使得動態變化的暫存記憶體容量可被有效的管理,輸出即時且有用的資訊來控制主控端的資料傳輸運作,進而提升暫存記憶體的使用效能。
由上述可知,資料傳輸系統40係主控端400為非主動之流程控制機制,與資料傳輸系統20相較之下,不需要額外的查詢指令QUE_CMD來查詢暫存記憶體408的可用空間狀態,而是由子系統端402利用控制單元414的相關機制來發出指示訊息IND_MSG至主控端400,以控制資料的傳輸運作。由於少了主控端400主動查詢的步驟及額外的查詢指令,因此可提升介面間的資料處理速度與效率。
關於資料傳輸系統40之運作方式,可進一步歸納為一控制流程70,如第7圖所示。控制流程70包含以下步驟:
步驟700:開始。
步驟702:主控端400透過傳輸介面404傳送資料至子系統端402之暫存記憶體408。
步驟704:子系統端402根據暫存記憶體408之儲存狀態,產生指示訊息IND_MSG並透過傳輸介面404將指示訊息IND_MSG傳送至主控端400。
步驟706:主控端400根據指示訊息IND_MSG,控制對子系統端402之資料傳輸運作。
步驟708:結束。
流程70係用以說明資料傳輸系統40之運作方式,詳細說明可參考前述,在此不贅述。
因此,針對子系統端之資料處理速度高於傳輸介面之資料傳輸速度的資料傳輸系統,如用於可攜式行動通訊裝置(如行動電話)之無線收發裝置,本發明提供了兩大類控制方式。第一類方式為「主動式」(對主控端而言),亦即由主控端主動查詢子系統端之暫存記憶體的狀態。第二類為「被動式」(同樣對主控端而言),其係由子系統端根據暫存記憶體的狀態,回覆相關訊息于主控端。其中,第二類又提供了兩種實施方式,可適用於不同需求。
綜上所述,針對採用低速傳輸介面之資料傳輸系統,本發明可有效避免暫存記憶體滿載的發生,使暫存記憶體的容量可被有效的管理,進而提升傳輸速度與效率。
以上所述僅為本發明之較佳實施例,凡依本發明申請專利範圍
所做之均等變化與修飾,皆應屬本發明之涵蓋範圍。
QUE_CMD‧‧‧查詢指令
RT_MSG‧‧‧回覆訊息
CTRL_SG‧‧‧控制訊號
IND_MSG‧‧‧指示訊息
Vth_H‧‧‧高儲存臨限值
Vth_L‧‧‧低儲存臨限值
MEM_VAL‧‧‧儲存容量值
CTRL_SG1‧‧‧控制訊號
10、20、40‧‧‧資料傳輸系統
100、200、400‧‧‧主控端
102、202、402‧‧‧子系統端
104、204、404‧‧‧傳輸介面
106‧‧‧驅動程式
108‧‧‧非同步先進先出暫存器
110、116‧‧‧傳送佇列
112、124‧‧‧直接記憶體存取
114、208、408‧‧‧暫存記憶體
118‧‧‧媒體存取控制
120、206、406‧‧‧實體收發電路
122、126‧‧‧接收佇列
210、410‧‧‧資料接收單元
212‧‧‧查詢指令產生單元
214‧‧‧回覆單元
216、416‧‧‧傳輸控制單元
218、412‧‧‧資料發送單元
414‧‧‧控制單元
500‧‧‧設定單元
502‧‧‧比較單元
600‧‧‧滑動視窗產生單元
602‧‧‧滑動視窗
604‧‧‧滑動視窗維護單元
606‧‧‧指示訊息產生單元
30、70‧‧‧流程
300、302、304、306、308、700、702、704、706、708‧‧‧步驟
第1圖為習知一資料傳輸系統之示意圖。
第2圖為本發明實施例之一資料傳輸系統之示意圖。
第3圖為本發明一實施例流程之示意圖。
第4圖為本發明另一實施例之一資料傳輸系統之示意圖。
第5圖為根據第4圖之控制單元之一實施例之示意圖。
第6圖為根據第4圖之控制單元之另一實施例之示意圖。
第7圖為本發明另一實施例流程之示意圖。
QUE_CMD‧‧‧查詢指令
RT_MSG‧‧‧回覆訊息
CTRL_SG‧‧‧控制訊號
20‧‧‧資料傳輸系統
200‧‧‧主控端
202‧‧‧子系統端
204‧‧‧傳輸介面
206‧‧‧實體收發電路
208‧‧‧暫存記憶體
210‧‧‧資料接收單元
212‧‧‧查詢指令產生單元
214‧‧‧回覆單元
216‧‧‧傳輸控制單元
218‧‧‧資料發送單元
Claims (21)
- 一種用於一資料傳輸系統中的方法,該資料傳輸系統包含一主控端、一子系統端及一傳輸介面,用來由該主控端透過該傳輸介面收發該子系統端之一暫存記憶體的資料,該方法包含有:該主控端透過該傳輸介面輸出一查詢指令至該子系統端,以查詢該子系統端之該暫存記憶體的可用空間狀態;根據該查詢指令,該子系統端透過該傳輸介面輸出一回覆訊息至該主控端,以指示該暫存記憶體的可用空間狀態;以及根據該回覆訊息,控制該主控端對該子系統端之資料傳輸運作。
- 如請求項1所述之方法,其中該回覆訊息係夾帶於一封包中。
- 如請求項1所述之方法,其中根據該回覆訊息控制該主控端對該子系統端之資料傳輸運作之步驟,係於該回覆訊息顯示該暫存記憶體之可用空間小於一預設值時,停止該主控端透過該傳輸介面將資料傳送至該子系統端之該暫存記憶體。
- 如請求項1所述之方法,其中根據該回覆訊息控制該主控端對該子系統端之資料傳輸運作之步驟,係於該回覆訊息顯示該暫存記憶體之可用空間大於一預設值時,控制該主控端透過該傳輸介面將資料傳送至該子系統端之該暫存記憶體。
- 如請求項1所述之方法,其中根據該回覆訊息控制該主控端對 該子系統端之資料傳輸運作之步驟,係根據該回覆訊息所指示之該暫存記憶體的可用空間狀態,調整該主控端傳輸至該子系統端之資料封包大小。
- 如請求項1所述之方法,其中該子系統端之資料處理速度高於該傳輸介面之資料傳輸速度。
- 如請求項1所述之方法,其中該傳輸介面係一安全數位輸入/輸出介面、一序列週邊介面或一通用序列週邊介面。
- 一種用於一資料傳輸系統中的方法,該資料傳輸系統包含一主控端、一子系統端及一傳輸介面,該方法包含有:該主控端透過該傳輸介面傳送資料至該子系統端之一暫存記憶體;根據該暫存記憶體之儲存狀態,該子系統端產生一指示訊息並透過該傳輸介面將該指示訊息傳送至該主控端;以及根據該指示訊息,控制該主控端對該子系統端之資料傳輸運作;其中根據該指示訊息控制該主控端對該子系統端之資料傳輸運作之步驟包括,係根據該指示訊息所指示之該暫存記憶體之儲存狀態,調整該主控端傳輸至該子系統端之資料封包大小。
- 如請求項8所述之方法,其中根據該暫存記憶體之儲存狀態, 該子系統端產生該指示訊息並透過該傳輸介面將該指示訊息傳送至該主控端之步驟,包含有:設定該暫存記憶體之一高儲存臨限值及一低儲存臨限值;以及將該暫存記憶體之一儲存容量值與該高儲存臨限值及該低儲存臨限值比較,以產生該指示訊息並透過該傳輸介面將該指示訊息傳送至該主控端。
- 如請求項9所述之方法,其中根據該指示訊息控制該主控端對該子系統端之資料傳輸運作之步驟,係於該指示訊息指示該儲存容量值高於該高儲存臨限值時,停止該主控端透過該傳輸介面將資料傳送至該子系統端之該暫存記憶體。
- 如請求項10所述之方法,其另包含於該指示訊息指示該儲存容量值由高於該低儲存臨限值降至低於該低儲存臨限值時,恢復該主控端透過該傳輸介面將資料傳送至該子系統端之該暫存記憶體。
- 如請求項8所述之方法,其中根據該暫存記憶體之儲存狀態,該子系統端產生該指示訊息並透過該傳輸介面將該指示訊息傳送至該主控端之步驟,包含有:產生一滑動視窗;根據該暫存記憶體之每一筆收發資料,調整該滑動視窗之長度,以記錄該暫存記憶體之儲存容量值;以及 根據該滑動視窗之長度,該子系統端產生該指示訊息並透過該傳輸介面將該指示訊息傳送至該主控端。
- 如請求項12所述之方法,其中根據該暫存記憶體之每一筆收發資料,調整該滑動視窗之長度,以記錄該暫存記憶體之儲存容量值之步驟,係於該暫存記憶體接收到一筆資料時,增加該滑動視窗之長度,並於該暫存記憶體輸出一筆資料時,減少該滑動視窗之長度,以記錄該暫存記憶體之儲存容量值。
- 如請求項13所述之方法,其中根據該指示訊息控制該主控端對該子系統端之資料傳輸運作之步驟,係於該指示訊息指示該滑動視窗之長度大於一預設值時,停止該主控端透過該傳輸介面將資料傳送至該子系統端之該暫存記憶體。
- 如請求項14所述之方法,其另包含於該指示訊息指示該滑動視窗之長度由高於該預設值降至低於該預設值時,恢復該主控端透過該傳輸介面將資料傳送至該子系統端之該暫存記憶體。
- 如請求項12所述之方法,其中根據該暫存記憶體之每一筆收發資料,調整該滑動視窗之長度,以記錄該暫存記憶體之儲存容量值之步驟,係於該暫存記憶體接收到一筆資料時,減少該滑動視窗之長度,並於該暫存記憶體輸出一筆資料時,增加該滑動視窗之長度,以記錄該暫存記憶體之儲存容量值。
- 如請求項16所述之方法,其中根據該指示訊息控制該主控端對該子系統端之資料傳輸運作之步驟,係於該指示訊息指示該滑動視窗之長度小於一預設值時,停止該主控端透過該傳輸介面將資料傳送至該子系統端之該暫存記憶體。
- 如請求項17所述之方法,其另包含於該指示訊息指示該滑動視窗之長度由低於該預設值升至高於該預設值時,恢復該主控端透過該傳輸介面將資料傳送至該子系統端之該暫存記憶體。
- 如請求項8所述之方法,其中該指示訊息係夾帶於一封包中。
- 如請求項8所述之方法,其中該子系統端之資料處理速度高於該傳輸介面之資料傳輸速度。
- 如請求項8所述之方法,其中該傳輸介面係一安全數位輸入/輸出介面、一序列週邊介面或一通用序列週邊介面。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW098114334A TWI423032B (zh) | 2009-04-30 | 2009-04-30 | 提升資料傳輸效能的方法 |
| US12/580,278 US8683094B2 (en) | 2009-04-30 | 2009-10-16 | Method for enhancing data transmission efficiency |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW098114334A TWI423032B (zh) | 2009-04-30 | 2009-04-30 | 提升資料傳輸效能的方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| TW201039138A TW201039138A (en) | 2010-11-01 |
| TWI423032B true TWI423032B (zh) | 2014-01-11 |
Family
ID=43031237
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW098114334A TWI423032B (zh) | 2009-04-30 | 2009-04-30 | 提升資料傳輸效能的方法 |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US8683094B2 (zh) |
| TW (1) | TWI423032B (zh) |
Families Citing this family (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP6156720B2 (ja) * | 2010-10-29 | 2017-07-05 | 日本電気株式会社 | データ記憶制御システム、データ記憶制御方法およびデータ記憶制御プログラム |
| US10104168B2 (en) * | 2011-12-12 | 2018-10-16 | International Business Machines Corporation | Method for managing throughput in a distributed storage network |
| CN103744619A (zh) * | 2013-12-24 | 2014-04-23 | 中国科学院深圳先进技术研究院 | 一种提高设备的数据处理速度的方法、装置和系统 |
| CN105988955B (zh) * | 2015-02-06 | 2019-11-01 | 澜起科技股份有限公司 | Sdio设备及其应用的电子装置和数据传输方法 |
| CN104899482B (zh) * | 2015-03-31 | 2018-09-28 | 北京京东尚科信息技术有限公司 | 限制批量请求服务的方法和装置 |
| TWI610179B (zh) * | 2016-12-07 | 2018-01-01 | 慧榮科技股份有限公司 | 主機裝置與資料傳輸速率控制方法 |
| CN108170370B (zh) | 2016-12-07 | 2021-01-26 | 慧荣科技股份有限公司 | 数据储存装置与数据传输速率控制方法 |
Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TW247948B (en) * | 1994-10-20 | 1995-05-21 | Accton Technology Corp | Network card |
| US5916309A (en) * | 1997-05-12 | 1999-06-29 | Lexmark International Inc. | System for dynamically determining the size and number of communication buffers based on communication parameters at the beginning of the reception of message |
| TW546931B (en) * | 2002-04-03 | 2003-08-11 | Via Tech Inc | Method and relevant device for reducing power consumption of network connecting system |
| TW575809B (en) * | 2002-07-19 | 2004-02-11 | Rdc Semiconductor Co Ltd | Method and system for calculating dynamic burst length |
| US20060141946A1 (en) * | 2004-12-29 | 2006-06-29 | Rush Frederick A | Communication apparatus having a standard serial communication interface compatible with radio isolation |
| US7299321B2 (en) * | 1997-11-14 | 2007-11-20 | Braun Adam C | Memory and force output management for a force feedback system |
Family Cites Families (21)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5063562A (en) * | 1990-05-23 | 1991-11-05 | International Business Machines Corporation | Flow control for high speed networks |
| US5289470A (en) * | 1992-12-14 | 1994-02-22 | International Business Machines Corp. | Flexible scheme for buffer space allocation in networking devices |
| JPH06350950A (ja) * | 1993-06-08 | 1994-12-22 | Nikon Corp | 電子スチルカメラ |
| US5541919A (en) * | 1994-12-19 | 1996-07-30 | Motorola, Inc. | Multimedia multiplexing device and method using dynamic packet segmentation |
| FI98023C (fi) | 1995-05-09 | 1997-03-25 | Nokia Telecommunications Oy | Liukuvaan ikkunaan perustuva datavuonohjaus, joka käyttää säädettävää ikkunakokoa |
| US6404776B1 (en) * | 1997-03-13 | 2002-06-11 | 8 × 8, Inc. | Data processor having controlled scalable input data source and method thereof |
| US6646987B1 (en) * | 1998-10-05 | 2003-11-11 | Nortel Networks Limited | Method and system for transmission control protocol (TCP) packet loss recovery over a wireless link |
| US7187947B1 (en) * | 2000-03-28 | 2007-03-06 | Affinity Labs, Llc | System and method for communicating selected information to an electronic device |
| US6745260B1 (en) * | 2000-12-20 | 2004-06-01 | Adaptec, Inc. | Method and system for data streaming during the data in phase of the packetized SCSI protocol |
| US7161978B2 (en) * | 2001-08-29 | 2007-01-09 | Texas Instruments Incorporated | Transmit and receive window synchronization |
| US6744730B2 (en) * | 2001-11-30 | 2004-06-01 | Nokia Corporation | Throughput enhancement after interruption |
| US7586909B1 (en) * | 2002-03-06 | 2009-09-08 | Agere Systems Inc. | Striping algorithm for switching fabric |
| US7287086B2 (en) * | 2003-07-09 | 2007-10-23 | Internatinonal Business Machines Corporation | Methods, systems and computer program products for controlling data transfer for data replication or backup based on system and/or network resource information |
| US7003597B2 (en) * | 2003-07-09 | 2006-02-21 | International Business Machines Corporation | Dynamic reallocation of data stored in buffers based on packet size |
| US7870268B2 (en) * | 2003-09-15 | 2011-01-11 | Intel Corporation | Method, system, and program for managing data transmission through a network |
| US7296100B1 (en) * | 2003-10-06 | 2007-11-13 | Redpine Signals, Inc. | Packet buffer management apparatus and method |
| US7213086B2 (en) * | 2003-10-28 | 2007-05-01 | Hewlett-Packard Development Company, L.P. | System having a storage controller that modifies operation of a storage system based on the status of a data transfer |
| US7889654B2 (en) * | 2005-03-30 | 2011-02-15 | At&T Intellectual Property Ii, L.P. | Loss tolerant transmission control protocol |
| KR100675849B1 (ko) * | 2005-05-21 | 2007-02-02 | 삼성전자주식회사 | 화상형성장치와 그 수행작업 저장방법 |
| US7743183B2 (en) | 2005-05-23 | 2010-06-22 | Microsoft Corporation | Flow control for media streaming |
| US8306062B1 (en) * | 2008-12-31 | 2012-11-06 | Marvell Israel (M.I.S.L) Ltd. | Method and apparatus of adaptive large receive offload |
-
2009
- 2009-04-30 TW TW098114334A patent/TWI423032B/zh not_active IP Right Cessation
- 2009-10-16 US US12/580,278 patent/US8683094B2/en active Active
Patent Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TW247948B (en) * | 1994-10-20 | 1995-05-21 | Accton Technology Corp | Network card |
| US5916309A (en) * | 1997-05-12 | 1999-06-29 | Lexmark International Inc. | System for dynamically determining the size and number of communication buffers based on communication parameters at the beginning of the reception of message |
| US7299321B2 (en) * | 1997-11-14 | 2007-11-20 | Braun Adam C | Memory and force output management for a force feedback system |
| TW546931B (en) * | 2002-04-03 | 2003-08-11 | Via Tech Inc | Method and relevant device for reducing power consumption of network connecting system |
| TW575809B (en) * | 2002-07-19 | 2004-02-11 | Rdc Semiconductor Co Ltd | Method and system for calculating dynamic burst length |
| US20060141946A1 (en) * | 2004-12-29 | 2006-06-29 | Rush Frederick A | Communication apparatus having a standard serial communication interface compatible with radio isolation |
Also Published As
| Publication number | Publication date |
|---|---|
| US20100281189A1 (en) | 2010-11-04 |
| TW201039138A (en) | 2010-11-01 |
| US8683094B2 (en) | 2014-03-25 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11176068B2 (en) | Methods and apparatus for synchronizing uplink and downlink transactions on an inter-device communication link | |
| TWI423032B (zh) | 提升資料傳輸效能的方法 | |
| RU2436147C2 (ru) | Усовершенствованный беспроводной usb-протокол и usb-концентратор | |
| US7640385B2 (en) | Dual-mode bus station and system for communications | |
| KR101497001B1 (ko) | 그래픽스 멀티미디어 ic 및 그것의 동작 방법 | |
| US20050033877A1 (en) | Method and apparatus for extending the range of the universal serial bus protocol | |
| US7058747B2 (en) | Bus system and bus interface for connection to a bus | |
| US7043589B2 (en) | Bus system and bus interface | |
| TWI559151B (zh) | 管線排程的控制方法及其控制模組 | |
| CN117908668B (zh) | 一种混合虚拟设备的构建方法和装置 | |
| CN101877622B (zh) | 提升数据传输效能的方法 | |
| CN112770356B (zh) | 数据传输方法和电子设备 | |
| US20130198548A1 (en) | Apparatus and method for saving power of usb device | |
| WO2012058875A1 (zh) | 一种串行通信的方法和系统 | |
| US20070022226A1 (en) | Direct memory access system for iSCSI | |
| CN116636183A (zh) | 计算机系统及总线流量控制方法 | |
| US20240397576A1 (en) | Wireless communication method and device | |
| JP2014222466A (ja) | 情報処理装置、情報処理システムおよび情報処理システムの通信方法 | |
| KR101065588B1 (ko) | 하드웨어 기반의 객체 교환(obex) 모듈, 그 모듈을 포함한 송수신 장치 및 그 프로토콜 모듈을 이용한 송수신 방법 | |
| CN120447975A (zh) | 一种确定时间参数的方法及装置 | |
| US20130132619A1 (en) | Method for reducing transmission latency and control module thereof | |
| KR101307746B1 (ko) | 이동통신 단말기의 데이터 처리 방법 | |
| CN113472964A (zh) | 一种图像处理装置和系统 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| MM4A | Annulment or lapse of patent due to non-payment of fees |