FTL

1.百度百科

http://baike.baidu.com/link?url=HJ94Rz2Td83V8OW-6dD_h_P8CZb9VFR6HznPDopY_SFdfXDaMriYcBm1Xwpwrsnnv1HB1kSlFkYX0EjfNTcOfa

2.一些概念

http://www.pceva.com.cn/topic/Plextor/index.html

3.wiki :Flash memory controller

http://en.wikipedia.org/wiki/Flash_translation_layer

4.PCM等闪存

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

5.

http://blog.csdn.net/shenbin1430/article/details/4391566

1.概念

FTL是Flash translation layer的英文缩写,FTL是一种软件中间层,最初是由intel提出的,用于将闪存模拟成为虚拟块设备,从而能够在闪存上实现FAT等等块设备类文件系统。

Flash translation layer(FTL) is a middle layer of software, originally proposed by the intel for the flash simulate a virtual block device, enabling FAT file system, and so block device class on the flash.

(图,百度百科)

FTL首先构造数据“虚拟”块,这些虚拟块独立于Flash设备的物理可擦除块,接着FTL管理Flash上的数据,使其看起来像原地更新(write in place),事实上这些数据被存储在Flash中不同的位置,最后FTL管理Flash物理块,进行垃圾回收,使得系统有一些已经被擦除过的、干净的空闲块用于存储数据。如果系统中存在多个Flash芯片,FTL通过编程模式将这些芯片组织成为一块“逻辑”芯片。

FTL first construct data "virtual" block, these virtual block device-independent Flash erasable physical blocks, then FTL Flash on the management of data, to make it look like write in place, the fact that these data are stored in a different location in Flash, last FTL management Flash physical blocks, garbage collection, so that the system has some had already been erased, clean free blocks for storing data. If there are multiple Flash chip systems, FTL mode by programming these chips will be organized into a "logic" chips.

(图,百度百科)

2.必要性

闪存的读写单位为页,而页的大小一般为4KB或8KB,但我们的操作系统读写数据是按HDD的扇区尺寸进行的(512Byte(字节)),更麻烦的是闪存擦除以块作单位,而且未擦除就无法写入,这导致操作系统现在使用的文件系统根本无法管理SSD,需要更换更先进、复杂的文件去解决这个问题,但这样就会加重操作系统的负担。而为了不加重操作系统的负担,SSD采用软件的方式把闪存的操作虚拟成磁盘的独立扇区操作,这就是FTL。因FTL存在于文件系统和物理介质(闪存)之间,操作系统只需跟原来一样操作LBA即可,而LBA到PBA的所有转换工作,就全交由FTL负责。

Flash memory read and write in pages, but generally 4KB page size or 8KB, but our operating system to read and write data is carried out according to the size of the HDD sector (512Byte (bytes)), more trouble is flash erase block as a unit, but did not erase it can not be written, it causes the file system is now used by the operating system simply can not manage SSD, need to be replaced more advanced, complex file to solve this problem, but this will increase the burden of the operating system . In order not to increase the burden of the operating system, SSD using software approach to the operation of the virtual memory operations into separate sectors of the disk, which is FTL. Because FTL exists between the file system and the physical media (flash) in the operating system just as with the original LBA can operate, and LBA to PBA all conversion work, on the whole by FTL responsible.

(图:SSD)

3.组成

一个FTL算法应提供以下功能:

逻辑地址到物理地址的映射:一个FTL算法的主要功能是把文件系统中的逻辑地址转换成闪存中的物理地址。

断电恢复:即使在FTL操作时突然断电,FTL的数据结构也应该被保存,数据应保证一致性。

损耗均衡:FTL应包括磨损均衡功能使得尽可能均匀地磨损各内存块。

(1)WL(Wear leveling)磨损平衡:http://www.pceva.com.cn/topic/Plextor/index-jc-3.html

(2)GC(Garbagecollection)垃圾回收:()同上

(3)

……

(细述)

4.分类

(一)根据其地址映射、映射信息管理和RAM表的大小进行分类的

(1)页映射,每个逻辑扇区被映射到一个对应的物理扇区

(2)块映射,物理块内的物理扇区的偏移量与逻辑块中的逻辑扇区的偏移量相同。

(3)混合映射

(图,文---》论文)

5.缺点

(1)当实现一个FTL算法,有必要考虑一个方案来存储映射信息。为了能够重建在上电过程中,映射信息的映射表不应该迷失在突然断电的事件,因此,此信息必须在某处被持续保存在闪存内存。该技术用于存储映射信息中闪光 
存储器可以被分为两类:(the map block method and the per block method)

(2)综述3.1.1硬件接口问题,中断问题——循环解决

(3)

6.改变:wiki

FTL方面综述的更多相关文章

  1. eMMC ext4综述【转】

    本文转载自:https://blog.csdn.net/lieye_leaves/article/details/78214410 eMMC ext4综述一.系统的引导启动1.1系统的引导启动http ...

  2. Python爬虫入门一之综述

    大家好哈,最近博主在学习Python,学习期间也遇到一些问题,获得了一些经验,在此将自己的学习系统地整理下来,如果大家有兴趣学习爬虫的话,可以将这些文章作为参考,也欢迎大家一共分享学习经验. Pyth ...

  3. Using FreeMarker templates (FTL)- Tutorial

    Lars Vogel, (c) 2012, 2016 vogella GmbHVersion 1.4,06.10.2016 Table of Contents 1. Introduction to F ...

  4. Spring mvc 中使用ftl引用共通文件出错 FreeMarker template error: Error reading included file "/WEB-INF/ftl/common/errormessage.ftl"

    初次接触spring mvc,想做一个小的练习项目,结果在ftl文件中引用其它的共通ftl文件时出错.

  5. deep learning 的综述

    从13年11月初开始接触DL,奈何boss忙or 各种问题,对DL理解没有CSDN大神 比如 zouxy09等 深刻,主要是自己觉得没啥进展,感觉荒废时日(丢脸啊,这么久....)开始开文,即为记录自 ...

  6. paper 96:计算机视觉-机器学习近年部分综述

    计算机视觉和机器学习领域 近两年部分综述文章,欢迎推荐其他的文章,不定期更新.   [2015]   [1].    E.Sariyanidi, H. Gunes, A. Cavallaro, Aut ...

  7. [Freemarker] - 使用struts的component调用freemarker的ftl模板方法

    struts中的component标签,可以用来调用freemarker的ftl模板文件,使用component标签传参可以这样写: 使用property方式写法: <s:component t ...

  8. ftl文件格式化jsp形式显示

    通过myeclipse设置ftl的编辑器为jsp的编辑器,达到效果. Myeclipse->windows->preferences 1\ 2\ 3\ 完成后即可.

  9. 性能分析之-- JAVA Thread Dump 分析综述

    性能分析之-- JAVA Thread Dump 分析综述       一.Thread Dump介绍 1.1什么是Thread Dump? Thread Dump是非常有用的诊断Java应用问题的工 ...

随机推荐

  1. 【SaltStack官方版】—— returners——返回器

    ETURNERS 返回器 By default the return values of the commands sent to the Salt minions are returned to t ...

  2. 使用Jieba提取文章的关键词

    import jieba.analyse as analyse import matplotlib.pyplot as plt from wordcloud import WordCloud data ...

  3. Can't install '*' from pristine store, because no checksum is recorded for this file

    svn同步时,提示clean up,但clean up 时提示: Error:Error performing cleanup for 'E:\project\projectProjectIDEA\b ...

  4. PHP mysqli_fetch_lengths() 函数

    mysqli_fetch_lengths() 函数返回结果集中的字段长度. <?php // 假定数据库用户名:root,密码:123456,数据库:RUNOOB $con=mysqli_con ...

  5. luogu 1220 关路灯 区间dp

    Code: #include <bits/stdc++.h> #define ll long long #define N 1003 #define setIO(s) freopen(s& ...

  6. ARM编辑、编译工具

    手动编译 编译器问题,肯定是GNU的大名鼎鼎的GCC了,与此相关的什么连接器,汇编器也都包含在内了. 针对arm的GCC,当然就是arm-linux-gcc了,我所用的版本就是友善之臂光盘自带arm- ...

  7. LA 7263 Today Is a Rainy Day bfs+暴力 银牌题

    7263 Today Is a Rainy Day Today is a rainy day. The temperature is apparently lower than yesterday. ...

  8. AcWing:238. 银河英雄传说(带权并查集)

    有一个划分为N列的星际战场,各列依次编号为1,2,…,N. 有N艘战舰,也依次编号为1,2,…,N,其中第i号战舰处于第i列. 有T条指令,每条指令格式为以下两种之一: 1.M i j,表示让第i号战 ...

  9. 子类中执行父类的方法(引出super()与mro列表)

    1. 我们先想一下在python中如果子类方法中想执行父类的方法,有什么方式?大概有三种: Parent.__init__(self, name) # 通过父类的名字,指定调用父类的方法 super( ...

  10. 邻居子系统 之 状态定时器回调neigh_timer_handler

    概述 在分配邻居子系统之后,会设置定时器来处理那些需要定时器处理的状态,定时器回调函数为neigh_timer_handler:函数会根据状态机变换规则对状态进行切换,切换状态后,如果需要更新输出函数 ...