Memory Controller ECC Allocation by Data Reliability Level

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional memory controllers inefficiently manage memory by uniformly applying Error Correction Code (ECC) schemes regardless of data type, leading to inadequate reliability for high-reliability data and wasteful use of resources for low-reliability data.

Innovation Solution

A memory controller that dynamically applies ECC schemes based on the type of data, generating ECC information and codes according to predetermined reliability levels, with ECC algorithms, code sizes, and record locations tailored to specific data types, using an address mapping table to classify and manage data reliability.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If uniform ECC schemes are applied to all data types, then implementation simplicity is maintained, but reliability is insufficient for high-reliability data and resources are wasted on low-reliability data

Engineering Contradiction:
Improvedata reliabilityVSAvoidECC management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies different ECC schemes to different data types based on their reliability requirements. Critical data such as file system metadata and allocation tables use strong ECC schemes with higher correction capabilities, while non-critical user data uses lighter ECC schemes. This local differentiation ensures high reliability for important data without wasting resources on less important data.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent segments data into different categories based on reliability requirements and applies corresponding ECC schemes to each segment. The memory is divided into regions for different data types, and ECC parameters are segmented and configured separately for each region, allowing optimized reliability management across the entire storage system.

Inventive Principle:
Principle #1Segmentation

2Reliability

If strong ECC schemes are applied to all data, then reliability is improved, but storage space is wasted and operation speed decreases for low-reliability data

Engineering Contradiction:
Improvedata reliabilityVSAvoidoperation speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent implements local quality by matching ECC scheme strength to data criticality. High-priority data structures and metadata receive robust ECC protection with comprehensive error correction, while user data and non-critical information use streamlined ECC schemes with faster processing speeds and lower overhead, optimizing overall system productivity.

Inventive Principle:
Principle #3Local quality

3Productivity

If data is classified by reliability requirements, then ECC efficiency is improved, but controller complexity increases

Engineering Contradiction:
ImproveECC management efficiencyVSAvoidcontroller complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent performs preliminary classification of data into reliability categories during the write operation planning phase. The controller pre-determines which ECC scheme to apply based on data type identification, and pre-configures the appropriate ECC parameters before actual data processing begins. This preliminary action simplifies real-time controller operations despite the complexity of managing multiple ECC schemes.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8738987B2Memory controller and memory management method
Publication Date: 2014.05.27 KIOXIA CORP
  • US8738987B2 patent drawing
  • US8738987B2 patent drawing
  • US8738987B2 patent drawing

AI summary

Provided is a memory controller that generates Error Correction Code (ECC) information for data based on a required reliability level predetermined based on a type of the data, that computes an ECC code for the data based on the ECC information, and that records the ECC code in a memory based on the ECC information.