Flash Storage Read-Threshold Tables for Low-Latency Data Retrieval

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current storage systems face performance degradation due to increased read latency caused by the need for error correction mechanisms when retrieving data from solid-state storage, as they often fail to retrieve error-free data efficiently.

Innovation Solution

Dynamic modification of read threshold values based on P/E cycle values, retention times, and page numbers to optimize data retrieval, allowing for more error-free data retrieval without the need for error correction mechanisms, thereby enhancing system performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If error correction mechanisms (ECC/RAID) are used to retrieve data from solid-state storage, then data reliability is improved, but read latency increases

Engineering Contradiction:
Improvedata retrieval reliabilityVSAvoidread latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by pre-calculating and storing optimal read threshold values in a read-threshold table before data retrieval operations. The system determines appropriate read thresholds based on program/erase cycle counts and page locations in advance, so that when data needs to be read, the correct threshold is already available, eliminating the need for error correction mechanisms and reducing read latency

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent changes the read threshold parameter dynamically based on the program/erase cycle count and page location. By adjusting the read threshold voltage according to these parameters, the system optimizes data retrieval for different storage conditions, achieving reliable data reading without requiring error correction mechanisms

Inventive Principle:
Principle #35Parameter changes

2Measurement precision

If dynamic read threshold modification is implemented based on P/E cycles and retention time, then data retrieval accuracy is improved, but system complexity increases

Engineering Contradiction:
Improvedata retrieval accuracyVSAvoidsystem complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The system performs preliminary calculations to determine optimal read thresholds based on program/erase cycle counts and page locations, storing these values in a read-threshold table. This pre-computation approach simplifies the actual data retrieval process while maintaining high accuracy, as the complex threshold determination is done in advance rather than in real-time

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces a read-threshold table as an intermediary data structure that stores pre-calculated threshold values. This table acts as a mediator between the storage medium and the read operation, simplifying the interface and reducing the complexity of dynamic threshold adjustment by providing ready-to-use threshold values

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentEP3002671B1Method and system for improving flash storage utilization using read-threshold tables
Publication Date: 2021.12.15 DELL EMC
  • EP3002671B1 patent drawingFigure 1A~1B
  • EP3002671B1 patent drawingFigure 1C
  • EP3002671B1 patent drawingFigure 2

AI summary

A method for reading data from persistent storage. The method includes : receiving (500) a client read request that includes a logical address for data from a client; determining (502) a physical address using the logical address where the physical address includes a page number for a physical page in the persistent storage; determining (504) a retention time for the data, determining (506) a program/erase (P/E) cycle value associated with the physical page; obtaining (508) at least one read threshold value using the P/E cycle value, the retention time, and the page number; issuing (510) a control module read request including the at least one read threshold value to a storage module that includes the physical page; and obtaining the data from the physical page using the at least one read threshold value.