Жесткие диски: то, о чем вы даже не подозревали. Отключение парковки на HDD Seagate

Вывод автомобиля из заноса на льду (19.12.2011). →

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

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

Теперь моделируем ситуацию: вы выключаете компьютер или гаснет свет. Магнитное поле исчезает, головки падают прямо на блины; а скорость вращения блинов составляет 5400-15000 оборотов в минуту. И, несмотря на гладкость головок, они начинают царапать дорожки, повреждая жесткий диск.

Плохо? Не то слово. Производителю нужно было срочно искать выход, и он нашёл его! При выключении питания, двигатель шпинделя вращается по инерции ещё какое-то время. А что если перевести его в режим генератора? Сказано - сделано. Это позволило обеспечить питанием плату электроники на время, необходимое для корректного завершения работы. Также это питание подается на обмотки привода головок, толкая их к центру диска. Дойдя до парковочной зоны, привод головок защелкивается магнитным фиксатором еще до того, как головки успеют коснуться поверхности диска.
Но и этого производителям оказалось мало! Они пришли к выводу, что если установить между генератором/шпинделем и катушкой позиционирования головки обычный параметрический стабилизатор тока, то можно будет регулировать электромагнитную силу, и соответственно время парковки головок. Осталось только написать сервисную инструкцию и разместить её на диске.

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

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

Теперь к чему вся эта демагогия. В ноутбуках иногда встречается проблема, когда жесткий диск каждые 10-20 секунд издает щелчок . Щелчок - это ни что иное как парковка головок жесткого диска.
Исходя из других ресурсов интернета продвинутый пользователь решает, что частая парковка приводит к износу механики головок жесткого диска. Это верно. А далее он делает то действие, за которое ему приходится потом расплачиваться деньгами. Он отключает парковку при помощи сервисных программ производителя. Как следствие, жесткий диск неспешно сыпется меньше чем за год. Пользователь думает, что щелчки были связаны с неисправностью жесткого диска, и вот он через год и умер. Покупает следующий. И в цикле.
Ищите решение этой проблемы в самой ОС , которую вы поставили; залезать во внутрннее содержимое контроллера жесткого диска противопоказано.

Проблема была следующая: В игре (в игре Smite) наблюдались периодические лаги (примерно раз в 15 секунд), подвисание буквально на пол секунды, секунду лаги. По отзывам, такие же лаги наблюдаются у во многих играх, таких как Call of Duty, Call of Duty ww2, Вattlefield 1, Вattlefield 3, Вattlefield 4 и многих других.

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

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

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

Решение проблемы:

1. Если у Вас есть другой жесткий диск, попробуйте переставить игру на него.

Но если нет или у вас все диске компании Western Digital (WD), как это было у меня, то переходим ко второму пункту.

2. И так, у Вас Western Digital (WD) (обязательно убедитесь в этом)

— Первым делом, то, что нужно сделать – это зайти в биос и поменять режим работы диска с AHCI на IDE.
— Смотрим S.M.A.R.T. вашего жесткого диска, любой программой, умеющей это делать, например, AIDA64, Everest, Victoria и т.п. Нас интересует параметр 193 Load/Unload Cycle count, он показывает количество парковок головки. Сравниваем цифру на против этого параметра с цифрой напротив параметра 12 Power Cycle Count (количество циклов отключения питания). Если значения отличаются в десятки или сотни раз, то это наш случай!
— Нам потребуется утилита что бы сделать загрузочную флешку, такая как HP USB Disk Storage Tool и MS-DOS
— Далее Скачиваем программу WDIdle3.
— Далее: делаем загрузочную флешку DOS, распаковываем туда архив с нашей программой, перезагружаем компьютер, загружаемся с флешки, путем нажатия клавиши F8, при перезагрузке компьютера и у нас появится командная строка для работы с жесткими дисками.
— В эту строку мы вводим следующие команды.
— Первым делом команда wdidle3 /r она покажет текущее значение таймера в секундах. Т.е. через сколько времени бездействия головка паркуется. Вот там то обычно и стоит 12,8 – 15 секунда. Те 15 секунда через которые вы наблюдали лаги!
— Что бы совсем отключить парковку головки вводим команду wdidle3 /d.
— Что бы установить какое-либо значение, нам потребуется команда wdidle3 /s50, где s50 – будет число, отвечающее за колчество секунд, через которое головка будет парковаться.
Тут помните, что значения от 8 до 12,7 секунд можно устанавливать с точностью 0,1 с. Значения от 12,8 до 30 таймер ставится только на 30. Значения от 30 до 300 – с точностью по 30 с. Максимальное значение 300. Нажимаем enter.
— Проверяем, установилось ли значение wdidle3 /r
— Выходим перезагружаемся, проверяем в игре, лагов должно не быть! Ура!

PS: Бывает такое, что после данных манипуляций на компьютере появляются частые вылеты в синий экран и подобная нестабильная работа. Я вас рекомендую сначала полностью убрать парковку головки, проверить в игре, если лаги ушли – то оставить так и забыть, ничего диску не будет, но если уж вы хотите поставить какое-нибудь значение – ставьте 300, проверяйте, если вылетов нет – оставляйте и наслаждайтесь игрой!

Если же все-таки вылеты наблюдаются, экспериментируйте со значениями и подбирайте нужное.

Так же хочу заметить, что никаких криминальных и фатальных последствий в этом нет, доказано на личном опыте!

Всем добра!


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

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

Самый простейший путь — использование настроек энергопитания в Windows. Но это не всегда работает. Например, в моем случае.

Будем решать эту проблему радикально, раз и навсегда. Для этого нам понадобится утилита hdparm . Ее надо скачать (исходя из битности вашей системы) и установить. Данная утилита хороша тем, что она универсальная и работает со всеми моделями дисков всех производителей. Затем идем в папку c:\Program Files (x86)\hdparm\ и настраиваем совместимость для hdparm.exe.

Затем где-нибудь в укромном месте сохраняем bat-файл следующего содержимого. Если надо применить настройку ко второму диску — замените hda на hdb. К третьему — замените hdb на hdc и т.д.

MS DOS

@echo off cd c:\Program Files (x86)\hdparm\ hdparm -B 255 hda exit

@echo off

cd c: \ ProgramFiles(x86) \ hdparm\

hdparm -B 255hda

exit

И файл с расширением vbs.

Visual Basic

Set WshShell = CreateObject("WScript.Shell") WshShell.Run chr(34) & "D:\alex\!!System\NoAPM.bat" & Chr(34), 0 Set WshShell = Nothing

Set WshShell = CreateObject ("WScript.Shell" )

WshShell . Run chr (34 ) & "D:\alex\!!System\NoAPM.bat" & Chr (34 ) , 0

Set WshShell = Nothing

После этого предполагается, что у нас получится два файла с именами NoAPM.bat и NoAPM.vbs. Обратите внимание, что в файле vbs надо указать актуальный путь к файлу с расширением bat!

Что же мы сделали? А мы сделали первый шаг к решению проблемы частых парковок головки жесткого диска. Утилита hdparm переключает режим APM (Advanced Power Management) жестокого диска в режим минимальной экономии и отключает пресловутую парковку при каждом случае. Теперь нам надо автоматизировать процесс применения данной настройки при загрузке компьютера и при выходе из спящего режима или гибернации. Тут все просто, используем встроенный в Windows планировщик.

Создаем задачу с настройками как на скриншоте.

Важно обратить внимание на несколько нюансов. На самой первой вкладке надо поставить галку «Выполнить с наивысшими правами». На вкладке с триггерами добавить два триггера: первый на активацию задачи при входе в систему любого пользователя, второй при событии в журнале «Система». Источник события указываем Power-Troubleshooter, а в качестве кода события 1. Действие у нас — запуск того самого vbs-файла. Это избавит от назойливого окна командной строки, который будет появляться на секунду при загрузке или выходе из сна. Теперь на вкладке «Условия» надо снять галку на пункте «Запускать только при работе от электросети». И наконец на последней вкладке снять галку «Останавливать задачу, выполняемую дольше».

Вот и все. Наша проблема решена. Теперь при запуске системы и входе любого пользователя будет принудительно отключаться энергосбережение у жесткого диска раз и навсегда. Аналогично после сна и/или гибернации. Проверить это можно, например, после загрузки, сна или гибернации вот так через утилиту CrystalDiskInfo.

P.S. Не забудьте отключить автозапуск hdparm в настройках Windows!

Достался мне по случаю винчестер Toshiba MQ01ABD050 (AX002K), который стал использоваться в небольшом стационарном персональном компьютере безвентиляторного исполнения.


Однако через некоторое время на слух стали восприниматься щелчки. Как показало "следствие", ситуация соответствовала описанному ниже.

В ноутбуках иногда встречается проблема, когда жесткий диск каждые 10-20 секунд издает щелчок. Щелчок – это ни что иное как парковка головок жесткого диска.

В некоторых моделях лаптопов происходит периодическая парковка головок жёсткого диска. Наблюдается на разных моделях лаптопов и жёстких дисков в них. Периодичность этого явления зависит от режима работы. При работе от батарей парковка происходит один раз в 10 минут. При работе от сети - 2 раза в минуту. Диски большинства производителей паркуются довольно редко (несколько раз в час). Теоретически, проиводители жёстких дисков дают гарантию, что устройство может выполнить ль 300 до 600 тысяч циклов парковки. Если пересчитать на часы работы жёсткого диска, то это составит явно меньше ожидаемого срока работы ноутбука в целом. Кроме того, в полной тишине звук парковки отчётливо слышен и действует на нервы. Описать звук сложно, он зависит от модели жёсткого диска. Например, его сравнивают со звуком карандаша, падающего плашмя на деревянный стол или как звук ломающейся тонкой стеклянной палочки. Каждый, кто слышал этот звук, не спутает его уже больше ни с чем. Можно не полагаться на слух, а проверить наличие (или отсутствие) этого явления инструментально.

В стандартной версии диска, APM имеет значение 128, в улучшенной – 254 (отключено). У вас закономерно должен возникнуть вопрос, а как вообще парковка головок экономит электроэнергию и ресурс батареи? Дело в том, что противоположный конец головки оснащен катушкой. При подаче "правильного" питания на катушку, она генерирует электромагнитное поле, что позволяет ей перемещаться между двух мощных постоянных магнитов (перемещая при этом противоположный конец). Что интересно, значение APM можно изменить самостоятельно. При использовании в ноутбуках полностью отключать парковку не рекомендуется, т.к. ноутбук это переносной компьютер, а одна из возможностей APM – парковка головок, которая в свою очередь защищает поверхность диска от повреждений при перемещении ноутбука (тряска, сильные вибрации, удары, ускорение). В случае со стационарным ПК парковку во время работы можно отключать, или же установить значение 250-253. Не стоит бояться, что диск перестанет парковать вообще, при отключении как и ранее, будет выполняться парковка головок в безопасную зону.


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

При просмотре состояния SMART выявлено, что значение параметра 193, соответствующее количеству циклов позиционирования пишущей головки в зону парковки, постоянно растёт.

Так как какой-либо сервисной утилиты отключения парковок у меня не было, да и сайт www.bad-good.ru категорически не рекомендовал этого делать, пришлось, как было на нём указано, искать другой путь.

Исходя из других ресурсов интернета продвинутый пользователь решает, что частая парковка приводит к износу механики головок жесткого диска. Это верно. А далее он делает то действие, за которое ему приходится потом расплачиваться деньгами. Он отключает парковку при помощи сервисных программ производителя. Как следствие, жесткий диск неспешно сыпется меньше чем за год. Пользователь думает, что щелчки были связаны с неисправностью жесткого диска, и вот он через год и умер. Покупает следующий. И в цикле. Ищите решение этой проблемы в самой ОС, которую вы поставили; залезать во внутреннее содержимое контроллера жесткого диска противопоказано.

Не секрет, что в настоящее время "толковую" информацию найти зачастую найти тяжело. Было найдено 4 варианта решения. На системе Runtu сработал 1-й вариант.

Так как мой компьютер не использует ни ждущего, ни спящего режимов (они ), то было решено осуществить "Persistent configuration using udev rule".

Если у Вас отсутствуте пакет hdparm, то его можно найти через менеджер пакетов Synaptic. В Linux Mint он установлен изначально, а в Runtu – отсутствует.


После были выполнены запросы к состоянию электропитания винчестера (через терминал).

Sudo hdparm -B /dev/sda
/dev/sda: APM_level = 128

Sudo hdparm -S /dev/sda
-S: bad/missing standby-interval value (0..255)

Sudo hdparm -M /dev/sda
/dev/sda: acoustic = not supported

Cоздать файл 95hdparm-apm в каталоге /etc/pm/power.d с содержанием:

#!/bin/sh
hdparm -B 254 /dev/sda

Уставить на созданный файл права на исполнение:

Sudo chmod u+rwx,g+rx,o+rx /etc/pm/power.d/95hdparm-apm

После перезагрузки проверить полученный результат командой терминала:

Sudo hdparm -I /dev/sda | grep -i "Advanced power management level"

Изменить файл /etc/hdparm.conf, вписав в него следующее:

/dev/sda {
apm = 254
apm_battery = 254
}

4-й вариант. (источник не помню)

Создать в /etc/init.d скрипт под именем hdparm_park (имя дано для примера, можно указать своё):

#!/bin/bash
hdparm -B 255 /dev/sda
hdparm -S 0 /dev/sda

Сделать его исполняемым:

Sudo chmod +x /etc/init.d/hdparm_park

Добавить его к автозагрузке:

Sudo update-rc.d hdparm_park defaults 90

Что означают цифры 128, 254, 255 ? (взято с англоязычных источников)

Для параметра -B

0 ... 127 – позволяют задействовать функцию винчестера spin-down;

128 ... 254 – не позволяют функции spin-down влиять на работу винчестера;

255 – полностью деактивирует функцию Advanced Power Management.

Для параметра -S

0 соответствует "выключено";

1 ... 240 – значение, умноженное на 5, определяет интервал от 5 секунд до 20 минут;

241 ... 251 – определяющие интервалы значений 11 до 30 задают шаг в 30 минут для определения значений интервала: 30 минут... 5,5 часов;

252 – соответствует значениям таймаутов 21 минут;

253 – значение таймаута определяется вендором;

255 – интерпретируется как 21 минута + 15 секунд.

Цитата с "древней" публикации (2010 г.): "Если значение APM установлено в диапазоне от 254 - 192 то HDD будет потреблять "по максимуму". Если в диапазоне 192 - 128 то при отсутствии обращений к диску (Hitachi) в течении 2 - 6 минут, будет произведено обесточивание соленоида актуатора, головки запаркуются на рампу, обороты шпинделя останутся на прежнем уровне. Если в диапазоне 128 - 1, то при уже обесточенном соленоиде и запаркованных головках нет обращений к диску 5 - 10 минут то скорость шпинделя снизится до 5400 об/м."

В дополнение для ноутбуков найдено ещё (было указанно для Arch, публикация давняя):

" ... лучше установить tlp и в /etc/default/tlp в строчке DISK_APM_LEVEL_ON_BAT= вместо 128 128 поставить 254 254 (обязательно включив службу systemctl enable tlp, или не знаю, какая система инициализации там у вас...

Когда в последний раз писал мануал на эту тему, нужно было поставить параметр CONTROL_HD_POWERMGMT=1 в файле /etc/laptop-mode/laptop-mode.conf