在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 288|回复: 1

[原创] NVMe协议分析之数据寻址

[复制链接]
发表于 2025-5-15 23:41:31 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
本帖最后由 xianuser 于 2025-5-15 23:51 编辑

#NVMe数据寻址方式
    NVMe协议支持物理区域内存页(PhysicalRegionPage,PRP)和散集列表(Scatter Gather List,SGL)两种寻址模型,基于PCIe的NVMe主要使用PRP寻址模型,因此在本小节仅对PRP寻址模型进行分析。PRP 寻址示意图如图1所示,NVMe将主机端存储分为页的集合,PRP条目是指向物理内存页面的指针。PRP被用作主机和存储设备之间的数据传输的散点收集机制,实现了有效的无序数据传输。一条PRP条目长度为64比特,包括基本页地址和偏移量两个字段,其中偏移量字段的长度取决于物理内存页大小。一条PRP条目能够指向一个物理内存页大小的数据,当数据量较大时,PRP条目也可作为指向一个PRP 列表的指针。每个PRP列表中最多包含内存页大小数量的PRP条目,当需要更多的PRP条目时,PRP列表的最后一个条目指向新的PRP列表。PRP具有内存页对齐的属性,除了首条PRP条目可以带有偏移,其余的PRP条目偏移字段必须为0,保持内存页对齐状态。

                               
登录/注册后可看大图
图1  PRP寻址方式示意图

     在NVMe提交指令条目中存在一个长度为128比特的数据指针字段,该字段即包含了两个PRP条目,分别命名为PRP1、PRP2。PRP1常用作PRP条目指向数据传输地址,由于PRP具有内存页对齐的属性,PRP2根据数据传输长度以及PRP1的偏移确定类型。PRP2类型的确定方式如表1所示。
表1  PRP2类型的确定方式

                               
登录/注册后可看大图

对相关视频感兴趣的,请移步B站,搜用户名:  专注与守望
发表于 2025-5-20 06:54:09 | 显示全部楼层
Good!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条

X

小黑屋| 手机版| 关于我们| 联系我们| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2025-6-23 13:55 , Processed in 0.530754 second(s), 9 queries , Gzip On, MemCached On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表