web-dev-qa-db-ja.com

ATAコマンドを使用してディスクがSSHD(ハイブリッドドライブ)であるかどうかを確認する方法

この質問を見た:

ディスクがSSDかHDDかを知る方法

HDDとSSDを検出できます。問題は、hdparmツールが私のディスク(ST1000DX001)がクラシックHDDであることを示しているため、SSHDを検出する方法がわからないことです。

IDENTIFY Ataコマンドを発行して収集した情報に基づいて検出できますか?

4
Peter Cerba

SSHDを検出する絶対的に確実な方法はないと思いますが、ドライブがsmartctlであることがわかっている場合は、smartctl -P showを使用できます。

例えば.

$ Sudo smartctl -P show /dev/sda
smartctl 6.6 2016-05-31 r4324 [x86_64-linux-4.6-2.dmz.2-liquorix-AMD64] (local build)
Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org

Drive found in smartmontools Database.  Drive identity strings:
MODEL:              ST4000DX001-1CE168
FIRMWARE:           CC44
match smartmontools Drive Database entry:
MODEL REGEXP:       ST[124]000DX001-.*
FIRMWARE REGEXP:    .*
MODEL FAMILY:       Seagate Desktop SSHD
ATTRIBUTE OPTIONS:  188 Command_Timeout
                    240 Head_Flying_Hours

^MODEL FAMILY:.*SSHDのgrep

smartctlはSeagateSSHD(少なくとも一部)については知っていますが、Western Digital WD10J31X(8GBキャッシュを備えた1TBラップトップSSHD)やおそらく他のことについては知っていません。

$ grep -i sshd /var/lib/smartmontools/drivedb/drivedb.h 
  { "Seagate Laptop SSHD", // tested with ST500LM000-1EJ162/SM11
  { "Seagate Desktop SSHD", // tested with ST2000DX001-1CM164/CC43

smartctlが知らないSSHDがある場合は、バグレポートまたはパッチを送信してください。


私が思い浮かぶもう1つのことは、3.0Gbpsはとにかく能力をはるかに超えているため、ほとんどの(すべて?)HDDはSATA2転送速度しかサポートしていないということです。

したがって、ドライブがHDDであると判断した場合は、hdparm -I /dev/XXX | grep -E 'Gen3 signaling speed|6.0Gb/s)'のような操作を実行して、それがSSHDであるかどうかを確認できます。

例えばWD、ST、OCZ HDD、SSHD、SSDが混在する私のシステムでは:

$ list_disks
sda ST4000DX001-1CE168_Z303PTHA
sdb ST4000DX001-1CE168_Z303PSH6
sdc ST4000DX001-1CE168_Z302ZSGB
sdd ST4000DX001-1CE168_Z303PVZ9
sde WDC_WD10EACS-00ZJB0_WD-WCASJ2114122
sdf WDC_WD10EACS-00ZJB0_WD-WCASJ2195141
sdg WDC_WD10EARS-00Y5B1_WD-WMAV50933036
sdh ST31000528AS_9VP18CCV
sdi OCZ-VECTOR_OCZ-8RL5XW08536INH7R
sdj OCZ-VECTOR_OCZ-0974C023I4P2G1B8

$ for i in /dev/sd? ; do echo -n "$i: " ; Sudo hdparm -I "$i" | 
    grep -E 'Gen3 signaling speed|6.0Gb/s)' || echo ; done
/dev/sda:      *    Gen3 signaling speed (6.0Gb/s)
/dev/sdb:      *    Gen3 signaling speed (6.0Gb/s)
/dev/sdc:      *    Gen3 signaling speed (6.0Gb/s)
/dev/sdd:      *    Gen3 signaling speed (6.0Gb/s)
/dev/sde: 
/dev/sdf: 
/dev/sdg: 
/dev/sdh: 
/dev/sdi:      *    Gen3 signaling speed (6.0Gb/s)
/dev/sdj:      *    Gen3 signaling speed (6.0Gb/s)

SSHDとSSDはGen3を報告しますが、HDDは報告しません。

これが100%信頼できるかどうかはわかりません...私のHDDは少し古くなっていますが、新しいHDDはとにかくGen3を使用する可能性があるため、メーカーは単一のインターフェイスチップ/ボードで標準化できます。

5
cas