Methods and systems for implementing shared disk array management functions
First Claim
1. A data storage system comprising:
- a redundancy group including a plurality of resources;
two or more array management functions (AMFs) sharing access to the redundancy group, wherein the AMFs provide concurrent access to the redundancy group for associated host systems; and
an interconnect medium for connecting the AMFs with the redundancy group;
wherein when a first one of the AMFs desires to perform an operation on a first resource in the redundancy group, the first AMF arbitrates with the other AMFs sharing access to the redundancy group for a lock on the first resource, whereupon the first AMF performs the operation on the first resource and concurrently sends replication data and state information associated with the first resource to the other AMFs such that if the first AMF fails while performing the operation, one of the other AMFs is able to complete the operation.
11 Assignments
0 Petitions
Accused Products
Abstract
Multiple Array Management Functions (AMFs) are connected to multiple redundancy groups over a storage area network (SAN), such as a fiber-channel based SAN. The multiple AMFs share management responsibility of the redundancy groups, each of which typically includes multiple resources spread over multiple disks. The AMFs provide concurrent access to the redundancy groups for associated host systems. When a host requests an AMF to perform an operation on a resource, the AMF synchronizes with the other AMFs sharing control of the redundancy group that includes the resource to be operated on, so as to obtain a lock on the resource. While performing the operation, the AMF send replication data and state information associated with the resource such that if the AMF fails, any of the other AMFs are able to complete the operation and maintain data reliability and coherency.
380 Citations
38 Claims
-
1. A data storage system comprising:
-
a redundancy group including a plurality of resources; two or more array management functions (AMFs) sharing access to the redundancy group, wherein the AMFs provide concurrent access to the redundancy group for associated host systems; and an interconnect medium for connecting the AMFs with the redundancy group; wherein when a first one of the AMFs desires to perform an operation on a first resource in the redundancy group, the first AMF arbitrates with the other AMFs sharing access to the redundancy group for a lock on the first resource, whereupon the first AMF performs the operation on the first resource and concurrently sends replication data and state information associated with the first resource to the other AMFs such that if the first AMF fails while performing the operation, one of the other AMFs is able to complete the operation. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. In a data storage system, a method of dynamically sharing management of a redundancy group between two or more array management functions (AMFs), wherein the AMFs are able to concurrently access the redundancy group, the redundancy group including a plurality of resources, the method comprising the steps of:
-
receiving a request from a host by a first one of the AMFs to perform a first operation on a first one of the resources; synchronizing with the other AMFs so as to acquire access to the first resource; and performing the first operation on the first resource. - View Dependent Claims (9, 10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. A data storage network system comprising:
-
one or more redundancy groups, each redundancy group including multiple resources spread over multiple disks; two or more array management functions (AMFs) sharing redundancy group management of the one or more redundancy groups, wherein the AMFs are able to concurrently access the one or more redundancy groups; and a interconnect medium for interconnecting the AMFs with the one or more redundancy groups. - View Dependent Claims (19, 20, 21, 22, 23, 24, 25)
-
-
26. A method of reconstructing a redundancy group when one of its disks fails in a data storage network system comprising two or more array management functions (AMFs) interconnected with the redundancy group, wherein the redundancy group includes multiple resources spread over multiple disks, wherein the redundancy group also includes a replacement disk, wherein the AMFs all share management of the redundancy group, and wherein the AMFs are able to concurrently access the redundancy group, the method comprising the steps of:
-
arbitrating for control of a first resource by a first one of the AMFs; arbitrating for control of a second resource by a second one of the AMFs; and concurrently reconstructing the first and second resources using the replacement disk.
-
-
27. A method of expanding a redundancy group when an extra disk is added to it in a data storage network system comprising two or more array management functions (AMFs) interconnected with the redundancy group, wherein the redundancy group includes multiple resources spread over multiple disks, wherein the AMFs all share management of the redundancy group, and wherein the AMFs are able to concurrently access the redundancy group, the method comprising the steps of:
-
arbitrating for control of a first resource by a first one of the AMFs; arbitrating for control of a second resource by a second one of the AMFs; and concurrently expanding the first and second resources using the extra disk.
-
-
28. A method of pipelining replication of incoming host data in a data storage network system comprising a redundancy group interconnected with two or more array management functions (AMFs), wherein the redundancy group includes multiple resources spread over multiple disks, wherein the AMFs all share management of the redundancy group, and wherein the AMFs are able to concurrently access the redundancy group, the method comprising the steps of:
-
receiving a write command by a first AMF from the host to write at least two data sets to two or more of the resources; acquiring a lock by the first AMF on the first resource to which the first data set is to be written; writing the first data set to the first resource; and
concurrentlyperforming a first replication operation wherein replication data and state information associated with the first resource is sent to the other AMFs, such that if the first AMF fails while performing the write operation, one of the other AMFs is able to complete the write operation. - View Dependent Claims (29)
-
-
30. In a data storage system, a method of dynamically sharing management of a redundancy group between two or more array management functions (AMFs), wherein the AMFs are able to concurrently access the redundancy group, the redundancy group including a plurality of resources, the method comprising the steps of:
-
determining an arbiter AMF for a first one of the resources, wherein the arbiter AMF is one of the two or more AMFs sharing management of the redundancy group, and wherein the arbiter AMF is able to grant a lock for the first resource; communicating a lock request from a first one of the AMFs to the arbiter AMF requesting a lock on the first resource; and performing an operation on the first resource by the first AMF once the lock on the first resource has been granted by the arbiter AMF. - View Dependent Claims (31, 32, 33, 34, 35, 36, 37, 38)
-
Specification