Memory Controller CRC Segmentation for Bandwidth-Efficient Error Checking

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current information handling systems (IHS) face inefficiencies due to the overhead of cyclic redundancy check (CRC) error checking, which incurs memory channel bandwidth loss, latency, and power consumption, especially when applied universally across all data transmissions.

Innovation Solution

Implementing a method to selectively enable CRC error checking based on memory access requests, where critical data is subjected to CRC and non-critical data is not, using a memory controller and system memory with CRC tables to differentiate between critical and non-critical memory portions, thereby reducing unnecessary error checking overhead.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If CRC error checking is applied to all data transmissions, then data transmission reliability is improved, but memory channel bandwidth is lost and latency increases

Engineering Contradiction:
Improvedata transmission reliabilityVSAvoidmemory channel bandwidth
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies CRC error checking selectively to specific memory regions based on their criticality. Critical memory regions (e.g., those storing kernel data, device drivers, or safety-critical information) have CRC enabled, while non-critical regions (e.g., temporary buffers, cache data) have CRC disabled. This local differentiation allows the system to maintain high reliability where needed while preserving bandwidth in less critical areas.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The memory system is segmented into multiple regions with different error checking requirements. The patent divides the address space into critical and non-critical segments, allowing independent error checking policies for each segment. This segmentation enables the system to apply CRC only to necessary portions of memory, reducing overall overhead while maintaining data integrity for critical information.

Inventive Principle:
Principle #1Segmentation

2Reliability

If CRC error checking is applied to all data transmissions, then data transmission reliability is improved, but power consumption increases

Engineering Contradiction:
Improvedata transmission reliabilityVSAvoidpower consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent implements power-efficient error checking by enabling CRC only in memory regions where data integrity is critical. By disabling CRC in non-critical regions, the system reduces the computational overhead and power consumption associated with error checking operations, while still maintaining reliability for important data transmissions.

Inventive Principle:
Principle #3Local quality

3Reliability

If CRC error checking is applied to all data transmissions, then data transmission reliability is improved, but latency increases

Engineering Contradiction:
Improvedata transmission reliabilityVSAvoiddata transmission latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent reduces latency by applying CRC error checking only to critical memory regions rather than all memory accesses. Time-sensitive operations accessing non-critical data can proceed without CRC overhead, while critical data transmissions maintain full error checking. This selective approach minimizes the average latency impact while preserving reliability where it matters most.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS8645811B2System and method for selective error checking
Publication Date: 2014.02.04 DELL PROD LP
  • US8645811B2 patent drawing
  • US8645811B2 patent drawing
  • US8645811B2 patent drawing

AI summary

A method of selectively enabling error checking in an information handling system, including receiving information indicating that data associated with a first memory portion in a system memory should be subject to error checking during transmission between the memory controller and the system memory and indicating that data associated with a second memory portion in the system memory should be free of error checking during transmission between the memory controller and the system memory, receiving a memory access request directed to one of the first and second memory portions, transmitting data between the memory controller and the system memory in response to the memory access request, and selectively performing an error checking technique on the transmitted data based on the information.