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 ...
随机推荐
- 【vue】@click绑定的函数,如何同时传入事件对象和自定义参数
知识很久不用的话,果然是容易忘的... 记记笔记,希望能加深点印象吧. [仅仅传入事件对象] html: <div id="app"> <button @clic ...
- web自动化之前端知识
下面这种写法只作用于这1个标签: 下面这种也是比较老的写法: 下面是常用的方式:把一个css样式放入到一个文件中,然后引用: 第三方引用的css一般是压缩过的,这样静态资源加载速度会比较快. 如 ...
- JavaScript实现 简易 堆
有两个原始操作用于保证插入或删除节点以后堆是一个有效的最大堆或者最小堆: shiftUp(): 如果一个节点比它的父节点大(最大堆)或者小(最小堆),那么需要将它同父节点交换位置.这样是这个节点在数组 ...
- linux系统编程--守护进程,会话,进程组,终端
终端: 在UNIX系统中,用户通过终端登录系统后得到一个Shell进程,这个终端成为Shell进程的控制终端(Controlling Terminal), 进程中,控制终端是保存在PCB中的信息,而f ...
- hdu 5536 Chip Factory 字典树+bitset 铜牌题
Chip Factory Time Limit: 18000/9000 MS (Java/Others) Memory Limit: 262144/262144 K (Java/Others)T ...
- python 编写排列组合
python在编写排列组合是会用到 itertools 模块 排列 import itertools mylist = list(itertools.permutations([)) # 全排列 p ...
- HDU 2176 取(m堆)石子游戏 —— (Nim博弈)
如果yes的话要输出所有情况,一开始觉得挺难,想了一下也没什么. 每堆的个数^一下,答案不是0就是先取者必胜,那么对必胜态显然至少存在一种可能性使得当前局势变成必败的.只要任意选取一堆,把这堆的数目变 ...
- Hdu 5248
hdu5248-序列变换 题意: 给你一个序列A,要求改变序列A中的某些元素的顺序,形成一个新的数列B,并保证数列B严格单调递增,求出最小代价. 代价计算公式 $ cost(a,b)=max(|A_i ...
- csp-s模拟80(b)
头一次中午考试,上来一看三个题目以为是三个板子,但一看数据范围就不对劲. T1: 考场上的想法是:找出循环节,对于数组一头一尾的不在循环节中的,维护出以某数结尾/开头的上升序列,对于中间的循环部分只取 ...
- 发布mybatis-generator-core 1.3.5的中文注释版
源码剖析介绍:基于mybatis-generator-core 1.3.5项目的修订版以及源码剖析 目前,我把该项目,发布到了Maven中央仓库中,可直接使用: 使用方式 在项目.pom中,添加以下部 ...