Method and apparatus for recovering from correctable ECC errors
First Claim
1. An integrated system comprising:
- a first memory cache;
a second memory cache;
a first bus for providing data to said first cache from a third memory cache in response to an instruction;
a second bus for providing said data to said second cache from said third cache in response to said instruction; and
a first ECC circuit, coupled to said second bus, wherein said first ECC circuit checks for errors in said data on said second bus;
wherein said data is provided to said first cache without being checked for errors, such that said data is provided to said first cache at least one clock cycle before said data is provided to said second cache.
2 Assignments
0 Petitions
Accused Products
Abstract
On-chip delivery of data from an on-chip or off-chip cache is separated into two buses. A fast fill bus provides data to latency critical caches without ECC error detection and correction. A slow fill bus provides the data to latency insensitive caches with ECC error detection and correction. Because the latency critical caches receive the data without error detection, they receive the data at least one clock cycle before the latency insensitive caches, thereby enhancing performance if there is no ECC error. If an ECC error is detected, a software trap is executed which flushes the external cache and the latency sensitive caches that received the data before the trap was generated. If the error is correctable, ECC circuitry corrects the error and rewrites the corrected data back to the external cache. If the error is not correctable, the data is read from main memory to the external cache.
247 Citations
20 Claims
-
1. An integrated system comprising:
-
a first memory cache; a second memory cache; a first bus for providing data to said first cache from a third memory cache in response to an instruction; a second bus for providing said data to said second cache from said third cache in response to said instruction; and a first ECC circuit, coupled to said second bus, wherein said first ECC circuit checks for errors in said data on said second bus; wherein said data is provided to said first cache without being checked for errors, such that said data is provided to said first cache at least one clock cycle before said data is provided to said second cache. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. An integrated system comprising:
-
a first memory cache on a chip; a second memory cache on said chip; a third memory cache, wherein data is stored in said third cache from a memory external to said chip; a first bus for providing said data to said first cache from said third cache; a second bus for providing said data to said second cache from said third cache; and a first ECC circuit, coupled to said second bus, wherein said first ECC circuit checks for errors in said data on said second bus; wherein said data is provided to said first cache without being checked for errors, such that said data is provided to said first cache at least one clock cycle before said data is provided to said second cache. - View Dependent Claims (10)
-
-
11. A method of providing data to a first cache and a second cache in an integrated system from a third cache, the method comprising the steps of:
-
a) providing data to the first cache from the third cache over a first bus in response to an instruction; b) providing said data to a first ECC circuit from the third cache over a second bus in response to said instruction; c) checking said data for errors in said first ECC circuit; and
thereafterd) providing said data to the second cache from said first ECC circuit over said second bus, such that said data is provided to said first cache at least one clock cycle before said data is provided to said second cache. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
Specification