Spd memory что это

Что такое SPD

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

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

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

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

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

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

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

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

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

Источник

Хакаем DDR3 SPD

Я проапгрейдил старый ноутбук двумя модулями памяти 4GB DDR3-1333, но оказалось, что ноутбук совместим максимум с DDR3-1066. Что сделает настоящий мужчина? Конечно же, перепрошьёт EEPROM для ребиннинга DDR3 на более медленную модель!

Spd memory что это. 413b62bd3ab8b3013fb15bd78b5aac4b. Spd memory что это фото. Spd memory что это-413b62bd3ab8b3013fb15bd78b5aac4b. картинка Spd memory что это. картинка 413b62bd3ab8b3013fb15bd78b5aac4b
Рабочее место. Справа Thinkpad для проведения перепрошивки, а слева проблемный MacBook Pro

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

Как всё началось

У меня 13-дюймовый MacBook Pro середины 2010 года. Его файловая система была повреждена при обычной перезагрузке, и дисковая утилита (из раздела восстановления) ничего не могла с этим поделать. Ну, я давно этого ждал: пришло время поставить SSD и добавить немного оперативной памяти.

Я купил SSD и мне повезло найти в горе электронного мусора пару сломанных ноутбуков с подходящими модулями оперативной памяти. Вставляем SSD и два модуля по 4 ГБ, запускаем Internet Recovery — и через час у нас должна быть рабочая система. Но нет. Загрузка просто зависает. Из-за чего? Наибольшее подозрение вызывают эти модули RAM, в конце концов, они же из мусора. Поэтому делаем то, что сделал бы любой: создаём USB-флэшку с memtest86 и запускаем её на ночь. Отлично, память в порядке. После многих часов с пробами разных методов установки для разных версий macOS наконец приходит открытие, что всё работает отлично, если просто вставить обратно старую память. 1

Истинная причина

Истинной причиной сбоя является интегрированный графический процессор GeForce 320M, который использует общую память, то есть обычную RAM. Он может работать максимум с PC3-8500 (aka DDR3-1066, то есть с тактовой частотой DRAM 533 МГц), но контроллер системной памяти не знает об этом и повышает максимальную доступную скорость до 667 МГц (т.е. PC3-10600 aka DDR3-1333). У остальных компонентов нет проблем с этим, как и у GPU в режиме VESA (я думаю).

Я не слышал ни о каком другом оборудовании, которое отказывает в работе оперативной памяти, способной к более высоким скоростям, чем оборудование может использовать. Конечно, при покупке модулей памяти на рынке продавцы предупредили бы об этом нюансе. Это всё равно намного лучше, чем припаянная оперативка, как в ноутбуках Apple с 2012 года.

Настройка прошивки

Разобравшись с причиной, я установил один оригинальный модуль PC3-8500 на 2 ГБ и один новый модуль 4 ГБ, и всё заработало. Но ребиннинг DDR3 казался хорошим проектом, поэтому я решил попробовать.

Конечно, я не собираюсь устанавливать Windows только для прошивки EEPROM и не собираюсь покупать причудливое программное обеспечение, если всё можно сделать вручную. Я думал, что задача явно должна выполняться в Linux, возможно, с некоторыми дополнительными инструментами. Я также не хотел устанавливать Linux на макбук только для этого. Поэтому мой старый надёжный Thinkpad X220 с NixOS стал идеальной площадкой для работ. Потребовалось немного времени для его обновления, потому что я не загружал машину год или около того.

Затем наступил черёд выбрать, какой модуль попробовать первым. У Thinkpad уже было два по 4 ГБ, и я нашел четыре модуля 4 ГБ, поэтому мне было из чего выбрать. Я решил начать с самого странного, производства Micron. Все остальные были Samsung. У одного была наклейка Lenovo.

Чтение SPD

Модули памяти поставляются с микросхемой EEPROM, которая содержит метаданные о модуле Serial Presence Detect (SPD). Сам формат простой, а доступ к EEPROM можно организовать через шину SMBus, которая по сути не отличается от I²C. 2

К счастью, для взаимодействия с SMBus и даже чтения EEPROM DDR3 есть драйверы ядра и готовое программное обеспечение.

Во-первых, для просмотра устройств на шине нужны i2c-tools и некоторые модули ядра.

Вот часть выдачи для одного модуля памяти:

Довольно много данных. Часть показанной информации вычисляется из данных. Например, тайминги на стандартных скоростях (т.е. отсчёты цикла) вычисляются на основе параметров тайминга в наносекундном разрешении. Даже они сохранены как величины, кратные блоку развёртки (time base unit), установленному в другом месте на EEPROM, но это не относится к теме статьи. Данный модуль RAM выдаёт 7-7-7-20 на DDR3-1066, что соответствует стандарту DDR3-1066F JEDEC. Не спрашивайте меня, что такое JEDEC, но он быстрее, чем самый дешёвый DDR3-1066G.

Я потратил много времени на подтверждение моего вывода: при попытке ребиннинга памяти единственное важное число — это минимальное время цикла (tCK). Здесь это 1,5 нс, т.е. 667 МГц.

Давайте посмотрим на исходные данные.

Планирование изменений

Чтобы опуститься до DDR3-1066, нам нужно 533 МГц, что составляет 1,875 нс или 15 MTB, или 0x0f. То есть мы хотим написать 0x0f по адресу 0x0c.

Поэтому нужно записать новое минимальное время цикла (0x0f) по адресу 0x0c и новую контрольную сумму в 0x7e как слово.

Запись SPD

Ошибка. Погодите, что?

Будучи педантичным парнем, я начал изучать исходники i2cset, а также соответствующих модулей ядра. В какой-то момент я понял, что это может быть вызвано защитой от записи.

Я взял следующий модуль, и там не было никакого сообщения об ошибке. EEPROM просто не изменился.

Наконец-то, успех!

С третьим модулем наконец-то операция получилась. Я рассчитал CRC и записал его вместе с временем цикла. После загрузки модуля ядра eeprom и запуска decode-dimms модуль выглядел как обычный 4GB PC3-8500. Когда я установил его в MacBook Pro, у меня, наконец, загрузилась система с памятью 8 ГБ.

Spd memory что это. 0170b47bc3eb6345b0cc81253a676fa1. Spd memory что это фото. Spd memory что это-0170b47bc3eb6345b0cc81253a676fa1. картинка Spd memory что это. картинка 0170b47bc3eb6345b0cc81253a676fa1
DDR3 SODIMM после ребиннинга готов к работе в MacBook Pro

До: оригинальный DDR3-1333

После: выглядит как DDR3-1066

Если сразу не видите разницу, то вы не копались в этих свалках так долго, как я.

Свои мысли

Стоит этим заниматься? Финансово, конечно, нет!

Но это было весело и я многому научился. Понятия не имею, где именно можно применить эти знания, но я чувствую, что в определённый момент они понадобятся. И просто само ощущение, что вы можете правильно решить задачу, действительно приятно и даёт уверенность.

1. Моё предположение, что RAM будет работает на данном оборудовании, если оно проходит memtest86, было очевидно неправильным. Тем не менее, даже оглядываясь назад, предположение не кажется глупым. По опыту, не так уж редко встречается странная комбинация аппаратного обеспечения, из-за которой падает стандартный тест. ↑

2. Я недавно я узнал об использовании I²C в другом проекте. Думаю, что смогу считывать и записывать EEPROM на микроконтроллере Cortex-M с помощью собственной программы, но на практике пайка разъёма будет очень сложной, и написание кода — слишком большая работа, чтобы я этим заинтересовался. Тем не менее, я действительно счастлив, что теоретически способен на такое! ↑

Источник

RAM memory SPD, что это такое и как ваш компьютер может его читать

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

Что такое Serial Presence Detect или SPD?

При использовании программируемого ПЗУ с помощью электрических импульсов его содержимое записывается в SPD после того, как микросхема памяти изготовлена, и поэтому были проведены испытания для определения ее рабочей скорости. Когда такие инструменты, как HWinfo или CPU-Z, выдают спецификации оперативной памяти, они просят ЦП запрашивать информацию в SPD.

Что делает на ПК функция Serial Presence Detect?

Spd memory что это. DIMM Timeout mode EN. Spd memory что это фото. Spd memory что это-DIMM Timeout mode EN. картинка Spd memory что это. картинка DIMM Timeout mode EN

Сегодня есть такие кейсы, как AMD Процессоры Ryzen, которые обращаются к ОЗУ системы с переменной тактовой частотой, поэтому они должны знать спецификации ОЗУ, к которым они подключены, чтобы работать в условиях, которые не вызывают проблем во время указанного доступа. И это то, что вы должны учитывать, что есть окно для доступа к ОЗУ, ограниченное по времени.

Если информация, отправляемая ЦП в ОЗУ, поступает за пределами точного периода, то ОЗУ может вернуть ошибочные данные или записать часть, которая не является адресом памяти ОЗУ, к которой мы хотели получить доступ для нее.

Как процессор взаимодействует с RAM SPD?

Spd memory что это. pinout SPD. Spd memory что это фото. Spd memory что это-pinout SPD. картинка Spd memory что это. картинка pinout SPD

Очевидно, что он делает это через интерфейс, расположенный по периметру процессора и подключенный к оперативной памяти системы.

Доступ к EEPROM на SSD однако это не выполняется через выводы данных и адресацию с помощью ОЗУ. Для этого они добавляют больше коммуникаций, назначенных SMBus, который является вариантом I²C, который использует только четыре полюса: один используется как часы, второй передает данные, а третий и четвертый сообщают, какой из четырех модулей Это. В заключение, SPD имеет общий контакт заземления с остальной частью DIMM, но использует свой собственный контакт для питания.

Какую информацию может содержать СПД?

Spd memory что это. CPU Z RAM Info Serial Presence Detect. Spd memory что это фото. Spd memory что это-CPU Z RAM Info Serial Presence Detect. картинка Spd memory что это. картинка CPU Z RAM Info Serial Presence Detect

Вот почему способ, которым такая информация хранится в EEPROM SPD, всегда один и тот же, что помогает экономить место и облегчает связь не только с ЦП, но и с материнская плата чипсет. А какой порядок и кто его диктует? Что ж, это делает комитет JEDEC, который устанавливает стандарты памяти как для флэш-памяти NAND, так и для оперативной памяти, которые мы используем в наших вычислительных устройствах.

В каждом стандарте JEDEC содержимое SPD варьируется, но данные, которые он содержит, относятся не только к скорости, но и к такой информации, как сейчас:

Что происходит, когда мы разгоняем оперативную память?

Spd memory что это. Intel XMP Modulos RAM. Spd memory что это фото. Spd memory что это-Intel XMP Modulos RAM. картинка Spd memory что это. картинка Intel XMP Modulos RAM

Воспоминания, у которых есть возможность изменять свою тактовую частоту, используют другое обнаружение последовательного присутствия, чем стандартные модули. К счастью, JEDEC позволяет добавлять расширения в конце Serial Presence Detect.

Источник

Анатомия RAM

Spd memory что это. f9109e99d3ebc939f919a7e599dd4ad5. Spd memory что это фото. Spd memory что это-f9109e99d3ebc939f919a7e599dd4ad5. картинка Spd memory что это. картинка f9109e99d3ebc939f919a7e599dd4ad5

У каждого компьютера есть ОЗУ, встроенное в процессор или находящееся на отдельной подключенной к системе плате — вычислительные устройства просто не смогли бы работать без оперативной памяти. ОЗУ — потрясающий образец прецизионного проектирования, однако несмотря на тонкость процессов изготовления, память ежегодно производится в огромных объёмах. В ней миллиарды транзисторов, но она потребляет только считанные ватты мощности. Учитывая большую важность памяти, стоит написать толковый анализ её анатомии.

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

Зачем же ты, RAM-ео?

Процессорам требуется очень быстро получать доступ к данным и командам, чтобы программы выполнялись мгновенно. Кроме того, им нужно, чтобы при произвольных или неожиданных запросах не очень страдала скорость. Именно поэтому для компьютера так важно ОЗУ (RAM, сокращение от random-access memory — память с произвольным доступом).

Существует два основных типа RAM: статическая и динамическая, или сокращённо SRAM и DRAM.

Мы будем рассматривать только DRAM, потому что SRAM используется только внутри процессоров, таких как CPU или GPU. Так где же находится DRAM в наших компьютерах и как она работает?

Большинству людей знакома RAM, потому что несколько её планок находится рядом с CPU (центральным процессором, ЦП). Эту группу DRAM часто называют системной памятью, но лучше её называть памятью CPU, потому что она является основным накопителем рабочих данных и команд процессора.

Spd memory что это. d676d456db559d8baa774c948472f7a9. Spd memory что это фото. Spd memory что это-d676d456db559d8baa774c948472f7a9. картинка Spd memory что это. картинка d676d456db559d8baa774c948472f7a9

Как видно на представленном изображении, DRAM находится на небольших платах, вставляемых в материнскую (системную) плату. Каждую плату обычно называют DIMM или UDIMM, что расшифровывается как dual inline memory module (двухсторонний модуль памяти) (U обозначает unbuffered (без буферизации)). Подробнее мы объясним это позже; пока только скажем, что это самая известная RAM любого компьютера.

Она не обязательно должна быть сверхбыстрой, но современным ПК для работы с большими приложениями и для обработки сотен процессов, выполняемых в фоновом режиме, требуется много памяти.

Ещё одним местом, где можно найти набор чипов памяти, обычно является графическая карта. Ей требуется сверхбыстрая DRAM, потому что при 3D-рендеринге выполняется огромное количество операций чтения и записи данных. Этот тип DRAM предназначен для несколько иного использования по сравнению с типом, применяемым в системной памяти.

Ниже вы видите GPU, окружённый двенадцатью небольшими пластинами — это чипы DRAM. Конкретно этот тип памяти называется GDDR5X, о нём мы поговорим позже.

Spd memory что это. 96a13ac5ebe8fca14b7c66d079dd0ca4. Spd memory что это фото. Spd memory что это-96a13ac5ebe8fca14b7c66d079dd0ca4. картинка Spd memory что это. картинка 96a13ac5ebe8fca14b7c66d079dd0ca4

Графическим картам не нужно столько же памяти, как CPU, но их объём всё равно достигает тысяч мегабайт.

Не каждому устройству в компьютере нужно так много: например, жёстким дискам достаточно небольшого количества RAM, в среднем по 256 МБ; они используются для группировки данных перед записью на диск.

Spd memory что это. 514229cafa473a006e51bd9e44b63cf7. Spd memory что это фото. Spd memory что это-514229cafa473a006e51bd9e44b63cf7. картинка Spd memory что это. картинка 514229cafa473a006e51bd9e44b63cf7

На этих фотографиях мы видим платы HDD (слева) и SSD (справа), на которых отмечены чипы DRAM. Заметили, что чип всего один? 256 МБ сегодня не такой уж большой объём, поэтому вполне достаточно одного куска кремния.

Узнав, что каждый компонент или периферийное устройство, выполняющее обработку, требует RAM, вы сможете найти память во внутренностях любого ПК. На контроллерах SATA и PCI Express установлены небольшие чипы DRAM; у сетевых интерфейсов и звуковых карт они тоже есть, как и у принтеров со сканнерами.

Если память можно встретить везде, она может показаться немного скучной, но стоит вам погрузиться в её внутреннюю работу, то вся скука исчезнет!

Скальпель. Зажим. Электронный микроскоп.

У нас нет всевозможных инструментов, которые инженеры-электронщики используют для изучения своих полупроводниковых творений, поэтому мы не можем просто разобрать чип DRAM и продемонстрировать вам его внутренности. Однако такое оборудование есть у ребят из TechInsights, которые сделали этот снимок поверхности чипа:

Spd memory что это. 2df34e10973f3c3da2dc659f79884634. Spd memory что это фото. Spd memory что это-2df34e10973f3c3da2dc659f79884634. картинка Spd memory что это. картинка 2df34e10973f3c3da2dc659f79884634

Если вы подумали, что это похоже на сельскохозяйственные поля, соединённые тропинками, то вы не так далеки от истины! Только вместо кукурузы или пшеницы поля DRAM в основном состоят из двух электронных компонентов:

Spd memory что это. image loader. Spd memory что это фото. Spd memory что это-image loader. картинка Spd memory что это. картинка image loader

Синими и зелёными линиями обозначены соединения, подающие напряжение на МОП-транзистор и конденсатор. Они используются для считывания и записи данных в ячейку, и первой всегда срабатывает вертикальная (разрядная) линия.

Канавочный конденсатор, по сути, используется в качестве сосуда для заполнения электрическим зарядом — его пустое/заполненное состояние даёт нам 1 бит данных: 0 — пустой, 1 — полный. Несмотря на предпринимаемые инженерами усилия, конденсаторы не способны хранить этот заряд вечно и со временем он утекает.

Это означает, что каждую ячейку памяти нужно постоянно обновлять по 15-30 раз в секунду, хотя сам этот процесс довольно быстр: для обновления набора ячеек требуется всего несколько наносекунд. К сожалению, в чипе DRAM множество ячеек, и во время их обновления считывание и запись в них невозможна.

К каждой линии подключено несколько ячеек:

Spd memory что это. image loader. Spd memory что это фото. Spd memory что это-image loader. картинка Spd memory что это. картинка image loader

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

Полная строка ячеек памяти называется страницей, а длина её зависит от типа и конфигурации DRAM. Чем длиннее страница, тем больше в ней бит, но и тем большая электрическая мощность нужна для её работы; короткие страницы потребляют меньше мощности, но и содержат меньший объём данных.

Однако нужно учитывать и ещё один важный фактор. При считывании и записи на чип DRAM первым этапом процесса является активация всей страницы. Строка битов (состоящая из нулей и единиц) хранится в буфере строки, который по сути является набором усилителей считывания и защёлок, а не дополнительной памятью. Затем активируется соответствующий столбец для извлечения данных из этого буфера.

Если страница слишком мала, то чтобы успеть за запросами данных, строки нужно активировать чаще; и наоборот — большая страница предоставляет больше данных, поэтому активировать её можно реже. И даже несмотря на то, что длинная строка требует большей мощности и потенциально может быть менее стабильной, лучше стремиться к получению максимально длинных страниц.

Spd memory что это. image loader. Spd memory что это фото. Spd memory что это-image loader. картинка Spd memory что это. картинка image loader

Если собрать вместе набор страниц, то мы получим один банк памяти DRAM. Как и в случае страниц, размер и расположение строк и столбцов ячеек играют важную роль в количестве хранимых данных, скорости работы памяти, энергопотреблении и так далее.

Например, схема может состоять из 4 096 строк и 4 096 столбцов, при этом полный объём одного банка будет равен 16 777 216 битам или 2 мегабайтам. Но не у всех чипов DRAM банки имеют квадратную структуру, потому что длинные страницы лучше, чем короткие. Например, схема из 16 384 строк и 1 024 столбцов даст нам те же 2 мегабайта памяти, но каждая страница будет содержать в четыре раза больше памяти, чем в квадратной схеме.

Все страницы в банке соединены с системой адресации строк (то же относится и к столбцам) и они контролируются сигналами управления и адресами для каждой строки/столбца. Чем больше строк и столбцов в банке, тем больше битов должно использоваться в адресе.

Для банка размером 4 096 x 4 096 для каждой системы адресации требуется 12 бит, а для банка 16 384 x 1 024 потребуется 14 бит на адреса строк и 10 бит на адреса столбцов. Стоит заметить, что обе системы имеют суммарный размер 24 бита.

Spd memory что это. image loader. Spd memory что это фото. Spd memory что это-image loader. картинка Spd memory что это. картинка image loader

Если бы чип DRAM мог предоставлять доступ к одной странице за раз, то это было бы не особо удобно, поэтому в них упаковано несколько банков ячеек памяти. В зависимости от общего размера, чип может иметь 4, 8 или даже 16 банков — чаще всего используется 8 банков.

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

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

Spd memory что это. a636d1a6f0cf898610c4ae8a515752ee. Spd memory что это фото. Spd memory что это-a636d1a6f0cf898610c4ae8a515752ee. картинка Spd memory что это. картинка a636d1a6f0cf898610c4ae8a515752ee

На фотографии выше показан чип DRAM (иногда называемый модулем), изготовленный компанией Samsung. Другими ведущими производителями являются Toshiba, Micron, SK Hynix и Nanya. Samsung — крупнейший производитель, он имеет приблизительно 40% мирового рынка памяти.

Каждый изготовитель DRAM использует собственную систему кодирования характеристик памяти; на фотографии показан чип на 1 гигабит, содержащий 8 банков по 128 мегабита, выстроенных в 16 384 строки и 8 192 столбца.

Выше по рангу

Компании-изготовители памяти берут несколько чипов DRAM и устанавливают их на одну плату, называемую DIMM. Хотя D расшифровывается как dual (двойная), это не значит, что на ней два набора чипов. Под двойным подразумевается количество электрических контактов в нижней части платы; то есть для работы с модулями используются обе стороны платы.

Сами DIMM имеют разный размер и количество чипов:

Spd memory что это. 4f778818d210091bd435d081e50acee3. Spd memory что это фото. Spd memory что это-4f778818d210091bd435d081e50acee3. картинка Spd memory что это. картинка 4f778818d210091bd435d081e50acee3

На фотографии сверху показана стандартная DIMM для настольного ПК, а под ней находится так называемая SO-DIMM (small outline, «DIMM малого профиля»). Маленький модуль предназначен для ПК малого форм-фактора, например, ноутбуков и компактных настольных компьютеров. Из-за малого пространства уменьшается количество используемых чипов, изменяется скорость работы памяти, и так далее.

Существует три основных причины для использования нескольких чипов памяти на DIMM:

То есть каждому DIMM, который устанавливается в компьютер с Ryzen, потребуется восемь модулей DRAM (8 чипов x 8 бит = 64 бита). Можно подумать, что графическая карта 5700 XT будет иметь 32 чипа памяти, но у неё их только 8. Что же это нам даёт?

В чипы памяти, предназначенные для графических карт, устанавливают больше банков, обычно 16 или 32, потому что для 3D-рендеринга необходим одновременный доступ к большому объёму данных.

Spd memory что это. image loader. Spd memory что это фото. Spd memory что это-image loader. картинка Spd memory что это. картинка image loader

Один ранг и два ранга

Множество модулей памяти, «заполняющих» шину данных контроллера памяти, называется рангом, и хотя к контроллеру можно подключить больше одного ранга, за раз он может получать данные только от одного ранга (потому что ранги используют одну шину данных). Это не вызывает проблем, потому что пока один ранг занимается ответом на переданную ему команду, другому рангу можно передать новый набор команд.

Платы DIMM могут иметь несколько рангов и это особенно полезно, когда вам нужно огромное количество памяти, но на материнской плате мало разъёмов под RAM.

Так называемые схемы с двумя (dual) или четырьмя (quad) рангами потенциально могут обеспечить большую производительность, чем одноранговые, но увеличение количества рангов быстро повышает нагрузку на электрическую систему. Большинство настольных ПК способно справиться только с одним-двумя рангами на один контроллер. Если системе нужно больше рангов, то лучше использовать DIMM с буферизацией: такие платы имеют дополнительный чип, облегчающий нагрузку на систему благодаря хранению команд и данных в течение нескольких циклов, прежде чем передать их дальше.

Spd memory что это. e60b1d218d8f1e6c09e3ff8a93beed66. Spd memory что это фото. Spd memory что это-e60b1d218d8f1e6c09e3ff8a93beed66. картинка Spd memory что это. картинка e60b1d218d8f1e6c09e3ff8a93beed66

Множество модулей памяти Nanya и один буферный чип — классическая серверная RAM

Но не все ранги имеют размер 64 бита — используемые в серверах и рабочих станциях DIMM часто размером 72 бита, то есть на них есть дополнительный модуль DRAM. Этот дополнительный чип не обеспечивает повышение объёма или производительности; он используется для проверки и устранения ошибок (error checking and correcting, ECC).

Вы ведь помните, что всем процессорам для работы нужна память? В случае ECC RAM небольшому устройству, выполняющему работу, предоставлен собственный модуль.

Шина данных в такой памяти всё равно имеют ширину всего 64 бита, но надёжность хранения данных значительно повышается. Использование буферов и ECC только незначительно влияет на общую производительность, зато сильно повышает стоимость.

Жажда скорости

У всех DRAM есть центральный тактовый сигнал ввода-вывода (I/O, input/output) — напряжение, постоянно переключающееся между двумя уровнями; он используется для упорядочивания всего, что выполняется в чипе и шинах памяти.

Если бы мы вернулись назад в 1993 год, то смогли бы приобрести память типа SDRAM (synchronous, синхронная DRAM), которая упорядочивала все процессы с помощью периода переключения тактового сигнала из низкого в высокое состояние. Так как это происходит очень быстро, такая система обеспечивает очень точный способ определения времени выполнения событий. В те времена SDRAM имела тактовые сигналы ввода-вывода, обычно работавшие с частотой от 66 до 133 МГц, и за каждый такт сигнала в DRAM можно было передать одну команду. В свою очередь, чип за тот же промежуток времени мог передать 8 бит данных.

Быстрое развитие SDRAM, ведущей силой которого был Samsung, привело к созданию в 1998 году её нового типа. В нём передача данных синхронизировалась по повышению и падению напряжения тактового сигнала, то есть за каждый такт данные можно было дважды передать в DRAM и обратно.

Как же называлась эта восхитительная новая технология? Double data rate synchronous dynamic random access memory (синхронная динамическая память с произвольным доступом и удвоенной скоростью передачи данных). Обычно её просто называют DDR-SDRAM или для краткости DDR.

Spd memory что это. image loader. Spd memory что это фото. Spd memory что это-image loader. картинка Spd memory что это. картинка image loader

Память DDR быстро стала стандартом (из-за чего первоначальную версию SDRAM переименовали в single data rate SDRAM, SDR-DRAM) и в течение последующих 20 лет оставалась неотъемлемой частью всех компьютерных систем.

Прогресс технологий позволил усовершенствовать эту память, благодаря чему в 2003 году появилась DDR2, в 2007 году — DDR3, а в 2012 году — DDR4. Каждая новая версия обеспечивала повышение производительности благодаря ускорению тактового сигнала ввода-вывода, улучшению систем сигналов и снижению энергопотребления.

DDR2 внесла изменение, которое мы используем и сегодня: генератор тактовых сигналов ввода-вывода превратился в отдельную систему, время работы которой задавалось отдельным набором синхронизирующих сигналов, благодаря чему она стала в два раза быстрее. Это аналогично тому, как CPU используют для упорядочивания работы тактовый сигнал 100 МГц, хотя внутренние синхронизирующие сигналы работают в 30-40 раз быстрее.

DDR3 и DDR4 сделали шаг вперёд, увеличив скорость тактовых сигналов ввода-вывода в четыре раза, но во всех этих типах памяти шина данных для передачи/получения информации по-прежнему использовала только повышение и падение уровня сигнала ввода-вывода (т.е. удвоенную частоту передачи данных).

Сами чипы памяти не работают на огромных скоростях — на самом деле, они шевелятся довольно медленно. Частота передачи данных (измеряемая в миллионах передач в секунду — millions of transfers per second, MT/s) в современных DRAM настолько высока благодаря использованию в каждом чипе нескольких банков; если бы на каждый модуль приходился только один банк, всё работало бы чрезвычайно медленно.

Тип DRAMОбычная частота чипаТактовый сигнал ввода-выводаЧастота передачи данных
SDR100 МГц100 МГц100 MT/s
DDR100 МГц100 МГц200 MT/s
DDR2200 МГц400 МГц800 MT/s
DDR3200 МГц800 МГц1600 MT/s
DDR4400 МГц1600 МГц3200 MT/s

Каждая новая версия DRAM не обладает обратной совместимостью, то есть используемые для каждого типа DIMM имеют разные количества электрических контактов, разъёмы и вырезы, чтобы пользователь не мог вставить память DDR4 в разъём DDR-SDRAM.

Spd memory что это. a28e3d38c068a351a9fff313805c9f19. Spd memory что это фото. Spd memory что это-a28e3d38c068a351a9fff313805c9f19. картинка Spd memory что это. картинка a28e3d38c068a351a9fff313805c9f19

Сверху вниз: DDR-SDRAM, DDR2, DDR3, DDR4

DRAM для графических плат изначально называлась SGRAM (synchronous graphics, синхронная графическая RAM). Этот тип RAM тоже подвергался усовершенствованиям, и сегодня его для понятности называют GDDR. Сейчас мы достигли версии 6, а для передачи данных используется система с учетверённой частотой, т.е. за тактовый цикл происходит 4 передачи.

Тип DRAMОбычная частота памятиТактовый сигнал ввода-выводаЧастота передачи данных
GDDR250 МГц250 МГц500 MT/s
GDDR2500 МГц500 МГц1000 MT/s
GDDR3800 МГц1600 МГц3200 MT/s
GDDR41000 МГц2000 МГц4000 MT/s
GDDR51500 МГц3000 МГц6000 MT/s
GDDR5X1250 МГц2500 МГц10000 MT/s
GDDR61750 МГц3500 МГц14000 MT/s

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

Какой же минус у всех этих продвинутых технологий? Стоимость и тепловыделение.

Один модуль GDDR6 примерно вдвое дороже аналогичного чипа DDR4, к тому же при полной скорости он становится довольно горячим — именно поэтому графическим картам с большим количеством сверхбыстрой RAM требуется активное охлаждение для защиты от перегрева чипов.

Скорость битов

Производительность DRAM обычно измеряется в количестве битов данных, передаваемых за секунду. Ранее в этой статье мы говорили, что используемая в качестве системной памяти DDR4 имеет чипы с 8-битной шириной шины, то есть каждый модуль может передавать до 8 бит за тактовый цикл.

То есть если частота передачи данных равна 3200 MT/s, то пиковый результат равен 3200 x 8 = 25 600 Мбит в секунду или чуть больше 3 ГБ/с. Так как большинство DIMM имеет 8 чипов, потенциально можно получить 25 ГБ/с. Для GDDR6 с 8 модулями этот результат был бы равен 440 ГБ/с!

Обычно это значение называют полосой пропускания (bandwidth) памяти; оно является важным фактором, влияющим на производительность RAM. Однако это теоретическая величина, потому что все операции внутри чипа DRAM не происходят одновременно.

Чтобы разобраться в этом, давайте взглянем на показанное ниже изображение. Это очень упрощённое (и нереалистичное) представление того, что происходит, когда данные запрашиваются из памяти.

Spd memory что это. image loader. Spd memory что это фото. Spd memory что это-image loader. картинка Spd memory что это. картинка image loader

На первом этапе активируется страница DRAM, в которой содержатся требуемые данные. Для этого памяти сначала сообщается, какой требуется ранг, затем соответствующий модуль, а затем конкретный банк.

Чипу передаётся местоположение страницы данных (адрес строки), и он отвечает на это передачей целой страницы. На всё это требуется время и, что более важно, время нужно и для полной активации строки, чтобы гарантировать полную блокировку строки битов перед выполнением доступа к ней.

Затем определяется соответствующий столбец и извлекается единственный бит информации. Все типы DRAM передают данные пакетами, упаковывая информацию в единый блок, и пакет в современной памяти почти всегда равен 8 битам. То есть даже если за один тактовый цикл извлекается один бит, эти данные нельзя передать, пока из других банков не будет получено ещё 7 битов.

А если следующий требуемый бит данных находится на другой странице, то перед активацией следующей необходимо закрыть текущую открытую страницу (это процесс называется pre-charging). Всё это, разумеется, требует больше времени.

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

Некоторые из этих задержек имеют знакомые фанатам компьютеров названия:

Название таймингаОписаниеОбычное значение в DDR4
tRCDRow-to-Column Delay: количество циклов между активацией строки и возможностью выбора столбца17 циклов
CLCAS Latency: количество циклов между адресацией столбца и началом передачи пакет данных15 циклов
tRASRow Cycle Time: наименьшее количество циклов, в течение которого строка должна оставаться активной перед тем, как можно будет выполнить её pre-charging35 циклов
tRPRow Precharge time: минимальное количество циклов, необходимое между активациями разных строк17 циклов

Существует ещё много других таймингов и все их нужно тщательно настраивать, чтобы DRAM работала стабильно и не искажала данные, имея при этом оптимальную производительность. Как можно увидеть из таблицы, схема, демонстрирующая циклы в действии, должна быть намного шире!

Хотя при выполнении процессов часто приходится ждать, команды можно помещать в очереди и передавать, даже если память занята чем-то другим. Именно поэтому можно увидеть много модулей RAM там, где нам нужна производительность (системная память CPU и чипы на графических картах), и гораздо меньше модулей там, где они не так важны (в жёстких дисках).

Тайминги памяти можно настраивать — они не заданы жёстко в самой DRAM, потому что все команды поступают из контроллера памяти в процессоре, который использует эту память. Производители тестируют каждый изготавливаемый чип и те из них, которые соответствуют определённым скоростям при заданном наборе таймингов, группируются вместе и устанавливаются в DIMM. Затем тайминги сохраняются в небольшой чип, располагаемый на плате.

Spd memory что это. 5e8a383ceeda9fedc630b63baceb5a5e. Spd memory что это фото. Spd memory что это-5e8a383ceeda9fedc630b63baceb5a5e. картинка Spd memory что это. картинка 5e8a383ceeda9fedc630b63baceb5a5e

Даже памяти нужна память. Красным указано ПЗУ (read-only memory, ROM), в котором содержится информация SPD.

Процесс доступа к этой информации и её использования называется serial presence detect (SPD). Это отраслевой стандарт, позволяющий BIOS материнской платы узнать, на какие тайминги должны быть настроены все процессы.

Многие материнские платы позволяют пользователям изменять эти тайминги самостоятельно или для улучшения производительности, или для повышения стабильности платформы, но многие модули DRAM также поддерживают стандарт Extreme Memory Profile (XMP) компании Intel. Это просто дополнительная информация, хранящаяся в памяти SPD, которая сообщает BIOS: «Я могу работать с вот с такими нестандартными таймингами». Поэтому вместо самостоятельной возни с параметрами пользователь может настроить их одним нажатием мыши.

Спасибо за службу, RAM!

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

Возьмите в руку планку памяти DDR4-SDRAM на 8 ГБ из любого нового ПК: в ней упаковано почти 70 миллиардов конденсаторов и такое же количество транзисторов. Каждый из них хранит крошечную долю электрического заряда, а доступ к ним можно получить за считанные наносекунды.

Даже при повседневном использовании она может выполнять бесчисленное количество команд, и большинство из плат способны без малейших проблем работать многие годы. И всё это меньше чем за 30 долларов? Это просто завораживает.

DRAM продолжает совершенствоваться — уже скоро появится DDR5, каждый модуль которой обещает достичь уровня полосы пропускания, с трудом достижимый для двух полных DIMM типа DDR4. Сразу после появления она будет очень дорогой, но для серверов и профессиональных рабочих станций такой скачок скорости окажется очень полезным.

Источник

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

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