Цитата
IgNat:
- причём здесь G-List HDD именно принял решение и переназначил данный сектор,
HDD - Как преобразовать нестабильный сектор в бэд-блок?
При том, что не всё так просто…
В данном случае речь идёт о таком скользком понятии, как soft-bad. Если посмотреть дискуссии на том же хоботе, то получается, что производители хардов не используют это понятие, --- оно изобретено пользоватеоями…
Но давайте с самого начала…
Когда записывается сектор, то заполняется не только поле DATA, но и что очень важно поля CRC и ECC…
Посмотрите кратко для хардов WDC
ТехнологияAdvanced Format
или здесь…
Технология NO-ID и увеличение плотности записи дисковых накопителей
Для каждого сектора с данными имеется поле ECC, предназначенное для коррекции ошибок. При записи данных сектора высчитывается значение ECC и помещается в это поле. Этим делом занимается сам хард (его микрокод) и контроллер на аппаратном уровне. При последующем чтении сектора считанные данные проверяются и верифицирутся с помощью ECC. Так называемые коды Рида - Соломона (или другие техники) позволяют на лету скорректировать несколько ошибочных байтов в секторе с данными.
Но иногда случается, что хард по каким-то причинам не записывает верное значение в поле ECC. Что-то ему помешало это правильно сделать --- случайные сбои от перегрева, питания, магнитные поля, пылинка, тряски, луны Юпитера не так в линию стали… А так ничего более серьёзного и нет… Но самостоятельно хард с этой проблемой (нестыковкой по ECC) не справится. Но если записать в этот сектор какие-либо данные, то в этот раз данные запишутся правильно и поле ECC будет правильным (предполагается, что иных ошибок нет…). --- Сектор вернётся в строй. Это справедливо и для больших и для малых секторов…
ЗЫ
В данном случае я хочу заострить внимание на моменте, когда поле ECC вне зависимости от конкретного места его нахождения вообще не записалось. Эту проблему сам хард решить не может…
Вот и ВСЁ.
Вот Вам напоследок цитата из статьи Сегея Казанского (разработчика Victoria…) ===>
Цитата:
Операционная система или BIOS не могут исправить логический дефект самостоятельно, так как прежде чем писать в сектор, они проверяют его на целостность, нарываются на ошибку и отказываются писать. При этом контроллер винта эту ошибку скорректировать тоже не может: он тщетно пытается прочитать этот сектор со второй, с третьей попытки, и когда это не получается - он всеми силами пытается себе помочь, на ходу подстраивая канал чтения и сервосистему.