Linux での Corsair MP700 PCIe 5.0 NVMe SSD のレビューに続き、多くの読者がマザーボードのパッシブ M.2 ヒートシンクのような追加の冷却を追加していない場合のファイル システム エラーに驚き、私自身も状況に興味を持っていましたが、ここでは、これが最終的にどのように機能するかをさらにテストします。冷却を追加しなくても、ドライブは 3 分以内に確実にファイル システム エラーに遭遇します。
Corsair MP700 2TB の基本的な Linux テストを終えた後、冷却を追加せずに実行した場合のファイル システム エラーを調べる追加のテストをいくつか実行しました。結局のところ、過剰な熱が発生した場合、NVMe ソリッド ステート ドライブはファイル システム エラーに至る前にスロットリングされると通常は考えられるからです。
レビューで述べたように、Ubuntu 23.04 のクリーン インストール後にテストをインストールするときにファイル システム エラーが発生し、実際に NVMe ドライブに負荷をかけることさえできませんでした。ベンチマーク付き。そのため、アフターマーケットの冷却を行わずにドライブを実行した場合、ディスク ベンチマークのワークロードの下でドライブがどのくらい持続するのかを確認することに非常に興味がありました。簡単に言うと、クリーン ブートを開始してから 3 分も経たないうちに、確実にエラーが発生しました。
dmesg ログをリモートで収集する場合、通常は起動後 180 秒以内に、MariaDB サーバーを起動して mysqlslap を実行してデータベース サーバーを実行するだけで、ファイル システム エラーが発生します。これを数回繰り返すと、常に 3 分以内に発生し、NVMe HWMON sysfs 経由で報告された NVMe ドライブ温度は常に約 87 度でした。価値があるものとしては、MP700 技術仕様には、-40C ~ 85C の温度範囲が概説されています。
少なくとも Linux 上で収集されたログからNVMe コントローラーがダウンし、EXT4 ファイル システム エラーが発生しているようです。例:
[ 177.187278] nvme nvme0: コントローラーがダウンしています。リセットされます: CSTS=0xffffffff、PCI_STATUS=0xffff
[ 177.187283] nvme nvme0: デバイスで無効な省電力モードが有効になっていますか?
[ 177.187285] nvme nvme0: 「nvme_core.default_ps_max_latency_us=0 pcie_aspm=off」を試してバグを報告してください。
[ 177.235051] nvme 0000:19:00.0: 電源状態を D3cold から D0 に変更できません。デバイスにアクセスできません
[ 177.235151] nvme nvme0: リセット失敗後のデバイスの無効化:-19
[ 177.251298] nvme0n1: 3907029168 から 0 への容量変更が検出されました
[ 177.251308] EXT4-fs 警告 (デバイス nvme0n1p2): ext4_end_bio:343: I/O エラー 10 inode 55194516 への書き込み (開始ブロック 125091905)
[ 177.251310] デバイス nvme0n1p2、論理ブロック 129128830 でのバッファ I/O エラー
[ 177.251312] EXT4-fs 警告 (デバイス nvme0n1p2): ext4_end_bio:3 43: I/O エラー 10 inode 55193889 への書き込み (開始ブロック 273991222)
[ 177.251316] デバイス nvme0n1p2 でのバッファ I/O エラー、論理ブロック 124816449
[ 177.251317] デバイス nvme0n1p2、論理ブロック 27371576 でのバッファ I/O エラー6
[ 177.251322] EXT4-fs 警告 (デバイス nvme0n1p2): ext4_end_bio:343: I/O エラー 10 が i ノード 29884642 開始ブロック 129404287 に書き込んでいます)
[ 177.251327] EXT4-fs 警告 (デバイス nvme0n1p2): ext4_end_bio:343: I/O エラー 10 の i ノード 55194516 への書き込み、開始ブロック 125091902)
[ 177.251327] EXT4-fs 警告 (デバイス nvme0n1p2): ext4_end_bio:343: I/O エラー 10 の i ノード 29884642 開始ブロック 129404288) への書き込み
[ 177. 251329 ] デバイス nvme0n1p2、論理ブロック 124816446 でのバッファ I/O エラー
[ 177.251331] EXT4-fs 警告 (デバイス nvme0n1p2): ext4_end_bio:343: I/O エラー 10 への書き込み (inode 30164735 開始ブロック 129396193)
[ 177.25 1331 ] EXT4-fs 警告 (デバイス nvme0n1p2): ext4_end_bio:343: I/O エラー 10 inode 55194516 開始ブロック 125091875 への書き込み中)
[ 177.251332] デバイス nvme0n1p2、論理ブロック 129120737 でのバッファ I/O エラー
[ 177.25 1333 ] デバイス nvme0n1p2、論理ブロック 124816419 でのバッファ I/O エラー
[ 177.251334] EXT4-fs 警告 (デバイス nvme0n1p2): ext4_end_bio:343: I/O エラー 10 への書き込み (inode 55194516 開始ブロック 125091852)
[ 177.25] 1336 ] デバイス nvme0n1p2、論理ブロック 124816396 でのバッファ I/O エラー
[ 177.251336] EXT4-fs 警告 (デバイス nvme0n1p2): ext4_end_bio:343: I/O エラー 10 への書き込み (inode 30164735 開始ブロック 129396194)
[ 177.25 1338 ] EXT4-fs 警告 (デバイス nvme0n1p2): ext4_end_bio:343: I/O エラー 10 inode 55194516 開始ブロック 125091849 への書き込み中)
[ 177.251339] デバイス nvme0n1p2、論理ブロック 124816393 でのバッファ I/O エラー
[ 177.25 1341 ] デバイス nvme0n1p2 のバッファ I/O エラー、論理ブロック 124816371
[ 177.251343] デバイス nvme0n1p2 のバッファ I/O エラー、論理ブロック 124816353
[ 177.251345] デバイス nvme0n1p2-8 のジャーナルを中止します。
[ 177.251353] ext4_reserve_inode_write:5906 の EXT4-fs エラー (デバイス nvme0n1p2): ジャーナルが中止されました
[ 177.251358] EXT4-fs エラー (デバイス nvme0n1p2): ext4_journal_check_start:83: comm kworker/u64:9: 中止が検出されましたジャーナル
[ 177.251359] dev nvme0n1p2 でのバッファ I/O エラー、論理ブロック 220726066、非同期ページ書き込みの喪失
[ 177.251360] dev nvme0n1p2 でのバッファ I/O エラー、論理ブロック 243826688、同期ページ書き込みの喪失
[ 177.251362] EXT4-fs エラー (デバイス nvme0n1p2): ext4_dirty_inode:6110: inode #55194516: comm systemd-journal: mark_inode_dirty エラー
[ 177.251365] デバイス nvme0n1p2、論理ブロック 121147223 でのバッファ I/O エラー、非同期ページ書き込みが失われました
[ 177.251366] JBD2: nvme0n1p2-8 のジャーナル スーパーブロックを更新するときに I/O エラーが発生しました。
[ 177.251367] ext4_dirty_inode:6111 の EXT4-fs エラー (デバイス nvme0n1p2): ジャーナルが中止されました
[ 177.251369] デバイス nvme0n1p2 でのバッファ I/O エラー、論理ブロック 121141967、非同期ページ書き込みの損失
[ 177.251372 ] デバイス nvme0n1p2 でバッファ I/O エラー、論理ブロック 121110852、非同期ページ書き込みが失われました
[ 177.251373] ext4_reserve_inode_write:5906 の EXT4-fs エラー (デバイス nvme0n1p2): ジャーナルが中止されました
[ 177.251375] バッファ I/Oデバイス nvme0n1p2 でエラー、論理ブロック 121110544、非同期ページ書き込みが失われました
[ 177.251376] EXT4-fs エラー (デバイス nvme0n1p2): ext4_dirty_inode:6110: inode #55193889: comm rs:main Q:Reg: mark_inode_dirty エラー
[ 177.251376] EXT4-fs エラー (デバイス nvme0n1p2): ext4_journal_check_start:83: comm mariadbd: 中止されたジャーナルを検出しました
[ 177.251377] dev nvme0n1p2 でのバッファ I/O エラー、論理ブロック 121110529、非同期ページ書き込みの損失
[ 177.251 378] dev nvme0n1p2 でのバッファ I/O エラー、論理ブロック 0、同期ページ書き込みの喪失
[ 177.251379] dev nvme0n1p2 でのバッファ I/O エラー、論理ブロック 120587356、非同期ページ書き込みの喪失
[ 177.251381] バッファ I/Oデバイス nvme0n1p2 でのエラー、論理ブロック 58、非同期ページ書き込みの損失
[ 177.251384] ext4_dirty_inode:6111 の EXT4-fs エラー (デバイス nvme0n1p2): ジャーナルが中止されました
[ 177.251386] EXT4-fs (nvme0n1p2): 以前の Iスーパーブロックへの/O エラーが検出されました
[ 177.251386] EXT4-fs エラー (デバイス nvme0n1p2): ext4_journal_check_start:83: comm systemd-journal: 中止されたジャーナルが検出されました
[ 177.251391] EXT4-fs エラー (デバイス nvme0n1p2): ext4_journal_check_start: 83: comm rs:main Q:Reg: 中止されたジャーナルを検出しました
[ 177.251399] EXT4-fs (nvme0n1p2): スーパーブロックへの前の I/O エラーが検出されました
[ 177.251406] EXT4-fs (nvme0n1p2): I/Oスーパーブロックの書き込み中にエラーが発生しました
[ 177.251407] EXT4-fs (nvme0n1p2): ファイル システムを読み取り専用で再マウントしています
[ 177.251409] EXT4-fs (nvme0n1p2): 未書き込みエクステントを書き込み済みエクステントに変換できませんでした–データ損失の可能性があります。 (inode 29884642、エラー-30)
[ 177.251413] EXT4-fs (nvme0n1p2): 未書き込みエクステントを書き込み済みエクステントに変換できませんでした–データ損失の可能性があります。 (inode 30164735、エラー-30)
[ 177.251415] EXT4-fs (nvme0n1p2): スーパーブロックの書き込み中の I/O エラー
[ 177.251415] EXT4-fs (nvme0n1p2): スーパーブロックの書き込み中の I/O エラー
[ 177.251417] EXT4-fs (nvme0n1p2): スーパーブロックへの前の I/O エラーが検出されました
[ 177.251420] EXT4-fs (nvme0n1p2): スーパーブロックの書き込み中の I/O エラー
[ 186.476141] EXT4-fs エラー (デバイス nvme0n1p2): __ext4_find_entry:1663: inode #63307794: comm apport: ディレクトリ lblock 0 の読み取り
[ 186.476151]buffer_io_error: 4 つのコールバックが抑制されました
[ 186.476152] dev nvme0n1p2 でのバッファ I/O エラー、論理ブロック 0、損失同期ページ書き込み
[ 186.476154] EXT4-fs: 2 つのコールバックが抑制されました
[ 186.476154] EXT4-fs (nvme0n1p2): スーパーブロック書き込み中の I/O エラー
[ 186.476170] EXT4-fs エラー (デバイス nvme0n1p2): __ext4_find_entry:1663: inode #63307794: comm apport: ディレクトリ lblock 0 の読み取り
[ 186.476174] dev nvme0n1p2 でのバッファ I/O エラー、論理ブロック 0、同期ページ書き込みの喪失
[ 186.476174] EXT4-fs (nvme0n1p2) ): スーパーブロックの書き込み中に I/O エラーが発生しました
[ 186.476184] EXT4-fs エラー (デバイス nvme0n1p2): __ext4_find_entry:1663: inode #63307794: comm apport: ディレクトリ lblock 0 の読み取り中
[ 186.476187] バッファ I/O エラーデバイス nvme0n1p2 で、論理ブロック 0、同期ページの書き込みが失われました
[ 186.476188] EXT4-fs (nvme0n1p2): スーパーブロックの書き込み中に I/O エラーが発生しました
[ 186.476197] EXT4-fs エラー (デバイス nvme0n1p2): __ext4_find_entry:1663: inode #63307794: comm apport: ディレクトリ lblock 0 の読み取り
[ 186.476199] dev nvme0n1p2 でのバッファ I/O エラー、論理ブロック 0、同期ページ書き込みの喪失
[ 186.476200] EXT4-fs (nvme0n1p2): I/O スーパーブロックの書き込み中にエラーが発生しました
NVMe ドライブは MariaDB タスクでビジー状態だったので、サーマル スロットル以外の低電力管理状態に移行しようとするべきではありませんでした。 dmesg 出力で推奨されている「nvme_core.default_ps_max_latency_us=0 pcie_aspm=off」カーネル オプションを試してください。しかし、最終的には、PCI Express Active State Power Management (ASPM) を無効にするオプションも、NVMe 最大レイテンシを変更するオプションも役に立ちませんでした。
[ 164.581235] nvme nvme0: コントローラーがダウンしています。リセットされます: CSTS=0xffffffff、PCI_STATUS=0xffff
[ 164.581240] nvme nvme0: デバイスで無効な省電力モードが有効になっていますか?
[ 164.581241] nvme nvme0: 「nvme_core.default_ps_max_latency_us=0 pcie_aspm=off」を試してバグを報告してください。
[ 164.641482] nvme0n1: I/O Cmd(0x2) @ LBA 203495560、32 ブロック、I/O エラー(sct 0x3/sc 0x71)
[ 164.641490] I/O エラー、dev nvme0n1、セクター 203495560 op 0x0:(READ) flags 0x80700 phys_seg 4 prio class 2
[ 164.669173] nvme 0000:19:00.0: Un有能な電源状態を D3cold から D0 に変更するには、デバイスにアクセスできません
[ 164.669278] nvme nvme0: リセット失敗後のデバイスの無効化:-19
[ 164.693186] I/O エラー、dev nvme0n1、セクター 3089104896 op 0x1:(WRITE) flags 0x0 phys_seg 1 prio class 2
[ 164.693195] EXT4-fs 警告 (デバイス nvme0n1p2): ext4_end_bio:343: I/O エラー 10 inode 55194123 開始ブロック 386138112 への書き込み)
[ 164.693198] nvme0n1:検出された容量の変化3907029168 から 0 へ
[ 164.693200] デバイス nvme0n1p2 のバッファ I/O エラー、論理ブロック 385862656
[ 164.693211] EXT4-fs 警告 (デバイス nvme0n1p2): ext4_end_bio:343: inode 551 への書き込み I/O エラー 10 94123開始ブロック 129390649)
[ 164.693213] デバイス nvme0n1p2 のバッファ I/O エラー、論理ブロック 129115193
[ 164.693213] EXT4-fs 警告 (デバイス nvme0n1p2): ext4_end_bio:343: i ノード 29884 への書き込み中の I/O エラー 10 650開始ブロック 273996343)
[ 164.693215] デバイス nvme0n1p2 のバッファ I/O エラー、論理ブロック 129115194
[ 164.693217] デバイス nvme0n1p2 のバッファ I/O エラー、論理ブロック 129115195
[ 164.693219] バッファ I/Oデバイス nvme0n1p2、論理ブロック 129115196 でエラーが発生しました
[ 164.693220] EXT4-fs 警告 (デバイス nvme0n1p2): ext4_end_bio:343: I/O エラー 10 への書き込み inode 55194123 開始ブロック 129390653)
[ 164.693224] EXT 4-fs 警告(デバイス nvme0n1p2): ext4_end_bio:343: I/O エラー 10 inode 55194123 への書き込み開始ブロック 129390637)
[ 164.693226] デバイス nvme0n1p2、論理ブロック 129115181 でのバッファ I/O エラー
[ 164.693228] EXT4-fs 警告(デバイス nvme0n1p2): ext4_end_bio:343: I/O エラー 10 inode 55194123 への書き込み開始ブロック 129390598)
[ 164.693229] デバイス nvme0n1p2、論理ブロック 129115142 でのバッファ I/O エラー
[ 164.693231] バッファ I/Oデバイス nvme0n1p2、論理ブロック 129115143 でエラーが発生しました
[ 164.693232] EXT4-fs 警告 (デバイス nvme0n1p2): ext4_end_bio:343: I/O エラー 10 への書き込み (inode 55194123 開始ブロック 129390595)
[ 164.693234] バッファI/Oデバイス nvme0n1p2、論理ブロック 129115139 でエラーが発生しました
[ 164.693235] EXT4-fs 警告 (デバイス nvme0n1p2): ext4_end_bio:343: I/O エラー 10 への書き込み inode 55194123 開始ブロック 129390578)
[ 164.693236] バッファI/Oデバイス nvme0n1p2、論理ブロック 129115122 でエラーが発生しました
[ 164.693238] EXT4-fs 警告 (デバイス nvme0n1p2): ext4_end_bio:343: I/O エラー 10 への書き込み (inode 55194123 開始ブロック 129390566)
[ 164.693240] EXT 4-fs 警告(デバイス nvme0n1p2): ext4_end_bio:343: I/O エラー 10 inode 55194123 開始ブロック 129390563 への書き込み)
[ 164.693278] dev nvme0n1p2 でのバッファ I/O エラー、論理ブロック 120619365、非同期ページ書き込みの損失
[ 164.693 285 ] dev nvme0n1p2 でのバッファ I/O エラー、論理ブロック 127926285、非同期ページ書き込みの喪失
[ 164.693293] dev nvme0n1p2 でのバッファ I/O エラー、論理ブロック 62、非同期ページ書き込みの喪失
[ 164.693302] EXT4-fsエラー (デバイス nvme0n1p2): ext4_check_bdev_write_error:223: comm mariadbd: メタデータの非同期ライトバック中のエラー
[ 164.693323] デバイス nvme0n1p2-8 のジャーナルを中止します。
[ 164.693329] ext4_dirty_inode:6111 の EXT4-fs エラー (デバイス nvme0n1p2): IO エラー
[ 164.693329] デバイス nvme0n1p2 でのバッファ I/O エラー、論理ブロック 243826688、同期ページ書き込みの損失
[ 164.693334] JBD2: nvme0n1p2-8 のジャーナル スーパーブロックを更新するときに I/O エラーが発生しました。
[ 164.693334] dev nvme0n1p2 でのバッファ I/O エラー、論理ブロック 0、同期ページ書き込みの喪失
[ 164.693336] EXT4-fs (nvme0n1p2): スーパーブロックの書き込み中の I/O エラー
[ 164.693340] バッファデバイス nvme0n1p2 での I/O エラー、論理ブロック 0、同期ページ書き込みの損失
[ 164.693341] EXT4-fs (nvme0n1p2): スーパーブロックの書き込み中の I/O エラー
[ 164.693353] EXT4-fs エラー (デバイス nvme0n1p2): ext4_journal_check_start:83: comm rs:main Q:Reg: 中止されたジャーナルを検出しました
[ 164.693364] dev nvme0n1p2 でのバッファ I/O エラー、論理ブロック 0、同期ページ書き込みの損失
[ 164.693368] EXT4-fs (nvme0n1p2) ): スーパーブロック書き込み中の I/O エラー
[ 164.693369] EXT4-fs エラー (デバイス nvme0n1p2): ext4_journal_check_start:83: comm mariadbd: 中止されたジャーナルを検出しました
[ 164.693370] EXT4-fs (nvme0n1p2): ファイルシステム読み取りを再マウントしています-only
[ 164.693378] dev nvme0n1p2 でのバッファ I/O エラー、論理ブロック 0、同期ページ書き込みの喪失
[ 164.693380] EXT4-fs (nvme0n1p2): スーパーブロックの書き込み中の I/O エラー
[ 164.693455 ] EXT4-fs (nvme0n1p2): ext4_do_writepages: jbd2_start: 13262 ページ、ino 55194123; err-30
[ 164.727715] プロセス 10715(apport) の RLIMIT_CORE が 1 に設定されています
[ 164.727716] コアを中止しています
[ 164.915069] プロセス 10732(apport) の RLIMIT_CORE が 1 に設定されています
[ 164.915071] 中止していますコア
[ 164.947259] プロセス 10736(apport) の RLIMIT_CORE が 1 に設定されています
[ 164.947261] コアを中止しています
[ 164.981899] プロセス 10747(apport) の RLIMIT_CORE が 1 に設定されています
Inland TD510 PCIe 5.0 NVMe SSD ではこの動作はまったく見られませんでしたが、やはりこのドライブにはデフォルトでアクティブ ヒートシンクが装備されています。
EXT4 ファイル システム エラーを修正し、パッシブ NVMe ヒートシンクを MP700 に接続した後、MariaDB、PostgreSQL、FIO、ClickHouse、その他のワークロードで要求の厳しい I/O ベンチマークを 24 時間実行しましたが、問題なく実行されました。… 80 年代前半から半ばまではかなりウォームアップしていますが、ファイル システム エラーや NVMe コントローラ レポートがカーネル ログに記録されることはありません。ただし、この動作が Windows でも発生するのか、それとも NVMe ドライバーの違いが状況に影響を与えるのかを確認するのは興味深いでしょう。
いずれにせよ、より高速で信頼性が高く、価格が PCIe 4.0 とより競争し始めるまで、PCIe 5.0 NVMe コンシューマ ストレージへのアップグレードを待つことをお勧めします。 NVMe ドライブの価格。ただし、早期導入者として PCIe 5.0 NVMe SSD を今すぐ購入する場合は、適切な冷却を確実に設置することをお勧めします。
「TechPowerUp と Phoronix からの最近のレポートを注意深く検討した結果、Phison 氏は次のように述べています。新しい Phison PS5026-E26 コントローラーを使用した製品のレビューで問題が見つかったことを認めたいと思います。この問題を真摯に受け止め、速やかに解決することに尽力いたします。
弊社のファームウェア エンジニアリング チームはすでに問題を特定し、必要な対応を行っています。サーマル スロットル カーブはレポートから数時間以内に調整されます。ただし、新しいファームウェアは、パートナーが顧客にリリースする前に、Phison の厳格な検証プロセスを受ける必要があります。検証済みのアップデートが利用可能になり次第、パートナーがエンドユーザーに通知しますのでご安心ください。
ヒートシンクなしで出荷されるすべての E26 SSD は、ヒートシンクとともに使用することを目的としていることに注意することが重要です。PCIe Gen5 が有効になった状態で出荷されるほとんどのマザーボードには、Gen5 SSD 用に特別に設計された冷却も含まれています。当社は、お客様が既存の冷却製品を使用できるようにする「ベア ドライブ」オプションを提供しています。
当社は、お客様に高品質の製品とソリューションを提供するという当社の取り組みを強調したいと考えており、今後も、彼らの満足度。このプロセスの間、ご理解とご協力をお願いいたします。」
したがって、この問題はファームウェアのアップデートで対処する必要があります。次に、これらのファームウェアのアップデートが Linux ユーザーにとってどの程度うまく機能するかについてですが…一部のベンダーは、少なくとも次のようなサービスを提供しています。ブート可能な NVMe ファームウェア アップデートの処理をサポートしていますが、Linux ユーザーにとって簡単なプロセスを実現するために LVFS+Fwupd サポートでさらに一歩を踏み出すのは少数の選ばれた人だけです。