Board logo

标题: 基于FPGA的高速大容量固态存储设备设计 [打印本页]

作者: 520503    时间: 2014-6-5 17:48     标题: 基于FPGA的高速大容量固态存储设备设计

关键字:存储模块   固态存储   FPGA  
       1 引言

       高速数据采集系统目前已在雷达、声纳、图像处理、语音识别、通信、瞬态信号测试等领域得到广泛应用。它的关键技术是高速ADC技术、数据存储与传输技术和抗干扰技术。当大量的高速实时数据经过模数转换后,必须高速存储,多通道高采样率的数据采集系统会产生巨大的数据流。这样就需要高速大容量的存储板将数据存储起来,然后再读回计算机进行处理。基于以上原因,本文设计了可以同时存储两通道采样数据的大容量存储板,板中采用了64片Samsung公司的高速大容量存储器K9F2G08UOM,使整块板卡的存储容量达到128Gbit。采用FPGA作为控制器,通过标准的CPCI工控机箱操作存储板,并通过CPCI总线将存储板上的数据高速读回计算机,提高了读取数据的速度。

       2 K9F2G08UOM简介

      




NOR F
lash和NAND Flash是目前市场上的两种主要的非易失性闪存技术,本设计的目的是为了高速存储大容量的数据,因此,选择NAND型K9F2G08U0M存储器。它的存储容量是2 Gbit,8位位宽,页大小为2 048×8 bit,每块由64页组成,共有2 048块。每页带有64×8 bit的空闲存储区,共有8 192 K×8 bit的空闲存储区。页编程的典型时间为300μs,最大页编程时间为700μ8。页内连续最小访问时间为30 ns/Byte,即数据写入Flash数据寄存器的速度可达33 MB/s。但是单页数据的典型编程速度为2 048/300μs=6.8 MB/s,最慢的编程速度为2 048/700μs=2.9 MB/s。块擦除的典型时间为2 ms。K9F2G08U0M具有硬件数据保护功能,即在电源上电、掉电期间关闭编程/擦除操作。K9F2G08U0M内部写控制器使得所有的编程和擦除操作自动进行,片内包含一个页(2 048+64字节)的数据寄存器,读写过程中始终是将存储单元数据或外部数据先缓存到数据寄存器,然后再读出数据或写入存储单元。因此,它是基于页读写,基于块擦除的。当然,它也支持随机读写。但本设计目的是高速存储数据,因此对它的读写操作完全是基于页的。K9F2G08U0M的主要引脚有CLE(命令锁存允许)、ALE(地址锁存允许)、CE(片选)、WE(写允许)、RE(读允许)、WP(写保护)、R/B(准备好/忙)、PRE(上电读使能)、I/O0~I/O7(输入,输出)。其中I/O0~I/O7既可作为数据输入输出引脚,又可作为命令地址的输入引脚,命令、地址、数据分时复用,根据不同的命令区分地址和数据。一般的操作流程为:

       1) 写入命令,通知器件所要完成的操作(读、写、擦除等);

       2) 写入地址,即写入要读写数据的起始地址,包括列地址和页地址;

       3) 如果是读或者擦除,写入一个确认命令。如果是写操作,输人待编程的数据,完成后输入编程确认命令。

       因为K9F2G08U0M共有128 K页,每页的大小为(2 048+64)×8 bit,所以在写入地址时列地址需要12根地址线,页地址需要17根地址线。这样就需要5个时钟周期来写入地址。前两个时钟写入列地址,后三个时钟写人页地址。

       3 系统设计

       3.1 总体硬件设计


       外部数据采集系统是2个40 MHz采样的16位A/D通道,所以设计时分成两个通道独立设计。虽然K9F2G08U0M的数据寄存器写入速度可达33MB/s,但在FPGA设计时,为了在时序上更加可靠,选择使用25 MHz的时钟设计,则K9F2G08U0M的写入速度为50 MB/s(把两个K9F2G08U0M并成16bit,写入速度即为25 M×l6 b/s)。这样,在FPGA内部开辟3个页大小的双口RAM作为缓存区就能满足40 M×16 b/s的写入速度,即在写第2、3个RAM的时间(25 ns×2 048×2=102.4μs)内,启动第1个RAM把数据写





欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0