存储策略创建指南
1. 管理型闪存文件系统
随着管理型闪存技术(尤其是 eMMC)的发展,我们需要考虑如何有效利用它。虽然它与硬盘驱动器有相似特征,但底层的 NAND 闪存芯片存在大擦除块、有限擦除周期和坏块处理等限制,并且在断电时需要具备鲁棒性。
可以使用任何常规磁盘文件系统,但应选择能减少磁盘写入且在意外关机后能快速重启的文件系统。
2. Flashbench 工具
为了充分利用底层闪存,需要了解擦除块大小和页面大小。制造商通常不会公布这些信息,但可以通过观察芯片或卡的行为来推断。Flashbench 就是这样一个工具,其代码可从 https://github.com/bradfa/flashbench 获取。
以下是在 SanDisk 4GB SDHC 卡上的典型运行示例:
$ sudo ./flashbench -a /dev/mmcblk0 --blocksize=1024
align 536870912 pre 4.38ms on 4.48ms post 3.92ms diff 332µs
align 268435456 pre 4.86ms on 4.9ms post 4.48ms diff 227µs
align 134217728 pre 4.57ms on 5.99ms post 5.12ms diff 1.15ms
align 67108864 pre 4.95ms on 5.03ms post 4