ZNS Architecture: A high-performance storage stack design that solves traditional SSD problems

2 ZNS architecture
2.1 ZNS storage model evolution
Let's take a general look at the internal data distribution of ZNS-ssd:

ZNS-ssd is like a channel like OC, which divides the entire internal storage area of ​​SSD into multiple zone spaces, and each zone space manages a section of LBA (mapping between physical page and logical address), and data between different zone spaces Can be independent. The most important thing is that the writing inside each zone only allows sequential writing, but random reading is possible. Because of the sequential write feature inside the zone, the overhead of SSD GC can be basically eliminated. In order to ensure the sequential writing within the zone, if you want to overwrite a section of LBA address inside ZNS, you need to reset (clear the data of the current address) before rewriting this section of logical address space.

At the same time, a complete ZNS device supports a complete storage stack, including the underlying block driver and the upper-level file system, which have been implemented. Compared with OC-ssd, this complete storage stack has the advantage that it can shield complex access functions from the outside, grasp the user's usage habits, and user software can achieve basic zero-cost access.

Of course, it is limited to storage applications whose bottom layer is sequential write. rocksdb/ceph bluestore etc.
The evolution of the entire storage stack is a process, and the design of ZNS is not directly introduced. The following will introduce in detail. From the evolution process of ZNS, we can also see some limitations of the applicable scenarios of ZNS.

2.1.1 zone storage model

At the very beginning, Western Digital launched a zone-based storage model, that is, the internal storage space of the SSD in the above figure is logically divided according to zones, and only sequential writing is allowed. The premise of overwriting is the LBA before reset.

At this time, the internal implementation of the zone storage model and some constraints can be viewed from the following aspects:

1 Per-zone state machine
If you want to determine whether a zone can be written, you need to pass

Guess you like

Origin blog.csdn.net/vagrant0407/article/details/130186722