Flash Storage Pre-Erase Prediction for Sequential Write Performance

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In storage systems, especially those using flash memory, pre-erasing blocks prior to writing data can lead to program failure errors due to erase bake data retention issues, particularly when blocks remain empty for extended periods, affecting sequential write performance.

Innovation Solution

A prediction-based approach where a controller anticipates sequential write commands and pre-erases blocks using machine-learning or command-queue-based methods, ensuring blocks are ready for use without incurring program failures, thereby improving sequential performance by avoiding foreground erase operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If blocks are pre-erased prior to writing data, then sequential write performance is improved, but program failure errors occur due to erase bake data retention issues

Engineering Contradiction:
Improvesequential write performanceVSAvoidprogram failure rate
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system performs preliminary erasure actions on memory blocks before sequential write commands are received. The controller predicts upcoming write operations and pre-erases required blocks in advance, so that when writes arrive, the blocks are already ready for programming without requiring foreground erase operations during the write sequence.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system uses machine learning models to analyze host write patterns and predict future write operations. The controller continuously monitors command queues and write behavior, feeding this information back to the prediction model to improve accuracy over time, enabling more precise pre-erasure timing that avoids both premature erasure and last-minute erasure during writes.

Inventive Principle:
Principle #23Feedback

2Reliability

If blocks are erased just before writing data, then program failure errors are avoided, but sequential performance deteriorates due to foreground erase operations

Engineering Contradiction:
Improveprogram success rateVSAvoidsequential write performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system moves the erasure operation from the foreground (just before writing) to the background (in advance of writing). By predicting write commands and pre-erasing blocks during idle periods or in parallel with other operations, the system ensures blocks are ready before writes begin, eliminating foreground erase delays while maintaining program success rates.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system maintains continuous write operations by ensuring blocks are pre-prepared in advance. Instead of interrupting the write sequence for erasure operations, the controller continuously receives writes to pre-erased blocks, maintaining uninterrupted data flow and maximizing sequential write throughput.

Inventive Principle:
Principle #20Continuity of useful action

3Loss of energy

If machine learning prediction is used for pre-erasure, then unnecessary erase operations are reduced, but system complexity increases

Engineering Contradiction:
Improveunnecessary erase operationsVSAvoidprediction system complexity
Core Design Contradiction:
Loss of energyVSDevice complexity

Solution Approach 1:

The machine learning model operates autonomously by continuously learning from observed host write patterns without requiring external intervention or complex configuration. The system self-adjusts its predictions based on accumulated data, automatically optimizing pre-erasure timing while reducing unnecessary erase operations on blocks that won't be written to soon.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS20230090319A1Storage System and Method for Prediction-Based Pre-Erase of Blocks to Improve Sequential Performance
Publication Date: 2023.03.23 SANDISK TECHNOLOGIES LLC
  • US20230090319A1 patent drawing
  • US20230090319A1 patent drawing
  • US20230090319A1 patent drawing

AI summary

A storage system erases blocks of memory prior to writing data to the blocks. Instead of erasing the blocks at the time the write operations are executed, the storage system pre-erases the blocks, which can improve performance. However, because program failure errors can occur if the blocks sit empty for a relatively-long period of time prior to programming, the storage system pre-erases the blocks upon a prediction that a host will send sequential write commands to the storage system that will use the blocks. Additionally or alternatively, the storage system can pre-erase a block upon determining that the number of write commands in a command queue in the storage system is above a threshold that represents a number of write commands needed to fill the block with data.