Четность RAM - RAM parity
Четность RAM проверка - это хранение избыточный бит четности представляющий паритет (нечетное или четное) небольшого количества компьютерных данных (обычно один байт), хранящихся в оперативная память, и последующее сравнение сохраненной и вычисленной четности с определить, произошла ли ошибка данных.
Бит четности изначально хранился в дополнительных отдельных микросхемах памяти; с введением подключаемых модулей DIMM, SIMM и т. д. они стали доступны без четности и с четностью (с дополнительным кусочек на байт, сохраняя 9 бит на каждые 8 бит фактических данных) версии.
История
Ранние компьютеры иногда требовали использования ОЗУ с проверкой четности, и проверку четности нельзя было отключить. Ошибка четности обычно приводила к остановке машины с потерей несохраненных данных; обычно это лучший вариант, чем сохранение поврежденных данных. ОЗУ с логической четностью, также известное как ОЗУ с поддельной четностью, это ОЗУ без четности, которое можно использовать в компьютеры которые требуют четности RAM. ОЗУ логической четности пересчитывает всегда действующий бит четности каждый раз, когда байт считывается из памяти, вместо того, чтобы сохранять бит четности при записи в память; вычисленный бит четности, который не покажет, были ли данные повреждены (отсюда и название «поддельная четность»), предоставляется логике проверки четности. Это способ использования более дешевой 8-битной RAM в системе, предназначенной для использования только 9-битной RAM.
Ошибки памяти
В 1970-80-е годы надежность ОЗУ часто была не идеальной; в частности, модули DRAM 4116, которые были промышленным стандартом с 1975 по 1983 год, имели значительную частоту отказов, поскольку они использовали тройное напряжение (-5, +5 и +12), что приводило к высоким рабочим температурам. К середине 1980-х они уступили место DRAM с одним напряжением, таким как 4164 и 41256, что привело к повышению надежности. Однако до 1990-х годов ОЗУ не соответствовало современным стандартам надежности. С тех пор ошибки стали менее заметными, поскольку простая ОЗУ с проверкой четности вышла из употребления; либо они невидимы, поскольку не обнаруживаются, либо исправляются невидимо с помощью ОЗУ ECC. Современная оперативная память с большим основанием считается надежной, а оперативная память для обнаружения ошибок в значительной степени вышла из употребления для некритичных приложений. К середине 1990-х годов большая часть DRAM отказалась от проверки четности, поскольку производители были уверены, что в ней больше нет необходимости. Некоторые машины, поддерживающие четность или ECC, позволяют включать или отключать проверку в BIOS, что позволяет использовать более дешевую оперативную память без четности. Если используется ОЗУ с проверкой четности, то набор микросхем обычно использует ее для исправления ошибок, а не останавливает машину на однобитовой ошибке четности.
Однако, как говорилось в статье о Память ECC, ошибки, хотя и не повседневные события, не так уж редки. Даже при отсутствии производственных дефектов естественное излучение вызывает случайные ошибки; тесты на Google Многие серверы обнаружили, что ошибки памяти не были редкими событиями и что частота ошибок памяти и диапазон частот ошибок для разных модулей DIMM были намного выше, чем сообщалось ранее.[1]
Исправление ошибки
Простой идти / не идти проверка четности требует, чтобы в памяти были дополнительные избыточные биты помимо тех, которые необходимы для хранения данных; но если доступны дополнительные биты, их можно использовать как для исправления, так и для обнаружения ошибок. Ранее использовавшаяся память, например, в IBM PC / AT (FPM и EDO память) были доступны в версиях, которые не поддерживали проверку или проверку четности[2] (в более ранних компьютерах, которые использовали отдельные чипы RAM, а не DIMM или же SIMM модули, для хранения битов четности использовались дополнительные микросхемы); если компьютер обнаружил ошибка четности он отобразит сообщение об этом и остановится. В SDRAM и DDR модули, которые заменили более ранние типы, обычно доступны либо без проверки ошибок, либо с ECC (полное исправление, а не только контроль четности).[2]
Пример однобитовой ошибки, которая будет проигнорирована системой без проверки ошибок, остановит машину с проверкой четности или будет незаметно исправлена ECC: один бит застревает на 1 из-за неисправного чипа, или становится 1 из-за фона или космического излучения; загружается электронная таблица, хранящая числа в формате ASCII, и число "8" сохраняется в байте, который содержит застрявший бит в качестве восьмого бита; затем в электронную таблицу вносится еще одно изменение, и она сохраняется. Однако цифра «8» (00111000 двоичная) превратилась в «9» (00111001).
Если сохраненная четность отличается от четности, вычисленной на основе сохраненных данных, по крайней мере, один бит должен быть изменен из-за повреждения данных. Необнаруженные ошибки памяти могут иметь результаты от необнаруживаемых и без последствий до необратимого повреждения хранимых данных или сбоя компьютера. В случае домашнего ПК, где целостность данных часто воспринимается как не имеющая большого значения - конечно, верно, скажем, для игр и просмотра веб-страниц, в меньшей степени для интернет-банкинга и домашних финансов - память без контроля четности является доступным вариантом. Однако, если требуется целостность данных, память с проверкой четности остановит работу компьютера и предотвратит влияние поврежденных данных на результаты или сохраненные данные, хотя при этом будут потеряны промежуточные не сохраненные данные и не будет использоваться до тех пор, пока неисправная RAM не будет заменена. За счет некоторых вычислительных накладных расходов, которые незначительно влияют на современные быстрые компьютеры, обнаруженные ошибки могут быть исправлены - это становится все более важным на сетевых машинах, обслуживающих множество пользователей.
ОЗУ типа ECC
RAM с ECC или же Код исправления ошибок может обнаружить и исправить ошибки. Как и в случае с ОЗУ с проверкой четности, необходимо хранить дополнительную информацию и выполнять дополнительную обработку, что делает ОЗУ с ECC более дорогим и немного медленнее, чем ОЗУ без проверки четности и логической четности. Этот тип Память ECC особенно полезен для любого приложения, где время безотказной работы является проблемой: биты с ошибками в слове памяти обнаруживаются и исправляются на лету, не влияя на приложение. Возникновение ошибки обычно регистрируется операционной системой для анализа техническим ресурсом. В случае, если ошибка повторяется, время простоя сервера можно запланировать для замены неисправного блока памяти. Этот механизм обнаружения и исправления известен как ЕЭС или же Расширенная коррекция ошибок.