ソリッドステートドライブ/NVMe

提供: ArchWiki
移動先: 案内検索

NVM Express (NVMe) は PCI Express バスから SSD に接続するための規格です。論理デバイスインターフェイスとして NVM Express は新規に設計されています。PCI Express SSD の低遅延と並行性を活かすために、最新の CPU やプラットフォーム、アプリケーションの並列性を複製するように開発されました。

インストール

Linux の NVMe ドライバーはカーネルバージョン 3.3 から含まれています。NVMe デバイスは /dev/nvme* 下に認識されます。

NVMe のユーザースペースツールは nvme-cliAUR または nvme-cli-gitAUR に含まれています。

サポートされているファイルシステム、パフォーマンスの最適化・ディスクの読み書きの最小化などはソリッドステートドライブを見てください。

ノート: ルートファイルシステムを正しく起動するには /etc/mkinitcpio.conf の中の MODULES 行に nvme モジュールを追加しなくてはならない可能性があります。

パフォーマンス

セクタサイズ

Advanced Format#HDD が 4k セクタを使用しているかどうか判断する方法を見てください。

Discard

ノート: SSD で discard を使うことが推奨されているのに反して、NVMe デバイスでは discard は実行するべきではありません

ext4LVM を使用する普通のセットアップではデフォルトで Discard は無効になりますが、ファイルシステムによっては明示的に無効化する必要があります。

SSD メーカーの Intel はファイルシステムレベルで discard を有効にすることを非推奨としており、代わりに fstrim で定期的に TRIM を適用する方法を提案しています [1]

エアフロー

NVMe SSD は負担時に高熱になることが知られており、特定の閾値に達すると性能が制限されます [2]

テスト

デバイスの性能テストは hdparm で実行できます:

# hdparm -Tt --direct /dev/nvme0n1

省電力 APST

NVME 省電力パッチ

Andy Lutomirski は Linux における NVMe デバイスの省電力機能を修正するパッチセットをリリースしています。現在、パッチはまだメインラインにマージされていません。以下の AUR パッケージでパッチを使用できます。

Linux-nvme — Andy の NVME 省電力 APST パッチが含まれたメインラインの Linux カーネル。

https://github.com/damige/linux-nvme || linux-nvmeAUR

カーネル 4.11 以上では、パッチはメインラインにマージされているため不要です。

NVME の電源管理が動作しているかテストするには、nvme-cliAUR をインストールして nvme get-feature -f 0x0c -H /dev/nvme を実行してみてください。

次にように出力されれば動作しています: Autonomous Power State Transition Enable (APSTE): Enabled

参照