本申請案要求2014年10月13日申請的共同擁有的美國臨時(shí)專利申請案第62/063,092號(hào)的優(yōu)先權(quán),所述美國臨時(shí)專利申請案出于全部目的特此以引用的方式并入本文中。
技術(shù)領(lǐng)域
本發(fā)明涉及用于通用串行總線(USB)環(huán)境中之系統(tǒng)和方法,且更特定來說,涉及用于使用USB流的USB裝置的側(cè)信道存取的改進(jìn)系統(tǒng)和方法。
背景技術(shù):
USB環(huán)境在現(xiàn)代電子裝置(例如,服務(wù)器、個(gè)人計(jì)算機(jī)(“PC”)、平板PC、蜂窩式電話、汽車信息娛樂系統(tǒng)、個(gè)人游戲系統(tǒng)、玩具等)中普遍存在?!巴ㄓ谩苯涌谌菰S鍵盤、監(jiān)視器、打印機(jī)、存儲(chǔ)裝置、相機(jī)、電話、玩具、游戲及許多其它電子裝置在單一接口上運(yùn)作。使用USB裝置(尤其是如讀卡器和類似者的裝置),具有使用(例如)自其可直接存取下游USB資源(例如在讀卡器的情況下是媒體卡等)的單獨(dú)接口(例如SPI、I2C、UART等)的到裝置中的側(cè)信道是有價(jià)值的。一種方法是要求通過上游USB端口進(jìn)行此存取,但這可使邏輯復(fù)雜和/或危害系統(tǒng)性能。
例如,在不支持USB流的USB裝置(例如雙用途讀卡器)中,在給定時(shí)間僅可處理一個(gè)USB數(shù)據(jù)包,且推遲任何另外的數(shù)據(jù)包直到完成當(dāng)前數(shù)據(jù)包的處理為止。這意味著如果側(cè)信道傳送通過上游USB端口進(jìn)入系統(tǒng)中,那么即使不存取物理資源(例如,存儲(chǔ)卡),仍必須推遲全部USB數(shù)據(jù)包。
在支持USB流的USB裝置中,USB裝置控制器將處理依序進(jìn)入的N個(gè)流。通過USB流,可在處理先前數(shù)據(jù)包前將新數(shù)據(jù)包接受到裝置中,達(dá)到裝置的存儲(chǔ)及處理能力。此可通過使用檢查各個(gè)USB數(shù)據(jù)包且確定數(shù)據(jù)包應(yīng)路由到的物理資源(例如,存儲(chǔ)卡#1、存儲(chǔ)卡#2、CPU等)的中央命令仲裁器而完成。通過僅路由到數(shù)據(jù)包希望的物理資源,可簡化物理資源中的邏輯。
然而,即使使用支持USB流的裝置,仍將需要由CPU處理對裝置上的物理資源中的一者的側(cè)信道存取以便確定正確導(dǎo)引。在不支持?jǐn)?shù)據(jù)包的無序處理(大多數(shù)裝置是這樣,這是因?yàn)椴恢С炙鰺o序處理是更為簡單)的裝置上,必須推遲對所有其它數(shù)據(jù)包的處理直到正確導(dǎo)引側(cè)信道數(shù)據(jù)包為止,使得維持所有數(shù)據(jù)包的順序。這需要正確實(shí)施可為復(fù)雜的側(cè)信道邏輯與USB裝置控制器之間的通信和同步。
此外,要求通過上游USB端口的側(cè)信道存取對于必須使用(或想要使用)單獨(dú)接口(例如SPI、I2C、UART等)以存取USB裝置的一些用戶來說可能不可接受。容許經(jīng)由這些單獨(dú)接口中的一者的對USB裝置的側(cè)信道存取可使硬件及相關(guān)聯(lián)的軟件例程復(fù)雜化。例如,實(shí)施多路傳輸此側(cè)信道上的讀取和寫入命令/數(shù)據(jù)以及USB上游上的讀取和寫入命令的功能可為實(shí)施復(fù)雜的且通常將導(dǎo)致專屬命令和尋址方案及/或額外硬件要求(例如,確定如在源于USB主機(jī)的命令與經(jīng)由單獨(dú)SPI/I2C/UART等接口發(fā)源的命令之間的存取優(yōu)先級(jí)的額外仲裁器層)。
技術(shù)實(shí)現(xiàn)要素:
因此,存在對于可提供避免先前提及的復(fù)雜性的有效且簡單的側(cè)信道存取的改進(jìn)USB環(huán)境的需要。
根據(jù)實(shí)施例,提供一種系統(tǒng),其可包含與USB裝置控制器及緩沖器存儲(chǔ)器介接的USB接口。系統(tǒng)可進(jìn)一步包含內(nèi)部總線及耦合在USB裝置控制器與內(nèi)部總線之間的邏輯單元號(hào)(LUN)仲裁器。系統(tǒng)可進(jìn)一步包含與LUN仲裁器耦合的次級(jí)接口。在某些實(shí)施例中,系統(tǒng)可包含耦合在次級(jí)接口與內(nèi)部總線之間的FIFO。在相同或替代實(shí)施例中,系統(tǒng)可包含耦合到內(nèi)部總線的多個(gè)存儲(chǔ)裝置,且各個(gè)存儲(chǔ)裝置可包含小型計(jì)算機(jī)系統(tǒng)接口(SCSI)命令處理單元及存儲(chǔ)卡控制器。在相同或替代實(shí)施例中,系統(tǒng)可包含耦合在USB裝置控制器與LUN仲裁器之間的多個(gè)端點(diǎn)。在相同或替代實(shí)施例中,USB裝置控制器可支持USB流且LUN仲裁器可為USB流仲裁器。在相同或替代實(shí)施例中,LUN仲裁器可經(jīng)配置以接受來自USB裝置控制器的多個(gè)USB流及來自次級(jí)接口的至少一個(gè)額外USB流。
根據(jù)另一實(shí)施例,提供一種方法,其用于提供對具有多個(gè)硬件資源、支持USB流的USB裝置控制器、邏輯單元號(hào)(LUN)仲裁器及次級(jí)接口的系統(tǒng)中的第一硬件資源的側(cè)信道存取。USB裝置控制器可接收存取多個(gè)硬件資源中的第一硬件資源的USB請求。次級(jí)接口可接收存取多個(gè)硬件資源中的第一硬件資源的側(cè)信道請求。USB裝置控制器可將USB請求轉(zhuǎn)發(fā)到LUN仲裁器,且次級(jí)接口可將側(cè)信道請求轉(zhuǎn)發(fā)到LUN仲裁器。LUN仲裁器可確定將USB請求及側(cè)信道請求轉(zhuǎn)發(fā)到第一硬件資源的順序。
根據(jù)另一實(shí)施例,提供一種系統(tǒng),其可包含USB裝置控制器,內(nèi)部總線和側(cè)信道接口單元。系統(tǒng)可進(jìn)一步包含邏輯單元號(hào)(LUN)仲裁器,其耦合在(i)USB裝置控制器與內(nèi)部總線之間和(ii)側(cè)信道接口單元與內(nèi)部總線之間。系統(tǒng)可進(jìn)一步包含耦合到內(nèi)部總線的至少一個(gè)硬件控制器。系統(tǒng)可進(jìn)一步包含至少一個(gè)處理器。至少一個(gè)處理器可經(jīng)配置以產(chǎn)生用于存取至少一個(gè)硬件控制器的第一USB數(shù)據(jù)包和第二USB數(shù)據(jù)包。至少一個(gè)處理器可進(jìn)一步經(jīng)配置以經(jīng)由USB接口將第一USB數(shù)據(jù)包發(fā)射到USB裝置控制器,且通過經(jīng)由側(cè)信道接口通信協(xié)議以隧道方式傳輸?shù)诙SB數(shù)據(jù)包而將第二USB數(shù)據(jù)包發(fā)射到側(cè)信道接口單元。在接收到第一USB數(shù)據(jù)包后,USB裝置控制器便可將第一USB數(shù)據(jù)包轉(zhuǎn)發(fā)到LUN仲裁器作為第一USB流。在接收到第二USB數(shù)據(jù)包后,側(cè)信道接口單元便可將第二USB數(shù)據(jù)包轉(zhuǎn)發(fā)到LUN仲裁器作為第二USB流。LUN仲裁器可確定第一USB流與第二USB流之間的存取優(yōu)先級(jí)??身憫?yīng)于第一USB數(shù)據(jù)包及第二USB數(shù)據(jù)包而存取至少一個(gè)硬件控制器。
附圖說明
可通過參考結(jié)合附圖進(jìn)行的以下描述獲取對本發(fā)明的更完整理解,其中:
圖1說明根據(jù)本發(fā)明的某些實(shí)施例的可提供使用USB流的USB裝置的側(cè)信道存取的實(shí)例系統(tǒng)的框圖;
圖2說明根據(jù)本發(fā)明的某些實(shí)施例的可提供使用USB流的USB裝置的側(cè)信道存取的實(shí)例系統(tǒng)的框圖;
圖3說明根據(jù)本發(fā)明的某些實(shí)施例的用于提供使用USB流的USB裝置的側(cè)信道存取的實(shí)例方法的流程圖。
雖然本發(fā)明可具有多種修改及替代形式,但在附圖中展示且在本文中詳細(xì)描述本發(fā)明的特定實(shí)例實(shí)施例。然而,應(yīng)理解,本文中對特定實(shí)例實(shí)施例的描述并不意欲將本發(fā)明限于本文中揭示的特定形式,而是相反地,本發(fā)明意欲涵蓋如由所附權(quán)利要求定義的全部修改和等效物。
具體實(shí)施方式
根據(jù)多種實(shí)施例,可提供一種系統(tǒng),其可提供使用USB流的USB裝置的增強(qiáng)型側(cè)信道存取。
現(xiàn)在參考附圖,示意性地說明實(shí)例實(shí)施例的細(xì)節(jié)。附圖中的相同元件將由相同數(shù)字表示,且類似元件將由具有不同小寫字母后綴的相同數(shù)字表示。
圖1說明根據(jù)本發(fā)明的某些實(shí)施例的可提供使用USB流對USB裝置的增強(qiáng)型側(cè)信道存取的實(shí)例系統(tǒng)的框圖。如圖1中所描繪,系統(tǒng)100可包括分別具有處理器102a和104a的硬件單元102和104。系統(tǒng)100可進(jìn)一步包括耦合到端點(diǎn)緩沖器110和緩沖器存儲(chǔ)器112的USB裝置控制器106。系統(tǒng)100可進(jìn)一步包含耦合到FIFO 122的次級(jí)接口108。系統(tǒng)100可進(jìn)一步包括具有上游端口126和128且經(jīng)由下游端口耦合到內(nèi)部總線116的邏輯單元(LUN)仲裁器114。系統(tǒng)100可進(jìn)一步包括小型計(jì)算機(jī)系統(tǒng)接口(SCSI)命令處理單元118a和118b以及分別用于存取存儲(chǔ)卡124a和124b的存儲(chǔ)卡控制器120a和120b??偩€103可使硬件單元102與USB裝置控制器106耦合,且可能夠在硬件單元102與USB裝置控制器106之間載送符合USB的信令(USB-compliant signaling)。總線130可使硬件單元104與次級(jí)接口108耦合,且可能夠載送對應(yīng)于由次級(jí)接口108支持的協(xié)議的信令。圖1描繪硬件單元140,指示其可為與硬件單元102和104分開的硬件(例如,不同物理芯片、板等)。然而,此所描繪的硬件定界僅為例示性的。不同實(shí)施例(例如,在下文中描述的圖2)可提供不同硬件配置。此外,雖然圖1中描繪的實(shí)施例包含兩個(gè)物理存儲(chǔ)卡(124a/124b)和對應(yīng)存儲(chǔ)卡控制器(120a/120b)及SCSI命令處理單元(118a/118b),但替代實(shí)施例可包含任何數(shù)目的存儲(chǔ)卡(例如,2、3、10、16等)及相關(guān)聯(lián)的SCSI命令處理單元。
處理器102a和104a可包括可操作以解釋和/或執(zhí)行程序指令和/或過程數(shù)據(jù)的任何系統(tǒng)、裝置或設(shè)備,且可包含(但不限于)微處理器、微控制器、數(shù)字信號(hào)處理器、專用集成電路(ASIC)或經(jīng)配置以解釋和/或執(zhí)行程序指令和/或過程數(shù)據(jù)的任何其它數(shù)字或模擬電路。硬件單元102的處理器102a可經(jīng)通信耦合到USB裝置控制器106以提供適合于實(shí)施/控制USB裝置的信令。硬件單元104的處理器104a可通信耦合到次級(jí)接口108以提供適合于實(shí)施/控制次級(jí)接口(例如,SPI/I2C/UART等)的信令。處理器102a和104a也可經(jīng)通信耦合到包含存儲(chǔ)器(例如,易失性、非易失性等)、存儲(chǔ)媒體(例如,閃存、EEPROM、固態(tài)存儲(chǔ)媒體等)等的其它資源(未展示)。
USB裝置控制器106可包括可操作以實(shí)施USB裝置控制器接口的任何系統(tǒng)、裝置或設(shè)備,且可包含(但不限于)專用集成電路(ASIC)或經(jīng)配置以實(shí)施USB裝置控制器接口的任何其它數(shù)字或模擬電路(及必要的軟件/固件)。在某些實(shí)施例中,USB裝置控制器106可為由微芯技術(shù)有限公司(Microchip)提供的裝置控制器。USB裝置控制器106可支持USB流(例如,如USB規(guī)范的第3.0版中所引入)。USB裝置控制器106可耦合到端點(diǎn)緩沖器110和緩沖器存儲(chǔ)器112。端點(diǎn)緩沖器110可包括任何數(shù)目的端點(diǎn),多達(dá)由USB規(guī)范容許的最大值。端點(diǎn)緩沖器110可用于存儲(chǔ)USB命令而緩沖器存儲(chǔ)器112可用于存儲(chǔ)與由USB裝置控制器106處置的USB事務(wù)有關(guān)的數(shù)據(jù)。
次級(jí)接口108可包括可操作以實(shí)施次級(jí)接口的任何系統(tǒng)、裝置或設(shè)備,且可包含(但不限于)專用集成電路(ASIC)或經(jīng)配置以實(shí)施次級(jí)接口的任何其它數(shù)字或模擬電路(及必要的軟件/固件)。次級(jí)接口108可為串行外圍接口(SPI)、集成電路間(I2C)接口、通用異步接收器/發(fā)射器(UART)接口或適合于實(shí)施側(cè)信道存取接口的任何其它非USB通信接口。次級(jí)接口108可耦合到FIFO 122。FIFO 122可用于存儲(chǔ)與由次級(jí)接口108處置的側(cè)信道存取USB事務(wù)有關(guān)的USB命令和數(shù)據(jù)。
邏輯單元號(hào)(LUN)仲裁器114可包括可操作以實(shí)施USB流仲裁器的任何系統(tǒng)、裝置或設(shè)備,且可包含(但不限于)專用集成電路(ASIC)或經(jīng)配置以實(shí)施USB流仲裁器的任何其它數(shù)字或模擬電路(及必要的軟件/韌體)。LUN仲裁器114可包含分別耦合到端點(diǎn)緩沖器110和FIFO 122的上游端口126及128。LUN仲裁器114可經(jīng)由上游端口126支持源自USB裝置控制器106的多個(gè)USB流。LUN仲裁器114可進(jìn)一步經(jīng)由上游端口128支持源自次級(jí)接口108的至少一個(gè)額外USB流。LUN是用于區(qū)分如由SCSI、iSCSI或光纖信道(FC)協(xié)議尋址的單獨(dú)裝置(其各為邏輯單元)的唯一標(biāo)識(shí)符。
SCSI命令處理單元118a和118b可包括可操作以處理在內(nèi)部總線116上發(fā)出的SCSI命令的任何系統(tǒng)、裝置或設(shè)備,且可包含(但不限于)專用集成電路(ASIC)或經(jīng)配置以處理在內(nèi)部總線116上發(fā)出的SCSI命令的任何其它數(shù)字或模擬電路(及必要的軟件/固件)。在替代實(shí)施例中,內(nèi)部總線116可為iSCSI、FC或適合于介接在LUN仲裁器與存儲(chǔ)卡控制器120a和120b之間的任何其它總線。因此,雖然圖1將元件118a和118b描繪為SCSI命令處理單元,但這些處理單元在替代實(shí)施例中可為iSCSI、FC或其它命令處理單元。
存儲(chǔ)卡處理器120a和120b可包括可操作以分別控制存儲(chǔ)卡124a和124b的任何系統(tǒng)、裝置或設(shè)備,且可包含(但不限于)專用集成電路(ASIC)或經(jīng)配置以控制存儲(chǔ)卡124a和124b的任何其它數(shù)字或模擬電路(及必要的軟件/固件)。在替代實(shí)施例中,存儲(chǔ)卡124a和124b可為除存儲(chǔ)卡外的其它硬件資源(例如,音頻裝置等)。因此,雖然圖1將元件120a和120b描繪為存儲(chǔ)卡控制器,但這些控制器可經(jīng)配置以控制除存儲(chǔ)卡外的其它硬件資源(例如,音頻裝置等)。
在操作中,系統(tǒng)100可提供使用USB流的對USB裝置的增強(qiáng)型側(cè)信道存取。硬件單元102和處理器102a可執(zhí)行一般可操作以經(jīng)由USB總線103(例如,USB主機(jī)控制器堆棧等)與USB裝置控制器106交互的軟件和/或固件。在經(jīng)由USB總線103接收到USB數(shù)據(jù)包后,USB裝置控制器106便可將包括USB流的對應(yīng)USB命令轉(zhuǎn)發(fā)(例如,存儲(chǔ))到端點(diǎn)緩沖器110且可將對應(yīng)數(shù)據(jù)存儲(chǔ)在緩沖器存儲(chǔ)器112中。
在任何時(shí)候,硬件單元104和處理器104a可執(zhí)行一般可操作以通過經(jīng)由總線130將數(shù)據(jù)發(fā)射到次級(jí)接口108而起始USB裝置的側(cè)信道存取的軟件和/或固件。如之前所揭示,總線130可為SPI總線,I2C總線、UART總線或適合于實(shí)施側(cè)信道存取接口的任何其它非USB總線。硬件單元104和處理器104a可通過經(jīng)由次級(jí)接口協(xié)議以隧道方式傳輸U(kuò)SB數(shù)據(jù)包而經(jīng)由總線130發(fā)送USB數(shù)據(jù)包。換句話說,USB協(xié)議可疊加在當(dāng)不將USB橋接到SPI/I2C/UART等時(shí)是反直覺的的SPI/I2C/UART等協(xié)議的頂部上。實(shí)際上,已完成反向橋接功能,可將此視為非常奇怪的事,這是因?yàn)閁SB被視為使用起來更有能力且穩(wěn)固的協(xié)議。在經(jīng)由總線130接收到USB數(shù)據(jù)包后,次級(jí)接口108便解壓縮USB數(shù)據(jù)包且將USB命令和數(shù)據(jù)作為USB流轉(zhuǎn)發(fā)(例如,存儲(chǔ))到FIFO 122中。
LUN仲裁器114可在上游端口126處(自USB裝置控制器106)和上游端口128處(自次級(jí)接口108)經(jīng)由USB流接收USB數(shù)據(jù)包。LUN仲裁器114可通過確定數(shù)據(jù)包所指定哪些物理LUN(例如,圖1中的存儲(chǔ)卡控制器120a和120b)且將USB數(shù)據(jù)包中含有的請求引導(dǎo)到正確的LUN而將在上游端口126和128處接收的USB數(shù)據(jù)包導(dǎo)引到正確的芯片上資源。因此,LUN仲裁器114可根據(jù)SCSI、iSCSI或光纖信道(FC)協(xié)議將USB數(shù)據(jù)包中含有的請求轉(zhuǎn)換成命令(例如,單播命令)且將經(jīng)轉(zhuǎn)換的請求轉(zhuǎn)發(fā)到內(nèi)部總線116。
SCSI命令處理單元118a及118b可從內(nèi)部總線116接收命令且分別與存儲(chǔ)卡控制器120a和120b(或其它硬件控制器)介接以導(dǎo)致對存儲(chǔ)卡124a和124b(或其它硬件資源)的存取。對存儲(chǔ)卡124a和124b的存取可作為正規(guī)USB存取(即,經(jīng)由USB裝置控制器106)或作為側(cè)信道存取(即,經(jīng)由次級(jí)接口108)。
圖2說明根據(jù)本發(fā)明的某些實(shí)施例的可提供使用USB流對USB裝置的增強(qiáng)型側(cè)信道存取的實(shí)例系統(tǒng)的框圖。圖2在幾乎所有方面都與圖1相同。圖2描繪替代實(shí)施例,其中處理器203取代圖1的硬件單元102和104。圖2的實(shí)施例也通過添加元件140a而不同于圖1。
根據(jù)圖2中描繪的實(shí)施例,處理器203可包括可操作以解釋及/或執(zhí)行程序指令和/或過程數(shù)據(jù)的任何系統(tǒng)、裝置或設(shè)備,且可包含(但不限于)微處理器、微控制器、數(shù)字信號(hào)處理器、專用集成電路(ASIC)或經(jīng)配置以解釋及/或執(zhí)行程序指令和/或過程數(shù)據(jù)的任何其它數(shù)字或模擬電路。處理器203可經(jīng)通信耦合到USB裝置控制器106以提供適合于實(shí)施/控制USB裝置的信令。處理器203可進(jìn)一步經(jīng)通信耦合到次級(jí)接口108以提供適合于實(shí)施/控制次級(jí)接口的信令。處理器203也可通信耦合到包含存儲(chǔ)器(例如,易失性、非易失性等)、存儲(chǔ)媒體(例如,閃存、EEPROM、固態(tài)存儲(chǔ)媒體等)等的其它資源(未展示)。因此,雖然圖1的處理器102a和104a是單獨(dú)硬件單元的部分,但圖2中的處理器203起始正常USN存取和側(cè)信道存取兩者。
圖2的元件140a表示根據(jù)本發(fā)明的多種替代實(shí)施例。例如,在一個(gè)實(shí)施例中,處理器203可為硬件單元140的部分。在替代實(shí)施例中,處理器203可為與硬件單元140分開的硬件單元的部分。
圖3說明根據(jù)本發(fā)明的某些實(shí)施例的用于提供使用USB流的USB裝置的增強(qiáng)型側(cè)信道存取的實(shí)例方法300的流程圖。根據(jù)一個(gè)實(shí)施例,方法300優(yōu)選開始于步驟302。如上文中所述,可以系統(tǒng)100/200的多種配置實(shí)施本發(fā)明的教示。因而,對于方法300的優(yōu)選初始化點(diǎn)及包括步驟302到314的方法300的順序可取決于所選擇的實(shí)施方案。
在步驟302處,系統(tǒng)100/200可初始化。例如,可通電系統(tǒng)100/200(經(jīng)由電源或連接到USB主機(jī)),且USB裝置控制器106、次級(jí)接口108和系統(tǒng)100/200的其它組件可初始化。在步驟304處,系統(tǒng)100/200可經(jīng)由USB總線103接收第一USB數(shù)據(jù)包。第一USB數(shù)據(jù)包可表示從硬件單元102中的USB主機(jī)發(fā)送的正常USB業(yè)務(wù)。在步驟306處,系統(tǒng)100/200可在次級(jí)接口108上接收第二USB數(shù)據(jù)包??筛鶕?jù)由次級(jí)接口(例如,經(jīng)由SPI/I2C/UART等接口以隧道方式傳輸U(kuò)SB數(shù)據(jù)包)定義的通信協(xié)議接收第二USB數(shù)據(jù)包。在步驟308處,USB裝置控制器可將第一USB數(shù)據(jù)包作為USB流轉(zhuǎn)發(fā)到LUN仲裁器114。在步驟310處,次級(jí)接口108可將第二USB數(shù)據(jù)包作為USB流轉(zhuǎn)發(fā)到LUN仲裁器114(即,次級(jí)接口可解壓縮經(jīng)以隧道方式傳輸?shù)牡诙SB數(shù)據(jù)包,以便經(jīng)由FIFO122而將其轉(zhuǎn)發(fā)到LUN仲裁器114)。在步驟312處,LUN仲裁器114可確定第一USB數(shù)據(jù)包與第二USB數(shù)據(jù)包之間的存取優(yōu)先級(jí)。在這上下文中,如果LUN仲裁器114確定將第一數(shù)據(jù)包及第二數(shù)據(jù)包引導(dǎo)到不同硬件資源,那么LUN仲裁器114可確定第一數(shù)據(jù)包及第二數(shù)據(jù)包中含有的請求之間不存在競爭。在步驟314處,LUN仲裁器114可根據(jù)針對第一USB數(shù)據(jù)包和第二USB數(shù)據(jù)包所確定的優(yōu)先級(jí)存取硬件控制器120a和/或120b。例如,LUN仲裁器114可在內(nèi)部總線116上發(fā)出可由命令處理塊118a/118b處理的命令。繼而,可存取硬件控制器120a和/或120b,此導(dǎo)致對存儲(chǔ)卡124a和/或124b的存取。
雖然圖3揭示關(guān)于本文中描繪的方法進(jìn)行的特定數(shù)目的步驟,但所述方法可經(jīng)執(zhí)行具有比所描繪的更多或更少的步驟。另外,雖然圖3揭示關(guān)于本文中描繪的方法進(jìn)行的特定順序的步驟,但可以任何適合順序完成步驟。例如,步驟304可在步驟306后進(jìn)行。作為另一實(shí)例,步驟308可在步驟310后進(jìn)行。
使用本文中揭示的方法及系統(tǒng),可提供一種系統(tǒng),其可提供使用USB流的USB裝置的增強(qiáng)型側(cè)信道存取。根據(jù)所揭示的實(shí)施例,用戶可有利地使用現(xiàn)有硬件接口以執(zhí)行USB裝置的側(cè)信道存取。側(cè)信道主控(例如,SPI、I2C、UART等主控)可如同USB主機(jī)對可放置在芯片上的任何類型的USB下游裝置一樣應(yīng)答(speak)。此外,根據(jù)所揭示的實(shí)施例,可解除駐留在系統(tǒng)140上的CPU處理全部側(cè)信道數(shù)據(jù)包的負(fù)擔(dān)。另外,根據(jù)所揭示的實(shí)施例,仲裁變得集中且因此更簡單且更一致。例如,LUN仲裁器114僅需要處理USB數(shù)據(jù)包,此可簡化設(shè)計(jì)且去除對于專屬協(xié)議的需要。作為另一實(shí)例,在一些實(shí)施例中,LUN仲裁器114僅需要支持與側(cè)信道存取有關(guān)的一個(gè)額外USB流、對預(yù)先存在的USB流仲裁器的簡單修改。仍另外,所揭示的實(shí)施例將容許用于側(cè)信道存取的相干無序處理。
雖然已詳細(xì)描述本發(fā)明,但應(yīng)理解,可對其作出多種改變、取代和替代而不會(huì)脫離如由所附權(quán)利要求定義的本發(fā)明的精神和范圍。