多端口1Gbps和10GbpsTCP/iSCSI协议处理任务卸载解决方案
随着数据中心网络基础设施逐步升级到10Gbps,让基于以太网的解决方案承载数据业务成为一种经济可行的方法,并且不会降低性能,延长时延。基于硬件的主机接口(如 PCI Express 和千兆级以太网 (GbE)),为设计面向计算机和数据处理市场的低成本、高性能产品创造了可能性。Xilinx Virtex-5 现场可编程门阵列 (FPGA) 系列,为设计具备更强功能和更低功耗的片上系统(SoC)解决方案奠定了基础。
Virtex-5 架构具有一系列关键特性,能够大大简化 TCP 和 iSCSI 卸载引擎的 SoC 设计。
·内置PCI Express (PCIe) 模块— 一种符合 PCIe 规范的集成端点,支持一至八个通道,能够提供高达 32Gbps 的全双工带宽。
·内置千兆位级以太网媒体接入控制器 (GEMAC)—四个硬核GEMAC,为实现多端口千兆位级解决方案创造了条件,从而减少了 SoC 设计的板卡空间要求。
·真正的6输入查找表 (LUT) 技术—提高对单元的利用率,缩短路由时延,从而提高性能。
·36Kb 双端口 block RAM—带有纠错电路、存储密度更高的存储器,为实现可靠的计算逻辑结构和增加同步收发操作的片上 TCP 会话数量创造了条件。
·DSP48E 单元—支持面向图像处理和多媒体应用的大规模并行运算模式。
由于 Virtex 系列是一种可编程平台,您可以根据不断变化的标准和市场要求调整自己的设计。借助Virtex-5 系列所提供的资源,设计人员可以为服务器、存储器、多协议交换机,以及生命周期更长的无线基站创建成本低廉的TCP 和 iSCSI 卸载解决方案。
TCP卸载引擎 (TOE) 概述
当前的 TCP 卸载解决方案主要依赖于完整的软件堆栈或基于 ASIC (用于TCP/IP 协议处理)的专用网卡 (NIC)。软件解决方案对于低带宽应用是可行的,但高性能应用会消耗所有 CPU 资源,结果形成了关键应用的系统瓶颈。
基于 ASIC 的解决方案一般由初创公司提供,主要面向高性能 10Gbps 市场。这些解决方案的价格仍然不菲,而且提供它们的厂商的财务状况不甚稳定。
Xilinx 及其第三方IP合作伙伴可提供完全符合 TCP/iSCSI 规范的卸载解决方案。您可以在不加改动的情况下轻松实现这些解决方案,或者按照所要求的功能、尺寸、速度或目标应用对其进行定制设计。
基于FPGA的TCP/iSCSI引擎
内置标准化 GEMAC、PCIe核以及容量更大的 Block RAM的 Virtex-5 器件是一种可编程平台芯片,系统架构设计师可利用它轻松完成 TCP 和 iSCSI 协议处理设计,而不用担心网络或主机接口侧的串行连接问题。以下是协议处理任务卸载设计中经常遇到的一些难题:
·需要支持的 TCP 连接的数量;
·TCP 数据包重组/重排序;
· IP 数据包分片和重组;
·时延;
·片上和片外 TCP 会话管理之间的关系。
有了Virtex-5 器件的独特功能以及IP 核,所有这些问题都可以迎刃而解。借助内置GEMAC 和 PCIe 接口,您只需最少的 FPGA 资源即可实现直接内存存取解决方案,从而缩短了内存存取时延,并且在无需调用临时内存的情况下即可实现 TCP 封包重组。Virtex-5FPGA 还搭载了一个36Kb 双端口block RAM,从而使您可以支持的TCP连接数量倍增。借助 Xilinx 的LogiCORE高速存储控制器,您可以使用外部 DDR2 内存来扩充 TCP 会话管理功能。让我们来看看基于 FPGA 的网卡设计可以节约哪些资源。
1Gbps和10Gbps网卡解决方案
面向 IP 存储和刀片服务器的集成式多端口 1Gbps和10Gbps TCP卸载网卡(NIC),能够让制造商充分利用网络设备进行业务存储。图1提供了一个典型的基于 FPGA 的NIC设计。
取决于所使用的 IP 核的数量,该设计可采用多达20 000个单元。Virtex-5LXT平台可将资源占用率降低一半,这样,您就能在不降低性能的情况下,创建一个低成本的解决方案。除提高硬件效率外,系统架构师还可以降低NRE成本,因为在设计 GbE 和 PCIe 高速I/O接口时,无需使用 NRE。图2提供了一个借助Virtex-5系列的内置资源,对 TCP 卸载 NIC 进行重新设计的示例。
结语
有了第三方厂商提供的在Xilinx FPGA上实现的符合TCP和iSCSI标准的卸载IP核,现在您能够以更低的开发成本,设计出通用或定制化片上系统。利用Virtex-5 LXT平台搭载增强型GEMAC和PCIe端点模块、容量更大的block RAM,以及6输入查找表,实现面向服务器、存储器、多协议交换机,以及无线基站产品的复杂协议处理任务卸载解决方案,可以大大减少FPGA 资源占用量。
- 基于LPC2294的泵舱信号转换电路设计(10-16)
- TCP/IP远程网络步进电机控制器(03-15)
- 多端口寄存器堆的低功耗设计方法(03-19)
- 12位串行A/D转换器MAX187的应用(10-06)
- AGC中频放大器设计(下)(10-07)
- 低功耗、3V工作电压、精度0.05% 的A/D变换器(10-09)