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

一种基于文件系统优化的固态存储方法、系统及设备与流程

2022-04-16 18:16:35 来源:中国专利 TAG:

1.本发明属于存储领域,尤其涉及一种基于文件系统优化的固态存储方法、系统及设备。


背景技术:

2.在存储领域不断发展的今天,越来越多的应用使用固态存储设备来安装系统或者存储数据。基于文件系统的特性,用户在操作数据时需要频繁的对某些管理类数据进行更新,而由于nand flash颗粒特性,这类数据会频繁的被复写从而导致出现大量的无效page,此状况会频繁触发后台的gc/wl等操作,进而影响写入性能以及使用寿命。
3.现有技术中部分方案要求文件系统自己根据元数据形成特征信息,固态存储设备根据特征信息来对不同类型的数据进行差异化处理;另有部分方案要求必须使用特定的文件系统并与固态存储设备进行匹配后才能正常使用。上述几种方案均无法兼容常用的文件系统,无法满足消费级/工作站等用户的使用需求。


技术实现要素:

4.本发明旨在解决上述问题,提供一种基于文件系统优化的固态存储方法、系统及设备。
5.第一方面,本发明提供一种基于文件系统优化的固态存储方法,包括:解析数据,从各文件系统中获取元数据与数据lba范围;设置一关系表m,将解析获取的lba范围与数据类型进行对应,用于维护lba范围和数据类型的对应关系;设置一固定缓存区,用于缓存文件系统元数据,定期将最新的元数据写回到nand中;可有效减少元数据的复写次数;写命令操作时,将数据按数据类型对应存储至不同的block域中;可以将不同类型的数据在block层面予以隔离;当gc介入时,根据数据类型分别进行gc;可有效减少冷热数据混合而导致对冷数据不必要的搬移量。
6.进一步,本发明所述基于文件系统优化的固态存储方法,所述解析数据具体包括:首先通过一级解析模块对lba0扇区进行解析,通过分区标记确认分区类型,再通过分区类型获取分区表的位置信息,最后解析分区表获得整个固态存储设备的完整分区表信息及其包含的所有分区信息,并获取整个分区管理数据的lba范围;通过二级解析模块根据不同文件系统类型,从每个分区的起始lba进行解析,获取每个分区文件系统的元数据与数据lba范围。
7.进一步,本发明所述基于文件系统优化的固态存储方法,所述解析数据还包括:若解析中有操作系统分区,通过三级解析模块针对操作系统类型进行解析,获取操作系统管理数据与用户数据的lba范围,及部分系统大文件的lba范围,系统大文件的lba范围包括但
不限于休眠文件、虚拟内存文件。
8.进一步,本发明所述基于文件系统优化的固态存储方法,所述关系表m用于将解析获取到的lba范围与多个数据类型进行对应;具体包括:分区管理数据的lba范围单独对应到管理数据类型;文件系统元数据及操作系统管理数据对应到热数据类型;文件系统数据及操作系统用户数据会对应到冷数据类型;当接收到host写命令后根据命令lba区分数据类型,后交由ftl进行差异化的处理。
9.进一步,本发明所述基于文件系统优化的固态存储方法,所述block被划分多个域,与数据类型一一对应;接收到host写命令时根据数据类型写入到对应block域的空闲块,可以将不同类型的数据在block层面予以隔离。
10.进一步,本发明所述基于文件系统优化的固态存储方法,所述固定缓存区用于缓存文件系统元数据;正常使用过程中定期更新到nand中;关机/掉电前强制更新到nand中;通过设置固定缓存区可有效减少元数据的复写次数,提高存储性能。
11.进一步,本发明所述基于文件系统优化的固态存储方法,所述解析数据及关系表m更新完成后,在关机/下电前将分区信息x1和对应关系表存入flash特定block中,下次上电时校验实际的分区信息x2与前述x1,校验一致后直接读取该block数据进行重建。
12.进一步,本发明所述基于文件系统优化的固态存储方法,所述分区类型包括但不限于mbr、gpt;所述分区信息包括但不限于各分区文件系统类型、各分区起始位置、分区大小;所述文件系统类型包括但不限于fat、fat32、exfat、ntfs、ext2、ext3、ext4、reiserfs、vfat、brtfs。
13.第二方面,本发明提供一种基于文件系统优化的固态存储系统,包括解析模块和处理模块;所述解析模块用于解析数据,从各文件系统中获取元数据与数据lba范围;所述处理模块用于设置一关系表m,将解析获取的lba范围与数据类型进行对应,用于维护lba范围和数据类型的对应关系;用于设置一固定缓存区,用于缓存文件系统元数据,定期将最新的元数据写回到nand中;所述处理模块进行写命令操作时,用于将数据按数据类型对应存储至不同的block域中;当gc介入时,控制系统根据数据类型分别进行gc处理。
14.第三方面,本发明提供一种基于文件系统优化的固态存储设备,所述存储设备中存储有解析及处理程序,当host对所述存储设备进行读写操作时,所述存储设备通过执行前述解析及处理程序将数据分类存储于存储介质中;具体包括:解析数据,从各文件系统中获取元数据与数据lba范围;设置一关系表m,将解析获取的lba范围与数据类型进行对应,用于维护lba范围和数据类型的对应关系;设置一固定缓存区,用于缓存文件系统元数据,定期将最新的元数据写回到nand中;写命令操作时,将数据按数据类型对应存储至不同的block域中;当gc介入时,根据数据类型分别进行gc。
15.本发明所述基于文件系统优化的固态存储方法、系统及设备,通过解析文件系统,获取各文件系统中元数据和数据的lba范围,同时对应存储到不同的block域中,将冷热数
据进行隔离,有效的减少后台gc触发的频率以及数据搬移量;同时通过增设针对文件系统元数据的固定缓存区来定期将最新的元数据写回到nand中,减少热数据的复写频率,有效提升固态存储设备的存储性能和使用寿命。
附图说明
16.图1为本发明实施例所述解析数据流程示意图;图2为本发明实施例所述的分区结构示意图;图3为本发明实施例所述的写命令处理流程示意图。
具体实施方式
17.下面通过附图及实施例对本发明所述基于文件系统优化的固态存储方法、系统及设备进行详细说明。
18.在本公开实施例中所使用的固态存储设备为固态硬盘 (solid state drives,ssd),是一种用固态电子存储芯片阵列而制成的硬盘,通常由控制器和存储器(如nand flash芯片、dram芯片等)组成。
19.文件系统,是指操作系统用于明确及管理存储设备(机械硬盘,固态硬盘等)或分区上的文件的方法和数据结构。操作系统中负责管理和存储文件信息的软件机构称为文件管理系统,简称文件系统。从系统角度来看,文件系统是对文件存储设备的空间进行组织和分配,负责文件存储并对存入的文件进行管理的系统。具体地说,它负责为用户创建、存入、读出、修改、转储、删除文件等。
20.元数据,文件系统主要包含元数据(metadata)和数据两个数据段,元数据是用于描述和管理数据信息的数据,主要负责指示数据存储位置、历史信息、文件状态记录等。对数据的任何操作都可能会导致元数据的更新,所以元数据的更新频率相比数据来说高很多。
21.垃圾回收(gc):将多个有效数据量较少的block中的有效数据集中搬移到一个新的空闲block中,再将多个完成搬移的无效block通过擦除释放为空闲block。
22.本公开实施例采用的固态硬盘包括控制器、nand以及dram;本公开实施例所述固态硬盘中使用到的分区类型为gpt。
23.实施例一本公开实施例公开的基于文件系统优化的固态存储方法,包括:解析数据,从各文件系统中获取元数据与数据lba范围;设置一关系表m,将解析获取的lba范围与数据类型进行对应,用于维护lba范围和数据类型的对应关系;设置一固定缓存区,用于缓存文件系统元数据,定期将最新的元数据写回到nand中;可有效减少元数据的复写次数;写命令操作时,将数据按数据类型对应存储至不同的block域中;可以将不同类型的数据在block层面予以隔离;当gc介入时,根据数据类型分别进行gc;可有效减少冷热数据混合而导致对冷数据不必要的搬移量。
24.本公开实施例所述基于文件系统优化的固态存储方法,包括以下具体步骤:第一部分:解析模块工作流程,如图1所示;步骤s101、主机上电后并经过基本初始化后,读取lba0~lba33的分区管理数据(其
中包括引导扇区和硬盘分区表dpt),判断是否存在分区表,如果存在跳转步骤s102,不存在则跳转步骤s103;所述分区的结构如图2所示;步骤s102、扫描nand的特定位置确认是否已经有备份解析数据,存在则跳转步骤s104,不存在则跳转步骤s105;步骤s103、等待host更新分区管理数据,当该区域被更新后跳转步骤s105;步骤s104、校验分区表头数据的校验码与备份解析数据中的检验码是否一致,一致则跳转步骤s107,不一致则跳转步骤s105;步骤s105、一级解析开始解析分区表头数据,形成分区类型信息及各分区文件系统信息,当存在至少一个分区文件系统时跳转步骤s106,不存在则跳转步骤s103;步骤s106、二级解析模块开始解析各文件系统起始位置的一段lba,将文件系统元数据与数据的lba域划分为不同数据类型,并将文件系统元数据部分的lba域,单独划分一段固定缓存区予以对应。同时判断是否有操作系统分区,有则跳转步骤s108,没有则跳转步骤s109;步骤s107、通过备份解析数据重建lba域与数据类型的对应表以及对应文件系统元数据的固定缓存区;跳转步骤s109;步骤s108、三级解析模块进一步解析操作系统(包括但不限于windows、linux系统)信息,将操作系统的管理数据与用户数据的lba域以及一些系统大文件的lba段划分为不同数据类型,跳转步骤s109;步骤s109、维护一张lba域和数据类型的对应关系表,其中文件系统元数据/操作系统管理数据对应相对热数据,数据/用户数据对应相对冷数据;跳转步骤s110;步骤s110、根据解析模块划分的数据类型,划分多个block域进行一一对应,当host下发写命令后,通过命令lba判断其数据类型,当属于文件系统元数据类型时,跳转步骤s111,其他数据类型交由ftl处理并写入到对应的block域的空闲block中;步骤s111、在固定缓存区中更新数据,定期的将数据交由ftl处理并更新到对应block域的空闲block中;如果出现正常/异常下电,会优先将此固定缓存区的数据更新至nand中。
25.第二部分:写命令处理流程,如图3所示;步骤s201、ssd受到host写命令后,根据解析模块维护的lba域和数据类型对应关系表,判断写数据具体类型,如果元数据写则跳转步骤s202,如果不是则跳转步骤s203;步骤s202、在元数据对应的固定缓存区更新元数据并结束此命令,定期或当ssd空闲时将需要更新的缓存区数据写入元数据类型对应block域中;步骤s203、判断写数据是否为分区表信息,如果不是则按照正常流程写入数据对应的block域中并结束此命令,如果是则跳转步骤s204;步骤s204、解析管理模块重新解析最新的分区表、文件系统信息,并更新lba域与数据类型的对应关系表,然后将最新的解析数据和对印关系表写入nand的特定位置。
26.本实施例所述基于文件系统优化的固态存储方法通过固态硬盘内部的解析模块对文件系统进行解析,来获各文件系统中元数据和数据的不同lba范围,并对应存储到不同的block域中,将冷热数据进行隔离,从而减少后台gc触发的频率以及数据搬移的工作量;同时增加一个针对文件系统元数据lba范围的固定缓存区来定期将最新的元数据写回到
nand中,减少热数据的复写频率。以此来提升固态硬盘的性能和使用寿命。
27.实施例二本公开实施例公开一种基于文件系统优化的固态存储系统,包括解析模块和处理模块;所述解析模块用于解析数据,从各文件系统中获取元数据与数据lba范围;所述处理模块用于设置一关系表m,将解析获取的lba范围与数据类型进行对应,用于维护lba范围和数据类型的对应关系;用于设置一固定缓存区,用于缓存文件系统元数据,定期将最新的元数据写回到nand中;所述处理模块进行写命令操作时,用于将数据按数据类型对应存储至不同的block域中;当gc介入时,控制系统根据数据类型分别进行gc处理。本公开实施例所述固态硬盘存储系统进行数据存储时,包括以下具体步骤:步骤一、固态硬盘上电启动;使用过程中新建或修改分区/文件系统(包括更改大小,类型,起始位置)时,一级解析模块对lba0扇区进行解析,通过lba0中的分区标记确认分区类型,再通过分区类型获取分区表的位置信息,最后解析分区表获得整个固态硬盘的完整分区表信息及其包含的所有分区信息,并获取整个分区管理数据的lba范围;步骤二、二级解析模块根据不同的文件系统类型,从每个分区的起始lba进行解析,获取每个分区文件系统的元数据与数据lba范围;步骤三、如果解析过程中发现有操作系统分区,三级解析模块会再针对操作系统类型进一步进行解析,获取操作系统管理数据与用户数据的lba范围,并解析出一些系统大文件的lba范围;步骤四、维护一张lba范围和数据类型的对应关系表m,将解析模块获取到的多个lba范围与多个数据类型进行对应,其中分区管理数据的lba范围会单独对应到管理数据类型,文件系统元数据及操作系统管理数据会对应到热数据类型,文件系统数据及操作系统用户数据会对应到冷数据类型;接收到host写命令后根据命令lba区分数据类型,后交由ftl进行差异化的处理;步骤五、block划分多个域,与数据类型一一对应,固态硬盘接收到host写命令时会根据数据类型写入到对应block域的空闲块中,可以将不同类型的数据在block层面予以隔离步骤六、在缓存中专门划出一段空间用来缓存文件系统元数据,正常使用过程中定期更新到nand中,关机/掉电前强制更新到nand中;此操作目的在于减少元数据的复写次数;步骤七、当gc介入时,固态硬盘会根据内部数据的状况来对冷/热数据分别进行gc,从而减少冷热数据混合而导致对冷数据不必要的搬移;当解析数据过程及表m更新完成后,在关机/下电前将分区信息x1和对应关系表存入flash特定block中,下次上电是校验实际的分区信息x2与x1,校验一致后可直接读取该block数据进行重建。
28.所述分区类型包括但不限于mbr、gpt;所述分区信息包括但不限于各分区文件系统类型、各分区起始位置、分区大小;所述文件系统类型包括但不限于fat、fat32、exfat、ntfs、ext2、ext3、ext4、reiserfs、vfat、brtfs;所述系统大文件的lba范围包括但不限于休眠文件、虚拟内存文件;在具体应用中可根据实际情况进行选择适用。
29.实施例三本公开实施例公开一种基于文件系统优化的固态存储设备,所述存储设备中存储
有解析及处理程序,当host对所述存储设备进行读写操作时,所述存储设备通过执行前述解析及处理程序将数据分类存储于存储介质中;具体包括:解析数据,从各文件系统中获取元数据与数据lba范围;设置一关系表m,将解析获取的lba范围与数据类型进行对应,用于维护lba范围和数据类型的对应关系;设置一固定缓存区,用于缓存文件系统元数据,定期将最新的元数据写回到nand中;写命令操作时,将数据按数据类型对应存储至不同的block域中;当gc介入时,根据数据类型分别进行gc。
30.具体的存储步骤与前述实施例一或实施例二所记载的具体步骤相同,为节省篇幅,在此不做赘述。
31.上述实施例仅是本发明所述技术方案的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都应属于本发明保护的范围。
再多了解一些

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

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

相关文献