Линус Торвальдс обвиняет Intel в уничтожении оперативной памяти ECC в потребительских системах

Линус Торвальдс обвиняет Intel в уничтожении оперативной памяти ECC в потребительских системах

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

Было время, когда можно было купить поддержку ECC на основных наборах микросхем, но несколько лет назад Intel отказалась от этой возможности на платформах, отличных от Xeon. 975X, возможно, была последней потребительской платформой Intel, которая ее поддерживала, и это семейство было выпущено 15 лет назад. Набор микросхем Xeon 3450 был перекрестно совместим с некоторыми высокопроизводительными процессорами семейства Nehalem, но это все еще набор микросхем Xeon, а не массовая часть.

В результате поддержка ECC в потребительских товарах - и доступность ECC RAM для потребительских товаров - резко упали. Линус резюмирует свой случай в довольно длинном посте, утверждая, что постоянная настойчивость Роухаммера и тот факт, что однобитовые ошибки никогда не исчезали, чтобы объявить политику Intel в отношении ECC «плохой и ошибочной». Он фактически берет на себя всю индустрию DRAM, написав:

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

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

Линус Торвальдс обвиняет Intel в уничтожении оперативной памяти ECC в потребительских системах

Вывод Google в 2009 году был прост: «Мы обнаружили, что частота ошибок памяти и диапазон частот ошибок для разных модулей DIMM (двухрядных модулей памяти) намного выше, чем сообщалось ранее… Ошибки памяти - не редкость». Команда обнаружила уровень ошибок, который, по ее словам, «на порядок выше, чем сообщалось ранее».

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

Текущая ограниченная поддержка AMD

На бумаге семейство AMD Ryzen неофициально поддерживает ECC (у Threadripper есть официальная поддержка ECC). Однако, как позже укажет Ян Катресс, то, что материнская плата требует поддержки ECC, не означает, что поддержка действительно включена. Мы не часто сталкиваемся с такой ситуацией, но процессоры и материнские платы сообщают о своих различных наборах функций через регистры, которые затем проверяют приложения, такие как CPUID, чтобы определить и сообщить, какие функции поддерживает чип. Приложение, утверждающее, что проверяет, поддерживается ли данная функция (SSE, AVX, ECC и т. Д.), Может сообщать только то, что ЦП или материнская плата заявляет о своей собственной работе, с помощью флагов регистров. На самом деле он не может проверить, существует ли поддержка, если приложение не содержит тест функций - например, небольшой тест, который буквально не может работать, если не работает поддержка AVX.

Поскольку поддержка AMD является неофициальной, это означает, что никто не стоит над OEM-производителями с кнутом, чтобы убедиться, что они правильно реализуют эту функцию, и они не тестируют, чтобы убедиться, что эта функция действительно работает. Поскольку можно установить бит для «Поддерживает ECC» в регистре материнской платы без фактической реализации функциональной ECC, существуют материнские платы, которые утверждают, что поддерживают стандарт и, кажется, делают это, если вы сканируете их с помощью утилиты, но не на самом деле внедрить ECC вообще. Единственный способ гарантировать, что совместимость ECC работает на материнской плате AMD Ryzen, - это запустить утилиту, которая вызывает ошибку ECC.

Что касается того, увидим ли мы возвращение этой функции на настольных компьютерах Intel или официально дебютируем для Ryzen, это неясно. Это потребует поддержки со стороны производителей памяти, и не ясно, что многие люди на рынке ПК пойдут на это. Большинство людей покупают по цене, и поскольку вы никогда не знаете о сбоях ПК, которых у вас нет, трудно продать людям выгоду. С другой стороны, мы увидим, что производители процессоров x86 столкнутся с гораздо более серьезными проблемами со стороны ARM в течение следующих 2–5 лет, чем мы когда-либо видели раньше. Неудивительно, что Intel и / или AMD «заново открывают» некоторые функции, особенно если эти функции позволяют им заявлять о повышенной стабильности по сравнению с предыдущими продуктами.

На изображении показаны зарегистрированные модули DIMM DDR4-2133. Зарегистрированные модули DIMM часто также поддерживают ECC, но можно найти и небуферизованную RAM ECC.

Читать далее

Цены на высокоскоростную оперативную память продолжают расти, поскольку слайд распространяется на второй квартал
Цены на высокоскоростную оперативную память продолжают расти, поскольку слайд распространяется на второй квартал

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

Samsung Galaxy S20 Ультра мая пакет больше оперативной памяти, чем обычные ПК
Samsung Galaxy S20 Ультра мая пакет больше оперативной памяти, чем обычные ПК

Samsung, Galaxy S20 может упаковать как много оперативной памяти в качестве настольного ПК, если слухи верны. Или вы не получите каких-либо практическую пользу из него еще один вопрос.