FPGA Memory Controller Data Paths for Selective Dual-ECC Reliability

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing memory systems face challenges in prolonging the lifespan of flash memory devices and ensuring reliable data storage and retrieval, particularly in determining the appropriate data processing paths for write and read operations to optimize error correction and data security.

Innovation Solution

A memory system comprising a memory controller with a first data processor and a field programmable gate array (FPGA) with a second data processor, which selectively configures normal or highly reliable data paths based on write or read requests, utilizing error correction code (ECC) engines for enhanced data processing and security.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If a normal data path is used for write operations, then processing speed is improved, but data reliability deteriorates

Engineering Contradiction:
Improvewrite operation speedVSAvoiddata reliability
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The system dynamically switches between normal and highly reliable data paths based on the type of write operation. The memory controller selectively configures the data path: using the normal path (direct connection) for standard writes to maintain speed, and switching to the highly reliable path (through FPGA with dual ECC) for important data to ensure reliability. This dynamic adaptation resolves the contradiction by allowing both fast and reliable operation modes.

Inventive Principle:
Principle #15Dynamics

2Reliability

If a highly reliable data path with dual ECC is used, then data reliability is improved, but processing complexity increases

Engineering Contradiction:
Improvedata reliabilityVSAvoiddata path complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system segments the data path into two distinct routes: a normal path for standard operations and a highly reliable path through the FPGA for critical data. By dividing the data processing functionality into separate segments with different reliability levels, the system achieves high reliability when needed without forcing complexity onto all operations. The segmentation allows the complex dual-ECC path to be used selectively rather than universally.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The FPGA acts as an intermediary component that provides enhanced error correction capabilities when required. Rather than making all data paths complex, the FPGA serves as a mediating element that can be inserted into the data path selectively for highly reliable operations. This intermediary approach allows the system to maintain simple normal paths while providing complex reliable processing only when needed.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If dual ECC encoding is applied to all write operations, then error correction capability is improved, but processing time increases

Engineering Contradiction:
Improveerror correction capabilityVSAvoidprocessing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

Instead of applying dual ECC encoding to all write operations (excessive action), the system applies it only to partially selected operations that require high reliability. The memory controller determines which writes need enhanced protection and routes only those through the FPGA's dual ECC path, while other writes use the normal single-ECC path. This partial application of the complex error correction avoids unnecessary processing time overhead.

Inventive Principle:
Principle #16Partial or excessive action

4Adaptability or versatility

If flexible data path configuration is implemented, then adaptability is improved, but system complexity increases

Engineering Contradiction:
Improvedata path adaptabilityVSAvoidsystem complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The memory controller is designed with multi-functionality to handle both normal and highly reliable write operations, and to selectively configure data paths based on operation type. This universal controller can adapt its behavior and routing decisions without requiring separate dedicated controllers for each operation type. The FPGA also provides multi-functional error correction capabilities that serve both standard and enhanced reliability requirements, reducing overall system complexity while maintaining flexibility.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS11669395B2Memory system including field programmable gate array (FPGA) and method of operating same
Publication Date: 2023.06.06 SAMSUNG ELECTRONICS CO LTD
  • US11669395B2 patent drawing
  • US11669395B2 patent drawing
  • US11669395B2 patent drawing

AI summary

A memory system includes; a memory device, a memory controller including a first interface, a second interface, and a first data processor having a first error correction code (ECC) engine, and a field programmable gate array (FPGA) including a third interface connected to the first interface, a fourth interface connected to the second interface, a fifth interface connected to an external host, and a second data processor having a second ECC engine. The memory controller may configure a normal write operation path or highly reliable write operation path.