内存工作原理:
内存是用来存放当前正在使用的(即执行中)的数据和程序,我们平常所提到的计算机的内存指的是动态内存(即dram),动态内存中所谓的动态,指的是当我们将数据写入dram后,经过一段时间,数据会丢失,因此需要一个额外设电路进行内存刷新操作。具体的工作过程是这样的:一个dram的存储单元存储的是0还是1取决于电容是否有电荷,有电荷代表1,无电荷代表0。但时间一长,代表1的电容会放电,代表0的电容会吸收电荷,这就是数据丢失的原因;刷新操作定期对电容进行检查,若电量大于满电量的1/2,则认为其代表1,并把电容充满电;若电量小于1/2,则认为其代表0,并把电容放电,藉此来保持数据的连续性 。
rom和ram指的都是半导体存储器,rom是read only memory的缩写,ram是random access memory的缩写。
rom在系统停止供电的时候仍然可以保持数据,而ram通常都是在掉电之后就丢失数据,典型的ram就是计算机的内存。
ram主要分为两类,一类是静态ram(static ram/sram)。另一类是动态ram(dynamic ram/dram)。
ram
sram速度非常快,是目前读写最快的存储设备了,但是它也非常昂贵,所以只在要求很苛刻的地方使用,譬如cpu的一级缓冲,二级缓冲。利用寄存器来存储信息,所以一旦掉电,资料就会全部丢失,只要供电,它的资料就会一直存在,不需要动态刷新,所以叫静态随机存储器。
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加速卡的像素渲染能力。
sdram,即synchronous dram(同步动态随机存储器),曾经是pc电脑上最为广泛应用的一种内存类型,即便在今天sdram仍旧还在市场占有一席之地。既然是“同步动态随机存储器”,那就代表着它的工作速度是与系统总线速度同步的。sdram内存又分为pc66、pc100、pc133等不同规格,而规格后面的数字就代表着该内存最大所能正常工作系统总线速度,比如pc100,那就说明此内存可以在系统总线为100mhz的电脑中同步工作。
psram,假静态随机存储器。具有一个单晶体管的dram储存格,但它具有类似sram的稳定接口,内部的dram架构给予psram一些比low-power 6tsram优异的长处,例如体积更为轻巧,售价更具竞争力。
基本原理:psram就是伪sram,内部的内存颗粒跟sdram的颗粒相似,但外部的接口跟sram相似,不需要sdram那样复杂的控制器和刷新机制,psram的接口跟sram的接口是一样的。
psram容量有8mbit,16mbit,32mbit等等,容量没有sdram那样密度高,但肯定是比sram的容量要高很多的,速度支持突发模式,并不是很慢,hynix,coremagic, winbond .micron. cy等厂家都有供应,价格只比相同容量的sdram稍贵一点点,比sram便宜很多。
rom
prom是可编程的rom,主要分为两类,prom和eprom,prom是一次性的,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。
比较
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中运行才行,挺麻烦的。
苹果专利申请暴露出其在 AR眼镜上的计划,将会成为 iPhone专属配件?
长安汽车:阿维塔12上市72小时大定超1.1万辆,90后用户占比过半
工信部表示2019年将启动宽带网络双G双提同网同速行动
海尔除醛净化器除醛除污轻而易举 是你无法拒绝的健康神器
开关柜智能操控装置“智能”如何体现
两类存储器的工作原理及其特征比较
黑芝麻智能全面提速自动驾驶芯片的量产应用
多种LED齐发展 传统LED将临竞争危机?
为何北汽蓝谷去年销量暴增,又突然大幅减产?
三星发出预警 芯片短缺将从汽车蔓延至智能手机
苹果传感器供应商AMS预计第四季度收入达5.7亿—6.1亿美元
一至二月国内智能手机市场将同比大幅下滑40%
AI芯片的前生今世与未来之路
简单光度计,Simple photometer
语音技术的发展将会给我们的生活带来便利
行业自动化设备保养以及维护方法
华为问题不仅会影响美国运营商的服务还可能令美国就业机会面临风险
硅阳极、石墨烯、铝氧电池,谁会是电池技术的未来
采用工业功率MOSFET的锂离子电池解决方案
DC电源模块的高转换率