CPC G06F 8/65 (2013.01) [G06F 8/63 (2013.01); G06F 11/076 (2013.01)] | 16 Claims |
1. An Information Handling System (IHS) comprising:
a firmware device;
first and second Remote Access Controllers (RACs) coupled to a device configured in the IHS, the first and second RACs each comprising a processor and a memory coupled to the at least one processor, the memory having program instructions stored thereon that, upon execution by the processor, cause the first and second RAC to:
receive, by the first RAC, a firmware update image associated with the firmware device, the firmware update image conforming to a Platform Level Data Model (PLDM) specification;
issue, by the first RAC, a command to the firmware device indicating that the firmware device is to request a firmware update from the first RAC, wherein the command includes information about the second RAC, the information comprising the ability of the second RAC to complete a transfer of the firmware update image when the first RAC partially completes the transfer of the firmware update image, wherein the firmware device is configured to issue a firmware update request in response to receipt of the command;
split, by the first RAC, the firmware update image into multiple data chunks;
replicate, by the first RAC, the data chunks in the second RAC;
commence transfer, by the first RAC, of the data chunks sequentially to the device;
with each data chunk successfully transferred to the device, update a status of the successfully transferred data chunk to the second RAC;
receive, by the second RAC, a retry request from the firmware device to transfer the remaining data chunks when the device does not successfully receive one of the data chunks from the first RAC; and
transfer, by the second RAC, the remaining data chunks that have not yet been successfully transferred to the device.
|