自定義希捷機械硬盤PowerChoice電源管理配置
免責聲明:內容僅供學習參考,備份好數據,因操作不當導致的任何損失自行承擔!
在開始之前強烈推薦先去閱讀一下這篇專欄:

本專欄是對上述資料的補充說明。個人能力有限,針對不同的使用場景,請自行驗證并改良方法。

希捷把自家擴展電源管理(EPC)的實現稱之為 PowerChoice,目的自然是降低產品能耗,在部分新款消費級硬盤中也默認開啟了這項功能。更多細節(jié)請見官方說明文檔(選中鏈接右鍵轉到,避免b站專欄選中復制在末尾自動添加版權信息的笨比機制,下同):
https://www.seagate.com/files/docs/pdf/zh-CN/whitepaper/tp608-powerchoice-tech-provides-cn.pdf
希捷官方描述 PowerChoice 各項節(jié)能模式指標如下:

Idle_A
? 禁用多數伺服系統,減少處理器和通道功耗
? 磁盤全速 (7200RPM) 轉動
Idle_B
? 禁用多數伺服系統,減少處理器和通道功耗
? 磁頭卸載到硬盤斜坡
? 磁盤全速 (7200RPM) 轉動
Idle_C/Standby_Y(僅 SAS)
? 禁用多數伺服系統,減少處理器和通道功耗
? 磁頭卸載到硬盤斜坡。 ? 硬盤速度降至較低 RPM (降低的 RPM)
Standby_Z
? 磁頭卸載到硬盤斜坡
? 硬盤馬達停轉
? 硬盤仍可對非磁碟訪問主機命令作出響應
以 ST4000VX015 為例,其中“進入該狀態(tài)的默認時間”與實際情況無異,ST4000VX015 默認啟用了 Idle_A 和 Idle_B 這兩種節(jié)能設置,因為 Idle_B 涉及到磁頭卸載到斜坡(縮回起停架),后續(xù)恢復磁頭至盤片需要花費400ms,表現到使用體驗上就是至少會有400ms的卡頓,而我在實際使用中感受到的卡頓時長可能會接近1s
其實希捷這么做倒也無可厚非,Idle_B 默認10分鐘的閑置時長閾值足以應對一般的家用場景。一方面是為了省電;另一方面將長期閑置磁頭卸載回斜坡比懸浮在盤片上相對會更安全些,降低因盤體劇烈震動導致磁頭劃傷盤面的風險。
反復縮回磁頭會導致硬盤 S.M.A.R.T. 信息中的磁頭加載/卸載循環(huán)計數(C1)增加,如果不存在心理負擔和計數焦慮的話,這其實不影響正常使用;因此磁頭恢復造成的延時卡頓確實會影響使用體驗,但如果是用作倉庫盤等對及時響應要求不高的場景倒也不是問題;另外,過度頻繁地加載/縮回可能會加速磁頭、磁臂等機械運動結構的老化,減少硬盤的使用壽命。
自行決定是否開啟 PowerChoice 功能/自定義管理策略,或許能夠讓用戶針對自身的使用場景找到一個平衡點。

希捷官方提供了一系列的硬盤維護工具供高級用戶使用:
https://www.seagate.com/cn/zh/support/software/seachest/
建議下載和使用工具前都去看一下用戶指南,只需閱讀 SeaChest_PowerControl,About PowerChoice 這兩個章節(jié)的內容即可:
http://support.seagate.com/seachest/SeaChest_Combo_UserGuides.html
獲取上述維護工具集,下載完成后選擇對應平臺的工具即可。Windows用戶可以選擇Setup安裝包或者便攜版:
https://www.seagate.com/content/dam/seagate/migrated-assets/old-support-files/seachest/SeaChestUtilities.zip

有了理論知識的鋪墊,實戰(zhàn)環(huán)節(jié)均以?ST4000VX015 為例。
查詢當前已識別到的硬盤句柄,句柄編號取決于當前環(huán)境請靈活變通:
選中指定的硬盤句柄,查看默認的 EPC 設置信息:
帶 * 表示已啟用對應節(jié)電模式的定時器,CS分別表示寄存器可被更改/保存的狀態(tài),只有當CS同時為Y(es)狀態(tài)才支持自定義修改,所有定時器顯示的時間單位為100ms。以 Idle A 為例,它的輸出行信息可以被解釋為:當前定時器觸發(fā)時間?10 * 100ms,默認觸發(fā)時長為 1000ms,當前保存的設置是 1000ms,恢復時間為 100ms,寄存器狀態(tài)可被修改/保存。依此類推,Idle B 模式默認的觸發(fā)時長為 600000ms,也就是 10 min。
修改指定 EPC 策略的設置,可以禁用/啟用/調節(jié)觸發(fā)閾值:
注意,希捷某些型號的硬盤不支持禁用?PowerChoice 的節(jié)能模式,所以我個人推薦是依據自己的使用習慣適當調節(jié)定時器的觸發(fā)時長,而不是不假思索地關閉這項功能。另外通過命令行設置的時長單位不再是100ms而是以ms為單位,這與命令行輸出的時間單位截然不同。
如果想要將?Idle B 當前觸發(fā)時長設置為 20 min,具體設置如下,其中默認時長始終不變:
一般只要設置合理都是可以永久保存且生效的。另外,在自定義觸發(fā)時長前請務必確保當前模式已處于啟用狀態(tài),特別是手動禁用后想再次啟用的情況;某些外接硬盤盒固件自帶的休眠功能也會干擾硬盤自身的電源管理。

參考資料:
https://www.seagate.com/files/docs/pdf/zh-CN/whitepaper/tp608-powerchoice-tech-provides-cn.pdf
https://www.seagate.com/cn/zh/support/software/seachest/
http://support.seagate.com/seachest/SeaChest_Combo_UserGuides.html
