Memory Controller Storage Mode Determination Based on Valid Data Proportion
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing memory systems face inefficiencies in determining storage modes for blocks based on the distribution of valid data, leading to potential misjudgments and performance degradation, especially when the proportion of valid data is low across multiple blocks.
Innovation Solution
A memory system with a memory controller that determines storage modes for blocks by calculating the proportion of valid data across all blocks and dynamically configuring the number of blocks using different storage modes, such as single-bit or multi-bit modes, based on predefined thresholds and mapping tables.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If the storage mode is determined based on the distribution of valid data in individual blocks, then the storage efficiency can be optimized, but misjudgments occur when the proportion of valid data is low across multiple blocks
Solution Approach 1:
The patent introduces an intermediate calculation step that computes the proportion of valid data across all blocks before determining storage modes. This intermediary metric serves as a more reliable basis for decision-making compared to examining individual block distributions, thereby reducing misjudgments while maintaining storage efficiency optimization.
Solution Approach 2:
The system implements a feedback mechanism where the calculated proportion of valid data feeds into the storage mode determination process. This feedback loop allows the system to adjust storage modes based on actual valid data distribution patterns, improving both accuracy and efficiency dynamically.
2Speed
If the number of blocks using single-bit mode is increased to improve write speed, then performance improves, but storage capacity is reduced
Solution Approach 1:
The patent applies dynamic adjustment by calculating the proportion of valid data and using this metric to determine the optimal number of blocks in single-bit mode. Rather than using a fixed configuration, the system dynamically adapts the mix of single-bit and multi-bit blocks based on actual data patterns, balancing write speed and storage capacity flexibly.
Solution Approach 2:
The system changes the parameter of block mode configuration based on the calculated proportion of valid data. When the proportion exceeds a threshold, more blocks are allocated to single-bit mode for faster writes; when below the threshold, more blocks use multi-bit mode for greater capacity, thus adapting parameters to conditions.
3Adaptability or versatility
If dynamic configuration of storage modes is implemented to optimize performance, then adaptability improves, but system complexity increases
Solution Approach 1:
The patent segments the storage management task into distinct phases: calculating valid data proportion, comparing with threshold, and determining block mode allocation. This segmentation simplifies the complex dynamic configuration process into manageable steps, reducing overall system complexity while maintaining adaptability.
Solution Approach 2:
The system manages complexity by focusing on changing a single key parameter - the proportion of valid data - rather than simultaneously managing multiple complex parameters. This single-parameter approach simplifies the control logic while still achieving adaptive optimization of storage modes.
Data Source
AI summary
Implementations of the present disclosure provide a memory system, an operating method thereof, and a storage medium. The memory system comprises: a memory device including a plurality of blocks, wherein a block includes a plurality of memory cells; a memory controller coupled to the memory device and configured to: determine a storage mode for a block based on a total amount of valid data in all of the plurality of blocks; wherein data reading and writing with different rates are to be performed for different storage modes by configuring the number of data bits stored in each memory cell in the block.


