一种基于DMA传输的Flash存储控制系统的制作方法

文档序号:6644310阅读:613来源:国知局
一种基于DMA传输的Flash存储控制系统的制作方法
【专利摘要】本实用新型公开了一种基于DMA传输的Flash存储控制系统,包括FPGA控制器件、Flash存储阵列和USB接口,所述的FPGA控制器件对Flash存储阵列的控制和数据的正确存储,将阵列中存储的数据通过USB接口上传到上位机。采用DMA控制器对命令和地址进行传输,并实现流水线存储过程,加快了存储速度。并且系统以FPGA为控制平台,具有实时性高,速度快的优点。此设计免去了嵌入式处理器对FLASH阵列操作时的读写等待,简化读写流程,提高了系统整体运行效率。
【专利说明】—种基于DMA传输的Flash存储控制系统

【技术领域】
[0001]本实用新型涉及计算机【技术领域】,特别涉及一种基于DMA传输的Flash存储控制系统。

【背景技术】
[0002]NAND FLASH由于其存储容量大、体积小、读写速度快、外围电路简单,从而在嵌入式系统中得到了越来越广泛的应用。但NAND FLASH的读写操作比较特殊,在读写数据时要先写入操作命令和读写地址,并且在编程时不能对其执行任何操作。通常嵌入式处理器采用查询的方式对NAND FLASH进行编程,不仅操作复杂,而且减慢了数据读写的速度。
[0003]DMA传输,即存储器直接访问,是一种高速的数据传输操作,允许外部设备和存储器之间直接读写数据,不需要CPU干预,达到数据的快速存储。
实用新型内容
[0004]本实用新型目的是:提供一种基于DMA传输的Flash存储控制系统,采用DMA传输实现了对命令和地址的传输,并实现流水线存储过程,加快了存储速度,提高了系统整体运行效率。
[0005]本实用新型的技术方案是:一种基于DMA传输的Flash存储控制系统,包括FPGA控制器件、Flash存储阵列和USB接口,所述的FPGA控制器件对Flash存储阵列的控制和数据的正确存储,将阵列中存储的数据通过USB接口上传到上位机。
[0006]进一步的,所述Flash存储阵列中所有FLASH使用相同的控制信号,同一列的FLASH的片选信号相同,但数据通道不同,同一行的FLASH的片选信号不同,而数据通道相同。
[0007]进一步的,所述的FPGA控制器件通过DMA控制器传输命令和地址按时序释放到数据总线上,对数据进行存储。
[0008]进一步的,所述的Flash存储阵列采用时分多路复用的方法对数据进行存储。
[0009]进一步的,对FLASH进行存储操作时应先向FLASH写入编程开始命令,然后是五个周期的有效块存储地址和2K字节数据,最后写入结束编程命令。
[0010]进一步的,所述的数据存储采用全相关的无效块管理方法。
[0011]进一步的,所述的全相关的无效块管理方法为首先将无效块的信息缓存于地址FIFO,待数据存储时,由DMA读取,将相同的地址和命令并置在一起,然后通过DMA方式发送到数据总线,最后在每个Flash的I/O 口进行分配。
[0012]进一步的,所述的命令和地址通过八选一选择器发送到Flash的1总线上。
[0013]本实用新型的优点是:
[0014]采用DMA控制器对命令和地址进行传输,并实现流水线存储过程,加快了存储速度。并且系统以FPGA为控制平台,具有实时性高,速度快的优点。此设计免去了嵌入式处理器对FLASH阵列操作时的读写等待,简化读写流程,提高了系统整体运行效率。

【专利附图】

【附图说明】
[0015]下面结合附图及实施例对本实用新型作进一步描述:
[0016]图1是本实用新型一种基于DMA传输的Flash存储控制系统的结构框图;
[0017]图2是本实用新型一种基于DMA传输的Flash存储控制系统的DMA传输命令和地址的结构框图。

【具体实施方式】
[0018]为使本实用新型的目的、技术方案和优点更加清楚明了,下面结合【具体实施方式】并参照附图,对本实用新型进一步详细说明。应该理解,这些描述只是示例性的,而并非要限制本实用新型的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本实用新型的概念。
[0019]实施例:
[0020]该系统包括FPGA控制器件、Flash存储阵列和USB接口,所述的FPGA控制器件对Flash存储阵列的控制和数据的正确存储,将阵列中存储的数据通过USB接口上传到上位机。
[0021]FPGA:
[0022]存储控制系统的控制器件,集成度高,功耗低,内部嵌有总线结构灵活,并行处理能力强的软处理器核MICR0BLAZE,并有用户自定义的IP核,可以实现对FLASH阵列的控制和数据的正确存储,而且可以将阵列中存储的数据通过USB接口上传到上位机,进行数据的后期处理。为了保证Flash的正确操作,必须在操作之前建立无效块信息表。在对Flash进行读、写或擦除操作之前,应先从FPGA的RAM中读取无效块信息,然后根据无效块信息决定是否对当前块操作。待数据存储时,由DMA读取,然后将相同的地址和命令并置在一起,然后通过DMA方式发送到数据总线,最后在每个Flash的I/O 口进行分配。
[0023]存储阵列:
[0024]系统采用4X4 NAND FLASH阵列形式,由SAMSUNG公司的K9NBG08U5A搭建而成,每颗NAND FLASH容量为4G X 8bit,因而整个NAND FLASH容量为64G。在构建FLASH阵列时,所有FLASH使用相同的控制信号,同一列的FLASH的片选信号相同,但数据通道不同,同一行的FLASH的片选信号不同,而数据通道相同。
[0025]USB 接口:
[0026]上位机和存储系统的数据交互通过USB接口进行,上位机将命令和配置信息通过USB接口传入FPGA,使FPGA内部的MICR0BLAZE执行相应的操作。数据回读时通过USB接口将数据传回上位机。上位机可以是Pc或者是一个嵌入式系统。
[0027]FPGA通过DMA控制器传输命令和地址,DMA方式写命令和地址是用硬件的方法将FLASH阵列编程需要的命令和地址按时序释放到数据总线上,免去了上位机查询时所浪费的时间;流水线操作流程是DMA对FLASH阵列编程阶段等待的时间的利用,提高了存储效率。
[0028]对有效数据的存储操作包括加载阶段和编程阶段,编程阶段期间,FPGA不能对FLASH进行操作,因此对于单片FLASH存储器而言,编程阶段的时间被浪费,不利于达到快速存储。为此可采用时分多路复用的方法对数据进行存储,具体实现方式就是首先对第一列的NAND FLASH加载数据,数据加载完后,第一列NAND FLASH随后就将进入自动编程状态,立即再加载第二列NAND FLASH。如此循环进行数据加载,直到最后一片加载完成后,再回到第一片。这样就充分利用了编程阶段的时间,使存储速度得到提升,此过程也称流水线操作。
[0029]DMA方式写命令和地址:
[0030]FLASH片内包含一个页的数据寄存器,编程过程中始终是将存储数据先缓存到数据寄存器,然后再写入存储单元,所以它是基于页的读写,基于块的擦除。
[0031]对FLASH进行存储操作时应先向FLASH写入编程开始命令,表示写数据的开始;因为在写入地址时列地址需要12根地址线,页地址需要17根地址线,而每次只能向8根线写数据,这样就需要5个时钟周期来写入地址,前两个时钟写入列地址,后三个时钟写入行地址。然后是2K字节数据,最后写入结束编程命令。
[0032]用DMA方式传送命令和地址花费的时间低于上位机查询的方式,提高了存储速度。由于系统FLASH阵列规模小,可以选用全相关的无效块管理方法,其控制简单、算法容易实现。无效块的信息事先缓存于地址FIFO,待数据存储时,由DMA读取。此外每片NANDFLASH的编程命令码相同,所以对每一列FLASH操作时,每个FLASH 1 口上的数据是相同的。DMA方式写命令和地址如图2所示,相同的地址和命令先并置在一起,然后通过DMA方式发送到数据总线,最后在每个FLASH的I/O 口进行分配。
[0033]无效块,即为坏块,由于NAND Flash的工艺不能保证NAND的Memory Array在其生命周期中保持性能的可靠,因此,在NAND的生产中及使用过程中会产生坏块。
[0034]坏块信息存储于flash每一页的spare area区,因此,如果在擦除一个块之前,一定要先check —下spare area区的第6个byte是否是Oxff,如果是Oxff就证明这是一个好块,可以擦除;如果是非OxfT,那么就不能擦除,即不能读写。
[0035]图2中的八选一选择器电路的作用是按FLASH的操作时序将包括存储数据、命令、地址放到FLASH的1总线上,通道的选择由DMA控制。与此同时,相应的控制信号ALE、CLE、WE等变为有效电平,实现命令、数据、地址的写入。
[0036]应当理解的是,本实用新型的上述【具体实施方式】仅仅用于示例性说明或解释本实用新型的原理,而不构成对本实用新型的限制。因此,在不偏离本实用新型的精神和范围的情况下所做的任何修改、等同替换、改进等,均应包含在本实用新型的保护范围之内。此外,本实用新型所附权利要求旨在涵盖落入所附权利要求范围和边界、或者这种范围和边界的等同形式内的全部变化和修改例。
【权利要求】
1.一种基于DMA传输的Flash存储控制系统,其特征在于,包括FPGA控制器件、Flash存储阵列和USB接口,所述的FPGA控制器件对Flash存储阵列进行控制和数据的存储,将阵列中存储的数据通过USB接口上传到上位机,所述Flash存储阵列的数据存储由FPGA控制器件通过DMA控制器传输命令和地址按时序释放到数据总线上对数据进行存储。
2.根据权利要求1所述的基于DMA传输的Flash存储控制系统,其特征在于,所述Flash存储阵列中所有FLASH使用相同的控制信号,同一列的FLASH的片选信号相同,但数据通道不同,同一行的FLASH的片选信号不同,而数据通道相同。
3.根据权利要求1所述的基于DMA传输的Flash存储控制系统,其特征在于,所述Flash存储阵列为4X4的NAND FLASH阵列。
4.根据权利要求1所述的基于DMA传输的Flash存储控制系统,其特征在于,所述的命令和地址通过八选一选择器发送到Flash的1总线上。
【文档编号】G06F13/28GK204129729SQ201420295531
【公开日】2015年1月28日 申请日期:2014年6月5日 优先权日:2014年6月5日
【发明者】陈伟, 张琳 申请人:苏州润林文化传媒有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1