翻译一下,纯粹是为了记住这些特性:

NVMe provides the following benefits:
● Ultra-low latency 非常低的延迟
● Very high throughput 非常高的吞吐量
● Low power architecture, delivering lower power consumption and resulting in a lower Total Cost of Ownership and reduced carbon footprint 低功耗设计,提供更低的TCO以及碳消耗(扯得有点远,不过有道理,谁让节能减排是主流呢)
● Reduced gate count 减少了门数(什么意思?难道是数据流层数减少了?)
● Cost reduction and shorter time to market through use of a standardized interface 降低成本,且更快地切入市场
● Reliable performance across multiple cores enabling quick access to critical data 性能可靠,支持多核模式,保证更快地获取关键信息
● An optimized register interface and command set that reduces CPU utilization resulting in higher performance and lower power 优化了寄存器接口和指令集设计,降低了CPU处理的复杂度,显著提高性能,降低功耗
● Scalability with headroom for current and future NVM performance 为现在和将来提供了可拓展空间(狡兔三窟)
● End-to-end data protection capabilities and support for standard security protocols, such as Trusted Computing Group 端到端数据保护,支持标准安全协议,如TCG (背靠大树)
● Seamless integration into multiple operating system environments with standard open driver interfaces 使用标准开源的驱动接口,可以无缝整合到多操作系统的环境中

NVMe - Architected for Performance 为性能而生
• No practical limit on number of outstanding requests 对请求数量基本没有限制
 Up to 64K I/O queues each with up to 64K entries 高达64K个Queue,每个Queue高达64K个Command
 32-bit controller unique command identifier (16-bit Queue ID + 16 Command ID) allows up to 232 outstanding commands ?
• Supports many-core processors without locking 支持多核,无锁设计
 Each processor may be configured with its own submission/completion queues and MSI-X interrupt 每个核可以被单独配置,拥有自己的submission和completion queues以及MSI-X中断
• At most one doorbell write to issue a command 一个Doorbell就可以触发命令执行
 Multiple commands may be issued with a single doorbell write 多个命令使用一个Doorbell就可以触发执行
• Streamlined NVM command set avoids burdening controller with legacy command support requirements 流水线式的设计,降低控制器的压力
• Fixed size 64B commands and 16B completions enable fast and efficient command decode and execution 命令的大小固定,解码执行更快更高效
 Commands contain 2 PRPs allowing 4KB or 8KB reads and writes be processed without fetching any additional information (e.g., scatter/gather list) 命令包含了2个PRP,支持4KB和8KB的连续顺畅读写
• PRP based scatter/gather list allow efficient out-of-order data delivery  PRP支持高效的乱序数据传输

NVMe Standardized Features
• Logical block data and metadata 逻辑块数据和元数据
• End-to-end data protection (T10 DIF and DIX compatible) 端到端保护
• Security (Trusted Computing Group collaboration) 安全
• Submission queue arbitration and QoS 服务质量保证
• Firmware update and activation 固件更新、激活
• Dynamic power management 动态电源管理
• Robust error reporting 高大威猛的报错机制
• Interrupt coalescing configuration/control 中断联合配置、控制
• Capability discovery and configuration 容量检测和配置

正所谓

早生晚生不重要,出身高贵乃正道

倘若不服你来辨,性能好到你出汗

NVMe - NB的特性的更多相关文章

  1. Unity3D使用经验总结 缺点篇

    不论是从官方手册,还是各种第三方教程,几乎涉及到的,都是讲如何使用U3D,以及U3D的优点. 虽然我是用的一个让步语气,但请不要否认U3D的这些优点,它们的确存在. 但对于一个引擎的特性来说,优点与缺 ...

  2. 啥时候js单元测试变的重要起来?

    作为一个菜鸟,开这个专栏其实不合适,但又突然发现这个比以往任何时候都重要,所以还是写写我的感受 首先,在传统的pc上也有大量的web站点和各种项目都有复杂的js,但是基本不做单元测试,为啥呢?因为传统 ...

  3. Service Fabric是什么?

    题记:鉴于社区对Service Fabric有诸多误解,希望借本文能让大家正确了解Service Fabric是一个什么东西,算是给其正名. 术语与分类 Service Fabric不仅仅是容器编排器 ...

  4. Docker最全教程——从理论到实战(一)

    容器是应用走向云端之后必然的发展趋势,因此笔者非常乐于和大家分享我们这段时间对容器的理解.心得和实践. 本篇教程持续编写了2个星期左右,只是为了大家更好地了解.理解和消化这个技术,能够搭上这波车. 你 ...

  5. 驳2B文 "我为什么放弃Go语言"

      此篇文章流传甚广, 其实里面没啥干货, 而且里面很多观点是有问题的. 这个文章在 golang-china 很早就讨论过了. 最近因为 Rust 1.0 和 1.1 的发布, 导致这个文章又出来毒 ...

  6. Docker最全教程---从理论到实战

    目录 前言 随着生产力的发展尤其是弹性架构的广泛应用(比如微服务),许多一流开发者都将应用托管到了应用容器上,比如Google.微软.亚马逊.腾讯.阿里.京东和新浪. 从未来的发展方向来看,容器引擎将 ...

  7. Docker-原理解析

    容器! Linux容器是与系统其他部分隔离开的一系列进程,从另一个镜像运行,并由该镜像提供支持进程所需的全部文件.容器提供的镜像包含了应用的所有依赖项,因而在从开发到测试再到生产的整个过程中,它都具有 ...

  8. NB-IoT四大关键特性及实现告诉你,为啥NB

    摘要:NB- IoT 网络是基于4G网络演进过来的,所以它在上行和下行的复用技术上还是沿用了4G的OFDMA和SC-FDMA. 本文分享自华为云社区<一文了解NB-IoT四大关键特性以及实现技术 ...

  9. spider RPC框架的需求来源与特性介绍(一)

    spider RPC 特性介绍 spider RPC 性能测试 spider RPC 入门指南 spider RPC 配置文件参考 spider RPC 开发指南 spider RPC 安全性 spi ...

随机推荐

  1. CentOS7离线安装Mysql(详细安装过程)

    Mysql安装 下载mysql离线安装包 https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.27-1.el7.x86_64.rpm-bundle ...

  2. Java链表设计

    链表 1,链表的实现 在实际开发之中对象数组是一项非常实用的技术,并且利用其可以描述出“多”方的概念,例如:一个人有多本书,则在人的类里面一定要提供有一个对象数组保存书的信息,但是传统的对象数组依赖于 ...

  3. MQTTnet 3.0.5学习笔记

    段时间在使用MQTTnet,都说这个东西比较好,可是翻了翻网上没有例子给参考一下. 今天算是找到了,给高手的帖子做个宣传吧. 原网址如下:https://blog.csdn.net/chenlu520 ...

  4. js中new到底做了什么?

    1.创建一个新的obj; 2.让obj_proto_=Func.prototype; 3.Func.call(obj);

  5. buffer 与 cache 的区别

    Buffer 和 Cache buffer 和 cache 同样作为缓存,他们之间有什么区别呢? 简单来说,buffer 是即将要写入磁盘的缓存,而 cache 是从磁盘中读出来放到缓存的 参考来自: ...

  6. MySQL5.6.11安装步骤(Windows7 64位)

    1. 下载MySQL Community Server 5.6.21,注意选择系统类型(32位/64位) 2. 解压MySQL压缩包 将以下载的MySQL压缩包解压到自定义目录下. 3. 添加环境变量 ...

  7. [Vuex系列] - Module的用法(终篇)

    于使用单一状态树,应用的所有状态会集中到一个比较大的对象.当应用变得非常复杂时,store 对象就有可能变得相当臃肿.为了解决以上问题,Vuex 允许我们将 store 分割成模块(module).每 ...

  8. 【转载】salesforce 零基础开发入门学习(二)变量基础知识,集合,表达式,流程控制语句

    salesforce 零基础开发入门学习(二)变量基础知识,集合,表达式,流程控制语句 salesforce如果简单的说可以大概分成两个部分:Apex,VisualForce Page. 其中Apex ...

  9. 【Struts2】Json插件使用

    一.使用步骤 1.1 引入依赖 1.2 在struts.xml文件中配置 一.使用步骤 1.1 引入依赖 <!-- https://mvnrepository.com/artifact/org. ...

  10. Linux命令——gzip、zcat、bzip2、bzcat、tar

    参考:Linux命令——ar 为什么文件要压缩? 当文件过大时,无论是本地做备份,复制都很麻烦,而且还浪费磁盘空间.如果用网络传输,大文件无疑会浪费大量宝贵带宽.文件压缩技术可以有效解决这个问题,但是 ...