US2020272331A1PendingUtilityA1

Optimization of memory systems based on performance goals

Assignee: MICRON TECHNOLOGY INCPriority: Apr 2, 2018Filed: May 13, 2020Published: Aug 27, 2020
Est. expiryApr 2, 2038(~11.7 yrs left)· nominal 20-yr term from priority
Inventors:Alex Frolikov
G06F 9/505G06F 3/0605G06F 9/54G06F 11/3037G06F 3/0679G06F 11/3442G06F 3/061G06F 3/067G06F 11/3433G06F 3/0631G06F 3/0634
59
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

A memory system having a set of media, a set of resources, and a controller configured via firmware to use the set of resources in processing requests from a host system to store data in the media or retrieve data from the media. The memory system has a performance manager that identifies settings for allocations of the resources in the processing of the requests based on a user identified preference and optionally further based on operation statistics of the memory system.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
         1 . A memory system, comprising:
 a set of media;   a set of resources; and   a controller configured to use the set of resources in processing requests from a host system to store data in the media or retrieve data from the media;   wherein a performance manager identifies settings for allocations of the resources in the processing of the requests based on a user identified preference.   
     
     
         2 . The memory system of  claim 1 , wherein the set of media includes a flash memory. 
     
     
         3 . The memory system of  claim 2 , wherein the memory system is a solid state drive. 
     
     
         4 . The memory system of  claim 1 , wherein the user identified preference selects a performance goal from a plurality of predefined performance goals that have a plurality of setting profiles; and the settings for the allocations of the resources are from a profile selected from the plurality of setting profiles according to the performance goal selected by the user identified preference. 
     
     
         5 . The memory system of  claim 1 , wherein the user identified preference specifies a plurality of weights for a plurality of predefined performance goals that have a plurality of setting profiles; and the settings for the allocations of the resources are computed by applying the plurality of weights on the plurality of setting profiles respectively. 
     
     
         6 . The memory system of  claim 1 , wherein the memory system stores a plurality of setting profiles for a plurality of predefined performance goals respectively; and the settings for the allocations of the resources are based on the plurality of setting profiles. 
     
     
         7 . The memory system of  claim 6 , wherein the plurality of predefined performance goals include at least one of:
 optimization for read intensive usage of the memory system;   optimization for write intensities usage of the memory system; and   optimization for durability of the memory system.   
     
     
         8 . The memory system of  claim 6 , wherein the set of resources includes at least one of: volatile memory, registers, communication buses, and inter-process communication channels. 
     
     
         9 . The memory system of  claim 6 , wherein the controller includes a plurality processors running a plurality of processes; each of the processes performs one of a plurality of tasks in the memory system; and the settings balance resource allocations among the tasks. 
     
     
         10 . The memory system of  claim 6 , wherein the performance manager determines operation statistics of the memory system and identifies settings for allocations of the resources further based on the operation statistics. 
     
     
         11 . A method, comprising:
 providing a set of media and a set of resources in a memory system;   receiving, in the memory system, a user identified preference;   identifying settings for allocations of the resources based on the user identified preference; and   processing, by a controller running firmware of the memory system, requests from a host system to store data in the media or retrieve data from the media, using the resources allocated according to the settings.   
     
     
         12 . The method of  claim 11 , wherein the set of media includes a flash memory; the memory system is a solid state drive; and the set of resources includes at least one of: volatile memory, registers, communication buses, and inter-process communication channels. 
     
     
         13 . The method of  claim 11 , wherein the controller includes a plurality processors running a plurality of processes; each of the processes performs one of a plurality of tasks in the memory system; and the settings balance resource allocations among the tasks. 
     
     
         14 . The method of  claim 13 , further comprising:
 storing a plurality of setting profiles for a plurality of predefined performance goals respectively;   wherein the settings for the allocations of the resources are based on the plurality of setting profiles.   
     
     
         15 . The method of  claim 14 , wherein the plurality of predefined performance goals include at least one of:
 optimization for read intensive usage of the memory system;   optimization for write intensive usage of the memory system; and   optimization for durability of the memory system.   
     
     
         16 . The method of  claim 14 , wherein the user identified preference selects a performance goal from the plurality of predefined performance goals; and the method further includes:
 selecting a profile from the plurality of setting profiles according to the performance goal selected by the user identified preference;   wherein the settings for the allocations of the resources are identified from the profile selected according to the performance goal.   
     
     
         17 . The method of  claim 14 , wherein the user identified preference specifies a plurality of weights for the plurality of predefined performance goals; and the method further includes:
 applying the plurality of weights on the plurality of setting profiles respectively to compute the settings for the allocations of the resources.   
     
     
         18 . The method of  claim 14 , further comprising:
 determining operation statistics of the memory system;   wherein the identifying of the settings for allocations of the resources is further based on the operation statistics.   
     
     
         19 . A non-transitory computer storage medium storing instructions which, when executed by a memory system having a set of media and a set of resources and a controller, cause the memory system to perform a method, the method comprising:
 determining operation statistics of the memory system;   receiving, in the memory system, a user identified preference;   identifying settings for allocations of the resources based on the user identified preference and the operation statistics; and   processing, by the memory system, requests from a host system to store data in the media or retrieve data from the media, using the resources allocated according to the settings.   
     
     
         20 . The non-transitory computer storage medium of  claim 19 , wherein the method further comprises:
 storing a plurality of setting profiles for a plurality of predefined performance goals respectively; and   computing a plurality of first weights for the plurality of predefined performance goals respectively based on the operation statistics;   wherein the user identified preference specifies a plurality of second weights for the plurality of predefined performance goals respectively; and   wherein the plurality of first weights and the plurality of second weights are applied on the plurality of setting profiles to determine the settings for the allocations of the resources.

Join the waitlist — get patent alerts

Track US2020272331A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.