Серверная (www.it-simple.ru)

Откровения про дисковый кэш


Самый известный Алёша рунета делится шокирующей информацией.
http://www.exler.ru/blog/item/12406/?25

Помнится, в девяностых годах я на различных компьютерах, которым важна была производительность при работе с жестким диском, использовал так называемые кеш-контроллеры: это были платы, снабженные слотами для обычной оперативной памяти, в которые вставлялся определенный объем этой памяти, и она с помощью платы использовалась для кеширования данных с жесткого диска. Такая штука очень заметно ускоряла работу с жестким диском, особенно при использовании графических пакетов, вроде Corel Draw.

Особенно при использовании графических пакетов, вроде Corel Draw. Именно так.
(треск разрываемых шаблонов, глухой удар головы об стол)

Для начала определимся, что из себя представляет аппаратный дисковый кэш.
По большому счёту, это — кусок оперативы небольшого размера, "вшитый" в электронику винчестера.

Кэш-память выступает в роли буфера для хранения промежуточных данных, которые уже считаны с жесткого диска, но еще не были переданы для дальнейшей обработки, а также для хранения данных, к которым система обращается довольно часто. Необходимость наличия транзитного хранилища вызвана разницей между скоростью считывания данных с жесткого диска и пропускной способностью системы.

Что такое Кэш память на Жёстком диске. (http://servis2010.ru/Sovet%20mastera%20PK/memory%20disk.html)

Если какой-либо файл часто используется системой, то он будет помещён в дисковый кэш, чтобы 1) не дёргать лишний раз диск и 2) ускорить доступ к этому файлу. Убийство двух зайцев.

Вообще говоря, в кэш помещается не файл, а любое содержимое аппаратных блоков диска, которое часто читается. Например, служебные данные файловой системы. Или MBR. Или 12 килобайт из середины гигабайтного файла БД. Диск своё содержимое не различает, ему всё равно.
Ситуация с файлом приведена для наглядности.

Проблема в том, что в 90-е годы диски выпускались или без кэша, или он был слишком мал для хранения необходимых данных. И эта проблема действительно решалась использованием кэш-контроллеров.

Потом диски стали заметно быстрее, кеширование стала прилично делать операционная система, ну и отдельные кеш-котроллеры потихоньку отмерли, тем более что они были недешевые плюс под них еще надо было покупать память.

По относительной скорости жёсткие диски недалеко ушли от скорости в 90-х годах: они до сих пор являются самой медленной деталью компьютера. Но развитие технологий позволило поместить в диски достаточный объём кэш-памяти. Достаточный для того, чтобы необходимость в отдельных кэш-контроллерах отпала.

Плюс, в юниксовых ОС дополнительным кэшем выступает "лишняя" (неиспользуемая) оперативная память. Так называемый, программный дисковый кэш. Иногда его называют "буферным кэшем", но это несколько другое.

В виндах он тоже есть, но вся его выгода полностью компенсируется неадекватным использованием файла подкачки.
Обычное состояние системы: содержимое оперативной памяти лежит на диске (pagefile.sys), а содержимое диска — в оперативной памяти (программный дисковый кэш). Шизофрения.

Не так давно эти кеш-контроллеры стали возвращаться, но уже в образе SSD-дисков. Сначала появились так называемые гибридные диски - обычные жесткие диски, в которых также был встроен отдельный SSD небольшого размера (16-32 Гб), который использовался исключительно для кеширования.

Автор не понимает, что ничего никуда не уходило, чтобы теперь с салютом и фанфарами возвращаться.
И что гибридные диски — это маркетинговый ход (зачем-то в обычный винт запихали SSD на 16 гигов, да ещё и с урезанной функциональностью).
И что логичнее, проще и правильнее использовать два винта: быстрый SSD для системы и обычный винт для данных. Ибо кэш размером в 16 гигов — это феерический бред (с одной оговоркой: на данный момент).

А сейчас стали выпускать отдельные SSD, которые также используются именно для кеширования

Читай — обычные SSD с красной надписью «Cache Only».

Рыдал.

Хуже ламера — только ламер с большой аудиторией. ©


Комменты, кстати, тоже прекрасны.
Последователи стараются не отставать от Гуру.

Кроме того, Винда очень хорошо знает как нужно обращаться с ссд дисками, она и так уже оптимизирована-переоптимизирована, лишь бы лишний раз на диск не чихнуть.

Оптимизация работы с HDD по-микрософтовски:

Оптимизация работы с SSD:

Вот это я понимаю — оптимизация!
"Лишь бы лишний раз на диск не чихнуть", да.