Random access memory and corresponding method for managing a random access memory
US-2024404613-A1 · Dec 5, 2024 · US
US9355022B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9355022-B2 |
| Application number | US-201313784429-A |
| Country | US |
| Kind code | B2 |
| Filing date | Mar 4, 2013 |
| Priority date | Dec 7, 2012 |
| Publication date | May 31, 2016 |
| Grant date | May 31, 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.
Systems and method for performing intelligent flash management are disclosed. A controller may determine if a write pattern exists between a set of writes associated with a first data chunk and a set of writes associated with a second data chunk based on whether a number of writes for first data chunk is equal to a number of writes for second data chunk; a degree to which a sequence of logical block address for the first data chunk matches the sequence of logical block addresses for the second data chunk; and a degree to which a size of each write for the first data chunk matches a size of each write for the second data chunk. The controller may then perform storage management operations based on whether or not a write pattern exists.
Opening claim text (preview).
The invention claimed is: 1. In a processor of a storage system, a method for performing storage management operations, the method comprising: determining whether a number of writes to a storage device to store a first data chunk at the storage device is equal to a number of writes to the storage device to store a second data chunk at the storage device; determining a degree to which a sequence of logical block addresses where the first data chunk is stored at the storage device matches a sequence of logical block addresses where the second data chunk is stored at the storage device; determining a degree to which a size of each write of data to store the first data chunk at the storage device matches a size of each write of data to store the second data chunk at the storage device; determining whether or not a write pattern exists based on at least one of the determination of whether the number of writes to store the first data chunk is equal to the number of writes to store the second data chunk, the degree to which the sequence of logical block addresses where the first data chunk is stored matches the sequence of logical block addresses where the second data chunk is stored, or the degree to which the size of each write to store the first data chunk matches the size of each write to store the second data chunk; and performing storage management operations within the storage device based on the determination of whether or not a write pattern exists. 2. The method of claim 1 , wherein determining whether or not a write pattern exists comprises: determining a write pattern does not exist based on at least one of: determining that the number of writes to store the first data chunk is not equal to the number of writes to store the second data chunk, determining that the degree to which the sequence of logical block where addresses the first data chunk is stored matches the sequence of logical block addresses where the second data chunk is stored is less than a first threshold, or determining that the degree to which the size of each write to store the first data chunk matches the size of each write to store the second data chunk is less than a second threshold. 3. The method of claim 2 , wherein performing storage management operations within the storage device based on the determination of whether or not a write pattern exists comprises: maintaining logical block addresses associated with at least one of the first data chunk and the second data chunk in an update block based on the determination that a write pattern does not exist. 4. The method of claim 1 , wherein determining whether or not a write pattern exists comprises: determining a write pattern exists based on determining the number of writes to store the first data chunk is equal to the number of writes to store the second data chunk, determining the degree to which the sequence of logical block addresses where the first data chunk is stored matches the sequence of logical block addresses where the second data chunk is stored meets or exceeds a first threshold, and determining the degree to which the size of each write to store the first data chunk matches the size of each write to store the second data chunk meets or exceeds a second threshold. 5. The method of claim 4 , further comprising: predicting one or more logical block addresses where writes will occur after a period of time based on the determination that a write pattern exists; wherein performing storage management operations comprises restoring data stored at the one or more predicted logical block addresses in the update block. 6. The method of claim 4 , further comprising: predicting one or more logical block addresses where no writes will occur within a period of time based on the determination that a write pattern exists; wherein performing storage management operations comprises writing data stored at the one or more predicted logical block addresses to a data block. 7. The method of claim 4 , further comprising: after determining that a write pattern exists: determining whether a number of writes to the storage device to store the first data chunk is equal to a number of writes to the storage device to store a third data chunk; determining a degree to which a sequence of logical block addresses where the first data chunk is stored matches a sequence of logical block addresses where the third data chunk is stored; determining a degree to which a size of each write of data to store the first data chunk matches a size of each write of data to store the third data chunk; and determining that the write pattern has ceased based on at least one of: determining that the number of writes to store the first data chunk is not equal to the number of writes to store the third data chunk, determining that the degree to which the sequence of logical block addresses where the first data chunk is stored matches the sequence of logical block addresses where the third data chunk is stored is less than the first threshold, or determining that the degree to which the size of each write to store the first data chunk matches the size of each write of data to store the third data chunk is less than the second threshold. 8. The method of claim 4 , further comprising: predicting a misaligned page boundary write associated with a third data chunk based on the determined write pattern; and adjusting, based on the predicted misaligned page boundary write, one or more writes of data to the storage device associated with the third data chunk to avoid a misaligned page boundary write. 9. The method of claim 1 , further comprising: determining whether a number of writes to the storage device to store the first data chunk is equal to a number of writes to the storage device to store a third data chunk; determining a degree to which a sequence of logical block addresses where the first data chunk is stored matches a sequence of logical block addresses where the third data chunk is stored; and determining a degree to which a size of each write of data to store the first data chunk matches a size of each write of data to store the third data chunk; wherein determining whether or not a write pattern exists comprises determining whether or not a write pattern exists based on at least one of: the determination of whether the number of writes to store the first data chunk is equal to the number of writes to store the second data chunk, the degree to which the sequence of logical block addresses where the first data chunk is stored matches the sequence of logical block addresses where the second data chunk is stored, the degree to which the size of each write to store the first data block matches the size of each write to store the second data chunk; the determination of whether the number of writes to store the first data chunk is equal to the number of writes to store the third data chunk, the degree to which the sequence of logical block addresses where the first data chunk is stored matches the sequence of logical block addresses where the third data chunk, or the degree to which the size of each write to store the first data chunk matches the size of each write to store the third data chunk. 10. The method of claim 9 , wherein determining whether or not a write pattern exists comprises determining a write pattern exists based on: determining that the number of writes to store the first data chunk is equal to the number of writes to store the second data chunk, determining that the degree to which the sequence of logical block addresses where the first data chunk is stored matches the sequence of logical block addresses where the second data chunk is stored meets or exceeds a
Free address space management · CPC title
Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP] · CPC title
Management of blocks · CPC title
Improving I/O performance · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.