9910664

System and Method of Online Firmware Update for Baseboard Management Controller (bmc) Devices

PublishedMarch 6, 2018
Assigneenot available in USPTO data we have
Technical Abstract

Patent Claims
19 claims

Legal claims defining the scope of protection, as filed with the USPTO.

1

1. A system, comprising: a baseboard management controller (BMC), comprising a processor, a volatile memory configured to perform a plurality of service instances, and a non-volatile memory storing a computer executable code and a root file system, wherein the root file system is configured as an origin of the plurality of service instances, and wherein the computer executable code, when executed at the processor, is configured to: receive an update command comprising instructions for updating the BMC; and perform an update process based on the update command, the update process comprising: activating the root file system in the non-volatile memory, wherein the plurality of service instances are loaded and unloaded from the root file system; copying the root file system from the non-volatile memory to the volatile memory to form a copy of the root file system in the volatile memory; switching the origin of the plurality of service instances from the root file system stored in the non-volatile memory to the copy of the root file system stored in the volatile memory; receiving an update root file system code; activating the copy of the root file system in the volatile memory, wherein the plurality of service instances are loaded and unloaded from the copy of the root file system; writing the update root file system code to the non-volatile memory to obtain an updated root file system in the non-volatile memory, wherein the updated root file system comprises a plurality of updated service modules each corresponding to one of a plurality of updated service instances, wherein each of the updated service modules, when executed at the processor, is configured to re-create a corresponding one of the plurality of updated service instances in the volatile memory; and activating the updated root file system in the non-volatile memory, wherein the plurality of updated service instances are loaded and unloaded from the updated root file system; wherein the computer executable code comprises a flasher module, and the flasher module is configured to: receive the update command; and perform the update process based on the update command.

2

2. The system of claim 1 , wherein the root file system comprises a plurality of service modules each corresponding to one of the plurality of service instances, wherein each of the service modules, when executed at the processor, is configured to create the corresponding one of the plurality of service instances in the volatile memory.

3

3. The system of claim 2 , wherein when the BMC is rebooted after performing the update process, the plurality of service instances are configured to be recreated by executing the service modules of the updated root file system stored in the non-volatile memory.

4

4. The system of claim 1 , wherein the update command and the update root file system code are received from a remote computing device connected to the BMC via a network.

5

5. The system of claim 4 , wherein the update process further comprises: in response to the update command, sending a request to the remote computing device via the network to request the update root file system code from the remote computing device.

6

6. The system of claim 1 , wherein the volatile memory is a random-access memory (RAM), and the non-volatile memory is a flash memory.

7

7. The system of claim 1 , wherein the computer executable code, when executed at the processor, is configured to perform the update process based on the update command by: retrieving version information of the update root file system code; retrieving version information of the root file system in the non-volatile memory; comparing the version information of the update root file system code with the version information of the root file system in the non-volatile memory; and performing the update process when the version information of the update root file system code is different from the version information of the root file system in the non-volatile memory.

8

8. A method of firmware update, comprising: receiving, at a processor of a baseboard management controller (BMC), an update command comprising instructions for updating the BMC, wherein the BMC comprises the processor, a volatile memory configured to perform a plurality of service instances, and a non-volatile memory a root file system, and wherein the root file system is configured as an origin of the plurality of service instances; and performing, at the processor of the BMC, an update process based on the update command, the update process comprising: activating the root file system in the non-volatile memory, wherein the plurality of service instances are loaded and unloaded from the root file system; copying the root file system from the non-volatile memory to the volatile memory to form a copy of the root file system in the volatile memory; switching the origin of the service instances from the root file system stored in the non-volatile memory to the copy of the root file system stored in the volatile memory; receiving an update root file system code; activating the copy of the root file system in the volatile memory, wherein the plurality of service instances are loaded and unloaded from the copy of the root file system; writing the update root file system code to the non-volatile memory to obtain an updated root file system in the non-volatile memory, wherein the updated root file system comprises a plurality of updated service modules each corresponding to one of a plurality of updated service instances, wherein each of the updated service modules, when executed at the processor, is configured to re-create a corresponding one of the plurality of updated service instances in the volatile memory; and activating the updated root file system in the non-volatile memory, wherein the plurality of updated service instances are loaded and unloaded from the updated root file system; wherein computer executable code stored in the BMC comprises a flasher module, and the flasher module is configured to: receive the update command; and perform the update process based on the update command.

9

9. The method of claim 8 , wherein the root file system comprises a plurality of service modules each corresponding to one of the plurality of service instances, wherein each of the service modules, when executed at the processor, is configured to create the corresponding one of the plurality of service instances in the volatile memory.

10

10. The method of claim 9 , further comprising: rebooting the BMC after performing the update process; and executing the service modules of the updated root file system stored in the non-volatile memory to re-create the plurality of service instances.

11

11. The method of claim 8 , wherein the update command and the update root file system code are received from a remote computing device connected to the BMC via a network.

12

12. The method of claim 11 , wherein the update process further comprises: in response to the update command, sending a request to the remote computing device via the network to request the update root file system code from the remote computing device.

13

13. The method of claim 8 , wherein the update process is performed based on the update command by: retrieving version information of the update root file system code; retrieving version information of the root file system in the non-volatile memory; comparing the version information of the update root file system code with the version information of the root file system in the non-volatile memory; and performing the update process when the version information of the update root file system code is different from the version information of the root file system in the non-volatile memory.

14

14. A non-transitory computer readable medium storing computer executable code executable at a processor of a baseboard management controller (BMC), wherein the BMC comprises the processor, a volatile memory configured to perform a plurality of service instances, and a non-volatile memory storing a root file system, wherein the root file system is configured as an origin of the plurality of service instances, and wherein the computer executable code, when executed at the processor of the BMC, is configured to: receive an update command comprising instructions for updating the BMC; and perform an update process based on the update command, the update process comprising: activating the root file system in the non-volatile memory, wherein the plurality of service instances are loaded and unloaded from the root file system; copying the root file system from the non-volatile memory to the volatile memory to form a copy of the root file system in the volatile memory; switching the origin of the plurality of service instances from the root file system stored in the non-volatile memory to the copy of the root file system stored in the volatile memory; receiving an update root file system code; activating the copy of the root file system in the volatile memory, wherein the plurality of service instances are loaded and unloaded from the copy of the root file system; writing the update root file system code to the non-volatile memory to obtain an updated root file system in the non-volatile memory, wherein the updated root file system comprises a plurality of updated service modules each corresponding to one of a plurality of updated service instances, wherein each of the updated service modules, when executed at the processor, is configured to re-create a corresponding one of the plurality of updated service instances in the volatile memory; and activating the updated root file system in the non-volatile memory, wherein the plurality of updated service instances are loaded and unloaded from the updated root file system; wherein computer executable code stored in the BMC comprises a flasher module, and the flasher module is configured to: receive the update command; and perform the update process based on the update command.

15

15. The non-transitory computer readable medium of claim 14 , wherein the root file system comprises a plurality of service modules each corresponding to one of the plurality of service instances, wherein each of the service modules, when executed at the processor, is configured to create the corresponding one of the plurality of service instances in the volatile memory.

16

16. The non-transitory computer readable medium of claim 15 , wherein the computer executable code, when executed at the processor, is further configured to, after performing the update process: reboot the BMC; and execute the service modules of the updated root file system stored in the non-volatile memory to re-create the plurality of service instances.

17

17. The non-transitory computer readable medium of claim 14 , wherein the update command and the update root file system code are received from a remote device connected to the BMC via a network.

18

18. The non-transitory computer readable medium of claim 17 , wherein the update process further comprises: in response to the update command, sending a request to the remote computing device via the network to request the update root file system code from the remote computing device.

19

19. The non-transitory computer readable medium of claim 14 , wherein the computer executable code, when executed at the processor, is configured to perform the update process based on the update command by: retrieving version information of the update root file system code; retrieving version information of the root file system in the non-volatile memory; comparing the version information of the update root file system code with the version information of the root file system in the non-volatile memory; and performing the update process when the version information of the update root file system code is different from the version information of the root file system in the non-volatile memory.

Patent Metadata

Filing Date

Unknown

Publication Date

March 6, 2018

Inventors

Samvinesh Christopher
Anurag Bhatia
Winston Thangapandian
Suresh Vijayakumar
Balasubramanian Chandrasekaran

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “SYSTEM AND METHOD OF ONLINE FIRMWARE UPDATE FOR BASEBOARD MANAGEMENT CONTROLLER (BMC) DEVICES” (9910664). https://patentable.app/patents/9910664

© 2026 Patentable. All rights reserved.

Patentable is a research and drafting-assistant tool, not a law firm, and does not provide legal advice. Documents we generate are drafts for review by a licensed patent attorney.