Storage device including indirect access module, method of operating the same, and method of operating storage system including the same
US-12045483-B2 · Jul 23, 2024 · US
US10114740B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10114740-B2 |
| Application number | US-201514880264-A |
| Country | US |
| Kind code | B2 |
| Filing date | Oct 11, 2015 |
| Priority date | Sep 12, 2011 |
| Publication date | Oct 30, 2018 |
| Grant date | Oct 30, 2018 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Memory management techniques that permit an executing process to store content in memory and later retrieve that content from the memory, but that also permit a memory manager to discard that content to address memory pressure. A process executing on a computing device may notify a memory manager of the computing device that first memory space allocated to the process contains first content that is available for discard. If the memory manager detects the computing device is experiencing memory pressure, the memory manager may address the memory pressure by selecting memory space available for discard and discarding the content of the memory space. Before a process reuses content made available for discard, the process may notify the memory manager of the intent to reuse and, in response, receive empty memory and an indication that the content was discarded or receive an indication that the content is still available for use.
Opening claim text (preview).
What is claimed is: 1. A computing device, the computing device comprising: at least one memory and at least one processor, the at least one memory and the at least one processor being respectively configured to store and execute instructions, including instructions for performing operations, the operations including: allocating space in the at least one memory to a process executing on the computing device; receiving an instruction from the process that: data stored in at least a portion of the allocated space is to be discarded, the data stored in at least the portion of the allocated space is to be retained, or the data stored in at least the portion of the allocated space is available to be potentially discarded; retaining or discarding the data based at least in part on the instruction and on memory usage for the computing device, wherein the instruction is based at least in part on whether the process is capable of regenerating the data. 2. The computing device of claim 1 , wherein the operations also include: receiving the instruction that the data stored in at least the portion of the memory space is available to be potentially discarded; subsequently receiving a request from the process for the data; and providing the data to the process. 3. The computing device of claim 1 , wherein the operations also include: receiving the instruction that the data stored in at least the portion of the memory space is available to be potentially discarded; and receiving a notification of a priority level for the data stored in at least the portion of the allocated space that is available to be potentially discarded. 4. The computing device of claim 1 , wherein the operations also include: receiving the instruction that the data stored in at least the portion of the memory space is available to be potentially discarded; and retaining or discarding the data available to be potentially discarded based at least in part on whether the computing device is to undergo a power state transition. 5. The computing device of claim 1 , wherein: the process is a graphics driver process; and the data is a render target. 6. The computing device of claim 1 , wherein the instruction that the data stored in at least the portion of the allocated space is available to be potentially discarded is also an indication that the allocated space is to remain allocated to the process. 7. The computing device of claim 1 , wherein the instruction is based at least in part on a determination that the data will not be used within a threshold period of time. 8. A method of managing memory, the method comprising: allocating space in at least one memory to a process executing on the computing device; receiving an indication from the process that the data stored in at least the portion of the allocated space is available to be potentially discarded; and managing the data available to be potentially discarded based at least in part on the indication and on memory usage for the computing device, wherein the indication is based at least in part on a determination that the data will not be used within a threshold period of time. 9. The method of claim 8 , further comprising: after receiving the indication, receiving a request from the process for the data; and providing the data to the process. 10. The method of claim 8 , further comprising: receiving a notification of a priority level for the data stored in at least the portion of the allocated space that is available to be potentially discarded. 11. The method of claim 8 , wherein managing the data available to be potentially discarded includes: retaining or discarding the data available to be potentially discarded based at least in part on whether the computing device is to undergo a power state transition. 12. The method of claim 8 , wherein: the process is a graphics driver process; and the data available to be potentially discarded is video data. 13. The method of claim 8 , wherein the indication that the data stored in at least the portion of the allocated space is available to be potentially discarded is also an indication that the allocated space is to remain allocated to the process. 14. The method of claim 8 , wherein the indication is based at least in part on a whether the process can regenerate the data. 15. A computing device, comprising: at least memory device; and at least one processor, wherein the at least one memory device and the at least one processor respectively store and execute instructions, including instructions that cause the at least one processor to manage memory allocated to one or more processes executing on the computing device, the management of the memory comprising: receiving an indication that a first allocated memory space contains first content that is available for discard; receiving an indication that a second allocated memory space contains second content that is available for discard; subsequently receiving an indication of a shortage of memory space available for use by the computing device; selecting, based at least in part on a determination that the data will not be used within a threshold period of time, from amongst the first content and the second content, which content is to be discarded; and discarding the selecting content. 16. The computing device of claim 15 , wherein the selecting of which content is to be discarded is based at least in part on a time the first or second content was indicated as available for discard or an indicated priority level of the first or second content. 17. The computing device of claim 15 , wherein the management of the memory also includes receiving indications of priority levels for the first content and the second content, and wherein the selecting of which content is to be discarded is based at least in part the indicated priority level of the first content and on the indicated priority level of the second content. 18. The computing device of claim 15 , wherein discarding the selected content includes allowing the selected content to be overwritten.
using clearing, invalidating or resetting means · CPC title
Virtual address space management · CPC title
Arbitration of resources in a display system, e.g. control of access to frame buffer by video controller and/or main processor · CPC title
Combination of memories, e.g. ROM and RAM such as to permit replacement or supplementing of words in one module by words in another module (address formation of the next microinstruction G06F9/26; masking faults in memories by using spares or by reconfiguring G11C29/70) · CPC title
Memory management · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.