
Как известно, самые главные факторы эволюции оперативной памяти персональных платформ связаны с тактовыми частотами запоминающей матрицы и трактов передачи данных, а также соотношением двух этих величин. При этом в центре внимания неизменно находится пропускная способность интерфейса DRAM, выраженная в гигабайтах в секунду. Но пользователю совсем не обязательно помнить цифровые значения, описывающие производительность памяти. За это отвечает крохотный чип, которым оснащаются модули — SPD. Фокус в том, что в ближайшее время на него будут возложены дополнительные обязанности, о которых мало кто догадывается.
Немного теории
Полный набор операционных параметров современных схем оперативной памяти включает сотни величин, как цифровых, так и аналоговых, описывающих электрофизические условия и тайминги, требующие учета при инициализации DRAM-контроллера и программируемых цепей питания. Одним из этапов процедуры POST, выполняемой встроенным программным обеспечением (UEFI/BIOS) при старте платформы, является задание режимов схем управления DRAM, в соответствии с набором и типом установленных модулей.
Для автоматической идентификации, каждый из модулей оперативной памяти снабжен дополнительной микросхемой постоянного запоминающего устройства, хранящей его параметры. Традиционно, для этой цели используется чип 24C02 или аналог. Это запоминающее устройство с последовательным доступом и объемом 256 байт.
Термин SPD (Serial Presence Detect) широко используется в технической литературе. Его-то как раз и ожидают важные нововведения, которые до последнего времени незаслуженно остаются в тени:
согласно нормативным документам комитета JEDEC (и дополнения EE1004-v) размер постоянного запоминающего устройства увеличивается до 512 байт, а сама микросхема снабжается термодатчиком, что дает возможность программно прочитать температуру модуля DIMM в точке размещения SPD-чипа.
Про альтернативы
Отметим, конкурирующая технология интеграции термодатчика в кристаллы DRAM имеет несколько иное позиционирование: результат измерения оказывает автономное влияние на операционные параметры в пределах одной микросхемы динамической памяти. Доступ хост-процессора персональной платформы к прочитанному значению температуры с целью централизованного управления режимами подсистемы ОЗУ, в зависимости от схемотехнической реализации невозможен или ограничен.
Кроме термокомпенсации, реализованной в кристаллах DRAM, уже несколько десятилетий существуют Vendor-Specific решения по размещению программно-доступных термодатчиков в различных точках системы, в том числе и на модулях памяти, но упомянутый документ JEDEC, явившийся поводом для данной публикации, унифицирует подходы температурного менеджмента DRAM.
Аппаратные подробности
Максимально сходный набор сигналов «старой» и «новой» микросхем облегчил задачу адаптации печатных плат. Посигнально сравним корпуса микросхем:
- Входные линии A0-A2/SA0-SA2 (контакты 1-3) в двоичном коде задают один из 8 фиксированных адресов, назначаемых DIMM-модулю на I2C-шине. Микросхема сравнивает этот код и адрес, поступивший по шине, в случае их совпадения, отвечает на транзакцию.
- Двунаправленная линия SDA или Serial Data (контакт 5) используется для передачи в микросхему адреса, записываемых данных и управляющей информации, а также для выдачи читаемых данных.
- Входная линия SCL или Serial Clock (контакт 6) тактирует информацию, передаваемую по линии Serial Data.
- Назначение контакта 7 различается: для классического I2C EPROM — защита от записи (Write Protect). Для SPD с термодатчиком — выход EVENT, сигнализирующий о различных событиях, например, достижении критической температуры. Тип события, а равно полярность сигнала (активный уровень), задается программно.
- Линия VCC или VDDSPD, контакт 8, предназначена для подачи напряжения питания. Типовые I2C EPROM выпускались для работы в диапазоне рабочих напряжений от 1.8 до 5.5 вольт. Новые микросхемы, согласно нормативным документам JEDEC, опционально поддерживают диапазоны от 1.7 до 3.6 вольт.
- GND, Ground или VSSSPD — земля источника питания.
Как видно, в новых микросхемах отсутствует аппаратный сигнал защиты записи, так как 7-й контакт используется для цепи EVENT. Операция установки и снятия защиты выполняется программно, при этом аппаратным ключом является подача на линию SA0 повышенного напряжения Vhv = 7.0-10.0 вольт. Этот трюк был необходим для расширения функциональности, без ущерба для уровня защиты при условии сохранения 8-контактного корпуса микросхемы, традиционного используемого для хранения SPD.
При минимальных различиях в наборе аппаратных сигналов, внутренняя архитектурная модель SPD претерпела существенные изменения. Выше изображены три формата адреса для шины I2C (синоним System Management Bus), используемые при доступе к трем внутренним регистровым блокам микросхемы: термодатчика, запоминающего устройства и схемы управления защитой записи.
Программные подробности
Рассмотрим регистровые модели SPD, интегрированных в микросхему идентификации модуля памяти DDR4:
Согласно выше приведенной таблице, весомая часть запоминающего устройства выделяется для информации, находящейся вне сферы действия основного стандарта, определяемой производителем модуля. Здесь стоит вспомнить об оверклокерских профилях или XMP.
Совмещение оперативной и энергонезависимой памяти в одном модуле стало одной из причин для увеличения объема данных, хранимых в SPD, что иллюстрируется выше приведенной таблицей.
Датчики температуры каждого из модулей, снабженные дополнительными регистрами идентификации и статуса, доступны для встроенного программного обеспечения платформы и операционной системы, как устройства, адресуемые на шине System Management Bus. Главный параметр — Ambient Temperature — отражает текущую температуру.
Вместо послесловия
Инициатива JEDEC поддержана основными производителями элементной базы. Среди которых
- IDT — TSE2004GB2B0
- Microchip — MCP9843/98243
- STMicroelectronics — STTS2004
Очевидно, одной из особенностей переходного периода станет его разделение на этапы, что выразилось, например, в возможности применения чипов, снабженных термодатчиком, но имеющих классический объем 256 байт.