随着INTEL的915平台的发布,最新的ICH6-M也进入了我们的视野。而ICH6除了在一些电源管理特性方面有所增强外,也正式引入了SATA(串行ATA,以下简称SATA)和PCI-E概念。对于笔记本来说,从它诞生的那天起就一直使用着PATA(并行ATA,以下简称PATA)来连接硬盘,SATA的出现无疑
串行通信和并行通信
出处:SUNDIGI.COM
串行通信和并行通信
前言
随着INTEL的915平台的发布,最新的ICH6-M也进入了我们的视野。而ICH6除了在一些电源管理特性方面有所增强外,也正式引入了SATA(串行ATA,以下简称SATA)和PCI-E概念。对于笔记本来说,从它诞生的那天起就一直使用着PATA(并行ATA,以下简称PATA)来连接硬盘,SATA的出现无疑是一项硬盘接口的革命。而如今随着INTEL的积极推动,笔记本也开始迈入SATA的阵营。
关于SATA的优势,笔者相信诸位也都有了解。确实,比起PATA,SATA有着很多不可比拟的优势,而笔者将在本文中透过技术细节来多其进行分析。相信您读完本文后会对SATA有着更深入的了解。另外由于本文主要针对笔记本和台式机,所以诸如RAID等技术不在本文讨论范围之内。
串行通信和并行通信
再进行详细的介绍之前,我们先了解一下串行通信和并行通信的特点。
一般来说,串行通信一般由二根信号线和一根地线就可完成互相的信息的传送。如下图,我们看到设备A和设备B之间的信号交换仅用了两根信号线和一根地线就完成了。这样,在一个时钟内,二个bit的数据就会被传输(每个方向一个bit,全双工),如果能时钟频率足够高,那么数据的传输速度就会足够快。
图1:全双工串行传输
如果为了节省成本,我们也可以只用一根信号线和一根地线连接。这样在一个时钟内只有一个bit被传输(半双工),我们也同样可以提高时钟频率来提升其速度。
图2:半双工串行传输
而并行通信在本质上是和串行通信一样的。唯一的区别是并行通信依靠多条数据线在一个时钟周期里传送更多的bit。下图中,数据线已经不是一条或者是两条,而是多条。我们很容易知道,如果有8根数据线的话,在同一时钟周期内传送的的数据量是8bit。如果我们的数据线足够多的话,比如PCI总线,那一个周期内就可以传送32bit的数据。
图3:并行传输
在这里,笔者想提醒各位读者,对于一款产品来说,用最低的成本来满足带宽的需要,那就是成功的设计,而不会在意你是串行通信还是并行通信,也不会管你的传输技术是先进还是落后。
PATA技术的特点和缺陷
PATA技术的特点和缺陷
PATA接口的速度
我们知道,ATA-33的速度为33MB/S,ATA-100的速度是100MB/S。那这个速度是如何计算出来的呢?
首先,我们需要知道总线上的时钟频率,比如ATA-100是25MHz,PATA的并行数据线有16根,一次能传送16bit的数据。而ATA-66以上的规范为了降低总线本身的频率,PATA被设计成在时钟的上下沿都能传输数据(类似DDR的原理),使得在一个时钟周期内能传送32bit。
这样,我们很容易得出ATA-100的速度为:25M*16bit*2=800Mbps=100MByte/s。
PATA的局限性
在相同频率下,并行总线优于串行总线。随着当前硬盘的数据传输率越来越高,传统的并行ATA接口日益逐渐暴露出一些设计上的缺陷,其中最致命的莫过于并行线路的信号干扰问题。
那各信号线之间是如何干扰的呢?
1,首先是信号的反射现象。从南桥发出的PATA信号,通过扁长的信号线到达硬盘(在笔记本上对应的也有从南桥引出PATA接口,一直布线到硬盘的接口)。学过微波通信的读者肯定知道,信号在到达PATA硬盘后不可避免的会发生反弹,而反弹的信号必将叠加到当前正在被传输的信号上,导致传输中数据的完整性被破坏,引起接受端误判。
所以在实际的设计中,都必须要设计相应的电路来保证信号的完整性。
图4:信号反射问题的解决
我们看到,从南桥发出的PATA信号一般都需要经过一个排阻才发送到PATA的设备。我们必须加上至少30个电阻(除了16根数据线,还有一些控制信号)才能有效的防止信号的反弹。而在硬盘内部,硬盘厂商会在里面接上终端电阻以防止引号反弹。这不仅对成本有所上升,也对PCB的布局也造成了困扰。
当然,信号反弹在任何高速电路里都会发生,在SATA里我们也会看到终端电阻,但因为SATA的数据线比PATA少很多,并且采用了差分信号传输,所以这个问题并不突出。
2,其次是信号的偏移问题
理论上,并行总线的数据线的长度应该是一致的。而在实际上,这点很难得到保证。信号线长度的不一致性会导致某个信号过快/过慢到达接受端,导致逻辑误判。不仅如此,导致信号延迟的原因还有很多,比如线路板上的分布电容、信号线在高频时产生的感抗等都会引起信号的延迟。
图5:信号偏移
如图,在左侧南桥端我们发送的数据为[1,1,1,0],在发送到硬盘的过程中,第四个信号由于某种原因出现延迟,在判断时刻还没到达接受端。这样,接受端判断接受到的信号为[1,1,1,1],出现错误。由此也可看出,并行数据线越多,出现错误的概率也越大。
下图是SONY Z1的硬盘转接线,我们看到,设计师做了不少蛇行走线以满足PATA数据线的长度一致性要求。
图6:硬盘转接线上的蛇行走线
PATA的解决方案
PATA的解决方案
我们可以很容易想像,信号的时钟越快,被判断信号判断的时间就越短,出现误判的可能性就越大。见下图:
图7:总线频率和误判概率的关系
在较慢的总线上(上),允许数据信号和判断信号的时间误差为a,而在高速的总线上(下),允许误差为b。速度越快,允许的误差越小。这也是PATA的总线频率提升的局限性,而总线频率直接影响着硬盘传输速度。。。
3,还有是信号线间的干扰(串音干扰)
这种干扰几乎存在与任何电路。和信号偏移一样,串音干扰也是并行通信的通病。由于并行通信需要多条信号线并行走线(以满足长度、分布电容等参数的一致性),而串音干扰就是在这时候导致的。由于信号线在传输数据的过程中不停的以0,1间变换,导致其周边的磁场变化甚快。通过法拉第定律我们知道,磁场变化越快,切割磁力线的导线上的电压越大。这个电压将导致信号的变形,信号频率越高,干扰愈加严重,直至完全无法工作。串音干扰可以说这是对并行的PATA线路影响最大的不利因素,并且大大限制了线路的长度。
图8:信号串扰问题
如图,从南桥发出的信号在被串音干扰后,第二位已经出错,而第四位则处于判断准位的临界状态,已经无法识别。
事实上,除了信号干扰这一根本原因之外,PATA还有许多不尽如人意的地方,譬如不支持热插拔、容错性差、功耗高、影响散热及连接线长度有限等等。也因此,推动了Serial
ATA技术的快速发展。
PATA的解决方案
上文中,我们看到了PATA在传输中面临的问题。在ATA从ATA-33到目前最高的ATA-133的发展过程中,设计者也针对上面的问题提出了种种解决方案。而其中变化最大的无疑是从ATA-33(总线频率8.33MHz)到ATA-66(总线频率16.67MHz)的时候,40Pin的排线升级现在的80Pin。而后,Maxtor也推出了速度更快的ATA-133规范,使传输速度达到了133MB/S,但因为其传输效率问题而不了了之。
图9:80芯和40芯的台式机PATA硬盘线
信号反射问题、信号偏移问题、信号串扰问题是PATA技术在实际运用中面临的问题,特别是后两者的问题。速度越高,解决他们的难度就越大,导致的成本也就越大。
试想一下,如果我们要提升PATA的传输速度,那么我们要么提升它的总线频率,要么提高一个时钟周期里传输的bit(增加数据宽度)。但无论是提高频率或是增加PATA的数据带宽度都将导致成本的上升并引起信号偏移和串扰更加严重。虽然在PATA上也有简单的CRC校验,但它仅是丢弃错误数据并请求重发,严重影响了数据的传输效率。
在笔记本的设计上,由于不需要考虑DIYER的自己升级(有也只是更换硬盘,不涉及到线缆的连接),设计者只需要把PCB上的布线按照ATA和南桥的设计指南做好,一般而言是不会出现什么问题的。
SATA的基本通信方法
SATA的基本通信方法
在Maxtor推出的ATA-133规范未果后, Seagate和Intel所倡导的SATA接口几乎成为更高速度硬盘的唯一可行的解决方案。
从SATA的诞生之日起,它的新特性就决定了它的不平凡。SATA使用串行技术,具有极少的数据线,在台式机上我们可以看到有7根信号线,但实际上他仅有4根(2对)差分信号的信号钱。由于采用了差分信号线,所以SATA在传输数据时几乎不会因为受到干扰而出错。
那什么是差分信号呢?我们来看下面的图:
图10:差分信号的原理
图中左边的是一般信号的传输,右边则是差分信号的传输。
我们先看左边,原始信号发出后,通过引线发送到接受端。中间不可避免的会受到其他信号的干扰,接受端得到的信号必将是原始信号和干扰信号的叠加。图中接受端拿到的最终信号由于受到干扰,在第二个时钟那里的信号准位已经无法判断,于是出现误判。
再来看右边,我们把原始信号经过处理后,变成两个低电压信号(A+和A-),两者相减[(A+)-(A-)]等于原始信号。在经过干扰后,得到B+和B-。由于差分信号走线的一致性,所以他们受到的干扰是一致的,也就是说,干扰对A+和A-的叠加是一样的。接受端拿到B+和B-后,把他们相减以抵消干扰,得到原始信号。我们看到,最终信号和原始信号是一样的。
如果用数字模型来表示可能会更加清楚,大家可以想像将原始数据2拆解成5(A+)和3(A-),在传输过程中受到的干扰假设为+1,得到的结果为6(B+)和4(B-),则最终得到的数据仍旧为为6-4=2。
差分信号的使用是高速数据传输的基础,在我们常用的USB,1394等都是通过差分信号来实现高速信号互联的。而且由于差分信号的每一条信号线可以采用较低的电压传送信号(PATA是5V,SATA是0.5V),其本身发出的电磁干扰就显得很小。另外,因为差分信号对产生的电磁干扰能被他们自己互相抵消一部分,于是对外界的干扰就更小了。
由于差分信号良好的抗干扰性能以及Pin数少的优势,在差分信号上面传输的数据可以用很高的时钟频率。SATA的理论传输速度达到了150MB/S,因为它采用了8b/10b的编码,150MB/S这个速度已经是损耗后的数据了。SATA实际的传输速度(包含20%的控制编码)是150MB*10/8=187.5MB/s。如此算来,在SATA的传输线上的频率可达187.5M*8=1500MHz。
再来看PATA,它在频率达到16M的时候就需要大量的地来做信号的隔离以满足总线的抗干扰性能。相对而言,SATA的优势太明显了。
实际上,在将来的SATA-II和SATA-III上,其传输速度更将达到惊人的300MB/S和600MB/S,届时,其总线频率也将高达3GHz和6GHz。
SATA的传输通道
SATA和PATA的另一个不同点是传输方式由共享总线变成了点到点的传输模式。
以INTEL为例,在ICH4上INTEL提供了2个PATA的接口。也就是说你直接能接2个PATA设备,而如果你需要接第三个设备的时候,就必须和其中的某一个设备共享一个PATA通道,并且需要设定Master和Slave。Slave在与主机通信的时候必须借助于Master发送中断信息,这将对系统的传输性能造成一定的减弱。
图11:PATA的Master/Slave模式
而SATA抛弃了所谓的Master/Slave模式,一个SATA通道仅允许接入一个设备。在最新的ICH6上,INTEL提供了4组SATA和一组PATA。相应的在ICH6-M上提供了3组SATA和一组PATA接口。这样传输模式的好处是,一个硬盘能独享一条总线,而且不存在Master和Slave的问题,配制起来更加简便。
图12:SATA点到点传输
上文中我们谈到了SATA的数据线有2对。分别用以发送和接收。我们看下图:
图13:SATA的传输通道
这样看来,似乎SATA支持在发送数据的时候发送数据(全双工模式)。但实际上SATA并不是全双工的,因为在其发送端发送数据的同时,它需要用另一个通道来接收接收端发出的流量控制信息(比如接受端在未准备好之前,发送端就不能发送数据)。而PATA由于发送和接受共享一条并行总线,所以也不支持全双工。但毕竟SATA在物理上已经实现了发送和接收通道的分离,也许在不久的将来,全双工的SATA将出现哦!:)
SATA如何在笔记本上与PATA兼容
SATA如何在笔记本上与PATA兼容
说了那么多SATA的传输,我们来认识一下串行硬盘的Pin的定义。常见的台式机SATA硬盘其实和笔记本SATA硬盘是的接口很相似的。我们分别来看一下。
图14,15:台式机和笔记本硬盘的SATA接口
我们看右边的图,红色框内的是SATA的信号线,从做到右分别是地、发送差分信号对、地、接收信号队、地。而在其右边的一长排的Pin其实只是电源和地Pin,以及一些保留用的Pin。
而在实际的笔记本设计中,由于目前SATA硬盘的价格还是大大高于PATA的价格。所以一般而言,设计厂商都会做成SATA/PATA兼容,以在控制成本的情况下提高产品在以后的升级便利性。那么这样一个SATA/PAPA兼容是如何实现的呢?
首先,设计师必须在主板上设计一个接口,其中包括PATA和SATA的全部数据线。然后他们需要设计一个转接板,把主板上的那个接口转成标准的PATA或者SATA接口。具体的逻辑图如下:
图16:PATA/SATA在笔记本上的兼容
通过这个方法设计师实现了PATA/SATA的并存,在SATA硬盘降价后,也能方便的通过更换转接板进行升级,而无须重新设计主板的PCB,大大减少了升级的成本。
SATA笔记本硬盘的现状和将来
SATA笔记本硬盘的现状和将来
虽然在台式机上,SATA硬盘已经变的非常普及。但在移动市场,我们却很少有装配了SATA硬盘的笔记本电脑,原因何在?
首先是价格问题。SATA笔记本硬盘的价格现在依然十分坚挺,而且市场上也十分罕见(因为没有DIY市场)。笔记本厂商对其成本是非常敏感的,在SATA没有大幅度的降价之前,大范围的SATA普及是不可能的。即使INTEL现在大推SATA,并在ICH-6M只设计了一个PATA通道,还是有不少制造商用转换芯片将ICH6M上的SATA转换成传统的PATA,以降低成本。如图是大家比较熟悉的Marvell公司的产品,用以完成PATA到SATA的转换,相应的,在笔记本上用来做SATA到PATA转换的是Marvell 8040(不过现在好像只有样品,还没正式出货)。由此也可以看出,SATA硬盘的价格因素将大大制约其发展的速度。
图17:PATA/SATA转换芯片特写
其次是效能问题。我们知道,目前最快的PATA笔记本硬盘是HGST的7K60,而它采用的是ATA-100的接口,其传输速度达到了100MB/S。但遗憾的是,7K60内部的传输速度仅有518Mb/s= 64.75MB/S。也就是说目前的瓶颈不在接口上,而在于内部的传输速度上。尽管SATA将接口速度提高到理论上的150MB/S,但由于内部速度的限制,这个接口速度不过是个摆设罢了。当然,我们也可以使用大容量的缓存来提高硬盘的整体性能,但这没有在根本上解决问题,磁盘内部速度的上升才能真正提升硬盘的速度。
图18 19:日立的7k60是目前最快的笔记本硬盘
再次,由于笔记本的特殊性,设计师在设计笔记本电脑的时候已经把硬盘数据线的干扰考虑到了,他们会作出最大努力调整硬盘的数据走线,使之完全符合ATA、南桥芯片以及硬盘厂商的规范。而消费者要做的,仅仅是把硬盘插入笔记本而已。这点上不存在类似台式机的线缆问题,如果说SATA在笔记本硬盘上相对PATA的优势,那也不过是SATA的针脚不容易受伤而已。
图20:如果设计师仍然能满足ATA-100的建议书,那SATA的需求就不那么强烈
还有就是市场因素。目前市场上存在的大量PATA硬盘也需要消化,而我们现在用的笔记本电脑用的也绝大部分是PATA的硬盘。所以除了营盘制造商和INTEL在大肆鼓推外,其他不管是笔记本制造商工厂还是DIY市场对SATA的需求均不强烈。
但尽管如此,我们还是相信,从PATA到SATA的进化是不可避免的历史脚步。
从硬盘本身的性能来讲,其内部传输速度肯定会越来越高。当其超过当前最高的PATA接口速度(133MB/S)后, 再用PATA的接口就不可能了,信号干扰将会大大增加出错的概率,从而影响到最终的传输速度。而在笔记本上,由于设计师可以针对更快的PATA布线做出更短的引线,更好的EMI防护以保证传输信号的质量,虽然这样做会增加开发的时间和成本,不过相对于目前SATA和PATA的差价,这点成本根本算不了什么。所以对于笔记本厂商来说,排除了一些高端机型作为其设计实力的体现外,在大众机型上运用SATA硬盘的时候,必将是SATA和PATA的价格相当的时候。
INTEL的态度一向是PC产业的风向标。在刚刚发布的SONOMA平台上,ICH6-M的PATA接口已经被减少为一个,而多出了三个SATA接口。随着INTEL对SATA不遗余力的推进,我相信SATA取代PATA也是迟早的事。
另外,PATA的一些固有的特性,比如不支持热拔插,高功耗等也将使它逐步的退出历史舞台。
结束语
在过去15年中的绝大部分时间,最为流行的桌面机和笔记本硬盘标准就是PATA标准,PATA的发展史简直可以说是PC业的发展史。但我们必须得面对,任何技术随着人们对其性能越来越苛刻的要求都将会被淘汰——就像当年PCI取代ISA一样。
但虽然如此,PATA标准还不会立即消亡。绝大部分的PC系统都在运行PATA设备,并且这样的状况还要维持一段时间。对于移动市场,考虑到性能瓶颈和市场因素,或许要等到其性能的大幅度增长(主要是内部传输速度)和价格的滑落才能真正普及。
网友评论