TWI740158B - 伺服器系統、集中式快閃記憶體模組以及更新快閃韌體映像檔的方法 - Google Patents
伺服器系統、集中式快閃記憶體模組以及更新快閃韌體映像檔的方法 Download PDFInfo
- Publication number
- TWI740158B TWI740158B TW108120970A TW108120970A TWI740158B TW I740158 B TWI740158 B TW I740158B TW 108120970 A TW108120970 A TW 108120970A TW 108120970 A TW108120970 A TW 108120970A TW I740158 B TWI740158 B TW I740158B
- Authority
- TW
- Taiwan
- Prior art keywords
- flash memory
- flash
- centralized
- memory module
- server
- Prior art date
Links
Images
Classifications
-
- 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/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- 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
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1438—Restarting or rejuvenating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1464—Management of the backup or restore process for networked environments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0632—Configuration or reconfiguration of storage systems by initialisation or re-initialisation of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0634—Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0635—Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0688—Non-volatile semiconductor memory arrays
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
- G06F8/63—Image based installation; Cloning; Build to order
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Stored Programmes (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Memory System (AREA)
Abstract
本揭露提供一種集中式快閃記憶體模組。集中式快閃記憶體模組包括快閃記憶體組件、快閃記憶體管理控制器(FMMC)以及複合可程式邏輯裝置(CPLD)。每個快閃記憶體組件連接至與集中式快閃記憶體模組分隔的伺服器裝置。快閃記憶體管理控制器被配置以連接至快閃記憶體組件,以及連接至與集中式快閃記憶體模組分隔的機架管理裝置。複合可程式邏輯裝置被配置以將快閃記憶體管理控制器連接至快閃記憶體組件,以及將伺服器裝置連接至快閃記憶體組件。
Description
本揭露係有關於一種位於一機架伺服器系統中的快閃記憶體儲存系統,特別係有關於集中式快閃記憶體模組,以及啟動及韌體更新、復原和備份的相關方法。
當一個伺服器電源重啟(power cycled)時,中央處理單元(CPU)所採取的第一個動作是發送一個訊息以啟動(activate)基本輸出入系統(Basic Input and Output System, BIOS)。BIOS接著運行一系列被稱為POST(Power On Self-Test, 開機自我檢測)的測試,以驗證系統裝置是否正常運作。BIOS會啟用使伺服器運作的基本功能。若BIOS損壞,則CPU會無法運行。然而,典型的BIOS可在其損壞的情況下復原有效的BIOS映像檔(image)。這是藉由儲存在具備非系統內可複寫(not in-system writable)的快閃記憶體中的復原程式(recovery program)來達成的。如此可確保復原程式不會損壞。復原程式通常為簡單的編碼,具有初始化最小系統硬體的能力,以自隨身碟(flash drive)或其他可移動媒體中擷取新的編碼映像檔。諸如基板管理控制器(baseboard management controller)或記憶體交換器控制器(memory switch controller)之其他控制器的韌體亦須要此等電源重啟及復原功能。
本揭露實施例提供一種集中式快閃記憶體模組(Centralized flash memory module)。上述集中式快閃記憶體模組包括快閃記憶體組件(flash memory component)、快閃記憶體管理控制器(flash memory management controller, FMMC)、以及複合可程式邏輯裝置(complex programmable logic device, CPLD)。每個快閃記憶體組件連接至一個伺服器裝置(server device)。上述伺服器裝置與集中式快閃記憶體模組有所分隔。快閃記憶體管理控制器被配置以連接至快閃記憶體組件,以及連接至機架管理裝置(rack management device)。機架管理裝置亦與集中式快閃記憶體模組有所分隔。複合可程式邏輯裝置被配置以將快閃記憶體管理控制器連接至快閃記憶體組件。複合可程式邏輯裝置亦被配置以將伺服器裝置接至快閃記憶體組件。
在一些實施例中,集中式快閃記憶體模組亦可包括非揮發性儲存裝置(non-volatile storage device),其中非揮發性儲存裝置被配置來儲存路徑表(routing table)。路徑表可包括快閃記憶體組件及伺服器裝置的拓撲(topology)。快閃記憶體管理控制器可被配置以將路徑表發送至機架管理裝置。在一些實施例中,每個快閃記憶體組件包括複本映像檔(golden image)以供復原(recovery)用途。
本揭露實施例提供一種伺服器系統。上述伺服器系統包括內藏複數伺服器裝置的機架裝置、裝設於機架裝置中的機架管理裝置、以及連接至每個伺服器裝置的集中式快閃記憶體模組。如上所述,集中式快閃記憶體模組包括快閃記憶體組件、快閃記憶體管理控制器(FMMC)、以及複合可程式邏輯裝置(CPLD)。
在一些實施例中,集中式快閃記憶體模組位於機架裝置中。在替代性的實施例中,集中式快閃記憶體模組位於基於雲端的伺服器裝置(cloud based server device)中。每個快閃記憶體組件可包括複本映像檔以供二或多個機架裝置的復原用途。
本揭露實施例亦提供一種伺服器系統。上述伺服器系統包括內藏複數伺服器裝置的機架裝置;裝設於機架裝置中的機架管理裝置;連接至每個伺服器裝置的集中式快閃記憶體模組;快閃記憶體管理控制器(FMMC);以及複合可程式邏輯裝置(CPLD)。集中式快閃記憶體模組可包括快閃記憶體組件。每個快閃記憶體組件皆連接至伺服器裝置。快閃記憶體管理控制器被配置以連接至快閃記憶體組件,以及連接至機架管理裝置。機架管理裝置與集中式快閃記憶體模組有所分隔。複合可程式邏輯裝置被配置以將快閃記憶體管理控制器連接至快閃記憶體組件,並將伺服器裝置連接至快閃記憶體組件。在一些實施例中,集中式快閃記憶體模組位於基於雲端的伺服器裝置中。
本揭露實施例亦提供一種方法,用於更新快閃記憶體組件之快閃韌體映像檔(flash firmware image)。上述方法包括驗證(validate)快閃韌體映像檔,以及更新快閃記憶體組件以用驗證過的快閃韌體映像檔取代第一快閃韌體映像檔。快閃記憶體組件裝設於集中式快閃記憶體模組中。在判斷第一更新成功後,立即更新快閃記憶體組件以用驗證過的快閃韌體映像檔取代第二快閃韌體映像檔。第二快閃韌體映像檔與黃金快閃映像檔有所聯繫。上述方法亦包括使用快閃記憶體管理控制器以識別成功取代掉第二快閃韌體映像檔的快閃記憶體組件。上述方法更包括電源開啟連接到快閃記憶體組件的伺服器裝置。
本揭露實施例亦提供一種方法,用於啟動一快閃記憶體組件之快閃韌體映像檔。上述方法包括無效化(invalidate)上述快閃記憶體組件之快閃韌體映像檔。上述快閃記憶體組件與眾快閃記憶體組件一起,裝設於集中式快閃記憶體模組中。上述方法包括使用儲存於第二快閃記憶體組件中的黃金快閃映像檔,以執行快閃韌體映像檔的復原。上述方法亦包括接收來自快閃記憶體管理控制器的命令,以電源重啟連接至上述快閃記憶體組件的伺服器裝置。伺服器裝置被電源重啟。
本揭露之其他特徵及優點將於下列敘述中闡明,且將於說明中變得顯而易見,或者可以透過本揭露之原理而了解。本揭露之特徵及優點可藉由所附申請專利範圍特別指出之手段與組合來實現及獲得。根據下列描述及所附申請專利範圍,本揭露的這些及其他特徵將完全變得顯而易見,或是可藉由實踐本文所闡述之原理而習得。
本揭露之描述係參考附圖,其中所有的附圖使用相同之附圖標記來表示相似或相等之元件。附圖並未依比例繪製,且僅用於說明本揭露。下列參考用於說明之範例性應用以描述本揭露之若干樣態。須理解的是,許多具體細節、關係及方法被提出以提供對本揭露之通盤理解。然而,於相關技術領域具有通常知識者將輕易認知到本揭露可在沒有一或多個具體細節下或以其他方法完成。在其他實例中,公知結構或操作並未詳述以免模糊本揭露。本揭露並不限於所示之動作或事件之順序,因為一些動作可以不同之順序發生及/或與其他動作或事件同時發生。此外,並非所有出示之動作或事件皆為實施根據本揭露之方法所必需的。
第1圖出示傳統的伺服器系統,一如於先前技術中眾所周知的。伺服器系統100可包括容納於機架裝置10中的伺服器裝置15。每個伺服器裝置15通常包括快閃記憶體管理控制器(FMMC)30以及複數快閃記憶體組件(flash memory component)或快閃裝置(flash device)20。快閃裝置20通常裝置於主機板(motherboard)16上。快閃裝置20通常並未與機架管理裝置40連接。對大多數直接與機架管理裝置40接觸(interface)的技術人員而言,執行快閃裝置20的復原成為一項挑戰,如下所述。
為了更換故障的快閃裝置20,技術人員必須打開伺服器裝置15的機箱(chassis),並親手更換快閃裝置20。為了減輕可能要在具有數以千計之機架裝置10的資料中心(data center)中親手更換無數快閃裝置20的負擔,額外或第二快閃裝置20通常裝設於相同的伺服器裝置15中。因此,一旦第一快閃裝置20損壞,第二之快閃裝置20可被啟動(activate)以復原(recover)損壞的裝置。換句話說,技術人員必須在報廢(scrap)快閃裝置20之前手動抹除(erase)所有韌體及移除晶片資訊,以防止洩漏任何可能的敏感資訊。
每個伺服器裝置15都被保護以確保只有被授權的使用者正在存取裝置內的內容。常見之保護快閃裝置20的做法為依靠統一可延伸韌體介面(Unified Extensible Firmware Interface, UEFI)的安全啟動(secure boot)或安全性地更新軟體(secure flash)以建立信賴鏈(trust chain)。此外,亦可為每個伺服器裝置15實施特定應用積體電路Application-Specific Integrated Circuit, ASIC),以監視快閃裝置20的活動,並在執行讀、寫或執行命令前認證(authenticate)存取。換句話說,為了在當前信賴鏈上實施進階安全性,需實施另一個ASIC以監視快閃裝置20的活動,或在允許下一個動作之前比較伺服器裝置15中兩個快閃裝置20的內容。
本實施例為與伺服器系統100有關的繁瑣過程提供獨特的解決方案。第2圖所示係根據本揭露實施例之範例性的伺服器系統200。
如第2圖所示,設置於機架裝置10之每個伺服器裝置15的快閃裝置220被裝設在集中式快閃記憶體模組250(centralized flash memory module,CFMM 250)上。一快閃記憶體管理控制器230(flash memory management controller,FMMC 230)亦可被裝設於CFMM 250上。每個快閃裝置220藉由連結(connection)221連接至伺服器裝置15。於此實施例中,可以在中心位置(central location)修復故障的快閃裝置(亦即,可在CFMM 250上統一修復故障的快閃裝置)。此外,因為快閃裝置220不再位於主機板16上,所以主機板可被直接報廢而無須額外的安全措施。CFMM 250中的每個快閃裝置220被設計為可重複用於機架裝置10中的其他伺服器裝置15。需要單一FMMC 230以管理所有的快閃裝置220。此外,每個功能性(functioning)快閃裝置220可被理解為用於故障快閃裝置的複本映像檔(golden image,未圖示),如此一來,可以解決每個伺服器裝置15中之雙重快閃裝置的需求(上述提及之第一快閃裝置以及第二快閃裝置)。
在一些實施例中,CFMM 250可被實施為近似於機架裝置10中之網路交換器(network switch)的機盒(box)。此外,CFMM 250可被實施為用於一或多個伺服器裝置15的熱插拔(hot-plug)模組。傳送介面(transfer interface)可包括纜線(cable)或無線連結以連接至FMMC 230。因此,FMMC 230可在認可(endorsing)快閃裝置220為可開機(bootable)或可寫(writable)之前,執行復原及安全認證。
在所揭露的實施例中,快閃裝置220並未佔據伺服器裝置15之主機板16上的空間。取而代之的是,快閃裝置220藉由纜線、連接器或無線連結221的方式連接至伺服器裝置15。此外,每個伺服器裝置15不再需要雙重快閃裝置以用於自動復原的用途。
第3圖所示係根據本揭露實施例,伺服器系統200中之CFMM 250的拓撲。應理解的是,上述拓撲所指係伺服器裝置之間連結的映射(mapping)。可以僅藉由FMMC 230來配置快閃裝置220及每個伺服器裝置15的拓撲。或者,可在CFMM 250中實施諸如複合可程式邏輯裝置235(CPLD 235)之輔助(auxiliary)裝置以管理拓撲,如本文所示。路徑表(未圖示)可被儲存於非揮發性儲存裝置(未圖示)中,以管理跨電源循環(across power cycles)的拓撲。
若快閃裝置220及每個伺服器裝置15的拓撲改變了,則路徑表可被發送至機架管理裝置40。機架管理裝置40可控制伺服器裝置15的電源狀態。機架管理裝置40亦可參考路徑表以判斷哪個伺服器裝置15為連線/離線(online/offline)以及任何相關的錯誤訊息。因此,機架管理裝置40可向技術人員提供指示器(例如:快閃記憶體離線)以進行維修。
在一些實施例中,CFMM 250可裝置於機架裝置10中,以服務(service)機架裝置10中的所有伺服器裝置15。在替代實施例中,CFMM 250的位置可遠離機架裝置10,以服務資料中心中的複數機架裝置10。CFMM 250上的單一快閃裝置220可被實施為複本映像檔225。或者,FMMC 230可自任何伺服器裝置15複製複本映像檔,並更新CFMM 250上故障的快閃裝置220。
第4圖係根據本揭露實施例所示,範例性之伺服器系統300中CFMM的範例性位置。CFMM 350’相對於機架裝置10可為區域的(local)(區域CFMM)。或者,CFMM 350相對於機架裝置10可為虛擬的(virtual)(遠程CFMM)。在實施虛擬CFMM 350的情況下, 方塊275可包含第3圖的區域CPLD 235以及FMMC 230以代表CFMM 250部屬韌體映像檔。在一些實施例中,方塊275可無線連接至基於雲端之主機伺服器351中的CFMM 350。或者,CFMM 350可被配置為基於雲端之主機伺服器。虛擬CFMM 350及區域CFMM 350’中的資料可藉由方塊275共享及管理。藉由這種方式,若區域CFMM 350’就足以滿足需求,則伺服器系統300可在沒有虛擬CFMM 350的情況下啟動。
在一些實施例中,虛擬CFMM 350並不限於單一機架裝置10。只要安裝於機架裝置10上的伺服器裝置15運行相同的韌體,虛擬CFMM 350就可以路由(route)至任何機架裝置10。此外,複本映像檔225亦可共享至所有機架裝置10及它們運行相同韌體映像檔的伺服器裝置15。
第5圖係根據本揭露實施例所示,韌體更新、備份及復原之程序500的流程圖。本文所示之程序500將參考第2圖及第3圖之伺服器系統200的組件進行詳述。在步驟501中,CFMM 250中的所有韌體可透過FMMC 230進行更新。在步驟502中,一個公開金鑰(public key)可被實施以驗證新的韌體映像檔是否有效(valid)。若新的韌體映像檔為有效,則程序500進入步驟505。而若新的韌體映像檔為無效,則程序500進入步驟504。在步驟504中,FMMC 230將會記錄(log)「快閃映像檔無效」,並退出更新的程序500。而在步驟505中,更新程序將繼續進行。
在步驟505中,n個快閃裝置中除了備用(spare)快閃裝置外,其餘(n-1)個快閃裝置首先被更新。備用快閃裝置(先前於拓撲中指定的)被保留作為複本映像檔以供復原用途。在步驟506中,被更新的快閃裝置連接至FMMC 230。在步驟507中,與被更新的快閃裝置相關聯的伺服器裝置15準備進行電源重啟(power-cycled);這些伺服器裝置15被報告給FMMC 230。在步驟508中,這些伺服器裝置15進行電源重啟。在步驟509中,韌體被啟動至作業系統(Operating System, OS)。在步驟510中,FMMC 230計算並記錄新的韌體的通過率(pass rate)。在步驟511中,FMMC 230判斷通過率高於或低於預定的準則(criterion)。
若在步驟511中的通過率低於預定的準則,則在步驟513中,FMCC 230將會記錄「快閃更新失敗」以拒絕新的韌體。在步驟515中,FMCC 230將自動回復(revert)到原始韌體。若在步驟511中的通過率滿足預定的準則,則在步驟512中,剩餘的快閃裝置將被更新並重新啟動。在步驟514中,FMMC 230將記錄「快閃更新成功」。更新完成於步驟516。
第6圖係根據本揭露實施例所示,啟動伺服器系統中之伺服器裝置之程序600的流程圖。本文所示之程序600將參考第2圖及第3圖之伺服器系統200的組件進行詳述。
程序600始於步驟601。在步驟602中,快閃裝置220在連接至對應的伺服器裝置15之前,可先由FMMC 230認證及認可(authenticated and endorsed)。快閃裝置220亦電源開啟(power on)。為了建立信賴根(root of trust),FMMC 230在其他伺服器裝置15啟動前先行啟動。相同的公開金鑰被實施以計算雜湊簽章(hash signature)。在步驟603中,將該雜湊簽章與快閃裝置220中的每個雜湊簽章進行比較,以確認該雜湊簽章是否有效。若該雜湊簽章為有效,則程序600進入步驟605。若該雜湊簽章為無效,則程序600進入步驟604。在步驟605中,使用FMMC 230將快閃裝置220連接至伺服器裝置15。在步驟608中FMMC 230被通知哪個伺服器裝置15準備進行電源重啟。在步驟609中,伺服器裝置15進行電源重啟。啟動完成於步驟610。
若該雜湊簽章對於快閃裝置220為無效,則在步驟604中,FMMC 230將記錄事件「快閃記憶體無效」並開啟指示器。暫時參考第7A圖,CFMM 701可包括與每個快閃裝置相關聯的指示器。在一些實施例中,指示器可包括LED裝置。可利用LED裝置的不同顏色向前來維修CFMM 701的技術人員指示狀態。舉例來說,可用綠燈指出快閃裝置為連線。可用閃爍的綠燈指出快閃裝置正在更新。可用閃爍的琥珀燈指出快閃裝置處於復原模式,並用琥珀燈指出快閃裝置岀現故障(不可恢復(unrecoverable))。
回來參照第6圖,在步驟606中,快閃裝置220被復原到與其他快閃裝置映像檔相同。在步驟607中,FMMC 230將記錄事件「復原快閃記憶體」並關閉指示器。一旦復原程序完成,快閃裝置220就連接至伺服器裝置15並進行電源重啟。
第7B圖所示係根據本揭露實施例之用於伺服器系統中單一伺服器裝置15的除錯工具。在新產品導入階段(new product introduction, NPI),技術人員通常會執行除錯或產品功能開發。具有快閃裝置220的模組化裝置700可被實施以為伺服器裝置15進行除錯,其中因為快閃裝置220已被移動到CFMM(集中式快閃記憶體模組),因此需要離線電源或修復。為了對伺服器裝置15進行除錯或修復,單一快閃裝置220耦接到模組化裝置700並連接至主機板16。模組化裝置700實施一通信連接以連接快閃裝置220及伺服器裝置15以使伺服器裝置15啟動。
儘管已出示及描述本揭露特定實施例,但對所屬技術領域具有通常知識者而言,在不脫離本揭露之更廣泛觀點的情況下,對本揭露進行改變或修改係屬顯而易見。因此,所附申請專利範圍之目的為涵蓋所有落入本揭露之實際精神與範圍的這些改變及修改。在前文的描述及附圖中所闡述的內容僅作為說明之目的,而非用作本揭露的限制。當基於現有技術以適當之觀點觀察時,本揭露之實際範圍旨在由下列申請專利範圍定義。
本文所用之術語僅用於描述特定範例,而非旨於限制本發明。如此處所用的,單數型式「一」「一個」及「該」亦旨於包括複數型式,除非上下文另有明確說明。此外,在詳細說明及/或請求項中使用術語「包括」、「包含」、「具有」、「有」、「擁有」或其變體的範圍,這些術語旨在以近似於術語「包括」之方式包含。
除非另有定義,否則本文所用之所有術語(包括技術及科學術語)具有與於本揭露所屬技術領域中具有通常知識者通常理解之含義相同之含義。此外,諸如於那些常用字典中定義之術語應被解釋為具有與其在相關領域之上下文中之含義一致的含義,且除非於本文中明確地如此定義,否則將不被理解為理想化或過於正式之含義。
100:伺服器系統
10:機架裝置
15:伺服器裝置
16:主機板
20:快閃裝置
30:快閃記憶體管理控制器
40:機架管理裝置
200:伺服器系統
220:快閃裝置
221:連結
230:快閃記憶體管理控制器
250:集中式快閃記憶體模組
225:複本映像檔
235:複合可程式邏輯裝置
300:伺服器系統
275:方塊
350:集中式快閃記憶體模組
350’:集中式快閃記憶體模組
351:主機伺服器
500:程序
501-516:步驟
600:程序
601-610:步驟
700:模組化裝置
701:集中式快閃記憶體模組
為了描述上述揭露之方法及使其優點及特徵可被獲得之目的,將藉由參考附圖所示之特定範例以為上述原理提供更加具體的描述。這些附圖僅描繪本揭露之範例層面,故不應被視作對本揭露範圍的限制。藉由運用下列附圖,這些原理的描述及解釋具有額外的具體性以及細節。 第1圖出示傳統的伺服器系統,一如於先前技術中眾所周知的。 第2圖所示係根據本揭露實施例之範例性之伺服器系統。 第3圖所示係根據本揭露實施例之集中式快閃記憶體模組。 第4圖所示係根據本揭露實施例,集中式快閃記憶體模組於範例性之伺服器系統中的範例性位置。 第5圖係根據本揭露實施例所示,韌體更新、備份及復原之過程的流程圖。 第6圖係根據本揭露實施例所示,啟動伺服器系統中之伺服器裝置之過程的流程圖。 第7A圖所示係根據本揭露實施例之集中式快閃記憶體模組的視覺指示器(visual indicator)。 第7B圖所示係根據本揭露實施例之用於伺服器系統中單一伺服器裝置的除錯工具(debug tool)。
10:機架裝置
15:伺服器裝置
40:機架管理裝置
200:伺服器系統
220:快閃裝置
230:快閃記憶體管理控制器
250:集中式快閃記憶體模組
225:複本映像檔
235:複合可程式邏輯裝置
Claims (10)
- 一種集中式快閃記憶體模組,包括:二或多個快閃記憶體組件;一快閃記憶體管理控制器(FMMC),連接一機架管理裝置,其中上述機架管理裝置與上述集中式快閃記憶體模組分隔;以及一複合可程式邏輯裝置(CPLD),被配置以將上述快閃記憶體管理控制器連接至上述二或多個快閃記憶體組件,並依據一路徑表將上述二或多個快閃記憶體組件連接到至少一個伺服器裝置,其中上述至少一個伺服器裝置與上述集中式快閃記憶體模組分隔。
- 如申請專利範圍第1項所述之集中式快閃記憶體模組,更包括一非揮發性儲存裝置,上述非揮發性儲存裝置被配置以儲存上述路徑表,其中上述路徑表包括上述二或多個快閃記憶體組件以及上述至少一個伺服器裝置的一拓撲。
- 如申請專利範圍第2項所述之集中式快閃記憶體模組,其中上述快閃記憶體管理控制器被配置以將上述路徑表發送至上述機架管理裝置。
- 如申請專利範圍第3項所述之集中式快閃記憶體模組,其中每個上述二或多個快閃記憶體組件都包括一複本映像檔以供復原用途。
- 一種伺服器系統,包括:至少一個機架裝置,內藏複數伺服器裝置; 一機架管理裝置,裝設於上述至少一個機架裝置中;以及至少一個集中式快閃記憶體模組,連接至每個上述複數伺服器裝置,上述集中式快閃記憶體模組包括:二或多個快閃記憶體組件;一快閃記憶體管理控制器(FMMC),連接上述機架管理裝置,其中上述機架管理裝置與上述集中式快閃記憶體模組分隔;以及一複合可程式邏輯裝置(CPLD),被配置以將上述快閃記憶體管理控制器連接至上述二或多個快閃記憶體組件,並依據一路徑表將上述二或多個快閃記憶體組件連接到至少一個上述伺服器裝置,其中上述伺服器裝置與上述集中式快閃記憶體模組分隔。
- 如申請專利範圍第5項所述之伺服器系統,其中上述集中式快閃記憶體模組位於上述至少一個機架裝置中。
- 如申請專利範圍第5項所述之伺服器系統,其中上述集中式快閃記憶體模組更包括一非揮發性儲存裝置,上述非揮發性儲存裝置被配置以儲存一路徑表,其中上述路徑表包括上述二或多個快閃記憶體組件以及上述至少一個伺服器裝置的一拓撲,且上述快閃記憶體管理控制器被配置以將上述路徑表發送至上述機架管理裝置。
- 如申請專利範圍第5項所述之伺服器系統,其中每個上述二或多個快閃記憶體組件都包括一複本映像檔以供復原用途。
- 如申請專利範圍第5項所述之伺服器系統,其中:上述集中式快閃記憶體模組位於一基於雲端的伺服器裝置;以及上述二或多個快閃記憶體組件中的至少一個,包括一複本映像檔以供上述至少一個機架裝置中的二或多個的復原用途。
- 一種更新一快閃韌體映像檔的方法,用於更新二或多個快閃記憶體組件的快閃韌體映像檔,上述方法包括:驗證上述快閃韌體映像檔;執行一第一更新,更新上述二或多個快閃記憶體組件以用驗證過的上述快閃韌體映像檔取代一第一快閃韌體映像檔,其中上述二或多個快閃記憶體組件裝設於一集中式快閃記憶體模組中;在判斷上述第一更新成功後,立即更新上述二或多個快閃記憶體組件,以用驗證過的上述快閃韌體映像檔取代一第二快閃韌體映像檔,其中上述第二快閃韌體映像檔與一複本快閃映像檔有關;使用上述集中式快閃記憶體模組中的一快閃記憶體管理控制器,以識別上述二或多個快閃記憶體組件中的至少一個成功取代掉了上述第二快閃韌體映像檔,其中上述快閃記憶體管理控制器連接至一機架管理裝置,且上述機架管理裝置與上述集中式快閃記憶體模組分隔;以及 電源開啟至少一個伺服器裝置,上述伺服器裝置連接至裝設於上述集中式快閃記憶體模組中的上述二或多個快閃記憶體組件中的至少一個,其中上述至少一個伺服器裝置藉由上述集中式快閃記憶體模組中的一複合可程式邏輯裝置(CPLD)依據一路徑表連接至上述二或多個快閃記憶體組件,且上述複合可程式邏輯裝置將上述快閃記憶體管理控制器連接至上述二或多個快閃記憶體組件,其中上述伺服器裝置與上述集中式快閃記憶體模組分隔。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/352,454 US10922071B2 (en) | 2019-03-13 | 2019-03-13 | Centralized off-board flash memory for server devices |
US16/352,454 | 2019-03-13 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202034176A TW202034176A (zh) | 2020-09-16 |
TWI740158B true TWI740158B (zh) | 2021-09-21 |
Family
ID=67658263
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW108120970A TWI740158B (zh) | 2019-03-13 | 2019-06-18 | 伺服器系統、集中式快閃記憶體模組以及更新快閃韌體映像檔的方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US10922071B2 (zh) |
EP (1) | EP3709149B1 (zh) |
JP (1) | JP6884844B2 (zh) |
CN (1) | CN111694760B (zh) |
TW (1) | TWI740158B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210216640A1 (en) * | 2020-01-10 | 2021-07-15 | Dell Products L.P. | Systems and methods for hardware root of trust with protected redundant memory for authentication failure scenarios |
US11422896B2 (en) * | 2020-03-27 | 2022-08-23 | Intel Corporation | Technology to enable secure and resilient recovery of firmware data |
EP3989478B1 (en) * | 2020-10-22 | 2023-10-18 | Moxa Inc. | Computing system and device for handling a chain of trust |
US11989551B2 (en) * | 2021-03-18 | 2024-05-21 | Quanta Computer Inc. | Modular firmware composition |
JPWO2023032121A1 (zh) * | 2021-09-02 | 2023-03-09 | ||
US20230126350A1 (en) * | 2021-10-25 | 2023-04-27 | Nvidia Corporation | Non-volatile memory storage and interface |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200511757A (en) * | 2003-09-09 | 2005-03-16 | Inventec Corp | Redundant management control arbitration system |
US20050080887A1 (en) * | 2003-10-08 | 2005-04-14 | Chun-Liang Lee | Redundant management control arbitration system |
TWM422693U (en) * | 2011-04-26 | 2012-02-11 | nai-yuan Shi | Cloud data backup apparatus |
CN107646105A (zh) * | 2015-05-26 | 2018-01-30 | 微软技术许可有限责任公司 | 云计算基础架构 |
US20180253131A1 (en) * | 2015-09-21 | 2018-09-06 | Hewlett Packard Enterprise Development Lp | Server node shutdown |
CN108780406A (zh) * | 2016-03-25 | 2018-11-09 | 微软技术许可有限责任公司 | 使用rdma共享工作数据的存储器 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7103761B2 (en) * | 2001-08-07 | 2006-09-05 | Hewlett-Packard Development Company, Lp. | Server system with multiple management user interfaces |
AU2003245533A1 (en) * | 2002-06-21 | 2004-01-06 | Thomson Licensing S.A. | Broadcast router having a shared configuration repository |
US8402109B2 (en) * | 2005-02-15 | 2013-03-19 | Gytheion Networks Llc | Wireless router remote firmware upgrade |
US20110035540A1 (en) | 2009-08-10 | 2011-02-10 | Adtron, Inc. | Flash blade system architecture and method |
US9122810B2 (en) | 2012-05-18 | 2015-09-01 | Dell Products, Lp | System and method for providing input/output functionality to a processing node |
US9043638B1 (en) * | 2014-11-14 | 2015-05-26 | Quanta Computer Inc. | Method for enhancing memory fault tolerance |
US10127032B2 (en) * | 2015-11-05 | 2018-11-13 | Quanta Computer Inc. | System and method for unified firmware management |
TWI619031B (zh) * | 2015-11-19 | 2018-03-21 | 財團法人資訊工業策進會 | 詮釋資料伺服器、網路裝置及自動資源管理方法 |
US10430333B2 (en) * | 2017-09-29 | 2019-10-01 | Intel Corporation | Storage system with interconnected solid state disks |
-
2019
- 2019-03-13 US US16/352,454 patent/US10922071B2/en active Active
- 2019-06-18 TW TW108120970A patent/TWI740158B/zh active
- 2019-07-03 CN CN201910593952.1A patent/CN111694760B/zh active Active
- 2019-07-29 EP EP19188956.7A patent/EP3709149B1/en active Active
- 2019-11-28 JP JP2019215171A patent/JP6884844B2/ja active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200511757A (en) * | 2003-09-09 | 2005-03-16 | Inventec Corp | Redundant management control arbitration system |
US20050080887A1 (en) * | 2003-10-08 | 2005-04-14 | Chun-Liang Lee | Redundant management control arbitration system |
TWM422693U (en) * | 2011-04-26 | 2012-02-11 | nai-yuan Shi | Cloud data backup apparatus |
CN107646105A (zh) * | 2015-05-26 | 2018-01-30 | 微软技术许可有限责任公司 | 云计算基础架构 |
US20180253131A1 (en) * | 2015-09-21 | 2018-09-06 | Hewlett Packard Enterprise Development Lp | Server node shutdown |
CN108780406A (zh) * | 2016-03-25 | 2018-11-09 | 微软技术许可有限责任公司 | 使用rdma共享工作数据的存储器 |
Also Published As
Publication number | Publication date |
---|---|
JP2020149667A (ja) | 2020-09-17 |
CN111694760A (zh) | 2020-09-22 |
JP6884844B2 (ja) | 2021-06-09 |
EP3709149A1 (en) | 2020-09-16 |
US20200293306A1 (en) | 2020-09-17 |
US10922071B2 (en) | 2021-02-16 |
TW202034176A (zh) | 2020-09-16 |
CN111694760B (zh) | 2023-03-31 |
EP3709149B1 (en) | 2023-02-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI740158B (zh) | 伺服器系統、集中式快閃記憶體模組以及更新快閃韌體映像檔的方法 | |
TWI754317B (zh) | 用於網路裝置之最佳啟動路徑之方法和系統 | |
US10754955B2 (en) | Authenticating a boot path update | |
EP1902368B1 (en) | Method and system for reconfiguring functional capabilities in a data processing system with dormant resources | |
TW201715395A (zh) | 基板管理控制器的回復方法及基板管理控制器 | |
EP3705999B1 (en) | Firmware upgrade method in multiple node storage system | |
US11886595B2 (en) | Computer boot method, controller, storage medium, and system | |
WO2014175863A1 (en) | Configuring a system | |
WO2021057795A1 (zh) | 系统启动方法、装置、节点设备及计算机可读存储介质 | |
US10824517B2 (en) | Backup and recovery of configuration files in management device | |
CN109032636A (zh) | 一种基于加密认证bmc更新uefi固件的方法 | |
US11574080B1 (en) | Secure transfer of service identity for information handling systems | |
CN106909382B (zh) | 输出不同类型系统启动信息的方法及装置 | |
TWI528287B (zh) | 伺服器系統 | |
US9596149B2 (en) | Server information handling system NFC ticket management and fault storage | |
US20230126538A1 (en) | Component tracking for information handling systems | |
TWI776612B (zh) | 儲存裝置及其操作方法 | |
US20230127223A1 (en) | Physical port validation for information handling systems | |
CN116700801A (zh) | 配置信息的管理方法、装置及服务器 | |
CN115904831A (zh) | 一种服务器固件的启动方法及终端 | |
CN109614279A (zh) | 一种工控机自检系统及其控制方法和相关设备 | |
TWI789627B (zh) | 儲存設備及其控制系統 | |
TWI545444B (zh) | 使待測裝置執行除錯的方法及運作平台、伺服器控制方法 | |
US11983302B2 (en) | Assignment of service identity for information handling systems | |
US20220207125A1 (en) | Secure data collection for validation of installed components of information handling systems |