ГлавнаяКонтактыКарта сайта
ЕПОС
О компанииКомпьютерная криминалистикаВосстановление информацииЗащита информацииПроизводство и ITСервисНаши разработки

Расследование инцидентов, компьютерная криминалистика, информационная безопасность

Книжная серия Взгляд на жесткий диск изнутри




Архив статей


02.04.1999
Почти все о SPD-EEPROM...

Сергей КОЖЕНЕВСКИЙ

До сегодняшнего дня еще существуют SDRAM DIMM, работающие на частотах 66 МГц, которые не оборудованы чипом SPD-EEPROM, которая содержит важнейшие временные параметры и данные об используемых на модуле чипах и их производителе. Модули на частоте 66 МГц работали безупречно, позволяли осуществлять расширение памяти путем добавления DIMM-модулей других производителей или другого вида исполнения. Но на частотах 100 МГц и выше ситуация кардинально меняется.

Предвидя сложности функционирования систем с SDRAM от разных производителей, а также для облегчения установки SDRAM в систему, Intel разработал спецификацию на последовательную (Serial) EEPROM-память. Присутствие EEPROM-памяти на DIMM-модулях, отвечающих спецификации РС100 – необходимое условие, т.к. он содержит точные характеристики чипов памяти, которые необходимы BIOS для правильной конфигурации системы. При старте системы чипсет Intel 440 последовательно прочитывает байты из EEPROM для идентификации модуля SDRAM и устанавливает параметры системы так, что обеспечивается корректная работа с данным видом памяти.

Все SDRAM-модули, которые работают на частоте 100 МГц, должны быть выполнены по разработанной Intel технологии, которая учитывает задержку сигналов, сопротивление входов, входную и выходную емкости, индуктивность дорожек. В системах, работающих на частоте 100 МГц и выше, при расширении памяти приходится задумываться о характеристиках модуля, добавляемого в систему, о производителях чипов SDRAM, установленных на модуле, о совпадении временных параметров модулей, о месте установки SDRAM в системе slot 1, 2, 3 или 4 (бывает редко!). Поэтому спецификация Intel PC100 определяет необходимость присутствия EEPROM на модуле и детально описывает все параметры, которые должны быть занесены производителем DIMM в память EEPROM.

Надо помнить о том, что производителей SDRAM-модулей очень много. Их производят компании, которые потратили чуть больше 20 000 долларов на приобретение станции монтажа и около 5 тысяч – на тестер контроля годности модулей. Как правило, такие компании не получают первосортные чипы SDRAM и, соответственно, параметры готового SDRAM-модуля не лучшие. Вводя спецификацию РС100, Intel надеялась, что необходимость соблюдения очень жестких технических требований приведет к сокращению числа производителей SDRAM-модулей, но состояние рынка SDRAM PC100 в Украине показывает, что ограничить круг производителей даже для Intel не так просто.

Многие производители просто наклеивают этикетку "РС100" на свои SDRAM модули и продают их как полностью удовлетворяющие требованиям спецификации РС100. Однако есть пути уличить их во лжи, и в данной публикации мы постараемся предложить вам способ избежать обмана.

Как избежать обмана при покупке
SDRAM PC100?

Правило №1

SDRAM DIMM-модули, соответствующие спецификации РС100, должны изготавливаться из чипов, соответствующих этой спецификации.

Intel официально подтвердил существование чипов SDRAM РС100 у производителей, перечень которых приведен в таблице.

 
ПроизводительПрефиксПроизводительПрефикс
FujitsuMBHitachiHM
HyundaiHYIBMIBM
LG SemiconductorGMMicronMT
MitsubishiM5MMosel VitelicV
NECµPdOkiMSM
SamsungKMSiemensHYB
Texas InstrumentsTMSToshibaTC
GenesisGSNan YaNT
LGGMNPNXNN
 

Кроме того, опубликована и кодировка чипов (на соответствие стандарту РС100), которые первыми прошли тестирование (см. таблицу).

 
SupplierDevicePart Number/Date Code
Samsung256M – 64Mx4KM44S64230AT-GL 9838
Siemens256M – 32Mx8HYB39S256800T-8 9837
Hyundai128M – 32Mx4HY57V1294020 9824
Samsung128M – 32Mx4KM44S32030T 9825
Samsung128M – 16Mx8KM48S16030T 9822
Toshiba128M – 16Mx8TC59SM708FT-80 9835
Toshiba128M – 8Mx16TC59SM716FT-80 9838
Fujitsu16M – 2Mx8MB81F16822B102FN 9810
Genesis16M – 2Mx8GS148C2M8A1 09NJ40
Hyundai16M – 2Mx8HY57V168010C TC-10S 9801TA
HY57V168010CTC-10P 9807
LG16M – 2Mx8GM72V16821DT –7K 9809
Mitsubishi16M – 2Mx8M5M4V16S30DTP-8 811
Nan Ya16M – 2Mx8NT56V1680AOT ES E73600302A 47NJ19
OKI16M – 2Mx8M56V16800E-8TS 9816
Samsung16M – 2Mx8KM48S2020CT-GL ES 807
Siemens16M – 2Mx8HYB39S16800CT-8C9822
TI16M – 2Mx8TMX626812BDGE5M 82A1TOP
Fujitsu64M – 8Mx881F64842B-103FN 9750 KO1R1
Hitachi64M – 8Mx8HM5264805TT-B60 9748
Hyundai64M – 8Mx8HY57V658020ALTC-10P9749TA K0021E
HY57V658020ATC-10S 9805
IBM64M – 8Mx80364804CT3B-260 9830
LG64M – 8Mx8GM72V66841CT-7J 9748
Mitsubishi64M – 8Mx8M5M4V64S30ATP-8 806
Mosel Vitelic64M – 8Mx8V54C365804VBT8PC 9832
NEC64M – 8Mx8D4564841G5-A10-9JF 9812
NPNX64M – 8Mx8NN5264805TT-B60 9822
OKI64M – 8Mx8MD56V62800A-8 9818
Samsung64M – 8Mx8KM48S8030BT-GL 801
Siemens64M – 8Mx839S64800AT 9812
TI64M – 8Mx8TMX664814A8A7ET
Toshiba64M – 8Mx8A56877 9750KBD TC59S6408BFT-80
Fujitsu64M – 4Mx1681F641642b-103fn 9805 MOO
Hitachi64M – 4Mx16HM5264165TT-B60 9751
Hyundai64M – 4Mx16HY57V651620ATC-10P 9803
HY57V651620ATC-10S 9805
LG64M – 4Mx16GM72V661641CT-7J 9806
Mitsubishi64M – 4Mx16M5M4V64S40ATP-8 810
NEC64M – 4Mx16D4564163G5-A10-9JF 9803E9001
Samsung64M – 4Mx16KM416S4030BT-GL 807
Siemens64M – 4Mx16HYB39S64160AT-8 9830
Toshiba64M – 4Mx16TC59S6416BFT-80 9806
 

В настоящее время количество чипов, соответствующиfх стандарту РС100, значительно расширилось, и с информацией о них можно ознакомиться на Web-страницах производителей:

 
ManufacturerPrefixesURL
FujitsuMBhttp://www.fujitsumicro.com/products/memory/memory.html
HitachiHMhttp://semiconductor.hitachi.com/
HyundaiHYhttp://www.hea.com/hean2/semi/home.htm
IBMIBMhttp://www.chips.ibm.com/products/memory/
LG SemiconGMhttp://www.lgsemicon.co.kr/products.htm
MicronMThttp://www.micron.com/mti/msp/html/product.html
MitsubishiM5Mhttp://www.mitsubishichips.com/data/datasheets/psgindex.html
Mosel VitelicVhttp://www.moselvitelic.com/frame_products.html
NECµPdhttp://www.ic.nec.co.jp/english/products/memory/doc.html
OkiMSMhttp://www.okisemi.com/
SamsungKMhttp://www.intl.samsungsemi.com/
SiemensHYBhttp://www.siemens.de/semiconductor/products/ics/31/313.htm
Texas InstrumentsTMShttp://www.ti.com/sc/docs/psheets/pids1.htm
ToshibaTChttp://www.toshiba.com
 

Правило №2

Каждый модуль должен быть изготовлен по технологии, отвечающей спецификации РС100. На PSB (печатной плате модуля) должны быть соответствующие обозначения. В соответствии с техническими требованиями Intel плата РСВ SDRAM PC100-модуля должна быть маркирована как "PCSDRAM-REV#.#". Обозначение символов #.# – номер версии спецификации, которая использовалась во время разработки и производства платы РСВ. Спецификация (Rev1.0) – самая современная и была принята только в феврале 1998 г. К этому моменту многие производители уже выпустили большое количество DIMM-модулей, отвечающих спецификации REV 0,9 (октябрь 1997 г.). Эти SDRAM-модули предназначались для работы только в системах с частотой шины 66 МГц. Поэтому наклейка или надпись, выполненная краской на РСВ, не даст вам полной уверенности, что данный DIMM-модуль – 100-мегагерцовый.

Правило №3

На каждом модуле SDRAM РС100 должен быть установлен SPD-EEPROM, запрограммированный в соответствии с требованиями спецификации РС100.

Рассмотрим вопрос применения SPD-EEPROM более подробно:

Если следовать требованиям Intel, то SPD-EEPROM размером 2 кбит должна быть:

  • корректно запрограммирована производителем;
  • запрещена для записи информации в EEPROM потребителем.

Но анализ рынка памяти на Украине показывает, что большинство продавцов SDRAM-модулей:

  • заведомо ложно программируют EEPROM;
  • оставляют возможность потребителю изменять данные в SPD-EEPROM.

SPD EEPROM: алгоритм функционирования

Интерфейс I2C

С появлением нового стандарта памяти SDRAM появился и новый интерфейс I2C. Интерфейс разработан фирмой Philips и используется как внутренняя вспомогательная шина системной платы для обмена информацией с энергонезависимой памятью SPD-EEPROM (установленной на PCB SDRAM), которая отвечает за идентификацию установленных на модуле компонентов. Шина отличается предельной простотой реализации – 2 сигнальные линии, передача или прием информации по которым осуществляется программным способом. По прямому назначению эту шину применяет пока только BIOS материнской платы для определения характеристик SDRAM. Занесение изменений в EEPROM во время работ системы не предусматривается. Однако возможность изменения информации в EEPROM (перезапись) существует и может привести к ситуации, когда пользователь случайно или целенаправленно постарается изменить его параметры. Способ программного доступа к шине пока не стандартизован, но, имея описание чипсета, его можно легко «вычислить».

Механизм конфигурации DIMM

Определение типа и параметров установленного DIMM-модуля обеспечивается через механизм Serial Presence Detect, определяемый JEDEC 168 pin DIMM Standard. Для взаимодействия с EEPROM в чипсетах не предусматривается специальное программное управление, поэтому получение информации о типе и размере памяти осуществляется через последовательный интерфейс I2C. Перед тем как будут обеспечиваться любые взаимодействия с памятью, необходимо инициализировать регистры чипсета, отвечающие за ее работу. Определение типа и размера памяти SDRAM происходит через SMB-интерфейс на PIIX4E (только для чипсетов Intel). Выводы SCL и SDA EEPROM, которыми определяется последовательная передача данных по шине I2C, непосредственно соединены с SMB на PIIX4E. Таким образом, данные считываются с Serial Presence Detect Port на DIMM-модуле через серию последовательных циклов чтения и подаются к South Bridge на материнской плате, где записываются в регистры управляющего чипсета.

Схема 1

Рис. 1. Схема 1

 
PIIX4EEPROMSDRAM
№ выводаНаименование№ выводаНаименование№ вывода РСВ
228SMBDATA05SDA82
207SMBCLK06SCL83
181SMBALERT07MODE/WC/81
57SDA001E0165
37SDA102E1166
18SDA203E2167
 
Структурная схема SPD EEPROM SPD EEPROM в корпусе SO Pin Connections

Рис. 1. Структурная схема
SPD EEPROM

Рис. 2. SPD EEPROM
в корпусе SO Pin Connections

Таблица назначения сигналов SPD EEPROM E0-E2Chip Enable Inputs SDASerial Data Address Input/Output SCLSerial Clock MODEMultibyte/Page Write Mode (C version) WCWrite Control (W version) VccSupply Voltage VssGround  

Последовательный интерфейс I2C обеспечивает двунаправленную передачу данных между парой устройств, используя два сигнала: данные SDA (Serial Data) и синхронизацию SCL (Serial Clock). В обмене участвуют два устройства – ведущее (Master) и ведомое (Slave). Каждое из них может выступать в роли передатчика, помещающего на линию SDA информационные биты, или приемника, считывающего информацию с линии SDA. Синхронизацию задает ведущее устройство – контроллер. В случае с памятью SDRAM, ведущим устройством является чипсет I440. Линия данных SDA – двунаправленная, с выходом типа «открытый коллектор» и управляется обоими устройствами поочередно. Метод передачи информации – старт-стопный. Начало любой передачи информации – условие Start – инициируется переводом сигнала SDA из высокого в низкий при высоком уровне SCL. Завершается передача информации переводом сигнала SDA из низкого уровня в высокий при высоком уровне SCL – условие Stop. Биты данных при передаче стробируются положительным перепадом SCL. Каждая порция информации состоит из 8 бит данных, формируемых передатчиком, после чего передатчик освобождает линию данных для получения подтверждения. Приемник во время 9-го такта формирует нулевой бит подтверждения – Ack. Каждое ведомое устройство имеет свой адрес, разрядность которого составляет 7 бит. 7-битный адрес содержит 2 части. Старшие четыре бита А (6:3) несут информацию о типе устройства. Для EEPROM – 1010. Здесь нужны пояснения.

Интерфейс I2C разработан как универсальный, а его применение с памятью SDRAM – частный случай. Как раз код 1010 в 4-х старших разрядах А (6:3) и определяет то, что тип устройства, с которым работает контроллер, – это память SPD EEPROM.

Интерфейс позволяет контроллеру с помощью пары сигналов обращаться к любому из 8 однотипных устройств, подключенных к данной шине и имеющих уникальный адрес. Младшие 3 бита А (0:2) определяют номер устройства в EEPROM (см. упрощенную структурную схему).

Структурная схема

Рис. 3. Структурная схема подключения нескольких однотипных устройств EEPROM
в общую шину последовательного интерфейса I2C

 

Кроме того, требуемый адрес устройства в EEPROM может задаваться коммутацией логических уровней 1 и 0, подаваемых на адресные входы. Так как адрес устройств возможно задавать программно и входами выбора, то устройства можно подключать и группами (если их больше 8-ми). При этом допустимо как использование общего сигнала SCL и разделенных сигналов SDA, так и общего сигнала SDA и раздельных сигналов SCL. К случаю рассмотрения взаимодействия с памятью SDRAM эти ситуации не применяются. Обычно компьютерные системы имеют 3, реже – 4 слота для установки в них SDRAM-модулей. Это и определяет максимальное количество однотипных EEPROM, объединенных в общую шину I2C. Стандартное подключение слотов SDRAM-модулей на материнской плате приведено на рисунке.

Стандартное подключение слотов SDRAM-модулей

Рис. 4. Стандартное подключение слотов SDRAM-модулей

Операция записи

При операции «запись» контроллер выполняет условие Start подачей низкого уровня по линии SPA, потом передает байт, содержащий адрес устройства и признак операции RW (низкий уровень) и ожидает подтверждения (сигнал АСК). Если сигнал от SPD EEPROM получен, то следующей посылкой от контроллера будет 8-битный адрес записываемой ячейки, а за ней – байт данных, предназначенный для записи в данную ячейку. После каждой 8-битной посылки контроллер ожидает подтверждения АСК, и, получив его, контроллер завершает цикл условием Stop. После завершения цикла записи SDP EEPROM начинает свой внутренний цикл перезаписи поступившей информации в ячейки, а контроллер в соответствии с непрекращающимися тактовыми сигналами начинает проверять готовность устройства EEPROM путем посылки, содержащей байт адреса устройства с командой «запись». Если подтверждения от EEPROM о готовности не поступает (нет сигнала АСК), формируется сигнал Stop и цикл повторяется.

 

Обмен с памятью по интерфейсу I2C. Запись информации в ячейки EEPROM
SАдрес устройства  Адрес ячейки    Данные    
T                           S
A    SSS ADDDDDDDDA        AT
R    AAA CAAAAAAAACDDDDDDDDCO
T1010210WK76543210K76543210KP

Операция чтения

Признак операции записи или чтения содержится в 8-м бите. Если RW = 0 – операция записи, если RW = 1 – операция чтения.

Существуют 3 вида операций чтения: 1) чтение по текущему адресу; 2) чтение по заданному адресу; 3) последовательное чтение.

Чтение по текущему адресу

Текущий адрес хранится во внутреннем счетчике EEPROM. Он содержит увеличенный на единицу адрес ячейки, которая была прочитана в последней операции. Получив команду чтения, EEPROM дает бит подтверждения и посылает байт данных, соответствующий текущему адресу.

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

Чтение по заданному адресу

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

 

Обмен с памятью по интерфейсу I2C. Чтение по текущему адресу
SАдрес устройства  Данные n    Данные n+1    
T                           S
A    SSS A        A        AT
R    AAA CDDDDDDDDCDDDDDDDDCO
T1010210RK76543210K76543210KP

 

Спецификация SPD EEPROM

Кроме описания интерфейса передачи, информации I2C спецификация PC SDRAM Serial Presence Detect (SPD) Specification определяет и информацию, записанную в EEPROM производителем. Необходимость появления такой спецификации была вызвана тем, что главные проблемы при установке SDRAM в компьютерные системы связаны с неправильным взаимодействием BIOS на материнской плате и EEPROM на модуле памяти.

Дело в том, что многие тайванские производители материнских плат на чипсете Intel 440BX устанавливают свой BIOS, который имеет функцию отключения считывания информации из EEPROM. При этом параметры системы устанавливаются вручную при входе в SETUP, или же BIOS сам устанавливает параметры системы для работы с типовой памятью.

Специалисты фирмы «ЕПОС» довольно часто сталкиваются с ситуациями, когда материнские платы (например, Intel) «отказываются» работать с модулями памяти, у которых отсутствует правильно запрограммированная EEPROM-память:

  1. EEPROM может быть некорректно запрограммирована производителем.
  2. Чипсет под управлением некорректного BIOS может неправильно установить параметры системы.

Для исключения ошибок функционирования Intel установила единые правила для всех производителей. Каждый производитель обязан внести информацию о себе в байты 61...127 EEPROM.

Приводим таблицу идентификации байтов информации, хранимых в EEPROM.

Обмен с памятью по интерфейсу I2C. Чтение по заданному адресу
SАдрес устройства  Адрес ячейкиSАдрес устройства Данные  
T                  T                  S
A    SSS ADDDDDDDDAA    SSS A        AT
R    AAA CAAAAAAAACR    AAA CDDDDDDDDCO
T1010210WK76543210KT1010210RK76543210KP
 
Byte NumberFunctionRequired/Optional
Hex#  
000Defines # of bytes written into serial memory at module manufacturerRequired
011Total # of bytes of SPD memory deviceRequired
022Fundamental memory type (FPM, EDO, SDRAM...) from Appendix ARequired
033# of row addresses on this assembly (Includes Mixed-size Row addr.)Required
044# Column Addresses on this assembly (includes Mixed-size Col addr.)Required
055# Module Rows on this assemblyRequired
066Data Width of this assemblyRequired
077Data Width continuationRequired
088Voltage interface standard of this assemblyRequired
099SDRAM Cycle time, CL = X (highest GAS latency)Required
0A10SDRAM Access from Clock (highest CAS latency)Required
0B11DIMM Configuration type (non-parity, ECC)Required
0C12Refresh Rate/TypeRequired
0D13Primary SDRAM widthRequired
0E14Error Checking SDRAM widthRequired
0F15Minimum Clock Delay Back to Back Random Column AddressRequired*
1016Burst Lengths SupportedRequired*
1117# of Banks on Each SDRAM DeviceRequired*
1218CAS# Latencies SupportedRequired*
1319CS# LatencyRequired*
1420Write LatencyRequired*
1521SDRAM Module AttributesRequired*
1622SDRAM Device Attributes: GeneralRequired*
1723Min SDRAM Cycle time at CL X-1 (2nd highest CAS latency)Required*
1824SDRAM Access from Clock at CL X-1 (2nd highest CAS latency)Required*
1925Min SDRAM Cycle time at CL X-2 (3rd highest CAS latency)Optional*
1A26Max SDRAM Access from Clock at CL X-2 (3nd highest CAS latency)Optional*
1B27Min Row Precharge Time (Tip)Required*
1C28Min Row Active to Row Active (Trrd)Required*
1D29Min RAS to CAS Delay (Tfcd)Required*
1E30Minimum RAS Pulse Width (Tras)Required*
1F31Density of each row on module (mixed, non-mixed sizes)Required
20...3D32...61Superset Information (may be used in future) 
3E62SPD Data Revision CodeRequired
3F63Checksum for bytes 0...62Required
40...4764...71Manufacturer's JEDEC ID code per JEP-108EOptional
4872Manufacturing LocationOptional
49...5A73...90Manufacturer's Part NumberOptional
5B-5C91...92Revision CodeOptional
5D-5E93...94Manufacturing DateOptional
6F-6295...98Assembly Serial NumberOptional
63...7D99...125Manufacturer Specific DataOptional
7E126Intel specification frequencyRequired
7F127Intel Specification CAS# Latency supportRequired
 128+Unused storage locations 
Required/Optional – are SDRAM only bytes.

В соответствии с техническими требованиями Intel SPD EEPROM должна быть корректно запрограммирована производителем и никогда не меняться. Поэтому при обычной работе с SDRAM-модулем возможность случайного стирания или изменения данных исключена. Это своего рода страховка от использования медленных DIMM-модулей в системах Intel. Однако, несмотря на все предосторожности, производители записывают в EEPROM данные с заведомо внесенной в них ложной информацией. EEPROM подобна бумаге, на которой может быть написано все что угодно.

Количество основных производителей микросхем памяти (brand-name-производителей) ограничено. Для того чтобы отличить их от других производителей «с именем», их еще называют Major-brands, или попросту «мажор». Подавляющее большинство «мажоров» также производят модули памяти на основе собственных чипов, которые в индустрии производства SDRAM считаются эталонными по качеству и зовутся Major/Major («мажор на мажоре»). К таким фирмам относятся такие известные мировые производители, как Samsung, Hyundai, LG, Siemens, которые наиболее точно выполняют все требования спецификации PC SDRAM Serial Presence Detect (SPD) (revision 1.2A, December, 1997).

Пожалуй, с истинно немецкой скрупулезностью и педантичностью подходит к программированию SPD EEPROM фирма Siemens. Ниже приведена таблица программирования SPD модулей памяти производства Siemens.

Serial Presence Detect Information used on SIEMENS 168 pin unbuffered SDRAM DIMM modules (JEDEC Standard Nr.21-C Rev./INTEL SPD Specification 1.2 A

 
Byte #DescriptionSPD Entry ValueHex
0Number of SPD bytes12880
1Total bytes in Serial PD25608
2Memory TypeSDRAM04
3Number of Row Addresses (without BS bits)110B
120C
4Numbers of Column Addresses (for x16 SDRAM)
(for x8 SDRAM)
(for x4 SDRAM)
8
9
10
08
09
0A
5Number of DIMM Banks101
202
6Module Data Width6440
7248
7Module Data Width (cont.)000
8Module Interface LevelsLVTTL01
SSTL 3,303
9SDRAM Cycle Time at CL = 310,0 nsA0
10SDRAM Access time from Clock at CL = 36,0 ns60
9,0 ns90
11DIMM Config (Error Det/Corr.)none00
ECC02
12Refresh Rate/TypeSelf-Refresh,
15,6 μs (64 ms)
80
Self-Refresh,
31,3 μs (128 ms)
83
13SDRAM device data width, PrimaryX404
X808
X1610
14Error Checking SDRAM device data widthno ECC00
X404
X808
X1610
15Minimum clock delay for back-to-back random column addresst ccd = 1 CLK01
16Burst Length supported1, 2, 4, 8 & full page8F
17Number of banks of the discrete SDRAM device202
404
808
18Supported CAS LatenciesCAS latencies = 1, 2 & 307
CAS latencies = 2, 306
CAS latency = 304
CAS latencies = 2, 3 & 4E0
19SDRAM CS LatenciesCS latency = 001
20SDRAM WE LatenciesWrite latency = 001
21SDRAM DIMM module attributesnon buffered/non registered00
registered w/o PLL12
registered with PLL16
22SDRAM Device Attributes: GeneralVcc tol ±10%.
Precharge All,
Auto Precharge
06
23Minimum Clock Cycle Time at CAS Latency = 210,0 nsA0
15,0 nsF0
24Maximum data access time from Clock for CL = 26,0 ns60
9,0 ns90
25Minimum Clock Cycle Time at CL = 130 ns78
36 ns90
26Maximum Data Access Time from Clock at CL = 127 ns6C
27Maximum Row Precharge Time20 ns14
24 ns18
30 ns1E
28Minimum Row Active to Row Active delay tRRD16 ns10
20 ns14
29Minimum RAS to CAS delay tRCD20 ns14
24 ns18
30 ns1E
30Minimum RAS pulse width tRAS45 ns2D
31Module Density per Memory Bank8 MByte02
16 MByte04
32 MByte08
64 MByte10
32SDRAM input setup time2 ns20
33SDRAM input hold time1 ns10
34SDRAM data input setup time2 ns20
35SDRAM data input hold time1 ns10
32...61Superset information (may be used in future) FF
62SPD RevisionRevision 1.212
63Checksum for bytes 0...62Add HEX values and use last to digits 
64...127Manufactures information (optional) FF
128+Unused storage location FF
 

Одна из самых важных характеристик для пользователя – это производительность памяти, которая определяется скрытым состоянием CAS CL и описывается двумя байтами – 18-м и 27-м. Не менее важным параметром является и тип памяти, определяющийся байтом 2. Если в этом байте находится "02hex", то память – EDO, если "04 hex " – SDRAM. Фактическая скорость DIMM содержится в байте 126. Для тактовой частоты 100 МГц его значение должно быть "64 hex". В случае, если значение "66hex" – данный DIMM 66 МГц. Номер SPD-EEPROM версии находится в байте 62. Текущей версией является 1.2 (декабрь 1997 г.).

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

Информация, хранящаяся в разрядах 64...127, приведена в таблице (на примере модуля памяти фирмы Siemens).

Manufacturers Information (Rev.1.2)

 
ByteDescriptionSPD Entry Value 
64...71Manufactures JEDEC ID coda per JEP-106E
64 SIEMENSC1
65...71 SIEMENS 
72Manufacturing location of DIMM module
  Statsym01 or 31
  SIEMENS-EWK02 or 32
  Tanisys03 or 33
  Optosys04 or 34
  SMART05 or 35
73...90Manufacturers partnumber
73...87Bytes 72...87: SIEMENS PARTNUMBERXX48
88Unused FF
89Unused FF
90Unused FF
91...92Revision code of PC-Board
91Revision code of PC-BoardEngineering
Rev A (01)
Rev B (02)
Etc.

00
01
02
92Test Setup Revision XX
93...94Manufacturing date
93YEARExample:9797
94CALENDAR WEEKExample:2020
95...98Board Assembly Serial Number  
95Tester NumberExample:303
96Serial Number in Calendar Week
Example = 24386
First 8 bits 
97 Bits 16...9 
98 Bits 24...17 
    
99...125Manufacturer Specific Data (not used) FF
126PC66&PC100 compatibilityPC6666
  PC10064
127INTEL specification details for 100 MHz support  
    
127...255Free for Information programmed by the customer FF
 

Программные средства тестирования памяти SDRAM PC100

Информацию, хранящуюся в SPD EEPROM любого модуля или модулей SDRAM разных производителей, установленных в компьютерную систему, можно получить, используя программные средства.

Программа чтения SPD EEPROM ctsmb.exe

Можно написать свою подпрограмму или воспользоваться готовыми утилитами. Мы рекомендуем использовать программу ctsmb.exe (System-Management-Bus-Scanner 1.2), которая работает при наличии на материнской плате South-Bridge PIIX4 (PIIX – аббревиатура PCI-ISA-IDE-Xelerator), т.е. М/В с чипсетами ТХ,LX, BX, ZX, EX в режимах DOS либо эмуляции DOS.

Программа реализует 3 основных режима работы:

  1. Формирование полного отчета тестирования DIMM-модулей в соответствии со спецификацией Intel.
  2. Формирование распечатки содержимого EEPROM в таблице, содержащей шестнадцатеричные коды.
  3. При наличии на плате чипа LM75 производит анализ температурных режимов платы.

Во втором режиме работы возможно побайтное либо пословное (2 байта) чтение из EEPROM по указанному шестнадцатеричному адресу.

К недостаткам программы следует отнести невозможность поэкранной распечатки результатов теста, поэтому полученные данные следует распечатывать на принтере (работающем под DOS) либо записывать в файл отчета, который может быть потом просмотрен в Windows с помощью программ Office или NC.

Минимальная конфигурация испытательного стенда проверки DIMM-модулей представлена на рисунке.

Минимальная конфигурация испытательного стенда

Рис. 5. Минимальная конфигурация испытательного стенда
1 – материнская плата (М/В) с процессором и исследуемым DIMM-модулем, выполненная на чипсетах TX, LX, BX, ZX, EX; 2 – видеокарта VGA; 3 – блок питания; 4 – FDD; 5 – принтер; 6 – клавиатура; 7 – монитор.

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

Приводим пример вывода на принтер информации, хранимой в SPD EEPROM модуля памяти Major/Major Hyundai, выполненного в соответствии со спецификацией РС66, но проданного потребителю как модуль памяти РС100. Справедливости ради надо отметить, что и на частоте 100 МГц данный модуль памяти работал устойчиво.

ctsmb, System-Management-Bus-Scanner 1.2,c t, 1998. ea,Teile qs
PIIX4E (AO) gefunden auf PCI-Bus 0, Devise 4
SMB Base Address: $E800,Host configuration: $09, revision: $00
DIMM in Socket 0, Serial Presence Detect Data Structure auf SMB-Adresse $ 50

 
00Number of Bytes used by Manufacturer128
01Total SPD Memory Size256 Bytes
02Memory TypeSDRAM
03Number of Row Address Bits (SDRAM)12
04Number of Column Address Bits (SDRAM)9
05Number of Module Rows1
06, 07Module Date Width72
08Module Interface Signal LevelsLVTTL
09SDRAM Cycle Time (highest CAS latency)10,0 ns
0ASDRAM Acc. Time from Clock (highest CAS latency)8,0 ns
0BModule ConfigurationECC
0CRefreshSelf Refresh. Normal (15,625 μs)
0DSDRAM Width (Primary SDRAM)8
0EError Checking SDRAM Width8
 

SDRAM Module Attributes:
– –
SDRAM Devise Attributes:

 
OFMin. Clock delay Back to Back1 Clock (s)
10Burst Lengths SupportedPage 8 4 2 1
11Number of Banks on SDRAM Device4
12CAS Latency3 2 1
13CS Latency0
14WE Latency0
15Upper Vcc tolerance10%
16Lower Vcc tolerance10%
 

Supports: Write 1/Read Burst Precharge All Auto-Precharge Early RAS# Precharge

 
17SDRAM Cycle Time (2nd highest CAS lat.)12,0 ns
18SDRAM Acc. from Clock (2nd hi.CAS lat.)9,0 ns
19SDRAM Cycle Time (3rd highest CAS lat.)30,00 ns
1ASDRAM Acc. From Clock (3rd hi. CAS lat.)24,00 ns
1BMinimum Row Precharge Time (Trp)30 ns
1CRow Active to Row Active Min (Trrd)30 ns
1DRAS to KAS Delay Min (Trsd)30 ns
1EMinimum RAS Pulse Width (Tras)50 ns
1FDensity of Each Row on Module64 MByte
   
3ESPD Data Reversion Code$01, Release Dec. 96
3FChecksum for Bytes 0...62$0E, OK
   
40...47Manufacturer's JEDEC 1D Code$ADFFFFFFFFFFFFFF
48Manufacturing Location$01
49...5AManufacturer's Part Number7V72a801TFG-10
5B, CPrevision Code$4141
5D...5EManufacturing Date$4497
5F...62Assembly Serial Number$1706B330
63...7DManufacturer Specific Data$00000000000000000000000000
  0000000000000000000000000000
   
7EIntel specification frequency66 MHz
7FIntel specification CAS# Latency SupportCAS Latency 2
 

Таблица 16-ричных кодов:

ctsmb, System-Management-Bus-Scanner 1.2, c t, 1998. ea,Teile qs
PIIX4E (AO) gefunden auf PCI-Bus 0, Devise 4
SMB Base Address: $E800, Host configuration: $09, revision: $00
DIMM-EEPROM-Inhalt in Socket 0, SMB-Addresse $50

 
00:8008040C09014800 01A0800280080801
10:8F04070101000FC0 9078601E1E1E3210
20:0000000000000000 0000000000000000
30:0000000000000000 000000000000011E
40:ADFFFFFFFFFFFFFF 0137563732413830
50:315446472D313020 2020204141449717
60:06B3300000000000 0000000000000000
70:0000000000000000 0000000000006606
80:0000000000000000 0000000000000000
90:0000000000000000 0000000000000000
A0:0000000000000000 0000000000000000
B0:0000000000000000 0000000000000000
C0:0000000000000000 0000000000000000
D0:0000000000000000 0000000000000000
E0:0000000000000000 0000000000000000
F0:0000000000000000 0000000000000000
                  
 0001020304050607 08090A0B0C0D0E0F
 

Программа тестирования DIMM EEPROM dimm.exe

Быстрый анализ типа DIMM-модуля, установленного в системном блоке, может быть произведен также программой dimm_id.exe. На программу распространяются все ограничения, рассмотренные выше: наличие South Bridge PIIX4, работа под DOS. Однако она может быть также запущена в окне под Windows.

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

К недостаткам программы относится, в первую очередь, ограниченное число распознаваемых ведущих производителей DIMM-модулей: Hyundai, Samsung, TI, Fujitsu, Micron, Vanguard, Siemens. В остальных случаях она указывает на «неизвестного» производителя.

Пример работы программы dimm_id.exe для модуля Hyundai приведен ниже.

 
DIMM_ID.EXEVer 1.3 RM Plc © 1998
Type DIMM_ID H for help. 

 

BankMfr.Part No.Serial NoSizeTypeI-Spec
0Hyundai7V72A801 TFG-101706B33064MBSDRAM ECCPC66
1 No DIMM fitted    
2 No DIMM fitted    
3 No DIMM fitted    

Необходимым условием возможности считывания информации из EEPROM является наличие компонента 82371 (PIIX4), который является South Bridge на материнской плате. PIIX4 – это мост между шинами PCI и ISA и присутствует на всех материнских платах, использующих чипсеты TX, LX, BX и выполненных в соответствии с рекомендациями Intel.

Мы столкнулись с тем, что некоторые платы тайванских производителей на чипсетах Intel не взаимодействуют корректно с программой CTSMB, и поэтому рекомендуем вам выбрать плату от ASUSTEK. Все платы, проверенные нами, работали корректно.

Не пробуйте запускать программу на платах с Super Socket7, у вас ничего не получится. Если на материнской плате не присутствует элемент PIIX4, CTSMB вас информирует об этом и программа сбрасывается.

Наши рекомендации

  1. Покупайте память только у проверенных поставщиков.
  2. Старайтесь покупать «оригинальную» память от производителей Major/Major. Это означает, что производитель производит сам и чипы SDRAM, и PSB для модулей памяти, и самое главное – модули памяти SDRAM!!!
  3. Не покупайте дешевую память. С хорошими «мозгами» жить легче!

Поделиться информацией