动态预测延迟属性的制作方法

文档序号:26003974发布日期:2021-07-23 21:21阅读:90来源:国知局
动态预测延迟属性的制作方法



背景技术:

本公开的实施方案整体涉及动态地改变预测延迟相关属性以增大操作的确定性窗口(dtwin)。

相关领域的描述

可预测延迟模式(plm)用于实现nvme设备中的读取操作和写入操作两者的可预测延迟。当nvme设备被配置为在该模式下操作时,使用可预测延迟模式配置特征,nvm组中的命名空间为确定性操作和非确定性操作提供不同的单独操作窗口。一种此类不同窗口是确定性窗口(dtwin),该dtwin是nvm组能够为读取操作和写入操作提供确定性延迟的操作窗口。另一个此类不同窗口是非确定性窗口(ndwin),该ndwin是nvm组由于准备后续确定性窗口而无法为读取操作和写入操作提供确定性延迟的操作窗口。

可在ndwin中执行的示例性动作包括对非易失性介质的后台操作。nvm组正在其中操作的当前窗口通过主机使用plm窗口特征而配置或者通过控制器由于自主动作而配置。

每个nvm获取日志页面的可预测延迟可用于确定指定nvm组的当前窗口。当支持plm时,每一个nvm组都有一个日志页面。日志页面指示与指定nvm组的dtwin和ndwin相关联的属性的典型值和可靠估计值。对于dtwin中的读取、写入和时间,在每个nvm获取日志页面的可预测延迟中提供两个值:主机在任何给定的dtwin期间可消耗的属性的典型量或最大量;以及在当前dtwin期间保持待消耗的属性的量的可靠估计值。

为了保留在dtwin中,主机设备需要遵循操作规则,以确保某些属性不超过每个nvm获取日志页面的可预测延迟中指示的典型值或最大值。如果属性超过每个nvm获取日志页面的预测延迟中指示的典型值或最大值中的任一个值或者发生确定性偏移,则相关联的nvm组可以自主地转变到ndwin。确定性偏移是nvm子系统中需要控制器立即进行动作的罕见发生。

dtwin是对数据存储设备的服务质量(qos)的约束,这是因为通过假设存储器设备处于寿命终点(eol)状况,数据存储设备被迫在最坏情况场景下工作。另外,数据存储设备在主机接口上仍具有大量工作负荷。因此,也必须假设主机工作负荷的最坏情况场景。在大多数情况下,这些约束减小dtwin并且增大ndwin。

因此,本领域需要改进存储设备的dtwin。



技术实现要素:

本公开整体涉及动态地改变预测延迟相关属性以增大操作的确定性窗口(dtwin)。主机设备工作负荷特性以及存储器设备的当前状况为该dtwin的持续时间提供了有价值的信息。如果该存储器设备接近寿命终点,则该dtwin持续时间将会更短。另外,如果来自该主机设备的工作负荷很大,则该dtwin持续时间也将会更短。基于该工作负荷和状况来动态地调整该dtwin持续时间将会提供相对于当前可用的更长dtwin持续时间随时间推移逐渐缩短的dtwin持续时间,而不是基于该主机设备工作负荷和存储器设备状况的最差情况场景来利用固定的dtwin持续时间。

在一个实施方案中,一种数据存储设备包括:至少一个存储器设备;以及控制器,该控制器耦接到该至少一个存储器设备,该控制器被配置为:收集关于该数据存储设备的主机设备使用的统计值;收集关于该至少一个存储器设备的参数的统计值;基于该收集的统计值来确定该数据存储设备的确定性窗口(dtwin)持续时间;以及将该dtwin持续时间递送到至少一个主机设备。

在另一个实施方案中,一种数据存储设备包括:多个存储器设备;以及控制器,该控制器耦接到该多个存储器设备,该控制器被配置为:在逻辑上将该多个存储器设备布置为第一多个存储器设备组;确定该第一多个存储器设备组中的每一个存储器设备组的第一确定性窗口(dtwin)持续时间;在逻辑上将该多个存储器设备重新布置为第二多个存储器设备组;以及确定该第二多个存储器设备组中的每一个存储器设备组的第二dtwin持续时间。

在另一个实施方案中,一种数据存储设备包括:用于动态地调整至少一个存储器设备的确定性窗口(dtwin)持续时间的装置;以及用于将该dtwin持续时间递送到至少一个主机设备的装置。

附图说明

因此,通过参考实施方案,可以获得详细理解本公开的上述特征的方式、本公开的更具体描述、上述简要概述,所述实施方案中的一些在附图中示出。然而,应当注意的是,附图仅示出了本公开的典型实施方案并且因此不应视为限制其范围,因为本公开可以允许其他同等有效的实施方案。

图1是根据一个实施方案的系统的示意图。

图2是根据一个实施方案的dtwin持续时间和ndwin持续时间的示意图。

图3是示出dtwin持续时间随时间推移的曲线图。

图4是示出实现dtwin持续时间变化的方法的流程图。

图5是根据一个实施方案的存储器设备组的示意图。

为了有助于理解,在可能的情况下,使用相同的参考标号来表示附图中共有的相同元件。可以设想是,在一个实施方案中公开的元件可以有利地用于其他实施方案而无需具体叙述。

具体实施方式

在下文中,参考本公开的实施方案。然而,应当理解的是,本公开不限于具体描述的实施方案。相反,思考以下特征和元件的任何组合(无论是否与不同实施方案相关)以实现和实践本公开。此外,尽管本公开的实施方案可以实现优于其他可能解决方案和/或优于现有技术的优点,但是否通过给定实施方案来实现特定优点不是对本公开的限制。因此,以下方面、特征、实施方案和优点仅是说明性的,并且不被认为是所附权利要求书的要素或限制,除非在权利要求书中明确地叙述。同样地,对“本公开”的引用不应当被解释为本文公开的任何发明主题的概括,并且不应当被认为是所附权利要求书的要素或限制,除非在权利要求书中明确地叙述。

本公开整体涉及动态地改变预测延迟相关属性以增大操作的确定性窗口(dtwin)。主机设备工作负荷特性以及存储器设备的当前状况为该dtwin的持续时间提供了有价值的信息。如果该存储器设备接近寿命终点,则该dtwin持续时间将会更短。另外,如果来自该主机设备的工作负荷很大,则该dtwin持续时间也将会更短。基于该工作负荷和状况来动态地调整该dtwin持续时间将会提供相对于当前可用的更长dtwin持续时间随时间推移逐渐缩短的dtwin持续时间,而不是基于该主机设备工作负荷和存储器设备状况的最差情况场景来利用固定的dtwin持续时间。

图1是根据一个实施方案的系统100的示意图。系统100包括主机设备102,该主机设备通过接口105与数据存储设备104进行通信。数据存储设备包括控制器108,该控制器通过存储器设备接口112与一个或多个存储器设备110进行通信。

本文的公开内容描述了动态地改变预测延迟相关属性,以便允许确定性窗口周期的自适应最大化。动态地改变预测延迟相关属性是通过自适应地跟踪现实的当前主机设备102的工作负荷特性和当前的存储器设备110(例如nand)状况来实现的。动态方法与使用刚性值的静态方法相反,该刚性值在整个数据存储设备104的寿命期间是固定的,并且一方面基于存储器设备110的寿命终点状况的模拟假设来设定,另一方面基于极端主机设备102的工作负荷(这实际上表示最坏情况场景)来设定。

本文提出的创新概念可通过向数据存储设备104添加指定逻辑硬件来实现。指定硬件逻辑将会跟踪当前主机设备102的工作负荷和当前存储器设备110的状况(如在内部存储器设备110参数中所反映的)两者。指定逻辑硬件将会相应地产生确定性窗口/非确定性窗口的相关属性的动态更新值。更新值将会被放置于每个nvm获取日志页面的可预测延迟中。

主机统计值收集器116和主机日志生成器114也耦接到控制器108。主机统计值收集器116采集关于数据存储设备104的主机设备102使用的信息或统计值。此类信息包括主机设备102使用存储器的强度。更具体信息包括来自主机设备102的工作负荷(即,写入密集型/读取密集型)、顺序写入和读取组成、随机写入和读取组成、ftl表或地址转换表、以及主机设备102的流分配。如果主机设备102使用流或命名空间进行工作,则更容易保持该顺序。

还采集存储器设备110的当前状态。为存储器设备110采集的此类信息包括编程/擦除循环的数量、预定时间周期内的温度范围、剩余自由空间、以及不良块预算。在一个实施方案中,预定时间周期可介于约1ms至约10秒之间。

从主机统计值收集器116以及从存储器设备110采集的信息被聚集并且部分地用于确定dtwin持续时间和将确定ndwin持续时间的后台操作的频率。dtwin持续时间和ndwin持续时间是动态的,因为dtwin持续时间和ndwin持续时间是基于存储器设备110的变化状况和在主机统计值收集器116中找到的主机统计值而不断更新。dtwin持续时间和ndwin持续时间被更新并存储在主机日志生成器114中。如本文所讨论的,dtwin持续时间和ndwin持续时间不是静态的,而是基于所采集的信息而动态变化。

图2是根据一个实施方案的dtwin持续时间和ndwin持续时间的示意图。如图2所示,dtwin204、208、212与ndwin202、206、210、214在时间上交替。在静态环境中,dtwin204、208、212全部均具有相同的持续时间并且从不改变。相似地,ndwin202、206、210、214在静态环境中均具有相同的持续时间并且从不改变。dtwin204、208、212和ndwin202、206、210、214的持续时间在静态环境中从不改变的原因在于,数据存储设备必须假设操作的最差情况场景并且使dtwin持续时间和ndwin持续时间基于最差情况场景。从存储器设备的角度来看,最差情况场景是eol和存储器设备的伴随eol的性能。对于主机设备使用,假设工作负荷很大。这样,数据存储设备具有存储在获取日志表中并且被提供给主机设备的固定dtwin持续时间和ndwin持续时间。在静态环境中,数据存储设备必须假设最坏情况场景,这是因为不允许数据存储设备处理前端动作的时间长于dtwin持续时间。如果任何前端活动均超过dtwin持续时间,则数据存储设备无法继续进行并向主机设备返回错误。因此,在静态环境中,数据存储设备无法向主机设备通告dtwin持续时间大于最差情况场景,否则数据存储设备会发生故障。

图3是示出dtwin持续时间随时间推移的曲线图。如图3所示,在静态情况下,dtwin持续时间从未改变并且在开始被设定为数据存储设备的eol的最坏情况场景。然而,在动态情况下,eol性能对于dtwin持续时间将是相同的,但是通向数据存储设备的eol的路径导致动态dtwin持续时间。在使用开始时,主机设备未与存储器设备交互,并且存储器设备没有使用。因此,存储器设备的最佳可能性能是在寿命开始时。因此,最佳可能的dtwin持续时间将发生在存储器设备的寿命开始时,如高dtwin持续时间针对动态dtwin持续时间所反映的。随时间推移,存储器设备经历一定的使用,并且收集主机设备统计值。因此,随时间推移,dtwin持续时间减小。最终,数据存储设备将达到eol状况。如图4所示,在数据存储设备的eol处,动态情况下的dtwin持续时间最终已达到针对静态情况通告给主机设备的dtwin持续时间。因此,与静态dtwin相比,使用动态dtwin持续时间显著增加了数据存储设备在数据存储设备的寿命期间的dtwin持续时间。

图4是示出实现dtwin变化的方法400的流程图。数据存储设备在402处收集关于主机设备使用的统计值,并且还在404处收集关于存储器设备状态的统计值。然后数据存储设备在406中分析收集的统计值以确定dtwin和ndwin持续时间。然后,在408中,数据存储设备根据更新规则向主机设备通告修改后的持续时间。存在用于更新获取日志表的若干可能触发选项:当dtwin持续时间重新校准发生时立即更新;在发生下一个电力循环时更新;以及诸如当经过预定时间或预定数量的dtwin时以设定间隔更新。

在一个实施方案中,主机设备确定更新规则。在另一个实施方案中,数据存储设备设定更新规则。数据存储设备不断地收集统计值,并且因此不断地更新dtwin和ndwin持续时间。因此,数据存储设备总是准备好在由主机设备或数据存储设备定义的任何时间向主机设备提供新的dtwin和ndwin持续时间。

在一个实施方案中,一种系统包括单个主机设备,该单个主机设备与单个内部不可移除的数据存储设备进行通信。dtwin和ndwin持续时间随时间推移动态地改变并且被传送到单个主机设备。

在另一个实施方案中,单个可移除的数据存储设备在不同时间与至少两个主机设备进行通信。虽然无论主机设备如何,数据存储设备统计值都将是相同的,但是dtwin和ndwin持续时间对于每个主机设备可能是不同的,因为由每个主机设备触发的工作负荷可能是不同的。因此,可向每个主机设备提供不同的dtwin和ndwin持续时间。此外,dtwin和ndwin持续时间随时间推移动态地改变。

在另一个实施方案中,单个数据存储设备与至少两个主机设备进行通信。通信可同时发生或串行发生。虽然无论主机设备如何,数据存储设备统计值都将是相同的,但是dtwin和ndwin持续时间对于每个主机设备可能是不同的,因为由每个主机设备触发的工作负荷可能是不同的。因此,可向每个主机设备提供不同的dtwin和ndwin持续时间。此外,dtwin和ndwin持续时间随时间推移动态地改变。

在另一个实施方案中,多个数据存储设备与单个主机设备进行通信。数据存储设备统计值以及主机设备统计值两者均可以是不同的。例如,由于主机设备的使用不同,因此数据存储设备统计值可以是不同的。如果主机设备以不同方式使用不同的数据存储设备,则主机设备统计值也可以是不同的。因此,可向主机设备提供每个数据存储设备的不同dtwin和ndwin持续时间。此外,dtwin和ndwin持续时间随时间推移动态地改变。

在另一个实施方案中,多个主机设备共享多个数据存储设备并且与其通信。数据存储设备统计值以及主机设备统计值两者均可以是不同的。例如,由于主机设备的使用不同,因此数据存储设备统计值可以是不同的。因为每个主机设备以不同方式使用不同的数据存储设备,因此主机设备统计值也可以是不同的。因此,可从每个数据存储设备向每个主机设备提供不同的dtwin和ndwin持续时间。此外,dtwin和ndwin持续时间随时间推移动态地改变。

还可以设想,存储器设备在逻辑上可被布置在组中,并且该组可以在数据存储设备寿命期间改变。图5是根据一个实施方案的存储器设备组的示意图。在企业市场中,可将管芯一起分组以充分利用动态dtwin持续时间。例如,如果一些管芯在其他管芯之前达到eol状况,则系统可在共同的dtwin和ndwin持续时间下将这些管芯一起分组,如图5所示。

在图5中,出于举例说明的目的示出了三个组500、520、540。第一组500包括与dtwin504、508、512交替的ndwin502、506、510、514。ndwin502、506、510、514全部均具有相同的持续时间。相似地,dtwin504、508、512全部均具有相同的持续时间。

第二组520包括与dtwin524、528、532交替的ndwin522、526、530、534。ndwin522、526、530、534全部均具有相同的持续时间。相似地,dtwin524、528、532全部均具有相同的持续时间。

第三组540包括与dtwin544、548、552交替的ndwin542、546、550、554。ndwin542、546、550、554全部均具有相同的持续时间。相似地,dtwin544、548、552全部均具有相同的持续时间。

由于数据集500、520、540全部在逻辑上进行布置,因此可基于存储器设备的质量来在逻辑上布置组500、520、540。此外,组500、520、540可在逻辑上被布置用于为主机设备的特定请求提供最佳参数。此外,每一个组500、520、540均具有单独的获取日志表以及不同的dtwin和ndwin持续时间。例如,组500的ndwin502、506、510、514与组520的ndwin522、526、530、534和组540的ndwin542、546、550、554具有不同的持续时间。另外,组520的ndwin522、526、530、534与组540的ndwin542、546、550、554具有不同的持续时间。关于dtwin,组500的dtwin504、508、512与组520的dtwin524、528、532和组540的dtwin544、548、552具有不同的持续时间。另外,组520的dtwin524、528、532与组540的dtwin544、548、552具有不同的持续时间。基于主机统计值和/或存储器设备统计值,存储器设备可在逻辑上被重新布置为不同的组以获得可能的最佳dtwin和ndwin持续时间,或者简单地根据主机设备的需要定制dtwin和ndwin持续时间。

在一个实施方案中,一种数据存储设备包括:至少一个存储器设备;以及控制器,该控制器耦接到该至少一个存储器设备,该控制器被配置为:收集关于该数据存储设备的主机设备使用的统计值;收集关于该至少一个存储器设备的参数的统计值;基于该收集的统计值来确定该数据存储设备的确定性窗口(dtwin)持续时间;以及将该dtwin持续时间递送到至少一个主机设备。该控制器进一步被配置为改变该dtwin持续时间。该控制器包括主机统计值收集器,该主机统计值收集器收集关于主机设备使用的统计值。该控制器包括cpu,该cpu从该主机设备和从该至少一个存储器设备收集该统计值。收集的关于主机设备使用的该统计值包括以下一者或多者:工作负荷、顺序读取或写入组成、随机读取或写入组成;ftl表或地址转换表;以及流分配。收集的关于该至少一个存储器设备的该参数的该统计值包括编程-擦除循环、预定时间周期内的温度范围、剩余自由空间和不良块预算中的一者或多者。该控制器被配置为在从至少一个主机设备接收到对dtwin持续时间的请求时递送该dtwin持续时间。该控制器进一步被配置为分析收集的关于主机设备使用的该统计值和该至少一个存储器设备的该参数,并且其中该控制器进一步被配置为确定dtwin持续时间和非确定性窗口(ndwin)持续时间。该控制器进一步被配置为确定该至少一个存储器设备的每个主机设备的不同dtwin持续时间。不同dtwin持续时间是基于对于每个主机设备而言不同的主机设备使用统计值。不同dtwin持续时间是基于来自该至少一个存储器设备的参数的相同统计值。

在另一个实施方案中,一种数据存储设备包括:多个存储器设备;以及控制器,该控制器耦接到该多个存储器设备,该控制器被配置为:在逻辑上将该多个存储器设备布置为第一多个存储器设备组;确定该第一多个存储器设备组中的每一个存储器设备组的第一确定性窗口(dtwin)持续时间;在逻辑上将该多个存储器设备重新布置为第二多个存储器设备组;以及确定该第二多个存储器设备组中的每一个存储器设备组的第二dtwin持续时间。该第一dtwin持续时间内的至少一个dtwin持续时间不同于该第一dtwin持续时间内的至少一个其他dtwin持续时间。该第一dtwin持续时间内的至少一个dtwin持续时间不同于该第二dtwin持续时间内的至少一个第二dtwin持续时间。该第二dtwin持续时间内的至少一个dtwin持续时间不同于该第二dtwin持续时间内的至少一个其他dtwin持续时间。该控制器被配置为在确定该第二dtwin持续时间时递送该第二dtwin持续时间。该控制器进一步被配置为在逻辑上重新布置该多个存储器设备之前针对至少一个存储器设备组将该第一dtwin持续时间调整为第三dtwin持续时间。该控制器进一步被配置为将该第三dtwin持续时间递送到主机设备。

在另一个实施方案中,一种数据存储设备包括:用于动态地调整至少一个存储器设备的确定性窗口(dtwin)持续时间的装置;以及用于将该dtwin持续时间递送到至少一个主机设备的装置。该至少一个存储器设备是在逻辑上布置为多个存储器组的多个存储器设备。

通过连续收集数据存储设备的主机设备使用和存储器设备性能中的一者或多者的统计值,可利用将适应存储器设备的当前状态和主机使用的动态dtwin持续时间。因此,数据存储设备的qos可得到改善,而dwtin可随时间推移而减小,而不是保持固定。

虽然前述内容针对本公开的实施方案,但是可以在不脱离本公开的基本范围的情况下设想本公开的其他和另外的实施方案,并且本公开的范围由所附权利要求书确定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1