数据存储方法、数据读取方法、文件系统及存储系统技术方案

技术编号:36289670 阅读:57 留言:0更新日期:2023-01-13 10:02
本发明专利技术实施例公开了一种数据存储方法、数据读取方法、文件系统及存储系统,数据存储方法可以包括:接收写入请求信息,确定闪存中用于存放存储对象的存储块,存储块为多个连续闪存页组成的固定大小的存储区域;将存储对象存储到确定的一个存储块或多个连续的存储块中,不同存储对象的数据存储在不同的存储块中。本发明专利技术实施例公开的数据存储方法、数据读取方法、文件系统及存储系统,可避免闪存中的数据频繁删改时,产生存储碎片导致闪存访问速度降低的问题,以及可提高闪存的使用寿命。以及可提高闪存的使用寿命。以及可提高闪存的使用寿命。

【技术实现步骤摘要】
数据存储方法、数据读取方法、文件系统及存储系统


[0001]本专利技术涉及但不仅限于存储技术,尤指一种数据存储方法、数据读取方法、文件系统及存储系统。

技术介绍

[0002]闪存是目前的主流存储介质,传统的闪存的存储区的数据(比如文件或文件夹)占用的多为分散的存储区,这些分散的存储区称为文件碎片。存储区的碎片越多,系统读取和新建文件的速度越慢。
[0003]示例性的,传统的基于NAND闪存存储的vxWorks dosFS存在频繁读写文件的问题,而频繁删除、添加文件,就会产生大量的文件碎片,随着文件的删改频繁,这种情况会日益严重,严重影响文件访问速度。

技术实现思路

[0004]本申请实施例提供了一种数据存储方法,包括:
[0005]接收写入请求信息,确定闪存中用于存放存储对象的存储块,所述存储块为多个连续闪存页组成的固定大小的存储区域;
[0006]将所述存储对象存储到确定的一个存储块或多个连续的存储块中,不同存储对象的数据存储在不同的存储块中。
[0007]本申请实施例还提供了一种数据读取方法,包括:
[0008]接收读取请求信息,确定需读取的存储对象的数据所占用的一个或多个存储块,不同存储对象存储的数据在不同的存储块中;
[0009]按预设顺序读取所占用的一个或多个存储块中存储的数据。
[0010]本申请实施例还提供了一种文件系统,包括存储器和控制器,存储器用于存储执行指令;处理器调用所述执行指令,用于执行任一实施例所述的数据存储方法,以及执行任一实施例所述的数据读取方法。
[0011]本申请实施例还提供了一种存储系统,包括:存储设备、文件系统接口和任一实施例所述的文件系统。
[0012]本申请至少一个实施例提供的数据存储方法、数据读取方法、文件系统及存储系统,与现有技术相比,具有以下有益效果:使用块存储方式存储需写入的对象(比如文件),避免了闪存中的数据(比如文件)频繁删改时,产生存储碎片导致闪存访问速度降低的问题,影响设备运行效率。
[0013]本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的其他优点可通过在说明书以及附图中所描述的方案来实现和获得。
附图说明
[0014]附图用来提供对本申请技术方案的理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本申请的技术方案,并不构成对本申请技术方案的限制。
[0015]图1为本专利技术一示例实施例提供的数据存储方法的流程图;
[0016]图2为本专利技术一示例实施例提供的存储块记录方式的示意图;
[0017]图3为本专利技术另一示例实施例提供的存储块记录方式的示意图;
[0018]图4为本专利技术一示例实施例提供的文件节点信息和存储块节点信息的对应关系的示意图;
[0019]图5为本专利技术一示例实施例提供的数据读取方法的流程图;
[0020]图6为本专利技术一示例实施例提供的文件系统的结构框图;
[0021]图7为本专利技术一示例实施例提供的存储系统的结构框图。
具体实施方式
[0022]本申请描述了多个实施例,但是该描述是示例性的,而不是限制性的,并且对于本领域的普通技术人员来说显而易见的是,在本申请所描述的实施例包含的范围内可以有更多的实施例和实现方案。尽管在附图中示出了许多可能的特征组合,并在具体实施方式中进行了讨论,但是所公开的特征的许多其它组合方式也是可能的。除非特意加以限制的情况以外,任何实施例的任何特征或元件可以与任何其它实施例中的任何其他特征或元件结合使用,或可以替代任何其它实施例中的任何其他特征或元件。
[0023]本申请包括并设想了与本领域普通技术人员已知的特征和元件的组合。本申请已经公开的实施例、特征和元件也可以与任何常规特征或元件组合,以形成由权利要求限定的独特的专利技术方案。任何实施例的任何特征或元件也可以与来自其它专利技术方案的特征或元件组合,以形成另一个由权利要求限定的独特的专利技术方案。因此,应当理解,在本申请中示出和/或讨论的任何特征可以单独地或以任何适当的组合来实现。因此,除了根据所附权利要求及其等同替换所做的限制以外,实施例不受其它限制。此外,可以在所附权利要求的保护范围内进行各种修改和改变。
[0024]此外,在描述具有代表性的实施例时,说明书可能已经将方法和/或过程呈现为特定的步骤序列。然而,在该方法或过程不依赖于本文所述步骤的特定顺序的程度上,该方法或过程不应限于所述的特定顺序的步骤。如本领域普通技术人员将理解的,其它的步骤顺序也是可能的。因此,说明书中阐述的步骤的特定顺序不应被解释为对权利要求的限制。此外,针对该方法和/或过程的权利要求不应限于按照所写顺序执行它们的步骤,本领域技术人员可以容易地理解,这些顺序可以变化,并且仍然保持在本申请实施例的精神和范围内。
[0025]DOS文件系统(Dosfs),是一种与MS

DOS兼容的文件系统,它能满足实时应用的多种要求。
[0026]Nand闪存是闪存存储器的一种,其存储器具有容量较大,改写速度快等优点,适用于大量数据的存储。
[0027]传统的基于NAND闪存(Flash)存储区的vxWorks dosFS中的文件和文件夹通常占用NAND闪存存储区的多个分散的分区,这些分散的存储区称为文件碎片。存储区的碎片越多,系统读取和新建文件的速度越慢。频繁删除、添加文件,就会产生大量的文件碎片,随着
文件的删改频繁,这种情况会日益严重。
[0028]对于存储区碎片导致的文件系统访问文件速度变慢的现象,传统的方式是格式化NAND闪存,重新写入文件来解决。但是对于在线运行的设备来说,格式化NAND闪存会影响设备的正常运行。
[0029]本专利技术实施例提出一种基于闪存的无碎片存储方案,以存储块为单位进行操作,可避免存储碎片的问题,解决在设备运行中频繁删改文件产生存储区碎片导致文件访问速度变慢的问题。
[0030]图1为本专利技术一示例实施例提供的数据存储方法的流程图,如图1所示,数据存储方法可以包括:
[0031]S101:接收写入请求信息,确定闪存中用于存放存储对象的存储块,存储块为多个连续闪存页组成的固定大小的存储区域。
[0032]本实施例中,通过将闪存按块划分的方式,以存储块为单位进行操作,按块存储的方式存储需写入的存储对象的数据(比如文件内容)。
[0033]闪存页是闪存最小的读出单位,每个闪存页为16kB。存储块可以为多个连续闪存页组成的固定大小的存储区域。示例性的,每个存储块的大小可以为128K,含8个闪存页。存储块的大小可根据经验值而定,本实施例在此不进行限定和赘述。
[0034]S102:将存储对象存储到确定的一个存储块或多个连续的存储块中,不同存储对象的数据存储在不同的存储块中。
[0035]本实施例中,采用块存储方式存储,将需写入的存储对象的数据存储到确定的一本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据存储方法,其特征在于,包括:接收写入请求信息,确定闪存中用于存放存储对象的存储块,所述存储块为多个连续闪存页组成的固定大小的存储区域;将所述存储对象存储到确定的一个存储块或多个连续的存储块中,不同存储对象的数据存储在不同的存储块中。2.根据权利要求1所述的方法,其特征在于,所述确定闪存中用于存放存储对象的存储块,包括:确定与当前存储时间间隔最小的存储时间对应写入的存储块的序号,标记为当前序号;将所述当前序号之后相邻的一个存储块或多个连续的存储块,确定为用于存放存储对象的存储块。3.根据权利要求2所述的方法,其特征在于,所述存储对象包括文件,所述确定与当前存储时间间隔最小的存储时间对应写入的存储块的序号,包括:查询文件节点信息与存储块节点信息的对应关系,所述文件节点信息包括:文件创建时间、文件占用存储块的个数和文件占用的存储块的序号,所述存储块节点信息用于每一存储块的状态;根据所述文件创建时间、文件占用存储块的个数和文件占用的存储块的序号,确定与当前存储时间间隔最小的存储时间对应写入的存储块的序号。4.根据权利要求2所述的方法,其特征在于,所述写入请求信息包括:所述存储对象的数据尺寸;所述将所述存储对象存储到确定的一个存储块或多个连续的存储块中,包括:在所述存储对象的数据尺寸小于或等于所述固定大小时,将所述存储对象存储到所述当前序号之后相邻的一个存储块中;在所述存储对象的数据尺寸大于所述固定大小时,将所述存储对象分割成M个数据包,将分割后的M个数据包按预设次序分别存储到所述当前序号之后相邻的多个连续存储块中;其中,M为大于1的整数,前M

1个数据包的数据尺寸等于所述固定大小,第M个数据包的数据尺寸小于或等于所述固定大小,一个数据包对应存到一个存储块中。5.根据权利要求1

4任一项所述的方法,其特征在于,所述将所述存储对象存储到确定的一个存储块或多个连续的存储块之前,所述方法还包括:判断所述存储对象的数据是否是所述闪存中存储的某一对象的追加数据;若是,则确定存储该对象的最后一个存储块,以及确定该对象的数据是否占满最后一个存储块;在该对象的数据未占满最后一个存储块时,将所述最后一个存储块中的数据与所...

【专利技术属性】
技术研发人员:蔡蕾余瑞董永刚刘奋民
申请(专利权)人:杭州和利时自动化有限公司
类型:发明
国别省市:

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

1