随着SSD闪存颗粒与主控芯片的不断改进与革新,大多数SSD已经逐渐迈向了SATA 6Gb/s接口600MB/s的极限速度,现有的SATA接口面对SSD已经显露出了疲态。在这种情况下,SATA-IO着手制定了全新的SATA Express规范,希望借助于PCI-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接口的能耗大,性能提升有限,因此未能成为下一代平台的选择。
那么我们为什么需要更快速的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在待机和工作两种不同的状态下功耗分别相同)。但如果接口成为瓶颈的话,则意味着工作时间增长,从而增加耗电量。
上文中描述了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设备
相对AHCI、SAS传统工作模式,NVMe工作模式更加高效,其性能的领先优势非常明显。
目前,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的终主板和设备接口上,我们可能还会看到一些创意设计。
性能的提高不能只依靠硬件。更快的硬件有助于使得软件发展不受限制,而终充分利用硬件性能的还是优秀的软件,在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驱动,因此用户所需要做的就是等待厂商发布相关产品,然后就可以购买使用了。