The mass-storage options for embedded devices have a great impact on the rest of the system in terms of robustness, speed, and methods of in-field updates. Most devices employ flash memory in some form or other. Flash memory has become much less expensive over the past few years as storage capacities have increased from tens of megabytes to tens of gigabytes.
In this chapter, I will begin with a detailed look at the technology behind flash memory and how different memory organization affects the low-level driver software that has to manage it, including the Linux memory technology device layer, MTD.
For each flash technology, there are different choices of filesystem. I will describe those most commonly found on embedded devices and complete the survey with a section giving a summary of choices for each type of flash memory. The final sections consider...