2345王牌技术员联盟论坛

下载

APP

王牌

小程序

总回帖数:0
【百万礼品0元领】OP预留空间如何影响SSD的写入放大?进而提高SSD寿命  查看:303 | 回复:0   查看全部 | 举报 | 收藏
军衔:
上将
经验:14011/15000
发帖:
80/40413
精华数/发帖数
信誉:
四 星
累计收入:
10000元以上

什么是SSD的写放大?

写放大(Write Amplification),最早在08年由Intel公司和SiliconSystems公司在论文和出版物中提出并使用。这一术语通常用闪存的写入与主机系统的写入之比来衡量。


简单来说:写入放大值越小,对硬盘使用寿命提升越有帮助。




写入放大是怎么来的?


我们来了解下硬盘的读写机制,首先来看下闪存构成如下:

页page(4K)

块block(由64/128个page组成一个block)

面plane(多个block组成)

die(一个或多个plane组成一个die)

闪存片(多个die组成)

SSD(多颗闪存片组成)



一个块block是由128个页page组成

一个页page是大小是4KB



一个面Plane由1024个块block组成



由于固态硬盘无法像机械硬盘那样实现物理性的数据覆盖(新数据直接覆盖旧数据/无用数据),只能擦除后再写入。



闪存工作原理是以page为一个单元写入,擦除只能以block为单位进行。



如擦除一个block(64个page组成),其中32个page为有效数据和32个page被标记“删”的无效数据,那么在这块block重新写入前,需将整块block数据擦除,这时另一半有效数据则需要挪到一个空置的block中,这个过程叫GC垃圾回收技术。



有效数据原本写入过一次,在这次挪动过程中重新写入,这个过程就是写入放大。





大家买硬盘都会看到一个写入数据量,硬盘的写入数据量用完,说明硬盘的使用寿命也终结。


硬盘的写入放大值使用越高,固态硬盘寿命损耗越高。




既然写入放大影响硬盘的使用寿命,那有哪些方式可以减缓写入放大?


1、 Trim指令也叫disable delete notify(禁用删除通知),Trim发出ATA指令后系统通知那些数据可以安全删除,这个空间标识为可使用,等有新数据写入时执行,这个指令比标记删除快许多,也能减少写入数据量,而且能够保证硬盘的读写速度和提升硬盘使用寿命。


有时硬盘降速的原因之一就是写入数据太多而导致,这个Trim指令能够有效保证硬盘的读写速度。


Trim指令大家电脑系统默认的情况下都是开启的状态。



2、 OP预留空间也能够有效减少写入放大




相信这个页面大家经常看到,可用容量跟标称容量不对等的问题。难道少的容量是被吃了吗?




今天来说下这个容量去哪了


缺少的容量叫OP,全称Over-Provisioning,也叫预留空间。


预留空间一般占总硬盘容量的7%左右,这个容量一方面是由于计算机二进制算法产生的差异(也就是上图的换算),另一方面这个预留空间是厂商在生产硬盘时用于垃圾回收GC、存储SSD主控固件和备用数据块等用处,这个容量在购买的硬盘中看不见也不可修改调整和使用。




为什么要预留空间?这样做有哪些好处?


1、 减少写入放大,也能提高硬盘的耐用性。上面介绍过硬盘写入,需先擦除后再写入。在这个过程中预留空间足够大则从空白的页中进行写入,可以减少擦除次数也能够减少有效数据的再次写入,从而提升硬盘的耐用性。


2、 能够一定程度上保证硬盘的运转性能。举个例子,一个停车场200个停车位,停的车越多,找停车位的时间就越长。预留空间越大,数据写入时做的垃圾回收次数就越少,因为有足够的空间有时不需要做垃圾回收,这样写入速度相对来说较快。




在硬盘使用过程中,为什么劝大家不要把硬盘容量用净?


在我们对硬盘可控的范围内可以留出更多一些的空间,用于缓存。


大家都知道硬盘存储过多或使用时间长,会产生坏块,这时硬盘未使用的空间可以作为坏块映射做替换,留出一个周转空间,这样也能保证硬盘的运行速度,一般留出硬盘总容量的10-20%。



总的来说剩余空间越大,硬盘的运转速度越快,而且硬盘的使用寿命也较长。

添加回复 (0) 2023-09-07 08:50:39 [1楼]
总回帖数:0
快速回复主题
您需要 登录注册 后才可以回帖
你知道吗?如果你浏览的帖子比较长,只要点击右侧浮动的【顶部】就可以让页面瞬间回到首屏哦!