PCEVA,PC绝对领域,探寻真正的电脑知识
开启左侧

PC常见存储接口释疑

[复制链接]
nighttob 发表于 2016-8-7 17:46 | 显示全部楼层 |阅读模式
点击数:49896|回复数:56
本帖最后由 nighttob 于 2016-8-7 18:08 编辑

本文会对现今PC常见存储接口,如SATA、PCIe、M.2及AHCI、NVMe等接口做一个简单梳理,便于大家理清各种接口之间的关系

首先列一个表格,让大家对各种接口有一个基本印象

然后进行一些解释说明

AIC:即Add-In-Card,也就是常见的板卡型PCIe插卡,习惯说的显卡和声卡这种都是AIC
SFF:即Small Form Factor,小尺寸架构,这里指SFF-8223规范中的具有串行接口的2.5"外形,也就是常见的2.5"盘,包括厚度为5mm、7mm、9.5mm、12.5mm及15mm的
我们在Intel 750这类“企业级”产品上会见到同时拥有这两种外形,AIC型的便于塔式主机部署,而SFF型的便于存储集群部署

AHCI:全称是Advanced Host Controller Interface,用作SATA设备和系统内存之间的逻辑通用接口
NVMe:即NVM Express,这个专有名词分为两部分,NVM是Non-Volatile Memory的缩写,意思是非易失性存储器,我们现在用的磁盘和闪存都是NVM; Express就是PCIe的那个Express。NVMe是为今后NVM存储设备提供高带宽、低延迟的逻辑接口和指令集。最初NVMe叫做NVMHCI,这个HCI就跟AHCI那个HCI是一个意思。
把这两个放在一起说是因为AHCI和NVMe都是逻辑层面的东西,而不是一个看得见摸得着的插口。虽然目前NVMe SSD都是以PCIe作为物理层的,但NVMe的设计已经超出了PCIe,不像AHCI只是服务于SATA的。这里还是要重复一次,NVMe SSD不等于PCIe 3.0 x4,以后会有使用x1 x8甚至x16链路的NVMe SSD。

关于M.2和SATAe(SATA Express)及U.2/SFF-8639,可以见我之前写的帖子 http://bbs.pceva.com.cn/thread-96050-1-1.html
这里对SATAe和U.2稍作补充
SATAe已经随着Intel 100系列PCH自然升级到了PCIe 3.0 x2,也就是近似2GB/s的理论带宽了。看起来不错,但其处境依然如上面帖子所说——尴尬,如果不是能和SATA接口复用,恐怕没有主板厂家愿意部署SATAe接口,而SATAe设备到目前为止叫得上名字的只有东芝不久前(其实早就计划好的)面向OEM发布的SFF型XG3 SSD,而且受限于接口带宽持续读取跑不过同样方案M.2版的RD400,另外就是某使用ASMedia控制器的外置硬盘盒,还有西数的一个只上过展会的样品HDD。

(SATAe接口的SFF型东芝XG3,看这一面并不明显)


(某使用ASMedia控制器的SATAe外置硬盘盒)
U.2可以说是目前所有SFF串行接口的集大成者,其具有最强的性能和向下兼容性,但也像M.2一样因为兼用太多导致混淆。就比如可考最早使用SFF-8639接口的SFF型美光P320h和东芝新款企业级SAS SSD PX04S(注意不是PX04P)系列,前者是ATA设备,后者则为了是更好的电气性能而借用了SFF-8639的外形(或者只是为了省事,毕竟同代的PX04P是NVMe PCIe),实际上只使用了SAS(SFF-8482/SFF-8680)的14+15pin。所以不要看到U.2接口就认为是NVMe SSD,此二者之间没有必然联系。

(U.2接口的SFF型美光P320h)
SATAe接口的物理外观跟U.2接口做对比的话,最大区别就是SATAe没有SATA7pin及15pin之间的额外6pin




以上正文结束,其实本文的主要目的就是阐明“看上去”和“实际上”是两回事,以及纠正不明所以的混淆名词,比如“NVMe x4”一类的

接下来说一些跟接口有关的杂项

SATA作为物理接口已经到了最后一代,也就是现在普及的SATA 3.0,不会再有SATA 4.0了。SATA Express只能算其“精神继承者”,毕竟物理层上已经用了PCIe的那一套,而且SATA-IO(SATA标准的制定机构)自己都说SATAe可以走AHCI逻辑也可以走NVMe逻辑,现在唯一能拿上台面说的SATAe产品还是后者,所以SATA实际上已完。但不用担心明天就会被淘汰,毕竟普及度高,而且可以作为非关键规模化存储在企业级中部署。

AHCI作为逻辑接口可能要比上面更惨一些,因为AHCI只能用于ATA设备,但ATA设备还可以用SCSI(SCSI / ATA Translation)。事实上Intel很早以前就在其iRST驱动中加入了SCSI层,这也是为什么装了iRST驱动以后,即使是SATA盘的设备名称里面也会带个SCSI的原因。

作为难兄难弟,SATA和AHCI在定制主机上面就更没了活路。对很多只有一个M.2 SSD做内置存储的轻薄本来说,如果采用了使用NVMe协议的产品,则可以完全舍弃掉SATA和AHCI。毕竟AHCI作为一个软件模块(有改BIOS经历的应该明白),即使你不用也是要加载的,而加载一个没有用的模块不仅增加逻辑复杂度,也是浪费人生。

SAS在前年升级到了3.0,配套物理接口也从SFF-8482升级到了SFF-8680,未来还有SAS 4.0,链路速度将再次翻番提高到24Gb/s。而且SAS是双端口,原本用来做冗余和故障转移的设计如今也可以做带宽叠加了,所以这一代SAS SSD的性能相当可观,问题就在于SAS主机控制器够不够给力了。

虽然目前在售的NVMe SSD都使用PCIe 3.0 x4前端的主控(SFF型东芝XG3是只通了x2),但向下x2、x1,向上x8的主控和固件已经在开发当中。一旦低宽度的NVMe产品上市,也就意味着NVMe将走入普及,也意味着SATA的日子更不好过了,不过这也需要有配套接口支持。需要说明的一点是,NVMe SSD也是有类似SAS双端口的设计的,可以连接两台主机,比如我们看Intel 750 U.2接口的定义里面就有,虽然750自己并不支持双端口,但企业级的P3700/P3600未来将会支持。但PCIe毕竟不像SAS设计之初就有双端口,PCIe SSD双端口的实现可能还需要专门PCIe交换设备的支持,包括为后来x8宽度的设备提供支持。

U.2/SFF-8639作为设备端接口,其主机端是SFF-8643(SFF-8613)接口,这个接口同样用于这一代SAS 3.0主机设备接口,但二者不能通用,因为设备端接口的针脚定义不同。SAS使用S1-S14作为数据连接,而PCIe 3.0 x4使用S15-S28及E1-E25作为数据连接,二者全无交集,只是可共用U.2作为设备端接口。但也不用担心用错线缆,如果1个SFF-8643接口只连接1个U.2接口,基本可以确定是用于PCIe SSD的;如果连接2个以上接口,就是用于SAS设备的(不过也不能排除未来会有一条线连接两个PCIe x2 SSD的可能)。

(SFF-8643 to U.2)

(SFF-8643 to 4x SFF-8680)

(SATA Express)

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

评分

参与人数 2代金券 +50 绝对值 +1 收起 理由
02aaaa + 1 很给力!
石头 + 50 1精

查看全部评分

红尘滚滚 发表于 2016-8-7 20:12 | 显示全部楼层
好乱,原来接口还有这么多讲究。

感觉还是SATA挺方便, 为什么没有SATA4.0了?  是速度上不去了?
nighttob  楼主| 发表于 2016-8-7 20:26 | 显示全部楼层
红尘滚滚 发表于 2016-8-7 20:12
好乱,原来接口还有这么多讲究。

感觉还是SATA挺方便, 为什么没有SATA4.0了?  是速度上不去了? ...

电气性能限制,做不到
蓝天翔燕 发表于 2016-8-7 22:27 | 显示全部楼层
台式机就用AIC走PCI-E X4,笔记本就走M2比较合适。这样接口都比较统一。不然现在除了SATA,其他都比较混乱
来自苹果客户端来自苹果客户端
zsbstephen 发表于 2016-8-7 22:41 | 显示全部楼层
不错,感谢分享~服务器几乎没接触得到,对服务器上的接口了解极少,算是科普了~
飞翔的企鹅 发表于 2016-8-7 22:54 | 显示全部楼层
关键还有坑爹主板走的是PCIE2.0的X4,买之前先看看主板参数吧
atmosphere 发表于 2016-8-7 22:57 | 显示全部楼层
红尘滚滚 发表于 2016-8-7 20:12
好乱,原来接口还有这么多讲究。

感觉还是SATA挺方便, 为什么没有SATA4.0了?  是速度上不去了? ...

针脚太少 跑不上去了
atmosphere 发表于 2016-8-7 22:58 | 显示全部楼层
飞翔的企鹅 发表于 2016-8-7 22:54
关键还有坑爹主板走的是PCIE2.0的X4,买之前先看看主板参数吧

那是接PCH的把 不过Z97和之前的带宽太少没办法 总不能牺牲显卡来做M.2
wszgz1987 发表于 2016-8-7 23:46 | 显示全部楼层
不错,长见识了
Suser 发表于 2016-8-8 09:11 | 显示全部楼层
扫盲长姿势了,可以更准确了解基础知识,避免以后闹笑话了
londbell 发表于 2016-8-8 09:18 | 显示全部楼层
这个科普做得很好。
easports1200 发表于 2016-8-8 09:34 | 显示全部楼层
我感觉如果U.2/SSF-8639接口能在台式机上普及也是不错的,可以充分利用机箱的硬盘位空间,PCI-E接口的设备现在也不少,显卡、扩展卡等
sss668800 发表于 2016-8-8 10:11 | 显示全部楼层
我就想问问z170用Intel 750会不会占用显卡的pcie带宽?
nighttob  楼主| 发表于 2016-8-8 10:21 | 显示全部楼层
sss668800 发表于 2016-8-8 10:11
我就想问问z170用Intel 750会不会占用显卡的pcie带宽?

1 我既不知道你用什么板子,又不知道你插在哪儿
2 显卡根本用不到那么大带宽
3 此问题跟存储无关
XXHJACK 发表于 2016-8-8 10:27 | 显示全部楼层
服务器用接口超混乱啊!不知好久能统一
satan001 发表于 2016-8-8 11:00 | 显示全部楼层
红尘滚滚 发表于 2016-8-7 20:12
好乱,原来接口还有这么多讲究。

感觉还是SATA挺方便, 为什么没有SATA4.0了?  是速度上不去了? ...

应该是sata接口针脚太少了,要提升带宽只能翻倍翻倍再翻倍运行速度,但是主控和线路没法承受。。。
来自苹果客户端来自苹果客户端
satan001 发表于 2016-8-8 11:04 | 显示全部楼层
sss668800 发表于 2016-8-8 10:11
我就想问问z170用Intel 750会不会占用显卡的pcie带宽?

这要看你什么具体型号主板,还有你显卡和ssd分别插在哪个pcie接口上。cpu提供的pcie带宽就那么多,具体显卡和ssd能用多少,取决于厂家用的芯片组/带宽拆分的PLX芯片/物理线路设计还有你板卡插的插槽位置。。。
来自苹果客户端来自苹果客户端
红尘滚滚 发表于 2016-8-8 11:04 | 显示全部楼层
satan001 发表于 2016-8-8 11:00
应该是sata接口针脚太少了,要提升带宽只能翻倍翻倍再翻倍运行速度,但是主控和线路没法承受。。。
...

原来速度不是想提就提的,明白了,谢谢
gtboy 发表于 2016-8-8 11:42 | 显示全部楼层
看来想体验nvme的速度还需要换主板啊。。。。
nighttob  楼主| 发表于 2016-8-8 11:44 | 显示全部楼层
gtboy 发表于 2016-8-8 11:42
看来想体验nvme的速度还需要换主板啊。。。。

NVMe的意义是降低开销并提高性能
低开销的优势任何平台都能获益,虽然这对家用来说并没什么明显效用,性能也一样

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部