Хочу поделится опытом / наблюдениями.
Не редко SSD как SATA так и NVMe выходят из строя.
Во всех таких случаях Windows либо не загружается (висит на лого или заходит в UEFI Setup), либо глючит, зависает, не может установить обновления или корректно завершить работу.
Те из них что хоть как то определяются - препарирую в Linux
И видно что ведут они себя немного по разному.
Я позволю себе разделить их по симптомам на четыре класса:
Чтение всего объема ok / Запись проходит как бы успешно, но при пере-монтировании видно что никакие файлы не записались.
Чтение всего объема ok / Отваливается при попытке записи в любой сектор.
Чтение в основном ok, но некоторые сектора UNC.
Чтение в основном ok, но после некоторых или каждого UNC требуется пере-подключить.
Применяю к ним GNU ddrescue в окружении Debian на рабочем десктопе.
SATA подключаю напрямую / NVMe через USB докстанцию.

Статей про ПО ddrescue написано много. Хотелось бы отметить ключи запуска которые (по моим наблюдениям) позволяют прервать процесс копирования в случае если SSD совсем перестал возвращать данные после очередной ошибки.
-O, --reopen-on-error reopen input file after every read error
-J, --verify-on-error reread latest good sector after every error-d, --idirect
Первый -O
указывает после каждой ошибки заново открывать файл устройства.
Второй -J
проверяет что SSD еще может выдавать данные, перечитывая последний не сбойный сектор. Опционален, иногда приводит к проблемам.
И обязательный -d
использовать DirectIO для доступа.