Ecc-память, что это такое

Обновлено: 04.07.2024

Память с кодом исправления ошибок (ECC) – это тип оперативной памяти, используемый на рабочих станциях и серверах. Профессионалы и предприятия, работающие с критически важными данными, ценят его за способность автоматически обнаруживать и исправлять ошибки памяти, тем самым борясь с повреждением данных. Также предполагается, что это приведет к меньшему количеству сбоев сервера/рабочей станции из-за памяти без ECC, что делает его действительно привлекательным для ИТ-специалистов и предприятий, включая финансовые учреждения и компании, предоставляющие общедоступные облачные сервисы, где повреждение данных и перебои в работе являются катастрофой.

Память с ECC и память без ECC

Физически память ECC отличается от памяти без ECC (например, той, что используется в оперативной памяти потребительских ноутбуков/настольных компьютеров) тем, что она имеет 9 микросхем памяти вместо 8 (чипы памяти используются для хранения данных, которые отправляются в ЦП при вызове). . Дополнительная микросхема памяти ECC RAM используется для обнаружения и исправления ошибок наряду с другими восемью микросхемами памяти.

Предполагается, что системы с памятью ECC будут меньше сбоить. В 2014 году компания Puget Systems провела тесты и обнаружила, что частота отказов памяти с ECC составляет 0,09 %, а у памяти без ECC – 0,6 %.

Что поддерживает память ECC?

Память ECC предназначена для рабочих нагрузок корпоративного уровня, поэтому большинство материнских плат потребительских ПК либо не поддерживают ОЗУ ECC, либо работают без функции ECC. Чтобы действительно воспользоваться преимуществами памяти ECC, вам понадобится материнская плата уровня рабочей станции/сервера. Память с ECC также дороже, чем RAM без ECC из-за дополнительной микросхемы памяти.

Опять же, память ECC ориентирована на рабочие станции и серверы корпоративного уровня. Таким образом, для поддержки памяти ECC необходим столь же мощный ЦП. Что касается процессоров Intel, только линейка Xeon поддерживает ECC, чтобы отличить процессоры для энтузиастов от процессоров для предприятий. Между тем, многоядерная линейка Threadripper от AMD поддерживает память ECC.

Недостаток памяти ECC

Возможно, это покажется удивительным, но RAM с ECC немного медленнее, чем RAM без ECC, поскольку проверка на наличие ошибок занимает больше времени. В том же исследовании 2014 года, упомянутом выше, Пьюджет обнаружил, что ОЗУ с ECC было на 0,25% медленнее, чем ОЗУ без ECC, а зарегистрированная ОЗУ с ECC — на 0,44% медленнее (однако они определили, что разница в производительности в пользу без ECC «крошечная»).

Как работает память ECC?

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

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

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

Зарегистрированная/буферизованная память

Память ECC не всегда регистрируется/буферизируется. Однако вся зарегистрированная память является памятью ECC.

Оперативная память ECC часто использует зарегистрированную, или буферизованную, память. Зарегистрированная память использует «регистр», который расположен между оперативной памятью системы и контроллером памяти. Это снижает нагрузку на контроллер памяти, а также позволяет использовать больше модулей ОЗУ, чем было бы в противном случае.

Шарон Хардинг особенно любит игровые периферийные устройства (особенно мониторы), ноутбуки и виртуальную реальность. Ранее она освещала бизнес-технологии, в том числе оборудование, программное обеспечение, кибербезопасность, облачные технологии и другие ИТ-события, в Channelnomics, а также в CRN UK.

Для большинства предприятий крайне важно устранить повреждение данных, что является целью памяти ECC (код исправления ошибок). ECC — это тип компьютерной памяти, который обнаруживает и исправляет наиболее распространенные виды повреждения данных в памяти.

Что вызывает ошибки?

Ошибки памяти возникают в результате электрических или магнитных помех внутри компьютера. Это вмешательство может привести к самопроизвольному переходу одного бита DRAM (динамической памяти с произвольным доступом) в противоположное состояние. Электрические и магнитные помехи присутствуют в виде фонового излучения, и помехи увеличиваются с высотой. Космические аппараты, в частности, подвержены высокому уровню ошибок.

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

Как работает память ECC

Память ECC включает в себя дополнительные биты памяти и контроллеры памяти, которые управляют дополнительными битами в дополнительной микросхеме модуля. Память ECC использует дополнительные биты для хранения зашифрованного кода при записи данных в память, при этом код ECC сохраняется. Когда данные считываются, сохраненный код ECC сравнивается с кодом ECC, сгенерированным при чтении данных. Если прочитанный код не соответствует сохраненному коду, он расшифровывается битами четности, чтобы определить, какой бит был ошибочным, а затем этот бит немедленно исправляется. Таблицы синдромов — это математический способ выявления этих битовых ошибок и последующего их исправления.

По мере обработки данных память ECC постоянно сканирует код с помощью специального алгоритма для обнаружения и исправления однобитовых ошибок памяти.

Преимущества и недостатки

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

Как правило, память с ECC дороже, и может быть небольшое замедление по сравнению с памятью без ECC. Другие компоненты системы, такие как ЦП и материнская плата, также должны поддерживать память ECC.

Если ваша система требует целостности данных и максимальной доступности, используйте память Crucial® ECC. Подробнее о различных видах компьютерной памяти читайте в нашем руководстве.

© Micron Technology, Inc., 2018. Все права защищены. Информация, продукты и/или технические характеристики могут быть изменены без предварительного уведомления. Ни Crucial, ни Micron Technology, Inc. не несут ответственности за упущения или ошибки в типографике или фотографии. Micron, логотип Micron, Crucial и логотип Crucial являются товарными знаками или зарегистрированными товарными знаками Micron Technology, Inc. Все другие товарные знаки и знаки обслуживания являются собственностью соответствующих владельцев.

Память с кодом исправления ошибок (ECC) – это тип оперативной памяти, используемый на рабочих станциях и серверах. Профессионалы и предприятия, работающие с критически важными данными, ценят его за способность автоматически обнаруживать и исправлять ошибки памяти, тем самым борясь с повреждением данных. Также предполагается, что это приведет к меньшему количеству сбоев сервера/рабочей станции из-за памяти без ECC, что делает его действительно привлекательным для ИТ-специалистов и предприятий, включая финансовые учреждения и компании, предоставляющие общедоступные облачные сервисы, где повреждение данных и перебои в работе являются катастрофой.

Память с ECC и память без ECC

Физически память ECC отличается от памяти без ECC (например, той, что используется в оперативной памяти потребительских ноутбуков/настольных компьютеров) тем, что она имеет 9 микросхем памяти вместо 8 (чипы памяти используются для хранения данных, которые отправляются в ЦП при вызове). . Дополнительная микросхема памяти ECC RAM используется для обнаружения и исправления ошибок наряду с другими восемью микросхемами памяти.

Предполагается, что системы с памятью ECC будут меньше сбоить. В 2014 году компания Puget Systems провела тесты и обнаружила, что частота отказов памяти с ECC составляет 0,09 %, а у памяти без ECC – 0,6 %.

Что поддерживает память ECC?

Память ECC предназначена для рабочих нагрузок корпоративного уровня, поэтому большинство материнских плат потребительских ПК либо не поддерживают ОЗУ ECC, либо работают без функции ECC. Чтобы действительно воспользоваться преимуществами памяти ECC, вам понадобится материнская плата уровня рабочей станции/сервера. Память с ECC также дороже, чем RAM без ECC из-за дополнительной микросхемы памяти.

Опять же, память ECC ориентирована на рабочие станции и серверы корпоративного уровня. Таким образом, для поддержки памяти ECC необходим столь же мощный ЦП. Что касается процессоров Intel, только линейка Xeon поддерживает ECC, чтобы отличить процессоры для энтузиастов от процессоров для предприятий. Между тем, многоядерная линейка Threadripper от AMD поддерживает память ECC.

Недостаток памяти ECC

Возможно, это покажется удивительным, но RAM с ECC немного медленнее, чем RAM без ECC, поскольку проверка на наличие ошибок занимает больше времени. В том же исследовании 2014 года, упомянутом выше, Пьюджет обнаружил, что ОЗУ с ECC было на 0,25% медленнее, чем ОЗУ без ECC, а зарегистрированная ОЗУ с ECC — на 0,44% медленнее (однако они определили, что разница в производительности в пользу без ECC «крошечная»).

Как работает память ECC?

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

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

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

Зарегистрированная/буферизованная память

Память ECC не всегда регистрируется/буферизируется. Однако вся зарегистрированная память является памятью ECC.

Оперативная память ECC часто использует зарегистрированную, или буферизованную, память. Зарегистрированная память использует «регистр», который расположен между оперативной памятью системы и контроллером памяти. Это снижает нагрузку на контроллер памяти, а также позволяет использовать больше модулей ОЗУ, чем было бы в противном случае.

Шарон Хардинг особенно любит игровые периферийные устройства (особенно мониторы), ноутбуки и виртуальную реальность. Ранее она освещала бизнес-технологии, в том числе оборудование, программное обеспечение, кибербезопасность, облачные технологии и другие ИТ-события, в Channelnomics, а также в CRN UK.

 Нужна ли вам память ECC (ОЗУ) для вашего ПК и рабочих нагрузок?

Вы ищете память, которая имеет доступ к более высоким скоростям и совместима с большим количеством платформ? Или вы ищете долговечную память, которая может работать 24 часа в сутки, 7 дней в неделю, выявлять больше ошибок, но при этом немного жертвует скоростью?

Модули ОЗУ (оперативной памяти) являются важной частью каждой системы, но не все модули одинаковы. Помимо емкости, частоты и задержки, модули могут быть либо модулями с кодом исправления ошибок (ECC), либо модулями без ECC.

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

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

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

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

Чтобы понять, как работает код исправления ошибок (ECC), сначала нужно понять, что такое однобитовая ошибка. Потому что это основная проблема, для решения которой был создан ECC.

Однобитовая ошибка возникает, когда один бит (двоичный 0 или 1) в данных в ОЗУ случайно изменяется на противоположное значение.

Ошибки такого типа незначительны, и компьютер может не распознать их автоматически, что может привести ко многим проблемам.

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

Память без ECC не избавит вас от «сорняков».

ECC уничтожит все сорняки, но немного медленнее.

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

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

Память ECC позаботится об этих ошибках и исправит их до того, как они превратятся в более серьезную проблему.

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

ECC — это, по сути, небольшой чип на обычной планке ОЗУ, который гарантирует, что каждый бит данных, входящих и исходящих, является именно тем, чем он должен быть.

Что он делает, так это создает зашифрованный фрагмент кода из данных, записываемых в основную память, и сохраняет этот код в дополнительном бите памяти, о котором я вам говорил.

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

Если он обнаружит, что они одинаковы и что данные не были каким-либо образом изменены, он разрешает чтение данных.

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

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

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

Вот как ECC становится немного медленнее, потому что ему приходится создавать дополнительные коды, но более эффективным способом заботы о вашем метафорическом газоне.

По данным Intelligent Memory, вероятность возникновения такой ошибки составляет одну однобитовую ошибку каждые 14–40 часов на гигабит (125 МБ) ОЗУ.

Необходимость исправления ошибок на серверах и рабочих станциях

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

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

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

Очевидно, что это наносит ущерб честности и надежности бизнеса. Если вы пойдете покупать кошке новую игрушку и в итоге заплатите 100 долларов США вместо 10 долларов США, это будет довольно трагично.

Если вы посетили своего врача, и счет составил 56 987 долларов США вместо 59,45 доллара США, вы американец или только что стали жертвой компьютерной ошибки, связанной с ECC, или и то, и другое. И вы, скорее всего, больше никогда не воспользуетесь их услугами.

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

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

Потеря времени впустую — это еще одна проблема, которую может предотвратить память ECC. Если вы визуализируете сложные изображения в высоком разрешении или обучаете модель глубокого обучения, необходимость начинать заново после нескольких недель обработки из-за некоторых ошибок памяти — это огромная трата времени и денег для вашего бизнеса.

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

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

Обязательно проверьте квитанцию ​​об этой кошачьей игрушке.

Какие платформы поддерживают память ECC?

Что касается серверов, то процессоры Intel Xeon и линейки серверов AMD Epyc поддерживают память ECC. Обратите внимание, что для использования памяти ECC и процессор, и материнская плата должны поддерживать память ECC.

Помните аналогию с газоном и гербицидом? Думайте о своем процессоре и материнской плате как об инструментах, которые вы используете для эффективной работы с ECC. Вам нужны подходящие инструменты, чтобы распылить гербицид в нужном месте на газоне.

На основных платформах, используемых сегодня, большинство процессоров Intel (даже некоторые бюджетные модели Celeron) будут поддерживать память ECC, если вы используете материнскую плату, совместимую с такой памятью.

У AMD все процессоры Ryzen поддерживают память ECC с совместимой материнской платой с набором микросхем X570, тогда как набор микросхем B550 не поддерживает память ECC с процессорами Ryzen 2000. Процессоры Ryzen со встроенной видеокартой или ускоренным процессором (APU), серии 3000 G и серии 4000 G потребуют от вас использования процессора PRO для поддержки ECC.

Вот обзорная таблица от ASUS, показывающая поддержку памяти ECC процессора Ryzen:

Недостатки использования памяти ECC

Самая распространенная проблема с памятью ECC — это совместимость. Несмотря на то, что большинство современных платформ поддерживают эту функцию, необходимо убедиться, что конкретная комбинация процессора и системной платы работает с памятью ECC.

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

Цены также отличаются.

Модули памяти с ECC стоят дороже, чем модули без ECC, из-за дополнительных функций. В зависимости от емкости, которую вы покупаете, разница в цене составляет примерно 10–20%.

Также наблюдается небольшое снижение производительности из-за дополнительного времени, которое требуется памяти ECC для проверки наличия ошибок. Согласно Corsair, вы можете ожидать попадания около 2%.

Подведение итогов. Нужна ли вам память ECC?

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

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

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

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

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

Спасибо

Использовали ли вы ранее память ECC? Каков был ваш опыт? Планируете ли вы использовать его на своей следующей рабочей станции? Дайте нам знать в комментариях или на нашем форуме!

Читайте также: