现在,固态硬盘已经大步跨入PCIe时代。作为固态硬盘的一项重要技术,我们有必要对PCIe有一个基本的了解。
那为什么SSD要用PCIe接口呢?因为它快,比SATA还快。有多快?我们从PCIe界面的速度开始我们的PCIe之旅。
随着PCIe的发展,从PCIe 1.0,PCIe 2.0到现在的PCIe 3.0,速度一代比一代快。
图1-1 PCIe代的带宽
PCIe 4.0已于2017年发布,但本章仅限于PCIe 3.0及更早版本。
在链路速度行中,我们看到x1,x2,x4,...,这是什么意思?这指的是PCIe路的号码。就像高速,有单条路,两条路和四条路,但是像八条或更多的路并不常见,但是PCIe可以有多达32条车道。
图1-3 PCIe环线的概念
从A到B,是双向连接的。汽车可以从A开到B,同时汽车也可以从B开到A,各奔东西。两个PCIe设备之间有特殊的发送和接收通道,数据可以同时在两个方向上传输。PCIe规范称这种工作模式为双单工模式,可以理解为全双工模式。
SATA是什么工作模式?
图1-4 SATA工作模式
与PCIe一样,SATA有独立的发送和接收通道,但与PCIe的工作模式不同:同时,只有一个通道可以传输数据,即您可以在一个通道上发送数据,而不能在另一个通道上接收数据,反之亦然。这种工作模式是半双工模式。
PCIe就像我们的手机,双方可以同时通话,而SATA是对讲机,一个人在说话,另一个人只能听而不能说。
回到前面的PCIe带宽表,上面的带宽,比如PCIe3.0x1,是2GB/s,也就是双向带宽,也就是读写带宽。如果单个手指读写,则该值应该减半,即读取速度或写入速度为1gb/s。
让我们看看表中的带宽是如何计算的。
PCIe是一条串行总线,PCIe1.0的在线位传输速率为2.5 GB/s,物理层采用8/10编码,即8位数据。实际上,需要在物理线路上传输10位,额外的2位用于验证。因此:
PCIe1.0 x 1 =(2.5Gb/s x 2(双向通道))/10bit = 0.5GB/s的带宽
这是单个通道的带宽,有几个通道,所以整个带宽计算就是通道数乘以0.5 GB/s。
PCIe2.0的在线位传输速率在PCIe1.0的基础上翻倍至5Gb/s,物理层也采用8/10编码,所以:
PCIe2.0 x 1的带宽=(5Gb/s x 2(双向通道))/10bit = 1GB/s
同样,有多少个通道,带宽是1GB/s乘以通道数。
PCIe3.0的在线位传输速率在PCIe2.0上没有翻倍,不是10Gb/s,是8Gb/s,但是物理层使用128/130编码进行数据传输,所以:
PCIe3.0 x 1 =(8Gb/s x 2(双向通道)x(128位/130位))/8位≈ 2GB/s的带宽
同样,有多少个通道,带宽是2GB/s乘以通道数。
128/130编码,128位数据,只增加2位开销,有效数据传输率提高。虽然在线位传输速率没有翻倍,但在PCIe2.0的基础上,有效数据带宽翻倍。
这里值得一提的是,在上面计算的数据带宽中考虑了8/10或128/130编码。因此,在计算带宽时,不需要考虑在线编码。
与SATA单通道不同,PCIe连接可以通过增加通道数量来扩展带宽,非常灵活。通道越多,速度越快。但是通道越多,成本越高,占用空,耗电越多。所以使用了多少通道,要在性能和其他因素之间综合考虑。只考虑性能,PCIe的最高带宽可以达到64GB/s,也就是PCIe 3.0 x 32对应的带宽,这是很可怕的数据。但是,现有的PCIe固态硬盘通常使用多达4个通道,如PCIe3.0x4,双向带宽为8GB/s,读写带宽为4 GB/s
图1-5英特尔PCIe固态硬盘750的规格
几GB/s的传输速度,看起来像是一部小电影那是一个杠杆。
这里顺便计算一下PCIe3.0x4的理论最大4K IOPS,PCIe3.0x4理论最大读写速度为4GB/s,不考虑协议开销每秒可以传输4GB/4K 4K IOs,为1M,也就是理论最大IOPS为1000K。因此,固态硬盘的接口速度,无论您使用什么介质作为底层,闪存还是3D点,都是如此之快,以至于最大IOPS不能超过这个值。
PCIe是由PCI发展而来,PCIe的“e”是express的缩写,意思是快速。PCIe怎么可能比PCI(或者PCI-X)快?PCIe在物理传输上与PCI有本质区别:PCI使用并口传输数据,PCIe使用串口传输数据。我的PCI并行总线单个时钟周期可以传输32位或者64位,那为什么不能和你的串行总线单个时钟周期传输1位数据相比呢?
为什么长腿姚明跑不过短腿刘翔?因为刘翔的脚步更快。
在实际时钟频率比较低的时候,并口可以同时传输几个比特,所以速度确实比串口快。随着技术的发展,要求数据传输速率越来越快,时钟频率也要求越来越快。然而,并行总线的时钟频率不能像期望的那样快。
图1-6并行传输时序
在发送端,数据在某个时钟沿(左时钟的第一个上升沿)传输,在接收端,数据在下一个时钟沿(右时钟的第二个上升沿)接收。因此,为了在接收端正确收集数据,要求时钟的周期必须大于数据传输时间(从发送端到接收端)。受数据传输时间的限制(也是随着数据线长度的增加而增加),时钟频率不能做得太高。此外,当时钟信号在线路上传输时,还会出现时钟偏移,这将影响接收端的数据采集。此外,在并行传输中,接收器必须等待最慢的位数据到达,然后才能锁定整个数据(信号偏斜)。
PCIe使用串行总线进行数据传输,没有这些问题。它没有外部时钟信号,它的时钟信息通过8/10编码或128/130编码嵌入到数据流中,接收机可以从数据流中恢复时钟信息。所以不受数据在线传输时间的限制,你的线有多长,你的数据传输频率有多快都是没问题的。没有外部时钟信号,自然不存在所谓的时钟偏斜问题;因为是串行传输,所以只有一位传输,所以不存在信号偏斜问题。但是如果用多通道传输数据(串行有并行,哈哈),这个问题又回来了,因为接收端也要等最慢通道的数据到达,才能处理整个数据。但别担心,PCIe可以自己解决这个问题。
本文节选自《SSD浅显:固态存储核心技术、原理及实战》一书
了解闪存,获得未来
闪存技术革命,奠定了未来10年的存储趋势
销量和好评快速增长的畅销书
请按下面的指纹购买纸质书
JD.COM、淘宝、亚马逊和Kindle也在销售“深度固态硬盘”
www.ssdfans.com
闪存,AI,区块链,物联网
高端微信群介绍
闪存组
覆盖全球5000多家中国闪存和存储芯片精英
AI芯片组
AI、IOT、存储公司高管和创始人、投资人物联网芯片群
悬赏问答群专家帮你回答棘手问题,红包打赏存储芯片组
信道组
店铺产品报价、报价、渠道共享
人工智能、IOT、仓储人力资源、猎头、大公司的求职者
IPFS、EOS、矿山机械等区块链科技产业探讨
江苏、浙江、上海、北京、深圳、成都、武汉、Xi、台湾、硅谷等等
姓名-单位-职位,注明组名,拉你入组。
1.《pcie好还是ssd好 PCIe SSD为什么那么快?》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。
2.《pcie好还是ssd好 PCIe SSD为什么那么快?》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。
3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/caijing/1215663.html