Flash Memory Controller Cache Flush Delay Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Flash memory storage systems experience delays when flushing data from cache memory due to the time required to write large quantities of data into physical units, which can exceed acceptable processing times, leading to performance issues.

Innovation Solution

A data management method and controller that temporarily store data in cache memory and determine if the time to write this data into flash memory exceeds an upper limit processing time, proactively writing a portion of the data into physical units when this threshold is reached, thereby avoiding delays.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If a cache memory is allocated to temporarily store writing data, then the writing speed is improved, but the time required to flush data from cache memory to physical units increases

Engineering Contradiction:
Improvewriting speedVSAvoidflushing time
Core Design Contradiction:
SpeedVSLoss of time

Solution Approach 1:

The system proactively determines whether the time required to write data from cache memory to physical units exceeds an upper limit processing time, and if so, writes a portion of the data in advance before the host issues a flush command. This preliminary action prevents the flushing delay by ensuring data is transferred to physical units within acceptable time limits.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If a great quantity of data is temporarily stored in the cache memory, then the writing performance is improved, but the flushing operation takes a very long time

Engineering Contradiction:
Improvewriting performanceVSAvoidflushing time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system continuously monitors the amount of data stored in cache memory and determines whether flushing this data would exceed the upper limit processing time. This feedback mechanism allows the system to proactively manage cache data by writing portions to physical units before the host issues a flush command, thereby maintaining writing performance while avoiding flushing delays.

Inventive Principle:
Principle #23Feedback

3Loss of time

If data is written directly into physical units without cache memory, then the flushing time is reduced, but the writing speed decreases

Engineering Contradiction:
Improveflushing timeVSAvoidwriting speed
Core Design Contradiction:
Loss of timeVSSpeed

Solution Approach 1:

The system uses cache memory to temporarily store writing data at high speed, then proactively determines whether the time required to write this data to physical units exceeds an upper limit. When the limit would be exceeded, the system writes a portion of the data in advance, ensuring that flushing operations complete within acceptable time limits while maintaining high writing speed through cache memory.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8296504B2Data management method and flash memory storage system and controller using the same
Publication Date: 2012.10.23 PHISON ELECTRONICS
  • US8296504B2 patent drawing
  • US8296504B2 patent drawing
  • US8296504B2 patent drawing

AI summary

A data management method for a flash memory storage system having a cache memory is provided. The data management method includes writing data into a flash memory when a write command is executed, and determining currently a state of all the writing data which is temporarily stored in the cache memory. Wherein, if the state indicates that a time for writing all the writing data temporarily stored in the cache memory into a flash memory may exceed an upper limit processing time, a portion of the writing data temporarily stored in the cache memory is first written into the flash memory. Accordingly, the data management method may effectively avoid a delay caused by a flush command issued from the host for flushing the cache memory.