Почему упала ОС, снизилась скорость винта или DVD? Как переключить PIO в DMA?


Почему упала ОС, снизилась скорость винта или DVD? Как переключить PIO в DMA?

О том, почему иногда без видимой причины слетает операционная система или небольшое исследование электромеханических особенностей интерфейса SATA. https://oldoctober.com/


В статье описываются симптомы нарушения работы накопителей и предлагается простое решение для повышения надёжности контактирования разъёмов SATA интерфейса. Также, в статье Вы найдёте информацию о том, как вернуть режим Ultra DMA, если он самопроизвольно переключился в PIO.


Самые интересные ролики на Youtube

Смотреть на Youtube Смотреть на Youtube Смотреть на Youtube Смотреть на Youtube

Я часто встречал в форумах описание сбоев работы Операционной Системы (далее ОС) и винчестеров и даже пробовал следовать некоторым советам, полученным там, но проблемы это не решило. Между тем, многие баги, описанные в сети, были как две капли перцовки похожи на мои. Вот, поэтому, я и решил подробно описать, с чего у меня всё это начиналось и чем захеппиэнидилось.


Близкие тeмы, касающиеся жизнеспособности ОС.

Как восстановить бэд блоки на HDD после падения системы?

Как сделать резервную копию OC и как восстановить Windows за 15-ть минут?

Как создать загрузочный DVD диск для восстановления ОС?


Оглавление.

  1. Ты помнишь, как всё начиналось…
  2. Описание симптомов при сбоях в работе ОС, обусловленных плохим контактом в разъёмах SATA.
  3. О контактах и контактных материалах.
  4. Отличие конструкций разъёмов PATA и SATA.
  5. Исследование разъёмов интерфейса SATA.
  6. Что делать? Как жить дальше?
  7. Доработка разъёмов SATA.
  8. Что делать, если контроллер переключился в режим PIO?

Ты помнишь, как всё начиналось…

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

И хотя многолетнее использования мною жёстких дисков никогда не проявлялось так, как описано ниже, я всё же сделал следующее:


  1. Заменил кабель SATA.
  2. Переключил HDD на другой контроллер.
  3. Промерил и посмотрел форму напряжений питания осциллографом.
  4. Прозвонил «хвостик-переходник», через который подавалось питание на HDD.
  5. Купил и подключил источник бесперебойного питания (ИБП, UPS).

Но, все мои потуги исключить причину возникновения бэд блоков так ни к чему и не привели. Однако отрицательный результат – тоже результат. Круг поиска сузился, и я начал фиксировать информацию по отказам. https://oldoctober.com/

После сопоставления данных, я нашёл, на мой взгляд, очень простое и надёжное решение проблемы.

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

Вернуться наверх к оглавлению.


Описание некоторых характерных симптомов при сбоях в работе ОС и HDD, использующих протокол SATA.

  • После очередного включения, загрузка ОС невозможна. Подозрительных звуков винчестер (Sigete Diamond MAXTOR STM3250310AS DiamondMax 21) не издаёт. Скорость доступа к диску нормальная. На диске обнаружено несколько мёртвых блоков в программе Victoria, запущенной под DOS-ом. Windows восстановлена в режиме Repair.

  • Падение ОС во время работы. Загрузка невозможна. HDD тарахтит и что-то упорно ищет. После шевеления SATA кабеля, работа винчестера восстановлена. На диске обнаружено несколько бэд блоков. Ремап в программе Victoria. Установка ОС в режиме Repair невозможна. Полная переустановка.

  • Существенное замедление работы ОС при любом обращении к HDD. Подвисание ОС при средней нагрузке. Загрузка одного из ядер процессора 100%. Выявлено автоматическое переключение винчестера из режима Ultra DMA в режим PIO. Внешних проявлений на слух и пр. в рабате HDD не отмечено. На диске обнаружено несколько нечитаемых кластеров. Ремап в Victoria. Check Disc исправляет несколько сотен ошибок.

  • Во время работы ОС зависла, а диск начал тарахтеть и что-то искать. После перезагрузки компьютера ОС не загрузилась. Запуск программы Victoрия растянулся на несколько минут, так как компьютер пытался обнаружить винчестер. После запуска Виктории, всё же удалось начать сканирование диска, но, либо время чтения каждого сектора занимало 1,5 секунды, либо сектора вообще не читались. Шевеление разъёмов SATA интерфейса вернуло HDD к жизни. На диске обнаружено 6-ть битых блоков. Ремап в Виктории. Запуск ОС с автоматическим восстановлением системных файлов из резерва. Check Disc ошибок не обнаружил. Нарушение работоспособности некоторых программ.

  • Не определяется DVD привод, хотя реагирует на нажатие кнопки выдвижения лотка. Передёргивание разъёмов вернуло привод к жизни.

  • Данная статья уже находилась в проекте, когда мне потребовался доступ к внутренностям моего компьютера. Нужно было посмотреть на номер ревизии материнской платы и мне пришлось пошевелить SATA кабели, конечно, при отключённом компьютере. После включения, у меня зашумел новый жёсткий диск с интерфейсом SATA (Seagate Barracuda ST3500418AS), разъёмы которого не были доработаны. Диск начал что-то упорно искать, а система, при этом, его не могла определить. Но, достаточно было пошевелить вилки, вставленные в HDD, чтобы он определился. Правда, после этого контроллер сбросился в режим PIO, но зато, в это раз, блоки не повредились.

Жутко, да? :)  Ну, на самом деле, все эти злоключения растянулись на два года и если бы не желание докопаться до истины, то я бы даже не стал фиксировать неполадки. Хотя, мелкие баги, кончно не отразились в этом отчёте.

Вернуться наверх к оглавлению.


О контактах и контактных материалах.

Несколько слов о контактных материалах.

Есть всего несколько металлов, контакты из которых могут достаточно надёжно работать при протекании малых токов в низковольтных цепях. Эти металлы: золото, палладий и платина. Другие металлы склонны к окислению и требуют очень высокого контактного нажатия* и очень высокого усилия расчленения контактной пары*. Эти дополнительные усилия необходимы для того, чтобы разрушить оксидную плёнку, которая значительно увеличивает сопротивление контактной пары.


В качестве контактного металла разъёмов интерфейса SATA используется золото, а точнее золотое гальваническое покрытие. Золото, хороший контактный материал, но с учётом малой величины контактного нажатия и малой площади контакта*, резко возрастает значение такого важного параметра, характеризующего сопротивление контактной пары, как динамическая нестабильность*.


Вообще-то, нужно сказать, что меня несколько удивила конструкция SATA разъёмов, когда я их в первый раз увидел, а главное пощупал. У меня создалось такое впечатление, что разработчик этих разъёмов даже не пытался произвести элементарные расчёты надёжности контактов, словно у него не было нужного учебника. :) Хотя бы на разъём USB взглянул, что ли!

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

Вспоминая о том, что морально устаревшие разъёмы IDE (PATA) не имели практически никаких недостатков, так и хочется воскликнуть, куда же катится мир!

- - - - - - - - - -

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

Вернуться наверх к оглавлению.


Отличие конструкций разъёмов PATA и SATA.

Основное отличие разъёмов применяемых в интерфейсах SATA и PATA в том, что разъёмы PATA спроектированы со знанием дела, а SATA – наоборот. :)

У разъёмов PATA цилиндрические контакты, обладающие большой контактируемой поверхностью, а надёжная фиксация положения вилки относительно розетки обеспечивается большим усилием расчленения контактной пары. Я практически не слышал, чтобы у кого-то когда-то нарушился контакт IDE интерфейса. Такое случалось разве что, когда юзер по-неосторожности ломал один из контактов.


У разъёмов SATA применены плоские подпружиненные контакты с малой контактируемой поверхностью, с низким уровнем контактного нажатия и расчленения. Кроме этого, сами корпуса разъёмов не обеспечивают строгой фиксации контактируемых пар друг относительно друга. Говоря более простым языком, любой советский пятиштырьковый разъём, по надёжности, заткнёт за пояс позолоченное китайское чудо. :)

Вернуться наверх к оглавлению.


Исследование разъёмов интерфейса SATA.

У меня в распоряжении оказалось несколько разных накопителей с интерфейсом SATA и несколько разных кабелей для подключения к материнской плате и блоку питания. Я исследовал и промерил все эти разъёмы и представляю свои субъективные выводы.



Это вилка кабеля интерфейса SATA с металлической защёлкой. Защёлка надёжно защищает вилку от выпадения из гнезда, но не более того. Положение вилки в гнезде не фиксируется, и она болтается, как кое-что в проруби.




У цельно-пластмассовых вилок есть один или два прилива, исполняющих роль защёлок. Защёлки эти плохо защищают вилку от выпадения и не всегда попадают в соответствующие пазы. Причём, если они не попадают в соответствующие пазы гнезда, то вилка лучше фиксируется в гнезде за счёт упругости боковой стенки, которая получает некоторый натяг.


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

Однако у этих разъёмов продублированы контакты, поэтому надёжность ненадёжного соединения в два раза выше. :) Извините за каламбур!

Причиной плохой фиксации вилок в гнёздах,  является большой гарантированный зазор, который составляет около 0,3мм.


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


Вернуться наверх к оглавлению.


Что делать? Как жить дальше?

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

На основании всего вышесказанного было найдено простое решение по уплотнению разъёмного соединения. Технология успешно прошла клинические испытания и пока не дала ни одного сбоя.

Вернуться наверх к оглавлению.


Доработка разъёмов SATA.

Вырезаем из целлулоида толщиной 0,25мм пластинки согласно чертежу. Короткие прокладки предназначены для сигнальных разъёмов, а длинные для разъёмов питания.

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

В любом случае, и для надёжности крепления, и для удобства установки, ширина прокладки должна соответствовать глубине гнезда.



Перед нанесением клея на прокладку, ошкуриваем и обезжириваем поверхность.

Удерживая прокладку узким пинцетом, наносим тонкий слой клея на свободные края.


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




Вклеиваем прокладку в гнездо накопителя так, чтобы края прокладки совместились с краями центральной части гнезда, а передний край прокладки с передним краем разъёма.



Чтобы прокладка не сместилась во время отвердения герметика, её можно прижать спичками, слегка заточенными на клин.




Чтобы удобнее было вклеивать прокладки в разъёмы, расположенные на материнской плате, системный блок лучше положить на бок.





Как и в случае с накопителем, прокладки лучше прижать распорками, сделанными из спичек.


Через час герметик отвердеет и разъёмы будут готовы к работе.


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


После произведённой модернизации, конечно, нельзя будет подвешивать винчестеры за кабель, но зато надежность соединения увеличится на порядок или, по-научному, снизится эта самая динамическая нестабильность. 


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


  1. Вырезаем полоску бумаги шириной 10мм и загибаем край на длину около 5мм.
  2. Подбираем необходимое количество складок в зависимости от толщины бумаги и необходимой плотности соединения.
  3. Вставляем этот плоский рулончик внутрь вилки.
  4. Удерживая край бумаги, вставляем вилку в розетку.


Что делать, если и это не помогло?


Можно подвергнуть контакты абразивной обработке. Для этого отрезаем строительным ножом от канцелярского ластика токую полоску.



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

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

Конечно, контакты, покрытые золотом 999 и имеющие зеркальную поверхность подвергать абразивной обработке не следует. Но, ведь если контакты так хороши, то почему они не контактируют... :)

После зачистки, нужно удалить из разъёмов весь мусор и протереть контакты этиловым спиртом.



Если в вашем компьютере винчестер или привод, с SATA интерфейсом, подключен к блоку питания при помощи переходника (хвостика) ATA-SATA, то обязательно убедитесь, что каждый контакт разъёма обеспечивает высокое усилие расчленения контактной пары. Так как контакты свободно болтаются в корпусе разъёма, то можно, потянув за каждую пару проводов, определить это усилие по тактильным ощущениям.

Если окажется, что какая-то пара контактов расчленяется слишком легко, то нужно поджать контакты (мамы) тонким пинцетом или тонкой отвёрткой.

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

Ещё одной причиной нарушения питания может служить увеличение сопротивления между контактом и проводом. О том, как разобрать такой разъём с целью обжимки проводе, можно почитать здесь >>>

Вернуться наверх к оглавлению.


Что делать, если контроллер переключился из режима Ultra DMA в режим PIO?

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


Заходим в Пуск > Контрольная панель > Свойства системы > Оборудование > Диспетчер устройств (Start > Control Panel > System > Hardware > Device Manager) или кликаем правой кнопкой мыши на иконке Мой компьютер (My Computer) и выбираем Свойства (Preference).




Сначала находим контроллер, отвечающий за работу «заторможенного» накопителя и убеждаемся, что он переключился в режим PIO*, хотя режим Ultra DMA* разрешён.




Затем удаляем (деинсталлируем) этот «неправильный» контролер и соглашаемся с предупреждением. Не беспокойтесь, контроллер найдётся сразу же после перезагрузки!




Windows потребует перезагрузить компьютер. Соглашайтесь!


Когда Windows полностью загрузится и найдёт новое оборудование, в том числе и наш удалённый контроллер, Вы увидите транспарант с предложением снова перезагрузить компьютер. Опять соглашайтесь!




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


- - - - - - - - - -

*Отличие режимов DMA и PIO состоит в том, что при режиме DMA (Ultra DMA) обеспечивается прямой доступ к памяти, минуя процессор, что в десятки раз повышает скорость обмена данными.

Вернуться наверх к оглавлению.




Иногда, чтобы решить поставленную задачу, самодельщику приходится искать нетривиальные решения. Может быть, они Вас ожидают здесь. Ну вот и всё, главное красиво и ненавязчиво закончить мысль. Всем удачи!


Нашли ошибку в тексте?Выделите ошибочный текст мышкой и нажмите Ctrl + Enter
Спасибо за помощь!

Комментарии (53)

Страниц: « 1 2 3 4 5 [6] Показать все

СергейЯнварь 14th, 2013 at 16:14

ADMIN>
мне , видемо трудно вам обьяснить. Со смартом все гуд, ладно, хорошо проверю а то, верно говорите, а вось ваша программа лучше моей(лайв сиди это я немного не так сказал), да на том диске откуда форточка он есть, но там и виктория и другие программы и вообще это ДВД диск :)

СергейЯнварь 14th, 2013 at 16:32

ADMIN>ответ на тест вашей прогой ждите , скорее всего, где то в конце или начале новой недели. Надобно еще пересмотреть что там на тех дисках есть и нужно ли что то сохранять,кроме того хотел расказать о програме копирования данных с рухнувшего винта(тоесть если открыть , в моем случае акронисом, то файлы он видит а файловой системы — нет) Программа называеться BADCOPY PRO V3.75описание можно найти в инете, но прога — люкс :) (в свое время вернула мне концерт Депеш мод, когда инета еще у меня небыло)

Спасибо за ваше терпение и хорошие советы.

adminЯнварь 14th, 2013 at 17:03

Превышен лимит сообщений и обсуждение перенесено в форум по этому адресу.

Страниц: « 1 2 3 4 5 [6] Показать все