US5410667A
Expired / Lapsed
US
⏱️ 0.0 years remaining
Data record copy system for a disk drive array data storage subsystem
Assignee: Storage Technology Corp
•
Filing: 1992-04-17
•
Granted: 1995-04-25
•
Expires: 2012-04-17
Abstract
Abstract The 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 subsystem functions as a conventional large form factor disk drive memory, using an array of redundancy groups, each containing N+M disk drives. This system copies data records by simply creating a duplicate data record pointer in a virtual track directory to reference the original data record. This enables the host processor to access the data record via two virtual addresses while only a single physical copy of the data record resides in the data storage subsystem.
Inventors
- 👤 Jay S. Belsan
- 👤 Charles A. Milligan
- 👤 John T. O'Brien
- 👤 George A. Rudeseal
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-11-01 07:43
CPC Classifications
G; G06; G06F; G06F11/00; G06F11/07; G06F11/16; G06F11/20; G06F11/2002; G06F11/2007; G06F11/201; G06F3/00; G06F3/06; G06F3/0601; G06F3/0602; G06F3/0614; G06F3/0619; G06F3/0628; G06F3/0646; G06F3/065; G06F3/0662; G06F3/0664; G06F3/0668; G06F3/0671; G06F3/0683; G06F3/0689; Y; Y10; Y10S; Y10S707/00; Y10S707/99951; Y10S707/99952; Y10S707/99953; Y10S707/99956
Claims Analysis
Total Claims: 44
Claim 1
Independent Claim
221 words
A disk memory system for storing data records for at least one data processor comprising: a plurality of disk drives; means, responsive to the receipt of a stream of data records from said data processor, for selecting available memory space in said disk drives to store said received stream of data records thereon; means for writing said received stream of data records in said selected available memory space; means, responsive to said writing means, for generating a data record pointer for each of said data records in said stream of data records identifying the physical memory location of said data record; means, responsive to the subsequent receipt of a data record copy request identifying one of said data records stored in said disk drives, for copying said identified data record including: means for identifying the physical memory location of the requested data record as specified by its data record pointer, means for generating a data record pointer that is duplicative of said data record pointer as the data record pointer for said copy of said requested data record, means for identifying said duplicative data record pointer as a pointer to a copy of said requested data record, and means for maintaining data indicative that both said data record pointer and said duplicative data record pointer point to said requested data record.
Claim 2
Dependent Claim
221 words
A disk memory system for storing data records for at least one data processor comprising: a plurality of disk drives; means, responsive to the receipt of a stream of data records from said data processor, for selecting available memory space in said disk drives to store said received stream of data records thereon; means for writing said received stream of data records in said selected available memory space; means, responsive to said writing means, for generating a data record pointer for each of said data records in said stream of data records identifying the physical memory location of said data record; means, responsive to the subsequent receipt of a data record copy request identifying one of said data records stored in said disk drives, for copying said identified data record including: means for identifying the physical memory location of the requested data record as specified by its data record pointer, means for generating a data record pointer that is duplicative of said data record pointer as the data record pointer for said copy of said requested data record, means for identifying said duplicative data record pointer as a pointer to a copy of said requested data record, and means for maintaining data indicative that both said data record pointer and said duplicative data record pointer point to said requested data record.
Claim 3
Dependent Claim
24 words
The disk memory system of claim 1 further comprising: memory means for storing each said duplicate data record pointer and said data record pointer.
Claim 4
Dependent Claim
50 words
The disk memory system of claim 2 wherein multiple copies of a data record can be created, each said copy having a duplicate data record pointer, said maintaining means includes: means for creating a ring for each of said data record pointers with all their said duplicate data record pointers.
Claim 5
Dependent Claim
48 words
The disk memory system of claim 3 wherein said copying means further includes: means, responsive to a generation of a next duplicate data record pointer, for inserting said next duplicate data record pointer into a one of said rings of data record pointers including said data record pointer.
Claim 6
Dependent Claim
54 words
The disk memory system of claim 3 wherein said copying means further includes: means, responsive to said disk memory system writing a data record identified by one of said duplicate data record pointers in a selected available memory space, for deleting said one duplicate data record pointer from said ring of data record pointers.
Claim 7
Dependent Claim
52 words
The disk memory system of claim 5 wherein said copying means further includes: means, responsive to a deletion of said one duplicate data record pointers, for deleting said data record pointer from said ring of data record pointers when no further duplicate data record pointers are associated with said data record pointer.
Claim 8
Dependent Claim
56 words
The disk memory system of claim 1 further comprising: means for storing each of said data record pointers in a table; means for including said duplicate data record pointer in said table; and means for appending data to said stored data record pointer indicative of a location in said table of said duplicate data record pointer.
Claim 9
Dependent Claim
86 words
The disk memory system of claim 7 wherein said copying means further includes: means, responsive to a generation of a next duplicate data record pointer whose data record pointer is already associated with a duplicate data record pointer stored in said table, for including said next duplicate data record pointer in said table; and means for updating a list of said duplicate data record pointers referring back to said data record pointer to indicate a location in said table of said next duplicate data record pointer.
Claim 10
Dependent Claim
50 words
The disk memory system of claim 8 wherein said copying means further includes: means, responsive to said disk memory system writing a data record identified by one of said duplicate data record pointers in a selected available memory space, for deleting said one duplicate data record pointer from said table.
Claim 11
Dependent Claim
50 words
The disk memory system of claim 9 wherein said copying means further includes: means, responsive to a deletion of said one duplicate data record pointers, for deleting said appended data from said stored data record pointer indicative of a location in said table of said deleted duplicate data record pointer.
Claim 12
Independent Claim
214 words
A method in a disk memory system for storing data records for at least one data processor, wherein said disk memory system includes a plurality of disk drives, which selects, in response to the receipt of a stream of data records from said data processor, available memory space to store said received stream of data records thereon and writes said received stream of data records in said selected available memory space, said method comprising the steps of: generating a data record pointer for each of said data records in said stream of data records identifying the physical memory location of said data record; copying, in response to the subsequent receipt of a data record copy request identifying one of said data records stored in said disk drives, said identified data record including: identifying the physical memory location of the requested data record as specified by its data record pointer, generating a data record pointer that is duplicate of said data record pointer as the data record pointer for said copy of said requested data record, identifying said duplicative data record pointer as a pointer to a copy of said requested data record, and maintaining data indicative that both said data record pointer and said duplicative data record pointer point to said requested data record.
Claim 13
Independent Claim
214 words
A method in a disk memory system for storing data records for at least one data processor, wherein said disk memory system includes a plurality of disk drives, which selects, in response to the receipt of a stream of data records from said data processor, available memory space to store said received stream of data records thereon and writes said received stream of data records in said selected available memory space, said method comprising the steps of: generating a data record pointer for each of said data records in said stream of data records identifying the physical memory location of said data record; copying, in response to the subsequent receipt of a data record copy request identifying one of said data records stored in said disk drives, said identified data record including: identifying the physical memory location of the requested data record as specified by its data record pointer, generating a data record pointer that is duplicate of said data record pointer as the data record pointer for said copy of said requested data record, identifying said duplicative data record pointer as a pointer to a copy of said requested data record, and maintaining data indicative that both said data record pointer and said duplicative data record pointer point to said requested data record.
Claim 14
Dependent Claim
33 words
The method of claim 11 further comprising the steps of: storing said generated data record pointers; and storing in a memory each said generated duplicate data record pointer and said data record pointer.
Claim 15
Dependent Claim
50 words
The method of claim 12 wherein multiple copies of a data record can be created, each said copy having a duplicate data record pointer, said step of maintaining includes: creating rings of said data record pointers with their said duplicate data record pointers for all said duplicate data record pointers.
Claim 16
Dependent Claim
42 words
The method of claim 13 wherein said step of copying further includes: inserting, in response to a generation of a next duplicate data record pointer, said next duplicate data record pointer to a one of said rings including said data record pointer.
Claim 17
Dependent Claim
48 words
The method of claim 13 wherein said step of copying further includes: deleting, in response to said disk memory system writing a data record identified by one of said duplicate data record pointers in a selected available memory space, said one duplicate data record pointer from said ring.
Claim 18
Dependent Claim
50 words
The method of claim 15 wherein said step of copying further includes: deleting, in response to a deletion of said one duplicate data record pointers, said data record pointer from said ring of data record pointers when no further duplicate data record pointers are associated with said data record pointer.
Claim 19
Dependent Claim
52 words
The method of claim 11 further comprising the steps of: storing each of said generated data record pointers in a table; including said duplicate data record pointer in said table; and appending data to said stored data record pointer indicative of a location in said table of said duplicate data record pointer.
Claim 20
Dependent Claim
82 words
The method of claim 17 wherein said step of copying further includes: including, in response to a generation of a next duplicate data record pointer whose data record pointer is already associated with a duplicate data record pointer stored in said table, said next duplicate data record pointer in said table; and updating a list of said duplicate data record pointers referring back to said data record pointer to indicate a location in said table of said next duplicate data record pointer.
Claim 21
Dependent Claim
48 words
The method of claim 18 wherein said step of copying further includes: deleting, in response to said disk memory system writing a data record identified by one of said duplicate data record pointers in a selected available memory space, said one duplicate data record pointer from said table.
Claim 22
Dependent Claim
48 words
The method of claim 19 wherein said step of copying further includes: deleting, in response to a deletion of said one duplicate data record pointers, said appended data from said stored data record pointer indicative of a location in said table of said deleted duplicate data record pointer.
Claim 23
Dependent Claim
318 words
A disk memory system for storing data records that are accessible by at least one 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 data processor on successive ones of said n disk drives in a selected redundancy group; means, responsive to said storing means storing streams of data records on all n disk drives 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 of said selected redundancy group; means, responsive to said writing means, for generating a data record pointer for each of said data records in said stream of data records identifying the physical memory location of said data record in said redundancy group; means, responsive to the subsequent receipt of a data record copy request identifying one of said data records stored in one of said redundancy groups, for copying said identified data record, including: means for identifying the physical memory location of the requested data record as specified by its data record pointer, means for generating a data record pointer that is duplicate of said data record pointer as the data record pointer for said copy of said requested data record, means for identifying said duplicative data record pointer as a pointer to a copy of said requested data record, and means for maintaining data indicative that both said data record pointer and said duplicative data record pointer point to said requested data record.
Claim 24
Dependent Claim
318 words
A disk memory system for storing data records that are accessible by at least one 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 data processor on successive ones of said n disk drives in a selected redundancy group; means, responsive to said storing means storing streams of data records on all n disk drives 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 of said selected redundancy group; means, responsive to said writing means, for generating a data record pointer for each of said data records in said stream of data records identifying the physical memory location of said data record in said redundancy group; means, responsive to the subsequent receipt of a data record copy request identifying one of said data records stored in one of said redundancy groups, for copying said identified data record, including: means for identifying the physical memory location of the requested data record as specified by its data record pointer, means for generating a data record pointer that is duplicate of said data record pointer as the data record pointer for said copy of said requested data record, means for identifying said duplicative data record pointer as a pointer to a copy of said requested data record, and means for maintaining data indicative that both said data record pointer and said duplicative data record pointer point to said requested data record.
Claim 25
Dependent Claim
34 words
The disk memory system of claim 21 further comprising: means for storing said generated data record pointers; and memory means for storing each said generated duplicate data record pointer and said data record pointer.
Claim 26
Dependent Claim
53 words
The disk memory system of claim 21 wherein multiple copies of a data record can be created, each said copy having a duplicate data record pointer, said maintaining means includes: means for creating rings of said data record pointers with their said duplicate data record pointers for all said duplicate data record pointers.
Claim 27
Dependent Claim
44 words
The disk memory system of claim 23 wherein said copying means further includes: means, responsive to a generation of a next duplicate data record pointer, for inserting said next duplicate data record pointer into a one of said rings including said data record pointer.
Claim 28
Dependent Claim
55 words
The disk memory system of claim 22 wherein said copying means further includes: means, responsive to said disk memory system writing a data record identified by one of said duplicate data record pointers in a selected available memory space in a selected redundancy group, for deleting said one duplicate data record pointer from said rings.
Claim 29
Dependent Claim
53 words
The disk memory system of claim 24 wherein said copying means further includes: means, responsive to a deletion of said one duplicate data record pointers, for deleting said associated data record pointer from said ring of data record pointers when no further duplicate data record pointers are associated with said data record pointer.
Claim 30
Dependent Claim
57 words
The disk memory system of claim 21 further comprising: means for storing each of said generated data record pointers in a table; means for including said duplicate data record pointer in said table; and means for appending data to said stored data record pointer indicative of a location in said table of said duplicate data record pointer.
Claim 31
Dependent Claim
86 words
The disk memory system of claim 27 wherein said copying means further includes: means, responsive to a generation of a next duplicate data record pointer whose data record pointer is already associated with a duplicate data record pointer stored in said table, for including said next duplicate data record pointer in said table; and means for updating a last of said duplicate data record pointers referring back to said data record pointer to indicate a location in said table of said next duplicate data record pointer.
Claim 32
Dependent Claim
55 words
The disk memory system of claim 28 wherein said copying means further includes: means, responsive to said disk memory system writing a data record identified by one of said duplicate data record pointers in a selected available memory space in a selected redundancy group, for deleting said one duplicate data record pointer from said table.
Claim 33
Dependent Claim
50 words
The disk memory system of claim 29 wherein said copying means further includes: means, responsive to a deletion of said one duplicate data record pointers, for deleting said appended data from said stored data record pointer indicative of a location in said table of said deleted duplicate data record pointer.
Claim 34
Independent Claim
297 words
A method in a disk memory system for storing data records that are accessible by at least one data processor, wherein said disk memory system includes 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, wherein each stream of data records received from said data processor are stored on successive ones of said n disk drives in a selected redundancy group and m segments of data redundancy information are generated for said data records stored on said n disk drives and said m segments of redundancy data are written on to said m disk drives of said selected redundancy group, said method comprising the steps of: generating a data record pointer for each of said data records in said stream of data records identifying the physical memory location of said data record in said redundancy group; copying, in response to the subsequent receipt of a data record copy request identifying one of said data records stored in one of said redundancy groups, said identified data record, including: identifying the physical memory location of the requested data record as specified by its associated data record pointer, generating a data record pointer that is duplicate of said data record pointer as the data record pointer for said copy of said requested data record, identifying said duplicative data record pointer as a pointer to a copy of said requested data record, and maintaining data indicative that both said data record pointer and said duplicative data record pointer point to said requested data record.
Claim 35
Independent Claim
297 words
A method in a disk memory system for storing data records that are accessible by at least one data processor, wherein said disk memory system includes 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, wherein each stream of data records received from said data processor are stored on successive ones of said n disk drives in a selected redundancy group and m segments of data redundancy information are generated for said data records stored on said n disk drives and said m segments of redundancy data are written on to said m disk drives of said selected redundancy group, said method comprising the steps of: generating a data record pointer for each of said data records in said stream of data records identifying the physical memory location of said data record in said redundancy group; copying, in response to the subsequent receipt of a data record copy request identifying one of said data records stored in one of said redundancy groups, said identified data record, including: identifying the physical memory location of the requested data record as specified by its associated data record pointer, generating a data record pointer that is duplicate of said data record pointer as the data record pointer for said copy of said requested data record, identifying said duplicative data record pointer as a pointer to a copy of said requested data record, and maintaining data indicative that both said data record pointer and said duplicative data record pointer point to said requested data record.
Claim 36
Dependent Claim
33 words
The method of claim 31 further comprising the steps of: storing said generated data record pointers; and storing in a memory each said generated duplicate data record pointer and said data record pointer.
Claim 37
Dependent Claim
50 words
The method of claim 32 wherein multiple copies of a data record can be created, each said copy having a duplicate data record pointer, said step of maintaining includes: creating rings of said data record pointers with their said duplicate data record pointers for all said duplicate data record pointers.
Claim 38
Dependent Claim
42 words
The method of claim 33 wherein said step of copying further includes: inserting, in response to a generation of a next duplicate data record pointer, said next duplicate data record pointer to a one of said rings including said data record pointer.
Claim 39
Dependent Claim
53 words
The method of claim 33 wherein said step of copying further includes: deleting, in response to said disk memory system writing a data record identified by one of said duplicate data record pointers in a selected available memory space in a selected redundancy group, said one duplicate data record pointer from said rings.
Claim 40
Dependent Claim
50 words
The method of claim 35 wherein said step of copying further includes: deleting, in response to a deletion of said one duplicate data record pointers, said data record pointer from said ring of data record pointers when no further duplicate data record pointers are associated with said data record pointer.
Claim 41
Dependent Claim
52 words
The method of claim 31 further comprising the steps of: storing each of said generated data record pointers in a table; including said duplicate data record pointer in said table; and appending data to said stored data record pointer indicative of a location in said table of said duplicate data record pointer.
Claim 42
Dependent Claim
82 words
The method of claim 37 wherein said step of copying further includes: including, in response to a generation of a next duplicate data record pointer whose data record pointer is already associated with a duplicate data record pointer stored in said table, said next duplicate data record pointer in said table; and updating a last of said duplicate data record pointers referring back to said data record pointer to indicate a location in said table of said next duplicate data record pointer.
Claim 43
Dependent Claim
53 words
The method of claim 38 wherein said step of copying further includes: deleting, in response to said disk memory system writing a data record identified by one of said duplicate data record pointers in a selected available memory space in a selected redundancy group, said one duplicate data record pointer from said table.
Claim 44
Dependent Claim
48 words
The method of claim 39 wherein said step of copying further includes: deleting, in response to a deletion of said one duplicate data record pointers, said appended data from said stored data record pointer indicative of a location in said table of said deleted duplicate data record pointer.
References Cited (Backward Citations)
US5124987A
Cited
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 1998-04-24 | 1998-10-24 | 1999-04-25 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 2002-04-24 | 2002-10-24 | 2003-04-25 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2006-04-24 | 2006-10-24 | 2007-04-25 | $7700.00 | Window Closed / Lapsed |