资料介绍
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 空间内可以存储不同类型的数据。
FlaSh
加入交流群
扫码添加小助手
加入工程师交流群
下载该资料的人也在下载
下载该资料的人还在阅读
更多 >
- FATFS文件系统详解
- 嵌入式Linux移植3. NFS根文件系统挂载(从Ubuntu启动内核,文件系统)
- Nand Flash文件系统解决方案
- SPI FLASH LittleFS文件系统例程资料免费下载 36次下载
- SPI—外部FLASH文件系统 5次下载
- Flash文件系统剖析 4次下载
- 基于VxWorks的文件系统的研究与实现
- 一种Flash文件系统的设计和实现
- JFFS2文件系统超级块管理改进
- 基于CC CCS 的Flash 文件系统设计
- 车载MP3中Flash文件系统的设计与应用
- 嵌入式系统中的线性Flash 文件系统设计
- 车载MP3中Flash文件系统的设计与应用
- Linux文件系统课程 0次下载
- 嵌入式系统中的Flash文件系统
- MAX4298/MAX4299:适用于严苛环境的音频系统IC 1.3k次阅读
- 如何修改buildroot和debian文件系统 1.4k次阅读
- Linux高级文件系统管理详解 1.3k次阅读
- 基于完整文件系统提取和密钥链解密 1.4k次阅读
- F2FS文件系统的数据结构 5.6k次阅读
- Linux文件系统的类型及工作原理 983次阅读
- 什么是分布式文件系统 5.2k次阅读
- 【新专利介绍】集中抄表系统采集器及电表资产编号搜集管理方法 3.7k次阅读
- Xilinx Zynq制作修改根文件系统的方法 4.2k次阅读
- 文件系统是什么?浅谈EXT文件系统历史 6.2k次阅读
- 多种嵌入式文件系统介绍:基于FLASH的文件系统 1.2w次阅读
- debian安装zfs文件系统 1.2w次阅读
- 玩转Linux,先把文件系统搞懂 2.2k次阅读
- 基于zynq的Linux根文件系统生成 6.5k次阅读
- 直流稳压电源制作及管理方法详解 1.2w次阅读
下载排行
本周
- 1FS4054H 输入电压范围3.8V~6.8V 输入最大耐压28V 输入过压关闭充电阈值6.8V
- 4.22 MB | 2次下载 | 免费
- 2AC/DC 225W 开板电源 LOF225-23BxxR2系列数据手册
- 2.70 MB | 1次下载 | 1 积分
- 3晶振技术解析---电子设备的“时钟心脏”
- 1.55 MB | 1次下载 | 免费
- 4AU6830M 集成音频 DSP 的 2 × 41W 数字型 Class D 音频功率放大器数据手册
- 1.86 MB | 次下载 | 免费
- 5AU6815E 集成音频 DSP 的2×32W数字型 Class D 音频功率放大器数据手册
- 1.21 MB | 次下载 | 免费
- 6I-PEX 82652-100B-02-D_CABLINE-CA系列40P极细同轴线束SI设计图纸
- 293.34 KB | 次下载 | 免费
- 7I-PEX 82863-100B-02-D_CABLINE-CA系列PCIe/USB4极细同轴线图纸
- 301.83 KB | 次下载 | 免费
- 8YA-002S屏幕挂灯说明书
- 1.25 MB | 次下载 | 免费
本月
- 1人形机器人执行、感知系统技术及市场解析
- 3.52 MB | 5次下载 | 免费
- 2WD431产品规格书
- 1.32 MB | 3次下载 | 免费
- 3A-29回音消除模块
- 1.28 MB | 2次下载 | 免费
- 4 双麦阵列回音消除及降噪模块 A-47 说明书
- 1.96 MB | 2次下载 | 免费
- 5FS4054H 输入电压范围3.8V~6.8V 输入最大耐压28V 输入过压关闭充电阈值6.8V
- 4.22 MB | 2次下载 | 免费
- 6A-68语音处理模组规格书V1
- 1.47 MB | 1次下载 | 免费
- 7A-29P回音消除模块
- 1.42 MB | 1次下载 | 免费
- 8瑞芯微RK3562开发板资料-飞凌嵌入式
- 2.80 MB | 1次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935137次下载 | 10 积分
- 2开源硬件-PMP21529.1-4 开关降压/升压双向直流/直流转换器 PCB layout 设计
- 1.48MB | 420064次下载 | 10 积分
- 3Altium DXP2002下载入口
- 未知 | 233095次下载 | 10 积分
- 4电路仿真软件multisim 10.0免费下载
- 340992 | 191469次下载 | 10 积分
- 5十天学会AVR单片机与C语言视频教程 下载
- 158M | 183361次下载 | 10 积分
- 6labview8.5下载
- 未知 | 81608次下载 | 10 积分
- 7Keil工具MDK-Arm免费下载
- 0.02 MB | 73836次下载 | 10 积分
- 8LabVIEW 8.6下载
- 未知 | 65991次下载 | 10 积分
电子发烧友App





创作
发文章
发帖
提问
发资料
发视频
上传资料赚积分
评论