NVMe vs AHCI:PCIe的又一次胜利
朱朋博 发表于:14年06月23日 16:59 [翻译] 存储在线
性能的提升从来都不能只依赖硬件,更好的硬件往往用来弥补软件的短板,硬件也需要更多高效的软件来发挥硬件的真正价值。这一道理同样适用于固态硬盘 (SSD)。PCIe的出现,带宽急剧增长,为了充分利用更快的物理接口,我们需要一些专门为SSD和PCIe优化过的软件接口。
高级主机控制器接口(AHCI)的历史可以追溯到2004年,它设计之初面向的是机械硬盘,所以这套东西跟固态硬盘完全不搭调。它针对高延迟的机械磁盘做优化,而不是对低延迟的非易失性存储做优化。AHCI不能完全发挥固态硬盘的优势,又因为以NAND 和MRAM为代表的非易失性存储是大势所趋,所以非常有必要开发一种软件接口来突破AHCI的限制。
于是NVMe顺势而生。NVMe当中,NVM是指非易失性存储,后面的Express简写为e,也可以参考PCIe的e。NVMe的开发由拥有80个成员的业界联盟和包括像Intel, Samsung,和 LSI这样的行业巨头携手推进。NVMe为固态硬盘和PCIe而生,就像软件接口至少可以存在十年,NVMe被行业赋予迎合未来存储技术发展趋势的崇高使命。有消息显示,我们或许会在2020年前看到RRAM 和MRAM涌入市场。
数据来源:Intel
NVMe的一大优势就是低延迟。这主要是因为流线型的存储堆栈,NVMe无需读取寄存器就可以发出命令。AHCI的每个命令都需要读取4个不可缓存寄存器,从而导致大约2.5μs的额外延迟。
另一个重大的改进就是支持多队列和支持更高的队列深度。多队列让CPU的性能得到更好的释放,单核再也不是IOPS的瓶颈了。
来源:微软
企业级市场很明显是NVMe推出之后的最大受益者,如今的高工作负载实在让SATA/AHCI吃不消。消费级市场的影响就没有那么明显了。即使是不太重大的性能改善也可延长电池的使用寿命,NVMe的低延迟使得硬盘工作时间大大缩短,闲置时间的增多也就延长了电池的使用寿命。要是出现更好的队列支持技术,这也必将带来会更卓越的性能。
来源:Intel
NVMe可以把延迟时间缩短为当前100µs的五分之一,这是一个巨大的进步,对日常生活的使用中也会有很大影响。新技术在企业级上的应用总是快人一步,目前也没几个消费级的PCIe固态盘支持NVMe ,Windows和Linux下的NVMe驱动在也已经可以在官网找到,差不多到了各家OEM厂商发布各种SSD的时候了。