|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
* {0 i+ S6 b8 \' y/ B
/ i% | d# r4 w+ BROM和RAM指的都是半导体存储器,ROM是Read Only Memory的缩写,RAM是Random Access Memory的缩写。ROM在系统停止供电的时候仍然可以保持数据,而RAM通常都是在掉电之后就丢失数据,典型的RAM就是计算机的内存。
4 Q2 G0 h) \& E+ K$ \# x1 h
h6 k4 @$ C- |' b" D- ORAM有两大类,一种称为静态RAM(Static RAM/SRAM),SRAM速度非常快,是目前读写最快的存储设备了,但是它也非常昂贵,所以只在要求很苛刻的地方使用,譬如CPU的一级缓冲,二级缓冲。另一种称为动态。1 b0 L8 W0 B, @% @5 ^1 o
4 o1 g/ A" S7 U4 \RAM(Dynamic RAM/DRAM),DRAM保留数据的时间很短,速度也比SRAM慢,不过它还是比任何的ROM都要快,但从价格上来说DRAM相比SRAM要便宜很多,计算机内存就是DRAM的。" Q! ]3 j, l: E. `+ l! Z
4 @' P% I, J/ R( K, J, PDRAM分为很多种,常见的主要有FPRAM/FastPage、EDORAM、SDRAM、DDR RAM、RDRAM、SGRAM以及WRAM等,这里介绍其中的一种DDR RAM。
^2 J4 K1 \- ?) s: w# {5 M1 \' u, J7 } J5 \% e% b
DDR RAM(Date-Rate RAM)也称作DDR SDRAM,这种改进型的RAM和SDRAM是基本一样的,不同之处在于它可以在一个时钟读写两次数据,这样就使得数据传输速度加倍了。这是目前电脑中用得最多的内存,而且它有着成本优势,事实上击败了Intel的另外一种内存标准-Rambus DRAM。在很多高端的显卡上,也配备了高速DDR RAM来提高带宽,这可以大幅度提高3D加速卡的像素渲染能力。 h9 f( I& Y3 Q, X, c% F
2 i) P9 ~; |& K$ J! D
内存工作原理:
: g+ W! Z' w3 L2 `
8 X9 K Z6 H3 e2 I% c7 c内存是用来存放当前正在使用的(即执行中)的数据和程序,我们平常所提到的计算机的内存指的是动态内存(即DRAM),动态内存中所谓的"动态",指的是当我们将数据写入DRAM后,经过一段时间,数据会丢失,因此需要一个额外设电路进行内存刷新操作。9 `* x( ~4 y( l
+ D0 X6 z* l1 i( T* Y6 Z x
具体的工作过程是这样的:一个DRAM的存储单元存储的是0还是1取决于电容是否有电荷,有电荷代表1,无电荷代表0。但时间一长,代表1的电容会放电,代表0的电容会吸收电荷,这就是数据丢失的原因;刷新操作定期对电容进行检查,若电量大于满电量的1/2,则认为其代表1,并把电容充满电;若电量小于1/2,则认为其代表0,并把电容放电,藉此来保持数据的连续性。
# }, U# l' m G5 L& T# R/ h
( L$ r# o, W# ?( ?+ O' pROM也有很多种,PROM是可编程的ROM,PROM和EPROM(可擦除可编程ROM)两者区别是,PROM是一次性的,也就是软件灌入后,就无法修改了,这种是早期的产品,现在已经不可能使用了,而EPROM是通过紫外光的照射擦出原先的程序,是一种通用的存储器。另外一种EEPROM是通过电子擦出,价格很高,写入时间很长,写入很慢。& c' b9 J: C6 c, \$ N( ]
: L( ]! k4 X# E$ T举个例子,手机软件一般放在EEPROM中,我们打电话,有些最后拨打的号码,暂时是存在SRAM中的,不是马上写入通过记录(通话记录保存在EEPROM中),因为当时有很重要工作(通话)要做,如果写入,漫长的等待是让用户忍无可忍的。
+ h- t2 Z. G& u' _; E* @8 R' c W
FLASH存储器又称闪存,它结合了ROM和RAM的长处,不仅具备电子可擦除可编程(EEPROM)的性能,还不会断电丢失数据同时可以快速读取数据(NVRAM的优势),U盘和MP3里用的就是这种存储器。在过去的20年里,嵌入式系统一直使用ROM(EPROM)作为它们的存储设备,然而近年来Flash全面代替了ROM(EPROM)在嵌入式系统中的地位,用作存储Bootloader以及操作系统或者程序代码或者直接当硬盘使用(U盘)。* E8 z9 [: E* C( A) A
- J; }$ _' x/ N' G v) H7 o目前Flash主要有两种NOR Flash和NADN Flash。5 }0 r, I1 @% M7 y) e& I
% @; n8 \% ?1 I/ Y# g( JNOR Flash的读取和我们常见的SDRAM的读取是一样,用户可以直接运行装载在NOR FLASH里面的代码,这样可以减少SRAM的容量从而节约了成本。2 b, D( L G' A1 o, k
& C# a4 p: N/ U P
NAND Flash没有采取内存的随机读取技术,它的读取是以一次读取一块的形式来进行的,通常是一次读取512个字节,采用这种技术的Flash比较廉价。用户不能直接运行NAND Flash上的代码,因此好多使用NAND Flash的开发板除了使用NAND Flah以外,还作上了一块小的NOR Flash来运行启动代码。
* T3 ^" s) @/ Y6 u
6 z* z& T2 v% x% U" ?# s: D一般小容量的用NOR Flash,因为其读取速度快,多用来存储操作系统等重要信息,而大容量的用NAND FLASH,最常见的NAND FLASH应用是嵌入式系统采用的DOC(Disk On Chip)和我们通常用的"闪盘",可以在线擦除。目前市面上的FLASH 主要来自Intel,AMD,Fujitsu和Toshiba,而生产NAND Flash的主要厂家有Samsung和Toshiba。8 @8 k* j/ H* V4 y# o) I1 ~
$ N$ k" I& Q9 H
NAND Flash和NOR Flash的比较
3 }* j% j: c& q, ?- H' p+ l# U7 _. c' E" z4 ]: s
NOR和NAND是现在市场上两种主要的非易失闪存技术。Intel于1988年首先开发出NOR flash技术,彻底改变了原先由EPROM和EEPROM一统天下的局面。紧接着,1989年,东芝公司发表了NAND flash结构,强调降低每比特的成本,更高的性能,并且象磁盘一样可以通过接口轻松升级。但是经过了十多年之后,仍然有相当多的硬件工程师分不清NOR和NAND闪存。* o4 t, `# X# {0 N/ k
; O, ` w5 `6 h# ?3 _相"flash存储器"经常可以与相"NOR存储器"互换使用。许多业内人士也搞不清楚NAND闪存技术相对于NOR技术的优越之处,因为大多数情况下闪存只是用来存储少量的代码,这时NOR闪存更适合一些。而NAND则是高数据存储密度的理想解决方案。
4 U; Z/ K* I$ ?0 F. R& {2 b; a5 q/ i0 f
NOR是现在市场上主要的非易失闪存技术。NOR一般只用来存储少量的代码;NOR主要应用在代码存储介质中。NOR的特点是应用简单、无需专门的接口电路、传输效率高,它是属于芯片内执行(XIP, eXecute In Place),这样应用程序可以直接在(NOR型)flash闪存内运行,不必再把代码读到系统RAM中。在1~4MB的小容量时具有很高的成本效益,但是很低的写入和擦除速度大大影响了它的性能。NOR flash带有SRAM接口,有足够的地址引脚来寻址,可以很容易地存取其内部的每一个字节。NOR flash占据了容量为1~16MB闪存市场的大部分。" {8 i1 W3 n8 R* A( d9 l) |. `5 H
9 A7 S7 b' f7 U0 A" m, j# }( K9 eNAND结构能提供极高的单元密度,可以达到高存储密度,并且写入和擦除的速度也很快。应用NAND的困难在于flash的管理和需要特殊的系统接口。+ q) J2 m/ T: E0 D3 {
1、性能比较:% ^2 z' k) m! ~. o( H0 A
flash闪存是非易失存储器,可以对称为块的存储器单元块进行擦写和再编程。任何flash器件的写入操作只能在空或已擦除的单元内进行,所以大多数情况下,在进行写入操作之前必须先执行擦除。NAND器件执行擦除操作是十分简单的,而NOR则要求在进行擦除前先要将目标块内所有的位都写为1。
, K: J; }+ N# G1 @" V7 K: x0 I1 F* K3 b0 S" i3 S
由于擦除NOR器件时是以64~128KB的块进行的,执行一个写入/擦除操作的时间为5s,与此相反,擦除NAND器件是以8~32KB的块进行的,执行相同的操作最多只需要4ms。7 y: b6 G1 p% P/ H2 i0 G i: J
/ t+ B2 q6 y p; `8 M J0 @
执行擦除时块尺寸的不同进一步拉大了NOR和NADN之间的性能差距,统计表明,对于给定的一套写入操作(尤其是更新小文件时),更多的擦除操作必须在基于NOR的单元中进行。这样,当选择存储解决方案时,设计师必须权衡以下的各项因素:. ^2 W9 k- A+ d* G4 G
● NOR的读速度比NAND稍快一些。
- ]& V: }: k" ]; y' x# I● NAND的写入速度比NOR快很多。$ O* n+ q9 R& `) {2 f y
● NAND的4ms擦除速度远比NOR的5s快。
2 H- r2 p+ O- H" d# I5 @# K9 D● 大多数写入操作需要先进行擦除操作。
+ w. m3 Y" s- v9 z7 `. R. t● NAND的擦除单元更小,相应的擦除电路更少。
! ~1 h, U# m: z" q1 y! v. ~
Z5 f) U1 e3 ?3 G$ R; S2 j(注:NOR FLASH SECTOR擦除时间视品牌、大小不同而不同,比如,4M FLASH,有的SECTOR擦除时间为60ms,而有的需要最大6s。)4 W: g% `- r" q* O/ k
W- A$ S1 F0 h$ u
2、接口差别:
3 D' }$ F& ]' \0 @ m3 s# e) E% G7 P7 i6 N1 [9 E# d8 r# G
NOR flash带有SRAM接口,有足够的地址引脚来寻址,可以很容易地存取其内部的每一个字节。8 X, ^9 o3 N/ t( L
+ r5 d0 i3 k/ R7 a( XNAND器件使用复杂的I/O口来串行地存取数据,各个产品或厂商的方法可能各不相同。8个引脚用来传送控制、地址和数据信息。
9 j) z+ t5 v& d; G- p7 }- Y0 d. S
NAND读和写操作采用512字节的块,这一点有点像硬盘管理此类操作,很自然地,基于NAND的存储器就可以取代硬盘或其他块设备。! j5 M, h- x5 R& S
9 q' Y3 Q1 W5 G6 u
3、容量和成本:
% s+ T1 Z& {1 @4 D& Q: s
# k7 d3 ~" b+ F$ I9 j. q# a9 H# jNAND flash的单元尺寸几乎是NOR器件的一半,由于生产过程更为简单,NAND结构可以在给定的模具尺寸内提供更高的容量,也就相应地降低了价格。0 `- y$ J( C3 S
2 J% k) }& B$ X; @( n: M/ x k
NOR flash占据了容量为1~16MB闪存市场的大部分,而NAND flash只是用在8~128MB的产品当中,这也说明NOR主要应用在代码存储介质中,NAND适合于数据存储,NAND在CompactFlash、Secure Digital、PC Cards和MMC存储卡市场上所占份额最大。+ O% b/ [% C7 {% G$ x
; l8 [! m0 u1 l" P$ b4、可靠性和耐用性:8 L, T/ C+ f9 z% f/ R2 x* ?
; @7 W0 n5 M6 z1 H* \
采用flahs介质时一个需要重点考虑的问题是可靠性。对于需要扩展MTBF的系统来说,Flash是非常合适的存储方案。可以从寿命(耐用性)、位交换和坏块处理三个方面来比较NOR和NAND的可靠性。9 X8 {6 L! n. q) y1 z
0 L! W6 E) {6 [% E
A) 寿命(耐用性)
; @ o- m$ `+ w3 l1 e( ?. d. B- j7 w4 k+ l* e2 Z: ]8 e: n$ Y+ f
在NAND闪存中每个块的最大擦写次数是一百万次,而NOR的擦写次数是十万次。NAND存储器除了具有10比1的块擦除周期优势,典型的NAND块尺寸要比NOR器件小8倍,每个NAND存储器块在给定的时间内的删除次数要少一些。
! K% {7 J% w5 h \8 Y
% y. c6 R" e4 V8 c0 v: t5 [3 L6 R' E- MB) 位交换6 z2 ] y4 Y' {# W
6 |+ y" d5 X/ v% m# E1 D# E8 H! |
所有flash器件都受位交换现象的困扰。在某些情况下(很少见,NAND发生的次数要比NOR多),一个比特(bit)位会发生反转或被报告反转了。
" d Q; G9 d4 T
& j3 d) O3 I6 I8 K) R一位的变化可能不很明显,但是如果发生在一个关键文件上,这个小小的故障可能导致系统停机。如果只是报告有问题,多读几次就可能解决了。- \8 a2 Z$ t& a. c: H
) |. \+ b: Z2 g4 U7 ]# ]当然,如果这个位真的改变了,就必须采用错误探测/错误更正(EDC/ECC)算法。位反转的问题更多见于NAND闪存,NAND的供应商建议使用NAND闪存的时候,同时使用EDC/ECC算法。
( ~: z# R+ R% v/ R$ v3 E. e6 P- p! m" w7 h9 P: K0 J! |1 V
这个问题对于用NAND存储多媒体信息时倒不是致命的。当然,如果用本地存储设备来存储操作系统、配置文件或其他敏感信息时,必须使用EDC/ECC系统以确保可靠性。
' w/ E) G, G% ~
: w3 K% ]1 ]; rC) 坏块处理0 P- @5 Q. z, ?4 }2 h4 V" ~
" |& n! V& T! H( Z4 d( h' XNAND器件中的坏块是随机分布的。以前也曾有过消除坏块的努力,但发现成品率太低,代价太高,根本不划算。
n( [8 t# H5 `
4 X, ?) O* v: r: k$ kNAND器件需要对介质进行初始化扫描以发现坏块,并将坏块标记为不可用。在已制成的器件中,如果通过可靠的方法不能进行这项处理,将导致高故障率。$ J1 w6 ?" v1 N9 m
0 {/ y$ ~, K8 Z% ~! C1 ?4 G) X5、易于使用:
0 [+ f& v2 J" {! t* D
3 D* l; s$ s& E9 L4 I( r可以非常直接地使用基于NOR的闪存,可以像其他存储器那样连接,并可以在上面直接运行代码。/ I9 x, U0 A3 F3 P4 U
6 E8 j8 X! }9 x3 f" D2 c4 B由于需要I/O接口,NAND要复杂得多。各种NAND器件的存取方法因厂家而异。
{+ U5 P: t( f2 @$ B
" z! h& L- C7 k8 _' K. z" o在使用NAND器件时,必须先写入驱动程序,才能继续执行其他操作。向NAND器件写入信息需要相当的技巧,因为设计师绝不能向坏块写入,这就意味着在NAND器件上自始至终都必须进行虚拟映射。
$ _# \) B% p" t" |+ O' m5 a$ v$ E7 m& d |6 N3 C' Z6 J* y
6、软件支持:, @& E% V; `3 @- g+ z1 W! \ ?. Q( l
+ @! M) k, j' ~2 D, u' W; M
当讨论软件支持的时候,应该区别基本的读/写/擦操作和高一级的用于磁盘仿真和闪存管理算法的软件,包括性能优化。9 ?7 r* e+ a/ c# k* K2 o! f0 d
6 e: u; I* E8 q: |5 Z2 i" w/ L, B% @
在NOR器件上运行代码不需要任何的软件支持,在NAND器件上进行同样操作时,通常需要驱动程序,也就是内存技术驱动程序(MTD),NAND和NOR器件在进行写入和擦除操作时都需要MTD。5 o1 V8 K+ ^5 b/ q; z
; c& \/ m j1 Y. U使用NOR器件时所需要的MTD要相对少一些,许多厂商都提供用于NOR器件的更高级软件,这其中包括M-System的TrueFFS驱动,该驱动被Wind River System、Microsoft、QNX Software System、Symbian和Intel等厂商所采用。
0 E! d( C7 M4 L4 Y& H3 l: O; N& i- m! X7 p; X( V
驱动还用于对DiskOnChip产品进行仿真和NAND闪存的管理,包括纠错、坏块处理和损耗平衡。$ |! \0 f9 O1 N
$ g# J O& M9 r
NOR FLASH的主要供应商是INTEL ,MICRO等厂商,曾经是FLASH的主流产品,但现在被NAND FLASH挤的比较难受。它的优点是可以直接从FLASH中运行程序,但是工艺复杂,价格比较贵。
! i" t6 [3 p( c3 \' {/ ~8 B
4 }6 H. f6 S( mNAND FLASH的主要供应商是SAMSUNG和东芝,在U盘、各种存储卡、MP3播放器里面的都是这种FLASH,由于工艺上的不同,它比NOR FLASH拥有更大存储容量,而且便宜。但也有缺点,就是无法寻址直接运行程序,只能存储数据。另外NAND FLASH 非常容易出现坏区,所以需要有校验的算法。4 r/ M0 m2 ~# ?1 t
* E0 m- [( y) l+ P; a% d- A. s3 ?
在掌上电脑里要使用NAND FLASH 存储数据和程序,但是必须有NOR FLASH来启动。除了SAMSUNG处理器,其他用在掌上电脑的主流处理器还不支持直接由NAND FLASH 启动程序。因此,必须先用一片小的NOR FLASH 启动机器,在把OS等软件从NAND FLASH 载入SDRAM中运行才行,挺麻烦的。
5 }& H) M1 ^- _8 G
9 j; ^5 L3 [) PDRAM 利用MOS管的栅电容上的电荷来存储信息,一旦掉电信息会全部的丢失,由于栅极会漏电,所以每隔一定的时间就需要一个刷新机构给这些栅电容补充电荷,并且每读出一次数据之后也需要补充电荷,这个就叫动态刷新,所以称其为动态随机存储器。由于它只使用一个MOS管来存信息,所以集成度可以很高,容量能够做的很大。SDRAM比它多了一个与CPU时钟同步。- S- G& l$ Z9 ^/ i
" ]) G; D: u) d- v9 X2 y
SRAM 利用寄存器来存储信息,所以一旦掉电,资料就会全部丢失,只要供电,它的资料就会一直存在,不需要动态刷新,所以叫静态随机存储器。7 D4 B! X( {5 J1 Q
& `/ _% s5 a% K c
以上主要用于系统内存储器,容量大,不需要断电后仍保存数据的。4 S1 H* @( A# N( D) M
J5 w! j3 t# a0 g) A. D
Flash ROM 是利用浮置栅上的电容存储电荷来保存信息,因为浮置栅不会漏电,所以断电后信息仍然可以保存。也由于其机构简单所以集成度可以做的很高,容量可以很大。Flash rom写入前需要用电进行擦除,而且擦除不同与EEPROM可以以byte(字节)为单位进行,flash rom只能以sector(扇区)为单位进行。不过其写入时可以byte为单位。flash rom主要用于bios,U盘,Mp3等需要大容量且断电不丢数据的设备。% M" l5 e/ i, K- Q8 S( U( J; X
9 {1 ^6 g9 C# F- f1 X
PSRAM,假静态随机存储器。
) P8 X' ]' T! U) {( X* O) j5 Y( S- Q6 L0 m
背景:2 Y- l$ J- S& x. R/ n. Q5 O9 {
. j7 L# C6 \9 h6 s8 bPSRAM具有一个单晶体管的DRAM储存格,与传统具有六个晶体管的SRAM储存格或是四个晶体管与two-load resistor SRAM 储存格大不相同,但它具有类似SRAM的稳定接口,内部的DRAM架构给予PSRAM一些比low-power 6T SRAM优异的长处,例如体积更为轻巧,售价更具竞争力。目前在整体SRAM市场中,有90%的制造商都在生产PSRAM组件。在过去两年,市场上重要的SRAM/PSRAM供货商有Samsung、Cypress、Renesas、Micron与Toshiba等。" _& g* A B8 j3 G4 v
|
|