解析SATA2.0擴(kuò)展規(guī)范

2010-08-28 10:48:18來(lái)源:西部e網(wǎng)作者:

  自2003年第二季度Intel推出支持SATA 1.5Gbps的南橋芯片(ICH5)后,SATA接口取代傳統(tǒng)PATA(并行ATA)的態(tài)勢(shì)日漸明顯。此外,SATA與現(xiàn)存于PC上的USB、IEEE1394相比,在性能和功能方面的表現(xiàn)也很突出。然而經(jīng)過(guò)一年的市場(chǎng)洗禮,原有的SATA 1.0/1.0a (1.5Gbps)規(guī)格遇到了一些問(wèn)題。2005年SATA硬盤步入了新的發(fā)展階段。性能更強(qiáng)、配置更高的SATA2.0產(chǎn)品已經(jīng)出現(xiàn)在市場(chǎng)上,而這些高性能的SATA2.0硬盤的到來(lái)無(wú)疑加速了硬盤市場(chǎng)的轉(zhuǎn)變。

  SATA規(guī)范發(fā)展歷程

  SATA是Intel公司在IDF2000大會(huì)上推出的,該技術(shù)可以讓用戶擁有高效能的硬盤,卻不必犧牲資料的完整性。SATA最大的優(yōu)勢(shì)是傳輸速率高。SATA的工作原理非常簡(jiǎn)單:采用連續(xù)串行的方式來(lái)實(shí)現(xiàn)數(shù)據(jù)傳輸從而獲得較高傳輸速率。2003年發(fā)布SATA1.0規(guī)格提供的傳輸率就已經(jīng)達(dá)到了150MB/s,不但已經(jīng)高出普通IDE硬盤所提供的100MB/s(ATA100)甚至超過(guò)了133MB/s(ATA133)的最高傳輸速率。

  SATA在數(shù)據(jù)可靠性方面也有了大幅度提高。SATA可同時(shí)對(duì)指令及數(shù)據(jù)封包進(jìn)行循環(huán)冗余校驗(yàn)(CRC),不僅可檢測(cè)出所有單bit和雙bit的錯(cuò)誤,而且根據(jù)統(tǒng)計(jì)學(xué)的原理,這樣還能夠檢測(cè)出99.998%可能出現(xiàn)的錯(cuò)誤。相比之下,PATA只能對(duì)來(lái)回傳輸?shù)臄?shù)據(jù)進(jìn)行校驗(yàn),而無(wú)法對(duì)指令進(jìn)行校驗(yàn),加之高頻率下干擾甚大,因此數(shù)據(jù)傳輸穩(wěn)定性很差。

  除了傳輸速度、傳輸數(shù)據(jù)更可靠外,節(jié)省空間是SATA最具吸引力之處,更有利于機(jī)箱內(nèi)部的散熱,線纜間的串?dāng)_也得到了有效控制。不過(guò)SATA 1.0規(guī)范存在不少缺點(diǎn),特別是缺乏對(duì)于服務(wù)器和網(wǎng)絡(luò)存儲(chǔ)應(yīng)用所需的一些先進(jìn)特性的支持。比如在多任務(wù)、多請(qǐng)求的典型服務(wù)器環(huán)境里面SATA1.0硬盤的確會(huì)有性能大幅度下降、可維護(hù)性不強(qiáng)、可連接性不好等等缺點(diǎn)。這時(shí),SATA2.0的出現(xiàn)在這方面卻得到了很好的補(bǔ)充。

  SATA2.0強(qiáng)在哪里

  1.3Gb/s傳輸速率

  在SATA2.0擴(kuò)展規(guī)范中,3Gb/s被提到的頻率最高。由于SATA使用8bit/10bit編碼,所以3Gb/s等同于300MB/s的接口速率。不過(guò),從性能角度看,3Gb/s并不能帶來(lái)多大的提升,即便是RAID應(yīng)用的場(chǎng)合,性能提升也沒(méi)有想象的那么大。因?yàn)橛脖P內(nèi)部傳輸速率還達(dá)不到與接口速率等同的程度,而且接口速率的影響也不是很大,在大多數(shù)應(yīng)用中硬盤是將更多的時(shí)間花在尋道上,而不是傳輸上。接口速率的提高直接影響到的是從緩存進(jìn)行讀寫的操作,所以理論上大緩存的產(chǎn)品會(huì)從3Gb/s上得到更大的好處。從現(xiàn)有情況來(lái)看,相信3Gb/s的普及速度會(huì)加快,不過(guò)市場(chǎng)仍會(huì)存在一個(gè)1.5Gb/s和3Gb/s的共存期。

  2.支持NCQ技術(shù)

  在SATA2.0擴(kuò)展規(guī)范所帶來(lái)的一系列新功能中,NCQ(Native Command Queuing,原生命令隊(duì)列)功能最令人關(guān)注。硬盤是機(jī)電設(shè)備,容易受內(nèi)部機(jī)械部件慣性的影響,其中旋轉(zhuǎn)等待時(shí)間和尋道等待時(shí)間就大大限制了硬盤對(duì)數(shù)據(jù)訪問(wèn)和檢索的效率。

  具體來(lái)說(shuō),如果磁頭停在目標(biāo)磁道上方,卻錯(cuò)過(guò)了起始LBA(Logical Block Addressing,邏輯塊尋址),就會(huì)產(chǎn)生旋轉(zhuǎn)等待時(shí)間。最糟糕的情況是,硬盤將經(jīng)過(guò)旋轉(zhuǎn)一整圈的時(shí)間才能訪問(wèn)起始LBA,然后再繼續(xù)從剩余的目標(biāo)LBA中讀取數(shù)據(jù)。如果以LBA相對(duì)于磁頭角度位置隨機(jī)分布,那么平均旋轉(zhuǎn)等待時(shí)間是最大旋轉(zhuǎn)等待時(shí)間的一半。而尋道等待時(shí)間是讀/寫磁頭準(zhǔn)確定位于存儲(chǔ)目標(biāo)LBA的磁道上方所占用的時(shí)間。例如,執(zhí)行單一的讀命令時(shí),磁頭只須訪問(wèn)一條磁道,但如果有多條待執(zhí)行命令,硬盤就要訪問(wèn)所有目標(biāo)LBA,從而須花費(fèi)大量時(shí)間。

  如果對(duì)硬盤這個(gè)機(jī)械動(dòng)作的執(zhí)行過(guò)程實(shí)施智能化的內(nèi)部管理,則可以大大提高整個(gè)工作流程的效率。即取出隊(duì)列中的命令,然后重新排序,以便有效地獲取和發(fā)送主機(jī)請(qǐng)求的數(shù)據(jù),在硬盤執(zhí)行某一命令的同時(shí),隊(duì)列中可以加入新的命令并排在等待執(zhí)行的作業(yè)中。如果新的命令恰好是處理起來(lái)機(jī)械效率最高的,那么它就是隊(duì)列中要處理的下一個(gè)命令。但有效的排序算法既考慮目標(biāo)數(shù)據(jù)的線性位置,也考慮其角度位置,并且還要對(duì)線性位置和角度位置進(jìn)行優(yōu)化,以使總線的服務(wù)時(shí)間最小,這個(gè)過(guò)程也稱作“基于尋道和旋轉(zhuǎn)優(yōu)化的命令重新排序”。

  臺(tái)式PATA硬盤隊(duì)列一直被嚴(yán)格地限制為深度不得超過(guò)32級(jí)。如果增加隊(duì)列深度,可能會(huì)起到反作用——增加命令堆積風(fēng)險(xiǎn)。通常PATA硬盤接收命令時(shí)有兩種選擇:一是立即執(zhí)行命令,二是延遲執(zhí)行。對(duì)于后一種情況,硬盤必須通過(guò)設(shè)置注意標(biāo)志和Service位來(lái)通知主機(jī)何時(shí)開始執(zhí)行命令,然而硬盤不能主動(dòng)與主機(jī)通信,這就需要主機(jī)定期自動(dòng)輪回查詢所有硬盤扇區(qū),發(fā)現(xiàn)Service位后將發(fā)一條Service命令,才能從硬盤獲得將執(zhí)行哪一條待執(zhí)行命令的信息。而且Service位不包含任何對(duì)即將執(zhí)行命令的識(shí)別信息,所必需的命令識(shí)別信息則以標(biāo)記值的形式與數(shù)據(jù)請(qǐng)求一同傳輸,并僅供主機(jī)用于設(shè)置DMA引擎和接收數(shù)據(jù)緩沖區(qū)。這樣主機(jī)就不能預(yù)先掌握硬盤所設(shè)置的輔助位是哪條命令設(shè)置的,數(shù)據(jù)傳輸周期開始前也無(wú)法設(shè)置DMA引擎。這最終導(dǎo)致PATA硬盤效率低下。

  NCQ包含兩部分內(nèi)容。一方面,硬盤本身必須有能力針對(duì)實(shí)體數(shù)據(jù)的扇區(qū)分布,對(duì)命令緩沖區(qū)中的讀寫命令進(jìn)行排序,同時(shí)硬盤內(nèi)部隊(duì)列中的命令可以隨著必要的跟蹤機(jī)制動(dòng)態(tài)地重新調(diào)整或排序,其中跟蹤機(jī)制用于掌握待執(zhí)行和已完成作業(yè)的情況,而命令排隊(duì)功能還可以使主機(jī)在設(shè)備對(duì)命令進(jìn)行排隊(duì)的時(shí)候,斷開與硬盤間的連接以釋放總線,一旦硬盤準(zhǔn)備就緒,就重新連接到主機(jī),盡可能以最快的速率傳輸數(shù)據(jù),從而消除占用總線的現(xiàn)象。另一方面,通訊協(xié)議的支持也相當(dāng)重要,因?yàn)橐郧暗腜ATA硬盤在傳輸數(shù)據(jù)時(shí)很容易造成中斷,這會(huì)降低主控器的效率,所以NCQ規(guī)格中定義了中斷聚集機(jī)制,相當(dāng)于一次執(zhí)行完畢數(shù)個(gè)命令之后,再對(duì)主控器回傳執(zhí)行完畢的信息,改善處理隊(duì)列命令的效能。

  從最早的希捷7200.7系列硬盤開始,NCQ技術(shù)應(yīng)用于桌面產(chǎn)品至今已超過(guò)半年,不過(guò)目前NCQ對(duì)個(gè)人桌面應(yīng)用并沒(méi)有帶來(lái)多大的性能提升,某些情況下還會(huì)引起副作用。而且不同硬盤廠商的NCQ方案存在差異,帶來(lái)的效果也不同。所以對(duì)NCQ我們要理智對(duì)待,硬盤支持固然多了一項(xiàng)可以提高性能的技術(shù),但沒(méi)有也不必在意。

  3.端口選擇器(Port Selector)

  目前的SATA2.0擴(kuò)展規(guī)范還具備了Port Selector(端口選擇器)功能。Port Selector 是一種數(shù)據(jù)冗余保護(hù)方案,使用Port Selector可使Host(主)端口的兩個(gè)獨(dú)立SATA Port連接至同一設(shè)備,以建立連接設(shè)備端的備份路徑。

   簡(jiǎn)單來(lái)說(shuō),端口選擇器就是為一個(gè)硬盤提供兩條連線連接到控制器,其中一條是冗余的(即多出來(lái)的意思)。這種設(shè)計(jì)的好處是萬(wàn)一其中一條連線斷了,還有另一條可以連接。由此看來(lái),我們不但可以用RAID防止硬盤損壞,還能用這個(gè)Port Selector來(lái)防止連接線損壞。

  4.端口倍增器(Port Multiplier)

  SATA 1.0的一個(gè)缺點(diǎn)就是可連接性不好,即連接多個(gè)硬盤的擴(kuò)展性不好。因?yàn)樵赟ATA 1.0規(guī)范中,一個(gè)SATA接口只能連接一個(gè)設(shè)備。SATA的制定者們顯然也意識(shí)到了這個(gè)問(wèn)題,于是他們?cè)赟ATA2.0中引入了Port Multiplier的概念。Port Multiplier是一種可以在一個(gè)控制器上擴(kuò)展多個(gè)SATA設(shè)備的技術(shù),它采用4位(bit)寬度的Port Multiplier端口字段,其中控制端口占用一個(gè)地址,因此最多能輸出15個(gè)設(shè)備連接----與并行SCSI相當(dāng)。Port Multiplier的上行端口只有1個(gè),在帶寬為150MB/s的時(shí)候容易成為瓶頸,但如果上行端口支持300MB/s的帶寬,就與Ultra320 SCSI十分接近了。Port Multiplier技術(shù)對(duì)需要多硬盤的用戶很有用,不過(guò)目前提供這種功能的芯片組極少。

  5.服務(wù)器特性

  在SATA2.0擴(kuò)展規(guī)范中,還增加了大量的新功能,比如防止開機(jī)時(shí)多硬盤同時(shí)啟動(dòng)帶來(lái)太大電流負(fù)荷的交錯(cuò)啟動(dòng)功能;強(qiáng)大的溫度控制、風(fēng)扇控制、環(huán)境管理;背板互聯(lián)和熱拔插功能等。這些功能更側(cè)重于低端服務(wù)器方面的擴(kuò)展。

  6.接口和連線的強(qiáng)化

  作為一個(gè)還在不斷添加內(nèi)容的標(biāo)準(zhǔn)集合,SATA2.0最新的熱點(diǎn)是eSATA,即外置設(shè)備的SATA接口標(biāo)準(zhǔn),采用屏蔽性能更好的兩米長(zhǎng)連接線,目標(biāo)為最終取代USB和IEEE 1394。在內(nèi)部接口方面,Click Connect加強(qiáng)了連接的可靠性,在接上時(shí)有提示聲,拔下時(shí)需要先按下卡口。這些細(xì)微的結(jié)構(gòu)變化顯示出SATA接口更加成熟和可靠。

  寫在最后

  SATA2.0不是特指3Gb/s或NCQ,也不是特指上述其他擴(kuò)展特性。SATA2.0可以指擴(kuò)展特性中的任何一個(gè),也就是說(shuō)具備上述任一個(gè)特性或組合的產(chǎn)品都可稱為SATA2.0硬盤。由于此前SATA規(guī)范非;靵y,SATA-IO組織在2005年秋季IDF上正式發(fā)布了SATA2.5規(guī)范。但從實(shí)際情況來(lái)看,新的SATA2.5規(guī)范是SATA 1.0a規(guī)范和6個(gè)SATA 2.0擴(kuò)展規(guī)范的統(tǒng)一體,它的推出只是方便了系統(tǒng)商或者硬盤生產(chǎn)商,因?yàn)榇蠹椰F(xiàn)在可以用一個(gè)規(guī)范來(lái)代替現(xiàn)有的一切標(biāo)準(zhǔn)。其實(shí),對(duì)于普通消費(fèi)者來(lái)說(shuō),大家從SATA2.0或SATA2.5之類的名稱中并不能得到太多有用的信息,我們真正應(yīng)當(dāng)關(guān)心的是新硬盤具備哪些功能、優(yōu)勢(shì),以確定是否值得我們?yōu)樗I單。

關(guān)鍵詞:SATA

贊助商鏈接: