[转帖]PCI-E的部分知识
PCI-E
PCI-E全称是PCI Express,是新一代的总线接口。采用了目前业内流行的点对点串行连接,比起PCI以及更早期的计算机总线的共享并行架构,每个设备都有自己的专用连接,不需要向整个总线请求带宽,而且可以把数据传输率提高到一个很高的频率,达到PCI所不能提供的高带宽。
关于规格和速率
PCI Express也有多种规格,从PCI Express 1X到PCI Express 16X。目前最高的16X 2.0版本可达到10GB/s,而且还有相当大的发展潜力。PCI-Express最新的接口是PCIe 3.0接口,其比特率为8GT/s,约为上一代产品带宽的两倍,并且包含发射器和接收器均衡、PLL改善以及时钟数据恢复等一系列重要的新功能,用以改善数据传输和数据保护性能。

PCI-E特点
1、抗干扰性强,传输通道专有性点对点串行连接。
2、传输速率快,支持双向传输模式,还可以运行全双工模式。
3、支持热拔插以及热交换特性。
4、兼容性好不仅可用于南桥和其他设备的连接,也可以延伸到芯片组间的连接,甚至也可以用于连接图形芯片。
NVME
NVMe当中,全称Non-Volatile Memory Express,非易失性存储器标准,NVM是指非易失性存储,后面的Express简写为e,也可以参考PCIe的e。通过设计,NVM Express允许现代固态硬盘发现是由主机的硬件和软件充分利用并行性水平。减少了I/O架空带来改进以前的逻辑设备的接口,包括各种性能的比较多,长命令队列,并减少延迟。NVM Express设备存在形式的标准尺寸的PCI Express扩展卡,作为形式因素的设备,通过2.5英寸一四通道PCI Express接口提供u.2连接器(原名SFF-8639)。SATA Express存储设备和11.2对于内部安装的计算机扩展卡规范还支持NVM Express为逻辑设备接口。

NVME特点
1、延时更低
NVMe的一大优势就是低延迟。这主要是因为流线型的存储堆栈,NVMe无需读取寄存器就可以发出命令。AHCI的每个命令都需要读取4个不可缓存寄存器,从而导致大约2.5μs的额外延迟。低延时和良好的并行性的优势就是可以让SSD的随机性能得到大幅度提升,在任何队列深度下都能发挥出极佳的速度。

2、IOPS大增
NVMe也大大的提升了SSD的IOPS性能,在制定AHCI规范时并行性的想法并没有完全融合到规范内,利用NCQ功能可以对传输能力进行优化,但是接口并不允许SSD真正最大限度地发挥其应有的并行性。

3、功耗更低
NVMe加入了自动功耗状态切换和动态能耗管理功能,设备从能耗状态0闲置50ms后可以迅速切换到能耗状态1,在500ms闲置后又会进入能耗更低的状态2。虽然切换能耗状态会产生短暂延迟,但闲置时这两种状态下的功耗可以控制在非常低的水平,因此在能耗管理上,相比起主流的SATA接口SSD拥有较大优势,这一点对增加笔记本电脑等移动设备的续航尤其有帮助。

4、驱动适用性广
NVMe标准的也解决了不同PCIe SSD之间的驱动适用性问题。此前的PCIe SSD,均需要安装驱动程序后才能正常使用,而不同的厂商又各自为政,每个厂商产品都有自己的驱动,SSD也不能作为引导使用。但支持NVMe标准之后,PCIe SSD就可适用于多个不同平台,也不需要厂商独立提供驱动支持。目前Windows、Linux、Solaris、Unix、VMware、UEFI等都加入了对NVMe SSD的支持。


总结:PCI-E和NVME作为新一代总线接口和为其量身定制的标准,目前,随着SSD性能需求的增长,SATA 6Gbps和AHCI将逐渐成为存储设备发展瓶颈,越来越多的PCI-E SSD出现在消费级市场上,2015到2016将是一个跨越,相信以NVMe标准的存储产品将会逐渐占据市场。成为普及新选择。
最新版本的情况:
在Hot Chips大会上,PCI-SIG表示将在2017年底之前批准新规范,这个规范将由0.9版本更新为1.0版本。前3代PCI-E的更新周期大约为3到4年,PCI-E3.0的首次亮相是2010年,待PCI-E 4.0的发布已经过去了7年之多。

PCI-SIG将长达7年的升级周期归咎于行业发展的停滞不前,PCI-E 3.0带宽足以应付目前的存储,网络,显卡和其他设备的数据吞吐量需求。但讽刺是,过去两年内人工智能发展有了一个较大的飞跃,导致目前的PCI-E 3.0吞吐量不足,存储设备也使用NVMe协议,走的全是PCI-E通道,网络带宽也有了更高的速度,使得PCI-E 3.0的带宽捉襟见肘。

PCI-SIG已经表示年底前正式版的PCI-E 4.0将会公布,PCI-E 4.0特性已经完成,即将进入IP复审阶段。目前已经有一些厂商推出了16GT/s的控制器,但是PCI-E 4.0规范却是0.9版本,离最终的1.0版本仍有差距。

PCI-SIG还表示,他们正在加速开发和反馈过程,同时简化早期规范修订版本,以此缩短发布日期。而PCI-E 4.0其实是一个过渡版本,因为PCI-SIG将在2019年推出速度翻倍的PCI-E 5.0规范,现在PCI-E 5.0规范已经修订到0.3版本,预计在今年第四季度公布。
目前PCI-E 4.0带宽为64GB/s,PCI-E 5.0将会达到128GB/s,这两个PCI-E版本依然是使用PCI-E3.0的128b/130b标准编码方案,这种方案将节省20%的研发费用,再进一步编码还能减少1.5%的开销。

PCI-SIG定义了规范,但组织无法决定让终端产品什么时候上市,而AMD和Intel才是PCI-E 4.0主要的驱动者,2020年AMD平台就会使用上PCI-E 4.0,Intel也正在加紧部署他们的傲腾硬盘战略。
[转帖]PCI-E的部分知识的更多相关文章
- 第1章 PCI总线的基本知识
PCI总线作为处理器系统的局部总线,主要目的是为了连接外部设备,而不是作为处理器的系统总线连接Cache和主存储器.但是PCI总线.系统总线和处理器体系结构之间依然存在着紧密的联系. PCI总线作为系 ...
- [转帖]IPC网络高清摄像机基础知识1(IPC芯片市场分析以及“搅局者”华为海思 “来自2013年”)
IPC网络高清摄像机基础知识1(IPC芯片市场分析以及“搅局者”华为海思 “来自2013年”) 2016-06-02 14:23:49 Times_poem 阅读数 9734更多 分类专栏: IPC网 ...
- [转帖]全方位掌握OpenStack技术知识
全方位掌握OpenStack技术知识 http://www.itpub.net/2019/06/17/2206/ 架构师技术联盟的文章 相当好呢. 大家好,我是小枣君.最近几年,OpenStack这个 ...
- [转帖]java必备的开发知识和技能
java必备的开发知识和技能 https://blog.csdn.net/qq_34405062/article/details/89389646 学习一下java 其实上学那会儿学的 早就过时加落伍 ...
- [转帖] Linux运维基础知识学习内容
原作者地址:https://www.cnblogs.com/chenshoubiao/p/4793487.html 最近在学习 linux 对简单的命令有所掌握 但是 复杂的脚本 shell pyt ...
- 2.3 PCI桥与PCI设备的配置空间
PCI设备都有独立的配置空间,HOST主桥通过配置读写总线事务访问这段空间.PCI总线规定了三种类型的PCI配置空间,分别是PCI Agent设备使用的配置空间,PCI桥使用的配置空间和Cardbus ...
- PCI 设备详解一
2016-10-09 其实之前是简单学习过PCI设备的相关知识,但是总感觉 自己的理解很函数,很多东西说不清楚,正好今天接着写这篇文章自己重新梳理一下,文章想要分为三部分,首先介绍PCI设备硬件相关的 ...
- 007 PCI总线的桥与配置(二)
一.PCI桥与PCI设备的配置空间 PCI设备都有独立的配置空间,HOST主桥通过配置读写总线事务访问这段空间.PCI总线规定了三种类型的PCI配置空间,分别是PCI Agent设备使用的配置空间,P ...
- 001 PCI Express体系结构(一)
一 .PCI总线的基本知识 PCI总线作为处理器系统的局部总线,主要目的是为了连接外部设备,而不是作为处理器的系统总线连接Cache和主存储器.但是PCI总线.系统总线和处理器体系结构之间依然存在着紧 ...
- Linux Device Tree
原创博文,转载请标明出处--周学伟 http://www.cnblogs.com/zxouxuewei/ 设备树使用手册 基本数据格式 设备树是一个包含节点和属性的简单树状结构.属性就是键-值对,而 ...
随机推荐
- 数据增强利器--Augmentor
最近遇到数据样本数目不足的问题,自己写的增强工具生成数目还是不够,终于在网上找到一个数据增强工具包,足够高级,足够傻瓜.想要多少就有多少!再也不怕数据不够了! 简介 Augmentor是一个Pytho ...
- 9.13 开课第十天(JS脚本语音:语句:循环)
循环:循环操作某一个功能(执行某段代码) 四要素: 循环初始值 循环条件 状态改变 循环体 for 穷举 迭代 while(true) break //先执行 ...
- 11 [异常]-try...except
1.什么是异常 异常就是程序运行时发生错误的信号(在程序出现错误时,则会产生一个异常,若程序没有处理它,则会抛出该异常,程序的运行也随之终止),在python中,错误触发的异常如下 2.错误 错误分成 ...
- git删除所有提交历史记录
这种方式是最快最有效的 进项目根目录启动git bash,然后执行这些即可 最后的 git push -f origin master 会失败,直接在idea里push就能成功了 .Checkout ...
- intellIJ IDEA配置maven相关问题记录
IntellIJ IDEA 配置 Maven 以及 修改 默认 Repository 参考:https://www.cnblogs.com/phpdragon/p/7216626.html non-m ...
- Jmeter+Ant+Jenkins持续集成方案改进
关于Jmeter+Ant+Jenkins如何搭建持续集成环境,网上资料一大把,就不多说了,本文主要谈一下期间的问题及扩展该持续集成方案. 其实核心的流程不复杂,Jenkins管理构建项目,Ant配置脚 ...
- php_package v2.7发布了 宋正河作品
php_package 是一个面向过程的底层开发框架 http://download.csdn.net/download/songzhengdong82/4974123 欢迎大家下载
- elasticsearch(全文检索)的介绍和安装
ElasticSearch是一个基于Lucene的搜索服务器.它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口.Elasticsearch是用Java开发的,并作为Apach ...
- python多线程创建与使用(转)
原文:http://codingpy.com/article/python-201-a-tutorial-on-threads/ 创建多线程 创建多线程主要有2种方式. 使用threading.Thr ...
- shell编程基础(转载)
Shell编程基础 原作者 Leal:请参阅页面底部的编者列表. 授权许可: 创作共享署名协议 GNU 自由文档许可证 注意:本文仍然在持续的修订之中,且错漏之处可能较多.如果能够阅读英语的话,可以考 ...