嵌入式开发 SRAM SROM DRAM DROM DDR NAND FLASH EMMC 区别
http://blog.sina.com.cn/s/blog_bda999510102vm9u.html
RAM(Random Access Memory)的全名为随机存取记忆体,它相当于PC机上的移动存储,用来存储和保存数据的。它在任何时候都可以读写,RAM通常是作为操作系统或其他正在运行程序的临时存储介质(可称作系统内存)。
不过,当电源关闭时RAM不能保留数据,如果需要保存数据,就必须把它们写入到一个长期的存储器中(例如硬盘)。正因为如此,有时也将RAM称作“可变存储器”。RAM内存可以进一步分为静态RAM(SRAM)和动态内存(DRAM)两大类。DRAM由于具有较低的单位容量价格,所以被大量的采用作为系统的主记忆。
ROM(Read Only Memory)的全名为唯读记忆体,它相当于PC机上的硬盘,用来存储和保存数据。ROM数据不能随意更新,但是在任何时候都可以读取。即使是断电,ROM也能够保留数据。但是资料一但写入后只能用特殊方法或根本无法更改,因此ROM常在嵌入式系统中担任存放作业系统的用途。现在市面上主流的PDA的ROM大小是64MB以及128MB。
RAM和ROM相比,两者的最大区别是RAM在断电以后保存在上面的数据会自动消失,而ROM就不会。
由于ROM不易更改的特性让更新资料变得相当麻烦,因此就有了Flash Memory的发展 ,Flash Memory具有ROM不需电力维持资料的好处,又可以在需要的时候任意更改资料 ,不过单价也比普通的ROM要高。
SRAM速度非常快,是目前读写最快的存储设备了,但是它也非常昂贵,所以只在要求很苛刻的地方使用,譬如CPU的一级缓冲,二级缓冲。动态RAM(Dynamic RAM/DRAM)保留数据的时间很短,速度也比SRAM慢,不过它还是比任何的ROM都要快,但从价格上来说DRAM相比SRAM要便宜很多,计算机内存就是DRAM的。
DRAM分为很多种,常见的主要有FPRAM/FastPage、EDORAM、SDRAM、DDR RAM、RDRAM、SGRAM以及WRAM等,这里介绍其中的一种DDR RAM。
DDR RAM(Date-Rate RAM)也称作DDR SDRAM,这种改进型的RAM和SDRAM是基本一样的,不同之处在于它可以在一个时钟读写两次数据,这样就使得数据传输速度加倍了。这是目前电脑中用得最多的内存,而且它有着成本优势,事实上击败了Intel的另外一种内存标准-Rambus DRAM。在很多高端的显卡上,也配备了高速DDR RAM来提高带宽,这可以大幅度提高3D加速卡的像素渲染能力。
内存工作原理:内存是用来存放当前正在使用的(即执行中)的数据和程序,我们平常所提到的计算机的内存指的是动态内存(即DRAM),动态内存中所谓的"动态",指的是当我们将数据写入DRAM后,经过一段时间,数据会丢失,因此需要一个额外设电路进行内存刷新操作。
具体的工作过程是这样的:一个DRAM的存储单元存储的是0还是1取决于电容是否有电荷,有电荷代表1,无电荷代表0。但时间一长,代表1的电容会放电,代表0的电容会吸收电荷,这就是数据丢失的原因;刷新操作定期对电容进行检查,若电量大于满电量的1/2,则认为其代表1,并把电容充满电;若电量小于1/2,则认为其代表0,并把电容放电,藉此来保持数据的连续性。
ROM也有很多种,PROM是可编程的ROM,PROM和EPROM(可擦除可编程ROM)两者区别是,PROM是一次性的,也就是软件灌入后,就无法修改了,这种是早期的产品,现在已经不可能使用了,而EPROM是通过紫外光的照射擦出原先的程序,是一种通用的存储器。另外一种EEPROM是通过电子擦出,价格很高,写入时间很长,写入很慢。
举个例子,手机软件一般放在EEPROM中,我们打电话,有些最后拨打的号码,暂时是存在SRAM中的,不是马上写入通过记录(通话记录保存在EEPROM中),因为当时有很重要工作(通话)要做,如果写入,漫长的等待是让用户忍无可忍的。
FLASH存储器又称闪存,它结合了ROM和RAM的长处,不仅具备电子可擦除可编程(EEPROM)的性能,还不会断电丢失数据同时可以快速读取数据(NVRAM的优势),U盘和MP3里用的就是这种存储器。在过去的20年里,嵌入式系统一直使用ROM(EPROM)作为它们的存储设备,然而近年来Flash全面代替了ROM(EPROM)在嵌入式系统中的地位,用作存储Bootloader以及操作系统或者程序代码或者直接当硬盘使用(U盘)。
目前Flash主要有两种NOR Flash和NADN Flash。NOR Flash的读取和我们常见的SDRAM的读取是一样,用户可以直接运行装载在NOR FLASH里面的代码,这样可以减少SRAM的容量从而节约了成本。NAND Flash没有采取内存的随机读取技术,它的读取是以一次读取一块的形式来进行的,通常是一次读取512个字节,采用这种技术的Flash比较廉价。用户不能直接运行NAND Flash上的代码,因此好多使用NAND Flash的开发板除了使用NAND Flah以外,还作上了一块小的NOR Flash来运行启动代码。
一般小容量的用NOR Flash,因为其读取速度快,多用来存储操作系统等重要信息,而大容量的用NAND FLASH,最常见的NAND FLASH应用是嵌入式系统采用的DOC(Disk On Chip)和我们通常用的"闪盘",可以在线擦除。目前市面上的FLASH 主要来自Intel,AMD,Fujitsu和Mxic,而生产NAND Flash的主要厂家有Samsung和Toshiba及Hynix。
嵌入式开发 SRAM SROM DRAM DROM DDR NAND FLASH EMMC 区别相关推荐
- SRAM SROM DRAM DROM DDR NAND FLASH EMMC的区别
SRAM SROM DRAM DROM DDR NAND FLASH EMMC的区别 RAM(Random Access Memory)的全名为随机存取记忆体,它相当于PC机上的移动存储,用来存储和保 ...
- 转载:百为STM32开发板教程之十二——NAND FLASH
http://bbs.21ic.com/icview-586200-1-1.html 百为STM32开发板教程之十二--NAND FLASH 参考资料: 百为stm32开发板光盘V3\百为stm32开 ...
- 内存之RAM、SRAM、DRAM、ROM、FLASH、SDRAM、DDR*简单总结
参考:https://www.cnblogs.com/guanghe/p/12517637.html 内存的概念作用 内存(Memory)指的是内存存储器,又称为主存, 作用:它是记录数据的硬件磁盘等 ...
- 从单片机开发转向Linux开发系列博客五:Nand Flash根文件系统制作
版本 作者 参与者 日期 备注 V1.0 wuya(微信号:wangwenxue1989) 2019/05/17 创建 1.引言 之前系列的文章介绍了如何编译Uboot.Kernel以及使用默认的ra ...
- 百为STM32开发板教程之十二——NAND FLASH
参考资料: 百为stm32开发板光盘V3\百为stm32开发板光盘\芯片数据手册\K9F1208.pdf 百为stm32开发板光盘\st官方参考资料\Application notes\AN2784 ...
- 嵌入式Linux驱动学习【8】—— Nand Flash
1 Nand Flash 原理图. 引脚: 引脚 功能 IO0~IO7 数据输入输出 CLE 命令锁存 ALE 地址锁存 nCE 芯片使能 nRE 读使能 nWE 写使能 R/nB 就绪/忙 ...
- nor flash 和nand flash 的区别
ROM和RAM指的都是半导体存储器,ROM是Read Only Memory的缩写,RAM是Random Access Memory的缩写.ROM在系统停止供电的时候仍然可以保持数据,而RAM通常都是 ...
- EEPROM,NOR Flash,NAND Flash,eMMC,UFS,SSD分别和主要参数及特性
EEPROM.NOR Flash.NAND Flash.eMMC.UFS.SSD都是非易失性存储器,但它们在架构.存储容量.读写速度.功耗.价格等方面存在不同,具体如下: EEPROM:EEPROM( ...
- nor Flash和nand Flash的区别
目录 1. 特点 2. 容量和成本 4. 性能差别 5. 接口差别 6. 易用性 7. 耐用性 8. 坏处处理 9. 位交换 10. 主要用途 11. 软件支持 12. 参考文章 flash 按照结构 ...
最新文章
- Mysql进阶(2)——组复制
- 电单车拉力赛的调试情况汇集
- CSS布局--head区的其他设置
- ducker桌面版更改安装位置_Ubuntu 16.04 安装 Docker和默认存储路径修改
- linux修改upd53端口,Centos iptables打开端口53
- 华为云MySQL数据库外网使用
- 只因少写一个判空,我的代码上线后炸了!
- access 的几种更新语句:update where 与 update join where
- 世界各国及其省份城市经纬度
- 【建模算法】层次分析法(Python实现)
- 雅虎微软交易局中局:巴茨开始绝望主妇式攻击
- excel技巧——F9键
- 预测和评价----学习反馈
- 【MATLAB教程案例12】基于GA遗传优化算法的函数极值计算matlab仿真及其他应用
- 程序员不得不学的操作系统知识(三)
- 西门子200与计算机通讯,S7 200与电脑通讯不上-工业支持中心-西门子中国
- 机器的崛起:隐藏的控制论历史
- MMSE估计(二):从估计到估计器
- 啊哈C——学习6.5一个萝卜一个坑
- html随机抽奖程序
热门文章
- ESP32----NVS使用
- Buying Hay 购买干草 完全背包
- 【深度学习】时间注意力模块与空间注意力模块
- 问题 F: 【数论】青蛙的约会
- Pyecharts一文速学-绘制桑基图详解+Python代码
- python爬取歌曲_python爬取网易云音乐热歌榜实例代码
- 鸿蒙系统安装苹果电脑,好消息!华为鸿蒙OS系统,解决了苹果、安卓系统的一大难题...
- django orm原理_django 动态创建一个模型的多个table name, 并通过 Django ORM 操作
- Scratch 飞机对战
- 定义变量byte a = (byte)128输出a的结果