Modeling Driver Level NAND Flash Memory I/O Performance and Power Consumption for Embedded Linux
Résumé
This paper presents a methodology for modeling performance and power consumption of NAND flash memory I/O operations. This study focuses on embedded systems executing the Linux Operating System (OS), equipped with bare flash chips (e.g. smartphones, tablets, routers, etc). Bare flash chips are fully managed by the Linux OS through some specific flash file systems. Indeed, embedded Linux became the de facto OS for many embedded systems, and predicting the performance and energy consumption of I/O operations is critical for many application domains such as multimedia and embedded data bases. The presented model is designed at the driver level, and each elementary NAND flash key-operation is modeled. As a case study, the methodology presented was applied and validated on a test hardware / software platform. The modeling methodology relies on a generic and reusable parameter extraction process and tools. Their purpose is to characterize flash power consumption and performance in order to specialize the model for various platforms. This work is a first step toward modeling the performance and the power consumption for all the embedded Linux I/O storage hierarchy: from the applicative layer and down to the storage media.