Dopo la recensione Corsair MP700 PCIe 5.0 NVMe SSD sotto Linux con molti lettori sorpresi dagli errori del file system quando non si aggiunge ulteriore raffreddamento come il dissipatore di calore M.2 passivo della scheda madre ed essendo io stesso curioso della situazione, ecco altri test su come questo l’unità colpirà in modo affidabile gli errori del file system in tre minuti o meno senza ulteriore raffreddamento.
Dopo aver eliminato i test di base di Linux per il Corsair MP700 da 2 TB, ho eseguito ulteriori test per esaminare gli errori del file system durante l’esecuzione senza alcun raffreddamento aggiuntivo. Dal momento che, dopotutto, normalmente si presume che l’unità a stato solido NVMe subisca rallentamenti prima di arrivare al punto di errori del file system in caso di calore eccessivo.
Come accennato nella recensione, stavo riscontrando errori del file system semplicemente durante l’installazione dei test dopo un’installazione pulita di Ubuntu 23.04 e non riuscivo nemmeno a stressare effettivamente l’unità NVMe con benchmark. Quindi ero abbastanza curioso di vedere per quanto tempo l’unità sarebbe durata sotto i carichi di lavoro di benchmarking del disco se eseguita senza alcun raffreddamento post-vendita. Per farla breve, ci sono voluti meno di 3 minuti in stivali puliti prima di colpire in modo affidabile gli errori.
Quando si raccolgono i log dmesg da remoto, in genere entro 180 secondi dall’avvio e si avvia semplicemente un server MariaDB e si esegue mysqlslap per esercitare il server del database, si verificano errori del file system. Ripetendo l’operazione più volte, accadeva sempre entro tre minuti e la temperatura dell’unità NVMe segnalata tramite NVMe HWMON sysfs era sempre di circa 87 gradi. Per quello che vale, Specifiche tecniche MP700 delineano un intervallo di temperatura da-40°C a 85°C.
Dai log raccolti, almeno sotto Linux sembra che il controller NVMe si interrompa, il che a sua volta porta agli errori del file system EXT4. Ad esempio:
[ 177.187278] nvme nvme0: il controller è inattivo; resetterà: CSTS=0xffffffff, PCI_STATUS=0xffff
[ 177.187283] nvme nvme0: Il tuo dispositivo ha una modalità di risparmio energetico difettosa abilitata?
[ 177.187285] nvme nvme0: Prova”nvme_core.default_ps_max_latency_us=0 pcie_aspm=off”e segnala un bug
[ 177.235051] nvme 0000:19:00.0: Impossibile modificare lo stato di alimentazione da D3cold a D0, dispositivo inaccessibile
[ 177.235151] nvme nvme0: Disabilitazione del dispositivo dopo un errore di ripristino:-19
[ 177.251298] nvme0n1: rilevato cambiamento di capacità da 3907029168 a 0
[ 177.251308] Avviso EXT4-fs (dispositivo nvme0n1p2): ext4_end_bio:343: Errore I/O 10 scrittura su inode 55194516 blocco iniziale 125091905)
[ 177.251310] Errore I/O buffer sul dispositivo nvme0n1p2, blocco logico 129128830
[ 177.251312] Avviso EXT4-fs (dispositivo nvme0n1p2): ext4_end_bio: 343: Errore I/O 10 scrittura su inode 55193889 blocco iniziale 273991222)
[ 177.251316] Errore I/O buffer su dispositivo nvme0n1p2, blocco logico 124816449
[ 177.251317] Errore I/O buffer su dispositivo nvme0n1p2, blocco logico 273715 766
[ 177.251322] Avviso EXT4-fs (dispositivo nvme0n1p2): ext4_end_bio:343: Errore I/O 10 durante la scrittura sull’inode 29884642 blocco iniziale 129404287)
[ 177.251327] Avviso EXT4-fs (dispositivo nvme0n1p2): ext4_end_bio:343: Errore I/O 10 scrittura su inode 55194516 blocco iniziale 125091902)
[ 177.251327] Avviso EXT4-fs (dispositivo nvme0n1p2): ext4_end_bio:343: errore I/O 10 scrittura su inode 29884642 blocco iniziale 129404288)
[ 177. 251329 ] Buffer I/O error on device nvme0n1p2, logic block 124816446
[ 177.251331] EXT4-fs warning (device nvme0n1p2): ext4_end_bio:343: I/O error 10 writing to inode 30164735 start block 129396193)
[ 177.25 1331 ] Avviso EXT4-fs (dispositivo nvme0n1p2): ext4_end_bio:343: I/O error 10 writing to inode 55194516 start block 125091875)
[ 177.251332] Buffer I/O error on device nvme0n1p2, logical block 129120737
[ 177.25 1333 ] Buffer I/O error on device nvme0n1p2, logic block 124816419
[ 177.251334] EXT4-fs warning (device nvme0n1p2): ext4_end_bio:343: I/O error 10 writing to inode 55194516 start block 125091852)
[ 177.25 1336 ] Buffer I/O error on device nvme0n1p2, logic block 124816396
[ 177.251336] EXT4-fs warning (device nvme0n1p2): ext4_end_bio:343: I/O error 10 writing to inode 30164735 start block 129396194)
[ 177.25 1338 ] EXT4-fs warning (device nvme0n1p2): ext4_end_bio:343: I/O error 10 writing to inode 55194516 start block 125091849)
[ 177.251339] Buffer I/O error on device nvme0n1p2, logic block 124816393
[ 177.25 1341 ] Errore I/O buffer sul dispositivo nvme0n1p2, blocco logico 124816371
[ 177.251343] Errore I/O buffer sul dispositivo nvme0n1p2, blocco logico 124816353
[ 177.251345] Giornale interrotto sul dispositivo nvme0n1p2-8.
[ 177.251353] Errore EXT4-fs (dispositivo nvme0n1p2) in ext4_reserve_inode_write:5906: Il diario è stato interrotto bordato journal
[ 177.251359] Errore I/O buffer su dev nvme0n1p2, blocco logico 220726066, scrittura pagina asincrona persa
[ 177.251360] Errore I/O buffer su dev nvme0n1p2, blocco logico 243826688, scrittura pagina sincronizzazione persa
[ 177.251362] Errore EXT4-fs (dispositivo nvme0n1p2): ext4_dirty_inode:6110: inode #55194516: comm systemd-journal: errore mark_inode_dirty
[ 177.251365] Errore I/O buffer su dev nvme0n1p2, blocco logico 121147223, scrittura della pagina asincrona persa
[ 177.251366] JBD2: errore I/O durante l’aggiornamento del superblocco journal per nvme0n1p2-8.
[ 177.251367] Errore EXT4-fs (dispositivo nvme0n1p2) in ext4_dirty_inode:6111: il journal è stato interrotto
[ 177.251369] Errore I/O del buffer su dev nvme0n1p2, blocco logico 121141967, scrittura pagina asincrona persa
[ 177.251 372 ] Errore I/O buffer su dev nvme0n1p2, blocco logico 121110852, scrittura pagina asincrona persa
[ 177.251373] Errore EXT4-fs (dispositivo nvme0n1p2) in ext4_reserve_inode_write:5906: Journal interrotto
[ 177.251375] Buffer I/O errore su dev nvme0n1p2, blocco logico 121110544, scrittura pagina asincrona persa
[ 177.251376] Errore EXT4-fs (dispositivo nvme0n1p2): ext4_dirty_inode:6110: inode #55193889: comm rs:main Q:Reg: errore mark_inode_dirty
[ 177.251376] Errore EXT4-fs (dispositivo nvme0n1p2): ext4_journal_check_start:83: comm mariadbd: Rilevato journal interrotto
[ 177.251377] Errore I/O buffer su dev nvme0n1p2, blocco logico 121110529, scrittura pagina asincrona persa
[ 177.2 51378] Errore I/O buffer su dev nvme0n1p2, blocco logico 0, scrittura pagina sincronizzata persa
[ 177.251379] Errore I/O buffer su dev nvme0n1p2, blocco logico 120587356, scrittura pagina asincrona persa
[ 177.251381] I/O buffer errore su dev nvme0n1p2, blocco logico 58, scrittura pagina asincrona persa
[ 177.251384] Errore EXT4-fs (dispositivo nvme0n1p2) in ext4_dirty_inode:6111: Journal has aborted
[ 177.251386] EXT4-fs (nvme0n1p2): precedente I Rilevato errore/O al superblocco
[ 177.251386] Errore EXT4-fs (dispositivo nvme0n1p2): ext4_journal_check_start:83: comm systemd-journal: Rilevato journal interrotto
[ 177.251391] Errore EXT4-fs (dispositivo nvme0n1p2): ext4_journal_check_start: 83: comm rs:main Q:Reg: rilevato journal interrotto
[ 177.251399] EXT4-fs (nvme0n1p2): rilevato errore di I/O precedente al superblocco
[ 177.251406] EXT4-fs (nvme0n1p2): I/O errore durante la scrittura del superblocco
[ 177.251407] EXT4-fs (nvme0n1p2): rimontaggio del filesystem in sola lettura
[ 177.251409] EXT4-fs (nvme0n1p2): impossibile convertire le estensioni non scritte in estensioni scritte–potenziale perdita di dati! (inode 29884642, errore-30)
[ 177.251413] EXT4-fs (nvme0n1p2): impossibile convertire le estensioni non scritte in estensioni scritte–potenziale perdita di dati! (inode 30164735, errore-30)
[ 177.251415] EXT4-fs (nvme0n1p2): errore di I/O durante la scrittura del superblocco
[ 177.251415] EXT4-fs (nvme0n1p2): errore di I/O durante la scrittura del superblocco
[ 177.251417] EXT4-fs (nvme0n1p2): rilevato errore I/O precedente al superblocco
[ 177.251420] EXT4-fs (nvme0n1p2): errore I/O durante la scrittura del superblocco
[ 186.476141] errore EXT4-fs ( device nvme0n1p2): __ext4_find_entry:1663: inode #63307794: comm apport: lettura directory lblock 0
[ 186.476151] buffer_io_error: 4 callback soppressi
[ 186.476152] Buffer I/O error on dev nvme0n1p2, logic block 0, lost scrittura della pagina di sincronizzazione
[ 186.476154] EXT4-fs: 2 callback soppressi
[ 186.476154] EXT4-fs (nvme0n1p2): errore I/O durante la scrittura del superblocco
[ 186.476170] errore EXT4-fs (dispositivo nvme0n1p2): __ext4_find_entry:1663: inode #63307794: comm apport: lettura directory lblock 0
[ 186.476174] Buffer I/O error on dev nvme0n1p2, logical block 0, lost sync page write
[ 186.476174] EXT4-fs (nvme0n1p2 ): Errore I/O durante la scrittura del superblocco
[ 186.476184] Errore EXT4-fs (dispositivo nvme0n1p2): __ext4_find_entry:1663: inode #63307794: apport comm: lettura directory lblock 0
[ 186.476187] Errore I/O buffer su dev nvme0n1p2, blocco logico 0, scrittura pagina sincronizzata persa
[ 186.476188] EXT4-fs (nvme0n1p2): errore I/O durante la scrittura del superblocco
[ 186.476197] errore EXT4-fs (dispositivo nvme0n1p2): __ext4_find_entry:1663: inode #63307794: comm apport: lettura directory lblock 0
[ 186.476199] Buffer I/O error on dev nvme0n1p2, logical block 0, lost sync page write
[ 186.476200] EXT4-fs (nvme0n1p2): I/O errore durante la scrittura del superblocco
L’unità NVMe era occupata con attività MariaDB, quindi non avrebbe dovuto tentare di entrare in uno stato di gestione del consumo ridotto–a parte il throttling termico… Quindi l’ho fatto anche io prova le opzioni del kernel”nvme_core.default_ps_max_latency_us=0 pcie_aspm=off”consigliate nell’output di dmesg. ma alla fine nessuna di queste opzioni per disabilitare PCI Express Active State Power Management (ASPM) o modificare la latenza massima NVMe ha avuto alcun aiuto.
[ 164.581235] nvme nvme0: il controller è inattivo; resetterà: CSTS=0xffffffff, PCI_STATUS=0xffff
[ 164.581240] nvme nvme0: Il tuo dispositivo ha una modalità di risparmio energetico difettosa abilitata?
[ 164.581241] nvme nvme0: prova”nvme_core.default_ps_max_latency_us=0 pcie_aspm=off”e segnala un bug
[ 164.641482] nvme0n1: I/O Cmd(0x2) @ LBA 203495560, 32 blocchi, errore I/O (sct 0x3/sc 0x71)
[ 164.641490] I/O error, dev nvme0n1, sector 203495560 op 0x0:(READ) flags 0x80700 phys_seg 4 prio class 2
[ 164.669173] nvme 0000:19:00.0: Impossibile per modificare lo stato di alimentazione da D3cold a D0, dispositivo inaccessibile
[ 164.669278] nvme nvme0: Disabilitazione del dispositivo dopo un errore di ripristino:-19
[ 164.693186] Errore I/O, dev nvme0n1, settore 3089104896 op 0x1:(WRITE) flags 0x0 phys_seg 1 prio class 2
[ 164.693195] EXT4-fs warning (device nvme0n1p2): ext4_end_bio:343: I/O error 10 writing to inode 55194123 starting block 386138112)
[ 164.693198] nvme0n1: variazione di capacità rilevata da 3907029168 a 0
[ 164.693200] Buffer I/O error su device nvme0n1p2, blocco logico 385862656
[ 164.693211] EXT4-fs warning (device nvme0n1p2): ext4_end_bio:343: I/O error 10 scrittura su inode 55 194123 blocco iniziale 129390649)
[ 164.693213] Buffer I/O error sul dispositivo nvme0n1p2, blocco logico 129115193
[ 164.693213] Avviso EXT4-fs (dispositivo nvme0n1p2): ext4_end_bio:343: errore I/O 10 durante la scrittura sull’inode 2988 4650 blocco iniziale 273996343)
[ 164.693215] Buffer I/O error su dispositivo nvme0n1p2, blocco logico 129115194
[ 164.693217] Buffer I/O error su dispositivo nvme0n1p2, blocco logico 129115195
[ 164.693219] Buff er I/O errore sul dispositivo nvme0n1p2, blocco logico 129115196
[ 164.693220] Avviso EXT4-fs (dispositivo nvme0n1p2): ext4_end_bio:343: errore I/O 10 scrittura su inode 55194123 blocco iniziale 129390653)
[ 164.693224] E Avviso XT4-fs (device nvme0n1p2): ext4_end_bio:343: I/O error 10 writing to inode 55194123 start block 129390637)
[ 164.693226] Buffer I/O error on device nvme0n1p2, logic block 129115181
[ 164.693228] EXT4-fs avviso (device nvme0n1p2): ext4_end_bio:343: I/O error 10 writing to inode 55194123 start block 129390598)
[ 164.693229] Buffer I/O error on device nvme0n1p2, logic block 129115142
[ 164.693231] Buffer I/O errore sul dispositivo nvme0n1p2, blocco logico 129115143
[ 164.693232] Avviso EXT4-fs (dispositivo nvme0n1p2): ext4_end_bio:343: errore I/O 10 durante la scrittura sull’inode 55194123 blocco iniziale 129390595)
[ 164.693234] Buff er I/O errore sul dispositivo nvme0n1p2, blocco logico 129115139
[ 164.693235] Avviso EXT4-fs (dispositivo nvme0n1p2): ext4_end_bio:343: errore I/O 10 durante la scrittura sull’inode 55194123 blocco iniziale 129390578)
[ 164.693236] Buff er I/O errore sul dispositivo nvme0n1p2, blocco logico 129115122
[ 164.693238] Avviso EXT4-fs (dispositivo nvme0n1p2): ext4_end_bio:343: errore I/O 10 scrittura su inode 55194123 blocco iniziale 129390566)
[ 164.693240] E Avviso XT4-fs (device nvme0n1p2): ext4_end_bio:343: I/O error 10 writing to inode 55194123 start block 129390563)
[ 164.693278] Buffer I/O error on dev nvme0n1p2, logical block 120619365, lost async page write
[ 164.69 3285 ] Errore I/O buffer su dev nvme0n1p2, blocco logico 127926285, scrittura pagina asincrona persa
[ 164.693293] Errore I/O buffer su dev nvme0n1p2, blocco logico 62, scrittura pagina asincrona persa
[ 164.693302] EXT4-fs errore (dispositivo nvme0n1p2): ext4_check_bdev_write_error:223: comm mariadbd: Error while async write back metadata
[ 164.693323] Interruzione del journal sul dispositivo nvme0n1p2-8.
[164.693329] EXT4-FS ERRORE (dispositivo NVME0N1P2) in ext4_dirty_inode: 6111: IO Errovy
[164.693329] Errore I/O su Dev Nvme0n1p2, blocco logico 24382688, Pagina sync sync
[164.6934] JBD2: errore I/O durante l’aggiornamento del superblocco journal per nvme0n1p2-8.
[ 164.693334] Buffer I/O error on dev nvme0n1p2, logical block 0, lost sync page write
[ 164.693336] EXT4-fs (nvme0n1p2): errore I/O durante la scrittura del superblock
[ 164.693340] Buffer Errore I/O su dev nvme0n1p2, blocco logico 0, scrittura pagina sincronizzata persa
[ 164.693341] EXT4-fs (nvme0n1p2): errore I/O durante la scrittura del superblocco
[ 164.693353] Errore EXT4-fs (dispositivo nvme0n1p2): ext4_journal_check_start:83: comm rs:main Q:Reg: Rilevato journal interrotto
[ 164.693364] Errore I/O buffer su dev nvme0n1p2, blocco logico 0, scrittura pagina di sincronizzazione persa
[ 164.693368] EXT4-fs (nvme0n1p2 ): Errore I/O durante la scrittura del superblocco
[ 164.693369] Errore EXT4-fs (dispositivo nvme0n1p2): ext4_journal_check_start:83: comm mariadbd: Rilevato journal interrotto
[ 164.693370] EXT4-fs (nvme0n1p2): Remounting filesystem read-only
[ 164.693378] Buffer I/O error on dev nvme0n1p2, logical block 0, lost sync page write
[ 164.693380] EXT4-fs (nvme0n1p2): errore I/O durante la scrittura del superblock
[ 164.693455 ] EXT4-fs (nvme0n1p2): ext4_do_writepages: jbd2_start: 13262 pagine, ino 55194123; err-30
[ 164.727715] Il processo 10715(apport) ha RLIMIT_CORE impostato su 1
[ 164.727716] Interruzione del core
[ 164.915069] Il processo 10732(apport) ha RLIMIT_CORE impostato su 1
[ 164.915071] Interruzione core
[ 164.947259] Il processo 10736(apport) ha RLIMIT_CORE impostato su 1
[ 164.947261] Interruzione del core
[ 164.981899] Il processo 10747(apport) ha RLIMIT_CORE impostato su 1
Non l’ho fatto Non ho visto questo comportamento con l’SSD Inland TD510 PCIe 5.0 NVMe, ma ancora una volta quell’unità è dotata di un dissipatore di calore attivo per impostazione predefinita.
Dopo aver corretto gli errori del file system EXT4 e collegato un dissipatore di calore NVMe passivo all’MP700, ho eseguito 24 ore di impegnativi benchmark I/O con MariaDB, PostgreSQL, FIO, ClickHouse e altri carichi di lavoro e ha funzionato senza problemi… Ancora abbastanza caldo nella metà degli anni’80, ma mai nessun errore del file system o rapporti del controller NVMe nel registro del kernel. Sarà interessante vedere se questo comportamento si verifica anche in Windows o se qualche differenza di driver NVMe influisce sulla situazione.
In ogni caso, tuttavia, consiglierei di attendere l’aggiornamento allo storage consumer PCIe 5.0 NVMe fino a quando non saranno disponibili opzioni più interessanti che sono più veloci, più affidabili e i prezzi non inizieranno a competere meglio con PCIe 4.0 Prezzi unità NVMe. Se in questo momento stai optando per un’unità SSD NVMe PCIe 5.0, tuttavia, ti consiglio di assicurarti davvero di disporre di un sistema di raffreddamento adeguato.
“Dopo aver esaminato attentamente i rapporti recenti di TechPowerUp e Phoronix, Phison desidera riconoscere il problema riscontrato nelle recensioni dei prodotti che utilizzano il nuovo controller Phison PS5026-E26. Prendiamo la questione seriamente e ci impegniamo a risolverla tempestivamente.
I nostri team di ingegneri del firmware hanno già isolato il problema e apportato le necessarie modifiche alla curva di accelerazione termica entro poche ore dalla segnalazione. Tuttavia, il nuovo firmware deve essere sottoposto al rigoroso processo di convalida di Phison prima che i nostri partner possano rilasciarlo ai clienti. Siate certi che i nostri partner informeranno gli utenti finali non appena l’aggiornamento convalidato sarà disponibile.
È importante notare che tutti gli SSD E26 spediti senza dissipatore di calore sono destinati a essere utilizzati con un dissipatore di calore.La maggior parte delle schede madri fornite con PCIe Gen5 abilitato include anche il raffreddamento progettato specificamente per gli SSD Gen5. Offriamo l’opzione”bare drive”per consentire ai clienti di utilizzare i loro prodotti di raffreddamento esistenti.
Vogliamo sottolineare il nostro impegno a fornire prodotti e soluzioni di alta qualità ai nostri clienti e continueremo a lavorare diligentemente per garantire la loro soddisfazione. Grazie per la pazienza e la comprensione dimostrate durante questo processo.”
Quindi, il problema dovrebbe essere risolto con un aggiornamento del firmware. Ora, per sapere come funzionano questi aggiornamenti del firmware per gli utenti Linux… Alcuni fornitori almeno offrono gestione dell’aggiornamento del firmware NVMe avviabile mentre solo pochi eletti fanno il possibile con il supporto LVFS + Fwupd per renderlo un processo semplice per gli utenti Linux.