IP Library Granted Patent US 10,540,185
Granted Patent B1
US 10,540,185 · App. 16/245,330 · Granted Jan 21, 2020

Software deployment in disaggregated computing platforms

Inventors: Henry Lee Harris (Redding, CA); James Scott Cannata (Denver, CO)
Assignee: Liqid Inc.
G06F9/4405G06F9/4401G06F9/441G06F9/445G06F9/4406G06F9/4408G06F9/4416G06F9/44505G06F13/4022G06F13/4221G06F2213/0026
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 10,540,185
App. No.
16/245,330
Granted
Jan 21, 2020
Kind
B1
Abstract

Disaggregated computing architectures, platforms, and systems are provided herein. In one example, a method of operating a data processing system is provided. The method includes instructing a PCIe fabric communicatively coupling a plurality of physical computing components including one or more central processing units (CPUs), one or more storage modules and one or more PCIe switches to establish a first PCIe communication path between the management processor and a storage module of the one or more storage modules. The method also includes storing at least an operating system to the storage module using the first PCIe communication path and instructing the PCIe fabric to remove the first PCIe communication path between the management processor and the storage module. Moreover, the method includes instructing the PCIe fabric to establish a second PCIe communication path between a CPU of the one or more CPUs and the storage module comprising the operating system.

Claims (42)

1. A computing apparatus comprising:

one or more computer readable storage media;

a management processor operatively coupled with the one or more computer readable storage media; and

program instructions stored on the one or more computer readable storage media, that when executed by the management processor, direct the management processor to at least:

instruct a Peripheral Component Interconnect Express (PCIe) fabric communicatively coupling a plurality of physical computing components including one or more central processing units (CPUs), one or more storage modules and one or more PCIe switches to establish a first PCIe communication path between the management processor and a storage module of the one or more storage modules;

store at least an operating system to the storage module using the first PCIe communication path;

instruct the PCIe fabric to remove the first PCIe communication path between the management processor and the storage module; and

instruct the PCIe fabric to establish a second PCIe communication path between a CPU of the one or more CPUs and the storage module comprising the operating system.

2. The computing apparatus of claim 1 , wherein the program instructions stored on the one or more computer readable storage media, when executed by the management processor, further direct the management processor to at least:

receive a user command to establish a compute unit among the plurality of physical computing components, the user command indicating the operating system; and

wherein the management processor performs the establishing of the compute unit at least in part by performing the instructing the PCIe fabric to establish the first PCIe communication path, the storing the operating system to the storage module, the instructing the PCIe fabric to remove the first PCIe communication path, and the instructing the PCIe fabric to establish the second PCIe communication path, the compute unit comprising at least the CPU and the storage module.

3. The computing apparatus of claim 2 , wherein the compute unit is based at least on logical partitioning within the PCIe fabric, wherein the compute unit has visibility over the PCIe fabric to one or more of the plurality of physical computing components assigned to the compute unit using the logical partitioning within the PCIe fabric.

4. The computing apparatus of claim 2 , wherein the management processor performs the instructing the PCIe fabric to establish the second PCIe communication path such that the CPU will have visibility to the storage module and such that the CPU will load the operating system from the storage module during a boot operation.

5. The computing apparatus of claim 2 , wherein the management processor is coupled to at least a storage device that stores a plurality of software configurations comprising at least the operating system.

6. The computing apparatus of claim 5 , wherein the plurality of software configurations comprise a plurality of operating systems and the user command specifies the operating system from among the plurality of operating systems.

7. The computing apparatus of claim 5 , wherein one or more of the software configurations comprise one or more installed applications.

8. The computing apparatus of claim 2 , wherein the user command further indicates the CPU and the storage module.

9. The computing apparatus of claim 1 , wherein the management processor is configured to perform the instructing the PCIe fabric to establish the second PCIe communication path by instructing the PCIe fabric to establish a logical partitioning within the PCIe fabric by at least forming domain-based PCIe segregation among ports of the one or more PCIe switches comprised by the PCIe fabric.

10. A method of operating a data processing system, the method comprising:

instructing, by a management processor, a PCIe fabric communicatively coupling a plurality of physical computing components including one or more central processing units (CPUs), one or more storage modules and one or more PCIe switches to establish a first PCIe communication path between the management processor and a storage module of the one or more storage modules;

storing at least an operating system to the storage module using the first PCIe communication path;

instructing, by the management processor, the PCIe fabric to remove the first PCIe communication path between the management processor and the storage module; and

instructing, by the management processor, the PCIe fabric to establish a second PCIe communication path between a CPU of the one or more CPUs and the storage module comprising the operating system.

11. The method of claim 10 , further comprising:

receiving a user command to establish a compute unit among the plurality of physical computing components, the user command indicating the operating system; and

wherein establishing the compute unit includes performing the instructing the PCIe fabric to establish the first PCIe communication path, the storing the operating system to the storage module, the instructing the PCIe fabric to remove the first PCIe communication path, and the instructing the PCIe fabric to establish the second PCIe communication path, the compute unit comprising at least the CPU and the storage module.

12. The method of claim 11 , wherein the compute unit is based at least on logical partitioning within the PCIe fabric, wherein the compute unit has visibility over the PCIe fabric to one or more of the plurality of physical computing components assigned to the compute unit using the logical partitioning within the PCIe fabric.

13. The method of claim 11 , wherein the instructing the PCIe fabric to establish the second PCIe communication path is performed such that the CPU will have visibility to the storage module and such that the CPU will load the operating system from the storage module during a boot operation.

14. The method of claim 11 , wherein the storing of the operating system to the storage module is performed by copying the operating system from a storage device coupled to the management processor, wherein the storage device stores a plurality of software configurations comprising at least the operating system.

15. The method of claim 14 , wherein the plurality of software configurations comprise a plurality of operating systems and the user command specifies the operating system from among the plurality of operating systems.

16. The method of claim 14 , wherein one or more of the software configurations comprise one or more installed applications.

17. The method of claim 11 , wherein the user command further indicates the CPU and the storage module.

18. The method of claim 10 , wherein the instructing the PCIe fabric to establish the second PCIe communication path is performed by instructing the PCIe fabric to establish a logical partitioning within the PCIe fabric by at least forming domain-based PCIe segregation among ports of the one or more PCIe switches comprised by the PCIe fabric.

19. A computing apparatus comprising:

a management processor configured to:

receive user commands to establish a compute unit among a plurality of physical computing components coupled by a Peripheral Component Interconnect Express (PCIe) fabric, the plurality of physical computing components including one or more central processing units (CPUs), one or more storage modules and one or more PCIe switches, wherein the user command identifies an operating system of a plurality of operating systems stored in a storage device connected to the management processor; and

establish the compute unit by:

instructing the PCI fabric to establish a first PCIe partition within the PCIe fabric including the management processor and a storage module of the one or more storage modules, the first PCIe partition within the PCIe fabric configured such that the management processor has visibility over the PCIe fabric to the storage module;

copying at least the identified operating system to the storage module using the first PCIe partition;

instructing the PCIe fabric to de-establish the first PCIe partition including the management processor and the storage module; and

instructing the PCIe fabric to establish a second PCIe partition within the PCIe fabric including a CPU of the one or more CPUs and the storage module of the one or more storage modules, the second PCIe partition within the PCIe fabric configured such that the CPU has visibility over the PCIe fabric to the storage module such that the CPU will load the identified operating system from the storage module during a boot operation.

20. The computing apparatus of claim 19 , wherein first PCIe partition and the second PCIe partition are established using domain-based PCIe segregation among ports of the one or more PCIe switches that comprised by the PCIe fabric.

Assignments (4)
RELEASE OF SECURITY INTEREST Recorded Apr 16, 2021
From: CANADIAN IMPERIAL BANK OF COMMERCE
To: LIQID INC.
Reel/Frame 055953/0860 →
SECURITY INTEREST Recorded Jan 5, 2021
From: LIQID INC.
To: HORIZON TECHNOLOGY FINANCE CORPORATION
Reel/Frame 054900/0539 →
SECURITY INTEREST Recorded Oct 30, 2020
From: LIQID INC.
To: CANADIAN IMPERIAL BANK OF COMMERCE
Reel/Frame 054221/0235 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 11, 2019
From: HARRIS, HENRY LEE; CANNATA, JAMES SCOTT
To: LIQID INC.
Reel/Frame 047962/0919 →
Cited By (2)
US 12,579,481 US 12,638,994