Поиск точных номеров сбойных секторов на поверхности HDD
Версия для печати

Конференция: Конференция iXBT.com (http://forum.ixbt.com/)
Форум: Магнитные и SSD накопители (http://forum.ixbt.com/?id=11)
URL: http://forum.ixbt.com/topic.cgi?id=11:39299



Memphis, 09.02.2009 09:28
Предлагаю Вашему вниманию маленькую прожку для верификации поверхности хардов. При обнаружении сбойных секторов их точные номера в десятичке отобразятся на экране (можно вывести и в файл при желании). При этом прога попытается произвести запись в эти сбойные сектора (их содержимое уже потеряно, они будут обнулены, до 8-ми попыток записи в сектор) - попытка вылечить пендинги. Если сектор успешно обнулился, счетчик сбойных секторов не инкременируется, хотя номер сбойника юзер получает всегда. Программа автоматом идентифицирует как старые LBA28, так и новые LBA48 харды. При этом размер блока для верификации составляет максимум (256 или 65536 секторов соответственно) - именно такими блоками тестируется поверхность. Если в заказанном блоке один или несколько секторов нечитаемы, начинается повторная верификация блока, но уже посекторно, дабы точно определить номер сбойного ЛБА. Хочу отметить, что в проге реализована истинная адресация ЛБА48, т.е. все шесть байт адреса ЛБА вводятся в контроллер - можно тестировать поверхность любых хардов без всяких ограничений. При желании процесс верификации можно остановить в любой момент времени - жмем "Esc".

Ограничения - работает в чистом ДОСе с любыми БИОСами и матерями (а значит, напрямую с портами контроллера харда, максимально быстра ) и требует русификатора.

Порядок запуска в командной строке:

без параметров - "BadLBA" - производит поиск хардов на стандартных ИДЕ-адресах (PM/PS/SM/SS PATA/SATA). Если хард найден, на экран выведет основную инфу по нему. Далее можно начать поиск/лечение бэдов на этом харде или пропустить тест для него.

с параметром, указываем базу ввода/вывода в гексе - "BadLBA 6400m" - будет искать хард на внешнем/встроенном PCI-контроллере с базовым адресом I/O харда 6400h, как мастер.

"BadLBA 6600s" - база 6600h, слэйв.

"BadLBA 1F0m" - только один Primary Master, избирательно.

"BadLBA 170s" - только один Secondary Slave, избирательно.

Указание адресов очень удобно для хардов, адресуемых нативно на внешних контроллерах. Эти адреса можно заполучить в Диспетчере устройств/Свойствах контроллера (для ленивых) или прочитать их из PCI-регистров контроллера харда (для любознательных - Виндоза берет их именно здесь).

А найти зверушку можно здесь - http://filekeeper.org/download/shared/BadLBA.rar

К сообщению приложены файлы: 1.png, 361x427, 9Кb

За это сообщение сказали спасибо: Antech

1. Antech, 09.02.2009 12:51
Memphis
Спасибо.
Проверить не могу, т.к. нет поблизости DOS (а в виртуалке - с образом возиться надо).

А разве Victoria DOS с включенным дефектоскопом не делает то же самое?

2. Memphis, 09.02.2009 13:04
Antech
Точно не знаю. Вроде были жалобы, что не определяет точно номера ЛБА.
Знаю случаи, когда Виктория не видела хард/ы на внешнем контроллере. Попытался это исправить - указанием базы в/в, если известна.

3. Antech, 09.02.2009 18:05
Memphis
Знаю случаи, когда Виктория не видела хард/ы на внешнем контроллере
Да, читал об этом в форуме.

4. A512, 12.02.2009 18:00
Преимущество Вашей программы перед MHDD и Victoria в том, что она стирает только плохие сектора, а не целый блок (минимум 32 сектора для Victoria 4.46b). Иногда это очень важно.
Жаль, что не сохраняется список вылеченных секторов в файл протокола.

5. Memphis, 12.02.2009 18:32
A512
Жаль, что не сохраняется список вылеченных секторов в файл протокола. - не приходила мысль делать это программно. Но - когда у меня обнаруживались бэды (все были программные, значит сектора надо было чистить, с потерей инфы), я всегда, прежде чем их восстановить, лез в ДОСе к этим нечитаемым секторам и бродил в них, в окрестностях, в поисках, что повреждено - файлы, элементы каталога или таблицы ФАТ. Сразу скажу - файлы - это редкость (ну акромя системных, ДЛЛ-к всяких, свопа...). Как правило, попадало на таблицы ФАТ (причем обе). Вывод - прежде чем сектора затирать/восстанавливать, я всегда ТОЧНО ЗНАЛ ХАРАКТЕР МОИХ ПОВРЕЖДЕНИЙ НА ХАРДЕ. А затем, после восстановления всех секторов на харде, начинал лечение системы.

6. i4u1, 12.02.2009 19:13
А можно перезапись сделать on-demand а не по дефолту? т.е. для начала статистику собрать бы. +релокация, если возникает, то только при операции запись в сектор или чтение/верификаци тоже нормально (это был вопрос до кучи)?

7. Memphis, 12.02.2009 19:20
i4u1
А можно перезапись сделать on-demand а не по дефолту? - да, элементарно. Тогда малость командная строка сложнее станет - типа того - BadLBA /3 6600m и эквивалент BadLBA 6600m. В первом случае - 3 попытки записи в бэд-сектор, во втором - запись запрещена. Если так устроит - сделаю сегодня вечером, завтра выложу.

8. i4u1, 12.02.2009 21:30
Устроит всё, хозяин-барин. Тогда и в /? нужда появляется

9. Memphis, 13.02.2009 08:53
i4u1
http://filekeeper.org/download/shared/BadLBA_1.rar - пробуйте это. Описание в архиве.

10. Shark[Nkz], 13.02.2009 10:02
Насколько я знаю и Виктория, и MHDD при ремапе затирают конкретный сектор с дефектом. Т.е. верификация идет блоками, а ремап посекторно. 256 (255) секторов (блок) затираются при EraseDelays (Waits).

11. A512, 13.02.2009 11:24
Shark[Nkz]
Зачем делать ремап, если сектор можно вылечить?

12. Ing.Syst, 13.02.2009 11:37
A512
Зачем делать ремап, если сектор можно вылечить?
Диск же делает ремап, если не удалось вылечить.

13. Shark[Nkz], 13.02.2009 11:45
A512
Ремапит не программа, а диск (варь)! Программа просто производит многократную запись в дефектный сектор, если дефект софтовый, ремапа не будет! Можешь сам проверить, сделай makebad в MHDD, а потом ремап. И посмотри в смарте 5-ый аттрибут.

14. A512, 13.02.2009 11:45
Ing.Syst
Сектор удается вылечить очень часто.

15. i4u1, 13.02.2009 12:35
A512 о другом говорят. вылечить/невылечить... ремап делает контроллер НЖМД, если посчитает нужным, а программа! У программы нет таких полномочий.

16. Memphis, 13.02.2009 20:12
A512
Жаль, что не сохраняется список вылеченных секторов - в принципе, это несложно сделать. После выдачи номера сбойного сектора и его удачной очистке можно поставить "+" или написать "Good".

Еще могу приделать к основной инфе о харде пару строк - СМАРТ-статус ХДД и его температуры - Cur/Min/Max. Или не надо ?

17. A512, 14.02.2009 09:04
Memphis
Если вопрос ко мне, то достаточно только адресов плохих (вылеченных/невылеченных) секторов, чтобы знать, что на диске было испорчено.
Кстати, я тоже (как и i4u1) хотел попросить сделать лечение по запросу, но постеснялся

18. Memphis, 16.02.2009 12:15
http://filekeeper.org/download/shared/BadLBA_2.rar - третий (и наверное, последний) релиз проги.

Нововведения:

1 - после вывода на экран нОмера сбойного ЛБА пишет статус его "лечения" (если таковое разрешено)

2 - в инфу о ХДД добавлена строка - СМАРТ-статус харда - ХДД сам говорит о своем состоянии здоровья (жираф высок, ему видней...)

3 - в инфу о ХДД добавлена строка - Температура - отображаются текущая/минимальная/максимальная температуры банки за все время жизни

4 - в инфу о ХДД добавлена строка - Запись в Bad-LBA - запрет/разрешение "лечить" сбойные ЛБА и количество попыток

19. A512, 19.02.2009 16:31
Немного о точности.

цитата (Antech):
А разве Victoria DOS с включенным дефектоскопом не делает то же самое?
Нет!
Специально проверил. На HDD с 21 сбойным сектором различные программы нашли:

MHDD 4.6 - 10 (все 10 правильно, 11 пропущено)
Victoria 3.52 - 10 (все 10 неправильно, 11 пропущено)
Victoria 3.52 (дефектоскоп) - 58 (21 правильно, 37 лишних)
BadLBA - 21 (все правильно )


MHDD 4.6 дает правильный адрес сбойного сектора (но если рядом их несколько, то показывает только первый). А вот Victoria 3.52 (DOS) и 4.46b (Windows) - действительно показывают адрес меньший чем реально (может совпадать, если он равен 512, 4000000 и т.д. кратно 256). Victoria 3.52 с дефектоскопом показывает много ложных дефектов.

20. vlo, 19.02.2009 17:00
Antech
А разве Victoria DOS с включенным дефектоскопом не делает то же самое?
вот hddscan(2.x, вероятно 3.x тоже но не пробовал) делает тоже самое, если задать размер блока в 1 сектор. но поскольку при этом заметно падает скорость проверки, единичные дефекты разумно искать стандартным, а потом вбивать адреса дефектных блоков и проверять их уже детально. так же ею можно и затирать по одному найденному сектору с целью его ремапинга или восстановления cs (опять же ручками указывая адрес). и главное все это под многозадачной системой со всеми ее удобствами. 2Memphis: извиняюсь за антирекламу.

21. Zong, 19.02.2009 17:11

Memphis
Раз все процедуры уже обкатаны так может перейти к написанию копира. ? Предлагаю название "Copy-Buldozer" Memphis'a

22. A512, 19.02.2009 17:12
цитата (vlo):
но поскольку при этом заметно падает скорость проверки
Думаю, более правильно было бы написать "радикально падает скорость проверки".

23. Spetros, 19.02.2009 17:28
Memphis
При этом прога попытается произвести запись в эти сбойные сектора (их содержимое уже потеряно, они будут обнулены, до 8-ми попыток записи в сектор) - попытка вылечить пендинги. Если сектор успешно обнулился,
А как обнуляете? Просто нулями или паттернами?
На поверхности винта логический нуль(точнее последовательность бит) физически будет представлена иначе.

24. Tomset, 19.02.2009 17:41
Memphis
Позвольте покритиковать с точки зрения ДатаРековери.
Крупным шрифтом напишите, что программа не предназначена для восстановления данных!
Как не предназначены для этого ни MHDD, HDDscan и Виктория.
Для лечения диска пожалуйста. Для восстановления данных - нет! Слишком велик риск потерять все окончательно. Особенно при важных данных.
Нельзя писать на умирающий диск ни чего. Это основное, незыблемое правило восстановления данных. О каких файлах вообще разговор?
Получить еще один "Дегенератор". Стоит ли овчинка выделки!
Если вопрос стоит о восстановлении данных, программа должна сразу, все что возможно еще на этапе сканирования, сохранять вычитанные сектора на другой диск, пропускать проблемные области, ни когда повторно не обращаться к уже вычитанным проблемным секторам.
Для "ремонта" же диска без данных, достаточно и простой записи по всей поверхности.

25. Zong, 19.02.2009 18:02

Tomset
Для "ремонта" же диска без данных, достаточно и простой записи по всей поверхности.
Да ну ?
Получить еще один "Дегенератор". Стоит ли овчинка выделки!
Таки не пользуйтесь и все. Зачем была нужна "Victoria" когда была MHDD ? Дело в креативности автора.
Ему нужна и на этом все . Ну и для того чтобы прочувствовать критику ,попробуйте сделать что-то подобное.

26. Tomset, 19.02.2009 18:28
Zong
Для подобного "ремонта" - пусть так звучит.
Просто вы видимо не представляете, сколько сечас приносят, безнадежных дисков, после подобных "лечений".
Если хард совсем "не упалал", то пользователь отрывается по полной, всеми известными программами, какие удается найти в интернете. Спасти данные уже невозможно из-за запилов, возникших в результате таких попыток. При правильном подходе 90% данных почти всегда можно спасти без хирургического вмешательсва.
Мне не жалко, пусть восстанавливают, как хотят, это их данные. Но жалко своего, зря потеряного времени, когда, перепробовав все, обращаются, а уже поздно.

А так пусть пишет, на то она и критика, чтобы выслушал и cделал лучше.

27. Zong, 19.02.2009 21:50

Tomset
Просто вы видимо не представляете, сколько сечас приносят, безнадежных дисков, после подобных "лечений".
Так автор и не позиционировал свою программу рекавери прг. Она занимаетеся поиском (насколько следует из названия).
Да и суть алгоритма,мне кажется, гуманна и не может убить все на свете.
А так да. Я рекавери не занимаюсь.(точнее мало). Работа мне кажется скучной и не интересной.

28. Memphis, 20.02.2009 14:19
Tomset
Вам Zong правильно ответил - прога писалась для себя (вначале). И цель была одна - просканировать поверхность на поиск бэдов. Если таковые находятся, выдать их точные адреса. Лечения никакого не было. Тогда сразу вопрос - почему поверхность харда можно сканить HDDScanом, МХДД/Викторией, HDTune, а моей нет? Ведь нет ничего деструктивного для харда - только верификация. И не важно уже в каком состоянии хард - полностью исправен, без дефектов, или с кучей бэдов. Прога не множит бэды, она их ищет. Запись приделал позже - ДЛЯ ЛЕЧЕНИЯ ПЕНДИНГОВ. И то потому, что леча пендинги в DFT, она не могла вылечить их много - то-ли 30, то-ли 60 сделает, потом пишет - Диск дефектный. Приходилось выходить из проги, запускать скан сначала, долго ждать, вылечить еще группу секторов и т.д. Это сильно по времени доставало, тем паче у моих ИБМ-хардов поверхность была в норме - бэды были совтовые от иголок. Тем более в последнем релизе ЗАПИСЬ ОТКЛЮЧАЕМА ПО ЖЕЛАНИЮ.

vlo
и главное все это под многозадачной системой со всеми ее удобствами - бесспорное преимущество, не отрицаю. Но и у меня есть - подключите к любой матери хард емкостью к примеру, 100 тыс. терабайт (знаю, нет еще таких) и запустите мою прогу - начнет тестировать. А ведь неизвестно, как поведут себя матеря/операционки с таким хардом.

Zong
Предлагаю название "Copy-Buldozer - ошибаетесь. Копировщик медленным точно не будет. Напротив, в ДОСе он будет самым быстрым (я знаю, как это сделать). Ни одна Винда не обгонит. Легко можно копировать по 65536 секторов.

Spetros
А как обнуляете? Просто нулями или паттернами? - просто нулями (DFT мне всегда нулями забивал).
xor ax,ax
mov cx,100h
lab1:
out dx,ax
loop lab1

Добавление от 20.02.2009 14:58:

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

29. vlo, 20.02.2009 15:00
Memphis
Но и у меня есть - подключите к любой матери хард емкостью к примеру, 100 тыс. терабайт (знаю, нет еще таких) и запустите мою прогу - начнет тестировать.
vs
Напротив, в ДОСе он будет самым быстрым (я знаю, как это сделать). Ни одна Винда не обгонит. Легко можно копировать по 65536 секторов.

у меня вот не сходится. если через биос - то второе не получается, дисковый биос в фоне работать не умеет, скорость/2. если прямо к контроллеру - а ну как контроллер или не чипсетный, или в ahci - умеешь? сейчас уже потихоньку к этому идет. да и запускать dma на всем многообразии "стандартных" с их особенностями та еще радость. верефикация-то на стандартном контроллере дело не хитрое, толи дело копирование. а к winpe можно просто драйвер от производителя прикрутить.

lab1:
out dx,ax
loop lab1


pio??? меедленно.

30. Memphis, 20.02.2009 15:14
vlo
Да, ПИО - в предположении, что из миллиарда секторов - десяток окажется дефектных - потеря времени мизерна. . Все равно ВЕРИФИКАЦИЮ ПОВЕРХНОСТИ В ДОСе Я СДЕЛАЮ БЫСТРЕЕ, чем под Виндой. Через УДМА тоже умею - не хочу от Юзера требовать новые адреса БусМастера.

если через биос - то второе не получается - нет, не через БИОС. Вся напрямую с портами, УДМА. Буду использовать расширенную память (та, что выше одного мегабайта). При этом оба канала УДМА будут работать параллельно - один на Src-диске, другой на Dst. В AHCI не умею. Если сильно прижмет - изучим.

31. Zong, 20.02.2009 15:19

Memphis
ошибаетесь. Копировщик медленным точно не будет
Это ваша своеобразная интерпритация. Слово бульдозер выбрано из-за красоты и из-за сокрушаещей проходимости.
Да и .... звучит!. (сравните с грейдером,скреппером и т.д) А как яхту назоввешь...

32. Spetros, 20.02.2009 15:30
Memphis
Понятно. Ничего особенного, за исключением числа циклов перезаписи.

Логически данные вида пары бит 00, контролер на диске отображает как 1000 (кодирование RLL(2,7)).
Если использовать особенности RLL-кодирования можно быстрее привести значения уровней на поверхности пластины к единому значению. Конечно, проще не заморачиваться на физике процесса и забить нулями, но это будет менее эфективно и потребует большего числа проходов.

PS Вот статья на смежную тему (http://www.cs.auckland.ac.nz/~pgut001/pubs/secure_del.html) - уничтожение данных с учетом физических особенностей носителя. В принципе, затирать сектор можно как и с целью уничтожения информации, так и с целью восстановления работоспобности.

33. Memphis, 20.02.2009 15:37
Spetros
Мне безразницы, каким кодом заполнять сектор.
1. Команда mov ax,1234h на один байт длинней, нежели xor ax,ax
2. Когда я распаковываю и подключаю в работу свежекупленный диск, его поверхность обнулена.
3. Секретное стирание/Форматирование от ИБМ/Хитачи также обнуляет поверхность
4. ДФТ также обнуляет пендинги.
5. ФС иногда больше любит нули, чем не нули.

34. Zong, 20.02.2009 15:38

Spetros
Если использовать особенности RLL-кодирования можно быстрее привести значения уровней на поверхности пластины к единому значению.
Операция записи с любым паттерном выполнится за одинаковое время. приведите пример,что сектор с содержимым {А}
записывается быстрее чем с содержимым {B} и метод проверки.

35. Tomset, 20.02.2009 16:33
Memphis
Только вначале их нужно найти...
Вот это и есть самый опасный момент, если поверхность или головы уже "на грани".

Если кратко, то алгаритм должен быть такой:
Анализируется SMART.
Анализируется G-лист. Или журнал, если кандидаты не фиксируются в G-листе.
По характеру записей, кучности, расположению по головам, строится прогноз. Софтовые это ошибки или уже хардварные.
Если софтовые, есть смысл оставить хард в покое или самому запустить офлайн смарт тест, так как лучше самого харда, софтовые беды ни какая программа не полечит.
Опять смотрим Smart, G-лист/журнал. Напускаем запись, на оставшиеся софтовые беды.
Лечатся... можно уже без особого страха, сканировать всю поверхность, на вопрос сбоев, не попавшихся харду во время работы.
С хардварными бедами лучше не шутить, сразу отправить хард на посекторное вычитывание. Сканирование может оказаться для него фатальным.

36. Spetros, 20.02.2009 16:33
Zong
Смысл распространенной перезаписи нулями сводится к тому, чтобы прикладной софт прочитал с поверхности одни логические нули. Эти нули на физическом уровне выглядят иначе.
Я же веду речь об эффективности циклов перезаписи: что 0 поверх 0 на физическом уровне, будет эффективнее чем, например, перезапись 1 поверх 0. В первом случае на магнитный домен оказывается повторяющееся воздействие, что в случае неуверенного чтения будет быстрее способноствовать появлению более четкого уровня.
Мы говорим о многократной записи в сбойные сектора, результатом которой предполагается восстановление их читабельности

37. Memphis, 20.02.2009 16:42
Tomset
Вот это и есть самый опасный момент, если поверхность или головы уже "на грани". - а как узнать, поверхность и/или головы, или еще чего... Пока не протестируешь, не узнаешь. Конечно, такие полутрупы лучше сразу к вам нести, даже не включая и не гоняя тесты. Но ведь и без них не узнаешь, труп он или нет. Я исхожу из того, что львиная доля хардов в хорошем состоянии, рабочие - значит верификация (и запись, если сочтет нужным юзер) НЕ ПОВРЕДЯТ.

Можно так - СМАРТ-статус сказал бэд, значит тест запрещен. Так юзер это обойдет - запустит другую прогу... Не любит никто запреты.

38. Tomset, 20.02.2009 17:24
Memphis
Я же только в том плане, что программу сразу начали примерять к восстановлению файлов. А оно на то не заточено.
Потому просто напишите предупреждение, а дальше пусть уж сами решают и пеняют на себя.
Когда сам пользователь убивает свои данные, его право. Но есть же много кулибиных, которые не понимая сути проблемы пытаются восстановить чужие данные подобными методами. Пользователь на них надеится, в результате, теряет то, что легко и дешево можно было восстановить при правильном подходе.

39. Zong, 20.02.2009 17:57

Spetros
Нестабильный сектор...это ммм...такой, чтение из которого дает недостоверный из-за неповторяемости при возврате результат. Т.к получаемое содержимое может сильно разниться то и выдумать наиболее оптимальный паттерн для его
приведения к " более четкому уровню" (восстановлению ) даже статистически трудно. Некоторые диски вообще возвращают
при ошибке чтения только сам факт ошибки. Ну и какой паттерн будет в таком случае лучшим ? А возможность паттерн-записи
документированна в совр. стандартах. Поэтому пожалуйста,используйте ее если результат "bad-lba" кажется неоптимальным
с физич. точки зрения. На самом деле,это конечно не трудно формировать на каждом шаге записи новый паттерн,но это будет
иметь смысл,если каким то образом удастся показать что при этом получаются лучшие результаты чем при единообразном
нулевом.

Добавление от 20.02.2009 18:17:


Memphis
3. Секретное стирание/Форматирование от ИБМ/Хитачи также обнуляет поверхность
Не совсем.Зависит от предистории операций с буффером.
2. Когда я распаковываю и подключаю в работу свежекупленный диск, его поверхность обнулена.
Тоже не всегда. Иногда можно встерить в первых 10000H секторах хаотичный мусор.) На некоторых дисках существует
возможность нумерации LBA (т.е при желании могут воспользоваться)

40. vlo, 20.02.2009 20:29
Memphis
Все равно ВЕРИФИКАЦИЮ ПОВЕРХНОСТИ В ДОСе Я СДЕЛАЮ БЫСТРЕЕ, чем под Виндой.
не сделаешь, ровно так же будет.

Через УДМА тоже умею - не хочу от Юзера требовать новые адреса БусМастера.
на одном контроллере - да, на любых, не разделяю этого оптимизма, они отличаются далеко не только адресами портов.

41. Spetros, 20.02.2009 21:35
Zong
получаемое содержимое может сильно разниться
В случае сбойного сектора содержимое его не нужно. Нужна только верификация операций чтения/записи.

выдумать наиболее оптимальный паттерн для его приведения к " более четкому уровню" (восстановлению ) даже статистически трудно.
А что трудного? Либо стараться перезаписывать на физическом уровне значениями "0" либо "1". Нулями лучше т.к. в большинстве методов кодирования на физическом уровне в коде преобладают нули. Сложность только в четком определении метода кодирования на этом уровне.

Некоторые диски вообще возвращают при ошибке чтения только сам факт ошибки.
Пускай возращают, бОльшего от них не требуется.

каким то образом удастся показать что при этом получаются лучшие результаты чем при единообразном нулевом.
Еще раз для тех кто в танке
При обычном нулевом все равно единообразия на физическом уровне не достигается, там, в любом случае, будут встречаться на физическом уровне значения единицы. В случае кодирования RLL(2,7) больше нулей окажется на поверхности не при записи данных в последовательности бит вида 00, а когда записана последовательность 1100(см. краткое описание RLL в статье по ссылке выше)

Зачем перезаписывают по несколько раз, я надеюсь, вы знаете.

42. Tomset, 20.02.2009 22:13
Spetros
У вас очень устаревшие сведения. Сейчас даже выяснить не реально, что там происходит на физическом уровне. Кроме разработчиков конкретного преампа (коммутатор-предусилитель в гермоблоке), ни кто не знает, что там реально пишется при нулях и единицах. Все засекречено. Мы можем только видить, то что преамп выдал уже в виде готовых байтов. Последние публикации по этому вопросу, относятся к прошлому веку (1996 год). 12 лет это очень большой срок в развитии технологий магнитной записи.

43. Spetros, 20.02.2009 23:16
Tomset
У вас очень устаревшие сведения. Сейчас даже выяснить не реально, что там происходит на физическом уровне. Кроме разработчиков конкретного преампа (коммутатор-предусилитель в гермоблоке), ни кто не знает, что там реально пишется при нулях и единицах. Все засекречено.
Это основные принципы записи. Технологии конечно меняются, но не кардинально.
Например, у Momentus 7200.1 прицип записи RLL(0, 11)
http://www.seagate.com/docs/pdf/datasheet/disc/ds_momentus7200.pdf
А у Momentus® 5400 FDE.3 уже используется 16/17 EPRML
http://www.seagate.com/docs/pdf/datasheet/disc/ds_mo…us_5400_fde.3.pdf
Как видите, это не такой большой секрет

Последние публикации по этому вопросу, относятся к прошлому веку (1996 год).
Само направление безопасного удаления(Secure Deletion) не развивается, перспектив нет(в плане эффективности удаления).

44. Zong, 20.02.2009 23:51

Spetros
Само направление безопасного удаления(Secure Deletion) не развивается, перспектив нет(в плане эффективности удаления).
http://www.pgpru.com/novosti/2009/dljabezopasnogouda…chnoodnogoprohoda
http://www.springerlink.com/content/408263ql11460147/
ост. позже
Зачем перезаписывают по несколько раз, я надеюсь, вы знаете.
Нет.

Почитал (без интереса) про RLL x,y.(конкретно 2.7)
Откуда уверенность что все вендоры используют один и тот же способ на множестве схем кодирования ?
Напр. nibble 0000H можно закодировать 11001, но почему не подходит зеркальный 10011 ? Если подходит
то паттерн-агитка 1100 не лучший (лучший не всегда).

45. Antech, 21.02.2009 15:49
Zong
http://www.springerlink.com/content/408263ql11460147/
Там нет линка на скачивание (только превью). Гугл тоже не помог. Или это типа аргумент за деньги ?

46. Zong, 21.02.2009 16:22

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

47. Tomset, 21.02.2009 17:59
Spetros
Zong обсолютно прав, конкретная реализация метода, может быть какая угодно.
В рекламном даташите можно написать все что угодно, реальной технической документации нам не увидеть, а проверить, что там реально на физическом уровне происходит с головками, нужно очень сильно постараться.
Очень смушает, например, что метод записи 16/17 EPRML используется на харде с перпендикулярной записью.
Если верить их даташитам, он использовался на хардах серий U. Затем был забыт, и вдруг опять вернулся. Не кажется ли странным? Тем более не 11 и 12 сериях про метод записи, кроме как перпендикулярный - вообще ни слова.

48. Spetros, 21.02.2009 19:34
Zong
Вы переиначиваете смысл говоря о всех вендорах.
Мы уходим даже не к специфике вендора, а к специфики модели. Пока разговор идет о возможности выбора для перезаписи чуть более оптимальных данных, чем нули.

Напр. nibble 0000H можно закодировать 11001, но почему не подходит зеркальный 10011 ?
Можно закодировать любым способом. Речь не об этом.

но почему не подходит зеркальный
Это вопрос о том в каком порядке в итоге будет записано на поверхность? А есть принципиальная разница?

Если подходит то паттерн-агитка 1100 не лучший (лучший не всегда).
Этот момент в ваших словах(из-за предложенных значений) не ясен. По моим данным, для RLL(2.7) будут такие преобразования:
код:
Data	(2,7) RLL Encoded
11 1000
10 0100
000 000100
010 100100
011 001000
0011 00001000
0010 00100100


Если используется именно RLL(2,7) - преобразование по предпоследней строчке таблицы будет наиболее подходящим для "обнуления" закодированной таким образом поверхности.

Но не суть, можно взять любой другое преобразование - основной вопрос в определении метода кодирования дающего наибольшее число нулей на одном из преобразований. Желательно, чтобы выбранный метод совпал с используемым в данной модели.

По поводу ссылок, там обсуждается восстановление перезаписанных данных с помощью спецоборудования. Статья(на английском) о которой идет речь в тех ссылках: http://sansforensics.wordpress.com/2009/01/15/overwr…-hard-drive-data/
Там есть и о тестах с тройной перезаписью.

Я же говорю об одном из способов борьбы с пендингами с помощью перезаписи. Не факт, что он приведет к лучшим результатам


Tomset
Реализация метода может быть любой, поэтому забитие нулями является наиболее универсальным и общепринятым способом.
Взятое для примера Secure Deletion и борьба с пендингами преследуют разные цели.
С вашей позицией - мол без разницы чем затирать, всё равно неизвестно что там на физическом уровне - я не спорю. Если считать жесткий диск неким "черным ящиком", то выбранные данные(что нули, что паттерны) - не будут оказывать никакого влияния на происходящее на физическом уровне. Совпало, не совпало - результат один
За это сообщение сказали спасибо: Antech

49. Tomset, 21.02.2009 20:02
Spetros
Совпало, не совпало - результат один
Конечно. Чего-бы туда не писАть, перемагничиваться будут в все домены. Только, какие-то домены повернутся, какие-то нет. Ожидать, что поверхность после этого улучшиться - пустой номер.

50. Zong, 22.02.2009 01:44

Spetros
Этот момент в ваших словах(из-за предложенных значений) не ясен. По моим данным, для RLL(2.7) будут такие преобразования:
Я пробовал читать в 2-х местах:
http://asu.bru.mogilev.by/кафедра/Учебно-Методически…R01_PUA_Kodir.DOC
http://spas-info.ru/articles/?page=storfeature3
Какой из них верный я не знаю.

51. Memphis, 23.02.2009 09:21
http://filekeeper.org/download/shared/BadLBA_3.rar - появилась новая версия прожки. Дополнения - к свойствам харда добавились 3 новые информационные строки:

1 - "Режим тестирования" (LBA28/LBA48). Фактически означает поддержку хардом набора команд ЛБА48. Если есть хард емкостью 120 ГБ или менее, это совсем не означает, что он не может поддерживать ЛБА48. В режиме ЛБА28 размер блока для тестирования 256 секторов, для ЛБА48 - 65536.

2 - "Счетчик пендингов" - индицирует C5-атрибут из СМАРТа (6 байт в десятичке).

3 - "Счетчик переназначенных" - индицирует 05-атрибут из СМАРТа (6 байт, dec.).

При обнаружении сбойного сектора, помимо отображения его номера на эране, теперь всегда печатается байт кода ошибок верификации в гексе (расшифровка на рисунке во вложении - из спецификации на Сатурн/Хитачи). После этого отображается статус лечения сектора (если разрешено) или статус не отображается (если запрещено). Т.е. когда на экран выведено много строк о сбойных секторах (инфа о харде/режимах затерта), по наличию статуса на экране легко определить, разрешено или запрещено лечение сбойных секторов. По окончании тестирования поверхности и просмотра информации необходимо нажать "Esc/Enter", чтобы результаты тестирования не были затерты инфой о другом обнаруженном харде. Изменилась идеология поиска хардов, поскольку были учтены рекомендации Tomset'а для тестирования неисправных дисков. При нахождении диска, у которого не снимается сигнал "Busy", прога будет подвисать (ожидать готовность харда). Такие харды надо не тестировать, а нести к ремонтникам/рекаверам. Теперь, прежде чем начать тестирование поверхности, юзеру предоставлено больше инфы из СМАРТа - статус, температура, счетчики пендингов и переназначенных. На основании этого он сам принимает решение - начать тестировать или отказаться. Очевидно, при плохом статусе СМАРТа у харда и большИх значениях счетчиков, не рекомендуется верифицировать поверхность, а тем паче проводить его лечение.

К сообщению приложены файлы: 1.png, 610x443, 31Кb

52. Tomset, 23.02.2009 13:42
Memphis
2 - "Счетчик пендингов" - индицирует C5-атрибут из СМАРТа
А C6 что же оставил без внимания?
Он же индицирует о том, что HDD уже сам пытался восстановить пенденги, но безуспешно. Вычитать их хард не смог.
Почему я и написал, что нужно анализировать журнал пендингов, там уже есть адреса нужных секторов и коды их ошибок.
Но тут мы сразу попадаем в моделе-зависимость, супер-оны, вендор специфик команды и цена создания "прожки" - становится неприлично большой.

53. Memphis, 23.02.2009 13:52
Tomset
Подумал, этого достаточно. Впрочем, место еще есть на экране - завтра приделаю.

54. Memphis, 24.02.2009 14:43
http://filekeeper.org/download/shared/BadLBA_4.rar - прилепил С6-атрибут для счастья. Остальное без изменения.
За это сообщение сказали спасибо: Antech

55. Memphis, 02.03.2009 09:46
Появился финальный релиз (http://filekeeper.org/download/shared/BadLBA.com) BadLBA. Добавлено:
1. Значение текущего ААМ/рекомендованное вендором
2. Значение текущего АРМ
3. Количество байт для ЕСС
4. С7 Счетчик CRC-ошибок (из СМАРТа)
5. 09 Счетчик часов наработки (из СМАРТа).

Просьба ответить на 2 вопроса:
1. Когда я провожу верификацию именно САТА-хардов на Виашном контроллере, у меня индикатор активности харда НЕ СВЕТИТСЯ (но горит при чтении/записи). Скажите, как у вас с этим - горит или нет ?

2. Подскажите, какие на экран выдает коды ошибок при лечении секторов - какой код ошибки при успешном лечении и какой при неуспешном лечении сектора (ибо проверить не могу - все сектора на 3-х хардах читаемы) ?

56. HDD-911, 04.03.2009 01:15
A512
цитата:

Victoria 3.52 - 10 (все 10 неправильно, 11 пропущено)
Victoria 3.52 (дефектоскоп) - 58 (21 правильно, 37 лишних)

Интересное исследование.
А 4.46 хоть правильно определила?

На счет "лишних" - это паранойя у неё, в строке можно указать меньший порог срабатывания

57. A512, 04.03.2009 15:20
HDD-911
Вот протокол работы Victoria 3.52 (знаки ??? поставил я - они указывают ложные дефекты):

Victoria 3.3; Defectoscop log:
------------------------------
Model: WDC WD84AA
S/N: WD-WM9071207827
Unstable & Defective LBA's:
111111
222222
333327 ???
333328 ???
333329 ???
333330 ???
333331 ???
333332 ???
333333
444444
666653 ???
666654 ???
666655 ???
666656 ???
666657 ???
666658 ???
666659 ???
666660 ???
666661 ???
666662 ???
666663 ???
666664 ???
666665 ???
666666
666667
666668
666669
999983 ???
999984 ???
999999
1111104 ???
1111105 ???
1111106 ???
1111107 ???
1111108 ???
1111109 ???
1111110 ???
1111111
1222217 ???
1222218 ???
1222219 ???
1222220 ???
1222221 ???
1222222
1222223
1222224
1222225
1333330 ???
1333331 ???
1333332 ???
1333333
1444439 ???
1444444
1444445
1444446
1444447
1444448
1444449

Victoria 4.46b показывает правильно только если установить block size = 1, но скорость при этом падает катастрофически.
Вот здесь (http://forum.ixbt.com/topic.cgi?id=11:39299:20#20) vlo писал, что можно сначала установить размер блока =256 для быстрого нахождения сбойного участка, а потом поставить размер блока =1 для точного определения (только речь шла о HDDScan 2.8). А программа BadLBA делает это автоматически.

58. Ing.Syst, 04.03.2009 15:27
Memphis
Курировать тему будете?

59. nazyura, 04.03.2009 16:04
Memphis
...какой код ошибки при успешном лечении и какой при неуспешном
При успершном и код успешный... 50h (01010000) [DRDY+DSC]

60. Memphis, 05.03.2009 14:50
Ing.Syst
Нет, интересного ничего не предвидится. На вопросы ответим обычным образом.

nazyura
При успершном и код успешный... 50h (01010000) [DRDY+DSC] - не совсем так. Объясню поточнее - когда натыкаюсь на нечитаемый/нечитаемые в блоке, начинаю скан этого блока заново, ПОСЕКТОРНО. Когда опять натыкаюсь на нечитаемый, вывожу на экран его номер ЛБА и код ошибки (от нечитаемости). Затем, если лечение разрешено, перезаписываю. Разумеется, код после перезаписи (успешной/нет) на экран не вывожу (ибо это не интересно). Конечно, при успешном исходе будет 50h, при неуспешном - какая разница, ведь сектор все равно мертвым остался. Поэтому очень интересует код ошибки верификации именно до лечения.

http://filekeeper.org/download/shared/BadLBA_5.rar - надеюсь, это точно будет последним. Нововведения:
1. Когда юзер в командной строке указывает базу В/В в гексе, в этом числе теперь 3 младших бита очищаю - подстраховка, когда база от фонаря, не напортачить с неизвестными портами. Т.е. если ввести базу в таком диапазоне - 6401h...6407h, будет преобразовано в 6400h.
2. Максимальное количество байт для ЕСС теперь ищу по другому алгоритму - через Set Features/44h + Read Long/22h (если это вообще кому-то интересно). Если хард обе эти фичи не поддерживает, довольствуемся значением из паспорта (4 байта или меньше).
3. 0С Счетчик подач питания (из СМАРТа)
4. 04 Счетчик старт-стопов (из СМАРТа)
5. С1 Счетчик парковок голов (из СМАРТа)
6. Незначительно увеличил скорость сканирования.

61. nazyura, 05.03.2009 15:03
Memphis
...код ошибки верификации именно до лечения.
В Error-регистре, UNC может гореть, а так-же, IDNF или AMNF, в status-регистре - CORR,
А вообще, это vendor-зависимые флаги, так-что, точно не узнаешь...

...при неуспешном - какая разница
Разница немалая... чаще всего, тут и будет error-vendor-code

62. A512, 11.03.2009 14:23
Memphis
Что-то Вы с последней версией намудрили. Зависает, если ввести e400m, e400s, e000m, e000s, 1f0m, 1f0s, 170m, 170s. В последних четырех случаях зависает также без параметров, т.е. с автопоиском. (Разумеется, я менял разъемы и переключал настройки). Материнская плата - MSI 945GCM7 (945GC, ICH7); HDD - SATA WD2500KS. Все предыдущие версии работают нормально (пробовал поочередно на этой же конфигурации).
На другом компьютере с MB Gigabyte GA-G33M-S2L (G33, ICH9) последняя версия работает (пробовал с параметрами e800m, ea00m).

63. Memphis, 16.03.2009 10:09
A512
Ошибаетесь - у меня ошибок нет, алгоритм простой, пройден отладчиком несколько раз. И адреса ваши правильны (ибо на ноль оканчиваются). А зависает по простой причине - в вашем конкретном харде неожиданно обнаружился глюк фирмвари (и мать не виновата, подключите к ней другой хард для опыта). А ваш SATA WD2500KS почему-то спотыкается на паре/одной команде - Set Features/44 & Read Long/22. Виснуть не должен - если не поддерживает, должен вернуть ошибку - дело в его фирмвари.

64. A512, 17.03.2009 11:35
Memphis
HDD виноват или программа, но в тех случаях, когда будет виснуть последняя версия, придется пользоваться предыдущей.
Короче говоря, последняя версия правильная, но менее универсальная .

65. Memphis, 21.04.2009 16:14
Предлагаю малюсенькое, но ценное нововведение в BadLBA. В строке "Количество LBA" теперь выводится 2 числа. Первое - текущее количество ЛБА, берется из паспорта харда. Тестироваться на бэды будет именно это количество секторов. Второе - максимально возможное количество ЛБА, доступных юзеру. В идеале, оба числа равны друг другу, иначе - первое всегда меньше второго и говорит о обрезке объема харда по HPA/DCO.

http://zalil.ru/upload/27471426

66. A512, 30.04.2009 11:11
Memphis
Правильная ссылка - http://slil.ru/27471426

У меня выдает одно число

67. Memphis, 30.04.2009 11:48
A512
Значит хард не позволил мне получить инфу по ЛБА - возможно, DCO залочено БИОСом материнки или DCO не поддерживается. Пробуйте на других матерях этот хард. Кстати, а теперь зависание у вас пропало ? Я немного переделал алгоритм для определения количества байт ЕСС.

68. A512, 30.04.2009 12:20
Memphis
Но в то же время Victoria 3.52 (DOS) позволяет отрезать/восстанавливать и все размеры показывает.
(Хотя действительно, на другом компьютере BadLBA выдает два числа.)

Проверить зависание (http://forum.ixbt.com/topic.cgi?id=11:39299:62#62) не могу, так как тот компьютер уже давно недоступен.

69. Memphis, 30.04.2009 12:39
A512
и все размеры показывает - покажет-ли правильно, если размер обрезать не по HPA, а через DCO - вопрос...

70. Memphis, 05.05.2009 09:23
Интегрировал в BadLBA полезный тест - программное определение скорости RPM для хардов. Точность измерения - 6 значащих цифр. Пробуем... (http://filekeeper.org/download/shared/BadLBA_6.rar)

71. Vovamba, 08.06.2009 13:15
Неплохо было бы добавить возможность ввода начального адреса для скана, а то пришлось очень долго ждать (винт большой, ошибки в конце). Светодиодом моргает (контроллер nVidia), скорость кажет 6.863,77

72. Memphis, 09.06.2009 09:47
Vovamba
Так ведь пока все не просканируешь, не узнаешь, где ошибки - в начале, в середине или в конце. Да и вся прелесть скана в том, что запуская его, я изначально считаю, что ошибок на поверхности нет совсем (а ведь у большинчтва хардов это так). А вот обнаружаться-ли они или нет - только опыт и покажет (причем могут в любом месте). Я думал над этим. Но тогда тест будет неполный.

скорость кажет 6.863,77 - похоже, тут соврало. Если проделали несколько попыток и все такие. Ради любопытства, померьте обороты на другой машинке/машинках. Ибо интересный результат.

73. A512, 09.06.2009 17:16
Еще несколько результатов (скорости вращения):
ST3120813AS - 6.835,05
ST3320613AS - 6.835 ; 6.503 ; 6.665 ; 7.015 ; 7.204 (все это один HDD при запуске программы несколько раз подряд)
А теперь - рекорд: ST310211A (U series 5) - 519.641,67

74. Memphis, 09.06.2009 17:57
A512
Про рекорд знаю - пробовал также на старом Сигейте (емкость кажись 3.5 Гига) - получил примерно также.
Неплохо поискать новый алгоритм, да Сигейтов нет у меня дома. А на ИБМ/Хитачи все четко кажет. Вижу зависимость оборотов от температуры. Интересно, а как у ВД/Самсунга дела с этим ?

Только что на работе попробовал Самсунг SP0802N (ревизия TK100-24), вот результаты - 7.194,93 7.194,79 7.194,78 7.195,32 7.194,79 и 7.194,79. Все корректно с ним.

75. Vovamba, 10.06.2009 06:33
Смотря какой самсунг и смотря с какой матерью Я приводил данные для винта HD642JJ и м/б на nForce430/GeForce6100. Сигейт ST3250410AS на этой же маме показывает аналогичные цифры. Сегодня попробую в других комбинациях.
P.S. А про мое предложение все-таки подумайте. Предположим, провели мы скан огроменного винта (без восстановления), нашли ближе к концу ошибки и захотели попробовать исправить... Запускать все с самого начала?

76. Memphis, 10.06.2009 10:11
Vovamba
Предположим, провели мы скан огроменного винта (без восстановления), нашли ближе к концу ошибки и захотели попробовать исправить... - я так не делаю. Я сразу запускаю скан с лечением. Зачем 2 раза гнать его. Ведь лечение безболезненно. Да и все равно сбойные сектора лечить будете - не с первой, так со второй+ попыток. Т.е. не вижу смысла сначала глазеть на сбойные, а потом их лечить. Тем паче, лечение касается исключительно больных и не влияет на здоровые.

77. Ksander, 10.06.2009 14:21
Memphis
Запустил последний билд (сигейт, i965) -- ничего не произошло, черный экран. По идее, должно хоть на немного, но зависнуть, а тут ничего. Придется с адресами экспериментировать.

78. Memphis, 10.06.2009 15:12
Ksander
1. запуск из чистого ДОСа/командной строки (дискета/флэш/оптопривод/хард_ФАТxx) ?
2. если так, должен кратковременно моргнуть LED-индикатор активности харда (или гореть постоянно при зависоне).
3. если адрес не угадали, опять на экране будет приглашение ДОС в командной строке без всяких сообщений на экране.
4. зависон может быть - я специально жду готовности харда до бесконечности. Максимум, что может позволить хард - это 20...30 секунд, когда пластины раскручивает при включении/пробуждении. Все, что больше этого - чисто его вина. А раз так - дальше продолжать с ним не интересно.
5. может AHCI включен. Нужен ИДЕ.

79. Ksander, 10.06.2009 16:55
Memphis
Ага, с флешки, ahci/raid-а нету. Помогло перебирание адресов (E080). Винт определился полностью правильно, и даже скорость вращения показал верную Сигейта зовут ST3250624AS, мамка i965/ICH9 (ASUS P5B).

Будем пользоваться, что ли...

А почему автоматически не хочет искать винт? Лампочка активности не загорается.

80. Memphis, 10.06.2009 17:36
Ksander
Автоматом ищет/перебирает только на стандартных ИДЕ-адресах - 1F0h & 170h. А ваш адрес (Е080) нативный.

81. Ksander, 10.06.2009 17:44
Memphis
А, понятно. Ну, для домашнего применения оно самое то, а вот в сисидминской работе не очень удобно... Сильно ли усложнит программу поиск по всем возможным адресам? Или это чревато?

82. Memphis, 10.06.2009 17:55
Ksander
В принципе, не очень. Не ставил такую цель. Да и для ответственной/сисадминской работы нужны проги посолидней/покруче/от_вендора/сертифицированные. А это - действительно для дома.

83. Vovamba, 15.06.2009 09:55
Провел небольшое тестирование программы при измерении скорости вращения шпинделя на разных машинах, программа запускалась по 10 раз для усреднения результатов, вот что получилось.
MB: nForce3 250, HDD: WDC WD2000JB-00REA0 
1.- 7.210,19 6.- 7.210,18
2.– 7.210,18 7.- 7.210,19
3.– 5.931,32 8.- 7.210,19
4.- 7.210,18 9.- 6.206,55
5.- 7.210,19 10.- 6.065,81

MB: Asus P5V-VM Ultra (VIA P4M890/VT8237A), HDD: Hitachi HDS721616PLA380
1.- 7.011,92 6.- 7.011,92
2.– 7.011,92 7.- 7.011,91
3.– 7.200,65 8.- 6.500,74
4.- 7.011,91 9.- 6.832,82
5.- 6.346,52 10.- 6.662,65

MB: Asus M3A78-EH (AMD 780G/SB700), HDD: Seagate ST3250410AS
1.- 7.031,42 6.- 7.221,23
2.– 7.221,21 7.- 6.851,32
3.– 6.851,34 8.- 6.851,32
4.- 7.221,22 9.- 7.031,40
5.- 6.680,23 10.- 7.221,23

MB: Gigabyte GA-G31M-S2L (Intel G31/ICH7), HDD: Seagate ST3160815AS
1.- 7.203,32 6.- 7.203,32
2.– 7.203,31 7.- 7.203,31
3.– 7.203,32 8.- 7.203,31
4.- 7.203,34 9.- 7.203,31
5.- 7.203,33 10.- 7.203,32
MB: MSI MS-7267 (i945GC/ICH7), HDD: WDC WD1600AAJS-55PSA0
На этой системе программа не запустилась (зависала при запуске).
За это сообщение сказали спасибо: Memphis

84. Memphis, 15.06.2009 12:52
Vovamba
Спасибо за измерения. Буду шлифовать алгоритм измерения РПМ с учетом ваших данных. Ибо у меня кажет, как в вашем последнем примере - (7.203,32) на моих Хитачи - все цифры стабильны.

85. Memphis, 29.06.2009 12:04
http://filekeeper.org/download/shared/BadLBA_7.rar - выложил новый релиз прожки. Дополнения:
1. добавился новый атрибут СМАРТа - С4 Счетчик событий ремапов
2. отображение в МБ емкости от вендора в довес к текущей
3. новый алгоритм вычисления РПМ. Значения свыше 10.600 RPM не отображаются (если к примеру намерить из кэша)
4. косметика.

86. Табу, 17.07.2009 11:52
Простите за может быть банальный вопрос, но может расскажете точный алгоритм действий для удаления Пендингов.
Или минифак кратенький напишите

Моя печально-счастливая история:
[FAQ] Обсуждение винчестеров Western Digital, #5161 (http://forum.ixbt.com/topic.cgi?id=11:33538:5161#5161)
[FAQ] Обсуждение винчестеров Western Digital, #5204 (http://forum.ixbt.com/topic.cgi?id=11:33538:5204#5204)

Осталось 9 пендингов, не могу удалить.
Стирание Викторией и МНДД не помогает (то есть 64 пендинга исчезли, а 9 остались и никаких проблемных секторов не находит)
Инфы на винте полезной нет.

87. Memphis, 17.07.2009 12:11
Табу
197 Current pending sectors 199 199 0 73 •••••
Проверка поверхности не выявила ни одной ошибки ВООБЩЕ!
- что-то делали неправильно. Пендинги - гарантированно нечитаемые сектора. И тест обязан их найти.

Cделал стирание в MHDD командой ERASE.
197 Current pending sectors 200 199 0 9 •••••
- да, осталось 9, хотя не должно быть ни одного.

а 9 остались и никаких проблемных секторов не находит) - 9 есть и они уже проблемные. Обязаны найтись. Пробуйте BadLBA.

Если у вас теперь их действительно 9, сделайте так:
1. запустите BadLBA в режиме лечения - BadLba /32 xxxxm - адрес сами укажите, надеюсь это мастер (для САТА)

2. он найдет все пендинги и попробует отлечить. Будете видеть результат - успешно или нет. Если неуспешно - вместо 32 укажите в командной строке число побольше (к примеру, 64 или больше. Макс.=255). Затем опять скан и результат - отлечились или нет. Если нет - тогда к ремонтникам или сдать по гарантии, ибо не хочет ремапить сектора. Или искать спецпроги от вендора, чтобы заремапить.

3. если на шаге 2 все отлечатся, запускаем прогу еще раз, в режиме лечения и сканим повторно. Если же теперь пендинги обнаружатся - хард в гарантийку, он неисправен и сам плодит пендинги, которые невозможно вывести. У ВД я знаю уже несколько таких случаев, когда пендинги ничем не лечились.

88. Tomset, 17.07.2009 12:25
Табу
В принципе можете не обращать внимания,
При ремонте всех HDD семейства "торнадо" (на заводе они им дают всякие красивые имена)
Постояно наблюдается не соответствие между показаниями смарта и реальным количеством записей в логах и листах дефектов.
Возможно это можно списать на баги в фирмвари HDD. Или какие-то оригинальные задумки разработчиков.
Принудительный сброс Смарта, логов и G-листа технологической утилитой, к желаемому эфекту не приводит.
При полностью нулевых - СМарт все равно зашкаливает.
Но пересчет транслятора приводит все в соответствие.
Без технологической утилиты (типа PC-3000 UDMA) ничего не сделаете.

89. Memphis, 17.07.2009 12:29
Tomset
Я предполагаю, что пендинги физически есть. А если СМАРТ/фирмварь брешет - тогда конечно, ничего не сделаешь. С другой стороны, если Виндоза успешно ставится, все хорошо работает, проблем с поверхностью нет - фиг тогда на СМАРТ.

90. Табу, 17.07.2009 13:01
Щас поищу флопик и попробую сделать, как мне посоветовали.
Только 2 вопроса:
1. давно не юзал ДОС, хватит дискетки загрузочной созданной из ХП, ну и скопированного туда файлика?
2. Юзать лучше в режиме Сата с указание порта или в режиме совместимости Сата/Иде?

91. Memphis, 17.07.2009 15:02
Табу
1. Хрюшка вам не даст загрузочную дискету сделать. Надо найти машину, где стоит Win95/Win98 - и делать на ней. Тогда сможете загрузиться. Дискеты хватит по объему.

2. Пробуйте и так, и так. Главное адрес ввода/вывода угадать.

92. vlo, 17.07.2009 15:05
Memphis
Хрюшка вам не даст загрузочную дискету сделать.
как это? она делает загрузочный диск с dos7.1

93. Табу, 17.07.2009 15:39
ХРюшка дала
Адреса взял из драйвера (спасибо за пример)

Вобщем просканил.
НИЧЕГО не нашел.
Ни одной ошибки. стало быть попыток восстановления тож не было.

Чо делать?
Забить?
Я просто хотел ево продать

94. Memphis, 17.07.2009 15:41
vlo
1. я форматнул дискету Хрюшкой.
2. Закинул на нее системные файлы - IO.SYS MSDOS.SYS COMMAND.COM
3. Но загрузиться в ДОС с нее я не смогу - дискета заточена под NT-систему - см. вложение.
4. Мне ведь нужна одна загрузочная дискета для ДОСа, а не дюжина дискет для загрузки NTFS.

она делает загрузочный диск с dos7.1 - в смысле дискету ? Как ?

Добавление от 17.07.2009 15:42:

Табу
Тогда фирмварь отдает в СМАРТ неправильные данные. Раз так - к ремонтникам, смогут СМАРТ почистить.

К сообщению приложены файлы: 1.png, 655x657, 47Кb

95. Табу, 17.07.2009 15:47
Memphis
она делает загрузочный диск с dos7.1 - в смысле дискету ? Как ?
правой мышкой на флопике - форматировать - создать загрузочную дискету
(дословно не помню, флоп уже убрал в шкаф)

96. Memphis, 17.07.2009 15:51
Табу
Правильно. Я так и делал - см. скрин дискеты выше. Но она никогда не будет загрузочной - ибо заточена под НТФС.

Добавление от 17.07.2009 15:56:

Табу
Черт, действительно. Я не знал, что такая опция для дискеты существует. Получилось и у меня. Спасибо.

97. vlo, 17.07.2009 16:01
Memphis
1. я форматнул дискету Хрюшкой.
2. Закинул на нее системные файлы - IO.SYS MSDOS.SYS COMMAND.COM

а надо было поставить в гуевой форматилке галочку, и тогда бы туда записался готовый образ загружаемого dos7.1. где валяется сам образ не помню, вроде в недрах какой-то dll'ки.

3. Но загрузиться в ДОС с нее я не смогу - дискета заточена под NT-систему - см. вложение.
галочку поставь!

4. Мне ведь нужна одна загрузочная дискета для ДОСа, а не дюжина дискет для загрузки NTFS.
а вот средств для создания загружамой с флопов самой nt там как раз нифига и не приложено. их откуда-то качать надо.

Но она никогда не будет загрузочной - ибо заточена под НТФС.
там мсдос7.1. он ни малейшего понятия про нтфс не имеет.

98. Memphis, 17.07.2009 16:04
vlo
Ну не доходили глаза до этой строчки никогда.

99. mance, 21.07.2009 13:55
парни как запустить эту программу без участия винды?я первый раз с таким столкнулся...на дискету надо?а потом что?есть инструкция на эту тему?)

100. Memphis, 21.07.2009 16:22
mance
1. Под Виндой находите базу ввода/вывода для харда - записываете на бумагу (в гексе).
2. Создаете загрузочную ДОС-дискету, на нее переписываете прогу.
3. Загружаетесь в ДОС с дискеты, в командной строке набираете:

Badlba /32 xxxxm - запуск в режиме лечения, с базовым адресом xxxx, как мастер
Badlba xxxxm - запуск в режиме сканирования, с базовым адресом xxxx, как мастер

Тут главное знать правильный адрес ввода/вывода. Если угадали, увидите на экране основную инфу по харду. Если адрес не угадали, на экране будет приглашение командной строки - примерно так A:\>

101. Ksander, 29.03.2010 01:33
Хорошо бы прописать в программе реакцию на badlba /?... Справку вот потерял, пришлось искать.

102. real_root, 13.08.2010 15:50
Скажите пожалуйста, а скачивание программы дотупно из-за пределов России? Я пытаюсь скачать BadLba_7 (и все остальные тоже), но мне выдается Not Found. Если не трудно, то выложите на общедоступный обменник, такой как Narod

103. Antech, 13.08.2010 18:39
real_root
Файлы на обменниках через какое-то время удаляются...

Narod.ru - неприятный хостинг. Балуется картинками с циферками. А вечно хранить он все равно не будет.
RGHost (http://rghost.ru/2336807) Sderni (http://sderni.ru/14935)

104. sergey_klay, 05.02.2012 20:35
Antech
RGHost Sderni

Вот ваши рекомендация уж точно не попахивает вечными хранилищами
Не выложите арвчик со свежей версией программы?
Очень заинтересовало

105. Antech, 05.02.2012 20:45
sergey_klay
Все (или почти все) бесплатные хостинги со временем удаляют файлы. Прошли годы...
У меня сейчас нет этой программы, это программа Memphis. Так что сорри, не могу помочь. А Мемфиса я тут давно уже не видел.

106. Vovamba, 03.04.2012 15:29
Давно не заходил и не видел последних сообщений. Если кому-то ещё актуально, у меня в архиве вроде остались эти программы.

107. Spruts80, 22.07.2012 20:00
Vovamba
залёй на обменник пожалуйста

108. Mickey, 23.07.2012 13:34

109. Spruts80, 23.07.2012 17:53
Mickey Спасибо большое.

110. mastergx, 15.09.2012 11:12
Тут главное знать правильный адрес ввода/вывода. Если угадали, увидите на экране основную инфу по харду.

Через переходник SATA- IDE - всегда один адрес ввода/вывода

Добавление от 15.09.2012 21:03:

цитата:
Mickey:
ftp://andymickey.dyndns.org/badlba.ima.gz

Из чтения форума сделал вывод что это не последняя версия. А можно пожалуйста последнюю!

111. Mickey, 16.09.2012 15:12
mastergx
Увы, это все что есть, напишите Memphis в личку.

112. mastergx, 18.09.2012 10:44
цитата:
Mickey:
mastergx
Увы, это все что есть, напишите Memphis в личку.
Написал. А может кого то еще осталось?
Ну очень нужно!
Извиняюсь за флуд.

113. mastergx, 22.09.2012 01:18
Плохо что не сохраняет в файл результаты работы

114. Memphis, 22.10.2012 17:22
Последняя версия "BadLBA":

Для доступа к программе необходимо:
1) скачать рисунок-архив "1.png"
2) из WinRar / 7-Zip сделать мышой 2 щелчка по этому рисунку
3) распаковать архив.

К сообщению приложены файлы: 1.png, 800x600, 9Кb

115. mastergx, 25.10.2012 12:36
Материал есть- буду пробовать!

116. mastergx, 27.10.2012 17:04
После лечения Samsung HD322HJ с параметром /128, сканирование в Виктории (с режимом линейного чтения + дефектоском) показало отсутствие 4 шт секторов с доступом 1,5 сек и одной ошибки с Timeout.

117. mastergx, 31.10.2012 01:58
А вот в ноутбучном WD250BEVS- 22USTO Scorpio - фокус не получился- не было обнаружено кривых секторов.
А дефектоскоп Виктории их обнаруживает-....но увы не точно!
Требуется какой то инструмент для изменения чувствительности обнаружения.
Наверное этот инструмент должен в милисекундах отображаться и изменяться хотя бы вручную!

118. Memphis, 01.11.2012 12:36
mastergx
Требуется какой то инструмент для изменения чувствительности обнаружения - если сектор успешно читается, возможно и не с первой попытки, то лучший инструмент - чтение сектора в ОЗУ и затем запись на хард.
За это сообщение сказали спасибо: mastergx

119. mastergx, 06.11.2012 00:45
WD3200AAJS-55RYA0- в нем Ваша утилита помогла оперативно обнаружить дефекты в середине и конце.
Жаль что не все- их было в сотню раз больше, но оперативность обнаружения ГЛАВНОЕ.

Добавление от 06.11.2012 00:58:

Memphis
чтение сектора в ОЗУ и затем запись на хард.
Извиняюсь- не совсем понял Вашу мысль, но догадываюсь о потере магнитных свойств доменов- которым помогает
LOW LEVEL FORMAT хотябы раз в пять лет, как в случае с WD3200AAJS. Кстати Виктория ошибок на нем не увидела,
а ОС упорно не ставилась

Кстати LLF выпадал с ошибкой и в фирменной утилите от WD и в ВДМарвел- из за ошибок на винте
расположение которых локализовала Ваша программа

120. Memphis, 08.11.2012 13:20
mastergx
Жаль что не все- их было в сотню раз больше - обнаруживает только пендинги, т.е. Soft-нечитаемые сектора.

но догадываюсь о потере магнитных свойств доменов- которым помогает
LOW LEVEL FORMAT хотябы раз в пять лет
- LLF уничтожит всю инфу на харде. Я предлагал другой вариант: те участки харда, на которых есть задержки чтения по времени, физически перезаписать, т.е. чтение секторов в память и затем запись в эти-же сектора.

Кстати Виктория ошибок на нем не увидела - если запускалась после моей утилиты, то видеть не должна.

121. KiLex, 12.05.2013 05:08
Всем доброго времени. Такая ситуация: Попал ко мне винт 60Gb Maxtor. Этот винт работал у других людей и возможно подвергался избиениям (По неосторожности и совсем чуть-чуть). Винда постоянно падала в бсод, в последнее время. При проверке Викой - винт подвисал конкретно, где-то на половине емкости: LBA~ 60XXXXXX-62XXXXXX (А при нажатии Ф5 - сразу). На какое-то время я про него забыл, и использовал как нагрузку для БП Пару дней назад попалась мне эта статейка.... Запустил BadLBA в режиме проверки: прога начала выдавать ошибки верификации секторов. Где-то сутки оно проверялось. Проверил смарт релокейты и пендинги улетели до 24хх примерно. Биос и проги начали ругаться на плохой смарт. Потом начал затирать Викой,(т.к. Bad LBA работал оч долго...) в режиме затирки по 256 сект на блок, потом опять на сутки поставил BadLBA в режиме лечения /64, потом опять Викой. После этого всего, пендинги и релокейты начали уменьшаться постепенно и на данный момент составляют: Пенд- 31 Релок- 3. Винт перестал подвисать. Однако возник вопрос: что это было вообще такое? Объясните пожалуйста, это были физические повреждения пластины/голов или это софт-бэды, и чего вообще ждать от винта....? Куда делись релокейты?
Проверил BadLBA два недавно купленных винта б/у. Пендингов 0, а релокейты: у одного 1 - второго - 10... Теретически, с еще не совсем убитым винтом могли проделать теже вещи, что и я с Макстором? И как реальные повреждения увидеть, если они были (и скрыты)?

122. SandKing, 16.12.2015 12:27
Можно повторить? Не могу скачать нигде.

PS Автор куда-то пропал, а жаль.

123. Дмитрий АСК, 17.12.2015 11:25

124. Vovamba, 06.02.2016 16:48
Если кому-то будет нужна эта утилитка, дубликат можно взять здесь (https://cloud.mail.ru/public/61MU/UaFqihyqp) .

125. kickman, 06.02.2016 18:29
Спокойно запускайте Викторию 4.46/4.47 и ставьте вручную Block Size =1 - покажет точно номера . И в лог занесёт. Даже исправить может . Ключевой момент - это размер блока. Так сам недавно сделал ERASE для диска из ноутбука - в Виктории с размером блока 1. Это после того, как весь диск был проверен уже - затёрт ровно 1 сектор. Винда снова стала запускаться .

За это сообщение сказали спасибо: vadyok

126. levindd, 19.03.2017 20:46
kickman
Block Size =1
как его выставить, я смог найти только 32 минимум
32.JPG на ixbt.photo:
318x255, 28.2Kb
(http://ixbt.photo/?id=photo:1176437)

127. kickman, 19.03.2017 20:59
levindd
Выставить вручную. Набрать цифрами с клавиатуры. Для дисков с AF нужно выставлять =8, а для обычных (физический сектор =512 байт) - размер блока =1. Возможно, картинки помогут.
На второй картинке, где 8 секторов, установлены параметры READ+ERASE, это вместо REMAP - ЗАТИРАНИЕ данных в сбойных секторах для восстановления или замещения сбойных секторов диска.
На третьей - проверка ЧТЕНИЕМ.

К сообщению приложены файлы: 1.png, 761x701, 24Кb, 2.png, 763x399, 16Кb, 3.png, 765x410, 17Кb

За это сообщение сказали спасибо: vadyok

128. levindd, 19.03.2017 21:06
kickman
понял, там ручками можно оказывается править



URL: http://forum.ixbt.com/topic.cgi?id=11:39299