NAND Flash Block Robustness-Aware Program Management
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
NAND flash devices face challenges with increased storage capacity and reduced reliability due to growing bad blocks, leading to potential write failures and performance issues, especially in DRAM-less SSD controllers which struggle to manage cache program operations without overflowing internal SRAM.
Innovation Solution
Implementing a robustness-aware management technique that categorizes active storage blocks into robust and less-robust groups based on page error counts, program time, and P/E cycles, allowing for optimized program operations to minimize cache programming into grown bad blocks, thereby enhancing reliability and performance.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If cache program operations are used to maximize write performance, then productivity is improved, but reliability deteriorates due to potential write failures into grown bad blocks
Solution Approach 1:
The system performs preliminary actions by monitoring NAND storage cell arrays for grown bad blocks before cache program operations are executed. The controller identifies and marks defective blocks in advance, preventing subsequent write operations from targeting these unreliable locations, thus maintaining both high performance and reliability
Solution Approach 2:
The system implements feedback mechanisms by continuously monitoring the health status of NAND storage cell arrays, detecting grown bad blocks, and using this information to dynamically adjust program operation decisions. This feedback loop ensures that cache program operations are directed only to healthy blocks, resolving the contradiction between performance and reliability
2Reliability
If the number of internal SRAM is increased to prevent overflow during cache program operations, then reliability is improved, but device complexity and manufacturing cost increase
Solution Approach 1:
The controller performs preliminary monitoring of NAND storage cell arrays to identify grown bad blocks before cache program operations occur. By detecting potential failure points in advance, the system can prevent data loss without requiring additional SRAM capacity, thus improving reliability without increasing device complexity
Solution Approach 2:
The system uses self-service by leveraging the existing SRAM resources more efficiently through intelligent management. Instead of adding more SRAM, the controller optimizes the use of available memory by preventing writes to bad blocks and managing cache operations more effectively, thereby maintaining data safety without hardware expansion
3Reliability
If regular program operations are used instead of cache program operations, then reliability is improved, but productivity deteriorates due to longer program time
Solution Approach 1:
The system segments program operations into two distinct types: cache program operations for high-performance writes to healthy blocks, and regular program operations for reliability-critical writes. This segmentation allows the system to optimize for either performance or reliability depending on the specific write operation and block health status, resolving the contradiction between the two objectives
Data Source
AI summary
Systems, apparatus and methods are provided for performing program operations in a non-volatile storage system. In one embodiment, there is provided a method that may comprise categorizing active storage blocks of a non-volatile storage device into a robust group and a less-robust group based on a number of factors including page error count, program time and number of Program/Erase (P/E) cycles; determining that a cache program operation needs to be performed; selecting a first storage block from the robust group to perform the cache program operation; determining that a regular program operation needs to be performed; and selecting a second storage block from the less-robust group to perform the regular program operation.

