RU/2: Форум. Общение пользователей и разработчиков OS/2 (eCS). : ...и немного пpо acpi ;)


Список сообщений | Написать новое | Ответить на сообщение | Домой Поиск:
Предыдущее сообщение | Следующее сообщение
From : Slavik Gnatenko, 2:467/99
To : LightElf
Subj : ...и немного пpо acpi ;)

> > Но таки режим большого сектора включить уже есть на чём? А с чем его предполагается потом использовать? Это ж даже биос надо набортный на винте тащить. Вряд ли существующие на мамках честно вычитывают этот размер сектора с ATA.
> Если мне не изменяет склероз, на уровне биоса эмулируется работа с 512-байтными секторами, тормоза конечно. Но как только ОС стартует - дальше должна сама разгребать.
Та ну. Опять же, спецбиос нужен. И разные размеры сектора на уровнях биоса и ATA - это уж совсем. В каких единицах разметка будет. Я думаю, что ты видел более простую штуку: "some recent drives with 4KiB physical sectors are equipped with a dip switch to turn on or off offset-by-one mapping".

Ладно, я таки провёл небольшое исследование, чтобы не разговаривать о том, что Рабинович по телефону напел. Получается так. До ATA7 включительно размер сектора был той самой мировой константой. Два года назад (всего лишь!) был принят ATA8, направленый на упрощение фирмвари и переноса некоторых деталей хранения инфы на широкие плечи системного софта от уровня биоса и выше. Помимо новой команды TRIM (это нам ещё отдельно предстоит, на os2world уже обсуждали) понавводили кучу новой отчётности на предмет того, что раньше называлось секторами, а теперь блоками. Блоков теперь два вида: физические, в которых типа хранит девайс, и логические, с которыми работает большинство ATA команд. И полный фарш инфы о всяких вариантов таких блоков и причудливо вставлеными ограничениями:
1) Размер логического блока в двубайтных словах. Абсолютно произвольный. Называется Large Logical Block. Но других logical block просто нет.
2) Размер физического блока в логических блоках. Т.е. физический должен быть не меньше логического, кратен логическому, причём кратность обязана быть степенью двойки. Называется Large Physical Block, хотя опять же, других физблоков нет.
3) Смещение логической нумерации от начала диска. Введено исключительно для того, чтобы можно было размещать первый раздел в блоке 63, как сейчас, но при этом раздел начинался с физблока. Но является это смещение неотъемлемым и постоянным свойством девайса. Т.е. меняется только перемычкой. А всему софту на платформе в принципе нужно адаптироваться к любому значению.
4) Это пока не из ATA, а из SCSI-3, но могут перетащить в любой момент. Упомянуто в правилах для GPT. Гранулярность эффективного I/O. По идее эта штука предназначена для RAID с интерливом, в которых она будет равна размеру физблока, помноженому на количеству винтов в RAID. Но в принципе может быть и любым значением.

Для программы разметки теперь надо учитывать полностью это всё. Поскольку размечает она в логических блоках, а выглядеть эффективно это должно в физических. EFI разрешает ей не париться кратностью к физблоку и эффективному I/O, а выравнивать разделы сразу этак на мегабайт, но выглядит это странно, потому что кратность двойке по всех этих размерах никто не обещал. Кроме того по любому нужно учитывать логическое смещение, иначе вся эффективность превратится в свою противоположность.

Для линукса и венды разных мастей основные моменты и грабли описаны на ATA_4_KiB_sector_issues_d4b8.html . По ходу вычитал чудесную фразу: "Этот драйвер решает проблему загрузки с ADF для Windows XP. Для всех остальных ОС от MS он не нужен, потому что они сами всё для ADF поддерживают". Я в общем подозревал, что до года так 2005го MS операционок не выпускала :D

Теперь что такое из себя представляет нонешний Advanced Formatted HDD:
1) Лог блок - всё те же 512 байт;
2) Физ блок - 8 лог блоков;
3) Лог смещение - 1 или 0, в зависимости от перемычки;
4) Тупейшая прошивка, которая абсолютно не умеет сглаживать невыравненые до физблока I/O за счёт набортного кэша. И мало того, что на невыравненых запросах оно тормозит, так ещё и может просто глючить. Учитывая ещё и обычную пофигистическую позицию WD к глюкам своих прошивок, которые на распоследней венде не проявляются, я бы их винты не брал. Как оно у других производителей есть и будет - ХЕЗ. Наверное должно пройти ещё хотя бы тех же два года.

Теперь касательно настоящего большого сектора, т.е. увеличения логического блока. Как я понимаю, такого на писюках нет и не будет. Теоретически линукс к этому адаптирован, но тестировать не на чем.

> Два теровника в плюшевом рейде - уже очень распространено даже в домашних конфигурациях. Тут конечно возникает вопрос драйверов рейда, но это решаемо потихоньку. Если все остальное соответствует.
Два винта, в RAID-0 и в домашнем десктопе? Где ты таких пользователей находишь? В специально выделеном сервере - верю. Но там и стоит изначально какая-нить Windows Home Server и больше ничего. Кстати, 2T - это ещё в пределах старой разбивки. Как раз граница.
Другой вопрос, что цены таки падают и модели в домашнем ценовом сегменте появляются, несмотря на тайфун. Вчера посмотрел местные цены. Вполне можно заказать 2T за 180$ (сунг, а не сыпящийся WD Green). И 3Т Хитачи за что-то типа 250-270$. Вполне покупаемо. Осталось только придумать зачем. И куда такие объёмы бекапить :]

Fri 13 Jan 2012 21:30 Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.14) Gecko/2




Programmed by Dmitri Maximovich, Dmitry I. Platonoff, Eugen Kuleshov.
25.09.99 (c) 1999, RU/2. All rights reserved.
Rewritten by Dmitry Ban. All rights ignored.