跟着兵哥捡垃圾 (3)– CAT算法


继续学习兵哥捡垃圾。

CAT的全称是Cost Age Times,在Benefit-Cost算法的基础上,增加了对数据寿命和擦除次数的考虑。

 

CAT算法提出了数据分类的概念:把Valid data分成了Read-only, Cold和Hot三类。


Read-only data:顾名思义,就是写入之后不会被修改的数据,例如一些系统文件;

Cold data和Hot data都是可以被修改的数据,不同在于Hot data会被频繁的修改。

 

准备回收的Block上的数据,有这么几种情况:

  1. Read-only和Writable data混合:

在回收过程中,把所有的Read-o[……]

阅读全文

跟着兵哥捡垃圾 (2) — Greedy & Cost-Benefit算法


关于GC选取Block的策略算法,兵哥引用了好几种算法(作为轻度算法恐惧症患者,我第一反应其实是拒绝的)

 

Greedy算法

固件需要维护一张Block属性表,记录每个Block当前的Valid Page数量。假设每次GC处理8个Block,查表挑出Valid Page最少的8个Block进行GC,这样做的好处是复制Valid Page的开销最小。

 

Cost-Benefit算法

                             
u代表valid page在该Block中的比例,age代表该Block距离最近一次修改的时间。

1-u是对这[……]

阅读全文

跟着兵哥捡垃圾(1)

平时看兵哥的文章学到不少东西,最近终于见到活人了。

兵哥曾经发过一篇文章《寿增三倍的磨损平衡算法思想》,里面介绍了不少GC相关的内容,值得好好学习。

背景

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

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

才能在原位置重新写入数据);

 2、以page为单位写入,以Block为单位擦除,擦除Block需[……]

阅读全文

3. 谈存储

作者 王齐

 

从人类有语言之日起,吟游诗人用歌谣颂扬着传说;文字出现之后,我们使用甲骨文与纸张记载着历史;每一次新材料的出现,人类总试图将其与存储联系在一起,各类磁介质、硅介质,直至坚硬的蓝宝石介质。至今,存储世界已历经五千余年。在IT基础设施的三大领域,计算、网络与存储中,如果说计算在比拼着智慧,网络在比拼着记忆力,存储就是在比拼着一份执着。

 

存储对于稳定性的要求压倒了一切。在一个存储系统的所有Feature中,稳定性是1,剩余的所有特性是其后的0。如果一个存储系统谈不上稳定,那么其身后的所有特性都将无用武之地,一个存储系统所追求的首要目标,永远不是速度、带宽、延时与IOP[……]

阅读全文

2. 谈网络

作者 王齐

计算、通信与人类文明形影不离。不同的时代赋予了计算不同的内涵,也赋予了通信不同的内涵。在每一个时代,计算与通信总是密不可分,相辅相承。计算离不开网络,反之亦然。在今天,计算领域无法突破冯诺伊曼体系,通信领域面临着香农极限。几乎在同一个时间点起步的IT基础设施的两大领域,计算与通信,也几乎在同一个时间点止步不前。

 

在上世纪的四十年代末期,近代IT历史上,出现了两个对电子与电信行业的发展产生深远影响的事件,香农发现了以自己名字命名的三大定律,香农的三大定律奠定了信息论与编码理论的基础,也给人类带来了一个新的词汇比特(Bit)。与此同时肖克利发明了晶体管,晶体管的出现极大[……]

阅读全文