基于FPGA的存储控制器及其相关系统设计技术研究--笔记

本文完成了基于FPGA的大容量存储模块硬件电路的设计,同时探讨了如何利用FPGA丰富的逻揖资源来实现NVMe协议,并且将数据RAID 0方式实时写入SSD阵列,使CPU能通过PCIe接口访问固态存储系统。

本文充分利用FPGA可编程和硬件加速的特性,设计并实现了多块SSD的并行存储控制器。控制模块可以通过FPGA并行访问多块SSD,实现增大存储容量和提高存取速度的目的。

固态存储器简称为SSD,分为基于闪存的SSD和基于DRAM的SSD两种,分别使用Flash和DRAM作为存储介质。SSD在读写数据时,不需要读写头、不需要存储介质转动,通过控制存储芯片内部晶体管的开关状态来存储数据。新一代的固态硬盎普遍采用SATA2接口、SATA3接口、SAS接口、U.2接口、PCIe接口、M.2接口和CFast接口等。

作为主机控制接口,NVMe能够提供优化的命令提交和完成路径。它支持并行操作数据,最多支持64K个I/O队列,毎个I/O队列最多有64K个命令。管理命令队列最多可以有4K个命令。主机软件创建队列的个数应基于系统配置和预期工作负载。NVMe是基于成对的SQ和CQ机制,多个SQ可以利用同一个CQ。主机将一个或多个命令项写入SQ队列后之后,驱动程序将SQ队列的尾指针写入控制器相应的门铃寄存器,控制器发起DMA操作从SQ队列中顺序取出命令项,解析并执行相应的命令,但是控制器执行命令的顺序不一定与命令在SQ队列中的顺序相同。每一个提交队列命令项都严格遵守NVMe协议命令格式,大小为64B,其中包含两个PRP项,表示存放主机存储空间中的数据页的地址。NVMe协议支持MSI/MSI-X和中断聚集以便一次处理多个I/O完成命令。NVMe SSD已经在工业中得到应用。相比传统接口(SAS SATA)的SSD,NVMe SSD更具性能优势,需要更高的I/O化能的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值