发明名称 一种提高NAND flash控制器读写速度的方法
摘要 一种提高NAND flash控制器读写速度的方法,属于集成电路设计领域。NAND flash控制器一端连在系统总线上,另一端与NAND flash直接相连,从NAND flash中读出其页大小的参数,动态分配NAND flash控制器内部的缓存,生成多个适应NAND flash的页的大小的缓存分页,通过外部控制命令对当前使用的缓存分页进行选择,选择出当前使用的缓存页,使得外部控制命令可以直接对其进行操作。此方法的优点在于,可以使控制器很好地适应不同型号的NAND flash,并最大限度地利用自身有限的缓存资源,为外部控制命令提供更为灵活的缓存操作方式,提高对NAND flash的读写速度。
申请公布号 CN103559146A 申请公布日期 2014.02.05
申请号 CN201310542861.8 申请日期 2013.11.05
申请人 山东大学 发明人 周莉;孙皓;孙涛;陈鹏;董启凡;马召宾;
分类号 G06F12/08(2006.01)I;G06F13/14(2006.01)I 主分类号 G06F12/08(2006.01)I
代理机构 济南金迪知识产权代理有限公司 37219 代理人 许德山
主权项 一种提高NAND flash控制器读写速度的方法,由以下系统来实现,该系统包括NAND flash控制器、NAND flash和外部控制命令,NAND flash控制器一端连在系统总线上,另一端直接和NAND flash相连,外部控制命令能直接操作NAND flash控制器;NAND flash控制器包括主控逻辑、一个缓存器、多组缓存控制逻辑、一个分页选择模块和一个分页记录模块,主控逻辑内带有ECC校验模块;缓存器用于缓存读写的数据,缓存控制逻辑与缓存器连接,用于缓存器的动态分配;分页选择模块与缓存控制逻辑、主控逻辑相连,用于从多组缓存分页中选择当前使用的缓存分页,是能够由外部控制命令进行设置的;分页记录模块与分页选择模块、主控逻辑相连,每次NAND flash控制器对NAND flash进行读写操作时,分页记录模块就会自动记录下使用的缓存分页的地址和实际操作的NAND flash页的物理地址,该方法步骤如下:1)基于动态改变内部缓存分页的大小提高NAND flash控制器的顺序读写NAND flash速度(1)NAND flash控制器读取的NAND flash的ID,得到NAND flash的页大小参数;(2)在NAND flash控制器中加入能配置的寄存器,用来存储步骤(1)中得到的NAND flash的页大小参数;(3)在NAND flash控制器中加入缓存控制逻辑,利用步骤(2)中的寄存器存储的页大小参数,将缓存器中的地址小于NAND flash的页大小参数的缓存分配成一个缓存分页,由该缓存控制逻辑来控制;(4)NAND flash控制器通过操纵步骤(3)中的缓存控制逻辑,即能控制动态分配出来的缓存;(5)通过NAND flash控制器对NAND flash进行写操作时,外部控制命令先将数据写入步骤(3)中的缓存分页,然后NAND flash控制器将缓存分页中的数据一起写入NAND flash,进行读操作时,先将NAND flash中的数据读入缓存分页,再从缓存分页中取数据,这样加快了顺序读写NAND flash的速读;2)基于动态分配NAND flash控制器内部剩余缓存提高随机读写NAND flash速度(1)在NAND flash控制器中按照每页最小为528Byte来设计缓存控制逻辑,一共需设置为:总缓存容量/最小每页容量‑1组缓存控制逻辑;(2)NAND flash控制器利用步骤1)的第(2)步中的寄存器存储的页大小参数和上一步中预先设置的多组缓存控制逻辑,将剩余的缓存按照页大小进行配置,配制成大小为一页的缓存分页,遇到不足一页的缓存则不使用,分配出来的每个缓存分页由一组缓存控制逻辑来控制;(3)设计分页选择模块,外部控制命令对该模块进行设置后,能从步骤(2)和步骤1)的第(3)步中所配置出来的缓存分页中选出当前正在使用的缓存分页,使能该缓存分页的缓存控制逻辑,其他分页保持原来的存储状态;(4)设计分页记录模块,当NAND flash控制器将来自外部的数据或从NAND flash中读出的数据写入当前正在使用的缓存分页后,分页记录模块会自动记录下使用的缓存分页的地址和实际操作的NAND flash页的物理地址,并将其建立为一一对应的映射关系;(5)NAND flash控制器读NAND flash时,利用步骤(4)记录的缓存分页的地址和NAND flash页的物理地址的映射关系,当需要读之前访问过的NAND flash页的时候,即使能对应的缓存分页的控制逻辑,直接读取对应缓存分页中的数据,加快了随机读NAND flash的速度;(6)NAND flash控制器写NAND flash时,当需要向某个NAND flash页中写入少量数据时,先将该少量数据写入某个缓存分页,之后若再需要向该NAND flash页中写入数据时,利用步骤(4)中建立的映射关系,再次写入之前用的缓存分页,当需要写入的数据占满整个缓存分页的时候,就会把该缓存分页的数据一起写入NAND flash,加快了随机写NAND flash的速度。
地址 250100 山东省济南市历城区山大南路27号