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 ...
随机推荐
- CentOS7离线安装Mysql(详细安装过程)
Mysql安装 下载mysql离线安装包 https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.27-1.el7.x86_64.rpm-bundle ...
- Java链表设计
链表 1,链表的实现 在实际开发之中对象数组是一项非常实用的技术,并且利用其可以描述出“多”方的概念,例如:一个人有多本书,则在人的类里面一定要提供有一个对象数组保存书的信息,但是传统的对象数组依赖于 ...
- MQTTnet 3.0.5学习笔记
段时间在使用MQTTnet,都说这个东西比较好,可是翻了翻网上没有例子给参考一下. 今天算是找到了,给高手的帖子做个宣传吧. 原网址如下:https://blog.csdn.net/chenlu520 ...
- js中new到底做了什么?
1.创建一个新的obj; 2.让obj_proto_=Func.prototype; 3.Func.call(obj);
- buffer 与 cache 的区别
Buffer 和 Cache buffer 和 cache 同样作为缓存,他们之间有什么区别呢? 简单来说,buffer 是即将要写入磁盘的缓存,而 cache 是从磁盘中读出来放到缓存的 参考来自: ...
- MySQL5.6.11安装步骤(Windows7 64位)
1. 下载MySQL Community Server 5.6.21,注意选择系统类型(32位/64位) 2. 解压MySQL压缩包 将以下载的MySQL压缩包解压到自定义目录下. 3. 添加环境变量 ...
- [Vuex系列] - Module的用法(终篇)
于使用单一状态树,应用的所有状态会集中到一个比较大的对象.当应用变得非常复杂时,store 对象就有可能变得相当臃肿.为了解决以上问题,Vuex 允许我们将 store 分割成模块(module).每 ...
- 【转载】salesforce 零基础开发入门学习(二)变量基础知识,集合,表达式,流程控制语句
salesforce 零基础开发入门学习(二)变量基础知识,集合,表达式,流程控制语句 salesforce如果简单的说可以大概分成两个部分:Apex,VisualForce Page. 其中Apex ...
- 【Struts2】Json插件使用
一.使用步骤 1.1 引入依赖 1.2 在struts.xml文件中配置 一.使用步骤 1.1 引入依赖 <!-- https://mvnrepository.com/artifact/org. ...
- Linux命令——gzip、zcat、bzip2、bzcat、tar
参考:Linux命令——ar 为什么文件要压缩? 当文件过大时,无论是本地做备份,复制都很麻烦,而且还浪费磁盘空间.如果用网络传输,大文件无疑会浪费大量宝贵带宽.文件压缩技术可以有效解决这个问题,但是 ...