IP Library › Granted Patent US 12,112,074
Granted Patent B2
US 12,112,074 · App. 17/706,975 · Granted Oct 8, 2024

Maintaining quality of service of non-volatile memory devices in heterogeneous environment

Inventors: Yaron Klein (Raanana, IL); Oded Ilan (Tel-Aviv, IL)
Assignee: KIOXIA CORPORATION
G06F3/0664G06F3/0619G06F3/0679
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,112,074
App. No.
17/706,975
Granted
Oct 8, 2024
Kind
B2
Abstract

In some arrangements, a manager of a storage system determines at least one abstracted memory structure for a tenant using a non-volatile memory of at least one non-volatile storage device. The abstracted memory structure includes at least one hardware storage unit of the non-volatile memory of the at least one non-volatile storage device. The at least one abstracted memory structure includes one or more of at least one virtual device corresponding to an application of the tenant or at least one domain corresponding to a volume of the application of the tenant. A virtual device mapping that maps the application of the tenant to the at least one hardware storage unit corresponding to the at least one virtual device is determined. A domain mapping that maps the volume to the at least one hardware storage unit corresponding to the at least one domain is determined.

Claims (54)

1. A method, comprising:

determining, by a manager, an abstracted memory structure for a tenant using a non-volatile memory of at least one non-volatile storage device,

wherein the abstracted memory structure comprises a plurality of hardware storage units of the non-volatile memory of the at least one non-volatile storage device, the abstracted memory structure comprises one of:

a plurality of virtual devices corresponding to an application a plurality of applications of the tenant; and

a plurality of domains corresponding to a plurality of volumes of the applications of the tenant, wherein the volumes comprise data used by the applications of the tenant; and

determining, by the manager:

a virtual device mapping that maps the applications of the tenant to the plurality of hardware storage units corresponding to the plurality of virtual devices; and

a domain mapping that maps the volumes comprising the data used by the applications of the tenant to the plurality of hardware storage units corresponding to the plurality of domains, wherein a first one of the plurality of volumes for a first application is mapped to a first one of the plurality of hardware storage units corresponding to a first one of the plurality of domains, and a second different one of the plurality of volumes for a second different one of the plurality of applications is mapped to a second different one of the plurality of hardware storage units corresponding to a second different one of the plurality of domains.

2. The method of claim 1 , further comprising allocating, by the manager, at least one node for the tenant based on requirements of the tenant, wherein each of the at least one node comprises one or more of the least one non-volatile storage device.

3. The method of claim 2 , wherein the requirements of the tenant comprises at least one of required capacity of the tenant and storage type.

4. The method of claim 2 , wherein

the plurality of hardware storage units comprise at least one die of the non-volatile memory of each of the at least one non-volatile storage device;

each of the at least one virtual device comprises the at least one die of the non-volatile memory of each of the at least one non-volatile storage device; and

determining the abstracted memory structure using the non-volatile memory of the at least one non-volatile storage device comprises determining the at least one die of the non-volatile memory of each the at least one non-volatile storage device for the applications of the tenant based on requirements of the applications.

5. The method of claim 4 , wherein the requirements of the applications comprises required capacity of the applications and replication characteristics.

6. The method of claim 4 , wherein

each of one or more of the at plurality of virtual devices comprises one or more of the plurality of domains;

each of the plurality of domains comprise one or more of the at least one die of the non-volatile memory of each of the at least one non-volatile storage device; and

determining the abstracted memory structure using the non-volatile memory of the at least one non-volatile storage device comprises determining the one or more of the at least one die of the non-volatile memory of each the at least one non-volatile storage device for the volumes of the applications of the tenant based on requirements of the volumes.

7. The method of claim 6 , wherein the requirements of the volumes comprises required capacity of the volume and storage class.

8. The method of claim 2 , wherein

the at least one node comprises two or more nodes; and

each of the two or more nodes comprises one or more of the at least one non-volatile storage device.

9. The method of claim 8 , wherein

a first one of the plurality of virtual devices is determined using the one or more of the at least one non-volatile storage device of a first node of the two or mode nodes; and

a second one of the plurality of virtual devices is determined using the one or more of the at least one non-volatile storage device of a second node of the two or mode nodes.

10. The method of claim 8 , wherein a first one of the plurality of virtual devices is determined using the one or more of the at least one non-volatile storage device of a first node of the two or mode nodes and the one or more of the at least one non-volatile storage device of a second node of the two or mode nodes.

11. The method of claim 1 , wherein

the at least one non-volatile storage device comprises two non-volatile storage devices;

a first one of the plurality of virtual devices is determined using a first non-volatile storage device of the two non-volatile storage devices; and

a second one of the plurality of virtual devices is determined using a second non-volatile storage device of the two non-volatile storage devices.

12. The method of claim 11 , wherein the two non-volatile storage devices are on a same node.

13. The method of claim 11 , wherein the two non-volatile storage devices are on different nodes.

14. The method of claim 11 , wherein data stored on the first and second virtual devices are concatenated.

15. The method of claim 11 , wherein data stored on the first and second virtual devices are mirrored.

16. The method of claim 11 , wherein data stored on the first and second virtual devices are striped.

17. The method of claim 1 , further comprising indicating, by the manager to a first non-volatile storage device of the at least one non-volatile storage device, that data corresponding to a first one of the plurality of virtual devices stored in a first location of the first virtual device is to be copied to a second location of the first virtual device in response to storing the data in the first location.

18. The method of claim 1 , wherein data corresponding to the first application is stored in or read from the first hardware storage unit corresponding to a first one of the plurality of virtual devices using the virtual device mapping.

19. The method of claim 1 , wherein data corresponding to the first volume is stored in or read from the first hardware storage unit corresponding to the first domain using the domain mapping.

20. At least one non-transitory computer-readable medium comprising computer-readable instructions, such that, when executed, by a processor, causes the processor to:

determine an abstracted memory structure for a tenant using a non-volatile memory of non-volatile storage device,

wherein the abstracted memory structure comprises a plurality of hardware storage units of the non-volatile memory of the at least one non-volatile storage device, the abstracted memory structure comprises one of:

a plurality of virtual devices corresponding to a plurality of applications of the tenant; and

a plurality of domains corresponding to a plurality of volumes of the applications of the tenant, wherein the volumes comprise data used by the applications of the tenant; and

determine a virtual device mapping that maps the applications of the tenant to the plurality of hardware storage units corresponding to the plurality of virtual devices; and

determine a domain mapping that maps the volumes comprising the data used by the applications of the tenant to the plurality of hardware storage units corresponding to the plurality of domains, wherein a first one of the plurality of volumes for a first application is mapped to a first one of the plurality of hardware storage units corresponding to a first one of the plurality of domains, and a second different one of the plurality of volumes for a second different one of the plurality of applications is mapped to a second different one of the plurality of hardware storage units corresponding to a second different one of the plurality of domains.

21. A manager communicably coupled to at least one non-volatile storage device, comprising:

a processing circuit configured to:

determine an abstracted memory structure for a tenant using a non-volatile memory of the at least one non-volatile storage device,

wherein the abstracted memory structure comprises a plurality of hardware storage units of the non-volatile memory of the at least one non-volatile storage device, the abstracted memory structure comprises one of:

a plurality of virtual devices corresponding to a plurality of applications of the tenant; and

a plurality of domains corresponding to a plurality of volumes of the applications of the tenant, wherein the volumes comprise data used by the applications of the tenant; and

determine a virtual device mapping that maps the applications of the tenant to the plurality of hardware storage units corresponding to the plurality of virtual devices; and

determine a domain mapping that maps the volumes comprising the data used by the applications of the tenant to the plurality of hardware storage units corresponding to the plurality of domains, wherein a first one of the plurality of volumes for a first application is mapped to a first one of the plurality of hardware storage units corresponding to a first one of the plurality of domains, and a second different one of the plurality of volumes for a second different one of the plurality of applications is mapped to a second different one of the plurality of hardware storage units corresponding to a second different one of the plurality of domains.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 8, 2022
From: KLEIN, YARON; ILAN, ODED
To: KIOXIA ISRAEL LIMITED
Reel/Frame 061027/0747 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 8, 2022
From: KIOXIA ISRAEL LIMITED
To: KIOXIA AMERICA, INC.
Reel/Frame 061027/0810 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 8, 2022
From: KIOXIA AMERICA, INC.
To: KIOXIA CORPORATION
Reel/Frame 061027/0917 →
Continuity (1)
Related Publication 20230315344A1 · Oct 5, 2023