存储空间的写入加速方法、装置和系统制造方法及图纸

技术编号:14850900 阅读:66 留言:0更新日期:2017-03-18 13:28
本发明专利技术提供一种存储空间的写入加速方法、装置和系统。该方法包括:连续接收存储指令对应的数据,将各存储指令对应的数据存储至第一UABE中,直至第一UABE存满后,将第一UABE中的数据存储至存储空间;将未存储至第一UABE中的各存储指令对应的数据存储至第二UABE中,直至第二UABE存满后,将第二UABE中的数据存储至存储空间;重复执行上述两个过程,直至所有存储指令对应的数据写入存储空间。本发明专利技术提供的存储空间的写入加速方法、装置和系统可显著提高存储空间的写入速度。

【技术实现步骤摘要】

本专利技术涉及多核处理器,尤其涉及一种存储空间的写入加速方法、装置和系统
技术介绍
现代计算机的系统架构中普遍配置了图形处理器(GraphicProcessingUnit,简称GPU)、GPU存储空间及存在大容量存储空间的I/O设备,访问GPU存储空间及I/O设备的存储空间会发生大量的数据拷贝操作。现有技术中,访问和配置GPU存储空间、I/O设备的存储空间时,通常通过硬件维护数据一致性的数据总线进行数据交互,在普通的无缓存(uncache)访问方式下,如果对一段连续的存储空间进行写访问,则每条提交队列中的存储(store)指令都需要等收到写操作完成的写完成(commit)信号后才能提交。例如,第二存储指令必须等到收到第一存储指令的写操作完成的写完成信号后才能执行,即,连续的存储指令操作开销等于一条存储指令的开销乘以存储指令数,很明显连续的无缓存写入开销会很大,因而速度较慢,访问性能较低。
技术实现思路
本专利技术提供一种存储空间的写入加速方法、装置和系统,用以解决连续存储指令需等待写完成信号,而造成的写入速度慢及访问性能低的问题。本专利技术实施例第一方面提供一种存储空间的写入加速方法,包括:连续接收存储指令对应的数据,将各所述存储指令对应的数据存储至第一无缓存加速缓冲接口UABE中,直至所述第一UABE存满后,将所述第一UABE中的数据存储至存储空间;将未存储至所述第一UABE中的各所述存储指令对应的数据存储至第二UABE中,直至所述第二UABE存满后,将所述第二UABE中的数据存储至所述存储空间;重复执行上述两个过程,直至所有存储指令对应的数据写入所述存储空间。本专利技术实施例第二方面提供一种存储空间的写入加速方法,包括:步骤一、连续接收存储指令对应的数据,将各所述存储指令对应的数据存储至第一UABE中,直至所述第一UABE存满;步骤二、将所述第一UABE中的数据存储至所述存储空间;步骤三、将未存储至所述第一UABE中的各所述存储指令对应的数据存储至第nUABE中,直至所述第nUABE存满;步骤四、将所述第nUABE中的数据存储至所述存储空间;步骤五、将未存储至所述第nUABE中的各所述存储指令对应的数据存储至第n+1UABE中,直至所述第n+1UABE存满;步骤六、将所述第n+1UABE中的数据存储至所述存储空间;步骤七、重复执行步骤五和步骤六,且在重复执行的步骤五之前将n的取值加1,直至N个UABE均存储过数据,n的初始值为2;N为大于等于3的正整数;重复执行步骤一至步骤七,直至所有存储指令对应的数据写入所述存储空间。本专利技术实施例第三方面提供一种存储空间的写入加速装置,包括:第一接收模块,用于连续接收存储指令对应的数据,将各所述存储指令对应的数据存储至第一UABE中,直至第一UABE存满;第一发送模块,用于将所述第一UABE中的数据存储至所述存储空间;第二接收模块,用于将未存储至所述第一UABE中的各所述存储指令对应的数据存储至第二UABE中,直至所述第二UABE存满;第二发送模块,用于将所述第二UABE中的数据存储至所述存储空间;所述第一接收模块、第一发送模块、第二接收模块和第二发送模块重复工作,直至所有存储指令对应的数据写入所述存储空间。本专利技术实施例第四方面提供一种存储空间的写入加速装置,包括:第一接收模块,用于连续接收存储指令对应的数据,将各所述存储指令对应的数据存储至第一UABE中,直至第一UABE存满;第一发送模块,用于将所述第一UABE中的数据存储至所述存储空间;第n接收模块,用于将未存储至所述第一UABE中的各所述存储指令对应的数据存储至第nUABE中,直至所述第nUABE存满;第n发送模块,用于将所述第nUABE中的数据存储至所述存储空间;其中,n为大于2且小于N的所有正整数;N为大于等于3的正整数;所述第一接收模块、第一发送模块至第N接收模块和第N发送模块重复工作,直至所有存储指令对应的数据写入所述存储空间。本专利技术实施例第五方面提供一种存储空间的写入加速系统,包括存储空间的写入加速装置、存储空间、第一UABE和第二UABE;所述存储空间的写入加速装置,用于连续接收存储指令对应的数据,将各所述存储指令对应的数据存储至所述第一UABE或所述第二UABE中;当所述第一UABE或所述第二UABE存满时,将所述第一UABE或第二UABE中的数据存储至所述存储空间。本专利技术实施例提供的存储空间的写入加速方法、装置和系统,将连续存储指令对应的数据先后轮流存储至两个UABE中,当一个UABE存满时,将其中的数据统一发送至存储空间,并开始存另一个UABE,当另一个UABE存满时,可再次利用已经将数据发送至存储空间的空的UABE进行数据存储,通过轮流将数据存储在两个UABE中,可避免因等待存储空间返回的写完成信号而导致的写入速度慢、开销大的问题,达到提高存储空间的写入速度的目的。附图说明为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术存储空间的写入加速系统实施例一的结构示意图;图2为本专利技术存储空间的写入加速方法实施例一的流程图;图3为本专利技术存储空间的写入加速方法实施例二的流程图;图4为本专利技术存储空间的写入加速方法实施例二的应用场景示意图;图5为本专利技术存储空间的写入加速方法实施例三的流程图;图6为本专利技术存储空间的写入加速方法实施例四的流程图;图7为本专利技术存储空间的写入加速装置实施例的流程图。具体实施方式为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。图1为本专利技术存储空间的写入加速系统实施例一的结构示意图。如图1所示,本专利技术提供的系统包括:能够实现加速存储空间写入速度的装置、存储空间、第一UABE和第二UABE。该能够实现加速存储空间写入速度的装置连续接收存储指令对应的数据,将各存储指令对应的数据存储至第一UABE或第二UABE中;当第一UABE或第二UABE存满时,该装置将第一UABE或第二UABE中的数据存储至存储空间。其中,该加速空间写入速度的装置可以安装到GPU上。图1所示的结构示意图仅为该装置逻辑关系的示意图。可选的,如图1所示,上述系统还包括FIFO,当第一UABE或第二UABE存满时,该装置向FIFO发送第一UABE或第二UABE写入存储空间的第一写入请求或第二写入请求。本实施例提供的存储空间的写入加速系统,可以用于执行下述各实施例中的存储空间的写入加速方法实施例的技术方案。本专利技术实施例中的存储空间可以为GPU存储空间或其他任意具有大量存储空间的I/O设备,而第一UABE、第二UABE及FIFO则是为提高上述存储空间的写入速度所增加的数据缓存空间,下述各实施例中仅以GPU存储空间为例,而非对存储空间的限定。且上述装置可以本文档来自技高网...
存储空间的写入加速方法、装置和系统

【技术保护点】
一种存储空间的写入加速方法,其特征在于,包括:连续接收存储指令对应的数据,将各所述存储指令对应的数据存储至第一无缓存加速缓冲接口UABE中,直至所述第一UABE存满后,将所述第一UABE中的数据存储至存储空间;将未存储至所述第一UABE中的各所述存储指令对应的数据存储至第二UABE中,直至所述第二UABE存满后,将所述第二UABE中的数据存储至所述存储空间;重复执行上述两个过程,直至所有存储指令对应的数据写入所述存储空间。

【技术特征摘要】
1.一种存储空间的写入加速方法,其特征在于,包括:连续接收存储指令对应的数据,将各所述存储指令对应的数据存储至第一无缓存加速缓冲接口UABE中,直至所述第一UABE存满后,将所述第一UABE中的数据存储至存储空间;将未存储至所述第一UABE中的各所述存储指令对应的数据存储至第二UABE中,直至所述第二UABE存满后,将所述第二UABE中的数据存储至所述存储空间;重复执行上述两个过程,直至所有存储指令对应的数据写入所述存储空间。2.根据权利要求1所述的方法,其特征在于,所述将所述第一UABE中的数据存储至所述存储空间的操作,与所述将未存储至所述第一UABE中的各所述存储指令对应的数据存储至所述第二UABE的操作并行执行;所述将所述第二UABE中的数据存储至所述存储空间的操作,与所述将未存储至所述第二UABE中的各所述存储指令对应的数据存储至所述第一UABE的操作并行执行。3.根据权利要求1所述的方法,其特征在于,所述将所述第一UABE中的数据存储至所述存储空间之前,还包括:向先入先出队列FIFO发送第一UABE写入所述存储空间的第一写入请求,以使所述FIFO将所述第一写入请求记录至空的指示位;所述将所述第二UABE中的数据存储至所述存储空间之前,还包括:向所述FIFO发送第二UABE写入所述存储空间的第二写入请求,以使所述FIFO将所述第二写入请求记录至空的指示位。4.根据权利要求3所述的方法,其特征在于,所述向所述FIFO发送第一UABE或第二UABE写入所述存储空间的第一写入请求或第二写入请求之前,还包括:判断所述FIFO中的指示位是否写满;若判定未写满,则确定执行向所述FIFO发送第一UABE或第二UABE写入所述存储空间的第一写入请求或第二写入请求的步骤;若判定写满,则等待所述FIFO中有空的指示位,其中,在所述存储空
\t间向所述FIFO返回所述第一UABE或所述第二UABE写完成信号后,所述FIFO将所述第一UABE或所述第二UABE对应的第一写入请求或第二写入请求所占的指示位设置为空。5.根据权利要求4所述的方法,其特征在于,所述FIFO中的指示位包括数量相同的所述第一UABE使用的第一指示位和所述第二UABE使用的第二指示位,所述第一指示位和所述第二指示位交替排列,所述指示位至少为四位。6.根据权利要求1-5任一所述的方法,其特征在于,在连续接收存储指令对应的数据之后,还包括:确定所述存储指令对应的地址的标识位有效;或确定所述存储指令对应的地址在处理器的传输后备缓冲器模块对应的标识位有效。7.一种存储空间的写入加速方法,其特征在于,包括:步骤一、连续接收存储指令对应的数据,将各所述存储指令对应的数据存储至第一UABE中,直至所述第一UABE存满;步骤二、将所述第一UABE中的数据存储至所述存储空间;步骤三、将未存储至所述第一UABE中的各所述存储指令对应的数据存储至第nUABE中,直至所述第nUABE存满;步骤四、将所述第nUABE中的数据存储至所述存储空间;步骤五、将未存储至所述第nUABE中的各所述存储指令对应的数据存储至第n+1UABE中,直至所述第n+1UABE存满;步骤六、将所述第n+1UABE中的数据存储至所述存储空间;步骤七、重复执行步骤五和步骤六,且在重复执行的步骤五之前将n的取值加1,直至N个U...

【专利技术属性】
技术研发人员:孟小甫张爽爽高翔
申请(专利权)人:龙芯中科技术有限公司
类型:发明
国别省市:北京;11

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

1