资料介绍
1 引言
嵌入式系统中通常都需要存放一些非易失性数据, 并且数据量的大小和数据类型根据不同系统需求差异很大。因此选取合适的存储器是完成数据存储系统的第一步, 更重要的是使存储系统长期稳定、高效的工作, 这就必须寻求一个完备的存储器数据管理方法[ 1] 。本文介绍了一种适用于无文件系统环境下的N OR Flash 管理方法, 采用分块管理和状态转换的方法使得Flash 的使用效率和操作可靠性得到大大提高。
2 NOR Flash 存储器及其特性
NOR Flash 和NAND Flash 是目前市场上两种主要的Flash 存储器。一般在非海量存储型的嵌入式设备中都是直接采用NOR Flash 作为程序代码和非易失性数据的存储器, 这主要是由NORFlash 的特点所决定的。NOR Flash 的特点如下:
1) 存储容量较小, 一般在1~ 16MByte 之间。
2) 具有和SRAM 相同的接口, 随机读取速度快, 可以做到芯片内执行( XIP) [ 2] 。
3) 存储单元只能由1 写成0, 因此进行写操作前必须先进行擦除操作, 使对应的单元变成1。
4) 器件有一定的使用寿命, 一般为10~ 100 万次。随着使用次数的增加, 可能有的单元会失效。但是NOR Flash 出厂时器件的每个单元都有效。NOR Flash 的众多特性使得它成为嵌入式系统设计中首选的存储器器件。由于NOR Flash 的擦除操作都是以块为单位的, 并且不同种类的NOR Flash 器件所支持的擦除单位可能不一样, 但是每种NOR Flash 器件都支持64KB 为单位的擦除[ 3~ 4] , 因此后面介绍的分块管理方法将以64KB为块基本单位, 从而解决分块管理方法在不同种类NOR Flash 器件上实现时所出现的数据备份问题。
3 NOR Flash 分块管理方法
为了均衡每个Flash 分块的使用次数, 提高整个存储器件的使用寿命, 对Flash 采用分块管理的方法[ 5] 。以64KB 为单位, 将系统分配用作非易失性数据区域进行分块操作, 其中每个分块又分成16 字节的头部信息与数据区域。分块示意图如图1 所示。
图1 分块示意图
正是利用分块的头部信息, 进行擦除次数均衡与分块状态的切换。对于头部几个主要字段的定义如下:
1) Block_Flag ( 8bit) : 用于标志分块的状态, 总共有BF _NOT _ INIT ( 0xFF) 、BF _FREE ( 0xFE)、BF_COPYING_ DATA ( 0xFC )、BF _ COPY _ FINISHED(0xF8) 、BF_INUSE( 0xF0) 、BF_SRC_DATA ( 0xE0) 、BF_ERASING( 0xC0)、BF_INVALID(0x00) 8 种状态。
2) Blo ck _ Data _ T ype ( 8bit ) 和Blo ck _ Data _Ty pe_Ext ( 8bit ) : 分别表示该分块存储的数据类型和子类型, 这两个字段都由应用程序所存储的数据类型决定。例如学生信息的存储, 可能的一种存储方法是一个分块存储学生的学号信息, 而其它几个分块存储学生的具体信息, 这时它们的数据类型一样, 但是子类型却不一样。
3) Block_Erase_Counter( 32bit ) : 该字段用来动态记录每个分块的擦除次数, 从而方便应用程序对Flash 分块的使用次数进行均衡。
4) Next_Off set ( 16bit ) : 该字段为将来扩展之用, 用来将64K 的分块空间进一步细化, 使得将来1 个64K 空间内可以存储不同类型的数据。
嵌入式系统中通常都需要存放一些非易失性数据, 并且数据量的大小和数据类型根据不同系统需求差异很大。因此选取合适的存储器是完成数据存储系统的第一步, 更重要的是使存储系统长期稳定、高效的工作, 这就必须寻求一个完备的存储器数据管理方法[ 1] 。本文介绍了一种适用于无文件系统环境下的N OR Flash 管理方法, 采用分块管理和状态转换的方法使得Flash 的使用效率和操作可靠性得到大大提高。
2 NOR Flash 存储器及其特性
NOR Flash 和NAND Flash 是目前市场上两种主要的Flash 存储器。一般在非海量存储型的嵌入式设备中都是直接采用NOR Flash 作为程序代码和非易失性数据的存储器, 这主要是由NORFlash 的特点所决定的。NOR Flash 的特点如下:
1) 存储容量较小, 一般在1~ 16MByte 之间。
2) 具有和SRAM 相同的接口, 随机读取速度快, 可以做到芯片内执行( XIP) [ 2] 。
3) 存储单元只能由1 写成0, 因此进行写操作前必须先进行擦除操作, 使对应的单元变成1。
4) 器件有一定的使用寿命, 一般为10~ 100 万次。随着使用次数的增加, 可能有的单元会失效。但是NOR Flash 出厂时器件的每个单元都有效。NOR Flash 的众多特性使得它成为嵌入式系统设计中首选的存储器器件。由于NOR Flash 的擦除操作都是以块为单位的, 并且不同种类的NOR Flash 器件所支持的擦除单位可能不一样, 但是每种NOR Flash 器件都支持64KB 为单位的擦除[ 3~ 4] , 因此后面介绍的分块管理方法将以64KB为块基本单位, 从而解决分块管理方法在不同种类NOR Flash 器件上实现时所出现的数据备份问题。
3 NOR Flash 分块管理方法
为了均衡每个Flash 分块的使用次数, 提高整个存储器件的使用寿命, 对Flash 采用分块管理的方法[ 5] 。以64KB 为单位, 将系统分配用作非易失性数据区域进行分块操作, 其中每个分块又分成16 字节的头部信息与数据区域。分块示意图如图1 所示。
图1 分块示意图
正是利用分块的头部信息, 进行擦除次数均衡与分块状态的切换。对于头部几个主要字段的定义如下:
1) Block_Flag ( 8bit) : 用于标志分块的状态, 总共有BF _NOT _ INIT ( 0xFF) 、BF _FREE ( 0xFE)、BF_COPYING_ DATA ( 0xFC )、BF _ COPY _ FINISHED(0xF8) 、BF_INUSE( 0xF0) 、BF_SRC_DATA ( 0xE0) 、BF_ERASING( 0xC0)、BF_INVALID(0x00) 8 种状态。
2) Blo ck _ Data _ T ype ( 8bit ) 和Blo ck _ Data _Ty pe_Ext ( 8bit ) : 分别表示该分块存储的数据类型和子类型, 这两个字段都由应用程序所存储的数据类型决定。例如学生信息的存储, 可能的一种存储方法是一个分块存储学生的学号信息, 而其它几个分块存储学生的具体信息, 这时它们的数据类型一样, 但是子类型却不一样。
3) Block_Erase_Counter( 32bit ) : 该字段用来动态记录每个分块的擦除次数, 从而方便应用程序对Flash 分块的使用次数进行均衡。
4) Next_Off set ( 16bit ) : 该字段为将来扩展之用, 用来将64K 的分块空间进一步细化, 使得将来1 个64K 空间内可以存储不同类型的数据。
下载该资料的人也在下载
下载该资料的人还在阅读
更多 >
- FATFS文件系统详解
- Nand Flash文件系统解决方案
- 适用于恶劣环境的产品
- SPI FLASH LittleFS文件系统例程资料免费下载 35次下载
- SPI—外部FLASH文件系统 5次下载
- Flash文件系统剖析 4次下载
- 基于VxWorks的文件系统的研究与实现
- 一种Flash文件系统的设计和实现
- JFFS2文件系统超级块管理改进
- 基于CC CCS 的Flash 文件系统设计
- 车载MP3中Flash文件系统的设计与应用
- 嵌入式系统中的线性Flash 文件系统设计
- 车载MP3中Flash文件系统的设计与应用
- Linux文件系统课程 0次下载
- 嵌入式系统中的Flash文件系统
- 如何修改buildroot和debian文件系统 254次阅读
- Linux高级文件系统管理详解 207次阅读
- 基于完整文件系统提取和密钥链解密 871次阅读
- F2FS文件系统的数据结构 3728次阅读
- Linux文件系统的类型及工作原理 564次阅读
- 什么是分布式文件系统 3990次阅读
- 【新专利介绍】集中抄表系统采集器及电表资产编号搜集管理方法 3254次阅读
- Xilinx Zynq制作修改根文件系统的方法 3436次阅读
- 文件系统是什么?浅谈EXT文件系统历史 5548次阅读
- 多种嵌入式文件系统介绍:基于FLASH的文件系统 1.1w次阅读
- VDK与嵌入式文件系统的投入使用 1846次阅读
- debian安装zfs文件系统 1w次阅读
- 玩转Linux,先把文件系统搞懂 2009次阅读
- 基于zynq的Linux根文件系统生成 5578次阅读
- 直流稳压电源制作及管理方法详解 1.1w次阅读
下载排行
本周
- 1TC358743XBG评估板参考手册
- 1.36 MB | 330次下载 | 免费
- 2开关电源基础知识
- 5.73 MB | 6次下载 | 免费
- 3100W短波放大电路图
- 0.05 MB | 4次下载 | 3 积分
- 4嵌入式linux-聊天程序设计
- 0.60 MB | 3次下载 | 免费
- 5基于FPGA的光纤通信系统的设计与实现
- 0.61 MB | 2次下载 | 免费
- 6基于FPGA的C8051F单片机开发板设计
- 0.70 MB | 2次下载 | 免费
- 751单片机窗帘控制器仿真程序
- 1.93 MB | 2次下载 | 免费
- 8基于51单片机的RGB调色灯程序仿真
- 0.86 MB | 2次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 2555集成电路应用800例(新编版)
- 0.00 MB | 33564次下载 | 免费
- 3接口电路图大全
- 未知 | 30323次下载 | 免费
- 4开关电源设计实例指南
- 未知 | 21548次下载 | 免费
- 5电气工程师手册免费下载(新编第二版pdf电子书)
- 0.00 MB | 15349次下载 | 免费
- 6数字电路基础pdf(下载)
- 未知 | 13750次下载 | 免费
- 7电子制作实例集锦 下载
- 未知 | 8113次下载 | 免费
- 8《LED驱动电路设计》 温德尔著
- 0.00 MB | 6653次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935054次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537796次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420026次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233046次下载 | 免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 | 191185次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183278次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138040次下载 | 免费
评论
查看更多