← Back to Patent Explorer
US6148414A Expired / Lapsed US ⏱️ 0.0 years remaining

Methods and systems for implementing shared disk array management functions

Assignee: EMC Corp
•
Filing: 1999-03-03
•
Granted: 2000-11-14
•
Expires: 2019-03-03
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

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.

Inventors

  • 👤 William P. Brown
  • 👤 Michael B. Mathews

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-31 14:30
CPC Classifications
G; G06; G06F; G06F3/00; G06F3/06; G06F3/0601; G06F3/0628; G06F3/0646; G06F3/065; G06F11/00; G06F11/07; G06F11/08; G06F11/10; G06F11/1076; G06F11/1088; G06F11/1096; G06F11/16; G06F11/20; G06F11/2053; G06F11/2089; G06F11/2097; G06F3/0602; G06F3/0604; G06F3/0607; G06F3/061; G06F3/0613; G06F3/0614; G06F3/0619; G06F3/0629; G06F3/0632; G06F3/0668; G06F3/067; G06F3/0671; G06F3/0683; G06F3/0689; G06F9/00; G06F9/06; G06F9/46; G06F9/52; G06F9/526; H; H04; H04L; H04L67/00; H04L67/01; H04L67/10; H04L67/1097; G06F11/2094; G06F2201/00; G06F2201/85

Claims Analysis

Total Claims: 45
Claim 1
Independent Claim 144 words
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.
Claim 2
Dependent Claim 144 words
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.
Claim 3
Dependent Claim 35 words
The data storage system of claim 1, wherein the first AMF does not release the lock on the first resource until a second one of the AMFs arbitrates for a lock on the first resource.
Claim 4
Dependent Claim 38 words
The data storage system of claim 1, wherein if the first AMF fails, the remaining AMFs arbitrate for a lock on the first resource, whereupon a second one of the AMFs obtains the lock and completes the operation.
Claim 5
Dependent Claim 84 words
The data storage system of claim 1, wherein the operation performed by the first AMF on the first resource includes a plurality of steps, wherein the first AMF performs each step of the operation on the resource, and for each step concurrently sends replication data and state information associated with the first resource to the remaining AMFs, such that if the first AMF fails while performing any of the steps of the operation, one of the remaining AMFs is able to complete the operation.
Claim 6
Dependent Claim 31 words
The data storage system of claim 1, wherein one or more host systems communicate with the first AMF over one of the interconnect medium, an internet connection and a PCI bus.
Claim 7
Dependent Claim 30 words
The system of claim 1, wherein the interconnect medium includes at least one of a SCSI interface, a fiber-channel interface, a storage area network and a fiber-channel storage area network.
Claim 8
Dependent Claim 24 words
The system of claim 1, wherein each of the AMFs executes in one of a controller, a host bus adapter and a host computer.
Claim 9
Dependent Claim 96 words
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.
Claim 10
Dependent Claim 96 words
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.
Claim 11
Dependent Claim 71 words
The method of claim 8, wherein the first operation is a read operation, the method further comprising the steps of: receiving a request from a host by a second one of the AMFs to perform a second read operation on the first resource; and performing the second read operation on the first resource by the second AMF concurrently with the first AMF performing the first read operation on the first resource.
Claim 12
Dependent Claim 49 words
The method of claim 8, wherein the step of synchronizing includes the step of arbitrating with the one or more other AMFs to acquire a lock on the first resource so that no other AMF is able to access the first resource while the first AMF maintains the lock.
Claim 13
Dependent Claim 25 words
The method of claim 10, further comprising the step of releasing the lock on the first resource only when another AMF arbitrates for the lock.
Claim 14
Dependent Claim 53 words
The method of claim 8, further comprising the step of sending replication data and state information associated with the first resource to the other AMFs, concurrently with the step of performing the first operation, such that if the first AMF fails, one of the other AMFs is able to complete the first operation.
Claim 15
Dependent Claim 34 words
The method of claim 12, wherein if the first AMF fails while performing the first operation, the method further comprises the step of completing the first operation with a second one of the AMFs.
Claim 16
Dependent Claim 34 words
The method of claim 13, wherein the step of completing the first operation comprises the step of the second AMF synchronizing with the other AMFs so as to acquire access to the first resource.
Claim 17
Dependent Claim 75 words
The method of claim 8, wherein the first operation includes a plurality of sub-operations, wherein the step of performing the first operation includes performing each sub-operation on the first resource, the method further comprising sending replication data and state information associated with the first resource to the other AMFs concurrently with the performance of each sub-operation, such that if the first AMF fails, one of the other AMFs is able to complete the first operation.
Claim 18
Dependent Claim 63 words
The method of claim 8, further comprising the steps of: receiving a request from a second host by a second one of the AMFs to perform a second operation on a second one of the resources; synchronizing with the first AMF and the other AMFs so as to acquire access to the second resource; and performing the second operation on the second resource.
Claim 19
Dependent Claim 24 words
The method of claim 16, wherein at least a portion of the second operation is performed concurrently with the performance of the first operation.
Claim 20
Dependent Claim 68 words
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.
Claim 21
Dependent Claim 68 words
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.
Claim 22
Dependent Claim 74 words
The system of claim 18, wherein a first one of the redundancy groups includes a replacement disk, and wherein if one of the disks in the first redundancy group fails, at least two of the AMFs each arbitrate for control of one or more of the resources on the first redundancy group, such that each of the at least two AMFs are able to concurrently reconstruct the first redundancy group using the replacement disk.
Claim 23
Dependent Claim 63 words
The system of claim 18, wherein if an extra disk is added to a first one of the redundancy groups, at least two of the AMFs each arbitrate for control of one or more of the resources on the first redundancy group, such that each of the at least two AMFs are able to concurrently expand the redundancy group using the extra disk.
Claim 24
Dependent Claim 110 words
The system of claim 18, wherein a first one of the AMFs receives a write command from a host to write at least two data sets to two or more of the resources, wherein the first AMF acquires a lock on the first resource to which the first data set is to be written, writes the first data set to the first resource and concurrently performs a 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.
Claim 25
Dependent Claim 92 words
The system of claim 21, wherein concurrently with sending replication data and state information, the first AMF determines if the second data set is to be written to a second resource, and if so acquires a lock on the second resource, writes the second data set to the second resource and concurrently performs a second replication operation wherein replication data and state information associated with the second resource is sent to the other AMFs, whereupon the first AMF waits until all replication operations have completed before sending status information to the host.
Claim 26
Dependent Claim 20 words
The system of claim 18, wherein each of the AMFs includes a means for pipelining replication of incoming host data.
Claim 27
Dependent Claim 78 words
The system of claim 18, further comprising two or more controllers, each controller implementing at least one of the two or more AMFs, wherein each of the AMFs communicates with each other over one of the interconnect medium and one or more PCI busses, and wherein the system further includes a means for gathering messages, wherein many small messages destined for a particular one of the controllers are combined and sent as one message to the particular controller.
Claim 28
Dependent Claim 30 words
The system of claim 18, wherein the interconnect medium includes at least one of a SCSI interface, a fiber-channel interface, a storage area network and a fiber-channel storage area network.
Claim 29
Independent Claim 120 words
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.
Claim 30
Independent Claim 120 words
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.
Claim 31
Independent Claim 113 words
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.
Claim 32
Independent Claim 113 words
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.
Claim 33
Independent Claim 170 words
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 concurrently performing 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.
Claim 34
Independent Claim 170 words
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 concurrently performing 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.
Claim 35
Dependent Claim 88 words
The method of claim 28, further comprising the steps of: concurrently with performing the first replication operation, determining if the second data set is to be written to a second resource, and if so acquiring a lock on the second resource; writing the second data set to the second resource; and concurrently performing a second replication operation wherein replication data and state information associated with the second resource is sent to the other AMFs; and thereafter sending status information to the host after all replication operations have completed.
Claim 36
Dependent Claim 140 words
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.
Claim 37
Dependent Claim 140 words
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.
Claim 38
Dependent Claim 72 words
The method of claim 30, wherein a second AMF has a lock on the first resource, the method further comprising the steps of: issuing a release lock request to the second AMF from the arbiter AMF; communicating a lock-released message from the second AMF to the arbiter AMF; and thereafter granting a lock on the first resource to the first AMF so that the first AMF is able to perform the operation.
Claim 39
Dependent Claim 54 words
The method of claim 30, wherein no other AMF has a lock on the first resource when the first AMF communicates the lock request, the method further comprising the steps of: immediately granting a lock on the first resource to the first AMF so that the first AMF is able to perform the operation.
Claim 40
Dependent Claim 45 words
The method of claim 30, wherein the lock requested by the first AMF is a write lock, and wherein once the lock is granted, no other AMF is able to obtain a lock on the first resource until the first AMF releases the write lock.
Claim 41
Dependent Claim 46 words
The method of claim 30, wherein the lock requested by the first AMF is a read lock, and wherein any of the other AMFs is able to concurrently obtain a read lock on the first resource such that multiple AMFs may read the first resource concurrently.
Claim 42
Dependent Claim 51 words
The method of claim 30, wherein the step of determining the arbiter AMF includes assigning one of the two or more AMFs to be the arbiter AMF for the first resource based on at least one of the number of the AMFs sharing the resource and the location of the resource.
Claim 43
Dependent Claim 35 words
The method of claim 35, further including the step of reassigning a different one of the two or more AMFs to be the arbiter AMF for the first resource if the original arbiter AMF fails.
Claim 44
Dependent Claim 32 words
The method of claim 30, wherein the step of determining the arbiter AMF includes assigning the AMF that last had a write lock on the first resource to be the arbiter AMF.
Claim 45
Dependent Claim 92 words
The method of claim 30, wherein the arbiter AMF is able to grant a lock on one or more prefetch resources, wherein the method further includes the steps of: specifying a first one of the prefetch resources by the first AMF, concurrently with requesting a lock on the first resource; and granting a lock on the first prefetch resource to the first AMF if the first prefetch is not already locked, such that the first AMF will already have the lock on the first prefetch resource when it later requests the lock.

References Cited (Backward Citations)

US5546535A Cited
US5574851A Cited
US5694581A Cited
US5826001A Cited
US5818754A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2003-11-14 2004-05-15 2004-11-14 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2007-11-14 2008-05-15 2008-11-14 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2011-11-14 2012-05-15 2012-11-14 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag