Claims Analysis
Total Claims: 23
Claim 1
Independent Claim
335 words
A storage subsystem for a computer system, comprising: a storage subsystem controller, said controller having a processor and a memory; at least four data storage units coupled to said controller, wherein at least one of said data storage units is a write assist data storage unit, and at least three of said data storage units are service data storage units; at least one stripe of storage blocks, each stripe comprising a plurality of dam storage blocks for containing data and at least one data redundancy storage block for containing data redundant of the data stored in said data storage blocks, each of said storage blocks being contained on a respective service data storage unit; means in said controller for maintaining said data redundancy storage block on said stripe of storage blocks; means in said controller for receiving write dam, said write data being data to be written to said data storage units; selection means, responsive to said means in said controller for receiving write data, for selectively determining whether said received write data should be written to said write assist unit, said write data being of varying length, and said selection means selectively determining whether individual ones of a plurality of write commands should be written to said write assist unit based upon the length of each respective write data; means for writing said write data to said write assist unit, wherein said means for writing said write data to said write assist unit selectively writes said write data to said write assist unit in response to said determination made by said selection means; means in said controller for signalling operation complete after writing write data to said write assist unit and before writing said write data to any of said service data storage units; means for reconstructing said data in the event any one of said data storage units fails after signalling operation complete; and means for reconstructing said data in the event the contents of said memory are lost after signalling operation complete.
Claim 2
Dependent Claim
335 words
A storage subsystem for a computer system, comprising: a storage subsystem controller, said controller having a processor and a memory; at least four data storage units coupled to said controller, wherein at least one of said data storage units is a write assist data storage unit, and at least three of said data storage units are service data storage units; at least one stripe of storage blocks, each stripe comprising a plurality of dam storage blocks for containing data and at least one data redundancy storage block for containing data redundant of the data stored in said data storage blocks, each of said storage blocks being contained on a respective service data storage unit; means in said controller for maintaining said data redundancy storage block on said stripe of storage blocks; means in said controller for receiving write dam, said write data being data to be written to said data storage units; selection means, responsive to said means in said controller for receiving write data, for selectively determining whether said received write data should be written to said write assist unit, said write data being of varying length, and said selection means selectively determining whether individual ones of a plurality of write commands should be written to said write assist unit based upon the length of each respective write data; means for writing said write data to said write assist unit, wherein said means for writing said write data to said write assist unit selectively writes said write data to said write assist unit in response to said determination made by said selection means; means in said controller for signalling operation complete after writing write data to said write assist unit and before writing said write data to any of said service data storage units; means for reconstructing said data in the event any one of said data storage units fails after signalling operation complete; and means for reconstructing said data in the event the contents of said memory are lost after signalling operation complete.
Claim 3
Dependent Claim
25 words
The storage subsystem of claim 1, further comprising means for storing data reconstructed from a failing service data storage unit on said write assist unit.
Claim 4
Dependent Claim
37 words
The storage subsystem of claim 2, further comprising means for operating said write assist unit as said failing service unit after said data reconstructed from said failing service unit has been stored on said write assist unit.
Claim 5
Dependent Claim
29 words
The storage subsystem of claim 1, wherein said data redundancy storage block comprises a parity storage block for containing the parity of data stored in said data storage blocks.
Claim 6
Dependent Claim
35 words
The storage subsystem of claim 4, further comprising: at least two of said stripes of storage blocks, wherein said parity storage blocks are distributed among said service data storage units in a round robin manner.
Claim 7
Dependent Claim
31 words
The storage subsystem of claim 1, wherein said means for writing said write data to said write assist unit writes said write data to sequential locations on said write assist unit.
Claim 8
Dependent Claim
205 words
A storage apparatus for a computer system, comprising: a write assist data storage unit; a plurality of service data storage units; means for maintaining clam redundancy among said plurality of service dam storage units; means for receiving write dam, said write data being data to be written to said plurality of service data storage units; selection means for selectively determining whether said write data should be temporarily stored in said write assist unit, wherein said write data is contained in a plurality of write commands, said write data being of varying length, said selection means selectively determining whether individual ones of said plurality of write commands should be written to said write assist unit based upon the length of said write data associated with each respective write command; means for temporarily storing said write data in said write assist unit, wherein said means for temporarily storing said write data in said write assist unit selectively writes said write data to said write assist unit in response to said determination made by said selection means; means for reconstructing data stored on a service data storage units in the event of failure of said unit; and means for storing said reconstructed data on said write assist unit.
Claim 9
Dependent Claim
205 words
A storage apparatus for a computer system, comprising: a write assist data storage unit; a plurality of service data storage units; means for maintaining clam redundancy among said plurality of service dam storage units; means for receiving write dam, said write data being data to be written to said plurality of service data storage units; selection means for selectively determining whether said write data should be temporarily stored in said write assist unit, wherein said write data is contained in a plurality of write commands, said write data being of varying length, said selection means selectively determining whether individual ones of said plurality of write commands should be written to said write assist unit based upon the length of said write data associated with each respective write command; means for temporarily storing said write data in said write assist unit, wherein said means for temporarily storing said write data in said write assist unit selectively writes said write data to said write assist unit in response to said determination made by said selection means; means for reconstructing data stored on a service data storage units in the event of failure of said unit; and means for storing said reconstructed data on said write assist unit.
Claim 10
Dependent Claim
94 words
The storage apparatus of claim 7, wherein said means for maintaining data redundancy comprises: at least one stripe of storage blocks, each stripe comprising a plurality of data storage blocks for containing data and one parity storage block for containing parity of the data stored in said data storage blocks, each of said storage blocks being contained on a respective service data storage unit; means for determining the parity of said plurality of data storage blocks; and means for storing said parity of said plurality of data storage blocks in said parity storage block.
Claim 11
Dependent Claim
45 words
The storage apparatus of claim 7, further comprising: means for disabling the write assist function of said write assist unit in the event of failure of a service data storage unit; and means for operating said write assist unit as said service unit which failed.
Claim 12
Dependent Claim
94 words
The storage apparatus of claim 9, wherein said means for maintaining data redundancy comprises: at least one stripe of storage blocks, each stripe comprising a plurality of data storage blocks for containing data and one parity storage block for containing parity of the data stored in said data storage blocks, each of said storage blocks being contained on a respective service data storage unit; means for determining the parity of said plurality of data storage blocks; and means for storing said parity of said plurality of data storage blocks in said parity storage block.
Claim 13
Dependent Claim
32 words
The storage apparatus of claim 7, wherein said means temporarily storing said write data in said write assist unit temporarily stores said write data in sequential locations on said write assist unit.
Claim 14
Independent Claim
245 words
A method for storing data in a computer system, comprising the steps of: storing data redundantly on a plurality of service data storage units; selectively determining whether updated data to be written to said plurality of service units should be written to a write assist data storage unit, said updated data associated with a plurality of write commands, said updated data being of varying length; writing said updated data to said write assist data storage unit, said writing step being performed in response to said selectively determining step determining that said updated data should be written to said write assist unit, wherein said selectively determining step selectively determines whether individual ones of said plurality of write commands should be written to said write assist unit based upon the length of the updated data associated with each respective write command; signalling that said updated data has been written to said plurality of service data storage units; writing said updated data redundantly to said plurality of service data storage units, wherein said step of writing said updated data to said plurality of service data storage traits is completed after said signalling step; reconstructing data stored in a service data storage unit in the event of failure of said service data storage unit; and storing said reconstructed data on said write assist unit, and thereafter operating said write assist unit as said service unit which failed, in the event of said failure of said service data storage unit.
Claim 15
Independent Claim
245 words
A method for storing data in a computer system, comprising the steps of: storing data redundantly on a plurality of service data storage units; selectively determining whether updated data to be written to said plurality of service units should be written to a write assist data storage unit, said updated data associated with a plurality of write commands, said updated data being of varying length; writing said updated data to said write assist data storage unit, said writing step being performed in response to said selectively determining step determining that said updated data should be written to said write assist unit, wherein said selectively determining step selectively determines whether individual ones of said plurality of write commands should be written to said write assist unit based upon the length of the updated data associated with each respective write command; signalling that said updated data has been written to said plurality of service data storage units; writing said updated data redundantly to said plurality of service data storage units, wherein said step of writing said updated data to said plurality of service data storage traits is completed after said signalling step; reconstructing data stored in a service data storage unit in the event of failure of said service data storage unit; and storing said reconstructed data on said write assist unit, and thereafter operating said write assist unit as said service unit which failed, in the event of said failure of said service data storage unit.
Claim 16
Dependent Claim
106 words
The method of claim 12, wherein said step of storing data redundantly on a plurality of service data storage units comprises storing data on at least one stripe of storage blocks, each stripe comprising a plurality of data storage blocks for containing data and one parity storage block for containing parity of the data stored in said data storage blocks, each of said storage blocks being contained on a respective service data storage unit; and wherein said step of writing said updated data redundantly to said plurality of service data storage units comprises updating said parity storage block of a stripe of storage blocks being updated.
Claim 17
Dependent Claim
43 words
The method of claim 11, wherein said step of writing updated data to be written to said plurality of service data storage units to a write assist data storage unit comprises writing said updated data to sequential locations on said write assist unit.
Claim 18
Dependent Claim
371 words
A storage subsystem controller for a computer system, comprising: a processor; a memory; a host interface for communicating with a host computer system; a storage unit interface for communicating with at least four data storage units coupled to said controller, wherein at least one of said data storage units is a write assist data storage unit, and at least three of said data storage units are service data storage units, wherein said service data storage units comprise at least one stripe of storage blocks, each stripe comprising a plurality of data storage blocks for containing data and at least one data redundancy storage block for containing data redundant of the data stored in said data storage blocks, each of said storage blocks being contained on a respective service data storage unit; means for maintaining said data redundancy storage block on said stripe of storage blocks; means for receiving write data from said host computer system, said write data being data to be written to said data storage units, said write data having varying lengths, said write data associated with a plurality of write commands; selection means, responsive to said means for receiving write data from said host computer system, for selectively determining whether said received write data should be written to said write assist unit, said selection means selectively determining whether individual ones of said plurality of write commands should be written to said write assist unit based upon the length of said write data associated with each respective write command, means for writing said write data to said write assist unit, wherein said means for writing said write data to said write assist unit selectively writes said write data to said write assist unit in response to said determination made by said selection means; means for signalling operation complete to said host computer system after writing said write data to said write assist unit and before writing said write data to any of said service data storage units; means for reconstructing said write data in the event any one of said data storage units fails after signalling operation complete; and means for reconstructing said write data in the event the contents of said memory are lost after signalling operation complete.
Claim 19
Dependent Claim
371 words
A storage subsystem controller for a computer system, comprising: a processor; a memory; a host interface for communicating with a host computer system; a storage unit interface for communicating with at least four data storage units coupled to said controller, wherein at least one of said data storage units is a write assist data storage unit, and at least three of said data storage units are service data storage units, wherein said service data storage units comprise at least one stripe of storage blocks, each stripe comprising a plurality of data storage blocks for containing data and at least one data redundancy storage block for containing data redundant of the data stored in said data storage blocks, each of said storage blocks being contained on a respective service data storage unit; means for maintaining said data redundancy storage block on said stripe of storage blocks; means for receiving write data from said host computer system, said write data being data to be written to said data storage units, said write data having varying lengths, said write data associated with a plurality of write commands; selection means, responsive to said means for receiving write data from said host computer system, for selectively determining whether said received write data should be written to said write assist unit, said selection means selectively determining whether individual ones of said plurality of write commands should be written to said write assist unit based upon the length of said write data associated with each respective write command, means for writing said write data to said write assist unit, wherein said means for writing said write data to said write assist unit selectively writes said write data to said write assist unit in response to said determination made by said selection means; means for signalling operation complete to said host computer system after writing said write data to said write assist unit and before writing said write data to any of said service data storage units; means for reconstructing said write data in the event any one of said data storage units fails after signalling operation complete; and means for reconstructing said write data in the event the contents of said memory are lost after signalling operation complete.
Claim 20
Dependent Claim
26 words
The storage subsystem controller of claim 15, further comprising means for storing data reconstructed from a failing service data storage unit on said write assist unit.
Claim 21
Dependent Claim
38 words
The storage subsystem controller of claim 16, further comprising means for operating said write assist unit as said failing service unit after said data reconstructed from said failing service unit has been stored on said write assist unit.
Claim 22
Dependent Claim
30 words
The storage subsystem controller of claim 15; wherein said data redundancy storage block comprises a parity storage block for containing the parity of data stored in said data storage blocks.
Claim 23
Dependent Claim
30 words
The storage subsystem controller of claim 15, wherein said means for writing said write data to said write assist unit writes data to sequential locations on said write assist unit.