从结绳记事,到甲骨文、竹简、纸张,再到如今的硬盘、U盘乃至固态盘(SSD),可以说人类存储信息方式一直伴随着人类文明的发展。信息存储方式的每次革新都会让人类历史文明进入到一个新的阶段。而人类文明的发展让信息数据激增,同时也促进了存储方式的进一步创新和发展。
如今,经过多年的打磨,SSD替代传统机械硬盘(HDD)已经成为业界共识。但SSD的发展也不是一蹴而就,而是经过不断的迭代升级,才保持了出色的竞争力。
SSD:摩尔定律的“存储信徒”
如今的计算机体系虽然经历了数十年的快速发展,在摩尔定律的指引下不断迭代,提高性能的同时降低成本,架构和指令集多次切换融合,但总的发展依然是脱胎于上个世纪的冯·诺依曼(Von Neumann)计算技术架构以及0101(二进制)的计算和存储方式。
存储介质不仅衍生出纸带、磁带、磁盘、光盘以及固态(Solid State)存储等多种类型,也针对不同客户需求分化出消费级和企业级两大市场。
NAND闪存的结构和生产过程和CPU、内存等半导体器件有很大共性,所以(基于NAND闪存的)SSD可以受益于摩尔定律带来的半导体集成度的提升和成本降低,能够满足计算对存储性能不断提高的要求。
SATA:见证从HDD向SSD的过渡企业级存储介质的发展其实非常早,已经有将近100年的发展和传承。
1956年第一款商用的硬盘就是继承了1928年发明的磁带的磁存储方式。在上世纪80年代闪存(Flash)被发明以后的相当长一段时间,硬盘是市场上主流的存储介质,所以SSD必须考虑对基于硬盘的生态的兼容性。
为了提升SSD的兼容性,硬盘数据划分的扇区、LBA等概念都被SSD所“继承“,而硬盘(当时)主流的SATA接口也顺理成章的被保留了下来。
与SATA接口相伴的是硬盘的标准外形。当SSD进入市场的时候,多数SSD选择了硬盘外形的”最大公约数”——2.5英寸,可以兼容几乎所有的使用环境,从服务器到台式机,乃至笔记本电脑。
可以说,已经高度普及的SATA接口和兼容性超强的2.5英寸外形,让SSD迅速无障碍地融入了各式计算机的生态系统当中。不论是在操作系统层面,还是在物理规格层面,硬盘到SSD的变化都是透明的。这种无缝衔接显然有助于用户更顺利地转向SSD。
兼容HDD建立的接口(SATA/SAS)和规格(Form Factor)生态,是让SSD迅速进入市场,被用户快速接受的最佳手段。
NVMe:SSD走出自己的高速路值得注意的是,SSD还有另一种形态就是扩展卡(AIC,add in card),通过标准PCIe扩展插槽安装在主板上。早期,多见于一些基于SLC的高性能SSD,作为HDD的加速缓存而存在。
插在主板PCIe扩展槽上的扩展卡形态PCIe SSD,外形符合标准的PCIe Add-in Card,由PCI Express Card Electromechanical(PCI-CEM)规范定义。除此之外,PCIe接口的SSD还有2.5英寸外形(如U.2接口),口香糖大小的M.2,以及正在进入市场的EDSFF等多种形态,后续会有专文介绍。
图注:2020年10月SK海力士*与英特尔 *签订协议,收购后者的NAND 和固态硬盘(SSD)业务,并在2021年正式成立独立子公司 Solidigm随着SSD的性能不断提高,越来越多的人感觉到,不仅SATA接口带宽拖后腿,机械硬盘时代设计的AHCI协议也开始不适应低延时的SSD。
2009年,英特尔*作为牵头人,组织行业内90多个企业,包括三星*、美光*、戴尔*、Marvell* 、NetApp*、EMC*、IDT*等,成立了NVMe工作组,为SSD量身定制新的标准,期望将SSD从带宽演进缓慢的SATA接口与低效的AHCI协议中解放出来。
2011年,NVMe标准正式出炉,2012年更新到NVMe 1.1,2014年发展到NVME 1.2。现在主流SSD支持的NVMe 1.3和1.4分别于2017年和2019年发布。NVMe 2.0 已于 2021 年 6 月发布,并在2022年1月更新至2.0b,从版本号的大跨步可以知道,NVMe经过逾十年的发展,迎来脱胎换骨般的变化。
NVMe全称Non-Volatile Memory Express,即非易失性存储器标准,从名字看就是为闪存为代表的固态存储器定制的。NVMe的设计还充分利用了PCIe接口通道的低延时以及并行性。AHCI诞生于高延时、低带宽的机械硬盘时代,其控制器通过PCH与CPU通讯,硬件上就会增加延时,而NVMe允许SSD通过PCIe直连CPU,进一步降低延时。
除了大幅进步的高带宽、低延时,较新版本的NVMe在并发性能、QoS、可管理性等方面不断完善。随着SSD容量和并发访问量多年来指数级的快速增长,早期NVMe的一些设计也会成为瓶颈,最新的NVMe 2.0也做了一些根本性的底层改进以提升效率,可以降低SSD的写入放大系数、减少对缓存的容量需求、提升应用程序对控制器的访问效率等等。
从SATA接口+AHCI转换为PCIe接口+NVMe,极大地释放了SSD的性能潜力,使其成为英特尔至强E5 v2*及以后的服务器平台最匹配的存储设备。
NVMe与2.5英寸相结合,就诞生了我们今天广为使用的U.2 SSD。它继承了企业级2.5英寸的尺寸规格,使得机箱无需做大的改动就可以从2.5英寸的SATA转变成NVMe;还支持热插拔,比AIC形态的SSD更便于维护和管理。
NVMe SSD的六大技术优势
首先,接口速度更快。依托于PCIe接口的NVMe,进入PCIe4.0时代后,接口带宽比PCIe 3.0增加1倍。英特尔*2023年要推出的Eagle Stream平台将开始支持PCIe 5.0,NVMe SSD将随之进入PCIe 5.0的时代,这次迭代将使得NVMe SSD的接口速度提升至SATA SSD接口速度的26倍;而时间跨度只有短短的数年,这个增长速度将远远大于摩尔定律的传统迭代速度,将过去十年发展速度过慢造成的存储和计算间的巨大性能鸿沟几近填平。
其次,管理性、功能性更好。从协议本身来看,NVMe协议在管理性,功能性上也在快速迭代,以适应现代化的数据中心对计算存储和分布式存储的要求,协议的发展速度甚至超过了SSD厂家开发产品的速度。使得基于新协议的SSD更智能,数据安全更有保障,形态也更多样化。让NVMe协议以及基于NVMe协议的设备有了更多创新的机会。
第三,单位容量 (每GB或每TB)性能更好,随着SSD的容量越来越大,其存储的数据越来越多,使得同一个SSD服务的实例数量也越来越多,这样带来一个问题,每个实例对SSD都有性能要求的情况下,每实例或者每GB的性能要求也就越来越高。因为NVMe SSD随PCIe不断迭代,正在从PCIe 3.0过渡到PCIe 4.0,又会迅速迎来PCIe 5.0,这将使得单位容量的性能可以保持一个较高的水平。
第四,延迟更低。从HDD到SSD最大的延迟变化是介质带来的,也就是电子的NAND要比机械的硬盘反应快得多。而SATA到NVMe则在协议本身做了相当多的优化,从而使得基于NVMe协议的SSD反应要比基于AHCI协议的SSD要快。延迟对于当今的企业级存储将变得越来越重要,例如,我们希望刷视频的时候点到就能播放,希望语音聊天或者视频聊天的时候完全没有卡顿,这些都与存储延时有相当大的关系。
第五,I/O效率更高。相比基于SATA SSD的存储系统,NVMe的SSD系统单核可以达到的性能更高,而同时NVMe SSD支持随机多路并发读写,比如一台搭配NVMe SSD的存储服务器能做的工作需要若干台SATA SSD存储服务器才能达到。这样算下来基于NVMe SSD的存储服务器TCO更好。
最后,存储搭配更加灵活。从存储搭配的灵活度来看,因为SATA 接口在速度达到600MB/s之后不再发展,使得目前SSD的不同介质在SATA接口面前变得没有区别,甚至傲腾*SSD做成SATA接口也无法体现出来它的介质优势。而NVMe的上限就高得多且在继续提高,因为介质访问速度的不同,可以将不同介质的NVMe SSD进行快慢搭配,以满足不同形态下存储的多样化需求。
同时,PCIe的不断迭代,又给NVMe形态带来了新的挑战,例如功耗,散热,存储密度等等。而创新的NVMe SSD形态就能完美的解决这些问题,例如EDSSF 可以解决散热问题而平衡高密度和散热。NVMe SSD的形态将会比SATA SSD的形态多很多,这就给创新带来了机会,也大大提升了SSD的适配性,更好地满足不同应用场景的需求。