引子:最近因办公需要,申请了一台式机电脑,型号就不说了,配置较为差劲,遂申请了内存条和固态硬盘进行升级改造,今天记录下踩的坑,因为太过业余,申请的固态硬盘竟然因为协议不支持而无法被识别,于是重新申请了新的固态硬盘。鉴于此次踩坑,所以决定要研究下硬盘类型以及相关的协议。
1、硬盘类型
硬盘是电脑主要的储存媒介之一,硬盘有固态硬盘(SSD 盘,新式硬盘)、机械硬盘(HDD 传统硬盘)、混合硬盘(HHD 一块基于传统机械硬盘诞生出来的新硬盘)。SSD采用闪存颗粒来储存,HDD采用磁性碟片来储存,混合硬盘(HHD: Hybrid Hard Disk)是把磁性硬盘和闪存集成到一起的一种硬盘。绝大多数硬盘都是固定硬盘,被永久性地密封固定在硬盘驱动器中。
想要搞清楚各种SSD固态硬盘,我们需要知道三个概念,总线、协议和接口。理解了他们三者的关系,在为自己的电脑选在SSD时,就会得心应手了。
2、SSD接口
结合市面上固态硬盘的接口类型,主要分为 M.2接口(NVME协议)、M.2接口(SATA总线)、SATA接口、PCI-E、U.2接口、MSATA接口。其中 M.2接口硬盘有两种协议类型,NVMe协议和SATA协议,需要注意区分。前者速度更快,后者是传统速度。
2.1、M.2接口
M.2是一种固态硬盘新接口,是Intel推出的一种替代MSATA新的接口规范,也就是我们以前经常提到的NGFF,英文全称:Next Generation Form Factor。
M.2接口的固态硬盘宽度22mm,单面厚度2.75mm,双面闪存布局也不过3.85mm厚,但M.2具有丰富的可扩展性,最长可以做到110mm,可以提高SSD容量。M.2 SSD与mSATA类似,也是不带金属外壳的,常见的规格有主要有2242、2260、2280三种,宽度都为22mm,长度则各不相同。
接口划分: M.2接口主要有B-Key和M-Key两种接口形式,B-Key支持的是SATA或PCI-E x2总线,最大读取速度达700MB/S; M-Key支持的是PCIe x4通道,理论带宽可以达到4GB/s,是B-Key的5倍之多。第二我们是从体积上来对比,虽然MSATA接口体积足够小,但是与M.2接口相比,往往单面MSATA接口的体积都比M.2接口的整体体积小得多。
说到这里,我们再来详细区分一下M.2接口的B-Key和M-Key的区别,它们的区别除了通道速率的不同,在结构表现上主要为缺口位置的不同,M-Key的缺口位置在右,B-Key的缺口位置在左。客户可以根据自己的需求,来选择适合自己的M.2接口。
协议划分:
2.2、SATA接口
作为目前应用最多的硬盘接口,SATA 3.0接口最大的优势就是成熟。普通2.5英寸SSD以及HDD硬盘都使用这种接口,理论传输带宽6Gbps,虽然比起新接口的10Gbps甚至32Gbps带宽差多了,但普通2.5英寸SSD也没这么高的需求,500MB/s多的读写速度也够用。
2.5寸这个数值并非很多人想象的硬盘对角线长度,而是机械硬盘内部硬盘盘片的直径。到了固态硬盘时代,闪存芯片替代了磁盘成为存储介质。没有了盘片直径后固态硬盘依然按照原来2.5寸标准的大小去制造,这样可以最大限度的兼容各种台式与笔记本电脑的硬盘位。
2.3、PCI-E接口
在传统SATA硬盘中,当我们进行数据操作时,数据会先从硬盘读取到内存,再将数据提取至CPU内部进行计算,计算后写入内存,存储至硬盘中;而PCI-E就不一样了,数据直接通过总线与CPU直连,省去了内存调用硬盘的过程,传输效率与速度都成倍提升。简单的说,我们可以把两种通道理解成两辆相同的汽车,PCI-E通道的汽车就像是在高速上行驶,而SATA通道的汽车就像是在崎岖山路上行驶。很显然,PCI-E SSD传输速度远远大于SATA SSD。
目前PCI-E接口通道有PCI-E 2.0 x2及PCI-E 3.0 x4两种,最大速度达到32Gbps,可以满足未来一段时间的使用,而且早期PCI-E硬盘不能做启动盘的问题早解决,现在旗舰级SSD大多会选择PCI-E接口。
2.4、U.2接口
U.2接口别称SFF-8639,U.2的设备端接口融合了SATA及SAS接口的特点,U.2不但能支持SATA-Express规范,还能兼容SAS、SATA等规范,主板一端是mini SAS(SFF-8643)接口,设备端的U.2线则是一端接在SATA电源上,一端接在U.2硬盘的数据口上。因此大家可以把它当做是四通道版本的SATA-Express接口,它的理论带宽已经达到了32Gbps,与M.2接口毫无差别。 U.2接口的优点是接口带宽达到了32Gbps,支持NVMe协议,甚至供电能力也提高了,这都有助于提高SSD性能,但U.2不好的地方在于它依然是新兴事物,很多主板目前并没有U.2接口,而且U.2接口的消费级硬盘少的可怜,目前开始销售的也只有Intel的750系列。
2.5、MSATA接口
mSATA接口,全称迷你版SATA接口(mini-SATA)。是早期为了更适应于超级本这类超薄设备的使用环境,针对便携设备开发的mSATA接口应运而生。可以把它看作标准SATA接口的mini版,而在物理接口上(也就是接口类型)是跟mini PCI-E接口是一样的。
mSATA接口是SSD小型化的一个重要过程,不过mSATA依然没有摆脱SATA接口的一些缺陷,比如依然是SATA通道,速度也还是6Gbps。诸多原因没能让mSATA接口火起来,反而被更具升级潜力的M.2 SSD所取代。
3、SSD协议标准
SSD固态硬盘有四大协议传输标准,IDE协议、AHCI协议、SATA协议和NVME协议。
3.1、IDE协议
1. PATA(并行ATA)
2. PATA只支持数据部分进行CRC校验
3. IDE盘不支持热插拔
4. 需要设置主从盘跳线
3.2、AHCI协议
Serial ATA Advanced Host Controller Interface,串行ATA高级主控接口/高级主机控制器接口,IDE速度太低,协议老旧,所以有了AHCI;但AHCI是为了机械硬板而产生的产物,现在SSD已经普及,所以不再说明。
3.3、SATA协议
SATA协议是我们目前所应用最广泛的传输协议,传输速度更快,执行效率高,还支持热插拔,目前绝大部分硬盘还是使用SATA协议。SATA是Serial ATA的缩写,即串行ATA。它是一种电脑总线,主要功能是用作主板和大量存储设备(如硬盘及光盘驱动器)之间的数据传输。这是一种完全不同于串行PATA的新型硬盘接口类型,由于采用串行方式传输数据而得名。SATA协议使用嵌入式时钟信号,具备了更强的纠错能力,与以往相比其最大的区别在于能对传输指令(不仅仅是数据)进行检查,如果发现错误会自动矫正,这在很大程度上提高了数据传输的可靠性。
特点:
1. 串行接口结构简单,支持热插拔,传输速度快,执行效率高。
2. 与传统ATA相比,具备了更强大的纠错能力,很大程度上提高了数据传输的可靠性。
3. 节省空间,有利于机箱内部的散热,线缆之间的串扰也得到了有效控制。
4. 对数据和指令封包进行循环冗余校验(CRC),使得单bit和双bit的错误都能被检测出来。
3.4、NVME协议
NVMe协议是专门为闪存产品开发的传输协议,是目前SSD产品传输协议的最优解决方案,可以充分发挥SSD的性能同时又可以降低延迟。目前作为NVMe协议的M.2接口的固态硬盘是首选,同条件下读写速度基本都在SATA协议的3倍以上。NVMe是一个针对基于PCIe的固态硬盘的高性能的、可扩展的主机控制器接口,NVMe的显著特征是提供多个队列来处理I/O命令。
4、SSD传输总线
总线像一条公路,公路上的车好比总线上的电信号;公路的车道数量和速度就决定了公路的车流量,故总线的位宽大小和传输频率决定了一次传输中能够提供的最大速度。常见的总线类型有:PCIE总线、SATA总线、PATA总线、SCSI总线、SAS总线、FC总线。
- PCIE总线,PCIE是一切的根,目前有PCIE2.0,PCIE3.0标准,
- SATA总线,SATA1.0(150Mb/s)、SATA2.0(300Mb/s)、SATA3.0(600Mb/s)
- PATA总线,PATA-66(66Mb/s)、PATA-100(100Mb/s)、PATA-133(133Mb/s)
- SCSI总线,作为服务器总线,已淘汰。
- SAS总线,SCSI的替代品,SAS1.0(3Gb/s)、SAS2.0(6Gb/s)、SAS3.0(12GB/s)
- FC总线,FC接口很稀缺,是基于网络传输协议下诞生的接口。起源于SCSI,但速度远远超过SCSI,最新FC通道速度可以达到16Gbps。
文章参考