多命名空间的数据管理方法及其系统与流程

未命名 07-22 阅读:230 评论:0


1.本技术涉及固态存储技术领域,特别涉及一种多命名空间的数据管理方法及其系统。


背景技术:

2.企业级ssd(固态硬盘)需要支持multi_namespace(多命名空间)特性,使得能根据客户不同的需求创建不同特征的namespace(命名空间),即在一个ssd上创建若干个不同功能特征的namespace供不同客户端应用程序使用,多个应用程序之间互相不干扰,而底层是nand flash(闪存)物理空间的共享。
3.在ssd来看,应用程序的写入压力不可预测,在不同的时期内其写入频率会发生变化。应用程序写入压力大,意味着对应的命名空间的数据被复写的概率和频率高,会不断被新数据覆盖,这个命名空间对应的数据比较热。由于nand flash的以block(逻辑块)为单元擦除和以page(页)为单元写入的特性,良好的设计需要保证不同命名空间冷热数据尽量分离以及相似热度的数据尽量聚合在一起,以减少ssd的垃圾回收(gc)所造成的写放大,在ssd的有效生命周期总写入量一定的前提下,提升其使用寿命。
4.同时,nand flash的物理特性要求在运行阶段其内部结构中每个颗粒(die)不能存在过多的开放逻辑块,要求系统设计中尽量减少开放逻辑块的占用,以避免影响nand flash的数据可靠性。
5.常规的设计方法,以不同的命名空间使用不同的逻辑块实现不同命名空间的数据分离的方法与系统中开放逻辑块尽可能少的要求相悖。


技术实现要素:

6.本技术的目的在于提供一种多命名空间的数据管理方法及其系统,在不增加开放逻辑块、不影响nand flash数据稳定性的前提下,实现不同命名空间的数据按其热度分离,减少写放大。
7.本技术公开了一种多命名空间的数据管理系统,包括:
8.写入点模块,所述写入点模块包括主机写入点和至少两个垃圾回收写入点,所述主机写入点对应一个主机数据区,所述至少两个垃圾回收写入点各自对应不同热度的垃圾回收数据区;
9.io监控器,所述io监控器耦合到所述主机写入点和至少两个垃圾回收写入点,用于监控所述主机写入点的所有命名空间下的主机数据的写入压力并生成命名空间热度表;以及
10.写入点选择器,所述写入点选择器在垃圾回收期间根据所述命名空间热度表和待回收数据所属的命名空间选择所述待回收数据的目标写入点并写入相应的数据区。
11.在一个优选例中,所述系统还包括:时间戳管理器,所述时间戳管理器分别管理所述主机数据区和所述垃圾回收数据区中逻辑块的时间戳,其中所述主机数据区中逻辑块的
时间戳为8的倍数单调增序列,所述垃圾回收数据区中逻辑块的时间戳为剔除8的倍数后的单调增序列,其中每个逻辑块中数据具有相同的时间戳。
12.在一个优选例中,当所述待回收数据所属的命名空间最近写入的时间戳与所述待回收数据的时间戳的差值大于一预设阈值时,所述写入点选择器将该待回收数据的逻辑块设定为最低热度。
13.在一个优选例中,当所述待回收数据所属的命名空间最近写入的时间戳与所述待回收数据的时间戳的差值小于或等于所述预设阈值时,所述写入点选择器查询所述命名空间热度表并根据所述命名空间热度表选择所述待回收数据的目标写入点。
14.在一个优选例中,当所述待回收数据的时间戳大于所述写入点选择器选择写入的垃圾回收数据区中目标逻辑块的时间戳时,所述写入点选择器将该待回收数据重定向到所述主机写入点。
15.在一个优选例中,所述系统还包括:逻辑块管理器,所述逻辑块管理器耦合到所述写入点模块,所述写入点模块在当前逻辑块写满时向所述逻辑块管理器申请新的逻辑块。
16.在一个优选例中,所述系统还包括:垃圾回收器,所述垃圾回收器耦合到所述逻辑块管理器并依次扫描有效数据占比最低的逻辑块的内部空间并对根据命名空间该逻辑块中数据进行分类,并且,当某个命名空间的待回收数据满足数量要求或超过预定时间后,所述写入点选择器选择该命名空间的待回收数据的目标写入点。
17.在一个优选例中,所述写入点模块包括三个垃圾回收写入点,所述三个垃圾回收写入点分别对应高热度垃圾回收数据区、中热度垃圾回收数据区和低热度垃圾回收数据区。
18.本技术还公开了一种多命名空间的数据管理方法,包括:
19.监控主机写入点的所有命名空间下的主机数据写入压力并生成命名空间热度表;
20.主机发起数据写请求,将所述数据经由主机写入点写入主机数据区;以及
21.对有效数据占比最低的逻辑块的内部空间中数据执行垃圾回收,根据所述命名空间热度表和待回收数据所属的命名空间选择所述待回收数据的目标写入点并写入相应的热度的垃圾回收数据区。
22.在一个优选例中,当所述待回收数据所属的命名空间最近写入的时间戳与所述待回收数据的时间戳的差值大于一预设阈值时,将该待回收数据的逻辑块设定为最低热度。
23.在一个优选例中,当所述待回收数据所属的命名空间最近写入的时间戳与所述待回收数据的时间戳的差值小于或等于所述预设阈值时,查询所述命名空间热度表并根据所述命名空间热度表选择所述待回收数据的目标写入点。
24.在一个优选例中,当所述待回收数据的时间戳大于所述写入点选择器选择写入的垃圾回收数据区中目标逻辑块的时间戳时,将该待回收数据重定向到所述主机写入点。
25.本技术还公开了一种计算机可读存储介质所述计算机可读存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器执行时实现如前文描述的方法中的步骤。
26.本技术实施方式中,可以在不增加开放逻辑块、不影响nand flash数据稳定性的前提下,实现不同命名空间的数据按其热度分离,减少写放大。
27.本技术的说明书中记载了大量的技术特征,分布在各个技术方案中,如果要罗列
出本技术所有可能的技术特征的组合(即技术方案)的话,会使得说明书过于冗长。为了避免这个问题,本技术上述发明内容中公开的各个技术特征、在下文各个实施方式和例子中公开的各技术特征、以及附图中公开的各个技术特征,都可以自由地互相组合,从而构成各种新的技术方案(这些技术方案均应该视为在本说明书中已经记载),除非这种技术特征的组合在技术上是不可行的。例如,在一个例子中公开了特征a+b+c,在另一个例子中公开了特征a+b+d+e,而特征c和d是起到相同作用的等同技术手段,技术上只要择一使用即可,不可能同时采用,特征e技术上可以与特征c相组合,则,a+b+c+d的方案因技术不可行而应当不被视为已经记载,而a+b+c+e的方案应当视为已经被记载。
附图说明
28.图1是根据本技术第二实施方式的多命名空间数据管理系统结构示意图。
29.图2是根据本技术第一实施方式的多命名空间数据管理方法流程示意图。
具体实施方式
30.在以下的叙述中,为了使读者更好地理解本技术而提出了许多技术细节。但是,本领域的普通技术人员可以理解,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本技术所要求保护的技术方案。
31.部分概念的说明:
32.命名空间(namespace):是nvme协议中一个基本的逻辑空间的概念,简单地说命名空间将nvme ssd的用户空间进行逻辑划分,每个命名空间拥有自身的nand,可以独立的进行格式化和加密等操作。
33.写放大(write amplification):ssd闪存必须先删除才能改写(或称为编程),在执行这些操作的时候,移动(或重写)用户数据和元数据不止一次。这些多次的操作,增加了写入数据量。
34.开放逻辑快:设计中逻辑块是多个能并行操作的物理块组成,开放的逻辑块则表示逻辑块下面所有的物理块都没有被数据填满。
35.垃圾回收(garbage collection):将ssd闪存内部有效的数据整理到一起,删除无效的数据块(即垃圾)。这样可以较好的保持ssd的性能以及释放空间存放更多整理有效的数据。
36.为使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术的实施方式作进一步地详细描述。
37.本技术的第一实施方式涉及一种多命名空间的数据管理系统,图1示出了一实施例中的多命名空间的数据管理系统100的框图,该系统100包括:写入点模块101、io监控器102和写入点选择器103。写入点模块101包括主机写入点和至少两个垃圾回收写入点,主机写入点对应一个主机数据区,至少两个垃圾回收写入点各自对应不同热度的垃圾回收数据区。io监控器102耦合到主机写入点104和至少两个垃圾回收写入点,用于监控主机写入点的所有命名空间下的主机数据的写入压力并生成命名空间热度表。写入点选择器103在垃圾回收期间根据命名空间热度表和待回收数据所属的命名空间选择待回收数据的目标写入点并写入相应的数据区。
38.在一个实施例中,写入点模块101包括主机写入点(host写入点)104和三个垃圾回收写入点(gc写入点0-2)105.0-105.2。主机写入点104对应一个主机数据区(host数据区)107。三个垃圾回收写入点105.0-105.2各自对应不同热度的垃圾回收数据区106.0-106.2。例如,垃圾回收写入点105.0对应高热度数据区106.0,垃圾回收写入点105.1对应中热度数据区106.1,垃圾回收写入点105.2对应低热度数据区106.2。本实施例中,以三个垃圾回收写入点和三个热度数据区为例进行说明,应当理解,本技术其他的实施例中,还可以包括两个或更多个(例如,四个、五个)垃圾回收写入点和热度数据区,本技术不以此为限。
39.在一个实施例中,该系统100还包括:时间戳管理器108,时间戳管理器108分别管理主机数据区107和垃圾回收数据区106.0-106.2中逻辑块的时间戳。其中主机数据区107中逻辑块的时间戳为8的倍数单调增序列,例如,8,16,24,32,
……
,依次递增。垃圾回收数据区106.0-106.2中逻辑块的时间戳为剔除8的倍数后的单调增序列,例如,1,2,3,4,5,6,7,9,10,
……
,依次递增。应当理解,每个逻辑块中数据均具有相同的时间戳。
40.已经写满而被关闭的且有效数据占比小的逻辑块需要进行垃圾回收,当待回收数据所属的命名空间最近写入的时间戳与待回收数据的时间戳的差值大于一预设阈值时,写入点选择器103将该待回收数据的逻辑块设定为最低热度。当待回收数据所属的命名空间最近写入的时间戳与待回收数据的时间戳的差值小于或等于预设阈值时,写入点选择器103查询命名空间热度表并根据命名空间热度表选择待回收数据的目标写入点。例如,待回收数据所属的命名空间属于热数据,写入点选择器103选择目标写入点105.0,将该待回收数据写入热数据区106.0。
41.然而,当待回收数据的时间戳大于写入点选择器选择写入的垃圾回收数据区中目标逻辑块的时间戳时,写入点选择器103将该待回收数据重定向到主机写入点107。应当理解,待回收数据的时间戳应当遵循不能回退的原则,即待回收数据的时间戳必须小于或等于目标逻辑块的时间戳,因此,如果待回收数据的时间戳大于目标逻辑块的时间戳,则直接将该待回收数据通过主机写入点写入主机数据区107。
42.在一个实施例中,该系统100还包括:逻辑块管理器109,逻辑块管理器109耦合到写入点模块101,写入点模块101在当前逻辑块写满时向逻辑块管理器109申请新的逻辑块,关闭当前逻辑块。
43.在一个实施例中,该系统100还包括:垃圾回收器110,垃圾回收器110耦合到逻辑块管理器109并依次扫描有效数据占比最低的逻辑块的内部空间并根据数据所属的命名空间对该逻辑块中数据进行分类。当某个命名空间的待回收数据满足数量要求或超过预定时间后,写入点选择器103选择该命名空间的待回收数据的目标写入点。
44.为了能够更好地理解本技术的技术方案,下面结合一个具体的例子来进行说明,该例子中罗列的细节主要是为了便于理解,不作为对本技术保护范围的限制。
45.参考图1所示,host数据请求是主机直接输入的写请求。每个写请求会遵从协议标识其命名空间id和逻辑块地址(lba)id。gc数据请求是系统垃圾回收过程中需要迁移(即,回收)的有效的host数据。gc数据请求的目标写入点可能是host写入点和gc写入点0,1,2这4个写入点中的一个,由写入点选择器103反馈的结果决定。
46.以下对适用于多命名空间特性的数据管理系统的上述各个模块进行详细说明。
47.1、时间戳管理器
48.数据通过时间戳标记方法识别新旧属性。时间戳是以逻辑块为单元进行分配的,同一个逻辑块的所有数据时间戳相同。
49.时间戳管理器按照host数据逻辑块的时间戳分支和gc数据逻辑块的时间戳分支分开管理,两分支有一定的约束关系。
50.时间戳管理器的设计方法如下:
51.①
两分支上的时间戳按照预定的数据特征模式单调增,根据时间戳的数据特征即能识别出逻辑块的数据类型。
52.②
两分支上的时间戳值相差过大,要被动提升gc数据逻辑块分支的时间戳值。
53.③
两分支上的时间戳差值要有足够大。
54.应用时,host数据分支时间戳为8的倍数单调增序列(8,16,24,32...),gc数据分支上的时间戳保持剔除8的倍数后的单调增序列(1,2,3,4,5,6,7,9...)。两分支上的时间戳值相差过大,要同步gc数据分支时间戳值,否则随着系统的长时间运行后,被作为垃圾回收源host数据逻辑块的时间戳值远远大于gc数据逻辑块的时间戳值,无法在满足数据时间戳不能回退的规则下实现host数据的有效垃圾回收。另外,两分支的时间戳差值区间要足够容纳整个ssd满盘情况下的垃圾回收。
55.以op比例100%的含有1000个逻辑块的盘为例,当整个盘被填满数据后,每个逻辑块含有有效数据平均50%,1000个逻辑块的垃圾回收最终产生500个有效数据100%的逻辑块。也就是说,gc数据逻辑块的时间戳会消耗500个左右,应用中保持两条分支上待分配的时间戳差值要大于500,这样gc数据逻辑块无论如何也不会超过host写入点当前开放的host数据逻辑块的时间戳。根据时间戳管理算法的规范后能保持host写入点当前开放的逻辑块在系统中时间戳最大。
56.如果上述条件不满足时,存在一种极端情况,垃圾回收任务最后的迁移数据是lba x,当垃圾回收任务结束后,host写入点接收到新的lba x数据,但host写入点当前开放的host数据逻辑块的时间戳是小于垃圾回收过程中迁移数据lba x所在目标gc数据逻辑块的时间戳,从lba x数据来看,发生时间戳回退的问题。
57.2、逻辑块管理器
58.每个写入点在其开放逻辑块写满而被关闭时,均需向逻辑块管理器申请下一个逻辑块。逻辑块管理模块在分配逻辑块的同时会根据时间戳管理器反馈的结果赋予其时间戳。同时已经关闭的逻辑块在有效数据占比率小的情况下,会被进行垃圾回收转变闲置的逻辑块以待下一次的申请。
59.逻辑块在底层由多个nand flash物理块组成以实现大颗粒度管理和高性能要求。
60.3、io监控器
61.监控器监控所有命名空间下io的写输入压力,某个命名空间的io输入量达到一定量级后,分析输入量对应的时间片长度,根据每个周期内输入的平均压力值动态更新命名空间到热度区的映射表(命名空间热度表)。命名空间的输入压力值越大意味着该命名空间的数据被复写的可能性越大,该命名空间的数据为热数据的可能性越大。所以通过命名空间的写输入压力值可以近似确定命名空间下所属部分数据的热度。
62.监控器同时还监控所有命名空间的最近写入数据的时间戳。若某个命名空间下某个数据的写入时间戳和最近写入的时间戳跨度足够大,说明该数据的不能单以命名空间热
度表来准确描述其热度。
63.4、垃圾回收器
64.已经写满而被关闭的且有效数据占比小的逻辑块需要进行垃圾回收,模块会依次选择当前有效占比率最低的逻辑块作为输入源,依序扫描逻辑块的内部空间,将扫描到的待迁移数据按照所在命名空间进行分类,某个命名空间待迁移数据达到一定的量级后或者超时后,依序迁移这些数据到写入点选择器反馈的目标写入点,实现目标热度区该命名空间数据的尽量聚合。
65.实现上可设置量级阈值为100,时间阈值为100毫秒,将扫描到的待迁移数据按照命名空间进行分类缓存,命名空间缓存区缓存第一个数据时纪录起始时间,缓存区数据个数不超过100时,继续等待,直到当前时间与命名空间缓存区纪录的起始时间差值超过100毫秒或者缓存区缓存的数据个数达到100,再将缓存区数据整体进行垃圾回收,这样同一命名空间的待迁移数据可小范围在目标写入数据区聚合。
66.5、写入点选择器
67.此模块的输入是需要垃圾回收的逻辑块中待迁移的有效数据。根据待迁移数据所属的命名空间和时间戳来确定热度区,如果待迁移数据的时间戳大于目标逻辑块的时间戳,则将待迁移数据的目标写入点重定向至host写入点。步骤如下:
68.①
待迁移数据所在命名空间的最近写入的时间戳与待迁移数据的时间戳差值是否大于设定阈值,若大于将待迁移数据目标区域设定为低热度区,若小于查询命名空间热度表得出其目标热度区。
69.②
比较待迁移数据的时间戳和其目标热度区的时间戳。若待迁移数据的时间戳大于目标热度区的时间戳,则待迁移数据为满足时间戳不能回退的原则需要被重定向为host写入点;若待迁移数据的时间戳小于目标热度区的时间戳,则维持目标热度区不变。
70.6、写入点管理模块
71.此模块保证逻辑块的写入顺序符合nand flash的物理规范。每个写入点以逻辑块为基本操作单元,且顺序使用,同时只会存在一个开放的逻辑块。
72.host写入点的输入源有两个,一是所有命名空间的host数据,二是垃圾回收过程中,被重定向至host写入点的垃圾回收数据。按照数据被复写的频率,数据分类为三档热度,从而存在三个gc写入点对应三档热度的数据区:高热度、中热度、低热度。
73.从数据流向上看,所有的不同命名空间的host数据都会先写入host数据区,再通过垃圾方式迁移到对应的热度区。这种方法能有效避免出现以下情况,用户0对应的命名空间0在之前写入压力大,命名空间0的数据不断被复写,其写入的数据属于高热度区,随后用户0写入压力减小,数据生命周期变长,其数据又属于低热度区。在系统运行过程中,由于高热度区的gc写入点0的操作频率大于低热度区的gc写入点2,高热度区的时间戳大概率大于低热度区的时间戳,此时命名空间0的数据从高热度区迁移到低热度区,为保证gc写入点2的时间戳大于高热度区的待迁移的逻辑块,需要将gc写入点2的开放逻辑块提前关闭,申请新的逻辑块,这样会造成逻辑块不稳定(整个逻辑块没有被数据填满)或者写放大增大(增加无效冗余数据使得逻辑块被填满)。
74.本技术的第二实施方式涉及一种多命名空间的数据管理方法,其流程如图2所示,该多命名空间的数据管理方法包括如下步骤:
75.步骤201,监控主机写入点的所有命名空间下的主机数据写入压力并生成命名空间热度表。
76.步骤202,主机发起数据写请求,将数据经由主机写入点写入主机数据区。
77.步骤203,对有效数据占比最低的逻辑块的内部空间中数据执行垃圾回收,根据命名空间热度表和待回收数据所属的命名空间选择待回收数据的目标写入点并写入相应的热度的垃圾回收数据区。
78.当待回收数据所属的命名空间最近写入的时间戳与待回收数据的时间戳的差值大于一预设阈值时,将该待回收数据的逻辑块设定为最低热度。当待回收数据所属的命名空间最近写入的时间戳与待回收数据的时间戳的差值小于或等于预设阈值时,查询命名空间热度表并根据命名空间热度表选择待回收数据的目标写入点。当待回收数据的时间戳大于写入点选择器选择写入的垃圾回收数据区中目标逻辑块的时间戳时,将该待回收数据重定向到主机写入点。
79.第一实施方式是与本实施方式相对应的方法实施方式,第一实施方式中的技术细节可以应用于本实施方式,本实施方式中的技术细节也可以应用于第一实施方式。
80.相应地,本技术实施方式还提供一种计算机可读存储介质,其中存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现本技术的各方法实施方式。计算机可读存储介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括但不限于,相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读存储介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
81.需要说明的是,在本专利的申请文件中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。本专利的申请文件中,如果提到根据某要素执行某行为,则是指至少根据该要素执行该行为的意思,其中包括了两种情况:仅根据该要素执行该行为、和根据该要素和其它要素执行该行为。多个、多次、多种等表达包括2个、2次、2种以及2个以上、2次以上、2种以上。
82.在本说明书提及的所有文献都被认为是整体性地包括在本技术的公开内容中,以便在必要时可以作为修改的依据。此外应理解,以上所述仅为本说明书的较佳实施例而已,并非用于限定本说明书的保护范围。凡在本说明书一个或多个实施例的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本说明书一个或多个实施例的保护范围之内。
83.在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。

技术特征:
1.一种多命名空间的数据管理系统,其特征在于,包括:写入点模块,所述写入点模块包括主机写入点和至少两个垃圾回收写入点,所述主机写入点对应一个主机数据区,所述至少两个垃圾回收写入点各自对应不同热度的垃圾回收数据区;io监控器,所述io监控器耦合到所述主机写入点和至少两个垃圾回收写入点,用于监控所述主机写入点的所有命名空间下的主机数据的写入压力并生成命名空间热度表;以及写入点选择器,所述写入点选择器在垃圾回收期间根据所述命名空间热度表和待回收数据所属的命名空间选择所述待回收数据的目标写入点并写入相应的数据区。2.根据权利要求1所述的多命名空间的数据管理系统,其特征在于,所述系统还包括:时间戳管理器,所述时间戳管理器分别管理所述主机数据区和所述垃圾回收数据区中逻辑块的时间戳,其中所述主机数据区中逻辑块的时间戳为8的倍数单调增序列,所述垃圾回收数据区中逻辑块的时间戳为剔除8的倍数后的单调增序列,其中每个逻辑块中数据具有相同的时间戳。3.根据权利要求1所述的多命名空间的数据管理系统,其特征在于,当所述待回收数据所属的命名空间最近写入的时间戳与所述待回收数据的时间戳的差值大于一预设阈值时,所述写入点选择器将该待回收数据的逻辑块设定为最低热度。4.根据权利要求3所述的多命名空间的数据管理系统,其特征在于,当所述待回收数据所属的命名空间最近写入的时间戳与所述待回收数据的时间戳的差值小于或等于所述预设阈值时,所述写入点选择器查询所述命名空间热度表并根据所述命名空间热度表选择所述待回收数据的目标写入点。5.根据权利要求4所述的多命名空间的数据管理系统,其特征在于,当所述待回收数据的时间戳大于所述写入点选择器选择写入的垃圾回收数据区中目标逻辑块的时间戳时,所述写入点选择器将该待回收数据重定向到所述主机写入点。6.根据权利要求1所述的多命名空间的数据管理系统,其特征在于,所述系统还包括:逻辑块管理器,所述逻辑块管理器耦合到所述写入点模块,所述写入点模块在当前逻辑块写满时向所述逻辑块管理器申请新的逻辑块。7.根据权利要求6所述的多命名空间的数据管理系统,其特征在于,所述系统还包括:垃圾回收器,所述垃圾回收器耦合到所述逻辑块管理器并依次扫描有效数据占比最低的逻辑块的内部空间并对根据命名空间该逻辑块中数据进行分类,并且,当某个命名空间的待回收数据满足数量要求或超过预定时间后,所述写入点选择器选择该命名空间的待回收数据的目标写入点。8.根据权利要求1所述的多命名空间的数据管理系统,其特征在于,所述写入点模块包括三个垃圾回收写入点,所述三个垃圾回收写入点分别对应高热度垃圾回收数据区、中热度垃圾回收数据区和低热度垃圾回收数据区。9.一种多命名空间的数据管理方法,其特征在于,包括:监控主机写入点的所有命名空间下的主机数据写入压力并生成命名空间热度表;主机发起数据写请求,将所述数据经由主机写入点写入主机数据区;以及对有效数据占比最低的逻辑块的内部空间中数据执行垃圾回收,根据所述命名空间热度表和待回收数据所属的命名空间选择所述待回收数据的目标写入点并写入相应的热度
的垃圾回收数据区。10.根据权利要求9所述的多命名空间的数据管理方法,其特征在于,当所述待回收数据所属的命名空间最近写入的时间戳与所述待回收数据的时间戳的差值大于一预设阈值时,将该待回收数据的逻辑块设定为最低热度。11.根据权利要求10所述的多命名空间的数据管理方法,其特征在于,当所述待回收数据所属的命名空间最近写入的时间戳与所述待回收数据的时间戳的差值小于或等于所述预设阈值时,查询所述命名空间热度表并根据所述命名空间热度表选择所述待回收数据的目标写入点。12.根据权利要求11所述的多命名空间的数据管理方法,其特征在于,当所述待回收数据的时间戳大于所述写入点选择器选择写入的垃圾回收数据区中目标逻辑块的时间戳时,将该待回收数据重定向到所述主机写入点。13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器执行时实现如权利要求9至12中任意一项所述的方法中的步骤。

技术总结
本申请涉及存储技术领域,公开了一种多命名空间的数据管理方法及其系统。该方法包括:监控主机写入点的所有命名空间下的主机数据写入压力并生成命名空间热度表;主机发起数据写请求,将所述数据经由主机写入点写入主机数据区;以及对有效数据占比最低的逻辑块的内部空间中数据执行垃圾回收,根据所述命名空间热度表和待回收数据所属的命名空间选择所述待回收数据的目标写入点并写入相应的热度的垃圾回收数据区。本申请在不增加开放逻辑块、不影响Nand Flash数据稳定性的前提下,实现不同命名空间的数据按其热度分离,减少写放大。减少写放大。减少写放大。


技术研发人员:李江龙 朱文禧
受保护的技术使用者:苏州库瀚信息科技有限公司
技术研发日:2022.01.06
技术公布日:2023/7/20
版权声明

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

飞行汽车 https://www.autovtol.com/

分享:

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

相关推荐