TWI839841B - 擴充基座、用於擴充基座之方法及萬用串列匯流排儲存裝置 - Google Patents
擴充基座、用於擴充基座之方法及萬用串列匯流排儲存裝置 Download PDFInfo
- Publication number
- TWI839841B TWI839841B TW111134260A TW111134260A TWI839841B TW I839841 B TWI839841 B TW I839841B TW 111134260 A TW111134260 A TW 111134260A TW 111134260 A TW111134260 A TW 111134260A TW I839841 B TWI839841 B TW I839841B
- Authority
- TW
- Taiwan
- Prior art keywords
- chipset
- firmware update
- usb
- docking station
- mcu
- Prior art date
Links
- 238000003032 molecular docking Methods 0.000 title claims abstract description 155
- 238000003860 storage Methods 0.000 title claims abstract description 96
- 238000000034 method Methods 0.000 title claims abstract description 56
- 238000004891 communication Methods 0.000 claims description 22
- 238000012795 verification Methods 0.000 claims description 20
- 230000004044 response Effects 0.000 claims description 5
- 238000007689 inspection Methods 0.000 claims 1
- 230000008859 change Effects 0.000 description 19
- 230000008569 process Effects 0.000 description 16
- 230000008901 benefit Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 230000006399 behavior Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000003993 interaction Effects 0.000 description 2
- 230000011664 signaling Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 241000699670 Mus sp. Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
Abstract
揭露用於可獨立升級的擴充基座之系統及方法。一擴充基座的一或多個晶片組可以提供服務至一主機裝置,並且其分別可以使用一對應的韌體。所述擴充基座可以接收用於所述晶片組中的一或多個的晶片組韌體更新資料。在一第一情形中,此資料是從一萬用串列匯流排(USB)儲存裝置接收到的(在某些情形中,其可以利用一雲端伺服器來獨立地更新其晶片組韌體更新資料的複本)。在其它情形中,此資料是利用一網路介面系統單晶片(其可以是在所述擴充基座的內部、或是分開地連接至所述擴充基座),從一雲端伺服器接收到的。所述擴充基座在無來自任何可能(或可能未)附接的主機裝置的輸入下、及/或在不中斷任何此種主機裝置的晶片組服務下執行此接收及/或所述對應的韌體更新。
Description
此申請案大致是有關於擴充基座,其包含可獨立升級的擴充基座(例如,其可以在不使用及/或存在附接至所述擴充基座的主機裝置下升級)。
用於電子主機裝置的擴充基座可被配置以容許一主機裝置能夠連接至所述擴充基座,以和一或多個(亦)連接所述擴充基座的外部裝置一起運作及/或使用所述外部裝置。主機裝置的例子可包含膝上型電腦、平板電腦、智慧型手機、等等。外部裝置的例子可包含顯示器螢幕、滑鼠、鍵盤、網路交換器、萬用串列匯流排(USB)裝置、等等。再者,所述擴充基座可以提供電力給所述主機裝置,而所述主機裝置可以利用其來運作(例如,執行使用者功能、充電一電池、等等)。
提供一種擴充基座,其包括:萬用串列匯流排(USB)埠,其用於連接至USB記憶體裝置;微控制器單元(MCU);USB主機控制器,其包括USB託管引擎;晶片組,其根據晶片組韌體而被配置以和主機裝置一起操作晶片組服務;其中所述擴充基座被配置以:經由所述USB主機控制器,利用所述USB託管
引擎來管理所述USB記憶體裝置;從所述USB記憶體裝置接收晶片組韌體更新資料;以及在無來自所述主機裝置的輸入下,操作所述MCU以利用所述晶片組韌體更新資料來更新所述晶片組韌體。
提供一種擴充基座,其包括:微控制器單元(MCU),其包括解密引擎;以及晶片組,其根據晶片組韌體而被配置以和主機裝置一起操作晶片組服務;其中所述擴充基座被配置以:接收晶片組韌體更新資料;操作所述MCU以利用所述解密引擎來解密所述晶片組韌體更新資料;以及在無來自所述主機裝置的輸入下,操作所述MCU以利用所述晶片組韌體更新資料來更新所述晶片組韌體。
提供一種用於擴充基座之方法,其包括:在所述擴充基座接收晶片組韌體更新資料,其中所述晶片組韌體更新資料是以加密的形式接收到的;利用所述擴充基座的微控制器單元(MCU)的解密引擎來解密所述晶片組韌體更新資料;操作所述MCU以更新晶片組的晶片組韌體,所述晶片組被配置以和主機裝置一起操作晶片組服務,所述更新是利用所述晶片組韌體更新資料並且在無來自所述主機裝置的輸入下執行的。
提供一種萬用串列匯流排(USB)儲存裝置,其包括:網路介面,其被配置以經由存取點來和雲端伺服器通訊;微控制器單元(MCU),其用以執行所述USB儲存裝置是否儲存見於所述雲端伺服器的晶片組韌體更新資料的檢查;以及USB介面,其用以連接所述USB儲存裝置至擴充基座,其中在無來自所述擴充基座的主機裝置的輸入下,所述USB儲存裝置經由所述USB介面來提供所述晶片組韌體更新資料至所述擴充基座。
100:系統
102:USB儲存裝置
104:擴充基座
106:USB集線器控制器
108:USB迷你主機控制器
110:微控制器單元(MCU)
112:晶片組A
114:晶片組B
116:晶片組C
118:晶片組D
120:韌體更新二進位檔
122:USB託管引擎
124:解密引擎
126:驗證引擎
128:韌體A
130:韌體B
132:韌體C
134:韌體D
200:系統
202:USB儲存裝置
204:擴充基座
206:雲端伺服器
208:乙太網路/Wi-Fi存取點
210:USB集線器控制器
212:USB迷你主機控制器
214:MCU
216:晶片組A
218:晶片組B
220:晶片組C
222:晶片組D
224:韌體更新二進位檔
226:MCU
228:網路介面系統單晶片(SoC)
230:USB託管引擎
232:解密引擎
234:驗證引擎
236:韌體A
238:韌體B
240:韌體C
242:韌體D
300:系統
302:雲端伺服器
304:乙太網路/Wi-Fi存取點
306:外部的網路介面SoC
308:擴充基座
310:MCU
312:晶片組A
314:晶片組B
316:晶片組C
318:晶片組D
320:管理者指令
322:韌體更新二進位檔
324:解密引擎
326:驗證引擎
328:韌體A
330:韌體B
332:韌體C
334:韌體D
400:系統
402:雲端伺服器
404:乙太網路/Wi-Fi存取點
406:擴充基座
408:網路介面SoC
410:MCU
412:晶片組A
414:晶片組B
416:晶片組C
418:晶片組D
420:管理者指令
422:韌體更新二進位檔
424:解密引擎
426:驗證引擎
428:韌體A
430:韌體B
432:韌體C
434:韌體D
500:方法
502-510:步驟
600:方法
602-610:步驟
為了輕易地識別任何特定的元件或動作的討論,在元件符號中的
最高有效位數是指該元件第一次被介紹所在的圖號。
[圖1]是描繪根據一實施例的一種包含一萬用串列匯流排(USB)儲存裝置以及一擴充基座之系統。
[圖2]是描繪根據一實施例的一種包含一USB儲存裝置、一擴充基座、一雲端伺服器、以及一乙太網路/Wi-Fi存取點之系統。
[圖3]是描繪根據一實施例的一種包含一雲端伺服器、一乙太網路/Wi-Fi存取點、一外部的網路介面系統單晶片(SoC)、以及一擴充基座之系統。
[圖4]是描繪根據一實施例的一種包含一雲端伺服器、一乙太網路/Wi-Fi存取點、以及一擴充基座之系統。
[圖5]是描繪根據一實施例的一種執行一擴充基座晶片組韌體更新之方法。
[圖6]是描繪根據一實施例的一種USB儲存裝置之方法。
擴充基座可包含一或多個晶片組,其運作以介接所述擴充基座與一利用所述擴充基座的主機裝置。所述晶片組中的一或多個可以負責在所述主機裝置以及所述擴充基座之間傳輸資料(在任一方向上),且/或用於發出信號以用於或者是控制從所述擴充基座至所述主機裝置的配電。所述晶片組可以執行相關在所述擴充基座上的一或多個埠的這些操作。例如,在一主機裝置是連接至所述擴充基座上的一萬用串列匯流排(USB)類型C(USB-C)埠的情形中,一第一晶片組可以是負責透過所述USB-C埠來在所述主機裝置以及所述擴充基座之間傳輸視訊資料,一第二晶片組可以是負責透過所述USB-C埠來從所述擴充基座傳輸電力至所述主機裝置,並且一第三晶片組可以是負責從所述擴充基座透過所述USB-C埠傳輸來自一附接至所述擴充基座的外部裝置的資料至所述主機裝
置。亦被思及的是,所述擴充基座的多個埠可以如此被使用在一(或更多個)主機裝置之間。一晶片組在一主機裝置以及所述擴充基座之間的操作在此可被稱為“晶片組服務”。所思及的是,一擴充基座可包括此種晶片組的任意組合,其被配置以提供任何對應的晶片組服務的組合。
所述擴充基座的晶片組可以根據一用於所述晶片組的韌體來操作其服務。所述韌體可被儲存在所述晶片組的一記憶體上(或是另一見於所述擴充基座上的記憶體,其對應於所述相關的晶片組),並且當被用來配置所述晶片組時,其可以致能所述晶片組以執行其相關的服務。在某些實例中,用於所述擴充基座的一晶片組的一韌體可被更新(或是升級)。此種更新可以改善所述晶片組的操作(例如,使得所述晶片組在執行其用於主機裝置的相關服務上更有效率及/或正確的、致能所述晶片組執行用於主機裝置的新服務、及/或致能所述晶片組和一新種類的主機裝置一起運作、等等)。
在某些情形中,擴充基座的晶片組韌體更新可以是在一主機裝置被附接至所述擴充基座時加以執行。此可能是因為在某些實例中,一主機裝置是被用來藉由利用在所述主機裝置以及所述擴充基座之間的通訊以執行所述韌體更新。然而,一種利用一主機裝置來更新所述擴充基座的晶片組的擴充基座的晶片組韌體更新之系統可能會造成對應於所述擴充基座的珍貴的工作時間的中斷,因為例如一能夠更新所述擴充基座晶片組的主機裝置必須佔用所述擴充基座以執行所述更新。依賴主機裝置以執行擴充基座的晶片組韌體更新之系統亦可能會引起物流(logistics)問題,其在於在正確的時間對於不同地點的各種群組的更新的排程(以及人工操作者的任何設置以執行所述更新)可能是困難且/或耗時的,並且可能需要在正常工作日之外完成以避免中斷。
再者,依賴主機裝置以執行擴充基座的晶片組韌體更新之系統可能會依賴特定類型的主機裝置。例如,若用於一擴充基座的晶片組韌體更新軟體
是基於MicrosoftTM WindowsTM的,則在所述擴充基座提供一基於WindowsTM的主機裝置以便於執行所述更新的物流可能是不便的(例如,對於經常為其使用者配備非基於WindowsTM的電腦的公司而言)。最後,依賴主機裝置以執行擴充基座的晶片組韌體更新之系統可能(在非所要的情況中)容許晶片組韌體透過沒有(或不足的)安全保護的主機裝置來加以改變。
因此,開發出並不需要使用主機裝置的擴充基座的晶片組韌體更新解決方案之系統及方法可以是有利的。此種方法可以致能擴充基座的一或多個晶片組的更新,而無以上論述的生產率、物流、相容性、及/或安全性問題(以及其它可能的問題)。
圖1是描繪根據一實施例的一種包含一USB儲存裝置102以及一擴充基座104之系統100。如同所繪的,所述USB儲存裝置102可包含一韌體更新二進位檔120。所述擴充基座104可包含一USB集線器控制器106、具有一USB託管(hosting)引擎122的一USB迷你主機控制器108、一微控制器單元(MCU)110,其具有一解密引擎124以及一驗證引擎126、以及一些晶片組,其分別根據其個別的韌體來操作。在圖1的例子中,所述擴充基座104包括一具有韌體A 128的晶片組A 112、一具有韌體B 130的晶片組B 114、一具有韌體C 132的晶片組C 116、以及一具有韌體D 134的晶片組D 118。
所述USB儲存裝置102可包含晶片組韌體更新資料,其是可用以執行用於所述擴充基座104的一或多個晶片組的韌體更新。例如,所述USB儲存裝置102可包含一韌體更新二進位檔120,其可被所述擴充基座104利用來更新所述晶片組112至118中的一或多個。所述USB儲存裝置102可以是任意類型的能夠透過USB通訊的儲存裝置,例如是隨身碟、硬碟機、固態硬碟、等等。
所思及的是在某些實施例中,所述韌體更新二進位檔120是被加密的,以保護所述韌體更新二進位檔120的內容。再者,所思及的是在某些實施
例中,所述韌體更新二進位檔120可以是被簽章的,使得所述韌體更新二進位檔120的完整性可被所述擴充基座104來驗證。
如同所繪的,所述USB儲存裝置102是經由一USB介面來和所述擴充基座104的USB集線器控制器106通訊。例如,所述USB儲存裝置102以及所述擴充基座104的每一個都可包含對應於所述USB介面(例如,USB-A埠、USB-C埠、等等)的個別的USB埠,其可被利用以實際連接所述USB儲存裝置102至所述擴充基座104的USB集線器控制器106。此USB介面可以是所述擴充基座104所用的一物理通訊介面的一個例子。
所述USB集線器控制器106可以負責管理發出信號,其是根據此實體連線而發生的。所述USB集線器控制器106是和所述擴充基座104的一USB迷你主機控制器108通訊(經由一第二USB介面,即如同所繪的)。所述USB迷你主機控制器108可包含一USB託管引擎122,當其藉由所述USB迷你主機控制器108操作時,可以管理用於所述擴充基座104的USB儲存裝置102(經由所述USB集線器控制器106)。換言之,所述USB託管引擎122包含指令,當所述指令藉由所述擴充基座104的USB迷你主機控制器108操作時,其配置所述擴充基座104以往返所述USB儲存裝置102來讀取及/或寫入資料。此可以獨立於任何亦連接(或是不連接)至所述擴充基座104的主機裝置而發生。
接著,透過所述USB託管引擎122的操作,所述USB集線器控制器106從所述USB儲存裝置102接收所述韌體更新二進位檔120(例如,經由一USB連線至所述USB儲存裝置102),並且接著傳遞所述韌體更新二進位檔120至所述USB迷你主機控制器108(例如,經由所述第二USB介面,即如同所繪的)。
如同在圖1中所示,所述USB迷你主機控制器108可以是經由可存在於所述USB迷你主機控制器108以及所述MCU 110之間的一(第三)USB介面、一串列介面、一通用非同步收發傳輸器(UART)介面、或是一般用途的輸入/輸出
(GPIO)介面中之一,來和所述MCU 110通訊。所述USB迷你主機控制器108可以根據在所述兩者之間所用的一介面來傳遞所述韌體更新二進位檔120至所述MCU 110。
在接收到所述韌體更新二進位檔120之際,所述MCU 110可以判斷所述韌體更新二進位檔120是否加密的。若是的話,則所述MCU 110的解密引擎124被用來解密所接收到的韌體更新二進位檔120。在某些實施例中,若所述韌體更新二進位檔120無法被解密,則所述韌體更新二進位檔120將不進一步被使用,並且被拋棄。此解密可以在無來自任何附接至所述擴充基座104的主機裝置(其可以存在、或是可以不存在)的任何輸入下加以執行。
再者,所述MCU 110可以判斷所述韌體更新二進位檔120是否被簽章。若是的話,則所述MCU 110的驗證引擎126可被用來驗證所接收到的韌體更新二進位檔120的簽章,藉此確保所述韌體更新二進位檔120是有效的。在某些實施例中,若所述韌體更新二進位檔120並未被簽章、或是若所述簽章被判斷為無效的,則所述韌體更新二進位檔120將不進一步被使用,而是被拋棄。此驗證可以在無來自任何附接至所述擴充基座104的主機裝置(其可以存在、或是可以不存在)的任何輸入下加以執行。
一旦所述韌體更新二進位檔120被解密及/或驗證後,所述MCU 110可以繼續針對於所述晶片組A 112、所述晶片組B 114、所述晶片組C 116、及/或所述晶片組D 118中的一或多個,利用所述韌體更新二進位檔120來執行韌體更新。此過程可以改變或取代所述個別的晶片組的韌體。例如,可以是所述韌體更新二進位檔120可運作以改變或取代晶片組A 112的韌體A 128。在其它情形中,可以是所述韌體更新二進位檔120可運作以改變或取代晶片組A 112的韌體A 128以及晶片組C 116的韌體C 132的每一個。在其它情形中,可以是所述韌體更新二進位檔120可運作以改變或取代所述擴充基座104的所有晶片組的韌體(例如,改
變或取代所述晶片組A 112的韌體A 128、所述晶片組B 114的韌體B 130、所述晶片組C 116的韌體C 132、以及所述晶片組D 118的韌體D 134)。
如同所繪的,所述MCU 110可以經由一USB介面、一串列介面、一UART介面、或是一GPIO介面中的一或多個,來和所述晶片組112至118通訊。在某些實施例中,不同的介面可被使用於不同的晶片組(例如,所述MCU 110可以經由一串列介面來和所述晶片組A 112通訊,而所述MCU 110是經由一GPIO介面來和所述晶片組D 118通訊)。根據所述韌體更新二進位檔120的操作性,所述韌體更新是針對於一個別的晶片組,經由在所述晶片組以及所述MCU 110之間的介面來執行的。
針對於所述一或多個晶片組112至118的韌體更新過程可以在無來自所述擴充基座104的任何主機裝置的任何輸入之下加以執行。例如,所述USB迷你主機控制器108可以操作所述USB託管引擎122以利用在所述USB儲存裝置102上的韌體更新二進位檔120,並且最終傳遞所述韌體更新二進位檔120至所述MCU 110,而與任何可利用於所述擴充基座104的主機裝置無關。再者,所述MCU 110接著可以獨立於任何可用於所述擴充基座104的主機裝置,針對於所述晶片組112至118的任一個來執行一對應的韌體更新。換言之,相關於所述系統100敘述的韌體更新過程可以獨立於不論任何主機裝置在所述韌體更新的時點是否連接至所述擴充基座104而發生。
再者,所預期的是上述的韌體更新過程可以在所述擴充基座104(亦)持續針對於一附接的主機裝置執行所述擴充基座104的功能時加以執行(在所述韌體更新的時點,一主機裝置是附接至所述擴充基座104的狀況中)。例如,所述USB儲存裝置102可被插入所述擴充基座104中,並且所述MCU 110可以從所述USB儲存裝置102接收所述韌體更新二進位檔120並且使用其以執行一對應的韌體更新,同時所述擴充基座104例如持續在所述主機裝置以及所述擴充基
座104之間傳輸資料、及/或從所述擴充基座104傳輸電力至所述主機裝置。
所思及的是,在圖1的替代實施例中,所述擴充基座104的一具有所述MCU 110的功能的MCU本身可以(亦)包含一USB迷你主機控制器及/或一USB集線器控制器。在此種情形中,在圖1中描繪的在所述USB集線器控制器106以及所述USB迷你主機控制器108之間的USB介面可以不被使用,且/或在圖1中被描繪在所述USB迷你主機控制器108以及所述MCU 110之間的USB、串列、UART、及/或GPIO介面中的一或多個可以不被使用。再者,在其中一USB集線器控制器以及一USB迷你主機控制器的功能被納入此種MCU內的情形中,一USB儲存裝置所連接到的一USB埠可以對應於一直接前進到該MCU的USB介面(其中所述USB託管引擎的支援的操作在此種情形中是直接藉由該MCU來執行的)。
圖2是描繪根據一實施例的一種包含一USB儲存裝置202、一擴充基座204、一雲端伺服器206、以及一乙太網路/Wi-Fi存取點208之系統200。如同所繪的,所述USB儲存裝置202可包含一韌體更新二進位檔224、一MCU 226、以及一網路介面系統單晶片(SoC)228。所述擴充基座204可包含一USB集線器控制器210、具有一USB託管引擎230的一USB迷你主機控制器212、具有一解密引擎232以及一驗證引擎234的一MCU 214、以及一些晶片組,每一個晶片組是根據其個別的韌體來操作。在圖2的例子中,所述擴充基座204包括一具有韌體A 236的晶片組A 216、一具有韌體B 238的晶片組B 218、一具有韌體C 240的晶片組C 220、以及一具有韌體D 242的晶片組D 222。所述雲端伺服器206可包含所述韌體更新二進位檔224(其可以是和如同見於所述USB儲存裝置202上的韌體更新二進位檔224相同的)。
所述雲端伺服器206可以管理一預設及/或大致可利用的網路位置(例如,在網際網路上),其中可以找到可利用以執行用於所述擴充基座204的
一或多個晶片組的韌體更新的晶片組韌體更新資料。所述韌體更新二進位檔224可以是此種晶片組韌體更新資料的一個例子。所述韌體更新二進位檔224(如同見於所述雲端伺服器206上)可以藉由例如所述系統200的其它元件的製造商或提供者(例如,所述USB儲存裝置202及/或所述擴充基座204的任一或兩者的製造商/提供者)而被保持為最新的。於是,在某些情形中可以理解的是,如同見於所述雲端伺服器206上的韌體更新二進位檔224是用於更新所述擴充基座204的一或多個晶片組的最新或是“產品”韌體更新二進位檔224。
所述雲端伺服器206可以傳送所述韌體更新二進位檔224至所述乙太網路/Wi-Fi存取點208(例如,經由網際網路)。所述乙太網路/Wi-Fi存取點208可以是一存取點,其是在所述USB儲存裝置202本地的。例如,其可以是在所述USB儲存裝置202的大致的地點的一Wi-Fi通訊範圍之內的存取點、或是實際位在相當接近所述USB儲存裝置202的存取點,使得一實體連線(例如,一乙太網路電纜線)可以是可行地走線在所述乙太網路/Wi-Fi存取點208以及所述USB儲存裝置202的大致的地點之間。
所述USB儲存裝置202的網路介面SoC 228可包含任何用於從在所述擴充基座USB儲存裝置202的外部的存取點(例如所述乙太網路/Wi-Fi存取點208)接收網路通訊的連接器、電路、以及韌體(例如,“網路介面”)。例如,所述網路介面SoC 228可包含一或多個天線以及相關的電路及韌體,以用於在所述網路介面SoC 228以及所述乙太網路/Wi-Fi存取點208之間的Wi-Fi介面。額外或是替代地,所述網路介面SoC 228可包含一RJ-45埠以及相關的電路及韌體,以用於在所述網路介面SoC 228以及所述乙太網路/Wi-Fi存取點208之間的乙太網路介面(藉由一乙太網路電纜線所促成的)。
在來自所述MCU 226的指令之下,所述USB儲存裝置202可以利用所述網路介面SoC 228,經由所述乙太網路/Wi-Fi存取點208來和所述雲端伺服
器206通訊。作為此通訊的部分,所述USB儲存裝置202可以是能夠從所述雲端伺服器206接收或下載所述韌體更新二進位檔224(於是,可以理解的是所述雲端伺服器206以及所述USB儲存裝置202的每一個都具有相同的韌體更新二進位檔224的一複本,即如同所繪的)。所述MCU 226可被配置以藉由所述USB儲存裝置202來引起此行為,以作為確保如同在所述USB儲存裝置202所儲存的一韌體更新二進位檔是符合如同在所述雲端伺服器206上所儲存的韌體更新二進位檔224的部分(例如,因而其可以更新或取代如同在所述USB儲存裝置202所儲存的韌體更新二進位檔,以匹配如同在所述雲端伺服器206上所儲存的韌體更新二進位檔224)。於是,每當此行為發生時,因為在所述雲端伺服器206上的韌體更新二進位檔224是如上所述被保持為最新的,因此在所述USB儲存裝置202上的對應的韌體更新二進位檔224亦(由於此行為)被保持為最新的。
所述MCU可以向所述雲端伺服器執行檢查(經由所述乙太網路/Wi-Fi存取點208)所述USB儲存裝置202是否具有一韌體更新二進位符合見於所述雲端伺服器206的一韌體更新二進位檔。舉例此種檢查的第一例子,可以有其中所述MCU判斷一USB儲存裝置202尚未具有一韌體更新二進位檔的情形(例如,如同在圖2中所繪的韌體更新二進位檔224或是任何其它韌體更新二進位檔可能尚未存在於所述USB儲存裝置202上)。在此種情形中,所述MCU觸發上述的下載行為,以使得所述USB儲存裝置202從所述雲端伺服器206獲得所述韌體更新二進位檔224。
在此種檢查的一第二例子中,其涉及其中所述USB儲存裝置202已經具有一韌體更新二進位檔的情形,所述MCU 226可以和所述雲端伺服器206通訊來檢查在所述雲端伺服器206上的韌體更新二進位檔224是否符合在所述USB儲存裝置202上所儲存的韌體更新二進位檔,並且若否的話,其使得所述USB儲存裝置202執行上述的下載行為以從所述雲端伺服器獲得所述韌體更新二進
位檔224。在所述USB儲存裝置202上所儲存的韌體更新二進位檔於是相符及/或被所述韌體更新二進位檔224所取代。
此種檢查可以藉由所述USB儲存裝置202的MCU 226,例如以一被配置的(例如,週期性的)方式、每當所述USB儲存裝置202經由一網路介面(例如所述網路介面SoC 228)來連接至一乙太網路/Wi-Fi存取點時(例如所述乙太網路/Wi-Fi存取點208)、及/或每當所述USB儲存裝置202連接至一擴充基座204並且在提供所述韌體更新二進位檔224至所述擴充基座204之前(如同將會描述的)來加以執行。
接著,所述韌體更新二進位檔224(例如,存在於所述USB儲存裝置202上的最新的複本)可被所述擴充基座204利用來更新所述晶片組216至222中的一或多個。所述USB儲存裝置202可以是任意類型的能夠透過USB通訊的儲存裝置,例如是隨身碟、硬碟機、固態硬碟、等等。
所思及的是在某些實施例中,所述韌體更新二進位檔224是被加密以保護所述韌體更新二進位檔224的內容。再者,所思及的是在某些實施例中,所述韌體更新二進位檔224可被簽章以使得所述韌體更新二進位檔224的完整性可被所述擴充基座204來驗證。
如同所繪的,所述USB儲存裝置202是經由一USB介面來和所述擴充基座204的USB集線器控制器210通訊。例如,所述USB儲存裝置202以及所述擴充基座204的每一個可包含對應於所述USB介面(例如,USB-A埠、USB-C埠、等等)的個別的USB埠,其可被利用以實際連接所述USB儲存裝置202至所述擴充基座204的USB集線器控制器210。此USB介面可以是所述擴充基座204所用的一實體通訊介面的一個例子。
所述USB集線器控制器210可以負責管理根據此實體連線而發生的發出信號。所述USB集線器控制器210是和所述擴充基座204的一USB迷你主機
控制器212通訊(經由一第二USB介面,即如同所繪的)。所述USB迷你主機控制器212可包含一USB託管引擎230,當其藉由所述USB迷你主機控制器212操作時,其可以管理用於所述擴充基座204的USB儲存裝置202(經由所述USB集線器控制器210)。換言之,所述USB託管引擎230包含指令,當其藉由所述擴充基座204的USB迷你主機控制器212來操作時,其配置所述擴充基座204以往返所述USB儲存裝置202來讀取及/或寫入資料。此可以獨立於任何亦(或是未)連接至所述擴充基座204的主機裝置而發生。
接著,透過所述USB託管引擎230的操作,所述USB集線器控制器210從所述USB儲存裝置202接收所述韌體更新二進位檔224(例如,經由一USB連接至所述USB儲存裝置202),並且接著傳送所述韌體更新二進位檔224至所述USB迷你主機控制器212(例如,經由所述第二USB介面,即如同所繪的)。
如同在圖2中所示,所述USB迷你主機控制器212可以是經由可存在於所述USB迷你主機控制器212以及所述MCU 214之間的一(第三)USB介面、一串列介面、一通用非同步收發傳輸器(UART)介面、或是一般用途的輸入/輸出(GPIO)介面中之一來和所述MCU 214通訊。所述USB迷你主機控制器212可以根據被使用在所述兩者之間的一介面來傳送所述韌體更新二進位檔224至所述MCU 214。
在接收到所述韌體更新二進位檔224之際,所述MCU 214可以判斷所述韌體更新二進位檔224是否加密的。若是的話,所述MCU 214的解密引擎232被用來解密所接收到的韌體更新二進位檔224。在某些實施例中,若所述韌體更新二進位檔224無法被解密,則所述韌體更新二進位檔224並不進一步被使用,並且被拋棄。此解密可以在無來自任何附接至所述擴充基座204的主機裝置(其可以存在、或是可以不存在)的任何輸入下被執行。
再者,所述MCU 214可以判斷所述韌體更新二進位檔224是否被
簽章。若是的話,則所述MCU 214的驗證引擎234可被用來驗證所接收到的韌體更新二進位檔224的簽章,藉此確保所述韌體更新二進位檔224是有效的。在某些實施例中,若所述韌體更新二進位檔224並未被簽章、或是若所述簽章被判斷為無效的,則所述韌體更新二進位檔224並不進一步被使用,而是被拋棄。此驗證可以在無來自任何附接至所述擴充基座204的主機裝置(其可以存在、或是可以不存在)的任何輸入下被執行。
一旦所述韌體更新二進位檔224被解密及/或驗證後,所述MCU 214可以利用所述韌體更新二進位檔224來繼續執行針對於所述晶片組A 216、所述晶片組B 218、所述晶片組C 220、及/或所述晶片組D 222中的一或多個的韌體更新。此過程可以改變或取代所述個別的晶片組的韌體。例如,可以是所述韌體更新二進位檔224可運作以改變或取代晶片組A 216的韌體A 236。在其它情形中,可以是所述韌體更新二進位檔224可運作以改變或取代晶片組A 216的韌體A 236以及晶片組C 220的韌體C 240的每一個。在其它情形中,可以是所述韌體更新二進位檔224可運作以改變或取代所述擴充基座204的所有晶片組的韌體(例如,改變或取代所述晶片組A 216的韌體A 236、所述晶片組B 218的韌體B 238、所述晶片組C 220的韌體C 240、以及所述晶片組D 222的韌體D 242)。
如同所繪的,所述MCU 214可以經由一USB介面、一串列介面、一UART介面、或是一GPIO介面中的一或多個來和所述晶片組216至222通訊。在某些實施例中,不同的介面可被使用於不同的晶片組(例如,所述MCU 214可能是經由一串列介面來和所述晶片組A 216通訊,而所述MCU 214是經由一GPIO介面來和所述晶片組D 222通訊)。根據所述韌體更新二進位檔224的操作性,所述韌體更新是針對於一個別的晶片組,經由在所述晶片組以及所述MCU 214之間的介面來執行的。
用於所述一或多個晶片組216至222的韌體更新過程可以是在無
來自所述擴充基座204的任何主機裝置的任何輸入下執行的。例如,所述USB迷你主機控制器212可以操作所述USB託管引擎230來利用在所述USB儲存裝置202上的韌體更新二進位檔224,並且最終傳遞所述韌體更新二進位檔224至所述MCU 214,而與任何可利用於所述擴充基座204的主機裝置無關。再者,所述MCU 214接著可以執行針對於所述晶片組216至222的任一個的對應的韌體更新,而與任何可利用於所述擴充基座204的主機裝置無關。換言之,相關於所述系統200敘述的韌體更新過程可以獨立於不論任何主機裝置在所述韌體更新的時點是否連接至所述擴充基座204而發生。
再者,所預期的是上述的韌體更新過程可以在所述擴充基座204(亦)持續執行所述擴充基座204針對於一附接的主機裝置的功能時加以執行(在所述韌體更新的時點,一主機裝置是被附接至所述擴充基座204的狀況中)。例如,所述USB儲存裝置202可被插入所述擴充基座204中,並且所述MCU 214可以從所述USB儲存裝置202接收所述韌體更新二進位檔224,並且利用其以執行對應的韌體更新,同時所述擴充基座204持續例如在所述主機裝置以及所述擴充基座204之間傳輸資料、及/或從所述擴充基座204傳輸電力至所述主機裝置。
所思及的是在圖2的替代實施例中,所述擴充基座204的一具有所述MCU 214的功能的MCU本身可以(亦)包含一USB迷你主機控制器及/或一USB集線器控制器。在此種情形中,在圖2中被描繪在所述USB集線器控制器210以及所述USB迷你主機控制器212之間的USB介面可以不被使用,且/或在圖2中被描繪在所述USB迷你主機控制器212以及所述MCU 214之間的USB、串列、UART、及/或GPIO介面中的一或多個可以不被使用。再者,在其中一USB集線器控制器以及一USB迷你主機控制器的功能被納入此種MCU內的情形中,一USB儲存裝置所連接到的一USB埠可以對應於一直接前進到該MCU的USB介面(其中所述USB託管引擎的支援的操作在此種情形中是直接藉由該MCU來執行的)。
圖3是描繪根據一實施例的一種包含一雲端伺服器302、一乙太網路/Wi-Fi存取點304、一外部的網路介面SoC 306、以及一擴充基座308之系統300。如同所繪的,所述雲端伺服器302可包含一韌體更新二進位檔322。所述擴充基座308可包含具有一解密引擎324及一驗證引擎326的一MCU 310、以及一些晶片組,其分別根據其個別的韌體來操作。在圖3的例子中,所述系統300包括一具有韌體A 328的晶片組A 312、一具有韌體B 330的晶片組B 314、一具有韌體C 332的晶片組C 316、以及一具有韌體D 334的晶片組D 318。
如同所繪的,一管理者指令320可能到達所述雲端伺服器302。或者是,所述管理者指令320可以是源自於所述雲端伺服器302。所述管理者指令320可以指示所述雲端伺服器302以針對於所述擴充基座308的晶片組312至318中的一或多個來執行韌體更新。
所述雲端伺服器302例如可以是藉由所述系統300的管理者所操作的系統,並且可以經由一網路(例如,網際網路)來接達。所述雲端伺服器302可包含晶片組韌體更新資料,其是可利用以針對於所述擴充基座308的晶片組中的一或多個來執行韌體更新。例如,所述雲端伺服器302可包含一韌體更新二進位檔322,其可被所述擴充基座308利用來更新所述晶片組312至318中的一或多個的韌體。
所述管理者指令320可以根據所述雲端伺服器302的配置而到達/發生在所述雲端伺服器302(例如,如同藉由所述系統300的管理者所配置的)。例如,所述管理者指令320可以在每當所述雲端伺服器302判斷的是用於所述擴充基座308的晶片組312至318中的一或多個的新韌體是可利用的、及/或在一預設的更新節奏下到達/發生。或者是,所述管理者指令320可以人工地被觸發(例如,經由和所述雲端伺服器302的使用者人工的互動)。
響應於所述管理者指令320,所述雲端伺服器302可以傳送所述韌
體更新二進位檔322至所述乙太網路/Wi-Fi存取點304(例如,經由網際網路)。所述乙太網路/Wi-Fi存取點304可以是在所述擴充基座308本地的存取點。例如,其可以是在所述擴充基座308的大致的地點的一Wi-Fi通訊範圍之內的存取點、或是實際位在相當接近所述擴充基座308以使得一實體連線(例如,一乙太網路電纜線)可以是可行地走線在所述乙太網路/Wi-Fi存取點304以及所述擴充基座308的大致的地點之間的存取點。
如同所繪的,所述擴充基座308可以連接至一外部的網路介面SoC 306。所述外部的網路介面SoC 306可以經由一USB介面(例如,經由所述外部的網路介面SoC 306以及所述擴充基座308的USB埠)、一串列介面(例如,經由所述外部的網路介面SoC 306以及所述擴充基座308的串列埠)、一UART介面(例如,經由在所述外部的網路介面SoC 306以及所述擴充基座308的每一個上的一RS232(DB9)連接器)、及/或一GPIO介面(例如,經由所述外部的網路介面SoC 306以及所述擴充基座308的GPIO接腳)中的一或多個來和所述擴充基座308的MCU 310通訊,其分別可以是所述擴充基座308所用的一實體通訊介面的一個例子。所述外部的網路介面SoC 306亦可包含用於從在所述擴充基座308的外部的存取點(例如所述乙太網路/Wi-Fi存取點304)接收網路通訊的任何連接器、電路、以及韌體(例如,“網路介面”)。例如,所述外部的網路介面SoC 306可包含一或多個天線以及相關的電路及韌體,以用於在所述外部的網路介面SoC 306以及所述乙太網路/Wi-Fi存取點304之間的Wi-Fi介面。額外或是替代地,所述外部的網路介面SoC 306可包含一RJ-45埠以及相關的電路及韌體,以用於在所述外部的網路介面SoC 306以及所述乙太網路/Wi-Fi存取點304之間的乙太網路介面(藉由一乙太網路電纜線所促成的)。
所述外部的網路介面SoC 306可以是為了促進所述晶片組312至318中的一或多個的韌體更新的目的而已經連接至所述擴充基座308,並且因此
可以是在所述擴充基座308的附近(並且因此在所述乙太網路/Wi-Fi存取點304的所述範圍之內)。於是,所述乙太網路/Wi-Fi存取點304可以經由所述乙太網路及/或Wi-Fi介面中的一或多個來提供所述韌體更新二進位檔322至所述外部的網路介面SoC 306。所述外部的網路介面SoC 306接著可以使用在所述外部的網路介面SoC 306以及所述擴充基座308的MCU 310之間使用中的USB、串列、UART、及/或GPIO介面中的一或多個,以提供所述MCU 310所述韌體更新二進位檔322。
在接收到所述韌體更新二進位檔322之際,所述MCU 310可以判斷所述韌體更新二進位檔322是否加密的。若是的話,所述MCU 310的解密引擎324被用來解密所接收到的韌體更新二進位檔322。在某些實施例中,若所述韌體更新二進位檔322無法被解密,則所述韌體更新二進位檔322並不進一步被使用,並且被拋棄。此解密可以在無來自任何附接至所述擴充基座308的主機裝置(其可以存在、或是可以不存在)的任何輸入下加以執行。
再者,所述MCU 310可以判斷所述韌體更新二進位檔322是否被簽章。若是的話,所述MCU 310的驗證引擎326可被用來驗證所接收到的韌體更新二進位檔322的簽章,藉此確保所述韌體更新二進位檔322為有效的。在某些實施例中,若所述韌體更新二進位檔322未被簽章、或是若所述簽章被判斷為無效的,則所述韌體更新二進位檔322並不進一步被使用,而是被拋棄。此驗證可以在無來自任何附接至所述擴充基座308的主機裝置(其可以存在、或是可以不存在)的任何輸入下加以執行。
一旦所述韌體更新二進位檔322被解密及/或驗證後,所述MCU 310可以繼續針對於所述晶片組A 312、所述晶片組B 314、所述晶片組C 316、及/或所述晶片組D 318中的一或多個,利用所述韌體更新二進位檔322來執行韌體更新。此過程可以改變或取代所述個別的晶片組的韌體。例如,可以是所述韌體更新二進位檔322可運作以改變或取代晶片組A 312的韌體A 328。在其它情形中,
可以是所述韌體更新二進位檔322可運作以改變或取代晶片組A 312的韌體A 328以及晶片組C 316的韌體C 332的每一個。在其它情形中,可以是所述韌體更新二進位檔322可運作以改變或取代所述擴充基座308的所有晶片組的韌體(例如,改變或取代所述晶片組A 312的韌體A 328、所述晶片組B 314的韌體B 330、所述晶片組C 316的韌體C 332、以及所述晶片組D 318的韌體D 334)。
如同所繪的,所述MCU 310可以經由一USB介面、一串列介面、一UART介面、或是一GPIO介面中的一或多個來和所述晶片組312至318通訊。在某些實施例中,不同的介面可被使用於不同的晶片組(例如,所述MCU 310可能是經由一串列介面來和所述晶片組A 312通訊,而所述MCU 310是經由一GPIO介面來和所述晶片組D 318通訊)。根據所述韌體更新二進位檔322的操作性,所述韌體更新是針對於一個別的晶片組,經由在所述晶片組以及所述MCU 310之間的介面來執行的。
用於所述一或多個晶片組312至318的韌體更新過程可以是在無來自所述擴充基座308的任何主機裝置的任何輸入下執行的。例如,所述外部的網路介面SoC 306可以從所述乙太網路/Wi-Fi存取點304接收所述韌體更新二進位檔322,並且傳遞所述韌體更新二進位檔322至所述MCU 310,而與任何可利用於所述擴充基座308的主機裝置無關。再者,所述MCU 310接著可以執行針對於所述晶片組312至318的任一個的對應的韌體更新,而與任何可利用於所述擴充基座308的主機裝置無關。換言之,相關於所述系統300敘述的韌體更新過程可以獨立於不論任何主機裝置在所述韌體更新的時點是否連接至所述擴充基座308而發生。
再者,所預期的是上述的韌體更新過程可以在所述擴充基座308(亦)持續針對於一附接的主機裝置執行所述擴充基座308的功能時加以執行(在所述韌體更新的時點,一主機裝置是附接至所述擴充基座308的狀況中)。例
如,所述外部的網路介面SoC 306可能是連接至所述擴充基座308並且從所述乙太網路/Wi-Fi存取點304接收所述韌體更新二進位檔322,並且所述MCU 310可以從所述外部的網路介面SoC 306接收所述韌體更新二進位檔322而且使用其以執行對應的韌體更新,同時所述擴充基座308持續例如在所述主機裝置以及所述擴充基座308之間傳輸資料、及/或從所述擴充基座308傳輸電力至所述主機裝置。
圖4是描繪根據一實施例的一種包含一雲端伺服器402、一乙太網路/Wi-Fi存取點404、以及一擴充基座406之系統400。如同所繪的,所述雲端伺服器402可包含一韌體更新二進位檔422。所述擴充基座406可包含一網路介面SoC 408、具有一解密引擎424以及一驗證引擎426的一MCU 410、以及一些晶片組,其分別根據其個別的韌體來操作。在圖4的例子中,所述擴充基座406包括一具有韌體A 428的晶片組A 412、一具有韌體B 430的晶片組B 414、一具有韌體C 432的晶片組C 416、以及一具有韌體D 434的晶片組D 418。
如同所繪的,一管理者指令420可以到達所述雲端伺服器402。或者是,所述管理者指令420可以源自於所述雲端伺服器402。所述管理者指令420可以指示所述雲端伺服器402以針對於所述擴充基座406的晶片組412至418中的一或多個來執行韌體更新。
所述雲端伺服器402例如可以是藉由所述系統400的管理者所操作的系統,並且可以經由一網路(例如,網際網路)來接達。所述雲端伺服器402可包含晶片組韌體更新資料,其是可利用以針對於所述擴充基座406的晶片組中的一或多個來執行韌體更新。例如,所述雲端伺服器402可包含一韌體更新二進位檔422,其可被所述擴充基座406利用來更新所述晶片組412至418中的一或多個的韌體。
所述管理者指令420可以根據所述雲端伺服器402的配置而到達/發生在所述雲端伺服器402(例如,如同藉由所述系統400的管理者所配置的)。例
如,所述管理者指令420可以在每當所述雲端伺服器402判斷的是用於所述擴充基座406的晶片組412至418中的一或多個的新韌體是可利用的、及/或在一預設的更新節奏下到達/發生。或者是,所述管理者指令420可以人工地被觸發(例如,經由和所述雲端伺服器402的使用者人工的互動)。
響應於所述管理者指令420,所述雲端伺服器402可以傳送所述韌體更新二進位檔422至所述乙太網路/Wi-Fi存取點404(例如,經由網際網路)。所述乙太網路/Wi-Fi存取點404可以是在所述擴充基座406本地的存取點。例如,其可以是在所述擴充基座406的大致的地點的一Wi-Fi通訊範圍之內的存取點、或是實際位在相當接近所述擴充基座406以使得一實體連線(例如,一乙太網路電纜線)可以是可行地走線在所述乙太網路/Wi-Fi存取點404以及所述擴充基座406的大致的地點之間的存取點。
如同所繪的,所述擴充基座406可包含一網路介面SoC 408。所述網路介面SoC 408可以經由一USB介面、一串列介面、一UART介面、及/或一GPIO介面中的一或多個來和所述擴充基座406的MCU 410通訊。所述網路介面SoC 408亦可包含用於從在所述擴充基座406的外部的一存取點(例如所述乙太網路/Wi-Fi存取點404)接收網路通訊的任何連接器、電路、以及韌體(例如,“網路介面”)。例如,所述網路介面SoC 408可包含一或多個天線以及相關的電路及韌體,以用於在所述網路介面SoC 408以及所述乙太網路/Wi-Fi存取點404之間的Wi-Fi介面。此種Wi-Fi介面可以是所述擴充基座406的一網路介面的一個例子。額外或是替代地,所述網路介面SoC 408可包含一RJ-45埠(其實際上穿過所述擴充基座406而被露出)以及相關的電路及韌體,以用於在所述網路介面SoC 408以及所述乙太網路/Wi-Fi存取點404之間的乙太網路介面(藉由一乙太網路電纜線所促成的)。此種乙太網路介面可以是所述擴充基座406的一實體通訊介面以及一網路介面的每一個的一個例子。
所述乙太網路/Wi-Fi存取點404可以經由所述乙太網路及/或Wi-Fi介面中的一或多個來提供所述韌體更新二進位檔422至所述網路介面SoC 408。所述網路介面SoC 408接著可以使用在所述擴充基座406的網路介面SoC 408以及MCU 410之間使用中的USB、串列、UART、及/或GPIO介面中的一或多個,以提供所述MCU 410所述韌體更新二進位檔422。
在接收到所述韌體更新二進位檔422之際,所述MCU 410可以判斷所述韌體更新二進位檔422是否加密的。若是的話,則所述MCU 410的解密引擎424被用來解密所接收到的韌體更新二進位檔422。在某些實施例中,若所述韌體更新二進位檔422無法被解密,則所述韌體更新二進位檔422並不進一步被使用,並且被拋棄。此解密可以在無來自任何附接至所述擴充基座406的主機裝置(其可以存在、或是可以不存在)的任何輸入下被執行。
再者,所述MCU 410可以判斷所述韌體更新二進位檔422是否被簽章。若是的話,則所述MCU 410的驗證引擎426可被用來驗證所接收到的韌體更新二進位檔422的簽章,藉此確保所述韌體更新二進位檔422為有效的。在某些實施例中,若所述韌體更新二進位檔422未被簽章、或是若所述簽章被判斷為無效的,則所述韌體更新二進位檔422並不進一步被使用,而是被拋棄。此驗證可以在無來自任何附接至所述擴充基座406的主機裝置(其可以存在、或是可以不存在)的任何輸入下被執行。
一旦所述韌體更新二進位檔422被解密及/或驗證後,所述MCU 410可以繼續針對於所述晶片組A 412、所述晶片組B 414、所述晶片組C 416、及/或所述晶片組D 418中的一或多個,利用所述韌體更新二進位檔422來執行韌體更新。此過程可以改變或取代所述個別的晶片組的韌體。例如,可以是所述韌體更新二進位檔422可運作以改變或取代晶片組A 412的韌體A 428。在其它情形中,可以是所述韌體更新二進位檔422可運作以改變或取代晶片組A 412的韌體A 428
以及晶片組C 416的韌體C 432的每一個。在其它情形中,可以是所述韌體更新二進位檔422可運作以改變或取代所述擴充基座406的所有晶片組的韌體(例如,改變或取代所述晶片組A 412的韌體A 428、所述晶片組B 414的韌體B 430、所述晶片組C 416的韌體C 432、以及所述晶片組D 418的韌體D 434)。
如同所繪的,所述MCU 410可以經由一USB介面、一串列介面、一UART介面、或是一GPIO介面中的一或多個來和所述晶片組412至418通訊。在某些實施例中,不同的介面可被使用於不同的晶片組(例如,所述MCU 410可能是經由一串列介面來和所述晶片組A 412通訊,而所述MCU 410是經由一GPIO介面來和所述晶片組D 418通訊)。根據所述韌體更新二進位檔422的操作性,一韌體更新是針對於一個別的晶片組,經由在所述晶片組以及所述MCU 410之間的介面而被執行。
用於所述一或多個晶片組412至418的韌體更新過程可以在無來自所述擴充基座406的任何主機裝置的任何輸入下加以執行。例如,所述網路介面SoC 408可以從所述乙太網路/Wi-Fi存取點404接收所述韌體更新二進位檔422,並且傳遞所述韌體更新二進位檔422至所述MCU 410,而與任何可利用於所述擴充基座406的主機裝置無關。再者,所述MCU 410接著可以針對於所述晶片組412至418的任一個執行對應的韌體更新,而與任何可利用於所述擴充基座406的主機裝置無關。換言之,相關於所述系統400敘述的韌體更新過程可以獨立於不論任何主機裝置在所述韌體更新的時點是否連接至所述擴充基座406而發生。
再者,所預期的是上述的韌體更新過程可以在所述擴充基座406(亦)持續針對於一附接的主機裝置執行所述擴充基座406的功能時加以執行(在所述韌體更新的時點,一主機裝置是附接至所述擴充基座406的狀況中)。例如,所述網路介面SoC 408可以從所述乙太網路/Wi-Fi存取點404接收所述韌體更新二進位檔422,並且所述MCU 410於是可以從所述網路介面SoC 408接收所述
韌體更新二進位檔422,並且使用其以執行對應的韌體更新,同時所述擴充基座406持續例如在所述主機裝置以及所述擴充基座406之間傳輸資料、及/或從所述擴充基座406傳輸電力至所述主機裝置。
圖5是描繪根據一實施例的一種執行一擴充基座的晶片組韌體更新之方法500。所述方法500選配地包含利用所述擴充基座的一USB引擎,經由一實體通訊介面來管理502一USB記憶體裝置。
所述方法500進一步包含在所述擴充基座接收504晶片組韌體更新資料。在某些實施例中,所述晶片組韌體更新資料是以加密的形式接收到的。再者,在某些實施例中,所述晶片組韌體資料是以簽章的形式接收到的(例如,和一簽章一起被接收到的,以使用於驗證所述晶片組韌體更新資料)。
所述方法500進一步包含利用所述擴充基座的一MCU的一解密引擎來解密506所述晶片組韌體更新資料。
所述方法500進一步選配地包含利用所述MCU的一驗證引擎來驗證508所述晶片組韌體更新資料的簽章。
所述方法500進一步包含操作510所述MCU以更新一晶片組的一晶片組韌體,所述晶片組是被配置以和一主機裝置一起操作晶片組服務,所述更新是利用所述晶片組韌體更新資料並且在無來自所述主機裝置的輸入下被執行的。
在所述方法500的某些實施例中,所述晶片組韌體更新資料是經由所述擴充基座的一實體通訊介面,在所述擴充基座接收到的。在這些實施例的某些包含所述管理502的實施例中,所述晶片組韌體更新資料是在所述擴充基座,從所述USB記憶體裝置經由被操作以管理所述USB記憶體裝置的所述實體通訊介面接收到的。
在所述方法500的某些實施例中,所述晶片組韌體更新資料是在
所述擴充基座,經由所述擴充基座的一網路介面接收到的。
在所述方法500的某些實施例中,所述晶片組韌體更新資料是在無來自所述主機裝置的輸入下,在所述擴充基座接收到的。
在所述方法500的某些實施例中,所述晶片組韌體更新資料是在無來自所述主機裝置的輸入下,利用所述MCU的所述解密引擎而被解密的。
在所述方法500的某些包含所述驗證508的實施例中,所述晶片組韌體更新資料的簽章是在無來自所述主機裝置的輸入下,利用所述MCU的驗證引擎而被驗證的。
在所述方法500的某些實施例中,所述主機裝置並未連接至所述擴充基座。
圖6是描繪根據一實施例的一種USB儲存裝置之方法600。所述方法600包含利用所述USB儲存裝置的一網路介面來連接602至和一雲端伺服器通訊的一存取點。
所述方法600進一步包含經由所述存取點,利用所述USB儲存裝置的一MCU來執行604一檢查所述USB儲存裝置是否儲存見於所述雲端伺服器的晶片組韌體更新資料。
所述方法600進一步選配地包含經由所述網路介面,從所述雲端伺服器下載606所述晶片組韌體更新資料。所述下載606可以響應於藉由所述MCU在所述檢查期間所做的所述USB儲存裝置並不包含見於所述雲端伺服器的所述晶片組韌體更新資料的判斷來加以執行。
所述方法600進一步包含經由所述USB儲存裝置的一USB介面來與一擴充基座介接608。
所述方法600進一步包含在無來自所述擴充基座的一主機裝置的輸入下,提供610所述晶片組韌體更新資料至所述擴充基座。
在所述方法600的某些實施例中,所述晶片組韌體更新資料是具有一加密的形式。
在所述方法600的某些實施例中,所述晶片組韌體更新資料是具有一簽章的形式。
在所述方法600的某些實施例中,所述網路介面包括一Wi-Fi介面。
在所述方法600的某些實施例中,所述MCU是週期性地執行所述檢查。
在所述方法600的某些實施例中,所述MCU是在所述USB儲存裝置經由所述網路介面的連接至所述存取點之際執行所述檢查。
在所述方法600的某些實施例中,所述MCU是在所述USB儲存裝置的連接至所述擴充基座之際並且在所述USB儲存裝置提供所述韌體更新資料至所述擴充基座之前執行所述檢查。
在此揭露的裝置分別可包含一或多個MCU、SoC、控制器、處理器、等等,利用存在於其上的指令以實施每一個此種裝置的一或多個功能為在此所描述的那些功能。藉由此種MCU、SoC、控制器、處理器、等等所用的指令可被儲存在一記憶體上(例如,一非暫態的電腦可讀取的儲存媒體),所述記憶體是在此種MCU、SoC、控制器、處理器、等等上、或是和其通訊的。所預期的是,這些MCU、SoC、控制器、處理器、等等(及/或於其上使用的任何相關的非暫態的電腦可讀取的指令)可以存在於在此揭露的任何實施例中(即使其未被明確論述)。
此揭露內容已經參考包含最佳模式的各種範例實施例而完成。然而,熟習此項技術者將會體認到可以對所述範例實施例做成改變及修改,而不脫離本揭露內容的範疇。儘管此揭露內容的原理已經在各種實施例中展示,但是結
構、配置、比例、元件、材料、以及構件的許多修改可針對於一特定的環境及/或操作需求來加以調適,而不脫離此揭露內容的原理及範疇。這些及其它改變或修改是欲內含在本揭露內容的範疇之內。
此揭露內容是欲以舉例說明而不是限制性的意思視之,並且所有此種修改都欲內含在其之範疇之內。同樣地,益處、其它優點、以及問題的解決方案已經在以上相關各種實施例來敘述。然而,可能使得任何益處、優點、或問題的解決方案是或變成更顯著的益處、優點、問題的解決方案、以及任何元件並非被解釋為一關鍵的、必須的、或是重要的特點或元件。因此,本發明的範疇應該由以下的請求項來加以決定。
100:系統
102:USB儲存裝置
104:擴充基座
106:USB集線器控制器
108:USB迷你主機控制器
110:微控制器單元(MCU)
112:晶片組A
114:晶片組B
116:晶片組C
118:晶片組D
120:韌體更新二進位檔
122:USB託管引擎
124:解密引擎
126:驗證引擎
128:韌體A
130:韌體B
132:韌體C
134:韌體D
Claims (28)
- 一種擴充基座,其包括:萬用串列匯流排(USB)埠,其用於連接至USB記憶體裝置;微控制器單元(MCU);USB主機控制器,其包括USB託管引擎;晶片組,其根據晶片組韌體而被配置以和主機裝置一起操作晶片組服務,該主機裝置通訊耦接至該擴充基座;其中所述擴充基座被配置以:經由所述USB主機控制器,利用所述USB託管引擎經由USB集線器控制器來管理所述USB記憶體裝置;從所述USB記憶體裝置接收晶片組韌體更新資料;以及在無來自所述主機裝置的輸入下,操作所述MCU以利用所述晶片組韌體更新資料來更新所述晶片組韌體。
- 如請求項1之擴充基座,其中來自所述USB記憶體裝置的所述晶片組韌體更新資料是在無來自所述主機裝置的輸入下接收到。
- 如請求項1之擴充基座,其中:所述晶片組韌體更新資料是從所述USB記憶體裝置以加密的形式接收到;所述MCU進一步包括解密引擎;以及所述MCU進一步被配置以解密所述晶片組韌體更新資料。
- 如請求項3之擴充基座,其中所述MCU進一步被配置以在無來自所述主機裝置的輸入下,解密所述晶片組韌體更新資料。
- 如請求項1之擴充基座,其中:所述MCU進一步包括驗證引擎;以及所述MCU進一步被配置以驗證所述晶片組韌體更新資料的簽章。
- 如請求項5之擴充基座,其中所述MCU進一步被配置以在無來自所述主機裝置的輸入下,驗證所述晶片組韌體更新資料的所述簽章。
- 一種擴充基座,其包括:微控制器單元(MCU),其包括解密引擎;以及晶片組,其根據晶片組韌體而被配置以和主機裝置一起操作晶片組服務,該主機裝置通訊耦接至該擴充基座;其中所述擴充基座被配置以:接收晶片組韌體更新資料;操作所述MCU以利用所述解密引擎來解密所述晶片組韌體更新資料;以及在無來自所述主機裝置的輸入下,操作所述MCU以利用所述晶片組韌體更新資料來更新所述晶片組韌體。
- 如請求項7之擴充基座,其中在無來自所述主機裝置的輸入下,所述擴充基座接收所述晶片組韌體更新資料。
- 如請求項7之擴充基座,其中在無來自所述主機裝置的輸入下,所述擴充基座操作所述MCU以解密所述晶片組韌體更新資料。
- 如請求項7之擴充基座,其進一步包括:網路介面,其中所述晶片組韌體更新資料經由所述網路介面在所述擴充基座接收到。
- 如請求項7之擴充基座,其進一步包括:實體通訊介面,其中所述晶片組韌體更新資料經由所述實體通訊介面在所述擴充基座接收到。
- 如請求項7之擴充基座,其中:所述MCU進一步包括驗證引擎;以及 所述擴充基座進一步被配置以操作所述MCU來利用所述驗證引擎以驗證所述晶片組韌體更新資料的簽章。
- 如請求項12之擴充基座,其中在無來自所述主機裝置的輸入下,所述擴充基座操作所述MCU以驗證所述晶片組韌體更新資料的所述簽章。
- 一種用於擴充基座之方法,其包括:在所述擴充基座接收晶片組韌體更新資料,其中所述晶片組韌體更新資料是以加密的形式接收到;利用所述擴充基座的微控制器單元(MCU)的解密引擎來解密所述晶片組韌體更新資料;操作所述MCU以更新晶片組的晶片組韌體,所述晶片組被配置以和主機裝置一起操作晶片組服務,該主機裝置通訊耦接至該擴充基座,所述更新利用所述晶片組韌體更新資料並且在無來自所述主機裝置的輸入下執行。
- 如請求項14之方法,其進一步包括利用所述MCU的驗證引擎來驗證所述晶片組韌體更新資料的簽章。
- 如請求項14之方法,其中所述晶片組韌體更新資料是在所述擴充基座經由所述擴充基座的實體通訊介面接收到。
- 如請求項16之方法,其進一步包括利用所述擴充基座的USB託管引擎,經由所述實體通訊介面來管理USB記憶體裝置,其中所述晶片組韌體更新資料是在所述擴充基座從所述USB記憶體裝置接收到。
- 如請求項14之方法,其中所述晶片組韌體更新資料是在所述擴充基座經由所述擴充基座的網路介面接收到。
- 如請求項14之方法,其中所述晶片組韌體更新資料是在無來自所述主機裝置的輸入下在所述擴充基座接收到。
- 如請求項14之方法,其中所述晶片組韌體更新資料是在無來自 所述主機裝置的輸入下,利用所述MCU的所述解密引擎而被解密。
- 一種萬用串列匯流排(USB)儲存裝置,其包括:網路介面,其被配置以經由存取點來和雲端伺服器通訊;微控制器單元(MCU),其用以執行所述USB儲存裝置是否儲存見於所述雲端伺服器的晶片組韌體更新資料的檢查;以及USB介面,其用以連接所述USB儲存裝置至擴充基座,其中在無來自所述擴充基座的主機裝置的輸入下,所述USB儲存裝置經由所述USB介面來提供所述晶片組韌體更新資料至所述擴充基座,該主機裝置通訊耦接至該擴充基座。
- 如請求項21之USB儲存裝置,其中所述晶片組韌體更新資料具有加密的形式。
- 如請求項21之USB儲存裝置,其中所述晶片組韌體更新資料具有簽章的形式。
- 如請求項21之USB儲存裝置,其中所述網路介面包括Wi-Fi介面。
- 如請求項21之USB儲存裝置,其進一步包括響應於藉由所述MCU在所述檢查期間所做的所述USB儲存裝置並不包含見於所述雲端伺服器的所述晶片組韌體更新資料的判斷,利用所述網路介面以從所述雲端伺服器下載所述晶片組韌體更新資料。
- 如請求項21之USB儲存裝置,其中所述MCU週期性地執行所述檢查。
- 如請求項21之USB儲存裝置,其中所述MCU在所述USB儲存裝置經由所述網路介面至所述存取點的連線之際執行所述檢查。
- 如請求項21之USB儲存裝置,其中所述MCU在所述USB儲存裝置至所述擴充基座的連線之際並且在所述USB儲存裝置提供所述韌體更新資 料至所述擴充基座之前執行所述檢查。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/447,669 | 2021-09-14 | ||
US17/447,669 US20230077706A1 (en) | 2021-09-14 | 2021-09-14 | Independently upgradeable docking stations |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202314533A TW202314533A (zh) | 2023-04-01 |
TWI839841B true TWI839841B (zh) | 2024-04-21 |
Family
ID=
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210119930A1 (en) | 2019-10-31 | 2021-04-22 | Intel Corporation | Reliable transport architecture |
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210119930A1 (en) | 2019-10-31 | 2021-04-22 | Intel Corporation | Reliable transport architecture |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102380100B1 (ko) | 액세서리 디바이스용 리버서블 커넥터 | |
CN106462188B (zh) | 附件设备的功率管理合同 | |
EP3805968B1 (en) | Technologies for secure hardware and software attestation for trusted i/o | |
US10395039B2 (en) | Customer-owned trust of device firmware | |
AU2011240960B2 (en) | Dynamic configuration of connectors for system level communications | |
CN101479737B (zh) | 用于验证附件的方法和系统 | |
US8504823B2 (en) | Dynamic configuration of connectors for system-level communications | |
JP2012003758A (ja) | ファームウェア・イメージのマルチオーナによる配布 | |
CA3076236A1 (en) | Remotely controlled technician surrogate device | |
CN110457894A (zh) | root权限的分配方法、装置、存储介质及终端设备 | |
US20170201373A1 (en) | Systems and methods for management controller management of key encryption key | |
US11190519B2 (en) | Dock administration using a token | |
US20220038439A1 (en) | Network provisioning and tokenization using a remote terminal | |
TWI839841B (zh) | 擴充基座、用於擴充基座之方法及萬用串列匯流排儲存裝置 | |
CN110716732B (zh) | 一种升级汽车仪表ui和固件程序的装置及方法 | |
US10482253B2 (en) | Configuring basic input output system (BIOS) features based on a policy | |
US20210216297A1 (en) | Application Software Installation Method, Device, and Server | |
US11907373B2 (en) | Validation of fixed firmware profiles for information handling systems | |
WO2013004175A1 (zh) | 一种电子设备的软件升级方法及装置 | |
TW202314533A (zh) | 可獨立升級的擴充基座 | |
US11509529B2 (en) | Switch component secure upgrade system | |
US20160357693A1 (en) | Inter-device digital audio | |
JP7027240B2 (ja) | 情報機器のセキュリティシステム及びそのセキュリティ方法 | |
KR20100033243A (ko) | 주변기기 무선 업그레이드 지원장치 및 그 방법 |