0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

一文详解计算型存储协议框架

UnionMemory忆联 来源:UnionMemory忆联 2024-10-31 14:20 次阅读

引言

近年来,AI应用态势迅猛增加,对计算侧的算力和内存提出了更高的要求。GPU、HBM这些高性能高密计算部件和内存部件,在AI计算场景中作为必需品,成为市场热点。业界也在讨论能否把计算侧的业务卸载到存储侧,称为计算型存储(Computational Storage),通过存储侧卸载数据预处理,如数据校验、解压、数据提取,甚至卸载局部机器学习训练,从而减轻计算侧的算力负载和内存负载。这两年,SNIA和NVMe陆续定义了计算型存储框架和协议接口,而IBM、Intel、Dell、Solidigm、Kioxia等知名厂商也在通过存储应用和SSD盘联合定制,开拓计算型存储应用道路。

01计算型存储协议框架

SNIA在2022年8月发布的Computational Storage Architecture and Programming Model,描述了计算型存储的架构和模型定义。计算型存储设备定义为三种模型:计算型存储处理器(Computational Storage Processor,CSP)、计算型存储盘(Computational Storage Drive,CSD)和计算型存储阵列(Computational Storage Array,CSA)。

b98c0eb2-9734-11ef-a511-92fbcf53809c.png

◎图1 CSD架构

以计算型存储盘(CSD)为例,其架构框架如图1所示。Storage Controller可以对应于SSD的管理控制器,控制Device Memory(如SSD内的DDR)和Device Storage(如SSD内的NAND Flash)。计算型存储主要是定义计算型存储资源(Computational Storage Resource, CSR),用于设备提供用户可支配使用的计算资源和内存资源。

其中,计算型存储引擎(Computational Storage Engine, CSE),是用于提供计算资源。CSE里面包括计算型存储引擎环境(Computational Storage Engine Environment, CSEE)用于提供执行计算环境或者平台,譬如操作系统、Container容器,或者FPGA这种硬件环境。计算环境里通过计算型存储功能(Computational Storage Function, CSF),提供具体的计算功能,如压缩、加密、数据filter、Erasure Code、RAID、hash/CRC、重删、正则表达式计算等功能。

另一方面,功能数据内存(Function Data Memory,FDM)是设备提供给CSE进行计算使用的内存区域。用户通过分配功能数据内存(Allocated Function Data Memory,AFDM)绑定给具体CSF,用于具体计算存储输入数据、中间过程数据和输出结果。

NVM Express在2024年发布的Computational Programs Command Set Specification和Subsystem Local Memory Command Set Specification两个协议标准,具象化了计算型存储框架在NVMe接口上的实现。NVM Express在原有用于数据持久化存储的NVM Namespace外,额外定义了Compute Namespace和Subsystem Local Memory (SLM) Namespace,分别对应SNIA定义的CSE和FDM,为用户提供计算资源和内存资源。

b99725a4-9734-11ef-a511-92fbcf53809c.png

◎图2 NVM Express计算型存储框架

NVM Express的计算型存储接口架构和运作,如上图所示。一个Compute Namespace可以支持多个程序(Program)。Program可以支持主机加载(Downloadable Program),或者是盘内预设(Device-defined Program)。用户在使用前,需要通过Program Activation Management命令激活这些Program。

Subsystem Local Memory (SLM) 可以提供给Program用作数据输入输出的内存区域。用户可以通过Memory Range Set Management命令,为Compute Namespace建立SLM Namespace中的多个内存区域(Memory Range)。

用户在激活需要的Program和建立Program所需的内存区域后,可以通过以下步骤执行Program:

1主机下发Memory Copy命令,盘片从NVM Namespace,即SSD存储LBA数据区域,读出数据后,拷贝数据到SLM的内存区域。此外,主机也可以下发Memory Write命令,盘片从主机内存拷贝数据到SLM的内存区域。以准备好Program执行所需要的输入数据。图2中A1-A3示例是将SSD存储的数据库数据,拷贝到SLM的内存区域。

2主机通过下发Excute Program命令,执行Compute Namespace的Program,采用内存区域中的数据作为输入,Program进行计算后,输出到内存区域中。图2中B1-B4示例过程是,主机调用盘内的filter program,对数据库数据进行筛选计算,将筛选结果输出到SLM的内存区域后,上报主机。

3主机通过下发Memory Read命令,盘片将SLM内存区域中的数据,读出到主机内存,如图2中C1-C2所示。

02计算型存储应用思路

SNIA和NVMe定义了一整套盘片和主机进行计算交互的框架和接口,SNIA还定义了一整套的API(见Computational Storage API, SNIA)。这样可以有效推动应用规范化,将计算型存储接口落入到设备驱动、操作系统内核等,支撑起主机应用层访问接口标准化。

从SSD设备的角度来看,SSD作为存储部件,在存储系统内分配的空间、功耗和成本都是受约束的。SSD的设计规划上,SSD并不是一个强算力系统。对于一个15W的SSD来说,可能分配到内部CPU计算的功耗不到2W。从SSD CPU和总线选取和设计来说,CPU的作用主要是进行SSD内部控制,而不是进行数据计算。这样,在SSD内要实现灵活的、用户可加载的计算引擎,如通过OS或者Container平台进行软件计算,通过SSD内部CPU计算达到高性能是很困难的。

从目前业界趋势来说,一方面是在SSD控制器外,增加FPGA作为计算引擎,或者是FPGA同时用于SSD控制和计算(如IBM FlashCore Module方案),由于FPGA在芯片封装大小、成本和功耗上不如ASIC,这样会造成整盘性能、硬件布局、功耗、散热、成本等一系列的问题。另一方面是通过在控制器ASIC提供定制的硬化引擎,这就对盘片厂商有很高的能力要求,除了有盘片设计生产能力,还要有SSD控制器芯片定义和设计能力,并且能够拉通上层应用厂商,识别盘片卸载业务趋势进行长远规划。

这里以2023年Solidigm在Flash Memory Summit发表的Data scrubbing卸载定制作为示例。存储服务器会经常巡检全部的数据,即把数据全部读出,进行hash计算(如CRC32、MD5等),再和存储保存在元数据的结果进行比对。这个场景下对于服务器的算力、内存、NVMe/TCP接口都有很大压力,会成为业务瓶颈。

b99e5eaa-9734-11ef-a511-92fbcf53809c.png

◎图3 Data scrubbing

Solidigm提出的方案是在盘内进行hash计算。主机侧组织需计算的LBA list下发到盘,盘片从LBA区域读出数据,存放到盘内内存区域,调用盘内硬化引擎进行CRC32等计算,只将计算结果返回到主机。

这样,卸载了主机侧进行hash计算的算力,由于盘片只上报结果,节省大量接口数据读取带宽,以及主机内存,而且可以随着盘数量增加扩展计算能力。

b9c897f6-9734-11ef-a511-92fbcf53809c.png

◎图4 CSD实现

03忆联端到端能力构建

计算型存储SSD随着协议标准的成熟化,可与客户联合定制实现业务卸载。其价值是减轻客户侧的系统算力、内存压力,减少网络和设计接口带宽,从而在AI高速发展的趋势下,突破系统瓶颈,发挥系统能力。

作为一家领先的SSD厂商,忆联正积极整合内外部资源,深入探索计算型存储的前沿领域。通过引入先进的计算技术,优化控制器设计,并结合智能存储管理,致力于开发具有高性能、高可靠性和智能化特性的存储解决方案。

忆联不仅关注对数据传输效率和存储容量的提升,更关注探索各垂直应用领域的融合技术创新。忆联拥有成熟的芯片、软件、硬件、以及生产团队,能够支撑SSD从控制器芯片、软件业务、硬件设计、装备生产的端到端规划和设计开发,可支撑各垂直行业客户实现SSD联合定制,满足多样化市场需求,突破客户业务瓶颈,创造各行各业的客户价值。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 处理器
    +关注

    关注

    68

    文章

    19076

    浏览量

    228657
  • 存储
    +关注

    关注

    13

    文章

    4201

    浏览量

    85529
  • SSD
    SSD
    +关注

    关注

    20

    文章

    2828

    浏览量

    117058
  • AI
    AI
    +关注

    关注

    87

    文章

    29607

    浏览量

    267872

原文标题:Tech Talk: 浅谈AI浪潮下的计算型存储SSD

文章出处:【微信号:UnionMemory忆联,微信公众号:UnionMemory忆联】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    解析SpringBoot2整合SSM框架

    SpringBoot2整合SSM框架详解
    发表于 06-09 16:43

    解析Spring框架

    Spring框架详解 - 03
    发表于 06-17 17:15

    读懂什么是NEC协议

    读懂什么是NEC协议
    发表于 10-15 09:22

    基于EVMS和SNMP的存储管理框架

    提出种基于企业卷管理系统(EVMS)和简单网络管理协议(SNMP)的存储管理框架,有效解决了SonD系统中存储服务器磁盘、分区、软件RAI
    发表于 04-22 09:53 10次下载

    tcp ip协议详解

    tcp ip协议详解:《TCP/IP详解,卷1:协议》是本完整而详细的TCP/IP
    发表于 05-19 12:02 712次下载

    详解蓝牙模块原理与结构

    电子发烧友网站提供《详解蓝牙模块原理与结构.pdf》资料免费下载
    发表于 11-26 16:40 94次下载

    详解区块链的存储体系

    从数据库的角度看待区块链的存储机制会简单直观很多。在个标准的关系数据库中,存储般分为日志存储
    发表于 11-26 14:59 8849次阅读

    详解精密封装技术

    详解精密封装技术
    的头像 发表于 12-30 15:41 1592次阅读

    详解分立元件门电路

    详解分立元件门电路
    的头像 发表于 03-27 17:44 2810次阅读
    <b class='flag-5'>一</b><b class='flag-5'>文</b><b class='flag-5'>详解</b>分立元件门电路

    详解pcb和smt的区别

    详解pcb和smt的区别
    的头像 发表于 10-08 09:31 3107次阅读

    详解pcb地孔的作用

    详解pcb地孔的作用
    的头像 发表于 10-30 16:02 1490次阅读

    详解pcb不良分析

    详解pcb不良分析
    的头像 发表于 11-29 17:12 1092次阅读

    详解pcb的msl等级

    详解pcb的msl等级
    的头像 发表于 12-13 16:52 8482次阅读

    详解pcb微带线设计

    详解pcb微带线设计
    的头像 发表于 12-14 10:38 2598次阅读

    详解pcb的组成和作用

    详解pcb的组成和作用
    的头像 发表于 12-18 10:48 1377次阅读