一万年太久,只争朝夕。凡事都讲求速度。不说互联网用户对访问速度的苛求,现在传统行业企业也饱受速度困扰,以制造业为例,随着生产数据不断积累,不仅存储系统需扩容,而且其报表、查询速度也从此前的几个小时减缓到1天甚至几天,处理速度亟待提高。
为提高系统响应速度,很多用户选择了全闪存阵列,但这些用户需要忍受全闪存阵列的价格。没有更好的选择呢?有,PCIe闪存卡,更高速度和访问延迟,更低的价格。既如此,用户为什么还要选择全闪存阵列呢?
可靠性、稳定性挂帅
业用户之所以弃PCIe闪存卡不用,很重要一个原因在于对可靠性、稳定性的诉求。与互联网企业相比,传统行业/企业对稳定性、可靠性要求更高。作为磁盘阵列的延续,全闪存阵列具有非常高的稳定性、可靠性设计,从控制器到磁盘数据通道全部采用冗余设计,从而满足了用户的需求。
如果采用PCIe闪存阵列卡,虽然其速度优势明显,与此同时具有更低延迟,但对于可靠性,用户还有一个接纳的过程。那么,对于PCIe闪存卡,应该如何判定其稳定和可靠性呢?Greenliant公司亚太营销副总裁李炫辉在接受采访时表示,PCIe闪存卡稳定性与系统设计息息相关。
根据介绍,目前多数PCIe闪存卡采用NAND作为存储介质,但受工艺限制,不能保证以NAND为核心的存储阵列在生命周期中保持可靠。其中,最主要的原因在于NAND坏块的管理,其前提是比较可靠的坏区检测机制和手段。
常见ECC模块设计
如上图所示,这是常用闪存卡ECC模块设计。在这种设计结构中,ECC校验是保障数据可靠性的主要技术手段,也是坏区检测的技术依据。以上设计,在PCIe闪存卡使用初期问题并不明显,但随着使用时间和数据量的增长,坏块会逐渐增加,就会产生大量的ECC Error,如果仅仅依靠两个ECC模块,势必会成为系统瓶颈,不仅可靠性下降,PCIe闪存卡赖以成名的性能优势也会大打折扣。
从可靠性和稳定性出发
为了提升PCIe闪存卡可靠性和稳定性水平,结合多年的经验积累,Greenliant G-Card采用了分布式ECC设计架构,从行和列两个维度,对于NAND进行ECC校验。
由于采用大量ECC校验引擎,这必然会增加Greenliant G-Card闪存卡的成本。对此,李炫辉表示,虽然成本增加,但基于对于企业级用户业务应用需要的深刻理解,还是要把可靠性、稳定性作为重要的设计指标。李炫辉建议,用户在实际采购过程中,应该把ECC模块数量作为一个重要考核指标。
“这个问题具有一定的隐蔽性,没有一定时间积累,用户不容易察觉系统潜在的隐患。”他说。
为进一步提升G-Card闪存卡技术,Greenliant与此同时采用了板载硬件RAID设计,其中,G-Card单卡板载40颗 NANDrive,Greenliant将每5颗 NANDrive 组成一个RAID 组,如此共有组成8个 RAID 组。通过硬件板载RAID设计,提升数据的准确性和可靠性,确保用户企业级应用万无一失。
存储容量的奥秘
与全闪存阵列相比,PCIe闪存卡另外一个重要的差别在于存储容量。全闪存阵列通常能够达到100TB,而PCIe闪存卡最多为8TB或者10TB。目前Greenliant G-card有两种规格G7101和G7102,其单卡容量只有1.37TB和2.35TB,可用容量只有900GB和1.8TB,与全闪存阵列相去甚远。
应该如何看待容量的问题呢?首先,从应用的角度,多采用分库、分表的方式来提高数据库OLTP的性能,通常的数据库文件都不是很大,PCIe闪存卡恰好顺应了这样的一种趋势。另外,用户也能够通过增加CPIe闪存卡的数量,多卡应用来满足容量的需求。
据李炫辉介绍,PCIe闪存卡设计有两种趋势,一个是将单卡容量尽可能做大,目前有单卡的容量能够做到10TB;再有就是G-card这种设计思路,单卡容量不是特别大,给用户足够的灵活性。
实际上,这两种设计思路的背后,还有一些技术隐情,集中体现在多卡应用的性能表现。
在多卡应用的过程中,G-card基本实现了处理性能的线性成长。而很多PCIe闪存卡不仅不能够实现线性增长,性能下降明显;而且在很多应用场景下,不能够实现多卡应用。其中的奥秘在于,Flash Translation Layer(FTL,闪存转换层)机制有所不同。所谓FTL非常重要,涉及到数据在NAND存储介质层的存储控制,涉及到地址转换、静态磨损均衡和碎片回收控制等,这对于产品的可靠性和稳定性至关重要。
目前针对FTL有两种机制,一种是主机模式,需要占用应用服务器的CPU资源,这种模式下,多卡应用将占用主机资源,但CPU不堪重负的时候,性能就会急剧下降。另外一种方式,就是所谓设备模式,闪存卡内置FTL处理,不占用如何主机资源,所以才能够做到多卡应用性能的线性增长。
小结
现在正处在一个存储介质转化的跨越式发展的时代,闪存替代磁盘是一个趋势,但在当今阶段,闪存应用有多种不同的尝试,但能够肯定的是,闪存替代磁盘的过程并不是一个闪存盘置换磁盘的简单过程,需要考虑到性能和兼容性等很多因素。
对于全闪存阵列和PCIe闪存卡两种应用方式,没有办法用一个简单的标准进行区分,如全闪存阵列更能够满足企业级对可靠性和稳定性的需求;也不能妄加断言,闪存仅应用在数据库性能加速等少数场合。实际上,现在很多厂商都将闪存定位在主存储的位置上,从技术上来说,闪存也具备了这样的能力。
如何应用好闪存技术,增强企业的核心竞争力,这就需要深入了解相关技术发展,如此才能够结合实际需求,进行最正确的选择。关注闪存,从关注技术开始!