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

存储系统、数据处理方法及装置、存储介质及电子设备与流程

2023-01-17 13:00:40 来源:中国专利 TAG:

1.本发明涉及硬件存储技术领域,具体而言,涉及一种存储系统、数据处理方法及装置、存储介质及电子设备。


背景技术:

2.在存储系统中,通常一个控制器中的pcie bus(peripheral component interconnect express bus,高速串行计算机扩展总线)的资源被过多的外部存储设备使用,例如,包括cpu自带pcie设备以及外插接口卡、nvme盘(nvme指nvm express,non volatile memory host controller interface specification,非易失性内存主机控制器接口规范)等设备都会占用pcie bus资源, 而pcie 仅包含256个bus号,在需要更多外部存储设备接入控制器的情况下,pcie bus资源出现严重不足。
3.为了解决pcie bus资源难以满足外部存储设备的需求的问题,相关技术中,出现了采用nvme转以太网芯片,使用以太网协议扩展更多的nvme盘的方式,但这种方式带来更大的协议转换开销,同时复杂度也进一步提升。
4.针对上述的问题,目前尚未提出有效的解决方案。


技术实现要素:

5.本发明实施例提供了一种存储系统、数据处理方法及装置、存储介质及电子设备,以解决相关技术中扩展pcie资源的方式需要用增大协议转化开销的技术问题。
6.根据本发明实施例的一个方面,提供了一种存储系统。该系统包括:第一存储域,包含中央处理器、第一pcie交换器以及第一端口,其中,第一pcie交换器将中央处理器发出的pcie请求从第一端口的第一地址空间映射到第二端口的第二地址空间;第二存储域,包含第二pcie交换器、所述第二端口以及多个第一外部存储设备,其中,第二pcie交换器用于将pcie请求从第二地址空间映射到第一目标外部存储设备中,多个第一外部存储设备中包括第一目标外部存储设备。
7.可选地,第一地址空间中包含多个第一地址段,每个第一地址段包含多个第二地址段,每个第二地址空间中包含多个第三地址段,所有第三地址段位于第二地址空间中,第三地址段与外部存储设备的地址段具有映射关系,其中,预设数量的第三地址段为一个外部存储设备的地址段。
8.可选地,第一端口为非透明桥虚拟端口,第二地址空间为非透明桥虚拟端口的地址空间。
9.可选地,第二端口为非透明桥连接端口,第二地址空间为非透明桥连接端口的地址空间。
10.可选地,非透明桥虚拟端口和非透明桥连接端口均设置在第一pcie交换器上。
11.可选地,第一地址空间和第二地址空间存在地址隔离。
12.可选地,中央处理器将pcie请求从中央处理器自身的地址空间映射至第一端口的
第一地址空间。
13.可选地,第一外部存储设备的种类至少包括以下之一:pcie设备、外部接口卡、固态硬盘。
14.可选地,存储系统还包括:第三存储域,包含第三pcie交换器、第三端口以及多个第二外部存储设备,第一pcie交换器还将中央处理器发出的pcie请求从第一端口的第一地址空间映射到第三端口的第三地址空间,第三pcie交换器用于将pcie请求从第三地址空间映射到第二目标外部存储设备中,其中,多个第二外部存储设备中包括第二目标外部存储设备。
15.可选地,第二存储域还包括第五端口,第二pcie交换器还用于将pcie请求从第二地址空间映射到第五端口的地址空间中,系统还包括:第四存储域,包含第四pcie交换器、第四端口以及多个第三外部存储设备,第四pcie交换器用于将pcie请求从第五端口的地址空间映射第四端口的地址空间,并将pcie请求从第四端口的地址空间映射到第三目标外部存储设备中,其中,多个第三外部存储设备中包括第三目标外部存储设备。
16.根据本发明实施例的一个方面,提供了一种数据处理方法,该方法包括:通过第一pcie交换器接收中央处理器发出的pcie请求;通过第一pcie交换器将pcie请求从第一端口的第一地址空间映射到第二端口的第二地址空间;通过第二pcie交换器将pcie请求从第二地址空间映射到第二pcie交换器连接的多个外部存储设备中的目标外部存储设备中。
17.可选地,第一地址空间中包含多个第一地址段,每个第一地址段包含多个第二地址段,每个第二地址空间中包含多个第三地址段,所有第三地址段位于第二地址空间中,通过第一pcie交换器将pcie请求从第一端口的第一地址空间映射到第二端口的第二地址空间包括:将pcie请求定位至多个第二地址段中的目标第二地址段;根据多个第二地址段与多个第三地址段之间的关系,将pcie请求从目标第二地址段映射至多个第三地址段中的目标第三地址段。
18.可选地,第三地址段与外部存储设备的地址段具有映射关系,通过第一pcie交换器将pcie请求从第二地址空间映射到第二pcie交换器连接的多个外部存储设备中的目标外部存储设备中包括:根据第三地址段与外部存储设备之间的映射关系,将pcie请求从预设数量的目标第三地址段中映射至目标外部存储设备中。
19.可选地,在pcie请求为读请求的情况下,在通过第一pcie交换器将pcie请求从第二地址空间映射到第二pcie交换器连接的多个外部存储设备中的目标外部存储设备中之后,该方法还包括: 从目标外部存储设备读取读请求指示的数据。
20.可选地,在pcie请求为写请求的情况下,在通过第一pcie交换器将pcie请求从第二地址空间映射到第二pcie交换器连接的多个外部存储设备中的目标外部存储设备中之后,该方法还包括: 将写请求指示的数据写入目标外部存储设备。
21.可选地,在通过第一pcie交换器接收中央处理器发出的pcie之前,中央处理器将pcie请求从中央处理器自身的地址空间映射至第一端口的第一地址空间。
22.可选地,中央处理器、第一pcie交换器以及第一端口构成第一存储域,第二pcie交换器、第二端口以及多个外部存储设备构成第二存储域,将pcie请求从第一端口的第一地址空间映射到第二端口的第二地址空间是指将pcie请求从第一存储域转换至第二存储域。
23.根据本发明实施例的另一方面,还提供了一种数据处理装置,该装置包括:第一接
收单元,用于通过第一pcie交换器接收中央处理器发出的pcie请求通过第一pcie交换器将pcie请求从第一端口的第一地址空间映射到第二端口的第二地址空间;第一映射单元,用于通过第一pcie交换器将pcie请求从第一端口的第一地址空间映射到第二端口的第二地址空间;第二映射单元,用于通过第二pcie交换器将pcie请求从第二地址空间映射到第二pcie交换器连接的多个外部存储设备中的目标外部存储设备中。
24.根据本发明实施例的另一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行上述数据处理方法。
25.根据本发明实施例的另一方面,还提供了一种电子设备,包括一个或多个处理器和存储器,所述存储器用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现上述数据处理方法。
26.本发明实施例公开的存储系统,包括:第一存储域,包含中央处理器、第一pcie交换器以及第一端口,其中,第一pcie交换器将中央处理器发出的pcie请求从第一端口的第一地址空间映射到第二端口的第二地址空间;第二存储域,包含第二pcie交换器、所述第二端口以及多个第一外部存储设备,其中,第二pcie交换器用于将pcie请求从第二地址空间映射到第一目标外部存储设备中,多个第一外部存储设备中包括第一目标外部存储设备。进而解决了相关技术中扩展pcie资源的方式需要用增大协议转化开销的技术问题。
附图说明
27.此处所说明的附图用来提供对本发明的进一步理解,构成本技术的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:图1是根据本发明实施的一种存储系统的示意图;图2是根据本发明实施例的一种可选的存储系统结构的示意图;图3是根据本发明实施例的一种可选的存储系统地址空间的映射示意图;图4是根据本发明实施例的一种数据处理方法的示意图;图5是根据本发明实施例的一种数据处理装置的示意图。
具体实施方式
28.为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
29.需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品
switch a。第一端口为在控制器domain a中的ntb虚拟端口,第一地址空间可以为ntb虚拟端口包含的bar地址段。控制器domain a包含pcie switch a、cpu以及ntb虚拟端口。第二端口为ntb 连接端口,第二地址空间可以为ntb 连接端口包含的bar地址段。
43.第二存储域20,包含第二pcie交换器、第二端口以及多个第一外部存储设备,其中,第二pcie交换器用于将pcie请求从第二地址空间映射到第一目标外部存储设备中,多个第一外部存储设备中包括第一目标外部存储设备。
44.具体的,如图2所示,第二存储域20可以为控制器domain b,第二pcie交换器为pcie switch b,第二端口为在控制器domain b的ntb 连接端口。控制器domain b包含pcie switch b、ntb 连接端口和多个外部存储设备。具体的,pcie switch b将cpu发出的pcie请求,通过控制器domain b的ntb 连接端口下的第二地址空间进行地址转化,转化为对应的nvme固态硬盘等第一外部存储设备的地址。
45.可选地,在本技术实施例提供的存储系统中,第一外部存储设备的种类至少包括以下之一:pcie设备、外部接口卡、固态硬盘。
46.可选地,在本技术实施例提供的存储系统中,非透明桥虚拟端口和非透明桥连接端口均设置在第一pcie交换器上。
47.具体的,如图2所示,非透明桥虚拟端口为第一端口,也即ntb虚拟端口;非透明桥连接端口为第二端口,也即ntb 连接端口,其中,ntb虚拟端口的作用是将cpu侧的地址转换为link侧地址,ntb 连接端口的作用为将link侧地址转换成对应硬盘的地址。pcie switch a连接ntb虚拟端口,pcie switch b连接ntb 连接端口。其中,非透明桥也即ntbb, pcie switch分为几个单独的虚拟switch部分,可以直接通过pcie在两个系统之间建立一个非透明桥,实现跨系统通信和地址转换。
48.需要说明的是,pcie为peripheral componentb intberconnect express,是一种通用的计算机扩展总线标准,pcie bus即为计算机扩展总线,主要用于扩充计算机系统总线数据吞吐量以及提高设备通信速度,采用点到点的串行方式进行传输,大大增加了传输速率,但是,在相关技术中,pcie bus受限于256个bus号,控制器难以扩展连接多个外部存储设备。
49.而本实施例,通过地址映射可以灵活地扩展多个外部存储设备,地址映射是指将请求的逻辑地址转换为运行时由机器直接寻址的物理地址,具体的,如图2所示,在pcie协议下,pcie switch a将cpu发出的pcie请求,pcie请求可以读写请求,通过控制器domain a中ntb虚拟端口包含的第一地址空间进行转化,将地址转化为控制器domain b中的ntb 连接端口包含的第二地址空间地址,而第二地址空间地址与多个外部存储设备对应,从而实现了cpu对外部存储设备的数据读写。
50.本发明实施例的存储系统,包括第一存储域10,包含中央处理器、第一pcie交换器以及第一端口,其中,第一pcie交换器将中央处理器发出的pcie请求从第一端口的第一地址空间映射到第二端口的第二地址空间;第二存储域20,包含第二pcie交换器、第二端口以及多个第一外部存储设备,其中,第二pcie交换器用于将pcie请求从第二地址空间映射到第一目标外部存储设备中,多个第一外部存储设备中包括第一目标外部存储设备。通过设置多个存储域并在不同的存储域的第二端口之间对pcie请求进行地址转换,解决了相关技术中扩展pcie资源的方式需要用增大协议转化开销的技术问题,进而达到了控制器不增加
协议转换开销的基础上支持更多的外部存储设备的效果。
51.可选地,在本技术实施例提供的存储系统中,第一地址空间中包含多个第一地址段,每个第一地址段包含多个第二地址段,每个第二地址空间中包含多个第三地址段,所有第三地址段位于第二地址空间中,第三地址段与外部存储设备的地址段具有映射关系,其中,预设数量的第三地址段为一个外部存储设备的地址段。
52.具体的,图3是根据本发明实施例的一种可选的存储系统地址空间的映射示意图,如图3 所示,第一地址空间为ntb虚拟端口包含的地址空间,第一地址段为ntb虚拟端口包含第一地址空间中的多个bar地址段,具体包含bar0至barn,每一个第一地址段包含了多个第二地址段,每个第二地址空间中包含多个第三地址段,所有第三地址段组成第二地址空间,预设数量的第三地址段分别组成了外部存储设备的地址段,例如,bar0、bar1和bar2组成了一个外部存储设备的地址段。
53.存储系统的结构还可以进行横向扩展,可选地,在本技术实施例提供的存储系统中,存储系统还包括:第三存储域,包含第三pcie交换器、第三端口以及多个第二外部存储设备,第一pcie交换器还将中央处理器发出的pcie请求从第一端口的第一地址空间映射到第三端口的第三地址空间,第三pcie交换器用于将pcie请求从第三地址空间映射到第二目标外部存储设备中,其中,多个第二外部存储设备中包括第二目标外部存储设备。
54.具体的,第三存储域可以为控制器domain c,控制器domain c与控制器domain b为并行关系,且与控制器domain a相连接;第三pcie交换器可以为pcie switch c,第三端口可以为pcie switch c包含的ntb虚拟端口。第二外部存储设备可以包括pcie设备、外部接口卡、固态硬盘等设备。控制器domain c包含了pcie switch c、ntb端口以及多个第二外部存储设备。
55.其中,pcie switch a将cpu发出的pcie请求的地址通过控制器domain a中ntb虚拟端口包含的第一地址空间进行转化,将地址转化为控制器domain c的ntb 连接端口包含的第三地址空间地址。pcie switch c将转化到domain c中ntb 连接端口包含的第三地址空间的pcie请求,通过ntb 连接端口下的第三地址空间进行地址转化,转化为对应的nvme固态硬盘等第二外部存储设备的地址中。
56.存储系统的结构还可以进行纵向扩展,可选地,在本技术实施例提供的存储系统中,第二存储域20还包括第五端口,第二pcie交换器还用于将pcie请求从第二地址空间映射到第五端口的地址空间中,系统还包括:第四存储域,包含第四pcie交换器、第四端口以及多个第三外部存储设备,第四pcie交换器用于将pcie请求从第五端口的地址空间映射第四端口的地址空间,并将pcie请求从第四端口的地址空间映射到第三目标外部存储设备中,其中,多个第三外部存储设备中包括第三目标外部存储设备。
57.具体的,pcie switch b包含了第五端口,pcie switch b将cpu发出的pcie请求,通过控制器domain b的ntb 连接端口下的第五地址空间进行地址转化,转化为第五端口下的地址。第四存储域可以为控制器domain d,控制器domain d和控制器domain b为串行关系,且与控制器domain b相连接,第四pcie交换器可以为pcie switch d,第四端口可以为pcie switch d包含的ntb 连接端口,第三外部存储设备可以包括pcie设备、外部接口卡、固态硬盘等设备。pcie switch d将第五端口中的pcie请求通过控制器domain d的ntb 连接端口下的第五地址空间进行地址转化,将地址转化为控制器domain d的ntb 连接端口包
含的第四空间地址,并通过ntb 连接端口下的第四地址空间进行地址转化,转化为对应的nvme固态硬盘等第三外部存储设备的地址中。
58.实施例二图4是根据本发明实施例的一种数据处理方法的示意图,应用于实施例一的存储系统,如图4所示,该方法包括如下步骤:步骤s401,通过第一pcie交换器接收中央处理器发出的pcie请求。
59.具体的,图2是根据本发明实施例的一种可选的存储系统结构的示意图,如图2所示,中央处理器为cpu,第一pcie交换器为pcie switch a,pcie请求可以读写请求。
60.步骤s402,通过第一pcie交换器将pcie请求从第一端口的第一地址空间映射到第二端口的第二地址空间。
61.可选地,在本技术实施例提供的数据处理方法中,在通过第一pcie交换器接收中央处理器发出的pcie之前,中央处理器将pcie请求从中央处理器自身的地址空间映射至第一端口的第一地址空间。
62.具体地,中央处理器将pcie请求从自身的地址空间映射至第一端口的第一地址空间,第一pcie交换器再将第一端口的第一地址空间中的pcie请求映射到第二端口的第二地址空间。
63.可选地,在本技术实施例提供的数据处理方法中,中央处理器、第一pcie交换器以及第一端口构成第一存储域,第二pcie交换器、第二端口以及多个外部存储设备构成第二存储域,将pcie请求从第一端口的第一地址空间映射到第二端口的第二地址空间是指将pcie请求从第一存储域转换至第二存储域。
64.如图2所示,domain a为第一地址域,domain b为第二地址域,第一pcie交换器为控制器domain a中的pcie switch a,第一端口为在控制器domain a中的ntb虚拟端口,第一地址空间可以为ntb虚拟端口包含的bar地址段。第二端口为控制器domain b中的ntb 连接端口,第二地址空间可以为ntb 连接端口包含的bar地址段。通过pcie switch a将pcie请求从ntb虚拟端口的bar地址段映射到ntb 连接端口的bar地址段。也即,实现了将pcie请求从第一地址域转换至第二地址域的目的。
65.步骤s403,通过第二pcie交换器将pcie请求从第二地址空间映射到第二pcie交换器连接的多个外部存储设备中的目标外部存储设备中。
66.如图2所示,第二pcie交换器为控制器domain b中的pcie switch b,多个外部存储设备可以为pcie设备、外部接口卡、固态硬盘等。
67.具体的,通过pcie switch a将cpu发出的pcie请求进行接收,将其地址通过控制器domain a中ntb虚拟端口包含的第一地址空间进行转化,并将地址转化为控制器domain b的ntb 连接端口包含的第二地址空间地址。进一步的,pcie switch b将转化到domain b的ntb 连接端口包含的第二地址空间的pcie请求,通过ntb 连接端口下的第二地址空间进行地址转化,转化为对应的nvme固态硬盘外部存储设备的地址中。
68.本发明实施例的数据处理方法,通过第一pcie交换器接收中央处理器发出的pcie请求;通过第一pcie交换器将pcie请求从第一端口的第一地址空间映射到第二端口的第二地址空间;通过第二pcie交换器将pcie请求从第二地址空间映射到第二pcie交换器连接的多个外部存储设备中的目标外部存储设备中。通过设置多个存储域并在不同的存储域的第
二端口之间对pcie请求进行地址转换,解决了相关技术中扩展pcie资源的方式需要用增大协议转化开销的技术问题,进而达到了控制器不增加协议转换开销的基础上支持更多的外部存储设备的效果。
69.下面结合上述各步骤对本发明实施例进行详细说明。
70.可选地,在本技术实施例提供的数据处理方法中,第一地址空间中包含多个第一地址段,每个第一地址段包含多个第二地址段,每个第二地址空间中包含多个第三地址段,所有第三地址段位于第二地址空间中,通过第一pcie交换器将pcie请求从第一端口的第一地址空间映射到第二端口的第二地址空间包括:将pcie请求定位至多个第二地址段中的目标第二地址段;根据多个第二地址段与多个第三地址段之间的关系,将pcie请求从目标第二地址段映射至多个第三地址段中的目标第三地址段。
71.如图2所示,第一pcie交换器为控制器domain a中的pcie switch a,第一端口为在控制器domain a中的ntb虚拟端口,如图3所示,第一地址空间为ntb虚拟端口包含的地址空间,第一地址段为ntb虚拟端口包含第一地址空间中的多个bar地址,每一个第一地址段包含了多个第二地址段,具体包含bar0至barn,每个第二地址空间中包含多个第三地址段,所有第三地址段组成第二地址空间,预设数量的第三地址段组成了外部存储设备的地址段,例如,bar0、bar1和bar2组成了一个外部存储设备的地址段。
72.具体的,将pcie请求定位至控制器domain b的ntb 连接端口中的第二地址段的目标地址段,由于第二地址段和第三地址段之间存在映射关系,则将请求从目标地址段通过第二地址空间进行地址转化,转化为对应的多个第三地址段中的目标第三地址段。
73.可选地,在本技术实施例提供的数据处理方法中,第三地址段与外部存储设备的地址段具有映射关系,通过第一pcie交换器将pcie请求从第二地址空间映射到第二pcie交换器连接的多个外部存储设备中的目标外部存储设备中包括:根据第三地址段与外部存储设备之间的映射关系,将pcie请求从预设数量的目标第三地址段中映射至目标外部存储设备中。
74.如图2所示,第一pcie交换器为控制器domain a中的pcie switch a,第一端口为在控制器domain a中的ntb虚拟端口,第二pcie交换器为控制器domain b中的pcie switch b,第二端口为在控制器domain b中的ntb连接端口,具体的,由于第三地址段中的多个地址段与外部存储设备地址存在映射关系,通过pcie switch a将请求在domain b的ntb 连接端口下的第二地址空间进行地址映射,转化至第三地址段,进而可以将请求映射至目标外部存储设备的地址段中。
75.可选地,在本技术实施例提供的数据处理方法中,在pcie请求为读请求的情况下,在通过第一pcie交换器将pcie请求从第二地址空间映射到第二pcie交换器连接的多个外部存储设备中的目标外部存储设备中之后,该方法还包括: 从目标外部存储设备读取读请求指示的数据。
76.具体的,pcie请求可以为在cpu的配置空间发起的读写请求。当pcie请求为读请求时,通过pcie switch a的ntb虚拟端口将控制器domain a中的读请求从第一地址空间包含的第二地址空间进行地址映射,也即,将读请求的逻辑地址转换为运行时由机器直接寻址的物理地址,并将读请求的某些字段重新封装打包,使得pcie switch a中的地址替换为pcie switch b中连接的多个外部存储设备中的目标外部存储设备的地址,进而使得cpu可
以从目标外部存储设备读取数据。
77.可选地,在本技术实施例提供的数据处理方法中,在pcie请求为写请求的情况下,在通过第一pcie交换器将pcie请求从第二地址空间映射到第二pcie交换器连接的多个外部存储设备中的目标外部存储设备中之后,该方法还包括: 将写请求指示的数据写入目标外部存储设备。
78.具体的,pcie请求可以cpu在配置空间发起的读写请求。当pcie请求为写请求时,通过pcie switch a的ntb虚拟端口将控制器domain a中的写请求从第一地址空间包含的第二地址空间进行地址映射,也即,将写请求的逻辑地址转换为运行时由机器直接寻址的物理地址,并将字段进行重新封装等操作,使得pcie switch a中的地址替换为pcie switch b中连接的多个外部存储设备中的目标外部存储设备的地址,进而使cpu能够向目标外部存储设备写入数据。
79.实施例三本实施例中提供的一种存储装置包含了多个实施单元,每个实施单元对应于上述实施例一中的各个实施步骤。
80.图5是根据本发明实施例的一种数据处理装置的示意图,如图5所示,该装置可以包括:第一接收单元501、第一映射单元502和第二映射单元503。
81.具体地,第一接收单元501,用于通过第一pcie交换器接收中央处理器发出的pcie请求。
82.具体的,图2是根据本发明实施例的一种可选的存储系统结构的示意图,如图2所示,中央处理器为cpu,第一pcie交换器为pcie switch a,pcie请求可以读写请求。
83.第一映射单元502,用于通过第一pcie交换器将pcie请求从第一端口的第一地址空间映射到第二端口的第二地址空间。
84.可选地,在本技术实施例提供的数据处理装置中,该装置还包括第三映射单元,用于在通过第一pcie交换器接收中央处理器发出的pcie之前,通过中央处理器将pcie请求从中央处理器自身的地址空间映射至第一端口的第一地址空间。
85.具体地,中央处理器将pcie请求从自身的地址空间映射至第一端口的第一地址空间,第一pcie交换器再将第一端口的第一地址空间中的pcie请求映射到第二端口的第二地址空间。
86.可选地,在本技术实施例提供的数据处理装置中,中央处理器、第一pcie交换器以及第一端口构成第一存储域,第二pcie交换器、第二端口以及多个外部存储设备构成第二存储域,将pcie请求从第一端口的第一地址空间映射到第二端口的第二地址空间是指将pcie请求从第一存储域转换至第二存储域。
87.如图2所示,domain a为第一地址域,domain b为第二地址域,第一pcie交换器为控制器domain a中的pcie switch a,第一端口为在控制器domain a中的ntb虚拟端口,第一地址空间可以为ntb虚拟端口包含的bar地址段。第二端口为控制器domain b中的ntb 连接端口,第二地址空间可以为ntb 连接端口包含的bar地址段。通过pcie switch a将pcie请求从ntb虚拟端口的bar地址段映射到ntb 连接端口的bar地址段。
88.第二映射单元503,用于通过第二pcie交换器将pcie请求从第二地址空间映射到第二pcie交换器连接的多个外部存储设备中的目标外部存储设备中。
89.如图2所示,第二pcie交换器为控制器domain b中的pcie switch b,多个外部存储设备可以为pcie设备、外部接口卡、固态硬盘等。
90.具体的,通过pcie switch a将cpu发出的pcie请求进行接收,将其地址通过控制器domain a中ntb虚拟端口包含的第一地址空间进行转化,并将地址转化为控制器domain b的ntb 连接端口包含的第二地址空间地址。进一步的,pcie switch b将转化到domain b的ntb 连接端口包含的第二地址空间的pcie请求,通过ntb 连接端口下的第二地址空间进行地址转化,转化为对应的nvme固态硬盘外部存储设备的地址中。
91.本发明实施例的数据处理装置,包括第一接收单元501,用于通过第一pcie交换器接收中央处理器发出的pcie请求;第一映射单元502,用于通过第一pcie交换器将pcie请求从第一端口的第一地址空间映射到第二端口的第二地址空间;第二映射单元503,用于通过第二pcie交换器将pcie请求从第二地址空间映射到第二pcie交换器连接的多个外部存储设备中的目标外部存储设备中。通过设置多个存储域并在不同的存储域的第二端口之间对pcie请求进行地址转换,解决了相关技术中扩展pcie资源的方式需要用增大协议转化开销的技术问题,进而达到了控制器不增加协议转换开销的基础上支持更多的外部存储设备的效果。
92.可选地,在本技术实施例提供的数据处理装置中,第一地址空间中包含多个第一地址段,每个第一地址段包含多个第二地址段,每个第二地址空间中包含多个第三地址段,所有第三地址段位于第二地址空间中,第一映射单元402包括:定位模块,用于将pcie请求定位至多个第二地址段中的目标第二地址段;第一映射模块,用于根据多个第二地址段与多个第三地址段之间的关系,将pcie请求从目标第二地址段映射至多个第三地址段中的目标第三地址段。
93.如图2所示,第一pcie交换器为控制器domain a中的pcie switch a,第一端口为在控制器domain a中的ntb虚拟端口,如图3所示,第一地址空间为ntb虚拟端口包含的地址空间,第一地址段为ntb虚拟端口包含第一地址空间中的多个bar地址,每一个第一地址段包含了多个第二地址段,具体包含bar0至barn,每个第二地址空间中包含多个第三地址段,所有第三地址段组成第二地址空间,预设数量的第三地址段组成了外部存储设备的地址段,例如,bar0、bar1和bar2组成了一个外部存储设备的地址段。
94.具体的,将pcie请求定位至控制器domain b的ntb 连接端口中的第二地址段的目标地址段,由于第二地址段和第三地址段之间存在映射关系,则将请求从目标地址段通过第二地址空间进行地址转化,转化为对应的多个第三地址段中的目标第三地址段。可选地,在本技术实施例提供的数据处理装置中,第三地址段与外部存储设备的地址段具有映射关系,第二映射单元402包括:第二映射模块,用于根据第三地址段与外部存储设备之间的映射关系,将pcie请求从预设数量的目标第三地址段中映射至目标外部存储设备中。
95.如图2所示,第一pcie交换器为控制器domain a中的pcie switch a,第一端口为在控制器domain a中的ntb虚拟端口,第二pcie交换器为控制器domain b中的pcie switch b,第二端口为在控制器domain b中的ntb连接端口,具体的,由于第三地址段中的多个地址段与外部存储设备地址存在映射关系,通过pcie switch a将请求在domain b的ntb 连接端口下的第二地址空间进行地址映射,转化至第三地址段,进而可以将请求映射至目标外部存储设备的地址段中。
96.可选地,在本技术实施例提供的数据处理装置中,该装置还包括:读取单元,用于在pcie请求为读请求的情况下,在通过第一pcie交换器将pcie请求从第二地址空间映射到第二pcie交换器连接的多个外部存储设备中的目标外部存储设备中之后,从目标外部存储设备读取读请求指示的数据。
97.具体的,pcie请求可以为在cpu的配置空间发起的读写请求。当pcie请求为读请求时,通过pcie switch a的ntb虚拟端口将控制器domain a中的读请求从第一地址空间包含的第二地址空间进行地址映射,也即,将读请求的逻辑地址转换为运行时由机器直接寻址的物理地址,并将读请求的某些字段重新封装打包,使得pcie switch a中的地址替换为pcie switch b中连接的多个外部存储设备中的目标外部存储设备的地址,进而使得cpu可以从目标外部存储设备读取数据。
98.可选地,在本技术实施例提供的数据处理装置中,该装置还包括:写入单元,用于在pcie请求为写请求的情况下,在通过第一pcie交换器将pcie请求从第二地址空间映射到第二pcie交换器连接的多个外部存储设备中的目标外部存储设备中之后,将写请求指示的数据写入目标外部存储设备。
99.具体的,pcie请求可以cpu在配置空间发起的读写请求。当pcie请求为写请求时,通过pcie switch a的ntb虚拟端口将控制器domain a中的写请求从第一地址空间包含的第二地址空间进行地址映射,也即,将写请求的逻辑地址转换为运行时由机器直接寻址的物理地址,并将字段进行重新封装等操作,使得pcie switch a中的地址替换为pcie switch b中连接的多个外部存储设备中的目标外部存储设备的地址,进而使cpu能够向目标外部存储设备写入数据。
100.上述的数据处理装置还可以包括处理器和存储器,上述第一接收单元501、第一映射单元502、第二映射单元503等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
101.上述处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来将对比结果发送至目标终端。
102.上述存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram),存储器包括至少一个存储芯片。
103.根据本发明实施例的另一方面,还提供了一种计算机可读存储介质,计算机可读存储介质包括存储的计算机程序,其中,在计算机程序运行时控制计算机可读存储介质所在设备执行上述的数据处理方法。
104.根据本发明实施例的另一方面,还提供了一种电子设备,包括一个或多个处理器和存储器,存储器用于存储一个或多个程序,其中,当一个或多个程序被一个或多个处理器执行时,使得一个或多个处理器实现上述的数据处理方法。
105.上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
106.在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
107.在本技术所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为
一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
108.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
109.另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
110.所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
111.以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献