Уже дважды встречался что на используемых SSD (от Kingston и Silicon Power) редко используемые данные начинали массово биться. Т.е. записал какие-то данные, они лежат, обращений к ним долгое время нет, хотя диск в работе (с другими данными). Потом через год понадобились — бац, а уже куча из записанного битое (архивы не распаковываются, контрольные суммы не совпадают, т.к. вместо части секторов читается случайный мусор вместо данных).
А то, что еще читается, читается в разы медленнее чем на новом диске было. Но флэш не умер, стоит форматнуть такой диск, TRIM и залить на него данные из бекапа/образа обратно — все снова работает исправно, пишется, читается корректно и на полной скорости. Т.е. это НЕ деградация флэша, а именно вовремя не перезаписанные данные «утекли», хотя все возможности у контроллера диска для этого были, т.е. наличие питания и периодические периоды простоя или очень низкой активности диска, когда этим можно заняться. Но он ими по какой-то причине не воспользовался.
И от знакомых похожие истории слышал, когда диск вроде исправен, но давно лежащие на нем без движения данные просто портятся.
По-идее (в теории) за этим одна из подпрограмм в прошивке контроллера диска должна автоматически следить и данные, которые слишком давно лежат без перезаписи перезаписать без участия пользователя самостоятельно. Но на практике бывает, что-то (ХЗ что — попробуй определи еще) идет не так. Толи косяк в прошивке у производителя и эта часть кода на самом деле вообще не работает (и попробуй узнай / проверь этот момент пока проблемы не начались?). Толи производитель чрезвычайно переоценил надежность хранения данных использованным им флэшем и заложил слишком низкую частоту подобного обновления — например контроллер перезаписывает в фоновом режиме только данные пролежавшие без перезаписи больше года, а данные по факту уже через полгода в данном виде флэша текут.
Или не заложил поправку на температуру — что повышение температуры приводит к резкому (почти в 2 раза за каждые +5 градусов) ускорению процесса утекания заряда и соответственно данных из флэша, и надо не только за временем прошедшим с записи следить, но и за тем, какая температура была при этом и чем она выше, тем раньше/чаще нужно перезаписывать. Причем в разы чаще если температуры повышенные.
В одном из моих дисков причина была похоже в этом, диск стоял в «горячем» месте, температура 40-47 градусов постоянно была. В результате уже через 7-10 месяцев неперезаписывавшиеся (со стороны хоста/пользователя) данные на нем начинали биться, несмотря на то, что он включен как раз почти постоянно был. Потом переставил его в другую систему, где попрохладнее — вроде пока больше не бьются «холодные» данные уже больше года несмотря на то, что диск сейчас уже сильнее изношен. А там где жарко поставил Самсунг — вот он похоже поправку на температуру делает, т.к. через несколько месяцев на нем начал сильно расти WAF хотя характер нагрузи не менялся(с хоста вообще мало там пишется, в основном читается) — видимо как раз сам контроллер регулярно начал перезаписывать «залежавшиеся» данные, что дает много записи во флэш при нулевых записях с хоста = растет WAF.
А если еще учесть, что в немалой части дешевых и массовых SSD реально температурного датчика вообще нет (показывает 33 градуса всегда в некоторых моделях независимо от реальной температуры)…
В каких-то моделях было, что подобные проверка идут только при чтения данных — в этот момент контроллер оценивает сохранность конкретных блоков данных (видимо по наличию/числу исправимых при помощи ЕСС ошибок в момент чтения — если оно выше какого-то порога — блок надо перезаписать заново, если нет — считается что все ОК). Ну а если чтения данных долгое время не происходит — то проблему обнаружить в принципе при таком подходе невозможно. Видимо программисты писавшие подобные прошивки решили, «ну раз пользователь никогда не читает эти данные, значит они ему уже вообще не нужны! чего зря ресурсы на слежение за их сохранностью тратить?»
Речь пойдет о способе извлечения данных с неисправного SSD для случаев когда после попытки чтения любого сбойного сектора - SSD совсем перестает отдавать данные и помогает только отключение включение питания.
Цитата
В данном случае вычитка одного SSD включая trimming заняла около 14 суток. Но scraping еще не завершен.