題 Desmistifiying SATA hotplug


我有一個BIOS,可以選擇在各個端口上啟用熱插拔。我有一個用於HDD和SSD的滑動外殼(只不過是一個通電器和一個sata端口),它允許我在物理移動之前切斷驅動器的電源。

我希望在不關閉計算機的情況下方便地插入和移除HDD / SSD。

但是,在研究SATA hotswap時,除了昂貴的企業解決方案之外,還有 可靠 信息。我甚至試過看專利。我找不到一個可靠的來源,它告訴我在消費者世界中如何可靠/不可靠。

所以,我的BIOS,主板和機箱都有支持。我從未見過的驅動程序提到了規格上的熱插拔,即使在企業上也是如此。為方便起見,我將面臨多少數據丟失風險?

然後,除了硬件,還有軟件問題。我需要OS上的支持嗎?是否有任何AT命令拔掉必鬚髮出的驅動器,或者它是否自動將其停放在電源上?在軟件方面有一個略微知情的討論 這裡


編輯: 發現了一些關於熱插拔的更多信息。來自西部數據:它說每個支持SATA的驅動程序都是通過標準的定義,已經支持熱插拔。

因此,SATA兼容設備無需進一步修改   可熱插拔,並提供必要的構建塊,以實現強大的功能   熱插拔解決方案,通常包括:甚至設備檢測   斷電插座(典型的服務器應用)

預充電電阻可在驅動期間被動限制浪湧電流   插入

熱插拔控制器可在驅動期間主動限制浪湧電流   插入

資源: http://wdc.custhelp.com/app/answers/detail/a_id/941/~/hot-swap-or-hot-plug-wd-sata-drives


但是,上述內容引發了另一個疑問。它說:

為了利用Serial的熱插拔功能   ATA硬盤,你必須使用串行ATA電源連接,而不是   Legacy(Molex)電源連接。 Legacy(Molex)電源連接   不支持熱插拔。

我的一些驅動程序是通過molex-> sata power連接的,只是因為我的PSU上沒有sata電源端口。從我可以追踪到的,一些molex和Sata電源來自相同的12V導軌。並且SATA插頭似乎沒有任何邏輯。它只是愚蠢的塑料。這是否意味著我是安全的,而doc指的是支持sata和molex的驅動程序?


16
2018-06-09 20:05


起源


如果正確卸載文件系統/卷,則數據風險應該最小。不要簡單地把驅動器拉出來,否則你可能會丟失數據。除非你有一台古老的計算機,否則從一個10年左右的論壇帖子中獲取信息的鏈接不太可能與當前的SATA支持狀態有任何關係。 - Zoredache
Windows以與顯示USB拇指驅動器等相同的方式顯示可熱插拔(或可拆卸)內部驅動器。彈出它也會關閉驅動器。 - Daniel B
我對六種不同電腦/主板的軼事經驗是,只要你正確卸下東西,熱插拔就能完美地完成。 - Zoredache
有關: 我可以按順序插入熱插拔的SATA電源線和數據線? 上 服務器故障。接受的答案包括實際SATA標準的幾個相關片段以及與SAS電纜的比較。 - α CVn
@MichaelKjörling我之前發現過。你可以看到規格是如何非常神秘,以及接受的答案如何最終說“能力是系統設計師的責任,他們應該確保驅動器在熱移除之前停止。在這種情況下,你是系統設計師。“這根本不是一個確定的答案:) - gcb


答案:


並且SATA插頭似乎沒有任何邏輯。這只是愚蠢的   塑料。

那是錯的。 sata電源插頭中包含的邏輯是被動邏輯,但它仍然存在。在硬盤驅動器引腳的圖片中更容易看到,但是它也存在於電源連接器中。注意下面的一些引腳比其他引腳短嗎?這樣,引腳以特定順序連接。 (我不記得哪個訂單,但我相信電源線,較長的引腳接地並首先連接。)數據引腳也以相同的方式設置。

Wikipedia sata pins


9
2018-06-10 19:53



對。像USB一樣交錯的接地引腳。是的。正確的SATA連接器除12V和5V外還有3V。這是可選的橙色電纜。現在,還沒有關於哪些驅動程序需要橙色電纜的信息:/我認為沒有任何製造商使用它,因為便宜的PSU不會提供它,並且有人使用molex-> sata(就像我做2)驅動器我用完本機電纜) - gcb
我相信不同的長度講述了這個故事。有些需要先連接其他人。使用SCSI只是在數據之前需要電源。但SATA在兩套都有這個。很有意思。感謝您發布這些照片。 - SDsolar


為方便起見,我將面臨多少數據丟失風險? 除非驅動器死亡,否則數據丟失的風險並不大。硬盤非常可靠,可以處理意外斷電。 SSD在意外斷電方面不夠可靠。也就是說,如果驅動器上沒有活動,熱插拔是非常安全的。我幾乎每天都這樣做。

我需要OS上的支持嗎? 不,驅動器不關心操作系統。如果操作系統不支持熱插拔,則表示操作系統可能需要重新啟動以檢測驅動器,並且它不會向驅動器發送命令以實現更優雅的關閉。最糟糕的情況是,操作系統崩潰,但您的驅動器將是正常的。請記住,只要驅動器上沒有活動,拔掉它就可以了。

是否有任何AT命令可以拔出必鬚髮出的驅動器,或者是否自動將其停放在電源上? 有一些命令強制驅動器停放它的頭部,但是當驅動器上沒有活動時它也會這樣做。不能保證它會在掉電時自動停放它,因為我們無法保證它有足夠的功率來做到這一點。

哦,這是一個警告。某些操作系統可能會延遲向驅動器發送數據,或將文件系統信息保存到驅動器。這是您應該使用“安全刪除”或“卸載”功能。這僅適用於新寫入的數據。


4
2018-06-10 01:07



您幾乎可以保證任何現代驅動器都會在斷電時自動停機,因為在過去10到15年內沒有內置的驅動器甚至無法在沒有災難性故障的情況下斷電。如果真的需要驅動器使用來自盤片旋轉的剩餘功率,但是一些企業驅動器也具有用於額外數據丟失保護的超級電容器。 - qasdfdsaq
但是有點騎士的建議。每次都使用OS的彈出命令。 - Aleksandr Dubinsky
我相信我確實提過了。 - tchau.dev


只有我的兩分錢幫助...當談到Molex電源使磁盤不能熱插拔時,它是通過使用磁盤本身上的molex連接器為磁盤供電。

換句話說,如果你使用帶有molex到sata電源適配器的molex電源連接器,磁盤本身由其sata電源連接器供電,因此它可以是熱插拔的,但是如果這樣的molex電源接近molex磁盤上的電源連接器(也使用sata電源到molex電源適配器)磁槃無法進行熱插拔而沒有風險(電氣峰值在連接和斷開連接)。

只是為了說清楚:

對於某些磁盤上有molex電源連接器的磁盤,請勿通過此類連接器為其供電,Molex連接器對於熱插拔不安全

如果所使用的磁盤上的電源連接器是sata電源連接器,那麼無論電源來自何處,都可以使用molex來連接SATA電源適配器......因為磁盤是由其SATA電源連接器供電的。

風險是使用某些磁盤上存在的molex conector,並非所有sata驅動器都在磁盤上都有這樣的molex conector。

此外,由sata電源連接器供電的磁盤如果沒有固定或者斷開molex部件,則可以使用molex到sata電源適配器供電。

所以恢復:永遠不要斷開molex電源連接器,只有sata電源連接器。

希望現在很清楚。

2º點:熱插拔支持,必須在sata端口上支持(更好地說,實現),而不是sata驅動器;它也必須在操作系統上受支持。

操作系統必須知道何時斷開連接之前sata端口上的驅動器將斷開連接(現代操作系統之間能夠檢測到嚴重的錯誤並仍然有效,其他操作系統只是凍結),因此用戶(或軟件應用程序)必須告訴操作系統磁盤將被刪除(在Linux上彈出,在Windows上安全刪除等)。

如果操作系統不是為熱交換而設計的,當您插入另一個磁盤時可能會發生奇怪的事情,比如操作系統認為舊磁盤再次出現......操作系統不會看到新磁盤不同...現代OS檢測硬件更改,其他操作系統不檢測。

所以,是的,sata熱插拔必須在sata控制器硬件和操作系統上實現...但不在磁盤上,磁盤本身與熱插拔無關。

要熱插拔任何磁盤,操作系統會刷新所有數據,並向磁盤發送命令,告知它必須刷新所有內部緩存,然後執行降速,之後操作系統會告訴sata驅動程序斷開數據端口,如果設計良好的電源端口,然後用戶可以安全地刪除磁盤(沒有數據可以發送,沒有電力可能會出現電氣峰值等),sata硬件必須檢測sata數據端口上的無限阻抗(沒有驅動器被連接)和sata電源端口,並為新驅動器做好準備,監聽非無限阻抗,因此只要另一個驅動器連接,它就會重新調整電源和數據端口...然後它必須告訴操作系統已連接新硬件,操作系統必須查看它是什麼並加載驅動程序等。

必須在硬件上實現Sata熱插拔,哦,是的,它必須是......有些製造商有點懶,不遵循Sata規範,他們沒有實現熱插拔,熱插拔等。

有時我發現SataIII端口在系統通電時連接驅動器時死亡。

我在測試之前推薦了一個測試,操作系統已加載...啟動到BIOS,沒有驅動器連接到sata並且看到BIOS沒有檢測到驅動器,然後非常小心地插入驅動器而不退出BIOS,並重新檢查BIOS現在檢測磁盤...如果沒有進行,並在不退出BIOS的情況下中斷電源。

如果您的BIOS在熱插拔之後可以看到磁盤,您知道它是熱插拔...但是等等,您仍然不知道它是否是熱插拔...因為您需要另一個不同的磁盤(不是同一型號) /品牌/容量)並繼續在BIOS內進行測試...現在你必須拔掉磁盤,看看BIOS是否掛起,或者現在是否檢測到沒有這樣的磁盤...如果掛起,關閉電源,你的BIOS是不熱插拔...如果它檢測到沒有磁盤,只需繼續測試,看它是否是熱插拔。

如果bios在拔出後檢測到沒有磁盤,現在是時候檢查另一個磁盤...使用一個你不需要的磁盤,一旦連接它就會死掉,你會被警告!...插上它,看看bios是否檢測到它,如果沒有,然後關閉inmediatly,它沒有熱插拔實現,...如果它看到磁盤好像它在前一個,斷電inmediatly,沒有熱插拔...買如果它看到新的一,你很幸運,硬件有熱插拔的實現。

如果這樣的測試顯示您的硬件不是熱插拔,無論操作系統是什麼,熱插拔程序都是非常危險的,如果不是根本不可能......最好不要使用它,總是斷電在交換之前。

但是,如果您的BIOS顯示它看到驅動器,然後它看到你拔掉它,然後它看到另一個磁盤插入,然後你有硬件支持熱插拔該SATA端口...我重複:在那個SATA端口。哦,是的,我的朋友們,一些懶惰的製造商只在某些端口上實現熱插拔,而不是在所有端口上實現熱插拔。

你必須支持這些測試的風險:鬆開sata端口,因為如果在使用BIOS時插入驅動器時死亡...無論如何,如果你運行操作系統,並且操作系統運行它也會損壞其他操作系統也會死機薩塔港口。

最糟糕的情況:Sata根控制器死了,因為沒有熱插拔能力,如果你在BIOS上,沒有數據存在風險,但如果你運行操作系統,你可以丟失所有數據,還會損壞其他組件,如顯卡,內存, EFC。

在bios上進行測試是最安全的...如果對sata端口造成任何損壞,mosy時代只有一個端口死亡......無論如何,如果它在保修期內他們必須修復它,因為法律規則我構成製造商以正確的方式不會造成傷害。

再說一遍,如果磁盤由固定在磁盤上的molex連接器供電(不是所有驅動器都有molex電源連接器,大多數沒有它),請不要熱插拔,熱插拔,熱插拔,...並且都沒有將任何molex的molex部分與sata電源適配器斷開。

Molex連接器不適用於熱插拔,熱移除,熱插拔......它們會導致電氣峰值。

PD:在一些molex引腳上,通過的電流可能超過3.5A,可以殺死一個人(不常見,但它可以),電壓(12V)不是什麼殺人,它是電流強度(> 0.3A可以殺死,無論電壓,它都是殺死的安培數)。


0
2017-09-21 17:20