[SSD科普之1] PCIE接口详解及应用模式

news/2024/5/19 1:32:02 标签: 固态硬盘, SSD, PCIE

PCI-Express(peripheral component interconnect express)是一种高速串行计算机扩展总线标准,它原来的名称为“3GIO”,是由英特尔在2001年提出的,旨在替代旧的PCI,PCI-X和AGP总线标准。

一、PCI-E x1/x4/x8/x16插槽模式

PCI-E有 x1/x4/x8/x16等多种插槽模式,那么这些有什么区别呢?

1、PCI-E x16插槽全长89mm,有164根针脚,靠主板外侧端有一卡口,将16x分为前后两组,较短的插槽有22根针脚,主要用于供电,较长的插槽142根,主要用于数据传输,具有16通道所带来的高带宽。

PCI-E x16插槽,主要用于显卡以及RAID阵列卡等,这个插槽拥有优良的兼容性,可以向下兼容x1/x4/x8级别的设备。可以说是PCI-E x16插槽是PCI-E的万能插槽。

由于PCI-E x16插槽常用于显卡,与cpu处理器直接相通,在物理位置上直接靠近cpu,这样显卡与处理器之间的数据交换就可以减少延迟,让系统的性能可以得到充分的发挥。

2、PCI-E x8插槽全长56mm,有98根针脚,与PCI-E x16比较,主要是数据针脚减少至76根,短的供电针脚仍然是22针脚。

为了兼容性,PCI-E x8插槽通常加工成PCI-E x16插槽的形式,但数据针脚只有一半是有效的,也就是说实际带宽只有真正的PCI-E x16插槽的一半。可以观察主板布线,x8的后半段没有线路连接,甚至针脚也没有焊接。

实际上除了旗舰级的主板,能提供多条真正的PCI-E x16插槽外,主流级主板,只会提供一条真正的PCI-E x16插槽,就是最靠近cpu的那条。而第二条和第三条PCI-E x16插槽,则多数是PCI-E x8甚至是x4级别的。

3、PCI-E x4插槽的长度为39mm,同样是在PCI-E x16插槽的基础上,以减少数据针脚的方式实现,主要用于PCI-E SSD固态硬盘,或者是通过PCI-E转接卡安装的M.2 SSD固态硬盘

PCI-E x4插槽通常由主板芯片扩展而来,不过随着cpu内部PCI-E通道数的增多,现在有部分高端主板可以开始提供直连cpu的PCI-E x4插槽,用于安装PCI-E SSD固态硬盘

主板上为什么找不到PCI-E x4插槽?其实它是以M.2接口的形式出现的。

不过与PCI-E x8插槽一样,PCI-E x4插槽为了兼容性,现在多数也是做成PCI-E x16插槽的形式,或是扩展为M.2接口,用于安装M.2 SSD、M.2无线网卡或者其它M.2接口设备,其余扩展卡则留给PCI-E x1插槽负责。

4、PCI-E x1插槽的长度是最短的,仅有25mm,相比PCI-E x16插槽,其数据针脚是大幅度减少至14个。PCI-E x1插槽的带宽通常由主板芯片提供,主要用途是独立网卡、独立声卡、USB 3.0/3.1扩展卡等都会用到PCI-E x1插槽,甚至可以通过转接线给PCI-E x1插槽装上显卡,用来挖矿或者实现多屏输出。

X1是用来替代原来的PCI设备的。

注意:为了长、短插槽互相兼容(物理长度兼容、版本的兼容包括1.0、2.0、3.0互相兼容),短插槽自然可以插入长插槽中,但长的插到短的插槽中就不容易,一般X1还是保持原来的长度,而x4、x8、x16在实际的主板中,都统一长度到x16。只是速度不同而已。多余的脚是悬空的,没有用处。这样外形上就统一兼容了,仔细看一下针脚是否焊接了线路,一般主板上都标明了是PCI-E x多少。

二、PCIE版本及规范

截止到当前,PCIE已经发展到6.0版本,以下是PCIE不同版本对比:

三、PCIE中的RC、EP模式

RC:Root Complex,RC设备用于连接CPU/内存子系统 和 I/O设备;RC模式下,PCIE配置头中的类型值为1;RC模式下,支持配置和I/O事务

EP:EndPoint,EP设备通常表示一个串行或I/O设备;EP模式下,PCIE配置头中的类型值为0;EP模式下,PCIE控制器接收针对本地内存空间的读写操作

四、M.2硬盘与PCI-E硬盘的区别

SATA和M.2指的是固态硬盘的接口种类,除了这两种常见的种类,还有其他的接口,例如mSATA和PCIe。固态硬盘不同的接口也代表了它们不同的传输速度,接口为SATA和mSATA的传输速度一般都在500MB/S以下,而常见的M.2接口的固态传输速度最高可达7000MB/S左右。

目前PCIe接口的固态硬盘,以及大部分M.2接口的固态硬盘都使用PCIe标准,SATA使用的就是SATA总线标准。

SATA总线使用的通信协议是AHCI或ATA,传输速度都不算快。PCIe总线使用的通信协议一般都是NVMe,主流配置是PCIe 3.0×4搭配NVMe 1.4,传输速度能达到2000MB/S以上,说它是主流是因为这样性价比最高。

1、PCIE

目前使用较多的是PCIe X4,市面上流通较多的是PCI-E 2.0版本和3.0版本,对应的X4带宽为16Gbps/32Gbps,折算成传输速率约为2GB/s和3.93GB/s,相比SATA接口,这已经是非常恐怖的速率了。

当然,另一方面,PCI-E接口的固态硬盘,其价格昂贵到令许多普通用户望而却步,无法承受。

2、M.2:

M.2原名为NGFF接口,标准名称为PCI Express M.2 Specification。它是为超极本(Ultrabook)量身定做的新一代接口标准,以取代原来基于mini PCIe改良而来的mSATA固态硬盘。无论是更小巧的规格尺寸还是更高的传输性能M.2都远胜于mSATA。随着SATA接口瓶颈不断凸显,越来越多的主板厂商也开始在自家产品线上预留M.2接口,主流的M.2接口有三种尺寸,分别是M.2 2242、2260、2280。

M.2接口可以同时支持SATA及PCI-E通道,后者更容易提高速度。这里需要注意的是,M.2的连接器有三种类型,被称为Socket 1、2、3,Socket1由于尺寸比较特殊,比较少用,重点是Socket 2和3。Socket 2支持SATA和PCI-E X2接口,Socket 3则只支持PCI-E X4接口。如果是走SATA通道,那么传输速率就和SATA 6Gbps一模一样,没有区别,如果是走PCI-E通道,才能享受到超过SATA的高速。

下图就是Socket 2和3的外观区别,这里面引入B key和M key这两个概念:

接口连带B key一起使用,走SATA或PCI-E x2通道,就是Socket 2接口;

接口连带M key一起使用,走PCI-E x4通道,就是Socket 3接口。

五、PCIE硬件设计注意事项

PCIe2.0 设计中请注意:

1、Slot 设计时,外围电路及电源需要满足 Spec 要求;

2、PCIe2.0接口的TXP/N差分信号上串接的100nF交流耦合电容,AC耦合电容建议使用0201封装,更低的 ESR 和 ESL,也可减少线路上的阻抗变化;

PCIe3.0 设计中请注意:

1、Slot 设计时,外围电路及电源需要满足 Spec 要求;

2、PCIe3.0 接口的 TX0P/N,TX1P/N 差分信号上串接的 220nF 交流耦合电容,AC 耦合电容建议使用 0201 封装,更低的 ESR 和 ESL,也可减少线路上的阻抗变化。

————————————————

版权声明:本文为CSDN博主「流年過客」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/qq_37659014/article/details/124588126


http://www.niftyadmin.cn/n/79398.html

相关文章

SheetJS的部分操作

成文时间:2023年2月18日 使用版本:"xlsx": "^0.18.5" 碎碎念: 有错请指正。 这个库自说自话升级到0.19。旧版的文档我记得当时是直接写在github的README上。 我不太会使用github,现在我不知道去哪里可以找到…

(考研湖科大教书匠计算机网络)第五章传输层-第四节:TCP流量控制

获取pdf:密码7281专栏目录首页:【专栏必读】考研湖科大教书匠计算机网络笔记导航 文章目录一:流量控制概述二:流量控制举例三:拓展阅读(可不看)(1)TCP流量控制完整例子&a…

Vue3之循环渲染

1.何为循环渲染 在Vue3中,当我们需要渲染一个数组中的数据到dom元素上时,就需要使用循环渲染。循环渲染可以节约我们大量重复冗余的工作,比如我们去渲染一个下拉菜单的时候,如果不使用循环渲染,那么我们需要手动一项一…

SpringBoot实现统一返回接口(除AOP)

起因 关于使用AOP去实现统一返回接口在之前的博客中我们已经实现了,但我突然突发奇想,SpringBoot中异常类的统一返回好像是通过RestControllerAdvice 这个注解去完成的,那我是否也可以通过这个注解去实现统一返回接口。 正文 这个方法主要…

第一次接触jquery

文章目录一.关于jqurey二.什么是jqurey三.上课实例1.表格 2.鼠标移动效果 3隐藏和显示效果代码如下注意一.关于jqurey 简而言之:jQuery 是一个 JavaScript 库。 jQuery 极大地简化了 JavaScript 编程。 二.什么是jqurey jQuery 是一个 JavaScript 函数库。 jQu…

关于字符设备驱动的通用概念和写法

概述 设备驱动程序可以使用模块的方式动态加载到内核中去。加载模块的方式与以往的应用程序开发有很大的不同。以往在开发应用程序时都有一个 main()函数作为程序的入口点,而在驱动开发时却没有 main()函数,模块在调用 insmod 命令时被加载,…

解析从Linux零拷贝深入了解Linux-I/O(下)

接上文解析从Linux零拷贝深入了解Linux-I/O(上) 大文件传输场景 零拷贝还是最优选吗 在大文件传输的场景下,零拷贝技术并不是最优选择;因为在零拷贝的任何一种实现中,都会有「DMA 将数据从磁盘拷贝到内核缓存区——P…

如何编写 Ansible Inventory 文件 hosts 的主机信息

Ansible 的 Inventory 文件编写起来比较随意,支持很多种定义方式,下面简单记录一下支持的定义方式,方便大家日常更灵活的使用。 Inventory 常用定义方式 1.最常用的写法 [gpdb] mdw ansible_ssh_host192.168.0.10 ansible_ssh_user"r…