存储系统、网卡、处理器、数据访问方法、装置及系统制造方法及图纸

技术编号:36065309 阅读:62 留言:0更新日期:2022-12-24 10:31
存储系统、网卡、处理器、数据访问方法、装置及系统,本申请中,该存储系统包括I/O栈和处理单元,I/O栈包括多个存储层。处理单元可以接收数据读取请求,数据读取请求于读取存储系统中存储的目标数据;基于数据读取请求查询全局索引,该全局索引能够指示I/O栈中目标数据所在的存储层,处理单元根据全局索引确定该目标数据的所在的存储层后,可以从该存储层中读取该目标数据。存储系统中的处理单元在处理数据读取请求时,通过查询全局索引直接确定目标数据的所在的存储层,不需要按序遍历存储系统中存储介质,省去了遍历存储介质的时延,数据读取请求的处理过程更加高效,能够有效提高数据读取效率。读取效率。读取效率。

【技术实现步骤摘要】
存储系统、网卡、处理器、数据访问方法、装置及系统
[0001]相关申请的交叉引用
[0002]本申请要求在2021年6月7日提交中华人民共和国知识产权局、申请号为202110634011.5、专利技术名称为“数据处理的方法和存储系统”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。


[0003]本申请涉及存储
,尤其涉及存储系统、网卡、处理器、数据访问方法、装置及系统。

技术介绍

[0004]在存储领域,当存储系统接收到来自客户端设备的数据读取请求时,存储系统需要按照特定的顺序依次遍历存储系统中各个存储介质,判断各个存储介质中是否存储有待读取的目标数据。例如,存储系统首先查找写缓存中是否保存有所述目标数据,若没有,则继续查找读缓存中是否保存有所述目标数据,若没有,则继续向查找下层的存储介质。
[0005]可见,若目标数据存储在排序靠后的存储介质中,存储系统需要依次遍历存储系统中排序靠前的各个存储介质,直到遍历到该目标数据所在的存储介质才能够成功查找到该目标数据。若该目标数据所在的存储介质的排序位置越靠后,数据查找的过程的耗时会越大,使得存储系统对数据读取请求的处理效率降低。

技术实现思路

[0006]本申请提供存储系统、网卡、处理器、数据访问方法、装置及系统,用以提升数据读取效率。
[0007]第一方面,本申请实施例提供了一种存储系统,该存储系统包括I/O栈和处理单元,I/O栈包括多个存储层(在本申请实施例中存储层可以简称为层),该I/O栈是对存储系统中的存储介质分层所形成的。每个存储层可以包括一种或多种存储介质,每个存储层的数据读取时延可以不同。处理单元可以位于该存储系统中设备(该设备可以称为存储设备)中,本申请实施例并不限定该处理单元的具体形态。该处理单元能够处理来自客户端设备或存储系统内部产生的数据读取请求,反馈所请求读取的目标数据。
[0008]具体处理过程如下:
[0009]处理单元接收数据读取请求,数据读取请求用于请求读取存储系统中存储的目标数据;处理单元可以基于数据读取请求查询全局索引,该全局索引能够指示I/O栈中目标数据所在的存储层,处理单元可以根据全局索引确定该目标数据的所在的存储层。在确定了目标数据的所在的存储层后,可以从该存储层中读取该目标数据。
[0010]通过上述系统,存储系统中的处理单元在处理数据读取请求时,通过查询全局索引可以直接确定目标数据的所在的存储层,不需要按序遍历存储系统中存储介质,省去了遍历存储介质的时延,数据读取请求的处理过程更加高效,能够有效提高数据读取效率。
[0011]在一种可能的实现方式中,处理单元除了处理数据读取请求,还可以处理数据写入请求。具体过程如下:处理单元可以接收数据写入请求,数据写入请求用于请求在存储系统中写入目标数据;处理单元可以根据数据写入请求将目标数据写入到存储系统中,还可以根据目标数据更新全局索引,更新后全局索引用于指示I/O栈中目标数据所在的存储层。具体的,所谓更新全局索引是指将所述目标数据存储在某一个存储层中,这条信息记录在第一索引项中,由此,当后续需要读取所述目标数据时,则可以通过查询所述全局索引中的第一索引项获知该数据的存储位置。索引项在实施例中称为子组,第一索引项则称为第一子组。
[0012]通过上述系统,处理单元在目标数据写入时,可以更新全局索引,更新后的全局索引能够指示目标数据所在的存储层,以便后续在处理单元需要读取目标数据时,能够根据该更新后的全局索引准确确定目标数据的所在的存储层,并读取该目标数据。
[0013]在一种可能的实现方式中,全局索引中设置有多个字符子块,每个字符子块与I/O栈中的一个存储层对应,并指向该存储系统中存储介质映射的逻辑存储空间中的一段空间。换句话说,字符子块的取值能够指示所指向的一段空间中的数据是否位于所对应的存储层中。实质上全局索引是建立逻辑存储空间与存储介质的对应关系。
[0014]将该存储系统中存储介质映射的逻辑存储空间进行细化,将逻辑存储空间划分为大的逻辑块。逻辑块还可以再细化,一个逻辑块可以划分为多个逻辑子块。
[0015]全局索引中可以包括多个字符块,一个字符块指向至少一个逻辑块。一个字符块中包括多个子组,每个子组指向该至少一个逻辑块中的逻辑子块。每个子组包括多个字符子块,该字符子块与I/O栈中的一个存储层对应。
[0016]数据读取请求包括目标数据的逻辑地址,该逻辑地址指示的是逻辑存储空间中的一段空间,处理单元在基于数据读取请求查询全局索引时,可以根据目标数据的逻辑地址在全局索引中确定指向目标数据的逻辑地址的多个字符子块;之后,根据多个字符子块的取值确定I/O栈中目标数据所在的存储层。
[0017]通过上述系统,全局索引能够将逻辑存储空间(也可以理解为逻辑地址)与I/O栈中的存储层(也可以理解为存储介质)关联起来。使得处理单元能够利用目标数据的逻辑地址查询到全局索引中指向逻辑地址的字符子块,根据该字符子块的取值可以方便、快捷的确定目标数据所在的存储层,保证了数据读取的高效性。
[0018]在一种可能的实现方式中,全局索引中字符子块的表现形式有多种,例如,一个字符子块可以为一个比特,该比特的取值可以为0,也可以为1。当该比特的取值为1时,表示目标数据位于字符子块对应的存储层中。当该比特的取值为0时,表示目标数据位于字符子块对应的存储层中。若存在多个非零比特,那么,该目标数据位于该多个非零比特所对应的存储层中的最高层中。
[0019]又例如,一个字符子块可以为一个计数器,计数器的取值可以为0,也可以为非零整数,当一个计数器取值为0时,表示没有数据写入到该计数器对应的存储层中,当一个计数器取值为非0整数时,该非0整数表示数据写入计数器对应的存储层的次数。全局索引中确定指向目标数据的逻辑地址的多个计数器中存在的非零计数器,即可表示该目标数据位于该非零计数器所对应的存储层中。若存在多个非零计数器,那么,该目标数据位于该多个非零计数器所对应的存储层中的最高层中。
[0020]通过上述系统,全局索引中字符子块呈现形式有很多种,呈现方式较为灵活,能够应用在不同的场景中。
[0021]在一种可能的实现方式中,处理单元在根据目标数据的逻辑地址在全局索引中确定指向目标数据的逻辑地址的多个字符子块时,可以对目标数据的逻辑地址进行哈希操作,如查询哈希表或作用哈希函数,根据哈希操作的结果确定指向目标数据的逻辑地址的多个字符子块。
[0022]通过上述系统,哈希操作的方式较为简单、快捷,能够较快的确定出指向目标数据的逻辑地址的多个字符子块,保证数据读取效率。
[0023]在一种可能的实现方式中,处理单元在根据哈希操作的结果确定指向目标数据的逻辑地址的多个字符子块时,可以先确定全局索引中指向目标数据的逻辑地址所属的逻辑块的字符块,之后,再根据目标数据的逻辑地址从字符块中确定指向目标数据的逻辑地址的多个字符子块。
[0024]通过上述系统,处理单元可以先定位指向较大本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种存储系统,其特征在于,所述存储系统包括多个存储层和处理单元,每个存储层之间的读数据的时延不同,所述处理单元,用于:接收数据读取请求,以请求读取所述存储系统中存储的目标数据;基于所述数据读取请求查询全局索引,所述全局索引中的第一索引项用于指示所述多个存储层中所述目标数据所在的存储层;根据所述第一索引项指示的存储层,读取所述目标数据。2.如权利要求1所述的存储系统,其特征在于,所述处理单元还用于:接收数据写入请求以请求在所述存储系统中写入所述目标数据;根据所述数据写入请求,在所述全局索引中记录所述第一索引项。3.如权利要求1或2所述的存储系统,其特征在于,所述数据读取请求包括所述目标数据的逻辑地址,所述处理单元在基于所述数据读取请求查询全局索引时,具体用于:根据所述逻辑地址在所述全局索引中确定指向所述目标数据的逻辑地址的多个字符子块,所述多个字符子块属于所述第一索引项;根据所述多个字符子块的取值确定所述多个存储层中所述目标数据所在的存储层。4.如权利要求3所述的存储系统,其特征在于,每个字符子块用于描述所述多个存储层中的一个存储层中是否存储数据,一个字符子块为一个比特,所述比特的取值包括0或1,所述1表示所述目标数据位于所述一个字符子块对应的存储层中,所述0表示所述目标数据不位于所述一个字符子块对应的存储层中。5.如权利要求3所述的存储系统,其特征在于,每个字符子块用于描述所述多个存储层中的一个存储层中是否存储数据,一个字符子块为一个计数器,所述计数器的取值包括0或非零整数,所述0表示所述目标数据不位于所述一个字符子块对应的存储层中,所述非零整数用于指示所述目标数据位于所述一个字符子块对应的存储层中,所述非零整数还用于指示数据写入所述一个字符子块对应的存储层的次数,所述数据包括所述目标数据。6.如权利要求3~5任一项所述的存储系统,其特征在于,所述处理单元根据所述目标数据的逻辑地址在所述全局索引中确定指向所述目标数据的逻辑地址的多个字符子块,具体用于:根据对所述目标数据的逻辑地址进行哈希操作的结果确定指向所述目标数据的逻辑地址的多个字符子块,所述哈希操作为查询哈希表或作用哈希函数。7.如权利要求7所述的存储系统,其特征在于,所述处理单元根据对所述目标数据的逻辑地址进行哈希操作的结果确定指向所述目标数据的逻辑地址的多个字符子块,具体用于:根据所述结果确定所述全局索引中指向所述目标数据的逻辑地址所属的逻辑块的字符块;根据所述目标数据的逻辑地址从所述字符块中确定指向所述目标数据的逻辑地址的多个字符子块。8.如权利要求1~7任一项所述的存储系统,其特征在于,所述处理单元是数据处理器DPU。9.如权利要求1~8任一项所述的存储系统,其特征在于,所述处理单元位于所述存储
系统中的网卡中或位于中央处理器中。10.如权利要求1~9任一项所述的存储系统,其特征在于,所述处理单元,还用于控制所述多个存储层中的数据流动以及数据淘汰,以及根据所述存储层中的数据流动以及数据淘汰更新所述全局索引。11.如权利要求1~10任一项所述的存储系统,其特征在于,所述多个存储层包括性能层和容量层,所述性能层包括写缓存、读缓存和硬盘缓存中的一项或多项,所述容量层包括固态硬盘和机械硬盘中的一项或多项。12.一种数据访问方法,其特征在于,所述方法应用于存储系统,所述存储系统包括多个存储层和处理单元,每个存储层之间的读数据的时延不同,所述方法,包括:所述处理单元接收数据读取请求以读取所述存储系统中存储的目标数据;所述处理单元基于所述数据读取请求查询全局索引,所述全局索引中的第一索引项用于指示所述多个存储层中所述目标数据所在的存储层;所述处理单元根据所述第一索引项指示的存储层,读取所述目标数据。13.如权利要求12所述的方法,其特征在于,所述方法还包括:所述处理单元接收数据写入请求以请求在所述存储系统中写入所述目标数据;所述处理单元根据所述数据写入请求,在所述全局索引中记录所述第一索引项。14.如权利要求12或13所述的方法,其特征在于,所述数据读取请求包括所述目标数据的逻辑地址,所述处理单元基于所述数据读取请求查询全局索引,包括:所述处理单元根据所述逻辑地址在所述全局索引中确定指向所述目标数据的逻辑地址的多个字符子块,所述多个字符子块属于所述第一索引项;所述处理单元根据所述多个字符子块的取值确定所述多个存储层中所述目标数据所在的存储层。15.如权利要求14所述的方法,其特征在于,每个字符子块用于描述所述多个存储层中的一个存储层中是否存储数据,一个字符子块为一个比特,所述比特的取值包括0或1,所述1表示所述目标数据位于所述一个字符子块对应的存储层中,所述0表示所述目标数据不位于所述一个字符子块对应的存储层中。16.如权利要求14所述的方法,其特征在于,每个字符子块用于描述所述多个存储层中的一个存储层中是否存储数据,一个字符子块为一个计数器,所述计数器的取值包括0或非零整数,所述0表示所述目标数据不位于所述一个字符子块对应的存储层中,所述非零整数用于指示所述目标数据位于所述一个字符子块对应的存储层中,所述非零整数还用于指示数据写入所述一个字符子块对应的存储层的次数,所述数据包括所述目标数据。17.如权利要求14~16任一项所述的方法,其特征在于,所述处理单元根据所述目标数据的逻辑地址在所述全局索引中确定指向所述目标数据的逻辑地址的多个字符子块,包括:所述处理单元根...

【专利技术属性】
技术研发人员:任仁王晨叶利杰崔文林张鹏
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

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

1