Flash Memory Path Selector for Wear Reduction and Recovery
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Flash memory systems face reduced lifetime due to frequent erasing operations, and there is a need for effective recovery after power loss, as they are not optimized for random read/write operations and data written out of sequence or in smaller sizes requires unnecessary block erasure.
Innovation Solution
A flash memory system that incorporates a path selector to determine whether to write data to a non-volatile memory, a volatile memory, or both, reducing erasing operations by using the volatile memory for smaller or out-of-sequence data, and a logged-based method for recovering the system by maintaining records of non-volatile memory status and scanning blocks after power loss to restore consistency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Duration of action of stationary object
If data is written to non-volatile memory using sequential operations only, then the memory lifetime is extended, but random read/write operations become inefficient
Solution Approach 1:
The patent segments the write path into two separate channels: a first write path for sequential writes directly to non-volatile memory blocks, and a second write path for random writes to volatile memory. This segmentation allows each path to be optimized for its specific use case, resolving the contradiction between extending memory lifetime and maintaining random write efficiency.
Solution Approach 2:
Volatile memory acts as an intermediary buffer between the host and non-volatile memory. Random write operations are directed to the volatile memory intermediary, which then periodically consolidates data and writes it sequentially to the non-volatile memory, thereby protecting the non-volatile memory from frequent random write/erase operations while maintaining overall system productivity.
2Adaptability or versatility
If block erasure is performed to write smaller or out-of-sequence data, then writing flexibility is improved, but the number of erasing operations increases and reduces memory lifetime
Solution Approach 1:
The patent segments write operations based on data characteristics: sequential writes go directly to non-volatile memory without erasure, while random/out-of-sequence writes are routed to volatile memory. This segmentation eliminates unnecessary block erasures for small or out-of-sequence data, preserving non-volatile memory lifetime while maintaining writing flexibility through the volatile memory path.
Solution Approach 2:
The patent uses volatile memory as a disposable buffer for random write operations. Instead of erasing expensive non-volatile memory blocks for every random write, the system uses the volatile memory (which is cheaper in terms of wear) as a temporary storage that can be freely written to and then consolidated sequentially to the non-volatile memory.
3Duration of action of stationary object
If volatile memory is used for random data storage, then erasing operations on non-volatile memory are reduced, but data loss risk increases after power loss
Solution Approach 1:
The patent implements preliminary action by maintaining a write log that records all write operations before they are consolidated to the non-volatile memory. This log serves as a preliminary record that can be used for recovery, ensuring that even if power is lost during consolidation, the system can restore data consistency using the log information.
Solution Approach 2:
The patent implements a feedback mechanism through the write log that tracks the state of volatile memory and non-volatile memory blocks. This feedback system enables the recovery process to identify which blocks need to be restored after power loss, ensuring data consistency while allowing the use of volatile memory for random operations.
4Reliability
If a write log is maintained for recovery purposes, then data consistency after power loss is improved, but system complexity increases
Solution Approach 1:
The patent extracts the recovery functionality into a separate, dedicated write log structure that is independent of the main data storage paths. This extraction simplifies the recovery process by providing a clear, separate record of write operations that can be processed systematically without complicating the core write paths.
Data Source
AI summary
A flash memory system includes a path selector to determine to write to a non-volatile memory, a volatile memory or both the non-volatile memory and the volatile memory when the flash memory system is to write data. A record is stored in the non-volatile memory which is updated the status of the non-volatile memory after each one or more writing operations. When the flash memory system is powered on after a power loss, it could be recovered to a command executed prior to the power loss or to any checkpoint prior to the power loss by using the record.


