NVME-SQ、CQ & DoorBell

NVME-SQ、CQ及DoorBell是NVME协议中的核心概念,用于管理和传递SSD命令。SQ(Submission Queue)存放主机发送的命令,CQ(Completion Queue)记录命令执行结果。SQ和CQ分为Admin和IO类型,Admin SQ/CQ一对一,IO SQ/CQ可多对一。队列深度和数量可配置,DoorBell作为控制器端寄存器,记录头部和尾部状态,主机通过写DoorBell通知SSD取指令或读取完成信息。
摘要由CSDN通过智能技术生成

NVME-SQ、CQ & DoorBell

参考资料:《深入浅出SSD》 , NVME协议1.3

SQ和CQ

全称Submission/Completion Queue

1.主机往SQ中写入命令,SSD往CQ中写入命令执行的结果

2.SQ和CQ有两种,

  一种是Admin,用来放Admin命令,用以主机管理控制SSD

  一种是IO,用来放IO命令,用以主机与SSD之间传输数据

3.SQ和CQ可以是一对一的关系,也可以是多对一的关系,它们是成对的

4.系统中只有一对Admin SQ/CQ,它们是一 一对应关系,IO SQ/CQ却可以有很多(最多为65536,即64k-1)

5.IO SQ/CQ不是一生下来就有的,它们需要通过Admin命令创建

6.主机端每个CPU只有一个CQ(主机端只能有一对Admin SQ/CQ,为一 一对应关系;每个CPU最多可以有一个IO CQ,但是可以有多个SQ)

 可以有一个或多个SQ(多个SQ可以用来赋予不同的优先级)

 实际系统中需要多少SQ, 取决于系统配置和性能需求,可灵活设置IO SQ

7.SQ和CQ都有一定的深度,对Admin SQ/CQ来说,其深度可以是2 ~ 4096(4K)

 对IO SQ/CQ来说,其深度可以是2 ~ 65536(64K),队列深度是可以配置的(SQ和CQ的个数也是可以配置的ÿ

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值