Method to persistent invalidation to ensure cache durability
US-2016011984-A1 · Jan 14, 2016 · US
US9727278B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9727278-B2 |
| Application number | US-201313917253-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jun 13, 2013 |
| Priority date | Jun 13, 2013 |
| Publication date | Aug 8, 2017 |
| Grant date | Aug 8, 2017 |
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.
An emulation mitigation module is configured to mitigate emulation of legacy write requests on advanced disk devices using cached data stored in a cache memory of a storage system. A legacy write request may comprise write data blocks formatted in a legacy sector size while an advanced disk device may be formatted in an advanced sector size. The emulation mitigation module may execute a first method for modifying write requests using cached data, a second method for enforcing a minimum requested data size sent to the advanced disk device, and/or a third method for conditionally retrieving data from the advanced disk device and storing to cache. In some embodiments, the second and/or third method may be used with the first method to increase the effectiveness of the first method. The emulation mitigation module may improve performance and/or data integrity for of processing legacy write requests.
Opening claim text (preview).
What is claimed is: 1. A system comprising: a memory containing machine readable medium comprising machine executable code having stored thereon instructions for performing a method of mitigating write emulation for a disk device using cache memory; and a processor coupled to the memory, wherein the processor is configured to execute the machine executable code to cause the processor to: receive a write request comprising write data to be written to the disk device, the write data including at least one write data block formatted in a first sector size, the disk device comprising a plurality of sectors formatted in a second sector size, the second sector size being larger than the first sector size, and each sector storing a plurality of data blocks comprising the first sector size; determine a corresponding sector on the disk device for the write data block to be written to the disk device; determine that a cache device stores a corresponding set of data blocks corresponding to all of the plurality of data blocks stored in the corresponding sector on the disk device to which the write data block is to be written; replace a corresponding data block in the corresponding set of data blocks on the cache device with the write data block to produce a modified corresponding set of data blocks on the cache device, the modified corresponding set of data blocks comprising the write data block and at least one additional data block; and send a modified write request to the disk device, the modified write request comprising the modified corresponding set of data blocks from the cache device to be written to the corresponding sector on the disk device. 2. The system of claim 1 , wherein: the corresponding set of data blocks are aligned to boundaries of the at least one corresponding sector. 3. The system of claim 1 , wherein: the corresponding data block in the corresponding set of data blocks on the cache device has a same storage address as the write data block to be stored to the corresponding sector on the disk device; and the additional data block does not have the same storage address as the write data block. 4. The system of claim 1 , wherein: the second sector size used to format the plurality of sectors of the disk device is a native sector size of the disk device; and the second sector size is an integer multiple of the first sector size. 5. The system of claim 1 , wherein the machine executable code further causes the processor to: retain the modified corresponding set of data blocks in the cache device until a message is received from the disk device, the message indicating that the modified write request is successfully completed on the disk device. 6. The system of claim 1 , wherein the machine executable code further causes the processor to: execute a write caching algorithm for caching data to the cache device based on received write requests. 7. The system of claim 1 , wherein the machine executable code further causes the processor to: provide a minimum requested data size for any read request sent to the disk device, the minimum requested data size comprising the second sector size. 8. The system of claim 1 , wherein the machine executable code further causes the processor to: determine that the at least one additional data block is not stored to the cache device, before determining that the cache device stores the corresponding set of data blocks; retrieve the at least one additional data block from the disk device; and store the at least one additional data block to the cache device. 9. A non-transitory machine readable medium having stored thereon instructions for performing a method comprising machine executable code which when executed by at least one machine, causes the machine to: receive, at a storage system comprising a cache device, a write request comprising write data for storing to a disk device, the write data formatted in a first sector size and comprising at least one write data block comprising the first sector size, the disk device comprising a plurality of sectors formatted in a second sector size, the second sector size being larger than the first sector size, each sector storing a plurality of data blocks comprising the first sector size; determine at least one corresponding sector on the disk device, the at least one write data block to be stored to the at least one corresponding sector on the disk device; determine that the cache device stores a corresponding set of data blocks corresponding to all of the plurality of data blocks stored in the at least one corresponding sector on the disk device, the corresponding set of data blocks comprising at least one corresponding data block and at least one additional data block, each corresponding data block corresponding to a write data block; replace each corresponding data block with a corresponding write data block in the corresponding set of data blocks to produce a modified corresponding set of data blocks comprising at least one write data block and at least one additional data block; and send a modified write request to the disk device, the modified write request comprising the modified corresponding set of data blocks. 10. The non-transitory computer readable medium of claim 9 , wherein: the corresponding set of data blocks are aligned to boundaries of the at least one corresponding sector. 11. The non-transitory computer readable medium of claim 9 , wherein: a first corresponding data block, corresponding to a first write data block, has a same storage address as the first write data block; and an additional data block does not have a same storage address as a write data block. 12. The non-transitory computer readable medium of claim 9 , wherein: the plurality of sectors of the disk device comprises a native size comprising the second sector size, the plurality of sectors being written in the second sector size; and the second sector size is an integer multiple of the first sector size. 13. The non-transitory computer readable medium of claim 9 , wherein the instructions further cause the machine to: retain the modified corresponding set of data blocks in the cache device until a message is received from the disk device, the message indicating that the modified write request is successfully completed on the disk device. 14. The non-transitory computer readable medium of claim 9 , wherein the instructions further cause the machine to: execute a write caching algorithm for caching data to the cache device based on received write requests. 15. The non-transitory computer readable medium of claim 9 , wherein the instructions further cause the machine to: provide a minimum requested data size for any read request sent to the disk device, the minimum requested data size comprising the second sector size. 16. The non-transitory computer readable medium of claim 9 , wherein the instructions further cause the machine to: determine that the at least one additional data block is not stored to the cache device, before determining that the cache device stores the corresponding set of data blocks; retrieve the at least one additional data block from the disk device; and store the at least one additional data block to the cache device. 17. A system comprising: a memory containing machine readable medium comprising machine executable code having stored thereon instructions for performing a method of mitigating write emulation for a disk device using cache memory; and a processor coupled to the memory, wherein the processor is configured to execute the mach
by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device · CPC title
Magnetic disk device · CPC title
Command handling arrangements, e.g. command buffers, queues, command scheduling · CPC title
in relation to response time · CPC title
RMW, i.e. Read-Modify-Write method for RAID systems · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.