一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种片上系统、芯片及电子设备的制作方法

2022-06-02 17:09:33 来源:中国专利 TAG:


1.本发明涉及片上系统(system on chip,soc)技术领域,具体涉及一种片上系统、芯片及电子设备。


背景技术:

2.数据中心的机房中部署了成千上万台的服务器,随着nvme协议的快速普及,服务器越来越多的配置nvme(non-volatile memory express,称非易失性内存主机控制器接口规范)ssd(solid state drives,固态硬盘)作为存储数据的媒介,从而让租户(中小企业)能够得到更好的体验。
3.相关技术中,提供云服务的互联网厂商,为客户所提供云业务的主机一般都是虚拟设备。即一台服务器,根据其硬件配置,尽可能虚拟化出多台虚拟设备供客户租用。由于一台服务器的物理资源是有限的,且考虑到成本等问题,导致每个租户无法单独享用某个硬件资源,进而导致在虚拟设备存在的场景中,原生的nvme ssd无法发挥其原生性能及延时,从而对各虚拟设备的性能造成干扰。


技术实现要素:

4.因此,本发明要解决的技术问题在于克服现有技术中在系统资源共享的情况下,中央处理器不能合理应用,进而导致虚拟设备在处理业务请求时的性能不稳定的缺陷,从而提供一种片上系统、芯片及电子设备。
5.在第一方面,本发明提供一种片上系统,所述片上系统包括:
6.第一中央处理器,用于基于所述片上系统上的物理设备创建多个虚拟设备;所述多个虚拟设备共享所述片上系统的系统资源;
7.第二中央处理器,与所述第一中央处理器通信连接,用于控制虚拟设备访问所述系统资源;
8.第三中央处理器,与所述第二中央处理器通信连接,用于为接收的业务请求分配对应的系统资源;所述业务请求由所述虚拟设备发出;
9.第四中央处理器,与所述第三中央处理器通信连接,用于利用所分配的系统资源响应所述业务请求。
10.在该方式中,能够预先将片上系统中包括的多个中央处理器根据功能划分,进而通过不同功能的中央处理器之间的相互协作,为片上系统上的物理设备所创建的多个虚拟设备分配对应的系统资源,以响应虚拟设备发出的业务请求,从而提高中央处理器的处理效率,以达到提升共享系统资源的性能稳定性的目的。
11.结合第一方面,在第一方面的第一实施例中,所述第二中央处理器用于基于所述系统资源为所述虚拟设备分配用户命名空间,并用于根据所述用户命名空间控制所述虚拟设备访问所述系统资源。
12.结合第一方面或第一方面的第一实施例,在第一方面的第二实施例中,所述第二
中央处理器用于控制所述虚拟设备进行虚拟队列资源和/或虚拟中断资源的动态申请或动态释放;
13.其中,所述系统资源包括所述虚拟队列资源和所述虚拟中断资源。
14.结合第一方面,在第一方面的第三实施例中,所述第二中央处理器还用于控制所述物理设备访问所述系统资源。
15.结合第一方面,在第一方面的第四实施例中,所述第二中央处理器还用于配置流量控制目标值,所述流量控制目标值为所述第三中央处理器为业务请求分配的系统资源上限。
16.结合第一方面的第四实施例,在第一方面的第五实施例中,所述第三中央处理器用于基于所述流量控制目标值为接收的业务请求分配对应的系统资源,以使所述分配对应的系统资源的流量低于所述流量控制目标值。
17.结合第一方面,在第一方面的第六实施例中,所述系统资源包括存储资源,所述业务请求包括读写请求;
18.所述第四中央处理器,用于利用所分配的存储资源响应所述读写请求。
19.结合第一方面,在第一方面的第七实施例中,所述片上系统还包括第五中央处理器:
20.所述第五中央处理器用于引导目标固件的启动;
21.所述目标固件包括第一中央处理器的固件、第二中央处理器的固件、第三中央处理器的固件、第四中央处理器的固件中的至少一种。
22.在第二方面,本发明还提供一种芯片,包括第一方面及其可选实施方式中任一项的片上系统。
23.在第三方面,本发明还提供一种电子设备,包括第一方面及其可选实施方式中任一项的片上系统或第二方面的芯片。
附图说明
24.为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
25.图1是根据一示例性实施例提出的一种片上系统的结构示意图。
26.图2是根据一示例性实施例提出的另一种片上系统的结构示意图。
27.图3是根据一示例性实施例提出的又一种片上系统的结构示意图。
具体实施方式
28.下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
29.本发明中的术语“第一”、“第二”、“第三”“第四”等是用于区别不同的对象,而不是用于描述特定的顺序。此外术语“包括”和“具有”以及他们任何变形,意图在于覆盖不排他
component interconnect express,pci-express或pcie)设备,则所创建的虚拟设备也可以是pcie设备。
39.第二中央处理器120,与第一中央处理器通信连接,用于控制虚拟设备访问系统资源。
40.在本发明实施例中,第二中央处理器120可以理解为是用于执行处理管理类命令的中央处理器,能够根据接收到的命令控制虚拟设备访问系统资源。例如:在一实施场景中,可以通过第二中央处理器120控制虚拟设备直接访问物理设备中包括的具有多个控制器(controller)的非易失性存储器(non-volatile memory,nvm)子系统(subsystem)的系统资源。在另一实施场景中,可以基于非易失性内存主机控制器接口规范(non-volatile memory express,nvme)技术,控制虚拟设备访问系统资源。
41.在一实施例中,在sr-iov下的虚拟环境中,需要保证各虚拟设备之间的输入/输出(i/o)相互隔离,彼此独立,且相互之间不能直接访问对方的数据。因此,通过第二中央处理器120,基于系统资源为虚拟设备分配用户命名空间,并根据用户命名空间控制虚拟设备访问系统资源,以使虚拟设备能够通过其对应的用户命名空间对系统资源进行针对性的访问,从而提高系统资源访问的准确性和安全性。
42.在一实施场景中,当第二中央处理器120接收到物理设备发送的多命名空间(namesapce)的管理命令时,将系统资源中适用于用户使用的整个用户空间根据逻辑区块地址(logical block address,lba)的结合单元进行划分,将lba的集合单元采用位图的方式进行映射管理,建立用户区间与虚拟设备之间的对应关系,进而为每一个虚拟设备分配一个用户命名空间,以使虚拟设备在访问系统资源时,能够根据其对应的用户命名空间将数据写入或者读取。在一例中,lba可以是安装于物理设备中的固态硬盘(solid state disk,ssd)中的lba,该ssd用于存储虚拟设备或者物理设备写入或者读取的数据。在另一例中,系统资源还包括ssd所提供的存储资源。
43.在另一实施例中,第二中央处理器120在控制虚拟设备访问系统资源时,包括控制虚拟设备进行虚拟队列资源和/或虚拟中断资源的动态申请或动态释放。其中,系统资源包括虚拟队列资源和虚拟中断资源。例如:为平衡虚拟设备的i/o吞吐量和i/o的响应时间,当虚拟设备接收到待执行的i/o请求时,通过第二中央处理器120申请虚拟设备对应的虚拟队列资源,以便将该i/o请求存放至该虚拟设备的i/o队列中等待调度。若完成该i/o请求的响应,则第二中央处理器120释放i/o请求占用的虚拟队列资源。若该i/o请求是将该虚拟设备存储的数据读取,则通过第二中央处理器120先申请虚拟设备对应的虚拟队列资源,以便将该i/o请求存放至该虚拟设备的i/o队列中等待调度,进而当执行该i/o请求时,通过第二中央处理器120控制虚拟设备申请虚拟中断资源,以便将该虚拟中断资源进行读取。在一实施场景中,若虚拟队列资源和虚拟中断资源是由ssd中的nvme控制器管理的,则第二中央处理器120可以控制虚拟设备向nvme控制器动态申请虚拟队列资源和/或虚拟中断资源。
44.在又一实施例中,第二中央处理器120还可以用于控制虚拟设备的网络状态切换。即,控制虚拟设备处于线上(online)状态或者线下(offline)状态。在一例中,可以根据用户需求,对虚拟设备的网络状态进行针对性的切换或者批量切换。
45.第三中央处理器130,与第二中央处理器120通信连接,用于为接收的业务请求分配对应的系统资源,其中,业务请求由虚拟设备发出。
46.在本发明实施例中,第三中央处理器130可以理解为是一种用于闪存转换(flash translation layer,ftl)的中央处理器,能够根据虚拟设备下发的业务请求为虚拟设备分配对应的系统资源,以便响应该业务请求。其中,业务请求可以包括与数据写入相关的业务请求,或者与数据读取相关的业务请求。例如:根据虚拟设备发出的业务请求,将存储至虚拟设备主机内的数据搬移至虚拟设备对应的虚拟硬盘固件内。或者根据虚拟设备发出的业务请求,将存储至虚拟设备对应的虚拟硬盘固件内的数据搬移至虚拟设备主机内。
47.在一实施场景中,当第三中央处理器130获取到虚拟设备下发的需要将存储至虚拟设备主机内的数据搬移至虚拟设备对应的虚拟硬盘固件内的业务请求时,则第三中央处理器130可以基于第二中央处理器120为虚拟设备分配的用户命名空间,将业务请求中的lba映射至虚拟硬盘固件的物理区块地址(physics block address,pba)中,进而将存储至虚拟设备主机内的数据搬移至虚拟设备对应的虚拟硬盘固件内,以响应该业务请求。
48.在另一实施场景中,当第三中央处理器130获取到虚拟设备下发的需要将存储至虚拟设备对应的虚拟硬盘固件内的数据搬移至虚拟设备主机内的业务请求时,第三中央处理器130可以基于第二中央处理器120为虚拟设备分配的用户命名空间,将业务请求中的lba映射至虚拟硬盘固件的物理区块地址(physics block address,pba)中,进而将数据从虚拟设备对应的虚拟硬盘固件内搬移至虚拟设备主机内,以响应该业务请求。
49.第四中央处理器140,与第三中央处理器130通信连接,用于利用所分配的系统资源响应业务请求。
50.在本发明实施例中,第四中央处理器140可以理解为是一种用于管理系统资源的中央处理器,进而能够利用所分配的系统资源响应业务请求。
51.在一实施例中,系统资源包括存储资源,业务请求包括读写请求。第四中央处理器140,用于利用所分配的存储资源响应读写请求。
52.在一实施场景中,当虚拟设备下发的读写请求为将存储至虚拟设备主机内的数据搬移至虚拟设备对应的虚拟硬盘固件内时,则可以通过第四中央处理器140将第三中央处理器130搬移至虚拟硬盘固件的数据调度写入至虚拟硬盘固件的存储介质中,以完成对该数据的保存,响应虚拟设备下发的读写请求。在另一实施场景中,当虚拟设备下发的读写请求为将存储至虚拟设备对应的虚拟硬盘固件内的数据搬移至虚拟设备主机内时,则可以通过第四中央处理器140,将存储至虚拟设备对应的虚拟硬盘固件内的数据从存储介质中读取,进而通过第三中央处理器130将读取的数据搬移至虚拟设备主机内,以响应虚拟设备下发的读写请求。
53.通过上述实施例,能够预先将片上系统中包括的多个中央处理器根据功能划分,进而通过不同功能的中央处理器之间的相互协作,为片上系统上的物理设备所创建的多个虚拟设备分配对应的系统资源,以响应虚拟设备发出的业务请求,从而提高中央处理器的处理效率,以达到提升共享系统资源的性能稳定性的目的。
54.在一实施例中,第二中央处理器120还用于控制物理设备访问系统资源,以保证物理设备的正常运行。在一示例中,由于虚拟设备是由物理设备创建的,进而为便于管理,可以将物理设备作为一级控制器,每一个虚拟设备均作为二级控制器,进而第二中央处理器120控制物理设备或者虚拟设备访问系统资源时,可以根据级别进行管理。在一例中,可以通过nvme技术管理一级控制器或者各二级控制器访问系统资源。
55.在另一实施例中,第二中央处理器120还用于配置流量控制目标值,流量控制目标值为第三中央处理器130为业务请求分配的系统资源上限,以便通过该流量控制目标值保障虚拟设备处理读写业务的服务质量(quality of service,qos),进而提高虚拟设备处理读写业务的性能稳定性。其中,流量控制目标值可以包括虚拟设备的最大每秒的读写次数(input/output operations per second,iops)或者最大带宽。在一例中,各虚拟设备的流量控制目标值可以相同,也可不同,还可以根据各虚拟设备的实际业务需求进行针对性配置,在本发明中不进行限定。
56.在又一实施例中,第三中央处理器130用于基于流量控制目标值为接收的业务请求分配对应的系统资源,以使分配对应的系统资源的流量低于流量控制目标值,从而保障虚拟设备处理读写业务的qos。
57.在一实施场景中,在第三中央处理器130中,可以采用令牌桶算法,根据第二中央处理器120配置的流量控制目标值,为接收的业务请求分配对应的系统资源,进而控制虚拟设备处理业务请求的处理进度,以使分配对应的系统资源的流量低于流量控制目标值,从而保障虚拟设备处理读写业务的qos。具体的,为便于说明,以单个虚拟设备为例进行描述。若流量控制目标值为最大iops,则在第三中央处理器130中,在采用令牌桶算法接收的业务请求分配对应的系统资源时,根据第二中央处理器120为虚拟设备配置的最大iops,为该虚拟设备分配容量与该最大iops相对应的令牌桶,并将该令牌桶加满令牌。每当虚拟设备接受到业务请求时,则在该虚拟设备对应的令牌桶中减去与业务请求相应数量的令牌。若该虚拟设备令牌桶中没有足够的令牌来接收此次业务请求或者令牌桶中令牌已耗光,则停止该虚拟设备处理业务请求,直到该虚拟设备的令牌桶中有足够的令牌。其中,令牌根据最大iops以相应速率不断填充令牌桶。
58.在又一实施例中,第一中央处理器110、第二中央处理器120、第三中央处理器130和第四中央处理器140可以根据控制虚拟设备访问系统资源的方式,控制物理设备访问系统资源。
59.在一实施例中,片上系统100还包括固态硬盘,能够协助第一中央处理器110、第二中央处理器120、第三中央处理器130和第四中央处理器140完成各虚拟设备的io存储业务,将各虚拟设备暴露给其对应的主机,进而实现固态硬盘的硬件i/o虚拟化技术,以便在实现系统资源共享的过程中,能够为虚拟设备或者物理设备提供更好的性能和更低的延迟。
60.基于相同发明构思,本发明还提供另一种片上系统。
61.图2是根据一示例性实施例提出的另一种片上系统的结构示意图。如图2所示,片上系统200包括如下部件。
62.第一中央处理器210。
63.第二中央处理器220,与第一中央处理器210通信连接。
64.第三中央处理器230,与第二中央处理器220通信连接。
65.第四中央处理器240,与第三中央处理器230通信连接。
66.其中,片上系统200中的第一中央处理器210、第二中央处理器220、第三中央处理器230和第四中央处理器240的运行处理方式与片上系统100中的第一中央处理器110、第二中央处理器120、第三中央处理器130和第四中央处理器140的运行处理方式相同,在此不再进行赘述。
67.第五中央处理器250,用于引导目标固件的启动。
68.在本发明实施例中,目标固件包括第一中央处理器210的固件、第二中央处理器220的固件、第三中央处理器230的固件、第四中央处理器240的固件中的至少一种。通过第五中央处理器250,有助于保障片上系统能够正常启动,进而保障多个虚拟设备能够正常运行,实现系统资源的共享。
69.在一实施场景中,片上系统可以是一种多核arm soc,且在该片上系统中除了包括上述五种中央处理器外,还包括能够应用sr-iov技术的nvme ssd。该片上系统的结构示意图可以如图3所示。图3是根据一示例性实施例提出的又一种片上系统的结构示意图。
70.在该片上系统300所在的计算机设备中安装有虚拟机监视程序(virtual machine monitor,vmm),以便监视各虚拟设备的运行情况。其中,vf表示虚拟设备,pf表示物理设备。vm表示虚拟设备的主机,host表示物理设备的主机。vf drive用于表示为虚拟设备提供的系统资源的共享访问。pf drive用于表示为物理设备提供的系统资源的共享访问。1、2
……
127分别表示物理设备所创建的不同虚拟设备的编号。虚拟设备的主机或者物理设备的主机通过pciex4与片上系统300进行通信连接,以便对各自对应的虚拟设备或者物理设备下发读写命令,控制虚拟设备或者物理设备执行相关业务请求。msi-x tabk表示中断机制,以便虚拟设备在第二中央处理器中申请虚拟中断资源。sq表示业务请求,cq表示业务请求响应。ns表示各虚拟设备或物理设备在虚拟环境中对应的虚拟硬盘固件。flash blacks array表示闪存阵列块,用于提供存储资源。
71.在第一中央处理器中,基于sr-iov技术,使物理设备能够创建多个虚拟设备,并为pf和vf配置空间访问以及将各自对应的主机进行初始化处理,以响应不同的业务请求。
72.在第二中央处理器中,sr-iov nvme ssd主要使用具有多个controller的nvm subsystem为虚拟设备的主机或者是物理设备的主机提供读写访问。并将pf作为一级控制器,不同的vf作为二级控制器进行管理。通过nvme技术管理一级/二级控制器进行虚拟队列资源和/或虚拟中断资源的动态申请或动态释放、或者网络状态的切换。并基于系统资源为虚拟设备分配用户命名空间,并用于根据用户命名空间控制虚拟设备访问系统资源。以及为所述第三中央处理器为业务请求分配流量控制目标值。
73.在第三中央处理器中,用于完成不同vf下发的针对不同用户命令空间下的读写业务处理进行读写数据的介质分发,同时基于第二中央处理器配置的流量控制目标值,保证vf在处理读写业务的qos。
74.在第四中央处理器中,进行接收第三中央处理器下发到nand中的内部读写数据,并将其调度写入到对应的nand存储介质中。
75.在第五中央处理器中,用于管理整个sr-iov系统的系统信息配置及固件的引导启动,保证整个系统能够正常的启动。
76.基于相同发明构思,本发明还提供一种芯片,包括本发明所提供的任意一种片上系统。
77.基于相同发明构思,本发明还提供一种电子设备,本发明所提供的任意一种片上系统或者芯片。
78.在本技术所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为
一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
79.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
80.另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
81.所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
82.显然,上述实施例仅仅是为清楚地说明所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引伸出的显而易见的变化或变动仍处于本发明创造的保护范围之中。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献