TWI686699B - 經由通用序列匯流排串流之側通道存取 - Google Patents

經由通用序列匯流排串流之側通道存取 Download PDF

Info

Publication number
TWI686699B
TWI686699B TW104133583A TW104133583A TWI686699B TW I686699 B TWI686699 B TW I686699B TW 104133583 A TW104133583 A TW 104133583A TW 104133583 A TW104133583 A TW 104133583A TW I686699 B TWI686699 B TW I686699B
Authority
TW
Taiwan
Prior art keywords
usb
interface
side channel
arbiter
packet
Prior art date
Application number
TW104133583A
Other languages
English (en)
Other versions
TW201633158A (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 美商微晶片科技公司
Publication of TW201633158A publication Critical patent/TW201633158A/zh
Application granted granted Critical
Publication of TWI686699B publication Critical patent/TWI686699B/zh

Links

Images

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/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • 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/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
    • 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/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • 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/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; CALCULATING OR 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/065Partitioned buffers, e.g. allowing multiple independent queues, bidirectional FIFO's
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2205/00Indexing scheme relating to group G06F5/00; Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F2205/06Indexing scheme relating to groups G06F5/06 - G06F5/16
    • G06F2205/067Bidirectional FIFO, i.e. system allowing data transfer in two directions

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)
  • Bus Control (AREA)

Abstract

本發明揭示一種系統,其可提供使用通用序列匯流排(USB)串流之一USB裝置之側通道存取。該系統可包含:一USB介面,其具有一USB裝置控制器;一內部匯流排;一邏輯單元號碼(LUN)仲裁器,其耦合於該USB控制器與該內部匯流排之間;及一次要介面,其與該LUN仲裁器耦合。該系統可包含耦合至該內部匯流排之複數個儲存裝置。該系統可提供經由該USB裝置控制器及該次要介面兩者之對該等儲存裝置之存取。該LUN仲裁器可接收來自該USB裝置控制器之複數個USB串流(例如,儲存裝置存取請求)及來自該次要介面之至少一額外USB串流(例如,儲存裝置存取請求)。該LUN仲裁器可判定源自該USB裝置控制器及該次要介面之USB串流之間之一存取優先順序。

Description

經由通用序列匯流排串流之側通道存取 【相關申請案】
本申請案主張2014年10月13日申請之共同擁有的美國臨時專利申請案第62/063,092號之優先權,該申請案為了全部目的以引用的方式併入本文中。
本發明係關於用於一通用序列匯流排(USB)環境中之系統及方法,且更特定言之係關於用於使用USB串流之一USB裝置之側通道存取之改良系統及方法。
USB環境在現代電子器件裝置(例如,伺服器、個人電腦(「PC」)、平板PC、蜂巢式電話、汽車娛樂資訊系統、個人遊戲系統、玩具等)中普遍存在。一「通用」介面容許鍵盤、監視器、印表機、儲存裝置、相機、電話、玩具、遊戲及許多其他電子裝置在一單一介面上運作。使用USB裝置(尤其係如同卡讀取器及類似者之裝置),具有使用(例如)自其可直接存取下游USB源(例如在一卡讀取器之情況中為一媒體卡等)之一單獨介面(諸如例如SPI、I2C、UART等)之至裝置中之一側通道係有價值的。一方法係要求經由上游USB埠完成此存取,但此可使邏輯複雜及/或損及系統效能。
舉例而言,在不支援USB串流之一USB裝置(諸如一雙卡讀取器)中,在一給定時間僅可處理一個USB封包,且推遲任何進一步封包直 到完成當前封包之處理。此意味著若一側通道傳送經由上游USB埠進入系統中,則即使不存取實體資源(例如,一記憶體卡),仍必須推遲全部USB封包。
在支援USB串流之一USB裝置中,USB裝置控制器將處理依序進入之N個串流。搭配USB串流,可在處理先前封包之前將一新封包接收至裝置中,直至裝置之儲存及處理能力。可藉由使用檢查各個USB封包且判定封包應投送至其之實體資源(例如,記憶體卡#1、記憶體卡#2、CPU等)之一中央命令仲裁器而完成此。藉由僅投送至封包意欲用於其之實體資源,可簡化實體資源中之邏輯。
然而,即使使用支援USB串流之裝置,仍將需要由CPU處理對裝置上之實體資源之一者之一側通道存取以判定正確導引。在不支援封包之無序處理(大多數裝置係如此,此係因為不支援其係更簡單的)之裝置上,必須推遲全部其他封包之處理直到正確導引側通道封包使得維持全部封包之順序。此需要正確實施可係複雜的側通道邏輯與USB裝置控制器之間之通信及同步。
此外,必須使用(或想要使用)一單獨介面(諸如SPI、I2C、UART等)以存取USB裝置之一些使用者可能不可接受要求經由上游USB埠之側通道存取。容許經由此等單獨介面之一者之對USB裝置之側通道存取可使硬體及相關聯之軟體常式複雜。舉例而言,實施多工此一側通道上之讀取及寫入命令/資料與USB上游上之讀取及寫入命令之功能可係實施複雜的且通常將導致一專屬命令及定址方案及/或額外硬體要求(例如,判定如在源自USB主機之命令與經由單獨SPI/I2C/UART等介面起源之命令之間之存取優先順序之一額外仲裁器層)。
因此,存在對於可提供避免先前提及之複雜性之有效且簡單的側通道存取之一改良之USB環境之一需要。
根據一實施例,提供一種系統,其可包含具有一USB裝置控制器及緩衝器記憶體之一USB介面。系統可進一步包含一內部匯流排及耦合於USB裝置控制器與內部匯流排之間之一邏輯單元號碼(LUN)仲裁器。系統可進一步包含與LUN仲裁器耦合之一次要介面。在某些實施例中,系統可包含耦合於次要介面與內部匯流排之間之一FIFO。在相同或替代實施例中,系統可包含耦合至內部匯流排之複數個儲存裝置,且各個儲存裝置可包含一小電腦系統介面(SCSI)命令處理單元及一記憶體卡控制器。在相同或替代實施例中,系統可包含耦合於USB裝置控制器與LUN仲裁器之間之複數個端點。在相同或替代實施例中,USB裝置控制器可支援USB串流且LUN仲裁器可係一USB串流仲裁器。在相同或替代實施例中,LUN仲裁器可經組態以接收來自USB裝置控制器之複數個USB串流及來自次要介面之至少一額外USB串流。
根據一進一步實施例,提供一種方法,其用於提供對具有複數個硬體資源、支援USB串流之一USB裝置控制器、一邏輯單元號碼(LUN)仲裁器及一次要介面之一系統中之一第一硬體資源之側通道存取。USB裝置控制器可接收存取複數個硬體資源之第一硬體資源之一USB請求。次要介面可接收存取複數個硬體資源之第一硬體資源之一側通道請求。USB裝置控制器可將USB請求轉送至LUN仲裁器,且次要介面可將側通道請求轉送至LUN仲裁器。LUN仲裁器可判定其中將USB請求及側通道請求轉送至第一硬體資源之順序。
根據一進一步實施例,提供一種系統,其可包含一USB裝置控制器,一內部匯流排及一側通道介面單元。系統可進一步包含一邏輯單元號碼(LUN)仲裁器,其耦合於(i)USB裝置控制器與內部匯流排之間及(ii)側通道介面單元與內部匯流排之間。系統可進一步包含耦合至內部匯流排之至少一硬體控制器。系統可進一步包含至少一處理器。 至少一處理器可經組態以產生用於存取至少一硬體控制器之第一USB封包及第二USB封包。至少一處理器可進一步經組態以經由一USB介面而將第一USB封包傳輸至USB裝置控制器,且藉由透過一側通道介面通信協定穿隧第二USB封包而將第二USB封包傳輸至側通道介面單元。一旦接收第一USB封包,USB裝置控制器便可將第一USB封包轉送至LUN仲裁器作為一第一USB串流。一旦接收第二USB封包,側通道介面單元便可將第二USB封包轉送至LUN仲裁器作為一第二USB串流。LUN仲裁器可判定第一USB串流與第二USB串流之間之一存取優先順序。可回應於第一USB封包及第二USB封包而存取至少一硬體控制器。
100‧‧‧系統
102‧‧‧硬體單元
102a‧‧‧處理器
103‧‧‧匯流排
104‧‧‧硬體單元
104a‧‧‧處理器
106‧‧‧通用序列匯流排(USB)裝置控制器
108‧‧‧次要介面
110‧‧‧端點緩衝器
112‧‧‧緩衝器記憶體
114‧‧‧邏輯單元號碼(LUN)仲裁器
116‧‧‧內部匯流排
118a‧‧‧小電腦系統介面(SCSI)命令處理單元
118b‧‧‧小電腦系統介面(SCSI)命令處理單元
120a‧‧‧記憶體卡控制器
120b‧‧‧記憶體卡控制器
122‧‧‧FIFO
124a‧‧‧記憶體卡
124b‧‧‧記憶體卡
126‧‧‧上游埠
128‧‧‧上游埠
130‧‧‧匯流排
140‧‧‧硬體單元
140a‧‧‧元件
200‧‧‧系統
203‧‧‧處理器
300‧‧‧例示性方法
302‧‧‧步驟
304‧‧‧步驟
306‧‧‧步驟
308‧‧‧步驟
310‧‧‧步驟
312‧‧‧步驟
314‧‧‧步驟
可藉由參考結合隨附圖式進行之以下描述而獲取本發明之一更完整理解。
圖1繪示根據本發明之某些實施例之可提供使用USB串流之一USB裝置之側通道存取之一例示性系統之一方塊圖;圖2繪示根據本發明之某些實施例之可提供使用USB串流之一USB裝置之側通道存取之一例示性系統之一方塊圖;圖3繪示根據本發明之某些實施例之用於提供使用USB串流之一USB裝置之側通道存取之一例示性方法之一流程圖。
雖然本發明可具有多種修改及替代形式,但在圖式中展示且在本文中詳細描述本發明之特定例示性實施例。然而,應瞭解,本文中之特定例示性實施例之描述不意欲將本發明限於本文中揭示之特定形式,而是相反地,本發明意欲涵蓋如由隨附申請專利範圍界定之全部修改及等效物。
根據多種實施例,可提供一種系統,其可提供使用USB串流之一 USB裝置之增強之側通道存取。
現在參考圖式,示意性繪示例示性實施例之細節。圖式中之相同元件將由相同數字表示,且類似元件將由具有一不同小寫字母字尾之相同數字表示。
圖1繪示根據本發明之某些實施例之可提供使用USB串流之一USB裝置之增強之側通道存取之一例示性系統之一方塊圖。如圖1中所描繪,系統100可包括分別具有處理器102a及104a之硬體單元102及104。系統100可進一步包括耦合至端點緩衝器110及緩衝器記憶體112之USB裝置控制器106。系統100可進一步包含耦合至FIFO 122之次要介面108。系統100可進一步包括具有上游埠126及128且經由一下游埠耦合至內部匯流排116之邏輯單元(LUN)仲裁器114。系統100可進一步包括小電腦系統介面(SCSI)命令處理單元118a及118b以及分別用於處理記憶體卡124a及124b之記憶體卡控制器120a及120b。匯流排103可使硬體單元102與USB裝置控制器106耦合且能夠在硬體單元102與USB裝置控制器106之間載送符合USB標準之發信號(USB-compliant signaling)。匯流排130可使硬體單元104與次要介面108耦合,且能夠載送對應於由次要介面108支援之一協定之發信號。圖1描繪硬體單元140,指示其可係與硬體單元102及104分開之一硬體(例如,不同實體晶片、板等)。然而,此描繪之硬體劃界僅係例示性的。不同實施例(例如,在下文中描述之圖2)可提供不同硬體組態。此外,雖然圖1中描繪之實施例包含兩個實體記憶體卡(124a/124b)及對應記憶體卡控制器(120a/120b)及SCSI命令處理單元(118a/118b),但替代實施例可包含任何數目之記憶體卡(例如,2、3、10、16等)及相關聯之SCSI命令處理單元。
處理器102a及104a可包括可操作以解譯及/或執行程式指令及/或程序資料之任何系統、裝置或設備,且可包含(不限於)一微處理器、 微控制器、數位信號處理器、特定應用積體電路(ASIC)或經組態以解譯及/或執行程式指令及/或程序資料之任何其他數位或類比電路。硬體單元102之處理器102a可通信耦合至USB裝置控制器106以提供適合於實施/控制一USB裝置之發信號。硬體單元104之處理器104a可通信耦合至次要介面108以提供適合於實施/控制次要介面(例如,SPI/I2C/UART等)之發信號。處理器102a及104a亦可通信耦合至包含記憶體(例如,揮發性、非揮發性等)、儲存媒體(例如,快閃記憶體、EEPROM、固態儲存媒體等)等之其他資源(未展示)。
USB裝置控制器106可包括可操作以實施一USB裝置控制器介面之任何系統、裝置或設備且可包含(不限於)一特定應用積體電路(ASIC)或經組態以實施一USB裝置控制器介面之任何其他數位或類比電路(及所需軟體/硬體)。在某些實施例中,USB裝置控制器106可係由Microchip Technology,Inc.(Microchip)提供之一裝置控制器。USB裝置控制器106可支援USB串流(例如,如USB規範之第3.0版中引入)。USB裝置控制器106可耦合至端點緩衝器110及緩衝器記憶體112。端點緩衝器110可包括任何數目之端點,多達由USB規範容許之最大值。端點緩衝器110可用於儲存USB命令而緩衝器記憶體112可用於儲存與由USB裝置控制器106處置之USB異動有關之資料。
次要介面108可包括可操作以實施一次要介面之任何系統、裝置或設備,且可包含(不限於)一特定應用積體電路(ASIC)或經組態以實施一次要介面之任何其他數位或類比電路(及所需軟體/韌體)。次要介面108可係一串列周邊介面(SPI)、一積體電路間(I2C)介面、一通用非同步接收器/發送器(UART)介面或適合於實施一側通道存取介面之任何其他非USB通信介面。次要介面108可耦合至FIFO 122。FIFO 122可用於儲存與由次要介面108處置之側通道存取USB異動有關之USB命令及資料。
邏輯單元號碼(LUN)仲裁器114可包括可操作以實施一USB串流仲裁器之任何系統、裝置或設備,且可包含(不限於)一特定應用積體電路(ASIC)或經組態以實施一USB串流仲裁器之任何其他數位或類比電路(及所需軟體/韌體)。LUN仲裁器114可包含分別耦合至端點緩衝器110及FIFO 122之上游埠126及128。LUN仲裁器114可經由上游埠126而支援源自USB裝置控制器106之複數個USB串流。LUN仲裁器114可進一步經由上游埠128而支援源自次要介面108之至少一額外USB串流。一LUN係用於區分如由一SCSI、iSCSI或光纖通道(FC)協定定址之單獨裝置(其等之各者係一邏輯單元)之一獨有識別符。
SCSI命令處理單元118a及118b可包括可操作以處理在內部匯流排116上發出之SCSI命令之任何系統、裝置或設備,且可包含(不限於)一特定應用積體電路(ASIC)或經組態以處理在內部匯流排116上發出之SCSI命令之任何其他數位或類比電路(及所需軟體/韌體)。在替代實施例中,內部匯流排116可係一iSCSI、FC或適合於在LUN仲裁器與記憶體卡控制器120a及120b之間介接之任何其他匯流排。因此,雖然圖1將元件118a及118b描繪為SCSI命令處理單元,但此等處理單元在替代實施例中可係iSCSI、FC或其他命令處理單元。
記憶體卡處理器120a及120b可包括可操作以分別控制記憶體卡124a及124b之任何系統、裝置或設備,且可包含(不限於)一特定應用積體電路(ASIC)或經組態以控制記憶體卡124a及124b之任何其他數位或類比電路(及所需軟體/韌體)。在替代實施例中,記憶體卡124a及124b可係除一記憶體卡之外之其他硬體資源(例如,音訊裝置等)。因此,雖然圖1將元件120a及120b描繪為記憶體卡控制器,但此等控制器可經組態以控制除記憶體卡之外之其他硬體資源(例如,音訊裝置等)。
在操作中,系統100可提供使用USB串流之對一USB裝置之增強 之側通道存取。硬體單元102及處理器102a可執行一般可操作以經由USB匯流排103(例如,一USB主機控制器堆疊等)與USB裝置控制器106互動之軟體及/或韌體。一旦經由USB匯流排103接收USB封包,USB裝置控制器106便可將包括USB串流之對應USB命令轉送(例如,儲存)至端點緩衝器110且可將對應資料儲存於緩衝器記憶體112中。
在任何時候,硬體單元104及處理器104a可執行一般可操作以藉由經由匯流排130傳輸資料至次要介面108而起始USB裝置之一側通道存取之軟體及/或韌體。如先前所揭示,匯流排130可係一SPI匯流排,一I2C匯流排、一UART匯流排或適合於實施一側通道存取介面之任何其他非USB匯流排。硬體單元104及處理器104a可藉由透過次要介面協定穿隧USB封包而透過匯流排130發送一USB封包。換言之,一USB協定可覆疊於當不將USB橋接至SPI/I2C/UART等時係反直覺的之一SPI/I2C/UART等協定之頂部上。實際上,已完成反向橋接功能,可將此視為一非常奇怪的事,此係因為USB被視為使用上更有能力且穩健的協定。一旦經由匯流排130接收USB封包,次要介面108便解壓縮USB封包且將USB命令及資料作為USB串流轉送(例如,儲存)於FIFO 122中。
LUN仲裁器114可在上游埠126處(自USB裝置控制器106)及上游埠128處(自次要介面108)經由USB串流接收USB封包。LUN仲裁器114可藉由判定封包指定給其之實體LUN(例如,圖1中之記憶體卡控制器120a及120b)且將USB封包中含有之請求引導至正確LUN而將在上游埠126及128處接收之USB封包導引至正確晶片上資源。因此,LUN仲裁器114可根據一SCSI、iSCSI或光纖通道(FC)協定將一USB封包中含有之請求轉換成一命令(例如,一單播命令)且將經轉換之請求轉送至內部匯流排116。
SCSI命令處理單元118a及118b可自內部匯流排116接收命令且分 別與記憶體卡控制器120a及120b(或其他硬體控制器)介接以導致對記憶體卡124a及124b(或其他硬體資源)之一存取。記憶體卡124a及124b之存取可作為一正規USB存取(即,經由USB裝置控制器106)或作為一側通道存取(即,經由次要介面108)。
圖2繪示根據本發明之某些實施例之可提供使用USB串流之對一USB裝置之增強之側通道存取之一例示性系統之一方塊圖。圖2在幾乎全部方面都與圖1相同。圖2描繪其中處理器203取代圖1之硬體單元102及104之一替代實施例。圖2之實施例亦藉由元件140a之新增而不同於圖1。
根據圖2中描繪之實施例,處理器203可包括可操作以解譯及/或執行程式指令及/或程序資料之任何系統、裝置或設備且可包含(不限於)一微處理器、微控制器、數位信號處理器、特定應用積體電路(ASIC)或經組態以解譯及/或執行程式指令及/或程序資料之任何其他數位或類比電路。處理器203可通信耦合至USB裝置控制器106以提供適合於實施/控制一USB裝置之發信號。處理器203可進一步通信耦合至次要介面108以提供適合於實施/控制次要介面之發信號。處理器203亦可通信耦合至包含記憶體(例如,揮發性、非揮發性等)、儲存媒體(例如,快閃記憶體、EEPROM、固態儲存媒體等)等之其他資源(未展示)。因此,雖然圖1之處理器102a及104a係單獨硬體單元之部分,但圖2中之處理器203起始正常USN存取及側通道存取。
圖2之元件140a表示根據本發明之多種替代實施例。舉例而言,在一實施例中,處理器203可係硬體單元140之一部分。在替代實施例中,處理器203可係與硬體單元140分開之一硬體單元之部分。
圖3繪示根據本發明之某些實施例之用於提供使用USB串流之一USB裝置之增強之側通道存取之一例示性方法300之一流程圖。根據一實施例,方法300較佳開始於步驟302。如上文中所述,可依系統 100/200之多種組態實施本發明之教示。因而,對於方法300之較佳初始化點及方法300包括之步驟302至314之順序可取決於所選擇之實施方案。
在步驟302,系統100/200可初始化。舉例而言,可開啟系統100/200電源(經由電源或連接至USB主機),且USB裝置控制器106、次要介面108及系統100/200之其他組件可初始化。在步驟304,系統100/200可經由USB匯流排103接收一第一USB封包。第一USB封包可表示自硬體單元102中之一USB主機發送之正常USB訊務。在步驟306,系統100/200可在次要介面108上接收一第二USB封包。可根據由次要介面(例如,透過一SPI/I2C/UART等介面穿隧USB封包)界定之通信協定接收第二USB封包。在步驟308,USB裝置控制器可將第一USB封包作為一USB串流轉送至LUN仲裁器114。在步驟310,次要介面108可將第二USB封包作為一USB串流轉送至LUN仲裁器114(即,次要介面可解壓縮經穿隧之第二USB封包,以經由FIFO 122而將其轉送至LUN仲裁器114)。在步驟312,LUN仲裁器114可判定第一USB封包與第二USB封包之間之存取優先順序。在此內容脈絡中,若LUN仲裁器114判定將第一封包及第二封包引導至不同硬體資源,則LUN仲裁器114可判定第一封包及第二封包中含有之請求之間不存在競爭。在步驟314,LUN仲裁器114可根據針對第一USB封包及第二USB封包判定之優先順序存取硬體控制器120a及/或120b。舉例而言,LUN仲裁器114可在內部匯流排116上發出可由命令處理區塊118a/118b處理之命令。繼而,可存取硬體控制器120a及/或120b,此導致對記憶體卡124a及/或124b之存取。
雖然圖3揭示關於本文中描繪之方法進行之特定數目之步驟,但該方法可經執行具有比所描繪之更多或更少之步驟。另外,雖然圖3揭示關於本文中描繪之方法進行之步驟之一特定順序,但可以任何適 合順序完成步驟。舉例而言,步驟304可在步驟306之後發生。作為另一實例,步驟308可在步驟310之後發生。
使用本文中揭示之方法及系統,可提供一種系統,其可提供使用USB串流之一USB裝置之增強之側通道存取。根據所揭示之實施例,使用者可有利地使用現有硬體介面以執行一USB裝置之一側通道存取。一側通道主控(例如,SPI、I2C、UART等主控)可如同一USB主機對可放置於晶片上之任何類型之USB下游裝置讀出(speak)。此外,根據所揭示之實施例,駐留於系統140上之一CPU可解除處理全部側通道封包之負擔。另外,根據所揭示之實施例,仲裁變得集中且因此更簡單且更一致。舉例而言,LUN仲裁器114僅需要處理USB封包,此可簡化設計且移除對於專屬協定之需要。作為另一實例,在一些實施例中,LUN仲裁器114僅需要支援與側通道存取有關之一額外USB串流、對預先存在的USB串流仲裁器之一簡單修改。仍進一步,所揭示之實施例將容許用於側通道存取之同調無需處理。
雖然已詳細描述本發明,但應瞭解,可對其作出多種改變、取代及替代而不脫離如由隨附申請專利範圍界定之本發明之精神及範疇。
100‧‧‧系統
102‧‧‧硬體單元
102a‧‧‧處理器
103‧‧‧匯流排
104‧‧‧硬體單元
104a‧‧‧處理器
106‧‧‧通用序列匯流排(USB)裝置控制器
108‧‧‧次要介面
110‧‧‧端點緩衝器
112‧‧‧緩衝器記憶體
114‧‧‧邏輯單元號碼(LUN)仲裁器
116‧‧‧內部匯流排
118a‧‧‧小電腦系統介面(SCSI)命令處理單元
118b‧‧‧小電腦系統介面(SCSI)命令處理單元
120a‧‧‧記憶體卡控制器
120b‧‧‧記憶體卡控制器
122‧‧‧FIFO
124a‧‧‧記憶體卡
124b‧‧‧記憶體卡
126‧‧‧上游埠
128‧‧‧上游埠
130‧‧‧匯流排
140‧‧‧硬體單元

Claims (16)

  1. 一種對一系統中之一第一硬體資源提供側通道存取(side channel access)之方法,該系統具有複數個硬體資源、支援USB串流之一USB裝置控制器、一邏輯單元號碼仲裁器(logical unit number arbiter)及至少一硬體控制器,,該邏輯單元號碼仲裁器耦合於(i)該USB裝置控制器與一內匯流排之間且耦合於(ii)一次要介面與該內匯流排之間,該方法包括:產生用於存取該至少一硬體控制器之第一USB封包及第二USB封包;經由一USB介面將該第一USB封包傳輸至該USB裝置控制器;藉由透過一側通道介面通信協定穿隧(tunneling)該第二USB封包而將該第二USB封包傳輸至該側通道介面單元;藉由該USB裝置控制器將該第一USB封包轉送至該邏輯單元號碼仲裁器作為一第一USB串流;藉由該側通道介面單元將該第二USB封包轉送至該邏輯單元號碼仲裁器作為一第二USB串流;及藉由該邏輯單元號碼仲裁器判定該第一USB串流與該第二USB串流之間之一存取優先順序(access priority)。
  2. 如請求項1之方法,其中該次要介面不是一USB介面,且該側通道請求係透過該次要介面穿隧之一USB封包。
  3. 如請求項2之方法,其中該次要介面係以下之一者:一串列周邊介面、一積體電路間介面或一通用非同步接收器/發送器介面。
  4. 如請求項1之方法,其中該次要介面使用一FIFO將該側通道請求轉送至該邏輯單元號碼仲裁器。
  5. 如請求項2之方法,其中該次要介面解壓縮該USB封包且將該 USB封包儲存於一FIFO中。
  6. 如請求項1之方法,其中該邏輯單元號碼仲裁器接收該USB請求及作為USB封包之該側通道請求。
  7. 如請求項6之方法,其中該邏輯單元號碼仲裁器使用小電腦系統介面命令將該USB請求及該側通道請求轉送至該第一硬體資源。
  8. 一種提供一USB裝置之側通道存取之系統,其包括:一USB裝置控制器;一內部匯流排;一側通道介面單元;一邏輯單元號碼仲裁器,其耦合於(i)該USB裝置控制器與該內部匯流排及(ii)該側通道介面單元與該內部匯流排之間;至少一硬體控制器,其耦合至該內部匯流排;及至少一處理器,其經組態以:產生用於存取該至少一硬體控制器之第一USB封包及第二USB封包;經由一USB介面將該第一USB封包傳輸至該USB裝置控制器;且藉由透過一側通道介面通信協定穿隧該第二USB封包而將該第二USB封包傳輸至該側通道介面單元;其中該USB裝置控制器將該第一USB封包轉送至該邏輯單元號碼仲裁器作為一第一USB串流,該側通道介面單元將該第二USB封包轉送至該邏輯單元號碼仲裁器作為一第二USB串流,且該邏輯單元號碼仲裁器判定該第一USB串流與該第二USB串流之間之一存取優先順序。
  9. 如請求項8之系統,其中回應於該第一USB封包及該第二USB封包而存取該至少一硬體控制器。
  10. 如請求項8之系統,其中該至少一硬體控制器係一記憶體卡控制器。
  11. 如請求項8之系統,其中該內部匯流排係一小電腦系統介面匯流排,且該至少一硬體控制器係經由一小電腦系統介面命令處理單元而耦合至該內部匯流排。
  12. 如請求項8之系統,其中該側通道介面通信協定係以下之一者:一串列周邊介面協定、一積體電路間介面協定或一通用非同步接收器/發送器介面協定。
  13. 如請求項8之系統,其中該側通道介面單元使用一FIFO將該第二USB封包轉送至該邏輯單元號碼仲裁器。
  14. 如請求項8之系統,其中該邏輯單元號碼仲裁器經組態以接收來自該USB裝置控制器之複數個USB串流及來自該側通道介面單元之至少一額外串流。
  15. 如請求項8之系統,其中該第一USB封包係由該至少一處理器之一第一處理器產生,且該第二USB封包係由該至少一處理器之一第二處理器產生。
  16. 如請求項15之系統,其中該第一處理器係一第一硬體單元之部分,該第二處理器係一第二硬體單元之部分,且該USB裝置控制器係一第三硬體單元之部分。
TW104133583A 2014-10-13 2015-10-13 經由通用序列匯流排串流之側通道存取 TWI686699B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201462063092P 2014-10-13 2014-10-13
US62/063,092 2014-10-13
US14/880,699 US10042784B2 (en) 2014-10-13 2015-10-12 Side channel access through USB streams
US14/880,699 2015-10-12

Publications (2)

Publication Number Publication Date
TW201633158A TW201633158A (zh) 2016-09-16
TWI686699B true TWI686699B (zh) 2020-03-01

Family

ID=55655542

Family Applications (1)

Application Number Title Priority Date Filing Date
TW104133583A TWI686699B (zh) 2014-10-13 2015-10-13 經由通用序列匯流排串流之側通道存取

Country Status (7)

Country Link
US (1) US10042784B2 (zh)
EP (1) EP3207459B1 (zh)
JP (1) JP2017531871A (zh)
KR (1) KR20170067715A (zh)
CN (1) CN106663069B (zh)
TW (1) TWI686699B (zh)
WO (1) WO2016061028A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9785595B2 (en) * 2013-09-09 2017-10-10 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Multi-channel universal serial bus (USB) to subrate channel systems

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6266715B1 (en) * 1998-06-01 2001-07-24 Advanced Micro Devices, Inc. Universal serial bus controller with a direct memory access mode
US20050073792A1 (en) * 2003-10-02 2005-04-07 Randolph Bullock EMC immunity improvements to USB interface
US20090013111A1 (en) * 2007-07-06 2009-01-08 Es&S Automark, Llc Unidirectional USB Port
US7502878B1 (en) * 2003-06-27 2009-03-10 Cypress Semiconductor Corporation Method and apparatus for switching USB devices between multiple USB hosts
CN101452369A (zh) * 2007-11-29 2009-06-10 国际商业机器公司 用于控制usb大容量存储设备的逻辑单元的方法和系统
US20130191568A1 (en) * 2012-01-23 2013-07-25 Qualcomm Incorporated Operating m-phy based communications over universal serial bus (usb) interface, and related cables, connectors, systems and methods

Family Cites Families (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5845329A (en) 1993-01-29 1998-12-01 Sanyo Electric Co., Ltd. Parallel computer
US5675813A (en) 1995-10-26 1997-10-07 Microsoft Corporation System and method for power control in a universal serial bus
US5983327A (en) 1995-12-01 1999-11-09 Nortel Networks Corporation Data path architecture and arbitration scheme for providing access to a shared system resource
US5784581A (en) 1996-05-03 1998-07-21 Intel Corporation Apparatus and method for operating a peripheral device as either a master device or a slave device
KR100189781B1 (ko) 1996-05-07 1999-06-01 윤종용 디스플레이 장치 및 그의 전원공급제어방법
US6119190A (en) 1996-11-06 2000-09-12 Intel Corporation Method to reduce system bus load due to USB bandwidth reclamation
US6308239B1 (en) 1996-11-07 2001-10-23 Hitachi, Ltd. Interface switching apparatus and switching control method
US6205501B1 (en) 1998-01-07 2001-03-20 National Semiconductor Corp. Apparatus and method for handling universal serial bus control transfers
US6408351B1 (en) 1998-03-31 2002-06-18 Compaq Computer Corporation Host modem having a peripheral codec powered by a peripheral bus
JP2000076038A (ja) 1998-08-28 2000-03-14 Matsushita Electric Ind Co Ltd Usbハブ回路及びディスプレイ装置
GB2350212B (en) 1999-02-09 2003-10-08 Adder Tech Ltd Data routing device and system
US6601109B1 (en) 1999-03-31 2003-07-29 International Business Machines Corporation USB-based networking and I/O hub
GB9909849D0 (en) 1999-04-28 1999-06-23 Adder Tech Ltd Usb switching device and system
JP2000316006A (ja) 1999-04-28 2000-11-14 Nec Corp バスマネージャ機能自動切換対応ノード、移動端末、及び、移動端末システム
US6704824B1 (en) 1999-07-27 2004-03-09 Inline Connection Corporation Universal serial bus adapter with automatic installation
FR2799288B1 (fr) 1999-09-23 2005-02-25 Ibm Systeme de communication sans fil utilisant un bus serie universel (usb)
US6957287B2 (en) 2001-11-09 2005-10-18 Aten International Co., Ltd. Asynchronous/synchronous KVMP switch for console and peripheral devices
JP2003256351A (ja) 2002-03-04 2003-09-12 Yamaha Corp Usbハブ
KR20040008365A (ko) 2002-07-18 2004-01-31 삼성전자주식회사 디스플레이 장치 및 방법
US6732218B2 (en) 2002-07-26 2004-05-04 Motorola, Inc. Dual-role compatible USB hub device and method
AU2003901297A0 (en) 2003-03-20 2003-04-03 Silverbrook Research Pty Ltd Systems and apparatus (fpd001)
US7711006B2 (en) 2003-08-15 2010-05-04 Napatech A/S Data merge unit, a method of producing an interleaved data stream, a network analyser and a method of analysing a network
US7073010B2 (en) 2003-12-02 2006-07-04 Super Talent Electronics, Inc. USB smart switch with packet re-ordering for interleaving among multiple flash-memory endpoints aggregated as a single virtual USB endpoint
US7673080B1 (en) * 2004-02-12 2010-03-02 Super Talent Electronics, Inc. Differential data transfer for flash memory card
US20060056401A1 (en) 2004-09-14 2006-03-16 Standard Microsystems Corporation Peripheral sharing USB hub
JP2006085293A (ja) 2004-09-14 2006-03-30 Matsushita Electric Ind Co Ltd インタフェースブリッジ装置
US20060059293A1 (en) 2004-09-14 2006-03-16 Henry Wurzburg Universal serial bus switching hub
US20060227759A1 (en) 2004-09-14 2006-10-12 Bohm Mark R Peripheral Sharing USB Hub
JP2006127252A (ja) 2004-10-29 2006-05-18 Fujitsu Component Ltd 切替機、切替方法及びプログラム
US7346728B1 (en) 2005-04-18 2008-03-18 Intel Corporation Method and apparatus for a hub capable of being self-powered for use in a USB-compliant system
US7246189B2 (en) 2005-11-18 2007-07-17 Vetra Systems Corporation Method and apparatus for enhancing universal serial bus
JP4725397B2 (ja) * 2006-04-05 2011-07-13 セイコーエプソン株式会社 Usb複合デバイス,usb通信システム,及びusb通信方法
US7523243B2 (en) 2006-04-14 2009-04-21 Standard Microsystems Corporation Multi-host USB device controller
US7478191B2 (en) 2006-04-14 2009-01-13 Standard Microsystems Corporation Method for automatically switching USB peripherals between USB hosts
JP2007293708A (ja) 2006-04-26 2007-11-08 Nec Access Technica Ltd ワイヤレスusb装置
US20080189554A1 (en) * 2007-02-05 2008-08-07 Asad Ali Method and system for securing communication between a host computer and a secure portable device
US9292436B2 (en) * 2007-06-25 2016-03-22 Sonics, Inc. Various methods and apparatus to support transactions whose data address sequence within that transaction crosses an interleaved channel address boundary
TW201005654A (en) 2008-07-24 2010-02-01 Jmicron Technology Corp Host controller disposed in multi-function card reader
US9619417B2 (en) * 2011-06-17 2017-04-11 Alcatel Lucent Method and apparatus for remote delivery of managed USB services via a mobile computing device

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6266715B1 (en) * 1998-06-01 2001-07-24 Advanced Micro Devices, Inc. Universal serial bus controller with a direct memory access mode
US7502878B1 (en) * 2003-06-27 2009-03-10 Cypress Semiconductor Corporation Method and apparatus for switching USB devices between multiple USB hosts
US20050073792A1 (en) * 2003-10-02 2005-04-07 Randolph Bullock EMC immunity improvements to USB interface
US20090013111A1 (en) * 2007-07-06 2009-01-08 Es&S Automark, Llc Unidirectional USB Port
CN101452369A (zh) * 2007-11-29 2009-06-10 国际商业机器公司 用于控制usb大容量存储设备的逻辑单元的方法和系统
US20130191568A1 (en) * 2012-01-23 2013-07-25 Qualcomm Incorporated Operating m-phy based communications over universal serial bus (usb) interface, and related cables, connectors, systems and methods

Also Published As

Publication number Publication date
EP3207459B1 (en) 2020-02-26
CN106663069B (zh) 2020-07-10
TW201633158A (zh) 2016-09-16
US10042784B2 (en) 2018-08-07
US20160103772A1 (en) 2016-04-14
JP2017531871A (ja) 2017-10-26
EP3207459A1 (en) 2017-08-23
CN106663069A (zh) 2017-05-10
WO2016061028A1 (en) 2016-04-21
KR20170067715A (ko) 2017-06-16

Similar Documents

Publication Publication Date Title
JP6266615B2 (ja) データトンネルを用いるインタフェースを介した複数のプロトコルデータ要素の送信
US9557922B2 (en) System and method for peer-to-peer PCIe storage transfers
EP3570175B1 (en) Method for implementing nvme over fabrics, terminal, server, and system
JP6400714B2 (ja) Usbハブを有する自動車システムとの柔軟なモバイルデバイス接続性
US20170149920A1 (en) Method to implement rdma nvme device
TW201937381A (zh) 支援多模式及/或多速度之跨架構高速非揮發性記憶體裝置的系統與方法及儲存裝置
TWI614608B (zh) 用於觸控感測器資訊的通訊之設備、系統及方法
KR102427550B1 (ko) 재구성 가능한 멀티 포트들을 구비한 PCIe 스토리지 시스템을 위한 서비스 품질을 인식하는 입출력 관리
US8566416B2 (en) Method and system for accessing storage device
JP5346979B2 (ja) インターフェイス装置、配線基板、及び情報処理装置
WO2013072692A1 (en) Portable storage devices for electronic devices
EP3382567B1 (en) Multiple storage devices implemented using a common connector
US8032675B2 (en) Dynamic memory buffer allocation method and system
US9104819B2 (en) Multi-master bus architecture for system-on-chip
US20100169069A1 (en) Composite device emulation
TWI686699B (zh) 經由通用序列匯流排串流之側通道存取
US10585842B2 (en) Computer system for virtualizing I/O device and method of operating the same and hub device
WO2014017761A1 (ko) 보안 기능을 갖는 저장 장치 리더기 및 이를 이용한 보안 방법
US20180060260A1 (en) Method and device capable of automatically identifying host operating systems
TWI579762B (zh) 固態硬碟控制電路及相關的固態硬碟裝置與固態硬碟存取系統
CN111382098A (zh) 信息处理系统
US20110161546A1 (en) Computer system with bridge
JP6836088B1 (ja) 情報処理システム、プラットフォーム、およびプログラム
US20140082233A1 (en) Performance-enhancing high-speed interface control device and data transmission method
JP2008171291A (ja) 高速シリアルインタフェース対応の配線方式