Method and system for managing storage systems containing multiple data storage devices
First Claim
1. A method of distributing a volume across a plurality of disk drives, the method comprising the steps of:
- determining that a particular disk drive of said plurality of disk drives is to store more than one piece of said volume; and
selecting a plurality of pieces of said volume to store on said particular disk drive based at least in part on how far apart said pieces are within an address space of said volume.
1 Assignment
0 Petitions
Accused Products
Abstract
An approach for efficiently managing logical volumes of data includes subdividing logical volumes of data into relatively small pieces that are spread over several physical disks. When a determination is made that a particular disk drive is to store more than one piece of a volume, a plurality of pieces of the volume are selected to be stored on the particular disk drive based at least in part on how far apart the pieces are within an address space of the volume. In response to an addition of one or more new drives to a system that contains a plurality of disk drives, at least a piece of each of the plurality of volumes may be moved from a drive of the plurality of disk drives to at least one of the one or more new drives.
-
Citations
93 Claims
-
1. A method of distributing a volume across a plurality of disk drives, the method comprising the steps of:
-
determining that a particular disk drive of said plurality of disk drives is to store more than one piece of said volume; and
selecting a plurality of pieces of said volume to store on said particular disk drive based at least in part on how far apart said pieces are within an address space of said volume. - View Dependent Claims (2)
-
-
3. A method of managing data, the method comprising the steps of:
-
storing the data within a plurality of logical volumes spread across a plurality of disk drives;
maintaining, for each volume of said plurality of logical volumes, a list of entries;
wherein each entry in the list of entries corresponds to a logical volume piece and identifies a disk drive piece that stores the corresponding logical volume piece;
maintaining a logical volume directory that includes the list of entries for each logical volume of said plurality of logical volumes; and
using the list of entries for a particular logical volume to translate logical volume I/O requests into physical disk drive I/O requests. - View Dependent Claims (4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. A method of managing data, the method comprising the steps of:
-
storing the data within a plurality of logical volumes spread across a plurality of disk drives, wherein the plurality of logical volumes includes a first logical volume;
maintaining a logical volume directory that includes a directory entry for each volume of said plurality of logical volumes;
storing, in the directory entry for the first logical volume, one or more extent pointers for locating data extents that belong to the first logical volume. - View Dependent Claims (19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31)
-
-
32. A computer-readable medium carrying instructions for distributing a volume across a plurality of disk drives, the computer-readable medium comprising instructions for performing the steps of:
-
determining that a particular disk drive of said plurality of disk drives is to store more than one piece of said volume; and
selecting a plurality of pieces of said volume to store on said particular disk drive based at least in part on how far apart said pieces are within an address space of said volume. - View Dependent Claims (33)
-
-
34. A computer-readable medium carrying instructions for managing data, the computer-readable medium comprising instructions for performing the steps of:
-
storing the data within a plurality of logical volumes spread across a plurality of disk drives;
maintaining, for each volume of said plurality of logical volumes, a list of entries;
wherein each entry in the list of entries corresponds to a logical volume piece and identifies a disk drive piece that stores the corresponding logical volume piece;
maintaining a logical volume directory that includes the list of entries for each logical volume of said plurality of logical volumes; and
using the list of entries for a particular logical volume to translate logical volume I/O requests into physical disk drive I/O requests. - View Dependent Claims (35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48)
-
-
49. A computer-readable medium carrying instructions for managing data, the computer-readable medium comprising instructions for performing the steps of:
-
storing the data within a plurality of logical volumes spread across a plurality of disk drives, wherein the plurality of logical volumes includes a first logical volume;
maintaining a logical volume directory that includes a directory entry for each volume of said plurality of logical volumes;
storing, in the directory entry for the first logical volume, one or more extent pointers for locating data extents that belong to the first logical volume. - View Dependent Claims (50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62)
-
-
63. An apparatus for distributing a volume across a plurality of disk drives, the apparatus comprising a memory storing instructions which, when executed by one or more processors, causes the performance of:
-
determining that a particular disk drive of said plurality of disk drives is to store more than one piece of said volume; and
selecting a plurality of pieces of said volume to store on said particular disk drive based at least in part on how far apart said pieces are within an address space of said volume. - View Dependent Claims (64)
-
-
65. An apparatus for managing data, the apparatus comprising a memory storing instructions which, when executed by one or more processors, causes the performance of:
-
storing the data within a plurality of logical volumes spread across a plurality of disk drives;
maintaining, for each volume of said plurality of logical volumes, a list of entries;
wherein each entry in the list of entries corresponds to a logical volume piece and identifies a disk drive piece that stores the corresponding logical volume piece;
maintaining a logical volume directory that includes the list of entries for each logical volume of said plurality of logical volumes; and
using the list of entries for a particular logical volume to translate logical volume I/O requests into physical disk drive I/O requests. - View Dependent Claims (66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79)
-
-
80. An apparatus for managing data, the apparatus comprising a memory storing instructions which, when executed by one or more processors, causes the performance of:
-
storing the data within a plurality of logical volumes spread across a plurality of disk drives, wherein the plurality of logical volumes includes a first logical volume;
maintaining a logical volume directory that includes a directory entry for each volume of said plurality of logical volumes;
storing, in the directory entry for the first logical volume, one or more extent pointers for locating data extents that belong to the first logical volume. - View Dependent Claims (81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93)
-
Specification