IP Library › Granted Patent US 10,725,663
Granted Patent B2
US 10,725,663 · App. 16/231,229 · Granted Jul 28, 2020

Data management scheme in virtualized hyperscale environments

Inventors: Manu Awasthi (Milpitas, CA); Robert Brennan (Santa Clara, CA)
Assignee: SAMSUNG ELECTRONICS CO., LTD.
G06F3/061G06F3/0631G06F3/0685
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,725,663
App. No.
16/231,229
Granted
Jul 28, 2020
Kind
B2
Abstract

According to one general aspect, a memory management unit (MMU) may be configured to interface with a heterogeneous memory system that comprises a plurality of types of storage mediums. Each type of storage medium may be based upon a respective memory technology and may be associated with performance characteristic(s). The MMU may receive a data access for the heterogeneous memory system. The MMU may also determine at least one of the storage mediums of the heterogeneous memory system to service the data access. The target storage medium may be selected based upon at least one performance characteristic associated with the target storage medium and a quality of service tag that is associated with the virtual machine and that indicates one or more performance characteristics. The MMU may route the data access by the virtual machine to the at least one of the storage mediums.

Claims (47)

1. An apparatus comprising:

a memory management unit configured to:

interface with a heterogeneous memory system that comprises a plurality of types of storage mediums, wherein each type of storage medium is based upon a respective memory technology and is associated with one or more performance characteristics;

receive, from a virtual machine, a data access for the heterogeneous memory system;

determine at least one of the storage mediums of the heterogeneous memory system to service the data access, wherein the target storage medium is selected based, at least in part, upon at least one performance characteristic associated with the target storage medium and a quality of service tag that is associated with the virtual machine and that indicates one or more of the at least one performance characteristic; and

route the data access by the virtual machine to the at least one of the storage mediums.

2. The apparatus of claim 1 , wherein the memory management unit is configured to, in response to a triggering event, move data associated with the virtual machine from a first storage medium to a second storage medium.

3. The apparatus of claim 2 , wherein the triggering event includes that data not being accessed within a predefined time period.

4. The apparatus of claim 2 , wherein the triggering event includes relaxing one or more of the performance characteristics guaranteed by the virtual machine.

5. The apparatus of claim 1 , wherein the quality of service tag includes at least two portions;

wherein a first portion of the quality of service tag indicates a performance characteristic guaranteed by the virtual machine; and

wherein a second portion of the quality of service tag indicates a range of values for the performance characteristic guaranteed by the virtual machine.

6. The apparatus of claim 1 , wherein the memory management unit is configured to:

maintain a count of an amount of allocable storage space associated with each storage medium; and

route a data access by the virtual machine to at least one of the storage mediums based, at least in part, upon the amount of allocable storage space associated with each respective storage medium, and the quality of service tag.

7. The apparatus of claim 6 , wherein the memory management unit is configured to allocate data associated with the virtual machine across two or more of the storage mediums.

8. The apparatus of claim 6 , wherein the memory management unit is configured to allocate memory pages of the virtual machine across two or more storage devices, wherein the two or more storage devices share a same, physical address space.

9. The apparatus of claim 1 , wherein the virtual machine is configured to execute a plurality of applications; and

wherein each of the applications is associated with a quality of service tag that indicates one or more performance characteristics guaranteed by the virtual machine.

10. The apparatus of claim 1 , wherein the heterogeneous memory system comprises both volatile and non-volatile storage mediums.

11. A method comprising:

receiving, from a virtual machine that is executed by a processor, a data access for a heterogeneous memory system,

wherein the heterogeneous memory system comprises a plurality of types of storage mediums, wherein each type of storage medium is based upon a respective memory technology and is associated with one or more performance characteristic;

determining, by a memory management unit, a target storage medium of the heterogeneous memory system for the data access based, at least in part, upon at least one performance characteristic associated with the target storage medium and a quality of service tag that is associated with the virtual machine and that indicates one or more of the at least one performance characteristic guaranteed by the virtual machine; and

routing, by the memory management unit, the data access, at least partially, between the processor and the target storage medium.

12. The method of claim 11 , further comprising, in response to a triggering event, moving data associated with the virtual machine from a first storage medium to a second storage medium.

13. The method of claim 12 , wherein the triggering event includes the data not being accessed within a predefined time period.

14. The method of claim 12 , wherein the triggering event includes relaxing one or more of the performance characteristics guaranteed by the virtual machine.

15. The method of claim 11 , wherein the quality of service tag includes at least two portions;

wherein a first portion of the quality of service tag indicates a performance characteristic guaranteed by the virtual machine; and

wherein a second portion of the quality of service tag indicates a range of values for the performance characteristic guaranteed by the virtual machine.

16. The method of claim 11 , wherein determining a target storage medium comprises:

maintaining a count of an amount of allocable storage space associated with each storage medium; and

selecting a target storage medium based, at least in part, upon the amount of allocable storage space associated with each respective storage medium, and the quality of service tag.

17. The method of claim 11 , wherein the virtual machine is configured to execute a plurality of applications, wherein each of the applications is associated with a quality of service tag that indicates one or more performance characteristics guaranteed by the virtual machine; and

wherein determining a target storage medium comprises determining which application executed is associated with the data access.

18. An apparatus comprising:

a processing-side interface configured to receive a data access of a memory system;

a memory router configured to:

determine if the memory access targets a heterogeneous memory system that comprises a plurality of types of storage mediums, wherein each type of storage medium is based upon a respective memory technology and is associated with one or more performance characteristic, and

if the memory access targets a heterogeneous memory system, select a target storage medium of the heterogeneous memory system for the data access based, at least in part, upon at least one performance characteristic associated with the target storage medium and a quality of service tag that is associated with the data access and that indicates one or more of the at least one performance characteristic; and

a heterogeneous memory system interface configured to, if the memory access targets a heterogeneous memory system, route the data access, at least partially, to the target storage medium.

19. The apparatus of claim 18 , wherein the memory router is configured to, in response to a triggering event, move data associated with the virtual machine from a first storage medium to a second storage medium.

20. The apparatus of claim 18 , wherein the memory router is configured to:

maintain a count of an amount of allocable storage space associated with each storage medium; and

select a target storage medium based, at least in part, upon the amount of allocable storage space associated with each respective storage medium, and the quality of service tag,

such that when a preferred storage medium falls below a threshold level of allocable storage space, a less preferred storage medium is selected as the target storage medium.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 3, 2019
From: AWASTHI, MANU; BRENNAN, ROBERT
To: SAMSUNG ELECTRONICS CO., LTD.
Reel/Frame 048486/0703 →
Continuity (5)
Continuation 14729026 · Jun 2, 2015
Continuation In Part 14561204 · Dec 4, 2014
Provisional Application 62082604 · Nov 20, 2014
Provisional Application 62039415 · Aug 19, 2014
Related Publication 20190146670A1 · May 16, 2019
Cited By (1)
US 12,386,742