Logical track write scheduling system for a parallel disk drive array data storage subsystem
DCFirst Claim
1. A disk memory system for storing data records for at least one associated data processor comprising:
- a plurality of disk drives, a subset of said plurality of disk drives being configured into at lest two redundancy groups, each redundancy group consisting of at lest two disk drives;
means, responsive to the receipt of a stream of data records from said associated data processor, for selecting first available memory space in one of said redundancy groups to store said received stream of data records thereon;
means for writing said received stream of data records and redundancy data associated with said received stream of data records in said selected first available memory space in said selected redundancy group;
means, responsive to the subsequent receipt of modifications to one of said data records stored in said first available memory space in said selected redundancy group from said associated data processor, for writing said modified data record, exclusive of the rest of said received stream of data records and said redundancy data associated with said received stream of data records written in said first available memory space, in second available memory space in one of said redundancy groups by including said modified data record with a stream of data records subsequently received by said writing means; and
means for converting said first available memory space used to store said originally received data record to available memory space.
1 Assignment
Litigations
0 Petitions
Accused Products
Abstract
The parallel disk drive array data storage subsystem maps between virtual and physical data storage devices and schedules the writing of data to these devices. The data storage subsytem functions as a conventional large form factor disk drive memory, using an array of redundancy groups, each containing N+M disk drives. A performance improvement is obtained by eliminating redundancy data updates in the redundancy group by writing modified virtual track instances into previously emptied logical tracks and marking the data contained in the previous virtual track instance location as invalid. Logical cylinders containing a mixture of valid and invalid virtual tracks are emptied by writing all the valid virtual tracks into a previously emptied logical cylinder as a background process.
497 Citations
80 Claims
-
1. A disk memory system for storing data records for at least one associated data processor comprising:
-
a plurality of disk drives, a subset of said plurality of disk drives being configured into at lest two redundancy groups, each redundancy group consisting of at lest two disk drives; means, responsive to the receipt of a stream of data records from said associated data processor, for selecting first available memory space in one of said redundancy groups to store said received stream of data records thereon; means for writing said received stream of data records and redundancy data associated with said received stream of data records in said selected first available memory space in said selected redundancy group; means, responsive to the subsequent receipt of modifications to one of said data records stored in said first available memory space in said selected redundancy group from said associated data processor, for writing said modified data record, exclusive of the rest of said received stream of data records and said redundancy data associated with said received stream of data records written in said first available memory space, in second available memory space in one of said redundancy groups by including said modified data record with a stream of data records subsequently received by said writing means; and means for converting said first available memory space used to store said originally received data record to available memory space. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. In a disk memory system, having a plurality of disk drives, a number of said plurality of disk drives being configured into at least two redundancy groups, each redundancy group consisting of at least two disk drives, a method of storing data records for at least one associated data processor comprising the steps of:
-
selecting, in response to the receipt of a stream of data records from said associated data processor, first available memory space in one of said redundancy groups to store said received stream of data records thereon; writing said received stream of data records and redundancy data associated with said received stream of data records in said selected first available memory space in said selected redundancy group; writing, in response to the subsequent receipt of modifications to one of said data records stored in said first available memory space in said selected redundancy group from said associated data processor, said modified data record, exclusive of the rest of said received stream of data records and said redundancy data associated with said received stream of data records written in said first available memory space, in second available memory space in one of said redundancy groups by including said modified data record with a stream of data records subsequently received for said step of writing; and converting said first available memory space used to store said originally received data record to available memory space. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. A disk memory system for storing data records that are accessible by at least one associated data processor comprising:
-
a plurality of disk drives for storing data thereon, a number of said disk drives being configured into at least two redundancy groups, each said redundancy group including n+m of said plurality of disk drives, where n and m are both positive integers with n greater than 1 and m equal to or greater than 1; means for storing each stream of data records received from said associated data processing devices on successive ones of said n disk drives in first available memory space in a selected redundancy group; means, responsive to said storing means storing streams of data records on all n disk drives in said first available memory space in said selected redundancy group, for generating m segments of data redundancy information for said data records stored on said n disk drives; means for writing said m segments of redundancy data on to said m disk drives in said first available memory space in said selected redundancy group; means, responsive to the subsequent receipt of modifications to one of said data records stored in said first available memory space in said selected redundancy group from said associated data processor, for writing said modified data record, exclusive of the rest of said received stream of data records and said redundancy data associated with said received stream of data records written in said first available memory space, in second available memory space in one of said redundancy groups by including said modified data record with a stream of data records subsequently received by said storing means; and means for converting said first available memory space used to store said originally received data record to available memory space. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24)
-
-
25. In a disk memory system having a plurality of disk drives for storing data thereon, a number of said disk drives being configured into at least two redundancy groups, each said redundancy group including n+m of said plurality of disk drives, where n and m are both positive integers, with n being greater than 1 and m being equal to or greater than 1, for storing data records that are accessible by at least one associated data processor comprising the steps of:
-
storing each stream of data records received from said associated data processing devices on successive ones of said n disk drives in first available memory space in a selected redundancy group; generating, in response to storing streams of data records on all n disk drives in said first available memory space in said selected redundancy group for generating m segments of data redundancy information for said streams of data records stored on said n disk drives; writing said m segments of redundancy data on to said m disk drives in aid first available memory space in said selected redundancy group; writing, in response to the subsequent receipt of modifications to one of said data records stored in said first available memory space in said selected redundancy group from said associated data processor, said modified data record, exclusive of the rest on said received stream of data records and said m segments of redundancy data associated with said received stream of data records written in said first available memory space, in second available memory space in one of said redundancy groups by including said modified data record with a stream of data records subsequently received for said step of storing; and converting said first available memory space used to store said originally received data record to available memory space. - View Dependent Claims (26, 27, 28, 29, 30, 31, 32)
-
-
33. A disk memory system for storing data records for at least one associated data processor comprising:
-
a plurality of disk drives, a number of said plurality of said disk drives configured of n+m disk drives, where n and m are both positive integers with n being greater than 1 and m being equal to or greater than 1; means, responsive to the receipt of n streams of data records from said associated data processor, for storing said n received streams of data records; means for generating m redundancy segments using said n received streams of data records; means for writing said n received streams of data records and said m redundancy segments in first available memory space in a selected one of said redundancy groups, one said received streams of data records and one said redundancy segment on a corresponding one of said n+m disk drives in said selected redundancy group; means, responsive to the subsequent receipt of modifications to one of said data records stored in said first available memory space in said selected redundancy group from said associated data processor, for writing said modified data record, exclusive of the rest of said n received stream of data records and said m redundancy segments associated with said n received streams of data records written in said first available memory space, in second available memory space in one of said redundancy groups by including said modified data record with a n streams of data records subsequently received by said writing means; and means for converting said first available memory space used to store said originally received data record to available memory space. - View Dependent Claims (34, 35, 36, 37, 38, 39, 40)
-
-
41. In a disk memory system having a plurality of disk drives, a number of said plurality of said disk drives configured into at least two redundancy groups, each redundancy group consisting of n+m disk drives, where n and m are both positive integers, with n being greater than 1 and m being equal to or greater than 1, a method of storing data records for at least one associated data processor comprising the steps of:
-
storing, in response to the receipt of n streams of data records from said associated data processor, said n received streams of data records; generating m redundancy segments using said n received streams of data records; writing said n received streams of data records and said m redundancy segments in first available memory space in a selected one of said redundancy groups, one said received stream of data records and one said redundancy segment on a corresponding one of said n+m disk drives in said selected redundancy group; writing, in response to the subsequent receipt of modifications to one of said data records stored in said first available memory space in aid selected redundancy group from said associated data processor, said modified data record, exclusive of the rest of said n received streams of data records and said m redundancy segments associated with said n received streams of data records written in said first available memory space, in second available memory space in one of said redundancy groups by including said modified data record with a n streams of data records subsequently received for said step of writing; and converting said first available memory space used to store said originally received data record to available memory space. - View Dependent Claims (42, 43, 44, 45, 46, 47, 48)
-
-
49. A disk memory system for storing data records for at least one associated data processor comprising:
-
a plurality of disk drives, a number of said plurality of said disk drives configured into at least two redundancy groups, each redundancy group consisting of n+m disk drives, where n and m are both positive integers with n being greater than 1 and m being equal to or greater than 1; means, responsive to the receipt of n streams of data records from said associated data processor, for storing said n received streams of data records; means for generating m redundancy segments using said n received streams of data records; means for selecting one of said redundancy groups having first available memory space, addressable at the same relative address for each of said n+m disk drives, for storing said n received streams of data records and said m generated redundancy segments; means for writing said n received streams of data records and said m redundancy segments on said n+m disk drives in said first available memory space in said selected redundancy group, each stream of data records and each redundancy segment at said relative address on a respective one of said n+m disk drives; means, responsive to the subsequent receipt of modifications to one of said data records, stored at said relative address on one of said n+m disk drives in said first available memory space in said selected redundancy group, from said associated data processor, for writing said modified data record, exclusive of the rest of said n received streams of data records and said m redundancy segments associated with said n received streams of data records written in said first available memory space, in second available memory space in one of said redundancy groups, exclusive of said relative address on said one of said n+m disk drives in said selected redundancy groups by including said modified data record with n streams of data records subsequently received by said writing means; and means for converting said first available memory space, addressable at said relative address on said one of said n+m disk drives in said selected redundancy group, used to stored said originally received data record to available memory space. - View Dependent Claims (50, 51, 52, 53, 54, 55, 56)
-
-
57. In a disk memory system having a plurality of disk drives, a number of said plurality of said disk drives configured into at least two redundancy groups, each redundancy group consisting of n+m disk drives, where n and m are both positive integers, with n being greater than 1 and m being equal to or greater than 1, for storing data records for at least one associated data processor comprising the steps of:
-
storing, in response to the receipt of n streams of data records from said associated data processor, said n received streams of data records; generating m redundancy segments using said n received streams of data records; selecting one of said redundancy groups having first available memory space, addressable at the same relative address for each of said n+m disk drives, for storing said n received streams of data records and said m generated redundancy segments; writing said n received streams of data records and said m redundancy segments on said n+m disk drives in said first available memory space in said selected redundancy group, each stream of data records and each redundancy segment at said relative address on a respective one of said n+m disk drives; writing, in response to the subsequent receipt of modifications to one of said data records, stored at said relative address on one of said n+m disk drives in said first available memory space in said selected redundancy group, from said associated data processor, said modified data record, exclusive of the rest of said n received streams of data records and said m redundancy segments associated with said n received streams of data records written in said first available memory space, in second available memory space in one of said redundancy groups, exclusive of said relative address on said one of said n+m disk drives in said selected redundancy group by including said modified data record with n streams of data records subsequently received for said step of writing; and converting said first available memory space, addressable at said relative address on said one of said n+m disk drives in said selected redundancy group, used to store said originally received data record to available memory space. - View Dependent Claims (58, 59, 60, 61, 62, 63, 64)
-
-
65. A disk memory system for storing data records for at least one associated data processor comprising:
-
a plurality of disk drives, a number of said plurality of said disk drives configured into at least two redundancy groups, each redundancy group consisting of n+m disk drives, where n are both positive integers greater than 1 and m is at least equal to 1, and said disk drives each including a like plurality of physical tracks to form sets of physical tracks called logical tracks, each logical track having one physical track at the same relative address on each of said n+m disk drives, for storing streams of data records thereon; means, responsive to the receipt of n streams of data records from said associated data processor, for storing said n received streams of data records; means for selecting a first available one of said logical tracks in one of said redundancy groups, having an available physical track addressable at the same relative address for each of said n+m disk drives; means for writing said n received streams of data records and said m redundancy segments on said n+m disk drives in said selected first available logical track, each stream of data records and each redundancy segment at said selected available physical track on a respective one of said n+m disk drives; means, responsive to the subsequent receipt of modifications to one of said data records, stored on said selected physical track on one of said n+m disk drives in said selected first available logical track, from said associated data processor, for writing said modified data record, exclusive of the rest of said n received streams of data records and said m redundancy segments associated with said n received streams of data records written in said first available logical track, in a second available logical track in one of said redundancy groups, exclusive f said selected physical track on said one of said n+m disk drives in said selected first available logical track by including said modified data record with n streams of data records subsequently received by said writing means; and means for converting said selected physical track, addressable at said relative address on said one of said n+m disk drives in said selected redundancy group, used to store said originally received data record to an available physical track. - View Dependent Claims (66, 67, 68, 69, 70, 71, 72)
-
-
73. In a disk memory system having a plurality of disk drives, a number of said plurality of said disk drives configured into at least two redundancy groups, each redundancy group consisting of n+m disk drives, where n and m are both positive integers, with n being greater than 1 and m being equal to or greater than 1, and said disk drives each including a like plurality of physical tracks to form sets of physical tracks called logical tracks, each logical track having one physical track at the same relative address on each of said n+m disk drives, for storing data records thereon;
- for storing data records for at least one associated data processor comprising the steps of;
storing, in response to the receipt of n streams of data records from said associated data processor, said n received streams of data records; generating m redundancy segments using said n received streams of data records; selecting a first available one of said logical tracks in one of said redundancy groups, having at lest one set of available physical tracks addressable at the same relative address for each of said n+m disk drives; writing said n received streams of data records and said m redundancy segments on said n+m disk drives in said selected first available logical track, each stream of data records and each redundancy segment at said selected available physical track on a respective one of said n+m disk drives; writing, in response to the subsequent receipt of modifications to one of said data records, stored at said selected physical track on one of said n+m disk drives in said selected first available logical track, from said associated data processor, said modified data record, exclusive of the rest of said n received streams of data records and said m redundancy segments associated with said n received streams of data records written in said first available logical track, in a second available logical track in one of said redundancy groups, exclusive of said selected physical track on said one of said n+m disk drives in said selected first available logical track by including said modified data record with n streams of data records subsequently received for said step of writing; and converting said selected physical track, addressable at said relative address on said one of said n+m disk drives in said selected redundancy group, used to store said originally received data record to an available physical track. - View Dependent Claims (74, 75, 76, 77, 78, 79)
- for storing data records for at least one associated data processor comprising the steps of;
-
80. The method of clam 73 further including the step of:
maintaining data indicative of the correspondence between each said received stream of data records and the identity of the one of said n disk drives in said selected redundancy group on which said received stream of data records is stored.
Specification