Memory Device Opportunistic Data Movement Before Pre-Charge
Find Innovative SolutionsGenerate 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
Engineering 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
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.
2Speed
If data transfer operations are performed before pre-charge command, then access speed improves, but data completeness may be compromised
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.
3Reliability
If row closure is delayed to ensure data transfer completion, then data safety is improved, but subsequent access commands are delayed
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.
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.
Data Source
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.


