SATA Express

SATA Express(英文:,亦可缩写为Serial ATA Express,也有坊间的非官方缩写SATAe)是一种基于SATAPCI Express(PCIe)而来的高速电脑总线,用于SATA、PCIe存储设备,最初是作为SATA 3.2版标准发表。[1]

SATA Express
主板上的SATA Express连接端口
英文全名Serial Advanced Technology Attachment Express
发明日期2013年
带宽最高 1969 MB/s(采用SATA Express物理接口,PCIe 3.0 ×2)
类别串行
热插拔支持,需要其他系统组件配合[1]
外置接口不支持

来历

可用性

最初内置SATA Express控制器的是英特尔于2014年的9系列PCH芯片组(H97、Z97),适用于Haswell微架构的处理器(LGA 1150插槽)。[2][3]不过,2013年11月华硕发布了带有SATA Express连接端口的「Z87-Deluxe/SATA Express」主板,使用一颗由祥硕科技提供的SATA/PCIE分配芯片ASM106SE和相应的多任务器芯片支持,不过这款主板仅在2014年的CES消费电子展上展出以后便无任何推出市场的计划了。[4][5]

2014年4月,华硕公开展示了一种准量产型的SATA Express硬件,并支持华硕称为「带独立展频时钟的分立式基准时脉」(SRIS)特性。SRIS的要点在于在SATA Express存储设备上增加一个用于数据信号传输的时钟发生器,在主板的固件上予以额外支持,来降低SATA Express数据连接线传输同步PCIe总线信号时屏蔽的技术需求,并降低辐射。[6][7][8]

2014年5月,首批使用Z97和H97芯片组的主板上架贩售,不少主板不仅提供了SATA Express连接端口,还提供了M.2插槽(M.2是一种界面卡式存储器连接结构,安装于主板上,和SATA Express原生物理界面一样提供PCIe和SATA的脚位)。Z97和H97为每个SATA Express连接端口各提供了PCIe 2.0 ×2规格的PCIe信道,每个SATA Express设备可拥有1GB/s的带宽。[3][9][10]不过这两款芯片组的主板都主要用于高端性能机桌面型平台,对一般主流级市场影响不大。[11][12]而极致性能级桌机平台上,英特尔于2014年8月推出了支持SATA Express的X99芯片组。X99主板上SATA Express界面的PCIe信道仍由X99 PCH提供,而M.2插槽的PCIe信道则是视主板厂商而定,可从X99 PCH上引出两条PCIe 2.0信道,也可从LGA 2011-v3插槽的处理器上引出最多4条PCIe 3.0信道,来供M.2插槽使用。[13]

AMD则于2017年发表了Socket AM4Socket SP3(r2)/LGA 4094处理器平台,内置SATA Express控制器。[14]

使用度

SATA Express的推广使用上,分为两种情况。单就SATA Express控制器本身而言是算成功的,至2017年推出的主板芯片组、x86 CPU/SoC均有支持。然而就SATA Express物理接口上来说则是相当的失败,以至于SATA Express协定被NVMe协定取代,SATA Express物理接口也被后续者M.2U.2取代,载有SATA Express物理界面的主板可谓是相当的少,早期甚至连驱动程序也欠奉;至于SATA Express物理界面的存储设备也可谓寥寥无几。[15][16]

2015年SATA Express发布了一种兼容SAS、PCI Express x4、SATA总线的的U.2连接器界面,U.2更多用于服务器等企业应用场合。

特性

SATA Express软件体系结构的一个高层次概览,可以看到SATA Express总线并没有选择另立总线协定,而是选择同时支持原有的SATA设备以及PCIe存储设备(通过AHCI或NVMe逻辑设备接口)[17]:4

SATA Express本身配备了新的物理连接界面,连接端口可向下兼容原有SATA标准的SATA连接线插头,[18]而实际上SATA Express是使用两条PCIe信道传输数据,其对应的连接端口几乎相当于一个特化的PCIe ×2插槽,所以基于SATA Express的存储设备是通过PCIe总线与SATA Express控制器进行通信的。[19]不像此前的数个SATA标准,由于固态硬盘机(SSD)的长足发展和越发广泛的使用,SATA 3.0对于SSD来说已不敷使用,能在与旧设备兼容的基础上比SATA 3.0(6 Gbps)提升多倍的总线带宽,SATA 3.2选择使用PCIe和SATA共用技术标准。[20]不过相比原来的SATA标准来说,为了能在PCIe总线上运行而修改了大量的技术参数标准,而为了兼容旧有的SATA,运作时功耗又会比只使用PCIe总线的控制器要高。[21][22]选择与PCIe走在一起的另一个原因是,作为一个可广泛适配的电脑总线,PCIe可在提供足够的带宽的同时,还能通过增加PCIe信道数来达成成倍带宽提升。[23]

此外,因为SATA Express支持原来在SATA逻辑接口层(面向操作系统)上运作的AHCI,使得支持只有逻辑接口层标准的NVMe(AHCI的继任者)也成为了可实现的目的,只要SATA Express的存储设备支持。支持AHCI可确保能兼容现时大量的旧型SATA设备和旧版的操作系统(如Windows 7),对NVMe的支持则可全力发挥PCIe存储设备的功能与性能,像是大量I/O操作的并列化运行。[17]

SATA Express接口同时支持PCIe存储设备和SATA存储设备,其物理连接接口占用两条PCIe 2.0/3.0信道和两个SATA 3.0(6.0 Gbps)连接端口(两种连接接口重用一个物理连接端口),主机和存储设备之间的连接是纯PCIe总线连接的,不需要额外的总线抽象层。[19][22] 2013年8月的SATA 3.2版本规范中,正式将SATA Express总线标准推出,并公布其硬件规格以及电气特性参数。[1][24]

SATA Express选择使用PCIe,使得其性能可以通过多条并列的或是更高版本的PCIe总线来获得性能的提升。举个例子,使用PCIe 2.0 ×2时,可在8b/10b编码及2×5 GT/s的吞吐量时获得1GB/s的带宽;而使用PCIe 3.0 ×2时,同样信道下使用128b/130b编码、2×8 GT/s的吞吐量时可获得接近2 GB/s(实际1,969MB/s)的带宽。[19][23]作为对比,SATA 3.0(6 Gbps)仅拥有0.6 GB/s的带宽,使用的是效率相对较低的8b/10b编码

运行模式

对于SATA Express控制器和其连接的存储设备,它们可使用3种不同的逻辑设备接口和命令集:[22][17]

传统SATA

用于向下兼容传统的SATA设备(包括使用AHCI逻辑接口的SATA设备)、SATA Express控制器提供的SATA 3.0连接端口。

使用AHCI的PCI Express

一来是用于使用PCIe总线并通过AHCI逻辑接口与主机连接的PCIe SSD;而二来是在操作系统中以兼容性为目的,提供非性能优化,以广泛使用的SATA模式(通过AHCI逻辑接口)访问PCIe SSD(即AHCI模式,方便安装不支持NVMe的旧版操作系统,如Windows 7)。在AHCI开发的时代,系统的主机适配器将CPU/内存子系统与相对慢得多的、基于旋转磁性介质的存储子系统,AHCI是针对这种悬殊的速度差来进行优化设计的。而到了固态硬盘广泛使用的时代,AHCI便出现了一些与固态硬盘的运作原理不相适应之处而导致的性能低落,现时固态硬盘机采用的闪存,存储原理与DRAM有类似之处(尽管速度仍是慢得多),不同于旋转存储媒介。

使用NVMe的PCI Express

用于使用PCIe总线并通过NVMe逻辑设备接口与主机连接的PCIe SSD。NVMe是一种转为闪存设计的高性能、可扩展的主机控制器接口,其高性能主要在于低延时和I/O操作的并列性,现代CPU、系统平台及应用均可受益。相比AHCI,NVMe提供在主机硬件和软件可支持的情况下提供原生的存储并行性支持,更少的数据存储层级、更深的命令队列和更高效的中断处理。

物理界面

SATA Express主机连接器,即一般的「主板插座」(Host plug),可连接两个传统SATA设备或是一个SATA Express设备[25]

SATA Express原生物理接口

共有五种物理是SATA Express可用的,取决于设备的用途:[18]

  • Host plug:即原生SATA Express物理接口,用于主板、附加控制器(如扩展适配器)上。与旧型SATA设备无缝兼容、不需要额外的适配器或转换器的保守设计。[18]主板一侧的连接器可选择连接两个旧型SATA设备或是一个SATA Express连接线的PCIe固态硬盘。而连接端口上的总线工作在PCIe模式还是SATA模式,取决于所连接的存储设备。[25]
  • Host cable receptacle:SATA Express数据连接在线的插头,用于连接主板上的Host plug插座,不兼容于旧SATA插座。
  • Device cable receptacle:SATA Express数据连接在线的插头,用于连接存储设备,兼容旧型SATA插座,一个Device cable receptacle插座可插上一条旧SATA连接线与主板的SATA插座连接,不过这样的话设备只会在SATA模式运作。
  • Device plug:使用于SATA Express存储设备上,这种连接端口是部分向下兼容设计,可令设备与多链接SAS(MultiLink SAS)或与下面提到的U.2主板插头配合使用。[26][lower-alpha 1][lower-alpha 2]然而,SATA Express在设备与主板连接后,需要设备支持PCIe连接时方能打开PCIe信道。
  • Host receptacle:与M.2类似的板上连接方式,不需要连接线。这种连接方式间接兼容连接一个旧型SATA设备。

这五种SATA Express物理连接器仅提供两个PCIe信道(即PCIe ×2规格),毕竟一开始就是基于旧版SATA及SAS物理接口改造的保守设计,注重向下兼容性和成本效益,以便降低推广成本,而且就算因性能接受度问题(仅支持到PCIe ×2)没有厂商愿意推出搭载这类连接器的主板或设备,兼容SATA接口的设计也能保证其可用性及重用性。

U.2和M.2

事实上SATA-IO并不满足于让SATA Express仅支持到PCIe x2的规格。SFF-8639连接器规格(即后来的U.2)支持PCI Express x4、SASSATA总线,但采用线缆结构,主要用于企业级、服务器固态存储设备。[26][29][30][31]至2015年3月,一些厂商推出了使用U.2连接器、支持NVMe的固态硬盘产品(如Intel 750系列)[27][32][33],预料本规格在性能上会获得更广的接受度,因为和M.2一样可以使用PCIe x4的规格,比原生SATA Express的高出一倍的PCIe信道,能达成最高约32Gbps(约4GB/s)的带宽,同时保有SATA等旧型总线的间接兼容性。因针脚定义相同,SATA Express也可直接使用M.2物理接口来实现板上连接,而市面上也有M.2与U.2的被动转接器贩售。[34]也有SATA Express设备直接采用PCIe物理规格的例子。

U.2支持热插拔而M.2不支持热插拔;U.2可使用3.3V电源电压和12V电源电压,而M.2只能使用3.3V电源电压;M.2可应用于固态硬盘无线网卡等设备,而U.2仅用于2.5英吋固态硬盘。

下表简略展示SATA Express不同连接器之间的兼容度:

连接器兼容性[18]:1
  SATA Express
主机线缆
插座
SATA Express
设备线缆
插座
SATA Express
主机插座
SATA线缆
插座
U.2背板
插座[lower-alpha 1]
SAS MultiLink
插座[lower-alpha 2]
SATA Express
主机插头
SATA Express
设备插头
[lower-alpha 3] [lower-alpha 3]
SATA
设备插头
[lower-alpha 4] [lower-alpha 4]

兼容度

SATA Express向下兼容是设备层级的,只要存储设备支持SATA均可使用;而PCIe模式,只要主板芯片组/SoC有SATA Express控制器,也只需设备支持即可正确打开。不过无论是何种模式,仍然需要操作系统驱动程序的支持。

机械参数上,无论是原生SATA Express连接器还是U.2连接器,针脚的功能设置类似于USB 3.0向下兼容USB 2.0的做法,原生SATA Express在两个旧型SATA 7针连接器的基础上另外添加了其它PCIe所需针脚位,也因此可让旧型SATA数据传输线适配(最多插入两个设备)。[18][25]而U.2则是采用与M.2类似的针脚定义,U.2需要额外的被动适配器才能与旧型SATA设备连接。另外,现时不是所有的主板都配备U.2连接端口,与M.2类似的,需要PCIe转接卡(被动或主动的,无桥接芯片的被动适配器一般用于纯PCIe设备,带桥接芯片的主动适配器一般用于转接SATA连接端口设备);如果主板上配备了M.2连接端口,除了使用M.2规格的设备以外,也可通过被动转接器使用U.2的设备而无带宽损失。[34]

软件层面上,操作系统只要有AHCI驱动程序即可打开SATA Express的SATA模式(AHCI接口)访问旧型SATA设备,或是通过AHCI接口访问SATA Express连接器的PCIe固态硬盘,与使用普通的SSD无甚区别。但是NVMe的支持上,则需要较新的操作系统才有内置的驱动程序支持,旧操作系统(包括Windows 8及之前版本的WindowsLinux内核版本3.3以前的Linux内核FreeBSD 9.2[35]以前的FreeBSDMac OS X 10.10以前的Mac OS X)需要额外的驱动程序方能支持。[17]虽然一些支持NVMe的SSD有兼容模式以便安装旧版操作系统,不过像是Intel 600p这样的SSD,本身无AHCI兼容模式支持的,需要在加载NVMe驱动的情况下安装旧版操作系统。

参见

备注

  1. U.2连接器最初名为SFF-8639,2015年6月改称U.2[27]
  2. MultiLink SAS receptacle也称SFF-8630连接器[28]
  3. SATA Express设备插头与U.2 (SFF-8639)或SAS MultiLink (SFF-8630)连接器匹配,但需要主机端及设备都支持才会打开PCIe信道
  4. SATA设备插头与U.2 (SFF-8639)或SAS MultiLink (SFF-8630)连接器匹配,但需要主机端及设备都支持才会打开SATA信道

参考数据

  1. (PDF). knowledgetek.com. SATA-IO: 210–232. August 7, 2013 [April 7, 2015]. (原始内容 (PDF)存档于2014-03-27).
  2. Niels Broekhuijsen. . Tom's Hardware. April 17, 2013 [January 10, 2014].
  3. Andrew Cunningham. . Ars Technica. May 11, 2014 [May 13, 2014]. (原始内容存档于2017-02-15).
  4. Niels Broekhuijsen. . Tom's Hardware. January 7, 2014 [January 10, 2014].
  5. Chris Ramseyer. . tweaktown.com. December 20, 2013 [January 10, 2014]. (原始内容存档于2017-06-21).
  6. Geoff Gasior. . techreport.com. May 1, 2014 [May 5, 2014]. (原始内容存档于2017-07-01).
  7. . Asus. April 29, 2014 [May 5, 2014]. (原始内容存档于2016-10-03).
  8. (PDF). PCI-SIG. January 10, 2013 [May 5, 2014]. (原始内容存档 (PDF)于2016-08-01).
  9. Sean Portnoy. . ZDNet. May 12, 2014 [May 13, 2014]. (原始内容存档于2014-11-13).
  10. Ian Cutress. . AnandTech. May 11, 2014 [May 13, 2014]. (原始内容存档于2014-05-14).
  11. Thomas Soderstrom. . Tom's Hardware. May 13, 2014 [May 13, 2014]. (原始内容存档于2020-11-21).
  12. Nathan Kirsch. . Legit Reviews. May 12, 2014 [May 13, 2014]. (原始内容存档于2016-04-22).
  13. Ian Cutress. . AnandTech. September 25, 2014 [October 2, 2014]. (原始内容存档于2017-06-04).
  14. Cutress, Ian. . Anandtech. 13 December 2016 [13 December 2016]. (原始内容存档于2020-01-10).
  15. Mark Kyrnin. . June 5, 2016 [November 29, 2016]. (原始内容存档于2017-11-15).
  16. Koen Crijns. . December 30, 2014 [November 29, 2016]. (原始内容存档于2015-01-09).
  17. Dave Landsman. (PDF). SATA-IO. August 9, 2013 [October 2, 2013]. (原始内容存档 (PDF)于2013-10-05).
  18. (PDF). SATA-IO. August 9, 2013 [October 2, 2013]. (原始内容存档 (PDF)于2013-10-04).
  19. (PDF). SATA-IO. August 8, 2013 [September 11, 2015]. (原始内容 (PDF)存档于2016-03-04).
  20. Zsolt Kerekes. . storagesearch.com. June 25, 2014 [July 18, 2014]. (原始内容存档于2017-05-25).
  21. Kristian Vatto. . AnandTech. March 13, 2014 [July 11, 2014]. (原始内容存档于2017-06-05).
  22. Paul Wassenberg. (PDF). SATA-IO. June 25, 2013 [October 2, 2013]. (原始内容存档 (PDF)于2013-10-04).
  23. (PDF). PCI-SIG. July 11, 2012 [July 2, 2015]. (原始内容 (PDF)存档于2015-07-03).
  24. Gareth Halfacree. . bit-tech.net. August 13, 2013 [March 27, 2014]. (原始内容存档于2014-03-30).
  25. Mark Tyson. . hexus.net. April 24, 2014 [November 29, 2014]. (原始内容存档于2017-07-20).
  26. (PDF). Intel: 55. November 27, 2014 [March 26, 2015]. (原始内容 (PDF)存档于2016-03-04).
  27. Paul Alcorn. . Tom's Hardware. June 5, 2015 [June 9, 2015].
  28. Harry Mason; Marty Czekalski. (PDF). Storage Networking Industry Association: 19. 2011 [June 10, 2015]. (原始内容 (PDF)存档于2015-05-01).
  29. Anand Lal Shimpi. . AnandTech. September 13, 2012 [October 12, 2013]. (原始内容存档于2017-06-05).
  30. (PDF). ssdformfactor.org. SSD Form Factor Work Group: 48, 49. December 12, 2012 [June 12, 2015]. (原始内容 (PDF)存档于2016-05-06).
  31. . storageinterface.com. [October 12, 2013]. (原始内容存档于2013-10-13).
  32. (PDF). Intel: 18, 20–22. March 20, 2015 [April 11, 2015]. (原始内容存档 (PDF)于2015-04-02).
  33. (PDF). ftp.seagate.com. SFF Committee. January 15, 2015 [April 12, 2015].
  34. . xfastest.com. [2017-06-15]. (原始内容存档于2017-07-01).
  35. . www.freebsd.org. [2020-04-05]. (原始内容存档于2020-02-02).

外部链接

维基共享资源上的相关多媒体资源:SATA Express
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.