OP(Over-provisioning)预留空间
SSD上的OP指的是用户不可操作的容量,大小为实际容量减去用户可用容量,OP区域一般被用于优化操作如:WL,GC和坏块映射等。OP一般分三层(见下图)。第一层容量固定为SSD标称容量的7.37%,这是因为标称容量采用千进制为单位,而NAND颗粒容量单位为1024进制,两者正好相差约7.37%。这部分空间被默认用于作OP。第二层OP是否存在及容量大小取决于厂商设置。第三层OP是用户在日常使用中可以分配的,像Fusion-IO公司还给其用户提供工具让他们自行调节大小以满足不同的耐用度及性能要求,一般用户也可以自己在初次分区的时候,不把所有的SSD容量都分满来达到相同目的,此处有一点要注意,若非首次分区就留出空间,必须要先进行全盘擦除,否则没有效果。
虽然OP会减少SSD的可用容量,但有减少WA、提高寿命、性能的正面作用。请看下图:两个相同的64G SSD,左边的分区50G,右边的全部容量分区。格式化后容量分别为:46G和59G左右。
我们知道在操作系统下,要写入共59G的数据时,左边的盘必须删除13G的‘无效’数据才行。右边的盘不需擦除就能写入所有59G数据,由SSD映射表的操作方式可知,删除后继续写入的数据在物理上会继续写入整个盘(写入OP1和OP2),在LBA上会覆盖被删除数据的地址。也就是说,同样写入59G数据,左边的盘已经包含了13G“无效”数据了。(那些被重映射到预留空间的数据,原地址数据就是“无效”、“过期”的)。所以说图中SSD里LBA上数据“有效”的机会比右边要少,因为LBA容量小(分区小),所以在做垃圾回收处理时,需要复制的“有效”数据也少了,自然效率就提高了。
一般来说,建议在不支持Trim或对SSD的性能有较高要求的时候,如数据库等类的应用,增加一定比例的第三层OP容量(此空间需要先做HDD ERASE,保证没有被使用过),可以很好的起到保持速度,提高寿命的作用。(如必须用SSD组建RAID时,强烈建议留部分OP容量以弥补没有Trim产生的影响。)