Похожие статьи

Последние обновления

Монтируем EXT2, EXT3, EXT4 в Mac OS

Mac OS самостоятельно работать с файловой системой Linux, таких как EXT2, EXT3, EXT4, не может. Для решения этой проблемы есть платное решение extFS от Paragon, но есть и бесплатный вариант для тех кто не боится командной строки. Для этого нам понадобиться приложение fuse-ext2.

Установка Windows 11 без интернета или без учетной записи Microsoft

Windows 11 при первичном запуске требует подключения интернета и учётной записи Microsoft, но на практике бывают ситуации когда нет интернета или нет желания использовать учетную запись Microsoft. Например, в моём случае при подключении WiFi выдавало сообщение "oops you've lost internet connection".

Автоматизация получения бесплатных SSL сертификатов на хостинге RUCENTER

Можно долго ругаться на RUCENTER за нежелание дать клиентам виртуального хостинга бесплатные SSL сертификаты, но воз и ныне  там. В связи с этим пользователям остается либо уходить на другой хостинг, либо оставаться без HTTPS протокола и наблюдать неприятные пометки о небезопасности...

Меняем SPD модулей памяти DDR2 и DDR3

Принесли мне в жертву для обновления старенький Macbook 13 mid 2010 для обновления. Процедура стандартная - расширяем память до 8Gb DDR3, ставим SSD и обновляем Mac OS. С последними двумя пунктами проблем не возникло, а вот с первым всё оказалось не так просто - имеющиеся у меня на руках планки отказались запускаться на этом Mac'е, не смотря на то, что они прекрасно работали в другом Macbook Pro тех же времён. В итоге выяснилось, что данный Macbook работает только с памятью на частоте 1066Mhz (PC8500) из-за встроенной видеокарты GeForce 320M, которая может работать только на частоте 1066. Это легко проверялось установкой одного старого модуля 1Gb с частотой 1066 и нового 4Gb с частотой 1600 - всё запускалось и прекрасно работало. Значит наша задача, сделать так, чтобы хотя бы одна из новых планок памяти запускалась на частотах не выше 1066Mhz.

Для этого нам потребуется другой компьютер, в котором данная память работает, и программа RWEverything. Идём в меню Access -> DIMM SPD и в выпадающем списке выбираем нужный модуль (с адресом 0xA0 или 0xA2 и т.д), после чтения данных программа сразу покажет вам расшифрованные данные модуля на вкладке Summary.

 В соответствии со спецификацией SPD за максимальную частоту памяти отвечает адрес 0x0C. Значение 0А по этому адресу означает скорость 1600, нам же нужна скорость 1066, а это 0F. Но изменение этого значения не достаточно, поскольку эти значения сверяются с контрольной суммой по адресу 0x7e–0x7f. Контрольная сумма считается для байтов 0-116 в формате CRC16. Для расчёта контрольной суммы можно воспользоваться онлайн калькулятором. Пример можно увидеть на скрине ниже.

 В результате получаем значение 0х8А2А

 Для проверки сравним это значение с записанным в памяти. Переводим RWEverything в режим word и сверяем...

 Значения совпадают, значит последовательность введена правильно и можно вносить изменения и считать новую контрольную сумму. Меняем в калькуляторе значения в позиции 0х0С на 0F и снова считаем новую контрольную сумму 0х9D32. Вводим новые значения в RWEverything и жмём Write.

 После перезагрузки компьютера, если всё сделано правильно, можем увидеть в RWEverything изменённые данные при считывании SPD.

Таким же образом можно менять и другие характеристики памяти, но нужно учитывать что частота и тайминги в SPD прописаны в наносекундах с учётом множителя средней временной базы (MTB, чаще всего 1/8 - отношение адресов 0х0А/0х0В). Например, в случае с частотой DDR3-1600 имеем тактовую частоту 800Мгц, в наносекундах это 1,25 или 10 с учётом множителя MTB 1/8, а 10 в шестнадцатеричной системе это 0А, что мы и видели в изначальных значениях памяти по адресу 0х0С.

Таким же способом можно переделывать память DDR3 в DDR3L и обратно, но только в случае если используемые на планке модули памяти по спецификации поддерживают необходимые напряжения. За поддерживаемые напряжения отвечает адрес 0х06, а значения 00 - 1.5V, 02 - 1.35V/1.5V, 03 - 1.35V