Two-Stage Dirty Block Inspection for Memory Restart
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Ungraceful shutdowns in semiconductor memory devices, caused by power disruptions, result in 'dirty blocks' with unknown last good pages, leading to increased computational overhead and startup delays during restart, as existing methods require extensive page inspection to identify the last good page.
Innovation Solution
A two-stage inspection method is implemented, where a coarse inspection with a small byte count is followed by a fine inspection with a larger byte count to validate the last good page, minimizing data transfer and computational complexity.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the controller inspects all pages of a dirty block to find the last good page, then the reliability of identifying the last good page is improved, but the startup time and computational overhead increase significantly
Solution Approach 1:
The inspection process is divided into two segments: a coarse inspection phase that quickly identifies candidate last good pages by checking only essential status bits, and a fine inspection phase that validates the candidate with more thorough page content verification. This segmentation reduces the average inspection scope while maintaining reliability through staged verification.
Solution Approach 2:
The coarse inspection performs preliminary filtering of pages to identify candidate last good pages before the fine inspection validates them. By pre-screening pages based on minimal criteria (status register checks), the system narrows down the inspection scope early, reducing the overall time required while ensuring the final candidate is reliable.
2Measurement precision
If the controller performs thorough page inspection to accurately identify the last good page, then the measurement precision is improved, but the computational overhead and power consumption increase
Solution Approach 1:
The detection process is segmented into low-power coarse inspection (checking status registers and basic page headers) and high-precision fine inspection (validating actual page contents). This allows the majority of pages to be screened with minimal power consumption, reserving high-power thorough inspection only for candidate pages.
Solution Approach 2:
The coarse inspection performs partial examination of pages (checking only critical status bits and headers) rather than complete page validation. This partial action is sufficient to filter out most non-candidate pages, reducing power consumption while the fine inspection applies excessive (thorough) validation only to the少量 candidate pages identified.
3Productivity
If the controller reduces the inspection scope to minimize startup time, then the productivity is improved, but the reliability of last good page identification deteriorates
Solution Approach 1:
The inspection is segmented into two phases with different reliability requirements: the coarse inspection phase operates with lower reliability requirements (quick status checks) to rapidly narrow down candidates, while the fine inspection phase applies higher reliability validation (complete page verification) only to the final candidate, ensuring accuracy without sacrificing overall speed.
Solution Approach 2:
The coarse inspection provides feedback about candidate pages to guide the fine inspection process. The results from the initial quick check inform the subsequent thorough validation, allowing the system to adapt its inspection depth based on preliminary findings and avoid unnecessary exhaustive inspection of all pages.
Data Source
AI summary
A storage device includes a memory die and a controller. The controller identifies a dirty block that was subject to an interrupted I/O operation and performs a coarse inspection of the dirty block. Each iteration of the coarse inspection includes: requesting first bytes of a current page of the dirty block; receiving contents of the first bytes from the at least one memory die; and evaluating a state of the current page based on the contents of the first bytes. The controller also determines an initial last good page based on the coarse inspection and performs a fine inspection of at least one page based on a second number of bytes greater than the first number of bytes. The fine inspection validates the initial last good page and identifies the initial last good page as an actual last good page of the dirty block.


