欢迎来到天天文库
浏览记录
ID:46248946
大小:703.41 KB
页数:20页
时间:2019-11-22
《测试探究SSD固态硬盘性能下降的谜题》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、实测为王!探究SSD固态硬盘性能下降谜题2011年01月04日09:42itl6X网站原创作者:编译编辑:奎隻评论:5条[IT168专稿】众所周知,随使用时间的推移,SSD的性能会逐渐下降,特别是早期SSD产品更是如此,新的控制器通过各种技术有效缓解了这个问题。在这篇文章中,我们将执行一些企业级SSD基准测试,通过对比前后测试结果,加深对SSD性能下降的理解。SSD性能问题回顾前面我们分析了SSD性能问题的一-些根源,晶体管的设计,底层NAND芯片的设计,以及SSD硬盘自身的设计都是其性能下降的根本原因。在回顾SSD破盘结构部分,我们曾介绍过
2、SSD是以块为单位进行擦除的,大小通常是512KB,这意味着如果某个块上的一个页而(4KB)发生了变化,整个SSD都需要重写,重写过程需要经历漫长的“读-修改-擦除-写”周期,“读”通常指的是将块上的所有数据读入到缓存小,接着将“修改的”数据和缓存中已有的数据合并,然后“擦除”那个块上的全部数据,最后将缓存中的新数据“回写”到已被擦除的块上。冇人认为这个过程应该不需要多长时间,但SSD的擦除速度要比读取速度慢好多倍,导致整个“读■修改■擦除■写”周期花费的总时间变长。更糟糕的是,“读■修改■擦除■写”周期会产纶一个所谓的写放大系数,它指的是即
3、使是块上单个页而发牛变化或更新,也会导致使用额外的写周期,理想情况下,写放人系数应等于1,即向存储介质写入数据时,不需要额外的写周期,如果写放人系数人于1,则意味着向存储介质写入数据时,不止发生一次写入操作,早期的SSD写放大系数通常是远远大于1。因此不要忘了SSD的写操作周期的限制,SLCSSD大约是10万次,MLCSSD大约只有1万次。SSD硬盘制造商其实早已知道这些问题,它们已经想出许多方法来克服这些问题,写放大系数也变得越來越接近于1。其中一种技术叫做写合并,控制器将多个写操作收集到一起,然麻一次性将这些数据写入到SSD的块上。合并的
4、目标是将多个小的写操作合并成一个大的写操作,人多数时候,相邻页面的数据会同时发牛变化,这些页面很可能属于同一个文件。通过写合并技术,写放大系数大大减小了,SSD的性能也显著提高了,但这也与发送数据的方式,以及数据块是否同属于同一个文件,或是否在同一时间发牛变化有关。另一种技术叫做超量供给,它保留了一定数量的储备块,连操作系统也不可见,例如,假设一块SSD硬盘的总容最是75GB,只将其中60GB暴需给操作系统,剩下的用作保胡块,相当于是一个可用块池,操作系统无法占用,它们只是用來帮助捉高性能的,确保任何时候都有町用的块,避免应用程序将数据真实写
5、入SSDZ前不会因漫长的“读■修改■擦除■写”周期而产生性能瓶颈。这个技术也能间接捉高SSD的使用寿命,因为有一•部分块的写周期相比其它块而言要少,以后可以切换保留池小的块,有助于均衡SSD存储块的磨损。第三个技术是所谓的TRIM命令,SSD最人的性能问题之一是,写操作发生在一个尚未擦除的页面上,这个时候,包含该页面的整个块都要被读入到缓存中,新数据和块中已冇的数据合并,再擦除整个块上的数据(这个操作需要的时间最长),最示将缓存屮的数据冋写到块上,这种“读-修改-擦除-写”过程需要的时间比仅仅只有“写”操作的时间要多得多,TRIM命令告诉SS
6、D控制器,当一个页面不再需要时,就将其标记为擦除,这样SSD控制器就可以将新数据写入到一个干净的页面上,从而避免完整的“读■修改■擦除■写”周期,只留下“写”周期,因此整体写入性能要好得多。这些技术不同程度地提高了SSD的性能和使用寿命,在设计时需要进行权衡和取舍,因为它们需要更精密的控制器,因此设计和制造成木会更高,超量供给还会使硬盘的可川容量减少,SSD制造商必须综合考虑它们的优缺点,同时兼顾性能和成本,才能设计出性价比很高的产品。在这篇文章中,我要测试一款企业级SSD便盘:英特尔X25-E,我会先执行一些基准测试,然后执行一些I/O密集
7、型测试,最后再执行基准测试,通过对比两次基准测试结果,找出性能下降的迹彖。基准测试方法和设置很多时候,除了可以提供比厂商宣传资料更多的信息外,基准测试没什么用,我会遵循一些原则提高基准测试质量,如:?解释基准测试背后的动机。?使用相关且有用的存储基准测试。?尽可能详细描述基准测试。?这些测试持续运行时间将超过60秒。?每个测试执行10次,计算出平均值和标准偏差。遵循这些原则可以使基准测试变得更有用。测试系统的配置如下:•GigaByteMAA78GM-US2H•一颗AMDPhenomIIX4920CPU•内存8GB(DDR2-800)•Lin
8、ux内核2.6.34(只提供了bcache补丁)•操作系统和启动盘位于一块IBMDTLA-307020硬盘上(20GB,UltraATA/100)•/home位于一
此文档下载收益归作者所有