Linux on Flash
Total Page:16
File Type:pdf, Size:1020Kb
Linux on Flash The Benefits & Pitfalls of Flash Memory in Open Source Environments Thom Denholm - Datalight Flash Memory Summit 2011 Santa Clara, CA 1 Agenda . Growth of Linux and Flash Memory . Options for Managing Flash . Factors to Consider • System Boot vector • Discard Interface • Design Upgrades • Support Growth of Linux 45% 40% 35% 30% 25% 20% 15% 10% 2010 5% 0% 2011 Source: EE Times Embedded Market Study 2011 Growth of Flash Memory . 2011 - $22 billion; 19.3 billion gigabytes Challenges of Working with Flash on Linux . Flash must be “managed” . Driver required for more than basic functionality . Flash File System (YAFFS, JFFS2, UBIFS) Flash Management ECC Block Use NAND Software Driver EZ-NAND OS e•MMC Software alternatives Linux Kernel File System Cache Software Solution Configuration NAND Registers Erase Units to Disk Sectors Physical Erase Block Logical File Block Logical Erase Block File System Block Pitfalls . Write Amplification . ECC - Bad Blocks . Wear Leveling Wear Leveling Effectiveness – Dynamic Only Uneven usage! Only dynamic data is wear leveled Underused Optimal Overused Wear Leveling Effectiveness – Complete Nearly uniform wear across static & dynamic data Underused Optimal Overused FACTORS TO CONSIDER Boot Cycle uboot mtd Full Flash Management Discard interface . File system delete . Hardware notified . Saves flash life, wear leveling Testing 350000 300000 Write 131072 bytes 250000 ext3 ext4 Nitro 200000 ubifs jffs2 150000 Rewrite ext3 ext4 100000 Nitro ubifs 50000 jffs2 0 4 8 16 32 64 128 256 512 1024 2048 4096 8192 16384 File System Connection Linux Kernel Flash File System NAND File System Connection Linux Kernel New File System e•MMC Design Upgrades . Flash Part End-of-Life . Kernel updates Support . Evaluation . Field Failures . Flash Image Tools.