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

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. 103 保序回归 isotonic regression

    103 保序回归 isotonic regression 2016-03-30 11:25:27 bea_tree 阅读数 6895   版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权 ...

  2. Nginx Too many open files

    2019/07/25 08:31:31 [crit] 15929#15929: accept4() failed (24: Too many open files) 2019/07/25 08:31: ...

  3. JQuery攻略读书笔记---第2章 数组

      2 数组2.8 创建对象数组循环数组2.9 数组排序 2 数组 2.8 创建对象数组 //数组化对象 var student =[ { "role":101, "na ...

  4. Go 代码风格和规范

    Go 语言写起来类似于C语言,因此熟悉C语言及其派生语言(C++.C#.Objective-C 等)的人都会迅速熟悉这门语言 编码风格 标识符命名规范 在习惯上,Go语言程序员推荐使用驼峰式命名,当名 ...

  5. A*算法与8数字谜题(参见《算法》P226习题2.5.32)

    A*算法的目的是找到一条从起始状态到最终状态的最短路径. 在A*算法中,需要在每个点计算启发函数:f(S) = g(S) + h(S),其中g(S)是从起点到S点的距离,h(S)是对从S点到终点的最短 ...

  6. Go 方法使用

    方法的定义 在 Go 语言里,方法和函数只差了一个,那就是方法在 func 和标识符之间多了一个参数. type user struct { name string, email string, } ...

  7. js 实现复制功能的四种方式的优劣对比

    今日网上浏览别人项目,看到有人用了document.execCommand这个属性,于是想起之前我选用Clipboard.js 来实现.对于这种不常用的属性还是不太放心,于是随手查了下关于复制的资料, ...

  8. docker的学习2

    docker基本命令: run 创建一个新的容器并运行一个新的命令 -a stdin: 指定标准输入输出内容类型,可选 STDIN/STDOUT/STDERR 三项: -d: 后台运行容器,并返回容器 ...

  9. c# Format() 方法

  10. mongodb的基本操作之数据创建索引

    在数据量较少时,不使用索引,查询是很快的,但是在数据量较大时,查询将会变得非常缓慢,在mongodb中 查看索引 > db.test_collection.getIndexes() [ { &q ...