В вычислении , последовательное обнаружение присутствия ( СПД ) представляет собой стандартизированный способ для автоматического доступа информации о модуле памяти . Ранее 72-контактные модули SIMM включали пять контактов, которые обеспечивали пять бит данных параллельного обнаружения присутствия (PPD), но стандарт 168-контактных модулей DIMM был изменен на последовательное обнаружение присутствия, чтобы кодировать гораздо больше информации. [1]
Когда обычный современный компьютер включен, он начинает, делая при включении питания самотестирования (POST). Примерно с середины 1990-х годов этот процесс включает в себя автоматическую настройку оборудования, имеющегося в настоящее время. SPD - это аппаратная функция памяти, которая позволяет компьютеру узнать, какая память присутствует и какие тайминги памяти использовать для доступа к памяти.
Некоторые компьютеры полностью автоматически адаптируются к изменениям оборудования. В большинстве случаев существует специальная необязательная процедура для доступа к параметрам BIOS , чтобы просмотреть и, возможно, внести изменения в настройки. Возможно, появится возможность управлять тем, как компьютер использует данные SPD памяти - выбирать настройки, выборочно изменять тайминги памяти или, возможно, полностью отменять данные SPD (см. Разгон ).
Сохраненная информация [ править ]
Чтобы модуль памяти поддерживал SPD, стандарты JEDEC требуют, чтобы определенные параметры находились в младших 128 байтах EEPROM, расположенного на модуле памяти. Эти байты содержат параметры синхронизации, производителя, серийный номер и другую полезную информацию о модуле. Устройства, использующие память, автоматически определяют ключевые параметры модуля, считывая эту информацию. Например, данные SPD в модуле SDRAM могут предоставлять информацию о задержке CAS, чтобы система могла правильно ее установить без вмешательства пользователя.
Доступ к SPD EEPROM осуществляется с помощью SMBus , варианта протокола I²C . Это сокращает количество коммуникационных контактов на модуле до двух: тактовый сигнал и сигнал данных. EEPROM имеет общие контакты заземления с RAM, имеет свой собственный вывод питания и три дополнительных контакта (SA0–2) для идентификации слота, которые используются для присвоения EEPROM уникального адреса в диапазоне 0x50–0x57. Линии связи могут использоваться не только 8 модулями памяти, одна и та же шина SMBus обычно используется на материнских платах для задач мониторинга состояния системы, таких как считывание напряжения источника питания, температуры процессора и скорости вращения вентилятора.
EEPROM SPD также отвечают на адреса I²C 0x30–0x37, если они не защищены от записи, а расширение (серия TSE) использует адреса 0x18–0x1F для доступа к дополнительному встроенному датчику температуры. Все эти значения представляют собой семибитные адреса I²C, образованные префиксом кода идентификатора типа устройства (DTIC) с SA0-2: один использует для чтения (1100) из слота 3 110 0011 = 0x33
. С последним битом чтения / записи он формирует 8-битный код выбора устройства. [2] Обратите внимание, что семантика идентификатора слота отличается для операций защиты от записи: для них они могут вообще не передаваться контактами SA. [3]
До SPD микросхемы памяти обнаруживались с помощью параллельного обнаружения присутствия (PPD). PPD использовал отдельный вывод для каждого бита информации, что означало, что можно было сохранить только скорость и плотность модуля памяти из-за ограниченного пространства для выводов.
SDR SDRAM [ править ]
Первая спецификация SPD была выпущена JEDEC и ужесточена Intel как часть спецификации памяти PC100 . [4] Большинство значений указаны в десятичной двоичной форме. Самый старший полубайт может содержать значения от 10 до 15, а в некоторых случаях может быть выше. В таких случаях вместо этого используются кодировки для 1, 2 и 3 для кодирования 16, 17 и 18. Старший полубайт 0 зарезервирован для представления «неопределенного».
ПЗУ SPD определяет до трех таймингов DRAM для трех задержек CAS, заданных битами в байте 18. Сначала идет самая высокая задержка CAS (самая быстрая тактовая частота), затем две более низкие задержки CAS с постепенно снижающимися тактовыми частотами.
Байт | Немного | Заметки | ||||||||
---|---|---|---|---|---|---|---|---|---|---|
(реш.) | (шестнадцатеричный.) | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
0 | 0x00 | Количество присутствующих байтов | Обычно 128 | |||||||
1 | 0x01 | log 2 (размер SPD EEPROM) | Обычно 8 (256 байт) | |||||||
2 | 0x02 | Базовый тип памяти (4: SPD SDRAM) | ||||||||
3 | 0x03 | Банк 2 бит адреса строки (0–15) | Биты адреса строки банка 1 (1–15) | Банк 2 равен 0, если он совпадает с банком 1 | ||||||
4 | 0x04 | Биты адреса столбца банка 2 (0–15) | Биты адреса столбца банка 1 (1–15) | Банк 2 равен 0, если он совпадает с банком 1 | ||||||
5 | 0x05 | Количество банков RAM в модуле (1–255) | Обычно 1 или 2 | |||||||
6 | 0x06 | Младший байт ширины данных модуля | Обычно 64 или 72 для модулей DIMM с ECC | |||||||
7 | 0x07 | Ширина данных модуля, старший байт | 0, если ширина ≥ 256 бит | |||||||
8 | 0x08 | Уровень напряжения интерфейса этой сборки (не совпадает с напряжением питания V cc ) (0–4) | Декодировано поиском по таблице | |||||||
9 | 0x09 | Наносекунды (0–15) | Десятые доли наносекунды (0,0–0,9) | Время цикла часов при максимальной задержке CAS | ||||||
10 | 0x0a | Наносекунды (0–15) | Десятые доли наносекунды (0,0–0,9) | Время доступа к SDRAM с часов (t AC ) | ||||||
11 | 0x0b | Тип конфигурации DIMM (0–2): без ECC, четность, ECC | Поиск по таблице | |||||||
12 | 0x0c | Себя | Период обновления (0–5): 64, 256, 128, 32, 16, 8 кГц | Обновить требования | ||||||
13 | 0x0d | Банк 2 2 × | Ширина первичной SDRAM банка 1 (1–127, обычно 8) | Ширина устройств SDRAM данных банка 1. Банк 2 может иметь одинаковую ширину или 2 × ширину, если установлен бит 7. | ||||||
14 | 0x0e | Банк 2 2 × | Ширина ECC SDRAM банка 1 (0–127) | Ширина устройств SDRAM с ECC / четностью банка 1. Банк 2 может иметь одинаковую ширину или 2 × ширину, если установлен бит 7. | ||||||
15 | 0x0f | Задержка часов для случайных чтений столбцов | Обычно 1 | |||||||
16 | 0x10 | Страница | - | - | - | 8 | 4 | 2 | 1 | Поддерживаемые длины пакетов (растровое изображение) |
17 | 0x11 | Банков на устройство SDRAM (1–255) | Обычно 2 или 4 | |||||||
18 | 0x12 | - | 7 | 6 | 5 | 4 | 3 | 2 | 1 | Поддерживаемые задержки CAS (растровое изображение) |
19 | 0x13 | - | 6 | 5 | 4 | 3 | 2 | 1 | 0 | Поддерживаемые задержки CS (растровое изображение) |
20 | 0x14 | - | 6 | 5 | 4 | 3 | 2 | 1 | 0 | Поддерживаются задержки WE (растровое изображение) |
21 год | 0x15 | - | Избыточный | Diff. Часы | Зарегистрированные данные | Буферизованные данные | Встроенная ФАПЧ | Зарегистрированный адрес. | Буферизованный адрес. | Растровое изображение функции модуля памяти |
22 | 0x16 | - | - | Верхний допуск V cc (напряжение питания) | Нижний допуск V cc (напряжение питания) | Запись / 1 чтение | Предварительно зарядить все | Автоматическая предзарядка | Ранняя предварительная зарядка RAS | Функция чипа памяти поддерживает растровое изображение |
23 | 0x17 | Наносекунды (4–18) | Десятые доли наносекунды (0–9: 0,0–0,9) | Время такта при средней задержке CAS | ||||||
24 | 0x18 | Наносекунды (4–18) | Десятые доли наносекунды (0–9: 0,0–0,9) | Время доступа к данным с часов (t AC ) | ||||||
25 | 0x19 | Наносекунды (1–63) | 0,25 нс (0–3: 0,00–0,75) | Время такта при короткой задержке CAS. | ||||||
26 | 0x1a | Наносекунды (1–63) | 0,25 нс (0–3: 0,00–0,75) | Время доступа к данным с часов (t AC ) | ||||||
27 | 0x1b | Наносекунды (1–255) | Минимальное время предварительной зарядки ряда (t RP ) | |||||||
28 год | 0x1c | Наносекунды (1–255) | Минимальная задержка между активной строкой и активной строкой (t RRD ) | |||||||
29 | 0x1d | Наносекунды (1–255) | Минимальная задержка от RAS до CAS (t RCD ) | |||||||
30 | 0x1e | Наносекунды (1–255) | Минимальное время от активации до предварительной зарядки (t RAS ) | |||||||
31 год | 0x1f | 512 МБ | 256 МБ | 128 МБ | 64 МБ | 32 МБ | 16 МБ | 8 МБ | 4 МБ | Плотность банка модулей (bitmap). Два бита устанавливаются, если банки разного размера. |
32 | 0x20 | Знак (1: -) | Наносекунды (0–7) | Десятые доли наносекунды (0–9: 0,0–0,9) | Время установки адреса / команды с часов | |||||
33 | 0x21 | Знак (1: -) | Наносекунды (0–7) | Десятые доли наносекунды (0–9: 0,0–0,9) | Время удержания адреса / команды после часов | |||||
34 | 0x22 | Знак (1: -) | Наносекунды (0–7) | Десятые доли наносекунды (0–9: 0,0–0,9) | Установка времени ввода данных с часов | |||||
35 год | 0x23 | Знак (1: -) | Наносекунды (0–7) | Десятые доли наносекунды (0–9: 0,0–0,9) | Время удержания ввода данных после часов | |||||
36–61 | 0x24–0x3d | Зарезервированный | Для будущей стандартизации | |||||||
62 | 0x3e | Основная версия (0–9) | Незначительная редакция (0–9) | Уровень ревизии СПД; например, 1.2 | ||||||
63 | 0x3f | Контрольная сумма | Сумма байтов 0–62, не инвертируемая | |||||||
64–71 | 0x40–47 | Производитель JEDEC id. | Хранится с прямым порядком байтов, завершение с нулевым дополнением | |||||||
72 | 0x48 | Место изготовления модуля | Код производителя | |||||||
73–90 | 0x49–0x5a | Номер детали модуля | ASCII, заполненный пробелами | |||||||
91–92 | 0x5b – 0x5c | Код версии модуля | Код производителя | |||||||
93 | 0x5d | Десятки лет (0–9: 0–90) | Годы (0–9) | Дата изготовления (YYWW) | ||||||
94 | 0x5e | Десятки недель (0–5: 0–50) | Недели (0–9) | |||||||
95–98 | 0x5f – 0x62 | Серийный номер модуля | Код производителя | |||||||
99–125 | 0x63–0x7f | Данные производителя | Может быть улучшен профиль производительности | |||||||
126 | 0x7e | 0x66 [ sic ] для 66 МГц, 0x64 для 100 МГц | Поддержка частоты Intel | |||||||
127 | 0x7f | CLK0 | CLK1 | CLK3 | CLK3 | 90/100 ° С | CL3 | CL2 | Параллельная точка доступа | Растровое изображение функции Intel |
DDR SDRAM [ править ]
Формат DDR DIMM SPD является расширением формата SDR SDRAM. В основном диапазоны параметров масштабируются для соответствия более высоким скоростям.
Байт | Немного | Заметки | ||||||||
---|---|---|---|---|---|---|---|---|---|---|
(реш.) | (шестнадцатеричный.) | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
0 | 0x00 | Количество записанных байтов | Обычно 128 | |||||||
1 | 0x01 | log 2 (размер SPD EEPROM) | Обычно 8 (256 байт) | |||||||
2 | 0x02 | Базовый тип памяти (7 = DDR SDRAM) | ||||||||
3 | 0x03 | Банк 2 бит адреса строки (0–15) | Биты адреса строки банка 1 (1–15) | Банк 2 равен 0, если он совпадает с банком 1. | ||||||
4 | 0x04 | Биты адреса столбца банка 2 (0–15) | Биты адреса столбца банка 1 (1–15) | Банк 2 равен 0, если он совпадает с банком 1. | ||||||
5 | 0x05 | Количество банков RAM в модуле (1–255) | Обычно 1 или 2 | |||||||
6 | 0x06 | Младший байт ширины данных модуля | Обычно 64 или 72 для модулей DIMM с ECC | |||||||
7 | 0x07 | Ширина данных модуля, старший байт | 0, если ширина ≥ 256 бит | |||||||
8 | 0x08 | Уровень напряжения интерфейса этой сборки (не совпадает с напряжением питания V cc ) (0–5) | Декодировано поиском по таблице | |||||||
9 | 0x09 | Наносекунды (0–15) | Десятые доли наносекунды (0,0–0,9) | Время тактового цикла при максимальной задержке CAS. | ||||||
10 | 0x0a | Десятые доли наносекунды (0,0–0,9) | Сотые доли наносекунд (0,00–0,09) | Время доступа к SDRAM с часов (t AC ) | ||||||
11 | 0x0b | Тип конфигурации DIMM (0–2): без ECC, четность, ECC | Поиск по таблице | |||||||
12 | 0x0c | Себя | Период обновления (0–5): 64, 256, 128, 32, 16, 8 кГц | Обновить требования | ||||||
13 | 0x0d | Банк 2 2 × | Ширина первичной SDRAM банка 1 (1–127) | Ширина устройств SDRAM данных банка 1. Банк 2 может иметь одинаковую ширину или 2 × ширину, если установлен бит 7. | ||||||
14 | 0x0e | Банк 2 2 × | Ширина ECC SDRAM банка 1 (0–127) | Ширина устройств SDRAM с ECC / четностью банка 1. Банк 2 может иметь одинаковую ширину или 2 × ширину, если установлен бит 7. | ||||||
15 | 0x0f | Задержка часов для случайных чтений столбцов | Обычно 1 | |||||||
16 | 0x10 | Страница | - | - | - | 8 | 4 | 2 | 1 | Поддерживаемые длины пакетов (растровое изображение) |
17 | 0x11 | Банков на устройство SDRAM (1–255) | Обычно 4 | |||||||
18 | 0x12 | - | 4 | 3.5 | 3 | 2,5 | 2 | 1.5 | 1 | Поддерживаемые задержки CAS (растровое изображение) |
19 | 0x13 | - | 6 | 5 | 4 | 3 | 2 | 1 | 0 | Поддерживаемые задержки CS (растровое изображение) |
20 | 0x14 | - | 6 | 5 | 4 | 3 | 2 | 1 | 0 | Поддерживаются задержки WE (растровое изображение) |
21 год | 0x15 | - | Икс | Часы дифференциала | Внешнее включение переключателя на полевых транзисторах | Встроенный переключатель FET | Встроенная ФАПЧ | Зарегистрировано | Буферизованный | Растровое изображение функции модуля памяти |
22 | 0x16 | Быстрая точка доступа | Параллельная автоматическая предзарядка | Верхний допуск V cc (напряжение питания) | Нижний допуск V cc (напряжение питания) | - | - | - | Включает слабый драйвер | Растровое изображение функции микросхемы памяти |
23 | 0x17 | Наносекунды (0–15) | Десятые доли наносекунды (0,0–0,9) | Время такта при средней задержке CAS. | ||||||
24 | 0x18 | Десятые доли наносекунды (0,0–0,9) | Сотые доли наносекунд (0,00–0,09) | Время доступа к данным с часов (t AC ) | ||||||
25 | 0x19 | Наносекунды (0–15) | Десятые доли наносекунды (0,0–0,9) | Время такта при короткой задержке CAS. | ||||||
26 | 0x1a | Десятые доли наносекунды (0,0–0,9) | Сотые доли наносекунд (0,00–0,09) | Время доступа к данным с часов (t AC ) | ||||||
27 | 0x1b | Наносекунды (1–63) | 0,25 нс (0–0,75) | Минимальное время предварительной зарядки ряда (t RP ) | ||||||
28 год | 0x1c | Наносекунды (1–63) | 0,25 нс (0–0,75) | Минимальная задержка между активной строкой и активной строкой (t RRD ) | ||||||
29 | 0x1d | Наносекунды (1–63) | 0,25 нс (0–0,75) | Минимальная задержка от RAS до CAS (t RCD ) | ||||||
30 | 0x1e | Наносекунды (1–255) | Минимальное время от активации до предварительной зарядки (t RAS ) | |||||||
31 год | 0x1f | 512 МБ | 256 МБ | 128 МБ | 64 МБ | 32 МБ | 16 МиБ / 4 ГиБ | 8 МБ / 2 ГБ | 4 МиБ / 1 ГиБ | Плотность банка модулей (bitmap). Два бита устанавливаются, если банки разного размера. |
32 | 0x20 | Десятые доли наносекунды (0,0–0,9) | Сотые доли наносекунд (0,00–0,09) | Время установки адреса / команды с часов | ||||||
33 | 0x21 | Десятые доли наносекунды (0,0–0,9) | Сотые доли наносекунд (0,00–0,09) | Время удержания адреса / команды после часов | ||||||
34 | 0x22 | Десятые доли наносекунды (0,0–0,9) | Сотые доли наносекунд (0,00–0,09) | Установка времени ввода данных с часов | ||||||
35 год | 0x23 | Десятые доли наносекунды (0,0–0,9) | Сотые доли наносекунд (0,00–0,09) | Время удержания ввода данных после часов | ||||||
36–40 | 0x24–0x28 | Зарезервированный | Информация о суперсете | |||||||
41 год | 0x29 | Наносекунды (1–255) | Минимальное время активности / обновления (t RC ) | |||||||
42 | 0x2a | Наносекунды (1–255) | Минимальное обновление до времени активности / обновления (t RFC ) | |||||||
43 год | 0x2b | Наносекунды (1–63 или 255: без максимума) | 0,25 нс (0–0,75) | Максимальное время такта (t CK макс.) | ||||||
44 год | 0x2c | Сотые доли наносекунд (0,01–2,55) | Максимальный перекос, DQS на любой DQ. (t DQSQ макс.) | |||||||
45 | 0x2d | Десятые доли наносекунды (0,0–1,2) | Сотые доли наносекунд (0,00–0,09) | Коэффициент перекоса удержания данных при чтении (т QHS ) | ||||||
46 | 0x2e | Зарезервированный | Для будущей стандартизации | |||||||
47 | 0x2f | - | Высота | Высота модуля DIMM, поиск по таблице | ||||||
48–61 | 0x30–0x3d | Зарезервированный | Для будущей стандартизации | |||||||
62 | 0x3e | Основная версия (0–9) | Незначительная редакция (0–9) | Уровень ревизии SPD, 0,0 или 1,0 | ||||||
63 | 0x3f | Контрольная сумма | Сумма байтов 0–62, не инвертируемая | |||||||
64–71 | 0x40–47 | Производитель JEDEC id. | Хранится с прямым порядком байтов, завершение с нулевым дополнением | |||||||
72 | 0x48 | Место изготовления модуля | Код производителя | |||||||
73–90 | 0x49–0x5a | Номер детали модуля | ASCII, заполненный пробелами | |||||||
91–92 | 0x5b – 0x5c | Код версии модуля | Код производителя | |||||||
93 | 0x5d | Десятки лет (0–90) | Годы (0–9) | Дата изготовления (YYWW) | ||||||
94 | 0x5e | Десятки недель (0–50) | Недели (0–9) | |||||||
95–98 | 0x5f – 0x62 | Серийный номер модуля | Код производителя | |||||||
99–127 | 0x63–0x7f | Данные производителя | Может быть улучшен профиль производительности |
DDR2 SDRAM [ править ]
В стандарт DDR2 SPD внесен ряд изменений, но он примерно аналогичен приведенному выше. Одно примечательное исключение - сбивающая с толку и мало используемая поддержка модулей DIMM с двумя уровнями разного размера.
Для полей времени цикла (байты 9, 23, 25 и 49), которые закодированы в BCD , некоторые дополнительные кодировки определены для десятых разряда, чтобы точно представить некоторые общие моменты времени:
Шестигранник | Двоичный | Значимость |
---|---|---|
А | 1010 | 0,25 (¼) |
B | 1011 | 0,33 (⅓) |
C | 1100 | 0,66 (⅔) |
D | 1101 | 0,75 (¾) |
E | 1110 | 0.875 (⅞, расширение Nvidia XMP) |
F | 1111 | Зарезервированный |
Байт | Немного | Заметки | ||||||||
---|---|---|---|---|---|---|---|---|---|---|
Декабрь | Шестигранник | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
0 | 0x00 | Количество записанных байтов | Обычно 128 | |||||||
1 | 0x01 | log 2 (размер SPD EEPROM) | Обычно 8 (256 байт) | |||||||
2 | 0x02 | Базовый тип памяти (8 = DDR2 SDRAM) | ||||||||
3 | 0x03 | Зарезервированный | Биты адреса строки (1–15) | |||||||
4 | 0x04 | Зарезервированный | Биты адреса столбца (1–15) | |||||||
5 | 0x05 | Вертикальная высота | Куча? | ConC? | Ранги − 1 (1–8) | Обычно 0 или 1, что означает 1 или 2 | ||||
6 | 0x06 | Ширина данных модуля | Обычно 64 или 72 для модулей DIMM с ECC | |||||||
7 | 0x07 | Зарезервированный | ||||||||
8 | 0x08 | Уровень напряжения интерфейса этой сборки (не совпадает с напряжением питания V cc ) (0–5) | Декодируется поиском по таблице. Обычно 5 = SSTL 1,8 В | |||||||
9 | 0x09 | Наносекунды (0–15) | Десятые доли наносекунды (0,0–0,9) | Время тактового цикла при максимальной задержке CAS. | ||||||
10 | 0x0a | Десятые доли наносекунды (0,0–0,9) | Сотые доли наносекунд (0,00–0,09) | Время доступа к SDRAM с часов (t AC ) | ||||||
11 | 0x0b | Тип конфигурации DIMM (0–2): без ECC, четность, ECC | Поиск по таблице | |||||||
12 | 0x0c | Себя | Период обновления (0–5): 64, 256, 128, 32, 16, 8 кГц | Обновить требования | ||||||
13 | 0x0d | Ширина первичной SDRAM (1–255) | Обычно 8 (модуль построен из 8 частей) или 16 | |||||||
14 | 0x0e | Ширина ECC SDRAM (0–255) | Ширина банковских устройств SDRAM с ECC / четностью. Обычно 0 или 8. | |||||||
15 | 0x0f | Зарезервированный | ||||||||
16 | 0x10 | - | - | - | - | 8 | 4 | - | - | Поддерживаемые длины пакетов (растровое изображение) |
17 | 0x11 | Банков на устройство SDRAM (1–255) | Обычно 4 или 8 | |||||||
18 | 0x12 | 7 | 6 | 5 | 4 | 3 | 2 | - | - | Поддерживаемые задержки CAS (растровое изображение) |
19 | 0x13 | Зарезервированный | ||||||||
20 | 0x14 | - | - | Мини-UDIMM | Мини-RDIMM | Micro-DIMM | SO-DIMM | UDIMM | RDIMM | Тип DIMM этой сборки (растровое изображение) |
21 год | 0x15 | - | Модуль аналитический зонд | - | Внешнее включение переключателя на полевых транзисторах | - | - | - | - | Растровое изображение функции модуля памяти |
22 | 0x16 | - | - | - | - | - | - | - | Включает слабый драйвер | Растровое изображение функции микросхемы памяти |
23 | 0x17 | Наносекунды (0–15) | Десятые доли наносекунды (0,0–0,9) | Время такта при средней задержке CAS. | ||||||
24 | 0x18 | Десятые доли наносекунды (0,0–0,9) | Сотые доли наносекунд (0,00–0,09) | Время доступа к данным с часов (t AC ) | ||||||
25 | 0x19 | Наносекунды (0–15) | Десятые доли наносекунды (0,0–0,9) | Время такта при короткой задержке CAS. | ||||||
26 | 0x1a | Десятые доли наносекунды (0,0–0,9) | Сотые доли наносекунд (0,00–0,09) | Время доступа к данным с часов (t AC ) | ||||||
27 | 0x1b | Наносекунды (1–63) | 1/4 нс (0–0,75) | Минимальное время предварительной зарядки ряда (t RP ) | ||||||
28 год | 0x1c | Наносекунды (1–63) | 1/4 нс (0–0,75) | Минимальная задержка между активной строкой и активной строкой (t RRD ) | ||||||
29 | 0x1d | Наносекунды (1–63) | 1/4 нс (0–0,75) | Минимальная задержка от RAS до CAS (t RCD ) | ||||||
30 | 0x1e | Наносекунды (1–255) | Минимальное время от активации до предварительной зарядки (t RAS ) | |||||||
31 год | 0x1f | 512 МБ | 256 МБ | 128 МБ | 16 ГиБ | 8 ГиБ | 4 ГиБ | 2 ГиБ | 1 ГиБ | Размер каждого ранга (битовая карта). |
32 | 0x20 | Десятые доли наносекунды (0,0–1,2) | Сотые доли наносекунд (0,00–0,09) | Время установки адреса / команды с часов | ||||||
33 | 0x21 | Десятые доли наносекунды (0,0–1,2) | Сотые доли наносекунд (0,00–0,09) | Время удержания адреса / команды после часов | ||||||
34 | 0x22 | Десятые доли наносекунды (0,0–0,9) | Сотые доли наносекунд (0,00–0,09) | Время настройки ввода данных из строба | ||||||
35 год | 0x23 | Десятые доли наносекунды (0,0–0,9) | Сотые доли наносекунд (0,00–0,09) | Время удержания ввода данных после строба | ||||||
36 | 0x24 | Наносекунды (1–63) | 0,25 нс (0–0,75) | Минимальное время восстановления записи (t WR ) | ||||||
37 | 0x25 | Наносекунды (1–63) | 0,25 нс (0–0,75) | Внутренняя задержка команды записи для чтения (t WTR ) | ||||||
38 | 0x26 | Наносекунды (1–63) | 0,25 нс (0–0,75) | Внутреннее чтение для задержки команды предварительной зарядки (t RTP ) | ||||||
39 | 0x27 | Зарезервированный | Зарезервировано для "анализа памяти характеристик датчика" | |||||||
40 | 0x28 | - | t RC дробное нс (0–5): 0, 0,25, 0,33, 0,5, 0,66, 0,75 | t RFC дробное число нс (0–5): 0, 0,25, 0,33, 0,5, 0,66, 0,75 | t RFC + 256 нс | Расширение байтов 41 и 42. | ||||
41 год | 0x29 | Наносекунды (1–255) | Минимальное время активности / обновления (t RC ) | |||||||
42 | 0x2a | Наносекунды (1–255) | Минимальное обновление до времени активности / обновления (t RFC ) | |||||||
43 год | 0x2b | Наносекунды (0–15) | Десятые доли наносекунды (0,0–0,9) | Максимальное время тактового цикла (t CK max) | ||||||
44 год | 0x2c | Сотые доли наносекунд (0,01–2,55) | Максимальный перекос, DQS на любой DQ. (t DQSQ макс.) | |||||||
45 | 0x2d | Сотые доли наносекунд (0,01–2,55) | Коэффициент перекоса удержания данных при чтении (т QHS ) | |||||||
46 | 0x2e | Микросекунды (1–255) | Время повторной блокировки PLL | |||||||
47–61 | 0x2f – 0x3d | Зарезервированный | Для будущей стандартизации. | |||||||
62 | 0x3e | Основная версия (0–9) | Незначительная доработка (0,0–0,9) | Уровень ревизии SPD, обычно 1.0 | ||||||
63 | 0x3f | Контрольная сумма | Сумма байтов 0–62, не инвертируется | |||||||
64–71 | 0x40–47 | Производитель JEDEC ID | Сохраненный прямой порядок байтов, завершающий нулевой блок | |||||||
72 | 0x48 | Место изготовления модуля | Код производителя | |||||||
73–90 | 0x49–0x5a | Номер детали модуля | ASCII, заполненный пробелами (ограничен (, -,), A – Z, a – z, 0–9, пробел) | |||||||
91–92 | 0x5b – 0x5c | Код версии модуля | Код производителя | |||||||
93 | 0x5d | Годы с 2000 г. (0–255) | Дата изготовления (YYWW) | |||||||
94 | 0x5e | Недели (1–52) | ||||||||
95–98 | 0x5f – 0x62 | Серийный номер модуля | Код производителя | |||||||
99–127 | 0x63–0x7f | Данные производителя | Может быть улучшен профиль производительности |
DDR3 SDRAM [ править ]
Стандарт DDR3 SDRAM значительно пересматривает и упрощает структуру содержимого SPD. Вместо ряда наносекундных полей в кодировке BCD некоторые единицы «временной развертки» задаются с высокой точностью, а различные параметры синхронизации кодируются как кратные этой базовой единице. [8] Кроме того, отказались от практики указания различных значений времени в зависимости от задержки CAS; теперь есть только один набор временных параметров.
Версия 1.1 позволяет выражать некоторые параметры как значение «средней временной развертки» плюс (со знаком, –128 +127) поправку «точной временной развертки». Обычно средняя развертка составляет 1/8 нс (125 пс), а точная временная развертка составляет 1, 2,5 или 5 пс. Для совместимости с более ранними версиями, в которых отсутствует коррекция, среднее значение временной базы обычно округляется в большую сторону, а значение коррекции отрицательное. Таким образом работают следующие ценности:
Байт MTB | Байт FTB | Значение |
---|---|---|
12 | 34 | t CK min, минимальный тактовый период |
16 | 35 год | t AA min, минимальное время задержки CAS |
18 | 36 | t Мин. УЗО , минимальная задержка от RAS # до CAS # |
20 | 37 | t RP min, минимальная задержка предварительной зарядки ряда |
21, 23 | 38 | t RC min, минимальная задержка активного и активного / предварительной зарядки |
Байт | Немного | Заметки | ||||||||
---|---|---|---|---|---|---|---|---|---|---|
Декабрь | Шестигранник | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
0 | 0x00 | Исключить серийный номер из CRC | Всего байт SPD (undef / 256) | Используемые байты SPD (undef / 128/176/256) | ||||||
1 | 0x01 | Основная доработка СПД | Младшая редакция СПД | 1.0, 1.1, 1.2 или 1.3 | ||||||
2 | 0x02 | Базовый тип памяти (11 = DDR3 SDRAM) | Тип микросхем RAM | |||||||
3 | 0x03 | Зарезервированный | Тип модуля | Тип модуля; например, 2 = небуферизованный DIMM, 3 = SO-DIMM, 11 = LRDIMM | ||||||
4 | 0x04 | - | Биты адреса банка − 3 | log 2 (бит на чип) −28 | Ноль означает 8 банков, 256 Mibit. | |||||
5 | 0x05 | - | Биты адреса строки-12 | Биты адреса столбца-9 | ||||||
6 | 0x06 | Зарезервированный | 1,25 В | 1,35 В | Не 1,5 В | Поддерживаемые напряжения модулей. 1,5 В. По умолчанию. | ||||
7 | 0x07 | - | разряды − 1 | log 2 (битов ввода / вывода на микросхему) −2 | Организация модуля | |||||
8 | 0x08 | - | Биты ECC (001 = 8) | log 2 (биты данных) −3 | 0x03 для 64-битных модулей DIMM без ECC. | |||||
9 | 0x09 | Дивиденд, пикосекунды (1–15) | Делитель, пикосекунды (1–15) | Fine Time Base, дивиденд / делитель | ||||||
10 | 0x0a | Дивиденд, наносекунды (1–255) | Средняя временная база, дивиденд / делитель; обычно 1/8 | |||||||
11 | 0x0b | Делитель, наносекунды (1–255) | ||||||||
12 | 0x0c | Минимальное время цикла t CK min | Кратно МТБ | |||||||
13 | 0x0d | Зарезервированный | ||||||||
14 | 0x0e | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | Поддерживаемые задержки CAS (растровое изображение) |
15 | 0x0f | - | 18 | 17 | 16 | 15 | 14 | 13 | 12 | |
16 | 0x10 | Минимальное время задержки CAS, t AA мин. | В кратных MTB; например, 80/8 нс. | |||||||
17 | 0x11 | Минимальное время восстановления записи, t WR min | В кратных MTB; например, 120/8 нс. | |||||||
18 | 0x12 | Минимальное время задержки от РАС до КАС, t УЗО мин. | В кратных MTB; например, 100/8 нс. | |||||||
19 | 0x13 | Минимальное время активной задержки от строки к строке, t RRD min | В кратных MTB; например, 60/8 нс. | |||||||
20 | 0x14 | Минимальное время предварительной зарядки ряда, т RP мин. | В кратных MTB; например, 100/8 нс. | |||||||
21 год | 0x15 | t RC min, биты 11: 8 | t RAS min, биты 11: 8 | Старшие 4 бита байтов 23 и 22 | ||||||
22 | 0x16 | Минимальное время активности, t RAS min, биты 7: 0 | В кратных MTB; например, 280/8 нс. | |||||||
23 | 0x17 | Минимум от активного к активному / обновлению, t RC min, биты 7: 0 | В кратных MTB; например, 396/8 нс. | |||||||
24 | 0x18 | Минимальная задержка восстановления при обновлении, t RFC min, биты 7: 0 | В кратных MTB; например, 1280/8 нс. | |||||||
25 | 0x19 | Минимальная задержка восстановления при обновлении, t RFC min, бит 15: 8 | ||||||||
26 | 0x1a | Минимальная внутренняя задержка записи в чтение, t WTR min | В кратных MTB; например, 60/8 нс. | |||||||
27 | 0x1b | Минимальное внутреннее считывание для задержки предварительной зарядки, t RTP мин. | В кратных MTB; например, 60/8 нс. | |||||||
28 год | 0x1c | Зарезервированный | t FAW мин, биты 11: 8 | В кратных MTB; например, 240/8 нс. | ||||||
29 | 0x1d | Минимум четыре задержки активации окна t FAW min, биты 7: 0 | ||||||||
30 | 0x1e | DLL-off | - | RZQ / 7 | RZQ / 6 | Дополнительные функции SDRAM поддерживают растровое изображение | ||||
31 год | 0x1f | PASR | - | ODTS | ASR | ETR 1 × | ETR (95 ° C) | Параметры теплового режима и обновления SDRAM | ||
32 | 0x20 | Настоящее время | Точность (подлежит уточнению; в настоящее время 0 = не определено) | Имеется термодатчик DIMM? | ||||||
33 | 0x21 | Nonstd. | Количество кубиков | - | Сигнальная нагрузка | Нестандартный тип устройства SDRAM (например, многослойный кристалл) | ||||
34 | 0x22 | t CK мин. поправка (новое для 1.1) | Знаковое кратное FTB, добавленное к байту 12 | |||||||
35 год | 0x23 | t AA мин. поправка (новое в 1.1) | Знаковое кратное FTB, добавленное к байту 16 | |||||||
36 | 0x24 | t Мин. коррекция УЗО (новое для 1.1) | Знаковое кратное FTB, добавленное к байту 18 | |||||||
37 | 0x25 | t RP мин. поправка (новое для 1.1) | Знаковое кратное FTB, добавленное к байту 20 | |||||||
38 | 0x26 | t RC мин. поправка (новое в 1.1) | Знаковое кратное FTB, добавленное к байту 23 | |||||||
39–40 | 0x27–0x28 | Зарезервированный | Для будущей стандартизации. | |||||||
41 год | 0x29 | Зависит от поставщика | t MAW | Максимальный счетчик активации (MAC) (непроверено / 700k / 600k /.../ 200k / зарезервировано / ∞) | Для смягчения ударных нагрузок | |||||
42–59 | 0x2a – 0x3b | Зарезервированный | Для будущей стандартизации. | |||||||
60 | 0x3c | - | Высота модуля, мм (1–31,> 45) | Номинальная высота модуля | ||||||
61 | 0x3d | Толщина спинки, мм (1–16) | Толщина фасада, мм (1–16) | Толщина модуля, значение = ceil (мм) - 1 | ||||||
62 | 0x3e | Дизайн | Редакция | Номер конструкции JEDEC | Использован эталонный дизайн JEDEC (11111 = нет) | |||||
63–116 | 0x3f – 0x74 | Специфичный для модуля раздел | Различия между зарегистрированными и небуферизованными | |||||||
117 | 0x75 | Идентификатор производителя модуля, лсбайт | Назначено JEP-106 | |||||||
118 | 0x76 | ID производителя модуля, мсбайт | ||||||||
119 | 0x77 | Место изготовления модуля | Код производителя | |||||||
120 | 0x78 | Десятки лет | Годы | Год изготовления (BCD) | ||||||
121 | 0x79 | Десятки недель | Недели | Производственная неделя (BCD) | ||||||
122–125 | 0x7a – 0x7d | Серийный номер модуля | Код производителя | |||||||
126–127 | 0x7e – 0x7f | СПД ЦРК-16 | Включает байты 0–116 или 0–125; см. байт 0 бит 7 | |||||||
128–145 | 0x80–0x91 | Номер детали модуля | Подмножество ASCII, заполненное пробелами | |||||||
146–147 | 0x92–0x93 | Код версии модуля | Определяется поставщиком | |||||||
148–149 | 0x94–0x95 | ID производителя DRAM | В отличие от производителя модуля | |||||||
150–175 | 0x96–0xAF | Данные производителя | ||||||||
176–255 | 0xB0–0xFF | Доступно для использования клиентами |
Емкость памяти модуля может быть вычислена из байтов 4, 7 и 8. Ширина модуля (байт 8), деленная на количество бит на чип (байт 7), дает количество чипов на ранг. Затем это можно умножить на емкость каждого кристалла (байт 4) и количество рангов микросхем в модуле (обычно 1 или 2, начиная с байта 7).
DDR4 SDRAM [ править ]
Стандарт DDR4 SDRAM "Annex L" для SPD изменяет используемый модуль EEPROM. Вместо старых 256-байтовых EEPROM, совместимых с AT24C02, JEDEC теперь определяет новый нестандартный тип EE1004 с двумя страницами на уровне SMBus, каждая из которых имеет 256 байтов. В новой памяти по-прежнему используются старые адреса 0x50–0x57, но два дополнительных адреса 0x36 (SPA0) и 0x37 (SPA1) теперь используются для приема команд для выбора текущей активной страницы для шины, что является формой переключения банка . [11] Внутри каждая логическая страница делится на два физических блока по 128 байтов каждый, всего четыре блока по 512 байтов. [12] Другая семантика для "специальных" диапазонов адресов остается прежней,хотя защита от записи теперь адресуется блоками, и теперь требуется высокое напряжение на SA0 для изменения ее статуса.[13]
Приложение L определяет несколько различных макетов, которые могут быть вставлены в 512-байтовый (из которых определено максимум 320 байтов) шаблон, в зависимости от типа модуля памяти. Определения битов аналогичны DDR3. [12]
Байт | Немного | Заметки | ||||||||
---|---|---|---|---|---|---|---|---|---|---|
Декабрь | Шестигранник | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
0 | 0x00 | Использовано байтов SPD | ||||||||
1 | 0x01 | SPD ревизия n | Обычно 0x10, 0x11, 0x12 | |||||||
2 | 0x02 | Базовый тип памяти (12 = DDR4 SDRAM) | Тип микросхем RAM | |||||||
3 | 0x03 | Зарезервированный | Тип модуля | Тип модуля; например, 2 = небуферизованный DIMM, 3 = SO-DIMM, 11 = LRDIMM | ||||||
4 | 0x04 | Биты группы банков | Биты адреса банка − 2 | Общая емкость SDRAM на кристалл в Мб | Ноль означает отсутствие групп банков, 4 банка, 256 Mibit. | |||||
5 | 0x05 | Зарезервированный | Биты адреса строки-12 | Биты адреса столбца-9 | ||||||
6 | 0x06 | Тип первичного пакета SDRAM | Количество кубиков | Зарезервированный | Загрузка сигнала | |||||
7 | 0x07 | Зарезервированный | Максимальное окно активации (tMAW) | Максимальное количество активаций (MAC) | Дополнительные функции SDRAM | |||||
8 | 0x08 | Зарезервированный | Параметры теплового режима и обновления SDRAM | |||||||
9 | 0x09 | Почтовый ремонт пакетов (PPR) | Мягкий ППР | Зарезервированный | Другие дополнительные функции SDRAM | |||||
10 | 0x0a | Тип пакета SDRAM | Количество кубиков − 1 | Коэффициент плотности DRAM | Загрузка сигнала | Тип вторичного SDRAM пакета | ||||
11 | 0x0b | Зарезервированный | Флаг Endurant | Действующий флаг | Номинальное напряжение модуля, ВДД | |||||
12 | 0x0c | Зарезервированный | Сочетание рангов | Количество пакетов на DIMM − 1 | Ширина устройства SDRAM | Организация модуля | ||||
13 | 0x0d | Зарезервированный | Увеличение ширины автобуса | Ширина основной шины | Разрядность шины памяти модуля в битах | |||||
14 | 0x0e | Термодатчик | Зарезервированный | Модуль термодатчика | ||||||
15 | 0x0f | Зарезервированный | Тип расширенного базового модуля | |||||||
16 | 0x10 | Зарезервированный | ||||||||
17 | 0x11 | Зарезервированный | Средняя временная развертка (MTB) | Точная временная развертка (FTB) | Измеряется в пс. | |||||
18 | 0x12 | Минимальное время цикла SDRAM, т CKAVG мин. | В кратных MTB; например, 100/8 нс. | |||||||
19 | 0x13 | Максимальное время цикла SDRAM, т CKAVG max | В кратных MTB; например, 60/8 нс. | |||||||
20 | 0x14 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | Поддерживаемые задержки CAS битовая маска |
21 год | 0x15 | 22 | 21 год | 20 | 19 | 18 | 17 | 16 | 15 | Поддерживаемые задержки CAS битовая маска |
22 | 0x16 | 30 | 29 | 28 год | 27 | 26 | 25 | 24 | 23 | Поддерживаемые задержки CAS битовая маска |
23 | 0x17 | Низкий диапазон CL | Зарезервированный | 36 | 35 год | 34 | 33 | 32 | 31 год | Поддерживаемые задержки CAS битовая маска |
24 | 0x18 | Минимальное время задержки CAS, t AA мин. | В кратных MTB; например, 1280/8 нс. | |||||||
25 | 0x19 | Минимальное время задержки от РАС до КАС, t УЗО мин. | В кратных MTB; например, 60/8 нс. | |||||||
26 | 0x1a | Минимальное время задержки предварительной зарядки ряда, t RP мин. | В кратных MTB; например, 60/8 нс. | |||||||
27 | 0x1b | Верхние полубайты для t RAS min и t RC min | ||||||||
28 год | 0x1c | Минимальное время задержки от активного до предварительной зарядки, t RAS min младший значащий байт | Кратно МТБ | |||||||
29 | 0x1d | Минимальное время задержки от активного к активному / обновлению, t RC min младший значащий байт | Кратно МТБ | |||||||
30 | 0x1e | Минимальное время задержки восстановления при обновлении, t RFC1 min младший байт | Кратно МТБ | |||||||
31 год | 0x1f | Минимальное время задержки восстановления при обновлении, t RFC1 min старший значащий байт | Кратно МТБ | |||||||
32 | 0x20 | Минимальное время задержки восстановления при обновлении, t RFC2 min младший значащий байт | Кратно МТБ | |||||||
33 | 0x21 | Минимальное время задержки восстановления при обновлении, t RFC2 min старший значащий байт | Кратно МТБ | |||||||
34 | 0x22 | Минимальное время задержки восстановления при обновлении, t RFC4 min младший значащий байт | Кратно МТБ | |||||||
35 год | 0x23 | Минимальное время задержки восстановления при обновлении, t RFC4 min старший значащий байт | Кратно МТБ | |||||||
36 | 0x24 | Зарезервированный | t FAW min старший значащий полубайт | |||||||
37 | 0x25 | Минимум четыре времени задержки окна активации, t FAW min младший байт | Кратно МТБ | |||||||
38 | 0x26 | Минимальная активация для активации времени задержки, t RRD_S min, другая группа банков | Кратно МТБ | |||||||
39 | 0x27 | Минимальная активация для активации времени задержки, t RRD_L мин, та же группа банков | Кратно МТБ | |||||||
40 | 0x28 | Минимальное время задержки CAS в CAS, t CCD_L мин, та же группа банков | Кратно МТБ | |||||||
41 год | 0x29 | Верхний полубайт для t WR min | ||||||||
42 | 0x2a | Минимальное время восстановления записи, t WR min | Кратно МТБ | |||||||
43 год | 0x2b | Верхние полубайты для t WTR мин. | ||||||||
44 год | 0x2c | Минимальное время записи для чтения, t WTR_S мин, другая группа банков | Кратно МТБ | |||||||
45 | 0x2d | Минимальное время записи для чтения, t WTR_L мин, та же группа банков | Кратно МТБ | |||||||
49–59 | 0x2e – 0x3b | Зарезервированный | Раздел базовой конфигурации | |||||||
60–77 | 0x3c – 0x4d | Разъем для преобразования битов SDRAM | ||||||||
78–116 | 0x4e – 0x74 | Зарезервированный | Раздел базовой конфигурации | |||||||
117 | 0x75 | Точное смещение для минимального времени задержки CAS в CAS, t CCD_L min, тот же банк | Множитель с дополнением до двух для блоков FTB | |||||||
118 | 0x76 | Точное смещение для минимальной активации для активации времени задержки, t RRD_L min, та же группа банков | Множитель с дополнением до двух для блоков FTB | |||||||
119 | 0x77 | Точное смещение для минимальной активации для активации времени задержки, t RRD_S min, другая группа банков | Множитель с дополнением до двух для блоков FTB | |||||||
120 | 0x78 | Точное смещение для минимального времени задержки активного и активного / обновления, t RC min | Множитель с дополнением до двух для блоков FTB | |||||||
121 | 0x79 | Точное смещение минимального времени задержки предварительной зарядки ряда, t RP мин. | Множитель с дополнением до двух для блоков FTB | |||||||
122 | 0x7a | Точное смещение минимального времени задержки RAS на CAS, t RCD мин. | Множитель с дополнением до двух для блоков FTB | |||||||
123 | 0x7b | Точное смещение для минимального времени задержки CAS, t AA мин. | Множитель с дополнением до двух для блоков FTB | |||||||
124 | 0x7c | Точное смещение для максимального времени цикла SDRAM, t CKAVG max | Множитель с дополнением до двух для блоков FTB | |||||||
125 | 0x7d | Точное смещение для минимального времени цикла SDRAM, t CKAVG мин. | Множитель с дополнением до двух для блоков FTB | |||||||
126 | 0x7e | Циклический код избыточности (CRC) для раздела базовой конфигурации, младший байт | CRC16 алгоритм | |||||||
127 | 0x7f | Циклический код избыточности (CRC) для раздела базовой конфигурации, старший байт | CRC16 алгоритм | |||||||
128–191 | 0x80–0xbf | Специфичный для модуля раздел | Зависит от семейства модулей памяти (UDIMM, RDIMM, LRDIMM) | |||||||
192–255 | 0xc0–0xff | Параметры, специфичные для архитектуры гибридной памяти | ||||||||
256–319 | 0x100–0x13f | Блок расширенных функциональных параметров | ||||||||
320–321 | 0x140–0x141 | Производитель модуля | См. JEP-106. | |||||||
322 | 0x142 | Место изготовления модуля | Код места производства, определенный производителем | |||||||
323 | 0x143 | Год изготовления модуля | Представлено в двоично-десятичном формате (BCD) | |||||||
324 | 0x144 | Неделя изготовления модулей | Представлено в двоично-десятичном формате (BCD) | |||||||
325–328 | 0x145–0x148 | Серийный номер модуля | Определяемый производителем формат уникального серийного номера для номеров деталей | |||||||
329–348 | 0x149–0x15c | Номер детали модуля | Номер детали ASCII, неиспользуемые цифры должны быть установлены на 0x20 | |||||||
349 | 0x15d | Код версии модуля | Код версии, определенный производителем | |||||||
350–351 | 0x15e – 0x15f | Идентификационный код производителя DRAM | См. JEP-106. | |||||||
352 | 0x160 | Степпинг DRAM | Пошаговый режим, определяемый производителем, или 0xFF, если не используется | |||||||
353–381 | 0x161–0x17d | Конкретные данные производителя | ||||||||
382–383 | 0x17e – 0x17f | Зарезервированный |
Расширения [ править ]
Стандарт JEDEC определяет только некоторые байты SPD. Действительно важные данные помещаются в первые 64 байта, [6] [7] [15] [16] [17], в то время как некоторые из оставшихся предназначены для идентификации производителя. Однако обычно предоставляется 256-байтовая EEPROM. Оставшееся пространство было использовано в ряде случаев.
Расширенные профили производительности (EPP) [ править ]
Память обычно поставляется с консервативными рекомендациями по времени в SPD ROM, чтобы обеспечить базовую функциональность во всех системах. Энтузиасты часто тратят много времени на ручную настройку таймингов памяти для повышения скорости.
Enhanced Performance Profiles - это расширение SPD, разработанное Nvidia и Corsair , которое включает дополнительную информацию для более высокопроизводительной работы DDR2 SDRAM , в том числе информацию о напряжениях питания и времени команд, не включенную в спецификацию JEDEC SPD. Информация EPP хранится в той же EEPROM, но в байтах 99–127, которые не используются стандартным DDR2 SPD. [18]
Байты | Размер | Полные профили | Сокращенные профили |
---|---|---|---|
99–103 | 5 | Заголовок EPP | |
104–109 | 6 | Профиль FP1 | Профиль AP1 |
110–115 | 6 | Профиль AP2 | |
116–121 | 6 | Профиль FP2 | Профиль AP3 |
122–127 | 6 | Профиль AP4 |
Параметры специально разработаны для соответствия контроллеру памяти на чипсетах nForce 5 , nForce 6 и nForce 7 . Nvidia поощряет поддержку EPP в BIOS для своих высокопроизводительных наборов микросхем материнских плат. Это предназначено для обеспечения « разгона одним щелчком мыши » для повышения производительности с минимальными усилиями.
Nvidia называет память EPP, которая имеет квалификацию по производительности и стабильности, «память с поддержкой SLI». [19] Термин «память, готовая к SLI» вызвал некоторую путаницу, поскольку он не имеет ничего общего с видео SLI . Можно использовать память EPP / SLI с одной видеокартой (даже с картой, отличной от Nvidia), и можно запустить настройку видео SLI с несколькими картами без памяти EPP / SLI.
Расширенная версия EPP 2.0 также поддерживает память DDR3. [20]
Профиль Extreme Memory (XMP) [ править ]
Аналогичное расширение JEDEC SPD , разработанное корпорацией Intel, было разработано для модулей DIMM DDR3 SDRAM , которое позже также использовалось в DDR4 . XMP использует байты 176–255, которые не выделены JEDEC, для кодирования таймингов памяти с более высокой производительностью. [21]
Позже AMD разработала AMP, технологию, эквивалентную XMP, для использования в линейке модулей памяти Radeon Memory, оптимизированных для использования на платформах AMD. [22] [23] Кроме того, разработчики материнских плат внедрили свои собственные технологии, позволяющие их материнским платам на базе AMD читать профили XMP: MSI предлагает A-XMP, [24] ASUS имеет DOCP (профиль Direct Over Clock), а Gigabyte имеет EOCP ( Расширенный профиль часов). [25]
DDR3 байтов | Размер | Использовать |
---|---|---|
176–184 | 10 | Заголовок XMP |
185–219 | 33 | Профиль XMP 1 (настройки "энтузиастов") |
220–254 | 36 | Профиль XMP 2 («экстремальные» настройки) |
Заголовок содержит следующие данные. Что наиболее важно, он содержит значение MTB для «средней временной развертки» как рациональное количество наносекунд (общие значения - 1/8, 1/12 и 1/16 нс). Многие другие более поздние значения синхронизации выражаются целым числом единиц MTB.
В заголовок также включено количество модулей DIMM на канал памяти, для поддержки которых предназначен профиль; включение большего количества модулей DIMM может не работать.
DDR3 байт | Биты | Использовать |
---|---|---|
176 | 7: 0 | Байт 1 магического числа XMP 0x0C |
177 | 7: 0 | Байт 2 магического числа XMP 0x4A |
178 | 0 | Профиль 1 включен (если 0, отключен) |
1 | Профиль 2 включен | |
3: 2 | Профиль 1 модулей DIMM на канал (1–4 в кодировке 0–3) | |
5: 4 | Профиль 2 модуля DIMM на канал | |
7: 6 | Зарезервированный | |
179 | 3: 0 | Дополнительный номер версии XMP (x.0 или x.1) |
7: 4 | Номер основной версии XMP (0.x или 1.x) | |
180 | 7: 0 | Средний дивиденд по временной шкале для профиля 1 |
181 | 7: 0 | Средний делитель временной развертки для профиля 1 (MTB = дивиденд / делитель нс) |
182 | 7: 0 | Средний дивиденд по временной развертке для профиля 2 (например, 8) |
183 | 7: 0 | Средний делитель временной развертки для профиля 2 (например, 1, что дает MTB = 1/8 нс) |
184 | 7: 0 | Зарезервированный |
DDR3 байт 1 | DDR3 байт 2 | Биты | Использовать |
---|---|---|---|
185 | 220 | 0 | Модуль Vdd напряжения двадцатых (0,00 или 0,05) |
4: 1 | Модуль Vdd напряжения десятых долей (0,0–0,9) | ||
6: 5 | Модуль Vdd, единицы напряжения (0–2) | ||
7 | Зарезервированный | ||
186 | 221 | 7: 0 | Минимальный тактовый период SDRAM t CK min (единицы MTB) |
187 | 222 | 7: 0 | Минимальное время задержки CAS t AA мин (единицы MTB) |
188 | 223 | 7: 0 | Поддерживаемые задержки CAS (битовая карта, 4–11, закодированные как биты 0–7) |
189 | 224 | 6: 0 | Поддерживаемые задержки CAS (битовая карта, 12–18, закодированные как биты 0–6) |
7 | Зарезервированный | ||
190 | 225 | 7: 0 | Минимальное время задержки записи CAS t CWL min (единицы MTB) |
191 | 226 | 7: 0 | Минимальное время задержки предварительной зарядки ряда t RP мин (единицы MTB) |
192 | 227 | 7: 0 | Минимальное время задержки от RAS до CAS t RCD мин (единицы MTB) |
193 | 228 | 7: 0 | Минимальное время восстановления записи t WR min (единицы MTB) |
194 | 229 | 3: 0 | t RAS min верхний полубайт (биты 11: 8) |
7: 4 | t RC min верхний полубайт (биты 11: 8) | ||
195 | 230 | 7: 0 | Минимальное время задержки от активного до предварительной зарядки t RAS min биты 7: 0 (единицы MTB) |
196 | 231 | 7: 0 | Минимальное время задержки от активного к активному / обновления t RC min биты 7: 0 (единицы MTB) |
197 | 232 | 7: 0 | Максимальный средний интервал обновления t REFI lsbyte (единицы MTB) |
198 | 233 | 7: 0 | Максимальный средний интервал обновления t REFI мсбайт (единицы MTB) |
199 | 234 | 7: 0 | Минимальное время задержки восстановления при обновлении t RFC min lsbyte (единицы MTB) |
200 | 235 | 7: 0 | Минимальное время задержки восстановления при обновлении t RFC min msbyte (единицы MTB) |
201 | 236 | 7: 0 | Минимальное внутреннее считывание для времени задержки команды предварительной зарядки t RTP мин (единицы MTB) |
202 | 237 | 7: 0 | Минимальное время задержки от активной строки до активной строки t RRD min (единицы MTB) |
203 | 238 | 3: 0 | t FAW мин. верхний полубайт (биты 11: 8) |
7: 4 | Зарезервированный | ||
204 | 239 | 7: 0 | Минимум четыре времени задержки окна активации t FAW мин. Бит 7: 0 (единицы MTB) |
205 | 240 | 7: 0 | Минимальное внутреннее время задержки команды записи для чтения t WTR min (единицы MTB) |
206 | 241 | 2: 0 | Запись для чтения регулировки времени выполнения команды (0–7 тактов) |
3 | Запись для считывания знака регулировки поворота команды (0 = втягивание, 1 = выталкивание) | ||
6: 4 | Регулировка времени выполнения команды чтения для записи (0–7 тактов) | ||
7 | Чтение для записи знака регулировки поворота команды (0 = втягивание, 1 = выталкивание) | ||
207 | 242 | 2: 0 | Последовательная регулировка времени выполнения команд (0–7 тактовых циклов) |
3 | Знак регулировки поворота спина к спине (0 = втягивание, 1 = выдвижение) | ||
7: 4 | Зарезервированный | ||
208 | 243 | 7: 0 | Системный режим скорости CMD. 0 = JTAG по умолчанию, иначе в особых единицах MTB × t CK / ns. Например, если MTB составляет 1/8 нс, то это единицы измерения по 1/8 тактового цикла. |
209 | 244 | 7: 0 | Производительность автоматического самообновления SDRAM. Стандартная версия 1.1 говорит, что документация подлежит уточнению . |
210–218 | 245–253 | 7: 0 | Зарезервированный |
219 | 254 | 7: 0 | Зарезервированный индивидуальный код поставщика. |
Все данные выше относятся к DDR3 (XMP 1.1); Спецификации DDR4 пока недоступны.
Память производителя [ править ]
Распространенное неправильное использование - запись информации в определенные области памяти для привязки модулей памяти конкретного производителя к конкретной системе. Fujitsu Technology Solutions, как известно, делает это. Добавление другого модуля памяти в систему обычно приводит к отказу или другим ответным мерам (например, нажатие F1 при каждой загрузке).
02 0E 00 01-00 00 00 EF-02 03 19 4D-BC 47 C3 46 ........... MGF53 43 00 04-EF 4F 8D 1F-00 01 70 00-01 03 C1 CF SC ... O .... p .....
Это результат модуля памяти на 512 МБ от Micron Technologies, выпускаемого Fujitsu-Siemens Computers, обратите внимание на строку «FSC». Системная BIOS отклоняет модули памяти, в которых нет этой информации, начиная со смещения 128h.
Некоторые ноутбуки Packard Bell AMD также используют этот метод, в этом случае симптомы могут отличаться, но это может привести к миганию курсора, а не к звуковому сигналу. Кстати, это тоже может быть признаком повреждения BIOS. [27] Хотя обновление 2 ГБ до 4 ГБ также может вызвать проблемы.
Чтение и запись информации SPD [ править ]
Производители модулей памяти записывают информацию SPD в EEPROM модуля. BIOS материнской платы считывает информацию SPD для настройки контроллера памяти. Существует несколько программ, которые могут считывать и изменять информацию SPD на большинстве, но не на всех наборах микросхем материнских плат.
- Программа dmidecode, которая может декодировать информацию о памяти (и других вещах) и работает в Linux , FreeBSD , NetBSD , OpenBSD , BeOS , Cygwin и Solaris . dmidecode не имеет прямого доступа к информации SPD; он сообщает данные SMBIOS о памяти. [28] Эта информация может быть ограниченной или неверной.
- На Linux систем и FreeBSD , то пространство пользователя программа расшифровывает-DIMM , предоставляемый i2c-инструменты декодируют и информация печатает на любой памяти с информацией SPD на компьютере. [29] [30] Это требует поддержки контроллера SMBus в ядре, драйвера ядра EEPROM, а также подключения SPD EEPROM к SMBus. В старых дистрибутивах Linux decode-dimms.pl был доступен как часть lm_sensors .
- OpenBSD включает драйвер ( spdmem (4) ) начиная с версии 4.3 для предоставления информации о модулях памяти. Драйвер был перенесен из NetBSD, где он доступен с версии 5.0.
- Coreboot считывает и использует информацию SPD для инициализации всех контроллеров памяти на компьютере с указанием времени, размера и других свойств.
- В системах Windows используются такие программы, как HWiNFO , [31] CPU-Z и Speccy , которые могут считывать и отображать информацию о модулях DRAM из SPD.
Независимое от чипсета чтение и запись информации SPD осуществляется путем прямого доступа к EEPROM памяти с помощью аппаратного и программного обеспечения программатора eeprom.
Не так распространено использование старых ноутбуков в качестве универсальных считывателей SMBus, поскольку внутренняя EEPROM на модуле может быть отключена после того, как BIOS ее прочитает, поэтому шина по существу доступна для использования. Используемый метод состоит в том, чтобы установить низкий уровень на линиях A0, A1, чтобы внутренняя память отключилась, позволяя внешнему устройству получить доступ к SMBus. Как только это будет сделано, пользовательская сборка Linux или приложение DOS сможет получить доступ к внешнему устройству. Обычно используется восстановление данных с микросхем памяти ЖК-панелей для модернизации стандартной панели в проприетарном портативном компьютере. На некоторых микросхемах также рекомендуется разделить линии защиты от записи, чтобы встроенные микросхемы не стирались во время перепрограммирования.Связанный с этим метод заключается в перезаписи чипа на веб-камерах, которые часто входят в комплект многих ноутбуков, поскольку скорость шины значительно выше и может даже быть изменена так, чтобы 25x совместимые чипы могли быть считаны обратно для последующего клонирования uEFI в случае отказа чипа.
К сожалению, это работает только с DDR3 и ниже, поскольку DDR4 использует другую безопасность и обычно может быть только прочитан. Можно использовать такой инструмент, как SPDTool или аналогичный, и заменить чип на тот, у которого линия WP свободна, чтобы его можно было изменить на месте. На некоторых наборах микросхем появляется сообщение "Несовместимый драйвер SMBus?" можно увидеть, поэтому чтение также запрещено.
Управление светодиодами RGB [ править ]
Некоторые модули памяти (особенно на игровых ПК ) [32] поддерживают светодиоды RGB, которые управляются проприетарными командами SMBus. Это позволяет управлять цветом светодиода без дополнительных разъемов и кабелей. Драйверы ядра от нескольких производителей, необходимые для управления освещением, использовались для получения доступа, начиная от полного доступа к памяти ядра, заканчивая MSR и управлением портами ввода-вывода, много раз только в 2020 году. [33] [34] [35]
На старом оборудовании [ править ]
Некоторое старое оборудование требует использования модулей SIMM с параллельным обнаружением присутствия (чаще называется просто обнаружением присутствия или PD). Некоторое из этого оборудования использует нестандартное кодирование PD, в частности компьютеры IBM и Hewlett-Packard LaserJet и другие принтеры.
См. Также [ править ]
- Электронный паспорт преобразователя
Ссылки [ править ]
- ^ Томас П. Кениг; Натан Джон (3 февраля 1997 г.), «Обнаружение последовательного присутствия в центре внимания» , Electronic News , 43 (2153)
- ^ Стандарт JEDEC 21-C, раздел 4.1.4 "Определение EEPROM последовательного обнаружения присутствия (SPD) TSE2002av с датчиком температуры (TS) для приложений модулей памяти"
- ^ "TN-04-42: Защита от записи последовательного присутствия модуля памяти с обнаружением" (PDF) . Микрон .
- ^ Примечание по применению INN-8668-APN3: SDRAM SPD Data Standards , memorytesters.com
- ^ Спецификация PC SDRAM Serial Presence Detect (SPD) (PDF) , 1.2A, декабрь 1997 г., стр. 28 год
- ^ a b Стандарт JEDEC 21-C, раздел 4.1.2.4 «SPD для DDR SDRAM»
- ^ a b Стандарт JEDEC 21-C, раздел 4.1.2.10 «Конкретные SPD для DDR2 SDRAM»
- ^ «Понимание таблицы обнаружения последовательного присутствия DDR3 (SPD)» .
- ^ JESD21-C Приложение K: Обнаружение последовательного присутствия для модулей DDR3 SDRAM , выпуск 4, версия SPD 1.1
- ^ JESD21-C Приложение K: Обнаружение последовательного присутствия для модулей DDR3 SDRAM , выпуск 6, версия SPD 1.3
- ^ Дельвар, Жан. «[PATCH] eeprom: новый драйвер ee1004 для памяти DDR4» . LKML . Дата обращения 7 ноября 2019 . CS1 maint: discouraged parameter (link)
- ^ а б JEDEC. «Приложение L: Обнаружение последовательного присутствия (SPD) для модулей DDR4 SDRAM» (PDF) .
- ^ JEDEC. «Спецификация устройств EE1004 и TSE2004 (проект)» (PDF) . Дата обращения 7 ноября 2019 . CS1 maint: discouraged parameter (link)
- ^ JESD21-C Приложение L: Обнаружение последовательного присутствия для модулей DDR4 SDRAM , выпуск 5
- ^ Стандарт JEDEC 21-C, раздел 4.1.2.11 «Обнаружение последовательного присутствия (SPD) для модулей DDR3 SDRAM»
- ^ Стандарт JEDEC 21-C, раздел 4.1.2 «СТАНДАРТ ОБНАРУЖЕНИЯ ПОСЛЕДОВАТЕЛЬНОГО ПРИСУТСТВИЯ, Общий стандарт»
- ^ Стандарт JEDEC 21-C, раздел 4.1.2.5 «Конкретные PD для синхронной DRAM (SDRAM)»
- ^ DDR2 UDIMM Enhanced Performance Profiles Design Specification (PDF) , Nvidia , 12 мая 2006 г. , получено 5 мая 2009 г. CS1 maint: discouraged parameter (link)
- ^ http://www.nvidia.com/docs/CP/45121/sli_memory.pdf
- ^ Расширенные профили производительности 2.0 (стр. 2–3)
- ^ «Поддержка Intel» . Intel .
- ^ Advanced Micro Devices, Inc (2012). «Технология профиля памяти - увеличьте объем оперативной памяти» . Проверено 8 января 2018 . CS1 maint: discouraged parameter (link)
- ↑ Райан Мартин (23 июля 2012 г.). «AMD представляет свой XMP-эквивалент AMP - eTeknix» . Проверено 8 января 2018 . CS1 maint: discouraged parameter (link)
- ^ Micro-Star Int'l Co., Ltd (21 марта 2017 г.). «MSI - первый в мире бренд, который поддерживает A-XMP на Ryzen для обеспечения максимальной производительности DDR4, выпускает новые модели» . Проверено 8 января 2018 . CS1 maint: discouraged parameter (link)
- ^ Tradesman1 (26 августа 2016). «Что означает XMP, DOCP, EOCP - Решено - Память» . Проверено 8 января 2018 . CS1 maint: discouraged parameter (link)
- ^ a b c Спецификация Intel Extreme Memory Profile (XMP), версия 1.1 (PDF) , октябрь 2007 г., заархивирована из оригинала (PDF) 6 марта 2012 г. , извлечена 25 мая 2010 г. CS1 maint: discouraged parameter (link)
- ^ "Обновление RAM Packard Bell LJ65" . Форум оборудования Тома .
- ^ "dmidecode: для чего он нужен?" . Linux.com | Источник информации о Linux . 29 ноября 2004 г.
- ^ "decode-dimms (1)" . Справочная страница Debian . Проверено 16 декабря 2020 . CS1 maint: discouraged parameter (link)
- ^ "декодировать-диммы" . www.freebsd.org . Проверено 24 января 2021 года .
- ^ «HWiNFO - Профессиональная системная информация и диагностика» . HWiNFO .
- ^ "Память DDR4 серии VENGEANCE RGB PRO | Память для настольных ПК | CORSAIR" . www.corsair.com . Проверено 26 ноября 2020 года .
- ^ ActiveCyber. Повышение локальных привилегий драйвера Viper RGB (технический отчет). CVE - 2019-18845 - через корпорацию MITER .
- ^ ActiveCyber. Повышение локальных привилегий драйвера CORSAIR iCUE (CVE-2020-8808) (технический отчет). CVE - 2020-8808 - через корпорацию MITER .
- ^ ActiveCyber. ACTIVE-2020-003: Повышение локальных привилегий драйвера управления освещением Trident Z (технический отчет). CVE - 2020-12446 - через корпорацию MITER .
Внешние ссылки [ править ]
- Стандарт последовательного обнаружения присутствия, общий стандарт
- SPD Rev1.0 для DDR SDRAM
- SPD Rev1.2 для DDR2 SDRAM
- SPD Rev1.3 для DDR2 SDRAM
- СПЕЦИАЛЬНОСТЬ DDR2-1066 SDRAM
- Пакет Linux i2c-tools
- Инструкции по использованию lm-сенсоров или i2c-tools для чтения данных
- Производительность памяти: от 16 ГБ DDR3-1333 до DDR3-2400 на Ivy Bridge IGP с G.Skill - объяснение различных значений времени