Об SSD

Comments

Так а что сейчас с перезаписью SSDшек? Если надо много читать и писать?

Тут сразу много можно сказать
1) Мой личный десктоп: если надо будет менять раз в год, то буду менять. Ибо качество жизни за машиной повышается кардинально.

2) Интел специфицировал для 80-гиговика (кажется, может быть для 160) "5 лет жизни при записи 20Gb/day". Т.е. это полная перезапись раз в 4 дня, ~400 перезаписей. Но это было уже довольно давно, года три как. Для текущей 510-й серии (другие лень смотреть) - мульен с гаком часов MTBF.
OCZ дает трехлетнюю гарантию.

3) Если предполагать
а) какое-то разумное распределение ошибок по блокам (вроде логнормального или подобного)
б) что контроллер умеет находить плохие блоки и прятать их в карман
То резервирование 10-20% места кардинально улучшает надежность. OCZ так делало для Vertex2 (выпуская 200 и 240Gb-модели на одной 256Gb-платформе), но для Vertex3 отчего-то отказались. Но если "тупо" не использовать процентов 20 емкости диска (сделать пустой раздел) то контроллер будет это место охотно использовать для garbage collection.

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

Я терял SSD один раз, выглядело это так, что он отказался на себя *писать*.
При этом, про то что ему плохо - можно было понять сильно заранее (по SMART).

Я не утверждаю что это всегда так, опыт пока очень ограниченный.

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

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

Да, по поводу интеловской гарантии.

Занесло тут на один сервер, который является сервером БД для среднего такого веб-проекта. Ну там 30-50к пользователей в день, все такое.

Гляжу, а у него аптайм 569 дней. Ну я сразу iostat -x и вижу, что средняя (за 569 дней) скорость записи у него - 121 килобайт/сек. Что дает 10GB в день.

Т.е. интеловский X25-M протянул бы там лет 10, если верить спекам.

Фронтенд этого проекта - 55kb/sec (ну там кроме логов и статики ничего нет). 20 лет.
backend проекта - 600kb/sec за счет того, что там конвертации видео много. Ну да, этому хватило бы всего на 2 года, если раздел с конвертацией видео не вынести отдельно.

Да, а более общий ответ "смотря что писать".

Потому что если логи или бэкапы (длинная *линейная* запись), то конечно HDD сильно дешевле за гиг (раз в 15, по памяти), а упор в линейную запись не очень больный: я думаю что гигов 150 на SATA и 250 на самых быстрых SAS. Новые SSD по этому параметру если и быстрее, то не на порядки. То же и с линейным чтением.

А вот если настоящая случайная запись, каждый раз в новое место, ну там записи в БД апдейтить или кучу мелких файлов или я не знаю что там у вас, то и вопроса нет: даже 15k-оборотник SAS с average seek 5ms потратит на акт записи эти самые 4ms + 2ms на полоборота диска. Итого 6 ms. В самом самом лучшем случае - 2ms (seek нету, только полоборота ждем), если данные очень локальные.
А у SSD счет идет на десятки микросекунд. В СТО раз быстрее.
Если у HDD не 15k оборотов, а 7200, то все еще вдвое хуже. А если 5400 - то втрое.

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

При этом 146-гиговый SAS 15k стоит 4500, а 120-гиговый SSD (Vertex3) - 8500. Естественно, с SATA разница много больше, но мы про "много читать и писать", да

Это да, понятно. Сейчас как раз намечается небольшая халтурка, там как раз будет задача -- разместить порядка 60гб данных в виде кучи мелких файлов, которые надо быстро-быстро перебирать (всосать в память и тупо линейно пробежаться). Пока человек не продавился на ссд, типа "запустимся на хдд, там посмотрим, что получается", но оченно хочется самому опробовать.

"тупо линейно" может не быть большого выигрыша.

Вот я полтора года назад писал про что-то эдакое: http://blog.lexa.ru/2009/10/20/ssd_ruljat.html, на линейном доступе в пять раз, на случайном - в 15 в сравнении с зеркалом из двух медленных HDD (т.к. read-only, то итогово как немедленный HDD ибо round-robin и ускорение раза в полтора)

С тех пор, правда, SSD-шки стали сильно быстрее, а HDD - нет.

Ну вот для домашнего десктопа с SATA, в котором сейчас у меня под фрёй два не таких старых на 500GB, от последних по половинке выделено в разделы, на которых gmirror, оставшиеся половинки - индивидуальные разделы, итого с этих двух дисков получилось 750GB пространства и это ещё торренты у меня на отдельном устройстве со своим диском.

Так что эти 750GB образуют у меня практически бесконечное пространство с двумя категориями - 250GB под данные, терять которые я не намерен (зазеркалированы плюс для скорости случайного доступа gcache и gjournal) и остальное - 500GB незарезервированых под временное хранилище чего попало. Стоило это всё даже когда было новое смешные деньги.

И теперь иду на сайт лучшего магазина в нашей глуши (потому что покупать дорогие носители под свои данные не в местном магазине, будучи за 4000 километров от столицы, я морально не готов) и смотрю на указанные Intel 320. За две штуки по 160G мне придётся выложить 25500 рублей, получив в итоге всего 80GB зазеркалированного пространства и 160G остального. За уже не смешные деньги отказаться от концепции практически бесконечного пространства.

Конечно, на 8 портах интегрированных в мамку контроллерах можно нафигачить объёму на SSD, но в бюджет это уже никак не влазит, увы. Ждём, пока подешевеет.

У меня при всех терабайтах *хранения* (а храню я и на локальном диске т.к. доступ к нему самый быстрый, а в фотоархив 5-10-летней давности иногда хочется залезть и быстро глянуть), активных данных оказалось немного
~150Gb "случайного доступа", включая систему. Они и живут на SSD на десктопе
~200Gb "линейного доступа", в первую очередь это образы виртуальных машин для разработки. Они поселены на страйп из двух 150Gb 10k rpm.

Активные данные естественно бэкапятся ежедневно в два места, локальный диск и на домашний сервер. У самых используемых VM диски с random-доступом (т.е. системой) отселены на SSD.

Так вот, для этих активных случайных данных хватает одного 240-гиговика. Ну да, ~15 тыщ, но я готов их платить раз в год, хотя судя по его здоровью протянет он сильно дольше.

Вдогонку: у меня SSD на лаптопе и на десктопе и я полностью поддерживаю мужика из презентации, тот кто так не сделал тот "basically wasting your life"

Вот другая цитата, я цитировал месяц назад:

Solid state hard drives are so freaking amazing performance wise, and the experience you will have with them is so transformative, that I don't even care if they fail every 12 months on average! I can't imagine using a computer without a SSD any more; it'd be like going back to dial-up internet or 13" CRTs or single button mice. Over my dead body, man!

Я морально не готов переживать падение рабочего носителя раз в 12 месяцев при цене во много раз выше более ёмкого SATA. Узкое место на домашнем десктопе при шести гигах памяти на не геймерской машине у меня не диск, а CPU, RAM и внешний интернет.

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

Всё это не имеет почти никакого отношения к скорости работы винта, где geom_cache играет свою роль по частичному преобразованию случайного чтения в последовательное, а geom_journal по преобразованию случайной записи в последовательную. В на порядок более высокой производительности просто нет задач, а ведь имеет значение не сама производительность, а лишь соотношение производительность/цена/надежность.

Дело же не в загрузке, это просто хороший индикатор.
Но если на диске есть IOPS-ы, то разница получается колоссальная. Если нет - не получается, конечно.

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

geom_cache читает с носителя блоками не менее чем ему задано, я ставлю MAXPHYS (128K), плюс кеширует. Для рейдов, которые разбивают запрос на N частей и читают каждую часть с отдельных дисков в параллель, можно поверх поставить gcache с N-кратным размером страйпа, чтобы к дискам уходили не мелкие запросы на чтение, а крупные.

geom_journal пишет данные в журнал линейно, раскидывая их потом по диску уже позже и асинхронно. Для кучи мелких записей производительность сильно увеличивается, для длинной линейной записи вдвое уменьшается (сначала запись в журнал, потом из журнала на fs).

С записью - вопросов нет, сериализация может быть полезной, а накопление и переупорядочение - без вопросов полезно. Хотя мои эксперименты с gjournal дали какие-то печальные результаты, но это было давно, я с тех пор сполз на ZFS и счастлив с ней.

А вот с чтением, ну да, префетч наверное рулит - если вы собираетесь из этого места читать дальше. Но в случае random IO - нет, не собираюсь.

он говорит "факинг"???

И не один раз! ;-P

Ужасно, по губам ему грязной тряпкой!!!

И что в этом такого? Вполне себе допустимое слово для выражения сильных эмоций.

Даже в приличном обществе?

Чопорные англичане тоже делают это.

Он еще и пишет это в презентации. Fuck Nosql, значит.

Ну ладно с ним, факингами, но ведь SSD - это дороговато, не? + обычно при включении я не присутствую рядом, а занимаюсь чем-то ещё.

Ну я так по секрету скажу, что любое random-чтение с диска ускоряется на порядки.

Конечно, если узкое место не там, то и не надо, но для современных CPU я не могу представить ситуации "не там".

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

Я настаивать не буду :), но про "basically wasting your life" мужик прав, особенно если речь о ноутах с их 4500-5400rpm

ноут включается минуту-другую, винда, но я не втыкаю эти 2 минуты, практически никогда, потом в машину в гибернацию - стартует за 30 секунд, обычно я тоже не рядом - не сказал бы.

Ну если вдруг срочно надо то да, эти 12 очень пригодятся. Но за такие деньги это не вариант...

Послушайте, ну речь не идет о старте, хрен с ним со стартом, это просто иллюстрация.

Если у вас есть какое-то ожидание I/O и это *не* линейная запись/линейное чтение (где выигрыш относительно одиночного SATA-диска есть, но это не порядки, а разы), то разница феноменальная.

Все что угодно: поиск по куче мелких файлов, работа с БД (большей чем ее кэш), компиляция, запуск программы тянущей за собой пару сотен DLL, хождение в кэш браузера Ну вот ты кликаешь на иконку программы - и она запустилась. А не "похрюкала 3 секунды диском и запустилась". Я вот сейчас забутил хакинтошную машину с SATA и посмотрел сколько там ворд запускается. Досчиталось до 22 т.е. секунд 20-25.
На ноуте, с более дохлым процессором (C2D вместо i7), с втрое меньшей памятью (4Gb вместо 12) и с левым SSD (вместо 500Gb SATA) - две(!) секунды.

И так все. Т.е. экономится время между действием и результатом. Ну не знаю сколько, даже если 5 минут в день, это 30 часов в год, умножайте на почасовую ставку. И экономятся нервные клетки, которые бесценны.

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

Это десктоп. У серверов с random IO все просто очевидно: и просто быстрее и нет деградации с ростом нагрузки на IO. Разница феноменальна и измеряема (кроме, повторяю, linear I/O, где нет смысла). Не говоря о fuck nosql и fuck sharding (что есть прямая выгода по времени/цене разработки)

ну то, что за этим будущее - не спорю. Сейчас самое ограничивающее - это скорость доступа данных.

Хотя если всю систему повесить в оперативной памяти, то уже не важно какие скорости у жёсткого. Или я ошибаюсь?

Ну за тем исключением, что при пропадании питания будет сюрприз.

Только вот DDR3 стоит ~$50 за 4Gb, а флэша на эти деньги можно купить примерно 20Gb.

ну тогда SSD - шаг к изобретению оперативной памяти, не теряющей информации при отключении питания.

http://slickdeals.net/permadeal/53897/newegg-8gb-2x4gb-g.skill-ddr3-1066...
http://slickdeals.net/permadeal/53833/newegg-desktop-memory-6gb-3x2gb-ki...
http://slickdeals.net/forums/showthread.php?t=3048045
;)

Добить памяти до максимума - самое оно.
А на лаптопе очень помогает ready boost - 4х гиговый ссд воткнутый в свободный mini PCI-e слот. Даже не смотря на 8 гиг памяти. Тот же ворд на C2D LV 1.3GHz запускается за 3 секунды.

SSD вещь хорошая - быстрая, тихая, холодная!

Вот другое мнение: http://www.fclab.ru/2011/06/20/2653/
Мне как-то ближе второе.

А я вчера в рамках изучения скорости запуска ворда - забутил вторую машину, которая для удаленной отладки и всяких подобных приключений. На 500-гиговом SATA.

Это адъ, я на ней работать не хочу. И именно по причине всяких секундных, трехсекундных и т.п. задержек. Пока visual studio открывает проект - и чаю не успеешь попить и тупо сидишь фтыкаешь

Там в каментах "все как один" пишут - вынесите на SSD те места, которые пишутся (profiles, TMP) и увидите разницу именно в response.

Я поддерживаю.

Мля, аж слюнки текут. Жду не дождусь когда буду ноут менять - меня он в принципе устраивает. Но сцука в нём IDE, искать SSD IDE не хочется, а тем более вкладываться в заведомо устаревшую вещь.
Кстати о ноутах, вы какие предпочитаете?
Я как начал использовать ASUS - так всем теперь советую - качество хорошее. У всех кто пользуется, проблем нету (хотя у знакомых людей с другими фирмами есть проблемы.. но хз, конечно выборка маловата)..
Но в последнее время тянет к Lenovo ThinkPad (типа T420), наверное из-за брутальности их вида, хз как у них с качеством.

У меня макбукпро, если и когда буду менять - то тоже только на apple.

смотрю на Intel 320 серии, привлекает FDE (full disk encryption).
Жалко в десктопной плате нету ATA Security API.
Но, немного погуглил - есть варианты:
1. прошить rom сетевой карты ( http://www.fitzenreiter.de/ata/ata_eng.htm ). немного грязный метод
2. Загружаться с другого носителя, и менять ata ssd security в нём, например linux+hdparm

Неужто оно может 300Mb/sec (или сколько там у этого диска на запись) шифровать?

По спекам, максимум - 220MB/s http://www.intel.com/design/flash/nand/320series/overview.htm

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

P.S. Проверил достаточно старый ноутбук (2006) - в его bios есть такая фишка. А вот в десктопной, относительно новой, м.п. asus p6t - нет.