Systems and methods for reordering data in a storage device based on data access patterns
US-2023004318-A1 · Jan 5, 2023 · US
US12386508B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-12386508-B2 |
| Application number | US-202318214286-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jun 26, 2023 |
| Priority date | May 9, 2023 |
| Publication date | Aug 12, 2025 |
| Grant date | Aug 12, 2025 |
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.
Systems and methods for cache management of a storage device are disclosed. The storage device is configured to receive a first code provided by a computing device; execute the first code; perform a first update of the first storage medium based on the first code; receive a second code provided by the computing device; execute the second code; and perform a second update of the first storage medium based on the second code.
Opening claim text (preview).
What is claimed is: 1. A storage device comprising: a first storage medium including volatile memory; a second storage medium including persistent memory; a processor configured to communicate with the first storage medium; and a memory coupled to the processor, the memory storing instructions that, when executed by the processor, cause the processor to: receive a first code provided by a computing device based on execution of a first function of a software process, wherein the first code includes instructions that implement a software cache fetching algorithm specified by the computing device; execute the first code to implement the software cache fetching algorithm; perform a first update of the first storage medium based on the first code, wherein the first update includes fetching first data from the second storage medium to the first storage medium based on the software cache fetching algorithm, wherein the first data is identified by a second function of the software process; receive a second code provided by the computing device; execute the second code; and perform a second update of the first storage medium based on the second code. 2. The storage device of claim 1 , wherein the first code is for retrieving first data from the second storage medium and storing the first data into the first storage medium. 3. The storage device of claim 2 , wherein the second code is for modifying the first data from the first storage medium. 4. The storage device of claim 2 , wherein the second code is for retrieving second data from the second storage medium and storing the second data into the first storage medium. 5. The storage device of claim 2 , wherein the first storage medium includes volatile memory, and the second storage medium includes non-volatile memory. 6. The storage device of claim 2 , wherein the instructions further cause the processor to: receive a first command from the computing device; access the first storage medium for the first data based on the first command; determine a first status of the first data associated with the first storage medium; and retrieve the first data from the first storage medium. 7. The storage device of claim 6 , wherein the instructions further cause the processor to: receive a second command from the computing device; check the first storage medium for the first data based on the second command; determine a second status of the first data associated with the first storage medium; and retrieve the first data from the second storage medium. 8. The storage device of claim 2 , wherein the storage device includes a cache controller for processing movement of data from the second storage medium into the first storage medium. 9. The storage device of claim 1 , wherein the first code includes compiled machine-readable code. 10. The storage device of claim 1 , wherein the computing device is configured to provide an interface for generating source code, wherein the source code is compiled into the first code. 11. A method comprising: receiving, by a storage device, a first code provided by a computing device based on execution of a first function of a software process, wherein the first code includes instructions that implement a software cache fetching algorithm specified by the computing device; executing, by the storage device, the first code to implement the software cache fetching algorithm; performing, by the storage device, a first update of a first storage medium based on the first code, wherein the first update includes fetching first data from a second storage medium to the first storage medium based on the software cache fetching algorithm, wherein the first data is identified by a second function of the software process; receiving, by the storage device, a second code provided by the computing device; executing, by the storage device, the second code; and performing, by the storage device, a second update of the first storage medium based on the second code. 12. The method of claim 11 , wherein the first code is for retrieving first data from the second storage medium and storing the first data into the first storage medium. 13. The method of claim 12 , wherein the second code is for modifying the first data from the first storage medium. 14. The method of claim 12 , wherein the second code is for retrieving second data from the second storage medium and storing the second data into the first storage medium. 15. The method of claim 12 , wherein the first storage medium includes volatile memory, and the second storage medium includes non-volatile memory. 16. The method of claim 12 further comprising: receiving a first command from the computing device; accessing the first storage medium for the first data based on the first command; determining a first status of the first data associated with the first storage medium; and retrieving the first data from the first storage medium. 17. The method of claim 16 further comprising: receiving a second command from the computing device; checking the first storage medium for the first data based on the second command; determining a second status of the first data associated with the first storage medium; and retrieving the first data from the second storage medium. 18. The method of claim 12 , wherein the storage device includes a cache controller for processing movement of data from the second storage medium into the first storage medium. 19. The method of claim 11 , wherein the first code includes compiled machine-readable code. 20. The method of claim 11 , wherein the computing device is configured to provide an interface for generating source code, wherein the source code is compiled into the first code.
Plurality of storage devices · CPC title
Monitoring storage devices or systems · CPC title
Non-volatile memory · CPC title
Reliability improvement, data loss prevention, degraded operation etc · CPC title
Performance improvement · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.