一种写数据高速缓存的方法、系统、设备和存储介质技术方案

技术编号:31847372 阅读:15 留言:0更新日期:2022-01-12 13:28
本发明专利技术提供一种写数据高速缓存的方法、系统、设备和存储介质,方法包括:响应于接收到主机发出的写数据操作指令,创建控制页表并向所述控制页表中依次填入多个控制块;将首个控制块的入口指针提交到工作队列调度引擎以将所述多个控制块对应的任务在所述工作队列调度引擎中穿插执行;提前向主机发送完成应答并通知固件进行数据的后续处理和落盘;以及响应于最后一个控制块对应的任务执行结束,对所使用的控制页表资源进行释放。本发明专利技术通过主机接口管理引擎和固件系统的协同调度流程以适用写缓存使能的场景,可以显著降低计算存储系统对主机响应的时延性能。主机响应的时延性能。主机响应的时延性能。

【技术实现步骤摘要】
一种写数据高速缓存的方法、系统、设备和存储介质


[0001]本专利技术涉及计算存储领域,更具体地,特别是指一种写数据高速缓存的方法、系统、设备和存储介质。

技术介绍

[0002]随着近年来计算存储(Computational Storage)技术的兴起,计算存储架构通过将数据计算从主机CPU中卸载到靠近存储单元的数据处理加速单元,减少了相应的数据的搬移操作,从而尽可能地释放了系统性能。
[0003]计算存储引入了计算存储处理器(Computational Storage Processor,CSP)、计算存储驱动器(Computational Storage Drive,CSD)和计算存储阵列(Computational Storage Array,CSA)三种产品形态,并期待通过架构上的重新定义来降低CPU占用率、降低对网络和DDR带宽的消耗、降低系统功耗、支持潜在的大规模并行计算处理等。
[0004]在计算存储系统中,有一类典型应用就是使用计算存储系统中的自带的DDR(Double Data Rate,双倍速率同步动态随机存储器)作为数据Cache(缓存),缓存主机读/写操作的数据,目的都是降低系统的IO(Input Output,输入输出)操作时延。以承接主机的IO写操作为例,正常的,需要在数据可靠落盘后才能应答主机。但打开写高速缓存(Write Cache)功能后,计算存储系统会在将主机待落盘的数据从主机DDR搬入本地DDR中受掉电保护的区域后,就向主机发送应答信号,这样主机则认为该数据已经完成“落盘”操作。而实际上,计算存储系统针对该数据块的相关运算处理还在系统内部分步展开,待处理完成后再合并其他一些条件满足后最终进行落盘操作。
[0005]在面向计算存储的通用计算加速架构中如何实现写IO数据高速缓存功能是一个需要解决的问题。

技术实现思路

[0006]有鉴于此,本专利技术实施例的目的在于提出一种写数据高速缓存的方法、系统、计算机设备及计算机可读存储介质,本专利技术通过主机接口管理引擎和固件系统的协同调度流程以适用写缓存使能的场景,通过“零拷贝”的方式实现控制页表从主机接口管理引擎向固件的转移,可以显著降低计算存储系统对主机响应的时延性能。
[0007]基于上述目的,本专利技术实施例的一方面提供了一种写数据高速缓存的方法,包括如下步骤:响应于接收到主机发出的写数据操作指令,创建控制页表并向所述控制页表中依次填入多个控制块;将首个控制块的入口指针提交到工作队列调度引擎以将所述多个控制块对应的任务在所述工作队列调度引擎中穿插执行;提前向主机发送完成应答并通知固件进行数据的后续处理和落盘;以及响应于最后一个控制块对应的任务执行结束,对所使用的控制页表资源进行释放。
[0008]在一些实施方式中,所述创建控制页表并向所述控制页表中依次填入多个控制块包括:向所述控制页表中填入第一控制块以在本地双倍速率同步动态随机存储器中设置内
存区域;向所述控制页表中填入第二控制块以将主机双倍速率同步动态随机存储器中待写入数据迁移到所述内存区域中;以及向所述控制页表中填入第三控制块以应答主机并结束当前输入输出。
[0009]在一些实施方式中,方法还包括:对本地双倍速率同步动态随机存储器中所述内存区域中的写入数据进行掉电保护。
[0010]在一些实施方式中,方法还包括:响应于所述控制页表空间不足,申请新的控制页表空间以创建新的控制页表,并将新的控制页表和原来的控制页表初始化为链式控制页表。
[0011]在一些实施方式中,方法还包括:响应于接收到主机发出的读数据操作指令,创建一个空控制页表并将所述读数据操作指令备份进所述空控制页表。
[0012]在一些实施方式中,方法还包括:在片上存储开辟一块连续的存储空间用作控制页表的资源池,并将每个控制页表的地址指针初始化成空闲控制页表入口列表。
[0013]在一些实施方式中,方法还包括:判断固件已申领控制页表的计数是否小于阈值;以及响应于固件已申领控制页表的计数小于阈值,将固件已申领控制页表的计数加一,并将主机接口管理引擎已申领控制页表的计数减一。
[0014]本专利技术实施例的另一方面,提供了一种写数据高速缓存的系统,包括:创建模块,配置用于响应于接收到主机发出的写数据操作指令,创建控制页表并向所述控制页表中依次填入多个控制块;提交模块,配置用于将首个控制块的入口指针提交到工作队列调度引擎以将所述多个控制块对应的任务在所述工作队列调度引擎中穿插执行;通知模块,配置用于提前向主机发送完成应答并通知固件进行数据的后续处理和落盘;以及释放模块,配置用于响应于最后一个控制块对应的任务执行结束,对所使用的控制页表资源进行释放。
[0015]本专利技术实施例的又一方面,还提供了一种计算机设备,包括:至少一个处理器;以及存储器,所述存储器存储有可在所述处理器上运行的计算机指令,所述指令由所述处理器执行时实现如上方法的步骤。
[0016]本专利技术实施例的再一方面,还提供了一种计算机可读存储介质,计算机可读存储介质存储有被处理器执行时实现如上方法步骤的计算机程序。
[0017]本专利技术具有以下有益技术效果:通过主机接口管理引擎和固件系统的协同调度流程以适用写缓存使能的场景,通过“零拷贝”的方式实现控制页表从主机接口管理引擎向固件的转移,可以显著降低计算存储系统对主机响应的时延性能。
附图说明
[0018]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
[0019]图1为本专利技术提供的写数据高速缓存的方法的实施例的示意图;图2为本专利技术提供的通用计算加速架构示意图;图3为本专利技术提供的通用计算加速架构的处理流程示意图;图4为本专利技术提供的控制页表资源池的管理示意图;
CB:用来通过硬件引擎将主机DDR中待写入的数据搬移到本地DDR中开辟好的存储空间中;“AEM

Response”CB:用来通过硬件引擎应答主机,表明所要写入的数据已经处理,可以结束当前IO。
[0027]将首个控制块的入口指针提交到工作队列调度引擎以将所述多个控制块对应的任务在所述工作队列调度引擎中穿插执行。主机接口管理引擎在完成上述操作后会将首个控制块的入口指针提交到WQS(Work Queue Scheduler,工作队列调度引擎)进行硬件的自动调度,WQS负责依次调度这三个任务在引擎之间穿插执行。
[0028]提前向主机发送完成应答并通知固件进行数据的后续处理和落盘。在提前给了主机一个假的“完成”应答同时,通知固件进行数据的后续处理和落盘,如此构成写Cache的快速应答路径,极大地缩短了响应主机的时延特性。
[0029]在一些实施方式中,方法还包括:对本地双倍速率同步动态随机存储器中所述内存区域本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种写数据高速缓存的方法,其特征在于,包括如下步骤:响应于接收到主机发出的写数据操作指令,创建控制页表并向所述控制页表中依次填入多个控制块;将首个控制块的入口指针提交到工作队列调度引擎以将所述多个控制块对应的任务在所述工作队列调度引擎中穿插执行;提前向主机发送完成应答并通知固件进行数据的后续处理和落盘;以及响应于最后一个控制块对应的任务执行结束,对所使用的控制页表资源进行释放。2.根据权利要求1所述的方法,其特征在于,所述创建控制页表并向所述控制页表中依次填入多个控制块包括:向所述控制页表中填入第一控制块以在本地双倍速率同步动态随机存储器中设置内存区域;向所述控制页表中填入第二控制块以将主机双倍速率同步动态随机存储器中待写入数据迁移到所述内存区域中;以及向所述控制页表中填入第三控制块以应答主机并结束当前输入输出。3.根据权利要求2所述的方法,其特征在于,方法还包括:对本地双倍速率同步动态随机存储器中所述内存区域中的写入数据进行掉电保护。4.根据权利要求1所述的方法,其特征在于,方法还包括:响应于所述控制页表空间不足,申请新的控制页表空间以创建新的控制页表,并将新的控制页表和原来的控制页表初始化为链式控制页表。5.根据权利要求1所述的方法,其特征在于,方法还包括:响应于接收到主机发出的读数据操作指令,创建一个空控制页表并将所述读数据操作指令备份进所述空控制页表。6.根据权利要求1所述的方法,其特...

【专利技术属性】
技术研发人员:王江李树青孙华锦
申请(专利权)人:苏州浪潮智能科技有限公司
类型:发明
国别省市:

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

1