Open-channel SSD
An open-channel solid state drive is a solid-state drive which does not have a firmware Flash Translation Layer implemented on the device, but instead leaves the management of the physical solid-state storage to the computer's operating system. The Linux 4.4 kernel is an example of an operating system kernel that supports open-channel SSDs which follow the NVM Express specification. The interface used by the operating system to access open-channel solid state drives is called LightNVM.
NAND Flash Characteristics
Since SSDs use NAND flash memory for storing data, it is important to understand the characteristics of this medium. NAND flash provides a read/write/erase interface. A NAND package is organized into a hierarchy of dies, planes, blocks and pages. There may be one or several dies within a single physical package. A die allows a single I/O command to be executed at a time. A plane allows similar flash commands to be executed in parallel within a die. There are three fundamental programming constraints that apply to NAND:- a write command must always contain enough data to program one full flash page,
- writes must be sequential within a block,
- an erase must be performed before a page within a block can be written.
Comparison with Traditional SSDs
Open Channel SSDs provide more flexibility with regard to data placement decisions, overprovisioning, scheduling, garbage collection and wear leveling. Open-Channel SSDs can, however, not be considered a uniform class of devices, as critical device characteristics such as minimum unit of read and minimum unit of write varies from device to device. One can therefore not design an FTL that automatically works on all Open-Channel SSDs.Traditional SSDs maintain the L2P table in DRAM on the SSD and use their own CPU for maintaining that L2P table. With Open Channel SSDs the L2P table is stored in host memory and the host CPU maintains that table. While the Open Channel SSD approach is more flexible, a significant amount of host memory and host CPU cycles is required for L2P management. With an average write size of 4 KB, almost 3 GB RAM is required for an SSD with a size of 1 TB.