[AutoSAR存储] 车载存储层次 和 常用存储芯片概述
公知及经验整理,原创保护,禁止转载。
专栏 《AutoSAR存储》
<<<< 返回总目录 <<<<
1 存储系统层次
先抛个问题, 为什么要划分存储器的层次?
速度越快,但成本越高,从经济的角度规划的存储空间越小。因此,必须采取逐级缓存的策略,将更重要的数据保存在速度更快的存储中,而离CPU核心越远的存储则更大。因为有分层,也就有不同的存储芯片。
存储层次是在计算机体系结构下存储系统层次结构的排列顺序。 每一层于下一层相比 都拥有 较高的速度 和 较低延迟性 ,以及 较小的容量 (也有少量例外,如AMD早期的Duron CPU)。大部分现今的中央处理器的速度都非常的快。大部分程序工作量需要存储器存取。由于高速缓存的效率和存储器传输位于层次结构中的不同等级,所以实际上会限制处理的速度,导致中央处理器花费大量的时间等待存储器I/O完成工作。
大部分汽车、电脑、芯片中的存储层次如下四层:
寄存器 :可能是最快的存取。在32位处理器,每个寄存器就是32位。x86处理器共有16个寄存器。
高速缓存 Cache (L1-L3:SRAM、L4:DRAM)
- 第一级高速缓存(L1)–通常存取只需要几个周期,通常是几十个KB。
- 第二级高速缓存(L2)–比L1约有2到10倍较高延迟性,通常是几百个KB或更多。
- 第三级高速缓存(L3)–比L2更高的延迟性,通常有数MB之大。
- 第四级高速缓存(L4)(不一定有)–CPU外部的DRAM,但速度较主存高。
主存(DRAM) : 存取需要几百个周期,可以大到数十GB。
磁盘存储 :Flash 闪存, 或是磁盘,需要成千上万个周期,容量非常大。
存储器有许多类型,可以根据其用途分为主存储器和辅助存储器。主存储器,也称为内存,以其快速的存取速度而著称,但其容量相对较小,价格也相对较高。辅助存储器,也称为外存储器,容量较大,价格较低,但存取速度较慢。主存储器存储立即要使用的程序和数据,而外存储器存储暂时不需要的程序和数据。两者之间经常进行信息交换。
2 常用存储器分类
存储 IC 在汽车市场中广泛应用,DRAM 和 NAND FLASH 占据存储市场绝大部分 份额。存储芯片按照其断电后是否可持续保存数据可分为易失性和非易失性两种, 其中易失性存储芯片可分为 DRAM 和 SRAM,非易失性存储芯片可分为 NAND FLASH 和 NOR FLASH,目前存储市场以 DRAM 和 NAND FLASH 为主。
(1) 易失性存储芯片:SRAM和DRAM是目前存储市场主流的两种类型。DRAM容量大、价格低、可扩展性强等特点,更适用于对存储容量要求较高、对读写速度要求不高的场合。而在移动端,LPDDR((Low Power Double Data Rate SDRAM))则更加受欢迎,由于其低功耗小体积等特点。
(2) 非易失性存储芯片:NOR闪存具有高效的读取速度,可以在芯片内直接执行应用程序,因此广泛应用于一些需要高速读取的场合,如系统启动、设备固件等。但在小容量存储器的应用场景下,NOR的性价比相比NAND并不优势。
而NAND闪存因其高存储容量、改写速度优秀、价格相对NOR更为实惠,因此在存储市场中占据了较大的份额,目前占据了42%的市场份额,成为了NOR的有力竞争者。
随着技术不断发展,闪存的存储容量也在不断提升。目前,市场上大多数闪存采用的是“2D NAND”技术,即制程在16nm及以上的平面闪存芯片。为了进一步提高存储密度,降低单位存储成本,2D NAND芯片的制程正在不断地缩小至15/16nm。
除此之外,为了进一步提升存储密度,行业内还采用了3D堆叠技术。3D NAND通过增加单位面积内的晶体管数量,可以进一步提高存储密度,同时还可以降低读取延迟和功耗。目前市场上的“3D NAND”芯片正在逐渐成为新兴的市场趋势。
存储器在新的电子电气结构中各个系统的中的分布图如下:
存储芯片在汽车上的应用
2.1 ROM
由于历史原因,虽然有的类型可以读也可以写,但是它们整体上被称为只读存储器(Read-Only Memory, ROM)。
PROM:Programmable ROM,可编程ROM,但只能被编程一次。每个存储器单元有一个熔丝(fuse),只能用高电流熔断一次。
EPROM:Erasable Programmable ROM,可擦写可编程ROM, 被擦除和重编程的次数可达1000次。EPROM有一个透明的石英窗口,允许光到达存储单元,紫外线照射过窗口,EPROM单元就被清0;对EPROM编程是通过使用一种把1写入EPROM的特殊设备完成。
EEPROM:Electrically Erasable PROM,电子可擦除PROM,它不需要物理上的一个独立编程设备,可以直接在电路板上编程。被编程次数可达10^5次。
2.2 SRAM
SRAM是静态随机存取存储器(Static Random Access Memory)的缩写,是一种高速缓存存储器,用来作为高速缓存存储器(cache),可以在CPU芯片上,也可以在片外。SRAM具有读写速度快,但价格贵,容量小。
SRAM 每一位都存储在一个双稳态的存储器单元里,每个单元是用6个晶体管来实现的。只要有电,这样一个电路可以无限期地保持在两个不同的电压配置或者状态之一。即使有干扰,当干扰消除后,电路就会恢复到稳定值。
技术替代趋势上,MRAM较有可能替代SRAM,因其持久性优势。
MRAM是磁性随机存取存储器(Magnetic Random Access Memory)的缩写,它具有非挥发性、快速读写、低功耗、无需刷新等特点。由于MRAM的持久性优势,未来有望替代SRAM成为高速缓存存储器。
2.3 DRAM
DRAM是动态随机存取存储器(Dynamic Random Access Memory)的缩写,是一种集成度高、容量大、价格便宜的存储器。DRAM具有容量大、价格低,但读写速度慢、需要刷新等缺点。
DRAM内存的每一位存储都依赖于一个微小电容的充电状态,通常这个电容只有约30毫皮法的大小。尽管DRAM的电容很小,但仍然会有漏电的情况发生,导致内存在10~100毫秒的时间内失去电荷。幸好CPU的时钟周期通常是在纳秒级别,所以相对而言DRAM内存的电压仍然相对稳定。为了让DRAM内存的每一位保持充电状态,内存系统必须定期读取并重写内存中的每一位置,这也就是“动态”这个词汇的来源。
DDR系列有望成为DRAM主流品类。 DDR(双倍数据率) SDRAM是一种高速动态随机存取存储器。它具有高速传输、高带宽、低功耗、价格低等特点,由于其更高的传输速率和数据预读取的位宽增加等优势,有望成为DRAM的主流品类。
LPDDR(Low Power Double Data Rate SDRAM)是低功耗双倍数据率同步动态随机存取存储器。它具有低功耗、小体积、高性能等特点,更适用于移动端应用领域。
2.4 MRAM
MRAM是一种非易失性的磁性随机存储器。它拥有SRAM的高速读取写入能力,以及DRAM的高集成度,而且基本上可以无限次地重复写入。
MRAM是汽车应用的理想选择存储芯片,MRAM具有快速且不易失的特点。实时监控的传感器数据可以实时写入,而不需要负载均衡或ECC开销。AEC-Q100 1级合格的MRAM将在发动机罩下应用中发现的延长温度(-40℃至125℃)下保留数据20年。意外断电不会影响数据完整性。
2.5 NOR Flash
Nor Flash 和 NAND Flash 都属于 Flash, Flash 存储器又可以细分成很多类别, 这超过了本文的范围。放个图给大家看看就好。
NOR Flash是一种应用领域非常广泛的存储芯片,基本上主流的电子产品都会使用它。甚至我们常用的手机摄像头和屏幕驱动电路板内部都会用到它。NOR Flash主要用来存储代码和一些比较小的数据文件,主流接口为SPI NOR,容量范围在1Mbit~128Mbit之间,封装形式以SOP-8为主,尺寸较小。
结构:NOR Flash存储器采用并行结构,将存储单元组织为存储单元阵列,每个存储单元阵列包含多个块,每个块包含多个扇区。这种结构使得NOR
Flash具有较快的读取速度和较低的访问延迟。
NOR Flash存储器是一种采用并行结构的存储设备。它将存储单元组织为存储单元阵列,每个存储单元阵列包含多个块,而每个块则包含多个扇区。这种设计使得NOR Flash具有较快的读取速度和较低的访问延迟。
NOR Flash存储器的主要特点是快速读取速度和较短的访问延迟。它适用于需要快速随机访问的应用。此外,NOR Flash还具备较快的擦写操作,可以按字节或按扇区进行擦除。然而,NOR Flash的存储密度相对较低,只适用于小容量的代码和程序。
由于NOR Flash存储器的快速读取速度和随机访问能力,它被广泛用于嵌入式系统中存储代码、固件和启动程序等。
NOR Flash的架构决定了它的容量不能太大,且读取速度相对较慢。但好处在于使用简单易懂,有些数据甚至可以直接用地址访问,不需要建立文件系统。这一点在攻城狮朋友中备受欢迎。
2. 6 NAND Flash
NAND Flash 作为一种存储介质,广泛应用于固态硬盘,UFS,eMMC,SD卡,U盘等存储产品中;闪存是一种非易失性存储器,即断电数据也不会丢失。
结构:NAND Flash存储器采用并行结构,将存储单元组织为存储单元阵列,每个存储单元阵列包含多个页,每页包含多个块,每块包含多个扇区。这种结构使得NAND Flash具有较高的存储密度。
特点:
高存储密度:适用于存储大容量的数据。
快速读取速度:NAND Flash具有较快的读取速度
擦写耗时较长:NAND Flash的擦写操作需要较长时间,通常以块为单位进行擦除 。
适用于存储应用:由于高存储密度和较低的成本,NAND Flash 广泛应用于大容量存储设备 ,如固态硬盘(SSD)、USB闪存驱动器和存储卡等。
车载 NAND Flash 存储器的演进过程
早期的GPS导航仪、行车记录仪等车载设备配备的基本都是SD卡。由于依靠的仅是SD的金手指和卡槽内的金属触点连接,无法长时间可靠地适应汽车内颠簸、高温、高湿的变化环境。
汽车行业的存储设备使用开始从SD卡转向eMMC和UFS存储芯片,这些芯片提供更好的稳定性和读写速度。与SD卡只有4比特的总线宽度不同,eMMC卡有8比特的总线宽度,最快可以提供400MB/S的读取速度,而UFS存储芯片的读取速度更是可以达到惊人的2.9GB每秒。未来,基于PCIe接口的NVMe协议车规级SSD将提供大于10GB每秒的数据吞吐率,海量存储容量将为下一代智能车载系统提供强力支持。这些存储设备还具有实时响应和温度管理特性,可以快速适应汽车内部复杂的环境变化。
下一讲我们从存储子系统层次依次来展开介绍, 像是剥洋葱一样, 漫漫揭开它的面纱。
参考
编号 | 链接 |
---|---|
1 | 一文读懂车载存储芯片 |
2 | SOC处理器的存储 |
3 | 计算机存储层次及常用存储简介 |
相关文章:

[AutoSAR存储] 车载存储层次 和 常用存储芯片概述
公知及经验整理,原创保护,禁止转载。 专栏 《AutoSAR存储》 <<<< 返回总目录 <<<< 1 存储系统层次 先抛个问题, 为什么要划分存储器的层次? 速度越快,但成本越高,从经济的角度规…...
进程并发-信号量经典例题-吸烟者问题
1 题目描述 吸烟者问题 在一个房间内有三个吸烟者和一个香烟供应者。为了制造并抽掉香烟,每个吸烟者需要三样物品:烟草、纸和火柴,供应者有丰富物品提供。在三个吸烟者中,第一个有自己的烟草,第二个有自己的纸&#…...
[ruby on rails] array、jsonb字段
一、jsonb # 新增 add_column :shi_tis, :setting, :jsonb, default: {}# string转jsonb def changechange_column :users, :setting, :jsonb, using: setting::jsonb, default: {} end# 加索引 add_index :users, :setting, using: :gin # 这样就为setting jsonb字段创建了一…...

Feign接口请求返回异常 no suitable HttpMessageConvert found for response type
问题场景: 后端调用feign接口请求, 接口返回异常, no suitable HttpMessageConvert found for response type 问题描述 报错异常如下: //根据图片特征 去查询人员信息ResultVo<List> personVos ipbdFaceLibPersonApi.queryFacePersonByFeatur…...

【brpc学习实践九】mbvar及bvar可观测
概念、学习地址 mbvar中有两个类,分别是MVariable和MultiDimension,MVariable是多维度统计的基类,MultiDimension是派生模板类。也是主要用来多多线程计数用的。这里用到再详细去了解即可 https://github.com/luozesong/brpc/blob/master/do…...
Vue 3
Vu3 简述: 快速上手,开发即用,具体知识参考官方文档 具备知识 Vite 了解即可,使用时按需配置,更多参考官方文档( https://cn.vitejs.dev) 简述: 极速响应工具 (构建、启动、更新、插件使用等) 核心思想: 依赖 和 源码 工作原理: 引入rollup: 灵活,相比webpack速度快,…...
GitHub Copilot 替代品?
应该没人不知道代码补全这个东西了吧,第一次使用 GitHub Copilot 之后,只觉得真香,现在居然还有一点离不了了。后面因为收费原因,就没再用了,找了一个 tabnine 替代,用了几天,体验是真的比不上 …...

设计循环队列(详解)
呀哈喽,我是结衣 今天给大家带来的内容如标题所述,我们来设计环形队列,虽然队列没有讲,但是我就是想讲啊。那么环形队列现在开始。 队列的属性 在设计环形队列前,我们先要了解队列的特点(先进先出&#x…...

【Python】Vscode解决Python中制表符和空格混用导致的缩进问题
【Python】Vscode解决Python中制表符和空格混用导致的缩进问题 文章目录 【Python】Vscode解决Python中制表符和空格混用导致的缩进问题1. 问题来源2. 解决Reference 1. 问题来源 在python中使用缩进来进行代码块的分区,通常来说python的一个缩进包含4个空格&#…...
CocosCreator 面试题(十六)Cocos Creator 节点池的基本原理是什么?如何使用?
一、Cocos Creator 节点池的基本原理是什么? Cocos Creator 是一个游戏开发引擎,它提供了节点池(Node Pool)的功能,用于管理和重用游戏中的节点对象。节点池的基本原理如下: 创建初始节点:在游戏…...

VUE留言板
效果预览图 完整代码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>作业</title><styl…...

【办公软件】电脑开机密码忘记了如何重置?
这个案例是家人的电脑,已经使用多年,又是有小孩操作过的,所以电脑密码根本不记得是什么了?那难道这台电脑就废了吗?需要重新装机吗?那里面的资料不是没有了? 为了解决以上问题,一般…...

PTA NeuDS-数据库题目集
一.判断题 1.在数据库中产生数据不一致的根本原因是冗余。T 解析:数据冗余是数据库中产生数据不一致的根本原因,因为当同一数据存储在多个位置时,如果其中一个位置的数据被修改,其他位置的数据就不一致了。因此,在数据…...

Redis深入理解-内核请求处理流程、数据传输协议
Redis 内核级请求处理流程 Redis Server 其实就是 Linux 服务器中的一个进程 主要还是下图的流程 应用先和 server 端建立 TCP 连接建立连接之后,server 端就会有一个与该客户端通信的 socket,客户端的读写请求发送到服务端的 socket那么通过 IO 多路…...
Mac电脑卸载/删除nodejs
使用命令行卸载 Node.js 第一步:打开终端,输入以下命令显示 Node.js 的安装路径: which node执行该命令后,会显示安装路径: /usr/local/bin/node第二步:输入以下命令删除 Node.js 相关的文件:…...

C语言之内存函数
C语言之内存函数 文章目录 C语言之内存函数1. memcpy 使⽤和模拟实现1.1 memcpy 函数的使用1.3 memcpy的模拟实现 2. memmove 使⽤和模拟实现2.1 memmove 函数的使用2.2 memmove的模拟实现 3. memset 函数的使用4. memcmp 函数的使⽤ 1. memcpy 使⽤和模拟实现 函数声明如下&a…...

基本数据结构二叉树(1)
目录 1.树概念及结构 1.1树的概念 1.2 树的相关概念 1.3 树的表示 1.4 树在实际中的运用(表示文件系统的目录树结构) 2.二叉树概念及结构 2.1概念 2.2现实中的二叉树: 2.3 特殊的二叉树: 2.5 二叉树的存储结构 2. 链式存…...

【python】Python将100个PDF文件对应的json文件存储到MySql数据库(源码)【独一无二】
👉博__主👈:米码收割机 👉技__能👈:C/Python语言 👉公众号👈:测试开发自动化【获取源码商业合作】 👉荣__誉👈:阿里云博客专家博主、5…...
Android:Google三方库之Adjust集成详细步骤
通过 Adjust 安卓 SDK,您可以在自己的安卓应用中跟踪归因、事件及更多数据。请按照本指南中说明的步骤操作,在应用内设置 Adjust SDK 1、添加依赖 //adjustimplementation("com.adjust.sdk:adjust-android:4.33.5")implementation("com.…...

prometheus|云原生|grafana-9.4.3版本的主题更改
一, grafana-9.4.3版本的主题更改 grafana-9.4.3版本应该是目前比较高的版本了,但不知道是什么原因,grafana的主题界面并不多,只有暗色,亮色和系统色三种 配置管理----首选项里可以看到 亮色: 暗色&…...

超短脉冲激光自聚焦效应
前言与目录 强激光引起自聚焦效应机理 超短脉冲激光在脆性材料内部加工时引起的自聚焦效应,这是一种非线性光学现象,主要涉及光学克尔效应和材料的非线性光学特性。 自聚焦效应可以产生局部的强光场,对材料产生非线性响应,可能…...

以下是对华为 HarmonyOS NETX 5属性动画(ArkTS)文档的结构化整理,通过层级标题、表格和代码块提升可读性:
一、属性动画概述NETX 作用:实现组件通用属性的渐变过渡效果,提升用户体验。支持属性:width、height、backgroundColor、opacity、scale、rotate、translate等。注意事项: 布局类属性(如宽高)变化时&#…...

基于Flask实现的医疗保险欺诈识别监测模型
基于Flask实现的医疗保险欺诈识别监测模型 项目截图 项目简介 社会医疗保险是国家通过立法形式强制实施,由雇主和个人按一定比例缴纳保险费,建立社会医疗保险基金,支付雇员医疗费用的一种医疗保险制度, 它是促进社会文明和进步的…...
Objective-C常用命名规范总结
【OC】常用命名规范总结 文章目录 【OC】常用命名规范总结1.类名(Class Name)2.协议名(Protocol Name)3.方法名(Method Name)4.属性名(Property Name)5.局部变量/实例变量(Local / Instance Variables&…...
服务器硬防的应用场景都有哪些?
服务器硬防是指一种通过硬件设备层面的安全措施来防御服务器系统受到网络攻击的方式,避免服务器受到各种恶意攻击和网络威胁,那么,服务器硬防通常都会应用在哪些场景当中呢? 硬防服务器中一般会配备入侵检测系统和预防系统&#x…...
浅谈不同二分算法的查找情况
二分算法原理比较简单,但是实际的算法模板却有很多,这一切都源于二分查找问题中的复杂情况和二分算法的边界处理,以下是博主对一些二分算法查找的情况分析。 需要说明的是,以下二分算法都是基于有序序列为升序有序的情况…...

如何在最短时间内提升打ctf(web)的水平?
刚刚刷完2遍 bugku 的 web 题,前来答题。 每个人对刷题理解是不同,有的人是看了writeup就等于刷了,有的人是收藏了writeup就等于刷了,有的人是跟着writeup做了一遍就等于刷了,还有的人是独立思考做了一遍就等于刷了。…...

使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台
🎯 使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台 📌 项目背景 随着大语言模型(LLM)的广泛应用,开发者常面临多个挑战: 各大模型(OpenAI、Claude、Gemini、Ollama)接口风格不统一;缺乏一个统一平台进行模型调用与测试;本地模型 Ollama 的集成与前…...

ABAP设计模式之---“简单设计原则(Simple Design)”
“Simple Design”(简单设计)是软件开发中的一个重要理念,倡导以最简单的方式实现软件功能,以确保代码清晰易懂、易维护,并在项目需求变化时能够快速适应。 其核心目标是避免复杂和过度设计,遵循“让事情保…...

华为OD机考-机房布局
import java.util.*;public class DemoTest5 {public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别while (in.hasNextLine()) { // 注意 while 处理多个 caseSystem.out.println(solve(in.nextLine()));}}priv…...