免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1276 | 回复: 0
打印 上一主题 下一主题

为什么需要SATA?——串行与并行 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-05-28 17:04 |只看该作者 |倒序浏览

前言
关于SATA的好处,很多媒体已经或多或少地进行了介绍,大家也应该清楚SATA已经必然要取代PATA成为下一代主流硬盘连接技术。不过目前PATA仍然有着很大的市场份额,并且在很多测试当中SATA硬盘并未表现出压倒性的性能优势。这使得一些用户对于SATA到底有什么样的优点产生了怀疑。这里我不想重复SATA的各个特色技术,只是先从串行通讯与并行通讯的底层差异上对SATA的优势进行一些介绍。
在进行详细的介绍之前,先明确一下串行通讯与并行通讯的概念,以免由于概念不清产生误解。
串行通讯中,两个设备之间通过一对信号线进行通讯,其中一根为信号线,另外一根为信号地线,信号电流通过信号线到达目标设备,再经过信号地线返回,构成一个信号回路。



初级读者会产生疑问:为何不让信号电流从电源地线返回?答案:公共地线上存在各种杂乱的电流,可以轻而易举地把信号淹没。因此所有的信号线都使用信号地线而不是电源地线,以避免干扰。
这一对信号线每次只传送1bit(比特)的信号,比如1Byte(字节)的信号需要8次才能发完。传输的信号可以是数据、指令或者控制信号,这取决于采用的是何种通讯协议以及传输状态。串行信号本身也可以带有时钟信息,并且可以通过算法校正时钟。因此不需要额外的时钟信号进行控制。
并行通讯中,基本原理与串行通讯没有区别。只不过使用了成倍的信号线路,从而一次可以传送更多bit的信号。
 


并行通讯通常可以一次传送8bit、16bit、32bit甚至更高的位数,相应地就需要8根、16根、32根信号线,同时需要加入更多的信号地线。比如传统的PATA线路有40根线,其中有16根信号线和7根信号地线,其他为各种控制线,一次可以传送2Byte的数据。并行通讯中,数据信号中无法携带时钟信息,为了保证各对信号线上的信号时序一致,并行设备需要严格同步时钟信号,或者采用额外的时钟信号线。
通过串行通讯与并行通讯的对比,可以看出:串行通讯很简单,但是相对速度低;并行通讯比较复杂,但是相对速度高。更重要的是,串行线路仅使用一对信号线,线路成本低并且抗干扰能力强,因此可以用在长距离通讯上;而并行线路使用多对信号线(还不包括额外的控制线路),线路成本高并且抗干扰能力差,因此对通讯距离有非常严格的限制。
历史
最早的计算机设备之间全部采用串行接口,比如硬盘接口、打印机接口、通讯端口等等。那时候都是分立元件的电路设计,如果采用并行接口,元件的数量和占用的空间将成倍增长。比如一个8bit并行线路的接口元件数量将是串行线路的8倍(你得为每根信号线配置一套接收电路)。这个时期的数据通讯只能是非常简单而低速的。
但是集成电路技术的出现带来了一个转变,当大量元件可以集成到一个小小的芯片上时,并行通讯变得廉价而方便了。不论是8bit、16bit还是更高位数的并行线路,只需要一个并行接口芯片就可以处理,这比一个处理串行通讯的芯片成本高不到哪里去。与串行通讯相比,并行通讯在同样的工作频率下,通讯速度就可以整倍提高。因此适应了当时计算机设备发展的需要,硬盘、打印机等速度较快的设备开始使用并行通讯,PATA、SCSI、Parallel Port成为最为流行的并行通讯接口,被大众所熟知。不过并行线路固有的一些缺点仍然限制了并行通讯的应用范围,这在后面我们会具体谈到。至于超高速通讯和长距离通讯方面,由于线路成本比接口成本要重要得多,因此一直都是串行通讯的应用领域。
除了并行通讯具有速度优势以外,串行通讯自身也有一个问题。在计算机内部,数据往往都是并行方式传送的,当采用串行方式与外界通讯时必须经过串/并转换处理。在早期集成电路规模较小的时代,串/并转换电路的处理能力十分有限,因此串行通讯的速度无法提高。随着如今集成技术的发展,逻辑电路的集成能力大大提高,甚至超过了IO连接单元的集成水平,从而逐步解决了串/并转换速度的限制。另一方面,现在集成逻辑处理电路的成本也比IO连接单元更便宜,因此串行通讯再次显示出它的优势。如果说集成电路技术一度帮助并行通讯流行起来,那么现在的高度集成水平则帮助串行通讯重返主流应用领域。
并行的限制
在解释为何并行通讯模式必须被取代时,我们需要注意并行通讯本身存在的几个主要问题:
码间干扰(ISI)
这是影响并行通讯的一个主要因素。这个干扰来自于线路拓扑中的阻抗不平衡,以传统的并行PATA接口为例:一个PATA信号线有3个PATA接口,可以连接两个PATA设备。当我们只使用一个主PATA设备时,按照规范,这个PATA设备应该连接在PATA信号线的末端。信号从主板PATA接口发送出来以后需要经过中间空余的接口然后到达末端的PATA设备。由于空余的接口相当于附加的天线,所以它的分布参数会带来线路阻抗的变化,从而使得经过它的信号产生反射并叠加到时序靠后的信号中,并有可能产生振铃效应。
 


类似地,从PATA设备传向主板的信号也会遇到同样的问题。这种反射干扰的大小与频率相关,一个PATA接口的阻抗变化带来一个信号频率的限制,在接近这个频率时,信号的反射会变得很强烈从而使数据传输无法进行。当线路中部的PATA接口连接了从PATA设备时,阻抗变化会稍有不同,但是反射的情况仍然存在。而且由于所连接PATA设备的各种各样,带来的阻抗变化会十分复杂。
在SATA技术中,由于采用了点对点的拓扑结构,所以不存在这种多接口/设备带来的干扰。同时,由于连接设备类型单一,在线路中对干扰和信号衰减进行补偿也变得更容易和更有效,从而进一步提高传输质量。
信号偏移(skew)
在并行线路设计时,理想的状况是线路是平直的,并且各条线路的特性完全相同。但是实际当中线路并不是平直的,各信号线的特征也不一样,其结果是:信号在发送端同时发出,但是到达接收端却有微小的时间差异,这种差异就是信号的时间偏移。



上图不仅显示了信号偏移的情况,也显示出了时间偏移带来的问题。当工作频率足够高时,接收器要确定合适的采样时间就变得颇为困难。因为如果在采样时刻有一个或者几个信号还未到达接收器,就会产生数据错误。虽然现在的并行通讯中已经试图采取一些措施来解决这个问题,但是效果仍然受到多方面的限制。在传统的PATA接口上,PATA排线不可避免地总是被折叠或者弯曲,这都使得各个线路的特性趋于不一致,并且没有有效的方法来解决这个问题,最终的表现就是通讯频率无法继续提高,速度受到限制。
幸运的是在SATA技术中,这个问题将不复存在。因为SATA信号携带时钟信息,接收器是根据串行信号本身来确定采样时间,而不是时钟控制线,也就不存在偏移的概念。因此在SATA技术中线路的工作频率可以提升至非常高的水平。这就是为何SATA采用串行通讯模式,传输速度却比并行的PATA还要高的原因之一。
串音干扰(crosstalk)
这是我们常常提到的一种干扰,它的名字如此流行的原因是这种干扰广泛存在于电路系统中。与信号偏移一样,串音干扰也是并行通讯固有的严重问题。各信号线之间通过电磁耦合进行干扰,并且信号频率越高,干扰愈加严重,直至无法工作。可以说这是对并行的PATA线路影响最大的不利因素,并且大大限制了线路的长度。
 


在PATA66以上的PATA排线中,除了标准PATA信号线以外,每根信号线之间又加入了信号地线,以屏蔽信号线之间的串音干扰。虽然这个措施非常有效,但是同时也使得线路数量达到了80根,对于一种主流的产品来说已经达到了极限。
在SCSI系统中情况有些不同,因为高速SCSI不采用电平传输模式,而是并行差分传输模式。差分模式对于串音干扰有较好的抑制效果,因此传输频率也高得多。即便如此,并行差分模式的SCSI线路在达到一定高的频率时还是遇到了障碍,因此并行SCSI实际上也正在向Seiral SCSI转变。
对比而言,SATA不仅没有多余的线路相互干扰,而且本身就采用了差分模式,可以最大程度减少其他外界因素带来的串音干扰。这个优势不仅使得SATA可以达到更高的传输频率(目前SATA的传输频率是1.5GHz,这已经是微波传输了),也使得线路连接长度可以大幅增加。SATA最大连接长度1M对于任何内部设备来说都绰绰有余。
直流偏置
最后这个问题不太好理解,初级读者可以略过。我们知道数字信号总是带有直流分量的,在并行通讯中通常各线路上的信号没有经过编码处理,所以“0”、“1”信号数量不平衡。这样的信号序列中的存在不可预测的直流分量,使得信号发送器与接收器产生直流耦合,最终带来电压偏置。同时,由于线路两端设备的供电状况并不完全相同,所以信号发送器和接收器的参考电压也存在微小差异。这两个因素叠加起来,会在一定程度上降低信号采样时的错误容限,使得误码率升高。
在串行通讯中,解决直流偏移的原理很简单:通过编码使得“0”、“1”信号数量相等,这样就消除了信号序列中的直流分量。没有直流分量,发送器和接收器就只进行交流耦合,也就不必再考虑两端参考电压差异所带来的影响,从而提高错误容限。在SATA中,采用了8b/10b编码,也就是将8bit(1Byte)的数据通过底层硬件处理转换为10bit,算法上可以保证10bit数据中“0”/“1”信号的数量相等,然后再由发送器发出。我们根据8b/10b编码可以得出SATA的传输效率是80%,因此1.5Gb/s×80%÷8bit=150MB/s,这就是SATA最大理论传输速度的来源。
而在并行通讯中,采用编码处理直流偏移极其困难,因为各个信号线路上的数据都是相关的。要协调所有线路上的“0”/“1”信号数量,其算法的复杂程度和对计算电路的要求大大超过了现在能够提供的IO处理水平。即使能够实现,过高的成本也使它变得没有意义。
除了上述这些问题之外,由于线路复杂程度的差异,串行通讯在双工处理和设备拓扑扩展方面也有很大的优势。不过这些方面对于普通PC应用来说影响不大,所以这里就不多介绍了。
总之
可以看到,古老的PATA遇到的技术壁垒太多,目前已经发展到了尽头,而采用串行通讯技术的SATA在工作特性上就具有很多优势。虽然现行SATA规范的速度指标与PATA的差距仍然不明显,而SATA作为新崛起的技术,还有很大的性能潜力可以挖掘。这从SATA组织迅速制定SATA II规范的行动上就可以看出来。


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u2/69856/showart_713734.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP