一种NANDFLASH阵列二级地址映射表的实现方法与流程

文档序号:12719471阅读:842来源:国知局

本发明涉及NAND FLASH控制器和IC设计技术领域,特别涉及一种NAND FLASH阵列二级地址映射表的实现方法。



背景技术:

NAND-FLASH内存是flash内存的一种,其内部采用非线性宏单元模式,为固态大容量内存的实现提供了廉价有效的解决方案。NAND-FLASH存储器具有容量较大,改写速度快等优点,适用于大量数据的存储,因而在业界得到了越来越广泛的应用,如嵌入式产品中包括数码相机、MP3随身听记忆卡、体积小巧的U盘等。

当前NAND FLASH阵列控制大多使用一级page地址映射,每个芯片的每个page都需要顶层模块分别进行控制,顶层模块地址管理复杂且效率低。由于地址映射没有层次,为支持文件随机删除,需要NAND FLASH控制器设计磨损均衡和垃圾回收模块,设计难度大。

针对存储芯片阵列的一级page地址映射,本发明提出了一种NAND FLASH阵列二级地址映射表的实现方法。



技术实现要素:

本发明为了弥补现有技术的缺陷,提供了一种简单高效的NAND FLASH阵列二级地址映射表的实现方法。

本发明是通过如下技术方案实现的:

一种NAND FLASH阵列二级地址映射表的实现方法,其特征在于,包括以下步骤:

(1)根据NAND FLASH阵列规格确定二级地址映射,确定block地址映射表规格和page地址映射表规格;

(2)NAND FLASH阵列控制器接收上级命令并解析;

(3)根据解析出的命令,执行解析出的读命令、擦除命令或者写命令;

若为读命令或擦除命令,则查询block地址映射表,找出文件对应的blcok地址,从低block地址向高block地址循环,向存储芯片阵列发送读或擦除命令;

若为写入命令,则判断当前文件是否为新文件,查询当前block地址是否为可写入,根据多种条件,向存储芯片阵列发送不同block地址写入数据命令;

(4)根据上级发送来的block地址和操作命令和数据,查询该block对应的page地址映射表,执行操作;

(5)循环执行上述流程,直到完成整个文件读取、擦除或写入操作。

所述步骤(1)中,NAND FLASH阵列规格为16x4时,为16片NAND FLASH芯片并行,4级流水的存储阵列,每片NAND FLASH芯片有32000个block,每个block有256个page;

一级block地址映射表规格为32000个地址条目和一个当前操作block地址指针条目,每个地址条目内有两部分,文件名和block地址映射及当前block是否可写入标志位,当前操作block地址指针条目存储当前正在操作的block地址;

二级page地址映射表有32000x64个部分,即每个芯片的每个block一个page地址映射表,每个page地址映射表单元有256个地址条目和一个当前操作page地址指针条目,每个地址条目包含页地址和物理地址映射信息,当地址指针指向最后一个page时,向上级block地址映射表发送信息,将当前block标记为不可写入。

所述步骤(3)中,若为写入命令,判断当前文件是否为新文件,查询当前block地址是否为可写入,若为新文件或当前block为不可写入,向下一个block写入,若为旧文件且当前block为可写入,向个芯片当前block地址发送写入命令。

本发明的有益效果是:该NAND FLASH阵列二级地址映射表的实现方法,地址映射分为两层,不同文件不混用block,且支持block地址的动态排队,在NAND FLASH控制器不设计磨损均衡和垃圾回收的情况下,支持随机删除功能,不仅地址管理简单,而且兼容性强,执行效率高,具有广阔的应用前景。

附图说明

附图1为本发明NAND FLASH阵列二级地址映射表的实现方法示意图。

具体实施方式

为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚明白,以下结合附图和实施例,对本发明进行详细的说明。应当说明的是,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。

该NAND FLASH阵列二级地址映射表的实现方法,包括以下步骤:

(1)根据NAND FLASH阵列规格确定二级地址映射,确定block地址映射表规格和page地址映射表规格;

(2)NAND FLASH阵列控制器接收上级命令并解析;

(3)根据解析出的命令,执行解析出的读命令、擦除命令或者写命令;

若为读命令或擦除命令,则查询block地址映射表,找出文件对应的blcok地址,从低block地址向高block地址循环,向存储芯片阵列发送读或擦除命令;

若为写入命令,则判断当前文件是否为新文件,查询当前block地址是否为可写入,根据多种条件,向存储芯片阵列发送不同block地址写入数据命令;

(4)根据上级发送来的block地址和操作命令和数据,查询该block对应的page地址映射表,执行操作;

(5)循环执行上述流程,直到完成整个文件读取、擦除或写入操作。

NAND FLASH阵列规格为16x4时,为16片NAND FLASH芯片并行,4级流水的存储阵列,每片NAND FLASH芯片有32000个block,每个block有256个page;

所述步骤(1)中,一级block地址映射表规格为32000个地址条目和一个当前操作block地址指针条目,每个地址条目内有两部分,文件名和block地址映射及当前block是否可写入标志位,当前操作block地址指针条目存储当前正在操作的block地址;

二级page地址映射表有32000x64个部分,即每个芯片的每个block一个page地址映射表,每个page地址映射表单元有256个地址条目和一个当前操作page地址指针条目,每个地址条目包含页地址和物理地址映射信息,当地址指针指向最后一个page时,向上级block地址映射表发送信息,将当前block标记为不可写入。

所述步骤(3)中,若为写入命令,判断当前文件是否为新文件,查询当前block地址是否为可写入,若为新文件或当前block为不可写入,向下一个block写入,若为旧文件且当前block为可写入,向个芯片当前block地址发送写入命令。

该NAND FLASH阵列二级地址映射表的实现方法,地址映射分为两层,不论芯片阵列规格为什么,顶层模块看到的block地址映射表规格为单片NAND FLASH芯片中的block数目,地址管理简单;不同文件不混用block,且支持block地址的动态排队,在NAND FLASH控制器不设计磨损均衡和垃圾回收的情况下,支持随机删除功能。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1