IP Library Granted Patent US 11,755,338
Granted Patent B2
US 11,755,338 · App. 17/385,717 · Granted Sep 12, 2023

Systems and methods for operating data processing units

Inventors: Shyam Iyer (Cedar Park, TX); Srinivas G. Gowda (Santa Clara, CA)
Assignee: Dell Products L.P.
G06F9/44505G06F9/4403G06F12/109G06F2212/657
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,755,338
App. No.
17/385,717
Granted
Sep 12, 2023
Kind
B2
Abstract

A node that includes data processing unit (DPU) and a processor, where the processor is configured to perform a method for utilizing a data processing unit (DPU), that includes identifying, by the DPU, a processing entity operatively connected to the DPU, receiving processing entity properties from the processing entity, storing the processing entity properties in a processing entity catalog, generating a virtual combined memory space in the processing entity catalog, and providing access to the processing entity catalog to a BIOS.

Claims (105)

1. A method for utilizing a data processing unit (DPU), comprising:

identifying, by the DPU, a processing entity operatively connected to the DPU;

receiving processing entity properties from the processing entity;

storing the processing entity properties in a processing entity catalog;

generating a virtual combined memory space in the processing entity catalog, wherein generating the virtual combined memory space in the processing entity catalog comprises:

identifying processing entity memory properties in the processing entity properties; and

in response to identifying the processing entity memory properties:

allocating a DPU virtual memory space for a memory of the processing entity, and

associating the DPU virtual memory space with the memory of the processing entity; and

providing access to the processing entity catalog to a BIOS.

2. The method of claim 1 , wherein after providing access to the processing entity catalog to the BIOS, the method further comprises:

receiving a copy of the processing entity catalog;

comparing the processing entity catalog to the copy of the processing entity catalog;

identifying, based on the comparing, a difference in the copy of the processing entity catalog; and

configuring, based on the difference, the processing entity.

3. The method of claim 2 , wherein configuring the processing entity comprises:

sending a command to the processing entity, wherein the command comprises:

instructions to modify a setting of the processing entity; and

receiving a confirmation, from the processing entity, that the setting of the processing entity was modified.

4. The method of claim 3 , wherein after receiving the confirmation, the method further comprises:

updating the processing entity catalog to include the difference; and

providing access to the processing entity catalog to the BIOS.

5. The method of claim 2 ,

wherein providing access to the processing entity catalog to the BIOS comprises:

creating the copy of the processing entity catalog in a shared memory, and

wherein receiving the copy of the processing entity catalog comprises:

identifying that the copy of the processing entity catalog has been modified.

6. The method of claim 1 , wherein after providing access to the processing entity catalog to the BIOS, the method further comprises:

receiving a write request, comprising:

a virtual memory address; and

data;

matching the virtual memory address with the memory of the processing entity; and

writing the data to the memory of the processing entity.

7. The method of claim 6 , wherein matching the virtual memory address with the memory of the processing entity comprises:

identifying, in the virtual combined memory space, the DPU virtual memory space that includes the virtual memory address; and

identifying a physical memory address associated with the virtual memory address, wherein the physical memory address is located on the memory of the processing entity.

8. A non-transitory computer readable medium comprising instructions which, when executed by a computer processor, enables the computer processor to perform a method for utilizing a data processing unit (DPU), comprising:

identifying, by the DPU, a processing entity operatively connected to the DPU;

receiving processing entity properties from the processing entity;

storing the processing entity properties in a processing entity catalog;

generating a virtual combined memory space in the processing entity catalog; providing access to the processing entity catalog to a BIOS;

wherein after providing access to the processing entity catalog to the BIOS:

receiving a copy of the processing entity catalog;

comparing the processing entity catalog to the copy of the processing entity catalog;

identifying, based on the comparing, a difference in the copy of the processing entity catalog; and

configuring, based on the difference, the processing entity.

9. The non-transitory computer readable medium of claim 8 , wherein configuring the processing entity comprises:

sending a command to the processing entity, wherein the command comprises: instructions to modify a setting of the processing entity; and

receiving a confirmation, from the processing entity, that the setting of the processing entity was modified.

10. The non-transitory computer readable medium of claim 9 , wherein after receiving the confirmation, the method further comprises:

updating the processing entity catalog to include the difference; and

providing access to the processing entity catalog to the BIOS.

11. The non-transitory computer readable medium of claim 8 ,

wherein providing access to the processing entity catalog to the BIOS comprises:

creating the copy of the processing entity catalog in a shared memory, and

wherein receiving the copy of the processing entity catalog comprises:

identifying that the copy of the processing entity catalog has been modified.

12. The non-transitory computer readable medium of claim 8 , wherein generating the virtual combined memory space in the processing entity catalog comprises:

identifying processing entity memory properties in the processing entity properties; and

in response to identifying the processing entity memory properties:

allocating a DPU virtual memory space for a memory of the processing entity; and

associating the DPU virtual memory space with the memory of the processing entity.

13. The non-transitory computer readable medium of claim 12 , wherein after providing access to the processing entity catalog to the BIOS, the method further comprises:

receiving a write request, comprising:

a virtual memory address; and

data;

matching the virtual memory address with the memory of the processing entity; and

writing the data to the memory of the processing entity.

14. The non-transitory computer readable medium of claim 13 , wherein matching the virtual memory address with the memory of the processing entity comprises:

identifying, in the virtual combined memory space, the DPU virtual memory space that includes the virtual memory address; and

identifying a physical memory address associated with the virtual memory address, wherein the physical memory address is located on the memory of the processing entity.

15. A node, comprising:

data processing unit (DPU); and

a processor, wherein the processor is configured to perform a method for utilizing the DPU, comprising:

identifying, by the DPU, a processing entity operatively connected to the DPU;

receiving processing entity properties from the processing entity;

storing the processing entity properties in a processing entity catalog;

generating a virtual combined memory space in the processing entity catalog;

providing access to the processing entity catalog to a BIOS;

wherein after providing access to the processing entity catalog to the BIOS:

receiving a copy of the processing entity catalog;

comparing the processing entity catalog to the copy of the processing entity catalog;

identifying, based on the comparing, a difference in the copy of the processing entity catalog; and

configuring, based on the difference, the processing entity.

16. The node of claim 15 , wherein configuring the processing entity comprises:

sending a command to the processing entity, wherein the command comprises:

instructions to modify a setting of the processing entity; and

receiving a confirmation, from the processing entity, that the setting of the processing entity was modified.

17. The node of claim 16 , wherein after receiving the confirmation, the method further comprises:

updating the processing entity catalog to include the difference; and

providing access to the processing entity catalog to the BIOS.

18. The node of claim 15 , wherein generating the virtual combined memory space in the processing entity catalog comprises:

identifying processing entity memory properties in the processing entity properties; and

in response to identifying the processing entity memory properties:

allocating a DPU virtual memory space for a memory of the processing entity; and

associating the DPU virtual memory space with the memory of the processing entity.

19. The node of claim 18 , wherein after providing access to the processing entity catalog to the BIOS, the method further comprises:

receiving a write request, comprising:

a virtual memory address; and

data;

matching the virtual memory address with the memory of the processing entity; and

writing the data to the memory of the processing entity.

20. The node of claim 19 , wherein matching the virtual memory address with the memory of the processing entity comprises:

identifying, in the virtual combined memory space, the DPU virtual memory space that includes the virtual memory address; and

identifying a physical memory address associated with the virtual memory address, wherein the physical memory address is located on the memory of the processing entity.

Assignments (8)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (058014/0560) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 062022/0473 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (057931/0392) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 062022/0382 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (057758/0286) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 061654/0064 →
SECURITY INTEREST Recorded Oct 6, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 058014/0560 →
SECURITY INTEREST Recorded Oct 6, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 057758/0286 →
SECURITY INTEREST Recorded Oct 6, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 057931/0392 →
SECURITY AGREEMENT Recorded Oct 1, 2021
From: DELL PRODUCTS, L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 057682/0830 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 2, 2021
From: IYER, SHYAM; GOWDA, SRINIVAS G.
To: DELL PRODUCTS L.P.
Reel/Frame 057047/0393 →
Continuity (1)
Related Publication 20230028430A1 · Jan 26, 2023