|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
" _* e4 l5 k5 j( @8 y
- o! q3 l) ^+ V `4 Z: M0 D2 q
ROM和RAM指的都是半导体存储器,ROM是Read Only Memory的缩写,RAM是Random Access Memory的缩写。ROM在系统停止供电的时候仍然可以保持数据,而RAM通常都是在掉电之后就丢失数据,典型的RAM就是计算机的内存。. T5 p" j9 m9 ~
6 ^' l9 r* j% Z. J E3 O3 d/ H
RAM有两大类,一种称为静态RAM(Static RAM/SRAM),SRAM速度非常快,是目前读写最快的存储设备了,但是它也非常昂贵,所以只在要求很苛刻的地方使用,譬如CPU的一级缓冲,二级缓冲。另一种称为动态。
7 ~. d) b$ y* F
8 Z% C( K0 E' GRAM(Dynamic RAM/DRAM),DRAM保留数据的时间很短,速度也比SRAM慢,不过它还是比任何的ROM都要快,但从价格上来说DRAM相比SRAM要便宜很多,计算机内存就是DRAM的。2 C& N) D: V: Q% r% Y
' ]1 n9 _" v2 Q& }& U4 f }9 \0 F% W+ BDRAM分为很多种,常见的主要有FPRAM/FastPage、EDORAM、SDRAM、DDR RAM、RDRAM、SGRAM以及WRAM等,这里介绍其中的一种DDR RAM。1 W6 Y$ @, n7 q8 E. J6 F4 N
6 \. S+ d2 `( P0 J- e
DDR RAM(Date-Rate RAM)也称作DDR SDRAM,这种改进型的RAM和SDRAM是基本一样的,不同之处在于它可以在一个时钟读写两次数据,这样就使得数据传输速度加倍了。这是目前电脑中用得最多的内存,而且它有着成本优势,事实上击败了Intel的另外一种内存标准-Rambus DRAM。在很多高端的显卡上,也配备了高速DDR RAM来提高带宽,这可以大幅度提高3D加速卡的像素渲染能力。
/ ^6 x' t+ U8 K1 q4 Y0 {* s7 b8 O/ ^: Z7 w6 e0 `! L2 P3 F
内存工作原理:2 Y6 p/ w8 e! A2 U A3 K' I
8 x/ D {+ G$ G, c+ |3 w0 O
内存是用来存放当前正在使用的(即执行中)的数据和程序,我们平常所提到的计算机的内存指的是动态内存(即DRAM),动态内存中所谓的"动态",指的是当我们将数据写入DRAM后,经过一段时间,数据会丢失,因此需要一个额外设电路进行内存刷新操作。
5 ], s( J- C& {, i0 v8 Y3 Z, p' N( x# y+ x$ S. ]3 e2 R
具体的工作过程是这样的:一个DRAM的存储单元存储的是0还是1取决于电容是否有电荷,有电荷代表1,无电荷代表0。但时间一长,代表1的电容会放电,代表0的电容会吸收电荷,这就是数据丢失的原因;刷新操作定期对电容进行检查,若电量大于满电量的1/2,则认为其代表1,并把电容充满电;若电量小于1/2,则认为其代表0,并把电容放电,藉此来保持数据的连续性。
% X, K9 B6 `( W# A; D! R
: _6 I3 m% [# P; q4 l; L8 LROM也有很多种,PROM是可编程的ROM,PROM和EPROM(可擦除可编程ROM)两者区别是,PROM是一次性的,也就是软件灌入后,就无法修改了,这种是早期的产品,现在已经不可能使用了,而EPROM是通过紫外光的照射擦出原先的程序,是一种通用的存储器。另外一种EEPROM是通过电子擦出,价格很高,写入时间很长,写入很慢。
- Y- ?; m$ \2 E1 a T
/ T! ^4 p4 ?9 e! z, |9 W- ~举个例子,手机软件一般放在EEPROM中,我们打电话,有些最后拨打的号码,暂时是存在SRAM中的,不是马上写入通过记录(通话记录保存在EEPROM中),因为当时有很重要工作(通话)要做,如果写入,漫长的等待是让用户忍无可忍的。
1 Y; s0 X, {8 Q" g1 W/ c; @, c
/ [: o, c7 q( o. U) H' U4 DFLASH存储器又称闪存,它结合了ROM和RAM的长处,不仅具备电子可擦除可编程(EEPROM)的性能,还不会断电丢失数据同时可以快速读取数据(NVRAM的优势),U盘和MP3里用的就是这种存储器。在过去的20年里,嵌入式系统一直使用ROM(EPROM)作为它们的存储设备,然而近年来Flash全面代替了ROM(EPROM)在嵌入式系统中的地位,用作存储Bootloader以及操作系统或者程序代码或者直接当硬盘使用(U盘)。# U( |! d3 ^8 P
! Q! H2 \: E6 I- }5 U9 c
目前Flash主要有两种NOR Flash和NADN Flash。* Z n$ U! Y' A5 S
& ~2 P( ]' f s- ]* ?) e# s1 J
NOR Flash的读取和我们常见的SDRAM的读取是一样,用户可以直接运行装载在NOR FLASH里面的代码,这样可以减少SRAM的容量从而节约了成本。: p( m) q( m( f7 M% {+ q3 C" ?
# L* g7 F+ C' N U3 y4 q( O2 J6 LNAND Flash没有采取内存的随机读取技术,它的读取是以一次读取一块的形式来进行的,通常是一次读取512个字节,采用这种技术的Flash比较廉价。用户不能直接运行NAND Flash上的代码,因此好多使用NAND Flash的开发板除了使用NAND Flah以外,还作上了一块小的NOR Flash来运行启动代码。" f8 b7 ?; a8 S; M7 t1 `
$ S% g( h P. `
一般小容量的用NOR Flash,因为其读取速度快,多用来存储操作系统等重要信息,而大容量的用NAND FLASH,最常见的NAND FLASH应用是嵌入式系统采用的DOC(Disk On Chip)和我们通常用的"闪盘",可以在线擦除。目前市面上的FLASH 主要来自Intel,AMD,Fujitsu和Toshiba,而生产NAND Flash的主要厂家有Samsung和Toshiba。
: x6 @% `+ ?$ ^# W/ ~+ D2 j6 D2 h1 y( E6 @+ r$ Y' l& u
NAND Flash和NOR Flash的比较7 ?6 x5 o; G; M" J7 K
0 f/ @# I( ?$ S$ n3 U* vNOR和NAND是现在市场上两种主要的非易失闪存技术。Intel于1988年首先开发出NOR flash技术,彻底改变了原先由EPROM和EEPROM一统天下的局面。紧接着,1989年,东芝公司发表了NAND flash结构,强调降低每比特的成本,更高的性能,并且象磁盘一样可以通过接口轻松升级。但是经过了十多年之后,仍然有相当多的硬件工程师分不清NOR和NAND闪存。- o8 M- _, ~+ z0 ]( h# Z4 h$ e
: @ E# Z* I4 ?0 E+ K# U4 j
相"flash存储器"经常可以与相"NOR存储器"互换使用。许多业内人士也搞不清楚NAND闪存技术相对于NOR技术的优越之处,因为大多数情况下闪存只是用来存储少量的代码,这时NOR闪存更适合一些。而NAND则是高数据存储密度的理想解决方案。
% U1 i# m+ o; R" _; [
) r* _ P9 l7 x) \+ |3 }0 \* HNOR是现在市场上主要的非易失闪存技术。NOR一般只用来存储少量的代码;NOR主要应用在代码存储介质中。NOR的特点是应用简单、无需专门的接口电路、传输效率高,它是属于芯片内执行(XIP, eXecute In Place),这样应用程序可以直接在(NOR型)flash闪存内运行,不必再把代码读到系统RAM中。在1~4MB的小容量时具有很高的成本效益,但是很低的写入和擦除速度大大影响了它的性能。NOR flash带有SRAM接口,有足够的地址引脚来寻址,可以很容易地存取其内部的每一个字节。NOR flash占据了容量为1~16MB闪存市场的大部分。& U9 T/ M! S4 O' ~3 s; g
; e0 d2 S: T. s( W8 K5 rNAND结构能提供极高的单元密度,可以达到高存储密度,并且写入和擦除的速度也很快。应用NAND的困难在于flash的管理和需要特殊的系统接口。
9 q! m' z9 `& [7 X/ n1、性能比较:
% b- N; r3 I: T& j! O& Kflash闪存是非易失存储器,可以对称为块的存储器单元块进行擦写和再编程。任何flash器件的写入操作只能在空或已擦除的单元内进行,所以大多数情况下,在进行写入操作之前必须先执行擦除。NAND器件执行擦除操作是十分简单的,而NOR则要求在进行擦除前先要将目标块内所有的位都写为1。
9 X; \5 y# C/ I0 d( o+ \! M/ b5 s9 _5 v
由于擦除NOR器件时是以64~128KB的块进行的,执行一个写入/擦除操作的时间为5s,与此相反,擦除NAND器件是以8~32KB的块进行的,执行相同的操作最多只需要4ms。3 w1 f0 p% Q4 a$ p/ {* k
+ G1 L! v* o4 e8 ^/ j执行擦除时块尺寸的不同进一步拉大了NOR和NADN之间的性能差距,统计表明,对于给定的一套写入操作(尤其是更新小文件时),更多的擦除操作必须在基于NOR的单元中进行。这样,当选择存储解决方案时,设计师必须权衡以下的各项因素:
I7 @4 d+ V% q5 d● NOR的读速度比NAND稍快一些。/ @! h0 {& N) N( a- X
● NAND的写入速度比NOR快很多。
+ q; c! c5 m9 ]" j9 b0 X- h; S* \● NAND的4ms擦除速度远比NOR的5s快。, @4 J2 ^0 m/ N5 R
● 大多数写入操作需要先进行擦除操作。
" [( ]% ^ c q7 R; U● NAND的擦除单元更小,相应的擦除电路更少。
8 k" C3 M& w2 V. v
9 t% P, j) {: p5 L4 D(注:NOR FLASH SECTOR擦除时间视品牌、大小不同而不同,比如,4M FLASH,有的SECTOR擦除时间为60ms,而有的需要最大6s。)6 U! B8 q( ^- `1 `* A% {' t
7 F: z: M. L7 H5 ^5 j, g" q
2、接口差别:% ~# N+ x$ v3 m8 Y; j! Z! N
& ?' m0 K) Z% [' L4 @, V9 o
NOR flash带有SRAM接口,有足够的地址引脚来寻址,可以很容易地存取其内部的每一个字节。
! S4 K6 @ M, k& b4 O; ?+ h
9 a0 R. s) a* p+ yNAND器件使用复杂的I/O口来串行地存取数据,各个产品或厂商的方法可能各不相同。8个引脚用来传送控制、地址和数据信息。
; [2 S% u2 h- b& }. ~4 d9 Q# J7 J* Z: f! p: `
NAND读和写操作采用512字节的块,这一点有点像硬盘管理此类操作,很自然地,基于NAND的存储器就可以取代硬盘或其他块设备。
G: q3 E) n7 u4 r
2 F4 T8 o5 ^1 f3、容量和成本:
0 t) P5 m/ G5 x: x
/ [' K& y* C1 K6 ~# [1 RNAND flash的单元尺寸几乎是NOR器件的一半,由于生产过程更为简单,NAND结构可以在给定的模具尺寸内提供更高的容量,也就相应地降低了价格。
6 V( x8 g. J0 s/ `. f- } K _1 J
NOR flash占据了容量为1~16MB闪存市场的大部分,而NAND flash只是用在8~128MB的产品当中,这也说明NOR主要应用在代码存储介质中,NAND适合于数据存储,NAND在CompactFlash、Secure Digital、PC Cards和MMC存储卡市场上所占份额最大。
& G9 f9 y1 f8 T( k4 _3 M& z$ F7 W$ I: l! s- q" h3 s/ r' @9 s
4、可靠性和耐用性:$ ]$ \9 v5 D8 Z3 W2 P3 Y
8 }3 ^3 N. K% Y% h2 H4 H) Q2 p3 H采用flahs介质时一个需要重点考虑的问题是可靠性。对于需要扩展MTBF的系统来说,Flash是非常合适的存储方案。可以从寿命(耐用性)、位交换和坏块处理三个方面来比较NOR和NAND的可靠性。
) s6 e0 Z& T. |+ {; @( ]! n
/ l8 M3 I! [# k# S" @ W; ^A) 寿命(耐用性); y- r: T3 j* s/ M8 N5 ^+ ]: w% H
" W& V* c" Z2 C, h3 M& Y
在NAND闪存中每个块的最大擦写次数是一百万次,而NOR的擦写次数是十万次。NAND存储器除了具有10比1的块擦除周期优势,典型的NAND块尺寸要比NOR器件小8倍,每个NAND存储器块在给定的时间内的删除次数要少一些。
( e7 K, S i5 ^# j5 t. w- e6 t1 O5 T; Q4 W, X0 W+ q" |
B) 位交换$ J# m M0 y5 w# \+ q
6 g0 i+ }* Y+ J" [/ ?
所有flash器件都受位交换现象的困扰。在某些情况下(很少见,NAND发生的次数要比NOR多),一个比特(bit)位会发生反转或被报告反转了。# P' I* A2 k3 B. i" `0 P8 {
. \ T% x2 c, G! v一位的变化可能不很明显,但是如果发生在一个关键文件上,这个小小的故障可能导致系统停机。如果只是报告有问题,多读几次就可能解决了。
! v. D" x* U! K) K! w2 D
3 c5 y, Z6 w) T/ r当然,如果这个位真的改变了,就必须采用错误探测/错误更正(EDC/ECC)算法。位反转的问题更多见于NAND闪存,NAND的供应商建议使用NAND闪存的时候,同时使用EDC/ECC算法。
, n. |5 K9 H* P9 m: N
$ k8 q: l2 O& R) T6 e) m这个问题对于用NAND存储多媒体信息时倒不是致命的。当然,如果用本地存储设备来存储操作系统、配置文件或其他敏感信息时,必须使用EDC/ECC系统以确保可靠性。
$ R8 g3 F _2 H6 Y) R. c7 V7 `8 x6 |9 f2 D G
C) 坏块处理
# T# {' Y' W1 x! ]& S$ g) n' J% n0 l! ]0 ~1 m
NAND器件中的坏块是随机分布的。以前也曾有过消除坏块的努力,但发现成品率太低,代价太高,根本不划算。# {3 g: ?3 ^- Y. w! P
+ {+ s, v0 w* c* Q2 \; h pNAND器件需要对介质进行初始化扫描以发现坏块,并将坏块标记为不可用。在已制成的器件中,如果通过可靠的方法不能进行这项处理,将导致高故障率。
2 _+ x4 C. t1 |' Q* [' T/ ?, ~% e" v; D! a9 C, B+ R, V) ~ B- d4 x
5、易于使用: I6 a/ s# }) q* D# s- ?
5 |: y! I; T! Z2 R L& r3 i
可以非常直接地使用基于NOR的闪存,可以像其他存储器那样连接,并可以在上面直接运行代码。9 R; |/ p8 n8 \, X+ Y) U) [' w
8 Y2 ]) g0 u `; D
由于需要I/O接口,NAND要复杂得多。各种NAND器件的存取方法因厂家而异。
- v! i. ], L) C2 @/ }+ C) H: c& x ?4 f I) e1 G; S
在使用NAND器件时,必须先写入驱动程序,才能继续执行其他操作。向NAND器件写入信息需要相当的技巧,因为设计师绝不能向坏块写入,这就意味着在NAND器件上自始至终都必须进行虚拟映射。' \$ K8 b1 w! |* d/ A
5 I6 a; W% u2 C" k# {6、软件支持:7 K9 A/ T6 A6 ~5 {+ Y
" ?7 E1 O c; H9 x: S( A1 M当讨论软件支持的时候,应该区别基本的读/写/擦操作和高一级的用于磁盘仿真和闪存管理算法的软件,包括性能优化。" z9 u- q$ o0 f% F# F
5 `3 R6 C: c: l3 E7 z在NOR器件上运行代码不需要任何的软件支持,在NAND器件上进行同样操作时,通常需要驱动程序,也就是内存技术驱动程序(MTD),NAND和NOR器件在进行写入和擦除操作时都需要MTD。
& h# r* K" |% j7 B) \8 o0 W4 g/ `- j+ _6 ^
使用NOR器件时所需要的MTD要相对少一些,许多厂商都提供用于NOR器件的更高级软件,这其中包括M-System的TrueFFS驱动,该驱动被Wind River System、Microsoft、QNX Software System、Symbian和Intel等厂商所采用。
9 u4 q* x: X6 i! u) n0 M! v/ Q' s/ ^
驱动还用于对DiskOnChip产品进行仿真和NAND闪存的管理,包括纠错、坏块处理和损耗平衡。$ G; |" K* o4 R! s" V! ]
# W4 K b! }! n5 Z) f
NOR FLASH的主要供应商是INTEL ,MICRO等厂商,曾经是FLASH的主流产品,但现在被NAND FLASH挤的比较难受。它的优点是可以直接从FLASH中运行程序,但是工艺复杂,价格比较贵。
' N+ r2 \8 v1 s5 @ t+ {
0 ~& R$ N; R% y# RNAND FLASH的主要供应商是SAMSUNG和东芝,在U盘、各种存储卡、MP3播放器里面的都是这种FLASH,由于工艺上的不同,它比NOR FLASH拥有更大存储容量,而且便宜。但也有缺点,就是无法寻址直接运行程序,只能存储数据。另外NAND FLASH 非常容易出现坏区,所以需要有校验的算法。
6 P2 k K! |+ M
% [4 X2 O3 n8 l( s) J% b1 D在掌上电脑里要使用NAND FLASH 存储数据和程序,但是必须有NOR FLASH来启动。除了SAMSUNG处理器,其他用在掌上电脑的主流处理器还不支持直接由NAND FLASH 启动程序。因此,必须先用一片小的NOR FLASH 启动机器,在把OS等软件从NAND FLASH 载入SDRAM中运行才行,挺麻烦的。0 I `# J0 m9 G+ D% m3 }) g
- j, M, n2 L1 Z0 B k! l( l! I; p
DRAM 利用MOS管的栅电容上的电荷来存储信息,一旦掉电信息会全部的丢失,由于栅极会漏电,所以每隔一定的时间就需要一个刷新机构给这些栅电容补充电荷,并且每读出一次数据之后也需要补充电荷,这个就叫动态刷新,所以称其为动态随机存储器。由于它只使用一个MOS管来存信息,所以集成度可以很高,容量能够做的很大。SDRAM比它多了一个与CPU时钟同步。
; V r" \2 m4 x7 ~- C2 P( b% H% o/ o! \* X: t9 n+ Q
SRAM 利用寄存器来存储信息,所以一旦掉电,资料就会全部丢失,只要供电,它的资料就会一直存在,不需要动态刷新,所以叫静态随机存储器。: x+ e# H. J0 N8 J0 @3 U$ J4 y$ `5 h
: I7 t2 @4 z8 |$ }
以上主要用于系统内存储器,容量大,不需要断电后仍保存数据的。
$ ?8 A; `4 C6 x! [" N: J5 b, X$ E. u: B6 a$ Y$ x4 ~
Flash ROM 是利用浮置栅上的电容存储电荷来保存信息,因为浮置栅不会漏电,所以断电后信息仍然可以保存。也由于其机构简单所以集成度可以做的很高,容量可以很大。Flash rom写入前需要用电进行擦除,而且擦除不同与EEPROM可以以byte(字节)为单位进行,flash rom只能以sector(扇区)为单位进行。不过其写入时可以byte为单位。flash rom主要用于bios,U盘,Mp3等需要大容量且断电不丢数据的设备。4 W, {. R4 H5 G3 `; ~
- m! n; B4 B' V( }& a2 @PSRAM,假静态随机存储器。- K O! d* Z" o9 O0 j9 I
x$ Z5 V% Y: {3 L; z- {. i, g, k
背景:/ ^7 B9 L- i. p. \: o/ j
; N: u! l; T: p. K& f
PSRAM具有一个单晶体管的DRAM储存格,与传统具有六个晶体管的SRAM储存格或是四个晶体管与two-load resistor SRAM 储存格大不相同,但它具有类似SRAM的稳定接口,内部的DRAM架构给予PSRAM一些比low-power 6T SRAM优异的长处,例如体积更为轻巧,售价更具竞争力。目前在整体SRAM市场中,有90%的制造商都在生产PSRAM组件。在过去两年,市场上重要的SRAM/PSRAM供货商有Samsung、Cypress、Renesas、Micron与Toshiba等。1 u0 v0 H8 A' ?4 M b3 W
|
|