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

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

【技术实现步骤摘要】
一种固态硬盘的高性能数据写入方法和数据记录设备


[0001]本专利技术涉及存储读写
,具体涉及一种固态硬盘的高性能数据写入方法和数据记录设备。

技术介绍

[0002]NAND

flash是目前固态硬盘的主要存储介质之一,随着技术进步,单位体积的固态硬盘的存储容量越来越大。基于NAND

flash本身的特性,读写时,擦除单元总是比写入单元大,导致在随机写入数据时均需要进行写前复制(copy

on

write)操作,写前复制操作会导致数据的实际写入量比预期写入量大,这种现象称之为写入放大现象,因固态硬盘的写入次数寿命是一定的,故写入放大现象会导致固态硬盘的使用寿命降低,还会降低读写性能。
[0003]此外,固态硬盘在进行写入操作时,文件系统会同时写入用户数据和与用户数据对应的元数据(即因保存用户数据而产生的额外附加信息,并非用户数据本身,例如,元数据包括用户数据的大小、创建时间和存储位置等),并将元数据和用户数据写入同一存储位置;现有技术中,因元数据和用户数据需要同步进行写入,会很大程度上增加固态硬盘的写入放大现象,从而在写入一段时间后出现写入带宽的严重下降,降低固态硬盘的写入性能。

技术实现思路

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

【技术保护点】

【技术特征摘要】
1.一种固态硬盘的高性能数据写入方法,其特征在于,应用于数据记录设备;所述数据记录设备包括固态硬盘;固态硬盘包括主控单元、第一独立存储介质和第二独立存储介质;第一独立存储介质和第二独立存储介质均通信连接于主控单元;第一独立存储介质包括多个块单元,块单元包括多个页单元;块单元的空间大小大于第一预设值;固态硬盘设置有文件系统;所述方法,包括:当需要将待存储数据写入固态硬盘时,主控单元获取第一独立存储介质中的存储了数据的最后一个页单元,并标记为第一目标页单元;主控单元获取第一独立存储介质中物理地址与第一目标页单元最近的空闲页单元,并标记为第二目标页单元;主控单元将待存储数据按照生成时间依次写入第二目标页单元及物理地址在第二目标页单元之后的空闲页单元;待存储数据全部写入第一独立存储介质后,主控单元通过文件系统获取待存储数据对应的元数据;主控单元将元数据写入第二独立存储介质;所述待存储数据全部写入第一独立存储介质后,主控单元通过文件系统获取待存储数据对应的元数据,包括:主控单元通过文件系统获取待存储数据的超级块信息,并将超级块信息作为待存储数据的表头信息;主控单元通过文件系统获取待存储数据的位图,并将位图作为待存储数据的索引;主控单元通过文件系统获取待存储数据的索引节点信息,其中,索引节点信息包括待存储数据的存储位置信息、数据大小信息和存储时刻信息;主控单元将超级块信息、位图和索引节点信息打包以生成待存储数据对应的元数据。2.根据权利要求1所述的一种固态硬盘的高性能数据写入方法,其特征在于,所述数据记录设备还包括处理模块;处理模块与主控单元通信连接;所述当需要将待存储数据写入固态硬盘时,主控单元获取第一独立存储介质中的存储了数据的最后一个页单元,并标记为第一目标页单元,之前还包括:处理模块获取固态硬盘的过去预设时间段的历史写入数据;处理模块基于历史写入数据,获取历史写入数据中待存储数据与对应元数据所占存储空间的比值;处理模块根据所占存储空间的比值,确定第一独立存储介质的存储空间大小,和第二独立存储介质的存储空间大小。3.根据权利要求2所述的一种固态硬盘的高性能数据写入方法,其特征在于,所述数据记录设备还包括第一电源和第二电源;所述第一电源用于给第一独立存储介质供电;所述第二电源用于给第二独立存储介质供电;所述方法,还包括:处理模块基于第一独立存储介质的存储空间大小将第一电源的掉电延时时长确定为第一时长;处理模块基于第二独立存储介质的存储空间大小将第二电源的掉电延时时长确定为第二时长,其中,第一时长大于第二时长。4.根据权利要求2所述的一种固态硬盘的高性能数据写入方法,其特征在于,还包括:
处理模块获取第一独立存储介质中的空闲闪存块,并判断空闲闪存块的擦写次数是否小于预设次数;若是,处理模块将擦写次数小于预设次数的空闲闪存块标记为目标块;处理模块将第一独立存储介质中的所有的已存储数据按照读取次数从多至少排列,以获取读取次数最多的已...

【专利技术属性】
技术研发人员:刘宇洋谭德辉
申请(专利权)人:湖南博匠信息科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1