Patent US5459849A successfully refreshed from Google Patents.
← Back to Patent Explorer
US5459849A Expired / Lapsed US ⏱️ 0.0 years remaining

Method and apparatus for compressing cacheable data

Assignee: International Business Machines Corp
•
Filing: 1991-08-02
•
Granted: 1995-10-17
•
Expires: 2011-08-02
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method and apparatus for compressing cacheable data stored in one or more write back buffers is described herein. A cacheable data element includes an address component, a data component and a byte enable component. Generally, the method includes comparing the address component of a first cacheable data element stored in a first write back buffer with the address component of a second cacheable data element. This second cacheable data element may be an incoming data element from the processor or a data element stored in a second write back buffer. If the two address components are equal, then compression is performed. In one implementation, compression is performed by overlaying the data component of the first cacheable data element with the data component of the second cacheable data element resulting in a compressed data component. In addition, the byte enable component of the first cacheable data element and the byte enable component of the second cacheable data element are combined resulting in a combined byte enable component. The combined byte enable component indicates which bits of the compressed data component are valid.

Inventors

  • 👤 Jr. John J. Bergkvist
  • 👤 Michael J. Peters
  • 👤 Daniel M. Wronski

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-07 04:06
CPC Classifications
G; G06; G06F; G06F12/00; G06F12/02; G06F12/08; G06F12/0802; G06F12/0804

Claims Analysis

Total Claims: 33
Claim 1
Independent Claim 112 words
A method for processing cached data elements, each cached data element comprising an address component and a data component, said method comprising: comparing an address component of a first cached data element to an address component of a second cached data element and indicating an equality when the address component of said first cached data element and the address component of said second cached data element are equal; and overlaying one or more bits of a data component of said first cached data element with one or more bits of a data component of said second cached data element resulting in a compressed data component when said comparing step indicates said equality.
Claim 2
Independent Claim 112 words
A method for processing cached data elements, each cached data element comprising an address component and a data component, said method comprising: comparing an address component of a first cached data element to an address component of a second cached data element and indicating an equality when the address component of said first cached data element and the address component of said second cached data element are equal; and overlaying one or more bits of a data component of said first cached data element with one or more bits of a data component of said second cached data element resulting in a compressed data component when said comparing step indicates said equality.
Claim 3
Dependent Claim 18 words
The method of claim 1, further including the step of determining valid bits of said compressed data component.
Claim 4
Dependent Claim 46 words
The method of claim 2, wherein said determining step includes combining a byte enable component of said first cached data element and a byte enable component of said second cached data element resulting in a combined byte enable component when said comparing step indicates said equality.
Claim 5
Dependent Claim 37 words
The method of claim 3, wherein the byte enable component of said first cached data element, the byte enable component of said second cached data element, and said combined byte enable component are all of equal length.
Claim 6
Dependent Claim 32 words
The method of claim 3, wherein said combining step comprises ORing the byte enable component of said first cached data element with the byte enable component of said second cached data element.
Claim 7
Dependent Claim 77 words
The method of claim 1, wherein a byte enable component of said second cached data element indicates which of said one or more bits of said data component of said second cached data element are valid and wherein said overlaying step comprises replacing said one or more bits of said data component of said first cached data element with the valid bits, said one or more bits to be replaced corresponding in position to said valid bits.
Claim 8
Independent Claim 216 words
A method for compressing cached data elements, each element being stored in a write back buffer and each element comprising an address component, a data component and a byte enable component, said method comprising: comparing an address component of a first cached data element stored in a first write back buffer to an address component of a second cached data element stored in a second write back buffer and indicating an equality when the address component of said first cached data element and the address component of said second cached data element are equal; overlaying one or more bits of a data component of said first cached data element stored in said first write back buffer with one or more bits of a data component of said second cached data element stored in said second write back buffer resulting in a compressed data component when said comparing step indicates said equality; and combining a byte enable component of said first cached data element stored in said first write back buffer and a byte enable component of said second cached data element stored in said second write back buffer resulting in a combined byte enable component when said comparing step indicates said equality, wherein said combined byte enable component indicates valid bits of said compressed data component.
Claim 9
Independent Claim 216 words
A method for compressing cached data elements, each element being stored in a write back buffer and each element comprising an address component, a data component and a byte enable component, said method comprising: comparing an address component of a first cached data element stored in a first write back buffer to an address component of a second cached data element stored in a second write back buffer and indicating an equality when the address component of said first cached data element and the address component of said second cached data element are equal; overlaying one or more bits of a data component of said first cached data element stored in said first write back buffer with one or more bits of a data component of said second cached data element stored in said second write back buffer resulting in a compressed data component when said comparing step indicates said equality; and combining a byte enable component of said first cached data element stored in said first write back buffer and a byte enable component of said second cached data element stored in said second write back buffer resulting in a combined byte enable component when said comparing step indicates said equality, wherein said combined byte enable component indicates valid bits of said compressed data component.
Claim 10
Dependent Claim 77 words
The method of claim 7, wherein a byte enable component of said second cached data element indicates which of said one or more bits of said data component of said second cached data element are valid and wherein said overlaying step comprises replacing said one or more bits of said data component of said first cached data element with the valid bits, said one or more bits to be replaced corresponding in position to said valid bits.
Claim 11
Independent Claim 114 words
An apparatus for processing cached data elements, each element comprising an address component and a data component, said apparatus comprising: means for comparing an address component of a first cached data element to an address component of a second cached data element and indicating an equality when the address component of said first cached data element and the address component of said second cached data element are equal; and means for overlaying one or more bits of a data component of said first cached data element with one or more bits of a data component of said second cached data element resulting in a compressed data component when said comparing means indicates said equality.
Claim 12
Independent Claim 114 words
An apparatus for processing cached data elements, each element comprising an address component and a data component, said apparatus comprising: means for comparing an address component of a first cached data element to an address component of a second cached data element and indicating an equality when the address component of said first cached data element and the address component of said second cached data element are equal; and means for overlaying one or more bits of a data component of said first cached data element with one or more bits of a data component of said second cached data element resulting in a compressed data component when said comparing means indicates said equality.
Claim 13
Dependent Claim 17 words
The apparatus of claim 9, further including means for determining valid bits of said compressed data component.
Claim 14
Dependent Claim 48 words
The apparatus of claim 10, wherein said determining means includes means for combining a byte enable component of said first cached data element and a byte enable component of said second cached data element resulting in a combined byte enable component when said comparing means indicates said equality.
Claim 15
Dependent Claim 37 words
The apparatus of claim 11, wherein the byte enable component of said first cached data element, the byte enable component of said second cached data element, and said combined byte enable component are all of equal length.
Claim 16
Dependent Claim 34 words
The apparatus of claim 11, wherein said combining means comprises means for ORing the byte enable component of said first cached data element with the byte enable component of said second cached data element.
Claim 17
Dependent Claim 79 words
The apparatus of claim 9, wherein a byte enable component of said second cached data element indicates which of said one or more bits of said data component of said second cached data element are valid and wherein said overlaying means comprises means for replacing said one or more bits of said data component of said first cached data element with the valid bits, said one or more bits to be replaced corresponding in position to said valid bits.
Claim 18
Independent Claim 194 words
An apparatus for compressing cached data elements, each element being stored in a write back buffer and each element comprising an address component, a data component and a byte enable component, said apparatus comprising: means for comparing an address component of a first cached data element stored in a first write back buffer to an address component of a second cached data element stored in a second write back buffer and indicating an equality when the address component of said first cached data element and the address component of said second cached data element are equal; means for overlaying one or more bits of a data component of said first cached data element with one or more bits of a data component of said second cached data element resulting in a compressed data component when said comparing means indicates said equality; and means for combining a byte enable component of said first cached data element and a byte enable component of said second cached data element resulting in a combined byte enable component when said comparing means indicates said equality, wherein said combined byte enable component indicates valid bits of said compressed data component.
Claim 19
Independent Claim 194 words
An apparatus for compressing cached data elements, each element being stored in a write back buffer and each element comprising an address component, a data component and a byte enable component, said apparatus comprising: means for comparing an address component of a first cached data element stored in a first write back buffer to an address component of a second cached data element stored in a second write back buffer and indicating an equality when the address component of said first cached data element and the address component of said second cached data element are equal; means for overlaying one or more bits of a data component of said first cached data element with one or more bits of a data component of said second cached data element resulting in a compressed data component when said comparing means indicates said equality; and means for combining a byte enable component of said first cached data element and a byte enable component of said second cached data element resulting in a combined byte enable component when said comparing means indicates said equality, wherein said combined byte enable component indicates valid bits of said compressed data component.
Claim 20
Dependent Claim 79 words
The apparatus of claim 15, wherein a byte enable component of said second cached data element indicates which of said one or more bits of said data component of said second cached data element are valid and wherein said overlaying means comprises means for replacing said one or more bits of said data component of said first cached data element with the valid bits, said one or more bits to be replaced corresponding in position to said valid bits.
Claim 21
Independent Claim 186 words
An apparatus for compressing cached data elements, each element comprising an address component, a data component and a byte enable component, said apparatus comprising: a processor; a first write back buffer coupled to said processor, said first write back buffer storing a first cached data element received from said processor; means for comparing an address component of said first cached data element to an address component of a second cached data element received from said processor and indicating an equality when the address component of said first cached data element and the address component of said second cached data element are equal; means for overlaying one or more bits of a data component of said first cached data element with one or more bits of a data component of said second cached data element resulting in a compressed data component when said comparing means indicates said equality; and means for combining a byte enable component of said first cached data element and a byte enable component of said second cached data element resulting in a combined byte enable component when said comparing means indicates said equality.
Claim 22
Independent Claim 186 words
An apparatus for compressing cached data elements, each element comprising an address component, a data component and a byte enable component, said apparatus comprising: a processor; a first write back buffer coupled to said processor, said first write back buffer storing a first cached data element received from said processor; means for comparing an address component of said first cached data element to an address component of a second cached data element received from said processor and indicating an equality when the address component of said first cached data element and the address component of said second cached data element are equal; means for overlaying one or more bits of a data component of said first cached data element with one or more bits of a data component of said second cached data element resulting in a compressed data component when said comparing means indicates said equality; and means for combining a byte enable component of said first cached data element and a byte enable component of said second cached data element resulting in a combined byte enable component when said comparing means indicates said equality.
Claim 23
Dependent Claim 34 words
The apparatus of claim 17, wherein said combining means includes means for ORing the byte enable component of said first cached data element with the byte enable component of said second cached data element.
Claim 24
Dependent Claim 17 words
The apparatus of claim 17, further comprising a data result register for storing said compressed data component.
Claim 25
Dependent Claim 19 words
The apparatus of claim 17, further comprising a byte enable result register for storing said combined byte enable component.
Claim 26
Dependent Claim 60 words
The apparatus of claim 17, wherein said first write back buffer includes a first address register for storing the address component of said first cached data element, a first data register for storing the data component of said first cached data element and a first byte enable register for storing the byte enable component of said first cached data element.
Claim 27
Dependent Claim 40 words
The apparatus of claim 17, further comprising a second write back buffer coupled to said processor, said second write back buffer storing said second address component, said second data component and said second byte enable component received from said processor.
Claim 28
Dependent Claim 60 words
The apparatus of claim 22, wherein said second write back buffer includes a second address register for storing the address component of said second cached data element, a second data register for storing the data component of said second cached data element and a second byte enable register for storing the byte enable component of said second cached data element.
Claim 29
Dependent Claim 79 words
The apparatus of claim 17, wherein a byte enable component of said second cached data element indicates which of said one or more bits of said data component of said second cached data element are valid and wherein said overlaying means comprises means for replacing said one or more bits of said data component of said first cached data element with the valid bits, said one or more bits to be replaced corresponding in position to said valid bits.
Claim 30
Independent Claim 180 words
A method for compressing cached data elements being transferred from a processor to one or more write back buffers, each element comprising an address component, a data component and a byte enable component, said method comprising: receiving a cached data element from said processor; determining if all of said write back buffers are empty; when all of said write back buffers are determined to be empty, storing said cached data element in a write back buffer; when any of said write back buffers are determined not to be empty, comparing an address component of said cached data element received from said processor to an address component of a cached data element stored in said write back buffers and indicating an equality when the compared address components are equal; and overlaying one or more bits of a data component of said cached data element stored in said write back buffers with one or more bits of a data component of said cached data element received from said processor resulting in a compressed data component when said comparing step indicates said equality.
Claim 31
Independent Claim 180 words
A method for compressing cached data elements being transferred from a processor to one or more write back buffers, each element comprising an address component, a data component and a byte enable component, said method comprising: receiving a cached data element from said processor; determining if all of said write back buffers are empty; when all of said write back buffers are determined to be empty, storing said cached data element in a write back buffer; when any of said write back buffers are determined not to be empty, comparing an address component of said cached data element received from said processor to an address component of a cached data element stored in said write back buffers and indicating an equality when the compared address components are equal; and overlaying one or more bits of a data component of said cached data element stored in said write back buffers with one or more bits of a data component of said cached data element received from said processor resulting in a compressed data component when said comparing step indicates said equality.
Claim 32
Dependent Claim 68 words
The method of claim 25, further including the step of combining a byte enable component of said cached data element stored in said write back buffers and a byte enable component of said cached data element received from said processor resulting in a combined byte enable component when said comparing step indicates said equality, wherein said combined byte enable component indicates valid bits of said compressed data component.
Claim 33
Dependent Claim 77 words
The method of claim 25, wherein a byte enable component of said second cached data element indicates which of said one or more bits of said data component of said second cached data element are valid and wherein said overlaying step comprises replacing said one or more bits of said data component of said first cached data element with the valid bits, said one or more bits to be replaced corresponding in position to said valid bits.

References Cited (Backward Citations)

US4136386A Cited
US4313158A Cited
US4811203A Cited
US4858111A Cited
US4677550A Cited
US4742446A Cited
US4823259A Cited
US5241638A Cited
US5019965A Cited
US5222223A Cited
US5327541A Cited
US5155843A Cited

USPTO Annuity & Maintenance Windows

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

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag