一种基于FPGA的NandFlash存储系统的制作方法

文档序号:11551868阅读:429来源:国知局

本实用新型公开一种基于FPGA的Nand Flash存储系统,涉及存储系统领域。



背景技术:

随着计算机技术的不断发展,存储设备的容量和速度都得到很大的提升。但是在雷达及航天等领域,对存储设备的容量及读写速率要求更加苛刻,普通的硬盘已经无法满足要求。

本实用新型提出了一种基于FPGA的Nand Flash存储系统,通过共享坏块以及地址命令缓存,简化了Nand Flash阵列的操作,提高了存储效率。

FPGA,Field-Programmable Gate Array,即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。FPGA作为新兴的可编程器件,在高速系统中的应用越来越广泛。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现,解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。而且用户可以根据不同的配置模式,采用不同的编程方式,反复使用。



技术实现要素:

本实用新型提供一种基于FPGA的Nand Flash存储系统,通过共享坏块以及地址命令缓存,简化了Nand Flash阵列的操作,提高了存储效率。

本实用新型所采用的技术方案为:

一种基于FPGA的Nand Flash存储系统:

包含Microblaze模块、DDR控制器、地址指令缓存FIFO、多通道Nand Flash控制器,DDR控制器、地址指令缓存FIFO分别与Microblaze模块及多通道Nand Flash控制器进行通信连接,多通道Nand Flash控制器与Nand Flash存储阵列进行通信连接;

其中Microblaze模块用于Nand Flash的坏块管理及存储映射,DDR控制器用于输入数据的高速缓存,地址指令缓存FIFO用于存取对Nand Flash的操作命令及数据写入的地址,多通道Nand Flash控制器用于连接Nand Flash存储阵列,实现数据的并行流水写入。

外部数据写入所述存储系统时,如果DDR控制器中缓存的数据达到Nand Flash存储阵列并行加流水一个或多个循环的数据量时,DDR控制器向Microblaze模块发出中断,Microblaze模块通过存储映射及坏块管理表,找到Nand Flash存储阵列的物理地址,结合写命令写入地址指令缓存FIFO,多通道Nand Flash控制器读取DDR控制器及地址指令缓存FIFO的数据,写入Nand Flash存储阵列。

从所述的存储系统读取数据时,Microblaze模块解析读取的数据,通过数据与逻辑地址映射及逻辑地址和物理地址映射,找到需要读取的物理地址,结合读取命令将其写入地址命令缓存FIFO,多通道Nand Flash控制器通过并行加流水读取对应物理地址的数据,将其写入DDR控制器,读取数据量满足时,开始读取地址命令缓存FIFO中的下一个物理地址,以次类推,读取结束时,将DDR控制器中的数据发送到外部上位机。

本实用新型的有益效果为:

本实用新型提出了一种基于FPGA的Nand Flash存储系统,包含Microblaze模块,DDR控制器,地址指令缓存FIFO,多通道Nand Flash控制器,DDR控制器、地址指令缓存FIFO分别与Microblaze模块及多通道Nand Flash控制器进行通信连接,多通道Nand Flash控制器与Nand Flash存储阵列进行通信连接;其中Microblaze模块用于Nand Flash的坏块管理及存储映射,DDR控制器用于输入数据的高速缓存,地址指令缓存FIFO用于存取对Nand Flash的操作命令及数据写入的地址,多通道Nand Flash控制器用于连接Nand Flash存储阵列,实现数据的并行流水写入。本实用新型通过共享坏块以及地址命令缓存,简化了Nand Flash阵列的操作,提高了存储效率。

附图说明

图1 本实用新型结构框架示意图。

具体实施方式

通过具体实施方式及结合附图对本实用新型进一步说明:

其中选取DDR3控制器作为DDR控制器,Nand Flash存储阵列可以选择4×4阵列;

本实用新型存储系统包含Microblaze模块,DDR3控制器,地址指令缓存FIFO,多通道Nand Flash控制器, Microblaze模块通过总线连接地址命令缓存FIFO,DDR3控制器,多通道Nand Flash控制器通信连接Nand Flash存储阵列及FIFO和DDR3控制器;

Microblaze模块用于Nand Flash的坏块管理及存储映射,DDR3控制器用于对DDR3颗粒进行写入及读取,输入数据的高速缓存,地址指令缓存FIFO用于存取对Nand Flash的操作命令及数据写入的地址,多通道Nand Flash控制器用于连接Nand Flash存储阵列,实现数据的并行流水写入。

当外部数据写入上述存储系统时,如果DDR3控制器中缓存的数据达到Nand Flash存储阵列并行加流水一个或多个循环的数据量时,DDR3控制器向Microblaze模块发出中断,Microblaze模块通过存储映射及坏块管理表,找到Nand Flash存储阵列的物理地址,结合写命令写入地址指令缓存FIFO,多通道Nand Flash控制器读取DDR3控制器及地址指令缓存FIFO的数据,写入Nand Flash存储阵列。当数据量达到预定的值时,地址命令缓存FIFO的指针移到下一个位置,然后将DDR3控制器中的数据写入Nand Flash阵列的下一个地址,以此类推。

当从上述存储系统读取数据时,Microblaze模块解析读取的数据,通过数据与逻辑地址映射及逻辑地址和物理地址映射,找到需要读取的物理地址,结合读取命令将其写入地址命令缓存FIFO,多通道Nand Flash控制器通过并行加流水读取对应物理地址的数据,将其写入DDR3控制器,读取数据量满足时,开始读取地址命令缓存FIFO中的下一个物理地址,以次类推,读取结束时,将DDR3控制器中的数据发送到外部上位机。

利用本实用新型存储系统,通过共享坏块以及地址命令缓存,简化了Nand Flash阵列的操作,提高了存储效率。

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