1.OP的简介
SSD OP全称是(Over-Provision), 中文名预留空间, 指用户不可操作的容量,大小为SSD实际容量减去用户可用容量。简单来说over-provision可以提高ssd的wear-leveling, 减少写放大, 提高随机写的性能, 提高ssd的使用寿命。
2.OP的作用
(1)一般用于优化操作:比如WL(磨损平衡)、GC(垃圾回收)、坏块映射等。增加闪存使用寿命,减少数据的搬迁,就是减少NAND闪存的读写次数,增加使用寿命。数据保护主要提供ECC之外的数据保护。
(2)在组装好固态硬盘后,固态硬盘制造商可以额外保留硬盘总存储容量中的一部分,以用作固件编程期间的预留空间 (OP)。预留空间改善性能并常常可以提高固态硬盘的耐久性,有助于延迟硬盘的使用寿命,这得益于固态硬盘控制器拥有更多的闪存 NAND 存储可用于缓解 NAND 闪存在其使用寿命期间的磨损。
3.OP的结构
一般分三层:
(1)第一层:容量固定为SSD标称容量的7.37%,这部分空间被默认用作于OP。
(2)第二层:OP是否存在及容量大小取决于厂商设置。通常为0%,7%和28%等等。SSD制造商会根据自己的闪存颗粒品质,质保年限,或者是针对市场定位进行设置。
(3)第三层:OP是用户在日常使用中可以分配的。一般用户可以在初次分区的时候,需要留下一部分硬盘空间给OP。如果分区后再设置op,必须要先进行全盘擦除,否则没有效果。
4.工具下载与安装
(1)离线安装,下载地址 https://pkgs.org/download/nvme-cli
安装rpm包
rpm -ivh nvme-cli-2.0-4.el9.x86_64.rpm
(2)在线安装
yum install -y nvme-cli
5.查询硬盘信息
6.修改NVME SSD OP
(1)比如4KiB一个逻辑块的话, 6500G就需要2646 + 244188 * 6500 = 1587222000个逻辑地址了,这些逻辑块就组成了namespace(512B一块逻辑块的话,500G就需要21168+1953504*6500=12697797168个逻辑地址)。
(2)脱离
nvme detach-ns /dev/nvme0 -n 1 -c 0
nvme delete-ns /dev/nvme0 -n 1
nvme reset /dev/nvme0
(3)创建
nvme create-ns /dev/nvme0 -s 1587222000 -c 1587222000 -f 0 -d 0 -m 0 #数值为套用上诉公式所得
nvme attach-ns /dev/nvme0 -n 1 -c 0
nvme reset /dev/nvme0
(4)创建完成
(5)删除
nvme detach-ns /dev/nvme0 -n 1 -c 0
nvme delete-ns /dev/nvme0 -n 1
nvme reset /dev/nvme0
(6)恢复
nvme create-ns /dev/nvme0 -s 1875366486 -c 1875366486 -f 0 -d 0 -m 0
nvme attach-ns /dev/nvme0 -n 1 -c 0
nvme reset /dev/nvme0
(7)验证是否成功