Flash Storage Utilization via Proactive Bad M-Page Prediction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Storage systems face increased read latency and performance degradation due to the need for error correction mechanisms when retrieving data with bit errors, as they often fail to proactively identify pages likely to fail, leading to unnecessary invocation of error correction mechanisms.
Innovation Solution
The method involves proactively identifying pages in solid-state storage by determining a bit error value (BEV) threshold based on program/erase cycle values and retention time, marking pages with high likelihood of failure as non-allocatable to prevent error correction mechanism invocation, thereby reducing the need for error correction and lowering read latency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If error correction mechanisms (ECC/RAID) are used to retrieve error-free data, then data reliability is improved, but read latency increases
Solution Approach 1:
The system performs preliminary actions by proactively reading pages and calculating BEV values before actual data retrieval operations. Pages are pre-identified as good or bad based on BEV thresholds, so that when read requests arrive, the system already knows which pages require error correction and can prepare accordingly, reducing actual read latency
Solution Approach 2:
The system applies preliminary anti-action by proactively identifying and marking bad pages before they cause read failures. By setting BEV thresholds and preemptively identifying pages exceeding these thresholds, the system prevents the harmful effect of unexpected read errors and subsequent error correction overhead during normal operations
2Loss of time
If proactive read requests are issued to identify bad pages, then read latency is reduced by avoiding error correction, but system complexity increases
Solution Approach 1:
The system segments the storage space into good pages and bad pages based on BEV values. By dividing pages into allocatable (good) and non-allocatable (bad) categories, the system simplifies the management of error-prone regions and enables targeted handling without complicating the overall storage architecture
Solution Approach 2:
The system implements self-service by automatically monitoring BEV values and identifying bad pages without external intervention. The storage system autonomously performs proactive reads, calculates BEV, compares against thresholds, and marks pages as non-allocatable, reducing the need for complex external error management mechanisms
3Reliability
If BEV threshold is set low to identify more bad pages, then data reliability is improved, but storage utilization decreases
Solution Approach 1:
The system applies dynamics by making the BEV threshold adjustable rather than fixed. The threshold can be dynamically modified based on operational conditions, error patterns, and storage policies, allowing the system to optimize between reliability and utilization by raising thresholds when utilization is critical or lowering them when reliability is paramount
Data Source
AI summary
A method for managing persistent storage. The method includes selecting a page for a proactive read request, where the page is located in the persistent storage. The method further includes issuing the proactive read request to the page, receiving, in response to the proactive read request, a bit error value (BEV) for data stored on the page, obtaining a BEV threshold (T) for the page, wherein T is determined using a program/erase cycle value associated with the page and a retention time of the data stored on the page, making a first determination that the BEV is greater than T, based on the first determination: identifying an m-page, where the m-page is a set of pages and the page is in the set of pages, and setting the m-page as non-allocatable for future operations.


