http://blog.sina.com.cn/s/blog_502c8cc40100pztk.html

摘要

1.In this paper, we propose the SLC-MLC mixed flash translation layer with 3-slot block mapping method for block level address translation and block relocation algorithm.

在本文中,我们提出了SLC-MLC闪存的混合转换层(3槽块映射方法的块级地址转换)和块重定位算法。

介绍

1.NAND的优点:非易失,耐冲击,低能耗;SSD(容量增长,价格下降,不需要机械移动);

2.缺点:写前擦除。

3.介绍FTL

4.简要对比了一下SLC、MLC,提出MFTL

背景

1.NAND的页、块基本特点

2.NAND的R/W/E操作

3.简单介绍垃圾回收  (参考:http://blog.csdn.net/guojing3625/article/details/10136493)

背景-FTL

1.块映射

2.页映射

3.混合映射

(http://www.cnblogs.com/yaolei/p/3635974.html)

背景-SLC/MLC

1.状态及一些基本数据

M-FTL

M-FTL--Address mapping

1.E-PBA:上面的指向SLC,下面的指向MLC

2.3-slots:a single logical block address can be mapped into three different E-PBAs------------覆写只能写到SLC上(hot,warm slot)

3.block mapped 页数量(MLC)----------导致:SLC 的cold ,warm 正常,hot 为额外;MLC 的cold 为正常,cold ,warm 为额外。

4.覆写只发生在SLC ,保证了写入的快速---------------SLC相当于虚拟增大页面数,所以复写发生在这里

M-FTL--Writing algorithm

【例子】

1.new write : 从cold-slot's的下开始到上

2.overwrite : 从hot-slot's的上开始倒下

3. merge operations:switch(转化),mode-switch(模式切换),partial(部分),normal(正常)

switch:之改写mapping table 的内同,当SLC模式下,cold,warm,都被重新了一次,(三slots都写了吧)

mode-switch:MLC模式下,MLC中cold-slot中所有page都是invalidated,切换成SLC

partial:SLC模式下,其中一个SLC blocks(slot 对应)的pages 都是valid

normal:三块的valid挑出来

(1.(论文)一种改进的双粒度地址映射 的双粒度地址映射算法)

(2.http://blog.csdn.net/chuigedaqiqiu/article/details/21635871)

M-FTL--Block Reloction

所有SLC耗尽后使用,对MLC NAND使用。(保持经常更新的块在SLC中,cold block移动到MLC中)

1.Block Reloction有两个作用:

(1)回收无效的页块创建空块。

(2)The other role is moving cold pages from SLC NAND blocks to MLC NAND  blocks

2.方式:循环扫描the 3-slot block mapping table

3.Block Reloction的流程:

(since there is only one extra-slot in case of SLC-mode and there are two extra slots in case of MLC-mod,extra-slot)---------3.1 最后一段

(1)判断是SLC还是MLC

(2) It skips the merging operation on the logical  block  unless  any  extra-slot  exists. 它跳过逻辑块的合并操作,除非任何额外的插槽存在。

(3)MLC->SLC

A Mixed Flash Translation Layer Structure for SLC-MLC Combined Flash Memory System的更多相关文章

  1. MNFTL: An Efficient Flash Translation Layer for MLC

    1. we propose two approaches, namely, concentrated mapping and postponed reclamation, to effective r ...

  2. FTL(Flash translation layer)闪存转换层

    前面说过,闪存的读写单位为页,而页的大小一般为4KB或8KB,但我们的操作系统读写数据是按HDD的扇区尺寸进行的(512Byte(字节)),更麻烦的是闪存擦除以块作单位,而且未擦除就无法写入,这导致操 ...

  3. NAND Flash底层原理,SLC MLC TLC比较【转】

    转自:https://blog.csdn.net/qq_39560607/article/details/81714145 版权声明:请注明转载自Christa_RJ https://blog.csd ...

  4. NAND Flash底层原理,SLC MLC TLC比较

    NAND-Flash 的存储原理 固态硬盘最小单元的基本架构如下: 我们知道计算机中所有的信息储存最终都必须回归到 0与1,原则上,只要存储单元能提供两种或两种以上可供辨识的状态,便可以拿来纪录数据. ...

  5. SSD的SLC MLC 和TLC哪个好?

    <1>SLC = Single-Level Cell ,即1bit/cell,速度快寿命长,价格超贵(约MLC 3倍以上的价格),约10万次擦写寿命MLC = Multi-Level Ce ...

  6. 工业级别sd卡存贮slc mlc tlc

    slc mlc tlc SLC = Single-Level Cell ,即1bit/cell,速度快寿命长,价格超贵(约MLC 3倍以上的价格),约10万次擦写寿命 MLC = Multi-Leve ...

  7. Flash Player调试器版本的解决办法Flash Builder 找不到所需的Adobe

    Flash Player调试器版本的解决办法Flash Builder 找不到所需的Adobe   Flash Builder在Debug时出现的问题:Flash Builder 找不到所需的Adob ...

  8. I have Flash Player installed, but I am unable to view Flash content in Chromium. How do I enable Flash Player to view this content?

    I have Flash Player installed, but I am unable to view Flash content in Chromium. How do I enable Fl ...

  9. Nand flash 三种类型SLC,MLC,TLC【转】

    转自:https://blog.csdn.net/fc34235/article/details/79584758 转载自:http://diy.pconline.com.cn/750/7501340 ...

随机推荐

  1. pycharm mysql数据源配置、SQL方言配置

    会发现有提示,看着不爽,但不影响运行程序, 这里提示没有配置数据源,现在配置MYSQL数据源 然后看到右边Database选项卡,点击 然后可能会出现网络防火墙提示,选择全部允许,之后可能会在pych ...

  2. no suitable method found to override

    no suitable method found to override http://bbs.csdn.net/topics/200001058 

  3. Solution: The process cannot access the file [filename] because it is being used by another process.

    http://www.brianstevenson.com/blog/solution-the-process-cannot-access-the-file-filename-because-it-i ...

  4. C++全局变量的定义和声明

    编译单元 编译分为两个步骤: 第一步:将每个.cpp或.c和相应的.h文件编译乘obj文件(包含预编译,汇编.编译) 第二部:将obj文件进行Link,生成最终的可执行文件 根据该阶段错误大致可分为两 ...

  5. typedef void (*funcptr)(void)的含义

    fun a;//等价于void (*a)(); 这样声明起来就方便多了 void (*a)();表示a是个指针,指向一个不带参数.返回值为空的函数 定义一个函数指针类型. 比如你有三个函数: void ...

  6. delete elasticsearch

    在elasticsearch-head 插件中遇到的删除特定的数据需求 DELETE /索引名/需要清空的type/_query { "query": { "match_ ...

  7. 预处理、const、static、sizeof-说明内联函数使用的场合

    1:首先使用inline函数可以完全取代表达式形式的宏定义. 内联函数在C++类中的应用最广的应该是用来定义存取函数.我们定义的类中一般会把数据成员定义成私有的或者保护的,这样,外界就不能直接读写我们 ...

  8. php多线程的概念

    来源:http://www.cnblogs.com/zhenbianshu/p/7978835.html 多线程 线程 首先说下线程: 线程(thread) 是操作系统能够进行运算调度的最小单位.它被 ...

  9. 优化webpack打包速度方案

    基本原理要么不进行打包:要么缓存文件,不进行打包:要么加快打包速度. 不进行打包方案: 1,能够用CDN处理的用CDN处理,比如项目引入的第三方依赖jquery.js,百度编辑器 先进行打包或者缓存然 ...

  10. 在Ubuntu 16.04 LTS下编译安装OpenCV 4.1.1

    目录 一 安装前的准备 二 编译并安装OpenCV 4.1.1 注:原创不易,转载请务必注明原作者和出处,感谢支持! OpenCV目前(2019-8-1)的最新版本为4.1.1.本文将介绍如何在Ubu ...