Как считать spd памяти

Обновлено: 07.07.2024

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

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

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

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

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

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

Другой тип защиты – отключение сигналов шины 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.
Аргументация такого шага и рекомендации по организации рабочего места приведены
в ранее опубликованной статье "64-битный режим под DOS: исследовательская работа
№ 1".

Программа считывает содержимое 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 планируется в последующих реализациях
программы. При наличии читательского интереса автор вернется к данной теме.

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

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, подробности в [3].

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

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

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

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\WRITE содержит такой же набор файлов, что и каталог 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 для различных
типов модулей памяти. Детальная информация содержится в 14.

Заключение

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

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

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

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

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.

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

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".

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.

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

12) The I2C-Bus Specification. Version 2.1.

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

Книги

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

SPD и программатор

Смысл использования SPD четко ясен для производителя, как модулей памяти, так и материнских плат, однако для конечного пользователя по большому счету интереса не представлял. Наличие схемы последовательного детектирования на модуле памяти избавляет производителей материнских плат от необходимости вносить оптимальные значения основных временных параметров в системный BIOS (как это делает, например, Intel, используя в своих материнских платах Phoenix BIOS), поскольку вся необходимая информация для нормальной настройки подсистемы и ее стабильного функционирования содержится в микросхеме SPD. Кроме этого, механизм SPD может настроить систему и гарантировать более-менее устойчивую работу при использовании в подсистеме памяти модулей разной организации, разного объема и имеющих разные значения одноименных параметров. Все, что нужно сделать контроллеру – это при инициализации системы считать записанные в SPD данные.

Для программирования SPD был использован следующий "адаптер-программатор":


Сборка данного устройства не должна вызвать каких-либо затруднений для людей видевших паяльник и транзистор. Транзисторы можно использовать любые типа n-p-n, в нашем случае это были KT315Б и BC817 в SMD корпусе. Вид программатора может быть таким (это тестовый прототип, только для того, чтобы убедится, что все работает):


Я использовал DDR DIMM разъем с материнской платы для большего удобства при прошивке большого количества модулей. Также преимущество данного подхода в сохранении гарантийного вида модулей памяти. Однако можно и напрямую подпаять провода к EEPROM на плате, не выпаивая ее. Все необходимые сигналы выведены на разъеме DDR DIMM. EEPROM установленная на плате модуля имеет выводы A0,A1,A2,WP(TEST) соединенные с землей (GND).

SDA DDR DIMM pad №93
SCL DDR DIMM pad №94
VCC DDR DIMM pad №184
GND DDR DIMM pad №176

Ну а те же, кто считает такую конструкцию ненадежной и опасной может сделать плату, Например, как мою:

Размер платы не превышает размеров современного мобильного телефона. Это полная схема программатора с дополнительным стабилизатором на 5В. Если кого-то заинтересует информация по плате либо схеме, в конце статьи приведена контактная информация. В плате использовались SMD компоненты: транзисторы BC817, резисторы размера 1206, стабилизатор 5V, три светодиода (SDA, SCL и Power). Схема требует питания +9-30 V. Было применено питание +12V с БП ПК. Соединительные провода программатора к чипу следует делать минимально короткими, во избежание наводок и помех.

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

Для чтения или записи данных с чипа использовал freeware-программу PonyProg 2000. Процедура настройки и работы следующая: при первом запуске программы вы должны увидеть такое окно:


Первоначальная настройка заключается в следующем: необходимо выбрать тип прошиваемой памяти – I2C Bus 8bit EEPROM, а микросхему – 24XX Auto или 2402. Это делается при помощи выпадающих меню в верхней правой части. Затем в меню Setup > Interface Setup. нужно установить тип программатора, который используется. В нашем случае это EasyI2C I/O. Поскольку этот программатор имеет параллельный интерфейс, следует выбрать порт LPT1. В конечном виде все должно быть в точности как на скриншоте ниже:


Теперь необходимо подключить программатор с подключенной микросхемой и считать ее. Для этого предназначена кнопка Read Device. После удачной процедуры чтения у вас должно быть на экране нечто похожее:


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


Параметр контроллера памяти - DRAM Command Rate

Сommand Rate устанавливает задержку поступления команд в память. Собственно, это понятие является синонимом задержки декодирования контроллером командно-адресной информации. За этим параметром скрывается выбор необходимого физического банка общего адресуемого пространства установленной системной памяти.

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

Таким образом, если в системе с процессором на ядрах SledgeHammer, ClawHammer, NewCastle, Winchester используется два 2-банковых модуля, необходимо использовать 2Т, иначе сигналы доходят с ошибками. Позже будет проанализировано влияние этого параметра на скорость в целом. В процессорах на ядре Venice и последующих возможно использование параметра 1Т в системе с 4мя банками памяти без потери стабильности.

В данной статье не будет приведено подробное описание остальных таймингов, т.к. цель исследования заключалась в выяснении максимально производительного режима для платформы Аthlon 64, а не изучении памяти. Если же потребуется детальная информация о таймингах обратитесь к статье "Настройка подсистемы памяти в BIOS SETUP".

Для модификации SPD-данных вам понадобится нижеприведенная таблица адресов, и их значения. За "частоту модуля" отвечает байт 9. Если он равен 50 – это 5.0ns память, т.е. DDR400, 60 – 6.0ns – DDR333, 40 – 4.0ns – DDR500. Аналогичная ситуация и с другими таймингами.

  1. преобразование бинарной информации, содержащейся в байтах 0-62, в десятичную
  2. суммирование всех преобразованных чисел из байт 0-62
  3. деление полученной суммы на общее количество байт (256) до целого числа
  4. преобразование остатка от деления (получаемое число меньшее 256) в двоичный код
  5. запись результата в байте 63 в двоичном коде

Пример записи карты программирования SPD для небуферизированного 128MB-модуля 32Mx64, 184pin DDR SDRAM DIMM с адресацией 12/10/2, использующего микросхемы памяти организации 8Mx8 с периодом синхросигнала 7ns (-262) и 7.5ns (-265).

Q: Что такое SPD?
A: Специализированная микросхема «последовательного обнаружения присутствия» (Serial Presence Detect, SPD), располагается на PCB модуля памяти. Данная микросхема содержит данные о производителе, типе памяти, конфигурации модуля и его основных параметрах, а также таймингах. Информация SPD считывается системой BIOS во время загрузки компьютера и используется для выставления начальной конфигурации.


Q: Что такое EPP?
Q: Что такое SLI-Ready Memory?
A: Расширение стандарта JEDEC SPD путем внесения дополнительной информации в SPD модулей памяти. Это могут быть значения таймингов, напряжение. Информация вносится в виде специальных профилей EPP, а память, в SPD которой прошиты эти профили, называется SLI-Ready Memory. Целью внедрения EPP являлось упрощение настройки и разгона памяти. Такую память официально поддерживают материнские платы, основанные на "старших" версиях чипсетов NVIDIA: nForce 590 SLI, 680i SLI, 680i LT SLI, 780i SLI и т.д.
Для памяти типа DDR3 применяется EPP2.0. Поддержка осуществлена в новейших чипсетах Nvidia: 790i SLI, 790i Ultra SLI.

__________________
Опытный шаман вылечит вашего электронного друга: танцы с бубном, снятие порчи и сглаза, заговор микросхем. Последний раз редактировалось Keper; 19.02.2011 в 00:38 .

Q: Как протестировать оперативную память на предмет ошибок?
A: Для этого можно воспользоваться специальными программами диагностики. Одной из лучших программ для тестирования оперативной памяти(ОП) является Memtest86+ ( Ссылка загрузки ISO образа для создания загрузочного CD). Перед использованием программы создайте загрузочный CD с помощью указанного образа, затем загрузите компьютер с этого диска, при этом программа запустится автоматически и начнется проверка ОП. Чем больше циклов проверки будет сделано, тем надежнее будут результаты теста, при обнаружении даже одной ошибки проверяемую ОП можно считать не прошедшей тестирование. Для большей уверенности следует проводить тестирование в течение нескольких часов, а в исключительных случаях может потребоваться более суток.

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

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

__________________
Опытный шаман вылечит вашего электронного друга: танцы с бубном, снятие порчи и сглаза, заговор микросхем. Последний раз редактировалось Keper; 22.11.2010 в 19:49 .

Q: Прошу объяснить, на что указывают эти обозначения: PC3200, 400MHz, CL3, ECC и т.д.
A:
PC3200 - число после PC показывает теоретическую пропускную способность памяти в МБайт/сек (в случае PC66, PC100, PC133 - реальную частоту шины памяти).
400MHz - эффективная частота работы памяти.
PC2-3200 - здесь цифра 2 после PC указывает лишь на то, что это DDR2.
DDR400 - число 400 указывает на значение эффективной частоты.
CL4 - число 4 указывает значение тайминга CL.
2.1V - указано значение питающего напряжения. Обычно оно указывается для оверклокерской памяти и его необходимо выставить вручную.
Unbuffered = UDIMM = U - обычный (не регистровый) модуль, предназначен для установки в "десктопные" системы, ноутбуки и т.п.
Non-ECC - модуль без ECC.
240-pin - показывает число выводов(контактов) модуля.
Original - означает, что модуль изготовлен самим производителем микросхем памяти. Иначе говоря, если для модулей Samsung или Hynix не указано Original, то это означает, что модуль изготовлен сторонней компанией, но с использованием микросхем Samsung или Hynix соответственно.
SODIMM - память для ноутбуков (Small Outline Dual Inline Memory Module).
5-5-5-15 - указаны основные тайминги памяти: CL, tRCD, tRP, tRAS.
64Mx8 - организация памяти, указывает на плотность (64M) и разрядность микросхем (8).
2Rx8 - указывает на число ранков (2) и разрядность микросхем (8).
Assy in China - модуль собран в Китае (assy - сокращение от assembly).
BOX - модуль(и) поставляются в "коробочке"(упаковке).
KIT - набор модулей (обычно из двух).
KIT of 2 = matched pair = Dual Ch- набор из двух модулей для работы в режиме Dual Channel.
(with) Heat Spreader - на модуль(и) установлены радиаторы(теплорассеиватели).
Hand-picked (chips) - память со специально отобранными микросхемами с высоким разгонным потенциалом.
6 Layers - модуль изготовлен на шестислойной PCB (печатной плате).
LL - Low Latency - память с низкими таймингами.
EL - может означать как Enhanced Latency (аналог LL), так и Eased Latency (память с обычными таймингами, термин используется у памяти Patriot)
RoHS - память соответствует директиве RoHS, ограничивающей содержание вредных веществ (свинец, кадмий и пр.).
EPP - память с поддержкой профилей EPP.
XMP - память с поддержкой профилей Intel XMP.

Параметры, относящиеся к т.н. серверной памяти:

ECC - модуль оснащен микросхемой(ами) ECC.
Reg = Registered = RDIMM - регистровый модуль (широко распространенный серверный тип памяти).
PLL - модуль оснащен микросхемой PLL (Phase Locked Loop), предназначенной для автоматической подстройки частоты.
LP = Low Profile - низкопрофильные (малой высоты) модули.
VLP = Very Low Profile - низкопрофильные (малой высоты) модули.
Single Rank - одноранговый(одноранковый) модуль.
Dual Rank - двухранговый(двухранковый) модуль.
Fully Buffered = FB-DIMM - относительно новый серверный тип памяти. Основное отличие от DDRII SDRAM Registered DIMM заключается в использовании контроллера AMB (Advanced Memory Buffer), расположенного на модуле памяти и соединенного с чипсетом.

__________________
Опытный шаман вылечит вашего электронного друга: танцы с бубном, снятие порчи и сглаза, заговор микросхем. Последний раз редактировалось Keper; 09.12.2007 в 22:17 .

Q: Что необходимо изменить в BIOS Setup при установке памяти?
A: Как правило, ничего. Подавляющее большинство компьютеров распознает и конфигурирует установленную память автоматически.
Иногда может потребоваться сменить параметры на значения, которые заявлены производителем модулей памяти: напряжение, тайминги, частота, и которые отличаются от стандартных, автоматически выставляемых материнской платой.

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

В случае смены или установки дополнительной памяти может потребоваться перевести параметры в изначальное(default) состояние: by SPD, Auto, или просто "сбросить" BIOS. Это связано с тем, что для предыдущей или уже установленной памяти могли быть выставлены параметры, не подходящие для новой, что способно привести к сбоям в работе.

__________________
Опытный шаман вылечит вашего электронного друга: танцы с бубном, снятие порчи и сглаза, заговор микросхем. Последний раз редактировалось Keper; 10.06.2008 в 22:12 .

Q: Что такое тайминги?
A: Тайминги - это задержки, возникающие при операциях доступа к содержимому памяти. Подобные задержки также ещё называют латентностью.

Ниже приводятся наиболее часто упоминаемые тайминги:

Диаграмму таймингов можно увидеть на следующем рисунке.

Вышеприведённые тайминги часто указывают вместе в виде CL-tRCD-tRP-tRAS. Например, 3-3-3-8.
Иногда можно встретить иную запись, например 3-3-3-8 1T. Здесь последним указан Command Rate.

Command Rate ( CR, CMD Rate, 1T/2T) – время, необходимое на распознавание команд и адресов. При значении 1T потребуется 1 цикл(clock cycle), при 2T – 2 цикла.
Использование значения 2T позволяет использовать различные комбинации модулей на более высоких частотах. Значение 1T повышает производительность подсистемы памяти, но снижается стабильность системы, а также её разгонный потенциал.
Контроллер процессоров A64 позволяет выставлять 1T начиная с ревизии CG. Но при использовании нескольких модулей в большинстве случаев частота их работы будет снижена.
В частности, при использовании процессоров A64 ревизии E (socket 939) и четырёх односторонних модулей DDR400 при использовании 1T, частота их будет снижена до 333МГц, при использовании хотя бы одного двухстороннего модуля среди четырёх, частота их будет снижена до 200МГц. В рассматриваемом примере при 2T добиться работы модулей на полной частоте можно лишь при использовании двухсторонних модулей в разных каналах или использовании только односторонних модулей.
Для последних процессоров Intel возможность выставить 1T существует лишь при использовании чипсетов nForce или AMD RD600, в чипсетах Intel такая возможность появилась лишь с выходом чипсетов Intel 3 Series.

ОГЛАВЛЕНИЕ:

SPD

Данная вкладка описывает данные 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, если таковой имеется.

Читайте также: