IP Library › Granted Patent US 11,836,087
Granted Patent B2
US 11,836,087 · App. 17/132,537 · Granted Dec 5, 2023

Per-process re-configurable caches

Inventor: Dmitri Yudanov (Rancho Cordova, CA)
Assignee: Micron Technology, Inc.
G06F12/0893G06F2212/608
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,836,087
App. No.
17/132,537
Granted
Dec 5, 2023
Kind
B2
Abstract

The disclosed embodiments relate to per-process configuration caches in storage devices. A method is disclosed comprising initiating a new process, the new process associated with a process context; configuring a region in a memory device, the region associated with the process context, wherein the configuring comprises setting one or more cache parameters that modify operation of the memory device; and mapping the process context to the region of the memory device.

Claims (32)

1. A method comprising:

initiating a new process, the new process associated with a process context associated with the new process in a memory device upon initiation and including data structures used by the new process during execution;

determining one or more cache parameters based on memory accesses of the previous instantiations based on monitored memory accesses of previous instantiations of the new process, the one or more cache parameters comprising categorical parameters that control how the new process accesses an assigned region of the memory device, wherein the one or more cache parameters are shared among the new process and one or more other processes;

configuring a region in the memory device based on the one or more cache parameters, the region associated with the allocated process context; and

mapping the process context to the region of the memory device.

2. The method of claim 1 , wherein a parent process of the new process is associated with a global context and wherein the new process can access the global context after launching.

3. The method of claim 1 , wherein the one or more cache parameters comprise a parameter selected from the group consisting of a capacity, memory page size, cache policy, associativity, bank number, cache line size, allotment guarantee, address space type, and quality of service (QoS) guarantee.

4. The method of claim 1 , further comprising determining optimal cache parameters using a self-organizing map.

5. The method of claim 1 , wherein configuring the region in the memory device comprises configuring memory usage via one or both of cpusets or cgroups.

6. The method of claim 1 , wherein configuring the region in the memory device comprises setting one or more registers in the memory device.

7. A non-transitory computer-readable storage medium for tangibly storing computer program instructions capable of being executed by a computer processor, the computer program instructions defining the steps of:

initiating a new process, the new process associated with a process context associated with the new process in a memory device upon initiation and including data structures used by the new process during execution;

determining one or more cache parameters based on memory accesses of the previous instantiations based on monitored memory accesses of previous instantiations of the new process, the one or more cache parameters comprising categorical parameters that control how the new process accesses an assigned region of the memory device, wherein the one or more cache parameters are shared among the new process and one or more other processes;

configuring a region in the memory device based on the one or more cache parameters, the region associated with the allocated process context; and

mapping the process context to the region of the memory device.

8. The non-transitory computer-readable storage medium of claim 7 , wherein a parent process of the new process is associated with a global context and wherein the new process can access the global context after launching.

9. The non-transitory computer-readable storage medium of claim 7 , wherein the one or more cache parameters comprise a parameter selected from the group consisting of a capacity, memory page size, cache policy, associativity, bank number, cache line size, allotment guarantee, address space type, and quality of service (QoS) guarantee.

10. The non-transitory computer-readable storage medium of claim 7 , further comprising determining optimal cache parameters using a self-organizing map.

11. The non-transitory computer-readable storage medium of claim 7 , wherein configuring the region in the memory device comprises configuring memory usage via one or both of cpusets or cgroups.

12. The non-transitory computer-readable storage medium of claim 11 , wherein configuring the region in the memory device comprises setting one or more registers in the memory device.

13. A device comprising:

a memory device;

a processor; and

a storage medium for tangibly storing thereon program logic for execution by the processor, the program logic configured to perform the steps of:

initiating a new process, the new process associated with a process context associated with the new process in a memory device upon initiation and including data structures used by the new process during execution;

determining one or more cache parameters based on memory accesses of the previous instantiations based on monitored memory accesses of previous instantiations of the new process, the one or more cache parameters comprising categorical parameters that control how the new process accesses an assigned region of the memory device, wherein the one or more cache parameters are shared among the new process and one or more other processes;

configuring a region in the memory device based on the one or more cache parameters, the region associated with the allocated process context; and

mapping the process context to the region of the memory device.

14. The device of claim 13 , wherein a parent process of the new process is associated with a global context and wherein the new process can access the global context after launching.

15. The device of claim 13 , wherein the one or more cache parameters comprise a parameter selected from the group consisting of a capacity, memory page size, cache policy, associativity, bank number, cache line size, allotment guarantee, address space type, and quality of service (QoS) guarantee.

16. The device of claim 13 , wherein configuring the region in the memory device comprises configuring memory usage via one or both of cpusets or cgroups.

17. The device of claim 16 , wherein configuring the region in the memory device comprises setting one or more registers in the memory device.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 23, 2020
From: YUDANOV, DMITRI
To: MICRON TECHNOLOGY, INC.
Reel/Frame 054740/0348 →
Continuity (1)
Related Publication 20220197814A1 · Jun 23, 2022
Cited By (1)
US 12,632,383