数据处理系统、方法、装置以及电子设备制造方法及图纸

技术编号:29788418 阅读:13 留言:0更新日期:2021-08-24 18:06
本申请实施例提供一种数据处理系统,其中,NVMe桥设备只负责处理数据处理命令以及转发处理数据访问请求信息,即:NVMe桥设备中的映射模块用于对第一数据处理命令中包含的第一地址空间信息进行映射,获得包含第二地址空间信息的第二数据处理命令;并将第二数据处理命令提供给NVMe系统设备。以及,代理模块用于接收第一请求信息,根据第一请求信息修改第二地址空间信息,获得用于访问主机设备中数据的目标地址空间信息,并基于目标地址空间信息在主机设备中进行数据访问;以及在进行数据访问之后,将数据访问返回结果提供给NVMe系统设备。使得NVMe桥设备无需缓存主机或者NVMe系统设备中的数据,从而降低延时问题,以及降低额外的功耗,从而节省资源。

【技术实现步骤摘要】
数据处理系统、方法、装置以及电子设备
本申请涉及计算机
,具体涉及数据处理系统、方法、装置以及电子设备,同时还涉及一种计算机存储介质。
技术介绍
近年来随着信息技术的发展,在数据存储领域,NVMe(Non-VolatileMemoryexpress,即:非易失性内存主机控制器接口规范)硬盘的使用量不断增大。相比于传统的机械硬盘而言,在带宽与延时性能方面,NVMe硬盘具有很大提升。一般而言,NVMe硬盘延时在100us(微秒)以下。然而,在云计算场景中,由于NVMe硬盘可运维性较差,需要在主机设备与NVMe硬盘之间引入NVMe桥设备解决云计算场景中NVMe硬盘可运维性差的问题。在现有的NVMe桥设备中,需要将主机设备的地址空间映射到NVMe桥设备的内存空间,同时还需要NVMe桥设备将主机设备内存空间中的命令、地址以及数据也缓存到NVMe桥设备的内存空间,以便于NVMe硬盘从NVMe桥设备的内存空间获取命令、地址以及数据。因此,在NVMe硬盘访问主机设备时,需要从NVMe桥设备的内存空间进行命令、地址以及数据的拷贝,这样会产生额外的延时,而这种额外延时对NVMe硬盘的性能会产生较大影响。同时,由于NVMe桥设备需要大量内存,也会导致额外的功耗,从而造成资源浪费。
技术实现思路
本申请实施例提供一种数据处理系统,用以解决现有技术中的使用NVMe桥设备在NVMe硬盘与主机设备之间进行数据访问时,造成的延时问题。同时降低额外的功耗,从而节省资源。本申请实施例提供一种数据处理系统,包括:主机设备、NVMe系统设备以及NVMe桥设备;所述NVMe桥设备包括映射模块与代理模块;所述映射模块,具体用于接收所述主机设备发送的第一数据处理命令,对所述第一数据处理命令中包含的第一地址空间信息进行映射,获得包含第二地址空间信息的第二数据处理命令,并将所述第二数据处理命令提供给所述NVMe系统设备;其中,所述第二地址空间信息为所述第一地址空间信息经过上述映射获得的地址空间信息;所述第一地址空间信息为所述主机设备的物理地址空间信息;所述NVMe系统设备,用于接收所述第二数据处理命令,并基于所述第二数据处理命令向所述代理模块发出访问所述主机设备中数据的第一请求信息;所述代理模块,用于接收所述第一请求信息,根据所述第一请求信息修改所述第二地址空间信息,获得用于访问所述主机设备中数据的目标地址空间信息,并基于所述目标地址空间信息在所述主机设备中进行数据访问;以及在进行数据访问之后,将数据访问返回结果提供给所述NVMe系统设备。可选的,所述代理模块还用于:接收所述NVMe系统设备访问所述NVMe桥设备内存空间的第二请求信息;其中,所述第二请求信息是指所述NVMe系统设备用于访问所述NVMe桥设备内存空间中的缓存命令的请求信息。可选的,所述代理模块在接收所述NVMe系统设备发出的请求信息后,判断所述请求信息为所述第一请求信息还是所述第二请求信息;如果所述请求信息为所述第一请求信息,则将所述请求信息转发至所述主机设备,以访问所述主机设备内存空间中的数据;否则,则将所述请求信息转发至所述NVMe桥设备,以访问所述NVMe桥设备内存空间中的缓存命令。可选的,所述第一数据处理命令是指存储在所述主机设备中涉及数据访问的提交队列命令;所述映射模块接收所述主机设备发送的第一数据处理命令,对所述第一数据处理命令中包含的第一地址空间信息进行映射,获得包含第二地址空间信息的第二数据处理命令,包括:接收所述主机设备发送的所述提交队列命令;对所述提交队列命令中涉及的第一地址空间信息进行映射,获得包含第二地址空间信息的第二数据处理命令。可选的,所述对所述第一数据处理命令中包含的第一地址空间信息进行映射,获得包含第二地址空间信息的第二数据处理命令,包括:获得所述提交队列命令中涉及的第一地址空间信息;对所述提交队列命令中涉及的第一地址空间信息对应的物理地址区域字段信息进行修改,获得修改后的地址区域字段信息;将包含所述修改后的地址区域字段信息的命令作为所述包含第二地址空间信息的第二数据处理命令。可选的,在对所述提交队列命令中涉及的第一地址空间信息对应的物理地址区域字段信息进行修改之前,所述NVMe桥设备判断所述第一地址空间信息是否为物理区域页面输入信息,并将判断结果提供给所述映射模块;如果所述判断结果为所述第一地址空间信息为物理区域页面输入信息,所述对所述提交队列命令中涉及的第一地址空间信息对应的物理地址区域字段信息进行修改,包括:对所述物理地址区域字段信息的部分位域进行取零赋值;如果所述判断结果为所述第一地址空间信息不是物理区域页面输入信息,所述对所述提交队列命令中涉及的第一地址空间信息对应的物理地址区域字段信息进行修改,包括:对所述物理地址区域字段信息的部分位域进行非零赋值。可选的,所述代理模块根据所述第一请求信息修改所述第二地址空间信息,获得用于访问所述主机设备中数据的目标地址空间信息,包括:所述代理模块判断所述部分位域的赋值结果是否为非零赋值;如果所述赋值结果不是非零赋值,根据预设的物理通道/虚拟通道的映射表修改页内偏移信息,将修改后的页内偏移信息确认为所述目标地址空间信息;否则,根据预设的物理通道/虚拟通道的映射表修改页内偏移信息,并记录用于访问所述主机设备的标签信息、所述部分位域的标识信息与非零赋值对应的值;将修改后的页内偏移信息、所述标签信息、所述部分位域的标识信息与非零赋值对应的值确认为所述目标地址空间信息。可选的,所述在进行数据访问之后,将数据访问返回结果提供给所述NVMe系统设备,包括:获得所述主机设备返回的针对所述第一请求信息的数据访问返回结果;判断所述数据访问返回结果是最终需要访问的数据还是中间地址信息,其中,所述中间地址信息是指需要所述NVMe系统设备再次发出第一请求信息的返回结果;如果所述数据访问返回结果是最终需要访问的数据,则将所述最终需要访问的数据直接提供给所述NVMe系统设备,以供所述NVMe系统设备对所述最终需要访问的数据进行存储;如果所述数据访问返回结果是中间地址信息,则针对所述中间地址信息进行修改,并将修改后的中间地址信息提供给所述NVMe系统设备,以供所述NVMe系统设备再次发出第一请求信息。可选的,所述针对所述中间地址信息进行修改,并将修改后的中间地址信息提供给所述NVMe系统设备,包括:判断所述中间地址信息是否是物理区域页面的最后一个地址;如果所述中间地址信息不是所述物理区域页面的最后一个地址,对所述中间地址信息的部分位域进行取零赋值,获得修改后的中间地址信息;将所述修改后的中间地址信息提供给所述NVMe系统设备;如果所述中间地址信息是所述物理区域页面的最后一个地址,对所述中间地址信息的部分位域进行取所述非零赋值对应的值减去1赋值,获得修改后的中间地址信息;将所述修改后的中间地址信息提供给所述NVMe系统本文档来自技高网...

【技术保护点】
1.一种数据处理系统,其特征在于,包括:主机设备、NVMe系统设备以及NVMe桥设备;所述NVMe桥设备包括映射模块与代理模块;/n所述映射模块,具体用于接收所述主机设备发送的第一数据处理命令,对所述第一数据处理命令中包含的第一地址空间信息进行映射,获得包含第二地址空间信息的第二数据处理命令,并将所述第二数据处理命令提供给所述NVMe系统设备;其中,所述第二地址空间信息为所述第一地址空间信息经过上述映射获得的地址空间信息;所述第一地址空间信息为所述主机设备的物理地址空间信息;/n所述NVMe系统设备,用于接收所述第二数据处理命令,并基于所述第二数据处理命令向所述代理模块发出访问所述主机设备中数据的第一请求信息;/n所述代理模块,用于接收所述第一请求信息,根据所述第一请求信息修改所述第二地址空间信息,获得用于访问所述主机设备中数据的目标地址空间信息,并基于所述目标地址空间信息在所述主机设备中进行数据访问;以及在进行数据访问之后,将数据访问返回结果提供给所述NVMe系统设备。/n

【技术特征摘要】
1.一种数据处理系统,其特征在于,包括:主机设备、NVMe系统设备以及NVMe桥设备;所述NVMe桥设备包括映射模块与代理模块;
所述映射模块,具体用于接收所述主机设备发送的第一数据处理命令,对所述第一数据处理命令中包含的第一地址空间信息进行映射,获得包含第二地址空间信息的第二数据处理命令,并将所述第二数据处理命令提供给所述NVMe系统设备;其中,所述第二地址空间信息为所述第一地址空间信息经过上述映射获得的地址空间信息;所述第一地址空间信息为所述主机设备的物理地址空间信息;
所述NVMe系统设备,用于接收所述第二数据处理命令,并基于所述第二数据处理命令向所述代理模块发出访问所述主机设备中数据的第一请求信息;
所述代理模块,用于接收所述第一请求信息,根据所述第一请求信息修改所述第二地址空间信息,获得用于访问所述主机设备中数据的目标地址空间信息,并基于所述目标地址空间信息在所述主机设备中进行数据访问;以及在进行数据访问之后,将数据访问返回结果提供给所述NVMe系统设备。


2.根据权利要求1所述的系统,其特征在于,所述代理模块还用于:接收所述NVMe系统设备访问所述NVMe桥设备内存空间的第二请求信息;其中,所述第二请求信息是指所述NVMe系统设备用于访问所述NVMe桥设备内存空间中的缓存命令的请求信息。


3.根据权利要求2所述的系统,其特征在于,所述代理模块在接收所述NVMe系统设备发出的请求信息后,判断所述请求信息为所述第一请求信息还是所述第二请求信息;
如果所述请求信息为所述第一请求信息,则将所述请求信息转发至所述主机设备,以访问所述主机设备内存空间中的数据;否则,则将所述请求信息转发至所述NVMe桥设备,以访问所述NVMe桥设备内存空间中的缓存命令。


4.根据权利要求1所述的系统,其特征在于,所述第一数据处理命令是指存储在所述主机设备中涉及数据访问的提交队列命令;
所述映射模块接收所述主机设备发送的第一数据处理命令,对所述第一数据处理命令中包含的第一地址空间信息进行映射,获得包含第二地址空间信息的第二数据处理命令,包括:
接收所述主机设备发送的所述提交队列命令;
对所述提交队列命令中涉及的第一地址空间信息进行映射,获得包含第二地址空间信息的第二数据处理命令。


5.根据权利要求4所述的系统,其特征在于,所述对所述第一数据处理命令中包含的第一地址空间信息进行映射,获得包含第二地址空间信息的第二数据处理命令,包括:
获得所述提交队列命令中涉及的第一地址空间信息;
对所述提交队列命令中涉及的第一地址空间信息对应的物理地址区域字段信息进行修改,获得修改后的地址区域字段信息;将包含所述修改后的地址区域字段信息的命令作为所述包含第二地址空间信息的第二数据处理命令。


6.根据权利要求5所述的系统,其特征在于,在对所述提交队列命令中涉及的第一地址空间信息对应的物理地址区域字段信息进行修改之前,所述NVMe桥设备判断所述第一地址空间信息是否为物理区域页面输入信息,并将判断结果提供给所述映射模块;
如果所述判断结果为所述第一地址空间信息为物理区域页面输入信息,所述对所述提交队列命令中涉及的第一地址空间信息对应的物理地址区域字段信息进行修改,包括:对所述物理地址区域字段信息的部分位域进行取零赋值;
如果所述判断结果为所述第一地址空间信息不是物理区域页面输入信息,所述对所述提交队列命令中涉及的第一地址空间信息对应的物理地址区域字段信息进行修改,包括:对所述物理地址区域字段信息的部分位域进行非零赋值。


7.根据权利要求6所述的系统,其特征在于,所述代理模块根据所述第一请求信息修改所述第二地址空间信息,获得用于访问所述主机设备中数据的目标地址空间信息,包括:
所述代理模块判断所述部分位域的赋值结果是否为非零赋值;
如果所述赋值结果不是非零赋值,根据预设的物理通道/虚拟通道的映射表修改页内偏移信息,将修改后的页内偏移信息确认为所述目标地址空间信息;
否则,根据预设的物理通道/虚拟通道的映射表修改页内偏移信息,并记录用于访问所述主机设备的标签信息、所述部分位域的标识信息与非零赋值对应的值;将修改后的页内偏移信息、所述标签信息、所述部分位域的标识信息与非零赋值对应的值确认为所述目标地址空间信息。


8.根据权利要求7所述的系统,其特征在于,所述在进行数据访问之后,将数据访问返回结果提供给所述NVMe系统设备,包括:
获得所述主机设备返回的针对所述第一请求信息的数据访问返回结果;
判断所述数据访问返回结果是最终需要访问的数据还是中间地址信息,其中,所述中间地址信息是指需要所述NVMe系统设备再次发出第一请求信息的返回结果;
如果所述数据访问返回结果是最终需要访问的数据,则将所述最终需要访问的数据直接提供给所述NVMe系统设备,以供所述NVMe系统设备对所述最终需要访问的数据进行存储;
如果所述数据访问返回结果是中间地址信息,则针对所述中间地址信息进行修改,并将修改后的中间地址信息提供给所述NVMe系统设备,以供所述NVMe系统设备再次发出第一请求信息。


9.根据权利要求8所述的系统,其特征在于,所述针对所述中间地址信息进行修改,并将修改后的中间地址信息提供给所述NVMe系统设备,包括:
判断所述中间地址信息是否是物理区域页面的最后一个地址;
如果所述中间地址信息不是所述物理区域页面的最后一个地址,对所述中间地址信息的部分位域进行取零赋值,获得修改后的中间地址信息;将所述修改后的中间地址信息提供给所述NVMe系统设备;
如果所述中间地址信息是所述物理区域页面的最后一个地址,对所述中间地址信息的部分位域进行取所述非零赋值对应的值减去1赋值,获得修改后的中间地址信息;将所述修改后的中间地址信息提供给所述NVMe系统设备。


10.根据权利要求4所述的系统,其特征在于,所述映射模块在对所述提交队列命令中涉及的第一地址空间信息进行映射后,将所述第二地址空间信息缓存在所述NVMe桥设备内存空间内。


11.根据权利要求4所述的系统,其特征在于,所述映射模块还用于获得所述主机设备发送的数据缓存地址空间,对所述数据缓存地址空间进行映射,并将映射后的数据缓存地址空间提供给所述主机设备,以供在所述主机设备内存空间内缓存所述映射后的数据缓存地址空间。


12.根据权利要求1所述的系统,其特征在于,所述NVMe桥设备还包括转接模块;所述转接模块用于连接所述主机设备与所述NVMe桥设备,以在所述主机设备与所述NVMe桥设备之间转发数据处理命令、数据访问请求信息。


13.一种数据处理方法,其特征在于,包括:
接收主机设备发送的第一数据处理命令;
对所述第一数据处理命令中包含的第一地址空间信息进行映射,获得包含第二地址空间信息的第二数据处理命令,并将所述第二数据处理命令提供给NVMe系统设备;
其中,所述第二地址空间信息为所述第一地址空间信息经过上述映射获得的地址空间信息;所述第一地址空间信息为所述主机设备的物理地址空间信息。


14.根据权利要求13所述的方法,其特征在于,所述第一数据处理命令是指存储在所述主机设...

【专利技术属性】
技术研发人员:方兴黄子龙吕涛陈继承李志超
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛;KY

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1