WinXP не паркует SATA харды на RAID контроллере SIS180

Устаревшие IBM PC-совместимые ПК и комплектующие
Bobo
Advanced Member
Сообщения: 9537
Зарегистрирован: 16.08.2007,11:42
Откуда: СПб

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

WinXP не паркует SATA харды на RAID контроллере SIS180

Сообщение Bobo » 08.10.2019,22:41

Jason писал(а): 08.10.2019,22:34 Вся бухгалтерия погибла. У Генерального была истерика,... Убытки были миллионные.
:biggrin: он забыл кто ему чего должен?
Xeon E5-2670v2/32 Gb, Amiga А4000Т

Jason
Advanced Member
Сообщения: 309
Зарегистрирован: 22.03.2018,03:17
Откуда: Москва

WinXP не паркует SATA харды на RAID контроллере SIS180

Сообщение Jason » 08.10.2019,22:43

aleksvolgin писал(а): 06.10.2019,20:35 Интересное вспомнил, а у вас при bsod'е система гасит шпиндель дискам? Если ответ "не знаю" поставьте эксперимент.
Зачем такие сложности?
В управлении питанием включил отключение экрана и дисков через 3 минуты. И подождал. Экран погас, диск не отключился. Винда голая, фоновых задач нет, индексирование отключено.
ZX-Spectrum 128k

Jason
Advanced Member
Сообщения: 309
Зарегистрирован: 22.03.2018,03:17
Откуда: Москва

WinXP не паркует SATA харды на RAID контроллере SIS180

Сообщение Jason » 08.10.2019,23:04

i8088 писал(а): 08.10.2019,10:10 с современными дисками - очень неприятно, когда во время отладки ядра/драйверов
В мире сотни миллионов пользователей ПК. И очень немногие из них занимаются отладкой ядра/драйверов.
Поэтому считаю, программное выключение HDD при исполнении <shutdown -p now> - зло.
А можно ли это отключить? Наверняка можно.
Можно команду sleep (E6h) заменить на standby или idle - какая-то из них (или обе) паркует головы, но шпиндель не останавливает.
Последний раз редактировалось Jason 08.10.2019,23:59, всего редактировалось 1 раз.
ZX-Spectrum 128k

Jason
Advanced Member
Сообщения: 309
Зарегистрирован: 22.03.2018,03:17
Откуда: Москва

WinXP не паркует SATA харды на RAID контроллере SIS180

Сообщение Jason » 08.10.2019,23:18

i8088 писал(а): 08.10.2019,10:10 Громко паркуются Quantum-ы и WD до ROIL-овых поколений - на долговечности никак не сказывается.
Ударные нагрузки вредны для любой механики. Намного вреднее, чем кажется.
Сопромат и ТММ я изучал в институте, и кое-что ещё помню.
Маленький предмет летящий с большой скоростью - намного опаснее большого и неподвижного.
ZX-Spectrum 128k

Jason
Advanced Member
Сообщения: 309
Зарегистрирован: 22.03.2018,03:17
Откуда: Москва

WinXP не паркует SATA харды на RAID контроллере SIS180

Сообщение Jason » 08.10.2019,23:37

Roman555 писал(а): 07.10.2019,17:52 я понял, что дело не в биосе, а в драйверах.
Именно.
Интересно поведение на более новой Windows.
Под Win7 будет то же самое.
Хохмы ради, попробовал под Windows'95, с VXD драйвером. Всё выключается нормально.
вероятно это просто штатный режим
Это - косяк разработчиков. Драйверы от SiS никогда не отличались высоким качеством.
ZX-Spectrum 128k

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

WinXP не паркует SATA харды на RAID контроллере SIS180

Сообщение geg » 09.10.2019,09:17

Jason писал(а): 08.10.2019,22:34 У современных дисков зазор между поверхностью и головкой около 2 нм. Это 0,000002 миллиметра.
Jason писал(а): 08.10.2019,22:34 Ещё 10 лет назад зазор был около 10 нм
Jason писал(а): 08.10.2019,22:34 смазка в подшипниках густеет, сами подшипники изнашиваются (появляется осевой люфт), и конденсаторы на питании теряют ёмкость.
Jason писал(а): 08.10.2019,22:34 Но от постоянных аварийных парковок - диск обязательно умрёт.
Году в 2007-2009, помню, тоже знатно грохнула тема с "Load/Unload Cycle Count". Балбесы бегали по инету и так же орали "ужос-ужос". :)
До кучи можно ещё вспомнить, что современные ноутбучные диски гасят шпиндель, если им нечем заняться (только в 10-точке этого, ессно не будет, она домогается диска постоянно).
Jason писал(а): 08.10.2019,22:34 Лет 10 назад в фирме, где он тогда работал, умер RAID 0+1 массив на сервере. Восстановить не смогли. Бэкапы оказались бесполезны. Вся бухгалтерия погибла. У Генерального была истерика, главбуха увезли на скорой с инфарктом... Фирму пришлось закрыть и открыть заново, под другим названием. Убытки были миллионные.
Зато сейчас у него везде минимум двухкратное резервирование плюс LTO-6 лентовод и ежедневный бэкап в трёх экземплярах.
Какая "скушшная" клюква.

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

Конкурсы

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

WinXP не паркует SATA харды на RAID контроллере SIS180

Сообщение i8088 » 09.10.2019,10:46

Jason писал(а): 08.10.2019,23:04 А можно ли это отключить? Наверняка можно.
Конечно, у меня отключено. Исходные тексты же есть.
Jason писал(а): 08.10.2019,23:18 Ударные нагрузки вредны для любой механики. Намного вреднее, чем кажется.
Сопромат и ТММ я изучал в институте, и кое-что ещё помню.
Маленький предмет летящий с большой скоростью - намного опаснее большого и неподвижного.
Он паркуется точно так-же громко и програмно - если бы был косяк со стороны разработчиков, эти диски не
выдерживали бы такого огромного количества on/off cycle, оставаясь без единого bad. Речь идет о Quantum
и также WD до ROIL семейств. На WD ROIL перешли на внешюю парковку, ее почти не слышно
Jason писал(а): 08.10.2019,22:34 Зато сейчас у него везде минимум двухкратное резервирование плюс LTO-6 лентовод и ежедневный бэкап в трёх экземплярах.
Молодёжь смеётся и считает его параноиком. А я его понимаю, ибо миллионные убытки очень хорошо лечат от разгильдяйства и безалаберности.
И правильно - современные диски запиливаются от малейшего чиха, в целом надежность
HDD после увеличения плотности записи примерно до 500GB на пластину очень сильно упала

По вашей проблеме - если считаете необходимым, предлагаю заняться дизассемблированием драйвера.
На первый взгляд думаю надо искать обработчик IOCTL команды типа ata_shutdown, Вам уточнить IOCTL
коды команд ATA драйвера

Jason
Advanced Member
Сообщения: 309
Зарегистрирован: 22.03.2018,03:17
Откуда: Москва

WinXP не паркует SATA харды на RAID контроллере SIS180

Сообщение Jason » 09.10.2019,16:48

aleksvolgin писал(а): 09.10.2019,09:17 Году в 2007-2009, помню, тоже знатно грохнула тема с "Load/Unload Cycle Count". Балбесы бегали по инету и так же орали "ужос-ужос". :)
Не следует называть балбесами незнакомых людей.
Вот здесь лежит схема и описание немовского IDE контроллера.
А вот здесь лежит исходник моего драйвера для него. Написано это было в 1999 году.
Подозреваю, в то время вы ещё не нашли "any key". Или вообще пешком под стол ходили.
До кучи можно ещё вспомнить, что современные ноутбучные диски гасят шпиндель, если им нечем заняться
Не все, а только некоторые модели WD. У меня есть такой. И логика в таком поведении есть. Кому не нравится - можно отключить, вот здесь лежит утилита для отключения.
ZX-Spectrum 128k

Jason
Advanced Member
Сообщения: 309
Зарегистрирован: 22.03.2018,03:17
Откуда: Москва

WinXP не паркует SATA харды на RAID контроллере SIS180

Сообщение Jason » 09.10.2019,17:39

i8088 писал(а): 09.10.2019,10:46 если бы был косяк со стороны разработчиков, эти диски не выдерживали бы такого огромного количества on/off cycle, оставаясь без единого bad.
Речь не об этом. Бывает штатное выключение питания а бывает выдёргивание из розетки.
Головы удерживаются над поверхностью за счёт воздушного потока, создаваемого вращением диска.
При штатном выключении - головы выводятся из рабочей зоны при нормально вращающемся диске. При этом подъёмная сила и высота полёта головок - одинаковы на всей траектории. Такое выключение неопасно.
При нештатном - головы ещё в рабочей зоне а диск уже начинает замедляться. А значит подъёмная сила и высота полёта головок при аварийной парковке - меньше нормальной. Именно в этом вся опасность. Если диск "немного бракованый" и поверхность неидеально ровная или подшипники немного люфтят - могут быть проблемы.
У меня четыре диска ST2000VM003, штатно они выключаются почти бесшумно. А нештатно - стук от всех четырёх слышно в соседней комнате. И не надо говорить, что разницы нет, я эту разницу слышу своими ушами.
По вашей проблеме - если считаете необходимым, предлагаю заняться дизассемблированием драйвера.
На первый взгляд думаю надо искать обработчик IOCTL команды типа ata_shutdown, Вам уточнить IOCTL
коды команд ATA драйвера
Уже дизассемлировал. Бинарник всего 20 КБ. Ох, не силён я в виндовых драйверах...
Про shutdown там ничего нет. Коды уточните, если не трудно.
Появились срочные дела, позже допишу.
ZX-Spectrum 128k

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

Конкурсы

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

WinXP не паркует SATA харды на RAID контроллере SIS180

Сообщение i8088 » 09.10.2019,20:52

Jason писал(а): 09.10.2019,17:39 У меня четыре диска ST2000VM003, штатно они выключаются почти бесшумно. А нештатно - стук от всех четырёх слышно в соседней комнате. И не надо говорить, что разницы нет, я эту разницу слышу своими ушами.
Дело в том, что я использую исключительно старые диски, у них парковка внутренняя,
а не внешняя. Для них парковка довольно простая операция, в отличие от внешней,
как на современных HDD (и всех Hitachi/IBM).
Jason писал(а): 09.10.2019,17:39 Уже дизассемлировал. Бинарник всего 20 КБ. Ох, не силён я в виндовых драйверах...
Про shutdown там ничего нет. Коды уточните, если не трудно.
Появились срочные дела, позже допишу.
К сожалению, я совершенно перестал использовать win (и программировать для него) примерно как 10
лет, поэтому подсказать затруднительно. С FreeBSD бы мы запросто сделали - исходники доступны.
С DOS тоже можно - с ним я работаю.

Я бы начал с компиляции (установив DDK) какого-нибудь простого самодельного драйвера с IOCTL
и основными функциями драйверов probe/detach/attach/shutdown (пишу на примере на примере
FreeBSD). Поскольку драйверы win пишутся в основно на Си, то дизассемблировав его потом, можно
сравнить, как компилятор реализует код, и сравнить с SiS драйвером. Вы какой именно драйвер
дизассемблировали? На всякий случай, дайте мне посмотреть.

Кстати, недавно здесь писали, что в сети можно найти исходники W2000 - если найдете, это может
помочь, в частности посмотреть стандартные IOCTL коды для ATA, и вообще, как реалтзована
ATA система в win.

Да еще - это может быть (даже скорее всего так ) не IOCTL команда, а просто вызов типа
device_shutdown для данного драйвера (указатель на функцию), тк при shutdown драйвера
ядром (при общем shutdown системы) он должен выполнить необходимые внутренние операции,
в частности и парковку. Во FreeBSD сделано именно так. Для MFM драйвера я добавлял функцию
mfm_shutdown в драйвер, и объявление
DEVMETHOD(device_shutdown, mfm_shutdown),
чтобы диск парковался при штатном выключении системы.

Jason
Advanced Member
Сообщения: 309
Зарегистрирован: 22.03.2018,03:17
Откуда: Москва

WinXP не паркует SATA харды на RAID контроллере SIS180

Сообщение Jason » 12.10.2019,05:05

i8088 писал(а): 09.10.2019,20:52 Вы какой именно драйвер
дизассемблировали? На всякий случай, дайте мне посмотреть.
Вместе с драйвером нашёлся .pdb файл с отладочной информацией, после дизассемблирования - все функции и строковые переменные уже с понятными именами, кое-что сразу проясняется. Ох, не силён я в драйверах... Что на вход, что на выходе - непонятно. Хорошо бы найти хорошо откомментированный исходник SCSI или ATA драйвера, чтобы понять что к чему.
Здесь про shutdown нет вообще ничего. Но есть ScsiStopAdapter.
Я использовал IDA 4.8.0, сам драйвер и .idb прилагаются.
Вложения
sisraid.rar
(218.74 КБ) 179 скачиваний
ZX-Spectrum 128k

Ответить