HHD
总线/协议分类
总线(Bus):是计算机各种功能部件之间传送信息的公共通信干线,它是由导线组成的传输线束, 按照计算机所传输的信息种类,计算机的总线可以划分为数据总线、地址总线和控制总线,分别用来传输数据、数据地址和控制信号
- 常见总线
民用的 SATA
、PCIe
和服务器的SAS
串行高级技术附件(Serial Advanced Technology Attachment,SATA)
高速串行计算机扩展总线标准(Peripheral Component Interconnect express,PCI-express)
- 常见硬盘协议
民用的AHCI
、NVMe
和服务器用的SCSI
,AHCI和SATA总线匹配,NVMe为PCIe总线量身定制,传输效率比AHCI更高
AHCI,全称是Advanced Host Controller Interface,即高级主机控制接口
接口分类
从整体的角度上,硬盘接口分为
PATA
、SATA
、SCSI
、光纤通道
、M2-SATA
、M2-Nvme
和SAS
七种
IDE(PATA)
IDE
(集成磁盘电子接口,Integrated Device Electronics)接口就是PATA
接口,指硬盘与主板间连接的方式。不过IDE
不仅指接口形式,主要还指硬盘的形式,即IDE硬盘,但人们习惯用IDE
来统称PATA
接口类的硬盘。
而PATA
接口单纯指硬盘的接口形式,即“并行接口,与之对应的是SATA
(串行接口)。其实PATA
接口(并行接口)与SATA
(串行接口)的硬盘的严格上说都是IDE
硬盘,只是人们习惯上用 IDE←→SATA
或者 PATA←→SATA
来对比区分而已。
如果说“PATA
接口的IDE
硬盘”和“SATA
接口的IDE
硬盘”会更准确点。
作为电脑中最重要的数据存储设备和数据交换媒介,硬盘传输速率的快慢直接影响了系统的运行速度。不同类型的硬盘,其传输速率往往差别很大。
现在主流硬盘主要有三种:按照不同的接口可以分为并口ATA
硬盘(即IDE
硬盘)、SCSI
硬盘(其实已经在逐步被SAS
取代)和Serial ATA
硬盘
SATA
Serial ATA
硬盘就是我们常说的串口硬盘,它采用点对点的方式实现了数据的分组传输从而带来更高的传输效率。Serial ATA
1.0版本硬盘的起始传输速率就达到150MB/s,而Serial ATA
3.0版本将实现硬盘峰值数据传输率为600MB/s,从而最终解决硬盘的系统瓶颈问题。SATA
是一种电脑总线,主要功能是用作主板和大量存储设备(如硬盘及光盘驱动器)之间的数据传输之用。使我们现在使用最常见的硬盘接口
- eSATA接头与SATA接头的差别
虽然
SATA
具备了热插拔的规范,但连接缆线多是设计给内接式硬盘使用,最大插拔次数仅约200次,超过此插拔数目,缆线接头便会劣化,甚至有可能造成硬盘的损坏,即使是针对外接应用的eSTAT
缆线,其插拔次数依然仅约2,500次左右,与USB界面相比差距甚远,不过这方面牵涉到缆线材质与成本之间的关连,虽然理论上可以达到更高的插拔次数,但是售价能否被消费者接受也是关键。
而SATA
缆线虽然在宽度上占尽优势,但是长度被限制在2米以内,这对部分应用来说,也是个相当大的限制,不过这点可以藉由xSATA
来加以解决
- ATA、IDE比较
- SATA硬盘比IDE硬盘传输速度高。目前SATA可以提供150MB/s的高峰传输速率。今后将达到300 MB/s和600 MB/s。到时我们将得到比IDE硬盘快近10倍的传输速率
- 相对于IDE硬盘的PATA40针的数据线,SATA的线缆少而细,传输距离远,可延伸至1米,使得安装设备和机内布线更加容易。连接器的体积小,这种线缆有效的改进了计算机内部的空气流动,也改善了机箱内的散热
- 相对于IDE硬盘系统功耗有所减少。SATA硬盘使用500毫伏的电压就可以工作
- SATA可以通过使用多用途的芯片组或串行——并行转换器来向后兼容PATA设备。由于SATA和PATA可使用同样的驱动器,不需要对操作系统进行升级或其他改变
- SATA不需要设置主从盘跳线。BIOS会为它按照1、2、3顺序编号。这取决于驱动器接在哪个SATA连接器上(安装方便)。而IDE硬盘需要设置通过跳线来设置主从盘
- SATA还支持热插拔,可以像U盘一样使用。而IDE硬盘不支持热插拔
SAS
SAS
是新一代的SCSI
技术,和现在流行的Serial ATA(SATA)硬盘相同,都是采用串行技术以获得更高的传输速度,并通过缩短连结线改善内部空间等。SAS是并行SCSI接口之后开发出的全新接口。
此接口的设计是为了改善存储系统的效能、可用性和扩充性,提供与串行ATA (Serial ATA,缩写为SATA)硬盘的兼容性
SCSI
SCSI
(Small Computer System Interface)小型计算机系统接口,一种用于计算机和智能设备之间(硬盘、软驱、光驱、打印机、扫描仪等)系统级接口的独立处理器标准。SCSI是一种智能的通用接口标准。它是各种计算机与外部设备之间的接口标准
优点:
- SCSI可支持多个设备,SCSI-2(FastSCSI)最多可接7个SCSI设备,WideSCSI-2以上可接16个SCSI设备。也就是说,所有的设备只需占用一个IRQ,同时SCSI还支持相当广的设备,如CD-ROM、DVD、CDR、硬盘、磁带机、扫描仪等
- SCSI还允许在对一个设备传输数据的同时,另一个设备对其进行数据查找。这就可以在多任务操作系统如Linux、WindowsNT中获得更高的性能
- SCSI占用CPU极低,确实在多任务系统中占有着明显的优势。由于SCSI卡本身带有CPU,可处理一切SCSI设备的事务,在工作时主机CPU只要向SCSI卡发出工作指令SCSI卡就会自己进行工作,工作结束后返回工作结果给CPU,在整个过程中,CPU均可以进行自身工作
- SCSI设备还具有智能化,SCSI卡自己可对CPU指令进行排队,这样就提高了工作效率。在多任务时硬盘会在当前磁头位置,将邻近的任务先完成,再逐一进行处理
- 最快的SCSI总线有160MB/s的带宽,这要求使用一个64位的66MHz的PCI插槽,因此在PCI-X总线标准中所能达到的最大速度为80MB/s,若配合10,000rpm或15,000rpm转速的专用硬盘使用将带来明显的性能提升
FC[Fibre Channel](光纤通道)
FC(Fibre Channel)光纤通道。是一种跟SCSI 或IDE有很大不同的接口,它很像以太网的转换开头。以前它是专为网络设计的,后来随着存储器对高带宽的需求,慢慢移植到现在的存储系统上来了。光纤通道通常用于连接一个SCSI RAID(或其它一些比较常用的RAID类型),以满足高端工作或服务器对高数据传输率的要求
光纤信道在硬件上依赖价格昂贵的FC交换器,一台只有最基本功能的8端口FC交换器起价就要30万元,1个FC端口的平均成本高达数万甚至十多万元,且每部要连接FC SAN的服务器都必须安装1片价格1千美元上下的FC HBA,部署一套FC SAN的费用非常高昂。使用者也必须具备FC协议相关知识才能有效管理,以致限制了FC SAN的普及。因此无论储存厂商如何宣扬SAN的好处,现实上能享用这些好处的企业相当有限
SSD
主流的SSD就有SATA接口、M.2接口、U.2接口、PCIe接口和mSATA接口(目前很多SSD也在用SAS接口)等
SATA
作为目前应用最多的硬盘接口,SATA 3.0接口最大的优势就是成熟。普通2.5英寸SSD以及HDD硬盘都使用这种接口,理论传输带宽6Gbps,虽然比起新接口的10Gbps及32Gbps带宽有一定的差距,但普通2.5英寸SSD可以满足大多数用户的日常应用需求,500MB/s左右的读写速度也够用。而对于100MB/s左右读写速度HDD机械硬盘上,6Gbps带宽还远远谈不上瓶颈,只能埋怨HDD硬盘发展太慢,存储速度一直没有质变。
虽然SATA 3.0接口规格已经推出有一段时间,但“廉颇岁老,尚善饭否”。大多数用户对SSD性能的要求谈不上极端苛刻,而且还要考虑选购时的性价比因素,因此SATA 3.0接口在很长一段时间内都将是主流大众的选择。
PCIe
在传统SATA硬盘中,当我们进行数据操作时,数据会先从硬盘读取到内存,再将数据提取至CPU内部进行计算,计算后再反馈给内存,最后写入至硬盘中;而PCIe接口就不一样了,数据直接通过总线与CPU直连,省去了内存调用硬盘的过程,传输效率与速度都成倍提升。简单的说,我们可以把两种通道理解成两辆相同的汽车,PCIe通道的汽车就像是在高速上行驶,而SATA通道的汽车就像是在崎岖山路上行驶。很显然,PCIe SSD的传输速度会远大于SATA SSD。
HyperX Predator PCIe SSD是众多PCIe接口SSD中的佼佼者,它采用PCI-E 2.0x4接口,半高式设计,主控为Marvell 88SS9293,读取速度和写入速度分别达到了1400MB/s和1000MB/s,是HyperX高端固态硬盘产品中速度最快的产品,读写速度也远超SATA接口的SSD产品。
虽然PCIe SSD有诸多好处,但也不是每个人都适合。PCIe SSD由于闪存颗粒和主控品质极高,总体成本也相对较高,相比传统SATA接口固态硬盘的售价要贵一些。另外,由于PCIe会占用总线通道,入门以及中端平台CPU通道数较少,也不太适合使用PCIe SSD。
只有配合Z170、X99这样顶级平台,才可以完全发挥PCIe SSD的性能。总的来说,如果你是在组装专业工作室用机,或是骨灰发烧级玩家,亦或是一个不差钱的土豪,那么HyperX Predator PCIe SSD是决对正确的选择!
M.2
M.2接口,是Intel推出的一种替代mSATA新的接口规范。其实,对于桌面台式机用户来讲,SATA接口已经足以满足大部分用户的需求了,不过考虑到超极本用户的存储需求,Intel才急切的推出了这种新的接口标准。虽然,我们在华硕、技嘉、微星等发布的新的9系列主板上都看到了这种新的M.2接口,现已普及。
与mSATA相比,M.2主要有两个方面的优势。第一是速度方面的优势。M.2接口有两种类型:Socket 2(B key——ngff)和Socket 3(M key——nvme),其中Socket2支持SATA、PCI-E X2接口,而如果采用PCI-E ×2接口标准,最大的读取速度可以达到700MB/s,写入也能达到550MB/s。而其中的Socket 3可支持PCI-E ×4接口,理论带宽可达4GB/s。
第二个是体积方面的优势。虽然,mSATA的固态硬盘体积已经足够小了,但相比M.2接口的固态硬盘,mSATA仍然没有任何优势可言。M.2标准的SSD同mSATA一样可以进行单面NAND闪存颗粒的布置,也可以进行双面布置,其中单面布置的总厚度仅有2.75mm,而双面布置的厚度也仅为3.85mm。
而mSATA在体积上的劣势就明显的多,51mm *30mm的尺寸让mSATA在面积上不占优势,而4.85mm的单面布置厚度跟M.2比起来也显得厚了太多。另外,即使在大小相同的情况下,M.2也可以提供更高的存储容量
M.2接口,最初叫做NGFF(Next Generation Form Factor),宽度22mm,单面厚度2.75mm,双面闪存布局也不过3.85mm厚。M.2接口产品有丰富的可扩展性,最长可以做到110mm,可以提高SSD容量。此外,M.2接口可以同时支持SATA及PCI-E通道,后者更容易提高带宽,如果是采用SATA通道的M.2接口固态硬盘,则读写速度在550MB/s左右。
其实前面介绍的HyperX Predator PCIe SSD产品本身拥有双重接口,从PCIe转接卡中取下,即可转换为M.2接口的SSD,并且读取速度和写入速度同样可以达到1400MB/s和1000MB/s。
AHCI
AHCI,是在Intel的指导下,由多家公司联合研发的接口标准,它允许存储驱动程序启用高级串行ATA功能。我们在使用SATA SSD的时候,一定要在主板设置中开启AHCI模式。
NVMe协议不同于AHCI,利用PCI-E通道的低延时以及并行性,可将性能大幅提升。如三星960EVO最高速度达到3000MB/5.
NVMe协议的诞生就是为了从传输协议出发,进一步提升SSD的实际读写性能,提高产品传输效率。
NVMe的一大优势就是低延迟。这主要是因为流线型的存储堆栈,NVMe无需读取寄存器就可以发出命令。AHCI的每个命令都需要读取4个不可缓存寄存器,从而导致大约2.5μs的额外延迟。低延时和良好的并行性的优势就是可以让SSD的随机性能得到大幅度提升,在任何队列深度下都能发挥出极佳的速度。
NVMe对固态硬盘的IOPS性能提升也比较大。因为在制定AHCI规范时,并行性的想法没有完全加入到规范内,利用NCQ功能可以对传输能力进行优化,但是接口并不允许SSD真正最大限度地发挥其应有的并行性。
此外,对于移动设备用户来言,使用NVMe存储设备可以对电池续行起到很大帮助。NVMe加入了自动功耗状态切换和动态能耗管理功能,设备从能耗状态0闲置50ms后可以迅速切换到能耗状态1,在500ms闲置后又会进入能耗更低的状态2。虽然切换能耗状态会产生短暂延迟,但闲置时这两种状态下的功耗可以控制在非常低的水平,因此在能耗管理上,相比起主流的SATA接口固态硬盘也拥有较大优势。
上面两款都是M.2接口,如何分辨出哪个是PCI-E SSD哪个是SATA SSD?在弄清楚这个问题之前,我们先来解答几个常见问题。
- 同是M.2接口,为什么会有PCI-E和SATA之分?
这是因为两者所走的通道不同,M.2有两种接口定义:Socket 2和Socket 3。Socket 2支持SATA、PCI-EX2通道的SSD,Socket 3专为高性能存储设计,支持PCI-EX4。 - 有M.2接口的主板都能使用M.2 SSD?
非也非也,不同主板的M.2接口所支持的通道是不同的,有的仅持PCI-E通道,其规格说明里关于M.2的描述有标明。而有的则兼容SATA和PCI-E两种通道。所以如果您想购买 M.2 SSD,先要清楚了解自己的主板上的M.2接口是支持哪种通道的。 - 什么决定M.2 SSD所走的通道?
主控决定了接入M.2接口的SSD是走PCI-E通道还是SATA通道。例如HyperX Predator SSD的主控是Marvell 88SS9293主控,这是一款PCI-E控制器,而金士顿G2系列 M.2 2280 SSD采用的是SATA控制器。 - 性能差别有多大呢?
走的通道不一样,速度自然有差别。SATA3.0通道的理论带宽是6Gb/s.理论极限传输速度600MB/s,所以跟市面所有的SATA接口SSD一样,金士顿G2系列 M.2 2280 SSD的最高读取速度不超过600MB/s,而主板M.2接口走PCI-E通道传输通道带宽为10Gb/s。HyperX Predator SSD的连续读写达到1400MB/s和1000MB/s,完全超过了SATA3.0的极限传输速度。
mSATA
早期,为了更适应于超极本这类超薄设备的使用环境,针对便携设备开发的mSATA(mini SATA)接口应运而生。你可以把它看作标准SATA接口的mini版,物理接口跟mini PCIe接口一样。
mSATA接口是SSD小型化的一个重要过程,不过mSATA依然没有摆脱SATA接口依然是SATA通道,速度是6Gbps。诸多原因没能让mSATA 接口火起来,反而被更具升级潜力的M.2 SSD所取代。
U.2
U.2原名SFF-8639,U.2接口的最大特色就是高速低延迟低功耗,支持NVMe标准协议,并且走的是PCI-E 3.0 x4通道,理论传输速度高达32Gbps,SATA只有6Gbps,比SATA快了足足5倍。
U.2也一样乘着NVMe技术的东风,从服务器、企业级硬盘开始走入消费类硬盘,但过程异常缓慢。虽然U.2比M.2更具备散热和容量的优势,也不会像PCI-E SSD一样占用主板插槽,但是普及率并不高。
U.2接口其实已经出现了很多年,但一直都只有HGST Ultrastar SN100、OCZ Z-Drive 6000等几款企业级产品。消费级市场更是Intel一家独大,最为常见的U.2 SSD就是Intel 750系列。但国产存储品牌不开始不断推出U.2 SSD,这对于U.2 SSD的普及算是个利好的消息。
颗粒
主要有MLC颗粒、TLC颗粒甚至是SLC颗粒
一般情况下这三种颗粒的材料是一样的,不会说SLC颗粒贵是因为材料好,TLC颗粒便宜是因为材料差,同一厂商生产出来的三种颗粒,原则上讲材料是一样的,个别情况比如定制的除外
这三种颗粒的本质区别,是在存储数据的密度。闪存颗粒是通过电压变化来存储数据的
SLC传统上,每个储存单元内储存1个信息位,称为单阶储存单元(Single-Level Cell,SLC)。SLC闪存的优点是传输速度更快,功率消耗更低和储存单元的寿命更长,成本也就更高。一般情况下,SLC多数用于企业级的固态硬盘中,由于企业对于数据的安全性要求更高,需要保存更长时间
MLC多阶储存单元(Multi-Level Cell,MLC)可以在每个储存单元内储存2个以上的信息位。与SLC相比,MLC成本较低,其传输速度较慢,功率消耗较高和储存单元的寿命较低。 但目前主流的固态硬盘中,性能较为优秀的产品选用的都是MLC颗粒,因此可以说MLC颗粒的固态硬盘拥有较高的性价比。甚至一些企业级的固态硬盘,使用的也是MLC颗粒,被专门优化过,称为eMLC颗粒,e代表的是企业enterprise
TLC三阶储存单元(Triple-Level Cell, TLC),这种架构的原理与MLC类似,但可以在每个储存单元内储存3个信息位。由于存储的数据密度相对MLC和SLC更大,所以价格也就更便宜,但使用寿命和性能也就更低,不过这并不能阻止人们购买TLC颗粒的固态硬盘。甚至目前市场上绝大多数的入门级产品使用的都是TLC颗粒。而为了解决TLC颗粒过低的写入寿命问题,许多厂商都在研发新技术,3D-TLC就是这样的技术,目前已经比较广泛的应用在产品中,其性能甚至可以和MLC颗粒一较长短,使用寿命得到大幅度的延长
上图是一个简易的对比,用来形容三种内存颗粒的容量及电荷,SLC只有两种电荷变化,MLC有4种,TLC则有8种。下图更为形象和易于理解
在相同容量的die上,通过不同的技术,最终实现的可储存数据量成倍的上翻。但对于固态硬盘而言,增加了容量也就牺牲了性能和使用寿命。想要进行SSD购买的用户,可以根据自己的实际需求和情况,进行选购
References
https://baike.baidu.com/item/%E7%A1%AC%E7%9B%98%E6%8E%A5%E5%8F%A3%E7%B1%BB%E5%9E%8B/1490829
https://www.jianshu.com/p/fedfa9f538dc
https://blog.csdn.net/qq_40918859/article/details/122664821
http://www.360doc.com/content/20/0103/22/920315_883990216.shtml
https://www.crucial.cn/articles/about-ssd/difference-between-slc-mlc-tlc