一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种分区命名空间固态硬盘的数据写入方法、装置及设备与流程

2022-03-05 09:29:37 来源:中国专利 TAG:


1.本发明涉及存储技术领域,特别是涉及一种分区命名空间固态硬盘的数据写入方法、装置、设备及计算机可读存储介质。


背景技术:

2.分区命名空间固态硬盘(zoned namespace solid state disk,zns ssd)作为一种新型的nvme(nvm express)ssd,凭借高效的协议交互及良好的性能表现已在各大互联网厂商展开适配及应用。分区命名空间固态硬盘最大的优势是其规范了与上层应用的交互协议,将固态硬盘以分区进行划分,将分区信息开放给上层应用,由应用结合自身业务进行分区存储,相同生命周期的业务数据写入相同的分区,同时配合端到端融合的垃圾回收策略,以达成存储系统的高性能及低成本。
3.分区命名空间固态硬盘与存储系统配合优势较为明显,但其与传统固态硬盘最大的区别是其数据写入要求分区内部顺序写入,在特定的用户场景下,将所有的数据写入行为都转化为顺序写入存在较大的难度,对分区命名空间固态硬盘的推广带来较大的阻力。
4.综上所述,如何有效地解决所有的数据写入行为都转化为顺序写入存在较大的难度,对分区命名空间固态硬盘的推广带来较大的阻力等问题,是目前本领域技术人员急需解决的问题。


技术实现要素:

5.本发明的目的是提供一种分区命名空间固态硬盘的数据写入方法,该方法降低了部分业务场景的适配难度,大幅提升了分区命名空间固态硬盘的易用性;本发明的另一目的是提供一种分区命名空间固态硬盘的数据写入装置、设备及计算机可读存储介质。
6.为解决上述技术问题,本发明提供如下技术方案:
7.一种分区命名空间固态硬盘的数据写入方法,包括:
8.接收待写入的目标数据;
9.获取所述目标数据对应的目标属性信息;
10.从顺序写入命名空间和随机写入命名空间中选取所述目标属性信息对应的目标写入命名空间;其中,所述顺序写入命名空间和随机写入命名空间为对分区命名空间固态硬盘进行划分得到;
11.将所述目标数据写入所述目标写入命名空间。
12.在本发明的一种具体实施方式中,当所述目标写入命名空间为所述随机写入命名空间时,在将所述目标数据写入所述目标写入命名空间之后,还包括:
13.获取所述目标数据写入所述目标写入命名空间的目标物理地址和目标逻辑地址;
14.将所述目标物理地址和所述目标逻辑地址对应存储至预设映射表中。
15.在本发明的一种具体实施方式中,将所述目标物理地址和所述目标逻辑地址对应存储至预设映射表中,包括:
16.确定所述随机写入命名空间对应的随机元数据区域;
17.将所述目标物理地址和所述目标逻辑地址对应存储至所述随机元数据区域的预设映射表中。
18.在本发明的一种具体实施方式中,还包括:
19.当检测到所述顺序写入命名空间和/或所述随机写入命名空间中存在空间使用量超过预设值的目标分区时,对所述目标分区进行垃圾回收操作。
20.在本发明的一种具体实施方式中,对所述目标分区进行垃圾回收操作,包括:
21.判断所述目标分区是否存在随机分区标志信息;
22.若是,则从所述随机写入命名空间中查找所述目标分区,并对所述目标分区进行垃圾回收操作。
23.在本发明的一种具体实施方式中,还包括:
24.分别对所述顺序写入命名空间中各顺序分区和所述随机写入命名空间中各随机分区进行磨损次数统计操作。
25.在本发明的一种具体实施方式中,在分别对所述顺序写入命名空间中各顺序分区和所述随机写入命名空间中各随机分区进行磨损次数统计操作之后,还包括:
26.判断是否存在磨损次数超出预设次数阈值的顺序分区和/或随机分区;
27.若是,则从预设分区池中获取空闲分区,将确定磨损次数超出预设次数阈值的分区中的数据搬移至所述空闲分区。
28.一种分区命名空间固态硬盘的数据写入装置,包括:
29.数据接收模块,用于接收待写入的目标数据;
30.属性信息获取模块,用于获取所述目标数据对应的目标属性信息;
31.命名空间选取模块,用于从顺序写入命名空间和随机写入命名空间中选取所述目标属性信息对应的目标写入命名空间;其中,所述顺序写入命名空间和随机写入命名空间为对分区命名空间固态硬盘进行划分得到;
32.数据写入模块,用于将所述目标数据写入所述目标写入命名空间。
33.一种分区命名空间固态硬盘的数据写入设备,包括:
34.存储器,用于存储计算机程序;
35.处理器,用于执行所述计算机程序时实现如前所述分区命名空间固态硬盘的数据写入方法的步骤。
36.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如前所述分区命名空间固态硬盘的数据写入方法的步骤。
37.本发明所提供的分区命名空间固态硬盘的数据写入方法,接收待写入的目标数据;获取目标数据对应的目标属性信息;从顺序写入命名空间和随机写入命名空间中选取目标属性信息对应的目标写入命名空间;其中,顺序写入命名空间和随机写入命名空间为对分区命名空间固态硬盘进行划分得到;将目标数据写入目标写入命名空间。
38.由上述技术方案可知,通过预先将分区命名空间固态硬盘划分为顺序写入命名空间和随机写入命名空间,在接收到待写入的目标数据时,获取目标数据对应的目标属性信息,从顺序写入命名空间和随机写入命名空间中选取得到目标属性信息对应的目标写入命名空间。本发明在分区命名空间固态硬盘传统方案下可支持随机写入,降低了部分业务场
景的适配难度,大幅提升了分区命名空间固态硬盘的易用性,提升了分区命名空间固态硬盘的竞争力。
39.相应的,本发明还提供了与上述分区命名空间固态硬盘的数据写入方法相对应的分区命名空间固态硬盘的数据写入装置、设备和计算机可读存储介质,具有上述技术效果,在此不再赘述。
附图说明
40.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
41.图1为本发明实施例中分区命名空间固态硬盘的数据写入方法的一种实施流程图;
42.图2为本发明实施例中分区命名空间固态硬盘的数据写入方法的另一种实施流程图;
43.图3为本发明实施例中一种分区命名空间固态硬盘的数据写入装置的结构框图;
44.图4为本发明实施例中一种分区命名空间固态硬盘的数据写入设备的结构框图;
45.图5为本实施例提供的一种分区命名空间固态硬盘的数据写入设备的具体结构示意图。
具体实施方式
46.为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
47.参见图1,图1为本发明实施例中分区命名空间固态硬盘的数据写入方法的一种实施流程图,该方法可以包括以下步骤:
48.s101:接收待写入的目标数据。
49.当需要向分区命名空间固态硬盘写入数据时,向数据写入管理中心发送待写入的目标数据,数据写入管理中心接收待写入的目标数据。
50.s102:获取目标数据对应的目标属性信息。
51.数据写入管理中心接收到待写入的目标数据之后,获取目标数据对应的目标属性信息。目标属性信息即为区分目标数据是需要写入顺序写入命名空间,还是需要写入随机写入命名空间的属性信息,如在个人账户银行存钱业务属于需要写入随机写入命名空间,在大量数据需要备份的批量作业业务属于需要写入顺序写入命名空间。
52.s103:从顺序写入命名空间和随机写入命名空间中选取目标属性信息对应的目标写入命名空间。
53.其中,顺序写入命名空间和随机写入命名空间为对分区命名空间固态硬盘进行划分得到。
54.预先将分区命名空间固态硬盘划分为顺序写入命名空间和随机写入命名空间,两个写入命名空间作为两个独立的块设备呈现。支持随机写入的命名空间大小支持几百mb甚至几百gb,区域大小可以在创建命名空间时指定。顺序写入命名空间包括多个顺序分区(zone),随机写入命名空间包括多个随机分区。在获取到目标数据对应的目标属性信息之后,从顺序写入命名空间和随机写入命名空间中选取目标属性信息对应的目标写入命名空间。
55.s104:将目标数据写入目标写入命名空间。
56.在从顺序写入命名空间和随机写入命名空间中选取到目标属性信息对应的目标写入命名空间之后,将目标数据写入目标写入命名空间。本发明保持了传统分区命名空间固态硬盘方案端到端性能好、成本低优势,同时降低了存储软件或客户应用软件的适配难度,应用可保持主流业务随机写转化为顺序写,但保持类似元数据流随机写入的行为,由此大幅降低了元数据写入的写放大,同时大幅提升了分区命名空间固态硬盘的易用性。
57.本发明提出一种在原有分区命名空间固态硬盘方案的基础上,可支持随机写入行为的方案,该方案中提及的随机写入命名空间与顺序写入命名空间互不干扰,方案保持了分区命名空间固态硬盘方案的所有优势,同时解决了方案推广中遇到的所有数据都需要随机转顺序的问题,大幅提升了分区命名空间固态硬盘的竞争力。
58.由上述技术方案可知,通过预先将分区命名空间固态硬盘划分为顺序写入命名空间和随机写入命名空间,在接收到待写入的目标数据时,获取目标数据对应的目标属性信息,从顺序写入命名空间和随机写入命名空间中选取得到目标属性信息对应的目标写入命名空间。本发明在分区命名空间固态硬盘传统方案下可支持随机写入,降低了部分业务场景的适配难度,大幅提升了分区命名空间固态硬盘的易用性,提升了分区命名空间固态硬盘的竞争力。
59.需要说明的是,基于上述实施例,本发明实施例还提供了相应的改进方案。在后续实施例中涉及与上述实施例中相同步骤或相应步骤之间可相互参考,相应的有益效果也可相互参照,在下文的改进实施例中不再一一赘述。
60.参见图2,图2为本发明实施例中分区命名空间固态硬盘的数据写入方法的另一种实施流程图,该方法可以包括以下步骤:
61.s201:接收待写入的目标数据。
62.s202:获取目标数据对应的目标属性信息。
63.s203:从顺序写入命名空间和随机写入命名空间中选取目标属性信息对应的目标写入命名空间。
64.其中,顺序写入命名空间和随机写入命名空间为对分区命名空间固态硬盘进行划分得到。
65.s204:将目标数据写入目标写入命名空间。
66.s205:当目标写入命名空间为随机写入命名空间时,获取目标数据写入目标写入命名空间的目标物理地址和目标逻辑地址。
67.随机写入命名空间因支持随机写入,预先设置以4kb用户数据为单位维护逻辑地址与物理地址的映射表。当目标写入命名空间为随机写入命名空间时,获取目标数据写入目标写入命名空间的目标物理地址和目标逻辑地址。
68.s206:将目标物理地址和目标逻辑地址对应存储至预设映射表中。
69.在获取到目标数据写入目标写入命名空间的目标物理地址和目标逻辑地址之后,将目标物理地址和目标逻辑地址对应存储至预设映射表中。从而在后期需要进行数据查询时,可以根据预设映射表中存储的目标物理地址和目标逻辑地址进行相应的数据查询操作。
70.在本发明的一种具体实施方式中,步骤s206可以包括以下步骤:
71.步骤一:确定随机写入命名空间对应的随机元数据区域;
72.步骤二:将目标物理地址和目标逻辑地址对应存储至随机元数据区域的预设映射表中。
73.为方便描述可以将上述两个步骤结合起来进行说明。
74.预先针对ssd固件(firmware)根据创建的顺序写入命名空间和随机写入命名空间两个命名空间大小,分配对应的元数据存储区域,其中随机写入命名空间需要按照用户容量的千分之一分配,顺序写入命名空间一个分区对应一个4字节大小的元数据区域。在获取到目标数据写入目标写入命名空间的目标物理地址和目标逻辑地址之后,确定随机写入命名空间对应的随机元数据区域,将目标物理地址和目标逻辑地址对应存储至随机元数据区域的预设映射表中。
75.s207:当检测到顺序写入命名空间和/或随机写入命名空间中存在空间使用量超过预设值的目标分区时,对目标分区进行垃圾回收操作。
76.可以实时或按照预设时间间隔检测顺序写入命名空间和/或随机写入命名空间中是否存在空间使用量超过预设值的目标分区,当检测到顺序写入命名空间和/或随机写入命名空间中存在空间使用量超过预设值的目标分区时,即当确定顺序写入命名空间存在空间使用量超过预设值的分区时,或者当确定随机写入命名空间中存在空间使用量超过预设值的分区时,或者顺序写入命名空间和随机写入命名空间均存在使用量超过预设值的分区时,则将使用量超出预设值的分区确定为目标分区,对目标分区进行垃圾回收操作。
77.需要说明的是,预设值可以根据实际情况进行设定和调整,如可以根据各分区的具体空间容量进行设定和调整,本发明实施例对此不做限定。
78.在本发明的一种具体实施方式中,对目标分区进行垃圾回收操作,可以包括以下步骤:
79.步骤一:判断目标分区是否存在随机分区标志信息,若是,则执行步骤二,若否,则执行步骤三;
80.步骤二:从随机写入命名空间中查找目标分区,并对目标分区进行垃圾回收操作;
81.步骤三:从顺序写入命名空间中查找目标分区,并对目标分区进行垃圾回收操作。
82.为方便描述可以将上述三个步骤结合起来进行说明。
83.预先对随机写入命名空间对应的随机分区设置特殊标记作为随机分区标志信息,在对目标分区进行垃圾回收操作时,判断目标分区是否存在随机分区标志信息,若是,则从随机写入命名空间中查找目标分区,并对目标分区进行垃圾回收操作,若否,则从顺序写入命名空间中查找目标分区,并对目标分区进行垃圾回收操作。通过设置随机分区标志信息对随机写入命名空间中的随机分区进行特殊标记,方便了对待写入分区的快速查找。
84.s208:分别对顺序写入命名空间中各顺序分区和随机写入命名空间中各随机分区
进行磨损次数统计操作。
85.顺序写入命名空间和随机写入命名空间中各分区均存在磨损寿命,所有的分区进行统一管理,分区的磨损次数、读取次数等统计信息同等维护。分别对顺序写入命名空间中各顺序分区和随机写入命名空间中各随机分区进行磨损次数统计操作。
86.s209:判断是否存在磨损次数超出预设次数阈值的顺序分区和/或随机分区,若是,则执行步骤s210,若否,则不做处理。
87.在分别对顺序写入命名空间中各顺序分区和随机写入命名空间中各随机分区进行磨损次数统计操作之后,判断是否存在磨损次数超出预设次数阈值的顺序分区和/或随机分区,即判断是否仅存在磨损次数超出预设次数阈值的顺序分区,或者仅存在磨损次数超出预设次数阈值的随机分区,或者既存在磨损次数超出预设次数阈值的顺序分区又存在磨损次数超出预设次数阈值的随机分区,若是,则执行步骤s210,若否,则不做处理。
88.s210:从预设分区池中获取空闲分区,将确定磨损次数超出预设次数阈值的分区中的数据搬移至空闲分区。
89.预先设置包含多个分区的分区池,当确定存在磨损次数超出预设次数阈值的顺序分区和/或随机分区时,从预设分区池中获取空闲分区,将磨损次数超出预设次数阈值的分区中的数据搬移至空闲分区。当系统检测到需要触发磨损均衡时,可以全局选取源分区,同时根据分区的类型(随机写入命名空间对应的分区或者顺序写入命名空间对应的分区)进行相关数据搬移动作。
90.相应于上面的方法实施例,本发明还提供了一种分区命名空间固态硬盘的数据写入装置,下文描述的分区命名空间固态硬盘的数据写入装置与上文描述的分区命名空间固态硬盘的数据写入方法可相互对应参照。
91.参见图3,图3为本发明实施例中一种分区命名空间固态硬盘的数据写入装置的结构框图,该装置可以包括:
92.数据接收模块31,用于接收待写入的目标数据;
93.属性信息获取模块32,用于获取目标数据对应的目标属性信息;
94.命名空间选取模块33,用于从顺序写入命名空间和随机写入命名空间中选取目标属性信息对应的目标写入命名空间;其中,顺序写入命名空间和随机写入命名空间为对分区命名空间固态硬盘进行划分得到;
95.数据写入模块34,用于将目标数据写入目标写入命名空间。
96.由上述技术方案可知,通过预先将分区命名空间固态硬盘划分为顺序写入命名空间和随机写入命名空间,在接收到待写入的目标数据时,获取目标数据对应的目标属性信息,从顺序写入命名空间和随机写入命名空间中选取得到目标属性信息对应的目标写入命名空间。本发明在分区命名空间固态硬盘传统方案下可支持随机写入,降低了部分业务场景的适配难度,大幅提升了分区命名空间固态硬盘的易用性,提升了分区命名空间固态硬盘的竞争力。
97.在本发明的一种具体实施方式中,该装置还可以包括:
98.地址获取模块,用于当目标写入命名空间为随机写入命名空间时,在将目标数据写入目标写入命名空间之后,获取目标数据写入目标写入命名空间的目标物理地址和目标逻辑地址;
99.地址存储模块,用于将目标物理地址和目标逻辑地址对应存储至预设映射表中。
100.在本发明的一种具体实施方式中,地址存储模块包括:
101.元数据区域确定子模块,用于确定随机写入命名空间对应的随机元数据区域;
102.地址存储子模块,用于将目标物理地址和目标逻辑地址对应存储至随机元数据区域的预设映射表中。
103.在本发明的一种具体实施方式中,该装置还可以包括:
104.垃圾回收模块,用于当检测到顺序写入命名空间和/或随机写入命名空间中存在空间使用量超过预设值的目标分区时,对目标分区进行垃圾回收操作。
105.在本发明的一种具体实施方式中,垃圾回收模块包括:
106.判断子模块,用于判断目标分区是否存在随机分区标志信息;
107.垃圾回收子模块,用于当确定目标分区存在随机分区标志信息时,从随机写入命名空间中查找目标分区,并对目标分区进行垃圾回收操作。
108.在本发明的一种具体实施方式中,该装置还可以包括:
109.磨损次数统计模块,用于分别对顺序写入命名空间中各顺序分区和随机写入命名空间中各随机分区进行磨损次数统计操作。
110.在本发明的一种具体实施方式中,该装置还可以包括:
111.判断模块,用于在分别对顺序写入命名空间中各顺序分区和随机写入命名空间中各随机分区进行磨损次数统计操作之后,判断是否存在磨损次数超出预设次数阈值的顺序分区和/或随机分区;
112.数据搬移模块,用于当确定存在磨损次数超出预设次数阈值的顺序分区和/或随机分区时,从预设分区池中获取空闲分区,将确定磨损次数超出预设次数阈值的分区中的数据搬移至空闲分区。
113.相应于上面的方法实施例,参见图4,图4为本发明所提供的分区命名空间固态硬盘的数据写入设备的示意图,该设备可以包括:
114.存储器332,用于存储计算机程序;
115.处理器322,用于执行计算机程序时实现上述方法实施例的分区命名空间固态硬盘的数据写入方法的步骤。
116.具体的,请参考图5,图5为本实施例提供的一种分区命名空间固态硬盘的数据写入设备的具体结构示意图,该分区命名空间固态硬盘的数据写入设备可因配置或性能不同而产生比较大的差异,可以包括处理器(central processing units,cpu)322(例如,一个或一个以上处理器)和存储器332,存储器332存储有一个或一个以上的计算机应用程序342或数据344。其中,存储器332可以是短暂存储或持久存储。存储在存储器332的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对数据处理设备中的一系列指令操作。更进一步地,处理器322可以设置为与存储器332通信,在分区命名空间固态硬盘的数据写入设备301上执行存储器332中的一系列指令操作。
117.分区命名空间固态硬盘的数据写入设备301还可以包括一个或一个以上电源326,一个或一个以上有线或无线网络接口350,一个或一个以上输入输出接口358,和/或,一个或一个以上操作系统341。
118.上文所描述的分区命名空间固态硬盘的数据写入方法中的步骤可以由分区命名
空间固态硬盘的数据写入设备的结构实现。
119.相应于上面的方法实施例,本发明还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时可实现如下步骤:
120.接收待写入的目标数据;获取目标数据对应的目标属性信息;从顺序写入命名空间和随机写入命名空间中选取目标属性信息对应的目标写入命名空间;其中,顺序写入命名空间和随机写入命名空间为对分区命名空间固态硬盘进行划分得到;将目标数据写入目标写入命名空间。
121.该计算机可读存储介质可以包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
122.对于本发明提供的计算机可读存储介质的介绍请参照上述方法实施例,本发明在此不做赘述。
123.本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置、设备及计算机可读存储介质而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
124.本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的技术方案及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献