A Flash File System for Resource Restricted Platforms - Werbet, Eriko; Brayner, Angelo (Journal of Information and Data Management, 2012)
A computing device is usually comprised of a processing unit, a volatile memory area (primary memory) and a persistent memory area (secondary memory). Nowadays, in most of mobile computing devices data are persisted in flash memory, which is a kind of non-volatile memory that may be electrically recorded and erased, i.e., an EEPROM (Electrically Erasable Programmable Read-Only Memory) chip. Such memory is also used to implement memory cards, USB sticks and solid state drives. Data persisted in flash memory need to be recorded in a structured way, such that organizing, searching and accessing the data may be done in a transparent way. In other words, efficient file systems should be designed and implemented for flash memory. There are file systems designed for flash memory. Notwithstanding, most of them have not been designed to take into account severe computing resources restrictions, such as processing power and available primary memory area.In this work, we present a flash file system, denoted Nano-FS, which is quite efficient to run in computing devices with severe computing restrictions. Nano-FS has been implemented to run in a hardware platform, which was in fact a control board for managing data produced by multiple measurement devices (sensors).