NVMe - NB的特性
翻译一下,纯粹是为了记住这些特性:
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的特性的更多相关文章
- Unity3D使用经验总结 缺点篇
不论是从官方手册,还是各种第三方教程,几乎涉及到的,都是讲如何使用U3D,以及U3D的优点. 虽然我是用的一个让步语气,但请不要否认U3D的这些优点,它们的确存在. 但对于一个引擎的特性来说,优点与缺 ...
- 啥时候js单元测试变的重要起来?
作为一个菜鸟,开这个专栏其实不合适,但又突然发现这个比以往任何时候都重要,所以还是写写我的感受 首先,在传统的pc上也有大量的web站点和各种项目都有复杂的js,但是基本不做单元测试,为啥呢?因为传统 ...
- Service Fabric是什么?
题记:鉴于社区对Service Fabric有诸多误解,希望借本文能让大家正确了解Service Fabric是一个什么东西,算是给其正名. 术语与分类 Service Fabric不仅仅是容器编排器 ...
- Docker最全教程——从理论到实战(一)
容器是应用走向云端之后必然的发展趋势,因此笔者非常乐于和大家分享我们这段时间对容器的理解.心得和实践. 本篇教程持续编写了2个星期左右,只是为了大家更好地了解.理解和消化这个技术,能够搭上这波车. 你 ...
- 驳2B文 "我为什么放弃Go语言"
此篇文章流传甚广, 其实里面没啥干货, 而且里面很多观点是有问题的. 这个文章在 golang-china 很早就讨论过了. 最近因为 Rust 1.0 和 1.1 的发布, 导致这个文章又出来毒 ...
- Docker最全教程---从理论到实战
目录 前言 随着生产力的发展尤其是弹性架构的广泛应用(比如微服务),许多一流开发者都将应用托管到了应用容器上,比如Google.微软.亚马逊.腾讯.阿里.京东和新浪. 从未来的发展方向来看,容器引擎将 ...
- Docker-原理解析
容器! Linux容器是与系统其他部分隔离开的一系列进程,从另一个镜像运行,并由该镜像提供支持进程所需的全部文件.容器提供的镜像包含了应用的所有依赖项,因而在从开发到测试再到生产的整个过程中,它都具有 ...
- NB-IoT四大关键特性及实现告诉你,为啥NB
摘要:NB- IoT 网络是基于4G网络演进过来的,所以它在上行和下行的复用技术上还是沿用了4G的OFDMA和SC-FDMA. 本文分享自华为云社区<一文了解NB-IoT四大关键特性以及实现技术 ...
- spider RPC框架的需求来源与特性介绍(一)
spider RPC 特性介绍 spider RPC 性能测试 spider RPC 入门指南 spider RPC 配置文件参考 spider RPC 开发指南 spider RPC 安全性 spi ...
随机推荐
- 103 保序回归 isotonic regression
103 保序回归 isotonic regression 2016-03-30 11:25:27 bea_tree 阅读数 6895 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权 ...
- 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: ...
- JQuery攻略读书笔记---第2章 数组
2 数组2.8 创建对象数组循环数组2.9 数组排序 2 数组 2.8 创建对象数组 //数组化对象 var student =[ { "role":101, "na ...
- Go 代码风格和规范
Go 语言写起来类似于C语言,因此熟悉C语言及其派生语言(C++.C#.Objective-C 等)的人都会迅速熟悉这门语言 编码风格 标识符命名规范 在习惯上,Go语言程序员推荐使用驼峰式命名,当名 ...
- A*算法与8数字谜题(参见《算法》P226习题2.5.32)
A*算法的目的是找到一条从起始状态到最终状态的最短路径. 在A*算法中,需要在每个点计算启发函数:f(S) = g(S) + h(S),其中g(S)是从起点到S点的距离,h(S)是对从S点到终点的最短 ...
- Go 方法使用
方法的定义 在 Go 语言里,方法和函数只差了一个,那就是方法在 func 和标识符之间多了一个参数. type user struct { name string, email string, } ...
- js 实现复制功能的四种方式的优劣对比
今日网上浏览别人项目,看到有人用了document.execCommand这个属性,于是想起之前我选用Clipboard.js 来实现.对于这种不常用的属性还是不太放心,于是随手查了下关于复制的资料, ...
- docker的学习2
docker基本命令: run 创建一个新的容器并运行一个新的命令 -a stdin: 指定标准输入输出内容类型,可选 STDIN/STDOUT/STDERR 三项: -d: 后台运行容器,并返回容器 ...
- c# Format() 方法
- mongodb的基本操作之数据创建索引
在数据量较少时,不使用索引,查询是很快的,但是在数据量较大时,查询将会变得非常缓慢,在mongodb中 查看索引 > db.test_collection.getIndexes() [ { &q ...