Serial ATA应用于ATAPI Device设计简介

本文作者:admin       点击: 2003-09-02 00:00
前言:
SATA推出的主要目的,除了取代Parallel ATA,维持软件的向后兼容性,提供更高速、稳定的数据传输外,较小的排线与接头以提供更好的散热也是SATA诉求的重点,然而目前打开支持SATA的计算机内,我们发现光驱还是要用传统的排线(不论是SCSI或IDE接口),SATA的好处在计算机上并未完全彰显出来。

前言  
自2002年八月以后世界各地Serial ATA(以下简称SATA)相关产品问世以来,如支持SATA的主机板、SATA转换卡、PCI-SATA控制卡等,市场已呈现逐渐加温的状况。而今年第二季起Intel更推出支持SATA的南桥芯片。SATA接口将取代传统Parallel ATA(IDE)的态势也日渐明显(请参考表1之比较表)。但是有关支持ATAPI的相关产品(不论是Host与Device端)均较少发现。随着市场上支持SATA的主机板愈来愈多,SATA硬盘的出货量也逐渐加温的情况下,目前唯一尚未出现SATA量产商品的就只剩下光储存相关产品,例如SATA DVD+RW、SATA CD-RW等。
SATA推出的主要目的,除了取代Parallel ATA,维持软件的向后兼容性(请参考图1),提供更高速、稳定的数据传输外,较小的排线与接头以提供更好的散热也是SATA诉求的重点,然而目前打开支持SATA的计算机内,我们发现光驱还是要用传统的排线(不论是SCSI或IDE接口),SATA的好处在计算机上并未完全彰显出来。事实上,相关厂商早期所推出的SATA 控制器,大多无法支持ATAPI device(如DVD+RW、DVD-RW、CD-RW、CD-ROM等),或者即使是支持ATAPI device但在兼容性(Compatibility issue)上,仍有重大的问题。
由于SATA应用于ATAPI device,传输效能不是最重要的考量,软、硬件的兼容性才是最重要的课题,因此在设计上也就更不容易掌握。本文将对SATA支持ATAPI组件的IC设计,作一简单的介绍,希望读者能对SATA应用于ATAPI组件所应考量的设计要点能有更清楚的了解。
 SATA支持ATAPI的设计要点
在SATA相关硬盘与主机板上的SATA控制器上,所谓的SATA IC的设计模式,可分为原生型设计(Native Design)与桥接设计(Bridge Design)两种:
 原生型设计:所谓原生型设计,指的是未透过桥接(Bridge)接口的转换,直接将SATA的讯号转换为其它接口的讯号。例如:PCI to SATA控制卡,所谓的原生设计,指的就是由PCI讯号直接转换为SATA讯号,并未经过任何接口的转接。
 桥接设计:所谓的桥接设计,指的是透过桥接接口的转换,直接将市场上现有的接口转换为SATA接口。例如:市场上本来就有PCI to ATA的接口,透过增加ATA转SATA的接口,马上就可以整合成PCI to SATA的控制接口。此设计模式也是厂商导入SATA产品的最快方式。
目前市面上SATA硬盘,大多数都采用桥接设计模式,也就是在原有的硬盘控制芯片上,再外接一个PATA(Parallel ATA) to SATA Bridge Chip。即可成为支持SATA的硬盘。至于光储存装置(如DVD+RW、CD-RW等)导入SATA的solution,也是以桥接器设计方式最为容易。但是ATAPI device(如DVD+RW、CD-RW等)在SATA的设计上却有很多的限制,尤其是兼容性的问题。如果采用PATA to SATA bridge chip 加上光储存既有的控制芯片,即可提供SATA DVD+RW、CD-RW 的解决方案,但是PATA to SATA bridge chip在支持ATAPI的设计考量,却完全反映到SATA光储存装置的兼容性。以下即是SATA应用于ATAPI Device设计上所需注意的事项。
大体来说,SATA应用于ATAPI Device设计上的问题可以分为以下几类:
1. Protocol Issue(传输协议问题)
这类的问题,通常都是发生在既有的PATA规格与最新的SATA规格有部分的差异所造成的。几个常见的情况包含了下列例子:
 PIO DR0 data block 超过 8K的问题
此一问题与原来ATAPI规格上并未有此规范有关(请参考表2)。而SATA Spec. 定义DATA FIS不可超过8K的大小,但是光储存媒体依照ATAPI的规范,往往有许多CD-R、CD-RW、DVD+RW的PIO DR0 data block超过8K的大小限制,此时PATA to SATA bridge就必须考量此种因SATA与ATAPI传输协议不同的地方,妥善处理,系统才能正常运作。
 Odd word 问题
就SATA规格的定义,SATA的传输是以DW(double word)为基础的传输,但是有一些ATAPI的OP code是以odd word 传输为主(请参考表3),所以SATA bridge 势必要了解transfer count的相关信息以解决这些问题。如果没有适当处理,系统将会把过剩的word data传输到Host端的内存或光储存媒体,而造成系统错误。
就以往光储存媒体的习惯来说,有一些光驱的运作会送出INTRQ以准备接收command 封包。但是在SATA的通讯协议中,SATA host端并不会送出INTRQ,这样将会造成系统的当机,因为软件必须收到INTRQ才会开始执行送出command封包的动作。因此PATA to SATA bridge的设计上就必须补偿规格上缺憾的问题。
 
 Transfer count问题
由于各式各样的CD-R或DVD空白片格式,将使得SATA bridge很难去了解盘片完整的transfer count,而SATA bridge将无法得知何时数据将会结束。这往往需要非常robust的方法去处理transfer count的问题,SATA bridge也并须能补偿protocol缺憾的问题。

2. Vendor Specific Command Issue(制造商的特有指令问题)
这类问题通常为光驱厂商都有自己的Vendor Specific Command,而此类command并未遵循ATAPI规格的规范,而此种模式在现有的光驱市场是非常普遍的现象。但是也造成了SATA设计上的困难。
 Update optical media flash ROM问题
每一家系统厂商更新flash ROM的程序顺序往往都是厂商特有的vendor specific command。而有些厂商的更新程序往往会与SATA传输协议有所出入,这也就会造成了兼容性的问题。
例如:持续的写入sec count register对于PATA及ATAPI规格是有意义的,但是对于SATA而言却是会被忽略的。

3. Violate ATAPI Spec Issue(违反ATAPI规格问题)
光驱接口反应未遵守规格的规定,这在PATA时期即是如此。与硬盘相比,硬盘的Operational Behavior与Command set基本上都相当遵守ATA Spec.的规范,但是光储存装置对于ATAPI Spec.却往往有违反规格的情形发生。而PATA to SATA bridge就必须有能力补偿ATAPI装置违反ATAPI Spec.的运作差异(Operational Variations)。
所谓的作业差异,一般来说,许多ATAPI装置都会在某些地方不符合ATAPI规格,进而产生所谓的「运作差异」,它们会以不同的形式出现,使得事前预测变得极为困难。ATAPI时序差异(timing variations)就是ATAPI装置常见的一种差异,这是因为随着ATAPI装置在PIO或UDMA模式下工作,ATAPI总线Handshaking Signal的宽度也会有所不同,数据脉冲讯号(data strobe)就是例子。此时除非PATA to SATA桥接组件在他的SATA/ATAPI实体接口中提供可调整时序,否则采用这种组件的电路板就无法弥补ATAPI装置的时序差异,系统厂商也将被迫选择不同的ATAPI装置或桥接组件;无论厂商采用哪种方式,产品上市的时间与未来的兼容性问题都会受到影响。
光驱接口反应未遵守规格的项目还包含以下各点:
 Status反应
 Interrupt反应
 Signature反应是错误的
 运作反应违反ATAPI规格

结语
台湾一直是世界光储存媒体的生产重镇,如光驱的生产量与光储存控制器的芯片组,在世界上均占有一席之地。当然支持SATA的DVD+RW、CD-RW等,也会率先于台湾出现。而ATAPI接口由于本身的Protocol issue、Vendor Specific Command issue与Violate Spec. issue,对于SATA技术导入光储存装置的设计上,有相当的的挑战,兼容性问题是SATA DVD+RW、DVD-R、CD-RW等所需要正视的问题,希望本篇文章对相关的厂商有所帮助。