System and method for cache management
US-9507732-B1 · Nov 29, 2016 · US
US9760293B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9760293-B2 |
| Application number | US-201313952722-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jul 29, 2013 |
| Priority date | Mar 7, 2013 |
| Publication date | Sep 12, 2017 |
| Grant date | Sep 12, 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.
A plurality of arrays of storage devices, each providing dual storage device redundancy, is provided. The plurality of arrays of storage devices includes a plurality of mirrored sets of primary storage devices, each including an even number of at least two or more primary storage devices. Each of the mirrored sets of primary storage devices stores a first and a second copy of data. The plurality of arrays of storage devices also includes a secondary storage device, which is a single physical storage device that stores a third copy of the data stored on each of the plurality of mirrored sets of primary storage devices. The secondary storage device has at least the capacity to store the data stored on the plurality of mirrored sets of primary storage devices. Dual storage device redundancy preserves data if data cannot be read from one or two physical storage devices in any array.
Opening claim text (preview).
We claim: 1. A plurality of arrays of storage devices, comprising: a plurality of mirrored sets of primary storage devices comprising at least one RAID 10 array, the plurality of mirrored sets of primary storage devices each a different volume from the other mirrored sets of primary storage devices, storing a first and a second copy of data and comprising an even number of at least two or more physical primary storage devices; and a secondary single physical storage device storing a third copy of the data stored on each of the plurality of mirrored sets of primary storage devices and comprising stripes interleaved in a rotating order from each pair of primary storage devices of the at least one RAID 10 array, the secondary single physical storage device having at least the capacity to store the data stored on the plurality of mirrored sets of primary storage devices. 2. The plurality of arrays of storage devices of claim 1 , wherein the primary storage devices have higher performance characteristics than the secondary storage device, wherein higher performance characteristics comprises at least one of data read latency, data write latency, read data transfer rate, and write data transfer rate. 3. The plurality of arrays of storage devices of claim 1 , wherein each mirrored set of the plurality of mirrored sets of primary storage devices and the secondary storage device are striped, wherein a copy of data stored in a given stripe of any one of a primary and secondary storage device is stored in a different stripe of a different physical storage device in the same array of storage devices, wherein the plurality of arrays of storage devices provides dual storage device redundancy, wherein dual storage device redundancy preserves data if data cannot be read from one or two physical storage devices in any array of the plurality of arrays of storage devices. 4. The plurality of arrays of storage devices of claim 2 , wherein a storage controller coupled to the plurality of arrays of storage devices controls the primary and secondary storage devices, the storage controller comprising: a processor; a memory, coupled to the processor, the memory comprising: a first cache; and a second cache. 5. The plurality of arrays of storage devices of claim 4 , wherein each mirrored set of the plurality of mirrored sets of primary storage devices comprises one of a RAID 1 array and a RAID 10 array, wherein in response to host read requests, the storage controller provides host read request data from a mirrored set of the plurality of mirrored sets of primary storage devices and not the secondary storage device. 6. The plurality of arrays of storage devices of claim 5 , wherein the storage controller stores RAID write data in the first cache and the second cache, wherein the storage controller writes RAID write data in the first cache to primary storage devices, wherein the storage controller writes RAID write data in the second cache to the secondary storage device. 7. The plurality of arrays of storage devices of claim 6 , wherein the storage controller writes RAID write data in the second cache to the secondary storage device after writing RAID write data in the first cache to the primary storage devices. 8. The plurality of arrays of storage devices of claim 7 , wherein after detecting a failure of a first primary storage device in a first mirrored set of primary storage devices, the storage controller detects a number of unrecoverable read errors from a second primary storage device in the first mirrored set of primary storage devices, wherein in response the storage controller reads the data corresponding to the unrecoverable read errors from the secondary storage device. 9. A storage controller, comprising: a first cache storing data corresponding to a plurality of mirrored sets of primary storage devices comprising at least one RAID 10 array and read from a primary storage device location that will supply data faster than a mirror location of the primary storage device, the plurality of mirrored sets of primary storage devices each storing a first and a second copy of data and comprising an even number of a plurality of primary storage devices; and a second cache storing data corresponding to a secondary storage device storing third copies of data stored on each of the plurality of mirrored sets of primary storage devices, the secondary storage device comprising stripes interleaved in a rotating order from each of a pair of primary storage devices of the at least one RAID 10 array and having at least the capacity to store data stored on a plurality of different volumes corresponding to the plurality of mirrored sets of primary storage devices. 10. The storage controller of claim 9 , wherein each of the primary storage devices and the secondary storage device are physical storage devices, wherein the primary storage devices have higher performance characteristics than the secondary storage device, wherein higher performance characteristics comprises at least one of data read latency, data write latency, read data transfer rate, and write data transfer rate. 11. The storage controller of claim 10 , wherein the plurality of mirrored sets of primary storage devices and the secondary storage device are striped, wherein data stored in a given stripe of any one of a primary and secondary storage device is stored in a different stripe of a different storage device in the array, wherein an array comprises each of the plurality of mirrored sets of primary storage devices and the secondary storage device, wherein the storage controller provides dual storage device redundancy wherein dual storage device redundancy preserves data if one or two storage devices in the array fail. 12. The storage controller of claim 11 , wherein the storage controller writes RAID write data in the second cache to the secondary storage device after the storage controller writes RAID write data in the first cache to the primary storage devices. 13. The storage controller of claim 12 , wherein after detecting a failure of a first primary storage device in a first mirrored set of primary storage devices, the storage controller detects a number of unrecoverable read errors from a second primary storage device in the first mirrored set of primary storage devices, wherein in response the storage controller reads the data corresponding to the unrecoverable read errors from the secondary storage device. 14. The storage controller of claim 12 , wherein all data stored on the plurality of mirrored sets of primary storage devices is further stored on the secondary storage device. 15. The storage controller of claim 14 , wherein each of the plurality of mirrored sets of primary storage devices is one of a RAID 1 array and a RAID 10 array. 16. A storage system, comprising: a storage controller that fills space in a first cache corresponding to first RAID write data with second RAID write data while the storage controller writes the first RAID write data in a second cache to a secondary storage device, the storage controller comprising: the first cache storing RAID write data and writing first RAID write data to a mirrored set of primary storage devices; and the second cache storing RAID write data and writing first RAID write data to the secondary storage device after writing the first RAID write data in the first cache to the mirrored set of primary storage devices; and an array, comprising: the mirrored set of primary storage devices; and the secondary storage device having lower performance characteristics and a higher storage capacity than the mirrored s
in relation to data integrity, e.g. data losses, bit errors · CPC title
Replication mechanisms · CPC title
Data transfer between cache memory and other subsystems, e.g. storage devices or host systems · CPC title
Asynchronous techniques · CPC title
Disk arrays, e.g. RAID, JBOD · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.