Electronic system with memory control mechanism and method of operation thereof
US-2015363312-A1 · Dec 17, 2015 · US
US9304914B1 · US · B1
| Field | Value |
|---|---|
| Publication number | US-9304914-B1 |
| Application number | US-201314038665-A |
| Country | US |
| Kind code | B1 |
| Filing date | Sep 26, 2013 |
| Priority date | Sep 26, 2013 |
| Publication date | Apr 5, 2016 |
| Grant date | Apr 5, 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.
A computer-implemented method for caching content in a cache memory device is disclosed. The method starts with receiving a request for accessing a first data block associated with a first file, and a file manager provides access of the first data block in a persistent storage device of a storage system. The file manager then caches the first data block in a cache memory device including deduplicating the first data block, wherein at least some of data blocks stored in the cache memory device are deduplicated data blocks, and wherein at least one of the data blocks is referenced by different regions of an identical file or different files.
Opening claim text (preview).
What is claimed is: 1. A computer-implemented method for caching content in a cache memory device, the method comprising: receiving a request for accessing a first data block associated with a first data object; providing, by a data object manager, access of the first data block in a persistent storage device of a storage system; deduplicating the first data block into deduplicated data blocks, wherein at least some of data blocks stored in the cache memory device are deduplicated data blocks, and wherein at least one of the data blocks is referenced by different regions of an identical data object or different data objects, wherein deduplicating the first data block comprises determining whether the first data block has been stored in the cache memory device based on a first fingerprint by matching the first fingerprint of the first data block against fingerprints of the data blocks that have been stored in the cache memory device, in response to determining that the first data block has been stored in the cache memory device as a second data block, associating the first data block of the first data object with the second data block stored in the cache memory, without storing the first data block in the cache memory device; packing the deduplicated data blocks into one or more write-evict units (WEUs); and storing the WEUs in the cache memory device, wherein each of the WEUs has a size that is determined based on an erase unit size of the cache memory device, such that random access to the cache memory device can be reduced and a lifespan of the cache memory device can be improved, wherein the erase unit size depends upon a specification of a type of the cache memory device, and wherein data stored in the cache memory device is erased on a per-erase unit basis according to the specification of the cache memory device. 2. The method of claim 1 , wherein the second data block was cached in the cache memory device during a previous process of a different region of the first data object or a second data object that is different than the first data object. 3. The method of claim 1 , wherein associating the first data block of the first data object with the second data block comprises associating the first data block of the first data object with a storage location of the second data block obtained from a fingerprint entry of a fingerprint index that matches the first fingerprint. 4. The method of claim 3 , further comprising maintaining a object index having a plurality of object entries, each object entry mapping a particular data block of a particular data object to a particular storage location of the cache memory device. 5. The method of claim 4 , further comprising: receiving a second request for accessing a third data block of a third data object; performing a lookup operation in the object index based on an identifier identifying the third data block of the third data object; and if a matched object entry is found in the object index, providing access to the third data block from a storage location of the cache memory device that is obtained from the matched object entry. 6. The method of claim 1 , wherein the first data object represents a file or a data region of a storage unit of the storage system. 7. A storage system, comprising: one or more storage units to store a plurality of data objects; a cache memory device to cache at least some data blocks of at least some of the data objects, wherein at least some of data blocks cached in the cache memory device are deduplicated data blocks, and wherein at least one of the data blocks is referenced by different regions of an identical data object or different data objects, wherein caching includes: determining whether the first data block has been stored in the cache memory device based on a first fingerprint by matching the first fingerprint of the first data block against fingerprints of the data blocks that have been stored in the cache memory device, and in response to determining that the first data block has been stored in the cache memory device as a second data block, associating the first data block of the first data object with the second data block stored in the cache memory, without storing the first data block in the cache memory device; a data object manager executed by a processor to provide an interface to access the plurality of data objects stored in the one or more storage units; and a cache manager executed by the processor to deduplicate the data blocks stored within the cache memory device, wherein the cache manager is to pack the deduplicated data blocks into one or more write-evict units (WEUs), and to store the WEUs in the cache memory device, wherein each of the WEUs has a size that is determined based on an erase unit size of the cache memory device, such that random access to the cache memory device can be reduced and a lifespan of the cache memory device can be improved, wherein the erase unit size depends upon a specification of a type of the cache memory device, and wherein data stored in the cache memory device is erased on a pet-erase unit basis according to the specification of the cache memory device. 8. The storage system of claim 7 , wherein the second data block was cached in the cache memory device during a previous process of a different region of the first data object or a second data object that is different than the first data object. 9. The storage system of claim 7 , wherein associating the first data block of the first data object with the second data block comprises associating the first data block of the first data object with a storage location of the second data block obtained from a fingerprint entry of a fingerprint index that matches the first fingerprint. 10. The storage system of claim 9 , wherein associating the first data block of the first data object with the second data block further comprises maintaining a file index having a plurality of object entries, each object entry mapping a particular data block of a particular data object to a particular storage location of the cache memory device. 11. The storage system of claim 10 , wherein associating the first data block of the first file with the second data block further comprises: receiving a second request for accessing a third data block of a third data object; performing a lookup operation in the object index based on an identifier identifying the third data block of the third data object; and if a matched object entry is found in the object index, providing access to the third data block from a storage location of the cache memory device that is obtained from the matched object entry. 12. The storage system of claim 7 , wherein the first data object represents a file or a data region of a storage unit of the storage system. 13. A non-transitory computer-readable storage medium having instructions stored therein, which when executed by a processor, cause the processor to perform operations for caching content in a cache memory device, the operations comprising: receiving a request for accessing a first data block associated with a first data object; providing, by a data object manager, access of the first data block in a persistent storage device of a storage system; deduplicating the first data block into deduplicated data blocks, wherein at least some of data blocks stored in the cache memory device are deduplicated data blocks, and wherein at least one of the data blocks is referenced by different regions of an identical data object or different data objects, wherein deduplicating the first data block comprises determining whether the first data block has been stored in the
Allocation or management of cache space · CPC title
Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches · CPC title
File · CPC title
In storage device · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.