RAM有两大类,一种称为静态RAM(Static RAM/SRAM),SRAM速度非常快,是目前读写最快的存储设备了,但是它也非常昂贵,所以只在要求很苛刻的地方使用,譬如CPU的一级缓冲cache。
另一种是动态RAM(Dynamic RAM/DRAM),DRAM保留数据的时间很短,速度也比SRAM慢,不过它还是比任何的ROM都要快,但从价格上来说DRAM相比SRAM要便宜很多,计算机内存就是DRAM的。
Flash(闪存)也分两类,即NAND Flash 和 NOR Flash,flash闪存是非易失存储器,可以对块的存储器单元块进行擦写和再编程。
任何Flash器件的写入操作只能在空或已擦除的单元内进行,所以大多数情况下,在进行写入操作之前必须先执行擦除。Flash 的编程原理都是只能将1写为0,而不能将0写为1。所以在 Flash 编程之前,必须将对应的块擦除,而擦除的过程就是把所有位都写为 1的过程,块内的所有字节变为0xFF。
接触最多的就是RAM即内存,内存与Flash的区别:易失性,即断电后RAM里面的数据就没了,而Flash里面的数据依然存在。
两种闪存都是用三端器件作为存储单元,分别为源极、漏极和栅极,与场效应管的工作原理相同,主要是利用电场的效应来控制源极与漏极之间的通断,栅极的电流消耗极小,不同的是场效应管为单栅极结构,而 FLASH 为双栅极结构,在栅极与硅衬底之间增加了一个浮置栅极。
浮置栅极是由氮化物夹在两层二氧化硅材料之间构成的,中间的氮化物就是可以存储电荷的电荷势阱。上下两层氧化物的厚度大于 50 埃,以避免发生击穿。
向数据单元内写入数据的过程就是向电荷势阱注入电荷的过程,写入数据有两种技术,热电子注入(hot electron injection)和 F-N 隧道效应(Fowler Nordheim tunneling),前一种是通过源极给浮栅充电,后一种是通过硅基层给浮栅充电。
NOR 型 FLASH 通过热电子注入方式给浮栅充电,而 NAND 则通过 F-N 隧道效应给浮栅充电。
在写入新数据之前,必须先将原来的数据擦除,这点跟硬盘不同,也就是将浮栅的电荷放掉,两种 FLASH 都是通过 F-N 隧道效应放电。
这方面两种 FLASH 一样,向浮栅中注入电荷表示写入了'0',没有注入电荷表示'1',所以对FLASH 清除数据是写 1 的,这与硬盘正好相反;
对于浮栅中有电荷的单元来说,由于浮栅的感应作用,在源极和漏极之间将形成带正电的空间电荷区,这时无论控制极上有没有施加偏置电压,晶体管都将处于导通状态。
而对于浮栅中没有电荷的晶体管来说只有当控制极上施加有适当的偏置电压,在硅基层上感应出电荷,源极和漏极才能导通,也就是说在没有给控制极施加偏置电压时,晶体管是截止的。
如果晶体管的源极接地而漏极接位线,在无偏置电压的情况下,检测晶体管的导通状态就可以获得存储单元中的数据,如果位线上的电平为低,说明晶体管处于导通状态,读取的数据为 0,如果位线上为高电平,则说明晶体管处于截止状态,读取的数据为 1。
由于控制栅极在读取数据的过程中施加的电压较小或根本不施加电压,不足以改变浮置栅极中原有的电荷量,所以读取操作不会改变 FLASH 中原有的数据。
Flash闪存是非易失存储器,可以对称为块的存储器单元块进行擦写和再编程。任何flash器件的写入操作只能在空或已擦除的单元内进行,所以大多数情况下,在进行写入操作之前必须先执行擦除。
NAND器件执行擦除操作是十分简单的,而NOR则要求在进行擦除前先要将目标块内所有的位都写为0。
由于擦除NOR器件时是以64~128KB的块进行的,执行一个写入/擦除操作的时间为5s,与此相反,擦除NAND器件是以8~32KB的块进行的,执行相同的操作最多只需要4ms。
NOR Flash带有SRAM接口,有足够的地址引脚来寻址,可以很容易地存取其内部的每一个字节。
NAND器件使用复杂的I/O口来串行地存取数据,各个产品或厂商的方法可能各不相同。8个引脚用来传送控制、地址和数据信息。
NAND读和写操作采用512字节的块,这一点有点像硬盘管理此类操作,很自然地,基于NAND的存储器就可以取代硬盘或其他块设备。
NAND Flash的单元尺寸几乎是NOR器件的一半,由于生产过程更为简单,NAND结构可以在给定的模具尺寸内提供更高的容量,也就相应地降低了价格,大概只有NOR的十分之一。
在NAND闪存中每个块的最大擦写次数是一百万次,而NOR的擦写次数是十万次。NAND存储器除了具有10比1的块擦除周期优势,典型的NAND块尺寸要比NOR器件小8倍,每个NAND存储器块在给定的时间内的删除次数要少一些。
Flash器件是电子产品,通过电位的0和1来存储数据,如果比特位发生反转,如从0变成了1,就发生了位交换现象。一位的变化可能不很明显,但是如果发生在一个关键文件上,这个小小的故障可能导致系统停机。
如果只是报告有问题,多读几次就可能解决了。如果这个位真的改变了,就必须采用错误探测/错误更正(EDC/ECC)算法来进行纠正,从而保证数据的准确性。
说明:
本文是Flash 闪存卡的概念科普,整理自网络,不保证数据和概念的准确性,仅供参考。
AboutDave:
--------------------------------------------------------------------------------------------
QQ: 251097186
Email: [email protected]
Blog: http://blog.csdn.net/tianlesoftware
Weibo: http://weibo.com/tianlesoftware
Twitter: http://twitter.com/tianlesoftware
Facebook: http://www.facebook.com/tianlesoftware
Linkedin: http://cn.linkedin.com/in/tianlesoftware
Dave 的QQ群:
--------------------------------------------------------------------------------------------
注意:加群必须注明表空间和数据文件关系 | 不要重复加群
CNDBA_1: 62697850 (空) CNDBA_2: 62697716 (满) CNDBA_3: 283816689
CNDBA_4: 391125754 CNDBA_5:104207940 CNDBA_6: 62697977 CNDBA_7: 142216823(满)