IP Library Granted Patent US 7,478,203
Granted Patent B2
US 7,478,203 · App. 11/371,144 · Granted Jan 13, 2009

Technique for eliminating dead stores in a processor

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,478,203
App. No.
11/371,144
Granted
Jan 13, 2009
Kind
B2
Abstract

A technique for reducing off-chip bandwidth requirements for a processor reads old data from a location in an on-chip store of a processor in preparation of writing new data to the location in the on-chip store. The technique determines whether new data bytes of the new data and associated old data bytes of the old data are different. The new data bytes are then written to the on-chip store. When updating an off-chip store, only the new data bytes that are different are written to the off-chip store. In this manner, off-chip bandwidth requirements for a processor may be reduced.

Claims (44)

1. A method for reducing off-chip bandwidth requirements for a processor, comprising:

maintaining a dirty bit for a line of an on-chip cache;

storing new data in an on-chip new data buffer;

reading old data from a location in the line of the on-chip cache of said processor in preparation of writing new data from the on-chip new data buffer to the location in the line of the on-chip cache;

determining whether new data bytes in the new data and associated old data bytes in the old data are different;

writing the new data bytes to the line of the on-chip cache;

marking each new data byte in the new data, which is different from the associated old data byte, to identify said each new data byte wherein said marking is in addition to maintaining the dirty bit for the line of the on-chip cache; and

writing only the marked new data bytes to an off-chip store when updating the off-chip store.

2. The method of claim 1 , wherein the reading old data from a location in an on-chip store of a processor, further comprises: detecting errors in the old data with an error correcting circuit/code (ECC); and updating the ECC to account for changed data bits attributable to the new data.

3. The method of claim 1 , wherein the on-chip cache one of a level 1 (L1) cache memory or a level 2 (L2) cache memory.

4. The method of claim 1 , wherein the cache memory line is 64-bytes in length.

5. The method of claim 1 , further comprising;

duplicating said marking in a different storage location for allowing detection of memory corruption.

6. The method of claim 1 , wherein the method is encoded in computer readable instructions encoded on one or more computer readable storage media.

7. A processor, comprising:

a plurality of central processing units (CPUs);

a cache memory coupled to the CPUs; and

a cache controller coupled to the cache memory,

wherein the cache controller is configured to:

maintain a dirty bit for a line of the cache memory;

store new data in an on-chip new data buffer;

read old data from a location in the line of the cache memory in preparation of writing new data from the on-chip new data buffer to the location in the line of the cache memory;

determine whether new data bytes in the new data and associated old data bytes in the old data are different;

write the new data bytes to the location in the line of the cache memory;

mark each new data byte in the new data, which is different from the associated old data byte, to identify said each new data byte wherein said marking is in addition to any marking of the dirty bit for the line of the cache memory; and

write only the marked new data bytes to an off-chip store when updating the off-chip store.

8. The processor of claim 7 , further comprising:

an error correcting circuit/code (ECC) for detecting errors in the old data, wherein the ECC is updated to account for changed data bits attributable to the new data.

9. The processor of claim 7 , wherein the cache memory is a level 1 (L1) cache memory or a level 2 (L2) cache memory.

10. The processor of claim 7 , wherein the cache memory line is 64-bytes in length.

11. The processor of claim 7 , wherein the cache controller is further configured to duplicate said marking in a different storage location for allowing detection of memory corruption.

12. The processor of claim 7 , wherein the processor is a chip multiprocessor (CMP) and the CMP includes a plurality of CPUs.

13. An apparatus for reducing off-chip bandwidth requirements for a processor, comprising:

a cache controller on said processor including:

means, on said cache controller, for maintaining a dirty bit for a line of an on-chip cache;

means, on said cache controller, for storing new data in an on-chip new data buffer;

means, on said cache controller, for reading old data from a location in the line of the on-chip cache of said processor in preparation of writing new data from the on-chip new data buffer to the location in the line of the on-chip cache;

means, on said cache controller, for determining whether new data bytes in the new data and associated old data bytes in the old data are different;

means, on said cache controller, for writing the new data bytes to the line of the on-chip cache;

means, on said cache controller, for marking each new data byte in the new data, which is different from the associated old data byte, to identify said each new data byte wherein said marking is in addition to any marking of the dirty bit for the line of the on-chip cache; and

means, on said cache controller, for writing only the marked new data bytes to an off-chip store when updating the off-chip store.

14. The apparatus of claim 13 , further comprising:

means, on said cache controller, for detecting errors in the old data with an error correcting code (ECC); and

means, on said cache controller, for updating the ECC to account for changed data bits attributable to the new data.

Assignments (2)
MERGER AND CHANGE OF NAME Recorded Dec 16, 2015
From: ORACLE USA, INC.; SUN MICROSYSTEMS, INC.; ORACLE AMERICA, INC.
To: ORACLE AMERICA, INC.
Reel/Frame 037303/0926 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 8, 2006
From: CAPRIOLI, PAUL; CHAUDHRY, SHAILENDER
To: SUN MICROSYSTEMS, INC.
Reel/Frame 017671/0361 →