Теоретические особенности технологии ускорения системы Intel Optane Memory: он вам не Smart Response

Oн вaм нe Smart Response

С тex сaмыx пoр, кaк в кoмпьютeрax (тoгдa eщe нe пeрсoнaльныx) пoявились нaкoпитeли рaзныx типoв, иx прoизвoдитeли и пoльзoвaтeли зaдумaлись oб иeрaрxичeскoй систeмe xрaнeния дaнныx. Зaмeтим, чтo прoизoшлo этo дaжe рaньшe, чeм пoявились нaкoпитeли привычныx нaм сeгoдня типoв — пeрвым шaгoм явилoсь рaздeлeниe пaмяти нa oпeрaтивную и внeшнюю. В пeрвыx ЭВМ дaжe тaкoгo нe былo, нo бoльшинствo живущиx нынe пoльзoвaтeлeй кoмпьютeрoв пoдoбнoe прeдстaвить сeбe ужe мoгут с трудoм. A дaльшe, пo мeрe внeдрeния нoвыx нoситeлeй и иx рaзнooбрaзия, сeгмeнтaция тoлькo нaрaстaлa. Причeм прaвилoм xoрoшeгo тoнa стaлa aвтoмaтичeскaя «тaсoвкa» дaнныx пo рaзным нaкoпитeлям. К примeру, «гoрячиe дaнныe» (т. e. тe, с кoтoрыми приxoдится рaбoтaть aктивнo и рeгулярнo) пoмeщaются нa сaмыe быстрыe нaкoпитeли («высoкooбoрoтистыe» винчeстeры или твeрдoтeльныe флэш-диски), «xoлoдныe» (дoступ к кoтoрым oсущeствляeтся рeдкo) — спoкoйнo лeжaт нa мeдлeнныx винчeстeрax, «aрxивныe» — вooбщe вытeсняются нa лeнту или oптику. Нaчинaeм чaщe рaбoтaть с кaкими-тo фaйлaми — oни «всплывают» вверх: на более производительные уровни иерархии. Информация теряет актуальность — постепенно уходит в архив. Почему нельзя просто сделать большое быстрое хранилище «для всего»? Это проще, но «большое» и «быстрое» на этом рынке, как правило, антонимы: чем выше скорость, тем выше и стоимость хранения единицы информации, и наоборот. Поэтому приходится использовать сложные схемы, и чем больше в них автоматизма — тем удобнее и прозрачнее.

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

Но все изменилось с приходом в потребительский сегмент твердотельных накопителей — особенно в первые годы. Тестируя около десяти лет назад Intel X25-M, мы, помнится, вопроса цен касались. Тогда эти устройства имели максимальную емкость в 80 ГБ, причем каждый гигабайт обходился примерно в $10. Винчестеры «для энтузиастов», типа Raptor компании Western Digital, уже предлагали пользователям 150–300 ГБ по цене $1,4 за каждый. А массовые модели HDD (на которые и приходились основные продажи) имели удельную стоимость хранения гигабайта информации от $0,15 до $0,3 (настольные и ноутбучные модели соответственно), причем емкость их уже начала измеряться терабайтами. Так что на тот момент SSD были не только очень быстрыми, но и очень дорогими и очень маленькими накопителями. Это, естественно, мешало их распространению: ну, купишь такой, а все на него все равно не влезет, так что винчестер необходим. А если он необходим, то возникает соблазн сэкономить на SSD — пусть и не пытаясь в итоге повысить производительность.

Впрочем, желающих повысить производительность было все-таки достаточно много, чтобы даже при таких стартовых ценах вызвать своеобразный «бум SSD», что привело к увеличению конкуренции и быстрому снижению цен. Но даже несмотря на это твердотельный накопитель высокой емкости до сих пор выглядит достаточно дорогим по мнению многих пользователей. А еще какая-то часть пользователей вообще не может позволить себе покупку SSD, так что до сих пор вполне массово продаются компьютеры только с механическими накопителями. Собственно, заменить все HDD на SSD не представляется возможным (пока столько флэш-памяти не производится в принципе), поэтому разговор идет в лучшем случае о симбиозе. Но этот симбиоз чреват сложностями при выборе и последующем размещении информации: надо понять, сколько «горячих» данных есть, выбрать подходящий SSD, купить, настроить и в дальнейшем следить за тем, чтобы на нем «лежало» только то, что «нужно», и не оказывалось того, что не нужно (ибо это более дорогое место, чем винчестер).

Есть ли альтернативные варианты? Да, есть. Альтернативный подход давно используется во «взрослом» мире, причем и в персоналках он применялся даже раньше, чем вышли первые потребительские SSD: это кэширование. За прошедшее время подобных технологий миру было явлено много, все со своими достоинствами и недостатками, но сейчас все вспомнили про Intel Smart Response. А вспомнили потому, что, разработав память нового типа (Optane Memory), в Intel позиционируют ее в т. ч. и для работы в качестве кэша системы. Актуальность чего, повторимся, не пропала — до сих пор огромное количество компьютеров продается только с одним винчестером в составе. С другой стороны, если покупатели не желают тратить деньги на SSD на базе NAND-флэша, то зачем им более дорогой и менее емкий Optane? Тем более, что выводы об эффективности кэширования можно сделать и на основе технологии Smart Response — практически скончавшейся, и неспроста. Значит, и новая технология «не взлетит»? На последний вопрос мы ответить не готовы — тут все зависит от очень многих факторов. Пока же просто посмотрим с теоретической точки зрения, что собой представляла Smart Response и как работает Optane Memory.

Smart Response — простой неупреждающий кэш

Отметим, что формально технология Smart Response продолжает жить и существовать. Не так давно Intel расширила сферу ее применения и на NVMe-накопители, поэтому ничто не мешает ускорить работу какого-нибудь медлительного SSD типа Intel 600p при помощи Optane Memory. И для этого, кстати, нет необходимости в чипсете «двухсотой» серии — в отличие от собственно использования Optane Memory «по прямому назначению». То есть положение дел уже прямо намекает на то, что между технологиями мало общего.

Изначально же Smart Response была ориентирована на обычные SATA-устройства и реализована полностью программно. Работала она не на всех чипсетах Intel —, но лишь потому, что функциональность драйверов и прочего ПО Intel зависит от того, на каком «железе» их запускают. По сути своей, Smart Response позволяла объединить любой винчестер и любой SSD емкостью от 20 до 60 ГБ в массив, напоминающий по своей организации RAID1, т. е. «зеркало». С той лишь разницей, что вся информация всегда находилась на винчестере, а на твердотельный накопитель попадали только «горячие данные». Для этого, естественно, постоянно приходилось анализировать все операции, да и ошибок избежать было сложно — как показали наши тесты, скорость выполнения дисковых операций иногда снижалась.

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

Операции записи при подобном подходе всегда вызывали проблему. Компания реализовала два механизма работы кэша: с прямой и отложенной записью. В первом (Enhanced) никакая буферизация записи не проводилась: данные всегда сразу же записывались на винчестер, а во флэш могли попасть лишь потом, по решению драйвера (могли, конечно, и сразу). Но даже если нужные секторы имелись в кэше и мы их просто модифицировали, то измененные данные все равно нужно было сразу записать на винчестер. Соответственно, операции записи Smart Response в этом режиме (выбранном по умолчанию) ускорять не пытался и не мог.

Режим Maximized всегда записывал данные на твердотельный накопитель, а потом уже в свободное время и большими блоками синхронизировал их с винчестером. Такой подход в принципе позволял «пришпорить» и запись, но… Во-первых, из кэша при этом могли быть вытеснены полезные данные, причем данными бесполезными — которые планировалось один раз записать и больше к ним не обращаться. Во-вторых, рано или поздно информацию нужно все-таки записать на винчестер —, а ведь он при этом мог уже заняться и другими операциями. «Лишний» же поток данных механическим накопителям противопоказан, что не раз было проверено. В общем, именно по этой причине «базовым» режимом был Enhanced, и операции записи выполнялись не быстрее, чем вообще без Smart Response. А из-за накладных расходов на их анализ — еще и медленнее. То есть ускорялись лишь некоторые сценарии, и не с первого раза. А предсказуемости производительность «ускоренной» системы вообще не демонстрировала.

Optane Memory — не только Optane и не только Memory

Если теперь внимательно взглянуть на новую кэширующую технологию, то становится ясно, что от Smart Response ее отличает… буквально все. Установленный в систему накопитель по умолчанию является простым SSD с интерфейсом PCIe 3.0×2, но при включении Optane Memory и он, и SATA-контроллер переходят в особый режим работы. Связано это с тем, что сейчас, по сути, получается тоже нечто похожее на RAID-массив, но не «зеркало», а RAID0. Если какая-то информация попала на SSD, то ее уже заведомо нет на винчестере — она окажется на нем только при вытеснении данных с твердотельного накопителя. Соответственно, ускоряется вся работа с «горячими данными» — и чтение, и запись. В последнем случае нам вообще не нужно ждать, пока все запишется на винчестер или «отвлекать» его впоследствии от своих занятий. То есть все эквивалентно работе SSD и винчестера по отдельности —, но с автоматическим переносом (не копированием!) информации между накопителями.

Отметим, что покупателям младшей версии Optane Memory емкостью 16 ГБ доступен лишь все тот же посекторный режим работы, а в полную силу технология разворачивается при 32 ГБ (сейчас это максимальная емкость накопителей Optane Memory, но мы не удивимся, если со временем компания будет расширять модельную линейку по мере снижения стоимости памяти). В последнем случае весь анализ будет проводиться уже с учетом реальной файловой системы, благо на данный момент мощность компьютеров достаточна для того, чтобы такая фоновая активность была незаметна. Соответственно, при удачном стечении обстоятельств файлы в кэш будут попадать целиком и сразу, а не кусочками. Более того, есть список часто запрашиваемых системных файлов Windows, которые отправятся на Optane сразу после включения кэширования, так что эффект ускорения можно будет заметить после первой же перезагрузки.

Таким образом, даже технологически Optane Memory радикально отличается от Smart Response. Вопрос не только в интерфейсе и типе памяти, но и в логике работы. Да и еще кое в чем немаловажном…

На рынок нужно приходить вовремя

Вряд ли кто-то будет спорить, что технология Smart Response на рынок просто опоздала, что и оказалось ее главной проблемой. Технические проблемы — техническими, но наличия ускорения (пусть не тотального) никто не отрицал. Просто SSD… слишком быстро подешевели.

Действительно, Intel начала работу над этим вариантом кэширования еще в конце нулевых — тогда гигабайт флэша, как уже было сказано выше, стоил порядка $10. Но на рынок-то Smart Response вышла лишь в середине 2011 года — когда цены снизились уже примерно до $3 за гигабайт. Да и то старт оказался сильно ограниченным, что тоже сыграло свою роль, но об этом чуть позже. А о более-менее массовой доступности систем со Smart Response стало возможно говорить лишь спустя год-два как минимум — когда цены начали штурмовать психологическую отметку в $1 за гигабайт. Причем поскольку снижение цен происходило в основном за счет увеличения плотности новых микросхем, цена накопителей зависела (да и сейчас зависит) от объема нелинейным образом — чем больше, тем относительно дешевле. В практическом смысле это привело к тому, например, что уже в 2013 году твердотельные накопители на 32 и 128 ГБ по цене различались всего в два раза, а в абсолютных цифрах вся экономия скукоживалась до примерно $50. А что такое 128 ГБ? Это емкость, достаточная для операционной системы и определенного количества прикладных программ. У многих пользователей при этом еще и на хранение данных место остается даже сейчас, а тогда — тем более. Но, конечно, все прочие данные на 128 ГБ все-таки не влезают — иначе вообще не о чем было бы говорить. В итоге перед пользователями стоял выбор:

  • Купить только винчестер. Медленный, но привычно медленный — большинство ничего другого до этого и не видело. Зато дешево и никаких проблем.
  • Купить винчестер и кэширующий SSD. Получить некоторое ускорение, но непредсказуемое — и весь букет потенциальных проблем тоже. Доплатить по сравнению с предыдущим случаем нужно всего $50 (на самом деле, возможно, и больше, но об этом ниже).
  • Купить винчестер и небольшой SSD для операционной системы и прикладных программ (по крайней мере, части этих программ). Самый дорогой вариант, зато предсказуемый и гарантированно быстрый.
  • В итоге самые экономные пользователи выбирали первый вариант, а энтузиасты — третий. Второй можно было как-то продавать, но, в основном, только в законченных системах. Например, покупает человек ноутбук —, а там винчестер и кэширующий SSD. Но даже в этом случае некоторые предпочитали просто менять винчестер на твердотельный накопитель в более дешевой модификации. Либо изыскивали способ поменять маленький кэширующий SSD на большой (по емкости) отдельный SSD. В общем, снижение стоимости твердотельных накопителей идею с кэшированием сделало малопривлекательной. Не будь это снижение столь быстрым — результат мог бы измениться.

    Optane Memory выходит на рынок немного в других условиях: аналогичных по характеристикам дешевых потребительских накопителей достаточной емкости в ближайшее время не ожидается. А если не разовьются какие-то альтернативные технологии, то и вовсе все будет в руках Intel и Micron как единственных производителей памяти такого рода. Остается, конечно, конкуренция с традиционными SSD на базе NAND-флэш, но вот она-то будет сильно зависеть от технической стороны дела. Иными словами — от того, насколько хорошо будет работать новый метод ускорения с винчестерами. Возможно, он окажется применим и с бюджетными, но неторопливыми твердотельными накопителями высокой емкости — их тоже можно ускорять, особенно в случае операций записи, с которыми TLC-память справляется небыстро. Smart Response тут ничем помочь не могла — Optane Memory может. А подобная «подстава с ценами», какая случилась с NAND-флэш, для Optane маловероятна.

    Проблемы совместимости — действительные и мнимые

    Еще до физического появления новых кэширующих накопителей многие пеняли им на ограниченную сферу применения. Действительно: только чипсеты Intel 200-й серии, только процессоры Core седьмого поколения и только Windows 10. Это и правда ограничения, но от некоторых никуда не деться — особый режим работы требует специальной поддержки и со стороны чипсетов. В 200-й серии нужное есть, в предыдущих не было, конкуренту в лице AMD тоже никто не мешает реализовать нечто подобное либо лицензировать и использовать разработку Intel. Модернизация старых систем таким образом невозможна, но она никогда и не была массовой. А к моменту, когда с технологией все разберутся, продаваемые сейчас платы станут не такими уж и новыми. Все, что от них требуется — слот М.2, подключенный к чипсету, хотя вполне возможно, что и «обычные» слоты для карт расширения с переходником справятся (это мы проверим, разумеется). Но слоты М.2 есть на многих платах, причем это стало модной тенденцией еще до появления новых чипсетов. А на топовых платах нередко можно увидеть и пару таких слотов, так что, вполне возможно, в будущем удастся соорудить мощную систему из быстрого NVMe-накопителя, емкого винчестера и… Optane Memory для ускорения последнего. Если будет ощутимый эффект — порадуются, например, геймеры: современные игры уже занимают десятки гигабайт, так что держать их на системном SSD «жалко» (а то и невозможно), и немного «пришпорить» винчестер полезно. Заметим, что пока Intel официально говорит лишь об ускорении системного накопителя, однако информация о практической реализуемости не поддерживаемых официально конфигураций уже появилась, и в скором будущем мы ее проверим.

    А что было с совместимостью у Smart Response? Все то же самое, но еще хуже. Первым и долгое время единственным чипсетом с поддержкой данной технологии был Intel Z68. Топовый и… не слишком нужный: вышедший ранее Р67 поддерживал разгон, все остальные чипсеты линейки — встроенное видеоядро процессоров, а таких пользователей, которым нужно было и то, и другое, в заметных количествах не водилось. Годом позже вышли пригодные для Smart Response Z77 и H77, но и они были самыми дорогими в линейке. В середине 2013 года платформа LGA1155 начала cменяться на LGA1150, но и в линейке чипсетов для новой платформы Smart Response поддерживали только старшие модификации. А теперь вспоминаем цены, приведенные выше: вся экономия при покупке SSD на 32 ГБ вместо 128 ГБ составляла порядка $50, но чтобы использовать первый в качестве кэширующего, нужно было переплатить за материнскую плату — примерно те же $50, а то и больше. И смысл? Просто винчестер или винчестер вместе с SSD можно было использовать в любой системе. Optane Memory — тоже практически в любой, разве что самый дешевый H110 из настольных чипсетов не подойдет, но он как раз из старого семейства.

    Кстати, была еще одна проблема: Smart Response работала только в RAID-режиме контроллера. Соответственно, при установке ОС ей требовалось «скормить» драйвер, а добавить кэширование к уже сконфигурированному и настроенному компьютеру… Чаще всего это требовало смены режима SATA-контроллера с AHCI (выбираемого по умолчанию) на RAID: это не невозможно, но простого выбора пункта меню в BIOS Setup недостаточно. Привлекательности технологии это не добавляло: мало того, что нужно было заранее приобрести систему на дорогой плате, так потом еще и проходить через трудности с настройкой. Куда проще было добавить отдельный SSD.

    Сейчас всего этого не будет. Если человек приобретает новый компьютер или хотя бы плату с процессором и памятью для модернизации старого, ему подойдет и недорогой чипсет В250, а также любой Core i3 (к горю умножадных, Pentium «в пролете», хотя технически от Core i3 он уже почти не отличается благодаря поддержке Hyper-Threading). Решает через некоторое время ускорить систему, которой мешает единственный винчестер? Не проблема: покупаем накопитель, устанавливаем, включаем режим Optane Memory в BIOS Setup, устанавливаем ПО. И всё, можно пользоваться. Как оно, собственно, и должно быть.

    Итого

    Итак, как видим, Optane Memory принципиально отличается от Smart Response по многим параметрам. Это действительно новая технология кэширования, а не перенос старых принципов на новый тип памяти. В принципе, реализовать нечто подобное можно и на NAND-флэш — мешает только то, что агрессивная запись в случае использования памяти с низким ресурсом и при небольшом объеме накопителя может быстро вывести его из строя. Optane для такой работы подходит лучше. Да и продвигать новую память Intel нужно, а для простых потребительских SSD она пока дороговата. А дальше все будет зависеть от практики использования — размера и стабильности прироста производительности. Но этот вопрос нужно изучать предметно — делать выводы на основании предыдущих технологий такого плана не имеет смысла.

    Комментирование и размещение ссылок запрещено.

    Комментарии закрыты.