ECC (Error Correct Code - выявление и исправление ошибок) служит для исправления случайных ошибок памяти, вызываемых различными внешними факторами, и представляет собой усовершенствованный вариант системы «контроля четности».

Физически ECC реализуется в виде дополнительной 8-разрядной микросхемы памяти, установленной рядом с основными.

Таким образом, модули с ECC являются 72- разрядным (в отличие от стандартных 64-разрядых модулей).

Некоторые типы памяти (Registered, Full Buffered) выпускаются только в ECC варианте.

Драйвер AMD Radeon Software Adrenalin Edition 19.9.2 Optional

Новая версия драйвера AMD Radeon Software Adrenalin Edition 19.9.2 Optional повышает производительность в игре «Borderlands 3» и добавляет поддержку технологии коррекции изображения Radeon Image Sharpening.

Накопительное обновление Windows 10 1903 KB4515384 (добавлено)

10 сентября 2019 г. Microsoft выпустила накопительное обновление для Windows 10 версии 1903 - KB4515384 с рядом улучшений безопасности и исправлением ошибки, которая нарушила работу Windows Search и вызвала высокую загрузку ЦП.

Драйвер Game Ready GeForce 436.30 WHQL

Компания NVIDIA выпустила пакет драйверов Game Ready GeForce 436.30 WHQL, который предназначен для оптимизации в играх: «Gears 5», «Borderlands 3» и «Call of Duty: Modern Warfare», «FIFA 20», «The Surge 2» и «Code Vein», исправляет ряд ошибок, замеченных в предыдущих релизах, и расширяет перечень дисплеев категории G-Sync Compatible.

Драйвер AMD Radeon Software Adrenalin 19.9.1 Edition

Первый сентябрьский выпуск графических драйверов AMD Radeon Software Adrenalin 19.9.1 Edition оптимизирован для игры Gears 5.

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

Описание проблемы

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

Исследование, проведённое на большом количестве серверов Google , показало, что количество ошибок может быть в пределах от 25 000 до 70 000 ошибок за миллиард рабочих часов (англ. device hours ) на мегабит (то есть 2,5-7,0 × 10 −11 ошибок / бит·час) .

Технология

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

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

Наиболее эффективный подход к исправлению ошибок зависит от вида ожидаемых ошибок. Часто предполагается, что изменение различных битов происходят независимо. В этом случае вероятность двух ошибок в одном слове пренебрежительно мала. Однако это предположение не выполняется для современных компьютеров. Память, основная на технологии коррекции ошибок Chipkill (IBM), позволяет исправлять несколько ошибок, в том числе и при порче целого чипа памяти. Другие технологии коррекции памяти, которые не предполагают независимость ошибок в разных битах, включают Extended ECC (Sun Microsystems), Chipspare (Hewlett-Packard) и SDDC (Intel).

Многие старые системы не сообщали об исправленных ошибках, сообщая только об обнаруженных ошибках, которые невозможно было исправить. Современные системы записывают как исправленные ошибки (CE, англ. correctable errors ), так и неисправляемые ошибки (UE, англ. uncorrectable errors ). Это позволяет вовремя заменить испорченную память: несмотря на то, что большое количество исправленных ошибок при отсутствии неисправляемых ошибок не влияет на корректность работы памяти, это может свидетельствовать о том, что для данного модуля памяти вероятность появления неисправляемых ошибок в будущем возрастёт .

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

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

Память с коррекцией ошибок работает на 2-3 % медленнее (часто для проверки сумм требуется один дополнительный такт контроллера памяти), чем обычная память, в зависимости от приложений . Дополнительная логика, реализующая подсчет, проверку ECC и исправление ошибок, требует логических ресурсов и времени на свою работу либо в самом контроллере памяти, либо в интерфейсе между CPU и контроллером памяти .

См. также

Примечания

  1. Werner Fischer. RAM Revealed (неопр.) . admin-magazine.com . Дата обращения 20 октября 2014.
  2. Архивированная копия (неопр.) (недоступная ссылка) . Дата обращения 20 ноября 2016. Архивировано 18 апреля 2016 года.
  3. Single Event Upset at Ground Level, Eugene Normand, Member, IEEE, Boeing Defense & Space Group, Seattle, WA 98124-2499
  4. «A Survey of Techniques for Modeling and Improving Reliability of Computing Systems », IEEE TPDS, 2015
  5. Кузнецов В. В. Солнечно-земная физика (курс лекций для студентов физиков). Лекция 7. Солнечная активность. // Солнечные бури. Горно-Алтайский государственный университет. 2012
  6. Gary M. Swift and Steven M. Guertin. "In-Flight Observations of Multiple-Bit Upset in DRAMs". Jet Propulsion Laboratory
  7. Borucki, "Comparison of Accelerated DRAM Soft Error Rates Measured at Component and System Level", 46th Annual International Reliability Physics Symposium, Phoenix, 2008, pp. 482–487
  8. Schroeder, Bianca; Pinheiro, Eduardo; Weber, Wolf-Dietrich. DRAM Errors in the Wild: A Large-Scale Field Study (неопр.) // SIGMETRICS/Performance. - ACM, 2009. - ISBN 978-1-60558-511-6 .
  9. Using StrongArm SA-1110 in the On-Board Computer of Nanosatellite (неопр.) . Tsinghua Space Center, Tsinghua University, Beijing. Дата обращения 16 февраля 2009. Архивировано 2 октября 2011 года.
  10. Doug Thompson, Mauro Carvalho Chehab. «EDAC - Error Detection And Correction» Архивировано 5 сентября 2009 года. . 2005-2009. «The "edac" kernel module goal is to detect and report errors that occur within the computer system running under linux.»
  11. Discussion of ECC on pcguide (неопр.) . Pcguide.com (17 апреля 2001). Дата обращения 23 ноября 2011.

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

Вы не знаете что значит U в маркировке оперативной памяти, что значит E , что значит R или F ? Этими буквами обозначается тип памяти - U (Unbuffered, небуферизированная), E (память c коррекцией ошибок, ECC), R (регистровая память, Registered), F (FB-DIMM, Fully Buffered DIMM - полностью буферизованная DIMM). Теперь рассмотрим все эти типы подробнее.

Типы памяти используемые в компьютерах:

1. Небуферизированная память . Обычная память для обычных настольных компьютеров, её ещё называют UDIMM. На планке памяти как правило имеется 2, 4, 8 или 16 микросхем памяти с одной или двух сторон. У такой памяти маркировка обычно заканчивается буквой U (Unbuffered) или вообще без буквы, например DDR2 PC-6400, DDR2 PC-6400U, DDR3 PC-8500U или DDR3 PC-10600. А у памяти для ноутбуков маркировка заканчивается буквой S, видимо это сокращение от SO-DIMM, например DDR2 PC-6400S. Фото небуферизированной памяти можно видеть ниже.

2. Память c коррекцией ошибок (Память с ECC ). Обычная Небуферизованная память с коррекцией ошибок. Такая память ставится обычно в фирменные (брендовые) компьютеры продаваемые в Европе (НЕ СЕРВЕРА), плюсом этой памяти является её большая надёжность при работе. Большинство ошибок при работе памяти удаётся исправить во время работы, даже если они появляются, не теряя данные. Обычно на каждой планке такой памяти 9 или 18 микросхем памяти, добавляется одна или 2 микросхемы. Большинство обычных компьютеров (не серверов) и материнских плат могут работать с ECC памятью. У такой памяти маркировка как правило заканчивается буквой E (ECC), например DDR2 PC-4200E, DDR2 PC-6400E, DDR3 PC-8500E или DDR3 PC-10600E. Фото небуферизированной памяти c ECC можно видеть ниже.

Различие памяти с ECC и памяти без ECC можно видеть на фото:

Хоть большинство продаваемых плат и поддерживают эту память, но совместимость с конкретной платой и процессором лучше узнать заранее до покупки. Из личного опыта 90-95% материнских плат и процессоров могут работать с памятью ECC. Из тех, что НЕ могут работать: платы на чипсетах Intel G31, Intel G33, Intel G41, Intel G43, Intel 865PE. Все материнские платы и процессоры начиная с первого поколения Intel Core все могут работать с ECC памятью и от материнских плат это не зависит. Под AMD процессоры вообще практически все материнские платы могут работать с ECC памятью, за исключением случаев индивидуальной несовместимости (такое бывает в редчайших случаях).

3. Регистровая память (Registered). СЕРВЕРНЫЙ тип памяти. Обычно он всегда выпускается с ECC (коррекцией ошибок) и c микросхемой "Буфером" . Микросхема "буфер" позволяет увеличить максимальное количество планок памяти, которые можно подключить к шине не перегружая её, но это уже лишние данные, не будем углубляться в теорию. В последнее время понятия буферизованный и регистровый почти не различают. Если утрировать: регистровая память = буферизованная. Эта память работает ТОЛЬКО на серверных материнских платах способных работать с памятью черем микросхему "буфер".

Обычно на планках регистровой памяти с ECC установлено 9, 18 или 36 микросхем памяти и ещё 1, 2 или 4 микросхемы "буфера" (они обычно в центре, отличаются по габаритам от микросхем памяти). У такой памяти маркировка как правило заканчивается буквой R (Registered), например DDR2 PC-4200R, DDR2 PC-6400R, DDR3 PC-8500R или DDR3 PC-10600R. Ещё в маркировке регистровой (серверной) (буферизированной) памяти обычно присутствует сокращение слова Registered - REG . Фото буферизированной (регистровой) памяти c ECC можно видеть ниже.

Помните! Регистровая память с ECC со 100% вероятностью НЕ РАБОТАЕТ на обычных материнских платах . Она работает только на серверах!

4. FB-DIMM Fully Buffered DIMM (Полностью буферизованная DIMM), - стандарт компьютерной памяти, который используется для повышения надёжности, скорости, и плотности подсистемы памяти. В традиционных стандартах памяти линии данных подключаются от контроллера памяти непосредственно к линиям данных каждого модуля DRAM (иногда через буферные регистры, по одной микросхеме регистра на 1-2 чипа памяти). С увеличением ширины канала или скорости передачи данных, качество сигнала на шине ухудшается, усложняется разводка шины. Это ограничивает скорость и плотность памяти. FB-DIMM использует другой подход для решения этих проблем. Это дальнейшее развитие идеи registered модулей - Advanced Memory Buffer осуществляет буферизацию не только сигналов адреса, но и данных, и использует последовательную шину к контроллеру памяти вместо параллельной.

Модуль FB-DIMM имеет 240 контактов и одинаковую длину с другими модулями DDR DIMM, но отличается по форме выступов. Подходит только для серверных платформ.

Спецификации FB-DIMM, как и другие стандарты памяти, опубликованы JEDEC .

Компания Intel использовала память FB-DIMM в системах с процессорами Xeon серий 5000 и 5100 и новее (2006-2008 годы). Память FB-DIMM поддерживается серверными чипсетами 5000, 5100, 5400, 7300; только с процессорами Xeon, основанными на микроархитектуре Core (сокет LGA771).

В сентябре 2006 года компания AMD также отказалась от планов по использованию памяти FB-DIMM.

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

P.S.: В последнее время появился ещё один дешевый и интересный тип памяти - я её называю "Китайская Подделка". Кто ещё не сталкивался - расскажу. Это такая память, которую можно всегда узнать по её контактам, обычно они окисленные и даже если их очистить, то за месяц-два они опять окисляются, становятся мутными, грязными и память при этом может сбоить или совсем не работать. Золотом на контактах этой памяти даже и не пахнет. Ещё одним отличием этой памяти от оригинальной является то, что она работает на определённых материнских платах или процессорах, например ТОЛЬКО на АМД, или только строго на каких-то чипсетах. Причём перечень этих чипсетов очень мал. В чём секрет этой "памяти" мне пока не ясно, но многие покупают - ведь она на 40-50% дешевле аналогичной. И что самое удивительное, новая "Китайская Подделка" обычно стоит дешевле оригинальной памяти Б/У:) Надёжность и долговечность работы рассказывать не буду, тут и так всё ясно.

Близкие по теме статьи.

На вопрос Обьясните, что такое "Поддержка ECC" на оперативной памяти заданный автором Алёнка лучший ответ это это функция коррекции ошибок. такая память ставится на сервера, ведь нельзя же чтоб они лагали, отключались или перегружались из-за ошибок. для домашнего компа это не нужная вещь, хотя и полезная. если решили себе такую поставть-убедитесь, что ваша матплата поддерживает такой тип озу с ЕСС.
Источник: ку

Ответ от Rainswept [гуру]
ECC (Error Correct Code) - выявление и исправление ошибок (возможны другие расшифровки той же аббревиатуры) - алгоритм, пришедший на смену "контролю четности". В отличие от последнего каждый бит входит более чем в одну контрольную сумму, что позволяет в случае возникновения ошибки в одном бите восстановить адрес ошибки и исправить ее. Как правило, ошибки в двух битах также детектируются, хотя и не исправляются. Для реализации этих возможностей на модуль устанавливается дополнительная микросхема памяти и он становится 72- разрядным, в отличие от 64 разрядов данных обычного модуля. ECC поддерживают все современные материнские платы, предназначенные для серверных решений, а также некоторые чипсеты "общего назначения". Некоторые типы памяти (Registered, Full Buffered) выпускаются только в ECC варианте. Надо отметить, что ECC не является панацеей от дефективной памяти и применяется для исправления случайных ошибок, снижая риск возникновения неполадок в работе компьютера от случайного изменения содержимого ячеек памяти, вызваемого внешними факторами, такими, как фоновая радиация.
Registered модули памяти рекомендуются к применению в системах, требующих (или поддерживающих) 4 Гб и более оперативной памяти. Они всегда имеют разрядность 72 бита, т. е. являются модулями с ЕСС, и содержат дополнительные микросхемы регистров для частичной буферизации.
PLL- Phase Locked Loop - цепь автоподстройки частоты и фазы сигнала, служит для снижения электрической нагрузки на контроллер памяти и повышения стабильности работы при использовании большого количества микросхем памяти, применяется во всех буферизованных модулях памяти.
Buffered - буферизованный модуль. Из-за высокой совокупной электрической емкости современных модулей памяти, длительное время их "зарядки" приводит к большим затратам времени на операции записи. Чтобы избежать этого, некоторые модули (как правило, 168-контактные DIMM) снабжаются специальной микросхемой (буфером) , которая сохраняет поступившие данные относительно быстро, что освобождает контроллер. Буферизованные DIMM, как правило, несовместимы с небуферизованными. Модули с частичной буферизацией называются также "регистровым"("Registered"), а модули с полной буферизацией (Full Buffered) -"FB-DIMM". При этом под "небуферизоваными" подразумеваются обычные модули памяти без средств буферизации.
Parity - четность, модули с контролем четности, также контроль четности. Довольно старый принцип проверки целостности данных. Суть метода в том, что для байта данных на стадии записи вычисляется контрольная сумма, которая сохраняется как специальный бит четности в отдельной микросхеме. При чтении данных контрольная сумма вычисляется снова и сравнивается с битом четности. Если они совпали, данные считаются аутентичными, в противном случае генерируется сообщение об ошибке четности (как правило, приводящее к остановке системы). К явным недостаткам метода относятся дороговизна памяти, требующейся для хранения лишних бит четности, незащищенность от двойных ошибок (а также ложное срабатывание при ошибке в бите четности) , остановка системы даже при непринципиальной ошибке (скажем, в видеокадре). В настоящее время не применяются.
SPD - микросхема на модуле памяти DIMM, которая содержит все данные о нем (в частности, информацию о быстродействии), необходимые для обеспечения нормальной работы. Эти данные читаются на этапе самотестирования компьютера, еще задолго до загрузки операционной системы и позволяют настроить параметры обращения к памяти даже при одновременном наличии в системе разномастных модулей памяти. Некоторые материнские платы отказываются работать с модулями, на которых не установлена микросхема SPD, однако такие модули сейчас очень редки и являются, в основном, модулями PC-66.


Ответ от Mowgley [гуру]
оперативная роверка памяти на ошибки

Страница 1 из 10

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

Перед прочтением данного материала рекомендуем ознакомится с материалами по и платформе LGA1151 .

Теория

Перед тестированием расскажем об ошибках памяти.
Ошибки, возникающие в памяти, можно разделить на два типа – аппаратные и случайные. Причиной появления первых являются дефектные микросхемы DRAM. Вторые же возникают по причине воздействия электромагнитных помех, излучения, альфа- и элементарных частиц и т.д. Соответственно, исправить аппаратные ошибки можно только путем замены микросхем DRAM, а случайные – с помощью специальных технологий, например, ECC (Error-Correcting Code). Коррекция ошибок ECC в своем арсенале имеет два метода: SEC (Single Error Correction) и DED (Double Error Detection). Первый исправляет однобитовые ошибки в 64-битном слове, а второй детектирует двухбитовые ошибки.
Аппаратная реализация ECC заключается в размещении дополнительных чипов памяти, которые необходимы для записи 8-битных контрольных сумм. Таким образом, модуль памяти с коррекцией ошибок при одностороннем дизайне будет иметь 9 чипов памяти вместо 8 (как у стандартного модуля), а при двустороннем - 18 вместо 16. Вместе с этим увеличивается и ширина модуля с 64 до 72 бит.
При считывании данных из памяти происходит повторный подсчет контрольной суммы, которая сравнивается с исходной. Если ошибка в одном бите - она исправляется, если в двух - детектируется.

Практика

В теории всё хорошо – память с коррекцией ошибок повышает надежность системы, что очень важно при построении сервера или рабочей станции. А на практике существует еще и финансовая сторона данного вопроса. Если серверу память с коррекцией ошибок обязательна, то рабочая станция вполне может обойтись без ECC (многие готовые рабочие станции разных производителей оснащаются обычной ОЗУ). Насколько же дороже память с коррекцией ошибок?
Типичный модуль DDR4-2133 с объемом 8 ГБ стоит порядка 39 долларов, а модуль с ECC – 48 долларов (на момент написания материала). Разница в стоимости составляет около 23%, что весьма значительно на первый взгляд. Но если посмотреть на общую стоимость рабочей станции, то эта разница не превысит и 5% от нее. Таким образом, приобретение памяти с ECC лишь незначительно увеличивает стоимость рабочей станции. Остается лишь вопрос – а как влияет память с ECC на производительность процессора.
Для того, чтобы ответить на этот вопрос редакция сайт взяла для тестирования модули памяти Samsung DDR4-2133 ECC и Kingston DDR4-2133 с одинаковыми таймингами 15-15-15-36 и объемом 8 ГБ.

На модулях памяти Samsung M391A1G43DB0-CPB с коррекцией ошибок распаяно по 9 чипов с каждой стороны.

В то время как на обычных модулях памяти Kingston KVR21N15D8/8 распаяно по 8 чипов с каждой стороны.

Тестовый стенд: Intel Xeon E3-1275v5, Supermicro X11SAE-F, Samsung DDR4-2133 ECC 8GB, Kingston DDR4-2133 non-ECC 8GB

Детализация

Процессор: (HT on; TB off);
- Материнская плата: ;
- Оперативная память: 2x (M391A1G43DB0-CPB), 2x (KVR21N15D8/8);
- ОС: .

Методика тестирования

3DMark06 1.21;
- 7zip 15.14;
- AIDA64 5.60;
- Cinebench R15;
- Fritz 4.2;
- Geekbench 3.4.1;
- LuxMark v3.1;
- MaxxMEMI 1.99;
- PassMark v8;
- RealBench v2.43;
- SiSoftware Sandra 2016;
- SVPmark v3.0.3b;
- TrueCrypt 7.1a;
- WinRAR 5.30;
- wPrime 2.10;
- x264 v5.0.1;
- x265 v0.1.4;
- Kraken;
- Octane;
- Octane 2.0;
- Peacekeeper;
- SunSpider;
- WebXPRT.