TWI394049B - 直接記憶體存取系統及其傳送/接收封包之方法 - Google Patents

直接記憶體存取系統及其傳送/接收封包之方法 Download PDF

Info

Publication number
TWI394049B
TWI394049B TW97105859A TW97105859A TWI394049B TW I394049 B TWI394049 B TW I394049B TW 97105859 A TW97105859 A TW 97105859A TW 97105859 A TW97105859 A TW 97105859A TW I394049 B TWI394049 B TW I394049B
Authority
TW
Taiwan
Prior art keywords
receiving
packet
descriptor
transmission
dma
Prior art date
Application number
TW97105859A
Other languages
English (en)
Other versions
TW200937204A (en
Inventor
Kuo Cheng Lu
Original Assignee
Ralink Technology Corp
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 Ralink Technology Corp filed Critical Ralink Technology Corp
Priority to TW97105859A priority Critical patent/TWI394049B/zh
Priority to US12/247,019 priority patent/US20090210577A1/en
Publication of TW200937204A publication Critical patent/TW200937204A/zh
Application granted granted Critical
Publication of TWI394049B publication Critical patent/TWI394049B/zh
Priority to US13/899,579 priority patent/US9021153B2/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Communication Control (AREA)

Description

直接記憶體存取系統及其傳送/接收封包之方法
本發明係有關於一種直接記憶體存取(Direct Memory Access,DMA)系統,且特別是有關於一種統一化DMA系統,可適用於各種不同的傳輸協定,如WLAN、Ethernet、WiMAX、UWB、USB等。
對於任何一種高效能的網路介面卡(network interface card,NIC)而言,通常係利用一專用的硬體裝置來轉移傳送/接收(TX/RX)封包,進而增加效能。一般而言,此專用的硬體裝置即是所謂的直接記憶體存取(Direct Memory Access,DMA)。DMA係允許介面裝置與記憶體之間直接轉移資料,而不需中央處理單元(Central Processing Unit,CPU)的參與。
請參閱圖一,圖一係繪示先前技術之DMA 10之操作流程。當CPU 12欲傳送TX封包14,CPU 12會將封包所在的暫存位址160以及一些相關的封包資訊162存入所謂的TX描述符(descriptor)16,並且清除相關的支配權位元(owner bit)164。之後,CPU 12會通知DMA 10將TX封包14從記憶體18轉移至介面裝置20。當TX封包14傳送完畢,支配權位元164即會被DMA 10設定為1,以告知CPU 12該TX封包14已傳送完畢。
在接收RX封包22時,CPU 12會自記憶體18分配一閒置的封包暫存區,並且將該封包暫存位址240存入所謂的RX描述符24,且清除相關的支配權位元244。當RX封包22從介面裝置20傳送過來,DMA 10會先檢查RX描述符24中的支配權位元244。之後,DMA 10再將RX封包22從介面裝置20轉移至記憶體18。在RX封包22被轉移至記憶體18後,DMA 10會將封包資訊242寫入RX描述符24,並且將支配權位元244設定為1,以告知CPU 12該RX封包22已接收完畢。
為了增進效能且減少先進先出(First-In First-Out,FIFO)記憶體的需求,大多數的傳統DMA皆支援多重的TX/RX描述符,例如排列成描述符鏈(descriptor chain)或描述符環(descriptor ring)。典型的TX描述符鏈係如圖二所示。典型的TX描述符環係如圖三所示。
雖然大多數的DMA皆具有相似的操作模式,但每一個DMA的設計卻不盡相同。尤其當附屬的網路媒體(如Ethernet、WLAN、ADSL、WiMAX等)改變時,便要更換不同的DMA。隨著愈來愈多的介面裝置被整合至系統晶片(System on Chip,SoC),非統一化的DMA描述符架構以及程式語義將會大幅地增加硬體認證以及軟體移植(porting)的負擔。此外,從ASIC設計的觀點來看,適用於不同介面裝置的不同DMA引擎是非常難以維護的。
因此,本發明之範疇係在於提供一種統一化DMA系統,以解決上述問題。
本發明之一範疇在於提供一種統一化DMA系統,可允許不同的介面裝置共用相同的DMA引擎。
根據一具體實施例,本發明之DMA系統係用以於介面裝置與記憶體間傳送/接收封包。DMA系統包含傳送(TX)DMA以及接收(RX)DMA。TX DMA係根據TX描述符來傳送TX封包,並根據該TX描述符將一TX資訊附加於TX封包之前。另一方面,RX DMA係根據RX描述符來接收RX封包,並根據該RX描述符將一RX資訊附加於RX封包之後。於此實施例中,TX描述符以及RX描述符皆可選擇性地內嵌於介面裝置或記憶體。
TX資訊係用以告知介面裝置傳送路徑,進而執行封包處理程序。當欲被運送的資訊太大而無法完全填入TX資訊時,本發明之TX DMA可選擇性地將一TX訊息附加於該TX封包及該TX資訊之間。
RX資訊係用以儲存一些封包的接收狀態。如果RX資訊的容量太小而無法滿足某些應用程式,RX DMA可選擇性地將一RX訊息附加於該RX封包之前,以運送更多必要的接收狀態。
以DMA的角度來看,由於TX訊息(或RX訊息)以及TX封包(或RX封包)係以TX負載資料(或RX負載資料)的形式來傳送,DMA並不知道TX訊息(或RX訊息)的程式語義及資料長度。設計者可自行決定要放什麼資料進去TX訊息(或RX訊息)。藉此,本發明之DMA系統即可根據不同的介面裝置而格式化,進而滿足各種不同的傳輸協定,如WLAN、Ethernet、WiMAX、UWB、USB等。
關於本發明之優點與精神可以藉由以下的發明詳述及所附圖式得到進一步的瞭解。
請參閱圖四A。圖四A係繪示根據本發明一具體實施例之DMA系統40之功能方塊圖。如圖四A所示,DMA 42係藉由系統匯流排(system bus)44與記憶體46以及CPU 48溝通。DMA 42包含TX DMA 420以及RX DMA 422。介面裝置50係經由先進先出(FIFO)記憶體52與DMA 42連接。FIFO 52包含TX FIFO 520以及RX FIFO 522。排程裝置(scheduler)54連接於DMA 42,用以安排多個TX描述符環被存取的先後順序。
如圖四A所示,當TX DMA 420傳送TX封包560時,TX DMA 420會根據TX描述符(稍後說明)將TX資訊562附加在TX封包560之前。TX資訊562係用以告知介面裝置50傳送路徑,進而執行封包處理程序。典型的TX資訊562可包含TCP/UDP/IP檢查碼(checksum offload)、循環冗餘檢查(Cyclic Redundancy Check,CRC)運算、封包通訊埠(packet destination port)等。TX資訊562係為TX描述符的一部分,且由TX DMA 420將封包從記憶體46轉移至介面裝置50時附加上去。
同樣地,如圖四A所示,當RX DMA 422接收RX封包580時,RX DMA 422會根據RX描述符(稍後說明)將RX資訊582附加於RX封包580之後。RX資訊582係用以儲存一些封包的接收狀態,如CRC檢查結果、封包類型等。
請參閱圖四B。圖四B係繪示根據本發明另一具體實施例之DMA系統40'之功能方塊圖。當欲被運送的資訊太大而無法完全填入TX資訊562時,TX DMA 420可選擇性地將一擴充的TX資訊,即圖四B中的TX訊息564,附加於TX封包560及TX資訊562之間。同樣地,如果RX資訊582的容量太小而無法滿足某些應用程式,RX DMA 422亦可選擇性地將RX訊息584附加於RX封包580之前,用以運送更多必要的接收狀態,如描述訊息關鍵(description key)、於WLAN應用中的接收訊號強度(receive signal strength,RSS)等。
以DMA 42的角度來看,TX訊息564與TX封包560係被TX DMA 420視為封包中的負載資料而加以處理,且RX訊息584與RX封包580亦被RX DMA 422視為封包中的負載資料而加以處理。換言之,DMA 42並不知道TX訊息564或RX訊息584的程式語義以及資料長度。藉此,本發明之DMA 42即可根據不同的介面裝置而格式化,進而滿足各種不同的傳輸協定,如WLAN、Ethernet、WiMAX、UWB、USB等。
請參閱圖五A以及圖五B。圖五A係繪示根據本發明一具體實施例之TX描述符60的格式。圖五B係繪示根據本發明一具體實施例之RX描述符62的格式。本發明之DMA系統40包含TX描述符60以及RX描述符62。於此實施例中,TX描述符60以及RX描述符62皆可選擇性地內嵌於介面裝置50或記憶體46。
如圖五A所示,TX描述符60包含兩個指標SDP0、SDP1,用以指示屬於TX封包560的記憶體位址。而TX封包560中數據段的資料長度則儲存於TX描述符60所包含的兩個資料長度SDL0、SDL1。此外,位元LS係用以指示哪一個數據段係TX封包560中的最後一個數據段。舉例而言,若位元LS設定為1,則表示對應的數據段(SDP0或SDP1所指示的數據段)係TX封包560中的最後一個數據段。如圖五A所示,SDP1所指示的數據段即為TX封包560中的最後一個數據段。
為了支援資料的分散/集中(scatter/gathering),TX封包560可被劃分為多個數據段並且存入不同的記憶體位址。TX封包560的這些數據段係關聯於一或多個TX描述符60。請參閱圖六。圖六係繪示封包的數據段與TX描述符的關聯。封包P1被劃分為三個數據段DS11、DS12、DS13,其中,數據段DS11、DS12關聯於描述符TXD1,且數據段DS13關聯於描述符TXD2。封包P2被劃分為一個數據段DS21,其中,數據段DS21關聯於描述符TXD3。封包P3被劃分為兩個數據段DS31、DS32,其中,數據段DS31、DS32關聯於描述符TXD4。由於數據段DS13、DS21、DS32分別為封包P1、P2、P3的最後一個數據段,其對應的位元LS皆被設定為1。
此外,在TX DMA 420使用一個TX描述符60之前,TX DMA 420會先檢查位元DDONE(如圖五A所示)。如果位元DDONE為0,則TX DMA 420具有使用及轉移指標SDP0、SDP1所指示的數據段之支配權。在完成轉移資料後,TX DMA 420會將位元DDONE變更為1,使得CPU獲得TX描述符60的支配權。最後,在送出封包至介面裝置50之前,TXDMA 420會將TX資訊562附加至TX封包560之前。
在大多數的網路應用中,通常會使用多個TX描述符環來支援網路服務品質(Quality of Service,QoS)。圖四A中的排程裝置54即係用以決定哪一個TX封包應該先被傳送。如果使用者想要確保在同一個TX描述符環中的兩個以上的封包被連續傳送,使用者可以設定位元BURST(如圖五A所示)來告知TX DMA 420。此外,由於TX資訊562係由TX DMA 420傳送,使用者可根據實際應用來定義TX資訊562。
另一方面,如圖五B所示,RX描述符62包含兩個指標SDP0、SDP1,用以指示屬於RX封包580的記憶體位址。而RX封包580中數據段的資料長度則儲存於RX描述符62所包含的兩個資料長度SDL0、SDL1。位元LS係用以指示哪一個數據段係RX封包580中的最後一個數據段。舉例而言,若位元LS設定為1,則表示對應的數據段(SDP0或SDP1所指示的數據段)係RX封包580中的最後一個數據段。如圖五B所示,SDP1所指示的數據段即為RX封包580中的最後一個數據段。
於此實施例中,RX描述符62的操作原理係與TX描述符60相似。主要的不同點在於使用者必需準備閒置的數據段暫存區,並且將閒置的數據段暫存區關聯至RX描述符62中的指標SDP0、SDP1及資料長度SDL0、SDL1。當RX DMA 422欲接收RX封包580,RX DMA 422會先檢查RX描述符62中的資料長度SDL0、SDL1是否足夠用來儲存RX封包580。如果空間不足,RX DMA 422會使用其他的指標來儲存剩下的RX封包580。在封包被完全轉移至記憶體46後,RX DMA 422會更新資料長度,以指示最後一個數據段的長度,並且將對應的位元LS設定為1。
請參閱圖七A以及圖七B。圖七A以及圖七B係繪示本發明利用兩個硬體指標CTX_IDX、DTX_IDX指示TX描述符之支配權。於本發明中,除了利用位元DDONE來管理TX描述符的支配權外,DMA系統40可另提供兩個硬體指標(hardware index)CTX_IDX、DTX_IDX,用以指示TX描述符之支配權。如圖七A所示,當DTX_IDX與CTX_IDX所指示的TX描述符(TXDn,n=0~7)不同時,TX DMA 420即可處理DTX_IDX所指示的TX描述符。如圖七B所示,當DTX_IDX與CTX_IDX所指示的TX描述符相同時,TX DMA 420即停止動作。
請參閱圖八A以及圖八B。圖八A以及圖八B係繪示本發明利用兩個硬體指標CRX_IDX、DRX_IDX指示RX描述符之支配權。於本發明中,除了利用位元DDONE來管理RX描述符的支配權外,DMA系統40可另提供兩個硬體指標CRX_IDX、DRX_IDX,用以指示RX描述符之支配權。硬體指標C X_IDX、DRX_IDX的作用原理與CTX_IDX、DTX_IDX相同,在此不再贅述。
本發明之DMA系統40的一個好處是可允許使用者定義自己的頻內資訊/訊息(incormation/message),以與介面裝置50溝通。有兩種方式可以夾帶這些頻內資訊/訊息。如果訊息很短,該訊息可以被TX資訊562或RX資訊582夾帶。如果訊息太大而無法填入TX資訊562或RX資訊582,可選擇性地利用TX訊息564或RX訊息584來夾帶。以DMA的角度來看,DMA並不知道TX封包或RX封包中的負載資料夾帶多少的訊息。換言之,DMA會把所夾帶的訊息當作封包的一部分來處理。請參閱圖九。圖九係繪示TX訊息被夾帶的示意圖。TX訊息可被連結至SDP0作為封包的第一個數據段,而不需要其他額外的記憶體空間。
相較於先前技術,本發明之DMA系統具有下列優點:1)可適用於各式各樣的介面裝置;2)當不同的介面裝置被整合至系統晶片時,可減少軟體移植的負擔;3)提供透明化的通訊協定,可輕易地導入不同的介面裝置;4)可支援無限量的TX/RX資料的分散/集中;5)提供使用者可自行定義的TX資訊(RX資訊)以及TX訊息(RX訊息);以及6)高效能的DMA,提供非對齊的資料指標以及無限量的分散/集中數據段,以減少其他額外的記憶體空間。
藉由以上較佳具體實施例之詳述,係希望能更加清楚描述本發明之特徵與精神,而並非以上述所揭露的較佳具體實施例來對本發明之範疇加以限制。相反地,其目的是希望能涵蓋各種改變及具相等性的安排於本發明所欲申請之專利範圍的範疇內。因此,本發明所申請之專利範圍的範疇應該根據上述的說明作最寬廣的解釋,以致使其涵蓋所有可能的改變以及具相等性的安排。
10...DMA
12、48...CPU
14、22...封包
16、24、60、62、TXD0~TXD7...描述符
160、240...封包暫存位址
162、242...封包資訊
164、244...支配權位元
18、46...記憶體
20、50...介面裝置
40、40'...DMA系統
42...DMA
420...TX DMA
422...RX DMA
44...系統匯流排
52...FIFO
520...TX FIFO
522...RX FIFO
54...排程裝置
560、580...封包
562、582...資訊
564、584...訊息
DS11~DS32...數據段
SDP0、SDP1...指標
SDL0、SDL1...資料長度
LS、DDONE、BURST...位元
CTX_IDX、DTX_IDX、CRX_IDX、DRX_IDX...硬體指標
圖一係繪示先前技術之DMA之操作流程。
圖二係繪示典型的TX描述符鏈之示意圖。
圖三係繪示典型的TX描述符環之示意圖。
圖四A係繪示根據本發明一具體實施例之DMA系統之功能方塊圖。
圖四B係繪示根據本發明另一具體實施例之DMA系統之功能方塊圖。
圖五A係繪示根據本發明一具體實施例之TX描述符的格式。
圖五B係繪示根據本發明一具體實施例之RX描述符的格式。
圖六係繪示封包的數據段與TX描述符的關聯。
圖七A以及圖七B係繪示本發明利用兩個硬體指標指示TX描述符之支配權。
圖八A以及圖八B係繪示本發明利用兩個硬體指標指示RX描述符之支配權。
圖九係繪示TX訊息被夾帶的示意圖。
40...DMA系統
42...DMA
420...TX DMA
422...RX DMA
44...系統匯流排
46...記憶體
48...CPU
50...介面裝置
52...FIFO
520...TX FIFO
522...RX FIFO
54...排程裝置
560、580...封包
562、582...資訊
564、584...訊息

Claims (11)

  1. 一種直接記憶體存取(DMA)系統,包含:一傳送DMA,於根據一傳送描述符來傳送一傳送封包前,根據該傳送描述符將指示該傳送封包之一傳輸路徑之一傳送資訊附加於該傳送封包之前,並選擇性地將指示該傳送封包之該傳輸路徑之一傳送訊息附加於該傳送封包及該傳送資訊之間;以及一接收DMA,根據一接收描述符來接收一接收封包,接著根據該接收描述符將指示該接收封包之一接收狀態之一接收資訊附加於該接收封包之後,並選擇性地將指示該接收封包之該接收狀態之一接收訊息附加於該接收封包之前;其中,該傳送訊息與該接收訊息係視為負載資料,該直接記憶體存取系統根據指示該傳送封包之該傳輸路徑之該傳送資訊與該傳送訊息及指示該接收封包之該接收狀態之該接收資訊與該接收訊息,適用於各式各樣的介面裝置。
  2. 如申請專利範圍第1項所述之DMA系統,其中該傳送描述符包括至少一指標,至少一該傳送封包之長度,以及該傳送資訊,而該接收描述符包括至少一指標,至少一該接收封包之長度,以及該接收資訊。
  3. 如申請專利範圍第1項所述之DMA系統,進一步包括至少兩個第一硬體指標以及至少兩個第二硬體指標,該兩個第一硬體指標係用以指示該傳送描述符之支配權,且該兩個第二硬體指標用以指示該接收描述符之支配權。
  4. 如申請專利範圍第1項所述之DMA系統,其中該傳送描述符係一傳送描述符環,且該接收描述符係一接收描述符環。
  5. 如申請專利範圍第4項所述之DMA系統,進一步包含一排程裝置,用以安排該傳送描述符環被存取的先後順序。
  6. 如申請專利範圍第1項所述之DMA系統,係藉由一系統匯流排與一記憶體溝通。
  7. 一種於直接記憶體存取(DMA)系統中傳送/接收封包之方法,包含下列步驟:於根據一傳送描述符來傳送一傳送封包前,根據該傳送描述符將指示該傳送封包之一傳輸路徑之一傳送資訊附加於該傳送封包之前;選擇性地將指示該傳送封包之該傳輸路徑之一傳送訊息附加於該傳送封包及該傳送資訊之間;根據一接收描述符來接收一接收封包,接著根據該接收描述符將指示該接收封包之一接收狀態之一接收資訊附加於該接收封包之後;以及選擇性地將指示該接收封包之該接收狀態之一接收訊息附加於該接收封包之前;其中,該傳送訊息與該接收訊息係視為負載資料,該直接記憶體存取系統根據指示該傳送封包之該傳輸路徑之該傳送資訊與該傳送訊息及指示該接收封包之該接收狀態之該接收資訊與該接收訊息,適用於各式各樣的介面裝置。
  8. 如申請專利範圍第7項所述之方法,其中該傳送描述符包括至少一指標,至少一該傳送封包之長度,以及該傳送資訊,而該接收描述符包括至少一指標,至少一該接收封包之長度,以及該接收資訊。
  9. 如申請專利範圍第7項所述之方法,進一步包含下列步驟:利用至少兩個第一硬體指標指示該傳送描述符之支配權;以及利用至少兩個第二硬體指標指示該接收描述符之支配權。
  10. 如申請專利範圍第7項所述之方法,其中該傳送描述符係一傳送 描述符環,且該接收描述符係一接收描述符環。
  11. 如申請專利範圍第10項所述之方法,進一步包含下列步驟:利用一排程裝置安排該傳送描述符環被存取的先後順序。
TW97105859A 2008-02-20 2008-02-20 直接記憶體存取系統及其傳送/接收封包之方法 TWI394049B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
TW97105859A TWI394049B (zh) 2008-02-20 2008-02-20 直接記憶體存取系統及其傳送/接收封包之方法
US12/247,019 US20090210577A1 (en) 2008-02-20 2008-10-07 Direct memory access system and method using the same
US13/899,579 US9021153B2 (en) 2008-02-20 2013-05-22 Direct memory access system and method using the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW97105859A TWI394049B (zh) 2008-02-20 2008-02-20 直接記憶體存取系統及其傳送/接收封包之方法

Publications (2)

Publication Number Publication Date
TW200937204A TW200937204A (en) 2009-09-01
TWI394049B true TWI394049B (zh) 2013-04-21

Family

ID=40956149

Family Applications (1)

Application Number Title Priority Date Filing Date
TW97105859A TWI394049B (zh) 2008-02-20 2008-02-20 直接記憶體存取系統及其傳送/接收封包之方法

Country Status (2)

Country Link
US (2) US20090210577A1 (zh)
TW (1) TWI394049B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10884960B2 (en) 2019-04-19 2021-01-05 Cisco Technology, Inc. Offloading data movement for packet processing in a network interface controller

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9084058B2 (en) 2011-12-29 2015-07-14 Sonos, Inc. Sound field calibration using listener localization
US9706323B2 (en) 2014-09-09 2017-07-11 Sonos, Inc. Playback device calibration
US9219460B2 (en) 2014-03-17 2015-12-22 Sonos, Inc. Audio settings based on environment
US9106192B2 (en) 2012-06-28 2015-08-11 Sonos, Inc. System and method for device playback calibration
US20140181822A1 (en) * 2012-12-20 2014-06-26 Advanced Micro Devices, Inc. Fragmented Channels
US8732352B1 (en) * 2013-01-25 2014-05-20 Apple Inc. Dynamic allocation of buffers for direct memory access
US9264839B2 (en) 2014-03-17 2016-02-16 Sonos, Inc. Playback device configuration based on proximity detection
US9952825B2 (en) 2014-09-09 2018-04-24 Sonos, Inc. Audio processing algorithms
WO2016172593A1 (en) 2015-04-24 2016-10-27 Sonos, Inc. Playback device calibration user interfaces
US10664224B2 (en) 2015-04-24 2020-05-26 Sonos, Inc. Speaker calibration user interface
US9538305B2 (en) 2015-07-28 2017-01-03 Sonos, Inc. Calibration error conditions
CN111314826B (zh) 2015-09-17 2021-05-14 搜诺思公司 由计算设备执行的方法及相应计算机可读介质和计算设备
US9693165B2 (en) 2015-09-17 2017-06-27 Sonos, Inc. Validation of audio calibration using multi-dimensional motion check
US9743207B1 (en) 2016-01-18 2017-08-22 Sonos, Inc. Calibration using multiple recording devices
US10003899B2 (en) 2016-01-25 2018-06-19 Sonos, Inc. Calibration with particular locations
US11106423B2 (en) 2016-01-25 2021-08-31 Sonos, Inc. Evaluating calibration of a playback device
US9860662B2 (en) 2016-04-01 2018-01-02 Sonos, Inc. Updating playback device configuration information based on calibration data
US9864574B2 (en) 2016-04-01 2018-01-09 Sonos, Inc. Playback device calibration based on representation spectral characteristics
US9763018B1 (en) 2016-04-12 2017-09-12 Sonos, Inc. Calibration of audio playback devices
US9794710B1 (en) 2016-07-15 2017-10-17 Sonos, Inc. Spatial audio correction
US10372406B2 (en) 2016-07-22 2019-08-06 Sonos, Inc. Calibration interface
US10459684B2 (en) 2016-08-05 2019-10-29 Sonos, Inc. Calibration of a playback device based on an estimated frequency response
US10299061B1 (en) 2018-08-28 2019-05-21 Sonos, Inc. Playback device calibration
US11206484B2 (en) 2018-08-28 2021-12-21 Sonos, Inc. Passive speaker authentication
CN109992205B (zh) * 2019-03-27 2020-06-02 无锡海斯凯尔医学技术有限公司 数据存储的装置、方法及可读存储介质
US10734965B1 (en) 2019-08-12 2020-08-04 Sonos, Inc. Audio calibration of a portable playback device
CN113259803B (zh) * 2021-05-13 2022-10-18 恒玄科技(上海)股份有限公司 一种无线耳机组件及其信号处理方法
US11704193B1 (en) * 2021-05-20 2023-07-18 Amazon Technologies, Inc. Memory scrub using memory controller
TWI792728B (zh) * 2021-11-29 2023-02-11 瑞昱半導體股份有限公司 封包處理加速裝置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070073922A1 (en) * 2005-09-29 2007-03-29 P.A. Semi, Inc. Unified DMA
TW200712908A (en) * 2005-06-30 2007-04-01 Intel Corp Transmit buffers in connection-oriented interface
TW200719275A (en) * 2005-11-10 2007-05-16 Via Tech Inc Method for an interruptible graphics processing unit to process multi-programs and graphics processing unit

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6026443A (en) * 1992-12-22 2000-02-15 Sun Microsystems, Inc. Multi-virtual DMA channels, multi-bandwidth groups, host based cellification and reassembly, and asynchronous transfer mode network interface
US5970229A (en) * 1996-09-12 1999-10-19 Cabletron Systems, Inc. Apparatus and method for performing look-ahead scheduling of DMA transfers of data from a host memory to a transmit buffer memory
US5920564A (en) * 1997-04-30 1999-07-06 International Business Machines Corporation Method and apparatus for direct memory access on transmit complete
US6992978B1 (en) * 1999-06-02 2006-01-31 Alcatel Communications, Inc. Method and system for path protection in a communications network
US7571216B1 (en) * 2003-10-02 2009-08-04 Cisco Technology, Inc. Network device/CPU interface scheme

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200712908A (en) * 2005-06-30 2007-04-01 Intel Corp Transmit buffers in connection-oriented interface
US20070073922A1 (en) * 2005-09-29 2007-03-29 P.A. Semi, Inc. Unified DMA
TW200719275A (en) * 2005-11-10 2007-05-16 Via Tech Inc Method for an interruptible graphics processing unit to process multi-programs and graphics processing unit

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10884960B2 (en) 2019-04-19 2021-01-05 Cisco Technology, Inc. Offloading data movement for packet processing in a network interface controller

Also Published As

Publication number Publication date
US20090210577A1 (en) 2009-08-20
US9021153B2 (en) 2015-04-28
US20130254433A1 (en) 2013-09-26
TW200937204A (en) 2009-09-01

Similar Documents

Publication Publication Date Title
TWI394049B (zh) 直接記憶體存取系統及其傳送/接收封包之方法
US9654406B2 (en) Communication traffic processing architectures and methods
US7961733B2 (en) Method and apparatus for performing network processing functions
US20170214774A1 (en) Communication traffic processing architectures and methods
EP1014648B1 (en) Method and network device for creating buffer structures in shared memory
EP1687997B1 (en) A method and apparatus to provide data streaming over a network connection in a wireless mac processor
US7924868B1 (en) Internet protocol (IP) router residing in a processor chipset
US20100146157A1 (en) Multi-radio interfacing and direct memory access based data transferring methods and sink node for performing the same in wireless sensor network
US11394664B2 (en) Network interface device
US8170043B2 (en) System and method of communication protocols in communication systems
US9148819B2 (en) In-place A-MSDU aggregation for wireless systems
JP2009093348A (ja) 情報処理装置、及び情報処理システム
US20210274593A1 (en) Selective multiple-media access control
US7362772B1 (en) Network processing pipeline chipset for routing and host packet processing
CN112953967A (zh) 网络协议卸载装置和数据传输***
KR20140048815A (ko) Tcp 가속화를 포함하는 내장형 자동차용 획득 장치를 위한 분산형 측정 배열
CN116917853A (zh) 网络接口设备
US7188250B1 (en) Method and apparatus for performing network processing functions
CN105471852A (zh) 一种udp高速数据收发***及方法
WO2014178275A1 (ja) 連続データをパケットにより無線通信する送信装置、受信装置、通信装置、プログラム、送信方法、及び、受信方法
US20040246956A1 (en) Parallel packet receiving, routing and forwarding
US10877911B1 (en) Pattern generation using a direct memory access engine
WO2018137218A1 (zh) 一种数据传输方法、数据接收设备及数据发送设备
CN105307207B (zh) 无线联网装置中的数据传输的方法和无线联网装置
CN211183974U (zh) 基于tcp/ip卸载引擎的量子密钥分发片上***

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees