Changing storage volume ownership using cache memory

US9836223B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9836223-B2
Application numberUS-201615142691-A
CountryUS
Kind codeB2
Filing dateApr 29, 2016
Priority dateApr 29, 2016
Publication dateDec 5, 2017
Grant dateDec 5, 2017

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A method, a computing device, and a non-transitory machine-readable medium for changing ownership of a storage volume from a first controller to a second controller without flushing data, is provided. In the system, the first controller is associated with a first DRAM cache comprising a primary partition that stores data associated with the first controller and a mirror partition that stores data associated with the second controller. The second controller in the system is associated with a second DRAM cache comprising a primary partition that stores data associated with the second controller and the mirror partition associated with the first controller. Further, the mirror partition in the second DRAM cache stores a copy of a data in the primary partition of the first DRAM cache and the mirror partition in the first DRAM cache stores a copy of a data in the primary partition of the second DRAM cache.

First claim

Opening claim text (preview).

What is claimed is: 1. A method comprising: storing, using a first controller, data and recovery metadata of a storage volume owned by the first controller in a primary partition of a memory cache of the first controller, and a copy of the data and the recovery metadata in a mirror partition of a memory cache of a second controller that is allocated to the first controller; receiving an indication of an ownership change for the storage volume from the first controller to the second controller; scanning, using the second controller, the mirror partition allocated to the first controller for the recovery metadata associated with the storage volume; generating an active metadata from the recovery metadata scanned from the mirror partition, wherein the active metadata manages input/output (I/O) requests for the data stored in the mirror partition; and using the active metadata to access the data in the mirror partition allocated to the first controller to process an input/output (I/O) request associated with the storage volume using the second controller. 2. The method of claim 1 , wherein the recovery metadata is metadata required to recreate data associated with the storage volume in a primary partition of the second controller. 3. The method of claim 1 , wherein the data comprises dirty data associated with the storage volume that has not been flushed to an array of storage drives. 4. The method of claim 1 , further comprising: marking the active metadata with an indication that the active metadata is associated with the data in the mirror partition and data in a primary partition of the memory cache of the second storage controller, wherein the data in the mirror partition is associated with the first controller and the data in the primary partition is associated with a second controller. 5. The method of claim 1 , wherein the memory cache of the first controller is a first dynamic random access memory (DRAM) cache comprising the primary partition that stores a first data associated with the first controller and a mirror partition that stores data associated with the second controller, and wherein the memory cache of the second controller is a second DRAM cache comprising a primary partition that stores a second data associated with the second controller and the mirror partition associated with the first controller, and wherein the mirror partition in the second DRAM cache stores a copy of a first data in the primary partition of the first DRAM cache, and wherein the mirror partition in the first DRAM cache stores a copy of a second data in the primary partition of the second DRAM cache. 6. The method of claim 5 , wherein the first data comprises the data and the recovery metadata for the storage volume before the ownership change. 7. The method of claim 5 , wherein the second data comprises data and metadata for the storage volume after the ownership change. 8. The method of claim 1 , wherein the second controller is associated with a general storage separate from the memory cache, and the method further comprises storing the generated active metadata associated with the storage volume in the general storage. 9. The method of claim 1 , wherein the memory cache is a DRAM cache comprising a primary partition and the method further comprises storing dirty data and recovery metadata associated with the storage volume in the primary partition after the second storage controller receives ownership of the storage volume, wherein the dirty data includes a portion of the data in the mirror partition. 10. 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: store, using a first controller, data and recovery metadata of a storage volume owned by the first controller in a primary partition of a memory cache of the first controller, and a copy of the data and the recovery metadata in a mirror partition of a memory cache of a second controller that is allocated to the first controller; receive an indication of an ownership change for the storage volume from the first controller to the second controller; scan using the second controller, the mirror partition allocated to the first controller for recovery metadata associated with the storage volume; generate an active metadata from the scanned recovery metadata, wherein the active metadata manages input/output (I/O) requests for the data stored in the mirror partition; and use the active metadata to access the data in the mirror partition allocated to the first controller to process an input/output (I/O) request associated with the storage volume using the second controller. 11. The non-transitory machine readable medium of claim 10 , wherein the data is dirty data associated with the storage volume that has not been flushed to the hard disk drive. 12. The non-transitory machine readable medium of claim 10 , further comprising instructions for performing the method comprising machine executable code, which when executed by at least one machine, further causes the machine to: mark the active metadata with an indication indicating that the active metadata is associated with the data in the mirror partition and data in a primary partition of the memory cache, wherein the data in the mirror partition is associated with the first controller and the data in the primary partition is associated with a second controller. 13. The non-transitory machine readable medium of claim 10 , wherein the second controller is associated with a general storage and the instructions for performing the method comprising machine executable code, which when executed by at least one machine, further causes the machine to: store the generated active metadata associated with the storage volume in the general storage. 14. The non-transitory machine readable medium of claim 10 , wherein the memory cache is a DRAM cache comprising a primary partition and wherein the instructions for performing the method comprising machine executable code, which when executed by at least one machine, further causes the machine to: store dirty data and recovery metadata associated with the storage volume in the primary partition after the second storage controller receives ownership of the storage volume, wherein the dirty data includes a portion of the data in the mirror partition. 15. The non-transitory machine readable medium of claim 10 , wherein the instructions for performing the method comprising machine executable code, which when executed by at least one machine, further causes the machine to: accesses, using the second controller, the memory cache associated with the first controller; and store a copy of the dirty data and a copy of the recovery metadata in a mirror partition of the memory cache associated with the first controller, wherein the mirror partition stores data accessible to the second controller. 16. A computing device comprising: a memory containing machine readable medium comprising machine executable code having stored thereon instructions for performing a method of transferring ownership of a storage volume; and a processor coupled to the memory, the processor configured to execute the machine executable code to cause the processor to: store, using a first controller, data and recovery metadata of a storage volume owned by the first controller in a primary partition of a memory cache of the first controller, and a copy of the data and the recovery metadata in a mirror partition of a memory cache of a second controller

Assignees

Inventors

Classifications

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9836223B2 cover?
A method, a computing device, and a non-transitory machine-readable medium for changing ownership of a storage volume from a first controller to a second controller without flushing data, is provided. In the system, the first controller is associated with a first DRAM cache comprising a primary partition that stores data associated with the first controller and a mirror partition that stores da…
Who is the assignee on this patent?
Netapp Inc
What technology area does this patent fall under?
Primary CPC classification G06F12/0804. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Dec 05 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).