#факты |Проверка оперативной памяти на ошибки

Продолжаем наше ранее начатое знакомство с важнейшим компонентом компьютера и любого подобного ему цифрового устройства: оперативной памятью. В иерархии компьютерной памяти она занимает 1 из самых верхних ступеней. Сегодня трудно поверить, что на заре микрокомпьютерной эпохи оперативная память не стандартизировалась и была проприетарной. Иными словами, разработчики компьютеров наделяли свои устройства не похожими на другие модулями памяти. Но время не стояло на месте и пришла пора первого стандартного линейного модуля SIMM (single in-line memory module, модуль памяти с односторонним расположением микросхем). Порой модули памяти называют еще и «планками». О них, а также о методах поиска ошибок, мы сегодня и поговорим.

SIMM-модули памяти

#факты |Проверка оперативной памяти на ошибки

Этот модуль обладал 30-контактным (30-пиновым) креплением (коннектором). Его размер составлял примерно 9 х 2 сантиметров. В компьютер нужно было установить 2 SIMM-модуля, в большинстве случаев следовало подбирать одинаковые по скорости и объему. Это было связано с ограничениями системной шины. Допустим, вы хотите установить 2 8-мегабайтных модуля, чтобы общий объем оперативной памяти составил 16 мегабайт.

Каждый SIMM-модуль мог отправлять 8 бит данных в 1 момент времени. При этом системная шина могла пропустить одновременно 16 бит. Впоследствии модули SIMM стали несколько крупнее: примерно 11 х 2,5 сантиметров. Модули нового типа обрели 72-пиновые коннекторы, благодаря чему была расширена полоса пропускания и появилась возможность поддержки оперативной памяти до 256 мегабайт. В свое время этот объем памяти казался поистине гигантским.

DIMM-модули памяти

#факты |Проверка оперативной памяти на ошибки

Скорость и пропускная способность процессоров росла и памяти следовало соответствовать растущим требованиям к производительности вычислительных машин. Ответом на веления времени стали модули памяти с двухсторонним расположением микросхем DIMM (dual in-line memory module). Они обладали 168- или 184-пиновыми коннекторами и размерами примерно 14 х 2,5 сантиметров.

Объем модулей DIMM составлял от 8 мегабайт до 1 гигабайта. Их уже было необязательно ставить парами, можно было обойтись и одной планкой. Дело в том, что DIMM-модуль, микросхемы которого расположены с обеих сторон планки, можно рассматривать в качестве 2 слитых воедино модулей SIMM. Большинство модулей памяти для PC, а также для Mac G5 были 2,5-вольтовыми. Но в компьютерах Mac G4 применялись 3,3-вольтовые планки оперативной памяти. Память RIMM по размеру и конфигурации контактов (пинов) соответствует DIMM, но ее специальная шина памяти существенно повышает скорость работы. Более подробно о памяти RIMM и других типах памяти с произвольным доступом мы уже говорили.

С ноутбуками история повторилась. Многие производители в начале отдавали предпочтение проприетарным модулям. Но со временем распространение стал получать стандарт SODIMM (small outline dual in-line memory module), являющийся миниатюрной версией DIMM. Его габариты составляют приблизительно 5 х 2,5 сантиметров. SODIMM обладают 114- или 200-пиновыми коннекторами. В субноутбуках нашли применение модули MicroDIMM со 144- или 172-пиновыми коннекторами. По размеру они еще меньше «ноутбучных» планок.

Паритетный метод проверки памяти на ошибки

#факты |Проверка оперативной памяти на ошибки

Современные модули памяти являются достаточно надежными компонентами. В большинстве модулей присутствует контроллер памяти, который в начале работы проверяет устройство на ошибки. В чипах с встроенной системой проверки на ошибки чаще всего используется метод, именуемый паритетным. На каждые 8 бит данных паритетный чип располагает дополнительным битом.

При передаче одного байта (8 бит) данных паритетный бит приобретает определенное значение. Чип складывает значения битов в байте Если результат сложения выражается нечетным числом, то значение паритетного бита будет равно единице. Если четное, то нулю. Когда данные вновь считываются, их значения вновь складываются и сравниваются со значением паритетного бита. Например, если сумма является нечетным числом и значение паритетного бита «1», то данные считаются корректными и передаются центральному процессору.

Если же сумма нечетная, а паритетный бит принял нулевое значение, чип «знает», что где-то в этих 8 битах ошибка и выгружает данные. Происходит так называемый «дамп». Возможна и обратная ситуация: сумма равна четному числу, а значение паритетного бита — единица. В этом случае данные тоже считаются некорректными.

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

ECC. Память, исправляющая ошибки

#факты |Проверка оперативной памяти на ошибки

В важных серверах применяется несколько иной метод работы над ошибками: корректирующий код ECC (error-correction code, код с исправлением ошибок). Подобно паритетному, в методе коррекции ошибок, применяются дополнительные биты для проверки данных каждого отдельного байта информации. Отличие состоит в том, что на каждый байт приходится не 1 , а несколько проверочных битов. Число проверочных битов зависит от ширины шины.

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

По материалам computer.howstuffworks.com