Память с кодом для исправления ошибок может исправлять многобитовые ошибки в памяти

Усреднение шума для уменьшения ошибок

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

  • Из-за этого эффекта «объединения рисков» цифровые системы связи, использующие ECC, как правило, работают намного выше определенного минимума. соотношение сигнал шум и совсем не ниже.
  • Этот тенденция “все или ничего” – в эффект обрыва – становится более выраженным по мере использования более сильных кодов, более приближенных к теоретическим Предел Шеннона.
  • Перемежение данных, закодированных с помощью ЕСС, может уменьшить свойства “все или ничего” переданных кодов ЕСС, когда ошибки канала имеют тенденцию возникать в пакетах. Однако у этого метода есть ограничения; его лучше всего использовать для узкополосных данных.

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

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

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

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

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

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

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

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

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

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

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

Когда нужна небуферизованная оперативная память

Несмотря на неспособность достичь той же емкости и большие требования к электричеству, необработанная скорость небуферизованной ОЗУ означает, что она имеет твёрдое лидерство в следующих случаях использования, вне зависимости от ECC:

  • Стандартное использование настольного ПК и ноутбука
  • Высокопроизводительные игровые ПК
  • Высокопроизводительные рабочие станции (например, редактирование/рендеринг)
  • Использование высокопроизводительного ПК

Ошибки памяти

В 1970-80-е годы надежность ОЗУ часто была не идеальной; в частности, модули DRAM 4116, которые были промышленным стандартом с 1975 по 1983 год, имели значительную частоту отказов, поскольку они использовали тройное напряжение (-5, +5 и +12), что приводило к высоким рабочим температурам. К середине 1980-х они уступили место DRAM с одним напряжением, таким как 4164 и 41256, что привело к повышению надежности. Однако до 1990-х годов ОЗУ не соответствовало современным стандартам надежности. С тех пор ошибки стали менее заметными, поскольку простая ОЗУ с проверкой четности вышла из употребления; либо они невидимы, поскольку не обнаруживаются, либо исправляются невидимо с помощью ОЗУ ECC. Современная оперативная память с большим основанием считается надежной, а оперативная память для обнаружения ошибок в значительной степени вышла из употребления для некритичных приложений. К середине 1990-х годов большая часть DRAM отказалась от проверки четности, поскольку производители были уверены, что в ней больше нет необходимости. Некоторые машины, поддерживающие четность или ECC, позволяют включать или отключать проверку в BIOS, что позволяет использовать более дешевую оперативную память без четности. Если используется ОЗУ с проверкой четности, то набор микросхем обычно использует ее для исправления ошибок, а не останавливает машину на однобитовой ошибке четности.

Локальное декодирование и тестирование кодов

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

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

Кодовая скорость и компромисс между надежностью и скоростью передачи данных

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

Программное обеспечение для кодов исправления ошибок

Моделирование поведения кодов исправления ошибок (ECC) в программном обеспечении – обычная практика для разработки, проверки и улучшения ECC. Предстоящий стандарт беспроводной связи 5G открывает новый диапазон приложений для программных ECC: Облачные сети радиодоступа (C-RAN) в Программно-определяемое радио (SDR) контекст. Идея состоит в том, чтобы напрямую использовать программные ECC в коммуникациях. Например, в 5G программные ECC могут быть расположены в облаке, а антенны могут быть подключены к этим вычислительным ресурсам: таким образом повышается гибкость сети связи и, в конечном итоге, повышается энергоэффективность системы.

В этом контексте существует различное доступное программное обеспечение с открытым исходным кодом, перечисленное ниже (не является исчерпывающим).

История

Память с кодом для исправления ошибок может исправлять многобитовые ошибки в памяти

30-контактный SIMM модули памяти с 9-ю однобитными микросхемами памяти. Девятая микросхема используется для хранения четности.

Ранние компьютеры иногда требовали использования ОЗУ с проверкой четности, и проверку четности нельзя было отключить. Ошибка четности обычно приводила к остановке машины с потерей несохраненных данных; обычно это лучший вариант, чем сохранение поврежденных данных. ОЗУ с логической четностью, также известное как ОЗУ с поддельной четностью, это ОЗУ без четности, которое можно использовать в компьютеры которые требуют четности RAM. ОЗУ логической четности пересчитывает всегда действующий бит четности каждый раз, когда байт считывается из памяти, вместо того, чтобы сохранять бит четности при записи в память; вычисленный бит четности, который не покажет, были ли данные повреждены (отсюда и название «поддельная четность»), предоставляется логике проверки четности. Это способ использования более дешевой 8-битной RAM в системе, предназначенной для использования только 9-битной RAM.

Читайте также:  Решение проблемы кода неисправности P0134

Чем отличается серверная оперативная память от обычной

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

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

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

Еще одна очевидная разница между памятью с ECC и без нее — это цена. Благодаря своим расширенным функциям память с коррекцией ошибок стоит дороже, чем обычная и поддерживается только на специализированных (дорогостоящих) материнских платах и ​​высокопроизводительных серверных процессорах, таких как Intel Xeon и т.п. В обычную метеринку вставить ее можно, но она там не заработает.

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

ECC RAM нельзя комбинировать с памятью без коррекции ошибок. Поэтому, если вы хотите возможности Error-Correcting Code, вам придется заменить всю оперативку на новые модули.

Чем еще отличается ОЗУ для сервера

  • вполне закономерно, что оперативная память для круглосуточно работающего сервера должна иметь максимальную надежность. Поэтому серверные модули проходят тщательное тестирование, в том числе, и в условиях высокого нагрева;
  • использование серверной регистровой оперативной памяти возможно только если процессор и материнская плата поддерживают ее;
  • серверная оперативная память, также как и обычная, выпускается в разных стандартах: ddr, ddr2, ddr3, ddr4. Физически, серверные модули сохраняют совместимость с десктопными, но работоспособность в обычных материнских платах невозможна;
  • скорость работы буферизованной RAM ниже, чем у стандартного модуля ОЗУ, а вот цена может оказаться заметно выше.

Составные коды ECC для повышения производительности

Классические (алгебраические) блочные коды и сверточные коды часто комбинируются в соединенный схемы кодирования, в которых сверточный код с короткой ограниченной длиной, декодированный по Витерби, выполняет большую часть работы, а блочный код (обычно Рида-Соломона) с большим размером символа и длиной блока «стирает» любые ошибки, сделанные сверточным декодером. Однопроходное декодирование с использованием этого семейства кодов с исправлением ошибок может дать очень низкий уровень ошибок, но для условий передачи на большие расстояния (например, в глубоком космосе) рекомендуется итеративное декодирование.

Составные коды стали стандартной практикой в ​​спутниковой связи и связи в дальнем космосе с тех пор, как Вояджер 2 впервые применил эту технику во время встречи в 1986 году с Уран. В Галилео craft использовал итеративные сцепленные коды для компенсации условий с очень высокой частотой ошибок, вызванных неисправностью антенны.

Внешняя ссылка

Пример однобитовой ошибки, которая будет проигнорирована системой без проверки ошибок, остановит машину с проверкой четности или будет незаметно исправлена ​​ECC: один бит застревает на 1 из-за неисправного чипа, или становится 1 из-за фона или космического излучения; загружается электронная таблица, хранящая числа в формате ASCII, и символ «8» (десятичное значение 56 в кодировке ASCII) сохраняется в байте, который содержит застрявший бит в его самой нижней битовой позиции; затем в электронную таблицу вносятся изменения, и она сохраняется. В результате “8” (0011 1000 двоичный) молча превратился в “9” (0011 1001).

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

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

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

Чередование

“Interleaver” перенаправляется сюда. Для оптоволоконного устройства см. оптический перемежитель.

Память с кодом для исправления ошибок может исправлять многобитовые ошибки в памяти

Краткая иллюстрация идеи чередования.

Конструкции перемежителя включают:

  • прямоугольные (или однородные) перемежители (аналогично методу с использованием коэффициентов пропуска, описанному выше)
  • сверточные перемежители
  • случайные перемежители (где перемежитель – известная случайная перестановка)

Передача без чередования:

Сообщение без ошибок: aaaabbbbccccddddeeeeffffggggПередача с ошибкой пакета: aaaabbbbccc____deeeeffffgggg

Здесь каждая группа одинаковых букв представляет 4-битовое однобитовое кодовое слово с исправлением ошибок. Кодовое слово cccc изменяется в один бит и может быть исправлено, но кодовое слово dddd изменяется в трех битах, поэтому либо оно не может быть декодировано вообще, либо может быть декодировано неправильно.

Безошибочные кодовые слова: aaaabbbbccccddddeeeeffffggggInterleaved: abcdefgabcdefgabcdefgabcdefgПередача с пакетной ошибкой: abcdefgabcd____bcdefgabcdefg Полученные кодовые слова после деинтерлейвингаccccc_dee_defbb

В каждом из кодовых слов «aaaa», «eeee», «ffff» и «gggg» изменяется только один бит, поэтому однобитовый код с исправлением ошибок все декодирует правильно.

Исходное переданное предложение: ThisIsAnExampleOfInterleaving Полученное предложение с ошибкой пакета: ThisIs______pleOfInterleaving

Термин «пример» в большинстве случаев оказывается непонятным и трудным для исправления.

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

Дальнейшее чтение

  • Кларк, младший, Джордж К.; Каин, Дж. Бибб (1981). Кодирование с коррекцией ошибок для цифровой связи. Нью-Йорк, США: Пленум Пресс. ISBN  0-306-40615-2. ISBN  978-0-306-40615-7.
  • Уикер, Стивен Б. (1995). Системы контроля ошибок для цифровой связи и хранения. Энглвуд Клиффс, Нью-Джерси, США: Prentice-Hall. ISBN  0-13-200809-2. ISBN  978-0-13-200809-9.
  • Уилсон, Стивен Г. (1996). Цифровая модуляция и кодирование. Энглвуд Клиффс, Нью-Джерси, США: Prentice-Hall. ISBN  0-13-210071-1. ISBN  978-0-13-210071-7.
  • «Код коррекции ошибок в одноуровневой флеш-памяти NAND» 16 февраля 2007 г.
  • «Код исправления ошибок во флэш-памяти NAND» 29 ноября 2004 г.
  • Наблюдения за ошибками, исправлениями и доверием зависимых систем Джеймс Гамильтон, 26 февраля 2012 г.
  • Сферические упаковки, решетки и группы, Дж. Х. Конвей, Н. Дж. А. Слоан, Springer Science & Business Media, 9 марта 2013 г. – Математика – 682 стр.

Когда нужна буферизованная оперативная память

Хотя буферизованная (особенно ECC) RAM несколько нишевая и более дорогая, она уверенно лидирует в следующих случаях использования, когда емкость имеет большее значение, чем пропускная способность:

  • Серверные ПК
  • Обычные рабочие станции (офисные ПК, корпоративные ПК, не использующие большие ресурсы CPU/GPU)
  • Центры обработки данных

Как это устроено

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

Упрощенным примером ECC является передача каждого бита данных 3 раза, что известно как (3,1) код повторения. Через шумный канал приемник может видеть 8 вариантов вывода, см. Таблицу ниже.

Это позволяет исправить ошибку в любой из трех выборок «большинством голосов» или «демократическим голосованием». Корректирующая способность этого ECC:

  • Ошибка до 1 бита триплета, или
  • пропущено до 2 битов триплета (случаи не показаны в таблице).

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

Проверка четности с низкой плотностью (LDPC)

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

Читайте также:  Что делать, если при обновлении Chrome возникает ошибка с кодом 4

Коды LDPC были впервые введены Роберт Г. Галлагер защитил кандидатскую диссертацию в 1960 году, но из-за вычислительных затрат на реализацию кодировщика и декодера и внедрения Рид – Соломон коды, они в основном игнорировались до 1990-х годов.

Память с коррекцией ошибок

ECC (Error-Correcting Code) позволяет исправлять некоторые ошибки в процессе работы оперативной памяти. В том числе, случайные неточности, то есть те, которые могут возникать под воздействием электромагнитных помех или высокоэнергетических элементарных частиц.

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

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

Принцип работы

ECC модуль имеет дополнительные микросхемы, по одной на каждые 8 чипов. То есть, при одностороннем дизайне модуля, будет задействовано 9 чипов вместо привычных 8. А при двухстороннем — 18 вместо 16. В дополнительных чипах лежат контрольные суммы машинных слов, хранящихся в памяти.

Память с кодом для исправления ошибок может исправлять многобитовые ошибки в памяти

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

Если ОЗУ использует только технологию ECC, то это не совсем серверная оперативная память. Она рассчитана, в первую очередь, на профессиональные рабочие станции.

Для использования ECC RAM ОЗУ требуется поддержка как со стороны процессора, в котором размещен контроллер памяти, так и со стороны материнской платы. Впрочем, у не самых дешевых CPU и системных плат подобная поддержка нередко есть. Следовательно, память с коррекцией ошибок на них успешно заработает.

Какие преимущества получит обычный домашний или офисный компьютер в этом случае? Теоретически, он будет стабильнее работать. Но стоит учитывать, что применение Error-Correcting Code требует определенных вычислительных мощностей, как следствие, быстродействие снижается, пусть и не намного.

Однобитовые ошибки

Бит представляет собой единую двоичную цифру (1 или 0), причем восемь битов формируют байт — исторически наименьшую единицу адресной памяти, которую компьютеры считают либо как одно число, либо букву. Однобитовая ошибка заключается в том, что электрический заряд бит изменяется, переворачивая его от 0 до 1 или наоборот.

Причины однобитовых ошибок возникают в двух основных вариантах — жестких и мягких ⇓

  • жесткие вызваны такими физическими факторами, как изменение температуры или мощности, а также напряжение на оборудовании;
  • мягкие возникают из-за более сложных факторов, таких как магнитные помехи и даже космические лучи.

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

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

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

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

Нужна ли серверная память в обычном компьютере

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

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

Почему серверная память не работает на обычных компьютерах

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

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

Можно ли играть на серверной оперативной памяти?

Что лучше серверная оперативная память или обычная?

Память с кодом для исправления ошибок может исправлять многобитовые ошибки в памяти

В 1998 году – первое знакомство с компьютером. С 2002 года постоянно развиваюсь и изучаю компьютерные технологии и интернет. Сейчас военный пенсионер. Занимаюсь детьми, спортом и этим проектом.

Какие платформы поддерживают память 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.

Реализации

Обнаружение и исправление ошибок (EDAC) зависит от ожидаемого типа возникающих ошибок. Неявно предполагается, что сбой каждого бита в слове памяти независим, что приводит к маловероятности двух одновременных ошибок. Раньше так было, когда микросхемы памяти имели ширину в один бит, что было типично для первой половины 1980-х годов; более поздние разработки переместили много битов в один и тот же чип. Этот недостаток устраняется различными технологиями, в том числе IBM с Чипкилл, Sun Microsystems ‘ Расширенный ECC, Hewlett Packard с Chipspare, и Intel с Коррекция данных одного устройства (SDDC).

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

Турбо коды

Турбо кодирование представляет собой итеративную схему мягкого декодирования, которая объединяет два или более относительно простых сверточных кода и перемежитель для создания блочного кода, который может работать с точностью до доли децибела Предел Шеннона. Хищничество Коды LDPC с точки зрения практического применения теперь они обеспечивают аналогичную производительность.

Одним из первых коммерческих приложений турбо-кодирования было CDMA2000 1x (TIA IS-2000) цифровая сотовая технология, разработанная Qualcomm и продано Verizon Wireless, Спринт, и другие перевозчики. Он также используется для развития CDMA2000 1x специально для доступа в Интернет, 1xEV-DO (TIA IS-856). Как и 1x, EV-DO был разработан Qualcomm, и продается Verizon Wireless, Спринт, и другие операторы (маркетинговое название Verizon для 1xEV-DO – Широкополосный доступ, Потребительские и бизнес-маркетинговые названия Sprint для 1xEV-DO: Power Vision и Мобильного широкополосного доступа, соответственно).

Часто задаваемые вопросы о RAM

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

Я могу вкратце рассмотреть их ниже, предоставив вам путь к дополнительной информации, если это необходимо.

Как соотносятся одноканальная и двухканальная ОЗУ?

Вы когда-нибудь задумывались, как работа ОЗУ в одноканальном режиме по сравнению с двухканальным влияет на удобство использования?

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

Читайте также:  Первые четыре байта dword в разделе данных содержат код ошибки windows

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

Память с кодом для исправления ошибок может исправлять многобитовые ошибки в памяти

На самом деле, даже Dual Channel ограничен примерно половиной МГц, заявленной на коробке, поскольку Dual Channel не удваивает МГц, как думает большинство пользователей.

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

Таким образом, оперативная память DDR4, работающая на частоте «3200 МГц», на самом деле работает на частоте 1600 МГц, но с пропускной способностью 3200 МТ/с.

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

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

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

Что такое VRAM?

И последнее, но не менее важное: вам может быть интересно, как VRAM вписывается во всё это уравнение.

Как и следовало ожидать, перед этой статьей я уже написал очень подробное руководство по VRAM, но давайте поговорим о том, какое отношение имеет VRAM к дебатам о буферизованной и небуферизованной RAM. По большей части, никакого.

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

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

Если вы используете этот вариант, я настоятельно рекомендую не использовать буферизованную RAM в качестве VRAM.

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

Поэтому определенно не рассматривайте буферизованную ОЗУ для установки, в которой вы полагаетесь на iGPU – для этого сценария вам нужна быстрая ОЗУ с малой задержкой.

Решения

Было разработано несколько подходов для борьбы с нежелательными переворотами битов, в том числе программирование с учетом иммунитета, Четность RAM память и ECC объем памяти.

Эту проблему можно смягчить, используя модули DRAM, которые включают в себя дополнительные биты памяти, и контроллеры памяти, которые используют эти биты. Эти дополнительные биты используются для записи паритет или использовать код исправления ошибок (ECC). Четность позволяет обнаруживать все однобитовые ошибки (фактически, любое нечетное количество ошибочных битов). Наиболее распространенный код исправления ошибок, a исправление одиночной ошибки и обнаружение двойной ошибки (ОТДЕЛЬНО) Код Хэмминга, позволяет исправлять однобитовые ошибки и (в обычной конфигурации с дополнительным битом четности) обнаруживать двухбитовые ошибки. Чипкилл ECC – более эффективная версия, которая также исправляет несколько битовых ошибок, включая потерю всего чипа памяти.

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

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

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

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

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

Регистровая память

По-настоящему серверной можно считать только регистровую (registered) или буферизованную (buffered) память. Основная ее особенность — это наличие на модуле еще одной микросхемы — регистра.

Регистровая оперативная память DDR4

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

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

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

Память с кодом для исправления ошибок может исправлять многобитовые ошибки в памяти

Первое поколение ОЗУ DDR PC2700 ECC REG

Типы ECC

Память с кодом для исправления ошибок может исправлять многобитовые ошибки в памяти

Краткая классификация кодов исправления ошибок.

Две основные категории кодов ECC: блочные коды и сверточные коды.

  • Блочные коды работают с блоками (пакетами) фиксированного размера, состоящими из битов или символов заранее определенного размера. Практические блочные коды обычно могут быть жестко декодированы в полиномиальное время к их длине блока.
  • Сверточные коды работают с битовыми или символьными потоками произвольной длины. Чаще всего они софт-декодируются Алгоритм Витерби, хотя иногда используются и другие алгоритмы. Декодирование Витерби обеспечивает асимптотически оптимальную эффективность декодирования при увеличении длины ограничения сверточного кода, но за счет экспоненциально возрастающая сложность. Завершенный сверточный код также является «блочным кодом» в том смысле, что он кодирует блок входных данных, но размер блока сверточного кода, как правило, произвольный, в то время как блочные коды имеют фиксированный размер, определяемый их алгебраическими характеристиками. Типы завершения для сверточных кодов включают «концевую передачу» и «сброс битов».

Есть много типов блочных кодов; Кодирование Рида-Соломона примечателен своим широким использованием в компакт-диски, DVD, и жесткие диски. Другие примеры классических блочных кодов включают Голай, BCH, Многомерная четность, и Коды Хэмминга.

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

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

Прямое исправление ошибок

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

Обработка FEC в приемнике может применяться к цифровому битовому потоку или при демодуляции несущей с цифровой модуляцией. Для последнего FEC является неотъемлемой частью исходного аналого-цифровое преобразование в приемнике. В Декодер Витерби реализует алгоритм мягкого решения демодулировать цифровые данные из аналогового сигнала, искаженного шумом. Многие кодеры FEC также могут генерировать коэффициент битовых ошибок (BER) сигнал, который можно использовать в качестве обратной связи для точной настройки аналоговой принимающей электроники.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *