硬盘接口技术大观园

来自存储老吴的博客——存储之道

目录

古老的磁盘接口... 1

IDE接口... 1

SCSI接口... 3

FC接口... 4

串行ATA接口... 5

SATA接口... 6

mSATA接口... 8

SATA Express. 10

串行SCSI接口... 10

SAS接口... 10

SAS内部连接线缆... 13

SAS外部互连线缆... 17

NVMe SSD接口... 21

SFF-8639. 21

M.2接口... 22

硬盘技术发展至今,历经了多次接口技术的发展和变革,存储老吴带领大家一起走进硬盘接口大观园,去一睹硬盘接口的往昔和未来。

古老的磁盘接口

IDE接口

IDE(Integrated DriveElectronics)接口是一种在个人电脑中曾经广泛使用的磁盘接口。其采用并行数据传输的方式,接口体积比较大,如下图所示:

IDE总线是一条共享总线,为了增加一条IDE总线上的设备数量,每个IDE总线可以支持两个设备,分别为主设备和从设备。连接主机和IDE设备的连接线缆如下图所示,其中蓝色接口接到主机;白色接口为从设备接口;黑色接口为主设备接口。

IDE接口有两种数据传输模式,一种为PIO(ProgrammingIO);另一种为DMA模式。在数据传输量不是很大的年代,DMA由于需要不断的对DMA控制器进行配置操作,效率反而不如PIO。但是在大量高性能数据传输需求的拉动下,DMA终于发挥出了应有的性能。起初IDE的DMA数据传输模式是采用简单单倍率的工作方式,即在一个时钟周期内,只发生一次总线数据传输操作。后来IDE总线引入了UDMA(Ultra DMA)的数据传输方式,在这种传输方式下,一个时钟周期内的上升沿和下降沿都会进行数据传输操作,从而使得传输效率提高了一倍。这种数据传输方式也被称之为双沿数据传输方式。这种思路和内存中的DDR是相似的。

在IDE接口之上会运行ATA磁盘控制协议,因此这种接口通常也被称之为PATA(并行ATA)。对于不同的访问性能和特性,PATA拥有多种接口标准ATA1至ATA7。其中ATA7性能达到了将近133MB/s的带宽。由于受限于并行信号传输之间的干扰,并行信号的采样会出现非常大的相位误差,从而导致IDE接口性能提升遇到了严重的瓶颈。因此,目前没有硬盘会采用这种古老的IDE接口,全部被串行ATA接口技术所取代。

IDE采用40Pin的接口形式,接口信号定义如下:

2000年初自己组装的第一台电脑采用了当时容量最大的迈拓30GB硬盘,就是这种IDE接口的硬盘。组装的时候硬盘做主设备;光驱做从设备。目前IDE已经无法支撑硬盘数据传输的业务,已经被淘汰。但是在IDE上所发展起来的ATA协议(命令集)被SATA所传承,继续得以延续。

SCSI接口

SCSI(Small ComputerSystem Interface)为小型计算机系统接口,是一种连接主机和外围设备的接口。采用SCSI接口的硬盘如下图所示:

和IDE相比,SCSI接口具有更好的传输性能,因此通常应用在服务器硬盘中。采用这种接口的硬盘具有更好的稳定性、更快的性能。但是价格也会比IDE硬盘贵很多。SCSI的连接器接口和规范有很多种,常用的几种连接器接口如下图所示:

SCSI硬盘和IDE硬盘相比,最核心的区别不是在于接口。作为企业级应用的磁盘,其需要具备较高的数据访问性能,因此在盘片转速方面,SCSI硬盘具有更高的转速。一旦转速提升,盘片的温度就会升高,与此同时寻道的定位难度也会提升。因此,SCSI等企业级盘在盘片的材料、磁盘的控制、数据的纠错等方面都和普通的硬盘存在非常大的差别,从而导致企业级硬盘具有更高的稳定性和性能。

SCSI物理总线接口在硬盘上已经不再使用了,但是在SCSI总线技术上发展起来的应用层协议(SCSI命令集)还一直保留,并被SAS互连网络所一直传承。

FC接口

FC硬盘是指采用FC-AL(FiberChannel Arbitrated Loop,光纤通道仲裁环)接口模式的磁盘。这种接口采用40针的信号定义。这种串行硬盘接口如下所示:

FC硬盘采用FC-AL的总线协议,在实际应用过程中,所有硬盘都串联起来形成一个仲裁环,如下图所示:

这种连接方式可以扩展容量,但是缺点也非常的明显,一个环路中如果存在一个故障连接,那么整个链路的访问将会受到影响。在EMC的高端存储Vmax产品中曾经采用了FC盘,直到2014年发布Vmax3的时候,才将这种FC盘换成SAS盘。采用SAS盘之后,可以通过SAS Expander将所有的SAS或者SATA盘形成一个后端磁盘存储网络,如下图所示:

当年在高端存储系统中,为了提高磁盘性能、扩展存储容量,导致FC盘在后端存储网络中大量使用。随着SAS技术的不断推进、发展,最终SAS网络在后端替代了FC网络。

串行ATA接口

并行和串行数据传输哪个快?当问到这个问题的时候,潜意识会认为并行传输性能高。一个时钟周期,并行传输可以传送多个字节;但是串行通信的一个时钟最多传输两个比特位。但由于并行数据传输过程中存在的信号干扰、相差所导致的数据采样问题,并行传输无法提高时钟频率。而采用低压差分串行传输过程中,不存在采样相位差问题,可以采用非常高的时钟频率进行数据传输,因此串行传输的性能要远高于并行传输。串行数据传输的发展解决了并行总线所存在的问题,在2000年以后,不仅ATA向串行方向发展,SCSI、PCI都面临同样的问题。因此,在ATA的基础上发展形成了SATA;在SCSI基础之上发展形成SAS;在PCI的基础上诞生了PCI Express。

SATA接口

SATA接口硬盘是消费级、民用普通硬盘所普遍采用的接口技术。采用SATA接口的硬盘如下图所示:

SATA接口是串行ATA的缩写。其采用串行数据传输的方式实现高速磁盘访问接口。至今SATA接口已经形成三个标准,其中SATA1可以达到1.5Gbps传输性能;SATA2可以实现3Gbps;SATA3达到了6Gbps的通信速度。SATA接口的数据传输效率远高于磁盘本身的性能,因此,磁盘的性能局限在磁盘本身的机械寻道开销上。SATA接口如下图所示:

SATA接口主要分为信号区和电源区两大部分,并且信号区和电源区是相互分离的。特别需要注意这两个区域之间的空缺(豁口),这是区别SATA和SAS的标志。一个普通主板上的SATA接口如下图所示:

目前,消费类硬盘基本都采用了SATA接口,包括磁盘和SSD。由于SSD采用了NAND Flash技术,属于半导体存储,不存在机械寻址的问题,因此,存储访问的性能大为提升,导致SATA接口本身再次成为存储盘的性能瓶颈点。

SATA标准发展到今天最高通信速度可以达到6Gbps,是SAS接口性能的一半。SATA接口采用了7根信号线的模式,具体定义如下:

1, GND地信号

2, A+ 数据发送差分信号

3, A-数据发送差分信号

4, GND地信号

5, B-数据接收差分信号

6, B+数据接收差分信号

7, GND地信号

从上述定义可以看出,SATA接口采用了一对差分信号线进行全双工数据传输。和SAS接口相比不提供双端口的功能。在企业级应用,通常需要双端口的功能支持,所以需要通过接口转换板将一个端口的SATA改造成两个端口。这两个端口之间通过模拟开关进行切换。

SATA接口电源部分提供3.3V、5V以及12V。具体定义如下:

SATA接口是硬盘接口技术发展过程中的一个里程碑,其提供了非常高速的性能,并且可以无缝的融入SAS体系架构中,所以无论在消费级应用还是在企业级应用中,SATA硬盘都有其不可替代的位置。但随着SSD技术的蓬勃发展,SATA接口又遇到了性能问题,新型的NVMe标准不断对SATA进行冲击。

mSATA接口

在笔记本等对体积有要求的系统中,经常会采用DOM盘,该类硬盘会采用接口形式更加小巧的mSATA接口。mSATA是标准SATA的迷你型号,在笔记本中和一些服务器系统中得到了广泛的应用。

需要注意的是mSATA接口外观和mini PCI-E是完全相同的,但是,在信号定义上这两种接口是截然不同的,mSATA需要与SATA控制器相连;mini PCI-E需要和PCIe桥相连。如果需要同一个接口同时支持mSATA和mini PCI-E,那么需要在这个接口处引入一个双向多路复用器。在mSATA接口中的43Pin是接地的;mini PCI-E是悬空的,因此,可以通过该引脚实现接口的自动选择。双向多路复用器可以采用NXP的CBTL02042芯片来实现。

采用mSATA接口的固态盘如下图所示:

mSATA的接口信号定义如下:

mSATA和SATA接口相比,减小了体积。但是,和正在发展的M.2接口相比,体积还是显得很大,并且mSATA无法支持正在发展过程中的PCIe硬盘接口技术。在未来的发展趋势中,M.2接口会替代掉mSATA接口。

SATA Express

由于PCIe总线离CPU更近,基于PCIe接口的存储盘具有更高的数据吞吐量和更低的延迟,因此越来越多的SSD固态盘选用了PCIe作为数据传输接口。SATA Express就是在这个需求的背景下诞生的,其目的是想在SATA接口的基础上进一步兼容PCIe数据传输模式。SATA Express就是一种SATA和PCIe之间的复用接口,相同的接口可以同时支持PCIe和SATA两种物理接口。SATA Express的接口定义如下图所示:

SATAe接口采用PCIe通路进行数据传输,提高了传输性能。在SATAe标准中可以直接采用原生态的SATA接口,通过AHCI的方式进行数据访问;亦可以通过PCIe接口,采用NVMHCI的接口进行数据传输。SATAe接口只能支持SATA和PCIe,因此属于过渡标准,未来会被SFF-8639接口所替代。目前,Intel已经放弃了对SATA Express接口的支持。

串行SCSI接口

和SATA发展思路相同,由于并行SCSI的性能问题,造就了SAS接口技术。和SCSI时代相同,SATA接口主要服务于消费级市场;SAS接口主要应用于企业级市场。和SATA接口相比,SAS协议体系要庞大很多。SAS不仅是一个设备互连的总线,更为关键的是SAS技术打造了后端存储网络。通过SAS网络可以将一定量的存储盘进行互连,形成后端存储网络。

SAS接口

采用SAS接口的企业级磁盘如下图所示:

从外观上看SAS和SATA接口极为相似,差别就在于中间是否存在缺口。对于SATA接口,信号区和电源区之间是分离的,中间存在缺口。而SAS接口中间没有缺口,并且在此基础上增加了一组传输信号,具体如下图所示:

这组新增加的信号是用来实现SAS双端口功能的。作为企业级应用的接口,需要实现双端口功能为多路径应用提供支持。

SAS盘侧的接插件信号定义如下:

其中S1~S7为第一个SAS端口;S8~S14为第二个SAS端口。P1~P15为电源线。和SATA相比,增加了S8~S14信号线。SATA盘侧接口又被称之为公口,背板侧的接口器被称之为母口。

SAS接口背板连接器的信号定义如下:

信号的功能和磁盘侧的信号定义是完全相同的。由于SATA盘中间是空缺,所以,SATA是可以正常连入SAS背板连接器的。也就是说,SAS可以兼容SATA。所以在目前的主流存储系统中,都会采用SAS背板、SAS Expander,在这样的一个SAS网络中使用SATA硬盘。采用这种方式的存储系统主要考虑到SATA盘价廉物美,容量又远远大于SAS盘。

SAS盘端接器以及背板连接器的信号定义如下:

SAS采用双端口、全双工工作的模式。因此收发信号都有两对差分信号对。SAS连接器中电源信号定义如下:

SAS内部连接线缆

SAS接口的一个特点是具有非常多种类的连接线缆标准,其主要分成内部连接线缆和外部连接线缆两大类。内部常用的一种连接硬盘的线缆如下图所示:

上图所示的这种线缆同时带有电源和信号线,直接可以与硬盘相连。当硬盘背板需要与导出转接卡相连时,可以采用如下图所示的连接线缆:

上图定义的连接线缆占用较大的体积,为此,SAS标准定义了Mini-SAS线缆及连接器。内部Mini-SAS接口用于系统内部SAS互连,一个Mini SAS接口可以支持4个PHY。内部Mini SAS线缆连接器标准符合SFF-8087和SFF-8086。具体接口定义如下图所示:

板端的连接器如下图所示:

内部Mini-SAS连接器的信号定义如下,其可以支持多个PHY,最多可以支持4个PHY的互连。

内部Mini-SAS HD接口和Mini-SAS相比具有更小的体积。Mini-SAS HD被称之为高密Mini-SAS,下图是支持4个Phy的mini-SAS HD接口(Mini-SAS HD 4i):

位于板端的mini-SAS HD插座:

支持8个PHY的mini-SAS HD接口(Mini-SAS HD 8i)将上面的mini-SAS HD接口集成到了一起,如下图所示:

Mini-SAS HD 8i插座如下:

SAS外部互连线缆

由于SAS可以构建一个存储网络,因此需要定义外部互连的线缆。外部互连线缆和内部的线缆是有差别的,其具有更好的连接可靠性及易用性。外部线缆也有mini-SAS和mini-SAS HD之分,其中mini-SAS外部线缆的接口定义如下:

Mini-SAS外部线缆的插座如下图所示:

Mini-SAS接口体积较大,为了减小体积,SAS定义了高密mini-SAS接口。Mini-SASHD外部互连线缆的外形如下图所示:

上述mini-SAS HD的接口可以支持4PHY的SAS互连,下图的mini-SAS HD(mini-SAS 8i)可以支持8PHY的SAS互连:

Mini-SAS 8i的连接插座如下图所示:

SAS外部互连除了可以采用mini-SAS/mini-SASHD进行互连之外,还可以采用QSFP连接器,该类连接器可以支持4PHY的SAS互连:

QSFP的插座外观如下图所示:

QSFP连接器信号定义如下:

SAS技术还处于发展的过程中,由于SSD固态盘技术的发展,SAS也受到了PCIe接口技术的挑战。但由于PCIe接口技术不是面向存储设计的互连技术,在存储领域还存在很多方面的问题,特别在后端存储互连方面。因此,相信在不久的将来NVMe盘会替代掉SAS高性能盘,但是SAS互连技术还会在较长一段时间内存在、并且继续发展。

NVMe SSD接口

SSD存储技术的发展,传统SAS、SATA接口遇到了很大的瓶颈,因此,高性能的SSD盘都采用了PCIe数据传输接口。为了标准化这种接口,业内纷纷提出了多种接口标准,其中主流的接口标准有SFF-8639和M.2。

SFF-8639

SFF-8639接口又称之为U.2接口,这种接口是在SAS接口的基础上发展起来的,其可以兼容SATA、SAS、PCIe。SFF-8639的接口定义如下图所示:

如上图所示,红色标注区域为PCIe信号;蓝色标注区域为SAS/SATA信号。这种接口可以支持多端口SAS,最多4个Lane的PCIe总线。目前,这种接口被普遍应用在NVMe SSD中,接口方式和SATA、SAS盘保持一致:

自从2014年起,很多厂商陆续推出了基于SFF-8639接口的NVMe SSD,越来越多的服务器厂商也将该类接口做成了服务器的标配。可以说SFF-8639必将有着辉煌的未来。

M.2接口

对于超级本等轻便设备而言,需要追求极致的体积。M.2接口比mSATA相比具有更小的体积。M.2接口标准于2012年发布,其可以在同一个连接器上支持多种模块,包括:

1, WiFi

2, Bluetooth

3, 全球定位系统

4, NFC

5, SSD

6, Wireless wide Area Network

该接口可以覆盖的主机接口包括:

1, PCIe

2, USB

3, UART

4, SATA

5, Display Port

M.2接口是Mini PCIe/mSATA接口的替代升级版本。M.2SSD分为SATA和PCIe两种接口方式,分为Socket2和Socket3两种类型。其中Socket2支持SATA、PCIe X2接口,而Socket3可以支持PCIeX4接口。基于M.2接口的笔记本用SSD如下图所示:

(来自存储之道,存储老吴的博客)

时间: 2024-10-06 14:32:36

硬盘接口技术大观园的相关文章

win8预装系统环境下安装win7问题以及双操作系统安装解决

装了许多次机器,各种操作系统,这次在win8的系统上却遇到了一些问题,现总结如下. 实验室老师给了台新DELL机器,原装的是win8操作系统,很不方便,也不想把这个系统做掉,所以就想再装个win7,即双操作系统.这台DELL机器,F2是BIOS,F12是进入系统的启动项. 安装系统的最初阶段发现无法识别系统的硬盘,最终发现问题是硬盘的模式选择错了.这台DELL机器,硬盘模式有ATA和AHCI.下面介绍一下这两张模式,来自百度百科. ATA:ATA技术是一个关于IDE(Integrated Dev

[转载] 服务器基础知识

1. 什么是服务器    就像他的名字一样,服务器在网络上为不同用户提供不同内容的信息.资料和文件.可以说服务器就是Internet网络上的资源仓库,正是因为有着种类繁多数量庞大内容丰富的服务器的存在,才使得Internet如此的绚丽多彩. 2. 服务器的种类和功能 (1) WWW服务器(WWW Server) WWW服务器也称为Web服务器(Web Server)或HTTP服务器(HTTP Server),它是Internet上最常见也是使用最频繁的服务器之一,WWW服务器能够为用户提供网页浏

IDE、SATA、SCSI、SAS、FC、SSD硬盘类型介绍[zz]

目前所能见到的硬盘接口类型主要有IDE.SATA.SCSI.SAS.FC等等. IDE是俗称的并口,SATA是俗称的串口,这两种硬盘是个人电脑和低端服务器常见的硬盘.SCSI是"小型计算机系统专用接口"的简称,SCSI硬盘就是采用这种接口的硬盘.SAS就是串口的SCSI接口.一般服务器硬盘采用这两类接口,其性能比上述两种硬盘要高,稳定性更强,但是价格高,容量小,噪音大.FC是光纤通道,和SCIS接口一样光纤通道最初也不是为硬盘设计开发的接口技术,是专门为网络系统设计的,但随着存储系统对

SATA主机协议的FPGA实现1

从2月中旬准备开始,经过3个月的奋战,我的又一个项目--基于FPGA的固态硬盘读写控制电路,已经基本实现.由于实用资料的匮乏,以及项目本身颇具挑战性,这个过程充满艰辛,这里也是希望写下一些经验,供后来的有心人参考,少走一些弯路.因为这个项目比较大,不是三言两语能说清楚的,可能接下来我会用5至6篇文章来讲这个东西,陆续的码文章也会耗时较久,希望先看到的看官耐心,同时由于完整的SATA协议实在是有点庞大,我的理解也不能尽善尽美,中间有不恰当之处也希望走过路过的指出. 言归正传,这里先普及一下硬盘的两

SCSI接口图文详解

目前存储设备的接口有五大类:IDE.SCSI.USB,并行口,串口,其中并行口与串口的速度非常慢,不提也罢,最主要的就是IDE,usb,SCSI.IDE(Integrated Drive Electronics,电子集成驱动器)凭着其高速的传输和平常的价格,受到普通用户的欢迎,而usb设备大有后来者居上之势, 至于SCSI(Small Computer System Interface,小型计算机系统接口),速度.性能和稳定性都比IDE要好,价格当然也要贵得多,主要面向服务器和工作站市场. 在过

UIAtomation的一些属性的了解

//这个方法自动测试的时候会自动调用 //注意:这个方法一定要放在前面(也就是指定点击"退出"弹出这个警告框之前,因为这样就先加载了) UIATarget.onAlert = function onAlert(alert) { var title = alert.name(); UIALogger.logWarning("Alert with title " + title ); target.delay(5); UIALogger.logMessage("

在华为RH2288HV3上部署RAID

一,RAID简介 Redundant Arrays of Independent Disks,RAID,即磁盘整列简单的说,就是将多个物理盘变成一个磁盘组.优点:RAID可以充分发挥出多块硬盘的优势,可以提升硬盘速度,增大容量,提供容错功能够确保数据安全性,易于管理的优点,在任何一块硬盘出现问题的情况下都可以继续工作,不会受到损坏硬盘的影响. 工作模式:raid0,raid1,raid3,raid5,raid6,raid10等,主要使用raid0,raid1,raid5,raid10. 二,在华

服务器基础知识

1. 什么是服务器 就像他的名字一样,服务器在网络上为不同用户提供不同内容的信息.资料和文件.可以说服务器就是Internet网络上的资源仓库,正是因为有着种类繁多数量庞大内容丰富的服务器的存在,才使得Internet如此的绚丽多彩. 2. 服务器的种类和功能 (1) WWW服务器(WWW Server) WWW服务器也称为Web服务器(Web Server)或HTTP服务器(HTTP Server),它是Internet上最常见也是使用最频繁的服务器之一,WWW服务器能够为用户提供网页浏览.论

[转帖]使用 smartmontools 查看硬盘的健康状态

使用 smartmontools 查看硬盘的健康状态 https://linux.cn/article-4461-1.html 得试试 有raid卡 并且是 虚拟机的情况下如何处理. 作者: Gabriel Cánepa 译者: | 2014-12-17 11:06   评论: 4 收藏: 4 分享: 4 要说Linux用户最不愿意看到的事情,莫过于在毫无警告的情况下发现硬盘崩溃了.诸如RAID的备份和存储技术可以在任何时候帮用户恢复数据,但为预防硬件突然崩溃造成数据丢失所花费的代价却是相当可观