由于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訊號,并未經(jīng)過任何接口的轉接。
? 橋接設計:所謂的橋接設計,指的是透過橋接接口的轉換,直接將市場上現(xiàn)有的接口轉換為SATA接口。例如:市場上本來就有PCI to ATA的接口,透過增加ATA轉SATA的接口,馬上就可以整合成PCI to SATA的控制接口。此設計模式也是廠商導入SATA產(chǎn)品的最快方式。
目前市面上SATA硬盤,大多數(shù)都采用橋接設計模式,也就是在原有的硬盤控制芯片上,再外接一個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(傳輸協(xié)議問題)
這類的問題,通常都是發(fā)生在既有的PATA規(guī)格與最新的SATA規(guī)格有部分的差異所造成的。幾個常見的情況包含了下列例子:
? PIO DR0 data block 超過 8K的問題
此一問題與原來ATAPI規(guī)格上并未有此規(guī)范有關(請參考表2)。而SATA Spec. 定義DATA FIS不可超過8K的大小,但是光儲存媒體依照ATAPI的規(guī)范,往往有許多CD-R、CD-RW、DVD+RW的PIO DR0 data block超過8K的大小限制,此時PATA to SATA bridge就必須考量此種因SATA與ATAPI傳輸協(xié)議不同的地方,妥善處理,系統(tǒng)才能正常運作。
? Odd word 問題
就SATA規(guī)格的定義,SATA的傳輸是以DW(double word)為基礎的傳輸,但是有一些ATAPI的OP code是以odd word 傳輸為主(請參考表3),所以SATA bridge 勢必要了解transfer count的相關信息以解決這些問題。如果沒有適當處理,系統(tǒng)將會把過剩的word data傳輸?shù)紿ost端的內存或光儲存媒體,而造成系統(tǒng)錯誤。
就以往光儲存媒體的習慣來說,有一些光驅的運作會送出INTRQ以準備接收command 封包。但是在SATA的通訊協(xié)議中,SATA host端并不會送出INTRQ,這樣將會造成系統(tǒng)的當機,因為軟件必須收到INTRQ才會開始執(zhí)行送出command封包的動作。因此PATA to SATA bridge的設計上就必須補償規(guī)格上缺憾的問題。
? Transfer count問題
由于各式各樣的CD-R或DVD空白片格式,將使得SATA bridge很難去了解盤片完整的transfer count,而SATA bridge將無法得知何時數(shù)據(jù)將會結束。這往往需要非常robust的方法去處理transfer count的問題,SATA bridge也并須能補償protocol缺憾的問題。2. Vendor Specific Command Issue(制造商的特有指令問題)
這類問題通常為光驅廠商都有自己的Vendor Specific Command,而此類command并未遵循ATAPI規(guī)格的規(guī)范,而此種模式在現(xiàn)有的光驅市場是非常普遍的現(xiàn)象。但是也造成了SATA設計上的困難。
? Update optical media flash ROM問題
每一家系統(tǒng)廠商更新flash ROM的程序順序往往都是廠商特有的vendor specific command。而有些廠商的更新程序往往會與SATA傳輸協(xié)議有所出入,這也就會造成了兼容性的問題。
例如:持續(xù)的寫入sec count register對于PATA及ATAPI規(guī)格是有意義的,但是對于SATA而言卻是會被忽略的。
3. Violate ATAPI Spec Issue(違反ATAPI規(guī)格問題)
光驅接口反應未遵守規(guī)格的規(guī)定,這在PATA時期即是如此。與硬盤相比,硬盤的Operational Behavior與Command set基本上都相當遵守ATA Spec.的規(guī)范,但是光儲存裝置對于ATAPI Spec.卻往往有違反規(guī)格的情形發(fā)生。而PATA to SATA bridge就必須有能力補償ATAPI裝置違反ATAPI Spec.的運作差異(Operational Variations)。
所謂的作業(yè)差異,一般來說,許多ATAPI裝置都會在某些地方不符合ATAPI規(guī)格,進而產(chǎn)生所謂的「運作差異」,它們會以不同的形式出現(xiàn),使得事前預測變得極為困難。ATAPI時序差異(timing variations)就是ATAPI裝置常見的一種差異,這是因為隨著ATAPI裝置在PIO或UDMA模式下工作,ATAPI總線Handshaking Signal的寬度也會有所不同,數(shù)據(jù)脈沖訊號(data strobe)就是例子。此時除非PATA to SATA橋接組件在他的SATA/ATAPI實體接口中提供可調整時序,否則采用這種組件的電路板就無法彌補ATAPI裝置的時序差異,系統(tǒng)廠商也將被迫選擇不同的ATAPI裝置或橋接組件;無論廠商采用哪種方式,產(chǎn)品上市的時間與未來的兼容性問題都會受到影響。
光驅接口反應未遵守規(guī)格的項目還包含以下各點:
? Status反應
? Interrupt反應
? Signature反應是錯誤的
? 運作反應違反ATAPI規(guī)格