【TLC固态硬盘的寿命真的那么不堪吗?】

编辑

【TLC固态硬盘的寿命真的那么不堪吗?】

编辑

浮梁卖茶人

科技数码领域创作者

关注他

847 人赞同了该文章

前言:

这个问题其实非常有意思,刚好反应了当下很多人对于TLC颗粒的PE次数的担心和忧虑,我经常收到一些问题就是,TLC的写入次数那么少,会不会寿命不行啊,也有的人宁愿加很多预算也要上三星的PRO系列MLC固态,其实这都是没多大意义的,今天,这个文章我带你详细了解一下固态硬盘寿命的那些问题。

正文部分:

在介绍标题之前先得介绍一点基础知识,我们先讲一下固态硬盘的基本结构。

编辑

无论是M.2接口的NVME高速固态还是SATA接口的普通固态,他们大体都有三个主要部件,颗粒,缓存芯片,主控芯片。我们把固态硬盘存数据比喻成仓库存放物品,那主控芯片就相当于仓库管理员,他控制着仓库的物品进出,同时对仓库内的物品进行管理,而颗粒则相当于仓库的货架,用来存放货物,无论是搬进仓库还是搬出仓库,只靠双手来肯定效率低,所以就弄了一个小推车来完成货架到仓库出口这个路程,缓存芯片就相当于仓库管理员手中的小推车,

固态硬盘的工作原理就是和上面的仓库例子一样,主控芯片控制数据的写入写出,颗粒则是存储数据的仓库,缓存芯片就是管理员的小推车。我们所说的TLC固态硬盘,说的就是颗粒使用的类型为TLC。

那很多人说TLC寿命短,是根据什么判断的呢?那就是循环擦写次数,行业术语PE,当我们使用固态硬盘的时候,会往内部写入数据,而写入数据则会对固态硬盘的颗粒进行一次擦写,目前的固态硬盘,这个擦写次数是有限的,SLC颗粒大约可以擦写1万次以上,而MLC大约为3000-10000次,TLC大约为1000-3000次,当固态硬盘的擦写数据的大小达到了标称称值,也就算完成了一次擦写,比如说一个480G的固态硬盘全盘写入480G数据后,则消耗掉了一次PE寿命,如果他再进行999次480G的全盘写入,那他就会耗尽PE,耗尽PE后会发生什么我会在后面进行解读,这里大家知道PE是什么就行了。

也正是因为TLC的PE看上去很短,就让很多人产生了一种错觉,那就是TLC固态硬盘寿命很短,MLC的PE大约是TLC的三倍,所以MLC的寿命就是TLC的三倍吗?并不是。

事实上固态硬盘的工作过程远比我们想象的要复杂,并不是说你下载了1G的数据,你的固态硬盘就会完成1G的写入,如果是操作1,就写1,那这样固态硬盘再牛逼也很快就会报废,其次他的性能也会很垃圾。

主控在往颗粒里面写入数据的时候,是依赖主控读写算法进行的,而这套读写算法可以有效优化数据写入的过程,就好像一个笨手笨脚的仓库管理员,他如果去管理仓库,就会把仓库弄得一塌糊涂,而一个专业的仓库管理员就可以让仓库分类得当,井井有条。所以主控的读写算法也会决定你的固态硬盘寿命,因为他直接决定了你的颗粒擦写的过程,间接影响擦写次数。

除了读写算法,固态硬盘里还有很复杂的纠错算法,电气信号不可能做到万无一失,所以电脑里各个配件都有冗余和纠错设计,当主控发现数据错误的时候,会进行纠正,这个纠正的过程也会消耗颗粒本身的PE,所以影响固态硬盘寿命的另一个关键就是纠错算法。

除了纠错算法,还有回收算法,固态硬盘使用过程中会和机械硬盘一样,产生大量的碎片和一些不必要的垃圾数据,而且固态硬盘每次写入数据之前都需要进行擦除才能再次写入,而不能直接覆盖,所以需要trim回收。不同区块的数据还需要定期整理,让他们能被主控更方便的找到。回收算法的目的就在于让固态硬盘始终可以保持高性能,但是这套算法在运行过程中,会搬动很多数据,也会反复擦写颗粒。

除了回收算法,还有负载均衡算法,颗粒的擦写次数是有限的,而一块固态硬盘通常是很多颗粒组成的,每个颗粒内又会被分出很多区块,这些区块的擦写次数往往不可能做到相同,有的颗粒擦写次数多,那他就会提前耗尽PE寿命,而有的区块擦写少,那别的区块都GG了,他还没怎么用,所以为了避免出现这个情况,就需要主控在读写数据的时候,让擦写次数多的区块尽量少用一点,让那些比较新的区块多用一点。

上述几个算法可能我讲的不是很正确,因为我毕竟不是固态硬盘设计工程师,但是大体上就是这么回事,除了我上面讲的,还有各种各样的复杂算法浓缩在固态硬盘的工作流程中,一个良好的主控,是有着超多的优异算法加持的。

因此看到了这里你就应该明白了,固态硬盘的寿命不能就片面的看PE,PE只能代表颗粒本身的循环擦写次数,而复杂的主控算法直接决定了主控将如何使用颗粒,这套算法对于寿命的影响远比你想象的要可怕,这里我们可以看个例子。东芝的BICS3是3DTLC颗粒,在固态硬盘的强大主控下,可以使用高级的LDPC纠错算法,所以他的PE次数可以达到3K也就是3000,而如果是将这个颗粒放入U盘或者储存卡之中,他只能使用较差的BCH纠错算法,这时候的PE就只有300了,下降了10倍。

编辑
图片和例子来自PCEVA实验室

仅仅只是纠错算法这一个算法的不同,就导致了相差了10倍的PE,那要是结合起垃圾回收算法,负载均衡算法,等等其他各种固态硬盘工作会用到的算法,那你觉得这时候,只看PE还有任何的意义吗?反正我觉得是没有意义的。

那些从固态硬盘正式商用开始的生产的SLC固态硬盘,由于当时固态硬盘技术的不成熟,以及没有大量的市场检验,其本身搭载的各种算法都十分落后,其寿命还真不一定有现在的某些MLC甚至TLC寿命长。因此这个年代,还抓着TLC的PE次数低就说TLC寿命不行是垃圾颗粒的人,那就是非蠢即坏了。

那既然看PE没有用,我们应该关注什么数值呢?行业里一般是两个:TBW和DWPD

TBW代表的是主机硬盘数据的总写入量,通常你买固态硬盘的时候,商品详情界面都会标注出这个固态硬盘的TBW是多少,比如三星的860EVO其250G的TBW为150TBW,500G则为300TBW

编辑

那我的固态已经用了一段时间,我该如何检测他现在的TBW是多少呢?这个量你用软件CrystalDiskInfo就可以看到,比如我的笔记本固态硬盘目前的TBW就是2155GB。

编辑

而也正是因为TBW的存在,很多固态硬盘的质保就给你玩文字游戏,比如著名的海康C2000PRO这个固态,很多人都说性价比很高,还有10年质保,所以买买买,但是很多人没发现商品详情里有一行小字,10年质保和TBW,以先到的为准,也就是假如你十年内的TBW超过了规定值,你的10年质保就不算。

编辑

TBW一般常见于民用固态,而企业级固态都用DWPD,每天全盘写入次数来衡量寿命。比如Intel的S3700这个固态,5年内的DWPD为10,也就是你每天全盘擦写10次,都可以擦写5年,也正是因为企业级颗粒极其强悍和稳定,寿命长,他才敢这么标,民用固态每天全盘擦写10次,我估计大多数固态1年不到就要报废。

编辑

那文章的最后再说一下假如PE或者TBW或者是DWPD到达了官方所说的值会发生什么?是不是只要我的固态硬盘到了标称的值就会坏呢?并不是,其实很多时候,厂商提供的PE,TBW和DWPD都是偏保守的,实际上你使用过程中的寿命可能要比官方宣称高很多,你不信可以去百度看看很多固态硬盘的暴力读写测试,大多数固态硬盘报废都是在厂商标称值往后很多。

那是不是意味着我的固态如果已经超过官方TBW还可以接着用呢?并不是,当你的固态硬盘快要寿终正寝的时候,虽然你进行正常的数据读写都不会出现任何问题,但是实际上固态硬盘内已经发生了大量的错误,只不过是依靠算法帮你纠正了,而这种错误会越来越多,直到固态硬盘最后无法把所有错误纠正,最后直接数据全部损坏。因此如果你的固态快要接近厂家提供的寿命区间,我推荐就将重要数据重里面移出去或者做备份吧。

那既然会出错,我是不是要天天盯着固态硬盘的寿命啊,这样才能保证数据不会丢失,其实大可以不必提心吊胆,目前固态硬盘厂商也知道颗粒存在物理寿命,所以做出了很多的办法去保护你的数据,比如OP空间,比如说你买了一块480G的固态硬盘,实际上这个固态可能是按照512G设计的,其中有那么十几G的空间拿去做保留了,不允许你使用,等将来固态硬盘出现区块损坏的时候,主控就会就把损坏的区块屏蔽掉,然后启用这提前预留好的OP空间去替代那部分损坏的区块。很多企业级固态的OP那是真的恐怖,比如我手里有个P4500 2T,实际可用就1.6T,有将近300-400G拿去做OP了。

除了OP空间外,很多固态硬盘的厂商还会进行锁盘保护,写入会消耗TBW,但是读取不会,所以当固态硬盘知道自己快不行的时候,就会禁止写入,来保护磁盘内的数据,强制你把磁盘内全部数据拷贝走,不让你用这个固态了。

(0)

相关推荐