FTL方面综述
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方面综述的更多相关文章
- eMMC ext4综述【转】
本文转载自:https://blog.csdn.net/lieye_leaves/article/details/78214410 eMMC ext4综述一.系统的引导启动1.1系统的引导启动http ...
- Python爬虫入门一之综述
大家好哈,最近博主在学习Python,学习期间也遇到一些问题,获得了一些经验,在此将自己的学习系统地整理下来,如果大家有兴趣学习爬虫的话,可以将这些文章作为参考,也欢迎大家一共分享学习经验. Pyth ...
- Using FreeMarker templates (FTL)- Tutorial
Lars Vogel, (c) 2012, 2016 vogella GmbHVersion 1.4,06.10.2016 Table of Contents 1. Introduction to F ...
- Spring mvc 中使用ftl引用共通文件出错 FreeMarker template error: Error reading included file "/WEB-INF/ftl/common/errormessage.ftl"
初次接触spring mvc,想做一个小的练习项目,结果在ftl文件中引用其它的共通ftl文件时出错.
- deep learning 的综述
从13年11月初开始接触DL,奈何boss忙or 各种问题,对DL理解没有CSDN大神 比如 zouxy09等 深刻,主要是自己觉得没啥进展,感觉荒废时日(丢脸啊,这么久....)开始开文,即为记录自 ...
- paper 96:计算机视觉-机器学习近年部分综述
计算机视觉和机器学习领域 近两年部分综述文章,欢迎推荐其他的文章,不定期更新. [2015] [1]. E.Sariyanidi, H. Gunes, A. Cavallaro, Aut ...
- [Freemarker] - 使用struts的component调用freemarker的ftl模板方法
struts中的component标签,可以用来调用freemarker的ftl模板文件,使用component标签传参可以这样写: 使用property方式写法: <s:component t ...
- ftl文件格式化jsp形式显示
通过myeclipse设置ftl的编辑器为jsp的编辑器,达到效果. Myeclipse->windows->preferences 1\ 2\ 3\ 完成后即可.
- 性能分析之-- JAVA Thread Dump 分析综述
性能分析之-- JAVA Thread Dump 分析综述 一.Thread Dump介绍 1.1什么是Thread Dump? Thread Dump是非常有用的诊断Java应用问题的工 ...
随机推荐
- hdfs基本使用
基本命令 /usr/local/hadoop/bin/hadoop fs -ls / /usr/local/hadoop/bin/hadoop fs -mkdir /test # 创建目录 /usr/ ...
- WebUI自动化之Java语言提高
单独写一个函数和把函数写在类中的区别: 单独写一个函数,函数只能完成一个功能,团队开发.让第三方使用时比较麻烦: 项目管理和构建自动化工具Maven:
- Educational Codeforces Round 33 (Rated for Div. 2) D题 【贪心:前缀和+后缀最值好题】
D. Credit Card Recenlty Luba got a credit card and started to use it. Let's consider n consecutive d ...
- vue-cli3构建多页面应用
创建一个项目hello-world vue create hello-worldcd hello-worldnpm run serve 在src目录下新建pages目录,在pages下新建页面 App ...
- 第四届西安邮电大学acm-icpc校赛 热狗树
题目描述 “我是番茄酱!”“我是黄芥末酱!”“合在一起就是——美式热狗上加的,那个!“热狗树上的每个节点都涂有番茄酱或者黄芥末酱中的一种,这样热狗树就变得美味了~LiMn2O4构造了一颗热狗树,他想 ...
- 【线性代数】1-2:点乘和长度(Dot Products and Length)
title: [线性代数]1-2:点乘和长度(Dot Products and Length) toc: true categories: Mathematic Linear Algebra date ...
- Linux网络命令——ifconfig、ifup、ifdown
这三个命令的用途都是启动网络接口,不过,ifup 与 ifdown 仅就 /etc/sysconfig/network- scripts 内的 ifcfg-ethx(x为数字)进行启动或关闭的操作,并 ...
- vue 监听键盘回车事件 @keyup.enter || @keyup.enter.native
vue运行为v-on在监听键盘事件时,添加了特殊的键盘修饰符:\ <input v-on:keyup.13="submit"> vue还非常贴心地给出了常用按键的别名, ...
- Go程序的一生是怎样的?
Go 程序是怎样跑起来的 原创: 饶全成 码农桃花源 刚开始写这篇文章的时候,目标非常大,想要探索 Go 程序的一生:编码.编译.汇编.链接.运行.退出.它的每一步具体如何进行,力图弄清 Go 程序 ...
- FutureTask用法及解析
1 FutureTask概念 FutureTask一个可取消的异步计算,FutureTask 实现了Future的基本方法,提空 start cancel 操作,可以查询计算是否已经完成,并且可以获取 ...