Память. Память DDR SDRAM. DDR2. DDR3. SLI-Ready-память. ECC-память. Registered-память

Вопросы

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

Устаревшие, но кое-где еще встречающиеся, операционные системы Windows 9x/ME умеют работать только с 512 Мб памяти. И хотя конфигурации с большим объемом для них вполне возможны, проблем при этом возникает гораздо больше, чем пользы. Современные 32-разрядные версии Windows 2000/2003/XP и Vista теоретически поддерживают до 4 Гб памяти, но реально доступно для приложений не более 2 Гб. За небольшим исключением — ОС начального уровня Windows XP Starter Edition и Windows Vista Starter способны работать не более чем с 256 Мб и 1 Гб памяти соответственно. Максимальный поддерживаемый объем 64-разрядной Windows Vista зависит от ее версии и составляет:

  • Home Basic — 8 Гб;
  • Home Premium — 16 Гб;
  • Ultimate — Более 128 Гб;
  • Business — Более 128 Гб;
  • Enterprise — Более 128 Гб.

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

Память типа DDR (Double Data Rate — удвоенная скорость передачи данных) обеспечивает передачу данных по шине «память-чипсет» дважды за такт, по обоим фронтам тактирующего сигнала. Таким образом, при работе системной шины и памяти на одной и той же тактовой частоте, пропускная способность шины памяти оказывается вдвое больше, чем у обычной SDRAM.

В обозначении модулей памяти DDR обычно используются два параметра: или рабочую частоту (равную удвоенному значению тактовой частоты) — например, тактовая частота памяти DR-400 равна 200 МГц; или пиковую пропускную способность (в Мб/с). У той же самой DR-400 пропускная способность приблизительно равна 3200 Мб/с, поэтому она может обозначаться как РС3200. В настоящее время память DDR потеряла свою актуальность и в новых системах практически полностью вытеснена более современной DDR2. тем не менее, для поддержания «на плаву» большого количества старых компьютеров, в которые установлена память DDR, выпуск ее все еще продолжается. Наиболее распространены 184-контактные модули DDR стандартов PC3200 и, в меньшей мере, PC2700. DDR SDRAM может иметь Registered и ECC варианты.

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

 Память DDR2 является наследницей DDR и в настоящее время является доминирующим типом памяти для настольных компьютеров, серверов и рабочих станций. DDR2 рассчитана на работу на более высоких частотах, чем DDR, характеризуется меньшим энергопотреблением, а также набором новых функций (предвыборка 4 бита за такт, встроенная терминация). Кроме того, в отличие от чипов DDR, которые выпускались как в корпусах типа TSOP, так и FBGA, чипы DDR2 выпускаются только в корпусах FBGA (что обеспечивает им большую стабильность работы на высоких частотах). Модули память DDR и DDR2 не совместимы друг с другом не только электрически, но и механически: для DDR2 используются 240-контактные планки, тогда как для DDR — 184-контактные. Сегодня наиболее распространена память, работающая на частоте 333 МГц и 400 МГц, и обозначаемая как DDR2-667 (РС2-5400/5300) и DDR2-800 (РС2-6400) соответственно.

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

Ответ: Память стандарта DDR третьего поколения — DDR3 SDRAM в скором времени должна заменить нынешнюю DDR2. Производительность новой памяти удвоилась по сравнению с предыдущей: теперь каждая операция чтения или записи означает доступ к восьми группам данных DDR3 DRAM, которые, в свою очередь, с помощью двух различных опорных генераторов мультиплексируются по контактам I/O с частотой, в четыре раза превышающей тактовую частоту. Теоретически эффективные частоты DDR3 будут располагаться в диапазоне 800 МГц — 1600 МГц (при тактовых частотах 400 МГц — 800 МГц), таким образом, маркировка DDR3 в зависимости от скорости будет: DDR3-800, DDR3-1066, DDR3-1333, DDR3-1600. Среди основных преимуществ нового стандарта, прежде всего, стоит отметить существенно меньшее энергопотребление (напряжение питания DDR3 — 1,5 В, DDR2 — 1,8 В, DDR — 2,5 В).

Минусом DDR3 против DDR2 (и, тем более, по сравнению с DDR) можно назвать большую латентность. Модули памяти DDR3 DIMM для настольных ПК будут обладать 240-контактной структурой, привычной нам по модулям DDR2; однако физической совместимости между ними не будет (благодаря «зеркальной» цоколевке и различному расположению ключей разъема). Подробнее — см. статью FAQ по DDR3.

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

Ответ: SLI-Ready-память, иначе — память с EPP (Enhanced Performance Profiles — профили для увеличения производительности), создана силами маркетинговых отделов компаний NVIDIA и Corsair. Профили EPP, в которых, помимо стандартных таймингов памяти, «прописываются» еще и значение оптимального напряжения питания модулей, а также некоторые дополнительные параметры, записываются в микросхему SPD модуля.

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

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

ECC (Error Correct Code — выявление и исправление ошибок) служит для исправления случайных ошибок памяти, вызываемых различными внешними факторами, и представляет собой усовершенствованный вариант системы «контроля четности». Физически ECC реализуется в виде дополнительной 8-разрядной микросхемы памяти, установленной рядом с основными. Таким образом, модули с ECC являются 72- разрядным (в отличие от стандартных 64-разрядых модулей). Некоторые типы памяти (Registered, Full Buffered) выпускаются только в ECC варианте.

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

Registered (регистровые) модули памяти применяются в основном в серверах, работающих с большими объемами оперативной памяти. Все они имеют ЕСС, т.е. являются 72-битными и, кроме того, содержат дополнительные микросхемы регистров для частичной (или полной — такие модули называются Full Buffered, или FB-DIMM) буферизации данных, за счет чего уменьшается нагрузка на контроллер памяти. Буферизованные DIMM, как правило, несовместимы с не буферизованными.

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

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

Что такое SPD?

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

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

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

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

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

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

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

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

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

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

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

Источник: 3dnews.ru

Автор: Виктор Куц

www.windxp.com.ru

Хакаем DDR3 SPD / Habr

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


Рабочее место. Справа Thinkpad для проведения перепрошивки, а слева проблемный MacBook Pro

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




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

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

1


Понимая проблему, я быстро узнал, что MacBook Pro 2009−2010 годов на самом деле не работают с памятью быстрее, чем PC3-8500, и что проблему можно обойти, изменив метаданные RAM с помощью программы Windows под названием Thaiphoon Burner.

Истинной причиной сбоя является интегрированный графический процессор 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.


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

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

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

$ nix-shell -p i2c-tools
$ modprobe i2c-dev
$ modprobe i2c-i801
$ i2cdetect -l
i2c-0 unknown i915 gmbus ssc N/A
i2c-1 unknown i915 gmbus vga N/A
i2c-2 unknown i915 gmbus panel N/A
i2c-3 unknown i915 gmbus dpc N/A
i2c-4 unknown i915 gmbus dpb N/A
i2c-5 unknown i915 gmbus dpd N/A
i2c-6 unknown DPDDC-B N/A
i2c-7 unknown DPDDC-C N/A
i2c-8 unknown DPDDC-D N/A
i2c-9 unknown SMBus I801 adapter at efa0 N/A

Здесь представляет интерес адаптер SMBus, в моём случае i2c-9.

Пакет i2c-tools поставляется даже с инструментом decode-dimms для чтения информации о RAM в удобочитаемом формате. Для этого требуется модуль ядра eeprom.

$ modprobe eeprom
$ decode-dimms
$ modprobe -r eeprom

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

Memory Serial Presence Detect Decoder
By Philip Edelbrock, Christian Zuckschwerdt, Burkart Lingner,
Jean Delvare, Trent Piepho and others


Decoding EEPROM: /sys/bus/i2c/drivers/eeprom/9-0050
Guessing DIMM is in                              bank 1

---=== SPD EEPROM Information ===---
EEPROM CRC of bytes 0-116                        OK (0xAEA4)
# of bytes written to SDRAM EEPROM               176
Total number of bytes in EEPROM                  256
Fundamental Memory type                          DDR3 SDRAM
Module Type                                      SO-DIMM

---=== Memory Characteristics ===---
Maximum module speed                             1333 MHz (PC3-10600)
Size                                             4096 MB
Banks x Rows x Columns x Bits                    8 x 15 x 10 x 64
Ranks                                            2
SDRAM Device Width                               8 bits
Bus Width Extension                              0 bits
tCL-tRCD-tRP-tRAS                                9-9-9-24
Supported CAS Latencies (tCL)                    10T, 9T, 8T, 7T, 6T, 5T

---=== Timings at Standard Speeds ===---
tCL-tRCD-tRP-tRAS as DDR3-1333                   9-9-9-24
tCL-tRCD-tRP-tRAS as DDR3-1066                   7-7-7-20
tCL-tRCD-tRP-tRAS as DDR3-800                    6-6-6-15

---=== Timing Parameters ===---
Minimum Cycle Time (tCK)                         1.500 ns
Minimum CAS Latency Time (tAA)                   13.125 ns
Minimum Write Recovery time (tWR)                15.000 ns
Minimum RAS# to CAS# Delay (tRCD)                13.125 ns
Minimum Row Active to Row Active Delay (tRRD)    6.000 ns
Minimum Row Precharge Delay (tRP)                13.125 ns
Minimum Active to Precharge Delay (tRAS)         36.000 ns
Minimum Active to Auto-Refresh Delay (tRC)       49.125 ns
Minimum Recovery Delay (tRFC)                    160.000 ns
Minimum Write to Read CMD Delay (tWTR)           7.500 ns
Minimum Read to Pre-charge CMD Delay (tRTP)      7.500 ns
Minimum Four Activate Window Delay (tFAW)        30.000 ns

---=== Optional Features ===---
Operable voltages                                1.5V
RZQ/6 supported?                                 No
RZQ/7 supported?                                 Yes
DLL-Off Mode supported?                          Yes
Operating temperature range                      0-95 degrees C
Refresh Rate in extended temp range              2X
Auto Self-Refresh?                               Yes
On-Die Thermal Sensor readout?                   No
Partial Array Self-Refresh?                      No
Module Thermal Sensor                            Yes
SDRAM Device Type                                Standard Monolithic

---=== Physical Characteristics ===---
Module Height                                    30 mm
Module Thickness                                 2 mm front, 2 mm back
Module Width                                     67.6 mm
Module Reference Card                            F revision 0
Rank 1 Mapping                                   Standard

---=== Manufacturer Data ===---
Module Manufacturer                              Micron Technology
DRAM Manufacturer                                Micron Technology
Manufacturing Location Code                      0x0F
Manufacturing Date                               2011-W23
Assembly Serial Number                           0xFB5C7F1A
Part Number                                      16JSF51264HZ-1G4D1
Revision Code                                    0x4431

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

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

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

$ i2cdump 9 0x50
No size specified (using byte-data access)
WARNING! This program can confuse your I2C bus, cause data loss and worse!
I will probe file /dev/i2c-9, address 0x50, mode byte
Continue? [Y/n]
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f    0123456789abcdef
00: 92 10 0b 03 03 19 00 09 03 52 01 08 0c 00 7e 00    ??????.??R???.~.
10: 69 78 69 30 69 11 20 89 00 05 3c 3c 00 f0 82 05    ixi0i? ?.?<<.???
20: 80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ?...............
30: 00 00 00 00 00 00 00 00 00 00 00 00 0f 11 05 00    ............???.
40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
70: 00 00 00 00 00 80 2c 0f 11 23 fb 5c 7f 1a a4 ae    .....?,??#?\????
80: 31 36 4a 53 46 35 31 32 36 34 48 5a 2d 31 47 34    16JSF51264HZ-1G4
90: 44 31 44 31 80 2c 00 00 00 00 00 00 00 00 00 00    D1D1?,..........
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
b0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................
c0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................
d0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................
e0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................
f0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................

Спецификации говорят, что минимальное время указано по адресу 0x0c. Посмотрим, оно в первой строке (00:), в колонке c. Кстати, его значение тоже 0x0c или 12. Это кратно средней временной базе (MTB), которая представляет собой частное от деления значения в 0x0a на значение в 0x0b (в наносекундах). Здесь 1⁄8 нс. Так что 12 MTB соответствует 1,5 нс.
Чтобы опуститься до DDR3-1066, нам нужно 533 МГц, что составляет 1,875 нс или 15 MTB, или 0x0f. То есть мы хотим написать 0x0f по адресу 0x0c.

Но подождите, очевидно, есть исправление ошибок. CRC первых 116 байт сохраняется в 0x7e-7f. Я посмотрел туда и увидел a4 ae, затем пошёл искать калькулятор для расчёта. Мне потребовалось удивительно много времени, чтобы найти работоспособный калькулятор CRC. Я попробовал несколько инструментов командной строки, но всё-таки остановился на онлайн-калькуляторе http://crccalc.com/. Затем узнал, что здесь используется вариант CRC-16/XMODEM, а контрольная сумма на самом деле 0xAEA4. Порядок байтов и всё такое. Следовало заметить её в выдаче decode-dimms.

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


Теперь я знал, что писать, и наконец осмелился попробовать. Дрожащими руками я набрал y, нажал Enter для окончательного подтверждения и…
$ i2cset 9 0x50 0x0c 0x0f
WARNING! This program can confuse your I2C bus, cause data loss and worse!
DANGEROUS! Writing to a serial EEPROM on a memory DIMM
may render your memory USELESS and make your system UNBOOTABLE!
I will write to device file /dev/i2c-9, chip address 0x50, data address
0x0c, data 0x0f, mode byte.
Continue? [y/N] y
Error: Write failed

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

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

Я достал модуль памяти, посмотрел на него и узнал микросхему EEPROM. На ней написано 97B, 321 и некоторые другие вещи. Погуглив, я узнал, что это чип SE97B. Я просмотрел таблицу данных и несколько раз внимательно прочитал раздел о защите от записи. С помощью программ я предпринял несколько попыток удаления временной защиты от записи, но неудачно. Защита от записи, вероятно, была постоянной, поэтому я просто решил поискать модуль, у которого нет защиты от записи.

Забавный факт, кстати, заключается в том, что постоянная защита от записи включается записью чего-то на определённый адрес. Я не думаю, что i2cdetect нормально это делает, но запуск i2cget 9 0x30 <any-address>, вероятно, установит постоянную защиту от записи, которая действительно постоянна. Я не пробовал этого делать.

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


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


DDR3 SODIMM после ребиннинга готов к работе в MacBook Pro

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

     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f    0123456789abcdef
00: 92 10 0b 03 03 19 00 09 03 52 01 08 0c 00 3e 00    ??????.??R???.>.
10: 69 78 69 30 69 11 20 89 00 05 3c 3c 00 f0 83 01    ixi0i? ?.?<<.???
20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
30: 00 00 00 00 00 00 00 00 00 00 00 00 0f 11 45 00    ............??E.
40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
70: 00 00 00 00 00 80 ce 02 11 30 b1 5b 13 a1 0e 59    .....????0?[???Y
80: 4d 34 37 31 42 35 32 37 33 43 48 30 2d 43 48 39    M471B5273CH0-CH9
90: 20 20 00 00 80 ce 00 00 00 53 31 42 4e 30 30 30      ..??...S1BN000
a0: 01 00 01 00 00 00 00 00 00 00 00 00 00 00 00 03    ?.?............?
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 32 59 00    .............2Y.
c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................

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

     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f    0123456789abcdef
00: 92 10 0b 03 03 19 00 09 03 52 01 08 0f 00 3e 00    ??????.??R???.>.
10: 69 78 69 30 69 11 20 89 00 05 3c 3c 00 f0 83 01    ixi0i? ?.?<<.???
20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
30: 00 00 00 00 00 00 00 00 00 00 00 00 0f 11 45 00    ............??E.
40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
70: 00 00 00 00 00 80 ce 02 11 30 b1 5b 13 a1 06 54    .....????0?[???T
80: 4d 34 37 31 42 35 32 37 33 43 48 30 2d 43 48 39    M471B5273CH0-CH9
90: 20 20 00 00 80 ce 00 00 00 53 31 42 4e 30 30 30      ..??...S1BN000
a0: 01 00 01 00 00 00 00 00 00 00 00 00 00 00 00 03    ?.?............?
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 32 59 00    .............2Y.
c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................

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

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



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

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

habr.com

Что такое SPD — Ответы на вопросы

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

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

Драйвер AMD Radeon Adrenalin 19.7.3 Edition

AMD представила третий июльский драйвер Radeon Software Adrenalin 2019 Edition 19.7.3.

Читать далее

Драйвер Game Ready GeForce 431.60 WHQL (добавлено)

Набор графических драйверов GeForce 431.60, сертифицированный лабораторией Microsoft WHQL, добавляет поддержку видеокарт GeForce RTX 2080 Super.

Читать далее

Драйвер AMD Radeon Adrenalin 19.7.2 Edition с поддержкой боевика Gears 5

Второй июльский драйвер Radeon Software Adrenalin 19.7.2 2019 Edition выпущен для поддержки бета-версии боевика Gears 5.

Читать далее

Драйвер GeForce 431.36 WHQL для видеокарт GeForce RTX Super

Компания Nvidia выпустила пакет драйверов GeForce 431.36, сертифицированных лабораторией Microsoft WHQL.

Читать далее

Драйвер AMD Radeon Adrenalin 19.7.1 с программной поддержкой RX 5700

Компания AMD представила пакет графических драйверов Radeon Software Adrenalin 2019 Edition 19.7.1, обеспечивающий программную поддержку видеокарт Radeon RX 5700 и RX 5700 XT.

Читать далее

Под сомнением полная анонимность браузера Tor

Специалисты по кибербезопасности российской компании «СёрчИнформ» рассказали журналистам издания «Известия», что браузер для даркнета Tor не может гарантировать анонимность пользователей.

Читать далее

Все новости

faqhard.ru

История про DDR3, SPD и оригинальных китайских производителей / Habr

В данной статье я расскажу, как патчил SPD на ноутбучной плашке памяти, в связи с оригинальной причиной, никак не связанной с тем что у меня оказался старый MacBook, а наоборот, появился новый компьютер и новая планка памяти (оба от 11.2018), и к каким танцам с бубном это всё привело.

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

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

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

Итак, данная история началась давным-давно месяц назад, когда на AliExpress появилось волшебное слово «распродажа» и я не сдержался, и заказал себе очередной мелкий компьютер. Для тех, кто не очень представляет что это, вот фотография:

Такая алюминевая коробка размером 19х19, в которой засунут простенький процессор, но в целом — это обычный компьютер, не очень шустрый, но вполне рабочий.

К этому компьютеру нужно ещё докупать память, SSD, WiFi, пигтейлы и антенны и, конечно же продавцы за «небольшую» доплату всё это сами вставят и пришлют, так что включай и пользуйся. Но что именно они вставят… Так что я, конечно же, заказал всё по частям, всё-таки себе я доверяю больше. И, естественно, из любви к искусству подешевле (иначе не интересно).

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

Комп и SSD приехали, а память задержалась на неделю, так что я нашёл в закромах старую планку на 1Gb и всё проверил. Но приехала новая плашка от ADATA (вроде известная фирма, да?), которая выглядела вполне цивилизованно:

Так что я, не задумываясь, вставил её в компьютер и получил… Да ничего я, собственно не получил. Компьютер светился лампочками, но на этом всё.

Злобный внутренний голос хихикал и говорил: Сэкономил? Купил ADATA? Надо было брать что-то приличнее! Но я его не слушал и занимался играми в биосе, с помощью гениального метода: вставляем старую плашку, ковыряем настройки, меняем на новую, пробуем.

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

Хмм… подумал я, и достал ноутбук, вытащил из него плашку, вставил на её место адатовскую, а ноутбучную в компьютер. Оба радостно завелись. What the hug! Сказал я, и начал пытаться понять, что же всё-таки произошло. Что за странная несовместимость и стоит ли делать что-то дальше, или просто так и оставить. Оставить, ну-ну, знаю я тебя сказал внутренний голос и я пошёл копать дальше. Внутренний Шерлок чувствовал, что какая-то фигня с таймингами, а утилиты показали, что ноутбук решил завестись на 667 (1333), вместо положенных 800 (1600), т.е. ему что-то явно не нравилось в планке.

В итоге у меня перед глазами встала следующая картина:

Память делкарировала, что она поддерживает частоту 800 (1600), но тайминги прописаны только до 667. Что-то было явно не так. Все соседние компьютеры утверждали что у их памяти, всё в порядке с таймингами, значит проблема явно в модуле. Заодно и стало понятно странное поведение компьютера — вижу частоту, но не знаю что с ней делать.

Т.к. я видел на хабре статью про то, что SPD можно прошить, я решил: гулять так гулять, надо попробовать что-то с этим сделать.

Вижу что апдейты пришли, Windows, давай потом, я занят

Поиски привели на отличную программу Typhoon Burner, у которой обнаружился небольшой недостаток. Она была платная… И стоит она практически столько же, сколько память, т.е. вместо программы можно купить ещё одну плашку, а эта хоть и плохо работает, но ведь работает! Так что копаем дальше.

Дальнейшие поиски привели к находке другой замечательной программы RwEverything, которая может читать и писать много всего интересного, в том числе и SPD, но SPD надо ковырять самому, а не просто выбрать нужные данные. И, да, у неё отсутствует недостаток предыдущей программы.

Виндоус, пожалуйста, отвали со своими апдейтами, я понимаю, что час ночи, но давай потом, а?

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

В общем, дамп от памяти выглядел так:

0000000000: 92 11 0B 03 04 19 02 0A │ 03 52 01 08 0A 00 3C 00
0000000010: 69 78 69 3C 69 11 20 89 │ 20 08 3C 3C 01 68 83 05
0000000020: 80 00 00 00 00 00 00 00 │ 00 00 00 00 00 00 00 00
0000000030: 00 00 00 00 00 00 00 00 │ 00 00 00 00 0F 11 02 00
0000000040: 00 00 00 00 00 00 00 00 │ 00 00 00 00 00 00 00 00
0000000050: 00 00 00 00 00 00 00 00 │ 00 00 00 00 00 00 00 00
0000000060: 00 00 00 00 00 00 00 00 │ 00 00 00 00 00 00 00 00
0000000070: 00 00 00 00 00 04 CB 04 │ 18 32 DC 00 74 3C 09 E3
0000000080: 20 20 20 20 20 20 20 20 │ 20 20 20 20 20 20 20 20
0000000090: 20 20 00 00 04 CB 00 00 │ 00 00 00 00 00 00 00 00
00000000A0: 00 00 00 00 00 00 00 00 │ 00 00 00 00 00 00 00 00
00000000B0: 00 00 00 00 00 00 00 00 │ 00 00 00 00 00 00 00 00
00000000C0: 00 00 00 00 00 00 00 00 │ 00 00 00 00 00 00 00 00
00000000D0: 00 00 00 00 00 00 00 00 │ 00 00 00 00 00 00 00 00
00000000E0: 00 00 00 00 00 00 00 00 │ 00 00 00 00 00 00 00 00
00000000F0: 00 00 00 00 00 00 00 00 │ 00 00 00 00 00 00 00 5A

А дамп от другой плашки так:
0000000000: 92 12 0B 03 03 19 02 09 │ 03 52 01 08 0A 00 FE 00
0000000010: 69 78 69 30 69 11 18 81 │ 00 05 3C 3C 00 F0 83 01
0000000020: 00 00 00 00 00 00 00 00 │ 00 00 00 00 00 00 00 00
0000000030: 00 00 00 00 00 00 00 00 │ 00 00 00 00 0F 11 65 00
0000000040: 00 00 00 00 00 00 00 00 │ 00 00 00 00 00 00 00 00
0000000050: 00 00 00 00 00 00 00 00 │ 00 00 00 00 00 00 00 00
0000000060: 00 00 00 00 00 00 00 00 │ 00 00 00 00 00 00 00 00
0000000070: 00 00 00 00 00 80 AD 01 │ 16 20 01 73 25 CA D8 56
0000000080: 48 4D 54 33 35 31 53 36 │ 45 46 52 38 41 2D 50 42
0000000090: 20 20 4E 30 80 AD 00 57 │ 56 33 33 4E 30 35 38 37
00000000A0: 32 30 33 00 00 00 00 00 │ 00 00 00 00 00 00 00 00
00000000B0: 00 00 00 00 00 00 00 00 │ 00 00 00 00 00 00 00 00
00000000C0: 00 00 00 00 00 00 00 00 │ 00 00 00 00 00 00 00 00
00000000D0: 00 00 00 00 00 00 00 00 │ 00 00 00 00 00 00 00 00
00000000E0: 00 00 00 00 00 00 00 00 │ 00 00 00 00 00 00 00 00
00000000F0: 00 00 00 00 00 00 00 00 │ 00 00 00 00 00 00 00 00

Мда, из общего только набор нулей, но тут глаз цепляется за следующую строчку в википедии:

Так 14-ый байт на нормальной плашке говорит что поддерживает тайминги с 5 по 11 (FE), а на этой только с 6 по 9 (3C). А на частоте 800 (1600) тайминги как раз и должны быть 11. Меняю биты (получается FC), сохраняю в файл, загружаю в Тайфун и вижу

Неожиданно появились нужные тайминги.

Лирическое отступление: Я думал, что все тайминги указаны для каждой частоты и явно заданы, оказывается, это просто математика относительно базовых параметров, т.е. верить утилитам, показывающих красивые числа 11-10-10-28 верить нельзя ибо они тупо делают ту же математику, а потом округляют на свой вкус.

Так, можно писать? А вот нет, есть же ещё CRC:

Который ещё надо посчитать, да ещё и выяснить 117 байт или 126, впрочем, чего думать, я же видел в статье ссылку на калькулятор и тип: CRC-16/XMODEM. В общем, взял оригинальные данные, закинул 126 байт, неудача, 117 — всё сошлось (байтики только перевёрнуты), так что дальше дело техники, правим CRC, выдыхаем, записываем, смотрим, что все утилиты увидели тайминги…

shutdown -h

Включаем… Всё работает. Жизнь прекрасна, я в очередной раз поборол систему, вытаскиваем планку из ноутбука, вставляем в компьютер, всё работает!

Ну, виндоус, ставь апдейты, разрешаю, а то уж извелась вся

В общем, всё у меня работает, но вся ситуация для меня выглядит каким-то абсурдом. Не самый последний производитель ADATA, делает память не первый год, и тупо забывает прописать тайминги… В результате пользователи используют память в более медленном режиме или сталкиваются с такими проблемами как у меня, из-за двух, грёбаных бит. Ну вот как так?

habr.com

Всё о программе CPU-Z | Обзоры процессоров, видеокарт, материнских плат на ModLabs.net

ОГЛАВЛЕНИЕ:

Данная вкладка описывает данные SPD — механизма, служащего для определения наличия и характеристик модулей памяти. Расшифровывается как serial presence detect, последовательное определения наличия. Слово последовательное указывает на тип используемой при этом шины, I2C — она как раз последовательная. Шина I2C включена в состав SMBus, разработанной Intel, потому если отключить в CPU-Z определение устройств на шине SMBus, то данные о SPD отображаться не будут. Если посмотреть на модуль памяти, то можно увидеть маленькую микросхему, отличную от чипов памяти, которая имеет восемь ног. Вот это и есть так называемая микросхема SPD. По сути же это обычная «флешка» — чип флеш-памяти по типу тех, что хранят в себе BIOS материнской платы и видеокарт (и другой разной периферии).

Почти все материнские платы выставляют тайминги и частоты исходя из данных SPD, поэтому ошибки в этих данных могут привести к тому, что система не сможет стартовать. Особенно часто проблемы возникают с модулями, рассчитанными на энтузиастов. Иногда частоты и тайминги, зашитые в SPD предназначены для использования на повышенном напряжении, что приводит к невозможности загрузиться на стандартном напряжении и нужно найти обычный модуль, выставить в BIOS нужное напряжение и уже тогда воткнуть исходные модули. Такая проблема была, как минимум, у Corsair. Другой пример — когда производитель пишет на наклейке частоты и тайминги и напряжение, при которых память можно эксплуатировать, но для того, чтобы загрузиться, прописывает в SPD безопасные частоты, сильно завышенные, или же завышенные тайминги. И тогда у новичков появляются вопросы, мол, почему купил память DDR2-1066, а она определяется как DDR2-800?

И теперь, собственно, данные, что мы можем видеть на данной вкладке. Первая группа, Memory Slot Selection:

  • поле со списком для выбора модуля. Позволяет выбрать модуль памяти, для которого отображается информация SPD.
  • справа находится поле с названием типа памяти, в нашем случае — DDR2.
  • Module Size — объём модуля в мегабайтах.
  • Max. Bandwith — максимальная пропускная способность. В данном случае, PC2 означает память DDR2, а число после этого означает максимальную пропускную способность в мегабайтах. В скобках подписана реальная частота шины DDR. Считается пропускная способность по формуле: Freq * 64 * 2 / 8, где 64 — ширина шины памяти в битах (у всех модулей SDRAM она равна 64 битам), 2 — означает технологию DDR, которая удваивает пропускную способность, а деление на 8 переводит биты в байты (в 1 байте 8 бит). Так, для DDR2-800 с реальной частотой 400МГц мы получим: 400*64*2/8=6400МБ/с, что и показывает CPU-Z.
  • Manufacturer — название производителя модуля памяти. Обычно не заполняется Noname (безымянными) производителями.
  • Part Number — номер партии. Аналогично, не заполняется Noname.
  • Serial Number — серийный номер модуля. Безымянные производители шьют одну прошивку, потому понятие серийности вообще не существует.
  • Correction — наличие у модуля коррекции ошибок. На обычной памяти не встречается, а отличить такой модуль легко по «лишнему» чипу памяти. Если у обычного модуля на одной стороне 4 или 8 чипов, то у такого — 5 или 9. Находится посередине. На некоторых модулях можно увидеть место на плате под этот чип.
  • Registered — наличие регистровой памяти. Энтузиастам интереса не представляет.
  • Buffered — наличие буферизованной памяти.Опять же, энтузиастам интереса не представляет.
  • SPD Ext. — наличие расширений SPD. SPD разрабатывается организацией JEDEC, занимающейся принятием стандартов в области памяти. Но компания NVIDIA предложила неиспользуемые стандартом байты (а их немало) задействовать для скоростных профилей, где не только будут прописывать основные и дополнительные тайминги, но и напряжение. Свой стандарт она назвала EPP — enhanced performance profile (профиль улучшенной производительности). Вслед за ней Intel добавила в свои чипсеты поддержку аналогичных профилей с названием XMP — extreme memory profile (экстремальный профиль памяти). Сделаны профили для новичков, которые не могут сами разогнать и выставить нужные настройки, потому энтузиастам они не рекомендуются. Модуль памяти поддерживает либо EPP, либо XMP, но дело тут не столько в том, что оба алгоритма используют смежные байты. Основная причина — конечно, политическая. Память должна получить благословение либо одной компании, либо другой, чтобы провозгласить поддержку профиля. Сделать поддержку обоих технически возможно, но одобрено это, конечно, не будет.
  • Week/Year — неделя и год выпуска.

Следующая группа — Timings Table — таблица таймингов для разных частот. Подписи столбцов обозначают номер таблицы, созданной по стандарту JEDEC, либо же профиль EPP/XMP, если таковой имеется.

  • Frequency — частота памяти. Как говорилось, может отличаться от написанной на этикетке, что обычно является нормальным явлением, если память может работать на заявленной производителем частоте.
  • CAS# Latency — минимальное время между подачей команды на чтение (CAS#) и началом передачи данных (задержка чтения).
  • RAS# to CAS# — время, необходимое для активации строки банка, или минимальное время между подачей сигнала на выбор строки (RAS#) и сигнала на выбор столбца (CAS#).
  • RAS# Precharge — время, необходимое для предварительного заряда банка (precharge). Иными словами, минимальное время закрытия строки, после чего можно активировать новую строку банка.
  • tRAS — минимальное время активности строки, то есть минимальное время между активацией строки (её открытием) и подачей команды на предзаряд (начало закрытия строки).
  • tRC — минимальное время между активацией строк одного банка. Является комбинацией таймингов tRAS+tRP – минимального времени активности строки и времени её закрытия (после чего можно открывать новую).
  • Command Rate — время, необходимое для декодирования контроллером команд и адресов. Иначе, минимальное время между подачей двух команд. Используется только в расширенных профилях.
  • Voltage — используемое напряжение. JEDEC использует только стандартное значение, потому отличаться это поле будет только в расширенных профилях.
<< Назад О программе и её основных возможностях.Список поддерживаемого железа и установкаВкладка ProcessorВкладка CacheВкладка MainboardВкладка MemoryВкладка SPDВкладка GraphicsВалидация (Validation)Горячие клавишиПараметры запускаФайл конфигурацииПара слов о микроизменениях в версиях CPU-Z. Заключение.Далее >>


www.modlabs.net

Модули памяти Corsair DOMINATOR TWIN3X2048-1800C7DFIN G:

стандарты JEDEC DDR3 SPD и Intel XMP, первые тесты двухканальной DDR3 и некоторые особенности контроллера памяти чипсетов Intel 3 Series

Настоящей статьей мы открываем новый цикл исследований, посвященных модулям оперативной памяти типа DDR3. Говорить о наступлении «эпохи DDR3», на наш взгляд, немного преждевременно. Поскольку процессоры новой архитектуры AMD «K10» семейства Phenom X4 (несомненным преимуществом которых является наличие интегрированного контроллера памяти), способные поддерживать память DDR3, еще даже не анонсированы, единственной платформой на сегодняшний день, способной функционировать с модулями памяти DDR3, является платформа Intel на базе двух- или четырехъядерных процессоров семейства Intel Core 2 и чипсетов Intel 3 Series с «официальной» тактовой частотой системной шины 333-400 МГц. Эта платформа способна обеспечить производительность подсистемы памяти на уровне не выше двухканальной DDR2-800, что делает несколько излишним и неоправданным применение более скоростных вариантов вроде DDR2-1066 и, в особенности, еще более скоростной памяти DDR3. Но практика показывает, что реальность способна преподносить интересные сюрпризы, позволяющие пересмотреть столь категоричное отношение, следующее из теории. Именно это мы и сделаем в настоящей статье.Информация о производителе модуля

Производитель модуля: Corsair Memory
Производитель микросхем модуля: неизвестен
Сайт производителя модуля: www.corsair.com/products/dominator.aspxВнешний вид модулей

Рассматриваемые модули внешне похожи на исследованные ранее модули памяти серии DOMINATOR типа DDR2 — TWIN2X2048-10000C5DF, TWIN2X2048-9136C5D и TWIN2X2048-8888C4D (естественно, за исключением внешнего вида контактов и расположения ключа). Напомним, что особенности дизайна продуктов серии DOMINATOR связаны с применением новой технологии охлаждения, именуемой Dual-path Heat Xchange (DHX(tm)), суть которой заключается в организации теплоотвода двумя путями — через выводы микросхем BGA на печатную плату (PCB) модуля, а также с корпуса микросхем BGA на высокоэффективные радиаторы из экструдированного алюминия.

Модули серии DOMINATOR могут также дополнительно охлаждаться специальной системой охлаждения DOMINATOR Airflow Fans, создающей прямой воздушный поток на модули памяти для улучшенного рассеивания тепла и активного отвода его от модулей памяти. Данная система охлаждения входит в комплект поставки рассматриваемых модулей памяти TWIN3X2048-1800C7DFIN G.Part Number модуля

Руководство по расшифровке Part Number модулей памяти DDR3 серии DOMINATOR на сайте производителя отсутствует.

В брошюре модулей TWIN3X2048-1800С7DFIN G указывается, что продукт представляет собой комплект из двух модулей CM3X1024-1800С7DIN объемом 1 ГБ каждый. Модули поддерживают расширение DDR3 SPD — стандарт Intel Extreme Memory Profiles (XMP), позволяющий энтузиастам, геймерам и оверклокерам автоматически получить максимум производительности подсистемы памяти на материнских платах платформы Intel, обладающих поддержкой этого стандарта. Производитель на 100% гарантирует функционирование модулей на материнских платах Intel Extreme Series, поддерживающих память DDR3, в неофициальном режиме DDR3-1800 при таймингах профиля XMP 7-7-7-20 и питающем напряжении 2.0 В. В то же время, в стандартной части SPD в качестве режима по умолчанию указан довольно консервативный стандартный режим DDR3-1333 с таймингами 9-9-9-24.Данные микросхемы SPD модулей

Описание общего стандарта SPD:
JEDEC Standard No. 21-C, 4.1.2 — SERIAL PRESENCE DETECT STANDARD, General Standard

Описание специфического стандарта SPD для DDR3:
Открытое описание специфического стандарта SPD для DDR3 на сайте JEDEC в настоящее время недоступно. Расшифровка содержимого SPD рассматриваемых модулей была произведена в соответствии с предварительной версией стандарта DDR3 SPD 1.0, любезно предоставленной нам компанией Corsair Memory.

ПараметрБайт(ы)ЗначениеРасшифровка
Количество байт SPD
(количество используемых байт, полное количество байт SPD, область вычисления CRC)
092hИспользуемых байт: 176
Всего байт: 256
CRC: байты 0-116
Номер ревизии SPD110hРевизия 1.0
Тип устройства DRAM20BhDDR3 SDRAM
Емкость микросхемы и количество логических банков402hЕмкость: 1 Гбит
Кол-во банков: 8
Адресация SDRAM: количество адресных линий строки и столбца микросхемы511hКол-во столбцов: 10
Кол-во строк: 13
Организация модуля: ширина внутренней шины данных микросхем модуля, количество физических банков (ранков)701hШирина устройства: 8 бит
Кол-во ранков: 1
Ширина внешней шины данных модуля (включая ECC)803hШирина модуля: 64 бит
Расширение ECC: нет
Точный опорный временной интервал (FTB)
(делимое : делитель)
951h5 пс (5:1)
Основной опорный временной интервал (MTB)
(делимое : делитель)
10, 1101h, 08h0.125 нс (1:8)
Минимальный временной цикл (tCKmin)120Ch1.5 нс (DDR3-1667)
Поддерживаемые длительности сигнала CAS# (CL)14, 1534h, 00hБит 2: CL = 6
Бит 4: CL = 8
Бит 5: CL = 9

Минимальная задержка CAS# (tAAmin)

166Ch13.5 нс (9 тактов)
Минимальный период восстановления после записи (tWRmin)1778h15.0 нс (10 тактов)
Минимальная задержка между RAS# и CAS# (tRCDmin)186Ch13.5 нс (9 тактов)
Минимальная задержка между активизацией соседних строк (tRRDmin)1930h6.0 нс (4 такта)
Минимальное время подзарядки данных в строке (tRPmin)206Ch13.5 нс (9 тактов)
Минимальная длительность импульса сигнала RAS# (tRASmin)22, 2120h, 11h36.0 нс (24 такта)
Минимальное время цикла строки (tRCmin)23, 218Ch, 11h49.5 нс (33 такта)
Минимальное время цикла регенерации (tRFCmin)24, 25D0h, 02h90.0 нс (60 тактов)
Минимальная внутренняя задержка между командами WRITE и READ (tWTRmin)263Ch7.5 нс (5 тактов)
Минимальная внутренняя задержка между командами READ и PRECHARGE (tRTPmin)273Ch7.5 нс (5 тактов)
Минимальное время задержки Four Activate Window (tFAWmin)29, 28F0h, 00h30.0 нс (20 тактов)
Дополнительные возможности SDRAM3083hБит 0: поддержка RZQ/6
Бит 1: поддержка RZQ/7
Бит 7: поддержка DLL-Off
Температурный режим и режим регенерации SDRAM3105hБит 0: расширенный диапазон температур (0-95°C)
Бит 2: автоматическая саморегенерация (ASR)
Идентификационный код производителя модуля117, 11802h, 9EhCorsair Memory
Дата изготовления модуля120-12100h, 00hНе указана
Серийный номер модуля122-12500h, 00h, 00h, 00hНе указан
Контрольная сумма126-1271Dh, 98h981Dh (верно)
Part Number модуля128-145CM3X1024-1800C7DHX
Идентификационный код производителя микросхем148, 14900h, 00hНе указан

Способ представления информации в SPD модулей памяти DDR3 претерпел довольно существенные изменения. Прежде всего, несколько по-иному кодируются физические характеристики модуля памяти и его микросхем. Так, для последних указывается полная емкость массива (количество бит), количество логических банков и ширина (разрядность) внутренней шины данных (в битах). Для получения привычного вида конфигуркции микросхемы памяти полную емкость массива (в нашем случае — 1 Гбит) необходимо поделить на ширину внутренней шины данных (x8), таким образом, ее можно записать как «256Mx8» (или, с учетом количества логических банков — «32Mx8x8 банков», хотя такая форма записи встречается намного реже). Емкость физического банка (ранка) вычисляется несколько более сложным образом: емкость микросхемы (в битах) делится на 8 (для пересчета бит в байты), умножается на ширину внешней шины данных и делится на ширину внутренней шины данных. В нашем случае получаем: 1 (Гбит) / 8 (бит/байт) x 64 (бит) / 8 (бит) = 1 ГБ. Наконец, емкость модуля, как обычно, определяется емкостью физического банка (ранков), помноженной на количество физических банков (ранков). Согласно SPD, сассматриваемые модули являются одноранковыми, в связи с чем емкость модуля совпадает с емкостью ранка и соответствует заявленным 1 ГБ.

Принципиальные изменения касаются и представления всех временных параметров (таймингов) микросхем модуля памяти. Вместо использования привычных наносекунд для указания времени цикла (tCK) и всех остальных таймингов (за исключением tCL, о чем позже), в DDR3 SPD все параметры выражены в «единицах MTB». Само значение MTB — Medium Time Base можно было бы перевести как значение «среднего» опорного временного интервала, однако мы предпочли вариант перевода «основной опорный временной интервал». Заметим, что стандартом предусмотрена также возможность использования единиц FTB — Fine Time Base, т.е. «точного» опорного временного интервала (возможно, для более тонкой подстройки каких-либо временных параметров малой длительности, порядка нескольких пикосекунд), однако в настоящей ревизии DDR3 SPD 1.0 оно не используется. Величина MTB (а также FTB) задается в наносекундах рациональным отношением (делимое : делитель), в связи с чем может принимать довольно широкий интервал значений (теоретически — от 255 до 1/255 нс). Стандартом DDR3 SPD по умолчанию утверждено значение MTB, равное 1/8 = 0.125 нс. Другим важным отличием, касающимся временных параметров, является отказ от использования привычных для DDR2 значений времени цикла (tCK), соответствующих основной (CL X), уменьшенной (CL X-1) и дважды уменьшенной (CL X-2) величинам задержки CAS#, выраженных в целых тактах шины памяти. Вместо этого, в DDR3 SPD представлены единственные значения времени цикла (tCKmin) и задержки CAS# (tAAmin), выраженные в единицах MTB (которые можно перевести в наносекунды). В то же время, заметим, что понятие «поддерживаемых длительностей сигнала CAS#» (выраженных в целых тактах шины памяти) по-прежнему используется в DDR3 SPD, в связи с чем можно получить значения времени цикла, соответствующие тем или иным значениям tCL, т.е. провести аналогию с данными DDR2 SPD. В нашем случае tCKmin = 1.5 нс, tAAmin = 13.5 нс (9 тактов), а поддерижваемые значения CAS# — 9, 8 и 6. Основываясь на этих данных, можно представить следующие допустимые значения времени цикла (частоты шины памяти) и схем таймингов:

Задержка CAS#, тактов986
Время цикла (tCK), нс1.51.68752.25
Частота шины памяти, МГц
(скоростная категория DDR3)
666.7
(DDR3-1333)
592.6
(DDR3-1185)
444.4
(DDR3-889)
tRCD, тактов986
tRP, тактов986
tRAS, тактов2421.316

Конечно, представленные схемы таймингов, соответствующие условным скоростным категориям «DDR3-1185» и «DDR3-889» представляют скорее теоретический, нежели практический интерес. Мы приводим их исключительно для того, чтобы провести аналогию между содержимым SPD модулей памяти типа DDR2 и DDR3. На наш взгляд, значение «поддерживаемых длительностей CAS#» следовало бы вообще исключить, оставив при этом единственное значение минимальной задержки CAS# (tAAmin), соответствующей максимальной частоте шины памяти (минимальному времени цикла, tCKmin).

Наконец, несколько по-иному представляется идентификационная информация кода производителя модулей памяти по JEDEC. Вместо представления полного 8-байтного кода с «честным» указанием последовательности одинаковых кодов продолжения (7Fh, количество которых может достигать 7), используется элегантный подход с указанием количества кодов продолжения (в нашем случае — 2) и кода производителя (9Eh), требующий всего 2 байта данных. Стандартом DDR3 SPD предусмотрено также указание кода производителя микросхем модуля (впервые для SPD модулей памяти категорий DDR), однако в нашем случае производитель не пожелал воспользоваться предоставленной возможностью. Дата изготовления модуля, его серийный номер и Part Number указываются аналогично, из них в рассматриваемых модулях присутствует только последний («CM3X1024-1800C7DHX»), причем он несколько не соответствует указанному на этикетке («CM3X1024-1800C7DIN»).

Поскольку изучаемые модули поддерживают расширения XMP, рассмотрим также содержимое «нестандартной» части SPD, соответствующей профилям XMP и представленной байтами 176-254.

Описание стандарта XMP:
Intel(R) Extreme Memory Profile (XMP) Specification: Enthusiast Extension to the JEDEC DDR3 SPD 1.0 Specification. Rev 1.04, September 2007

ПараметрБайт(ы)ЗначениеРасшифровка
Строка идентификации XMP176, 1770Сh, 4AhЕсть поддержка XMP
Организация профилей XMP17800hПрофиль №1: отключен (?)
Профиль №2: отключен
Ревизия XMP17910hРевизия 1.0
Основной опорный временной интервал (MTB)
(делимое : делитель)
180, 18101h, 09h0.111 нс (1 : 9)
Профиль №1
Уровень питающего напряжения (VDD)18540h2.00 V
Минимальный временной цикл (tCKmin)1860Ah1.11 нс (900.0 МГц)
Минимальная задержка CAS# (tAAmin)18746h7.77 нс (7 тактов)
Поддерживаемые длительности сигнала CAS# (CL)188, 1890Ch, 00h6, 7
Минимальная задержка записи CAS# (tCWLmin)19046h7.77 нс (7 тактов)
Минимальное время подзарядки данных в строке (tRPmin)19146h7.77 нс (7 тактов)
Минимальная задержка между RAS# и CAS# (tRCDmin)19246h7.77 нс (7 тактов)
Минимальный период восстановления после записи (tWRmin)19387h15.0 нс (13.5 тактов)
Минимальная длительность импульса сигнала RAS# (tRASmin)195, 194C8h, 10h22.22 нс (20.0 тактов)
Минимальное время цикла строки (tRCmin)196, 19495h, 10h45.0 нс (40.5 тактов)
Максимальное значение периодического интервала регенерации (tREFImax)197, 19846h, 00h7.77 мс
Минимальное время цикла регенерации (tRFCmin)199, 200DEh, 03h110.0 нс (99 тактов)
Минимальная внутренняя задержка между командами READ и PRECHARGE (tRTPmin)20144h7.55 нс (6.8 тактов)
Минимальная задержка между активизацией соседних строк (tRRDmin)20236h6.0 нс (5.4 такта)
Минимальное время задержки Four Activate Window (tFAWmin)204, 2030Eh, 01h30.0 нс (27 тактов)
Минимальная внутренняя задержка между командами WRITE и READ (tWTRmin)20544h7.55 нс (6.8 тактов)
Временные оптимизации обращения команд WRITE-to-READ и READ-to-WRITE20600hW-R: по умолчанию
R-W: по умолчанию
Временные оптимизации обращения команд BACK-to-BACK20700hПо умолчанию
Задержка передачи адреса, команд и контрольных сигналов (System CMD Rate)20800hПо умолчанию

Содержимое общей части расширений XMP включает в себя строку идентификации поддержки XMP (присутствует), номер ревизии XMP (1.0), информацию о содержащихся профилях (в содержимом XMP рассматриваемых модулей эта информация отсутствует, т.е. оба профиля оказываются как бы отключенными, хотя на самом деле присутствуют данные первого профиля — возможно, это связано с использованием производителем более ранней ревизии расширений XMP по сравнению с той, которую мы использовали при расшифровке значений), а также величину опорного временного интервала (MTB), которая задается аналогичным образом (отношением 8-битных делимого и делителя). В рассматриваемом случае, для удобства представления всех остальных значений времен, эта величина уменьшена до 1/11 = 0.111 нс.

Далее представлена информация о профилях XMP (первый — в области 185-219 байт, второй — с 220-го по 254-й байт), которые в нашем случае представлены лишь одним (первым) профилем. Содержимое профиля во многом повторяет содержимое стандартной части DDR3 SPD (большинство временных парамтеров). Минимальное время цикла (tCKmin) равно 1.11 нс (частота шины памяти 900 МГц, т.е. режим DDR3-1800), а схема таймингов (tRCD-tCL-tRP-tRAS) может быть представлена как 7-7-7-20, что в точности соответствует характеристикам производителя модулей памяти. Предусмотрена также «уменьшенная» величина задержки CAS# (6), которой мог бы соответствовать временной цикл примерно 1.296 нс (частота примерно 771 МГц, т.е. режим «DDR3-1542») и схема таймингов 6-6-6-17.1, однако, как и в случае стандартного содержимого DDR3 SPD, это не представляет большого практического интереса. Уровень питающего напряжения, указанный в этом профиле XMP, также соответствует рекомендованному значению 2.0 В.Конфигурация тестового стенда

Стенд №1
  • Процессор: Intel Core 2 Duo E6850 (2+2 МБ L2, 3.0 ГГц, FSB 333 МГц x 9)
  • Чипсет: Intel X38 (штатная частота FSB 333 МГц)
  • Материнская плата: ASUS Maximus Extreme, версия BIOS 0403 от 26.10.2007
  • Память: 2 x 1 ГБ Corsair TWIN3X2048-1800C7DFIN G в режимах DDR3-1600 и DDR3-1800 (профиль XMP).
  • Видео: Sapphire Radeon X1900XTX, 512 МБ
  • HDD: Western Digital WD1600, SATA
Результаты исследования

Исследование подсистемы памяти с участием рассматриваемых модулей проводилось в стандартном (сертифицированном JEDEC) режиме DDR3-1600 с использованием стандартных настроек SPD, и в неофициальном режиме DDR3-1800, достигаемом при использовании профиля XMP. В обоих случаях использовалось рекомендованное производителем питающее напряжение 2.0 В (на 0.5 В выше стандартного) и применялась поставляемая в комплекте модулей фирменная система охлаждения Airflow (без регулировки скорости вращения вентиляторов). При этом в обоих режимах тестирования предпринималась попытка достижения минимально возможной схемы таймингов, не приводящей к сбоям в работе подсистемы памяти.

ПараметрСтенд №1
Частота процессора, МГц
(частота FSB x FID)
3200
(400 x 8)
3150
(450 x 7)
Частота памяти, МГц
(скоростной режим DDR3)
800
(DDR3-1600)
900
(DDR3-1800)
Тайминги памяти, напряжение9-9-9-24,
2.0 В
6-6-6-11,
2.0 В
7-7-7-20,
2.0 В
7-6-6-13,
2.0 В
Средняя ПСП на чтение, ГБ/с, 1 ядро7.948.339.819.94
Средняя ПСП на запись, ГБ/с, 1 ядро2.853.243.743.86
Макс. ПСП на чтение, ГБ/с, 1 ядро9.129.5311.4111.47
Макс. ПСП на запись, ГБ/с, 1 ядро7.317.318.228.22
Средняя ПСП на чтение, ГБ/с, 2 ядра10.6511.3312.7213.02
Средняя ПСП на запись, ГБ/с, 2 ядра3.063.403.753.82
Макс. ПСП на чтение, ГБ/с, 2 ядра11.5212.2413.1813.49
Макс. ПСП на запись, ГБ/с, 2 ядра7.297.298.228.22
Минимальная латентность псевдослучайного доступа, нс26.725.621.121.1
Минимальная латентность случайного доступа*, нс66.059.451.149.1
DOOM3 FPS (640×480, low)280.1286.4288.5293.2
FarCry FPS (640×480, low)441.2451.0463.9463.9

*размер блока 32 МБ

В режиме DDR3-1600 в качестве схемы таймингов по умолчанию BIOS материнской платы ASUS Maximus Extreme, участвующей в наших тестах, была выбрана схема 9-9-9-24 (хотя она и относится к скоростному режиму DDR3-1333, указанному в SPD в качестве режима по умолчанию). Частота системной шины чипсета была установлена равной 400 МГц, соответственно, частота процессора составила 3.2 ГГц (400 МГц x 8, что соответствует разгону последнего на 6.7%). Соотношение частот FSB:DRAM составляет 1:2, и данный режим работы подсистемы памяти можно считать синхронным, т.е. характеризующимся минимальными задержками. Заметим также, что в этом режиме теоретическая пропускная способность (ПС) системной шины (12.8 ГБ/с) оказывается вдвое ниже теоретической пропускной способности памяти (ПСП), равной 25.6 ГБ/с. Таким образом, реально достижимые значения ПСП в лучшем случае составят 50% от теоретического скоростного потенциала двухканальной DDR3.

Признаемся честно, на практике мы ожидали получить еще меньшее раскрытие скоростного потенциала DDR3-1600 на этой платформе, поскольку наше недавнее исследование двухканальной DDR2-800 на чипсете Intel X48 (который отличается от участника наших сегодняшних тестов Intel X38 лишь тем, что 400-МГц частота FSB для него является штатной, а не «разгонной») показало, что данная платформа способна раскрыть лишь примерно 70% скоростного потенциала ПС процессорной шины (и ПСП двухканальной DDR2-800). Учитывая, что ПСП двухканальной DDR3-1600 в два раза выше, изначально мы ожидали увидеть реальные значения ПСП, соответствующие не более 35% от теоретического максимума.

Тем не менее, реальные значения ПСП, приведенные в таблице, оказались намного выше, что особенно заметно по максимальной реальной ПСП на чтение при двухпоточном доступе к памяти — она составляет примерно 11.5 ГБ/с, т.е. 90% от теоретической ПС системной шины (соответственно, 45% от теоретической ПСП DDR3-1600). Использование «экстремальной» схемы таймингов (а в этом рассматриваемые модули показали значительный «запас прочности», поскольку она составила значения 6-6-6-11) еще более увеличивает значение максимальной реальной ПСП на чтение. В этом случае, при «двухъядерном» доступе она составляет 12.24 ГБ/с, т.е. свыше 95% от теоретической ПС системной шины. Таким образом, «виновной» в нераскрытии скоростного потенциала подсистемы памяти в нашем предыдущем исследовании оказалась не системная шина, а… сама DDR2-800, точнее — контроллер памяти чипсетов Intel 3 Series, который неспособен достичь 100% утилизацию ПСП в условиях интенсивного доступа (когда поток данных от процессора чипсету равен по своей интенсивности потоку данных от контроллера памяти к оперативной памяти). В нашем же случае, когда поток данных по системной шине (от процессора к чипсету) оказывается вдвое меньшим по сравнению с потоком данных от оперативной памяти к контроллеру памяти (т.е. утилизация ПСП не превышает 50%), контроллер памяти оказывается полностью способным вовремя предоставить необходимые данные.

То же самое можно сказать и о режиме DDR3-1800, в котором частота системной шины была увеличена до 450 МГц (частота процессора при этом составила 450 МГц x 7 = 3.15 ГГц, что соответствует 5%-ному разгону), а частота шины памяти возросла до 900 МГц (соотношение частот FSB:DRAM осталось прежним, 1:2). В этом случае теоретическая ПС системной шины возрастает до 14.4 ГБ/с, а теоретическая ПСП — соответственно, до 28.8 ГБ/с. Максимальная реальная ПСП на чтение в двухпоточном доступе при применении схемы таймингов по умолчанию (7-7-7-20, соответствующей профилю XMP) составляет примерно 13.2 ГБ/с, что соответствует утилизации примерно 92% ПС системной шины. Уменьшение схемы таймингов до минимально возможной 7-6-6-13 увеличивает это значение примерно до 13.5 ГБ/с, т.е. примерно 94% от теоретической ПС FSB.

Важно также отметить, что как применение более скоростной схемы таймингов, так и увеличение частоты FSB и шины памяти приводит к ощутимому снижению задержек при случайном доступе в память. В первом случае, при переходе от «стандартной» схемы таймингов 9-9-9-24 к «экстремальной» 6-6-6-11 снижение латентности случайного доступа составляет 10%. Увеличение частоты FSB и DRAM на 12.5% приводит к более ощутимому снижению задержек — примерно на 23%, если сравнивать значения при «стандартных» схемах таймингов, и примерно на 17% при сравнении значений в «экстремальных» условиях.Итоги

Исследованные модули памяти Corsair DOMINATOR TWIN3X2048-1800C7DFIN G проявили себя в качестве надежных представителей нового поколения памяти DDR3. В максимальном скоростном режиме DDR3-1600, сертифицированном JEDEC, они оказались способными функционировать с максимально низкой схемой таймингов 6-6-6-11 (при рекомендованном питающем напряжении 2.0 В), а в неофициальном режиме DDR3-1800, указанном в профиле XMP, рекомендованную схему таймингов 7-7-7-20 удалось снизить до 7-6-6-13.

Величины реально достижимой пропускной способности памяти в обоих случаях (как DDR3-1600, так и DDR3-1800) составили почти 95% от теоретической ПС системной шины, выступающей в данном случае главным ограничителем скоростного потенциала подсистемы памяти. Иными словами, использование рассматриваемых модулей памяти DDR3 позволяет «выжать максимум» производительности подсистемы памяти на данной платформе (процессоры семейства Intel Core 2, чипсеты Intel 3 Series). Заметим, что такого эффекта не удается достичь при использовании модулей памяти DDR2-800 на этой платформе, несмотря на то, что это должно быть возможно теоретически. Указанное обстоятельство несомненно оправдывает применение более скоростных вариантов модулей памяти (включая DDR3) уже сегодня, на нынешнем поколении платформ Intel.

Средняя текущая цена (количество предложений) в московской рознице:

Модули памяти Corsair DOMINATOR DDR3-1800
2 x 1ГБ (TWIN3X2048-1800C7DFIN G)
 Н/Д(0)
Модули памяти Corsair DOMINATOR предоставлены представительством компании Corsair Memory

www.ixbt.com

Исследование основных характеристик модулей памяти

Часть 23: Модули Corsair DDR2-1066 с поддержкой EPP (XMS2-8500C5)

Мы продолжаем изучение важнейших характеристик высокоскоростных модулей DDR2 с помощью универсального тестового пакета RightMark Memory Analyzer. Сегодня мы рассмотрим первые модули памяти высокоскоростной неофициальной категории «DDR2-1066» от Corsair, поддерживающие расширения стандарта SPD EPP (Enhanced Performance Profiles), совместно разработанные компаниями Corsair и NVIDIA — 2-ГБ двухканальный комплект XMS2-8500C5, ориентированный на платформу AMD «AM2».Информация о производителе модуля

Производитель модуля: Corsair Memory
Производитель микросхем модуля: неизвестен
Сайт производителя модуля: www.corsairmemory.com/corsair/xms2.htmlВнешний вид модуля

Фото модуля памяти

Part Number модуля

Расшифровка Part Number модуля

Руководство по расшифровке Part Number модулей памяти DDR2 серии XMS2 на сайте производителя отсутствует. В брошюре модулей TWIN2X1024-8500 указывается, что продукт представляет собой комплект из двух модулей объемом 1 ГБ каждый, основанных на 16 микросхемах 64M x8. Модули поддерживают открытый стандарт EPP (расширение SPD), совместно разработанный компаниями Corsair и NVIDIA и позволяющий автоматически настраивать модули на максимальное быстродействие на материнских платах, обладающих поддержкой этого стандарта. Производитель на 100% гарантирует функционирование модулей в режиме DDR2-1066 при таймингах профиля EPP 5-5-5-15-2T и питающем напряжении 2.2 В, однако в «стандартной» части SPD в качестве режима по умолчанию прописан максимальный стандартный режим DDR2-800 с таймингами 5-5-5-15.Данные микросхемы SPD модуля

Описание общего стандарта SPD:

Описание специфического стандарта SPD для DDR2:

ПараметрБайтЗначениеРасшифровка
Фундаментальный тип памяти208hDDR2 SDRAM
Общее количество адресных линий строки модуля30Eh14 (RA0-RA13)
Общее количество адресных линий столбца модуля40Ah10 (CA0-CA9)
Общее количество физических банков модуля памяти561h2 физических банка
Внешняя шина данных модуля памяти640h64 бит
Уровень питающего напряжения805hSSTL 1.8V
Минимальная длительность периода синхросигнала (tCK) при максимальной задержке CAS# (CL X)925h2.50 нс (400.0 МГц)
Тип конфигурации модуля1100hNon-ECC
Тип и способ регенерации данных1282h7.8125 мс — 0.5x сокращенная саморегенерация
Ширина внешнего интерфейса шины данных (тип организации) используемых микросхем памяти1308hx8
Ширина внешнего интерфейса шины данных (тип организации) используемых микросхем памяти ECC-модуля1400hНе определено
Длительность передаваемых пакетов (BL)160ChBL = 4, 8
Количество логических банков каждой микросхемы в модуле1704h4
Поддерживаемые длительности задержки CAS# (CL)1830hCL = 5, 4
Минимальная длительность периода синхросигнала (tCK) при уменьшенной задержке CAS# (CL X-1)2337h3.70 нс (270.3 МГц)
Минимальная длительность периода синхросигнала (tCK) при уменьшенной задержке CAS# (CL X-2)2500hНе определено
Минимальное время подзарядки данных в строке (tRP)2732h12.5 нс
5.0, CL = 5
3.37, CL = 4
Минимальная задержка между активизацией соседних строк (tRRD)281Eh7.5 нс
3.0, CL = 5
2.03, CL = 4
Минимальная задержка между RAS# и CAS# (tRCD)2932h12.5 нс
5.0, CL = 5
3.37, CL = 4
Минимальная длительность импульса сигнала RAS# (tRAS)302Dh45.0 нс
18.0, CL = 5
12.16, CL = 4
Емкость одного физического банка модуля памяти3180h512 МБ
Период восстановления после записи (tWR)363Ch15.0 нс
6.0, CL = 5
4.05, CL = 4
Внутренняя задержка между командами WRITE и READ (tWTR)371Eh7.5 нс
3.0, CL = 5
2.03, CL = 4
Внутренняя задержка между командами READ и PRECHARGE (tRTP)381Eh7.5 нс
3.0, CL = 5
2.03, CL = 4
Минимальное время цикла строки (tRC)41, 4037h, 00h55.0 нс
22.0, CL = 5
14.86, CL = 4
Период между командами саморегенерации (tRFC)42, 404Bh, 00h75.0 нс
30.0, CL = 5
20.27, CL = 4
Максимальная длительность периода синхросигнала (tCKmax)4380h8.0 нс
Номер ревизии SPD6212hРевизия 1.2
Контрольная сумма байт 0-626398h152 (верно)
Идентификационный код производителя по JEDEC64-717Fh, 7Fh,
9Eh
Corsair
Part Number модуля73-90—CM2X1024-8500
Дата изготовления модуля93-9400h, 00hНе определено
Серийный номер модуля95-9800h, 00h,
00h, 00h
Не определено

Содержимое «стандартной» части SPD можно считать привычным для модулей Corsair. Максимальный скоростной режим, на который рассчитаны модули, характеризуется временем цикла 2.5 нс (частота 400 МГц, режим DDR2-800). Этому режиму соответствует первое из поддерживаемых значений tCL = 5, а полная схема таймингов записывается в виде 5-5-5-18, что немного не совпадает с характеристиками, заявленными производителем в краткой документации модулей (DDR2-800, тайминги 5-5-5-15). Уменьшенному значению задержки сигнала CAS# (CL X-1 = 4) соответствует нестандартный период синхросигнала 3.7 нс, что соответствует частоте 270 МГц — вероятно, под этим имеется в виду режим DDR2-533 с временем цикла 3.75 нс. Тем не менее, не совсем корректное значение периода синхросигнала приводит к нецелым значениям в схеме таймингов, которую можно записать (с округлением до десятых) как 4-3.4-3.4-12.2, которая скорее всего округлится большинством BIOS материнских плат до 4-4-4-13 (в сторону больших целых значений). Вообще, режим DDR2-533 явно не является актуальным для столь высокоскоростных модулей, так что эти значения вряд ли вообще имеют смысл — пожалуй, было бы разумнее их и вовсе исключить из SPD.

Идентификационный код производителя и Part Number модуля указаны верно, тем не менее, как и в остальных модулях Corsair, в микросхеме SPD настоящих модулей отсутствуют данные о дате изготовления и серийном номере модулей.

Что ж, рассмотрим теперь важнейшую информацию «нестандартной» части SPD, соответствующей профилям EPP и представленной байтами 99-127.

Описание стандарта EPP:

ПараметрБайт(ы)
(биты)
ЗначениеРасшифровка
Строка идентификации EPP99-1014E566DhЕсть поддержка SPD EPP
Тип профилей EPP102B1hРасширенные профили
Профиль оптимальной производительности103 (1:0)01hПрофиль 1
Используемые профили103 (7:4)03hПрофиль 0: присутствует
Профиль 1: присутствует
Профиль №0
Уровень питающего напряжения104 (6:0)08h2.0 V
Задержка передачи адреса (Addr CMD rate)104 (7)01h2T
Время цикла (tCK)10925h2.50 нс (200.0 МГц)
Задержка CAS# (tCL)11010h4
Минимальная задержка между RAS# и CAS# (tRCD)11128h10.0 нс (4)
Минимальное время подзарядки данных в строке (tRP)11228h10.0 нс (4)
Минимальная длительность импульса сигнала RAS# (tRAS)1131Eh30.0 нс (12)
Период восстановления после записи (tWR)1143Ch15.0 нс (6)
Минимальное время цикла строки (tRC)11537h55.0 нс (22)
Профиль №1
Уровень питающего напряжения116 (6:0)10h2.2 V
Задержка передачи адреса (Addr CMD rate)117 (7)01h2T
Время цикла (tCK)1211Eh1.875 нс (266.7 МГц)
Задержка CAS# (tCL)12220h5
Минимальная задержка между RAS# и CAS# (tRCD)12326h9.5 нс (5.06)
Минимальное время подзарядки данных в строке (tRP)12426h9.5 нс (5.06)
Минимальная длительность импульса сигнала RAS# (tRAS)1251Ch28.0 нс (14.93)
Период восстановления после записи (tWR)1263Ch15.0 нс (8)
Минимальное время цикла строки (tRC)12737h55.0 нс (29.33)

Видно, что рассматриваемые модули поддерживают стандарт EPP и содержат информацию о двух «расширенных» профилях (возможный вариант — наличие четырех «сокращенных» профилей, в которых опущена большая часть тонких настроек задержек и силы тока различных сигнальных линий). Первому из этих профилей (профилю №0) соответствует время цикла 2.5 нс, т.е. режим DDR2-800, однако в отличие от данных стандартной части SPD, в профиле EPP №0 для этого режима прописаны тайминги 4-4-4-12, задержка адресно-командного интерфейса 2T и питающее напряжение 2.0 V, а также прочие параметры различных тонких настроек временного и электрического характера, не представленные в таблице. Второй из профилей EPP (профиль №1) помечен как «оптимальный» (рекомендованный к использованию по умолчанию) и соответствует режиму DDR2-1066 со временем цикла 1.875 нс. Соответствующая для этого случая схема таймингов не может быть представлена целыми числами и записывается как 5-5.06-5.06-14.93, что, очевидно, должно быть воспринято материнскими платами, поддерживающими EPP, как 5-5-5-15. Задержки адресно-командного интерфейса в этом случае также составляют значение 2T, а питающее напряжение увеличено до 2.2 V.Конфигурации тестовых стендов

Стенд №1
  • Процессор: AMD Athlon 64 X2 4800+ (Socket AM2), частота 2.4 ГГц (200 x12)
  • Чипсет: NVIDIA nForce4 SLI X16, MCP590
  • Материнская плата: ASUS M2N32-SLI Deluxe, версия BIOS 0603 от 06/27/2006
  • Память: 2×1024 МБ Corsair XMS2-8500C5 в режиме DDR2-800, частота 400 МГц (2400 /6), SLI-Ready Memory: «Disabled»
Стенд №2
  • Процессор: AMD Athlon 64 X2 4800+ (Socket AM2), частота 2.4 ГГц (200 x12)
  • Чипсет: NVIDIA nForce4 SLI X16, MCP590
  • Материнская плата: ASUS M2N32-SLI Deluxe, версия BIOS 0603 от 06/27/2006
  • Память: 2×1024 МБ Corsair XMS2-8500C5 в режиме DDR2-800, частота 400 МГц (2400 /6), SLI-Ready Memory: «High Performance»
Стенд №3
  • Процессор: AMD Athlon 64 X2 4800+ (Socket AM2), частота 2.4 ГГц (240 x10)
  • Чипсет: NVIDIA nForce4 SLI X16, MCP590
  • Материнская плата: ASUS M2N32-SLI Deluxe, версия BIOS 0603 от 06/27/2006
  • Память: 2×1024 МБ Corsair XMS2-8500C5 в режиме DDR2-1066, частота 480 МГц (2400 /5), SLI-Ready Memory: «Optimal» или «High Frequency», SLI-OC: «Disabled».
Стенд №4
  • Процессор: AMD Athlon 64 X2 4800+ (Socket AM2), частота 2.67 ГГц (267 x10), напряжение 1.55 V
  • Чипсет: NVIDIA nForce4 SLI X16, MCP590
  • Материнская плата: ASUS M2N32-SLI Deluxe, версия BIOS 0603 от 06/27/2006
  • Память: 2×1024 МБ Corsair XMS2-8500C5 в режиме DDR2-1066, частота 533 МГц (2670 /5), SLI-Ready Memory: «Optimal» или «High Frequency», SLI-OC: «Max»
Результаты тестирования

Тесты производительности

В тестах принимала участие материнская плата ASUS M2N32-SLI Deluxe, поддерживающая модули памяти с EPP. В настройках BIOS этой материнской платы включение/выключение использования профилей EPP именуется параметром «SLI-Ready Memory», который может принимать значения «Disabled», «Optimal», «High Performance» и «High Frequency». Очевидно, что «Disabled» соответствует использованию стандартной информации из SPD для настройки подсистемы памяти, «Optimal» соответствует оптимальному профилю (в соответствии с самими данными EPP), а оставшиеся варианты «High Performance» и «High Frequency» — профилям, характеризующимися максимальной производительностью (это понятие является достаточно широким, поэтому выбор конкретного профиля, видимо, зависит от конкретных модулей памяти) и максимальной тактовой частотой памяти. Дополнением к опции «SLI-Ready Memory» является настройка «SLI-OC», позволяющая разгонять процессор на требуемое количество процентов (от 0%, т.е. отсутствия разгона, до 14% с шагом 1%, плюс вариант «MAX», видимо, соответствующий 15% максимального разгона) для достижения максимальной производительности подсистемы памяти. Производитель материнской платы предупреждает, что включение этого режима может потребовать дополнительного увеличения питающего напряжения процессора, что вполне естественно. Помимо этих опций, материнская плата ASUS M2N32-SLI Deluxe предоставляет огромное количество настроек различных параметров таймингов, поддерживаемых новым DDR2-контроллером процессоров «AM2» (от стандартных tCL, tRCD, tRP и tRAS до самых малозначительных и неочевидных, вроде tRDRD/tWRWR), а также различных тонких настроек задержек и величин электрического характера, предусмотренных новым стандартом EPP. Подавляющее большинство этих параметров в наших исследованиях принимали значение по умолчанию («Auto»), т.е. мы целиком и полностью полагались на автоматическую оптимизацию рабочих характеристик подсистемы памяти согласно информации, записанной в профилях EPP.

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

1. SLI-Ready Memory: Disabled, что соответствует использованию режима по умолчанию из SPD, т.е. DDR2-800 с таймингами 5-5-5-18 и задержками командного интерфейса 2T

2. SLI-Ready Memory в положении «High Performance», которому, как оказалось, также соответствует режим DDR2-800, но уже с задержками 4-4-4-12-2T, отвечающими профилю №0 из EPP.

3. SLI-Ready Memory в положении «Optimal» или «High Frequency», что в случае данных модулей одно и то же, т.к. в содержимом EPP «оптимальным» обозначен профиль №1, соответствующий максимальной тактовой частоте. Что интересно, в этом режиме материнская плата самостоятельно переконфигурировала частоту системной шины и множитель процессора так, чтобы его тактовая частота оставалась на прежнем уровне (2400 МГц = 240 МГц x10), но при этом тактовая частота памяти, соответственно, возросла с 400 до 480 МГц (2400 /5). Схема таймингов в этом случае также выбралась в соответствии с данными профиля №1 — 5-5-5-15-2T.

4. Последний режим тестирования аналогичен предыдущему, но мы позволили материнской плате дополнительно разогнать процессор настолько, насколько это необходимо, выставив опцию «SLI-OC» в положение «MAX» (как мы уже отмечали выше, по-видимому, допускающей не более 15% разгона процессора). Параллельно с этим мы увеличили напряжение на ядре процессора до 1.55 В, дабы быть уверенным в стабильности его функционирования на повышенной частоте. Последняя в этом случае оказалась равной 2670 МГц (267 МГц x10) — нетрудно видеть, что именно такая частота оказывается достаточной для того, чтобы частота шины памяти составила примерно 533 МГц (2670 /5). Таким образом, разгон процессора составил примерно 11%.

ПараметрСтенд №1Стенд №2Стенд №3Стенд №4
Тайминги5-5-5-18-2T4-4-4-12-2T5-5-5-15-2T5-5-5-15-2T
Средняя ПСП на чтение, МБ/с3934405141784668
Средняя ПСП на запись, МБ/с3284338334883891
Макс. ПСП на чтение, МБ/с7813797680819041
Макс. ПСП на запись, МБ/с6927693868997711
Минимальная латентность псевдослучайного доступа, нс28.126.725.422.7
Максимальная латентность псевдослучайного доступа, нс31.029.528.425.4
Минимальная латентность случайного доступа*, нс80.376.673.966.4
Максимальная латентность случайного доступа*, нс85.482.876.268.3

*размер блока 32 МБ

Результаты тестов во всех четырех режимах достаточно очевидны. Различия между первыми двумя режимами, отличающимися лишь схемой таймингов, наименее выражены. Максимально достижимая реальная ПСП составляет примерно 7.8-7.9 ГБ, что хорошо согласуется с уже известным фактом, что для «одноядерного» обращения со стороны процессоров AMD «AM2» даже DDR2-800 (в двухканальном режиме) оказывается явно излишней. В соответствии с этим же фактом, величины ПСП, наблюдаемые в третьем режиме (при частоте памяти 480 МГц, т.е. «DDR2-960»), практически не отличаются от величин, наблюдаемых в первых двух случаях. Использование более высокой частоты памяти при сохранении частоты процессора на уровне 2.4 ГГц приводит лишь к некоторому уменьшению задержек, особенно заметному при случайном доступе к памяти. И только в последнем случае (стенд №4), при разгоне процессора до 2.67 ГГц (на 11%) максимальная реальная ПСП возрастает до величин порядка 9.0 ГБ/с, т.е. примерно на те же 11%. Вместе с этим наблюдается дополнительное уменьшение задержек, связанное с уменьшением абсолютных показателей таймингов (5-5-5-15 при 533 МГц — это меньше, чем та же самая схема, но при 480 МГц).

Тесты стабильности

Значения таймингов, за исключением tCL, варьировались «на ходу» благодаря встроенной в тестовый пакет RMMA возможности динамического изменения поддерживаемых чипсетом настроек подсистемы памяти (использовалась промежуточная версия RMMA 3.7, уже поддерживающая контроллер памяти DDR2 процессоров «AM2»). Устойчивость функционирования подсистемы памяти определялась с помощью вспомогательной утилиты RightMark Memory Stability Test, входящей в состав тестового пакета RMMA.

ПараметрСтенд №1Стенд №2Стенд №3Стенд №4
Тайминги4-4-3-1T
(2.0 V)
4-4-3-1T
(2.0 V)
5-4-3-2T
(2.2 V)
5-5-4-2T
(2.2 V)
Средняя ПСП на чтение, МБ/с4171417441704664
Средняя ПСП на запись, МБ/с3429345633353740
Макс. ПСП на чтение, МБ/с8128815481099012
Макс. ПСП на запись, МБ/с6846685469167723
Минимальная латентность псевдослучайного доступа, нс25.325.225.422.8
Максимальная латентность псевдослучайного доступа, нс28.128.128.525.5
Минимальная латентность случайного доступа*, нс77.977.574.866.0
Максимальная латентность случайного доступа*, нс80.579.676.867.9

*размер блока 32 МБ

Напряжение питания модулей в первом случае выставлялось вручную в соответствии с рекомендациями производителя, выраженными в профилях EPP (2.0 В для DDR2-800), во всех остальных случаях мы полагались исключительно на материнскую плату, способную настраивать компоненты системы автоматически в соответствии с данными профилей EPP. Минимально достижимая схема таймингов в первых двух случаях, при частоте памяти 400 МГц, составила 4-4-3 при уменьшенной задержке командного интерфейса 1T (значения тайминга tRAS, как всегда, не участвуют в данной схеме, т.к. его можно выставить любым, вплоть до 5, без особых последствий для стабильности подсистемы памяти). Как и следовало ожидать, использование такой схемы привело лишь к некоторому дополнительному снижению задержек (по сравнению со стандартными схемами 4-4-4-12 и, в особенности, 5-5-5-18), но практически не сказалось на величинах ПСП.

В третьем случае, при частоте памяти 480 МГц, минимально возможная стабильная схема таймингов оказалась равной 5-4-3 при задержках командного интерфейса 2T. Увеличение частоты памяти до 533 МГц (стенд №4) в принципе позволило использовать такую же схему таймингов, однако при работе достаточно быстро возникали ошибки. Поэтому минимально возможной схемой таймингов в «родном» режиме DDR2-1066 оказалась схема 5-5-4 при величине задержек командного интерфейса 2T. Тем не менее, такой «разгон по таймингам» практически никак не сказался на величинах ПСП (как и в первых двух случаях), а также реально наблюдаемых задержках при доступе в память.Итоги

Исследованные модули Corsair XMS2-8500C5 проявили себя в качестве высокоскоростных модулей класса high-end, способных функционировать как в официальном режиме DDR2-800, так и в неофициальном максимально скоростном режиме DDR2-1066 (при умеренно высоком питающем напряжении 2.2 В). Рассматриваемые модули, содержащие в своей микросхеме SPD данные нового открытого стандарта EPP проявили полную совместимость с материнской платой ASUS M2N32-SLI Deluxe, поддерживающей данный стандарт. Как и рассмотренные ранее модули памяти Corsair XMS2-8500, настоящие модули обладают умеренным разгонным потенциалом по таймингам (по сравнению с более ранними «топовыми» предложениями от Corsair) — в официальном режиме DDR2-800 они способны функционировать при схеме таймингов 4-4-3-1T (напряжение питания 2.0 В), тогда как функционирование в максимально скоростном режиме DDR2-1066 требует увеличения этой схемы до значений 5-5-4-2T, все же несколько меньших по сравнению с рекомендуемой производителем схемой 5-5-5-2T.

Средняя текущая цена (количество предложений) в московской рознице:

Модули памяти Corsair DDR2-1066
XMS2-8500C5 2 x 1ГБ
 Н/Д(0)

www.ixbt.com

alexxlab

leave a Comment