Flexible Data Placement: The Next Level of SSD Solutions
Why Do You Need FDP
Flexible Data Placement (FDP) was developed to enhance SSD efficiency and longevity. Traditional data placement caused uneven wear and reduced lifespan. FDP intelligently allocates data based on access frequency, placing frequently used data in faster areas and less critical data in slower regions. This innovation optimizes performance, reduces wear, and extends SSD lifespan, transforming storage solutions across various applications. Now it is a new NVM Express® (NVMe) feature that advertises the ability to achieve Write Amplification Factor (WAF) of 1.
How Can FDP Help You
On non-FDP SSDs, when multiple application data are written at the same time, different data may be mixed on the same super-block and each application data will be scattered on different NAND. Meanwhile, the deleted application data will create fragments on the super-block. In order to reuse this space, non-FDP SSDs need to perform garbage collection (GC) to move the valid data on the super-block. So the high WAF on Non-FDP SSDs is a direct result of the fact that different application data is written to the same physical space.
If different application data are written to separate physical spaces, when deleting an application's data, only the relevant physical space of the application needs to be erased and reclaimed, which greatly reduces the amount of data to be moved by the GC. FDP is based on this principle to provide an efficient way of laying out the data, thus reducing the WAF.
The FDP model introduces three concepts: Reclaim Units (RU), Reclaim Groups (RGs), and Reclaim Unit Handles (RUHs). RU is a physically independent erasable unit, and multiple RUs make up an RG. The performance and reliability of RGs do not affect each other. RUH is the write pointer of RU. When one RU is full, it switches to another RU. The host can use IO commands to write data from different applications into RUs through different RUHs to achieve data isolation.
FDP also provides mechanisms for the host to be aware of the data writing status within the disk, assisting in determining the writing and recovery strategies for the data. For example, relevant interfaces can be used to obtain information such as the granularity of RU (RUNS), the remaining write capacity of the current RU (RUAMW), and the estimated update time of RU (EARUTR). The FDP SSD can also report events (Host Events/Controller Events) to notify of any abnormal situations related to RUH.
DapuStor's FDP Solutions
DapuStor SSDs support FDP and various FDP configurations. The system can utilize different RUHs on the Namespace based on different business types and configure different data isolation properties for each RUH. It also supports multiple Namespaces sharing the same RUH. In the case of multiple Namespaces, if the properties of the business data are the same, they can use the same RUH for easier management and resource-saving. We conducted FDP testing on the Haishen5 Series SSD using CacheLib, and the test results are as follows:
Based on the results, in the simulation of real business scenarios using kvcache trace, when FDP is enabled, CacheLib divides the workload between BigHash and BlockCache. As a result, the WAF significantly decreases and approaches 1.
FDP is revolutionizing the storage industry with its advanced application and promising future. As businesses increasingly rely on high-performance storage solutions, DapuStor QLC SSDs with FDP stand at the forefront, promising enhanced efficiency and reliability across diverse applications.