Dynamic SLC MLC Block Selection for Flash Memory Write Optimization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The performance of flash memory systems is limited by the speed at which data can be buffered into a log block and merged into a new data block, particularly due to differences in programming and erase operations, which affect write operations in nonvolatile memory devices.
Innovation Solution
A method and system that determine the write pattern of data in a log block to select either an SLC or MLC mode for merging data into a new data block, optimizing the allocation of memory blocks based on sequential or random write patterns to enhance merge operation efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If data is buffered into a log block and merged into a new data block, then storage capacity is increased, but write performance is limited by the speed of buffering and merging operations
Solution Approach 1:
The patent dynamically selects between SLC mode and MLC mode for merge operations based on the write pattern detected in the log block. For sequential write patterns, MLC mode is used to maximize storage capacity. For random write patterns, SLC mode is used to maximize write speed. This dynamic adaptation resolves the contradiction by allowing the system to optimize for either capacity or performance depending on actual workload conditions.
Solution Approach 2:
The patent changes the operational parameters of the memory system by switching between different write modes (SLC and MLC) based on the detected write pattern. This parameter change allows the system to adjust its behavior to match the workload characteristics, thereby improving overall write performance while maintaining storage capacity.
2Quantity of substance
If MLC mode is used for merge operations, then storage capacity is maximized, but write speed decreases compared to SLC mode
Solution Approach 1:
The system dynamically switches between MLC mode and SLC mode based on the write pattern. When sequential writes are detected, MLC mode is selected for maximum capacity. When random writes are detected, SLC mode is selected for maximum speed. This dynamic selection resolves the speed-capacity tradeoff by matching the mode to the workload type.
Solution Approach 2:
The patent applies different quality characteristics (SLC or MLC mode) to different portions of the merge operation based on the local write pattern characteristics. This allows each merge operation to be optimized for its specific conditions rather than using a single mode for all operations.
3Device complexity
If the write pattern is random, then data buffering complexity increases, but using SLC mode for merging improves merge operation speed
Solution Approach 1:
The system uses feedback from the detected write pattern to determine the appropriate merge mode. The write pattern detection provides information about the characteristics of incoming data, and this feedback is used to select either SLC or MLC mode for the merge operation, thereby optimizing performance based on actual conditions.
Solution Approach 2:
The patent changes the operational parameters (mode selection) based on the detected write pattern. For random write patterns, the system switches to SLC mode with associated parameters optimized for speed, thereby improving merge operation speed despite the increased buffering complexity.
Data Source
AI summary
A method of performing a write operation in a nonvolatile memory device comprises storing write data in a log block used to update a data block, determining whether a write pattern stored in the log block is a sequential write pattern or a random write pattern, and selecting a new data block for storing merged data in the data block and the log block. The new data block is determined to be a single-level cell block or a multi-level cell block according to the determined write pattern.


