TWI705374B - 電子裝置及其操作方法 - Google Patents
電子裝置及其操作方法 Download PDFInfo
- Publication number
- TWI705374B TWI705374B TW107102154A TW107102154A TWI705374B TW I705374 B TWI705374 B TW I705374B TW 107102154 A TW107102154 A TW 107102154A TW 107102154 A TW107102154 A TW 107102154A TW I705374 B TWI705374 B TW I705374B
- Authority
- TW
- Taiwan
- Prior art keywords
- integrated circuit
- firmware code
- firmware
- electronic device
- new
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/05—Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
- G05B19/054—Input/output
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/654—Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/10—Plc systems
- G05B2219/11—Plc I-O input output
- G05B2219/1103—Special, intelligent I-O processor, also plc can only access via processor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1041—Resource optimization
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/15—Use in a specific computing environment
- G06F2212/151—Emulated environment, e.g. virtual machine
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/20—Employing a main memory using a specific memory technology
- G06F2212/202—Non-volatile memory
Abstract
一種電子裝置及其操作方法。此電子裝置包括非揮發性記憶體、第一積體電路以及第二積體電路。非揮發性記憶體儲存第一積體電路的第一韌體碼與第二積體電路的第二韌體碼。第一積體電路耦接至非揮發性記憶體的記憶體存取介面,以讀取該第一韌體碼與該第二韌體碼。第一積體電路具有擬記憶體存取介面以虛擬一個擬記憶體。第二積體電路耦接至第一積體電路的擬記憶體存取介面。第二積體電路經由擬記憶體存取介面從第一積體電路讀取第二韌體碼。
Description
本發明是有關於一種電子裝置及其操作方法。
在同一個電子裝置中,常常配置有多個共同處理的積體電路。這些積體電路各自執行不同的韌體碼。基於這些積體電路往往是由不同製造商所提供,因此這些積體電路的不同韌體碼往往被存放在不同的記憶體晶片中。舉例來說,在同一個電子裝置中可以配置積體電路A、記憶體晶片A、積體電路B與記憶體晶片B,其中積體電路A直接耦接記憶體晶片A,而積體電路B直接耦接記憶體晶片B。積體電路A從記憶體晶片A直接讀取韌體碼A,並且執行此韌體碼A來提供功能A。積體電路B從記憶體晶片B直接讀取韌體碼B,並且執行此韌體碼B來提供功能B,以便與積體電路A的功能A相互協同運作。無論如何,在習知的電子裝置中,不同積體電路的不同韌體碼被存放在不同記憶體晶片。可想而知,這些記憶體晶片將佔用印刷電路板的面積,並且增加製造成本。
再者,當使用者想要對在同一個電子裝置中這些積體電路更新韌體時(例如更新韌體碼A與韌體碼B),因為這些韌體碼被存放在不同記憶體晶片,使得使用者需要使用不同更新工具/程式來分別對不同積體電路更新韌體。舉例來說,使用者需要使用更新工具A對記憶體晶片A更新韌體碼A。韌體碼A完成更新後,使用者需要使用另一個更新工具B對記憶體晶片B更新韌體碼B。可想而知,對習知的電子裝置更新韌體是一件繁瑣又沒效率的工作。
本發明提供一種電子裝置及其操作方法,以統一管理多個積體電路的不同韌體碼(firmware code)。
本發明的實施例提供一種電子裝置。此電子裝置包括非揮發性記憶體(nonvolatile memory)、第一積體電路以及第二積體電路。非揮發性記憶體具有記憶體存取介面。非揮發性記憶體可以儲存第一積體電路的第一韌體碼與第二積體電路的第二韌體碼。第一積體電路耦接至非揮發性記憶體的記憶體存取介面,以讀取該第一韌體碼與該第二韌體碼。第一積體電路具有第一擬記憶體存取介面以虛擬一個第一擬記憶體。第二積體電路耦接至第一積體電路的第一擬記憶體存取介面。第二積體電路經由第一擬記憶體存取介面從第一積體電路讀取第二韌體碼。
本發明的實施例提供一種電子裝置的操作方法。所述操作方法包括:由非揮發性記憶體儲存第一積體電路的第一韌體碼與第二積體電路的第二韌體碼;由第一積體電路從非揮發性記憶體讀取第一韌體碼;由第一積體電路提供第一擬記憶體存取介面以虛擬一個第一擬記憶體;由第一積體電路從非揮發性記憶體讀取第二韌體碼;以及由第二積體電路經由此第一擬記憶體存取介面從第一積體電路讀取第二韌體碼。
基於上述,本發明諸實施例所述電子裝置及其操作方法使用一個非揮發性記憶體來儲存多個積體電路的不同韌體碼。第一積體電路可以從非揮發性記憶體讀取第一韌體碼,以及執行此第一韌體碼。第一積體電路提供擬記憶體存取介面以虛擬一個擬記憶體,因此第二積體電路可以經由第一積體電路來讀取在此非揮發性記憶體中的第二韌體碼,以及執行第二韌體碼。因此,多個積體電路的不同韌體碼可以被統一地存放在同一個非揮發性記憶體,以便於統一管理這些韌體碼。
為讓本發明的上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。
在本案說明書全文(包括申請專利範圍)中所使用的「耦接(或連接)」一詞可指任何直接或間接的連接手段。舉例而言,若文中描述第一裝置耦接(或連接)於第二裝置,則應該被解釋成該第一裝置可以直接連接於該第二裝置,或者該第一裝置可以透過其他裝置或某種連接手段而間接地連接至該第二裝置。另外,凡可能之處,在圖式及實施方式中使用相同標號的元件/構件/步驟代表相同或類似部分。不同實施例中使用相同標號或使用相同用語的元件/構件/步驟可以相互參照相關說明。
類型C通用串列匯流排(USB Type-C,又稱為USB-C),是一種新型的通用序列匯流排(Universal Serial Bus,USB)的傳輸介面。圖1繪示一種USB-C集線器(Hub)100的電路方塊(circuit block)示意圖。在其他不同的實施例中,USB-C集線器100可以是多功能擴展塢(multi-function dock)或其他電子設備。USB-C集線器100包括上行資料連接埠(Upstream-Facing Port, UFP)110、USB集線器控制電路120、記憶體晶片130、USB電力傳輸(Power Delivery, PD)控制電路140、記憶體晶片150、顯示埠(DisplayPort, DP)轉換電路160、記憶體晶片170、下行資料連接埠(Downstream-Facing Port, DFP)180以及高畫質多媒體介面(high definition multimedia interface, HDMI)連接器190。上行資料連接埠110可以被連接至主機10。主機10可以是個人電腦、筆記型電腦、平板電腦、手持式電話、個人數位助理(personal digital assistant, PDA)、媒體播放器(media player)、數位相機、攝錄機(camcorders)、遊戲機等等。
USB集線器控制電路120耦接至上行資料連接埠110的資料腳位。所述資料腳位可以是D腳位(差動信號的一對接腳),以及/或是TX1腳位(差動信號的一對輸出接腳)與RX1腳位(差動信號的一對輸入接腳)。USB集線器控制電路120還耦接至下行資料連接埠180。記憶體晶片130存放著集線器韌體碼。USB集線器控制電路120可以執行記憶體晶片130所提供的集線器韌體碼,進而提供USB集線器的功能。
USB電力傳輸控制電路140耦接至上行資料連接埠110的配置通道腳位(configuration channel pin, CC pin)。記憶體晶片150存放著電力傳輸韌體碼。USB電力傳輸控制電路140可以執行記憶體晶片150所提供的電力傳輸韌體碼,進而提供電力傳輸的控制功能。舉例來說,基於所述電力傳輸韌體碼,USB電力傳輸控制電路140可以檢測上行資料連接埠110的配置通道腳位的狀態,來判斷上行資料連接埠110有無連接外接裝置(例如圖1所示主機10)。USB-C集線器100可以經由配置通道腳位來和主機10相互交換組態資訊。依照組態資訊,USB-C集線器100和主機10可以自動進行協議,而決定由主機10扮演電力傳輸的供應端,而由USB-C集線器100扮演電力傳輸的受電端。
顯示埠(DP)轉換電路160耦接至上行資料連接埠110的其他資料腳位。舉例來說,DP轉換電路160可以耦接至上行資料連接埠110的TX2腳位(差動信號的另一對輸出接腳)與RX2腳位(差動信號的另一對輸入接腳),並將所述TX2腳位與RX2腳位視為DP腳位。DP轉換電路160還耦接至高畫質多媒體介面(HDMI)連接器190。記憶體晶片170存放著顯示埠(DP)韌體碼。DP轉換電路160可以執行記憶體晶片170所提供的DP韌體碼,進而提供「DP至HDMI」的轉換功能。
無論如何,在USB-C集線器100中,不同積體電路的不同韌體碼被存放在不同記憶體晶片(例如圖1所示記憶體晶片130、150與170)。可想而知,這些記憶體晶片130、150與170將佔用印刷電路板的面積,並且增加製造成本。再者,當這些積體電路130、150與170的韌體碼需要進行更新時,因為這些韌體碼被存放在不同記憶體晶片,使得使用者需要使用不同更新工具/程式來分別對這些記憶體晶片130、150與170更新韌體。舉例來說,使用者需要使用更新工具A對記憶體晶片130更新集線器韌體碼。在集線器韌體碼完成更新後,使用者需要使用另一個更新工具B對記憶體晶片150更新電力傳輸韌體碼。在電力傳輸韌體碼完成更新後,使用者需要使用另一個更新工具C對記憶體晶片170更新顯示埠(DP)韌體碼。可想而知,對圖1所示USB-C集線器100更新韌體是一件繁瑣又沒效率的工作。
圖2是依照本發明的一實施例所繪示的一種電子裝置200的電路方塊示意圖。電子裝置200包括第一積體電路210、第二積體電路220以及非揮發性記憶體250。第一積體電路210與第二積體電路220可以是相互協同運作的任何類型處理/控制電路。舉例來說,第一積體電路210與/或第二積體電路220可以是控制器、微控制器、微處理器、特殊應用積體電路(Application-specific integrated circuit, ASIC)、數位訊號處理器(digital signal processor, DSP)、場可程式邏輯閘陣列(Field Programmable Gate Array, FPGA)或其他處理/控制電路。
依照設計需求,非揮發性記憶體250可以是反及快閃記憶體(NAND flash memory)或是其他非依電性儲存電路/元件。非揮發性記憶體250具有記憶體存取介面251。非揮發性記憶體250可以儲存第一積體電路210的韌體碼(以下稱第一韌體碼211)與第二積體電路220的韌體碼(以下稱第二韌體碼221)。第一積體電路210耦接至非揮發性記憶體250的記憶體存取介面251。依照設計需求,記憶體存取介面251可以是串列週邊介面(Serial Peripheral Interface,以下稱SPI)或是其他韌體存取介面。
第一積體電路210具有第一擬記憶體存取介面212以虛擬一個擬記憶體。依照設計需求,第一擬記憶體存取介面212可以是SPI或是其他韌體存取介面。第二積體電路220耦接至第一積體電路210的第一擬記憶體存取介面212。因此就第二積體電路220而言,第二積體電路220會以為第一積體電路210是一個非揮發性記憶體(擬記憶體)。
圖3是依照本發明的一實施例的一種電子裝置200的操作方法的流程示意圖。請參照圖2與圖3,非揮發性記憶體250在步驟S310中可以儲存第一積體電路210的第一韌體碼211與第二積體電路220的第二韌體碼221。在步驟S320中,第一積體電路210可以從非揮發性記憶體250讀取第一韌體碼211。因此,第一積體電路210可以執行第一韌體碼211而提供第一功能。舉例來說,第一積體電路210可以在步驟S330中提供第一擬記憶體存取介面212以虛擬一個擬記憶體。
在步驟S330中,第一積體電路210可以提供第一擬記憶體存取介面212(擬記憶體)給第二積體電路220,使得第二積體電路220可以經由第一擬記憶體存取介面212來向擬記憶體(第一積體電路210)發出讀取命令,以便讀取第二積體電路220的第二韌體碼221。基於第二積體電路220的讀取命令,第一積體電路210在步驟S340中可以從非揮發性記憶體250讀取第二韌體碼221。在步驟S350中,第二積體電路220可以經由第一擬記憶體存取介面212從第一積體電路210讀取第二韌體碼221。因此,第二積體電路220可以執行第二韌體碼221而提供第二功能,以便與第一積體電路210的所述第一功能相互協同運作。
舉例來說,當第二積體電路220使用第一讀取位址經由第一擬記憶體存取介面212對擬記憶體(第一積體電路210)進行韌體讀取時,第一積體電路210可以將此第一讀取位址轉換為第二讀取位址。第一積體電路210使用此第二讀取位址從非揮發性記憶體250讀取第二韌體碼221。第一積體電路210經由第一擬記憶體存取介面212將此第二韌體碼221回傳給第二積體電路220。
主機(未繪示)亦可以對電子裝置200進行識別(identification)操作。當主機對電子裝置200進行識別操作時,第一積體電路210可以接收主機所提供的經加密值。所述經加密值是主機使用公開金鑰對某一個原值(例如擬隨機數值,pseudo-random number)進行加密所產生的。第一積體電路210可以使用私密金鑰對此經加密值進行解密操作,而獲得經解密值。若所述私密金鑰與所述公開金鑰具有對應關係,則所述經解密值應與所述原值一致。第一積體電路210可以將所述經解密值回傳給主機。主機可以比較所述經解密值與所述原值是否一致,並依照比較結果來判斷電子裝置200的身份資料(identity data)或描述符號資料(descriptor data)是否虛偽。
當使用者想要對在同一個電子裝置200中這些積體電路210與/或220進行韌體更新時(例如更新第一韌體碼211與/或第二韌體碼221),因為第一韌體碼211與第二韌體碼221被存放在同一個非揮發性記憶體250(記憶體晶片),使得使用者可以使用同一個更新工具/程式來對非揮發性記憶體250更新韌體。因此,第一韌體碼211與第二韌體碼221可以統一地被更新。
舉例來說,使用者可以使用更新工具/程式來將新韌體檔案傳輸給第一積體電路210。第一積體電路210可以驗證(verify)此新韌體檔案以便更新在非揮發性記憶體250中的第一韌體碼211與/或第二韌體碼221。其中,所述新韌體檔案是事先由私密金鑰所加密的經加密韌體碼。所述「驗證新韌體檔案」的操作說明如下。第一積體電路210可以藉由使用所述私密金鑰所對應的一個公開金鑰對所述新韌體檔案進行解密操作,而獲得經解密檔案。當該解密操作為成功時,第一積體電路210可以使用此經解密檔案中的新第一韌體碼與/或新第二韌體碼去更新在非揮發性記憶體250中的第一韌體碼211與/或第二韌體碼221。
圖4是依照本發明的一實施例說明圖2所示非揮發性記憶體250的定址空間示意圖。非揮發性記憶體250包含標頭(header)252、第一區253與第二區254。所述第一韌體碼211與所述第二韌體碼221可以被存放在第一區253。標頭252具有位址映射表,用以記載所述第一韌體碼211在非揮發性記憶體250中的實際位址,以及記載所述第二韌體碼221在非揮發性記憶體250中的實際位址。第一積體電路210可以從標頭252讀取位址映射表,以獲知第一韌體碼211的實際位址。因此,第一積體電路210可以從非揮發性記憶體250的第一區253讀取第一韌體碼211,以及執行此第一韌體碼211。
當第二積體電路220使用第一讀取位址經由第一擬記憶體存取介面212對擬記憶體(第一積體電路210)進行韌體讀取時,第一積體電路210可以使用標頭252的位址映射表以便將此第一讀取位址轉換為第二讀取位址(第二韌體碼221在非揮發性記憶體250中的實際位址)。第一積體電路210使用此第二讀取位址從非揮發性記憶體250的第一區253讀取第二韌體碼221。然後,第一積體電路210經由第一擬記憶體存取介面212將此第二韌體碼221回傳給第二積體電路220。因此,第二積體電路220可以執行此第二韌體碼221。
當使用者想要對在同一個電子裝置200中這些積體電路210與/或220進行韌體更新時,因為第一韌體碼211與第二韌體碼221被存放在同一個非揮發性記憶體250(記憶體晶片),使得使用者可以使用同一個更新工具/程式來對非揮發性記憶體250更新韌體。舉例來說,在一些實施例中,使用者可以使用更新工具/程式來將第一積體電路210的新第一韌體碼211’與/或第二積體電路220的新第二韌體碼221’傳輸給第一積體電路210,而第一積體電路210可以將所述新第一韌體碼211’與/或所述新第二韌體碼221’暫時存放在非揮發性記憶體250的第二區254。第一積體電路210可以驗證所述新第一韌體碼211’與/或所述新第二韌體碼221’,以便更新在第一區253中的第一韌體碼211與/或第二韌體碼221。其中,所述新第一韌體碼211’與/或所述新第二韌體碼221’是事先由私密金鑰所加密的經加密韌體碼。第一積體電路210可以藉由使用所述私密金鑰所對應的一個公開金鑰對所述新第一韌體碼211’與/或所述新第二韌體碼221’進行解密操作。當該解密操作為成功時,第一積體電路210可以使用經解密檔的所述新第一韌體碼211’與/或所述新第二韌體碼221’去更新在第一區253中的第一韌體碼211與/或第二韌體碼221。因此,第一韌體碼211與/或第二韌體碼221可以統一地被更新。
在一些實施例中,使用者可以使用主機來將新第一韌體碼211’與/或新第二韌體碼221’傳輸給第一積體電路210。主機會將新韌體碼與數位簽名(digital signature)加入封包(或檔案)中,並將此封包傳輸給第一積體電路210。該數位簽名是一組第一哈希數值(hash values),其預先被一私鑰加密過。在一實施例中,主機欲傳的新韌體碼(包含封包標頭,不包含數位簽名)先經哈希運算而產生哈希結果,此哈希結果再經由一私鑰加密而產生一組第一哈希數值,即該數位簽名。此封包包含標頭(header)以及要更新的一或多個新韌體碼。標頭包含了總長度(total length)、條目數量(number of entries)、每個條目的位址(addresses for each entry)、選項標誌(option flags)及/或其他資訊。第一積體電路210包含哈希處理電路,其會將主機傳過來的新韌體碼(不包含數位簽名)經哈希運算產生哈希結果。第一積體電路210更包含公開金鑰,其用以對所接收的數位簽名進行解密操作,其會解出一組第二哈希數值。第一積體電路210會去比對此第二哈希數值是否相同於所述哈希結果。若比對的結果為相同,則第一積體電路210會把主機傳遞來的新韌體碼(例如新第一韌體碼211’與/或新第二韌體碼221’)暫時存在非揮發性記憶體250的第二區254。第一積體電路210可以使用在第二區254的新第一韌體碼211’與/或新第二韌體碼221’去更新在第一區253中的第一韌體碼211與/或第二韌體碼221。因此,第一韌體碼211與/或第二韌體碼221可以統一地被更新。
圖5是說明圖2所示電子裝置200的一個實施例的電路方塊示意圖。依照設計需求,電子裝置200可以被實現為USB類型C集線器(USB-C Hub)。在其他不同的實施例中,電子裝置200可以是多功能擴展塢(multi-function dock)或其他電子設備。於圖5所示實施例中,電子裝置200包括上行資料連接埠(UFP)260、第一積體電路210、第二積體電路220、第三積體電路230以及非揮發性記憶體250。上行資料連接埠260可以被連接至主機10。第一積體電路210可以包含USB電力傳輸(PD)控制電路。第二積體電路220可以包含USB集線器控制電路。所述USB電力傳輸控制電路與所述USB集線器控制電路之間可以經由一個USB類型C埠控制器介面(Type-C Port Controller Interface, TCPCI)270進行資料傳輸。第三積體電路230可以包含顯示埠(DP)轉換電路。第三積體電路230與第一積體電路210之間可以經由通用輸入輸出(General Purpose Input/Output,簡稱GPIO)介面280進行資料傳輸。本實施例所述主機10、上行資料連接埠260、「USB集線器控制電路」、「USB電力傳輸控制電路」與「DP轉換電路」可以參照圖1所示主機10、上行資料連接埠110、USB集線器控制電路120、USB電力傳輸控制電路140與DP轉換電路160的相關說明來類推,故不再贅述。
第一積體電路210耦接至上行資料連接埠260的配置通道腳位。第二積體電路220耦接至上行資料連接埠260的資料腳位。所述資料腳位可以是D腳位(差動信號的一對接腳),以及/或是TX1腳位(差動信號的一對輸出接腳)與RX1腳位(差動信號的一對輸入接腳)。第三積體電路230耦接至上行資料連接埠260的其他資料腳位。舉例來說,第三積體電路230可以耦接至上行資料連接埠260的TX2腳位(差動信號的另一對輸出接腳)與RX2腳位(差動信號的另一對輸入接腳),並將所述TX2腳位與RX2腳位視為DP腳位。
非揮發性記憶體250可以儲存第一韌體碼211、第二韌體碼221以及第三積體電路230的韌體碼(以下稱第三韌體碼231)。第一積體電路210可以從非揮發性記憶體250讀取第一韌體碼211。因此,第一積體電路210可以執行第一韌體碼211而提供第一功能(例如電力傳輸功能)。舉例來說,於圖5所示實施例中,第一積體電路210可以提供第一擬記憶體存取介面212以虛擬一個第一擬記憶體,以及第一積體電路210可以提供第二擬記憶體存取介面213以虛擬一個第二擬記憶體。依照設計需求,第二擬記憶體存取介面213可以是SPI或是其他韌體存取介面。
第二積體電路220可以經由第一擬記憶體存取介面212來向第一擬記憶體(第一積體電路210)發出讀取命令,以便讀取第二積體電路220的第二韌體碼221。基於第二積體電路220的讀取命令,第一積體電路210可以從非揮發性記憶體250讀取第二韌體碼221。第二積體電路220可以經由第一擬記憶體存取介面212從第一積體電路210讀取第二韌體碼221。因此,第二積體電路220可以執行第二韌體碼221而提供第二功能(例如集線器功能),以便與第一積體電路210相互協同運作。
第三積體電路230耦接至第一積體電路210的第二擬記憶體存取介面213。因此就第三積體電路230而言,第三積體電路230會以為第一積體電路210是一個非揮發性記憶體(第二擬記憶體)。第三積體電路230可以經由第二擬記憶體存取介面213來向第二擬記憶體(第一積體電路210)發出讀取命令,以便讀取第三積體電路230的第三韌體碼231。基於第三積體電路230的讀取命令,第一積體電路210可以從非揮發性記憶體250讀取第三韌體碼231。第三積體電路230可以經由第二擬記憶體存取介面213從第二擬記憶體(第一積體電路210)讀取第三韌體碼231。因此,第三積體電路230可以執行第三韌體碼231而提供第三功能(例如DP轉換功能),以便與第一積體電路210相互協同運作。
在此假設第二積體電路220是一個USB類型C埠主控方(USB Type-C Port Master, TCPM),而第一積體電路210是一個USB類型C埠控制器(USB Type-C Port Controller, TCPC)。因此,當圖5所示電子裝置200運行於正常操作模式時,第二積體電路220(亦即TCPM)擁有控制權,以便經由USB類型C埠控制器介面270控制第一積體電路210(亦即TCPC)。當主機10對電子裝置200更新第一韌體碼211、第二韌體碼221及/或第三韌體碼231時,電子裝置200的操作模式從正常操作模式被切換至韌體更新模式。在韌體更新模式中,控制權從第二積體電路220(亦即TCPM)被轉移至第一積體電路210(亦即TCPC),因此第一積體電路210可以經由USB類型C埠控制器介面270、第二積體電路220與上行資料連接埠260的資料腳位而從主機10接收新第一韌體碼、新第二韌體碼及/或新第三韌體碼。其中,所述新第一韌體碼、所述新第二韌體碼及/或所述新第三韌體碼可以是事先由私密金鑰所加密的經加密韌體碼。第一積體電路210可以驗證新第一韌體碼、新第二韌體碼及/或新第三韌體碼,以便更新在該非揮發性記憶體中的第一韌體碼211、第二韌體碼221及/或第三韌體碼231。
所述驗證新第一韌體碼、新第二韌體碼及/或新第三韌體碼的操作說明如下。第一積體電路210可以藉由使用所述私密金鑰所對應的公開金鑰對所述新第一韌體碼、所述新第二韌體碼及/或所述新第三韌體碼進行解密操作,而獲得經解密新第一韌體碼、經解密新第二韌體碼及/或經解密新第三韌體碼。當所述解密操作為成功時,第一積體電路210可以使用所述經解密新第一韌體碼、所述經解密新第二韌體碼及/或所述經解密新第三韌體碼去更新在非揮發性記憶體250中的第一韌體碼211、第二韌體碼221及/或第三韌體碼231。
主機10亦可以對電子裝置200進行識別操作。當主機10對電子裝置200進行識別操作時,第二積體電路220可以經由上行資料連接埠260的資料腳位接收主機10所提供的經加密值,其中所述經加密值是主機10使用公開金鑰對某一個原值(例如擬隨機數值)進行加密所產生的。第一積體電路210可以經由USB類型C埠控制器介面270從第二積體電路220接收此經加密值。第一積體電路210可以使用私密金鑰對此經加密值進行解密操作,而獲得經解密值。若所述私密金鑰與所述公開金鑰具有對應關係,則所述經解密值應與所述原值一致。第二積體電路220可以經由上行資料連接埠260的資料腳位將所述經解密值回傳給主機10。主機可以比較所述經解密值與所述原值是否一致,並依照比較結果來判斷電子裝置200的身份資料(identity data)或描述符號資料(descriptor data)是否虛偽。
值得注意的是,在不同的應用情境中,第一積體電路210、第一韌體碼211、第二積體電路220、第二韌體碼221、第三積體電路230及/或第三韌體碼231的相關功能可以利用一般的編程語言(programming languages,例如C或C++)、硬體描述語言(hardware description languages,例如Verilog HDL或VHDL)或其他合適的編程語言來實現為軟體、韌體或硬體。可執行所述相關功能的編程語言可以被佈置為任何已知的計算機可存取媒體(computer-accessible medias),例如磁帶(magnetic tapes)、半導體(semiconductors)記憶體、磁盤(magnetic disks)或光盤(compact disks,例如CD-ROM或DVD-ROM),或者可通過互聯網(Internet)、有線通信(wired communication)、無線通信(wireless communication)或其它通信介質傳送所述編程語言。所述編程語言可以被存放在計算機的可存取媒體中,以便於由計算機的處理器來存取/執行所述軟體(或韌體)的編程碼(programming codes)。對於硬體實現,在一或多個控制器、微控制器、微處理器、特殊應用積體電路(Application-specific integrated circuit, ASIC)、數位訊號處理器(digital signal processor, DSP)、場可程式邏輯閘陣列(Field Programmable Gate Array, FPGA)及/或其他處理單元中的各種邏輯區塊、模組和電路可以被用於實現或執行本文實施例所述功能。另外,本發明的裝置和方法可以通過硬體和軟體的組合來實現。
綜上所述,本發明諸實施例所述電子裝置200及其操作方法使用一個非揮發性記憶體250來儲存多個積體電路的不同韌體碼。第一積體電路210可以從非揮發性記憶體250讀取第一韌體碼211,以及執行此第一韌體碼211。第一積體電路210提供擬記憶體存取介面212以虛擬一個擬記憶體,因此第二積體電路220可以經由第一積體電路210來讀取在此非揮發性記憶體250中的第二韌體碼221,以及執行第二韌體碼221。因此,多個積體電路的不同韌體碼可以被統一地存放在同一個非揮發性記憶體250,以便於統一管理這些韌體碼。
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明的精神和範圍內,當可作些許的更動與潤飾,故本發明的保護範圍當視後附的申請專利範圍所界定者為準。
10‧‧‧主機100‧‧‧USB-C集線器110‧‧‧上行資料連接埠120‧‧‧USB集線器控制電路130‧‧‧記憶體晶片140‧‧‧USB電力傳輸控制電路150‧‧‧記憶體晶片160‧‧‧顯示埠轉換電路170‧‧‧記憶體晶片180‧‧‧下行資料連接埠190‧‧‧高畫質多媒體介面連接器200‧‧‧電子裝置210‧‧‧第一積體電路211‧‧‧第一韌體碼211’‧‧‧新第一韌體碼212‧‧‧第一擬記憶體存取介面213‧‧‧第二擬記憶體存取介面220‧‧‧第二積體電路221‧‧‧第二韌體碼221’‧‧‧新第二韌體碼230‧‧‧第三積體電路231‧‧‧第三韌體碼250‧‧‧非揮發性記憶體251‧‧‧記憶體存取介面252‧‧‧標頭253‧‧‧第一區254‧‧‧第二區260‧‧‧上行資料連接埠270‧‧‧USB類型C埠控制器介面280‧‧‧通用輸入輸出介面S310~S350‧‧‧步驟
圖1繪示一種USB-C集線器的電路方塊(circuit block)示意圖。 圖2是依照本發明的一實施例所繪示一種電子裝置的電路方塊示意圖。 圖3是依照本發明的一實施例的一種電子裝置的操作方法的流程示意圖。 圖4是依照本發明的一實施例說明圖2所示非揮發性記憶體的定址空間示意圖。 圖5是說明圖2所示電子裝置的一個實施例的電路方塊示意圖。
200‧‧‧電子裝置
210‧‧‧第一積體電路
211‧‧‧第一韌體碼
212‧‧‧第一擬記憶體存取介面
220‧‧‧第二積體電路
221‧‧‧第二韌體碼
250‧‧‧非揮發性記憶體
251‧‧‧記憶體存取介面
Claims (22)
- 一種電子裝置,包括:一非揮發性記憶體,具有一記憶體存取介面,用以儲存一第一積體電路的一第一韌體碼與一第二積體電路的一第二韌體碼;該第一積體電路,耦接至該非揮發性記憶體的該記憶體存取介面以讀取該第一韌體碼與該第二韌體碼,以及具有一第一擬記憶體存取介面以虛擬一第一擬記憶體;以及該第二積體電路,耦接至該第一積體電路的該第一擬記憶體存取介面,其中該第二積體電路經由該第一擬記憶體存取介面從該第一積體電路讀取該第二韌體碼,其中該第一積體電路更具有一第二擬記憶體存取介面以虛擬一第二擬記憶體,該非揮發性記憶體更用以儲存一第三積體電路的一第三韌體碼,該第一積體電路還從該非揮發性記憶體讀取該第三韌體碼,而該電子裝置更包括:該第三積體電路,耦接至該第一積體電路的該第二擬記憶體存取介面,其中該第三積體電路經由該第二擬記憶體存取介面從該第一積體電路讀取該第三韌體碼,以及該第三積體電路執行該第三韌體碼,其中該第一積體電路、該第二積體電路以及該第三積體電路分別配置為執行該第一韌體碼、該第二韌體碼以及該第三韌體碼而提供不同的功能。
- 如申請專利範圍第1項所述的電子裝置,其中當該第二積體電路使用一第一讀取位址經由該第一擬記憶體存取介面對該第一擬記憶體進行韌體讀取時,該第一積體電路將該第一讀取位址轉換為一第二讀取位址,該第一積體電路使用該第二讀取位址從該非揮發性記憶體讀取該第二韌體碼,以及該第一積體電路經由該第一擬記憶體存取介面回傳該第二韌體碼給該第二積體電路。
- 如申請專利範圍第1項所述的電子裝置,其中該第三積體電路執行該第三韌體碼而提供一顯示埠轉換功能。
- 如申請專利範圍第1項所述的電子裝置,其中該第一積體電路執行該第一韌體碼而提供一電力傳輸功能,以及該第二積體電路執行該第二韌體碼而提供一集線器功能。
- 如申請專利範圍第1項所述的電子裝置,更包括:一上行資料連接埠,用以連接至一主機,其中該第一積體電路耦接至該上行資料連接埠的一配置通道腳位,以及該第二積體電路耦接至該上行資料連接埠的一資料腳位。
- 如申請專利範圍第5項所述的電子裝置,其中該第一積體電路包括一USB電力傳輸控制電路,該第二積體電路包括一USB集線器控制電路,該USB電力傳輸控制電路與該USB集線器控制電路之間經由一USB類型C埠控制器介面進行資料傳輸。
- 如申請專利範圍第6項所述的電子裝置,其中當該電子裝置運行於一正常操作模式時,該第二積體電路擁 有一控制權以便經由該USB類型C埠控制器介面控制該第一積體電路;當該主機對該電子裝置更新該第二積體電路的該第二韌體碼時,該電子裝置的操作模式從該正常操作模式被切換至一韌體更新模式;以及在該韌體更新模式中,該控制權從該第二積體電路轉移至該第一積體電路,該第一積體電路經由該USB類型C埠控制器介面、該第二積體電路與該上行資料連接埠的該資料腳位從該主機接收一新第二韌體碼,以及該第一積體電路驗證該新第二韌體碼以便更新在該非揮發性記憶體中的該第二韌體碼。
- 如申請專利範圍第7項所述的電子裝置,其中該新第二韌體碼是由一私密金鑰所加密的一經加密韌體碼,所述驗證該新第二韌體碼的操作包括:由該第一積體電路藉由使用該私密金鑰所對應的一公開金鑰對該新第二韌體碼進行一解密操作,而獲得一經解密新第二韌體碼;以及當該解密操作為成功時,由該第一積體電路使用該經解密新第二韌體碼去更新在該非揮發性記憶體中的該第二韌體碼。
- 如申請專利範圍第6項所述的電子裝置,其中當該電子裝置運行於一正常操作模式時,該第二積體電路擁有一控制權以便經由該USB類型C埠控制器介面控制該第一積體電路; 當該主機對該電子裝置更新該第二積體電路的該第二韌體碼時,該電子裝置的操作模式從該正常操作模式被切換至一韌體更新模式;以及在該韌體更新模式中,該控制權從該第二積體電路轉移至該第一積體電路,該第一積體電路經由該USB類型C埠控制器介面、該第二積體電路與該上行資料連接埠的該資料腳位從該主機接收一封包,該封包包含一數位簽名與一新第二韌體碼,以及該第一積體電路驗證該數位簽名以便更新在該非揮發性記憶體中的該第二韌體碼。
- 如申請專利範圍第9項所述的電子裝置,其中該數位簽名包括預先被一私鑰加密過的一組第一哈希數值,所述更新在該非揮發性記憶體中的該第二韌體碼的操作包括:由該第一積體電路將該主機傳過來的該新第二韌體碼經哈希運算產生哈希結果;由該第一積體電路藉由使用一公開金鑰對該數位簽名進行解密,而獲得一組第二哈希數值;由該第一積體電路比對該第二哈希數值是否相同於所述哈希結果,而獲得一比對結果;以及當該比對結果為相同時,由該第一積體電路使用該新第二韌體碼去更新在該非揮發性記憶體中的該第二韌體碼。
- 如申請專利範圍第6項所述的電子裝置,其中當該主機對該電子裝置進行一識別操作時, 該第二積體電路經由該上行資料連接埠的該資料腳位接收該主機所提供的一經加密值,其中該經加密值是該主機使用一公開金鑰對一原值進行加密所產生的;該第一積體電路經由該USB類型C埠控制器介面從該第二積體電路接收該經加密值;該第一積體電路使用一私密金鑰對該經加密值進行一解密操作,而獲得一經解密值;以及該第二積體電路經由該上行資料連接埠的該資料腳位將該經解密值回傳給該主機。
- 一種電子裝置的操作方法,包括:由一非揮發性記憶體儲存一第一積體電路的一第一韌體碼與一第二積體電路的一第二韌體碼;由該第一積體電路從該非揮發性記憶體讀取該第一韌體碼;由該第一積體電路提供一第一擬記憶體存取介面以虛擬一第一擬記憶體;由該第一積體電路從該非揮發性記憶體讀取該第二韌體碼;以及由該第二積體電路經由該第一擬記憶體存取介面從該第一積體電路讀取該第二韌體碼,該操作方法還包括:由該第一積體電路提供一第二擬記憶體存取介面以虛擬一第二擬記憶體; 由該非揮發性記憶體儲存一第三積體電路的一第三韌體碼;由該第一積體電路從該非揮發性記憶體讀取該第三韌體碼;以及由該第三積體電路經由該第二擬記憶體存取介面從該第一積體電路讀取該第三韌體碼,以及由該第三積體電路執行該第三韌體碼,其中該第一積體電路、該第二積體電路以及該第三積體電路分別配置為執行該第一韌體碼、該第二韌體碼以及該第三韌體碼而提供不同的功能。
- 如申請專利範圍第12項所述的操作方法,其中所述從該第一積體電路讀取該第二韌體碼之步驟包括:當該第二積體電路使用一第一讀取位址經由該第一擬記憶體存取介面對該第一擬記憶體進行韌體讀取時,由該第一積體電路將該第一讀取位址轉換為一第二讀取位址;由該第一積體電路使用該第二讀取位址從該非揮發性記憶體讀取該第二韌體碼;以及由該第一積體電路經由該第一擬記憶體存取介面回傳該第二韌體碼給該第二積體電路。
- 如申請專利範圍第12項所述的操作方法,更包括:由該第三積體電路執行該第三韌體碼而提供一顯示埠轉換功能。
- 如申請專利範圍第12項所述的操作方法,更包括: 由該第一積體電路執行該第一韌體碼而提供一電力傳輸功能;以及由該第二積體電路執行該第二韌體碼而提供一集線器功能。
- 如申請專利範圍第12項所述的操作方法,更包括:提供一上行資料連接埠,其中該上行資料連接埠用以連接至一主機,該第一積體電路耦接至該上行資料連接埠的一配置通道腳位,以及該第二積體電路耦接至該上行資料連接埠的一資料腳位。
- 如申請專利範圍第16項所述的操作方法,其中該第一積體電路包括一USB電力傳輸控制電路,該第二積體電路包括一USB集線器控制電路,該USB電力傳輸控制電路與該USB集線器控制電路之間經由一USB類型C埠控制器介面進行資料傳輸。
- 如申請專利範圍第17項所述的操作方法,更包括:當該電子裝置運行於一正常操作模式時,由該第二積體電路擁有一控制權以便經由該USB類型C埠控制器介面控制該第一積體電路;當該主機對該電子裝置更新該第二積體電路的該第二韌體碼時,將該電子裝置的操作模式從該正常操作模式切換至一韌體更新模式;以及在該韌體更新模式中,將該控制權從該第二積體電路轉移至該第一積體電路,由該第一積體電路經由該USB類型C埠控制器介面、該第二積體電路與該上行資料連接埠的該資料腳位從該主 機接收一新第二韌體碼,以及由該第一積體電路驗證該新第二韌體碼以便更新在該非揮發性記憶體中的該第二韌體碼。
- 如申請專利範圍第18項所述的操作方法,其中該新第二韌體碼是由一私密金鑰所加密的一經加密韌體碼,而所述驗證該新第二韌體碼的步驟包括:由該第一積體電路藉由使用該私密金鑰所對應的一公開金鑰對該新第二韌體碼進行一解密操作,而獲得一經解密新第二韌體碼;以及當該解密操作為成功時,由該第一積體電路使用該經解密新第二韌體碼去更新在該非揮發性記憶體中的該第二韌體碼。
- 如申請專利範圍第17項所述的操作方法,更包括:當該電子裝置運行於一正常操作模式時,由該第二積體電路擁有一控制權以便經由該USB類型C埠控制器介面控制該第一積體電路;當該主機對該電子裝置更新該第二積體電路的該第二韌體碼時,將該電子裝置的操作模式從該正常操作模式切換至一韌體更新模式;以及在該韌體更新模式中,將該控制權從該第二積體電路轉移至該第一積體電路,由該第一積體電路經由該USB類型C埠控制器介面、該第二積體電路與該上行資料連接埠的該資料腳位從該主機接收一封包,其中該封包包含一數位簽名與一新第二韌體碼,該第一積體電路驗證該數位簽名以便更新在該非揮發性記憶體中 的該第二韌體碼。
- 如申請專利範圍第20項所述的操作方法,其中該數位簽名包括預先被一私鑰加密過的一組第一哈希數值,所述更新在該非揮發性記憶體中的該第二韌體碼的操作包括:由該第一積體電路將該主機傳過來的該新第二韌體碼經哈希運算產生哈希結果;由該第一積體電路藉由使用一公開金鑰對該數位簽名進行解密,而獲得一組第二哈希數值;由該第一積體電路比對該第二哈希數值是否相同於所述哈希結果,而獲得一比對結果;以及當該比對結果為相同時,由該第一積體電路使用該新第二韌體碼去更新在該非揮發性記憶體中的該第二韌體碼。
- 如申請專利範圍第17項所述的操作方法,更包括:由該主機對該電子裝置進行一識別操作,其中當該主機對該電子裝置進行該識別操作時,由該第二積體電路經由該上行資料連接埠接收該主機所提供的一經加密值,其中該經加密值是該主機使用一公開金鑰對一原值進行加密所產生的;由該第一積體電路經由該USB類型C埠控制器介面從該第二積體電路接收該經加密值;由該第一積體電路使用一私密金鑰對該經加密值進行一解密操作,而獲得一經解密值;以及 由該第二積體電路經由該上行資料連接埠的該資料腳位將該經解密值回傳給該主機。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201762449140P | 2017-01-23 | 2017-01-23 | |
US62/449,140 | 2017-01-23 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201830240A TW201830240A (zh) | 2018-08-16 |
TWI705374B true TWI705374B (zh) | 2020-09-21 |
Family
ID=62668569
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW107102154A TWI705374B (zh) | 2017-01-23 | 2018-01-22 | 電子裝置及其操作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10977057B2 (zh) |
CN (1) | CN108227613B (zh) |
TW (1) | TWI705374B (zh) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11061845B2 (en) * | 2017-02-03 | 2021-07-13 | Hewlett-Packard Development Company, L.P. | Input/output hub |
US11231448B2 (en) | 2017-07-20 | 2022-01-25 | Targus International Llc | Systems, methods and devices for remote power management and discovery |
CN109375958A (zh) * | 2018-09-20 | 2019-02-22 | 锐捷网络股份有限公司 | 一种固件加载方法及电路板 |
JP2020154540A (ja) * | 2019-03-19 | 2020-09-24 | キオクシア株式会社 | メモリシステム及び制御システム |
TWI707236B (zh) * | 2019-05-31 | 2020-10-11 | 佳世達科技股份有限公司 | 模式切換系統及應用其之模式切換方法 |
CA3148974A1 (en) | 2019-08-22 | 2021-02-25 | Targus International Llc | Systems and methods for participant-controlled video conferencing |
CN113094060A (zh) * | 2019-12-23 | 2021-07-09 | 瑞昱半导体股份有限公司 | 电子装置与软体更新方法 |
WO2022010470A1 (en) * | 2020-07-08 | 2022-01-13 | Hewlett-Packard Development Company, L.P. | Device firmware descriptors |
US20230229749A1 (en) * | 2020-07-10 | 2023-07-20 | Hewlett-Packard Development Company, L.P. | Computing device unlock codes |
CN113971146A (zh) * | 2020-07-22 | 2022-01-25 | 旺玖科技股份有限公司 | 具自动更新固件功能的usb集线装置及具有该usb集线装置的主机系统 |
TWI749658B (zh) * | 2020-07-22 | 2021-12-11 | 旺玖科技股份有限公司 | 具自動更新韌體功能的usb集線裝置及具有該usb集線裝置的主機系統 |
CN112162770B (zh) * | 2020-10-20 | 2023-11-10 | 深圳技术大学 | 基于区块链实现完整性验证的固件版本升级方法及装置 |
TWI784500B (zh) * | 2021-04-28 | 2022-11-21 | 威鋒電子股份有限公司 | 電子裝置及其安全韌體更新方法 |
US11645012B1 (en) * | 2022-01-18 | 2023-05-09 | Dell Products, L.P. | Method and apparatus for distributing read operations between emulations in a storage engine |
US20240028202A1 (en) * | 2022-07-20 | 2024-01-25 | Dell Products, L.P. | Optimizing Backend Workload Processing in a Storage System |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103383676A (zh) * | 2012-07-13 | 2013-11-06 | 威盛电子股份有限公司 | 集线器装置以及用以初始化集线器装置的方法 |
Family Cites Families (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3859063B2 (ja) | 2002-01-11 | 2006-12-20 | 株式会社日立製作所 | 仮想計算機の構成情報アクセス制御方法 |
JP2004110367A (ja) * | 2002-09-18 | 2004-04-08 | Hitachi Ltd | 記憶装置システムの制御方法、記憶制御装置、および記憶装置システム |
US20050021968A1 (en) * | 2003-06-25 | 2005-01-27 | Zimmer Vincent J. | Method for performing a trusted firmware/bios update |
CN100524188C (zh) * | 2004-04-22 | 2009-08-05 | 钟巨航 | 对外存储器在接口转换中进行虚拟分隔的装置 |
JP4982971B2 (ja) | 2004-09-29 | 2012-07-25 | ソニー株式会社 | 情報処理装置、プロセス制御方法、並びにコンピュータ・プログラム |
CN100414908C (zh) | 2005-11-22 | 2008-08-27 | 华中科技大学 | 一种支持虚拟接口的存储网络适配器 |
US7716411B2 (en) | 2006-06-07 | 2010-05-11 | Microsoft Corporation | Hybrid memory device with single interface |
KR100860753B1 (ko) | 2007-01-03 | 2008-09-29 | 삼성전자주식회사 | 펌웨어 업그레이드를 위한 장치 및 방법 |
US20080306723A1 (en) * | 2007-06-08 | 2008-12-11 | Luca De Ambroggi | Emulated Combination Memory Device |
CN101242395A (zh) * | 2008-02-19 | 2008-08-13 | 深圳华为通信技术有限公司 | 一种数据传输的方法及usb接口 |
CN101290601B (zh) | 2008-06-10 | 2010-06-09 | 威盛电子股份有限公司 | 外围设备控制电路、计算机系统及加载固件的方法 |
CN101350218B (zh) * | 2008-07-31 | 2010-07-07 | 北京炬力北方微电子有限公司 | 一种虚拟多端口存储器及其存储和读取数据的方法 |
CN101510245B (zh) | 2009-03-06 | 2011-08-03 | 同方股份有限公司 | 高速加解密usb桥接芯片以及芯片高速加解密方法 |
JP5661041B2 (ja) | 2009-10-08 | 2015-01-28 | レノボ・イノベーションズ・リミテッド(香港) | 携帯端末機器及び電源供給システム並びに携帯端末機器への電源供給方法及び電源供給プログラム |
EP2513781A4 (en) | 2009-12-18 | 2013-11-20 | Hewlett Packard Development Co | METHODS AND APPARATUS FOR UPDATING A COMPONENT FIRMWARE USING A FIRMWARE UPDATE APPLICATION |
CN102255376A (zh) | 2010-05-20 | 2011-11-23 | 系统电子工业股份有限公司 | 结合集线器功能的移动式备用电源装置及其使用方法 |
US8058897B1 (en) * | 2010-06-28 | 2011-11-15 | Xilinx, Inc. | Configuration of a multi-die integrated circuit |
EP2602722B1 (en) | 2011-12-07 | 2020-04-08 | VIA Technologies, Inc. | USB charging module |
WO2013095578A1 (en) | 2011-12-22 | 2013-06-27 | Intel Corporation | Systems, apparatuses, and methods for mapping a source operand to a different range |
US9917800B2 (en) * | 2012-08-24 | 2018-03-13 | Cisco Technology, Inc. | System and method for centralized virtual interface card driver logging in a network environment |
TWI599958B (zh) | 2012-12-12 | 2017-09-21 | 鋐寶科技股份有限公司 | 用於多處理器之韌體更新方法及系統 |
JP5949977B1 (ja) | 2015-02-19 | 2016-07-13 | 日本電気株式会社 | 情報処理装置、情報処理方法、メインプロセッサコア、プログラム、情報処理方法、サブプロセッサコア |
US20160306616A1 (en) * | 2015-04-20 | 2016-10-20 | Microsoft Technology Licensing, Llc | Firmware update by usb cc |
WO2016175847A1 (en) | 2015-04-30 | 2016-11-03 | Hewlett Packard Enterprise Development Lp | Peripheral device server access |
CN204538401U (zh) | 2015-04-30 | 2015-08-05 | 周润泽 | 一种集线器 |
-
2018
- 2018-01-22 US US15/876,205 patent/US10977057B2/en active Active
- 2018-01-22 TW TW107102154A patent/TWI705374B/zh active
- 2018-01-23 CN CN201810062682.7A patent/CN108227613B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103383676A (zh) * | 2012-07-13 | 2013-11-06 | 威盛电子股份有限公司 | 集线器装置以及用以初始化集线器装置的方法 |
Also Published As
Publication number | Publication date |
---|---|
US10977057B2 (en) | 2021-04-13 |
CN108227613A (zh) | 2018-06-29 |
US20180210744A1 (en) | 2018-07-26 |
TW201830240A (zh) | 2018-08-16 |
CN108227613B (zh) | 2020-06-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI705374B (zh) | 電子裝置及其操作方法 | |
US11755527B2 (en) | Techniques for command validation for access to a storage device by a remote client | |
CN108701191B (zh) | 数据处理设备和验证数据处理设备的完整性的方法 | |
JP6333993B2 (ja) | ハードウェアプラットフォームのためのファームウェアのインシステムプロビジョニング | |
TWI632483B (zh) | 安全裝置及在其內提供安全服務至主機的方法、安全設備以及電腦軟體產品 | |
US9152825B2 (en) | Using storage controller bus interfaces to secure data transfer between storage devices and hosts | |
US9678760B2 (en) | Memory card and storage system having authentication program and method for operating thereof | |
KR20150143708A (ko) | 스토리지 디바이스 보조 인라인 암호화 및 암호해독 | |
US20180225062A1 (en) | Method of operating data storage device | |
US11038749B2 (en) | Memory resource allocation in an end-point device | |
CN104541280A (zh) | 用于利用非易失性存储器装置的备选引导路径支持 | |
JP2015191670A (ja) | ストレージシステム、それへの書込み防止遂行方法、及びそれへの書込み防止認証方法 | |
US11294846B2 (en) | System, apparatus and method for secure communication on a bus | |
US11902422B2 (en) | Systems, methods, and devices for key per input/output security | |
KR20200131035A (ko) | 블록체인에 저장된 푸시 메시지를 수신하는 전자 장치 및 방법 | |
RU2602336C2 (ru) | Установление взаимного физического местоположения защищенных сред выполнения | |
WO2020206879A1 (zh) | Pcie宽度自动适配方法、装置及电子设备和存储介质 | |
CN113449349A (zh) | 平台安全机制 | |
US9425964B2 (en) | Display device with mobile high-definition link port and signal processing method thereof | |
TWI784500B (zh) | 電子裝置及其安全韌體更新方法 | |
TWM616016U (zh) | 電子裝置 | |
US20230153441A1 (en) | Storage device and operating method of storage device | |
EP4184359A1 (en) | Storage device and operating method of storage device | |
WO2023185230A1 (zh) | 数据处理方法和装置 | |
KR20230032429A (ko) | 메모리 장치 및 메모리 장치의 데이터 암복호화 방법 |