分享

做了这么久的工程师,那些存储技术你都懂了吗?

 leeziyong 2017-10-22

做了这么久的工程师,那些存储技术你都懂了吗?

MCU的存储器?对于MCU开发工程师来说,这个还用问吗?当然是flash啦……

的确,今天的MCU片内存储器多以flash为主流。常用的还有哪些存储器种类?外置存储器的MPU、DSP、高速MCU用哪些存储器?不太清楚了?那我们就聊聊这个话题。

做了这么久的工程师,那些存储技术你都懂了吗?

RAM与ROM

存储器(Memory)分两类:RAM和ROM。

RAM的存取速度非常快,但是掉电后数据不能保存,常用来保存一些中间运行结果。

ROM在掉电情况下能保证数据不丢失,但是速度稍慢,常用来保存程序代码和原始配置信息。

TI发布的MSP430FRxx系列MCU采用FRAM技术,是对传统flash型MCU的一次升级。

而最新的MRAM技术将RAM和ROM的优点结合起来,既能实现高速的数据存储,又能实现掉电后数据不丢失。

RAM中的SRAM与DRAM

简单说,DRAM用作内存比较多,SRAM用作cache比较多。

从名字上看,SRAM与DRAM的区别只在于一个是静态,一个是动态。由于SRAM不需要刷新电路就能够保存数据,所以具有静止存取数据的作用。而DRAM则需要不停地刷新电路,否则内部的数据将会消失。而且不停刷新电路的功耗是很高的,在我们的PC待机时消耗的电量有很大一部分都来自于对内存的刷新。那么为什么我们不用SRAM来作为内存呢?

首先来看一张SRAM的基本单元结构,再来看看DRAM的基本单元结构:

做了这么久的工程师,那些存储技术你都懂了吗?

SRAM的基本单元结构

做了这么久的工程师,那些存储技术你都懂了吗?

DRAM的基本单元结构

SRAM存储一位需要花6个晶体管,而DRAM只需要花一个电容和一个晶体管。cache追求的是速度所以选择SRAM,而内存则追求容量所以选择能够在相同空间中存放更多内容并且造价相对低廉的DRAM。

为什么DRAM需要不断刷新呢?

DRAM的数据实际上是存在电容里的。而电容放久了,内部的电荷就会越来越少,对外就形成不了电位的变化。而且当对DRAM进行读操作的时候需要将电容与外界形成回路,通过检查是否有电荷流进或流出来判断该bit是1还是0。

所以无论怎样,在读操作中我们都破坏了原来的数据。所以在读操作结束后需要将数据写回DRAM中。在整个读或者写操作的周期中,计算机都会进行DRAM的刷新,通常是刷新的周期是4ms-64ms。

关于SRAM和DRAM的寻址方式也有所不同。虽然通常我们都认为内存像一个长长的数组呈一维排列,但实际上内存是以一个二维数组的形式排列的,每个单元都有其行地址和列地址,当然cache也一样。

而这两者的不同在于对于容量较小的SRAM,我们可以将行地址和列地址一次性传入到SRAM中,而如果我们对DRAM也这样做的话,则需要很多很多根地址线(容量越大,地址越长,地址位数越多)。

所以我们选择分别传送行地址和列地址到DRAM中。先选中一整行,然后将整行数据存到一个锁存器中,等待列地址的传送然后选中所需要的数据。这也是为什么SRAM比DRAM快的原因之一。

计算机的DDR内存条

我们生活中离不了电脑,对电脑中的RAM做一个简介:

SSRAM: Synchronous Static RAM 同步静态随机访问存储器。

同步是指Memory工作需要时钟,内部的命令的发送与数据的传输都以它为基准,随机是指数据不是线性依次存储,而是由指定地址进行数据读写。对于SSRAM的所有访问都在时钟的上升/下降沿启动。地址、数据输入和其它控制信号均于时钟信号相关。这一点与异步SRAM不同,异步SRAM的访问独立于时钟,数据输入和输出都由地址的变化控制。

SDRAM: Synchronous Dynamic RAM 同步动态随机访问存储器。

做了这么久的工程师,那些存储技术你都懂了吗?

如图,刷新周期64ms、速度133MHz、结构16Mb*16的SDRAM。

DDR: Double Date Rate 双倍速,常见的DDR SDRAM指的是双倍速率同步动态随机访问存储器 。

DDR SDRAM 和SDRAM的差别:SDRAM在一个时钟周期内只传输一次数据,它是在时钟的上升期进行数据传输;而DDR内存则是一个时钟周期内传输两次次数据,它能够在时钟的上升期和下降期各传输一次数据,因此称为双倍速率同步动态随机存储器。DDR内存可以在与SDRAM相同的总线频率下达到更高的数据传输率

做了这么久的工程师,那些存储技术你都懂了吗?

DDR其实是DDR1,后续的升级版还有DDR2和DDR3,此处不在赘述。

ROM技术

在MCU领域常见的ROM主要包括:MASK、OTP、PROM、EPROM、EEPROM 、FLASH等。

MASK ROM:掩模只读存储器,是制造商为了要大量生产,事先制作一颗有原始数据的ROM或EPROM当作样本,然后再大量生产与样本一样的 ROM,这一种做为大量生产的ROM样本就是MASK ROM,而烧录在MASK ROM中的资料永远无法做修改。

OTP ROM: one-time programmable ROM :一次性可编程只读存储器。

PROM: Programmable ROM 可编程只读存储器,内容一经写入以后,就不可能修改了,所以只可以写入一次。

EPROM: Erasable Programmable ROM 可擦除可编程只读存储器,用紫外线照射进行擦除,高压编程写入(+21V或+12V)。

EEPROM: Electrically Erasable Programmable ROM 电可擦除可编程只读存储器,用电擦除。

FLASH Memory: 即闪存,电可擦除。

对于早期的MCU工程师来说:MASK的MCU价格便宜,但程序在出厂时已经固化,适合程序固定不变的应用场合。FALSH的MCU程序可以反复擦写,灵活性很强,但价格较高,适合对价格不敏感的应用场合或做开发用途。

OTP的MCU价格介于前两者之间,同时又拥有一次性可编程能力,适合既要求一定灵活性,又要求低成本的应用场合,尤其是功能不断翻新、需要迅速量产的电子产品。

Flash又分两类:NOR Flash和NADN Flash。

NOR Flash块擦出写入,随机读取。NOR Flash的读取和我们常见的SDRAM的读取是一样,用户可以直接运行装载在NOR FLASH里面的代码,这样可以减少SRAM的容量从而节约了成本。

NAND Flash 块擦出写入,块读取。NAND Flash没有采取内存的随机读取技术,它的读取是以一次读取一块的形式来进行的,通常是一次读取512个字节,采用这种技术的Flash比较廉价。用户不能直接运行NAND Flash上的代码,因此好多使用NAND Flash的开发板除了使用NAND Flah以外,还作上了一块小的NOR Flash来运行启动代码。

做了这么久的工程师,那些存储技术你都懂了吗?

K9F1G08U0,128M x 8 Bit的NAND Flash,块擦除2ms,写入速度300us。

小容量存储一般采用NOR Flash,因为其读取速度快,多用来存储操作系统等重要信息。而大容量存储采用NAND FLASH,最常见的NAND FLASH应用是嵌入式系统采用的DOC(Disk On Chip)和我们通常用的'闪盘',可以在线擦除。

FRAM铁电存储

铁电随机存取存储器 (FRAM)(也称为 FeRAM 或 F-RAM)是一种集闪存和 SRAM 的最佳特性于一体的存储器技术。FRAM 具有非易失性(如同闪存),但支持快速和低功耗写入,写入寿命可达 1015 个周期,具有比闪存/EEPROM 更不易受到攻击者攻击的代码和数据安全性,可抵抗辐射和电磁场,并且具有无可比拟的灵活性。这种存储器技术已经非常成熟。

做了这么久的工程师,那些存储技术你都懂了吗?

FRAM是随机存取存储器,这意味着每个位都是单独进行读写的。这种非易失性存储器的结构与 DRAM 相似,采用一个晶体管和一个电容器 (1T-1C),但 FRAM 以铁电材料(锆钛酸铅)偏振的方式存储数据。在施加电场后,晶体结构中的偶极发生偏移,从而存储信息。

与典型的 MSP430 微控制器应用中使用的闪存、EEPROM 和 SRAM 技术相比,使用晶体偏振而非电荷存储可以保持状态、降低电压要求(最低达 1.5V)并实现高写入速度。除了与传统存储器技术有关的优点外,FRAM 还具有系统级安全优势。

由于取消了电荷泵,消除了容易受到物理攻击的一个关键软肋。FRAM 还能够抵御电场/磁场及辐射的影响。由于 FRAM 状态不以电荷形式存储,阿尔法粒子不太可能使位改变,并且 FRAM 软错误率 (SER) 低于可检测到的极限。

除了这种抗外部干扰能力,FRAM 还具有防分裂能力,即写入/擦除周期中的功率损失不会造成数据损坏。最后,常常可以使用加密对数据进行保护。FRAM 的高写入速度和高寿命使开发人员能够更频繁地生成密钥,从而更好地保护数据传输。

炙手可热的MRAM

MRAM全称磁阻随机访问内存,已经存在一段时间了(1998年motorola已经制造出256kb的测试芯片)。MRAM技术的读写速度可以媲美SRAM、DRAM,当同时又是非易失性的,也就是可以断电保存数据,等于综合了RAM、Flash的优点。

早在2006年,飞思卡尔半导体公司开售世界第一个市场化的MRAM芯片----MR2A16A。该芯片容量4Mbit,售价$25。写入/读取速度35ns,制程180纳米。如下图所示。

做了这么久的工程师,那些存储技术你都懂了吗?

但是2014年TDK将其带到了一个新的高度,它以磁荷为数据存储介质,而它的名字来自自旋传输矩,也即是写入数据的时候利用电子角动量来改变磁场。

TDK多年来一直在研究STT-MRAM,但此前从未公开展示。2014年拿出的原型芯片和一个NOR Flash闪存进行了肩并肩对比,读写数据的速度是后者的7倍多——342MB/s VS. 48MB/s。小伙伴,你被这个速度震惊到了吗?

由于MRAM性能非常优秀,因此也被认为是下一代存储之王。据悉已有四家主要的代工厂计划在今年或明年以嵌入式内存解决方案的形式提供 MRAM ,为这项下一代内存技术设置了最终将变革市场格局的舞台。



    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多