[go: up one dir, main page]

TWI774026B - 通用序列匯流排裝置與主機 - Google Patents

通用序列匯流排裝置與主機 Download PDF

Info

Publication number
TWI774026B
TWI774026B TW109125294A TW109125294A TWI774026B TW I774026 B TWI774026 B TW I774026B TW 109125294 A TW109125294 A TW 109125294A TW 109125294 A TW109125294 A TW 109125294A TW I774026 B TWI774026 B TW I774026B
Authority
TW
Taiwan
Prior art keywords
packets
usb
storage device
identification code
controller
Prior art date
Application number
TW109125294A
Other languages
English (en)
Other versions
TW202205104A (zh
Inventor
黃振庭
朱世強
翁而咨
林群皓
林嘉宏
Original Assignee
瑞昱半導體股份有限公司
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 瑞昱半導體股份有限公司 filed Critical 瑞昱半導體股份有限公司
Priority to TW109125294A priority Critical patent/TWI774026B/zh
Priority to US17/096,398 priority patent/US11455266B2/en
Publication of TW202205104A publication Critical patent/TW202205104A/zh
Application granted granted Critical
Publication of TWI774026B publication Critical patent/TWI774026B/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • G06F13/4295Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using an embedded synchronisation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • G06F5/10Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor having a sequence of storage locations each being individually accessible for both enqueue and dequeue operations, e.g. using random access memory
    • G06F5/12Means for monitoring the fill level; Means for resolving contention, i.e. conflicts between simultaneous enqueue and dequeue operations
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • G06F9/30101Special purpose registers
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
    • H03K19/17724Structural details of logic blocks
    • H03K19/17728Reconfigurable logic blocks, e.g. lookup tables
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0042Universal serial bus [USB]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Information Transfer Systems (AREA)
  • Input Circuits Of Receivers And Coupling Of Receivers And Audio Equipment (AREA)
  • Vehicle Body Suspensions (AREA)
  • Arrangements For Transmission Of Measured Signals (AREA)

Abstract

一種通用序列匯流排(universal serial bus,USB)裝置包含第一儲存裝置、控制器以及二儲存裝置。第一儲存裝置用以儲存欲發送至USB主機的多個輸入封包。控制器用以接收第一儲存裝置的輸入封包,並分別計算輸入封包的雜湊值,並依據雜湊值,在輸入封包中分別標示第一識別碼以對應至USB主機端的中央處理器的多數個核心的其中之一。在輸入封包中,具有相同雜湊值的輸入封包被標示相同的第一識別碼。第二儲存裝置用以儲存標示第一識別碼後的輸入封包。控制器更用以使儲存在第二儲存裝置中的輸入封包傳輸至USB主機。

Description

通用序列匯流排裝置與主機
本申請是關於通用序列匯流排(universal serial bus, USB)的裝置與主機,特別是關於依據封包識別碼傳輸的USB裝置與主機。
於目前技術中,藉由通用序列匯流排(universal serial bus, USB)傳輸的封包被中央處理器處理時,USB主機利用故有分配方式將USB封包指派給中央處理器中的任一核心。然而,USB主機無法利用故有的分配方式將夾帶有網路封包的USB封包均衡分配。因此,中央處理器對USB傳輸來的夾帶有網路封包的USB封包沒有做均衡負載的分配。此外,當多個類似封包在傳輸控制協定上具有相同的來源位址與目的位址時,可能會被指派到不同的核心被運算。如此一來,中央處理器在處理該些封包時,除了運算之外,還需要更多的工作成本來執行輸入輸出的工作以配合分配到不同核心運算的類似封包。
本申請提供一種USB裝置,其包含第一儲存裝置、控制器以及二儲存裝置。第一儲存裝置用以儲存欲發送至USB主機的多個輸入封包。控制器用以接收第一儲存裝置的輸入封包,並分別計算輸入封包的雜湊值,並依據雜湊值,在輸入封包中分別標示第一識別碼以對應至USB主機端的中央處理器的多數個核心的其中之一。在輸入封包中,具有相同雜湊值的輸入封包被標示相同的第一識別碼。第二儲存裝置用以儲存標示第一識別碼後的輸入封包。控制器更用以使儲存在第二儲存裝置中的輸入封包傳輸至USB主機。
本申請提供一種USB裝置,其包含第一儲存裝置、控制器以及第二儲存裝置。第一儲存裝置用以儲存從一USB主機接收的多個輸出封包。控制器用以依據輸出封包的識別碼控制第一儲存裝置儲存輸出封包。識別碼為流識別碼。輸出封包的識別碼關聯於輸出封包的表頭的雜湊值。第二儲存裝置用以儲存對照表。對照表包含輸出封包的雜湊值與輸出封包的識別碼之間的對應關係。
本申請提供一種USB主機,其包含儲存裝置以及控制器。儲存裝置包含多個端點緩衝器。端點緩衝器用以儲存欲發送至USB裝置的多個輸出封包。這些輸出封包從中央處理器的多個核心所接收。輸出封包各具有第一識別碼對應核心的其中之一。控制器用以依據第一識別碼將輸出封包分配至端點緩衝器以儲存。具有相同第一識別碼的輸出封包被儲存在同一個端點緩衝器。
本申請提供一種USB主機,其包含儲存裝置以及控制器。儲存裝置包含多個端點緩衝器。端點緩衝器用以儲存從USB裝置接收的多個輸入封包。這些輸入封包各具有第一識別碼對應中央處理器的多個核心的其中之一。控制器用以依據第一識別碼將輸入封包指派給核心。第一識別碼為流識別碼。
本申請的USB裝置和USB主機能夠將封包指派給中央處理器的核心做運算,以達到均衡負載的效果。
請參考圖1。本申請的通用序列匯流排(universal serial bus, USB)系統10可以對封包進行分類,並依據分類將封包指派給中央處理器CPU中多個核心C0~C3的其中之一,以達到負載均衡(load balancing)的目的,其細節說明如下。
在USB傳輸中,當欲從USB裝置100往USB主機200傳送多個封包時,USB裝置100會將該些封包分類後傳輸至USB主機200。接著USB主機200依據封包的分類將封包指派給CPU中的核心C0~C3。當CPU處理完指派的封包後,可將封包傳輸回USB主機200。USB主機200再將處理後的封包傳至USB裝置100。
在一些實施例中,USB裝置100與USB主機200符合USB 3.0或更新的規範。在一些實施例中,封包為符合傳輸控置協定(Transmission Control Protocol, TCP)的網路封包。在另一些實施例中,封包為符合用戶資料報協定(User Datagram Protocol, UDP)的網路封包。
如圖1所示,USB裝置100包含儲存裝置110、控制器120、儲存裝置130、儲存裝置140以及多工器150。控制器120分別耦接儲存裝置110、儲存裝置120、儲存裝置130以及多工器150,以控制該些裝置的運作。
當欲從USB裝置100傳輸多個封包至USB主機200時,該些封包會先進入儲存裝置110。在一些實施例中,儲存裝置110為一個先進先出(first in first out, FIFO)暫存器,儲存裝置110依序地儲存接收的該些封包。在儲存裝置110要將該些封包輸出時,亦依序地將封包傳出。
當該些封包儲存在儲存裝置110時,控制器120對該些封包進行分類。在本實施例中,控制器120對該些封包執行雜湊函數(hash function)計算以得到各個封包的雜湊值(hash value),並將各封包的雜湊值標示在各封包中。一般來說,每一封包包含表頭(header)與資料,其中表頭可包含封包的「來源位址」、「目的位址」、「主題」、「時間」等資訊欄位。在一些實施例中,控制器120先對封包擷取部分欄位的資訊以定義出要進行雜湊函數計算的內容,再對被定義出的資訊內容進行雜湊函數計算。舉例來說,控制器120擷取封包表頭中的「來源位址」與「目的位址」的資訊為要據以進行雜湊函數計算的內容,接著再對表頭中的「來源位址」與「目的位址」的資訊進行雜湊函數計算以得到雜湊值。因為雜湊函數為嵌射函數(一對一函數),所以具有相同「來源位址」與「目的位址」的多個封包會被計算出具有相同的雜湊值,具有不同「來源位址」與「目的位址」的封包會被計算出不同的雜湊值。例如,某一程式產生的所有封包均具有相同的「來源位址」與「目的位址」,因此由該程式所產生的所有封包均具有相同的雜湊值。
在一些實施例中,控制器120將計算好的雜湊值標示在封包中。例如,將雜湊值標示在封包表頭中的預留空白欄位中。
儲存裝置140中存放有對照表,記錄了雜湊值和識別碼ID的對應關係,因此控制器120可依據該對照表,取得該些封包的識別碼ID,再將識別碼ID標示在各封包中,例如封包的表頭、封包中尚未使用的欄位或封包中可辨識之處。識別碼ID關聯於CPU核心C0~C3。更確切地說,具有相同雜湊值的多個封包被標示相同的識別碼ID,並在之後會被USB主機200指派至對應的CPU核心執行運算,其優點在於可以使相同類型的封包被同一CPU核心執行而不被打斷,提高了運算效率。在本實施例中,識別碼ID為USB 3.0或更新的規範中定義的流識別碼(stream ID)。圖1儲存裝置140為資料暫存器(register)。在一些其他的實施例中,儲存裝置140可為USB裝置100外的記憶體裝置(例如,USB裝置100外的快閃記憶體)。
接着,控制器120控制儲存裝置130來儲存被標示識別碼ID後的該些封包。在圖1的實施例中,儲存裝置130包含多個FIFO暫存器131~134,控制器120依據識別碼ID將該些封包分配至FIFO暫存器131~134中儲存,且具有相同識別碼ID的多個封包會被分配至同一FIFO暫存器。例如,有m個來自第一特定程式的封包與n個來自第二特定程式的封包摻雜地儲存在儲存裝置110中,經過控制器120分類後,m個該第一特定程式的封包被標示相同的識別碼ID1並被分配至FIFO暫存器131中儲存;n個該第二特定程式的封包被標示相同的識別碼ID2並被分配至FIFO暫存器132中儲存。
在一些實施例中,儲存裝置110與儲存裝置130被整合為單一儲存裝置,並共用其中的儲存空間。
控制器120接著控制儲存裝置130將儲存的封包傳輸至多工器150。控制器120再控制多工器150用以選擇性地將封包傳輸至USB主機200,例如控制器120可以選擇將具有某一識別碼ID的多個封包優先傳輸至USB主機200,而非如一般的作法完全依據進入儲存裝置110的先後順序來傳輸至USB主機200,圖1的多重FIFO暫存器131~134平行化的設置,可以依據各類型封包需要被處理的急迫程度來調整送至USB主機200的順序。
在一些實施例中,如圖2所示,USB裝置100的儲存裝置130僅包含單一FIFO暫存器135。因此,標示識別碼ID的該些封包依先後順序被儲存進儲存裝置130之該單一FIFO暫存器135,並依序地從儲存裝置130之該單一FIFO暫存器135被讀出並傳輸至USB主機200。
圖1與圖2的USB主機200相同,包含控制器210、多工器220與儲存裝置230。控制器210分別耦接多工器220與儲存裝置230。
當該些封包傳輸至USB主機200後,控制器210控制多工器220將接收的封包傳輸至儲存裝置230。在本實施例中,儲存裝置230包含多個端點緩衝器231~234,控制器210將具有相同識別碼ID的封包分配至相同的端點緩衝器中儲存。USB主機200進一步將儲存在儲存裝置230中的封包指派給CPU中的核心C0~C3進行運算。
當控制器210支援依據識別碼ID將封包指派給對應的CPU核心時,控制器210依據識別碼ID使USB主機200對CPU中相對應的核心發出中斷(interrupt)訊息及/或請求,再將封包傳送至相對應的核心。當控制器210不支援依據識別碼ID將封包指派給對應的CPU核心時,USB主機200可另藉由驅動程式的輔助來達到上述功能,例如利用延遲程式呼叫(Deferred Procedure Call, DPC)來輔助。
因此,具有相同識別碼ID的封包將被指派至相同的核心做運算。在一些傳統的作法中,USB主機將具有相同識別碼ID封包指派給CPU中隨機的核心C0~C3做運算,在傳送至CPU之前,每個被指派到的核心C0~C3的快取記憶體可能需要被更新儲存內容以執行針對某類型封包的運算,因此,若同一核心頻繁地在不同類型封包的運算之間切換,會耗費大量的時間。相較於傳統的作法,USB主機200將具有相同識別碼ID封包指派至相同的核心做運算,可大幅降低CPU的負擔。
此外,在另一些傳統的作法中,USB主機僅將封包全數指派給同一核心,造成單一核心負載過大,但其他些核心閒置的情況,拉長整體運算時間。例如,一張網路卡藉由USB裝置連接USB主機,在傳統做法中,USB主機將所有由該網路卡傳輸的封包都指派到單一核心處理(亦即完全不分配),若網路卡具有例如5GbE的高頻寬,則該單一核心必須處理5G的資料量。當該核心的負載能力低於5G時,網路卡的封包傳輸就會在該核心產生瓶頸,而造成延遲,使CPU中的多個核心C0~C3沒有有效率的應用。在本申請中,USB主機200具有將封包指派給特定核心的功能,可儘量地平均分配核心C0~C3的負擔,增加CPU工作效率,減少整體運算時間。
當CPU處理完成後,將該些封包傳輸回USB主機200,控制器210依據識別碼ID使端點緩衝器231~234對應地儲存該些封包,使具有相同識別碼ID的封包被儲存在相同的端點緩衝器231~234。由於CPU並沒有改變該些封包的識別碼ID,因此,若一個封包在傳輸進CPU之前是儲存在端點緩衝器231,則該封包在由CPU傳輸至USB主機200中也是儲存在端點緩衝器231中。
接著,控制器210將端點緩衝器231~234中的封包傳輸至多工器220,再由多工器220輸出封包至USB裝置100。
在圖1的實施例中,USB裝置100中的多工器150從USB主機200封包接收後,由控制器120依據識別碼ID將封包儲存進FIFO暫存器131~134中。因為識別碼ID沒有改變,所以封包亦被存入相同的FIFO暫存器131~134中。例如,在傳輸至USB主機200前,一個封包被儲存在FIFO暫存器131,則在從USB主機200傳輸回USB裝置100後,該封包亦儲存在FIFO暫存器131中。
在圖2的實施例中,因為儲存裝置130僅具有單一個FIFO暫存器135,因此所有的封包都被依序地儲存進儲存裝置130的FIFO暫存器135中。
控制器120接著控制儲存裝置130將封包傳輸至儲存裝置110。最後,封包再由儲存裝置110輸出。
上文的敘述簡要地提出了本申請某些實施例之特徵,而使得本申請所屬技術領域具有通常知識者能夠更全面地理解本申請內容的多種態樣。本申請所屬技術領域具有通常知識者當可明瞭,其可輕易地利用本申請內容作為基礎,來設計或更動其他製程與結構,以實現與此處該之實施方式相同的目的和/或達到相同的優點。本申請所屬技術領域具有通常知識者應當明白,這些均等的實施方式仍屬於本申請內容之精神與範圍,且其可進行各種變更、替代與更動,而不會悖離本申請內容之精神與範圍。
10:USB系統 100:USB裝置 110:儲存裝置 120:控制器 130:儲存裝置 131:FIFO暫存器 132:FIFO暫存器 133:FIFO暫存器 134:FIFO暫存器 135:FIFO暫存器 ID1:識別碼 ID2:識別碼 140:儲存裝置 150:多工器 200:USB主機 210:控制器 220:多工器 230:儲存裝置 231:端點暫存器 232:端點暫存器 233:端點暫存器 234:端點暫存器 CPU:中央處理器 C0:核心 C1:核心 C2:核心 C3:核心 30:USB傳輸方法 S301:操作 S302:操作 S303:操作 S304:操作 S305:操作 S306:操作 S307:操作
在閱讀了下文實施方式以及附隨圖式時,能夠最佳地理解本揭露的多種態樣。應注意到,根據本領域的標準作業習慣,圖中的各種特徵並未依比例繪製。事實上,為了能夠清楚地進行描述,可能會刻意地放大或縮小某些特徵的尺寸。 圖1為依據一些實施例所繪示的USB系統示意圖。 圖2為依據一些實施例所繪示的USB系統示意圖。
10:USB系統
100:USB裝置
110:儲存裝置
120:控制器
130:儲存裝置
135:FIFO暫存器
140:儲存裝置
200:USB主機
210:控制器
220:多工器
230:儲存裝置
231:端點暫存器
232:端點暫存器
233:端點暫存器
234:端點暫存器
CPU:中央處理器
C0:核心
C1:核心
C2:核心
C3:核心

Claims (10)

  1. 一種通用序列匯流排(universal serial bus,USB)裝置,包含:一第一儲存裝置,用以儲存欲發送至一USB主機的複數個輸入封包;一控制器,用以接收該第一儲存裝置的該些輸入封包,並分別計算該些輸入封包的雜湊值,並依據該些雜湊值,在該些輸入封包中分別標示第一識別碼以對應至該USB主機端的一中央處理器的複數個核心的其中之一,其中在該些輸入封包中,具有相同雜湊值的輸入封包被標示相同的第一識別碼,其中該中央處理器的該些核心位於該USB裝置之外;以及一第二儲存裝置,用以儲存標示第一識別碼後的該些輸入封包,其中,該控制器更用以使儲存在該第二儲存裝置中的該些輸入封包傳輸至該USB主機。
  2. 如請求項1所述的USB裝置,更包含:一第三儲存裝置,用以儲存一對照表,其中該對照表提供該些雜湊值與該些第一識別碼的一對應關係,其中該些第一識別碼關聯於該些核心,其中該控制器依據該對應關係將該些第一識別碼標示在該些輸入封包中。
  3. 如請求項1所述的USB裝置,其中該第二儲存裝置包含:複數個先進先出(first in first out,FIFO)暫存器,其中該控制器進一步控制每個FIFO暫存器儲存具有相同第一識別碼的輸入封包。
  4. 如請求項3所述的USB裝置,其中該第二儲存裝置更用以儲存從該USB主機傳輸的複數個輸出封包,其中該些輸出封包各具有一第二識別碼,其中該控制器更用以依據該些第二識別碼將該些輸出封包分配至該些FIFO暫存器以儲存,其中每個FIFO暫存器用以儲存具有相同第二識別碼的輸出封包,以及該些第二識別碼為流識別碼。
  5. 如請求項1所述的USB裝置,其中該第二儲存裝置為一先進先出(first in first out,FIFO)暫存器,其中控制器更用以控制該FIFO暫存器依序儲存從該USB主機傳輸的複數個輸出封包。
  6. 一種通用序列匯流排(universal serial bus,USB)裝置,包含:一第一儲存裝置,用以儲存從一USB主機接收的複數個輸出封包;以及一控制器,用以依據該些輸出封包的一識別碼控制該第一儲存裝置儲存該些輸出封包,其中該識別碼為流識別碼,以及該些輸出封包的該識別碼關聯於該些輸出封包的一表頭的一雜湊值,其中該些輸出封包的該識別碼分別對應該USB主機端的一中央處理器的複數個核心之一,以及該中央處理器的該些核心位於該USB裝置之外;以及一第二儲存裝置,用以儲存一對照表,其中該對照表包含該些輸出封包的該雜湊值與該些輸出封包的該識別碼之間的一對應關係。
  7. 一種通用序列匯流排(universal serial bus;USB)主機,包含: 一儲存裝置,包含複數個端點緩衝器,該些端點緩衝器用以儲存欲發送至一USB裝置的複數個輸出封包,其中該些輸出封包從位於該USB主機之外的一中央處理器的複數個核心所接收,其中該些輸出封包各具有一第一識別碼對應該些核心的其中之一;以及一控制器,用以依據該些第一識別碼將該些輸出封包分配至該些端點緩衝器以儲存,其中具有相同第一識別碼的輸出封包被儲存在同一個端點緩衝器。
  8. 如請求項7所述的USB主機,其中該些端點緩衝器更用以儲存由該USB裝置傳輸來的複數個輸入封包,其中該些輸入封包各具有一第二識別碼,其中該控制器更用以依據該些第二識別碼將該些輸入封包分配至該些端點緩衝器以儲存。
  9. 如請求項8所述的USB主機,其中該些輸入封包各透過該些核心處理為該些輸出封包,其中該些輸入封包的第二識別碼與對應的該些輸出封包的第一識別碼相同。
  10. 一種通用序列匯流排(universal serial bus;USB)主機,包含:一儲存裝置,包含複數個端點緩衝器,該些端點緩衝器用以儲存從一USB裝置接收的複數個輸入封包,其中該些輸入封包各具有一第一識別碼對應位於該USB主機之外的一中央處理器的複數個核心的其中之一;以及一控制器,用以依據該些第一識別碼將該些輸入封包指派給該些核 心,其中該些第一識別碼為流識別碼。
TW109125294A 2020-07-27 2020-07-27 通用序列匯流排裝置與主機 TWI774026B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
TW109125294A TWI774026B (zh) 2020-07-27 2020-07-27 通用序列匯流排裝置與主機
US17/096,398 US11455266B2 (en) 2020-07-27 2020-11-12 Universal serial bus device and host

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW109125294A TWI774026B (zh) 2020-07-27 2020-07-27 通用序列匯流排裝置與主機

Publications (2)

Publication Number Publication Date
TW202205104A TW202205104A (zh) 2022-02-01
TWI774026B true TWI774026B (zh) 2022-08-11

Family

ID=81323463

Family Applications (1)

Application Number Title Priority Date Filing Date
TW109125294A TWI774026B (zh) 2020-07-27 2020-07-27 通用序列匯流排裝置與主機

Country Status (2)

Country Link
US (1) US11455266B2 (zh)
TW (1) TWI774026B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230195530A1 (en) * 2021-12-17 2023-06-22 Apple Inc. Systems and Methods for Balancing Loads Across Multiple Processing Cores of a Wireless Device

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW201135471A (en) * 2009-09-23 2011-10-16 Sandisk Il Ltd Multi-protocol storage device bridge
US8625604B2 (en) * 2009-12-01 2014-01-07 Polytechnic Institute Of New York University Hash-based prefix-compressed trie for IP route lookup
US8762534B1 (en) * 2011-05-11 2014-06-24 Juniper Networks, Inc. Server load balancing using a fair weighted hashing technique
US9553809B2 (en) * 2013-04-16 2017-01-24 Amazon Technologies, Inc. Asymmetric packet flow in a distributed load balancer

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10523675B2 (en) * 2017-11-08 2019-12-31 Ca, Inc. Remote direct memory access authorization

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW201135471A (en) * 2009-09-23 2011-10-16 Sandisk Il Ltd Multi-protocol storage device bridge
US8625604B2 (en) * 2009-12-01 2014-01-07 Polytechnic Institute Of New York University Hash-based prefix-compressed trie for IP route lookup
US8762534B1 (en) * 2011-05-11 2014-06-24 Juniper Networks, Inc. Server load balancing using a fair weighted hashing technique
US9553809B2 (en) * 2013-04-16 2017-01-24 Amazon Technologies, Inc. Asymmetric packet flow in a distributed load balancer

Also Published As

Publication number Publication date
US11455266B2 (en) 2022-09-27
TW202205104A (zh) 2022-02-01
US20220027299A1 (en) 2022-01-27

Similar Documents

Publication Publication Date Title
US20250030627A1 (en) System and method for facilitating efficient load balancing in a network interface controller (nic)
JP4150336B2 (ja) 共有属性に基づいて圧縮キューペアから複数の仮想キューペアを作成する構成
CN107623646B (zh) 数据流传输方法、发送设备及接收设备
CN101501660B (zh) 因特网连接交换机和因特网连接系统
CN100592273C (zh) 执行dma数据传输的设备和方法
CN113194162B (zh) 一种数据传输方法、装置、电子设备及介质
CN104424105A (zh) 一种内存数据的读写处理方法和装置
CN102263698A (zh) 虚拟通道的建立方法、数据传输的方法及线卡
CN107562669A (zh) 一种NVMe协议命令处理方法、装置及系统
US20250175441A1 (en) Packet forwarding apparatus and method, communication chip, and network device
TWI774026B (zh) 通用序列匯流排裝置與主機
US20090240793A1 (en) Memory Buffer Management Method and System Having Multiple Receive Ring Buffers
CN117971135B (zh) 存储设备的访问方法、装置、存储介质和电子设备
US10762017B2 (en) USB transmission system, USB device, and host capable of USB transmission
CN110765044B (zh) 数据包传输装置及系统
CN114064542B (zh) 通用串行总线装置与主机
CN111090601A (zh) 基于bmc芯片的多功能usb控制方法、系统、终端及存储介质
CN113596038B (zh) 数据包解析的方法和服务器
US8219726B2 (en) Method for data transfer between host and device
CN112231250A (zh) 存储设备的性能隔离
CN117579570B (zh) 一种基于PCIe的数据传输方法、装置和系统
JP6593222B2 (ja) 情報処理装置、演算処理装置及び情報処理装置の制御方法
CN117176654A (zh) 一种用于减轻网络通讯拥塞的数据处理方法及装置
JP2004054419A (ja) ノード間トランザクション処理装置
JP2006323579A (ja) Dmaコントローラ