The SEF platform for software-defined Flash storage has been released.

The Linux Foundation has introduced the first release of an open platform for software-enabled Flash storage SEF (Software Enabled Flash), built on code provided by KIOXIA (formerly Toshiba Memory Corporation), where Flash memory was invented in 1980. The source code of the toolkit is written in C and distributed under the BSD license.

The toolkit includes a set of patches for the Linux kernel, a block driver for SEF (Software Enabled Flash) devices, command line utilities, paravirtualized SEF drivers for QEMU, an API library for application development, patches for nvme-cli and FIO to add SEF support. The SDK also includes a reference implementation of the Flash Translation Layer (FTL), which translates block device commands into accesses to the actual Flash memory chip, performs garbage collection, and manages data distribution across memory cells. The FTL implements support for Flexible Data Placement (FDP), Zoned Namespace (ZNS), and the NVMe specification.

In conventional Flash storage systems, the drive acts as a black box, reserving part of the memory for overhead operations, with performance metrics being inconsistent and unpredictable delays arising from internal controller activities, such as during garbage collection. Unlike traditional Flash drives, where data distribution, bad block isolation, and garbage collection are handled by the controller firmware, SEF-enabled drives allow the low-level logic of working with the Flash memory chip to be managed by the software and the operating system.

SEF provides the ability to directly manage the physical placement of data, change load balancing algorithms, control priorities and QoS, eliminate an additional layer of block translation, utilize all available memory, achieve predictable storage performance, and partition the storage into virtual devices that are isolated at the input/output level and have different processing priorities. The approach proposed in SEF allows for reduced overhead and improved efficiency in interacting with storage by adapting to the current needs of garbage collection logic, memory reservation, and block distribution to reduce wear.

For example, SEF can normalize performance when using an array of storage devices purchased at different times with varying characteristics. For storage devices that are primarily used for read operations, SEF enables the use of simpler block distribution algorithms and reduces the memory reserved for administrative purposes.

Source: opennet.ru

Buy reliable website hosting with DDoS protection, VPS VDS servers 🔥 Buy reliable website hosting with DDoS protection, VPS VDS servers | ProHoster