Здається, ECC виправляє лише поодинокі біти помилок.
Правильно. Для виправлення більшої кількості помилок знадобиться більше біт. У цьому випадку ви вже використовуєте 10 біт для зберігання 8 біт інформації, "витрачаючи" 20% мікросхем пам'яті, щоб дозволити виправлення одного біта і до двох біт виявлення помилок.
Він працює наступним чином. Уявіть собі 0
або 1
. Якщо я читаю чи то, то просто сподіваюся, що я прочитав правильно. Якщо 0 перекинувся на 1 за допомогою якогось космічного випромінювання чи поганої мікросхеми, я ніколи не дізнаюся.
У минулому ми намагалися вирішити це з чесності. Паритет додав дев'ятий біт на 8 біт, що зберігаються. Ми перевірили, скільки нулів і скільки 1 було в байті. Дев'ятий був встановлений, щоб зробити це парним числом. (для рівного паритету) Якщо ви коли-небудь читали байт і число було неправильним, знаєте, що щось не так. Ти ж не знаєш, який біт помилився.
ECC на цьому розширився. Він використовує 10 біт і складний алгоритм для виявлення, коли один біт перевернувся. Він також знає, якою була первісна цінність. Дуже простий спосіб пояснити, як це було так:
Замініть всі 0
s на 000
. Замініть всі 1
s на 111
.
Тепер ви можете прочитати шість комбінацій:
000
001
010
100
101
111
Ми ніколи не на 100% впевнені, що спочатку зберігалося. Якби ми читали 000
тоді, це може бути саме те, 000
чого ми очікували, або всі три біти могли перевернутись. Останнє дуже малоймовірне. Біти випадково не гортають, хоча це і відбувається. Скажімо, що це відбувається раз у десять разів для легких розрахунків (реальність набагато менше). Це підходить до наступних шансів прочитати правильне значення:
000
-> Або 000
(99,9% впевненості), або потрійний фліп (1/1000 шанс)
001
-> Ми знаємо, що щось пішло не так. Але це або було,
000
і один біт перевернувся (шанс 1:10), або був,
111
і два біти перевернулися (шанс 1: 100). Тож давайте розглянемо це так, ніби ми читаємо, 000
але помилку записуємо.
010
-> Те саме, що вище.
100
-> Те саме, що вище.
011
-> Те саме, що вище, але якщо припустити, що це було a 111
101
-> Те саме, що вище, але якщо припустити, що це було a 111
110
-> Те саме, що вище, але якщо припустити, що це було a 111
111
-> Або 111
(99,9% впевненості), або потрійний фліп (1/1000 шанс)
111
-> Або 000
(99,9% впевненості), або потрійний фліп (1/1000 шанс)
ECC робить подібні хитрощі, але робить це більш ефективно. Для 8 біт (один байт) вони використовують лише 10 біт для виявлення та виправлення.
Оперативна пам’ять, зареєстрована ECC, може бути використана лише для плат робочих станцій / серверів. ECC unbufer можна використовувати на Intel Xeon lga1155 або AMD AM3 + на платформах Asus.
Я вже згадував, що було за частиною ECC, тепер зареєстрована проти нерозподілена частина.
У сучасних центральних процесорах контролер пам'яті знаходиться на процесорному відмиранні, починаючи давно для мікросхем AMD Opteron та з Core i для Intel. Більшість процесорів настільних ПК потім спілкуються безпосередньо з DIMM-роз'ємами, що містять оперативну пам'ять. Це працює, і зайва логіка не потрібна. Це побудова дешево, а швидкість висока, тому що від контролера пам'яті до оперативної пам'яті немає затримок.
Але контролер пам'яті може керувати обмеженим струмом лише з високими швидкостями. Це означає, що існує обмеження на кількість розеток пам'яті, які можна додати до материнської плати. (І щоб зробити це складнішим, наскільки можуть використовувати DIMM, що призводить до ранжу пам'яті. Я пропускаю це, оскільки це вже давно).
На серверних дошках часто потрібно використовувати більше пам'яті, ніж настільних. Тому буфер "зареєструвати" додається в пам'ять. Читання з фішок на DIMM спочатку копіюються в цей буфер. Через тактовий цикл пізніше цей буфер з'єднується з контролером пам'яті для передачі даних.
Цей буфер / регістр затримує речі, роблячи пам'ять повільнішою. Це небажано, і тому він використовується / потрібен лише на дошках, у яких багато банків пам'яті. Більшість плат споживачів цього не потребують, а більшість споживчих процесорів цього не підтримують.
Прямо підключена, небуферизована оперативна пам’ять проти буферизованої / зареєстрованої оперативної пам’яті не є випадком, коли одна краща або гірша за іншу. Вони просто мають різні компроміси щодо кількості слотів для пам'яті. Зареєстрована оперативна пам'ять дозволяє отримати більше оперативної пам’яті ціною деякої швидкості (і, можливо, витрат). У більшості випадків, коли вам потрібно якомога більше пам’яті, ця додаткова пам’ять більше, ніж компенсує оперативну пам’ять, що працює з трохи меншою швидкістю.
Сумніви, які у мене виникають (в основному стосуються плати asus am3 +): чи є оперативна оперативна пам'ять, що не розширюється ECC, настільки ж добре, як ОЗУ, зареєстрована ECC (з точки зору безпеки та надійності)? Або це гірший вибір. Мені мало хвилюється швидкість. **
З точки зору безпеки та стабільності, нерозподілені ECC та зареєстровані ECC є однаковими.
Детальніше: сервер використовуватиме корпус сервера з накопичувачами до 24 х 3 ½ '' і повинен споживати якомога менше.
24 приводи збирають багато енергії. Скільки залежить від накопичувачів. Мій накопичувач SAS, що має 140 Гб, 15 Кб, що працює в обороті, складає 10 ватт на холостому ходу, як і диск SATA 7k2 1 TB. При використанні обидва малюють більше.
Помножте це на 24. 24х10 Вт на холостому ході означає 240 Вт, просто утримуючи диски, що обертаються, долаючи опір повітря. Подвійний результат, який використовується.
LGA1155 здається, що в цьому сенсі краща ставка (TDP ~ 20-95 Вт) порівняно з іншими (> 80 Вт) удвічі вище ціни.
Intel кращий за низьких потужностей процесорів під час написання та для згаданих вами процесорів.
Будь-яка пропозиція вітається. Скажімо, менше 120 Вт на холостому ходу (~ з 10 жорсткими дисками з 24).
Якщо ви їдете на FreeBSD, уважно подивіться на ZFS. Це може бути чудово. Багато його більш вдосконалених функцій (наприклад, дедуплікація та / або стиснення) використовують серйозну потужність процесора та потребують багато пам'яті. ZFS для базового використання з ZRAID буде чудовим для обох згаданих вами наборів процесорів та 16 Гб, але якщо ви ввімкнете такі функції, як дедуплікація, вам слід уважно вивчити рекомендовану пам'ять, необхідну для вашого диска; Деякі путівники рекомендують до 5 Гб на ТБ пам’яті .
Ще дві речі:
- Я нічого не бачив щодо підключення накопичувачів. Деякі плати можуть мати до 10 портів SATA. Але для нічого над цим вам знадобляться додаткові картки. Якщо ви розглядаєте апаратний RAID, то, можливо, найкраще планувати це з самого початку.
- Вихід з ладу: Якщо ви використовуєте множники порту SATA, тоді уважно подивіться, як вони діють, якщо привід SATA вийшов з ладу. Часто це не дуже. Не є великою проблемою для облаштування будинків, але дуже не для підприємств. Можливо, вам доведеться врахувати, як окремі диски теж обробляють помилки. Причина, яку деякі диски позначають як "NAS" або "RAID", полягає в тому, що вони обробляють помилки інакше, ніж звичайні диски. Без RAID, ви хочете, щоб накопичувач повторився якомога більше разів. За допомогою RAID ви хочете, щоб накопичувач швидко вийшов з ладу , тому ви можете прочитати з іншої копії.