FAQ по модулям памяти



Какие контакты имеет модуль памяти и каково их функциональное назначение?

Модуль DRAM (в данном случае — асинхронного) имеет следующие контакты:

  • Линии ввода/вывода — служат непосредственно для передачи данных и вместе составляют шину данных. Их количество обычно определяется типом модуля. Модули с четностью имеют дополнительные линии ввода/вывода для битов четности;
  • Адресные линии — служат для передачи адреса, по которому находятся считываемые/записываемые данные. Как правило, их то же количество, что и у составляющих модуль чипов;
  • RAS — регистры строки, сигнал на этой линии означает, что на адресные линии чипов, подключенных к данному RAS, подается адрес строки, в которой содержатся данные. Двухбанковые модули организованы именно посредством дополнительных RAS;
  • CAS — регистры столбца, сигнал на этой линии означает, что на адресные линии чипов, подключенных к данному CAS, подается адрес столбца, в котором содержатся данные;
  • Write Enable — сигнал на этой линии означает, что возможна запись данных;
  • PRD — контакты, заземление или незаземление которых несет информацию Presense Detect (в частности, емкость и время доступа модуля).
  • Напряжение питания;
  • Земля.
Линии Output Enable, имеющиеся у всех чипов, в модуле памяти, как правило, заземляются.


В чем отличие SIMM и DIMM? Имеет ли DIMM принципиальные преимущества перед SIMM?

Единственное принципиальное отличие обозначено в названиях — Single и Dual In-Line Memory Module соответственно. Если вы возьмете в руки 72-пиновый SIMM, то легко увидите, что он имеет по 72 контакта с каждой стороны! Объясняется это просто — смежные контакты с разных сторон являются в действительности одним и тем же контактом. Задумано все было, скорее всего, с целью облегчить установку модулей в разъемы, сохраняя при этом высокое качество электрического соединения.

DIMM в этом смысле более экономичен — с каждой стороны 168-пинового модуля всего 84 контакта. Разумеется, здесь контакты с разных сторон модуля электрически независимы. Естественно, что "единица длины" у DIMM используется более эффективно. Понятно также, что для того, чтобы такое стало возможно, нужны как минимум чипы нового по сравнению с используемым (поначалу) в SIMM поколения.

Если оставить в стороне SO DIMM, область применения которых все же достаточно узка, то наиболее популярными форм-факторами модулей памяти в настоящее время являются SIMM 72-пин и DIMM 168-пин. Первые имеют ширину шины 32 бит (как результат, в платы с процессором старше 486 их приходится ставить парами), ширина шины вторых 64 бит позволяет устанавливать их поодиночке в 64-битные платы. Это, по сути, единственное принципиальное преимущество DIMM перед SIMM (к тому же, кажется, крайне незначительное — годами SIMM ставили попарно и горя не знали). Надо, впрочем, иметь в виду, что современные высокоскоростные модули памяти для современных же компьютеров все же чаще выполнены в виде DIMM, что и порождает зачастую утверждения типа "DIMM лучше SIMM", хотя и понятно, что в такой форме оно некорректно.

Существуют ли какие-либо стандарты SIMM кроме 30- и 72-пиновых?

Смотря какой смысл вкладывается в слово "стандарт". Если речь об индустриальном стандарте типа JEDEC — скорее всего, не существует. К слову, если 30-пиновый SIMM сам по себе "относительно" стандартен, то в форм-факторе 72-пинового SIMM выпускалось множество разных устройств, так что правильнее говорить о стандарте разъема.

При этом в некоторых линиях продуктов отдельных производителей подолгу применялись модули DRAM SIMM одинакового non-JEDEC форм-фактора, так что можно говорить о локальных, что ли, стандартах.



Насколько мне известно, один SIMM 72-пин функционально полностью идентичен четырем SIMM 30-пин. Почему же при этом используется значительно меньше 120 контактов?

Давайте разбираться. Во-первых, 30-пиновый SIMM реально использует порядка 25 контактов, остальные сделаны "про запас". В сумме получается всего 100, а не 120, контактов.

Далее — каждый из 30-пиновых SIMM имеет свой контакт для подачи напряжения питания, свою землю, линии Write Enable, а также, что наиболее важно, свои адресные линии (числом 11 для 4MB модуля). В 72-пиновом модуле требуется лишь один комплект всех этих линий, таким образом, экономия на трех лишних комплектах составляет 42 контакта.

Эта грубая оценка позволяет прийти к выводу, что, скажем, SIMM 72-пин 16MB с четностью, являющийся как бы суммой четырех SIMM 30-пин 4MB, реально наследует от своих 30-пиновых предшественников меньше 60 контактов. Даже если добавить PRD и резервные линии питания, все равно останется некоторое количество свободных линий. Сразу отметим, что описанный SIMM имеет 36 линий данных, стандартом же JEDEC предусмотрены 72-пиновые SIMM с шиной до 40 бит. Таким образом, 72-пиновый SIMM с четностью имеет еще и не менее 4 "лишних" контактов.

У комплекта 30-пиновых SIMM, который мне предлагают приобрести, явно не хватает нескольких контактов. Будут ли такие модули работать?

Скорее всего — да, хотя проверить их все же не помешало бы. Дело в том, что 30-пиновый SIMM проектировался с большим запасом, и в результате реально используется порядка 25 контактов (не называю более точную цифру, ибо боюсь соврать — информация по старым SIMM практически отсутствует). Это означает, что порядка 5 контактов никак не используются, поэтому в принципе нет нужды и в самих контактах.

В принципе, подобная экономия металла в компьютерной промышленности — не такая уж и редкость. Кажется, подавляющее большинство карточек ISA имеет неполный комплект контактов. Можно еще вспомнить, что SOJ 1х4 и 4х4 официально имеют по 26 контактов, реально же — 20 и 24 соответственно.

Еще одно потенциальное объяснение — SIMM вообще имеет избыточное (двойное) количество контактов - по комплекту с каждой стороны. В предположении, что с разъемом все в порядке, можно было бы удалить аж половину контактов. Впрочем, вряд ли подобный шаг производителя можно одобрить… Кстати, насколько мне известно, никто из производителей с именем не выпускал модулей с неполным набором контактов. С другой стороны, вряд ли сейчас есть особенный выбор 30-пиновых SIMM.

И еще небольшое дополнение — хотя это и менее бросается в глаза, но многие SIMM 72-пин также имеют рудиментные или вообще отсутствующие контакты 35-36 и 37-38 (по паре слева и справа от ключа). Дело опять же в том, что у SIMM без четности (х32) эти контакты никак не используется.



Имеет ли смысл приобретать SIMM-конвертеры, т.е. устройства, позволяющие использовать 30-пиновые SIMM в разъемах 72-пин?

Не знаю, актуален ли еще этот вопрос (в смысле — продает ли еще кто-нибудь конвертеры), но относительно недавно еще спрашивали. SIMM-конвертер представляет собой плату расширения, имеющую контактную решетку под 72-пиновый разъем и слоты для установки 4-х 30-пиновых SIMM. Предполагается, что его область применения — это ситуация, когда вы обладаете комплектом (или комплектами) 30-пиновых модулей, слоты для установки которых отсутствуют, продать практичекски невозможно, а выбрасывать жалко. Предполагается, что конвертер сможет дать им новую жизнь. Основания этому есть — стандарт 72-пинового SIMM изначально создавался именно как прямая замена четырем 30-пиновым. Тем не менее давайте внимательно посмотрим на минусы:

  • "Кратность" модулей. Один комплект 30-пиновых SIMM даст после конвертации один SIMM 72-пин. Если плата, куда вы собираетесь ставить "отконвертированную" память, основана на 486-м процессоре - все в порядке. Но более естественно ожидать, что вы переходите на Pentium, который требует установки SIMM парами… (Небольшое примечание. Лично я считаю, что ставить модули памяти различного происхождения в один банк МОЖНО и ничем особым не грозит, хотя более тщательное тестирование и не помешает. Но вы можете считать и по-другому.)
  • Форм-фактор — габариты. Конвертер заметно превосходит по размерам обычный модуль памяти, а о тесноте AT-корпусов все наслышаны. Обязательно нужно убедиться, что конвертер можно установить в собранный компьютер.
  • Форм-фактор — толщина. Если вы конвертируете, например, два комплекта 30-пиновых модулей с целью установки в одну материнскую плату (например, Pentium), очень может статься, что один из конвертеров помешает встать другому. Теоретически можно было бы ожидать наличия в продаже "правых" и "левых" конвертеров, чтобы хоть одну пару можно было установить без проблем, но на практике…
  • Время доступа. От 30-пиновой памяти естественно ожидать времени доступа в 70, а то и 80 нс. Не очевидно, что это подойдет для Пентиумной 66МГц платы.
  • Энергопотребление. Вопрос особенно актуален, если в вашем распоряжении 30-пиновые SIMM "старого" образца — 8 или 9-чиповые. В сумме на конвертер приходится 32-36 чипов, а это довольно много для одного разъема, особенно если установлено несколько конвертеров. Не всякая материнская плата или блок питания способны это потянуть.
  • Совместимость. На мой непросвещенный взгляд, 72-пиновый SIMM действительно можно изготовить из четырех 30-пиновых, просто правильно соединив контакты. Тем не менее, насколько я в курсе, на конвертеры (для пущей совместимости?) ставят еще какую-то логику. Что ж, возможно, она и повышает совместимость в ряде случаев, тем не менее хорошо известно, что многие контроллеры памяти взаимодействуют с логикой неадекватно…
  • Применимость в будущем. Купленный сегодня 72-пиновый SIMM, очень может быть, еще удастся пристроить куда-то при очередном апгрейде через пару лет. Деньги же, потраченные на конвертер, скорее всего полетят при этом в мусорную корзину.
  • Наконец, цена. В свое время конвертеры продавались в розницу по $20-30 за штуку. Если цена с тех пор значительно не упала, то получается, что конвертировать 1МВ модули нет ни малейшего смысла - 4МВ 72-пин стоят заметно дешевле. Даже конвертация 4МВ SIMM вызывает сомнения — 16МВ SIMM, быть может, удастся куда-то пристроить при очередном апгрейде, а конвертер наверняка будет выброшен.
В общем, весь этот список минусов производит следующее впечатление — если у вас есть всего один комплект 30-пиновых SIMM, проще расслабиться и спокойно купить 72-пиновые модули. Серьезно рассматривать вопрос о закупке конвертеров имеет смысл, когда вдруг высвобождается большое количество SIMM 4МВ 30-пин (например, при апгрейде масштаба предприятия или отдела). Тогда можно ожидать экономический эффект и не так жалко потратить и время на тесты по совместимости и т.п.


Что означают обозначения типа 2х36-70 и какую информацию о модуле они содержат?

Обозначения такого рода содержат ОСНОВНУЮ информацию о модулях памяти. В большинстве своем они являются стандартными устройствами, и естественно, что индустрия и рынок пользуются неким сокращенным описанием, наиболее адекватно соответствующим описываемым объектам. Надо подчеркнуть, что это не маркировка производителя, это утверждение о соответствии некоему (JEDEC) стандарту, и его вполне естественно встретить в самых разных местах, от технических описаний модулей памяти и материнских плат до прайс-листов продавцов памяти. Будучи сокращенным, оно не описывает полностью архитектуры модуля (это особенно актуально для DIMM), так что по умолчанию предполагается, что речь идет о наиболее распространенном, если таковое существует, устройстве данного типа, все же остальные должны снабжаться комментарием (например, buffered).

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

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

  • х8, х9 — 30-пиновый SIMM без четности и с четностью соответственно;
  • x2, x3 — некорректное, но иногда встречающееся обозначение тех же 30-пиновых SIMM, но в исполнении с малым количеством (2 и 3) чипов;
  • х32, х36 — 72-пиновый SIMM без и с четностью (х32 также может быть 72-пин SO DIMM);
  • x64, x72 — 168-пиновый DIMM без четности/ЕСС (х64 также 144-пин SO DIMM);
Возможно, вы уже заметили, что модуль без четности имеет ширину шины, кратную 8, а с четностью - другую (как правило, кратную 9). Дело в том, что весь "остаток" от деления ширины шины на 8 и есть биты четности.

Далее, глубина адресного пространства измеряется в мегабитах (иногда так и пишут — 2Мх36), реже в килобитах (разве что 256 и 512). Произведение (2х36) как раз и даст нам емкость модуля, хотя опять же в мегабитах. Чтобы перевести его в привычные всем мегабайты, нужно просто поделить результат на 8. Два замечания — во-первых, нужно отбросить биты четности, т.е. второй сомножитель - это ближайшее снизу к ширине шины число, кратное 8. Во-вторых, как уже упоминалось выше, х2 есть в действительности х8, а х3х9 (то есть в конечном итоге та же восьмерка). Таким образом, 2х36-70 есть SIMM 8MB 72-пин с четностью 70 нс. Немного упражнений:

  • 1x3-70 — SIMM 1MB 30-пин с четностью 70 нс 3-чиповый
  • 4x32-60 — SIMM 16MB 72-пин без четности 60 нс
  • 8Mx36 — SIMM 32MB 72-пин с четностью
  • 16x32-60 — SIMM 64MB 72-пин без четности 60 нс
  • 16x9-70 — SIMM 16MB 30-пин с четностью 70 нс (бывали и такие)
  • 4x64-10 — DIMM 32MB 168(или 144)-пин без четности, судя по всему, 10 нс SDRAM
  • 256x36-80 — SIMM 1MB 72-пин с четностью 80 нс (очень старое устройство, 256 здесь — килобит)
Потенциально важная информация, не входящая в данную нотацию: для SIMM x36 — идет ли речь о стандартной четности (по умолчанию), ECC или быть может логической четности; для DIMM — напряжение питания и наличие буфера.


Существуют ли какие-либо другие стандарты 72-пиновых SIMM, кроме х32 и х36?

Да, существуют, хотя и встречаются в настоящее время относительно редко. Собственно стандарты (описанные JEDEC) — это модули х18, х33, х39, х40.

  • x18 — ранние реализации 72-пиновых SIMM, применявшиеся в 16-битных компьютерах класса 386SX, как и все в те времена, с контролем четности;
  • х33 — экономичные в смысле отсутствия ненужных чипов, но так и не получившие распространения SIMM с одним контрольным битом на всю шину, применялись в некоторых станциях Sun (при этом системы работали и с обычными модулями х36);
  • x39 — разновидность ECC SIMM, кажется, применялась одно время IBM;
  • x40 — ECC SIMM в "старом" (эпохи 486-х) понимании, устанавливались как минимум парами.
"Почти"-JEDEC SIMM долгое время использовала IBM. Это так называемые PS/2 x36 — SIMM с нестандартным PRD, а также x36 SIMM с пятью линиями CAS (пятая — для четности). На non-JEDEC памяти мы подробно останавливаться не будем, можно лишь упомянуть SIMM с логической четностью

Позволяет ли визуальный осмотр модулей памяти определить их емкость и другие характеристики?

Вообще-то (в предположении, что по крайней мере маркировка чипов не врет) — можно с большой степенью точности. Другое дело, что чтение маркировки чипов — задача не такая уж и тривиальная (см. соответствующий вопрос из FAQ по чипам). Сначала — как определить некоторые "другие" характеристики:

Идеальный метод определения емкости и четности — определить номинал всех чипов данного модуля и "сложить" из них этот модуль. Немного более подробные описания:
  • 1x8 — 8 чипов 1х1 или 2 чипа 1х4
  • 1x91x8 плюс чип 1х1
  • 4x8 — 8 чипов 4х1 или 2 чипа 4х4
  • 4x94x8 плюс чип 4х1
  • 1x32 — 2 чипа 1х16 либо 8 чипов 1х4
  • 2x32 — дважды 1х32
  • 1x361x32 плюс 4 чипа 1х1 либо 2 чипа 1х2 Dual-CAS (20-пин SOJ) либо 1 чип 1х4 Quad-CAS (24-пин SOJ)
  • 2x36 — дважды 1х36
  • 4x32 — 8 чипов 4х4
  • 8x32 — дважды 4х32
  • 4x364x32 плюс 4 чипа 4х1
  • 8x36 — дважды 8х32
  • 1x64 — 16 чипов 1х4
  • 2x64 — 8 чипов 1х16 или 2х8
  • 4x64 — 16 чипов 2х8 или 4х4
  • 8x64 — 32 чипа 2х8 или 4х4 либо 8 чипов 8х8
  • 16x64 — 16 чипов 8х8 или 16х4
Про размеры чипов см. в FAQ по чипам, кроме того, там же есть отдельный вопрос о том, как отличить 1х4 от 4х4. ЕСС х36 и х72 получаются добавлением одного лишнего идентичного чипа на каждые 8 чипов соответствующего х32 и х64.

TSOP разных организаций визуально значительно сложнее отличить один от другого, чем SOJ, поэтому трудно предложить что-либо лучшее, чем чтение маркировки чипов, если вам нужно определить SO DIMM либо 3-вольтовые "длинные" DIMM. Отметим только, что SO DIMM 2x32 вполне может состоять из 4 чипов 2х8, в то время, как для SIMM 2x32 такая ("однобанковая") конструкция является отклонением от стандарта.

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



Какую информацию можно получить из маркировки модулей памяти? В каком виде эта маркировка присутствует на модуле? Существуют ли универсальные правила для ее чтения?

С маркировкой модулей памяти ситуация значительно более прискорбная, чем с маркировкой тех же чипов (см. FAQ по чипам). Чем это вызвано — примерно понятно. Если микросхемы памяти выпускает всего два десятка производителей, которые при элементарном наличии доброй воли вполне в состоянии синхронизировать свои маркировки, то число производителей модулей никакому исчислению не поддается. При этом огромное их число (как правило, речь при этом идет о производителях наинизшей ценовой категории, как следствие, и небольшого качества) вообще никак не маркирует свою продукцию. Очень распространена ситуация, когда производитель маркирует печатную плату своим логотипом, но никакой другой полезной маркировки на плате нет. По большому счету редко кто кроме major-производителей маркирует так называемый part number (артикул) на печатной плате, причем обычно краской, а не травлением (это в принципе понятно — как минимум ко времени доступа плата безразлична, поэтому маркировку все равно пришлось бы наносить). Иногда на платах имеются нанесенные краской своеобразные "checkbox" — предполагается, что после сборки производитель промаркирует емкость, время доступа и четность, но на практике это часто не делается.

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

Наконец, наиболее печальный факт — даже если у вас в руках модуль major/major с прекрасно различимой оригинальной маркировкой — это еще не значит, что вам удастся ее прочитать. Потому что никаких единых правил чтения маркировки не существует. Как правило, время доступа читается ничуть не хуже, чем на чипах. Организация (см. вопрос) тоже присутствует, но не очень понятно, в какой форме — почти наверняка есть ширина шины, а также либо глубина адреса (чаще), либо емкость. Позиция, на которой находится то или иное число — произвольная, другие числа и буквы — непредсказуемые. Два примера:

  • ESA1UN3241-60JS — SIMM 1x32 EDO производства Fujitsu. 60 нс видно довольно отчетливо, 32 в принципе тоже (если у вас в руках SIMM, понятно, что искать нужно 32 или 36, см. вопрос). Из цифр имеются также две единицы и четверка, спрашивается — кто из них глубина адреса, или же емкость? Ответ — первая единица, глубина адреса (41 означает чипы 1х4). За EDO отвечает первая буква. В оставшихся буквах закодировано, что перед нами SIMM 72-пин небуферизованный 5В, на базе SOJ с оловянными контактами.
  • HYS72V4000GR-10 — DIMM 4x72 SDRAM от Siemens. Не так хорошо представляя себе правила чтения маркировки Siemens, выскажу свою версию. HYS — модуль SDRAM, 72V4 — 4x72 3.3В, последовательность нулей означает, что никаких особых отклонений (от стандарта SDRAM DIMM) нет, G — золоченое покрытие контактов, R — registered, 10 — наносекунды, разумеется.
Несложно видеть, что принципы кодирования информации имеют между собой мало общего (в случае с Fujitsu о емкости модуля можно только догадываться…). Похожая ситуация и у других брандов. В первом приближении — найдите в маркировке подходящую к вашему модулю ширину шины, ближайшая к ней цифра (буквы можно игнорировать) спереди или сзади будет глубиной адреса (хотя может оказаться и емкостью). Или, если есть возможность, посетите сайт производителя (координаты см. в документе "Major-производители микросхем и модулей DRAM") и постарайтесь найти такую же или аналогичную маркировку, или хотя бы определить исповедуемые данным производителем принципы.

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

Наконец, в принципе можно столкнуться и с proprietary-маркировкой в двух ее ипостасях. Во-первых, модуль, извлеченный из brand-name устройства, с большой вероятностью несет на себе part number данного бранда. Если вы (являясь, например, специалистом по этому бранду) сможете извлечь из этой информации пользу — вас можно поздравить, кроме того, всегда можно попытаться сделать на веб-сервере данного бранда поиск по этому номеру — есть шанс получить приемлемое описание модуля. Во-вторых, модуль мог быть изготовлен generic-производителем для применения опять же в устройствах некоего бранда. Если вы в состоянии определить производителя — идите на его сервер (см. документ "Generic-производители…"), определяйте part number бранда — и задача сведена к "во-первых". В противном случае — довольно часто в маркировке явным образом указана емкость (обычно в виде наподобие 8MEG или ххх/32), однако есть риск, что это емкость не данного модуля, а комплекта, в который он входит. Опять же, остается вопрос с четностью, временем доступа и т.п.



Есть ли связь между маркировкой чипов и характеристиками модуля?

Предположим для начала, что маркировка чипов вполне соответствует их характеристикам, иначе мы рискуем погрузиться слишком глубоко. О случаях, когда это не так, можно почитать в FAQ по чипам. В нашем случае ответ на вопрос будет — да, характеристики чипов и модуля совпадают, по крайней мере в первом приближении. Более точно — тип модуля (fast page, EDO, SDRAM) наверняка соответствует типу чипов, а время доступа — соответствует, как правило. Как правило — потому, что "официальное" (промаркированное) время доступа модуля иногда может быть хуже, чем у составляющих его чипов. Дело в том, что по мере развития технологии более медленные чипы попадают в разряд относительно дефицитных. С другой стороны, если чип работает, скажем, на 60 нс, он ОБЯЗАН работать и на 70 нс. Поэтому нередко можно видеть модуль 70 нс (согласно маркировке и PRD), собранный из 60 нс чипов. Его реальное время доступа при этом может, конечно, составлять и 45 нс — маркировка чипов указывает лишь нижнюю границу времени доступа…

Можно ли по маркировке модуля определить его производителя?

Сие очень сильно зависит от "статуса" производителя. Как обычно, предполагаем, что маркировка не подделана. Производители, склонные считать свой товар "марочным" и, соответственно, готовые отвечать за его качество, маркировку обычно наносят, чаще всего травлением платы или краской. Это относится практически ко всем производителям из имеющихся на данном сайте списков "major" и "generic", причем второй список далеко не исчерпывающ. Логотип или название чаще всего легко читаются и отождествляются. "Все остальные" производители (качества от среднего до никакого) чаще всего не имеют собственного производства печатных плат (на которые и наносится маркировка), а также не очень заинтересованы в отождествлении потребителем их как производителей, соответственно маркировка либо отсутствует вообще, либо (реже) применяется "одноразовая" — набор букв или хвалебное слово.

Надо иметь в виду, что в Азии существует несколько крупных производителей печатных плат, которые продают их сборщикам, и некоторые из этих производителей (опять же — наиболее себя уважающие) ставят на платах СВОЙ логотип. Соответственно, по маркировке можно определить производителя платы и с большой вероятностью регион сборки. Так, модули с датой производства платы (типа 9607) в "жидкокристаллическом" стиле скорее всего происходят с Тайваня, а модули с маркировкой GT — из Сингапура. Кстати, на мой взгляд, такая маркировка все же говорит об определенном качестве как минимум платы и все же лучше, чем никакая…

Что такое PRD (SPD) и для чего оно нужно?

PRD, или PD (Presense Detect) — это, если можно так выразиться, "электрическая" маркировка модуля памяти. Эта маркировка может быть считана контроллером памяти, что позволит ему правильно сконфигурировать схему доступа. Начиная с 72-пиновых SIMM все стандартные модули памяти имеют и стандарт на PRD.

Если говорить конкретно о 72-пиновых SIMM, то под PRD там зарезервированы контакты с 67 по 70-й. Информация передается путем заземления (или незаземления) этих контактов (заземление обычно производится на 72-й контакт). Первая пара контактов отвечает за емкость модуля, вторая — за время доступа. Таким образом, на каждый параметр приходится по 2 бита информации (то есть 4 возможных варианта). Для передачи всего спектра емкостей, существующих в природе (от 1 до 128MB), этого явно недостаточно, как результат, емкостям, отличающимся в 16 раз (например, 4 и 64MB), соответствует одна и та же конфигурация PRD. Похожая ситуация и с временем доступа — с той разве что разницей, что сильно отличающиеся времена доступа, как правило, не сосуществуют в рамках одного форм-фактора. У DIMM, как правило, для PRD отведено больше контактов, поскольку количество значимых параметров (напряжение питания, буферизованность, число банков, глубина refresh) также больше.

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

Самое же интересное в PRD заключается в том, что контроллеры памяти используют его крайне редко. Большинство контроллеров способны вполне самостоятельно определить рабочие характеристики модуля памяти и соответственно сконфигурировать схему доступа, причем понятно, что прямые тесты дают более достоверную информацию. Как результат, подавляющее большинство no-name производителей в порядке экономии нескольких центов не напаивают PRD вообще, выпуская тем самым не соответствующий JEDEC продукт (что в подавляющем большинстве случаев ни на что не влияет, но все же некрасиво). Автор сам впервые столкнулся с понятием PRD в попытках разобраться, почему в некоем устройстве работают американские модули и не работают собранные из точно таких же чипов тайваньские. Еще одна неприятность таится в том факте, что многие рассчитанные на определение PRD контроллеры достаточно стары и "не понимают" распайки на 60 нс (или принимают ее за слишком медленный дубликат), отказываясь тем самым работать с абсолютно нормальными и, более того, наиболее распространенными сейчас модулями. Наконец, IBM, наиболее широко применявшая контроль PRD в своих компьютерах, пользовалась нестандартной (вернее, не всегда совпадающей со стандартом) таблицей PRD. В результате системы, читающие PRD, способны при необходимости расширения памяти доставить владельцу немало проблем.

Выше уже упоминалось, что у DIMM под PRD выделено большее число контактов (у DIMM 168-пин — 11). Предусматривать на печатной плате место под такое количество контактных площадок уже не слишком удобно, поэтому индустрия пошла на логичный шаг — небуферизованные модели DIMM 168-пин снабжены PRD, записанным в микросхеме EEPROM и названным SPD (Serial Presence Detect). Чип EEPROM позволяет хранить целых 256 бит информации, причем первые 128 бит содержат собственно PRD и (поскольку свободное место явно остается), возможно, специальную информацию от производителя. Эта часть информации защищена от перезаписи, в то время как оставшиеся 128 бит могут быть использованы пользователем (вернее, его контроллером памяти). Визуально SPD — это небольшой "лишний" чип на модуле.

Наибольшую известность SPD получил после того, как ряд материнских плат (например, Intel AL440LX), к большому удивлению общественности, отказались работать с "ширпотребными" DIMM (напомним, что экономные "безымянные" производители обычно не устанавливают на свои изделия лишние, с их точки зрения, детали). По сути дела это означало инспирированную Intel попытку возродить использование PRD (теперь в виде SPD). Одни объясняли это необходимостью стандартизовать доступную контроллеру информацию о модуле, особенно в свете грядущего появления чипсетов, поддерживающих высокоскоростные шины, другие — попыткой major-производителей, обеспокоенных падением цен на память, вытеснить с рынка no-name производителей (по непроверенным слухам, 440LX проверял не только собственно SPD, но и "информацию от производителя", по поводу которой был разработан специальный закрытый стандарт, так что даже DIMM с корректным SPD могли быть им отвергнуты). Впрочем, похоже, что попытка не имела особого успеха, так как функция контроля SPD задействована далеко не во всех современных материнских платах. Однако при покупке платы на чипсете 440LX и/или памяти к ней рекомендуется заранее озаботиться вопросом SPD.



Что такое "контроль четности" и "модули с контролем четности"?

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

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

Со временем надежность памяти ощутимо выросла, операционные системы стали многозадачными, пользовательский интерфейс — графическим, наконец, операционные системы стали выполнять тесты памяти при загрузке. В этой ситуации стали особенно заметны недостатки памяти с четностью, а именно:

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

(Справедливости ради надо отметить, что по поводу "отмены" контроля четности существует и еще одна точка зрения. Вкратце она сводится к тому, что единственным реальным мотивом отказа от четности стал всплеск конкурентной борьбы на рынке компьютеров, когда никто из производителей уже не мог позволить себе тратить деньги там, где этого не делали его конкуренты. Результат же — захват рынка производителями низкокачественной (что не поддается идентификации пользователем) памяти, как следствие — огромное количество потерь из-за сбоев и падение доверия к операционным системам и программам.)

Модули с контролем четности, таким образом — это модули, в которых помимо основной шины предусмотрены дополнительные биты четности (по большому счету достаточно и одного бита на всю шину, однако чаще их бывает больше). Если оставить в стороне нестандартные модули, а также ECC, то фактически они существовали только в форм-факторе SIMM (подробности — в соответствующем вопросе).



Что такое "ECC" и "модули ECC"?

ECC обычно расшифровывается как Error Checking and Correction, существуют и другие версии, но смысл заключается в том, что речь идет о схеме обнаружения И ИСПРАВЛЕНИЯ ошибок в памяти. За счет чего удается добиться таких потрясающих результатов? Идея, лежащая в основе метода, довольно проста — пусть каждый бит основной памяти входит БОЛЕЕ ЧЕМ В ОДНУ контрольную сумму. Это потребует увеличения числа контрольных бит (напомним — стандартный метод контроля четности реально не требует более 1 контрольного бита на всю шину), но даст возможность восстанавливать позицию (а, следовательно, и значение) сбойного бита по позициям несошедшихся контрольных сумм. Предполагается, что контроллер памяти самостоятельно восстанавливает это значение, не прерывая работу всей системы (хотя разумно при этом генерировать системное сообщение об исправленной ошибке, чтобы владелец системы, если такие сообщения повторяются, мог принять меры по замене памяти, не дожидаясь более значительных сбоев).

Попробуем пояснить на простейшем примере. Представим себе шину из 6 (почему бы и нет?) бит (1-6), имеющую дополнительно 4 контрольных бита S1-S4, причем в этих битах хранятся следующие контрольные суммы:

  • S1 — 1, 2, 3
  • S2 — 1, 4, 5
  • S3 — 2, 4, 6
  • S4 — 3, 5, 6
Предположим, что в одном из основных бит произошла ошибка, и посмотрим, ошибку в каких контрольных суммах это вызовет:
  • 1 — S1, S2
  • 2 — S1, S3
  • 3 — S1, S4
  • 4 — S2, S3
  • 5 — S2, S4
  • 6 — S3, S4
То есть по номерам сбойных контрольных сумм сбойный бит определяется однозначно! Для построения данной схемы использовалась картинка, на которой основные биты располагаются над главной диагональю квадратной матрицы со стороной, равной числу контрольных сумм, и каждый бит входит в контрольные суммы с номером соответствующей строки и столбца этой матрицы. Нетрудно видеть, что такая схема позволяет с помощью n контрольных сумм "проконтролировать" до n(n-1)/2 основных бит. 4 контрольные суммы на 6 бит, конечно, выглядят очень щедро, но при увеличении ширины основной шины требуемое количество контрольных бит растет всего лишь как (примерно) квадратный корень из нее, так что при достаточно широких шинах потребность в контрольных битах относительно низка.

Отметим сразу, что нарисованная схема нежизнеспособна по ряду причин. Предположим, что простой сбой в контрольном бите система может проигнорировать (так как в этом случае не сойдется лишь одна контрольная сумма). Но рассмотрим, например, двойную ошибку — скажем, одновременно в битах 1 и 2. Легко видеть, что результатом будет расхождение в контрольных суммах S2 и S3, что будет проинтерпретировано как ошибка в бите 4. Аналогично неверную интерпретацию вызовет ошибка в любых двух битах, неважно, основных или контрольных. В действительности большинство схем ECC обеспечивает как минимум обнаружение двойной ошибки (с последующей остановкой системы). Автор не может привести никакую реализованную в действительности схему ECC, но склонен полагать, что уже из приведенного примера видно, что никаких чудес здесь нет, причем реализовать "истинный" ECC можно примерно на том же количестве "лишних" бит (порядка квадратного корня из удвоенной ширины шины). Можно, например, подумать о схеме, в которой основные биты не записываются вообще — только набор сумм (слово "контрольных" тут не очень подходит), из которых при чтении и восстанавливаются основные биты (а за счет избыточности — детектируются ошибки). Реально ECC реализовывалось практически только на 64-битной шине памяти (даже на машинах с 32-битной основной шиной), причем ранние реализации требовали до 16 контрольных бит, современные же схемы обходятся восемью.

Модуль ECC — несколько менее однозначное, чем модуль с четностью, понятие, что произошло в силу ряда исторических причин, основной из которых было в свое время отсутствие стандарта на контроллеры ECC, а, стало быть, и на модули, в них применяющиеся. Ознакомьтесь с двумя отдельными вопросами, посвященными ECC SIMM и ECC DIMM.



Что такое "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 с логической четностью — таким образом, вы покупаете продукт низшей, чем это возможно, категории качества.
Таким образом, вывод — за исключением двух описанных выше случаев, применение логической четности рекомендовать нельзя никак, в этих же двух случаях — можно с определенной натяжкой.


Как отличить модули с "логической" четностью?

Вопрос, разумеется, не праздный — как уже отмечалось в предыдущем вопросе, SIMM с логической четностью иногда пытаются продавать под видом четности истинной. Ответ довольно простой — модули с "логикой" вместо чипов четности имеют чип "логической четности". Его-то и надо идентифицировать. О том, как это сделать, подробно рассказано в FAQ по чипам.

Правда ли, что ECC можно организовать с помощью "обычных" SIMM c четностью?

Безусловно. Более того, подавляющее большинство систем, поддерживающих ECC с помощью SIMM, делают это именно на базе стандартных SIMM с четностью. Это относится как к многим brand-name серверам выпуска примерно 1995 года и далее, так и к обычным настольным системам, скажем, на базе чипсета 430HX. Дело в том, что "атавистическое" устройство стандартных SIMM x36 на базе четырех CAS по большому счету никак не влияет на его способность работать в ECC-системе (хотя и есть возможность обращаться к группам 8+1 бит по отдельности, никто не заставляет этой возможностью пользоваться). Поэтому большинство разработчиков заложили в свои контроллеры возможность использовать намного более распространенные (и, кстати, по этой причине более дешевые, хотя логично было бы ожидать обратного) SIMM с "обычной" четностью (возможно, поэтому ECC SIMM так толком и не прижились).

Обратное, кстати, неверно — как правило, ECC SIMM x36 неспособны работать в системах с обычным контролем четности.

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

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

Визуально это DIMM с числом чипов DRAM, кратным 9 (9, 18 или 36), в отличие от DIMM без четности, имеющих кратное 8 число чипов.

Почему одни и те же модули SIMM 72-пин устанавливаются в одни компьютеры по одному, в другие — по два, а в третьи — по 4 или 8 одновременно?

По одному и по два — ответ относительно простой. Компьютеры на основе 486-х процессоров имеют ширину шины 32 бит, соответственно, одного 32-битного модуля хватает, чтобы ее "перекрыть". Pentium-системы же 64-битные, поэтому 32-битные SIMM требуется устанавливать в банки попарно. Более того, некоторые достаточно старые 16-битные системы на базе процессоров 386SX расширялись "половинками" 72-пиновых SIMM (а вернее, их более старой реализацией с вдвое более узкой шиной). Аналогично те же 16-битные системы требовали попарной установки 30-пиновых 8-битных SIMM, а 32-битные - уже по 4.

Что касается SIMM, устанавливаемых по 4 или 8, то там идея несколько другая. Ширина главной шины у таких систем обычно составляет те же 32 или 64 бита, а расширение ее в подсистеме памяти до 128 или 256 бит — мера искусственная, и применяется либо для реализации ЕСС (в более ранних ее схемах, напомним, что чем шире шина, тем меньше контрольных бит требуется по отношению к основным, см. вопрос), либо для interleave (в этом случае обращение к каждой паре модулей происходит со сдвигом по фазе по отношению к остальным).



Какие контакты лучше — золоченые или луженые?

Очень трудно сказать. Похоже, все рассуждения на эту тему представляют собой лишь спекуляции, имеющие целью объяснить, почему индустрия свернула на ту или иную дорогу. На цену модулей материал контактов практически не влияет ввиду чрезвычайно малого содержания драгметаллов, так что если бы какое-то из покрытий было заведомо хуже другого, оно, надо полагать, давно бы отмерло само собой. С точки зрения практики, у каждого из материалов есть свои недостатки — gold lead имеет свойство облезать, а tin lead — ржаветь (вернее, покрываться налетом). Однако видеть модули, корродировавшие до такой степени, что это стало влиять на их работу, мне не доводилось.

Историческая справка. В достаточно старых (эпохи 386-х и ранних 486-х машин) применялись в основном золоченые разъемы. На пороге эры Pentium соотношение было примерно 50-50, затем произошел скачок популярности олова, так что золоченые разъемы применялись практически только в некоторых серверах. В частности, 72-пиновые SIMM EDO с золочеными контактами практически не встречаются ввиду полного отсутствия систем с такими разъемами. Однако DIMM (причем не только "длинные", но и SO) вновь вернулись к золоту и всегда имеют золоченые контакты.

Действительно ли материал контактов и разъемов, в которые устанавливаются модули памяти, должен совпадать?

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

Данная точка зрения, безусловно, имеет право на существование, однако достаточно большой личный опыт автора (и не его одного) показывает, что при использовании луженых модулей памяти с золочеными разъемами (или наоборот) никаких визуальных следов сильной коррозии, а тем более сбоев в работе, не наблюдается. В свое время в PC Magazine была чуть ли не дискуссия по этому вопросу, причем мнение людей, реально использовавших несовпадающие контакты, совпадало с моим собственным. Есть этому и объяснение — для гальванической коррозии необходим электролит, т.е. влага, конденсации которой в горячем и вентилируемом корпусе компьютера ожидать довольно трудно (а если она все же произойдет, это грозит вещами более неприятными, чем просто коррозия). Разве что ваш компьютер установлен в бане, или, скажем, на корабле… Кроме того, контакты модулей памяти имеют свойство утрачивать свой "блеск" и в одноименных разъемах — золоченое покрытие часто "облезает", а луженое — "ржавеет". Однако к полной потере контакта и к сбоям это практически никогда не приводит. Впрочем, мне доводилось слышать историю про сервер, который работает без сбоев только при условии, что раз в месяц контакты SIMM протираются спиртом. Она, казалось бы, опровергает все предыдущие рассуждения, но дело в том, что количество серверов, в которых стоит память с несовпадающими контактами, огромно, все они обязаны работать без сбоев — и, надо полагать, работают, раз особых жалоб слышать не приходилось. Так что не исключено, что "уникальный" сервер работает именно в условиях сверхвысокой влажности, или же несовпадение материала контактов у него особенно вопиющее (микропримеси, как известно, могут сильно влиять на химические реакции). Наконец, сама история может быть апокрифом.

Таким образом, я лично склонен рассматривать настойчивые заявления производителей о недопустимости несовпадения материалов контактов скорее как перестраховку, да и как способ отсечь generic-производителей от рынка. В документе Compaq черным по белому писалось что-то типа: "Покупайте память только у нас, потому что все остальные даже не позаботятся о том, чтобы совпадали материалы контактов…" (кстати, уважающие себя generic еще как заботятся). Тем не менее — техническое условие есть техническое условие, и так просто пренебрегать им не стоит.

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



Что имеется в виду, когда говорят о "ключах" на модулях памяти?

Под ключом на модуле памяти (обычно речь идет о модулях SIMM или DIMM, хотя, безусловно, ключи имеют также memory card и многие специфические модули) обычно понимают выступ или вырез в модуле, который в сочетании с соответствующим вырезом (выступом) в разъеме выполняет одну из двух (или обе) функций:

  • не позволяет установить симметричный модуль памяти "наоборот";
  • предотвращает использование в системе модуля, не подходящего по параметрам (скажем, по рабочему напряжению).
Рассмотрим поподробнее типы ключей, применяющихся в SIMM и DIMM:
  • SIMM 30-пин — вырез сбоку со стороны 1-го пина, служит для правильной ориентации модуля.
  • SIMM 72-пин — аналогичный вырез со стороны 1-го пина, а также вырез посередине между 36-м и 37-м пинами. Как это ни странно, этот вырез также имеет довольно неожиданное значение, см. FAQ-3.
  • SO DIMM 72-пин — вырез со стороны 1-го пина, высота этого выреза также отвечает за напряжение питания модуля.
  • DIMM 168-пин — 2 выреза "внутри гребенки" — между 10 и 11 и между 40 и 41 пинами (поскольку всего на одной стороне 84 пина, положение явно асимметрично и, соответственно, определяет 1-й пин. Эти вырезы могут быть слегка смещены по горизонтали, и это смещение задает буферизованность и напряжение питания соответственно.
  • SO DIMM 144-пин — вырез между 30 и 31 пинами (если быть более точным — между 59 и 61, у этого класса DIMM контакты нумеруются попеременно на обеих сторонах). Асимметричное расположение (всего на стороне 72 контакта) задает 1-й пин. Не исключено, что этот вырез также может быть смещен по горизонтали, что задаст, к примеру, напряжение питания, но данные DIMM встречаются только в 3-вольтовом исполнении, так что проверить гипотезу еще не удавалось.
Надо отметить, что контроль каких-либо параметров с помощью высоты выреза является "односторонним" - модуль с низким вырезом нельзя установить в разъем с высоким выступом, но не наоборот. Смещение ключа вдоль модуля — метод более надежный, так как гарантирует невозможность установки неправильного модуля, но создает серьезную проблему для производителей модулей (и материнских плат), вынужденных иметь дело с множеством разных дизайнов печатных плат и разъемов.

Как должны быть расположены ключи на модуле для моего компьютера? Если на модуле, которым я располагаю, они расположены неверно, можно ли подпилить модуль или разъем, чтобы его применить?

Как обсуждалось в предыдущем вопросе, реально положение ключей может влиять на возможность установки только 72- и 168-контактных DIMM. Правильная конфигурация ключей для них следующая:

  • SO DIMM 72-пин. 3-вольтовый модуль имеет ключ "обычной" (как у SIMM 72-пин) высоты, 5-вольтовый — вдвое более высокий. Как результат, 3-вольтовый модуль нельзя установить в 5-вольтовый разъем (но не наоборот).
  • DIMM 168-пин. Как уже отмечалось, модуль имеет 2 ключа. Один из них находится почти посередине модуля, другой — ближе к 1-му контакту. Предположим, что вы держите DIMM перед собой контактами вниз и 1-й пин находится слева, тогда левый ключ (ближе к краю) отвечает за буферизованность, а средний — за напряжение. Если присмотреться к промежуткам в контактной линейке, в которых расположены ключи, то видно, что их ширина примерно втрое больше ширины ключа. Каждый ключ, таким образом, имеет 3 позиции (реально используются 2) — среднюю, а также правую и левую.

    • Левый ключ в средней позиции соответствует буферизованному модулю, в правой — небуферизованному.
    • Средний ключ в левой позиции соответствует 5В модулю, в средней — 3.3В.
Вообще-то, время от времени действительно встречается ситуация, когда DIMM собран на "неправильной" по ключам плате. Чаще всего ошибка происходит с ключом напряжения питания, так как оно (напряжение) практически не влияет на дизайн платы. Похоже на то, что необходимость иметь различные платы для очень похожих модулей создала проблемы в технологических цепочках некоторых производителей. Кстати, доводилось видеть довольно изящное решение — 168-пиновые DIMM, собранные на платах с преднамеренно расширенными вырезами ключей, подходящими к любому выступу. К сожалению, такое решение нельзя рекомендовать просто потому, что путаница, возникшая из-за обилия конфигураций памяти в умах конечных пользователей, в любом случае намного выше, чем у производителей, и ключи нужны в первую очередь для предотвращения установки "неправильных" модулей. Тем не менее предположим все-таки, что приобретенный вами модуль на ваш взгляд полностью соответствует описанию в мануале материнской платы, однако в разъем не устанавливается, поскольку позиция одного из ключей не соответствует вышеприведенному описанию. Можно ли браться за напильник?

Мой совет — только в последнюю очередь. Первым делом постарайтесь связаться с продавцом (источником) модуля и сообщить ему ситуацию в терминах "в мою плату устанавливаются 5-вольтовые буферизованные модули, я приобретал у вас именно такой, однако не могу его установить, поскольку на мой взгляд ключ напряжения выставлен неверно". Если модуль действительно не соответствует описанию (неважно, только по ключам или по реальным характеристикам) — исправлять ситуацию должен именно продавец. Если заменить модуль по какой-то причине невозможно — обязательно еще раз тщательнейшим образом осмотрите модуль и убедитесь, что "по чипам" он именно такой, какой нужно — в противном случае, решившись на установку, вы рискуете повредить его или (с меньшей вероятностью) плату. Следующий совет — если вы решились на доработку, лучше (если есть доступ) делать это с разъемами (хотя в таком случае желательно, чтобы информация о том, что ключи на разъемах удалены, сохранилась). Наконец — если вы все-таки дорабатываете сам модуль — старайтесь делать это аккуратно (еще неизвестно, чем закончится ваш эксперимент — постарайтесь сохранить товарный вид) и обратите особое внимание на то, чтобы подпиливание ключей не привело к повреждению дорожек платы (часто они проходят очень близко к ключам!). И еще раз — если у вас есть хоть какие-то сомнения в своих силах или в правильности предпринимаемых действий — обязательно обратитесь к специалисту!!!



Что такое буферизованный модуль? Для чего нужна буферизация?

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

Проблема была осознана примерно к моменту появления 168-контактных DIMM, и при разработке контроллеров для систем с этими модулями (первыми, кажется, были PowerMac) было предложено следующее решение — контроллер общается с DRAM не напрямую, а через микросхему, именуемую буфером, которая сама по себе имеет низкую емкость, и, соответственно, способна мгновенно принимать сигнал от контроллера, освобождая системную шину. Дальнейшая зарядка ячеек DRAM идет уже без участия контроллера. Сам по себе буфер представляет собой дополнительную микросхему, размеры которой, в принципе, могут быть разными, но обычно меньше, чем чипы собственно памяти. В зависимости от количества банков буферов может быть больше одного.

Однако прежде, чем 168-контактные DIMM прочно вошли в обиход, произошло еще одно событие — появились и стали легкодоступны микросхемы с рабочим напряжением 3.3В. Все та же теория гласит, что время зарядки конденсатора пропорционально также и напряжению, таким образом, снижение напряжения несколько сняло остроту проблемы. К моменту массовой разработки контроллеров памяти для DIMM-ориентированных систем индустрия оказалась полностью дезориентированной, в результате, в компьютерах разных производителей могут применяться DIMM практически любой комбинации буферизованность/напряжение. Насколько можно судить, небуферизованные модули не работоспособны в системах, предназначенных для модулей буферизованных, и наоборот (в действительности установить DIMM с "неверной буферизацией" не позволяет наличие ключа, см. соответствующий вопрос). SDRAM DIMM в буферизованном исполнении не встречаются, однако уже разработана аналогичная буферу конструкция и для них. Она носит название register, а соответствующие модули — registered.

Что такое композитный модуль? Чем грозит его применение?

По существу, единственной мало-мальски распространенной разновидностью композитных модулей были ранние реализации SIMM типа 4х32. Тем не менее, кое-какое обобщение возможно. Для начала обратим внимание, что у однобанкового 72-контактного SIMM (например, 1х32 и 4х32, об этих обозначениях см. соответствующий вопрос) глубина адресного пространства совпадает с глубиной адресного пространства чипов (1х4 или 1х16 и 4х4 соответственно, см. FAQ по чипам), из которых он состоит. Это естественно — адрес, запрашиваемый у модуля, просто запрашивается у каждого из его чипов. По поводу двухбанковых упомянем только, что фактически они имеют ту же глубину адресного пространства, что и соответствующие однобанковые модули — удвоение идет за счет использования лишних RAS (см. подробности в соответствующем вопросе).

Таким образом, каждому учетверению емкости модулей памяти должно предшествовать, вообще говоря, появление нового поколения чипов. Однако в тот момент, когда компьютерной индустрии потребовались 16-мегабайтные SIMM, чипы 4х4 были в большом дефиците (или дороги, что одно и то же). В качестве временной меры модули 4х32 (все излагаемое относится также и к SIMM с четностью, но для простоты не будем на этом останавливаться) начали изготавливать из имевшихся в наличии чипов 1х4. Сразу же возникла очевидная проблема — эти чипы имеют только 10 адресных линий, но модуль-то должен иметь 11 (о числе адресных линий см. FAQ по чипам)! Требовался способ сымитировать четырьмя чипами с адресуемым мегабитом один чип с четырьмя мегабитами (учитывая, что адресное пространство представляет собой квадратную матрицу, сделать это не так уж и просто). Выход был найден в том, что лишняя адресная линия была "подсоединена" к RAS, то есть, иными словами, происходило следующее — некая логическая микросхема перехватывала поступающие от контроллера состояния RAS и 11-го адреса (2 бита) и преобразовывала их в сигнал на одну из 4-х линий RAS, на каждой из которых сидело по одному "малому" чипу. Получившиеся таким способом 32-чиповые (плюс логический чип) SIMM 4x32 и применялись в качестве первых 16-мегабайтных SIMM. Они то и получили название композитных.

Естественно, наряду с достоинствами (дешевое и легкодоступное решение) метод имел и ряд недостатков. Два наиболее существенных — наличие логики (которое, как известно, не способствует совместимости с контроллерами, о логике не осведомленными) и повышенное по сравнению с нормой (см. вопрос) количество чипов. Насколько можно судить, далеко не все "ранние" контроллеры поддерживали композитные модули. Естественно, как только чипы 4х4 стали более доступны, разработчики систем перестали закладывать в них возможность работать с композитной памятью. Первое время в мануалах еще указывалось, что системе требуются 16-мегабайтные "non-composite" SIMM, потом и это стало опускаться. Забавно, что наиболее ранние из систем, поддерживающих 16-мегабайтные модули, кажется, в свою очередь работают только с композитными SIMM (впрочем, такие компьютеры — большая редкость).

В принципе, следующими кандидатами на "композитность" должны были стать SIMM калибра 16х32, тем не менее этого произошло — "ранние" реализации этих модулей появились уже в эпоху хорошо развитой 16-мегабитной технологии и собирались из чипов 16х1. Чипов по-прежнему требовалось 32, но с адресным пространством все было в порядке. DIMM же 16х64 великодушно дождались появления 64-мегабитных чипов (при этом ранние реализации таких DIMM стоили все те же безумные деньги). Кое-какие проблемы имелись с SO DIMM, на которых физически невозможно разместить даже 16 чипов, но и здесь 32-мегабайтные модули появились только вслед за 64-мегабитными чипами. Похоже, ряд производителей ноутбуков использовал-таки композитные решения в своих модулях памяти, однако, поскольку речь идет о модулях специфических, это не предмет для обсуждения, хозяин — барин.

Таким образом, реально вам может встретиться только композитный SIMM 72-пин 16МВ, имеющий 32 (или 36) чипов DRAM и логический чип. Скорее всего, он произведен много (более 5) лет назад и все это время стоял в некоем компьютере. Использование его на прежнем месте ничем особым не грозит, раз уж он проработал так долго. Но устанавливать такие модули в современные системы я бы без особой нужды не советовал. Аргументы — скорее всего, слишком большое время доступа; наличие логики еще более ухудшает время доступа или вообще делает модуль несовместимым; слишком много чипов — также потенциальная угроза. Покупать такие модули без серьезных тестов на совместимость, как следствие, не рекомендуется.



Существует ли ограничение на количество чипов на одном модуле памяти?

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

Тем не менее, все не так просто. Ряд производителей материнских плат прямо указывает в своих мануалах, что устанавливаемые в их платы SIMM должны иметь не больше 24 чипов (или не более 50 чипов на банк, что фактически одно и то же). "Пострадавшими" от такого ограничения являются в основном ранние (32- или 36-чиповые) реализации SIMM 64МВ. С архитектурной точки зрения они полностью идентичны "разрешенным к применению" SIMM на базе 64-мегабитных чипов. В чем же дело и есть ли основания для запрета?

А дело в том редко осознаваемом факте, что каждый чип DRAM в рабочем режиме потребляет порядка 0.5-1.0 ватт энергии. Таким образом, два 36-чиповых SIMM могут (по порядку величины) потребить 72 ватта, а четыре — и все полторы сотни. Сравните это с мощностью обычного блока питания (300 вт) и станет понятно, что такие модули дают на него колоссальную нагрузку. В принципе, мне известны и случаи выхода из строя по причине перегрузки памятью блоков питания, но более существенно то, что на такие нагрузки попросту не рассчитано большинство обычных материнских плат. Сгореть от перегрузки плата, скорее всего, не сгорит, но вот сбоев в работе избежать удастся вряд ли. Еще один потенциальный источник сбоев — слишком высокая электрическая емкость многочипового модуля (см. вопрос про буферизацию).

Означает ли это, что многочиповые SIMM вообще (и 64МВ, в частности) являются товаром неполноценным и применению не подлежащим? Естественно, нет. Изначально 64МВ была емкостью очень высокой для обычного компьютера, и ранние многочиповые 64МВ SIMM применялись в основном в серверах. А сервер - это специальный (в частности, на такую память и рассчитанный) дизайн материнской платы плюс мощный блок питания. Соответственно и вышеупомянутые SIMM были там на своем месте. Проблемы возникли с ростом требований владельцев "обычных" систем.

Мораль же заключается в том, что применять SIMM с количеством чипов больше 24 можно, но крайне осторожно (в частности, больше одного банка — только в серверах). То есть — прежде чем совершать покупку, не забудьте про тесты. Если при этом речь идет о 16МВ SIMM — не забудьте, что скорее всего они композитные.

Если на печатной плате модуля памяти остались свободные контактные площадки под микросхемы, означает ли это, что перед нами неполноценный модуль?

Если речь идет о площадках под чипы DRAM — скорее всего (если, конечно, у модуля не 7 чипов) все в порядке. Свободные контактные площадки предназначены скорее всего либо под чипы четности, которых нет на модуле без таковой, либо под второй комплект чипов для создания двухбанкового модуля, если ваш модуль однобанковый. Очень многие производители памяти (в том числе и major) используют такой универсальный дизайн печатных плат, и ничего страшного в этом нет.

В принципе, нет оснований для паники и в том случае, если пустые контакты предназначены для чипа типа TQFP. Скорее всего это отсутствует (а нужен ли он вам?) чип логической четности. Другое дело, что готовность производителя напаять на свои изделия такой чип сразу заметно понижает его в воображаемой иерархии (напомню — уважающие себя производители логическую четность не применяют). Также нет ничего страшного в свободных контактных площадках под PRD (см. вопрос), хотя если там нет ни одного резистора и это не SIMM 8МВ 60 нс — то PRD вашего модуля скорее всего неверное. Аналогично свободная контактная площадка под небольшой чип EEPROM на модуле DIMM означает отсутствие SPD — что несколько похуже, чем в случае с SIMM, так как больше вероятность встретить систему, которой это не понравится.

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

Как отличить модули памяти с одинаковым числом чипов (например, SIMM 72-пин 4 и 16МВ) друг от друга?

Вообще-то отличить друг от друга модули памяти с одинаковым (а хоть бы и с разным) числом чипов можно, попросту определив, что каждый из них собой представляет (например, по маркировке чипов или их размеру, как об этом сказано в соответствующем вопросе). Кстати, именно частный случай SIMM 4 и 16 мегабайт (или, аналогично, 8 и 32) наиболее интересен, поскольку при беглом осмотре такие модули (в предположении, что первые собраны из чипов 1х4) выглядят абсолютно одинаково. Чтение маркировки чипов — один из методов определить, кто есть кто, но намного более изящный метод основан на том факте, что 300-mil SOJ 1x4 имеет 20 контактов (2 раза по 5 с каждой стороны, зазор между каждой группой контактов относительно велик), а 4х4 — 24 контакта (по 6, зазор заметно меньше).



Действительно ли модули SIMM 72-пин 4 и 16МВ (а также 8 и 32МВ) собираются на одних и тех же печатных платах?

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

Какие еще чипы, кроме микросхем DRAM, должны присутствовать на печатной плате и чем грозит их отсутствие?

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

Помимо микросхем DRAM, наиболее важными не чипами даже, а деталями являются шунтирующие конденсаторы — миниатюрные детали (размером примерно 2х1 мм). Как правило, на каждый чип памяти приходится один конденсатор, причем на плате он располагается рядом с самим чипом (а если чипы SOJ - то, может быть, и под чипом, если снаружи конденсаторов не видно — посмотрите на модуль сбоку на просвет, чаще всего вы увидите небольшой выступ). Конденсаторы эти призваны смягчать кратковременные скачки напряжения, предотвращая повреждение чипов или (что более актуально, поскольку более вероятно) потерю данных. Не могу точно сказать, почему конденсатор не встраивается в микросхему на стадию упаковки, что кажется более логичным — просто так повелось. Если конденсаторы на модуле отсутствуют — использовать его не рекомендуется ни в коем случае! Идеальных блоков питания не существует, поэтому риск сбоев очень велик, кроме того, подобная "экономия на спичках" указывает на крайне низкий уровень культуры производства. Кстати, мне доводилось видеть модули, у которых аналогичным образом шунтированы ВСЕ контакты (только конденсаторы поменьше размером, иначе бы не поместились). Выглядит это как произведение ювелирного искусства… Иногда присутствует также большой конденсатор, шунтирующий, видимо, весь модуль (чаще это бывает на модулях с относительно большим числом чипов), но я не располагаю информацией о том, в каких случаях он быть обязан. Хуже от него, во всяком случае, не становится. Он обычно имеет форму куба с ребром порядка 2 мм, ножки чаще всего не видны, но в любом случае их не более двух.

Вот какие чипы можно встретить еще (даны ссылки на соответствующие вопросы):

  • Резисторы PRD (см.) — несколько побольше конденсаторов и расположены обычно отдельной группкой. Отсутствие их особой опасности не представляет, так как число систем, использующих PRD, не слишком велико; в любом случае, если модули без PRD работают в вашей системе, то ничего страшного в отсутствии PRD уже нет. Также надо иметь в виду, что вовсе не все резисторы обязаны присутствовать. В частности, время доступа 60 нс соответствует незаземленности обоих соответствующих контактов, а емкость модуля в принципе может быть выставлена в момент изготовления платы. См. подробности в отдельном вопросе.
  • Чип EEPROM SPD (см.) — как правило, маленькая схема с небольшим числом контактов, в случае ее отсутствия группа голых контактных площадок хорошо заметна. Должна присутствовать на небуферизованных 168-контактных (вообще говоря и 144-контактных) DIMM. Отсутствие грозит несовместимостью с некоторыми материнскими платами, в частности, на чипсете 440LX.
  • Буферы (см.) — естественно, на буферизованных модулях. Могут быть разного размера, важный признак — большое (не меньше ширины шины) число контактов. Являются неотъемлемой частью такого модуля, поэтому вопрос об опасности их отсутствия лишен смысла.
  • Генератор четности (см.) — присутствует на SIMM с логической четностью. Мое мнение — лучше бы, чтоб его и не было. Во всяком случае, свободная контактная площадка под такой чип (о его определении см. FAQ по чипам) модуль не ухудшает. Хотя и не украшает во всех смыслах.
  • Другие логические схемы (например, RAS-конверторы в композитных (см.) и других собранных из необычных чипов модулях) — фактически, любые чипы, не являющиеся перечисленными выше. Как правило, применять стандартные модули памяти, имеющие подобные чипы, не рекомендуется — фактически они стандартными не являются.


Какой должна быть правильная печатная плата для модуля памяти и можно ли визуально определить (по цвету и т.д.) низкокачественные платы?

Однозначный ответ на этот вопрос дать невозможно. В частности, цвет платы обычно не имеет ни малейшего отношения к ее качеству. Разные производители используют разные цвета в диапазоне от темно-зеленого до песочного, один производитель, как правило, не более 2-3 цветов. На визуальное восприятие цвета влияет и плотность контактных дорожек в верхнем слое платы. Конечно, если кто-то использует относительно редкий оттенок, при известном опыте можно научиться отличать по внешнему виду именно его модули, но вряд ли такое умение будет иметь практическую пользу.

На что же в печатной плате обращать особое внимание? В первую очередь, на наличие маркировки известного производителя, травлением или краской — оно повышает вероятность того, что модуль качественный. Далее — посмотрите на контакты, вернее, на их покрытие — часто оно имеет вид буквально наляпанного, разумеется, это не есть хорошо. Следующее, что можно увидеть - это свободные контактные площадки под чип логической четности (см. вопрос) — на мой взгляд, присутствие подобной опции опять же понижает рейтинг производителя, как следствие, и модуля. Ну и наконец — как ни странно, вам следует довериться своему эстетическому чувству — очень часто (увы, не всегда) печатные платы, на которых выполнены низкокачественные модули памяти, производят какое-то отталкивающее впечатление сами по себе. Надо понимать, бывают дизайнеры-професcионалы, а бывают и ремесленники.

Какие основные причины выхода модулей памяти из строя?

Очень часто, задавая этот вопрос, имеют в виду совсем другое — почему выходят из строя ЧИПЫ памяти. Подробный ответ на этот вопрос имеется в FAQ по чипамЗдесь же мы остановимся на всех остальных, помимо неисправности чипов, причинах поломки модулей памяти. Надо иметь в виду, что чаще всего модуль ломается именно по этим остальным причинам — чипы, если уж им суждено сгореть по причине внутренних дефектов, обычно делают это достаточно быстро.

Если еще непонятно, о чем идет речь — идет она о механических (реже — электрических) повреждениях модулей. Список их примерно следующий:

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

Может, стоит еще упомянуть такую легендарную (см. вопрос) причину, как полная коррозия контактов - в природе она не встречается, но пугают ей постоянно…

Что такое SO DIMM и какие они бывают?

SO DIMM, т.е. Small Outline DIMM, иными словами — "короткий" DIMM. Под этим названием существуют две разновидности DIMM — 32-битные 72-контактные (в первом приближении можно считать, что это просто 72-контактный SIMM, который сложили вдвое) и 64-битные 144-контактные (в том же первом приближении — два уменьшенных 72-контактных SIMM). Первая разновидность DIMM существует в виде fast page или EDO и с рабочим напряжением 5 либо 3.3В, вторая — EDO или SDRAM и только 3.3В (под существованием понимается не принципиальная возможность реализации, а практическое наличие). Насколько мне известно, версий с контролем четности в природе не встречается.

SO DIMM как форм-фактор ориентирован на применение в компактных устройствах, т.е. ноутбуках.



Можно ли применять модули памяти, изготовленные из "длинных" чипов, каждый из которых заменяет 4 обычных?

Вполне. Речь идет о 72-контактных SIMM 4 и 8МВ (а также некоторых DIMM младших номиналов), под "длинными" чипами (о размерах чипов см. в FAQ по чипам) понимаются чипы 1х16 (заменяющие 4 чипа 1х4). Даже из организации чипов должно быть видно, что замена вполне честная, и архитектурно "малочиповые" (в смысле количества чипов) модули ничем не отличаются от многочиповых. В принципе, сейчас в продаже в основном встречаются именно малочиповые версии, однако кого-то может беспокоить, окажутся ли они совместимыми с его компьютером, в котором изначально стояли многочиповые SIMM. Так вот, должны оказаться. Об одном малоприятном исключении см. в вопросе об одно/двухбанковых модулях.

В действительности, у этого вопроса есть история. Массовый выход "длинных" чипов на рынок (во всяком случае, российский) произошел году в 1995, и удачным его назвать никак нельзя. Похоже, новая технология, по которой изготавливались первые чипы 1х16, давала поначалу очень высокий процент брака (по крайней мере у некоторых производителей, называть их не будем, так как проблемы свои они, похоже, давно изжили). При этом чипы 1х16 изначально были дешевле, чем соответствующее количество 1х4. Естественно, "ненадежные" партии чипов утекли к производителям максимально дешевой памяти, которые никогда не обременяли себя входным/выходным контролем. В результате, процент брака среди появившихся в изобилии малочиповых SIMM был просто фантастическим, и их (а заодно и производителей чипов) репутация надолго оказалась подмоченной. Причем похоже, что нечто подобное произошло во всем мире — иначе не очень понятно, чем объяснить, что многочиповые SIMM, будучи заметно дороже, до сих пор (хотя качество чипов 1х16 уже давно нормализовалось) имеются во многих прайс-листах. То есть объясняется это спросом, но вот чем объяснить спрос? Один из артефактов, которыми так богат компьютерный рынок, а особенно рынок памяти…

Может ли модуль с четностью иметь всего 2 чипа?

Как ни странно, да. Это SIMM 1x36, собранный из двух чипов 1х18, о которых написано в FAQ по чипамАналогичный SIMM 2x36 имеет 4 чипа.



Как определить, имеется ли PRD на данном модуле памяти и правильный ли он?

Вопрос о наличии PRD не совсем верен терминологически, что будет показано ниже. Единственное, что реально можно определить невооруженным глазом, это ОТСУТСТВИЕ SPD (см. вопросы о наличии-отсутствии чипов, а также о том, что такое PRD и SPD). Убедиться же без наличия профессиональной аппаратуры, что перед вами именно чип SPD с правильным "содержанием" (а не болванка, не какой-то другой неверно идентифицированный чип, наконец, не некорректный SPD) абсолютно невозможно.

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

Тем не менее остановимся подробнее на PRD 72-контактных SIMM. DIMM разных конфигураций мы опустим — во-первых, число контактов PRD у них слишком велико, чтобы не запутаться, во-вторых, резисторы PRD у них зачастую расположены в живописном беспорядке, наконец, проблем с чтением PRD у этих модулей не бывает почти никогда. Что касается упомянутых SIMM, то за PRD у них отвечает всего 4 контакта (IBM в своих не совсем стандартных модулях использовала пятый, но мы это оставим в стороне). Это контакты с 67-го по 70-й, заземление или незаземление каждого из которых представляет собой один бит воспринимаемой контроллером информации. Напомним — как правило, PRD модуля "прошивается" путем напаивания нулевых резисторов на пары контактных площадок, причем один контакт в паре подсоединен к соответствующему контакту PRD, а другой — к 72-му пину (который, в свою очередь, подсоединен к земле). Из вполне понятных соображений эти контактные площадки расположены в районе 70-х пинов. Если держать SIMM горизонтально, так что контакты его направлены вниз, а ключ (и 1-й контакт соответственно) находятся слева, то четыре пары контактных площадок обычно можно видеть с правой стороны модуля. Чаще всего заземляющие резисторы расположены горизонтально, и контакты с 67-го по 70-й идут сверху вниз. Однако нередко бывают и исключения всех сортов (другой порядок контактов, вертикальная ориентация, меньшее количество контактных площадок, их расположение с противоположной от нас или обеих сторон), поэтому, если вы пытаетесь визуально определить PRD, постарайтесь проследить, к каким контактам идут дорожки на печатной плате. Ниже приводятся таблицы соответствующих JEDEC PRD:

Емкость, MB6768
4VssVss
8NCNC
16VssNC
32NCVss
Время доступа, нс6970
50VssVss
60NCNC
70VssNC
80NCVss

Здесь под Vss понимается наличие заземления (соединение с 72-м контактом), NC — заземления нет (not connected). Фактически здесь две совершенно разные таблицы — левая для емкостей, правая - для времен доступа. Другие емкости расположены "циклически" (т.е. PRD для 2МВ аналогично 32МВ, а для 64МВ — 4МВ и т.д.). Примерно то же самое и для времен доступа (после 80, кажется, идут 100, 120 и 150, хотя встретить такие SIMM приходится не часто).



Можно ли при необходимости вручную выставить на модуле памяти правильный PRD?

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

  • Действительно ли наличный PRD неверен? Действительно ли вам нужен иной PRD (систем, которые требуют наличия PRD, не так уж и много, в FAQ-3 есть примерный список)?
  • Точно ли вы знаете, что именно вам следует переделывать? Допускает ли подобную операцию конструкция модуля?
  • Не намерены ли вы выставить параметры лучше, чем обещают чипы? Не приведет ли это к отрицательным последствиям?
  • Готовы ли вы к тому, что продавец памяти откажется выполнять свои гарантийные обязательства на основании того, что модули подвергались переделке (следы ее скрыть довольно трудно, а продавец, кстати, будет абсолютно прав)?
Кстати, в свете последней проблемы я бы рекомендовал как минимум убедиться в работоспособности модулей перед операцией…

Интересно, что в свое время generic-производитель Kelly (впоследствии приобретенный Simple) объявил о выпуске SIMM, имеющих набор из четырех свитчей, позволяющих ставить вручную любой PRD.

Что такое однобанковые и двухбанковые, а также одностороннние и двусторонние модули и как их отличать друг от друга?

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

Итак, рассмотрим для начала SIMM 72-пин 1х32 (4МВ), собранный из 8 чипов 1х4. Для простоты будем рассматривать не стандартный SIMM, а некую идеологическую помесь последнего с ECC SIMM, так что все чипы нашего гибрида будут подключены к единственной линии RAS и CAS. Настоящий SIMM использует в силу исторически сложившихся причин 2 линии RAS и 4 — CAS, но заряжаются все RAS и все CAS синхронно, так что наше допущение ни на что не повлияет. Итак, набор из восьми четырехбитных чипов полностью перекрывает 32-битную шину, глубина и конфигурация адресного пространства модуля и чипов также совпадают. Обращение по некоему адресу (с использованием единственных линий RAS и CAS) просто представляет собой обращение по данному адресу каждого из чипов. Все очень просто. Перед нами — так называемый однобанковый модуль. Совершенно аналогично обстоят дела и с модулем, собранным из 2 чипов 1х16.

Теперь вообразим, что нам захотелось изготовить из таких же чипов модуль вдвое большей емкости (т.е. 2х32, естественно, что и чипов понадобится вдвое больше). Казалось бы, судя по организации модуля, глубина его адресного пространства увеличилась вдвое (до 2 мегабит), следовательно, потребуется еще одна адресная линия, и проблема решена? Разумеется, нет, так как составляющие модуль чипы по-прежнему имеют 1 мегабит адресного пространства, и адресовать второй мегабит невозможно. Как же устроены SIMM 8MB?

Ответ следующий — дополнительный комплект чипов просто подключен ко второй линии RAS (фактически это 3-я и 4-я линии, но, как уже упоминалось, это ни на что не влияет). Контроллер (который, естественно, осведомлен о природе установленных модулей) попросту адресует первый мегабит точно так же, как если бы был установлен обычный 4МВ модуль. А вот второй мегабит адресуется опять же с использованием всего 10 адресных линий, но заряжается не "старый" RAS, а "новый", так что на запрос откликается добавленный комплект чипов. Таким образом, если в 4МВ модуле каждое "слово" информации хранилось во всех чипах, в 8МВ оно находится в каком-то одном из двух комплектов. Это — модуль двухбанковый. Поскольку фактическая глубина адресного пространства каждого из банков — все тот же 1 мегабит, более корректным обозначением было бы, скажем, 2х(1х32).

Совершенно аналогично — SIMM 4x32 (8 чипов 4х4) представляет собой однобанковое устройство, 8х32 — двухбанковое и так далее вверх и вниз по шкале емкостей. Попросту говоря, добавление еще одной адресной линии к конструкции однобанкового модуля в норме увеличивает его адресное пространство, следовательно, и емкость, вчетверо. Именно так росла емкость SIMM 30-пин. Двухбанковые же 72-контактные разновидности как бы занимают образовавшиеся промежутки.

Надо сказать, что двухбанковая конструкция, несомненно, несколько более сложна технически, чем однобанковая, поэтому ряд систем (в основном относительно старых) с двухбанковыми SIMM работать просто не желали, или же "видели" только один банк (что с высоты нашего нынешнего знания объясняется элементарно). Более редкой была ситуация, когда невозможно было одновременно использовать однобанковые и двухбанковые модули, несколько чаще — такое использование требовало специального порядка заполнения банков, переключения джамперов и т.д. Естественно, у пользователей это вызывало определенную озабоченность. Авторы мануалов к материнским платам, не собираясь читать подробную лекцию, иногда просто обмолвливались о, скажем, "двухбанковых" модулях. Что еще хуже, иногда, дабы не заставлять необразованного пользователя вникать в тонкости архитектуры, давалась ссылка на эти модули как двусторонние. Действительно, если SIMM 1x32 (собранный из 8 чипов 1х4), скажем, КАК ПРАВИЛО имел чипы на одной стороне печатной платы, то 16-чиповый 2х32 волей-неволей использовал обе стороны, аналогично и с другими модулями. То есть СТАТИСТИЧЕСКИ однобанковые модули были скорее односторонними (в смысле расположения чипов), а двухбанковые - двусторонними. Однако статистика эта была довольно плоха. Только два примера — SIMM 1x36, ничуть не менее однобанковый, чем 1х32, очень часто имел свои 12 чипов расположенными с двух сторон. SIMM 2x32 на базе четырех чипов 1х16, напротив, довольно часто исполнен в "одностороннем" с точки зрения расположения чипов варианте. Естественно, это чисто дизайнерский вопрос, не имеющий к архитектуре ни малейшего отношения. Таким образом, столкнувшись с термином типа "двусторонний", попытайтесь найти способ выяснить, идет ли речь о физическом расположении чипов (а идти она может — см. вопрос) или все же о числе банков.

Таким образом, выше было показано, чем отличаются однобанковые SIMM от двухбанковых, и обращено внимание на то, что эти термины нередко подменяются терминами "односторонний" и "двусторонний", причем буквальное понимание последних терминов смысла обычно не имеет. Можно ли на этом закрыть тему? Отнюдь… Одним из главных допущений (лет 5 назад вполне справедливым) в обсуждении был тот факт, что адресное пространство чипов DRAM всегда квадратно (и как результат растет с инкрементом 4). В настоящее время это далеко не так.

В частности, где-то в 1994-1995 годах по Москве распространились слухи о существовании не то односторонних, не то двусторонних (выше уже отмечалось, что эти малоосмысленные термины в основном производят путаницу в мозгах) 8МВ SIMM, которые "нигде не работают", и сотрудникам работающих с памятью фирм пришлось отвечать на множество вопросов. Как всегда, дело было в появившейся на рынке крупной партии несовместимых модулей, с которыми ввиду судорожных попыток их продать столкнулись многие покупатели. Модули эти состояли из четырех чипов 2х8 (так что заодно прошла и волна отказов от "малочиповых" SIMM). Нетрудно видеть, что для того, чтобы перекрыть шину SIMM 2х32, требовались все 4 чипа, соответственно, 11 адресных линий перекрывали 2МВ адресного пространства — SIMM был однобанковым, и, казалось бы, ничему это не противоречило. Кроме одного - большинство контроллеров ничего не знало о возможности существования таких модулей, полагая, что SIMM 2x32 должен быть двухбанковым, а 11 адресных линий означают, что перед ним SIMM 4х32, у которого почему-то не отвечает половина адресов (следовательно, дефектный). Производители наших SIMM об этом знали, и пошли на хитрость — имитацию двухбанкового SIMM. Сигнал на дополнительном RAS попросту конвертировался в сигнал на 11-й адресной линии (заметьте, что поскольку адресное пространство у чипов было неквадратное, эта линия за цикл обращения использовалась лишь один раз — как раз вместе с RAS). Что потребовало использования логической микросхемы, которые, как уже неоднократно указывалось, никогда не улучшали совместимости модулей. Как результат, эти "хитрые" SIMM работали далеко не во всех системах, и крайне редко работали одновременно с "нормальными" SIMM.

Заметим, что если бы не непонятливые контроллеры и не хитрая логика, SIMM из приведенного выше примера был бы абсолютно корректным однобанковым модулем. Таким образом, существование чипов с неквадратным адресным пространством делает возможным существование однобанковых модулей любой емкости. Причем если "нетрадиционные" однобанковые SIMM все же делались относительно редко (приведенный выше пример получил известность только из-за большого размера партии), то, скажем, однобанковые SO DIMM 2x32 встречаются довольно часто. То же самое относится и к 168-контактным DIMM 8x64 (или 8х72) — наряду с более старой двухбанковой версией из 32 (36) чипов 4х4 существует более современная однобанковая разновидность из 8(9) чипов 8х8. Как ни печально, далеко не все контроллеры, работающие с такого рода DIMM, в состоянии распознать оба типа модулей, так что если вы планируете расширять свой компьютер такими модулями — внимательно изучите мануал.

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



Могу ли я столкнуться с проблемами, если на модуле памяти чипы расположены с двух сторон?

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

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

Как определить, является ли модуль JEDEC-совместимым?

Даже и не знаю. А зачем это собственно нужно? JEDEC применительно к модулям памяти — это стандарт, который, как ему и положено, описывает некий стандартный набор параметров. Единственный честный способ определить JEDEC-совместимость модуля — это аккуратно измерить все параметры, для чего, впрочем, потребуется очень серьезная лаборатория (к параметрам относятся, например, емкости на отдельных линиях, токи утечки и т.д., и это не считая параметров, относящихся к временным диаграммам, в том числе, например, углы наклона фронта сигнала).

Имеет смысл задаться вопросом, а зачем, собственно, вам требуется знать о JEDEC-совместимости? В подавляющем большинстве случаев ответ будет: "Потому что в мануале написано, что так должно быть…". В действительности, чаще всего полная JEDEC-совместимость — условие слишком сильное. Большинство продаваемых "безымянных" модулей памяти полностью JEDEC не удовлетворяют (чаще всего в отношении PRD), что не мешает тем из них, которые не имеют "прочих" дефектов, работать опять же в большинстве систем. Кстати, маркированные модули (производства как major, так и крупнейших generic, ссылки на списки которых есть в вопросе, посвященном маркировке) обычно являются 100% JEDEC.

Иногда можно определить, что модуль является НЕ 100% JEDEC, по отсутствию PRD (см. об этом в отдельном вопросе) или наличию логической четности (см. вопрос). Однако, как уже было упомянуто выше, это не означает, что модуль неработоспособен (даже логическая четность не помешает ему нормально работать в устройстве без контроля таковой), хотя и не прибавляет ему достоинств.

Что такое "нестандартный" модуль памяти и по какой причине они применяются? Что делать, если мой компьютер расширяется именно такими модулями?

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

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

Самый естественный (хотя и далеко не самый дешевый) способ приобрести нестандартные модули для апгрейда — это обратиться к поставщику системы или представителю данного бранда. Если речь идет о не совсем древней модели, чаще всего это сработает. Альтернативный способ — приобрести память производства специализирующихся на нестандартных апгрейдах generic-производителей (см. их список, обратите особое внимание на on-line каталоги) напрямую или у дилера. Обычно это ощутимо дешевле и быстрее без какой-либо потери качества.

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



Какой набор параметров полностью описывает стандартный модуль памяти?

Оговоримся сразу, что о "внутренних" электрических и логических параметрах модуля мы говорить не будем, ограничимся лишь замечанием, что их список (напряжения, токи, емкости, разводка контактов, времена, диаграммы, таблицы true/false и прочая) занимает от нескольких до нескольких десятков страниц не самым крупным шрифтом. По счастью, характеристики эти, в основном, есть лишь перечисление стандартных JEDEC-требований, кроме того, они в основном восходят к характеристикам чипов, в свою очередь жестко определенных индустриальными стандартами. Поэтому остановимся на характеристиках собственно модулей, большинство из которых при этом можно определить визуально или считывая маркировку чипов. Список дан по возможности полный, при этом многие характеристики мало что означают для SIMM, особенно 30-контактных, но актуальны для DIMM, вариантов которых, далеко не всегда совместимых между собой, существует множество. Итак:

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

Бывают ли SIMM 72-пин EDO с четностью?

Да, хотя и относительно редко встречаются. Дело в том, что однобитные чипы EDO, а именно такие чипы используются в качестве чипов четности при ее традиционной организации, никогда и никем, насколько можно судить, не выпускались. По большому счету, EDO SIMM обычно применялись в системах без контроля четности, и определенная потребность в них возникла только с появлением чипсета 430HX, поддерживающего как EDO, так и контроль четности/ЕСС. Чипсет этот в общем-то тоже уже достояние истории, к тому же чаще всего он опять же применялся в настольных системах, где четность все же была неактуальна, так что до массового выпуска SIMM EDO с четностью дело не дошло.

Можно встретить две разновидности таких SIMM, чаще всего и те, и другие — это модули 16МВ и выше. Первая разновидность — EDO ECC SIMM x36 (см. вопрос об отличии обычных и ECC х36). Иногда можно встретить и "классическую" (4-CAS) разновидность таких модулей, однако собраны такие модули из чипов организации х3, что лично у меня вызывает серьезные подозрения в их (чипов) происхождении из отбраковки.



Какие меры предосторожности рекомендуются при обращении с модулями памяти? Действительно ли при установке модулей памяти в компьютер следует заземлять руку?

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

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

Что такое PCMCIA-память? В какие разъемы ее следует устанавливать?

PCMCIA (или PC Card, что более верно) память к предмету данного FAQ — оперативной памяти - не имеет ни малейшего отношения. В слот PC Card вставляются устройства ВНЕШНЕЙ памяти (аналогом которых в обычных компьютерах служат съемные диски, например, дискеты), неважно, как они при этом называются — SRAM, flash или HDD.

Визуально очень похожие на PC Card (кажется, даже форм-фактор разъема у них такой же) модули расширения памяти, иногда называемые memory card, предназначены для совершенно других разъемов. Расположение этих разъемов вы можете выяснить в мануале к вашему устройству (скорее всего, это ноутбук). Рекомендуется, кстати, иметь в виду, что никакого стандарта на memory card не существует, поэтому вероятность того, что одна и та же карта будет совместима с компьютерами разных производителей, крайне мала (может быть и несовместимость между моделями одного производителя). Это еще одно существенное отличие от PC Card. Другими словами, memory card — это типичный "специфический" модуль расширения. И еще одно важное отличие — многие PC Card позволяют "горячую" установку, в случае с memory card это обычно далеко не так.

Как визуально отличить SIMM 72-пин fast page и EDO? DIMM 168-пин небуферизованный 3.3В EDO и SDRAM?

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

К несчастью, без чтения маркировки чипов сделать это практически невозможно (SIMM fast page без четности и EDO отличаются друг от друга исключительно "содержимым" чипов, с DIMM все несколько более тонко, но и тут для объяснения разницы требуется немалая квалификация). С другой стороны, тип чипа вполне реально считать с маркировки и без специальных знаний. О том, как это сделать, рассказано в FAQ по чипам (отдельно для fast page/EDO и SDRAM).

Кстати, что касается отличения SIMM fast page и EDO, в FAQ по чипам опущен довольно простой частный случай, а именно — если чипы произведены ранее 1995 года, то с подавляющей вероятностью это fp. Способ определения даты производства чипов описан опять же в FAQ по чипам, и он несколько более прост для запоминания и использования в полевых условиях, чем чтение артикула.



(c) Все права в отношении данного документа принадлежат автору. При воспроизведении обязательно сохранение данного уведомления и указание имени и координат автора. Коммерческое использование допускается только с письменного разрешения автора. Документ приведен с небольшими сокращениями, оригинал под названием PDF-2. Модули находится на сайте Paul's Den.




23 октября 1998 Г.

FAQ по модулям памяти

FAQ по модулям памяти


Какие контакты имеет модуль памяти и каково их функциональное назначение?

Модуль DRAM (в данном случае — асинхронного) имеет следующие контакты:

  • Линии ввода/вывода — служат непосредственно для передачи данных и вместе составляют шину данных. Их количество обычно определяется типом модуля. Модули с четностью имеют дополнительные линии ввода/вывода для битов четности;
  • Адресные линии — служат для передачи адреса, по которому находятся считываемые/записываемые данные. Как правило, их то же количество, что и у составляющих модуль чипов;
  • RAS — регистры строки, сигнал на этой линии означает, что на адресные линии чипов, подключенных к данному RAS, подается адрес строки, в которой содержатся данные. Двухбанковые модули организованы именно посредством дополнительных RAS;
  • CAS — регистры столбца, сигнал на этой линии означает, что на адресные линии чипов, подключенных к данному CAS, подается адрес столбца, в котором содержатся данные;
  • Write Enable — сигнал на этой линии означает, что возможна запись данных;
  • PRD — контакты, заземление или незаземление которых несет информацию Presense Detect (в частности, емкость и время доступа модуля).
  • Напряжение питания;
  • Земля.
Линии Output Enable, имеющиеся у всех чипов, в модуле памяти, как правило, заземляются.


В чем отличие SIMM и DIMM? Имеет ли DIMM принципиальные преимущества перед SIMM?

Единственное принципиальное отличие обозначено в названиях — Single и Dual In-Line Memory Module соответственно. Если вы возьмете в руки 72-пиновый SIMM, то легко увидите, что он имеет по 72 контакта с каждой стороны! Объясняется это просто — смежные контакты с разных сторон являются в действительности одним и тем же контактом. Задумано все было, скорее всего, с целью облегчить установку модулей в разъемы, сохраняя при этом высокое качество электрического соединения.

DIMM в этом смысле более экономичен — с каждой стороны 168-пинового модуля всего 84 контакта. Разумеется, здесь контакты с разных сторон модуля электрически независимы. Естественно, что "единица длины" у DIMM используется более эффективно. Понятно также, что для того, чтобы такое стало возможно, нужны как минимум чипы нового по сравнению с используемым (поначалу) в SIMM поколения.

Если оставить в стороне SO DIMM, область применения которых все же достаточно узка, то наиболее популярными форм-факторами модулей памяти в настоящее время являются SIMM 72-пин и DIMM 168-пин. Первые имеют ширину шины 32 бит (как результат, в платы с процессором старше 486 их приходится ставить парами), ширина шины вторых 64 бит позволяет устанавливать их поодиночке в 64-битные платы. Это, по сути, единственное принципиальное преимущество DIMM перед SIMM (к тому же, кажется, крайне незначительное — годами SIMM ставили попарно и горя не знали). Надо, впрочем, иметь в виду, что современные высокоскоростные модули памяти для современных же компьютеров все же чаще выполнены в виде DIMM, что и порождает зачастую утверждения типа "DIMM лучше SIMM", хотя и понятно, что в такой форме оно некорректно.

Существуют ли какие-либо стандарты SIMM кроме 30- и 72-пиновых?

Смотря какой смысл вкладывается в слово "стандарт". Если речь об индустриальном стандарте типа JEDEC — скорее всего, не существует. К слову, если 30-пиновый SIMM сам по себе "относительно" стандартен, то в форм-факторе 72-пинового SIMM выпускалось множество разных устройств, так что правильнее говорить о стандарте разъема.

При этом в некоторых линиях продуктов отдельных производителей подолгу применялись модули DRAM SIMM одинакового non-JEDEC форм-фактора, так что можно говорить о локальных, что ли, стандартах.



Насколько мне известно, один SIMM 72-пин функционально полностью идентичен четырем SIMM 30-пин. Почему же при этом используется значительно меньше 120 контактов?

Давайте разбираться. Во-первых, 30-пиновый SIMM реально использует порядка 25 контактов, остальные сделаны "про запас". В сумме получается всего 100, а не 120, контактов.

Далее — каждый из 30-пиновых SIMM имеет свой контакт для подачи напряжения питания, свою землю, линии Write Enable, а также, что наиболее важно, свои адресные линии (числом 11 для 4MB модуля). В 72-пиновом модуле требуется лишь один комплект всех этих линий, таким образом, экономия на трех лишних комплектах составляет 42 контакта.

Эта грубая оценка позволяет прийти к выводу, что, скажем, SIMM 72-пин 16MB с четностью, являющийся как бы суммой четырех SIMM 30-пин 4MB, реально наследует от своих 30-пиновых предшественников меньше 60 контактов. Даже если добавить PRD и резервные линии питания, все равно останется некоторое количество свободных линий. Сразу отметим, что описанный SIMM имеет 36 линий данных, стандартом же JEDEC предусмотрены 72-пиновые SIMM с шиной до 40 бит. Таким образом, 72-пиновый SIMM с четностью имеет еще и не менее 4 "лишних" контактов.

У комплекта 30-пиновых SIMM, который мне предлагают приобрести, явно не хватает нескольких контактов. Будут ли такие модули работать?

Скорее всего — да, хотя проверить их все же не помешало бы. Дело в том, что 30-пиновый SIMM проектировался с большим запасом, и в результате реально используется порядка 25 контактов (не называю более точную цифру, ибо боюсь соврать — информация по старым SIMM практически отсутствует). Это означает, что порядка 5 контактов никак не используются, поэтому в принципе нет нужды и в самих контактах.

В принципе, подобная экономия металла в компьютерной промышленности — не такая уж и редкость. Кажется, подавляющее большинство карточек ISA имеет неполный комплект контактов. Можно еще вспомнить, что SOJ 1х4 и 4х4 официально имеют по 26 контактов, реально же — 20 и 24 соответственно.

Еще одно потенциальное объяснение — SIMM вообще имеет избыточное (двойное) количество контактов - по комплекту с каждой стороны. В предположении, что с разъемом все в порядке, можно было бы удалить аж половину контактов. Впрочем, вряд ли подобный шаг производителя можно одобрить… Кстати, насколько мне известно, никто из производителей с именем не выпускал модулей с неполным набором контактов. С другой стороны, вряд ли сейчас есть особенный выбор 30-пиновых SIMM.

И еще небольшое дополнение — хотя это и менее бросается в глаза, но многие SIMM 72-пин также имеют рудиментные или вообще отсутствующие контакты 35-36 и 37-38 (по паре слева и справа от ключа). Дело опять же в том, что у SIMM без четности (х32) эти контакты никак не используется.



Имеет ли смысл приобретать SIMM-конвертеры, т.е. устройства, позволяющие использовать 30-пиновые SIMM в разъемах 72-пин?

Не знаю, актуален ли еще этот вопрос (в смысле — продает ли еще кто-нибудь конвертеры), но относительно недавно еще спрашивали. SIMM-конвертер представляет собой плату расширения, имеющую контактную решетку под 72-пиновый разъем и слоты для установки 4-х 30-пиновых SIMM. Предполагается, что его область применения — это ситуация, когда вы обладаете комплектом (или комплектами) 30-пиновых модулей, слоты для установки которых отсутствуют, продать практичекски невозможно, а выбрасывать жалко. Предполагается, что конвертер сможет дать им новую жизнь. Основания этому есть — стандарт 72-пинового SIMM изначально создавался именно как прямая замена четырем 30-пиновым. Тем не менее давайте внимательно посмотрим на минусы:

  • "Кратность" модулей. Один комплект 30-пиновых SIMM даст после конвертации один SIMM 72-пин. Если плата, куда вы собираетесь ставить "отконвертированную" память, основана на 486-м процессоре - все в порядке. Но более естественно ожидать, что вы переходите на Pentium, который требует установки SIMM парами… (Небольшое примечание. Лично я считаю, что ставить модули памяти различного происхождения в один банк МОЖНО и ничем особым не грозит, хотя более тщательное тестирование и не помешает. Но вы можете считать и по-другому.)
  • Форм-фактор — габариты. Конвертер заметно превосходит по размерам обычный модуль памяти, а о тесноте AT-корпусов все наслышаны. Обязательно нужно убедиться, что конвертер можно установить в собранный компьютер.
  • Форм-фактор — толщина. Если вы конвертируете, например, два комплекта 30-пиновых модулей с целью установки в одну материнскую плату (например, Pentium), очень может статься, что один из конвертеров помешает встать другому. Теоретически можно было бы ожидать наличия в продаже "правых" и "левых" конвертеров, чтобы хоть одну пару можно было установить без проблем, но на практике…
  • Время доступа. От 30-пиновой памяти естественно ожидать времени доступа в 70, а то и 80 нс. Не очевидно, что это подойдет для Пентиумной 66МГц платы.
  • Энергопотребление. Вопрос особенно актуален, если в вашем распоряжении 30-пиновые SIMM "старого" образца — 8 или 9-чиповые. В сумме на конвертер приходится 32-36 чипов, а это довольно много для одного разъема, особенно если установлено несколько конвертеров. Не всякая материнская плата или блок питания способны это потянуть.
  • Совместимость. На мой непросвещенный взгляд, 72-пиновый SIMM действительно можно изготовить из четырех 30-пиновых, просто правильно соединив контакты. Тем не менее, насколько я в курсе, на конвертеры (для пущей совместимости?) ставят еще какую-то логику. Что ж, возможно, она и повышает совместимость в ряде случаев, тем не менее хорошо известно, что многие контроллеры памяти взаимодействуют с логикой неадекватно…
  • Применимость в будущем. Купленный сегодня 72-пиновый SIMM, очень может быть, еще удастся пристроить куда-то при очередном апгрейде через пару лет. Деньги же, потраченные на конвертер, скорее всего полетят при этом в мусорную корзину.
  • Наконец, цена. В свое время конвертеры продавались в розницу по $20-30 за штуку. Если цена с тех пор значительно не упала, то получается, что конвертировать 1МВ модули нет ни малейшего смысла - 4МВ 72-пин стоят заметно дешевле. Даже конвертация 4МВ SIMM вызывает сомнения — 16МВ SIMM, быть может, удастся куда-то пристроить при очередном апгрейде, а конвертер наверняка будет выброшен.
В общем, весь этот список минусов производит следующее впечатление — если у вас есть всего один комплект 30-пиновых SIMM, проще расслабиться и спокойно купить 72-пиновые модули. Серьезно рассматривать вопрос о закупке конвертеров имеет смысл, когда вдруг высвобождается большое количество SIMM 4МВ 30-пин (например, при апгрейде масштаба предприятия или отдела). Тогда можно ожидать экономический эффект и не так жалко потратить и время на тесты по совместимости и т.п.


Что означают обозначения типа 2х36-70 и какую информацию о модуле они содержат?

Обозначения такого рода содержат ОСНОВНУЮ информацию о модулях памяти. В большинстве своем они являются стандартными устройствами, и естественно, что индустрия и рынок пользуются неким сокращенным описанием, наиболее адекватно соответствующим описываемым объектам. Надо подчеркнуть, что это не маркировка производителя, это утверждение о соответствии некоему (JEDEC) стандарту, и его вполне естественно встретить в самых разных местах, от технических описаний модулей памяти и материнских плат до прайс-листов продавцов памяти. Будучи сокращенным, оно не описывает полностью архитектуры модуля (это особенно актуально для DIMM), так что по умолчанию предполагается, что речь идет о наиболее распространенном, если таковое существует, устройстве данного типа, все же остальные должны снабжаться комментарием (например, buffered).

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

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

  • х8, х9 — 30-пиновый SIMM без четности и с четностью соответственно;
  • x2, x3 — некорректное, но иногда встречающееся обозначение тех же 30-пиновых SIMM, но в исполнении с малым количеством (2 и 3) чипов;
  • х32, х36 — 72-пиновый SIMM без и с четностью (х32 также может быть 72-пин SO DIMM);
  • x64, x72 — 168-пиновый DIMM без четности/ЕСС (х64 также 144-пин SO DIMM);
Возможно, вы уже заметили, что модуль без четности имеет ширину шины, кратную 8, а с четностью - другую (как правило, кратную 9). Дело в том, что весь "остаток" от деления ширины шины на 8 и есть биты четности.

Далее, глубина адресного пространства измеряется в мегабитах (иногда так и пишут — 2Мх36), реже в килобитах (разве что 256 и 512). Произведение (2х36) как раз и даст нам емкость модуля, хотя опять же в мегабитах. Чтобы перевести его в привычные всем мегабайты, нужно просто поделить результат на 8. Два замечания — во-первых, нужно отбросить биты четности, т.е. второй сомножитель - это ближайшее снизу к ширине шины число, кратное 8. Во-вторых, как уже упоминалось выше, х2 есть в действительности х8, а х3х9 (то есть в конечном итоге та же восьмерка). Таким образом, 2х36-70 есть SIMM 8MB 72-пин с четностью 70 нс. Немного упражнений:

  • 1x3-70 — SIMM 1MB 30-пин с четностью 70 нс 3-чиповый
  • 4x32-60 — SIMM 16MB 72-пин без четности 60 нс
  • 8Mx36 — SIMM 32MB 72-пин с четностью
  • 16x32-60 — SIMM 64MB 72-пин без четности 60 нс
  • 16x9-70 — SIMM 16MB 30-пин с четностью 70 нс (бывали и такие)
  • 4x64-10 — DIMM 32MB 168(или 144)-пин без четности, судя по всему, 10 нс SDRAM
  • 256x36-80 — SIMM 1MB 72-пин с четностью 80 нс (очень старое устройство, 256 здесь — килобит)
Потенциально важная информация, не входящая в данную нотацию: для SIMM x36 — идет ли речь о стандартной четности (по умолчанию), ECC или быть может логической четности; для DIMM — напряжение питания и наличие буфера.


Существуют ли какие-либо другие стандарты 72-пиновых SIMM, кроме х32 и х36?

Да, существуют, хотя и встречаются в настоящее время относительно редко. Собственно стандарты (описанные JEDEC) — это модули х18, х33, х39, х40.

  • x18 — ранние реализации 72-пиновых SIMM, применявшиеся в 16-битных компьютерах класса 386SX, как и все в те времена, с контролем четности;
  • х33 — экономичные в смысле отсутствия ненужных чипов, но так и не получившие распространения SIMM с одним контрольным битом на всю шину, применялись в некоторых станциях Sun (при этом системы работали и с обычными модулями х36);
  • x39 — разновидность ECC SIMM, кажется, применялась одно время IBM;
  • x40 — ECC SIMM в "старом" (эпохи 486-х) понимании, устанавливались как минимум парами.
"Почти"-JEDEC SIMM долгое время использовала IBM. Это так называемые PS/2 x36 — SIMM с нестандартным PRD, а также x36 SIMM с пятью линиями CAS (пятая — для четности). На non-JEDEC памяти мы подробно останавливаться не будем, можно лишь упомянуть SIMM с логической четностью

Позволяет ли визуальный осмотр модулей памяти определить их емкость и другие характеристики?

Вообще-то (в предположении, что по крайней мере маркировка чипов не врет) — можно с большой степенью точности. Другое дело, что чтение маркировки чипов — задача не такая уж и тривиальная (см. соответствующий вопрос из FAQ по чипам). Сначала — как определить некоторые "другие" характеристики:

Идеальный метод определения емкости и четности — определить номинал всех чипов данного модуля и "сложить" из них этот модуль. Немного более подробные описания:
  • 1x8 — 8 чипов 1х1 или 2 чипа 1х4
  • 1x91x8 плюс чип 1х1
  • 4x8 — 8 чипов 4х1 или 2 чипа 4х4
  • 4x94x8 плюс чип 4х1
  • 1x32 — 2 чипа 1х16 либо 8 чипов 1х4
  • 2x32 — дважды 1х32
  • 1x361x32 плюс 4 чипа 1х1 либо 2 чипа 1х2 Dual-CAS (20-пин SOJ) либо 1 чип 1х4 Quad-CAS (24-пин SOJ)
  • 2x36 — дважды 1х36
  • 4x32 — 8 чипов 4х4
  • 8x32 — дважды 4х32
  • 4x364x32 плюс 4 чипа 4х1
  • 8x36 — дважды 8х32
  • 1x64 — 16 чипов 1х4
  • 2x64 — 8 чипов 1х16 или 2х8
  • 4x64 — 16 чипов 2х8 или 4х4
  • 8x64 — 32 чипа 2х8 или 4х4 либо 8 чипов 8х8
  • 16x64 — 16 чипов 8х8 или 16х4
Про размеры чипов см. в FAQ по чипам, кроме того, там же есть отдельный вопрос о том, как отличить 1х4 от 4х4. ЕСС х36 и х72 получаются добавлением одного лишнего идентичного чипа на каждые 8 чипов соответствующего х32 и х64.

TSOP разных организаций визуально значительно сложнее отличить один от другого, чем SOJ, поэтому трудно предложить что-либо лучшее, чем чтение маркировки чипов, если вам нужно определить SO DIMM либо 3-вольтовые "длинные" DIMM. Отметим только, что SO DIMM 2x32 вполне может состоять из 4 чипов 2х8, в то время, как для SIMM 2x32 такая ("однобанковая") конструкция является отклонением от стандарта.

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



Какую информацию можно получить из маркировки модулей памяти? В каком виде эта маркировка присутствует на модуле? Существуют ли универсальные правила для ее чтения?

С маркировкой модулей памяти ситуация значительно более прискорбная, чем с маркировкой тех же чипов (см. FAQ по чипам). Чем это вызвано — примерно понятно. Если микросхемы памяти выпускает всего два десятка производителей, которые при элементарном наличии доброй воли вполне в состоянии синхронизировать свои маркировки, то число производителей модулей никакому исчислению не поддается. При этом огромное их число (как правило, речь при этом идет о производителях наинизшей ценовой категории, как следствие, и небольшого качества) вообще никак не маркирует свою продукцию. Очень распространена ситуация, когда производитель маркирует печатную плату своим логотипом, но никакой другой полезной маркировки на плате нет. По большому счету редко кто кроме major-производителей маркирует так называемый part number (артикул) на печатной плате, причем обычно краской, а не травлением (это в принципе понятно — как минимум ко времени доступа плата безразлична, поэтому маркировку все равно пришлось бы наносить). Иногда на платах имеются нанесенные краской своеобразные "checkbox" — предполагается, что после сборки производитель промаркирует емкость, время доступа и четность, но на практике это часто не делается.

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

Наконец, наиболее печальный факт — даже если у вас в руках модуль major/major с прекрасно различимой оригинальной маркировкой — это еще не значит, что вам удастся ее прочитать. Потому что никаких единых правил чтения маркировки не существует. Как правило, время доступа читается ничуть не хуже, чем на чипах. Организация (см. вопрос) тоже присутствует, но не очень понятно, в какой форме — почти наверняка есть ширина шины, а также либо глубина адреса (чаще), либо емкость. Позиция, на которой находится то или иное число — произвольная, другие числа и буквы — непредсказуемые. Два примера:

  • ESA1UN3241-60JS — SIMM 1x32 EDO производства Fujitsu. 60 нс видно довольно отчетливо, 32 в принципе тоже (если у вас в руках SIMM, понятно, что искать нужно 32 или 36, см. вопрос). Из цифр имеются также две единицы и четверка, спрашивается — кто из них глубина адреса, или же емкость? Ответ — первая единица, глубина адреса (41 означает чипы 1х4). За EDO отвечает первая буква. В оставшихся буквах закодировано, что перед нами SIMM 72-пин небуферизованный 5В, на базе SOJ с оловянными контактами.
  • HYS72V4000GR-10 — DIMM 4x72 SDRAM от Siemens. Не так хорошо представляя себе правила чтения маркировки Siemens, выскажу свою версию. HYS — модуль SDRAM, 72V4 — 4x72 3.3В, последовательность нулей означает, что никаких особых отклонений (от стандарта SDRAM DIMM) нет, G — золоченое покрытие контактов, R — registered, 10 — наносекунды, разумеется.
Несложно видеть, что принципы кодирования информации имеют между собой мало общего (в случае с Fujitsu о емкости модуля можно только догадываться…). Похожая ситуация и у других брандов. В первом приближении — найдите в маркировке подходящую к вашему модулю ширину шины, ближайшая к ней цифра (буквы можно игнорировать) спереди или сзади будет глубиной адреса (хотя может оказаться и емкостью). Или, если есть возможность, посетите сайт производителя (координаты см. в документе "Major-производители микросхем и модулей DRAM") и постарайтесь найти такую же или аналогичную маркировку, или хотя бы определить исповедуемые данным производителем принципы.

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

Наконец, в принципе можно столкнуться и с proprietary-маркировкой в двух ее ипостасях. Во-первых, модуль, извлеченный из brand-name устройства, с большой вероятностью несет на себе part number данного бранда. Если вы (являясь, например, специалистом по этому бранду) сможете извлечь из этой информации пользу — вас можно поздравить, кроме того, всегда можно попытаться сделать на веб-сервере данного бранда поиск по этому номеру — есть шанс получить приемлемое описание модуля. Во-вторых, модуль мог быть изготовлен generic-производителем для применения опять же в устройствах некоего бранда. Если вы в состоянии определить производителя — идите на его сервер (см. документ "Generic-производители…"), определяйте part number бранда — и задача сведена к "во-первых". В противном случае — довольно часто в маркировке явным образом указана емкость (обычно в виде наподобие 8MEG или ххх/32), однако есть риск, что это емкость не данного модуля, а комплекта, в который он входит. Опять же, остается вопрос с четностью, временем доступа и т.п.



Есть ли связь между маркировкой чипов и характеристиками модуля?

Предположим для начала, что маркировка чипов вполне соответствует их характеристикам, иначе мы рискуем погрузиться слишком глубоко. О случаях, когда это не так, можно почитать в FAQ по чипам. В нашем случае ответ на вопрос будет — да, характеристики чипов и модуля совпадают, по крайней мере в первом приближении. Более точно — тип модуля (fast page, EDO, SDRAM) наверняка соответствует типу чипов, а время доступа — соответствует, как правило. Как правило — потому, что "официальное" (промаркированное) время доступа модуля иногда может быть хуже, чем у составляющих его чипов. Дело в том, что по мере развития технологии более медленные чипы попадают в разряд относительно дефицитных. С другой стороны, если чип работает, скажем, на 60 нс, он ОБЯЗАН работать и на 70 нс. Поэтому нередко можно видеть модуль 70 нс (согласно маркировке и PRD), собранный из 60 нс чипов. Его реальное время доступа при этом может, конечно, составлять и 45 нс — маркировка чипов указывает лишь нижнюю границу времени доступа…

Можно ли по маркировке модуля определить его производителя?

Сие очень сильно зависит от "статуса" производителя. Как обычно, предполагаем, что маркировка не подделана. Производители, склонные считать свой товар "марочным" и, соответственно, готовые отвечать за его качество, маркировку обычно наносят, чаще всего травлением платы или краской. Это относится практически ко всем производителям из имеющихся на данном сайте списков "major" и "generic", причем второй список далеко не исчерпывающ. Логотип или название чаще всего легко читаются и отождествляются. "Все остальные" производители (качества от среднего до никакого) чаще всего не имеют собственного производства печатных плат (на которые и наносится маркировка), а также не очень заинтересованы в отождествлении потребителем их как производителей, соответственно маркировка либо отсутствует вообще, либо (реже) применяется "одноразовая" — набор букв или хвалебное слово.

Надо иметь в виду, что в Азии существует несколько крупных производителей печатных плат, которые продают их сборщикам, и некоторые из этих производителей (опять же — наиболее себя уважающие) ставят на платах СВОЙ логотип. Соответственно, по маркировке можно определить производителя платы и с большой вероятностью регион сборки. Так, модули с датой производства платы (типа 9607) в "жидкокристаллическом" стиле скорее всего происходят с Тайваня, а модули с маркировкой GT — из Сингапура. Кстати, на мой взгляд, такая маркировка все же говорит об определенном качестве как минимум платы и все же лучше, чем никакая…

Что такое PRD (SPD) и для чего оно нужно?

PRD, или PD (Presense Detect) — это, если можно так выразиться, "электрическая" маркировка модуля памяти. Эта маркировка может быть считана контроллером памяти, что позволит ему правильно сконфигурировать схему доступа. Начиная с 72-пиновых SIMM все стандартные модули памяти имеют и стандарт на PRD.

Если говорить конкретно о 72-пиновых SIMM, то под PRD там зарезервированы контакты с 67 по 70-й. Информация передается путем заземления (или незаземления) этих контактов (заземление обычно производится на 72-й контакт). Первая пара контактов отвечает за емкость модуля, вторая — за время доступа. Таким образом, на каждый параметр приходится по 2 бита информации (то есть 4 возможных варианта). Для передачи всего спектра емкостей, существующих в природе (от 1 до 128MB), этого явно недостаточно, как результат, емкостям, отличающимся в 16 раз (например, 4 и 64MB), соответствует одна и та же конфигурация PRD. Похожая ситуация и с временем доступа — с той разве что разницей, что сильно отличающиеся времена доступа, как правило, не сосуществуют в рамках одного форм-фактора. У DIMM, как правило, для PRD отведено больше контактов, поскольку количество значимых параметров (напряжение питания, буферизованность, число банков, глубина refresh) также больше.

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

Самое же интересное в PRD заключается в том, что контроллеры памяти используют его крайне редко. Большинство контроллеров способны вполне самостоятельно определить рабочие характеристики модуля памяти и соответственно сконфигурировать схему доступа, причем понятно, что прямые тесты дают более достоверную информацию. Как результат, подавляющее большинство no-name производителей в порядке экономии нескольких центов не напаивают PRD вообще, выпуская тем самым не соответствующий JEDEC продукт (что в подавляющем большинстве случаев ни на что не влияет, но все же некрасиво). Автор сам впервые столкнулся с понятием PRD в попытках разобраться, почему в некоем устройстве работают американские модули и не работают собранные из точно таких же чипов тайваньские. Еще одна неприятность таится в том факте, что многие рассчитанные на определение PRD контроллеры достаточно стары и "не понимают" распайки на 60 нс (или принимают ее за слишком медленный дубликат), отказываясь тем самым работать с абсолютно нормальными и, более того, наиболее распространенными сейчас модулями. Наконец, IBM, наиболее широко применявшая контроль PRD в своих компьютерах, пользовалась нестандартной (вернее, не всегда совпадающей со стандартом) таблицей PRD. В результате системы, читающие PRD, способны при необходимости расширения памяти доставить владельцу немало проблем.

Выше уже упоминалось, что у DIMM под PRD выделено большее число контактов (у DIMM 168-пин — 11). Предусматривать на печатной плате место под такое количество контактных площадок уже не слишком удобно, поэтому индустрия пошла на логичный шаг — небуферизованные модели DIMM 168-пин снабжены PRD, записанным в микросхеме EEPROM и названным SPD (Serial Presence Detect). Чип EEPROM позволяет хранить целых 256 бит информации, причем первые 128 бит содержат собственно PRD и (поскольку свободное место явно остается), возможно, специальную информацию от производителя. Эта часть информации защищена от перезаписи, в то время как оставшиеся 128 бит могут быть использованы пользователем (вернее, его контроллером памяти). Визуально SPD — это небольшой "лишний" чип на модуле.

Наибольшую известность SPD получил после того, как ряд материнских плат (например, Intel AL440LX), к большому удивлению общественности, отказались работать с "ширпотребными" DIMM (напомним, что экономные "безымянные" производители обычно не устанавливают на свои изделия лишние, с их точки зрения, детали). По сути дела это означало инспирированную Intel попытку возродить использование PRD (теперь в виде SPD). Одни объясняли это необходимостью стандартизовать доступную контроллеру информацию о модуле, особенно в свете грядущего появления чипсетов, поддерживающих высокоскоростные шины, другие — попыткой major-производителей, обеспокоенных падением цен на память, вытеснить с рынка no-name производителей (по непроверенным слухам, 440LX проверял не только собственно SPD, но и "информацию от производителя", по поводу которой был разработан специальный закрытый стандарт, так что даже DIMM с корректным SPD могли быть им отвергнуты). Впрочем, похоже, что попытка не имела особого успеха, так как функция контроля SPD задействована далеко не во всех современных материнских платах. Однако при покупке платы на чипсете 440LX и/или памяти к ней рекомендуется заранее озаботиться вопросом SPD.



Что такое "контроль четности" и "модули с контролем четности"?

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

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

Со временем надежность памяти ощутимо выросла, операционные системы стали многозадачными, пользовательский интерфейс — графическим, наконец, операционные системы стали выполнять тесты памяти при загрузке. В этой ситуации стали особенно заметны недостатки памяти с четностью, а именно:

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

(Справедливости ради надо отметить, что по поводу "отмены" контроля четности существует и еще одна точка зрения. Вкратце она сводится к тому, что единственным реальным мотивом отказа от четности стал всплеск конкурентной борьбы на рынке компьютеров, когда никто из производителей уже не мог позволить себе тратить деньги там, где этого не делали его конкуренты. Результат же — захват рынка производителями низкокачественной (что не поддается идентификации пользователем) памяти, как следствие — огромное количество потерь из-за сбоев и падение доверия к операционным системам и программам.)

Модули с контролем четности, таким образом — это модули, в которых помимо основной шины предусмотрены дополнительные биты четности (по большому счету достаточно и одного бита на всю шину, однако чаще их бывает больше). Если оставить в стороне нестандартные модули, а также ECC, то фактически они существовали только в форм-факторе SIMM (подробности — в соответствующем вопросе).



Что такое "ECC" и "модули ECC"?

ECC обычно расшифровывается как Error Checking and Correction, существуют и другие версии, но смысл заключается в том, что речь идет о схеме обнаружения И ИСПРАВЛЕНИЯ ошибок в памяти. За счет чего удается добиться таких потрясающих результатов? Идея, лежащая в основе метода, довольно проста — пусть каждый бит основной памяти входит БОЛЕЕ ЧЕМ В ОДНУ контрольную сумму. Это потребует увеличения числа контрольных бит (напомним — стандартный метод контроля четности реально не требует более 1 контрольного бита на всю шину), но даст возможность восстанавливать позицию (а, следовательно, и значение) сбойного бита по позициям несошедшихся контрольных сумм. Предполагается, что контроллер памяти самостоятельно восстанавливает это значение, не прерывая работу всей системы (хотя разумно при этом генерировать системное сообщение об исправленной ошибке, чтобы владелец системы, если такие сообщения повторяются, мог принять меры по замене памяти, не дожидаясь более значительных сбоев).

Попробуем пояснить на простейшем примере. Представим себе шину из 6 (почему бы и нет?) бит (1-6), имеющую дополнительно 4 контрольных бита S1-S4, причем в этих битах хранятся следующие контрольные суммы:

  • S1 — 1, 2, 3
  • S2 — 1, 4, 5
  • S3 — 2, 4, 6
  • S4 — 3, 5, 6
Предположим, что в одном из основных бит произошла ошибка, и посмотрим, ошибку в каких контрольных суммах это вызовет:
  • 1 — S1, S2
  • 2 — S1, S3
  • 3 — S1, S4
  • 4 — S2, S3
  • 5 — S2, S4
  • 6 — S3, S4
То есть по номерам сбойных контрольных сумм сбойный бит определяется однозначно! Для построения данной схемы использовалась картинка, на которой основные биты располагаются над главной диагональю квадратной матрицы со стороной, равной числу контрольных сумм, и каждый бит входит в контрольные суммы с номером соответствующей строки и столбца этой матрицы. Нетрудно видеть, что такая схема позволяет с помощью n контрольных сумм "проконтролировать" до n(n-1)/2 основных бит. 4 контрольные суммы на 6 бит, конечно, выглядят очень щедро, но при увеличении ширины основной шины требуемое количество контрольных бит растет всего лишь как (примерно) квадратный корень из нее, так что при достаточно широких шинах потребность в контрольных битах относительно низка.

Отметим сразу, что нарисованная схема нежизнеспособна по ряду причин. Предположим, что простой сбой в контрольном бите система может проигнорировать (так как в этом случае не сойдется лишь одна контрольная сумма). Но рассмотрим, например, двойную ошибку — скажем, одновременно в битах 1 и 2. Легко видеть, что результатом будет расхождение в контрольных суммах S2 и S3, что будет проинтерпретировано как ошибка в бите 4. Аналогично неверную интерпретацию вызовет ошибка в любых двух битах, неважно, основных или контрольных. В действительности большинство схем ECC обеспечивает как минимум обнаружение двойной ошибки (с последующей остановкой системы). Автор не может привести никакую реализованную в действительности схему ECC, но склонен полагать, что уже из приведенного примера видно, что никаких чудес здесь нет, причем реализовать "истинный" ECC можно примерно на том же количестве "лишних" бит (порядка квадратного корня из удвоенной ширины шины). Можно, например, подумать о схеме, в которой основные биты не записываются вообще — только набор сумм (слово "контрольных" тут не очень подходит), из которых при чтении и восстанавливаются основные биты (а за счет избыточности — детектируются ошибки). Реально ECC реализовывалось практически только на 64-битной шине памяти (даже на машинах с 32-битной основной шиной), причем ранние реализации требовали до 16 контрольных бит, современные же схемы обходятся восемью.

Модуль ECC — несколько менее однозначное, чем модуль с четностью, понятие, что произошло в силу ряда исторических причин, основной из которых было в свое время отсутствие стандарта на контроллеры ECC, а, стало быть, и на модули, в них применяющиеся. Ознакомьтесь с двумя отдельными вопросами, посвященными ECC SIMM и ECC DIMM.



Что такое "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 с логической четностью — таким образом, вы покупаете продукт низшей, чем это возможно, категории качества.
Таким образом, вывод — за исключением двух описанных выше случаев, применение логической четности рекомендовать нельзя никак, в этих же двух случаях — можно с определенной натяжкой.


Как отличить модули с "логической" четностью?

Вопрос, разумеется, не праздный — как уже отмечалось в предыдущем вопросе, SIMM с логической четностью иногда пытаются продавать под видом четности истинной. Ответ довольно простой — модули с "логикой" вместо чипов четности имеют чип "логической четности". Его-то и надо идентифицировать. О том, как это сделать, подробно рассказано в FAQ по чипам.

Правда ли, что ECC можно организовать с помощью "обычных" SIMM c четностью?

Безусловно. Более того, подавляющее большинство систем, поддерживающих ECC с помощью SIMM, делают это именно на базе стандартных SIMM с четностью. Это относится как к многим brand-name серверам выпуска примерно 1995 года и далее, так и к обычным настольным системам, скажем, на базе чипсета 430HX. Дело в том, что "атавистическое" устройство стандартных SIMM x36 на базе четырех CAS по большому счету никак не влияет на его способность работать в ECC-системе (хотя и есть возможность обращаться к группам 8+1 бит по отдельности, никто не заставляет этой возможностью пользоваться). Поэтому большинство разработчиков заложили в свои контроллеры возможность использовать намного более распространенные (и, кстати, по этой причине более дешевые, хотя логично было бы ожидать обратного) SIMM с "обычной" четностью (возможно, поэтому ECC SIMM так толком и не прижились).

Обратное, кстати, неверно — как правило, ECC SIMM x36 неспособны работать в системах с обычным контролем четности.

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

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

Визуально это DIMM с числом чипов DRAM, кратным 9 (9, 18 или 36), в отличие от DIMM без четности, имеющих кратное 8 число чипов.

Почему одни и те же модули SIMM 72-пин устанавливаются в одни компьютеры по одному, в другие — по два, а в третьи — по 4 или 8 одновременно?

По одному и по два — ответ относительно простой. Компьютеры на основе 486-х процессоров имеют ширину шины 32 бит, соответственно, одного 32-битного модуля хватает, чтобы ее "перекрыть". Pentium-системы же 64-битные, поэтому 32-битные SIMM требуется устанавливать в банки попарно. Более того, некоторые достаточно старые 16-битные системы на базе процессоров 386SX расширялись "половинками" 72-пиновых SIMM (а вернее, их более старой реализацией с вдвое более узкой шиной). Аналогично те же 16-битные системы требовали попарной установки 30-пиновых 8-битных SIMM, а 32-битные - уже по 4.

Что касается SIMM, устанавливаемых по 4 или 8, то там идея несколько другая. Ширина главной шины у таких систем обычно составляет те же 32 или 64 бита, а расширение ее в подсистеме памяти до 128 или 256 бит — мера искусственная, и применяется либо для реализации ЕСС (в более ранних ее схемах, напомним, что чем шире шина, тем меньше контрольных бит требуется по отношению к основным, см. вопрос), либо для interleave (в этом случае обращение к каждой паре модулей происходит со сдвигом по фазе по отношению к остальным).



Какие контакты лучше — золоченые или луженые?

Очень трудно сказать. Похоже, все рассуждения на эту тему представляют собой лишь спекуляции, имеющие целью объяснить, почему индустрия свернула на ту или иную дорогу. На цену модулей материал контактов практически не влияет ввиду чрезвычайно малого содержания драгметаллов, так что если бы какое-то из покрытий было заведомо хуже другого, оно, надо полагать, давно бы отмерло само собой. С точки зрения практики, у каждого из материалов есть свои недостатки — gold lead имеет свойство облезать, а tin lead — ржаветь (вернее, покрываться налетом). Однако видеть модули, корродировавшие до такой степени, что это стало влиять на их работу, мне не доводилось.

Историческая справка. В достаточно старых (эпохи 386-х и ранних 486-х машин) применялись в основном золоченые разъемы. На пороге эры Pentium соотношение было примерно 50-50, затем произошел скачок популярности олова, так что золоченые разъемы применялись практически только в некоторых серверах. В частности, 72-пиновые SIMM EDO с золочеными контактами практически не встречаются ввиду полного отсутствия систем с такими разъемами. Однако DIMM (причем не только "длинные", но и SO) вновь вернулись к золоту и всегда имеют золоченые контакты.

Действительно ли материал контактов и разъемов, в которые устанавливаются модули памяти, должен совпадать?

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

Данная точка зрения, безусловно, имеет право на существование, однако достаточно большой личный опыт автора (и не его одного) показывает, что при использовании луженых модулей памяти с золочеными разъемами (или наоборот) никаких визуальных следов сильной коррозии, а тем более сбоев в работе, не наблюдается. В свое время в PC Magazine была чуть ли не дискуссия по этому вопросу, причем мнение людей, реально использовавших несовпадающие контакты, совпадало с моим собственным. Есть этому и объяснение — для гальванической коррозии необходим электролит, т.е. влага, конденсации которой в горячем и вентилируемом корпусе компьютера ожидать довольно трудно (а если она все же произойдет, это грозит вещами более неприятными, чем просто коррозия). Разве что ваш компьютер установлен в бане, или, скажем, на корабле… Кроме того, контакты модулей памяти имеют свойство утрачивать свой "блеск" и в одноименных разъемах — золоченое покрытие часто "облезает", а луженое — "ржавеет". Однако к полной потере контакта и к сбоям это практически никогда не приводит. Впрочем, мне доводилось слышать историю про сервер, который работает без сбоев только при условии, что раз в месяц контакты SIMM протираются спиртом. Она, казалось бы, опровергает все предыдущие рассуждения, но дело в том, что количество серверов, в которых стоит память с несовпадающими контактами, огромно, все они обязаны работать без сбоев — и, надо полагать, работают, раз особых жалоб слышать не приходилось. Так что не исключено, что "уникальный" сервер работает именно в условиях сверхвысокой влажности, или же несовпадение материала контактов у него особенно вопиющее (микропримеси, как известно, могут сильно влиять на химические реакции). Наконец, сама история может быть апокрифом.

Таким образом, я лично склонен рассматривать настойчивые заявления производителей о недопустимости несовпадения материалов контактов скорее как перестраховку, да и как способ отсечь generic-производителей от рынка. В документе Compaq черным по белому писалось что-то типа: "Покупайте память только у нас, потому что все остальные даже не позаботятся о том, чтобы совпадали материалы контактов…" (кстати, уважающие себя generic еще как заботятся). Тем не менее — техническое условие есть техническое условие, и так просто пренебрегать им не стоит.

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



Что имеется в виду, когда говорят о "ключах" на модулях памяти?

Под ключом на модуле памяти (обычно речь идет о модулях SIMM или DIMM, хотя, безусловно, ключи имеют также memory card и многие специфические модули) обычно понимают выступ или вырез в модуле, который в сочетании с соответствующим вырезом (выступом) в разъеме выполняет одну из двух (или обе) функций:

  • не позволяет установить симметричный модуль памяти "наоборот";
  • предотвращает использование в системе модуля, не подходящего по параметрам (скажем, по рабочему напряжению).
Рассмотрим поподробнее типы ключей, применяющихся в SIMM и DIMM:
  • SIMM 30-пин — вырез сбоку со стороны 1-го пина, служит для правильной ориентации модуля.
  • SIMM 72-пин — аналогичный вырез со стороны 1-го пина, а также вырез посередине между 36-м и 37-м пинами. Как это ни странно, этот вырез также имеет довольно неожиданное значение, см. FAQ-3.
  • SO DIMM 72-пин — вырез со стороны 1-го пина, высота этого выреза также отвечает за напряжение питания модуля.
  • DIMM 168-пин — 2 выреза "внутри гребенки" — между 10 и 11 и между 40 и 41 пинами (поскольку всего на одной стороне 84 пина, положение явно асимметрично и, соответственно, определяет 1-й пин. Эти вырезы могут быть слегка смещены по горизонтали, и это смещение задает буферизованность и напряжение питания соответственно.
  • SO DIMM 144-пин — вырез между 30 и 31 пинами (если быть более точным — между 59 и 61, у этого класса DIMM контакты нумеруются попеременно на обеих сторонах). Асимметричное расположение (всего на стороне 72 контакта) задает 1-й пин. Не исключено, что этот вырез также может быть смещен по горизонтали, что задаст, к примеру, напряжение питания, но данные DIMM встречаются только в 3-вольтовом исполнении, так что проверить гипотезу еще не удавалось.
Надо отметить, что контроль каких-либо параметров с помощью высоты выреза является "односторонним" - модуль с низким вырезом нельзя установить в разъем с высоким выступом, но не наоборот. Смещение ключа вдоль модуля — метод более надежный, так как гарантирует невозможность установки неправильного модуля, но создает серьезную проблему для производителей модулей (и материнских плат), вынужденных иметь дело с множеством разных дизайнов печатных плат и разъемов.

Как должны быть расположены ключи на модуле для моего компьютера? Если на модуле, которым я располагаю, они расположены неверно, можно ли подпилить модуль или разъем, чтобы его применить?

Как обсуждалось в предыдущем вопросе, реально положение ключей может влиять на возможность установки только 72- и 168-контактных DIMM. Правильная конфигурация ключей для них следующая:

  • SO DIMM 72-пин. 3-вольтовый модуль имеет ключ "обычной" (как у SIMM 72-пин) высоты, 5-вольтовый — вдвое более высокий. Как результат, 3-вольтовый модуль нельзя установить в 5-вольтовый разъем (но не наоборот).
  • DIMM 168-пин. Как уже отмечалось, модуль имеет 2 ключа. Один из них находится почти посередине модуля, другой — ближе к 1-му контакту. Предположим, что вы держите DIMM перед собой контактами вниз и 1-й пин находится слева, тогда левый ключ (ближе к краю) отвечает за буферизованность, а средний — за напряжение. Если присмотреться к промежуткам в контактной линейке, в которых расположены ключи, то видно, что их ширина примерно втрое больше ширины ключа. Каждый ключ, таким образом, имеет 3 позиции (реально используются 2) — среднюю, а также правую и левую.

    • Левый ключ в средней позиции соответствует буферизованному модулю, в правой — небуферизованному.
    • Средний ключ в левой позиции соответствует 5В модулю, в средней — 3.3В.
Вообще-то, время от времени действительно встречается ситуация, когда DIMM собран на "неправильной" по ключам плате. Чаще всего ошибка происходит с ключом напряжения питания, так как оно (напряжение) практически не влияет на дизайн платы. Похоже на то, что необходимость иметь различные платы для очень похожих модулей создала проблемы в технологических цепочках некоторых производителей. Кстати, доводилось видеть довольно изящное решение — 168-пиновые DIMM, собранные на платах с преднамеренно расширенными вырезами ключей, подходящими к любому выступу. К сожалению, такое решение нельзя рекомендовать просто потому, что путаница, возникшая из-за обилия конфигураций памяти в умах конечных пользователей, в любом случае намного выше, чем у производителей, и ключи нужны в первую очередь для предотвращения установки "неправильных" модулей. Тем не менее предположим все-таки, что приобретенный вами модуль на ваш взгляд полностью соответствует описанию в мануале материнской платы, однако в разъем не устанавливается, поскольку позиция одного из ключей не соответствует вышеприведенному описанию. Можно ли браться за напильник?

Мой совет — только в последнюю очередь. Первым делом постарайтесь связаться с продавцом (источником) модуля и сообщить ему ситуацию в терминах "в мою плату устанавливаются 5-вольтовые буферизованные модули, я приобретал у вас именно такой, однако не могу его установить, поскольку на мой взгляд ключ напряжения выставлен неверно". Если модуль действительно не соответствует описанию (неважно, только по ключам или по реальным характеристикам) — исправлять ситуацию должен именно продавец. Если заменить модуль по какой-то причине невозможно — обязательно еще раз тщательнейшим образом осмотрите модуль и убедитесь, что "по чипам" он именно такой, какой нужно — в противном случае, решившись на установку, вы рискуете повредить его или (с меньшей вероятностью) плату. Следующий совет — если вы решились на доработку, лучше (если есть доступ) делать это с разъемами (хотя в таком случае желательно, чтобы информация о том, что ключи на разъемах удалены, сохранилась). Наконец — если вы все-таки дорабатываете сам модуль — старайтесь делать это аккуратно (еще неизвестно, чем закончится ваш эксперимент — постарайтесь сохранить товарный вид) и обратите особое внимание на то, чтобы подпиливание ключей не привело к повреждению дорожек платы (часто они проходят очень близко к ключам!). И еще раз — если у вас есть хоть какие-то сомнения в своих силах или в правильности предпринимаемых действий — обязательно обратитесь к специалисту!!!



Что такое буферизованный модуль? Для чего нужна буферизация?

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

Проблема была осознана примерно к моменту появления 168-контактных DIMM, и при разработке контроллеров для систем с этими модулями (первыми, кажется, были PowerMac) было предложено следующее решение — контроллер общается с DRAM не напрямую, а через микросхему, именуемую буфером, которая сама по себе имеет низкую емкость, и, соответственно, способна мгновенно принимать сигнал от контроллера, освобождая системную шину. Дальнейшая зарядка ячеек DRAM идет уже без участия контроллера. Сам по себе буфер представляет собой дополнительную микросхему, размеры которой, в принципе, могут быть разными, но обычно меньше, чем чипы собственно памяти. В зависимости от количества банков буферов может быть больше одного.

Однако прежде, чем 168-контактные DIMM прочно вошли в обиход, произошло еще одно событие — появились и стали легкодоступны микросхемы с рабочим напряжением 3.3В. Все та же теория гласит, что время зарядки конденсатора пропорционально также и напряжению, таким образом, снижение напряжения несколько сняло остроту проблемы. К моменту массовой разработки контроллеров памяти для DIMM-ориентированных систем индустрия оказалась полностью дезориентированной, в результате, в компьютерах разных производителей могут применяться DIMM практически любой комбинации буферизованность/напряжение. Насколько можно судить, небуферизованные модули не работоспособны в системах, предназначенных для модулей буферизованных, и наоборот (в действительности установить DIMM с "неверной буферизацией" не позволяет наличие ключа, см. соответствующий вопрос). SDRAM DIMM в буферизованном исполнении не встречаются, однако уже разработана аналогичная буферу конструкция и для них. Она носит название register, а соответствующие модули — registered.

Что такое композитный модуль? Чем грозит его применение?

По существу, единственной мало-мальски распространенной разновидностью композитных модулей были ранние реализации SIMM типа 4х32. Тем не менее, кое-какое обобщение возможно. Для начала обратим внимание, что у однобанкового 72-контактного SIMM (например, 1х32 и 4х32, об этих обозначениях см. соответствующий вопрос) глубина адресного пространства совпадает с глубиной адресного пространства чипов (1х4 или 1х16 и 4х4 соответственно, см. FAQ по чипам), из которых он состоит. Это естественно — адрес, запрашиваемый у модуля, просто запрашивается у каждого из его чипов. По поводу двухбанковых упомянем только, что фактически они имеют ту же глубину адресного пространства, что и соответствующие однобанковые модули — удвоение идет за счет использования лишних RAS (см. подробности в соответствующем вопросе).

Таким образом, каждому учетверению емкости модулей памяти должно предшествовать, вообще говоря, появление нового поколения чипов. Однако в тот момент, когда компьютерной индустрии потребовались 16-мегабайтные SIMM, чипы 4х4 были в большом дефиците (или дороги, что одно и то же). В качестве временной меры модули 4х32 (все излагаемое относится также и к SIMM с четностью, но для простоты не будем на этом останавливаться) начали изготавливать из имевшихся в наличии чипов 1х4. Сразу же возникла очевидная проблема — эти чипы имеют только 10 адресных линий, но модуль-то должен иметь 11 (о числе адресных линий см. FAQ по чипам)! Требовался способ сымитировать четырьмя чипами с адресуемым мегабитом один чип с четырьмя мегабитами (учитывая, что адресное пространство представляет собой квадратную матрицу, сделать это не так уж и просто). Выход был найден в том, что лишняя адресная линия была "подсоединена" к RAS, то есть, иными словами, происходило следующее — некая логическая микросхема перехватывала поступающие от контроллера состояния RAS и 11-го адреса (2 бита) и преобразовывала их в сигнал на одну из 4-х линий RAS, на каждой из которых сидело по одному "малому" чипу. Получившиеся таким способом 32-чиповые (плюс логический чип) SIMM 4x32 и применялись в качестве первых 16-мегабайтных SIMM. Они то и получили название композитных.

Естественно, наряду с достоинствами (дешевое и легкодоступное решение) метод имел и ряд недостатков. Два наиболее существенных — наличие логики (которое, как известно, не способствует совместимости с контроллерами, о логике не осведомленными) и повышенное по сравнению с нормой (см. вопрос) количество чипов. Насколько можно судить, далеко не все "ранние" контроллеры поддерживали композитные модули. Естественно, как только чипы 4х4 стали более доступны, разработчики систем перестали закладывать в них возможность работать с композитной памятью. Первое время в мануалах еще указывалось, что системе требуются 16-мегабайтные "non-composite" SIMM, потом и это стало опускаться. Забавно, что наиболее ранние из систем, поддерживающих 16-мегабайтные модули, кажется, в свою очередь работают только с композитными SIMM (впрочем, такие компьютеры — большая редкость).

В принципе, следующими кандидатами на "композитность" должны были стать SIMM калибра 16х32, тем не менее этого произошло — "ранние" реализации этих модулей появились уже в эпоху хорошо развитой 16-мегабитной технологии и собирались из чипов 16х1. Чипов по-прежнему требовалось 32, но с адресным пространством все было в порядке. DIMM же 16х64 великодушно дождались появления 64-мегабитных чипов (при этом ранние реализации таких DIMM стоили все те же безумные деньги). Кое-какие проблемы имелись с SO DIMM, на которых физически невозможно разместить даже 16 чипов, но и здесь 32-мегабайтные модули появились только вслед за 64-мегабитными чипами. Похоже, ряд производителей ноутбуков использовал-таки композитные решения в своих модулях памяти, однако, поскольку речь идет о модулях специфических, это не предмет для обсуждения, хозяин — барин.

Таким образом, реально вам может встретиться только композитный SIMM 72-пин 16МВ, имеющий 32 (или 36) чипов DRAM и логический чип. Скорее всего, он произведен много (более 5) лет назад и все это время стоял в некоем компьютере. Использование его на прежнем месте ничем особым не грозит, раз уж он проработал так долго. Но устанавливать такие модули в современные системы я бы без особой нужды не советовал. Аргументы — скорее всего, слишком большое время доступа; наличие логики еще более ухудшает время доступа или вообще делает модуль несовместимым; слишком много чипов — также потенциальная угроза. Покупать такие модули без серьезных тестов на совместимость, как следствие, не рекомендуется.



Существует ли ограничение на количество чипов на одном модуле памяти?

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

Тем не менее, все не так просто. Ряд производителей материнских плат прямо указывает в своих мануалах, что устанавливаемые в их платы SIMM должны иметь не больше 24 чипов (или не более 50 чипов на банк, что фактически одно и то же). "Пострадавшими" от такого ограничения являются в основном ранние (32- или 36-чиповые) реализации SIMM 64МВ. С архитектурной точки зрения они полностью идентичны "разрешенным к применению" SIMM на базе 64-мегабитных чипов. В чем же дело и есть ли основания для запрета?

А дело в том редко осознаваемом факте, что каждый чип DRAM в рабочем режиме потребляет порядка 0.5-1.0 ватт энергии. Таким образом, два 36-чиповых SIMM могут (по порядку величины) потребить 72 ватта, а четыре — и все полторы сотни. Сравните это с мощностью обычного блока питания (300 вт) и станет понятно, что такие модули дают на него колоссальную нагрузку. В принципе, мне известны и случаи выхода из строя по причине перегрузки памятью блоков питания, но более существенно то, что на такие нагрузки попросту не рассчитано большинство обычных материнских плат. Сгореть от перегрузки плата, скорее всего, не сгорит, но вот сбоев в работе избежать удастся вряд ли. Еще один потенциальный источник сбоев — слишком высокая электрическая емкость многочипового модуля (см. вопрос про буферизацию).

Означает ли это, что многочиповые SIMM вообще (и 64МВ, в частности) являются товаром неполноценным и применению не подлежащим? Естественно, нет. Изначально 64МВ была емкостью очень высокой для обычного компьютера, и ранние многочиповые 64МВ SIMM применялись в основном в серверах. А сервер - это специальный (в частности, на такую память и рассчитанный) дизайн материнской платы плюс мощный блок питания. Соответственно и вышеупомянутые SIMM были там на своем месте. Проблемы возникли с ростом требований владельцев "обычных" систем.

Мораль же заключается в том, что применять SIMM с количеством чипов больше 24 можно, но крайне осторожно (в частности, больше одного банка — только в серверах). То есть — прежде чем совершать покупку, не забудьте про тесты. Если при этом речь идет о 16МВ SIMM — не забудьте, что скорее всего они композитные.

Если на печатной плате модуля памяти остались свободные контактные площадки под микросхемы, означает ли это, что перед нами неполноценный модуль?

Если речь идет о площадках под чипы DRAM — скорее всего (если, конечно, у модуля не 7 чипов) все в порядке. Свободные контактные площадки предназначены скорее всего либо под чипы четности, которых нет на модуле без таковой, либо под второй комплект чипов для создания двухбанкового модуля, если ваш модуль однобанковый. Очень многие производители памяти (в том числе и major) используют такой универсальный дизайн печатных плат, и ничего страшного в этом нет.

В принципе, нет оснований для паники и в том случае, если пустые контакты предназначены для чипа типа TQFP. Скорее всего это отсутствует (а нужен ли он вам?) чип логической четности. Другое дело, что готовность производителя напаять на свои изделия такой чип сразу заметно понижает его в воображаемой иерархии (напомню — уважающие себя производители логическую четность не применяют). Также нет ничего страшного в свободных контактных площадках под PRD (см. вопрос), хотя если там нет ни одного резистора и это не SIMM 8МВ 60 нс — то PRD вашего модуля скорее всего неверное. Аналогично свободная контактная площадка под небольшой чип EEPROM на модуле DIMM означает отсутствие SPD — что несколько похуже, чем в случае с SIMM, так как больше вероятность встретить систему, которой это не понравится.

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

Как отличить модули памяти с одинаковым числом чипов (например, SIMM 72-пин 4 и 16МВ) друг от друга?

Вообще-то отличить друг от друга модули памяти с одинаковым (а хоть бы и с разным) числом чипов можно, попросту определив, что каждый из них собой представляет (например, по маркировке чипов или их размеру, как об этом сказано в соответствующем вопросе). Кстати, именно частный случай SIMM 4 и 16 мегабайт (или, аналогично, 8 и 32) наиболее интересен, поскольку при беглом осмотре такие модули (в предположении, что первые собраны из чипов 1х4) выглядят абсолютно одинаково. Чтение маркировки чипов — один из методов определить, кто есть кто, но намного более изящный метод основан на том факте, что 300-mil SOJ 1x4 имеет 20 контактов (2 раза по 5 с каждой стороны, зазор между каждой группой контактов относительно велик), а 4х4 — 24 контакта (по 6, зазор заметно меньше).



Действительно ли модули SIMM 72-пин 4 и 16МВ (а также 8 и 32МВ) собираются на одних и тех же печатных платах?

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

Какие еще чипы, кроме микросхем DRAM, должны присутствовать на печатной плате и чем грозит их отсутствие?

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

Помимо микросхем DRAM, наиболее важными не чипами даже, а деталями являются шунтирующие конденсаторы — миниатюрные детали (размером примерно 2х1 мм). Как правило, на каждый чип памяти приходится один конденсатор, причем на плате он располагается рядом с самим чипом (а если чипы SOJ - то, может быть, и под чипом, если снаружи конденсаторов не видно — посмотрите на модуль сбоку на просвет, чаще всего вы увидите небольшой выступ). Конденсаторы эти призваны смягчать кратковременные скачки напряжения, предотвращая повреждение чипов или (что более актуально, поскольку более вероятно) потерю данных. Не могу точно сказать, почему конденсатор не встраивается в микросхему на стадию упаковки, что кажется более логичным — просто так повелось. Если конденсаторы на модуле отсутствуют — использовать его не рекомендуется ни в коем случае! Идеальных блоков питания не существует, поэтому риск сбоев очень велик, кроме того, подобная "экономия на спичках" указывает на крайне низкий уровень культуры производства. Кстати, мне доводилось видеть модули, у которых аналогичным образом шунтированы ВСЕ контакты (только конденсаторы поменьше размером, иначе бы не поместились). Выглядит это как произведение ювелирного искусства… Иногда присутствует также большой конденсатор, шунтирующий, видимо, весь модуль (чаще это бывает на модулях с относительно большим числом чипов), но я не располагаю информацией о том, в каких случаях он быть обязан. Хуже от него, во всяком случае, не становится. Он обычно имеет форму куба с ребром порядка 2 мм, ножки чаще всего не видны, но в любом случае их не более двух.

Вот какие чипы можно встретить еще (даны ссылки на соответствующие вопросы):

  • Резисторы PRD (см.) — несколько побольше конденсаторов и расположены обычно отдельной группкой. Отсутствие их особой опасности не представляет, так как число систем, использующих PRD, не слишком велико; в любом случае, если модули без PRD работают в вашей системе, то ничего страшного в отсутствии PRD уже нет. Также надо иметь в виду, что вовсе не все резисторы обязаны присутствовать. В частности, время доступа 60 нс соответствует незаземленности обоих соответствующих контактов, а емкость модуля в принципе может быть выставлена в момент изготовления платы. См. подробности в отдельном вопросе.
  • Чип EEPROM SPD (см.) — как правило, маленькая схема с небольшим числом контактов, в случае ее отсутствия группа голых контактных площадок хорошо заметна. Должна присутствовать на небуферизованных 168-контактных (вообще говоря и 144-контактных) DIMM. Отсутствие грозит несовместимостью с некоторыми материнскими платами, в частности, на чипсете 440LX.
  • Буферы (см.) — естественно, на буферизованных модулях. Могут быть разного размера, важный признак — большое (не меньше ширины шины) число контактов. Являются неотъемлемой частью такого модуля, поэтому вопрос об опасности их отсутствия лишен смысла.
  • Генератор четности (см.) — присутствует на SIMM с логической четностью. Мое мнение — лучше бы, чтоб его и не было. Во всяком случае, свободная контактная площадка под такой чип (о его определении см. FAQ по чипам) модуль не ухудшает. Хотя и не украшает во всех смыслах.
  • Другие логические схемы (например, RAS-конверторы в композитных (см.) и других собранных из необычных чипов модулях) — фактически, любые чипы, не являющиеся перечисленными выше. Как правило, применять стандартные модули памяти, имеющие подобные чипы, не рекомендуется — фактически они стандартными не являются.


Какой должна быть правильная печатная плата для модуля памяти и можно ли визуально определить (по цвету и т.д.) низкокачественные платы?

Однозначный ответ на этот вопрос дать невозможно. В частности, цвет платы обычно не имеет ни малейшего отношения к ее качеству. Разные производители используют разные цвета в диапазоне от темно-зеленого до песочного, один производитель, как правило, не более 2-3 цветов. На визуальное восприятие цвета влияет и плотность контактных дорожек в верхнем слое платы. Конечно, если кто-то использует относительно редкий оттенок, при известном опыте можно научиться отличать по внешнему виду именно его модули, но вряд ли такое умение будет иметь практическую пользу.

На что же в печатной плате обращать особое внимание? В первую очередь, на наличие маркировки известного производителя, травлением или краской — оно повышает вероятность того, что модуль качественный. Далее — посмотрите на контакты, вернее, на их покрытие — часто оно имеет вид буквально наляпанного, разумеется, это не есть хорошо. Следующее, что можно увидеть - это свободные контактные площадки под чип логической четности (см. вопрос) — на мой взгляд, присутствие подобной опции опять же понижает рейтинг производителя, как следствие, и модуля. Ну и наконец — как ни странно, вам следует довериться своему эстетическому чувству — очень часто (увы, не всегда) печатные платы, на которых выполнены низкокачественные модули памяти, производят какое-то отталкивающее впечатление сами по себе. Надо понимать, бывают дизайнеры-професcионалы, а бывают и ремесленники.

Какие основные причины выхода модулей памяти из строя?

Очень часто, задавая этот вопрос, имеют в виду совсем другое — почему выходят из строя ЧИПЫ памяти. Подробный ответ на этот вопрос имеется в FAQ по чипамЗдесь же мы остановимся на всех остальных, помимо неисправности чипов, причинах поломки модулей памяти. Надо иметь в виду, что чаще всего модуль ломается именно по этим остальным причинам — чипы, если уж им суждено сгореть по причине внутренних дефектов, обычно делают это достаточно быстро.

Если еще непонятно, о чем идет речь — идет она о механических (реже — электрических) повреждениях модулей. Список их примерно следующий:

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

Может, стоит еще упомянуть такую легендарную (см. вопрос) причину, как полная коррозия контактов - в природе она не встречается, но пугают ей постоянно…

Что такое SO DIMM и какие они бывают?

SO DIMM, т.е. Small Outline DIMM, иными словами — "короткий" DIMM. Под этим названием существуют две разновидности DIMM — 32-битные 72-контактные (в первом приближении можно считать, что это просто 72-контактный SIMM, который сложили вдвое) и 64-битные 144-контактные (в том же первом приближении — два уменьшенных 72-контактных SIMM). Первая разновидность DIMM существует в виде fast page или EDO и с рабочим напряжением 5 либо 3.3В, вторая — EDO или SDRAM и только 3.3В (под существованием понимается не принципиальная возможность реализации, а практическое наличие). Насколько мне известно, версий с контролем четности в природе не встречается.

SO DIMM как форм-фактор ориентирован на применение в компактных устройствах, т.е. ноутбуках.



Можно ли применять модули памяти, изготовленные из "длинных" чипов, каждый из которых заменяет 4 обычных?

Вполне. Речь идет о 72-контактных SIMM 4 и 8МВ (а также некоторых DIMM младших номиналов), под "длинными" чипами (о размерах чипов см. в FAQ по чипам) понимаются чипы 1х16 (заменяющие 4 чипа 1х4). Даже из организации чипов должно быть видно, что замена вполне честная, и архитектурно "малочиповые" (в смысле количества чипов) модули ничем не отличаются от многочиповых. В принципе, сейчас в продаже в основном встречаются именно малочиповые версии, однако кого-то может беспокоить, окажутся ли они совместимыми с его компьютером, в котором изначально стояли многочиповые SIMM. Так вот, должны оказаться. Об одном малоприятном исключении см. в вопросе об одно/двухбанковых модулях.

В действительности, у этого вопроса есть история. Массовый выход "длинных" чипов на рынок (во всяком случае, российский) произошел году в 1995, и удачным его назвать никак нельзя. Похоже, новая технология, по которой изготавливались первые чипы 1х16, давала поначалу очень высокий процент брака (по крайней мере у некоторых производителей, называть их не будем, так как проблемы свои они, похоже, давно изжили). При этом чипы 1х16 изначально были дешевле, чем соответствующее количество 1х4. Естественно, "ненадежные" партии чипов утекли к производителям максимально дешевой памяти, которые никогда не обременяли себя входным/выходным контролем. В результате, процент брака среди появившихся в изобилии малочиповых SIMM был просто фантастическим, и их (а заодно и производителей чипов) репутация надолго оказалась подмоченной. Причем похоже, что нечто подобное произошло во всем мире — иначе не очень понятно, чем объяснить, что многочиповые SIMM, будучи заметно дороже, до сих пор (хотя качество чипов 1х16 уже давно нормализовалось) имеются во многих прайс-листах. То есть объясняется это спросом, но вот чем объяснить спрос? Один из артефактов, которыми так богат компьютерный рынок, а особенно рынок памяти…

Может ли модуль с четностью иметь всего 2 чипа?

Как ни странно, да. Это SIMM 1x36, собранный из двух чипов 1х18, о которых написано в FAQ по чипамАналогичный SIMM 2x36 имеет 4 чипа.



Как определить, имеется ли PRD на данном модуле памяти и правильный ли он?

Вопрос о наличии PRD не совсем верен терминологически, что будет показано ниже. Единственное, что реально можно определить невооруженным глазом, это ОТСУТСТВИЕ SPD (см. вопросы о наличии-отсутствии чипов, а также о том, что такое PRD и SPD). Убедиться же без наличия профессиональной аппаратуры, что перед вами именно чип SPD с правильным "содержанием" (а не болванка, не какой-то другой неверно идентифицированный чип, наконец, не некорректный SPD) абсолютно невозможно.

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

Тем не менее остановимся подробнее на PRD 72-контактных SIMM. DIMM разных конфигураций мы опустим — во-первых, число контактов PRD у них слишком велико, чтобы не запутаться, во-вторых, резисторы PRD у них зачастую расположены в живописном беспорядке, наконец, проблем с чтением PRD у этих модулей не бывает почти никогда. Что касается упомянутых SIMM, то за PRD у них отвечает всего 4 контакта (IBM в своих не совсем стандартных модулях использовала пятый, но мы это оставим в стороне). Это контакты с 67-го по 70-й, заземление или незаземление каждого из которых представляет собой один бит воспринимаемой контроллером информации. Напомним — как правило, PRD модуля "прошивается" путем напаивания нулевых резисторов на пары контактных площадок, причем один контакт в паре подсоединен к соответствующему контакту PRD, а другой — к 72-му пину (который, в свою очередь, подсоединен к земле). Из вполне понятных соображений эти контактные площадки расположены в районе 70-х пинов. Если держать SIMM горизонтально, так что контакты его направлены вниз, а ключ (и 1-й контакт соответственно) находятся слева, то четыре пары контактных площадок обычно можно видеть с правой стороны модуля. Чаще всего заземляющие резисторы расположены горизонтально, и контакты с 67-го по 70-й идут сверху вниз. Однако нередко бывают и исключения всех сортов (другой порядок контактов, вертикальная ориентация, меньшее количество контактных площадок, их расположение с противоположной от нас или обеих сторон), поэтому, если вы пытаетесь визуально определить PRD, постарайтесь проследить, к каким контактам идут дорожки на печатной плате. Ниже приводятся таблицы соответствующих JEDEC PRD:

Емкость, MB 67 68
4 Vss Vss
8 NC NC
16 Vss NC
32 NC Vss
Время доступа, нс 69 70
50 Vss Vss
60 NC NC
70 Vss NC
80 NC Vss

Здесь под Vss понимается наличие заземления (соединение с 72-м контактом), NC — заземления нет (not connected). Фактически здесь две совершенно разные таблицы — левая для емкостей, правая - для времен доступа. Другие емкости расположены "циклически" (т.е. PRD для 2МВ аналогично 32МВ, а для 64МВ — 4МВ и т.д.). Примерно то же самое и для времен доступа (после 80, кажется, идут 100, 120 и 150, хотя встретить такие SIMM приходится не часто).



Можно ли при необходимости вручную выставить на модуле памяти правильный PRD?

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

  • Действительно ли наличный PRD неверен? Действительно ли вам нужен иной PRD (систем, которые требуют наличия PRD, не так уж и много, в FAQ-3 есть примерный список)?
  • Точно ли вы знаете, что именно вам следует переделывать? Допускает ли подобную операцию конструкция модуля?
  • Не намерены ли вы выставить параметры лучше, чем обещают чипы? Не приведет ли это к отрицательным последствиям?
  • Готовы ли вы к тому, что продавец памяти откажется выполнять свои гарантийные обязательства на основании того, что модули подвергались переделке (следы ее скрыть довольно трудно, а продавец, кстати, будет абсолютно прав)?
Кстати, в свете последней проблемы я бы рекомендовал как минимум убедиться в работоспособности модулей перед операцией…

Интересно, что в свое время generic-производитель Kelly (впоследствии приобретенный Simple) объявил о выпуске SIMM, имеющих набор из четырех свитчей, позволяющих ставить вручную любой PRD.

Что такое однобанковые и двухбанковые, а также одностороннние и двусторонние модули и как их отличать друг от друга?

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

Итак, рассмотрим для начала SIMM 72-пин 1х32 (4МВ), собранный из 8 чипов 1х4. Для простоты будем рассматривать не стандартный SIMM, а некую идеологическую помесь последнего с ECC SIMM, так что все чипы нашего гибрида будут подключены к единственной линии RAS и CAS. Настоящий SIMM использует в силу исторически сложившихся причин 2 линии RAS и 4 — CAS, но заряжаются все RAS и все CAS синхронно, так что наше допущение ни на что не повлияет. Итак, набор из восьми четырехбитных чипов полностью перекрывает 32-битную шину, глубина и конфигурация адресного пространства модуля и чипов также совпадают. Обращение по некоему адресу (с использованием единственных линий RAS и CAS) просто представляет собой обращение по данному адресу каждого из чипов. Все очень просто. Перед нами — так называемый однобанковый модуль. Совершенно аналогично обстоят дела и с модулем, собранным из 2 чипов 1х16.

Теперь вообразим, что нам захотелось изготовить из таких же чипов модуль вдвое большей емкости (т.е. 2х32, естественно, что и чипов понадобится вдвое больше). Казалось бы, судя по организации модуля, глубина его адресного пространства увеличилась вдвое (до 2 мегабит), следовательно, потребуется еще одна адресная линия, и проблема решена? Разумеется, нет, так как составляющие модуль чипы по-прежнему имеют 1 мегабит адресного пространства, и адресовать второй мегабит невозможно. Как же устроены SIMM 8MB?

Ответ следующий — дополнительный комплект чипов просто подключен ко второй линии RAS (фактически это 3-я и 4-я линии, но, как уже упоминалось, это ни на что не влияет). Контроллер (который, естественно, осведомлен о природе установленных модулей) попросту адресует первый мегабит точно так же, как если бы был установлен обычный 4МВ модуль. А вот второй мегабит адресуется опять же с использованием всего 10 адресных линий, но заряжается не "старый" RAS, а "новый", так что на запрос откликается добавленный комплект чипов. Таким образом, если в 4МВ модуле каждое "слово" информации хранилось во всех чипах, в 8МВ оно находится в каком-то одном из двух комплектов. Это — модуль двухбанковый. Поскольку фактическая глубина адресного пространства каждого из банков — все тот же 1 мегабит, более корректным обозначением было бы, скажем, 2х(1х32).

Совершенно аналогично — SIMM 4x32 (8 чипов 4х4) представляет собой однобанковое устройство, 8х32 — двухбанковое и так далее вверх и вниз по шкале емкостей. Попросту говоря, добавление еще одной адресной линии к конструкции однобанкового модуля в норме увеличивает его адресное пространство, следовательно, и емкость, вчетверо. Именно так росла емкость SIMM 30-пин. Двухбанковые же 72-контактные разновидности как бы занимают образовавшиеся промежутки.

Надо сказать, что двухбанковая конструкция, несомненно, несколько более сложна технически, чем однобанковая, поэтому ряд систем (в основном относительно старых) с двухбанковыми SIMM работать просто не желали, или же "видели" только один банк (что с высоты нашего нынешнего знания объясняется элементарно). Более редкой была ситуация, когда невозможно было одновременно использовать однобанковые и двухбанковые модули, несколько чаще — такое использование требовало специального порядка заполнения банков, переключения джамперов и т.д. Естественно, у пользователей это вызывало определенную озабоченность. Авторы мануалов к материнским платам, не собираясь читать подробную лекцию, иногда просто обмолвливались о, скажем, "двухбанковых" модулях. Что еще хуже, иногда, дабы не заставлять необразованного пользователя вникать в тонкости архитектуры, давалась ссылка на эти модули как двусторонние. Действительно, если SIMM 1x32 (собранный из 8 чипов 1х4), скажем, КАК ПРАВИЛО имел чипы на одной стороне печатной платы, то 16-чиповый 2х32 волей-неволей использовал обе стороны, аналогично и с другими модулями. То есть СТАТИСТИЧЕСКИ однобанковые модули были скорее односторонними (в смысле расположения чипов), а двухбанковые - двусторонними. Однако статистика эта была довольно плоха. Только два примера — SIMM 1x36, ничуть не менее однобанковый, чем 1х32, очень часто имел свои 12 чипов расположенными с двух сторон. SIMM 2x32 на базе четырех чипов 1х16, напротив, довольно часто исполнен в "одностороннем" с точки зрения расположения чипов варианте. Естественно, это чисто дизайнерский вопрос, не имеющий к архитектуре ни малейшего отношения. Таким образом, столкнувшись с термином типа "двусторонний", попытайтесь найти способ выяснить, идет ли речь о физическом расположении чипов (а идти она может — см. вопрос) или все же о числе банков.

Таким образом, выше было показано, чем отличаются однобанковые SIMM от двухбанковых, и обращено внимание на то, что эти термины нередко подменяются терминами "односторонний" и "двусторонний", причем буквальное понимание последних терминов смысла обычно не имеет. Можно ли на этом закрыть тему? Отнюдь… Одним из главных допущений (лет 5 назад вполне справедливым) в обсуждении был тот факт, что адресное пространство чипов DRAM всегда квадратно (и как результат растет с инкрементом 4). В настоящее время это далеко не так.

В частности, где-то в 1994-1995 годах по Москве распространились слухи о существовании не то односторонних, не то двусторонних (выше уже отмечалось, что эти малоосмысленные термины в основном производят путаницу в мозгах) 8МВ SIMM, которые "нигде не работают", и сотрудникам работающих с памятью фирм пришлось отвечать на множество вопросов. Как всегда, дело было в появившейся на рынке крупной партии несовместимых модулей, с которыми ввиду судорожных попыток их продать столкнулись многие покупатели. Модули эти состояли из четырех чипов 2х8 (так что заодно прошла и волна отказов от "малочиповых" SIMM). Нетрудно видеть, что для того, чтобы перекрыть шину SIMM 2х32, требовались все 4 чипа, соответственно, 11 адресных линий перекрывали 2МВ адресного пространства — SIMM был однобанковым, и, казалось бы, ничему это не противоречило. Кроме одного - большинство контроллеров ничего не знало о возможности существования таких модулей, полагая, что SIMM 2x32 должен быть двухбанковым, а 11 адресных линий означают, что перед ним SIMM 4х32, у которого почему-то не отвечает половина адресов (следовательно, дефектный). Производители наших SIMM об этом знали, и пошли на хитрость — имитацию двухбанкового SIMM. Сигнал на дополнительном RAS попросту конвертировался в сигнал на 11-й адресной линии (заметьте, что поскольку адресное пространство у чипов было неквадратное, эта линия за цикл обращения использовалась лишь один раз — как раз вместе с RAS). Что потребовало использования логической микросхемы, которые, как уже неоднократно указывалось, никогда не улучшали совместимости модулей. Как результат, эти "хитрые" SIMM работали далеко не во всех системах, и крайне редко работали одновременно с "нормальными" SIMM.

Заметим, что если бы не непонятливые контроллеры и не хитрая логика, SIMM из приведенного выше примера был бы абсолютно корректным однобанковым модулем. Таким образом, существование чипов с неквадратным адресным пространством делает возможным существование однобанковых модулей любой емкости. Причем если "нетрадиционные" однобанковые SIMM все же делались относительно редко (приведенный выше пример получил известность только из-за большого размера партии), то, скажем, однобанковые SO DIMM 2x32 встречаются довольно часто. То же самое относится и к 168-контактным DIMM 8x64 (или 8х72) — наряду с более старой двухбанковой версией из 32 (36) чипов 4х4 существует более современная однобанковая разновидность из 8(9) чипов 8х8. Как ни печально, далеко не все контроллеры, работающие с такого рода DIMM, в состоянии распознать оба типа модулей, так что если вы планируете расширять свой компьютер такими модулями — внимательно изучите мануал.

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



Могу ли я столкнуться с проблемами, если на модуле памяти чипы расположены с двух сторон?

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

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

Как определить, является ли модуль JEDEC-совместимым?

Даже и не знаю. А зачем это собственно нужно? JEDEC применительно к модулям памяти — это стандарт, который, как ему и положено, описывает некий стандартный набор параметров. Единственный честный способ определить JEDEC-совместимость модуля — это аккуратно измерить все параметры, для чего, впрочем, потребуется очень серьезная лаборатория (к параметрам относятся, например, емкости на отдельных линиях, токи утечки и т.д., и это не считая параметров, относящихся к временным диаграммам, в том числе, например, углы наклона фронта сигнала).

Имеет смысл задаться вопросом, а зачем, собственно, вам требуется знать о JEDEC-совместимости? В подавляющем большинстве случаев ответ будет: "Потому что в мануале написано, что так должно быть…". В действительности, чаще всего полная JEDEC-совместимость — условие слишком сильное. Большинство продаваемых "безымянных" модулей памяти полностью JEDEC не удовлетворяют (чаще всего в отношении PRD), что не мешает тем из них, которые не имеют "прочих" дефектов, работать опять же в большинстве систем. Кстати, маркированные модули (производства как major, так и крупнейших generic, ссылки на списки которых есть в вопросе, посвященном маркировке) обычно являются 100% JEDEC.

Иногда можно определить, что модуль является НЕ 100% JEDEC, по отсутствию PRD (см. об этом в отдельном вопросе) или наличию логической четности (см. вопрос). Однако, как уже было упомянуто выше, это не означает, что модуль неработоспособен (даже логическая четность не помешает ему нормально работать в устройстве без контроля таковой), хотя и не прибавляет ему достоинств.

Что такое "нестандартный" модуль памяти и по какой причине они применяются? Что делать, если мой компьютер расширяется именно такими модулями?

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

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

Самый естественный (хотя и далеко не самый дешевый) способ приобрести нестандартные модули для апгрейда — это обратиться к поставщику системы или представителю данного бранда. Если речь идет о не совсем древней модели, чаще всего это сработает. Альтернативный способ — приобрести память производства специализирующихся на нестандартных апгрейдах generic-производителей (см. их список, обратите особое внимание на on-line каталоги) напрямую или у дилера. Обычно это ощутимо дешевле и быстрее без какой-либо потери качества.

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



Какой набор параметров полностью описывает стандартный модуль памяти?

Оговоримся сразу, что о "внутренних" электрических и логических параметрах модуля мы говорить не будем, ограничимся лишь замечанием, что их список (напряжения, токи, емкости, разводка контактов, времена, диаграммы, таблицы true/false и прочая) занимает от нескольких до нескольких десятков страниц не самым крупным шрифтом. По счастью, характеристики эти, в основном, есть лишь перечисление стандартных JEDEC-требований, кроме того, они в основном восходят к характеристикам чипов, в свою очередь жестко определенных индустриальными стандартами. Поэтому остановимся на характеристиках собственно модулей, большинство из которых при этом можно определить визуально или считывая маркировку чипов. Список дан по возможности полный, при этом многие характеристики мало что означают для SIMM, особенно 30-контактных, но актуальны для DIMM, вариантов которых, далеко не всегда совместимых между собой, существует множество. Итак:

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

Бывают ли SIMM 72-пин EDO с четностью?

Да, хотя и относительно редко встречаются. Дело в том, что однобитные чипы EDO, а именно такие чипы используются в качестве чипов четности при ее традиционной организации, никогда и никем, насколько можно судить, не выпускались. По большому счету, EDO SIMM обычно применялись в системах без контроля четности, и определенная потребность в них возникла только с появлением чипсета 430HX, поддерживающего как EDO, так и контроль четности/ЕСС. Чипсет этот в общем-то тоже уже достояние истории, к тому же чаще всего он опять же применялся в настольных системах, где четность все же была неактуальна, так что до массового выпуска SIMM EDO с четностью дело не дошло.

Можно встретить две разновидности таких SIMM, чаще всего и те, и другие — это модули 16МВ и выше. Первая разновидность — EDO ECC SIMM x36 (см. вопрос об отличии обычных и ECC х36). Иногда можно встретить и "классическую" (4-CAS) разновидность таких модулей, однако собраны такие модули из чипов организации х3, что лично у меня вызывает серьезные подозрения в их (чипов) происхождении из отбраковки.



Какие меры предосторожности рекомендуются при обращении с модулями памяти? Действительно ли при установке модулей памяти в компьютер следует заземлять руку?

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

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

Что такое PCMCIA-память? В какие разъемы ее следует устанавливать?

PCMCIA (или PC Card, что более верно) память к предмету данного FAQ — оперативной памяти - не имеет ни малейшего отношения. В слот PC Card вставляются устройства ВНЕШНЕЙ памяти (аналогом которых в обычных компьютерах служат съемные диски, например, дискеты), неважно, как они при этом называются — SRAM, flash или HDD.

Визуально очень похожие на PC Card (кажется, даже форм-фактор разъема у них такой же) модули расширения памяти, иногда называемые memory card, предназначены для совершенно других разъемов. Расположение этих разъемов вы можете выяснить в мануале к вашему устройству (скорее всего, это ноутбук). Рекомендуется, кстати, иметь в виду, что никакого стандарта на memory card не существует, поэтому вероятность того, что одна и та же карта будет совместима с компьютерами разных производителей, крайне мала (может быть и несовместимость между моделями одного производителя). Это еще одно существенное отличие от PC Card. Другими словами, memory card — это типичный "специфический" модуль расширения. И еще одно важное отличие — многие PC Card позволяют "горячую" установку, в случае с memory card это обычно далеко не так.

Как визуально отличить SIMM 72-пин fast page и EDO? DIMM 168-пин небуферизованный 3.3В EDO и SDRAM?

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

К несчастью, без чтения маркировки чипов сделать это практически невозможно (SIMM fast page без четности и EDO отличаются друг от друга исключительно "содержимым" чипов, с DIMM все несколько более тонко, но и тут для объяснения разницы требуется немалая квалификация). С другой стороны, тип чипа вполне реально считать с маркировки и без специальных знаний. О том, как это сделать, рассказано в FAQ по чипам (отдельно для fast page/EDO и SDRAM).

Кстати, что касается отличения SIMM fast page и EDO, в FAQ по чипам опущен довольно простой частный случай, а именно — если чипы произведены ранее 1995 года, то с подавляющей вероятностью это fp. Способ определения даты производства чипов описан опять же в FAQ по чипам, и он несколько более прост для запоминания и использования в полевых условиях, чем чтение артикула.



(c) Все права в отношении данного документа принадлежат автору. При воспроизведении обязательно сохранение данного уведомления и указание имени и координат автора. Коммерческое использование допускается только с письменного разрешения автора. Документ приведен с небольшими сокращениями, оригинал под названием PDF-2. Модули находится на сайте Paul's Den.