Наприклад, якщо є набір з n+1 диска, які перенумеровано від 0
до n, то можна інтерпретувати і-й циліндр j-го диска як резервний у
тому випадку, коли j є залишком від ділення і на n+1.
Приклад 23. Розглянемо масив із 4-х дисків і покладемо n=3.
Диск з номером 0 може виконувати функцію резервного для
циліндрів з номерами 4, 8, 12 і так далі, оскільки залишок від
ділення цих номерів на загальну кількість дисків (4) дорівнює
нулю. Аналогічно, диск 1 може бути резервним для циліндрів
1, 5, 9 і так далі, диск 2 – для циліндрів 2, 6, 10 і так далі, диск 3 –
для циліндрів 3, 7, 11 і так далі Як наслідок – коефіцієнт заванта-
ження усіх дисків виявиться однаковим. Якщо операція запису всіх
блоків виконується з однаковою частотою, то ймовірність того, що
операцію адресовано певному дискові, становить 1/4. Якщо ж
операцію адресовано іншому дискові, то з імовірністю 1/3 він буде
резервним для блока, що зберігається. Отже, кожен з чотирьох
дисків братиме участь у записуванні з імовірністю 1/4+3/4∗1/3=1/2.
7.5. Відновлення даних після відмови декількох дисків
Технології відновлення інформації після відмови декількох
дисків масиву (резервних або дисків даних) реалізовано у схемі
RAID найвищого рівня – RAID рівня 6. Вони ґрунтуються на теорії
кодів з виправлення помилок (error-correcting codes) і дають змогу
подолати наслідки аварії довільного ступеня важкості – лише б
кількість резервних дисків була достатньою.
Розглянемо короткий приклад, що стосується одночасної
відмови двох дисків і використання стратегії відновлення даних на
основі простого коду з виправлення помилок, відомого як код
Хеммінга (Hamming code).
Звернемось до масиву, який складається з семи дисків,
перенумерованих від 1 до 7. Перші чотири диски є дисками даних,
а диски 5-7 виконують функцію резервних. Взаємозв’язки між
дисками даних і резервними дисками масиву описано бінарною
матрицею 3∗7, представленою на рис. 15. Звернемо увагу на
наступне:
а) матриця містить всі можливі 3-бітові послідовності
одиниць і нулів, окрім набору з трьох нулів;
66