技术资讯 Technical Insights
技术资讯

存储不是一人一剑的江湖,数据可靠度、成本和性能也不是一道单选题。

  • 2021122002190280
    缓存及磁盘缓存

    “Cache(缓存)”一词源于法语,在1967年的一篇电子工程期刊论文中,被作者赋予“safekeeping storage”的含义。1985年,英特尔发布了80386处理器,首次采用缓存,以解决内存速度瓶颈问题。

    顾名思义,“缓存”即暂时存储的意思。现今缓存的概念已被扩充,除了CPU和内存之间,内存和硬盘之间也存在缓存。缓存可以进一步定义为,“位于速度相差较大的两种硬件之间,用于协调两者数据传输速度差异的结构”。

    存储器的数据传输速度,按照由高到低排序,依次是内存>闪存>磁盘>磁带。磁盘的速度远远低于CPU,为了协调两者之间的差异,在计算机系统中,内存的一部分空间会被用做缓存,称之为磁盘缓存。

    同样的,在存储系统中,后端磁盘的速度远远低于CPU的处理速度,人们在存储控制器和后端磁盘组之间,插入内存作为缓存。这里的内存主要使用DRAM (Dynamic Random-access Memory ,动态随机存取存储器),或SDRAM(Synchronous Dynamic Random-access Memory,同步动态随机存取存储器)。

    不管是计算机系统中的磁盘缓存,还是存储系统中的“内存缓存”,都可以进一步分为读缓存和写缓存。

  • 读缓存

    当应用向存储系统发出读I/O请求时,会优先在读缓存里查找,如果数据刚好存放在缓存中,则称为缓存命中(Cache Hit)。这是最理想的情况,数据直接返回。如果没有找到,则称为缓存缺失(Cache Miss),存储控制器向后端磁盘/硬盘发起读I/O命令,再从磁盘/硬盘上读取数据。这种情况会产生额外的时延,以磁盘为例,包括寻道时间、旋转延迟及数据传输时间。

    将“缓存命中数”除以“缓存命中数+缓存缺失数”,得到缓存命中率。对于整个存储系统来说,读缓存通常很小,只能存放一定数量的数据,需要按照指定策略与后端存储上的数据进行置换。以LRU(Least Recently Used)策略为例,如果存放在缓存中的数据没有立即被读取,很快会被置换出缓存。如果遇上随机读,原本并不“富裕”的读缓存,更是“雪上加霜”。

  • 2021122002200832
    写缓存

    存储系统的写缓存,可以有Write-through(直写)和 Write-back(回写)两种策略。

    在Write-through(直写)策略中,当收到写I/O请求时,将同时写入到缓存和后端磁盘/硬盘上。这样做的好处是简单,易于实现,缓存和内存中的数据始终保持一致。但缺点是时延较长,占用较多带宽,特别是同一地址的数据需要频繁被更新时,性能会受到较大影响。

    在Write-back(回写)策略中,当收到I/O写请求时,数据会先被写入到写缓存,并返回写操作完成。数据其实并未真正写入到后端的磁盘/硬盘上,所以感觉会很快。

    这种策略中,当写缓存上的数据达到一定阀值时,存储控制器将写缓存上的数据写入到后端磁盘/硬盘,这个过程称为“Flusing”(清洗)。存储系统通常支持“Demand-based”(基于需求)和 “Age-based”(基于时长)的两种“Flusing” 算法。

    “Demand-based”清洗算法使用一个“水位线”阀值,即占用整个缓存大小的百分比。如“水位线”设置为70,当写缓存上的数据容量达到整个缓存容量的70%时,则触发清洗操作。当达到“水位线”阀值时,控制器会使用“Age-based”清洗算法。该算法界定了写缓存中的数据需要暂存多长时间才可以被“Flusing”。

    需要指出的是,如果在“Flusing”操作开始之前或在“Flusing”过程中,出现系统掉电的情况,存储在缓存中的数据将会永久丢失,无法找回。此外,回写策略在存储系统负荷较低时,对性能提升有较大帮助,但当系统负荷较大时,写缓存中的数据会很快被写满,不断触发“Flusing”操作,反而会降低系统的性能。

  • 性能、容量和成本的最佳平衡点

    如果把缓存比作存储江湖的一把宝剑,那么它是一把双刃剑,驾驭得当,可以提升存储系统自身的功力,若有闪失,则可能造成数据丢失,伤及根本。此外,提高缓存命中率一个简单的方法,是增大缓存容量,但随之而来的是成本的增加。在实际应用时,需要在性能、容量和成本三者之间,寻找一个最佳的平衡点。

     

    我们不由得发出思考:对于极其重要的数据,我们需要牺牲可靠度、成本来换取性能么?存储不是一人一剑的江湖,数据可靠度、成本和性能也不是一道单选题。存储江湖的风云变幻,技术的日新月异,给这个问题的答案带来了更多可能性。下一期的文章中,小编将揭秘上海川源独家“武林秘籍”—— FlexiRemap技术宝典第一招式:写入管理。

成为川源的合作伙伴

    • captcha

    申请试用

      • captcha

      会员登录