偶然之间与同事谈论到rom,ram,flash一些知识,而突然之间当我们去说这些英文单词的话还真是粗浅的知道,而在我们当中的mcu一些含义也不甚清楚,索性今天晚上就来汇总这方面的知识。
rom和ram指的都是半导体存储器,rom是read only memory的缩写,ram是random access memory的缩写。rom在系统停止供电的时候仍然可以保持数据,而ram通常都是在掉电之后就丢失数据,典型的ram就是计算机的内存。
ram有两大类,一种称为静态ram(static ram/sram),sram速度非常快,是目前读写最快的存储设备了,但是它也非常昂贵,所以只在要求很苛刻的地方使用,譬如cpu的一级缓冲,二级缓冲。另一种称为动态ram(dynamic ram/dram),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和toshiba,而生产nand flash的主要厂家有samsung和toshiba。
nand flash和nor flash的比较
nor和nand是现在市场上两种主要的非易失闪存技术。intel于1988年首先开发出nor flash技术,彻底改变了原先由eprom和eeprom一统天下的局面。紧接着,19***,东芝公司发表了nand flash结构,强调降低每比特的成本,更高的性能,并且象磁盘一样可以通过接口轻松升级。但是经过了十多年之后,仍然有相当多的硬件工程师分不清nor和nand闪存。
相flash存储器经常可以与相nor存储器互换使用。许多业内人士也搞不清楚nand闪存技术相对于nor技术的优越之处,因为大多数情况下闪存只是用来存储少量的代码,这时nor闪存更适合一些。而nand则是高数据存储密度的理想解决方案。
nor是现在市场上主要的非易失闪存技术。nor一般只用来存储少量的代码;nor主要应用在代码存储介质中。nor的特点是应用简单、无需专门的接口电路、传输效率高,它是属于芯片内执行(xip, execute in place),这样应用程序可以直接在(nor型)flash闪存内运行,不必再把代码读到系统ram中。在1~4mb的小容量时具有很高的成本效益,但是很低的写入和擦除速度大大影响了它的性能。nor flash带有sram接口,有足够的地址引脚来寻址,可以很容易地存取其内部的每一个字节。nor flash占据了容量为1~16mb闪存市场的大部分。
nand结构能提供极高的单元密度,可以达到高存储密度,并且写入和擦除的速度也很快。应用nand的困难在于flash的管理和需要特殊的系统接口。
1、性能比较:
flash闪存是非易失存储器,可以对称为块的存储器单元块进行擦写和再编程。任何flash器件的写入操作只能在空或已擦除的单元内进行,所以大多数情况下,在进行写入操作之前必须先执行擦除。nand器件执行擦除操作是十分简单的,而nor则要求在进行擦除前先要将目标块内所有的位都写为1。
由于擦除nor器件时是以64~128kb的块进行的,执行一个写入/擦除操作的时间为5s,与此相反,擦除nand器件是以8~32kb的块进行的,执行相同的操作最多只需要4ms。
执行擦除时块尺寸的不同进一步拉大了nor和nadn之间的性能差距,统计表明,对于给定的一套写入操作(尤其是更新小文件时),更多的擦除操作必须在基于nor的单元中进行。这样,当选择存储解决方案时,设计师必须权衡以下的各项因素:
● nor的读速度比nand稍快一些。
● nand的写入速度比nor快很多。
● nand的4ms擦除速度远比nor的5s快。
● 大多数写入操作需要先进行擦除操作。
● nand的擦除单元更小,相应的擦除电路更少。
(注:nor flash sector擦除时间视品牌、大小不同而不同,比如,4m flash,有的sector擦除时间为60ms,而有的需要最大6s。)
2、接口差别:
nor flash带有sram接口,有足够的地址引脚来寻址,可以很容易地存取其内部的每一个字节。
nand器件使用复杂的i/o口来串行地存取数据,各个产品或厂商的方法可能各不相同。8个引脚用来传送控制、地址和数据信息。
nand读和写操作采用512字节的块,这一点有点像硬盘管理此类操作,很自然地,基于nand的存储器就可以取代硬盘或其他块设备。
3、容量和成本:
nand flash的单元尺寸几乎是nor器件的一半,由于生产过程更为简单,nand结构可以在给定的模具尺寸内提供更高的容量,也就相应地降低了价格。
nor flash占据了容量为1~16mb闪存市场的大部分,而nand flash只是用在8~128mb的产品当中,这也说明nor主要应用在代码存储介质中,nand适合于数据存储,nand在compactflash、secure digital、pc cards和mmc存储卡市场上所占份额最大。
4、可靠性和耐用性:
采用flahs介质时一个需要重点考虑的问题是可靠性。对于需要扩展mtbf的系统来说,flash是非常合适的存储方案。可以从寿命(耐用性)、位交换和坏块处理三个方面来比较nor和nand的可靠性。
a) 寿命(耐用性)
在nand闪存中每个块的最大擦写次数是一百万次,而nor的擦写次数是十万次。nand存储器除了具有10比1的块擦除周期优势,典型的nand块尺寸要比nor器件小8倍,每个nand存储器块在给定的时间内的删除次数要少一些。
b) 位交换
所有flash器件都受位交换现象的困扰。在某些情况下(很少见,nand发生的次数要比nor多),一个比特(bit)位会发生反转或被报告反转了。
一位的变化可能不很明显,但是如果发生在一个关键文件上,这个小小的故障可能导致系统停机。如果只是报告有问题,多读几次就可能解决了。
当然,如果这个位真的改变了,就必须采用错误探测/错误更正(edc/ecc)算法。位反转的问题更多见于nand闪存,nand的供应商建议使用nand闪存的时候,同时使用edc/ecc算法。
这个问题对于用nand存储多媒体信息时倒不是致命的。当然,如果用本地存储设备来存储操作系统、配置文件或其他敏感信息时,必须使用edc/ecc系统以确保可靠性。
c) 坏块处理
nand器件中的坏块是随机分布的。以前也曾有过消除坏块的努力,但发现成品率太低,代价太高,根本不划算。
nand器件需要对介质进行初始化扫描以发现坏块,并将坏块标记为不可用。在已制成的器件中,如果通过可靠的方法不能进行这项处理,将导致高故障率。
5、易于使用:
可以非常直接地使用基于nor的闪存,可以像其他存储器那样连接,并可以在上面直接运行代码。
由于需要i/o接口,nand要复杂得多。各种nand器件的存取方法因厂家而异。
在使用nand器件时,必须先写入驱动程序,才能继续执行其他操作。向nand器件写入信息需要相当的技巧,因为设计师绝不能向坏块写入,这就意味着在nand器件上自始至终都必须进行虚拟映射。
6、软件支持:
当讨论软件支持的时候,应该区别基本的读/写/擦操作和高一级的用于磁盘仿真和闪存管理算法的软件,包括性能优化。
在nor器件上运行代码不需要任何的软件支持,在nand器件上进行同样操作时,通常需要驱动程序,也就是内存技术驱动程序(mtd),nand和nor器件在进行写入和擦除操作时都需要mtd。
使用nor器件时所需要的mtd要相对少一些,许多厂商都提供用于nor器件的更高级软件,这其中包括m-system的trueffs驱动,该驱动被wind river system、microsoft、qnx software system、symbian和intel等厂商所采用。
驱动还用于对diskonchip产品进行仿真和nand闪存的管理,包括纠错、坏块处理和损耗平衡。
nor flash的主要供应商是intel ,micro等厂商,曾经是flash的主流产品,但现在被nand flash挤的比较难受。它的优点是可以直接从flash中运行程序,但是工艺复杂,价格比较贵。
nand flash的主要供应商是samsung和东芝,在u盘、各种存储卡、mp3播放器里面的都是这种flash,由于工艺上的不同,它比nor flash拥有更大存储容量,而且便宜。但也有缺点,就是无法寻址直接运行程序,只能存储数据。另外nand flash 非常容易出现坏区,所以需要有校验的算法。
在掌上电脑里要使用nand flash 存储数据和程序,但是必须有nor flash来启动。除了samsung处理器,其他用在掌上电脑的主流处理器还不支持直接由nand flash 启动程序。因此,必须先用一片小的nor flash 启动机器,在把os等软件从nand flash 载入sdram中运行才行,挺麻烦的。
dram 利用mos管的栅电容上的电荷来存储信息,一旦掉电信息会全部的丢失,由于栅极会漏电,所以每隔一定的时间就需要一个刷新机构给这些栅电容补充电荷,并且每读出一次数据之后也需要补充电荷,这个就叫动态刷新,所以称其为动态随机存储器。由于它只使用一个mos管来存信息,所以集成度可以很高,容量能够做的很大。sdram比它多了一个与cpu时钟同步。
sram 利用寄存器来存储信息,所以一旦掉电,资料就会全部丢失,只要供电,它的资料就会一直存在,不需要动态刷新,所以叫静态随机存储器。
以上主要用于系统内存储器,容量大,不需要断电后仍保存数据的。
flash rom 是利用浮置栅上的电容存储电荷来保存信息,因为浮置栅不会漏电,所以断电后信息仍然可以保存。也由于其机构简单所以集成度可以做的很高,容量可以很大。flash rom写入前需要用电进行擦除,而且擦除不同与eeprom可以以byte(字节)为单位进行,flash rom只能以sector(扇区)为单位进行。不过其写入时可以byte为单位。flash rom主要用于bios,u盘,mp3等需要大容量且断电不丢数据的设备。
psram,假静态随机存储器。
背景:
psram具有一个单晶体管的dram储存格,与传统具有六个晶体管的sram储存格或是四个晶体管与two-load resistor sram 储存格大不相同,但它具有类似sram的稳定接口,内部的dram架构给予psram一些比low-power 6t sram优异的长处,例如体积更为轻巧,售价更具竞争力。目前在整体sram市场中,有90%的制造商都在生产psram组件。在过去两年,市场上重要的sram/psram供货商有samsung、cypress、renesas、micron与toshiba等。
基本原理:
psram就是伪sram,内部的内存颗粒跟sdram的颗粒相似,但外部的接口跟sram相似,不需要sdram那样复杂的控制器和刷新机制,psram的接口跟sram的接口是一样的。
psram容量有8mbit,16mbit,32mbit等等,容量没有sdram那样密度高,但肯定是比sram的容量要高很多的,速度支持突发模式,并不是很慢,hynix,coremagic, winbond .micron. cy 等厂家都有供应,价格只比相同容量的sdram稍贵一点点,比sram便宜很多。
psram主要应用于手机,电子词典,掌上电脑,pda,pmp.mp3/4,gps接收器等消费电子产品与sram(采用6t的技术)相比,psram采用的是1t+1c的技术,所以在体积上更小,同时,psram的i/o接口与sram相同.在容量上,目前有4mb,8mb,16mb,32mb,64mb和128mb。比较于sdram,psram的功耗要低很多。所以对于要求有一定缓存容量的很多便携式产品是一个理想的选择。
当然了当中的rom与ram肯定来说细分不止当中的这几种,如果想要全面的了解这当中的细分,请见于这份文档;ram或rom_和flash存储的区别总结。当中联想到了一些有关于mpc5607b芯片的一些相关信息,请见于百度云分享,而最后突然想到了片上系统;英文:(soc:system on a chip)片上系统(soc:system-on-a-chip)指的是在单个芯片上集成一个完整的系统,对所有或部分必要的电子电路进行包分组的技术。所谓完整的系统一般包括中央处理器(cpu)、存储器、以及外围电路等。 soc是与其它技术并行发展的,如绝缘硅(soi),它可以提供增强的时钟频率,从而降低微芯片的功耗。片上系统技术通常应用于小型的,日益复杂的客户电子设备。例如,声音检测设备的片上系统是在单个芯片上为所有用户提供包括音频接收端、模数转换器(adc)、微处理器、必要的存储器以及输入输出逻辑控制等设备。此外系统芯片还应用于单芯片无线产品,诸如蓝牙设备,支持单芯片wlan和蜂窝电话解决方案。由于空前的高效集成性能,片上系统是替代集成电路的主要解决方案。soc 已经成为当前微电子芯片发展的必然趋势。
冷镜式露点仪简介
选用光藕继电器的三个原则和方法
索尼 Xperia Touch概念品直击,任何平面都能变触控板!
别再建机房了!企业数据也要人云亦“云”
协作机器人 - 安全额定监控停止
了解内存工作原理,及ROM、RAM、FLASH的区别
帝奥微服务器应用开关解决方案解析
【回顾往年CES】华为推出大屏手机Ascend Mate升级之作——Ascend Mate2 4G
好太太智能锁与京东五星合作,启动百城千店战略布局
5G会在哪些方面带来改变
兼具创新与活力的深圳移动机器人军团在市场中竞争力十足
玩Qt,这三种使用ui文件的方式不得不知!
iMX8MQ的进度条是这样制作的
智能调度的好处 智能调度主要技术
对于常用的电线电缆,它需要做的检测有哪些
索尼图像传感器业务营收近9000亿日元,今年或是日本第一
Superfish广告软件诉讼案联想同意支付730万美元
Cortex-A55和Cortex-A73处理器的区别
机械键盘什么轴好?青茶红黑轴到底应该如何选择?
传拜登将于下周初下令限制对华投资