NAND Flash Block Management via SLC-MLC Mode Segmentation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing memory systems face challenges in efficiently managing and optimizing the use of storage blocks in NAND flash memory, particularly in balancing the trade-offs between storage capacity, access speed, and reliability across different operation modes.
Innovation Solution
The memory system employs a dynamic management strategy that classifies blocks into SLC and MLC modes based on usage patterns, transferring data between these modes to optimize storage capacity and access speed. This involves selecting blocks with low valid data rates for transcription and using a variable-length SLC buffer to manage surplus capacity.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If MLC method is used to expand storage capacity, then recording capacity per volume increases and cost per storage capacity decreases, but access time increases and reliability decreases
Solution Approach 1:
The memory system is segmented into multiple blocks that can be independently operated in different modes (SLC or MLC). This allows the system to divide the storage capacity into manageable units that can be dynamically allocated based on reliability requirements, thus maintaining high capacity while improving reliability through selective mode operation.
Solution Approach 2:
The system dynamically switches between SLC and MLC modes for different blocks based on operational requirements. Blocks can be reassigned between modes during operation, allowing the system to adapt to changing reliability needs while maintaining overall high storage capacity utilization.
2Quantity of substance
If MLC method is used to expand storage capacity, then recording capacity per volume increases and cost per storage capacity decreases, but access time increases
Solution Approach 1:
The memory system is segmented into multiple blocks that can be independently operated in different modes (SLC or MLC). This allows the system to divide the storage capacity into manageable units that can be dynamically allocated based on speed requirements, thus maintaining high capacity while improving access time through selective mode operation for frequently accessed data.
Solution Approach 2:
Different blocks are assigned different operational modes (SLC or MLC) based on their specific usage patterns and performance requirements. Frequently accessed or time-critical data is placed in SLC blocks for faster access, while less time-sensitive data resides in MLC blocks, optimizing overall system performance.
3Productivity
If blocks are frequently transcribed to optimize capacity usage, then storage efficiency improves, but transcription overhead increases and system performance degrades
Solution Approach 1:
The system implements a feedback mechanism through the valid data rate calculation that monitors block usage patterns and automatically triggers transcription only when necessary. This feedback-driven approach prevents unnecessary transcription operations while ensuring that blocks are transcribed when they contain insufficient valid data, optimizing storage efficiency without excessive transcription overhead.
Solution Approach 2:
The system changes the operational parameter of blocks dynamically by switching between SLC and MLC modes based on the valid data rate. This parameter change allows the system to optimize storage efficiency by converting blocks to appropriate modes based on their current data state, reducing unnecessary transcription operations.
Data Source
AI summary
According to one embodiment, a memory system includes a non-volatile semiconductor memory, a block management unit, and a transcription unit. The semiconductor memory includes a plurality of blocks to which data can be written in both the first mode and the second mode. The block management unit manages a block that stores therein no valid data as a free block. When the number of free blocks managed by the block management unit is smaller than or equal to a predetermined threshold value, the transcription unit selects one or more used blocks that stores therein valid data as transcription source blocks and transcribes valid data stored in the transcription source blocks to free blocks in the second mode.


