SATA支持ATAPI的設(shè)計要點分析
由于SATA應(yīng)用于ATAPI device,傳輸效能不是最重要的考量,軟、硬件的兼容性才是最重要的課題,因此在設(shè)計上也就更不容易掌握。本文將對SATA支持ATAPI組件的IC設(shè)計,作一簡單的介紹,希望讀者能對SATA應(yīng)用于ATAPI組件所應(yīng)考量的設(shè)計要點能有更清楚的了解。
本文引用地址:http://www.ex-cimer.com/article/190422.htmSATA支持ATAPI的設(shè)計要點
在SATA相關(guān)硬盤與主機板上的SATA控制器上,所謂的SATA IC的設(shè)計模式,可分為原生型設(shè)計(Native Design)與橋接設(shè)計(Bridge Design)兩種:
? 原生型設(shè)計:所謂原生型設(shè)計,指的是未透過橋接(Bridge)接口的轉(zhuǎn)換,直接將SATA的訊號轉(zhuǎn)換為其它接口的訊號。例如:PCI to SATA控制卡,所謂的原生設(shè)計,指的就是由PCI訊號直接轉(zhuǎn)換為SATA訊號,并未經(jīng)過任何接口的轉(zhuǎn)接。
? 橋接設(shè)計:所謂的橋接設(shè)計,指的是透過橋接接口的轉(zhuǎn)換,直接將市場上現(xiàn)有的接口轉(zhuǎn)換為SATA接口。例如:市場上本來就有PCI to ATA的接口,透過增加ATA轉(zhuǎn)SATA的接口,馬上就可以整合成PCI to SATA的控制接口。此設(shè)計模式也是廠商導(dǎo)入SATA產(chǎn)品的最快方式。
目前市面上SATA硬盤,大多數(shù)都采用橋接設(shè)計模式,也就是在原有的硬盤控制芯片上,再外接一個PATA(Parallel ATA) to SATA Bridge Chip。即可成為支持SATA的硬盤。至于光儲存裝置(如DVD+RW、CD-RW等)導(dǎo)入SATA的solution,也是以橋接器設(shè)計方式最為容易。但是ATAPI device(如DVD+RW、CD-RW等)在SATA的設(shè)計上卻有很多的限制,尤其是兼容性的問題。如果采用PATA to SATA bridge chip 加上光儲存既有的控制芯片,即可提供SATA DVD+RW、CD-RW 的解決方案,但是PATA to SATA bridge chip在支持ATAPI的設(shè)計考量,卻完全反映到SATA光儲存裝置的兼容性。以下即是SATA應(yīng)用于ATAPI Device設(shè)計上所需注意的事項。
大體來說,SATA應(yīng)用于ATAPI Device設(shè)計上的問題可以分為以下幾類:
1. Protocol Issue(傳輸協(xié)議問題)
這類的問題,通常都是發(fā)生在既有的PATA規(guī)格與最新的SATA規(guī)格有部分的差異所造成的。幾個常見的情況包含了下列例子:
? PIO DR0 data block 超過 8K的問題
此一問題與原來ATAPI規(guī)格上并未有此規(guī)范有關(guān)(請參考表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)為基礎(chǔ)的傳輸,但是有一些ATAPI的OP code是以odd word 傳輸為主(請參考表3),所以SATA bridge 勢必要了解transfer count的相關(guān)信息以解決這些問題。如果沒有適當處理,系統(tǒng)將會把過剩的word data傳輸?shù)紿ost端的內(nèi)存或光儲存媒體,而造成系統(tǒng)錯誤。
就以往光儲存媒體的習(xí)慣來說,有一些光驅(qū)的運作會送出INTRQ以準備接收command 封包。但是在SATA的通訊協(xié)議中,SATA host端并不會送出INTRQ,這樣將會造成系統(tǒng)的當機,因為軟件必須收到INTRQ才會開始執(zhí)行送出command封包的動作。因此PATA to SATA bridge的設(shè)計上就必須補償規(guī)格上缺憾的問題。
? Transfer count問題
由于各式各樣的CD-R或DVD空白片格式,將使得SATA bridge很難去了解盤片完整的transfer count,而SATA bridge將無法得知何時數(shù)據(jù)將會結(jié)束。這往往需要非常robust的方法去處理transfer count的問題,SATA bridge也并須能補償protocol缺憾的問題。
評論