基于区复位行为的数据存储设备的区分配

文档序号:1952028 发布日期:2021-12-10 浏览:2次 >En<

阅读说明:本技术 基于区复位行为的数据存储设备的区分配 (Zone allocation for data storage devices based on zone reset behavior ) 是由 P.鲁斯维格 Y.阿塔克尔蒂 于 2021-04-07 设计创作,主要内容包括:本发明题为“基于区复位行为的数据存储设备的区分配”。在一个具体实施中,存储器控制器包括主机接口、存储器接口和闪存转换层(FTL)。FTL被配置为从主机设备接收将数据存储在固态存储器的区中的请求。FTL还被配置为将区复位率分类确定为热分类、冷分类和正常分类中的一者。FTL还被配置为当区复位率分类是热分类时,将区分配给具有最少自由管芯块的存储器管芯。FTL还被配置为当区复位率分类是冷分类时将区分配给具有最多自由管芯块的存储器管芯。FTL被进一步配置为将数据发送到存储器管芯以存储在其中。(The invention provides zone allocation of a data storage device based on zone reset behavior. In one implementation, a memory controller includes a host interface, a memory interface, and a Flash Translation Layer (FTL). The FTL is configured to receive a request from a host device to store data in a region of solid state memory. The FTL is further configured to determine a zone reset rate classification as one of a hot classification, a cold classification, and a normal classification. The FTL is further configured to assign a region to a memory die having a least number of free die blocks when the region reset rate classification is a thermal classification. The FTL is further configured to assign a region to the memory die having the most free die blocks when the region reset rate classification is a cold classification. The FTL is further configured to transmit data to the memory die for storage therein.)

基于区复位行为的数据存储设备的区分配

背景技术

本申请整体涉及存储器设备,并且更具体地,涉及基于区复位率在存储器中分配区的控制器。

许多固态驱动器使用NAND闪存进行存储。在NAND闪存中,编程(串)大小和擦除(块)大小之间存在失配。这需要主机和NAND闪存之间的闪存转换层来管理由编程和擦除之间的失配引起的问题(例如,写入放大、磨损均衡、压缩等)。分区名称空间(“ZNS”)固态驱动器被设计成针对NAND闪存进行优化。在一些ZNS系统中,区容量与NAND管芯块(die block)的容量匹配。这种容量匹配简化了闪存转换层的大部分操作,因为数据被顺序地写入每个区。例如,容量匹配允许主机通过消除对虚拟块的需要来利用固态驱动器上的几乎所有管芯块。虽然这导致主机的成本较低(例如,驱动成本),但这也为闪存转换层带来了新的挑战。例如,每个物理管芯不具有相同数量的坏块。因此,在ZNS中,每个管芯具有不同的容量。假设每个管芯具有相同的数据写入速率和相同的数据无效化(即,区复位)速率,则每个管芯可在不同时间达到物理填充。如果管芯达到容量,则该管芯将脱机并由于并行性降低而降低系统性能。因此,需要一种用于在ZNS系统中分配区以防止管芯达到容量的方法。

发明内容

分区命名空间(“ZNS”)系统中的每个区将不以相同的速率进行无效化。一些区(本文称为“冷区”)将仅被复位数次,因此将长时间消耗管芯块。一些区(本文称为“热区”)将被多次复位,并因此将在短时间后从管芯块释放。本公开提供了将冷区分配给具有最高数量的自由管芯块的管芯以及将热区分配给具有最少数量的自由管芯块的管芯的设备、方法和装置。这样,防止了管芯达到全容量,因为管芯容量基于主机行为得以保持。

本公开提供了一种存储器控制器,在一个具体实施中,该存储器控制器包括主机接口、存储器接口和闪存转换层。主机接口被配置为与主机设备连接。存储器接口被配置为与固态存储器连接。闪存转换层耦接到主机接口和存储器接口。闪存转换层被配置为通过主机接口从主机设备接收将数据存储在存储器的区中的请求。闪存转换层还被配置为将区的区复位率分类确定为热分类、冷分类和正常分类中的一者。闪存转换层还被配置为基于区复位率分类将区分配给存储器中的管芯。当区复位率分类为热分类时,区被分配到具有最少自由管芯块的管芯。当区复位率分类为冷分类时,区被分配到具有最多自由管芯块的管芯。闪存转换层还被配置为通过存储器接口将数据发送到存储器中的管芯以存储在存储器中。

本公开还提供了一种方法,该方法包括从主机设备接收将数据存储在固态存储器的区中的请求。该方法还包括利用闪存转换层将该区的区复位率分类确定为热分类、冷分类和正常分类中的一者。该方法进一步包括利用闪存转换层基于区复位率分类将区分配到存储器中的管芯。当区复位率分类为热分类时,区被分配到具有最少自由管芯块的管芯。当区复位率分类为冷分类时,区被分配到具有最多自由管芯块的管芯。该方法还包括将数据发送到存储器中的管芯以存储在其中。

本公开还提供了一种装置,在一个具体实施中,该装置包括:用于从主机设备接收将数据存储在固态存储器的区中的请求的装置;用于将区的区复位率分类确定为热分类、冷分类和正常分类中的一者的装置;用于基于区复位率分类将区分配到存储器中的管芯的装置;以及用于将数据发送到存储器中的管芯以存储在其中的装置。当区复位率分类为热分类时,区被分配到具有最少自由管芯块的管芯。当区复位率分类为冷分类时,区被分配到具有最多自由管芯块的管芯。

本公开的各个方面提供了对存储器设备的改进。本公开可以各种形式体现,包括由软件和/或固件控制的硬件或电路。上述发明内容仅旨在给出本公开的各个方面的一般构想,而不以任何方式限制本公开的范围。

附图说明

图1是根据本公开的一些具体实施的包括数据存储设备的系统的一个示例的框图。

图2是根据本公开的一些具体实施的具有不同区存储容量的多个NAND管芯的一个示例的图示。

图3是根据本公开的一些具体实施的用于基于区复位率来分配闪存存储器的区的方法的示例的流程图。

图4是根据本公开的一些具体实施的用于基于区复位计数器确定区复位率分类的方法的示例的流程图。

图5是根据本公开的一些具体实施的用于基于缩放区复位计数器来确定区复位率分类的方法的示例的流程图。

具体实施方式

在以下描述中,阐述了许多细节,诸如数据存储设备配置、控制器操作等,以便提供对本公开的一个或多个方面的理解。对本领域的技术人员将显而易见的是,这些具体细节仅仅是示例性的,并非旨在限制本申请的范围。具体地讲,与闪存转换层相关联的功能可由硬件(例如,模拟或数字电路)、硬件和软件的组合(例如,存储在由处理器或控制电路执行的非暂态计算机可读介质中的程序代码或固件)或任何其他合适的装置来执行。以下描述仅旨在给出本公开的各个方面的一般构想,而不以任何方式限制本公开的范围。此外,对于本领域的技术人员将显而易见的是,尽管本公开涉及NAND闪存,但本文讨论的概念适用于其他类型的固态存储器,诸如NOR、PCM(相变存储器)、ReRAM等。

图1是包括数据存储设备102的系统100的一个示例的框图。在一些具体实施中,数据存储设备102是闪存存储器设备。例如,数据存储设备102为Secure Digital卡、卡或另一种类似类型的数据存储设备。图1所示的数据存储设备102包括闪存存储器104和控制器106。数据存储设备102耦接到主机设备108。主机设备108被配置为向数据存储设备102提供数据110(例如,用户数据)以存储在例如闪存存储器104中。主机设备108还被配置为请求待从闪存存储器104读取的数据110。主机设备108是例如计算机、服务器、接入终端或另一类似设备。

数据存储设备102的闪存存储器104耦接到控制器106。在一些具体实施中,闪存存储器104是NAND闪存存储器。图1所示的闪存存储器104包括多个管芯112A-112N(例如,NAND管芯)。多个管芯112A-112N中的每一者包括多个管芯块。例如,在图1中,管芯112A包括代表性管芯块114。

图1所示的控制器106包括主机接口116、存储器接口118和闪存转换层120。控制器106在图1中以简化形式示出。本领域的技术人员将认识到,用于闪存存储器的控制器将包括除图1中具体示出的那些之外的附加模块或部件。另外,尽管数据存储设备102在图1中被示出为包括控制器106,但在其他具体实施中,控制器106替代地位于主机设备108内或以其他方式与数据存储设备102分开。因此,通常将由控制器106执行的操作(例如,磨损均衡、坏块管理、数据加扰、垃圾收集、地址映射等)可由主机设备108或连接到数据存储设备102的另一设备执行。

控制器106被配置为经由主机接口116向主机设备108发送数据以及从该主机设备接收数据和指令。主机接口116使得主机设备108能够例如使用任何合适的通信协议从闪存存储器104读取以及写入闪存存储器104。合适的通信协议包括例如通用闪存存储(“UFS”)主机控制器接口规范、安全数字(“SD”)主机控制器规范等。

控制器106还被配置为经由存储器接口118向闪存存储器104发送数据和命令以及从该闪存存储器接收数据。作为示例性示例,控制器106被配置为发送数据和写入命令以指示闪存存储器104将数据存储在管芯112A中的特定管芯块中。控制器106还被配置为向闪存存储器104发送读取命令以从闪存存储器104中的特定管芯块读取数据。

图1所示的闪存转换层120包括处理器122(例如,微处理器、微控制器、现场可编程门阵列[“FPGA”]半导体、专用集成电路[“ASIC”]或另一合适的可编程设备)和非暂态计算机可读介质或存储器124(例如,包括随机存取存储器[“RAM”]和只读存储器[“ROM”])。处理器122可操作地连接到闪存转换层120、控制器106和数据存储设备102内的各种模块。例如,固件作为计算机可执行指令被加载到存储器124的ROM中。这些计算机可执行指令能够从存储器124被检索并由处理器122执行以控制闪存转换层120的操作并执行本文所述的过程。在一些具体实施中,闪存转换层120的一个或多个模块对应于闪存转换层120内的单独硬件部件。在其他具体实施中,闪存转换层120的一个或多个模块对应于存储在存储器124内并由处理器122执行的软件。存储器124被配置为存储在操作期间由闪存转换层120使用的数据。

闪存转换层120被配置为将数据写入闪存存储器104的区。包括在一个区中的页面数量匹配闪存存储器104中的一个管芯块的大小。此外,闪存转换层120被配置为以顺序方式将数据写入区(即,从页面0写入到页面n,其中页面n是区中的最后一个页面)。因此,闪存转换层120被配置为在将数据写入区时填充一个管芯块。此外,闪存转换层120被配置为在复位区时复位整个管芯块(即,管芯块中的每个页面)。

坏的管芯块是由于已被物理损伤或损坏而不再能够可靠地存储和检索数据的管芯块。闪存存储器104中的多个管芯112A-112N中的每一者具有基本上相同数量的总管芯块。然而,闪存存储器104中的多个管芯112A-112N中的每一者不具有相同数量的坏管芯块。因此,闪存存储器104中的多个管芯112A-112N中的每一者不具有相同数量的良好管芯块。如上所述,一个区填充一个管芯块。因此,闪存存储器104中的多个管芯112A-112N中的每一者的区存储容量不同,因为每个管芯具有不同数量的良好管芯块。图2示出了用于多个NAND管芯202-214的不同区存储容量的示例。图2中包括的每个NAND管芯的区存储容量由其高度表示。例如,NAND管芯202具有比NAND管芯204更大的区存储容量,因为NAND管芯202高于NAND管芯204。包括在图2中的每个NAND管芯的高度还表示其中包括的良好管芯块的量。图2中的每个NAND管芯的阴影部分表示其中存储的有效数据的量。

假设图2所示的每个NAND管芯具有相同的数据写入速率和相同的数据无效化(即,区复位)速率,则每个NAND管芯在不同的时间达到物理填充。然而,闪存存储器104的每个区将不会以相同的速率被无效化(即,复位)。一些区(本文称为“冷区”)将仅被复位数次,因此将长时间消耗管芯块。一些区(本文称为“热区”)将被多次复位,并因此将在短时间后从管芯块释放。闪存转换层120被配置成将冷区分配给具有最高数量的自由管芯块量的管芯,并将热区分配给具有最少数量的自由管芯块量的管芯。这样,防止了管芯达到全容量,因为管芯容量基于主机行为得以保持。

图3是用于基于区复位率来分配闪存存储器104的区的方法300的一个示例的流程图。在框302处,从主机设备108接收将数据存储到闪存存储器104的区的请求。例如,闪存转换层120可经由主机接口116从主机设备108接收请求。在框304处,将该区的区复位率分类确定为热分类、冷分类和正常分类中的一者。区复位率分类指示该区被主机设备108复位的频率。将热分类分派给经历大量区复位的区。将冷分类分派到经历少量区复位的区。将正常分类分派给经历平均数量的区复位的区。下文进一步详细描述了用于确定区复位率分类的不同具体实施。

在框306处,基于区复位率分类将区分配给闪存存储器104中的管芯。当区复位率分类为热分类时,闪存转换层120将区分配给具有最少自由管芯块的管芯。此外,当区复位率分类为冷分类时,闪存转换层120将区分配给具有最多自由管芯块的管芯。如本文所用,术语“自由管芯块”是指当前未存储有效数据的良好管芯块。在一些具体实施中,闪存转换层120被配置为当区复位率分类是正常分类时,将区分配给具有空闲管芯块的闪存存储器104中的任何管芯。

在框308处,将数据发送到闪存存储器104中的管芯以存储在其中。例如,闪存转换层120经由存储器接口118发送数据和写入命令,以指示闪存存储器104将数据存储在分配的管芯中。

在一些具体实施中,闪存转换层120被配置为基于从主机设备108接收的指示来确定区的区复位率分类。例如,当主机设备108发送打开区的请求时,该请求可包括该区是热区、冷区还是正常区的指示。另选地或除此之外,在一些具体实施中,闪存转换层120被配置为基于区被复位的总次数来确定区的区复位率分类。例如,对于闪存存储器104中的每个区,每当主机设备108复位该区时,闪存转换层120可使区复位计数器递增,并且基于区复位计数器确定区的区复位率分类。单独的区复位计数器可用于闪存存储器104中的每个区。

图4是用于基于区复位计数器来确定区的区复位率分类的方法400的一个示例的流程图。在框402处,闪存转换层120确定区复位计数器是否大于热阈值。当区复位计数器大于热阈值时,在框404处,闪存转换层120用热分类对该区进行分类。另选地,当区复位计数器小于热阈值时,方法400前进至框406。在框406处,闪存转换层120确定区复位计数器是否小于冷阈值。冷阈值小于热阈值。当区复位计数器小于冷阈值时,在框408处,闪存转换层120利用冷分类对该区进行分类。另选地,当区复位计数器大于冷阈值时,在框410处,闪存转换层120利用正常分类对该区进行分类。

在一些具体实施中,闪存转换层120被配置为基于闪存存储器104的区复位的总次数来确定热阈值和冷阈值。例如,闪存转换层120可将冷阈值设定为区复位总次数的10%,并且将热阈值设定为区复位总次数的90%。闪存存储器104的区复位的总次数是闪存存储器104中的任何区被复位的总次数。在一些具体实施中,闪存转换层120被配置为通过将闪存存储器104中的所有区的区复位计数器的值相加来确定闪存存储器104的区复位的总次数。

在一些具体实施中,基于闪存存储器104的区复位的总次数来缩放区复位计数器。图5是用于基于经缩放的区复位计数器来确定区的区复位率分类的方法500的一个示例的流程图。在框502处,闪存转换层120基于闪存存储器104的区复位的总次数来缩放区复位计数器以生成经缩放的区复位计数器。在一些具体实施中,闪存转换层120被配置为通过将区复位计数器除以闪存存储器104的区复位总次数来生成经缩放的区复位计数器。在框504处,闪存转换层120确定经缩放的区复位计数器是否大于热阈值。当经缩放的区复位计数器大于热阈值时,在框506处,闪存转换层120利用热分类对该区进行分类。另选地,当经缩放的区复位计数器小于热阈值时,方法500前进至框508。在框508处,闪存转换层120确定经缩放的区复位计数器是否小于冷阈值。当经缩放的区复位计数器小于冷阈值时,在框510处,闪存转换层120利用冷分类对该区进行分类。另选地,当区复位计数器大于冷阈值时,在框512处,闪存转换层120利用正常分类对该区进行分类。

结合所公开的具体实施,装置包括用于从主机设备接收将数据存储在闪存存储器的区中的请求的装置。用于接收请求的装置可对应于例如主机接口116、闪存转换层120或两者的组合。该装置还包括用于将区的区复位率分类确定为热分类、冷分类和正常分类中的一者的装置。用于确定区速率分类的装置可对应于例如闪存转换层120。该装置还包括用于基于区复位率分类将区分配到闪存存储器中的管芯的装置。用于分配区的装置可对应于例如闪存转换层120。该装置还包括用于将数据发送到闪存存储器中的管芯以存储在其中的装置。用于发送数据的装置可对应于例如存储器接口118、闪存转换层120或两者的组合。

在一些具体实施中,用于确定区复位率分类的装置被配置为每当该区被复位时使区复位计数器递增,当区复位计数器大于热阈值时,用热分类对该区进行分类,当区复位计数器小于冷阈值时,用冷分类对该区进行分类,以及当区复位计数器在热阈值和冷阈值之间时,用正常分类对区进行分类。

在一些具体实施中,该装置还包括用于基于闪存存储器的区复位的总次数来确定热阈值和冷阈值的装置。用于确定热阈值和冷阈值的装置可对应于例如闪存转换层120。

在一些具体实施中,用于确定区复位率分类的装置被配置为每当该区被复位时使区复位计数器递增,基于闪存存储器的区复位的总次数来缩放区复位计数器以生成经缩放的区复位计数器,当经缩放的区复位计数器大于热阈值时,用热分类对该区进行分类,当经缩放的区复位计数器小于冷阈值时,用冷分类对该区进行分类,以及当经缩放的区复位计数器在热阈值和冷阈值之间时,用正常分类对该区进行分类。

在一些具体实施中,用于确定区复位率分类的装置被配置为基于从主机设备接收的指示来确定区复位率分类。在一些具体实施中,用于分配区的装置被配置为当区复位率分类为正常分类时,将该区分配给具有空闲管芯块的闪存存储器中的任何管芯。

对于本文所述的过程、系统、方法、启发法等,应当理解,尽管此类过程等的步骤已被描述为根据某个有序顺序发生,但此类过程可用以不同于本文所述顺序的顺序执行的所述步骤来实践。还应当理解,可同时执行某些步骤,可添加其他步骤,或者可省略本文所述的某些步骤。换句话讲,本文对过程的描述是为了示出某些具体实施的目的而提供的,并且绝不应理解为限制权利要求。

因此,应当理解,以上描述旨在为示例性的而非限制性的。在阅读以上描述时,除所提供的示例之外的许多实施方案和应用将是显而易见的。不应当参考以上描述来确定范围,而是应当参考所附权利要求连同赋予此类权利要求的等同物的完整范围来确定范围。预期和打算的是,本文所讨论的技术将发生未来开发,并且所公开的系统和方法将被结合到此类未来实施方案中。总之,应当理解,本申请能够进行修改和变化。

权利要求书中使用的所有术语旨在被赋予其熟知本文所述技术的人员所理解的最广泛的合理构造和其普通含义,除非在本文中作出明确的相反指示。具体地讲,使用单数冠词诸如“一个”、“该”、“所述”等应被理解为叙述所指示的要素中的一个或多个,除非权利要求书叙述相反的明确限制。

提供说明书摘要以允许读者快速确定技术公开的实质。应当理解,其将不用于解释或限制权利要求的范围或含义。此外,在前述具体实施方式中,可以看出,出于简化本公开的目的,在各种实施方案中将各种特征分组在一起。本公开的该方法不应理解为反映这样的意图:受权利要求书保护的实施方案需要比每个权利要求中明确叙述的更多的特征。相反,如以下权利要求所反映的,发明主题在于少于单个公开的实施方案的所有特征。因此,以下权利要求书据此并入具体实施方式中,其中每个权利要求独立地作为单独要求保护的主题。

13页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:在半导体封装之间引导控制数据

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类