Dynamic Memory Block Selection for Storage Efficiency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing memory devices suffer from inefficient data storage and degradation of memory blocks due to fixed main memory block sizes and the need for full erase operations, which lead to reduced data storage efficiency and memory block degradation with repeated erase cycles.
Innovation Solution
The implementation of a memory device with a memory cell array comprising main memory blocks and sub-memory blocks, where the peripheral circuit and control logic dynamically select the appropriate memory block based on the amount of loaded data during a program operation, allowing for efficient management of memory blocks and minimizing program/erase cycles.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If fixed-size main memory blocks are used for all program operations, then the memory block structure is simple, but data storage efficiency deteriorates when data size is small
Solution Approach 1:
The memory device divides main memory blocks into multiple sub-memory blocks, each with different storage capacities. This segmentation allows the system to select an appropriate sub-memory block size matching the data to be programmed, thereby improving data storage efficiency without significantly increasing overall structural complexity.
Solution Approach 2:
The memory device dynamically selects between different sub-memory blocks based on the amount of data to be programmed. This dynamic selection mechanism allows the system to adapt to varying data sizes, optimizing storage efficiency while maintaining a relatively simple underlying memory block structure.
2Productivity
If full erase operations are performed on entire main memory blocks, then erase operations can be completed, but memory block degradation increases with repeated cycles
Solution Approach 1:
By segmenting main memory blocks into smaller sub-memory blocks, the system can perform erase operations on only the necessary sub-blocks rather than entire main blocks. This reduces the scope of each erase operation and minimizes degradation to only the actively used portions of memory.
Solution Approach 2:
The system performs partial erase operations on only the necessary sub-memory blocks rather than complete erase operations on entire main memory blocks. This partial action approach completes the required erase function while avoiding unnecessary stress on unused memory portions, thereby reducing overall degradation.
3Ease of operation
If small data is programmed into large main memory blocks, then program operations can be performed, but storage space utilization decreases
Solution Approach 1:
The division of main memory blocks into multiple sub-memory blocks with different capacities enables the system to match the program operation size with an appropriate sub-block. This ensures high storage space utilization while maintaining ease of program operation execution.
Solution Approach 2:
The system changes the parameter of memory block size selection based on the amount of data to be programmed. By selecting sub-memory blocks with capacities matched to the data size, the system optimizes storage space utilization while maintaining program operation capability.
Data Source
AI summary
Disclosed herein are a memory device and a method of operating the memory device. The memory device may include a memory cell array, a peripheral circuit, and a control logic. The memory cell may a plurality of main memory blocks and a plurality of sub-memory blocks included in each of the main memory blocks. The peripheral circuit may perform a program operation on the main memory blocks or the sub-memory blocks, detect an amount of data loaded for the program operation, and output data amount information. The control logic may control the peripheral circuits so that, during the program operation, at least one memory block is selected from the main memory blocks or from the sub-memory blocks according to the data amount information and the program operation is performed on the selected memory block.


