存储访问控制装置、方法及存储设备制造方法及图纸

技术编号:33432181 阅读:8 留言:0更新日期:2022-05-19 00:22
本申请实施例提供了存储访问控制装置、方法及存储设备。本申请实施例中,通过在存储设备内部署一个存储访问控制装置来代替存储设备中的CPU处理存储访问,能够减轻CPU的负担,并解放CPU处理其他任务,提高存储设备的执行效率;进一步地,在本申请实施例中,将单个链表看成矢量,并按照相应的链表运算来完成存储访问,这相比逐一轮询链表中各虚拟块的变量参数以实现存储访问,显然提高执行效率。显然提高执行效率。显然提高执行效率。

【技术实现步骤摘要】
存储访问控制装置、方法及存储设备


[0001]本申请涉及数据存储技术,特别涉及存储访问控制装置、方法及存储设备。

技术介绍

[0002]对于存储设备比如固态存储磁盘(SSD:Solid

State Disk)等,其主要由控制单元和存储单元组成。图1以SSD为例示出了存储设备的结构。在图1中,CPU、双倍速率同步动态随机存储器(DDR:Double Data Rate)控制器可作为控制单元,而DDR、静态随机存取存储器(SRAM:Static Random

Access Memory)可作为存储单元。图1中的总线是指SSD中的信息传输线。
[0003]在存储设备中,目前针对固件发起的存储访问请求比如读、写、垃圾回收等,都是由存储设备中的CPU执行的。作为一个例子,这里的固件可为存储设备中运行在CPU上的嵌入式软件等。而这会加重CPU的负担,并且,也会影响存储访问效率。

技术实现思路

[0004]本申请实施例提供了存储访问控制装置、方法及存储设备,以提高存储访问效率。
[0005]本申请实施例提供了一种存储访问控制装置,所述存储访问控制装置被部署在存储设备并连接至所述存储设备的总线;
[0006]所述存储访问控制装置包括:至少一个硬件加速单元;
[0007]所述硬件加速单元,用于在检测到针对至少一个目标链表的链表运算事件的情况下,从所述目标链表中选择不同虚拟块上对应目标特征类型的目标特征参数,将选择出的目标特征参数组成目标特征矢量,依据所述链表运算事件对所述目标特征矢量进行链表运算,得到链表运算结果;所述链表运算结果用于作为对所述存储设备进行存储访问控制的依据;
[0008]其中,所述目标链表用于描述所述存储设备中不同虚拟块的变量参数,所述不同变量参数至少包括不同特征类型对应的特征参数;所述虚拟块是由所述存储设备中一个条带上的物理块Block组成。
[0009]本申请实施例提供了一种存储访问控制方法,该方法应用于存储访问控制装置,所述存储访问控制装置被部署在存储设备并连接至所述存储设备的总线;该方法包括:
[0010]检测链表运算事件,在检测到针对至少一个目标链表的链表运算事件的情况下,从所述目标链表中选择不同虚拟块上对应目标特征类型的目标特征参数,将选择出的目标特征参数组成目标特征矢量,依据所述链表运算事件对所述目标特征矢量进行链表运算,得到链表运算结果;所述链表运算结果用于作为对所述存储设备进行存储访问控制的依据。
[0011]一种存储设备,该存储设备至少包括:CPU、系统总线、以及部署在所述系统总线上的硬件加速装置,所述硬件加速装置至少包括如上公开的装置中的结构
[0012]由以上技术方案可以看出,本申请本实施例中,通过在存储设备内部署一个存储
访问控制装置来代替存储设备中的CPU处理存储访问,能够减轻CPU的负担,并解放CPU处理其他任务,提高存储设备的执行效率;
[0013]进一步地,在本申请实施例中,将单个链表看成矢量,并按照相应的链表运算来完成存储访问,这相比逐一轮询链表中各虚拟块的变量参数以实现存储访问,显然提高执行效率。
附图说明
[0014]此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
[0015]图1为本申请实施例提供的存储设备的示例结构图;
[0016]图2为本申请实施例提供的存储设备中存储单元的示例结构图;
[0017]图3为本申请实施例提供的链表示意图;
[0018]图4为本申请实施例提供的存储设备中部署存储访问控制装置的结构图;
[0019]图5为本申请实施例提供的存储访问控制装置的结构图;
[0020]图6a至图6b为本申请实施例提供的目标链表示意图;
[0021]图7为本申请实施例提供的硬件加速单元的结构示意图;
[0022]图8为本申请实施例提供的方法流程图;
[0023]图9为本申请实施例提供的存储设备硬件结构图。
具体实施方式
[0024]这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
[0025]在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
[0026]为了使本领域技术人员更好地理解本申请实施例提供的技术方案,并使本申请实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对本申请实施例中技术方案作进一步详细的说明。
[0027]在描述本申请实施例之前,先对本申请实施例涉及到的链表进行描述:
[0028]对于存储设备比如SSD,其引入了虚拟块(Virtual Block)的概念。在一个例子中,一个虚拟块(Virtual Block)是由存储设备中一个条带上的物理块(Block)组成。图2以SSD为例示出了其中存储单元的结构。在图2中,每一Block包括多个页(Page)。
[0029]在应用中,可通过链表记录其中各虚拟块的变量参数。在具体实现时,可先针对每一虚拟块,将该虚拟块的变量参数对应记录至指定结构体中,得到虚拟块的结构体。之后通过将各个虚拟块的结构体串起来即形成一个链表。在链表中,每一虚拟块的结构体都包含结构头(Header)、结构元素。结构元素表征虚拟块的变量参数。图3举例示出了链表的结构。
[0030]作为一个实施例,虚拟块的变量参数至少包括不同特征类型对应的特征参数。以
特征类型分别为擦写状态、读状态、有效数据帧(VDF:Valid Data Frame)状态,擦写状态对应的特征参数为擦写次数、读状态对应的特征参数为读次数、有效数据帧状态对应的特征参数为有效数据帧量为例,则虚拟块的变量参数至少包括:擦写状态对应的擦写次数、读状态对应的读次数、有效数据帧状态对应的有效数据帧量。
[0031]可选地,在本实施例中,对于一个虚拟块,该虚拟块中擦写状态对应的擦写次数可为该虚拟块中各Block的擦写次数中取值最大的擦写次数、该虚拟块中读状态对应的读次数可为该虚拟块中各Block的读次数中取值最大的读次数、该虚拟块中有效数据帧状态对应的有效数据帧量可为该虚拟块中各Block的有效数据帧量之和。可以看出,在本实施例,虚拟块中每一特征类型对应的特征参数依赖于该虚拟块中各Block上与该特征类型对应的特征参数确定。
[0032]可选地,在本实施例中,虚拟块中不同特征类型对应的特征参数按照顺序记录至指定结构体中。需要说明的是,在本实施例中,不同虚拟块中本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种存储访问控制装置,其特征在于,所述存储访问控制装置被部署在存储设备并连接至所述存储设备的总线;所述存储访问控制装置包括:至少一个硬件加速单元;所述硬件加速单元,用于在检测到针对至少一个目标链表的链表运算事件的情况下,从所述目标链表中选择不同虚拟块上对应目标特征类型的目标特征参数,将选择出的目标特征参数组成目标特征矢量,依据所述链表运算事件对所述目标特征矢量进行链表运算,得到链表运算结果;所述链表运算结果用于作为对所述存储设备进行存储访问控制的依据;其中,所述目标链表用于描述所述存储设备中不同虚拟块的变量参数,所述不同变量参数至少包括不同特征类型对应的特征参数;所述虚拟块是由所述存储设备中一个条带上的物理块Block组成。2.根据权利要求1所述的装置,其特征在于,所述存储设备还包括:CPU;所述硬件加速单元接收所述CPU下发的针对所述目标链表的运算启动命令,则确定检测到所述链表运算事件;其中,所述CPU是在接收到固件的存储访问请求的情况下,下发所述存储访问请求对应的所述运算启动命令。3.根据权利要求1所述的装置,其特征在于,所述链表运算事件至少携带与所述链表运算事件相关联的配置信息,所述配置信息至少包括:操作类型为矢量的第一操作数、操作类型为标量的第二操作数、以及操作码;所述操作码用于指示标量与矢量之间的链表标量运算;所述第一操作数至少包括:第一链表标识、第一特征标识;所述目标链表至少包括:为所述第一链表标识对应的第一链表;所述目标特征参数至少包括:所述第一链表中各虚拟块上与所述第一特征标识对应的第一特征参数;所述目标特征矢量至少包括:由所述第一链表中各虚拟块上的第一特征参数组成的第一矢量;所述硬件加速单元依据链表运算事件对所述目标特征矢量进行链表运算包括:按照所述操作码对所述第一矢量和所述第二操作数进行所述链表标量运算。4.根据权利要求3所述的装置,其特征在于,所述第一特征参数至少包括:用于表示虚拟块状态的虚拟块状态参数;所述第一矢量至少包括:所述第一链表中各虚拟块的虚拟块状态参数组成的矢量;所述第二操作数至少包括:预设的虚拟块状态参数阈值;所述链表标量运算为差值计算;所述按照所述操作码对所述第一矢量和所述第二操作数进行所述链表标量运算包括:计算所述第一矢量和标量矩阵之差;所述标量矩阵是依据所述虚拟块状态参数阈值与单位矩阵形成的。5.根据权利要求3所述的装置,其特征在于,所述第一特征参数至少包括:用于表示虚拟块状态的虚拟块状态参数;所述第一矢量至少包括:所述第一链表中各虚拟块的虚拟块状态参数组成的矢量;所
述链表标量运算为虚拟块等效运算;所述按照所述操作码对所述第一矢量和所述第二操作数进行所述链表标量运算包括:按照下式对所述第一矢量进行等效运算:其中,f为所述第二操作数,表示分段函数或者为单调函数,表示所述第一矢量,表示所述第一链表中各虚拟块对应的等效系数。6.根据权利要求1所述的装置,其特征在于,所述链表运算事件至少携带所述链表运算事件相关联的配置信息,所述配置信息至少包括:操作类型为矢量的第三操作数、第四操作数,以及操作码;第三操作数至少包括:第三链表标识、第三特征标识;第四操作数至少包括:第四链表标识、第四特征标识;所述操作码用于指示矢量与矢量之间的链表矢量运算;所述目标链表至少包括:第三链表标识对应的第三链表、第四链表标识对应的第四链表;所述目标特征参数至少包括:第三链表中各虚拟块上与第三特征标识对应的第三特征参数、第四链表中各虚拟块上与第四特征标识对应的第四特征参数;所述目标特征矢量至少包括:由第三链表中各虚拟块的第三特征参数组成的第三矢量、由第四链表中各虚拟块的第四特征参数组成的第四矢量;所述硬件加速单元依据链表运算事件对所述目标特征矢量进行链表运算包括:按照所述操作码对第三矢量和第四矢量进行所述链表矢量运算。7.根据权利要求6所述的装置,其特征在于,所述第三链表与所述第四链表为同一目标链表;所述第三特征参数至少包括:目标链表中各虚拟块的等效表征参数;虚拟块的等效表征参数用于计算虚拟块的等效系数;所述第四特征参数至少包括:目标链表中各虚拟块的目标虚拟块特征参数;所述第三矢量至少包括:目标链表中基于各虚拟块的等效表征参数生成的等效表征参数矢量;所述第四矢量至少包括:目标链表中基于各虚拟块的目标虚拟块特征参数生成的目标虚拟块特征参数矢量;所述按照所述操作码对第三矢量和第四矢量进行所述链表矢量运算包括:按照下述公式对第三矢量和第四矢量进行所述链表矢量运算:其中,表示第四矢量,是通过对第三矢量进行虚拟块等效运算得到的,表示的转置,表示所述目标虚拟块特征参数的等效参数。8.根据权利要求6所述的装置,其特...

【专利技术属性】
技术研发人员:万婷霍文捷冯星刘璨
申请(专利权)人:杭州海康存储科技有限公司
类型:发明
国别省市:

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

1