嵌入式文件系统 A 6.3_1
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
NAND器件使用I/O口串行存取数据,操作单元为512字节,可取代 硬盘或其他块设备,需要Memory Technology Devices(MTD)驱动。
NAND型具有更高的擦除上限,对于经常大容量数据存储的应用来说, 能够提供更长的使用寿命。
12
NAND闪存构成原理(1/2)
NAND闪存总体构成
SLC数据存储
MLC数据存储
14
NAND闪存管理中的问题(1/3)
写前需先擦除,擦除单元(Block) > 读写单元(Page):
NAND闪存
数据更新策略:
本地更新(in-place update)
非本地更新(non-in-place update)
垃圾回收问题
15
NAND闪存管理中的问题(2/3)
如果每天写入一个文件,那么1个U盘的寿命是25天!
25
文件系统比较:TrueFFS vs FAT(3/4)
采用TrueFFS文件系统,损耗均衡算法不允许FAT表固定在
某个扇区中,损耗平均分配给所有物理扇区。
U盘寿命计算
期望寿命=(容量×总擦写次数×0.75)/每天写入字节,其中: 0.75:表示文件系统和TrueFFS管理结构的额外消耗系数
随着嵌入式系统的广泛应用,对数据存储和管ቤተ መጻሕፍቲ ባይዱ提出
了很高的要求,嵌入式文件系统的重要性不断突出。
嵌入式文件系统与桌面通用文件系统有较大差异:
文件系统占用资源应尽可能小; 满足可移动和便于携带的要求; 满足断电后的数据完整性保护; 满足抗辐射、单粒子翻转纠错; 满足存储节能管理与设计需求。
3
嵌入式系统
An Introduction to Embedded System
嵌入式文件系统
1
课程大纲
嵌入式文件系统概述 闪速存储器硬件特性简介 闪速存储器文件系统简介 嵌入式Linux根文件系统简介
2
嵌入式文件系统介绍
嵌入式文件系统是在嵌入式系统中应用的文件系统,
是嵌入式系统的一个重要组成部分。
当前主流的非易失性存储器是:EEPROM、闪速存储器,两
者都是电可擦写的,基于浮栅MOS晶体管构造而成。
浮栅MOS晶体管的特点是门限值可以根据浮栅捕获的电荷来
调节,电荷捕获技术是非常可靠的,基于浮栅MOS的存储器 可以经受1000000次重写操作,保存时间长达10年。
EEPROM可以一次性擦除和重写一个单元,闪存以块
Ramfs/tmpfs
网络文件系统
NFS
4
课程大纲
嵌入式文件系统概述 闪速存储器硬件特性简介 闪速存储器文件系统简介 嵌入式Linux根文件系统简介
5
闪速存储器(固态硬盘)概述
闪存(Flash)是一种固态非易失性存储器,主要依靠储存
电荷保存数据,而不是移动电磁介质。
Flash没有移动部分并且相对稳定,具有抗机械震动、轻巧、
文件系统比较:TrueFFS vs FAT(2/4)
假设:
在256M的U盘上实现FAT16文件系统 簇大小为2KB 每个区块的擦除次数10万次
向U盘中写入一个8MB文件
8M文件共占用:8192K/2K=4K个簇 每写一个簇,FAT表更新一次,共需更新4096次
FAT表一直位于固定扇区中,所以8MB的文件最多只能更新: 100000/4096=25次
16
NAND闪存管理中的问题(3/3)
坏块处理问题:NAND器件中的坏块是随机分布的,由于消
除坏块的代价太高,因而使用NAND器件的初始化阶段进行 扫描以发现坏块,并将坏块标记为不可用。
掉电保护问题:文件系统应能保证在系统突然断电时,最大
限度地保护数据,使文件恢复到掉电前的一个一致性状态。
17
直接实现法:直接对闪存设备进行操 作,建立日志文件系统,避免模拟转 化工作。
19
硬盘模拟法的闪存文件系统(1/4)
模拟方法是从模拟块设备到闪存芯片一对一的操作映射,
如:模拟写请求的扇区操作时,读入整个擦除块,然后修 改需要更新的部分,擦除重新写整个块。
硬盘模拟方法一般不考虑擦除的均衡性问题,闪存中的某
法,但是没有TrueFFS那么高效。
26
文件系统比较:TrueFFS vs FAT(4/4)
一种针对Flash优化的FAT16文件系统
FAT表、FRT表,可以在Flash的一定范围内移动 在系统记录区(SR)中提供一系列FAT表的入口地址
系统记录区设计
FAT表、FRT表转移:热度过高检测
些块可能会因为更新局部性迅速损坏。
系统一致性没有安全保证,内存随时可能断电,处于更新
状态的信息会丢失,这种丢失将无法恢复。
为了提供均衡性和可靠的操作,模拟块设备的扇区存放在
物理介质的不同位置上,地址转化层(File Translation Layer)用于记录当前每个扇区在模拟块设备上的位置。
20
(block)为单位进行擦除,闪存的擦除、读、写速度更快。
7
闪存硬件基本原理(2/2)
闪存数据存储原理
数据在闪存单元中以电荷方式存储。 存储电荷的多少,取决于外部门(external gate)所被施加
的电压。
数据表示,以所存储的电荷的电压是否超过一个特定的阈值
Vth来表示。
8
闪存发展及分类
硬盘模拟法的闪存文件系统(2/4)
... ...
硬盘模拟法的扇区映射实例:
访问逻辑块
地址3
11
10
9
8
1
7
6
5
4
3
2
1
0
2,1,3 0,1,2 1,2,1 0,1,0 0,4,7 0,0,4 0,0,6 0,0,1
0,0,3
0,1,3 0,1,2 0,1,1 0,1,0 0,0,7 0,0,6 0,0,5 2 0,0,4 0,0,3 0,0,2 0,0,1 0,0,0
NOR闪存作为EEPROM的替代品而设计,NAND型闪存专门为 数据存储而设计。
9
NOR vs NAND闪存比较(1/3)
NOR闪存架构
NAND闪存架构
10
NOR vs NAND闪存比较(2/3)
NOR型闪存的特点:
具有独立的地址线、数据线,支持快速随机访问,容量较小; 具有芯片内执行(XIP,eXecute In Place)的功能,按照字
损耗均衡问题:闪存上的每个块都具有擦除次数的上限,被
称为擦除周期计数(erase cycle count)。
为了提高闪存寿命,并减少某些块提前损坏,闪存管理算法
设计时应尽可能减少擦除次数,并将擦除操作均布整个芯片。
位翻转问题:所有闪速存储器都受到位翻转现象的困扰,表
现为一个bit位发生翻转。当存储器用于敏感信息存储时,需 使用错误探测/更正(EDC/ECC)算法提供可靠性支持。
物理地址 (bank,block,page)
3
Spare LBA=3 ECC=...
STATUS=...
LBA
物理地址
(array,index) (bank,block,page)
用户区域 额外区域
地址转化表 (内存)
闪速存储器
21
硬盘模拟法的闪存文件系统(3/4)
硬盘模拟法的闪存文件系统实现
主要分成三个层次:
紧凑、节能等良好特性。
随着闪存容量的增加,价格的下降,越来越多的嵌入式系统
采用闪存作为存储设备,如:电子盘(U盘)、手机、PDA、 MP3、数码相机等,并且主板BIOS也已采用闪存。
2008年NAND闪存市场的终端产品出货值是2004年的三倍
多,从50亿美元激增到180亿美元。
6
闪存硬件基本原理(1/2)
嵌入式文件系统主要分类
ROM文件系统 磁盘文件系统
ROMFS
FAT16、FAT32、Ext2FS、NTFS
Flash文件系统
TrueFFS、MFFS JFFS/JFFS2、YAFFS/YAFFS2
Cramfs FAT16、FAT32、NTFS、exFAT
内存文件系统
Ramdisk
1984年闪存概念由东芝公司的Fujio Masuoka提出。 Intel公司于1988年首先开发出NOR闪存结构;日立公司于
1989年开发出NAND闪存结构。
目前主要的闪存供应商有:Intel、三星、日立、东芝等。 闪存类型主要分为:
NAND、NOR、DINOR、AND,其中NOR和NAND是两种主 要的闪存体系结构。
节为单位进行随机写; NOR型闪存适合用来存储少量的可执行代码。
NAND型闪存的特点:
地址线、数据线共用,单元尺寸比NOR型器件小,具有更高的 价格容量比,可以达到高存储密度和大容量;
读、写操作单位采用512字节的页面; NAND更适合作为高密度数据存储。
11
NOR vs NAND闪存比较(3/3)
的TrueFFS,Intel公司的MFFS等。
22
硬盘模拟法的闪存文件系统(4/4)
TrueFFS是M-system公司为支持Flash存储器专门设计的一
个Flash模拟硬盘程序包。
TrueFFS采取多种提高Flash文件系统易用性的措施:
动态和静态的损耗级别判定算法; 安全算法保证在突然断电时数据完整性; 解决位交换问题的Reed-Solomon纠错算法; 自动的坏块管理; 优化处理功能:减少擦除次数的算法、优化垃圾回收操作。 23
FAT/FRT表存储转移
FAT/FRT表入口地址更2新7
课程大纲
嵌入式文件系统概述 闪速存储器硬件特性简介 闪速存储器文件系统简介 嵌入式Linux根文件系统简介
18
闪存文件系统分类
针对闪存设备的硬件特殊性,目前闪
存文件系统主要有两种实现思路:
硬盘模拟法:将闪存设备模拟成具有 每个扇区512字节的标准块设备,在 此基础上使用成熟的磁盘文件系统进 行管理。
性能参数
NAND型
NOR型
读操作的时间
3.5MB/sec
15MB/sec
写操作的时间
0.65MB/sec
0.15MB/sec
擦除操作的时间
2ms
1sec
擦除大小
8-32KB
64-128KB
擦除次数限制
1,000,000 次
100,000 次
与NOR型器件相比,NAND型器件的写入、擦除速度较快。
NOR闪存带有SRAM接口,可以实现随机写。
文件系统比较:TrueFFS vs FAT(1/4)
FAT16文件系统简介
系统记录区(SR):存储器类型、容量、版本、数据区位置 文件分配表(FAT):存储区块占用/空闲、文件存储结构 文件登记表(FRT):文件代号、长度、属性、时间 数据区(DR):存放数据
FAT16文件系统簇大小
24
设备驱动程序层:实现对flash设 备最基本的操作。
地址转化层(FTL):设备地址 和逻辑地址的相互转化和数据对 应关系的动态处理。
文件系统管理层:将文件系统操 作转化成flash设备操作。
硬盘模拟方法通用性强,移植性好,适合商业系统,便于推
广,已有多种成熟的产品被广泛应用,包括M-system公司
同样每天写入一个8MB文件,那么:
期望寿命=(256MB×100000×0.75) / 8MB=2400000(天) (约6575年)。
TrueFFS惊人地延长了Flash器件的寿命。TrueFFS覆盖了大部分
主流Flash芯片,考虑了各种芯片的不同擦写算法,效率较低。
微软的FAT16、FAT32、NTFS虽然实现了一定程度的损耗均衡算
控制器 存储芯片 缓存:DRAM 物理接口
13
NAND闪存构成原理(2/2)
NAND闪存的存储结构设计
SLC(Single Level Cell单层单元) MLC(Multi-Level Cell多层单元):2003年 TLC(Trinary-Level Cell三层单元):2009年