金士顿验证(固态硬盘的技术参数有哪些)

这是少数派与国民好物 aigo 联合推出的信息储存设备的科普系列文章。作为国内早期的存储设备制造商及佼佼者,感谢 aigo 对本文提供的一系列支持,包括但不限于技术知识指导、市场难寻的老物件以及作者用于拆解介绍的最新产品等。

我们希望通过最简洁通俗的描述,带领大家了解信息储存设备的基本原理,知道那些复杂的参数,如何挑选购买适合自己的存储设备,又是如何更好地使用,更安全稳定地保存我们的数据,以及未来我们能够用上什么技术。 另本系列虽然与 aigo 联合发起,但所有内容不涉及任何品牌指导或要求的商业营销。

在上一章我带大家从微观的晶体管到宏观的闪存颗粒,让大家详细了解了固态硬盘的原理和结构。那么这一章我们就综合上一章学到的知识来介绍一下我们选购和使用固态硬盘时需要了解到的一些参数,以及如何测试固态硬盘的实际性能和速度,相关的性能参数又代表着什么。

固态硬盘的参数解读

在介绍各个参数之前,我想先推荐一个比较好用的查看硬盘信息(机械硬盘和固态硬盘都可以,比较好用)的软件给大家 —— CrystalDiskInfo,看名字大家都应该能猜到它是和 CrystalDiskMark 同一家出的软件,完美继承了它家软件的特点:界面简单,功能简洁好用,有二次元皮肤。

金士顿验证(固态硬盘的技术参数有哪些)

M.2 接口上通常也会标注出长度数字

至于 2220 长度的固态硬盘估计大部分人都没见过,在早前比较常用,如果你现在在笔记本或者其他地方找到这个接口,大部分时候其实是给 WiFi 模块用的。

在有些设备上还会使用 mSATA 固态硬盘,虽然它的缺口和 NVMe 固态硬盘一样,但是宽度比较宽,所以接口是不通用的。

金士顿验证(固态硬盘的技术参数有哪些)

金士顿 Kingston 的 mSATA 固态硬盘,图片来源:Amazon

固态硬盘的接口协议

在介绍机械硬盘结构原理的那一章,我们已经了解到接口,协议,和总线的联系和区别。这一章我们介绍固态硬盘接口时可以顺便稍微复习相关的知识,同时拓展介绍一下它们仨。

先来简单复习一下:

总线:计算机设备里各个部件之间交换数据(传输电信号等)的通道,这个通道每秒能传输的数据量就叫做带宽。协议:双方交换数据的规则,比如如何识别对方的身份、如何建立断开连接、编码解码方式(也就是电信号怎么传输接收)等等。接口:让两个设备之间可以通过特殊的形状物理连接起来。

机械硬盘一般使用的就是 SATA 总线或者,然后使用 SATA/AHCI 协议来和设备其他部件沟通,但放在固态硬盘上事情就有一些复杂了。在本小节开头,我们也提到目前固态硬盘的接口协议等等种类还比较多,也让很多用户稀里糊涂买到了不适合自己的固态硬盘或者速度没有达到设备上限的固态硬盘,浪费了额外的时间和性能。

金士顿验证(固态硬盘的技术参数有哪些)

壳子里面的主要部分就很小一块

固态硬盘的全面普及最早是在笔记本上,之前笔记本放机械硬盘的做法是把 SATA 接口焊在主板上,然后在主板上留一个 2.5 寸机械硬盘那么大小的位置。但固态硬盘本身只有很小的一个,也不需要机械硬盘那么高的供电,没有必要用 SATA 这个电源部分就占了一半的接口,跟没有必要留 2.5 寸机械硬盘那么大的位置,加上那个时候超极本超薄本等轻薄设备的概念兴起,所以主板厂商就设计出了 mSATA 接口。

金士顿验证(固态硬盘的技术参数有哪些)

笔记本上的 mSATA 接口,图片来源:Reddit 用户

它和我们现在见到的 M.2 接口已经非常相似了,不过仍然是走的 SATA 协议和总线,你可以把它理解为 SATA 接口的迷你版,毕竟 mSATA 就是 mini SATA 的缩写,这个时候厂商终于可以把固态做到合适的大小。

不过到现在这个接口基本上已经没有什么笔记本在使用,都用上了更新的 M.2 接口,如果新笔记本里面还有这个接口,通常上面插的都是无线网卡而不是固态硬盘。倒是很多移动固态硬盘内部还在使用 mSATA 接口转 USB,毕竟大部分人对于移动硬盘的速度需求并不高,能超越 SATA 速率的 USB3.2/USB4 也还没有普及,厂商没必要用上对硬件要求更高的协议和接口。

金士顿验证(固态硬盘的技术参数有哪些)

笔记本上常见的英特尔无线网卡,一般还会带蓝牙,这个型号是 AX200

另外英特尔还推出过一个叫做 SATA Express 的接口,他可以直接插两个 SATA 来走 SATA 协议,也可以用整个接口走 PCIe*1/2,不过这个东西接口还是太大,速度上限提升也不高,只出过几款对应的主板,连支持的设备都没有出就夭折了。

随着固态硬盘的速度越来越高,这两个接口已经远远无法满足日益加快的固态硬盘,所以厂商必须设计一个专门用于固态硬盘,并且可以直接与速度最快的 PCIe 总线交流的接口。

M.2(NGFF) /PCIe 接口固态硬盘

专门用于固态硬盘,并且可以与速度最快的 PCIe 总线交流的接口,说的就是我们今天常见的 M.2 接口了。M.2 是我们比较常听说的名字,但它其实叫做 NGFF(Next Generation Form Factor),翻译成中文就是次世代接口,后来被改名叫 M.2,可能是觉得这个接口不可能一直次世代吧。「2」就是第二代的意思,「M」则是我们下面提到的 M.KEY,表明接口的形状,中间用点隔开表示它们俩是不同的参数。

M.2 接口作为现在和未来的主流接口,自然有向后兼容,既可以使用 SATA 协议也可以使用 NVMe 协议,由于支持协议众多并且接口复杂,M.2 接口通过接口上的缺口来确定协议类型,由于不同缺口像钥匙那样,所以叫做 KEY,M.2 接口有从 ABCDEFGHJKLM 这么多种 KEY,KEY 对不上是插不进去对应接口的(真就钥匙呗……)。不过倒不用担心太过复杂,因为我们日常只能看到两种:M KEY 和 B KEY。

金士顿验证(固态硬盘的技术参数有哪些)

SAS 和 U.2 接口的样子

SATA 硬盘可以插到 SAS 和 U.2 接口上,反过来 SAS 硬盘和 U.2 硬盘则不能插到 SATA 接口上。

AIC 就是 PCIe Add in Card 的意思,其实就和 PCIe 固态差不多,也可以直接插在 PCIe 接口上使用,主要是因为服务器上有很多设备都比较老,用不了其他接口,插PCIe 是最直接的。

金士顿验证(固态硬盘的技术参数有哪些)

aigo 的 AIC 企业级固态硬盘

接口兼容性与速度上限

接下来我通过实际的例子来说一下不同接口的固态硬盘的速度上限,首先 SATA 这类接口就不用说了,加上损耗最高 600MB/S。

接下来你再看你设备上的 M.2 接口,如果是 B KEY,还要在看主板说明书。如果主板说明书上没有写明这个接口支持 PCIe×2 总线,那么无论你买啥,只要能插进去,最高速度都不超过 600MB/S。如果主板说明书上写明这个接口支持 PCIex2 总线,那么就要购买同样支持 PCIex2 的 B KEY/B&M KEY 的固态硬盘,插上去之后最高速度大概能来到 1GB/S 左右。 金士顿验证(固态硬盘的技术参数有哪些)

上一章也有的 TLC 检测数据过程动图

现在连 PLC 都快出来了,按照上面的原理一个储存单元就能储存 5bit 的数据。

这样做的好处自然显而易见,同样面积的储存单元,QLC 比起 SLC 能够存放 4 倍的数据,也就是说闪存颗粒的密度提升了 4 倍,这已经是很惊人的差距了,同一块闪存颗粒如果全做 QLC 可以有 1000GB 容量,那么 TLC 只有 750G, MLC 只有 500G,SLC 更是只有 256G 了。

而且由于数据密度提高,相同容量的 TLC 固态价格也和数据密度一样是 SLC 的 1/4 左右,也就是说便宜同时还变大碗。这听起来好像很美好,那么为什么大家都那么抵制使用 TLC /QLC 储存单元的固态硬盘呢?

多层储存单元的缺陷

首先就是一个储存单元上,分的阈值电压越多读取的时候就要越多次,比如 TLC 读取一次一页的数据就要轮流给 7 个阈值电压,每给一次阈值电压都要一个个检测储存单元是否导通,而 SLC 只要一个阈值电压检测一次,每多一个需要检测的阈值电压,读取速度就会慢很多倍。

多个阈值电压也会带来读取困难后果,上一章我们也讲到不能无限细分预置电压去无限提高容量密度。即使只做到 TLC 的级别也会带来阈值电压区间过小的问题,因为我们往储存单元写入数据的时候,并不能精确控制电子量,如果阈值电压过小电子量又刚好卡在中间,那么数据到底是 010 还是隔壁的 011呢?这个时候就需要 ECC 纠错算法的加入,通过校验数据纠正这个储存单元上的信息然后重新写入正确的数据,这一步又大大减慢了读取速度。

写入的时候也是这样,阈值电压越多,储存单元储存数据需要的电子量要求就越精准,自然就越容易出错。出错的时候又要 ECC 纠错算法来校验重新写入正确数据,写入速度也被拉慢了。阈值电压变的设置对储存单元的寿命也有影响,先不说上面提到反复写入影响到的寿命,我们知道每一次写入都会对包括浮栅的绝缘层造成物理损伤,而闪存颗粒又是每一次写入数据都需要先擦除对应块再写入数据,这样时间长了浮栅里面保存的电子就会越来越容易穿过漏洞逐渐增多的绝缘层「越狱」跑掉。

对于 SLC 而言,0,1 两个状态相差的电子量很多,即时跑掉一点也不影响读取;不过当到 QLC 这种,每个状态之间电子量差很小,只需要有一点点电子从浮栅中跑出来,就会让这个储存单元读取的数据变成另一个状态。而当写入后短时间内电子跑掉的量大于两个数据状态之间的差,主控就会认定这个储存单元已经挂掉了。清楚了原理之后,我们很容易就能发现比起 SLC,MLC/TLC/QLC 等等越多层的储存单元挂掉需要的时间越来越短。

金士顿验证(固态硬盘的技术参数有哪些)

标明储存单元类型的固态硬盘

现在厂商都会使用 DRAM 或者将固态硬盘的一部分空间模拟成 SLC 来加当做缓存来解决 TLC/QLC 的速度问题,而且即使是 QLC,只要容量足够大并且有一个好的主控,那么我们日常使用每个储存单元的擦写数据可以控制得很低,只要你不是每天 24 小时不停在写入,基本上也有十几年的寿命(详细的参数在下面会介绍)。所以最后还是要看个人的需求,如果的确对数据可靠性和速度有很高要求,并且价格不敏感,那的确不要考虑 QLC 甚至是 TLC,感觉大部分时候都可以,具体的我会在选购那章详细介绍。

说实话基本很少见硬盘颗粒坏掉的,一般都是主控先坏,不然也不会有那么多厂家回收固态颗粒再当做新的卖了。

金士顿验证(固态硬盘的技术参数有哪些)

大厂的 QLC 固态硬盘也还是不便宜

当然也不是说就能无脑买了,某些无良厂商会用回收或者质量差的反正就很垃圾的颗粒和主控弄成全盘 QLC,然后配上一丁点高质量 DRAM 或者 SLC 缓存当做高配固态卖,这种固态硬盘无论是缓外速度还是寿命,可靠性都一塌糊涂。。

即使是大厂也经常会有偷换颗粒这种新闻,所以我们买之前也要搜一下固态型号,看看有没有相关的黑历史;另外相同类型的颗粒在厂家那边还会有原厂颗粒、黑片、白片等区别,详细的我会在选购那章展开讲。

简单查看固态硬盘上的颗粒类型

说了这么多,也来到了实战的环节。这一节我就来教教大家怎么看自己固态硬盘用了什么类型的闪存颗粒,闪存颗粒的质量怎么样。

各位可以拿出自己的固态硬盘来观察一下,或者购买对应固态硬盘之前先网上搜一下对应的照片,闪存颗粒上面一般会有一些编码。当然有一些厂家也会使用没有编码的闪存颗粒,或者把闪存颗粒上的编码丝印刮掉,这种的话想要了解颗粒的具体参数,就只能去咨询厂家了(除非你把闪存颗粒从电路板上拆下来,接上 AlcorMP 这类的软件进行查看编号)。

金士顿验证(固态硬盘的技术参数有哪些)

没有编码丝印的闪存颗粒

金士顿验证(固态硬盘的技术参数有哪些)

AlcorMP 查看闪存颗粒编号

一般来讲,不同厂家使用不同颗粒的编码差别会很大,比如正规的大厂一般会在颗粒上带有晶圆厂的 Logo,自家的品牌或者产地容量等等。

金士顿验证(固态硬盘的技术参数有哪些)

像是这种只有一个编号的,就是自封颗粒

如果是原厂闪存颗粒,我们就可以使用 SSD-Z 或者 FlashMaster 这类的应用去获得详细的储存单元类型和颗粒生产信息。但如果是自封闪存颗粒,只能是拿着这个固态的型号或者编码去问客服或者谷歌一下,没错就是这样子,因为原厂颗粒还好,但是现在固态很多都用上了自封颗粒,也没办法用 flash.top 或者 FlashMaster 这类的应用去查询。

金士顿验证(固态硬盘的技术参数有哪些)

杂牌「大号 U 盘」固态硬盘的缓外速度,图片来源:什么值得买@blackocean

另外现在还有 HMB 等类似的技术,原理就是支持的操作系统可以将运行内存分出一部分来当做固态硬盘的缓存,这样既不用 DRAM 颗粒节省成本,也避免了 SLC 缓存的缺点。不过目前好像只有 NVMe 固态硬盘加上 WIN10 1709 以上版本才能开启这个技术。

金士顿验证(固态硬盘的技术参数有哪些)

我手上的西部数据 SN550 宣传页面就着重宣传了这个技术

OP 空间

看完上面那这部分,细心的朋友可能就会发现,固态硬盘除了用户数据外,还有很多额外的数据要装 —— FTL 映射表、纠错用的校验码、SLC 缓存等等。

所以厂商通常会把固态硬盘的实际容量做得比标称容量大,根据良心程度大 5%~30% 不等,也就是说 256G 的固态硬盘真正空间甚至能有 332GB。多出来的这部分空间就叫做 OP 空间(OP= Over Provisioning,就是额外提供的意思)。

这部分空间也是动态的,由主控进行调整。除了放我们上面说的那些额外数据外,当部分储存单元坏掉的时候,主控还负责把 OP 空间里面的容量释放到正常用量里,保证用户能使用的总容量不变。另外多出一部分空间来平衡擦除次数,也可以一定程度上延长固态硬盘的寿命,如果有 30% 容量的 OP 空间甚至可以将固态硬盘寿命延长 50% 以上。

一些玩固态硬盘的发烧友,所谓的开盘其中一部分操作就是用特殊的工厂软件把这部分空间开出来,获得额外的免费容量。想折腾手上又刚好有空闲固态硬盘的朋友可以自己去找下对应品牌的工厂软件玩一下。

金士顿验证(固态硬盘的技术参数有哪些)

东芝的固态硬盘管理软件可以很方便地调整 OP 空间

至于我们如何查看缓存容量和 OP 空间大小,OP 空间一般需要对应品牌的工厂软件才能看到,缓存容量则是要通过实际测试跑出来,下面实际测试部分,我会仔细教大家怎么做。

主控协议 ONFI/Toggle

至于闪存颗粒接口标准和主控之间的交互协议目前则有 ONFI/Toggle 两种,厂商也围绕这两个协议组成了联盟,ONFI 协议联盟主要有英特尔,镁光,海力士;Toggle 协议主要有三星和东芝,ONFI 协议主要就是为了对抗三星东芝的垄断而诞生的,背后也有一段故事。这个协议的具体还有它们背后的故事,我在这里就不细说了,感兴趣的朋友可以看看相关文献里面的内容,或者自己去找找。

看到这里我们已经了解的主控经常用的工作内容,算法越高级每个部分效率越好,而更高级的算法对主控性能的要求就更高。相信大家对主控性能和算法质量的重要性有了更加深刻的理解。

就像 CPU 需要散热风扇一样,现在固态硬盘主控性能日益提升,和颗粒产生的热量一起已经需要散热马甲来压住,等以后甚至还要给固态硬盘专门准备散热风扇了。

金士顿验证(固态硬盘的技术参数有哪些)

挖了几个月矿的西部数据 SN550,读写都快 1200TB 的固态硬盘你见过吗

更别说企业用户了,所以对于写入量更大的企业用户还有另外一个参数 DWPD,这个参数代表每天全盘写入次数,也就是每天写满多少个硬盘容量。

DWPD 一般只有用料十足卖的贼贵的企业级固态才敢这么标,民用级固态可不敢这么玩,拿我们上面举例的 512GB QLC 固态来讲,与普通企业级硬盘 10DWPD 也就是每天写 10 个盘容量来算:512*150/5120=15 天,半个月就能把这个盘干废了,所以知道为什么买二手硬盘要小心小心再小心了吧。而企业级固态这么玩还能有几年的保修时长,足以看出颗粒和主控品质的差距。

金士顿验证(固态硬盘的技术参数有哪些)

CrystalDiskInfo 的健康度和总写入读取量

按照我用来做系统盘的普通 NVMe 固态硬盘来讲,已经使用了得有两三年了吧,目前写入量 18401GB,换算成 P/E 大概是 71,按照 TLC P/E 来讲才消耗了 14% 的寿命。这就是我一个日常用户大概的使用情况,所以说与其担心颗粒寿命不如担心一下主控能不能挨这么久,毕竟大部分固态坏掉的都是主控,颗粒还能被厂商回收起来再次利用。

相关文献:

[1]. 固态硬盘的主要尺寸标准可以参考全球网络储存工业协会 SNIA 的介绍。[2]. NVMe 协议以及对应控制器的详细情况,可以参考这份 NVM Express 官方的开发者文档。[3]. 查看储存颗粒详细参数可以上 https://www.flashinfo.top/ 这个网站或者使用 FlashMaster,另外这里也放一份俄罗斯人 Ochkin Vadim 制作的 Flash ID 读取工具。[4]. 闪存颗粒的生产过程可以看一下镁光官方在 YouTube 上传的视频「Making Memory Chips – Process Steps」。[5]. ONFI 与 Toggle 协议的介绍可以查看各自的官方文档「ONFI Specifications」和 「TOSHIBA memory Toggle DDR1.0 Technical Data Sheet」。[6]. 各家固态硬盘更新固件,还有开盘的工具:铠侠(东芝)固态硬盘固件管理工具 Kioxia Storage Utilities,三星固态硬盘管理工具 Samsung SSD Magician Software,西部数据固态硬盘管理工具 WD SSD Dashboard。[7]. 未来我们能买到的便宜的 PLC 颗粒的介绍。[8]. 关于我们常看见的 BiCS4 3D NAND 名词可以参考铠侠(东芝)官方的介绍

测试固态硬盘的实际性能

了解完对应的参数之后,我们就来到了实际测试环节了。在这个环节使用的软件和基本参数反映的意义与机械硬盘部分都差不多,有一些在固态硬盘特性加持下会有一些不同。

但我们需要知道的是,和机械硬盘直接跑就能获得比较准确的速度不同,固态硬盘在不同负载和扇区大小的情况下,性能都会有明显的差别。除此以外,不同的文件系统,不同的CPU,不同的内存主板供电,甚至是不同操作系统的格式化方法等等都会影响到固态硬盘的实际性能,有时候带宽足够固态硬盘也会跑不出标称的性能,最重要的还是散热,不同的散热对高端固态硬盘的性能有巨大的影响。

也正因为如此固态硬盘的标准测试方法,一直都众说纷纭,特别是行业联盟或者业内给出的测试方法往往过于复杂,要求很高,对于普通用户不太适用。这种复杂程度也让固态硬盘的国标测试方法直到最近才出来(GB/T 36355-2018,2019 年生效)

金士顿验证(固态硬盘的技术参数有哪些)

固态盘测试国标 GB/T 36355-2018 封面

但国标测试方法对普通用户而言还是有点复杂,所以通常用户自己使用的时候,只需要按照我下面给的方法测试一下,接近标称性能就足够了,不过这种波动也成为很多无良厂商混用主控,偷偷更换内存颗粒的借口。

测试环境:AMD 5600X 华硕 B550M-PRO 海盗船复仇者 8G*2 3200Mhz,室温 27℃ 空闲固态硬盘无散热马甲(吐槽一下华硕主板 PCIe3.0 M.2 接口有散热马甲,PCIe4.0 M.2 接口反而没有就离谱),新建简单卷关闭文件压缩。

空盘、半盘、满盘测试

测试方法简单总结就是:空盘,半盘,和满盘测试。在这部分我们依旧使用 ASS SSD Benchmark 和 CrystalDiskMark 这两款软件。

注意,以下测试基本都是最极端的情况,实际使用情况会比测试结果好。

我们以 aigo 性价比 SATA 固态硬盘 S500 和高端 NVMe4.0 固态硬盘 P7000 为例:

首先是两个盘刚刚格式化之后,或者容量为空的时候,开始用两个测试软件跑一次测试。

金士顿验证(固态硬盘的技术参数有哪些)

NVMe4.0 固态硬盘 P7000 半盘测试结果

最后我们把所有的固态硬盘容量用到只剩 50GB 左右,再进行最后一次测试。

金士顿验证(固态硬盘的技术参数有哪些)

SATA 固态硬盘 S500 满盘测试结果

金士顿验证(固态硬盘的技术参数有哪些)

SATA 固态硬盘 S500 读速度与缓存容量

金士顿验证(固态硬盘的技术参数有哪些)

NVMe4.0 固态硬盘 P7000 读速度与缓存容量

HD Tune Pro 的使用有一点需要注意,就是需要硬盘没有被格式化而且没有分区,不然选择写入的时候就会提示写入已被禁用。如果已经建好分区卷,可以在 Windows 的磁盘管理里面选择对应的磁盘右键选择删除卷就可以了。另外软件默认的块大小是 64KB,与其他测试软件对比时块大小要对应才可以。

金士顿验证(固态硬盘的技术参数有哪些)

aigo P5000

高速固态还可以更好地战未来,比如等未来微软的 Direct Storage 普及之后,PCIe4.0 的重要性就会更加突出,用了一阵子的高速固态还能发挥出更高的性能。

我在查找资料的时候,居然还发现有 NVMe 机械硬盘这种神奇的东西。大家也可以去搜一下相关的信息,如果有机会我会把它放到最后一章讲一下。

本文来自作者:zx1080,不代表小新网立场!

转载请注明:https://www.xiaoxinys.cn/307254.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。