A Mixed Flash Translation Layer Structure for SLC-MLC Combined Flash Memory System
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的更多相关文章
- MNFTL: An Efficient Flash Translation Layer for MLC
1. we propose two approaches, namely, concentrated mapping and postponed reclamation, to effective r ...
- FTL(Flash translation layer)闪存转换层
前面说过,闪存的读写单位为页,而页的大小一般为4KB或8KB,但我们的操作系统读写数据是按HDD的扇区尺寸进行的(512Byte(字节)),更麻烦的是闪存擦除以块作单位,而且未擦除就无法写入,这导致操 ...
- NAND Flash底层原理,SLC MLC TLC比较【转】
转自:https://blog.csdn.net/qq_39560607/article/details/81714145 版权声明:请注明转载自Christa_RJ https://blog.csd ...
- NAND Flash底层原理,SLC MLC TLC比较
NAND-Flash 的存储原理 固态硬盘最小单元的基本架构如下: 我们知道计算机中所有的信息储存最终都必须回归到 0与1,原则上,只要存储单元能提供两种或两种以上可供辨识的状态,便可以拿来纪录数据. ...
- SSD的SLC MLC 和TLC哪个好?
<1>SLC = Single-Level Cell ,即1bit/cell,速度快寿命长,价格超贵(约MLC 3倍以上的价格),约10万次擦写寿命MLC = Multi-Level Ce ...
- 工业级别sd卡存贮slc mlc tlc
slc mlc tlc SLC = Single-Level Cell ,即1bit/cell,速度快寿命长,价格超贵(约MLC 3倍以上的价格),约10万次擦写寿命 MLC = Multi-Leve ...
- Flash Player调试器版本的解决办法Flash Builder 找不到所需的Adobe
Flash Player调试器版本的解决办法Flash Builder 找不到所需的Adobe Flash Builder在Debug时出现的问题:Flash Builder 找不到所需的Adob ...
- 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 ...
- Nand flash 三种类型SLC,MLC,TLC【转】
转自:https://blog.csdn.net/fc34235/article/details/79584758 转载自:http://diy.pconline.com.cn/750/7501340 ...
随机推荐
- pycharm mysql数据源配置、SQL方言配置
会发现有提示,看着不爽,但不影响运行程序, 这里提示没有配置数据源,现在配置MYSQL数据源 然后看到右边Database选项卡,点击 然后可能会出现网络防火墙提示,选择全部允许,之后可能会在pych ...
- no suitable method found to override
no suitable method found to override http://bbs.csdn.net/topics/200001058
- 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 ...
- C++全局变量的定义和声明
编译单元 编译分为两个步骤: 第一步:将每个.cpp或.c和相应的.h文件编译乘obj文件(包含预编译,汇编.编译) 第二部:将obj文件进行Link,生成最终的可执行文件 根据该阶段错误大致可分为两 ...
- typedef void (*funcptr)(void)的含义
fun a;//等价于void (*a)(); 这样声明起来就方便多了 void (*a)();表示a是个指针,指向一个不带参数.返回值为空的函数 定义一个函数指针类型. 比如你有三个函数: void ...
- delete elasticsearch
在elasticsearch-head 插件中遇到的删除特定的数据需求 DELETE /索引名/需要清空的type/_query { "query": { "match_ ...
- 预处理、const、static、sizeof-说明内联函数使用的场合
1:首先使用inline函数可以完全取代表达式形式的宏定义. 内联函数在C++类中的应用最广的应该是用来定义存取函数.我们定义的类中一般会把数据成员定义成私有的或者保护的,这样,外界就不能直接读写我们 ...
- php多线程的概念
来源:http://www.cnblogs.com/zhenbianshu/p/7978835.html 多线程 线程 首先说下线程: 线程(thread) 是操作系统能够进行运算调度的最小单位.它被 ...
- 优化webpack打包速度方案
基本原理要么不进行打包:要么缓存文件,不进行打包:要么加快打包速度. 不进行打包方案: 1,能够用CDN处理的用CDN处理,比如项目引入的第三方依赖jquery.js,百度编辑器 先进行打包或者缓存然 ...
- 在Ubuntu 16.04 LTS下编译安装OpenCV 4.1.1
目录 一 安装前的准备 二 编译并安装OpenCV 4.1.1 注:原创不易,转载请务必注明原作者和出处,感谢支持! OpenCV目前(2019-8-1)的最新版本为4.1.1.本文将介绍如何在Ubu ...