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

Pipelined error checking and correction for cache memories

Assignee: International Business Machines Corp
•
Filing: 1989-09-19
•
Granted: 1991-10-15
•
Expires: 2009-09-19
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A single error correction, double error detection function for cache memories does not affect the normal cache access time the addition of the ECC function. Check bits are provided for multiple bytes of data, thereby lowering the overhead of the error detecting and correcting technique. When a single error is detected, a cycle is inserted by the control circuitry of the cache chip. At the same time, the clocks for the CPU are held high until released by the cache chip on the next cycle. Error correction on multi-byte data is performed using the 72/64 Hamming code. The technique requires a 2-port cache array (one write port, and one read port). However, the density of a true 2-port array is too low; therefore, the technique is implemented with a 1-port array using a time multiplexing technique, providing an effective 2-port array but with the density of a single port array.

Inventors

  • 👤 Hu H. Chao
  • 👤 Jung-Herng Chang

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-06 11:09
CPC Classifications
G; G06; G06F; G06F11/00; G06F11/07; G06F11/08; G06F11/10; G06F11/1008; G06F11/1064; G06F12/00; G06F12/02; G06F12/08; G06F12/0802; G06F12/0844; G06F12/0853

Claims Analysis

Total Claims: 6
Claim 1
Independent Claim 335 words
A pipelined error checking and correcting cache memory for a central processing unit comprising: cache array means for reading out data during a first half of a memory cycle and writing in data during a second half of memory cycle, said cache array means providing an effective two port memory array with the density of a single port array; first, second, third, fourth, fifth, sixth, and seventh pipelined register means, said first register means storing a mask, said second register means being connected to said first register means and storing a previous mask, said third register means storing a memory address, said fourth register means being connected to said third register means and storing a previous memory address, said fifth register means storing data output from said central processing unit, said sixth register means being connected to said fifth register means and storing a previous data output, and said seventh register means storing an output from said cache array means; first address means responsive to said third register means for addressing said cache array means during said first half of said memory cycle and second address means responsive to said fourth register means for addressing said cache array means during said second half of said memory cycle; first error checking and correcting means connected between an output of said cache array means and said seventh register means for generating error flags and corrected data, said corrected data being latched in said seventh register means; merge circuit means responsive to said second register means for merging data latched in said seventh register means with data from said central processing unit; and second error checking and correcting means connected between said merge circuit means and an input to said cache array means for generating check bits for an output of said merge circuit means before writing said output with the check bits in the cache array means at an address corresponding to a content of said fourth register means during said second half of said memory cycle.
Claim 2
Dependent Claim 335 words
A pipelined error checking and correcting cache memory for a central processing unit comprising: cache array means for reading out data during a first half of a memory cycle and writing in data during a second half of memory cycle, said cache array means providing an effective two port memory array with the density of a single port array; first, second, third, fourth, fifth, sixth, and seventh pipelined register means, said first register means storing a mask, said second register means being connected to said first register means and storing a previous mask, said third register means storing a memory address, said fourth register means being connected to said third register means and storing a previous memory address, said fifth register means storing data output from said central processing unit, said sixth register means being connected to said fifth register means and storing a previous data output, and said seventh register means storing an output from said cache array means; first address means responsive to said third register means for addressing said cache array means during said first half of said memory cycle and second address means responsive to said fourth register means for addressing said cache array means during said second half of said memory cycle; first error checking and correcting means connected between an output of said cache array means and said seventh register means for generating error flags and corrected data, said corrected data being latched in said seventh register means; merge circuit means responsive to said second register means for merging data latched in said seventh register means with data from said central processing unit; and second error checking and correcting means connected between said merge circuit means and an input to said cache array means for generating check bits for an output of said merge circuit means before writing said output with the check bits in the cache array means at an address corresponding to a content of said fourth register means during said second half of said memory cycle.
Claim 3
Dependent Claim 88 words
The pipelined error checking and correcting cache memory as recited in claim 1 further comprising multiplexer means responsive to outputs from the cache array means and the seventh register means for providing one of said outputs to said central processing unit, said multiplexer means selecting the output of said cache array means unless an address in said forth register means is the same as said third register means following a store cycle, in which case the output of said seventh register means is selected by said multiplexer means.
Claim 4
Dependent Claim 98 words
The pipelined error checking and correcting cache memory recited in claim 1 wherein said cache array means comprises: an array of single port static random access memory cells connected to a plurality of bitlines; row decoder means and first and second column decoder means for addressing said array; and respective input and output lines connected to each of said bitlines by first and second pluralities of pass transistors, said first and second pluralities of pass transistors being respectively controlled by said first and second column decoder means for connecting said bitlines to said output and input lines, respectively.
Claim 5
Dependent Claim 185 words
A cache memory array providing an effective two port memory array with the density of a single port array, said cache memory array permitting an effective read and write operation in one memory cycle, comprising: an array of single port static random access memory cells connected to a plurality of bitlines; addressing means for reading out data from said array during a first half of a memory cycle and writing in data in to said array during a second half of a memory cycle, said addressing means including row decoder means and first and second column decoder means for addressing said array, said first column decoder means addressing said array during said first half of said memory cycle and said second column decoder means addressing said array during said second half of said memory cycle; and respective input and output lines connected to each of said bitlines by first and second pluralities of pass transistors, said first and second pluralities of pass transistors being respectively controlled by said first and second column decoder means for connecting said bitlines to said output and input lines, respectively.
Claim 6
Dependent Claim 185 words
A cache memory array providing an effective two port memory array with the density of a single port array, said cache memory array permitting an effective read and write operation in one memory cycle, comprising: an array of single port static random access memory cells connected to a plurality of bitlines; addressing means for reading out data from said array during a first half of a memory cycle and writing in data in to said array during a second half of a memory cycle, said addressing means including row decoder means and first and second column decoder means for addressing said array, said first column decoder means addressing said array during said first half of said memory cycle and said second column decoder means addressing said array during said second half of said memory cycle; and respective input and output lines connected to each of said bitlines by first and second pluralities of pass transistors, said first and second pluralities of pass transistors being respectively controlled by said first and second column decoder means for connecting said bitlines to said output and input lines, respectively.

References Cited (Backward Citations)

US4730319A Cited
US4672614A Cited
US4661955A Cited
US4748627A Cited
US4689792A Cited
US4953164A Cited
US4920539A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1994-10-14 1995-04-15 1995-10-15 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 1998-10-14 1999-04-15 1999-10-15 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2002-10-14 2003-04-15 2003-10-15 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag