ROM(只读存储器) 、SRAM(静态随机存储器) 和 Flash(闪存) 的详细解析

devtools/2025/3/31 22:42:53/

在嵌入式系统和其他计算机系统中,存储器是不可或缺的组成部分。不同类型的存储器各有其特点和应用场景。以下是 ROM(只读存储器)SRAM(静态随机存储器)Flash(闪存) 的详细解析。


1. ROM(只读存储器)

定义

ROM 是一种非易失性存储器,数据在断电后仍然保留,主要用于存储固化的程序代码或常量数据。

主要特点
  • 非易失性:即使断电,数据也不会丢失。
  • 只读特性:传统 ROM 中的数据在出厂时写入,无法修改。
  • 低功耗:通常不需要额外电源维持数据。
分类
  1. Mask ROM

    • 特点:数据在制造过程中写入,不可更改。
    • 应用:大规模生产的设备(如早期的游戏卡带)。
  2. EPROM(可擦除可编程 ROM)

    • 特点:通过紫外线照射可以擦除数据,重新编程。
    • 应用:开发阶段使用,但逐渐被淘汰。
  3. EEPROM(电可擦除可编程 ROM)

    • 特点:通过电信号擦除和重写数据,支持逐字节操作。
    • 应用:小型数据存储(如配置参数)。
  4. Flash Memory(闪存)

    • 特点:基于 EEPROM 技术,支持块级擦除和重写,容量大且速度快。
    • 应用:现代嵌入式系统的程序存储(如STM32的内部Flash)。
应用场景
  • 存储固件(如BIOS、嵌入式系统中的引导程序)。
  • 存储常量数据(如查找表、预定义配置)。

2. SRAM(静态随机存储器)

定义

SRAM 是一种易失性存储器,用于临时存储运行时数据。它通过双稳态电路(触发器)保存数据,只要供电,数据就不会丢失。

主要特点
  • 高速度:访问延迟低,适合用作缓存或运行时数据存储。
  • 易失性:断电后数据丢失。
  • 高成本:相比 DRAM,单位存储成本更高。
  • 低功耗:在静态状态下功耗较低。
工作原理
  • 每个存储单元由6个晶体管组成(6T结构),形成一个双稳态电路。
  • 数据存储在触发器中,无需刷新。
应用场景
  • 处理器缓存
    • L1/L2 缓存:CPU 内部的高速缓存。
    • 嵌入式系统中的小容量 RAM。
  • 实时数据存储
    • 用于需要快速访问的临时变量或堆栈。
  • 小型嵌入式系统
    • 例如某些低功耗MCU的内部RAM。
优缺点
  • 优点
    • 访问速度快。
    • 不需要刷新电路,设计简单。
  • 缺点
    • 单位存储成本高。
    • 容量有限,不适合大规模数据存储。

3. Flash(闪存)

定义

Flash 是一种非易失性存储器,结合了 ROM 和 RAM 的优点,既可以长期保存数据,又支持多次擦写。

主要特点
  • 非易失性:断电后数据保留。
  • 可擦写:支持块级擦除和重写。
  • 高密度:单位存储成本低于 SRAM 和 EEPROM。
  • 有限寿命:每个存储单元的擦写次数有限(通常为10万到100万次)。
分类
  1. NOR Flash

    • 特点
      • 支持随机访问,读取速度快。
      • 适合存储代码(如嵌入式系统的固件)。
    • 应用
      • 嵌入式系统的程序存储。
      • BIOS 存储。
  2. NAND Flash

    • 特点
      • 以块为单位进行操作,写入和擦除速度快。
      • 存储密度高,成本低。
    • 应用
      • 大容量存储设备(如SSD、SD卡、eMMC)。
      • 文件系统存储。
工作原理
  • 浮栅晶体管:通过控制浮栅上的电荷状态来存储数据。
  • 擦除操作:以块为单位清除数据。
  • 写入操作:以页为单位写入数据。
应用场景
  • 嵌入式系统
    • 存储程序代码和常量数据。
    • 配置参数存储。
  • 消费电子
    • SD卡、USB闪存盘、智能手机存储。
  • 工业与汽车
    • 数据记录仪、车载系统。
优缺点
  • 优点
    • 非易失性,适合长期存储。
    • 支持多次擦写,灵活性高。
    • 成本低,适合大容量存储。
  • 缺点
    • 擦写次数有限。
    • 写入速度较慢(相比 SRAM)。

对比总结

特性ROMSRAMFlash
非易失性
读取速度中等
写入速度不可写(部分类型可写)慢(需擦除后再写入)
擦写次数有限/无限无限有限(10万~100万次)
单位成本中等
典型容量小(KB~MB)小(KB~MB)大(MB~GB)
应用场景固件存储运行时数据存储程序存储、大容量数据存储

实际应用案例

嵌入式系统
  • ROM/Flash:存储固件(如STM32的内部Flash)。
  • SRAM:用于运行时变量和堆栈。
  • 外部Flash:扩展存储容量(如文件系统)。
消费电子
  • NOR Flash:智能手机的启动代码存储。
  • NAND Flash:手机存储(照片、视频、应用程序)。
工业与汽车
  • EEPROM:存储传感器校准参数。
  • Flash:数据记录仪的长期存储。

总结

  • ROM 是非易失性存储器,适合存储固化的代码和常量数据。
  • SRAM 是高速易失性存储器,适合运行时数据存储。
  • Flash 是非易失性存储器,支持多次擦写,适合程序存储和大容量数据存储。

http://www.ppmy.cn/devtools/170597.html

相关文章

汽车免拆诊断案例 | 2024 款路虎发现运动版车无法正常识别智能钥匙

故障现象  一辆2024款路虎发现运动版车,搭载2.0 L发动机,累计行驶里程约为5 000 km。车主反映,使用遥控器无法解锁车门,随后使用机械钥匙打开车门,踩下制动踏板,按压起动按钮,仪表盘提示“将智…

如何设置家用威联通 NAS UPS 断电后自动关机并通知其他设备?

场景 📝备注: 求轻喷, 求放过. 😅 我真的是个理线方面的白痴. 这已经是我的极限了. 😂 我的家庭实验室 Homelab 服务器集群配置如下. 上半部分之前已经介绍过了, 这里就不再赘述了. 今天重点介绍介绍 UPS 和 NAS 部分. 1台 UPS, 型号为 APC B…

windows下安装并使用node.js

一、下载Node.js 选择对应你系统的Node.js版本下载 Node.js官网下载地址 Node.js中文网下载地址??? 这里我选择的是Windows64位系统的Node.js20.18.0(LTS长期支持版本)版本的.msi安装包程序 官网下载: 中文网下载: 二、安…

【Uniapp】关于核心页面生命周期流程详解

UniApp 的页面生命周期继承自 Vue 组件生命周期,本文将解析核心页面生命周期流程,介绍对应的触发时机、作用并给出示例。 页面生命周期触发顺序 onLoad → onShow → onReady → onHide → onUnload 各个页面生命周期介绍 一、onLoad 触发时机&…

【MySQL】事务

目录 基本概念事务操作自动提交事务开启事务提交事务回滚事务代码示例 事务的特性 ACID事务的隔离级别读未提交 read uncommitted读已提交 read committed可重复读 repeatable read序列化(串行) serializable操作示例 基本概念 在 MySQL 中的事务&#…

SQL 通配符

SQL 通配符 在SQL查询中,通配符是一种非常有用的特性,它允许用户在查询时使用特殊字符来匹配一系列的值。本文将详细介绍SQL中的通配符及其用法,帮助读者更好地理解如何在SQL查询中使用通配符。 1. 什么是通配符? 通配符是SQL查…

PRODIGY: “不折腾人”的蛋白-蛋白/蛋白-小分子结合能计算工具

PRODIGY(全称为 PROtein binDIng enerGY prediction)是一种蛋白质结合能预测工具,可利用蛋白质-蛋白质复合物的三维结构来预测其结合亲和力。PRODIGY 利用一种高效的基于接触的方法,在估计结合自由能和解离常数的同时,…

建筑安全员考试:“高效记忆” 关键词引领的学习捷径

建筑安全员考试需要记忆大量的知识点,如何高效记忆成为考生关注的焦点。运用 “高效记忆” 相关关键词,能帮助考生找到学习的捷径。​ 利用 “口诀记忆法” 关键词,将复杂的知识点编成口诀。例如,在记忆安全色与安全标志时&#…