当前位置: 首页 > article >正文

【车载开发系列】FlashMemory基本概念

【车载开发系列】FlashMemory基本概念

【车载开发系列】FlashMemory基本概念

  • 【车载开发系列】FlashMemory基本概念
    • 一. FlashMemory的特征
    • 二. 常见的FlashMemory
      • 1)NOR FlashMemory
      • 2)NAND FlashMemory
      • 3)区别与比较
    • 三. FlashMemory另一种分类
      • 1)CodeFlash
      • 2)DataFlash
      • 3)两者区别
      • 4)两者联系

一. FlashMemory的特征

闪存,闪速存储器(Flash Memory)
是一种电可擦非易失性半导体存储器。由于采用的是非挥发性存储技术,闪速存储器在不加电状态下可以安全保存数据达十年以上。闪速存储器具有E2PROM那样的单管结构,制造成本低、体积小,且其存取时间仅为30ns,比E2PROM快得多。闪速存储器还兼有ROM和RAM两者的性能及高密度,因而是目前为数不多的既具备大容量、高速度,又具有非易失性、可在线擦写特性的存储器,闪速存储器市场发展十分迅速,其规模接近DRAM市场的1/4,与DRAM和SRAM一起成为存储器市场的三大产品。

二. 常见的FlashMemory

一种是传统的NOR闪存,其芯片内储存的数据可以直接读取,因而速度比较快,但是价格较高
另外一种是NAND闪存,这种闪存也称为固态硬盘,它内部数据以块为单位进行存储,地址线和数据线共用,使用控制信号选择。各种存储设备如优盘,主板BIOS芯片、MP3, Smart Media卡、Disk On Chip (DOC), PCMCIA卡等都是使用上面的两种芯片作为存储介质。

1)NOR FlashMemory

Intel是世界上第一个生产闪存并将其投放市场的公司。1988年,公司推出了一款256K bit闪存芯片。它如同鞋盒一样大小,并被内嵌于一个录音机里。后来,Intel发明的这类闪存被统称为NOR闪存。它结合EPROM(可擦除可编程只读存储器)和EEPROM(电可擦除可编程只读存储器)两项技术,并拥有一个SRAM接口。

2)NAND FlashMemory

第二种闪存称为NAND闪存。它由日立公司于1989年研制,并被认为是NOR闪存的理想替代者。NAND闪存的写周期比NOR闪存短90%,它的保存与删除处理的速度也相对较快。NAND的存储单元只有NOR的一半,在更小的存储空间中NAND获得了更好的性能。鉴于NAND出色的表现,它常常被应用于诸如CompactFlash、SmartMedia、 SD、 MMC、 xD、 and PC cards、USB sticks等存储卡上。

3)区别与比较

NOR和NAND的差别主要体现在操作方式和存储时间上有不同。
NOR和NAND是市场上两种主要的非易失闪存技术,当选择存储解决方案时,设计师必须权衡以下的各项因素:
NOR的读速度比NAND稍快一些。
NAND的写入速度比NOR快很多。
NAND的4ms擦除速度远比NOR的5ms快。
大多数写入操作需要先进行擦除操作。
NAND的擦除单元更小,相应的擦除电路更少。

三. FlashMemory另一种分类

flash可以分类分为codeflash和dataflash。 code flash主要用来存储程序,data flash主要用来存储参数。由于直接访问data flash的数据会影响程序运行的速度,所以在单片机初始化时需要将data flash中的数据拷贝到ram中,然后再访问数据。

1)CodeFlash

程序在这个flash运行时,几乎没有延时, 运行速度以时钟设置为准。
对Code Flash进行读写操作时候,特别要注意写的地址,因为如果写的不对,会覆盖到代码区,造成运行错误,同时对于擦除,是一块的数据都会直接擦除掉。

2)DataFlash

程序在这段flash运行时,每条语句都有延时, 最后的速度可能是以10M为时钟(举例) 这时候, 如果有与时序相关的语句在此执行(IIC等), 很有可能会出问题。
对Data Flash进行读写操作时候,特别要注意要等待Data Flash写完才能进行后续读写操作。

3)两者区别

Code Area代表这部分代码零等待,Data Area则不是零等待,这与整个Flash的大小有关
CodeFlash不常用,可擦写次数不一样,存储方式,命令不一样。

4)两者联系

两者操作方式基本一样,也都支持ECC,CodeFlash用来存放代码,DataFlash用做模拟EEPROM。另外就是DataFlash没有Shadow Sector和Boot Sector。


http://www.kler.cn/news/155260.html

相关文章:

  • 使用Redis和opcache为网站加速教程
  • Filament引擎分析--command抽象设备API
  • 深入理解网络非阻塞 I/O:NIO
  • zabbix_sender——向zabbix交互的sdk
  • Pandas在Excel同一个sheet里插入多个Dataframe和行
  • Leetcode.330 按要求补齐数组
  • ★543. 二叉树的直径
  • 架构图是什么,怎么做?
  • 第六十四周周报
  • c语言-结构体
  • 慢 SQL 分析及优化
  • 项目开发维护技术文档(梳理总结中)
  • Docker + Jenkins + Nginx实现前端自动化部署
  • 大型语言模型在实体关系提取中的应用探索
  • Unity中Shader需要用到的C#脚本学习路线(个人自学路线)
  • 大小堆的实现(C语言)
  • 第九节HarmonyOS 常用基础组件2-Image
  • 基于eBPF检测非法调试行为
  • 软件工程期末复习(1)
  • 基于搜索协议实现工业设备升级
  • PyLMKit(3):基于角色扮演的应用案例
  • c语言-联合体和枚举
  • Pandas时序数据分析实践—基础(1)
  • 【数据结构/C++】树和二叉树_二叉链表
  • 工业物联网数据传输方式探究
  • 【Spring Boot 源码学习】ApplicationContextInitializer 详解
  • 超大规模集成电路设计----基本概念(二)
  • [论文笔记] tiktoken中的gpt4 tokenizer
  • Linux系列-1 Linux启动流程——init与systemd进程
  • 申请Azure学生订阅——人工验证