随着成本降低和技术进步,闪存越来越多的被企业级数据中心作为存储介质使用。相比传统的磁盘介质,闪存的优势显而易见:速度快,耗电低,省空间。特别在速度方面,闪存具有压倒性的优势。
比方说,客户原来采用某款高端磁盘阵列的时候,处理某个业务,需要花费10个小时。后来替换为闪存阵列,同样处理该业务,只需要2个小时就可以完成。闪存带来的性能优势非常的明显。
但客户在使用用闪存阵列时发现:刚开始处理业务只用2个小时,可是运行了一段时间之后,忽然有一天,客户发现处理业务用了2小时30分钟。于是,问题来了,客户一方面觉得2小时30分钟比过去的10小时还是快多了,一方面也会想,为啥比起2小时,现在处理作业的时间慢了25%?
由此,我们来了解一下,闪存中的“写断崖(write-cliff)”现象。
什么是垃圾回收?
闪存是电子类介质,其处理数据的写入方式和传统的磁类介质(磁盘或者磁带)的覆盖写不同:新数据写入的区块,必须是空白区块,如果该区块存有旧数据,那么必须先对旧数据进行“擦除”(erase)。尤其是当写入的数据总量达到闪存提供的所有容量之后,再次写入更新时,就必然会产生“擦除”。
相比于常规的读取和写入操作,擦除有2个特点。
第一,擦除的速度比读写要慢。擦除时间可能是写入时间的10倍以上,基本达到ms级别;
第二,擦除的处理单位要比读写大:读写的处理单元是page(一般4kb大小,或者更大),擦除的单元是block(多个page组成,一般不少于512kb)。
如此,极端情况下,要写入4kb的数据到某个已存有4kb旧数据的区块,有可能首先先擦除其周边512kb的区块空间。
这种将block中的有效page合并到一个新的block中,并将旧的block进行擦除,留出更多的空闲block的机制就叫做垃圾回收(garbage collection)。垃圾回收就相当于固态硬盘的碎片整理,目前基本已是ssd的标配机制,在全闪存阵列设计优化中也有涉及。
闪存“垃圾回收”带来的“写断崖”和“写放大”
回到文章一开始客户遇到的性能下降25%的问题,在了解完闪存垃圾回收的过程之后,就很容易理解了。一台40tb可用容量的闪存阵列应用到客户现场,起始都是“干净”的空白小块,写入速度很快。但随着数据的不断更新,必然会出现对应的数据搬运,数据擦除等后台垃圾回收的相关操作,从而提供“干净”的小块给后续的写入操作。若这些操作若和前端应用程序并行,将可能导致了性能的下降,我们称之为“写断崖(write-cliff)”。
“写断崖”仅仅是垃圾回收带来的问题之一。垃圾回收还带来的另外一个问题,叫做“写放大”:闪存的每个cell(颗粒)都是有写入次数的寿命限制的。垃圾回收导致了额外的cell写入,加速了cell寿命消耗。我们称之为“写放大(write-amplification)”。
如何处理“写断崖”和“写放大”
写断崖和写放大都是闪存介质与生俱来的特性,无论是ssd固态硬盘,还是目前的全闪存阵列厂商,都无法避免这两个问题。
闪存阵列厂商一般会通过介质材料,算法以及架构的优化等手段,来将这两种影响控制在一定的范围内。比如某厂商,通过以下手段来优化写断崖的问题:
首先,采用“超供给”( over-provisioning)方式,通过提供更多的颗粒数量(比如用户可见容量40tb,而实际物理容量超过67tb),用于减缓整体闪存寿命的磨损,并实现更为灵活的预防性垃圾回收。
同时,采用了灵活的垃圾回收处理机制,配置闲时垃圾回收引擎,从而不占用处理前端应用数据io的硬件资源。
最后,通过全局ftl和优化的上层写入机制,将随机io整理顺序化,减少底层实际读写次数。
此外,还有均衡磨损算法,监测机制等手段,来优化缓解这两个问题。
总之,对该问题处理的效果,也是衡量闪存阵列能力的因素之一。
消除误区,“写断崖”并不可怕
最后,需要说明的是,写断崖并不可怕。
即使写断崖带了的性能的降低,但速度降下来之后,若闪存阵列处理得当,其性能还是要远远高于传统磁盘阵列。好比您以100块钱的价格买了一种纪念币,最好的时候纪念币价格飙升到了300块钱,但后来降到了280块钱,并在280块钱平稳下来。那么整体来看,收益还是很好的。
所以在对闪存阵列选型时,一定要搞清楚闪存阵列厂商是否对该问题进行过优化,并最好让厂商给出一些有说服力的数据或者测试报告。
橙子自动化完成由GGV领投的近亿元B轮融资
RX140工程师手册 | 一册在手,“天下”我有!
大唐移动开发出边缘计算解决方案为5G垂直业务创新提供了机遇
基于虚拟仪器的多点随机振动试验控制系统的设计
6P9P并联推挽放大的胆功放电路的工作原理
闪存阵列如何处理“写断崖”和“垃圾回收”
适用于多平台应用的Kotlin编程语言
RK3288主板的CPU主频最大是多少
华为P10售价曝光:华为P10相比上一代P9只涨价11元,值不值这个价?
如何正确使用二极管的导通压降
怎样将FC-28土壤湿度传感器与树莓派连接
Intel建晶圆厂“抢饭碗” 发力芯片代工意欲何为
零序电流是如何产生的?有哪些危害?
一文搞懂开关电源和普通电源的区别
MXC抹茶科技成为中国软件行业协会颁发的首批共识理事成员
折叠屏手机未来会取代平板电脑和iPad吗
如何在Step7中实现PID控制?
关于线束加工工艺细节的详细解析
HOLTEK新推出体脂量测的BH66F2665 Flash MCU
机械硬盘怎么安装_机械硬盘电源线是哪根