Какие процессоры поддерживают ecc память

Какие процессоры поддерживают ecc память

ECC-память (англ. error-correcting code memory , память с коррекцией ошибок) — тип компьютерной памяти, которая автоматически распознаёт и исправляет спонтанно возникшие изменения (ошибки) битов памяти. Память не поддерживающая коррекцию ошибок, обозначается non-ECC.

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

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

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

На практике широко применяется DDR* SDRAM ECC-память для серверов с кодом класса SECDED (исправление одиночных и детектирование двойных ошибок). На модулях памяти на каждые 8 микросхем добавляется ещё по одной микросхеме, которая хранит ECC-коды размером 8 бит на каждые 64 бита основной памяти [2] .

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

Содержание

Описание проблемы [ править | править код ]

Электромагнитные помехи внутри компьютерной системы способны спонтанно поменять состояние ячейки компьютерной памяти. Самой частой причиной такого изменения являются нейтроны из космических лучей [3] . Поэтому частота ошибок в компьютерных системах возрастает при увеличении высоты. Так, поток нейтронов в 3,5 раза больше на высоте 1,5 км и в 300 раз больше на высоте 10-12 км (типичной высоте полёта пассажирских самолётов), чем на уровне моря [4] . Поэтому системы, работающие на большой высоте, требуют большей защиты.

Например, на космическом аппарате Кассини-Гюйгенс установлены два идентичных устройства записи, каждое из которых содержит 2,5 гигабита памяти. На протяжении первых 2,5 лет полёта регистрировалось примерно постоянное количество ошибок каждый день: примерно 280 ошибок в день. Однако в течение одного дня (6 ноября 1997 года) число ошибок возросло в четыре раза. Считается, что это произошло из-за геомагнитной бури [5] (также, протонная буря [en] ), которая была зафиксирована спутником GOES 9 [6] .

Читайте также:  Контрольная по математике помогите решить

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

Исследование, проведённое на большом количестве серверов Google, показало, что количество ошибок может быть в пределах от 25 000 до 70 000 ошибок за миллиард рабочих часов (англ. device hours ) на мегабит (то есть 2,5-7,0 × 10 −11 ошибок / бит·час) [8] .

Технология [ править | править код ]

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

Более надёжным является подход, при котором используется коды с коррекцией ошибок. Самым часто используемым кодом с коррекцией ошибок является код Хэмминга. Большинство памяти с коррекцией ошибок, используемых в современных компьютерах, могут исправлять ошибку одного бита в одном 64-битном машинном слове и определить, но не исправить, ошибку в двух битах в одном 64-битном слове [9] .

Наиболее эффективный подход к исправлению ошибок зависит от вида ожидаемых ошибок. Часто предполагается, что изменение различных битов происходят независимо. В этом случае вероятность двух ошибок в одном слове пренебрежительно мала. Однако это предположение не выполняется для современных компьютеров. Технология коррекции ошибок Chipkill [en] (IBM), позволяет исправлять несколько ошибок, в том числе и при порче целого чипа памяти. Другие технологии коррекции памяти, которые не предполагают независимость ошибок в разных битах, включают Extended ECC [en] (Sun Microsystems), Chipspare [en] (Hewlett-Packard) и SDDC [en] (Intel).

Многие старые системы не сообщали об исправленных ошибках, сообщая только об обнаруженных ошибках, которые невозможно было исправить. Современные системы записывают как исправленные ошибки (CE, англ. correctable errors ), так и неисправляемые ошибки (UE, англ. uncorrectable errors ). Это позволяет вовремя заменить испорченную память: несмотря на то, что большое количество исправленных ошибок при отсутствии неисправляемых ошибок не влияет на корректность работы памяти, это может свидетельствовать о том, что для данного модуля памяти вероятность появления неисправляемых ошибок в будущем возрастёт [10] .

Читайте также:  История создания знака собачка

Преимущество и недостатки [ править | править код ]

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

Память с коррекцией ошибок работает на 2-3 % медленнее (часто для проверки сумм требуется один дополнительный такт контроллера памяти), чем обычная память, в зависимости от приложений [11] . Дополнительная логика, реализующая подсчет, проверку ECC и исправление ошибок, требует логических ресурсов и времени на свою работу либо в самом контроллере памяти, либо в интерфейсе между CPU и контроллером памяти [12] .

Мы уже рассказывали нашим читателям о том, что по некоторым неофициальным сведениям контроллер памяти DDR4, входящий в состав процессоров AMD Ryzen, будет способен работать с модулями, оснащёнными функцией коррекции ошибок ECC. Такие модули иногда называются 72-битными, поскольку содержат дополнительный чип, хранящий ECC-коды: 8 бит на каждые 64 бита основных данных. Такой подход позволяет исправлять один ошибочный бит и определять двойной, чего достаточно для подавляющего большинства задач, требующих повышенной надёжности подсистемы памяти.

Блок-схема платформы AM4, чипсет X370 (B350 не поддерживает деление линий PCIe 3.0 и имеет 6 линий PCIe 2.0)

Технология ECC широко применяется в серверах и рабочих станциях, но почему-то почти не встречается в настольных ПК, хотя соответствующие модули DIMM стоят ненамного дороже и, против общепринятого мнения, не уступают модулям без поддержки коррекции ошибок в производительности. В настоящее время Advanced Micro Devices официально признала, что интегрированный в Ryzen контроллер памяти полностью поддерживает память с коррекцией ошибок. Соответствующие модули должны без проблем работать с новыми процессорами при условии, что производитель системной платы развёл соответствующие дорожки на PCB. AMD также заявляет, что официальной валидации память ECC в случае с Ryzen не имеет, во всяком случае, пока.

Читайте также:  Как удалить полигон в 3ds max

Ничего удивительного в такой поддержке нет, поскольку блок контроллера памяти у Ryzen и Naples, скорее всего, общий, но в последнем случае используется больше каналов и имеется поддержка регистровых модулей (RDIMM). Теоретически, ничто не мешало бы реализовать поддержку последних и в Ryzen, поскольку зависит она исключительно от BIOS, а её наличие позволило бы использовать модули большей ёмкости в большем количестве, но, скорее всего, такой поддержки в BIOS плат с разъёмом AM4 не будет: регистровая память считается исключительно серверной и используется именно потому, что позволяет увеличить количество модулей на канал контроллера памяти без опасности его перегрузки.

В недавнем сообщении о процессорах Intel Core i7 и Xeon мы упоминали, что одним из наиболее привлекательных моментов продажи процессоров Xeon является совместимость с ECC RAM. Но что такое ECC RAM и кто может извлечь из этого пользу? Читайте дальше, чтобы узнать больше.

Что такое ECC RAM?

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

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

Кому следует использовать ECC RAM?

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

Как мы упоминали в нашем посте i7 против Xeon, оперативная память ECC доступна только на рабочих станциях с процессорами Intel Xeon.

Ссылка на основную публикацию
Как установить один кондиционер на две комнаты
Опубликовано Артём в 23.04.2019 23.04.2019 Многие из нас пользуются дома или на работе агрегатами для охлаждения воздуха в помещениях –...
Как узнать характеристики ноута
Доброго дня. Я думаю, что многие при работе за компьютером или ноутбуком сталкивались с безобидным и простым вопросом: «как узнать...
Как узнать характеристики сетевой карты
Здравствуйте, друзья! Тема сегодня общая – я расскажу, как узнать, какая сетевая карта установлена в ваш компьютер. Это понадобится, если...
Как установить обратный клапан для вентиляции
Запахи соседних квартир или домов вряд ли весьма привлекательны, особенно когда жарят рыбу или закипает на плите суп, или если...
Adblock detector