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

Disk array system

Assignee: EMC Corp
•
Filing: 1992-04-23
•
Granted: 1993-12-28
•
Expires: 2012-04-23
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method and apparatus for controlling data flow between a computer and a group of memory devices arranged in a particular logical configuration. The system includes a group of first level controllers and a group of second level controllers. The first level controllers and the second level controllers work together such that if one of the second level controllers fails, the routing between the first level controllers and the memory devices is switched to a properly functioning second level controller without the need to involve the computer in the rerouting process. The logical configuration of the memory devices remains constant. The invention also includes switching circuitry which permits a functioning second level controller to assume control of a group of memory devices formerly primarily controlled by the failed second level controller. In addition, the invention provides error check and correction as well as mass storage device configuration circuitry.

Inventors

  • 👤 Thomas E. Idleman
  • 👤 Robert S. Koontz
  • 👤 David T. Powers
  • 👤 David H. Jaffe
  • 👤 Larry P. Henson
  • 👤 Joseph S. Glider
  • 👤 Kumar Gajjar

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-03 20:43
CPC Classifications
G; G06; G06F; G06F11/00; G06F11/07; G06F11/08; G06F11/10; G06F11/1008; G06F11/1076; G06F11/16; G06F11/1666; G06F11/20; G06F11/2002; G06F11/2007; G06F11/201; G06F11/2053; G06F11/2089; G06F11/2094; G11; G11B; G11B20/00; G11B20/10; G11B20/18; G11B20/1833; G06F11/0703; G06F11/0751; G06F11/0754; G06F11/0757

Claims Analysis

Total Claims: 33
Claim 1
Independent Claim 217 words
A system for storing data received from an external source, comprising: at least two control means for providing control of data flow to and from the external source; a plurality of storage means coupled to said at least two control means wherein said storage means are divided into groups and each group is controlled by said at least two of said control means such that in the case that a first control means coupled to a particular group of storage means fails, control of said particular group is assumed by a second control means; a plurality of data handling means coupled to said at least two control means for disassembling data into data blocks to be written across a group of said storage means; and error detection means coupled to said control means and said storage means for calculating at least one error detection term for each group of storage means based on the data received from the external source using a selected error code and providing said error detection term to be compared with data to detect errors, said error detection means being coupled to each of said control means to receive the data from said control means and transmit said error detection term to an error code storage means in said group of storage means.
Claim 2
Independent Claim 217 words
A system for storing data received from an external source, comprising: at least two control means for providing control of data flow to and from the external source; a plurality of storage means coupled to said at least two control means wherein said storage means are divided into groups and each group is controlled by said at least two of said control means such that in the case that a first control means coupled to a particular group of storage means fails, control of said particular group is assumed by a second control means; a plurality of data handling means coupled to said at least two control means for disassembling data into data blocks to be written across a group of said storage means; and error detection means coupled to said control means and said storage means for calculating at least one error detection term for each group of storage means based on the data received from the external source using a selected error code and providing said error detection term to be compared with data to detect errors, said error detection means being coupled to each of said control means to receive the data from said control means and transmit said error detection term to an error code storage means in said group of storage means.
Claim 3
Dependent Claim 24 words
The system of claim 1 wherein said data handling means further include assembly means for assembling said data blocks received from said control means.
Claim 4
Dependent Claim 42 words
The system of claim 1 further comprising a first bus for coupling to said external source and a plurality of buffer means coupled to said first bus and to said control means for buffering data received by and transmitted from the system.
Claim 5
Dependent Claim 54 words
The system of claim 3 further comprising error correction means coupled to said error detection means for correcting error in data as said data is transmitted from either said buffer means to said storage means through said data handling means or from said storage means to said buffer means through said data handling means.
Claim 6
Dependent Claim 30 words
The system of claim 3 wherein the error detection means uses a Reed-Solomon error code to detect errors in said data received from said buffer means and said storage means.
Claim 7
Dependent Claim 45 words
The system of claim 3 wherein said data handling means includes detachment means coupled to said error detection means for detaching from the system storage means and buffer means which transmit erroneous data responsive to receiving said error detection term from said error detection means.
Claim 8
Dependent Claim 48 words
The system of claim 1 wherein said plurality of storage means comprises: a first group of data storage means for storing data from the external source; and a second group of error check and correction (ECC) storage means for storing ECC data generated by said error detection means.
Claim 9
Dependent Claim 26 words
The system of claim 1 wherein each of said plurality of storage means stores data and error check and correction (ECC) data in a predefined pattern.
Claim 10
Dependent Claim 168 words
In a system including at least two control means for communicating with an external source and a plurality of storage means wherein at least two of the control means are connected to each of the storage means, a method for storing data received from the external source comprising the steps of: receiving data from the external source; configuring the plurality of storage means into groups wherein each group is initially controlled by at least two of the control means such that in the case that one of the control means fails, the storage means of each group is accessible through another one of the control means; disassembling data into groups of data blocks to be written to said plurality of storage means; calculating at least one error detection term from said data using a selected error code; storing said data blocks in a first of said groups of storage means; and storing said at least one error detection term in said first of said groups of storage means.
Claim 11
Dependent Claim 168 words
In a system including at least two control means for communicating with an external source and a plurality of storage means wherein at least two of the control means are connected to each of the storage means, a method for storing data received from the external source comprising the steps of: receiving data from the external source; configuring the plurality of storage means into groups wherein each group is initially controlled by at least two of the control means such that in the case that one of the control means fails, the storage means of each group is accessible through another one of the control means; disassembling data into groups of data blocks to be written to said plurality of storage means; calculating at least one error detection term from said data using a selected error code; storing said data blocks in a first of said groups of storage means; and storing said at least one error detection term in said first of said groups of storage means.
Claim 12
Dependent Claim 79 words
The method of claim 9 further comprising the steps of: retrieving said data blocks from said first of said groups of storage means; calculating a check error detection term from said data blocks using a selected error code; retrieving said at least one error detection term from said first of said groups of storage means; and comparing said check error detection term to said at least one error detection term to determine that said data has not been corrupted.
Claim 13
Dependent Claim 23 words
The method of claim 10 further comprising the step of correcting said data if it is determined that said data has been corrupted.
Claim 14
Dependent Claim 26 words
The method of claim 10 further comprising the step of assembling said data blocks into a form in which it was received from the external source.
Claim 15
Dependent Claim 41 words
The method of claim 9 wherein the step of configuring further comprises the step of setting a plurality of switching means to allow said data blocks to be passed between the control means and the storage means in a predefined pattern.
Claim 16
Dependent Claim 31 words
The method of claim 9 further comprising the step of detaching a particular storage means upon which said data was stored if it is determined that said data has been corrupted.
Claim 17
Independent Claim 103 words
A system for storing data received from an external source, comprising: control means for providing control of data flow to and from the external source; a plurality of storage means coupled to said control means wherein said storage means are divided into groups; a plurality of data handling means coupled to said control means for disassembling data with data blocks to be written to said storage means; and error detection means coupled to said control means for receiving said data blocks in parallel form and detecting errors in each data block substantially simultaneously as said data blocks are written to said storage means.
Claim 18
Independent Claim 103 words
A system for storing data received from an external source, comprising: control means for providing control of data flow to and from the external source; a plurality of storage means coupled to said control means wherein said storage means are divided into groups; a plurality of data handling means coupled to said control means for disassembling data with data blocks to be written to said storage means; and error detection means coupled to said control means for receiving said data blocks in parallel form and detecting errors in each data block substantially simultaneously as said data blocks are written to said storage means.
Claim 19
Dependent Claim 33 words
The system of claim 15 further comprising data correction means coupled to said error detection means for correcting corrupted data in response to an error detection signal provided by said error detection means.
Claim 20
Dependent Claim 48 words
The system of claim 16 wherein said plurality of storage means comprises: a first group of data storage means for storing data from the external source; and a second group of error check and correction (ECC) storage means for storing ECC data generated by said error correction means.
Claim 21
Dependent Claim 30 words
The system of claim 16 wherein the error detection means uses a Reed-Solomon error code to detect errors in said data received from said buffer means and said storage means.
Claim 22
Dependent Claim 30 words
The system of claim 16 wherein the error correction means uses a Reed-Solomon error code to correct errors in said data received from said buffer means and said storage means.
Claim 23
Dependent Claim 36 words
The system of claim 15 further comprising detachment means coupled to said error detection means for detaching a particular storage means from the system which has provided corrupted data as determined by said error detection means.
Claim 24
Dependent Claim 24 words
The system of claim 15 wherein said data handling means further includes assembly means for assembling said data blocks received from said control means.
Claim 25
Dependent Claim 42 words
The system of claim 15 further comprising a first bus for coupling to said external source and a plurality of buffer means coupled to said first bus and to said control means for buffering data received by and transmitted from the system.
Claim 26
Dependent Claim 26 words
The system of claim 15 wherein each of said plurality of storage means stores data and error check and correction (ECC) data in a predefined pattern.
Claim 27
Dependent Claim 92 words
In a system including control means for communicating with an external source and a plurality of storage means, a method for storing data received from the external source comprising the steps of: receiving data from the external house; disassembling the data into groups of data blocks to be written to said plurality of storage means; calculating at least one error detection term for each data block substantially simultaneously; and storing said data blocks and said at least one error detection term in a first of said groups of storage means substantially simultaneously.
Claim 28
Dependent Claim 92 words
In a system including control means for communicating with an external source and a plurality of storage means, a method for storing data received from the external source comprising the steps of: receiving data from the external house; disassembling the data into groups of data blocks to be written to said plurality of storage means; calculating at least one error detection term for each data block substantially simultaneously; and storing said data blocks and said at least one error detection term in a first of said groups of storage means substantially simultaneously.
Claim 29
Dependent Claim 79 words
The method of claim 24 further comprising the steps of: retrieving said data blocks from said first of said groups of storage means; calculating a check error detection term from said data blocks using a selected error code; retrieving said at least one error detection term from said first of said groups of storage means; and comparing said check error detection term to said at least one error detection term to determine that said data has been not corrupted.
Claim 30
Dependent Claim 23 words
The method of claim 25 further comprising the step of correcting said data if it is determined that said data has been corrupted.
Claim 31
Dependent Claim 26 words
The method of claim 25 further comprising the step of assembling said data blocks into a form in which it was received from the external source.
Claim 32
Dependent Claim 41 words
The method of claim 24 wherein the step of configuring further comprises the step of setting a plurality of switching means to allow said data blocks to be passed between the control means and the storage means in a predefined pattern.
Claim 33
Dependent Claim 31 words
The method of claim 24 further comprising the step of detaching a particular storage means upon which said data was stored if it is determined that said data has been corrupted.

References Cited (Backward Citations)

US4817035A Cited
US4958351A Cited
US4914656A Cited
US4989205A Cited
US5088081A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1996-12-27 1997-06-28 1997-12-28 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2000-12-27 2001-06-28 2001-12-28 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2004-12-27 2005-06-28 2005-12-28 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag