具有网络直放功能的多闪存并行存储装置的制作方法

文档序号:7745913阅读:142来源:国知局
专利名称:具有网络直放功能的多闪存并行存储装置的制作方法
技术领域
本发明涉及一种流媒体存储装置,即芯片或FPGA,,特别是涉及一种具有网络直放功能的多闪存并行存储装置,即芯片或FPGA,。
背景技术
随着我国宽带互联网建设的不断推进,三网合一的网络融合不断推进,越来越多 的用户开始使用基于IP的宽频服务,融合通信的宽频时代已经到来。这使得许多基于IP 的多媒体的服务成为可能,例如宽频电影院,网络电视台,视频会议,远程教育,远程医疗, 网络视频监控,在线直播系统等。作为宽频服务的核心技术,流媒体技术在最近几年得到巨大发展,流媒体指以流 方式在网络中传送音频、视频和多媒体文件的媒体形式。在流媒体服务体系中,客户端主 要是普通PC,或者是支持IP功能的机顶盒;在运营局端,有流媒体服务器,媒体内容管理系 统,客户管理和认证系统,以及适应各种视频平台的媒体转码系统。其中流媒体服务器就是流媒体服务的核心系统,是运营商向用户提供视频服务的 关键平台。其主要功能是对媒体内容进行采集、缓存、格式转换,调度和传输播放;同时为了 适应运营服务尤其是电信运营商的要求,新的针对电信增值业务的功能成为必须,例如加 密分发、内容审核及发布、认证播放、运营计费等等基于一体化的宽带流媒体业务功能。当前主要流媒体服务器采用传统的X86体系结构,随着网络流媒体流量急剧增 力口,传统体系结构遇到下列的性能瓶颈存储系统仍然基于机械硬盘,虽然普通机械硬盘在 存储容量上突飞猛进,但是因为其结构弱点,读写速度受限于碟片的物理旋转速度和磁头 的读写速度,同时存在随机读取困难的问题,这些导致其持续读写速度仍然进步很慢,极大 落后于起容量增长速度;X86体系结构中网络接口和存储系统是独立的子系统,两者没有 直放通道,使得大量流媒体的播放仍然经过系统主内存,导致流媒体播放极大消耗系统资 源,影响主机性能。

发明内容
本发明的目的是提供一种能够服务器的运行功耗、采用并行高速闪存存储系统、 能够实现实现流媒体数据的高速持续读取、实现流媒体文件从存储读取到网络接口的高速 直接播放、极大提高流媒体网络播放的速度的具有网络直放功能的多闪存并行存储装置, 即芯片或FPGA。为解决上述技术问题,本发明采取以下技术方案一种具有网络直放功能的多闪 存并行存储装置,其特征在于其包括分组处理引擎、固态存储引擎、固态存储网络接口模 块、网络接口模块和PCIe接口模块;所述分组处理引擎接受来自所述网络接口模块、固态存储网络接口模块的数据发 送请求,并根据主机定义的链接参数,在所述装置外部的DDR内存中分配队列空间以暂存 各种数据包;所述分组处理引擎还从所述DDR内存读取数据包并将其传送到所述网络接口模块;所述固态存储引擎与PCIe接口模块和固态存储网络接口模块相连接,并与多闪 存存储系统相连;所述固态存储网络接口模块用于实现所述固态存储引擎和分组处理引擎之间的 直接接口,并且其定义了从媒体存储格式到网络播放格式的转换数据结构,从而实现网络 直放功能;所述网络接口模块是所述分组处理引擎和所述装置外部的多种网络接口之间的 适配模块;所述PCIe接口模块用于提供主机和所述装置之间的数据接口。由于本发明的所述装置,即芯片或FPGA,采用了高速闪存固态存储技术来实现流 媒体数据的高速持续读取,从而解决传统机械硬盘的持续访问速度问题和随机寻址问题; 此外,所述固态存储网络接口模块定义了从媒体存储格式到网络播放格式的转换数据结 构,从而能够实现流媒体文件从存储读取到网络接口的高速直接播放,有效解决传统X86 结构大规模数据向网络播放的瓶颈问题,可实现数千路标清或数百路高清视频播放;最后, 所述装置,即芯片或FPGA,还提供了丰富的网络接口,能够通过不同的适配模块,实现不同 网络接口的统一接入。综上所述,本发明中的所述装置,即芯片或FPGA,使得其流媒体播放 性能达到传统流媒体服务器的10倍乃至更多,同时大大减少服务器的运行功耗,极大提高 运营商的运营效率和客户数量,降低运营商的运营成本。


图1是具有网络直放功能的多闪存并行存储装置,即芯片或FPGA,的硬件结构原理图。
具体实施例方式下面结合附图对本发明的技术方案进行详细说明。为了解决大容量流媒体播放问题,其关键之外在于提高存储系统的长期读取速度 问题,并同时提高流媒体的网络播放速度。本发明的核心不仅在于采用专用的所述装置,即芯片或FPGA,实现多片并行闪存 存储系统以提高存储系统读取速度,而且在于采用所述装置,即芯片或FPGA,实现闪存系统 到网络系统的直接播放,同时以专用PCIe通道和系统主内存通信;通过上述方法,不仅极 大地提高流媒体的读取和播放速度,而且也不占用主机内存资源,从而实现传统X86结构 难以达到的流媒体播放性能,以获得极大提高的流媒体服务器的性价比。图1示出了本发明中的支持网络直放的多闪存高速并行存储装置,即芯片或 FPGA,的硬件结构原理图。所述装置,即芯片或FPGA,可采用可编程门阵列或者专用门阵 列实现,如图1所示,其主要核心模块包括分组处理引擎1 (pkt_engine)、固态存储引擎 2 (SSD_engine)、固态存储网络接口模块3 (SSD_IWF)、网络接口模块4 (pkt_if)和PCIe接口 模块 5(PCIe_if)。下面对构成所述装置, 即芯片或FPGA,的各模块进行详细地说明。所述分组处理引擎1用于负责网络协议的处理,例如队列管理,流量工程处理,网络协议分析及分发等。所述分组处理引擎1的核心是开放的网络交换处理,其提供通用的 分组接口,从而可以通过不同的适配模块接入不同的数据模块,例如通过所述网络接口模 块4之间的接口可以实现与外部标准千兆以太网相连,也可以与主机网络接口相连;此外, 还可以通过所述固态存储网络接口模块来实现对网络接口的直接播放,从而极大提高流媒 体的播放效率。优选地,所述分组处理引擎1主要包括队列写模块11 (queue_Writer)和队列读模 块 12 (queue_reader)组成。所述队列写模块11接受从所述网络接口模块4、固态存储网络接口模块3等内 部各种数据源模块来的数据发送请求,根据主机定义的链接参数,在外部DDR内存6中分 配队列空间以暂存各种数据包。在执行分配队列的同时执行流量管理、协议分析和数据 包分类,这功能主要通过内部三个级联的CAM (Content Addressable Memory)实现,即以 太网源地址CAMlll (source address CAM)、数据包识别CAMl 12 (except CAM)和链接确 认CAMl 13 (forwarding CAM)。所述以太网源地址CAMlll实现对以太网的源地址进行分 类,只有预先设置承认的源地址才被送到下一步的所述数据包识别CAM112进行处理;所 述数据包识别CAM112对许多需要上层主机进行进一步协议处理的数据包进行识别,并将 其传送到主机CPU进行处理,例如STP协议包,0ΑΜ,路由协议等;所述链接确认CAM113对 链接进行确认并且设置转送标签,以便于下一步传送到相应模块,没有通过链接确认的数 据包将会被主动丢弃。所述三个CAM的设计采用灵活的二叉树结构进行设计,其容量可以 根据系统的容量进行具体裁剪。数据包通过三级级联的所述CAM确认后,流量监管模块 114(policer)将根据队列的拥挤程度对数据包进行流量工程分类,即俗称的给包打颜色。 流量工程的拥塞管理器115 (congestion manager)根据数据包的颜色,以及其所处队列状 况进行拥塞处理,执行加权随机早期检测(WRED,Weighted Random Earlier Detection)排 队操作。所述队列写模块 11通过内部统一的客户写接口 116 (client write interface)与 所述装置,即芯片或FPGA,内部的其他模块相连;优选地,所述客户写接口为32位、125Mhz 的总线,可以支持4Gbps的写带宽,同时能够支持和多个设备客户接口相连,例如所述多个 设备客户接口可以是以下述太网接口的写客户模块(MAC write client)、固态存储模块的 重组客户模块(SSD reassembly client),所述这些客户模块都支持统一的客户写接口和 分组处理引擎1的所述客户写接口相连,但是在另一端则支持不同的功能。所述队列读模块执行从内存读取数据包的工作,并且将其传送到相应的外部网 络接口。所述队列读模块主要依靠目的地CAM121 (destination CAM)获取数据包将要发 送的目的地信息,例如目标MAC地址、连接参数等,并将所述信息根据系统预先的配置加到 对应链接的数据包中;同时所述队列读模块依靠发送控制调度模块122(p0ller/Shaper/ scheduler)决定输出数据流的流量工程参数、包发送时间等重要发送信息,在获取目的地 址,发送时间戳标记,端口号等相关信息后,所述队列读模块按照预定的要求从内存中读 取数据包,将其发送到外部模块,所述外部模块例如可以是网络接口等。所述队列读模块 通过内部统一的客户读接口 123(Client readinterface)与所述装置,即芯片或FPGA,内 部的其他模块相连;优选地,所述客户读接口为32位、125Mhz的总线,可以支持4Gbps的 读带宽,同时能够支持和多个设备客户接口相连,例如太网接口的读客户模块(MAC read client)、固态存储模块的组装客户模块(SSDassembly client)、固态存储模块的分段客户模块(SSD segmentclient),这些客户模块都支持统一的客户读接口与分组处理引擎1的 所述客户读接口相连。所述固态存储引擎2负责与多闪存存储系统7 (Flash Array)接口,其支持多闪存 阵列存储,设计最多可支持128片闪存并行存储、数据读取稳定持续带宽可达到16Gbps。所 述固态存储引擎还同时支持与PCIe接口模块5相连接,以及与分组引擎接口模块1相连接 的固态存储网络接口模块3相连接,从而实现存储网络直接播放。所述固态存 储引擎模块 的核心是闪存控制模块21 (SSD_Control),此模块可同时支持最多128片NAND闪存,采用并 行组合方式,使得读写带宽大大提高,同时支持闪存防老化算法,使得闪存的使用寿命大大 延长。所述固态存储引擎2还包括闪存数据包发送主模块22 (SSD pkttx master)和闪存 数据包接收主模块23 (SSD pkt rx master),其分别被设计为与下述固态存储发送缓存模 块34和固态存储接收缓存模块38相连接。所述固态存储网络接口模块3用于实现所述固态存储引擎2和分组处理引擎1之 间的直接接口。所述固态存储网络接口模块3定义了从媒体存储格式到网络播放格式的转 换数据结构,并采用多级链表结构来实现流媒体链接到存储文件的映射,使得在流媒体网 络播放时,能够自动实现直放功能,从而极大的提高流媒体网络播放性能。优选地,初始设 计支持1024流媒体链接,总共约2Gbps持续网络播放带宽。所述固态存储网络接口模块3由读写两大部分,共包括6个小模块。所述读模块由 固态存储读客户模块31 (ssd read client)、固态存储包缓冲模块32 (ssd packet buffer) 和固态存储组装客户模块33 (ssd assembly client)三个子模块构成;固态存储读客户模 块31负责和所述分组处理引擎1的所述客户读接口互联,将从所述分组处理引擎1读取 的数据包写入所述固态存储包缓冲模块32,所述固态存储包缓冲模块32执行数据包缓存 作用,同时也执行数据速率时钟的变换,以实现不同数据率的适配;固态存储组装客户模块 33利用连接标识(FID, Flow ID)到固态存储连接标识(SSDID,Solidstate disk ID)查找 表中的信息对从所述固态存储包缓冲模块32中读取的数据包进行重新装配,形成新的固 态数据存储格式,再通过写入固态存储发送缓存模块34 (ssd tx buffer),等待固态存储引 擎2去处理。固态存储网络接口模块3的所述写模块由固态存储写客户模块35(ssd write client)、固态存储包缓冲模块36(ssd packet buffer)和固态存储段客户模块37 (ssd segment client)构成;固态存储写客户模块35负责和所述分组处理引擎1的所述客户写 接口互联,将从固态存储包缓冲模块36读取的数据包写入所述分组处理引擎1,固态存储 包缓冲模块36执行数据包缓存作用,同时也执行数据速率时钟的变换,以实现不同数据率 的适配;固态存储段客户模块37利用固态存储连接标识(SSDID,Solid state disk ID)到 连接标识(FID,Flow ID)查找表中的信息对从固态存储接收缓存模块38 (ssd rxbuffer) 中读取的数据包进行重新分割,形成新的以太网承载格式,再通过写入固态存储包缓冲模 块36,等待固态存储写客户模块35去处理。所述网络接口模块4是所述分组处理引擎1和所述装置,即芯片或FPGA,外部的多 种网络接口之间的适配模块,在保持所述分组处理引擎1不变的情况下,通过不同的适配 模块,可以接入千兆以太网、主机检测控制网络接口、HDLC接口以、RS232串口、ATM信元、以 及多种网络适配单元。
所述网络接口模块4是其中最重要的适配模块,由读写两大部分,总共6个小模块 构成。所述以太网读模块由读客户模块41(maCread client),包缓存模块42 (mac packet buffer),千兆以太网数据链路层传输模块43 (gig ethernet pcs/mac tx)构成;读客户 模块41负责和所述分组处理引擎1的客户读接口互联,将从所述分组处理引擎1读取的 数据包写入包缓存模块42,所述包缓存模块42执行数据包缓存作用,同时也执行数据速 率时钟的变换,以实现不同数据率的适配;所述千兆以太网数据链路层传输模块43用于 实现千兆以太网的数据链路层协议功能,可以和所述装置,即芯片或FPGA,外部的千兆以 太网物理层 PHY(以太网物理层设备)以 GMII (GigabitMedia Independent Interface) 或者 RMII (Reduced pincount GigabitMedia Independent Interface)互联,或者以 SGMII (Serial GigabitMedia Independent Interface)接口和光以太网的 SFP 互联。所 述千兆以太网数据链路层传输模块43从包缓存模块42读取的数据包并通过GMII (Serial Gigabit Media Independent Interface)或者SGMII (Serial Gigabit Media Independent Interface)接口传到所述装置,即芯片或FPGA,外部的以太网络上。所述以太网写模块由写客户模块44 (mac write client),包缓存模块45 (mac packet buffer),千兆以太网数据链路层接受模块46 (gig Ethernet pcs/mac rx)构成。 所述写客户模块44负责和所述分组处理引擎1的客户写接口互联,将从包缓存模块45读 取的数据包写入所述分组处理引擎1,所述包缓存模块45执行数据包缓存作用,同时也执 行数据速率时钟的变换,以实现不同数据率的适配;千兆以太网数据链路层接受模块46实 现千兆以太网的数据链路层接受协议功能,可以和所述装置,即芯片或FPGA,外部的千兆以 太网物理层PHY(以太网物理层设备)以GMII(Gigabit Media Ind印endentlnterface)或 # RMII (Reduced pincount Gigabit Media Independent Interface) L,M SGMII 接口和光以太网的SFP互联。千兆以太网数据链路层接受模块46通过GMII (Gigabit MediaIndependent Interface)或 者 SGMII(Serial Gigabit MediaIndependent Interface)接口接受到外部网络输入的数据包,将其写入包缓存模块45,并向写客户模块 44发送数据包准备好信号,等待写客户模块44从所述包缓存模块45读取包数据。CPU数据包接口模块8提供与CPU的数据包接口,主要供主机测试和协议处理,其 结构和所述网络接口模块4类似,但是提供供CPU访问的寄存器接口。所述PCIe (PCI express)接口模块5支持多路PCIe接口,使得主机和流媒体直放 系统能够直接相连。PCIe接口模块主要由PCIe系统控制模块51 (PCIe System Control), SDRAM 接 口模块 52(PCIesdram i/f)、PCIe 主模式写模块 53 (PCIe write master)和 PCIe 主模式读模块54 (PCIe read master)组成。PCIe系统控制模块一方面和PCIe的物理层和 链路层接口 9(PCIe PHY and Link layer),另一方面对专用系统内部提供系统工作接口, 所述内部系统工作接 口主要由所述 SDRAM (Synchronous dynamic Random Access Memory) 接口模块、PCIe主模式写模块和PCIe主模式读模块组成。其中,所述SDRAM接口模块为 SDRAM内存接口,用于给主机CPU提供直接的SDRAM内存访问通道;PCIe主模式写模块是主 机CPU对本发明中的所述多芯片闪存模块的直接写入接口,其主要处理从PCIe发过来的数 据写操作;PCIe主模式读模块是主机CPU对本发明所述多芯片闪存模块的直接读取接口, 主要处理从PCIe发过来的数据读操作。本发明所述的所述芯片,即所述多芯片闪存模块采用XilinXVirteX-5FPGA实现,预估设计容量约百万们左右。在核心专用芯片的基础上,在综合成本和性能的考虑下,可以考虑利用同样的核心模块实现高端和中低端两个系列,中低端系列支持约2Gbps的流媒体 播放带宽,约可同时支持400路以上标清视频或200路以上高清视频,主要针对中等容量的 社区,企业等专网用户;高端系统支持约20G的流媒体播放带宽,约可同时支持4000路以上 标清视频或2000路以上高清视频,主要针对大规模运营业务。
权利要求
一种具有网络直放功能的多闪存并行存储装置,其特征在于其包括分组处理引擎、固态存储引擎、固态存储网络接口模块、网络接口模块和PCIe接口模块;所述分组处理引擎接受来自所述网络接口模块、固态存储网络接口模块的数据发送请求,并根据主机定义的链接参数,在所述装置外部的DDR内存中分配队列空间以暂存各种数据包;所述分组处理引擎还从所述DDR内存读取数据包并将其传送到所述网络接口模块;所述固态存储引擎与PCIe接口模块和固态存储网络接口模块相连接,并与多闪存存储系统相连;所述固态存储网络接口模块用于实现所述固态存储引擎和分组处理引擎之间的直接接口,并且其定义了从媒体存储格式到网络播放格式的转换数据结构,从而实现网络直放功能;所述网络接口模块是所述分组处理引擎和所述装置外部的多种网络接口之间的适配模块;所述PCIe接口模块用于提供主机和所述装置之间的数据接口。
2.如权利要求1所述的装置,其特征在于所述分组处理引擎在分配队列空间的同时 执行流量管理、协议分析和数据包分类。
3.如权利要求1所述的装置,其特征在于所述分配队列空间通过三个级联的CAM实 现,即以太网源地址CAM、数据包识别CAM和链接确认CAM。
4.如权利要求3所述的装置,其特征在于每个所述CAM的设计采用二叉树结构进行 设计,其容量可以根据系统的容量进行具体裁剪。
5.如权利要求1所述的装置,其特征在于所述多闪存存储系统包括多闪存阵列存储 系统。
6.如权利要求1所述的装置,其特征在于所述转换数据结构采用多级链表结构来实 现流媒体链接到存储文件的映射.。
7.如权利要求1所述的装置,其特征在于在保持所述分组处理引擎1不变的情况下, 通过不同的适配模块,所述网络接口模块可以接入千兆以太网、主机检测控制网络接口、 HDLC接口、RS232串口、ATM信元、以及多种网络适配单元。
8.如权利要求1所述的装置,其特征在于所述PCIe接口模块支持多路PCIe接口。.
9.如权利要求1所述的装置,其特征在于所述装置还包括CPU数据包接口模块,其用 于提供与CPU的数据包接口。
10.如权利要求9所述的装置,其特征在于所述CPU数据包接口模块主要供主机测试 和协议处理。
全文摘要
本发明涉及一种具有网络直放功能的多闪存并行存储装置,其特征在于其包括分组处理引擎、固态存储引擎、固态存储网络接口模块、网络接口模块和PCIe接口模块;所述固态存储网络接口模块用于实现所述固态存储引擎和分组处理引擎之间的直接接口,并且其定义了从媒体存储格式到网络播放格式的转换数据结构,从而实现网络直放功能。由于本发明的所述装置,即芯片或FPGA,采用了高速闪存固态存储技术来实现流媒体数据的高速持续读取,从而解决传统机械硬盘的持续访问速度问题和随机寻址问题;此外,所述装置,即芯片或FPGA,还提供了丰富的网络接口,能够通过不同的适配模块,实现不同网络接口的统一接入。
文档编号H04L12/56GK101847429SQ201010144829
公开日2010年9月29日 申请日期2010年4月13日 优先权日2010年4月13日
发明者丁宇, 姚志平 申请人:苏州达通泰科信息技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1