link560 link561 link562 link563 link564 link565 link566 link567 link568 link569 link570 link571 link572 link573 link574 link575 link576 link577 link578 link579 link580 link581 link582 link583 link584 link585 link586 link587 link588 link589 link590 link591 link592 link593 link594 link595 link596 link597 link598 link599 link600 link601 link602 link603 link604 link605 link606 link607 link608 link609 link610 link611 link612 link613 link614 link615 link616 link617 link618 link619 link620 link621 link622 link623 link624 link625 link626 link627 link628 link629 link630 link631 link632 link633 link634 link635 link636 link637 link638 link639 link640 link641 link642 link643 link644 link645 link646 link647 link648 link649 link650 link651 link652 link653 link654 link655 link656 link657 link658 link659 link660 link661 link662 link663 link664 link665 link666 link667 link668 link669 link670 link671 link672 link673 link674 link675 link676 link677 link678 link679 link680 link681 link682 link683 link684 link685 link686 link687 link688 link689 link690 link691 link692 link693 link694 link695 link696 link697 link698 link699

PersCom — Компьютерная Энциклопедия Компьютерная Энциклопедия

Оперативная память

Прочая информация про оперативную память

Банки памяти

Расположенные на системной плате и модулях памяти микросхемы (DIP, SIMM, SIPP и DIMM) организуются в банки памяти. Иметь представление о распределении памяти между банками и их расположении на плате необходимо, например, в том случае, если вы собираетесь установить в компьютер дополнительную микросхему памяти.

Кроме того, диагностические программы выводят адреса байта и бита дефектной ячейки, по которым можно определить неисправный банк памяти.

Обычно разрядность банков равна разрядности шины данных процессора. Эти параметры для различных типов компьютеров приведены в таблице.

Разрядность банков данных в различных системах

Примечание!

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

Количество битов для каждого банка может быть сформировано одной микросхемой, модулем SIMM или модулем DIMM. В современных системах отдельные микросхемы не используются — только модули SIMM и DIMM. Если система оснащена 16-разрядным процессором, таким как 386SX, в ней, скорее всего, используются 30-контактные модули SIMM, пара которых образует один банк. Модули SIMM, образующие один банк, должны быть одного объема и типа.

В системах на базе процессора 486 для образования одного банка используется четыре 30-контактных или один 72-контактный модуль SIMM. Один 72-контактный модуль SIMM содержит 32 бит (или же 36 бит для модуля с проверкой четности). Чтобы определить, поддерживает ли модуль проверку четности, достаточно подсчитать количество микросхем. Для образования одного 32-разрядного модуля SIMM требуется 32 однобитовые или же 8 четырехбитовых микросхем. Если система поддерживает проверку четности, дополнительно потребуется 4 бит (т.е. всего 36 бит), а значит, еще одна четырехбитовая или четыре однобитовых микросхемы.

Таким образом, 30-контатные модули SIMM оказываются далеко не самым идеальным выбором для 3- или 64-разрядных систем (оснащенных процессором 486 или Pentium), так как для формирования одного банка потребуется четыре или даже восемь модулей. Следовательно, только в ограниченном количестве 32-разрядных систем используются 30-контактные модули SIMM; в 64-разрядных системах подобные модули вообще никогда не использовались. Если в 32-разрядной системе (оснащенной процессором 386DX или 486) используются 72-контактные модули SIMM, каждый такой модуль представляет отдельный банк, а значит, модули можно устанавливать или вынимать по одному, а не сразу по четыре, как во времена 30-контактных модулей. Благодаря этому конфигурирование памяти значительно упростилось. В 64-разрядных системах, в которых используются модули SIMM, для формирования одного банка необходима пара 72-контактных модулей SIMM.

Модули DIMM идеально подходят для систем с процессорами Pentium и более современными, поскольку 64-разрядная шина модулей полностью совпадает с шириной шины Pentium. Таким образом, каждый модуль DIMM представляет собой отдельный банк, а значит, подобные модули можно устанавливать и вынимать по одному. Многие современные системы проектируются таким образом, чтобы в них модули памяти использовались парами для обеспечения более высокого быстродействия. В данном случае речь идет о двухканальном режиме работы, при использовании которого пара модулей трактуется как одно устройство с шиной 128 бит (144 бит в случае модулей с поддержкой четности/ECC). В этом случае можно использовать и один модуль памяти, однако это не позволит обеспечить максимальное быстродействие системы.

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

Внимание!

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

Быстродействие памяти

При замене неисправного модуля или микросхемы памяти новый элемент должен быть того же типа, а его время доступа — меньше или равно соответствующему показателю заменяемого модуля. Таким образом, заменяющий элемент может иметь и более высокое быстродействие.

Обычно проблемы возникают при использовании микросхем или модулей, не удовлетворяющих определенным (не слишком многочисленным) требованиям, например к длительности циклов регенерации. Можно также столкнуться с несоответствием в разводках выводов, емкости, разрядности или конструкции. Если вы не знаете, какие модули памяти позволяет использовать материнская плата, обратитесь к документации.

При установке более быстродействующих модулей памяти производительность компьютера, как правило, не повышается, поскольку система обращается к ней с прежней частотой. В системах, использующих модули DIMM и RIMM, быстродействие и прочие временные характеристики считываются из специального ПЗУ SPD, установленного на модуле. После этого контроллер памяти конфигурируется с применением этих параметров. Производительность таких систем можно повышать, устанавливая более скоростные модули памяти, вплоть до предела, поддерживаемого набором микросхем системной логики.

Чтобы акцентировать внимание на проблемах синхронизации и надежности, Intel и JEDEC создали стандарты для высокоскоростных модулей памяти, определяющие их типы, удовлетворяющие определенным уровням быстродействия. Согласно этим стандартам и выполняется классификация модулей памяти по временным характеристикам.

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

Контроль четности и коды коррекции ошибок (ECC)

Ошибки при хранении информации в оперативной памяти неизбежны. Они обычно классифицируются как аппаратные отказы и нерегулярные ошибки (сбои).

Если нормально функционирующая микросхема вследствие, например, физического повреждения начинает работать неправильно, то это называется аппаратным отказом. Чтобы устранить данный тип отказа, обычно требуется заменить некоторую часть аппаратных средств памяти, например неисправную микросхему, модуль SIMM или DIMM.

Другой, более коварный тип отказа — нерегулярная ошибка (сбой). Это непостоянный отказ, который не происходит при повторении условий функционирования или через регулярные интервалы. (Такие отказы обычно “лечатся” выключением питания компьютера и последующим его включением.)

Приблизительно 20 лет назад сотрудники Intel установили, что причиной сбоев являются альфа-частицы. Поскольку альфа-частицы не могут проникнуть даже через тонкий лист бумаги, выяснилось, что их источником служит вещество, используемое в полупроводниках. При исследовании были обнаружены частицы тория и урана в пластмассовых и керамических корпусах микросхем, применявшихся в те годы. Изменив технологический процесс, производители памяти избавились от этих примесей.

В настоящее время производители памяти почти полностью устранили источники альфачастиц. Например, сбои в памяти емкостью 16 Мбайт из-за альфа-частиц случаются в среднем только один раз в 16 лет! В связи с этим многие производители модулей памяти исключили из своей продукции поддержку проверки четности, несмотря на то что от сбоев памяти не удалось избавиться полностью. Более поздние исследования показали, что альфа-частицы охватывают лишь малую долю причин сбоев памяти.

Сегодня самая главная причина нерегулярных ошибок — космические лучи. Поскольку они имеют очень большую проникающую способность, от них практически невозможно защититься с помощью экранирования. Этот тезис был подтвержден рядом исследований, проведенных компанией IBM под руководством доктора Дж.Ф. Зиглера.

Эксперимент по проверке степени влияния космических лучей на появление ошибок в работе микросхем показал, что соотношение “сигнал–ошибка” (Signal-to-Error Ratio — SER) для некоторых модулей DRAM составило 5950 единиц интенсивности отказов (Failure Units — FU) на миллиард часов наработки для каждой микросхемы. Измерения проводились в условиях, приближенных к реальным, с учетом длительности в несколько миллионов машино-часов. В среднестатистическом компьютере это означало бы появление программной ошибки памяти примерно каждые шесть месяцев. В серверных системах или мощных рабочих станциях с большим объемом установленной оперативной памяти подобная статистика указывает на одну ошибку (или даже более) в работе памяти каждый месяц! Когда тестовая система с теми же модулями DIMM была размещена в надежном убежище на глубине более 15 метров под слоем каменной породы, что полностью устраняет влияние космических лучей, программные ошибки в работе памяти вообще не были зафиксированы. Эксперимент продемонстрировал не только опасность влияния космических лучей, но и доказал, насколько эффективно устранять влияние альфалучей и радиоактивных примесей в оболочках модулей памяти.

Ошибки, вызванные космическими лучами, представляют большую опасность для модулей SRAM, чем для DRAM, поскольку заряд, необходимый для хранения одного бита в ячейке SRAM, гораздо меньше емкости конденсатора в DRAM. Космические лучи также представляют большую опасность для микросхем памяти с повышенной плотностью. Чем выше плотность ячеек памяти, тем выше вероятность того, что космический луч заденет такую ячейку. Было доказано, что вероятность ошибки в микросхеме DRAM емкостью 64 Мбайт вдвое выше, чем в аналогичной микросхеме емкостью 16 Мбайт; а в микросхеме DRAM емкостью 256 Мбайт этот показатель и вовсе в четыре раза выше. Таким образом, с ростом объема памяти увеличивается и частота ошибок.

К сожалению, производители ПК не признали это причиной погрешностей памяти; случайную природу сбоя намного легче оправдать разрядом электростатического электричества, большими выбросами мощности или неустойчивой работой программного обеспечения (например, использованием новой версии операционной системы или большой прикладной программы).

Исследования показали, что для систем ECC доля программных ошибок в 30 раз больше, чем аппаратных. И это неудивительно, учитывая вредное влияние космических лучей. Количество ошибок зависит от числа установленных модулей памяти и их объема. Программные ошибки могут случаться и раз в месяц, и несколько раз в неделю, и даже чаще!

Хотя космические лучи и радиация являются причиной большинства программных ошибок памяти, существуют и другие факторы.

  • Скачки в энергоснабжении или шум на линии. Причиной может быть неисправный блок питания или настенная розетка.
  • Использование памяти с некорректным типом или характеристиками. Тип памяти должен поддерживаться конкретным набором микросхем и обладать определенной этим набором скоростью доступа.
  • Электромагнитные помехи. Связана с расположением радиопередатчиков рядом с компьютером, что иногда приводит к генерированию паразитных электрических сигналов в монтажных соединениях и схемах компьютера. Имейте в виду, что беспроводные сети, мыши и клавиатуры увеличивают риск появления помех.
  • Статические разряды. Вызывают моментальные скачки в энергоснабжении, что может повлиять на целостность данных.
  • Ошибки синхронизации. Не поступившие своевременно данные могут стать причиной появления программных ошибок. Зачастую причина заключается в неверных параметрах BIOS, оперативной памяти, быстродействие которой ниже, чем требуется системе, разогнанных процессорах и прочих системных компонентах.
  • Тепловыделение. Скоростные модули памяти характеризуются более высокими рабочими температурами, чем модули устаревших типов. Первыми модулями, оснащенными теплорассеивателями, оказались модули RDRAM RIMM; сейчас теплорассеивателями оснащены многие производительные модули DDR и DDR2, так как это единственный способ борьбы с повышенным уровнем тепловыделения.

Большинство описанных проблем не приводят к прекращению работы микросхем памяти (хотя некачественное энергоснабжение или статическое электричество могут физически их повредить), однако могут повлиять на хранимые данные.

Игнорирование сбоев, конечно, — не лучший способ борьбы с ними. К сожалению, именно этот способ выбрали сегодня многие производители компьютеров. Лучше бы они повысили отказоустойчивость систем. Для этого необходимы механизмы определения и, возможно, исправления ошибок в памяти ПК. В основном для повышения отказоустойчивости в современных компьютерах применяются следующие методы:

  • контроль четности;
  • коды коррекции ошибок (ECC).

Системы без контроля четности вообще не обеспечивают отказоустойчивость. Единственная причина, по которой они используются, — их минимальная базовая стоимость. При этом, в отличие от других технологий, не требуется дополнительная оперативная память. Байт данных с контролем четности включает в себя 9, а не 8 бит, поэтому стоимость памяти с контролем четности выше примерно на 12,5%. Кроме того, контроллеры памяти, не требующие логических мостов для подсчета данных четности или ECC, обладают упрощенной внутренней архитектурой. Портативные системы, для которых вопрос минимального энергопотребления особенно важен, выигрывают от уменьшенного энергоснабжения памяти благодаря использованию меньшего количества микросхем DRAM. И наконец, шина данных памяти без контроля четности имеет меньшую разрядность, что выражается в сокращении количества буферов данных. Статистическая вероятность возникновения ошибок памяти в современных настольных компьютерах составляет примерно одну ошибку в несколько месяцев. При этом количество ошибок зависит от объема и типа используемой памяти.

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

Как бы там ни было, отсутствие отказоустойчивости в компьютерной системе является всего лишь спекуляцией на малой вероятности ошибок памяти. При этом также предполагается, что совокупная стоимость потерь, вызванная ошибками в работе памяти, будет меньше, чем затраты на приобретение дополнительных аппаратных устройств для определения таких ошибок. Тем не менее, ошибки памяти вполне могут стать причиной серьезных проблем (например, представьте себе неверно указанное значение суммы в банковском чеке). Ошибки в работе оперативной памяти серверных систем зачастую приводят к “зависанию” последних и отключению всех клиентских компьютеров, соединенных с серверами по локальной сети. Наконец, отследить причину возникновения проблем в компьютерах, не поддерживающих контроль четности или ECC, крайне сложно. Последние технологии по крайней мере однозначно укажут на оперативную память как на источник проблемы, тем самым экономя время и усилия системных администраторов.



Контроль четности

Это один из введенных IBM стандартов, в соответствии с которым информация в банках памяти хранится фрагментами по 9 бит, причем восемь из них (составляющих один байт) предназначены собственно для данных, а девятый является битом четности. Использование девятого бита позволяет схемам управления памятью на аппаратном уровне контролировать целостность каждого байта данных. Если обнаруживается ошибка, работа компьютера останавливается, а на экран выводится сообщение о неисправности. Если вы работаете на компьютере под управлением Windows или OS/2, то при возникновении ошибки контроля четности сообщение, возможно, не появится, а просто произойдет блокировка системы. После перезагрузки система BIOS должна идентифицировать ошибку и выдать соответствующее сообщение.

Модули SIMM и DIMM поставляются как с поддержкой битов четности, так и без нее. Первые ПК использовали память с контролем четности для регулировки точности осуществляемых операций. Начиная с 1994 года на рынке ПК стала развиваться тревожная тенденция. Большинство компаний начали предлагать компьютеры с памятью без контроля четности и вообще без каких бы то ни было средств определения или исправления ошибок. Применение модулей SIMM без контроля четности сокращало стоимость памяти на 10–15%. В свою очередь, память с контролем четности обходилась дороже за счет применения дополнительных битов четности. Технология контроля четности не позволяет исправлять системные ошибки, однако предоставляет пользователю компьютера возможность их обнаружить, что имеет следующие преимущества:

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

Для реализации поддержки памяти с контролем четности или без него не требуется особых усилий. В частности, внедрить поддержку контроля четности для системной платы не составит труда. Основные затраты внедрения связаны со стоимостью самих модулей памяти с контролем четности. Если покупатели готовы пойти на дополнительные затраты для повышения надежности заказываемых систем, производители компьютеров могут предоставить им такую возможность.

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

Поскольку никому не было выгодно распространять эту информацию, довольно длительное время факт отсутствия контроля четности просто умалчивался. Если в заказе покупатель четко указывал на необходимость контроля четности в памяти, он получал такую систему, однако в стандартных конфигурациях данная память уже отсутствовала. Разумеется, некомпетентный пользователь чаще всего принимал решение о покупке на 10–15% более дешевой модели. Однако настоящей бомбой стал выпуск компанией Intel набора микросхем Triton 430FX для процессоров Pentium, в котором вообще отсутствовала поддержка проверки четности. К сожалению, этот набор микросхем стал довольно популярным, в результате чего подавляющее большинство материнских плат для процессора Pentium, выпущенных в 1995 году, не поддерживали проверку четности. Эта настораживающая тенденция сохранялась еще в течение нескольких лет. Проверку четности не поддерживали все наборы микросхем от Intel для Pentium, выпущенные после 430FX Triton, за исключением разве что 430 FX Triton II.

К счастью, с тех пор Intel и прочие производители наборов микросхем системной логики восстановили поддержку контроля четности и ECC в большинстве своих продуктов (особенно в наборах микросхем, ориентированных на рынок высокопроизводительных серверов). В то же время наборы микросхем низшей ценовой категории, как правило, не поддерживают эти технологии. Пользователям, требовательным к надежности выполняемых приложений, следует обращать особое внимание на поддержку контроля четности и ECC.

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



Схема проверки четности

При разработке стандарта контроля четности IBM определила, что значение бита четности задается таким, чтобы количество единиц во всех девяти разрядах (восемь разрядов данных и разряд четности) было нечетным. Другими словами, когда байт (8 бит) данных заносится в память, специальная схема контроля четности (микросхема, установленная на системной плате или на плате памяти) подсчитывает количество единиц в байте. Если оно четное, на выходе микросхемы формируется сигнал логической единицы, который сохраняется в соответствующем разряде памяти как девятый бит (бит четности). Общее количествоединиц во всех девяти разрядах при этом становится нечетным. Если же количество единиц в восьми разрядах исходных данных нечетное, то бит четности равен нулю, и сумма двоичных цифр в девяти разрядах также остается нечетной.

Рассмотрим конкретный пример (имейте в виду, что разряды в байте нумеруются начиная с нуля, т.е. 0, 1, 2, ..., 7).


Разряд данных: 0 1 2 3 4 5 6 7 Бит четности
Значение бита: 1 0 1 1 0 0 1 1 0


В данном случае общее число единичных битов данных нечетное (5), поэтому бит четности должен быть равен нулю.

Рассмотрим еще один пример.


Разряд данных: 0 1 2 3 4 5 6 7 Бит четности
Значение бита: 0 0 1 1 0 0 1 1 1


В этом примере общее число единичных битов данных четное (4), поэтому бит четности
должен быть равен единице, чтобы количество единиц во всех девяти разрядах было нечетным.

При считывании из памяти та же самая микросхема проверяет информацию на четность.

Если в 9-разрядном байте число единиц четное, значит, при считывании или записи данных произошла ошибка. Определить, в каком разряде она произошла, невозможно (нельзя даже выяснить количество испорченных разрядов). Более того, если сбой произошел в трех разрядах (в нечетном их количестве), то ошибка будет зафиксирована; однако при двух ошибочных разрядах (или четном их количестве) сбой не регистрируется. Поскольку одновременная ошибка в нескольких разрядах одного байта крайне маловероятна, такая схема проверки была недорогой и при этом позволяла с большой вероятностью определять ошибки в памяти.

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


В IBM PC: PARITY СНЕСК х
В IBM XT:  PARITY СНЕСК х yyyyy (z)
В IBM AT и последних моделях XT:  PARITY СНЕСК х yyyyy 


Здесь x может принимать значение 1 (ошибка произошла на системной плате) или 2 (ошибка произошла в разъеме расширения). Символы yyyyy — это шестнадцатеричное число от 00000 до FFFFF, указывающее адрес байта, в котором произошла ошибка. Символ z может принимать значение S (ошибка четности в системном блоке) или e (ошибка четности в корпусе-расширителе).

Примечание!

Компания IBM разработала корпуса-расширители для компьютеров PC и XT, чтобы увеличить количество разъемов расширения.

При обнаружении ошибки схема контроля четности на системной плате формирует немаскируемое прерывание1 (NMI), по которому основная работа прекращается и инициируется специальная процедура, записанная в BIOS. В результате ее выполнения экран очищается и в левом верхнем углу выводится сообщение об ошибке. В некоторых старых компьютерах IBM при выполнении указанной процедуры приостанавливается работа процессора, компьютер блокируется и пользователю приходится перезапускать его с помощью кнопки сброса или выключать и через некоторое время вновь включать питание. При этом, естественно, теряется вся несохраненная информация.

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


Memory parity interrupt at хххх:xxxx
Туре (S)hut off NMI, Type (R)eboot, other keys to continue

или

I/O card parity interrupt at хххх:xxxx
Туре (S)hut off NMI, Type (R)eboot, other keys to continue


Первое появляется при ошибке четности на системной плате, а второе — при ошибке четности в слоте расширения. Обратите внимание, что адрес памяти хххх:хххх выводится в формате [сегмент]:[смещение], а не в линейном виде, как в компьютерах IBM. Но в любом случае местоположение байта с ошибкой определяется однозначно.

После просмотра сообщения об ошибке возможны следующие варианты действий:

  • нажмите клавишу <S>, чтобы выключить контроль четности и восстановить работу системы с момента первой ошибки четности;
  • нажмите клавишу <R> для перезагрузки компьютера с потерей всех несохраненных данных;
  • нажмите любую другую клавишу для продолжения прерванной операции без отключения контроля четности.

Если ошибка “хроническая”, скорее всего, в ближайшее время произойдет следующее прерывание, вызванное контролем четности. Как правило, лучше всего нажать клавишу <S>, отключив контроль четности, что позволит сохранить информацию. Запишите нужную информацию на дискету или флэш-карту, чтобы случайно не испортить жесткий диск. Не удаляйте старую версию файла (пока еще хорошую), так как при сбоях памяти новая сохраненная информация может быть испорчена. Поскольку контроль четности отключен, операции сохранения будут выполнены без прерываний. После этого выключите компьютер, включите его снова и запустите программу диагностики памяти для выяснения причины ошибки. Иногда ошибка обнаруживается процедурой POST непосредственно при загрузке, но чаще приходится использовать более сложные диагностические программы.

Базовая система ввода-вывода компании AMI выводит следующие сообщения об ошибках четности:


ON BOARD PARITY CHECK ADDR (НЕХ) = (ххххх)

и

OFF BOARD PARITY CHECK ADDR (НЕХ) = (ххххх)


Эти сообщения указывают на то, что при выполнении процедуры POST обнаружена ошибка по указанному адресу памяти. Первое сообщение появляется при ошибке на системной плате, второе — при ошибке на плате адаптера в слоте расширения. AMI BIOS может выдавать также сообщения об ошибках в памяти:


Memory parity error at ххххх

и

I/O card parity error at ххххх 


Эти сообщения появляются при возникновении ошибок в процессе работы (а не при выполнении процедуры POST); первое относится к памяти на системной плате, второе — к памяти на плате адаптера в разъеме расширения.

Несмотря на то что во многих системах при появлении ошибки четности работу можно продолжать (можно даже отключить ее дальнейший контроль), игнорировать неисправность опасно. Указанная возможность нужна лишь для того, чтобы можно было сохранить информацию, а затем выполнить диагностику и отремонтировать компьютер.

Учтите, что содержание сообщений зависит не только от версии микросхемы ROM BIOS, но и от используемой операционной системы. Операционные системы с защищенным режимом, к числу которых относится большинство версий Windows, перехватывают возникающие ошибки и загружают собственную программу их обработки. Обработчик ошибок, в свою очередь, выводит на экран собственное сообщение об ошибке, отличающееся от характерных для ROM BIOS. В этих сообщениях, появляющихся на синем экране или в каком-либо другом виде, обычно указывается, что данная ошибка связана с памятью или контролем четности. Например, при возникновении ошибки подобного рода Windows 98 выводит на экран следующее сообщение:


 Memory parity error detected. System halted.


Внимание!

Если появляется сообщение об ошибке четности, значит, содержимое памяти искажено. Подумайте, стоит ли записывать искаженные данные вместо сохраненных в прошлый раз? Безусловно, нет! Лучше записать файл под измененным именем. Кроме того, в случае ошибки четности постарайтесь сохранить работу только на дискете или устройстве USB и избегайте записи на жесткий диск — не исключена вероятность (хотя и небольшая) повреждения жесткого диска при записи на него искаженного содержимого памяти.

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

Еще несколько лет назад, когда память была дорогой, некоторые компании выпускали модули SIMM с фиктивными микросхемами проверки четности. Вместо того чтобы хранить биты четности для каждого байта памяти, эти микросхемы генерировали всегда корректный бит дополнения. Таким образом, когда система пыталась записать бит четности, он попросту отбрасывался, а при считывании байта всегда подставлялся “нужный” бит четности. В результате система всегда получала информацию о корректной работе памяти, хотя на самом деле все могло быть далеко не так.

Такие мошеннические действия были вызваны дороговизной микросхем памяти, и производители были готовы переплатить пару лишних долларов на генератор, чтобы не платить за более дорогую микросхему, хранящую биты четности. К сожалению, определить наличие в модуле памяти такого генератора было достаточно сложно. Поддельный генератор четности внешне отличался от обычных микросхем памяти и имел маркировку, отличную от других микросхем модуля. Большинство из генераторов имели логотип “GSM”, который указывал на изготовителя логического устройства проверки четности, часто отличавшегося от компании, выпустившей сам модуль памяти.

Единственным инструментом, позволявшим выявить модули с поддельным контролем четности, были аппаратные тестеры, такие как Tanisys (www.tanisys.com), CST (www.simmtester.com) и Innoventios (www.memorytest.com). Лично мне не случалось встречать модули SIMM и RIMM с поддельной проверкой четности, к тому же цены на память резко упали, что устранило первопричину подобных махинаций.