技术开发 频道

如何给WinCE选择合适的FLASH存储器?

  (2)硬件接口要求的比较

  对于16位的器件来说,NOR闪存大约需要41个I/O引脚,而NAND器件仅需24个引脚。NAND器件能够复用指令、地址和数据总线,从而节省了引脚数量。复用接口的一项好处是在于能够利用同样的硬件设计和电路板,支持较大的NAND器件。因此,NAND器件的一个好处显然是其封装选项:NAND提供一种厚膜的2Gb裸片或能够支持最多四颗堆叠裸片堆叠出一个8Gb的器件。

  这个特点对体积要求小型化的便携式移动设备是一个很重要的优势。而且,NAND的复用接口为所有最新的器件和密度都提供了一种相似的引脚输出,这种引脚输出使得设计工程师无须改变电路板的硬件设计,就能从更小的密度移植到更大密度的设计上。这对于要求快速开发的硬件工程师来说是一个很大的便利和福音。

  (3)读写操作和编址方式比较

  两种Flash具有相同的存储单元,工作原理也一样。如为了缩短存取时间,它们并不是对每个单元进行单独的存取操作,而是对一定数量的存取单元进行集体操作。但它们对读写基本单位的方式是不同的,如NAND Flash各存储单元之间是串联的,而NOR Flash各单元之间是并联的。因此,WinCE系统对NOR Flash操作以“字”为基本单位。为了方便对大容量NOR闪存的管理,通常将NOR闪存分成大小为128KB或者64KB的逻辑块,有时候块内还分成扇区。而WinCE系统对NAND Flash操作是以“块”为基本单位。

  NAND闪存的块比较小,一般是8KB,然后每块又分成页,页的大小一般是512字节。每页存储的数据正好跟硬盘的一个扇区存储的数据相同,这是设计时为了方便与磁盘进行数据交换而特意安排的。这些块类似于硬盘的簇,都是基于扇区(页)的,适合于存储连续的数据,如图片、音频或个人电脑数据。但也跟硬盘一样,NAND器件会存在坏的扇区,需要纠错码(ECC)来维持数据的完整性。

  NOR Flash闪存的数据线和地址线是分开的,而且NOR的每个存储单元是以并联的方式连接到位线,所以NOR可以像SRAM一样连在数据线上,方便对每一位进行随机存取,另外还支持本地执行的XIP,使到WinCE系统可以直接在Flash内部运行。因此,在WinCE系统中经常将NOR芯片做启动芯片使用,这样可以大大简化产品的设计。

  而NAND闪存因为共享地址和数据总线的原因,不允许对一个字节甚至一个块进行的数据清空,只能对一个固定大小的区域进行清零操作,而且还需要额外联结一些控制的输入输出。所以,在存放数据时NAND还需要使用算法来实现,这个模块一般是在驱动程序的MTD(Memory Technology Drivers)模块中或在FTLZ (Flash Translation Layer)层内实现。因此,NAND FLASH必须通过驱动程序来进行数据存取,而且具体算法和芯片的生产厂商以及芯片型号有很大的关系。这不但增加了驱动程序开发的难度,而且直接将NAND做启动芯片也比较难。

0
相关文章