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
US9489293B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9489293-B2 |
| Application number | US-201313970317-A |
| Country | US |
| Kind code | B2 |
| Filing date | Aug 19, 2013 |
| Priority date | Aug 17, 2012 |
| Publication date | Nov 8, 2016 |
| Grant date | Nov 8, 2016 |
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.
Techniques for opportunistic data storage are described. In one embodiment, for example, an apparatus may comprise a data storage device and a storage management module, and the storage management module may be operative to receive a request to store a set of data in the data storage device, the request indicating that the set of data is to be stored with opportunistic retention, the storage management module to select, based on allocation information, storage locations of the data storage device for opportunistic storage of the set of data and write the set of data to the selected storage locations. Other embodiments are described and claimed.
Opening claim text (preview).
The invention claimed is: 1. An apparatus, comprising: a data storage device having first storage space configured to store first data, the first data stored with opportunistic retention that is unavailable for access by an application when the first storage space is reallocated by a storage management module resulting in permanent loss of the first data; the data storage device having second storage space configured to store second data, the second data stored with guaranteed retention that is available for access by the application until the application overwrites the second storage space; and a processor coupled to a memory and configured to execute the application and the storage management module, the storage management module when executed operable to: receive a request from the application to store first new data on the data storage device, determine that there is not an amount of free storage space on the data storage device to store the first new data, discard a first portion of the first data with the opportunistic retention stored at a selected storage location in the first storage space resulting in the permanent loss of the first portion of the first data, store the first new data at the selected storage location in the first storage space upon discarding the first portion of the first data, and convert the selected storage location in the first storage space that stores the first new data from the opportunistic retention to the guaranteed retention such that the first new data stored in the converted selected storage location cannot be discarded to store subsequent opportunistic data. 2. The apparatus of claim 1 , wherein the storage management module is further operable to update allocation information to indicate that the selected storage location stores the first new data. 3. The apparatus of claim 1 , wherein the storage management module is further operable to discard the first portion of the first data utilizing an opportunistic capacity policy that considers a weighting for at least one of a performance cost, a device endurance, and a recentness of data use. 4. The apparatus of claim 1 , wherein the storage management module is further operable to discard the first portion of the first data with the opportunistic retention using a block-level granularity. 5. The apparatus of claim 1 , wherein the storage management module is further operable to discard the first portion of the first data with the opportunistic retention using a byte-level granularity. 6. The apparatus of claim 1 , wherein the storage management module is further operable to discard the first portion of the first data with the opportunistic retention using a record-level granularity. 7. The apparatus of claim 1 , wherein the storage management module is further operable to discard the first portion of the first data with the opportunistic retention using an object-level granularity. 8. The apparatus of claim 1 , wherein the first portion of the first data with the opportunistic retention is least recently used data. 9. The apparatus of claim 1 , wherein the storage management module is further operable to perform at least one storage reduction operation to reduce an amount of storage space required to store the first new data. 10. The apparatus of claim 9 , wherein the at least one storage reduction operation includes at least one of data compression, data de-duplication, and copy-by-reference. 11. The apparatus of claim 1 , wherein the storage management module is further operable to convert the selected storage location storing the first new data from the guaranteed retention back to the opportunistic retention. 12. The apparatus of claim 1 , wherein the selected storage location includes logical block addresses (LBAs) associated with physical storage locations on the data storage device. 13. The apparatus of claim 1 , wherein the storage management module is further operable to: receive a second request to store second new data on the data storage device, the second new data to be stored with the guaranteed retention; and write the second new data to at least one other storage location on the data storage device designated for the guaranteed retention. 14. The apparatus of claim 1 , further comprising a display screen coupled to the processor of the apparatus, the display screen operable to present visual effects based on storage of the first new data on the data storage device. 15. A method, comprising: storing first data in first storage space of a data storage device, the first data stored with opportunistic retention that is unavailable for access by an application when the first storage space is reallocated by a processor resulting in permanent loss of the first data; storing second data in second storage space of the data storage device, the second data stored with guaranteed retention such that the second data is available for access by the application until the application overwrites the second storage space; receiving, from the application executed by the processor, a request to store first new data on the data storage device, the request indicating that the first new data to be stored with the opportunistic retention; discarding, by the processor, a first portion of the first data with the opportunistic retention stored at a selected storage location in the first storage space resulting in permanent loss of the first portion of the first data, based on an opportunistic capacity policy that includes a weighted function; writing the first new data to the selected storage location in the first storage space upon discarding the first portion of the first data; and converting the selected storage location in the first storage space that stores the first new data from the opportunistic retention to the guaranteed retention such that the first new data stored in the converted selected storage location cannot be discarded to store subsequent opportunistic data. 16. The method of claim 15 , further comprising updating allocation information to indicate that the storage location stores the first new of data. 17. The method of claim 15 , wherein the opportunistic capacity policy considers a weighting for at least one of a performance cost, a device endurance, and a recentness of data use for discarding the first portion of the first data. 18. The method of claim 17 , further comprising discarding the first portion of the first data with opportunistic retention using a block-level granularity. 19. The method of claim 17 , further comprising discarding the first portion of the first data with opportunistic retention using a byte-level granularity. 20. The method of claim 17 , further comprising discarding the first portion of the first data with opportunistic retention using a record-level granularity. 21. The method of claim 17 , further comprising discarding the first portion of the first data with opportunistic retention using an object-level granularity. 22. The method of claim 17 , wherein the first portion of the first data with opportunistic retention is least recently used data. 23. The method of claim 17 , further comprising determining that the first portion of the first data is to be discarded based on insufficient free space on the storage device to store the first new data. 24. The method of claim 15 , comprising performing at least one storage reduction operation to reduce an amount of storage space required for storing the fi
Addressing or allocation; Relocation (program address sequencing G06F9/00; arrangements for selecting an address in a digital store G11C8/00) · CPC title
De-duplication techniques · CPC title
Saving storage space on storage systems · CPC title
Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP] · CPC title
by allocating resources to storage systems · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.