Контроль и диагностика DRAM

Оперативная память персонального компьютера выполняется, как известно, на микросхемах динамического типа, что и соответствует аббревиатуре DRAM – Dynamics-Random-AccessMemory (динамическая память произвольного доступа). Запоминающими элементами таких микросхем являются элементарные конденсаторы, образованные плавающими затворами полевых транзисторов. Эти переходы могут находиться в заряженном (логическая единица) или разряженном (логический нуль) состояниях.

Особенностью динамической памяти, в отличие от статической, является требование периодической регенерации всей хранящейся в ней информации, т. к. запоминающие емкости имеют тенденцию к саморазряду. Кроме того, элементарный запоминающий конденсатор памяти может разрядиться, если в него попадет высокоэнергетическая космическая частица, что не редкость на земной поверхности. Таким образом, динамическая память имеет склонность к искажениям отдельных бит информации. Это может иметь фатальные последствия для компьютера, т. к. в DRAM хранятся как данные, так и рабочие программы, и сама операционная система. Искажение одного бита в машинной команде может привести к тому, что, например, вместо операции чтения выполнится операция записи, которая может испортить данные, программу и даже саму ОС.

Именно поэтому динамическая оперативная память снабжается схемой паритетного контроля – свертки каждого записанного байта по модулю-2. В ответственных ЭВМ используются коды, исправляющие ошибки, например, код Хемминга. При записи, каждый байт информации сопровождается контрольным разрядом, вырабатывающимся схемой свертки, а при чтении, той же схемой свертки каждый байт проверяется на четность и, в случае нарушения паритета, вырабатывается немаскируемое прерывание, формирующее сообщение об ошибке DRAM. В этом случае автоматическое выполнение дальнейших операций блокируется и на экране дисплея появляется сообщение:

ErrorParity DRAM. SystemHalted (Ошибка четности динамической памяти. Система остановлена).

Контроль работоспособности оперативной памяти РС выполняется соответствующими секциями POST-программы при каждом включении питания компьютера, или при “холодном” рестарте системы (нажатие кнопки RESET).

При появлении симптома ошибки DRAM, следует перезагрузить операционную систему и попытаться снова запустить ту же прикладную программу. Если ошибка не повторится, то этот случай классифицируется как одиночный сбой. Если же ошибка повторяется, то это – симптом жесткой ошибки. В таком случае следует отключить механизм выработки NMI и запустить программу диагностики ошибок памяти, например, CheckIt/Tests/Memory. Можно воспользоваться и услугами программы NDiags, выбрав пункт меню ПАМЯТЬ\Тест основной (базовой) памяти, иТест расширенной памяти, а если конфигурация предусматривает и дополнительную память, то и ее тест. NDiags протестирует выбранную память следующими шаблонами:

- записью и проверкой нулей во все разряды всех ячеек проверяемой памяти,

- записью и проверкой единиц во все разряды всех ячеек проверяемой памяти,

- пробегом и проверкой единицы по всем разрядам по-очереди в каждом адресе,

- пробегом и проверкой нуля по всем разрядам по-очереди в каждом адресе,

- записью и проверкой кода 10101010 в каждый адрес (шахматный код),

- записью и проверкой кода 01010101 в каждый адрес (инверсный шахматный код).

Обе эти программы достаточно подробно тестируют DRAM, но программа CheckIt позволяет протестировать память как минимальным (QuickMemoryTestOnly), так и расширенным набором тестов и даже повторить тестирование не один раз, а до 999 раз, чтобы обнаружить плавающие ошибки памяти. Кроме того, программа CheckIt позволяет локализовать ошибку памяти до компоненты (ИМС или модуля SIMM).

Тестирование памяти с помощью программы PC-doctor выполняется при выборе пункта Diagnostics/RAM Memory. Программа предлагает выбрать режим тестирования:

- Fast – быстрый, по одному проходу каждого теста,

- Medium – средний, по 10 раз,

- Heavy – тяжелый, по 20 раз,

тип тестирования:

- Pattern – 18-ти шаблонный,

- Address – по адресным линиям выборки ИМС,

- BusThroughput – случайными сигналами выборки,

- CodeTest – случайными кодами.

Далее следует выбрать тип тестируемой памяти:

- Base – базовую память до 640 КБ.

- Extended – расширенную, до 16 МБ.

- Expanded – дополнительную, от 1 до 32 МБ,

- UMB – блок высшей памяти, от 1 до 1,064 МБ.

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

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: