Как выбрать оперативную память — критерии и характеристики. Технология Enhanced Performance Profiles для модулей памяти Режимы работы памяти

Что такое SPD (Serial Presence Detect)?

Все современные модули памяти имеют в своем составе микросхему SPD (Serial Presence Detect). Интерфейс последовательного детектирования использует шину управления системой (SMBus - System Management Bus), посредством которой простые микросхемы могут общаться с остальной частью системы. В 1997 году SMBus был объединен с другим расширенным интерфейсом - ACPI (Advanced Configuration and Power Interface), став его неотъемлемой частью.
Принцип использования SPD сводится к передаче данных (при помощи системного BIOS) от микросхемы EEPROM, установленной на модуле, соответствующим регистрам контроллера памяти, находящегося в составе северного моста, через SMBus-интерфейс объединенного контроллера периферийных компонент (южный мост, или концентратор контроллеров ввода/вывода - см. рис. 1). Таким образом, система получает все необходимые данные о модуле и настраивается на оптимальный режим работы, согласно записанным в микросхему SPD значениям.
Общий стандарт SPD (JEDEC Standard No. 21-С, часть 4.1.2) определен на уровне объединенного совета разработчиков электронных устройств (JEDEC - Joint Electronic Device Engineering Council) и предусматривает единую байтовую карту программирования в шестнадцатиричном (HEX) коде, где размещаются данные общим объемом 2048bit (или 256 байтовых полей) - это сделано с целью создать общий стандарт записи основной информации, всесторонне классифицирующей определенный модуль памяти (табл. 1).
Все модули, поддерживающие схему последовательного детектирования, должны в обязательном порядке обеспечивать операции записи страницы как минимум четырех последовательных адресов. Сама схема SPD характеризуется интерфейсным протоколом, размером карты программирования, типом используемых данных и содержанием.


Рис. 1.

Считывание/запись данных из/в EEPROM производится по линии ввода/вывода SDA при помощи сигнала SCL (входящий сигнал синхронизации чтения/записи данных) совместно с сигналами адреса SA, предусмотренных цоколевкой модуля (рис.2). Система синхронизируется с микросхемой SPD на частоте 80kHz.

Рис. 2.

Таблица 1

Карта SPD должна программироваться один раз и больше никогда не меняться - по требованиям основного стандарта после внесения данных в EEPROM, вход WP (Write Protect) устанавливается в положение "non-write" для исключения возможности случайного стирания или умышленной замены содержимого микросхемы. В общем случае вывод WP микросхемы EEPROM, отвечающий за защиту от записи, соединяется с сигнальной линией SWP модуля, на которой уровень сигнала активный высокий по умолчанию (в случае низкого уровня микросхема открыта для записи). Линии SDA и SCL имеют схему включения типа "открытый сток" (Open-drain) или "открытый коллектор" (Open-collector), и требуют внешней подтягивающей нагрузки 47 кОм. Ток утечки источника этих линий должен быть как минимум 3mA, чтобы поддерживать действительный низкий уровень сигнала Стандарт JEDEC Std No. 21-C-4.1.2 регламентирует применение схемы последовательного детектирования в любых модулях памяти независимо от типа применяемого ОЗУ/ПЗУ и форм-фактора. Это придает данной схеме исключительную гибкость и универсальность, поскольку стандарт предусмотрен для настоящих и последующих архитектур, и включает резервные поля для внесения специальной информации, которая потребуется в будущем. Когда стандартизируется специфическая архитектура, отличная от базовой, предусматривающая собственные особенности функционирования, специфическую организацию, индивидуальные характеристики и т.д. - все отражается в схеме SPD: отличия заносятся в резервные биты (если таких характеристик не предусмотрено в текущей), а в общей спецификации описывается соответствующим дополнением, кроме чего, на каждую отдельную характеристику должна присутствовать адресная карта. Общая схема назначения адресных байт SPD SIMM/DIMM приведена в табл. 1.

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

В тестовой лаборатории «КомпьютерПресс» проведено тестирование одиннадцати парных модулей памяти DDR2. Были протестированы следующие модули: A-DATA Vitesta DDR2 533 (M2OAD2G3H3160F1B52), A-DATA Vitesta DDR2 800 (M2OEL6F3H4170A1E0Z), Corsair CM2X512-8000UL, GEIL GX25125300X, Kingmax Mars DDR2-533 (KLBC28F-A8KH4), Kingston HyperX KHX7200D2/512, OCZ PC2-4200 (Gold Edition), Patriot PSD251266781, Samsung DDR2-533 (M378T6453FG0-CD5), Super Talent T533UX1GB и Transcend TS64MLQ64V5J.

Уже ни для кого не секрет, что на рынке SDRAM-памяти наметился новый лидер — DDR2 SDRAM. Успеху стандарта DDR2 SDRAM способствует не только успешный дебют платформ, основанных на наборах микросхем системной логики Intel, но и поддержка данного типа памяти другими чипсетами. Популярности стандарту добавил и тот факт, что к этому типу памяти вскоре планируется перевести не только Intel-, но AMD-платформы.

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

Методика тестирования

тенд для тестирования оперативной памяти DDR2 имел следующую конфигурацию:

  • процессор — Intel Pentium Processor Extreme Edition 955 (тактовая частота 3,2 ГГц, кэш L2 4 Мбайт);
  • частота FSB — 1066 МГц;
  • материнская плата — Intel D975XBX;
  • чипсет — Intel 975;
  • видеокарта — ATI Radeon X800GT.

Тестирование проводилось под управлением операционной системы Windows Professional SP2.

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

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

При частоте памяти DDR667 максимальная (теоретическая) пропускная способность памяти в двухканальном режиме составляет 2х667 МГц х 8 байт = 10,6 Гбайт/с. Однако на практике столь высокое значение пропускной способности памяти недостижимо, и прежде всего потому, что ограничивающим фактором в данном случае будет пропускная способность процессорной шины, которая при частоте FSB 1066 МГц составляет 1066 МГц х 8 байт = 8,5 Гбайт/с.

Для тестирования памяти применялся тестовый пакет RightMark Memory Analyzer v3.62, включающий следующие пресеты:

  • RAM Performance Stream;
  • Average Memory Bandwidth, SSE2;
  • Maximal RAM Bandwidth, Software Prefetch, SSE2;
  • Average RAM Latency;
  • Minimal RAM Latency, 16 Mbyte Block, L1 Cache line.

С подробным описанием каждого пресета можно ознакомиться на сайте www.rightmark.org или www.ixbt.com.

Кроме того, использовался набор бенчмарков, входящих в пакет 3DMark 2005. Для увеличения нагрузки на процессор и память при тестировании устанавливалось различное разрешение, а драйвер видеокарты настраивался на максимальную производительность. Также применялся скрипт для работе в пакете Adobe Photoshop CS2, рекомендованный компанией Intel.

Тестирование памяти проводилось в три этапа. На первом этапе память тестировалась в штатном режиме, то есть с таймингами по умолчанию (by SPD).

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

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

Выбор редакции

се представленные для тестирования модули были условно разделены на три группы в соответствии с их спецификацией. В первую группу попали модули, частота работы которых составляет 533 МГц, во вторую группу — модули с частотой 667 МГц, а в третьей группе оказались модули с частотой работы 800 МГц и более.

Поскольку описание модулей дано в алфавитном порядке, здесь мы приведем распределение модулей по группам. Первая группа: A-DATA Vitesta DDR2 533 (M2OAD2G3H3160F1B52), Kingmax Mars DDR2-533 (KLBC28F-A8KH4), OCZ PC2-4200 (Gold Edition), Samsung DDR2-533 (M378T6453FG0-CD5), Super Talent T533UX1GB и Transcend TS64MLQ64V5J; вторая группа: GEIL GX25125300X и Patriot PSD251266781; третья група: A-DATA Vitesta DDR2 800 (M2OEL6F3H4170A1E0Z), Corsair CM2X512-8000UL и Kingston HyperX KHX7200D2/512.

Знак «Выбор редакции» присуждался одному комплекту модулей памяти в каждой группе.

В первой группе знаком «Выбор редакции» мы отметили комплект модулей памяти Transcend TS64MLQ64V5J ; во второй — Patriot PSD251266781 ; в третьей — Corsair CM2X512-8000UL .

Участники тестирования

Компания A-DATA Technology Co, Ltd, специализирующаяся на выпуске памяти любых типов, представила несколько видов памяти стандарта DDR2 SDRAM, некоторые из них приняли участие в нашем тестировании.

Первый комплект — модуль памяти A-DATA Vitesta DDR2 533 (M2OAD2G3H3160F1B52 (DDR2 533(4) 512MX8)), отличительной особенностью которого является использование радиаторов. Радиаторы, выполненные из алюминия, установлены с обеих сторон модуля, что способствует эффективному отводу тепла. Цвет исполнения радиаторов — красный. Монтаж чипов памяти выполнен на одной стороне печатной платы.

Каждый модуль A-DATA Vitesta DDR2 533 обладает емкостью 512 Мбайт, так как основан на восьми микросхемах по 64 Мбайт. В качестве микросхем памяти применяются чипы с маркировкой Corsair 64M8CFE PS1000546.

В соответствии с технической документацией на данные модули памяти при частоте 533 МГц они поддерживают тайминги 4-4-4-11 (рис. 1). Именно с такими таймингами и на штатной частоте проводилось первоначальное тестирование модулей памяти A-DATA Vitesta DDR2 533.

Как выяснилось в ходе тестирования, минимальные тайминги, которые поддерживают данные модули при работе в двухканальном режиме, существенно ниже определяемых по умолчанию, а именно: 4-3-3-10. Кроме того, модули памяти разгоняются вплоть до частоты 800 МГц с таймингами 5-5-5-15, правда при этом наблюдается не совсем стабильная работы системы. При стабильной работе максимальная частота, которую нам удалось получить от данных моделей в ходе тестирования, составляет 783 МГц (5-5-5-15).

Результаты тестирования модулей A-DATA Vitesta DDR2 533 с использованием тестовых пакетов представлены в табл. 1 .

Из результатов тестирования модулей A-DATA Vitesta DDR2 533 видно, что уменьшение таймингов приводит к увеличению пропускной способности памяти и к снижению латентности. При таймингах по умолчанию пропускная способность составляет 7013,17 Мбайт/с (операция чтения, пресет Maximal RAM Bandwidth, Software Prefetch, SSE2), в то время как при уменьшенных таймингах 4-3-3-10 она увеличивается до 7120,91 Мбайт/с, то есть на 1,5%. Кроме того, в реальных приложениях наблюдается незначительный прирост производительности.

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

Еще один комплект от компании A-DATA Technology Co, Ltd — модуль памяти A-DATA Vitesta DDR2 800 (M2OEL6F3H4170A1E0Z (DDR2 800(5) 512MX16)), который позиционируется производителем как ориентированный на энтузиастов, поскольку он действительно является высокоскоростным и способен полностью раскрыть потенциал данного типа памяти. Кроме того, этот модуль обладает разгонным потенциалом по таймингам.

Отличительной особенностью модулей памяти A-DATA Vitesta DDR2 800, как и вышеописанных модулей, является использование радиаторов. Радиаторы A-DATA Vitesta DDR2 800 абсолютно идентичны радиаторам, применяемым в модулях A-DATA Vitesta DDR2 533.

Каждый представленный модуль A-DATA Vitesta DDR2 800 обладает емкостью 512 Мбайт —восемь микросхем по 64 Мбайт. Рабочее напряжение модулей составляет 1,85±0,1 В. Модули удовлетворяют требованиям стандарта JEDEC (Joint Electron Device Engineering Council).

Модули поддерживают три возможных значения задержки сигнала CAS (Column Address Strobe) — 5, 4 и 3. Максимальному значению соответствует частота работы 400 МГц (режим работы DDR2-800) при схеме таймингов 5-5-5-18. В случае уменьшенной задержки CAS, равной 4 (режим работы DDR2-667), частота работы составляет 333,3 МГц, при этом схема таймингов 4-5-5-15. И наконец, при задержке CAS, равной 3 (соответствует режиму работы DDR2-533), схема таймингов выглядит следующим образом: 4-4-4-12 (рис. 2).

В ходе тестирования выяснилось, что минимальные тайминги при максимальной частоте 800 МГц существенно ниже определяемых по умолчанию и составляют 4-4-4-12. Именно этот факт и позволил нам попробовать еще немного разогнать память по частоте, правда при этом слегка ухудшив тайминги. Модули памяти разогнались до частоты 825 МГц с таймингами 5-5-5-15. Заметим, что синтетические тесты в этом режиме проходят стабильно, а вот реальные приложения вызывают периодические сбои. Поэтому мы не рекомендуем разгонять данные модули по частоте выше 800 МГц. Кроме того, подчеркнем, что в режиме работы с частотой 825 МГц не только ухудшается латентность памяти из-за загрубления таймингов, но и наблюдается ухудшение результатов пропускной способности памяти.

Результаты тестирования модулей A-DATA Vitesta DDR2 800 с использованием тестовых пакетов представлены в табл. 2 .

В целом же из результатов видно, что с увеличением частоты работы памяти (с наименьшими таймингами) увеличивается пропускная способность памяти и улучшается латентность. Показатели несинтетических тестов также улучшаются, правда не всегда. Например, в тесте для программного пакета лучший результат был продемонстрирован при частоте работы памяти 667 МГц с задержками 4-4-4-12.

Corsair CM2X512-8000UL

Модули Corsair CM2X512-8000UL относятся к высокопроизводительной серии XMS2. Компания-производитель позиционирует данные модули как высокопроизводительные и ориентированные на энтузиастов. Традиционно модули этой серии оснащены радиаторами черного цвета. Емкость каждого модуля составляет 512 Мбайт, поскольку они имеют организацию 8х64 Мбайт. Как следует из технической документации, модули поддерживают частоту 1000 МГц, что, конечно, впечатляет. Но заметим, что данная частота не является стандартной и вообще не очень понятно, на каких системах сегодня можно достичь такой частоты. Тем не менее наше тестирование продемонстрировало, что модули обладают прекрасным потенциалом и демонстрируют одни из лучших результатов.

В SPD модулей памяти зашито всего два значения частоты с соответствующими таймингами. При частоте 540 МГц они гарантированно поддерживают тайминги 4-4-4-13, при частоте 800 МГц — тайминги 5-5-5-18 (рис. 3). Материнская плата определяет тайминги по умолчанию для данных модулей несколько иначе. Так, при частоте в 667 МГц тайминги, определяемые материнской платой, выглядят следующим образом: 5-5-5-15. Именно с такими таймингами и на штатной частоте 667 МГц проводилось первоначальное тестирование модулей памяти Corsair CM2X512-8000UL. В дальнейшем также были опробованы как пониженные, так и повышенные частоты работы памяти при различных таймингах. На нашем стенде удалось добиться максимальной частоты работы памяти, которая составила 936 МГц при таймингах 5-5-5-15 и увеличенном до 1,9 В напряжении питания.

Как выяснилось в ходе тестирования, модули памяти прекрасно разгоняются до высоких частот без ущерба для стабильности работы. Нам не удалось достичь максимальной частоты работы памяти 1000 МГц только из-за невозможности добиться стабильной работы системы в целом. На максимальной частоте работы памяти тактовая частота процессора составила 3744 МГц.

Результаты тестирования модулей Corsair CM2X512-8000UL с использованием тестовых пакетов представлены в табл. 3 .

Как следует из результатов тестирования модулей Corsair CM2X512-8000UL, уменьшение таймингов приводит к существенному увеличению пропускной способности памяти и к снижению латентности. Так, максимальная пропускная способность памяти при таймингах 4-4-4-13 и частоте 533 МГц составляет 6954,62 Мбайт/с (операция чтения, пресет Maximal RAM Bandwidth, Software Prefetch, SSE2). В то же время при уменьшении таймингов до 3-2-2-5 пропускная способность увеличивается до 7625,94 Мбайт/с, то есть на 9,7%.

Увеличение тактовой частоты до 800 МГц с одновременным снижением латентности не влияет на стабильность работы памяти и способствует как повышению пропускной способности памяти, так и улучшению параметров латентности. В целом же можно сказать, что уменьшение таймингов памяти с одновременным увеличением частоты работы памяти оказывает положительное влияние на производительность памяти. Тестирование памяти Corsair CM2X512-8000UL в несинтетических тестах дало примерно такие же результаты, что и в тесте RightMark Memory Analyzer v3.62.

Модули памяти GEIL GX25125300X емкостью по 512 Мбайт имеют организацию 8х64 Мбайт. Они оснащены алюминиевым радиатором с голографической наклейкой, на которой приводится вся информация о модулях. В соответствии с технической документацией модули поддерживают частоту 667 МГц с таймингами 4-4-4-12. А вот материнская плата определяет тайминги по умолчанию для данных модулей несколько иначе:

  • CAS Latency (tCL) — 5;
  • RAS to CAS delay (tRCD) — 5;
  • Row Precharge (tRP) — 5;

Кроме того, как видно из рис. 4, именно эти значения и прошиты в SPD памяти.

Первоначально тестирование памяти GEIL GX25125300X проводилось с таймингами, определяемыми материнской платой в автоматическом режиме на штатной частоте 667 МГц в двухканальном режиме. В дальнейшем были опробованы другие частоты работы памяти с различными таймингами.

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

Также нам удалось разогнать модули памяти GEIL GX25125300X до частоты, превышающей 800 МГц, без ущерба для стабильности работы, причем при данной частоте тайминги составили 5-5-5-15.

Результаты тестирования модулей GEIL GX25125300X с использованием всех тестовых пакетов представлены в табл. 4 .

Из результатов тестирования модулей GEIL GX25125300X видно, что при уменьшении таймингов и неизменной частоте наблюдается увеличение показателей пропускной способности памяти и уменьшение ее латентности. В то же время увеличение тактовой частоты с 667 до 825 МГц при одновременном ухудшении таймингов приводит к улучшению результатов только в синтетических тестах, а в реальных приложениях происходит незначительное ухудшение результатов. По нашему мнению, оптимальным режимом работы для данных модулей памяти в описанной системе является режим работы на частоте 800 МГц, при котором улучшаются все показатели.

В настоящее время Kingmax предлагает широкий ассортимент модулей памяти DDR2 SDRAM, в числе которых и модули KLBC28F-A8KH4 серии Mars. KLBC28F-A8KH4 — это 240-контактные модули небуферизованной памяти DDR2 PC4300, или DDR2-533, объем которых составляет 512 Мбайт. Основой модулей KLBC28F-A8KH4 являются восемь 64-мегабайтных микросхем с маркировкой Kingmax KKEA88H4NAU.

Как выяснилось в процессе тестирования, тайминги по умолчанию (by SPD) для модулей памяти KLBC28F-A8KH4 составляют последовательность 4-4-4-12 (рис. 5).

Минимальные тайминги, которые поддерживают данные модули памяти на тактовой частоте 533 МГц, составляют последовательность 4-4-4-12. Именно эти минимальные тайминги и прошиты в SPD памяти. Кроме того, модули памяти разгоняются до частоты 800 МГц без ущерба для стабильности работы. Правда, при данной частоте тайминги приходится ухудшать до значений 5-5-5-15. А вот при частоте работы 667 МГц тайминги имеют минимальную последовательность 3-4-3-5.

Результаты тестирования модулей Kingmax Mars DDR2-533 (KLBC28F-A8KH4) с использованием всех тестовых пакетов представлены в табл. 5 .

Как следует из результатов тестирования модулей Kingmax Mars DDR2-533, тайминги по умолчанию (by SPD) являются сильно завышенными. При данной частоте наименьшие тайминги, которых нам удалось добиться, составляют 3-3-2-4. Уменьшение таймингов до таких значений не оказывает влияния на стабильность работы модулей памяти. Наилучшим же режимом для модулей, по нашему мнению, является режим работы при частоте 667 МГц с таймингами 3-4-3-5. В этом режиме наблюдается существенное увеличение пропускной способности памяти и снижение ее латентности. Так, максимальная пропускная способность памяти при частоте 533 МГц и таймингах по умолчанию составляет 7027,22 Мбайт/с (операция чтения, пресет Maximal RAM Bandwidth, Software Prefetch, SSE2). В то же время при уменьшении таймингов до 3-3-2-4 пропускная способность возрастает до 7476,67 Мбайт/с, а при увеличении частоты до 667 МГц и таймингах 3-4-3-5 она оказывается еще больше и составляет 7545,39, что превышает первое значение на 7,4 %.

Увеличение тактовой частоты до 800 МГц не оказывает влияния на стабильность работы памяти. Заметим, что прирост производительности наблюдается только в синтетических тестах. Так что о существенном росте производительности памяти в целом в данном случае говорить не приходится. Кроме того, это лишний раз подтверждает, что производительность памяти в существенно большей степени зависит от изменения таймингов памяти, нежели от повышения тактовой частоты.

Компания Kingston представлена в нашем тестировании скоростными модулями DDR2 SDRAM — Kingston HyperX KHX7200D2/512, которые позиционируются для энтузиастов и рассчитаны на использование в системах с двухканальным контроллером памяти. Комплект традиционно состоит из двух идентичных модулей DIMM, каждый из которых имеет емкость 512 Мбайт.

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

В соответствии с технической спецификацией модули имеют штатную частоту 900 МГц (PC2-7200). А вот последовательность задержек нам выяснить так и не удалось.

В основе моделей Kingston HyperX KHX7200D2/512 лежат чипы от компании Infineon, маркировка которых имеет следующий вид: HYB18T512800AF3S.

В SPD модулей памяти Kingston HyperX KHX7200D2/512 зашиты три значения частоты с соответствующими таймингами. Первоначально тестирование проводилось с частотой и таймингами, определяемыми в автоматическом режиме, при котором частота составила 667 МГц, а последовательность таймингов 5-5-5-15. Материнская плата определяет тайминги для данных модулей точно так же.

Помимо таймингов в SPD модулей указаны время производства модулей и их серийный номер. Заметим, правда, что определяемая программой спецификация совсем не соответствует реальной (рис. 6).

Частота, при которой память работает стабильно, равна 800 МГц. Тайминги составили следующую последовательность: 4-5-4-8. Именно при такой частоте и с этими таймингами наблюдаются максимальные показатели во всех тестах — как в синтетических, так и в реальных приложениях.

В целом о памяти Kingston HyperX KHX7200D2/512 можно сказать, что уменьшение таймингов с одновременным увеличением частоты работы памяти оказывает положительное влияние на производительность памяти.

Результаты тестирования модулей Kingston HyperX KHX7200D2/512 с использованием всех тестовых пакетов представлены в табл. 6 .

Модули памяти OCZ PC2-4200 (Gold Edition) имеют объем по 512 Мбайт каждый и оснащены радиаторами, анодированными под золото, что отражено в названии модулей. Ориентированы эти модули памяти на энтузиастов. Радиаторы, что традиционно в таких случаях, служат для эффективного отвода тепла с поверхности чипов памяти.

В соответствии с технической спецификацией тайминги этой памяти составляют последовательность 3-3-3-8 при штатной частоте 533 МГц. В процессе тестирования материнская плата Intel D975XBX по умолчанию устанавливает несколько иные тайминги, которые, кстати, и прошиты в SPD памяти. Так, задержки выглядят следующим образом (рис. 7):

  • CAS Latency (tCL) — 4;
  • RAS to CAS delay (tRCD) — 4;
  • Row Precharge (tRP) — 4T;
  • Active to Precharge (tRAS) — 12.

Первоначально тестирование модулей осуществлялось с таймингами, определяемыми в автоматическом режиме. В дальнейшем были опробованы тайминги, заявляемые производителем, а также недокументированные режимы работы памяти. Например, память прекрасно разгоняется до частоты 800 МГц с таймингами 5-5-5-15, а на частоте 667 МГц задержки можно понизить до значений 4-4-4-12.

Результаты тестирования модулей OCZ PC2-4200 (Gold Edition) с использованием всех тестовых пакетов представлены в табл. 7 .

Как следует из результатов тестирования модулей OCZ PC2-4200 (Gold Edition), память очень хорошо разгоняется и по таймингам, и по тактовой частоте. Оптимальный режим работы памяти OCZ PC2-4200 (Gold Edition), по нашему мнению, достигается на частоте 800 МГц, пусть даже и с пониженными задержками. В этом режиме наблюдается повышение результатов во всех тестах, что и дает нам основание рекомендовать именно этот режим работы.

Patriot PSD251266781

Модули памяти Patriot PSD251266781, производимые компанией PDP Systems, имеют емкость по 512 Мбайт каждый и относятся к типу односторонних модулей памяти DDR2-667. В них используются чипы памяти производства Micron Technology.

В соответствии с технической спецификацией для разных тактовых частот применяются и различные задержки. Материнская плата Intel D975XBX определяет данные модули памяти как DDR2-667 и по умолчанию устанавливает для них тайминги 5-5-5-15. В процессе тестирования при частоте 667 МГц методом проб и ошибок были подобраны минимальные задержки 3-3-3-4 при сохранении стабильности работы. По умолчанию устанавливаются тайминги, которые намного ниже указанных в технической документации. Для других частот (выше и ниже штатной) также были подобраны наименьшие тайминги. Так, для частоты 533 МГц задержки составили 3-3-3-4, а для частоты 800 МГц — 5-4-4-8. При этих значениях для сравнения модули также были протестированы с другими модулями, представленными в тестировании.

Максимальная частота, до которой удается разогнать данные модули памяти, составляет 800 МГц, при этом даже не приходится ухудшать тайминги.

Результаты тестирования модулей Patriot PSD251266781 с использованием всех тестовых пакетов представлены в табл. 8 .

Сравнение результатов тестирования модулей памяти Patriot PSD251266781 на тактовой частоте 533 МГц с таймингами 3-3-3-4 с результатами тестирования на тактовой частоте 667 МГц с точно такими же таймингами показывает довольно ощутимый прирост производительности почти во всех тестах. Впрочем, такое положение вещей вполне очевидно. Но совсем удивительно то, что память демонстрирует лучшие результаты во всех тестах на частоте 800 МГц с чуть более худшими таймингами. Именно этот факт позволяет рекомендовать не использовать память Patriot PSD251266781 в штатном режиме, а разгонять ее как при помощи увеличения частоты работы, так и путем уменьшения задержек.

Модули памяти Samsung DDR2-533 (M378T6453FG0-CD5), в отличие от других моделей, представленных в тестировании, традиционно не имеют радиаторов. Непосредственно на двустороннем модуле памяти расположено 16 чипов (по восемь с каждой стороны) Samsung K4T56083QF-GC05.

В соответствии с технической документацией память Samsung DDR2-533 (M378T6453FG0-CD5) поддерживает различные тайминги при частоте работы 533 МГц. Наименьшие тайминги по умолчанию для данных модулей составляют последовательность 4-4-4-11. Такие же задержки определяются материнской платой Intel D975XBX в автоматическом режиме (рис. 8).

Минимальные тайминги, которые удается подобрать для данных модулей на частоте 533 МГц, составляют 3-3-4-4, из чего можно сделать вывод, что тайминги по умолчанию немного завышены. По частоте модули также прекрасно разгоняются. Нам удалось добиться максимальной частоты работы памяти 687 МГц при сохранении стабильности. Задержки при данной частоте составляют 5-5-5-15.

Результаты тестирования модулей Samsung DDR2-533 (M378T6453FG0-CD5) с использованием всех тестовых пакетов представлены в табл. 9 .

Как следует из результатов тестирования модулей Samsung DDR2-533 (M378T6453FG0-CD5), память достаточно хорошо разгоняется по тактовой частоте. Однако при уменьшенных задержках на частоте 667 МГц память демонстрирует наилучший прирост в производительности без ущерба для стабильности работы.

Модули памяти Super Talent T533UX1GB оснащены емкостью по 512 Мбайт каждый и имеют по восемь чипов памяти K4T51083QC производства Samsung, распаянных с одной стороны печатной платы. Организация модулей — 64Мx8. В них не предусмотрены какие-либо радиаторы, отводящие тепло от чипов памяти.

К сожалению, из технических характеристик на модулях памяти указан только параметр CAS Latency (tCL), равный 4. Судя по технической информации к чипам памяти, они имеют тайминги 4-4-4 при частоте 533 МГц и напряжении 1,8 В. Кроме того, данные чипы поддерживают и другие частоты с различными задержками. Так, следуя технической спецификации именно к чипам памяти от Samsung, память может функционировать на частоте 667 МГц с задержками 5-5-5 и на частоте 800 МГц с точно такими же задержками. Поэтому в том, что модули прекрасно работают на указанных частотах, нет ничего удивительного.

Материнская плата Intel D975XBX определяет модули в автоматическом режиме как DDR2-667 и устанавливает для них следующие тайминги:

  • CAS Latency (tCL) — 5;
  • RAS to CAS delay (tRCD) — 5;
  • Row Precharge (tRP) — 5;
  • Active to Precharge (tRAS) — 15.

Минимальные тайминги, которые удается подобрать для данных модулей на частоте 667 МГц, составляют 4-4-4-12, из чего можно сделать вывод, что тайминги по умолчанию сильно завышены и в модулях заложен неплохой потенциал для разгона по таймингам без ущерба для стабильности работы.

Максимальная частота, до которой удается разогнать данные модули памяти, составляет 800 МГц, однако повышение частоты возможно только за счет увеличения задержек памяти до значения 5-5-5-15. Наилучшие показатели память демонстрирует в недокументированном режиме на частоте 800 МГц при значениях задержек 5-5-5-15.

Результаты тестирования модулей Super Talent T533UX1GB с использованием всех тестовых пакетов представлены в табл. 10 .

Как видно из результатов тестирования модулей Super Talent T533UX1GB, память достаточно хорошо разгоняется по частоте, а вот разгон по таймингам не очень высокий. Тем не менее увеличение частоты работы памяти приводит к улучшению результатов как в синтетических тестах, так и в реальных приложениях. Поэтому наилучшим для модулей памяти будет недокументированный режим работы на частоте 800 МГц, пусть даже и с наихудшими задержками.

Transcend TS64MLQ64V5J

Модули памяти Transcend TS64MLQ64V5J емкостью по 512 Мбайт каждый относятся к типу односторонних модулей DDR2-667, и в них используются чипы памяти производства Micron Technology. В отличие от большинства других модулей, чипы памяти не закрыты радиаторами.

В соответствии с технической документацией модули памяти Transcend TS64MLQ64V5J при частоте 533 МГц по умолчанию имеют тайминги 4-4-4-11. Материнская плата по умолчанию устанавливает для модулей памяти точно такие же задержки (рис. 9).

Рис. 9. Спецификация памяти Transcend TS64MLQ64V5J и ее тайминги, прошитые в SPD

В ходе тестирования было выявлено, что на частоте 533 МГц можно установить тайминги ниже значений, указанных в документации, — 3-3-3-4. Максимальная частота, до которой удается разогнать данные модули памяти, составляет 775 МГц, однако повышение частоты возможно только за счет увеличения задержек памяти до значения 5-5-5-15. Но наилучшие показатели память демонстрирует в недокументированном режиме на частоте 667 МГц при довольно хороших значениях задержек (4-3-3-4).

Результаты тестирования модулей Transcend TS64MLQ64V5J с использованием всех тестовых пакетов представлены в табл. 11 .

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

Редакция выражает признательность:

  • московскому представительству компании Intel (www.intel.ru) за предоставление процессора Intel Pentium Processor Extreme Edition 955 и материнской платы Intel D975XBX;
  • представительству компании Corsair (www.corsair.com) за предоставление модулей памяти Corsair CM2X512-8000UL;
  • компании «AK-Цент Микросистемс» (www.bestmemory.ru) за предоставление модулей памяти GEIL GX25125300X;
  • представительству компании Kingston (www.kingston.com) за предоставление модулей памяти Kingston HyperX KHX7200D2/512;
  • компании SuperTalent Technology Corporation, USA (www.supertalent.com/ru/php), MA Labs USA (www.malabs.com) за предоставление модулей памяти Super Talent T533UX1GB;
  • компании PatriArch Approved Memory (www.memory.ru) за предоставление модулей памяти Kingmax Mars DDR2-533 (KLBC28F-A8KH4, OCZ PC2-4200 (Gold Edition), Patriot PSD251266781, Samsung DDR2-533 (M378T6453FG0-CD5) и Transcend TS64MLQ64V5J.

Память: ОЗУ, DDR SDRAM, SDR SDRAM, PC100, DDR333, PC3200... как во всём этом разобраться? Давайте попробуем!

Итак, первое что мы должны сделать это "разгладить" все сомнения и вопросы по поводу номиналов на памяти...

Самые распространённые типы памяти это:

  • SDR SDRAM (обозначения PC66, PC100, PC133)
  • DDR SDRAM (обозначения PC266, PC333 и т.д. или PC2100, PC2700)
  • RDRAM (PC800)

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

Если рассмотреть состав памяти, получим: всё её пространство представлено в виде ячеек (прямоугольники), которые состоят из определённого количества строк и столбцов. Один такой "прямоугольник" называется страницей, а совокупность страниц называется банком.

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

Теперь рассмотрим поподробнее каждый из таймингов. Некоторые из них не доступны для настройки - время доступа CS# (crystal select ) этот сигнал определяет кристалл (чип) на модуле для проведения операции.

Кроме этого, остальные можно менять:

  • RCD (RAS-to-CAS Delay) это задержка между сигналами RAS (Row Address Strobe) и CAS (Column Address Strobe) , данный параметр характеризует интервал между доступами на шину контроллером памяти сигналов RAS# и CAS# .
  • CAS Latency (CL) это задержка между командой чтения и доступностью к чтению первого слова. Введена для набора адресными регистрами гарантированно устойчивого уровня сигнала.
  • RAS Precharge (RP) это время повторной выдачи (период накопления заряда) сигнала RAS# - через какое время контроллер памяти будет способен снова выдать сигнал инициализации адреса строки.
  • Примечание: порядок операций именно таков (RCD-CL-RP), но зачастую тайминги записывают не по порядку, а по "важности" - CL-RCD-RP.

  • Precharge Delay (или Active Precharge Delay ; чаще обозначается как Tras ) это время активности строки. Т.е. период, в течение которого закрывается строка, если следующая требуемая ячейка находится в другой строке.
  • SDRAM Idle Timer (или SDRAM Idle Cycle Limit ) количество тактов, в течение которых страница остаётся открытой, после этого страница принудительно закрывается, либо для доступа к другой странице, либо для обновления (refresh)
  • Burst Length это параметр, который устанавливает размер предвыборки памяти относительно начального адреса обращения. Чем больше его размер, тем выше производительность памяти.

Ну вот, вроде разобрались с основными понятиями о таймингах, теперь рассмотрим подробнее номиналы памяти (PC100, PC2100, DDR333 и т.д.)

Существует два типа обозначений для одной и той же памяти: одно - по "эффективной частоте" DDRxxx, а второе - по теоретической пропускной способности PCxxxx.

Обозначение "DDRxxx" исторически развилось из последовательности названий стандартов "PC66-PC100-PC133" - когда было принято скорость памяти ассоциировать с частотой (разве что ввели новое сокращение "DDR" для того, чтобы отличать SDR SDRAM от DDR SDRAM). Одновременно с памятью DDR SDRAM появилась память RDRAM (Rambus), на которой хитрые маркетологи решили ставить не частоту, а пропускную способность - PC800. При этом ширина шины данных как была 64 бита (8 байт) - так и осталась, то есть те самые PC800 (800 МБ/с) получались умножением 100 МГц на 8. Естественно от названия ничего не поменялось, и PC800 RDRAM - суть та же самая PC100 SDRAM, только в другом корпусе... Это ничего больше, чем стратегия для продаж, грубо говоря "наколоть людей". В ответ компании, которые выпускают модули, стали писать теоретическую пропускную способность - PCxxxx. Так появились PC1600, PC2100 и следующие... При этом у DDR SDRAM эффективная частота выше в два раза, а значит и больше числа на обозначениях.

Вот пример соответствий обозначений:

  • 100 МГц = PC1600 DDR SDRAM = DDR200 SDRAM = PC100 SDRAM = PC800 RDRAM
  • 133 МГц = PC2100 DDR SDRAM = DDR266 SDRAM = PC133 SDRAM = PC1066 RDRAM
  • 166 МГц = PC2700 DDR SDRAM = DDR333 SDRAM = PC166 SDRAM = PC1333 RDRAM
  • 200 МГц = PC3200 DDR SDRAM = DDR400 SDRAM = PC200 SDRAM = PC1600 RDRAM
  • 250 МГц = PC4000 DDR SDRAM = DDR500 SDRAM

Что же касается RAMBUS (RDRAM) писать много не буду, но всё же постараюсь ее вам представить.

Существует три разновидности RDRAM - Base , Concurrent и Direct . Base и Concurrent это практически одно и тоже, но Direct имеет приличные отличия, поэтому расскажу про первые две обобщённо, а про последнюю - поподробней.

Base RDRAM и Concurrent RDRAM в основном отличаются только рабочими частотами: для первой частота составляет 250-300 MHz, а для второй этот параметр, соответственно, равен 300-350 MHz. Данные передаются по два пакета данных за такт, так что эффективная частота передачи получается в два раза больше. Память использует восьми битную шину данных, что, следовательно, дает пропускную способность 500-600 Mb/s (BRDRAM) и 600-700 Mb/s (CRDRAM).

Direct RDRAM (DRDRAM) в отличие от Base и Concurrent, имеет 16-битную шину и работает на частоте 400 MHz. Пропускная способность Direct RDRAM составляет 1.6 Gb/s (учитывая двунаправленную передачу данных), что уже по сравнению с SDRAM (1 Gb/s для РС133) выглядит довольно неплохо. Обычно, говоря о RDRAM, подразумевают DRDRAM, поэтому буква "D" в названии часто опускается. При появлении этого типа памяти Intel создала чипсет для Pentium 4 - i850.

Самый большой плюс Rambus памяти это то, что чем больше модулей - тем больше пропускная способность, например до 1.6 Gb/s на один канал и до 6.4 Gb/s при четырех каналах.

Имеется также два недостатка, довольно значительных:

1. Лапки золотые и приходят в негодность, если плату памяти вытащить и вставить в слот больше 10 раз (примерно).

2. Завышенная цена, но многие находят очень хорошее применение этой памяти и готовы заплатить за них большие деньги.

Вот, пожалуй, и всё, мы разобрались с таймингами, названиями и номиналами, теперь я расскажу немного о различных немаловажных мелочах.

Вы наверняка видели в BIOS"e при настройках частоты памяти опцию By SPD что это значит? SPD - Serial Presence Detect , это микросхема на модуле, в которую зашиты все параметры для работы модуля, это так сказать "значения по умолчанию". Сейчас из-за появления "noname" компаний, стали записывать в этот чип имя производителя и дату.

Регистровая память

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

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

Все сейчас кричат про Dual channel - что это?

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

Примечание: чтобы активировать эту функцию, надо установить модули в слоты разных цветов.

Parity и ECC

Memory with Parity это память с проверкой чётности, способна детектировать некоторые типы ошибок.

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

Примечание: она медленнее обычной, не годится для людей любящих скорость.

Надеюсь, после прочтения статьи вы разобрались с более популярными "непонятными понятиями".

Данная вкладка описывает данные SPD - механизма, служащего для определения наличия и характеристик модулей памяти. Расшифровывается как serial presence detect , последовательное определения наличия. Слово последовательное указывает на тип используемой при этом шины, I2C - она как раз последовательная. Шина I2C включена в состав SMBus , разработанной Intel, потому если отключить в CPU-Z определение устройств на шине SMBus, то данные о SPD отображаться не будут. Если посмотреть на модуль памяти, то можно увидеть маленькую микросхему, отличную от чипов памяти, которая имеет восемь ног. Вот это и есть так называемая микросхема SPD. По сути же это обычная "флешка" - чип флеш-памяти по типу тех, что хранят в себе BIOS материнской платы и видеокарт (и другой разной периферии).

Почти все материнские платы выставляют тайминги и частоты исходя из данных SPD, поэтому ошибки в этих данных могут привести к тому, что система не сможет стартовать. Особенно часто проблемы возникают с модулями, рассчитанными на энтузиастов. Иногда частоты и тайминги, зашитые в SPD предназначены для использования на повышенном напряжении, что приводит к невозможности загрузиться на стандартном напряжении и нужно найти обычный модуль, выставить в BIOS нужное напряжение и уже тогда воткнуть исходные модули. Такая проблема была, как минимум, у Corsair. Другой пример - когда производитель пишет на наклейке частоты и тайминги и напряжение, при которых память можно эксплуатировать, но для того, чтобы загрузиться, прописывает в SPD безопасные частоты, сильно завышенные, или же завышенные тайминги. И тогда у новичков появляются вопросы, мол, почему купил память DDR2-1066, а она определяется как DDR2-800?

И теперь, собственно, данные, что мы можем видеть на данной вкладке. Первая группа, Memory Slot Selection :

  • поле со списком для выбора модуля. Позволяет выбрать модуль памяти, для которого отображается информация SPD.
  • справа находится поле с названием типа памяти, в нашем случае - DDR2 .
  • Module Size - объём модуля в мегабайтах.
  • Max. Bandwith - максимальная пропускная способность. В данном случае, PC2 означает память DDR2, а число после этого означает максимальную пропускную способность в мегабайтах. В скобках подписана реальная частота шины DDR. Считается пропускная способность по формуле: Freq * 64 * 2 / 8, где 64 - ширина шины памяти в битах (у всех модулей SDRAM она равна 64 битам), 2 - означает технологию DDR, которая удваивает пропускную способность, а деление на 8 переводит биты в байты (в 1 байте 8 бит). Так, для DDR2-800 с реальной частотой 400МГц мы получим: 400*64*2/8=6400МБ/с , что и показывает CPU-Z.
  • Manufacturer - название производителя модуля памяти. Обычно не заполняется Noname (безымянными) производителями.
  • Part Number - номер партии. Аналогично, не заполняется Noname .
  • Serial Number - серийный номер модуля. Безымянные производители шьют одну прошивку, потому понятие серийности вообще не существует.
  • Correction - наличие у модуля коррекции ошибок. На обычной памяти не встречается, а отличить такой модуль легко по "лишнему" чипу памяти. Если у обычного модуля на одной стороне 4 или 8 чипов, то у такого - 5 или 9. Находится посередине. На некоторых модулях можно увидеть место на плате под этот чип.
  • Registered - наличие регистровой памяти. Энтузиастам интереса не представляет.
  • Buffered - наличие буферизованной памяти.Опять же, энтузиастам интереса не представляет.
  • SPD Ext. - наличие расширений SPD. SPD разрабатывается организацией JEDEC , занимающейся принятием стандартов в области памяти. Но компания NVIDIA предложила неиспользуемые стандартом байты (а их немало) задействовать для скоростных профилей, где не только будут прописывать основные и дополнительные тайминги, но и напряжение. Свой стандарт она назвала EPP - enhanced performance profile (профиль улучшенной производительности). Вслед за ней Intel добавила в свои чипсеты поддержку аналогичных профилей с названием XMP - extreme memory profile (экстремальный профиль памяти). Сделаны профили для новичков, которые не могут сами разогнать и выставить нужные настройки, потому энтузиастам они не рекомендуются. Модуль памяти поддерживает либо EPP, либо XMP, но дело тут не столько в том, что оба алгоритма используют смежные байты. Основная причина - конечно, политическая. Память должна получить благословение либо одной компании, либо другой, чтобы провозгласить поддержку профиля. Сделать поддержку обоих технически возможно, но одобрено это, конечно, не будет.
  • Week/Year - неделя и год выпуска.

Следующая группа - Timings Table - таблица таймингов для разных частот. Подписи столбцов обозначают номер таблицы, созданной по стандарту JEDEC , либо же профиль EPP/XMP , если таковой имеется.

  • Frequency - частота памяти. Как говорилось, может отличаться от написанной на этикетке, что обычно является нормальным явлением, если память может работать на заявленной производителем частоте.
  • CAS# Latency - минимальное время между подачей команды на чтение (CAS# ) и началом передачи данных (задержка чтения).
  • RAS# to CAS# - время, необходимое для активации строки банка, или минимальное время между подачей сигнала на выбор строки (RAS#) и сигнала на выбор столбца (CAS# ).
  • RAS# Precharge - время, необходимое для предварительного заряда банка (precharge). Иными словами, минимальное время закрытия строки, после чего можно активировать новую строку банка.
  • tRAS - минимальное время активности строки, то есть минимальное время между активацией строки (её открытием) и подачей команды на предзаряд (начало закрытия строки).
  • tRC - минимальное время между активацией строк одного банка. Является комбинацией таймингов tRAS +tRP - минимального времени активности строки и времени её закрытия (после чего можно открывать новую).
  • Command Rate - время, необходимое для декодирования контроллером команд и адресов. Иначе, минимальное время между подачей двух команд. Используется только в расширенных профилях.
  • Voltage - используемое напряжение. JEDEC использует только стандартное значение, потому отличаться это поле будет только в расширенных профилях.

Категорически не рекомендуется ставить эксперименты на основном
рабочем компьютере, лучше найти какую-нибудь старую плату, оставшуюся, например,
с прошлого апгрейда или частично исправную и собрать на ее базе "полигон".

Об аппаратной защите и ее эффективности

Микросхема 24C02 поддерживает аппаратную
защиту записи. Для этого используется вход WP (Write Protect). Это контакт 7 на
8-контактном корпусе микросхемы. При WP=0 запись разрешена, при WP=1 запрещена.
С точки зрения использования этой функции, модули памяти бывают трех типов:

Первый вариант – вход WP подключен к схемной "земле", то есть WP=0. Защиты нет.

Второй вариант – вход WP подключен к плюсовой линии питания, то есть WP=1. При
этом микросхема SPD постоянно защищена от записи, и программно изменить ее
содержимое невозможно.

Третий вариант – вход WP подключен к соответствующему контакту на разъеме DIMM.
При этом наличие защиты записи будет зависеть от материнской платы, а именно от
того, какой логический уровень подает она на данный контакт. Обычно подается
постоянный уровень "0" или "1", что обеспечивает разрешение или запрет записи
соответственно. Теоретически, на материнской плате может быть реализован
программно-доступный регистр, через который можно управлять состоянием этой
линии, то есть программно устанавливать и снимать защиту записи SPD. Но на
практике такие решения встречаются крайне редко.

Тем, кто решит поэкспериментировать с перезаписью SPD, необходимо проверить
наличие логического "0" на контакте 7 микросхемы 24C02 и при необходимости
внести изменения в схему. Описание этой микросхемы приведено в .
Расположение сигналов на разъеме DIMM для разных типов памяти приведено в
.

Другой тип защиты – отключение сигналов шины SMBus с помощью
программно-управляемых коммутаторов. Смысл такой защиты в том, что для
управления указанными коммутаторами используются специфические ресурсы
материнской платы, не являющиеся частью чипсета. Поэтому для ответа на вопрос,
что и в какой регистр нужно записать для выключения защиты, документации на
чипсет недостаточно, требуется принципиальная электрическая схема данной
материнской платы, которая обычно недоступна. На практике этот тип защиты
используется достаточно редко. Автор встречал его только в некоторых моделях
плат производства фирмы ASUS.

Таким образом, в большинстве платформ, защищенность информации SPD от
программного искажения зависит только от подключения входа WP микросхемы 24C02
на модуле DIMM.

Симптомы неисправности

Разумеется, содержимое микросхемы SPD модуля памяти может быть искажено не
только в результате действия вредоносных программ. Причиной может быть
программный сбой, а также аппаратная неисправность самой микросхемы SPD или
контроллера SMBus.

Симптомы такой неисправности существенно различаются в зависимости от двух
факторов: типа платформы и характера искажения (какие именно параметры
искажены).

В "древних" платформах, использующих память PC66, PC100, PC133 SDRAM, несмотря
на то, что модули DIMM уже содержали SPD, разработчики BIOS в силу определенной
инерционности использовали "старые" методы детектирования памяти, основанные на
записи в ОЗУ тестовых данных и их контрольном считывании по специальному
алгоритму без использования SPD. В таких платформах искаженность содержимого
микросхемы SPD и даже ее физическое снятие с модуля DIMM, в большинстве случаев
не приводит к потере работоспособности, хотя контроллер памяти может быть
проинициализирован неоптимально.

Используя данное свойство "древних" платформ автор успешно применял плату на
чипсете Intel BX в качестве программатора для микросхем 24C02, временно
устанавливая микросхему, которую требуется записать, на один из модулей памяти,
вместо микросхемы SPD.

В более новых платформах, использующих DDR, DDR2, DDR3, процедура настройки
контроллера памяти значительно сложнее и выполнить ее без привлечения информации
из SPD невозможно. Такие платы обычно не стартуют, если присутствует хотя бы
один модуль DIMM с некорректным содержимым SPD. Даже если этот модуль установлен
в старшем банке, а в младшем находится исправный модуль.

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

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

Меры предосторожности

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

Оптимально, если это будет плата на чипсетах, например Intel TX, LX, BX,
использующая SDRAM первого поколения. Как было сказано выше, такие платы обычно
сохраняют работоспособность при некорректном содержимом SPD, поэтому вероятность
получить нестартующую систему будет ниже.

Напомним, что BIOS считывает SPD только при перезапуске компьютера, поэтому,
делая опыты по перезаписи SPD, по возможности восстанавливайте исходное
содержимое перед сбросом или выключением питания.

Программа чтения SPD (каталог WORK\READ)

Как и в ранее опубликованных статьях данного цикла, в целях монопольного и
беспрепятственного взаимодействия программы с оборудованием при работе с
предлагаемыми примерами, автор применил "древнюю" технологию отладки под DOS.
Аргументация такого шага и рекомендации по организации рабочего места приведены
в ранее опубликованной статье " ".

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

Intel от 430TX до 945 (c "южными мостами" PIIX4, ICH0-ICH7).
VIA от MVP3 до К8x (с "южными мостами" VT82C586B, VT82C596A/B, VT82C686A/B,
VT8233, VT8235, VT8237).

Поддержка чипсетов NVidia, SiS, ATI планируется в последующих реализациях
программы. При наличии читательского интереса автор вернется к данной теме.

Каталог содержит следующие файлы:

ASM_TD.BAT – обеспечивает ассемблирование, линковку и запуск программы под
отладчиком. При запуске TASM и TLINK используются опции, обеспечивающие
добавление отладочной информации в EXE файл.

ASM_EXE.BAT – обеспечивает ассемблирование и линковку. Генерируется EXE файл.

RD_SPD.ASM – основной модуль программы.

A20.INC – Библиотека для управления и контроля состояния адресной линии A20 с
использованием выходного порта контроллера клавиатуры.

BIGREAL.INC – Библиотека поддержки режима Big Real Mode, для использования
32-битных адресов в диапазоне 0-4 Гб. Этот режим, как и управление адресной
линией A20, необходимы в данной программе только в том случае, когда чипсет
содержит конфигурационные регистры, находящиеся в пространстве памяти и для
включения контроллера SMB требуется перенастройка данных регистров (в том
случае, если BIOS запретил контроллер SMB перед загрузкой ОС). Такие регистры
имеются, например, в "южных мостах" Intel ICH6, ICH7. Это регистры memory-mapped
диапазона Root Complex Base Address – RCBA, подробности в .

SCREEN.INC – Библиотека функций для вывода на экран в текстовом режиме 80x25
символов.

NUMPRINT.INC – Библиотека для вывода шестнадцатеричных чисел в текстовом виде.

PCIBIOS.INC – Библиотека для доступа к конфигурационному пространству с
использованием функций PCIBIOS. Подробности в .

REFRDEL.INC – Подпрограмма задержки, использующая Refresh Trigger. Подробности в
.

SMBUS.INC – Диспетчер функций для процедур поддержки System Management Bus.

SMBDEVS.INC – Библиотека, обеспечивающая поддержку чипсетов. В этот модуль
вынесены подпрограммы, написанные под заданные чипсеты.

TEXT.INC – Текстовые строки.

CPU_DATA.INC – Данные, используемые для управления адресной линией A20 и
включения режима Big Real Mode, обеспечивающего 32-битную адресацию.

SMB_DATA.INC – Переменные и константы, используемые процедурами поддержки System
Management Bus.

Примечание 1.

Если файл с именем SPD.BIN уже существует, он будет перезаписан без
предупреждения.

Примечание 2.

В большинстве плат нумерация модулей памяти идет от центра платы. Например,
если на плате 4 разъема для DIMM, то у ближайшего к процессору разъема 3-битный
адрес микросхемы SPD будет 000b=0, у дальнего разъема 011b=3. Вместе с тем,
встречаются исключения, поэтому перед выполнением экспериментов следует
проверить нумерацию модулей. Это можно сделать с помощью диагностических утилит,
либо устанавливая один модуль поочередно во все разъемы и проверяя, при задании
какого номера DIMM программа его распознает.

Примечание 3.

В исходных текстах программы, наряду с процедурами чтения и записи байтов,
используемыми при операциях с микросхемами SPD (Read_Byte, Write_Byte),
содержатся также процедуры чтения и записи блоков (Read_Block, Write_Block). В
данной версии программы они не используются и резервируются для будущего
расширения функциональности. Процедуры блокового чтения и записи SMB потребуются
для взаимодействия с регистрами тактового генератора.

Программа записи SPD (каталог WORK\WRITE)

Программа считывает двоичный файл SPD.BIN, размером 256 байт и записывает его
содержимое в заданную микросхему SPD (номер модуля DIMM запрашивается).
Контрольная сумма автоматически корректируется.

Каталог содержит такой же набор файлов, что и каталог WORK\READ,
описанный выше.

Примечание 1.

Для плат с "южным мостом" VIA VT82C586B поддерживается только чтение SPD, без
записи. Это ограничение программы, не чипсета.

Примечание 2.

Программа записи SPD автоматически корректирует контрольную сумму данных.
Согласно стандарту, байт с адресом 3Fh должен содержать младшие 8 бит суммы
байтов с адресами 00h-3Eh. Если программа используется для модулей памяти,
использующих другой формат, либо требуется запрограммировать в микросхему
данные, не являющиеся информацией SPD, процедуру вычисления контрольной суммы
потребуется модифицировать.

Примечание 3.

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

Текстовые документы (каталог WORK\DOC).

README.TXT – краткая справка по использованию программ чтения и записи SPD.

SPD_SDR – описание формата SPD для модулей памяти SDRAM.

SPD_DDR – описание формата SPD для модулей памяти DDR SDRAM.

SPD_DDR2 – описание формата SPD для модулей памяти DDR2 SDRAM.

Документы в текстовом формате MS DOS. Перечисленные текстовые файлы могут быть
использованы как краткая русскоязычная справка по форматам SPD для различных
типов модулей памяти. Детальная информация содержится в .

Заключение

В статье рассмотрена одна из уязвимостей, которая может быть использована
вредоносными программами для выведения из строя оборудования, в частности
модулей памяти. Материал будет полезен при оценке степени защищенности систем и
выработке методов ее повышения. Для разбирающихся в схемотехнике и умеющих
держать в руках паяльник приведенных сведений будет вполне достаточно для
выполнения ремонта модулей DIMM у которых искажена информация SPD, а также
реализации программатора микросхем Serial Flash ROM на базе обычной материнской
платы.

Прилагаемые программы также будут полезны оверклокерам, для которых
редактирование содержимого SPD открывает новые возможности по "разгону" памяти,
так как набор параметров, которыми можно управлять, изменяя содержимое SPD,
существенно шире, чем набор опций BIOS Setup. Разумеется, действовать нужно
очень осторожно, заранее продумав пути восстановления работоспособности системы,
так как при записи некорректных параметров в SPD, обнуление CMOS уже не поможет.

Еще один вариант применения указанной технологии – хранение в неиспользуемой
области SPD "ключей", обеспечивающих, например, распознавание заданного
компьютера для защиты программ от несанкционированного копирования.

Источники информации


developer.intel.com .

1) Intel 82371AB PCI-TO-ISA / IDE XCELERATOR (PIIX4) Datasheet. Order Number
290562-001.
2) Intel 82801DB I/O Controller Hub 4 (ICH4) Datasheet. Document Number
290744-001.
3) Intel I/O Controller Hub 6 (ICH6) Family Datasheet. Document Number
301473-001.

Электронные документы, доступные на сайте
developer.amd.com .

4) AMD-8111 HyperTransport I/O Hub Data Sheet. Publication # 24674.

Электронные документы, доступные на сайте
datasheetarchive.com .

(Информация на данном сайте более полная, чем на "родных" сайтах
производителей указанных микросхем.)

5) VIA VT82C586B PIPC PCI Integrated Peripheral Controller. Для поиска
документа набирать строку "VT82C586B".
6) VIA VT82C686A South Bridge Datasheet. Revision 1.54. Для поиска документа
набирать строку "VT82C686".
7) VIA VT82C686B South Bridge Datasheet. Revision 1.71. Для поиска документа
набирать строку "VT82C686".

Электронные документы, доступные на сайте
pcisig.com .

Документы , на сайте pcisig.com доступны только для членов PCI
Special Interest Group. Воспользовавшись поисковыми системами, можно найти
данные документы для свободной загрузки.

8) PCI BIOS Specification. Revision 2.1.
9) PCI Local Bus Specification. Revision 3.0.
10) PCI-to-PCI Bridge Architecture Specification. Revision 1.1.

Электронные документы, доступные на сайте
smbus.org .

11) System Management Bus (SMBus) Specification. Version 2.0.

Электронные документы, доступные на сайте

semiconductors.philips.com .

12) The I2C-Bus Specification. Version 2.1.

Электронные документы, доступные на сайте
atmel.com .

13) AT24C01A/02/04/08/16 2-Wire Serial CMOS E2PROM Data Sheet.

Электронные документы, доступные на сайте
jedec.org .

14) JEDEC Standard No. 21-C. Page 4.1.2.5-1. Appendix E: Specific PD’s for
Synchronous DRAM (SDRAM).
15) JEDEC Standard No. 21-C. Page 4.1.2.4-1. Appendix D: DDR Synchronous DRAM
(DDR SDRAM). 16) JEDEC Standard No. 21-C Page 4.1.2.10-1. Appendix X: Serial
Presence Detects for DDR2 SDRAM (Revision 1.2).
17) JEDEC Standard No. 21-C. Page 4.1.2.11-1. Appendix K: Serial Presence Detect
(SPD) for DDR3 SDRAM Modules. SPD Revision 1.0.
18) DDR2 FB-DIMM SPD 1.0. Appendix X: Serial Presence Detect (SPD) for Fully
Buffered DIMM (Revision 1.0).
19) JEDEC Standard No. 21-C. Page 4.5.4-1. 168-pin Unbuffered SDRAM DIMM family.
20) JEDEC Standard No. 21-C. Page 4.5.10-1. 184-pin Unbuffered DDR SDRAM DIMM
family.
21) JEDEC Standard No. 21-C. Page 4.5.14-1. 240-pin Unbuffered and Registered
DDR2 SDRAM DIMM family.
22) JEDEC Standard No. 21-C. Page 4.20.19-1. 240-pin
PC3-6400/PC3-8500/PC3-10600/PC3-12800 DDR3 SDRAM Unbuffered DIMM Design
Specification.

Книги

23) В.Л. Григорьев. Микропроцессор i486. Архитектура и программирование.
Москва ТОО "ГРАНАЛ" 1993.
24) В.Г. Артюхов, А.А. Будняк. В.Ю. Лапий. С.М. Молявко, А.И. Петренко.
Проектирование микропроцессорной электронно-вычислительной аппаратуры.
Справочник. Киев "Тэхника" 1988.
25) К. Г. Самофалов, О.В. Викторов. Микропроцессоры. Библиотека инженера. Киев
"Тэхника" 1989.
26) 2B ProGroup: В.А. Вегнер, А.Ю. Крутяков, В.В. Серегин, В.А. Сидоров, А.В.
Спесивцев. Аппаратура персональных компьютеров и ее программирование. IBM
PC/XT/AT и PS/2. Москва "Радио и связь" 1995.

Похожие статьи