CN111949371B - 一种命令信息传输方法、系统、装置及可读存储介质 - Google Patents

一种命令信息传输方法、系统、装置及可读存储介质 Download PDF

Info

Publication number
CN111949371B
CN111949371B CN202010820123.5A CN202010820123A CN111949371B CN 111949371 B CN111949371 B CN 111949371B CN 202010820123 A CN202010820123 A CN 202010820123A CN 111949371 B CN111949371 B CN 111949371B
Authority
CN
China
Prior art keywords
target
function port
command information
physical
interrupt
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
Application number
CN202010820123.5A
Other languages
English (en)
Other versions
CN111949371A (zh
Inventor
刘云飞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202010820123.5A priority Critical patent/CN111949371B/zh
Publication of CN111949371A publication Critical patent/CN111949371A/zh
Priority to US18/016,985 priority patent/US11868799B2/en
Priority to PCT/CN2021/073606 priority patent/WO2022032990A1/zh
Application granted granted Critical
Publication of CN111949371B publication Critical patent/CN111949371B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45579I/O management, e.g. providing access to device drivers or storage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45583Memory management, e.g. access or allocation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明公开了一种命令信息传输方法,应用于物理功能端口,该方法包括:对接收到的中断请求进行解析,得到目标虚拟功能端口;确定目标虚拟功能端口对应的目标物理端中断处理例程;获取设备内存重叠区域中目标物理端中断处理例程对应的目标命令信息;其中,设备内存重叠区域为利用设备内存重叠映射技术将物理功能端口和各虚拟功能端口在主机地址空间进行内存映射得到的重叠区域;转入目标物理端中断处理例程,对目标命令信息进行应答操作。应用本发明实施例所提供的技术方案,不依赖于虚拟机监控器软件框架支持,较大地降低了对硬件资源的占用,提高了传输效率。本发明还公开了一种命令信息传输系统、装置及存储介质,具有相应技术效果。

Description

一种命令信息传输方法、系统、装置及可读存储介质
技术领域
本发明涉及虚拟化技术领域,特别是涉及一种命令信息传输方法、系统、装置及计算机可读存储介质。
背景技术
随着虚拟化技术的广泛普及和应用,设备虚拟化技术也得到了长足的发展和进步。从最初的软件虚拟化技术,发展到硬件直通虚拟化技术。软件虚拟化技术是通过虚拟机监控器(VMM,Virtual Machine Monitor)来模拟硬件设备行为,并将所有IO请求转发给硬件设备,但是会导致性能低下。硬件直通虚拟化技术是将硬件设备直接分配给虚拟机(VM,Virtual Machine),虚拟机无需再通过虚拟机监控器来转发IO请求,性能虽然得到了提高,但无法共享设备。为克服软件虚拟化技术和硬件直通虚拟化技术的缺点,因特尔(Intel)提出了单根-输入输出虚拟化(SR-IOV,Single Root-Input Output Virtualization)硬件虚拟化技术,解决了性能和设备共享俩大关键问题。
如图1所示,图1为一种利用单根-输入输出虚拟化技术进行虚拟化得到的虚拟化系统框图。SR-IOV硬件虚拟化技术将一个设备虚拟成多个虚拟功能端口(VF,VirtualFunction),并分配给每个虚拟机。每个虚拟机拥有独立的数据通路并共享同一个硬件设备,虚拟功能端口通过直接存储器访问(DMA,Direct Memory Access)方式对PCIe装置(deivce)进行访问。但是单根-输入输出虚拟化又带来一些问题,每个虚拟功能端口只有设备的部分配置功能,只有物理功能端口(PF,Physical Function)才拥有完整的配置功能。对于一些配置功能,虚拟功能端口势必要借由物理功能端口来完成。这就涉及到虚拟功能端口和物理功能端口间的通信问题。
目前各家厂商的实现方案各式各样,如有的采用软件共享内存,通过将虚拟机监控器的一部分主机内存共享给虚拟机,来实现虚拟功能端口和物理功能端口通信。但这种实现方案需要虚拟机监控器软件框架的配合,并非所有虚拟机监控器软件框架都支持这种技术。有的采用软件管道技术,通过软件管道传输虚拟功能端口和物理功能端口之间的消息。但这些实现方案传输效率较低,且并非所有虚拟机监控器软件框架都支持。有的采用硬件队列技术,通过硬件消息队列来完成虚拟功能端口和物理功能端口的通信。这种方案虽然无需虚拟机监控器软件框架支持,但占用了较大硬件资源,增大了芯片硬件的面积。
综上所述,如何有效地解决虚拟功能端口和物理功能端口之间的命令信息传输依赖于虚拟机监控器软件框架支持,硬件资源占用多,传输效率低等问题,是目前本领域技术人员急需解决的问题。
发明内容
本发明的目的是提供一种命令信息传输方法,该方法不依赖于虚拟机监控器软件框架支持,较大地降低了对硬件资源的占用,提高了传输效率;本发明的另一目的是提供一种命令信息传输装置、设备及计算机可读存储介质。
为解决上述技术问题,本发明提供如下技术方案:
一种命令信息传输方法,应用于物理功能端口,包括:
对接收到的中断请求进行解析,得到目标虚拟功能端口;
确定所述目标虚拟功能端口对应的目标物理端中断处理例程;
获取设备内存重叠区域中所述目标物理端中断处理例程对应的目标命令信息;其中,所述设备内存重叠区域为利用设备内存重叠映射技术将所述物理功能端口和各虚拟功能端口在主机地址空间进行内存映射得到的重叠区域;
转入所述目标物理端中断处理例程,对所述目标命令信息进行应答操作。
在本发明的一种具体实施方式中,在对所述目标命令信息进行应答操作之后,还包括:
当检测到命令应答操作完成时,将寄存器中所述目标虚拟功能端口对应的比特位置为中断清除使能状态位,以对所述目标物理端中断处理例程进行中断清除操作。
在本发明的一种具体实施方式中,在检测到命令应答操作完成之后,还包括:
生成命令应答结果信息;
将所述命令应答结果信息写入所述设备内存重叠区域;
向所述目标虚拟功能端口发送中断指令,以使所述目标虚拟功能端口转入所述中断指令对应的目标虚拟端中断处理例程,从所述设备内存重叠区域中读取所述命令应答结果信息。
在本发明的一种具体实施方式中,还包括:
当接收到退出指令时,将所述寄存器中所述物理功能端口对应的比特位置为所述中断清除使能状态位,以对全部物理端中断处理例程进行中断清除操作。
在本发明的一种具体实施方式中,对接收到的中断请求进行解析,得到目标虚拟功能端口,包括:
获取所述设备内存重叠区域中物理功能端口只读虚拟功能端口只写的第一内存重叠分区内的目标中断使能状态位;
根据所述目标中断使能状态位确定所述目标虚拟功能端口。
在本发明的一种具体实施方式中,确定所述目标虚拟功能端口对应的目标物理端中断处理例程,包括:
确定所述目标虚拟功能端口对应的目标物理端中断号;
根据所述目标物理端中断号确定所述目标物理端中断处理例程。
在本发明的一种具体实施方式中,获取设备内存重叠区域中所述目标物理端中断处理例程对应的目标命令信息,包括:
确定所述目标物理端中断处理例程对应的目标数据类型;
从所述设备内存重叠区域中所述目标数据类型对应的目标子区域查找所述目标命令信息。
在本发明的一种具体实施方式中,从所述设备内存重叠区域中所述目标数据类型对应的目标子区域查找所述目标命令信息,包括:
确定所述设备内存重叠区域中虚拟功能端口只读物理功能端口只写的第二内存重叠分区;
从所述第二内存重叠分区中所述目标数据类型对应的目标子区域查找所述目标命令信息。
一种命令信息传输系统,应用于物理功能端口,包括:
虚拟端口获得模块,用于对接收到的中断请求进行解析,得到目标虚拟功能端口;
中断例程确定模块,用于确定所述目标虚拟功能端口对应的目标物理端中断处理例程;
命令信息获取模块,用于获取设备内存重叠区域中所述目标物理端中断处理例程对应的目标命令信息;其中,所述设备内存重叠区域为利用设备内存重叠映射技术将所述物理功能端口和各虚拟功能端口在主机地址空间进行内存映射得到的重叠区域;
命令应答模块,用于转入所述目标物理端中断处理例程,对所述目标命令信息进行应答操作。
一种命令信息传输装置,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如前所述命令信息传输方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如前所述命令信息传输方法的步骤。
本发明提供了一种命令信息传输方法:应用于物理功能端口,对接收到的中断请求进行解析,得到目标虚拟功能端口;确定目标虚拟功能端口对应的目标物理端中断处理例程;获取设备内存重叠区域中目标物理端中断处理例程对应的目标命令信息;其中,设备内存重叠区域为利用设备内存重叠映射技术将物理功能端口和各虚拟功能端口在主机地址空间进行内存映射得到的重叠区域;转入目标物理端中断处理例程,对目标命令信息进行应答操作。
通过上述技术方案可知,通过预先利用设备内存重叠映射技术将物理功能端口和各虚拟功能端口在主机地址空间进行内存映射得到设备内存重叠区域,使得物理功能端口和各虚拟功能端口都能对设备内存重叠区域进行访问,并结合中断技术实现物理功能端口和各虚拟功能端口之间的命令信息传输。本发明所提供的物理功能端口和各虚拟功能端口之间的命令信息传输不依赖于虚拟机监控器软件框架支持,较大地降低了对硬件资源的占用,提高了传输效率。
相应的,本发明实施例还提供了与上述命令信息传输方法相对应的命令信息传输系统、装置和计算机可读存储介质,具有上述技术效果,在此不再赘述。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为一种利用单根-输入输出虚拟化技术进行虚拟化得到的虚拟化系统框图;
图2为本发明实施例中命令信息传输方法的一种实施流程图;
图3为本发明实施例中命令信息传输方法的另一种实施流程图;
图4为本发明实施例中一种命令信息传输系统的结构框图;
图5为本发明实施例中一种命令信息传输装置的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一:
参见图2,图2为本发明实施例中命令信息传输方法的一种实施流程图,应用于物理功能端口,该方法包括以下步骤:
S201:对接收到的中断请求进行解析,得到目标虚拟功能端口。
当需要进行命令信息传输时,本次命令信息传输对应的目标虚拟功能端口会生成中断请求,并向物理功能端口发送中断请求,中断请求中包含目标虚拟功能端口的标识信息。物理功能端口接收中断请求,并对中断请求进行解析,得到目标虚拟功能端口。
S202:确定目标虚拟功能端口对应的目标物理端中断处理例程。
分别为各虚拟功能端口预先设置对应的物理端中断处理例程。在解析得到目标虚拟功能端口之后,确定目标虚拟功能端口对应的目标物理端中断处理例程。
S203:获取设备内存重叠区域中目标物理端中断处理例程对应的目标命令信息。
其中,设备内存重叠区域为利用设备内存重叠映射技术将物理功能端口和各虚拟功能端口在主机地址空间进行内存映射得到的重叠区域。
利用设备内存重叠映射技术将物理功能端口和各虚拟功能端口在主机地址空间进行内存映射得到重叠区域,该重叠区域即为设备内存重叠区域。目标虚拟功能端口预先将本次命令信息传输对应的目标命令信息写入设备内存重叠区域。在确定目标虚拟功能端口对应的目标物理端中断处理例程之后,获取设备内存重叠区域中目标物理端中断处理例程对应的目标命令信息。
S204:转入目标物理端中断处理例程,对目标命令信息进行应答操作。
在获取到目标命令信息之后,转入目标物理端中断处理例程,对目标命令信息进行应答操作,从而通过建立目标虚拟功能端口与物理功能端口之间的通信,利用物理功能端口完整的配置功能,完成了命令应答操作。本发明所提供的物理功能端口和各虚拟功能端口之间的命令信息传输不依赖于虚拟机监控器软件框架支持,较大地降低了对硬件资源的占用,且比纯软件通信机制快,提高了传输效率。
通过上述技术方案可知,通过预先利用设备内存重叠映射技术将物理功能端口和各虚拟功能端口在主机地址空间进行内存映射得到设备内存重叠区域,使得物理功能端口和各虚拟功能端口都能对设备内存重叠区域进行访问,并结合中断技术实现物理功能端口和各虚拟功能端口通信中的通知和握手过程,进而实现物理功能端口和各虚拟功能端口之间的命令信息传输。本发明所提供的物理功能端口和各虚拟功能端口之间的命令信息传输不依赖于虚拟机监控器软件框架支持,较大地降低了对硬件资源的占用,提高了传输效率。
需要说明的是,基于上述实施例一,本发明实施例还提供了相应的改进方案。在后续实施例中涉及与上述实施例一中相同步骤或相应步骤之间可相互参考,相应的有益效果也可相互参照,在下文的改进实施例中不再一一赘述。
参见图3,图3为本发明实施例中命令信息传输方法的另一种实施流程图,应用于物理功能端口,该方法可以包括以下步骤:
S301:获取设备内存重叠区域中物理功能端口只读虚拟功能端口只写的第一内存重叠分区内的目标中断使能状态位。
在利用设备内存重叠映射技术将物理功能端口和各虚拟功能端口在主机地址空间进行内存映射得到设备内存重叠区域之后,由于物理功能端口与各虚拟功能端口之间属于双向数据传输,所以为避免物理功能端口与某虚拟功能端口均向设备内存重叠区域中的同一部分写数据,造成后写入的数据覆盖另一方已经写好的数据,导致数据错乱,传输失败,预先对设备内存重叠区域进行了划分,划分为物理功能端口只读虚拟功能端口只写的第一内存重叠分区和虚拟功能端口只读物理功能端口只写的第二内存重叠分区,从而保证了物理功能端口与各虚拟功能端口互不干扰。实时或每隔一定时间间隔检测设备内存重叠区域中物理功能端口只读虚拟功能端口只写的第一内存重叠分区内是否存在中断使能状态位,若是,则获取设备内存重叠区域中物理功能端口只读虚拟功能端口只写的第一内存重叠分区内的目标中断使能状态位。
S302:根据目标中断使能状态位确定目标虚拟功能端口。
在获取到设备内存重叠区域中物理功能端口只读虚拟功能端口只写的第一内存重叠分区内的目标中断使能状态位之后,根据目标中断使能状态位确定目标虚拟功能端口。
S303:确定目标虚拟功能端口对应的目标物理端中断号。
预先为各虚拟功能端口分别设置对应的物理端中断号。在解析得到目标虚拟功能端口之后,确定目标虚拟功能端口对应的目标物理端中断号。
S304:根据目标物理端中断号确定目标物理端中断处理例程。
每个物理端中断号对应一个特定的物理端中断处理例程。在确定目标虚拟功能端口对应的目标物理端中断号之后,根据目标物理端中断号确定目标物理端中断处理例程。
S305:确定目标物理端中断处理例程对应的目标数据类型。
预先为每个目标物理端中断处理例程设置对应的数据类型。在确定目标物理端中断处理例程之后,确定目标物理端中断处理例程对应的目标数据类型。如数据类型可以包括配置应电设备的带宽、配置整个设备进入低功耗模式、配置整个设备进入全速运转模式等。
S306:确定设备内存重叠区域中虚拟功能端口只读物理功能端口只写的第二内存重叠分区。
其中,设备内存重叠区域为利用设备内存重叠映射技术将物理功能端口和各虚拟功能端口在主机地址空间进行内存映射得到的重叠区域。
在确定目标物理端中断处理例程对应的目标数据类型之后,确定设备内存重叠区域中虚拟功能端口只读物理功能端口只写的第二内存重叠分区。
S307:从第二内存重叠分区中目标数据类型对应的目标子区域查找目标命令信息。
在确定设备内存重叠区域中虚拟功能端口只读物理功能端口只写的第二内存重叠分区之后,从第二内存重叠分区中目标数据类型对应的目标子区域查找目标命令信息。如可以预先分别在各数据类型对应的子区域开头写入对应的分类号,通过分类号确定目标数据类型对应的目标子区域。
S308:转入目标物理端中断处理例程,对目标命令信息进行应答操作。
在查找到目标命令信息之后,转入目标物理端中断处理例程,对目标命令信息进行应答操作。具体的,可以通过将寄存器中目标虚拟功能端口对应的比特位置为中断使能状态位,如将相应的物理端中断比特位至1,从而转入目标物理端中断处理例程。
S309:当检测到应答操作操作完成时,将寄存器中目标虚拟功能端口对应的比特位置为中断清除使能状态位,以对目标物理端中断处理例程进行中断清除操作。
在进行命令应答的过程中,可以实时或每隔一定时间间隔,检测应答操作操作是否完成。当检测到应答操作操作完成时,将寄存器中目标虚拟功能端口对应的比特位置为中断清除使能状态位,如将物理端中断清除比特位置1,对目标物理端中断处理例程进行中断清除操作。
S310:生成命令应答结果信息。
生成对目标命令信息进行应答操作的命令应答结果信息。
S311:将命令应答结果信息写入设备内存重叠区域。
在生成命令应答结果信息之后,将命令应答结果信息写入设备内存重叠区域。
S312:向目标虚拟功能端口发送中断指令,以使目标虚拟功能端口转入中断指令对应的目标虚拟端中断处理例程,从设备内存重叠区域中读取命令应答结果信息。
在将命令应答结果信息写入设备内存重叠区域之后,向目标虚拟功能端口发送中断指令。目标虚拟功能端口接收到中断指令之后,转入中断指令对应的目标虚拟端中断处理例程,如将相应的虚拟中断比特位置1,从设备内存重叠区域中读取命令应答结果信息,从而使得目标虚拟功能端口获得命令应答结果信息,再将虚拟端中断清除比特位置1,对目标虚拟端中断处理例程进行中断清除操作。
S313:当接收到退出指令时,将寄存器中物理功能端口对应的比特位置为中断清除使能状态位,以对全部物理端中断处理例程进行中断清除操作。
当需要将物理功能端口退出时,向物理功能端口发送退出指令。物理功能端口接收退出指令,将寄存器中物理功能端口对应的比特位置为中断清除使能状态位,实现对全部物理端中断处理例程进行中断清除操作,不需要对各目标物理端中断处理例程进行一一中断清除操作,较大地提高了中断清除效率。
相应于上面的方法实施例,本发明实施例还提供了一种命令信息传输系统,下文描述的命令信息传输系统与上文描述的命令信息传输方法可相互对应参照。
参见图4,图4为本发明实施例中一种命令信息传输系统的结构框图,应用于物理功能端口,该系统可以包括:
虚拟端口获得模块41,用于对接收到的中断请求进行解析,得到目标虚拟功能端口;
中断例程确定模块42,用于确定目标虚拟功能端口对应的目标物理端中断处理例程;
命令信息获取模块43,用于获取设备内存重叠区域中目标物理端中断处理例程对应的目标命令信息;其中,设备内存重叠区域为利用设备内存重叠映射技术将物理功能端口和各虚拟功能端口在主机地址空间进行内存映射得到的重叠区域;
命令应答模块44,用于转入目标物理端中断处理例程,对目标命令信息进行应答操作。
通过上述技术方案可知,通过预先利用设备内存重叠映射技术将物理功能端口和各虚拟功能端口在主机地址空间进行内存映射得到设备内存重叠区域,使得物理功能端口和各虚拟功能端口都能对设备内存重叠区域进行访问,并结合中断技术实现物理功能端口和各虚拟功能端口之间的命令信息传输。本发明所提供的物理功能端口和各虚拟功能端口之间的命令信息传输不依赖于虚拟机监控器软件框架支持,较大地降低了对硬件资源的占用,提高了传输效率。
在本发明的一种具体实施方式中,该系统还可以包括:
第一中断清除模块,用于在对目标命令信息进行应答操作之后,当检测到命令应答操作完成时,将寄存器中目标虚拟功能端口对应的比特位置为中断清除使能状态位,以对目标物理端中断处理例程进行中断清除操作。
在本发明的一种具体实施方式中,该系统还可以包括:
应答结果生成模块,用于在检测到命令应答操作完成之后,生成命令应答结果信息;
应答结果写入模块,用于将命令应答结果信息写入设备内存重叠区域;
应答结果读取模块,用于向目标虚拟功能端口发送中断指令,以使目标虚拟功能端口转入中断指令对应的目标虚拟端中断处理例程,从设备内存重叠区域中读取设备命令应答信息。
在本发明的一种具体实施方式中,该系统还可以包括:
第二中断清除模块,用于当接收到退出指令时,将寄存器中物理功能端口对应的比特位置为中断清除使能状态位,以对全部物理端中断处理例程进行中断清除操作。
在本发明的一种具体实施方式中,虚拟端口获得模块41包括:
中断使能位获取子模块,用于获取所述设备内存重叠区域中物理功能端口只读虚拟功能端口只写的第一内存重叠分区内的目标中断使能状态位;
虚拟端口确定子模块,用于根据所述目标中断使能状态位确定所述目标虚拟功能端口。
在本发明的一种具体实施方式中,中断例程确定模块42包括:
中断号确定子模块,用于确定目标虚拟功能端口对应的目标物理端中断号;
中断例程确定子模块,用于根据目标物理端中断号确定目标物理端中断处理例程。
在本发明的一种具体实施方式中,命令信息获取模块43包括:
数据类型确定子模块,用于确定目标物理端中断处理例程对应的目标数据类型;
命令信息查找子模块,用于从设备内存重叠区域中目标数据类型对应的目标子区域查找目标命令信息。
在本发明的一种具体实施方式中,命令信息查找子模块包括:
内存重叠分区确定单元,用于确定设备内存重叠区域中虚拟功能端口只读物理功能端口只写的第二内存重叠分区;
命令信息查找单元,用于从第二内存重叠分区中目标数据类型对应的目标子区域查找目标命令信息。
相应于上面的方法实施例,参见图5,图5为本发明所提供的命令信息传输装置的示意图,该装置可以包括:
存储器51,用于存储计算机程序;
处理器52,用于执行上述存储器51存储的计算机程序时可实现如下步骤:
对接收到的中断请求进行解析,得到目标虚拟功能端口;确定目标虚拟功能端口对应的目标物理端中断处理例程;获取设备内存重叠区域中目标物理端中断处理例程对应的目标命令信息;其中,设备内存重叠区域为利用设备内存重叠映射技术将物理功能端口和各虚拟功能端口在主机地址空间进行内存映射得到的重叠区域;转入目标物理端中断处理例程,对目标命令信息进行应答操作。
对于本发明提供的设备的介绍请参照上述方法实施例,本发明在此不做赘述。
相应于上面的方法实施例,本发明还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时可实现如下步骤:
对接收到的中断请求进行解析,得到目标虚拟功能端口;确定目标虚拟功能端口对应的目标物理端中断处理例程;获取设备内存重叠区域中目标物理端中断处理例程对应的目标命令信息;其中,设备内存重叠区域为利用设备内存重叠映射技术将物理功能端口和各虚拟功能端口在主机地址空间进行内存映射得到的重叠区域;转入目标物理端中断处理例程,对目标命令信息进行应答操作。
该计算机可读存储介质可以包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
对于本发明提供的计算机可读存储介质的介绍请参照上述方法实施例,本发明在此不做赘述。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置、设备及计算机可读存储介质而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的技术方案及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

Claims (8)

1.一种命令信息传输方法,其特征在于,应用于物理功能端口,包括:
获取设备内存重叠区域中物理功能端口只读虚拟功能端口只写的第一内存重叠分区内的目标中断使能状态位;
根据所述目标中断使能状态位确定目标虚拟功能端口;
确定所述目标虚拟功能端口对应的目标物理端中断号;
根据所述目标物理端中断号确定目标物理端中断处理例程;
确定所述目标物理端中断处理例程对应的目标数据类型;
从所述设备内存重叠区域中所述目标数据类型对应的目标子区域查找目标命令信息;其中,所述设备内存重叠区域为利用设备内存重叠映射技术将所述物理功能端口和各虚拟功能端口在主机地址空间进行内存映射得到的重叠区域;
转入所述目标物理端中断处理例程,对所述目标命令信息进行应答操作。
2.根据权利要求1所述的命令信息传输方法,其特征在于,在对所述目标命令信息进行应答操作之后,还包括:
当检测到命令应答操作完成时,将寄存器中所述目标虚拟功能端口对应的比特位置设置为中断清除使能状态位,以对所述目标物理端中断处理例程进行中断清除操作。
3.根据权利要求2所述的命令信息传输方法,其特征在于,在检测到命令应答操作完成之后,还包括:
生成命令应答结果信息;
将所述命令应答结果信息写入所述设备内存重叠区域;
向所述目标虚拟功能端口发送中断指令,以使所述目标虚拟功能端口转入所述中断指令对应的目标虚拟端中断处理例程,从所述设备内存重叠区域中读取所述命令应答结果信息。
4.根据权利要求2所述的命令信息传输方法,其特征在于,还包括:
当接收到退出指令时,将所述寄存器中所述物理功能端口对应的比特位置设置为所述中断清除使能状态位,以对全部物理端中断处理例程进行中断清除操作。
5.根据权利要求1所述的命令信息传输方法,其特征在于,从所述设备内存重叠区域中所述目标数据类型对应的目标子区域查找所述目标命令信息,包括:
确定所述设备内存重叠区域中虚拟功能端口只读物理功能端口只写的第二内存重叠分区;
从所述第二内存重叠分区中所述目标数据类型对应的目标子区域查找所述目标命令信息。
6.一种命令信息传输系统,其特征在于,应用于物理功能端口,包括:
虚拟端口获得模块,用于获取设备内存重叠区域中物理功能端口只读虚拟功能端口只写的第一内存重叠分区内的目标中断使能状态位;根据所述目标中断使能状态位确定目标虚拟功能端口;
中断例程确定模块,用于确定所述目标虚拟功能端口对应的目标物理端中断号;根据所述目标物理端中断号确定目标物理端中断处理例程;
命令信息获取模块,用于确定所述目标物理端中断处理例程对应的目标数据类型;从所述设备内存重叠区域中所述目标数据类型对应的目标子区域查找目标命令信息;其中,所述设备内存重叠区域为利用设备内存重叠映射技术将所述物理功能端口和各虚拟功能端口在主机地址空间进行内存映射得到的重叠区域;
命令应答模块,用于转入所述目标物理端中断处理例程,对所述目标命令信息进行应答操作。
7.一种命令信息传输装置,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至5任一项所述命令信息传输方法的步骤。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述命令信息传输方法的步骤。
CN202010820123.5A 2020-08-14 2020-08-14 一种命令信息传输方法、系统、装置及可读存储介质 Active CN111949371B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202010820123.5A CN111949371B (zh) 2020-08-14 2020-08-14 一种命令信息传输方法、系统、装置及可读存储介质
US18/016,985 US11868799B2 (en) 2020-08-14 2021-01-25 Command information transmission method, system, and apparatus, and readable storage medium
PCT/CN2021/073606 WO2022032990A1 (zh) 2020-08-14 2021-01-25 一种命令信息传输方法、系统、装置及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010820123.5A CN111949371B (zh) 2020-08-14 2020-08-14 一种命令信息传输方法、系统、装置及可读存储介质

Publications (2)

Publication Number Publication Date
CN111949371A CN111949371A (zh) 2020-11-17
CN111949371B true CN111949371B (zh) 2022-07-22

Family

ID=73342252

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010820123.5A Active CN111949371B (zh) 2020-08-14 2020-08-14 一种命令信息传输方法、系统、装置及可读存储介质

Country Status (3)

Country Link
US (1) US11868799B2 (zh)
CN (1) CN111949371B (zh)
WO (1) WO2022032990A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111949371B (zh) * 2020-08-14 2022-07-22 苏州浪潮智能科技有限公司 一种命令信息传输方法、系统、装置及可读存储介质
CN116107697B (zh) * 2023-01-04 2023-10-31 芯动微电子科技(武汉)有限公司 一种不同操作系统之间互相通信的方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103984591A (zh) * 2014-05-15 2014-08-13 中国人民解放军国防科学技术大学 计算机虚拟化系统的PCI设备INTx中断投递方法
CN105808167A (zh) * 2016-03-10 2016-07-27 深圳市杉岩数据技术有限公司 一种基于sr-iov的链接克隆的方法、存储设备及系统
CN110609730A (zh) * 2018-06-14 2019-12-24 阿里巴巴集团控股有限公司 一种实现虚拟处理器间中断透传的方法及设备

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101477511B (zh) 2008-12-31 2010-08-25 杭州华三通信技术有限公司 一种实现多操作系统共享存储介质的方法和装置
US20160328348A1 (en) * 2014-01-29 2016-11-10 Hitachi, Ltd. Computer and computer i/o control method
CN104123173B (zh) 2014-07-22 2017-08-25 华为技术有限公司 一种实现虚拟机间通信的方法及装置
US9898430B2 (en) 2014-11-12 2018-02-20 Vmware, Inc. Tracking virtual machine memory modified by a single root I/O virtualization (SR-IOV) device
CN107894913B (zh) 2016-09-30 2022-05-13 超聚变数字技术有限公司 一种计算机系统和存储访问装置
US10509753B2 (en) * 2018-02-26 2019-12-17 Micron Technology, Inc. Dynamic allocation of resources of a storage system utilizing single root input/output virtualization
US10635355B1 (en) * 2018-11-13 2020-04-28 Western Digital Technologies, Inc. Bandwidth limiting in solid state drives
CN111949371B (zh) 2020-08-14 2022-07-22 苏州浪潮智能科技有限公司 一种命令信息传输方法、系统、装置及可读存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103984591A (zh) * 2014-05-15 2014-08-13 中国人民解放军国防科学技术大学 计算机虚拟化系统的PCI设备INTx中断投递方法
CN105808167A (zh) * 2016-03-10 2016-07-27 深圳市杉岩数据技术有限公司 一种基于sr-iov的链接克隆的方法、存储设备及系统
CN110609730A (zh) * 2018-06-14 2019-12-24 阿里巴巴集团控股有限公司 一种实现虚拟处理器间中断透传的方法及设备

Also Published As

Publication number Publication date
US20230229485A1 (en) 2023-07-20
WO2022032990A1 (zh) 2022-02-17
US11868799B2 (en) 2024-01-09
CN111949371A (zh) 2020-11-17

Similar Documents

Publication Publication Date Title
CN107590099B (zh) 一种多主机访问从机的方法、扩展装置及存储介质
CN101630270B (zh) 数据处理系统和方法
CN111949371B (zh) 一种命令信息传输方法、系统、装置及可读存储介质
CN103164523A (zh) 数据一致性检查方法、装置及系统
CN108491278B (zh) 一种处理业务数据的方法和网络设备
CN111190854B (zh) 通信数据处理方法、装置、设备、系统和存储介质
CN110007877B (zh) 主机与双控存储设备间数据传输方法、装置、设备及介质
CN112947857B (zh) 一种数据搬移方法、装置、设备及计算机可读存储介质
KR20110123541A (ko) 데이터 저장 장치 및 그것의 동작 방법
CN115269213A (zh) 数据接收方法、数据发送方法、装置、电子设备及介质
CN114706531A (zh) 数据处理方法、装置、芯片、设备及介质
CN100524267C (zh) 数据处理系统及数据处理方法
CN116467235B (zh) 一种基于dma的数据处理方法、装置、电子设备及介质
US10949095B2 (en) Method, network adapters and computer program product using network adapter memory to service data requests
CN102495815B (zh) I/o数据访问中断的处理方法和系统以及设备
CN115883022B (zh) Dma传输控制方法、装置、电子设备及可读存储介质
CN111949585A (zh) 数据转换处理方法及装置
CN112817516A (zh) 数据读写控制方法、装置、设备和存储介质
WO2022022250A1 (zh) 中断处理方法、装置、系统、设备及存储介质
CN111371799B (zh) Mctp控制器收发数据的控制方法、装置及设备
CN114238156A (zh) 处理系统以及操作处理系统的方法
CN111274176A (zh) 一种信息处理方法、电子设备、系统及存储介质
CN116501450B (zh) 翻译控制方法、二进制翻译方法、指令执行方法及装置
CN112003860B (zh) 适用于远程直接内存访问的内存管理方法、系统及介质
CN110489359B (zh) 一种数据传输控制方法及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant