Segmented ECC Engine for Tag Bit Latency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing memory devices face inefficiencies in error correction code (ECC) operations for managing address access information, particularly due to the size and location of ECC engines, which impact latency and efficiency when protecting metadata bits like dirty bits.

Innovation Solution

Implementing a separate, smaller ECC engine dedicated to tag bits, such as dirty bits, closer to the memory array to improve operating speed and reduce latency, rather than using a single ECC engine for both data and tag bits.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If a single ECC engine is used for both data and tag bits, then device complexity is reduced, but operating speed and latency for tag bit ECC operations deteriorate

Engineering Contradiction:
ImproveECC engine configurationVSAvoidtag bit ECC operation speed
Core Design Contradiction:
Device complexityVSSpeed

Solution Approach 1:

The ECC engine is segmented into two separate units: a first ECC engine dedicated to data bits and a second ECC engine dedicated to tag bits. This segmentation allows each engine to be optimized for its specific function, with the second engine being smaller and faster for tag bit operations, thereby resolving the contradiction between device complexity and operating speed.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The second ECC engine for tag bits is positioned locally closer to the memory array, while the first ECC engine for data bits is positioned elsewhere in the system. This local quality principle places the tag bit ECC engine in the most favorable position for its operation, reducing latency and improving speed without requiring a complex distributed architecture throughout the entire system.

Inventive Principle:
Principle #3Local quality

2Ease of manufacture

If a single ECC engine is used for both data and tag bits, then manufacturing simplicity is improved, but latency for tag bit operations increases

Engineering Contradiction:
ImproveECC engine implementationVSAvoidtag bit ECC latency
Core Design Contradiction:
Ease of manufactureVSLoss of time

Solution Approach 1:

By segmenting the ECC functionality into separate engines for data and tag bits, the system reduces the time required for tag bit ECC operations. The second engine is specifically designed and positioned to minimize latency for tag bit operations, achieving low latency without significantly complicating the manufacturing process.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Positioning the second ECC engine locally near the memory array reduces the physical distance and time for tag bit ECC operations. This local placement optimizes the timing characteristics for tag bit operations while maintaining a relatively simple overall manufacturing approach.

Inventive Principle:
Principle #3Local quality

3Speed

If a separate smaller ECC engine is used for tag bits closer to the memory array, then operating speed and latency for tag bits are improved, but device complexity increases

Engineering Contradiction:
Improvetag bit ECC operation speedVSAvoidECC engine architecture
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The ECC functionality is segmented into two engines with different sizes and positions. The second engine for tag bits is smaller and positioned closer to the memory array, providing fast operation for tag bits. This segmentation creates a specialized fast path for tag bit operations without requiring a completely complex distributed ECC architecture throughout the system.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The second ECC engine is placed locally near the memory array where tag bits are stored, creating a localized optimization for tag bit operations. This local quality approach improves speed and reduces latency for tag bits without requiring global architectural changes across the entire memory system.

Inventive Principle:
Principle #3Local quality

4Loss of time

If a separate smaller ECC engine is used for tag bits closer to the memory array, then latency for tag bit operations is reduced, but manufacturing complexity increases

Engineering Contradiction:
Improvetag bit ECC latencyVSAvoidECC engine fabrication
Core Design Contradiction:
Loss of timeVSEase of manufacture

Solution Approach 1:

The ECC functionality is segmented into two separate engines that can be manufactured as distinct modules. The second engine for tag bits is smaller and can be fabricated with simpler processes, reducing latency for tag bit operations while maintaining reasonable manufacturing simplicity through modular design.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The second ECC engine is positioned locally near the memory array to minimize latency for tag bit operations. This local placement optimizes timing characteristics without requiring complex long-distance interconnections, thereby maintaining ease of manufacture while achieving low latency.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS20240302998A1Managing address access information
Publication Date: 2024.09.12 MICRON TECHNOLOGY INC
  • US20240302998A1 patent drawing
  • US20240302998A1 patent drawing
  • US20240302998A1 patent drawing

AI summary

Methods, systems, and devices for managing address access information are described. A device may receive a command for an address of a memory array. Based on or in response to the command, the device may read a first set of tag bits from the memory array. The first set of tag bits may indicate access information for a set of addresses that includes the address. The device may determine a second set of tag bits based on the command and the address. The second set of tag bits may indicate updated access information for the address. The device may generate a codeword based on the first set of tag bits and the second set of tag bits and may store the codeword in the memory array.