ZNS Storage Zone Segmentation for Write Amplification Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvesequential write performanceVSAvoidwrite amplification
Core Design Contradiction:
ProductivityVSLoss of substance

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).

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #3Local quality

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

Engineering Contradiction:
Improvedrive capacityVSAvoiddata separation capability
Core Design Contradiction:
Volume of stationary objectVSAdaptability or versatility

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #3Local quality

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

Engineering Contradiction:
Improvedrive capacity utilizationVSAvoidwrite amplification
Core Design Contradiction:
Volume of stationary objectVSLoss of substance

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.

Inventive Principle:
Principle #1Segmentation

4Device complexity

If cache resources are limited, then device complexity is reduced, but the number of open zones is limited

Engineering Contradiction:
Improvecache resource requirementVSAvoidnumber of open zones
Core Design Contradiction:
Device complexityVSAdaptability or versatility

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.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentEP4372540B1Techniques for zoned namespace (ZNS) storage using multiple zones
Publication Date: 2025.06.18 LEMON INC(GB)
  • EP4372540B1 patent drawingFigure 1
  • EP4372540B1 patent drawingFigure 2
  • EP4372540B1 patent drawingFigure 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).