闪存介质的大规模使用给传统存储系统的设计带来了强烈的冲击,传统存储系统的很多设计理念不再适用于闪存存储系统。传统存储在设计过程中紧紧围绕磁盘抖动问题,所以在数据布局方面会适应磁盘的顺序读写特征。在设计过程中会大量采用内存作为磁盘缓存,利用数据局部性特征过滤掉大量的磁盘操作,并且将小写聚合成大写;在IO调度器方面,通过LBA的调度将地址临近的IO进行聚合,从而可以优化IO Pattern,使得磁盘的
随着NAND Flash价格的不断下降,NVMe SSD正在慢慢普及。NVMe SSD由于极高的性能常被用作数据缓存,即使NVMe SSD发生故障,数据还在持久化介质中存储,不会导致数据丢失等严重事件。随着NVMe SSD的大量使用,其逐渐被用作持久化存储介质,替代传统磁盘。一旦NVMe SSD被用作持久化介质,便提出了数据保护的需求。传统磁盘采用RAID或者多副本的方式实现数据保护,那么在NVM
面向磁盘设计的存储软件不需要考虑竞争锁带来的性能影响。磁盘存储软件的性能瓶颈点在于磁盘,磁盘抖动会引入极大的性能损耗。因此,传统存储软件的设计不会特别在意处理器的使用效率。曾经对一个存储虚拟化软件进行性能调优,在锁竞争方面做了大量优化,最后也没有达到性能提升的效果,原因就在于存储虚拟化的性能瓶颈点在于磁盘,而不在于处理器的使用效率。正因为如此,在面向磁盘设计的软件中,很多都采用单线程、单队列处理的
Copyright © 2005-2023 51CTO.COM 版权所有 京ICP证060544号