Вопрос задан:
Почему флешка USB на контроллере SM3265P первые 2 сектора читает хорошо 3 сектор вместо реального содержимого повторяет в точности данные 2-го сектора, соответственно все файлы получаются «битыми»?
Внутри вашей флешки стоит TLC-память NAND, где данные записываются блоками с размером, завязанным на часть «страниц». Производитель ради скорости разбил каждый большой блок на три «слоя» (условно назовём их 1, 2 и 3). Самые быстрые и «живучие» страницы попадают в слой 1, средние – во 2-й, а самые медленные и быстро изнашивающиеся – в 3. При чтении микроконтроллер управляемый микрокодом (т.н. «прошивкой») читает страницы по порядку: 1-2-3-1-2-3. Пока читаются слои 1 и 2, всё выглядит нормально: алгоритм ECC справляется с текущими ошибками чтения. Как только доходит очередь до слоя 3, начинается «чёрная полоса»: страницы уже физически деградировали, битые ячейки встречаются условно каждые несколько байт. Контроллер не может получить достоверные данные, поэтому вместо них выдаёт то, что уже лежит в кэше – последний удачно прочитанный сектор (как раз второй). Для восстановления файлов с такой флешки остаётся только распаять NAND чипы и читать их напрямую с большим количеством повторных проходов, программным контролем ECC и статистическим восстановлением содержимого сектора.