Spd speed что это

Что такое SPD

На любом модуле памяти DIMM присутствует небольшой чип SPD (Serial Presence Detect), в котором производителем записывается информация о рабочих частотах и соответствующих задержках чипов памяти, необходимые для обеспечения нормальной работы модуля.

Информация из SPD считывается BIOS на этапе самотестирования компьютера еще до загрузки операционной системы и позволяет автоматически оптимизировать параметры доступа к памяти.

Spd speed что это. 9b13. Spd speed что это фото. Spd speed что это-9b13. картинка Spd speed что это. картинка 9b13

В марте 2020 г. комитет JEDEC, разрабатывающий спецификации для многих отраслей микроэлектроники, объявил о публикации стандарта JESD300-5, в который вошли документы SPD5118 и SPD5108 Hub & Serial Presence Detect Device Standard.
Оба документа описывают новый модуль SPD и механизмы работы с ним новой последовательной шины.

Вместо шины I2C со скоростью 1 МГц новый модуль SPD получит шину SidebandBus частотой 12,5 МГц.

Кроме возросшей скорости доступа к данным в SPD объём ёмкости для хранения информации о модуле памяти увеличен в два раза до 1024 байт.
При этом память разделена на 16 индивидуально защищённых от записи областей.

Кроме этого новая шина обеспечивает индивидуальную адресацию к 16 SPD (модулям памяти), расположенным на одной шине.
Интересно, что напряжение на информационной шине при этом может лежать в диапазоне от 1 В до 3,3 В, тогда как для питания чипа SPD используется напряжение 1,8 В.

Также спецификации контроллера SPD5118 предусматривают размещение датчика температуры нагрева теплораспределительной пластины.
Хост-контроллер SPD5108 такого датчика не имеет.

Встроенный в модуль термодатчик измеряет температуру с точностью 0,5 °C в заданном диапазоне рабочих температур.

Источник

Spd speed что это. paprnt btn. Spd speed что это фото. Spd speed что это-paprnt btn. картинка Spd speed что это. картинка paprnt btn

Вопросы

Какие ограничения по объему памяти накладывают современные операционные системы семейства Windows?

Что такое память DDR SDRAM?

Что такое память DDR2?

Что такое память DDR3?

Что такое SLI-Ready-память?

Благодаря профилям EPP уменьшается трудоемкость самостоятельной оптимизации работы подсистемы памяти, хотя существенного влияния на производительность системы «дополнительные» тайминги не оказывают. Так что какого-либо значительного выигрыша от использования SLI-Ready-памяти, по сравнению с обычной памятью, оптимизированной вручную, нет.

Что такое ECC-память?

Что такое Registered-память?

Можно ли вместо обычной памяти использовать Registered и наоборот?

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

Что такое SPD?

На любом модуле памяти DIMM присутствует небольшой чип SPD (Serial Presence Detect), в котором производителем записывается информация о рабочих частотах и соответствующих задержках чипов памяти, необходимые для обеспечения нормальной работы модуля. Информация из SPD считывается BIOS на этапе самотестирования компьютера еще до загрузки операционной системы и позволяет автоматически оптимизировать параметры доступа к памяти.

Могут ли совместно работать модули памяти разного частотного номинала?

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

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

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

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

На память каких производителей стоит обратить внимание в первую очередь?

Можно отметить нескольких производителей памяти, достойно зарекомендовавших себя на нашем рынке. Это будут, например, брэнд-модули OCZ, Kingston, Corsair, Patriot, Samsung, Transcend.

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

Источник

Виток эволюции: модули памяти получат совершенно новые чипы SPD

На каждом модуле памяти можно обнаружить небольшую микросхему SPD (Serial Presence Detect), в которой записаны данные о рабочих частотах модуля и о его задержках. Эта информация считывается автоматически до загрузки операционной системы и служит основой для нормальной работы компьютера. Модули SPD выполняют свою работу свыше 20 лет и сегодня их решили радикально обновить.

Spd speed что это. DIM Web top. Spd speed что это фото. Spd speed что это-DIM Web top. картинка Spd speed что это. картинка DIM Web top

Комитет JEDEC, который разрабатывает спецификации для многих отраслей микроэлектроники, объявил о публикации стандарта JESD300-5, в который вошли документы SPD5118 и SPD5108 Hub & Serial Presence Detect Device Standard. Оба документа описывают новый модуль SPD и механизмы работы с ним новой последовательной шины. Стандарт, повторим, глобально обновился впервые за более чем 20 лет.

Начнём с того, что вместо шины I 2 C со скоростью 1 МГц новый модуль SPD получит шину SidebandBus частотой 12,5 МГц. Шина SidebandBus разработана альянсом MIPI, который разрабатывает последовательные интерфейсы для мобильных устройств и не только.

Кроме возросшей скорости доступа к данным в SPD объём ёмкости для хранения информации о модуле памяти увеличен в два раза до 1024 байт. При этом память разделена на 16 индивидуально защищённых от записи областей. Кроме этого новая шина обеспечивает индивидуальную адресацию к 16 SPD (модулям памяти), расположенным на одной шине. Интересно, что напряжение на информационной шине при этом может лежать в диапазоне от 1 В до 3,3 В, тогда как для питания чипа SPD используется напряжение 1,8 В.

Также спецификации контроллера SPD5118 предусматривают размещение датчика температуры нагрева теплораспределительной пластины. Хост-контроллер SPD5108 такого датчика не имеет. Встроенный в модуль термодатчик измеряет температуру с точностью 0,5 °C в заданном диапазоне рабочих температур.

«SPD51x8 является первым из нового поколения стандартных контроллеров, использующих JEDEC SidebandBus для обеспечения высокой производительности», ― сказал Билл Герваси (Bill Gervasi), председатель рабочей группы JEDEC SPD. «Кроме того, JEDEC SidebandBus включает в себя множество функций для поддержки высоконадежных серверных систем, включая пакетную коррекцию ошибок, внутриполосные прерывания и механизмы гарантированного сброса шины».

Источник

SPD: схема последовательного детектирования

Современная индустрия время от времени вводит в употребление новые технологии ДОЗУ, которые обретают черты индивидуальности, начиная от архитектурных особенностей ядра и интерфейсных схем, и заканчивая форм-фактором модуля памяти. Однако ни один современный модуль памяти не может обойтись без крайне необходимого компонента — микросхемы SPD (Serial Presence Detect). Интерфейс последовательного детектирования (дословно переводится как «последовательное определение наличия»), регламентированный на данный момент для всех модулей памяти форм-фактора SIMM/DIMM/RIMM, использует шину управления системой (SMBus — System Management Bus), совместимый со спецификацией Inter-IC (I2C или IIC), посредством которого простые микросхемы могут общаться с остальной частью системы. Справедливости ради, стоит заметить, что интерфейсы SMBus и I2C различаются по нескольким категориям, куда входят электрические (основное отличие) и временные параметры (тайминги), используемый транспортный протокол и режимы работы. Несмотря на эти различия, физический интерфейс и принципы, положенные в основу этих шин, абсолютно одинаковы (точнее, SMBus базируется на принципах функционирования IIC), поэтому они могут совместно использоваться в системе. Непосредственно коммуникации микросхемы SPD EEPROM (электрически перепрограммируемое ПЗУ, содержащее специфические данные) на модуле памяти и управляющего контроллера осуществляются при помощи шины SMBus, использующей, как уже говорилось, IIC-совместимый транспорт.

Двухпроводная шина SMBus берет свое начало еще в 1994 году. В то время этот протокол являлся составной частью спецификации ACCESS.bus, как альтернативы интерфейсу RS-232C, впоследствии (в 1996 году) «перекочевав» в часть стандарта SBS (Smart Battery System), который носит открытый статус с 1995 года. В 1997 году SMBus был объединен с другим расширенным интерфейсом — ACPI (Advanced Configuration and Power Interface), став его неотъемлемой частью.

Шина IIC, предназначенная для коммуникаций между отдельными ИС (Inter-IC — Inter- Integrated Circuit), является разработкой корпорации Philips. Первая версия данного стандарта, опубликованная в 1992 году, дорабатывалась в 1995 и 1997 годах, что отражено в соответствующих документах. Следующая версия 2.0 была доступна только через шесть лет (в 1998 году) и включает довольно внушительный список доработок. Нынешний стандарт I2C версии 2.1, принятый в январе 2000 года, вносит лишь небольшие изменения по сравнению со вторым релизом. Вообще, SMBus, ACCESS.bus и SBS являются полностью открытыми стандартами, базирующимися на идее именно IIC, что дает возможность их совмещения. Более подробную информацию относительно спецификаций интерфейсов Inter-IC, SMBus и совместимых можно найти в документах [25]-[36] из «Списка использованных источников».

Принцип использования шины SMBus в случае SPD сводится к передаче данных от микросхемы EEPROM, установленной на модуле, соответствующим регистрам контроллера памяти, находящегося в составе северного моста или концентратора контроллеров основных интерфейсов через SMBus-интерфейс объединенного контроллера периферийных компонент (южный мост, или концентратор контроллеров ввода/вывода) при помощи системного BIOS. Таким образом система получает все необходимые данные о модуле и настраивается на оптимальный режим работы, согласно записанным в микросхему SPD значениям. Общий стандарт SPD (JEDEC Standard No. 21-С, часть 4.1.2) определен на уровне объединенного совета разработчиков электронных устройств (JEDEC — Joint Electronic Device Engineering Council) и предусматривает единую байтовую карту программирования в шестнадцатиричном (HEX) коде, где размещаются данные общим объемом 2048bit (или 256 байтовых полей) — это делается с целью создать общий стандарт записи основной информации, всесторонне классифицирующей определенный модуль памяти.

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

Интерфейсный протокол (SPD Interface Protocol) характеризует электрические (характеристики по постоянному, переменному току и интерфейс соединения — I2C, Microwire, SPI и т.д.), геометрические (упаковка — размер корпуса, геометрия выводов и т.д.) и физические параметры используемой микросхемы EEPROM.

Последовательность данных и размер карты программирования (Data Order and PD Size) характеризуют объем фактически используемой памяти в микросхеме и размер одной ячейки (стандартно используется один байт). Кроме чего, как уже упоминалось, адресная карта содержит резервные байты (поля), которые могут использоваться при необходимости для описания параметров новой фундаментальной технологии.

Кодирование данных на основании ASCII-кода
FHDP SHDP
0 1 2 3 4 5 6 7 8 9 A B C D E F
2BS()
30123456789
4ABCDEFGHIJKLMNO
5PQRSTUVWXYZ
6abcdefghijklmno
7pqrstuvwxyz
Пример проверки контрольной суммы
Адресные байтыДвоичное значениеДесятичное представлениеКомментарий
00010010036
111111110254
2000000000
3000000000
000000000
60000000000
61000000000
6200000000
290Сумма всех десятичных цифр
290/256Деление для получения целого числа
34Сохранение остатка
00100010Преобразование остатка в двоичный код
630010001034Занесение преобразованного числа в байт 63

Содержание SPD (SPD Content) разделяется на основные группы, которые определяют классификацию хранящихся в EEPROM данных на категории.

Основные информационные байты SPD
БайтТип данныхОписание
0Объем записанной информации в EEPROMЭлемент LUT
1Общий информационный объем EEPROMЭлемент LUT
2Фундаментальный тип памятиЭлемент LUT
3-xxСпецифические установки описания используемой памятиУстановки
xx-60Дополнительные специфические установкиУстановки
33-61Определенные описания специфики используемой памятиУстановки
62Указатель ревизии SPD (номер текущей версии SPD)LUT
63Контрольная сумма байт 0-62Checksum
64-71Идентификационный код производителя по JEP106LUT
72Месторасположение производителя модуля памятиФакультативно
73-90Производственный номер изготовителя модуля памятиФакультативно
91-92Код ревизии модуля памятиФакультативно
93-94Дата производства модуля памятиBCD
95-98Основной последовательный номер модуля памятиФакультативно
99-125Специфические данные производителя модуля памятиФакультативно
126-127Зарезервированные байтыЗарезервировано
128-255Открытая зона для внесения дополнительной информацииДополнительно

Примечание: BCD (Binary Coded Decimal) — двоичное представление десятичного числа.

Атрибуты частоты функционирования (байт 127)
Бит 7 Бит 6 Бит 5 Бит 4 Бит 3 Бит 2 Бит 1 Бит 0
CLK0CLK1CLK2CLK3JTempCL3CL2AP
1 или 01 или 01 или 01 или 01 или 01 или 01 или 01 или 0

Транспортный протокол SPD

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

Spd speed что это. simm dimm spd. Spd speed что это фото. Spd speed что это-simm dimm spd. картинка Spd speed что это. картинка simm dimm spd

Карта SPD должна программироваться один раз и больше никогда не меняться — по требованиям основного стандарта после внесения данных в EEPROM, вход WP (Write Protect) устанавливается в положение «non-write» — так исключается возможность случайного стирания или умышленной замены содержимого микросхемы. В общем случае вывод WP микросхемы EEPROM, отвечающий за защиту от записи, соединяется с сигнальной линией SWP модуля, на которой уровень сигнала активный высокий по умолчанию (в случае низкого уровня микросхема открыта для записи). Линии SDA и SCL имеют схему включения типа «открытый сток» (Open-drain) или «открытый коллектор» (Open-collector), и требуют внешней подтягивающей нагрузки 47 кОм. Ток утечки источника этих линий должен быть как минимум 3mA, чтобы поддерживать действительный низкий уровень сигнала. С детальным описанием интерфейсов микросхем EEPROM, применяемых для реализации механизма SPD (и не только) в модулях памяти, можно ознакомиться, например, в документе [38].

Основные электрические параметры микросхемы SPD SIMM/DIMM EEPROM
СимволПараметрУсловия тестированияНоминал
VCCПитающее напряжение3.0-3.6 V
ICCAТок в состоянии активностиfSCL=80kHz5mA
ISBТок в состоянии готовностиVIN=GND или VCC100 µA
ILIВходной ток утечкиVIN=GND или VCC10 µA
ILOВыходной ток утечкиVOUT=GND или VCC10 µA
VILНизкий уровень входного напряженияVCC x0.3 V
VIHВысокий уровень входного напряженияVCC x0.7 V
VOLНизкий уровень выходного напряженияIOL=3.0mA0.4V

Рассмотрим кратко основные команды и фазы функционирования SPD EEPROM на системном уровне. Как уже говорилось ранее, микросхема использует для обмена информацией I2C-совместимый транспорт. Этот протокол характеризует любую пару устройств, передающих и принимающих данные, как передатчик (Transmitter) и приемник (Receiver), соответственно определяя передающее устройство как хозяина шины (Master), а принимающее — как подчиненное (Slave). Хозяин управляет линией передачи данных (SDA) совместно с сигналами SA[2:0] адресации массива EEPROM, и обеспечивает синхронизацию (SCL), в то время как микросхема SPD на модуле памяти все время является подчиненным устройством.

Команда начала (или команда старта, START) инициируется по отрицательному перепаду импульса SDA (по срезу) в момент, когда системный синхросигнал имеет устойчивый высокий уровень (находится в активном состоянии). Вообще говоря, любая команда должна сопровождаться командой старта. Микросхема EEPROM постоянно осуществляет мониторинг линий SDA и SCL, и не входит а фазу ответа пока команда START является активной.

Spd speed что это. i2c start stop def. Spd speed что это фото. Spd speed что это-i2c start stop def. картинка Spd speed что это. картинка i2c start stop def

Команда останова (или стоп-команда, STOP) инициируется противоположно команде старта — по положительному перепаду импульса SDA (по фронту) в момент, когда системный синхросигнал находится в высоком состоянии. Данная команда указывает на окончание передачи данных из подчиненного устройства в устройство управления (контроллер). Присутствие STOP в конце цикла чтения (Read) сообщает микросхеме EEPROM о необходимости немедленного перехода в режим ожидания (STBY — STand-BY), а в конце передачи пакета записи (Write) является сигналом начала выполнения внутреннего цикла записи в массив данных микросхемы.

Сигнал подтверждения (ACK или Acknowledge) является своего рода флагом ответа и указывает на успешное выполнение фазы передачи данных. Передающее устройство освобождает шину SDA после того, как выполнена посылка 8bit данных. В течение следующего девятого импульса системного синхросигнала приемник переводит шину в низкое состояние, таким образом подтверждая прием пакета данных.

Spd speed что это. i2c output ack def timing. Spd speed что это фото. Spd speed что это-i2c output ack def timing. картинка Spd speed что это. картинка i2c output ack def timing

В течение выполнения фазы передачи данных микросхема EEPROM согласует посылки по линии SDA с каждым фронтом системного синхросигнала SCL. Для согласованной работы устройств, сигналы на шине данных должны оставаться в активном состоянии в течение всей длительности импульса системного синхросигнала, включая время нарастания/спада (фронта/среза импульса) и изменять текущее состояние только в промежутке между срезом предыдущего и фронтом следующего синхросигнала.

Spd speed что это. i2c data valid timing. Spd speed что это фото. Spd speed что это-i2c data valid timing. картинка Spd speed что это. картинка i2c data valid timing

Операции записи (Write Operations) данных состоят из двух фаз: запись байта (Byte Write) и подтверждения опроса (Acknowledge Polling). После приема подчиненным устройством адреса байта отрабатывается подтверждающий ответ и выполняется цикл ожидания следующего байта данных, который также отрабатывается сигналом подтверждения (ACK). В конце передачи управляющее устройство прекращает посылки данных выставлением на шину команды STOP и подчиненное устройство входит в цикл внутренней записи, в течение которого входы микросхемы EEPROM отключаются и приемники сигнала не реагируют ни на какие запросы от хозяина шины (передающего устройства).

Spd speed что это. write operations s. Spd speed что это фото. Spd speed что это-write operations s. картинка Spd speed что это. картинка write operations s

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

Операции чтения (Read Operations) происходят практически аналогично операциям записи, исключая то, что бит R/W адреса подчиненного устройства всегда установлен в 1 (чтение, Read). Существуют три основные операции чтения из EEPROM: чтение текущего адреса (Current Address Read), произвольное чтение (Random Read) и последовательное чтение (Sequential Read).

Архитектурно, микросхема EEPROM имеет внутренний, инкрементирующийся на единицу, адресный счетчик, содержащий адрес байта, к которому было последнее обращение (текущий адрес). Поэтому, если последний доступ (на чтение или запись) был по адресу N, то следующая операция чтения будет адресована данным по адресу N+1. При получении адреса необходимого подчиненного устройства с установкой R/W=1, микросхема подтверждает прием и передает байт данных. Управляющее же устройство не подтверждает прием, однако формирует команду останова (STOP), после которой микросхема EEPROM останавливает передачу данных и входит в состояние ожидания.

Spd speed что это. adress read operations. Spd speed что это фото. Spd speed что это-adress read operations. картинка Spd speed что это. картинка adress read operations

Операции произвольного чтения (Random Read) разрешают доступ контроллеру к любому участку массива произвольным образом. Перед тем, как назначить адрес подчиненного устройства с установкой на чтение, управляющее устройство сначала должно выполнить операцию пустой записи. Контроллер формирует начальное условие, адрес микросхемы, а затем адрес байта, который необходимо считать. После возврата подтверждения адреса, передающее устройство немедленно реформирует команду старта и адрес подчиненного устройства с установкой бита R/W в 1 — это следует сразу за возвратом подтверждения от микросхемы EEPROM, в результате чего считывается байт данных. Управляющее устройство ведет себя аналогично случаю с чтением текущего адреса, описываемого выше.

Spd speed что это. random read operations s. Spd speed что это фото. Spd speed что это-random read operations s. картинка Spd speed что это. картинка random read operations s

Операции последовательного чтения (Sequential Read) могут быть начаты по текущему адресу или по произвольному. Первый байт передается аналогичным методом, применяемым в других режимах чтения; тем не менее, контроллер отвечает подтверждением, означающим готовность приема следующей порции данных. Микросхема EEPROM продолжает посылать данные по каждому полученному сигналу подтверждения. Данные выдаются последовательно, начиная от первого адреса N по схеме N+1. Внутренний адресный счетчик инкрементирует все адресные биты, разрешая считывание полностью всего содержимого массива памяти микросхемы в течение одной операции, после чего «откатывается» (содержимое счетчика обнуляется) и данные начинают выдаваться с 0-адреса по каждому сигналу подтверждения пакетами по 8bit.

Spd speed что это. sequential read operations s. Spd speed что это фото. Spd speed что это-sequential read operations s. картинка Spd speed что это. картинка sequential read operations s

Управляющее устройство при этом, понятно, никаких сигналов подтверждения или останова не посылает, поскольку чтение данных идет последовательно и непрерывно — именно этот метод применяется при считывании данных контроллером из EEPROM при инициализации подсистемы памяти (при включении питания или после сброса). Подробнее описание транспорта следует смотреть в документах [12], [14], [26]-[29], [34], [35] и [38].

Описание общей карты программирования SPD

Стандарт JEDEC Std No. 21-C-4.1.2 регламентирует применение схемы последовательного детектирования в любых модулях памяти независимо от типа применяемого ОЗУ/ПЗУ и форм-фактора. Это придает данной схеме исключительную гибкость и универсальность, поскольку стандарт предусмотрен для настоящих и последующих архитектур, и включает резервные поля для внесения специальной информации, которая потребуется в будущем. Когда стандартизируется специфическая архитектура, отличная от базовой, предусматривающая собственные особенности функционирования, специфическую организацию, индивидуальные характеристики и т.д. — все отражается в схеме SPD: отличия заносятся в резервные биты (если таких характеристик не предусмотрено в текущей), а в общей спецификации описывается соответствующим дополнением, кроме чего, на каждую отдельную характеристику должна присутствовать адресная карта. Все модули памяти, имеющие разный форм-фактор, содержащие память со своими архитектурными особенностями, и в которых применяется схема последовательного детектирования, должны отвечать следующим пунктам: 1 — известный интерфейсный протокол; 2 — подходящая (приемлемая) конфигурация модуля; 3 — стандартизированная архитектура («глубина», «ширина», количество используемых банков, схема адресации и т.д.); 4 — поддерживаемая схема проверки ошибок (ECC, Parity и т.д.); 5 — стандартная или одобренная комиссией «проводная диаграмма» (монтаж и разводка сигнальных трасс на модуле памяти).

Общая схема назначения адресных байт SPD SIMM/DIMM
БайтНазначение
0Общий объем текущей информации, записанной в EEPROM
1Общее количество байт информации в микросхеме SPD
2Фундаментальный тип используемой памяти
3Общее количество адресных линий строки модуля, включая «смешанный» объем
4Общее количество адресных линий столбца модуля, включая «смешанный» объем
5Общее количество физических банков модуля памяти
6-7Внешняя шина данных модуля памяти
8Питающий интерфейс
9Временной цикл с максимальной задержкой сигнала CAS# (tCK)
10Длительность задержки данных на выходе модуля с учетом CL=Х
11Интерфейс модуля (None/Parity/ECC…)
12Тип и способ регенерации данных
13Тип организации используемых микросхем памяти
14Ширина шины данных ЕСС модуля
15Минимальная задержка произвольного доступа к столбцу
16Длительность передаваемых пакетов (BL)
17Количество логических банков каждой микросхемы в модуле
18Поддерживаемые длительности задержки сигнала CAS# (CL)
19Задержка выдачи сигналов выбора кристалла CS# (tA(S))
20Задержка выдачи сигнала разрешения записи WE# (tA(W))
21Специфические атрибуты модуля памяти
22Атрибуты общего порядка микросхемы памяти
23Минимальный цикл CLX-1
24Максимальное время доступа к данным с минимальным циклом CLX-1 (tAC)
25Минимальный цикл CLX-2
26Максимальное время доступа к данным с минимальным циклом CLX-2 (tAC)
27Минимальное время регенерации данных в странице (tRP)
28Минимальная задержка между активизацией соседних страниц (tRRP)
29Минимальная задержка RAS-to-CAS (tRCD)
30Минимальная длительность импульса сигнала RAS# (tRAS)
31Емкость одного физического банка модуля памяти
32Время установки адресов и команд перед подачей синхроимпульса (tIS)
33Время ожидания на входе после подачи синхроимпульса (tIH)
34Интервал установки данных на входе перед подачей синхроимпульса (tDS)
35Время ожидания данных на входе после подачи синхроимпульса (tDH)
36-61Зарезервировано по JEDEC JC42.5-97-119 для дополнений описания будущих архитектур
62Номер текущей версии SPD
63Контрольная сумма байт 0-62
64-71Идентификационный код производителя по JEP106
72Информация о производителе модуля
73-90Уникальный номер производителя модуля
91-92Код ревизии (версии) модуля
93-94Дата производства модуля
95-98Основной серийный номер модуля
99-125Специфические данные производителя модуля
126-127Специфические атрибуты частоты функционирования модуля
128-255Пустые байты для внесения необходимой дополнительной информации

Примечание: байты 15-30 используются исключительно для характеристики модулей памяти, использующих разновидности синхронного ДОЗУ.

Рассмотрим все возможные способы кодирования/декодирования информации в SPD на нескольких примерах. Общий объем данных, записанных в микросхеме SPD, обычно составляет 128 байт, но производитель может заполнить и больше — вплоть до всех 256. Так, байт 1 как раз характеризует объем записанной полезной информации. Этот байт кодируется по обычной схеме (прямое преобразование «по нарастающей») — соответствующее значение количества байт представляется двоичной последовательностью, которая переводится в шестнадцатиричное значение, согласно схеме, описываемой ранее.

Общий объем информации, записанной в SPD (байт 1)
Объем, байтБит 7Бит 6Бит 5Бит 4Бит 3Бит 2Бит 1Бит 0
000000001
100000010
200000011
300000100
xxxxxxxx
12810000000
xxxxxxxx
25511111111

Так, микросхема SPD EEPROM, содержащая объем полезной информации, составляющий, например, 128 байт будет в поле байта 1 содержать шестнадцатиричное значение 80h (двоичная последовательность 10000000), а микросхема, использующая все 256 байт — значение FFh (двоичная последовательность 11111111).

Различные фундаментальные архитектуры используемого типа памяти характеризуются байтом 2, который также кодируется по схеме прямого преобразования. Рассмотрим фрагмент таблицы «битовой классификации» для характеристики используемого фундаментального типа ДОЗУ.

Кодирование в SPD фундаментального типа ДОЗУ (байт 2)
Тип памятиБит 7Бит 6Бит 5Бит 4Бит 3Бит 2Бит 1Бит 0
Reserved00000000
FPM DRAM00000001
EDO DRAM00000010
Pipelined Nibble00000011
SDRAM00000100
Multiplexed ROM00000101
DDR SGRAM00000110
DDR SDRAM00000111
VC SDRAM00001000
xxxxxxxx

Отсюда видно, что байт 2 в модуле памяти, использующем, например, фундаментальный тип ДОЗУ VCSDRAM будет содержать значение 08h, а, скажем, SDRAM — 04h.

Байт 9 характеризует временной цикл с максимальной задержкой сигнала CAS# (CL), что, понятно, является составной цифровой величиной. Данный байт использует таблицу указателей (LUT), применяя схему разделения байта на две «группы», поскольку временные параметры могут быть не просто целыми числами, а и содержать дробные значения. Так, с учетом разбиения таблицы на «точки входа», поле более важных бит именуют субполе А (Subfield A), а менее важных — субполе В (Subfield B). Поэтому для кодирования информа-ции, ее в данном случае делят на две составляющие — целые и дробные значения, соответственно прямо кодирующиеся в субполях А и В.

Временной цикл с максимальной задержкой сигнала CAS# (байт 9)
НаносекундыБит 7Бит 6Бит 5Бит 4Бит 3Бит 2Бит 1Бит 0
Кодирование целого значения временного цикла (в наносекундах) — субполе А
1ns0000Смотреть значения субполя В
2ns0001
3ns0010
4ns0011
5ns0100
хххх
15ns1111
Кодирование дробного значения временного цикла (в наносекундах) — субполе B
+0nsСмотреть значения субполя А0000
+0.1ns0001
+0.2ns0010
+0.3ns0011
+0.4ns0100
+0.5ns0101
хххх

Таким образом получается, что если необходимо задать время цикла, равное, например, 10.5ns, то следует провести следующие операции: по субполю А отыскать целое значение 10 (в бинарном виде это выглядит 1010), а по субполю В — дробное значение 0.5 (в двоичной системе 0101). Складывая полученные значения с учетом байтовой организации, информация кодируется следующим образом: по правилу перевода двоичного значения в десятичное получаем для более важных бит, кодирующих целое значение (10ns), двоичную последовательность 1010, соответствующую Ah в шестнадцатиричном коде, а для менее важных бит, кодирующих дробное значение (+0.5ns), — двоичную последовательность 0101, соответствующую 5h в шестнадцатиричном представлении. Общий вид двоичной последовательности (10100101) определяет шестнадцатиричное значение, соответствующее необходимому временному циклу, которое надо внести в ячейку байта 9 — это A5h.

Данный пример демонстрирует стандартную схему 4/4 разделения поля на суб-поля А/В. Другие схемы, отличные от стандартной, применяются для того, чтобы увеличить/уменьшить диапазон значений целых/дробных составляющих конкретного параметра. Примером схемы 1/7 является байт 14, кодирующий ширину шины данных ЕСС модуля, а примером схемы 6/2 может являться байт 25, характеризующий минимальный цикл CLX-2. Подробнее о кодировании аналогичных параметров смотреть в документах [3], [11], [12], [14].

Своего рода «частным случаем» схемы разделения является «суммирование» составляющих по одной строке — такую схему кодирования обычно применяют для параметров, значения которых не превышают восьми, или для кодирования сразу нескольких характеристик — например, ранее рассматриваемый байт 127. Так, в соответствующих битах устанавливается разрешение (1) или запрещение (0) использования какой-то конкретной характеристики, определяемой конкретным битом, после чего полученная двоичная последовательность кодируется по уже известной схеме. Например, байт 16 характеризует поддерживаемые длительности пакетов передачи данных (BL — Burst Length).

Кодирования в SPD размера передаваемого пакета (байт 16)
Бит 7Бит 6Бит 5Бит 4Бит 3Бит 2Бит 1Бит 0
BL=PageTBDTBDBL=16BL=8BL=4BL=2BL=1
1 или 01 или 01 или 01 или 01 или 01 или 01 или 01 или 0

Так, если поддерживается передача пакетов длительностью 1, 2, 4 и 8 слов (BL=1, 2, 4, 8), то в соответствующей ячейке таблицы устанавливаются 1 (поддерживается). В результате для данного случая имеем последовательность 00001111, что записывается в байте 16 карты программирования SPD как 0Fh. Если в дополнение к этому поддерживается еще и передача пакетов размера всей страницы целиком (BL=1, 2, 4, 8, Page), то тогда получается последовательность 10001111, что записывается в байт 16 как 8Fh.

Еще одним частным случаем «разделения» является «расстановка флага» в старшем бите (бит 7) байта. Например, байт 12 несет информацию о поддерживаемой длительности цикла регенерации строки логического банка ядра микросхемы памяти. Стандартно, микросхема памяти поддерживает нормальный цикл регенерации (15.625 µs), который обновляет содержимое ячеек страницы памяти через заданный конкретный интервал времени. Однако, регенерация не является «прозрачной» процедурой и в цикле ее проведения производительность падает. Для обхода этой проблемы используют многобанковую логическую архитектуру, которая теоретически кратно количеству используемых банков уменьшает задержку регенерации ячеек массива в сравнении с однобанковой организацией, кроме чего в схемах с независимыми и зависимыми банками имеются некоторые отдельные специфические особенности. Саморегенерация (SR или SEREf — SElfREfresh), как стандартный в настоящее время механизм обновления содержимого ячеек памяти, используется для введения прибора памяти в режим выполнения программы самостоятельного режима регенерации. Этот механизм используется в периоды микропотребления, когда микросхема памяти регенерирует массив путем инкрементирования своего внутреннего счетчика — в таком состоянии она сама осуществляет обновление содержимого ячеек, поскольку в ней запускается свой собственный генератор, синхронизирующий внутренние цепи.

Кодирования в SPD типа и способа регенерации массива ДОЗУ (байт 12)
ПериодБит 7, SR-флагБит 6Бит 5Бит 4Бит 3Бит 2Бит 1Бит 0
Normal (15.625 µs)00000000
Reduced (0.25x)00000001
Reduced (0.5x)00000010
Extended (2x)00000011
Extended (4x)00000100
Extended (8x)00000101
TBD00000110
0ххххххх
Периоды в режиме саморегенерации (SR)
Normal (15.625 µs)10000000
Reduced (0.25x)10000001
Reduced (0.5x)10000010
Extended (2x)10000011
Extended (4x)10000100
Extended (8x)10000101
TBD10000110
1ххххххх

Примечание: Normal — нормальная; Reduced — сокращенная; Extended — расширенная.

Для указания того, что микросхемы памяти в составе модуля поддерживают механизм саморегенрации введен флаг в старший бит (бит 7), характеризующий в конкретном случае, что саморегенерация поддерживается — установка значения бита 7 в «1». Например, если микросхема поддерживает сокращенную на четверть регенерацию — 0.25x (3.9 µs), — то в двоичном представлении байт 12 будет выглядеть как 00000001, что соответствует 01h. Если прибор памяти поддерживает 2х-расширенный режим саморегенерации — SR/2x (31.3 µs), — то байт 12 в этом случае бинарно представляется как 10000011, что соответствует 83h в шестнадцатиричном коде.

Для кодирования/декодирования остальных параметров применяются схемы, аналогичные рассмотренным с небольшими особенностями. Полную информацию о назначении конкретных временных параметров, аббревиатурах, сокращениях и обозначениях, используемых в микроэлектронике (в частности в DRAM) можно найти в документах [1]-[2] из «Списка используемых источников». Более детальную информацию об описании и назначении всех информационных байт, использующихся в схеме последовательного детектирования для различных фундаментальных типов DRAM, регламентированного стандартом JEDEC Std No. 21-C-4.1.2, можно найти в документах [3]-[10]. Электрический интерфейс, монтаж микросхемы EEPROM, ее цоколевка, а также примеры карт программирования для соответствующих модулей памяти, использующих конкретные типы ДОЗУ, можно найти в документах [11], [12], [17]-[20] и [38].

SPD в Direct RDRAM RIMM

Общая схема представления и кодирования/декодирования информации, включая транспортный протокол, в SPD RIMM аналогична общей схеме последовательного детектирования, описываемой ранее, за исключением синхронизации с системой на частоте 100kHz.

Информация кодируется также, как и в SPD SIMM/DIMM, за исключением того, что информационные поля содержат данные, подразделяющиеся на четыре категории: данные, включающие поля связи организации микросхемы EEPROM (SPD), поля специальной информации об используемых микросхемах памяти (DEV), поля специальной информации о модуле (MOD) и поля информации о производителе модуля (OEM).

Основные характеристики микросхемы SPD RIMM EEPROM
СимволПараметрУсловия тестированияНоминал
SVDDПитающее напряжение2.2-3.6 V
ISVddТок в состоянии активностиfSCL=100kHz5.0 µA
ISVdd1Ток в состоянии готовностиVIN=GND или SVDD100 µA
ISLIВходной ток утечкиVIN=GND или SVDD10 µA
ISLOВыходной ток утечкиVOUT=GND или SVDD10 µA
VSILНизкий уровень входного напряженияSVDD x0.3 V
VSIHВысокий уровень входного напряженияSVDD x0.7 V
VSOLНизкий уровень выходного напряженияIOL=3.0mA0.4V

Большинство параметров, программируемых в SPD на модуле RIMM, являются специфичными относительно архитектуры, и применяются исключительно для характеристики DRDRAM. Поэтому данные параметры не подходят для других, отличных от Direct Rambus DRAM, типов памяти. Несмотря на это, основная спецификация JEDEC Std No. 21-C-4.1.2 и спецификация SPD RIMM в большинстве случаев используют для кодирования факультативных значений описательного характера одни и те же адреса.

Существует четкая взаимосвязь между временными параметрами, использующимися в Direct Rambus SPD, и параметрами самой микросхемы памяти DRDRAM, указанными в соответствующих спецификациях. Эта взаимосвязь определяется специальными пересчетными формулами (Translation Formulas), цель которых — четко описать обратную совместимость между настоящими и будущими микросхемами памяти DRDRAM, которые, возможно, будут обладать лучшими или совершенно другими временными параметрами. Для обеспечения гарантированной совместимости, контроллер памяти RMC должен поддерживать характеристики основных/резервные полей SPD и все существующие передаточные формулы.

Для описания этих зависимостей ввели две таблицы, использующие в качестве размерности исключительно количества циклов (in cycles) для обеспечения полной совместимости значений. Первая таблица содержит формулы релевантности опорных точек отсчета временного параметра (RefPts — Reference timing Points), используемых для преобразования. Значения tCLS и tCAS (параметры задержки ядра) представляют собой поля определенных регистров микросхемы и их значения в формуле представляют собой значения, хранящиеся в соответствующих полях этих регистров. Значение tCPS всегда эквивалентно одному циклу. Остальные данные хранятся в SPD.

Вторая таблица содержит соотношения для преобразований уже непосредственно временных параметров и использует значения вычисленных опорных точек отсчета (RefPts) из предыдущей таблицы. Значение длительности задержки tCDLY хранится в кодированном виде в полях регистров микросхемы памяти, а также в байтах 112-126 карты SPD. Все преобразования являются корректными только тогда, когда выполняется условие равенства длительности цикла tCYCLE из спецификации и хранящегося в SPD в байтах 50-51 значения частоты подачи строба доступа к строке — fRAS. Параметр tRAS,MAX в данной таблице не используется, поскольку измеряется в микросекундах (µs). Все необходимые формулы и зависимости можно найти в документе [14].

Назначение адресных бит SPD RIMM
БайтНазначениеUnitsFC
0Номер текущей версии SPDLUTSPD
1Общее количество байт информации в микросхеме SPDLUTSPD
2Тип используемых микросхем памятиLUTDEV
3Тип используемого модуля памятиLUTMOD
4Количество адресных бит стоки [7:4] и столбца [3:0] для каждого прибораBitDEV
5Количество адресных бит на один банк и тип используемых банков памятиLUTDEV
6Количество одновременно регенерируемых банков микросхемы памятиBitDEV
7Длительность периода регенерации микросхем памяти в ms — tREFmsDEV
8Используемая версия протокола RDRAMLUTDEV
9Поле конфигурации использования устройств смешанного типаN/ADEV
10Минимальный интервал «Precharge-to-RAS» — tRP-R,MIN1/fRASDEV
11Минимальный интервал «RAS-to-Precharge» — tRAS-R,MIN1/fRASDEV
12Минимальный интервал «Activate-to-CAS» — tRCD-R,MIN1/fRASDEV
13Минимальный интервал «RAS-to-RAS» — tRR-R,MIN1/fRASDEV
14Минимальный интервал «Precharge-to-Precharge» — tPP-R,MIN1/fRASDEV
15Минимальная длительность tCYCLE для диапазона А128psDEV
16Максимальная длительность tCYCLE для диапазона А128psDEV
17Диапазон значений длительности задержки ядра tCDLY для диапазона АCycleDEV
18Диапазон значений tCLS и tCAS для диапазона АCycleDEV
19Минимальная длительность tCYCLE для диапазона B128psDEV
20Максимальная длительность tCYCLE для диапазона B128psDEV
21Диапазон значений длительности задержки ядра tCDLY для диапазона BCycleDEV
22Диапазон значений tCLS и tCAS для диапазона BCycleDEV
23Минимальная длительность tCYCLE для диапазона C128psDEV
24Максимальная длительность tCYCLE для диапазона C128psDEV
25Диапазон значений длительности задержки ядра tCDLY для диапазона CCycleDEV
26Диапазон значений tCLS и tCAS для диапазона CCycleDEV
27Минимальная длительность tCYCLE для диапазона D128psDEV
28Максимальная длительность tCYCLE для диапазона D128psDEV
29Диапазон значений длительности задержки ядра tCDLY для диапазона DCycleDEV
30Диапазон значений tCLS и tCAS для диапазона DCycleDEV
31Максимальное время выхода из деактивации (PDN) в фазе А — tPDNXA,MAXµsDEV
32Максимальное время выхода из деактивации (PDN) в фазе B — tPDNXB,MAX64 CFMDEV
33Максимальное время выхода из «дремоты» (NAP) в фазе А — tNAPXA,MAXnsDEV
34Максимальное время выхода из «дремоты» (NAP) в фазе B — tNAPXB,MAXnsDEV
35Максимальная и минимальная частоты функционирования — fIMAX [7:4] и fIMIN [3:0]MHzDEV
36Максимальная частота функционирования микросхем памяти — fIMAX [7:0]MHzDEV
37Минимальная частота функционирования микросхем памяти — fIMIN [7:0]MHzDEV
38Зарезервировано для характеристики внештатного функционирования — ODFN/AN/A
39Максимальный интервал между текущими операциями калибровки — tCCTRL,MAXmsDEV
40Максимальный интервал между операциями калибровки температуры — tTEMP,MAXmsDEV
41Минимальный интервал между разрешением и передачей команды (динамика формирования) проведения температурной калибровки — tTCE,MINCycleDEV
42Максимальный интервал «RAS-to-Precharge» — tRAS-R,MAXµsDEV
43Максимальное время пребывания микросхемы в режиме NAP — tNLIMIT,MAXµsDEV
44Описание тамингов ACTREFPT [7:4] и PCHREFPT [3:0]CycleDEV
45Описание тамингов CPCHREFPT_DC [7:4] и RDREFPT_DC [3:0]CycleDEV
46Описание тамингов RETREFPT_DC [7:4] и WRREFPT_DC [3:0]CycleDEV
47-49ЗарезервированоN/AN/A
50Частота подачи строба доступа к строке — fRAS [11:8], началоMHzDEV
51Частота подачи строба доступа к строке — fRAS [7:0], продолжениеMHzDEV
52Максимальная потребляемая мощность на максимальной частоте, минимальной частоте и максимальное значение температуры всех микросхем, установленных на модуле памяти — PMAX,HI, PMAX,LO и Tj соответственно°CDEV
53Наличие на модуле радиатора, термосенсора и температура на нем — HS и Tplate°CMOD
54Потребляемый ток в состоянии STBY на максимальной частоте (fIMAX) — PSTBY,HI1mADEV
55Потребляемый ток при средней нагрузке на максимальной частоте — PACTI,HI2mADEV
56Потребляемый ток при максимальной нагрузке на fIMAX — PACTRW,HI8mADEV
57Потребляемый ток в состоянии STBY на минимальной частоте (fIMIN) — PSTBY,LO1mADEV
58Потребляемый ток при средней нагрузке на минимальной частоте — PACTI,LO2mADEV
59Потребляемый ток при максимальной нагрузке на fIMIN — PACTRW,LO8mADEV
60Потребляемый ток в режиме «дремоты» — PNAP128 µADEV
61Зарезервировано для будущего параметра термоконтроля — PRESAN/ADEV
62Зарезервировано для будущего параметра термоконтроля — PRESBN/ADEV
63Контрольная сумма байт 0-62N/ASPD
64-71Код производителя модуля памяти (Manufacture ID Code), согласно JEP106N/AMOD
72Информация о производителе модуляN/AMOD
73-90Уникальный номер производителя модуляN/AMOD
91-92Код ревизии производителя модуляN/AMOD
93Год изготовления модуляN/AMOD
94Неделя изготовления модуляN/AMOD
95-98Серийный номер модуляN/AMOD
99Количество используемых микросхем памяти на модулеPCsMOD
100Ширина шины данных модуля памятиBitMOD
101-104Уникальное управление микросхемами памяти (один байт на 8 микросхем)BitMOD
105Напряжение питания [7:4] и интерфейс питающего протокола [3:0]LUTMOD
106Допустимое отклонение напряжения питанияLUTMOD
107ЗарезервированоN/AN/A
108-110ЗарезервированоN/AN/A
111ЗарезервированоN/AN/A
112ЗарезервированоN/AN/A
113ЗарезервированоN/AN/A
114Значение CDLY0/1 для значения длительности задержки ядра tCDLY=3CycleDEV
115Значение CDLY0/1 для значения длительности задержки ядра tCDLY=4CycleDEV
116Значение CDLY0/1 для значения длительности задержки ядра tCDLY=5CycleDEV
117Значение CDLY0/1 для значения длительности задержки ядра tCDLY=6CycleDEV
118Значение CDLY0/1 для значения длительности задержки ядра tCDLY=7CycleDEV
119Значение CDLY0/1 для значения длительности задержки ядра tCDLY=8CycleDEV
120Значение CDLY0/1 для значения длительности задержки ядра tCDLY=9CycleDEV
121Значение CDLY0/1 для значения длительности задержки ядра tCDLY=10CycleDEV
122Значение CDLY0/1 для значения длительности задержки ядра tCDLY=11CycleDEV
123Значение CDLY0/1 для значения длительности задержки ядра tCDLY=12CycleDEV
124Значение CDLY0/1 для значения длительности задержки ядра tCDLY=13CycleDEV
125Значение CDLY0/1 для значения длительности задержки ядра tCDLY=14CycleDEV
126Значение CDLY0/1 для значения длительности задержки ядра tCDLY=15CycleDEV
127Контрольная сумма байт 99-126N/ASPD
128-255«Свободное» поле для внесения дополнительной информацииN/AOEM
256+ЗарезервированоN/AOEM

Примечание: размерность (Units) характеризует единицы измерения указываемых данных; поле категории (FC — Field Category) указывает одну из четырех характеристик информационного поля; значение N/A (Not Available) указывает на неопределенность размерности параметра

Правильность записанных данных в EEPROM проверяется дважды (две контрольные суммы по адресам 63 и 127), поскольку карта программирования RIMM включает в адреса 99-126 строго обязательные (а не факультативные, как в стандартной схеме SPD) данные. Схема проверки выглядит следующим образом: 1 — складываются все данные в бинарном виде по адресам 0-62 и 99-126; 2 — исключаются биты [7:4], кроме младших бит байта [3:0] для каждого диапазона значений отдельно; 3 — полученные результаты сохраняются по адресам 63 и 127 для контрольных сумм 0-62 и 99-126 соответственно.

Более детальную информацию о описании и назначении всех информационных байт, использующихся в схеме последовательного детектирования SPD RIMM для описания RDRAM, регламентированного собственным стандартом, а также примеры карт программирования можно найти в документах [14]-[16] из «Списка использованных источников». Полную информацию о временных параметрах, аббревиатурах, используемых в Rambus DRAM, которые применяются в SPD RIMM, можно найти в документах [1], [2], [21], [22]. Примеры интерфейса модуля RIMM, монтаж микросхемы EEPROM и ее цоколевку можно найти в документах [23], [24].

«Практика» SPD: для чего это нужно

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

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

Начиная с этого момента ситуация кардинально меняется: любой конечный пользователь будет заинтересован в том, чтобы выжать из модуля памяти максимум на что он способен — будь то модуль со средними действительными характеристиками, или с намного лучшими средних. Физическое изолирование вывода WP (линию SWP просто подтягивают внешним резистором, обеспечивая постоянный высокий уровень сигнала), ответственного за «переключение» режима работы EEPROM (чтение/запись), является жесткой рекомендацией спецификации для производителей модулей памяти, однако на практике далеко не все придерживаются подобного рода требований. Конкретная реализация механизма защиты является скоре исключением, которое можно встретить разве что у именитых производителей модулей, поскольку обычно возможность перезаписи содержимого SPD открыта. Отдельно хочется обратить внимание на то, что механизм защиты может быть также жестко реализован конкретным производителем материнской платы физической изоляцией линии WP от компонента чипсета до разъема для модуля памяти. Для специалиста не составит труда написать программу, которая бы могла в этом случае «перепрошивать» содержимое EEPROM на модуле — необходимо только грамотно переписать карту программирования с учетом установки желаемых параметров и запрограммировать интегрированный контроллер интерфейса SMBus с учетом используемого транспортного протокола. Примером такой программы может служить «SPDWrite», написанная Владимиром Бобровым и Александром Щеголевым, — довольно простой по функциональности и четко работающий программатор. Первая версия SPDWrite полностью совместима пока только с мостом FW82371EB (PIIX4E), входящим в состав логического окружения i82440BX/ZX, однако в последующие версии программатора будет добавлена поддержка и других контроллеров периферийных компонент.

Если необходимо только просмотреть содержимое микросхемы SPD, то можно воспользоваться одной из следующих программ. Основную информацию о всех модулях памяти, присутствующих в системе, можно узнать при помощи программы «DIMM-ID», разработанную компанией RM Plc. Подробно карту программирования SPD EEPROM можно считать при помощи программы «SiSoft SIMM/DIMM/RIMM SPD Analyzer», входящий в комплект пакета SiSoft Sandra. Очень подробную информацию, включая дамп содержимого микросхемы и список известных производителей, предоставляет программа «On DIMM SPD Tools» нашего соотечественника Дмитрия Полтавцева. Еще одна разработка «DIMM SPD Information» также нашего соотечественника Константина Алешина предлагает довольно краткую информацию о модуле памяти, исходя из состояния всего лишь нескольких байт в микросхеме SPD. Программа «MemSPD», написанная Ray Van Tassle, поможет оценить скорость работы памяти и текущие тайминговые установки. Информацию о поддержке и текущем состоянии интерфейса SMBus может выдать программа «System-Management-Bus-Scanner» от немецкой фирмы c’t. От этой же фирмы есть утилита «BIOS-Info», которая выдает основную информацию о версии системной BIOS, ее производителе и т.д. Однако самой, пожалуй, удобной программой по считыванию содержимого микросхемы памяти SPD EEPROM является «ctSPD» от все той же компании c’t — предлагается как специально «урезанная» версия для пользователей Windows’9x, так и полная для всех разновидностей Windows ОС.

Хочется обратить особое внимание на то, что не все программы считывания данных с SPD EEPROM корректно указывают производителя модуля памяти, поскольку содержат в себе базу идентификационных кодов на какой-то определенный момент — обновление базы происходит через строго определенный период, согласно требований JCB-94-02, определяемых в рамках JC-42.3. Иными словами, если какая-то программа выдает информацию о том, что производитель модуля неизвестен или его невозможно определить, то скорее всего данного кода в ее базе просто нет. В этом случае следует воспользоваться любым «декодером», способным выдавать дамп содержимого микросхемы SPD EEPROM (например, SiSoft SPD Analyzer, On DIMM SPD Tools и ctSPD), посмотреть содержимое ячеек байт 64-71 исследуемого модуля памяти и сравнить считанный код с последним обновлением документа JEP106.

В случае же, если используется нормальный модуль с «изолированным» выводом WP, можно рекомендовать лишь два способа. Лобовым и самым простым решением является обычная «настройка подсистемы памяти в системном BIOS» (если такая возможность имеется) — параметр SDRAM Configuration устанавливается в положение Manual (установка этого параметра в значение «by SPD» говорит о том, что все параметры берутся из соответствующих записанных значений в микросхеме последовательного детектирования), после чего производится настройка необходимых установок, игнорируя значения, считываемые из микросхемы SPD. Конечно, возможности установки параметров через системный BIOS не такие гибкие, как это предоставляет механизм SPD, но, в целом, настройки подсистемы памяти, регулирующиеся через системный BIOS, являются основными. Стоит отметить, что далеко не каждый BIOS обладает широкими настройками — все еще зависит от конечного производителя материнской платы, используемого набора базовой логики и типа самого BIOS.

Вторым способом жестко изменить требуемые параметры, но уже непосредственно в микросхеме SPD EEPROM или просто поправить контрольную сумму (иногда бывает, что в SPD записывают неверное значение), можно воспользоваться одной из программ перезаписывания содержимого микросхем последовательного интерфейса: воспользоваться либо программой «PonyProg — Serial Device Programmer» от Claudio Lanconelli, которую можно найти на LancOS, либо оболочкой «IC-Prog Prototype Programmer» от Bonny Gijzen, свободно доступной на IC-Prog. Данные программаторы обладают дружественным GUI, работают в среде Windows/UNIX, имеют достаточно обширную базу поддерживаемых транспортных протоколов (не только Inter-IC) и типов устройств (не только EEPROM), совместимы с довольно большим количеством аппаратных интерфейсов, подключаемых к последовательному и параллельному портам ПК, и позволяют считывать, редактировать и перезаписывать данные прямо в оболочке. Проблема заключается лишь в том, что эти программы работают только с внешними специальными адаптерами (принципиальные схемы прилагаются в документации свободно доступной на соответствующих ресурсах) — поэтому микросхему EEPROM из модуля памяти необходимо выпаивать, перезаписывать данные и впаивать обратно. Примеры карт программирования для различных модулей памяти, использующих различные фундаментальные типы ДОЗУ, можно посмотреть в разделе «Приложения».

В целом, для пользователей у которых материнская плата имеет AWARD BIOS, перепрошивкой содержимого микросхемы SPD заниматься не стоит, поскольку все временные параметры, которые оказывают значительное влияние на производительность подсистемы памяти, могут регулироваться из этой BIOS. AMI BIOS также позволяет достаточно гибко настраивать тайминги работы памяти. Поэтому «физические» манипуляции с микросхемой SPD EEPROM имеют смысл для обладателей материнских плат, содержащих BIOS типа Phoenix, который используется, например, на всех продуктах от Intel. Конечной целью в таком случае является по большому счету исправление часто встречающейся неправильной контрольной суммы, что абсолютно не важно для AWARD/AMI, однако критично для Phoenix BIOS, поскольку неверное значение система воспринимает как неправильно считанные данные и последующая загрузка (точнее говоря — прохождение POST) становится проблематичной. Нет смысла говорить о том, что простое выпаивание SPD EEPROM без перепрограммирования не решит проблемы, поскольку присутствие этой микросхемы на модуле памяти с полностью корректными данными является обязательным условием для работы в системе с Phoenix BIOS.

И главное — не стоит забывать, что подобные процедуры вмешательства на «очень низком уровне» сопряжены с огромными трудностями о которых даже не имеет смысла говорить.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *