一种基于大容量数据记录仪的坏块管理设计
2014-03-28胡红王少云叶艳
胡红,王少云,叶艳
(1.南京航空航天大学电子信息工程学院,江苏南京210016;2.南京航空航天大学无人机研究院,江苏南京210016)
Flash芯片作为一种新兴的半导体存储器件,具有集成度高、非易失性、功耗低、价格低、容量大、可擦除次数多等优点,被广泛应用于大容量数据存储系统中。Samsung公司的K9F8G08U0M单片容量达到8GB,可通过多片NAND Flash串联的方法扩大系统容量。但是由于工艺和使用环境等因素,NAND Flash较其他形式的存储芯片更易出现坏块问题,同时由于NAND Flash存储芯片的容量大,出现坏块问题也更多。因此,在使用NAND Flash存储芯片时,对坏块的管理愈显重要。
使用NAND Flash存储芯片时,对坏块的管理的一般方法有:1)基于FPGA的片内RAM,存储有效块信息,将有效块地址作为数据存入RAM中。进行读写操作时,从RAM中读出有效块地址。2)基于FPGA内部RAM,RAM地址与块地址相对应,在与坏块地址相对应的RAM中存储1,而其他存储0[1]。
本文提出了一种基于FPGA的大容量数据记录仪的坏块管理方法,利用FPGA[2]内部RAM[3]空间建立坏块地址信息存储区,通过查询存储区中的信息,来确定当前存储块是否损坏,若是坏块则跳过,从而避免对坏块的操作,实现了对Flash存储空间的有效管理。该坏块管理方案在不增加FPGA使用的复杂程度的条件下,需要的内存资源比方法1、方法2明显减少。
1 NAND Flash K 9F8G08U0M简介
文中的大容量数据记录仪采用9片Samsung公司的NAND Flash芯片K9F8G08U0M,其总容量达到72G。K9F8G08U0M芯片由4096个块组成,每个块有64页,每个页为(4K+128)Bytes,其中4KBytes为Main Area,128Bytes为Spare area,Main Area专门存储数据,Spare Area存储其他信息,如ECC校检码、坏块信息等。K9F8G08U0M的读写操作以页为最小单位,擦除操作以块为最小单位进行,禁止按位擦除。……
