IP Library Granted Patent US 7,062,648
Granted Patent B2
US 7,062,648 · App. 09/777,139 · Granted Jun 13, 2006

System and method for redundant array network storage

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 7,062,648
App. No.
09/777,139
Granted
Jun 13, 2006
Kind
B2
Abstract

A data storage system comprising a plurality of storage nodes. Data storage mechanisms are implemented in each storage node communicating a storage request to at least one storage node. The at least one storage node implements the storage request using an arbitrary subset of the storage nodes.

Claims (74)

1. A data storage system comprising:

a plurality of storage nodes;

data storage mechanisms implemented in each storage node;

a communication medium linking storage nodes; and

data distributed across a set of the storage nodes selected based on state information corresponding to the storage nodes such that the data remains available irrespective of the unavailability of one or more of the storage nodes within the selected set, wherein the data storage mechanisms on at least two storage nodes collectively implement a unitary volume of network storage.

2. The data storage system of claim 1 wherein the communication medium comprises:

a public network for receiving access requests for the data storage system; and

a private network enabling communication between storage nodes.

3. The data storage system of claim 2 wherein the public network comprises the Internet.

4. The data storage system of claim 2 wherein the private network comprises a virtual private network implemented over the Internet.

5. The data storage system of claim 1 further comprising:

communication processes implemented within each of the storage nodes operable to exchange state information between at least some of the other data storage nodes.

6. The data storage system of claim 1 wherein each of the data storage nodes further comprises data structures configured to store state information about one or more other nodes and the communication links between them.

7. The data storage system of claim 6 wherein the state information comprises information selected from the group consisting of but not limited to: availability information, capacity information, quality of service information, performance information, geographical location information, network topological location information.

8. The data storage system of claim 7 wherein the set of storage nodes is selected by a first of the storage nodes using the state information stored in the first of the storage nodes.

9. The data storage system of claim 1 wherein the network comprises:

a plurality of first level networks, each first level network coupling multiple storage nodes; and

a second level network coupling at least two of the first level networks.

10. The data storage system of claim 9 wherein the first level network comprises a connection selected from the group consisting of: Ethernet, fast Ethernet, gigabit Ethernet, Fibre channel, ATM, firewire, Myernet, SCSI, serial, parallel, universal serial bus, and wireless networks.

11. The data storage system of claim 1 further comprising:

storage management processes executing on one of the storage nodes to determine state information about each of the set of storage nodes.

12. The data storage system of claim 1 wherein the communication medium comprises a secure communication medium.

13. The data storage system of claim 1 wherein the communication medium implements an authentication protocol between linked storage nodes.

14. The data storage system of claim 1 wherein the communication medium implements cryptographic security between linked storage nodes.

15. A data storage system comprising:

a plurality of storage nodes wherein each of the data storage nodes further comprises data structures configured to store state information about one or more other nodes and the communication links between them;

data storage mechanisms implemented in each storage node;

a communication medium linking storage nodes;

communication processes implemented within each of the storage nodes operable to exchange state information between at least some of the other data storage nodes;

data distributed across a selected set of the storage nodes such that the data remains available irrespective of the unavailability of one or more of the storage nodes within the selected set; and

wherein the communication processes implement a repetitive peer-to-peer conversation between the set of storage nodes enabling the state information contained in the state information data structures within each individual node to represent a consistent view of the state of the collection of storage nodes.

16. A method of managing data storage in a network comprising multiple storage nodes, the method comprising the acts of:

communicating a storage request to at least one storage node;

causing the at least one storage node to implement the storage request using an arbitrary subset of the storage nodes;

communicating state information between the multiple storage nodes; and

selecting the arbitrary subset of the multiple storage nodes to be used based upon the state information.

17. The method of claim 16 wherein the act of implementing the storage request comprises associating error checking and correcting (ECC) code with storage request.

18. The method of claim 17 wherein the ECC code is stored in a single network storage node and the unit of data is stored in two or more network storage nodes.

19. The method of claim 16 further comprising:

retrieving a stored unit of data specified by the storage request; and

verifying the correctness of the stored unit of data;

upon detection of an error in the retrieved unit of data, retrieving the correct unit of data using data stored in the others of the arbitrary subset of the multiple storage nodes.

20. The method of claim 16 further comprising moving the stored unit of data from one network storage node to another network storage node after the step of storing.

21. The method of claim 16 further comprising:

communicating state information and storage requests amongst the arbitrary subset of the storage nodes; and

encrypting at least some of the information and storage requests before communicating them between storage nodes.

22. The method of claim 16 further comprising:

communicating state information and storage requests amongst the arbitrary subset of the storage nodes; and

authenticating the communication between storage nodes.

23. A method of managing data storage in a network comprising multiple storage nodes, the method comprising:

communicating a storage request to at least one storage node;

causing the at least one storage node to implement the storage request using an arbitrary subset of the storage nodes;

attempting to retrieve the stored unit of data from the arbitrary subset of the multiple storage nodes;

detecting unavailability of one or more network storage nodes; and

in response to detected unavailability, retrieving the correct unit of data using data stored in others of the arbitrary subset of the multiple storage nodes.

24. The method of claim 23 wherein the unavailability is caused by failure of one or more of the network storage nodes.

25. The method of claim 23 wherein the unavailability is caused by congestion/failure of a network link leading to one or more of the network storage nodes.

26. A system for managing data storage in a network comprising multiple storage nodes, comprising:

means for communicating a storage request to at least one storage node;

means for causing the at least one storage node to implement the storage request using an arbitrary subset of the storage nodes;

means for communicating state information between the multiple storage nodes; and

means for selecting the arbitrary subset of the multiple storage nodes to be used based upon the state information.

27. The system of claim 26 , further comprising:

means for retrieving a stored unit of data specified by the storage request; and

means for verifying the correctness of the stored unit of data; and

upon detection of an error in the retrieved unit of data, means for retrieving the correct unit of data using data stored in the others of the arbitrary subset of the multiple storage nodes.

28. A system for managing data storage in a network comprising multiple storage nodes, the method comprising:

means for communicating a storage request to at least one storage node;

means for causing the at least one storage node to implement the storage request using an arbitrary subset of the storage nodes;

means for attempting to retrieve the stored unit of data from the arbitrary subset of the multiple storage nodes;

means for detecting unavailability of one or more network storage nodes; and

in response to detected unavailability, means for retrieving the correct unit of data using data stored in others of the arbitrary subset of the multiple storage nodes.

29. The system of claim 28 , wherein the unavailability is caused by failure of one or more of the network storage nodes.

30. The system of claim 28 , wherein the unavailability is caused by congestion/failure of a network link leading to one or more of the network storage nodes.

Assignments (15)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
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 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
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 Mar 7, 2007
From: AVAMAR TECHNOLOGIES, INC.
To: EMC CORPORATION
Reel/Frame 018972/0254 →
SECURITY AGREEMENT Recorded Jun 24, 2005
From: AVAMAR TECHNOLOGIES, INC.
To: VENTURE LENDING & LEASING IV, INC.
Reel/Frame 016718/0008 →
SECURITY INTEREST Recorded Sep 23, 2003
From: AVAMAR TECHNOLOGIES, INC.
To: VENTURE LENDING & LEASING III, INC.
Reel/Frame 014541/0725 →
SECURITY AGREEMENT Recorded Jun 22, 2002
From: AVAMAR TECHNOLOGIES, INC., FORMERLY KNOWN AS UNDOO, INC.
To: COMERCIA BANK-CALIFORNIA SUCCESSOR IN INTEREST TO IMPERIAL BANK
Reel/Frame 013261/0729 →
CHANGE OF NAME Recorded Oct 5, 2001
From: UNDOO, INC.
To: AVAMAR TECHNOLOGIES, INC.
Reel/Frame 012244/0447 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 25, 2001
From: MOULTON, GREGORY HAGAN; ZARBOCK, JAMES JOHN
To: UNDOO, INC., A DELAWARE CORPORATION
Reel/Frame 011933/0663 →