什么是NVMe ?一篇文章理清它的前生今世

  

     【IT168编译】NVMe是非易失性内存表达(非易失性内存主机控制器接口规范)的简称,它是一种协议,能够使固态硬盘(SSD)运行得更快,如今在企业用户中已越来越流行。   

  

  理解什么是NVMe的最简单的方法就是打个比方——假设你刚买了一辆跑的车,速度能达到400公里每小时,是你以前那辆老汽车的3到4倍。唯一的问题是,普通的道路是无法允许以这样的速度行驶的,而且一般城市道路限速几十公里每小时,往往还得考虑车流的问题。如果你想要让跑车更快,就需要换一条路开。   

  

  这个场景有点像制造商推出基于闪存技术的SSD之后,存储行业的情况。闪存技术比传统机械硬盘快很多倍(快多少倍取决于你使用的设备),但是早期的设备都使用与硬盘驱动器相同的SATA或SAS连接到系统和网络。虽然这些接口对于硬盘驱动器(HDD)所能提供的性能来说已经足够了,但是它们为SSD带来了瓶颈。这对于企业大数据分析和其他数据密集型工作负载来说,尤其是个问题。   

  

  这些性能问题促使人们寻找更好的方式将SSD连接到服务器,这正NVMe的用武之地。   

  

     <强>   1,什么是NVMe吗?      

  

  NVMe协议标准由NVM表达公司监管,这是一个由100多个组织组成的联盟,这些组织致力于开发更快的协议以提高非易失性存储的性能。该组织由一个13家公司组成的董事会领导,其中包括Cavium,思科,戴尔EMC, Facebook,英特尔,微米,Microsemi,微软,NetApp,三星,希捷,东芝内存和西方的数字。   

  

     什么是NVMe ?一篇文章理清它的前生今世”>
  
  </p>
  <p>
  <em>
  硬盘能达到的最高理论速度,与SATA, NVMe最高提供的理论速度对比
  </em>
  </p>
  <p>
  NVMe的官方定义将其描述为“一个开放的标准和信息集合,以充分释放非易失性存储在从移动端到数据中心的所有类型的计算环境中能够提供的优势.NVMe从底层开始设计,为当前和未来的NVM技术提供高带宽和低延迟存储访问。”
  </p>
  <p>
  NVMe是通过PCI Express总线将存储连接到服务器的接口规范,简单来说就是,使SSD与主机系统通信的速度更快。它有助于缓解闪存通过最初为硬盘设计的SAS或SATA连接到系统时出现的瓶颈。
  </p>
  <p>
  
  <强>
  2,NVMe的速度远远快于萨塔或SAS
  </强>
  </p>
  <p>
  NVMe控制器通过几种不同的方式提高性能。一种是使用作为PCIe总线,它将存储直接连接到系统CPU。这种直接连接消除了SATA的一些必要步骤,并提高了整体性能。
  </p>
  <p>
  此外,NVMe SSD在很大程度上实现了并行性,极大地提高了吞吐量。当数据从存储传输到服务器主机时,它会进入一行或队列。传统的SATA连接只能支持一个队列,一次只能接收32条数据。再回到车的类比上,这就像只有一条车道的车流可以容纳32辆车。
  </p>
  <p>
  而NVMe存储支持最多64000个队列,每个队列有64000个条目。换句话说,这就像从一条单行道走到一条6.4万车道的路上,每条车道都能容纳6.4万辆汽车,这对整体表现产生了巨大的影响。
  </p>
  <p>
  正如我们的类比中说城市道路一般限速在几十公里每小时一样,SATA和SAS连接也有速度限制。对于萨塔理论最大传输速度为6.0 Gbps(在实践中,最大传输速度要低得多)。这就相当于给SATA SSD的运行速度设定了上限。超过一定限度,使用再快的闪存对系统的整体性能没有影响,因为SATA连接会造成瓶颈。
  </p>
  <p>
  对于大多数消费者来说,SATA SSD提供了足够的性能来完成日常工作,而且由于SATA SSD比NVMe SSD便宜,大多数消费者级别的固态存储仍然使用SATA接口。
  </p>
  <p>
  然而,企业处理的数据通常比消费者多得多,对他们来说,萨塔连接带来的延迟可能会成为一个问题。
  </p>
  <p>
  
  <img src=什么是NVMe ?一篇文章理清它的前生今世