新四季網

用於主從接口的基於包的數據傳輸系統與方法

2023-05-28 09:51:46


專利名稱::用於主從接口的基於包的數據傳輸系統與方法
技術領域:
:本發明有關於用於主從接口的數據傳輸方法與對應的裝置;特別地,本發明提供了一種數據傳輸方法,其中主裝置使用直接存儲器存取來解包自從裝置接收的包括多個數據單元的數據流,而不需要存儲器拷貝。
背景技術:
:安全數字輸入輸出(SecureDigitalInputOutput,以下簡稱為SDI0)是使用安全數字(SecureDigital,以下簡稱為SD)卡而不是快閃記憶體(flashmemory)卡作為裝置的組成要素(formfactor)的接口。該裝置(SDI0接口的從裝置)可包括全球定位系統(GlobalPositioningSystem,GPS)接收器、無線保真(Wi-Fi)或者藍牙(bluetooth)傳輸器(adapter)、數據機(modem,modulator-demodulator)、以太傳輸器(Ethernetadapter)、條碼掃貓器(barcodereader),紅外數據協會(IrDA,InfraredDataAssociation)傳輸器、調頻收音機(FMradio)調諧器(tuner)、電視(TV)調諧器、射頻識別(RadioFrequencyIdentification,RFID)讀取器(reader),數位相機(digitalcamera)>大容量存儲媒體(massstoragemedia)例如硬碟驅動(harddrive)等。支持SDIO的主裝置(SDI0接口的主裝置)可為個人數字助理(personaldigitalassistant,PDA)、膝上電腦(laptopcomputer)、手機(「智慧型手機(smartphone)」)等。現有的使用SDIO接口的主從系統(host-slavesystem)中,主裝置控制數據傳輸,從裝置僅僅根據主裝置的請求來移動(move)數據。從裝置不能發起(initiate)數據傳輸。數據傳輸中,主裝置的請求發送與從裝置的請求接收之間有一個時間延遲(timedelay),類似地,從裝置的響應發送(responsesending)與主裝置的響應接收之間也有一個時間延遲。此種情況被稱為命令間延遲(inter-commanddelay)。因為從裝置必須等待主裝置來請求數據,所以與請求命令相關的命令間延遲會引發數據傳輸的延遲。命令間延遲可多達幾百毫秒(microsecond)。
發明內容本發明有關於安全數字輸入輸出或其它主從系統與相關方法,其中從裝置傳輸包括多個數據段的數據流以及主裝置使用直接存儲器存取以將數據段解包為單獨的數據段。本發明的一個目標是提供一種用於安全數字輸入輸出或其它主從接口的有效的數據傳輸方法。本發明的其它特性與優點在下文的實施方式部分進行描述,其可自實施方式的描述或者自實施本發明的過程中得出。在結合附圖來參考實施方式和權利要求中指出的結構之後,本發明的目標和其它優點可被理解並實現。為達到這些目標和其它優點,在下文的實施方式中,本發明提供一種實施於主從數據傳輸系統的數據傳輸方法,其中從裝置與外部裝置進行數據通信,所述方法包括(a)從裝置自外部裝置接收數據並將接收的數據存儲於從裝置的緩衝器中,所述數據包括多個數據段;(b)從裝置獲取數據段大小信息,所述信息用於設定所述多個數據段的每一者的大小;(c)從裝置通過帶外通道將數據段大小信息發送至主裝置;(d)主裝置通過帶外通道自從裝置接收所述數據段大小信息;(e)主裝置產生一個或者多個描述符表,每一個描述符表包括多個描述符,每一個描述符定義從裝置與主裝置的系統存儲器之間的一個數據傳輸,每一個描述符用於設定系統存儲器中的地址和準備傳輸的數據的長度,其中描述符中設定的長度是依據自從裝置接收的數據段大小信息;(f)主裝置發出數據傳輸命令至從裝置以傳輸所述多個數據段;(g)為響應數據傳輸命令,從裝置以一個數據流來傳輸所述多個數據段;以及(h)主裝置根據描述符表執行直接存儲器存取,以將包括在所述數據流中的一些獨立的所述多個數據段中的一部分單獨的數據段存儲於主裝置的系統存儲器的設定的地址。在另一種實施方式中,本發明提供一種實施於主從數據傳輸系統的數據傳輸方法,其中從裝置與外部裝置進行數據通信,所述方法包括(a)從裝置自外部裝置接收數據且將接收的數據存儲於從裝置的緩衝器中,所述數據包括第一多個數據段和第二多個數據段;(b)從裝置獲取數據段大小信息,所述數據段大小信息用於設定第二多個數據段中的每一個數據段的大小;(C)為響應自主裝置的第一數據傳輸命令,從裝置產生第一數據流並將第一數據流發送至主裝置,所述第一數據流包括第一多個數據段和多個輔助段,其中輔助段包括數據段大小信息,所述信息用於設定所述第二多個數據段的大小;(d)主裝置接收第一數據流並自所述多個輔助段獲取數據段大小信息;(e)主裝置產生一個或者多個描述符表,每一描述符表包括多個描述符,每一個描述符定義從裝置與主裝置的系統存儲器之間的一個數據傳輸,每一個描述符用於設定系統存儲器中的地址以及準備傳輸的數據的長度,其中描述符中設定的長度是依據步驟(d)中獲得的數據段大小信息;(f)主裝置發出第二數據傳輸命令至從裝置以作為數據流傳輸所述第二多個數據段;(g)為響應第二數據傳輸命令,從裝置在第二數據流中傳輸所述第二多個數據段;以及(h)主裝置根據描述符表執行直接存儲器存取以將第二數據流中包括的所述第二多個數據段中的一部分單獨的數據段存儲於主裝置的系統存儲器的設定的地址。在另一種實施方式中,本發明提供一種數據傳輸方法,用於主從系統的主裝置,所述數據傳輸方法包括自從裝置接收一個或者多個數據流,所述數據流包括第一多個數據段和多個輔助段;自所述多個輔助段的至少一部分獲取數據段大小信息,所述數據段大小信息用於設定存儲於所述從裝置的第二多個數據段的大小;產生一個或者多個描述符表,描述符表包括多個描述符,每一個描述符定義從裝置與主裝置的系統存儲器之間的數據傳輸,每一個描述符設定所述系統存儲器的地址和準備傳輸的數據的長度,其中所述描述符依據所述數據段大小信息設定所述長度;發出傳輸命令至所述從裝置以數據流傳輸所述第二多個數據段;根據所述描述符表執行直接存儲器存取,以將自從裝置的數據流的第二多個數據段中的一部分單獨的數據段存儲於主裝置的系統存儲器的所述設定地址。在另一種實施方式中,本發明提供一種主從系統中的主裝置,包括處理器;以及系統存儲器,用於存儲由處理器執行的數據和程序代碼,所述程序代碼用於引發處理器執行一個數據傳輸程序,數據傳輸程序包括自從裝置接收一個或者多個數據流,所述數據流包括第一多個數據段和多個輔助段;自多個輔助段的至少一部分獲取數據段大小信息,數據段大小信息用於設定存儲於從裝置的第二多個數據段的大小;產生一個或者多個描述符表,所述描述符表包括多個描述符,每一個描述符用於定義主裝置的系統存儲器與從裝置之間的數據傳輸,每一個描述符設定所述系統存儲器的一個地址和準備傳輸的數據的長度,其中描述符設定的長度是依據數據段大小信息;發出傳輸命令至從裝置,以作為數據流傳輸第二多個數據段;根據描述符表執行直接存儲器存取,以將自從裝置的數據流的第二多個數據段中的一部分單獨的數據段存儲於主裝置的系統存儲器的已設定的地址。在另一種實施方式中,本發明提供一種從裝置,連接至主從系統的主裝置,從裝置用於主裝置與外部裝置之間的數據通信,從裝置包括緩衝器,用於存儲自外部裝置接收的數據,所述數據包括第一多個數據段和第二多個數據段;控制電路,耦接至緩衝器,用於獲取數據段大小信息,數據段大小信息用於設定緩衝器內的第二多個數據段中的每一個數據段的大小;以及合併電路,耦接至緩衝器和控制電路,用於產生數據流並將數據流傳輸至主裝置,以響應自主裝置的數據傳輸命令,所述數據流包括第一多個數據段和多個輔助段,其中輔助段包括數據段大小信息。在另一種實施方式中,本發明提供一種方法,實施於主從系統的從裝置,以協助主裝置和外部裝置之間的數據通信,所述方法包括將自外部裝置接收的數據存儲至從裝置·的緩衝器,所述數據包括第一多個數據段和第二多個數據段;獲取數據段大小信息,其中數據段大小信息用於設定緩衝器內的第二多個數據段中的每一個數據段的大小;以及產生一數據流並將數據流傳輸至主裝置,以響應自主裝置的數據傳輸命令,數據流包括第一多個數據段和多個輔助段,其中輔助段包括數據段大小信息。在結合附圖閱讀下文的實施方式中的較佳實施方式之後,本領域的技術人員應可理解本發明的上述和其它優點。圖I是根據本發明的一種實施方式的主從數據傳輸系統的模塊示意圖。圖2是自從裝置發送至主裝置數據流的數據格式的實例的示意圖。圖3a是根據SD主控制器精簡規格版本2.00的ADMA2的示意圖。圖3b、3c是ADMA2的操作的示意圖。圖3b是狀態表以及圖3c解釋每一狀態的操作。圖4、5是根據本發明的一種實施方式的數據傳輸方法的流程圖。圖4是從裝置執行的過程以及圖5是主裝置執行的過程。具體實施例方式在說明書與權利要求書當中使用了某些詞彙來指稱特定的元件。本領域的技術人員應可理解,硬體製造商可能會用不同的名詞來稱呼同樣的元件。本說明書與權利要求書並不以名稱的差異來作為區分元件的方式,而是以元件在功能上的差異來作為區分的準貝U。在通篇說明書與權利要求中所提及的「包括」是開放式的用語,應解釋成「包括但不限於」。另外,「耦接」一詞在此包括任何直接與間接的電氣連接手段。因此,若文中描述第一裝置耦接於第二裝置,則代表所述第一裝置可直接電氣連接於所述第二裝置,或透過其它裝置或連接手段間接地電氣連接至所述第二裝置。一種常用的解決方案是申請號為US12/339,072、公開號為US2009/0259786的美國專利申請,所述美國專利申請中描述了一種使用SDIO接口的主從系統,其中從裝置用於協助主裝置與外部裝置之間的數據通信。在此主從系統中,從裝置自外部裝置接收數據包並將包合併為數據流以傳輸至主裝置。每一個數據流包括多個被稱為服務數據單元(ServiceDataUnit,以下簡稱為SDU)的數據段(datasegment),其中每一SDU對應於自外部裝置接收的包的數據內容(datacontent)。從裝置也為向主裝置傳輸的數據流插入頭部(header)和/或尾部(tailer),頭部和/或尾部包括有關於從裝置的狀態(status)與緩衝器狀況(condition)的信息。在主裝置一側,主裝置自頭部和/或尾部獲取從裝置的緩衝器狀況信息。利用此信息,主裝置確定發送至從裝置或者自從裝置接收的數據量,並據此發出傳輸命令至從裝置。此方案可顯著減少命令間延遲。為提高性能,本發明的實施方式提供一種進一步改進的主從系統,其中主裝置利用直接存儲器存取(DirectMemoryAccess,以下簡稱為DMA)技術來以一種高效率的方式解包自從裝置接收的數據流。更特別地,當從裝置傳輸包括多個SDU的數據流至主裝置時,從裝置在所述數據流中插入頭部和/或尾部,其中頭部和/或尾部包括有關於準備傳輸至主裝置的SDU的數據大小信息。主裝置利用數據大小信息使用DMA建立後續數據傳輸,使得當主裝置接收所述數據流後,主裝置可將自從裝置接收的數據流直接解包(unpack)為單·獨的包,而無需執行存儲器拷貝(memorycopy)。而現有的裝置並不實施本發明中描述的DMA技術,現有的裝置中,整個(entire)數據流首先被接收到主裝置的緩衝存儲器(buffermemory)中,然後緩衝的數據被逐包(packet-by-packet)的拷貝出來,以將數據流解包為供其它程序使用的單獨的包。此過程被稱為存儲器拷貝。存儲器拷貝需要被分配相對較大的緩衝器區域來暫存(temporarilyholding)數據流。此外,存儲器拷貝也需要主裝置CPU的額外工作來將數據自數據所在的緩衝器拷貝到存儲單獨的包的緩衝器。本發明中使用DMA技術,當數據流被自從裝置接收時,就將數據流解包為多個包,而不需要執行存儲器拷貝。下文參考圖I-圖5來詳細描述本發明的實施方式。圖I是根據本發明的一種實施方式的數據傳輸系統100的方塊示意圖。數據傳輸系統100包括以主從關係相互稱接的主裝置(host/masterdevice)101和從裝置103。在實際應用中,主裝置可為PDA、膝上電腦、行動電話等。從裝置可為GPS接收器、WiFi或藍牙傳輸器、數據機、以太傳輸器、條碼掃瞄器、IrDA傳輸器、FM收音機調諧器、TV調諧器、RFID讀取器、數位相機、大容量存儲裝置(例如硬碟驅動)等。主裝置具有處理器(例如CPU)和用於存儲程序代碼和其它數據的存儲器(memory),存儲器例如為隨機存取存儲器(RandomAccessMemory,RAM)、只讀存儲器(Read-OnlyMemory,ROM)、大容量存儲裝置(例如硬碟驅動)等。在多種應用中,從裝置與外部裝置通信或者自外部裝置接收信號,外部裝置例如為GPS衛星、另一Wi-Fi或藍牙裝置、網絡(network)等,其中所述數據傳輸使用與外部裝置相容的通信協議或數據格式。在一種實施方式中,從裝置的一種組成要素為SD卡。換句話說,從裝置包括連接器(connector),所述連接器具有SD卡槽可接受的物理形狀(physicalshape)與引腳結構(pinconfiguration)。在下文描述的一個實例中,從裝置運作為通信傳輸器,以協助主裝置101與外部裝置(未畫出)之間的數據通信。從裝置103包括合併電路(mergingcircuit)111、控制電路112、緩衝器池(bufferpool)114(也可以被稱為緩衝器)以及接口電路(interfacecircuit)116。從裝置103的與本發明無關的組件未畫出。緩衝器114用於暫存外部裝置與主裝置101之間傳輸的數據。接口電路116控制與外部裝置的數據傳輸,其中所述數據傳輸使用與外部裝置相容的適當通信協議或數據格式。控制電路112管理緩衝器池114且控制合併電路111。在接收數據交換(transaction)期間(即主裝置通過從裝置自外部裝置接收數據),控制電路112產生頭部和/或尾部,在下文中詳細描述。頭部和/或尾部被輸入至合併電路111。合併電路111按照預定數據格式將緩衝器池中的數據(即自外部裝置接收的數據)與頭部和/或尾部合併以產生合併數據(mergeddata)流,且將合併數據發送至主裝置101。圖2是合併電路111產生且發送至主裝置101的數據流的數據格式的一種實施方式的示意圖。自外部裝置接收的數據通常是基於包(packet-based)的數據。接口電路116自數據包中提取(extract)出數據內容(「純數據(puredata)」)並將純數據放入緩衝器114。在圖2所示的數據結構中,每一SDU數據段22對應於自外部裝置接收的包的數據內容。合併電路111為每一SDU數據段22添加頭部21(「SDUheader」)及尾部23(「SDUtailer」),並將多個SDU數據段與其頭部和尾部合併為數據流。數據流是傳輸至主裝置以響應主裝置的傳輸命令的數據的連續(continuous)的流。圖2的虛線26表示SDIO協議定義的塊邊界(boundaries)。如同許多其它協議,SDIO中主裝置以塊(block)為單位傳輸數據。SDIO在一次數據交換中使用多個塊以存取大量數據;塊大小在從裝置與主裝置之間是可配置的(configurable),其範圍為從IB到2KB。主裝置發出的每一數據傳輸命令設定準備被傳輸的多個塊。如圖2所示,從裝置103的合併電路111產生的數據流中,SDU數據段大小由包大小決定,所以塊邊界與SDU數據段22的邊界無關。SDU數據段可具有不同大小。因此,當主裝置需要進行一次數據交換來接收特定數目的SDIO塊時,這些塊可包括一個或多個SDU、或者包括SDU的一部分。塊邊界(虛線26)可位於數據流的任何位置,例如SDU數據段22內、SDU頭部21內、SDU尾部23內等。在數據流的結尾(end),從裝置可添加填充數據(paddingdata)25,使得數據流的數據總量符合傳輸命令設定的塊數量。從裝置103使用頭部21和/或尾部23來輸送(convey)各種信息至主裝置101。頭部或尾部數據可為任何所需的格式。SDU頭部及尾部的位置並不重要;並不需要位於SDU前或者其後。更一般的,頭部和/或尾部可統稱為數據流的輔助段,而SDU可被稱為數據流的數據段。在上述相關(co-pending)專利申請中,頭部和/或尾部包括關於從裝置的狀態及緩衝器狀況的信息。根據本發明的實施方式,頭部和/或尾部包括有關於數據流的SDU大小的信息,其中主裝置101使用此信息來設置DMA。主裝置101實施SD主控制器標準規格(SDHostcontrollerStandardSpecification)中規定的特性。是通過CPU執行存儲於主裝置的存儲器中的程序代碼來執行。SD主控制器標準規格使得SD主控制器可選擇地使用DMA來進行數據傳輸。定義於SD主控制器標準規格版本I.00的DMA演算法(algorithm)被稱為單操作DMA(SingleOperationDMA,以下簡稱為SDMA);定義於SD規格的A2部分,SD主控制器精簡規格(SDHostControllerSimplifiedSpecification)版本2.00與版本3.O的DMA演算法被稱為高級DMA(AdvancedDMA,以下簡稱為ADMA)(參照版本2.00的I.4與I.13部分)。在ADMA的方案中,在執行ADMA之前,主裝置驅動器可將數據列表編程為描述符表,所述數據傳輸於系統存儲器與SD從裝置之間。這使得ADMA的運作不必中斷(interrupting)主裝置驅動器。圖3a(出自SD主控制器精簡規格,版本2.00的圖1_圖9)是ADMA2的示意圖,其中ADMA2是ADMA兩個版本中的一個。描述符表31由主裝置驅動器在系統存儲器32中創建(create)。每一行描述符(一個可執行單元)包括地址、長度及屬性(attribute)欄位。所述屬性設定描述符行的操作,例如數據傳輸(「Tran」)、連結等。圖3所示的實例中,當描述符表的第I行的「AddressI,Length1,Tran」被執行時,將引發自從裝置傳輸的一定量的數據作為「DataI」被存儲於系統存儲器。當描述符表的第3行的「Address,-,Link」被執行時,將引發描述符指標(pointer)移向另一地址,所述另一地址包括描述符表的另一行。ADMA部分33的結構包括下列硬體組件SDMA、狀態機(StateMachine),以及寄存器(Register)電路(參照圖3a)。ADMA的連結列表特性(linklistfeature)可被用於解包由從裝置接續(concatenate)的包括多個SDU的數據流。連結描述符,亦即屬性值為Link的描述符,可連結至另一描述符表,所述另一描述符表設定於連結描述符的地址欄位。例如,圖3的實例中,描述符表的第3行是連結描述符。使用連結描述符,多個描述符表可被連結起來,使得長數據流可被解包。圖3b(出自SD主控制器精簡規格版本2.00的圖1_圖12)是ADMA2的狀態表的示意圖。圖3c(出自SD主控制器精簡規格版本2.00的圖I-圖12)用於解釋每一狀態的操作。四種狀態被定義為取描述符狀態(FetchDescriptorstate)、改變地址狀態(ChangeAddressstate)、傳輸數據狀態(TransferDatastate)以及停止DMA狀態(StopDMAstate)。取描述符狀態下,ADMA2取一個描述符行並在內部寄存器(internalregister)中設定參數,然後進入改變地址狀態。改變地址狀態下,連結操作將另一描述符地址下載(load)到ADMA系統地址寄存器。在另一種實施方式中,ADMA系統地址寄存器被增力口(increment)以指向下一描述符行。若描述符的屬性欄位的END值未指示終止(End=O),ADMA2進入傳輸數據狀態。傳輸數據狀態下,在系統存儲器與從裝置之間執行一個描述符行的數據傳輸。若數據傳輸繼續(End=0),ADMA2進入取描述符狀態。若數據傳輸完成,ADMA2進入停止DMA狀態。以下情況下ADMA2停留在停止DMA狀態(I)電源重啟(PowerOnreset)或軟體重啟(softwarereset)之後;以及(2)所有描述符數據傳輸完成。當新的ADMA2操作由寫入命令寄存器(writingCommandregister)啟動時,ADMA2進入取描述符狀態。以上描述的ADMA規定在SD主控制器精簡規格版本2.00中且被相關領域的技術人員所熟知。圖4、5是根據本發明的一種實施方式的主裝置自從裝置接收數據的數據傳輸程序的示意圖。圖4是從裝置103執行的過程以及圖5是主裝置101執行的過程。如圖4所示,從裝置103自外部裝置接收數據且將其存儲於緩衝器(步驟S41)。如上所述,自外部裝置接收的數據通常為基於包的數據,以及從裝置103自數據包提取數據內容(「純數據」)且將其作為SDU存入緩衝器。控制電路112獲取緩衝器狀況信息及其它關於從裝置的狀態信息,也獲取有關於SDU大小的信息(步驟S42)。當從裝置自主裝置接收傳輸命令時(步驟S43),此情況下所述傳輸命令是接收數據的命令,控制電路112產生頭部和/或尾部,其中頭部和/或尾部包括SDU大小信息及其它信息(步驟S44)。步驟S42、S43及S44的順序並不重要。然後,合併電路111將多個SDU與頭部及尾部合併以產生數據流(步驟S45)。所述數據流被傳輸至主裝置(步驟S46)。本程序(步驟S41至S46)被重複執行以使自外部裝置接收的其它數據被傳輸至主裝置。應當注意,頭部或尾部中的SDU大小信息並不描述當前數據流中正在被傳輸的SDU大小;而是,SDU大小信息是有關於未被在當前數據流中傳輸但準備(readyto)在後續傳輸的SDU0如下文所述,主裝置使用包括於數據流的頭部/尾部的SDU大小信息來建立DMA以接收後續數據流。在主裝置一側,如圖5所示,主裝置101自從裝置103接收數據流(步驟S51)。如上文所述,數據流包括頭部和/或尾部,其中頭部和/或尾部包括關於準備自從裝置傳輸至主裝置的SDU的大小信息。請再次注意頭部和/或尾部中的大小信息並不是當前數據流的SDU的大小信息。主裝置自頭部和/或尾部中收集(gather)此SDU大小信息(步驟S52)。然後,主裝置可依據所述SDU大小信息來配置主裝置控制器DMA引擎(engine)以傳輸一些準備好的SDU。更特別地,主裝置產生描述符表(descriptortable),通過設定描述符表的每一行的地址,長度與屬性,使得每一行對應於一個準備傳輸的SDU(步驟S53)。描述符行的長度欄位(field)是依據上述步驟S52中收集的SDU大小信息來設定的。例如,長度值可為準備的SDU的長度加上頭部的長度與尾部的長度。描述符表被建立後,主裝置101發出讀取命令(readcommand)至從裝置以傳輸多個SDU(步驟S54)。為響應此傳輸命令,從裝置在數據流中傳輸被請求的數據。主裝置執行DMA(例如上文所述的ADMA)以將來自從裝置的數據流解包為單獨的(individual)SDU並將所述SDU存儲於主裝置的系統存儲器中(步驟S54)。通過執行DMA,自從裝置的數據流直接(directly)解包為單獨的SDU,而無需執行存儲器拷貝。請注意圖5所示的過程的流程圖,步驟S51(自從裝置接收數據流的步驟),其自身也可使用DMA操作。步驟S55中,自從裝置接收的數據流的頭部和/或尾部中可包括SDU大小信息,所述SDU大小信息有關於從裝置緩衝器的其它SDU,以及主裝置收集所述SDU大小信息以為後續的數據傳輸準備DMA描述符表。步驟52-55可被重複以自從裝置傳輸後續數據。圖5中描述由主裝置101執行的方法,可被實施為主裝置SD驅動程序(hostSDdriverprogram)。此實施並不需要對主裝置101的硬體結構作出任何修改。此驅動程序配合SD從裝置103完成數據傳輸。在上文所述的方法中,從裝置利用插入至第一數據流的頭部和/或尾部來將數據段大小信息發送至主裝置,從而使能(enable)主裝置為後續的第二數據流建立DMA。更一般地,從裝置與主裝置可使用任何合適的通信方法來通信數據段大小信息,這些方法可以被統稱為帶外通道(outbandchannel)。應可注意,儘管上文是以SDIO主從系統為例進行描述,本發明並不限於SDIO系統,本發明也可以應用於其它主從接口系統。本發明尤其適用於與無固有的流量控制的協議相容的主從系統。在不脫離本發明的思想或範圍的前提下,本領域的技術人員可以對本發明的主從數據傳輸系統和對應的方法做出各種修改與變化。因此,對本發明的等同變化與修改均應涵蓋在權利要求書的範圍內。權利要求1.一種數據傳輸方法,用於主從系統的主裝置,該數據傳輸方法包括自該主從系統的從裝置接收一個或者多個數據流,該數據流包括第一多個數據段和多個輔助段;自該多個輔助段的至少一部分獲取數據段大小信息,該數據段大小信息用於設定存儲於該從裝置的第二多個數據段的大小;產生一個或者多個描述符表,每一個描述符表包括多個描述符,每一個描述符定義該從裝置與該主裝置的系統存儲器之間的數據傳輸,每一該多個描述符用於設定該系統存儲器的地址和準備傳輸的數據的長度,其中該描述符設定的該長度是依據該數據段大小信息;發出傳輸命令至該從裝置,以使得該從裝置以數據流來傳輸該第二多個數據段;根據該描述符表執行直接存儲器存取,以將自該從裝置的該數據流的該第二多個數據段其中之一部分單獨的數據段存儲於該主裝置的該系統存儲器的該設定的地址。2.根據權利要求I所述的方法,其特徵在於,該描述符表的每一描述符設定的該長度是依據該第二多個數據段其中之一的大小,以及其中每一描述符的該執行引發該第二多個數據段其中之一將被存儲於該系統存儲器。3.根據權利要求I所述的方法,其特徵在於,該描述符表更包括一個或者多個額外描述符,每一額外描述符定義至另一個描述符表的連結。4.根據權利要求I所述的方法,其特徵在於,該輔助段位於該對應數據段前的頭部或者位於該對應數據段後的尾部。5.根據權利要求I所述的方法,其特徵在於,該主從系統使用安全數字輸入輸出接口。6.一種主裝置,用於主從系統中,包括處理器;以及系統存儲器,用於存儲由該處理器執行的數據和程序代碼,該程序代碼用於引發該處理器執行數據傳輸程序,該數據傳輸程序包括自該從裝置接收一個或者多個數據流,該數據流包括第一多個數據段與多個輔助段;自該多個輔助段的至少一部分獲取數據段大小信息,該數據段大小信息用於設定存儲於該從裝置的第二多個數據段的大小;產生一個或者多個描述符表,每一描述符表包括多個描述符,每一描述符用於定義該主裝置的該系統存儲器與該從裝置之間的數據傳輸,每一該多個描述符設定該系統存儲器的地址和準備傳輸的數據的長度,其中該描述符設定的該長度是依據該數據段大小信息;發出傳輸命令至該從裝置,以作為數據流傳輸該第二多個數據段;根據該描述符表執行直接存儲器存取,以將自該從裝置的該數據流的該第二多個數據段其中的一部分單獨的數據段存儲於該主裝置的該系統存儲器的該設定的地址。7.根據權利要求6所述的主裝置,其特徵在於,該描述符表的每一描述符設定的該長度是依據該第二多個數據段其中之一的大小,以及其中每一描述符的該執行引發該第二多個數據段其中之一被存儲於該系統存儲器。8.根據權利要求6所述的主裝置,其特徵在於,該描述符表更包括一個或者多個額外描述符,每一額外描述符定義至另一個描述符表的連結。9.根據權利要求6所述的主裝置,其特徵在於,該輔助段是位於該對應數據段前的頭部或者位於該對應數據段後的尾部。10.根據權利要求6所述的主裝置,其特徵在於,該主從系統使用安全數字輸入輸出接□。11.一種從裝置,連接至主從系統的主裝置,用於該主裝置與外部裝置之間的數據通信,該從裝置包括緩衝器,用於存儲自該外部裝置接收的數據,該數據包括第一多個數據段和第二多個數據段;控制電路,耦接至該緩衝器,用於獲取數據段大小信息,該數據段大小信息設定該緩衝器內的每一該第二多個數據段大小;以及合併電路,耦接至該緩衝器和該控制電路,用於產生數據流並將該數據流傳輸至該主裝置,以響應自該主裝置的數據傳輸命令,該數據流包括該第一多個數據段和多個輔助段,其中該輔助段包括該數據段大小信息。12.根據權利要求11所述的從裝置,其特徵在於,該從裝置更包括接口電路,用於使用預定通信協議控制該從裝置及該外部裝置之間的數據傳輸,其中自該外部裝置接收的該數據包括多個數據包,其中該接口電路自每一數據包提取數據內容且將該提取的數據內容作為該多個數據段其中之一放入該緩衝器。13.根據權利要求11所述的從裝置,其特徵在於,該合併電路以基於塊的方式傳輸該數據流至該主裝置。14.根據權利要求11所述的從裝置,其特徵在於,該輔助段位於該對應數據段前的頭部或者位於該對應數據段後的尾部。15.根據權利要求11所述的從裝置,其特徵在於,該主從系統使用安全數字輸入輸出接口。16.一種方法,實施於主從系統的從裝置,以協助主裝置與外部裝置之間的數據通信,該方法包括將自該外部裝置接收的數據存儲至該從裝置的緩衝器,該數據包括第一多個數據段和第二多個數據段;獲取設定該緩衝器內的每一該第二多個數據段的大小的數據段大小信息;以及產生數據流並將該數據流傳輸至該主裝置,以響應自該主裝置的數據傳輸命令,該數據流包括該第一多個數據段和多個輔助段,其中該輔助段包括該數據段大小信息。17.根據權利要求16所述的方法,其特徵在於,該方法更包括使用預定通信協議控制該從裝置與該外部裝置之間的數據傳輸,其中自該外部裝置接收的該數據包括多個數據包,該控制步驟包括自每一數據包提取數據內容以及將該提取的數據內容作為該多個數據段其中之一放入該緩衝器。18.根據權利要求16所述的方法,其特徵在於,該傳輸步驟中,該數據流被以基於塊的方式傳輸至該主裝置。19.根據權利要求16所述的方法,其特徵在於,該輔助段位於該對應數據段前的頭部或者位於該對應數據段後的尾部。20.根據權利要求16所述的方法,其特徵在於,該主從系統使用安全數字輸入輸出接□。全文摘要一種主從數據傳輸系統中,從裝置自外部裝置接收基於包的數據並將包內容作為數據段存儲進緩衝器。從裝置將多個數據段合併入數據流且將其發送至主裝置。主裝置使用直接存儲器存取將自從裝置的數據流解包為單獨數據段,而不需要存儲器拷貝。為使能主裝置建立直接存儲器存取,從裝置通過帶外通道提前將關於數據段大小的信息發送至主裝置,例如通過插入前一數據流的頭部和/或尾部來發送大小信息。主裝置利用數據段大小信息來編程描述符表,使得每一個描述符引發數據流中的一個數據段存儲至主裝置的系統存儲器。文檔編號G06F13/38GK102844748SQ201080066198公開日2012年12月26日申請日期2010年7月30日優先權日2010年5月4日發明者林主民,黃教琪,林建光,許鈺鼎申請人:聯發科技股份有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀