什么是NVMe

因为NVMe的出现,硬盘的性能得到了极大的提升 。这个极大是多少呢?读带宽从500MB/s提高到了3200MB/s,写带宽从400MB/s提高到了1200MB/s左右 。而读IOPS则达到了50万,甚至更高 。也就是说,现在一块基于NVMe的SSD硬盘的性能比一个企业级磁盘阵列还要好 。
牛皮吹了这么多,那到底什么是NVMe呢?NVMe的全称是Non-Volatile Memory Express,如果翻译过来就是非易失性内存主机控制器接口规范 。你可能还是一头雾水,那我们上搜索引擎搜索一下这个关键词,可能会得到如下图片 。
 

什么是NVMe

文章插图
图1 NVMe存储
废话说了半天,到底什么是NVMe呢?首先它是一种接口规范,其次它是用于存储设备的接口规范 。准确的说是目前最新的存储设备通信协议 。这个协议就好比SAS和SATA一样,用于定义硬件接口和传输协议 。
关于存储的几个概念为了彻底搞清楚什么是NVMe,我们先理清楚几个关于存储的概念 。
【什么是NVMe】尺寸外形:也就是设备的形状和大小,通常存储设备的尺寸外形包括如下:
  • 2.5寸或者3.5寸驱动器(在SFF标准中定义)
  • M.2 和 PCI Express(PCIe)(在PCI-SIG标准中定义)
接口:也就是设备如何与计算机通信 。常见的存储设备接口包括:
  • SATA接口,通常用于2.5寸和3.5寸硬盘,有时候一些M.2设备也会使用
  • PCI Express(PCIe)接口, 用于M.2和PCIe设备
  • SAS(串行SCSI)和FC(Fibre Channel)接口,仅用于服务器领域和数据中心
  • PCIe接口要比SATA接口快的多,SATA3最大带宽是6Gb/s,而基于4X PCIe的M.2接口最大可以达到32Gb/s 。
协议:定义了如何在计算机与设备之间传输数据 。常见的协议包括:
  • 用于SATA接口的AHCI或者ATA协议,
  • 用于PCIe接口的NVMe协议
到这里我们应该比较清晰了,NVMe是运行在某种接口上的通信协议,用于规范计算机与存储设备的数据传输 。上述设备尺寸、接口和协议通常是可以组合的 。下面是常见的集中组合形式 。
  • 一个2.5寸SSD硬盘,基于SATA接口,通信协议是AHCI或者ATA 。具体设备大概如图2所示 。
 
什么是NVMe

文章插图
图2 SATA接口的SSD
  • 一个M.2的SSD, 基于PCIe接口,通信协议是NVMe 。具体设备大概如图3所示 。

什么是NVMe

文章插图
图3 M.2的SSD
  • 一个PCIe的SSD,基于PCIe接口,通信协议是NVMe 。具体设备大概如图4所示 。

什么是NVMe

文章插图
图4 PCIe的SSD
这里只是给出了几个具体的例子,便于大家理解接口、设备和协议的关系 。具体来说,还有其它很多种组合形式,本文不在赘述 。
为什么NVMe会这么快上面我们介绍了什么是NVMe,下面本文将介绍一下为什么NVMe如此之快(


    推荐阅读