CN110532063B - 一种同时支持总线虚拟化和功能安全的系统及方法 - Google Patents
一种同时支持总线虚拟化和功能安全的系统及方法 Download PDFInfo
- Publication number
- CN110532063B CN110532063B CN201910743534.6A CN201910743534A CN110532063B CN 110532063 B CN110532063 B CN 110532063B CN 201910743534 A CN201910743534 A CN 201910743534A CN 110532063 B CN110532063 B CN 110532063B
- Authority
- CN
- China
- Prior art keywords
- data
- module
- backup
- data access
- access request
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1464—Management of the backup or restore process for networked environments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1469—Backup restoration techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45587—Isolation or security of virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Hardware Redundancy (AREA)
Abstract
一种同时支持总线虚拟化和功能安全的系统及方法,包括,分发器模块、交换器模块、备份交换器模块、仲裁器模块,以及资源管理器,其中,所述分发器模块,其将主机发出的数据访问请求分发到不同的所述交换器模块和所述备份交换器模块;所述交换器模块和所述备份交换器模块,对主机的数据访问请求进行分析,并根据分析结果将数据访问请求分发到不同的所述仲裁器模块;所述仲裁器模块,其将多个所述交换器模块和所述备份交换器模块发送的数据访问请求汇集到一个输出接口发送给与其相连接的设备;所述资源管理器,其根据应用需求为每个虚拟机分配和配置系统资源。本发明还提供的系统及方法,支持总线虚拟化以及功能安全,降低系统总线资源的开销。
Description
技术领域
本发明实施例涉及片上系统(SoC)技术领域,尤其涉及虚拟化片上系统总线。
背景技术
目前虚拟化技术越来越广泛的应用到了片上系统(SoC),以及微控制器当中。虚拟化系统的显著特征是将有限的系统资源根据不同的应用场景动态的在各个子系统(虚拟机)之间进行分配从而达到系统硬件资源使用率的最大化。
虚拟化技术带来的好处是显而易见,但是在实际应用中由于虚拟化带来的系统效率降低,以及虚拟机之间的相互干扰的问题日趋严重,成为了迫切需要解决的问题。为了降低由于系统虚拟化导致的系统整体性能下降以及虚拟机之间的相互干扰,总线虚拟化技术应运而生。
于此同时功能安全的应用也为系统中的一些虚拟机带来了功能安全的需求。为了满足虚拟机整体的故障诊断级别,该虚拟机使用的硬件资源包括系统总线必须具有故障诊断的功能。
无论是总线虚拟化还是故障诊断功能都是以增加硬件资源为代价的,同时支持虚拟化以及功能安全也给系统带来了巨大的硬件开销。
发明内容
为了解决现有技术存在的不足,本发明提供一种同时支持总线虚拟化和功能安全的系统及方法,采用统一的结构支持总线虚拟化以及功能安全,降低支持总线虚拟化以及总线功能安全的总线资源的硬件开销。
为实现上述目的,本发明至少一个实施例提供一种同时支持总线虚拟化和功能安全的系统,包括,分发器模块、交换器模块、备份交换器模块、仲裁器模块,以及资源管理器,其中,
所述分发器模块,其将主机发出的数据访问请求分发到不同的所述交换器模块和所述备份交换器模块;
所述交换器模块和所述备份交换器模块,对主机的数据访问请求进行分析,并根据分析结果将数据访问请求分发到不同的所述仲裁器模块;
所述仲裁器模块,其将多个所述交换器模块和所述备份交换器模块发送的数据访问请求汇集到一个输出接口发送给与其相连接的设备;
所述资源管理器,其根据应用需求为每个虚拟机分配和配置系统资源。
进一步地,所述分发器模块,其根据所述资源管理器的设置,为每一个主机的数据访问请求选择不同的交换器模块和备份交换器模块;
如果主机为非安全的虚拟机,则将数据访问请求发送到相应的交换器模块或备份交换器模块;
如果主机为安全的虚拟机,则将数据访问请求复制后,一个发送到相应的交换器模块;另一个发送到相应的备份交换器模块。
进一步地,所述分发器模块,当所述数据访问请求为安全数据访问请求时,则:
1)将主机发出的安全数据访问请求复制后分别发送到与其相连接的交换器模块和备份交换器模块,同时为每一个安全数据访问请求添加唯一的识别号以及安全访问的标识;
2)将发送到所述备份交换器模块的安全数据访问请求延时;
3)将发送到所述备份交换器模块的进行地址转换;
4)写操作时,将发送到所述备份交换器模块的数据逐比特位取反;
5)读操作时,将所述备份交换器模块和所述交换器模块返回的数据进行缓存;将所述备份交换器模块返回的数据逐比特位取反后,与所述交换器模块返回的数据进行比较;如相等则认为返回的数据正确;如不等、返回数据超时或者返回数据唯一识别号不等,则认为总线传输错误;
6)维持主机发出的安全数据访问请求的一致性。
进一步地,所述分发器模块,当所述数据访问请求为非安全数据访问请求时,则将所述非安全数据访问请求发送到所述交换器模块或所述备份交换器模块;
如果是将所述非安全数据访问请求发送给所述备份交换器模块,则:
1)将发送到所述备份交换器模块的进行地址转换;
2)写操作时,将发送到所述备份交换器模块的数据逐比特位取反;
3)在读操作时,将读取数据逐比特位取反。
进一步地,所述进行地址转换,采用如下公式:
AddrD[N-1:12]=AddrMax[N-1:12]-Addr[N-1:12]
其中,AddrMax为系统最大寻址空间,N为系统最大的地址位宽,Addr为转换前的地址,AddrD为转换后的地址。
进一步地,所述备份交换器模块,其根据应用的需求,可被动态配置为功能安全总线的备份总线,其地址解析与所述交换器模块互为镜像。
进一步地,所述仲裁器模块,其基于当前访问的虚拟机编号、访问的读写类型、是否为安全的访问、是否为特权模式的访问,阻止虚拟机对当前设备的访问,并进行系统流量的控制;所述流量的控制策略包括,如设备专属于某个虚拟机,无流量控制;如设备为虚拟化设备,且服务于多个虚拟机,则根据系统设置为每个虚拟机分配带宽资源。
进一步地,所述仲裁器模块,其将所述备份交换器的数据访问请求以及数据进行协议转换,
将接收到的地址按照如下公式进行转换:
AddrD[N-1:12]=AddrMax[N-1:12]-Addr[N-1:12]
其中,AddrMax为系统最大寻址空间,N为系统最大的地址位宽,Addr为转换前的地址,AddrD为转换后的地址;
将接收到读写数据逐比特位取反。
进一步地,所述仲裁器模块,在主机的数据访问请求为安全数据访问请求时,
将接收并缓存的所述交换器模块和所述备份交换器模块发出的数据访问请求进行比较,如果相等则认为传输请求正确;如果数据、数据标识符不等或者传输超时,则判定传输请求错误;
写操作时,将接收并缓存的所述交换器模块和所述备份交换器模块发出的数据进行比较,如果相等则判定传输数据正确;如果数据、数据标识符不等或者传输超时,则判定传输数据错误;
读操作时,将设备返回的数据发送给所述交换器模块,逐比特位取反发送给所述备份交换器模块,同时为每一次数据传输添加唯一的识别号。
更进一步地,所述资源管理器,其根据系统资源,将主机、设备、所述交换器模块,以及所述备份交换器模块在各个安全以及非安全的虚拟机之间进行调配,并对所述分发器模块和所述仲裁器模块进行配置。
为实现上述目的,本发明至少一个实施例还提供了一种同时支持总线虚拟化和功能安全的方法,包括以下步骤:
1)资源管理器对系统资源分配及配置;
2)为主机的数据访问请求选择交换器模块和备份交换器模块;
3)根据数据访问请求的类型,对数据访问请求进行处理;
4)对功能安全总线进行配置;
5)对设备访问进行权限控制及处理。
进一步地,所述步骤1)进一步包括,
所述资源管理器,其根据系统资源,将主机、设备、所述交换器模块,以及所述备份交换器模块在各个安全以及非安全的虚拟机之间进行调配,并对所述分发器模块和所述仲裁器模块进行配置。
进一步地,所述步骤2)进一步包括,
分发器模块根据资源管理器的配置,为主机的数据访问请求选择交换器模块和备份交换器模块;如果主机为非安全的虚拟机,则将数据访问请求发送给相应的交换器模块或者备份交换器模块;如果主机是为安全的虚拟机,则将数据访问请求进行复制后,一个发往相应的交换器模块,另一个发往相应的备份交换器模块。
进一步地,所述步骤3)进一步包括,
当所述数据访问请求为安全数据访问请求时,所述分发器模块则:
将主机发出的安全数据访问请求复制后分别发送到与其相连接的交换器模块和备份交换器模块,同时为每一个安全数据访问请求添加唯一的识别号以及安全访问的标识;
将发送到所述备份交换器模块的安全数据访问请求延时;
将发送到所述备份交换器模块的进行地址转换;
写操作时,将发送到备份所述交换器模块的数据逐比特位取反;
读操作时,将所述备份交换器模块和所述交换器模块返回的数据进行缓存;将所述备份交换器模块返回的数据逐比特位取反后,与所述交换器模块返回的数据进行比较;如相等则认为返回的数据正确;如不等、返回数据超时或者返回数据唯一识别号不等,则认为总线传输错误;
维持主机发出的安全数据访问请求的一致性;
当所述数据访问请求为非安全数据访问请求时,所述分发器模块则:
将发送到所述备份交换器模块的进行地址转换;
在读操作时,将读取数据逐比特位取反。
进一步地,所述步骤4)进一步包括,
资源管理器根据应用的需求,将备份交换器模块动态配置为功能安全总线的备份总线。
进一步地,所述步骤5)进一步包括,
仲裁器模块,根据当前访问的虚拟机编号、访问的读写类型、是否为安全的访问或是否为特权模式的访问,阻止虚拟机对当前设备的访问;
如设备为虚拟化设备并服务于多个虚拟机,仲裁器模块根据资源管理器的设置为每个虚拟机分配带宽资源;
仲裁器模块将备份交换器模块的数据访问请求以及数据进行协议转换,包括,
地址转换采用如下公式:
AddrD[N-1:12]=AddrMax[N-1:12]-Addr[N-1:12]
其中,AddrMax为系统最大寻址空间,N为系统最大的地址位宽,Addr为转换前的地址;AddrD为转换后的地址;
数据转换:将接收到的读取数据逐比特位取反。
进一步地,所述步骤5)进一步包括,
针对安全数据访问请求,仲裁器模块,
将接收并缓存的所述交换器模块和所述备份交换器模块发出的数据访问请求进行比较,如果相等则判定传输请求正确;如果数据、数据标识符不等或者传输超时,则判定传输请求错误;
写操作时,将接收并缓存的所述交换器模块和所述备份交换器模块发出的数据进行比较,如果相等则判定传输数据正确;如果数据、数据标识符不等或者传输超时,则判定传输数据错误;
读操作时,将设备返回的数据发送给所述交换器模块,逐比特位取反发送给所述备份交换器模块,同时为每一次数据传输添加唯一的识别号。
为实现上述目的,本发明至少一个实施例提供一种计算机可读存储介质,其上存储有程序,所述程序可被处理器执行,实现上述同时支持总线虚拟化和功能安全的方法的步骤。
同时支持总线虚拟化和功能安全的系统及方法,采用统一的结构支持总线虚拟化以及功能安全,降低支持总线虚拟化以及总线功能安全的总线资源的硬件开销,同时,可以根据不同应用场景性能以及安全的需求灵活地将有限的系统总线资源进行分配,拓展了了整体系统适用范围。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,并与本发明的内容和实施例一起,用于解释本发明,并不构成对本发明的限制。在附图中:
图1为根据本发明的同时支持总线虚拟化和功能安全的系统结构框图;
图2为根据本发明的同时支持总线虚拟化和功能安全的方法流程图;
图3为根据本发明的同时支持总线虚拟化和功能安全应用实例一资源配置图;
图4为根据本发明的同时支持总线虚拟化和功能安全应用实例二资源配置图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的实施例仅用于说明和解释本发明,并不用于限定本发明。
在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
实施例1
图1为根据本发明的同时支持总线虚拟化和功能安全的系统结构框图,如图1所示,本发明的同时支持总线虚拟化和功能安全的系统,包括,分发器模块10、交换器模块20、备份交换机模块30、仲裁器模块40,以及资源管理器50,其中,
分发器模块10,为单输入、多输出结构,其输入端与主机相连接,输出端分别与交换器模块20、备份交换机模块30相连接,根据资源管理器50的设置,为每一个主机的数据请求选择不同的交换器模块20和备份交换器模块30。
本发明的一个实施例中,根据资源管理器50的设置,对发出数据访问请求的主机进行判断,判断该主机是属于非安全的虚拟机还是属于安全的虚拟机。
如果该主机是属于非安全的虚拟机,则将数据访问请求发送给相应的交换器模块20或者备份交换器模块30;
如果该主机是属于安全的虚拟机,则将数据访问请求进行复制后,一个发往某一个交换器模块20,另一个发往某一个备份交换器模块30。
本发明的一个实施例中,分发器模块10针对主机发出的安全数据访问请求,进行如下处理:
1)将主机发出的安全数据访问请求复制后分别发送到与该分发器模块10相连接的交换器模块20和备份交换器模块30,同时为每一个安全数据访问请求添加唯一的识别号以及安全访问的标识;
2)将发送到备份交换器模块30的安全数据访问请求(读或写请求)延时C个(大于等于1)时钟;
3)将发送到备份交换器模块30的地址按照如下公式进行转换:
AddrD[N-1:12]=AddrMax[N-1:12]-Addr[N-1:12]
其中,AddrMax为系统最大寻址空间,在32位系统中AddrMax=(4GB–1B);N为系统最大的地址位宽,32位系统中N=32;Addr为转换前的地址;AddrD为转换后的地址;
4)写操作时,将发送到备份交换器模块30的数据逐比特位取反。例如发往交换器模块20的数据为0x5555_5555,发往备份交换器模块30的数据则为0xAAAA_AAAA;
5)读操作时,当读取的数据返回后,将交换器模块20和备份交换器模块30返回的数据进行缓存,并将备份交换器模块30返回的数据逐比特位取反后,与交换器模块20返回的数据进行比较;如相等则认为返回的数据正确;如不等、返回数据超时或者返回数据唯一识别号不等,则认为总线传输错误同时上报系统安全控制器(图中未示出);
6)维持主机发出的安全数据访问请求的一致性:即对于有返回有先后顺序要求的数据读取操作,按照先后顺序将数据返回给主机,如顺序靠后的数据先返回,将数据缓存直至所有顺序靠前的数据返回。
本发明的一个实施例中,分发器模块10根据资源管理器50的设置,将主机发出的非安全数据访问请求,发送到交换器模块20或备份交换器模块30。如果是将非安全数据访问请求发送给备份交换器模块30,则进行如下处理:
1)则将发送到备份交换器模块30的地址按照如下公式进行转换。
AddrD[N-1:12]=AddrMax[N-1:12]-Addr[N-1:12]
其中,AddrMax为系统最大寻址空间,在32位系统中AddrMax=(4GB–1B);N为系统最大的地址位宽,32位系统中N=32;Addr为转换前的地址;AddrD为转换后的地址;
2)写操作时,将发送到备份交换器模块30的数据逐比特位取反。例如原始数据为0x5555_5555,发往备份交换器模块30的数据为0xAAAA_AAAA;
3)在读操作时,读取数据返回时,将读取数据逐比特位取反。
交换器模块20,其分别连接分发器模块10和仲裁器模块30,对主机的数据访问请求进行分析,并根据分析结果将数据访问请求分发到不同的仲裁器模块30。
本发明的一个实施例中,每个交换器模块20可以互连所有的主机和设备,也可以根据系统的实际需求,每个交换器模块20互连一部分主机和设备。交换器模块20的数量可以根据应用的需求由资源管理器50动态配置,一个交换器可服务一个或者多个虚拟机,也可多个交换器服务一个虚拟机。
备份交换器模块30,其分别连接分发器模块10和仲裁器模块30,对主机的数据访问请求进行分析,并根据分析结果将数据访问请求分发到不同的仲裁器模块30。
本发明的一个实施例中,每个备份交换器模块30可以互连所有的主机和设备,也可以根据系统的实际需求,每个备份交换器模块30互连一部分主机和设备。备份交换器模块30的数量可以根据应用的需求由资源管理器50动态配置,一个交换器可服务一个或者多个虚拟机,也可多个交换器服务一个虚拟机。
本发明的一个实施例中,备份交换器模块30根据应用的需求由资源管理器50动态配置为功能安全总线的备份总线。
本发明的一个实施例中,备份交换器模块30对地址解析与交换器模块20互为镜像。
AddrA=AddrMax–AddrB
其中,AddrMax为系统支持最大的地址空间,对于32位系统AddrMax=4GB;AddrA为备份交换器模块30解析地址;AddrB为交换器模块20解析地址。
仲裁器模块40,其为多输入、单输出结构,将多个交换器模块20发送的数据请求汇集到与设备相连接的单个输出接口。
本发明的一个实施例中,仲裁器模块40包括防火墙,提供防火墙功能,其根据系统配置阻止部分虚拟机对当前设备的访问。访问的权限控制可基于当前访问的虚拟机编号、访问的读写类型、是否为安全的访问或是否为特权模式的访问。
本发明的一个实施例中,仲裁器模块40还包括流量控制器,提供流量控制功能。流量控制的策略包括,如设备专属于某个虚拟机,无流量控制;如设备为虚拟化设备并服务于多个虚拟机,则根据资源管理器50的设置为每个虚拟机分配带宽资源。
本发明的一个实施例中,仲裁器模块40将备份交换器模块30的数据访问请求以及数据进行协议转换,恢复主机的原始地址,包括,
地址转换:
AddrD[N-1:12]=AddrMax[N-1:12]-Addr[N-1:12]
其中,AddrMax为系统最大寻址空间,在32位系统中AddrMax=(4GB–1B);N为系统最大的地址位宽,32位系统中N=32;Addr为转换前的地址;AddrD为转换后的地址;
数据转换:将接收到的读取数据逐比特位取反。
本发明的一个实施例中,仲裁器模块40针对安全数据访问请求,还进行如下处理:
1)将接收并缓存的交换器模块20和备份交换器模块30发出的数据访问请求进行比较,如果相同则判定传输请求正确;如果不同、请求标识符不等或者传输超时,则判定传输请求错误需上报系统安全控制器。
2)写操作时,将接收并缓存的交换器模块20和备份交换器模块30传输的数据进行比较,如果相等则判定传输数据正确;如果数据、数据标识符不等或者传输超时,则判定传输数据错误需上报系统安全控制器;于此同时维持写数据的数据一致性。
3)在读操作时,将设备返回的交换器模块20请求的数据直接返回;将设备返回的备份交换器模块30请求的数据逐比特取反后返回,同时为每一次数据传输添加唯一的识别号。
资源管理器50,其根据系统资源,将主机、设备、交换器模块20,以及备份交换器模块30在各个安全以及非安全的虚拟机之间进行调配,并对分发器模块10和仲裁器模块40进行配置。
实施例2
图2为根据本发明的同时支持总线虚拟化和功能安全的方法流程图,下面将参考图2,对本发明的同时支持总线虚拟化和功能安全的方法进行详细描述。
首先,在步骤201,为每个虚拟机分配系统资源并对分发器模块10和仲裁器模块40进行配置。
本发明的一个实施例中,资源管理器50根据应用需求,为每个虚拟机分配主机、设备、使用的交换器模块20,以及备份交换器模块30;并根据每个主机所服务的虚拟机的情况为每一个分发器模块10和仲裁器模块40配置相应的交换器模块20以及备份交换器模块30。
在步骤202,为主机的数据访问请求选择交换器模块和备份交换器模块。
本发明的一个实施例中,分发器模块10根据资源管理器50的配置,为每一个主机的数据访问请求选择不同的交换器模块和备份交换器模块。
本发明的一个实施例中,如果主机为非安全的虚拟机,则将数据访问请求发送给一个交换器模块20或者备份交换器模块30;如果主机是为安全的虚拟机,则将数据访问请求进行复制后,一个发往相应的交换器模块20,另一个发往相应的备份交换器模块30。
在步骤203,根据数据访问请求的类型,对数据访问请求进行处理。
本发明的一个实施例中,如果数据访问请求的类型为安全数据访问请求,分发器模块10对安全数据访问请求进行以下处理:
1)将主机发出的安全数据访问请求复制后分别发送到与该分发器模块10相连接的交换器模块20和备份交换器模块30,同时为每一个安全数据访问请求添加唯一的识别号以及安全访问的标识;
2)将发送到备份交换器模块30的安全数据访问请求(读或写请求)延时C个(大于等于1)时钟;
3)将发送到备份交换器模块30的地址按照如下公式进行转换:
AddrD[N-1:12]=AddrMax[N-1:12]-Addr[N-1:12]
其中,AddrMax为系统最大寻址空间,在32位系统中AddrMax=(4GB–1B);N为系统最大的地址位宽,32位系统中N=32;Addr为转换前的地址;AddrD为转换后的地址;
4)写操作时,将发送到备份交换器模块30的数据逐比特位取反。例如发往交换器模块20的数据为0x5555_5555,发往备份交换器模块30的数据则为0xAAAA_AAAA;
5)读操作时,当读取的数据返回后,将交换器模块20和备份交换器模块30返回的数据进行缓存,并将备份交换器模块30返回的数据逐比特位取反后,与交换器模块20返回的数据进行比较;如相等则认为返回的数据正确;如不等、返回数据超时或者返回数据唯一识别号不等,则认为总线传输错误同时上报系统安全控制器(图中未示出);
6)维持主机发出的安全数据访问请求的一致性:即对于有返回有先后顺序要求的数据读取操作,按照先后顺序将数据返回给主机,如顺序靠后的数据先返回,将数据缓存直至所有顺序靠前的数据返回。
本发明的一个实施例中,如果数据访问请求的类型为非安全数据访问请求,分发器模块10根据设计要求将非安全数据访问请求发送到交换器模块20或备份交换器模块30。如果是将非安全数据访问请求发送给备份交换器模块30,则进行如下处理:
1)则将发送到备份交换器模块30的地址按照如下公式进行转换。
AddrD[N-1:12]=AddrMax[N-1:12]-Addr[N-1:12]
其中,AddrMax为系统最大寻址空间,在32位系统中AddrMax=(4GB–1B);N为系统最大的地址位宽,32位系统中N=32;Addr为转换前的地址;AddrD为转换后的地址;
2)写操作时,将发送到备份交换器模块30的数据逐比特位取反。例如原始数据为0x5555_5555,发往备份交换器模块30的数据为0xAAAA_AAAA;
3)在读操作时,读取数据返回时,将读取数据逐比特位取反。
在步骤204,对功能安全总线进行配置。
本发明的一个实施例中,资源管理器50根据应用的需求,将备份交换器模块30动态配置为功能安全总线的备份总线。
在步骤205,对设备访问进行权限控制及处理。
本发明的一个实施例中,仲裁器模块40,根据系统配置阻止部分虚拟机对当前设备的访问。访问的权限控制可基于当前访问的虚拟机编号、访问的读写类型、是否为安全的访问或是否为特权模式的访问。
本发明的一个实施例中,仲裁器模块40还提供流量控制功能。流量控制的策略包括,如设备专属于某个虚拟机,无流量控制;如设备为虚拟化设备并服务于多个虚拟机,则根据资源管理器50的设置为每个虚拟机分配带宽资源。
本发明的一个实施例中,仲裁器模块40将备份交换器模块30的数据访问请求以及数据进行协议转换,恢复主机的原始地址,包括,
地址转换:
AddrD[N-1:12]=AddrMax[N-1:12]-Addr[N-1:12]
其中,AddrMax为系统最大寻址空间,在32位系统中AddrMax=(4GB–1B);N为系统最大的地址位宽,32位系统中N=32;Addr为转换前的地址;AddrD为转换后的地址;
数据转换:将接收到的读取数据逐比特位取反。
本发明的一个实施例中,仲裁器模块40针对安全数据访问请求,还进行如下处理:
1)将接收并缓存的交换器模块20和备份交换器模块30发出的数据访问请求进行比较,如果相同则判定传输请求正确;如果不同、请求标识符不等或者传输超时,则判定传输请求错误需上报系统安全控制器。
2)写操作时,将接收并缓存的交换器模块20和备份交换器模块30传输的数据进行比较,如果相等则判定传输数据正确;如果数据、数据标识符不等或者传输超时,则判定传输数据错误需上报系统安全控制器;于此同时维持写数据的数据一致性。
3)在读操作时,将设备返回的交换器模块20请求的数据直接返回;将设备返回的备份交换器模块30请求的数据逐比特取反后返回,同时为每一次数据传输添加唯一的识别号。
应用实例1
图3为根据本发明的同时支持总线虚拟化和功能安全应用实例一资源配置图,如图3所示,本应用实例将总线以及系统主机设备资源分配到一个安全的虚拟机以及两个非安全的虚拟机当中,如表格1所示。其中“√”表示主机(Master)所属的虚拟机编号,“x%”表示各个虚拟机能够使用的设备(Slave)的带宽资源的百分比。
表格-1
应用实例2
图4为根据本发明的同时支持总线虚拟化和功能安全应用实例二资源配置图,如图4所示,在本应用实例中,根据应用的需求,将总线以及系统主机设备资源分配到四个个非安全的虚拟机当中,如表格2所示。其中“√”表示主机(Master)所属的虚拟机编号,“x%”表示各个虚拟机能够使用的设备(Slave)的带宽资源的百分比。
表格-2
由上述应用实例可以看出,有限的资源可以根据应用需求灵活地进行配置,系统的适用范围大大的被扩展了。
本发明一实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有程序,所述程序可被处理器执行,以实现任一实施例所述的虚拟化SoC总线配置方法的步骤。
所述计算机可读存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本领域普通技术人员可以理解:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (17)
1.一种同时支持总线虚拟化和功能安全的系统,其特征在于,包括,分发器模块、交换器模块、备份交换器模块、仲裁器模块,以及资源管理器,其中,
所述分发器模块,其将主机发出的数据访问请求分发到不同的所述交换器模块和所述备份交换器模块;
所述交换器模块和所述备份交换器模块,对主机的数据访问请求进行分析,并根据分析结果将数据访问请求分发到不同的所述仲裁器模块;
所述仲裁器模块,其将多个所述交换器模块和所述备份交换器模块发送的数据访问请求汇集到一个输出接口发送给与其相连接的设备;
所述资源管理器,其根据应用需求为每个虚拟机分配和配置系统资源;
所述仲裁器模块,其基于当前访问的虚拟机编号、访问的读写类型、是否为安全的访问、是否为特权模式的访问,阻止虚拟机对当前设备的访问,并进行系统流量的控制;所述流量的控制策略包括,如设备专属于某个虚拟机,无流量控制;如设备为虚拟化设备,且服务于多个虚拟机,则根据系统设置为每个虚拟机分配带宽资源。
2.根据权利要求1所述的同时支持总线虚拟化和功能安全的系统,其特征在于,所述分发器模块,其根据所述资源管理器的设置,为每一个主机的数据访问请求选择不同的交换器模块和备份交换器模块;
如果主机为非安全的虚拟机,则将数据访问请求发送到相应的交换器模块或备份交换器模块;
如果主机为安全的虚拟机,则将数据访问请求复制后,一个发送到相应的交换器模块;另一个发送到相应的备份交换器模块。
3.根据权利要求1所述的同时支持总线虚拟化和功能安全系统,其特征在于,所述分发器模块,当所述数据访问请求为安全数据访问请求时,则:
1)将主机发出的安全数据访问请求复制后分别发送到与其相连接的交换器模块和备份交换器模块,同时为每一个安全数据访问请求添加唯一的识别号以及安全访问的标识;
2)将发送到所述备份交换器模块的安全数据访问请求延时;
3)将发送到所述备份交换器模块的进行地址转换;
4)写操作时,将发送到所述备份交换器模块的数据逐比特位取反;
5)读操作时,将所述备份交换器模块和所述交换器模块返回的数据进行缓存;将所述备份交换器模块返回的数据逐比特位取反后,与所述交换器模块返回的数据进行比较;如相等则认为返回的数据正确;如不等、返回数据超时或者返回数据唯一识别号不等,则认为总线传输错误;
6)维持主机发出的安全数据访问请求的一致性。
4.根据权利要求1所述的同时支持总线虚拟化和功能安全的系统,其特征在于,所述分发器模块,当所述数据访问请求为非安全数据访问请求时,则将所述非安全数据访问请求发送到所述交换器模块或所述备份交换器模块;
如果是将所述非安全数据访问请求发送给所述备份交换器模块,则:
1)将发送到所述备份交换器模块的进行地址转换;
2)写操作时,将发送到所述备份交换器模块的数据逐比特位取反;
3)在读操作时,将读取数据逐比特位取反。
5.根据权利要求3或4所述的同时支持总线虚拟化和功能安全的系统,其特征在于,所述进行地址转换,采用如下公式:
AddrD[N-1:12] = AddrMax[N-1:12] - Addr[N-1:12]
其中,AddrMax为系统最大寻址空间,N为系统最大的地址位宽,Addr为转换前的地址,AddrD为转换后的地址。
6.根据权利要求1所述的同时支持总线虚拟化和功能安全的系统,其特征在于,所述备份交换器模块,其根据应用的需求,可被动态配置为功能安全总线的备份总线,其地址解析与所述交换器模块互为镜像。
7.根据权利要求1所述的同时支持总线虚拟化和功能安全的系统,其特征在于,所述仲裁器模块,其将所述备份交换器的数据访问请求以及数据进行协议转换,
将接收到的地址按照如下公式进行转换:
AddrD[N-1:12] = AddrMax[N-1:12] - Addr[N-1:12]
其中,AddrMax为系统最大寻址空间,N为系统最大的地址位宽,Addr为转换前的地址,AddrD为转换后的地址;
将接收到读写数据逐比特位取反。
8.根据权利要求1所述的同时支持总线虚拟化和功能安全的系统,其特征在于,所述仲裁器模块,在主机的数据访问请求为安全数据访问请求时,
将接收并缓存的所述交换器模块和所述备份交换器模块发出的数据访问请求进行比较,如果相等则判定传输请求正确;如果数据、数据标识符不等或者传输超时,则判定传输请求错误;
写操作时,将接收并缓存的所述交换器模块和所述备份交换器模块发出的数据进行比较,如果相等则判定传输数据正确;如果数据、数据标识符不等或者传输超时,则判定传输数据错误;
读操作时,将设备返回的数据发送给所述交换器模块,逐比特位取反发送给所述备份交换器模块,同时为每一次数据传输添加唯一的识别号。
9.根据权利要求1所述的同时支持总线虚拟化和功能安全的系统,其特征在于,所述资源管理器,其根据系统资源,将主机、设备、所述交换器模块,以及所述备份交换器模块在各个安全以及非安全的虚拟机之间进行调配,并对所述分发器模块和所述仲裁器模块进行配置。
10.一种同时支持总线虚拟化和功能安全的方法,包括以下步骤:
1)资源管理器对系统资源分配及配置;
2)为主机的数据访问请求选择交换器模块和备份交换器模块;
3)根据数据访问请求的类型,对数据访问请求进行处理;
4)对功能安全总线进行配置;
5)对设备访问进行权限控制及处理;
所述步骤5)进一步包括,仲裁器模块,根据当前访问的虚拟机编号、访问的读写类型、是否为安全的访问或是否为特权模式的访问, 阻止虚拟机对当前设备的访问;
如设备为虚拟化设备并服务于多个虚拟机,仲裁器模块根据资源管理器的设置为每个虚拟机分配带宽资源。
11.根据权利要求10所述的同时支持总线虚拟化和功能安全的方法,其特征在于,所述步骤1)进一步包括,
所述资源管理器,其根据系统资源,将主机、设备、所述交换器模块,以及所述备份交换器模块在各个安全以及非安全的虚拟机之间进行调配,并对分发器模块和所述仲裁器模块进行配置。
12.根据权利要求10所述的同时支持总线虚拟化和功能安全的方法,其特征在于,所述步骤2)进一步包括,
分发器模块根据资源管理器的配置,为主机的数据访问请求选择交换器模块和备份交换器模块;如果主机为非安全的虚拟机,则将数据访问请求发送给相应的交换器模块或者备份交换器模块;如果主机是为安全的虚拟机,则将数据访问请求进行复制后,一个发往相应的交换器模块,另一个发往相应的备份交换器模块。
13.根据权利要求10所述的同时支持总线虚拟化和功能安全的方法,其特征在于,所述步骤3)进一步包括,
当所述数据访问请求为安全数据访问请求时,分发器模块则:
将主机发出的安全数据访问请求复制后分别发送到与其相连接的交换器模块和备份交换器模块,同时为每一个安全数据访问请求添加唯一的识别号以及安全访问的标识;
将发送到所述备份交换器模块的安全数据访问请求延时;
将发送到所述备份交换器模块的进行地址转换;
写操作时,将发送到备份所述交换器模块的数据逐比特位取反;
读操作时,将所述备份交换器模块和所述交换器模块返回的数据进行缓存;将所述备份交换器模块返回的数据逐比特位取反后,与所述交换器模块返回的数据进行比较;如相等则认为返回的数据正确;如不等、返回数据超时或者返回数据唯一识别号不等,则认为总线传输错误;
维持主机发出的安全数据访问请求的一致性;
当所述数据访问请求为非安全数据访问请求时,所述分发器模块则:
将发送到所述备份交换器模块的进行地址转换;
在读操作时,将读取数据逐比特位取反。
14.根据权利要求10所述的同时支持总线虚拟化和功能安全的方法,其特征在于,所述步骤4)进一步包括,
资源管理器根据应用的需求,将备份交换器模块动态配置为功能安全总线的备份总线。
15.根据权利要求10所述的同时支持总线虚拟化和功能安全的方法,其特征在于,所述步骤5)进一步包括,
仲裁器模块将备份交换器模块的数据访问请求以及数据进行协议转换,包括,
地址转换采用如下公式:
AddrD[N-1:12] = AddrMax[N-1:12] - Addr[N-1:12]
其中,AddrMax为系统最大寻址空间, N为系统最大的地址位宽,Addr为转换前的地址;AddrD为转换后的地址;
数据转换:将接收到的读取数据逐比特位取反。
16.根据权利要求10所述的同时支持总线虚拟化和功能安全的方法,其特征在于,所述步骤5)进一步包括,
针对安全数据访问请求,仲裁器模块,
将接收并缓存的所述交换器模块和所述备份交换器模块发出的数据访问请求进行比较,如果相等则判定传输请求正确;如果数据、数据标识符不等或者传输超时,则判定传输请求错误;
写操作时,将接收并缓存的所述交换器模块和所述备份交换器模块发出的数据进行比较,如果相等则判定传输数据正确;如果数据、数据标识符不等或者传输超时,则判定传输数据错误;
读操作时,将设备返回的数据发送给所述交换器模块,逐比特位取反发送给所述备份交换器模块,同时为每一次数据传输添加唯一的识别号。
17.一种计算机可读存储介质,其上存储有程序,其特征在于,所述程序可被处理器执行权利要求10-16任一项所述的同时支持总线虚拟化和功能安全的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910743534.6A CN110532063B (zh) | 2019-08-13 | 2019-08-13 | 一种同时支持总线虚拟化和功能安全的系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910743534.6A CN110532063B (zh) | 2019-08-13 | 2019-08-13 | 一种同时支持总线虚拟化和功能安全的系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110532063A CN110532063A (zh) | 2019-12-03 |
CN110532063B true CN110532063B (zh) | 2022-04-01 |
Family
ID=68663030
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910743534.6A Active CN110532063B (zh) | 2019-08-13 | 2019-08-13 | 一种同时支持总线虚拟化和功能安全的系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110532063B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101163133A (zh) * | 2006-10-10 | 2008-04-16 | 中国科学院计算技术研究所 | 一种多机虚拟环境下实现资源共享的通信系统及通信方法 |
CN102650976A (zh) * | 2012-04-01 | 2012-08-29 | 中国科学院计算技术研究所 | 一种支持单根io虚拟化用户级接口控制装置及其方法 |
CN105704087A (zh) * | 2014-11-25 | 2016-06-22 | 甘肃省科学技术情报研究所 | 一种基于虚拟化实现网络安全管理的装置及其管理方法 |
CN107608806A (zh) * | 2017-09-25 | 2018-01-19 | 郑州云海信息技术有限公司 | 一种虚拟机间快速访问传输数据的系统及方法 |
CN108900551A (zh) * | 2018-08-16 | 2018-11-27 | 中国联合网络通信集团有限公司 | Sdn/nfv网络安全防护方法及装置 |
CN108920252A (zh) * | 2018-06-15 | 2018-11-30 | 西安微电子技术研究所 | 一种基于多队列千兆以太网控制器的io虚拟化装置 |
CN109213702A (zh) * | 2017-06-30 | 2019-01-15 | 伊姆西Ip控股有限责任公司 | 虚拟机环境中的虚拟双控制模块之间的通信 |
US10303879B1 (en) * | 2014-11-06 | 2019-05-28 | Amazon Technologies, Inc. | Multi-tenant trusted platform modules |
-
2019
- 2019-08-13 CN CN201910743534.6A patent/CN110532063B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101163133A (zh) * | 2006-10-10 | 2008-04-16 | 中国科学院计算技术研究所 | 一种多机虚拟环境下实现资源共享的通信系统及通信方法 |
CN102650976A (zh) * | 2012-04-01 | 2012-08-29 | 中国科学院计算技术研究所 | 一种支持单根io虚拟化用户级接口控制装置及其方法 |
US10303879B1 (en) * | 2014-11-06 | 2019-05-28 | Amazon Technologies, Inc. | Multi-tenant trusted platform modules |
CN105704087A (zh) * | 2014-11-25 | 2016-06-22 | 甘肃省科学技术情报研究所 | 一种基于虚拟化实现网络安全管理的装置及其管理方法 |
CN109213702A (zh) * | 2017-06-30 | 2019-01-15 | 伊姆西Ip控股有限责任公司 | 虚拟机环境中的虚拟双控制模块之间的通信 |
CN107608806A (zh) * | 2017-09-25 | 2018-01-19 | 郑州云海信息技术有限公司 | 一种虚拟机间快速访问传输数据的系统及方法 |
CN108920252A (zh) * | 2018-06-15 | 2018-11-30 | 西安微电子技术研究所 | 一种基于多队列千兆以太网控制器的io虚拟化装置 |
CN108900551A (zh) * | 2018-08-16 | 2018-11-27 | 中国联合网络通信集团有限公司 | Sdn/nfv网络安全防护方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110532063A (zh) | 2019-12-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8495254B2 (en) | Computer system having virtual storage apparatuses accessible by virtual machines | |
US6640281B2 (en) | Storage subsystem with management site changing function | |
JP4681505B2 (ja) | 計算機システム、管理計算機及びプログラム配布方法 | |
US11221763B2 (en) | Disk lock management method, apparatus, and system | |
WO2011010352A1 (en) | Storage apparatus and its data transfer method | |
US20080263544A1 (en) | Computer system and communication control method | |
JP2006048627A (ja) | ストレージシステムのダイナミック負荷バランシング | |
EP0321724A2 (en) | Apparatus and method for alterable resource partitioning enforcement in a data processing system having central processing units using different operating systems | |
US8224941B2 (en) | Method, apparatus, and computer product for managing operation | |
US20060123203A1 (en) | Network device, fiber channel switch, method for shared memory access control, and computer product | |
CN112153116B (zh) | 一种基于车载以太网的中央计算平台多虚拟机的数据共享方法 | |
KR20180116971A (ko) | 하이퍼바이저 기반의 가상 머신 격리 장치 및 방법 | |
CN111385296B (zh) | 一种业务进程重启方法、装置、存储介质以及系统 | |
US10031863B2 (en) | Access controlled memory region | |
CN104731635A (zh) | 一种虚拟机访问控制方法,及虚拟机访问控制系统 | |
KR920009449B1 (ko) | 공통 버스제어방법 및 시스템 | |
CA3129984A1 (en) | Method and system for accessing distributed block storage system in user mode | |
US7441009B2 (en) | Computer system and storage virtualizer | |
US20050235005A1 (en) | Computer system configuring file system on virtual storage device, virtual storage management apparatus, method and signal-bearing medium thereof | |
CN110532062B (zh) | 一种虚拟化SoC总线系统及配置方法 | |
CN110532063B (zh) | 一种同时支持总线虚拟化和功能安全的系统及方法 | |
JP4568021B2 (ja) | コマンド多重数監視制御方式を運用するコンピュータシステム | |
US6598105B1 (en) | Interrupt arbiter for a computing system | |
CN110046138B (zh) | 一种iSCSI目标器多实例处理方法及分布式存储系统 | |
CN112685130A (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 |