Что такое ECC RAM и почему он лучше?


31

Я видел рассуждения об использовании оперативной памяти ECC на серверах. Почему лучше?


2
На вопрос ответил другой вопрос: serverfault.com/questions/5817/…
sh-beta

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

И каковы различные возможные последствия появления таких ошибок памяти? Например, я только что отключил сервер, который был в сети 5 лет без перерыва (с ECC RAM), и в целом все прошло нормально, у меня никогда не было жалоб от клиентов, которые были размещены там или когда-либо испытывали серьезные ошибка с этим ... То же самое с моим опытом настольного компьютера - BSOD здесь и там довольно редко, но это все? :)
Денис Воловик

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

Ответы:


28

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


5
Небольшая ошибка в любом месте, включая чей-то пакет финансирования малого бизнеса, может быть очень маленькой или очень большой. Все зависит от того, какой бит.
Zan Lynx

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

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

29

Отличное исследование в реальном мире:

Ошибки DRAM в дикой природе: крупномасштабное полевое исследование (pdf)

Эта статья представляет собой первое крупномасштабное исследование ошибок памяти DRAM в полевых условиях. Он основан на данных, собранных с серверного парка Google за период более двух лет, что составляет много миллионов дней DIMM. DRAM в нашем исследовании охватывает несколько поставщиков, плотности и технологии DRAM (DDR1, DDR2 и FBDIMM).

В статье рассматриваются следующие вопросы: Насколько распространены ошибки памяти на практике? Каковы их статистические свойства? Как на них влияют внешние факторы, такие как температура и использование системы? И как они варьируются в зависимости от конкретных микросхем, таких как плотность микросхем, технология памяти и возраст DIMM?

Мы находим, что во многих аспектах ошибки DRAM в поле ведут себя совсем не так, как принято считать. Например, мы наблюдаем частоту появления ошибок DRAM на несколько порядков выше, чем сообщалось ранее, с частотой FIT (сбоев во времени на миллиард часов работы устройства) от 25 000 до 70 000 на Мбит и более 8% затронутых модулей DIMM в год. Мы приводим убедительные доказательства того, что в ошибках памяти преобладают жесткие, а не мягкие ошибки, на которых основное внимание уделяется предыдущей работе. Мы находим, что из всех факторов, которые влияют на поведение DIMM по ошибкам в полевых условиях, температура оказывает удивительно небольшое влияние. Наконец, в отличие от распространенных опасений, мы не видим никаких признаков того, что частота ошибок для каждого DIMM увеличивается с новыми поколениями модулей DIMM.

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

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

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

В этой статье изучались частота и характеристики ошибок DRAM в большом парке товарных серверов. Наше исследование основано на данных, собранных за более чем 2 года, и охватывает модули DIMM разных поставщиков, поколений, технологий и мощностей. Все модули DIMM были оснащены логикой коррекции ошибок (ECC) для исправления как минимум однобитовых ошибок.


5
+1 хороший репортаж. Хотя я не знаю частоты ошибок, не связанных с ECC, я оцениваю частоту ошибок, не связанных с ECC, примерно такой же, как и частоты ошибок ECC на ГБ. Одинаковые используемые микросхемы ОЗУ используются как в DIMM ECC, так и в других DIMM (EIM DIMM просто используют 9/8 столько же чипов - 72 необработанных бита памяти для хранения 64-битного слова данных, а 8/9 - частота ошибок примерно такая же частота ошибок), и я не вижу причин, по которым у микросхемы ОЗУ частота ошибок будет значительно отличаться при установке в ECC DIMM по сравнению с DIMM без ECC.
Дэвид Кэри

9

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

более подробно здесь: память ECC: необходимость для серверов, а не для настольных ПК


1
Я не согласен со статьей. Я думаю, что все должны использовать ECC. Я не собирался сдаваться, но мне достаточно нового Core I7, что я наконец-то сделал. Тем не менее, я уверен, что мои 6 ГБ ОЗУ обнаруживают ошибки повсюду.
Zan Lynx

4
@zan, а в этих ошибках вы «уверены», каковы их последствия?
Джефф Этвуд

Не надо угадывать; исправляемые ошибки должны исказить MCE, которые могут быть зарегистрированы в ОС (системный журнал в Windows, / var / log / mcelog в Linux)
MikeyB

@JeffAtwood: Обычно ничего, но у меня был случайный синий экран без видимой причины. В тех системах, в которых у меня есть ECC, я буду видеть пару однобитовых ошибок каждый месяц.
Zan Lynx

@JeffAtwood: И, как и все, я уверен, мне иногда приходилось переустанавливать приложение (Office. Visual Studio.), Потому что оно явно сошло с ума. Ошибка приложения или ошибка ECC, приводящая к повреждению файла на диске? Кто знает, если у вас нет ECC?
Zan Lynx

5

Чтобы упростить задачу, приведу цитату из Википедии :

Электрические или магнитные помехи внутри компьютерной системы могут привести к тому, что один бит DRAM самопроизвольно переходит в противоположное состояние. Первоначально считалось, что это происходит главным образом из-за альфа-частиц, испускаемых загрязнителями в материале упаковки чипов, но исследования [5] показали, что большинство одноразовых («мягких») ошибок в чипах DRAM происходит в результате фонового излучения
...
Эту проблему можно решить с помощью модулей DRAM, которые содержат дополнительные биты памяти, и контроллеров памяти, которые используют эти биты. Эти дополнительные биты используются для записи четности или для использования кода, исправляющего ошибки

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.