当前位置: 首页 > 专利查询>赛灵思公司专利>正文

网络接口设备制造技术

技术编号:29712794 阅读:19 留言:0更新日期:2021-08-17 14:45
具有硬件模块的网络接口设备包括多个处理单元。所述多个处理单元的每个处理单元与它本身的至少一个预定的操作相关联。在编译时,硬件模块被配置为安排至少多个处理单元的某些处理单元对于数据包以一定的顺序执行一个功能。编译器被提供来将不同的处理阶段分配给每个处理单元。控制器被提供来在不同的在运行的处理电路之间切换,以使得一个处理电路可以在另一个处理电路被编译的时被使用。

【技术实现步骤摘要】
【国外来华专利技术】网络接口设备
本申请涉及用于对于数据包执行功能的网络接口设备。
技术介绍
网络接口设备是已知的,并且通常用于提供计算设备和网络之间的接口。网络接口设备可以被配置为处理从网络接收的数据和/或处理将被放置在网络上的数据。
技术实现思路
根据一个方面,提供了一种用于将主机连接到网络的网络接口设备,该网络接口设备包括:第一接口,其被配置为接收多个数据包;以及可配置的硬件模块,其包括多个处理单元,每个处理单元与一种能够以单个步骤中执行的预定操作类型相关联,其中所述多个处理单元中的至少一些是与不同的预定操作类型相关联的,其中所述硬件模块可配置成互联所述多个所述处理单元中的至少一些处理单元,以提供用于处理所述多个数据包中的一个或多个数据包的第一数据处理流水线,以便对于所述多个数据包中的所述一个或多个数据包执行第一功能。在一些实施例中,第一功能包括过滤功能。在一些实施例中,该功能包括隧道、封装、和路由功能中的至少一项。在一些实施例中,第一功能包括扩展的伯克利数据包过滤器功能。在一些实施例中,第一功能包括分布式拒绝服务清理操作。在一些实施例中,第一功能包括防火墙操作。在一些实施例中,第一接口被配置为从网络接收第一数据包。在一些实施例中,第一接口被配置为从主机设备接收第一数据包。在一些实施例中,多个处理单元的至少一些中的两个或更多个被配置为并行地执行它们的相关联的至少一个预定的操作。在一些实施例中,多个处理单元的至少一些中的两个或更多个被配置为根据硬件模块的公共时钟信号执行它们的相关联的预定操作类型。在一些实施例中,多个处理单元的至少一些中的两个或更多个中的每一个被配置为在由时钟信号规定的一段预定时间长度内执行其相关联的预定操作类型。在一些实施例中,多个处理单元的至少一些中的两个或更多个被配置为:在预定时间长度的时间段内访问第一数据包;以及响应于预定时间长度的结束,将分别的至少一个操作的结果传送到下一个处理单元。在一些实施例中,所述结果包括以下的至少一个或多个:来自多个数据包中的一个或多个数据包的至少一个值;映射状态的更新;和元数据。在一些实施例中,多个处理单元中的每一个包括被配置为执行与分别的处理单元相关联的至少一个操作的专用集成电路。在一些实施例中,每个处理单元包括现场可编程门阵列。在一些实施例中,每个处理单元包括任何其他类型的软逻辑。在一些实施例中,多个处理单元中的至少一个包括数字电路和用来存储与该数字电路执行的处理相关联的状态的存储器,其中所述数字电路被配置为与该存储器通信地执行与分别的处理单元相关联的预定操作类型。在一些实施例中,网络接口设备包括可访问到多个处理单元中的两个或更多个处理单元存储器,其中所述存储器被配置为存储与第一数据包相关联的状态,其中在由硬件模块执行第一功能期间,多个处理单元中的两个或更多个处理单元被配置为访问和修正所述状态。在一些实施例中,多个处理单元中的至少一些处理单元中的第一个处理单元被配置为在所述多个处理单元中的第二个访问状态的值期间停止运行。在一些实施例中,多个处理单元中的一个或多个处理单元被单独地配置为:基于它们的相关联的预定操作类型,执行针对分别的流水线的特定操作。在一些实施例中,硬件模块被配置为接收指令,并且响应于所述指令,执行以下中的至少一项:互联所述多个处理单元的至少一些处理单元,以提供用于处理所述多个数据包的一个或多个数据包的数据处理流水线;使得所述多个处理单元的一个或多个处理单元执行与所述一个或多个数据包相关的它们的相关联的预定操作类型;将所述多个处理单元的一个或多个处理单元加到数据处理流水线中;以及从数据处理流水线中去除所述多个处理单元的一个或多个处理单元。在一些实施例中,预定操作包括以下中的至少一项:从存储器加载所述第一数据包的至少一个数值;将数据包的至少一个数值存储在存储器中;以及在查找表中执行查找,以确定要对数据包执行的动作。在一些实施例中,硬件模块被配置为接收指令,其中硬件模块可配置为响应于所述指令而互联所述多个所述处理单元中的至少一些处理单元以提供用于处理所述多个数据包的一个或多个数据包的数据处理流水线,其中所述指令包括通过第三处理流水线发送的数据包。在一些实施例中,所述多个处理单元中的至少一些处理单元中的一个或多个可配置为:响应于所述指令,对于所述多个数据包中的一个或多个数据包执行其相关联的预定操作类型的选定操作。在一些实施例中,所述多个组件包括被配置为在不同于硬件模块的电路中提供第一功能的多个组件中的第二个组件,其中网络接口设备包括至少一个控制器,其被配置为使数据包通过处理流水线,以便由多个组件中的第一组件和多个组件中的第二组件之一进行处理。在一些实施例中,网络接口设备包括至少一个控制器,其被配置为发出指令以使硬件模块开始对于数据包执行第一功能,其中所述指令被配置为使得多个组件中的第一组件被插入到所述处理流水线中。在一些实施例中,网络接口设备包括至少一个控制器,其被配置为发布指令以使硬件模块开始相对于数据包执行第一功能,其中所述指令包括通过处理流水线被发送的、并被配置为使得多个组件中的第一个组件启动的控制消息。在一些实施例中,对于所述多个处理单元的至少一些处理单元中的一个或多个处理单元,相关联的至少一个操作包括以下中的至少一项:从网络接口设备的存储器加载所述第一数据包的至少一个数值;将第一数据包的至少一个数值存储在网络接口设备的存储器中;以及在查询表中执行查询,以确定要对所述第一数据包执行的动作。在一些实施例中,所述多个处理单元的至少一些中的一个或多个处理单元中被配置为将其相关联的至少一个预定操作的至少一个结果传递到在第一处理流水线中的下一个处理单元,所述下一个处理单元被配置成根据所述至少一个结果执行下一个预定操作。在一些实施例中,所述不同的预定操作类型的每一个由不同的样板限定。在一些实施例中,所述预定操作类型包括以下操作的至少一项:访问数据包;访问被存储在所述硬件模块的存储器中的查找表;对从数据包加载的数据执行逻辑操作;以及对从查找表加载的数据执行逻辑操作。在一些实施例中,硬件模块包括路由硬件,其中所述硬件模块被配置成:通过配置路由硬件而在所述多个处理单元之间以由第一数据处理流水线规定的特定的次序路由数据包,从而互联所述多个处理单元中的至少一些以提供第一数据处理流水线。在一些实施例中,所述硬件模块可配置成互联所述多个所述处理单元的至少一些以提供第二数据处理流水线,从而用于处理所述多个数据包的一个或多个数据包以执行不同于所述第一功能的第二功能。在一些实施例中,所述硬件模块可配置成互联所述多个所述处理单元的至少一些,以便在互联所述多个处理单元的至少一些以提供第一数据处理流水线后,提供第二数据处理流水线。在一些实施例中,所述网络接口设备包括与所述硬件模块分开的另外的电路,并被配置成对于所述多个数据包的一个或多个数据包执行第一功能。在一本文档来自技高网...

【技术保护点】
1.一种用于将主机连接到网络的网络接口设备,其特征在于,所述网络接口设备包括:/n第一接口,所述第一接口被配置成接收多个数据包;/n可配置硬件模块,其包括多个处理单元,每个处理单元与一种能够以单个步骤执行的预定操作类型相关联,其中所述多个处理单元中的至少一些处理单元是与不同的预定操作类型相关联的,/n其中所述硬件模块可配置成互联所述多个所述处理单元中的至少一些处理单元,以提供用于处理所述多个数据包中的一个或多个数据包的第一数据处理流水线,以便对于所述多个数据包中的所述一个或多个数据包执行第一功能。/n

【技术特征摘要】
【国外来华专利技术】20181105 US 16/180,883;20190425 US 16/395,0271.一种用于将主机连接到网络的网络接口设备,其特征在于,所述网络接口设备包括:
第一接口,所述第一接口被配置成接收多个数据包;
可配置硬件模块,其包括多个处理单元,每个处理单元与一种能够以单个步骤执行的预定操作类型相关联,其中所述多个处理单元中的至少一些处理单元是与不同的预定操作类型相关联的,
其中所述硬件模块可配置成互联所述多个所述处理单元中的至少一些处理单元,以提供用于处理所述多个数据包中的一个或多个数据包的第一数据处理流水线,以便对于所述多个数据包中的所述一个或多个数据包执行第一功能。


2.根据权利要求1所述的网络接口设备,其特征在于,所述多个处理单元的至少一些处理单元中的两个或更多个被配置成并行执行它们相关联的至少一个预定的操作。


3.根据权利要求1或2所述的网络接口设备,其特征在于,所述多个处理单元的至少一些处理单元中的两个或更多个被配置成:
在由时钟信号规定的一段预定时间长度内执行它的相关联的预定操作类型;以及
响应于所述预定时间长度的结束,将分别的至少一个操作的结果传送到下一个处理单元。


4.根据前述权利要求中任一项所述的网络接口设备,其特征在于,所述多个处理单元的每一个包括专用集成电路,所述专用集成电路被配置成执行与分别的处理单元相关联的所述至少一个操作。


5.根据前述权利要求中任一项所述的网络接口设备,其特征在于,所述多个处理单元的每一个包括数字电路和用来存储与所述数字电路执行的处理相关联的状态的存储器,其中所述数字电路被配置成与所述存储器通信地执行与所述分别的处理单元相关联的预定操作类型。


6.根据前述权利要求中任一项所述的网络接口设备,其特征在于,所述网络接口设备包括可访问所述多个处理单元中的两个或更多个处理单元的存储器,其中所述存储器被配置成存储与第一数据包相关联的状态,其中在由所述硬件模块执行第一功能期间,所述多个处理单元中的两个或更多个处理单元被配置成访问和修正所述状态。


7.根据权利要求6所述的网络接口设备,其特征在于,所述多个处理单元的至少一些处理单元中的第一个被配置成在由所述多个处理单元的第二个处理单元访问状态的值期间停止运行。


8.根据前述权利要求中任一项所述的网络接口设备,其特征在于,所述多个处理单元的一个或多个被单独地配置为:基于它们的相关联的预定操作类型,执行对于分别的流水线的特定操作。


9.根据前述权利要求中任一项所述的网络接口设备,其特征在于,所述硬件模块被配置成接收指令,并且,响应于所述指令,执行以下操作的至少一项:
互联所述多个处理单元的至少一些处理单元,以提供用于处理所述多个数据包的一个或多个数据包的数据处理流水线;
对于所述一个或多个数据包,使得所述多个处理单元的一个或多个处理单元执行它们的相关联的预定操作类型;
将所述多个处理单元的一个或多个处理单元加到数据处理流水线中;以及
从数据处理流水线中去除所述多个处理单元的一个或多个处理单元。


10.根据前述权利要求中任一项所述的网络接口设备,其特征在于,所述预定操作包括以下操作的至少一项:
从存储器加载所述第一数据包的至少一个数值;
将数据包的至少一个数值存储在存储器中;以及
在查找表中执行查找,以确定要对数据包执行的动作。


11.根据前述权利要求中任一项所述的网络接口设备,其特征在于,所述多个处理单元的至少一些处理单元中的一个或多个被配置成将它的相关联的至少一个预定操作的至少一个结果传递到在第一处理流水线中的下一个处理单元,所述下一个处理单元被配置成根据所述至少一个结果执行下一个预定操作。


12.根据前述权利要求中任一项所述的网络接口设备,其特征在于,所述不同的预定操作类型的每一个由不同的样板限定。


13.根据前述权利要求中任一项所述的网络接口设备,其特征在于,所述预定操作类型包括以下操作的至少一项:
访问数据包;
访问被存储在所述硬件模块的存储器中的查找表;
对从数据包加载的数据执行逻辑操作;以及
对从查找表加载的数据执行逻辑操作。


14.根据前述权利要求中任一项所述的网络接口设备,其特征在于,所述硬件模块包括路由硬件,其中所述硬件模块被配置成:通过配置所述路由硬件而在所述多个处理单元之间以由所述第一数据处理流水线规定的特定的次序路由数据包,从而互联所述多个处理单元中的至少一些以提供第一数据处理流水线。


15.根据前述权利要求中任一项所述的网络接口设备,其特征在于,所述硬件模块可配置成互联所述多个所述处理单元的至少一些以提供第二数据处理流水线,从而用于处理所述多个...

【专利技术属性】
技术研发人员:S·波普N·特顿D·里多克D·基塔里耶夫R·索汉D·罗伯茨
申请(专利权)人:赛灵思公司
类型:发明
国别省市:美国;US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1