写入放大(Write Amplification)是闪存和固态硬盘的一个重要属性,具体指由于硬件设计问题,写入数据到这些存储时,真正写入到硬件中的数据量比需要的数据量大很多。
SSD 构成 & 写入原理
闪存的基本构成:
- 页(page)4K
- 块(block)通常 64 个页,有的是 128 个页
- 面(band)多个块组成
- 闪存片,多个面组成
- SSD,多个闪存片组成
SSD 写入数据步骤:
1. 擦除数据对应块数据(以块为单位)
2. 写入数据(以页为单位)
从上述步骤中可以看出,为了要写一个页的数据,SSD 需要擦除并写入 64 倍的数据量(一个块的大小是页的 64 倍)。
写放大系数
SSD 和 USB 一样,常用的是 nano flash,对其操作主要是:写(program),读(read)和擦除(erase)。
写放大系数的含义是:当我们的 host 要求向 SSD 写入 A 大小的有效资料,而实际上由于 flash 的特性,我们真正写入 flash 的资料大小是 B,那么 B/A 就是写放大系数。