存储 频道

如何利用PCIe技术优化企业SSD系统性能

  【IT168 技术】固态硬盘(SSDs)已经成为企业、数据中心和云设备必不可少的组成部分。而整个行业又把 PCIe作为SSD模块、子系统和系统的主要接口。

  PCIe技术

  PCIe 内联技术在高科技产品市场已被广泛熟知和了解,而且它的购买渠道众多,使用也已很普及。而对于那些还不太熟悉PCIe的人们而言,他们知道的PCIe就是10年前发明的一项用于芯片和芯片间互联的技术,取代了被称为PCI的平行主总线,还知道PCIe的各种衍生品和后续产品以及它们增加了主总线宽度和频率。

  PCIe 是一个系列的、有差别的、基于数据包的无损协议,它在物理,链接和处理层有很多特性,因此能激活端对端连接,并实现连接故障复原。协议的具体内容是在PCIe 机电协议的基础上补充完成的,能提供标准的连接器和信号质量。 PCIe协议可与以前的PCI系统软件和应用程序完全兼容。

  它的第一代产品被称为Gen1,是一个传输速度为2.5 GT/s的串行双向接口,后来速度提高到了5.0GT/s(Gen2),最后到了8GT/s(Gen3)。 PCI-SIG论坛已经在讨论让Gen4的速度达到16GT/s。PCIe的魅力之处在于设计者可将2个、4个、8个或16个PCIe 线路集成到一个数据端口。还有一点对于设计者来说也同等重要,就是PCIe 所有的Gen2 和 Gen3端口在速度上都能和之前的产品兼容。PCIe Gen3芯片和Gen3电路板现在都可以买到了,而PCIe Gen3的最终产品有望于2012年上半年面世。如果按照过去产品更新换代的速度来推算,Gen4产品将很可能在2015年面世。

  保障产品性能、可靠性、可服务性的几大特点

  PCIe 交换机的规格有多种——从3个到96个线路,以及从3个至24个端口,而且其中每个端口都可以实现1×,2×,4×和8×线宽,有些卖家甚至推出了16×线宽。其中一些交换机的带宽有非常强的可塑性。一个Gen3单线宽端口的速度是1GB/s,而一个16线端口每个方向的容量都达到了16GB。

  为了丰富产品以满足市场的不同需求,PCIe 交换器生产商们对产品进行了不断的创新,使产品使用更简便、性能更高、具备失效备援、故障识别、故障隔离以及现场升级功能。芯片的众多特性,比如用于数据传输的直接内存存取(DMA)功能,失效备援时的非透明桥接功能,点对点通讯功能,用于现场升级的热插拔功能,为了保持数据完整性的错误检查/恢复功能,以及为保证传输稳定在分配内部缓冲区时的灵活性,使PCIe 交换器具备了实现上述优化和功能的可能性。

  企业SSD系统设计的挑战

  由于SSD是高性能企业和数据中心应用程序选用的专门存储媒介,所以现在PCIe在SSDs中发挥的作用变得更加重要。然而,低价位的非易失性存储器(NVMs) 耐久性有限,而且因为生产技术也在不断更新,因此制造了巨大的挑战。包括:耐久性,可靠性,数据完整性,可扩展性以及带宽,性能和解决方案的成本。系统设计者们已经为每个目标应用程序找到了平衡成本/性能的方法。

  实现平衡的方法如下:

  •   • 选择正确的SSD控制器功能和性能;
  •   • 选择非常好的的存储器类型混合方式—单层式存储(SLC)和多层式存储(MLC);
  •   • 选用非易失性存储器;以及
  •   • 选用内部互联技术,比如PCIe。
  •   行业内的“殊途同归”

  业内已经将PCIe(总线和接口标准)作为统一的内部互联技术用于企业SSD(固态硬盘)的应用程序了。事实上,由行业领头企业结成的小组在年初已经通过了一项名为NVMExpress或NVMe的规范,该规范中选择PCIe作为内部互联技术来提供克服上述挑战所需的性能。

  此外,一个由10名成员组成的委员会已经开始着手制定一项基于 PCIe(SOP)的SCSI协议, 以便充分利用PCIe的技术优势。不仅如此,另外一个由存储行业领头人组成的团体也于近期宣称,他们将在下一代SATA规范,即SATAExpress中使用PCIe作为内部互联标准。

  行业达成此种一致的原因在于,现在的PCIe内部互联标准适用于所有主流的CPU设备,因此在具备广泛实用性,更短的延迟、更低成本的同时,还能提供所有必要的性能。并且,通过PCIe主机接口,所有IO控制设备,如SASA、光纤通道(FC)和以太网的广泛实用性也对助推了这种“同归”趋势。

  服务器SSD模块中的PCIe

  过去,企业SSD模块装载的都是SAS、SATA和FC接口。但是最近,绝大部分的提供商都已经推出了配有PCIe接口的产品。大多数SSD控制器靠负载大量NVM功能来达到其性能和容量的峰值,如读/写功能、垃圾收集、损耗均衡、错误校正、元数据和管理。在高性能应用程序中,设计者们使用PCIe交换器来提高SSD控制器(或 ASIC)的性能和容量。甚至配有多达8个ASICs的SSD模块已经在市场出现了。

  选择PCIe 交换机的时候,设计者们一定要确保每个端口有足够的内部数据包缓存,以及能应对任何流量骤增情况的普通缓存。此外,交换器的主进程端必须有足够的带宽,这样才能从多个SSD ASICs那里得到或者给它们提供聚合流量。图1a表示的是PCIe交换器嵌入SSD内插卡(可应用于任何卡或模块形状系数)时的一个基本用法。一般来讲,很多这样的模块将被装入基架服务器底板的PCIe插槽。一些底板设计可能需要额外的PCIe端口,这种端口可由PCIe交换器通过CPU的一个扇出端口提供(图1b)。


图1a


图 1b

  SSD I/O扩展盒中的PCIe

  大型企业系统和数据中心需要存储设备库,一般被称为I/O扩展盒和柜。过去,这些I/O扩展盒由大型HDDs阵列组成,但现在它们中有很多正在被SSD系统或SSD和HDD混合系统所取代(混合系统中,需要被服务器快速读取的数据存储在SSD中,其他数据存储在传统的HDD中)。

  PCIe 交换机生产商的产品,比如像PLX 技术公司,都支持非透明(NT)端口,允许二级服务器连接到IO扩展盒的同时,还能与常规的数据交易分离开来。而且,即使主服务器出现故障,二级服务器也能接管IO盒,实现数据的全读取(图Figure 2)。还能进一步扩展NT功能,让它为高实用性应用程序提供交换器光纤或SSD阵列冗余。系统设计者应该注意到,铜线或光纤通道均可用来建立服务器和IO盒之间的PCIe链接。


图 2

  有些PCIe交换机生产商提供了芯片上的直接内存存取驱动器,因此数据能以点对点方式从一个SSD模块移动到另一个模块,同时还不占用服务器CPU。这一机制可用于提高MLC/SLC混合系统中SLC的耐久性,从而在实现更强耐久性的同时还能有一个更好的价格/容量性价比。

  高实用性多主机系统中的PCIe SSD在数据中心里,很多服务器都是通过存储区域网(SANs)共用存储系统和设备的。PCIe 光纤和基于PCIe 技术的IO也可以通过类似的方式被共享。图3展示的是一个系统,该系统中PCIe光纤将一个被共享IO盒中的一组SSD和一个特定的服务器联在了一起,通过这种方式,I/O扩展盒中SSD的全部容量可以在与之相连的服务器之间进行分配。当SSD与服务器的连接能从一个改换到另一个上以应对增加的负载或在它上面运行的应用程序时,这种方法会更加有效。


图 3

  这一概念可以进一步拓展来支持失效备援——将应用或虚拟仪器从一个服务器移到另一个服务器。如果遇到服务器失效备援的情况,与故障服务器相连的SSD的控制和读取就可以转移到另外那个服务器上。应用程序或虚拟仪器在服务器之间移动的时候,相关的数据无需复制到另一个SSD中;而是把与之相连的SSD改连到一个新服务器上。这种连接可以通过一个服务器或PCIe交换器上的外部管理端口来实现。

  PCIe 内联技术的使用已经在企业和数据中心的SSD系统中得到了广泛普及。今后,基于NVMe和SOP的设备投入使用后,它的重要性还有望继续攀升。现在的第三代(8GT/s)产品中,PCIe 已经可以直接用于CPU和IO设备,并已被证实可以支持铜线和光纤电缆。PCIe不仅能为SSD内联提供出色的带宽和容量,而且还提供了其他诸如非透明性,DMA和点对点传输的特性,从而让系统可靠性,耐久性,性能和成本得到了全面提升。

  作者信息:Akber Kazmi,PLX公司(加利福尼亚州,森尼维尔市)PCIe交换机产品营销总监。

0
相关文章