«Гонка интерфейсов» или как индустрия запудривает мозги…

Лёгкий пост в поддержку старого (10+ лет), но невероятно стабильного интерфейса.

В последний год очень мощно и даже местами агрессивно лоббируется интерфейс SAS3 (12G). Но так ли он «безумно хорош», как о нём поют «независимые» обзоры и сами производители?
[ ответ на эту тему я обязательно вскоре раскрою отдельным постом… ]

Всем известна простая истина — SATA II быстрее SATA I, SATA III быстрее SATA II, а уж SAS3 — так вообще правит бал и «очень модно»… Но нет дыма без огня, а маркетологи не лаптем щи хлебают.

Позвольте мне напомнить пару занимательных фактов:

  • в 99% случаев, большая часть ограничений в контроллерах и SAS 3.0G, и SATA II были внедрены производителями предумышлено. Ибо «нечего сидеть на старом железе, купи новый контроллер».

Так, например, в коде и BIOS, и Windows/Linux драйверов для контроллеров Marvell 88SX6042 / 88SX7042 (SATA II) чёрным-по-белому написано:

    /* 48 bit address *//
    if ((version >= 6) && (iden[IDEN_SUPPORTED_COMMANDS2] & MV_BIT10))
    {
        mvLogMsg(MV_IAL_COMMON_LOG_ID, MV_DEBUG, "%25s - %s\n","LBA48 addressing", "supported");
        pIdentifyInfo->LBA48Supported = MV_TRUE;
        if ((iden[103]) || (iden[102]))
        {
            mvLogMsg(MV_IAL_COMMON_LOG_ID, MV_DEBUG_ERROR, "WARNING Disk size more "
                     "than 32 bit sectors - setting to 0xffffffff sectors\n");
            pIdentifyInfo->ATADiskSize = 0xffffffff;
        }
        else
        {
            pIdentifyInfo->ATADiskSize = ((MV_U32)iden[101] << 16) |
                                         ((MV_U32)iden[100]);
        }

        mvLogMsg(MV_IAL_COMMON_LOG_ID, MV_DEBUG, "%25s - 0x%x%04x%04x%04x sectors\n",
                 "Number of sectors", iden[103] , iden[102], iden[101],
                 iden[100]);
    }

Красиво, не правда ли? Злодеи просто фиксируют максимальный LBA в 4,294,967,295 секторов — т.е. 2047,99 Гб.
В результате, в ОС любой накопитель (подключённый через такой контроллер) более 2Тб всегда будет определяться лишь как 2Тб.

Подобное же ограничение внедрялось негодяями и в первом поколении контроллеров SAS.
Просто. Чётко. Цинично…

  • Жёсткие диски, способные реально линейно читать/писать данные со скоростями ближе к ~240 Мб/сек — появились на рынке (пришёл-купил) только в середине 2015 (HGST C15K600, Toshiba AL13SXB). Т.е. лишь буквально «вчера» жёсткие диски наконец-то смогли «упереться» в пропускную способность интерфейса SAS 3.0G.

При этом, самому интерфейсу уже около 10+ лет, а контроллеры на его основе — до сих пор одни из самых стабильных, неприхотливых и работают безостановочно 24/7/365 без принудительного охлаждения.
Да — список ограничений SAS/SATA чипов 3.0G весом, а максимальные скорости — весьма скромны на сегодняшний день и уже «как бы» не впечатляют обывателя. Но… что если прекратить всё измерять единой шкалой (навязанной маркетологами и «плоской» по-определению) и рассматривать высокотехнологичные достижения в первую очередь в разрезе их реальной полезности?

Я бы с удовольствием продолжил ещё на пару страниц, но лучше посмотрим правде в глаза — 4 современных «модных» жёстких диска с интерфейсом SAS3 (12G) были подключены к «древнющему» контроллеру SAS (3.0G) и были подвергнуты простейшему эксперименту:

  • линейное чтение «в лоб», без очередей, блоками по 1Мб (unbuffered direct I/O)
  • «один диск — один поток»

Диски SAS3 (12G) на контроллере SAS (3.0G)

По факту, суммарно имеем ~793 Мб/сек и 790 IOPS при загрузке CPU менее 1%.
Данный опыт элементарно воспроизводим и был перепроверен на двух разных системах (Xeon+WinXP SP3 и Core-i5+Win7 SP1 x32).

Легко и непринуждённо. На контроллере с копеечной стоимостью.

Всем добра 🙂

Поделиться ссылкой на пост в соц. сетях

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *