CN111597159A - 一种提高ext4文件系统读写速率的方法 - Google Patents

一种提高ext4文件系统读写速率的方法 Download PDF

Info

Publication number
CN111597159A
CN111597159A CN202010727431.3A CN202010727431A CN111597159A CN 111597159 A CN111597159 A CN 111597159A CN 202010727431 A CN202010727431 A CN 202010727431A CN 111597159 A CN111597159 A CN 111597159A
Authority
CN
China
Prior art keywords
file system
ext4
log
translation layer
flash translation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202010727431.3A
Other languages
English (en)
Inventor
田勇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chengdu Zhimingda Electronic Co ltd
Original Assignee
Chengdu Zhimingda Electronic Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Chengdu Zhimingda Electronic Co ltd filed Critical Chengdu Zhimingda Electronic Co ltd
Priority to CN202010727431.3A priority Critical patent/CN111597159A/zh
Publication of CN111597159A publication Critical patent/CN111597159A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/1805Append-only file systems, e.g. using logs or journals to store data
    • G06F16/1815Journaling file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种提高EXT4文件系统读写速率的方法,包括EXT4文件系统和闪存转换层管理算法,在EXT4文件系统和闪存转换层管理算法之间增加日志通信通道,日志通信忽略逻辑地址,直接与闪存转换层进行命令交互,本发明的有益效果是:一种方法将SSD闪存转换层管理算法应用于EXT4文件系统的日志,将二者融合起来形成一种高可靠、高性能并存的文件系统,能够运行在最可靠的Journal模式并不影响文件系统性能;该发明的思想理念同样适用于XFS、JFS、Btrfs等其他日志型文件系统。

Description

一种提高EXT4文件系统读写速率的方法
技术领域
本发明涉及文件系统技术领域,具体为一种提高EXT4文件系统读写速率的方法。
背景技术
为了解决老式文件系统(如FAT32文件系统)异常掉电情况下数据可能无法恢复问题诞生了日志型文件系统。日志型文件系统会在存储介质上开辟一块日志区域(日志对于文件系统来说是一段存储介质的逻辑地址),在更新文件系统数据前,首先把要做的变更记录到日志区域,然后才去更新相应的文件系统数据,这样文件系统异常的时候,可以通过日志区域的信息,实现文件系统数据恢复。
EXT4文件系统是Linux操作系统下最常用的一种日志型文件系统,从EXT2、EXT3文件系统经过多年的发展而来,通过日志信息能够恢复文件系统数据。EXT4文件系统支持根据用户需求采用多种模式的日志记录,Writeback模式、Ordered 模式和Journal 模式。
Writeback模式:元数据(文件系统的管理信息包括超级块、块组描述符、索引节点块、间接寻址块、数据块位图块、索引节点位图块)提交到日志后,数据可以直接被提交到存储介质。即元数据会做日志,数据不做日志,并且不保证数据比元数据先落盘。Writeback是EXT4文件系统提供的性能最好的模式。
Ordered 模式:只提供元数据的日志,但它逻辑上将与数据更改相关的元数据信息与数据块分组到一个称为事务的单元中。当需要把元数据写入到存储介质上的时候,与元数据关联的数据块会首先写入。也就是数据先落盘,再做元数据的日志。这种模式的性能会略逊色于 Writeback但是比 Journal模式要快的多,EXT4文件系统默认为Ordered 模式,也是目前应用最广泛的。
Journal 模式:元数据和数据都会被先写入到日志,在文件系统崩溃的时候,日志就可以进行重放,把数据和元数据带回一致状态,Journal模式在三种模式可靠性最高,但性能最低,因为所有的数据都需要日志来记录。
选择最可靠的Journal模式就意味着所有数据都会当做日志先写一次,再写数据,这会带来带宽降低1倍(数据被写了两次),为解决上述问题,本发明提供了一种提高EXT4文件系统读写速率的方法。
发明内容
本发明的目的在于提供一种提高EXT4文件系统读写速率的方法,以解决上述背景技术中提出的问题。
为实现上述目的,本发明提供如下技术方案:一种提高EXT4文件系统读写速率的方法,包括EXT4文件系统和闪存转换层管理算法,在EXT4文件系统和闪存转换层管理算法之间增加日志通信通道,日志通信忽略逻辑地址,直接与闪存转换层进行命令交互,其具体流程包括以下步骤:
S1:从EXT4文件系统中将待修改的文件数据读取到内存;
S2:将内存中的数据按实际需求进行修改,形成最终的待写数据;
S3:EXT4文件系统通过写日志命令将待写数据以及对应的逻辑地址传送给闪存转换层;
S4:闪存转换层收到写日志命令后通过逻辑物理映射表找到一个物理空块;
S5:闪存转换层将待写数据全部写入到该物理空块;
S6:闪存转换层修改逻辑物理映射表,将EXT4文件系统传送下来的逻辑地址与物理空块对应;
S7:闪存转换层将EXT4文件系统传送下来的逻辑地址对应的原始物理块擦除。
S8:闪存转换层发送写日志完成命令给EXT4文件系统,EXT4文件系统可以开始其他文件操作;
作为优选,所述S1中的文件系统中为XFS型文件系统、JFS型文件系统或Btrfs日志型文件系统中的一种或几种。
作为优选,所述EXT4文件系统为Linux操作系统下的一种日志型文件系统。
与现有技术相比,本发明的有益效果是:一种方法将SSD 闪存转换层管理算法应用于EXT4文件系统的日志,将二者融合起来形成一种高可靠、高性能并存的文件系统,能够运行在最可靠的Journal模式并不影响文件系统性能;该发明的思想理念同样适用于XFS、JFS、Btrfs等其他日志型文件系统。
附图说明
图1为本发明FTL与EXT4文件系统的关系。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,本发明提供一种技术方案:一种提高EXT4文件系统读写速率的方法,包括EXT4文件系统和闪存转换层管理算法,在EXT4文件系统和闪存转换层管理算法之间增加日志通信通道,日志通信忽略逻辑地址,直接与闪存转换层进行命令交互,其具体流程包括以下步骤:
S1:从EXT4文件系统中将待修改的文件数据读取到内存;
S2:将内存中的数据按实际需求进行修改,形成最终的待写数据;
S3:EXT4文件系统通过写日志命令将待写数据以及对应的逻辑地址传送给闪存转换层;
S4:闪存转换层收到写日志命令后通过逻辑物理映射表找到一个物理空块;
S5:闪存转换层将待写数据全部写入到该物理空块;
S6:闪存转换层修改逻辑物理映射表,将EXT4文件系统传送下来的逻辑地址与物理空块对应;
S7:闪存转换层将EXT4文件系统传送下来的逻辑地址对应的原始物理块擦除;
S8:闪存转换层发送写日志完成命令给EXT4文件系统,EXT4文件系统可以开始其他文件操作。
其中,所述S1中的文件系统中为XFS型文件系统、JFS型文件系统或Btrfs日志型文件系统中的一种或几种。
其中,所述EXT4文件系统为Linux操作系统下的一种日志型文件系统。
实施例:在EXT4文件系统和闪存转换层管理算法之间增加日志通信通道,EXT4文件系统写日志忽略逻辑地址,直接与闪存转换层进行命令交互,写到SSD的物理地址,以EXT4文件系统需要对某个文件进行修改为例,其具体流程包括以下步骤:
S1:从EXT4文件系统中将待修改的文件数据读取到内存;
S2:将内存中的数据按实际需求进行修改,形成最终的待写数据;
S3:EXT4文件系统通过写日志命令将待写数据以及对应的逻辑地址传送给闪存转换层;
S4:闪存转换层收到写日志命令后通过逻辑物理映射表找到一个物理空块;
S5:闪存转换层将待写数据全部写入到该物理空块;
S6:闪存转换层修改逻辑物理映射表,将EXT4文件系统传送下来的逻辑地址与物理空块对应;
S7:闪存转换层将EXT4文件系统传送下来的逻辑地址对应的原始物理块擦除。
S8:闪存转换层发送写日志完成命令给EXT4文件系统,EXT4文件系统可以开始其他文件操作。
当从系统故障中恢复时,分以下两种情况:
S1-S5之间发生系统故障,文件系统还未与物理地址建立关系,会忽略本次修改,此时文件系统保持系统故障发生前的一致状态;
S6-S8之间发生系统故障,日志已经全部写入SSD并且文件系统已经与物理地址建立关系,EXT4文件系统发送日志查询命令给闪存转换层,EXT4文件系统得到日志信息后,通过日志重放,将逻辑物理映射表更新,此时文件系统也能保持一致的状态。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。

Claims (4)

1.一种提高EXT4文件系统读写速率的方法,包括EXT4文件系统和闪存转换层管理算法,其特征在于:在EXT4文件系统和闪存转换层管理算法之间增加日志通信通道,日志通信忽略逻辑地址,直接与闪存转换层进行命令交互,其具体流程包括以下步骤:
S1:从EXT4文件系统中将待修改的文件数据读取到内存;
S2:将内存中的数据按实际需求进行修改,形成最终的待写数据;
S3:EXT4文件系统通过写日志命令将待写数据以及对应的逻辑地址传送给闪存转换层;
S4:闪存转换层收到写日志命令后通过逻辑物理映射表找到一个物理空块;
S5:闪存转换层将待写数据全部写入到该物理空块;
S6:闪存转换层修改逻辑物理映射表,将EXT4文件系统传送下来的逻辑地址与物理空块对应;
S7:闪存转换层将EXT4文件系统传送下来的逻辑地址对应的原始物理块擦除;
S8:闪存转换层发送写日志完成命令给EXT4文件系统,EXT4文件系统可以开始其他文件操作。
2.根据权利要求1所述的一种提高EXT4文件系统读写速率的方法,其特征在于:所述S1中的整块数据以文件系统块为单位。
3.根据权利要求1所述的一种提高EXT4文件系统读写速率的方法,其特征在于:所述S1中的文件系统中为XFS型文件系统、JFS型文件系统或Btrfs日志型文件系统中的一种或几种。
4.根据权利要求1所述的一种提高EXT4文件系统读写速率的方法,其特征在于:所述EXT4文件系统为Linux操作系统下的一种日志型文件系统。
CN202010727431.3A 2020-07-27 2020-07-27 一种提高ext4文件系统读写速率的方法 Pending CN111597159A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010727431.3A CN111597159A (zh) 2020-07-27 2020-07-27 一种提高ext4文件系统读写速率的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010727431.3A CN111597159A (zh) 2020-07-27 2020-07-27 一种提高ext4文件系统读写速率的方法

Publications (1)

Publication Number Publication Date
CN111597159A true CN111597159A (zh) 2020-08-28

Family

ID=72183064

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010727431.3A Pending CN111597159A (zh) 2020-07-27 2020-07-27 一种提高ext4文件系统读写速率的方法

Country Status (1)

Country Link
CN (1) CN111597159A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113093997A (zh) * 2021-04-19 2021-07-09 深圳市安信达存储技术有限公司 一种基于Host Based FTL架构分离数据的方法

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106354615A (zh) * 2015-07-21 2017-01-25 北京忆恒创源科技有限公司 固态硬盘日志生成方法及其装置
CN106547703A (zh) * 2016-10-08 2017-03-29 华中科技大学 一种基于块组结构的ftl优化方法
CN107391391A (zh) * 2017-07-19 2017-11-24 深圳大普微电子科技有限公司 在固态硬盘的ftl实现数据拷贝的方法、系统及固态硬盘
CN108052644A (zh) * 2017-12-22 2018-05-18 深圳大普微电子科技有限公司 数据模式日志文件系统的数据写入方法及系统
CN108073363A (zh) * 2017-12-28 2018-05-25 深圳市得微电子有限责任公司 数据存储方法、存储设备及计算机可读存储介质
CN110088739A (zh) * 2017-01-05 2019-08-02 西部数据技术公司 用于精简配置的存储系统和方法
CN110515552A (zh) * 2019-08-22 2019-11-29 深圳市得一微电子有限责任公司 一种存储设备数据快速写入的方法及系统
US10528466B2 (en) * 2017-06-09 2020-01-07 Samsung Electronics Co., Ltd. Storage devices including logical to physical address mapping and methods of operating
CN111128287A (zh) * 2018-10-31 2020-05-08 三星电子株式会社 操作存储设备的方法、存储设备以及操作存储系统的方法

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106354615A (zh) * 2015-07-21 2017-01-25 北京忆恒创源科技有限公司 固态硬盘日志生成方法及其装置
CN106547703A (zh) * 2016-10-08 2017-03-29 华中科技大学 一种基于块组结构的ftl优化方法
CN110088739A (zh) * 2017-01-05 2019-08-02 西部数据技术公司 用于精简配置的存储系统和方法
US10528466B2 (en) * 2017-06-09 2020-01-07 Samsung Electronics Co., Ltd. Storage devices including logical to physical address mapping and methods of operating
CN107391391A (zh) * 2017-07-19 2017-11-24 深圳大普微电子科技有限公司 在固态硬盘的ftl实现数据拷贝的方法、系统及固态硬盘
CN108052644A (zh) * 2017-12-22 2018-05-18 深圳大普微电子科技有限公司 数据模式日志文件系统的数据写入方法及系统
CN108073363A (zh) * 2017-12-28 2018-05-25 深圳市得微电子有限责任公司 数据存储方法、存储设备及计算机可读存储介质
CN111128287A (zh) * 2018-10-31 2020-05-08 三星电子株式会社 操作存储设备的方法、存储设备以及操作存储系统的方法
CN110515552A (zh) * 2019-08-22 2019-11-29 深圳市得一微电子有限责任公司 一种存储设备数据快速写入的方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
杨龙婴: "一种对NAND闪存硬件和闪存转换层软件的形式化建模", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113093997A (zh) * 2021-04-19 2021-07-09 深圳市安信达存储技术有限公司 一种基于Host Based FTL架构分离数据的方法

Similar Documents

Publication Publication Date Title
US11550675B2 (en) Remote data replication method and system
CN103577121B (zh) 一种基于Nand Flash的高可靠线性文件存取方法
US10649897B2 (en) Access request processing method and apparatus, and computer device
EP2646919B1 (en) Transaction log recovery
US9996557B2 (en) Database storage system based on optical disk and method using the system
US20070162513A1 (en) Methods and apparatus for point in time data access and recovery
US11030092B2 (en) Access request processing method and apparatus, and computer system
CN103577574A (zh) 一种基于nand flash的高可靠线性文件系统
CN101980203A (zh) 一种用于高清媒体的嵌入式文件系统
CN101251826A (zh) 闪速存储器、用于闪速存储器的数据管理方法及设备
CN102033793A (zh) 快照方法和固态硬盘
CN102053879A (zh) 基于falsh的自恢复实时文件系统
CN104360914A (zh) 增量快照方法和装置
CN103617097A (zh) 文件恢复方法及装置
CN104376099A (zh) 一种基于闪存的文件系统的实现方法和实现装置
US11093339B2 (en) Storage utilizing a distributed cache chain and a checkpoint drive in response to a data drive corruption
CN101169705B (zh) 多硬盘下基于裸文件系统实现文件级镜像的方法及装置
CN111597159A (zh) 一种提高ext4文件系统读写速率的方法
CN113296694A (zh) 一种上电重建方法及装置和固态硬盘
KR102277731B1 (ko) 스토리지 시스템의 구동 방법 및 스토리지 컨트롤러
CN115129251A (zh) 一种在线替换存储卷的方法、系统、设备和存储介质
CN113626253A (zh) 一种故障固态存储器的数据恢复方法、装置、设备及介质
CN105827681A (zh) 一种san网络下备份数据传输方法
CN117519612B (zh) 基于索引在线拼接的海量小文件存储系统与方法
CN110377530A (zh) 一种基于映射表存储ssd系统数据的方法及其装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20200828

RJ01 Rejection of invention patent application after publication