ROM,RAM,FLASH深度知识盘点,绝对有你不清楚的地方

描述

前几天偶然之间与同事谈论到 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 已经成为当前微电子芯片发展的必然趋势。

审核编辑 黄昊宇

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分