Memory Buffer Cache Handling Busy Memory Operations

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current DDR memory interfaces have strict timing requirements, limiting the ability of memory modules to perform non-standard operations without generating potential memory errors or failures, as they cannot handle operations that take longer than a few nanoseconds.

Innovation Solution

A memory buffer module with a cache and register is implemented to enable concurrent memory module responses during non-standard operations, allowing the memory module to continue operating by servicing requests from the cache or returning a predetermined data pattern when data is not available, thus avoiding errors.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If the memory module performs non-standard operations (e.g., data migration, compression), then the functionality and versatility of the memory system is improved, but the timing requirements of DDR interfaces cannot be met, causing potential memory errors or failures

Engineering Contradiction:
Improvememory operation typesVSAvoidmemory operation reliability
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

A buffer module is introduced as an intermediary component between the memory devices and the memory interface. The buffer module includes a cache that can store data temporarily, allowing the memory interface to respond to read requests within the required timing constraints even when memory devices are busy performing non-standard operations. The buffer module acts as a mediator that decouples the timing requirements of the interface from the longer-duration operations of the memory devices.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The buffer module performs preliminary actions by pre-fetching data into the cache before the memory interface needs to respond. When a read request comes in, the buffer module can immediately serve data from the cache if it's already there, without waiting for the memory devices to complete their non-standard operations. This preliminary preparation of data in the cache ensures timing requirements are met.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If the memory module waits for non-standard operations to complete before responding, then data accuracy is maintained, but the response time exceeds DDR timing requirements, triggering non-maskable interrupts

Engineering Contradiction:
Improvedata accuracyVSAvoidmemory response time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The buffer module serves as an intermediary that can immediately respond to read requests using data from its cache, without waiting for the memory devices to complete non-standard operations. The buffer module includes logic to determine whether to return cached data or wait for memory device completion, thereby maintaining data accuracy while meeting timing requirements.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system dynamically adjusts its response strategy based on the state of the cache and the status of memory operations. When data is available in the cache, the buffer module immediately returns it; when data is not in the cache, it waits for the memory device operation to complete. This dynamic behavior allows the system to meet timing requirements when possible while ensuring data accuracy when necessary.

Inventive Principle:
Principle #15Dynamics

3Stability of the object's composition

If the memory interface strictly adheres to DDR timing requirements, then system stability is maintained, but the ability to perform longer-duration non-standard operations is lost

Engineering Contradiction:
Improvesystem stabilityVSAvoidnon-standard operation capability
Core Design Contradiction:
Stability of the object's compositionVSAdaptability or versatility

Solution Approach 1:

The memory system is segmented into multiple components with different functions: memory devices for storing data and performing operations, a buffer module for temporary data storage and request handling, and a memory interface for communicating with the processor. This segmentation allows each component to operate independently at its own pace, enabling the memory devices to perform non-standard operations while the buffer module maintains timing compliance for interface responses.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The buffer module acts as a mediator that absorbs the timing discrepancy between the memory interface's strict requirements and the memory devices' longer-duration operations. It maintains system stability by ensuring the interface always receives responses within timing constraints, while simultaneously enabling non-standard operations by allowing memory devices to take their time completing operations.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10402324B2Memory access for busy memory by receiving data from cache during said busy period and verifying said data utilizing cache hit bit or cache miss bit
Publication Date: 2019.09.03 HEWLETT PACKARD ENTERPRISE DEV LP
  • US10402324B2 patent drawing
  • US10402324B2 patent drawing
  • US10402324B2 patent drawing

AI summary

According to an example, a processor generates a memory access request and sends the memory access request to a memory module. The processor receives data from the memory module in response to the memory access request when a memory device in the memory module for the memory access request is busy and unable to execute the memory access request.