用于在非易失性存储器存储装置中精简配置的系统、方法和非暂时性计算机可读介质与流程

未命名 08-01 阅读:108 评论:0


1.本公开一般地涉及非易失性存储器装置,更具体地涉及非易失性存储装置的精简配置(thin provisioning)和数据压缩。


背景技术:

2.用户或主机通常在包括诸如固态驱动器(例如ssd)之类的非易失性存储装置的数据存储装置中存储的数据少于用户根据需要指示的数据。精简配置允许存储装置基于用户实际存储或预期存储的数据量为用户分配和配置存储空间,使得每个用户的实际分配的存储空间可以小于每个用户已指示的存储空间。换言之,当实施精简配置时,用户根据需要指示的聚合(aggregate)空间大于存储装置上用于存储用户数据的总空间。
3.然而,由于用户的现代数据使用需求,当前的精简配置方法没有为数据存储装置实现足够的成本效益,尤其是在数据中心设置中。因此,长期以来,人们认为ssd需要扩展宣传的存储容量,同时以降低总体拥有成本(tco)的方式无缝提供足够的物理存储。


技术实现要素:

4.在一些布置中,响应于确定多个命名空间(namespace)的命名空间大小之和小于用于精简配置点的第一阈值而创建命名空间。从主机接收写入命令和数据。响应于确定所述多个命名空间的命名空间利用(utilization)之和小于第二阈值而接收所述写入命令和所述数据。所述数据被压缩并存储在所创建的命名空间中。
附图说明
5.图1示出了根据一些实施方式的包括非易失性存储装置、主机和租户的系统的框图。
6.图2是示出根据各种布置的用于在存储装置中创建命名空间的示例方法的流程图。
7.图3是示出根据各种布置的用于向存储装置写入数据的示例方法的流程图。
8.图4是示出根据一些布置的用于创建和写入命名空间的示例方法的流程图。
具体实施方式
9.精简配置存储装置(例如,非易失性存储装置,如ssd)允许存储装置报告存储装置可存储比可完全写入到存储装置(例如,ssd的nand存储装置)的数据量(例如,主机逻辑地址的数量)大的数据量(例如,诸如逻辑块地址(lba)之类的主机逻辑地址的数量)。在一些示例中,命名空间是一组逻辑块地址(lba),对应于主机应用或软件并由主机应用或软件使用。主机可以通过向存储装置发出命名空间利用命令或请求(例如,namespace utilization(nuse))来保持跟踪命名空间当前已分配的逻辑块数量。换言之,命名空间利
用允许主机监视存储在物理介质(例如,nand存储装置)中的实际数据量。
10.各种基于租户的数据中心解决方案(例如,云存储)实现精简配置。在一个示例中,用户订阅一定量的云存储(例如,用于数字图片的200gb数据),可能仅存储约50gb。数据中心支持云存储,因此,数据中心为多个租户汇集(pool)存储装置,并对这些存储装置精简配置在一起,而不是为用户分配150gb的空闲存储。在庞大的用户群体中,数据中心很少不在订阅量内为任何用户提供足够的存储空间。
11.为非易失性存储器存储装置(例如ssd)实现和嵌入硬件加速压缩引擎的尝试在很大程度上不成功,因为主机系统竭力(struggle to)根据数据有效负载的熵来报告相对于可用存储的驱动器大小。例如,虽然人类可读文件压缩得很好,但加密数据和预压缩数据很难压缩。主机系统竭力确定是否有足够的存储空间可用于某些软件应用。
12.一些布置涉及在将主机数据存储到存储装置时压缩主机数据,从而减少存储装置上实际存储的主机数据量。在先前的压缩方法中,存储装置未被配置为充分报告压缩程度以允许主机获得关于可用存储容量的准确信息。只有在不可能增加主机存储的情况下才实现了压缩,这限制了压缩对提高写入放大率和耐久性的益处。
13.一些布置涉及将主机精简配置与硬件数据压缩集成,从而提高精简配置的有效程度。通过同时允许压缩和精简配置,精简配置的存储装置的tco将得到改善。这允许在数据被存储装置压缩的情况下,存储装置被宣传为具有更大的存储容量。
14.在一些布置中,主机监视可用空间(例如,对于某个命名空间,使用nuse),并且后端在前端计算nuse时报告实际可用的介质存储。通过合并数据压缩单元,每个介质单元可以支持更多的后端集群。
15.为了帮助说明本实施方式,图1示出了根据一些实施方式的包括非易失性存储装置100、主机101和租户102的系统的框图。在一些示例中,主机101可以是计算装置,例如具有处理能力的装置,例如台式计算机、膝上型计算机、服务器、智能装置、触摸板等。主机101可以包括操作系统(os),操作系统被配置为提供文件系统和使用该文件系统的应用。在这方面,租户102是使用文件系统的应用或软件的示例。租户102可以位于与主机101相同的计算装置上,或者位于另一计算装置上。文件系统通过适当的有线或无线通信链路或网络与非易失性存储装置100(例如,非易失性存储装置100的控制器)通信,以管理非易失性存储装置100中的数据的存储。在这方面,主机101的文件系统使用到通信链路或网络的适当接口向非易失性存储装置100发送数据并从非易失存储装置100接收数据。
16.在一些示例中,非易失性存储装置100位于数据中心(为简洁起见未示出)中。数据中心可以包括一个或多个平台,每个平台支持一个或多个存储装置(例如但不限于非易失性存储装置100)。在一些实施方式中,平台内的存储装置连接到机架顶部(tor)交换机,并且可以通过tor交换机或另一合适的平台内通信机制彼此通信。在一些实施方式中,至少一个路由器可以通过合适的网络结构促进不同平台、机架或机柜中的非易失性存储装置之间的通信。
17.非易失性存储装置100的示例包括但不限于固态驱动器(ssd)、非易失式双列直插式存储器模块(nvdimm)、通用闪存(ufs)、安全数字(sd)装置等。在其他示例中,非易失存储装置100可在数据中心以外的环境中与主机101可操作地耦合。
18.非易失性存储装置100至少包括控制器110和存储器阵列120。为简洁起见,未示出
非易失性存储装置100的其他部件。存储器阵列120(或非易失性存储器)包括nand闪存装置130a-130n。nand闪存装置130a-130n中的每一个包括一个或多个单独的nand闪存管芯(die),这些管芯是能够在没有电力的情况下保持数据的非易失性存储器(nvm)。因此,nand闪存装置130a-130n是指闪存装置100内的多个nand闪存装置或管芯。nand闪存装置130a-130n中的每一个包括一个或多个管芯,每个管芯具有一个或多个平面。每个平面有多个块,每个块有多个页。
19.虽然nand闪存装置130a-130n被示出为存储器阵列120的示例,但用于实现存储器阵列120的非易失性存储器技术的其他示例包括但不限于(电池支持的)动态随机存取存储器(dram)、磁随机存取存储器(mram)、相变存储器(pcm)、铁电ram(feram)等。
20.控制器110的示例包括但不限于ssd控制器(例如,客户端ssd控制器、数据中心ssd控制器、企业ssd控制器等)、ufs控制器或sd控制器等。
21.控制器110可以组合多个nand闪存装置130a-130n中的原始数据存储,使得这些nand闪存装置130a-130n在逻辑上用作单个存储单元。控制器110可以包括处理器、微控制器、缓冲器、纠错系统、数据加密系统、闪存转换层(ftl)和闪存接口模块。这些功能可以硬件、软件和固件或其任何组合来实现。在一些布置中,控制器110的软件/固件可以存储在存储器阵列120中或任何其他合适的计算机可读存储介质中。
22.控制器110包括用于执行本文描述的功能以及其他功能的适当处理和存储能力。如上所述,控制器110管理nand闪存装置130a-130n的各种特征,包括但不限于i/o处理、读取、写入/编程、擦除、监视、日志记录、错误处理、垃圾回收、磨损平衡、逻辑到物理地址映射、数据保护(加密/解密、循环冗余校验(crc))、纠错编码(ecc)、数据加扰等。因此,控制器110向nand闪存装置130a-130n提供可见性。
23.图2是示出根据各种布置的用于在存储装置100(图1)中创建命名空间的示例方法200的流程图。参考图1-2,方法200可以由存储装置100、主机101和租户102执行。存储装置100和主机101确定是否可以响应于租户102的存储分配请求来创建命名空间。在一些示例中,方法200反映存储器阵列120的精简配置。
24.在205,租户205请求存储分配。例如,租户205可以向存储装置100发送请求分配存储空间(例如,请求用于存储数据的命名空间)的请求消息。在一些示例中,租户205向主机101发送请求消息,并且主机101将请求消息转发到存储装置100的控制器110。在一些示例中,租户205请求对应于租户205的给定软件或应用的存储分配。在210,存储装置100的控制器110接收存储分配请求。
25.响应于210,在215,控制器110确定命名空间大小。在一些示例中,控制器110将指示命名空间大小的信息存储在控制器110内部的存储器、控制器110外部的存储器和/或存储器阵列120中。每当创建新命名空间时,控制器110通过添加新命名空间及其分配的大小来更新所存储的命名空间大小信息。响应于在210接收到请求,控制器110通过检索所存储的命名空间大小信息来确定命名空间大小。在任何给定时间,为命名空间存储的实际数据可以小于或很大程度地小于命名空间的所分配命名空间大小。
26.在220,控制器110向主机101报告命名空间大小。例如,控制器110向主机101发送命名空间大小报告。命名空间大小报告包括一个或多个命名空间中每个命名空间的所分配命名空间大小。在225,主机101接收命名空间大小。
27.在230,主机101确定命名空间大小之和是否小于第一阈值。第一阈值指定存储装置100的精简配置命名空间的极限。在一些示例中,基于存储装置100的用于存储数据的总容量(例如,存储器阵列120的总容量)确定第一阈值。换言之,基于用于存储主机数据的非易失性存储器的总容量确定第一阈值。存储装置100的总容量至少包括存储在存储器阵列120中的有效数据、存储在存储器阵列120中的(准备好进行垃圾回收的)无效数据和空的空间。在一些布置中,第一阈值是总容量的倍数。例如,第一阈值是存储装置100的总容量的1.5、2、2.5、3或5倍。
28.在一些示例中,可以基于收集的关于租户102的容量特性和压缩因子的统计信息来动态地调整该倍数。例如,数据中心(例如,用于存储数字文档的用户的文档服务器)通常具有特定类型/类别(例如,存储数字文档的租户)的多个租户(每个租户是例如但不限于租户102的租户)。在与租户类型相关联的数据(例如,数字文档文件)能够被显著压缩(高压缩因子)的一些示例中,可以增加用于计算第一阈值的倍数。另一方面,在数据(例如,加密数据)不能被压缩或只能被不显著地压缩(低压缩因子)的一些示例中,可以减小用于计算第一阈值的倍数。在该类型租户所请求的容量很少被使用或者使用量在预定时间段内很少超过阈值(例如,所请求容量的10%、20%或40%)的一些示例中,可以增大用于计算第一阈值的倍数。另一方面,在该类型租户所请求的容量通常在预定时间段内被使用超过阈值(例如,所请求容量的40%、50%或60%)的一些示例中,可以减小用于计算第一阈值的倍数。换言之,用于计算第一阈值的倍数可以基于租户的类型或类别而被增大/减小。响应于确定租户102属于第一类别,使倍数增大(按偏移、按百分比增大或增大到特定数量)。另一方面,响应于确定租户102属于第二类别,使倍数减小(按偏移、按百分比减小或减小到特定数量)。在一些布置中,用于计算第一阈值的倍数可以基于压缩因子而被增大/减小。响应于确定与特定数据或租户102相关联的压缩因子超过阈值,使倍数增大(按偏移、按百分比增大或增大到特定数量)。另一方面,响应于确定与特定数据或租户102相关联的压缩因子,使倍数减小(按偏移、按百分比减小或减小到特定数量)。
29.响应于确定命名空间大小之和不小于第一阈值(230:否),主机101在235拒绝存储分配请求。例如,主机1012向租户102发送拒绝消息。在240,租户102接收指示存储分配请求已被拒绝的拒绝消息。
30.另一方面,响应于确定命名空间大小之和小于第一阈值(230:是),主机101在245请求命名空间。例如,主机101向存储装置100发送新命名空间命令。在250,存储装置100(例如,控制器110)接收创建命名空间的请求(例如,新命名空间命令)。在255,存储装置100(例如,控制器110)创建新命名空间。
31.在一些布置中,主机101中负责精简配置管理的更高级存储功能在后台运行,以通过提供进一步的存储或将命名空间从存储装置100移动到诸如存储装置100之类的另一存储装置来释放容量,防止租户102在240接收拒绝消息(例如,在235)。
32.图3是示出根据各种布置的用于向存储装置100(图1)写入数据的示例方法200的流程图。参考图1-3,方法300可以由存储装置100、主机101和租户102执行。如图所示,对于任何应用数据写入操作,确定是否有足够的实际容量来存储数据。如果没有实际容量,则生成错误消息。另一方面,如果有足够容量,则数据被压缩并写入到存储器阵列120。
33.在305,租户102执行应用数据写入。例如,租户102向主机101发送应用数据写入请
求和关联数据(本文称为“写入数据”)。在310,主机101确定命名空间利用之和(例如,sum(nuse))是否小于第二阈值。例如,主机101向存储装置100发出命名空间利用命令或请求(例如,nuse),以检索每个命名空间当前已分配的逻辑块的数量。存储装置100(例如,控制器110)将与每个命名空间已分配的逻辑块的数量相关的信息存储在控制器110内部的存储器中、控制器110外部的存储器中或存储器阵列120中。响应于接收到命名空间利用命令或请求,控制器110检索与每个命名空间已分配的逻辑块的数量相关的信息,并将其提供给主机101。
34.主机101聚合命名空间利用之和(例如,存储装置100的命名空间的有效数据的当前命名空间大小之和),并确定该和是否小于第二阈值。鉴于方法200中的精简配置,第二阈值指定用于将写入数据物理写入到存储装置100的极限。在一些示例中,基于存储装置100的用于存储数据的总容量(例如,存储器阵列120的总容量)确定第二阈值。换言之,基于用于存储主机数据的非易失性存储器的总容量确定第二阈值。存储装置100的总容量至少包括存储在存储器阵列120中的有效数据、存储在存储器阵列120中的(准备好进行垃圾回收的)无效数据和空的空间。在一些布置中,第二阈值是总容量的一部分。例如,第二阈值小于存储装置100的总容量的100%(例如,95%、90%、80%等)。
35.响应于确定所有命名空间的命名空间利用之和不小于第二阈值(310:否),主机101在315向租户102发送错误消息。租户102在320接收错误消息。
36.另一方面,响应于确定命名空间利用之和小于第二阈值(310:是),主机101将写入命令和相关联的写入数据发送到要写入的存储装置100。在330,存储装置100接收写入命令和写入数据。
37.响应于接收到写入命令和写入数据,存储装置100(例如,控制器110)压缩写入数据。控制器110可以使用任何合适的方法压缩写入数据。压缩的写入数据的大小小于从主机101接收的未压缩的写入数据的大小。在340,控制器110将压缩的写入数据写入到存储器阵列120(例如,非易失性存储器)。
38.方法300是主机101和存储装置100之间的反馈环路的压缩,其确定租户102是否被允许向在方法200中分配的命名空间写入更多数据。压缩与精简配置的组合允许存储装置100写入更多数据,从而提高利用和存储空间效率。
39.在一些布置中,主机101中负责精简配置管理的更高级存储功能在后台运行,以通过提供进一步的存储或将命名空间从一个存储装置100移动到诸如存储装置100之类的另一存储装置来释放容量,防止租户102在320接收拒绝消息(例如,在315)。
40.图4是示出根据一些布置的用于创建和写入到命名空间的示例方法400的流程图。
41.在410,响应于确定多个命名空间的命名空间大小之和小于第一阈值(例如,230:是),创建命名空间(例如,在255)。
42.在420,存储装置100从主机101接收写入命令和写入数据(例如,在330)。响应于确定多个命名空间的命名空间利用之和小于第二阈值(例如,310:是),接收写入命令和写入数据。
43.在430,存储装置100(例如,控制器110)压缩写入数据(例如,在335)。在440,存储装置100(例如,控制器110)将写入数据存储到在存储器阵列120(非易失性存储器)中的所创建的命名空间,例如在340。
44.在一些布置中,方法400还包括接收存储分配请求(例如,在210)。响应于接收到存储分配请求,存储装置100(例如,控制器110)向主机报告多个命名空间的命名空间大小(例如,在220)。
45.在一些布置中,方法400还包括从主机101接收创建新命名空间的请求(例如,在250)。响应于接收到创建新命名空间的请求,存储装置100(例如,控制器110)创建命名空间(例如,在255)。
46.在多个命名空间的命名空间大小之和不小于第一阈值(230:否)的示例中,拒绝存储分配请求(例如,在235和240)。
47.在一些布置中,基于非易失性存储器(例如,存储器阵列120)的用于存储主机数据或租户数据的总容量,确定第一阈值。将对应于多个命名空间的数据存储在非易失性存储器中。例如,第一阈值是非易失性存储器的总容量的倍数。
48.在一些布置中,基于非易失性存储器的总容量确定第二阈值。将对应于多个命名空间的数据存储在非易失性存储器中。例如,第二阈值小于非易失性存储器的总容量。
49.在多个命名空间的命名空间利用之和不小于第二阈值(例如,310:否)的示例中,拒绝针对数据的应用数据写入操作(例如,在315和320)。
50.多个命名空间的命名空间利用包括与存储在存储装置100的存储器阵列120(例如,非易失性存储器)中的多个命名空间相对应的有效数据的大小。
51.提供前面的描述以使本领域的任何技术人员能够实践本文描述的各个方面。对这些方面的各种修改对于本领域技术人员来说将是显而易见的,并且本文定义的一般原理可以应用于其他方面。因此,权利要求不旨在限于本文所示的方面,而是要符合与语言权利要求一致的全部范围,其中对单数元素的引用并不旨在意味着“一个且仅一个”,除非如此特别说明,而是指“一个或多个”。除非另有特别说明,否则术语“一些”是指一个或多个。本领域普通技术人员已知的或以后将知道的、贯穿先前描述的各个方面的元素的所有结构和功能等价物均通过引用明确并入本文,并旨在被权利要求所涵盖。此外,本文所公开的任何内容均不旨在专用于公众,无论此类公开是否在权利要求中明确记载。任何权利要求元素不被解释为装置加功能,除非使用短语“用于
……
的装置”明确引用该元素。
52.应当理解,所公开的过程中的步骤的特定顺序或层次是说明性方法的示例。基于设计偏好,应当理解,过程中的步骤的特定顺序或层次在保持在之前描述的范围内的情况下能重新排列。所附方法权利要求以示例顺序呈现了各个步骤的元素,并且不意味着限于所呈现的特定顺序或层次。
53.提供所公开实施方式的先前描述以使得所属领域的技术人员能够制作或使用所公开的主题。对这些实施方式的各种修改对于所属领域的技术人员将容易显而易见,且本文中界定的一般原理能在不脱离先前描述的精神或范围的情况下可以应用于其它实施方式。因此,先前描述不希望限于本文所示的实施方式,而是应被赋予与本文公开的原理和新颖特征一致的最广范围。
54.所说明和描述的各种示例仅作为示例提供以说明权利要求的各种特征。然而,关于任何给定示例示出和描述的特征不一定限于相关联的示例,并且可以与示出和描述的其它示例一起使用或组合。此外,权利要求并不旨在受任何一个示例限制。
55.前述方法描述和过程流程图仅作为说明性示例而提供,且不希望要求或暗示必须
以所呈现的次序执行各种示例的步骤。如本领域技术人员将理解的,前述示例中的步骤的顺序可以以任何顺序执行。诸如“其后”、“然后”、“接下来”等词语不旨在限制步骤的顺序;这些词语仅用于引导读者通读对方法的描述。此外,任何对单数形式的权利要求元素的引用,例如使用冠词“一”、“一个”或“该”不应被解释为将该元素限制为单数。
56.结合本文所公开的示例而描述的各种说明性逻辑块、模块、电路和算法步骤能实施为电子硬件、计算机软件或两者的组合。为了清楚地说明硬件与软件的此可互换性,上文已大体上在其功能性方面描述了各种说明性组件、块、模块、电路和步骤。将此功能性实施为硬件还是软件取决于特定应用和强加于整个系统的设计约束。所属领域的技术人员可针对每一特定应用以不同方式实施所描述的功能性,但此类实施决策不应被解释为导致脱离本发明的范围。
57.用于实施结合本文所公开的示例而描述的各种说明性逻辑器件、逻辑块、模块和电路的硬件可用经设计以执行本文所描述的功能的通用处理器、dsp、asic、fpga或其它可编程逻辑装置、离散门或晶体管逻辑电路、离散硬件组件或其任何组合来实施或执行。通用处理器可以是微处理器,但是,在替代方案中,处理器可以是任何常规处理器、控制器、微控制器或状态机。处理器也可以被实施为计算设备的组合,例如dsp和微处理器的组合、多个微处理器、一个或多个微处理器与dsp内核的结合、或者任何其它此种配置。或者,一些步骤或方法可由特定于给定功能的电路执行。
58.在一些示例性示例中,所描述的功能可以以硬件、软件、固件或其任意组合来实施。如果以软件实施,所述功能可作为一个或一个以上指令或代码存储于非暂时性计算机可读存储介质或非暂时性处理器可读存储介质上。本文所公开的方法或算法的步骤可以体现在处理器可执行软件模块中,该处理器可执行软件模块可以驻存在非暂时性计算机可读或处理器可读存储介质上。非暂时性计算机可读或处理器可读存储介质能够为能由计算机或处理器存取的任意存储介质。作为示例而非限制,此非暂时性计算机可读或处理器可读存储介质能包括ram、rom、eeprom、闪存存储器、cd-rom或其它光盘存储装置、磁盘存储装置或其它磁存储装置、或可被用于存储呈指令或数据结构的形式的所要程序代码且可由计算机存取的任何其它介质。如本文中所使用,磁盘和光盘包括压缩光盘(cd)、激光光盘、光学光盘、数字多功能光盘(dvd)、软盘和蓝光光盘,其中磁盘通常以磁性方式再现数据,而光盘使用激光以光学方式再现数据。上述各项的组合也包括在非暂时性计算机可读和处理器可读介质的范围内。另外,方法或算法的操作可作为代码和/或指令中的一者或任何组合或集合而驻存在可并入到计算机程序产品中的非暂时性处理器可读存储介质和/或计算机可读存储介质上。
59.提供所公开示例的先前描述以使所属领域的技术人员能够制作或使用本公开。所属领域的技术人员将容易明白对这些示例的各种修改、且在不脱离本公开的精神或范围的情况下,本文所界定的一般原理可应用于一些示例。因此,本公开无意限于本文中所展示的示例,而是应被赋予与所附权利要求书以及本文中所公开的原理和新颖的特征一致的最大范围。

技术特征:
1.一种方法,包括:由存储装置创建命名空间,其中,响应于确定多个命名空间的命名空间大小之和小于第一阈值而创建所述命名空间;由存储装置从主机接收写入命令和写入数据,其中,响应于确定所述多个命名空间的命名空间利用之和小于第二阈值而接收所述写入命令和所述数据;由存储装置压缩所述写入数据;以及由所述存储装置将所述写入数据存储到所创建的命名空间。2.根据权利要求1所述的方法,还包括:接收存储分配请求;以及响应于接收到所述存储分配请求,向所述主机报告所述多个命名空间的所述命名空间大小。3.根据权利要求1所述的方法,还包括:从所述主机接收创建新命名空间的请求;以及响应于接收到创建所述新命名空间的所述请求,创建所述命名空间。4.根据权利要求2所述的方法,其中所述多个命名空间的所述命名空间大小之和不小于所述第一阈值;以及拒绝所述存储分配请求。5.根据权利要求1所述的方法,其中基于非易失性存储器的总容量确定所述第一阈值;以及将对应于所述多个命名空间的数据存储在所述非易失性存储器中。6.根据权利要求1所述的方法,其中,所述第一阈值是所述非易失性存储器的所述总容量的倍数,所述倍数是动态调整的。7.根据权利要求1所述的方法,其中基于非易失性存储器的总容量确定所述第二阈值;以及将对应于所述多个命名空间的数据存储在所述非易失性存储器中。8.根据权利要求1所述的方法,其中,所述第二阈值小于所述非易失性存储器的总容量。9.根据权利要求1所述的方法,其中所述多个命名空间的所述命名空间利用之和不小于所述第二阈值;以及拒绝针对所述写入数据的应用数据写入操作。10.根据权利要求1所述的方法,其中,所述多个命名空间的所述命名空间利用包括与存储在所述存储装置的非易失性存储器中的所述多个命名空间相对应的有效数据的大小。11.一种非暂时性处理器可读介质,其包括处理器可读指令,使得当由一个或多个处理器执行时,所述指令使所述处理器:创建命名空间,其中,响应于确定多个命名空间的命名空间大小之和小于第一阈值而创建所述命名空间;从主机接收写入命令和写入数据,其中,响应于确定所述多个命名空间的命名空间利用之和小于第二阈值而接收所述写入命令和所述数据;压缩所述写入数据;以及
将所述写入数据存储到所创建的命名空间。12.根据权利要求11所述的非暂时性计算机可读介质,其中,还使所述处理器:接收存储分配请求;以及响应于接收到所述存储分配请求,向所述主机报告所述多个命名空间的所述命名空间大小。13.根据权利要求11所述的非暂时性计算机可读介质,其中,还使所述处理器:从所述主机接收创建新命名空间的请求;以及响应于接收到创建所述新命名空间的所述请求,创建所述命名空间。14.根据权利要求12所述的非暂时性计算机可读介质,其中所述多个命名空间的所述命名空间大小之和不小于所述第一阈值;以及拒绝所述存储分配请求。15.根据权利要求11所述的非暂时性计算机可读介质,其中基于非易失性存储器的总容量确定所述第一阈值;以及将对应于所述多个命名空间的数据存储在所述非易失性存储器中。16.根据权利要求11所述的非暂时性计算机可读介质,其中,所述第一阈值是所述非易失性存储器的所述总容量的倍数,所述倍数是动态调整的。17.根据权利要求11所述的非暂时性计算机可读介质,其中基于非易失性存储器的总容量确定所述第二阈值;以及将对应于所述多个命名空间的数据存储在所述非易失性存储器中。18.根据权利要求11所述的非暂时性计算机可读介质,其中,所述第二阈值小于所述非易失性存储器的所述总容量。19.根据权利要求11所述的非暂时性计算机可读介质,其中所述多个命名空间的所述命名空间利用之和不小于所述第二阈值;以及拒绝针对所述写入数据的应用数据写入操作。20.一种存储装置,包括:非易失性存储器;以及控制器,其被配置为:创建命名空间,其中,响应于确定多个命名空间的命名空间大小之和小于第一阈值而创建所述命名空间;从主机接收写入命令和写入数据,其中,响应于确定所述多个命名空间的命名空间利用之和小于第二阈值而接收所述写入命令和所述数据;压缩所述写入数据;以及将所述写入数据存储到所创建的命名空间。

技术总结
本公开涉及用于在非易失性存储器存储装置中精简配置的系统、方法和非暂时性计算机可读介质。本文描述的各种实施方式涉及响应于确定多个命名空间的命名空间大小之和小于精简配置点的第一阈值而创建命名空间。从主机接收写入命令和数据。响应于确定多个命名空间的命名空间利用之和小于第二阈值而接收写入命令和数据。数据被压缩并被存储在所创建的命名空间中。间中。间中。


技术研发人员:S
受保护的技术使用者:铠侠股份有限公司
技术研发日:2023.01.20
技术公布日:2023/7/31
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐