Если я правильно понимаю, то единственная причина появления технологии ECC это частицы с высокой энергией, который могут инвертировать бит памяти. Но как это воспроизвести для тестов?
Здравствуйте, cppguard, Вы писали:
C>Если я правильно понимаю, то единственная причина появления технологии ECC это частицы с высокой энергией, который могут инвертировать бит памяти.
Скорее, дефекты кристалла, приводящие к повышенным утечкам заряда с конденсаторов, из которых состоят ячейки памяти. Плюс, говорят, у современных чипов соседние ячейки могут влиять друг на друга, и можно подобрать удачный паттерн обращения к памяти, на котором это проявится.
C>Но как это воспроизвести для тестов?
А ECC разве прямо в чип памяти интегрированно, а не идёт отдельным кристаллом?
Здравствуйте, Pzz, Вы писали:
Pzz>А ECC разве прямо в чип памяти интегрированно, а не идёт отдельным кристаллом?
имхо это дополнительный чип памяти + логика в контроллере модуля
Pzz>Ну и в любом случае, всё на 100% не оттестируешь.
память уже десятки лет как в принципе нельзя оттестировать на 100%, потому что перебирать все варианты невозможно из-за объема модуля. тестируют небольшим набором семплов и долго, чтобы вывить сбои от перегрева.
Здравствуйте, mike_rs, Вы писали:
Pzz>>А ECC разве прямо в чип памяти интегрированно, а не идёт отдельным кристаллом? _>имхо это дополнительный чип памяти + логика в контроллере модуля
Ну вот и мне так кажется. Соответственно, доп. модуль памяти тестируется, как память, а контроллер, реализующий ECC, можно сигналами со специального стенда покормить, который эмулирует сбои.
Pzz>>Ну и в любом случае, всё на 100% не оттестируешь. _>память уже десятки лет как в принципе нельзя оттестировать на 100%, потому что перебирать все варианты невозможно из-за объема модуля. тестируют небольшим набором семплов и долго, чтобы вывить сбои от перегрева.
Говорят, в DRAM5 модуль ECC стал не опциональным, а обязательным. Видимо дожали техпроцесс до того предела, когда без ECC достаточную надёжность памяти стало уже невозможно обеспечить. Сволочи.
Здравствуйте, Эйнсток Файр, Вы писали:
Pzz>> ECC стал не опциональным
ЭФ>Давно пора было перестать на этом экономить.
В этот раз, по-видимому, сэкономили на надёжности самой памяти, прикрывшись ECC-ом.
Там, кстати, экономия не только транзисторов. ECC какое-то время вычисляется, и это вычисление происходит уже после выборки из памяти. Что не ускоряет процесс.
Здравствуйте, cppguard, Вы писали:
C>Если я правильно понимаю, то единственная причина появления технологии ECC это частицы с высокой энергией, который могут инвертировать бит памяти. Но как это воспроизвести для тестов?
Если один бит случайно инвертирован то ECC самостоятельно исправит ошибку на лету и только увеличит некий внутренний счетчик срабатываний. А если более одного бита то это серьезная проблема для ECC, обычно выдается прерывание и его обработчик а может далее и операционнная система должны решать что делать. В контроллере специально для тестов предусмотрено выключение ECC и режим имитации неправильных ECC синдромов, так называемое injection, в нужном адресе. Имитируют проблему и смотрят как отреагирует контроллер и память.
Здравствуйте, cppguard, Вы писали:
C>Если я правильно понимаю, то единственная причина появления технологии ECC это частицы с высокой энергией, который могут инвертировать бит памяти. Но как это воспроизвести для тестов?
Как обычно — положи небольшой кусочек плутония рядом с памятью
Pzz>Говорят, в DRAM5 модуль ECC стал не опциональным, а обязательным. Видимо дожали техпроцесс до того предела, когда без ECC достаточную надёжность памяти стало уже невозможно обеспечить. Сволочи.
Там все слегка более запутанно.
Внутри обычной плашки памяти ЕСС есть. Но — именно что внутри: вовне (по шине) оно ЕСС не передает. Стало быть, нормальному юзеру от такого псевдо-ЕСС пользы никакой.
Поэтому, если тебе в самом деле нужна некоторая надежность(*), таки придется купить память нормальной ЕСС, и чтобы материнская плата тоже поддерживала.
(*) вообще, основная польза ЕСС не столько в надежности, сколько в наличии телеметрии. Обычная планка памяти будет тихо сбоить, и хрен поймешь, что идет не так. Планка с ЕСС про обнаруженные ошибки будет оповещать ОС, а уж та в логи запишет, е-мейл админ пошлет и т.п.. Это очень упрощает диагностику, плюс, как правило, можно заметить проблему заранее. Та самая причина, по которой сервер без ЕСС — профанация.
Здравствуйте, cppguard, Вы писали:
C>Если я правильно понимаю, то единственная причина появления технологии ECC это частицы с высокой энергией, который могут инвертировать бит памяти. Но как это воспроизвести для тестов?
Как обычную память.
бит/регистр ECC выведен с модуля памяти наружу так что (CPU, чипсет материнки, BIOS, IPMI, серверные ОС) видят ошибку, знают что данные по такому-то адресу прочитались с ошибкой, была проведена операция коррекции успешно (данным можно доверять) или не успешно (HALT).
Здравствуйте, Pzz, Вы писали:
Pzz>Там, кстати, экономия не только транзисторов. ECC какое-то время вычисляется, и это вычисление происходит уже после выборки из памяти. Что не ускоряет процесс.