使用主机内存缓冲的命令排出制造技术

技术编号:33196569 阅读:51 留言:0更新日期:2022-04-24 00:25
本公开整体涉及使用主机内存缓冲(HMB)有效地中止命令。该命令包含将数据存储设备引导到数据存储设备上相关内容所在的各个位置的指标。一旦接收到中止命令,就改变存储在数据存储设备RAM中的主机指标的内容以指向HMB。然后,数据存储设备等待直到与命令相关联的通过接口总线的任何已经开始的事务已经完成。此后,将失败完成命令发布到主机设备。将失败完成命令发布到主机设备。将失败完成命令发布到主机设备。

【技术实现步骤摘要】
使用主机内存缓冲的命令排出
[0001]相关申请的交叉引用
[0002]本申请要求2020年10月5日提交的美国临时专利申请序列号63/087,737的权益,该美国临时专利申请以引用方式并入本文。

技术介绍


[0003]本公开的实施方案整体涉及使用主机内存缓冲(HMB)有效地中止命令。
[0004]相关领域的描述
[0005]在存储系统中,主机设备或数据存储设备有时中止未决命令。应中止命令有几种情形。一种情形是主机设备发出中止命令,由此主机设备指定应中止的命令的ID,并且数据存储设备应相应地起作用。第二种情形是主机设备删除主机设备先前已发出的队列命令。主机设备可以删除提交或完成队列,然后数据存储设备应该在删除队列之前中止所有相关联的命令。
[0006]第三种情形是数据存储设备可能需要终止命令的命令超时。终止可能是由于从NAND故障的恢复,该恢复涉及基于奇偶校验信息重新构建数据的恢复机制,但是重建需要很长时间。终止也可能是由于维护饥饿,维护饥饿可能是由于物理空间的极端碎片化而产生的。碎片化降低了吞吐量,如果命令和维护操作交错,则碎片化可导致命令超时。命令和维护的交错通常在其中不允许有维护时间的攻势的功率管理期间或在密集高队列深度随机写入工作负载期间发生。终止也可能是由于非常高的队列深度,其中如果设备内的命令由于上述原因被暂停,则未处理命令可在数据存储设备检索命令之前超时。
[0007]第四种情形是高级命令重试,其中数据存储设备决定使命令失败,同时要求主机设备使该命令在稍后时间重新排队。一般来讲,中止命令不是简单的流程。挑战是命令何时已启动执行阶段。在中止命令之前,数据存储设备必须首先终止与该命令相关联的所有任务,并且直到那时向主机设备发出完成消息。在发出完成消息之后,数据存储设备不得访问相关的主机内存缓冲(HMB)。
[0008]先前,在中止命令之前,数据存储设备首先通过扫描未决活动来终止与该命令相关联的所有任务,并且直到那时向主机设备发出完成消息。另选地,在中止命令之前,数据存储设备首先等待直到已经开始的任务被完成,并且直到那时将向主机设备发出完成消息。
[0009]因此,本领域需要更有效地处理中止命令。

技术实现思路

[0010]本公开整体涉及使用主机内存缓冲(HMB)有效地中止命令。该命令包含将数据存储设备引导到数据存储设备上相关内容所在的各个位置的指标。一旦接收到中止命令,就改变存储在数据存储设备RAM中的主机指标的内容以指向HMB。然后,数据存储设备等待直
到与命令相关联的通过接口总线的任何已经开始的事务已经完成。此后,将失败完成命令发布到主机设备。
[0011]在一个实施方案中,一种数据存储设备包括:一个或多个存储器设备;以及耦接到一个或多个存储器设备的控制器,其中控制器被配置成:从主机设备接收原始命令;开始执行原始命令;接收中止请求命令以中止原始命令,其中中止请求命令从主机设备接收或由数据存储设备生成;修改驻留在数据存储设备中的原始命令的一个或多个指标;将与原始命令相关联的一组数据排出到主机内存缓冲(HMB);以及向主机设备返回失败完成消息,其中在使用原始命令指标的已经发出的数据传输完成之后,向主机设备返回失败完成消息。
[0012]在另一个实施方案中,一种数据存储设备包括:一个或多个存储器设备;以及耦接到一个或多个存储器设备的控制器,其中控制器被配置成:从主机设备接收原始命令;确定利用高级命令重试(ACR)完成原始命令;分配一个或多个主机内存缓冲(HMB)以用于保持与原始命令相关联的一组数据;向主机设备返回完成消息,其中完成消息请求所述主机设备重试原始命令;在将数据传输到HMB内的所分配的一个或多个缓冲区的同时执行原始命令;从主机设备接收重新发出的原始命令;以及从HMB内的所分配的一个或多个缓冲区复制用于重新发出的原始命令的数据。
[0013]在另一个实施方案中,一种数据存储设备包括:一个或多个存储器装置;以及耦接到一个或多个存储器装置的控制器,其中控制器被配置成:从主机设备接收中止命令请求;分配第一主机内存缓冲(HMB)和第二HMB以用于保持与中止命令请求相关联的一系列数据,其中:第一HMB被配置成排出与中止命令请求相关联的一系列数据;并且第二HMB被配置成指向漏极缓冲区;以及向主机设备返回完成消息。
附图说明
[0014]因此,通过参考实施方案,可以获得详细理解本公开的上述特征的方式、本公开的更具体描述、上述简要概述,所述实施方案中的一些在附图中示出。然而,应当注意的是,附图仅示出了本公开的典型实施方案并且因此不应视为限制其范围,因为本公开可以允许其他同等有效的实施方案。
[0015]图1是示出根据一个实施方案的存储系统的示意性框图,其中数据存储设备可以用作主机设备的存储设备。
[0016]图2是中止请求的示意图。
[0017]图3是示出根据一个实施方案的中止请求过程的流程图。
[0018]图4是根据一个实施方案的处理中止请求的时序图。
[0019]图5是NVMe标准中所述的PRP列表的示意图。
[0020]图6是根据一个实施方案的用于命令排出的两个主机内存缓冲(HMB)的示意图。
[0021]图7是示出根据一个实施方案的高级命令重试(ACR)的流程图。
[0022]为了有助于理解,在可能的情况下,使用相同的参考标号来表示附图中共有的相同元件。可以设想是,在一个实施方案中公开的元件可以有利地用于其他实施方案而无需具体叙述。
具体实施方式
[0023]在下文中,参考本公开的实施方案。然而,应当理解的是,本公开不限于具体描述的实施方案。相反,思考以下特征和元件的任何组合(无论是否与不同实施方案相关)以实现和实践本公开。此外,尽管本公开的实施方案可以实现优于其他可能解决方案和/或优于现有技术的优点,但是否通过给定实施方案来实现特定优点不是对本公开的限制。因此,以下方面、特征、实施方案和优点仅是说明性的,并且不被认为是所附权利要求书的要素或限制,除非在权利要求书中明确地叙述。同样地,对“本公开”的引用不应当被解释为本文公开的任何专利技术主题的概括,并且不应当被认为是所附权利要求书的要素或限制,除非在权利要求书中明确地叙述。
[0024]本公开整体涉及使用主机内存缓冲(HMB)有效地中止命令。该命令包含将数据存储设备引导到数据存储设备上相关内容所在的各个位置的指标。一旦接收到中止命令,就改变存储在数据存储设备RAM中的主机指标的内容以指向HMB。然后,数据存储设备等待直到与命令相关联的通过接口总线的任何已经开始的事务已经完成。此后,将失败完成命令发布到主机设备。
[0025]图1是示出根据公开的实施方案的存储系统100的示意性框图,其中数据存储设备106可以用作主机设备104的存储设备。例如,主机设备104可以利用包括在数据存储设备106中的非易失性存储器(NVM)110来存储和检索数据。主机设备104包括主机DRAM 138,其中主机DRA本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据存储设备,所述数据存储设备包括:一个或多个存储器设备;和控制器,所述控制器耦接到所述一个或多个存储器设备,其中所述控制器被配置成:从主机设备接收原始命令;开始执行所述原始命令;接收中止请求命令以中止所述原始命令,其中所述中止请求命令从主机设备接收或者由所述数据存储设备生成;修改驻留在所述数据存储设备中的所述原始命令的一个或多个指标;将与所述原始命令相关联的一组数据排出到主机内存缓冲(HMB);以及向所述主机设备返回失败完成消息,其中在使用原始命令指标的已经发出的数据传输完成之后,向所述主机设备返回所述失败完成消息。2.根据权利要求1所述的数据存储设备,其中所述控制器被进一步配置成在接收到所述中止请求之后继续处理与所述原始命令相关联的数据传输。3.根据权利要求2所述的数据存储设备,其中所述处理数据传输在所述修改一个或多个指标完成之后继续。4.根据权利要求1所述的数据存储设备,其中排出所述一组数据发生于:在返回所述失败完成消息之后,在返回所述失败完成消息之前开始,或它们的组合。5.根据权利要求1所述的数据存储设备,其中在与所述原始命令相关联的数据传输仍在处理时递送所述失败完成消息,其中在递送所述失败完成消息之后发生的所述数据传输利用所修改的一个或多个指标。6.根据权利要求1所述的数据存储设备,其中排出所述一组数据包括将每个指标指向漏极缓冲区。7.根据权利要求6所述的数据存储设备,其中最后一个指标指向所述最后一个指标所驻留在的相同缓冲区列表。8.一种数据存储设备,所述数据存储设备包括:一个或多个存储器设备;和控制器,所述控制器耦接到所述一个或多个存储器设备,其中所述控制器被配置成:从主机设备接收原始命令;确定利用高级命令重试(ACR)完成原始命令;分配主机内存缓冲(HMB)内的一个或多个缓冲区以用于保持与所述原始命令相关联的一组数据;向所述主机设备返回具有ACR指示的完成消息,其中所述完成消息请求所述主机设备重试所述原始命令;在将数据传输到HMB内的所分配的一个或多个缓冲区的同时执行所述原始命令;从所述主机设备接收重新发出的原始命令;以及从HMB内的所分配的一个或多个缓冲区复制用于所述重新发出的原始命令的数据。9.根据权利要求8所述的数据存储设备,其中当所述控制器向所述主机设备返回所述完成消息时:在所述主机设备的界面上发出所述数据的表示;并且<...

【专利技术属性】
技术研发人员:S
申请(专利权)人:西部数据技术公司
类型:发明
国别省市:

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

1