NVMe协议详解(三)
4.内存数据结构
4.1 SQ与CQ的详细定义
这里的SQ与CQ都是循环队列。
4.1.1 空队列
4.1.2 满队列
判断队列满可以有多种方法,协议中规定的是头指针比尾指针大一,所以队列满时,空余一个元素。
4.1.3 队列性质
- 队列大小有16bit,最小队列大小为2个元素(因为满队列的定义方式,所以最小为2个元素),对于I/O队列,最大队列大小为64k;对于Admin队列,最大队列为4k;
- QID来标识唯一ID,16bit,由host分配;
- host可以修改队列优先级(如果支持的话),共四级,U、H、M、L;
4.2 仲裁机制
4.2.1 RR
RR仲裁,Admin SQ与I/O SQ优先级相同,控制器每次可以选择一个队列中的多个命令(Arbitr