传统的FLASH分为Nor falsh和Nand flash。
(1)Nor flash
Nor flash存储以块为单元,写入时必须先擦除,并且擦除和写入的速度都很慢。但nor fash具有SRAM接口,有单独的地址总线和数据总线,接口简单,就像是访问ROM一样,读取速度快,能随机访问存储单元。正是这些特性,所以nor falsh被广泛用来存储启动代码。Nor falsh的价格较贵,市面上一般1~16M的小容量的FLASH居多。
例如SST39VF6401B(支持JEDEC标准),它的大小是8MB,共128个块,块大小是64KB,具有SRAM接口:
读写速度:读70~90ns,擦除块典型值是18ms。
在mtd源代码中,nor falsh的驱动代码在drivers\mtd\maps目录下。
目前,Nor flash有两种标准JEDEC和CFI。
JEDEC:全称是Joint Electron Device Engineering Council 即电子元件工业联合会。JEDEC是由生产厂商们制定的国际性协议,主要为内存制定。JEDEC用来帮助程序读取Flash的制造商ID和设备ID,以确定Flash的大小和算法,如果芯片不支持CFI,就需使用JEDEC了。工业标准的内存通常指的是符合JEDEC标准的一组内存。
CFI:即公共闪存接口(Common Flash Interface)。CFI是一个公开的标准的从Flash Memory器件中读取数据的接口。它可以使系统软件查询已安装的Flash Memory器件的各种参数,包括器件阵列结构参数、电气和时间参数以及器件支持的功能等。CFI标准的应用解决了各个FLASH厂商操作命令集和电气参数千差万别的难题,目前市面上的Nor flash大多支持CFI校准。
CFI标准规定先往FLASH数据总线写入55H,再写入98H,然后从地址10H处读取3个数据,如果这3个数据是’Q’、‘R’、‘Y’,那么遵循CFI标准。在其它地址,保存了FLASH的其它信息,如生产厂商ID,设备ID,FLASH总线宽度,BLOCK总数据,BLOCK大小等所有FLASH有关的信息。cfi.h中的cfi_ident即是查询的数据结构:

[cpp] view plain copy* Basic Query Structure */  struct cfi_ident {  uint8_t  qry[3];//’Q‘,'R','Y'  uint16_t P_ID;  uint16_t P_ADR;  uint16_t A_ID;  uint16_t A_ADR;  uint8_t  VccMin;  uint8_t  VccMax;  uint8_t  VppMin;  uint8_t  VppMax;  uint8_t  WordWriteTimeoutTyp;  uint8_t  BufWriteTimeoutTyp;  uint8_t  BlockEraseTimeoutTyp;  uint8_t  ChipEraseTimeoutTyp;  uint8_t  WordWriteTimeoutMax;  uint8_t  BufWriteTimeoutMax;  uint8_t  BlockEraseTimeoutMax;  uint8_t  ChipEraseTimeoutMax;  uint8_t  DevSize;  uint16_t InterfaceDesc;  uint16_t MaxBufWriteSize;  uint8_t  NumEraseRegions;  uint32_t EraseRegionInfo[0]; /* Not host ordered */  } __attribute__((packed));  

(2)Nand flash
和Norflash一样,Nand flash存储以块为单元,写入时必须先擦除。nand flash擦除和写要比nor flash快,但读取速度比它慢。Nand flash采用复杂的IO口来串行地访问数据,读和写的最小单元都是一个页,所以CPU不能像nor flash一样直接运行FLASH上的代码。Nor falsh的优势是价格便宜,市面上一般以大容量为主,容量大小一般为8M~几个GB。Nand flash一般用来存储数据,如用来做文件系统存储空间。
Nand falsh的一个页的数据分为数据区域和额外数据区(称为OOB),例如一个页包含2KB的数据区和64B的OOB。OOB数据区一般用来存储特定的数据,如数据校验、坏块标识等。
Nand flash在擦写的过程中可能形成坏块,如果检测到坏块,一般在OOB数据区标识它。而实际上,Nand flash从工厂生产出来就可能存在坏块,有关坏块标识的细节可以相应的FLASH手册上找到说明。
举例:三星的K9K8G08U0B
它的大小是1GB,共8192个块,块大小是2KB,OOB大小是64B。它的接口是8位的串行数据
读取一个页的时间是25us。擦除一个块的时间典型值是1.5ms。在mtd源代码中,nor falsh的驱动代码在drivers\mtd\nand目录下。
OneNand Flash
随着过去几十年的Nand技术的发展,一些公司,基于原先的NAND的架构,设计出一种理想的单存储芯片,其集成了SRAM的缓存和逻辑接口,它就是OneNand Flash。OneNand既实现NOR Flash的高速读取速度,又保留了Nand Flash的大容量数据存储的优点。由于笔者在实际项目中还没有用到一款onenand,所以不做举例,读者可以到GOOGLE搜索到onenand的信息。

FLASH的基础知识相关推荐

  1. flash的计算机知识,了解flash动画基础知识 -电脑资料

    Flash 从最早的版本开始,就支持补间动画,只需要创建两个不同的关键帧,然后让 Flash 自动创建补间动画即可, 什么是动画? "动画"一词,引用美国传统词典中的解释 使有生命 ...

  2. Nand flash的基础知识

    文章目录 什么是Nand Flash? Nand Flash生产过程 Nand Flash的物理结构 Flash的基本特性 Flash的种类 Nand Flash的特殊硬件结构 ECC 闪存内部原理 ...

  3. 初中计算机使用在线,初中信息技术考试模拟试题(flash+网站基础知识)

    教学设计.复习 1 flash&网站 总分60分 考试时间30分钟 题号 一 二 总分 分数 得分 评卷人 一.单项选择题(共20题,计20分) 第1题(1分): 制作个人网站时为了使网页界面 ...

  4. 【STM32H7教程】第70章 STM32H7的内部Flash基础知识和HAL库API

    完整教程下载地址:http://www.armbbs.cn/forum.php?mod=viewthread&tid=86980 第70章       STM32H7的内部Flash基础知识和 ...

  5. FLASH软件测试培训,Flash基础知识测试题(最新整理)

    <Flash基础知识测试题(最新整理)>由会员分享,可在线阅读,更多相关<Flash基础知识测试题(最新整理)(3页珍藏版)>请在人人文库网上搜索. 1.一.选择题:Flash ...

  6. 初中计算机flash操作,初中信息技术FLASH基础知识

    <初中信息技术FLASH基础知识>由会员分享,可在线阅读,更多相关<初中信息技术FLASH基础知识(26页珍藏版)>请在人人文库网上搜索. 1.FLASH 第一课,一.Flas ...

  7. Nand Flash基础知识与坏块管理机制的研究

    概述 Flash名称的由来,Flash的擦除操作是以block块为单位的,与此相对应的是其他很多存储设备,是以bit位为最小读取/写入的单位,Flash是一次性地擦除整个块:在发送一个擦除命令后,一次 ...

  8. linux挂载fc存储有超级坏块_Nand Flash基础知识与坏块管理机制的研究

    欢迎FPGA工程师加入官方微信技术群 点击蓝字关注我们FPGA之家-中国最好最大的FPGA纯工程师社群 概述 Flash名称的由来,Flash的擦除操作是以block块为单位的,与此相对应的是其他很多 ...

  9. flash的计算机知识,初中信息技术FLASH基础知识.ppt

    初中信息技术FLASH基础知识.ppt FLASH 第一课 一.Flash简介: Flash是一个优秀的矢量动画软件,它既是二维动画的制作软件,也是多媒体创作的有利工具,特别是涉及使用动画的网络课件中 ...

最新文章

  1. BYOD安全保护的“原生态”方法
  2. 带你深入AI(4)- 目标检测领域:R-CNN,faster R-CNN,yolo,SSD, yoloV2
  3. 数控程序中r及q代表什么_邹军:如何利用数学公式编写cnc程序?
  4. 单片机数据在网页上显示_不务正业的Excel也玩地图,在地图上显示数据,好玩又简单...
  5. Python Django 自定义Manager重写objects.create()方法代码示例
  6. 经典面试题:链表的相交与环问题
  7. 192.168.8.1手机登陆_高端机型都在鼓吹的ufs3.1是什么?对于手机使感受明显吗?...
  8. ExtJs2.0学习系列(8)--Ext.FormPanel之第五式(综合篇)
  9. 设备上专用计算机管理办法,计算机设备管理办法
  10. 智能传感器产业三年行动指南
  11. 高通又不务正业做WiFi了?那你可能想错了
  12. [linux] ab压测工具进行post压力测试
  13. RPA - 前置机虚拟化U盾识别方案
  14. 我眼中的光明·第八周·豫卦上六·三
  15. python帝国cms_帝国CMS教程
  16. 洛谷-P3975 弦论(后缀自动机板子题)
  17. 第七届区块链全球峰会 | 谢晗剑:区块链的抽象与演进
  18. 基于微信小程序做直播的截图(微信小程序发起视频直播)
  19. 商业综合体能耗在线监测管理系统_商场管理平台
  20. hacker入门专业术语

热门文章

  1. Matlab中连续信号与离散信号的绘制
  2. 一阶逻辑等值演算与推理
  3. 上海交大计算机科学技术导师介绍,上海交通大学
  4. PYNQ例程一:1.3 PYNQ Overlays
  5. 3D立体游戏的起源和目前的发展
  6. CTO语录:真正技术高手是如何炼成的?
  7. 计算机主板的定义,计算机主板前面板接口定义
  8. 【雷达原理】雷达功能及原理概述
  9. iOS开发·紫色感叹号
  10. CSS实现图片自适应缩放,填满容器