stringtranslate.com

память ECC

Модули ECC DIMM обычно имеют девять микросхем памяти с каждой стороны, на одну больше, чем обычно имеется в модулях DIMM без ECC (некоторые модули могут иметь 5 или 18). [1]

Память с кодом исправления ошибок ( память ECC ) — это тип компьютерного хранилища данных , который использует код исправления ошибок [a] (ECC) для обнаружения и исправления n-битных повреждений данных , которые возникают в памяти.

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

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

Концепция

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

Электрические или магнитные помехи внутри компьютерной системы могут привести к тому, что один бит динамической памяти с произвольным доступом (DRAM) спонтанно перейдет в противоположное состояние. Первоначально считалось, что это происходит в основном из-за альфа-частиц, испускаемых загрязняющими веществами в упаковочном материале чипа, но исследования показали, что большинство одноразовых программных ошибок в чипах DRAM происходит в результате фонового излучения , в основном нейтронов от вторичных космических лучей , которые могут изменить содержимое одной или нескольких ячеек памяти или помешать работе схем, используемых для чтения или записи в них. [2] Следовательно, частота ошибок быстро увеличивается с ростом высоты; например, по сравнению с уровнем моря, скорость потока нейтронов в 3,5 раза выше на высоте 1,5 км и в 300 раз выше на высоте 10–12 км (высота полета коммерческих самолетов). [3] В результате системы, работающие на больших высотах, требуют специальных мер по обеспечению надежности.

Например, космический аппарат Кассини-Гюйгенс , запущенный в 1997 году, содержал два идентичных бортовых самописца, каждый с 2,5 гигабитами памяти в виде массивов коммерческих чипов DRAM. Благодаря встроенной функциональности EDAC инженерная телеметрия космического аппарата сообщала о количестве (исправимых) однобитовых ошибок на слово и (неисправимых) двухбитовых ошибок на слово. В течение первых 2,5 лет полета космический аппарат сообщал о почти постоянной частоте однобитовых ошибок около 280 ошибок в день. Однако 6 ноября 1997 года, в течение первого месяца в космосе, количество ошибок увеличилось более чем в четыре раза за один день. Это было связано с событием солнечной частицы , которое было обнаружено спутником GOES 9. [ 4]

Были некоторые опасения, что по мере дальнейшего увеличения плотности DRAM, и, таким образом, уменьшения компонентов на чипах, в то время как рабочие напряжения продолжают падать, чипы DRAM будут чаще подвергаться воздействию такого излучения, поскольку частицы с более низкой энергией смогут изменять состояние ячейки памяти. [3] С другой стороны, меньшие ячейки создают меньшие цели, и переход к таким технологиям, как SOI, может сделать отдельные ячейки менее восприимчивыми и, таким образом, противодействовать или даже обратить вспять эту тенденцию. Недавние исследования [5] показывают, что сбои в работе из-за одиночных событий, вызванные космической радиацией, резко снижаются с геометрией процесса, и предыдущие опасения по поводу увеличения частоты ошибок в битовых ячейках необоснованны.

Исследовать

Работы, опубликованные в период с 2007 по 2009 год, показали значительно различающиеся показатели ошибок с разницей более чем в 7 порядков, от 10−10 ошибок /бит·ч (примерно одна ошибка бита в час на гигабайт памяти) до 10−17 ошибок /бит·ч (примерно одна ошибка бита в тысячелетие на гигабайт памяти). [5] [6] [7] Масштабное исследование, основанное на очень большом количестве серверов Google, было представлено на конференции SIGMETRICS/Performance '09. [6] Фактический уровень ошибок был на несколько порядков выше, чем в предыдущих мелкомасштабных или лабораторных исследованиях, и составил от 25 000 (2,5 × 10 −11 ошибок/бит·ч) до 70 000 (7,0 × 10 −11 ошибок/бит·ч, или 1 битовая ошибка на гигабайт оперативной памяти на 1,8 часа) ошибок на миллиард часов работы устройства на мегабит. Более 8% модулей памяти DIMM были затронуты ошибками в год.

Последствия ошибки памяти зависят от системы. В системах без ECC ошибка может привести либо к сбою, либо к повреждению данных; на крупных производственных площадках ошибки памяти являются одной из наиболее распространенных аппаратных причин сбоев машин. [6] Ошибки памяти могут вызывать уязвимости безопасности. [6] Ошибка памяти может не иметь последствий, если она немного изменяется, что не вызывает наблюдаемого сбоя и не влияет на данные, используемые в вычислениях или сохраненные. Исследование моделирования 2010 года показало, что для веб-браузера только небольшая часть ошибок памяти вызывала повреждение данных, хотя, поскольку многие ошибки памяти являются прерывистыми и коррелированными, последствия ошибок памяти были больше, чем можно было бы ожидать для независимых программных ошибок. [8]

Некоторые тесты приходят к выводу, что изоляция ячеек памяти DRAM может быть обойдена непреднамеренными побочными эффектами специально созданных доступов к соседним ячейкам. Таким образом, доступ к данным, хранящимся в DRAM, приводит к утечке зарядов ячеек памяти и их электрическому взаимодействию в результате высокой плотности ячеек в современной памяти, изменяя содержимое соседних строк памяти, которые на самом деле не были адресованы при первоначальном доступе к памяти. Этот эффект известен как молоток строк , и он также использовался в некоторых эксплойтах компьютерной безопасности с повышением привилегий . [9] [10]

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

Решения

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

Эту проблему можно смягчить, используя модули DRAM, которые включают дополнительные биты памяти и контроллеры памяти, которые используют эти биты. Эти дополнительные биты используются для записи четности или для использования кода коррекции ошибок (ECC). Четность позволяет обнаруживать все однобитовые ошибки (фактически, любое нечетное количество неправильных битов). Наиболее распространенный код коррекции ошибок, код Хэмминга с исправлением одиночных ошибок и обнаружением двойных ошибок (SECDED) , позволяет исправлять однобитовые ошибки и (в обычной конфигурации с дополнительным битом четности) обнаруживать двухбитовые ошибки. Chipkill ECC — более эффективная версия, которая также исправляет множественные битовые ошибки, включая потерю всего чипа памяти.

Реализации

В 1982 году эта плата памяти емкостью 512 КБ от Cromemco использовала 22 бита памяти на 16-битное слово, что позволяло исправлять однобитовые ошибки.

Сеймур Крей однажды сказал: « Четность нужна фермерам » , когда его спросили, почему он убрал ее из CDC 6600. [11] Позже он включил четность в CDC 7600 , что заставило экспертов заметить, что «очевидно, многие фермеры покупают компьютеры». Оригинальный IBM PC и все ПК до начала 1990-х годов использовали проверку четности. [12] Более поздние в основном этого не делали.

Контроллер памяти с поддержкой ECC обычно может [a] обнаруживать и исправлять ошибки одного бита на слово [b] (единица передачи данных по шине ) и обнаруживать (но не исправлять) ошибки двух бит на слово. BIOS в некоторых компьютерах, при сопоставлении с операционными системами, такими как некоторые версии Linux , BSD и Windows ( Windows 2000 и более поздние [13] ), позволяет подсчитывать обнаруженные и исправленные ошибки памяти, отчасти для того, чтобы помочь идентифицировать неисправные модули памяти до того, как проблема станет катастрофической.

Некоторые чипы DRAM включают в себя «внутренние» схемы коррекции ошибок на кристалле, которые позволяют системам с контроллерами памяти без ECC по-прежнему получать большую часть преимуществ памяти ECC. [14] [15] В некоторых системах аналогичный эффект может быть достигнут путем использования модулей памяти EOS .

Обнаружение и исправление ошибок зависит от ожидания типов ошибок, которые происходят. Неявно предполагается, что сбой каждого бита в слове памяти независим, что приводит к маловероятности двух одновременных ошибок. Это было раньше, когда чипы памяти были однобитными, что было типично в первой половине 1980-х годов; более поздние разработки переместили много битов в один чип. Эта слабость устраняется различными технологиями, включая Chipkill от IBM , Extended ECC от Sun Microsystems , Chipspare от Hewlett-Packard и Single Device Data Correction (SDDC) от Intel .

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

Перемежение позволяет распределить эффект одного космического луча, потенциально нарушая несколько физически соседних битов в нескольких словах, связывая соседние биты с разными словами. Пока единичное событие сбоя (SEU) не превышает порог ошибки (например, единичная ошибка) в любом конкретном слове между доступами, его можно исправить (например, с помощью кода исправления однобитовых ошибок), и можно поддерживать эффективно свободную от ошибок систему памяти. [16]

Контроллеры памяти с исправлением ошибок традиционно используют коды Хэмминга , хотя некоторые используют тройную модульную избыточность (TMR). Последний вариант предпочтительнее, поскольку его аппаратное обеспечение быстрее, чем у схемы исправления ошибок Хэмминга. [16] Космические спутниковые системы часто используют TMR, [17] [18] [19] хотя спутниковая оперативная память обычно использует исправление ошибок Хэмминга. [20]

Многие ранние реализации памяти ECC маскируют исправимые ошибки, действуя «как будто» ошибка никогда не происходила, и сообщают только о неисправимых ошибках. Современные реализации регистрируют как исправимые ошибки (CE), так и неисправимые ошибки (UE). Некоторые люди заранее заменяют модули памяти, которые показывают высокий уровень ошибок, чтобы снизить вероятность неисправимых ошибок. [21]

Многие системы памяти ECC используют «внешнюю» схему EDAC между ЦП и памятью. Несколько систем с памятью ECC используют как внутренние, так и внешние системы EDAC; внешняя система EDAC должна быть разработана для исправления определенных ошибок, которые внутренняя система EDAC не может исправить. [14] Современные настольные и серверные ЦП интегрируют схему EDAC в ЦП, [22] даже до перехода к интегрированным в ЦП контроллерам памяти, которые связаны с архитектурой NUMA . Интеграция ЦП обеспечивает систему EDAC с нулевым штрафом во время безошибочной работы.

По состоянию на 2009 год наиболее распространенные коды исправления ошибок используют коды Хэмминга или Сяо, которые обеспечивают исправление однобитовых ошибок и обнаружение двухбитовых ошибок (SEC-DED). Для защиты памяти были предложены и другие коды исправления ошибок — коды исправления двухбитовых ошибок и обнаружения трехбитовых ошибок (DEC-TED), коды исправления однобитовых ошибок и обнаружения двухбитовых ошибок (SNC-DND), коды исправления ошибок Рида–Соломона и т. д. Однако на практике многобитовая коррекция обычно реализуется путем чередования нескольких кодов SEC-DED. [23] [24]

Ранние исследования пытались минимизировать площадь и задержку накладных расходов схем ECC. Хэмминг впервые продемонстрировал, что коды SEC-DED возможны с одной конкретной проверочной матрицей. Сяо показал, что альтернативная матрица с нечетными весовыми столбцами обеспечивает возможность SEC-DED с меньшей аппаратной площадью и более короткой задержкой, чем традиционные коды Хэмминга SEC-DED. Более поздние исследования также пытаются минимизировать мощность в дополнение к минимизации площади и задержки. [25] [26] [27]

Кэш

Многие процессоры используют коды исправления ошибок в кэше на кристалле , включая процессоры Intel Itanium , Xeon , Core и Pentium (начиная с микроархитектуры P6 ) [28] [29] , AMD Athlon , Opteron , все процессоры на базе Zen [ 30] и Zen+ [31] ( EPYC , EPYC Embedded, Ryzen и Ryzen Threadripper ), а также DEC Alpha 21264. [23] [32]

По состоянию на 2006 год EDC/ECC и ECC/ECC являются двумя наиболее распространенными методами защиты кэша от ошибок, используемыми в коммерческих микропроцессорах. Метод EDC/ECC использует код обнаружения ошибок (EDC) в кэше уровня 1. При обнаружении ошибки данные восстанавливаются из кэша уровня 2, защищенного ECC. Метод ECC/ECC использует кэш уровня 1, защищенный ECC, и кэш уровня 2, защищенный ECC. [33] Процессоры, использующие метод EDC/ECC, всегда выполняют сквозную запись всех STORE в кэш уровня 2, так что при обнаружении ошибки во время чтения из кэша данных уровня 1 копию этих данных можно восстановить из кэша уровня 2.

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

Один 64 ГиБ DDR5 -4800 ECC 1.1 В RDIMM

Регистрируемая или буферизованная память — это не то же самое, что ECC; эти технологии выполняют разные функции. Обычно память, используемая в серверах, бывает как регистрируемой, чтобы можно было использовать много модулей памяти без электрических проблем, так и ECC, для целостности данных. Память, используемая в настольных компьютерах, обычно не является ни той, ни другой, в целях экономии. Однако доступна небуферизованная (нерегистрируемая) память ECC [34] , и некоторые несерверные материнские платы поддерживают функциональность ECC таких модулей при использовании с ЦП, который поддерживает ECC. [35] Регистрируемая память не работает надежно на материнских платах без буферизационной схемы, и наоборот.

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

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

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

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

ECC может снизить производительность памяти примерно на 2–3 процента в некоторых системах, в зависимости от приложения и реализации, из-за дополнительного времени, необходимого контроллерам памяти ECC для выполнения проверки ошибок. [36] Однако современные системы интегрируют тестирование ECC в ЦП, не создавая дополнительных задержек при доступе к памяти, пока не будут обнаружены ошибки. [22] [37] [38] Это не относится к внутриполосному ECC , который хранит таблицы, используемые для защиты, в зарезервированной области основной системной памяти, [39] [40] поддерживаемому Intel для Chromebook , который показал небольшое влияние на просмотр веб-страниц и задачи производительности, но вызвал до 25% снижение производительности игр и редактирования видео . [41]

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

Примечания

  1. ^ ab Большинство ECC-памяти используют код SECDED .
  2. ^ Хотя 72-битное слово с 64 битами данных и 8 проверочными битами является общепринятым, ECC также используется с меньшими и большими размерами.

Ссылки

  1. ^ Вернер Фишер. "RAM Revealed". admin-magazine.com . Получено 20 октября 2014 г. .
  2. ^ Одиночное событие, нарушение на уровне земли, Юджин Норманд, член IEEE, Boeing Defense & Space Group, Сиэтл, Вашингтон 98124-2499
  3. ^ ab «Обзор методов моделирования и повышения надежности вычислительных систем», IEEE TPDS, 2015
  4. ^ Гэри М. Свифт и Стивен М. Гертин. «Наблюдения за многобитовыми сбоями в DRAM в полете». Лаборатория реактивного движения
  5. ^ ab Borucki, «Сравнение коэффициентов программных ошибок ускоренной DRAM, измеренных на уровне компонентов и системы», 46-й ежегодный международный симпозиум по физике надежности, Финикс, 2008 г., стр. 482–487
  6. ^ abcd Шредер, Бьянка ; Пинейро, Эдуардо; Вебер, Вольф-Дитрих (2009). Ошибки DRAM в дикой природе: крупномасштабное полевое исследование (PDF) . ACM. ISBN 978-1-60558-511-6. {{cite book}}: |journal=проигнорировано ( помощь )
    • Робин Харрис (4 октября 2009 г.). "Частота ошибок DRAM: Кошмар на улице DIMM". ZDNet .
  7. ^ "Измерение программной ошибки памяти в производственных системах". Архивировано из оригинала 2017-02-14 . Получено 2011-06-27 .
  8. ^ Ли, Хуан; Шен, Чу (2010). ""Реалистичная оценка ошибок оборудования памяти и восприимчивости программных систем". Ежегодная техническая конференция Usenix 2010" (PDF) .
  9. ^ Юнгу Ким; Росс Дейли; Джереми Ким; Крис Фаллин; Джи Хе Ли; Донхёк Ли; Крис Вилкерсон; Конрад Лай; Онур Мутлу (2014-06-24). "Переключение битов в памяти без доступа к ним: экспериментальное исследование ошибок нарушения DRAM" (PDF) . ece.cmu.edu . IEEE . Получено 2015-03-10 .
  10. ^ Дэн Гудин (2015-03-10). «Современный взлом дает статус суперпользователя, эксплуатируя слабость DRAM». Ars Technica . Получено 2015-03-10 .
  11. ^ "CDC 6600". Microsoft Research . Получено 2011-11-23 .
  12. ^ "Проверка четности". Pcguide.com. 2001-04-17 . Получено 2011-11-23 .
  13. ^ DOMARS. "!mca". docs.microsoft.com . Получено 2021-03-27 .
  14. ^ ab AH Johnston. "Эффекты космической радиации в усовершенствованных флэш-памятях" Архивировано 04.03.2016 в Wayback Machine . Программа NASA Electronic Parts and Packaging Program (NEPP). 2001.
  15. ^ "ECC DRAM". intelligentmemory.com . Архивировано из оригинала 2019-02-12 . Получено 2021-06-12 .
  16. ^ ab "Использование StrongArm SA-1110 в бортовом компьютере наноспутника". Космический центр Цинхуа, Университет Цинхуа, Пекин. Архивировано из оригинала 2011-10-02 . Получено 2009-02-16 .
  17. ^ "Инженеры Actel используют тройную избыточность модулей в новых радиационно-стойких ПЛИС". Военная и аэрокосмическая электроника. Архивировано из оригинала 2012-07-14 . Получено 2009-02-16 .
  18. ^ "SEU Hardening of Field Programmable Gate Arrays (FPGAs) For Space Applications and Device Characterization". Klabs.org. 2010-02-03. Архивировано из оригинала 2011-11-25 . Получено 2011-11-23 .
  19. ^ "FPGA в космосе". Techfocusmedia.net . Получено 2011-11-23 .[ постоянная мертвая ссылка ]
  20. ^ "Коммерческие микроэлектронные технологии для применения в условиях спутниковой радиации". Radhome.gsfc.nasa.gov. Архивировано из оригинала 2001-03-04 . Получено 2011-11-23 .
  21. ^ Дуг Томпсон, Мауро Карвальо Чехаб. «EDAC — обнаружение и исправление ошибок». Архивировано 05.09.2009 на Wayback Machine . 2005 - 2009. «Целью модуля ядра 'edac' является обнаружение и сообщение об ошибках, которые возникают в компьютерной системе, работающей под управлением Linux».
  22. ^ ab "Руководство по проектированию программного обеспечения/BIOS системного контроллера AMD-762™, стр. 179" (PDF) .
  23. ^ ab Doe Hyun Yoon; Mattan Erez. "Memory Mapped ECC: недорогая защита от ошибок для кэшей последнего уровня". 2009. стр. 3
  24. ^ Даниэле Росси; Никола Тимончини; Майкл Спика; Сесилия Метра . «Анализ кода с исправлением ошибок для обеспечения высокой надежности и производительности кэш-памяти». Архивировано 03.02.2015 на Wayback Machine .
  25. ^ Шалини Гхош; Сугато Басу; и Нур А. Туба. «Выбор кодов исправления ошибок для минимизации энергопотребления в схемах проверки памяти». Архивировано 03.02.2015 на Wayback Machine . стр. 2 и стр. 4.
  26. ^ Крис Вилкерсон; Алаа Р. Аламелдин; Зешан Чишти; Вэй Ву; Динеш Сомасекар; Ши-лянь Лу. «Уменьшение мощности кэша с помощью недорогих многобитных кодов с исправлением ошибок». дои : 10.1145/1816038.1815973.
  27. ^ MY Hsiao. «Класс оптимальных минимальных нечетных столбцовых кодов SEC-DED». 1970.
  28. ^ Корпорация Intel. «Семейство процессоров Intel Xeon E7: надежность, доступность и удобство обслуживания». 2011. стр. 12.
  29. ^ "Bios и кэш". www.custom-build-computers.com . Получено 2021-03-27 .
  30. ^ "Микроархитектура AMD Zen — Иерархия памяти". WikiChip . Получено 15 октября 2018 г. .
  31. ^ "Микроархитектура AMD Zen+ — Иерархия памяти". WikiChip . Получено 15 октября 2018 г. .
  32. ^ Джангву Ким; Никос Хардавеллас; Кен Май; Бабак Фалсафи; Джеймс К. Хо. «Многобитовые кэши, устойчивые к ошибкам, с использованием двумерного кодирования ошибок». 2007. стр. 2.
  33. ^ Натан Н. Сэдлер и Дэниел Дж. Сорин. «Выбор схемы защиты от ошибок для кэша данных L1 микропроцессора». 2006. стр. 1.
  34. ^ "Типичный небуферизованный модуль ECC RAM: Crucial CT25672BA1067".
  35. ^ Спецификация материнской платы для настольного компьютера, которая поддерживает как ECC, так и не-ECC небуферизованную оперативную память с совместимыми процессорами
  36. ^ "Обсуждение ECC на pcguide". Pcguide.com. 2001-04-17 . Получено 2011-11-23 .
  37. ^ Тест платформы AMD-762/Athlon с ECC и без нее. Архивировано 15 июня 2013 г. на Wayback Machine.
  38. ^ "ECCploit: память ECC уязвима для атак Rowhammer в конце концов". Группа безопасности систем и сетей в VU Amsterdam. 12 ноября 2018 г. Получено 22 ноября 2018 г.
  39. ^ США покинули 20190332469A1, Амир А. РАДЖАЙ, Наги Абулейн, Стив Л. ГЕЙГЕР, Сатьяджит А. ДЖАДХАВ, Безан Дж. КАПАДИА, Вивек Кожиккотту, Рашми ЛАККУР СУБРАМАНЬЯМ, Сритар Рэймс, Джеймс М. Шехади, Джейсон Д. ВАН ДАЙКЕН, " На основе диапазона адресов Модуль защиты внутриполосного кода коррекции ошибок памяти с синдромным буфером», опубликовано 31 октября 2019 г., передано Intel 
  40. ^ Патент США 11768731B2, Хартлиб, Хеймо и Хейлинг, Кристиан, «Система и метод обнаружения и исправления ошибок в данных прозрачного регистра через коммуникационную шину», опубликован 05.11.2020, передан Infineon Technologies 
  41. ^ Ganesh TS (29.01.2023). «Обзор ASRock Industrial NUCS BOX-1360P/D4: Raptor Lake-P впечатляет, плюс сюрприз ECC». стр. 2–6 . Получено 29.01.2024 .

Внешние ссылки