nvme命令中prp_深入理解nvme协议之一:nvme 协议重点寄存器和数据结构

本文介绍了nvme协议中的关键寄存器,如AQA、ASQ、ACQ等,以及Controller Memory Buffer的位置和大小。此外,还详细阐述了nvme的重要数据结构,包括队列、scatter/gather list、completion queue entry等,并讨论了队列的长度、优先级和标识符。特别提到了SGL(Scatter Gather List)及其不同类型的descriptor,用于处理非连续内存地址。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

熟悉nvme 协议是深入理解spdk 代码的基础。而理解协议中的重要寄存器和数据结构是理解协议的基础,下面就一起总结下协议中的重要寄存器和数据结构。

重要寄存器

下面寄存器都是位于pcie memory space, bar[0/1] 空间。

Offset 24h: AQA – Admin Queue Attributes

The Admin Submission Queue’s priority is determined by the arbitration mechanism selected, refer to section 4.11. The Admin Submission Queue and Admin Completion Queue are required to be in physically contiguous memory.

Offset 28h: ASQ – Admin Submission Queue Base Address

This register defines the base memory address of the Admin Submission Queue.

Offset 30h: ACQ – Admin Completion Queue Base Address

This register defines the base memory address of the Admin Completion Queue.

上面queue中的每个entry指向的地址落在controller memroy buffer. 就是下面下面两个寄存器相关的区域。

Offset 38h: CMBLOC – Controller Memory Buffer Location

This optional register defines the location of the Controller Memory Buffer (refer to section 4.7). If CMBSZ is

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值