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. HDU 6060 - RXD and dividing | 2017 Multi-University Training Contest 3

    /* HDU 6060 - RXD and dividing [ 分析,图论 ] | 2017 Multi-University Training Contest 3 题意: 给一个 n 个节点的树, ...

  2. 牛客寒假算法基础集训营2 【处女座与复读机】DP最小编辑距离【模板题】

    链接:https://ac.nowcoder.com/acm/contest/327/G来源:牛客网 一天,处女座在牛客算法群里发了一句“我好强啊”,引起无数的复读,可是处女座发现复读之后变成了“处女 ...

  3. 014_linuxC++之_不同类型的继承

    #include <iostream> #include <string.h> #include <unistd.h> using namespace std; c ...

  4. cookie与session的区别?

    一.cookie机制和session机制的区别 具体来说cookie机制采用的是在客户端保持状态的方案,而session机制采用的是在服务器端保持状态的方案.同时我们也看到,由于才服务器端保持状态的方 ...

  5. Prime Path (POJ - 3126 )(BFS)

    转载请注明出处:https://blog.csdn.net/Mercury_Lc/article/details/82697622     作者:Mercury_Lc 题目链接 题意:就是给你一个n, ...

  6. Django Admin中增加导出CSV功能

    参考: https://books.agiliq.com/projects/django-admin-cookbook/en/latest/export.html 在使用Django Admin时, ...

  7. [bat]只更新svn部分文件夹

    游戏工程里的sdk文件夹,经常被svn认定为有毒文件. 后来关了权限之后,已拉取过的sdk文件夹还是会拉下来. 网上找了个方法,bat文件只更新部分文件. TortoiseProc /command: ...

  8. zookeeper系列(九)zookeeper的会话详解

    作者:leesf    掌控之中,才会成功:掌控之外,注定失败. 出处:http://www.cnblogs.com/leesf456/p/6103870.html尊重原创,大家共同学习: 一.前言 ...

  9. pom标签大全

    [原文链接]:Maven POM | 菜鸟教程 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi=&q ...

  10. git与github建立仓库连接步骤(纯小白教程)

    一.先对git 进行用户设置 首先你得在网上下载git软件并且安装,一路默认安装就好了,然后就可以开始本地仓库的建立了.打开你安装好的git, 在开始菜单里面找到git文件夹里面的git bash端 ...