Flash Memory Path Selector for Wear Reduction and Recovery

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvenon-volatile memory lifetimeVSAvoidrandom read/write operation efficiency
Core Design Contradiction:
Duration of action of stationary objectVSProductivity

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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

Engineering Contradiction:
Improvewriting flexibilityVSAvoidnon-volatile memory lifetime
Core Design Contradiction:
Adaptability or versatilityVSDuration of action of stationary object

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #27Cheap short-living objects (Disposable)

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

Engineering Contradiction:
Improvenon-volatile memory lifetimeVSAvoiddata consistency after power loss
Core Design Contradiction:
Duration of action of stationary objectVSReliability

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #23Feedback

4Reliability

If a write log is maintained for recovery purposes, then data consistency after power loss is improved, but system complexity increases

Engineering Contradiction:
Improvedata consistency after power lossVSAvoidrecovery mechanism complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

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.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS7911840B2Logged-based flash memory system and logged-based method for recovering a flash memory system
Publication Date: 2011.03.22 SKYMEDI CORPORATION
  • US7911840B2 patent drawing
  • US7911840B2 patent drawing
  • US7911840B2 patent drawing

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.