Память с кодом для исправления ошибок может исправлять многобитовые ошибки в памяти

Что такое регистровая RDIMM-память и зачем нужен ECC

Память с кодом для исправления ошибок может исправлять многобитовые ошибки в памяти

Память с кодом для исправления ошибок может исправлять многобитовые ошибки в памяти

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

Бит четности изначально хранился в дополнительных отдельных микросхемах памяти; с введением подключаемых модулей DIMM, SIMM и т. д. они стали доступны без четности и с четностью (с дополнительным кусочек на байт, сохраняя 9 бит на каждые 8 ​​бит фактических данных) версии.

Память с кодом для исправления ошибок может исправлять многобитовые ошибки в памяти

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

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

Что такое FB-DIMM

FB-DIMM, Full Buffered Dual Inline Memory Module — полностью буферизованная DIMM — это планки ОЗУ DDR2. Плашки ОЗУ при этом используют последовательный интерфейс передачи данных между модулями памяти и контроллером «оперативки». В отличие от стандартных модулей RAM, они используют не 240-pin, а 96-pin из 240 возможных пинов. Такая организация работы позволяет организовывать с помощью контроллеров памяти большее количество каналов на материнской плате. Вплоть до 6 каналов. Данные модули памяти несовместимы с обычными планками «оперативки».

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

Память с кодом для исправления ошибок может исправлять многобитовые ошибки в памяти

Advanced Memory Buffer, AMB — микросхема, которая организует работу модулей памяти FB-DIMM. Эта микросхема располагается прямо на планке «оперативки».

Память с кодом для исправления ошибок может исправлять многобитовые ошибки в памяти

В один канал памяти при такой организации работы модулей ОЗУ возможна установка до 8 планок «оперативки». Это позволяет, в случае с RAM DDR2, добиться емкости ОЗУ до 192 Гигабайт на один сервер.

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

Память с кодом для исправления ошибок может исправлять многобитовые ошибки в памяти

Что такое RDIMM, для чего нужен регистр

Оперативная память в сокращении может называться ОЗУ. Ее также называют оперативным запоминающим устройством, памятью с произвольным доступом, RAM. ОЗУ также можно ласково назвать «оперативкой». RAM логически состоит из ячеек памяти. Каждая ячейка хранит количество бит, равное степени двойки. 2^3=8 бит, 2^4=16 бит, 2^5=32 бит, 2^6=64 бит. У каждой ячейки памяти есть свой адрес. Адрес ячейки «оперативки» выглядит следующим образом: FFFFFFFFF.

Регистровой памятью (Registered DIMM, RDIMM) называют модули ОЗУ, которые имеют на «борту» отдельный регистр для адресов «оперативки» и команд.

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

Регистровая память отличается от обычной, небуферизованной «оперативки», более высокими задержками при чтени и записи информации в модулях ОЗУ. Это происходит из-за того, что модули содержат дополнительный промежуточный узел — буфер. Чтение/запись производит контроллер памяти в процессоре или северном мосту материнской платы. Работа с этим узлом, естественно, требует дополнительного времени работы. Но при этом отметим то, что уменьшается нагрузка на процессор, так как буфер отвечает за непосредственную работу с банками памяти.

Каждый модуль ОЗУ содержит микросхему SPD (Serial Presence Detect). Данная микросхема содержит прошивку модуля памяти. Эта прошивка определяет работу более простых микросхем.

Память с кодом для исправления ошибок может исправлять многобитовые ошибки в памяти

Описание

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

История

Память с кодом для исправления ошибок может исправлять многобитовые ошибки в памяти

30-контактный SIMM модули памяти с 9-ю однобитными микросхемами памяти. Девятая микросхема используется для хранения четности.

Ранние компьютеры иногда требовали использования ОЗУ с проверкой четности, и проверку четности нельзя было отключить. Ошибка четности обычно приводила к остановке машины с потерей несохраненных данных; обычно это лучший вариант, чем сохранение поврежденных данных. ОЗУ с логической четностью, также известное как ОЗУ с поддельной четностью, это ОЗУ без четности, которое можно использовать в компьютеры которые требуют четности RAM. ОЗУ логической четности пересчитывает всегда действующий бит четности каждый раз, когда байт считывается из памяти, вместо того, чтобы сохранять бит четности при записи в память; вычисленный бит четности, который не покажет, были ли данные повреждены (отсюда и название «поддельная четность»), предоставляется логике проверки четности. Это способ использования более дешевой 8-битной RAM в системе, предназначенной для использования только 9-битной RAM.

Реализации

Обнаружение и исправление ошибок (EDAC) зависит от ожидаемого типа возникающих ошибок. Неявно предполагается, что сбой каждого бита в слове памяти независим, что приводит к маловероятности двух одновременных ошибок. Раньше так было, когда микросхемы памяти имели ширину в один бит, что было типично для первой половины 1980-х годов; более поздние разработки переместили много битов в один и тот же чип. Этот недостаток устраняется различными технологиями, в том числе IBM с Чипкилл, Sun Microsystems ‘ Расширенный ECC, Hewlett Packard с Chipspare, и Intel с Коррекция данных одного устройства (SDDC).

DRAM память может обеспечить повышенную защиту от мягкие ошибки полагаясь на коды исправления ошибок. Такие исправляющая память, известный как ECC или EDAC-защищенный память, особенно желательна для приложений с высокой отказоустойчивостью, таких как серверы, а также для приложений дальнего космоса из-за увеличения радиация. Некоторые системы также “скраб “память” путем периодического чтения всех адресов и обратной записи исправленных версий, если это необходимо для удаления программных ошибок.

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

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

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

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

Регистровая и буферизованная память — одно и то же

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

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

Краткая история оперативной памяти

Ниже приводится краткая история развития типов ОЗУ. Начинаем мы ее со времени выпуска памяти SDRAM. Это произошло в 1996 году. Пропускная способность данной RAM составила 1.1 GBps.

Следующей памятью в таблице указана память RDRAM. Она была выпущена в 1998 году. Это была абсолютно новая архитектура ОЗУ. Совершенно новый стандарт от фирмы Rambus. Было выпущено несколько поколений памяти. Она отличалась более высокими частотами, стабильными таймингами, вот только при этом задержки функционирования памяти были немного выше. К сожалению, данная память не выдержала конкуренции на рынке и вынуждена была сойти со сцены рынка памяти.

Читайте также:  Как узнать об отказе от уплаты НДФЛ из уведомления ФНС

Следующими в таблице указаны линейки RAM DDR. Double Data Rate Synchronous Dynamic Random Access Memory — синхронная динамическая память с произвольным доступом и удвоенной скоростью передачи данных. Этот стандарт ОЗУ был выпущен на рынок в 2000 году. Данная память используется и на текущий момент. При этом развивается стандарт для достижения более высоких скоростей функционирования.

Последним типом RAM DDR, выпущенным на рынок, на данный момент является память DDR4.

Ошибки памяти

В 1970-80-е годы надежность ОЗУ часто была не идеальной; в частности, модули DRAM 4116, которые были промышленным стандартом с 1975 по 1983 год, имели значительную частоту отказов, поскольку они использовали тройное напряжение (-5, +5 и +12), что приводило к высоким рабочим температурам. К середине 1980-х они уступили место DRAM с одним напряжением, таким как 4164 и 41256, что привело к повышению надежности. Однако до 1990-х годов ОЗУ не соответствовало современным стандартам надежности. С тех пор ошибки стали менее заметными, поскольку простая ОЗУ с проверкой четности вышла из употребления; либо они невидимы, поскольку не обнаруживаются, либо исправляются невидимо с помощью ОЗУ ECC. Современная оперативная память с большим основанием считается надежной, а оперативная память для обнаружения ошибок в значительной степени вышла из употребления для некритичных приложений. К середине 1990-х годов большая часть DRAM отказалась от проверки четности, поскольку производители были уверены, что в ней больше нет необходимости. Некоторые машины, поддерживающие четность или ECC, позволяют включать или отключать проверку в BIOS, что позволяет использовать более дешевую оперативную память без четности. Если используется ОЗУ с проверкой четности, то набор микросхем обычно использует ее для исправления ошибок, а не останавливает машину на однобитовой ошибке четности.

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

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

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

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

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

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

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

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

Полный гайд по RDIMM-памяти

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

Чем отличается регистровая память от буферизованной

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

Кстати, термин «регистровая» всё больше вытесняет термин «буферизованная». Сегодня также используется и полностью буферизованная DIMM-память — называется она FB-DIMM.

В полностью буферизованной DIMM буферизируются линии данных и управляющие линии. Буферизация происходит благодаря АМВ-контроллеру, которым комплектуется каждая плашка

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

Регистровая RDIMM-память — это оперативная память, имеющая регистры-буферы, которые контролируют передачу данных.

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

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

Чтобы понять, для чего именно нужны регистры, следует вспомнить как работает стандартная оперативная память: данные в ОЗУ подгружаются с жесткого диска — соответствующие запросы/команды идут от CPU (если быть точным — из контроллера памяти). Последний напрямую взаимодействует с чипами ОЗУ. Для домашних систем (включая игровые) такой конфигурации вполне достаточно, а вот для серверных систем — уже нет.

В серверных машинах частота обращений к ОЗУ очень высока, более того — в одно время могут высчитываться сразу несколько несвязанных команд. При такой нагрузке стандартная оперативная память очень быстро придёт в негодность, так как постоянно будет увеличенной ток на контроллер

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

Где это используется

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

В случае регистровой RDIMM наличие ECC-памяти является обязательным. Главное назначение ECC — автоматическая идентификация и дальнейшее распознавание ошибок битов памяти. Если при чтении МС* (МС — машинного слова), в цикле запись/чтение, будет потерян 1 бит, то коррекция ошибок позволит распознать предыдущее значение, которое было записано в ходе предыдущего цикла

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

Почему нет смысла в регистровой памяти в настольных системах

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

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

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

Далеко не каждая материнская плата/процессор поддерживает серверные типы памяти. Чтобы узнать — поддерживает ли ваша материнка и CPU регистровую память, смотрите спецификации оборудования.

Из консьюмерского класса оборудования точно поддерживают RDIMM-память процессоры Ryzen, среди серверного оборудования — Zeon. Только в случае с райзенами далеко не факт, что CPU будет взаимодействовать с RDIMM-памятью именно как с регистровой

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

Недостатки регистровой памяти

Недостатков у регистровой памяти довольно много. Чаще всего называют следующие:

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

Если речь идёт о SDRA-памяти, то там латенси будет актуальной исключительно для 1-го цикла. Напомним — в случае с SDRA-памятью речь идёт о цикле, состоящим сразу из нескольких серий).

FB-DIMM — это полностью буферизованная DIMM-память. Отличается высокой отказоустойчивостью и большой скоростью выполнения операций. По своей сути — это дальнейшая наработка registered-модулей.

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

А вот полностью буферизованная DIMM-память может использоваться только в серверных системах и это её главный недостаток для обычного пользователя ПК.

Поддерживают ли обычные процессоры и материнские платы ECC-память и/или RDIMM?

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

Читайте также:  О самых "популярных" и о том, как их устранять

Решения

Было разработано несколько подходов для борьбы с нежелательными переворотами битов, в том числе программирование с учетом иммунитета, Четность RAM память и ECC объем памяти.

Эту проблему можно смягчить, используя модули DRAM, которые включают в себя дополнительные биты памяти, и контроллеры памяти, которые используют эти биты. Эти дополнительные биты используются для записи паритет или использовать код исправления ошибок (ECC). Четность позволяет обнаруживать все однобитовые ошибки (фактически, любое нечетное количество ошибочных битов). Наиболее распространенный код исправления ошибок, a исправление одиночной ошибки и обнаружение двойной ошибки (ОТДЕЛЬНО) Код Хэмминга, позволяет исправлять однобитовые ошибки и (в обычной конфигурации с дополнительным битом четности) обнаруживать двухбитовые ошибки. Чипкилл ECC – более эффективная версия, которая также исправляет несколько битовых ошибок, включая потерю всего чипа памяти.

Регистровая память ˗ эксклюзивная серверная начинка

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

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

Для начала определимся с терминами.

Регистровая память (Registered Memory) обозначается аббревиатурой RDIMM, так как является разновидностью обычной DIMM памяти, которую мы хорошо знаем как DDR2, DDR3, DDR4.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Память с кодом для исправления ошибок может исправлять многобитовые ошибки в памяти

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

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

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

Память с кодом для исправления ошибок может исправлять многобитовые ошибки в памяти

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

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

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

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

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

Память с кодом для исправления ошибок может исправлять многобитовые ошибки в памяти

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

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

Исследование

Пример однобитовой ошибки, которая будет проигнорирована системой без проверки ошибок, остановит машину с проверкой четности или будет незаметно исправлена ​​ECC: один бит застревает на 1 из-за неисправного чипа, или становится 1 из-за фона или космического излучения; загружается электронная таблица, хранящая числа в формате ASCII, и символ «8» (десятичное значение 56 в кодировке ASCII) сохраняется в байте, который содержит застрявший бит в его самой нижней битовой позиции; затем в электронную таблицу вносятся изменения, и она сохраняется. В результате “8” (0011 1000 двоичный) молча превратился в “9” (0011 1001).

Преимущества и недостатки

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

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

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

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

Про ранги и виртуализацию в RAM

Память с кодом для исправления ошибок может исправлять многобитовые ошибки в памяти

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

Регистровая память (англ. Registered Memory, RDIMM , иногда buffered memory ) — вид компьютерной оперативной памяти, модули которой содержат регистр между микросхемами памяти и системным контроллером памяти. Наличие регистров уменьшает электрическую нагрузку на контроллер и позволяет устанавливать больше модулей памяти в одном канале. Регистровая память является более дорогой из-за меньшего объема производства и наличия дополнительных микросхем. Обычно используется в системах, требующих масштабируемости и отказоустойчивости в ущерб дешевизне (например в серверах). Хотя большая часть модулей памяти для серверов является регистровой и использует ECC, существуют как регистровые модули без ECC так и модули с ECC но без регистров (UDIMM ECC).

Читайте также:  Игровые сервисы недоступны

Из-за использования регистров возникает дополнительная задержка при работе с памятью. Каждое чтение и запись буферизуются в регистре на один такт, прежде чем попадут с шины памяти в чип DRAM, поэтому регистровая память считается на один такт более медленной чем нерегистровая (UDIMM, unregistered DRAM). Для памяти SDRAM, эта задержка существенна только для первого цикла в серии запросов (burst).

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

Некоторые новые системы используют полностью буферизованную память FB-DIMM, в которой производится буферизация не только управляющих линий, но и линий данных при помощи специального контроллера AMB, расположенного на каждом модуле памяти.

Для чего нужны регистры?

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

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

Чтобы повысить надежность системы «Оперативная память – Контроллер» между ними интегрируется регистровый модуль, в котором происходит предварительная буферизация информации при ее чтении или записи. Сам этот чип располагается непосредственно на планке оперативной памяти, которая поэтому и называется регистровой.

Исправление ошибки

Пример однобитовой ошибки, которая будет проигнорирована системой без проверки ошибок, остановит машину с проверкой четности или будет незаметно исправлена ​​ECC: один бит застревает на 1 из-за неисправного чипа, или становится 1 из-за фона или космического излучения; загружается электронная таблица, хранящая числа в формате ASCII, и число “8” сохраняется в байте, который содержит застрявший бит в качестве восьмого бита; затем в электронную таблицу вносится еще одно изменение, и она сохраняется. Однако цифра «8» (00111000 двоичная) превратилась в «9» (00111001).

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

ОЗУ типа ECC

RAM с ECC или же Код исправления ошибок может обнаружить и исправить ошибки. Как и в случае с ОЗУ с проверкой четности, необходимо хранить дополнительную информацию и выполнять дополнительную обработку, что делает ОЗУ с ECC более дорогим и немного медленнее, чем ОЗУ без проверки четности и логической четности. Этот тип Память ECC особенно полезен для любого приложения, где время безотказной работы является проблемой: биты с ошибками в слове памяти обнаруживаются и исправляются на лету, не влияя на приложение. Возникновение ошибки обычно регистрируется операционной системой для анализа техническим ресурсом. В случае, если ошибка повторяется, время простоя сервера можно запланировать для замены неисправного блока памяти. Этот механизм обнаружения и исправления известен как ЕЭС или же Расширенная коррекция ошибок.

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

Теперь поговорим об особенностях регистровой памяти. Это полезная информация, особенно для тех, кто возжелал с ее помощью апгрейдить свой ПК:

Дополнительный буферный элемент в структуре связи между ОЗУ и контроллером влияет на быстродействие памяти, ведь каждое обращение к регистрам производится потактово. А значит, на величину такта такая память будет медленнее обычной. Если сравнивать с SDRAM то задержка имеет место для начального цикла запросов.

Вот такая она, регистровая память.

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

На этом я заканчиваю нашу беседу и желаю вам всем процветания и успехов.

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

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

Память с кодом для исправления ошибок может исправлять многобитовые ошибки в памяти

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

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

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

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

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

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

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

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

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

Как опознать RDIMM?

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

Дело в том, регистровая память используется исключительно как серверная. А значит, в ней обязательно должна быть реализована технология ECC (error-correcting code memory), назначение которой ˗ коррекция ошибок в считываемой из ОЗУ информации. Специальный процессор, так же установленный на плашке оперативки, сверяя её с исходными данными, записанными в память, и способен при этом обнаружить несоответствие бита в одном машинном слове.

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

Чтобы не запутаться в подсчёте микросхем я все-таки предлагаю обращать внимание на маркировку, по которой вы легко определите регистровую память. Просто прочитайте, что написано в конце: если есть символы «R» или «REG» то это она.

Использованная литература

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

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

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

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

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

Ваш адрес email не будет опубликован.