Storage

Eliminating the I/O blender: The promise of flexible data placement

By John Mazzie, Sayali Shirode - 2023-07-27

Flexible data placement (FDP) is a possible forthcoming feature of the NVMeTM specification that has been proposed by Google and Meta.1 The purpose of this feature is to reduce the write amplification (WA) when multiple applications are writing, modifying and reading data on the same device.2 Benefits of reduced WA for these companies come in the form of more usable capacity and potentially a longer useful life for each device.

We proposed an experiment to determine how helpful FDP might be. In this test, we are using a 7.68TB Micron 7450 PRO SSD split into four equal (1.92TB) namespaces and executing parallel flexible input/output tester (fio) workloads on each namespace.3 These workloads are all sequential writes but vary in block size (4K, 16K, 64K and 256K). We also execute these workloads individually to four 1.92TB Micron 7450 PRO SSDs, which we imagine as the most optimal implementation of FDP where all application data receives dedicated NAND space and does not get interleaved on the device as shown in Figure 1.

Figure 1 Figure 2

In a situation with a purely sequential workload running against a single device, we would expect to see a WA factor close to 1, which we confirmed when running the individual FIO workloads against the 1.92TB devices. In an ideal scenario, four namespaces on a large device would behave similarly to four single devices. The layout of this scenario is shown in Figure 2.

Without FDP and multiple workloads executing on the 7.68TB device, the drive does not consider separating the NAND by namespace, nor does it determine which fio data should be grouped together in the context of instances running. The workload effectively becomes more random from a drive perspective, even though each workload is sequential. With the increase in randomness, we see a corresponding increase in write amplification from nearly 1 (1.02) to 1.63, as shown in Figure 3.



Though this is a simple experiment, it shows the potential benefits for FDP implementation on future devices. We can also see how some applications, which are designed to write sequentially as much as possible, would benefit from FDP when contending for the same drive resources.

1. For additional information on FDP, see https://nvmexpress.org/wp-content/uploads/Hyperscale-Innovation-Flexible-Data-Placement-Mode-FDP.pdf 
2. For additional information on write amplification, see https://www.snia.org/education/online-dictionary/W 
3. Fio documentation is available here: https://fio.readthedocs.io/en/latest/fio_doc.html 

© 2023 Micron Technology, Inc. All rights reserved. All information herein is provided on an "AS IS" basis without warranties of any kind. Products are warranted only to meet Micron’s production data sheet specifications. Products, programs, and specifications are subject to change without notice. Micron Technology, Inc. is not responsible for omissions or errors in typography or photography. Micron, the Micron logo, and all other Micron trademarks are the property of Micron Technology, Inc. All other trademarks are the property of their respective owners. Rev. A 01/2023 CCM004-676576390-11635

 

 
 
John Mazzie

John Mazzie

John graduated in 2008 from West Virginia University with his MSEE with an emphasis in wireless communications. In 2011, John moved to Austin, TX to work for Dell in their storage organization. At Dell John worked on the MD3 Series of storage arrays on both the development and sustaining side. John joined Micron in 2016 to work for the Storage Solutions Engineering group in Austin, where he has worked on Cassandra, MongoDB, and Ceph.

Sayali Shirode

Sayali received an M.S. in electrical and computer engineering from Colorado State University in 2015. She's currently a Storage Performance Engineer at Micron's Austin location and has previously worked as Firmware Test Engineer at Micron's Colorado location. She focuses on analyzing the performance of data center applications.
+