Selective ECC Memory Range Segmentation for Performance Precision Trade-off
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional computer systems face a performance vs. data precision trade-off due to the need for extensive system resources when executing the ECC function, especially during partial-write operations, which reduces system performance without ensuring data accuracy.
Innovation Solution
The method involves setting ECC and non-ECC ranges based on BIOS settings during booting, allowing the ECC function to be selectively applied based on data address ranges, thereby optimizing resource usage and balancing performance and precision.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Manufacturing precision
If the ECC function is performed on all data access operations, then data precision is improved, but system performance deteriorates due to increased resource consumption and redundant read/modify/write commands
Solution Approach 1:
The patent applies different quality requirements to different memory regions by dividing memory into ECC range and non-ECC range. The ECC function is selectively applied only to regions requiring high data precision (ECC range), while regions tolerant to errors (non-ECC range) access data without ECC overhead. This resolves the contradiction by localizing the precision requirement rather than applying it uniformly across all memory access operations.
Solution Approach 2:
The patent segments the memory space into distinct ECC and non-ECC ranges based on BIOS settings. By segmenting memory access paths, the system can apply ECC processing only to specific segments (ECC range) while allowing direct access to other segments (non-ECC range), thereby reducing redundant operations and improving overall system performance while maintaining data precision where needed.
2Manufacturing precision
If the ECC function is performed on video data in graphic frame buffer, then data precision is improved, but system performance deteriorates dramatically due to frequent read/modify/write commands
Solution Approach 1:
The patent specifically identifies the graphic frame buffer region as a non-ECC range in memory space. Video data stored in this region is accessed directly without ECC processing, as video data is tolerant to minor precision errors. This local quality differentiation resolves the contradiction by applying no ECC overhead to video data while maintaining high performance, as the visual system can tolerate minor artifacts from potential bit errors.
3Productivity
If the ECC function is disabled to improve system performance, then system performance is improved, but data precision deteriorates
Solution Approach 1:
The patent implements local quality by creating distinct memory regions with different precision requirements. The ECC range is designated for data requiring high precision (such as system data and programs), where ECC functions are actively applied. This ensures data precision is maintained for critical operations while allowing non-critical data to access memory without ECC overhead, thus resolving the contradiction between performance and precision.
Solution Approach 2:
The patent segments memory access paths into ECC and non-ECC routes based on the address range. When accessing addresses within the ECC range, the system automatically routes through ECC processing to ensure data precision. This segmentation allows the system to maintain high performance overall while ensuring precision for specific critical data accesses, effectively resolving the contradiction.
Data Source
AI summary
A method and related apparatus for performing error checking-correcting (ECC). The method divides a memory space provided by a memory into an ECC range and a non-ECC range. When data is read or written, the method determines the address of data is within the ECC range or the non-ECC range so as to decide whether error checking-correcting is performed on the data.


