MCPLive > 杂志文章 > SATA Express技术前瞻分析

SATA Express技术前瞻分析

2013-03-12窦乐《微型计算机》2013年2月下

随着SSD制程技术逐渐趋于成熟,以及闪存颗粒与主控芯片的不断改进与革新,大多数SSD已经逐渐迈向了SATA6Gb/s接口的600MB/s极限速度。现有的SATA接口面对SSD已经显露出了疲态,一场针对SATA接口的革新势在必行。这次,谁将有可能取代SATA 6Gb/s的地位?答案是——SATA Express!

图1:SATA从诞生之日起,就为PC的存储系统做出了不可磨灭的贡献
图1:SATA从诞生之日起,就为PC的存储系统做出了不可磨灭的贡献

脱胎于PATA的Serial ATA(SATA)接口到如今已经成为了使用得广泛的PC存储设备外部接口。对于HDD来说,SATA为HDD的性能发挥提供了完美的支持。相比PATA的I DE接口,SATA接口以高速、高效的优势,将H DD的性能充分发挥了出来。不过,自从2010年以来,SSD在PC领域逐渐崭露头角,在2012年更是借着制程技术的进步带来的成本降低以及HDD机械硬盘涨价风波的契机,逐渐显示出普及之势。而随着SSD性能指标的不断更新和层出不穷的高速新品,玩家们忽然发现,即使新的SATA 6Gb/s接口所提供的带宽也已经有些捉襟见肘了—S ATA此时反而成了磁盘性能提升的瓶颈所在。

有鉴于此,SATA-IO这个制定维护SATA行业标准的巨头从2011年开始,就开始构建SATA 3.0(6Gb/s)之后的SATA规范,作为SATA 6Gb/s的后继者,其被命名为SATA Express。

图2:SATA Express主要是应提速的需求而诞生,从图中可以清晰地看到从SATA 6Gb/s到SATA Express,性能有了飞跃般的提高,而能耗仅增加了4%。

图2:SATA Express主要是应提速的需求而诞生,从图中可以清晰地看到从SATA 6Gb/s到SATA Express,性能有了飞跃般的提高,而能耗仅增加了4%。
图2:SATA Express主要是应提速的需求而诞生,从图中可以清晰地看到从SATA 6Gb/s到SATA Express,性能有了飞跃般的提高,而能耗仅增加了4%。

非SATA 4.0,Why SATA Express?

在SATA 6Gb/s之后,SATA-IO为何“急着”着制定新的SATA规范?为何下一代的标准叫做SATA Express?按照SATA-IO组织官方给出的资料,主要是有以下几个原因:

1.出于常规性更新换代升级所需,SATA的换代提速势在必行。

2.部分个人用户端(尤其是PC端)的SSD从2012年以来逐渐显露出对6Gb/s以上速度的需求。

3.但是,个人用户端的SSD需要6Gb/s以上带宽的数量并不多。

4.在可预见的未来,6Gb/s的带宽将完全能满足HDD机械硬盘磁盘系统的需求。

5.后,也是重要的,SATA-IO想要将这一次SATA提速所带来的成本上升控制在小的范围内。

事实上,如果按照SATA-IO组织一贯的更新换代思路,作为SATA 6Gb/s理所当然的替代者应该是SATA 4.0(划中的12Gb/s带宽)。而T10(SAS)组委会也已经在过去的几年中为12Gb/s带宽做了足够多的工作。但是在参考了设计SAS 12Gb/s规范的困难过程后,SATA-IO意识到要将SAS存储总线带宽从6Gb/s提升到12Gb/s却一点也不容易。计划中的SAS 3.0(12G b/s)需要在传输端做到非常精准的平衡均等化,这就在无形之中极大地增加了PHY物理层和接口控制器的复杂性。直接反应到芯片层面的话,这种做法就是大量增加芯片的面积——直接增加了成本。同时,为了支持新的传输规范,当前所用的磁盘数据传输协议也必然会进行重新制作,工作量巨大,而且要协调不同厂商对此进行同步并统一标准也是非常困难。后一点,现有针对6Gb/s SATA规范所设计的PCB与线缆在12 Gb/s规范下将不具备足够的可靠性来承载大流量的数据。

退一步说,即使SAS 3.0的12Gb/s带宽规范研发一切顺利,但是要将其转化到SATA规范上来,也并非易事。至少在2013年以及未来的几年时间内,SATA 12Gb/s还达不到普及和实用的程度。而通过SATA-IO所给出的5点理由中的3和4也可以看出,更高速度的SATA规范在未来几年内的应用范围还较为有限。而SATA 6Gb/s将继续在主流储存市场上呼风唤雨。因此,笔者认为,就可见的未来来说,SATA 12Gb/s将没有任何经济价值和市场竞争力,毕竟它所涉及到的成本还是有些太高了。

因此,不难看出,此时S ATA-IO急需一个折中的方案——既能将SATA的速度按照Roadmap的规划往上提升一截,又不至于带来大量的成本增加和设计上的复杂性,好还能有优秀的兼容性,以便顺利实现SATA 6Gb/s的升级。在经过仔细的分析与研究之后,SATA-IO找到了下一代SATA规范的佳发力点——在PCI-Express总线上做文章!而新的SATA规范也因此被命名为SATA Express。

PCI-Express(后文简称PCI-E)作为使用了多年的成熟技术,它能提供给设备相当不错的带宽,而新的PCI-E3.0(8Gb/s,x1)即使在单通道的状态下也能够提供比SATA6Gb/s更高的带宽。而且在SATA Express之前,PCI-E被用作磁盘传输通道的范例也并不少见,尤其是在CES 2013展会上,大量的PCI-E SSD亮相又掀起了新一波的SSD竞速大赛。而且对于PCI-E来说,要提升SSD的性能其实也很简单,只要为S SD分配两个PCI-E 3.0通道,那么SSD的理论大传输带宽就能迅速攀升至16Gb/s,这样就给了用户端的SSD以巨大的空间去提升性能。而在未来,预计将在3到4年内出现的PCI-E4.0的带宽更是在3.0的基础上翻倍,达到了每个通道16Gb/s带宽的恐怖数据,因此SATA Express未来还大有可为。

图3:与传统SATA相比,SATA Express完全是基于PCI-E方式。
图3:与传统SATA相比,SATA Express完全是基于PCI-E方式。

图4:SATA Express设备的物理架构也相对较为简单,注意控制器是集成在设备端,分为AHCI和NVMe两种方式。
图4:SATA Express设备的物理架构也相对较为简单,注意控制器是集成在设备端,分为AHCI和NVMe两种方式。

架构解析——What is SATA Express

首先要说明的是,SATA Express是纯粹基于PCI-E总线的,在其中并没有任何的SATA链路层和传输层,因此在其中不存在任何的传输转接损耗——这就意味着用户可以完整地享受到PCI-E总线的全部性能。大家可以这样理解,有了SATA Express,现在的HDD或SSD就可以像显卡一样直接插在PCI-E插槽上使用。SATA Express将直接使用PCI-E带宽而舍弃现有的SATA总线架构与物理层设计。那么,相对于SATA 6Gb/s,SATAExpress到底做了那些技术与设计上的改变呢?让我们一起来看看。

图4中所示为SATA Express的物理层结构图。从硬件模型图上,我们可以较清楚地看出,所谓的SATA Express,其核心技术就是在主控端通过PCI-E总线,借助特殊的接口设计实现对SATA和PCI-E设备的完全兼容。而要让SATA和PCI-E存储设备能在同一电气环境的平台下完全兼容,在物理层接口的设计选择上就有讲究了。从已有的技术来看,有两种标准可以作为SATA Express设备的的物理层设计规范,其一是AHCI,另外一个则是近来在PCI-ESSD上风风火火的NVM Express(NVMe)。

从图5的路径1中可以看到,对于传统的SATA设备来说,AHCI就好比一个总线适配器(Hosts Bus Adapter,HBA),而且大多数情况下A HCI控制器内建在主机的芯片中。在这种工作模式下,应用程序首先经由PCI-E或其它系统总线与AHCI HBA会话,再经由SATA链路层与PH Y物理层通道与SATA设备通信。

而对于SATA Express设备来说,其工作模式目前有两种选择,其一是SATA Express/AHCI,另一种则是SATA Express/NVMe。其实这两种工作模式下的设备,你都可以将其视为一个基于PCI-E的插卡式设备。所不同的是,在设备端,其中之一集成的是A HCI控制器,而另一个则集成的是NVMe控制器。

首先来看SATA Express/AHCI模式(图5 路径2)。在这种工作模式下,应用程序首先在主控端通过AHCI驱动与PCI-E总线接口通信,然后经由SATA Express接口以及基于AHCI的物理层(设备端)与SSD等设备进行互动。相比之下,数据在系统主控端依赖的是PCI-E总线,而AHCI控制器则被集成在了终端设备上,此时的终端可被视为一个AHCI设备。显然,这种模式的大好处就在于它在本质上仍是基于AHCI物理堆栈架构的通信方式,因此在驱动上可以和现有的SATA/AHCI设备相关驱动保持完全一致,可以实现对旧设备的完全兼容,大大降低厂商在产品设计研发上的难度。不过这样做的缺陷也同样明显,那就是由于AHCI的物理架构已经比较陈旧,而且AHCI开发之初是为了提升HDD的潜能,并未专为SSD这种高速存储而优化设计,因而尽管有高速PCI-E总线的辅助,它仍然可能无法达到佳的传输性能,在对PCI-E带宽的利用率上也应该无法达到极致。

再来看SATA Express/NVMe模式(图5路径3)。在这种模式下,终端设备中必须集成NVMe控制器,并需要在主控端安装NVMe驱动以顺利实现设备与系统的正常通信工作。在具体的工作方式上,SATA Express/NVMe与SATA Express/A HCI基本类似,唯一的差别在于驱动不同。在主控端的系统中,应用程序是通过专用的NVMe驱动与设备进行通信。由于是全新的架构,N VMe无需像SATA Express/AHCI一样需要考虑与之前的设备之间的兼容性问题,而将精力都放在了如何提升SSD的性能上。因此,SATA Express/NVMe凭借更先进的指令执行效率和专为PCI-E而优化的设计,在性能上要胜过SATA Express/AHCI一筹,可以实现对PCI-E带宽的极限利用,而且用于SSD等存储设备还有更高效的指令执行效率。不过相对来说,它的兼容性就非常差,几乎都需要全新的设计,对于传统SATA设备不可能实现兼容,在驱动方面也需要重新安装,而不能像SATA Express/AHCI设备一样在系统集成驱动支持下即可顺利工作。

目前SATA-IO为SATA Express规划了这两种工作模式,但到底后哪一种会胜出,或者说二者将会在很长一段时间内并存,这恐怕还得取决于SATA-IO终的决定,以及各大厂商的产品设计推广需求了。不过就笔者的观点而言,SATA Express/AHCI模式的优点更胜一筹,关键是对现有SATA设备的兼容性更是其中大的亮点,恐怕在SATA Express的初期乃至中期的话,它应该会占有主导地位。

图5 :SATA Express硬/软架构及协同工作原理图
图5 :SATA Express硬/软架构及协同工作原理图

图6:借由SATA Express接口,各种形态的设备将被有机整合在一起。
图6:借由SATA Express接口,各种形态的设备将被有机整合在一起。

图8:不同颜色的两种SATA Express接口兼容性是不一样

图8:不同颜色的两种SATA Express接口兼容性是不一样

图9:SATA Express的PCI-E数据线都快有IDE数据线的大小了
图9:SATA Express的PCI-E数据线都快有IDE数据线的大小了

图7:AHCI与NVMe性能指标对比列表
图7:AHCI与NVMe性能指标对比列表

SATA Express来了,SATA为何还会长期存在?
SATA Express来了,SATA为何还会长期存在?

图10:正是因为SATA Express具有兼容并包的特色,无论是SATA设备还是PCI-E设备,都能在SATA Express上顺利使用。
图10:正是因为SATA Express具有兼容并包的特色,无论是SATA设备还是PCI-E设备,都能在SATA Express上顺利使用。

图11:预计将在2013年中后期发布SATA 3.2标准,其中就有SATA Express。
图11:预计将在2013年中后期发布SATA 3.2标准,其中就有SATA Express。

接口详解——兼容与高速并存

在着手开发SATA Express规范的同时,SATA-IO也同时成立了SATA Express的数据线与插槽设计工作小组。从目前SATA-IO发布的资料来看,在SATA Express上,将可能存在两种规范的接口(图8、图9)。

SATA-IO为SATA Express规划的第一种是基于蓝色调的全兼容接口。这种接口将可以实现对现有SATA设备的完全兼容使用,同时它也可以接纳全新设计的SATA Express PCI-E数据线。该接口在每个端口的电路设计上多出了一个针脚,这是专门用于检测端口插入的是传统SATA数据线,还是全新的SATA Express PCI-E数据线。检测结果将被反馈到系统中,系统再根据检测结果对插入的设备进行定性分析,并调整相应的工作模式。

另一种使用黄色调的SATA Express接口则在蓝色兼容接口的基础上增加了防呆凸点设计,由于这个凸点的存在,因此现有S ATA数据线将无法插入这种类型的SATA Express接口。很明显,SATAIO提出这种设计就是专为SATA Express/NVMe而准备,专门针对追求极速的SSD等设备而作,不考虑兼容性问题。

在接口的类型上,初期的SATA Express将会存在两种规格,分别是SATA Express PCI-Ex1和PCI-Ex2,带宽分别为8Gb/s和16Gb/s。相信大家看到这里就应该能够明白,这是根据接口使用的PCI-E 3.0通道数的不同而做出的区别。而在数据线端,SATA Express也将根据速度的不同而区分为PCI-Ex1数据线和PCI-Ex2数据线。

可以预见的是,对于现在的存储市场而言,占据绝大部分市场份额的仍是H DD机械硬盘,而机械硬盘固有的性能瓶颈也决定了SATA Express接口在其上还暂时无用武之地,SATA 6Gb/s仍将是主旋律。目前来看,要将HDD机械硬盘从SATA 6Gb/s直接更新到SATA Express是不现实的,所以厂商们必须要保证对SATA 6Gb/s接口的HDD兼容的话,在主板上使用PCI-E/SATA兼容的SATA Express接口是好的选择。

SATA Express,前景可期

目前SATA-IO还在对SATA Express做后的讨论与定案,而其标准的正式发布,估计快也要到2013年中后期了。不过通过对现有资料的分析,我们应该能够看出,SATA Express的大改变就在于实现了从传统SATA环境到PCI-E的转变。而SATA Express想要在后期再做出性能上的调整也非常简单—只需要增加PCI-E的通道数量,就能继续提升带宽,升级也非常方便。

SATA Express的主要意义在于为高速SSD和混合硬盘等存储设备提供更高性能的应用环境,对这部分高速存储设备而言,SATA Express有很大的意义。而SSD在结构上的特殊性也决定了它有着“无限”提升速度的可能性。因此,笔者认为,依托SATA Express,未来的SSD又将会进入一个竞速时期。而这一切,应该在SATA Express正式发布之后就能看到苗头。当然,主板厂商对于SATA Express的支持快慢也是一个决定性因素。如果业界动作快的话,在SSD领域,SATA Express取代SATA 6Gb/s成为主流,完全是可期的事情。

编者注:本文所有引用的资料皆来自SATA-IO的官方网站目前所公布的资料。目前SATA Express尚未正式发布,因此SATA Express的终形态与技术参数或许会与本文有所出入。

分享到:

用户评论

共有评论(3)

用户名:

密码: