基于DRAM接口的低延迟融合IO控制方法和装置与流程

文档序号:19906483发布日期:2020-02-11 14:33阅读:245来源:国知局
基于DRAM接口的低延迟融合IO控制方法和装置与流程

本发明实施例涉及服务器设计技术领域,具体涉及一种基于dram接口的低延迟融合io控制方法和装置,另外还涉及一种电子设备和计算机可读存储介质。



背景技术:

近年来,随着网络技术的快速发展,服务器系统的数据访问速度已无法适应当前云计算、大数据以及ai计算的发展需求,导致运营成本的越来越高。因此,如何提高服务器系统的数据访问效率成为本领域亟待解决的技术问题。

数据延迟(latency)是发出请求到获得第一个数据的时间。数据的访问速度是影响计算机性能的重要因素,高速数据的访问主要通过本地存储与网络两种方式实现。其中,硬盘空间是本地存储的主要选择,机械旋转原因导致的数据延迟时间为10毫秒级,与内存空间的访问时间差6个数量级,为此操作系统必须将硬盘空间的访问过程与内存空间的访问分开,以dma(directmemoryaccess,直接内存存取)方式进行。网络访问数据的延迟包含接口协议的基本延迟(物理层与链接层)和管理延迟,由于基本延迟包含了发送与接收的并行转串行,以及数据包的拼接与解析的复杂逻辑,每个基本延迟大概是100纳秒数量级。

网络与硬盘空间外部存储与计算机系统的访问通常采取直接内存访问(dma)方式,较好解决数据延迟的不确定性,dma需占用dram接口的一部分带宽。在中央处理器有两个64位通道的情况下,最大内存带宽通常为51.2gb/s。一个pcie(gen3x4)的硬盘空间其最大带宽高达32gb/s,一个100gbe网卡的最大带宽也超过12gb/s。虽然dma空间很少占用中央处理器的处理时间,但高速io的dma可以占用中央处理器可观的内存访问带宽,在多核(超过8个)的情况下是制约服务器系统效率的重要因素。因此,需要提供一种新型的基于dram接口的低延迟融合io控制方案。



技术实现要素:

为此,本发明实施例提供一种基于dram接口的低延迟融合io控制方法,以解决现有技术中存在的服务器中数据访问延迟较高的问题。

为了实现上述目的,本发明实施例提供如下技术方案:

第一方面,本发明实施例提供一种基于dram接口的低延迟融合io控制方法,包括:基于固态硬盘的物理容量构建中央处理器访问的融合地址空间;所述融合地址空间划分为dram物理空间和扩展地址空间,并将常用的系统数据存储至所述dram物理空间;其中,所述dram物理空间是所述固态硬盘的部分物理容量的直接映射;当所述中央处理器通过预设的融合i/o控制器的dram接口访问融合地址空间时,获得待访问数据所对应的目标地址空间标识;根据预设的地址空间标识和地址空间的映射表,以及所述目标地址空间标识,查找所述中央处理器访问的目标地址空间;其中,所述目标地址空间包括dram物理空间或者扩展地址空间中的至少一个。

进一步的,所述的基于dram接口的低延迟融合io控制方法,还包括:在融合i/o控制器中引入基于i2c总线的中断机制;其中,所述中断机制具体为增加i2c总线主控控制器巡查受控控制器的内存存储模块,当检测到所述内存存储模块存在异常时产生中断信号。

进一步的,所述扩展地址空间为所述中央处理器通过dram接口访问的固态硬盘的地址空间,所述地址空间为直接内存存取空间。

进一步的,dram物理空间为实际的动态随机存取存储器的内存空间。

进一步的,所述融合i/o控制器是指整合所述动态随机存取存储器的内存空间和高速i/o的访问路径的控制器;其中,高速i/o是指所述固态硬盘和以太网控制器的i/o总线接口。

第二方面,本发明实施例还提供一种基于dram接口的低延迟融合io控制装置,包括:融合地址空间单元,用于基于固态硬盘的物理容量构建中央处理器访问的融合地址空间;地址空间划分单元,用于所述融合地址空间划分为dram物理空间和扩展地址空间,并将常用的系统数据存储至所述dram物理空间;其中,所述dram物理空间是所述固态硬盘的部分物理容量的直接映射;目标地址空间查找单元,用于当所述中央处理器通过预设的融合i/o控制器的dram接口访问融合地址空间时,获得待访问数据所对应的目标地址空间标识;根据预设的地址空间标识和地址空间的映射表,以及所述目标地址空间标识,查找所述中央处理器访问的目标地址空间;其中,所述目标地址空间包括dram物理空间或者扩展地址空间中的至少一个。

进一步的,所述的基于dram接口的低延迟融合io控制装置,还包括:中断机制单元,用于在融合i/o控制器中引入基于i2c总线的中断机制;其中,所述中断机制具体为增加i2c总线主控控制器巡查受控控制器的内存存储模块,当检测到所述内存存储模块存在异常时产生中断信号。

进一步的,所述扩展地址空间为所述中央处理器通过dram接口访问的固态硬盘的地址空间,所述地址空间为直接内存存取空间。

进一步的,dram物理空间为实际的动态随机存取存储器的内存空间。

进一步的,所述融合i/o控制器是指整合所述动态随机存取存储器的内存空间和高速i/o的访问路径的控制器;其中,高速i/o是指所述固态硬盘和以太网控制器的i/o总线接口。

第三方面,本发明实施例还提供了一种电子设备,包括:处理器和存储器;其中,所述存储器,用于存储基于dram接口的低延迟融合io控制方法的程序,该电子设备通电并通过所述处理器运行该基于dram接口的低延迟融合io控制方法的程序后,执行上述所述的任意一项所述的基于dram接口的低延迟融合io控制方法。

第四方面,本发明实施例还提供了一种计算机可读存储介质,所述计算机存储介质中包含一个或多个程序指令,所述一个或多个程序指令用于被服务器执行上述基于dram接口的低延迟融合io控制方法中任一项所述的方法。

采用本发明所述的基于dram接口的低延迟融合io控制方法,能够采用双地址空间的方式,提高了数据传输的效率,有效降低服务器中数据访问的延时。

附图说明

为了更清楚地说明本发明的实施方式或现有技术中的技术方案,下面将对实施方式或现有技术描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是示例性的,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图引申获得其它的实施附图。

图1为本发明实施例提供的一种基于dram接口的低延迟融合io控制方法的流程图;

图2为本发明实施例提供的一种基于dram接口的低延迟融合io控制装置的示意图;

图3为本发明实施例提供的一种电子设备的示意图;

图4为现有技术提供的一种常规io系统访问延迟路径示意图;

图5为本发明实施例提供的一种融合io系统访问延迟路径示意图。

具体实施方式

以下由特定的具体实施例说明本发明的实施方式,熟悉此技术的人士可由本说明书所揭露的内容轻易地了解本发明的其他优点及功效,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

在现有技术中,计算机程序通常运行在内存空间,而内存包括存储介质与访问接口两部分,其中,存储介质主体可以是动态存储器(dram,dynamicrandomaccessmemory)等,操作系统可通过dram接口访问动态存储器。由于动态存储器最接近中央处理器,且是并行接口,没有串并转换等额外开销,因此,有10纳秒级的低延迟(即从开始访问到获得第一个数据的时间)。

而操作系统通常存储在固态硬盘或机械盘上,需要调入内存空间中运行,因此,dram接口的速度对操作系统的数据访问性能影响较大。由于dram接口通常有确定的访问时间,且没有中断机制,在需要将固态硬盘和网络数据传送至内存空间时,dram接口有可能需要等待,需要提供相应的控制机制来降低数据访问的延迟。为此,本发明提供一种基于dram接口的低延迟融合io控制方法。

下面基于本发明所述的基于dram接口的低延迟融合io控制方法,对其实施例进行详细描述。如图1所示,其为本发明实施例提供的一种基于dram接口的低延迟融合io控制方法的流程图,具体实现过程包括以下步骤:

步骤s101:基于固态硬盘的物理容量构建中央处理器访问的融合地址空间。

在本发明实施例中,所述的固态硬盘,即服务器中的固态驱动器(solidstatedisk或solidstatedrive,简称ssd)。固态硬盘是用固态电子存储芯片阵列而制成的硬盘,通常由控制单元和存储单元(flash芯片、dram芯片)组成。

所述的中央处理器(cpu,centralprocessingunit)作为计算机系统的运算和控制核心,是数据处理、程序运行的处理单元;其可用于读取指令,解释计算机指令以及处理计算机软件中的数据,对指令译码并执行指令的核心部件。中央处理器主要包括控制器和运算器两个部分,其可通过融合io总线与所述融合地址空间建立数据联系。

步骤s102:所述融合地址空间划分为dram物理空间和扩展地址空间,并将常用的系统数据存储至所述dram物理空间;其中,所述dram物理空间是所述固态硬盘的部分物理容量的直接映射。

在上述步骤s101中构建中央处理器访问的融合地址空间之后,在本步骤中进一步将所述融合地址空间划分为dram物理空间和扩展地址空间。

在本发明实施例中,提出将所述融合地址空间划分为双地址空间(dram物理空间与扩展地址空间)的形式,可将常用的系统数据存于dram物理空间,访问dram物理空间时不需要等待机制。扩展地址空间可融合固态硬盘和高速网络(100gbe,infiniband等),其由于在物理上独立于dram空间,从而在访问扩展地址空间时,对dram物理空间的访问不受影响。

所述的扩展地址空间为所述中央处理器通过dram接口访问的固态硬盘的地址空间,所述地址空间为直接内存存取空间。所述的dram物理空间为实际的动态随机存取存储器的内存空间。

举例而言,中央处理器访问的融合地址空间大小等于固态硬盘的物理容量(比如1tb)。该融合地址空间可被分为两部分,即dram物理空间(例如为32gb)和扩展地址空间(此处为1tb-32gb)。dram物理空间(此处为32gb)是部分固态硬盘的物理容量(即32gb容量)的直接映射,由于dram物理空间是中央处理器实际访问使用的动态存储器空间,因此与正常访问dram相同(不需要等待)。扩展地址空间是通过dram接口访问的固态硬盘地址空间,为dma空间,固态硬盘和高速网络可通过采用直接访问内存方式访问扩展地址空间。

步骤s103:当所述中央处理器通过预设的融合i/o控制器的dram接口访问融合地址空间时,获得待访问数据所对应的目标地址空间标识,根据预设的地址空间标识和地址空间的映射表以及所述目标地址空间标识,查找所述中央处理器访问的目标地址空间;其中,所述目标地址空间包括dram物理空间或者扩展地址空间中的至少一个。

在步骤s102中将所述融合地址空间划分为dram物理空间和扩展地址空间之后,本步骤中获得待访问数据所对应的目标地址空间标识,根据预设的地址空间标识和地址空间的映射表以及所述目标地址空间标识,查找所述中央处理器访问的目标地址空间。

在本发明实施例中,在融合i/o控制器中引入基于i2c总线的中断机制;其中,所述中断机制具体为增加i2c总线主控控制器巡查受控控制器的内存存储模块,当检测到所述内存存储模块存在异常时产生中断信号。

所述的融合i/o控制器是指整合所述动态随机存取存储器的内存空间和高速i/o的访问路径的控制器。其中,高速i/o是指所述固态硬盘和以太网控制器的i/o总线接口。

融合io总线是指整合内存空间(dram)、固态硬盘以及高速网络的高速io的访问路径,通过dram接口进行访问。其中,高速网络可以是指100gbe,也可以是ib(infiniband)等。

如图4和5所示,其分别现有技术中一种常规io系统访问延迟路径示意图和本发明实施例提供的一种融合io系统访问延迟路径示意图。

其中,bwc_max表示中央处理器内核(cpucore)所能获得的最大带宽;bwd_max为dram接口的最大带宽;bwe_max为100gbe接口的最大带宽;bws_max为固态硬盘接口的最大带宽;pciert为pcie的根节点;tp为pcie物理(phy)和链接层(link)的基本延迟;tnet为100gbe物理(phy)和链接层(link)的基本延迟;ts为固态硬盘接口的基本延迟;tm为中央处理器访问dram接口(dimm接口)的基本延迟;tmd为融合io控制器(convergediocontroller)访问dram接口的基本延迟。

如图4所示的采用pcie的常规io系统时,t1(cable-dram)为从缆线连接器到dram接口的延迟时间;t1(nand-dram)为从ssd-nand到dram接口的延迟时间;t1(cable-nand)为从缆线连接器到ssd-nand的延迟时间。

如图5所示的采用本发明公开的融合io控制器时,t2(cable-dram)为从缆线连接器到dimm接口的延迟时间,t2(nand-dram)为从ssd-nand到dimm接口的延迟时间,t2(cable-nand)为从缆线连接器到ssd-nand的延迟时间。从图5中可以看出融合io的延迟时间减少了100ns左右。

在如图4所示的常规pcieio控制器中网络和ssddma的满负荷下(带宽256gb/s),中央处理器内核所能获得的带宽仅为44gb/s,而本申请融合io控制器因为有独立路径,中央处理器内核在dma满负荷情况下仍可得到近400gb/s。

采用本发明所述的基于dram接口的低延迟融合io控制方法,能够采用双地址空间的方式提高了数据传输的效率,有效降低系统的访问延时。

与上述提供的一种基于dram接口的低延迟融合io控制方法相对应,本发明还提供一种基于dram接口的低延迟融合io控制装置。由于该装置的实施例相似于上述方法实施例,所以描述的比较简单,相关之处请参见上述方法实施例部分的说明即可,下面描述的一种基于dram接口的低延迟融合io控制装置的实施例仅是示意性的。请参考图2所示,其为本发明实施例提供的一种基于dram接口的低延迟融合io控制装置的示意图。

本发明所述的一种基于dram接口的低延迟融合io控制装置包括如下部分:

融合地址空间单元201,用于基于固态硬盘的物理容量构建中央处理器访问的融合地址空间。

在本发明实施例中,所述的固态硬盘,即服务器中的固态驱动器(solidstatedisk或solidstatedrive,简称ssd)。固态硬盘是用固态电子存储芯片阵列而制成的硬盘,通常由控制单元和存储单元(flash芯片、dram芯片)组成。所述的中央处理器(cpu,centralprocessingunit)作为计算机系统的运算和控制核心,是数据处理、程序运行的处理单元;其可用于读取指令,解释计算机指令以及处理计算机软件中的数据,对指令译码并执行指令的核心部件。中央处理器主要包括控制器和运算器两个部分,其可通过融合io总线与所述融合地址空间建立数据联系。

地址空间划分单元202,用于所述融合地址空间划分为dram物理空间和扩展地址空间,并将常用的系统数据存储至所述dram物理空间;其中,所述dram物理空间是所述固态硬盘的部分物理容量的直接映射。

在上述融合地址空间单元201中构建中央处理器访问的融合地址空间之后,在地址空间划分单元202中进一步将所述融合地址空间划分为dram物理空间和扩展地址空间。

在本发明实施例中,提出将所述融合地址空间划分为双地址空间(dram物理空间与扩展地址空间)的形式,可将常用的系统数据存于dram物理空间,访问dram物理空间时不需要等待机制。扩展地址空间可融合固态硬盘和高速网络(100gbe,infiniband等),其由于在物理上独立于dram空间,从而在访问扩展地址空间时,对dram物理空间的访问不受影响。

所述的扩展地址空间为所述中央处理器通过dram接口访问的固态硬盘的地址空间,所述地址空间为直接内存存取空间。所述的dram物理空间为实际的动态随机存取存储器的内存空间。

举例而言,中央处理器访问的融合地址空间大小等于固态硬盘的物理容量(比如1tb)。该融合地址空间可被分为两部分,即dram物理空间(例如为32gb)和扩展地址空间(此处为1tb-32gb)。dram物理空间(此处为32gb)是部分固态硬盘的物理容量(即32gb容量)的直接映射,由于dram物理空间是中央处理器实际访问使用的动态存储器空间,因此与正常访问dram相同(不需要等待)。扩展地址空间是通过dram接口访问的固态硬盘地址空间,为dma空间,固态硬盘和高速网络可通过采用直接访问内存方式访问扩展地址空间。

目标地址空间查找单元203,用于当所述中央处理器通过预设的融合i/o控制器的dram接口访问融合地址空间时,获得待访问数据所对应的目标地址空间标识,根据预设的地址空间标识和地址空间的映射表以及所述目标地址空间标识,查找所述中央处理器访问的目标地址空间;其中,所述目标地址空间包括dram物理空间或者扩展地址空间中的至少一个。

在融合地址空间单元201中将所述融合地址空间划分为dram物理空间和扩展地址空间之后,本步骤中获得待访问数据所对应的目标地址空间标识,根据预设的地址空间标识和地址空间的映射表以及所述目标地址空间标识,查找所述中央处理器访问的目标地址空间。

在本发明实施例中,在融合i/o控制器中引入基于i2c总线的中断机制;其中,所述中断机制具体为增加i2c总线主控控制器巡查受控控制器的内存存储模块,当检测到所述内存存储模块存在异常时产生中断信号。

所述的融合i/o控制器是指整合所述动态随机存取存储器的内存空间和高速i/o的访问路径的控制器。其中,高速i/o是指所述固态硬盘和以太网控制器的i/o总线接口。

融合io总线是指整合内存空间(dram)、固态硬盘以及高速网络的高速io的访问路径,通过dram接口进行访问。其中,高速网络可以是指100gbe,也可以是ib(infiniband)等。

采用本发明所述的基于dram接口的低延迟融合io控制装置,能够采用双地址空间的方式提高了数据传输的效率,有效降低系统的访问延时。

与上述提供的基于dram接口的低延迟融合io控制方法相对应,本发明还提供一种电子设备。由于该电子设备的实施例相似于上述方法实施例,所以描述的比较简单,相关之处请参见上述方法实施例部分的说明即可,下面描述的电子设备仅是示意性的。如图3所示,其为本发明实施例提供的一种电子设备的示意图。

该电子设备具体包括:处理器301和存储器302;其中,存储器302用于运行一个或多个程序指令,用于存储基于dram接口的低延迟融合io控制方法的程序,该服务器通电并通过所述处理器301运行该基于dram接口的低延迟融合io控制方法的程序后,执行上述任意一项所述的基于dram接口的低延迟融合io控制方法。本发明所述的电子设备可以是指服务器。

与上述提供的一种基于dram接口的低延迟融合io控制方法相对应,本发明还提供一种计算机存储介质。由于该计算机存储介质的实施例相似于上述方法实施例,所以描述的比较简单,相关之处请参见上述方法实施例部分的说明即可,下面描述的计算机存储介质仅是示意性的。

所述计算机存储介质中包含一个或多个程序指令,所述一个或多个程序指令用于被服务器执行上述所述的基于dram接口的低延迟融合io控制方法。

在本发明实施例中,处理器或处理器模块可以是一种集成电路芯片,具有信号的处理能力。处理器可以是通用处理器、数字信号处理器(digitalsignalprocessor,简称dsp)、专用集成电路(applicationspecificintegratedcircuit,简称asic)、现场可编程门阵列(fieldprogrammablegatearray,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。处理器读取存储介质中的信息,结合其硬件完成上述方法的步骤。

存储介质可以是存储器,例如可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。

其中,非易失性存储器可以是只读存储器(read-onlymemory,简称rom)、可编程只读存储器(programmablerom,简称prom)、可擦除可编程只读存储器(erasableprom,简称eprom)、电可擦除可编程只读存储器(electricallyeprom,简称eeprom)或闪存。

易失性存储器可以是随机存取存储器(randomaccessmemory,简称ram),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的ram可用,例如静态随机存取存储器(staticram,简称sram)、动态随机存取存储器(dynamicram,简称dram)、同步动态随机存取存储器(synchronousdram,简称sdram)、双倍数据速率同步动态随机存取存储器(doubledataratesdram,简称ddrsdram)、增强型同步动态随机存取存储器(enhancedsdram,简称esdram)、同步连接动态随机存取存储器(synchlinkdram,简称sldram)和直接内存总线随机存取存储器(directrambusram,简称drram)。

本发明实施例描述的存储介质旨在包括但不限于这些和任意其它适合类型的存储器。

本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件与软件组合来实现。当应用软件时,可以将相应功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。

以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1