非顺序分区命名空间制造技术

技术编号:29465341 阅读:59 留言:0更新日期:2021-07-27 17:55
本公开整体涉及操作存储设备的方法。存储设备的控制器被配置为检索将数据写入第一分区的一个或多个第一逻辑块的第一命令,并将与第一命令相关联的数据直接存储器访问(DMA)读取并写入第一逻辑块。第一逻辑块在第一分区的分区起始点和第一分区的分区容量之间。控制器被配置为检索将数据写入第一分区的一个或多个第二逻辑块的第二命令,并将与第二命令相关联的数据DMA读取并写入第二逻辑块。第二逻辑块在第一分区的分区起始和分区容量之间,并且第一逻辑块与第二逻辑块是非顺序的。

【技术实现步骤摘要】
【国外来华专利技术】非顺序分区命名空间相关申请的交叉引用本申请要求2019年12月4日提交的美国申请号16/703,643的优先权,该美国申请要求2019年9月12日提交的美国临时专利申请序列号62/899,717的优先权和权益,这两个专利申请全文以引用方式并入本文。
技术介绍

本公开的实施方案整体涉及存储设备,诸如固态驱动器(SSD)。相关领域的描述存储设备诸如SSD可用于需要相对低延迟和高容量存储的应用中的计算机中。例如,SSD可表现出比硬盘驱动器(HDD)更低的延迟,尤其是对于随机读取和写入而言。通常,SSD的控制器接收将数据从主机设备读取或写入到存储器设备的命令。存储器设备的数量被称为命名空间,并且控制器被配置为从存储器设备的一个或多个命名空间读取数据或将数据写入存储器设备的一个或多个命名空间。每个命名空间由多个逻辑块地址(LBA)或扇区构成。控制器可在任何时间访问任何命名空间内的任何LBA。然而,当命名空间内的一段连续的LBA(例如,LBA1-8)已经在存储数据并且后写入被接收到该段内的LBA(例如,LBA4)的所选择的数据时,控制器必须读出该段内的所有数据,修改所选择的数据,并且将与该段的每个LBA相关联的数据重新写入新位置。此类读取-修改-写入过程可降低存储设备和主机两者的性能,以及降低存储设备的耐久性并增加主机开销。因此,需要一种操作存储设备的新方法。
技术实现思路
本公开整体涉及操作存储设备的方法。存储设备的控制器被配置为检索将数据写入第一分区的一个或多个第一逻辑块的第一命令,并将与第一命令相关联的数据直接存储器访问(DMA)读取并写入第一逻辑块。第一逻辑块在第一分区的分区起始点和第一分区的分区容量之间。控制器被配置为检索将数据写入第一分区的一个或多个第二逻辑块的第二命令,并将与第二命令相关联的数据DMA读取并写入第二逻辑块。第二逻辑块在第一分区的分区起始点和分区容量之间,并且第一逻辑块与第二逻辑块是非顺序的。在一个实施方案中,存储设备包括:介质单元,其中介质单元的容量被划分为多个分区,每个分区包括多个逻辑块;以及耦接到介质单元的控制器。控制器被配置为检索将数据写入第一分区的第一命令以及直接存储器访问(DMA)读取与第一命令相关联的数据,识别第一分区的一个或多个第一逻辑块以写入与第一命令相关联的数据,其中一个或多个第一逻辑块在第一分区的分区起始逻辑块地址和第一分区的分区容量之间,检索将数据写入第一分区的第二命令以及DMA读取与第二命令相关联的数据,以及识别第一分区的一个或多个第二逻辑块以写入与第二命令相关联的数据,其中一个或多个第二逻辑块在第一分区的分区起始逻辑块地址和第一分区的分区容量之间,并且其中一个或多个第二逻辑块与一个或多个第一逻辑块间隔开一个或多个空逻辑块。在另一个实施方案中,存储设备包括:介质单元,其中介质单元的容量被划分为多个分区,每个分区包括多个逻辑块;以及耦接到介质单元的控制器。控制器被配置为检索将数据写入第一分区中的一个或多个第一逻辑块的第一命令,其中一个或多个第一逻辑块在第一分区的分区起始逻辑块地址与第一分区的分区容量之间,将与第一命令相关联的数据写入第一分区的一个或多个第一逻辑块并写入介质单元中的第一位置,检索将数据写入第一分区中的一个或多个第二逻辑块的第二命令,其中一个或多个第二逻辑块在第一分区的分区起始逻辑块地址和第一分区的分区容量之间,并且其中一个或多个第二逻辑块与第一一个或多个逻辑块是非顺序的,以及将与第二命令相关联的数据写入第一分区的一个或多个第二逻辑块并写入介质单元中的第二位置,该第二位置位于第一位置的顺序位置。在又一个实施方案中,存储系统包括:主机设备,该主机设备包括第一跟踪表;和存储系统。存储系统包括:介质单元,其中介质单元的容量被划分为多个分区,每个分区包括多个逻辑块,并且其中介质单元存储第二跟踪表;和耦接到介质单元的控制器。控制器被配置为检索将数据写入第一分区中的一个或多个第一逻辑块的第一命令以及DMA读取与第一命令相关联的数据,其中一个或多个第一逻辑块在第一分区的分区起始逻辑块地址和第一分区的分区容量之间,将与第一命令相关联的数据写入第一分区的一个或多个第一逻辑块,更新第一跟踪表和第二跟踪表以指示一个或多个第一逻辑块不可用于写入与后续命令相关联的数据,检索将数据写入第一分区中的一个或多个第二逻辑块的第二命令以及DMA读取与第二命令相关联的数据,其中一个或多个第二逻辑块在第一分区的分区起始逻辑块地址与第一分区的分区容量之间,并且其中一个或多个第二逻辑块中的至少一个第二逻辑块与一个或多个第一逻辑块是非顺序的,将与第二命令相关联的数据写入第一分区的一个或多个第二逻辑块;以及更新第一跟踪表和第二跟踪表以指示一个或多个第二逻辑块不可用于写入与后续命令相关联的数据。附图说明因此,通过参考实施方案,可以获得详细理解本公开的上述特征的方式、本公开的更具体描述、上述简要概述,所述实施方案中的一些在附图中示出。然而,应当注意的是,附图仅示出了本公开的典型实施方案并且因此不应视为限制其范围,因为本公开可以允许其他同等有效的实施方案。图1是示出根据一个实施方案的存储系统的示意框图。图2示出了根据另一个实施方案的包括耦接到主机设备的存储设备的存储系统。图3是示出了根据一个实施方案的操作存储设备以执行读取或写入命令的方法的框图。图4A示出了根据一个实施方案的在存储设备中使用的分区命名空间。图4B示出了根据一个实施方案的针对图4A的存储设备的分区命名空间的状态图。图5A示出了根据一个实施方案的顺序检查关闭的分区命名空间。图5B示出了根据一个实施方案的针对图5A的分区命名空间接收的写入命令的对应表。图6A示出了根据另一个实施方案的顺序检查打开的分区命名空间。图6B示出了根据一个实施方案的针对图6A的分区命名空间接收的写入命令的对应表。图7A至图7F示出了根据一个实施方案的向ZNS的分区的非顺序写入并且不接收分区附加命令。图8示出了跟踪由图7A-图7F的分区检索的写入命令的对应表。为了有助于理解,在可能的情况下,使用相同的参考标号来表示附图中共有的相同元件。可以设想是,在一个实施方案中公开的元件可以有利地用于其他实施方案而无需具体叙述。具体实施方式在下文中,参考本公开的实施方案。然而,应当理解的是,本公开不限于具体描述的实施方案。相反,思考以下特征和元件的任何组合(无论是否与不同实施方案相关)以实现和实践本公开。此外,尽管本公开的实施方案可以实现优于其他可能解决方案和/或优于现有技术的优点,但是否通过给定实施方案来实现特定优点不是对本公开的限制。因此,以下方面、特征、实施方案和优点仅是说明性的,并且不被认为是所附权利要求书的要素或限制,除非在权利要求书中明确地叙述。同样地,对“本公开”的引用不应当被解释为本文公开的任何专利技术主题的概括,并且不应当被认为是所附权利要求书的要素或限制,除非在权利要求书中明确地叙述。...

【技术保护点】
1.一种存储设备,包括:/n介质单元,其中所述介质单元的容量被划分为多个分区,每个分区包括多个逻辑块;和/n控制器,所述控制器耦接到所述介质单元,所述控制器被配置为:/n检索将数据写入第一分区的第一命令并直接存储器访问(DMA)读取与所述第一命令相关联的数据;/n识别所述第一分区的一个或多个第一逻辑块以写入与所述第一命令相关联的所述数据,其中所述一个或多个第一逻辑块在所述第一分区的分区起始逻辑块地址和所述第一分区的分区容量之间;/n检索将数据写入所述第一分区的第二命令并DMA读取与所述第二命令相关联的数据;以及/n识别所述第一分区的一个或多个第二逻辑块以写入与所述第二命令相关联的所述数据,其中所述一个或多个第二逻辑块在所述第一分区的所述分区起始逻辑块地址和所述第一分区的所述分区容量之间,并且其中所述一个或多个第二逻辑块与所述一个或多个第一逻辑块间隔开一个或多个空逻辑块。/n

【技术特征摘要】
【国外来华专利技术】20190912 US 62/899,717;20191204 US 16/703,6431.一种存储设备,包括:
介质单元,其中所述介质单元的容量被划分为多个分区,每个分区包括多个逻辑块;和
控制器,所述控制器耦接到所述介质单元,所述控制器被配置为:
检索将数据写入第一分区的第一命令并直接存储器访问(DMA)读取与所述第一命令相关联的数据;
识别所述第一分区的一个或多个第一逻辑块以写入与所述第一命令相关联的所述数据,其中所述一个或多个第一逻辑块在所述第一分区的分区起始逻辑块地址和所述第一分区的分区容量之间;
检索将数据写入所述第一分区的第二命令并DMA读取与所述第二命令相关联的数据;以及
识别所述第一分区的一个或多个第二逻辑块以写入与所述第二命令相关联的所述数据,其中所述一个或多个第二逻辑块在所述第一分区的所述分区起始逻辑块地址和所述第一分区的所述分区容量之间,并且其中所述一个或多个第二逻辑块与所述一个或多个第一逻辑块间隔开一个或多个空逻辑块。


2.根据权利要求1所述的存储设备,其中所述控制器被进一步配置为:
在检索写入数据的所述第二命令之前写入与所述第一命令相关联的所述数据;以及
在识别所述第一分区的一个或多个第二逻辑块之后写入与所述第二命令相关联的所述数据。


3.根据权利要求2所述的存储设备,其中所述控制器被进一步配置为:
在写入与所述第一命令相关联的所述数据之后,将第一完成条目返回到主机设备的完成队列;以及
在写入与所述第二命令相关联的所述数据之后,将第二完成条目返回到所述主机设备的所述完成队列。


4.根据权利要求3所述的存储设备,其中所述控制器被进一步配置为:
在写入与所述第一命令相关联的所述数据之后更新一个或多个跟踪表,以指示在返回所述第一完成条目之后,所述一个或多个第一逻辑块不可用于写入与后续命令相关联的数据;以及
在写入与所述第二命令相关联的所述数据之后更新所述一个或多个跟踪表,以指示在返回所述第二完成条目之后,所述一个或多个第二逻辑块不可用于写入与后续命令相关联的数据。


5.根据权利要求4所述的存储设备,其中所述一个或多个跟踪表包括存储在所述存储设备中的第一跟踪表和存储在所述主机设备中的第二跟踪表。


6.根据权利要求5所述的存储设备,其中所述主机设备使用所述第二跟踪表来选择用于存储与所述第二命令相关联的所述数据的所述一个或多个第二块。


7.根据权利要求1所述的存储设备,其中主机设备选择用于存储与所述第一命令相关联的所述数据的所述一个或多个第一块。


8.一种存储设备,包括:
介质单元,其中所述介质单元的容量被划分为多个分区,每个分区包括多个逻辑块;和
控制器,所述控制器耦接到所述介质单元,所述控制器被配置为:
检索将数据写入第一分区中的一个或多个第一逻辑块的第一命令,其中所述一个或多个第一逻辑块在所述第一分区的分区起始逻辑块地址与所述第一分区的分区容量之间;
将与所述第一命令相关联的所述数据写入所述第一分区的所述一个或多个第一逻辑块并写入所述介质单元中的第一位置;
检索将数据写入所述第一分区中的一个或多个第二逻辑块的第二命令,其中所述一个或多个第二逻辑块在所述第一分区的所述分区起始逻辑块地址和所述第一分区的所述分区容量之间,并且其中所述一个或多个第二逻辑块与所述第一一个或多个逻辑块是非顺序的;以及
将与所述第二命令相关联的所述数据写入所述第一分区的所述一个或多个第二逻辑块并写入所述介质单元中的第二位置,所述第二位置位于所述第一位置的顺序位置。


9.根据权利要求8所述的存储设备,其中所述控制器被进一步配置为:
检索将数据写入所述第一分区中的一个或多个第三逻辑块的第三命令,其中所述一个或多个第三逻辑块在所述第一分区的所述分区起始逻辑块地址和所述第一分区的所述分区容量之间,并且其中所述一个或多个第三逻辑块与所述一个或多个第二逻辑块是非顺序的;以及
将与所述第三命令相关联的所述数据写入所述第一分区的所述一个或多个第三逻辑块并写入所述介质单元中的第三位置,所述第三位置位于所述第二位置的顺序位置。


10.根据权利要求8所述的存储设备,其中与所述第二命令相关联的所述数据被写入两个或更多个第二逻辑块,并且其中所述两个或更多个第二逻辑块彼此是非顺序的。


11.根据权利要求8所述的存储设备,其中主机设备选择用于存储与所述第一命令相关联的所述数据的所述一个或多个第一块,以及用于存储与所述第二命令相关联的所述数据的所述一个或多个第二逻辑块。

<...

【专利技术属性】
技术研发人员:A·D·班尼特M·比约林D·L·赫尔米克
申请(专利权)人:西部数据技术公司
类型:发明
国别省市:美国;US

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

1