ATA
ATA起源于IBM,是一个单纯的磁盘驱动器接口,不支持其他的接口设备,适配的是IDE磁盘驱动器。IDE接口,也称为PATA接口,意在把磁盘控制器和磁盘驱动器集成到了一起,这种做法减少了磁盘接口的电缆数目与长度,数据传输的可靠性得到了增强,磁盘制造起来也变得更容易,因为厂商不需要担心自己的磁盘驱动器是否与其它厂商的磁盘控制器兼容。对用户而言,磁盘安装起来也更为方便。
IDE具有价格低廉,兼容性强,性价比高,数据传输慢,不支持热插拔等特点,多用于家用产品中,也有部分应用于服务器。ATA、UltraATA、DMA、UltraDMA等接口都属于IDE硬盘。
SATA,又叫串口磁盘,是一个串行点对点连接系统,支持热插拔,支持主机与每个磁盘驱动器之间拥有单独的连接路径,每个磁盘驱动器都可以独享全部带宽。SATA在机柜内部连接外部设备,而eSATA是外置式的SATA接口。
SATA是一种完全不同于ParallelATA的新型磁盘接口类型,由于采用串行方式传输数据而知名。相对于ParallelATA而言,就具有非常多的优势。SATA以连续串行的方式传送数据,一次只会传送1位数据。这样能减少SATA接口的针脚数目,使连接电缆数目变少,效率也会更高。实际上,SATA仅用四支针脚就能完成所有的工作,分别用于连接电缆、连接地线、发送数据和接收数据,同时这样的架构还能降低系统能耗和减小系统复杂性。SATA的起点更高、发展潜力更大,SATA0定义的数据传输率可达150MB/s,这比目前最新的ParallelATA所能达到133MB/s的最高数据传输率还高,而在SATA0的数据传输率将达到300MB/s,最终SATA将实现600MB/s的最高数据传输率。SATA总线使用嵌入式时钟信号,具有更强的纠错能力,与ATA相比其最大的区别在于能对传输指令进行检查,如果发现错误会自动矫正,这在很大程度上提高了数据传输的可靠性。串行接口还具有结构简单、支持热插拔的优点。
SCSI是当前流行的用于服务器和微机的外部设备接口标准,目前的计算机基本都设置了SCSI接口,如果没有的话就需要一块专门的SCSI适配器卡,完成主机总线到SCSI总线的跨接,不同的主机总线对应不同的适配器。SCSI设备与主机之间以DMA的方式传输数据库,SCSI适配器中整合了主机通信的指令,降低了系统I/O处理对主机CPU的占用率。
与IDE不同,IDE接口是普通PC的标准接口,而SCSI并不是专门为硬盘设计的接口,是一种广泛应用于小型机上的高速数据传输技术。不仅可以控制磁盘驱动器,还可以控制磁带机、光盘、打印机和扫描仪等外设。由于设备中包括了控制器,设备的功能更复杂,因而称为智能外设。SCSI接口具有应用范围广、多任务、带宽大、CPU占用率低,以及热插拔等优点,但也拥有较高的价格。
SAS,向下兼容并行SATA,两种运行相同的指令集,在物理连接接口上提供了对SATA的支持,即两者可以使用相类似的电缆。从接口标准上而言,SATA是SAS的一个子标准,SAS吸收了FC的特点,因此SAS控制器可以直接操控SATA硬盘,但是SAS却不能直接使用在SATA的环境中,因为SATA控制器并不能对SAS硬盘进行控制。
在协议层,SAS由3种类型协议组成,根据连接的不同设备使用相应的协议进行数据传输。其中SSP用于传输SCSI命令,SMP用于对连接的设备进行维护和管理,STP用于SAS和SATA之间数据的传输。在这3种协议的配合下,SAS可以和SATA以及部分SCSI设备无缝结合。此外,与并行方式相比,串行方式能提供更快速的通信传输速度以及更简易的配置,SAS的传输速率要比SATA快得多。SAS为服务器和网络存储等应用提供了更大的选择空间。
iSCSI是运行在TCP/IP网络上的SCSI,iSCSI使得标准的SCSI指令能够在TCP/IP网络上的主机与网络存储设备之间传送,也可以在系统之间传送。而SCSI协议只能访问本地的SCSI设备。iSCSI的工作原理:当iSCSIInitiator发送一个请求后,操作系统会产生一个适当的SCSI指令和数据请求,SCSI指令通过封装被加上了TCP/IP协议的包头,并支持在需要加密的时候执行加密处理。封装后的SCSI指令数据包得以在Internet上传送,以此突破了物理空间的限制。iSCSITarget在收到这个数据包之后按照相反的步骤进行解析得出SCSI指令和数据请求,再交由SCSI存储设备驱动程序处理。因为iSCSI是双向的协议,所以iSCSITarget可以将数据返回给iSCSIInitiator。
FC,与SCSI接口一样,光纤通道最初也不是专为磁盘驱动器所设计的接口技术,而是专门为网络系统设计的。但随着存储系统对速度的需求日益增长,FC才逐渐应用被到磁盘存储系统中。光纤通道磁盘是为提高多磁盘存储系统的速度和灵活性才开发的,它的出现大大提高了多磁盘系统的通信速度。FC具有热插拔性、高速带宽、远程连接、连接设备数量大等特点,是为了服务器此类多磁盘系统环境而设计的,能够满足高端工作站、服务器、海量存储子网络、外设间通过集线器、交换机和点对点连接进行双向、串行数据通讯等系统对高数据传输率的要求。
RDMA是一种新的内存访问技术,RDMA让计算机可以直接存取其他计算机的内存,而不需要经过处理器耗时的处理。RDMA将数据从一个系统快速移动到远程系统存储器中,而不对操作系统造成任何影响。RDMA技术的原理及其与TCP/IP架构的对比如下所示。
InfiniBand:从一开始就支持RDMA的新一代网络协议。由于这是一种新的网络技术,因此需要支持该技术的网卡和交换机。RDMA融合以太网:一种允许通过以太网进行RDMA的网络协议。其较低的网络头是以太网头,其上网络头是InfiniBand头。这允许在标准以太网基础架构上使用RDMA。只有NIC应该是特殊的,并支持RoCE。互联网广域RDMA协议:允许通过TCP执行RDMA的网络协议。在IB和RoCE中存在功能,iWARP不支持这些功能。这允许在标准以太网基础架构上使用RDMA。只有NIC应该是特殊的,并支持iWARP,否则所有iWARP堆栈都可以在SW中实现,并且丢失了大部分的RDMA性能优势。
RDMA可以简单理解为利用相关的硬件和网络技术,服务器1的网卡可以直接读写服务器2的内存,最终达到高带宽、低延迟和低资源利用率的效果。如下所示,应用程序不需要参与数据传输过程,只需要指定内存读写地址,开启传输并等待传输完成即可。
RDMA的主要优势总结如下:
Zero-Copy:数据不需要在网络协议栈的各个层之间来回拷贝,这缩短了数据流路径。Kernel-Bypass:应用直接操作设备接口,不再经过系统调用切换到内核态,没有内核切换开销。None-CPU:数据传输无须CPU参与,完全由网卡搞定,无需再做发包收包中断处理,不耗费CPU资源。
这么多优势总结起来就是提高处理效率,减低时延。
实际上RDMA并非最近几年才提出,事实上最早实现RDMA的网络协议InfiniBand早已应用到了高性能计算中。但是InfinBand和传统TCP/IP网络相比区别非常大,需要专用的硬件设备,承担昂贵的价格,并且会大大增加运维人力成本。
目前支持以太网的RDMA协议主要是RoCE和iWARP,系统部同学通过性能、可用性等多方面的调研后,最终引入了RoCE网络。RoCE和InfiniBand的性能基本相近,而且比iWARP产业生态更加健全,主流网卡厂商都已支持。除此之外,RoCE网络在数据链路层支持标准以太网协议,在网络层上支持IP协议,因此可以无缝融合到现有的IDC环境中,部署方便;其次由于RoCE网络支持标准以太网和IP协议,更加方便运维,而且设备成本更低。
近几年存储行业发生了翻天覆地的变化,半导体存储登上了历史的舞台。和传统磁盘存储介质相比,半导体存储介质具有天然的优势。无论在可靠性、性能、功耗等方面都远远超越传统磁盘。SSD存储介质和接口技术一直处于不断向前发展和演进的过程。SSD分为几个阶段,第一个阶段是SATASSD或者SATA/SASSSD为主导,这个阶段介质以SLC和eMLC为主。第二个阶段是PCIeSSD,PCIeSSD最大的问题是不标准,很多私有化协议各自为政,基于FTL位置不同主要分为HostbasedSSD和DevicebaseSSD。直到NVMe时代才统一了接口和协议标准,NVMe主要的产品形态有三大类。第一类是和SATA/SASSSD兼容的U.第二类是和PCIe兼容的SSD卡,第三类消费级产品常用的目前常用的半导体存储介质是NVMeSSD,采用PCIe接口方式与主机进行交互,大大提升了性能,释放了存储介质本身的性能。NVMeSSD推进了数据中心闪存化进程。NVMExpress,是一个逻辑设备的接口规范。他是与AHCI类似的、基于设备逻辑接口的总线传输协议规范,用于访问通过PCI-Express总线附加的非易失性内存介质,虽然理论上不一定要求PCIe总线协议。
此规范目的在于充分利用PCI-E通道的低延时以及并行性,还有当代处理器、平台与应用的并行性,在可控制的存储成本下,极大的提升固态硬盘的读写性能,降低由于AHCI接口带来的高延时,彻底解放SATA时代固态硬盘的极致性能。
历史上,大多数SSD使用如SATA、SAS或光纤通道等接口与计算机接口的总线连接。随着固态硬盘在大众市场上的流行,SATA已成为个人电脑中连接SSD的最典型方式;SATA的设计主要是作为机械硬盘驱动器的接口,并随着时间的推移越来越难满足速度日益提高的SSD。随着在大众市场的流行,许多固态硬盘的数据速率提升已经放缓。不同于机械硬盘,部分SSD已受到SATA最大吞吐量的限制。
在NVMe出现之前,高端SSD只得以采用PCIExpress总线制造,但需使用非标准规范的接口。若使用标准化的SSD接口,操作系统只需要一个驱动程序就能使用匹配规范的所有SSD。这也意味着每个SSD制造商不必用额外的资源来设计特定接口的驱动程序。2015年11月,发布了“NVMExpress管理接口规范”(NVM,为非用户组件和系统提供了带外管理。NVMe提供了一个通用的基线管理功能,它可以跨越所有的NVMe设备和系统,以及实现可选特性的一致方法。命令包括查询和设置配置、获取子系统的健康、固件管理、命名空间管理、安全管理等。
NVMe的优势:
性能有数倍的提升;可大幅降低延迟;NVMe可以把最大队列深度从32提升到64000,SSD的IOPS能力也会得到大幅提升;自动功耗状态切换和动态能耗管理功能大大降低功耗;NVMe标准的出现解决了不同PCIeSSD之间的驱动适用性问题。
目前NVMeSSD主流采用的存储介质是NANDFlash。最近几年NANDFlash技术快速发展,主要发展的思路有两条:
通过3D堆叠的方式增加NANDFlash的存储密度;通过增加单Cell比特数来提升NANDFlash的存储密度。
纵观SSD发展,NVMe的出现虽然对接口标准和数据传输效率上得到了跨越式的提升,但是存储介质目前主流还是基于NANDFlash实现。那再往前发展,存储介质应该怎么发展呢?IntelOptane系列硬盘通过实践证明NVMe和SCM配对时才会显现更大的存储优势,在很多时候也把SCM称为VNM,那时数据存储将会迎来重大飞跃,NVMe的未来属于SCM。它将建立在行业协议标准而不是专有技术之上。
扩展阅读:《联通沃云虚拟机扩展内存技术的方法验证研究》
NVMe传输是一种抽象协议层,旨在提供可靠的NVMe命令和数据传输。为了支持数据中心的网络存储,通过NVMeoverFabric实现NVMe标准在PCIe总线上的扩展,以此来挑战SCSI在SAN中的统治地位。NVMeoverFabric支持把NVMe映射到多个Fabrics传输选项,主要包括FC、InfiniBand、RoCEviWARP和TCP。
NVMeOverFabrics使用RDMA或光纤通道架构等Fabric技术取代PCIe传输。如所示,除了基于RDMA架构的传输包括以太网,InfiniBand和iWARP,采用基于原生TCP传输也是可能的。中所示的NVM子系统是一个或多个物理结构接口的集合,每个单独的控制器通常连接到单个端口。多个控制器可以共享一个端口。尽管允许NVM子系统的端口支持不同的NVMe传输,但实际上,单个端口可能仅支持单个传输类型。NVM子系统包括一个或多个控制器,一个或多个命名空间,一个或多个PCIExpress端口,非易失性存储器存储介质,以及控制器和非易失性存储器存储介质之间的接口。
https://mp.weixiqq.com/s/gl-RbUUtdtxK3o17nFNcxAhttps://mp.weixiqq.com/s/2LTuDRDGeSPefCJdWnLH7w
InfiniBand是一种基于交换结构和点到点通信的I/O接口,是一种长缆线的连接方式,具有高速、低延迟的传输特性。InfiniBand以极高的传输速度将服务器、存储设备和网络设备连接在一起。基于InfiniBand技术的网卡的单端口带宽可达20Gbps,最初主要用在高性能计算系统中,近年来随着设备成本的下降,InfiniBand也逐渐被用到企业数据中心。
InfiniBand由4中基本设备组成,包括主机通道适配器HCA、目标通道适配器TCA、交换机及路由器。其中HCA功能较强,具有微处理器,参与管理。TCA功能比较简单。交换机和路由器是用于连接的设备。为了发挥InfiniBand设备的性能,需要一整套的软件栈来驱动和使用,这其中最著名的就是OFED,基于InfiniBand的设备实现了RDMA。RDMA的最主要的特点就是零拷贝和旁路操作系统,数据直接在外部设备和应用程序内存之间传递,这种传递不需要CPU的干预和上下文切换。OFED还实现了一系列的其它软件栈:IPoIB、SRP等,这就为InfiniBand聚合存储网络和互联网络提供了基础。OFED现已经被主流的Linux发行版本支持,并被整合到微软的WindowsServer中。
以太网光纤通道FCoE
就在大家认为InfiniBand是数据中心连接技术的未来时,10Gb以太网的出现让人看到了其它选择,以太网的发展好像从来没有上限,目前它的性能已经接近InfiniBand,而从现有网络逐渐升级到10Gb以太网也更易为用户所接受。
FCoE的出现为数据中心互联网络和存储网络的聚合提供了另一种可能。FCoE可将传统的FC存储网络功能融合到以太网中,思路是将光纤信道直接映射到以太网线上,这样光纤信道就成了以太网线上除了互联网网络协议之外的另一种网络协议。FCoE能够很容易的和传统光纤网络上运行的软件和管理工具相整合,因而能够代替光纤连接存储网络。虽然出现的晚,但FCoE发展极其迅猛。与InfiniBand技术需要采用全新的链路相比,企业IT更愿意升级已有的以太网。在两者性能接近的情况下,采用FCoE方案似乎性价比更高。
大型数据中心利用FCoE等新技术将存储传输和IP传输融合到以太网连接上,而标准的STP将不再适合融合网络或超大型数据中心的扩展。随着FCoE采用率的提高,企业存储开始考虑加入IP网络上的其他协议,从存储的角度来看,TRILL可以代替STP。
文章为作者独立观点,不代表 股票程序化软件自动交易接口观点