Отличная иллюстрация сказанного – проблемы с использованием высокоскоростных SSD в тонких и легких ноутбуках. В нетбуки, как правило, устанавливают дешевые и весьма неторопливые полупроводниковые накопители; разговор сейчас не о них. В рассчитанных же на приличную нагрузку ноутбуках могут оказаться SSD с отменными скоростными характеристиками. И когда счастливый владелец такого ПК, стремясь еще более увеличить время его работы от батарей, выставляет в ОС максимально экономичный режим, то замечает вдруг, что производительность компьютера резко снижается. В чем дело? Накопителю не хватает энергии?.. Нет, просто при пропускной способности 200 Мбайт/с (или около того) хороший полупроводниковый накопитель уже не в состоянии полноценно обмениваться данными с прочими подсистемами ПК, если те работают не в полную силу. Узким местом в системе оказывается в таком случае переведенный в режим максимального энергосбережения процессор. Получается – парадокс! – что для наиболее эффективной работы с неторопливыми серхнизковольтными процессорами больше подходят как раз низкооборотные «ноутбучные» жесткие диски.
Источник проблем SSD нынешнего поколения кроется в их контроллерах. Ничего удивительного: разработкой этих микросхем занимаются в основном те же компании, которые годами и десятилетиями создавали контроллеры для жестких дисков. Перестроиться на новую парадигму хранения данных им, по всей видимости, непросто. В результате основная тяжесть взаимодействия с полупроводниковым накопителем ложится на плечи ОС. Если ОС не подозревает о существовании в природе SSD – Windows XP тому пример, – ожидать от полупроводникового накопителя под ее управлением по-настоящему высокой производительности наивно.
Дело здесь в том, что одна из важнейших задач контроллера SSD – равномерное распределение нагрузки между всеми ячейками накопителя. Ресурс циклов перезаписи этих ячеек ограничен (хотя сегодня уже в меньшей степени, чем на заре флэш-технологий), и если позволить данным постоянно обновляться лишь в одной из областей памяти накопителя, есть риск, что ячейки этой области выйдут из строя прежде, чем предусматривает эксплуатационный ресурс устройства. Поэтому контроллер SSD в каждый момент времени занят задачей оптимизации, с одной стороны, производительности устройства в целом, а с другой – равномерности нагрузки на все его ячейки.
И контроллер прекрасно справлялся бы со своей задачей, если бы нагрузка на накопитель была все время одной и той же. В реальности же из ОС на устройство хранения данных поступают различные запросы: записываются и считываются и объемистые монолитные файлы, и множество мелких раздробленных блоков данных. Такой вид активности, как интенсивная нагрузка торрент-клиента, вообще чуть ли не противопоказан нынешним накопителям SSD, – там приходится очень быстро оперировать мириадами крохотных файлов, и хотя пропускной способности устройства для этого более чем достаточно, вычислительной мощности контроллера часто уже не хватает.
Сказанное очень хорошо иллюстрирует таблица наших испытаний посредством утилиты Iometer. Видно, что в группе есть накопители, чьи контроллеры оптимизированы под сценарий активности «рабочая станция», а есть и такие, которые прекрасно справляются с нагрузкой файлового или Web-сервера. Операционная система, распознающая SSD-накопители как особый класс устройств и готовая предложить на своем уровне оптимальный сценарий их использования, безусловно, обладает куда большими возможностями для выявления потенциала таких накопителей – просто потому, что мощности ЦП современных компьютеров для этого вполне достаточно, в отличие от скромных вычислительных способностей контроллера. Поэтому от Windows 7, где как раз особенности SSD учтены на уровне драйверов, можно ожидать дополнительного прироста производительности скоростных полупроводниковых накопителей.