Sas现在的技术发展实在太快,很多人还没弄清SATA到底有什么好,SATA II又来了。在传统的IDE、潮流的SATA与前卫的SATA II硬盘之间,到底有着什么样的区别?几种不同的硬盘各自价格等方面又是怎么样?相信很多朋友都想知道。
在深入了解新标准之前,有必要回顾一下原有的技术。长期以来,硬盘技术的进步,都着重于传输速度和容量两个方面。基本上认识电脑以来,大家就一直在使用Ultra ATA。这种延用已久的接口技术,有好些方面都显得过时而需要改进了:
大家都知道,数据线太粗,安装不方便,严重影响机箱内空气流通,不利于机箱散热,是传统IDE接口即Ultra ATA硬盘的至命缺点。不过,IDE硬盘还有很多其它方面的局限性,大概就不是很多人都清楚了。
主从盘相互影响
普遍情况下,一块主板只有两个IDE接口,每个接口可以挂两个IDE设备。但同一个接口的两个设备是共用带宽的,对速度的影响非常大。所以稍有常识的人,都会把硬盘和光驱分开两条IDE线连接到主板上
这样,IDE有个很大的问题,就是虽然一块主板可以连接4个设备,但事实上只要超过两个,速度就大大下降。
更大的问题是,同一条线上两个设备要严格按主/从设置才能正常运行。象图中这种西数WD400 JB,主硬盘还有两种不同设置,一条IDE线只接这块硬盘的时候按右边的设置,带从盘的时候则要按中间的设置方式。据亲身经验,如果没带从盘而按中间的方式设了,会出现五花八门百思不得其解的问题——有时可以启动,有时报告找不到硬盘,有时启动过程中报告硬盘错误之类——每次启动可能出现不同的问题。
不支持热拔插
并行ATA在支持设备热插拔方面能力有限,这一点对服务器方面的应用非常重要。因为服务器通常采用RAID的方式,任何一块硬盘坏了都可以热拔插更换,而不影响数据的完整性,确保服务器任何情况下都正常开着。具有热插拔支持功能的SCSI和光纤通道占据了企业级应用的几乎全部市场,并行ATA空有价格优势而不能获得一席之地,主要原因就是它不支持热拔插。
不够完善的错误检验技术
Ultra DMA引入了基于CRC的数据包出错检测,该技术是ATA-3标准的组成部分。但是,没有任何一种并行ATA标准提供命令和状态包的出错检测。尽管命令和状态包出错的范围和几率都小,但它们出错的可能性也不容忽略。
使用过时的5伏电压
处理器核心从几个方面要求向低电压过渡。较低电压允许更快的信号陡变,这对提高速度、降低热耗至关重要。现在的CPU核心电压基本上都小于2伏,为保持与系统主板上其它芯片的互操作性,通常使用3.3伏的外部电压分离出来,5伏电压成为过时的标准。虽然大部分目前的 ATA/ATAPI-6标准为并行ATA设备指定的直流电压供应为3.3V (± 8%),但一些模式的接收器大于4伏,所以要使用过时的5伏电压。
接口速度的可升级性差
另外,Ultra ATA是受并行总线特性的限制,带宽容易受到限制,经过多次升级,目前{zg}传输率也只是133M字节/秒。
SATA比IDE优越在哪些地方?
SATA不再使用过时的并行总线接口,转用串行总线,整个风格xx改变。
SATA与原来的IDE相比有很多优越性,最明显的就是数据线从80 pin变成了7 pin,而且IDE线的长度不能超过0.4米,而SATA线可以长达1米,安装更方便,利于机箱散热。除此之外,它还有很多优点:
一对一连接,没有主从盘的烦恼
每个设备都直接与主板相连,独享150M字节/秒带宽,设备间的速度不会互相影响。
支持热拔插
热拔插对于普通家庭用户来说可能作用不大,但对于服务器却是至关重要。事实上,SATA在低端服务器应用上取得的成功,远比在普通家庭应用中的影响力大。
数据传输更加可靠
SATA提高了错误检查的能力,除了对CRC对数据检错之外,还会对命令和状态包进行检错,因此和并行ATA相比提高了接入的整体xx度,使串行ATA在企业和外部存储应用中具有更大的吸引力。
低电压信号
SATA的信号电压{zg}只有0.5伏,低电压一方面能更好地适应新平台强调3.3伏的电源趋势,另一方面有利于速度的提高。
带宽升级潜力大
SATA不依赖于系统总线的带宽,而是内置时钟。刚推出的这一代SATA内置1500MHz时钟,可以达到150M字节/秒的接口带宽。由于不再依赖系统总线频率,每一代SATA升级带宽的增加都是成倍的:下一代300M字节/秒,再下一代可以达到600M字节/秒
SATA仍然存在的几点不足
在国内,现在买IDE的人恐怕比买SATA的人多很多。主要有三个方面的原因:
首先,SATA的诸多先进性总体上对个人电脑用户意义不是太大,它{zd0}的意义的反而是适应了入门级企业应用的需要。
其次,nForce4、915之前的那些主板使用SATA硬盘,在安装操作系统的时候需要用到软盘,就象SCSI硬盘那样,增添了用户的麻烦。
另外,国内用户的电脑配置相对落后,很多人都是旧电脑升级大容量硬盘,稍老点的主板还不支持SATA硬盘。
所以,SATA{zd0}的成功在于吸引了很多低端入门级服务器的用户。但在企业级应用方面,它又仍然在很多方面有待改进:
单线程的机械底盘
SATA毕竟只是ATA,它的机械底盘是为8x5线程设计的,而的机械底盘是24x7多线程设计,能更好地满足服务器多任务的需要。所以SATA虽然在单任务的测试中不比SCSI差,但面对大数据吞吐量的,还是有差距的。除了速度之外,面对多任务数据读取,硬盘磁头频繁地来回摆动,使硬盘过热是SATA{zd0}的问题。
形同虚设的热拔插功能
在实际应用中,RAID硬盘阵列是由多个硬盘组成的,必须知道具体哪一块硬盘坏了,热拔插更换才有意义。SATA硬盘虽然可以热拔插,但SATA组成的阵列在某块硬盘损坏的时候,不能象SCSI、FC和SAS那样,具有SAF-TE机制用指示灯显示,知道具体坏的是哪一块,热拔插替换的时候,如果取下的是好硬盘,就容易使数据出错。所以在实际应用中,SATA的热拔插功能有点形同虚设的味道。
速度慢
SATA相对于SCSI和FC速度慢,主要原因是机械底盘不同,不适应服务器应用程序大量非线性的读取请求。所以SATA硬盘用来做视频下载服务器还不错,用在网上交易平台则力不从心。
SATA 1.0控制器的传输速度效率不高,虽然标称具有150MB/s的峰值速度,事实上最快的SATA硬盘速度也只有60MB/s。
整个解决方案价格不
虽然SATA硬盘相对于SCSI硬盘来说很便宜,但整个的SATA方案并不便宜。主要原因是SATA 1.0控制器的每个接口只能连接一个硬盘,8个硬盘组成的阵列需要8个接口,把每个接口300多元的花费算进去,就不便宜了。
SATA II与准SATA II
很多人到现在都还不是太清楚SATA与Ultra ATA相比有什么区别与好处,这也难怪。因为连Intel刚推出SATA的时候,也没想到这个为个人用户而改进的方案,结果会在入门级服务器和工作站等企业应用的前前景更为广大——也正因为这样,2004年才专门成立了SATA IO(SATA国际组织)。
前面那么多介绍,是结合现实情况与SATA官方白皮书整理的,从中已经可以发现,说到SATA优缺点,更多的是从企业应用而不是个人与家庭应用的角度考虑的。
现在经常听到“NCQ硬盘”和“SATA II硬盘”这两个名词,它们是SATA向下一代——SATA II发展的两个不同阶段的产品:
{dy}阶段是在SATA的基础上加入NCQ原生指令排序、存储设备管理(Enclosure Management)、底板互连、数据分散/集中这四项新特性。
第二阶段是在{dy}阶段的基出上作进一步改进,加入了双宿主主动式故障替换、与多个硬盘高效连接、3.0Gb(即300MB/s)接口带宽等特性。
“NCQ硬盘”的改进:不仅仅是NCQ这么简单
由于SATA II的{dy}阶段几项改进中,NCQ原生指令排序技术对个人用户意义比较大,所以也只有这一项技术比较多人了解。其实SATA II{dy}阶段加入的技术包括如下几项:
NCQ原生指令排序
Native command queuing:什么是NCQ呢?这是SCSI早就使用的一种技术,只是最近才应用于SATA硬盘。
传统台式机硬盘都用线性形式处理请求,这种方式潜在很不好的方面,要理解其中原理,必须对硬盘物理结构有个基本了解。硬盘里面是圆盘状的,很象CD光盘,。每一个圆盘由许多同心圆划分为一条条磁道,磁道又分出扇区。每个圆盘由一个或多个磁头负责读取。如果数据分布在同一磁道,寻找数据的速度是最快的。在不同磁道之间移动则消耗很多时间。假设要读取三块数据,其中一块在圆盘最外边的磁道上,一块在圆盘最里面的磁道上,还有一块在圆盘最外边的磁道上。传统的硬盘,会依次先读取圆盘最外面的数据,然后读取最里面的数据,{zh1}再回头读取最外面的数据。这样一来,磁头移来移动消耗的寻道时间多,效率就低了,。如果把磁头移动减到最少,寻道时间就会相应减少。这就是NCQ的目的所在——NCQ可以重新编排指令,不让磁头从外移到内再移到外,而是在移向圆盘内圈之前就读取外圈的两块数据。
现在大家应该明白了,CPU的速度对硬盘性能影响微乎其微,但NCQ技术则可以明显改善硬盘性能,特别是对前面提到的SATA多线程性能差、容易磁头频繁来回摆动、硬盘容易过热这些方面有很大改善。
机架管理(Enclosure Management)
前面提到SATA的热拔插技术,由于阵列中有一块硬盘出现故障的时候,不知道具体坏的是哪一块而形同虚设。SATA II{dy}阶段即拥有NCQ技术的SATA硬盘,加入了机架管理技术,正是用来解决这一问题的。
背板互连(Backplane Interconnect)
SATA用于数据发送的导线数量很小,因而出现了为外部RAID使用而部署的底板。
该底板是一块物理线路板,通常集成到机架的后面板上,上面嵌入了通过刻在线路板上的导线连接到中心控制器插件的多个设备接头。值得注意的是,中心控制器与主机的接口可以按任意一种协议来设计,可以是SCSI、光纤通道或iSCSI。底板的使用可使设备咬住接头并紧密结合。
当然,受到FR4材质信号衰减的限制,中心控制器和SATA设备接头之间蚀刻线路的{zd0}长度必须限制在18英寸以内。虽然这种限制表面上局限了底板端子和SATA机架的设计,而事实上,标准机架为19英寸宽,因此,在一个1U到3U的机架内,为SATA而蚀刻的{zd0}导线长度足以从一个位置适中的中心控制器连接到所有设备接头。
SATA II不等于300MB/s
首先,是接口带宽从原来的150MB/s扩展到了300MB/s。但SATA II不能与300MB/s划等号,因为它包含了SATA II{dy}阶段的NCQ等技术,以及更多的其它技术:
其次,SATA II可以通过Port Multiplier,让每一个SATA接口可以连接4-8个硬盘,即主板有4个SATA接口,可以连接最多32个硬盘。
另外,还有一个非常有趣的技术,叫Dual host active fail over。它可以通过Port Selector接口选择器,让两台主机同时接一个硬盘。这样,当一台主机出现故障的时候,另一台备用机可以接管尚为完好的硬盘阵列和数据,这就确保服务器不管在某块硬盘损坏,或是某坏CPU之类的其它配件损坏的情况下,仍能正常运作。
结语:给个人电脑用户的特别提示
{zh1},相信大家对IDE、SATA、NCQ、SATA II已经有了比较整体的认识。或许很多关于服务器方面的技术还不太明白,其实这没关系,最重要的是获得这样一个概念:SATA、SATA II的改进,大多数不是为个人电脑用户而设的。
SATA对个人电脑用户真正有意义的地方,也就是让机箱散热更加良好。但与此同时,如果你的主板不支持SATA II,在获得这样一个好处的同时,安装windows操作系统会比较麻烦——需要插入SATA的驱动软盘。所以IDE用户千万别以为SATA更先进,改用更先进的SATA硬盘会有多大的性能提升,。
使用支持NCQ技术的硬盘,对喜欢同时运行很多个程序的用户可能会有速度上的改进,而且由于磁头比较少来回摆动,硬盘会比较长寿,温度也会比较低。但前面没有提到的一个必要前提是,必须主板和硬盘都支持NCQ技术才起作用。
至于SATA II,{wy}对个人电脑用户有意义的就是300MB/s的带宽——当然,SATA II全都是支持NCQ的。不过千万别指望带宽比原来增加了一倍,就可以获得接近于SATA两倍的速度,因为目前硬盘的速度主要是受硬盘内部数据传输率的限制,而不在于接口带宽,接口带宽的增加对个人用户带来的速度改善,是微乎其微的。同样,SATA II的好处——支持NCQ和300MB/s的带宽,必须要主板支持,在只支持SATA I的主板上使用SATA II硬盘,就连“微乎其微”的改善也不会有。
总体来说,SATA、NCQ以至完整的SATA II,对一般个人电脑用户的意义不是非常大,它们{zd0}的意义在于为企业应用提供了SCSI、FC之外的廉价存储解决方案——当然如果几种硬盘的价格相差很小的话,尽可能选{zxj}的SATA II是没错的。如果担心新技术会不成熟存在某些未知缺陷,继续选择SATA I硬盘甚至是IDE硬盘,也是相当不错的方案。
PCI-X技术特性:
除了工作频率和数据位宽的提升,PCI-X 总线也有更为先进的解释和传送数据的方式,效率更高。共有五个关键技术帮助它完成任务:
1. 特征段
2. 分离事务(多任务)
3. 减少时钟周期的占用(等待状态)
4. 128 位标准尺寸数据块
5, 增强了奇偶错误管理
下面我们就来一一解释一下:
1. 特征段:
特征段可能是最重要的技术,它增加了追踪穿过总线的数据的能力,可以把它在队列中向前移动,增强并行穿越总线的能力。每件 PCI-X 总线上的事务都附带一个 36 位的特征域。这个域包含了一些信息,有事务从哪儿开始,它需要按什么顺序插入,事务有多长和是否需要缓冲检测。特征段包含四个部分:序列信息、不严格的次序结构、事务字节数量,以及“非缓存一致”事务。 (1) 序列信息
这是特征段的一部分,它详细说明了事务来自什么地方,哪种总线,整个事务有多大。它将在整个特征段要被引用,并且有助于提高总线管理的效率。
(2) 不严格的次序结构
最初的 PCI 体系处理数据的方式类似于“令牌环”网络。因为它没有办法说明哪儿一起特定事务发生在什么地方,必须按照特定的顺序接收和传送数据。它从{dy}组总线(0)出发,经过每一个插槽,然后开始下一组总线(1),再继续直到它又达到{dy}组总线。这样它才不会迷路和丢失事务。
PCI-X 有一个“不严格次序”位,一旦控制器和设备驱动程序设置了该位,就允许一件事务获得超过所有其它目前在总线中的事务的优先权。这样 PCI-总线或者 PCI-PCI 桥接器可以根据那儿有内存空间,或者那个设备可用来重新排列总线上的事务。通过这种方法,系统可以利用 PCI-X 总线实现效率{zd0}化。
(3) 事务字节数量
在 PCI V2.2 规范中,没有办法知道哪个请求{zd0},因此,每次数据请求都分配两条高速缓存队列。这种情况在 PCI-X 中不会出现。在特征段中包含了下次请求提取的字节数量。就象你从互联网上下载文件时,它会报告已经收到了多少数据,还剩多少数据需要下载一样,每个事务,都有一个字节数量统计还剩多少字节的数据。这样,高速缓存的使用效率更高,桥接器也不需要一直保留事务等待缓存队列清空了。
(4) “非缓存一致”事务
要很清楚的描绘出处理器缓存和系统内存里到底发生了些什么是一件非常困难的工作,多处理器系统就更不用说了。处理器和 I/O 子系统之间的需要保持视图的事务被称为“缓存一致”事务。PCI 总线在把数据写到处理器缓存之前,先使用了一个“探测”循环来扫描以重载数据。尽管这个过程非常短,但还是会争夺带宽而导致性能问题。 只要驱动器和控制器能够支持,PCI-X 在特征段中使用了一个“无探测”位。这被称为“非缓存一致”事务。取消了“探测”扫描,总线排除了处理器-内存总线上的任何额外工作。
2. 分离事务(多任务)
分离事务允许一个正在向某个特定目标设备请求数据的设备,在目标设备准备好发送数据之前处理来临的其它任何事情。在目前的 PCI 体系中,请求将停止处理新的数据直到与它的目标之间的数据处理完毕。换句话说,它一次只能处理一条请求。
3. 减少时钟周期的占用(等待状态)
当设备正在等待来自其它设备的信号或者数据时,这些处于等待状态时消耗的额外的时钟周期都了白白浪费了的。根据前面的描述,利用分离事务能够xx这种消耗。另外一个xx等待状态的办法是把没有准备好发送数据的设备从总线上移走。这样做,总线带宽可以腾出来供其它事务使用。减少等待状态的数量,可以{zj0}化地利用总线。
4. 128-位标准尺寸数据块
如果接收的数据是标准化的,处理器的工作效率就更高。Intel 的 IA-64 处理器使用自然排列的 128-位指令,现在 PCI-X 也采用了同样的方法。通过总线的数据都是同样大小的块,这样就提供了更多的流水线机制,改善了处理器的管理。
5, 增强了奇偶错误管理
当主板超频之后,在当前的 PCI 环境下,奇偶错误是{zd0}的烦恼。正如前面所说的,当你提升了时钟速度之后,相应地就减少了总线上设备译解请求的时间。所以,出现奇偶错误的可能性就大大增加了。最糟糕的情况下,将出现不可修复的错误锁住总线,只有重新启动才能解决问题。
PCI-X 在提高了时钟频率的同时减少了问题的发生,而且通过增加指令数来解释和管理它们所遇到的错误。如果操作系统和 PCI-X 驱动程序都支持奇偶错误管理,问题可能会在产生更严重的后果之前被解决。这些增强包括错误是通知用户,重复执行指令,重置适配器,在适配器失败前将之关闭。最坏的情况下可能没有选择,只有重新启动了,但这些增强可以减少此类情况的发生
PCI-X沿袭了标准PCI的许多技术特色,在原有技术的基础上增加了许多新的技术特征。首先就是64-BIT数据位宽,xx一项就可以提升一倍的带宽,然后PCI-X的工作频率为133MHz,是旧式PCI总线33MHz工作频率的4倍,也是传统64-BIT PCI 66MHz工作频率的两倍!数据位宽是原来的两倍,工作频率是原来的四倍,合算起来,PCI-X就能够提供旧式PCI总线8倍的带宽!PCI-X沿袭了标准PCI的许多技术特色,在原有技术的基础上增加了许多新的技术特征。首先就是64-BIT数据位宽,xx一项就可以提升一倍的带宽,然后PCI-X的工作频率为133MHz,是旧式PCI总线33MHz工作频率的4倍,也是传统64-BIT PCI 66MHz工作频率的两倍!数据位宽是原来的两倍,工作频率是原来的四倍,合算起来,PCI-X就能够提供旧式PCI总线8倍的带宽!
PCI协议标准 --总线数据位宽 --总线工作频率 ---理论{zd0}带宽
PCI2.2 ----------32-BIT ------33MHz --------133MB/s
PCI2.2 ----------32-BIT ------64MHz --------266MB/s
PCI2.2 ----------64-BIT ------33MHz --------266MB/s
PCI2.2 ----------64-BIT ------66MHz --------533MB/s
PCI-X1.0 -------64-BIT -----{zg}133MHz ---{zd0}1.06GB/s