打印

存储器件---闪存 Flash Memory

 关闭 [复制链接]
1810|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
星星之火红|  楼主 | 2012-11-10 21:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
闪存,闪速存储器(Flash Memory)是一种电可擦非易失性半导体存储器。由于采用的是非挥发性存储技术,闪速存储器在不加电状态下可以安全保存数据达十年以上。闪速存储器具有EZPROM那样的单管结构,制造成本低、体积小,且其存取时间仅为30ns,比EZPROM快得多。闪速存储器还兼有ROM和RAM两者的性能及高密度,因而是目前为数不多的既具备大容量、高速度,又具有非易失性、可在线擦写特性的存储器,闪速存储器市场发展十分迅速,其规模接近DRAM市场的1/4,与DRAM和SRAM一起成为存储器市场的三大产品。  

       常见的闪存芯片一般有以下两种:一种是传统的NOR闪存,其芯片内储存的数据可以直接读取,因而速度比较快,但是价格较高;另外一种是NAND闪存,这种闪存也称为固态硬盘,它内部数据以块为单位进行存储,地址线和数据线共用,使用控制信号选择。

       各种存储设备如优盘,主板BIOS芯片、MP3, Smart Media卡、Disk On Chip (DOC), PCMCIA卡等都是使用上面的两种芯片作为存储介质。
       NAND闪存芯片和NOR闪存芯片的不同主要表现在:

使用特权

回复

相关帖子

沙发
星星之火红|  楼主 | 2012-11-10 21:20 | 只看该作者
1) 闪存芯片读写的基本单位不同

应用程序对NOR芯片操作以“字”为基本单位。为了方便对大容量NOR闪存的管理,通常将NOR闪存分成大小为128KB或者64KB的逻辑块,有时候块内还分成扇区。读写时需要同时指定逻辑块号和块内偏移。

应用程序对NAND芯片操作是以“块”为基本单位。NAND闪存的块比较小,一般是8KB,然后每块又分成页,页的大小一般是512字节。要修改NAND芯片中一个字节,必须重写整个数据块。

2)NOR闪存是随机存储介质,用于数据量较小的场合;NAND闪存是连续存储介质,适合存放大的数据。

3) 由于NOR地址线和数据线分开,所以NOR芯片可以像SRAM一样连在数据线上。NOR芯片的使用也类似于通常的内存芯片,它的传输效率很高,可执行程序可以在芯片内执行( XIP, eXecute In Place),这样应用程序可以直接在Flash闪存内运行,不必再把代码读到系统RAM中。由于NOR的这个特点,嵌入式系统中经常将NOR芯片做启动芯片使用。而NAND共用地址和数据总线,需要额外联结一些控制的输入输出,所以直接将NAND芯片做启动芯片比较难。

4) NAND闪存芯片因为共用地址和数据总线的原因,不允许对一个字节甚至一个块进行的数据清空,只能对一个固定大小的区域进行清零操作;而NOR芯片可以对字进行操作。所以在处理小数据量的I/O操作的时候的速度要快与NAND的速度。比如一块NOR芯片通 常写一个字需要10微秒,那么在32位总线上写512字节需要1280毫秒;而NAND闪存写512字节需要的时间包括:512×每字节50纳秒+10微秒的寻页时间+200微秒的片擦写时间=234微秒。

5)NAND闪存的容量比较大,目前最大容量己经达到8G字节。为了方便管理,NAND的存储空间使用了块和页两级存储体系,也就是说闪存的存储空间是二维的,比如K9F5608UOA闪存块的大小为16K,每页的大小是512字节,每页还16字节空闲区用来存放错误校验码空间(有时也称为out-of-band,OOB空间);在进行写操作的时候NAND闪存每次将一个字节的数据放入内部的缓存区,然后再发出“写指令”进行写操作。由于对NAND闪存的操作都是以块和页为单位的,所以在向NAND闪存进行大量数据的读写时,NAND的速度要快于NOR闪存。

使用特权

回复
板凳
星星之火红|  楼主 | 2012-11-10 21:20 | 只看该作者
6)NOR闪存的可靠性要高于NAND闪存,这主要是因为NOR型闪存的接口简单,数据操作少,位交换操作少,因此可靠性高,极少出现坏区块,因而一般用在对可靠性要求高的地方。相反的,NAND型闪存接口和操作均相对复杂,位交换操作也很多,关键性数据更是需安错误探测/错误更正〔EDC/ECC,Error Detection Code/Error Correction Code)算法来确保数据的完整性,因此出现问题的几率要大得多,坏区块也是不可避免的,而且由于坏区块是随机分布的,连纠错也无法做到。

7)NAND Flash一般地址线和数据线共用,对读写速度有一定影响;而NOR Flash闪存数据线和地址线分开,所以相对而言读写速度快一些。  

       NAND和NOR芯片的共性首先表现在向芯片中写数据必须先将芯片中对应的内容清空,然后再写入,也就是通常说的“先擦后写”。只不过NOR芯片只用擦写一个字,而NAND需要擦写整个块。其次,闪存擦写的次数都是有限的.当闪存的使用接近使用寿命的时候,经常会出现写操作失败;到达使用寿命时,闪存内部存放的数据虽然可以读,但是不能再进行写操作了所以为了防止上面问题的发生,不能对某个特定的区域反复进行写操作。通常NAND的可擦写次数高于NOR芯片,但是由于NAND通常是整块擦写,块内的页面中如果有一位失效整个块就会失效,而且由于擦写过程复杂,失败的概率相对较高,所以从整体上来说NOR的寿命较长。  

       另一个共性是闪存的读写操作不仅仅是一个物理操作,实际上在闪存上存放数据必须使用算法实现,这个模块一般在驱动程序的MTD (Memory Technology Drivers)模块中或者在FTLZ (Flash Translation Layer)层内实现,具体算法和芯片的生产厂商以及芯片型号有关系。  

       通过比较可以发现,NAND更适用于复杂的文件应用,但是由于NAND芯片的使用相对复杂,所以对文件系统有较高的要求。

使用特权

回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

101

主题

1782

帖子

22

粉丝