Nand flash编程技术
? ? ? ? 一、nand flash容量与接口 ? ? ? ??1.容量 ? ? ? ??nand flash按照面、块、页、字节进行存储空间的管理,以我接触过的两款芯片来说: ? ? ? ??K9K8G08U0A的存储容量为1024MB = 4(planes) * 2K(blocks) * 64(pages) * 2K(Bytes) ? ? ? ??oob区的大小为32MB = 256Mbit = 512K(pages) * 64(Bytes) ? ? ? ??(注:该flash中每一页包括2KB存储空间和64B的oob区信息)
? ? ? ??K9F2G08U0A的存储容量为2Gbit = 256MB = 2(planes) * 1K(blocks) * 64(pages) * 2K(Bytes) ? ? ? ??oob区的大小为8MB = 64Mbit = 128K(pages) * 64(Bytes) ? ? ? ??(注:该flash中每一页包括2KB存储空间和64B的oob区信息) ? ? ? ??2. 接口? ? ? ??I/O[0-7]:数据、地址、状态和命令共同复用的输入输出口 ? ? ? ??CLE:命令锁存使能 ? ? ? ??ALE:地址锁存使能 ? ? ? ??CE:芯片片选使能 ? ? ? ??RE:读使能 ? ? ? ??WE:写使能 ? ? ? ??WP:写保护使能 ? ? ? ??R/B:芯片“就绪/忙”信号 ? ? ? ??Vcc:电源 ? ? ? ??Vss:地 ? ? ? ??N.C:悬空 ? ? ? ??二、K9F2G08U0A功能框图、组织结构与支持的命令集 ? ? ? ??三、操作步骤 ? ? ? ??Nand flash相关寄存器初始化 ? ? ? ??四、说明 通过给定列地址值,我们可以不按页对齐开始,而是从给定地址开始读取数据 循环读取数据的长度也不必是整页的长度大小,而是根据实际长度来读取,如len = 100 写入也是同理,不必整页对齐,但这样会降低读写效率 擦除必须是从整数页开始擦,擦除空间必须是一个block的大小,比如128KB (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |