How well know about your hard drive

计算机硬件性能在过去十年间的发展普遍遵循摩尔定律,通用计算机的CPU主频早已超过3GHz,内存也进入了普及DDR4的时代,然而传统硬盘虽然在存储容量上增长迅速,但是在读写性能上并无明显提升。

传统机械磁盘的I/O读写速度成为了计算机系统性能提高的瓶颈,制约了计算机整体性能的发展。

而在最近2年左右,SSD固态硬盘随着闪存(FLASH)价格的降低,发展迅猛,有一统储存江湖的味道. 目前已经有8T的SSD了,足够你妥善保管各种小姐姐.

本文就比较系统,全面地介绍下计算机的硬盘/SSD.

根据物理尺寸,可以大致将硬盘划分为:

  • 3.5寸:目前最为常见的硬盘尺寸,几乎全部为机械硬盘,容量也达到14T之多;
  • 2.5寸:目前最为常见的硬盘尺寸,有机械盘,SSD(SATA,U.2);
  • 1.8寸:前些年还比较常见于SONY等笔记本,但是最近几年没见到了,只有Dell服务器上好像有专门的1.8寸的SSD;
  • M.2规格:外形就是那种长条,很小巧的;
  • mSATA:SATA的mini版,被M.2取代,外观和M.2很像;


依次为:3.5机械,2.5机械,2.5固态,mSATA,M.2:

依次为:2.5固态,mSATA固态,M.2固态,U.2固态(2个):

PCI-E SSD:

根据储存介质,可将硬盘分为:

  • 机械硬盘: 历史最久的存储介质,利用磁记录技术存储数据的存储器,有各种机械组件;
  • 固态硬盘: Solid-state drive或Solid-state disk,简称SSD,是一种主要以闪存(NAND Flash)作为永久性存储器的计算机存储设备,此处固态主要相对于以机械臂带动磁头转动实现读写操作的磁盘而言,NAND或者其他固态存储以电位高低或者相位状态的不同记录0和1;

扩展阅读:


世界上第一个商用硬盘,早期IBM 305 Disk Storage System,感叹科技的飞速发展啊:

今天最为常见的3.5寸机械硬盘外观:

常见的2.5寸固态内部:

对比:

硬盘的工作协议,或者工作模式可分为:

  • IDE: 很老的模式了,以前XP时代还经常将SATA接口的AHCI改为IDE兼容模式;
  • AHCI: 为SATA标准接口而设计的AHCI传输协议1),由英特尔主导的一项接口协议标准,它允许存储驱动程序启用高级串行 ATA 功能,如NCQ本机命令队列和热插拔等等;
  • NVMe2): 随着PCIe SSD产品的出现,AHCI已经很难继续满足高性能固态硬盘速度的需求,甚至成为了瓶颈,于是新的转为PCI-E产品服务的协议 —— NVME协议就此诞生!支持NVME的PCIe产品的固态硬盘比只支持AHCI协议的SATA3固态硬盘产品强到不知道哪里去了!
    • 与AHCI类似,基于装置逻辑界面的总线传输协议规范, 用于访问通过PCI-E3)总线连接的固态硬盘的规范;
    • NVMe 为 PCI-E 固态硬盘定义优化的寄存器接口、命令集和功能集,专注于标准化 PCI-E 固态硬盘并提高性能;
    • PCIe+NVME=固态硬盘的最强组合!


AHCI 的NCQ命令,改善服务器硬盘访问控制技术,可以提高硬盘效能和延长硬盘寿命:

AHCI vs NVMe:

4.1 ATA / SCSI

IDE(Integrated Drive Electronics),即 “电子集成驱动器”,它的本意是指把 “硬盘控制器” 与 “盘体” 集成在一起的硬盘驱动器。把盘体与控制器集成在一起的做法减少了硬盘接口的电缆数目与长度,数据传输的可靠性得到了增强,硬盘制造起来变得更容易,硬盘生产厂商不需要再担心自己的硬盘是否与其它厂商生产的控制器兼容。对用户而言,硬盘安装起来也更为方便。

IDE这一接口技术从诞生至今就一直在不断发展,性能也不断的提高,其拥有的价格低廉、兼容性强的特点,为其造就了其它类型硬盘无法替代的地位。IDE代表着硬盘的一种类型,但在实际的应用中,人们也习惯用IDE来称呼最早出现IDE类型硬盘ATA-1,这种类型的接口随着接口技术的发展已经被淘汰了,而其后发展分支出更多类型的硬盘接口,比如ATA、Ultra ATA、DMA、Ultra DMA等接口都属于IDE硬盘。

如下图所示,就是常见的硬盘,盘体和控制电路一体设计的:

4.1.1 ATA

更准确地说,应该是 PATA (Parallel ATA/并行ATA),是2004 ~ 2007年左右PC电脑里电脑接口的绝对主流,我记得我第一台PC就是80G的希捷硬盘,PATA接口,7200转.

这种接口最明显的就是用一条很宽的排线连接到主板, 通常主板会有2个IDE/PATA接口,一个接口又可以连接2个硬盘,分为MASTER和SLAVE,总共可连接4个硬盘,如图:

主板上的PATA接口 & 连接线:

硬盘上的PATA接口,还有专门的条线用于设置MASTER/SLAVE:

4.1.2 SCSI

SCSI(Small Computer System Interface) 小型计算机系统接口,是同IDE(ATA)完全不同的接口,IDE接口是普通PC的标准接口,而SCSI并不是专门为硬盘设计的接口,是一种广泛应用于小型机上的高速数据传输技术。SCSI接口具有应用范围广、多任务、带宽大、CPU占用率低,以及热插拔等优点,但较高的价格使得它很难如IDE硬盘般普及,因此SCSI硬盘主要应用于中、高端服务器和高档工作站中。

4.2 SATA / SAS

4.2.1 SATA

SATA (Serial ATA),串行ATA。这是一种完全不同于并行ATA的新型硬盘接口类型,由于采用串行方式传输数据而得名。

作为目前应用最多的硬盘接口,SATA 6Gbps接口最大的优势就是太成熟了,6Gbps的带宽虽然比起新接口的10Gbps甚至32Gbps带宽差多了,但普通2.5寸SSD也没这么高的需求,500MB/s多的读写速度也够用了,而在HDD硬盘上6Gbps带宽远远谈不上瓶颈,谁让HDD硬盘发展太慢了,速度一直没有质变。

SATA总线具备至少以下特点:

  • 相对于IDE硬盘的PATA 40针数据线,SATA的线缆少而细,传输距离远;
  • 使用嵌入式时钟信号,具备了更强的纠错能力;
  • 结构简单、支持热插拔;
  • SATA硬盘比IDE硬盘传输速度高;
  • 相对于IDE硬盘系统功耗有所减少,SATA硬盘使用500毫伏的电压就可以工作;

SATA规范:

  • SATA 1.0: 最大带宽 1.5Gbps / 150MB/s
  • SATA 2.0: 最大带宽 3.0Gbps / 300MB/s
  • SATA 3.0: 最大带宽 6.0Gbps / 600MB/s

SATA硬盘接口 & 连接线:

4.2.2 SATA-E

SATA Express,用来计划取代SATA 3.0的,不过没火起来.

4.2.3 mSATA

早期,为了更适应于超极本这类超薄设备的使用环境,针对便携设备开发的mSATA(miniSATA)接口应运而生。

  • 标准SATA接口的mini版,物理接口跟miniPCIe接口一样,二者易混淆;
  • mSATA走SATA通道而非PCI-E通道,需要SATA主控,速度是 6 Gbps;
  • mSATA在SSD小型化之初还是很火,但诸多原因没能让mSATA接口火起来,反而被更具升级潜力的 M.2 取代;

4.2.4 SAS

SAS (Serial Attached SCSI),串行SCSI,是新一代的SCSI技术,和现在流行的Serial ATA(SATA)硬盘相同,都是采用串行技术以获得更高传输速度,并通过缩短连结线改善内部空间等。

SAS是并行SCSI接口之后开发出的全新接口,此接口的设计是为了改善存储系统的效能、可用性和扩充性,SATA是SAS的一个子协议,SAS接口完全兼容SATA,SATA接口却不能支持SAS

Note: 时至今日,SAS任然是服务器和工作站领域的主流接口规范,最新的SAS-3 可达12Gbps的带宽,对于机械硬盘而言足以。

SAS硬盘接口 & 连接线:

SAS接口和SATA接口最大的外形区别就是SAS接口是连着的,金手指比SATA多 这个接头一般用于连接阵列卡 SAS线,带电源线

4.3 NGFF/M.2

Note: 通常用于消费级市场,如PC,超极本等.

  • 物理接口规范;
  • M.2接口用于取代mSATA接口,最初叫做NGFF4),根据SSD的长度又可将SSD氛围2242,2260,2280,22110等标准5);
  • M.2可做的比mSATA硬盘还小巧,最长可以做到110mm,可以提高SSD容量;
  • M.2有丰富的可扩展性,可同时支持SATA及PCI-E通道,但走PCIe 3.0X4通道的M.2固态硬盘速度要远强于走SATA3通道的M.2固态硬盘; 6)
  • 用于SSD的M.2接口通常为 B-key (SATA) 和 M-key (PCI-E); 7)


M.2 接口中SATA和PCI-E的区别:

Note: 走PCIe通道的M.2接口与走SATA通道的M.2接口针脚有细微区别,SATA通道的为 M & B key,PCIe 3.0 X4 为 M key。

M.2接口SSD的尺寸:

4.4 U.2 / SFF-8639接口

Note: 通常用于服务器,工作站等企业级产品.

SATA E接口取代SATA 6Gbps有点不靠谱,不过我们还有另一个选择,那就是U.2接口,它之前叫做SFF-8639,今年的台北电脑展上SF-8639接口改名为U.2接口,跟目前的M.2接口对应起来了,看这意思是希望在台机领域复制M.2接口在移动市场的成功。

U.2接口跟SATA E接口的思路差不多,都是尽可能利用现有的物理接口,但接口带宽更快,从PCI-E x2变成了PCI-E 3.0 x4,此外还增加了许多新协议支持,比如NVMe,这些都是SATA E接口不具备的(U.2其实才是SATA E的完全体)。

U.2的设备端接口融合了SATA及SAS接口的特点,中间用针脚填满了SATA接口留下的空缺,并预留了L型防呆设计,所以可以兼容SATA、SAS及SATA E规范,主板那一端则是mini SAS(SFF-8643)接口,设备端的U.2线则是一端接在SATA电源上,一端接在U.2硬盘的数据口上。

U.2接口规范:

要使用U.2接口的SSD,有两种方式,第一种就是通过 U.2数据线 8)连接主板和SSD:

主板上的U.2接口 U.2数据线

另一种就是通过PCI-E转U.2转接卡,直接安装在PCI-E槽位上:

4.5 PCI-E接口

  • 直接一步到位了….
  • 一般为半高的,直接插在PCI-E槽位上即可;
  • 现在也有很多将NVMe的M.2 SSD通过一个转换卡,转为PCI-E接口安装;

通过转接卡

由于篇幅有限,更多相关的wiki推荐阅读:



1)
Advanced Host Controller Interface串行ATA高级主控接口高级主机控制器接口
2)
NVM Express
3)
PCI Express
4)
Next Generation Form Factor
5)
分别表示42mm长,60mm长,80mm长,110mm长(这个一般笔记本或者PC不兼容,服务器等才见得到)
6)
后者更容易提高速度,早期的M.2接口使用的是PCI-E 2.0 x2通道,理论带宽10Gbps,不过在9系及100系芯片组之后,M.2接口现在全面转向PCI-E 3.0 x4通道,理论带宽达到了32Gbps,远高于之前水准,大大提升了SSD性能潜力。
7)
Intel主导制定的M.2接口实际上是个庞大的总集,我们常见的M.2硬盘只是其中的一部分,根据类型和用途不同,它还有A/B/C/D/E/F/G/H/J/K/L/M之分,其中A、E两种类型常用于WiFI/BT无线模块、NFC模块、WiGig模块等,B、M可以用于SSD,而我们常见的2242/2260/2280/22110规格的M.2属于M分支的。
8)
U.2 (SFF-8639) to HD Mini-SAS (SFF-8643)
  • hardware/认识硬盘.txt
  • 最后更改: 2019/08/07 09:15
  • 由 mrco