RAID顺序写场景下的片外DDR带宽卸载方法、终端及存储介质与流程

文档序号:33121518发布日期:2023-02-01 03:56阅读:24来源:国知局
RAID顺序写场景下的片外DDR带宽卸载方法、终端及存储介质与流程
raid顺序写场景下的片外ddr带宽卸载方法、终端及存储介质
技术领域
1.本发明涉及计算机技术领域,尤其涉及raid顺序写场景下的片外ddr带宽卸载方法、终端及存储介质。


背景技术:

2.raid技术通过将多个独立的存储介质(ssd或者hdd硬盘)有机的结合成一个整体,对上位机呈现为一个带数据冗余保护的存储设备,并响应上位机的管理和读/写io请求。以raid0为例,它将上位机的一次io请求变为对多个独立存储介质的并发操作,从而提高了整体的带宽和时延性能。raid组一般有n个数据盘和m个校验盘组成。依据不同的组织方式和算法,raid可以分类成不同的raid级别,常见的有raid0(n=k,m=0),raid1(n=1,m=1),raid10(n=k,m=k),raid5(n=k,m=1),raid6(n=k,m=2)等。
3.在处理模块响应上位机的raid5和raid6的顺序写io请求的过程中,raid处理模块一般会将多次顺序写io进行“满条带”聚合。在满条带情况下,由完整的新数据计算出新的校验数据,并直接将二者覆盖落盘。如图8所示,为raid5(4+1)满条带写处理步骤示意,主要分为三个步骤,
4.1.从主机ddr将新数据d’搬移至本地的片外ddr空间中;
5.2.调用raid计算引擎从本地ddr当中读取d’并将计算得到的新的校验数据p’写回本地ddr空间中;
6.3.将和中的数据落盘。
7.现有技术raid处理的过程中,硬盘总的顺序写带宽和本地存储的带宽影响其处理性能。为了解决该技术问题现提出raid顺序写场景下的片外ddr带宽卸载方法、终端及存储介质。


技术实现要素:

8.为了解决上述现有技术中存在的技术问题,本发明提供了一种raid顺序写场景下的片外ddr带宽卸载方法、终端及存储介质,在raid处理过程中,通过片上缓存来部分地卸载对片外ddr的存储带宽需求,从而提高上位机在顺序写场景下的带宽。
9.为实现上述目的,本发明实施例提供了如下的技术方案:
10.第一方面,在本发明提供的一个实施例中,提供了raid顺序写场景下的片外ddr带宽卸载方法,该方法包括以下步骤:
11.从主机ddr将新数据d’搬移至raid管理芯片的片上缓存空间u中;
12.调用raid计算引擎从片上缓存u中读取d’,并将d’和计算得到的新的校验数据p’分别写回片外ddr中的v和x中;
13.将片外ddr中的v和x空间中的d’和p’数据落盘。
14.作为本发明的进一步方案,所述raid满条带写处理包括“写通”模式和“写会”模式。
15.作为本发明的进一步方案,当处于“写通”模式时,所述从主机ddr将新数据d’搬移至raid管理芯片的片上缓存空间u中,之前还包括:
16.跨io口的满条带聚合;
17.聚合成功后,在片上sram中申请新数据d’大小的存储空间u;
18.在片外ddr中申请存储空间v和x。
19.作为本发明的进一步方案,当处于“写通”模式时,所述调用raid计算引擎从片上缓存u中读取d’,并将d’和计算得到的新的校验数据p’分别写回片外ddr中的v和x中,之后还包括:释放片上缓存空间u。
20.作为本发明的进一步方案,当处于“写通”模式时,所述将片外ddr中的v和x空间中的d’和p’数据落盘,之后还包括:释放片外ddr中存储空间v和x;然后应答主机。
21.作为本发明的进一步方案,当处于“写回”模式时,所述从主机ddr将新数据d’搬移至raid管理芯片的片上缓存空间u中,之前还包括,跨io口的满条带聚合;
22.聚合成功后,在片上sram中申请新数据d’大小的存储空间u。
23.作为本发明的进一步方案,当处于“写回”模式时,所述从主机ddr将新数据d’搬移至raid管理芯片的片上缓存空间u中,之后还包括,应答主机;
24.对ddr中的cache数据命中是否进行查询,得到结果a列表;
25.对a列表进行补全操作,在片外ddr中得到存储空间v和x;
26.其中,所述a列表包括未命中,部分命中和全部命中三种结果。
27.作为本发明的进一步方案,当处于“写回”模式时,所述调用raid计算引擎从片上缓存u中读取d’,并将d’和计算得到的新的校验数据p’分别写回片外ddr中的v和x中,之后还包括,释放片上缓存空间u。
28.第二方面,在本发明提供的又一个实施例中,提供了一种终端,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器加载并执行所述计算机程序时实现raid顺序写场景下的片外ddr带宽卸载方法的步骤。
29.第三方面,在本发明提供的再一个实施例中,提供了一种存储介质,存储有计算机程序,所述计算机程序被处理器加载并执行时实现所述raid顺序写场景下的片外ddr带宽卸载方法的步骤。
30.本发明提供的技术方案,具有如下有益效果:
31.本发明提供的raid顺序写场景下的片外ddr带宽卸载方法、终端及存储介质,从主机ddr将新数据d’搬移至raid管理芯片的片上缓存空间u中;调用raid计算引擎从片上缓存u中读取d’,并将d’和计算得到的新的校验数据p’分别写回片外ddr中的v和x中;将片外ddr中的v和x空间中的d’和p’数据落盘。本发明通过引入片上缓存来部分地卸载对片外ddr的存储带宽需求,从而提高上位机在顺序写场景下的带宽上限。
32.本发明的这些方面或其他方面在以下实施例的描述中会更加简明易懂。应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
33.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本
发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
34.图1为本发明一个实施例的raid顺序写场景下的片外ddr带宽卸载方法的流程图;
35.图2为本发明一个实施例的raid顺序写场景下的片外ddr带宽卸载方法应用装置结构图;
36.图3为本发明与现有技术效果对比图;
37.图4为本发明一个实施例的raid顺序写场景下的片外ddr带宽卸载方法中“写通(wt)”和“写回(wb)”的场景定义图;
38.图5为本发明一个实施例的raid顺序写场景下的片外ddr带宽卸载方法中在“写通”模式下,满条带写处理流程;
39.图6为本发明一个实施例的raid顺序写场景下的片外ddr带宽卸载方法中在“写回”模式下,满条带写处理流程;
40.图7为本发明一个实施例的一种终端的结构示意图;
41.图8为现有技术。
42.图中:处理器-401、通信接口-402、存储器-403、通信总线-404。
具体实施方式
43.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
44.附图中所示的流程图仅是示例说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解、组合或部分合并,因此实际执行的顺序有可能根据实际情况改变。
45.应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
46.具体地,下面结合附图,对本发明实施例作进一步阐述。
47.请参阅图1,图1是本发明实施例提供的一种raid顺序写场景下的片外ddr带宽卸载方法的流程图,如图1所示,该raid顺序写场景下的片外ddr带宽卸载方法,包括步骤s10至步骤s30。所述方法应用于raid满条带写处理。
48.s10、从主机ddr将新数据d’搬移至raid管理芯片的片上缓存空间u中;
49.s20、调用raid计算引擎从片上缓存u中读取d’,并将d’和计算得到的新的校验数据p’分别写回片外ddr中的v和x中;
50.s30、将片外ddr中的v和x空间中的d’和p’数据落盘。
51.本发明通过引入片上缓存,减少了对片外ddr的存储需求。
52.raid5(n+1块盘组raid)和raid6(n+2块盘组raid)放大系数计算如下:
53.[0054][0055]
所述raid满条带写处理包括“写通”模式和“写会”模式。
[0056]
在本发明的实施例中,当处于“写通”模式时,所述从主机ddr将新数据d’搬移至raid管理芯片的片上缓存空间u中,之前还包括:
[0057]
跨io口的满条带聚合;
[0058]
聚合成功后,在片上sram中申请新数据d’大小的存储空间u;
[0059]
在片外ddr中申请存储空间v和x。
[0060]
在本发明的实施例中,当处于“写通”模式时,所述调用raid计算引擎从片上缓存u中读取d’,并将d’和计算得到的新的校验数据p’分别写回片外ddr中的v和x中,之后还包括:释放片上缓存空间u。
[0061]
在本发明的实施例中,当处于“写通”模式时,所述将片外ddr中的v和x空间中的d’和p’数据落盘,之后还包括:释放片外ddr中存储空间v和x;然后应答主机。
[0062]
在本发明的实施例中,当处于“写回”模式时,所述从主机ddr将新数据d’搬移至raid管理芯片的片上缓存空间u中,之前还包括,跨io口的满条带聚合;
[0063]
聚合成功后,在片上sram中申请新数据d’大小的存储空间u。
[0064]
在本发明的实施例中,当处于“写回”模式时,所述从主机ddr将新数据d’搬移至raid管理芯片的片上缓存空间u中,之后还包括,应答主机;
[0065]
对ddr中的cache数据命中是否进行查询,得到结果a列表;
[0066]
对a列表进行补全操作,在片外ddr中得到存储空间v和x。
[0067]
其中,所述a列表包括未命中,部分命中和全部命中三种结果。
[0068]
在本发明的实施例中,当处于“写回”模式时,所述调用raid计算引擎从片上缓存u中读取d’,并将d’和计算得到的新的校验数据p’分别写回片外ddr中的v和x中,之后还包括,释放片上缓存空间u。
[0069]
在本发明的实施例中,当处于“写回”模式时,所述将片外ddr中的v和x空间中的d’和p’数据落盘,之后还包括,更新cache管理映射表,释放相icache页表;释放片外ddr中存储空间v和x。
[0070]
本发明在raid处理过程中,通过片上缓存来部分地卸载对片外ddr的存储带宽需求,从而提高上位机在顺序写场景下的带宽。
[0071]
应该理解的是,上述虽然是按照某一顺序描述的,但是这些步骤并不是必然按照上述顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,本实施例的一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
[0072]
在一个实施例中,参见图5所示,在本发明的实施例中还提供了一种终端,包括处理器401、通信接口402、存储器403和通信总线404,其中,处理器401,通信接口402,存储器403通过通信总线404完成相互间的通信。
[0073]
存储器403,用于存放计算机程序;
standardarchitecture,简称eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
[0098]
通信接口用于上述终端与其他设备之间的通信。
[0099]
存储器可以包括随机存取存储器(random access memory,简称ram),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
[0100]
上述的处理器可以是通用处理器,包括中央处理器(central processing unit,简称cpu)、网络处理器(network processor,简称np)等;还可以是数字信号处理器(digital signal processing,简称dsp)、专用集成电路(application specificintegrated circuit,简称asic)、现场可编程门阵列(field-programmable gate array,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
[0101]
所述终端包括用户设备与网络设备。其中,所述用户设备包括但不限于电脑、智能手机、pda等;所述网络设备包括但不限于单个网络服务器、多个网络服务器组成的服务器组或基于云计算(cloud computing)的由大量计算机或网络服务器构成的云,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机。其中,所述终端可单独运行来实现本发明,也可接入网络并通过与网络中的其他终端的交互操作来实现本发明。其中,所述终端所处的网络包括但不限于互联网、广域网、城域网、局域网、vpn网络等。
[0102]
所述终端包括用户设备与网络设备。其中,所述用户设备包括但不限于电脑、智能手机、pda等;所述网络设备包括但不限于单个网络服务器、多个网络服务器组成的服务器组或基于云计算(cloud computing)的由大量计算机或网络服务器构成的云,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机。其中,所述终端可单独运行来实现本发明,也可接入网络并通过与网络中的其他终端的交互操作来实现本发明。其中,所述终端所处的网络包括但不限于互联网、广域网、城域网、局域网、vpn网络等。
[0103]
还应当进理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
[0104]
在本发明的一个实施例中还提供了一种存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述方法实施例中的步骤:
[0105]
s10、从主机ddr将新数据d’搬移至raid管理芯片的片上缓存空间u中;
[0106]
s20、调用raid计算引擎从片上缓存u中读取d’,并将d’和计算得到的新的校验数据p’分别写回片外ddr中的v和x中;
[0107]
s30、将片外ddr中的v和x空间中的d’和p’数据落盘。
[0108]
本发明通过引入片上缓存,减少了对片外ddr的存储需求。
[0109]
raid5(n+1块盘组raid)和raid6(n+2块盘组raid)放大系数计算如下:
[0110]
[0111][0112]
所述raid满条带写处理包括“写通”模式和“写会”模式。
[0113]
在本发明的实施例中,当处于“写通”模式时,所述从主机ddr将新数据d’搬移至raid管理芯片的片上缓存空间u中,之前还包括:
[0114]
跨io口的满条带聚合;
[0115]
聚合成功后,在片上sram中申请新数据d’大小的存储空间u;
[0116]
在片外ddr中申请存储空间v和x。
[0117]
在本发明的实施例中,当处于“写通”模式时,所述调用raid计算引擎从片上缓存u中读取d’,并将d’和计算得到的新的校验数据p’分别写回片外ddr中的v和x中,之后还包括:释放片上缓存空间u。
[0118]
在本发明的实施例中,当处于“写通”模式时,所述将片外ddr中的v和x空间中的d’和p’数据落盘,之后还包括:释放片外ddr中存储空间v和x;然后应答主机。
[0119]
在本发明的实施例中,当处于“写回”模式时,所述从主机ddr将新数据d’搬移至raid管理芯片的片上缓存空间u中,之前还包括,跨io口的满条带聚合;
[0120]
聚合成功后,在片上sram中申请新数据d’大小的存储空间u。
[0121]
在本发明的实施例中,当处于“写回”模式时,所述从主机ddr将新数据d’搬移至raid管理芯片的片上缓存空间u中,之后还包括,应答主机;
[0122]
对ddr中的cache数据命中是否进行查询,得到结果a列表;
[0123]
对a列表进行补全操作,在片外ddr中得到存储空间v和x。
[0124]
其中,所述a列表包括未命中,部分命中和全部命中三种结果。
[0125]
在本发明的实施例中,当处于“写回”模式时,所述调用raid计算引擎从片上缓存u中读取d’,并将d’和计算得到的新的校验数据p’分别写回片外ddr中的v和x中,之后还包括,释放片上缓存空间u。
[0126]
在本发明的实施例中,当处于“写回”模式时,所述将片外ddr中的v和x空间中的d’和p’数据落盘,之后还包括,更新cache管理映射表,释放相icache页表;释放片外ddr中存储空间v和x。
[0127]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述方法的实施例的流程。其中,本发明所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。
[0128]
应当理解的是,在本文中使用的,除非上下文清楚地支持例外情况,单数形式“一个”旨在也包括复数形式。还应当理解的是,在本文中使用的“和/或”是指包括一个或者一个以上相关联地列出的项目的任意和所有可能组合。上述本发明实施例公开实施例序号仅仅为了描述,不代表实施例的优劣。
[0129]
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本发明实施例公开的范围(包括权利要求)被限于这些例子;在本发明实施例的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上的本发
明实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1