一种固态硬盘的高性能数据写入方法和数据记录设备与流程

未命名 08-27 阅读:225 评论:0


1.本发明涉及存储读写技术领域,具体涉及一种固态硬盘的高性能数据写入方法和数据记录设备。


背景技术:

2.nand-flash是目前固态硬盘的主要存储介质之一,随着技术进步,单位体积的固态硬盘的存储容量越来越大。基于nand-flash本身的特性,读写时,擦除单元总是比写入单元大,导致在随机写入数据时均需要进行写前复制(copy-on-write)操作,写前复制操作会导致数据的实际写入量比预期写入量大,这种现象称之为写入放大现象,因固态硬盘的写入次数寿命是一定的,故写入放大现象会导致固态硬盘的使用寿命降低,还会降低读写性能。
3.此外,固态硬盘在进行写入操作时,文件系统会同时写入用户数据和与用户数据对应的元数据(即因保存用户数据而产生的额外附加信息,并非用户数据本身,例如,元数据包括用户数据的大小、创建时间和存储位置等),并将元数据和用户数据写入同一存储位置;现有技术中,因元数据和用户数据需要同步进行写入,会很大程度上增加固态硬盘的写入放大现象,从而在写入一段时间后出现写入带宽的严重下降,降低固态硬盘的写入性能。


技术实现要素:

4.本发明的主要目的是提供一种固态硬盘的高性能数据写入方法和数据记录设备,旨在解决现有固态硬盘在写入数据时因存在写入放大现象,而导致固态硬盘的写入性能降低的问题。
5.本发明提出的技术方案为:一种固态硬盘的高性能数据写入方法,应用于数据记录设备;所述数据记录设备包括固态硬盘;固态硬盘包括主控单元、第一独立存储介质和第二独立存储介质;第一独立存储介质和第二独立存储介质均通信连接于主控单元;第一独立存储介质包括多个块单元,块单元包括多个页单元;块单元的空间大小大于第一预设值;固态硬盘设置有文件系统;所述方法,包括:当需要将待存储数据写入固态硬盘时,主控单元获取第一独立存储介质中的存储了数据的最后一个页单元,并标记为第一目标页单元;主控单元获取第一独立存储介质中物理地址与第一目标页单元最近的空闲页单元,并标记为第二目标页单元;主控单元将待存储数据按照生成时间依次写入第二目标页单元及物理地址在第二目标页单元之后的空闲页单元;待存储数据全部写入第一独立存储介质后,主控单元通过文件系统获取待存储数据对应的元数据;主控单元将元数据写入第二独立存储介质。
6.优选的,所述待存储数据全部写入第一独立存储介质后,主控单元通过文件系统获取待存储数据对应的元数据,包括:主控单元通过文件系统获取待存储数据的超级块信息,并将超级块信息作为待存储数据的表头信息;主控单元通过文件系统获取待存储数据的位图,并将位图作为待存储数据的索引;主控单元通过文件系统获取待存储数据的索引节点信息,其中,索引节点信息包括待存储数据的存储位置信息、数据大小信息和存储时刻信息;主控单元将超级块信息、位图和索引节点信息打包以生成待存储数据对应的元数据。
7.优选的,所述数据记录设备还包括处理模块;处理模块与主控单元通信连接;所述当需要将待存储数据写入固态硬盘时,主控单元获取第一独立存储介质中的存储了数据的最后一个页单元,并标记为第一目标页单元,之前还包括:处理模块获取固态硬盘的过去预设时间段的历史写入数据;处理模块基于历史写入数据,获取历史写入数据中待存储数据与对应元数据所占存储空间的比值;处理模块根据所占存储空间的比值,确定第一独立存储介质的存储空间大小,和第二独立存储介质的存储空间大小。
8.优选的,所述数据记录设备还包括第一电源和第二电源;所述第一电源用于给第一独立存储介质供电;所述第二电源用于给第二独立存储介质供电;所述方法,还包括:处理模块基于第一独立存储介质的存储空间大小将第一电源的掉电延时时长确定为第一时长;处理模块基于第二独立存储介质的存储空间大小将第二电源的掉电延时时长确定为第二时长,其中,第一时长大于第二时长。
9.优选的,还包括:处理模块获取第一独立存储介质中的空闲闪存块,并判断空闲闪存块的擦写次数是否小于预设次数;若是,处理模块将擦写次数小于预设次数的空闲闪存块标记为目标块;处理模块将第一独立存储介质中的所有的已存储数据按照读取次数从多至少排列,以获取读取次数最多的已存储数据,并标记为第一目标数据;处理模块将第一目标数据复制写入目标块中,并将原第一目标数据标记为无效数据,并将原第一目标数据所在的闪存块标记为空闲块。
10.优选的,还包括:当需要将待存储数据写入固态硬盘时,主控单元判断第一独立存储介质中是否存在擦写次数小于1的空闲块;若否,主控单元将第一独立存储介质中空闲块按照擦写次数从少至多排列,以得到推荐顺序;主控单元将待存储数据按照推荐顺序写入第一独立存储介质。
11.优选的,所述数据记录设备还包括内存单元和备用电源;内存单元和处理模块通
信连接;备用电源用于给固态硬盘、处理模块和内存单元供电;所述方法,还包括:当需要将待存储数据写入固态硬盘时,处理模块将待存储数据同时写入第一独立存储介质和内存单元;处理模块实时检测第一电源是否出现异常断电;若是,处理模块不再接收新的待存储数据,并将存储于内存单元的待存储数据与存储于第一独立存储介质中的数据进行对比,以获取第一独立存储介质中不存在的且存储于内存单元的待存储数据,并标记为待转移数据;处理模块将待转移数据复制写入第一独立存储介质后,控制备用电源断电;若否,处理模块实时判断内存单元中的待存储数据的占用空间是否大于或等于第二预设值;当内存单元中的待存储数据的占用空间大于或等于第二预设值时,处理模块将内存单元中待存储数据按照写入时刻从早至晚的顺序进行删除,直至内存单元中的待存储数据的占用空间小于第二预设值。
12.优选的,第二电源设置于固态硬盘;第二电源还用于给主控单元供电;所述方法,还包括:当需要拆卸固态硬盘时,处理模块获取用户输入的安全拆卸指令;处理模块向主控单元发送安全拆卸指令;主控单元将安全拆卸指令发送至第二独立存储介质进行存储;当主控单元检测到第一电源断电时,判断第二独立存储介质中是否存在安全拆卸指令;若否,主控单元将第二独立存储介质中的元数据加密。
13.优选的,还包括:处理模块通过主控单元获取第一独立存储介质的空闲块的数量,以判断空闲块的存储空间是否小于第三预设值;若是,处理模块获取第一独立存储介质中各已存储数据对应的操作日志,以获取曾经进行过复制操作的已存储数据,并标记为第二目标数据;处理模块通过主控模块将第二目标数据删除。
14.本发明还提出一种数据记录设备,应用任一项所述的固态硬盘的高性能数据写入方法;所述数据记录设备包括固态硬盘;固态硬盘包括主控单元、第一独立存储介质和第二独立存储介质;第一独立存储介质和第二独立存储介质均通信连接于主控单元;第一独立存储介质包括多个块单元,块单元包括多个页单元;块单元的空间大小大于第一预设值;固态硬盘设置有文件系统。
15.通过上述技术方案,能实现以下有益效果:本发明提出的固态硬盘的高性能数据写入方法可以针对高速持续写入场景,将待存储数据写入第一独立存储介质,将元数据写入第二独立存储介质,以实现数据写入方式的优化;具体的,传统方案中,因元数据和待存储数据同步写入同一存储介质中时,会增加写入数据的复杂程度,进而增加随机写入程度;而本方案中,对待存储数据和元数据的数据分别进行独立存储,即将元数据和待存储数据分开存储以实现解耦,第一独立存储介质专门负责存储大容量的待存储数据,即按照生成时间依次写入空闲页单元,降低了数据写入
的随机程度,进而减少写入放大现象,进而提升固态硬盘的写入性能。
16.本方案中,将第一独立存储介质的块单元的空间大小设置为大于第一预设值,相比传统的固态硬盘的块单元更大,更加契合高速持续写入场景下大容量数据的持续写入操作,即更大的块单元能够写入更大的待存储数据,且因待存储数据块写入第一独立存储介质,元数据作为较小的数据并不写入第一独立存储介质,即写入第一独立存储介质的待存储数据会更加纯粹,均为大容量的待存储数据,而大容量的数据相比小文件在写入固态硬盘时速度更快;此外,在存储介质的总存储空间一定的前提下,更大的块单元使块单元的数量变少,则相应的块单元的地址会变少,则能够写入的地址会变少,从而减少随机写入现象。
附图说明
17.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图示出的结构获得其他的附图。
18.图1为本发明提出的一种固态硬盘的高性能数据写入方法第一实施例的流程图。
19.图2为本发明提出的一种固态硬盘的高性能数据写入方法第二实施例中待存储数据的存储结构图;图3为本发明提出的一种固态硬盘的高性能数据写入方法第二实施例中元数据的存储结构图。
具体实施方式
20.应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
21.本发明提出一种固态硬盘的高性能数据写入方法和数据记录设备。
22.如附图1所示,在本发明提出的一种固态硬盘的高性能数据写入方法的第一实施例中,本方法应用于数据记录设备;所述数据记录设备包括固态硬盘;固态硬盘包括主控单元、第一独立存储介质(这里的第一独立存储介质和第二独立存储介质分别可以是独立的物理存储介质,也可以是独立的逻辑划分的存储介质;本实施例中采用独立的物理存储介质,例如第一闪存颗粒)和第二独立存储介质(例如第二闪存颗粒);第一独立存储介质和第二独立存储介质均通信连接于主控单元;第一独立存储介质包括多个块单元,块单元包括多个页单元;块单元的空间大小大于第一预设值(例如512m);固态硬盘设置有文件系统(具体可以为exfat文件系统);本实施例包括如下步骤:步骤s110:当需要将待存储数据写入固态硬盘时,主控单元获取第一独立存储介质中的存储了数据的最后一个页单元,并标记为第一目标页单元。
23.具体的,固态硬盘包括闪存颗粒,闪存颗粒包括多个闪存块,闪存块包括多个页单元,页单元是固态硬盘的最小的数据写入单元,闪存块是最小的数据删除单元。
24.写入新的数据时,找到第一独立存储介质中存储了数据的最后一个页单元。本方案中,针对高速持续写入场景,将页单元的空间设置得更大,例如16kb(常规为4kb)。
25.步骤s120:主控单元获取第一独立存储介质中物理地址与第一目标页单元最近的
空闲页单元,并标记为第二目标页单元。
26.步骤s130:当第一独立存储介质首次写入数据时,主控单元将待存储数据按照生成时间依次写入第二目标页单元及物理地址在第二目标页单元之后的空闲页单元。
27.具体的,这里依次写入第二目标页单元及物理地址在第二目标页单元之后的空闲页单元的操作适用于。
28.步骤s140:待存储数据全部写入第一独立存储介质后,主控单元通过文件系统获取待存储数据对应的元数据。
29.步骤s150:主控单元将元数据写入第二独立存储介质。
30.具体的,因元数据占用空间相对小,可以设置较小的块单元大小,以节省空间,即第二独立存储介质的存储空间小于第一独立存储介质的存储空间;且第二独立存储介质专门用于存储元数据,而第一独立存储介质不再存储元数据。
31.具体的,写入元数据时,主控单元将元数据压缩后写入第二独立存储介质,这样能够减小元数据存储时所占用的空间。
32.本发明提出的固态硬盘的高性能数据写入方法可以针对高速持续写入场景,将待存储数据写入第一独立存储介质,将元数据写入第二独立存储介质,以实现数据写入方式的优化;具体的,传统方案中,因元数据和待存储数据同步写入同一存储介质中时,会增加写入数据的复杂程度,进而增加随机写入程度;而本方案中,对待存储数据和元数据的数据分别进行独立存储,即将元数据和待存储数据分开存储以实现解耦,第一独立存储介质专门负责存储大容量的待存储数据,即按照生成时间依次写入空闲页单元,降低了数据写入的随机程度,进而减少写入放大现象,进而提升固态硬盘的写入性能。
33.本方案中,将第一独立存储介质的块单元的空间大小设置大于第一预设值,也就是将第一独立存储介质的块单元空间调大,相比传统的固态硬盘的块单元更大,更加契合高速持续写入场景下大容量数据的持续写入操作,即更大的块单元能够写入更大的待存储数据,且因待存储数据块写入第一独立存储介质,元数据作为较小的数据并不写入第一独立存储介质,即写入第一独立存储介质的待存储数据会更加纯粹,均为大容量的待存储数据,而大容量的数据相比小文件在写入固态硬盘时速度更快;此外,在存储介质的总存储空间一定的前提下,更大的块单元使块单元的数量变少,则相应的块单元的地址会变少,则能够写入的地址会变少,从而减少随机写入现象。
34.同时,本方法中元数据和待存储数据分别写入至不同的闪存颗粒中,即元数据和待存储数据采用异步操作方式,各自操作互不干扰阻塞,相较于传统方式,异步方式能更轻松应对由于固态硬盘带来的写入性能波动。
35.如附图2和附图3所示,在本发明提出的的一种固态硬盘的高性能数据写入方法的第二实施例中,基于第一实施例,步骤s140,包括如下步骤:步骤s210:主控单元通过文件系统获取待存储数据的超级块信息,并将超级块信息作为待存储数据的表头信息。
36.具体的,每一种文件系统都对应自己的超级块、索引节点块(用于存放索引节点信息)和数据块(即用于存放数据)。这里的超级块指的是文件系统中的第一个块单元,超级块信息即是超级块内存放的文件系统本身的结构信息。比如,超级块记录了文件系统中各区域的大小,超级块也存放未被使用的块单元的信息。
37.步骤s220:主控单元通过文件系统获取待存储数据的位图(即bitmap,是一种基于位的映射),并将位图作为待存储数据的索引。
38.步骤s230:主控单元通过文件系统获取待存储数据的索引节点信息(即inode信息),其中,索引节点信息包括待存储数据的存储位置信息、数据大小信息和存储时刻信息。
39.步骤s240:主控单元将超级块信息、位图和索引节点信息打包以生成待存储数据对应的元数据。
40.在本发明提出的一种固态硬盘的高性能数据写入方法的第三实施例中,基于第一实施例,所述数据记录设备还包括处理模块;处理模块与主控单元通信连接;步骤s110,之前还包括如下步骤:步骤s310:处理模块获取固态硬盘的过去预设时间段(例如过去1年)的历史写入数据。
41.步骤s320:处理模块基于历史写入数据,获取历史写入数据中待存储数据与对应元数据所占存储空间的比值。
42.步骤s330:处理模块根据所占存储空间的比值,确定第一独立存储介质的存储空间大小,和第二独立存储介质的存储空间大小,其中,第一独立存储介质的存储空间与第二独立存储介质的存储空间的比值和历史写入数据中待存储数据与对应元数据所占存储空间的比值一致。
43.具体的,本实施例给出了第一独立存储介质和第二独立存储介质的空间大小的确定方案。
44.在本发明提出的一种固态硬盘的高性能数据写入方法的第四实施例中,基于第三实施例,所述数据记录设备还包括第一电源和第二电源;所述第一电源用于给第一独立存储介质供电;所述第二电源用于给第二独立存储介质供电(例如第二电源为纽扣电池),本实施例包括如下步骤:步骤s410:处理模块基于第一独立存储介质的存储空间大小将第一电源的掉电延时时长确定为第一时长。
45.步骤s420:处理模块基于第二独立存储介质的存储空间大小将第二电源的掉电延时时长确定为第二时长,其中,第一时长大于第二时长。
46.本实施例中,通过将第一独立存储介质和第二独立存储介质分别供电,能够提升供电稳定性;因第二独立存储介质的存储空间较小,可以使用功率更低的电源,例如采用直流的纽扣电池供电,这样供电稳定性更好,延时掉电策略更加宽松。
47.此外,由于第一独立存储介质的空间更大,而第二独立存储介质的空间更小,可以根据空间的大小来给第一独立存储介质和第二独立存储介质分配不同的掉电延时时长。
48.在本发明提出的一种固态硬盘的高性能数据写入方法的第五实施例中,基于第三实施例,本实施例还包括如下步骤:步骤s510:处理模块获取第一独立存储介质中的空闲闪存块,并判断空闲闪存块的擦写次数是否小于预设次数(例如3次)。
49.若是,执行步骤s520:处理模块将擦写次数小于预设次数的空闲闪存块标记为目标块。
50.具体的,因固态硬盘的闪存块的擦写次数寿命是一定的,为了保证整个固态硬盘
的使用寿命,需要将固态硬盘中各闪存块进行均匀擦写,即防止出现某个闪存块出现擦写次数明显过少的现象,因此将擦写次数小于预设次数的空闲闪存块标记为目标块。
51.步骤s530:处理模块将第一独立存储介质中的所有的已存储数据按照读取次数从多至少排列,以获取读取次数最多的已存储数据,并标记为第一目标数据。
52.步骤s540:处理模块将第一目标数据复制写入目标块中,并将原第一目标数据标记为无效数据,并将原第一目标数据所在的闪存块标记为空闲块。
53.具体的,读取次数最多的文件为第一目标数据(也就是热文件),需要经常进行读写,故为了使固态硬盘中各闪存块的擦写次数更加均匀,可以将第一目标数据复制写入到目标块中,从而提升固态硬盘的整体使用寿命。
54.在本发明提出的一种固态硬盘的高性能数据写入方法的第六实施例中,基于第五实施例,本实施例还包括如下步骤:步骤s610:当需要将待存储数据写入固态硬盘时,主控单元判断第一独立存储介质中是否存在擦写次数小于1的空闲块。
55.若否,执行步骤s620:主控单元将第一独立存储介质中空闲块按照擦写次数从少至多排列,以得到推荐顺序。
56.步骤s630:主控单元将待存储数据按照推荐顺序写入第一独立存储介质。
57.具体的,若第一独立存储介质中不存在擦写次数小于1的空闲块,则说明固态硬盘中所有的闪存块均进行过至少1次擦写,在这种情况下,就不需要优先将数据写入未进行过擦写的闪存块中,而是将数据按照擦写次数从少至多排列顺序写入对应的空闲块中,以使固态硬盘中各闪存块的擦写次数更加均匀。
58.在本发明提出的一种固态硬盘的高性能数据写入方法的第七实施例中,基于第五实施例,所述数据记录设备还包括内存单元和备用电源;内存单元和处理模块通信连接;备用电源用于给固态硬盘、处理模块和内存单元供电;本实施例还包括如下步骤:步骤s710:当需要将待存储数据写入固态硬盘时,处理模块将待存储数据同时写入第一独立存储介质和内存单元。
59.步骤s720:处理模块实时检测第一电源是否出现异常断电。
60.若是,执行步骤s730:处理模块不再接收新的待存储数据,并将存储于内存单元的待存储数据与存储于第一独立存储介质中的数据(即是第一独立存储介质中的已存储数据)进行对比,以获取第一独立存储介质中不存在的且存储于内存单元的待存储数据,并标记为待转移数据。
61.步骤s740:处理模块将待转移数据复制写入第一独立存储介质后,控制备用电源断电。
62.具体的,正常运行过程中,将待存储数据同时写入第一独立存储介质和内存单元,因内存单元的写入速度要大于固态硬盘,故待存储数据会更在早的存储于内存单元中,当遇到异常断电时,备用电源会无间断的给固态硬盘、处理模块和内存单元供电,但同时处理模块不再接受新的待存储数据,并将存储于内存单元的待存储数据与存储于第一独立存储介质中的数据进行对比,以获取第一独立存储介质中不存在的且存储于内存单元的待存储数据,并标记为待转移数据,即这样的待转移数据异常断电后,还未来得及存储于第一独立存储介质中的数据,后续可直接将待转移数据复制写入第一独立存储介质,以保障数据的
完整性,解决因异常断电而导致的数据丢失问题。
63.若否,执行步骤s750:处理模块实时判断内存单元中的待存储数据的占用空间是否大于或等于第二预设值(这里的第二预设值优选为内存单元总存储空间的30%)。
64.步骤s760:当内存单元中的待存储数据的占用空间大于或等于第二预设值时,处理模块将内存单元中待存储数据按照写入时刻从早至晚的顺序进行删除,直至内存单元中的待存储数据的占用空间小于第二预设值。
65.具体的,若未出现异常断电,则需要定时删除内存单元内的待存储数据,以避免内存单元被完成占用。
66.在本发明提出的一种固态硬盘的高性能数据写入方法的第八实施例中,基于第七实施例,第二电源设置于固态硬盘;第二电源还用于给主控单元供电;本实施例还包括如下步骤:步骤s810:当需要拆卸固态硬盘时,处理模块获取用户输入的安全拆卸指令。
67.步骤s820:处理模块向主控单元发送安全拆卸指令。
68.步骤s830:主控单元将安全拆卸指令发送至第二独立存储介质进行存储。
69.步骤s840:当主控单元检测到第一电源断电时,判断第二独立存储介质中是否存在安全拆卸指令。
70.若否,执行步骤s850:主控单元将第二独立存储介质中的元数据加密。
71.具体的,若主控单元检测到第一电源断电,且第二独立存储介质中不存在安全拆卸指令,则说明固态硬盘是被盗窃或异常断电,为了保证数据安全,可直接通过主控单元将第二独立存储介质中的元数据加密(此时主控单元和第二独立存储介质通过第二电源供电)。
72.在本发明提出的一种固态硬盘的高性能数据写入方法的第九实施例中,基于第五实施例,本实施例还包括如下步骤:步骤s910:处理模块通过主控单元获取第一独立存储介质的空闲块的数量,以判断空闲块的存储空间是否小于第三预设值(这里的第三预设值优选为第一独立存储介质的总存储空间的10%)。
73.若是,执行步骤s920:处理模块获取第一独立存储介质中各已存储数据对应的操作日志,以获取曾经进行过复制操作(这里的复制操作指的是复制到其他固态硬盘中的操作)的已存储数据,并标记为第二目标数据。
74.步骤s930:处理模块通过主控模块将第二目标数据删除。
75.具体的,当第一独立存储介质的空闲块的存储空间小于第三预设值时,说明第一独立存储介质的存储空间开始出现不足,为了保障后续的数据写入,可直接将之前进行过复制操作的数据进行删除。
76.在本发明提出的一种固态硬盘的高性能数据写入方法的第十实施例中,基于第三实施例,所述数据记录设备还包括地理位置检测模块;地理位置检测模块通信连接于处理模块;本实施例还包括如下步骤:步骤s1010:处理模块获取到数据读取指令时,基于地理位置检测模块获取所述数据记录设备的当前时刻的地理位置。
77.步骤s1020:处理模块判断当前时刻的地理位置是否在预设安全范围内。
78.若是,执行步骤s1030:处理模块通过主控单元读取固态硬盘内与数据读取指令对应的数据。
79.若否,执行步骤s1040:处理模块生成告警信息,并通过主控单元将固态硬盘内与数据读取指令对应的数据进行加密。
80.本实施例通过地理位置检测模块,能够实时检测数据记录设备于当前时刻的地理位置,通过判断当前时刻的地理位置是否在预设安全范围内以判断数据记录设备是否被认为移动了位置,只有当前时刻的地理位置在预设安全范围内时,才允许进行数据读取,保障数据安全。
81.在本发明提出的一种固态硬盘的高性能数据写入方法的第十一实施例中,基于第十实施例,本实施例还包括如下步骤:步骤s1110:处理模块每隔预设时长(例如24小时)获取一次所述数据记录设备的当前时刻的地理位置,覆盖存储至第一独立存储介质中,并标记为最近位置。
82.步骤s1120:当第一独立存储介质重启后,处理模块基于地理位置检测模块获取当前时刻的地理位置。
83.步骤s1130:处理模块获取当前时刻的地理位置与最近位置之间的距离值。
84.步骤s1140:当距离值大于第四预设值(例如500m)时,处理模块生成告警信息,并通过主控单元将固态硬盘内的数据进行加密。
85.具体的,当距离值大于第四预设值,说明数据记录设备被人为移动了,为了保障数据安全,防止数据盗窃,处理模块生成告警信息,并通过主控单元将固态硬盘内的数据进行加密。
86.在本发明提出的一种固态硬盘的高性能数据写入方法的第十二实施例中,基于第九实施例,步骤s910,之后还包括如下步骤:若否,执行步骤s1210:处理模块获取第一独立存储介质中各已存储数据对应的操作日志,以获取操作时刻距离当前时刻最久的已存储数据,并标记为第三目标数据。
87.步骤s1220:处理模块通过主控模块将第三目标数据删除,并执行步骤s910,及之后的步骤。
88.具体的,操作时刻距离当前时刻越久,说明对应的已存储数据被使用的时刻距离当前时刻越久,则该已存储数据的重要性相对越低,为了应对第一独立存储介质的存储空间不足的问题,可直接将已存储该数据删除。
89.本发明还提出一种数据记录设备,本设备应用任一项所述的固态硬盘的高性能数据写入方法;所述数据记录设备包括固态硬盘;固态硬盘包括主控单元、第一独立存储介质和第二独立存储介质;第一独立存储介质和第二独立存储介质均通信连接于主控单元;第一独立存储介质包括多个块单元,块单元包括多个页单元;块单元的空间大小大于第一预设值;固态硬盘设置有文件系统。
90.上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
91.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,计算机软件产品存储在一个存储介质(如
rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
92.上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护之内。

技术特征:
1.一种固态硬盘的高性能数据写入方法,其特征在于,应用于数据记录设备;所述数据记录设备包括固态硬盘;固态硬盘包括主控单元、第一独立存储介质和第二独立存储介质;第一独立存储介质和第二独立存储介质均通信连接于主控单元;第一独立存储介质包括多个块单元,块单元包括多个页单元;块单元的空间大小大于第一预设值;固态硬盘设置有文件系统;所述方法,包括:当需要将待存储数据写入固态硬盘时,主控单元获取第一独立存储介质中的存储了数据的最后一个页单元,并标记为第一目标页单元;主控单元获取第一独立存储介质中物理地址与第一目标页单元最近的空闲页单元,并标记为第二目标页单元;主控单元将待存储数据按照生成时间依次写入第二目标页单元及物理地址在第二目标页单元之后的空闲页单元;待存储数据全部写入第一独立存储介质后,主控单元通过文件系统获取待存储数据对应的元数据;主控单元将元数据写入第二独立存储介质;所述待存储数据全部写入第一独立存储介质后,主控单元通过文件系统获取待存储数据对应的元数据,包括:主控单元通过文件系统获取待存储数据的超级块信息,并将超级块信息作为待存储数据的表头信息;主控单元通过文件系统获取待存储数据的位图,并将位图作为待存储数据的索引;主控单元通过文件系统获取待存储数据的索引节点信息,其中,索引节点信息包括待存储数据的存储位置信息、数据大小信息和存储时刻信息;主控单元将超级块信息、位图和索引节点信息打包以生成待存储数据对应的元数据。2.根据权利要求1所述的一种固态硬盘的高性能数据写入方法,其特征在于,所述数据记录设备还包括处理模块;处理模块与主控单元通信连接;所述当需要将待存储数据写入固态硬盘时,主控单元获取第一独立存储介质中的存储了数据的最后一个页单元,并标记为第一目标页单元,之前还包括:处理模块获取固态硬盘的过去预设时间段的历史写入数据;处理模块基于历史写入数据,获取历史写入数据中待存储数据与对应元数据所占存储空间的比值;处理模块根据所占存储空间的比值,确定第一独立存储介质的存储空间大小,和第二独立存储介质的存储空间大小。3.根据权利要求2所述的一种固态硬盘的高性能数据写入方法,其特征在于,所述数据记录设备还包括第一电源和第二电源;所述第一电源用于给第一独立存储介质供电;所述第二电源用于给第二独立存储介质供电;所述方法,还包括:处理模块基于第一独立存储介质的存储空间大小将第一电源的掉电延时时长确定为第一时长;处理模块基于第二独立存储介质的存储空间大小将第二电源的掉电延时时长确定为第二时长,其中,第一时长大于第二时长。4.根据权利要求2所述的一种固态硬盘的高性能数据写入方法,其特征在于,还包括:
处理模块获取第一独立存储介质中的空闲闪存块,并判断空闲闪存块的擦写次数是否小于预设次数;若是,处理模块将擦写次数小于预设次数的空闲闪存块标记为目标块;处理模块将第一独立存储介质中的所有的已存储数据按照读取次数从多至少排列,以获取读取次数最多的已存储数据,并标记为第一目标数据;处理模块将第一目标数据复制写入目标块中,并将原第一目标数据标记为无效数据,并将原第一目标数据所在的闪存块标记为空闲块。5.根据权利要求4所述的一种固态硬盘的高性能数据写入方法,其特征在于,还包括:当需要将待存储数据写入固态硬盘时,主控单元判断第一独立存储介质中是否存在擦写次数小于1的空闲块;若否,主控单元将第一独立存储介质中空闲块按照擦写次数从少至多排列,以得到推荐顺序;主控单元将待存储数据按照推荐顺序写入第一独立存储介质。6.根据权利要求4所述的一种固态硬盘的高性能数据写入方法,其特征在于,所述数据记录设备还包括内存单元和备用电源;内存单元和处理模块通信连接;备用电源用于给固态硬盘、处理模块和内存单元供电;所述方法,还包括:当需要将待存储数据写入固态硬盘时,处理模块将待存储数据同时写入第一独立存储介质和内存单元;处理模块实时检测第一电源是否出现异常断电;若是,处理模块不再接收新的待存储数据,并将存储于内存单元的待存储数据与存储于第一独立存储介质中的数据进行对比,以获取第一独立存储介质中不存在的且存储于内存单元的待存储数据,并标记为待转移数据;处理模块将待转移数据复制写入第一独立存储介质后,控制备用电源断电;若否,处理模块实时判断内存单元中的待存储数据的占用空间是否大于或等于第二预设值;当内存单元中的待存储数据的占用空间大于或等于第二预设值时,处理模块将内存单元中待存储数据按照写入时刻从早至晚的顺序进行删除,直至内存单元中的待存储数据的占用空间小于第二预设值。7.根据权利要求6所述的一种固态硬盘的高性能数据写入方法,其特征在于,第二电源设置于固态硬盘;第二电源还用于给主控单元供电;所述方法,还包括:当需要拆卸固态硬盘时,处理模块获取用户输入的安全拆卸指令;处理模块向主控单元发送安全拆卸指令;主控单元将安全拆卸指令发送至第二独立存储介质进行存储;当主控单元检测到第一电源断电时,判断第二独立存储介质中是否存在安全拆卸指令;若否,主控单元将第二独立存储介质中的元数据加密。8.根据权利要求4所述的一种固态硬盘的高性能数据写入方法,其特征在于,还包括:处理模块通过主控单元获取第一独立存储介质的空闲块的数量,以判断空闲块的存储空间是否小于第三预设值;
若是,处理模块获取第一独立存储介质中各已存储数据对应的操作日志,以获取曾经进行过复制操作的已存储数据,并标记为第二目标数据;处理模块通过主控模块将第二目标数据删除。9.一种数据记录设备,其特征在于,应用如权利要求1-8中任一项所述的固态硬盘的高性能数据写入方法;所述数据记录设备包括固态硬盘;固态硬盘包括主控单元、第一独立存储介质和第二独立存储介质;第一独立存储介质和第二独立存储介质均通信连接于主控单元;第一独立存储介质包括多个块单元,块单元包括多个页单元;块单元的空间大小大于第一预设值;固态硬盘设置有文件系统。

技术总结
本发明公开了一种固态硬盘的高性能数据写入方法和数据记录设备,本方法可以针对高速持续写入场景,将待存储数据写入第一独立存储介质,将元数据写入第二独立存储介质,以实现数据写入方式的优化;具体的,传统方案中,因元数据和待存储数据同步写入同一存储介质中时,会增加写入数据的复杂程度,进而增加随机写入程度;而本方案中,对待存储数据和元数据的数据分别进行独立存储,即将元数据和待存储数据分开存储以实现解耦,第一独立存储介质专门负责存储大容量的待存储数据,即按照生成时间依次写入空闲页单元,降低了数据写入的随机程度,进而减少写入放大现象,进而提升固态硬盘的写入性能。的写入性能。的写入性能。


技术研发人员:刘宇洋 谭德辉
受保护的技术使用者:湖南博匠信息科技有限公司
技术研发日:2023.07.20
技术公布日:2023/8/24
版权声明

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

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

分享:

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

相关推荐