Програмный ремонт жёстких дисков HDD (Програмный (и не только) ремонт классических жёстких дисков HDD /Seagate /Samsung /IBM /Hitachi /HGST /Western Digital)

FAQ, мануалы, полезные ссылки
Аватара пользователя
led178
Advanced Member
Сообщения: 2420
Зарегистрирован: 26.09.2018,10:59
Откуда: Россия
Поблагодарили: 3 раза

Вклад в сообщество

Програмный ремонт жёстких дисков HDD (Програмный (и не только) ремонт классических жёстких дисков HDD /Seagate /Samsung

Сообщение led178 » 06.09.2023,18:54

В общем MHDD при задаче ремапа ST351A/X действительно только ставит пометку (флаг).
Этот флаг видят и HDDSCAN (uncorrectable ecc or crc до и bad sector flag detected после) и checkit (marked when formatted).
Но при этом все, включая format (trying to recover allocation unit) и scandisk в эти сектора лезут с кучей попыток.
Причём у format даже опция есть "/C Test clusters that are currently marked "bad."
Но она походу работает только если кластер помечен как плохой в FAT.
Вопрос - нахрена? Какие программы действительно учитывали этот флаг?

Аватара пользователя
led178
Advanced Member
Сообщения: 2420
Зарегистрирован: 26.09.2018,10:59
Откуда: Россия
Поблагодарили: 3 раза

Вклад в сообщество

Програмный ремонт жёстких дисков HDD (Програмный (и не только) ремонт классических жёстких дисков HDD /Seagate /Samsung

Сообщение led178 » 06.09.2023,21:53

А как винты ALPS были? Гуано али нет?
Попался DR311C901A на сотню мегабайт.

i8088
Advanced Member
Сообщения: 4864
Зарегистрирован: 30.01.2015,17:06
Откуда: г. Баку, Азербайджан
Поблагодарили: 48 раз

Конкурсы

Вклад в сообщество

Програмный ремонт жёстких дисков HDD (Програмный (и не только) ремонт классических жёстких дисков HDD /Seagate /Samsung

Сообщение i8088 » 08.09.2023,19:21

led178 писал(а): 06.09.2023,15:05 Блин, обнаружил дырку в знаниях.

1. Как устроена работа с дефектами у MFM?
При форматировании или вручную сектор помечается как дефектный, далее format при проверке считывает эту метку и помечает в fat, верно?
Но при этом пытается перепроверить все помеченные сектора и снести метку? Или нет?
Нет - это широко известное заблуждение:)
У MFM и ранних ATA дисков обычно есть варианты.
Вот описание Format Track из раннего ATA стандарта, bad-ы видны только при коде 80h

Код: Выделить всё

9.8 Format track

The implementation of the Format Track command is vendor specific.  The
actions may be a physical reformatting of a track, initializing the data field
contents to some value, or doing nothing.

The Sector Count Register contains the number of sectors per track.

The track address is specified in the Cylinder High and Cylinder Low
Registers, and the number of sectors is specified in the Sector Count
Register.  When the command is accepted, the drive sets the DRQ bit and waits
for the host to fill the sector buffer.  When the sector buffer is full, the
drive clears DRQ, sets BSY and begins command execution.

The contents of the sector buffer shall not be written to the media, and may
be either ignored or interpreted as follows: 
+=============-=============-=============-==========================+
|DD15 ---- DD0|             |DD15 ---- DD0|                          |
|-------------|             |-------------+--------------------------|
| First sector|             | Last sector |  Remainder of buffer     |
| descriptor  | : : : : : : | descriptor  |  filled with zeros       |
+====================================================================+


One 16-bit word represents each sector, the words being contiguous from the
start of a sector.  Any words remaining in the buffer after the representation
of the last sector are filled with zeros.  DD15-8 contain the sector number. 
If an interleave is specified, the words appear in the same sequence as they
appear on the track.  DD7-0 contain a descriptor value defined as follows: 
    00h - Format sector as good;
    20h - Unassign the alternate location for this sector;
    40h - Assign this sector to an alternate location;
    80h - Format sector as bad.

    NOTES 
    9 - Some users of the ATA drive expect the operating system partition table to
    be erased on a Format command.  It is recommended that a drive which does not
    perform a physical format of the track, write a data pattern of all zeros to the
    sectors which have been specified by the Format Track command.
    10 - It is recommended that implementors resassign data blocks which show
    repeated errors.
MFM обычно так и работали, но все зависит от конкретного контроллера. Можете
посмотреть pdf по древним WD, cойдет и 8-битный, на 16-битные я не нашел.
Я писал собственную утилиту форматирования mfmformat для FreeBSD в ~2016 с
обычным 16-bit WD контроллером, все работало и дефекты успешно скрывались - я
сам удивился:) Но это делается только при форматировании, ни о каком remap-е
на ходу речь не идет. Довольно увлекательны были и эксперименты с interleaving
factor, там тоже не все так просто.

PS. Там вообще есть загадки, сейчас уже детали подзабылись. Но помню, что пока резерва хватало, фактически смещалась физическая адресация и диск отдавал
полную емкость. Но опять-таки, все может зависеть от конкретного контроллера,
тк диск сам по себе ничего не делает. Я экспериментировал с типовым 16-bit WD.

Аватара пользователя
led178
Advanced Member
Сообщения: 2420
Зарегистрирован: 26.09.2018,10:59
Откуда: Россия
Поблагодарили: 3 раза

Вклад в сообщество

Програмный ремонт жёстких дисков HDD (Програмный (и не только) ремонт классических жёстких дисков HDD /Seagate /Samsung

Сообщение led178 » 08.09.2023,22:01

i8088, я совсем запутался.
Т.е. есть два варианта форматирования -
через прерывание INT 13h, 05h и 06h (Format Track и Format Track Set Bad Sector Flags),
и через PIO 50h?
Я правда не программист и не фига не понимаю :)

Dinozavr
Advanced Member
Сообщения: 633
Зарегистрирован: 29.12.2018,04:53
Благодарил (а): 1 раз
Поблагодарили: 4 раза

Програмный ремонт жёстких дисков HDD (Програмный (и не только) ремонт классических жёстких дисков HDD /Seagate /Samsung

Сообщение Dinozavr » 09.09.2023,03:25

led178 писал(а): 08.09.2023,22:01 Я правда не программист и не фига не понимаю
~"Программы можешь не писать,
Но в общем понимать обязан."

i8088
Advanced Member
Сообщения: 4864
Зарегистрирован: 30.01.2015,17:06
Откуда: г. Баку, Азербайджан
Поблагодарили: 48 раз

Конкурсы

Вклад в сообщество

Програмный ремонт жёстких дисков HDD (Програмный (и не только) ремонт классических жёстких дисков HDD /Seagate /Samsung

Сообщение i8088 » 09.09.2023,09:18

led178, int13h - это интерфейс BIOS, для работы с HDD/FDD. Грубо говоря,
программы-оболочки, изолирующие программиста от тонкостей физической
реализации устройств.

Команда же ATA_FORMAT_TRACK (0x50) - это команда непосредственно ATA устройства,
доставшаяся по наследству от MFM.

Аватара пользователя
led178
Advanced Member
Сообщения: 2420
Зарегистрирован: 26.09.2018,10:59
Откуда: Россия
Поблагодарили: 3 раза

Вклад в сообщество

Програмный ремонт жёстких дисков HDD (Програмный (и не только) ремонт классических жёстких дисков HDD /Seagate /Samsung

Сообщение led178 » 09.09.2023,09:43

i8088, т.е. int 13h, 06h (Format Track Set Bad Sector Flags) работает через ATA_FORMAT_TRACK 50h, 80h (Format sector as bad)?

А в теории может работать и через 50h, 40h (Assign this sector to an alternate location)? Может есть DOS программы кто точно может работать с MFM через 50h, 40h?

i8088
Advanced Member
Сообщения: 4864
Зарегистрирован: 30.01.2015,17:06
Откуда: г. Баку, Азербайджан
Поблагодарили: 48 раз

Конкурсы

Вклад в сообщество

Програмный ремонт жёстких дисков HDD (Програмный (и не только) ремонт классических жёстких дисков HDD /Seagate /Samsung

Сообщение i8088 » 09.09.2023,09:53

led178 писал(а): 09.09.2023,09:43 i8088, т.е. int 13h, 06h (Format Track Set Bad Sector Flags) работает через ATA_FORMAT_TRACK 50h, 80h (Format sector as bad)?

А в теории может работать и через 50h, 40h (Assign this sector to an alternate location)? Может есть DOS программы кто точно может работать с MFM через 50h, 40h?
Можно конечно, но нюансы работы разных реализаций int13h-format_track (и DOS утилит для
форматирования) я не сравнивал. Но при форматировании MFM диска через BIOS, как правило дается
возможность маркировать как BAD только весь track целиком. Причем никаких bad-ов после этого
пользователю не видно. В принципе, int13h с обычной функцией 05h использует ту же структуру для
форматирования трека, так что особых проблем с реализацией я не вижу.

Аватара пользователя
led178
Advanced Member
Сообщения: 2420
Зарегистрирован: 26.09.2018,10:59
Откуда: Россия
Поблагодарили: 3 раза

Вклад в сообщество

Програмный ремонт жёстких дисков HDD (Програмный (и не только) ремонт классических жёстких дисков HDD /Seagate /Samsung

Сообщение led178 » 09.09.2023,10:32

Я знаю что MFM диск "привязан" к своему контроллеру и по сути это магнитофон. Получается что есть контроллеры, которые не умеют пропускать плохие сектора/треки, они помечают их флагом (иногда совсем своим) и потом при чтении отдают BBK (0Ah).
Но при этом есть контроллеры, которые умеют гораздо больше. А не встречал ли ты списка этих интересных контроллеров, и не знаешь ли ты как их отличить на вид?
i8088 писал(а): 09.09.2023,09:53 Но при форматировании MFM диска через BIOS, как правило дается возможность маркировать как BAD только весь track целиком. Причем никаких bad-ов после этого пользователю не видно.
У меня ISA16 Everex EV-332, огромный такой. Дефекты просто отмечаются флагом и выдают BBK.

PS: Вот я думаю - получается что на дорожке еще остаётся место, и можно отформатировать не 17, а 18 секторов?
PPS: Ааа, скрывается (переносится) весь трек. Тогда я вообще не понимаю как это без транслятора работает.
PPPS: А может ты знаешь какие-нибудь справочники годов 85..90. Мой возбуждённый мозг хочет учиться :E

Аватара пользователя
led178
Advanced Member
Сообщения: 2420
Зарегистрирован: 26.09.2018,10:59
Откуда: Россия
Поблагодарили: 3 раза

Вклад в сообщество

Програмный ремонт жёстких дисков HDD (Програмный (и не только) ремонт классических жёстких дисков HDD /Seagate /Samsung

Сообщение led178 » 09.09.2023,22:51

О какую красоту нашёл
http://bitsavers.trailing-edge.com/pdf/ ... e_1988.pdf
Там много красивого :)

geg
Advanced Member
Сообщения: 12303
Зарегистрирован: 21.11.2010,12:04
Поблагодарили: 3 раза

Програмный ремонт жёстких дисков HDD (Програмный (и не только) ремонт классических жёстких дисков HDD /Seagate /Samsung

Сообщение geg » 09.09.2023,23:31

Офтопик
led178 писал(а): 09.09.2023,22:51 Там много красивого
а сейчас квантум делает бошки для стримаков hp (и скорее всего стримаки hp полностью его рук дело), и они дохнут! :)

Ответить