Chipkill — торговая марка IBM для формы усовершенствованной технологии проверки и исправления ошибок (ECC) компьютерной памяти , которая защищает системы памяти от сбоев отдельных микросхем памяти и многобитовых ошибок из любой части одной микросхемы памяти. [1] [2] Одна простая схема для выполнения этой функции распределяет биты слова кода Хэмминга ECC по нескольким микросхемам памяти, так что сбой любой отдельной микросхемы памяти повлияет только на один бит ECC на слово. Это позволяет восстанавливать содержимое памяти, несмотря на полный сбой одной микросхемы. Типичные реализации используют более продвинутые коды, такие как код BCH , который может исправлять несколько битов с меньшими накладными расходами.
Chipkill часто сочетается с динамическим управлением битами, так что если чип выходит из строя (или превышает пороговое значение ошибок битов), другой, запасной, чип памяти используется для замены неисправного чипа. Концепция похожа на RAID , который защищает от сбоя диска, за исключением того, что теперь концепция применяется к отдельным чипам памяти. Технология была разработана корпорацией IBM в начале и середине 1990-х годов. Важная функция RAS , технология Chipkill в основном развернута на SSD , мэйнфреймах и серверах среднего уровня.
Эквивалентная система от Sun Microsystems называется Extended ECC , а эквивалентные системы от HP называются Advanced ECC [3] и Chipspare . Аналогичная система от Intel, называемая Lockstep memory , обеспечивает функциональность коррекции данных с двух устройств (DDDC). [4] Аналогичные системы от Micron , называемые избыточным массивом независимых NAND (RAIN), и от SandForce , называемые RAISE level 2 , защищают данные, хранящиеся на SSD, от любого отказа одного чипа флэш-памяти NAND. [5] [6]
В статье 2009 года, в которой использовались данные из центров обработки данных Google [7], были представлены доказательства, демонстрирующие, что в наблюдаемых системах Google ошибки DRAM повторялись в одном и том же месте, и что 8% модулей DIMM были затронуты каждый год. В частности, «в более чем 85% случаев за исправимой ошибкой следует по крайней мере еще одна исправимая ошибка в том же месяце». Модули DIMM с коррекцией ошибок Chipkill показали более низкую долю DIMM, сообщающих о неисправимых ошибках, по сравнению с модулями DIMM с кодами коррекции ошибок, которые могут исправлять только однобитовые ошибки. В статье 2010 года из Университета Рочестера также было показано, что память Chipkill привела к существенно меньшему количеству ошибок памяти, используя как трассировки реальной памяти, так и моделирование. [8]