Memory Volatility Management via Refresh Rate Reduction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional memory architectures require significant power to refresh volatile memory, leading to increased power consumption and reduced endurance due to frequent write operations, especially in Non-Volatile Memory (NVM) technologies like NAND flash memory.
Innovation Solution
A memory system that uses a combination of volatile and non-volatile memory arrays, where data is initially written to volatile memory for faster write performance and then flushed to non-volatile memory, reducing the refresh rate of volatile memory and conserving power by minimizing the need for continuous power supply.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If data is continuously stored in volatile memory to achieve fast read/write performance, then write speed is improved, but power consumption increases due to continuous refresh requirements
Solution Approach 1:
The memory system is segmented into volatile memory region and non-volatile memory region within the same memory device. The controller manages data placement in either region based on volatility flags, allowing fast writes to volatile regions while persisting data to non-volatile regions to avoid continuous refresh power consumption.
Solution Approach 2:
Instead of continuous refresh of volatile memory, the system uses periodic flushing of data from volatile memory to non-volatile memory based on volatility flags. This converts continuous power consumption into periodic operations, significantly reducing average power usage while maintaining fast write performance.
2Reliability
If data is frequently written to non-volatile memory to ensure data persistence, then data retention is improved, but endurance decreases due to limited write cycles
Solution Approach 1:
Different portions of memory are assigned different volatility characteristics through flags. Data with high persistence requirements is marked as non-volatile and written to non-volatile regions, while temporary data is marked as volatile and stored in volatile regions. This local differentiation optimizes both data retention and endurance by avoiding unnecessary writes to non-volatile memory.
Solution Approach 2:
Volatile memory acts as an intermediary buffer between the processor and non-volatile memory. Data is first written to volatile memory for fast operations, and only flushed to non-volatile memory when persistence is required. This intermediary approach reduces the frequency of writes to non-volatile memory, extending its endurance while maintaining data retention for critical information.
3Speed
If volatile memory is used for fast data access, then read/write performance is improved, but power consumption increases due to refresh requirements
Solution Approach 1:
The memory system dynamically adjusts the volatility classification of data pages based on access patterns and persistence requirements. The controller can change volatility flags during operation, allowing flexible adaptation between volatile and non-volatile storage modes. This dynamic management optimizes the balance between fast access performance and power consumption based on actual workload requirements.
Data Source
AI summary
A Memory Device (MD) for storing temporary data designated for volatile storage by a processor and persistent data designated for non-volatile storage by the processor. An address is associated with a first location in a volatile memory array and with a second location in a Non-Volatile Memory (NVM) array of the MD. Data is written in the first location, and flushed from the first location to the second location. A refresh rate for the first location is reduced after flushing the data from the first location until after data is written again to the first location. In another aspect, a processor designates a memory page in a virtual memory space as volatile or non-volatile based on data allocated to the memory page, and defines the volatility mode for the MD based on whether the memory page is designated as volatile or non-volatile.


