Часть природы оперативной памяти состоит в том, что она неизбежно терпит сбой. Эти ошибки обычно классифицируются как два основных типа: "hard fails" и "soft errors".
Soft errors и hard fails
Лучшее понимание "hard fails" таково - чип работает, а затем из-за какого-то недостатка, физического повреждения или другого события становится повреждённым и испытывает перманентный сбой. Для исправления этого типа отказа обычно требуется замена некоторой части аппаратного обеспечения памяти, например, чип, SIMM или DIMM. Коэффициент "hard fails" известен как HER.
Другой, более коварный тип отказа - это "soft errors" - непостоянный сбой. Который может не повторяться или происходить только в редкие промежутки времени. Коэффициент "soft errors" известен как SER.
В конце 1970-х годов Intel сделала вывод о "soft errors", который потряс индустрию памяти. Он обнаружил, что в 16-килобайтовых DRAM, которые были доступны в то время, альфа-частицы вызывают неприемлемо высокий процент "soft errors" или однократных сбоев (SEU). Поскольку альфа-частицы - это частицы с низкой энергией и могут быть остановлены чем-то тонким и лёгким, например, лист бумаги, стало ясно, что вызывающие "soft error" DRAM альфа-частицы, должны поступать из полупроводникового материала. Тестирование показало на используемые в то время микроэлементы тория и урана в пластиковых и керамических чип-упаковках. Это открытие заставило всех производителей памяти перенацелить свои производственные процессы на производство свободных от загрязнения материалов.
В настоящее время производители памяти полностью исключили источник альфа-частиц "soft errors" и более поздние открытия доказывают, что альфа-частицы теперь составляют лишь небольшую часть причины "soft errors" DRAM.
Как оказалось, сегодня самая большая причина "soft errors" - космические лучи. Исследователи IBM начал расследование потенциала наземных космических лучей в возникновении ошибок аналогичных альфа-частицам. Разница в том, что космические лучи - частицы высоких энергий и не могут быть остановлены листами бумаги или другими более мощными видами экранирования. Были произведены важные исследования по изучению космических лучей и их влияние на "soft errors" в памяти. Один интересный ряд экспериментов показал, что ошибки, вызванные космическим лучом, были устранены, когда DRAM переместили в подземный свод, защищённый более чем 50 футами скалы.
Ошибки, вызванные космическими лучами, представляют ещё большую проблему в SRAM, чем DRAMS, потому что количество заряда, необходимое для перевертывания бит в ячейке SRAM, меньше, чем требуется для переключения конденсатора ячейки DRAM. Космические лучи также серьёзная проблема для более высокой компактности памяти. По мере увеличения плотности чипа, выбить бит блуждающей частице становится проще. Некоторые предсказывали, что частота "soft error" 64 МБ DRAM вдвое больше, чем у чипов 16 МБ, а у DRAM 256 МБ - в четыре раза выше. Так как размер памяти продолжает расти, вполне вероятно, что также увеличатся и "soft error".
К сожалению, индустрия ПК в значительной степени не распознала эту причину ошибок памяти. Намного легче объяснить случайный и прерывистый характер "soft error"электростатическим разрядом, скачком напряжения и нестабильностью программного обеспечения, особенно сразу после установки новой версии операционной системы (ОС) или крупного приложения.
Хотя самой большой причиной "soft error" пожалуй являются космические лучи и другие радиационные события, они также могут быть вызваны следующим:
- Сильные сбои или шум на линии - это может быть вызвано неисправным источником питания в системе или дефектной мощностью на выходе.
- Неверный тип или скорость. Память должна быть для чипсета правильного типа и соответствовать скорости доступа к системе.
- Радиочастотная (RF) помеха - вызвана радиопередатчиками в непосредственной близости к системе. Может генерировать электрические сигналы в системной проводке и схемах. Имейте в виду, что широкое использование беспроводных сетей, клавиатур, мышей и других устройств, может привести к большему риску радиочастотных помех.
- Статические разряды. Эти разряды вызывают сильные изменяющие данные всплески мощности.
- Сбои тайминга - данные не поступают в нужное место в надлежащее время, вызывая ошибки. Часто возникает из-за неправильных настроек памяти в BIOS Setup, которая оценивается медленнее, чем требуется системе, или разогнанному процессору и другим системным компонентам
- Тепловыделение. Высокоскоростные модули памяти нагреваются сильнее, чем более старые. Модули RDRAM RIMM были первой памятью, включающей интегрированные теплораспределители, а многие модули памяти DDR, DDR2, DDR3 и DDR4 с высокой производительностью теперь включают в себя распределители тепла, которые помогают бороться с его накоплением.
Большинство из этих проблем не приводят к постоянному сбою чипов, (хотя постоянная плохая мощность или статическое напряжение могут повредить чипы), но могут вызвать кратковременные проблемы с данными.
Как справиться с этими ошибками? Лучший способ для решения этой проблемы - повысить отказоустойчивость системы. Это означает реализацию способов обнаружения и, возможно, исправления ошибок в системах ПК. Для обеспечения отказоустойчивости в современных ПК используются три основных уровня и метода:
- Nonparity
- Parity
- ECC
Nonparity системы не имеют отказоустойчивости. Единственная причина, почему они используются - низкая стоимость. Никакой дополнительной памяти, как в случае с методами контроля parity (чётности) или ECC, не требуется.
Поскольку байт данных типа parity имеет 9 бит против 8 для nonparity, стоимость памяти приблизительно на 12,5% выше. Кроме того, упрощён контроллер памяти nonparity, потому что ему не нужны логические выходы для вычисления бит проверки чётности или ECC.
Портативные системы, которые учитывают минимизацию мощности, могут выиграть от возникающего в результате уменьшения количества чипов DRAM снижения мощности памяти. И наконец, шина данных памяти системы более узкая, что уменьшает количество буферов данных. Статистическая вероятность сбоев памяти современного офисного настольного компьютера сейчас оценивается примерно как одна ошибка за несколько месяцев. Ошибки будут более или менее частыми в зависимости от того, сколько у вас памяти.
Эта частота ошибок может быть приемлемой для low-end систем, которые не используются для критически важных приложений. В этом случае высокая рыночная цена, вероятно, не может оправдывать дополнительную стоимость parity или памяти ECC, и поэтому такие ошибки допустимы.