Memory Protection Cache ECC Integration

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current cache memory schemes for microprocessors face inefficiencies in error detection and correction, particularly requiring significant changes to the memory interface bus architecture and complicating access sequences, which can decrease system performance and increase memory storage overhead.

Innovation Solution

A memory protection cache system that includes a logic block to facilitate efficient error detection and correction by storing ECC next to data blocks, allowing for two types of memory access: Cache Access Region, which remaps logical addresses for error checking, and Direct Access Region, which accesses data without remapping, thereby minimizing changes to the memory interface bus and simplifying access sequences.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If current cache memory schemes are used for error detection and correction, then error protection capability is provided, but significant changes to memory interface bus architecture are required and access sequences become complicated

Engineering Contradiction:
Improveerror detection and correction capabilityVSAvoidmemory interface bus architecture complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces a cache memory structure that acts as an intermediary between the processor and external memory. The cache includes data storage locations and associated ECC storage locations, providing error detection and correction functionality without requiring changes to the external memory interface bus architecture. This intermediary cache layer handles ECC operations internally, simplifying the overall system architecture while maintaining reliability.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent combines data storage and ECC storage within the same cache memory structure. Each data location in the cache has associated ECC locations stored in the same cache array, allowing error protection to be integrated seamlessly with data storage. This merging eliminates the need for separate ECC memory structures and simplifies access sequences by handling both data and ECC in unified cache operations.

Inventive Principle:
Principle #5Merging (Combining)

2Reliability

If current cache memory schemes with ECC are implemented, then error correction is achieved, but access sequences become complicated and system performance decreases

Engineering Contradiction:
Improveerror correction capabilityVSAvoidsystem performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent performs ECC calculations and error checks in advance during cache write operations. When data is written to the cache, the corresponding ECC values are calculated and stored simultaneously in the associated ECC locations. This preliminary action ensures that error protection is already in place before data retrieval, eliminating the need for complex ECC operations during read access sequences and maintaining high system performance.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The cache memory structure performs self-verification through automatic ECC checking during read operations. The ECC logic within the cache automatically detects and corrects errors in retrieved data without requiring external intervention or complex access sequences. This self-service capability maintains simple access sequences while ensuring data integrity, thereby preserving system performance.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS9058290B2Memory protection cache
Publication Date: 2015.06.16 SK HYNIX MEMORY SOLUTIONS AMERICA INC
  • US9058290B2 patent drawing
  • US9058290B2 patent drawing
  • US9058290B2 patent drawing

AI summary

Accessing data at a memory is described. A request associated with a read or write operation is received, wherein the request includes a logical address associated with the memory. A physical address is generated based at least in part on the logical address. A block of data at the memory that includes data associated with the physical address is determined. Data at the determined block of data and a corresponding set of ECC from the memory are accessed. Whether the accessed data can be decoded based at least in part on the corresponding set of ECC is determined.