固态硬盘 固态硬盘普及的今天,上班族的你对“小伙伴”了解吗?( 二 )
对于分布式存储而言,必须一方面在数据分散放置的同时,尽可能地利用本地固态硬盘的能力,即在数据放置策略上做权衡。在这方面,我们结合元数据放置算法和策略,对YRCloudFile分布式文件系统的元数据采用了一部分的本地化固态硬盘访问,还将推出智能缓存技术,这将大量热数据缓存在指定的固态硬盘本地设备中,进一步降低访问延时。
控制硬盘存储使用量。再垃圾回收期间,需要擦除擦除存储块后创建空闲的存储块。擦除block需要保留在block内保存着有效数据的page,才能获得空闲block。创建一个空闲block可能需要压缩和挪动多个block内的page,具体数量取决于block的存储度。
假设固态硬盘容量已使用A%,为了擦除一个block,需要挪动和压缩1/1-A个block。显然,固态硬盘的使用率越高,将需要移动更多的block以释放一个block,这将占用更多资源并导致更长的IO等待时间。例如,如果A=50%,则仅压缩2个block以释放一个block。如果A=80%,则大约移动5个block数据以释放一个block。如果考虑上block的page,需要操作的数据则更加惊人,假设每个块都有P个page,并且所有page都包含有效数据,则每次GarbagedCollected都需要复制PA/1-A个page。如果每个block包含128个page,当A=50%时,每个blcok都需要复制128个page,而当A=80%时,则为512个page,当A=95%时,则达到2432page。
使用多线程进行小I/O访问。因为固态硬盘具有多个级别的内部并行处理机制。单个I/O线程是无法充分利用这些并行特性额,使用单个线程进行I/O访问,会导致整体访问时间延时更长。而使用多个线程并发访问,则可以利用固态硬盘内部这些并发特性。
固态硬盘上对本机命令队列的支持可以有效地再多个channel之间分配读写操作,从而提高内部I/O并发性。所以上层应用活存储系统尽可能并发访问小I/O是能提升读写性能的。如果针对单个应用很难进行多线程并发,则可以考虑多个应用对数据的并发访问,从而充分利用硬盘的并发特性。
总结
据悉,固态硬盘已经被存储系统大量使用通常采用固态硬盘的存储系统会比使用机械硬盘的存储系统具有更好的性能。但是在不经过针对性优化时,单纯地将固态硬盘视为一个普通的存储设备使用,不能充分发挥出固态硬盘,尤其是NVMe的极致性能。这是因为固态硬盘的工作原理与普通的机械硬盘有较大的差异,访问特性上也不同。为了充分利用固态硬盘带来的性能优势,现代的存储系统,尤其是分布式存储系统都需要对固态硬盘做针对性的优化。
作者:PConline
- 太空船|2.5英寸硬盘的好伴侣,ORICO移动硬盘盒
- 「硬盘」互联网可能在三年内被IPFS技术彻底颠覆
- 「内存条」内存与硬盘的报价单曝光了,准备电脑升级的朋友福利,别被坑了!
- 小葵花唯一|可达到数百万IOPS的性能,铠侠正在研究晶圆级固态硬盘
- 人走茶凉|青春版、荣耀X10 Max 发布,5G 普及之路再增俩“猛将”,荣耀30
- 孤惯|Plus系列可选,西数为喜欢CMR硬盘的用户,新增了Red
- 小雨玩创新|荣耀5G全用户布局再添猛将“两线出击”加速全民5G普及
- 吊带公主裙|西数硬盘在美国加拿大摊上事儿了?被美加集体投诉
- 二维码▲再见,二维码!微信、支付宝发力了,这3种新支付方式将全面普及
- [硬盘]互联网3年内可能彻底被IPFS技术颠覆
