FTL那些事(3)之GC/WL

 

作者:李大虾

 

本节主要叙述GC和WL的特性和方法。GC(Garbage Collection)垃圾回收的产生主要由于Nand Flash的Block具有”Erase-Before-Write”特性,对于文件系统的Block更新实际上采用异地更新的做法,也就是说文件系统的Block第一次写在Nand物理Block 0的位置,下一次更新就有可能写在Nand物理Block 1的位置,原来写入的数据就变成脏数据。因此GC的主要目的是Nand Flash空间使用到一定程度之后进行脏数据空间回收的过程,同时要将有效数据搬移到新的位置。因此我们期望GC的候选Block能够全部是脏数据,这样回收起来只[……]

阅读全文

FTL那些事(2)之Hot/Cold Data

 

作者:李大虾

 

本节主要叙述Hot/Cold Data Identification的方法,该方法的优劣将影响GC的性能和WL的寿命(具体原因请参考下一章节叙述),识别方法分为频率上考量和时间上考量以及二者结合的方法。根据操作方式又可分为写时识别和读时识别。频率上考量的算法代表有Bloom Filter和WDAC等,时间上考量算法代表有LRU和DAC等,它们的改进算法可能包含了频率和时间上的考量。下面将分别介绍上述算法:

 

  1. Bloom Filter

     

    布隆滤波器,是牛人Burton Howard Bloom在1970年提出的,原理是利用K个Hash函数将Flash中某个定义的Clus[……]

阅读全文

FTL那些事(1)之Mapping

 

作者:李大虾

Mapping即Address Translation,居FTL之中乃核心,变化出其他FTL技术。按照表内存放的数据内容可以分为direct map和inverse map:

direct map:将logical address映射到physical address,组织方式可以是Array Lookup,也可以是Tree Search,根据需要可以是几级映射,主要存放于Nand Flash中,部分镜像会存放于RAM,用于快速转换。

inverse map:在physical block/page中存放logical address,主要用于GC时候scan valid d[……]

阅读全文

FTL那些事(0)之写在前面的话

 

作者:李大虾

 

前言:本系列文章总共七篇,分别是写在前面的话、Mapping、Hot/Cold data、GC/WL、Power off Recovery、Cache Manager、写在后面的话。所涉及内容默认读者具有Nand基础知识。

 

    FTL是它的简称,全称是Flash Translation Layer,是搭建在Flash之上的核心软件层,现在的设计主要针对Nand设备,主要内容与其说管理Nand Flash,不如说补足传统文件系统与Nand设备之间的短板。目前FTL尚无统一的标准和规范,但已经形成相应的技术框架,如下图所示,FTL跟着控制器走,左图是外部主控FTL依赖[……]

阅读全文

2018年ACE Lab产品的最佳PC配置

作者 Modder

前言

:利用工作之余,翻译了PC3000技术博客的五篇数据恢复基础文章,有助于您构建自己的数据恢复工作室,具体目录如下,由于水平有限,不免有纰漏之处,希望读者给予指正!

1.ACE Lab产品的最佳PC配置

2.数据恢复实验室的基本工具

3.您的数据恢复实验室的消耗品

4.HDD数据恢复的特定工具

5.Flash数据恢复的特定工具

下面开始第一篇的介绍

 

 

2018年ACE Lab产品的最佳PC配置

 

最近,用户询问使用PC-3000 FlashPC-3000 ExpressPC-3000 UDMA-E的推荐配置。
很[……]

阅读全文