Memblaze:如何加速SSD进入稳态( 二 )

\n

是否可以直接全盘随机写入进行预处理?

\n

在执行4kB随机写入测试之前 , 通常的预处理包括对于SSD全盘的一次顺序写入和几次随机写入 。 既然最终的测试是随机性能 , 为什么在清空后一定需要先进行一次顺序写入再进行随机写入而不是直接通过若干次随机写入使得SSD进入稳态呢?这是由于SSD内部的工作原理决定的:采用上述方法可以最快速度使得SSD进入到随机写的稳态 。 实际上 , SSD在清空后 , 内部的Flash物理空间被全面释放出来 , 成为空闲资源 。 为了使SSD再次进入稳态 , 需要尽可能向SSD内部写入数据 , 占据这些空闲的Flash块 。 只有SSD内部的空闲块基本用完 , 才能触发它内部的垃圾回收(GC)机制并尽快使得性能下降到稳态 。

\n

对于一个容量为1000GB的企业级SSD , 存在约15%的超额配置(Over Provisioning) , 内部的Flash物理空间总共约为1150GB 。 如果对全盘顺序写入一次 , 占用的物理空间就是1000GB 。 而如果采用4kB随机写入的方式 , 对全盘随机写入1000GB的数据 , 由于两次写入的位置可能存在重叠 , 因此虽然占用的物理空间仍然是1000GB , 但是这些空间对应的逻辑地址要小于1000GB 。 那么两者之间的差异到底是多少呢?

推荐阅读