f2fs——新型flash友好文件系统gc部分源码分析

本文主要分析了F2FS文件系统中GC(垃圾回收)的原理和实现,包括Greedy、Cost-Benefit及CAT等算法。文章讨论了闪存的基本特征,如磨损平衡和不支持本地更新,以及如何通过GC来延长闪存寿命。同时,介绍了F2FS数据布局,并提供了GC触发条件和选择策略的详细描述。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、F2FS数据布局

 

F2FS 将整个卷切分成大量的 Segments,每个 Segment 的大小是固定的2 MB。连续的若干个Segments 构成 Section,连续的若干个 Sections 构成 Zone

F2FS 将整个卷切分成6个区域,除了超级块(SuperblockSB)外,其余每个区域都包含多个 Segments

F2FS数据布局参考博客:http://blog.chinaunix.net/uid-28989651-id-3890455.html

 

2、gc源码分析

背景:

磨损平衡(Wear Leveling)和垃圾回收(Garage Collection)都是基于闪存的基本特征而产生:

1、不支持本地更新(outplace-update,即不能在原数据位置进行覆盖写入或者直接更改,更改数据需要将更改后的数据搬迁至新的可用的page,原有位置的page被标示为无效页,必须要先擦除无效页才能在原位置重新写入数据);

2、以page为单位写入,以Block为单位擦除,擦除Block需要先将有效数据进行搬迁,那么,当有大量的Block可以被选择擦除时,搬迁哪些Block并重新利用就关系到对不同

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值