论文部分内容阅读
SD卡(Secure Digital Memory Card),即安全数码卡,广泛应用在数码相机、手机、视频播放器等多种消费电子设备上,其市场需求必将越来越大。SD卡开卡方案的研究作为SD卡设计中必不可少且非常重要的一个环节,直接关系到SD卡量产商用的成败,因此设计出一个高效灵活的开卡方案,具有重大的现实意义和应用价值。Flash存储器经过20多年的发展,已经成为移动存储设备的主流存储介质。因为工艺上的限制,Flash不可避免的有坏块;另外,为了减少浪费,降低成本,重复利用回收的Flash芯片是一种既经济又环保的做法,但回收的Flash坏块较多,所以有效地管理坏块是保障存储设备可靠性的一个关键因素。本文基于北京市嵌入式系统重点实验室设计的Flash控制芯片ZD5820,以兼容性、高效性、可靠性和灵活性为目标,创造性地提出并实现了一套完整的开卡方案,研究内容和实现方法主要包括:(1)通过对不同Flash结构的分析,结合驱动程序管理Flash的算法,设计出屏蔽Flash结构差异的系统参数,很好地保证了芯片对不同Flash的兼容性。此外,为了对不同Flash进行统一开卡,提高开卡效率,设计并实现了一种基于ZD5820芯片的快速检测Flash结构的算法。(2)为了保证开卡的高效性,在研究一般坏块检测方法的基础上,提出了基于软硬件相结合的方法,实现了坏块的快速检测。在现有坏块管理算法的基础上,提出以分区为单位,基于坏块表的管理算法,不仅大大减小了硬件RAM空间的需求量,而且保证了存储芯片的可靠性。(3)基于SD协议的通用读写命令CMD56,结合安全性和功能性的要求,设计出CMD56的通信协议,在此基础上设计并实现驱动程序的动态更新升级方案,很好地保证了开卡的灵活性。(4)为方便用户使用SD卡,设计了基于FAT(File Allocation Table)文件系统的驱动载入方案。另外针对回收的Flash,改进开卡方案的设计,降低由于Flash芯片无效而造成的控制芯片的浪费。实验结果表明,本课题设计的开卡方案能够成功并且快速地实现基于ZD5820芯片的SD卡的开卡。ZD5820芯片已经量产商用,首次量产规模达到一百万片,所以本套开卡方案具有很高的商业应用价值。