论文部分内容阅读
随着科学信息产业的发展,对高速射频信号记录的精度要求不断提高,使得信号采集的持续时间增长,采样频率增大。为了使采集的信号可以实时无损的记录下来,研制一种高速大容量的存储设备变得十分必要。为了更好的适应外场测试环境,存储设备不仅要具有高速、海量的特点,同时还应具有脱机运行、便于携带的特点。本文为了解决对高速射频信号存储能力的要求,分析各项具体需求,对存储技术进行深入研究,给出了高速存储阵列的系统架构并在科研项目中予以应用。本存储系统集成在一片Virtex-5系列FPGA中,以其内嵌的硬核Power PC440作为存储阵列的控制核心,以EDK作为系统的开发环境,以8块SATA接口的固态硬盘作为存储介质,通过例化多个并行的SATA控制器,实现了组成形式为RAID0的硬盘阵列存储。论文主要工作如下:1.分析研究SATA2.0协议,并在此基础上,将SATA控制器的物理层、链路层、传输层以及总线接口例化为用户IP核。以FPGA作为开发平台,以Power PC440作为处理器,利用EDK,开发基于嵌入式SATA控制器的存储系统。利用C语言对PPC440处理器编程,不仅实现了SATA协议的命令传输协议同时也实现了对数据存储的控制。并对单SATA控制器的嵌入式存储系统进行读写性能测试,错误个数为0,写速率约为210MB/s,读速率约为275MB/s。2.针对项目的存储需求,在基于单SATA控制器的嵌入式存储系统的基础上,本文提出了高速电子存储阵列架构。本系统在单片FPGA上通过例化8个相同的SATA控制器挂载到系统总线上,并行工作,完成了RAID0级别的硬盘阵列。为了解决采集速率与数据存储速率不匹配的问题,本文设计了高速缓存单元,利用多片DDR2组成缓存阵列交替工作,并利用MPMC对DDR2进行直接的数据读写,将控制信息与数据进行分开传输。为了进一步提高存储带宽,采用了流水线方式的数据分配策略,并设计了数据分配模块对数据进行分配。3.设计了基于PPC440控制的高速缓冲读写控制逻辑。系统工作流程为:写数据时,AD采集的数据通过GTX输入,经过数据分配模块写入多片DDR2,SATA控制器组在PPC440的控制下直接读取DDR2,将数据写入硬盘阵列;回读数据时,SATA控制器组在PPC440的控制下,从硬盘阵列读取数据,通过数据分配模块进行数据的拼接,写入DDR2,并通过GTX上传到上位机。4.设计了自定义文件系统,实现了对硬盘阵列数据的管理。文件系统采用连续存储的方式,分为引导扇区、文件目录以及数据块,并定义了各个分区的数据结构。根据项目的具体需求,本文定义了与上位机进行交互的命令协议并通过RS232协议完成。本文件系统具有写文件、读文件以及删除文件的基本功能,同时,具有高速、简单等特点。5.对高速电子存储阵列进行读写性能测试。使用8块SSD盘组成RAID0硬盘阵列式,系统的写传输速率约为1.6GB/s,读速率约为2.1GB/s,文件系统可正常工作。