浪潮信息企业级SSD:降本又增效?AIPR技术解决高并发读取性能大问题
NAND闪存作为一种非易失性存储介质,凭借其功耗低、重量轻、性能佳和断电后仍然能保存数据等特点,成为比硬盘驱动器更好的存储设备,非常适合作为便携设备的存储器来使用。
固态硬盘(Solid State Disk,简称SSD)是以NAND闪存介质为主的一种存储产品。近年来,由于SSD的低功耗、高性能、稳定安全等优点,使其越来越受到客户的青睐,SSD也逐渐大量应用于IT运维、金融等行业。
(资料图片)
性能vs成本,SSD如何兼得?
一个NAND闪存芯片封装了若干个DIE(或者叫LUN),由于NAND闪存介质技术的发展,其层数不断增加,单个DIE的容量也不断增大,对于相同容量的SSD而言,所需DIE的个数会随之减少。带来的好处是,SSD单位容量的成本和价格不断降低,利好用户的同时也有利于扩大SSD的使用范围。但与此同时,DIE个数的减少又会导致NAND读取的并发度减少,读性能也会因此而降低。面对用户日益提高的性能需求,这一缺点又会限制SSD使用范围的扩大。
通俗来讲,SSD可以理解为一个需要接纳一定数量居民的社区,NAND闪存芯片相当于其中一个小区,DIE相当于这个小区里的楼栋,Plane(平面)可以理解成这栋楼每个楼层的门户,每个Plane又分成很多Block(块),Block则相当于每一户里的房间数,Page(页)相当于一个房间里(Block)的人数,而并发度可以理解为楼栋里的电梯,受Bus总线的限制,电梯一次只能载一个人。因为建造技术的发展,每栋楼(DIE)可以由原来的8层楼建造成16层楼,即每栋楼较之前可以多接纳一倍的居民,在接纳居民数量一定的情况下(相同容量的SSD),楼栋(DIE)的数量则可以减少一半,土地和建造成本则有所减少,房价也会相对比较便宜些,因此会受到购房者的欢迎。但由于每栋楼(DIE)只有一个电梯(并发度),电梯数也随着楼栋的数量减少而减少一半,对于居民来说,出行效率则大大降低,因此又会抑制购房者的购买意愿。
为了降低这种问题带来的影响,SSD厂商提出如通过提高电梯的运行频率来加快电梯的传输速率,或由楼管通知同一楼层的人同时准备好出门去电梯口排队乘用电梯等解决办法。
当前SSD基本采用Multi-plane(多面)的设计(主流使用4-plane设计,相当于一个楼层有4户,4户共用一个电梯,即“一梯四户”)。随着技术发展,读方式由开始的Single-plane read(Single-plane读)发展为Multi-plane read(Multi-plane读),即从一开始的一次只能通知一户中的房间里的1个人准备出门再去乘电梯,发展成同一楼层四户房间里的4个人同时准备出门去排队乘用电梯。
此技术对顺序读性能有很大提升,但对随机读性能的提升却乏善可陈,因为顺序读时,好比是楼管按顺序坐电梯去每个楼层通知居民准备出门,每次同一楼层的人都可以同时准备出门,大大缩短了准备出门的时间;但当随机读时,相当于楼管要先后去不同楼层去通知指定门户房间的人出门,只能让先准备好的人先乘用,等前面的一个人乘用完,才能让另外楼层的人乘用,这和Single-plane读区别不大。
为了在高顺序读性能的前提下提升随机读性能,异步独立平面读取(Asynchronous Independent Plane Read,简称AIPR)功能应运而生。
AIPR功能旨在提高随机读取IOPS,随机读时,通过AIPR功能可以增高并发度,提高数据传输总线的利用率,从而来提高随机读性能。即在楼栋内增加电梯数,在每一列户门口都装一个专属电梯,虽然受Bus总线的限制,楼栋内同一个时间只能用一个电梯,但楼管能在通知完一个楼层的人准备出行后,马上坐电梯去通知另一楼层的其他列住户准备出门,每一列户出门准备时间并行,一旦准备好,即可乘用门口的电梯,提高了电梯传输的利用率,从而提高出行效率。
下文通过介绍上述三种读方式的演进和对比,来介绍AIPR的优势:
1、Single-plane read
Single-plane read,即一次只读取一个plane中的位置,示意图见下图1中Single-plane read。以4-plane TLC block为例(下文同),因DIE为并发度单位,由于tR(读操作时间)的存在,此时读完4个plane需要经过4个tR时间,所有读操作和数据传输串行,读时延较长且性能较低。为放松此限制,引入了Multi-plane read。
2、Multi-plane read
Multi-plane read,即可以同时读取多个plane中的位置,如下图2中Multi-plane read。对Multi-plane read来说,所有plane的读取操作同时开始,而且每个plane中读取的位置要求相同。虽然仍是以DIE为并发度单位,但此方式较于Single-plane read,读操作时间并行,大大缩短了读时延、提高了顺序读性能。
这种方法对于提升顺序读速度很有效,但对于随机读而言,Multi-plane read相对Single-plane read而言几乎一致。现在为进一步提高随机读性能,提出将并发度单位由DIE改成plane,便引入了AIPR功能。
3、AIPR
AIPR功能开启后,不同plane的读取操作的时序和位置完全独立,即不同plane可进行异步且独立的操作(如图1或图2中的AIPR)。通过AIPR,每个plane的读取操作可以独立启动。Data out command(数据输出命令)也可以在每个plane的读取操作结束后独立启动。
当进行随机读时,AIPR的并发度是Single-plane read的4倍(以4-plane为例),并且进行数据传输时,AIPR方式的数据传输总线利用率更高,对小容量盘的随机读性能提升更明显,如图1,可发现AIPR功能有明显的性能优势。