引言
CCM3118是苏州国芯公司一款32位高性能、低功耗SoC芯片,以32位C*CORE C310处理器为核心,并有3个串口,2个智能卡接口,1个PS/2接口,1个LCDC控制器,多达72个通用输入输出引脚(GPIO)等丰富资源,在税控收款机、POS机等领域广泛应用。税控收款机所管理的商品、发票、销售记录等数据量非常大,并且国家税控机标准中对数据的保存时间、可靠性有明确要求,故需要一种大容量、单位比特价格低、读写性能好、能够长时间可靠保存数据的非易失存储器。
NOR和NAND是现在市场上两种主要的非易失闪存技术。NOR FLASH较早为业界采用,但由于其成本较高及写入速度较慢的先天弱势,使其仅能在注重执行速度或小量数据储存的地方使用。NAND FLASH结构强调降低每比特的成本,更高的性能,并且象磁盘一样可以通过接口轻松升级,是高密度数据存储的理想解决方案。
&n
bsp;
1 NAND FLASH芯片
1.1 芯片介绍
NAND FLASH是采用NAND结构技术的非易失存储器,内存有8位和16位两种组织形式,本文所讨论的FLASH都是8位的。FLASH的I/O接口可用于控制命令和地址的输入,也可用于数据的输入和输出。FLASH主要以页为单位进行读写(也能够以字节为单位进行读写),以块为单位进行擦除。FLASH页的大小和块的大小不同类型块结构而不同,块结构有两种:小块(图一)和大块(图二),小块FLASH包含32个页,每页512+16字节;大块FLASH包含64页,每页2048+16字节。
点击看原图
(图一,小块类型FLASH)
点击看原图
(图二,大块类型FLASH)
大块和小块FLASH都有与页大小相同大小的页寄存器,用于数据缓存。当读数据时,先从FLASH内存单元把数据读到页寄存器,外部通过访问FLASH I/O端口获得页寄存器中数据(地址自动累加);当写数据时,外部通过FLASH I/O端口输入的数据首先缓存在页寄存器,写命令发出后才写入到内存单元中。
FLASH典型的读操作时间为50ns/字,写操作时间为200us/页,擦除操作时间为2ms/块,块擦写次数超过100K,数据保存时间超过10年。
1.2 固有特性
NAND FLASH自身有一些特性,导致其不能象普通磁盘那样进行操作。主要特性如下:
a) 出厂时可能存在坏块,并且使用过程中也会有坏块出现。
b) 按页写,按块擦除。
c) 写操作只能在空或已擦除的单元内进行。
d) 块的擦写寿命有次数限制。
e) 块擦除时间与页读写时间相比十分长。
需要通过软件的支持来消除这些特性导致的不足,使得能象操作普通磁盘一样进行FLASH操作。