Claims
- 1. A computer storage system, comprising:
a plurality of disk drives for storing distributed parity groups, each distributed parity group comprising storage blocks, said storage blocks comprising one or more data blocks and a parity block associated with said one or more data blocks, each of said storage blocks stored on a separate disk drive such that no two storage blocks from a given parity group reside on the same disk drive; file system metadata to describe a location of each of said storage blocks; a resource-allocation module to recognize a new disk drive hot-swapped into said plurality of disk drives during file system operation and to use said new disk drive to store one or more storage blocks.
- 2. The computer storage system of claim 1, wherein a size of a first distributed parity group is larger than a size of a second distributed parity group within a first file.
- 3. The computer storage system of claim 1, further comprising metadata to specify which disk drive in said plurality of disk drives and said new disk drive contains each storage block.
- 4. The computer storage system of claim 1, wherein said new disk drive is provided to a Fibre Channel network.
- 5. The computer storage system of claim 1, wherein a file is organized as one or more of said distributed parity groups.
- 6. The computer storage system of claim 1, wherein said file system metadata comprises information to specify a logical block address for each storage block in a distributed parity group.
- 7. The computer storage file system of claim 1, wherein an extent of a first distributed parity group of a file is larger than an extent of a second distributed parity group of said file.
- 8. The computer storage file system of claim 23, further comprising a load-balancing module to distribute one or more existing storage blocks to said new disk drive.
- 9. A method for hot-swapping a new storage device in a storage system, comprising:
recognizing said new storage device; adding said new disk drive to a list of previously-available storage devices to produce a list of currently-available storage devices; determining a size of a new parity group, said size describing a number of data blocks in said new parity group; computing a parity block for said parity group; and storing one of said data blocks or said parity block on said new storage device.
- 10. The method of claim 9, further comprising storing metadata to describe a disk and logical block location of each of said data blocks and said parity block.
- 11. The method of claim 9, further comprising combining a first parity group having a first size and a second parity group having a second size to produce a combined parity group having a third size, wherein said third size specifies a number of data blocks that is one less than the number of currently-available storage devices.
- 12. The method of claim 9, wherein said new storage device comprises a disk drive.
- 13. The method of claim 9, further comprising: recognizing that a selected storage device has gone offline, removing said selected storage device from said list of currently-available storage devices to produce a list of remaining storage devices; reconstructing data stored on said selected storage device; storing said reconstructed data on one or more of said remaining storage devices; and updating file system metadata to facilitate locating said reconstructed data.
REFERENCE TO RELATED APPLICATIONS
[0001] The present application claims priority benefit under 35 U.S.C. §119(e) from all of the following U.S. Provisional Applications, the contents of which are hereby incorporated by reference in their entirety:
[0002] U.S. Provisional Application No. 60/264,671, filed Jan. 29, 2001, titled “DYNAMICALLY DISTRIBUTED FILE SYSTEM”;
[0003] U.S. Provisional Application No. 60/264,694, filed Jan. 29, 2001, titled “A DATA PATH ACCELERATOR ASIC FOR HIGH PERFORMANCE STORAGE SYSTEMS”;
[0004] U.S. Provisional Application No. 60/264,672, filed Jan. 29, 2001, titled “INTEGRATED FILE SYSTEM/PARITY DATA PROTECTION”;
[0005] U.S. Provisional Application No. 60/264,673, filed Jan. 29, 2001, titled “DISTRIBUTED PARITY DATA PROTECTION”;
[0006] U.S. Provisional Application No. 60/264,670, filed Jan. 29, 2001, titled “AUTOMATIC IDENTIFICATION AND UTILIZATION OF RESOURCES IN A DISTRIBUTED FILE SERVER”;
[0007] U.S. Provisional Application No. 60/264,669, filed Jan. 29, 2001, titled “DATA FLOW CONTROLLER ARCHITECTURE FOR HIGH PERFORMANCE STORAGE SYSTEMS”;
[0008] U.S. Provisional Application No. 60/264,668, filed Jan. 29, 2001, titled “ADAPTIVE LOAD BALANCING FOR A DISTRIBUTED FILE SERVER”; and
[0009] U.S. Provisional Application No. 60/302,424, filed Jun. 29, 2001, titled “DYNAMICALLY DISTRIBUTED FILE SYSTEM”.
Provisional Applications (8)
|
Number |
Date |
Country |
|
60264671 |
Jan 2001 |
US |
|
60264694 |
Jan 2001 |
US |
|
60264672 |
Jan 2001 |
US |
|
60264673 |
Jan 2001 |
US |
|
60264670 |
Jan 2001 |
US |
|
60264669 |
Jan 2001 |
US |
|
60264668 |
Jan 2001 |
US |
|
60302424 |
Jun 2001 |
US |