AI原生存储架构实现“存算智一体”的硬件协同设计,其核心在于打破传统的以CPU为中心的冯·诺依曼架构,将计算、存储和智能决策单元在物理和逻辑层面进行深度融合与协同,以数据为中心进行高效处理。这并非简单地将存储设备与计算芯片堆叠,而是通过系统级的软硬件协同设计,实现数据在存储介质附近或内部完成计算与智能分析,从而根治“存储墙”问题,大幅提升AI工作负载的效率。

一、核心设计原则与架构范式

“存算智一体”的硬件协同设计遵循以下原则,其实现范式可归纳为三种主流路径:

设计原则 说明 对应的硬件协同范式
数据不动计算动 将计算单元尽可能靠近或嵌入数据存储的位置,最小化数据搬运的能耗与延迟。这是存算一体的核心理念。 1. 近数据处理 (NDP)
2. 存内计算 (CIM)
异构资源池化与统一调度 将CPU、GPU、AI加速器、不同性能的存储介质(如SCM, NVMe SSD, HDD)视为可被统一调度和编排的池化资源。 3. 以数据为中心的计算架构
智能卸载与硬件加速 将特定的、重复性的智能任务(如数据过滤、特征提取、模型推理)固化到专用硬件中,释放主机CPU/GPU资源。 1. 近数据处理 (NDP)
2. 存内计算 (CIM)

三种硬件协同范式对比:

范式 核心思想 典型硬件形态 适用场景与优势 挑战与现状
近数据处理 (NDP) 在存储设备(如SSD、智能网卡)内部集成轻量级计算核心(如ARM核、FPGA),执行靠近数据的预处理、过滤、转换等操作。 计算型SSD (Computational Storage Drive, CSD)智能网卡 (SmartNIC/DPU)计算存储处理器 (CSP) AI训练/推理数据预处理:在存储端完成图像解码、数据清洗、格式转换,仅将有效数据传至GPU。
数据库与分析加速:在存储层执行WHERE过滤、JOIN、聚合操作,减少网络和主机CPU开销。
编程模型复杂,需要专门的SDK;应用生态仍在培育;任务卸载的粒度需要精细权衡。
存内计算 (CIM) 利用存储器件的物理特性(如电阻、电荷)直接进行矩阵乘加等模拟计算,彻底消除数据搬运。 基于非易失存储器 (NVM) 的存算一体芯片,如使用ReRAM、PCM、MRAM等器件构建的存算阵列。 边缘AI推理:极低功耗下执行卷积神经网络(CNN)、Transformer的注意力计算,适用于手机、物联网设备。
高能效比计算:理论能效比可超越传统数字架构1-2个数量级。
工艺成熟度低,良率挑战大;计算精度有限(模拟计算);数字-模拟混合设计复杂度高。
以数据为中心的计算架构 通过高速互联(如CXL, NVLink)将计算单元(CPU, GPU, AI加速器)与各类内存、存储介质紧密耦合,形成统一的内存地址空间,由系统软件或运行时智能调度数据。 CXL (Compute Express Link) 内存池GPU直接存储 (GDS)异构内存架构 大模型训练:通过CXL扩展超大容量内存池,容纳整个模型的参数和激活值,避免频繁的GPU显存与主机内存/SSD之间的换入换出。
多模态数据处理:GPU可通过NVMe over Fabrics (NVMe-oF) 直接读取远端存储数据,实现存算分离架构下的高性能访问。
CXL协议栈和生态处于早期;内存一致性管理复杂;需要操作系统和应用程序的深度支持。

二、关键硬件组件与协同设计实现方法

实现上述范式需要一系列关键硬件技术的创新与协同。

  1. 计算存储驱动器 (CSD) 的硬件设计
    CSD是NDP的典型载体。其硬件协同设计需在标准NVMe SSD控制器基础上,集成可编程计算单元(如多核ARM处理器或FPGA),并设计高效的数据通路。

    • 数据通路设计:必须实现SSD闪存通道(NAND Flash Channel)与计算核心之间的直接数据通路,避免数据先经主机接口再到计算核心的迂回路径。这通常通过内部PCIe Switch定制DMA引擎实现。
    • 内存层次优化:CSD内部需集成足够的SRAM或HBM作为计算单元的本地缓存,以匹配计算单元的处理速度,避免被NAND的读取延迟拖累。
    • 软件栈协同:硬件需暴露标准的编程接口(如OpenCSD API),让主机应用程序能够以函数调用的方式,将计算任务(如filter()transform())下推到CSD执行。
    // 概念性示例:主机应用程序调用CSD上的过滤函数
    #include <opencsd.h>
    
    int main() {
        csd_handle_t *csd = csd_open("/dev/nvme0n1");
        // 定义过滤条件:筛选出 value > 100 的记录
        csd_filter_predicate pred = {.column = "value", .op = CSD_GT, .value = 100};
        
        // 将过滤任务下推到CSD硬件执行,结果直接返回到主机缓冲区
        csd_execute_filter(csd, "dataset_table", &pred, output_buffer);
        
        csd_close(csd);
        return 0;
    }
    
  2. CXL内存池的硬件协同
    CXL实现了CPU与外部设备(如内存扩展卡、加速器)之间的缓存一致性互联。其硬件设计关键在于:

    • CXL控制器 (CXL Controller):集成在CPU和内存扩展设备中,负责处理CXL协议(如CXL.mem, CXL.cache),维护跨设备的内存一致性。
    • 内存管理单元 (MMU) 扩展:系统MMU需要支持将CXL内存池中的地址映射到进程的虚拟地址空间,实现“内存即服务”。
    • 异构内存管理:硬件需要与操作系统协同,通过内存热插拔分层内存管理 (Tiered Memory Management) 等技术,将CXL内存作为DRAM的扩展或一个独立的内存层级,并由AI运行时(如PyTorch, TensorFlow)智能地将张量数据放置在最合适的层级。
  3. 存内计算 (CIM) 芯片的架构
    CIM芯片设计完全不同于传统数字芯片。

    • 存算单元阵列:核心是二维或三维的存储器单元阵列,每个单元既能存储权重,又能执行乘加运算。输入向量以电压/电流形式施加在字线(WL)上,结果从位线(BL)上以电流求和形式读出。
    • 模数混合信号电路:需要高精度的数模转换器 (DAC) 将输入数字信号转换为模拟电压,以及模数转换器 (ADC) 将模拟计算结果转换回数字信号。这部分电路是功耗和面积的主要开销之一。
    • 数字外围电路:包括控制器、激活函数单元、池化单元等,用于完成神经网络中非矩阵运算的部分。

三、系统级软硬件协同与挑战

“存算智一体”的最终效能取决于系统级的软硬件协同。

  • 统一的资源抽象与调度:需要类似Kubernetes for Hardware的编排系统,能够感知并调度CPU、GPU、CSD、CXL内存等异构资源。AI框架需要能够声明数据的位置偏好(data_placement_hint="near_storage"),由系统自动分配和执行。
  • 挑战
    1. 编程复杂性:开发者需要理解底层硬件拓扑,编程模型从“数据并行”转向“数据位置感知并行”,难度大增。
    2. 标准化与生态:CXL、CSD等接口和协议尚在演进中,缺乏统一的软件栈和驱动支持,生态碎片化严重。
    3. 验证与调试:存算一体和近数据计算涉及复杂的模拟/数字混合信号和并发访问,传统的EDA工具和调试方法面临挑战。
    4. 成本与性价比:专用硬件(如CIM芯片、CSD)的初期成本高昂,需要明确的性能收益(如10倍能效提升)来证明其商业价值。

结论:实现AI原生存储的“存算智一体”,硬件协同设计是基石。它从近数据处理 (NDP) 的渐进式改良,到以数据为中心架构 (CXL) 的系统级重构,再到存内计算 (CIM) 的颠覆性创新,构成了一个多层次的技术谱系。2026年的成功实践,将依赖于异构计算互联标准(如CXL)的成熟、存算一体芯片的工艺突破,以及跨越芯片、系统、到AI框架的全栈软硬件协同优化。这将使存储系统从一个被动的数据仓库,转变为一个主动、智能的数据处理单元。


参考来源

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐