Row hammer: причина сбоев DDR3

Компоненты
Недавно был обнаружен новый механизм сбоев DDR3 памяти и его удачно назвали Row hammer. Сбой происходит когда большое количество активаций некой строки памяти влияет на заряд конденсаторов близлежащих строк вплоть до изменения логического состояния битов в ней. Активации «выбивают» заряд. Картинка — Marc Greenberg

Row hammer

Спецификации DDR3 никак не запрещают row hammering, и производители никак не тестируют свои микросхемы на предмет появления этого эффекта, хотя, очевидно, что он существенен. Вот, к примеру, код:

volatile int i=100500;
while(i--) {}


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

ECC тут тоже не особо поможет. Дело в том, что ECC (кроме того, что дорогой и медленный) может исправить ошибку всего в 1 бит. А когда происходит Row hammering портится вся строка. Скорее-всего, при этом контроллер просто обнаружит ошибку, а дальше все будет зависеть от того, как эта ошибка обработается.

А почему-же мы не видим этой ошибки каждый день, работая за компьютером? Дело в том, что в современных процессорах есть кэш и ячейка памяти к которой необходим постоянный доступ просто «переносятся» во внутреннюю SRAM процессора. А вот если вы разрабатываете систему с ПЛИС, где непосредственно управляете контроллером памяти, то придется задуматься, как бы избежать этой проблемы. Самое очевидное решение — перенести память к которой будет постоянный доступ во внутреннюю память ПЛИС или во внешний SRAM.

Вот видео от производителя девайса для обнаружения Row hammer:


И пара статей на тему:
Achieve Reliability, Availability, And Serviceability For Memory Interfaces
The Known Failure Mechanism in DDR3 memory called “Row Hammer”

8 комментариев

avatar
Вот это да, ну и ну!!! Это негативное явление присуще только у DDR3? Или есть и у DDR1 и DDR2 чипов?
avatar
Я не слышал, чтобы у DDR или DDR2 был такой недостаток. Подозреваю, что их делают по гораздо более грубым технормам, и, из-за этого, там этого эффекта нет.
Комментарий отредактирован 2014-09-08 17:12:14 пользователем bsvi
avatar
Хотелось бы хоть на минуточку, хоть одним глазочком взглянуть на проект, требующий применения такой скоростной памяти как DDR3.
avatar
Очень даже верю в это, гдето в 2005 очень тесно и долго кувыркался на практике с SDRAM на 133МГц, так вот там на сколько я помню, было очень много ограничений наложено даже на работу с чипом, более того даже на разные произведители разное, например Микроновская и Самсунговская вели себя по разному.
avatar
Вот это все и есть злая пропреитарщина!!!
avatar
неа, это все потому что у каждого отсебятина+свои стандарты+свое видение+свои технологии производства+свои знания и инженеры и +свои тараканы в головах..., так что у всех все разное, что вполне природно и нормально.
Комментарий отредактирован 2014-09-18 10:46:27 пользователем idea
avatar
А как же тогда, эта память устанавливается в ПК, ведь тут все совместимо и нормально работает в большинстве случаев?
avatar
ответ на этот вопрос написан в самой новости )))
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.