ホスト防護領域(HPA)の設定と参照
目的
手持ちのSSDでHPA(ホスト防護領域・Host Protected Area)を設定してみた。
- HPA設定による効果としては、
- OSからすら使用できない領域を設定することで、設定された領域への一切のアクセスを許さない。
- この効果は特にSSDの場合、ウェアレベリングに効果がでる。
- これは、使われない(特に書き込まれない)ことがハードウェア的に保証されているからである。
- なおあくまでも「サイズ」を指定してるだけなので、特定の固定領域を保護する仕組みでは無い。
- ウェアレベリングをどう設定するかによるが、エンタープライズクラスのSSDを想定した設定を行ってみる。
- たとえば400GBサイズのSSDの場合、512GB分のセルを乗せた上で、112GB分をウェアレベリングに使用してたりする。
また領域の一部をSLC(Single Level Cell)するといった工夫で寿命を延ばしていたりもする。
- なおHPAによる領域保護は、SLCに変換してくるわけでもないので、効果はあくまで擬似的なものである。
検証環境
FreeBSD 13.0-CURRENT
ECS LIVA-Z4にTS512GMT400Sを搭載して動作確認した。
OS起動時のカーネルメッセージ
ada0 at ahcich1 bus 0 scbus1 target 0 lun 0 ada0: <TS512GMTS400S P1225CH1> ACS-2 ATA SATA 3.x device ada0: Serial Number 002021B4E50963200045 ada0: 600.000MB/s transfers (SATA 3.x, UDMA6, PIO 1024bytes) ada0: Command Queueing enabled ada0: 488386MB (1000215216 512 byte sectors)
付録
検証したドライブに対して camcontrol identify、camcontrol security および camcontrol hpa を実行した結果についての記録。