用于基于资源调度命令的系统和方法技术方案

技术编号:32162552 阅读:23 留言:0更新日期:2022-02-08 15:16
公开了一种用于调度命令以由存储设备处理的系统和方法。从应用程序接收命令并将其存储在第一队列中。获得关于由所述存储设备管理的第一组资源的信息。基于关于所述第一组资源的所述信息,使第二组资源同步。将所述第二组资源分配到第一池和第二池中。确定所述第一池中的所述第二组资源的条件。基于对所述条件的第一确定,将所述第一池中的所述第二组资源中的一个分配给所述命令,并且基于对所述条件的第二确定,将所述第二池中的所述第二组资源中的一个分配给所述命令。的一个分配给所述命令。的一个分配给所述命令。

【技术实现步骤摘要】
用于基于资源调度命令的系统和方法
[0001]相关申请的交叉引用
[0002]本申请要求2020年7月28日提交的名称为“RESOURCE

BASED SCHEDULI NG FOR QOS IN SSDS”的美国临时申请号63/057,771的优先权和权益,该申请的全部内容通过引用并入本文。


[0003]根据本公开的实施例的一个或多个方面涉及存储设备,并且更具体地涉及用于基于所述存储设备的硬件资源调度命令的系统和方法。

技术介绍

[0004]主机计算设备可以提供命令(例如,读取和写入命令)以由存储设备处理。主机计算设备可以对命令的处理具有一定的服务质量(QoS)期望。然而,在某些情况下,可能没有足够的硬件资源来处理符合QoS要求的命令,从而导致抖动。
[0005]因此,需要一种用于调度命令以由存储设备处理的系统和方法,其考虑存储设备的硬件资源的可用性以解决QoS需求。

技术实现思路

[0006]本公开的实施例指向一种用于调度命令以由存储设备处理的方法。所述方法包括:接收来自应用程序的命令并存储在第一队列中;获得关于由存储设备管理的第一组资源的信息;基于关于第一组资源的信息,使第二组资源同步;将第二组资源分配到第一池和第二池中;确定第一池中的第二组资源的条件;基于对所述条件的第一确定,向所述命令分配第一池中的第二组资源中的一个;以及基于对所述条件的第二确定,向所述命令分配第二池中的第二组资源中的一个。基于分配第二组资源中的一个,将命令存储在与存储设备相关联的第二队列中以由存储设备处理。
[0007]根据一个实施例,命令包括来自在主机上运行的应用程序的数据操作,并且对命令的处理包括相对于非易失性存储介质执行数据操作。
[0008]根据一个实施例,关于第一组资源的信息包括第一组资源用于处理命令的可用性。
[0009]根据一个实施例,使第二组资源同步包括:确定标准的满足;基于标准的满足确定可用的第一组资源的数量;以及将可用的第二组资源的数量设置为等于可用的第一组资源的数量。
[0010]根据一个实施例,标准包括时间段的到期。
[0011]根据一个实施例,第一池由第一队列和第二队列共享,并且第二池为第一队列保留。
[0012]根据一个实施例,基于检测的标准动态地确定第二池。检测的标准可以包括第一队列的服务质量要求的标识。
[0013]根据一个实施例,用于调度命令以由存储设备处理的方法还包括:基于将命令存储在第二队列中,由存储设备分配第一组资源中的一个;由存储设备处理所述命令;以及基于对命令的处理的完成,解除分配第一组资源中的一个。
[0014]根据一个实施例,条件是第一池中的第二组资源的可用性。
[0015]本公开的实施例还指向一种用于调度命令以由存储设备处理的系统。所述系统包括处理器和存储器。所述存储器存储指令,所述指令在被执行时致使处理器进行以下操作:接收来自应用程序的命令并存储在第一队列中;获得关于由存储设备管理的第一组资源的信息;基于关于第一组资源的信息,使第二组资源同步;将第二组资源分配到第一池和第二池中;确定第一池中的第二组资源的条件;基于对所述条件的第一确定,向所述命令分配第一池中的第二组资源中的一个;以及基于对所述条件的第二确定,向所述命令分配第二池中的第二组资源中的一个,其中,基于分配第二组资源中的一个,将所述命令存储在与存储设备相关联的第二队列中以由存储设备处理。
[0016]参考以下详细描述、所附权利要求以及附图,本公开实施例的这些和其他特征、方面和优点将变得更好理解。当然,本专利技术的实际范围由所附权利要求限定。
附图说明
[0017]参考以下附图描述了本实施例的非限制性和非穷举性的实施例,其中,除非另外指明,否则贯穿各个视图,相同的附图标记指代相同的部分。
[0018]图1是根据当前技术机制的用于调度命令的系统的概念框图;
[0019]图2是根据一个实施例的用于基于资源调度命令的系统的框图;
[0020]图3是根据一个实施例的图2系统的各个抽象层的框图;
[0021]图4是根据一个实施例的用于调度第一队列和第二队列中的命令的图2的概念框图;并且
[0022]图5是根据一个实施例的用于基于资源调度存储在软件队列中的命令的过程的流程图。
具体实施方式
[0023]在下文中,将参考附图更详细地描述示例性实施例,其中相同的附图标记始终表示相同的元件。然而,本公开可以以各种不同的形式实施,并且不应该被解释为仅限于本文所示的实施例。相反,提供这些实施例作为示例以使得本公开将彻底且完整,并且将本公开的各方面和特征完全传达给本领域的技术人员。因此,可能不会描述对于本领域的普通技术人员完全理解本公开的各方面和特征而言不必要的过程、元件和技术。除非另有说明,否则在整个附图和书面描述中,相同的附图标记表示相同的元件,并且因此可不重复其描述。此外,在图中,为清楚起见,可能会放大和/或简化元件、层和区域的相对大小。
[0024]一般来说,存储设备可以具有有限数量的硬件资源,用于处理来自主机计算设备的命令。硬件资源可以是例如硬件队列和相关联的令牌,其可以用于调度命令以进行处理。硬件队列的大小和令牌的相关联数量可以是特定于实现的,并且可能取决于存储设备的性能和QoS要求。
[0025]与存储设备交互的设备驱动器可以将软件资源分配给要处理的命令。软件资源可
以是例如软件队列和相关联的令牌。软件队列和相关联的令牌的深度可以是任意的,并且超过硬件队列及其相关联的令牌的深度。有时,这可能导致设备驱动器相比于存储设备中可用的硬件资源调度更多的命令。在这种情况下,由设备驱动器调度但无法消耗硬件资源的命令可能经历处理延迟,导致高抖动。
[0026]图1是根据当前技术机制的用于调度命令的系统的概念框图。系统包括设备驱动器100,其被配置为提交命令以由存储设备102处理。设备驱动器100可以包括各种软件队列104

108,其用于存储由主机处理设备的一个或多个应用程序提交的命令。例如,队列104(Q1)可以是配置为存储写入命令的深度写入队列,而队列106(Q2)可以是配置为存储读取命令的浅读取队列。命令可以消耗软件资源(例如,软件队列104

108和令牌110),以将命令传递到存储设备102以进行处理。
[0027]类似于设备驱动器100,存储设备102可以包括一个或多个硬件队列112

114,其被配置为存储由设备驱动器100提交的命令。例如,硬件队列112可以被配置为存储从Q1 104和Q2 106获取的命令。硬件队列112中的命令可以消耗硬件资源(例如,硬件令牌)116。具有指派的硬件资源116的命令可以被调度以由存储设备处理。
[0028]在设备驱动器中配置的各种软件队列104

108可以用于解决对于处理命令的QoS规定。例如,通过将写入和读取本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种用于调度命令以由存储设备处理的方法,所述方法包括:接收来自应用程序的命令并存储在第一队列中;获得关于由所述存储设备管理的第一组资源的信息;基于关于所述第一组资源的所述信息,使第二组资源同步;将所述第二组资源分配到第一池和第二池中;确定所述第一池中的所述第二组资源的条件;基于对所述条件的第一确定,向所述命令分配所述第一池中的所述第二组资源中的一个;以及基于对所述条件的第二确定,向所述命令分配所述第二池中的所述第二组资源中的一个,其中,基于所述分配所述第二组资源中的所述一个,将所述命令存储在与所述存储设备相关联的第二队列中以由所述存储设备处理。2.如权利要求1所述的方法,其中所述命令包括来自在主机上运行的应用程序的数据操作,并且对所述命令的处理包括相对于非易失性存储介质执行所述数据操作。3.如权利要求1所述的方法,其中关于所述第一组资源的所述信息包括所述第一组资源用于处理所述命令的可用性。4.如权利要求1所述的方法,其中使所述第二组资源同步包括:确定标准的满足;基于所述标准的满足确定可用的第一组资源的数量;以及将可用的第二组资源的数量设置为等于可用的第一组资源的数量。5.如权利要求4所述的方法,其中所述标准包括时间段的到期。6.如权利要求1所述的方法,其中所述第一池由所述第一队列和所述第二队列共享,并且所述第二池为所述第一队列保留。7.如权利要求6所述的方法,其中基于检测的标准动态地确定所述第二池。8.如权利要求7所述的方法,其中所述检测的标准包括所述第一队列的服务质量要求的标识。9.如权利要求1所述的方法,还包括:基于将所述命令存储在所述第二队列中,由所述存储设备分配所述第一组资源中的一个;由所述存储设备处理所述命令;以及基于对所述命令的所述处理的完成,解除分配所述第一组资源中的所述一个。10.如权利要求1所述的方法,其中所述条件是所述第一池中的所述第二组资源的可用性。11.一种用于调度命令以由存储设备处理的系统,所述系统包括:处理器;和存储器,其中所述存储器存储指令...

【专利技术属性】
技术研发人员:奇亮奭洪一九
申请(专利权)人:三星电子株式会社
类型:发明
国别省市:

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

1