4. Дискова підсистема
і IDE/SATA-контролер
Всі інструкції і дані, з якими в даний момент працює процесор, знаходяться в оперативній пам'яті. Проте оперативна пам’ять зовсім не підходить для довготривалого зберігання інформації: варто знеструмити комп'ютер, як вміст всіх елементів пам’яті буде загублений. Та і об'єм оперативної пам'яті явно недостатній, щоб вмістити всі використовувані програми і дані. На допомогу приходить дискова підсистема комп'ютера: досить ємкий жорсткий диск зберігає інформацію навіть у вимкненому стані, а накопичувачі із змінними носіями (наприклад, привід DVD) ідеально личать для архівації і обміну даними.
Можна згадати ще і дисковод 3,5//, досить поширений в минулому. Зараз же цей пристрій можна зустріти далеко не в кожному комп'ютері — виною тому мізерний за сучасними мірками об'єм дискети. Наявність дисковода в сучасному комп'ютері швидше дань сумісності або ознака нестандартної конфігурації дискової підсистеми.
Зазвичай для підключення жорстких дисків і приводів оптичних дисків використовується стандартний контроллер IDE або SATA, що є частиною функціонального контролера чіпсета. Спочатку застосовувався лише паралельний IDE-интерфейс (званий також E-IDE, ATA або Parallel ATA): функціональний контролер чіпсета забезпечував два канали, до кожного з яких допускалося під'єднування до двох пристроїв. Один з цих пристроїв працює в режимі Master, другий, за наявності, — в режимі Slave, що задається перемичками на самому пристрої.
Початковий варіант стандарту IDE дозволяв підключати лише жорсткі диски. Розширення цього стандарту, що допускає підключення і інших пристроїв (в першу чергу приводів оптичних дисків), носить назву ATAPI. Втім, на практиці продовжують використовувати узагальнену абревіатуру IDE.
Перші варіанти IDE-интерфейса забезпечували досить низьку, за нинішніми мірками, швидкість обміну в 3,3 Мбайт/сек — накопичувачам того часу її повністю вистачало. Із зростанням швидкодії жорстких дисків з'явилися інтерфейси, що відповідають новим вимогам реалізації IDE, засновані на швидкісніших режимах PIO Mode (Programmed Input/Output Mode — програмований ввід/вивід).
PIO Mode 0 |
3,3 Мбайт/сек |
PIO Mode 1 |
5,2 Мбайт/сек |
PIO Mode 2 |
8,3 Мбайт/сек |
PIO Mode 3 |
11,1 Мбайт/сек |
PIO Mode 4 |
16,6 Мбайт/сек |
Подальший прогрес забезпечив введення інших механізмів обміну даними по інтерфейсу IDE. Так з'явилися режими DMA і Ultra DMA (Direct Memory Access — прямий доступ до пам'яті), що розвантажили центральний процесор від обробки операцій вводу/виводу.
Single-Word DMA 0 |
2,1 Мбайт/сек |
Single-Word DMA 1 |
4,2 Мбайт/сек |
Single-Word DMA 2 |
8,3 Мбайт/сек |
Multi-Word DMA 0 |
4,2 Мбайт/сек |
Multi-Word DMA 1 |
13,3 Мбайт/сек |
Multi-Word DMA 2 |
16,7 Мбайт/сек |
Ultra DMA 0 |
16,7 Мбайт/сек |
Ultra DMA 1 |
25,0 Мбайт/сек |
Ultra DMA 2 або Ultra DMA 33 |
33,3 Мбайт/сек |
Ultra DMA 3 |
44,4 Мбайт/сек |
Ultra DMA 4 або Ultra DMA 66 |
66,7 Мбайт/сек |
Ultra DMA 5 або Ultra DMA 100 |
100,0 Мбайт/сек |
Ultra DMA 6 або Ultra DMA 133 |
133,0 Мбайт/сек |
Жорсткі диски з інтерфейсом IDE здатні працювати як мінімум в режимі Ultra DMA 100, більшість — в режимі Ultra DMA 133. Приводи оптичних дисків і подібні до них пристрої зазвичай використовують в режимі Ultra DMA 33, є моделі, що використовують Ultra DMA 66.
Від подальшого вдосконалення IDE, в тому вигляді, в якому він існував на той момент, було вирішено відмовитися — йому на зміну прийшов послідовний інтерфейс SATA (Serial ATA). Перша версія — SATA 1.0 (так звана SATA I або SATA 150) — по своїх можливостях мало відрізняється від IDE: максимальна швидкість обміну зросла всього до 150 Мбайт/сек. Головне досягнення — вузькі інтерфейсні кабелі, що замінили широкі незручні шлейфи IDE. І хоча до одного каналу SATA тепер можна підключити лише одне пристрій, жодних принципових незручностей це не створює.
У першій хвилі чіпсетів з підтримкою нового інтерфейсу два канали SATA були додані до двох існуючих каналів IDE. І якщо в Windows 2000 і Windows XP це не викликало жодних проблем (для цих операційних систем не має значення число IDE/SATA-каналів), то для користувачів лінійки Windows 9x (Windows 95, Windows 98 і Windows Me) довелося вводити сумісний режим.
Подальша експансія жорстких дисків і приводів оптичних дисків з інтерфейсом SATA привела до того, що число IDE-каналів в багатьох чіпсетах спочатку скоротилося до одного (з відповідним збільшенням числа каналів SATA), а потім від реалізації паралельного IDE-интерфейсу силами функціонального контролера частина виробників чіпсетів взагалі відмовилася. Це привело до того, що виробники материнських плат частенько вимушені інтегрувати в свої продукти додатковий IDE-контролер, щоб забезпечити сумісність накопичувачів з даним інтерфейсом, парк яких поки що досить великий. Ще один наслідок все більш широкого поширення SATA — відмова від сумісного режиму в багатьох сучасних чіпсетах: дійсно, навряд чи хто-небудь встановлюватиме Windows 98 на потужну сучасну конфігурацію (до того ж це супроводиться безліччю інших проблем).
З точки зору користувача набагато цікавіше друга версія інтерфейсу SATA — SATA 2.0 (часто звана SATA II або SATA 300). Швидкість інтерфейсу збільшилася до 300 Мбайт/сек. А також останні нововведення — «гаряче» підключення дисків (на льоту, без відключення живлення і перезавантаження операційної системи). Щоб скористатися цими можливостями SATA-контролер повинен функціонувати в режимі ACHI (Advanced Host Controller Interface — розширений хост-контролер інтерфейсу).
Гаряче підключення дисків в теорії можуть використовуватися і в першій версії інтерфейсу SATA. Але на практиці виробники чіпсетів реалізували ці можливості лише з приходом другої версії SATA.
Природно, ні про яку сумісність з лінійкою Windows 9x мови вже не йде, більш того, драйвера для ACHI входять до складу операційної системи, лише починаючи з Windows Vista. Для Windows XP в процесі установки необхідно вручну встановлювати драйвера для ACHI (вони беруться на сайті виробника чіпсета). Якщо ви спробуєте встановити Windows XP (або ранішу версію цієї операційної системи) без відповідного драйвера, програма просто не побачить жорсткий диск. Те ж саме станеться і при спробі задіювати режим ACHI на вже встановлену Windows XP — з'явиться «синій екран смерті» з описом проблеми.
Якщо ви хочете скористатися перевагами ACHI у вже встановленій операційній системі Windows XP, викачайте з сайту виробника чіпсета відповідний драйвер і встановите його до зміни в BIOS режиму роботи SATA-контролера.
Необхідність установки драйвера для ACHI призводить до того, що від цього режиму часто відмовляються (не дивлячись на виграш, що надається їм в швидкодії дискової підсистеми), переводячи SATA-контролер в режим «традиційного» IDE — з використанням механізмів обміну даними, що існували ще в часи IDE-контролерів.
В BIOS Setup можна задати режими функціонування IDE/SATA-контролера чіпсета, вказати параметри жорсткого диска, вибрати режими обміну даних для наявних накопичувачів. Багато версій BIOS дозволяють відключити контролер дисковода, що стає непотрібним.
RAID-масив
Велика кількість сучасних чіпсетів дозволяють об'єднувати два жорстких диска, встановлених в комп’ютері, в RAID-масив (Redundant Array of Independent Disks — надлишковий масив незалежних дисків). В чіпсетах, випущених дещо раніше, підтримуються лише прості масиви рівня 0 (Striped або розпаралелювання), рівня 1 (Mirrored або відзеркалювання) або їх комбінація — рівень 0+1 (Striped+Mirrored).
Якщо SATA-контролер може працювати в режимі ACHI, «гаряче» підключення і черга команд будуть доступні і при виборі режиму RAID-масиву.
В масиві рівня 0 дані розподіляються на декілька жорстких дисків, таким чином вдається збільшити швидкість операцій читання-запису (на практиці, відсотків від тридцяти в разі двох дисків і десь до двох разів в разі чотирьох дисків). Лише слід зауважити, що збільшення швидкодії позначиться в основному при роботі з великими файлами (при обробці відео, графіки, звуку), а на файлах невеликого розміру (а в більшості операцій читання-запису звернення відбуваються до невеликих файлів) швидкість залишиться практично на рівні одного диска. При цьому в масиві рівня 0 істотно знижується надійність зберігання інформації, адже при виході з ладу навіть одного диска дані можна вважати втраченими. Зате ємкість дисків використовується повною мірою — сумарний об'єм масиву дорівнює сумі ємкостей вхідних в нього накопичувачів.
В масив рекомендується об'єднувати диски однієї моделі і, бажано, з однією і тією ж версією керуючої програми (firmware). Лише так досягаються максимальна продуктивність і надійність масиву.
Масив рівня 1 передбачає паралельний запис інформації на два (і більше) жорсткі диски. Цим підвищується надійність її зберігання — якщо один жорсткий диск вийде з ладу, інформацію можна буде зчитати з другого. Враховуючи не дуже високу надійність в роботі сучасних жорстких дисків, це дуже актуальне рішення. Інше питання, що при цьому неефективно використовується ємкість дисків — об'єм масиву дорівнює ємкості одного накопичувача.
Масив рівня 0+1 комбінує два попередні варіанти: інформація розбивається на два (і більше) жорсткі диски і при цьому дублюється на два (і більше) що залишилися. Природно, для організації такого масиву буде потрібно як мінімум чотири диски.
Масив рівня 5 влаштований набагато складніше. Для кожного блоку даних вираховується контрольна сума (парність), потім вся інформація (включаючи контрольну суму) розподіляється на декілька жорстких дисків, що входять в масив. Навіть якщо один з дисків відмовить, за рахунок надлишкових даних (контрольної суми) можна буде відновити бракуючу інформацію. Щоб запис контрольної суми відбувся успішно, дані записуються на всі жорсткі диски, що входять в масив. Таким чином забезпечуються як підвищена надійність зберігання, так і вища швидкість операцій читання-запису. Мінімальне число дисків для побудови масиву рівня 5 — три, об'єм масиву дорівнює сумі ємкостей вхідних в масив накопичувачів за винятком одного. Чим більше жорстких дисків входять в масив рівня 5, тим вище його швидкість і менше втрати об'єму.
Лише не треба сподіватися на реалізацію всіх переваг RAID-масиву рівня 5 при побудові його засобами функціонального контролера чіпсета. Оскільки це рішення є суто програмним (всі операції по обчисленню контрольної суми лягають на центральний процесор), продуктивність масиву багато в чому залежить від поточного навантаження на систему. В цьому випадку переважно використовують прості масиви рівнів 0, 1 або 0+1.
Варто відзначити і пропоновану фірмою Intel в своїх чіпсетах технологію Matrix RAID. Вона дозволяє використовувати один жорсткий диск відразу в декількох масивах. Наприклад, можна одночасно створити два масиви, використовуючи лише два жорсткі диски: перша половина обох дисків відводиться під продуктивний масив рівня 0, а друга половина — під відмовостійкий масив рівня 1.