• Все об ssd накопителях. Можно ли эффективно использовать SSD без поддержки TRIM? Поддерживаемые технологии и функция TRIM


    SSD, или твердотельный накопитель, сильно отличается от классических жестких дисков по принципу внутреннего устройства и работы, поэтому некоторые операции, которые можно делать на HDD, на SSD могут привести к ухудшению быстродействия и излишней трате ресурса накопителя. О таких операциях и поговорим с этой статье.

    Не следует использовать для подключения SSD интерфейс SATA 2 или SATA 1

    Данная особенность касается в основном старых компьютеров и ноутбуков. Дело в том, что современные твердотельные накопители имеют скорости чтения и записи на уровне 500-600 МБ/с, что близко к пределу SATA 3 в 6 Гб/с (750 МБ/с), но все же меньше его - поэтому SSD, подключенные по такому интерфейсу, смогут работать на максимальных скоростях. В случае же с SATA 2 и 1 их пропускные способности всего 3 и 1.5 Гб/с (соответственно 375 и 187.5 МБ/с), поэтому подключенные по ним SSD не смогут работать на полных скоростях, хотя прирост скорости в сравнении с обычными жесткими дисками все равно будет (так как у SSD сильно меньше задержка, да и скорости пользовательских HDD находятся на уровне всего 100 МБ/с). В случае со старыми материнскими платами ничего не сделаешь - придется подключать SSD к старым ревизиям SATA. А вот в случае с ноутбуками можно сделать хитрее: часто для добавления SSD в систему используют Optibay - коробку, в которую помещают накопитель и устанавливают на место дисковода:


    При этом дисковод обычно работает по интерфейсу SATA 2, когда жесткий диск в ноутбуке подключен по SATA 3. Поэтому имеет смысл SSD поставить на место HDD, чтобы он мог работать с максимальной скоростью, а жесткий диск поставить в Optibay, потому что скорости SATA 2 ему более чем хватит.

    Не следует делать дефрагментацию SSD

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

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

    Не следует использовать SSD в Windows XP, Vista и других системах, не поддерживающих TRIM

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



    Не следует полностью заполнять SSD

    На любом SSD всегда есть заполненные блоки, частично заполненные блоки и пустые блоки. В пустой блок скорость записи максимальна - не нужно проводить никаких дополнительных операций. А вот если блок частично заполнен, то для записи в него приходится сначала переносить изначально записанную на него информацию в кэш, изменять ее, дополняя новой, и только потом записывать из кэша обратно в блок - все это занимает время и в результате сильно снижает скорость работы с накопителем. Соответственно пока на SSD есть свободные блоки - система записывают информацию в них и скорость записи высока. Когда они кончаются - начинается запись в частично заполненные блоки и скорость сильно падает. Практика показывает, что SSD несильно теряет в скорости, если он занят не более чем на 80% - то есть на накопителе в 240 ГБ стоит оставлять около 50 Гб свободно.

    Не следует использовать SSD как хранилище больших объемов данных

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

    Сейчас основные отличительные черты быстрого компьютера — это мощный процессор, большой объём оперативной памяти и твердотельный накопитель. Тем не менее, многие пользователи при подборе комплектующих для своего нового компьютера затрудняются в выборе: стоит покупать SSD-диск или всё же взять обычный HDD? Яркий пример из жизни: у одного моего товарища фирма и системный администратор заказал партию компьютеров, заменив классический жесткий диск на твердотельный ССД. Встал вопрос — а правильный ли выбор в данной ситуации сделал сисадмин?!

    Да! Выбор сделан правильный и сейчас поясню почему.

    Что из себя представляет SSD?!

    Если говорить простым и понятным для рядового пользователя языком, то типичный SSD диск является по сути флешкой большого объёма, использующей модули энергонезависимой памяти NAND и подключенной через высокоскоростной интерфейс SATA или PCE-Express.

    Вот основные сравнительные характеристики твердотельного накопителя ССД и классического жесткого диска:

    Параме т р SSD (твердотельный накопитель) HDD (обычный жесткий диск)
    Энергопотребление / срок службы батареи ноутбука Меньше энергопотребление — в среднем 2 — 3 Вт. За счёт этого батарея работает минимум на 30 минут дольше Больше потребляемой мощности, в среднем 6 — 15 Вт, сильнее потребляет заряд батареи
    Стоимость Дорого, примерно 0,20 доллара за гигабайт (на основе покупки 1 Тбайт) Только около $ 0,03 за гигабайт, очень дешево (покупка модели 4 ТБ)
    Вместимость Обычно не более 1 ТБ для ноутбуков; 4TB для настольных компьютеров Обычно около 500 ГБ и 2 ТБ для ноутбуков; 10 ТБ для настольных компьютеров
    Время загрузки операционной системы Около 10-13 секунд среднее время загрузки Среднее время загрузки составляет около 30-40 секунд
    Шум Нет движущихся частей и как таковых нет звука Звуковые щелчки и поворот можно услышать
    вибрация Отсутствие вибрации, поскольку нет движущихся частей Вращение пластин может иногда приводить к вибрации
    Теплопроизводительность Более низкая потребляемая мощность и отсутствие движущихся частей, поэтому ССД практически не греется Жесткий греется ощутимо сильнее из-за движущихся частей и более высокой мощности
    Интенсивность отказов Среднее время между частотой отказов 2,0 миллиона часов Среднее время между частотой отказов 1,5 миллиона часов
    Скорость копирования файлов / записи Обычно более 200 МБ / с и до 550 МБ / с для режущих дисков Диапазон может быть от 50 до 120 МБ / с
    Шифрование Полное шифрование диска (FDE) Поддерживается на некоторых моделях
    Скорость открытия файла До 30% быстрее, чем жесткий диск Медленнее, чем SSD
    Воздействие магнитного поля SSD безопасен от любых эффектов магнетизма Сильные магниты могут стереть данные

    Если вкратце подвести итог таблицы, то ССД лёгкий, быстрый, с небольшим потреблением, но в то же время дорогой и имеет пока ещё меньший объём за сходную цену.

    А есть ли смысл покупать SSD?!

    Чтобы дать на это точный ответ, сначала нужно определится что пользователь хочет получить от покупки?!

    Объём информации. Особенную актуальность теме придаёт тот факт, что сейчас по цене твердотельного накопителя объёмом 240-260 Гигабайт можно приобрести обычный хард на 1-2 Терабайта. Вот только нужен ли сейчас такой объём для компьютера или ноутбука? Для офисного ПК, где работа идёт в основном с документами и проектами, а всё важное хранится на сетевых диска, Терабайты не нужны в принципе. Там важнее скорость.

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

    Скорость работы с данными. Теперь отдельно давайте поговорим о скорости. За счёт использования твердотельного накопителя Ваш ноутбук или компьютер будет за несколько секунд загружать операционную систему, значительно быстрее запускать программы и приложения, сохранение файлов и проектов будет выполняться мгновенно!

    SSD для игр. Но не стоит ждать, что использование ССД-драйва заставит игры «летать», как это думают многие начинающие юзеры. От его использования не поднимется количество FPS в игре и качество графики не улучшится. Он на это не способен повлиять абсолютно никоим образом! Сетевые игры тоже не ускорятся, так как там скорость зависит в основном от канала доступа в Интернет. А вот кешированные файлы и данные, хранящиеся локально, будут подгружаться значительно быстрее.

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

    Резюме

    Итак, если Вы ещё не определились для себя стоит покупать SSD или не стоит, то мой вердикт однозначен — стоит. Эти устройства быстрые и надёжные, а объёма в 240-520 Гбайт в принципе хватит под любые задачи. Да, дороговато, зато и эффект на лицо! За ними будущее. Эпоха обычных винчестеров постепенно проходит и уже не за горами день, когда их просто перестанут изготавливать!

    До недавнего времени для хранения данных использовались носители, работающие по принципу магнитной записи. В 70-80-х годах ушедшего века ими являлись гибкие дискеты, которые затем уступили более надежным и вместительным жестким дискам. Такое положение дел наблюдалось до конца прошлого десятилетия, пока на рынке не появились SSD – твердотельные электронные носители, лишенные подвижных механических частей и отличающиеся высоким быстродействием.

    Первое время они отличались небольшой емкостью и высокой ценой. Срок службы этих девайсов тоже оставлял желать лучшего. Поэтому на вопрос, зачем нужен SSD накопитель, однозначного ответа не было. При объеме 32 или 64 Гб и цене в несколько сотен долларов эти носители казались большинству дорогой игрушкой. А незначительное преимущество в скорости записи/чтения (до 1,5-2 раз) делало SSD интересными только для «гиков», стремящихся выжать максимум производительности из своего ПК.

    Но прогресс не стоит на месте, и вскоре в продажу поступили более емкие и доступные твердотельные накопители, которые привлекли внимание широкой аудитории. Вопрос о том, зачем нужен жесткий диск SSD, стал актуальным, как никогда.

    Особенности конструкции, преимущества дисков SSD

    Чтобы понять, зачем ставить SSD накопитель, необходимо разобраться с основными преимуществами таких дисков. Не помешает знать и главные недостатки этих гаджетов.

    Конструкция дисков HDD и SSD

    Самым главным отличием SSD от традиционных жестких дисков является иной принцип устройства и работы. В отличие от НЖМД, в конструкции твердотельных носителей нет каких-либо механических компонентов. Для записи данных используются массивы высокоскоростной флэш-памяти, доступ к которой обеспечивает внутренний контролер. Такая конструкция наделяет SSD рядом преимуществ, недоступных классическим HDD.

    • Бесшумность . Благодаря отсутствию подвижных элементов, в процессе работы SSD не издает звуков.
    • Устойчивость к встряскам . В отличие от HDD, где в процессе перемещения устройства или падения магнитная головка может поцарапать поверхность диска (тем самым повредив ее и хранящиеся данные), SSD меньше уязвим. Конечно, вследствие удара по корпусу может произойти нарушение контакта между компонентами, но накопитель, спрятанный внутри компьютера или ноутбука, защищен от этого в достаточной мере.
    • Малое энергопотребление . Основной потребитель энергии в ЖД – это мотор, приводящий в движение диски. Он вращается со скоростью 5, 7 или 10 тысяч оборотов в минуту и расходует до 95 % всей электроэнергии, поданной на накопитель. Таким образом, SSD является до 10 раз более экономным, что особо актуально для тонких ноутбуков.
    • Высокая скорость чтения/записи . Магнитный метод записи данных достиг предела совершенства. Больше 100-200 Мб/сек в режиме последовательной записи, без снижения срока службы, наращивания габаритов, увеличения энергопотребления и роста цены, получить от жесткого диска невозможно. Флэш-память SSD не имеет данного минуса и работает до 10 раз быстрее.
    • Стабильная скорость работы . Если информация на традиционном ЖД записана на физически разные диски (их конструкции HDD 2 и более) или их участки – происходит задержка, вызванная необходимостью перемещения считывающей головки. Скорость работы из-за этого значительно снижается. Аналогичная задержка при чтении ячеек массива флэш-памяти SSD составляет миллионные доли секунды и не влияет существенно на общую производительность.

    Недостатки SSD

    При всех преимуществах, говорить о совершенстве технологии SSD говорить пока рановато. Недостатками таких накопителей являются недостаточно низкая стоимость (в 3-10 раз дороже HDD в пересчете на 1 Гб памяти) и ограниченный ресурс работы (от 10 тысяч до 1 миллиона циклов перезаписи на ячейку). Этот показатель у HDD теоретически является неограниченным, а на практике достигает десятков миллионов циклов.

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

    SSD накопители – зачем они нужны

    Зная основные преимущества твердотельных накопителей, ответить на вопрос «Зачем нужен SSD диск в компьютер?» намного проще. Покупка данного гаджета позволит, в первую очередь, повысить комфортабельность использования гаджета и продлить время его автономной работы (если это портативный ПК). Высокая скорость работы положительным образом скажется на времени загрузки ОС, открытия документов и производительности в играх.

    Зачем SSD диск нужен в ноутбуке

    Если дело касается ноутбука, то здесь вопрос «зачем нужен SSD» вообще можно не ставить на обсуждение. В любом случае, хуже от покупки твердотельного носителя не станет. Энергоэффективная технология позволит достичь большего времени работы от одной зарядки, отсутствие в питающих цепях высокого напряжения минимизирует риск безвозвратного выхода диска из строя при поломке БП, а объем памяти в портативном ПК не играет столь важной роли, как в настольном.

    Что касается меньшего ресурса работы, опыт сервисных центров показывает: жесткий диск ноутбука выходит из строя и подвергается преждевременному износу в несколько раз чаще и быстрее, чем в стационарном компьютере. Связанно это, в первую очередь, со значительно большим количествам динамических нагрузок, которым подвергается девайс в ходе транспортировки и эксплуатации. Случайно уронив лэптоп с коленок в момент, когда происходит запись данных на HDD, велик риск вывести накопитель из строя, даже если визуально компьютер не пострадал. Поэтому высока вероятность, что SSD прослужит даже больше, чем ЖД.

    Зачем SSD диск в геймерском ПК

    Геймеры — основная, на данный момент, часть покупателей SSD. Применение твердотельного накопителя позволяет им добиться лучшей производительности в трехмерных играх за счет сокращения времени их запуска. Подгрузка уровней, инвентаря, окружающих объектов и других элементов игрового мира из файлов, хранящихся на диске, тоже происходит значительно (до 10 раз) быстрее.

    Заметна разница в «бесшовных» играх, таких как Skyrim, Grand Theft Auto или Fallout. Внутренний мир в них располагается на одной огромной карте, и для уменьшения загрузки на железо в оперативной памяти хранится лишь его часть. Это может быть обстановка, к примеру, в радиусе 200 метров вокруг персонажа. По мере продвижения по местности, отдаляющиеся предметы из ОЗУ удаляются, а на их место записываются объекты, в сторону которых игрок приближается. Таким образом, чтение с жесткого диска происходит постоянно и нетрудно догадаться, что подавать данные процессору SSD позволит гораздо быстрее и эффективнее, чем ЖД.

    Для геймеров высокая стоимость гигабайта в твердотельном накопителе не является критичной, так как игры занимают относительно немного места. Если коллекция из 100 фильмов в качестве FullHD весит примерно 1 Тб, тот же Fallout 4 требует менее 50 Гб свободного пространства.

    Зачем нужен жесткий диск SSD в мультимедийном компьютере

    В домашнем ПК, используемом для веб-серфинга и решения мультимедийных задач (просмотр кино, прослушивание музыки) SSD накопитель нужен меньше всего. Потребность в таком диске могут испытывать только ценители контента в качестве Blue-Ray. Ждать, пока фильм, объемом 40 Гб, запишется в память ПК, достаточно долго (примерно 10 минут). Но для хранения подборки любимого кино в FullHD, QHD или 4K UHD требуются вместительные SSD на 500, 1000 или 2000 Гб. Стоимость таких накопителей превышает тысячу долларов, и позволить себе такое приобретение может далеко не каждый.

    Для нетребовательных пользователей ПК большой SSD в мультимедийном компьютере без особой надобности. Возможностей классических (магнитных) жестких дисков достаточно для удовлетворения потребностей 99 % юзеров. Тем не менее, небольшой (на 64 – 128 Гб) твердотельный накопитель, используемый в качестве системного носителя (для установки Windows), будет не лишним. Он позволит значительно повысить общее быстродействие ПК, снизить уровень шума системного блока и экономнее расходовать электроэнергию.

    Большой поклонник качественной китайской техники, любитель четких экранов. Сторонник здоровой конкуренции между производителями. Чутко следит за новостями в мире смартфонов, процессоров, видеокарт и другого железа.

    Вынесенный нами в заголовок вопрос довольно часто занимает умы системных администраторов. Действительно, что лучше, собрать из твердотельных дисков RAID массив, но потерять поддержку TRIM, или отказаться от отказоустойчивости в пользу высокой производительности? Ситуация усугубляется еще и тем, что немногие реально представляют себе механизмы внутренней работы SSD и ориентируются более на маркетинговые материалы, чем на реальную техническую необходимость.

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

    Чтобы понять, для чего нужен TRIM и что это, раздутый маркетологами термин или насущная необходимость, разберемся как работает SSD. Мы не будем вдаваться в технические подробности и сознательно упростим модель до уровня достаточного для понимания происходящих процессов.

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

    Физически пространство SSD делится на страницы, которые являются минимально адресуемым участком памяти, для того, чтобы изменить ячейку памяти, необходимо считать страницу, изменить в ней необходимые данные и записать ее на прежнее место. Здесь возникает первая сложность, в отличие от HDD, в SSD писать можно только в заранее очищенные ячейки. При этом технически очистить отдельную страницу нельзя, очистке подвергаются только группы страниц, объединяемые в блоки.

    Размеры страниц и блоков зависят от конфигурации памяти конкретного SSD, но, как типичное, можно принять значение 4 КБ для страницы и 512 КБ для блока. А теперь представим, что мы открыли файл и изменили в нем 100 байт данных. Для HDD проблемы нет, он считает нужный сектор (512 байт), изменит данные и перезапишет его. В реальности будет все немного по-другому, так как минимально адресуемым пространством ФС является кластер, то HDD перезапишет соответствующее количество секторов, но никаких дополнительных накладных расходов это не вызовет.

    А вот SSD не может взять и просто так записать измененные данные. Для этого ему потребуется считать куда-то весь блок, очистить его и вернуть все данные назад. Поэтому вместо изменения и записи 4 КБ данных SSD придется записать 512 КБ данных, что не самым лучшим образом скажется на ресурсе ячеек. Кроме того, операция стирания ячеек достаточно медленная, по сравнению с записью в чистые ячейки и именно необходимостью стирания перед записью объясняется деградация производительности SSD.

    Чтобы решить эту проблему в SSD применяется алгоритм "копирование при записи". Суть его заключается в следующем: при необходимости записи уже существующей страницы, она копируется в свободные ячейки, а сама помечается как доступная к очистке.

    Это позволяет SSD сразу записывать измененные данные, не вызывая каждый раз процедуру очистки и не перезаписывая остальные данные блока. Это будет продолжаться до тех пор, пока не кончатся свободные ячейки.

    Несложно заметить, что через некоторое время на диске вперемешку окажутся свободные, занятые и доступные к очистке страницы. Здесь вступает в действие алгоритм внутренней оптимизации, именуемый "сборкой мусора". Он перемещает данные на SSD таким образом, чтобы сгруппировать доступные к очистке страницы в отдельные блоки и очистить их.

    Именно от эффективности данного механизма зависит, как долго диск сможет поддерживать высокую производительность при интенсивной записи на него. Основное условие высокой скорости записи на SSD - это наличие свободных ячеек. Эффективность алгоритма уборки мусора отвечает за то, как быстро доступные к очистке ячейки будут становиться свободными.

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

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

    Заметьте, мы до сих пор ни словом не обмолвились о команде TRIM. Может быть это какая-то передовая технология, включение которой поможет резко изменить ситуацию? К сожалению - нет! Для чего тогда нужен TRIM?

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

    В этом случае SSD будет полностью считывать блок в память, очищать его и заново записывать измененные данные.

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

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

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

    Если мы разместим на SSD базу данных или виртуальный жесткий диск и будем активно работать с ними, то никакой TRIM нам не нужен. Если на диске достаточно свободных ячеек и эффективно работает сборщик мусора - производительность будет поддерживаться на высоком уровне. Падение производительности произойдет только тогда, когда количество свободных ячеек уменьшится и сборщик мусора не будет успевать очищать их в необходимых количествах. Это может произойти при использовании всего доступного пространства диска и TRIM на это никак повлиять не может.

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

    Здесь самое время вспомнить про корпоративные серии SSD, которые зачастую не блещут производительностью, но зато предлагают высокую надежность и поддерживают эффективную работу даже без поддержки TRIM. За счет чего это происходит? За счет большего размера резервной области. Это позволяет всегда иметь достаточный запас свободных ячеек и благотворно сказывается на эффективности работы сборщика мусора. Так как пользователь не может непосредственно писать в резервную область, то в ней могут быть страницы только трех видов: свободные, занятые и доступные к очистке. Занятых страниц, которые ФС считает свободными, там быть не может.

    Обычные SSD имеют размер резервной области в 6-7% от емкости диска, этого размера явно недостаточно для поддержания высокой производительности, корпоративные диски имеют гораздо больший объем резервной области, что напрямую сказывается на их стоимости. Это позволяет им уменьшить износ каждой доступной пользователю ячейки и эффективно работать в RAID-массивах без поддержки TRIM. Хотя если вы заполните твердотельный накопитель "под завязку", то никакой TRIM вам не поможет.

    А что делать владельцам обычных или "корпоративных" бюджетных дисков? Ответ прост - обеспечить диск достаточным количеством свободных ячеек. Самый простой способ сделать это - разметить не всю доступную емкость диска. Как показывает практика - резерв в 20-25% емкости накопителя позволяет эффективно использовать даже полностью заполненный диск без поддержки команды TRIM.

    Чтобы убедиться в этом, мы провели небольшой эксперимент. Взяли старый SSD OCZ Agility 2 , алгоритмы уборщика мусора которого в разы уступают современным алгоритмам, полностью заполнили его на системе без поддержки TRIM, затем еще раз сделали тоже самое, только создав "резервную область" в 25% емкости накопителя.

    Итак, диск очищен при помощи команды Secure Erase фирменной утилитой и все его ячейки являются свободными. Снимаем показатели быстродействия при помощи AS SSD Benchmark .

    Синтетика:

    Сценарии реального использования:

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

    После чего мы подключили его к виртуалке под управлением Windows Server 2003 и полностью заполнили, затем удалили все данные и вернули назад. Несмотря на то, что Windows 8.1, в которой мы производим замеры, есть поддержка TRIM - это ни на что не влияет, так как принудительно данную команду никто не посылал, а Windows 8.1 сделает это не раньше, чем запишет и удалит данные и то, только для этих страниц.

    Деградация производительности на лицо:

    Проседание производительности от 20 до 50% в синтетике и 30-35% в сценариях:

    Теперь снова выполним Secure Erase и разметим не все пространство диска, выделив под резерв 25%:

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

    Затем снова заполним диск в среде Windows Server 2003 и удалим данные, после чего еще раз выполним тест:

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

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

    За то, с какой скоростью диск и как эффективно диск способен очищать блоки, отвечает уборщик мусора. Более эффективный алгоритм уборщика позволяет использовать меньший размер резервной области.

    Также следует помнить, что в большинстве серверных сценариев команда TRIM просто не требуется, поэтому если выбирать приходится между RAID без TRIM или одиночный диск с TRIM, выбирать следует первое. Тем более, что обеспечить высокую производительность диска несложно самостоятельно.

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

    Когда весь интернет пестрит холиварами на тему «SSD ненадежны» и «SSD настолько быстрые, что я больше никогда не буду работать с HDD», думаю самое время внести немного ясности в то море противоречевой информации о самих SSD и о настройке Windows для работы с ними.

    Кто заинтересовался, прошу под кат.


    Вот я и стал счастливым обладателем этого чуда современной техники: OCZ Vertex 3 120 Gb. Сначала я загрузился в старой системе и обновил прошивку SSD, т.к. программа прошивки от OCZ не позволяет обновлять прошивку, когда диск является системным. Думаю, обновление прошивки – это первое, что нужно сделать после приобретения SSD, т.к. как показывает практика, ошибок в микропрограммах предостаточно, особенно в новых моделях SSD (по сравнению с которыми Vertex 3 уже и не самый новый:)).
    Далее я решил поставить на SSD чистую систему. Установка Windows 7 с флешки (USB 2.0) заняла где-то минут 10. Вау, подумал я, раньше установка некоторых тяжелых программ шла гораздо дольше, не говоря уж об операционной системе!

    С этого момента можно было просто начать пользоваться супер быстрым диском и радоваться жизни, но меня не покидало параноидальное чувство, что мой SSD быстро сломается из-за частых перезаписей. Действительно, ограниченное количество циклов перезаписи SSD – это пока еще не миф. Но все уже знают, что даже ресурс в 10000 перезаписей – это очень и очень много при объеме диска в 120 Gb. В зависимости от контроллера SSD также может применять различные внутренние технологии выравнивания износа , релокации данных из одного места в другое, сжатия записываемых данных (актуально для контроллеров SandForce) – диск старается изо всех сил, чтобы работать быстро и долго:) Как либо повлиять на эту внутреннюю логику практически невозможно (разве что обновлением прошивки), поэтому при выборе SSD под какие-то особые задачи нужно искать информацию по логике работы его контроллера.

    Для тех, кто особо заботится о диске и бережет его, в интернете имеется масса советов, как снизить нагрузку на диск по записи со стороны операционной системы. Эти советы можно разделить на полезные, вредные и спорные.

    1) Перенос каталога для временных файлов на обычный (HDD) диск
    Пути к каталогам TEMP находятся тут:
    Компьютер – Свойства – Дополнительные параметры системы – вкладка Дополнительно – Переменные среды – TMP и TEMP (для текущего пользователя и общие).

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

    2) Отключение гибернации
    Это довольно странный совет. С одной стороны, отключение гибернации позволяет избавиться от файла hiberfil.sys, размер которого равен объему оперативной памяти, а место на SSD нам особенно дорого. Также при каждой гибернации на SSD пишется относительно большой объем данных, что «ведет к износу и бла-бла-бла-бла»… Апологеты данного совета пишут мол «зачем вам гибернация, ведь с SSD система и так стартует за несколько секунд». Но лично мне гибернация нужна не ради быстрого старта, а чтобы не закрывать (и не открывать потом заново) чертову кучу приложений, которыми я постоянно пользуюсь, так что целесообразность отключения гибернации находится под большим вопросом.
    Я с радостью переместил бы файл hiberfil.sys на другой диск (на HDD), но в силу системных ограничений сделать это невозможно.
    3) Отключение защиты системы.
    Компьютер – Свойства – Защита системы – вкладка Защита системы – Настроить – Отключить защиту системы.
    Сделать это можно, если вы пользуетесь хоть какими-то другими средствами резервного копирования системы. В противном случае есть большой риск получить нерабочую систему в случае каких-то сбоев.
    4) Отключение файла подкачки.
    Этот совет вызывает самые бурные споры и даже от Microsoft не удалось добиться внятных разъяснений.
    Я считаю данный совет вредным и рекомендую переносить файл подкачки на обычный (HDD) диск (но ни в коем случае не на RAMDisk:), почему, даже пояснять не буду – эту информацию легко найти в сети).
    Полностью отключать файл подкачки вредно со следующей точки зрения. Некоторые «шибко умные» программы (например, MS SQL Server) резервируют себе виртуальное адресное пространство в очень больших количествах (про запас). Зарезервированная память не показывается в диспетчере задач, ее можно увидеть например в Process Explorer, включив отображение колонки «Process Memory – Virtual Size». При наличии файла подкачки система резервирует память в нем (т.е. некий диапазон объявляется недоступным для использования другими приложениями). При отсутствии файла подкачки резервирование происходит непосредственно в оперативной памяти. Если кто-то сможет прояснить в комментариях (со ссылками на достоверные источники), как именно это влияет на работу других программ и производительность, буду очень благодарен.
    5) Отключение Prefetch, ReadyBoot, и Superfetch.
    5.1. Prefetch – это технология ускорения загрузки системы и приложений за счет упреждающего чтения данных с диска. Она актуальна только для медленных носителей. Поскольку с Random reads у SSD все в порядке, Prefetch можно безболезненно отключать.
    Служебные данные Prefetcher хранит в C:\Windows\Prefetch.
    Для отключения Prefetch нужно изменить на 0 значение параметра Enable Prefetcher в ключе реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters.

    5.2 ReadyBoot (не путать с ReadyBoost) – это дополнение к Prefetch, которое логгирует процесс загрузки для определения порядка и состава требуемых при загрузке данных и на основе этих логов подготавливает требуемые данные для ускорения процесса загрузки.
    Сами логи лежат в C:\Windows\Prefetch\ReadyBoot. Отключение Prefetcher"а не приводит к остановке записи этих логов. Для остановки логгирования необходимо установить в 0 параметр Start ключа HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\WMI\Autologger\ReadyBoot
    Отключение ReadyBoot в целом является относительно бесполезным советом, т.к. никакого прироста по скорости это не даст, разве чуть-чуть сократит записи на диск, т.к. не будут вестись логи загрузки (которые довольно маленькие, порядка нескольких мегабайт).

    5.3 Superfetch – это технология предзагрузки часто исполняемых программ в оперативную память. Отключать его не имеет смысла, т.к. Superfetch не приводит к записи на диск.

    6) Отключение индексации
    В свойствах диска можно убрать галку «Разрешить индексировать содержимое файлов на этом диске в дополнение к свойствам файлов». Это может снизить размер индексов, которые строит индексатор Windows, т.е. снизить нагрузку по записи на SSD.
    Сами индексы лежат в C:\ProgramData\Microsoft\Search
    Также можно полноcтью отключить индексатор, отключив службу Windows Search.
    7) Перенос кэшей приложений на RAMDisk.
    Под приложениями здесь имеются в виду в основном браузеры, т.к. именно они активно используют кэш посещенных страниц. Переносить этот кэш на HDD было бы довольно глупо, т.к. нам же нужно ускорение! А поэтому вполне хорошим решением является вынесение этих кэшей на небольшой (например, 1 Гб) RAMDisk (лично я использую AMD Radeon RAMDisk, правда несмотря на громкое название это продукт фирмы Dataram).
    У каждого браузера свой способ указания местоположения кэша, эту информацию легко найти в сети.
    8) Отключение usn журнала файловой системы NTFS.
    Один из спорных и противоречивых советов. С одной стороны, у меня не получилось отключить usn журнал для системного раздела. Также usn журнал используется некоторыми программами (напр., Everything) для отслеживания измененных файлов. Если кто-то может прокомментировать ситуацию насчет полезности отключения usn, буду очень благодарен.
    UPD 9) Отключение дефрагментации диска
    Windows 7 должна сама отключать дефрагментацию для SSD-дисков, поэтому ничего настраивать руками не нужно.

    Выводы:
    1. Даже если не прибегать ни к каким советам по конфигурированию системы для работы с SSD, Windows 7 будет работать на SSD чуть менее чем превосходно.
    2. Некоторые советы позволят вам снизить количество записей на SSD-диск, что может продлить и без того относительно долгий срок его работы.
    3. Многие советы позволят вам изменить некоторые параметры, не убив при этом производительность системы, но и не давая никакой практической пользы:)

    Другие идеи и советы крайне приветствуются! Надеюсь, вместе мы сможет разграничить их на полезные и вредные:)