一种基于软硬件结合方式的大容量快速NandFlash存储实现方法技术

技术编号:24408830 阅读:15 留言:0更新日期:2020-06-06 08:16
本发明专利技术公开了一种基于软硬件结合方式的大容量快速NandFlash存储实现方法,包括以下步骤:根据NandFlash特性结合控制器的双缓存区块特点,优化NandFlash的读写方式,采用并行化读写方式控制多块NandFlash;在实现上,对处理器的局部总线控制器的时序和命令进行解析,在FPGA芯片内部重新映射部分局部总线控制下的空闲物理地址空间,在FPGA芯片内实现对多片NandFlash芯片的复合片选;修改软件驱动程序,使修改后的软件驱动程序对单片存储器的串行访问命令变成对两片NandFlash芯片的交替访问,利用NandFlash芯片访问的等待时间,交替进行对缓存区块的读写访问,该方法能够有效的提高NandFlash存储器的读写速度。

A large capacity and fast nandflash storage method based on the combination of software and hardware

【技术实现步骤摘要】
一种基于软硬件结合方式的大容量快速NandFlash存储实现方法
本专利技术属于嵌入式系统领域,涉及一种基于软硬件结合方式的大容量快速NandFlash存储实现方法。
技术介绍
随着嵌入式系统应用越来越复杂,系统处理的数据越来越多,需要在现有设备上处理和存储更多的数据。假如,现有一类通用处理器具有NandFlash控制器和局部总线控制器,NandFlash控制器用于管理存储数据的NandFlash芯片,局部总线控制器用于管理挂载在局部总线上的外设。用于管理NandFlash的控制器称为FCM(NANDFlashControlMachine),该控制器具有一8KB的缓存供处理器内核和NandFlash之间交互数据。其8KB的缓存分成了两个4KB大小的缓存区块,每个缓存区块用于缓存处理器和NandFlash交换的2KB的数据和64B的OOB信息;每个缓存区块可单独对NandFlash进行命令时序控制和数据交换。原嵌入式处理器对NandFlash存储器的访问是通过处理器的局部总线对FCM的访问实现的,由于FCM提供的缓存区块最大为4KB,所以一次能够读写的数据的最大页面大小大小为2KB。嵌入式处理器的FCM最大支持的NandFlash存储空间有限,例如,最多只能支持2片NandFlash,单片NandFlash的容量最大为2GB。因此,如果需要大于2GB的数据存储需求,则需要在此基础上进行存储器容量的扩展,NandFlash存储器的读写速度较慢。
技术实现思路
本专利技术的目的在于克服上述现有技术的缺点,提供了一种基于软硬件结合方式的大容量快速NandFlash存储实现方法,该方法能够有效的提高NandFlash存储器的读写速度。为达到上述目的,本专利技术所述的基于软硬件结合方式的大容量快速NandFlash存储实现方法包括以下步骤:根据NandFlash特性结合控制器的双缓存区块特点,优化NandFlash的读写方式,采用并行化读写方式控制多块NandFlash;在实现上,对处理器的局部总线控制器的时序和命令进行解析,在FPGA芯片内部重新映射部分局部总线控制下的空闲物理地址空间,在FPGA芯片内实现对多片NandFlash芯片的复合片选;修改软件驱动程序,使修改后的软件驱动程序对单片存储器的串行访问命令变成对两片NandFlash芯片的交替访问,利用NandFlash芯片访问的等待时间,交替进行对缓存区块的读写访问。处理器通过局部总线与FPGA芯片连接,局部总线中包含用于控制NandFlash的FCM模块的控制线及片选线、局部总线控制器的数据线、地址线、读使能信号线及写使能信号线,32片NandFlash芯片按地址空间顺序排布构成存储阵列,所有的NandFlash芯片共享数据地址线和控制线,每一个NandFlash芯片的片选信号CS各不相同,且分别与FPGA芯片的CS输出连接,NandFlash芯片的数据线和控制线通过FPGA芯片与嵌入式处理器相连。在FPGA内部重新映射部分局部总线控制下的空闲物理地址空间,在FPGA芯片内实现对多片NandFlash芯片的复合片选的具体实现过程为:在FPGA内部重映射空闲物理地址空间并形成片选寄存器,应用软件通过访问外围存储设备物理地址空间来访问相应的FPGA芯片内部片选寄存器,FPGA芯片解析应用软件对片选寄存器的写入数据,实现对NandFlash的复合片选,上层软件通过对同一地址写不同的值,以完成对应NandFlash芯片片选引脚切换。在FPGA内部重新映射部分局部总线控制下的空闲物理地址空间,在FPGA芯片内实现对多片NandFlash芯片的复合片选的具体实现过程为:利用空闲物理地址空间,FPGA芯片仅在上层软件写该段地址时解析LA上的地址数据,根据该地址数据完成相应的片选,上层软件对32个地址空间写特定的值,完成对应NandFlash芯片片选引脚的切换。修改软件驱动程序,使修改后的软件驱动程序对单片存储器的串行访问命令变成两片NandFlash芯片的交替访问,利用NandFlash芯片访问的等待时间,交替进行缓存区块的读写访问的具体实现过程为:缓存区块0接收上层软件DMA传递数据的同时,缓存区块1对底层NandFlash芯片进行读写访问,缓存区块0在缓存区块1等待NandFlash完成指令执行的空隙操控指定的空闲NandFlash芯片,利用NandFlash执行指令时的硬件等待时间,双缓存区块依次交替工作,实现流水线操作,利用逻辑中硬件执行命令的等待时间,将数据和指令提前装载入FCM空闲缓存区块中,在其他缓存区块处于等待时间时,按固定时序执行指定命令和数据传递,使底层驱动能够同时对多块NandFlash操作。本专利技术具有以下有益效果:本专利技术所述的基于软硬件结合方式的大容量快速NandFlash存储实现方法在具体操作时,根据NandFlash特性结合控制器的双缓存区块(bank)特点,优化NandFlash的读写方式,采用并行化读写方式控制多块NandFlash,使得整体的读写速度可以成倍提高,在实现上,对处理器的局部总线控制器的时序和命令进行解析,在FPGA内部重新映射部分局部总线控制下的空闲物理地址空间,实现对多片NandFlash芯片的复合片选,另外,通过修改软件驱动程序,使对单片存储器的串行访问命令变成两片NandFlash芯片的交替访问,利用NandFlash芯片访问的等待时间,交替进行缓存区块的读写访问,可以成倍地提高NandFlash存储器的读写速度。附图说明图1为嵌入式处理器、FPGA、NandFlash芯片的硬件连接关系图;图2为FPGA内片选电路实现方案1示意图;图3为FPGA内片选电路实现方案2的示意图;图4为逻辑页面地址到物理页面地址映射关系图;图5为大容量存储器驱动软件流程图。具体实施方式下面结合附图对本专利技术做进一步详细描述:本专利技术所述的基于软硬件结合方式的大容量快速NandFlash存储实现方法包括以下步骤:根据NandFlash特性结合控制器的双缓存区块特点,优化NandFlash的读写方式,采用并行化读写方式控制多块NandFlash;在实现上,对处理器的局部总线控制器的时序和命令进行解析,在FPGA内部重新映射部分局部总线控制下的空闲物理地址空间,在FPGA芯片内实现对多片NandFlash芯片的复合片选;修改软件驱动程序,使修改后的软件驱动程序对单片存储器的串行访问命令变成对两片NandFlash芯片的交替访问,利用NandFlash芯片访问的等待时间,交替进行对缓存区块的读写访问。1、大容量扩展的硬件实现方式参考图1,处理器通过局部总线与FPGA芯片连接,局部总线中包含用于控制NandFlash的FCM模块的控制线、片选线,局部总线控制器的数据线、地址线、读使能信号线及写使能信号线,32片NandFlash芯片按地本文档来自技高网...

【技术保护点】
1.一种基于软硬件结合方式的大容量快速NandFlash存储实现方法,其特征在于,包括以下步骤:/n根据NandFlash特性结合控制器的双缓存区块特点,优化NandFlash的读写方式,采用并行化读写方式控制多块NandFlash;/n在实现上,对处理器的局部总线控制器的时序和命令进行解析,在FPGA芯片内部重新映射部分局部总线控制下的空闲物理地址空间,在FPGA芯片内实现对多片NandFlash芯片的复合片选;/n修改软件驱动程序,使修改后的软件驱动程序对单片存储器的串行访问命令变成对两片NandFlash芯片的交替访问,利用NandFlash芯片访问的等待时间,交替进行对缓存区块的读写访问。/n

【技术特征摘要】
1.一种基于软硬件结合方式的大容量快速NandFlash存储实现方法,其特征在于,包括以下步骤:
根据NandFlash特性结合控制器的双缓存区块特点,优化NandFlash的读写方式,采用并行化读写方式控制多块NandFlash;
在实现上,对处理器的局部总线控制器的时序和命令进行解析,在FPGA芯片内部重新映射部分局部总线控制下的空闲物理地址空间,在FPGA芯片内实现对多片NandFlash芯片的复合片选;
修改软件驱动程序,使修改后的软件驱动程序对单片存储器的串行访问命令变成对两片NandFlash芯片的交替访问,利用NandFlash芯片访问的等待时间,交替进行对缓存区块的读写访问。


2.根据权利要求1所述的基于软硬件结合方式的大容量快速NandFlash存储实现方法,其特征在于,处理器通过局部总线与FPGA芯片连接,局部总线中包含用于控制NandFlash的FCM模块的控制线及片选线、局部总线控制器的数据线、地址线、读使能信号线及写使能信号线,32片NandFlash芯片按地址空间顺序排布构成存储阵列,所有的NandFlash芯片共享数据地址线和控制线,每一个NandFlash芯片的片选信号CS各不相同,且分别与FPGA芯片的CS输出连接,NandFlash芯片的数据线和控制线通过FPGA芯片与嵌入式处理器相连。


3.根据权利要求1所述的基于软硬件结合方式的大容量快速NandFlash存储实现方法,其特征在于,在FPGA内部重新映射部分局部总线控制下的空闲物理地址空间,在FPGA芯片内实现对多片NandFlash芯片的复合片选的具体实现过程为:
在FPGA内部重映射空闲物理地址空间并形成片选寄存器,...

【专利技术属性】
技术研发人员:程军朱印涛梅魁志黄瀚霆龚良旭常蕃李亚飞舒伟华谷新宇
申请(专利权)人:西安交通大学
类型:发明
国别省市:陕西;61

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1