Software-Enabled Flash (SEF) technology fundamentally redefines the relationship between the host and solid-state storage.
It consists of purpose-built, media-centric Flash hardware (called a SEF Unit) focused on hyperscaler requirements, an optimized command set at the PCIe- and NVMe-level for communicating with the host.
And an open source, low-level API and an open-source, high-level software development kit (SDK).
Software-Enabled Flash API
The SEF Application Programmer’s Interface (API) implements low level wrappers around the SEF command set that make it easier for applications or other libraries to communicate with SEF units.
Software-Enabled Flash SDK
The SEF SDK consists of an open source library that is built on top of the SEF API and which presents a reference Flash translation layer (FTL) that can be used by applications. It handles the physical to logical address mapping, metadata persistence, overprovisioning, and garbage collection for applications. It also provides unique features such as data placement control to help minimize Flash management overhead.
A CLI based management tool allows provisioning the SEF Unit on deployment and adjusting quality of service domains or FTL settings dynamically.
There are also reference virtual I/O device drivers for QEMU which allow virtualized machines to use a SEF Unit exactly as if it were a traditional SSD, while maintaining the SEF capabilities of tenant isolation, advanced queueing, and latency outcome control.