技术开发 频道

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

【Windows嵌入式有奖征文系列】

  【IT168 专稿】
随着嵌入式系统产品的迅速发展,对大容量低功耗存储器需求也正日益增强。存储器件不但是嵌入式系统必不可少的一部分,而且嵌入式系统的存储设备的性能也是决定整体系统性能的核心环节之一。在我负责的一个WinCE平台的智能移动设备开发项目中,由于我只是片面的想当然地考虑速度或大容量,使我在选择合适的Flash存储器上吃尽苦头。

  实际上,选择一款合适的Flash存储器是Windows CE开发中最具有挑战性的内容之一,因为它不但要求开发人员要具备硬件接口知识,清晰了解Windows CE 下驱动程序的架构,还要具备驱动程序开发的相关知识。本文通过分析WinCE平台下两种Flash的速度、接口、可靠性和寻址方式的比较,然后给出我在WinCE系统下选择合适的闪存方案的经验和建议。

  1.NOR和NAND Flash综合比较

  闪速存储器(Flash Memory)是一种在不加电的情况下能长期保持存储的设备。由于Flash存储器具有存储容量大、掉电数据不丢失以及可多次擦写等许多优点,正逐步取代其他半导体存储器件而广泛应用于嵌入式便携电子产品中。其中NOR Flash和 NAND Flash是目前两种主要的非易失闪存技术,这两种闪存在WinCE平台下如何选择也正困惑着许多初入门的开发人员。

(1)NOR和NAND Flash的速度比较

  NOR Flash存储器的特点是容量较小、写入速度较慢,但它的随机读取速度却很快,而且具有嵌入式应用经常需要的一个功能XIP(eXecute In Place)特性。因此,在WinCE系统中常用于小容量的程序代码的存储。与NOR相比,NAND闪存的优点是容量大,目前最大容量己经达到8G,因此NAND较适合于存储文件,而且NAND的真正好处是写速度快、擦除时间短。

  例如,在写数据和擦除数据时,NAND由于支持整块擦写操作,速度比NOR要快近千倍,NAND支持速率超过5Mbps的持续写操作,其区块擦除时间短至2ms,而NOR是750ms。

  但NAND的缺点是其读取速度较慢,主要是因为它的I/O端口只有8或16个,要完成地址和数据的传输就必须让这些信号轮流传送。例如,在读取时NAND要先向芯片发送地址信息进行寻址才能开始读写数据,而它的地址信息包括块号、块内页号和页内字节号等部分,要按顺序才能定位到要操作的字节,这样每进行一次数据访问就需要三次寻址,至少要三个时钟周期,然后才是读取数据的操作过程。而NOR Flash的操作则是以字或字节为单位进行直接读取数据。所以,在读取数据时,NOR有明显优势。

  简单的说,NAND的优点在于写和擦除操作的速率快,而NOR的优点是具有随机存取和对字节执行写操作的能力。NAND的缺点是随机存取的速率慢,NOR的缺点是受到读和擦除速度慢的制约。显然,NAND在某些方面具有绝对优势。然而,它不太适合于直接随机存取。

0
相关文章