ZNS Storage Zone Segmentation for Write Amplification Reduction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current ZNS SSD solutions face limitations in open zone size due to cache and power loss protection constraints, leading to inefficiencies in data separation based on data hotness and higher write amplification due to larger zone sizes.
Innovation Solution
The proposed method involves using multiple zones for ZNS storage, where data chunks are initially stored in a first zone cache with append-only writes, and then sequentially written to an isolation block in a second zone stream when a storage policy is triggered, allowing for efficient data chunk-based operations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If a single large zone is used for ZNS storage, then drive capacity and sequential write performance are improved, but write amplification increases and the ability to separate data by hotness is limited
Solution Approach 1:
The patent divides the storage space into multiple zones (first zone cache, second zone stream, third zone stream) instead of using a single large zone. This segmentation allows different zones to serve different purposes: the first zone cache handles incoming data chunks with append-only writes, while the second and third zone streams store data sequentially. This resolves the contradiction by enabling both high sequential write performance (through proper zone utilization) and reduced write amplification (through targeted data placement and avoidance of unnecessary garbage collection).
Solution Approach 2:
The patent applies different storage characteristics to different zones: the first zone cache is optimized for random write operations with append-only semantics, while the second and third zone streams are optimized for sequential reads and writes. This local quality differentiation allows each zone to operate at optimal efficiency, reducing overall write amplification while maintaining high sequential write performance in the appropriate zones.
2Volume of stationary object
If a single large zone is used for ZNS storage, then drive capacity is improved, but data separation based on data hotness cannot be implemented
Solution Approach 1:
The patent segments the storage system into multiple zones with different functions: first zone cache for incoming data, second zone stream for sequentially written data, and third zone stream for additional sequential storage. This segmentation enables data separation based on hotness by allowing the system to direct different data types to appropriate zones, while collectively providing the full drive capacity through aggregated zone usage.
Solution Approach 2:
Different zones are assigned different quality characteristics: the first zone cache provides fast write capability for hot data, while the second and third zone streams provide sequential access optimization for cold data. This local quality assignment enables data separation based on access patterns while maintaining overall drive capacity through the combined storage of all zones.
3Volume of stationary object
If zone size is larger than data chunk size, then drive capacity utilization is improved, but garbage collection is needed resulting in higher write amplification
Solution Approach 1:
The patent segments the storage into zones that align with data chunk boundaries. By making zone sizes comparable to or smaller than data chunk sizes, the system can write complete data chunks to zones without needing to perform garbage collection to reclaim space. This segmentation approach maintains high drive capacity utilization while eliminating the write amplification caused by garbage collection operations.
4Device complexity
If cache resources are limited, then device complexity is reduced, but the number of open zones is limited
Solution Approach 1:
The patent segments the zone management into multiple independent zone streams (second zone stream, third zone stream) that can be opened and closed independently. This segmentation allows the system to support multiple open zones even with limited cache resources, as each zone stream can be managed separately with its own cache allocation, thereby increasing adaptability without proportionally increasing overall cache requirements.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
Described are examples for storing, in a first zone cache (110), one or more logical blocks (LBs) corresponding to a data chunk, writing, for each LB in the data chunk, a cache element of a cache entry (210) that points to the LB in the first zone cache (110), where the cache entry (210) includes multiple cache elements corresponding to the multiple LBs of the data chunk, writing, for the cache entry (210), a table entry in a mapping table (108) that points to the cache entry (210), and when a storage policy is triggered for the cache entry, writing the multiple LBs, pointed to by each cache element of the cache entry (210), as contiguous LBs in an isolation block for the data chunk in a second zone stream (114), and updating the table entry to point to the isolation block in the second zone stream (114).