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 ...
随机推荐
- asp.net core-12.dotnet watch run 和attach到进程调试
1.打开visual studio code 创建一个项目 打开终端 输出: dotnet new web --name hellocore 2.用visual studio code打开项目文件夹 ...
- Docker使用整理
Docker技术的基础: namespace,容器隔离的基础,保证A容器看不到B容器. 6个名空间:User,Mnt,Network,UTS,IPC,Pid cgroups,容器资源统计和隔离.主要用 ...
- .Net Core Swagger:Actions require an explicit HttpMethod binding for Swagger 2.0
添加完Swagger包引用后运行报错:Actions require an explicit HttpMethod binding for Swagger 2.0 第一时间想到了父类控制器 没有添加 ...
- JAVA文件IO总结
文件流的操作有两种:字节流.字符流 字节流:FileInputStream,FileInputStream 字符流:InputStreamReader,OutputStreamReader 这两种流对 ...
- 基于【 centos7】二 || 系统时间与网络时间同步
# date // 查看系统时间 #hwclock // 查看硬件时间 # yum -y install ntp ntpdate 安装ntpdate工具 # ntpdate cn.pool.ntp.o ...
- python连接impala时,执行SQL报错expecting list of size 2 for struct args
这个错误困扰了好久,因为集群有多台,暂放到其他几台机器上执行了SQL操作,一直在找解决方法,无意间得到真传,喜出望外啊 报错信息: Traceback (most recent call last): ...
- 用cef Python打造自己的浏览器
背景 项目需要做一个客户端的壳,内置浏览器,访问指定 的url 采用技术 python3.5 cefpython https://github.com/cztomczak/cefpython#inst ...
- oracle 的普通语法
select sysdate from dual -- 时间 select SYS_GUID() from dual --唯一
- Linux命令——mkdir、rmdir
mkdir -p:递归创建目录 -v:每次创建新目录都显示信息 -m:直接指定权限(不使用默认umask演算的那个) [root@51cto /]# mkdir /a/b/c -pv mkdir: c ...
- 预处理、编译、汇编、链接、启动代码、相关command
被忽略的过程 对于C这种编译性语言,我们平时编译时,不管是通过IDE图形界面,还是通过命令行,总感觉编译一下就完成了,然后就得到了针对某OS和某CPU的二进制可执行文件(机器指令的文件).但是实际上在 ...