电脑硬件之固态硬盘基础知识科普
本科普贴是由(知彼而知己)原创,本站转载分享。
一、总线、协议、接口
首先来了解一个概念「总线」。电脑的各种硬件都插到主板上,各硬件之间通信的导线,可以简单的理解为总线,更准确一点的定义是汇总起来的导线,即公共通信干线。一般主要有:SATA总线、PCIe总线、SAS总线。假想一下水管,管子粗细决定了水流量大小,只不过在总线这里,叫做「带宽」,它决定了传输数据的速度上限。通常SATA3.0、PCIe3.0、PCIe4.0、SAS3.0的最大理论传输速度依次为:600MB/s,1GB/s,2GB/s,1.2GB/s。
上面说的PCIe3.0单通道传输速度1GB/s,那么4条通道就是4GB/s,即PCIe3.0x4带宽为4GB/s。同理,PCIe4.0x4带宽为8GB/s。PCIe4.0x16那就是32GB/s。目前PCIE第七代都有了,不过常见的为三代和四代。
如果把硬盘看成汽车,总线看成是高速公路,在公路限速的条件下,汽车具有再快的能力,是不是也必须减速。所以总线决定了数据传输速度的上限。
光有总线把设备连接起来可不行,通信还得有「协议」,就是它们之间商量好的一些规定(比如电压、时钟、阻抗......),直白的理解就是,CPU说:天王盖地虎,硬盘回:小鸡炖蘑菇。匹配成功!如果硬盘回:宝塔镇河妖,显然是没对上,即「糗友协议」不匹配,没法交流。所以说,如果这个协议的效率非常高,那么二者交流起来就比较快。目前硬盘常见的协议有:AHCI、NVME协议。SCSI协议主要用于服务器,IDE协议已被淘汰。
有了总线,协议,那我怎么把硬盘接到主板上?那就需要一个插槽,也叫「接口」。主要接口有:PCIe、M.2、SATA、mSATA、SATA-E、U.2、SAS,我们看一下各种接口的物理形状:
总结一句话:总线、协议、接口三者相互配合,才能让硬盘发挥更大的性能。固态硬盘最常见的几种形式,如下表。并不是M.2接口的速度就快...基本上都是取决于总线的带宽。所以还要看主板是否支持...如果主板只支持PCIe3.0,你即使买了支持PCIe4.0的固态,也不能满血发挥。去掉损耗(和做工、用料也有关)之类的,下图中4GB/s的最高速度能达到3500MB左右,8GB/s的最高能达到7500MB/s左右。
二、固态硬盘组成
固态硬盘主要包括三个重要部分:主控芯片、闪存颗粒、缓存(有独立缓存DRAM、模拟缓存SLC Cache)。
写入时,数据经过主控芯片的处理后存放到闪存中,读取时,主控从闪存读取数据,然后通过M.2接口→PCIe总线发送给其他设备。
三、闪存芯片
如果把闪存颗粒拿放大镜观看,就像是一个密度超级大的魔方,每一个小方格(晶体管)里面可以存放不同数量的电子,闪存是通过电子来存储数据。一个小方格如果只能存储1bit数据则为SLC,2bit则为MLC,3bit则为TLC,4bit则为QLC。即闪存颗粒主要有SLC、MLC、TLC、QLC。
SLC速度最快,MLC、TLC、QLC依次递减。原理也容易理解,1bit的数据只有0和1两种可能,2bit数据有00/01/10/11四种可能,每种可能性都代表一定量的电子数量。可能性越多,复杂程度更高,电压的控制就要更精确,因此花费的时间就更长。另外,假设存储20bit的数据,SLC需要20个小方格,MLC则仅需要10个,SLC处理速度虽然快了,但是体积也比较大,价格也美丽。
无论是速度、寿命、还是价格,SLC>MLC>TLC>QLC。QLC寿命较低。目前TLC是主流。尽量避开非主流~要么贵要么寿命低。
可以生产闪存颗粒的厂家有:三星、西部数据(闪迪被西数收购)、海力士、铠侠(原东芝存储,目前与东芝没关系了)、镁光(英睿达)、长江存储(致态)。这些有能力制造原厂闪存颗粒的厂家,制作流程是:晶圆制造→检测→封装,合格产品贴上标签商标即为原厂颗粒(原片);不经过检测直接卖给其他厂家去封测的,即为原厂第三方封测颗粒,这里面有好的有不好的,理论上说肯定是自己生产自己严格检测封装的效果更好吧?所以这类闪存颗粒品控整体略差一些,不过也还行;还有一些淘汰掉的颗粒会进行技术处理,处理完成后再卖出去,这就是原厂降级片(大S颗粒),也叫白片。不进行技术处理直接卖出去的是黑片。前两种还行,后面这两种的话,白片慎重考虑吧,避开黑片。
电子产品再好的牌子也有一定故障率,概率上来说原厂原封的颗粒肯定要好很多,颗粒不好的坏起来可毫不含糊。颗粒有价,数据无价!
四、主控芯片
主控芯片是固态硬盘的大脑,它好不好,直接决定了整个硬盘好不好。主控芯片并不是谁都会生产,它主要来自两大阵营:原厂(三星、西数、镁光......)和主控厂商(慧荣、群联、英韧、美满、得一微......)。所以选的时候还是选择比较有名的主控厂商比较好,直接影响硬盘的性能、寿命等等。
五、缓存
有外置的独立缓存DRAM和模拟缓存SLC Cache,为了节省成本,并非所有的硬盘都有DRAM...
①DRAM主要有两个作用:
存放FTL表:DRAM(外置的独立缓存)中存放FTL表,可以理解为目录,为了更方便快速的查找芯片中存放的文件。
缓解写放大:写入数据前要擦除整个block区块,写入数据时一页一页的写入,即使数据不满一页,也要写一页。当所有页都沾满后,下次存数据时,就要把不足一页的数据先搬出来合并,再擦除block。这样加速读写,容易降低寿命。所以每次写入数据前,主控芯片会把要写入的数据先放到DRAM中,存满一页后再往闪存中写入。
通常1GB闪存颗粒需要1MB的DRAM,如果控制成本缩减DRAM,那么FTL表就存不全,只能存放一些常用的,剩余的部分FTL表就存放的闪存颗粒中,速度肯定就不如DRAM快。
闪存颗粒的读写速度远远小于DRAM,所以对于无缓存的固态来说,一般会借用内存的一部分空间存放FTL表(每次开机的时候,往内存写入常用的FTL表,即HMB技术),速度同上。
②SLC Cache
对于主流的TLC固态硬盘,一个小方格存放3bit数据,也就是2³个状态(每个状态为不同的电子数量)。因为SLC速度快,如果人为的让一部分硬盘空间,每次一个小方格只写1bit数据,那不就变成SLC了吗?写入数据时,首先往SLC区域写入,等硬盘空闲了再转入TLC区域,所以这种方法叫做模拟缓存。但这个SLC Cache区域设置多大,不同厂家的方案也不同。当SLC空间用完,那么写入速度就会直线降下来(掉速,缓内速度→缓外速度)。
那么掉速掉到什么程度?这就要看主控芯片的控制能力、闪存颗粒自身的能力了,所以不同牌子之间的细微区别就出来了。
如果是上面介绍的大DRAM方案,基本不会出现掉速的情况。以上就是有缓和无缓的区别~
六、4K随机读写
4K随机读写性能是一项直接影响使用体验的指标。代表了硬盘数据吞吐的能力(iops)。
七、售后、质保
影响寿命的因素主要是擦写次数,SLC Cache既有好处也有缺点,比如会增加擦写次数降低寿命。一般硬盘简介都会写耐用度:500TBW、750TBW等等,1TB=1024GB,W是Write的意思,也就是说500TBW表示写入硬盘500TB的数据,差不多硬盘就到头了~自己算算能用多久?