Последние темы Поиск
Новые форумы
Общие форумы
Форумы поддержки портала iXBT.com
Специализированные форумы
ПроцессорыРазгон и охлаждениеСистемные платыМодули памятиВидеосистемаКриптовалюты, майнинг, blockchain-технологии, NFTИскусственный интеллект: технологии, практика, развитиеTV- и FM-тюнеры, видеовход, видеовыходЦифровое видео: захват, монтаж, обработкаМониторы и другие устройства отображенияЦифровое фотоБеспилотные летательные аппаратыЦифровой звукProAudio: Профессиональное звуковое оборудованиеСтереосистемыДомашний кинотеатр: проигрыватели и источники сигналаДомашний кинотеатр: аудиосистемаДомашний кинотеатр: ТV и проекторыМагнитные и SSD накопителиОптические носители информацииСетевые носители информацииПериферияКорпуса, блоки питания, UPSСети, сетевые технологии, подключение к интернетуСистемное администрирование, безопасностьСерверыНоутбуки, нетбуки и ультрабукиПланшеты и электронные книгиМобильные телефоны, смартфоны, кпк, коммуникаторыМобильные гаджетыОператоры и технологии мобильной связиТелефония, телекоммуникации, офисные АТСБытовая техника
Программы
Игры
Авторские форумы
Прочие форумы
Архивы конференции
Архив "О Конференции"Архив "Процессоры"Архив "Разгон и охлаждение"Архив "Системные платы"Архив "Модули памяти"Архив "Видеосистема"Архив "Видеозахват"Архив "Мониторы и другие устройства отображения"Архив "Цифровое изображение"Архив "Цифровой звук"Архив "Периферия"Архив "Корпуса, блоки питания, UPS"Архив "Коммуникации: сети и сетевые технологии"Домашний интернет, модемы (архив)Архив "Системное администрирование, безопасность"Архив "Мобильная связь"Программы Microsoft: Windows, Office, Server, Windows LiveАрхив "OС и системное ПО"Архив "Программы: Интернет"Архив "Программирование"Форум прикладных программистовАрхив "Электронные устройства и компоненты"Архив "Околокомпьютерный Флейм & Общий"Архив "Полемика (Злобный Флейм)"Околоавтомобильный ФлеймФорум ремонтниковВопросы компании IntelФотокамеры SamsungФорум о магазине приложений RuStoreФорум по продукции компании Huawei
Справка и сервисы
Другие проекты iXBT.com
NektoYa: Ошибка Отложенной Записи (Delayed Write Failed) (Общая тема)
NektoYa
unregistered
Автор темы
Ответить
N
NektoYa unregisteredАвтор темы
  15 лет назад / 28 декабря 2009 20:46
Все чаще и чаще встречаюсь с этим недугом, везде собираешь информацию по крупицам, потому решил написать общий FAQ на эту тему. Просьба добавить в путеводитель, иначе так никогда не размеремся что такое, с чем есть и как лечить.

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

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

Сначала как оно возникает. Во время записи информации, винды кешируют все операции, ДАЖЕ при отключенном кешировании в настройках диска. Т.е. берем некий фаил и качаем с одного диска на другой. Копирование не одна,а две операции, сначала чтение в память, потом уже запись куда положено. Фаил сидит в памяти, ДАЖЕ после успешного окончания записи. По современным стандартам там может висеть до гигабайта закешированных фаилов (На ХР, на висте не знаю), на случай если вам или программе вдруг срочно потребуется к ним ещё раз обратиться.

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

Как можно потерять важную информацию:
При переносе фаила выполняется сначала копирование, а потом в случае успеха оригинальный фаил удаляется. это ОЧЕНЬ ВАЖНО, можно потерять важную информацию. Криворукие индусы сделали так что винды рапортуют о удачной записи фаила системе (чтобы не потерять производительность) ещё до того как он физически оказался записан, и система удаляет оригинал. Все наш фаил висит в памяти, а на целевом диске его ещё нет потому что возникла какая-то ошибка записи. Через какое-то время начнет выскакивать назойливый восклицательный знак в желтом треугольнике, с указанием какой фаил висит в памяти. Он будет появляться до тех пор пока мы его не запишем куда-нибудь физически. При этом ВАЖНО в проводнике и всех фаиловых менеджерах, а так же любых других программах, фаил будет читаться совершенно нормально, создавая полное ощущение что на восклицательный знак можно не обращать внимания - вот же он лежит там куда я его качал и читается. Подумаешь что мне там в этой подсказке пишут... Если в этот момент систему перегрузить, то при чтении того же самого фаила, который только что вы своими глазами убеждались лежит на месте и содержит всю полезную информацию, выясниться что его содержимое состоит из нулей, или ещё в худшем случае, случайного мусора оставшегося после ранее удаленых других фаилов. ВЫ ФАИЛ ПОТЕРЯЛИ !

Объяснение этому простое. Пока фаил физически не записан куда ему положенно, при обращении к нему, система берет его из памяти, и возникает впечатление что с ним все в порядке. А мусор которым будет набит фаил впоследствии остается потому что при удалении стирается только запись о том что там когда-то фаил был, а сама информация там так и остается лежать. Собственно поэтому можно и восстановить удаленные фаилы. А когда происходит запись нового фаила, сначала создается такая же запись о том, где он будет расположен, а потом уже заполняется содержимое. И вот если ошибка возникла между последними двумя событиями, фаил внешне будет выглядеть впорядке, дата, время название все как надо, но при просмотре содержимого выясниться что он или целиком состоит из мусора, или где-то ближе к его концу.
Мало того, разработчики вдвойне криворуки, кэш фаилов один на всех, поэтому если он забьется большим количеством таких незаписанных фаилов, то все остальные программы начинают тормозить - не могут обратиться к винту, ждут своей очереди, ДАЖЕ если они обращаются к физически другому накопителю.

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


Теперь Почему возникает ошибка.
До недавнего времени я думал что причиной может служить только физический сбой винчестера. Т.е потеря питания/недостаточное питание/удар в момент работы/отключение внешнего накопителя/внутренние ошибки (плохие сектора)/перегрев.
Я был неправ.

Первая по популярности это естественно отключение в процессе записи. Когда на флешку скидывается много информации а она сама по себе медленная, надо выждать пару секунд, или воспользоваться "безопасное удаление устройства". Иначе часть информации так и останется висеть в памяти и вылетит ошибка.

Вторая - перегрев. Современные печки - процессоры и видеоускорители способны устроить в блоке питания такую африку что не выдержит ни один накопитель. Проверить просто - любая программа показывающая температуру, тот же everest.

Третья - брак диска. Или если время его уже подошло к концу, или если в процессе транспортировки стукнули (а продавцы очень любят по этому пункту отказывать в обмене). Во время записи фаила головка натыкается на бракованный участок диска и тоже совершает безуспешные попытки закончить начатое "а вдруг получиться".
Ещё вариант - при записи кучи мелких фаилов, или переносе/копировании фаила в пределах одного физического диска (например разные логические диски), головка носится между двумя разными частями диска с огромной скоростью. процесс механический и сопровождается хоть и мизерным но трением (в зависимости от того как производители эту проблему решили), в результате нагрев, металл меняет свою толщину, перестает попадать на дорожки. При этом все показания температуры могут быть в пределах нормы, потому что перегрелась маленькая часть устройства, а не все оно целиком. Отличить достаточно просто - винт не будет ни читаться, ни записываться, может быть даже не определяться до тех пор пока не остынет (от пары часов до дня). Так у меня работает внешний Seagate Freeagent 1.5tb.
Так же можно испортить винт из-за прецессии - начать вращать в руках, когда диск внутри ещё крутиться, но тогда скорее всего расцарапается и превратиться в плохие сектора

Четвертая причина.
Похоже что история с ошибкой 2000, когда операционные системы и материнские платы были неспособны обрабатывать такую дату повторилась теперь с винтами. Фаиловая система NTFS просто не расчитана на такие огромные объемы винчестеров, в результате одна таблица распределения фаилов должна у двухтеррабайтника занимать 2 гига памяти.

Микрософт эту догадку подтверждает
http://support.microsoft.com/kb/330174
# Большие дисковые тома NTFS и несколько больших томов (жесткие диски размером 60-100 ГБ, размещенные на RAID-массивах)

Фактически:

Купил hitachi на 2ТБ - HDS722020ALA работает все нормально, никаких нареканий.
Но сегодня весь день бился с ним, постоянно вылетала ошибка. Причем что очень странно, во время ошибки диск продолжал читаться, вся записанная информация цела, и можно смотреть с него видео, но записать ничего не получается. Похоже что системе банально не хватает памяти с таким огромным диском работать...
Но уверенности у меня пока нет, потому что диск во внешнем корпусе работать отказался, определялся и не форматировался. И при попытке его открыть winhex в прямом режиме начинают выскакивать ошибки чтения секторов.

Копаю дальше, чужое мнение всегда будет полезно (хотя я сомневаюсь кто-то пробовал двухтеррабайтники ставить, они совсем недавно появились)
NektoYa
unregistered
Автор темы
Ответить
N
NektoYa unregisteredАвтор темы
15 лет назад / 30 декабря 2009 04:35
После нескольких часов поисков я нашел причину злоклятой ошибки.
Вначале выяснилось что ни одна утилина не в состоянии залезть дальше 2-х миллиардного сектора на диске, будь то редактор диска или утилита для разметки.
Потом удалил один большой раздел и попытался сделать два по 1тб. Первый создается на отлично, второй вылетает ошибка при форматировании.

Причина оказалась проста. Драйвер контроллера диска устарел, и не поддерживал адресацию свыше 1тб. Достаточно было просто его обновить, для меня это решилось скачиванием свежей версии nforce от нвидии (т.к. контроллер в материнке такой).
После установки все отформатировалось как надо, все утилиты для работы с диском перестали выдавать ошибки.

Таким образом четвертая причина ошибки - устаревшие драйвера контроллера, не поддерживающие адресацию свыше 1тб, а решение - их обновить.
Ильясла
Advanced Member
2575/11939 ответов
25 лет на iXBT, с февраля 2000
47 фото на iXBT.photo
Чаще пишет в "Сети" (36%)
Инфо Ответить
И
Ильясла Advanced Member
15 лет назад / 30 декабря 2009 06:12
NektoYa
Так у меня работает внешний Seagate Freeagent 1.5tb.
Насчет трения головки не совсем правильно. Трения головки о поверхность в процессе обычной работы нет, т.к. между головкой и поверхностью диска при работе имеется микроскопический воздушный зазор. А с указанным Seagate скорее всего проблема кроется в перегреве микросхемы привода блока головок. Это вообще распространенная проблема на винчестерах (правда микросхемы обычно работают до "конца", т.е. пока не сгорят от перегрева) и принудительный обдув платы контроллера обычно её решает. И, кстати, эти микросхемы чуствительны к перепадам питающего напряжения 12В. Хотя, может, у Seagate перегревается микросхема контроллера (а не привода).

для меня это решилось скачиванием свежей версии nforce от нвидии
Старый драйвер тоже был от nVidia или несколько штук "Стандартный двухканальный контроллер PCI IDE"?

Контроллеры могут и меньше планку "ограничения" иметь. Как например, ещё (сравнительно) не старые драйвера Silicon Images.
nazyura
Data Recovery Expert
5468/5484 ответов
16 лет на iXBT, с июля 2008
Чаще пишет в "Накопители" (99%)
Web-страница
Инфо Ответить
nazyura Data Recovery Expert
15 лет назад / 30 декабря 2009 10:56
NektoYa
...в результате нагрев, металл меняет свою толщину,
...перестает попадать на дорожки.
...потому что перегрелась маленькая часть устройства, а не все оно целиком.



...Таким образом четвертая причина ошибки
Это и была основная ошибка, а все остальное - ее последствия.
Дмитрий Александров
Member
79/959 ответов
16 лет на iXBT, с декабря 2008
512 фото на iXBT.photo
Чаще пишет в "Цифр.звук" (50%)
Россия, Псков
Web-страница
Инфо Ответить
Д
Дмитрий Александров Member
15 лет назад / 21 января 2010 19:38
NektoYa:
Таким образом четвертая причина ошибки - устаревшие драйвера контроллера, не поддерживающие адресацию свыше 1тб, а решение - их обновить.
Вот так всегда. Напишут целую философскую статью, обольют помоями Гейтса и его программистов, а потом выясняется, что Вася-сборщик болт не до конца закрутил...
Antech
Advanced Member
9412/13802 ответов
22 года на iXBT, с ноября 2002
Чаще пишет в "Накопители" (72%)
Россия, Solar System
Web-страница
Инфо Ответить
A
Antech Advanced Member
15 лет назад / 21 января 2010 22:24
NektoYa
Извиняюсь, но в Ваших причинах - ошибки, так что обобщения не получилось... Что сказано верно: про проблемы с самим накопителем, отключение (если внешний), и драйвер. Цитата тоже ОК. Что неверно: перегрев блока питания (правильный БП либо выдает нормальные напряжения, либо отключается), проверка при записи (винт проверяет позиционирование, но не целостность записанных юзерданных), трение головки (головка не трется о блины при работе винта, хотя она и греется по другим причинам), непопадание на дорожки (голова целится по сервометкам), про объем NTFS раздела (рассчитана она на огромные размеры), про 2 гига на таблицу распределения (NTFS) на 2 ТБ винте (в NTFS нет таблицы распределения, а "объем NTFS" не имеет прямой зависимости от объема раздела, в основном зависит от количества файлов и исчисляется десятками...сотнями мегабайт). Так что вот .

Насчет Вашего внешнего Сигейта. Он просто сильно перегревается (у них это известная проблема) и если Вы не замените коробку на более приличную (типа Цунами с охдаждением), рискуете накрыть в скором времени винт (китайские копро-головки очень не любят быть перегретыми - ускоряется их деградация). А терморасширение тут не при чем, глючить может любой узел винта от сильного перегрева...
AlexCherny
Member
221/390 ответов
15 лет на iXBT, с января 2010
Чаще пишет в "Накопители" (55%)
Инфо Ответить
A
AlexCherny Member
12 лет назад / 27 октября 2012 15:52
Помогите с похожей бедой - USB FLASH: ошибка отложенной записи, #28
Ваш ответ:

Нет значка Нет значка Вот тут! Лампочка Восклицание Вопрос Класс! Улыбка Злость Огорчение Поговорим? Краснею Подмигивание Ругаю ОдобряюBIUdelSxsupxsuboffsp spoilerqurlimgvideo• list1. list1 codeprecenter-hr-rusQWE→ЙЦУ
файлыочистить
Ваше имя: Авторизуйтесь Предпросмотр В полную форму
вставить выделенную цитату в окно ответа
Если Вы считаете это сообщение ценным для дискуссии (не обязательно с ним соглашаться), Вы можете поблагодарить его автора, а также перечислить ему на счет некоторую сумму со своего баланса (при отзыве благодарности перечисленная сумма не будет вам возвращена).
Также вы можете оценить сообщение как неудачное.
В течение суток можно 20 раз оценить сообщения разных участников (купите Premium-аккаунт, либо оплачивайте оценки сверх лимита).
Если Вы считаете это сообщение ценным для дискуссии (не обязательно с ним соглашаться), Вы можете поблагодарить его автора, а также перечислить ему на счет некоторую сумму со своего баланса (при отзыве благодарности перечисленная сумма не будет вам возвращена).
Также вы можете оценить сообщение как неудачное.
В течение суток можно 20 раз оценить сообщения разных участников (купите Premium-аккаунт, либо оплачивайте оценки сверх лимита).