DRAM、SRAM、PSRAM和Flash

DRAM、SRAM和Flash都属于存储器,DRAM通常被称为内存,也有些朋友会把手机中的Flash闪存误会成内存。SRAM的存在感相对较弱,但他却是CPU性能发挥的关键。DRAM、SRAM和Flash有何区别,它们是怎样工作的?

DRAM:动态随机存取存储器

DRAM的全称是Dynamic Random Access Memory,动态随机存取存储器。“随机存取”意味着CPU可以存取其中的的任意位置,而不像硬盘那样每次存取要以扇区为单位进行。

在这里插入图片描述

而“动态”是因为DRAM的工作采用电容原理,为了防止漏电引发数据错误,需要定时重复刷新。当电源中断后DRAM中的数据就会全部丢失,所以它属于“易失型”存储器。
在这里插入图片描述

SRAM:静态随机存取存储器

SRAM的存在感比较弱,因为多数时候它并不是像DRAM那样以内存条的形式直接展现在大家面前。CPU中集成的高速缓存就属于SRAM(Static Random-Access Memory,静态随机存取存储器)。在一些无DRAM缓存设计的固态硬盘(如东芝TR200)中,主控内会集成小容量的SRAM缓存。
在这里插入图片描述

SRAM存储单元是由6个晶体管制成的简单锁存器,无需刷新和回写就能保留数据,速度比DRAM更快。但由于集成度低,SRAM容量比DRAM小,成本比DRAM高,所以在大多数地方只能以较小的容量作为高速缓存使用。断电后SRAM中的数据也会丢失,同样属于“易失性”存储器。

在这里插入图片描述

PSRAM:伪静态随机存储器。

具有类SRAM的接口协议:给出地址、读、写命令,就可以实现存取,不像DRAM需要memory controller来控制内存单元定期数据刷新,因此结口简单;但它的内核是DRAM架构:1T1C一个晶体管一个电容构成存储cell,而传统SRAM需要6T即六个晶体管构成一个存储cell。由此结合,他可以实现类SRAM的接口又可实现较大的存储容量。

早期的PSRAM制造商包括Samsung、Micron等巨头,广泛用于最早期的智能手机。那时候的手机内存有192MB、384MB等现在看起来非常小的容量。但很快,就进入到LPDDR1、LPDDR2、LPDDR3到如今的LPDDR4.

然而,PSRAM如今仍然在大规模的使用,只是一般人不知道、看不见而已:在M、S、R三大2G base band芯片供应商里,都集成有32MB的PSRAM,只不过他们都是以SiP的形式出现,封在芯片里面你看不见。

物联网时代,赋予了PSRAM新的活力,尤其在语音交互领域,PSRAM以其小封装、大容量、低成本,开始显露器独特优势。在一些智能语音交互的场合,有些语音数据来自云端,PSRAM能很好的提供数据缓冲作用,解决网络数据的不稳定问题,以提供稳定、平滑的语音服务。例如:儿童对着一个玩具娃说,“我要听葫芦娃的故事”,玩具娃识别请求后,会在云端找到相关故事,以流媒体传送的方式,播放该故事。由于有PSRAM做data buffer,即使在不是很稳定的环境里,故事也会非常流畅的播放。同样,在一些网络收音机中,使用PSRAM,能够是声音播放非常平滑,提供优越的用户体验

SPI PSRAM: 8-pin SOP封装,最高速率可以达到104MHz, 具有片选CS、CLK、SI、SO 4个信号脚。
QPI PSRAM: 8-pin SOP封装,最高速率104MHz, 有额外的3个双向数据管脚,由此带宽峰值可以达到416Mbps。
OPI PSRAM: 24 脚封装,有8个串行数据线,最高时钟频率达到133MHz,最高带宽可以达到133x8 x2=2.128Gbps。这里x2是因为它可以实现DDR,以提高数据带宽。
PSRAM在一些数据缓冲应用中可以取代SRAM或者SDRAM: 高速、大容量PSRAM非常贵;而SDRAM需要很多管脚、需要设计DRAM控制器、实现数据刷新等,再尺寸、设计复杂度等上不经济。在传统的MCU中,都有SPI接口,因此,使用PSRAM没有问题。对应QPI/OPI,设计上需要一些配合。

PSRAM容量有4Mb,8Mb,16Mb,32Mb,64Mb, 128Mb等等,容量没有SDRAM那样密度高,但肯定是比SRAM的容量要高很多的,速度支持突发模式,并不是很慢,APmemory,Hynix,Fidelix,Coremagic, WINBOND .MICRON. CY 等厂家都有供应,价格只比相同容量的SDRAM稍贵一点点,比SRAM便宜很多。

Flash:闪存存储器

铠侠(原东芝存储)在上世纪80年代发明NAND型闪存。闪存可以在断电后持续保存数据,但是它无法随机存取,最小读写单元是Page页(早期为4KB,当前多为16KB),最小擦除单位是Block块(当前为16MB左右)。
在这里插入图片描述

闪存使用特殊的“浮栅层”(Floating Gate)来存储数据,氧化物层(Oxide Layer)的存在可防止浮栅层中电子流失,这是它能够在断电后继续保存数据的原因。

在这里插入图片描述

Flash闪存的1个存储单元存储多位数据,这是DRAM和SRAM都做不到的。根据浮栅层中电子的多少,每个存储单元可以表达1比特(SLC)、2比特(MLC)、3比特(TLC)或4比特(QLC)数据。

在这里插入图片描述

闪存的写入和擦除基于量子隧道效应,每个单元可以存储的数据越多,对跃迁到浮栅层的电子数量控制越严苛,写入速度也越慢,所以TLC的闪存性能优于QLC。
在这里插入图片描述

当前的3D闪存在结构上跟传统闪存又有所不同。3D闪存的单元排列从水平变更为立体的同时,闪存单元的结构也变为类似于圆柱形,Floating Gate浮栅也被Charge Trap电荷捕获结构代替。
在这里插入图片描述

新一代固态硬盘上已经用上96层堆叠技术的3D闪存,而下一代100+层堆叠的闪存也已完成研发并将很快进入量产阶段,在容量、性能和成本上取得新的进步。
在这里插入图片描述

总结:DRAM是内存(动态刷新,断电丢数据),SRAM,PSRAM是高速缓存(无需刷新,断电丢数据),Flash(无需刷新,断电不丢数据)通常作为硬盘。从容量上看SRAM<PSRAM<DRAM<Flash,从性能上看则正好反过来。DRAM,SRAM, PSRAM断电后数据会丢失,写入Flash闪存的数据则可以在断电后持续保留。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/614719.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Multimodal Knowledge Expansion复现

表2 复现结果 multimodal student (ours)&#xff1a; v 0 2 v 1 10 r 0 0.8 82.1 78.6 77.5 \begin{array}{} v02 & v1 10 & r0 0.8 \\\\ 82.1 & 78.6 & 77.5 \end{array} v0282.1​v11078.6​r00.877.5​ 感想 第二篇完全复现的论文

创建型模式 | 建造者模式

一、建造者模式 1、原理 建造者模式又叫生成器模式&#xff0c;是一种对象的构建模式。它可以将复杂对象的建造过程抽象出来&#xff0c;使这个抽象过程的不同实现方法可以构造出不同表现&#xff08;属性&#xff09;的对象。创建者模式是一步一步创建一个复杂的对象&#xf…

zookeeper下载安装部署

zookeeper是一个为分布式应用提供一致性服务的软件&#xff0c;它是开源的Hadoop项目的一个子项目&#xff0c;并根据google发表的一篇论文来实现的。zookeeper为分布式系统提供了高效且易于使用的协同服务&#xff0c;它可以为分布式应用提供相当多的服务&#xff0c;诸如统一…

P1328 [NOIP2014 提高组] 生活大爆炸版石头剪刀布————C++

目录 [NOIP2014 提高组] 生活大爆炸版石头剪刀布题目背景题目描述输入格式输出格式样例 #1样例输入 #1样例输出 #1 样例 #2样例输入 #2样例输出 #2 提示 解题思路Code调用函数的Code&#xff08;看起来简洁一点&#xff09;运行结果 [NOIP2014 提高组] 生活大爆炸版石头剪刀布 …

软件测评中心▏性能测试之压力测试、负载测试的区别和联系简析

在如今的信息时代&#xff0c;软件已经成为人们日常工作和生活不可或缺的一部分。然而&#xff0c;随着软件的发展和应用范围的不断扩大&#xff0c;软件性能的优劣也成为了影响用户使用体验的重要因素。 软件性能测试即对软件在不同条件下的性能进行评估和验证的过程。通过模…

php多小区智慧物业管理系统源码带文字安装教程

多小区智慧物业管理系统源码带文字安装教程 运行环境 服务器宝塔面板 PHP 7.0 Mysql 5.5及以上版本 Linux Centos7以上 统计分析以小区为单位&#xff0c;统计如下数据&#xff1a;小区总栋数、小区总户数、小区总人数、 小区租户数量、小区每月收费金额统计、小区车位统计、小…

【Scala】——变量数据类型运算符

1. 概述 1.1 Scala 和 Java 关系 1.2 scala特点 Scala是一门以Java虚拟机&#xff08;JVM&#xff09;为运行环境并将面向对象和函数式编程的最佳特性结合在一起的静态类型编程语言&#xff08;静态语言需要提前编译的如&#xff1a;Java、c、c等&#xff0c;动态语言如&#…

vue2 el-table行悬停时弹出提示信息el-popover

实现方法&#xff0c;用到了cell-mouse-enter、cell-mouse-leave两个事件&#xff0c;然后在表格的首列字段中&#xff0c;加个el-popover组件&#xff0c;当然你也可以选择在其他字段的位置来显示提示框&#xff0c;看自己的需求了。 示例代码&#xff1a; <el-table cell…

神州数码集团荣获“TiDB 社区最佳贡献企业”

日前&#xff0c;神州数码在 TiDB 开源社区中获得了“TiDB 社区最佳贡献企业”奖。PingCAP 颁发该奖项以认可生态企业在社区中的卓越贡献和积极参与。 神州数码与 PingCAP 最早于 2020 年 12 月 28 日进行战略合作&#xff0c;基于全球领先的开源分布式关系型数据库 TiDB&…

强化学习求解TSP(七):Qlearning求解旅行商问题TSP(提供Python代码)

一、Qlearning简介 Q-learning是一种强化学习算法&#xff0c;用于解决基于奖励的决策问题。它是一种无模型的学习方法&#xff0c;通过与环境的交互来学习最优策略。Q-learning的核心思想是通过学习一个Q值函数来指导决策&#xff0c;该函数表示在给定状态下采取某个动作所获…

内网穿透的应用-使用Docker部署开源建站工具—Halo,并实现个人博客公网访问

文章目录 1. Docker部署Halo1.1 检查Docker版本如果未安装Docker可参考已安装Docker步骤&#xff1a;1.2 在Docker中部署Halo 2. Linux安装Cpolar2.1 打开服务器防火墙2.2 安装cpolar内网穿透 3. 配置Halo个人博客公网地址4. 固定Halo公网地址 本篇文章介绍如何在CentOS下使用D…

AI技术已经发现了一种新材料,可以在电池制造中减少对锂的需求

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…

专业130+总400+哈尔滨工业大学803信号与系统和数字逻辑电路考研经验哈工大,电子信息,信息与通信工程,信通

今年专业课803信号与系统和数字逻辑130总分400如愿考上哈尔滨工业大学电子信息&#xff08;信息与通信工程-信通&#xff09;&#xff0c;总结了一些各门课程复习心得&#xff0c;希望对大家复习有帮助。 数学一 资料选择&#xff1a; ①高数&#xff1a;张宇强化班 ②线性…

特征工程-特征清洗

特征清洗 在进行玩特征理解后&#xff0c;我们大致理解了面对的数据中包含哪些内容。下一阶段&#xff0c;我么需要对数据中的内容进行进一步分析处理&#xff0c;针对不同数据进行清洗。数据清洗是对数据进行重新审查和校验的过程&#xff0c;目的在于删除重复信息、纠正存在…

2024/1/11HTML学习 :图片标签

文本格式化标签 左边的突出特别重要的时候使用 3.媒体标签 图片标签

【RT-DETR有效改进】带你分析如何确定改进的基础模型,解决模型无法收敛精度很差的问题(ResNet官方一比一复现)

一、本文介绍 Hello&#xff0c;各位读者&#xff0c;距离第一天发RT-DETR的博客已经过去了接近两个月&#xff0c;这段时间里我深入的研究了一下RT-DETR在ultralytics仓库的使用&#xff0c;旨在为大家解决为什么用v8的仓库训练的时候模型不收敛&#xff0c;精度差的离谱的问…

Python - Bert-VITS2 语音推理服务部署

目录 一.引言 二.服务搭建 1.服务配置 2.服务代码 3.服务踩坑 三.服务使用 1.服务启动 2.服务调用 3.服务结果 四.总结 一.引言 上一篇文章我们介绍了如果使用 conda 搭建 Bert-VITS2 最新版本的环境并训练自定义语音&#xff0c;通过 1000 个 epoch 的训练&#xf…

【期末不挂科-C++考前速过系列P2】大二C++第2次过程考核(20道选择题&10道判断题&3道代码题)【解析,注释】

前言 大家好吖&#xff0c;欢迎来到 YY 滴C系列 &#xff0c;热烈欢迎&#xff01; 本章主要内容面向接触过C的老铁 主要内容含&#xff1a; 欢迎订阅 YY滴C专栏&#xff01;更多干货持续更新&#xff01;以下是传送门&#xff01; YY的《C》专栏YY的《C11》专栏YY的《Linux》专…

一包多语言——使用FontForge合并字体

大家好&#xff0c;我是阿赵。   比较多游戏做了一个游戏包里面包含了多种语言&#xff0c;可以游戏内切换。这里分享一个合并多种语言字体的方法。 一、遇到的问题 假设我们游戏需要同时显示简体中文、泰文、老挝文三种语言。 解决方案有多种&#xff1a; 1、准备多种字体 …

Open CV 图像处理基础:(五)Java 使用 Open CV 的绘图函数

Java 使用 Open CV 的绘图函数 使用 Open CV 在 Java 中对图片使用绘图函数&#xff0c;分别绘制矩形、斜线、圆形、椭圆形以及添加文本 Java 使用 Open CV 的绘图函数 Java 使用 Open CV 的绘图函数函数绘制矩形绘制线绘制圆形绘制椭圆添加文本 代码示例Open CV 专栏导航 函…