Linux 5.8 To Support Emulating MLC NAND Flash Memory As SLC
The Linux MTD subsystem that abstracts raw flash devices will allow emulating MLC NANDs as SLC in an attempt to boost reliability.
Starting with the Linux 5.8 kernel, raw multi-level cell (MLC) flash memory can be optionally emulated as single level cell (SLC) memory. This SLC emulated mode was added by embedded consulting firm Bootlin. In this emulated mode for MLC NANDs, only the lower page of each pair is programmed. This emulated mode is being offered for raw flash memory exposed on Linux as it can be "made a bit more reliable" under the SLC emulated mode albeit with reduced capacity.
The emulated SLC mode for MLC NANDs can be enabled via a new flag for MTD. This emulated mode was added as part of the MTD changes merged today for Linux 5.8. Among the other MTD work is support for "constrainted" controllers and a variety of driver updates.