Claims
- 1. A disk memory system (100) for storing data files for associated data processing devices comprising:
- a plurality of disk drives (130-0 to 130-M);
- means (140) 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, the size of the parity group being one of at least two different parity group sizes in said two or more parity groups;
- means (101) 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 (161, 101, 111, 121, 141-*) 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 (140) 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.
- 2. The system (100) of claim 1 further including:
- means (101, 140) for identifying one of said disk drives in said subset that fails to function; and
- means (140, 145, 313, 314, 301, 307, 308, 121, 141-*) responsive to said identifying means for switchably connecting one of said backup disk drives in place of said identified failed disk drive;
- means (301, 302, 111, 121, 141-*, 130-*) for reconstructing the segment of said data file written on said identified failed disk drive, using said associated parity data.
- 3. The system (100) of claim 2 further including:
- means (301, 302, 111, 121, 141-*) for writing said reconstructed segment of said data file on to said one backup disk drive.
- 4. The system (100) of claim 2 wherein said reconstructing means (301, 302, 111, 121, 141-*, 130-*) includes:
- means (301) for generating said segment written on said identified failed disk drive using said associated parity data and the remainder of said data file.
- 5. The system (100) of claim 1 wherein said writing means (161, 101, 111, 121, 141-*) includes:
- means (301) for dividing said data file into two or more segments; and
- means (301) for generating parity data for said segmented data file.
- 6. The system (100) of claim 5 wherein said writing means (161, 101, 111, 121, 141-*) further includes:
- means (301-308, 111, 121, 141-*) for writing each of said segments and said parity data on to a different one of said two or more disk drives in said selected parity group.
- 7. The system (100) of claim 1 further including:
- means (401, 411-414, 421-424, 145, 101-104) for maintaining data indicative of the correspondence between said data file and the identity said two or more disk drives in said selected parity group.
- 8. The system (100) of claim 1 further including:
- means (101, 111, 121, 141-*, 130-*) responsive to a request for said data file from one of said associated data processing devices for reconstruct said segments of said data file.
- 9. The system (100) of claim 8 further including:
- means (261, 143) responsive to said reconstructing means for transmitting said concatenated segments of said data file to said requesting data processing device.
- 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, the size of the parity group being one of at least two different parity group sizes in said two or more parity groups;
- 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.
- 11. The method of claim 10 further including the step of:
- 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;
- reconstructing the segment of said data file written on said identified failed disk drive, using said associated parity data.
- 12. The method of claim 11 further including the step of:
- writing said reconstructed segment of said data file on to said one backup disk drive.
- 13. The method of claim 11 wherein said step of reconstructing includes the steps of:
- identifying said failed disk drive; and
- generating said segment written on said failed disk drive using said associated parity data and the remainder of said data file
- 14. The method of claim 11 wherein said step of writing includes the steps of:
- dividing said data file into one or more segments; and
- generating parity data for said segmented data file.
- 15. The method of claim 14 wherein said step of writing further includes the step of:
- writing each of said segments and said parity data on to a different one of said two or more disk drives.
- 16. The method of claim 10 further including the step of:
- maintaining data indicative of the correspondence between said data file and the identity said two or more disk drives.
- 17. The method of claim 10 further including the step of:
- concatenating, in response to a request for said data file from one of said associated data processing devices, said segments of said data file.
- 18. The method of claim 17 further including the step of:
- transmitting said concatenated segments of said data file to said requesting data processing device.
- 19. A disk memory system (100) for storing data files for associated data processing devices comprising
- a plurality of disk drives (130-0 to 130-M);
- means (140) for receiving 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 (140) for assigning a subset of said disk drives into two or more parity groups, each parity group consisting of two or more disk drives, the size of the parity group being one of at least two different parity group sizes in said two or more parity groups;
- means (101) 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 (161, 101, 111, 121, 141-*) 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.
- 20. The system (100) of claim 19 further including:
- means (101, 140) for identifying one of said two or more disk drives in said parity group that fails to function;
- means (140, 145, 313, 314, 301, 307, 308, 121, 141-*) for switchably connecting one of said backup disk drives in place of said identified failed disk drive;
- means (301, 302, 111, 121, 141-*, 130-*) for reconstructing the segment of said data file written on said identified failed disk drive, using said associated parity data.
- 21. The system (100) of claim 20 further including:
- means (301, 302, 111, 121, 141-*) for writing said reconstructed segment of said data file on to said one backup disk drive.
- 22. The system (100) of claim 20 wherein said reconstructing means (301, 302, 111, 121, 141-*, 130-*) includes:
- means (301) for generating said segment written on said identified failed disk drive using said associated parity data and the remainder of said data file.
- 23. The system (100) of claim 21 wherein said writing means (161, 101, 111, 121, 141-*) includes:
- means (301) for dividing said data file into one or more segments; and
- means (301) for generating parity data for said segmented data file.
- 24. The system (100) of claim 23 wherein aid writing means (301, 302, 111, 121, 141-*) further includes:
- means (301-308, 111, 121, 141-*) for writing each of said segments and said parity data on to a different one of said two or more disk drives in said selected parity group.
- 25. The system (100) of claim 19 further including:
- means (401, 411-414, 421-424, 145, 101-104) for maintaining data indicative of the correspondence between said received data file and the identity said two or more disk drives in said selected parity group.
- 26. The system (100) of claim 19 further including
- means (161, 101, 111, 121, 141-*, 130-*) responsive to a request for said data file from one of said associated data processing devices for concatenating said segments of said data file.
- 27. The system (100) of claim 26 further including:
- means (261, 143) responsive to said concatenating means for transmitting said concatenated segments of said data file to said requesting data processing device.
- 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, the size of the parity group being one of at least two different parity group sizes in said two or more parity groups;
- 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.
- 29. The method of claim 28 further including the step of:
- 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
- reconstructing the segment of said received data file written on said identified failed disk drive, using said associated parity data.
- 30. The method of claim 29 further including the step of:
- writing said reconstructed segment of said data file on to said one backup disk drive.
- 31. The method of claim 28 wherein said step of reconstructing includes the steps of:
- identifying said failed disk drive; and
- generating said segment written on said failed disk drive using said associated parity data and the remainder of said data file.
- 32. The method of claim 28 wherein said step of writing includes the steps of:
- dividing said data file into two or more segments; and
- generating parity data for said segmented data file.
- 33. The method of claim 32 wherein said step of writing further includes the step of:
- writing each of said segments and said parity data on to a different one of said two or more disk drives.
- 34. The method of claim 28 further including the step of:
- maintaining data indicative of the correspondence between said data file and the identity said two or more disk drives.
- 35. The method of claim 28 further including the step of:
- concatenating, in response to a request for said data file from one of said associated data processing devices, said segments of said data file.
- 36. The method of claim 35 further including the step of:
- transmitting said concatenated segments of said data file to said requesting data processing device.
Parent Case Info
This is a divisional of application Ser. No. 07/212,434, filed June 28, 1988, now U.S. Pat. No. 4,914,656 issued on 4/3/90.
US Referenced Citations (5)
Divisions (1)
|
Number |
Date |
Country |
Parent |
212434 |
Jun 1988 |
|