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

固态硬盘(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和点对点传输的特性,从而让系统可靠性,耐久性,性能和成本得到了全面提升。