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直连,数据传输时没有了中间转接过程所产生的功耗,也会在一定程度上降低能耗。

NVMe 与 AHCI的更多相关文章

  1. 固态硬盘的PCIE,SATA,M2,NVMe,AHCI分别都指什么?别再搞混了

    原文:https://baijiahao.baidu.com/s?id=1616207956596122967&wfr=spider&for=pc 科技娱乐屋 18-11-0420:5 ...

  2. AHCI vs NVMe

    http://www.hkepc.com/13139 儘管現時有不少高階 SSD 產品改用 PCIe 接口,以突破 SATA 接口的頻寬瓶頸,但控制器設計與 SATA  接口 SSD 一樣,採用老舊的 ...

  3. (转)科普:SATA、PCIe、AHCI、NVMe

    原文链接:https://forum.51nb.com/thread-1670848-1-1.html IT 界总喜欢发明新名词.而且同一个东西,可能有几个不同的名字.同一个名字,又可能指不同的东西. ...

  4. Memory及其controller芯片整体测试方案(下篇)

    {  第三部分  }  DDR总线的设计.调试和验证  在计算机架构中,DDR作为程序运算的动态存储器,面对如高性能计算.图形计算.移动计算.工业应用等领域的要求,发展出DDR4,以及用于图形计算的G ...

  5. SATA、PCIe、AHCI、NVMe

    IT 界总喜欢发明新名词.而且同一个东西,可能有几个不同的名字.同一个名字,又可能指不同的东西. 从物理接口角度来说,我们常见的有IDE(淘汰),SATA,PCIe,M.2(固态硬盘) M.2插槽是有 ...

  6. NVMe概述

    目前企业SSD市场按照接口协议主要分为SATA SSD,PCIe SSD和NVMe SSD,其中SATA SSD沿用了传统的HDD使用的SATA协议,在企业应用和服务器兼容性上具有优势:而PCIe S ...

  7. USB3.0及NVME SSD安装WIN7X64

    USB3.0及NVME SSD安装WIN7X64https://tieba.baidu.com/p/4822034273?pn=1所有的人都是菜鸟过来的,不过有些人懂得自己动手找到答案:有些人则是懒得 ...

  8. NVMe标准规范

    NVMe NVM Express(NVMe),或称非易失性内存主机控制器接口规范(Non-Volatile Memory express),,是一个逻辑设备接口规范.他是与AHCI类似的.基于设备逻辑 ...

  9. [知乎]老狼:UFS VS NVMe

    https://zhuanlan.zhihu.com/p/26652622 最近某手机厂商的闪存门在知乎上被人踢爆,在所谓“爵士水军”和“友商水军”的口水大战中,至少eMMC, UFS等火星名词被广泛 ...

随机推荐

  1. NWERC 2012 Problem J Joint Venture

    刚刚开始想的是用二分的方法做,没想到这个题目这么水,直接暴力就行: 代码: #include<cstdio> #include<algorithm> #define maxn ...

  2. [Android应用]《花界》V1.0 正式版隆重发布!

    http://www.cnblogs.com/qianxudetianxia/archive/2012/04/05/2433669.html 1. 软件说明(1). 花界是一款看花软件:“看花,议花, ...

  3. 练习PYTHON协程之GREENLET

    STACKLESS就算了,了解一下原理即可. GREENLET,GEVENT,EVENTLET这些,比较好测试,还是都 撸一次,得个印象. 测试代码都是网上的大路货. from greenlet im ...

  4. log.isDebugEnabled()的使用

    转自: http://huangxx.iteye.com/blog/190693 在使用log4j,common-log这样的log框架时,发现很多代码中这样写 if   (log.isDebugEn ...

  5. 【Xamarin挖墙脚系列:最重要的布局ListView】

    原文:[Xamarin挖墙脚系列:最重要的布局ListView] 安卓的几个重要的布局 线性布局 相对布局  Table布局 Tab布局  表格Grid布局 列表布局. 这几种基本的布局的方式,最重要 ...

  6. android原生系统裁剪

    Andriod 4.0.4系统包 Andriod 4.1.1系统包 说明   ApplicationsProvider.apk ApplicationsProvider.apk 应用程序存储. 程序管 ...

  7. postMan 使用

    Postman功能(https://www.getpostman.com/features) 主要用于模拟网络请求包 快速创建请求 回放.管理请求 快速设置网络代理 安装 下载地址:https://w ...

  8. 一种Android换肤机制的实现

    http://eastmoneyandroid.github.io/2016/01/22/android-reskin/

  9. 【HDOJ】3487 Play with Chain

    Splay入门题目,区间翻转,区间分割. /* */ #include <iostream> #include <string> #include <map> #i ...

  10. 从零开始学习jQuery

    转自:http://www.cnblogs.com/zhangziqiu/archive/2009/04/30/jQuery-Learn-1.html 本系列文章导航 从零开始学习jQuery (一) ...