深度解读NVMe计算存储协议-3

在NVMe计算存储架构中,Copy命令用于在不同类型的命名空间之间进行数据复制

  • Memory Copy命令:定义于SLM(Subsystem Local Memory)命令集,主要用于从非易失性存储命名空间(NVM namespaces)或内存命名空间向另一个内存命名空间复制数据。这个命令执行时,如果复制的源是NVM命名空间,那么需要将数据按照逻辑块地址(LBA)大小的粒度进行转换,并且支持从块到字节级别的转换操作;当复制发生在两个内存命名空间之间时,其总长度必须遵循双字(dword)的粒度要求。

  • NVM Copy命令:定义在传统的NVM命令集中,该命令允许从内存命名空间或非易失性存储命名空间向一个非易失性存储命名空间进行复制。同样,当复制至NVM命名空间时,不论源是NVM还是内存命名空间,都需要将数据从字节级别转换成基于LBA粒度的块级别表示。在这个过程中,复制的总长度也必须严格遵守LBA大小的对齐要求。

Memory Range Set(MRS)在NVMe计算存储架构中是一个重要的安全和管理工具,它用于定义和控制对Subsystem Local Memory(SLM)内部特定区域的访问权限。以下是关于MRS的关键解读:

图片

  • 描述SLM内存范围:MRS用来描述一个或多个SLM内存区域的范围。这些范围可以是连续或非连续的内存块。

  • 由内存范围组成:每个MRS由一系列具体的内存范围构成,每一个范围都有明确的边界。

  • 范围指定方式:每个内存范围通过三个关键参数来唯一确定:内存命名空间ID(Namespace ID)、偏移量(offset)以及长度(length)。这意味着对于子系统内的任意一块SLM内存,可以通过这些参数准确地指定其起始地址和结束地址。

  • 可达性限制:每一个范围所指向的内存命名空间必须是可以被计算命名空间访问到的。也就是说,只有当计算程序运行于特定的计算命名空间时,才能访问该命名空间关联的MRS中定义的SLM内存部分。

  • 与计算命名空间相关联:MRS是在特定的计算命名空间内创建的,它的作用域限定了该计算命名空间内的程序可以访问哪些SLM区域。

  • 访问权限限制功能MRS的主要目的是为了限制执行中的程序只能访问SLM的特定子集。这样一来,每个程序执行时都会受限于“Execute Program”命令中指定的MRS设定,无法触及MRS之外的任何SLM资源,从而增强了数据安全性,并优化了资源使用效率。

Memory Range Set作为一种策略性的访问控制机制,在NVMe计算存储体系中扮演着至关重要的角色,通过对子系统本地内存进行精细化管理和权限划分,确保了程序只能按照预设规则访问所需的内存区域,避免了无授权访问或其他可能的安全风险。

  1. NVM 命名空间:NVM(Non-Volatile Memory)命名空间是传统意义上的NVMe标准中的核心部分,用于管理和访问非易失性存储介质,比如固态硬盘(SSD)上的闪存存储区域。

为了解决管理不同命名空间之间的访问关系与兼容性,NVME协议定义了Reachability新功能,这项特性允许用户指定在特定命令中哪些命名空间可以协同使用,并确保数据操作的正确性和有效性。具体来说:

  1. 描述符定义:Reachability特性通过定义新的描述符来说明哪些命名空间可以在同一个命令中结合使用。例如,在执行复制命令时,能够明确指出哪些NVM或内存命名空间可以作为源或目标;或者在向计算命名空间发送命令时,确定可以使用的内存命名空间范围。

  2. 机制实现:为了实施这一功能,规范中引入了两个日志页:

    • 可达性组(RG, Reachability Groups)日志页:记录了一组相关的命名空间集合,它们在某种意义上是可以一起使用的。

    • 可达性关联(RA, Reachability Association)日志页:详细列出了各个可达性关联的特点,包括每个关联内的命名空间之间何种类型的交互是被允许的、受限的或是禁止的。在NVMe计算存储架构中,Reachability Associations(RA)是一个用于描述命名空间间交互限制和允许范围的机制。

图片

如示意图举例:

A. RA-A表示NVM命名空间NS 30或NS 31可以与内存命名空间NS 10之间进行数据复制:这意味着在执行Copy命令时,可以从NVM命名空间NS 30或NS 31中复制数据至内存命名空间NS 10。

B. RA-B表明NVM命名空间NS 30或NS 31同样能够与内存命名空间NS 12进行数据复制:与A类似,只是目标内存命名空间换成了NS 12。

C. RA-C指出计算命名空间NS 20有权访问并使用内存命名空间NS 10中的内存资源:这意味着运行于计算命名空间NS 20的程序可以在执行过程中读取、写入或处理NS 10中的数据。

D. RA-D意味着计算命名空间NS 22和NS 23都能够使用内存命名空间NS 12内的内存:这类似于RA-C,但针对的是不同的计算命名空间和内存命名空间组合,NS 22和NS 23均能利用NS 12作为工作内存进行运算。

此外,需要注意:

  • 记忆体命名空间NS 10与NS 12之间不能进行复制命令操作:这意味着主机或计算程序无法通过Copy命令将数据从内存命名空间NS 10直接复制到NS 12,或者反过来操作也不允许。

  • 计算命名空间NS 22和NS 23之间不能通信:说明这两个计算命名空间被设计为相互独立,它们之间不允许交换数据或执行任何形式的协同处理任务

在NVMe计算存储子系统中,执行一个过滤加密数据的流程涉及以下几个关键步骤。整个流程展示了NVMe如何支持本地化计算与存储结合,即在存储设备内部直接对加密数据进行处理,从而降低对外部系统的依赖并提高数据处理效率。同时,通过内存范围集的控制机制,确保了程序仅能访问授权的特定数据部分,增强了安全性。

图片

预条件:首先,在开始处理之前,需要创建两个内存范围集(Memory Range Set, MRS)——MRS1和MRS2。这些范围集定义了程序可以访问的Subsystem Local Memory (SLM) 中特定的数据区域。

复制加密数据到SLM A:使用预先定义好的MRS1指定的SLM地址范围,将待处理的加密数据从主机或其他命名空间复制至SLM的一个区域A。

执行程序1以解密或过滤数据:在某个计算命名空间上运行程序1,并且在执行时限制其只能访问通过MRS1定义的SLM区域A中的数据。这个程序可能是用于解密或者进行某种特定数据过滤操作。

执行程序0继续处理数据:接下来,在同一个或不同的计算命名空间上执行另一个程序0,同样利用MRS2定义的SLM区域B来读取并进一步处理之前解密或过滤后的数据。

从SLM读取过滤后的数据到主机:最后一步是从SLM区域B中读取经过程序0处理过的、最终过滤后的数据,并将其传输回主机内存中供后续使用或存储。

NVMe计算存储技术引入的计算程序具备高度灵活性和自定义能力,使得存储子系统能够根据实际需求扩展其功能,同时在本地高效处理数据,降低对主机CPU和带宽的依赖,提升了整体系统的性能和响应速度。


参考文献:

1.FMS-2023-Computational-Storage-Subsystem-Local-Memory

2.NVMe官网:https://nvmexpress.org/

小编每日撰文不易,如果您看完有所受益,欢迎点击文章底部左下角“关注”并点击“分享”、“在看”,非常感谢!

精彩推荐:

  • 对于超低延迟SSD,IO调度器已经过时了吗?

  • 浅析CXL P2P DMA加速数据传输的原理

  • HDD回暖于2024,与SSD决战于2028

  • 如何解决NAND系统性能问题?

  • 浅析NVMe key per IO加密技术

  • PCIe 6.0生态业内进展分析总结

  • 浅析PCIe 6.0功能更新与实现的挑战

  • 年度总结|存储随笔2023年度最受欢迎文章榜单TOP15

  • NVMe SSD IO压力导致宕机案例解读

  • 过度加大SSD内部并发何尝不是一种伤害

  • NVMe over CXL技术如何加速Host与SSD数据传输?

  • FIO测试参数与linux内核IO栈的关联分析

  • 为什么QLC NAND才是ZNS SSD最大的赢家?

  • SSD在AI发展中的关键作用:从高速缓存到数据湖

  • 浅析不同NAND架构的差异与影响

  • SSD基础架构与NAND IO并发问题探讨

  • 字节跳动ZNS SSD应用案例解析

  • SSD数据在写入NAND之前为何要随机化?

  • 深度剖析:DMA对PCIe数据传输性能的影响

  • NAND Vpass对读干扰和IO性能有什么影响?

  • HDD与QLC SSD深度对比:功耗与存储密度的终极较量

  • NVMe SSD:ZNS与FDP对决,你选谁?

  • 浅析Relaxed Ordering对PCIe系统稳定性的影响

  • 实战篇|浅析MPS对PCIe系统稳定性的影响

  • 浅析PCI配置空间

  • 浅析PCIe系统性能

  • 存储随笔《NVMe专题》大合集及PDF版正式发布!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/661369.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ERP系统助力车间生产:班组、设备、工序一网打尽!实现生产全流程可视化!

​随着企业生产规模的扩大和业务复杂性的增加,车间管理在企业运营中的地位日益突出。ERP系统作为企业资源管理的核心平台,为车间管理提供了全面的解决方案。通过合理配置和使用ERP系统的功能模块,企业可以优化生产流程、提高生产效率、确保产…

SOME/IP SD 协议介绍(二) SOME/IP-SD消息格式

SOME/IP-SD消息格式 通用要求 服务发现消息应通过UDP进行支持。准备将服务发现消息传输到TCP中以供将来使用情况。服务发现消息应以SOME/IP头开始,如图1所示: • 服务发现消息应使用0xFFFF的Service-ID(16位)。 • 服务发现消息…

榜单!高阶智驾冲刺10%搭载率,哪些玩家占据自研感知「高地」

得「感知」者,是智能化尤其是智能驾驶技术变革快速演进期的受益者。尤其是对于车企来说,规控自研易,感知自研难。 尤其是过去几年时间,基于机器学习和深度学习,TransformerBEV技术进一步提高对异常行为的预测准确性&am…

CHS_06.2.3.4_2+用信号量实现进程互斥、同步、前驱关系

CHS_06.2.3.4_2用信号量实现进程互斥、同步、前驱关系 知识总览信号量机制实现进程互斥信号量机制实现进程同步信号量机制实现前驱关系 知识回顾 各位同学 大家好 在这个小节中 我们要学习怎么用信号量机制来实现进程的同步互制关系 知识总览 那么 我们之前学习了互斥的几种软…

只有一台显示器,如何实现同时显示4台主机的HDMI信号?

HDMI画面分割器概述 HDMI画面分割器属于画面分割器中的一种,因为其信号接口是HDMI接口而得其名,多用于监控、多媒体、视频会议等常见的场景 HDMI画面分割器-图 HDMI画面分割器工作原理 使用硬件方式将多路HDMI信号以多种不同的模式分割显示在同一个显示…

香蕉派BPI-M7 瑞芯微RK3588 人工智能开源硬件开发板公开发售

香蕉派(Banana Pi) BPI-M7瑞芯微K3588开源硬件单板计算机公开销售,支持WiFi 6和BT5.2,硬件有3个版本:8G Ram64G eMMC, 16G Ram128 eMMC和32G Ram128 eMMC 香蕉派BPI-M7采用睿芯最新旗舰RK3588八核64位处理器,最高频率为2.4GHz, 6 TOPS NPU&…

谷歌把GenAI装进Chrome

谷歌不甘示弱,在其Chrome浏览器中引入了新的实验性生成式AI功能,以简化并为用户提供更高效的浏览体验。 值得注意的是,微软去年推出了Edge浏览器和人工智能驱动的必应搜索引擎的集成。随着Chrome M121版本的发布,谷歌打算利用最新…

2024年美赛赛前复习大纲

CC数模-优质解答 引言 数学建模是一个将数学理论和方法应用于解决现实世界问题的过程。在数学建模比赛中,学生需要运用自己的数学知识和技能,解决给定的复杂问题。这不仅是一次展示自己能力的机会,也是一次学习和成长的过程。随着比赛的临近…

Wheeltec小车的开发实录(2)

小车初步启动控制 小车终端运行l: roslaunch turn_on_wheeltec_robot turn_on_wheeltec_robot.launch 控制终端运行(多机通讯设置后,可以不必执行这一步) export ROS_HOSTNAME192.168.224.122(控制终端ip)export R…

【Tomcat与网络8】从源码看Tomcat的层次结构

在前面我们介绍了如何通过源码来启动Tomcat,本文我们就来看一下Tomcat是如何一步步启动的,以及在启动过程中,不同的组件是如何加载的。 一般,我们可以通过 Tomcat 的 /bin 目录下的脚本 startup.sh 来启动 Tomcat,如果…

【HarmonyOS应用开发】UIAbility实践第二部分(六)

内容接上篇 【HarmonyOS应用开发】UIAbility实践第一部分(五) 末尾含示例源码 三、UIAbility的生命周期 当用户浏览、切换和返回到对应应用的时候,应用中的UIAbility实例会在其生命周期的不同状态之间转换。 UIAbility类提供了很多回调&a…

关于字符串处理

文章目录 关于字符串处理1、取字符串的长度2、跳过前面的字符3、取字符串右边的字符4、掐头去尾5、取倒数的范围6、删左留右7、删右留左8、查找替换9、大小写转换 关于字符串处理 1、取字符串的长度 [rootlocalhost ~]#strabcd1128 #定义变量 [rootlocalhost ~]#echo ${#str}…

IEEE| IceNet《IceNet for Interactive Contrast Enhancement》论文超详细解读(翻译+精读)

学习资料: 论文题目:《IceNet for Interactive Contrast Enhancement》(用于交互式对比度增强的IceNet)原文地址:export.arxiv.org/pdf/2109.05838v2.pdf 目录 ABSTRACT—摘要 翻译 精读 I. INTRODUCTION—简介 翻…

通俗易懂三大范式

通俗易懂三大范式 第一范式说的是每个字段不可再分 第二范式说的是不能存在部分依赖(不能由联合主键的部分就可以推出其他字段,必须整个联合主键才能推出其他字段) 第三范式说的是不能存在间接依赖(A(主键)→B,B→C…

瑞_23种设计模式_工厂模式

文章目录 1 什么是工厂模式案例案例代码 2 简单工厂模式(Simple Factory)2.1 简单工厂模式的结构2.2 案例改进——简单工厂模式2.3 案例改进代码实现2.4 简单工厂模式优缺点2.5 拓展——静态工厂 3 工厂方法模式(Factory Method)★…

【零基础学习CAPL】——CAN报文的发送(按下按钮同时周期性发送)

🙋‍♂️【零基础学习CAPL】系列💁‍♂️点击跳转 文章目录 1.概述2.面板创建3.系统变量创建4.CAPL实现4.1.函数展示4.2.全量报文展示5.效果1.概述 本章主要介绍使用CAPL和Panel在按下按钮时发送周期性CAN报文。 本章主要在“【零基础学习CAPL】——CAN报文的发送(配合P…

数组与字符串深度巩固

经过再三思考觉得今天就写一篇关于数组与字符串相关的文章吧!其中字符串主要通过练习来巩固知识亦或是获得新知识。好接下来将进行我们的学习时刻了。 首先我们来思考一个问题,你真的了解数组的数组名吗?数组名真的就单单一个名字而已吗&…

Mac安装配置JDK

Mac安装配置jdk 下载地址:https://www.oracle.com/java/technologies/downloads/#java8 下载jdk1.8及以上需要Oracle账号及密码 dokidoki811163.com\pass:Zywxmxbt1314… 安装jdk 双击安装包,点击.pkg,按照提示安装,配置环境之前…

微信小程序(二十八)网络请求数据进行列表渲染

注释很详细&#xff0c;直接上代码 上一篇 新增内容&#xff1a; 1.GET请求的规范 2.数据赋值的方法 源码&#xff1a; index.wxml <!-- 列表渲染基础写法&#xff0c;不明白的看上一篇 --> <view class"students"><view class"item">&…

介绍一个超好用的API管理工具:Apipost

Apipost是一款集API调试、生成文档、Mock、测试于一体的协同工具。单个工具可以同时满足接口测试、生成/分享文档、Mock、流程测试等功能&#xff0c;还有超实用的多人多角色间实时协作的功能。将前端、后端、测试三种角色串联起来&#xff0c;从而实现工作流程无缝衔接、提高研…