Victim cache that supports draining write-miss entries
US-2024264952-A1 · Aug 8, 2024 · US
US2017220249A1 · US · A1
| Field | Value |
|---|---|
| Publication number | US-2017220249-A1 |
| Application number | US-201615011050-A |
| Country | US |
| Kind code | A1 |
| Filing date | Jan 29, 2016 |
| Priority date | Jan 29, 2016 |
| Publication date | Aug 3, 2017 |
| Grant date | — |
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.
Embodiments of the present disclosure enable high availability and performance in view of storage controller failure. A storage system includes three or more controllers that may be distributed in a plurality of enclosures. The controllers are in high availability pairs on a per volume basis, with volumes and corresponding mirror targets distributed throughout the storage system. When a controller fails, other controllers in the system detect the failure and assess whether one or more volumes and/or mirror targets are affected. If no volumes/mirror targets are affected, then write-back caching continues. If volume ownership is affected, then a new volume owner is selected so that write-back caching may continue. If mirror target ownership is affected, then a new mirror target is selected so that write-back caching may continue. As a result, write-back caching availability is increased to provide low latency and high throughput in degraded mode as in other modes.
Opening claim text (preview).
What is claimed is: 1 . A method comprising: providing, by a first storage controller within a storage controller cluster, write-back caching of an input/output (I/O) request, wherein the storage controller cluster distributes ownership of a plurality of volumes and a plurality of mirror targets on a per-volume basis, and wherein each one of the mirror targets corresponds to a respective one of the volumes; detecting, by the first storage controller, a failure of a second storage controller within the storage controller cluster; and providing, in response to detecting the failure by the first storage controller, write-back caching with a third storage controller within the storage controller cluster for a further I/O request after the failure of the second storage controller. 2 . The method of claim 1 , further comprising: selecting, prior to the failure, the first storage controller as an owner of a first volume from among the plurality of volumes, wherein the first controller and the second controller are associated with a first storage enclosure; and selecting, prior to the failure, the third storage controller as an owner of a first mirror target to the first volume, wherein the third controller is associated with a second storage enclosure different from the first storage enclosure. 3 . The method of claim 2 , wherein: the storage cluster system comprises the first and second storage enclosures, the second storage enclosure further comprising a fourth storage controller, and volume ownership and mirror targets are distributed so that corresponding volumes and mirror targets are initially not associated with a same storage enclosure. 4 . The method of claim 1 , wherein the second storage controller is unassociated with the plurality of volumes and the plurality of mirror targets, the method further comprising: maintaining the ownership of the plurality of volumes and the plurality of mirror targets without change upon the detecting of the failure of the second storage controller. 5 . The method of claim 1 , wherein the second storage controller has ownership of at least one volume from among the plurality of volumes and the first storage controller has ownership of at least one corresponding mirror target, the method further comprising: assuming, upon the detecting the failure of the second storage controller, ownership of the at least one volume by the first storage controller; and selecting the third storage controller for ownership of the at least one mirror target for the at least one volume. 6 . The method of claim 5 , further comprising: transferring ownership of the at least one mirror target to the selected third storage controller; and suspending, during the transferring, write-back caching until the transferring is complete. 7 . The method of claim 1 , wherein the second storage controller has ownership of at least one mirror target from among the plurality of mirror targets and the first storage controller has ownership of at least one corresponding volume, the method further comprising: selecting, upon detecting the failure of the second storage controller, the third storage controller to assume ownership of the at least one mirror target; and copying a cache of the first storage controller to the third storage controller to re-create the at least one mirror target at the third storage controller. 8 . 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: provide, by the machine comprising a first storage controller within a storage controller cluster, write-back caching to an input/output (I/O) request, wherein the storage controller cluster distributes ownership of a plurality of volumes and a plurality of mirror targets on a per-volume basis, and wherein each one of the mirror targets corresponds to a respective one of the volumes; detect, by the first storage controller, a failure of a second storage controller within the storage controller cluster; and provide, in response to the detection by the first storage controller, write-back caching with a third storage controller within the storage controller cluster for a further I/O request after the failure of the second storage controller. 9 . The non-transitory machine readable medium of claim 8 , further comprising machine executable code that causes the machine to: select, prior to the failure, the first storage controller as an owner of a first volume from among the plurality of volumes, wherein the first controller and the second controller are associated with a first storage enclosure; and select, prior to the failure, the third storage controller as an owner of a first mirror target to the first volume, wherein the third controller is associated with a second storage enclosure different from the first storage enclosure. 10 . The non-transitory machine readable medium of claim 9 , wherein: the machine comprises the first and second storage enclosures, the second storage enclosure further comprising a fourth storage controller, and volume ownership and mirror targets are distributed so that corresponding volumes and mirror targets are initially not associated with a same storage enclosure. 11 . The non-transitory machine readable medium of claim 8 , wherein the second storage controller is unassociated with the plurality of volumes and the plurality of mirror targets, further comprising machine executable code that causes the machine to: maintain the ownership of the plurality of volumes and the plurality of mirror targets without change upon detection of the failure of the second storage controller. 12 . The non-transitory machine readable medium of claim 8 , wherein the second storage controller has ownership of at least one volume from among the plurality of volumes and the first storage controller has ownership of at least one corresponding mirror target, further comprising machine executable code that causes the machine to: assume, upon detection of the failure of the second storage controller, ownership of the at least one volume by the first storage controller; and select the third storage controller for ownership of the at least one mirror target for the at least one volume. 13 . The non-transitory machine readable medium of claim 12 , further comprising machine executable code that causes the machine to: transfer ownership of the at least one mirror target to the selected third storage controller; and suspend, during the transfer, write-back caching until the transfer is complete. 14 . The non-transitory machine readable medium of claim 8 , wherein the second storage controller has ownership of at least one mirror target from among the plurality of mirror targets and the first storage controller has ownership of at least one corresponding volume, further comprising machine executable code that causes the machine to: select, upon detection of the failure of the second storage controller, the third storage controller to assume ownership of the at least one mirror target; and copy a cache of the first storage controller to the third storage controller to re-create the at least one mirror target at the third storage controller. 15 . A computing device comprising: a memory containing machine readable medium comprising machine executable code having stored thereon instructions for performing a method of maintaining high availability in a storage controller cluster comprising the computing device, the computing device comprising a
Parity data used in redundant arrays of independent storages, e.g. in RAID systems · CPC title
using a plurality of controllers · CPC title
Multiuser, multiprocessor or multiprocessing cache systems · CPC title
in a storage system, e.g. in a DASD or network based storage system (drivers for digital recording or reproducing units G06F3/06; circuits for error detection or correction within digital recording or reproducing units G11B20/18; for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS], H04L67/1097) · CPC title
Management of state, configuration or failover · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.