Memory Device Opportunistic Data Movement Before Pre-Charge

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In memory systems, the delay between receiving a pre-charge command and closing a row is increased due to the need to wait for data to be communicated from a buffer to volatile memory, which can lead to latency issues in accessing subsequent access commands.

Innovation Solution

Implementing opportunistic data movement by proactively communicating dirty data from the buffer to the volatile memory before receiving the pre-charge command, and opportunistically evicting data from the buffer to non-volatile memory to reduce latency and improve access efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If data is communicated from buffer to volatile memory after receiving pre-charge command, then data integrity is maintained, but access latency increases

Engineering Contradiction:
Improvedata integrityVSAvoidaccess latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs data movement from the buffer to volatile memory before receiving the pre-charge command by proactively initiating data transfer operations in advance. This preliminary action allows the data to be ready for immediate access, eliminating the waiting period and reducing latency while maintaining data integrity through proper timing of the transfer operation.

Inventive Principle:
Principle #10Preliminary action

2Speed

If data transfer operations are performed before pre-charge command, then access speed improves, but data completeness may be compromised

Engineering Contradiction:
Improveaccess speedVSAvoiddata completeness
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The system uses feedback mechanisms to monitor the data transfer status and ensures that data transfer operations are completed successfully before proceeding. The controller tracks the transfer progress and only closes the row after confirming data completeness, thus maintaining data integrity while achieving fast access speeds through proactive data movement.

Inventive Principle:
Principle #23Feedback

3Reliability

If row closure is delayed to ensure data transfer completion, then data safety is improved, but subsequent access commands are delayed

Engineering Contradiction:
Improvedata safetyVSAvoidaccess command throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system initiates data transfer operations before the pre-charge command is received, so that data is already transferred and ready when the row needs to be closed. This preliminary action allows the row closure to occur immediately without delaying subsequent access commands, thereby maintaining both data safety and high productivity.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system maintains continuous data transfer operations overlapping with other memory operations. By keeping the data transfer pipeline active and continuous, the system ensures that data is constantly being moved from buffer to volatile memory without idle waiting periods, thus maintaining data safety while maximizing access command throughput and productivity.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS11972145B2Opportunistic data movement
Publication Date: 2024.04.30 MICRON TECHNOLOGY INC
  • US11972145B2 patent drawing
  • US11972145B2 patent drawing
  • US11972145B2 patent drawing

AI summary

Methods, systems, and devices for opportunistic data movement are described. A memory device may include a non-volatile memory and a volatile memory that operates as a cache for the non-volatile memory. The memory device may receive a write command from a host device. The write command may be associated with a row of a bank in a volatile memory. The memory device may write data associated with the write command to a buffer that is associated with the bank and that is coupled with the volatile memory. And the memory device may communicate the data from the buffer to the volatile memory based on the write command and before a pre-charge command for the row of the bank is received from the host device.