Disk drive memory
First Claim
1. A disk memory system for storing data files for associated data processing devices comprising:
- a plurality of disk drives;
means for assigning a subset of said plurality of disk drives into two or more parity groups, each parity group consisting of two or more disk drives;
means responsive to the receipt of a data file from said associated data processing devices for selecting one of said parity groups to store said data file thereon;
means for writing said received data file and parity data associated with said received data file in segments across said two or more disk drives in said selected parity group;
means for reserving one or more of said plurality of disk drives as backup disk drives, which backup disk drives are shared in common by said two or more parity groups;
means for identifying one of said disk drives in said subset that fails to function; and
means responsive to said identifying means for switchably connecting one of said backup disk drives in place of said identified failed disk drive;
means responsive to said identified failed disk drive being removed from said disk memory system and a new disk drive being substituted therein for placing said new disk drive in a pool of said plurality of disk drives that are presently unassigned by said assigning means and said reserving means.
0 Assignments
0 Petitions
Accused Products
Abstract
The disk drive memory of the present invention uses a large plurality of small form factor disk drives to implement an inexpensive, high performance, high reliability disk drive memory that emulates the format and capability of large form factor disk drives. The plurality of disk drives are switchably interconnectable to form parity groups of N+1 parallel connected disk drives to store data thereon. The N+1 disk drives are used to store the N segments of each data word plus a parity segment. In addition, a pool of backup disk drives is maintained to automatically substitute a replacement disk drive for a disk drive in a parity group that fails during operation.
-
Citations
58 Claims
-
1. A disk memory system for storing data files for associated data processing devices comprising:
-
a plurality of disk drives; means for assigning a subset of said plurality of disk drives into two or more parity groups, each parity group consisting of two or more disk drives; means responsive to the receipt of a data file from said associated data processing devices for selecting one of said parity groups to store said data file thereon; means for writing said received data file and parity data associated with said received data file in segments across said two or more disk drives in said selected parity group; means for reserving one or more of said plurality of disk drives as backup disk drives, which backup disk drives are shared in common by said two or more parity groups; means for identifying one of said disk drives in said subset that fails to function; and means responsive to said identifying means for switchably connecting one of said backup disk drives in place of said identified failed disk drive; means responsive to said identified failed disk drive being removed from said disk memory system and a new disk drive being substituted therein for placing said new disk drive in a pool of said plurality of disk drives that are presently unassigned by said assigning means and said reserving means. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method of storing data files for data processing devices on an associated disk memory system that includes a plurality of disk drives comprising the steps of:
-
assigning a subset of said plurality of disk drives into two or more parity groups, each parity group consisting of two or more disk drives; selecting, in response to the receipt of a data file from said processing devices, one of said parity groups to store said received data file thereon; writing said received data file and parity data associated with said received data file across said two or more disk drives of said selected parity group; reserving one or more of said plurality of disk drives as backup disk drives, said backup disk drives shared in common by said parity groups; identifying one of said disk drives in said subset that fails to function; switchably connecting one of said backup disk drives in place of said identified failed disk drive; placing, in response to said identified failed disk drive being removed from said disk memory system and a new disk drive being substituted therein, said new disk drive in a pool of said plurality of disk drives that are presently unassigned by said assigning means and said reserving means. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A disk memory system for storing data files for associated data processing devices comprising:
-
a plurality of disk drives; means for reserving one or more of said plurality of disk drives as backup disk drives, which backup disk drives are shared in common by said parity groups; means for assigning a subset of said disk drives into two or more parity groups, each parity group consisting of two or more disk drives; means responsive to the receipt of one of said data files from said associated data processing devices for selecting one of said parity groups to store said received data file thereon; means responsive to said selecting means for writing said received data file and parity data associated with said received data file across said two or more disk drives in said selected parity group; means for identifying one of said two or more disk drives in said parity group that fails to function; means for switchably connecting one of said backup disk drive in place of said identified failed disk drive; means responsive to said identified failed disk drive being removed from said disk memory system and a new disk drive being substituted therein for placing said new disk drive in a pool of said plurality of disk drives that are presently unassigned by said assigning means and said reserving means. - View Dependent Claims (20, 21, 22, 23, 24, 25, 26, 27)
-
-
28. A method of storing data files on a disk memory system that includes a plurality of disk drives, for an associated data processing devices comprising the steps of:
-
reserving one or more of said plurality of disk drives as backup disk drives, which backup disk drives are shared in common by said parity groups; assigning a subset of said disk drives into two or more parity groups, each said parity group consisting of two or more disk drives; selecting one of said parity groups in response to the receipt of a data file from said associated data processing devices for storing said received data file thereon; writing said received data file and parity data associated with said received data file across said two or more disk drives in said selected parity group; identifying one of said disk drives in said selected parity group that fails to function; switchably connecting one of said backup disk drives in place of said identified failed disk drive; placing, in response to said identified failed disk drive being removed from said disk memory system and a new disk drive being substituted therein, said new disk drive in a pool of said plurality of disk drives that are presently unassigned by said assigning means and said reserving means. - View Dependent Claims (29, 30, 31, 32, 33, 34, 35, 36)
-
-
37. A disk memory system for storing data files that are accessible by associated data processing device comprising:
-
a plurality of disk drives for storing data thereon; means for transferring data between said disk memory system and said associated data processing devices; mean for assigning a subset of said disk drives into two or more parity groups, each said parity group containing n+1 disk drives, where n is a positive integer; means for segmenting each data file received from said associated data processing devices via said transferring means into n segments; means responsive to said segmenting means for generating data parity information for said segmented data file; means for selecting one of said parity groups to store said received data file and associated generated parity information thereon; means for switchably interconnecting said n+1 disk drives in said selected parity group with said segmenting means to write said n segments plus said parity data on to said n+1 disk drives of said selected parity group; means for reserving one or more of said plurality of disk drives as backup disk drives, which backup disk drives are shared in common by said parity groups; means for identifying one of said n+1 disk drives that fails to function; means for switchably connecting one of said backup disk drives in place of said identified failed disk drive; means responsive to said identified failed disk drive being removed from said disk memory system and a new disk drive being substituted therein for placing said new disk drive in a pool of said plurality of disk drives that are presently unassigned by said assigning means and said reserving means means for reconstructing the segment of said data file written on said identified failed disk drive, using said associated parity data; and means for writing said reconstructed segment of said data file on to said one backup disk drive.
-
-
38. In a disk memory system including a plurality of disk drives a method of storing data files that are accessible by associated data processing devices comprising the steps of:
-
transferring data between said disk memory system and said associated data processing devices; segmenting each data file received from said associated data processing devices via said transferring means into n segments where n is a positive integer; generating data parity information for said segmented data file; assigning a subset of said plurality of disk drives into two or more parity groups, each said parity group containing n+1 disk drives; switchably interconnecting said n+1 disk drives in one of said parity groups with said segmenting means to write said n segments plus said parity data on to said n+1 disk drives of said one parity group; reserving one or more of said plurality of disk drives as backup disk drives, which backup disk drives are shared in common by said parity drives; identifying the one of said disk drives in said subset that fails to function; switchably connecting one of said backup disk drives in place of said identified failed disk drive; placing, in response to said identified failed disk drive being removed from said disk memory system and a new disk drive being substituted therein, said new disk drive in a pool of said plurality of disk drives that are presently unassigned by said assigning means and said reserving means; reconstructing the segment of said data file written on said identified failed disk drive, using said associated parity data; and writing said reconstructed segment of said data file on to said one backup disk drive.
-
-
39. A disk memory system for emulating a large form factor disk drive to store data files that are accessible by associated data processing devices comprising:
-
a plurality of small form factor disk drives for storing data thereon; means for assigning a subset of said disk drives into two or more parity groups, each said parity group including n+1 of said plurality of disk drives, where n is a positive integer; means for segmenting each data file received from said associated data processing devices into n segments; means responsive to said segmenting means for generating data parity information for said segmented data file; and means for switchably interconnecting said n+1 disk drives of one of said parity groups with said segmenting means to write said n segments plus parity data on to said n+1 disk drives of said one parity group. - View Dependent Claims (40, 41, 42, 43, 44)
-
-
45. In a disk memory system a method of emulating a large form factor disk drive using a plurality of small form factor disk drives to store data files that are accessible by associated data processing devices comprising the steps of:
-
assigning a subset of said disk drives into two or more parity groups, each said parity group including n+1 of said plurality of disk drives, where n is a positive integer; selecting one of said parity groups; segmenting each data file received from said associated data processing devices into n segments; generating data parity information for said segmented data file; switchably interconnecting said n+1 disk drives of one of said parity groups with said segmenting means to write said n segments plus said parity data on to said n+1 disk drives of said parity group; reserving one or more of said plurality of disk drives as backup disk drives, which backup disk drives are shared in common by said parity groups; identifying one of said subset of disk drives that fails to function; switchably connecting one of said backup disk drives in place of said failed disk drive; and placing, in response to said identified failed disk drive being removed from said disk memory system and a new disk drive being substituted therein, said new disk drive in a pool of said plurality of disk drives that are presently unassigned y said assigning means and said reserving means. - View Dependent Claims (46, 47, 48, 49, 50)
-
-
51. A disk memory system for storing data files for one or more associated data processing devices comprising:
-
a plurality of disk drives; means for assigning a subset of said plurality of said disk drives to two or more parity groups, each parity group consisting of n+1 disk drives, where n is a positive integer; means responsive to the receipt of a data file from one of said associated data processing devices for segmenting said received data file into n equal segments; means for generating a parity segment using said n segments of said received data file; and means for writing said n segments and said parity segment on one of said parity groups. - View Dependent Claims (52, 53, 54)
-
-
55. In a disk memory system including a plurality of disk drives a method of storing data files for one or more associated data processing devices comprising the steps of:
-
assigning a subset of said plurality of said disk drives to two or more parity groups, each parity group consisting on n+1 disk drives, where n is a positive integer; segmenting, in response to the receipt of a data file from one of said associated data processing devices, said received data file into n equal segments; generating a parity segment using said n segments of said received data file; writing said n segments and said parity segment on one of said parity groups; selecting one or more of said plurality of disk drives as backup disk drives, which backup disk drives are shared in common by said parity groups identifying one of said disk drives in a parity group that fails to function; reconstructing the segment of said data file written on said failed disk drive, using said associated parity data; and placing, in response to said identified failed disk drive being removed from said disk memory system an a new disk drive being substituted therein, said new disk drive in a pool of said plurality of disk drives that are presently unassigned by said assigning means and said reserving means. - View Dependent Claims (56, 57, 58)
-
Specification