IP Library Granted Patent US 11,200,046
Granted Patent B2
US 11,200,046 · App. 16/660,397 · Granted Dec 14, 2021

Managing composable compute system infrastructure with support for decoupled firmware updates

Inventors: Fred A. Bower, III (Durham, NC); Caihong Zhang (Shanghai, CN)
Assignee: Lenovo Enterprise Solutions (Singapore) Pte. Ltd.
G06F8/656G06F8/658G06F9/4418G06F9/45558G06F9/4856G06F9/5027G06F9/5066G06F9/5088G06F12/1081G06F3/0673H04L41/12
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,200,046
App. No.
16/660,397
Granted
Dec 14, 2021
Kind
B2
Abstract

Managing composable compute system infrastructure with support for decoupled firmware updates includes mapping a device to a server, wherein the device is in a resource pool of devices including at least one idle device, and wherein the device and the server are within a pod of composable compute elements connected by a fabric in a composable system executing a workload; detecting that the device has a needed firmware update; exchanging, transparent to the workload executing in the composable system, the mapping for the device with the needed firmware update and the idle device in the resource pool; and performing the firmware update on the unmapped device as the workload executes in the composable system with the newly mapped device.

Claims (48)

1. A method comprising:

by program instructions on a computing device,

mapping a device to a server, wherein the device is in a resource pool of devices including at least one idle device, and wherein the device and the server are within a pod of composable compute elements connected by a fabric in a composable system executing a workload;

detecting that the device has a needed firmware update;

exchanging, transparent to the workload executing in the composable system, the mapping for the device with the needed firmware update and the idle device in the resource pool; and

performing the firmware update on the unmapped device as the workload executes in the composable system with the newly mapped device.

2. The method of claim 1 , further comprising:

remapping, transparent to the workload executing in the composable system, the device with the updated firmware to the server, including exchanging, after performing the firmware update, the mapping for the newly updated device with the previously idle device; and

returning the previously idle device to an idle state in the resource pool.

3. The method of claim 1 , further comprising returning, after performing the updated on the device, the updated device to an idle state in the resource pool including updating an address to an idle address, wherein the previously idle device remains mapped to the server.

4. The method of claim 1 , wherein the fabric connecting the device and server is a Remote Direct Memory Access (RDMA) capable network, and wherein exchanging, transparent to the workload executing in the composable system, the mapping for the device with the needed firmware update and the idle device in the resource pool comprises updating a pointer at an RDMA capable network adapter from an address of the device with the needed firmware update to an address of the idle device, wherein server device information remains unchanged.

5. The method of claim 1 , wherein exchanging, transparent to the workload executing in the composable system, the mapping for the device with the needed firmware update and the idle device in the resource pool comprises:

mapping both the device with the needed firmware update and the idle device to the server;

switching the workload from the device with the needed firmware update to the newly mapped device, wherein server device information remains unchanged; and

unmapping the device with the needed firmware update.

6. The method of claim 1 , wherein the device with the needed firmware update is stable prior to exchanging, transparent to the workload executing in the composable system, the mapping for the device with the needed firmware update and the idle device in the resource pool.

7. The method of claim 1 , wherein data stored in memory on the device with the needed firmware update is migrated to memory on the idle device prior to exchanging, transparent to the workload executing in the composable system, the mapping for the device with the needed firmware update and the idle device in the resource pool.

8. An apparatus comprising a computing device, a computer processor, and a computer memory operatively coupled to the computer processor, the computer memory storing computer program instructions that are configured to, when executed by the computer processor, cause the apparatus to perform operations comprising:

mapping a device to a server, wherein the device is in a resource pool of devices including at least one idle device, and wherein the device and the server are within a pod of composable compute elements connected by a fabric in a composable system executing a workload;

detecting that the device has a needed firmware update;

exchanging, transparent to the workload executing in the composable system, the mapping for the device with the needed firmware update and the idle device in the resource pool; and

performing the firmware update on the unmapped device as the workload executes in the composable system with the newly mapped device.

9. The apparatus of claim 8 , wherein:

remapping, transparent to the workload executing in the composable system, the device with the updated firmware to the server, including exchanging, after performing the firmware update, the mapping for the newly updated device with the previously idle device; and

returning the previously idle device to an idle state in the resource pool.

10. The apparatus of claim 8 , further comprising returning, after performing the updated on the device, the updated device to an idle state in the resource pool including updating an address to an idle address, wherein the previously idle device remains mapped to the server.

11. The apparatus of claim 8 , wherein the fabric connecting the device and server is a Remote Direct Memory Access (RDMA) capable network, and wherein exchanging, transparent to the workload executing in the composable system, the mapping for the device with the needed firmware update and the idle device in the resource pool comprises updating a pointer at an RDMA capable network adapter from an address of the device with the needed firmware update to an address of the idle device, wherein server device information remains unchanged.

12. The apparatus of claim 8 , wherein exchanging, transparent to the workload executing in the composable system, the mapping for the device with the needed firmware update and the idle device in the resource pool comprises:

mapping both the device with the needed firmware update and the idle device to the server;

switching the workload from the device with the needed firmware update to the newly mapped device, wherein server device information remains unchanged; and

unmapping the device with the needed firmware update.

13. The apparatus of claim 8 , wherein the device with the needed firmware update is stable prior to exchanging, transparent to the workload executing in the composable system, the mapping for the device with the needed firmware update and the idle device in the resource pool.

14. The apparatus of claim 8 , wherein data stored in memory on the device with the needed firmware update is migrated to memory on the idle device prior to exchanging, transparent to the workload executing in the composable system, the mapping for the device with the needed firmware update and the idle device in the resource pool.

15. A computer program product comprising a computer readable medium and computer program instructions stored therein that are configured to, when executed by a processor, cause a computer to perform operations comprising:

mapping a device to a server, wherein the device is in a resource pool of devices including at least one idle device, and wherein the device and the server are within a pod of composable compute elements connected by a fabric in a composable system executing a workload;

detecting that the device has a needed firmware update;

exchanging, transparent to the workload executing in the composable system, the mapping for the device with the needed firmware update and the idle device in the resource pool; and

performing the firmware update on the unmapped device as the workload executes in the composable system with the newly mapped device.

16. The computer program product of claim 15 , wherein:

remapping, transparent to the workload executing in the composable system, the device with the updated firmware to the server, including exchanging, after performing the firmware update, the mapping for the newly updated device with the previously idle device; and

returning the previously idle device to an idle state in the resource pool.

17. The computer program product of claim 15 , further comprising returning, after performing the updated on the device, the updated device to an idle state in the resource pool including updating an address to an idle address, wherein the previously idle device remains mapped to the server.

18. The computer program product of claim 15 , wherein the fabric connecting the device and server is a Remote Direct Memory Access (RDMA) capable network, and wherein exchanging, transparent to the workload executing in the composable system, the mapping for the device with the needed firmware update and the idle device in the resource pool comprises updating a pointer at an RDMA capable network adapter from an address of the device with the needed firmware update to an address of the idle device, wherein server device information remains unchanged.

19. The computer program product of claim 15 , wherein exchanging, transparent to the workload executing in the composable system, the mapping for the device with the needed firmware update and the idle device in the resource pool comprises:

mapping both the device with the needed firmware update and the idle device to the server;

switching the workload from the device with the needed firmware update to the newly mapped device, wherein server device information remains unchanged; and

unmapping the device with the needed firmware update.

20. The computer program product of claim 15 , wherein the device with the needed firmware update is stable prior to exchanging, transparent to the workload executing in the composable system, the mapping for the device with the needed firmware update and the idle device in the resource pool.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 10, 2025
From: LENOVO GLOBAL TECHNOLOGIES INTERNATIONAL LIMITED
To: LENOVO GLOBAL TECHNOLOGIES SWITZERLAND INTERNATIONAL GMBH
Reel/Frame 069869/0614 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 13, 2022
From: LENOVO ENTERPRISE SOLUTIONS (SINGAPORE) PTE LTD
To: LENOVO GLOBAL TECHNOLOGIES INTERNATIONAL LTD
Reel/Frame 060490/0668 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 22, 2019
From: BOWER, FRED A., III; ZHANG, CAIHONG
To: LENOVO ENTERPRISE SOLUTIONS (SINGAPORE) PTE. LTD.
Reel/Frame 050794/0267 →