深入理解nvme协议之二:nvme 协议重点数据结构之间的关系
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 协议重点数据结构之间的关系相关推荐
- DLT645协议解析(二)---07协议数据帧结构解析
(二)DLT645-2007协议数据帧结构解析 书接上回,下图展示的是DLT645-2007协议读取电表电量的交互过程,数据请求帧里面请求的数据类型是当前正向有功电量. PC请求帧: 6 ...
- 二维数组和指针之间的关系详解
一.引言 说起二维数组可能首先想到的是各种嵌套的for循环,二维数组的初始化,二维数组的赋值,二维数组的输出等各种问题,当然了,数组的问题永远离不开指针,而二维数组所能联系到的就是二维指针了,此文则是 ...
- 网络协议报文理解刨析篇二(再谈Http和Https), 加上TCP/UDP/IP协议分析(理解着学习), 面试官都惊讶你对网络的见解
目录 前文链接(系列助学, 也为后文学习做铺垫, 可按需读取) 一. 再谈HTTP再理解 二. HTTP对比学习HTTPS HTTP和HTTPS的区别如下: 三.TCP协议 (三次握手四次挥手细节过 ...
- 趣谈网络协议笔记-二(第十三讲)
趣谈网络协议笔记-二(第十三讲) 套接字Socket:Talk is cheap, show me the code 前言 这只是笔记,是为了整理刘超大神的极客时间专栏的只是而存在的! 经常会在网络上 ...
- 趣谈网络协议笔记-二(第十二讲)
趣谈网络协议笔记-二(第十二讲) TCP协议(下):西行必定多妖孽,恒心智慧消磨难 前言 哈哈哈,越当我看刘超的通俗讲解,我就越感觉自己的无能.每次当我看了讲解之后,每次当我感觉到这个东西原来是这么简 ...
- 趣谈网络协议笔记-二(第七,八,九讲)
趣谈网络协议笔记-二(第七,八,九讲) 勉励 人生而自由,却无往不在枷锁(牢笼)之中. ------卢梭@<社会契约论> 为那些有形的牢笼感到庆幸吧. 为自己出生于这个时代感到庆幸吧,因为 ...
- 趣谈网络协议笔记-二(第五讲)
趣谈网络协议笔记-二(第五讲) 目录 第二模块 底层网络知识讲解:第二层到第三层 第5讲 | 从物理层到MAC层:如何在宿舍离自己组网完联机游戏 第6讲 | 交换机与VLAN:办公室太复杂,我要回学校 ...
- 存储基础知识二 主要协议SCSI、FC、iSCSI
一.SCSI SCSI是小型计算机系统接口(Small Computer System Interface)的简称,于1979首次提出,是为小型机研制的一种接口技术,现在已完全普及到了小型机,高低端服 ...
- 实验十二 HTTP 协议分析实验
实验十二 HTTP 协议分析实验 1.HTTP 协议简介 HTTP是超文本传输协议 (Hyper Text Transfer Protocol)的缩写,用于WWW 服务. (1)HTTP的工作原理 H ...
最新文章
- 系列文章--AJAX技术系列总结
- Windows Server中的故障转移群集的实现机制
- 只需3kbps就能清晰通话,这个谷歌音频工具开源了!
- 安卓完全退出程序的六种方法(欢迎新手学习,大手指导)
- linux之用户态和内核态
- java8常用stream
- Spring的@ImportResource注解
- 一个短小精悍的在线jshint工具
- mysql学习笔记14 多表查询初步
- 基于python的自动化测试工具_基于Python语言的自动化测试
- 为Raspberry Pi开发.NET应用程序:第2部分
- phalcon + nginx 混合模式配置
- java 坦克大战_java课程设计之坦克大战
- 清楚理解const_cast类型转换
- 解决Boost库链接出错问题
- 批量修改已下载的图片格式
- springboot test
- 每天都使用微信语音,但你必须晓得互联网语音协议(VoIP)
- mssql数据库和Oracle数据库注入
- 天使轮、A轮、B轮、C轮、D轮融资 究竟是什么?
热门文章
- Task3:Selenium模块学习及丁香园模拟登录爬取留言板
- 关于eXtremeDB连接问题
- 计算机专业英语2017课后答案,计算机专业英语考试试题及答案
- Flask开发实现在线问答系统的问题发布功能
- 电子计算机按数字错乱,笔记本电脑数字键盘错乱怎么办 笔记本键盘按键错乱恢复方法...
- Canvas画板涂鸦生成图片
- 如何区分计算机硬件故障和软件故障,如何分辨电脑硬件故障还是软件故障?
- 理光Ricoh Aficio MP 2011LD 一体机驱动
- 数据离散化的两种方法
- rtx android,RTX 腾讯通 | im.qq.com