数据模式日志文件系统的数据写入方法及系统技术方案

技术编号:17994612 阅读:38 留言:0更新日期:2018-05-19 11:47
本发明专利技术公开基于固态硬盘的数据模式日志文件系统的数据写入方法及系统。该方法包括:a、为待写入日志块计算日志块弱指纹;b、检测指纹库中是否存在一样的日志块弱指纹,若否,新增日志块弱指纹记录,其含有a中的日志块弱指纹及相应的日志块号,执行c;若是,执行c;c、将待写入的日志块执行物理的写;d、为待写入文件块计算文件块弱指纹;e、检测指纹库中与该文件块弱指纹相匹配的日志块弱指纹的计数是否为1,若是,修改待写入文件块的地址映射表,将其逻辑地址映射到对应的日志块的物理地址中;若否,将待写入文件块执行物理的写。本发明专利技术可大幅度减少日志文件系统的重复写,提高日志文件系统的性能和延长固态硬盘的寿命。

Data writing method and system for data mode log file system

The invention discloses data writing method and system for data mode log file system based on solid state hard disk. The method includes: A, calculating the log block weak fingerprint for the log block to be written; B, whether there is the same log block weak fingerprint in the fingerprint library, if not, the new log block is weak fingerprint record, it contains the log block weak fingerprint and the corresponding log block number in the A, and executes the C; if it executes C; C, the log block to be written is to be executed. Write the physical writing; D, compute the weak fingerprint for the file block to be written to the file block; E, whether the count of the weak fingerprint of the log block that matches the weak fingerprint of the file block is 1. If, modify the address mapping table to be written to the file block, map its logical address to the physical address of the corresponding log block; if not, if not, Write a physical write to the file block to be written. The invention can greatly reduce the repeated writing of the log file system, improve the performance of the log file system and extend the service life of the solid-state hard disk.

【技术实现步骤摘要】
数据模式日志文件系统的数据写入方法及系统
本专利技术涉及固态硬盘
,尤其涉及一种基于固态硬盘的数据模式日志文件系统的数据写入方法及系统。
技术介绍
目前,几乎所有的文件系统都提供日志功能,以保护文件系统以及文件在遇到突然断电等原因导致系统非正常停机后的完整性,而这样的文件系统称为日志文件系统,日志文件系统可以运行在数据模式(datajournaling)或元数据模式(metadatajournaling)。在数据模式中,文件系统更新时的元数据和数据都先写入日志中,之后再写入文件系统中,这种模式可以最大程度地保护文件系统的完整性,但是这将写入固态硬盘的数据量加倍了,会严重降低文件系统写操作的性能。而在元数据模式中,只有元数据写入日志中,数据直接写到文件系统中,不必被重复写,这样会极大地提高写操作的速度,但是文件系统和数据的完整性无法得到充分保障,无法满足一些要求高可靠性的应用程序的需求。使用块去重技术(block-leveldeduplication)可以有效地去除在数据模式日志文件系统中的重复写,固态硬盘(SolidStateDrives,SSD)的记录介质只能承受有限次的写,一旦超过其容许的次数,SSD可能实现,去重技术可以显著减少写操作,从而提高SSD的寿命。但是现有的去重技术需要对每一个要写的块计算一个唯一的指纹(fingerprint),以用其进行比较确定是否是重复写。随着SSD的访问速度越来越快,如果直接用现有的块去重技术,其计算需要的时间在SSD写操作的执行时间中占的比例越来越大,会严重损害SSD的性能,让块去重技术无法有效应用,而且每一唯一的指纹为256bit,需要占用SSD中较大的DRAM来存储大量的块指纹。
技术实现思路
本专利技术所要解决的技术问题在于提供了一种能大幅度减少日志文件系统的重复写,提高日志文件系统性能和延长固态硬盘寿命的且占用较少DRAM的基于固态硬盘的数据模式日志文件系统的数据写入方法及系统。为解决上述技术问题,本专利技术采用以下技术方案:一方面,本专利技术提供了基于固态硬盘的数据模式日志文件系统的数据写入方法,数据写入方法包括写日志块和写文件块两个步骤;所述写日志块的步骤包括:a、利用哈希函数为待写入日志块计算日志块弱指纹;b、检测指纹库中是否存在有其日志块弱指纹与所述待写入日志块的日志块弱指纹相匹配的日志块弱指纹记录,若否,则执行步骤b1;若是,则执行步骤b2;b1、新增一日志块弱指纹记录,其包括有步骤a中计算出的待写入日志块的日志块弱指纹及相应的日志块号,并将该日志块弱指纹的计数设置为1,然后执行步骤c;b2、将匹配的日志块弱指纹记录中的日志块弱指纹的计数加1,并将待写入日志块的日志块号也保存在所述匹配的日志块弱指纹记录中,然后执行步骤c;c、将待写入的日志块写入配置的物理地址对应的闪存中;所述写文件块步骤包括:h、利用哈希函数为待写入文件块计算文件块弱指纹;i、检测指纹库中与待写入文件块的文件块弱指纹相匹配的日志块弱指纹的计数是否为1,若是,执行步骤i1;若否,执行步骤j;i1、修改待写入文件块的地址映射表,将该待写入文件块的逻辑地址映射到该匹配的日志块弱指纹相应的日志块号对应的日志块的物理地址中;j、将待写入文件块写入配置的物理地址对应的闪存中。其中,所述步骤c之后还包括:步骤d、将该物理地址的计数设置为1;所述步骤i1、修改待写入文件块的地址映射表,将该待写入文件块的逻辑地址映射到该匹配的日志块弱指纹相应的日志块号对应的日志块的物理地址中之后还包括:步骤k、在对应的物理地址的计数上加1;所述步骤d之后还包括:步骤e、当日志块从日志文件系统中删除时,将该日志块的日志块号对应的日志块弱指纹记录中的日志块弱指纹的计数减1,并将该日志块号从该日志块弱指纹记录中删除;所述步骤d和步骤k之后还包括:步骤l、当文件块从日志文件系统中删除时,将该文件块映射到的物理地址的计数减1;步骤m、当物理地址的计数为0时,对该物理地址进行擦除。其中,所述步骤c之后还包括:统计指纹库中计数大于1的日志块弱指纹的数量,若该数量大于预置数量,则停止为待写入日志的日志块计算和检测日志块弱指纹。其中,所述停止为日志块计算和检测日志块弱指纹之后还包括:当指纹库中计数大于1的日志块弱指纹的数量小于等于预置数量时,为待写入日志的日志块计算和检测日志块弱指纹。其中,所述哈希函数为CRC32。第二方面,本专利技术提供了另基于固态硬盘的数据模式日志文件系统的另一种数据写入方法,该所述数据写入方法包括写日志块和写文件块两个步骤;所述写日志块的步骤包括:C、利用哈希函数为待写入日志块计算第一日志块弱指纹;D、检测指纹库中是否存在有其第一日志块弱指纹与所述待写入日志块的第一日志块弱指纹相匹配的日志块弱指纹记录,若否,则执行步骤B1;若是,则执行步骤B2;B1、新增一日志块弱指纹记录,其包括有步骤A中计算出的待写入日志块的第一日志块弱指纹及相应的日志块号,然后执行步骤D;B2、利用哈希函数为所述待写入日志块计算第二日志块弱指纹,然后执行步骤C;C、新增一日志块弱指纹记录,其包括有步骤A中计算出的待写入日志块的第一日志块弱指纹、步骤B2中计算出的待写入日志块的第二日志块弱指纹及相应的日志块号,然后执行步骤D;D、将待写入的日志块写入配置的物理地址对应的闪存中;写文件块,所述写文件块包括:H、利用哈希函数为待写入文件块计算第一文件块弱指纹;I、检测指纹库中与待写入文件块的第一文件块弱指纹相匹配的第一日志块弱指纹的日志块弱指纹记录的计数是否为1,若是,执行步骤I1;若否,执行步骤I2;I1、修改待写入文件块的地址映射表,将该待写入文件块的逻辑地址映射到该日志文件块弱指纹记录中日志块号对应的日志块的物理地址中;I2、利用哈希函数为待写入文件块计算第二文件块弱指纹,然后执行步骤J;J、检测步骤I中检测出的日志文件块弱指纹记录中其第二日志块弱指纹与步骤I2计算出的第二文件块弱指纹相匹配的日志块弱指纹记录的计数是否为1,若是,执行步骤J1;若否,执行步骤J2;J1、修改待写入文件块的地址映射表,将该待写入文件块的逻辑地址映射到其第二日志块弱指纹与该待写入文件块的第二文件块弱指纹相匹配的日志文件块弱指纹记录的日志块号对应的日志块的物理地址中;J2、将待写入的文件块写入配置的物理地址对应的闪存中。其中,所述哈希函数为CRC32。第三方面,本专利技术提供了基于固态硬盘的数据模式日志文件系统的数据写入系统,该数据写入系统包括:日志块写入模块,所述日志块写入模块用于:a、利用哈希函数为待写入日志块计算日志块弱指纹;b、检测指纹库中是否存在有其日志块弱指纹与所述待写入日志块的日志块弱指纹相匹配的日志块弱指纹记录,若否,则执行步骤b1;若是,则执行步骤b2;b1、新增一日志块弱指纹记录,其包括有步骤a中计算出的待写入日志块的日志块弱指纹及相应的日志块号,并将该日志块弱指纹的计数设置为1,然后执行步骤c;b2、将匹配的日志块弱指纹记录中的日志块弱指纹的计数加1,并将待写入日志块的日志块号也保存在所述匹配的日志块弱指纹记录中,然后执行步骤c;c、将待写入的日志块写入配置的物理地址对应的闪存中;文件块写入模块,所述文件块写入模块用于:h、利用哈希函数为本文档来自技高网
...
数据模式日志文件系统的数据写入方法及系统

【技术保护点】
基于固态硬盘的数据模式日志文件系统的数据写入方法,其特征在于,所述数据写入方法包括写日志块和写文件块两个步骤;所述写日志块的步骤包括:a、利用哈希函数为待写入日志块计算日志块弱指纹;b、检测指纹库中是否存在有其日志块弱指纹与所述待写入日志块的日志块弱指纹相匹配的日志块弱指纹记录,若否,则执行步骤b1;若是,则执行步骤b2;b1、新增一日志块弱指纹记录,其包括有步骤a中计算出的待写入日志块的日志块弱指纹及相应的日志块号,并将该日志块弱指纹的计数设置为1,然后执行步骤c;b2、将匹配的日志块弱指纹记录中的日志块弱指纹的计数加1,并将待写入日志块的日志块号也保存在所述匹配的日志块弱指纹记录中,然后执行步骤c;c、将待写入的日志块写入配置的物理地址对应的闪存中;所述写文件块步骤包括:h、利用哈希函数为待写入文件块计算文件块弱指纹;i、检测指纹库中与待写入文件块的文件块弱指纹相匹配的日志块弱指纹的计数是否为1,若是,执行步骤i1;若否,执行步骤j;i1、修改待写入文件块的地址映射表,将该待写入文件块的逻辑地址映射到该匹配的日志块弱指纹相应的日志块号对应的日志块的物理地址中;j、将待写入文件块写入配置的物理地址对应的闪存中。...

【技术特征摘要】
1.基于固态硬盘的数据模式日志文件系统的数据写入方法,其特征在于,所述数据写入方法包括写日志块和写文件块两个步骤;所述写日志块的步骤包括:a、利用哈希函数为待写入日志块计算日志块弱指纹;b、检测指纹库中是否存在有其日志块弱指纹与所述待写入日志块的日志块弱指纹相匹配的日志块弱指纹记录,若否,则执行步骤b1;若是,则执行步骤b2;b1、新增一日志块弱指纹记录,其包括有步骤a中计算出的待写入日志块的日志块弱指纹及相应的日志块号,并将该日志块弱指纹的计数设置为1,然后执行步骤c;b2、将匹配的日志块弱指纹记录中的日志块弱指纹的计数加1,并将待写入日志块的日志块号也保存在所述匹配的日志块弱指纹记录中,然后执行步骤c;c、将待写入的日志块写入配置的物理地址对应的闪存中;所述写文件块步骤包括:h、利用哈希函数为待写入文件块计算文件块弱指纹;i、检测指纹库中与待写入文件块的文件块弱指纹相匹配的日志块弱指纹的计数是否为1,若是,执行步骤i1;若否,执行步骤j;i1、修改待写入文件块的地址映射表,将该待写入文件块的逻辑地址映射到该匹配的日志块弱指纹相应的日志块号对应的日志块的物理地址中;j、将待写入文件块写入配置的物理地址对应的闪存中。2.根据权利要求1所述的数据库写入方法,其特征在于,所述步骤c之后还包括:步骤d、将该物理地址的计数设置为1;所述步骤i1、修改待写入文件块的地址映射表,将该待写入文件块的逻辑地址映射到该匹配的日志块弱指纹相应的日志块号对应的日志块的物理地址中之后还包括:步骤k、在对应的物理地址的计数上加1;所述步骤d之后还包括:步骤e、当日志块从日志文件系统中删除时,将该日志块的日志块号对应的日志块弱指纹记录中的日志块弱指纹的计数减1,并将该日志块号从该日志块弱指纹记录中删除;所述步骤d和步骤k之后还包括:步骤l、当文件块从日志文件系统中删除时,将该文件块映射到的物理地址的计数减1;步骤m、当物理地址的计数为0时,对该物理地址进行擦除。3.根据权利要求1所述的数据写入方法,其特征在于,所述步骤c之后还包括:统计指纹库中计数大于1的日志块弱指纹的数量,若该数量大于预置数量,则停止为待写入日志的日志块计算和检测日志块弱指纹。4.根据权利要求3所述的数据写入方法,其特征在于,所述停止为日志块计算和检测日志块弱指纹之后还包括:当指纹库中计数大于1的日志块弱指纹的数量小于等于预置数量时,为待写入日志的日志块计算和检测日志块弱指纹。5.根据权利要求1所述的数据写入方法,其特征在于,所述哈希函数为CRC32。6.基于固态硬盘的数据模式日志文件系统的数据写入方法,其特征在于,所述数据写入方法包括写日志块和写文件块两个步骤;所述写日志块的步骤包括:A、利用哈希函数为待写入日志块计算第一日志块弱指纹;B、检测指纹库中是否存在有其第一日志块弱指纹与所述待写入日志块的第一日志块弱指纹相匹配的日志块弱指纹记录,若否,则执行步骤B1;若是,则执行步骤B2;B1、新增一日志块弱指纹记录,其包括有步骤A中计算出的待写入日志块的第一日志块弱指纹及相应的日志块号,然后执行步骤D;B2、利用哈希函数为所述待写入日志块计算第二日志块弱指纹,然后执行步骤C;C、新增一日志块弱指纹记录,其包括有步骤A中计算出的待写入日志块的第一日志块弱指纹、步骤B2中计算出的待写入日志块的第二日志块弱指纹及相应的日志块号,然后执行步骤D;D、将待写入的日志块写入配置的物理地址对应的闪存中;写文件块,所述写文件块包括:H、利用哈希函数为待写入文件块计算第一文件块弱指纹;I、检测指纹库中与待写入文件块的第一文件块弱指纹相匹配的第一日志块弱指纹的日志块弱指纹记录的计数是否为1,若是,执行步骤I1;若否,执行步骤I2;I1、修改待写入文件块的地址映射表,将该待写入文件块的逻辑地址映射到该日志文件块弱指纹记录中日志块号对应的日志块的物理地址中;I2、利用哈希函数...

【专利技术属性】
技术研发人员:江松
申请(专利权)人:深圳大普微电子科技有限公司
类型:发明
国别省市:广东,44

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

1