扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
在本页阅读全文(共7页)
ZDNET至顶网存储频道 4月20日 编译(文/Sibyl)SSD是当今存储行业最热门的技术之一。它具有超强的吞吐性能(读取或写入)和IOPS性能,不过,它也面临着重写周期限制和价格高于旋转型硬盘的挑战。此外,要使技术性能表现更好也还得应对一些挑战,需要新技巧提高整体性能。虽然一些控制器技术可提高性能或延长使用寿命(或两者兼之),但这些技术都必须加以“调优”,以便从中获取最佳的合理性能。一家SSD控制器厂商已经拥有了同时提高性能和延长使用寿命的技术,不过,这些改进是完全基于你的数据。
SandForce是一家新晋的SSD控制器厂商,其产品被大量的SSD所采用,包括消费级SSD和企业级SSD。SandForce开发了用于控制器的实时压缩技术。该技术实际上就是在数据被写入硬盘之前,对数据进行压缩,从而提升硬盘性能,延长硬盘使用寿命。
本文将通过基于SandForce的消费级SSD来探究SSD使用实时数据压缩的概念。笔者采用IOzone来测试吞吐性能,IOzone允许改变数据压缩率(重复数据删除率),从而可观察到对硬盘吞吐性能的影响。试验结果十分值得期待,这就为你一一道来。
SSD的实时数据压缩
笔者曾在多篇文章中谈论过SandForce SSD控制器的实时数据压缩,之所以反复探究,是因为这项技术的确让人着迷。
SandForce采用的基本方式是将其SSD控制器的一些功能用于实时数据压缩。因为实现方式是专有的,因此笔者只能推测控制器内部的运作原理。最有可能的情况是,未经压缩的数据进入硬盘或控制器,并有可能储存在缓冲区。然后控制器将缓冲区中的数据压缩成独立的数据块,或者在压缩之前合并数据块。在写入存储介质之前,该进程将占用一部分时间或计算资源。
数据在压缩之后,将会被放置在SSD的数据块中。不过,事情并不会这么简单。为确保硬盘能够报告储存数据的实际大小,估计未经压缩数据的大小也会以某种元数据格式存放至硬盘本身(可能是在压缩数据中?)。这就意味着,如果一个关于数据块数量或者数据大小的数据请求进入到控制器中,就会得到关于数据大小的正确报告。
然而,数据在被压缩之后,被写入的数据量就会小于未经压缩的原始数据量。更少的数据被写入到存储介质,相应的,时间更短,吞吐越快。写数据所需的时间是与数据压缩后的大小成比例,从而得出吞吐性能。不过也需要注意一点:因为压缩数据本身也需要时间完成,所以SandForce控制器的延迟会比普通的控制器要长。SandForce也将其考虑在内,以避免压缩数据所需的时间过长。
对于读取操作,压缩后的数据可能被会读入到缓存中,再解压。在那之后,数据将会被发送到操作系统,就像数据从未被压缩过一样。据推测,这也取决于快速解压数据的能力,因此,算法存在一个固定时间。
本文的重点将会集中在数据压缩率对存储介质性能的影响。如果数据被压缩得刚好,那么性能会变现的非常好;如果数据被压缩过度,则性能就可能不尽人意。本文将主要针对那些可被压缩的数据作讨论,此外,还要注意SandForce控制器仅需对特殊的数据块进行压缩,而非整个文件。因此事先很难绝对的说SandForce控制器不能很好的执行数据。不过SandForce应该花费了大量的时间针对市场目标测试普通数据,因此它对于能做什么和不能做什么心里有数。
不过,基本原理还是SSD的性能取决于数据压缩率。笔者使用了具有一个SandForce 1222控制器的消费级SSD,并以不同的压缩率进行一些IOZone基准测试,从中观察到SSD的性能情况。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者