CN102769574B - 一种能够进行业务硬件加速的装置及其方法 - Google Patents
一种能够进行业务硬件加速的装置及其方法 Download PDFInfo
- Publication number
- CN102769574B CN102769574B CN201210277188.5A CN201210277188A CN102769574B CN 102769574 B CN102769574 B CN 102769574B CN 201210277188 A CN201210277188 A CN 201210277188A CN 102769574 B CN102769574 B CN 102769574B
- Authority
- CN
- China
- Prior art keywords
- module
- message
- pdu
- data
- cpu
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Mobile Radio Communication Systems (AREA)
Abstract
本发明提供一种能够进行业务硬件加速的装置,包括:逻辑硬件加速模块,配置为接收来自核心网的下行数据报文,并且将所述下行数据报文存储到中央处理单元(CPU)的内存区中;以及CPU,配置为从所述内存区获取所述下行数据报文,并且对所述下行数据报文执行GPRS隧道协议用户面部分(GTPU)协议处理以及报文数据汇聚协议(PDCP)处理。所述逻辑硬件加速模块进一步配置为对经过所述PDCP处理的数据报文执行无线链路控制(RLC)处理以生成RLC协议数据单元(PDU),对所述RLCPDU执行帧协议(FP)组帧处理和封装处理以生成下行以太网报文,并且发送所述下行以太网报文。通过根据本发明的业务硬件加速方案,可以极大地减轻CPU的负载,减少用户面报文处理延时,提高整体业务的处理性能以及处理容量。
Description
技术领域
本发明一般涉及移动通信系统,具体地,涉及能够对移动通信系统中的高速上行业务和高速下行业务进行硬件加速的装置及其方法。
背景技术
随着移动宽带业务的发展,全球信息及通信市场正在面临一个显著转变。可以预见,在未来数年后,移动带宽将会产生巨大的增长。无线业务量的巨增给业务处理单板(例如,WCDMA业务处理单板)的性能带来了很大的挑战,这要求处理能力实现几倍甚至十几倍的规格提升。通用处理器在信息技术与通信技术的融合过程中逐渐占据优势,但是通用处理器在通信领域的速度还赶不上专用处理器,因此,在一段时间内需要协处理器的加速。为了满足带宽需求,业务硬件加速是可以考虑的方案之一。
例如,为了适应更高的分组数据业务数据速率,3GPP/WCDMA标准组织提出了高速分组接入(HSPA:High Speed Packet Access)、HSPA+等标准,进一步增强了性能,从而支持更高的每用户峰值速率。高速下行分组接入(HSDPA:High Speed Downlink Packet Access)在下行链路上能够达到高达168Mbit/s的速率,高速上行分组接入(HSUPA:High Speed Uplink PacketAccess)在上行链路上能够达到高达24Mbit/s的速率。无线网络控制器(RNC:Radio Network Controller)管理着很多基站和用户,根据话务模型统计,HSPA的分组交换(PS:Packet-Switched)业务流量达到了RNC处理的整个WCDMA业务的90%。因此,高速、大流量PS数据在业务处理单板的硬件加速成为首先考虑的问题。
在一种现有技术方案中,采用一片通用的多核处理器完成WCDMA业务的处理,其中内嵌Kasumi/Snow 3g硬件加速单元。多核处理器可以是例如Rmi、Cavium、FreeScale等多核处理器产品,这一类处理器通常带有16/32个MIPS核以及2个万兆以太网(10GE)的接口。每个处理器核运行一个业务进程,业务报文的处理在虚拟中央处理单元(VCPU:Virtual CentralProcessing Unit)中由软件完成。当需要加解密运算的时候,可以通过内部总线使用内嵌的硬件加速单元,同时,VCPU软件同步等待加解密的结果返回后继续往下运行。
上述现有技术方案存在如下缺点。通用的多核处理器中的每个单独核的处理能力不强,主频通常仅在1GHz左右。对于I/O密集型的WCDMA业务,采用VCPU软件处理业务报文的这种方式获得的性能不佳。虽然这类处理器通常带有各种硬件加速单元,但是这些硬件加速单元在WCDMA业务处理上都不能发挥作用。通常,这些硬件加速单元可以较好地用于报文转发处理,但是却不能支持对于业务报文的分片、重组等处理。虽然内嵌的Kasumi/Snow 3g硬件加速单元性能较高,但是其仅能用于加解密处理,而不能用于整个WCDMA业务的处理流程中除了加解密之外的很多其它消耗CPU处理能力的运算。例如,这些硬件加速单元无法用于报文大块内存比特移位搬移、负载循环冗余校验(CRC:Cyclic Redundancy Check)运算、报文校验和计算、协议数据单元(PDU:Protocol Data Unit)分段和级联、PDU分片重组等处理。如果采用纯软件执行这些处理,则单个进程所能处理的用户数就比较少,更重要的是处理延时不确定。当VCPU负载比较低时,处理延时较小。但是,一旦VCPU负载很高,则处理延时就比较大。延时波动的巨烈将体现在用户下载速率的波动上,导致用户体验差。
在另一种现有技术方案中,采用一片带有网络处理器(NP:NetworkProcessor)功能的多核处理器芯片来完成WCDMA业务的处理,例如,LSI公司的Axxia通信处理器(ACP:Axxia Communication Processor)产品。这一类处理器通常带有4/8个PPC核和2个10GE的接口,并且内嵌有Kasumi/Snow 3g加密引擎和NP加速单元。通用的NP加速单元具有可编程特点,可以用来实现WCDMA业务中的无线链路控制(RLC:Radio LinkControl)分段级联、重组、比特移位、C/T封装、CRC计算等功能。每个处理器核运行一个业务进程,业务报文的处理大部分由VCPU软件完成,加速部分由NP加速单元完成。报文的处理采用Pipeline流水方式,由一个NP加速单元转发到另一个NP加速单元,每个可编程NP加速单元执行加速特定部分的功能。
上述现有技术方案存在如下缺点。该技术采用带有NP功能的芯片,但是其自带的多核处理器的每个单独核处理能力不强,主频通常在1.6GHz。虽然由NP加速单元卸载了一部分处理,但是业务处理的其它部分也需要很强的VCPU处理能力。此外,该方案的核心仍是利用NP加速单元的可编程特点,即,实质上仍然是利用软件来实现加速功能。虽然NP加速单元的可编程性具有一定的灵活性,但是NP加速单元仅主要面向网络报文转发处理,其处理复杂业务的效率低下,因此只能进行一些简单重复的处理。可见,这类NP处理单元的功能大都受到了限制,其灵活性不够,处理能力也不足,整个芯片业务处理能力不够。
因此,本领域需要能够适应业务需求的业务硬件加速方案。
发明内容
本发明针对现有技术中存在的问题,提出了能够进行业务硬件加速的装置及其方法。
根据一个方面,本发明提供了一种能够进行业务硬件加速的装置,包括:逻辑硬件加速模块,配置为接收来自核心网的下行数据报文,并且将所述下行数据报文存储到中央处理单元(CPU)的内存区中;以及CPU,配置为从所述内存区获取所述下行数据报文,并且对所述下行数据报文执行GPRS隧道协议用户面部分(GTPU)协议处理以及报文数据汇聚协议(PDCP)处理。所述逻辑硬件加速模块进一步配置为对经过所述PDCP处理的数据报文执行无线链路控制(RLC)处理以生成RLC协议数据单元(PDU),对所述RLC PDU执行帧协议(FP)组帧处理和封装处理以生成下行以太网报文,并且发送所述下行以太网报文。
此外,在本发明提供的能够进行业务硬件加速的装置中,所述逻辑硬件加速模块还配置为接收来自基站的上行数据报文,对所述上行数据报文执行解封装处理以生成经过解封装处理的PDU,对所述经过解封装处理的PDU执行RLC处理以生成业务数据单元(SDU),并且将所述SDU存储到所述CPU的内存区中。所述CPU还配置为从所述内存区获取所述SDU,并且对所述SDU执行封装处理以生成上行以太网报文。所述逻辑硬件加速模块还配置为发送所述上行以太网报文。
根据另一个方面,本发明提供了一种用于业务硬件加速的方法,该方法应用于能够进行业务硬件加速的装置,该装置包括逻辑硬件加速模块和CPU,所述方法包括:逻辑硬件加速模块接收来自核心网的下行数据报文,并且将所述下行数据报文存储到所述CPU的内存区中;所述CPU从所述内存区获取所述下行数据报文,并且对所述下行数据报文执行GTPU协议处理以及PDCP处理;所述逻辑硬件加速模块对经过PDCP处理的数据报文执行RLC处理以生成RLC PDU;所述逻辑硬件加速模块对所述RLC PDU执行FP组帧处理和封装处理以生成下行以太网报文;以及所述逻辑硬件加速模块发送所述下行以太网报文。
此外,本发明提供的用于业务硬件加速的方法还包括:所述逻辑硬件加速模块接收来自基站的上行数据报文;所述逻辑硬件加速模块对所述上行数据报文执行解封装处理以生成经过解封装处理的PDU;所述逻辑硬件加速模块对所述经过解封装处理的PDU执行RLC处理以生成SDU;所述逻辑硬件加速模块将所述SDU存储到所述CPU的内存区中;所述CPU从所述内存区获取所述SDU,并且对所述SDU执行封装处理以生成上行以太网报文;以及所述逻辑硬件加速模块发送所述上行以太网报文。
根据另一个方面,本发明提供了一种能够进行业务硬件加速的装置,其采用系统级芯片(SOC)来实现,该装置包括:内部高级微控制器总线架构(AMBA)Fabric交换总线;高速协处理器总线,其连接到所述AMBAFabric交换总线,用于在连接到该高速协处理器总线的各个单元之间交换数据以及与所述AMBA Fabric交换总线交换数据;XGE接口,其连接到所述高速协处理器总线,配置为接收来自核心网的下行数据报文;多核处理器阵列,其连接到所述AMBA Fabric交换总线,配置为对所述下行数据报文执行GTPU协议处理以及PDCP处理;RLC切片硬加速单元,其连接到所述高速协处理器总线,配置为对经过所述PDCP处理的数据报文执行重传、分段、级联以及添加轮询查询标志处理,其中,所述多核处理器阵列进一步配置为根据所述RLC切片硬加速单元的处理来提取PDU数据;加解密硬加速单元,其连接到所述高速协处理器总线,配置为经由所述高速协处理器总线和所述AMBA Fabric交换总线从所述多核处理器阵列获取所述PDU数据,并且对所述PDU数据执行加密处理以便生成RLC PDU;以及FP组帧硬加速单元,其连接到所述高速协处理器总线,配置为对所述RLCPDU执行MAC-d C/T封装和比特移位处理,执行FP帧生成处理以便生成FP帧,并且对所述FP帧执行封装处理以生成下行以太网报文。所述XGE接口还配置为发送所述下行以太网报文。
此外,在本发明提供的能够进行业务硬件加速的装置中,所述XGE接口还配置为接收来自基站的上行数据报文。所述装置还包括:FP解帧硬加速单元,其连接到所述高速协处理器总线,配置为对所述上行数据报文执行FP帧处理和MAC-es/is处理;增强专用信道(EDCH)排序硬加速单元,其连接到所述高速协处理器总线,配置为对经过所述FP解帧硬加速单元处理的数据报文执行MAC-d排序处理,其中,所述加解密硬加速单元还配置为对经过所述EDCH排序硬加速单元处理的数据执行解密处理;以及RLC重组硬加速单元,其连接到所述高速协处理器总线,配置为对经过所述加解密硬加速单元处理的数据执行重组以生成SDU。所述多核处理器阵列还配置为对所述SDU执行封装处理以生成上行以太网报文。所述XGE接口还配置为发送所述上行以太网报文。
通过根据本发明的业务硬件加速方案,可以极大地减轻CPU的负载,减少用户面报文处理延时,提高整体业务的处理性能以及处理容量。
附图说明
图1示出了根据本发明实施例的能够进行业务硬件加速的装置的结构示意图;
图2示出了根据本发明实施例的控制消息的示意图;
图3示出了根据本发明实施例的实现业务硬件加速的FPGA结构示意图;
图4示出了根据本发明实施例的HSDPA数据传输的处理流程图;
图5示出了根据本发明实施例的HSUPA数据传输的处理流程图;以及
图6示出了根据本发明另一个实施例的能够进行业务硬件加速的装置的结构示意图。
具体实施方式
本发明提出了CPU与逻辑硬件加速模块相配合的业务硬件加速处理方案。在本发明的实施例中,CPU可以采用例如高性能的X86 SandyBridge或IvBridge CPU芯片,其主频达到2.1GHz,处理能力相当于MIPS处理器核的10倍。此外,在其它实施例中,CPU也可以采用MIPS处理器、ARM处理器等。逻辑硬件加速模块可以执行业务硬件加速处理,其可以采用现场可编程门阵列(FPGA:Field Programmable Gate Array)或者系统级芯片(SOC:System on Chip)来实现。例如,对于处理时延要求比较高、流量比较大的快速路径业务,可以采用逻辑硬件加速模块进行硬件加速,而对于处理时延要求比较低、流量比较小的慢速路径业务,可以由CPU来进行处理。
本发明考虑到了HSDPA和HSUPA业务的大流量、高速率的特点。本发明可以将原来由CPU负责的HSDPA下行业务中的RLC分段级联、Kasumi/Snow3g加密、媒体访问控制(MAC)C/T封装、比特移位、帧协议(FP:Frame Protocol)类型1/2组帧、CRC计算和IP/UIP传输处理等处理交由逻辑硬件加速模块执行。本发明还可以将原来由CPU负责的HSUPA上行业务中的上行增强专用信道(EDCH:Enhanced Dedicated Channel)FP类型1/2解帧、CRC校验、MAC-es/is重排序、Kasumi/Snow3g解密、RLC数据报文重组等处理交由逻辑硬件加速模块执行。本发明通过将以上描述的不经常变化的WCDMA业务层二协议部分进行逻辑硬化,可以极大地减轻CPU的负载,减少用户面报文处理延时,提高整体业务的处理性能以及处理容量。
图1示出了根据本发明实施例的能够进行业务硬件加速的装置的结构示意图。
如图1所示,所述能够进行业务硬件加速的装置可以包括CPU芯片115(例如,X86 CPU、MIPS处理器、ARM处理器等)、FPGA芯片111以及2个10GE的PHY芯片120。CPU芯片115可以外带DDR3 DIMM内存116,FPGA芯片111可以外带DDR3颗粒内存113以及QDR SRAM存储芯片112。FPGA芯片111可以提供2个XAUI接口119,以便用于与10GE PHY芯片120相连接。CPU芯片115可以通过2个PCIE×4 Gen2接口114和118来与FPGA芯片111相连接。FPGA芯片111可以提供双PCIE核以用于与CPU芯片115进行通信。PCIE 114可以用于小流量控制消息交互,PCIE118可以用于大流量数据块交互。CPU芯片115内部的多核处理器117可以负责业务和底层软件处理。
图1所示的能够进行业务硬件加速的装置可以针对HSDPA业务和HSUPA业务进行硬件加速。在对HSDPA业务的硬件加速中,来自核心网的下行数据报文被10GE PHY芯片120接收,在由FPGA芯片111匹配识别后交给CPU芯片115进行业务处理,再交给FPGA芯片111进行HSDPA业务硬件加速,然后从10GE PHY芯片120发送给基站。在对HSUPA业务的硬件加速中,来自基站的上行数据报文被10GE PHY芯片120接收,在由FPGA芯片111匹配识别后进行HSUPA业务硬件加速,然后交给CPU芯片115进行业务处理,处理完成后再交给FPGA芯片111经由10GE PHY芯片120发送到核心网。
根据本发明的实施例,在图1所示的CPU芯片115与FPGA芯片111之间可以采用控制消息来实现命令的交互。图2示出了根据本发明实施例的控制消息的示意图。
根据本发明的实施例,在从CPU到FPGA的下行方向,可以为每个业务进程分配一个发送控制消息缓冲区,而在从FPGA到CPU的上行方向,可以为每个业务进程分配一个接收控制消息缓冲区。业务进程的数目可以根据CPU超线程数目来确定。发送控制消息缓冲区和接收控制消息缓冲区可以位于CPU的DDR3内存中,二者在空间上独立划分且互不干涉。发送控制消息缓冲区的CPU写指针和接收控制消息缓冲区的CPU读指针是由业务进程独立维护的,发送控制消息缓冲区的FPGA读指针和接收控制消息缓冲区的FPGA写指针是由FPGA逻辑维护的。上述四个指针可以位于CPU的DDR3内存中,并且可以被CPU读取访问。
存储在发送控制消息缓冲区的控制消息可以被称为下行控制消息,而存储在接收控制消息缓冲区的控制消息可以被称为上行控制消息。
下行控制消息可以具有可变长度,在这种情况下,下行控制消息可以包括下行控制消息固定部分和下行控制消息可变部分。然而,根据另一个实施例,下行控制消息也可以具有固定长度,在这种情况下,下行控制消息可以仅包括下行控制消息固定部分,而不包括与上述的下行控制消息可变部分相关的字段等。以下以具有可变长度的下行控制消息为例来说明下行控制消息的结构,本领域技术人员应当理解,可以通过移除与实现可变长度相关的部分和字段来得到具有固定长度的下行控制消息的结构。
下行控制消息中的下行控制消息固定部分可以包括:CommParaTAG字段,用于标识该消息为下行控制消息或上行控制消息,并且可以作为定界符以表示消息的开始;控制消息类型字段,用于表示该下行控制消息的类型;控制消息数量字段,用于表示子可变控制消息的数量;以及VCPU号字段,用于标识业务进程编号。此外,下行控制消息固定部分还可以包括:下行公共头部分字段;ReturnMsgPtr字段,用于指示CPU要求FPGA按原样返回的字段;以及下行控制消息类型相关内容字段,用于承载与该下行控制消息相关的消息内容,例如报文地址、调度信息等。下行控制消息中的下行控制消息可变部分可以由多个子可变控制消息组成,子可变控制消息在仅执行加解密处理时使用,其可以包括PrivParaTAG字段、加密五元参数等字段。由于下行控制消息采用了可变长度,这会导致在发送控制消息缓冲区中进行存储时,可能将下行控制消息的一部分保存在该缓冲区的底部,而下行控制消息的另一部分保存在该缓冲区的顶部,这个特殊处理由FPGA在逻辑搬移下行控制消息时判读。
上行控制消息仅包括上行控制消息固定部分,其包括CommParaTAG字段、控制消息类型字段、VCPU号字段、上行公共头部分字段、ReturnMsgPtr字段以及上行控制消息类型相关内容字段等。这些字段具有与下行控制消息中的相应字段的相同或相应的作用。
应当指出,根据本发明的下行控制消息和上行控制消息的结构并不局限于图2所示以及以上描述,其可以选择性地包括上述结构中的一个或多个字段,或者根据实际需要包括任何其它字段。
当CPU的业务进程需要发送下行控制消息到FPGA时,其可以判断发送控制消息缓冲区的CPU写指针和FPGA读指针之间的剩余控制消息空间是否足够写入该下行控制消息。如果足够,则写入该下行控制消息,最后更新CPU写指针。当CPU的业务进程需要读取来自FPGA的上行控制消息时,其可以轮询接收控制消息缓冲区的CPU读指针和FPGA写指针。如果发现这两个指针不一致,则将上行控制消息搬移出来进行后续处理,最后更新CPU读指针。
当FPGA需要读取来自CPU的下行控制消息时,其可以定时扫描发送控制消息缓冲区的CPU写指针和FPGA读指针。如果发现这两个指针不一致,则将下行控制消息内容搬移出来进行后续处理,最后更新FPGA读指针。当FPGA需要发送上行控制消息到CPU时,其可以判断接收控制消息缓冲区的CPU读指针和FPGA写指针之间的剩余控制消息空间是否足够写入该上行控制消息。如果足够,则写入该上行控制消息,最后更新FPGA写指针。
图3示出了根据本发明实施例的实现业务硬件加速的FPGA结构示意图。
如图3所示,根据本发明实施例的FPGA可以包括PCIE接口调度模块301、背板接口部分、硬件加速处理部分以及存储和配置接口部分。
PCIE接口调度模块301可以提供2个PCIE×4Gen2接口,以便与CPU连接。根据本发明的实施例,FPGA与CPU的各种通信需要经由该PCIE接口调度模块301。PCIE接口调度模块301可以包括指令缓存F1、数据缓存F2以及上行调度缓存F3。
背板接口部分可以包括背板接口模块312,其提供2个XAUI接口以便与10GE PHY器件连接。背板接口部分还可以包括发送调度模块313、发送接口模块314、端口QoS整形模块317、内存管理模块316以及接收匹配模块310。
存储和配置接口部分可以包括DDR指令调度模块303、QDR指令调度模块306、时钟和复位模块308以及MPI配置模块311。
硬件加速处理部分可以包括:控制消息分析调度模块321、RLC下行处理模块302、RLC上行处理模块307、RLC控制/状态处理模块305、加解密处理模块304、RLC PDU调度模块320、FP组帧模块319、MAC封装模块318以及EDCH上行处理模块309。
RLC下行处理模块302可以包括业务数据单元(SDU)缓存模块326、发送PDU消息单元(PMUI)管理模块324、发送PMUI缓存322、PDU成帧模块323以及下行重传和切片模块325。
RLC上行处理模块307可以包括上行PDU预处理模块331、上行扫描和解复用模块329、SDU重组递交模块327、接收PMUI分配和管理模块330以及接收PMUI缓存328。
此外,用于执行EDCH上行处理的部分除了可以包括EDCH上行处理模块309外,还可以包括MAC-d缓存315。
应当理解,根据本发明实施例的FPGA的具体结构是可以根据实际应用的需要而变化的。也就是说,图3所示的各个模块并非必须都包括在根据本发明实施例的FPGA中,而是可以根据需要选择性地包括其中的一个或多个模块。此外,图3中所标注的表示信号处理路径的线段和箭头仅仅是在特定应用场景下的示例性表示,在不同的应用场景下,箭头的方向可以改变,并且可以根据需要在图3所示的任意模块之间建立信号交互的路径。此外,图3中在信号处理路径上标注的消息或处理并不具有限制作用,根据实际应用,也可以在同一信号处理路径上传递其它消息或者执行其它处理。
以下将结合图4和图5所示的处理流程来详细说明图3中示出的相关模块的具体操作。
图4示出了根据本发明实施例的HSDPA数据传输的处理流程图。在图4流程图的右侧示意性地示出了与流程图对应的数据报文的处理过程。
根据本发明的实施例,CPU可以首先向FPGA发送配置消息,以便配置以太网地址。具体地,例如,FPGA可以利用该配置消息来配置源和目标MAC地址、源和目标IP地址、源和目标端口、协议类型等信息中的一项或多项。可选地,配置消息可以采用图2所示的下行控制消息的结构,从而该配置消息可以被CPU写入到位于CPU内存中的发送控制消息缓冲区中,并且FPGA可以从该发送控制消息缓冲区中获得该配置消息。
根据本发明的实施例,FPGA可以接收来自核心网的下行数据报文,并且将下行数据报文存储到CPU的内存区中。上述处理过程例如可以通过以下操作来实现。
FPGA的背板接口模块312所提供的XAUI接口可以用于从10GE PHY器件接收来自核心网的下行数据报文。
FPGA的接收匹配模块310可以执行MAC地址/内容可寻址存储器(CAM:Content Addressable Memory)表匹配。具体地,接收匹配模块310可以提取XAUI接口所接收的数据报文的MAC地址、IP/UIP协议类型等信息,将所提取的信息与如前所述根据配置消息所预先配置的信息进行匹配识别,从而确定该数据报文是否是发给该FPGA的以及确定是否需要处理该数据报文。例如,接收匹配模块310可以根据地址来分析所接收到的数据报文,如果该数据报文并非是EDCH FP帧,则接收匹配模块310可以确定该数据报文需要首先上送到CPU处理。在这种情况下,接收匹配模块310可以将该数据报文存储到CPU的内存区中。可选地,该CPU的内存区的分配和释放可以由FPGA来管理。
FPGA的内存管理模块316可以分配CPU的内存地址并将该内存地址告知接收匹配模块310以供存储下行数据报文使用。此外,内存管理模块316可以用于管理FPGA自带的内存,例如,执行请求空闲内存或者释放内存的操作等。
接收匹配模块310在接收到内存管理模块316发来的CPU的内存地址之后,可以基于该内存地址将下行数据报文存储到CPU的内存区中。可选地,接收匹配模块310还可以生成接收消息并将该接收消息发送给CPU,其中该接收消息可以包括下行数据报文在CPU的内存区中的存储地址。可选地,接收消息可以采用图2所示的上行控制消息的结构,从而该接收消息可以被FPGA写入到位于CPU内存中的接收控制消息缓冲区中,并且CPU可以从该接收控制消息缓冲区中获得该接收消息。在这种情况下,接收匹配模块310可以将下行数据报文的存储地址设置在上行控制消息的上行控制消息类型相关内容字段中。
根据本发明的实施例,CPU可以从内存区获取下行数据报文,并且对下行数据报文执行GPRS隧道协议用户面部分(GTPU)协议处理以及报文数据汇聚协议(PDCP)处理等。此外,CPU可以将经过PDCP处理的数据报文存储在CPU的内存区中。上述处理过程例如可以通过图4所示的步骤S400至步骤S404来实现。
在图4所示的步骤S400处,CPU可以从内存区获取下行数据报文。可选地,CPU可以从接收控制消息缓冲区中获得接收消息,并进而根据接收消息中包括的下行数据报文的存储地址来获取下行数据报文。
在步骤S402,CPU可以对数据报文执行GTPU协议处理。例如,CPU可以执行GTPU头分析、隧道信息转换、排序处理、剥离报文中的GTPU头等处理。
在步骤S404,CPU可以执行PDCP协议处理。例如,CPU可以执行IPHC/ROHC头压缩、封装PDCP头等处理。在PDCP协议处理完成后,CPU可以将处理后的数据报文存储到CPU的内存区中。可选地,CPU此时可以生成插入消息并将该插入消息发送给FPGA,其中该插入消息可以包括PDCP处理后的数据报文在内存区中的存储地址。可选地,插入消息可以采用图2所示的下行控制消息的结构,从而该插入消息可以被CPU写入到发送控制消息缓冲区中,并且FPGA可以从该发送控制消息缓冲区中获得该插入消息。在这种情况下,CPU可以将PDCP处理后的数据报文的存储地址设置在下行控制消息的下行控制消息类型相关内容字段中。
根据本发明的实施例,FPGA可以对经过PDCP处理的数据报文执行RLC处理以生成RLC PDU,对RLC PDU执行帧协议(FP)组帧处理和封装处理以生成下行以太网报文,并且发送下行以太网报文。上述处理过程例如可以通过图4所示的步骤S406至步骤S418来实现。
在步骤S406,FPGA的命令分析调度模块321可以从插入消息中获得PDCP处理后的数据报文的存储地址,然后,FPGA的RLC下行处理模块302中的SDU缓存模块326可以相应地获得SDU描述信息,例如地址指针、数据长度等,并且执行MUI缓存,例如,将SDU描述信息存储到FPGA的SDU缓冲区队列中。例如,该SDU缓冲区队列可以位于连接到FPGA的DDR中。
在步骤S408,CPU可以在根据MAC-d协议调度要求而预先设定的传输时间间隔(TTI:Transmission Time Interval)定时器超时后,执行MAC-d调度,该MAC-d调度可以用于启动FPGA以处理数据报文。CPU可以计算允许发送的RLC数据字节数并确定发送方式,然后基于允许发送的RLC数据字节数以及发送方式来生成调度消息并将该调度消息发送给FPGA。可选地,调度消息可以采用图2所示的下行控制消息的结构,从而该调度消息可以被CPU写入到发送控制消息缓冲区中,并且FPGA可以从该发送控制消息缓冲区中获得该调度消息。在这种情况下,CPU可以将允许发送的RLC数据字节数以及发送方式设置在下行控制消息的下行控制消息类型相关内容字段中。FPGA中的控制消息分析调度模块321可以从CPU接收到该调度消息。本领域技术人员应当理解,步骤S408的处理可以作为一个可选步骤而仅包括在优选实施例中。
在步骤S410,FPGA可以执行RLC协议处理。此处的RLC协议处理例如可以包括以下操作中的一个或多个。RLC控制/状态处理模块305可以产生控制状态PDU,例如,该控制状态PDU可以被提供给PDU成帧模块323。下行重传和切片模块325可以对经过PDCP处理的数据报文执行重传、分段、级联以及添加轮询查询标志等处理。此处,优选地,可以将下行重传和切片模块325所产生的重传信息存储到发送PMUI管理模块324,从而,根据实际需要,该发送PMUI管理模块324可以与发送PMUI缓存322相配合以执行PDU重传。PDU成帧模块323可以基于控制状态信息、切片信息、重传信息等来生成关于RLC PDU的描述信息,例如,PDU成帧模块323可以基于RLC控制/状态处理模块以及下行重传和切片模块的处理情况来生成关于RLC PDU的描述信息,此处,描述信息可以包括PDU地址信息、头部信息等。此外,可选地,PDU成帧模块323可以计算加密参数,并将该加密参数与描述信息一起发给RLC PDU调度模块320,其中该加密参数可以用于由加解密处理模块304执行的加密处理。RLC PDU调度模块320可以从PDU成帧模块323处获得描述信息,并且根据描述信息从CPU的内存区中读取数据报文(PDU数据),此外,RLC PDU调度模块320还具有向CPU的内存区回写数据报文(PDU数据)的功能。加解密处理模块304从RLC PDU调度模块320处获得PDU数据并且执行加密处理,例如,执行Kasumi/Snow3g加密处理,以便得到RLC PDU。RLC PDU可以被发送到FP组帧模块319。
此外,响应于步骤S408,PDU成帧模块323还可以计算缓冲区占用率(BO:Buffer Overflow),然后基于BO生成调度响应并将该调度响应发送给CPU。可选地,调度响应也可以包括本次调度的字节数、本次发送的PDU数目等信息。可选地,调度响应可以采用图2所示的上行控制消息的结构,从而该调度响应可以被FPGA写入到接收控制消息缓冲区中,并且CPU可以从该接收控制消息缓冲区中获得该调度响应。在这种情况下,FPGA可以将BO、本次调度的字节数或本次发送的PDU数目等设置在上行控制消息的上行控制消息类型相关内容字段中。本领域技术人员应当理解,步骤S408的处理可以作为一个可选步骤而仅包括在优选实施例中。
在步骤S412,FP组帧模块319可以对加解密处理模块304生成的RLCPDU执行MAC-d C/T封装和比特移位处理。
在步骤S414,FP组帧模块319可以执行FP帧生成处理。例如,FP组帧模块319可以执行高速下行链路共享信道(HSDSCH:High SpeedDownlink Shared Channel)/专用信道(DCH:Dedicated Channel)帧封装,如,FP组帧模块319可以构造HSDSCH FP帧类型1或类型2。此外,例如,FP组帧模块319可以计算并添加FP帧头和负载CRC。
在步骤S416,MAC封装模块318可以对FP帧执行传输层处理。例如,MAC封装模块318可以封装IP/UIP报文格式。MAC封装模块318可以将内容复制到消息块,以便封装以太网报文。此外,例如,MAC封装模块318可以对于超过最大传输单元(MTU:Maximum Transmission Unit)的报文执行IP分片处理等。
在步骤S418,MAC封装模块318可以封装MAC头和虚拟局域网(VLAN)标签以生成下行以太网报文。发送调度模块313可以对下行以太网报文的发送进行调度,例如,发送调度模块313可以通知发送接口模块314发送数据。发送接口模块314可以在发送调度模块313的调度下,经由背板接口模块312而发送下行以太网报文。可选地,端口QoS整形模块317可以对数据流速执行控制。可选地,在发送完成后,内存管理模块316可以回收指针并释放内存。
图5示出了根据本发明实施例的HSUPA数据传输的处理流程图。在图5流程图的右侧示意性地示出了与流程图对应的数据报文的处理过程。
根据本发明的实施例,FPGA可以接收来自基站的上行数据报文,对上行数据报文执行解封装处理以生成经过解封装处理的PDU。上述处理过程例如可以通过图5所示的步骤S500至步骤S506来实现。
在步骤S500,FPGA的背板接口模块312所提供的XAUI接口可以从10GE PHY器件接收来自基站的上行数据报文。接收匹配模块310可以执行MAC地址/CAM表匹配。具体地,接收匹配模块310可以提取XAUI接口所接收的数据报文的MAC地址、IP/UIP协议类型等信息,将所提取的信息与预先配置的信息(例如,以上结合图4所描述的根据配置消息所预先配置的信息)进行匹配识别,从而确定该数据报文是否是发给该FPGA的以及确定是否需要处理该数据报文。例如,接收匹配模块310可以根据地址来分析所接收到的数据报文(即,IP/UIP报文),如果该数据报文是EDCH数据报文,则接收匹配模块310可以确定需要执行硬件加速处理,否则,将该数据报文直接上送到CPU处理。
在步骤S502,在接收匹配模块310确定了接收的上行数据报文是EDCH数据报文时,EDCH上行处理模块309可以执行EDCH FP帧处理,例如FP解帧、校验、排序等。具体地,例如,EDCH上行处理模块309可以执行FP帧头和负载CRC校验、解封装EDCH FP帧类型1或类型2、子帧信息提取等处理。
在步骤S504,EDCH上行处理模块309可以执行HSUPA的MAC-es/is处理,如,提取MAC-es/is数据PDU等。
在步骤S506,EDCH上行处理模块309可以执行MAC-d排序处理。例如,EDCH上行处理模块309可以根据连接帧号(CFN:Connection FrameNumber)执行重排序处理。对于非连续的CFN需要进行缓存处理以等待排序,而对于连续的CFN则可以向RLC指示接收到数据PDU。此处,MAC-d缓存315可以作为排序缓冲区。在经过MAC-d排序处理之后,可以最终获得经过解封装处理的PDU。
根据本发明的实施例,FPGA可以对经过解封装处理的PDU执行RLC处理以生成SDU,并且将SDU存储到CPU的内存区中。上述处理过程例如可以通过图5所示的步骤S508至步骤S510来实现。
在步骤S508,上行PDU预处理模块331可以分析经过解封装处理的PDU中的控制/状态报文,以分离控制状态PDU和数据PDU,将控制状态PDU发送到RLC控制/状态处理模块305并将数据PDU发送到加解密处理模块304。加解密处理模块304可以对数据PDU执行解密处理,例如,执行Kasumi/Snow3g解密处理。
在步骤S510,上行扫描和解复用模块329可以控制对经过解密处理的数据PDU执行扫描,以确定是否可以进行重组。如果能够进行重组,则SDU重组递交模块327继续对数据PDU执行处理,如果不能重组,则接收PMUI分配和管理模块330和接收PMUI缓存328可以控制对不能重组的数据PDU进行缓存以等待下次收到数据报文时再进行判断。
SDU重组递交模块327可以控制对经过解密处理的数据PDU执行重组以生成SDU。SDU重组递交模块327可以按照序号对数据PDU进行重组,例如,可以控制根据按序/非按序递交的配置来使可重组的数据PDU形成SDU,然后控制将SDU直接存储到CPU的内存区中。可选地,SDU重组递交模块327此时可以生成重组成功消息并将该重组成功消息发送给CPU,其中,该重组成功消息可以包括SDU在CPU的内存区中的存储地址。可选地,重组成功消息可以采用图2所示的上行控制消息的结构,从而该重组成功消息可以被FPGA写入到接收控制消息缓冲区中,并且CPU可以从该接收控制消息缓冲区中获得该重组成功消息。
根据本发明的实施例,CPU可以从内存区获取SDU,并且对SDU执行封装处理以生成上行以太网报文,并且FPGA可以发送上行以太网报文。上述处理过程例如可以通过图5所示的步骤S512至步骤S518来实现。
在步骤S512,CPU可以对SDU执行PDCP协议处理。可选地,CPU可以基于重组成功消息中包括的存储地址来从内存区获取SDU。此外,例如,在PDCP协议处理中,CPU可以执行删除PDCP头、进行IPHC/ROHC头解压缩等处理。
在步骤S514,CPU可以执行GTPU协议处理。例如,CPU可以执行GTPU头封装、隧道信息转换等处理。
在步骤S516,CPU可以执行传输层处理。例如,CPU可以封装IP/UIP报文格式、将内容复制到消息块中、对于超过MTU的报文进行IP分片等处理。
在步骤S518,CPU可以封装MAC头和VLAN标签以便生成上行以太网报文。可选地,CPU此时可以生成发送通知消息并将该发送通知消息发送给FPGA,以通知FPGA发送上行以太网报文。可选地,发送通知消息可以采用图2所示的下行控制消息的结构,从而该发送通知消息可以被CPU写入到发送控制消息缓冲区中,并且FPGA可以从该发送控制消息缓冲区中获得该发送通知消息。
FPGA可以基于所接收到的发送通知消息来发送上行以太网报文。例如,FPGA可以对上行以太网报文进行透传。例如,控制消息分析调度模块321可以对发送通知消息进行分析,并且相应地通知发送调度模块313。发送调度模块313可以对上行以太网报文的发送进行调度。在发送调度模块313的调度下,发送接口模块314可以直接经由PCIE接口调度模块获取上行以太网报文,并且经由背板接口模块312发送上行以太网报文。
图6示出了根据本发明实施例的能够进行业务硬件加速的装置的结构示意图。
图6所示的装置可以采用SOC来实现。该SOC装置可以集成有多核处理器阵列603、内部高级微控制器总线架构(AMBA:AdvancedMicrocontroller Bus Architecture)Fabric交换总线604、高速协处理器总线605、2个XGE高速接口606、PCIE×8Gen2接口607、DDR3控制器接口601以及L3缓存602。
在图6所示的SOC装置中,可以由多核处理器阵列对整个处理流程进行控制,其控制可以采用总线命令的方式来实现,而不需要如图3所示采用控制消息来在FPGA与CPU之间传递控制信息。
高速协处理器总线605连接到AMBA Fabric交换总线604,用于在连接到高速协处理器总线的各个单元之间交换数据以及与AMBA Fabric交换总线交换数据。在高速协处理器总线605上挂有根据本发明实施例的多个硬件加速单元。例如,这些硬件加速单元可以包括:FP组帧硬加速单元608、FP解帧硬加速单元609、RLC切片硬加速单元610、RLC重组硬加速单元611、EDCH排序硬加速单元612、加解密硬加速单元613。这些硬加速单元均提供了标准的总线接口和配置寄存器。
此外,上述硬加速单元在功能上可以至少部分地对应于图3中所示出的相应模块。例如,FP组帧硬加速单元608可以实现类似FP组帧模块319的功能,FP解帧硬加速单元609可以实现类似EDCH上行处理模块309所执行的解帧的功能,RLC切片硬加速单元610可以实现类似下行重传和切片模块325的功能,RLC重组硬加速单元611可以实现类似SDU重组递交模块327的功能,EDCH排序硬加速单元612可以实现类似EDCH上行处理模块309所执行的排序的功能,以及加解密硬加速单元613可以实现类似加解密处理模块304的功能。
在采用图6所示的SOC装置执行HSDPA业务加速处理时,处理路径可以依次经由XGE接口606、多核处理器阵列603、RLC切片硬加速单元610、加解密硬加速单元613、FP组帧硬加速单元608以及XGE接口606。
XGE接口606可以接收来自核心网的下行数据报文。多核处理器阵列603可以对下行数据报文执行GTPU协议处理以及PDCP处理。RLC切片硬加速单元610可以对经过PDCP处理的数据报文执行重传、分段、级联以及添加轮询查询标志等处理,此处,多核处理器阵列603可以根据RLC切片硬加速单元610的处理来提取PDU数据。加解密硬加速单元613可以从多核处理器阵列603获取PDU数据,并且对PDU数据执行加密处理以便生成RLC PDU。FP组帧硬加速单元608可以对RLC PDU执行MAC-d C/T封装和比特移位处理,执行FP帧生成处理以便生成FP帧,并且对FP帧执行封装处理以生成下行以太网报文。XGE接口606可以发送下行以太网报文。
在采用图6所示的SOC装置执行HSUPA业务加速处理时,处理路径可以依次经由XGE接口606、FP解帧硬加速单元609、EDCH排序硬加速单元612、加解密硬加速单元613、RLC重组硬加速单元611、多核处理器阵列603以及XGE接口606。
例如,XGE接口606可以接收来自基站的上行数据报文,例如,EDCHFP帧。FP解帧硬加速单元609可以对上行数据报文执行FP帧处理和MAC-es/is处理。EDCH排序硬加速单元612可以对经过FP解帧硬加速单元处理的数据报文执行MAC-d排序处理。加解密硬加速单元613可以对经过EDCH排序硬加速单元处理的数据执行解密处理。RLC重组硬加速单元611可以对经过加解密硬加速单元处理的数据执行重组以生成SDU。多核处理器阵列603可以对SDU执行封装处理以生成上行以太网报文。XGE接口可以发送上行以太网报文。
以上分别描述了采用FPGA和SOC来实现逻辑硬件加速模块,并进而实现能够进行业务硬件加速的装置的示例性实施例。
根据本发明,对于HSPA高速业务而言,通过采用FPGA进行业务硬件加速,可以实现处理时延短、环回时延抖动小等效果。由于FPGA硬件处理能力强,因此CPU的处理负载得以进一步降低。利用FPGA实现业务硬件加速还具有算法部署灵活的优点,例如,可以在同一单板加载不同逻辑以实现不同算法的兼容。此外,FPGA的可编程特性可以实现算法升级、补丁升级以及缺陷修复。FPGA对新算法的支持比较快,可以与软件实现相关,最大限度地提升软硬件协调处理效果。
根据本发明,通过采用高性能CPU,如X86CPU,作为主处理器,其处理性能可以随着X86处理器工艺的提升而不断增强。
根据本发明,在CPU和FPGA之间可以利用控制消息来进行交互。可选地,FPGA可以采用双PCIE核进行处理,从而控制消息和数据处理可以在不同的PCIE核上分开处理,并且可选地将控制消息的优先级设置为比数据的优先级更高。
此外,由于本发明提出的逻辑硬件加速模块是从业务处理模型中提炼出来的,因此还可以用于SOC芯片中进行ASCI固化,甚至可以被参考作为多核处理器设计的通用加速单元。
以上提供的对所公开实施例的描述用于使本领域技术人员能够实现或者运用本发明。对这些实施例的各种修改对于本领域技术人员而言将是容易理解的,并且这里限定的一般原理可以在不脱离本发明的精神或者范围的情况下适用于其它实施例。因此,本发明并非旨在局限于本文示出的实施例,而应被给予与本文公开的原理和新颖特征一致的最广范围。
Claims (16)
1.一种能够进行业务硬件加速的装置,包括:
逻辑硬件加速模块,配置为接收来自核心网的下行数据报文,并且将所述下行数据报文存储到中央处理单元CPU的内存区中;以及
CPU,配置为从所述内存区获取所述下行数据报文,并且对所述下行数据报文执行GPRS隧道协议用户面部分GTPU协议处理以及报文数据汇聚协议PDCP处理,
其中,所述逻辑硬件加速模块进一步配置为对经过所述PDCP处理的数据报文执行无线链路控制RLC处理以生成RLC协议数据单元PDU,对所述RLC PDU执行帧协议FP组帧处理和封装处理以生成下行以太网报文,并且发送所述下行以太网报文。
2.如权利要求1所述的装置,其中,所述逻辑硬件加速模块包括:
背板接口模块,配置为从所述核心网接收所述下行数据报文;
内存管理模块,配置为分配所述CPU的内存地址;以及
接收匹配模块,配置为确定所述下行数据报文是否需要由所述CPU处理,并且在确定所述下行数据报文需要由所述CPU处理的情况下,基于所述内存地址将所述下行数据报文存储到所述内存区中。
3.如权利要求1所述的装置,其中,
所述逻辑硬件加速模块进一步配置为向所述CPU发送接收消息,该接收消息包括所述下行数据报文在所述内存区中的存储地址,以及
所述CPU进一步配置为基于所述接收消息中包括的所述存储地址,从所述内存区获取所述下行数据报文。
4.如权利要求1所述的装置,其中,
所述CPU进一步配置为向所述逻辑硬件加速模块发送插入消息,该插入消息包括所述经过所述PDCP处理的数据报文在所述内存区中的存储地址,以及
所述逻辑硬件加速模块进一步配置为基于所述插入消息中包括的所述存储地址,从所述内存区获取所述经过所述PDCP处理的数据报文。
5.如权利要求1所述的装置,其中,所述逻辑硬件加速模块包括:
RLC控制/状态处理模块,配置为生成控制状态PDU;
下行重传和切片模块,配置为对经过所述PDCP处理的数据报文执行重传、分段、级联以及添加轮询查询标志处理;
PDU成帧模块,配置为基于所述RLC控制/状态处理模块以及所述下行重传和切片模块的处理来生成关于所述RLC PDU的描述信息;
RLC PDU调度模块,配置为根据所述描述信息从所述内存区中读取PDU数据;以及
加解密处理模块,配置为从所述RLC PDU调度模块获取所述PDU数据并且执行加密处理,以便生成所述RLC PDU。
6.如权利要求1所述的装置,其中,所述逻辑硬件加速模块包括:
帧协议FP组帧模块,配置为对所述RLC PDU执行MAC-d C/T封装和比特移位处理,并且执行FP帧生成处理,以便生成FP帧;以及
媒体访问控制MAC封装模块,配置为对所述FP帧执行传输层处理,并且封装MAC头和虚拟局域网VLAN标签,以便生成所述下行以太网报文。
7.如权利要求1所述的装置,其中,
所述逻辑硬件加速模块还配置为接收来自基站的上行数据报文,对所述上行数据报文执行解封装处理以生成经过解封装处理的PDU,对所述经过解封装处理的PDU执行RLC处理以生成业务数据单元SDU,并且将所述SDU存储到所述CPU的内存区中,
所述CPU还配置为从所述内存区获取所述SDU,并且对所述SDU执行封装处理以生成上行以太网报文,以及
所述逻辑硬件加速模块还配置为发送所述上行以太网报文。
8.如权利要求7所述的装置,其中,所述逻辑硬件加速模块包括:
背板接口模块,配置为从所述基站接收所述上行数据报文;
接收匹配模块,配置为确定所述上行数据报文是否是增强专用信道EDCH数据报文;以及
EDCH上行处理模块,配置为在所述接收匹配模块确定所述上行数据报文是EDCH数据报文时,执行EDCH帧协议FP帧处理、MAC-es/is处理和MAC-d排序处理,以便生成所述经过解封装处理的PDU。
9.如权利要求7所述的装置,其中,所述逻辑硬件加速模块包括:
上行PDU预处理模块,配置为分析所述经过解封装处理的PDU以分离控制状态PDU和数据PDU;
RLC控制/状态处理模块,配置为从所述上行PDU预处理模块接收所述控制状态PDU;
加解密处理模块,配置为从所述上行PDU预处理模块接收所述数据PDU并且对所述数据PDU执行解密处理;
上行扫描和解复用模块,配置为对所述经过解密处理的数据PDU执行扫描,以确定是否可以进行重组;以及
SDU重组递交模块,配置为如果所述上行扫描和解复用模块确定能够进行重组,则对所述经过解密处理的数据PDU执行重组以生成所述SDU,并且将所述SDU存储到所述内存区中。
10.如权利要求7所述的装置,其中,
所述逻辑硬件加速模块进一步配置为向所述CPU发送重组成功消息,该重组成功消息包括所述SDU在所述内存区中的存储地址,以及
所述CPU进一步配置为基于所述重组成功消息中包括的所述存储地址,从所述内存区获取所述SDU。
11.如权利要求7所述的装置,其中,所述CPU还配置为:
对所述SDU执行报文数据汇聚协议PDCP处理、GPRS隧道协议UMTS协议处理和传输层处理,并且封装媒体访问控制(MAC)头和虚拟局域网VLAN标签,以便生成所述上行以太网报文。
12.如权利要求1所述的装置,其中,所述逻辑硬件加速模块为现场可编程门阵列FPGA。
13.一种用于业务硬件加速的方法,该方法应用于能够进行业务硬件加速的装置,该装置包括逻辑硬件加速模块和中央处理单元CPU,所述方法包括:
逻辑硬件加速模块接收来自核心网的下行数据报文,并且将所述下行数据报文存储到所述CPU的内存区中;
所述CPU从所述内存区获取所述下行数据报文,并且对所述下行数据报文执行GPRS隧道协议用户面部分协议处理以及报文数据汇聚协议PDCP处理;
所述逻辑硬件加速模块对经过所述PDCP处理的数据报文执行无线链路控制RLC处理以生成RLC协议数据单元PDU;
所述逻辑硬件加速模块对所述RLC PDU执行帧协议FP组帧处理和封装处理以生成下行以太网报文;以及
所述逻辑硬件加速模块发送所述下行以太网报文。
14.如权利要求13所述的方法,还包括:
所述逻辑硬件加速模块接收来自基站的上行数据报文;
所述逻辑硬件加速模块对所述上行数据报文执行解封装处理以生成经过解封装处理的PDU;
所述逻辑硬件加速模块对所述经过解封装处理的PDU执行RLC处理以生成业务数据单元SDU;
所述逻辑硬件加速模块将所述SDU存储到所述CPU的内存区中;
所述CPU从所述内存区获取所述SDU,并且对所述SDU执行封装处理以生成上行以太网报文;以及
所述逻辑硬件加速模块发送所述上行以太网报文。
15.一种能够进行业务硬件加速的装置,其采用系统级芯片SOC来实现,该装置包括:
内部高级微控制器总线架构AMBA Fabric交换总线;
高速协处理器总线,其连接到所述AMBA Fabric交换总线,用于在连接到该高速协处理器总线的各个单元之间交换数据以及与所述AMBAFabric交换总线交换数据;
XGE接口,其连接到所述高速协处理器总线,配置为接收来自核心网的下行数据报文;
多核处理器阵列,其连接到所述AMBA Fabric交换总线,配置为对所述下行数据报文执行GPRS隧道协议用户面部分协议处理以及报文数据汇聚协议PDCP处理;
无线链路控制RLC切片硬加速单元,其连接到所述高速协处理器总线,配置为对经过所述PDCP处理的数据报文执行重传、分段、级联以及添加轮询查询标志处理,其中,所述多核处理器阵列进一步配置为根据所述RLC切片硬加速单元的处理来提取协议数据单元PDU数据;
加解密硬加速单元,其连接到所述高速协处理器总线,配置为经由所述高速协处理器总线和所述AMBA Fabric交换总线从所述多核处理器阵列获取所述PDU数据,并且对所述PDU数据执行加密处理以便生成RLCPDU;以及
帧协议FP组帧硬加速单元,其连接到所述高速协处理器总线,配置为对所述RLC PDU执行MAC-d C/T封装和比特移位处理,执行FP帧生成处理以便生成FP帧,并且对所述FP帧执行封装处理以生成下行以太网报文,
其中,所述XGE接口还配置为发送所述下行以太网报文。
16.如权利要求15所述的装置,其中,
所述XGE接口还配置为接收来自基站的上行数据报文,并且
其中,所述装置还包括:
FP解帧硬加速单元,其连接到所述高速协处理器总线,配置为对所述上行数据报文执行FP帧处理和MAC-es/is处理;
增强专用信道EDCH排序硬加速单元,其连接到所述高速协处理器总线,配置为对经过所述FP解帧硬加速单元处理的数据报文执行MAC-d排序处理,其中,所述加解密硬加速单元还配置为对经过所述EDCH排序硬加速单元处理的数据执行解密处理;以及
RLC重组硬加速单元,其连接到所述高速协处理器总线,配置为对经过所述加解密硬加速单元处理的数据执行重组以生成业务数据单元SDU,
其中,所述多核处理器阵列还配置为对所述SDU执行封装处理以生成上行以太网报文,并且其中,所述XGE接口还配置为发送所述上行以太网报文。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210277188.5A CN102769574B (zh) | 2012-08-06 | 2012-08-06 | 一种能够进行业务硬件加速的装置及其方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210277188.5A CN102769574B (zh) | 2012-08-06 | 2012-08-06 | 一种能够进行业务硬件加速的装置及其方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102769574A CN102769574A (zh) | 2012-11-07 |
CN102769574B true CN102769574B (zh) | 2015-04-08 |
Family
ID=47096828
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210277188.5A Active CN102769574B (zh) | 2012-08-06 | 2012-08-06 | 一种能够进行业务硬件加速的装置及其方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102769574B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018162991A3 (en) * | 2017-03-06 | 2018-10-25 | Alcatel Lucent | Communication method and device for virtual base stations |
CN110018839A (zh) * | 2019-03-27 | 2019-07-16 | 联想(北京)有限公司 | 硬件加速器复用方法和硬件加速装置 |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104365066B (zh) * | 2013-05-24 | 2017-11-24 | 华为技术有限公司 | 用于以太虚拟专用网的方法和设备 |
CN105337892B (zh) * | 2014-08-15 | 2019-05-31 | 深圳市中兴微电子技术有限公司 | 一种数据处理方法及装置 |
CN105808502B (zh) * | 2014-12-29 | 2019-09-13 | 杭州华为数字技术有限公司 | 片上系统 |
US9792154B2 (en) * | 2015-04-17 | 2017-10-17 | Microsoft Technology Licensing, Llc | Data processing system having a hardware acceleration plane and a software plane |
CN104899085B (zh) * | 2015-05-29 | 2018-06-26 | 华为技术有限公司 | 一种数据处理方法和装置 |
CN107592287A (zh) * | 2016-07-07 | 2018-01-16 | 深圳市中兴微电子技术有限公司 | 一种报文加速方法及装置 |
CN106130721B (zh) * | 2016-08-14 | 2019-08-23 | 北京数盾信息科技有限公司 | 一种高速网络存贮加密机 |
CN106788975B (zh) * | 2016-12-28 | 2019-12-13 | 北京天融信网络安全技术有限公司 | 基于sm4密码算法的加解密装置 |
CN106941722B (zh) * | 2017-04-05 | 2019-09-17 | 烽火通信科技股份有限公司 | 提高lte下行数据调度和传输效率的方法和系统 |
CN107483352A (zh) * | 2017-08-23 | 2017-12-15 | 重庆信维通科技有限公司 | 超融合网络设备中数据快速转发结构及方法 |
CN110086752A (zh) * | 2018-01-26 | 2019-08-02 | 北京数盾信息科技有限公司 | 一种基于多核网络处理fpga的硬件平台 |
CN110662308B (zh) * | 2018-06-30 | 2021-11-09 | 华为技术有限公司 | 一种通信方法及装置 |
CN111324507B (zh) * | 2020-02-03 | 2023-04-18 | 杭州迪普科技股份有限公司 | 主控设备的业务接口监控系统及其方法 |
CN112533243B (zh) * | 2020-12-25 | 2023-05-26 | 中国联合网络通信集团有限公司 | 一种时延上报方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101217517A (zh) * | 2008-01-07 | 2008-07-09 | 腾讯科技(深圳)有限公司 | 一种在即时通信中实现一对多聊天的方法及系统 |
CN101511106A (zh) * | 2009-03-27 | 2009-08-19 | 华为技术有限公司 | 一种接入方法及装置 |
CN101610548A (zh) * | 2008-06-20 | 2009-12-23 | 上海摩波彼克半导体有限公司 | 第三代移动通信系统中移动终端用户面数据传输的方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7646716B2 (en) * | 2002-12-20 | 2010-01-12 | Intel Corporation | Packet processing in a wireless network |
-
2012
- 2012-08-06 CN CN201210277188.5A patent/CN102769574B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101217517A (zh) * | 2008-01-07 | 2008-07-09 | 腾讯科技(深圳)有限公司 | 一种在即时通信中实现一对多聊天的方法及系统 |
CN101610548A (zh) * | 2008-06-20 | 2009-12-23 | 上海摩波彼克半导体有限公司 | 第三代移动通信系统中移动终端用户面数据传输的方法 |
CN101511106A (zh) * | 2009-03-27 | 2009-08-19 | 华为技术有限公司 | 一种接入方法及装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018162991A3 (en) * | 2017-03-06 | 2018-10-25 | Alcatel Lucent | Communication method and device for virtual base stations |
CN110018839A (zh) * | 2019-03-27 | 2019-07-16 | 联想(北京)有限公司 | 硬件加速器复用方法和硬件加速装置 |
Also Published As
Publication number | Publication date |
---|---|
CN102769574A (zh) | 2012-11-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102769574B (zh) | 一种能够进行业务硬件加速的装置及其方法 | |
US9164932B2 (en) | Protocol engine for processing data in a wireless transmit/receive unit | |
US7936755B2 (en) | Ingress processing optimization via traffic classification and grouping | |
CN111066305B (zh) | 用于执行低延迟高吞吐量l2操作的无线通信设备和方法 | |
CN1852075B (zh) | 一种数据重传的方法及装置 | |
EP2247020B1 (en) | Technique for performing layer 2 processing using a distributed memory architecture | |
CN106302245A (zh) | 一种lte系统中数据包的压缩方法和装置 | |
CN102158899A (zh) | 中继网络中的数据转发方法、装置及系统 | |
CN103795655A (zh) | 数据传输方法及装置 | |
US8756402B2 (en) | Processing module, processor circuit, instruction set for processing data, and method for synchronizing the processing of codes | |
CN103944880B (zh) | 一种ZigBee数据传输的方法 | |
CN114138707A (zh) | 一种基于fpga的数据传输系统 | |
US20130250957A1 (en) | Wireless communication apparatus and wireless communication apparatus controlling method | |
TWI444025B (zh) | 無線傳送/接收單元中處理資料之協定引擎 | |
CN106209318A (zh) | 一种用于td‑lte的mac协议数据传输方法 | |
CN101843042A (zh) | 用于减少冗余长度信息的数据处理方法、装置和系统 | |
CN102843733B (zh) | 切换过程中消息的处理方法及演进型基站 | |
CN105512075A (zh) | 高速输出、输入接口电路及数据传输方法 | |
Jinjian et al. | Design of HIMAC Coprocessor for HINOC3. 0 | |
CN115408322A (zh) | 一种基于fpga的高性能数据传输系统及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |