按:Stream CSD在SSD侧构建语义层(类似文件系统),将部分计算任务下沉到SSD中,创新点是主控上接口开发及操作系统层面用户态调用。
其中从年增长率来看,存储厂商 SK Hynix 的下降幅度更大。
全球数据加速积累,对高效存储技术提出更多需求。
Note:从云厂商IaaS资源池来看,80%数据存储在HDDs,20%是高性能SSD。
参考阅读:
NAND 存储的经典问题:写放大(WA)与垃圾回收(GC)
NAND 存储中的写放大(Write Amplification, WA)和垃圾回收(Garbage Collection, GC)是影响性能和寿命的两个经典问题:
1. 写放大(WA): 写放大是指为了写入一定量的数据,NAND 闪存中实际写入的数据量往往会大于用户请求的数据量。这种现象主要是由于 NAND 闪存的“擦除块(Erase Block)”操作需要在更新数据时重新组织存储单元。写放大会导致更多的写入操作,增加了存储单元的磨损,缩短了 NAND 的寿命,同时还降低了写入性能。 2. 垃圾回收(GC): 垃圾回收是 NAND 闪存中用于回收无效数据空间的过程。由于 NAND 闪存只能擦除整块数据而不能逐字节擦除,因此当数据被更新或删除时,原位置的数据会被标记为无效。为了释放空间,GC 过程会定期将有效数据移动到新的位置,并擦除整块包含无效数据的存储单元。这一过程可能会触发额外的写操作,加剧写放大,进一步影响性能。 这两个问题相互影响:频繁的垃圾回收会增加写放大,而写放大又会导致更多的垃圾回收需求。因此,优化 WA 和 GC 是 NAND 存储系统设计中的核心挑战,直接关系到设备的性能和耐久性。
图左示意两种常见下的GC效率:
图中从左至右,讨论了几种优化方案。
Note:这和海外厂商以压缩、加密、搜索、重删等场景定义计算型存储,还是有些差异的,如果StreamCSD的实现是通过文件系统下沉SSD完成的,那这个方案和国内忆芯的CSD就非常接近了,一体两面,核心都是基于文件系统来完成。
参考阅读:
前面讨论的问题,优化方案和实现逻辑:聚类。
根据文本格式和数据结构,不同的数据(场景)适配不同的聚类算法。
这里简要介绍下 TF-IDF 和 K-means 聚类
1. TF-IDF(Term Frequency-Inverse Document Frequency) TF-IDF 是一种常用的文本特征提取方法,用于衡量一个词语在文档中的重要性。它主要通过两个要素来计算:
TF-IDF 的结果是一个特征向量,表示每个词在文档中的权重。它在信息检索和文本分析领域广泛应用,例如搜索引擎中的关键字匹配、文本分类和聚类等。 2. K-means 聚类 K-means 是一种常见的无监督聚类算法,目的是将数据集划分为 KKK 个相互独立的簇(cluster),使得同一簇内的数据点尽可能接近,而不同簇之间的数据点相对较远。K-means 的主要过程如下:
K-means 的优点是计算简单、收敛速度快,适合处理大规模数据集。但它对初始中心点敏感,容易陷入局部最优,而且只适合球状簇(簇内数据点的距离较均匀)。
左下柱状图显示:不同方案的计算敏感性,其中:
固件运行流程(Firmware Running Process):
关键步骤:
关于 SingleStream
SingleStream 是一种数据流管理策略,通常用于 NAND 存储系统中。它的核心思想是将所有数据统一分配到一个数据流(stream)中进行写入管理。这种方式相对简单,适用于一些不需要精细化管理的场景,但在实际应用中也有其明显的优势和劣势。 1. SingleStream 的主要特点 - 简单性:SingleStream 不进行数据的细化分类或动态管理,所有数据无论特性如何,统一分配到同一个流中,这使得实现成本低,适合简化设计的存储系统。 - 固定化管理:由于不区分数据特性,SingleStream 不会根据数据的写入频率、寿命或压缩比等因素进行动态调整,所有写入操作都以相同方式处理。 2. SingleStream 的优势 - 低实现成本:SingleStream 不需要复杂的硬件或固件支持来识别和分类数据,因此在系统资源有限或需求简单的环境下具有较高的性价比。 - 降低管理开销:相较于其他精细化的流管理策略,如 MultiStream 或 StreamCSD,SingleStream 减少了数据分流的管理开销,操作流程简单直接。 3. SingleStream 的劣势 - 写放大(WA)较高:由于缺乏对数据特性的区分,SingleStream 在 NAND 闪存中的写入效率较低。垃圾回收操作(GC)中需要频繁地移动和擦除数据,从而导致写放大因子(WAF)增高,加速了 NAND 单元的磨损。 - 性能瓶颈:在某些高频写入或高并发的场景下,SingleStream 可能无法充分发挥存储硬件的性能潜力,导致整体系统的读写性能较低。 4. SingleStream 的应用场景 SingleStream 适用于以下场景: - 低写入频率应用:在数据写入频率较低的场景下,SingleStream 的性能表现尚可,且能减少管理复杂性。 - 简化系统需求的设备:一些低端存储设备或资源受限的系统,可能会选择 SingleStream 策略,以节约硬件成本。 5. 与其他流策略的对比 SingleStream 与 MultiStream、StreamCSD 等策略相比,虽然实现简单,但在写放大因子和性能上有明显的差距。其他精细化的流管理方法会根据数据特性(如压缩比、寿命等)进行分流优化,这样能更好地控制写放大,提升性能和设备寿命。然而,这些方法往往需要更高的实现成本。
[1]
DapuStor 方案: https://www.dapustor.com/product/14.html