US12562206B2ActiveUtilityA1

Methods and apparatus for dynamically adjusting performance of partitioned memory

72
Assignee: MICRON TECHNOLOGY INCPriority: Jul 8, 2019Filed: Jul 18, 2022Granted: Feb 24, 2026
Est. expiryJul 8, 2039(~13 yrs left)· nominal 20-yr term from priority
G11C 29/52G11C 29/02G11C 2211/4062G06F 11/1052G06F 11/1048G11C 11/2273G11C 11/221G11C 13/0033G11C 16/3418G11C 7/04G11C 2029/0407G11C 29/42G11C 29/023G11C 2029/0411G11C 29/028G11C 11/40622G11C 11/40618G11C 11/40626G11C 8/12G11C 29/70G11C 11/408G11C 11/406
72
PatentIndex Score
0
Cited by
15
References
20
Claims

Abstract

Methods and apparatus for dynamically adjusting performance of partitioned memory. In one embodiment, the method includes receiving one or more configuration requests for the memory device, determining whether to grant the one or more configuration requests for the memory device, in response to the determining, implementing the one or more configuration requests within the memory device and operating the memory device in accordance with the implementing. The adjusting of the performance for the partitioned memory includes one or more of enabling/disabling refresh operations, altering a refresh rate for the partitioned memory, enabling/disabling error correcting code (ECC) circuitry for the partitioned memory, and/or altering a memory cell architecture for the partitioned memory. Systems and applications that may benefit from the dynamic adjustment of performance are also disclosed.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
         1 . A non-transitory computer readable storage medium having stored thereon computer-readable instructions, the computer-readable instructions configured to, upon execution by a processing apparatus of a computerized apparatus, cause the computerized apparatus to:
 receive, from an untrusted application via one or more application programming interfaces of an operating system, data representative of one or more configuration requests to configure one or more memory arrays of a memory device;   implement the one or more configuration requests.   
     
     
         2 . The computer readable apparatus of  claim 1 , wherein the untrusted application comprises an application generated or developed by a party different from a developer of the computer-readable instructions. 
     
     
         3 . The computer readable apparatus of  claim 2 , wherein the computer-readable instructions are further configured to, upon execution by the processing apparatus of the computerized apparatus, cause the computerized apparatus to:
 utilize the one or more application programming interfaces to perform one or more checks on the one or more configuration requests from the untrusted application, the one or more checks configured to determine whether the one or more configuration requests comply with one or more trust protocols of the computerized apparatus.   
     
     
         4 . The computer readable apparatus of  claim 1 , wherein:
 the receipt of the one or more configuration requests comprises receipt of one or more configuration requests from an application for a prescribed amount of memory of the one or more memory arrays for a video processing application; and   the implementation of the one or more configuration requests comprises disablement of at least one of:
 an error-correcting code; or 
 a fuse bank operation, based on a reliance on video processing software of the video processing application for error recovery. 
   
     
     
         5 . The computer readable apparatus of  claim 1 , wherein:
 the receipt of the one or more configuration requests comprises receipt of one or more configuration requests from an application for a prescribed amount of memory of the one or more memory arrays for a video processing application; and   the implementation of the one or more configuration requests comprises causation of a memory driver of the computerized apparatus to configure memory cells of the one or more memory arrays to convert from a two-transistor two-capacitor operation to a one-transistor one-capacitor operation, thereby increasing memory capacity within the one or more memory arrays.   
     
     
         6 . The computer readable apparatus of  claim 1 , wherein:
 the receipt of the one or more configuration requests comprises receipt of one or more configuration requests from an application for a prescribed amount of memory of the one or more memory arrays for a video processing application; and   the implementation of the one or more configuration requests comprises causation of a memory driver of the computerized apparatus to reduce a refresh rate for a least one of:
 specified size; or 
 a number of arrays based on a determination that video application data is used faster than default refreshing intervals. 
   
     
     
         7 . The computer readable apparatus of  claim 1 , wherein the computer-readable instructions are further configured to, upon execution by the processing apparatus of the computerized apparatus, cause the computerized apparatus to:
 determine, based on a prioritization scheme, whether to implement the one or more configuration requests.   
     
     
         8 . The computer readable apparatus of  claim 7 , wherein:
 the data representative of the one or more configuration requests comprises data representative of at least one request from at least one trusted application and data representative of at least one request from at least one entrusted application, wherein the at least one trusted application comprises an application generated or developed by a same party that developed the computer-readable instructions; and   the determination, based on the prioritization scheme, whether to implement the one or more configuration requests comprises a determination to implement the least one request from the at least one trusted application based on the least one request from the at least one trusted application having a higher priority than the at least one request from the at least one entrusted application.   
     
     
         9 . A computing device comprising:
 a processing apparatus;   a memory device integrated within the computing device and in communication with the processing apparatus; and   a computer readable apparatus comprising a non-transitory storage medium having stored thereon computer-readable instructions, the computer-readable instructions configured to, upon execution by the processing apparatus, cause the computing device to:   determine whether to change a configuration of the memory device based on at least one configuration request from a user space application; and   implement the change to the configuration of the memory device.   
     
     
         10 . The computing device of  claim 9 , wherein the determination of whether to change the configuration of the memory device comprises a determination that a change to the configuration of the memory device is needed based on at least one of:
 a current application load; or   one or more system configurations.   
     
     
         11 . The computing device of  claim 10 , wherein:
 the determination that the change to the configuration of the memory device is needed based on the at least one of:
 the current application load; or 
 the one or more system configurations comprises a determination that additional memory is required to service a current application load; and 
   the implementation of the change to the configuration of the memory device comprises causation of a switch of one or more memory arrays of the memory device from a two-transistor two-capacitor operation to a one-transistor one-capacitor operation, thereby increasing capacity of the one or more memory arrays.   
     
     
         12 . The computing device of  claim 9 , wherein the computer-readable instructions are configured to, upon execution by the processing apparatus, cause the computing device to:
 receive data representative of at least one configuration request from a user space application; and   wherein the determination of whether to change the configuration of the memory device comprises a determination of whether to grant the at least one configuration request based on a current usage of one or more memory arrays of the memory device.   
     
     
         13 . The computing device of  claim 9 , wherein the computer-readable instructions are configured to, upon execution by the processing apparatus, cause the computing device to:
 receive data representative of at least one configuration request from a user space application, the at least one configuration request associated with a first priority level;   based on the determination whether to change the configuration of the memory device, cause a denial of the at least one configuration request;   based on the denial, receive data representative of a re-submission of the at least one configuration request; and   based on the re-submission of the at least one configuration request, change the at least one configuration request from the first priority level to a second priority level, the second priority level being a higher priority level than the first priority level.   
     
     
         14 . The computing device of  claim 9 , wherein the computer-readable instructions are configured to, upon execution by the processing apparatus, cause the computing device to:
 receive data representative of at least two configuration requests;   wherein:
 the determination of whether to change the configuration of the memory device comprises a determination of whether to grant the at least two configuration requests; and 
 the determination of whether to grant the at least two configuration requests comprises a determination of whether one of the at least two configuration requests conflicts with another one of the at least two configuration requests. 
   
     
     
         15 . The computing device of  claim 9 , wherein the implementation of the change to the configuration of the memory device comprises comprise disablement of an error-correcting code function of the memory device. 
     
     
         16 . A method for operating a memory device, comprising:
 receiving data representative of one or more configuration requests for the memory device;   determining whether to grant the one or more configuration requests for the memory device based on a determination that an allocation of at least one memory array of the memory device to an application can be released;   based at least on the determining, implementing the one or more configuration requests within the memory device; and   causing operation of the memory device in accordance with the implementing.   
     
     
         17 . The method of  claim 16 , wherein the receiving of the data representative of the one or more configuration requests comprises receiving data representative of at least two requests; and the method further comprises:
 determining whether to implement individual ones of the at least two requests based on a priority scheme.   
     
     
         18 . The method of  claim 17 , wherein the determining of whether to implement the individual ones of the at least two requests based on the priority scheme comprises prioritizing implementation of one of the at least two requests received from a user interface application over one of the at least two requests received from a background daemon. 
     
     
         19 . The method of  claim 16 , further comprising:
 determining that an allocation of at least one memory array of the memory device to a application can be released;   based on the determining that the allocation of the at least one memory array of the memory device to the application can be released, pre-emptively freeing the at least one memory array of the memory device prior to receiving one or more subsequent requests for memory allocation.   
     
     
         20 . The method of  claim 16 , wherein the receiving of the data representative of the one or more configuration requests for the memory device comprises receiving of the data representative of two or more configuration requests; and
 the method further comprises:   determining that respective grants of at least two of the two or more configuration requests can be consolidated.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.