本申请提供一种数据传输方法及装置,方法包括:DMA控制器接收PCIE设备发送的数据传输请求;根据数据传输请求携带的第二存储空间的基地址从存储器中获取第三存储空间的基地址;根据第三存储空间的基地址和数据传输请求携带的读写标识向所述存储器中的第三存储空间读或者写数据。本申请不经过CPU的直接控制,即可通过DMA控制器实现PCIE设备与存储器的数据传输,将CPU解放出来以用于进行其它处理,进而提高了数据传输效率。此外,PCIE设备与存储器之间是通过携带有可DMA的第二存储空间的基地址的数据传输请求实现的数据传输过程,并不涉及PCIE总线地址与存储空间内存地址的映射转换,因此可进一步提高数据传输效率。
【技术实现步骤摘要】
数据传输方法及装置
本申请涉及通信
,尤其涉及一种数据传输方法及装置。
技术介绍
在目前的存储系统中,通常采用PCIE(PeripheralComponentInterconnectExpress,高速外围组件互连)总线结构实现存储器与外围设备的数据传输,该PCIE总线结构由RC(RootComplex,根组件)侧与EP(EndPoint,端点)侧组成,其中,RC侧由CPU(CentralProcessingUnit,中央处理器)和存储器组成,EP侧由各个外围设备(例如,网卡、显卡等设备)组成,这些外围设备可以统称为PCIE设备。CPU在加载PCIE驱动时,在存储器中会为每个PCIE设备分配一段存储空间,用于存储数据,由于访问该段存储空间的地址实际为内存地址,而PCIE设备与CPU之间是通过PCIE总线地址进行交互,因此CPU在接收到PCIE设备发送的写请求或读请求时,需要将写请求或读请求携带的PCIE总线地址通过预设映射算法转换为对应的存储空间的内存地址,然后才可利用该内存地址向存储器写或读数据。然而,CPU除了处理PCIE设备与存储器之间的数据传输,还需要进行其它处理,在PCIE设备与存储器之间传输的数据增大时,会严重影响CPU的处理性能,从而导致数据传输效率降低。
技术实现思路
有鉴于此,本申请提供一种数据传输方法及装置,以解决现有数据传输方式会严重影响CPU的处理性能,导致数据传输效率降低的问题。根据本申请实施例的第一方面,提供一种数据传输方法,所述方法应用于DMA控制器,所述DMA控制器分别与RC侧的存储器和EP侧的PCIE设备连接,所述存储器包括第一存储空间、可DMA的第二存储空间以及用于存储数据的第三存储空间,其中,所述第一存储空间与所述PCIE设备中相互对应的存储空间中存储有第二存储空间的基地址,所述第二存储空间中至少存储有第三存储空间的基地址,所述方法包括:接收所述PCIE设备发送的数据传输请求;根据所述数据传输请求携带的第二存储空间的基地址从所述第二存储空间中获取第三存储空间的基地址;根据所述第三存储空间的基地址和所述数据传输请求携带的读写标识向所述存储器中的第三存储空间读或者写数据。可选的,所述根据所述第三存储空间的基地址和所述数据传输请求携带的读写标识向所述存储器中的第三存储空间读或者写数据,可包括:若所述读写标识为读标识,则从所述第二存储空间中获取地址偏移值;读取所述第三存储空间的基地址中的数据,并根据所述第三存储空间的基地址与地址偏移值读取相应偏移位置上的数据;将读取到的数据发送至所述PCIE设备;若所述读写标识为写标识,则根据所述数据传输请求携带的数据存放地址从所述PCIE设备中获取数据,并将获取到的数据从所述第三存储空间的基地址开始写入所述存储器中的第三存储空间。可选的,在将读取到的数据发送至所述PCIE设备之后,所述方法还可包括:将所述存储器中的第二存储空间的第一标志位清除,以使RC侧的CPU在检测到所述存储器中的第二存储空间的第一标志位被清除时,释放所述第三存储空间;其中,RC侧的CPU在将所述数据写入所述存储器的第三存储空间之后,为第二存储空间设置第一标志位。可选的,在将获取到的数据从所述第三存储空间的基地址开始写入所述存储器中的第三存储空间之后,所述方法还可包括:为所述存储器中的第二存储空间设置第二标志位,以使RC侧的CPU在检测到所述存储器中的第二存储空间设置有第二标志位时,从所述第三存储空间中读取数据,并释放所述第三存储空间。根据本申请实施例的第二方面,提供一种数据传输装置,所述装置应用于DMA控制器,所述DMA控制器分别与RC侧的存储器和EP侧的PCIE设备连接,所述存储器包括第一存储空间、可DMA的第二存储空间以及用于存储数据的第三存储空间,其中,所述第一存储空间与所述PCIE设备中相互对应的存储空间中存储有第二存储空间的基地址,所述第二存储空间中至少存储有第三存储空间的基地址,所述装置包括:接收模块,用于接收所述PCIE设备发送的数据传输请求;获取模块,用于根据所述数据传输请求携带的第二存储空间的基地址从所述第二存储空间中获取第三存储空间的基地址;读写模块,用于根据所述第三存储空间的基地址和所述数据传输请求携带的读写标识向所述存储器中的第三存储空间读或者写数据。可选的,所述读写模块,可具体用于若所述读写标识为读标识,则从所述第二存储空间中获取地址偏移值;读取所述第三存储空间的基地址中的数据,并根据所述第三存储空间的基地址与地址偏移值读取相应偏移位置上的数据;将读取到的数据发送至所述PCIE设备;若所述读写标识为写标识,则根据所述数据传输请求携带的数据存放地址从所述PCIE设备中获取数据,并将获取到的数据从所述第三存储空间的基地址开始写入所述存储器中的第三存储空间。可选的,所述装置还可包括:清除模块,用于在所述读写模块将读取到的数据发送至所述PCIE设备之后,将所述存储器中的第二存储空间的第一标志位清除,以使RC侧的CPU在检测到所述存储器中的第二存储空间的第一标志位被清除时,释放所述第三存储空间;其中,RC侧的CPU在将所述数据写入所述存储器的第三存储空间之后,为第二存储空间设置第一标志位。可选的,所述装置还可包括:设置模块,用于在所述读写模块将获取到的数据从所述第三存储空间的基地址开始写入所述存储器中的第三存储空间之后,为所述存储器中的第二存储空间设置第二标志位,以使RC侧的CPU在检测到所述存储器中的第二存储空间设置有第二标志位时,从所述第三存储空间中读取数据,并释放所述第三存储空间。应用本申请实施例,DMA控制器在接收到EP侧的PCIE设备发送的数据传输请求时,可以根据数据传输请求携带的第二存储空间的基地址从RC侧的存储器中的第二存储空间获取第三存储空间的基地址,然后根据该第三存储空间的基地址和该数据传输请求携带的读写标识能够向存储器中的第三存储空间读或者写数据。基于上述实现方式,本专利技术技术方案不需要经过RC侧的CPU的直接控制,即可通过DMA控制器实现EP侧的PCIE设备与RC侧的存储器之间的数据传输,从而将CPU解放出来,以用于进行其它处理,从而提高了CPU的处理性能,进而也提高了数据传输的效率。此外,PCIE设备与存储器之间是通过携带有可DMA的第二存储空间的基地址的数据传输请求实现的数据传输过程,并不涉及PCIE总线地址与存储空间的内存地址的映射转换,因此可以进一步提高数据传输效率。附图说明图1为本申请根据一示例性实施例示出的一种数据传输结构图;图2A为本申请根据一示例性实施例示出的一种数据传输方法的实施例流程图;图2B为本申请根据图2A所示实施例示出的一种存储器包括的存储空间示意图;图3为本申请根据一示例性实施例示出的一种DMA控制器的硬件结构图;图4为本申请根据一示例性实施例示出的一种数据传输装置的实施例结构图。具体实施方式这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。在本申请本文档来自技高网...
【技术保护点】
一种数据传输方法,其特征在于,所述方法应用于直接存储器存储DMA控制器,所述DMA控制器分别与RC侧的存储器和EP侧的PCIE设备连接,所述存储器包括第一存储空间、可DMA的第二存储空间以及用于存储数据的第三存储空间,其中,所述第一存储空间与所述PCIE设备中相互对应的存储空间中存储有第二存储空间的基地址,所述第二存储空间中至少存储有第三存储空间的基地址,所述方法包括:接收所述PCIE设备发送的数据传输请求;根据所述数据传输请求携带的第二存储空间的基地址从所述第二存储空间中获取第三存储空间的基地址;根据所述第三存储空间的基地址和所述数据传输请求携带的读写标识向所述存储器中的第三存储空间读或者写数据。
【技术特征摘要】
1.一种数据传输方法,其特征在于,所述方法应用于直接存储器存储DMA控制器,所述DMA控制器分别与RC侧的存储器和EP侧的PCIE设备连接,所述存储器包括第一存储空间、可DMA的第二存储空间以及用于存储数据的第三存储空间,其中,所述第一存储空间与所述PCIE设备中相互对应的存储空间中存储有第二存储空间的基地址,所述第二存储空间中至少存储有第三存储空间的基地址,所述方法包括:接收所述PCIE设备发送的数据传输请求;根据所述数据传输请求携带的第二存储空间的基地址从所述第二存储空间中获取第三存储空间的基地址;根据所述第三存储空间的基地址和所述数据传输请求携带的读写标识向所述存储器中的第三存储空间读或者写数据。2.根据权利要求1所述的方法,其特征在于,所述根据所述第三存储空间的基地址和所述数据传输请求携带的读写标识向所述存储器中的第三存储空间读或者写数据,包括:若所述读写标识为读标识,则从所述第二存储空间中获取地址偏移值;读取所述第三存储空间的基地址中的数据,并根据所述第三存储空间的基地址与所述地址偏移值读取相应偏移位置上的数据;将读取到的数据发送至所述PCIE设备;若所述读写标识为写标识,则根据所述数据传输请求携带的数据存放地址从所述PCIE设备中获取数据,并将获取到的数据从所述第三存储空间的基地址开始写入所述存储器中的第三存储空间。3.根据权利要求2所述的方法,其特征在于,所述将读取到的数据发送至所述PCIE设备之后,所述方法还包括:将所述存储器中的第二存储空间的第一标志位清除,以使RC侧的CPU在检测到所述存储器中的第二存储空间的第一标志位被清除时,释放所述第三存储空间;其中,RC侧的CPU在将所述数据写入所述存储器的第三存储空间之后,为第二存储空间设置第一标志位。4.根据权利要求2所述的方法,其特征在于,所述将获取到的数据从所述第三存储空间的基地址开始写入所述存储器中的第三存储空间之后,所述方法还包括:为所述存储器中的第二存储空间设置第二标志位,以使RC侧的CPU在检测到所述存储器中的第二存储空间设置有第二标志位时,从所述第三存储空间中读取数据,并释放所述第三存储空间。...
【专利技术属性】
技术研发人员:刘霄霄,
申请(专利权)人:北京腾凌科技有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。