Solid-State Memory Refresh via Validity Bit Arrays
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Non-volatile solid-state memory experiences data errors due to electron leakage from floating gates over time, leading to bit errors if not regularly refreshed.
Innovation Solution
Implementing refresh copy operations using data structures such as validity bit arrays and least recently used lists to identify and reprogram memory blocks, ensuring data integrity by periodically refreshing data stored in solid-state memory.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Duration of action of stationary object
If data is stored in solid-state memory for long periods, then storage capacity is utilized, but electron leakage causes bit errors
Solution Approach 1:
The patent implements periodic refresh operations where data is periodically copied from source blocks to target blocks at predetermined intervals. This periodic action prevents electron leakage from causing bit errors by regularly reprogramming the floating gates before significant leakage occurs, thus maintaining data integrity over extended storage periods
Solution Approach 2:
The system performs preliminary actions by copying data before significant electron leakage occurs. The refresh operation proactively reprograms data onto target blocks before the source block's electrons leak sufficiently to cause errors, preventing data corruption rather than correcting it after the fact
2Reliability
If refresh operations are performed on all memory blocks, then data integrity is maintained, but system performance and productivity decrease
Solution Approach 1:
The patent divides the memory space into multiple pools of blocks organized in a circular arrangement with source blocks and target blocks. This segmentation allows the system to operate on specific segments (source and target pools) rather than all blocks simultaneously, reducing the overhead impact on system performance while maintaining data integrity for refreshed data
Solution Approach 2:
The system performs partial refresh operations by selectively copying data from source blocks to target blocks based on validity bits and pool configuration, rather than refreshing all blocks in the memory. This partial action maintains data integrity for critical data while minimizing the performance impact on the overall system
3Productivity
If validity bit arrays and data structures are implemented to track memory blocks, then refresh operations are optimized, but device complexity increases
Solution Approach 1:
The patent uses validity bit arrays that are copied between source and target pools to track which blocks contain valid data. This copying mechanism allows the system to efficiently identify which blocks need refresh operations without complex data structures, as the validity bits are simply replicated and updated based on the circular pool configuration
Solution Approach 2:
The validity bit arrays automatically track the state of memory blocks through the refresh process itself. As data is copied from source to target blocks, the validity bits are updated to reflect which blocks contain valid data, eliminating the need for separate tracking mechanisms and reducing overall system complexity
Data Source
AI summary
Systems and methods for retaining data in non-volatile solid-state are disclosed in which refresh copy operations are performed on data stored in non-volatile solid-state memory. A controller can comprise a data retention module configured to issue copy commands within different periods of time, and to maintain usage data on a storage subsystem. A refresh copy operation helps ensure that data written to memory retain integrity by causing data to be programmed again onto the memory, which minimizes the risk of data error caused by electron leak in the non-volatile solid-state memory. One or more data structures may be used to determine memory blocks that require refresh copy operations. In one embodiment, a validity bit array is used to track blocks that contain valid data. In another embodiment, a least recently used list is used to track blocks that have been least recently written.


