Store-In Cache Reliability Using an Ancillary Store-Only Cache
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional Store-In caches lack robust reliability for maintaining locally modified data, especially in scenarios where Error Correcting Codes (ECC) are difficult to implement due to high overhead, leading to performance issues and vulnerability to soft errors.
Innovation Solution
The introduction of an Ancillary Store-Only Cache (ASOC) that holds recently stored lines with doubleword ECC, allowing for robust reliability and performance optimization by shielding higher cache levels from raw store bandwidth while enabling store-in behavior.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If a Store-In cache is used to aggregate multiple stores and optimize cache hierarchy, then store bandwidth is reduced and cache levels are optimized, but reliability is worsened because locally modified data lacks protection against soft errors
Solution Approach 1:
The cache system is segmented into two distinct parts: the main Store-In cache that handles performance optimization and aggregation, and a separate backup storage structure that provides reliability protection. This segmentation allows each component to specialize in its strength without compromising the other.
Solution Approach 2:
A backup storage mechanism acts as an intermediary between the Store-In cache and the ultimate memory hierarchy, capturing copies of modified data for protection. This intermediary layer shields the main cache from reliability concerns while maintaining the performance benefits of Store-In operation.
2Reliability
If Error Correcting Codes (ECC) are implemented at the L1 cache level to protect against soft errors, then reliability is improved, but performance overhead increases due to the complexity of maintaining ECC on byte granularity
Solution Approach 1:
Instead of applying ECC uniformly across the entire L1 cache, the solution applies error protection selectively and locally through the backup storage mechanism that captures only modified data. This local approach provides necessary protection without the pervasive overhead of full ECC implementation.
Solution Approach 2:
The backup storage uses a simpler, less expensive error protection mechanism compared to full ECC, accepting that this backup layer is a temporary holding area for modified data that will eventually be written back to the main cache or memory. This disposable backup approach provides adequate protection at lower cost and complexity.
3Reliability
If a Store-Through cache is used to maintain recoverable copies of data in the cache hierarchy, then reliability is improved, but store bandwidth increases because every store must pass through to the next cache level
Solution Approach 1:
The reliability function is extracted from the main cache path and placed into a separate backup storage mechanism. This extraction allows the main Store-In cache to operate without the bandwidth overhead of Store-Through operation, while still providing error protection through the dedicated backup path.
Solution Approach 2:
The backup storage captures copies of modified data immediately when they occur in the Store-In cache, performing the protection action in advance before any potential errors can affect the data. This preliminary backup action ensures reliability without requiring data to traverse the entire cache hierarchy on every store operation.
Data Source
AI summary
A hardened store-in cache system includes a store-in cache having lines of a first linesize stored with checkbits, wherein the checkbits include byte-parity bits, and an ancillary store-only cache (ASOC) that holds a copy of most recently stored-to lines of the store-in cache. The ASOC includes fewer lines than the store-in cache, each line of the ASOC having the first linesize stored with the checkbits.


