洋兄弟断电测试的整体流程如下:
1. 调用一个Worker, 用Record写满整盘,使SSD建立完整的Mapping Table
2. 调用Worker开始执行Workload,每次一个Workload跑30秒;
3. 在此30秒内,选择随机时间使SSD断电
4. 掉电时 Worker仍然在运行,确保SSD是在有IO的断电
5. 停止Worker,给SSD上电
6. 调用Checker开始检查SSD上的所有Record,检查是否存在之前列出的5类问题
7. 回到步骤2重新进行测试
他们一共选择了15块SSD,2块HDD进行测试。
下图是采用Current Random Write workload在各盘上跑的掉电测试次数。
除了SSD#3第8个cycle就出现问题,其他盘都至少跑了100个cycle。
测试结果如下:
只有2块SSD全身而退,从结果来看,这套测试方法效果还是挺明显的,有空大家可以自己看看原文。
https://www.usenix.org/system/files/conference/fast13/fast13-final80.pdf