压缩并不是一个新概念,但随着存储需求的增长,它正成为数据中心中更重要的工具。目标当然是使用比原始数据更少的位对信息进行编码,从而减小数据的大小。计算效率优势还体现在需要移动的数据更少。
有两种不同类型的压缩:
1. 有损,最适合 mp3、jpeg - 通常用于音频或视频流应用
2. 无损,例如在 zip 文件中使用 - 其中所有数据必须可供应用程序使用
对于这两种类型,都有多种压缩技术可用。一些最常见的包括:
• 匹配查找:在这种技术中,算法在数据集中查找冗余,如重复的字节串,并存储冗余数据的单个副本。通过将数据字符串的其他匹配项替换为对要读取的存储副本位置的引用来减少数据量。
•熵编码:该技术在看似任意的数据序列中查找模式,并分配一个符号或编码一个值来表示随机数据集中的重复模式。通过将重复模式替换为单个值来减小数据的大小。
• 模型压缩:这种先进的技术针对需要巨大计算能力和昂贵的高速 GPU 才能运行的机器学习模型和 AI 应用程序。为了在小型嵌入式系统上传输和处理复杂的神经网络算法,通过删除冗余的神经网络连接或将神经网络权重和偏差捆绑到集群中来压缩机器学习模型,从而减少要存储的数据的总大小。
重复数据删除或重复数据删除(与匹配查找压缩技术一样)会删除重复的数据副本,以便仅存储一个副本。它通常用于存储设备的上下文或数据中心的系统级别,您可以在其中找到存储的共享文件的单个副本,并且每次由其他用户使用该文件时,对该副本的引用数量都会递增。dedup 的优点是它可以对大型数据集(例如整个存储集群)使用相同的匹配查找压缩算法,并减少存储需求。
许多存储系统同时支持压缩和重复数据删除,以最大化存储容量。除了节省存储容量外,压缩还可以提高系统性能。最基本的原则是通过写入更少的数据,数据总线利用率增加,从而提高写入带宽和性能。
压缩率是未压缩数据的大小除以压缩数据的大小。未压缩数据的压缩率为 1。压缩比越高,数据的压缩程度就越高。这在使用昂贵闪存的SSD应用中非常重要,因为写入数据所涉及的架构必须擦除闪存单元才能重新编程,以及可用的程序和擦除周期数有限的介质的性质。在 Flash 操作中,擦除只能在块级别进行,而编程是在页面级别完成的,导致擦除和重写的闪存部分比任何新数据所需的要大。闪存中不需要更新但正在擦除以允许传入页面写入操作的部分必须存储在其他位置,并且必须更新对此数据的所有引用以供将来访问。SSD 上对闪存存储的所有写入的这种乘数效应增加了实际闪存写入操作与来自主机的传入数据写入请求的比率。此比率最小值为 1,写入放大比率越高,启动的程序和擦除周期就越多,从而耗尽 SSD 的整体耐用性。通过压缩数据的原始大小,可以将较小大小的数据集存储在闪存中,写入放大因子小于1,从而减少编程和擦除周期,并延长SSD的使用寿命。
基准压缩率和性能的最常见的压缩测试机构或语料库是卡尔加里语料库,坎特伯雷语料库和西里西亚语料库。西里西亚是最新的,它利用涵盖当今用例的更新数据集。附表说明了PCIe Gen-4 Flashtec NVMe3016企业级NVMe SSD控制器在测试下的性能。
压缩比是通过专用压缩引擎实现的,该引擎符合无损算法的 Deflate 压缩数据格式规范 (RFC-1951),具有简化的内部格式 (zlib)。
• 数据格式基于块,如果未对齐,则进行填充
• 压缩和未压缩的数据块大小可配置为 32B-8KB,使用 SGL 时最高配置为 64KB
结合 SHA-256 哈希引擎、高 CPU 处理能力以及 NVMe3106 控制器的高级灵活可编程架构,用户可以自定义其 SSD 固件,以使用各种硬件旋钮实现最有效的压缩方案,以满足其应用需求。
作为企业级NVMe SSD控制器市场的行业领先支持解决方案,Flashtec NVMe3016 NVMe SSD控制器支持创新的存储解决方案,基于高度灵活和可编程的控制器平台,提供高性能,低成本和电源效率。硬件压缩只是使 Flashtec® 产品成为未来数据中心企业级 NVMe SSD 的正确解决方案的众多功能之一。
审核编辑:郭婷
全部0条评论
快来发表一下你的评论吧 !