FAST FTL中的崩溃恢复机制解析
1. 闪存转换层(FTL)崩溃恢复的重要性与现状
在闪存存储系统中,闪存转换层(FTL)的断电故障恢复问题一直未得到足够重视,目前还没有全面处理FTL崩溃恢复的方案。当进行页面写入请求时,无论是采用页面映射还是混合映射,除了数据页本身,新的地址映射信息也需要持久地写入闪存,以实现断电恢复。在简单的解决方案下,闪存中的一个页面写入请求至少需要两次物理闪存写入,这会降低FTL的性能。而且,FTL的算法复杂度和运行时开销在很大程度上取决于所使用的地址映射方式。
2. FTL的地址映射类型
FTL根据地址映射的粒度大致可分为三种类型:
- 块映射FTL :地址映射在块级别进行,当块中的数据需要覆盖写入时,FTL会为该块分配一个新的空块。只有在为逻辑块分配新的物理块时,才需要更改并持久存储块映射信息,这种恢复方案简单,运行时开销小。
- 页面映射FTL :地址映射在页面级别进行,粒度更细,逻辑页面可以映射到任何空闲的物理页面,地址映射过程更灵活。但页面映射FTL需要更大的内存空间来存储映射表,为保证断电故障时映射信息的一致性,每次页面写入都要存储整个页面映射表,开销较大。另一种恢复一致页面映射信息的方法是在每个物理页面的空闲区域存储逻辑页面地址,但需要扫描所有页面来重建映射信息。
- 混合映射FTL :旨在克服页面映射和块映射FTL的局限性,如FAST FTL,将闪存块逻辑划分为数据区和日志区。数据区的块由块级映射管理,日志区的块由页级映射管理。这种混合方案比块级映射方案具有更高的空间利用率,比页级映射方案
超级会员免费看
订阅专栏 解锁全文
35

被折叠的 条评论
为什么被折叠?



