<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh">
	<id>https://arolstar52-zhtest.hf.space/index.php?action=history&amp;feed=atom&amp;title=F2FS</id>
	<title>F2FS - 版本历史</title>
	<link rel="self" type="application/atom+xml" href="https://arolstar52-zhtest.hf.space/index.php?action=history&amp;feed=atom&amp;title=F2FS"/>
	<link rel="alternate" type="text/html" href="https://arolstar52-zhtest.hf.space/index.php?title=F2FS&amp;action=history"/>
	<updated>2026-07-01T18:51:20Z</updated>
	<subtitle>本wiki上该页面的版本历史</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://arolstar52-zhtest.hf.space/index.php?title=F2FS&amp;diff=2088491&amp;oldid=prev</id>
		<title>imported&gt;Cewbot：​清理跨語言連結文件系统级加密成為內部連結:編輯摘要的紅色連結經繁簡轉換後存在，非bot錯誤編輯 (本次機械人作業已完成15.8%)</title>
		<link rel="alternate" type="text/html" href="https://arolstar52-zhtest.hf.space/index.php?title=F2FS&amp;diff=2088491&amp;oldid=prev"/>
		<updated>2025-08-06T01:22:12Z</updated>

		<summary type="html">&lt;p&gt;清理跨語言連結&lt;a href=&quot;/wiki/%E6%96%87%E4%BB%B6%E7%B3%BB%E7%BB%9F%E7%BA%A7%E5%8A%A0%E5%AF%86&quot; title=&quot;文件系统级加密&quot;&gt;文件系统级加密&lt;/a&gt;成為內部連結:編輯摘要的紅色連結經繁簡轉換後存在，非bot錯誤編輯 (本次機械人作業已完成15.8%)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新页面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Expand||产品应用|time=2018-12-12T03:29:50+00:00}}&lt;br /&gt;
{{Expert needed}}&lt;br /&gt;
{{noteTA&lt;br /&gt;
| G1 = IT&lt;br /&gt;
| 1= zh-hans:内核; zh-hant:核心;&lt;br /&gt;
| 2= zh-hans:闪存; zh-hant:快閃記憶體;&lt;br /&gt;
| 3= zh-hans:移动设备; zh-hant:行動裝置;&lt;br /&gt;
| 4= zh-hans:服务器; zh-hant:伺服器;&lt;br /&gt;
| 5= zh-hans:; zh-hant:;&lt;br /&gt;
}}&lt;br /&gt;
{{Infobox filesystem&lt;br /&gt;
| name = F2FS&lt;br /&gt;
| developer = [[三星电子]]、[[摩托罗拉移动]]和[[华为]]&lt;br /&gt;
| full_name = Flash-Friendly File System&lt;br /&gt;
| introduction_date = 2012-12-20&amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
 | url=https://www.phoronix.com/scan.php?page=news_item&amp;amp;px=MTI1OTU&lt;br /&gt;
 | title=F2FS File-System Merged Into Linux 3.8 Kernel&lt;br /&gt;
 | author=[[Michael Larabel]]&lt;br /&gt;
 | date=2012-12-22&lt;br /&gt;
 | publisher=[[Phoronix]]&lt;br /&gt;
 | accessdate=2016-05-25&lt;br /&gt;
 | archive-date=2016-06-30&lt;br /&gt;
 | archive-url=https://web.archive.org/web/20160630030708/https://www.phoronix.com/scan.php?page=news_item&amp;amp;px=MTI1OTU&lt;br /&gt;
 | dead-url=no&lt;br /&gt;
 }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
| introduction_os         = [[Linux内核]] 3.8&amp;lt;ref&amp;gt;[http://www.phoronix.com/scan.php?page=news_item&amp;amp;px=MTI1OTU Pull new F2FS filesystem from Jaegeuk Kim] {{Wayback|url=http://www.phoronix.com/scan.php?page=news_item&amp;amp;px=MTI1OTU |date=20130405220307 }} merged by Linus Torvalds&amp;lt;/ref&amp;gt;&lt;br /&gt;
| partition_id = &lt;br /&gt;
| directory_struct = 多级[[哈希表]]&lt;br /&gt;
| file_struct = [[位图]]（可用空间）、表&lt;br /&gt;
| bad_blocks_struct =&lt;br /&gt;
| max_file_size = 3.94[[terabyte|TB]]&lt;br /&gt;
| max_files_no = 取决于卷大小&lt;br /&gt;
| max_filename_size = 255字节&lt;br /&gt;
| max_volume_size = 16[[terabyte|TB]]&lt;br /&gt;
| dates_recorded = 修改 (mtime), 属性修改 (ctime), 访问 (atime)&lt;br /&gt;
| date_range = &lt;br /&gt;
| date_resolution = 1 ns&lt;br /&gt;
| forks_streams = &lt;br /&gt;
| attributes = POSIX、扩展属性&lt;br /&gt;
| file_system_permissions = POSIX、ACL&lt;br /&gt;
| compression =  否&lt;br /&gt;
| encryption = 是&lt;br /&gt;
| OS = [[Linux]]&lt;br /&gt;
| website = {{URL|https://f2fs.wiki.kernel.org/}}&lt;br /&gt;
}}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;F2FS&amp;#039;&amp;#039;&amp;#039;（{{langx|en|&amp;#039;&amp;#039;&amp;#039;Flash-Friendly File System&amp;#039;&amp;#039;&amp;#039;}}）是一種[[快閃記憶體檔案系統]]，主要由[[金載極]]（{{langx|ko|김재극}}）在[[三星集团]]研發，适合[[Linux内核]]使用&amp;lt;ref&amp;gt;[https://lwn.net/Articles/518718/ f2fs: introduce flash-friendly file system] {{Wayback|url=https://lwn.net/Articles/518718/ |date=20180111020654 }} by Kim Jaegeuk&amp;lt;/ref&amp;gt;。&lt;br /&gt;
&lt;br /&gt;
此檔案系統起初是為了[[闪存|NAND闪存]]的存储设备設計（诸如[[固态硬盘]]、[[多媒體記憶卡|eMMC]]和[[SD卡]]），这些设备广泛存在于自[[移动设备]]至[[服务器]]领域。&lt;br /&gt;
&lt;br /&gt;
三星應用了日誌結構檔案系統的概念，使它更適合用於儲存設備。&lt;br /&gt;
&lt;br /&gt;
== 特性 ==&lt;br /&gt;
&lt;br /&gt;
* 多头日志（Multi-head logging）&lt;br /&gt;
* 对目录项的多层哈希表&lt;br /&gt;
* 静态/动态冷热数据分离&lt;br /&gt;
* 自适应记录方案&lt;br /&gt;
* 可配置操作单元&lt;br /&gt;
* 双检查点&lt;br /&gt;
* 回滚和前滚恢复&lt;br /&gt;
* Heap-style块分配&lt;br /&gt;
* [[Trim命令|TRIM/FITRIM]]支持&amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
| url=http://www.gossamer-threads.com/lists/linux/kernel/2012038#2012038&lt;br /&gt;
| title=f2fs: introduce FITRIM in f2fs_ioctl&lt;br /&gt;
| author=Jaegeuk Kim&lt;br /&gt;
| date=2014-09-22&lt;br /&gt;
| accessdate=2018-06-02&lt;br /&gt;
| archive-date=2016-03-15&lt;br /&gt;
| archive-url=https://web.archive.org/web/20160315203338/http://www.gossamer-threads.com/lists/linux/kernel/2012038#2012038&lt;br /&gt;
| dead-url=yes&lt;br /&gt;
}}{{需要更好来源}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* 联机的文件系统/文件[[碎片整理]]&amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
| url=https://www.mail-archive.com/linux-f2fs-devel%40lists.sourceforge.net/msg03139.html&lt;br /&gt;
| title=f2fs: support file defragment&lt;br /&gt;
| author=Chao Yu&lt;br /&gt;
| date=2015-10-26&lt;br /&gt;
| accessdate=2018-06-02&lt;br /&gt;
| archive-date=2018-01-26&lt;br /&gt;
| archive-url=https://web.archive.org/web/20180126012411/https://www.mail-archive.com/linux-f2fs-devel@lists.sourceforge.net/msg03139.html&lt;br /&gt;
| dead-url=yes&lt;br /&gt;
}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* 内联xattrs&amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
| url=https://lkml.org/lkml/2013/8/26/159&lt;br /&gt;
| title=f2fs: add flags for inline xattrs&lt;br /&gt;
| author=Jaegeuk Kim&lt;br /&gt;
| date=2013-08-26&lt;br /&gt;
| accessdate=2018-06-02&lt;br /&gt;
| archive-date=2018-01-26&lt;br /&gt;
| archive-url=https://web.archive.org/web/20180126012600/https://lkml.org/lkml/2013/8/26/159&lt;br /&gt;
| dead-url=yes&lt;br /&gt;
}}&amp;lt;/ref&amp;gt;/数据&amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
| url=https://lwn.net/Articles/573408/&lt;br /&gt;
| title=f2fs: Enable f2fs support inline data&lt;br /&gt;
| author=Huajun Li&lt;br /&gt;
| date=2013-11-10&lt;br /&gt;
| accessdate=2018-06-02&lt;br /&gt;
| archive-date=2018-01-26&lt;br /&gt;
| archive-url=https://web.archive.org/web/20180126012631/https://lwn.net/Articles/573408/&lt;br /&gt;
| dead-url=yes&lt;br /&gt;
}}&amp;lt;/ref&amp;gt;/目录&amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
| url=https://www.mail-archive.com/linux-f2fs-devel@lists.sourceforge.net/msg01641.html&lt;br /&gt;
| title=f2fs: support inline dir&lt;br /&gt;
| author=Chao Yu&lt;br /&gt;
| date=2014-09-24&lt;br /&gt;
| accessdate=2018-06-02&lt;br /&gt;
| archive-date=2018-01-25&lt;br /&gt;
| archive-url=https://web.archive.org/web/20180125193639/https://www.mail-archive.com/linux-f2fs-devel@lists.sourceforge.net/msg01641.html&lt;br /&gt;
| dead-url=yes&lt;br /&gt;
}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* 脱机{{tsl|en|Fsck|filesystem check|文件系统检查}}（检查和修复不一致）&amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
| url=https://lkml.org/lkml/2014/9/20/104&lt;br /&gt;
| title=f2fs-tools: release 1.4.0&lt;br /&gt;
| author=Jaegeuk Kim&lt;br /&gt;
| date=2014-09-20&lt;br /&gt;
| accessdate=2018-06-02&lt;br /&gt;
| archive-date=2018-01-26&lt;br /&gt;
| archive-url=https://web.archive.org/web/20180126012558/https://lkml.org/lkml/2014/9/20/104&lt;br /&gt;
| dead-url=yes&lt;br /&gt;
}}&amp;lt;/ref&amp;gt;)&lt;br /&gt;
* [[线性一致性]]&amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
| url=https://www.spinics.net/lists/kernel/msg1834034.html&lt;br /&gt;
| title=f2fs: support atomic_write feature for database&lt;br /&gt;
| author=Jaegeuk Kim&lt;br /&gt;
| date=2014-09-25&lt;br /&gt;
| accessdate=2018-06-02&lt;br /&gt;
| archive-date=2020-06-02&lt;br /&gt;
| archive-url=https://web.archive.org/web/20200602084833/https://www.spinics.net/lists/kernel/msg1834034.html&lt;br /&gt;
| dead-url=yes&lt;br /&gt;
}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* [[文件系统级加密]]&amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
| url=https://marc.info/?l=linux-kernel&amp;amp;m=143517753413580&lt;br /&gt;
| title=f2fs updates for v4.2&lt;br /&gt;
| author=Jaegeuk Kim&lt;br /&gt;
| date=2015-06-24&lt;br /&gt;
| accessdate=2018-06-02&lt;br /&gt;
| archive-date=2016-01-17&lt;br /&gt;
| archive-url=https://web.archive.org/web/20160117181347/https://marc.info/?l=linux-kernel&amp;amp;m=143517753413580&lt;br /&gt;
| dead-url=yes&lt;br /&gt;
}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* 脱机调整大小&amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
| url=https://www.mail-archive.com/linux-f2fs-devel@lists.sourceforge.net/msg04247.html&lt;br /&gt;
| title=resize.f2fs: support to expand partition size&lt;br /&gt;
| author=Jaegeuk Kim&lt;br /&gt;
| date=2016-04-25&lt;br /&gt;
| accessdate=2018-06-02&lt;br /&gt;
| archive-date=2018-01-26&lt;br /&gt;
| archive-url=https://web.archive.org/web/20180126012432/https://www.mail-archive.com/linux-f2fs-devel@lists.sourceforge.net/msg04247.html&lt;br /&gt;
| dead-url=yes&lt;br /&gt;
}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* 内部定期数据刷新&amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
| url=https://www.mail-archive.com/linux-f2fs-devel%40lists.sourceforge.net/msg03306.html&lt;br /&gt;
| title=f2fs: support data flush in background&lt;br /&gt;
| author=Chao Yu&lt;br /&gt;
| date=2015-12-17&lt;br /&gt;
| accessdate=2018-06-02&lt;br /&gt;
| archive-date=2018-01-25&lt;br /&gt;
| archive-url=https://web.archive.org/web/20180125193637/https://www.mail-archive.com/linux-f2fs-devel@lists.sourceforge.net/msg03306.html&lt;br /&gt;
| dead-url=yes&lt;br /&gt;
}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* 范围缓存&amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
| url=https://www.mail-archive.com/linux-f2fs-devel%40lists.sourceforge.net/msg02024.html&lt;br /&gt;
| title=f2fs: enable rb-tree extent cache&lt;br /&gt;
| author=Chao Yu&lt;br /&gt;
| date=2015-01-25&lt;br /&gt;
| accessdate=2018-06-02&lt;br /&gt;
| archive-date=2018-01-25&lt;br /&gt;
| archive-url=https://web.archive.org/web/20180125193640/https://www.mail-archive.com/linux-f2fs-devel@lists.sourceforge.net/msg02024.html&lt;br /&gt;
| dead-url=yes&lt;br /&gt;
}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 设计 ==&lt;br /&gt;
{{Refimprove section}}&lt;br /&gt;
&lt;br /&gt;
=== 磁盘上布局 ===&lt;br /&gt;
&lt;br /&gt;
F2FS将整个卷分成多个段（segment），每个段固定为2 MB。一个节（section）由连续的段组成，一个区（zone）由一组节组成。默认情况下，节与区被设置为相同的大小，但用户可以用&amp;lt;code&amp;gt;mkfs&amp;lt;/code&amp;gt;轻松修改大小。&lt;br /&gt;
&lt;br /&gt;
F2FS将整个卷划分为六个区域，除了超级块（superblock）以外的所有区都由多个段组成，如下所述。&lt;br /&gt;
&lt;br /&gt;
; 超级块（Superblock，SB）&lt;br /&gt;
: 超级块位于分区起始处，共有两个副本以避免文件系统损坏。它包含基本的分区信息和一些默认的F2FS参数。&lt;br /&gt;
; 检查点（Checkpoint，CP）&lt;br /&gt;
: 检查点包含文件系统信息，有效NAT/SIT集的位图，孤立inode列表，以及当前活动段的摘要条目。&lt;br /&gt;
; 段信息表（SIT）&lt;br /&gt;
: 段信息表包含主区域块的有效块数量和有效位图。&lt;br /&gt;
; 节点地址表（NAT）&lt;br /&gt;
: 节点信息表主区域节点块的地址表。&lt;br /&gt;
; 段摘要区（SSA）&lt;br /&gt;
: 段摘要区包含的条目包含主区域数据和节点块的所有者信息。&lt;br /&gt;
; 主区域（Main Area）&lt;br /&gt;
: 主区域包含文件和目录数据及其索引（indices）。&lt;br /&gt;
&lt;br /&gt;
为了避免文件系统与闪存之间的对齐错误，F2FS将CP的起始块地址与段大小对齐。它还通过在SSA区域中预留一些段来将“主区”起始块地址与区的大小对齐。&lt;br /&gt;
&lt;br /&gt;
=== 元数据结构 ===&lt;br /&gt;
&lt;br /&gt;
F2FS使用检查点方案来维护文件系统的完整性。在挂载时，F2FS首先尝试扫描CP区域来查找最后的有效检查点数据。为了缩短扫描时间，F2FS只使用CP的两个副本。其中一个总是指示最后的有效数据，这被称为影子副本机制。除了CP之外，NAT和SIT也使用影子副本机制。为了保证文件系统的一致性，每个CP指向的NAT和SIT副本都是有效的。&lt;br /&gt;
&lt;br /&gt;
=== 索引结构 ===&lt;br /&gt;
&lt;br /&gt;
关键的数据结构是“节点”。与传统的文件结构类似，F2FS有三种类型的节点：inode，直接节点，间接节点。F2FS将4 KB分配给一个inode块，其中包含923个数据块索引（data block indices），两个直接节点指针，两个间接节点指针，以及一个double间接节点指针，如下所述。一个直接节点块包含1018个数据块索引，而间接节点块包含1018个节点块索引。因此，一个inode块（即一个文件）涵盖：&lt;br /&gt;
&lt;br /&gt;
 4&amp;amp;nbsp;KB × (923 + 2×1018 + 2×1018&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; + 1018&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt;) = 3.94&amp;amp;nbsp;TB&lt;br /&gt;
&lt;br /&gt;
注意，所有节点块都经NAT映射，因此每个节点的位置都经NAT转换。为了缓解漫游树问题，F2FS能够切断叶数据写入引起的节点更新传播。&lt;br /&gt;
&lt;br /&gt;
=== 目录结构 ===&lt;br /&gt;
&lt;br /&gt;
一个目录条目（dentry）占用11个字节，由以下属性组成。&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float; margin:0.5em 1em&amp;quot;&lt;br /&gt;
|+ 目录条目结构&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot; | hash&lt;br /&gt;
|align=&amp;quot;left&amp;quot; | 文件名的散列值&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot; | ino&lt;br /&gt;
|align=&amp;quot;left&amp;quot; | [[Inode]]号码&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot; | len&lt;br /&gt;
|align=&amp;quot;left&amp;quot; | 文件名长度&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot; | type&lt;br /&gt;
|align=&amp;quot;left&amp;quot; | 文件类型，如目录、符号链接等。&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
一个目录条目块由{{查证请求|214个目录条目槽}}及文件名组成。有一个位图用于记录每个目录条目是否有效。一个目录条目块占用4 KB，结构如下：&lt;br /&gt;
&lt;br /&gt;
 目录条目块 (4 K) = 位图 (27 字节) + 保留 (3 字节) +&lt;br /&gt;
                       目录项 (11 * 214 字节) + 文件名 (8 * 214 字节)&lt;br /&gt;
&lt;br /&gt;
F2FS为目录结构实现了多级散列表，每一级有一个包含专用散列桶数的散列表，如下所示。“A(2B)”表示桶包含2个数据块。&lt;br /&gt;
&lt;br /&gt;
; 项&lt;br /&gt;
: A表示桶（bucket）&lt;br /&gt;
: B表示块（block）&lt;br /&gt;
: N表示目录散列最大深度（MAX_DIR_HASH_DEPTH）&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;level #0    A(2B)&lt;br /&gt;
level #1    A(2B) - A(2B)&lt;br /&gt;
level #2    A(2B) - A(2B) - A(2B) - A(2B)&lt;br /&gt;
    ...&lt;br /&gt;
level #N/2  A(2B) - A(2B) - A(2B) - A(2B) - A(2B) - ... - A(2B)&lt;br /&gt;
    ...&lt;br /&gt;
level #N    A(4B) - A(4B) - A(4B) - A(4B) - A(4B) - ... - A(4B)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
当F2FS在一个目录中找一个文件名时，首先计算出该文件名的散列值，然后F2FS扫描级别#0的散列表一查找由文件名及其inode编号组成的目录条目。如果未找到，F2FS继续查找级别#1的散列表。F2FS通过此方法逐级扫描由1至N的每层散列表。在每一层中，F2FS只需扫描由以下等式确定的一个桶（bucket），因此展现出 O(log(# of files)) 的复杂度。&lt;br /&gt;
&lt;br /&gt;
  级别#n中要扫描的桶（bucket）数 = (散列值) % (级别#n中的桶数)&lt;br /&gt;
&lt;br /&gt;
在创建文件时，F2FS找到一个能涵盖文件名的空的连续槽。F2FS以同样的方式由1至N查找各级散列表中的空槽。&lt;br /&gt;
&lt;br /&gt;
=== 默认的块分配 ===&lt;br /&gt;
&lt;br /&gt;
在运行时，F2FS在“主要区域：”内管理六个活动日志：热/暖/冷节点和热/暖/冷数据。&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;float; margin:0.5em 1em&amp;quot;&lt;br /&gt;
|+ 块分配策略&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot; | 热节点&lt;br /&gt;
|align=&amp;quot;left&amp;quot; | 包含直接的目录节点块。&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot; | 暖节点&lt;br /&gt;
|align=&amp;quot;left&amp;quot; | 包含除热节点块以外的直接节点块。&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot; | 冷节点&lt;br /&gt;
|align=&amp;quot;left&amp;quot; | 包含间接节点块。&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot; | 热数据&lt;br /&gt;
|align=&amp;quot;left&amp;quot; | 包含目录条目块。&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot; | 暖数据&lt;br /&gt;
|align=&amp;quot;left&amp;quot; | 包含除冷热数据块以外的数据块。&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot; | 冷数据&lt;br /&gt;
|align=&amp;quot;left&amp;quot; | 包含多媒体数据或迁移的数据块。&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
基于日志的文件系统（LFS）有两种空闲空间管理方案：穿插记录（threaded log）与复制并压缩（copy-and-compaction）。后者也称为清理（cleaning），很适合有良好顺序写入性能的设备，因为空闲空间总用于写入新数据。但它会在发生高利用率时遭遇“清理”的开销。穿插记录则受到随机写入性能的影响，但没有“清理”过程。F2FS采用混合方案，默认采用“复制并压缩”，但根据文件系统的状态将策略动态变更为“穿插记录”方案。&lt;br /&gt;
&lt;br /&gt;
为使F2FS与基于闪存的存储保持一致，F2FS以一个节（section）为单位分配一个段（segment）。F2FS预期节的大小与FTL中的垃圾收集单元大小相同。为考虑FTL中的映射粒度，F2FS将活动日志的每个节分配给尽可能多的不同区域。 FTL可以根据其映射粒度将活动日志数据写入一个分配单元。&lt;br /&gt;
&lt;br /&gt;
=== 清理流程 ===&lt;br /&gt;
&lt;br /&gt;
F2FS在需要时和后台闲置时进行清理。按需清理在没有足够的空闲分段（segments）服务VFS调用时触发。后台清理器由一个内核线程执行，在系统空闲时触发清理作业。&lt;br /&gt;
&lt;br /&gt;
F2FS支持两种受者选择策略：贪婪、成本效益算法。在贪婪算法中，F2FS选择有最小有效块数的受者段。在成本效益算法中，F2FS根据段的年龄和有效块数量选择受者段，以解决贪婪算法中存在的日志块抖动问题。F2FS使用贪婪算法进行按需清理，后台清理器则使用成本效益算法。&lt;br /&gt;
&lt;br /&gt;
为识别受者段中的数据是否有效，F2FS管理了一个位图，其中用一个[[位元]]表示一个块的有效性，覆盖主区域所有块的位元流组成了该位图。&lt;br /&gt;
&lt;br /&gt;
== 相關條目 ==&lt;br /&gt;
* [[文件系统的对比]]&lt;br /&gt;
* [[文件系统列表]]&amp;lt;!-- intentional wikilink to redirect --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 參考資料 ==&lt;br /&gt;
{{Reflist|30em}}&lt;br /&gt;
&lt;br /&gt;
==外部链接==&lt;br /&gt;
* [https://www.kernel.org/doc/Documentation/filesystems/f2fs.txt kernel.org上的F2FS文档]{{Wayback|url=https://www.kernel.org/doc/Documentation/filesystems/f2fs.txt |date=20171116182152 }}{{en}}&lt;br /&gt;
&lt;br /&gt;
{{文件系统}}&lt;br /&gt;
&lt;br /&gt;
[[Category:快閃記憶體檔案系統]]&lt;br /&gt;
[[Category:嵌入式Linux]]&lt;br /&gt;
[[Category:Linux檔案系統]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Cewbot</name></author>
	</entry>
</feed>