一种支持虚拟接口的存储网络适配器的制作方法

文档序号:6519491阅读:167来源:国知局
专利名称:一种支持虚拟接口的存储网络适配器的制作方法
技术领域
本发明属于计算机存储技术领域,具体涉及一种存储网络适配器,用于构建基于虚拟接口的存储网络。
背景技术
网络存储已经成为存储系统应用和研究的主流与热点,它将传统的存储设备(磁盘,光盘,磁带库,盘阵列等)通过计算机网络互联,形成容量更大,性能更高同时具有高可用性和高安全性的新型存储系统。除了存储设备本身外,决定网络存储系统性能的另一个关键因素就是网络通信传输。现有的多数网络存储系统都使用TCP/IP协议进行通信传输,而TCP/IP本身并不是面向存储系统数据传输而设计的,它更适合大量小数据包的传输。对于大块连续的存储系统数据,使用TCP/IP进行传送,通信开销过大,导致网络有效I/O带宽降低,影响了网络存储的响应速度。另一种用于存储系统的FC网络则存在价格昂贵、与现有的网络兼容性差的问题;在FC网络之间还存在由于标准不统一带来的互操作性等问题。
虚拟接口体系结构(VIA)是用户级轻量级通信协议的工业标准,它的设计思想是给每个用户进程提供一个受保护的直接可访问的虚拟网络接口,以节约传统网络模式中协议系统处理的开销;每个虚拟接口代表一个通信端点,两个虚拟接口可逻辑上连接起来实现点——点双向数据传输;通过消除两端的系统数据区和用户数据区之间的拷贝,以提高实际数据传输带宽。目前实现VIA的方法包括软件实现和硬件实现两类,但软件实现性能不高,而硬件实现造价较高,兼容性不好。

发明内容
本发明提出一种支持虚拟接口的存储网络适配器,通过在FPGA芯片内采用软硬件结合的方式实现虚拟接口协议功能,并且实现一定的数据缓存管理功能,最大限度的减少主机的通信开销,达到拓展存储网络的有效带宽,提高存储访问速度,增强存储网络的互连互操作性等目的。
本发明的一种支持虚拟接口的存储网络适配器,包括主机接口、片上系统、以太网接口和虚拟接口专用逻辑电路;片上系统与以太网接口通过片上系统总线互连;主机接口与片上系统采用共享内存的通信机制实现互连与通信;(1)主机接口是通信主机与本存储网络适配器进行命令、数据交互的界面,当主机需要进行数据通信传输时,通过主机接口向本存储网络适配器发出请求命令,待本存储网络适配器响应后再向主机接口提交或从主机接口获取通信数据;(2)片上系统包括嵌入式核心处理器、片上系统总线、存储器,构成一个具有协议处理、I/O能力的嵌入式计算机系统,通过执行固件代码,配合虚拟接口专用逻辑电路,完成下述功能(2-1)数据发送,当获取主机的发送请求VI描述符后,解析描述符获取数据缓存的逻辑地址和数据长度,完成数据缓存的地址映射,获取数据的物理地址,启动DMA从主机主存取得要传输的数据,形成VIA数据包并将其封装成以太网帧,启动以太网接口传输数据;(2-2)数据接收,从以太网获取数据帧,从中解析出VI数据包头,识别出数据目的VI,形成完整的VI数据包,从接收描述符队列中查找出对应的接收描述符,地址映射获取目的用户的缓存物理地址,启动DMA将数据传输到用户的接收缓存;(3)以太网接口包括以太网的媒体访问控制层,完成对以太网帧的发送和接收控制;它一端与片上系统通过系统总线连接,接收片上系统的控制,进行帧的发送和接收,另一端提供GMII或MII接口,方便采用不同的以太网物理介质的接入;(4)虚拟接口专用逻辑电路在FPGA芯片内部通过硬件描述语言实现,包括DMA控制器和实现VI的专用逻辑电路,完成存储数据的DMA传输、地址映射、描述符队列管理、描述符解析以及校验码的生产与验证功能。
所述的一种支持虚拟接口的存储网络适配器,其特征在于(1)主机接口采用PCI或PCI-X计算机外部设备接口标准;(2)支撑片上系统的固件完成包括VI核心代理在内的VI协议功能,包括片上系统的系统功能模块、完成VIA协议功能的模块和提高存储网络传输性能的缓存管理调度功能模块;(2-1)片上系统的系统功能模块包括支持核心处理器的嵌入式操作系统和相关的设备驱动程序(主要是对以太网MAC的控制),系统加电复位后,载入固化的系统指令代码,按照预定的配置完成系统初始化工作,然后进入正常运行状态;(2-2)完成VIA协议功能的模块由操作系统在主机的指示下载入,以核心线程运行,直到收到主机的撤销命令才退出;该线程配合主机完成VI内存注册、创建地址映射表、完成VI包分封装与解封装、完成以太网帧的封装与解封装;(2-3)缓存管理调度功能模块负责对接受队列和发送队列所对应的数据缓存进行管理与调度,以VI为单位对数据缓存进行动态管理,对通信密集的VI分配更多的缓存,反之则减少其缓存容量;缓存数据存放在双端口的RAM中,达到对缓存读写的并行执行。
(3)所述主机接口与片上系统的共享内存被分为两部分,一部分用于存放发送描述符,构成发送描述符队列;另一部分用于存放接收描述符,构成接收描述符队列;主机对两个队列写入描述符,片上系统则从两个队列读取描述符,队列的实现与管理采用双端口RAM配合虚拟接口专用逻辑电路来完成,每写入一个描述符,都会触发相应的描述符处理逻辑并做出适当的处理,从而实现VIA的门铃机制;本发明通过在FPGA芯片内部构建片上系统(SOC),采用软硬件协同工作,实现VIA通信协议,并采用以太网作为物理传输介质完成最终协议数据传输,从而构成一个具有完整协议处理功能的存储网络接口适配器。
通过FPGA硬件在以太网上实现VIA协议具有很强的灵活性,通过软硬件结合,既可以实现VIA协议,又可以实现传统的TCP/IP协议,而用以太网作为传输介质又保证了开发出的设备具有很好的互连互操作性。将协议完全固化在一个FPGA芯片内部实现,从而最大限度的减少了通信主机的协议处理开销,提高系统的通信传输性能,可以有效的改善存储网络带宽、存储访问速度、互操作性等主要网络存储问题。
使用本发明的网络适配器可用于组建存储网络、分布式存储、面向对象的存储等网络存储系统。与传统网络适配器不同的是它采用在FPGA芯片内部通过片上系统完成VIA或其他网络通信协议,将原来由通信主机完成的协议开销转移到网络接口适配器。
本发明具有以下优点(1)减少节点的通信开销,获得更高效的网络传输性能;(2)采用VIA轻量级通信协议,减少通信过程中的数据拷贝,缩短了网络存储数据的关键路径;(3)底层采用以太网作为传输介质,保证了其与现有网络的互连互操作性;(4)软硬件协同工作,加快了协议的处理过程。


图1为本发明的一个实施例结构示意图。
具体实施例方式
下面结合图1对本发明作进一步说明。主机接口部分120采用64位66MHz的PCI(Peripheral Component Interconnect)实现,亦可以采用更高速的PCI-X接口而获取更高的速度性能,180为64位PCI接口总线。核心处理器110采用Altera公司的提供的通用RISC微处理器Nios II实现,相应的片上系统总线150采用Avalon交换式总线,存储器130又包括双端口静态RAM(Static Random Access Memory)130.1,用于与主机进行命令(描述符)的交互;相对双端口静态RAM 130.1容量较大的同步动态RAM(Synchronous Dynamic RAM)130.2,用于处理器的主存和数据缓存;Flash存储器130.3,用于程序的固化和配置信息的保存;这些模块共同协作保证了片上系统的可靠运行。图中虚拟接口专用逻辑电路160模块包括DMA控制器和实现VI的专用逻辑电路,用于完成存储数据的DMA传输、地址映射、描述符队列管理、描述符解析以及校验码的生产与验证功能,在FPGA芯片内部通过硬件描述语言即可实现该部分的功能。以太网接口部分包括控制层(MAC)140和物理层(PHY)210两部分。其中媒体访问控制层140在FPGA片内实现,它一端与系统总线150相连,接受核心处理器110的控制,负责发送数据缓存内的帧、接收数据帧存放到相应的数据缓存区;另一端采用GMII/MII接口与PHY层外部芯片连接,依靠PHY层提供的物理接口170(铜缆或光线)接入以太网。
数据发送基本流程如下①主机发出发送请求描述符到双端口SRAM 130.1的描述符队列中,同时触发一次门铃事件;②受门铃的触发,虚拟接口专用逻辑电路160进行描述符解析,获取发送数据的主机内存逻辑地址,通过地址映射逻辑,配合地址映射表,完成安全性检查和地址映射,得到发送数据所在的主机内存物理地址;③根据解析的描述符信息,核心处理器进行VI包头和以太网帧头、帧尾的构造,数据缓存的分配调度,获得一个130.2内的缓存地址;④根据②,③步获得的地址信息,配置DMA寄存器,启动DMA进行数据传输,完成后产生中断信号,通知主机传输完成;⑤当有完整的帧封装完成即可同时启动以太网MAC模块进行数据发送,直到所有的帧均发送完毕为止。
数据的接收则是上述过程的逆过程。
权利要求
1.一种支持虚拟接口的存储网络适配器,包括主机接口、片上系统、以太网接口和虚拟接口专用逻辑电路;片上系统与以太网接口通过片上系统总线互连;主机接口与片上系统采用共享内存的通信机制实现互连与通信;(1)主机接口是通信主机与本存储网络适配器进行命令、数据交互的界面,当主机需要进行数据通信传输时,通过主机接口向本存储网络适配器发出请求命令,待本存储网络适配器响应后再向主机接口提交或从主机接口获取通信数据;(2)片上系统包括嵌入式核心处理器、片上系统总线、存储器,构成一个具有协议处理、I/O能力的嵌入式计算机系统,通过执行固件代码,配合虚拟接口专用逻辑电路,完成下述功能(2-1)数据发送,当获取主机的发送请求VI描述符后,解析描述符获取数据缓存的逻辑地址和数据长度,完成数据缓存的地址映射,获取数据的物理地址,启动DMA从主机主存取得要传输的数据,形成VIA数据包并将其封装成以太网帧,启动以太网接口传输数据;(2-2)数据接收,从以太网获取数据帧,从中解析出VI数据包头,识别出数据目的VI,形成完整的VI数据包,从接收描述符队列中查找出对应的接收描述符,地址映射获取目的用户的缓存物理地址,启动DMA将数据传输到用户的接收缓存;(3)以太网接口包括以太网的媒体访问控制层,完成对以太网帧的发送和接收控制;它一端与片上系统通过系统总线连接,接收片上系统的控制,进行帧的发送和接收,另一端提供GMII或MII接口,方便采用不同的以太网物理介质的接入;(4)虚拟接口专用逻辑电路在FPGA芯片内部通过硬件描述语言实现,包括DMA控制器和实现VI的专用逻辑电路,完成存储数据的DMA传输、地址映射、描述符队列管理、描述符解析以及校验码的生产与验证功能。
2.如权利要求1所述的一种支持虚拟接口的存储网络适配器,其特征在于(1)主机接口采用PCI或PCI-X计算机外部设备接口标准;(2)支撑片上系统的固件完成包括VI核心代理在内的VI协议功能,包括片上系统的系统功能模块、完成VIA协议功能的模块和提高存储网络传输性能的缓存管理调度功能模块;(2-1)片上系统的系统功能模块包括支持核心处理器的嵌入式操作系统和相关的设备驱动程序(主要是对以太网MAC的控制),系统加电复位后,载入固化的系统指令代码,按照预定的配置完成系统初始化工作,然后进入正常运行状态;(2-2)完成VIA协议功能的模块由操作系统在主机的指示下载入,以核心线程运行,直到收到主机的撤销命令才退出;该线程配合主机完成VI内存注册、创建地址映射表、完成VI包分封装与解封装、完成以太网帧的封装与解封装;(2-3)缓存管理调度功能模块负责对接受队列和发送队列所对应的数据缓存进行管理与调度,以VI为单位对数据缓存进行动态管理,对通信密集的VI分配更多的缓存,反之则减少其缓存容量;缓存数据存放在双端口的RAM中,达到对缓存读写的并行执行。(3)所述主机接口与片上系统的共享内存被分为两部分,一部分用于存放发送描述符,构成发送描述符队列;另一部分用于存放接收描述符,构成接收描述符队列;主机对两个队列写入描述符,片上系统则从两个队列读取描述符,队列的实现与管理采用双端口RAM配合虚拟接口专用逻辑电路来完成,每写入一个描述符,都会触发相应的描述符处理逻辑并做出适当的处理,从而实现VIA的门铃机制。
全文摘要
基于虚拟接口的存储网络适配器,属于计算机存储技术领域。通过在FPGA芯片内采用软硬件结合的方式实现虚拟接口协议、数据缓存管理功能,减少主机通信开销,达到拓展存储网络有效带宽,提高访问速度,增强网络互连互操作性等目的。本发明包括主机接口、片上系统、以太网接口和虚拟接口专用逻辑电路;片上系统与以太网接口通过片上系统总线互连;主机接口与片上系统采用共享内存的通信机制实现互连与通信。本发明减少节点通信开销,获得更高效的传输性能;采用VIA轻量级通信协议,减少通信过程的数据拷贝,缩短存储数据的关键路径;底层采用以太网作为传输介质,保证了与现有网络的互连互操作性;软硬件协同工作,加快了协议处理过程。
文档编号G06F13/00GK1761222SQ200510019858
公开日2006年4月19日 申请日期2005年11月22日 优先权日2005年11月22日
发明者冯丹, 童薇, 陈俭喜, 王芳, 刘景宁, 王娟, 施展, 庞丽萍 申请人:华中科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1