SSD: не пора ли, братие?

Алексей Федорчук

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

Ну а большинство недостатков SSD, таких, как относительно медленная скорость записи и предполагаемо ограниченный срок службы в условиях интенсивной перезаписи (в реале это никто ещё не проверил), остались в прошлом. За исключением одного, и пока неискоренимого — цены. Каковая, не смотря на многочисленные обещания типа, что «вот в следующем году», остаётся запредельной.

Однако буквально в последние месяцы наметились положительные сдвиги и в этом направлении. Конечно, использовать SSD как хренилище всякого рода «парнухи» (не подумайте худого — под этим словом я подразумеваю всё, что не имеет прямого отношения к работе) мог бы позволить себе только официальный миллиардер-олигарх: за какие-то жалкие по нынешним временам 256 Гбайт придётся отдать 700-800 уёв. А минимально приемлемый для хренилища полутерабйтный SSD обойдётся тысячи в полторы их же.

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

И последнее из вводных замечаний — цена SSD сильно зависит от применяемой технологии: т.н. однослойные диски (SLC), теоретически наиболее быстрые и долговечные, ощутимо дороже, своих «многослойных» (MLC) собратьев. Кроме того, ощутимо влияет на цену и тип применяемого контроллера.

Тем не менее, буквально в последние месяцы в продаже появились SSD-накопители по относительно демократической цене — чуть более ста баксов. Да, объём их составляет 30-32 Гбайта, что явно мало для единственного накопителя в системе. Но в качестве системных носителей и, возможно, хренилищ текущих рабочих данных (если таковыми не выступают гигабайтные изображения и продукты их обработки) этого более чем достаточно.

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

Так вот, волею судеб одни из представителей этого класса я и обзавёлся. Полное имя ему —  SSD 32 Gb SATA-II Corsair Nova Series <CSSD-V32GB2-BRKT>. Он использует технологию MLC, имеет форм-фактор  2.5″ и, как явствует из названия, объём 32 Гбайт при 64 Мбайт встроенного кэша. Поддерживается технология TRIM, обеспечивающая как ускорение работы (при удалении данных), так и долговечность носителя (поддерживается ядром Linux, начиная с версии 2.6.28). И заодно делающая почти невозможным физически восстановление удалённых файлов — нож острый раздолбаям и бальзам на раны параноикам.

Заявленные производителем скоростные характеристики таковы:

Скорость записи    До 70 Мб/сек
Скорость чтения    До 195 Мб/сек

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

ssd01.jpeg

Установка накопителя в десктоп элементарно проста:

  • подсоединяем SATA-кабель и SATA-питало (в моём случае через переходник) — потом это делать пришлось бы на ощупь;
  • четырьмя меньшими шурупами из комплекта прикручиваем контейнер к днищу накопителя;
  • вкручиваем контейнер в 3″ отсек, как простой флоп или винт;
  • подсоединяем кабеля куда следует.

Как легко догадаться, в BIOS’е SSD выглядит как обычный SATA-винчестер (который можно сделать загрузочным), а в Linux’е к списку устройств добавляется ещё одно — в моём случае это было /dev/sdc. Какое можно подвергнуть разбиению на разделы, водружению на последние файловых систем, установке ОСей и так далее. Иными словами, всё как с обычным винчестером — лишь с некоторой спецификой.

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

Отсюда первое следствие: надлежит избегать дробного разбиения диска — то есть столь любимого пользователями FreeBSD или Gentoo обособления таких ветвей, как /usr/ports/, /usr/ports/distfiles, usr/local и так далее. Выносить на отдельный раздел каталог /boot также представляется нецелесообразным.

И вообще, разделы следует делать максимально большими. Так, я, не мудрствуя лукаво, просто разбил свой диск о 32 метрических гагабатах (гигабайтов двоичных в нём около 30) пополам — под будущие корень файловой иерархии и каталог /home. Объём обоих разделов заведомо избыточен: Fedora, которую я предполагал установить на SSD, в нужной мне комплектации не заняла бы больше 5-6 Гбайт, а в домашнем каталоге я собирался держать только текущие проекты — также не более нескольких гигабайт. Но надеюсь, что такой запас предохранит от деградации производительности со временем.

Далее, на SSD — никаких swap-разделов. Если он так уж нужен (а при обычном ныне объёме памяти в 4 Гбайт необходимость в нём возникает только на очень специальных задачах), его можно вынести на обычный винчестер, без которого всё равно не обойтись в реальной жизни.

Возможно, имеет смысл вынести на второй винчестер и каталог /var — но это вопрос спорный, и я такого эксперимента не проводил. Ну а каталогу /tmp — ещё одному вместилищу часто перезаписываемых файлов, — ныне самое место на файловой системе /tmpfs. Но это потом, после установки системы.

А устанавливаемой системой, как я уже говорил, предполагалась fedora, причём 14-й, ныне тестируемой, версии. Затея эта потерпела полную фетяску, так что пришлось ограничиться стабильной 13-й. Впрочем, это будет темой отдельной заметки.

Пока же отмечу только, что в итоге на оба раздела SSD пришлось водрузить файловую систему ext4. У меня было сильное искушение задействовать на /home btrfs — но увы, её поддержка на стадии инсталляции из Fedora 13 исчезла, даже знаменитое Хоттабычево icantbelieveitsnotbtr не помогло. Возможно, вернусь к этому вопросу позднее.

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

А вот субъективные ощущения… Ребята, это действительно очень быстро. Скорость загрузки системы, от меню GRUB до приглашения к авторизации Gdm, при умолчальном наборе стартовых сервисов, составила 9 секунд против 27 при загрузке с винчестера (подробности см. здесь). При этом напомню, что львиная доля из этих 9 секунд приходится на поиск DHCP-сервера и синхронизацию с сервером NTPD.

А вот среда GNOME после авторизации в Gdm вообще загрузилась за три с половиной секунды — при умолчальном наборе «стартовых» приложений. Аналогичный показатель при использовании винчестера — 16 секунд.

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

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

Так попробуем ответить на вопрос, поставленный в заглавии: не пора ли, братие? Лично для меня ответ положительный: о приобретении отнюдь не жалею.

SSD: не пора ли, братие?: 6 комментариев

  1. Ещё как пора! :) Особенно на нет/ноутбуках ssd так и просится для сохранности нервного спокойствия.

  2. http://3.14.by/ru/read/ssd-crash-course — рекомендую к прочтению по поводу срока службы
    пару цитат для затравки
    «самый большой источник проблем – прошивка.»
    «В ближайшем будущем(1-3 года)прорывов ждать не стоит: с каждым новым более тонким техпроцессом флеш память живет все меньше(сначала 10’000, потом 5’000 а теперь и вовсе 3’000). «

  3. Много ереси.
    1. Трим ввели в 2.6.32 для btrfs и 2.6.33 для ext4
    2. «надлежит избегать дробного разбиения диска» — прочитайте про выравнивание износа контроллером диска
    3. «Выносить на отдельный раздел каталог /boot также представляется нецелесообразным» — разделы выносятся для удобства а не для скорости
    4. «И вообще, разделы следует делать максимально большими» — щито? О_о
    5. «В результате чего по мере заполнения оного скорость записи резко падает» — деградация скорости как раз следствие отсутствия «уборки» (трим) после удаления и/или перезаписи, циклы записи тут ваще не в тему

    В общем да, почитали педивикию, родили унылый обзорчик. В следующий раз читайте маны, а то от такой некомпетентности аж воротит.

  4. «И потому одна из главных функций встроенных контроллеров SSD-дисков — максимальное рассредоточение записываемых данных по ячейкам носителя. В результате чего по мере заполнения оного скорость записи резко падает»
    Это утверждение верно, только в отношении HDD, но не как не SSD, по тому как в HDD накопителе для чтения данных с диска имеющего большую степень фрагментации, необходимо постоянно перепозиционировать головку, в SSD накопителях этой проблемы не существует, практически устойчивое время считывания файлов вне зависимости от их расположения или фрагментации!!!!
    http://ru.wikipedia.org/wiki/SSD

  5. 2 Andrew Считывания — да. А записи — с точностью до наоборот. Это же не флэшка, которая пишется от начала и до конца линейно. А в цитируемой Вами фразе речь о скорости записи и идёт :)

Обсуждение закрыто.