Memory Arbitration Unit for Concurrent Scrubbing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional memory devices in harsh environments suffer from high soft error rates due to cosmic ray interactions, which are exacerbated by passive error correction methods that consume device bandwidth and increase design complexity, as they require user-initiated data verification and correction, leading to potential uncorrectable errors.

Innovation Solution

Implementing an arbitration unit for concurrent processing of primary and secondary requests within the memory device, utilizing a secondary data bus for background activities like active data scrubbing, and dynamically tracking recently scrubbed locations to avoid conflicts and reduce the need for large scratchpad memory, thus hiding memory scrub cycles from the end user.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If active error correction (data scrubbing) is implemented in the memory device, then data integrity is improved, but device bandwidth is consumed and design complexity increases

Engineering Contradiction:
Improvedata integrityVSAvoiddevice bandwidth
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The memory device is segmented into primary interface logic for user accesses and secondary interface logic for background scrubbing operations. This segmentation allows independent handling of user data and scrubbing operations, enabling concurrent execution without interference, thus maintaining full bandwidth availability to users while performing error correction in the background.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

An arbitration unit acts as an intermediary between primary and secondary interface logic. It receives requests from both interfaces, determines conflicts using location awareness, and resolves them by directing requests to appropriate time slots or banks. This mediator enables seamless coordination, ensuring scrubbing operations proceed without blocking user accesses and vice versa.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If active error correction is implemented, then data integrity is improved, but design complexity of the memory interface increases

Engineering Contradiction:
Improvedata integrityVSAvoidmemory interface design complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The memory interface is divided into distinct primary and secondary interface logic components. Each component is independently designed with specific responsibilities: primary interface handles user requests while secondary interface manages scrubbing operations. This modular segmentation reduces overall design complexity by allowing independent optimization and simplifies integration through clear interface definitions.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The secondary interface logic is designed to be multi-functional, handling both scrubbing operations and serving as a model for future memory refresh implementations. This universal design approach reduces overall system complexity by consolidating control logic and allowing the same infrastructure to support multiple background maintenance functions.

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

3Productivity

If conventional passive error correction is used, then device bandwidth is preserved, but data integrity deteriorates as errors accumulate

Engineering Contradiction:
Improvedevice bandwidthVSAvoiddata integrity
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system performs preliminary error detection and correction actions through continuous background scrubbing operations before errors can accumulate to uncorrectable levels. By proactively monitoring and correcting single-bit errors during normal operation, the system maintains data integrity without requiring user intervention or bandwidth consumption for error handling.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

Error correction is made continuous through the secondary interface logic that constantly performs scrubbing operations in the background. This continuous action ensures errors are detected and corrected as they occur, maintaining persistent data integrity protection while the memory operates normally, unlike periodic or on-demand correction approaches.

Inventive Principle:
Principle #20Continuity of useful action

4Productivity

If location-aware arbitration is implemented, then bandwidth availability is improved, but chip area overhead increases

Engineering Contradiction:
Improvebandwidth availabilityVSAvoidchip area overhead
Core Design Contradiction:
ProductivityVSArea of stationary object

Solution Approach 1:

The arbitration unit implements location awareness selectively rather than completely tracking all memory locations. It focuses on identifying and resolving conflicts between primary and secondary requests when they occur, using partial location tracking and conflict detection logic. This partial action approach provides sufficient arbitration capability while minimizing the area overhead of comprehensive location tracking circuits.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS9519442B2Method for concurrent system management and error detection and correction requests in integrated circuits through location aware avoidance logic
Publication Date: 2016.12.13 FRONTGRADE COLORADO SPRINGS LLC
  • US9519442B2 patent drawing
  • US9519442B2 patent drawing
  • US9519442B2 patent drawing

AI summary

A method of incorporating active error correction inside a memory device is used, whereby memory scrub cycles can be completely hidden from an end user. The method simplifies the design of the memory interface and simplifies the data integrity management unit for the end user. An arbitration unit is implemented to allow concurrent processing of primary (user) and secondary (scrub) requests. The arbitration unit is location aware in context to the primary interface and is responsible for eliminating overlapping memory requests.