儘管使用 hdparm 時間增加,但硬碟旋轉速度下降

儘管使用 hdparm 時間增加,但硬碟旋轉速度下降

我有一個透過 USB 連接的外部硬碟。設定硬碟的降速/待機時間的常用方法似乎是使用 hdparm。

所以我跑去sudo hdparm -S 200 /dev/sdb得到

/dev/sdb:  setting standby to 200 (16 minutes + 40 seconds)

SG_IO: bad/missing sense data, sb[]:  f0 00 01 00 50 40 c8 0a 00 00 00 00 00 1d 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

我記得之前曾嘗試過此操作,但沒有收到 SG_IO 的額外訊息。現在看來,無論我設定什麼值,驅動器在空閒時大約一分鐘後就會旋轉下來。它甚至在工作時上下旋轉很多次,這會帶來煩人的延遲,我還認為繼續運行對驅動器的健康更好。

我還沒有找到一種方法來查看該值是否確實設置,但我可以針對 APM(高級電源管理)級別這樣做:

sudo hdparm -B 196 /dev/sdb    
/dev/sdb:
 setting Advanced Power Management level to 0xc4 (196)
SG_IO: bad/missing sense data, sb[]:  f0 00 01 00 50 40 c4 0a 00 00 00 00 00 1d 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 APM_level  = 196

$ sudo hdparm -B /dev/sdb    
/dev/sdb:
 APM_level  = 196

系統為Arch Linux,核心為3.17.6。

為什麼驅動器轉速會下降?可以採取什麼措施來避免它?

更新

hdparm有以下選項,但命令的結果是相同的:

--prefer-ata12 當使用 SAT(SCSI ATA 轉換)協定時,hdparm 通常會盡可能使用 16 位元組指令格式。但某些 USB 隨身碟盒無法正常使用 16 位元組指令。此選項可用於強制此類磁碟機使用較小的 12 位元組命令格式。對於 12 位元組格式無法完成的操作(例如超過 28 位元的磁區存取),hdparm 仍將恢復為 16 位元組命令。

相關內容