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

2023-12-05

【车载开发系列】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。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【车载开发系列】FlashMemory基本概念 的相关文章

  • 软件工程复习10:软件设计与实现

    作者 非妃是公主 专栏 软件工程 个性签 顺境不惰 逆境不馁 以心制境 万事可成 曾国藩 专栏地址 软件工程专栏地址 专栏系列文章 软件工程复习01 软件工程概述 软件工程复习02 个人技术 软件工程复习03 个人软件流程 软件工程复习04
  • 使命、愿景、价值观到底有什么区别

    以前的企业都是在发展到一定成熟阶段 才开始考虑这三个问题 但今天人们越来越多的意识到 哪怕在企业发展的初期 对于创业企业来说 确定公司的使命 愿景和核心价值观也是非常重要的 明确的使命 愿景和核心价值观对于企业的好处在于 形成统一共识目标方
  • 程序的链接

    程序的链接是一个非常实际的问题 他建立在很实际的问题之上 不从程序员的角度去思考问题 则是从软件的角度去思考如何复用错综复杂的代码 因为 这个问题的本质是我们没有给底层的硬件一个完整的可按顺序执行的程序 我们在前几章虽然讨论了指令流的问题
  • 系统架构设计师之软件架构风格

    系统架构设计师之软件架构风格
  • 软件工程——软件实现

    在我们做好对软件的需求分析 设计之后 就是软件的实施部分了 主要包括软件实现 软件测试 测试方法 黑盒测试 主要是检查功能 数据 以及接口的问题 具体方法有等价划分 边界值分析 错误推断法 白盒测试 对程序所有逻辑路径进行测试 测试方法按覆
  • 推荐111个软件工程本科的计算机毕业设计,有手就会

    对于即将挑战计算机专业毕业设计的学子们 是否已经为选题和项目感到焦虑 今天 我们为即将毕业的学生提供了大量的毕业设计项目 期望对于正在为毕业设计挠头的同学们有所助益 一 成品列表 以下所有springboot框架项目的源码博主已经打包好上传
  • 系统架构设计师-计算机网络

    目录 一 计算机网络技术概述 1 网络概述 2 网络有关指标 3 网络分类 4 5G技术 二 组网技术 1 交换技术 2 基本交换原理 三 TCP IP协议簇 1 DHCP 2 DNS 四 网络规划与设计 一 计算机网络技术概述 1 网络概
  • 个人技术总结——uview-plus下的Http请求基本使用及相关使用

    这个作业属于哪个课程 软件工程 23年春季学期 这个作业要求在哪里 软件工程实践总结 个人技术总结 这个作业的目标 个人技术总结 其他参考文献 构建之法 CSDN社区 uni app官方文档 uview plus官方文档 目录 一 写在前面
  • 软考:中级软件设计师:程序语言基础:表达式,标准分类,法律法规,程序语言特点,函数传值传址

    软考 中级软件设计师 程序语言基础 表达式 提示 系列被面试官问的问题 我自己当时不会 所以下来自己复盘一下 认真学习和总结 以应对未来更多的可能性 关于互联网大厂的笔试面试 都是需要细心准备的 1 自己的科研经历 科研内容 学习的相关领域
  • Go 语言注释教程

    注释是在执行时被忽略的文本 注释可用于解释代码 使其更易读 注释还可用于在测试替代代码时防止代码执行 Go支持单行或多行注释 Go单行注释 单行注释以两个正斜杠 开头 在 和行尾之间的任何文本都将被编译器忽略 不会被执行 示例 This i
  • CMake 教程:常用命令及其使用方法

    CMake是一个跨平台 开源的构建工具 它可以自动生成Makefile或者Visual Studio等IDE的工程文件 它能够帮助开发者更方便地管理项目的构建过程 提高项目构建的效率 在本文中 我们将介绍CMake常用的命令以及对应的用法
  • Python 简介和用途

    什么是Python Python是一种流行的编程语言 由Guido van Rossum创建 并于1991年发布 它用于以下领域 网页开发 服务器端 软件开发 数学 系统脚本编写 Python能做什么 Python可用于在服务器上创建Web
  • 软件工程期末复习+数据仓库ETL

    一 软件工程 请用基本路径测试方法为下列程序设计测试用例 并写明中间过程 第1步 画出流程图 1 菱形用于条件判断 用在有分支的地方 2 矩形表示一个基本操作 3 圆形是连接点 第2步 计算程序环路复杂性 流图G的环路复杂度V G 定义为
  • thinkphp+vue教学互动课程资源网站

    软件工程课程建设通篇文章的撰写基础是实际的应用需要 然后在架构系统之前全面复习大学所修习的相关知识以及网络提供的技术应用教程 以软件工程课程建设的实际应用需要出发 架构系统来改善现软件工程课程建设工作流程繁琐等问题 不仅如此以操作者的角度来
  • git 的碎步浪荡,添加仓库子项目,迁移仓库

    1 git仓库迁移 将他人的代码仓库 xxxx 移为自己的 yyyy 仓库 先创建自己的yyyy空仓库 假设url为 yyyy git 将 xxxx 的全部数据 包括分支和 tag 都 download 到本地 git clone recu
  • 【EI会议征稿】第四届计算机网络安全与软件工程国际学术会议(CNSSE 2024)

    第四届计算机网络安全与软件工程国际学术会议 CNSSE 2024 2024 4th International Conference on Computer Network Security and Software Engineering
  • 【软件测试】学习笔记-脚本与数据的解耦 + Page Object模型

    本篇文章介绍GUI测试中两个非常重要的概念 测试脚本和数据的解耦 以及页面对象 Page Object 模型 测试脚本和数据的解耦 GUI自动化测试适用的场景 尤其适用于需要回归测试页面功能的场景 如果在测试脚本中硬编码 hardcode
  • C++ 中 const 和 constexpr 关键字解析:常量、函数和指针

    很多 C 的初学者看到 const 这个关键字的第一反应都是一头雾水 主要是因为 const 可 以出现在很多的位置 以及后面加入的 constexpr 更是常常感到困惑 今天就为大家一一解释出现它们的含义和以及作用 const 关键字 c
  • Python 中多态性的示例和类的继承多态性

    单词 多态 意味着 多种形式 在编程中 它指的是具有相同名称的方法 函数 操作符 可以在许多不同的对象或类上执行 函数多态性 一个示例是 Python 中的 len 函数 它可以用于不同的对象 字符串 对于字符串 len 返回字符的数量 示
  • 如何设计一个高并发系统?

    所谓高并发系统 是指能同时处理大量并发请求 并及时响应 从而保证系统的高性能和高可用 那么我们在设计一个高并发系统时 应该考虑哪些方面呢 1 搭建集群 如果你只部署一个应用 只部署一台服务器 那抗住的流量请求是非常有限的 并且 单体的应用

随机推荐