一种提高NAND?flash控制器读写速度的方法,属于集成电路设计领域。NAND?flash控制器一端连在系统总线上,另一端与NAND?flash直接相连,从NAND?flash中读出其页大小的参数,动态分配NAND?flash控制器内部的缓存,生成多个适应NAND?flash的页的大小的缓存分页,通过外部控制命令对当前使用的缓存分页进行选择,选择出当前使用的缓存页,使得外部控制命令可以直接对其进行操作。此方法的优点在于,可以使控制器很好地适应不同型号的NAND?flash,并最大限度地利用自身有限的缓存资源,为外部控制命令提供更为灵活的缓存操作方式,提高对NAND?flash的读写速度。
【技术实现步骤摘要】
【专利摘要】一种提高NAND?flash控制器读写速度的方法,属于集成电路设计领域。NAND?flash控制器一端连在系统总线上,另一端与NAND?flash直接相连,从NAND?flash中读出其页大小的参数,动态分配NAND?flash控制器内部的缓存,生成多个适应NAND?flash的页的大小的缓存分页,通过外部控制命令对当前使用的缓存分页进行选择,选择出当前使用的缓存页,使得外部控制命令可以直接对其进行操作。此方法的优点在于,可以使控制器很好地适应不同型号的NAND?flash,并最大限度地利用自身有限的缓存资源,为外部控制命令提供更为灵活的缓存操作方式,提高对NAND?flash的读写速度。【专利说明】—种提高NAND flash控制器读写速度的方法
本专利技术涉及一种以动态配置NAND flash控制器内部缓存分页大小来提高控制器对NAND flash器件的读写速度的方法,属于数字集成电路设计
。
技术介绍
随着芯片的集成度越来越高,当今的手机、平板电脑等都集成了上网、游戏、音乐播放、视频播放、照相等常用的数码功能,越来越多的功能自然也对存储提出了更高的要求。而Flash是目前最为常用的非易失性存储器,在Flash使用方面,NAND Flash由于相对于NOR Flash有着更低的单位bit成本,更大的存储密度、更快的写入和擦除速度、更多的可擦出次数等优点。而NAND flash由于接口时序复杂,且在读写数据时只能以页为单位进行操作,在使用时需要配有特有的控制器,而目前的控制器无法完全发挥NAND flash的所有性能,控制器是读写速度提高的瓶颈。目前常用的提高NANDflash控制器读写速度的方法就是在控制器内部设置缓存,通过设置大量缓存来提高随机读写的速度,但这样的方式会带来一个问题:在提高速度的同时使得成本大大提高。而这个成本的提高,很大程度上是由于内部缓存资源的浪费造成的,因此,需要一种新的设计方法来解决这个问题,即在提高速度的同时兼顾成本。专利号:200710164187.9、专利技术人:闕金珍、“NAND FLASH控制器及其与NAND FLASH芯片的数据交互方法”揭示了一种NAND FLASH控制器与NAND FLASH芯片的数据交互方法,该控制器结构为目前较为常用的控制结构,其数据缓冲区仅起到了“用于接收系统总线通过述总线时序接口传送的信息数据”的作用,而NAND flash在进行读写操作时必须以页为单位进行读写,如果读写NAND flash的时候不利用大量缓存的话,会大大降低读写速度;如果在读写操作时能利用这些数据缓冲区的资源,则会一定程度上提高读写速度。没有充分利用芯片内的缓存资源,这是现有技术存在的一个缺陷。
技术实现思路
为了克服现有技术存在的缺陷和不足,本专利技术提供了。本专利技术的技术方案如下:,由以下系统来实现,该系统包括NAND flash控制器、NAND flash和外部控制命令,NAND flash控制器一端连在系统总线上,另一端直接和NAND flash相连,外部控制命令能直接操作NAND flash控制器;NAND flash控制器包括主控逻辑、一个缓存器、多组缓存控制逻辑、一个分页选择模块和一个分页记录模块,主控逻辑内带有ECC校验模块;缓存器用于缓存读写的数据,缓存控制逻辑与缓存器连接,用于缓存器的动态分配;分页选择模块与缓存控制逻辑、主控逻辑相连,用于从多组缓存分页中选择当前使用的缓存分页,是能够由外部控制命令进行设置的;分页记录模块与分页选择模块、主控逻辑相连,每次NAND flash控制器对NAND flash进行读写操作时,分页记录模块就会自动记录下使用的缓存分页的地址和实际操作的NAND flash页的物理地址,该方法步骤如下:I)基于动态改变内部缓存分页的大小提高NAND flash控制器的顺序读写NANDflash速度(I )NAND flash控制器读取的NAND flash的ID,得到NAND flash的页大小参数;(2)在NAND flash控制器中加入能配置的寄存器,用来存储步骤(I)中得到的NAND flash的页大小参数;(3)在NAND flash控制器中加入缓存控制逻辑,利用步骤(2)中的寄存器存储的页大小参数,将缓存器中的地址小于NAND flash的页大小参数的缓存分配成一个缓存分页,由该缓存控制逻辑来控制;(4) NAND flash控制器通过操纵步骤(3)中的缓存控制逻辑,即能控制动态分配出来的缓存;(5)通过NAND flash控制器对NAND flash进行写操作时,外部控制命令先将数据写入步骤(3)中的缓存分页,然后NAND flash控制器将缓存分页中的数据一起写入NANDflash,进行读操作时,先将NAND flash中的数据读入缓存分页,再从缓存分页中取数据,这样加快了顺序读写NAND flash的速读;2)基于动态分配NAND flash控制器内部剩余缓存提高随机读写NAND flash速度(I)在NAND flash控制器中按照每页最小为528Byte来设计缓存控制逻辑,一共需设置为:总缓存容量/最小每页容量-1组缓存控制逻辑;(2) NAND flash控制器利用步骤I)的第(2)步中的寄存器存储的页大小参数和上一步中预先设置的多组缓存控制逻辑,将剩余的缓存按照页大小进行配置,配制成大小为一页的缓存分页,遇到不足一页的缓存则不使用,分配出来的每个缓存分页由一组缓存控制逻辑来控制;(3)设计分页选择模块,外部控制命令对该模块进行设置后,能从步骤(2)和步骤O的第(3)步中所配置出来的缓存分页中选出当前正在使用的缓存分页,使能该缓存分页的缓存控制逻辑,其他分页保持原来的存储状态;(4)设计分页记录模块,当NAND flash控制器将来自外部的数据或从NAND flash中读出的数据写入当前正在使用的缓存分页后,分页记录模块会自动记录下使用的缓存分页的地址和实际操作的NAND flash页的物理地址,并将其建立为一一对应的映射关系;(5) NAND flash控制器读NAND flash时,利用步骤(4)记录的缓存分页的地址和NAND flash页的物理地址的映射关系,当需要读之前访问过的NAND flash页的时候,即使能对应的缓存分页的控制逻辑,直接读取对应缓存分页中的数据,加快了随机读NANDflash的速度;(6)NAND flash控制器写NAND flash时,当需要向某个NAND flash页中写入少量数据时,先将该少量数据写入某个缓存分页,之后若再需要向该NAND flash页中写入数据时,利用步骤(4)中建立的映射关系,再次写入之前用的缓存分页,当需要写入的数据占满整个缓存分页的时候,就会把该缓存分页的数据一起写入NAND flash,加快了随机写NANDflash的速度。上述“使能”一词是英语enable的汉语释义,是集成电路设计中的通用词语,意为使某某开始工作,如:当某一模块输入信号I时模块开始工作,使能通常就是指把enable这个输入信号由O变成I。本专利技术方法的优点如下:可以使控制器很好地适应不同型号的NAND flash,并最大限度地利用自身有限的缓本文档来自技高网...
【技术保护点】
一种提高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的速度。...
【技术特征摘要】
【专利技术属性】
技术研发人员:周莉,孙皓,孙涛,陈鹏,董启凡,马召宾,汪洋,
申请(专利权)人:山东大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。