您的位置 首页 培训

根据FPGA器材完成大容量高速存储系统的方案设计

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

1、概述

数据存储设备是航天器的关键设备之一,为各种空间实验或勘探数据的收集、存储以及在轨处理等方面供给了重要的支撑渠道。跟着航天电子技能的开展,人们面对的数据处理使命愈来愈深重,对数据收集速率、数据收集体系的存储量等都提出了越来越高的技能要求。当时,以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

依据FPGA器材完结大容量高速存储体系的计划规划

图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芯片的地址办理以及无效块办理等。

责任编辑:gt

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/changshang/peixun/94715.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部