Что такое оперативная память с коррекцией ошибок

Вы ищете память, которая имеет доступ к более высоким скоростям и совместима с большим количеством платформ? Или вы ищете долговечную память, которая может работать 24 часа в сутки, 7 дней в неделю, выявлять больше ошибок, но для этого приходится жертвовать скоростью?

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

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

Думайте о памяти без ECC как о памяти, ориентированной на скорость, а ECC – памяти, ориентированной на выносливость и надёжности.

Кому нужна оперативная память с исправлением ошибок

Поскольку не все платформы поддерживают ECC-память, и не каждой системе она нужна, давайте обсудим, что такое ECC-память, как она работает и нужна ли она вам.

Что такое ECC-память

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

Однобитовая ошибка – это когда один бит (двоичный 0 или 1) в данных в ОЗУ случайно изменяется на противоположное значение.

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

Вы можете думать об однобитовых ошибках как о метафорических сорняках на лужайке. Ваш газон – это оперативная память, а ECC-часть вашей памяти – это использование гербицида.

Память без ECC не избавит вас от «сорняков». ECC уничтожит все сорняки, но газон будет расти немного медленнее.

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

Как работает память ECC

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

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

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

ECC – это, по сути, небольшой чип на обычной планке ОЗУ, который гарантирует, что каждый бит данных, который входит и выходит, является именно тем, чем он должен быть.

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

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

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

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

Вот почему ECC работает немного медленнее – потому что ему приходится создавать эти дополнительные коды.

Согласно исследованиям, вероятность возникновения такой ошибки составляет одна однобитовая ошибка каждые 14-40 часов на гигабит ОЗУ.

Необходимость исправления ошибок на серверах и рабочих станциях

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

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

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

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

Если вы посетили своего врача, и счет составил 56 987 рублей вместо 5945 рублей, вы только что стали жертвой компьютерной ошибки, связанной с ECC. И вы, скорее всего, больше никогда не воспользуетесь их услугами.

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

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

Выбор памяти может создать или уничтожить репутацию бизнеса.

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

Какие платформы поддерживают память ECC

Что касается серверов, то линейки процессоров Intel Xeon и линейки серверов AMD Epyc поддерживают память ECC. Обратите внимание, что для использования памяти ECC и процессор, и используемая материнская плата должны поддерживать память ECC.

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

Память ECC – поддержка совместимым оборудованием

На основных платформах, используемых сегодня, большинство процессоров Intel (даже некоторые бюджетные модели Celeron) будут поддерживать память ECC, если вы используете материнскую плату, совместимую с такой памятью.

С AMD все процессоры Ryzen поддерживают память ECC с совместимой материнской платой с набором микросхем X570, тогда как набор микросхем B550 не поддерживает память ECC с процессорами Ryzen 2000. Процессоры Ryzen со встроенной видеокартой или ускоренным процессором (APU), серии 3000 G и серии 4000 G потребуют от вас использования процессора PRO для поддержки ECC.

Недостатки использования памяти ECC

Наиболее распространенная проблема с памятью ECC – совместимость. Несмотря на то, что большинство современных платформ поддерживают её, вы должны убедиться, что конкретная комбинация процессора и материнской платы работает с памятью ECC.

Это менее проблематично в мире серверов, где обычно используется память ECC. Серверное оборудование обычно поддерживает ECC по умолчанию.

Ценник тоже отличается. Модули памяти с ECC дороже, чем модули без ECC из-за дополнительных функций. В зависимости от емкости, которую вы покупаете, разница в цене составляет около 10-20%.

Также наблюдается небольшой спад производительности из-за дополнительного времени, которое требуется памяти ECC для проверки наличия ошибок. По словам Corsair, можно ожидать падения около 2%.

Подведение итогов – нужна ли вам память ECC

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

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

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

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

Но если всё, что вы делаете, это играете в игры и используете свой компьютер для другой некритической работы, вам, скорее всего, не понадобится ECC, и вам важнее сохранить эти 2% производительности.

Всем привет! Тема сегодняшней публикации — поддержка ECC оперативной памяти: что это такое, как работает данная функция, зависит ли от процессора ее использование на ПК.

Что такое ЕСС память

Аббревиатура происходит от английского названия error correcting code memory, то есть память с коррекцией ошибок кода. Такая ОЗУ распознает и устраняет спонтанно возникающие изменения в битах памяти, которых быть не должно.

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

Обычная память, то есть non-ECC, этого делать не умеет.

Этот тип памяти используется в компьютерах, для которых важна бесперебойная работа, включая крупные серверные станции. Для использования такого режима необходима поддержка контроллером ОЗУ – как встраиваемого в чипсет, так и реализованном на кристалле вместе с ядрами.

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

Существуют алгоритмы, способные исправлять более одной ошибки, но используются они реже. С технологической точки зрения такая система предполагает использование модулей ОЗУ, в которых на каждые 8 микросхем памяти приходится один компонент, хранящий ЕСС-коды (то есть 8 бит на каждые 64 бита).

Причины появления ошибок в ОЗУ

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

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

Характерно, что чем выше от уровня моря, тем меньше плотность воздуха и соответственно, интенсивнее космическое излучение. Компьютерные системы, которые работают на большой высоте, требуют более эффективной защиты. Советую также почитать «Что такое ОЗУ в компьютере: из чего состоит и для чего служит?»(уже на сайте).

Стоит ли использовать ЕСС память

Объективных причин для использования такой ОЗУ на домашнем ПК нет.

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

Впрочем, это может быть действительно страшно – например, в случае, если вы в течение пары часов монтировали видеоролик, забывая сохраняться в процессе, или же у вас последний и решительный бой, от которого зависит судьба клана, в какой-нибудь ММОРПГ.

Такая память работает медленнее обычной – в среднем, на 2-3%, так как для проверки контрольных сумм необходим один дополнительный такт контроллера. Такой режим работы требует больше логических ресурсов.

Как уже сказано выше, в основном такая память почти всегда регистровая (Registered), то есть имеет дополнительный регистр для считывания и хранения двоичных кодов. Существуют модули ECC памяти без регистров (UDIMM), которые можно использовать в домашних ПК.

Однако учтите, что такое удовольствие обойдется дороже, так как цена на такие модули ОЗУ обычно выше. Кроме того, требуется наличие материнской платы, чипсета и процессора (к слову, такие модели есть и у Intel, и у AMD), поддерживающих ЕСС память. Стоят они внезапно тоже, как правило, дороже.

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

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

Также советую на эту тему ознакомиться с публикациями «Влияние тактовой частоты оперативной памяти в компьютере»(уже на блоге) и «Тайминги и частота оперативной памяти: кто важнее и влиятельней?». Буду признателен всем, кто расшарит эту статью в социальных сетях. До завтра!

С уважением, автор блога Андрей Андреев.

Оглавление

  • Вступление
  • Коррекция ошибок
  • Финансовая сторона
  • Тестовый стенд
  • Методика тестирования
  • Результаты тестирования
    • Тест памяти
    • 3DMark
    • 7Zip
    • Cinebench
    • CrystalMark
    • Fritz
    • LinX
    • wPrime
    • AIDA64 Extreme
  • Заключение

Вступление

На сегодняшний день на просторах Рунета можно встретить открытые темы на форумах с вопросами – стоит ли брать рабочую станцию с ECC-памятью или можно обойтись обычной? В данных ветках можно прочесть множество противоречивых утверждений, и часть из них говорит о том, что коррекция ошибок сильно замедляет память, а следовательно и ЦП. Но мало кто это проверял на деле на современных процессорах.

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

Коррекция ошибок

Для чего необходима коррекция? И почему в работе памяти возникают ошибки? Перед ответом на эти вопросы следует разделить ошибки на два типа:

  • Аппаратные ошибки;
  • Случайные ошибки.

Причиной появления аппаратных ошибок является дефектная микросхема DRAM, а случайные ошибки возникают под воздействием излучения, альфа-частиц, элементарных частиц и прочего. Соответственно, первые в принципе неисправимы – если чип дефектный, то поможет только его замена; а вот вторые могут быть исправлены.

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

рекомендации

-30% от первоначальных цен 4060 Ti — пора брать

-33% на 85″ TV 4K Ultra HD Samsung — смотри цену

В ДВА раза упала цена на хороший холодос Midea

RTX 3070 за 45 тр в Регарде

В ДВА раза упала цена 50″ TV LG 4K Ultra HD

-28% на 32Gb Сorsair Dominator

Подорожал на 200000р 8K Samsung 75″ — скидка все

-30% на стиралку Бош 4 серии

Компьютеры от 10 тр в Ситилинке

-23% на SSD Kingston 4Tb — смотри цену

Вдвое снижена цена REALME C31 4/64Gb

-35% на INFINIX Zero X pro 8/128Gb в Ситилинке

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

В свое время было предложено много различных способов решения данной проблемы, но на сегодняшний день наибольшее распространение получил метод коррекции ошибок или ECC (Error-Correcting Code). Данный метод позволяет автоматически исправлять однобитовые ошибки в 64-битном слове – SEC (Single Error Correction) и детектировать двухбитовые – DED (Double Error Detection).

Физическая реализация ECC заключается в размещении дополнительной микросхемы памяти на модуле ОЗУ – соответственно, при одностороннем дизайне модуля памяти вместо восьми чипов располагается девять, а при двустороннем вместо шестнадцати – восемнадцать. Таким образом, ширина модуля становится не 64 бита, а 72 бита.

Метод коррекции ошибок работает следующим образом: при записи 64 бит данных в ячейку памяти происходит подсчет контрольной суммы, составляющей 8 бит. Когда процессор обращается к этим данным и производит считывание, проводится повторный подсчет контрольной суммы и сравнение с исходной. Если суммы не совпадают – произошла ошибка. Если она однобитовая, то неправильный бит исправляется автоматически, если двухбитовая – детектируется и сообщается ОС.

Финансовая сторона

Прежде чем приступить к тестированию, необходимо затронуть финансовый вопрос.

Стоимость обычного модуля памяти DDR3-1600 с напряжением 1.35 В и объемом 8 Гбайт составляет около 3600 рублей, а с коррекцией ошибок – 4800 рублей. На первый взгляд ECC-память выходит на 30-35% дороже, что, в целом, не позволяет их сравнивать в силу существенно большей стоимости последней. Но почему же тогда такой вопрос возникает при сборке рабочей станции? Все просто – необходимо смотреть на данный вопрос шире, а именно – смотреть на общую стоимость рабочей станции.

Ценник однопроцессорной станции на базе четырехъядерного восьмипоточного Xeon (настольные процессоры серий i5 и i7 не поддерживают ECC-память) с 32 Гбайтами памяти, материнской платы с чипсетом C222/С224/С226 (десктопные наборы логики Z87/Z97 и другие также не поддерживают память с коррекцией ошибок) будет превышать 70 000 рублей (при условии, что устанавливаются серверные SSD с повышенным ресурсом). А если включить в эту стоимость и дискретную видеокарту, и прочие сопутствующие компоненты, например, ИБП, то ценник из пятизначного превратится в шестиизначный, перевалив планку в 100 000 рублей.

Покупка 32 Гбайт памяти с коррекцией ошибок потребует дополнительных 4-6 тысяч рублей, что по отношению к общей стоимости рабочей станции не превышает 5%, то есть не является критичным. Также переход от десктопного к серверному железу предоставит и другие преимущества, например: интегрированные графические карты P4600 в процессорах Intel Xeon E3-1200 третьего поколения получили оптимизированные драйверы, которые должны повышать производительность в профессиональных приложениях, например, в CAD; поддержка технологии Intel VT-d, которая позволяет пробрасывать устройства в виртуальную среду, например, видеокарты; прочие серверные технологии – Intel AMT или IPMI, WatchDog и другие, которые также могут оказаться полезными.

Таким образом, хоть и сама ECC-память стоит заметно дороже обычной, в общей стоимости рабочей станции данная статья затрат является несущественной, и переплата не превышает 5%.

Тестовый стенд

Для данного обзора использовалась следующая конфигурация:

  • Материнская плата: Supermicro X10SAE (Intel C226, LGA 1150);
  • Процессор: Xeon E3-1245V3 (Turbo Boost – off, EIST – off, HT – on);
  • Оперативная память:
    • 2x Kingston DDR3-1600 ECC 8 Гбайт (KVR16LE11/8 CL11, 1.35 В);
    • 2x Kingston DDR3-1600 8 Гбайт (KVR16LN11/8 CL11, 1.35 В);
  • ОС: Windows 8.1 Pro 64-bit.

Методика тестирования

В рамках тестирования были произведены замеры производительности как при одноканальном режиме работы ИКП, так и при двухканальном. Суммарный объем ОЗУ составил 8 (один модуль) и 16 Гбайт (два модуля) соответственно.

Программное обеспечение:

  • 3DMark 2006 1.2;
  • 7Zip 9.20;
  • AIDA64 Extreme 5.20.3400;
  • Cinebench R15;
  • CrystalMark 2004R3;
  • Fritz 4.20;
  • LinX 0.6.5;
  • wPrime 2.10.

Результаты тестирования

Тест памяти

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

550x378  31 KB. Big one: 1019x701  26 KB

При изучении результатов можно заключить, что производительность ECC- и non-ECC- памяти находится на одном и том же уровне в рамках погрешности.

550x147  18 KB. Big one: 1017x273  11 KB

Если в предыдущем тесте от замера к замеру выигрывал то один, то другой тип памяти, то при замере латентности ECC-память постоянно показывает большие задержки. Но разница несущественна – всего лишь 1 нс.

Таким образом, замер ПС и латентности памяти не показал особых различий между ECC- и non-ECC-памятью. Посмотрим, повторится ли это в последующих тестах.

3DMark

Тестовый пакет 3DMark содержит подтесты как для процессора, так и для графической карты. Здесь и кроется самое интересное – давно известно, что встроенному видеоядру не хватает существующей ПСП в 25.6 Гбайт/с, поэтому именно в графических подтестах можно выявить негативное влияние коррекции ошибок, если оно вообще есть,…

550x880  50 KB. Big one: 1037x1661  64 KB

… но разницы нет – что ECC, что non-ECC. Ни процессор, ни интегрированное ядро никак не реагируют на замену обычной памяти на DDR с коррекцией ошибок – результаты одинаковы в рамках погрешности. Среднеарифметическая разница составила 0.02% в пользу ECC-памяти для одноканального режима и 1.6% для двухканального режима.

При этом нельзя сказать, что встроенная видеокарта P4600 не зависит от скорости ОЗУ – при одноканальном доступе общий результат почти на 30% ниже, чем при двухканальном. Другими словами, скорость ОЗУ критична для графического ядра, но сами по себе «ECC-версии» не влияют ни на скорость ОЗУ, ни на видеокарту.

7Zip

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

550x293  23 KB. Big one: 1027x548  20 KB

Ситуация с архивацией неоднозначная: с одной стороны – в одноканальном режиме (как при распаковке, так и при сжатии) ECC-память уверенно оказывается медленнее на 2%; с другой – в двухканальном режиме при сжатии ECC-память уверенно быстрее, а при распаковке – медленнее, а среднее арифметическое – быстрее на 0.65%.

Скорее всего, причина в следующем – пропускной способности памяти при одноканальном доступе процессору явно недостаточно, и поэтому чуть большая латентность ECC-памяти сказывается на производительности; а при двухканальном доступе ПСП полностью покрывает нужды CPU и поэтому чуть большая латентность памяти с коррекцией ошибок не сказывается на производительности. В любом случае зафиксировать существенного влияния на скорость архивации не получилось.

Cinebench

Тестовый пакет Cinebench содержит подтест как процессора, так и видеокарты.

550x293  20 KB. Big one: 1026x547  20 KB

Но ни первый, ни вторая никак не отреагировали на ECC-память.

Зато налицо явная зависимость видеокарты от ПСП – при одноканальном доступе результат в OpenGL оказался на 25% ниже, чем при двухканальном. Вспоминая результаты 3DMark и смотря на нынешние, можно заключить, что производительность интегрированной видеокарты хоть и зависит от ПСП, но ECC-память не оказывает на нее негативного влияния.

В продолжение рубрики «конспект админа» хотелось бы разобраться в нюансах технологий ОЗУ современного железа: в регистровой памяти, рангах, банках памяти и прочем. Подробнее коснемся надежности хранения данных в памяти и тех технологий, которые несчетное число раз на дню избавляют администраторов от печалей BSOD.

Старые песни про новые типы

Сегодня на рынке представлены, в основном, модули с памятью DDR SDRAM: DDR2, DDR3, DDR4. Разные поколения отличаются между собой рядом характеристик — в целом, каждое следующее поколение «быстрее, выше, сильнее», а для любознательных вот табличка:

image alt text

Для подбора правильной памяти больший интерес представляют сами модули:

  • RDIMM — регистровая (буферизованная) память. Удобна для установки большого объема оперативной памяти по сравнению с небуферизованными модулями. Из минусов — более низкая производительность;

  • UDIMM (unregistered DRAM) — нерегистровая или небуферизованная память — это оперативная память, которая не содержит никаких буферов или регистров;

  • LRDIMM — эти модули обеспечивают более высокие скорости при большей емкости по сравнению с двухранговыми или четырехранговыми модулями RDIMM, за счёт использования дополнительных микросхем буфера памяти;

  • HDIMM (HyperCloud DIMM, HCDIMM) — модули с виртуальными рангами, которые имеют большую плотность и обеспечивают более высокую скорость работы. Например, 4 физических ранга в таких модулях могут быть представлены для контроллера как 2 виртуальных;

  • FBDIMM — полностью буферизованная DIMM с высокой надежностью, скоростью и плотностью размещения.

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

Для всех типов памяти SDRAM есть общий набор базовых характеристик, влияющий на объем и производительность:

  • частота и режим работы;

  • ранг;

  • тайминги.

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

Частота и режим работы

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

Режимы работы можно условно разделить на четыре группы:

  • Single Mode — одноканальный или ассиметричный. Включается, когда в системе установлен только один модуль памяти или все модули отличаются друг от друга. Фактически, означает отсутствие многоканального доступа;

  • Dual Mode — двухканальный или симметричный. Слоты памяти группируются по каналам, в каждом из которых устанавливается одинаковый объем памяти. Это позволяет увеличить скорость работы на 5-10% в играх, и до 70% в тяжелых графических приложениях. Модули памяти необходимо устанавливать парами на разные каналы. Производители материнских плат обычно выделяют парные слоты одним цветом;

  • Triple Mode — трехканальный режим работы. Модули устанавливаются группами по три штуки — на каждый из трех каналов. Аналогично работают и последующие режимы: четырехканальные (quad-channel), восьмиканальные (8-channel memory) и т.п.

  • Flex Mode — позволяет увеличить производительность оперативной памяти при установке двух модулей различного объема, но с одинаковой частотой.

  • Для максимального быстродействия лучше устанавливать одинаковые модули с максимально возможной для системы частотой. При этом используйте установку парами или группами — в зависимости от доступного многоканального режима работы.

Ранги для памяти

Ранг (rank) — область памяти из нескольких чипов памяти в 64 бита (72 бита при наличии ECC, о чем поговорим позже). В зависимости от конструкции модуль может содержать один, два или четыре ранга.

Узнать этот параметр можно из маркировки на модуле памяти. Например уKingston число рангов легко вычислить по одной из трех букв в середине маркировки: S (Single — одногоранговая), D (Dual — двухранговая), Q (Quad — четырехранговая).

Пример полной расшифровки маркировки на модулях Kingston:

image alt text

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

Перед покупкой модулей есть смысл уточнить, какие типы памяти поддерживает процессор сервера. Например, Xeon E5/E5 v2 поддерживают одно-, двух- и четырехранговые регистровые модули DIMM (RDIMM), LRDIMM и не буферизированные ECC DIMM (ECC UDIMM) DDR3. А процессоры Xeon E5 v3 поддерживают одно- и двухранговые регистровые модули DIMM, а также LRDIMM DDR4.

Немного про скучные аббревиатуры таймингов

Тайминги или латентность памяти (CAS Latency, CL) — величина задержки в тактах от поступления команды до ее исполнения. Числа таймингов указывают параметры следующих операций:

  • CL (CAS Latency) — время, которое проходит между запросом процессора некоторых данных из памяти и моментом выдачи этих данных памятью;

  • tRCD (задержка от RAS до CAS) — время, которое должно пройти с момента обращения к строке матрицы (RAS) до обращения к столбцу матрицы (CAS) с нужными данными;

  • tRP (RAS Precharge) — интервал от закрытия доступа к одной строке матрицы, и до начала доступа к другой;

  • tRAS — пауза для возврата памяти в состояние ожидания следующего запроса;

  • CMD (Command Rate) — время от активации чипа памяти до обращения к ней с первой командой.

Разумеется, чем меньше тайминги — тем лучше для скорости. Но за низкую латентность придется заплатить тактовой частотой: чем ниже тайминги, тем меньше допустимая для памяти тактовая частота. Поэтому правильным выбором будет «золотая середина».

Существуют и специальные более дорогие модули с пометкой «Low Latency», которые могут работать на более высокой частоте при низких таймингах. При расширении памяти желательно подбирать модули с таймингами, аналогичными уже установленным.

RAID для оперативной памяти

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

Для коррекции нерегулярных ошибок применяется ECC-память, которая содержит дополнительную микросхему для обнаружения и исправления ошибок в отдельных битах.

Метод коррекции ошибок работает следующим образом:

  1. При записи 64 бит данных в ячейку памяти происходит подсчет контрольной суммы, составляющей 8 бит.

  2. Когда процессор считывает данные, то выполняется расчет контрольной суммы полученных данных и сравнение с исходным значением. Если суммы не совпадают — это ошибка.

  3. Если ошибка однобитовая, то неправильный бит исправляется автоматически. Если двухбитовая — передается соответствующее сообщение для операционной системы.

Технология Advanced ECC способна исправлять многобитовые ошибки в одной микросхеме, и с ней возможно восстановление данных даже при отказе всего модуля DRAM.

image alt text

Исправление ошибок нужно отдельно включить в BIOS

Большинство серверных модулей памяти являются регистровыми (буферизованными) — они содержат регистры контроля передачи данных.

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

image alt text

Источник — nix.ru

Все регистровые модули и память с полной буферизацией также поддерживают ECC, а вот обратное не всегда справедливо. Из соображений надежности для сервера лучше использовать регистровую память.

Многопроцессорные системы и память

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

Если пришлось поставить в сервер модули с меньшей частотой, чем требуется материнской плате — нужно включить в BIOS дополнительные циклы ожидания при работе процессора с памятью.

Для автоматического учета всех правил и рекомендаций по установке модулей можно использовать специальные утилиты от вендора. Например, у HP есть Online DDR4 (DDR3) Memory Configuration Tool.

Итого

Вместо пространственного заключения приведу общие рекомендации по выбору памяти:

  • Для многопроцессорных серверов HP рекомендуется использовать только регистровую память c функцией коррекции ошибок (ECC RDIMM), а для однопроцессорных — небуферизированную с ECC (UDIMM). Планки UDIMM для серверов HP лучше выбирать от этого же производителя, чтобы избежать самопроизвольных перезагрузок.

  • В случае с RDIMM лучше выбирать одно- и двухранговые модули (1rx4, 2rx4). Для оптимальной производительности используйте двухранговые модули памяти в конфигурациях 1 или 2 DIMM на канал. Создание конфигурации из 3 DIMM с установкой модулей в третий банк памяти значительно снижает производительность.

  • Из тех же соображений максимальной скорости желательно избегать использования четырехранговой памяти RDIMM, поскольку она снижает частоту до 1066 МГц в конфигурациях с одним модулем на канал, и до 800 МГц — в конфигурациях с двумя модулями на канал. Справедливо для серверов на базе Intel Xeon 5600 и Xeon E5/E5 v2.

Список короткий, но здесь все самое необходимое и наименее очевидное. Конечно же, старый как мир принцип RTFM никто не отменял.

На чтение 9 мин Просмотров 14.5к. Опубликовано 08.09.2021 Обновлено 13.09.2021

Оглавление

  1. Память с коррекцией ошибок
  2. Принцип работы
  3. Однобитовые ошибки
  4. Регистровая память
  5. Чем отличается серверная оперативная память от обычной
  6. Чем еще отличается ОЗУ для сервера
  7. Нужна ли серверная память в обычном компьютере
  8. Почему серверная память не работает на обычных компьютерах
  9. Где необходима ОЗУ c ECC?

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

В серверах и рабочих станциях используется не совсем обычная оперативная память.

Основные ее отличия — это поддержка специфических технологий, таких как контроль четности и ECC (коррекция ошибок).

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

Рассмотрим подробнее технологии, которые применяют в серверной памяти ⇓

  • Error-Correcting Code (ECC) или память с коррекцией ошибок;
  • Регистр между микросхемами модуля и контроллером памяти. Так называемая регистровая оперативка.

Память с коррекцией ошибок

ECC (Error-Correcting Code) позволяет исправлять некоторые ошибки в процессе работы оперативной памяти. В том числе, случайные неточности, то есть те, которые могут возникать под воздействием электромагнитных помех или высокоэнергетических элементарных частиц.

Подобная погрешность появляется из-за изменения значения одного бита в машинном слове. Результат такой ошибки может быть самым непредсказуемым. От изменения одного символа в набранном тексте до зависания всей системы.

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

Принцип работы

ECC модуль имеет дополнительные микросхемы, по одной на каждые 8 чипов. То есть, при одностороннем дизайне модуля, будет задействовано 9 чипов вместо привычных 8. А при двухстороннем — 18 вместо 16. В дополнительных чипах лежат контрольные суммы машинных слов, хранящихся в памяти.

Обычная DDR3 и серверная DDR3 ECC reg

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

Если ОЗУ использует только технологию ECC, то это не совсем серверная оперативная память. Она рассчитана, в первую очередь, на профессиональные рабочие станции.

Для использования ECC RAM ОЗУ требуется поддержка как со стороны процессора, в котором размещен контроллер памяти, так и со стороны материнской платы. Впрочем, у не самых дешевых CPU и системных плат подобная поддержка нередко есть. Следовательно, память с коррекцией ошибок на них успешно заработает.

Какие преимущества получит обычный домашний или офисный компьютер в этом случае? Теоретически, он будет стабильнее работать. Но стоит учитывать, что применение Error-Correcting Code требует определенных вычислительных мощностей, как следствие, быстродействие снижается, пусть и не намного.

Однобитовые ошибки

Бит представляет собой единую двоичную цифру (1 или 0), причем восемь битов формируют байт — исторически наименьшую единицу адресной памяти, которую компьютеры считают либо как одно число, либо букву. Однобитовая ошибка заключается в том, что электрический заряд бит изменяется, переворачивая его от 0 до 1 или наоборот.

Причины однобитовых ошибок возникают в двух основных вариантах — жестких и мягких ⇓

  • жесткие вызваны такими физическими факторами, как изменение температуры или мощности, а также напряжение на оборудовании;
  • мягкие возникают из-за более сложных факторов, таких как магнитные помехи и даже космические лучи.

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

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

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

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

Регистровая память

По-настоящему серверной можно считать только регистровую (registered) или буферизованную (buffered) память. Основная ее особенность — это наличие на модуле еще одной микросхемы — регистра.

Регистровая оперативная память DDR4

Регистровая оперативная память DDR4

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

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

Вся регистровая оперативка в обязательном порядке поддерживает технологию ECC. Такие модули обычно имеют маркировку ECC reg. Отличие памяти с ECC от регистровой, заключается только в отсутствии микросхемы регистра и компоновке чипов памяти на планке.

Первое поколение ОЗУ DDR PC2700 ECC REG

Первое поколение ОЗУ DDR PC2700 ECC REG

Чем отличается серверная оперативная память от обычной

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

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

Однако из-за дополнительной обработки, требуемой для чипов, ECC может оказать небольшое влияние на производительность. Это вряд ли является серьезной проблемой, когда пользователи уделяют первостепенное внимание минимизации ошибок и максимальному времени бесперебойной работы, которые обеспечивает ECC RAM, даже если она действительно имеет незначительный проигрыш в производительности.

Еще одна очевидная разница между памятью с ECC и без нее — это цена. Благодаря своим расширенным функциям память с коррекцией ошибок стоит дороже, чем обычная и поддерживается только на специализированных (дорогостоящих) материнских платах и ​​высокопроизводительных серверных процессорах, таких как Intel Xeon и т.п. В обычную метеринку вставить ее можно, но она там не заработает.

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

ECC RAM нельзя комбинировать с памятью без коррекции ошибок. Поэтому, если вы хотите возможности Error-Correcting Code, вам придется заменить всю оперативку на новые модули.

Чем еще отличается ОЗУ для сервера

  • вполне закономерно, что оперативная память для круглосуточно работающего сервера должна иметь максимальную надежность. Поэтому серверные модули проходят тщательное тестирование, в том числе, и в условиях высокого нагрева;
  • использование серверной регистровой оперативной памяти возможно только если процессор и материнская плата поддерживают ее;
  • серверная оперативная память, также как и обычная, выпускается в разных стандартах: ddr, ddr2, ddr3, ddr4. Физически, серверные модули сохраняют совместимость с десктопными, но работоспособность в обычных материнских платах невозможна;
  • скорость работы буферизованной RAM ниже, чем у стандартного модуля ОЗУ, а вот цена может оказаться заметно выше.

Нужна ли серверная память в обычном компьютере

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

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

Почему серверная память не работает на обычных компьютерах

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

ECC reg RAM настоятельно рекомендуется организациям, которые обрабатывают большие объемы данных клиентов в Интернете, для защиты от финансовых потерь, вызванных поврежденными данными, или репутационного ущерба, вызванного простоями после сбоя системы.

Можно ли играть на серверной оперативной памяти?

Что лучше серверная оперативная память или обычная?

Александр

Александр

В 1998 году — первое знакомство с компьютером. С 2002 года постоянно развиваюсь и изучаю компьютерные технологии и интернет. Сейчас военный пенсионер. Занимаюсь детьми, спортом и этим проектом.

Задать вопрос

Возможно, вам также будет интересно:

  • Что такое однотипные ошибки в русском языке
  • Что такое однотипные ошибки в диктанте
  • Что такое общая файловая ошибка при доступе
  • Что такое общая ошибка установки
  • Что такое общая ошибка средства импорта

  • Понравилась статья? Поделить с друзьями:
    0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии