Flash Memory Allocation via Frequency Distribution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Flash memory devices face reliability and efficiency issues due to the need for frequent erase operations, which lead to cycle endurance limitations, causing premature failure, especially when certain addresses are written to more frequently than others.

Innovation Solution

A system and method for frequency distributed flash memory allocation, where system addresses are assigned physical page addresses based on their write frequency and the erase cycle state of data blocks, distributing writes across the media to minimize erase operations and extend cycle endurance by grouping data blocks into pools with similar erase cycle states.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If a one-to-one relationship between logical address and physical address is used, then address lookup is simple and fast, but certain physical locations undergo frequent erase-program cycles leading to premature failure

Engineering Contradiction:
Improveaddress lookup speedVSAvoiddevice reliability
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The patent introduces a translation layer (translation table or mapping structure) between the logical address space and physical address space. This intermediary mechanism allows the system to maintain simple logical addressing while distributing physical write operations across multiple locations, thereby preventing any single physical location from being overwritten repeatedly and extending device reliability.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If frequent write operations are performed to a specific address, then data is updated efficiently, but the erase-program cycle limit is reached prematurely causing device failure

Engineering Contradiction:
Improvedata update efficiencyVSAvoidcycle endurance
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent segments the physical address space into multiple regions or zones. When a logical address is updated frequently, the translation mechanism distributes these updates across different physical segments rather than concentrating them at a single location. This segmentation allows the system to maintain high data update efficiency while preventing any single physical segment from exhausting its erase-program cycle limit.

Inventive Principle:
Principle #1Segmentation

3Ease of manufacture

If data is written to flash memory requiring initialization, then the write operation can proceed, but the initialization process increases latency and reduces write efficiency

Engineering Contradiction:
Improvewrite operation feasibilityVSAvoidinitialization latency
Core Design Contradiction:
Ease of manufactureVSLoss of time

Solution Approach 1:

The patent employs a preliminary action strategy by pre-managing the allocation and initialization state of physical pages through the translation mechanism. Before write operations occur, the system can identify and allocate pre-initialized physical pages to logical addresses that require frequent updates. This preliminary preparation reduces or eliminates the need for initialization during the actual write operation, thereby maintaining write operation feasibility while significantly reducing initialization latency.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8656083B2Frequency distributed flash memory allocation based on free page tables
Publication Date: 2014.02.18 SPANSION LLC
  • US8656083B2 patent drawing
  • US8656083B2 patent drawing
  • US8656083B2 patent drawing

AI summary

Systems and/or methods that provide for frequency distributed flash memory allocation are disclosed. The systems and methods determine the rate at which a system address is being written and the current erase cycle state of each data block in the non-volatile memory device and assigns a physical address to the write operation based on the determined system address rate and the current erase state of each data block in the non-volatile system. In this regard, system addresses that are assigned more frequently are assigned physical page addresses from data blocks which have a low erase cycle state (i.e., greater cycle endurance remaining) and system addresses that assigned less frequently are assigned physical page addresses from data blocks which have a high erase cycle state (i.e., lesser cycle endurance remaining). The result is a more robust non-volatile device having increased erase/initialization cycle endurance, which adds to the overall reliability of the device over time.