MCPLive > 杂志文章 > SATA EXPRESS技术新动态及性能预览

SATA EXPRESS技术新动态及性能预览

2014-05-26张平《微型计算机》2014年4月下

随着SSD闪存颗粒与主控芯片的不断改进与革新,大多数SSD已经逐渐迈向了SATA 6Gb/s接口600MB/s的极限速度,现有的SATA接口面对SSD已经显露出了疲态。在这种情况下,SATA-IO着手制定了全新的SATA Express规范,希望借助于PCI-Express的高带宽和多通道来传输硬盘的数据。那么,SATA Express目前的发展状况究竟如何?其实际产品对性能的提升是否有想象中那么大呢?

SATA EXPRESS技术新动态及性能预览

为什么需要更快的传输接口

在硬盘还全部采用温彻斯特机械架构的时代,由于性能有限,SATA-IO对硬盘接口的发展速度没有太多的紧迫感。但在固态硬盘出现后,这一切都改变了。固态硬盘的特点在于不使用任何机械构件,它采用基于NAND架构的闪存颗粒进行存储。这种存储单元是非易失性的,即使断电后也不会丢失数据,并且它的性能提升还有很大的空间,也不像机械硬盘那样已经被物理定律所限制。因此SSD的出现,使得数据吞吐量大幅度提升,相关的接口也需要越来越快的速度才能满足SSD的需求。SATA-IO组织在SSD的快速发展中感受到了压力,它们主流的SATA接口已经法满足SSD的需求了。

我们可以举一个例子来说明SSD有多快。目前,20nm工艺的128G bit NAND闪存读取一个页面也就是16KB的数据,只需要115微秒——大概每颗芯片的数据吞吐速度是140MB/s。在一块256GB SSD上,如果配备了16颗这样的闪存芯片并同时进行并行传输的话,那么总的数据吞吐速度高可达140MB×16=2240MB/s——这个数值已经接近SATA 6Gb/s接口速度的4倍。

SSD的速度如此之快,使得目前广泛而主流的SATA接口迅速成为瓶颈。事实上当2011年初,英特尔主板芯片组才开始采用当时新的SATA 6Gb/s接口时,Sand Force所使用的SF-2000系列主控芯片的理论速度就已经达到甚至超过了接口速度。于是,SATA-IO组织需要快速制定更新的标准来适应发展,比如SATA 12Gb/s。但新标准实际上并没有这么容易,因为对串行的SATA规范来说,如果要进一步加快传输速度,不但成本较高,而且主要是电源耗费将会更为明显,能耗比会大幅降低且不够经济。

因此,SATA-IO不得不寻找其他更为高效、经济的技术来发展SATA系列接口。于是他们找到了PCI Express,基于这个目前为成熟的高速通道技术来开发SATA接口,即现在众所周知的SATA Express接口(有关SATA Express接口的技术,我们曾在2013年2月下刊《SATA Express技术前瞻分析》一文中进行过详细介绍)。从技术层面来说,使用PCI-Express简直就
是顺理成章,这项技术不但成熟可靠、扩展性强,甚至已经集成在目前几乎所有的PC平台中。事实上,PCI-Express已经被广泛使用在高端企业级SSD市场中,因为SATA或者SAS这样的接口速度,完全不能满足企业用户苛刻的性能需求。

从性能上来看,PCI-Express更是秒杀了S ATA接口。即使比较老的PCI-E 2.0 x2的理论单向带宽都可以达到高8G b /s,超出SATA 6Gb/s达33%,当然在实际应用中的数据并没有这么高。根据测试,PCI- E 2.0 x2的有效数据传输速度达到780MB/s,即使这样也远远高于SATA 6Gb/s的有效传输速度560MB/s,超出幅度更是接近40%。这还仅仅是PCI-E 2.0的数据,目前所有SSD的PCI-E控制器的都基于PCI-E 2.0,在明年可能会升级到PCI-E 3.0。如果带宽和估计一样翻番的话,那么至少1GB/s的实际带宽将成为常态,超越SATA 6Gb/s的带宽将达到100%或更高。

在所有传输标准中,SATA 12Gb/s接口的能耗大,性能提升有限,因此未能成为下一代平台的选择。
在所有传输标准中,SATA 12Gb/s接口的能耗大,性能提升有限,因此未能成为下一代平台的选择。

为什么需要更快的固态硬盘

那么我们为什么需要更快速的SSD?可能有不少读者认为现在的SSD搭配SATA 6Gb/s接口,实现560MB/s左右的大传输速度已经够快了,再继续快下去意义不大,除非你是专业人士或者发烧友。这听起来似乎挺有道理的,不过实际的市场情况还要复杂很多。

现实一点看,从SATA的SSD转向PCI-E的SSD可能不会给你带来过于明显的速度快感,这和你从HDD转向SSD是完全不同的,甚至对一个普通用户来说他根本就没有感觉—就像更换了CPU和GPU那样,很多用户也感觉不到什么明显的性能提升,除非你有一些专门的应用受益于所更换的设备。但如果新的设备耗电比旧的设备少很多,同时性能又提升了的话,SATA Express是否还显得很有意义呢?

回顾之前的发展,在PC和相关设备上创新和改进非常多。相对于其他部件而言(比如GPU),电池几乎没有革命性的变化,因此PC等厂商不得不依靠改进其余部件的耗电来增加整个设备的续航时间。如果你仔细研究过英特尔的发展战略,会发现移动和节能一直是人们关注的焦点。这就像即使没有增加电池容量也可以维持高达12个小时续航时间的MacBook Air那样——依靠的是更高效的芯片架构、更高的性能同时更严格的能量管理。这里的一个关键词是“race to idle”,也就是“快速闲置”,它表示更高性能的芯片完成任务的速度更快,空载时间更长,从而降低了总功耗。

SSD也是这样的,由于拥有更快的IO速度,固态硬盘会减少电能消耗。因为和HDD相比,SSD读取同样的数据会更快、等待时间更长(假设HDD和SSD在待机和工作两种不同的状态下功耗分别相同)。但如果接口成为瓶颈的话,则意味着工作时间增长,从而增加耗电量。

4K视频:需要更大的传输带宽

上文中描述了SATA Express这样更为快速的接口对移动用户的优势。除此之外,在准专业和专业市场上,由于4K视频的兴起,对IO性能的要求变得更为苛刻。以每秒24帧、无压缩的4K 视频(3840×2160,12位RGB色彩)为例,这样的视频大约需要900MB/s的带宽才能满足需求,这已经远远超过了SATA 6 Gb/s的极限。此外,对4K视频的压缩(1小时无损的4K视频大约需要3.22TB的空间)也非常重要,专业人士几乎都是多条视频一起压缩,这也大大超过了SATA6Gb/s的传输能力。

当然有些用户可以使用RAID来克服SATA带宽不足的问题。不过这会增加一些成本。首先购买多块SSD的花费可并不低,且RAID0阵列存在风险问题(任意一个磁盘损坏,整个数据彻底损坏),这使得人们不得不更为注重安全性。因此,虽然4K还没有成为主流,但是硬件设备们应该提前准备好——这又是一次商机,不是吗?

SATAe接口由两个SATA接口加上一个小接口组成,其体形比普通SATA接口大了很多,可使用普通的SATA硬盘,但SATA接口无法使用SATAe设备
SATAe接口由两个SATA接口加上一个小接口组成,其体形比普通SATA接口大了很多,可使用普通的SATA硬盘,但SATA接口无法使用SATAe设备

相对AHCI、SAS传统工作模式,NVMe工作模式更加高效,其性能的领先优势非常明显。
相对AHCI、SAS传统工作模式,NVMe工作模式更加高效,其性能的领先优势非常明显。

SATA Express技术发展现状

目前,SATA Express已经被纳入SATA 3.0标准,并被简称为SATAe。SATAe可以看作同时支持SATA和PCI-E的物理连接器。在PCI-E的规范方面,它可以支持PCI-E 3.0和PCI-E 2.0标准。不过由于PCI-E通道来源于主板芯片组或南桥芯片,因此SATAe暂时只能支持到PCI-E 2.0,绝大部分产品的实际应用带宽如前文所示会被限制在780MB/s。不过英特尔、AMD上游芯片组厂商在未来也会将PCH和芯片组的PCI-E规格升级到PCI-E3.0,这样一来,PCI-E 3.0 x2的实际数据带宽至少可以达到1560MB/s。显然对快速发展的SSD来说,PCI-E 3.0 x2才更为合适。目前SandForce、三星、英特尔对PCI-E3.0的支持还不明朗,但OCZ已经明确表示将在明年推出支持PCI-E 3.0的控制器。

提到相关的具体产品,目前华硕等厂商都推出了拥有SATAe接口的主板。比如华硕的一款主板工程版样品显示,它拥有两个SATAe接口。从外观来看,SATAe接口相当于两个SATA接口加上一个小接口连在一起。当使用传统的S ATA线缆和SATA硬盘时,SATAe上的SATA接口是可以正常工作的。但是如果使用专用的SATAe存储设备的话,那么利用PCI-E的高带宽,接口速度将会得到极大的提升。

主板厂商华硕表示,目前给出的SATAe接口很可能并非终设计。而终的SATAe可能使用一个大型的接头来代替三个分开的小接口。华硕使用的SATAe分开式接口的优势在于即使现在没有任何SATAe的设备,用户也可以使用SATA设备连接,或者使用一个转接子卡使得SATAe接口可以转接出一个PCI-E 2.0×2接口。终的SATAe接口设计可能和目前的“SATA接口+电源接口”的设计非常相像,这样它就可以直接插入任何设备了。

和之前所有的SATA接口一样,SATAe不提供电源(并未从PCI- E引出供电端来)。这是很奇怪的事情,因为PCI-E本身提供至少25W供电,基本上可以满足存储设备的需求。出现这样问题的原因,很可能是如果使用了包含电源的方案的话,SATAe接口和线缆的价格将变得比较昂贵,这是SATA-IO组织不愿意看到的。目前的SATA线缆的成本价格约每根0.3美元,但SATAe线缆的价格达到了每根1美元。因此,SATAe的设备还是得从电源取电,而且终SATAe线缆和接口看起来都比较大,不如SATA小巧方便。

从另一个角度说,SATAe线缆本身是可以整合电源输入功能的,15pin供电或者4pin供电都有可能。SATA-IO在这里只是起到建议和规范产品的作用,没有强制执行力。因此在采用SATAe的终主板和设备接口上,我们可能还会看到一些创意设计。

加入NVMe工作模式

性能的提高不能只依靠硬件。更快的硬件有助于使得软件发展不受限制,而终充分利用硬件性能的还是优秀的软件,在SSD上也是这样。当使用了SATAe接口后,整个磁盘带宽迅速增加,为了充分利用这样的物理接口,设计人员将对SATAe和SSD的工作模式做出专门的优化。

目前硬盘使用的工作模式被称作AHCI,这是2004年的规范。AHCI主要针对的目标是机械硬盘这种高延迟的旋转存储设备,而并非超低延迟的非易失性NAND闪存。因此,AHCI在SSD上作用不太大,为此业内开发了一个全新的技术来优化诸如SSD这样的闪存产品,这就是NVMe。

NVMe全称是Non-Volatile Memory Express,可以称作非易失性闪存加速技术。它是由英特尔、三星、LSI等80多个组织和厂商组成的产业联盟所制定的,专门针对SSD、PCI-E接口(SATAe)等产品。它的主要功能是,对从现在到未来十年内问世的各种存储设备的性能进行优化。而根据预计,到2020年左右,更为快速的RR AM以及MR AM将进入存储市场,届时NVMe技术将不再适用。

相对于AHCI,NVMe大的优势在于降低了延迟。NVMe精简了存储堆栈的调用,执行命令的时候不再需要读取寄存器,命令执行延迟仅2.8μs。而在AHCI工作模式下,由于架构设计,在每执行一条命令时,需要读取4次寄存器,使得命令的执行延迟增加到6μs。此外,N VMe的另一个重要改进在于支持多个队列和更深度的队列,其大队列深度达到64K。同时,NVMe对多核心CPU也提供了完美的支持,可以大限度地发挥出SSD的IOPS大性能。

不过目前消费级市场还没有产品支持NVMe,SandForce的SF-3700有可能在下半年发布,这也是首款明确支持NVMe技术的民用SATAe主控芯片。驱动方面,无论是Windows还是Linux,目前都已经有比较成熟的NVMe驱动,因此用户所需要做的就是等待厂商发布相关产品,然后就可以购买使用了。

突破780MB/s SATAExpress接口初测

虽然目前SATAe的设备还没有出现在市场上,但是华硕已经开发出了支持SATAe的Z87主板,并且给出了相关外围设备,因此本次测试就是基于华硕提供的SATAe平台。

华硕的这款Z87 SATAe测试主板支持两个SATAe接口。其中一个接口是直接从Z87 PCH芯片中引出,占据了Z87芯片中的两个PCI-E 2.0通道和两个SATA 6Gb/s通道;另一个是由一颗未发布的、型号为ASMedia ASM106SE的芯片所提供。由于目前还没有SATAe设备,因此华硕也一并提供了SATAe测试样板。测试样板本身很简单,它只有一个SATAe连接器、两个4pin电源输入、一个时钟电缆输入以及一个PCI-E插槽。

测试硬盘选用了浦科特ME6256 GB,这款SSD使用了PCI-E 2.0接口以及新的Marvell 88SS 9183 PCI-E控制器。在PCI-E 2.0 x2接口上,浦科特M6E有高达770MB/s的高读取速度,而在SATAe接口上,ME6的性能表现究竟如何?这非常值得期待。此外,本次测试还使用了OCZ Vertex450 256GB来测试SATAe接口连接SATA 6Gb/s存储设备时的性能表现。

测试结果令人惊喜,从下一页的测试数据来看,无论是使用PCI-E接口,还是通过SATAe接口连接ME6PCI-E SSD,其性能没有明显差别,大传输速度均突破了780MB/s。这是令人惊讶的成绩,因为在通常情况下,线缆的不同可能会导致延迟的产生。从这一点可以看出,SATA-IO的新接口在线缆传输效能上表现非常出色,不会带来额外的性能损失。而在SATAe接口使用SATA存储设备时,唯一的问题在于ASMedia的转接芯片有大约25%的性能下跌。出现这样的性能问题也不算特别意外,毕竟第三方SATA磁盘控制器的性能一般要比英特尔芯片组差。

测试平台

CPU 英特尔酷睿i7-4770K 3.5GHz

主机板 华硕Z87 SATAe

芯片组 英特尔Z87

芯片组驱动程序 9.4.0.1026

存储驱动程序 英特尔RST 12.9.0.1001

内存 海盗船DDR3-1866 2 x8GB(9-10- 9-27 2T)

显卡 英特尔HD 4600

图形驱动 15.33.8.64.3345

电源 海盗船RM750

操作系统 Windows 7 x64

略显粗糙的SATAe转PCI-E工程转接板,由于目前还没有任何SATAe设备,因此只能通过连接PCI-E SSD来测试SATAe的接口性能。

略显粗糙的SATAe转PCI-E工程转接板,由于目前还没有任何SATAe设备,因此只能通过连接PCI-E SSD来测试SATAe的接口性能。
略显粗糙的SATAe转PCI-E工程转接板,由于目前还没有任何SATAe设备,因此只能通过连接PCI-E SSD来测试SATAe的接口性能。

采用SATAe接口的华硕Z87工程版架构图,通过第三方芯片使其具备两个SATAe接口。
采用SATAe接口的华硕Z87工程版架构图,通过第三方芯片使其具备两个SATAe接口。

测试结果令人欣喜,SATAe接口的性能与PCI-E 2.0 x2接口相当,仅在使用SATA存储设备时,第三方控制器会出现性能下降的问题。

测试结果令人欣喜,SATAe接口的性能与PCI-E 2.0 x2接口相当,仅在使用SATA存储设备时,第三方控制器会出现性能下降的问题。
测试结果令人欣喜,SATAe接口的性能与PCI-E 2.0 x2接口相当,仅在使用SATA存储设备时,第三方控制器会出现性能下降的问题。

不容乐观的SATAe

测试结果很不错,SATAe表现出了和其带宽来源PCI-E至少一样的性能,但在整个测试过程中,总有一些问题值得我们思考:

首先,测试结果显示,PCI-E和SATAe基本一样快,那么用户为什么不直接使用PCI-E呢?目前绝大部分台式机都有空余的PCI-E插槽,如果SSD硬盘直接支持PCI-E就不会有这么多的麻烦问题,并且PCI-E插槽的兼容性更为出色,至少有一大票产品都可以插在PCI-E插槽上。况且SATAe仅仅是一个转接、兼容SATA的接口而已,本身技术特性没有什么独特的地方。

其次,对普通用户来说,他们不那么关心性能,甚至使用SATA接口就够用了。但是对真正关心性能的顶级玩家来说,SATAe却有点鸡肋。因为目前系统的PCI-E通道主要从CPU和芯片组中引出,其中CPU的PCI-E通道速度快,但基本上都会提供给显卡等设备而没有空余通道。芯片组中的PCI-E通道数量很少,一般只有8条,往往也会给诸如额外的USB 3.0、Thunderbolt、音频、千兆网络等设备,本身就会被占用不少,因此只能留下两个通道给SATAe,这就造成主板只能提供一个SATAe接口,扩展性能大打折扣。当然厂商可以使用一些PCI-E线路转接芯片来从一个通道中转接出更多的SATAe接口,但是多个高速设备挤占一个通道无疑会大幅度影响系统的性能,违背SATAe设计的初衷。

对于笔记本电脑等其余小型设备来说,SATAe存在的意义就更少了。因为SATAe的体形就决定了这种设备不太适合生存在笔记本电脑中,反倒是英特尔推出的M.2接口更适合在小体积产品中使用。对OEM厂商而言,目前已经有多达4个硬盘接口规格了,2.5英寸的SATA、半尺寸的PCI-E、M.2、mSATA,再来一个SATAe,实在是太麻烦了点。此外,重要的是,SATAe目前还没有完成设计规范,SATA-IO也没有公布详细的设计资料,这也需要一段时间才能完成。由于规范不齐全,英特尔本来打算在9系列芯片组上支持SATAe的,后来也取消了,现在看起来是彻底没影了,乐观也要在下下一代芯片组上才会正式支持。

分享到:

用户评论

用户名:

密码: