Zoned Memory Open-Block Tracking for Lower Memory Footprint
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Traditional memory systems face challenges in efficiently tracking and managing the large number of open blocks in zoned namespace (ZNS) memory devices due to their scattered nature across different dies and planes, leading to increased memory footprint and code complexity.
Innovation Solution
The method involves partitioning the memory device into channels with planesets and blocksets, distributing active zones evenly, and using a single global level table to track open blocksets, along with a memory sub-system controller to manage open block messages, reducing memory footprint and simplifying system design.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional memory systems track open blocks in zoned namespace memory devices, then data storage and retrieval functions are maintained, but memory footprint increases and code complexity increases due to scattered open blocks across different dies and planes
Solution Approach 1:
The memory device is divided into channels, with each channel containing multiple planesets and blocksets. This segmentation allows the system to manage open blocks locally within each channel rather than tracking them globally across the entire memory device, reducing the complexity of the tracking mechanism while maintaining reliable data storage and retrieval functions.
2Reliability
If traditional memory systems track open blocks in zoned namespace memory devices, then data storage and retrieval functions are maintained, but memory footprint increases due to scattered open blocks across different dies and planes
Solution Approach 1:
By segmenting the memory device into channels with local block tracking, the system reduces the total memory footprint required for tracking open blocks. Each channel maintains its own tracking structure for open blocks within that channel, eliminating the need for a global tracking structure that would require significantly more memory to accommodate scattered blocks across all dies and planes.
Solution Approach 2:
The system combines the tracking of open blocks with the channel-level management structure. By merging the open block tracking functionality into the existing channel and planeset organization, the system avoids allocating separate, large memory structures for tracking, thereby reducing overall memory footprint while maintaining reliable data access.
3Productivity
If writes are concentrated in fewer zones, then write performance is improved, but load balancing across zones becomes difficult and garbage collection efficiency decreases
Solution Approach 1:
The system dynamically distributes active zones across multiple channels and planesets based on current memory conditions and workload patterns. This dynamic zone distribution enables the system to maintain good write performance by concentrating writes in fewer active zones while automatically balancing the load across the memory device through the channel-level management structure, eliminating the need for complex manual load balancing mechanisms.
Data Source
AI summary
A method for tracking open blocks in a memory device includes partitioning, by a memory sub-system controller, a storage region in the memory device into a plurality of channels, each channel including a plurality of planesets, and each planeset comprising a plurality of blocksets. The method further includes distributing evenly between the plurality of channels a plurality of active zones ready for a write operation. Each active zone includes one or more open blocks. The method further includes sending, by the memory sub-system controller, an open block message to a controller in the memory device, the open block message including channel identifying information, planeset identifying information, and blockset identifying information. The channel identifying information, the planeset identifying information, and the blockset identifying information collectively identify one or more open blocks ready for a write operation in the memory device.


