← Back to Patent Explorer
US5373512A Expired / Lapsed US ⏱️ 0.0 years remaining

Memory controller with parity generator for an I/O control unit

Assignee: International Business Machines Corp
•
Filing: 1994-05-06
•
Granted: 1994-12-13
•
Expires: 2014-05-06
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A memory controller performs parity encoding on a plurality of data strings moving between a memory connected via a read path to a data bus connected to a corresponding plurality of storage devices. A write buffer has one input for receiving data for storage in the memory and another input for receiving data from the memory for parity calculation. Two outputs of the write buffer are connected to a parity generator. Circuitry responsive to control signals from the data bus conditions the parity generator to logically and recursively combine the two outputs of the write buffer for supplying an updated parity calculation to the memory via a write path. To provide error detection and correction an ECC generator is interposed between the write path and the parity generator, and an ECC check/correction unit is interposed between the read path and control-signal-responsive circuity. The parity encoding is performed using a code that is associative and commutative.

Inventors

  • 👤 James T. Brady

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-01 22:29
CPC Classifications
G; G06; G06F; G06F11/00; G06F11/07; G06F11/08; G06F11/10; G06F11/1076; G06F11/1008; G11; G11B; G11B20/00; G11B20/10; G11B20/18; G11B20/1833

Claims Analysis

Total Claims: 17
Claim 1
Independent Claim 265 words
A memory controller (22) for performing parity encoding on a plurality of data strings moving between a memory means (21 or 21a, 21b) connected via a read path (31) to an interconnection means (24) having connection to a corresponding plurality of storage devices (25), said memory controller comprising: write buffer means (35); a parity generator (34) for calculating an accumulated parity string as successive data strings are received from said write buffer means; said write buffer means being connected to the parity generator and having one input (42) for receiving data strings from the interconnection means for storage in the memory means and another input for receiving data from the memory means representing a current accumulated parity string; switch means (37) connected to the write buffer means; and a control device (36) connected to the switch means and parity generator and interconnection means and responsive to control signals (38) from the interconnection means for controlling said switch means to transmit the accumulated parity string to said another input of said write buffer means until a preselected number of bytes has been transmitted to said another input of said write buffer means and said preselected number of bytes from one of said data strings has been transmitted to said one input of said write buffer means via said interconnection means, then transferring said preselected number of bytes from said write buffer means to said parity generator for controlling said parity generator to logically and recursively combine said transferred bytes for supplying a new current accumulated parity string to the memory means via a write path (30).
Claim 2
Dependent Claim 265 words
A memory controller (22) for performing parity encoding on a plurality of data strings moving between a memory means (21 or 21a, 21b) connected via a read path (31) to an interconnection means (24) having connection to a corresponding plurality of storage devices (25), said memory controller comprising: write buffer means (35); a parity generator (34) for calculating an accumulated parity string as successive data strings are received from said write buffer means; said write buffer means being connected to the parity generator and having one input (42) for receiving data strings from the interconnection means for storage in the memory means and another input for receiving data from the memory means representing a current accumulated parity string; switch means (37) connected to the write buffer means; and a control device (36) connected to the switch means and parity generator and interconnection means and responsive to control signals (38) from the interconnection means for controlling said switch means to transmit the accumulated parity string to said another input of said write buffer means until a preselected number of bytes has been transmitted to said another input of said write buffer means and said preselected number of bytes from one of said data strings has been transmitted to said one input of said write buffer means via said interconnection means, then transferring said preselected number of bytes from said write buffer means to said parity generator for controlling said parity generator to logically and recursively combine said transferred bytes for supplying a new current accumulated parity string to the memory means via a write path (30).
Claim 3
Dependent Claim 54 words
The memory controller of claim 1, further comprising: an ECC generator (32) interposed between the write path and the parity generator; and an ECC check/correction unit (33) interposed between the read path and said control device, said ECC generator and check/correction unit providing error detection and correction for the data in the memory means.
Claim 4
Dependent Claim 34 words
The memory controller of claim 1, wherein said write buffer means has a third input (45) for receiving data strings from the memory means via the switch means in bypass of the interconnection means.
Claim 5
Dependent Claim 23 words
The memory controller of claim 1, characterized in that the memory controller performs parity encoding using a code that is associative and commutative.
Claim 6
Dependent Claim 27 words
The memory controller of claim 1, wherein the memory means comprises a plurality of memory arrays, and said one and other inputs are from different memory arrays.
Claim 7
Dependent Claim 25 words
The memory controller of claim 1, wherein said one and another inputs after synchronization at the write buffer means are XOR'd by said parity generator.
Claim 8
Independent Claim 113 words
A method for performing parity encoding on a plurality of data strings moving between a memory connected via a read path to an interconnection means having connection to a corresponding plurality of storage devices, said method comprising the steps of: calculating parity for the storage devices using a parity generator connecting a write buffer means with the memory via a write path; responsive to control signals from the interconnection means, conveying data representing a current accumulated parity string from the memory via the read path to the parity generator; and logically and recursively combining the current accumulated parity string with data strings from the write buffer means for updating the accumulated parity string.
Claim 9
Independent Claim 113 words
A method for performing parity encoding on a plurality of data strings moving between a memory connected via a read path to an interconnection means having connection to a corresponding plurality of storage devices, said method comprising the steps of: calculating parity for the storage devices using a parity generator connecting a write buffer means with the memory via a write path; responsive to control signals from the interconnection means, conveying data representing a current accumulated parity string from the memory via the read path to the parity generator; and logically and recursively combining the current accumulated parity string with data strings from the write buffer means for updating the accumulated parity string.
Claim 10
Dependent Claim 23 words
The method of claim 7, wherein the combining step is recursively repeated until all accumulated parity strings are updated for providing final parity.
Claim 11
Dependent Claim 51 words
The method of claim 7, including the step of: providing error detection and correction for the data in the memory by interposing an ECC generator between the write path and the memory and interposing an ECC check/correction unit between the read path and a control device responsive to the control signals.
Claim 12
Independent Claim 106 words
A method for executing parity computations on a plurality of data strings communicated on a plurality of data paths between a memory and a plurality of external storage devices, comprising the steps of: recursively and logically combining a memory-stored data string whose contents represent a current accumulated parity string with another data string whose contents constitute data that is streamed from a data source and written to an accumulating parity generator for providing a new current accumulated parity string; and writing back into the memory the new current accumulated parity string, thereby to reduce data transfers and bandwidth required to effectuate parity computations over the string.
Claim 13
Independent Claim 106 words
A method for executing parity computations on a plurality of data strings communicated on a plurality of data paths between a memory and a plurality of external storage devices, comprising the steps of: recursively and logically combining a memory-stored data string whose contents represent a current accumulated parity string with another data string whose contents constitute data that is streamed from a data source and written to an accumulating parity generator for providing a new current accumulated parity string; and writing back into the memory the new current accumulated parity string, thereby to reduce data transfers and bandwidth required to effectuate parity computations over the string.
Claim 14
Dependent Claim 30 words
The method of claim 10, wherein the combining step further includes the step of logically combining the data strings or portions thereof in any order presented to said buffer means.
Claim 15
Independent Claim 143 words
An apparatus for performing parity encoding on a plurality of data strings moving between a memory connected via a read path to an interconnection means having connection to a corresponding plurality of storage devices, said apparatus comprising: a write buffer means for storing successive data strings; a parity generator connected to the write buffer means for calculating an accumulated parity string as successive data strings are received from said write buffer means and passing the accumulated parity string to the memory via a write path; and means (36, 37) responsive to control signals from the interconnection means for conveying the accumulated parity string from the memory via the read path to the parity generator, and controlling said parity generator to logically and recursively combine the accumulated parity string with the data strings from the write buffer means for updating the accumulated parity string.
Claim 16
Independent Claim 143 words
An apparatus for performing parity encoding on a plurality of data strings moving between a memory connected via a read path to an interconnection means having connection to a corresponding plurality of storage devices, said apparatus comprising: a write buffer means for storing successive data strings; a parity generator connected to the write buffer means for calculating an accumulated parity string as successive data strings are received from said write buffer means and passing the accumulated parity string to the memory via a write path; and means (36, 37) responsive to control signals from the interconnection means for conveying the accumulated parity string from the memory via the read path to the parity generator, and controlling said parity generator to logically and recursively combine the accumulated parity string with the data strings from the write buffer means for updating the accumulated parity string.
Claim 17
Dependent Claim 45 words
The apparatus of claim 12, including: an ECC generator interposed between the parity generator and the memory; and an ECC check/correction unit interposed between the memory and said means responsive to control signals for providing error detection and correction for the data in the memory.

References Cited (Backward Citations)

US3876978A Cited
US3976982A Cited
US4916704A Cited
US5233616A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1997-12-12 1998-06-13 1998-12-13 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2001-12-12 2002-06-13 2002-12-13 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2005-12-12 2006-06-13 2006-12-13 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag