介绍计算型存储领域的两大标准组织(帮派可能更直接点):
SNIA定义的计算型存储架构
区分:CSP/CSD/CSA
值得一提的是:图中黑色方框代表硬件实现(HW),白色方框代表软件实现(SW)。
深入解读资源控制器的模块设计:
CSR(Resources) 计算存储资源是指在CSx中可用的资源,这些资源对于CSx存储和执行CSF是必要的。
CSF(Function)计算存储函数是一组特定的操作,这些操作可以在CSE中配置和执行。
CSE(Engine)计算存储引擎是一种CSR,它可以被编程来提供一个或多个特定的操作。
CSEE( Engine Environment)计算存储引擎环境是CSE的操作空间。
FDM(Function Data Memory)功能数据内存是设备内存,可供CSFs使用,用于存储作为CSF操作一部分使用或生成的数据。
AFDM(Allocated Function Data Memory)分配的功能数据内存是FDM的一部分,分配给一个或多个特定的CSF操作实例。
上述定义了架构设计和对应功能模块,对于软件开发人员来说,关心的是接口(API)的调用规范和功能。
这张图展示了计算型存储APIs的概念,强调了一套APIs对于不同类型的CSx(CSP, CSD, CSA)的重要性。
这些APIs隐藏了硬件和连接细节(本地/远程),抽象了设备详细信息,提供了发现、访问、设备内存(映射/未映射)、近存储访问、复制设备内存、下载CSFs、执行CSFs以及设备管理等功能。插件将CSx连接到了抽象化的APIs,隐藏了供应商特定的实现细节。此外,这些APIs对操作系统是无关的。
图中右侧还展示了一个示例的计算型存储驱动(CSD)的结构,包括用户空间、内核空间、设备驱动、计算型存储引擎(CSE)、资源库和设备存储。不同的应用程序可以通过SNIA CS API library调用相应的CSF功能,如搜索、解密、解压等等。
图示调用压缩API的内部工作流程:
更细致描述API调用过程。
在环境准备阶段:
在数据处理阶段:
4. 加载数据存储:这一步包括将数据加载到计算区域附近;
5. 执行CSF:在这一步中,会运行计算操作;
6. 复制结果:最后,将结果从设备内存复制到主机内存。
罗列出整个过程调用的系统函数。
SNIA和NVMe两个组织在整个行业的分工不同,因此在面向不同群体是沟通的术语可能代表不同含义,
SNIA:注重系统架构设计,需要和多个厂商达成标准需求;(行业产品经理)
NVMe:命令集规范的落地,聚焦编码实现;(代码工程师)
计算型存储在推广应用的过程中可能存在的顾虑:
[1]
NVMe : https://nvmexpress.org/
---【本文完】---