[转帖]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/ 设备树使用手册 基本数据格式 设备树是一个包含节点和属性的简单树状结构.属性就是键-值对,而 ...
随机推荐
- [TJOI2015]概率论[卡特兰数]
题意 \(n\) 个节点二叉树的叶子节点的期望个数. \(n\leq 10^9\) . 分析 实际询问可以转化为 \(n\) 个点的不同形态的二叉树的叶子节点总数. 定义 \(f_n\) 表示 \(n ...
- 一行 Python 代码能干嘛?
Python 有很多优雅有趣的代码写法,同时还很简短,以至于当我刚开始接触这个编程语言的时候,就爱不释手.而前几天的编程语言榜单中 Python 也超越了 Java 成为了第一,挺替 Python 开 ...
- dbutis事务管理
1.在dao层用dbutils实现事务管理 //从a--->b帐户转100元 public void transfer() throws SQLException{ Connection con ...
- GsonFormat插件主要用于使用Gson库将JSONObject格式的String 解析成实体,该插件可以加快开发进度,使用非常方便,效率高。
GsonFormat插件主要用于使用Gson库将JSONObject格式的String 解析成实体,该插件可以加快开发进度,使用非常方便,效率高. 插件地址:https://plugins.jetbr ...
- 网页从url到网页展示到页面的流程
心血来潮整理的 https://mubu.com/doc/oLDc49lx39
- 32bit 天堂服务端假设教程
本文作者:smeli(俄罗斯人,于2009年完成该教程) PS:要比国内写的那些教程完整,详细,希望大家喜欢 VS运行库安装………………………………………..2 SQL数据库安装…………………………… ...
- 木马分析出现python语言,360的安全人员不禁感叹还有这种操作?
几年前,敲诈者木马还是一个默默无闻的木马种类.然而,由于其极强的破坏力和直接且丰厚的财富回报,敲诈者木马这几年已经一跃成为曝光率最高的木马类型——甚至超越了盗号木马.远控木马.网购木马这传统三强.与此 ...
- Hyperledger Fabric 1.0.1至Hyperledger Fabric 1.0.5所升级的内容及修复的问题
基础更新 各版本每次迭代都会有一些基础更新内容,如文档修改覆盖.测试用例完善.用户体验改进及删除冗余无效代码等… 下面分类介绍的是一些版本迭代的重要更新内容,因个人实操和理解有限,部分更新并未明确,如 ...
- Gitlab CI-1.Gitlab部署
参考文档: GitLab Documentation:https://docs.gitlab.com/ce/ Installation and Configuration using omnibus ...
- zookeeper_节点数据版本号问题
转自:Simba_cheng 更新节点数据的方法: 同步方法:Stat setData(final String path, byte data[], int version) 异步方法:void s ...