Перейти до вмісту

ECC-пам'ять

Матеріал з Вікіпедії — вільної енциклопедії.

Пам'ять з кодом усунення помилок (англ. Error-correcting code memory , ECC-пам'ять ) є одним з видів зберігання комп'ютерних даних, які можуть виявити і усунути найпоширеніші види внутрішнього пошкодження даних.

ECC-пам'ять використовується в більшості комп'ютерів, на яких пошкодження даних не може бути допущено ні за яких обставин, наприклад, для наукових або фінансових обчислень. ECC підтримує пам'ять системи несприйнятливою до помилки в одному розряді: біти, які зчитуються з кожного слова завжди збігаються з бітами, які були записані в нього, навіть якщо один збережений біт , або більше, в деяких випадках, через різні причини були перевернуті в неправильний стан. Деякі типи пам'яті (без ECC) з підтримкою контролю парності дозволяють виявляти помилки , але не виправляти, в інших випадках помилки навіть не виявляються.

Рішення

[ред. | ред. код]

Кілька варіантів було розроблено для боротьби з небажаними змінами бітів:

  • Immunity-aware programming
  • RAM parity memory
  • ECC-пам'ять

Ця проблема може бути усунена за допомогою DRAM модулів, які включають додаткові біти пам'яті і контролерів, які використовують ці біти. Ці додаткові біти використовуються для запису парності або для застосування коду корекції помилок (ECC). Парність дозволяє виявити всі однобітні помилки (насправді, будь-яке непарне число неправильних біт). Найпоширеніший код корекції помилок, SECDED код Хеммінга, дозволяє виправити однобітні помилки, і (у звичайній конфігурації, з додатковим бітом парності) виявити подвійні помилки.

Chipkill ECC є більш ефективною версією, яка також виправляє помилки декількох біт, включаючи втрату всього чипа пам'яті.

Див. також

[ред. | ред. код]