基于FPGA器件实现大容量高速存储系统的方案设计

时间:2025-11-02  作者:Diven  阅读:0

1、概述

基于FPGA器件实现大容量高速存储系统的方案设计

数据存储设备是航天器的关键设备,为各种空间试验或探测数据的采集、存储以及在轨处理等方面提供了重要的支撑平台。随着航天电子技术的发展,人们面临的数据处理任务愈来愈繁重,对数据采集速率、数据采集系统的存储量等都提出了越来越高的技术要求。当前,以FLASH(闪速存储器)为基本存储介质的大容量固态存储器己经成为当前航天器数据存储的主流方案。闪速存储器( flash memory,简称闪存)是由EEPROM发展起来的新兴的存储器件,由于其具有非易失性、成本低、密度大、功耗小、可在线重复编程和擦除、具有抗震动和冲击、温度适应范围宽等特点,得到了非常的应用。由于目前的FPGA技术比较成熟、编程方便、控制灵活,而且可以通过软件实现各种接口功能,因此在高速数据采集和存储中采用FPGA作为控制部分,可以提高系统处理得速度及系统的灵活性和适应性。

本文介绍了以FPGA作为控制器,FLASH MEMORY作为主存储器的大容量高速存储系统方案,并对关键技术及实现途径进行了论述,在存储容量及存储速度上实现了突破。

2 、系统方案设计

超大容量高速存储系统主要由高速总线、中心控制逻辑以及存储单元组成,其中存储单元是核心部分。该系统要实现超大容量数据的存储,达到96GB的存储容量,共使用了三个存储模块,其原理框图如图1所示。其中,每个存储模块有两个存储通道,每个通道采用16片1GB的FLASH,则可达到单通道存储容量为16GB,单个存储模块的存储容量为32GB,要想继续增大存储容量,则可通过增加存储器组的方式。其中,由于存储模块的容量要求非常大,因此选取K9K8G08U0M作为存储模块的组成单元,每片容量为1GB,读写速度高达40MB/s。

每组存储器按40MB/s的读写速度,Flash Memory每页(2KB)的编程时间最高为700us,则每页(2KB)所需的时间TW为:

TW=1/40M×2048=25ns×2048=51.2us

用分页写入的方式来读写Flash,一共需要≥700÷51.2=14片串联,就可以以40MB/s的全速写入速度操作Flash。每组存储器的读写速度为Sc(这里设存储器的读写速度为40MB/s),存储器的数据总线宽度为8位(1字节),共有n组存储器读写接口可以并行完成读写操作,则总的读写速度Sg为:

Sg = Sc × n = 40MB/s ×n

图1 高速大容量存储模块原理框图

3、 系统工作时序及逻辑控制

存储模块共有三个工作状态:读、写及擦除。系统上电后进入初始化状态,可编程逻辑器件根据输入状态判断是进入读、写、擦除中的哪一个状态。所有的逻辑控制都是由可编程逻辑控制器(FPGA)来完成。

3.1 FLASH数据循环写入技术

本设计采用16片FLASH数据循环写入技术,在每次读、写及擦除操作前都要对每一片FLASH进行无效块判断操作。若判断某一缓冲区为无效块,则跳过,继续下一块操作。每一片FLASH一页的数据缓冲区为2KB,最快写入速度为40MB/s,可计算出写入一页缓冲区数据需要时间约为50us,而对一页缓冲区的数据进行编程典型时间为200us,最长时间为700us,将16片FLASH构成存储器阵列,共32KB的数据缓冲区,其连续循环写入速度为40MB/s,完成16片FLASH的写操作需要800us,大于页编程的最长时间,使得循环16片页写入操作,保证第一页编程操作完成。依次操作,直至将所有存储器写满。在一个通道存储完毕之后,由FPGA内部的通道切换模块将通道切换至另一通道继续存储。

3.2 无效块的处理

在使用大容量FLASH存储器时无效块的处理是首要考虑的问题,本设计中在每次读、写和擦除操作前都要对每一片FLASH进行无效块判断操作。过程是:上电判断无效块,无效块标志在每一块的第1页或第2页的2048列地址上,为非11111111时为无效块,先判断第一

页为无效,跳到下一块;若第一页为有效再判断第二页,若第二页为非11111111,则该块也是无效块,跳到下一块进行处理。无效块识别时序如图2所示。

图2 无效块识别时序

3.3 程序流程及地址管理

使用VHDL编写程序的流程如图3所示,由于在对FLASH的操作中有对无效块的操作,所以如果顺序进行读写擦除操作,在单路16片FLASH芯片的地址管理上将会出现混乱。所以采取的地址管理方法是:

(1) 在进行读、写、擦除之前,均先对无效块进行识别;

(2) 确定是无效块时,直接跳至下一片,块地址不变;

(3) 确定不是无效块时,直接对其进行读、写、擦除操作;

(4) 在读和擦除状态时,通过等待R/B信号进入下一块的操作,而在写状态时不等待R/B信号,在上一块编程的同时下一块也开始进入写操作,在一次片选循环完成后统计无效块的个数,等待16片全部编程完成后,再将片选加一进入下一次循环。

图3 程序流程图

3.4 多模块同时写入方式

要想达到大容量存储,必须采用多个存储模块同时存储的方式,具体是由外部的主控制模块调度采集模块向具体的存储模块传输数据,可采用轮询的方式来选择存储模块。如图4所示,通过外部的控制卡设置存储模块的地址,先存001号存储模块,然后002号,之后003号,再返回001号,每次传输X个字节后切换存储模块(X可根据需要自行设定),由主控制模块来控制传输的方向。

4、 结束语

本文提出了实现超大容量数据存储的方案,采用层次化设计思想,将整个系统分成几个模块,再将整个存储区间分成若干个独立的子模块分别进行存储,每个模块可以自行管理,可根据需要灵活改变存储容量;采用分页并行存储及拓宽总线的方式以提高存取速度;研究了针对FLASH芯片的存储区管理策略,包括多块FLASH芯片的地址管理以及无效块管理等。

文章创新点:

1、超大容量数据的存储:采用层次化设计思想,将整个系统分成几个模块,再将整个存储区间分成若干个独立的子模块分别进行存储,每个模块可以自行管理,可根据需要灵活改变存储容量;

2、采用分页并行存储及拓宽总线的方式以提高存储速度;

3、研究针对FLASH芯片的存储区管理策略,包括多块FLASH芯片的地址管理以及无效块管理等。

猜您喜欢

贴片电阻3304表示的是阻值为330千欧姆的电阻,封装尺寸为0402。其中,3304的前三位数字330代表阻值,单位是千欧姆。最后的数字4代表封装尺寸代码,对应...
2024-11-29 10:26:13

发光二极管(LED)是常见的电子元件,应用于照明、显示屏、指示灯等领域。了解如何正确识别发光二极管的正负极,对于正确使用和连接电路非常重要。本文将详细介绍发光二...
2025-03-31 21:30:02

锁具箱是专门用于存放和管理各种锁具的实用工具箱。通常由坚固的材料制成,具有防水、防尘和抗撞击的特性,确保锁具在各种环境下的安全存放。锁具箱内部设计合理,配有多个...
2024-05-20 00:00:00

经纬仪是测量角度的重要工具,其规格尺寸因品牌和型号而异。常见的经纬仪尺寸在400mm到600mm之间,具体的高度和宽度会根据设计有所不同。大多数经纬仪的底座直径...
2010-02-12 00:00:00

固态电容是电子产品中常见的元件。耐压值是固态电容的重要参数。本文将介绍如何判断固态电容的耐压值。什么是耐压值?耐压值就是固态电容能承受的最大电压。超过这个值,电...
2025-03-22 12:31:07

纳米晶磁环是新型的磁性材料,具有多项显著优势。其优异的磁性能使得纳米晶磁环在高频应用中表现出色,能够有效降低能量损耗,提升设备的工作效率。纳米晶材料的微观结构使...
2017-09-12 00:00:00

网格带是应用于各行业的实用工具,主要用于物品的固定与整理。由高强度材料制成,具有良好的韧性和耐用性,能够承受较大的拉力,确保物品稳固不易松动。网格带的设计通常采...
2023-01-21 00:00:00

在选择监控设备时,了解其参数非常重要。分辨率是关键指标,常见的有720P、1080P和4K,分辨率越高,图像越清晰。镜头的焦距影响视野范围,常见的焦距有2.8m...
2022-08-29 00:00:00

U盘,或称为USB闪存驱动器,是便携式存储设备,用于数据存储和传输。通过USB接口与计算机或其设备连接,具备小巧轻便的特点,方便用户随身携带。U盘内部采用闪存技...
2018-06-26 00:00:00

生物培养技术在现代科学和工业中有着着重要作用,应用领域。在医药行业,生物培养被用于生产疫苗、抗体和其生物制药产品,能够有效提高疫苗的安全性和有效性。在农业领域,...
2010-08-20 00:00:00