关于固态硬盘你必须知道这些
2019-09-10陈东升
陈东升
随着固态硬盘的崛起,价格也是越来越低,装机搭配一块固态硬盘成为了几乎所有电脑的标配。PC电脑硬件之间的木桶效应,本来机械硬盘时代的短板被固态硬盘弥补了一段,但是固态硬盘的结構简单,制造技术低,如果愿意,自己也能DIY一块固态硬盘,这也间接导致市场鱼龙混杂,如何选购成为了一个难题。
1.内部组成
SSD简单说由五部分构成:主控芯片、闪存、外置缓存颗粒、PCB板以及外壳。
主控:主控类似于CPU进行固态硬盘的内部运算,主控很重要。
闪存:存储内容的地方。
外置缓存:某些型号没有外置缓存,有些集成在主控内部,有些特殊设计不需要很大缓存所以没有,类似于内存。
SLC缓存:大幅提升固态硬盘爆发速度的技术。
PCB板:把主控、闪存颗粒、外置缓存颗粒等其他芯片焊接在上面的的板子,类似于主板。
外壳,铁壳子或者塑料盒子。
2.闪存颗粒
闪存颗粒厂商
最大的就是3家,三星、英特尔(镁光合作建厂)和东芝。其他颗粒也有美光的大S颗粒,还有其他的一些封装厂,例如威刚、群联。能生产颗粒最重要的晶圆的就是那最大的3家,其他厂家要么生产的少,要么就是拿生产的晶圆自己封装成你所能看到的闪存颗粒。
颗粒类型
SLC,MLC,TLC,QLC以及特殊的3D Xpoint闪存颗粒。
颗粒的简单原理
不同的闪存颗粒简单点说就是单位面积储存的数据不同,增加储存的数据量,可以增加单位面积的数据储存上限,但是会造成寿命和性能的降低。
SLC颗粒:NAND闪存的始祖,具有十万次的P/E寿命,(就是十万次擦写寿命,就是相当于把盘写满,然后删除),同时具有很高的速度,但是成本高,单位密度低,民用几乎看不到。
MLC颗粒:具有3 000 ~10 000次的P/E寿命,速度表现尚可,不过主流市场现在很少了,能买到的要么是二手,要么是“大船货”,其已经基本退出了主流市场,但还是可以买到,价格中等。
TLC颗粒:具有500 ~1 000次的P/E寿命,速度较慢,但是有SLC缓存的加持,短时间速度表现也很不错,加上有很多针对TLC的主控芯片,为2TLC普及添砖加瓦。家用主流市场现在几乎都是TLC颗粒,但是商用或者大型数据处理中心还是以MLC和SLC为主。
QLC颗粒:最近出现的颗粒,目前在市场上较少,寿命和速度表现较差,暂时不推荐,如果日后技术成熟了,买来作为仓库还是不错的。
Intel 3D xpoint颗粒:具有极高的寿命,民用可以作为传家宝级别,介于DRAM和NAND之间的速度,第一代约有1 % DRAM的速度,但这样也比NAND强非常多,随机读写性能碾压NAND。
原理:闪存颗粒原理很复杂,简单点说就是闪存颗粒如果要数据读写,需要将电子穿过一个类似电容的场,不然电子乱跑,加电压以后电子顺着场做运动穿过电容中间的二氧化硅,然后读写数据。就像一道水闸,加电压水闸降低,水就流过去了(可能不是很准确,但是这是笔者能想到的最简单的方法)。
SLC闪存有0和1两种状态,可以表示1 bit数据;MLC闪存有11、10、01和00等4种状态,可以表示2 bit数据;TLC闪存有111、110、101、100、011、010、001和000等8种状态,可以表示3 bit数据,说这些和耐用性有什么关系呢?问题在于,闪存单元每次编程或擦除的电子穿越过程都会导致硅氧化物的损耗。这东西本来就只有区区10 nm的厚度,每进行一次电子穿越就会变薄一些。也正因为如此,硅氧化物越来越薄,耐用性自然就更差了。
简单地说,SLC的电压状态最少,可以容忍电压的更大变化,MLC的4种状态也基本可以接受,TLC的8种就太多了,电压可变余地很小。在不清楚确切的所需电压之时,就不得不将同样的电压分成8份(SLC和MLC分别只要2份和4份)。在使用过程中,编程和擦写一个TLC闪存单元所需要的时间也越来越长,最终达到严重影响性能、无法接受的地步,闪存区块也就废了。
颗粒封装
其实颗粒并不是所看到的一个大黑片,里面其实是一个晶圆小块,然后外面是黑色树脂包裹保护以及一些走线。
晶圆第一步挑选完后会有一部分被淘汰,这部分通过某些渠道流出,下游厂商切割,屏蔽坏的部分,成为黑片。
第二步切割以后,将切坏的淘汰,被下游封装厂得到,封装后成为白片,例如大S颗粒,白片比黑片好,不是不能用,但这是好的白片,差的白片一般用去做储存卡、U盘等,但还是有厂商做固态硬盘。差的白片和黑片差不多,白片不能一棒子打死,但是也不能直接武断同意。
第三步再次检测后留下的就是正片,正片厂商封装完成后就成为了我们看到的颗粒。
3.主控
如果将颗粒比作马,那么主控就是鞭子,驱使管理颗粒。没有主控,颗粒只能是“莽夫”。一个好的固态硬盘,一般主控也不会很差。主控厂商有三星、Intel、慧荣、美满(Marvell,也称马牌)、群联(phison)和智威等。
一般三星的主控只用在自家的固态硬盘上,Intel研究出来也是只给自己家企业级固态用。
主控功能
SLC缓存:将TLC变成只储存1 bit的数据,那么这块就成为了SLC缓存,但是毕竟是TLC,缓存用完后便会原形毕露。
TRIM:垃圾回收机制,因为固态硬盘和机械硬盘写入擦除方式不同,固态硬盘写入数据最小是Page页,擦除就是块,类似于写入是可以写入1 KB数据,但是擦除时不能只擦除1 KB,需要擦除100 KB。所以需要把部分没用的数据挪到一起,凑够1个块,然后一次擦除。
磨损均衡:1个块不能一直擦除写入,需要大家“雨露均沾”,不然一直用1个块,容易用坏,这就是磨损均衡。
4.接口以及协议
接口决定了速度的上限,不管固态实际多快。
接口:SATA,mSATA,M.2,PCIE这4个是常见的。
协议:SATA和部分走SATA通道的M.2固态对应AHCI协议。走PCIE通道的M.2就是NVME协议。
SATA和mSATA接口
SATA在台式机上是必定有的一个接口,mSATA在比较老的笔记本上有,不过后来少见了,因为有了M.2接口。SATA现在基本是3.0和2.0的较多,理论上2.0是3 Gbps,3.0速度6 Gbps,能夠达到750 MB/S的速度,实际上大部分都是500 M/S,也有少于这个的。
M.2接口
M.2接口有2种B-key和M-key,后者是走PCIEx4通道,前者PCIEx2通道,速度不太一样,体验差不多。
PCIEx4通道
把PCIEx4固态做到PCIE插卡上,可以增加体积增强散热以及其他功能,例如断电保护等。同时也能获得直通CPU的PCIE通道,获得更快的速度提升,但是较低的平台会和显卡抢占通道,毕竟直通CPU的PCIE通道很珍贵。一般其它的都是南桥提供的,速度比不上直连的。
5. DRAM缓存
SSD的DRAM缓存作用是储存映射表数据,有些固态硬盘没有外置的缓存,但是集成在主控内部,叫做SRAM。映射表数据就像是一个账本,记录着颗粒哪些地方储存着什么数据,哪些是没用的数据,在垃圾回收时可以方便很多。
这部分缓存还有缓冲作用,如果要在510 KB无效空间中存放4 KB数据,需要先擦除512 KB,再写入4 KB,缓存可以存储多个4 KB数据,等到一定量后一次擦除。
6.掉电保护
掉电保护可以保护SSD中正在读写的数据,简单点说就是有一些掉电保护电容。供电时电容充电,意外断电后电容放电,让固态硬盘把未完成的数据完成,在映射表中做好记录,使固态硬盘通电后还能继续使用。一般民用数据没那么重要,考虑到成本原因,也是售价原因,家用的没这个功能,但是PCIE直连CPU的固态硬盘有,这类硬件的有一个通用缺点,那就是贵。一般这个功能企业级SSD都有。
7. OP容量
固态硬盘除了能看到的那部分空间,还有一部分隐藏空间,这部分就是OP容量。当部分SSD原来的空间损坏后,用这些隐藏的空间顶上去来提升SSD寿命。
8.其他
写放大:前面提到过,如果要在512 KB无效空间中存放4 KB数据,需要先擦除512 KB,再写入4 KB,这就是写放大,写入4 KB,却要擦除512 KB,这是128倍的放大,不过一般没有这么极端,写放大造成了不必要的擦除,降低寿命。擦一次是这么久,如果是很多次呢,那么浪费的时间就体现在速度上,降低了性能。所以减小写放大不仅提升性能,还延长寿命。
OP空间:虽然OP空间越大越好,但是高于一定量便没有意义,购买时一般也不会标注出来,所以不必非常在意。
日常使用:如果没什么必要,不要经常擦写固态硬盘,这会降低寿命。所以固态硬盘240 G及以下最好就是别分区了,因为单个分区小了,可能需要重新删除一些东西(但还要看个人喜好,只是建议)。
通过内容可以看出,SSD是有寿命的,尤其TLC寿命和SLC比都不是一个数量级。经常擦写降低寿命、主控不好降低寿命、颗粒不好寿命更低,所以选购时这三方面成考虑是最重要的。