IP Library › Granted Patent US 12,743,309
Granted Patent B2
US 12,743,309 · App. 17/866,479 · Granted Sep 22, 2026

LCS resource device presentation system

Inventors: Srikrishna Ramaswamy (Austin, TX); Glen Owen Sescila, III (Austin, TX)
Assignee: Dell Products L.P.
G06F9/5027
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 12,743,309
App. No.
17/866,479
Granted
Sep 22, 2026
Kind
B2
Abstract

A Logically Composed System (LCS) resource device presentation system include an orchestrator device coupled to a host processing system and a first resource device. The orchestrator device programs the orchestrator device with first configuration information that provides a first emulated resource device for the first resource device, and programs a memory system in the orchestrator device to provide a first emulated device controller for the first emulated resource device. The orchestrator device then presents the first emulated resource device to the host processing system. The orchestrator device may then use the first emulated device controller and the first configuration information to cause the first resource device to perform at least one first operation for the processing system.

Claims (66)

1 . A Logically Composed System (LCS) resource device presentation system, comprising:

a first resource device; and

a Bare Metal Server (BMS) system including:

a BMS processing system; and

an orchestrator device that is coupled to the BMS processing system and the first resource device, wherein the orchestrator device is configured to:

program a memory system in the orchestrator device with first configuration information that is configured to provide a first emulated resource device for the first resource device by providing first emulated resource device registers that are configured for use in emulating operation of the first resource device to the BMS processing system, and including first emulated resource device mapping information that maps the first emulated resource device to the first resource device;

program the memory system in the orchestrator device to provide a first emulated device controller for the first emulated resource device;

program the memory system in the orchestrator device to provide at least one emulated switch device including a first emulated port;

present the first emulated resource device to the BMS processing system as being connected to the first emulated port on the at least one emulated switch device via the first emulated device controller;

receive, from the BMS processing system, a first emulated resource device instruction that is directed to the first emulated resource device via modification of at least one of the first emulated resource device registers and that requests the performance of at least one first operation by the first emulated resource device; and

use the first emulated resource device mapping information to cause the first resource device to perform at least one first operation requested by the first emulated resource device instruction received from the BMS processing system.

2 . The system of claim 1 , wherein the orchestrator device is coupled to the BMS processing system via a Peripheral Component Interconnect express (PCIe) type 1 function via which the at least one emulated switch device is presented to the BMS processing system to present the first emulated resource device to the BMS processing system.

3 . The system of claim 1 , wherein the orchestrator device is configured to:

provide, to the BMS processing system, an interrupt that identifies the first emulated resource device as having generated the interrupt.

4 . The system of claim 1 , further comprising:

a second resource device, wherein the orchestrator device is configured to:

program the memory system in the orchestrator device with second configuration information that is configured to provide a second emulated resource device for the second resource device by providing second emulated resource device registers that are configured for use in emulating operation of the second resource device to the BMS processing system, and including second emulated resource device mapping information that maps the second emulated resource device to the second resource device;

program the memory system in the orchestrator device to provide a second emulated device controller for the second emulated resource device;

emulate the at least one emulated switch device including a second emulated port;

present the second emulated resource device to the BMS processing system as being connected to the second emulated port on the at least one emulated switch device via the second emulated device controller;

receive, from the BMS processing system, a second resource device instruction that is directed to the second emulated resource device via modification of at least one of the first emulated resource device registers and that requests the performance of at least one second operation by the second emulated resource device; and

use the second emulated resource device mapping information to cause the second resource device to perform at least one second operation requested by the second resource device instruction received from the BMS processing system.

5 . The system of claim 4 , wherein the modification of at least one of the second emulated resource device registers includes writing a value to a doorbell register included in the second emulated resource device registers, and wherein the at least one second operation includes a data transfer performed using a Direct Memory Access (DMA) operation that is controlled by the orchestrator device and that identifies the second emulated resource device as having initiated the DMA operation.

6 . The system of claim 4 , wherein the orchestrator device is configured to:

store, in the memory system in the orchestrator device, an emulated topology that identifies the at least one emulated switch device, the first emulated port, the second emulated port, the first emulated resource device, and the second emulated resource device.

7 . The system of claim 1 , wherein the first emulated resource device is a Peripheral Component Interconnect express (PCIe) virtual function.

8 . A Bare Metal Server (BMS) system, comprising:

an orchestrator processing system; and

an orchestrator memory system that is coupled to the orchestrator processing system and that includes instructions that, when executed by the orchestrator processing system, cause the orchestrator processing system to provide an orchestrator engine that is configured to:

program the orchestrator memory system with first configuration information that is configured to provide a first emulated resource device for a first resource device by providing first emulated resource device registers that are configured for use in emulating operation of the first resource device to a Bare Metal Server (BMS) processing system that is included in a chassis with the orchestrator processing system and the orchestrator memory system, and including first emulated resource device mapping information that maps the first emulated resource device to the first resource device;

program the orchestrator memory system to provide a first emulated device controller for the first emulated resource device;

program the memory system in the orchestrator device to provide at least one emulated switch device including a first emulated port;

present the first emulated resource device to the BMS processing system as being connected to the first emulated port on the at least one emulated switch device via the first emulated device controller;

receive, from the BMS processing system, a first resource device instruction that is directed to the first emulated resource device via modification of at least one of the first emulated resource device registers and that requests the performance of at least one first operation by the first emulated resource device; and

use the first emulated resource device mapping information to cause the first resource device to perform the at least one first operation requested by the first emulated resource device instruction received from the BMS processing system.

9 . The BMS of claim 8 , wherein the orchestrator engine is coupled to the BMS processing system via a Peripheral Component Interconnect express (PCIe) type 1 function via which the at least one emulated switch device is presented to the BMS processing system to present the first emulated resource device to the BMS processing system.

10 . The BMS of claim 8 , wherein the orchestrator engine is configured to:

program the orchestrator memory system with second configuration information that is configured to provide a second emulated resource device for a second resource device by providing second emulated resource device registers that are configured for use in emulating operation of the second resource device to the BMS processing system, and including second emulated resource device mapping information that maps the second emulated resource device to the second resource device;

program the orchestrator memory system to provide a second emulated device controller for the second emulated resource device;

present the second emulated resource device to the BMS processing system as being connected to the second emulated port on the at least one emulated switch device via the second emulated device controller;

receive, from the BMS processing system, a second resource device instruction that is directed to the second emulated resource device via modification of at least one of the first emulated resource device registers and that requests the performance of at least one second operation by the second emulated resource device; and

use the second emulated device resource device mapping information to cause the second resource device to perform the at least one second operation requested by the second resource device instruction received from the BMS processing system.

11 . The BMS of claim 10 , wherein the modification of at least one of the second emulated resource device registers includes writing a value to a doorbell register included in the second emulated resource device registers, and wherein the at least one second operation includes a data transfer performed using a Direct Memory Access (DMA) operation that is controlled by the orchestrator engine and that identifies the second emulated resource device as having initiated the DMA operation.

12 . The BMS of claim 10 , wherein the orchestrator engine is configured to:

store, in the orchestrator memory system, an emulated topology that identifies the at least one emulated switch device, the first emulated port, the second emulated port, the first emulated resource device, and the second emulated resource device.

13 . The BMS of claim 8 , wherein the first emulated resource device is a Peripheral Component Interconnect express (PCIe) virtual function.

14 . A method for presenting resource devices for utilization with a Logically Composed System (LCS), comprising:

programming, by an orchestrator device included in a Bare Metal Server (BMS) system, a memory system in the orchestrator device with first configuration information that is configured to provide a first emulated resource device for a first resource device by providing first emulated resource device registers that are configured for use in emulating operation of the first resource device to a BMS processing system included in the BMS system, and including first emulated resource device mapping information that maps the first emulated resource device to the first resource device;

programming, by the orchestrator device, the memory system in the orchestrator device to provide a first emulated device controller for the first emulated resource device;

programming, by the orchestrator device, the memory system in the orchestrator device to provide at least one emulated switch device including a first emulated port;

presenting, by the orchestrator device, the first emulated resource device to the BMS processing system as being connected to the first emulated port on the at least one emulated switch device via the first emulated device controller;

receive, by the orchestrator device from the BMS processing system, a first emulated resource device instruction that is directed to the first emulated resource device via modification of at least one of the first emulated resource device registers and that requests the performance of at least one first operation by the first emulated resource device; and

using, by the orchestrator device, the first emulated resource device mapping information to cause the first resource device to perform the at least one first operation requested by the first emulated resource device instruction received from the BMS processing system.

15 . The method of claim 14 , wherein the orchestrator device is coupled to the BMS processing system via a Peripheral Component Interconnect express (PCIe) type 1 function via which the at least one emulated switch device is presented to the BMS processing system to present the first emulated resource device to the BMS processing system.

16 . The method of claim 14 , further comprising:

providing, by the orchestrator device to the BMS processing system, an interrupt that identifies the first emulated resource device as having generated the interrupt.

17 . The method of claim 14 , further comprising:

programming, by the orchestrator device, the memory system in the orchestrator device with second configuration information that is configured to provide a second emulated resource device for a second resource device by providing second emulated resource device registers that are configured for use in emulating operation of the second resource device to the BMS processing system, and including second emulated resource device mapping information that maps the second emulated resource device to the second resource device;

programming, by the orchestrator device, the memory system in the orchestrator device to provide a second emulated device controller for the second emulated resource device;

presenting, by the orchestrator device, the second emulated resource device to the BMS processing system as being connected to the second emulated port on the at least one emulated switch device via the second emulated device controller;

receiving, from the BMS processing system, a second resource device instruction that is directed to the second emulated resource device via modification of at least one of the first emulated resource device registers and that requests the performance of at least one second operation by the second emulated resource device; and

using, by the orchestrator device, the second emulated resource device mapping information to cause the second resource device to perform the at least one second operation requested by the second resource device instruction received from the BMS processing system.

18 . The method of claim 17 , wherein the modification of at least one of the second emulated resource device registers includes writing a value to a doorbell register included in the second emulated resource device registers, and wherein the at least one second operation includes a data transfer performed using a Direct Memory Access (DMA) operation that is controlled by the orchestrator device and that identifies the second emulated resource device as having initiated the DMA operation.

19 . The method of claim 17 , further comprising:

storing, by the orchestrator device in the memory system in the orchestrator device, an emulated topology that identifies the at least one emulated switch device, the first emulated port, the second emulated port, the first emulated resource device, and the second emulated resource device.

20 . The method of claim 14 , wherein the first emulated resource device is a Peripheral Component Interconnect express (PCIe) virtual function.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 16, 2022
From: RAMASWAMY, SRIKRISHNA; SESCILA, GLEN OWEN, III
To: DELL PRODUCTS L.P.
Reel/Frame 060527/0153 →
Continuity (1)
Related Publication 20240020158A1 · Jan 18, 2024
References Cited (10)
US 10509758B1 · Habusha · 2019 [cited by examiner]
US 11099894B2 · Davis et al. · 2021 [cited by applicant]
US 11403150B1 · Featonby · 2022 [cited by examiner]
US 20060168586A1 · Stone · 2006 [cited by examiner]
US 20160292007A1 · Ding · 2016 [cited by examiner]
US 20190347125A1 · Sankaran · 2019 [cited by examiner]
US 20210200588A1 · Reineke · 2021 [cited by examiner]
US 20220156211A1 · Ooi · 2022 [cited by examiner]
US 20230111884A1 · Lu · 2023 [cited by examiner]
US 20230214251A1 · Jing · 2023 [cited by examiner]