zoukankan      html  css  js  c++  java
  • NVMe 与 AHCI

    http://elf8848.iteye.com/blog/1731274

    AHCI: NCQ技术,600MB/S,一个队列,每个队列32个指令

    NVME:65000个队列,每个队列65000指令,3.2GB/S

    NVMe是什么?

      2011年时,Non-Volatile Memory Express 非易失性存储器标准即NVMe规范正式出炉,这是专门针对NVND闪存和下一代存储设备所提出的规范。它基于闪存的特点而研发,其目的是尽可能缩小存储系统和内存带宽之间的差距。企业级SSD上已经很多产品采用NVMe规范,不过消费级产品普及要慢一些,目前最新标准是NVMe 1.2。

     

    NVMe的优势?

    (1)更低的延时:

      造成硬盘存储时延迟的三大因素,存储介质本身、控制器以及软件接口标准。由上图可以发现,比起AHCI,NVMe可以大幅度降低控制器和软件接口部分的延迟,原因有以下两个:

      NVMe面向的是PCIe SSD,原生PCIe主控与CPU直接相连,而不是传统方式,通过南桥控制器中转,再连接CPU(当然,如果设备是接入到南桥提供的PCIe接口上,那么这部分的延迟也不会降低多少);

      NVMe精简了调用方式,执行命令时不需要读取寄存器;而AHCI每条命令则需要读取4次寄存器,一共会消耗8000次CPU循环,从而造成2.5μs的延迟。

    (2)更高的传输性能

      NVMe的另一个重点则是提高SSD的IOPS(每秒读写次数)性能。如果我们有详细了解过SSD的主控参数,应该知道会有队列深度这个参数。理论上,IOPS=队列深度/ IO延迟,故IOPS的性能,与队列深度有较大的关系(但IOPS并不与队列深度成正比,因为实际应用中,随着队列深度的增大,IO延迟也会提高)。市面上性能不错的SATA接口SSD,在队列深度上都可以达到32,然而这也是AHCI所能做到的极限。但目前高端的企业级PCIe SSD,其队列深度可能要达到128,甚至是256才能够发挥出最高的IOPS性能。而NVMe标准下,最大的队列深度可达64000。此外,NVMe的队列数量也从AHCI的1,提高了64000。

    (3)更低的功耗控制


    更低的能耗管理

       NVMe加入了自动功耗状态切换和动态能耗管理功能,如图例所示,设备从能耗状态0闲置50ms后可以迅速切换到能耗状态1,在500ms闲置后又会进入能耗更低的状态2。虽然切换能耗状态会产生短暂延迟,但闲置时这两种状态下的功耗可以控制在非常低的水平,因此在能耗管理上,相比起主流的SATA接口SSD拥有较大优势,这一点对增加笔记本电脑等移动设备的续航尤其有帮助。另外,因为原生PCIe可以与CPU直连,数据传输时没有了中间转接过程所产生的功耗,也会在一定程度上降低能耗。

  • 相关阅读:
    js 基于可视区域 创建展示区域对应的经纬度二维数组
    主要看思路:区域数据去重 + JavaScript一次性展示几万条数据实例代码
    推荐js库: underscore
    开博缘由 , 可点下看看 http://www.cnblogs.com/jshare
    php--sphinx的使用
    php--validate表单验证实例
    php--validate错误信息提示样式
    php--yii框架中的ajax分页与yii框架自带的分页
    php--jquery操作全选、批量删除、加减行
    php--yii2.0框架的curl
  • 原文地址:https://www.cnblogs.com/zengkefu/p/5634345.html
Copyright © 2011-2022 走看看