前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >STARBLAZE(忆芯):SSD中分布式软件架构

STARBLAZE(忆芯):SSD中分布式软件架构

作者头像
数据存储前沿技术
发布2025-02-11 18:42:06
发布2025-02-11 18:42:06
1110
举报

按:之前学习材料整理过大量海外厂商方案,随着不断推进,不少国内优秀方案也逐渐映入眼帘。抱着学习的心态尝试理解要义,如有误,欢迎指出,多交流,才能进步!

问题意识

1. 长期以来,文件系统作为OS调用文件的元数据管理层,与OS内核紧密交互,用户态文件系统也不是新鲜事,这些方法都需要将数据读取到Host上分析,数据迁移量不容小觑,数据管理任务能进一步下沉吗?

2. 将FS部署到先进SSD上组成分布式的SSD文件系统,优化数据读取过程。

关于 STARBLAZE[1] (忆芯科技)

北京忆芯科技有限公司(Starblaze)成立于2015年底,是一家专注于芯片及解决方案的高科技企业。公司致力于成为世界级的大数据芯片及方案公司,业务覆盖消费级和企业级市场,主控芯片和解决方案是其核心业务方向。忆芯科技总部位于北京,并在上海、成都、厦门和深圳设有研发中心和客户技术支持中心。

SSD 概览

随着PCIe速度的提高,SSD控制器的能力变得越来越强大:

特点列表:

  • • 强大的CPU
  • • 高速DMA
  • • 大容量DDR
  • • 硬件加速器(例如加密、缓冲管理等)

左下角显示 PCIe接口带宽升级路线。

右下角显示主控 STAR2000 结构拓扑。

前端为:PCIe Gen4 接口,可选4通道或2通道x2

中间为主控上各种模块组件:

  • • NVMe 2.0 控制器
  • • ARM Cortex-A55 CPU
  • • NPU(神经处理单元)
  • • 硬件加密模块(支持AES/RSA/SHA和SM2/3/4)
  • • 缓冲管理
  • • DMA
  • • DDR4/LPDDR4 支持
  • • 4KB LDPC(低密度奇偶校验编码)
  • • Flash控制器

后端为 NAND 物理接口,16通道/8芯片,每通道速率1600MT/s

SSDs(固态硬盘)通过硬件和软件组件的结合来提升数据存储性能

  • 前端(Front-End):SSD与主机系统之间的接口。
  • 闪存转换层(Flash Translation Layer, FTL):处理诸如磨损均衡、坏块管理、逻辑到物理地址转换等任务。
  • 后端(Back-End):管理NAND闪存上的数据存储和检索。
  • 垃圾回收(Garbage Collection, GC):识别并合并碎片数据,通过擦除包含有效和删除数据的块来释放SSD中的空间。

图示 SSD 写入/读取 数据过程流。

图示传统文件系统下Host读取文件的工作流:

  1. 1. 在缓存中根据目录树查询文件(CPU);
  2. 2. 未果则通过文件系统的 super block -- index node 到SSD的数据块中读取数据。

将文件系统分成2个模块

  • • 文件读取
  • • 指令执行

Note:鹏弟对这页材料看了很久,大概能理解作者的意思,将文件系统(部分)功能下沉到SSD,将其定义成分布式文件系统,这和朴素的计算型存储概念还是有区别的。

支持双命名空间

  1. 1. 标准NVMe命令 的数据命名空间-NS0
  2. 2. 用户定义的NVMe命令的数据命名空间-NS1

Note:区分出用户定义的NVMe指令命名空间,从而实现自定义场景功能。

SSD中的文件系统 - 优势

  • • 文件系统在SSD内部运行,减少了主机上的CPU时间消耗。
  • • 数据通过高速DMA而非CPU传输。
  • • 文件系统与SSD缓存空间的管理同步,减少冗余计算和内存开销。

性能优势

图比较了普通文件系统和文件系统SSD在缓冲分配次数、数据拷贝次数和主机CPU任务方面的性能差异。文件系统SSD在缓冲分配和数据拷贝方面都有显著优化,分别减少了33%和50%的开销。此外,文件系统SSD将大部分主机CPU任务简化为NVMe VU命令,进一步减少了主机的处理负担。通过使用DMA来执行数据拷贝操作,进一步减轻了CPU的负载,提高了系统的整体性能

扩展场景-数据库SSD

创建新命名空间NS2,用于SSD中数据库的交互。

数据库SSD架构中的直接交互方式。通过将数据库连接到文件系统SSD中的NS2命名空间,数据库可以绕过传统的数据处理流程,直接与文件系统交互。这种设计减少了数据读写的延迟,提高了数据库访问的效率,非常适合高性能数据库应用场景。

扩展场景-更多计算型SSD

可在SSD中集成更多专用功能,实现更多计算型存储任务。

总结

  1. 1. 分布式文件系统可以提高性能和方便实施保护措施。
  2. 2. 文件系统在SSD中操作,减少了CPU时间成本。
  3. 3. 数据通过高速DMA传输,而不是CPU。
  4. 4. 同时管理文件系统和SSD缓存空间,减少冗余计算和内存开销。
  5. 5. 直接访问数据库可以降低读写延迟。
引用链接

[1] STARBLAZE: https://metaso.cn/s/XusVTc7

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-10-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 王知鱼 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 问题意识
    • SSD 概览
    • 将文件系统分成2个模块
    • 支持双命名空间
    • 性能优势
    • 扩展场景-数据库SSD
    • 扩展场景-更多计算型SSD
  • 总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档