存储和服务器的三大件
上周末参加了冬瓜哥的存储和服务器底层原理架构培训课程,又重拾了存储和服务器的部分知识。个人言论不代表冬瓜哥及所在公司观点。
从底层原理实现角度来看,存储和服务器的物理硬件本质都是三大件:CPU、内存和I/O的组合运用。
一、三大件的主流趋势
在CPU芯片方面,CPU芯片从工艺设计到流程制造均是高精尖的科技硬实力体现,而我国在这一方面一直在投入重金进行技术研发、生态圈建设和技术追赶。现目前,我国在AI芯片的工艺设计上,处于和国际同一起跑线的位置,这一块主要依靠国内的寒武纪等公司的技术,而在传统CPU芯片及GPU芯片领域,不管是在芯片设计还是在工艺制程方面,均至少落后国际技术2到3代的差距。在于芯片设计方面,折腾多年终于出了个胡伟武的龙芯。还记得当年在学校的时候,胡伟武的龙芯研究所在重庆江津落户,我们学校就暂借了一个教室给胡伟武的安置临时的龙芯研究所。当时的龙芯项目有钱,是所有地方政府争取的香饽饽,最终重庆江津拿下了,当然主要内因还是因为当时胡伟武的导师,我国计算机事业的奠基人夏培肃先生是重庆江津人。话归正传,在CPU芯片的工艺制程领域,其制造技术半导体行业在我国起步晚,底子薄,也缺乏相关方面的领军人物和技术科学家,比如类似中国台湾张忠谋这样的大将。我国目前主要的龙头企业中芯国际,还在以较低良率的28nm量产,40nm制程完全成熟的规格技术在进行技术探索。而按照技术梯队,第一梯队:台积电、三星、Intel,已经掌握了7nm、10nm的高端制程量产技术,并且在实验室研究设计5nm的工艺制程;第二梯队格罗方德(Global Foundries)、联电(UMC)等,在高端10nm、14nm上有小规模的量产,28nm制程算是完全成熟;中芯国际只能算是第三梯队的成员了。
在内存方面,真正能称为内存制造公司的只有那么几家。内存制造商会在各个生产阶段设计、生产和测试组件和模块。内存模块由两块芯片组成:存储数据的DRAM半导体芯片以及将内存芯片与计算机其余部分连接起来的印刷电路板(PCB)。具备生产DRAM芯片能力的半导体制造商分别是Micron 美光、三星、海力士和东芝,这三家占据了市场上95%的份额。在内存产业方面,国内一直动作频频,其中具有典型代表便是紫光公司,拥有国家政策与资金的扶持,通过收购和技术合作,紫光公司终于可以推出市面上主流的内存产品了,但是由于制作工艺上落后,良品率极低,无法在数量上左右市场。而且新的内存技术HBM已经出现,目前在市面上流通的主要是HBM 2,AMD在2015年发布的Fury系列显卡上,首次商用了第一代HBM技术,超高的带宽以及极低的占用面积彻底改变了当时的显卡设计,随后NVIDIA也在Tesla P100上采用了HBM 2技术。相比较现在的DDR内存技术,目前市面上的HBM 2内存,核心容量可达8Gb,通过TSV技术可以实现每个CPU支持64GB HBM2内存,每路插槽的带宽可达2TB/s,而到了HBM 4时代,每个CPU支持的容量可达512GB,带宽超过8TB/s。而目前的CPU处理器在支持8通道DDR4内存的情况下,最高容量才能达到2TB,而且带宽只有150GB/s,与HBM内存相比差距明显。
在I/O方面,和CPU、内存不太一样的地方,在I/O方面没有存在任何一家具有垄断性质的公司,主要原因在于I/O模块和种类太多,任何一家公司都不可能完全的全部生产和设计制造,必须要设计出一条普适性的开放标准,所有的I/O厂商根据标准进行产品生产和适配,这样才能集成和组合不同的I/O设备。
服务器与存储之间主要通过网络I/O和存储I/O进行联动。网络I/O方面,毫无疑问以太网君临天下,目前10GB已经是标配和量产的规模了,40GB也在小规模的试用,100GB也在实验阶段。而存储I/O方面,I/O规格和标准种类较多,因此侧重介绍现今热门和主流的I/O规格NVMe、PCIe以及SAS。
NVMe(Non-Volatile Memory express)称为非易失性内存主机控制器接口规范,是一个逻辑设备接口规范。简单地说,NVMe是专门为闪存类存储设计的协议,因为闪存类存储处理速度远远高于传统协议传输的速度,因此闪存类存储需要新的协议去支持高速的存储处理。NVMe在服务器与存储设备上的应用,可分为后端与前端两种类型,后端的NVMe应用是取代SAS协议,作为SSD或Flash存储连接控制器的协议;前端的NVMe应用,则是将NVMe嫁接在既有的网络传输通道上,构成外接的NVMe-oF传输架构。NVMe的后端应用已经进入成熟期,现目前市面上主要的SSD硬盘的均支持NVMe协议且已经批量的使用,只要我们的电脑主板上集成有PCIe的插槽,就可以接入NVMe的协议的SSD硬盘或Flash介质。但前端应用的NVMe-oF架构仍在推广和测试。而且由于前端协议种类繁多,NVMe均为其做了适配并进行了测试,因此能够占据主流的到底是哪一种嫁接方式尚未有定论。因为基于32Gb FC、基于InfiniBand,基于25/50GbE RoCE或iWARP以太网络等多种形式的NVMe均具有各自不同的利弊和应用场景。
我们详细来看NVMe在服务器与存储设备在后端上的成熟应用。主要分为基于PCIe接口的NVMe SSD和基于PCIe接口的NVMe 后端协议。
基于PCIe接口的NVMe SSD
NVMe是一种接口规范或者协议,SSD硬盘或Flash介质通过该协议和控制器进行通信,因为SSD硬盘或Flash介质和通信协议以及变得更加高效,再使用传统的SATA接口已经不在适应高速增长的需求,因此接口也需要相应的做出改变,这个改变就是PCIe。
现在主板上的插槽基本上都是PCI插槽或者PCIe插槽。PCI插槽是目前个人电脑中使用最为广泛的接口,几乎所有的主板产品上都带有这种插槽。使用PCI,电脑通过插接不同的扩展卡可以获得目前电脑能实现的几乎所有外接功能。而PCIe全称是“PCI-Express”,是基于PCI的更新升级版本,是最新的总线和接口标准,它原来的名称为“3GIO”,由英特尔在2000年提出,最后由PCI标准化组织进行标准化并推广全世界。
现目前服务器上集成的PCIe插槽都是PCIe3.0规格,但是存在的一个问题是,服务器的主板面积和空间有限,所能够集成的PCIe数量也是有限的,当服务器的硬盘全部都使用NVMe SSD并使用PCIe通道作为传输介质时,服务器主板的PCIe传输通道就不够用了。比如一块NVMe SSD占用4条PCIe 3.0,一台标准的2U服务器插满24块NVMe SSD,就占用多达96条PCIe传输通道。因此为了解决服务器主板PCIe资源紧张的问题,PCIe标准化组织就推出了PCIe 4.0规范,PCIe 4.0单通道传输率比PCIe 3.0提高一倍,因为一块NVMe SSD占用4条PCIe 3.0通道是为了获得足够多的传输带宽,因此提高PCIe单通道的传输带宽即可减少NVMeSSD对PCIe通道的占用,在PCIe 4.0规范下,一块NVMe SSD只需占用2条PCIe通道接口满足传输带宽要求。基于此,PCIe标准化组织发布公告显示,将会继续推出了PCIe 5.0,可以在PCIe 4.0的基础上让单通道的传输速率再提高一倍。也就是PCIe 5.0规范下的单通道的传输速率是PCIe 3.0规范的下的4倍,一块NVMe SSD只需占用1条PCIe 5.0通道接口满足传输带宽要求。
基于PCIe接口的NVMe 后端协议
在存储系统的体系中,控制器和后端存储硬盘柜之间的连接采用的是现今主流的SAS-3规范,也就是具有12Gb SAS技术标准的SAS接口和协议。SAS是目前最重要的企业级存储I/O规格之一,也是SSD与外接硬盘柜的标准规范,在存储系统的江湖里,SAS已经长期统一了所有存储设备的后端存储I/O规格太长时间。SAS是一种协议也是一种接口,严格来说是SAS协议和SAS接口,只不过因为都叫SAS,所以统一使用SAS代指。
由于硬盘介质采用SSD,因此如果再采用原来的SAS来连接控制器和硬盘柜之间的I/O传输,和直连主机端类似,传输通道将无法满足SSD的需求。因此有人就在尝试使用基于PCIe的NVMe来替代SAS,并且已经有了实质性的进展,因此SAS将有可能会被基于PCIe的NVMe替代掉。
SAS标准的起草和发展略为滞后,SAS-3已经面世很多年了,但是SAS-4一直处于难产阶段,现在的SAS-4目前还在控制器元件阶段,还未实际进入存储产品应用当中,而基于PCIe的NVMe已经实际的运用于存储产品当中了,可想而知SAS的速度和反应,虽然SAS-4的传输频宽比SAS-3提高一倍,单一通道可达24Gb/s,汇聚4条通道便可达到96Gb/s。但是NVMe并不比SAS-4逊色多少,而且SAS还有天生的延迟缺陷,SAS-4的推出恐怕已时不我予。
综合来看,基于I/O规格的技术的一种通用的技术标准和规范,国内和国际的差距在于产品和模块的应用和研发上面。举个例子来说,国内目前无法自主实现的机械硬盘,在SSD硬盘时代,由于SSD是基于闪存颗粒实现的,因此在技术难度上国内能够实现并且也能够推出自主的SSD产品,但是在I/O规格的标准制定和参与上,国内还存在一定的差距。市面上常说:一流的企业做标准,二流的企业做品牌,三流的企业做产品。中国企业如果要在未来的竞争中占得一席之地,还得参与制定游戏规则。
二、存储对于三大件的组合运用(2)
三、服务器对于三大件的组合运用(3)