While working on a recent whitepaper, I dug up Datalight history for more info about discards. I’ve been with the company for over 16 years, and our work with discards predates not only my time on the job, but any other mention of discards for flash media.
Discard (also called trim, unmap, or erase in various command sets) is a command which informs the storage media that the contents of a sector or range of sectors are no longer important – the file system data has been deleted or replaced. Basically, when a file is deleted from a file system, the content is marked obsolete but continues to occupy space on the media.
CardTrick was a product Datalight released in 1993 to support flash memory on PCMCIA cards [http://brightblueii.com/2016/09/05/a-short-history-of-flash-memory-part-1/]. When used for a file system, these were usually formatted with a FAT file system. We first implemented discards by detecting writes to the FAT table that deallocated a cluster of the disk, allowing CardTrick to discard that cluster. This was very useful functionality for Windows CE (Compact Edition), and ended up improving the performance and flash media lifetime by a considerable amount.
CardTrick evolved into FlashFX (which supported raw flash media), then FlashFX Pro and today’s FlashFX Tera. That same FAT monitoring capability was carried forward into ROM-DOS, Datalight’s complete operating system for embedded devices, and further into Reliance and Reliance Nitro.
It has been pretty exciting to work so closely with flash memory vendors over the years. Now their flash media has been incorporated into embedded packages (eMMC) and solid state drives (SSD), but the software still needs to work with the hardware to provide the best performance and lifetime. Datalight is proud to have been at the leading edge of that software curve for more than twenty years.
Learn more about discards in our new whitepaper "Improving Media Lifetime and Performance with Discards."