IP Library Granted Patent US 6,912,668
Granted Patent B1
US 6,912,668 · App. 09/657,258 · Granted Jun 28, 2005

Methods and systems for implementing shared disk array management functions

Assignee: YottaYotta, Inc.
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 6,912,668
App. No.
09/657,258
Granted
Jun 28, 2005
Kind
B1
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.

Claims (41)

1. A controller device for use in a data storage network having one or more redundancy groups; the controller device comprising:

a first array management function (AMF) that provides access to a first redundancy group in the data storage network; and

a communication port for coupling to the network, wherein the first AMF is able to communicate over the network with the first redundancy group and one or more other AMFs in the network that concurrently share access to the first redundancy group;

wherein when the first AMF desires to perform an operation on a first resource in the first redundancy group, the first AMF arbitrates with the one or more other AMFs that share access to the first 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.

2. The controller device of claim 1 , further comprising:

a second AMF that provides access to a second redundancy group in the data storage network, wherein the second AMF is able to communicate over the network with the second redundancy group and one or more other AMFs in the network that concurrently share access to the second redundancy group;

wherein when the second AMF desires to perform an operation on a second resource in the second redundancy group, the second AMF arbitrates with the one or more other AMFs that share access to the second redundancy group for a lock on the second resource, whereupon the second AMF performs the operation on the second resource and concurrently sends replication data and state information associated with the second resource to the other AMFs that share access to the second redundancy group such that if the second AMF fails while performing the operation, one of the other AMFs that share access to the second redundancy group is able to complete the operation.

3. The controller device of claim 1 , further comprising:

a second AMF that provides access to the first redundancy group, wherein the second AMF is able to communicate over the network with the first redundancy group and the one or more other AMFs that share access to the first redundancy group;

wherein when the second AMF desires to perform an operation on a second resource in the first redundancy group, the second AMF arbitrates with the first AMF and the one or more other AMFs that share access to the first redundancy group for a lock on the second resource, whereupon the second AMF performs the operation on the second resource and concurrently sends replication data and state information associated with the second resource to the first AMF and the other AMFs that share access to the first redundancy group such that if the second AMF fails while performing the operation, one of the first AMF and the other AMFs that share access to the first redundancy group is able to complete the operation.

4. The controller device of claim 3 , wherein the first and second AMFs communicate over the network.

5. The controller device of claim 1 , further comprising a bus port that provides for communication with one of a host and one or more other controller devices over a bus.

6. The controller device of claim 5 , wherein the bus port is a PCI port.

7. The controller device of claim 1 , wherein the first redundancy group is spread across one or more disks.

8. The controller device of claim 1 , wherein the communication port is a fibre-channel port.

9. The controller device of claim 1 , wherein the first AMF does not release the lock on the first resource until a one of the other AMFs that share access to the first redundancy group arbitrates for a lock on the first resource.

10. The controller device of claim 1 , wherein if the first AMF fails, one of the other AMFs arbitrate for a lock on the first resource, whereupon a second one of the other AMFs obtains the lock and completes the operation.

11. The controller device 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 other AMFs that share access to the first redundancy group, such that if the first AMF fails while performing any of the steps of the operation, one of the other AMFs is able to complete the operation.

12. A controller device for use in a data storage network having one or more redundancy groups; the controller device comprising:

first and second array management functions (AMFs), each providing access to a different redundancy group in the data storage network; and

a communication port for communicably coupling the first and second AMFs to the network;

wherein when the first AMF desires to perform an operation on a first resource in a first redundancy group, the first AMF arbitrates with other AMFs in the network that share access to the first 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.

13. The controller device of claim 12 , wherein when the second AMF desires to perform an operation on a second resource in a second redundancy group, the second AMF arbitrates with other AMFs in the network that share access to the second redundancy group for a lock on the second resource, whereupon the second AMF performs the operation on the second resource and concurrently sends replication data and state information associated with the second resource to the other AMFs that share access to the second redundancy group such that if the second AMF fails while performing the operation, one of the other AMFs that share access to the second redundancy group is able to complete the operation.

14. The controller device of claim 12 , further comprising a bus port that provides for communication with one of a host and one or more other controller devices over a bus.

15. The controller device of claim 14 , wherein the bus port is a PCI port.

16. The controller device of claim 12 , wherein the communication port is a fibre-channel port.

17. The controller device of claim 12 , wherein the first AMF does not release the lock on the first resource until a one of the other AMFs that share access to the first redundancy group arbitrates for a lock on the first resource.

18. The controller device of claim 12 , wherein if the first AMF fails, one of the other AMFs arbitrates for a lock on the first resource, whereupon a second one of the other AMFs obtains the lock and completes the operation.

19. The controller device of claim 12 , 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 other AMFs that share access to the first redundancy group, such that if the first AMF fails while performing any of the steps of the operation, one of the other AMFs is able to complete the operation.

20. A network device for use in a data storage network having one or more redundancy groups, the device comprising:

a communication bus;

a first controller executing a first array management function (AMF) that provides access to a first redundancy group in the data storage network, the first controller including a first network port for coupling the first controller to the network, and a first bus port coupling the first controller to the communication bus; and

a second controller executing a second AMF that provides access to the first redundancy group in the data storage network, the second controller including a second network port for coupling the second controller to the network, and a second bus port coupling the second controller card to the communication bus;

wherein when the first AMF desires to perform an operation on a first resource in the first redundancy group, the first AMF arbitrates with the second AMF and other AMFs in the network sharing access to the first 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 second AMF and the other AMFs sharing access to the first redundancy group such that if the first AMF fails while performing the operation, one of the second AMF and the other AMFs sharing access to the first redundancy group is able to complete the operation.

21. The network device of claim 20 , wherein the first AMF arbitrates with the second AMF over the communication bus.

22. The network device of claim 20 , wherein the first AMF arbitrates with the second AMF over the network.

23. The network device of claim 20 , wherein the communication bus is a PCI bus.

24. The network device of claim 20 , wherein the first and second network ports are fibre-channel ports.

25. The network device of claim 20 , wherein the first AMF does not release the lock on the first resource until a one of the second AMF and the other AMFs that share access to the first redundancy group arbitrates for a lock on the first resource.

26. The network device of claim 20 , wherein if the first AMF fails, one of the second AMF and the other AMFs arbitrates for a lock on the first resource and completes the operation once a lock is obtained.

27. The network device of claim 20 , 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 second AMF and the other AMFs that share access to the first redundancy group, such that if the first AMF fails while performing any of the steps of the operation, one of the second AMF and the other AMFs is able to complete the operation.

Assignments (11)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (045455/0001) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061753/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040136/0001) Recorded Apr 26, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061324/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 3, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL, L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058216/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 29, 2016
From: EMC CORPORATION
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 040203/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040136/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040134/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 8, 2008
From: EMC CORPORATION OF CANADA
To: EMC CORPORATION
Reel/Frame 021936/0238 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 22, 2008
From: YOTTAYOTTA, INC.
To: EMC CORPORATION OF CANADA
Reel/Frame 021561/0597 →
SECURITY AGREEMENT Recorded Apr 10, 2007
From: YOTTAYOTTA, INC.
To: 1172038 ALBERTA ULC; PRYCES (BARBADOS) LTD. (C/O US VENTURES); TECHNOANGE, INC.; BANC OF AMERICA STRATEGIC INVESTMENTS CORPORATION; SHIGEMURA, BARTON; KARPOFF, WAYNE
Reel/Frame 019140/0340 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 24, 2005
From: BROWN, WILLIAM P.; MATHEWS, PHD, MICHAEL B.
To: SEEK SYSTEMS, INC.
Reel/Frame 015704/0607 →
ASSET PURCHASE AGREEMENT Recorded Feb 24, 2005
From: SEEK SYSTEMS, INC.
To: YOTTA YOTTA, INC.
Reel/Frame 015702/0522 →
Continuity (2)
Continuation 0926190600 · Mar 3, 1999
Provisional Application 6010174200 · Sep 24, 1998