FAQ по модулям памяти
Страница 7.



Что такое "SIMM с четностью"?

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

В случае 72-пинового SIMM все далеко не так просто, и тривиальный ответ - SIMM x36 - в общем случае верен не будет. Классический SIMM с четностью представляет собой как бы сумму четырех SIMM x9, к каждому из которых ТЕОРЕТИЧЕСКИ возможен независимый доступ (это достигается тем, что каждые 9 бит - 8 основных и один бит четности - присоединены к отдельному CAS). Никогда не приходилось слышать о практической реализации такой возможности, и похоже, что такая структура осталась в наследство от тех времен, когда 72-пиновые SIMM только приходили на смену 30-пиновым, и разработчикам просто лень было переделывать наряду с модулями и гнездами еще и контроллеры. Как бы то ни было, с логической точки зрения эти 36 являются 4х(8+1).

Так называемые "ECC SIMM" х36 (см. вопрос), в отличие от SIMM "с четностью", имеют 36 абсолютно равноценных (и адресуемых через единственную линию CAS) бит. Как правило, такие SIMM не предназначены для работы (и не будут работать) в системах с "обычным" контролем четности из-за имеющихся архитектурных отличий. Отличить первые от вторых относительно просто - SIMM с четностью имеет 8 (или 16) чипов основной памяти (малочиповые варианты можно вообще не рассматривать - они ECC быть не могут) плюс 4, реже 2 или 1 (8, 4 и 2 соответственно) отличающихся от них чипов четности. ECC SIMM имеет 9 (18) абсолютно одинаковых чипов.

Что такое "ECC SIMM"?

ECC SIMM - понятие, к сожалению, сплошь и рядом применяемое неверно, в основном ввиду имевшего ранее место чрезвычайного многообразия контроллеров ECC. В наиболее узком смысле (причем это определение не имеет полного права называться единственно верным) - это SIMM 72-пин организации х36 с одной линией CAS (более подробно об отличии его от "классического" SIMM x36 см. в соответствующем вопросе). В самом широком - любой SIMM, предназначенный для работы в устройстве с ECC (или работающий в нем). Речь во всех случаях идет о 72-пиновых SIMM, ниже приводится примерный список:

  • SIMM x40, реже x39, иногда называемые также ECC SIMM "старого стандарта" - действительно применялись в устаревших, эпохи 486-х процессоров, контроллерах ECC.
  • ECC-on-SIMM - разработанный, кажется, IBM модуль, несущий на себе чип контроллера ECC. Одно время такого рода SIMM применялись в старших моделях серверов той же IBM, а также Digital и HP. Похоже, владельцам таких серверов повезло меньше всего, поскольку никто из generic-производителей такие SIMM не выпускал (очевидно, ввиду отсутствия чипов ECC), поэтому апгрейд памяти такого сервера может превратиться в проблему.
  • "Обычный" SIMM x36 с четностью. Большинство современных контроллеров способно реализовывать ECC на таких модулях.
Таким образом, если вам, к примеру, необходимо приобрести (или предлагают это сделать) "ECC SIMM", постарайтесь выяснить заранее, о каких именно модулях идет речь - это может позволить вам сэкономить как время, так и деньги. Еще одно обстоятельство, на которое стоит обратить внимание - это кратность модулей - последние реализации ECC позволяют устанавливать модули х36 парами, в то время как более ранние требовали установки 4 модулей одновременно, так что фраза типа "ECC kit" требует еще более внимательного выяснения подробностей.

Что такое "логическая четность" и можно ли применять модули с таковой?

Логическая четность (logic parity, известна также под названием bridge parity, parity emulation, наиболее правдивое название fake parity - "ложная четность") - техническое решение, впервые примененное в 1994-1995 году. Напомним, что в это время происходил массовый переход индустрии PC на более дешевую память без четности. Обделенными при этом чувствовали себя владельцы еще относительно новых на тот момент 486-х компьютеров, подсистема памяти которых не позволяла использовать такое решение, в результате чего они без особой на то необходимости были вынуждены использовать дорогостоящую четность. Для них и была предназначена четность логическая.

Идея, в сущности, была довольно простая. Как известно, в рамках контроля четности для группы бит, записываемых в память, контроллер вычисляет контрольную сумму и записывает ее в виде специального бита четности. При считывании данных контрольная сумма вычисляется снова и сравнивается с хранящейся в бите четности, при совпадении двух сумм данные считаются аутентичными. Необходимость хранения битов четности и удорожала всю систему. Модули с логической четностью вообще не имеют чипов четности, зато имеют логический чип, который при считывании данных сам вычисляет "контрольную" сумму и предъявляет ее контроллеру, как если бы эта сумма сохранялась в модуле. Понятно, что эта сумма всегда совпадает с той, которую вычислит сам контроллер, таким образом фактически контроль четности отсутствует. Цена логической микросхемы по сравнению с чипами четности исчезающе мала, так что главную задачу - экономию - можно считать выполненной.

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

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

  • Логическая четность, как минимум, не повышает совместимость модулей с вашим компьютером - не исключено, что работать она не будет или будет вызывать сбои.
  • Сумматор в лучшем случае не ухудшит временные характеристики подсистемы памяти, но вполне может это сделать.
  • Установка ложной четности в сервер не рекомендуется ни под каким предлогом - даже если сервер и будет с ней работать, в конце концов, большие деньги за него платили именно во имя надежности, которой вы поступаетесь.
  • Наконец - имейте в виду, что уважающие себя производители (включая всех major) НИКОГДА не выпускали SIMM с логической четностью - таким образом, вы покупаете продукт низшей, чем это возможно, категории качества.
Таким образом, вывод - за исключением двух описанных выше случаев, применение логической четности рекомендовать нельзя никак, в этих же двух случаях - можно с определенной натяжкой.
 
« Предыдущая статья   Следующая статья »