硬科技:光華電腦DIY回憶錄之最吵的硬碟 不小心用了SATA該怎麼辦

2019.02.08 06:31AM
13481
Serial ATA, Parallel ATA, Computer, Computer Monitors, Bus, stock.xchng, Electrical connector, Electrical cable, Download, Personal computer, ata computer, Technology, Cable, Electronic device, Electronics accessory, Networking cables, Wire, Electrical connector, Electronic component

在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” 的應用,這看來有點刺激。

Serial ATA, Interface, Parallel ATA, PHY, Information technology, Serial communication, Serial port, Text, Information, Computer font, Information technology, Text, Font

簡而言之,SATA的規格制定組織,打從一開始,就充滿取代昔日SCSI外接應用的野心,說的好聽一點就是「提昇泛用性」,應用場景不再只侷限在電腦的機殼內。

過去SCSI的外接應用場面是長這樣:

SCSI, Daisy chain, SCSI connector, Electrical termination, Bus, SCSI high byte termination, , Electrical cable, Electrical connector, Chain, scsi chain, Diagram

SATA描繪出來的「願景」則是長這樣,為此還定義了外接用複數接頭規範SFF-8470:

Serial ATA, , Intel, ESATA, Parallel ATA, Hard Drives, Interface, Gigabit per second, Personal computer, Intel Developer Forum, intel, Text, Diagram, Line, Technology, Parallel

內接應用的發展亦不遑多讓,連最多可1對15的Port Multipler都登場了。可是真的會有人妄想1條SATA排線的頻寬,可以撐住這麼多嗷嗷待哺的SATA裝置?就算是葉問,也只能打10個,這樣硬搞對SATA的未來妥當嗎?

Project Management Professional, Project management, Font, Text, Computer font, Management, Port multiplier, Project, Information technology, Project Management Professional, Text, Line, Font, Parallel

甚至連當壞了一張卡或斷了一條線,用來進行損壞備援的Port Selector都出現了,為「ATA介面的雙控企業儲存」踏出偉大的第一步,哈雷路亞!

Port multiplier, Serial ATA, Native Command Queuing, PHY, Product, Computer port, Product design, Port, Angle, Diagram, sata port selector, Text, Line, Font, Rectangle, Parallel

這些規格看起來好像「讓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) 的介面帶來的額外優勢。

Font, Text, Computer font, Product design, Organism, Design, Command, Native Command Queuing, LINE, compbenefits, Text, Line, Font

不過要充分發揮SATA的全部潛能,更需「軟硬兼備」,Intel特此在2004年頒布AHCI (進階主機控制器介面,Advanced Host Controller Interface) 介面規格,為硬體製造商定義了如何在系統記憶體和SATA裝置之間傳輸資料的記憶體架構規範,作為軟體和SATA裝置之間的溝通機制,並可啟用SATA儲存裝置啟動NCQ和熱插拔等進階功能。

事實上,NCQ與熱插拔,跟AHCI是牢牢綁在一起的,在AHCI 1.0規範中被正式引進,透過硬碟韌體、晶片組的SATA控制器和作業系統三者之間的相互配合,才是真正的「完全體」。

Font, Display advertising, Point, Product, Angle, Advertising, Technology, Diagram, Multimedia, display advertising, Text, Line, Font, Parallel, Rectangle

要享受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) 

Line, Angle, Point, Font, angle, Text, Font, Line, Number, Illustration

  • 支援NCQ和熱插拔的作業系統與驅動程式。
  • 記得在BIOS選項打開AHCI。

University of Zurich, ETH Zürich, Office Supplies, , Paper, ETH Zürich, , Biuras, Research, Chemistry, Office supplies, Text, Line, Number, Font, Design, Parallel, Pattern

微軟從Windows Vista原生支援AHCI,Linux始於系統核心2.6.19版,FreeBSD則起於8.0。較舊的作業系統,像Windows XP,則須硬體製造商提供驅動程式,如某些有點年紀的科科可能經歷過的回憶,使用光碟開機、安裝作業系統,必須先按下F6,使用軟碟機預先載入具備AHCI功能的SATA驅動程式 (如最新版本的Intel Matrix Storage Manager),否則根本找不到可以安裝作業系統的AHCI硬碟。

或著當個懶到不行的廢人,索性不啟動主機板BIOS的AHCI選項,沿用相容模式,但這就無從發揮新世代SATA的潛力。至於如何將已經採用相容模式安裝完畢的作業系統,原封不動的轉移到AHCI,那又是另一門高深的技藝了。

Text, Font, Handwriting, Typeface, Writing, Jazykový znak, Character, , Chinese language, Chinese characters, chinesische zeichen, Text, Font, Line, Calligraphy, Art, Illustration, Number, Smile

行文至此,字數再度破表,這裡就來順便談談今日少人提及的Matrix RAID好了,這是Intel在ICH6R首度推出的特殊RAID模式,可以想成RAID 10的變形:2顆硬碟的其中一部 分組成RAID 1,適合安裝需要高可靠度的作業系統,而其餘部分組成RAID 0,用來加速資料存取。

但是筆者從未聽聞任何認識的人使用過如此詭異的RAID,而Intel日後也不再沿用Matrix這個讓人第一時間聯想到駭客任務的名稱,後來被納入所謂「快速儲存技術 (Intel Rapid Storage Technology)」的一部分,並與其他技術行銷名詞送作堆,現在大概也沒剩多少人記得這玩意了,讓人不勝唏噓。

RAID, Disk array, Product, Product design, Cylinder, Text, Font, Design, matrix raid, Cylinder

說到最後,不只SCSI難纏,原來使用SATA這檔事,也曾經讓人覺得難搞啊。真的是太讓人科科了。

未完待續:下集「硬科技:光華電腦DIY回憶錄之最吵的硬碟 讓人極度無言的SATA陣痛期

回應 7

7 則回應