论文部分内容阅读
信息技术的飞速发展使得各项应用产生的数据量爆炸式增长,大容量高速数据存储系统成为了航空航天、雷达和无人机航拍等领域的关键设备之一。固态存储介质具有体积小、速度快和可靠性高等优点,在相关研究及应用中更受青睐,但随着工艺及相关技术的发展,其速度受限于接口及应用层协议。高速的PCIe接口逐渐被应用于固态硬盘中以充分发挥其速度优势,与该接口相适应的应用层NVMe协议也于近几年被提出。NVMe PCIe SSD的高带宽、低延时特性为构建大容量高速存储系统提供了可能,尤其是在应用场景特殊的嵌入式领域拥有良好的发展前景。本文完成了以FPGA为主控、无CPU的固态硬盘存储控制器设计,可实现FPGA对PCIe SSD的直接数据读写控制。该存储控制器由PCIe Root Complex、PCIe控制逻辑和NVMe控制模块组成,其中PCIe Root Complex模块为Xilinx公司的IP核,本文在其基础上完成了用于配置PCIe配置空间和发送TLP报文的相关控制逻辑,以实现RC和EP两端的数据通信;NVMe控制模块为本文依据NVMe协议设计的核心控制模块,其主要实现了NVMe初始化、指令提交和处理机制以及Admin和I/O指令的发送控制等功能。经过实验验证,各主要功能模块逻辑正确,存储控制器功能无误。在PCIe链路状态为2.0 x4的条件下,读数据速度可达约842MByte/s,写数据速度可达约1.17GByte/s。