Physical Region Range(PRP entry)

描述一段物理空间的其实地址和长度,最重要的字段包括:

  • 起始地址(page base address)
  • 偏移大小(offset)

具体如下图所示:

Metadata Region

特点:里面的数据不能被split 来传输
Metadata may be supported for a namespace as either part of the logical block (creating an extended logical block which is a larger logical block that is exposed to the application) or it may be transferred as a separate buffer of data. The metadata shall not be split between the logical block and a separate metadata buffer. For writes, the metadata shall be written atomically with its associated logical block

complete queue

每个mition queue entry完成uiy会产生一个complete queue entry。每个complete queue entry的特地如下:

  • 至少16 bytes

  • 每个complete queue entry的数据结构如下:

其中主要的字段包括DW0、DW1、DW2、DW3.

DW2字段

DW2字段范围的字段记录了返回的这个complete queue 来自哪个submit queue, 以及这个submit queue Header 的位置。如下:

DW3字段

DW3字段记录了这个complete queue entry 是哪个command产生的,已经这个命令执行完之后的结果状态。

其中上面Status Field的具体字段又有几个子字段:

SCT

其中上面的SCT(staus cod ) 段含义如下:

SC

而SC(status code)字段给出了命令执行完成之后status的更具体的字段, 下表列出了几个例子:

CMB 控制器内存buffer (controller memory buffer)

一些高级的NVME SSD控制器内部有自己的内存,可以把它映射到用户内存空间。和使用spdk_memory_alloc从系统内存分配的内存相比,这样能少做一次DMA拷贝。

name space list

name space list是namespace IDS的有序列表。组织如下:

controller list

同name space list 类似, controller list 是按照controller IDS升序排列的 controller ID列表。典型的结构如下:

3

转载于:https://blog.51cto.com/xiamachao/2368239

深入理解nvme协议之二:nvme 协议重点数据结构之间的关系相关推荐

  1. DLT645协议解析(二)---07协议数据帧结构解析

    (二)DLT645-2007协议数据帧结构解析      书接上回,下图展示的是DLT645-2007协议读取电表电量的交互过程,数据请求帧里面请求的数据类型是当前正向有功电量. PC请求帧:   6 ...

  2. 二维数组和指针之间的关系详解

    一.引言 说起二维数组可能首先想到的是各种嵌套的for循环,二维数组的初始化,二维数组的赋值,二维数组的输出等各种问题,当然了,数组的问题永远离不开指针,而二维数组所能联系到的就是二维指针了,此文则是 ...

  3. 网络协议报文理解刨析篇二(再谈Http和Https), 加上TCP/UDP/IP协议分析(理解着学习), 面试官都惊讶你对网络的见解

    目录 前文链接(系列助学, 也为后文学习做铺垫, 可按需读取) 一. 再谈HTTP再理解 二. HTTP对比学习HTTPS HTTP和HTTPS的区别如下: 三.TCP协议  (三次握手四次挥手细节过 ...

  4. 趣谈网络协议笔记-二(第十三讲)

    趣谈网络协议笔记-二(第十三讲) 套接字Socket:Talk is cheap, show me the code 前言 这只是笔记,是为了整理刘超大神的极客时间专栏的只是而存在的! 经常会在网络上 ...

  5. 趣谈网络协议笔记-二(第十二讲)

    趣谈网络协议笔记-二(第十二讲) TCP协议(下):西行必定多妖孽,恒心智慧消磨难 前言 哈哈哈,越当我看刘超的通俗讲解,我就越感觉自己的无能.每次当我看了讲解之后,每次当我感觉到这个东西原来是这么简 ...

  6. 趣谈网络协议笔记-二(第七,八,九讲)

    趣谈网络协议笔记-二(第七,八,九讲) 勉励 人生而自由,却无往不在枷锁(牢笼)之中. ------卢梭@<社会契约论> 为那些有形的牢笼感到庆幸吧. 为自己出生于这个时代感到庆幸吧,因为 ...

  7. 趣谈网络协议笔记-二(第五讲)

    趣谈网络协议笔记-二(第五讲) 目录 第二模块 底层网络知识讲解:第二层到第三层 第5讲 | 从物理层到MAC层:如何在宿舍离自己组网完联机游戏 第6讲 | 交换机与VLAN:办公室太复杂,我要回学校 ...

  8. 存储基础知识二 主要协议SCSI、FC、iSCSI

    一.SCSI SCSI是小型计算机系统接口(Small Computer System Interface)的简称,于1979首次提出,是为小型机研制的一种接口技术,现在已完全普及到了小型机,高低端服 ...

  9. 实验十二 HTTP 协议分析实验

    实验十二 HTTP 协议分析实验 1.HTTP 协议简介 HTTP是超文本传输协议 (Hyper Text Transfer Protocol)的缩写,用于WWW 服务. (1)HTTP的工作原理 H ...

最新文章

  1. 系列文章--AJAX技术系列总结
  2. Windows Server中的故障转移群集的实现机制
  3. 只需3kbps就能清晰通话,这个谷歌音频工具开源了!
  4. 安卓完全退出程序的六种方法(欢迎新手学习,大手指导)
  5. linux之用户态和内核态
  6. java8常用stream
  7. Spring的@ImportResource注解
  8. 一个短小精悍的在线jshint工具
  9. mysql学习笔记14 多表查询初步
  10. 基于python的自动化测试工具_基于Python语言的自动化测试
  11. 为Raspberry Pi开发.NET应用程序:第2部分
  12. phalcon + nginx 混合模式配置
  13. java 坦克大战_java课程设计之坦克大战
  14. 清楚理解const_cast类型转换
  15. 解决Boost库链接出错问题
  16. 批量修改已下载的图片格式
  17. springboot test
  18. 每天都使用微信语音,但你必须晓得互联网语音协议(VoIP)
  19. mssql数据库和Oracle数据库注入
  20. 天使轮、A轮、B轮、C轮、D轮融资 究竟是什么?

热门文章

  1. Task3:Selenium模块学习及丁香园模拟登录爬取留言板
  2. 关于eXtremeDB连接问题
  3. 计算机专业英语2017课后答案,计算机专业英语考试试题及答案
  4. Flask开发实现在线问答系统的问题发布功能
  5. 电子计算机按数字错乱,笔记本电脑数字键盘错乱怎么办 笔记本键盘按键错乱恢复方法...
  6. Canvas画板涂鸦生成图片
  7. 如何区分计算机硬件故障和软件故障,如何分辨电脑硬件故障还是软件故障?
  8. 理光Ricoh Aficio MP 2011LD 一体机驱动
  9. 数据离散化的两种方法
  10. rtx android,RTX 腾讯通 | im.qq.com