基于NAND Flash控制结构复用的嵌入式存储系统研究
发布时间:2008/9/1 0:00:00 访问次数:527
引言
nandflash具有快速访问、低功耗、抗震性、尺寸小、重量轻等特性,并且稳定性良好,即使在系统电源关闭的情况下仍可保存数据。随着技术的发展,其价格降低且容量增大,这些使得nandflash逐渐成为嵌入式系统的一个独立部件,系统存储的工业标准。
对flash存储器的测试与编写,目前流行的工业方法是采用遵守ieee-1149.1标准,又称jtag(joint test action group)规范的边界扫描技术,运用专门的商业测试板和配套软件来完成。不论是板级还是生产线级,都有厂家提供配套的软硬件解决方案。
基于jtag规范的flash控制电路,使用支持边界扫描的高级微处理器,配套专门的控制硬件和软件,逐渐形成一套flash存储器pcb级的控制体系规范。然而,不论是支持边界扫描的高级微处理器,还是配套的硬件和软件,价格都是较昂贵的。不仅如此,使用这种方案将增加用户pcb的设计难度和产品成本,使用户产品结构变得复杂,硬件设计失去独立性,产品升级存在依赖性。
针对运用边界扫描技术进行flash控制的上述弊端,本文提出一种控制结构复用的存储系统,包括存储卡和写卡器两部分。文中首先给出本存储系统的总体框架,而后阐述存储卡与写卡器的硬件结构,接着着重讲述存储系统软件架构与nandflash典型操作实现,最后用写卡器对三星公司各种存储容量的nandflash进行读、写、擦测试,结果表明本存储系统能高效完成对nandflash的各种操作。在所有测试成功后,将本存储系统的控制结构复用到嵌入式车载导航设备中,并成功移植控制软件。通过与边界扫描技术对比软硬件结构和测试结果可以看出,本存储系统具有结构简单、操作时间短、性价比高3大优点。
存储系统总体框架
本存储系统分为存储卡和写卡器两部分,其总体框架如图1所示。
图1 存储系统框架
图1中填充左斜线的箭头序列给出了编写nandflash的数据流向。pc通过标准打印口(line printer,lpt)控制nandflash,中间用50针卡座与50孔卡口配合,连接写卡器与存储卡。由于打印口的控制口线有限,不能对nandflash进行全面控制,因而在打印口和nandflash之间添加573锁存器,复用数据口线来扩充控制口线。
此外,由于嵌入式系统各元器件对工作电压都有较高的要求,必须在额定电压范围内工作,因此在写卡器和存储卡上都添加了稳压器,在写卡器上还添加了电压调节器。写卡器外部供电为12v直流电源。
从存储系统框架可以看出,整个系统并未使用控制芯片与类似边界扫描技术的高成本复杂控制电路,结构简单性价比高。后续实验结果表明,与边界扫描技术相比,本系统的nandflash操作时间有所缩短。
存储卡
通常,一个nandflash存储器的价格较一个norflash存储器便宜40%左右。与nor flash存储器相比,nandflash存储器的写访问时间快20倍。尽管norflash具有快速随机访问速度,而nandflash具有一个长的随机读反映时间,但其具有功耗低、存储容量大、快速擦/写的优点[8]。基于nandflash的上述优点,存储卡选择使用nandflash作为数据存储载体。
存储卡主要包括50孔卡口、nandflash、直流电源稳压器3个部分,其他还有一些电阻和电容,起辅助和增加电路稳定性作用。50孔卡口与写卡器的50针卡座配合,连接存储卡和写卡器。
写卡器
写卡器主要由标准打印口、直流电压调节器、直流电源稳压器、573锁存器和一些电阻电容组成,采用外接+12v直流电源供电,50针卡座采用机械式上下卡,使得存储卡与卡座的接触与分离相当方便。
打印口
标准打印口分为3个端口,基地址为数据端口,基地址+1为状态端口,基地址+2为控制端口。控制pc的cmos设置打印口模式为ecp+epp,打印口首地址即为0x378。以下阐述写卡器中如何使用打印口的3个端口。
(1)数据端口(0x378)
数据端口中有8根数据线,与nandflash相连传输一个字节的数据。其中,d0和d1被复用,通过573锁存器连接nandflash的cle和ale两个控制引脚。
(2)状态端口(0x379)
状态端口仅使用了第6个状态位作为nandflash的r/?b应答信号,其余3、4、5、7这4位打印机的标准应答未使用,保留供以后功能扩展使用。
(3)控制端口(0x37a)
引言
nandflash具有快速访问、低功耗、抗震性、尺寸小、重量轻等特性,并且稳定性良好,即使在系统电源关闭的情况下仍可保存数据。随着技术的发展,其价格降低且容量增大,这些使得nandflash逐渐成为嵌入式系统的一个独立部件,系统存储的工业标准。
对flash存储器的测试与编写,目前流行的工业方法是采用遵守ieee-1149.1标准,又称jtag(joint test action group)规范的边界扫描技术,运用专门的商业测试板和配套软件来完成。不论是板级还是生产线级,都有厂家提供配套的软硬件解决方案。
基于jtag规范的flash控制电路,使用支持边界扫描的高级微处理器,配套专门的控制硬件和软件,逐渐形成一套flash存储器pcb级的控制体系规范。然而,不论是支持边界扫描的高级微处理器,还是配套的硬件和软件,价格都是较昂贵的。不仅如此,使用这种方案将增加用户pcb的设计难度和产品成本,使用户产品结构变得复杂,硬件设计失去独立性,产品升级存在依赖性。
针对运用边界扫描技术进行flash控制的上述弊端,本文提出一种控制结构复用的存储系统,包括存储卡和写卡器两部分。文中首先给出本存储系统的总体框架,而后阐述存储卡与写卡器的硬件结构,接着着重讲述存储系统软件架构与nandflash典型操作实现,最后用写卡器对三星公司各种存储容量的nandflash进行读、写、擦测试,结果表明本存储系统能高效完成对nandflash的各种操作。在所有测试成功后,将本存储系统的控制结构复用到嵌入式车载导航设备中,并成功移植控制软件。通过与边界扫描技术对比软硬件结构和测试结果可以看出,本存储系统具有结构简单、操作时间短、性价比高3大优点。
存储系统总体框架
本存储系统分为存储卡和写卡器两部分,其总体框架如图1所示。
图1 存储系统框架
图1中填充左斜线的箭头序列给出了编写nandflash的数据流向。pc通过标准打印口(line printer,lpt)控制nandflash,中间用50针卡座与50孔卡口配合,连接写卡器与存储卡。由于打印口的控制口线有限,不能对nandflash进行全面控制,因而在打印口和nandflash之间添加573锁存器,复用数据口线来扩充控制口线。
此外,由于嵌入式系统各元器件对工作电压都有较高的要求,必须在额定电压范围内工作,因此在写卡器和存储卡上都添加了稳压器,在写卡器上还添加了电压调节器。写卡器外部供电为12v直流电源。
从存储系统框架可以看出,整个系统并未使用控制芯片与类似边界扫描技术的高成本复杂控制电路,结构简单性价比高。后续实验结果表明,与边界扫描技术相比,本系统的nandflash操作时间有所缩短。
存储卡
通常,一个nandflash存储器的价格较一个norflash存储器便宜40%左右。与nor flash存储器相比,nandflash存储器的写访问时间快20倍。尽管norflash具有快速随机访问速度,而nandflash具有一个长的随机读反映时间,但其具有功耗低、存储容量大、快速擦/写的优点[8]。基于nandflash的上述优点,存储卡选择使用nandflash作为数据存储载体。
存储卡主要包括50孔卡口、nandflash、直流电源稳压器3个部分,其他还有一些电阻和电容,起辅助和增加电路稳定性作用。50孔卡口与写卡器的50针卡座配合,连接存储卡和写卡器。
写卡器
写卡器主要由标准打印口、直流电压调节器、直流电源稳压器、573锁存器和一些电阻电容组成,采用外接+12v直流电源供电,50针卡座采用机械式上下卡,使得存储卡与卡座的接触与分离相当方便。
打印口
标准打印口分为3个端口,基地址为数据端口,基地址+1为状态端口,基地址+2为控制端口。控制pc的cmos设置打印口模式为ecp+epp,打印口首地址即为0x378。以下阐述写卡器中如何使用打印口的3个端口。
(1)数据端口(0x378)
数据端口中有8根数据线,与nandflash相连传输一个字节的数据。其中,d0和d1被复用,通过573锁存器连接nandflash的cle和ale两个控制引脚。
(2)状态端口(0x379)
状态端口仅使用了第6个状态位作为nandflash的r/?b应答信号,其余3、4、5、7这4位打印机的标准应答未使用,保留供以后功能扩展使用。
(3)控制端口(0x37a)
上一篇:主存储器部件的组成与设计