Нескорректированные ecc кодом ошибки что это

Содержание

Восстановление работоспособности жесткого диска

&nbsp &nbsp Атрибуты состоят из нескольких полей, каждое из которых имеет определенный смысл. Обычно, программы считывания S. M. A. R. T. выдают расшифровку атрибутов в виде:

Жесткий диск не имеет возможности, по собственной инициативе, передать данные SMART потребителю. Их считывание выполняется специальным программным обеспечением.

В настройках большинства современных BIOS материнских плат имеется пункт позволяющий запретить или разрешить считывание и анализ атрибутов SMART в процессе выполнения тестов оборудования перед выполнением начальной загрузки системы. Включение опции позволяет подпрограмме тестирования оборудования BIOS считать значения критических атрибутов и, при превышении порога, предупредить об этом пользователя. Как правило, без особой детализации:
Primary Master Hard Disk: S. M. A. R. T status BAD!, Backup and Replace.
Выполнение подпрограммы BIOS приостанавливается, чтобы привлечь внимание:
Press F1 to Resume
Таким образом, без установки или запуска дополнительного программного обеспечения, имеется возможность вовремя определить критическое состояние накопителя (при включении данной опции) средствами Базовой Системы Ввода-Вывода (BIOS).

Анализ данных S. M. A. R. T. жесткого диска

&nbsp &nbsp Для получения данных SMART в среде операционной системы могут использоваться специальные программы, в частности, практически все утилиты для тестирования оборудования жестких дисков.

Одной из самых популярных программ для тестирования жестких дисков является Victoria Сергея Казанского.

На сайте автора найдете последнюю версию программы, а также массу полезной информации, в том числе и подробное описание работы с Victoria.

В процессе работы с программой можно вызвать контекстную справку клавишей F1

Расшифровка кодов ошибок в Victoria:

BBK (Bad Block Detected) — Найден бэд-блок.

UNCR (Uncorrectable Error) — Неисправимая ошибка. Не удалось скорректировать данные избыточным кодом, блок признан нечитаемым. Может быть как следствием нарушения контрольной суммы данных (софтовый Bad Block), так и неисправностью HDD;

ABRT (Aborted Command) — HDD отверг команду в результате неисправности, или команда не поддерживается данным HDD (пароль, устаревшая или слишком новая модель и т. д.)

T0NF (Track 0 Not Found) — не найдена нулевая дорожку, невозможно выполнить рекалибровку на стартовый цилиндр рабочей области. На современных HDD говорит о неисправности микрокода или магнитных головок;

AMNF (Address Mark Not Found) — адресный маркер не найден, невозможно прочитать сектор, обычно в результате неисправности тракта чтения или дефекта поверхности.

Программа не требует установки, просто скачайте ее по ссылке на странице загрузки сайта автора.

Программа должна выполняться под учетной записью с павами администратора. В среде Windows 7 / 8 необходимо использовать контекстное меню «Запуск от имени администратора».

Краткое описание атрибутов (в скобках дано шестнадцатеричное значение номера):

Ремап (Remap) и проверка поверхности жесткого диска

При записи жесткий диск не проверяет, что и как было записано в область данных сектора, кроме случаев, когда предварительная диагностика, которой накопитель занимается все «свободное время», не пометила в соответствующих журналах эти сектора, как проблемные, или кандидаты на переназначение, что отражается в атрибуте 197 SMART (Current Pending Sectors).

При возникновении плохих блоков (Bad Block) нередко возникает необходимость проверки принадлежности сбойного участка конкретному файлу. Для этих целей можно воспользоваться консольной утилитой NFI. EXE (NTFS File Sector Information Utility) из состава пакета Support Tools от Microsoft. Скачать 10кб
Формат командной строки
Nfi. exe Диск Номер логического сектора
Подсказку по использованию NFI. EXE можно получить по команде nfi. exe /?

***Logical sector 12541492 (0xbf5e34) on drive C is in file number 49502.
\WINDOWS\ system32\ D3DCompiler_38.dll

Т. е. интересующий нас сбойный сектор принадлежит файлу D3DCompiler_38.dll в каталоге Windows\system32. В случае, когда сбойные блоки принадлежат системным файлам Windows, возможно появление синих экранов смерти или зависаний системы с перезагрузкой. В большинстве случаев, информация о наличии сбоев дисковой подсистемы, будет отображаться в системном журнале Windows.

Для выполнения тестирования поверхности накопителя с принудительным переназначением (ремапом) сбойных секторов можно воспользоваться программами тестирования HDD, алгоритм работы которых специально разработан таким образом, чтобы «заставить» внутреннюю микропрограмму накопителя выполнить переназначение нестабильного участка.
Так, например, подобные алгоритмы будут использоваться, в упоминаемой выше программе Victoria, если выбран режим тестирования поверхности с выполнением операций восстановления или переназначения (Classic Remap, Advanced Remap :). Изначально режим выполнения теста установлен в Ignore Bad Blocks

Добавлю, что особого выбора алгоритмов тестирования с переназначением сбойных секторов у программы MHDD, в отличие от Victoria, нет, однако MHDD обладает несколько большими возможностями, в т. ч. позволяет работать с SCSI-дисками и съемными USB HDD, при использовании драйверов, позволяющих получить доступ к съемному диску как SCSI-устройству (драйверы ASPIEHCI. SYS, USBASPI. SYS).

Вернуть переназначенные сектора на место, обычными программными средствами, невозможно. Однако, с использованием специального оборудования и методик можно выполнить внутренние технологические утилиты (selfscan, или селфскан), которые заново произведут те операции, которые выполняются для анализа поверхности при изготовлении накопителя, аналогично настоящему низкоуровневому форматированию, предназначенному для проверки поверхности и физической разметки дорожек.

HDAT2 – альтернатива программам MHDD и Victoria.

Для работы HDAT2 используется загрузка в среде Windows98 с возможностью выбора конфигурации драйверов, которые будут использоваться для доступа к накопителям:

Программа HDAT2 обеспечивает 3 вида доступа к дисковым устройствам:

Через прерывание INT13h BIOS;

Через порты ввода вывода;

Через драйверы ASPI;

Благодаря хорошо реализованному алгоритму распознавания подключенных дисковых устройств, программа, как правило, верно определяет их характеристики и задает необходимые режимы работы с ними. Хотя бывают и исключения, как например, приходилось сталкиваться с тем, что неверно определяется объем жестких дисков некоторых моделей емкостью 4 Тб. Тем не менее, программа позволяет, например, выполнить тестирование SD-карты, установленной в телефон Alcatel, подключенный к компьютеру через USB-порт, что невозможно с использованием MHDD и Victoria:

На сайте разработчика можно скачать документацию к программе на английском языке, актуальные версии HDAT2 и загрузочные образы дискет или компакт дисков на на странице загрузки

Лучшая, в свое время, программа для тестирования жестких дисков Victoria возвращается!

Обновленная Victoria работает в среде операционных систем Windows 2000/XP/8/10 x32. В среде Windows 9х программа работает только в режиме PIO.

Технические требования к оборудованию:

— Память 2 Gb или более.

— Видеокарта SVGA. Рекомендуется видеорежим от 1280*1024.

— Желательно наличие доступа в Интернет.

— Программа должна выполняться в контексте учетной записи пользователя с правами администратора.

В среде 64-разрядных ОС Windows работоспособность Victoria сохраняется, за исключением режима PIO.

Мониторинг состояния HDD.

&nbsp &nbsp Для отслеживания технического состояния диска в непрерывном режиме используется специальное программное обеспечение (нередко, платное), главной задачей которого является периодическое считывание и анализ значений атрибутов таблицы SMART с целью предупредить пользователя о достижении порога критического состояния, когда работоспособность устройства и сохранность пользовательских данных не гарантируются. Одним из бесплатных, и тем не менее, популярных в среде пользователей ПК, представителей программ для мониторинга состояния HDD является CrystalDiskInfo

Список команд жестких дисков стандарта ATA для работы с данными S. M. A. R. T

Наименование &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp Код операции

SMART_READ_VALUES&nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp 0xd0
SMART_READ_THRESHOLDS &nbsp &nbsp &nbsp &nbsp &nbsp&nbsp 0xd1
SMART_AUTOSAVE&nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp&nbsp 0xd2
SMART_SAVE&nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp 0xd3
SMART_IMMEDIATE_OFFLINE &nbsp &nbsp &nbsp &nbsp 0xd4
SMART_READ_LOG_SECTOR &nbsp &nbsp &nbsp &nbsp &nbsp&nbsp 0xd5
SMART_WRITE_LOG_SECTOR &nbsp &nbsp &nbsp &nbsp&nbsp 0xd6
SMART_ENABLE &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp&nbsp 0xd8
SMART_DISABLE &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp&nbsp&nbsp 0xd9
SMART_STATUS &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp0xda
SMART_AUTO_OFFLINE &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp 0xdb

В качестве дополнительного материала по технологии S. M. A. R. T и использованию программного обеспечения smartmontools в операционных системах семейства Linux, может пригодиться статья S. M. A. R. T и оценка технического состояния жесткого диска в Linux

Использование терминального режима для ремонта HDD.

&nbsp &nbsp Методика несложная и вполне работоспособная, но, в основном, рассчитана на применение опытными специалистами по ремонту HDD. Я постараюсь дать некоторые пояснения, которых в оригинале нет.

&nbsp &nbsp Итак, кроме обычного интерфейса ATA или SATA, современные накопители имеют служебный интерфейс для подключения в терминальном режиме. На плате электроники накопителя любого производителя вы найдете кроме стандартных разъемов питания и интерфейса, еще и дополнительный разъем, никак не обозначенный, и имеющий не менее 3-х контактов. Это и есть разъем для подключения терминала через последовательный порт накопителя.

В разных моделях накопителей используются свои контакты для подключения к терминалу

3,5″ накопители Seagate PATA :

Интерфейсный разъём. : : | : RX / TX Разъём питания

3,5″ и 2.5″ накопители Seagate SATA, а также 2.5″ Samsung SATA :

3,5″ накопители Samsung PATA :

Интерфейсный разъём. : : : | RX / TX Разъём питания

3,5″ накопители Samsung SATA :

Разъём питания. Разъём SATA : : : | RX / TX

Использование Hiperterminal для подключения накопителей Seagate.

&nbsp &nbsp Убедитесь, что ваш терминал работает. Для этого соедините RX и TX между собой. При наборе с клавиатуры вы должны видеть удвоение набираемых символов, поскольку на экран терминала сначала выводится введенный символ, передаваемый по линии TX, а затем, этот же символ, принятый по линии RX. Если режим «Отображать введенные символы на экране» выключить, то удвоения символов не будет, поскольку будут отображаться только символы, принятые по линии RX.

&nbsp &nbsp Если параметры порта выбраны правильно и накопитель поддерживает терминал, то, при нажатии CTRL-Z вы должны увидеть приглашение:

), в ответ на которые накопитель выводит диагностические данные о своем текущем состоянии.

Переход на нужный уровень выполняется с помощью команды:

LED: 000000CC FAddr: 0024A051

После раскручивания двигателя, увидите сообщение:

Spin Up Complete
Elapsed Time 7.146 secs

Теперь накопитель готов к работе в терминальном режиме.

Spin Error
Elapsed Time 12.917 secs
R/W Status 2 R/W Error 84150180

&nbsp &nbsp В сети встречается несколько методик восстановления работоспособности накопителей семейства 7200.11, которые позволили добиться положительного результата. Логика подсказывает, что как минимум, нужно:
— обнулить содержимое SMART Причиной разрушения транслятора, судя по всему, является ошибка в микропрограмме, связанная с обработкой этого содержимого. Иначе причина разрушения транслятора не будет устранена.
— пересчитать содержимое транслятора заново, что вернет работоспособность внутренней микропрограмме накопителя.

В большинстве методик используется команда обнуления списка переназначенных в процессе эксплуатации секторов G-List (Grown List). Мне кажется, в случае восстановления не только работоспособности, но и целостности данных, это будет лишним, хотя, вероятность порчи транслятора в зависимости от содержимого G-List, очевидно, исключить нельзя. На практике, очистку G-List я никогда не использовал, а восстановление нескольких Barracuda 7200.11 выполнилось вполне успешно.

&nbsp &nbsp Для очистки данных SMART нужно перейти на уровень 1

Восстановление работоспособности накопителя ST3640323AS с прошивкой SD35.

Rst 0x20M
(P) SATA Reset

LED:000000CC FAddr:0024CDC9
Rst 0x20M
(P) SATA Reset
LED:000000CC FAddr:0024CDC9
Rst 0x20M

Реакция на CTRL-Z присутствует, накопитель переходит на уровень /T, однако, тут же возвращается на «SATA Reset» :

Если вы желаете поделиться ссылкой на эту страницу в своей социальной сети, пользуйтесь кнопкой «Поделиться»

Программирование NAND для чайников.
Часть 1. Ошибки.

(1607) 4.89 (9) Оценки, комментарии

2021-02-11 Дата последнего изменения: 2021-02-28

В статье в предельно доступной форме рассматриваются особенности применения микросхем NAND FLASH.

CОДЕРЖАНИЕ:

NAND не совсем обычные микросхемы, поэтому те инженеры, которые с ними сталкиваются впервые, часто бывают обескуражены. Более подробно, хотя и очень примитивно, особенности NAND описаны в статьях "Программирование NAND FLASH" и "Программирование SPI NAND".

Здесь же я постараюсь изложить суть использования NAND еще проще.

Тому, кто собирается работать с NAND профессионально, материала из этой статьи будет явно недостаточно, но для любителя, который решил отремонтировать 2–3 прибора, в которых используется микросхема типа NAND, это может очень помочь.

1. Коварство NAND. Структура.

NAND организованы следующим образом: Страницы > Блоки –> Логические модули –> Кристаллы.

На рисунке ниже показан типичный пример организации микросхемы NAND с одним логическим модулем и одним кристаллом.

В чем коварство NAND? В адресации.

Даже начинающий радиолюбитель знает, что к любой ячейке микросхемы памяти можно обратиться, указав её адрес. Перебирая по порядку все адреса с первого до последнего, можно считать или записать всю микросхему (именно так поступает программатор).

В микросхемах NAND обращение к отдельным ячейкам невозможно. Программирование выполняется одновременно только в пределах одной страницы, а при стирании обращение производится к блокам или к группам блоков. Страница — минимальная единица NAND, которую можно считать или записать, а при стирании минимальная единица — это Блок или группа блоков.

При считывании NAND всегда происходит чтение всей страницы целиком, страница перемещается во внутренний буфер (page register), а уже из буфера можно прочитать содержимое страницы байт за байтом или в произвольном порядке.

То же самое при записи — сначала заполняется внутренний буфер (целиком или частично), затем страница записывается целиком. Размер буфера равен размеру страницы. Коварство адресации в том, что размер страницы не кратен степени двух. То есть просматривать содержимое микросхемы байт за байтом не получится.

2. Коварство NAND. Ошибки.

При работе микросхемы NAND возникновение ошибок — это норма. "Как так? Как можно работать с такой микросхемой?!" — скажете вы. Как можно работать с такой памятью? Способы есть, но об этом позже, а сейчас о Типичном заблуждении начинающих:

Спокойно, дружище, спокойно. Это NAND, она так работает.

Сейчас типичная страница наиболее распространенных NAND равна двум килобайтам плюс дополнительные байты. Очень многие микросхемы при чтении дают до 16-ти одиночных ошибок на одну страницу. И это нормально. Берем, например, микросхему на 2 гигабайта. Нехитрое вычисление. Получаем, что при считывании микросхемы может быть до 16 777 216 ошибок!

Еще раз: 16 Миллионов! Ошибок в микросхеме! Как с этим жить?! Как может что-то работать вообще? Об этом поговорим чуть позже.

А сейчас поясним понятие "Одиночные ошибки".

"Одиночная ошибка" — это не одна единственная ошибка на страницу или микросхему, это ошибка В одном бите. Таких ошибок может быть много, вопреки слову "одиночная". Применительно к памяти такие ошибки правильнее было бы называть однобитными, но термин "одиночный" пришёл из теории передачи данных по линиям связи, где ошибки выявляют и исправляют такими же способами, что и в NAND.

3. Магия ЕСС.

Все наверное знают, что такое CRC. Код CRC (еще иногда (ошибочно) называют "контрольная сумма") — это такой специальный код, который позволяет найти ошибку в данных.

ЕСС — это более продвинутый код. Он позволяет не только Обнаружить но и Исправить (!) ошибку в данных. Поэтому он и называется ECC (Error Correction Code) — Код Исправляющий Ошибки.

Как работает такой код? Ох, лучше не спрашивайте. Я сам не понимаю (шутка). Просто поверьте в магию. Страница считана с ошибками, но код ЕСС может все исправить. Задействуем код ЕСС — и все читается без ошибок.

Кратко опишем как выглядит работа кодера/декодера ЕСС:

Вот до этого места коды CRC и ECC не сильно отличаются, магия ЕСС начинается дальше:

Вот и вся магия. Мы просто исправляем ошибки.

Конечно код ЕСС не может исправить все ошибки. Он может исправить их небольшое количество, скажем 16. Но нам больше и не нужно! Микросхема ведь не делает много ошибок :)

4. Коварство NAND. Магия ЕСС есть, но она не работает.

"Так просто?" — скажете вы. "Тогда почему программатор не использует ЕСС для исправления ошибок?! Я из раза в раз читаю микросхему и все время ошибки".

Да. Действительно, почему?

А вот почему.
Чтобы исправить все ошибки нужно знать:

Как? Вы это не знаете?! Вот и мы не знаем. И, возможно, никто, кроме разработчика прибора, не знает.

5. Почему алгоритмов расчета ECC так много.

На данный момент самые распространённые коды исправляющие ошибки это:

Математические теории кодов достаточно сложные, но основные приемы работы с кодами известны, порождающие полиномы легко найти. Казалось бы, мы легко сможем подобрать нужный алгоритм ECC, просто анализируя прошивку. Сначала мы тоже так решили, однако всё оказалось сложнее.

Большинство современных встроенных систем базируются на Linux. Linux для работы накопителей на основе FLASH памяти, как правило, использует Драйвер MTD. В драйвере MTD реализовано программное кодирование для NAND Кодом BCH с вполне известным набором полиномов. Всё будто просто, но в реальной жизни (в реальных прошивках) такое кодирование не встречается. Почему? Всё упирается в деньги. Вернее, в желание производителей аппаратуры их сэкономить.

Почему вместо обычной памяти FLASH, работающей безошибочно, используются NAND, производящие кучу ошибок? Потому что это В разы дешевле. За разработку алгоритма кодирования/декодирования ЕСС заплатить нужно ОДИН раз, за память без ошибок нужно платить КАЖДЫЙ раз в КАЖДОМ устройстве.

Ровно по этой же причине в реальных устройствах (особенно массовых) никогда не используется чисто программное декодирование ЕСС – это декодирование является очень ресурсозатратным. Получается: ставим дешевую память – получаем или медленно работающее устройство, или нужно ставить мощный процессор, стоимость которого сводит на нет выгоды от использования дешевой памяти.

Поэтому декодированием ЕСС в современных системах занимаются специальные сопроцессоры или контроллеры. Придумываются и реализуются Более совершенные коды ЕСС. Часто используются Комбинированные коды CRC/ECC. Код CRC рассчитывается быстрее, чем ЕСС, это позволяет использовать CRC-часть для обнаружения ошибок, а полное декодирование ЕСС — только при их наличии.

Все эти коды и алгоритмы являются предметом авторского права и собственностью компаний, их разработавших. Ежедневно патентуются все более совершенные коды и все более быстрые алгоритмы их расчета. И никто не спешит делиться своими секретами.

Для тех, кого посетит мысль о том, что взломать алгоритм ECC не сложно, хочу напомнить, что для шифрования данных и расчета кодов исправления ошибок используется идентичный математический аппарат.

6. Коварство NAND. Магия ЕСС есть, но она не работает. Что делать?

Очень часто нам приходится слышать один и тот же вопрос: "Что делать, если NAND всегда читается с огромным количеством ошибок? Как прочитать без ошибок?"

Проблема может быть успешно преодолена, если вы нам скажете, Какой алгоритм ЕСС использует ваше устройство. В этом случае мы сделаем расчет ЕСС по вашему алгоритму и у вас всё будет работать без ошибок при чтении NAND для этого устройства.

Вы не знаете алгоритм? Тогда есть только один способ: Толерантность к ошибкам (и этот способ успешно Работает).

Просто читаете микросхему. Она будет считана с ошибками. При верификации требуется задать Допустимое количество ошибок на страницу микросхемы. (Для всех вновь добавленных микросхем значение по умолчанию уже задано. Если не задано нужно смотреть документацию или просить нас, чтобы мы внесли данные ЕСС в базу).

Программа будет сверять микросхему и подсчитывать количество ошибок. Если количество ошибок не превысит заданное значение — значит всё в порядке. Ошибка сравнения не будет выдана, вы просто будете проинформированы о количестве "исправимых" ошибок.

Но не все так однозначно.

Вот небольшая задачка:
Допустим, микросхема записывается всегда правильно, а все ошибки возникают только при чтении (чаше всего, это именно так). Предположим при каждом чтении каждой страницы всегда возникает ровно 3 ошибки при допустимых для данной микросхемы 4-х ошибках.

Понятно, что пример несколько искусственный, но на нём проще объяснить.

Случай 1:Запись эталона в NAND

Мы записали в микросхему Эталонную (точно не содержащую ошибок) прошивку. При верификации получаем 3 ошибки на страницу. Программа предупреждает об исправимых ошибках, но верификация проходит успешно.

Если вы эту микросхему NAND поставите в ваш прибор, он исправно заработает, поскольку встроенный в прибор алгоритм ЕСС обязан(!) исправлять не менее 4-х ошибок на страницу (это паспортные характеристики данной NAND и прибор просто обязан справляться с таким количеством ошибок).

Случай 2:Чтение микросхемы NAND

Мы считали прошивку из Исправной микросхемы, стоящей в приборе (напомню, мы получаем по 3 ошибки на страницу). Далее мы еще раз считывали прошивку. Мы опять получили 3 ошибки на страницу.

Но ошибки не возникают в одних и тех же местах! При сравнении результатов 1-го и 2-го считывания может получиться до 6-ти ошибок на страницу. Это превысит допустимые 4 для данной микросхемы, но это вовсе не означает, что микросхема неисправна!

Случай 3:Копирование микросхемы NAND

Мы считали прошивку из исправной микросхемы, стоящей в приборе (получая по 3 ошибки на страницу). Далее записали полученную прошивку в чистую микросхему.

При верификации получим по 3 ошибки на страницу. Это вроде бы меньше 4-х. Но заработает ли прибор? Не факт. Всего ошибок может быть до 6-ти на страницу (3 при считывании образца плюс 3 при работе микросхемы в приборе), но ЕСС прибора исправит только 4.

На самом деле, в реальной жизни, количество ошибок по страницам в микросхемах сильно колеблется. В новых микросхемах количество ошибок не превышает одной-двух, да и то не на каждой странице. Заявленное число ошибок (в нашем примере 4) это уже в сильно изношенной микросхеме. Беда только в том, что в ремонт с формулировкой "слетела прошивка" именно такие приборы и попадают.

7. Практический совет по выбору порога ошибок.

Можно порекомендовать простой алгоритм выбора количества допустимых ошибок при верификации (настройка порога толерантности):

Случай 1. Очень оптимистичный. У вас есть эталонная прошивка и она точно без ошибок.

Такую прошивку можно писать и верифицировать с порогом ошибок, Заданным в документации на микросхему (во всех наших примерах – это 4).

Случай 2. Реальный. У вас нет эталонной прошивки.

Вы считываете прошивку из микросхемы. Чтобы ее можно было уверенно использовать, количество ошибок на страницу Не должно превышать половины лимита (т. е. для нашего примера — это 2 ошибки). Далее вы пишете эту прошивку в микросхему. При верификации записанной микросхемы ошибок тоже не должно быть более 2-х.

При соблюдении этих условий прибор заработает с очень высокой вероятностью (ЕСС прибора должно исправить 2+2=4 ошибки).

Чем больше вы ошибок получаете при считывании эталона и верификации записи, тем меньше вероятность того, что алгоритм ЕСС справится с исправлением ошибок и прибор заработает. Здесь уже как повезет. :)

8. "Ваш программатор полный отстой, вот другие программаторы решают эту проблему".

Нет. У других производителей программаторов (во всяком случае у всех, которые нам известны на данный момент) всё точно так же. Те же предложения: "Cкажите какой ЕСС и мы все реализуем".

Те же методы верификации с "терпимостью" ошибок ЕСС. У некоторых производителей есть настройка с выбором алгоритмов из встроенного стандартного набора, с необходимостью указания полинома, разметки страницы и кучи других параметров. В практической жизни это вам не сильно поможет.

9. "Я все прочитал и ничего не понял.
Вы сможете наконец что-то сделать, чтобы NAND читались "нормально"?"

Мы над этим работаем. До сих пор мы не оставляем надежды на создание способа автоматического восстановления алгоритма ЕСС (хакинга) только на основании анализа прошивки.

Понятно, что для всех случаев его создать никогда не удастся, но если нам удастся восстановить алгоритм ЕСС хотя бы в четверти случаев, мы будем просто счастливы.

Что для этого нужно? Присылайте нам свои считанные прошивки. Присылайте нам как можно больше считанных прошивок. Я знаю, что они для вас представляют ценность, но мы не собираемся их распространять или использовать как-то кроме их анализа на предмет ЕСС и таблиц плохих блоков. Если вы опасаетесь, можно скрывать название системы, в которой прошивка используется.

Всё что нас интересует — это название микросхемы, из которой прошивка считана. Для лучшей защиты своих интересов вы можете прислать прошивку не полностью. Если вы опасаетесь — не присылайте. Это только просьба.

Еще очень желательно знать марку контроллера NAND, используемого в системе или марку центрального процессора, то есть название микросхемы, к которой NAND подключена.

Собрав достаточную базу прошивок, я надеюсь, нам удастся "хакнуть" ЕСС и сильно облегчить вам работу с NAND.

Только совместными усилиями мы сможем добиться значительных результатов в работе!

4.89 (9)

Источники:

Https://ab57.ru/hdd. html

Https://www. chipstar. ru/articles/nand-dlya-chaynikov/