Flash Memory Read Threshold Optimization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Non-volatile memory devices, such as SSDs, face challenges in maintaining high hard-read ECC performance due to the reliance on a single default read threshold, which can lead to premature degradation and reduced lifespan when soft-reads are frequently triggered, causing customers to replace the drive.
Innovation Solution
Implementing a hard-read threshold optimization technique by determining optimal block and cluster read thresholds based on memory block status parameters, clustering memory blocks, and using a look-up table to select the appropriate read threshold for each cluster, thereby reducing overhead and improving ECC performance.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If a single default read threshold is used for all memory blocks, then device complexity is reduced, but hard-read ECC performance deteriorates due to inability to adapt to varying block conditions
Solution Approach 1:
The patent applies local quality by determining individual optimal read thresholds for each memory block based on its specific characteristics (program/erase cycle count, wear level). Instead of using a uniform default threshold for all blocks, the system tailors the read threshold to match the actual condition of each block, thereby improving ECC performance without requiring complex real-time adjustment mechanisms.
Solution Approach 2:
The system performs preliminary characterization of each memory block during manufacturing or initial operations to determine its optimal read threshold. This preliminary action stores the characterized threshold information for later use, avoiding the need for complex runtime analysis while still achieving block-specific optimization.
2Reliability
If soft-read is triggered frequently to improve error correction, then hard-read ECC performance improves, but device lifespan reduces due to increased wear and premature degradation
Solution Approach 1:
The patent changes the read threshold parameter dynamically based on memory block conditions. By adjusting the read threshold to match each block's actual characteristics (program/erase cycle count, wear level), the system achieves optimal hard-read ECC performance without requiring frequent soft-reads, thereby preserving SSD lifespan.
3Reliability
If individual optimal read thresholds are determined for each memory block, then hard-read ECC performance improves, but device complexity increases due to tracking and managing multiple thresholds
Solution Approach 1:
The system performs preliminary characterization of each memory block during manufacturing or initial operations to determine its optimal read threshold. This preliminary action stores the characterized threshold information for later use, avoiding the need for complex runtime analysis while still achieving block-specific optimization.
Solution Approach 2:
The patent uses a lookup table that stores pre-determined optimal read thresholds for different block conditions. Instead of calculating optimal thresholds in real-time, the system copies pre-computed threshold values from the lookup table based on the block's characteristics, significantly reducing management overhead while maintaining optimization benefits.
Data Source
AI summary
A memory device includes a plurality of memory blocks, each block with multiple memory cells. Each memory block has an address and a block read threshold. The plurality of memory blocks is partitioned into clusters based on block read thresholds. The memory device also has a look-up table for storing information associating each cluster of memory blocks with a corresponding cluster read threshold. The look-up table further includes cluster boundaries defined in values of device status parameters. The memory device is configured to receive a read command to read a memory block with a read address and identify a cluster for the memory block with the read address. The memory device is also configured to select a cluster read threshold for the identified cluster from the look-up table, and use the selected cluster read threshold to perform a read operation of the memory block.


