在2000年首次公佈的SATA (Serial ATA) 至今也超過18個年頭了,相信各位科科不會不知道個人電腦機殼內,那條用來連接硬碟和主機板的「細細一條線」,而且因NVMe的普及,甚至早已被視為「落伍規格」的象徵。
但難道科科們不會好奇,SATA在問世之初,究竟是企圖帶給世人何種形象,又被賦予哪些在今天看來有點不切實際的期待嗎?我們就啟動浮出於頭頂的妄想螢幕,幻想自己拿著一把西瓜刀,挾持倒楣的多拉A夢,搭上時光機,回到2000年春季IDF (Intel Developer Forum) 的現場,瞧瞧最早的SATA世代規劃長的是什麼德性。
首先,代表資料傳輸率的世代:
- Gen 1:1.5Gb/s (8B/10B編碼),150MB/s
- Gen 2:3.0Gb/s (8B/10B編碼),300MB/s
其次,以下還有三個魔術英文字母:
- i:代表內接,這個不難理解。
- m:短距離外接,定義eSATA的規範。
- x:長距離外接,用來作 “Box-to-Box” 的應用,這看來有點刺激。
簡而言之,SATA的規格制定組織,打從一開始,就充滿取代昔日SCSI外接應用的野心,說的好聽一點就是「提昇泛用性」,應用場景不再只侷限在電腦的機殼內。
過去SCSI的外接應用場面是長這樣:
SATA描繪出來的「願景」則是長這樣,為此還定義了外接用複數接頭規範SFF-8470:
內接應用的發展亦不遑多讓,連最多可1對15的Port Multipler都登場了。可是真的會有人妄想1條SATA排線的頻寬,可以撐住這麼多嗷嗷待哺的SATA裝置?就算是葉問,也只能打10個,這樣硬搞對SATA的未來妥當嗎?
甚至連當壞了一張卡或斷了一條線,用來進行損壞備援的Port Selector都出現了,為「ATA介面的雙控企業儲存」踏出偉大的第一步,哈雷路亞!
這些規格看起來好像「讓ATA更加偉大 (東施效顰川普講話的語氣)」,但是,然後呢?在今天,什麼都沒有了,連eSATA都被USB 3.0打垮,打從2017年中期,就少有電腦支援,搞不好連科科們都快沒有印象了。別說外接裝置,連SATA理論上具備的「熱插拔」恐怕都沒多少人敢以身試險。
但這不代表SATA除了「排線比較不佔空間」外就一無可取,根據在磁盤上的實體資料位置而最佳化命令排序讓存取路徑更加的「順路」、號稱可加速30%讀寫效能、並減少硬碟機構運作損耗的NCQ (原生指令佇列,Native Command Queuing),就是二十世紀初期的SATA萌芽期中,最重要也最受矚目的新功能,讓窮人的ATA也能享有富人的SCSI的TCQ (Tagged Command Queuing) 非循序磁碟存取。
其實Command Queuing早已出現於1998年的ATA-4,但因為當時的命令排序主要由ATA介面控制器或介面卡處理,加上缺乏完整配套措施,例如原始ATA規格受制於ISA匯流排而缺少First-Party DMA (要傳輸資料時,設備可以主動掌握匯流排的控制權,無須打斷CPU的工作,再啟動DMA控制器,所以你會看到CPU利用率會瞬間飆高),自然也難以克竟全功。完善的NCQ有賴磁碟介面規格的配合,像縮短命令延遲、更高效的資料傳輸、與更快的回報命令執行狀態等,這些也是序列化 (Serial) 的介面帶來的額外優勢。
不過要充分發揮SATA的全部潛能,更需「軟硬兼備」,Intel特此在2004年頒布AHCI (進階主機控制器介面,Advanced Host Controller Interface) 介面規格,為硬體製造商定義了如何在系統記憶體和SATA裝置之間傳輸資料的記憶體架構規範,作為軟體和SATA裝置之間的溝通機制,並可啟用SATA儲存裝置啟動NCQ和熱插拔等進階功能。
事實上,NCQ與熱插拔,跟AHCI是牢牢綁在一起的,在AHCI 1.0規範中被正式引進,透過硬碟韌體、晶片組的SATA控制器和作業系統三者之間的相互配合,才是真正的「完全體」。
要享受NCQ和熱插拔,不外乎滿足以下條件:
- 支援NCQ和熱插拔的SATA硬碟。
- 支援NCQ和熱插拔的主機板南橋晶片組或SATA磁碟介面控制器,以一般的Intel晶片組來說,在ICH8前,須支援RAID組態、或須壓榨出單顆硬碟最多效能的筆電版本,才會擁有AHCI。ICH9和ICH10的原廠datasheet則是宣稱「基本款有提供硬體功能,但官方故意假裝不支援,請自己想辦法去找『適當硬體配置』和『合用驅動程式』( provides hardware support for AHCI functionality when enabled by appropriate system configuration and software driver.)」。
講的更白話一點,就是BIOS能夠打開的話就能用,看主機板廠商想不想幹這件事。不是筆者要講,Intel實在很不乾脆。筆者很不幸的經歷過1張尷尬時期的主機板。GIGABYTE GA-EP43-DS3 (P43 + ICH10)
- 支援NCQ和熱插拔的作業系統與驅動程式。
- 記得在BIOS選項打開AHCI。
微軟從Windows Vista原生支援AHCI,Linux始於系統核心2.6.19版,FreeBSD則起於8.0。較舊的作業系統,像Windows XP,則須硬體製造商提供驅動程式,如某些有點年紀的科科可能經歷過的回憶,使用光碟開機、安裝作業系統,必須先按下F6,使用軟碟機預先載入具備AHCI功能的SATA驅動程式 (如最新版本的Intel Matrix Storage Manager),否則根本找不到可以安裝作業系統的AHCI硬碟。
或著當個懶到不行的廢人,索性不啟動主機板BIOS的AHCI選項,沿用相容模式,但這就無從發揮新世代SATA的潛力。至於如何將已經採用相容模式安裝完畢的作業系統,原封不動的轉移到AHCI,那又是另一門高深的技藝了。
行文至此,字數再度破表,這裡就來順便談談今日少人提及的Matrix RAID好了,這是Intel在ICH6R首度推出的特殊RAID模式,可以想成RAID 10的變形:2顆硬碟的其中一部 分組成RAID 1,適合安裝需要高可靠度的作業系統,而其餘部分組成RAID 0,用來加速資料存取。
但是筆者從未聽聞任何認識的人使用過如此詭異的RAID,而Intel日後也不再沿用Matrix這個讓人第一時間聯想到駭客任務的名稱,後來被納入所謂「快速儲存技術 (Intel Rapid Storage Technology)」的一部分,並與其他技術行銷名詞送作堆,現在大概也沒剩多少人記得這玩意了,讓人不勝唏噓。
說到最後,不只SCSI難纏,原來使用SATA這檔事,也曾經讓人覺得難搞啊。真的是太讓人科科了。
未完待續:下集「硬科技:光華電腦DIY回憶錄之最吵的硬碟 讓人極度無言的SATA陣痛期」
7 則回應
因為通道的問題
就算是上M2 走 PCI-E 但是PCI-E的通道數上限
相對較小
所以大致上2~3個插槽就極限了
(應該是說 目前消費級的 產品 最多也就看過3組)
但是SATA雖然也有通道的問題
不過相對的
可以一次插的硬碟比較多
所以對於一些NAS或是File Server
或是農場機來說
還是大多會以SATA的硬碟為主~
HDD 倉庫碟必需用 SATA