Memory Block Pooling Based on Performance Metrics
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing non-volatile memory systems face challenges in optimizing performance by effectively utilizing memory blocks based on measured performance characteristics, leading to inefficient data storage and retrieval due to uneven block performance.
Innovation Solution
The implementation of a system that selects and prioritizes memory blocks for use based on measured performance metrics such as programming time and fail bit count, placing better-performing blocks in SLC and MLC pools for optimal data storage and garbage collection.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If memory blocks are used uniformly without performance measurement, then device complexity is reduced, but productivity deteriorates due to inefficient data storage and retrieval
Solution Approach 1:
The system performs preliminary measurement of programming time for memory blocks during manufacturing or initial operation. These measurements are stored and used to predict block performance characteristics, allowing the system to pre-categorize blocks into pools before actual use, thereby improving productivity without adding complex real-time management overhead.
Solution Approach 2:
The memory device is segmented into multiple pools (SLC pool, MLC pool, mixed pool) based on block performance characteristics. This segmentation allows different pools to be used for different types of data storage operations, optimizing overall system productivity while maintaining manageable complexity through structured organization.
2Productivity
If performance measurement and block selection is implemented, then productivity improves through optimal block usage, but device complexity increases due to additional management logic
Solution Approach 1:
Performance measurements are taken in advance during manufacturing or initial operation, and blocks are pre-categorized into different pools based on their characteristics. This preliminary action eliminates the need for complex real-time measurement and decision-making during normal operations, improving memory operation speed while keeping the management mechanism relatively simple.
Solution Approach 2:
The system uses measured programming times as feedback to determine block performance characteristics. This feedback mechanism is simple and direct, allowing the controller to make informed decisions about block allocation without requiring complex algorithms, thereby improving productivity with minimal added complexity.
3Reliability
If blocks are categorized into SLC and MLC pools based on performance, then reliability improves through optimized data storage, but device complexity increases due to pool management structure
Solution Approach 1:
The memory device is divided into distinct pools (SLC pool for high-reliability data, MLC pool for standard data, mixed pool for flexible usage) based on block performance characteristics. This segmentation allows each pool to be optimized for its specific purpose, improving overall data storage reliability while maintaining a clear and manageable structural organization.
Solution Approach 2:
Different pools are assigned different quality characteristics based on their intended use. SLC blocks are used for high-reliability applications where data integrity is critical, while MLC blocks are used for standard applications. This local quality approach ensures that each block is used in the most appropriate context, improving reliability without requiring complex dynamic management.
Data Source
AI summary
Blocks of memory cells may be selected for use based on one or more measured performance characteristics that may include, but are not limited to, programming time or fail bit count. Blocks may be placed into a single level cell (SLC) block pool and one or more multi-level cell (MLC) block pools based on measured performance characteristic(s). For example, blocks that have a better SLC performance may be placed into the SLC block pool. Blocks may be targeted for garbage collection based on one or more measured performance characteristics. For example, blocks within an SLC block pool may be targeted for garbage collection based on a performance ranking of the SLC blocks, blocks within an MLC block pool may be targeted for garbage collection based on a performance ranking of the MLC blocks. Thus, the better performing blocks may be used more frequently, thereby improving performance.


