Я видел обсуждение использования оперативной памяти ECC на серверах. Почему лучше?
Отличное исследование из реального мира:
Ошибки DRAM в дикой природе: крупномасштабное полевое исследование (pdf)
Эта статья представляет собой первое крупномасштабное исследование ошибок памяти DRAM в полевых условиях. Он основан на данных, собранных с парка серверов Google за период более двух лет, что составляет многие миллионы дней DIMM. DRAM в нашем исследовании охватывает нескольких поставщиков, плотности DRAM и технологии (DDR1, DDR2 и FBDIMM).
В статье рассматриваются следующие вопросы: Насколько распространены ошибки памяти на практике? Каковы их статистические свойства? Как на них влияют внешние факторы, такие как температура и загрузка системы? И как они зависят от конкретных факторов чипа, таких как плотность чипа, технология памяти и возраст DIMM?
Мы обнаружили, что во многих аспектах ошибки DRAM в полевых условиях ведут себя совсем не так, как принято считать. Например, мы наблюдаем частоту ошибок DRAM, которая на несколько порядков выше, чем сообщалось ранее, с коэффициентом FIT (количество отказов на миллиард часов работы устройства) от 25000 до 70000 на Мбит и более 8% DIMM в год. Мы предоставляем убедительные доказательства того, что среди ошибок памяти преобладают серьезные ошибки, а не мягкие ошибки, на которых сосредоточено большинство предыдущих работ. Мы обнаружили, что из всех факторов, влияющих на ошибочное поведение модуля DIMM в полевых условиях, температура оказывает удивительно небольшое влияние. Наконец, в отличие от того, о чем обычно опасаются, мы не наблюдаем никаких признаков того, что частота ошибок для каждого модуля DIMM увеличивается с новыми поколениями модулей DIMM.
Интересно, что большинство ошибок памяти были тяжелыми - серьезные ошибки памяти невозможно исправить, то есть память должна быть физически заменен как неисправный, тогда как программные ошибки памяти можно исправить, перезаписав память правильным значением. Это указывает на то, что ценность ECC довольно ограничена.
Обычно в системе памяти могут возникать ошибки двух типов. Первая называется повторяющейся или серьезной ошибкой. В этой ситуации часть оборудования сломана и будет постоянно возвращать неверные результаты. Бит может застрять, поэтому он всегда возвращает, например, «0», независимо от того, что в него записано. Серьезные ошибки обычно указывают на незакрепленные модули памяти, взорванные микросхемы, дефекты материнской платы или другие физические проблемы. Их относительно легко диагностировать и исправить, поскольку они последовательны и воспроизводимы.
Похоже, что все серверы, участвовавшие в исследовании, использовали ECC, поэтому мы не можем определить частоту ошибок ECC и non-ECC
В этой статье изучается частота и характеристики ошибок DRAM в большом парке стандартных серверов. Наше исследование основано на данных, собранных более чем за 2 года, и охватывает модули DIMM различных производителей, поколений, технологий и емкости. Все модули DIMM были оснащены логикой коррекции ошибок (ECC) для исправления как минимум одиночных битовых ошибок.
ECC RAM может восстанавливаться после небольших ошибок в битах, используя биты четности. Поскольку серверы являются общим ресурсом, для которого важны время безотказной работы и надежность, оперативная память ECC обычно используется с небольшой разницей в цене. ECC RAM также используется на рабочих станциях CAD / CAM, где небольшие битовые ошибки могут вызвать ошибки в расчетах, которые становятся более серьезными проблемами, когда проект отправляется в производство.
ECC имеет несколько преимуществ перед четностью. Во-первых, он может обнаруживать и исправлять однобитовые ошибки, и делать это без остановки всей системы. Многобитовые ошибки по-прежнему будут возвращать ошибку четности, но вероятность того, что это произойдет, астрономически мала в течение всего срока службы ПК, если только сама память не неисправна. ECC похожа на автострахование: оно покрывает большинство вещей, которые могут пойти не так, но не может предотвратить скопление нескольких автомобилей.
подробнее здесь: Память ECC: необходима для серверов, а не для настольных ПК
Чтобы упростить задачу, процитируем Википедия:
Электрические или магнитные помехи внутри компьютерной системы могут вызвать спонтанное переключение одного бита DRAM в противоположное состояние. Первоначально предполагалось, что это в основном связано с альфа-частицами, испускаемыми загрязнителями в упаковочном материале чипа, но исследование [5] показало, что большинство разовых («мягких») ошибок в чипах DRAM происходит в результате фонового излучения.
...
Эту проблему можно смягчить, используя модули DRAM, которые включают в себя дополнительные биты памяти, и контроллеры памяти, которые используют эти биты. Эти дополнительные биты используются для записи четности или для использования кода исправления ошибок.