← Back to Patent Explorer
EP0569313A2 Expired / Lapsed EP ⏱️ 0.0 years remaining

Method and apparatus for operating an array of storage devices

Assignee: International Business Machines Corp
•
Filing: 1993-04-06
•
Granted: —
•
Expires: 2013-04-06
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A storage controller operates an array of parity protected data storage units as a RAID level 5. One of the storage units is a dedicated write assist unit. The assist unit is a temporary storage area for data to be written to the other units. When the array controller receives data from a host, it first writes the data to the assist unit. Because the assist unit is not parity protected and is only temporary storage, it is possible to write data to the assist unit sequentially, without first reading the data, greatly reducing response time. The array controller signals the CPU that the data has been written to storage as soon as it has been written to the assist unit. Parity in the array is updated asynchronously. In the event of system or storage unit failure, data can be recovered using the remaining storage units and/or the assist unit. The write assist unit also doubles as a spare unit. Data recovered from a failed unit can be stored on the write assist, which then ceases to function as a write assist unit and assumes the function of the failed storage unit.

Inventors

  • 👤 David Alan Styczinski

Bibliographic Details

Application Number —
Jurisdiction EP
Data Source google_patents
Last Synchronized 2026-11-01 10:57
CPC Classifications
G; G06; G06F; G06F11/00; G06F11/07; G06F11/16; G06F11/20; G06F11/2053; G06F11/2094; G06F11/08; G06F11/10; G06F11/1076; G06F3/00; G06F3/06; G06F3/0601; G06F3/0602; G06F3/061; G06F3/0611; G06F3/0614; G06F3/0628; G06F3/0655; G06F3/0658; G06F3/0668; G06F3/0671; G06F3/0683; G06F3/0689; G11; G11C; G11C29/00; G11C29/70; G06F11/1092; G06F11/2097; G06F2211/00; G06F2211/10; G06F2211/1002; G06F2211/1009; G11C29/88

Claims Analysis

Total Claims: 16
Claim 1
Independent Claim 229 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 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 in said controller for maintaining said data redundancy storage block on said stripe of storage blocks; means in said controller for receiving data to be stored on said data storage units; means for writing said data to be stored to said write assist unit; means in said controller for signalling operation complete after writing said data to said write assist unit and before writing said 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 54 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. 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 3
Dependent Claim 56 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. 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 4
Dependent Claim 84 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 data redundancy among said plurality of service data storage units; means for temporarily storing data to be written to said service data storage units in said write assist unit; 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 5
Dependent Claim 94 words
The storage apparatus of claim 4, 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 6
Dependent Claim 45 words
The storage apparatus of claim 4, 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 7
Dependent Claim 94 words
The storage apparatus of claim 4, 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 8
Dependent Claim 69 words
The storage apparatus of claim 8, further comprising: selection means for selectively determining whether said data to be written to said service units should be temporarily stored in said write assist unit, wherein said means for temporarily storing data to be written to said service units in said write assist unit selectively writes data to said write assist unit in response to said determination made by said selection means.
Claim 9
Independent Claim 151 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; writing updated data to be written to said plurality of service data storage units to a write assist data storage unit; 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 units 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 10
Dependent Claim 106 words
The method of claim 9, 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 11
Dependent Claim 247 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 data to be stored on said data storage units from said host computer system; means for writing said data to be stored to said write assist unit; means for signalling operation complete to said host computer system after writing said data to said write assist unit and before writing said 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 12
Dependent Claim 55 words
The storage subsystem controller of claim 11, further comprising: means for storing data reconstructed from a failing service data storage unit on said write assist unit. 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 13
Dependent Claim 30 words
The storage subsystem controller of claim 11, wherein said data redundancy storage block comprises a parity storage block for containing the parity of data stored in said data storage blocks.
Claim 14
Dependent Claim 106 words
A storage apparatus for a computer system, comprising: a plurality of service data storage units; an additional data storage unit capable of becoming a spare unit; means for operating said additional unit in an assist mode to assist the function of said service data storage units; means for maintaining data redundancy among said plurality of service data storage units; means for reconstructing data stored on a service data storage units in the event of failure of said unit; means for storing said reconstructed data on said additional unit capable of becoming a spare unit, and thereafter operating said additional unit as said service unit which failed.
Claim 15
Dependent Claim 94 words
The storage apparatus of claim 14, 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 16
Dependent Claim 43 words
The storage apparatus of claim 15, wherein said plurality of service data storage units contain at least two of said stripes of storage blocks, and wherein said parity storage blocks are distributed among said service data storage units in a round robin manner.

References Cited (Backward Citations)

No citation records indexed.

USPTO Annuity & Maintenance Windows

Maintenance schedule is calculated for granted US utility patents.

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag