Кеш у вінчестері

Матеріал з Вікі ЦДУ
Перейти до: навігація, пошук

Буфер (кеш) жорсткого диска - це певна область, де відбувається тимчасове зберігання результатів останнього читання з диска, а також превиборка інформації, на яку може бути запит дещо пізніше.
Логіка роботи більшості вінчестерів зводиться до запису в буфер обміну не шматочка необхідної інформації, а цілком всієї доріжки або декількох доріжок відразу. І вже з буфера обміну дістається необхідна частина інформації і відправляється за призначенням.
Чим більше кеш пам'яті в жорсткому диску, тим більше система зможе помістити в тимчасове сховище найбільш важливої ​​інформації, тим самим, прискорюючи зчитування / відтворення в 10-1000 разів звернення до якої було вироблено повторно. Прийнято розрізняти вінчестери з кеш пам'яттю в діапазоні від 8 і до 32 мегабайт. Найбільш модернізовані SCSI диски мають кеш, що досягає обсягу в 16 мегабайт.
Головна причина такої важливості кешу вінчестера - це велика різниця між швидкістю роботи самого жорсткого диска і швидкістю роботи інтерфейсу жорсткого диска. При пошуку потрібного нам сектора проходять цілі мілісекунди, тому що витрачається час на пересування голівки, очікування потрібного сектора. У сучасних персональних комп'ютерах навіть одна мілісекунда це дуже багато. На типовому IDE/ATA накопичувачі час передачі 16-кілобайтного блоку даних з кеша в комп'ютер приблизно в сотні разів швидше, ніж час знаходження та зчитування його з поверхні. Ось тому всі жорсткі диски мають внутрішній кеш.

Інша ситуація, це запис даних на диск. Припустимо, що нам треба записати все той же 16-кілобайтний блок даних. Вінчестер миттєво перекидає цей блок даних у внутрішній кеш, і рапортує системі, що він знову вільний для запитів, паралельно з цим записуючи дані на поверхню магнітних дисків. У разі послідовного читання секторів з поверхні, кеш вже не відіграє великої ролі, тому що швидкості послідовного читання і швидкість інтерфейсу в даному випадку приблизно однакові.

Рівні кеша вінчестера

Memory-cache.jpg

Більшість жорстких дисків використовують один рівень кеш-пам'яті. Але кеш має два рівні, де рівень L1 менше і швидше, а рівень L2, трохи повільніше (але все одно швидше, ніж основна внутрішня пам'ять).
На прикладі бібліотеки розглянемо принцип роботи зовнішня пам'ять комп'ютера.
Розглянемо ящик бібліотекаря в якості кеша L1. Коли попит на книги високий, і в ящику вже досить багато книг (нема місця складати) і ймовірність того, що там знайдеться потрібна, знижується.
Тут і з'являється необхідність L2. Уявімо L2 як книжкову шафу біля столу бібліотекаря. Коли маленький ящик столу заповнений, бібліотекар починає ставити книги в цю шафу. І тепер, якщо книга не знайдена в ящику відразу, треба взяти її з шафи, не відходячи далеко.
Аналогічним чином, коли кеш L1 заповнений, дані зберігаються в L2. В першу чергу йдезвернення до L1, якщо вони не будуть знайдені, то далы виконуэться запит до L2. Якщо там теж дані не знайдені в L2, то йде звернення до основної пам'яті.