Legal claims defining the scope of protection, as filed with the USPTO.
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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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.
Unknown
March 6, 2018
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.