В вычислительной технике последовательный детектор присутствия ( SPD ) — это стандартизированный способ автоматического доступа к информации о модуле памяти . Ранее 72-контактные SIMM включали пять контактов, которые обеспечивали пять бит данных параллельного детектора присутствия (PPD), но стандарт 168-контактных DIMM изменился на последовательный детектор присутствия для кодирования большего количества информации. [1]
Когда обычный современный компьютер включается, он начинает с самотестирования при включении питания (POST). Примерно с середины 1990-х годов этот процесс включает автоматическую настройку имеющегося оборудования. SPD — это аппаратная функция памяти, которая позволяет компьютеру узнать, какая память имеется и какие тайминги памяти использовать для доступа к ней.
Некоторые компьютеры полностью автоматически адаптируются к изменениям оборудования. В большинстве случаев существует специальная дополнительная процедура для доступа к параметрам BIOS , чтобы просматривать и потенциально вносить изменения в настройки. Возможно, можно будет контролировать, как компьютер использует данные SPD памяти — выбирать настройки, выборочно изменять тайминги памяти или, возможно, полностью переопределять данные SPD (см. разгон ).
Для поддержки SPD модулем памяти стандарты JEDEC требуют, чтобы определенные параметры находились в нижних 128 байтах EEPROM, расположенного на модуле памяти. Эти байты содержат параметры синхронизации, производителя, серийный номер и другую полезную информацию о модуле. Устройства, использующие память, автоматически определяют ключевые параметры модуля, считывая эту информацию. Например, данные SPD на модуле SDRAM могут предоставлять информацию о задержке CAS , чтобы система могла правильно установить ее без вмешательства пользователя.
Прошивка SPD EEPROM доступна с помощью SMBus , варианта протокола I 2 C. Это сокращает количество коммуникационных контактов на модуле до двух: тактовый сигнал и сигнал данных. EEPROM использует общие контакты заземления с ОЗУ, имеет собственный контакт питания и три дополнительных контакта (SA0–2) для идентификации слота, которые используются для назначения EEPROM уникального адреса в диапазоне 0x50–0x57. Мало того, что линии связи могут быть общими для 8 модулей памяти, тот же SMBus обычно используется на материнских платах для задач мониторинга работоспособности системы, таких как считывание напряжений питания, температур ЦП и скорости вращения вентиляторов.
SPD EEPROM также отвечают на адреса I 2 C 0x30–0x37, если они не защищены от записи, а расширение (серия TSE) использует адреса 0x18–0x1F для доступа к дополнительному датчику температуры на кристалле. Все эти значения являются семибитными адресами I 2 C , сформированными префиксом кода идентификатора типа устройства (DTIC) с SA0-2: для чтения (1100) из слота 3 используется 110 0011 = 0x33
. С последним битом R/W он формирует 8-битный код выбора устройства. [2] Обратите внимание, что семантика slot-id отличается для операций защиты от записи: для них они вообще не могут передаваться выводами SA. [3]
До SPD чипы памяти распознавались с помощью параллельного обнаружения присутствия (PPD). PPD использовал отдельный штифт для каждого бита информации, что означало, что из-за ограниченного пространства для штифтов можно было сохранить только скорость и плотность модуля памяти.
Первая спецификация SPD была выпущена JEDEC и ужесточена Intel как часть спецификации памяти PC100 , представленной в 1998 году. [4] [5] [6] Большинство указанных значений указаны в двоично-десятичной форме. Старший полубайт может содержать значения от 10 до 15, а в некоторых случаях простирается выше. В таких случаях кодировки для 1, 2 и 3 вместо этого используются для кодирования 16, 17 и 18. Старший полубайт 0 зарезервирован для представления «неопределенного».
SPD ROM определяет до трех таймингов 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 | Количество банков ОЗУ на модуле (1–255) | Обычно 1 или 2 | |||||||
6 | 0x06 | Младший байт ширины данных модуля | Обычно 64 или 72 для ECC DIMM | |||||||
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 | — | Избыточный | Дифференциальные часы | Зарегистрированные данные | Буферизованные данные | PLL на карте | Зарегистрированный адрес. | Буферизованный адрес. | Битовая карта модуля памяти |
22 | 0x16 | — | — | Верхний допуск V cc (напряжение питания) | Более низкий допуск V cc (напряжение питания) | Запись/1 пакет чтения | Предварительно зарядить все | Автоматическая предварительная зарядка | Ранняя предварительная зарядка RAS | Поддержка функции чипа памяти bitmap |
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 | 0x1б | Наносекунды (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 МБ | Плотность банка модуля (битовая карта). Два бита устанавливаются, если банки разного размера. |
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) | Уровень пересмотра SPD; например, 1.2 | ||||||
63 | 0x3f | Контрольная сумма | Сумма байтов 0–62, затем не инвертируется | |||||||
64–71 | 0x40–47 | Идентификатор производителя JEDEC. | Сохранено с прямым порядком байтов, с добавлением конечных нулей | |||||||
72 | 0x48 | Место производства модуля | Код поставщика | |||||||
73–90 | 0x49–0x5a | Номер детали модуля | ASCII, с пробелами | |||||||
91–92 | 0x5b–0x5c | Код ревизии модуля | Код поставщика | |||||||
93 | 0x5d | Десятки лет (0–9: 0–90) | Годы (0–9) | Дата изготовления (ГГНН) | ||||||
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 | Одновременный AP | Битовая карта функций Intel |
Формат 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 | Количество банков ОЗУ на модуле (1–255) | Обычно 1 или 2 | |||||||
6 | 0x06 | Младший байт ширины данных модуля | Обычно 64 или 72 для ECC DIMM | |||||||
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 | Встроенный переключатель FET включается | PLL на карте | Зарегистрирован | Буферизованный | Битовая карта модуля памяти |
22 | 0x16 | Быстрый AP | Одновременная автоматическая предварительная зарядка | Верхний допуск 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 | 0x1б | Наносекунды (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 ГиБ | Плотность банка модуля (битовая карта). Два бита устанавливаются, если банки разного размера. |
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) | Коэффициент перекоса при чтении данных (t 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. | Сохранено с прямым порядком байтов, с добавлением конечных нулей | |||||||
72 | 0x48 | Место производства модуля | Код поставщика | |||||||
73–90 | 0x49–0x5a | Номер детали модуля | ASCII, с пробелами | |||||||
91–92 | 0x5b–0x5c | Код ревизии модуля | Код поставщика | |||||||
93 | 0x5d | Десятки лет (0–90) | Годы (0–9) | Дата изготовления (ГГНН) | ||||||
94 | 0x5e | Десятки недель (0–50) | Недели (0–9) | |||||||
95–98 | 0x5f–0x62 | Серийный номер модуля | Код поставщика | |||||||
99–127 | 0x63–0x7f | Данные производителя | Возможно улучшение профиля производительности |
Стандарт DDR2 SPD вносит ряд изменений, но в целом похож на вышеизложенное. Одно заметное удаление — запутанная и малоиспользуемая поддержка DIMM с двумя рангами разных размеров.
Для полей времени цикла (байты 9, 23, 25 и 49), которые кодируются в формате BCD , определены некоторые дополнительные кодировки для десятых цифр, чтобы точно представлять некоторые общие временные параметры:
Шестигранник | Двоичный | Значение |
---|---|---|
А | 1010 | 0,25 ( 1 ⁄ 4 ) |
Б | 1011 | 0,33 ( 1 ⁄ 3 ) |
С | 1100 | 0,66 ( 2 ⁄ 3 ) |
Д | 1101 | 0,75 ( 3 ⁄ 4 ) |
Э | 1110 | 0,875 ( 7 ⁄ 8 , расширение Nvidia XMP) |
Ф | 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 | Вертикальная высота | Куча? | КонС? | Ранги−1 (1–8) | Обычно 0 или 1, что означает 1 или 2 | ||||
6 | 0x06 | Ширина данных модуля | Обычно 64 или 72 для ECC DIMM | |||||||
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) | Ширина банка ECC/четности SDRAM устройств. Обычно 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 | Микро-DIMM | SO-DIMM | UDIMM | RDIMM | Тип DIMM этой сборки (битовая карта) |
21 | 0x15 | — | Модуль - это аналитический зонд | — | Внешнее включение переключателя FET | — | — | — | — | Битовая карта модуля памяти |
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 | 0x1б | Наносекунды (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 дробные ns (0–5): 0, 0,25, 0,33, 0,5, 0,66, 0,75 | t RFC дробные ns (0–5): 0, 0,25, 0,33, 0,5, 0,66, 0,75 | т 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) | Коэффициент перекоса при чтении данных (t QHS ) | |||||||
46 | 0x2e | Микросекунды (1–255) | Время повторной блокировки ФАПЧ | |||||||
47–61 | 0x2f–0x3d | Сдержанный | Для будущей стандартизации. | |||||||
62 | 0x3e | Основная редакция (0–9) | Незначительная доработка (0.0–0.9) | Уровень ревизии SPD, обычно 1.0 | ||||||
63 | 0x3f | Контрольная сумма | Сумма байтов 0–62, не инвертируется | |||||||
64–71 | 0x40–47 | Идентификатор JEDEC производителя | Сохранено с прямым порядком байтов, с завершающим нулем | |||||||
72 | 0x48 | Место производства модуля | Код поставщика | |||||||
73–90 | 0x49–0x5a | Номер детали модуля | ASCII, с пробелами (ограничено (,-,), A–Z, a–z, 0–9, пробел) | |||||||
91–92 | 0x5b–0x5c | Код ревизии модуля | Код поставщика | |||||||
93 | 0x5d | Годы с 2000 (0–255) | Дата изготовления (ГГНН) | |||||||
94 | 0x5e | Недели (1–52) | ||||||||
95–98 | 0x5f–0x62 | Серийный номер модуля | Код поставщика | |||||||
99–127 | 0x63–0x7f | Данные производителя | Возможно улучшение профиля производительности |
Стандарт DDR3 SDRAM значительно перестраивает и упрощает структуру содержимого SPD. Вместо ряда полей наносекунд, закодированных в BCD, некоторые единицы «базы времени» указаны с высокой точностью, а различные параметры синхронизации закодированы как кратные этой базовой единицы. [10] Кроме того, практика указания различных значений времени в зависимости от задержки 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 RCD мин, минимальная задержка 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 | Основная редакция SPD | Незначительная ревизия СПД | 1.0, 1.1, 1.2 или 1.3 | ||||||
2 | 0x02 | Базовый тип памяти (11 = DDR3 SDRAM) | Тип микросхем оперативной памяти | |||||||
3 | 0x03 | Сдержанный | Тип модуля | Тип модуля; например, 2 = DIMM без буферизации, 3 = SO-DIMM, 11 = LRDIMM | ||||||
4 | 0x04 | — | Банковский адрес бит−3 | log 2 (бит на чип)−28 | Ноль означает 8 банков, 256 Мибит. | |||||
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) | Точная временная база, делимое/делитель | ||||||
10 | 0x0a | Дивиденд, наносекунды (1–255) | Средняя временная база, делимое/делитель; обычно 1/8 | |||||||
11 | 0x0b | Делитель, наносекунды (1–255) | ||||||||
12 | 0x0c | Минимальное время цикла t CK мин | В кратности MTB | |||||||
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 мин | Кратно MTB; например, 120/8 нс. | |||||||
18 | 0x12 | Минимальное время задержки RAS-CAS, tRCD мин | Кратно MTB; например, 100/8 нс. | |||||||
19 | 0x13 | Минимальное время активной задержки между строками, t RRD мин | Кратно MTB; например, 60/8 нс. | |||||||
20 | 0x14 | Минимальное время предварительной зарядки ряда, t RP мин | Кратно MTB; например, 100/8 нс. | |||||||
21 | 0x15 | t RC мин, бит 11:8 | t RAS мин, бит 11:8 | Старшие 4 бита байтов 23 и 22 | ||||||
22 | 0x16 | Минимальное активное время, t RAS мин, бит 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 | 0x1б | Минимальная задержка внутреннего чтения для предварительной зарядки, t RTP мин. | Кратно MTB; например, 60/8 нс. | |||||||
28 | 0x1c | Сдержанный | t FAW мин, бит 11:8 | Кратно MTB; например, 240/8 нс. | ||||||
29 | 0x1d | Минимальная задержка окна активации t FAW min, бит 7:0 | ||||||||
30 | 0x1e | DLL-выкл. | — | РЗК/7 | РЗК/6 | Дополнительные функции SDRAM поддерживают растровые изображения | ||||
31 | 0x1f | ПАСР | — | ОДТС | АСР | ЭТР 1× | ЭТР (95 °С) | Возможности термообработки и обновления SDRAM | ||
32 | 0x20 | Подарок | Точность (TBD; в настоящее время 0 = не определено) | Присутствует ли термодатчик DIMM? | ||||||
33 | 0x21 | Нестандартно. | Количество кубиков | — | Нагрузка сигнала | Нестандартный тип устройства SDRAM (например, многослойный кристалл) | ||||
34 | 0x22 | t CK min коррекция (новое для 1.1) | Знаковое кратное FTB, добавленное к байту 12 | |||||||
35 | 0x23 | t AA min коррекция (новое для 1.1) | Знаковое кратное FTB, добавленное к байту 16 | |||||||
36 | 0x24 | t RCD мин коррекция (новое для 1.1) | Знаковое кратное FTB, добавленное к байту 18 | |||||||
37 | 0x25 | t RP min коррекция (новое для 1.1) | Знаковое кратное FTB, добавленное к байту 20 | |||||||
38 | 0x26 | t RC min коррекция (новое для 1.1) | Знаковое кратное FTB, добавленное к байту 23 | |||||||
39–40 | 0x27–0x28 | Сдержанный | Для будущей стандартизации. | |||||||
41 | 0x29 | Зависит от поставщика | т МАВ | Максимальное количество активаций (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 | Идентификатор производителя модуля, lsbyte | Назначено JEP-106 | |||||||
118 | 0x76 | Идентификатор производителя модуля, мсбайт | ||||||||
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 | Идентификатор производителя DRAM | В отличие от производителя модуля | |||||||
150–175 | 0x96–0xАФ | Данные производителя | ||||||||
176–255 | 0xB0–0xFF | Доступно для использования клиентами |
Емкость памяти модуля можно вычислить из байтов 4, 7 и 8. Ширина модуля (байт 8), деленная на количество бит на чип (байт 7), дает количество чипов на ранг. Затем это можно умножить на емкость на чип (байт 4) и количество рангов чипов на модуле (обычно 1 или 2, из байта 7).
Стандарт DDR4 SDRAM "Annex L" для SPD изменяет используемый модуль EEPROM. Вместо старых 256-байтовых EEPROM, совместимых с AT24C02, JEDEC теперь определяет новый нестандартный тип EE1004 с двумя страницами на уровне SMBus, каждая из которых имеет 256 байт. Новая память по-прежнему использует старые адреса 0x50–0x57, но два дополнительных адреса в 0x36 (SPA0) и 0x37 (SPA1) теперь используются для получения команд на выбор текущей активной страницы для шины, форма переключения банков . [13] Внутри каждая логическая страница далее делится на два физических блока по 128 байт каждый, что в сумме составляет четыре блока и 512 байт. [14] Другая семантика для диапазонов "специальных" адресов остается прежней, хотя защита от записи теперь адресуется блоками, и для изменения ее статуса теперь требуется высокое напряжение на SA0. [15]
Приложение L определяет несколько различных макетов, которые могут быть включены в 512-байтовый (из которых определены максимум 320 байт) шаблон, в зависимости от типа модуля памяти. Определения битов аналогичны DDR3. [14]
Байт | Кусочек | Примечания | ||||||||
---|---|---|---|---|---|---|---|---|---|---|
Декабрь | Шестигранник | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
0 | 0x00 | Использовано байтов SPD | ||||||||
1 | 0x01 | Ревизия СПД n | Обычно 0x10, 0x11, 0x12 | |||||||
2 | 0x02 | Базовый тип памяти (12 = DDR4 SDRAM) | Тип микросхем оперативной памяти | |||||||
3 | 0x03 | Сдержанный | Тип модуля | Тип модуля; например, 2 = DIMM без буферизации, 3 = SO-DIMM, 11 = LRDIMM | ||||||
4 | 0x04 | Банковская группа биты | Банковский адрес бит−2 | Общая емкость SDRAM на кристалл в мегабитах | Ноль означает отсутствие банковских групп, 4 банка, 256 Мибит. | |||||
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 | Сдержанный | Несокрушимый флаг | Действующий флаг | Номинальное напряжение модуля, VDD | |||||
12 | 0x0c | Сдержанный | Ранговый микс | Ранги пакетов на DIMM−1 | Ширина устройства SDRAM | Организация модуля | ||||
13 | 0x0d | Сдержанный | Расширение ширины автобуса | Ширина первичной шины | Ширина шины памяти модуля в битах | |||||
14 | 0x0e | Тепловой датчик | Сдержанный | Модуль термодатчика | ||||||
15 | 0x0f | Сдержанный | Тип расширенного базового модуля | |||||||
16 | 0x10 | Сдержанный | ||||||||
17 | 0x11 | Сдержанный | Средняя временная база (MTB) | Точная временная развертка (FTB) | Измеряется в пс. | |||||
18 | 0x12 | Минимальное время цикла SDRAM, t CKAVG мин | Кратно MTB; например, 100/8 нс. | |||||||
19 | 0x13 | Максимальное время цикла SDRAM, t 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 | Минимальное время задержки RAS-CAS, tRCD мин | Кратно MTB; например, 60/8 нс. | |||||||
26 | 0x1a | Минимальное время задержки предварительной зарядки ряда, t RP мин | Кратно MTB; например, 60/8 нс. | |||||||
27 | 0x1б | Верхние полубайты для t RAS min и t RC min | ||||||||
28 | 0x1c | Минимальное время задержки от активного до предварительного заряда, t RAS min младший значащий байт | В кратности MTB | |||||||
29 | 0x1d | Минимальное время задержки от активного до активного/обновляющего состояния, t RC min младший значащий байт | В кратности MTB | |||||||
30 | 0x1e | Минимальное время задержки восстановления обновления, t RFC1 min младший значащий байт | В кратности MTB | |||||||
31 | 0x1f | Минимальное время задержки восстановления обновления, t RFC1 min старший байт | В кратности MTB | |||||||
32 | 0x20 | Минимальное время задержки восстановления обновления, t RFC2 min младший значащий байт | В кратности MTB | |||||||
33 | 0x21 | Минимальное время задержки восстановления обновления, t RFC2 min старший байт | В кратности MTB | |||||||
34 | 0x22 | Минимальное время задержки восстановления обновления, t RFC4 min младший значащий байт | В кратности MTB | |||||||
35 | 0x23 | Минимальное время задержки восстановления обновления, t RFC4 min старший байт | В кратности MTB | |||||||
36 | 0x24 | Сдержанный | t FAW min наиболее значимый полубайт | |||||||
37 | 0x25 | Минимальное время задержки четырех окон активации, t FAW min младший значащий байт | В кратности MTB | |||||||
38 | 0x26 | Минимальное время задержки активации, t RRD_S мин, другая группа банков | В кратности MTB | |||||||
39 | 0x27 | Минимальное время задержки активации, t RRD_L мин, та же группа банков | В кратности MTB | |||||||
40 | 0x28 | Минимальное время задержки CAS-CAS, t CCD_L мин, одна и та же группа банков | В кратности MTB | |||||||
41 | 0x29 | Верхний полубайт для t WR мин. | ||||||||
42 | 0x2a | Минимальное время восстановления записи, t WR мин | В кратности MTB | |||||||
43 | 0x2b | Верхние полубайты для t WTR мин. | ||||||||
44 | 0x2c | Минимальное время записи для чтения, t WTR_S мин, другая группа банков | В кратности MTB | |||||||
45 | 0x2d | Минимальное время записи для чтения, t WTR_L мин, та же группа банков | В кратности MTB | |||||||
49–59 | 0x2e–0x3b | Сдержанный | Раздел базовой конфигурации | |||||||
60–77 | 0x3c–0x4d | Разъем для битового отображения SDRAM | ||||||||
78–116 | 0x4e–0x74 | Сдержанный | Раздел базовой конфигурации | |||||||
117 | 0x75 | Точное смещение для минимального времени задержки CAS-CAS, t CCD_L мин, тот же банк | Дополнительный множитель для единиц FTB | |||||||
118 | 0x76 | Точное смещение для минимального времени задержки активации, t RRD_L мин, та же группа банков | Дополнительный множитель для единиц FTB | |||||||
119 | 0x77 | Точное смещение для минимального времени задержки активации, t RRD_S мин, другая группа банков | Дополнительный множитель для единиц FTB | |||||||
120 | 0x78 | Точное смещение для минимального времени задержки от активного к активному/обновляющему, t RC мин. | Дополнительный множитель для единиц FTB | |||||||
121 | 0x79 | Точное смещение для минимального времени задержки предварительной зарядки строки, t RP мин. | Дополнительный множитель для единиц FTB | |||||||
122 | 0x7a | Точное смещение для минимального времени задержки RAS-CAS, t RCD мин. | Дополнительный множитель для единиц FTB | |||||||
123 | 0x7б | Точное смещение для минимального времени задержки 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 | 0x15д | Код ревизии модуля | Код ревизии, определенный производителем | |||||||
350–351 | 0x15e–0x15f | Идентификационный код производителя DRAM | См. JEP-106 | |||||||
352 | 0x160 | степпинг DRAM | Шаг, определенный производителем, или 0xFF, если не используется | |||||||
353–381 | 0x161–0x17d | Данные производителя | ||||||||
382–383 | 0x17e–0x17f | Сдержанный |
Предварительная таблица для DDR5, основанная на спецификации JESD400-5. [17]
DDR5 расширяет таблицу SPD до 1024 байт. SPD DDR5 использует шину I3C .
Байт | Кусочек | Примечания | ||||||||
---|---|---|---|---|---|---|---|---|---|---|
Декабрь | Шестигранник | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
0 | 0x00 | Количество байтов в устройстве SPD | ||||||||
1 | 0x01 | Пересмотр SPD для параметров базовой конфигурации | ||||||||
2 | 0x02 | Тип протокола команд байта ключа/хост-шины | ||||||||
3 | 0x03 | Ключевой байт/тип модуля | ||||||||
4 | 0x04 | Первая плотность и корпус SDRAM | ||||||||
5 | 0x05 | Первая адресация SDRAM | ||||||||
6 | 0x06 | Ширина первого ввода-вывода SDRAM | ||||||||
7 | 0x07 | Первые группы банков SDRAM и банки в каждой банковской группе | ||||||||
8 | 0x08 | Вторая плотность SDRAM и корпус | ||||||||
9 | 0x09 | Вторая адресация SDRAM | ||||||||
10 | 0x0a | Ширина второго SDRAM ввода-вывода | ||||||||
11 | 0x0b | Группы банков второго SDRAM и банки в каждой группе банков | ||||||||
12 | 0x0c | Дополнительные функции SDRAM | ||||||||
13 | 0x0d | Возможности термического и освежающего режима | ||||||||
14 | 0x0e | Сдержанный | ||||||||
15 | 0x0f | Сдержанный | ||||||||
16 | 0x10 | Номинальное напряжение SDRAM, VDD |
Стандарт JEDEC определяет только некоторые байты SPD. Действительно критические данные помещаются в первые 64 байта, [8] [9] [18] [19] [20] , а часть оставшейся части предназначена для идентификации производителя. Однако обычно предоставляется 256-байтовая EEPROM. Оставшееся пространство используется в различных целях.
Память обычно поставляется с консервативными рекомендациями по таймингу в SPD ROM, чтобы обеспечить базовую функциональность на всех системах. Энтузиасты часто тратят много времени на ручную настройку таймингов памяти для более высокой скорости.
Enhanced Performance Profiles — это расширение SPD, разработанное Nvidia и Corsair , которое включает дополнительную информацию для более производительной работы DDR2 SDRAM , включая напряжение питания и информацию о времени выполнения команд, не включенную в спецификацию JEDEC SPD. Информация EPP хранится в той же EEPROM, но в байтах 99–127, которые не используются стандартным DDR2 SPD. [21]
Байты | Размер | Полные профили | Сокращенные профили |
---|---|---|---|
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-ready memory". [22] Термин "SLI-ready-memory" вызвал некоторую путаницу, так как он не имеет ничего общего с SLI-видео . Можно использовать EPP/SLI-память с одной видеокартой (даже не-Nvidia), и можно запустить многокарточную SLI-видеонастройку без EPP/SLI-памяти.
Расширенная версия EPP 2.0 также поддерживает память DDR3. [23]
Аналогичное, разработанное Intel расширение JEDEC SPD было разработано для DDR3 SDRAM DIMM, позже использованное также в DDR4 и DDR5 SDRAM . XMP использует байты 176–255, которые не распределены JEDEC, для кодирования более производительных таймингов памяти. [24]
Позже AMD разработала AMP, эквивалентную XMP технологию, для использования в своей линейке модулей памяти «Radeon Memory», оптимизированных для использования на платформах AMD. [25] [26] Кроме того, разработчики материнских плат внедрили собственные технологии, позволяющие их материнским платам на базе AMD считывать профили XMP: MSI предлагает A-XMP, [27] ASUS имеет DOCP (Direct Over Clock Profile), а Gigabyte имеет EOCP (Extended Over Clock Profile). [28]
Байты 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 | Байт магического числа XMP 1 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 = делимое/делитель ns) |
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 мин (единицы 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 мин. верхний полубайт (биты 11:8) |
7:4 | t RC мин. верхний полубайт (биты 11:8) | ||
195 | 230 | 7:0 | Минимальное время задержки между активным и предзарядным режимом t RAS min бит 7:0 (единицы MTB) |
196 | 231 | 7:0 | Минимальное время задержки от активного состояния до активного/обновления t RC мин бит 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 мин (единицы 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 мин (единицы 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 /нс. Например, если MTB составляет 1/8 нс, то это в единицах 1/8 тактового цикла. |
209 | 244 | 7:0 | Производительность автоматического самообновления SDRAM. В версии Standard 1.1 указано, что документация будет определена. |
210–218 | 245–253 | 7:0 | Сдержанный |
219 | 254 | 7:0 | Зарезервированный , индивидуальный код поставщика. |
Все приведенные выше данные относятся к DDR3 (XMP 1.1); спецификации DDR4 пока недоступны.
Расширенные профили AMD для разгона (EXPO) — это расширение JEDEC SPD, разработанное для модулей DDR5 DIMM для применения профиля автоматического разгона одним щелчком мыши к системной памяти. [30] [31] Сертифицированные AMD EXPO модули DIMM включают оптимизированные тайминги, которые оптимизируют производительность процессоров Zen 4. [32] В отличие от закрытого стандарта XMP от Intel, стандарт EXPO является открытым и бесплатным. [31] Его можно использовать на платформах Intel. [31] На момент запуска в сентябре 2022 года будет доступно 15 комплектов оперативной памяти от партнеров с сертификацией EXPO, достигающих скорости до 6400 МТ/с. [33]
Распространенным злоупотреблением является запись информации в определенные области памяти для привязки модулей памяти конкретного поставщика к определенной системе. Известно, что компания 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. [34] Хотя обновление 2 ГБ до 4 ГБ также может привести к проблемам.
Производители модулей памяти записывают информацию SPD в EEPROM на модуле. BIOS материнских плат считывают информацию SPD для настройки контроллера памяти. Существует несколько программ, которые могут считывать и изменять информацию SPD на большинстве, но не на всех чипсетах материнских плат.
Независимое от чипсета чтение и запись информации SPD осуществляется путем прямого доступа к EEPROM памяти с помощью аппаратного и программного обеспечения программатора EEPROM.
Не столь распространенное использование старых ноутбуков — это обычные считыватели SMBus, поскольку внутренняя EEPROM на модуле может быть отключена после того, как BIOS ее прочитает, так что шина по сути будет доступна для использования. Используемый метод заключается в том, чтобы понизить уровень линий A0, A1, чтобы внутренняя память отключилась, позволяя внешнему устройству получить доступ к SMBus. После этого пользовательская сборка Linux или приложение DOS могут получить доступ к внешнему устройству. Распространенное использование — восстановление данных с чипов памяти ЖК-панели для модернизации обычной панели в фирменный ноутбук. На некоторых чипах также хорошей идеей является разделение линий защиты от записи, чтобы встроенные чипы не стирались во время перепрограммирования. Связанная с этим технология — перезапись чипа на веб-камерах, которые часто входят в комплект многих ноутбуков, поскольку скорость шины существенно выше и даже может быть изменена так, чтобы совместимые с 25x чипы можно было считать обратно для последующего клонирования uEFI в случае отказа чипа.
К сожалению, это работает только на DDR3 и ниже, так как DDR4 использует другую безопасность и обычно может быть только прочитана. Можно использовать инструмент типа SPDTool или аналогичный и заменить чип на тот, у которого линия WP свободна, чтобы его можно было изменить на месте. На некоторых чипсетах может появиться сообщение "Несовместимый драйвер SMBus?", поэтому чтение также предотвращается.
Некоторые модули памяти (особенно на игровых ПК ) [39] поддерживают светодиоды RGB, которые управляются фирменными командами SMBus. Это позволяет управлять цветом светодиодов без дополнительных разъемов и кабелей. Драйверы ядра от нескольких производителей, необходимые для управления подсветкой, были использованы для получения доступа, начиная от полного доступа к памяти ядра и заканчивая управлением MSR и портами ввода-вывода, много раз только в 2020 году. [40] [41] [42]
Некоторое старое оборудование требует использования SIMM с параллельным обнаружением присутствия (чаще называемым просто обнаружением присутствия или PD). Часть этого оборудования использует нестандартное кодирование PD, в частности, компьютеры IBM и Hewlett-Packard LaserJet и другие принтеры.
{{cite web}}
: CS1 maint: числовые имена: список авторов ( ссылка )