SSD写入放大 / 主机写入量、对NAND写入量的意义与差别

SSD写入放大 / 主机写入量、对NAND写入量的意义与差别

使用CrystalDiskInfo查看我自己的ssd:
在这里插入图片描述
结果发现写入量有两个统计数数据:主机写入量总计、对NAND写入量总计
两个数据不一样
所以就想查查它们有什么区别

查了一下,结果如下:
主机写入量,指的是主机要求SSD保存的数据
对NAND写入量,指的是SSD实际操作过程之中对其NAND的实际写入量
二者不同,其原因是:
SSD写数据的机制与传统的机械硬盘不同

SSD的组成层次

(从小到大)
page(4KB)
block(通常64个page组成一个block,有的是128个)
plane(多个blcok组成)
die(plane就是一个die)
闪存片(多个die组成)
SSD(多颗闪存片组成)
在这里插入图片描述
在这里插入图片描述

写入放大

一个page有三种状态:空;无效数据;有效数据。
向SSD写入数据时,以page为单位,但只能向空的page里写。如果要向存有无效数据的page里写,则需要先进行擦除,将无效数据的page变为空page,再写入。但是擦除数据时,是以block为单位的。
举例:向一个block写入一个page的新数据时,一个block里已经没有空的page了,只有有效数据以及无效数据的page,所以主控就把新数据以及有效数据读到缓存形成一个新的block,再擦除原先的block,再把新block写回去。这个操作带来的写入放大就是: 实际写一个page的4KB的数据,造成了整个block共512KB的写入操作,这就是128倍的西融入放大(WA,Write Amplification)。写入放大造成了SSD实际对NAND的写入量大于主机要求的写入量。
同时,原本仅须一步写入page的操作变成:缓存读取新数据以及有效数据→闪存擦除→缓存写入,造成延迟大大添加,速度变慢。
所以说,写入放大是影响SSD随机写入性能和寿命的关键因素。以100%随机4KB来写入,眼下的大多数SSD主控,在最坏的情况下WA能够达到100以上。假设是100%持续的从低LBA写入到高LBA的话,WA能够做到1,实际使用中写入放大会介于这两者之间。SSD的详细操作过程例如以下:

在这里插入图片描述

当一个block里的page只有空、有效数据两种状态时,在写入数据的时候不需要进行擦除,trim就是通知SSD在空闲状态时,将无效数据擦除,以减少SSD在写入数据时需要进行的数据擦除工作。

主机写入量、对NAND写入量

那么问题来了:我的对NAND写入量为啥小于主机写入量?
根据该贴

http://bbs.pceva.com.cn/forum.php?mod=viewthread&tid=119967

原来,以SLC模式写入的数据不会计入对NAND写入量,所以对NAND写入量也不能代表真实的写入状况。所以,你永远不知道你的SSD真实的磨损状况。但是,如果厂家有良心,将自己主控的算法水平也计算在内,那么保修的TBW应该指的是主机写入量,对NAND写入量不准也没有关系。当然,对于我这种对NAND写入量小于主机写入量的状况,即使是黑心厂家也只能说按照主机写入量算TBW了。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值