The Linux Memory Technology Device project provides a unified subsystem for handling RAM and Flash cards (Memory Technology Devices), including various flash translation layers to emulate block devices, and filesystems which run directly on flash chips.