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

包括主机计算设备和网络接口设备的可编程网络接口设备制造技术

技术编号:32624929 阅读:16 留言:0更新日期:2022-03-12 17:57
一种网络接口设备(102)包括可编程接口(119),该可编程接口(119)被配置为提供与至少一个总线的设备接口,该至少一个总线在网络接口设备(102)与主机设备(101)之间。可编程接口(119)是可编程的,以支持多个不同设备接口类型。型。型。

【技术实现步骤摘要】
【国外来华专利技术】包括主机计算设备和网络接口设备的可编程网络接口设备
[0001]优先权申请
[0002]本申请要求于2019年7月29日提交的美国非临时申请号16/525,313的权益。


[0003]本申请涉及网络接口设备、包括主机计算设备和网络接口设备的系统、方法和计算机程序。

技术介绍

[0004]网络接口设备是已知的,并且通常用于提供计算设备与网络之间的接口。网络接口设备可以被配置为处理从网络接收的数据和/或处理要放置到网络上的数据。

技术实现思路

[0005]根据一个方面,提供了一种网络接口设备,包括可编程接口,该可编程接口被配置为提供与至少一个总线的设备接口,该至少一个总线在网络接口设备与主机设备之间,可编程接口是可编程的,以支持多个不同设备接口类型。
[0006]可编程接口可以被配置为同时支持至少两个设备接口实例。
[0007]可编程接口可以包括公共描述符高速缓存,所述公共描述符高速缓存被配置为存储用于多个设备接口实例的事务的相应条目。
[0008]所述公共描述符高速缓存中的条目可以包括以下各项中的一项或多项:指针信息;适配器实例和/或不透明端点索引;或元数据。
[0009]指针信息可以包括:指针;指针块;指针链表;或单词查找树(trie)。
[0010]元数据可以包括以下各项中的一项或多项:指针是否是指针、是指向数据位置的指针还是指向另一指针的指针的指示;与所述条目的至少一部分相关联的大小;与所述条目相关联的适配器的指示;一个或多个队列的指示;以及一个或多个队列中的位置的指示。
[0011]公共描述符高速缓存可以至少被部分分区,其中不同分区与不同设备接口实例相关联。
[0012]公共描述符高速缓存可以在不同设备接口实例之间被共享。
[0013]公共描述符高速缓存可以为每个设备接口实例提供保证高速缓存预留。
[0014]公共描述符高速缓存可以为设备接口的端点实例提供保证数目的描述符。端点实例可以为队列。
[0015]公共描述符高速缓存可以被配置为预取一个或多个设备接口实例的一个或多个描述符。
[0016]公共描述符高速缓存可以被配置为响应于与相应设备接口相关联的门铃的门铃处理或与相应设备接口相关联的数据到达中的一项或多项,预取一个或多个设备接口的一个或多个描述符。
[0017]可编程接口可以包括调度器,该调度器被配置为调度对多个不同设备接口实例的
所述至少总线的访问。
[0018]可编程接口可以被配置为为每个设备接口实例提供相应设备接口适配器。
[0019]相应设备接口适配器可以包括DMA引擎。
[0020]可编程接口可以被配置为提供由所述至少两个设备接口实例共享的DMA引擎。
[0021]可编程接口可以被配置为提供由所述至少两个设备接口实例共享的门铃功能。
[0022]可编程接口可以被配置为提供由所述至少两个设备接口实例共享的地址转换服务。
[0023]所述多个设备接口类型中的至少两个设备接口类型可以与不同队列结构类型相关联。
[0024]所述多个设备接口类型中的至少两个设备接口类型可以与不同语义或命令中的一个或多个语义或命令相关联。
[0025]多个设备接口类型可以包括以下各项中的一项或多项:RDMA设备接口或Virtio设备接口或NVMe设备接口。
[0026]可编程接口可以被配置为支持所述至少一个总线的一个或多个不同的总线协议。
[0027]一个或多个不同的总线协议可以包括以下各项中的一项或多项:PCIe总线;AXI)总线;CCIX总线;CAPI总线;或OPEN CAPI总线。
[0028]可编程接口可以包括一个或多个模板功能,该一个或多个模板功能是可编程的,以支持所述不同设备接口类型中的一个或多个设备接口类型。
[0029]在所述网络接口设备处于操作的同时,所述可编程接口可以被配置为移除至少一个设备接口实例。
[0030]在所述网络接口设备处于操作的同时,所述可编程接口可以被配置为添加至少一个设备接口实例。
[0031]在所述网络接口设备处于操作的同时,所述可编程接口可以被配置为从至少一个设备接口实例切换到至少一个其他设备接口实例。
[0032]网络接口设备可以被配置为接收被配置为控制所述网络接口设备的编程的编程信息。
[0033]可以从所述主机设备或网络中的一项接收编程信息。
[0034]编程信息可以包括以下各项中的一项或多项:固件、RTL代码、HLS代码或指令序列。
[0035]根据另一方面,一种网络接口设备包括可编程接口,该可编程接口被配置为提供与至少一个总线的设备接口,该至少一个总线在网络接口设备与主机设备之间,可编程接口是可编程的,以支持多个不同设备接口实例。
[0036]应当领会,任何其他方面的任何特征可以单独使用或与该方面的网络接口设备组合使用。
[0037]根据另一方面,提供了一种数据处理系统,包括主机设备和网络接口设备,所述网络接口设备包括可编程接口,该可编程接口被配置为提供与至少一个总线的设备接口,该至少一个总线在网络接口设备与主机设备之间,可编程接口是可编程的,以支持多个不同设备接口类型。
[0038]可编程接口可以被配置为同时支持至少两个设备接口实例。
[0039]可编程接口可以包括公共描述符高速缓存,所述公共描述符高速缓存被配置为存储用于多个设备接口实例的事务的相应条目。
[0040]所述公共描述符高速缓存中的条目可以包括以下各项中的一项或多项:指针信息;适配器实例和/或不透明端点索引;或元数据。
[0041]指针信息可以包括:指针;指针块;指针链表;或单词查找树。
[0042]元数据可以包括以下各项中的一项或多项:所述指针是否是指针、是指向数据位置的指针还是指向另一指针的指针的指示;与所述条目的至少一部分相关联的大小;与所述条目相关联的适配器的指示;一个或多个队列的指示;以及一个或多个队列中的位置。
[0043]公共描述符高速缓存可以至少被部分分区,其中不同分区与不同设备接口实例相关联。
[0044]公共描述符高速缓存可以在不同设备接口实例之间被共享。
[0045]公共描述符高速缓存可以为每个设备接口实例提供保证高速缓存预留。
[0046]公共描述符高速缓存可以为设备接口的端点实例提供保证数目的描述符。端点实例可以为队列。
[0047]公共描述符高速缓存可以被配置为预取一个或多个设备接口的一个或多个描述符。
[0048]公共描述符高速缓存可以被配置为响应于与相应设备接口相关联的门铃的门铃处理或与相应设备接口相关联的数据到达中的一项或多项,预取一个或多个设备接口的一个或多个描述符。
[0049]可编程接口可以包括调度器,该调度器被配置为调度对多个不同设备接口实例调度的所述至少总线的访问。
[0050]可编程接口可以被配置为为本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种网络接口设备,包括:可编程接口,被配置为提供与至少一个总线的设备接口,所述至少一个总线在所述网络接口设备与主机设备之间,所述可编程接口是可编程的,以支持多个不同设备接口类型。2.根据权利要求1所述的网络接口设备,其中所述可编程接口被配置为同时支持至少两个设备接口实例。3.根据权利要求2所述的网络接口设备,其中所述可编程接口包括公共描述符高速缓存,所述公共描述符高速缓存被配置为存储用于所述多个设备接口实例的事务的相应条目。4.根据权利要求3所述的网络接口设备,其中所述公共描述符高速缓存中的条目包括以下各项中的一项或多项:指针信息;适配器实例和/或不透明端点索引;或元数据。5.根据权利要求4所述的网络接口设备,其中所述元数据包括以下各项中的一项或多项:所述指针是否是指针、是指向数据位置的指针还是指向另一指针的指针的指示;与所述条目的至少一部分相关联的大小;与所述条目相关联的适配器的指示;一个或多个队列的指示;以及一个或多个队列中的位置。6.根据权利要求3至5中任一项所述的网络接口设备,其中所述公共描述符高速缓存被配置为以下各项中的一项或多项:至少部分被分区,其中不同分区与不同设备接口实例相关联;在不同设备接口实例之间被共享;为每个设备接口实例提供保证高速缓存预留;以及为设备接口的端点实例提供保证数目的描述符。7.根据权利要求3至6中任一项所述的网络接口设备,其中所述公共描述符高速缓存被配置为响应于与相应设备接口相关联的门铃的门铃处理或与相应设备接口相关联的数据的到达中的一个或多个,预取一个或多个设备接口的一个或多个描述符。...

【专利技术属性】
技术研发人员:S
申请(专利权)人:赛灵思公司
类型:发明
国别省市:

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

1