Очистка памяти
Эта статья нуждается в дополнительных цитатах для проверки . ( февраль 2015 г. ) |
Очистка памяти состоит из чтения из каждой ячейки памяти компьютера , исправления битовых ошибок (если таковые имеются) с помощью кода исправления ошибок ( ECC ) и записи исправленных данных обратно в то же место. [1]
Из-за высокой плотности интеграции современных компьютерных чипов памяти отдельные структуры ячеек памяти стали достаточно маленькими, чтобы быть уязвимыми для космических лучей и/или излучения альфа-частиц . Ошибки, вызванные этими явлениями, называются мягкими ошибками . Более 8% модулей DIMM испытывают как минимум одну устранимую ошибку в год. [2] Это может быть проблемой для памяти на основе DRAM и SRAM . Вероятность программной ошибки в любом отдельном бите памяти очень мала. Однако, наряду с большим объемом памяти, современные компьютеры, особенно серверы которым оснащены , и длительными периодами безотказной работы , вероятность программных ошибок в общем объеме установленной памяти значительна. [ нужна ссылка ]
Информация в памяти ECC хранится с достаточной избыточностью , чтобы исправить ошибку в одном бите для каждого слова памяти. Следовательно, память ECC может поддерживать очистку содержимого памяти. А именно, если контроллер памяти систематически сканирует память, могут быть обнаружены однобитовые ошибки, ошибочный бит может быть определен с использованием контрольной суммы ECC , а исправленные данные могут быть записаны обратно в память.
Обзор
[ редактировать ]Важно периодически и достаточно часто проверять каждую ячейку памяти, прежде чем возникновение нескольких битовых ошибок в одном и том же слове станет слишком вероятным, поскольку однобитовые ошибки можно исправить, но множественные битовые ошибки исправить невозможно, в случае обычных ошибок. (по состоянию на 2008 г.) Модули памяти ECC.
Чтобы не нарушать регулярные запросы памяти со стороны ЦП и, таким образом, предотвратить снижение производительности , очистка обычно выполняется только во время периодов простоя. Поскольку очистка состоит из обычных операций чтения и записи, она может увеличить энергопотребление памяти по сравнению с операцией без очистки. Поэтому чистка производится не постоянно, а периодически. Для многих серверов период очистки можно настроить в программе настройки BIOS .
Обычные операции чтения памяти, выполняемые процессором или устройствами DMA, проверяются на наличие ошибок ECC, но по причинам локальности данных они могут быть ограничены небольшим диапазоном адресов и оставлять другие области памяти нетронутыми в течение очень длительного времени. Эти места могут стать уязвимыми для более чем одной программной ошибки, а очистка обеспечивает проверку всей памяти в течение гарантированного времени.
В некоторых системах очищать можно не только основную память (на базе DRAM), но и кэши ЦП (на основе SRAM). В большинстве систем скорость очистки для обоих может быть установлена независимо. Поскольку размер кэша намного меньше основной памяти, очистку кэша не нужно выполнять так часто.
Очистка памяти повышает надежность, поэтому ее можно классифицировать как функцию RAS .
Варианты
[ редактировать ]Обычно существует два варианта: очистка патрулем и очистка по требованию . Хотя оба они по сути выполняют очистку памяти и связанное с ней исправление ошибок (если это выполнимо), основное различие заключается в том, как эти два варианта инициируются и выполняются. Патрульная очистка выполняется автоматически, когда система простаивает, тогда как очистка по требованию выполняет исправление ошибок, когда данные фактически запрашиваются из основной памяти. [3]
См. также
[ редактировать ]- Очистка данных — общая категория, содержащая очистку памяти.
- Программная ошибка — важная причина для очистки памяти.
- Обнаружение и исправление ошибок — общая теория, используемая для очистки памяти.
- Обновление памяти , которое сохраняет информацию, хранящуюся в памяти.
Ссылки
[ редактировать ]- ^ Рональд К. Бурек. «Твердотельные регистраторы данных NEAR» .Технический дайджест Johns Hopkins APL.1998.
- ^ Ошибки DRAM в дикой природе: крупномасштабное полевое исследование
- ^ «Руководство по материнской плате Supermicro X9SRA» (PDF) . Супермикро . 5 марта 2014 г. стр. 4–10 . Проверено 22 февраля 2015 г.