大话存储II----第三章磁盘大挪移-磁盘原理与技术详解(3.4)

3.4 硬盘接口技术

        目前硬盘提供的物理接口包括以下几种:

·用于ATA指令系统的IDE接口

·用于ATA指令系统的SATA接口

·用于SCSI指令系统的并行SCSI接口

·用于SCSI指令系统的串行SCSI(SAS)接口

·用于SCSI指令系统的IBM专用串行SCSI接口(SSA)

·用于SCSI指令系统的并且城在于FabreChannel协议的串行FC接口(FCP)

3.4.1 IDE硬盘接口

        IDE全称Integrated Drive Electronics,即电子集成驱动器。它的本意是把控制电路和盘片、磁头等放在一个容器中的硬盘驱动器。把盘体和控制电路放在一起的好处是减少了硬盘接口的电缆数目和长度,数据传输的可靠性得到了增强。而且硬盘制造起来更加容易,因为生产厂商不需要再担心自己的硬盘是否与其他厂商生产的控制器兼容。对用户来说,安装起来也更加方便了。

        IDE接口也称为PATA接口,即Parallel ATA(并行传输)。ATA的英文拼写为Advanced Technology Attachment,即高级技术附加。最初使用的是一个40芯电缆和主板上的ATA接口连接,只能支持两个硬盘,最大内存也在505MB之内,后来随着传输速度和位宽的提高,最后一代的ATA规范使用80芯的线缆,其中一部分是不传输数据只作为屏蔽干扰的屏蔽线。

        IDE一共有三种数据传输模式

        1>PIO模式(Programming Input/Output Model):一种通过CPU执行I/O端口指令来进行数据读写的数据交换模式,是最早的硬盘数据传输模式。这种模式数据传输效率低CPU占有率也很高,传输大量数据时会因为占用过多的CPU资源而导致系统停顿,无法进行其他的操作。在PIO模式下,硬盘控制器接收到硬盘驱动器传来的数据之后,必须由CPU发送信号将这些数据复制到内存中,这就是PIO模式占用CPU高的原因。受限于传输效率低以及极高的CPU占有率,这种模式很快就被淘汰了。

        2>DMA模式(Direct Memory Access):直接内存访问模式,是一种不经过CPU而直接从内存存取数据的数据交换模式。PIO模式下硬盘和内存之间的数据传输时通过CPU来控制,而在DMA模式下,CPU只需要向DMA控制器下达指令,让DMA控制器来处理数据的传送。DMA控制器将数据复制到内存的相应地址上,数据传送完成后,再把信息反馈给CPU,这样就很大程度上减轻了CPU资源的占有率。DMA模式和PIO模式的传输速度差异并不十分明显。DMA模式可以分为Single-Word DMA(单字节DMA)和Multi-Word DMA(多字节DMA)两种。

        3>Ultra DMA模式(Ultra Direct Memory Access):一般简写为UDMA,含义是高级直接内存访问。UDMA模式采用16bit Multi-Word DMA(16位字节DMA模式)为基准,可以理解为是DMA模式的增强版本。它在DMA模式的有点基础上,又增加了CRC(Cyclic Redundancy Check,循环冗余码校验)技术,提高数据传输过程中的准确性,使数据的安全性得到了保障。在以往的硬盘数据传输模式下,一个时钟周期只传输一次数据,而在UDMA中,应用了Double Data Rate(双倍数据传输)技术,因此数据传输速度有了极大的提高。此技术就是在时钟的上升期和下降期各进行一次数据传输,可以是传输速度成倍增长。

       在UDMA模式发展到UDMA133之后,由于IDE接口的技术规范,无论是连接器、连接电缆哈市信号协议都出现了很大的瓶颈,而且其支持的最高数据传输率也有限。在IDE接口工作频率提高的同时,IDE接口交叉干扰、地线增多、心好混乱等缺陷也制约其发展,最后被新一代的SATA取代。

3.4.2 SATA硬盘接口

        SATA全称是Serial ATA,即串行ATA。相对于PATA模式的IDE接口来说。SATA使用串行线路传输数据,指令集不变,还是ATA指令集。

        SATA的最大优势就是传输速率高。其工作原理就是采用连续串行的方式实现数据传输而获得较高的传输速率。因为PATA采用的是并行传输,一次需要传输多个信号。如果一个信号延迟或者没有及时到达,就会产生错误,所以必须要减缓比特流的传输速度以减少错误。但是SATA一次只传输一个比特的数据,自然传输数据的速率就要快得多。在2003年发布的SATA 1.0规范提供的传输速率就已经达到150MB/S,不但高出普通IDE硬盘所提供的100MB/S(ATA100),甚至超过了IDE最高传输速率133MB/S(ATA133)。

        SATA在数据可靠性也有了大幅度的提高。SATA可同时对指令及数据封包进行循环冗余校验(CRC),不仅可检测出所有单比特和双比特的错误,而且根据统计学的原理还能检测出99.998%可能出现的错误。而PATA只能对来回传输的数据进行校验,无法对指令进行校验,加上高频率下干扰大,因此数据稳定性查。

        除了传输速率高,数据更可靠外,节省空间也是SATA最有吸引力的地方。由于线缆相对于80芯的IDE线缆来说瘦了不少,更有利于机箱内部散热,线缆间的串扰也得到了有效控制。

        SATA 1.0的缺点:

         1.缺乏对服务器和网络存储应用所需的一些先进特性的支持。比如在多任务、多请求的典型服务器环境里面,SATA 1.0硬盘会有性能大幅下降。

        2.可维护性不强

        3.可连接性不好

        SATA 1.0中的缺点在2.0中有了很好的补充。

        SATA 2.0规范中的新特性

        1> 3Gb/s的传输速率。由于SATA使用8bit/10bit编码,所以3Gb/s等同于300MB/S的接口速率。但是因为硬盘内部传输速率达不到与接口速率等同的程度,所以性能提升并不大,大多数应用中,硬盘将更多时间花在了寻道上而不是传输上。接口速率大提高直接影响的是从缓存进行读写的操作。所以理论上大缓存的产品惠存3Gb/s的传输速率得到更多的好处。

       2>支持NCQ(Native Command Queuing,自身命令队列)技术。硬盘是机电设备,容易受到内部机械部件惯性的影响,其中旋转等待时间和寻道等待时间就大大的限制了硬盘对数据访问和检索的效率。如果对磁头寻道这个机械动作的执行过程实施智能化的内部管理,就可以大大的提高整个工作流程的效率。所谓智能化的内部管理就是取出队列中的命令,然后重新排序,以便有效的获取和发送主机请求的数据。在硬盘执行某一命令的同时,队列中可以加入新的命令并排列在等待执行的作业中。如果新的命令恰好是处理起来机械效率最高的,那么他就是队列中要处理的下一个命令。但有效的排序算法既要考虑目标数据的线性位置,又要考虑其角度位置,并且还要对线性位置和角度位置进行优化,以使得总线的服务时间最小,这个过程也称作“基于寻道和旋转优化的命令重新排序”。

    台式SATA硬盘队列一直被严格限制为深度不超过32级,如果增加了队列深度,可能会增加命令堆积的风险。通常SATA硬盘接收到命令时有两种选择,一是立即执行,二是延迟执行。对于后一种情况,必须要设置注意标志和Service位来通知主机何时开始执行命令。然而硬盘不能主动和主机通信,需要主机定期轮询,发现Service位后将发出一条Service命令,然后才能从硬盘处获得将执行哪一条命令的信息。而且Service位不包含任何对即将执行命令的识别信息,所必须的命令识别信息以标记值的形式与数据请求一同传输,并仅供主机用于设置DMA引擎和接收数据缓冲区。这样主机就不能预先掌握硬盘所设置的辅助位是哪条命令设置的,数据传输周期开始前也无法设置DMA引擎,这最终导致了SATA硬盘效率低下。

        3>端口选择器(Port Selector)。端口选择器是一种数据冗余保护方案,增加冗余度。具有该功能的SATA硬盘,外部有两个SATA接口,同时连接这两个借口到控制器,一旦一个故障,立即切换到另一个上,不影响数据传输。

        4>端口复用器(port multiolier)。端口复用器可以在一个控制器上扩展多个SATA设备的技术,采用4bit宽度的端口字段,其中控制端口占一个地址,最多能输出15个设备连接,与并行SCSI相当。

        5>服务器特性。例如,防止开机时多硬盘同时启动带来的太大的电流负荷的交错启动功能,强大的温度控制、风扇控制,以及热插拔等。

        6>接口和连线的强化。更新了eSATA,即外置设备的SATA接口标准,采用了屏蔽心梗更好的两米长连接线,目标是取代USB和IEEE 1394。在内部接口方面,在接上时有提示声,拔下时需要先按下卡口。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值