【技术实现步骤摘要】
【国外来华专利技术】多信道输入/输出虚拟化相关申请案的交叉参考本申请案主张2016年5月31日申请的第62/343,728号美国临时申请案及2016年5月31日申请的第62/343,811号美国临时申请案的权益及优先权。第62/343,728及62/343,811号美国申请案的全部内容出于所有目的以全文引用方式并入本文中。
技术实现思路
本专利技术大体上涉及联网技术,且更特定来说,涉及用于共享针对运行网络装置的用户空间的主机进程之间的高输入/输出(I/O)性能而设计的网络分组处理器的系统及方法。网络装置(例如路由器)可包含I/O装置(例如分组处理器)。所述分组处理器可提供直接存储器存取(DMA)功能性以用于将分组发射到网络及/或从网络接收分组。在许多情况中,多个主机级进程可在所述网络装置上执行,其中每一者可能需要使用所述分组处理器发射及/或接收分组。此类主机进程可包含虚拟机及主机操作系统中运行的其它进程。在各种实施方案中,提供用于实现由在网络装置上执行的多个进程共享高性能I/O装置(例如分组处理器)的系统、方法及计算机可读媒体。在各种实施方案中,所述网络装置可包含存储器管理单元(例如I/O存储器管理单元(IOMMU))。所述存储器管理单元可经配置以包含地址映射。所述地址映射可进一步经配置以包含保留部分。所述保留部分中的地址可对应于主机地址空间中的地址,其中所述主机地址空间在所述网络装置的存储器中。在各种实施方案中,所述地址空间独立于使用所述地址空间的进程被保存。所述网络装置可进一步经配置以将所述地址映射指派到所述网络装置上执行的虚拟机。所述虚拟机可经配置以在所述地址映射中分配客户机 ...
【技术保护点】
一种网络装置,其包括:一或多个处理器;及存储器,其与所述一或多个处理器耦合且可由所述一或多个处理器读取,其中所述存储器经配置以包含由主机进程使用以进行输入/输出I/O操作的物理存储器的第一部分,其中所述主机进程在所述网络装置上执行;分组处理器,其包含由所述主机进程用于发射或接收分组的第一信道及由虚拟机用于发射或接收分组的第二信道,其中所述虚拟机在所述网络装置上执行;及存储器管理单元,所述存储器管理单元经配置以使用与所述分组处理器相关联的地址映射;其中所述一或多个处理器执行指令来执行包含以下操作的操作:为所述主机进程保留所述地址映射的一部分,所述保留部分包含将第一组虚拟地址映射成物理存储器的所述第一部分中的一组地址的第一组映射,其中所述主机进程使用所述保留部分以使用所述第一信道发射或接收分组;及为所述虚拟机分配所述地址映射的第二部分,其中所述第二部分分配于所述地址映射中不包含所述保留部分的一部分中,其中所述虚拟机使用所述第二部分以使用所述第二信道发射或接收分组。
【技术特征摘要】
【国外来华专利技术】2016.05.31 US 62/343,728;2016.05.31 US 62/343,8111.一种网络装置,其包括:一或多个处理器;及存储器,其与所述一或多个处理器耦合且可由所述一或多个处理器读取,其中所述存储器经配置以包含由主机进程使用以进行输入/输出I/O操作的物理存储器的第一部分,其中所述主机进程在所述网络装置上执行;分组处理器,其包含由所述主机进程用于发射或接收分组的第一信道及由虚拟机用于发射或接收分组的第二信道,其中所述虚拟机在所述网络装置上执行;及存储器管理单元,所述存储器管理单元经配置以使用与所述分组处理器相关联的地址映射;其中所述一或多个处理器执行指令来执行包含以下操作的操作:为所述主机进程保留所述地址映射的一部分,所述保留部分包含将第一组虚拟地址映射成物理存储器的所述第一部分中的一组地址的第一组映射,其中所述主机进程使用所述保留部分以使用所述第一信道发射或接收分组;及为所述虚拟机分配所述地址映射的第二部分,其中所述第二部分分配于所述地址映射中不包含所述保留部分的一部分中,其中所述虚拟机使用所述第二部分以使用所述第二信道发射或接收分组。2.根据权利要求1所述的网络装置,其中所述主机进程配置所述地址映射的所述保留部分,其中配置所述保留部分包含将地址从物理存储器的所述第一部分写入到所述保留部分中。3.根据权利要求1所述的网络装置,其中管理程序配置所述地址映射的所述第二部分。4.根据权利要求1所述的网络装置,其中所述主机进程经配置以使用虚拟地址获得物理地址,其中所述主机进程使用所述保留部分获得所述物理地址,其中所述物理地址是物理存储器的所述第一部分中的地址,且其中所述虚拟地址是在所述虚拟机的虚拟地址空间中。5.根据权利要求1所述的网络装置,其中所述主机进程经配置以使用物理地址将分组写入到所述存储器。6.根据权利要求1所述的网络装置,其中所述虚拟机经配置以使用虚拟地址从所述存储器读取分组。7.根据权利要求1所述的网络装置,其中所述分组处理器经配置以:在所述第二信道上接收发射分组的请求,其中所述请求包含虚拟地址;使用所述保留部分获得所述虚拟地址的物理地址;使用所述物理地址从所述存储器读取分组;及发射所述分组。8.根据权利要求1所述的网络装置,其中所述分组处理器经配置以:在所述第一信道处接收分组;使用所述地址映射的所述第二部分获得虚拟地址的物理地址,其中所述虚拟地址由所述虚拟机配置;及使用所述物理地址将所述分组写入到所述存储器。9.根据权利要求1所述的网络装置,其中所述一或多个处理器进一步执行指令以执行操作,所述操作包含:确定所述虚拟机不再执行;启动新虚拟机;为所述新虚拟机分配所述地址映射的第三部分,其中所述第三部分分配于所述地址映射中不包含所述保留部分的一部分中,其中所述新虚拟机使用所述第三部分以使用所述第二信道发射或接收分组。10.根据权利要求1所述的网络装置,其中所述地址映射先前被指派到另一虚拟机,其中所述另一虚拟机不再执行。11.根据权利要求1所述的网络装置,其中,当所述虚拟机关闭时,所述地址映射被保存。12.根据权利要求1所述的网络装置,其中没有其它地址映射能够与所述分组处理器相关联。13.根据权利要求1所述的网络装置,其中所述虚拟机包含网络操作系统。14.根据权利要求1所述的网络装置,其中所述主机进程包含软件保活进程。15.一种方法,其包括:为主机进程保留地址映射的一部分,所述保留部分包含将第一组虚拟地址映射成物理存储器的第一部分中的一组地址的第一组映射,其中所述主机进程使用所述保留部分以使用分组处理器的第一信道发射或接收分组,其中存储器管理单元经配置以包含所述地址映射,其中所述地址映射与所述分组处理器相关联,且其中所述主机进程在网络装置上执行;及为虚拟机分配所述地址映射的第二部分,其中所述第二部分分配于所述地址映射中不包含所述保留部分的一部分中,其中所述虚拟机使用所述第二部分以使用所述分组处理器的第二信道发射或接收分组,且其中所述虚拟机在所述网络装置上执行。16.根据权利要求15所述的方法,其中所述主机进程配置所述地址映射的所述保留部分,其中配置所述保留部分包含将地址从物理存储器的所述第一部分写入到所述保留部分中。17.根据权利要求15所述的方法,其中管理程序配置所述地址映射的所述第二部分。18.根据权利要求15所述的方法,其进一步包括:使用虚拟地址获得物理地址,其中获得所述物理地址包含使用所述保留部分获得所述物理地址,其中所述物理地址对应于物理存储器的所述第一部分中的地址,且其中所述虚拟地址对应于所述虚拟机的虚拟地址空间。19.根据权利要求15所述的方法,其进一步包括:使用物理地址将分组写入到存储器,其中所述分组由所述主机进程写入到存储器。20.根据权利要求15所述的方法,其进一步包括:使用虚拟地址从存储器读取分组,其...
【专利技术属性】
技术研发人员:C·何,R·杜塔,M·李,S·巴塔查里亚,T·D·泰特斯,
申请(专利权)人:博科通讯系统有限公司,
类型:发明
国别省市:美国,US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。