IP Library Granted Patent US 10,782,993
Granted Patent B2
US 10,782,993 · App. 15/783,011 · Granted Sep 22, 2020

Systems and methods for secure runtime dynamic resizing of memory namespaces

Inventors: Balaji Bapu Gururaja Rao (Austin, TX); Shekar Babu Suryanarayana (Bangalore, IN); Yogesh P. Kulkarni (Round Rock, TX)
Assignee: Dell Products L.P.
G06F9/45558G06F3/0604G06F3/064G06F3/0631G06F3/0665G06F21/53G06F21/6218G06F2009/45583G06F2009/45587
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,782,993
App. No.
15/783,011
Granted
Sep 22, 2020
Kind
B2
Abstract

In accordance with embodiments of the present disclosure, an information handling system may include a memory subsystem and a processor subsystem communicatively coupled to the memory subsystem and configured to execute a hypervisor, wherein the hypervisor is configured to host a plurality of virtual machines and host an interface to the memory subsystem, wherein the interface is configured to dynamically modify sizes of namespaces instantiated within the memory subsystem by maintaining super metadata associated with each of a plurality of memory modules of the memory subsystem, wherein the super metadata for a particular memory module of the memory subsystem includes one or more entries for the particular memory module, each entry defining a namespace of the particular memory module and recording an offset of the latest written data in the namespace.

Claims (42)

1. An information handling system, comprising:

a memory subsystem; and

a processor subsystem communicatively coupled to the memory subsystem and configured to execute a hypervisor, wherein the hypervisor is configured to host a plurality of virtual machines and host an interface to the memory subsystem, wherein the interface is configured to dynamically modify sizes of namespaces instantiated within the memory subsystem by maintaining super metadata associated with each of a plurality of memory modules of the memory subsystem in an interface table that is accessible by the virtual machines only via a runtime protected service of the hypervisor;

wherein the super metadata for a particular memory module of the memory subsystem includes one or more entries for the particular memory module, each entry defining a namespace of the particular memory module and recording an offset of the latest written data in the namespace.

2. The information handling system of claim 1 , wherein the plurality of memory modules comprise persistent memory modules.

3. The information handling system of claim 2 , wherein the persistent memory modules comprise non-volatile dual-inline memory modules (NVDIMMs).

4. The information handling system of claim 3 , wherein the super metadata is stored as one or more entries in an NVDIMM Firmware Interface Table.

5. The information handling system of claim 1 , wherein super metadata is abstracted from the virtual machines by the runtime protected service.

6. A method comprising:

hosting on a hypervisor a plurality of virtual machines; and

hosting on the hypervisor an interface between a processor subsystem upon which the hypervisor executes and a memory subsystem communicatively coupled to the processor subsystem, wherein the interface is configured to dynamically modify sizes of namespaces instantiated within the memory subsystem by maintaining super metadata associated with each of a plurality of memory modules of the memory subsystem in an interface table that is accessible by the virtual machines only via a runtime protected service of the hypervisor;

wherein the super metadata for a particular memory module of the memory subsystem includes one or more entries for the particular memory module, each entry defining a namespace of the particular memory module and recording an offset of the latest written data in the namespace.

7. The method of claim 6 , wherein the plurality of memory modules comprise persistent memory modules.

8. The method of claim 7 , wherein the persistent memory modules comprise non-volatile dual-inline memory modules (NVDIMMs).

9. The method of claim 8 , wherein the super metadata is stored as one or more entries in an NVDIMM Firmware Interface Table.

10. The method of claim 6 , wherein super metadata is abstracted from the virtual machines by the runtime protected service.

11. An information handling system, comprising:

a memory subsystem; and

a processor subsystem communicatively coupled to the memory subsystem and configured to execute a hypervisor, wherein the hypervisor is configured to host a plurality of virtual machines, a file system, a hardware driver interface to the memory subsystem, and a virtual namespace interposer interfaced between the file system and the hardware driver;

wherein the hypervisor is further configured to maintain super metadata associated with each of a plurality of memory modules of the memory subsystem in an interface table that is accessible by the virtual machines only via a runtime protected service of the hypervisor;

wherein the virtual namespace interposer is configured to:

during an unfragmented state of the memory subsystem, pass through namespace creation requests and input/output requests to the memory subsystem; and

during a fragmented state of the memory subsystem:

in response to a request to create a new namespace, create the new namespace as a virtual namespace mapped to two or more non-contiguous physical block namespaces of the memory subsystem; and

in response to an input/output request to the memory subsystem:

determine if the input/output request is to a virtual namespace;

pass through the input/output request if the request is to a namespace other than a virtual namespace; and

translate the input/output request to map the virtual namespace to the two or more non-contiguous physical block namespaces of the memory subsystem making up the virtual namespace if the input/output request is to a virtual namespace.

12. The information handling system of claim 11 , wherein the memory subsystem comprises persistent memory modules.

13. The information handling system of claim 12 , wherein the persistent memory modules comprise non-volatile dual-inline memory modules (NVDIMMs).

14. The information handling system of claim 13 , wherein the virtual namespace interposer is interfaced between an NVDIMM Firmware Interface Table and the hardware driver.

15. A method comprising, in a memory subsystem communicatively coupled to a processor subsystem configured to execute a hypervisor, wherein the hypervisor is configured to host a plurality of virtual machines, a file system, a hardware driver interface to the memory subsystem, and a virtual namespace interposer interfaced between the file system and the hardware driver, wherein the hypervisor is further configured to maintain super metadata associated with each of a plurality of memory modules of the memory subsystem in an interface table that is accessible by the virtual machines only via a runtime protected service of the hypervisor:

during an unfragmented state of the memory subsystem, passing through, by the virtual namespace interposer, namespace creation requests and input/output requests to the memory subsystem; and

during a fragmented state of the memory subsystem:

in response to a request to create a new namespace, creating, by the virtual namespace interposer, the new namespace as a virtual namespace mapped to two or more non-contiguous physical block namespaces of the memory subsystem; and

in response to an input/output request to the memory subsystem:

determining, by the virtual namespace interposer, if the input/output request is to a virtual namespace;

passing through, by the virtual namespace interposer, the input/output request if the request is to a namespace other than a virtual namespace; and

translating, by the virtual namespace interposer, the input/output request to map the virtual namespace to the two or more non-contiguous physical block namespaces of the memory subsystem making up the virtual namespace if the input/output request is to a virtual namespace.

16. The method of claim 15 , wherein the memory subsystem comprises persistent memory modules.

17. The method of claim 16 , wherein the persistent memory modules comprise non-volatile dual-inline memory modules (NVDIMMs).

18. The method of claim 17 , wherein the virtual namespace interposer is interfaced between an NVDIMM Firmware Interface Table and the hardware driver.

Assignments (8)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (044535/0109) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO WYSE TECHNOLOGY L.L.C.)
Reel/Frame 060753/0414 →
RELEASE OF SECURITY INTEREST AT REEL 044535 FRAME 0001 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058298/0475 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
PATENT SECURITY AGREEMENT (CREDIT) Recorded Nov 29, 2017
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 044535/0001 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Nov 29, 2017
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 044535/0109 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 16, 2017
From: RAO, BALAJI BAPU GURURAJA; SURYANARAYANA, SHEKAR BABU; KULKARNI, YOGESH P.
To: DELL PRODUCTS L.P.
Reel/Frame 043870/0518 →
Continuity (1)
Related Publication 20190114192A1 · Apr 18, 2019
Cited By (2)
US 12,299,280 US 12,436,697