что важнее в ссд запись или чтение
Реалии 2020 года таковы, что многим пользователям стало не хватать объема SSD, купленного несколько лет назад. Игры «распухли» до чудовищных объемов в 100 Гб и многих старых моделей SSD объемом в 120-250 Гб сейчас хватает только на ОС Windows и пару игр.
реклама
Это заставляет многих пользователей покупать дополнительный SSD, ведь к комфорту, который он дает, привыкаешь быстро, и в 2020 году на жесткий диск не хочется ставить даже самые простые игры. Хорошо, что в 2020 году цены на SSD понемногу снижаются или хотя бы не растут, даже с учетом скачка курса валют.
Но совсем немного пользователей следят за новинками технологий SSD и смотрят их обзоры, ведь покупая хорошую модель, мы ставим ее в ПК и забываем про нее на два-три года, пока ее объема не перестает хватать. В этом блоге я расскажу вам о важных факторах, которые вы должны знать при выборе SSD в 2020 году, которое помогут вам сэкономить деньги и купить оптимальную модель.
реклама
Коробку и SSD надо брать с запасом
Ситуация только усугубляется резко выросшим объемом игр, но некоторые игроки покупают SSD именно такого объема, которого им не хватает прямо сейчас. Но вы должны понимать, что и следующие новинки AAA-игр будут весить столько же и больше, чем уже существующие, и, чтобы иметь возможность с комфортом играть хотя бы в 5 таких игр, нужно, как минимум, 500 Гб пространства на SSD.
реклама
Final Fantasy XV весит 148 Гб!
А если завтра выйдет новый хит объемом 200 Гб? Это сразу сделает SSD на 500 Гб маленьким для вас. Поэтому стоит брать SSD с большим запасом пространства, это избавит вас от его апгрейда надолго, а в вашем ПК не будет висеть «гроздь» SSD небольшого объема.
реклама
Или SAMSUNG 860 EVO MZ-76E1T0BW. Эти модели имеют гарантию в пять лет, хорошие скоростные характеристики и большое время наработки на отказ.
Вы уже обратили внимание, что два SSD, указанные выше, имеют формат 2.5″ и SATA III интерфейс? Некоторые читатели при упоминании таких SSD кричат «Фууу!» и признают только модели в формфакторе M.2. Причем даже покупают SSD в формфакторе M.2, но с интерфейсом SATA III.
M.2 NVMe SSD греются заметно сильнее моделей SATA III, ведь скорость их работы заметно выше и контроллеру приходится обрабатывать в разы больше данных. В результате возможен нагрев до 90-100 градусов под длительными нагрузками. Ситуация с охлаждением усугубляется в случае, если видеокарта греет SSD, находящийся рядом. Или даже полностью закрывает его.
Если вы поглядите на YouTube сравнения скорости загрузки игр на SATA III и NVMe SSD, то увидите, что разница всего лишь в двух-трех секундах на 30-40 секунд загрузки. То есть, увидеть разницу в скорости на глаз будет почти невозможно.
Конечно, при тяжелой работе с мелкими файлами разница уже будет чувствительной, но большинство из нас покупают SSD для игр. Поэтому лучше отдайте предпочтение большему сроку гарантии, чем скорости.
Пишите в комментарии, сколько у вас SSD и какого они объема?
SSD: что важнее последовательные запись/чтение или случайные?
Сейчас активно выбираю SSD накопитель для настольного компьютера, читаю обзоры и вижу, что есть накопители с хорошими показател ми последовательного доступа, но с плохими случайного, а есть наоборот.
Подскажите, чему отдать предпочтение и почему?
Я планирую использовать hdd для хранения мультимедиа и тяжелых файлов.
Если под тяжелые файлы и мультимедиа — то последовательный доступ, конечно же.
Если под ОС — то случайный.
Лично я не понимаю, зачем для хранения тяжелых файлов и мультимедия — SSD. Слишком дорогое удовольствие при минимуме отдачи. Обычный 7200 об. террабайтник справится с задачей в разы лучше (скорость чтения конечно будет ниже, но ее достаточно, плюс больше места).
Основное преимущество SSD перед механическими как раз — random access. Если последовательное чтение и запись отличаетяс в 2-3 раза (в пользу SSD) то случайный доступ — в 10-20 раз (в пользу опять же SSD).
Ну т.е. чтобы смотреть фильм в фулл HD — скорости последовательного чтения обычного механического диска — более чем достаточно. Чтобы качать на него этот же фильм из сети — тоже (если сеть не гигабит конечно же).
Поэтому гораздо лучше SSD взять под систему и прочий софт с большим количеством файликов (игры, опять же), а под хранение механический.
зачем для хранения тяжелых файлов и мультимедия — SSD.
При интенсивной работе с файлами ( создание/удаление/изменение размера ) они фрагментируются. Т.е. части одного файла могут быть разбросаны по разным частям диска. Поэтому правильней сказать что линейный доступ — это чтение непрерывного блока данных с диска, а случайный доступ — чтение мелких блоков данных из разных частей диска.
А теперь о сферических конях в вакууме:
В случае если на диске находится стопицот мелких файлов, которые постоянно редактируются, фрагментация будет просто заоблачной и нужен диск с хорошей скоростью случайного доступа. Если же ты хранишь там свою коллекцию фильмов, фрагментация стремится к нулю и нужен диск с хорошей скоростью линейного чтения.
Но все сказанное конечно же относится только к однопоточному доступу поскольку если ты запустишь одновременное воспроизведение десятка фильмов из своей коллекции ( например ), то твоему винту с отличным линейным чтением и хреновым случайным, будет ой как туго.
Еще наверное нужно учесть что при современных скоростях доступа все сказанное относится на самом деле к файловым серверам с большим количеством клиентов, а на домашнем компе почти нет задач в которых ты почувствуешь что у тебя недостаточно высокая скорость доступа к данным.
Как выбрать SSD
Еще около десяти лет назад, обыватель не знал альтернативы классическим НМЖД, царствование их было практически безраздельным. Сейчас же, в 2018, о твердотельных накопителях (SSD) знают практически все, а некоторые предрекают полное исчезновение, в скором времени, обычных HDD.
Несмотря на это, правильно выбрать нужную вам модель накопителя среди того великого множества, что представлено на рынке, не праздная задача.
SSD (solid-state disk, твердотельный накопитель) – устройство для хранения данных, в котором за хранение информации отвечают микросхемы памяти (практически всегда это NAND память).
Особенности SSD
Если же вы задумались о приобретении SSD, но задаетесь вопросом, о том какие преимущества вы получите при переходе с обычного HDD, то вот некоторые из них:
— Увеличение скорости чтения/записи файлов – скоростные характеристики SSD превосходят оные у HDD;
— Бесшумность – так как в роли накопителя информации выступают обычные микросхемы. Благодаря этому можно собрать полностью бесшумные системные блоки, в том числе и крайне компактных размеров;
— Меньшие габариты и вес.
Тем не менее, есть и недостатки:
— Цена – стоимость 1 гигабайта емкости SSD, до сих пор намного дороже, чем у HDD;
— Различные разъемы подключения – не недостаток в чистом виде, но усложняет выбор для неподготовленного пользователя;
— Крайне высокая сложность восстановления данных – гораздо сложнее, чем на НМЖД, что обусловлено спецификой работы устройства;
Конструкция
Основными составными элементами твердотельных накопителей, являются:
— Контроллер – своеобразный мозг устройства, от него зависит скорость обмена данными, поддерживаемые типы памяти, потребность в микросхеме буферной памяти и т.д.
— Буферная память (RAM) – в этой роли применяются микросхемы энергозависимой DRAM памяти, как, например, в оперативной памяти компьютера. Применяется для временного хранения данных во время работы с накопителем. Также влияет на скорость работы накопителя, позволяет поддерживать стабильные скоростные показатели при интенсивных нагрузках. Наличие или отсутствие микросхемы буферной памяти зависит от установленного контроллера.
Наряду с аппаратной частью, программная часть также сильно влияет на производительность и нюансы работы накопителя с различными типами нагрузок. К сожалению, о внесенных в микропрограммное обеспечение оптимизациях, производители не сообщают.
Какую память выбрать?
Постоянные технологические изыскания в области памяти меняют рынок довольно быстро. Поэтому и NAND-память стремительно развивается, породив к настоящему времени четыре разновидности.
SLC (Single Level Cell) – технология производства такой памяти предусматривает хранение 1 бита информации в 1 ячейке. Отличные скоростные и ресурсные характеристики, вот только накопителей на основе такой памяти в продаже давно нет.
MLC (Multi-Level Cell) – в одной ячейке хранятся уже 2 бита информации. Еще недавно самый распространенный вид памяти в SSD. Хорошие ресурсные и скоростные показатели позволяли долго удерживать пальму первенства по распространенности применения.
TLC (Triple-Level Cell) – как понятно из названия, ячейка здесь уже с тремя уровнями (на каждом по 1 биту информации). Благодаря этому плотность записи еще сильнее увеличивается (на немалые 50%), что позволяет создавать более «вместимые» чипы памяти. Что интересно, практически каждый человек сталкивался с такой памятью – она успешно применялась (и применяется) в обычных «флешках».
QLC (Quad-Level Cell) – в основе лежит ячейка с возможностью записи четырех бит информации. Новый тип памяти, продукты на его основе только входят на корпоративный рынок. Появление же продуктов ориентированных на обычных потребителей ожидается в первом квартале 2019 года. Обладает еще меньшим ресурсом, чем TLC память.
Ниже приведена сравнительная таблица с ресурсом памяти, а также некоторыми другими характеристиками.
Планарная, или с вертикальной компоновкой?
Буквально пять лет назад данного вопроса в принципе не было. Но стремление к прогрессу и увеличению экономических и производственных показателей сделали свое дело.
Такой подход позволил решить проблему увеличения объемов чипов памяти не путем «уплотнения» информации в ячейке, а простым увеличением количества слоев. Для такой памяти оказалось возможным использование более «толстых» норм производства – примерно 30-50 нМ, что увеличило ее ресурс.
И MLC и TLC память бывает как с планарной компоновкой, так и с вертикальной. Однако первая встречается все реже и реже, поэтому в большинстве случает вопроса, вынесенного в заголовок, не стоит (что даже хорошо). А новейшие чипы QLC сразу же выпускаются или будут выпускаться (в зависимости от производителя) с трехмерной структурой.
Басня о долговечности, или все ли так плохо?
Отдельно хочется коснуться вопроса о надежности сегодняшних SSD накопителей.
Несмотря на постепенное уменьшение количества циклов перезаписи памяти, а «голые цифры» иногда выглядят слишком страшно, ресурс современных SSD достаточно велик. Шутка ли, даже для самых дешевых моделей на TLC памяти заявлен ресурс в 40-50 TB информации, что обычному пользователю хватит лет на 10. На самом деле, по данным независимых тестов, это число (терабайт) можно смело умножать на 10. Поэтому, информация о низкой надежности современных SSD накопителей, мягко говоря, не совпадает с действительностью.
Форм-факторы и интерфейсы
2,5″ SATA SSD
Такие накопители можно установить практически во все компьютеры и ноутбуки. Несмотря на оснащение современных SATA SSD разъемом третьей версии, они обратно совместимы и с SATA2.
mSATA
Разновидность SATA интерфейса, тем не менее, имеет другой разъем для подключения. mSATA создавался для ноутбуков и устройств малого форм-фактора (SFF), где размер имеет значение. Бывает двух типоразмеров (Full Size, 51 x 30 мм, и Half Size, 26.8 x 30 мм). Скоростные характеристики и обратная совместимость ревизий аналогичны SATA моделям.
Несмотря на то, что некоторые производители выпускают новые модели своих накопителей с mSATA, данный интерфейс устарел и практически полностью вытеснился разъемом M2.
Самый современный и перспективный разъем. Также сначала он носил название NGFF (форм фактор следующего поколения).
M.2 SSD могут иметь физический интерфейс PCI-E или SATA. Первые из них быстрее и различаются по версии и количеству линий передачи данных: выпускаются накопители PCI-E 2.0 x2, PCI-E 2.0 x4, PCI-E 3.0 x2 и PCI-E 3.0 x4. Поэтому при выборе необходимо учитывать какой интерфейс поддерживает разъем на вашей материнской плате.
PCI-E SSD
M.2 SSD иногда поставляются с платой переходником под разъем PCI-E (на 2 или 4 линии). Когда может пригодиться такая конструкция? Например, если у вас нет слота M.2 или он занят, либо если накопитель требует серьезного охлаждения – с такой конструкцией его проще организовать.
NVM Express
NVM Express (он же NVMe, он же NVMHCI – Non-Volatile Memory Host Controller Interface) – это логический интерфейс, созданный вместо устаревшего AHCI, специально для твердотельных накопителей. Используется он для M.2 SSD и позволяет раскрыть весь их потенциал.
Однако, даже с не особо старыми материнскими платами, могут быть проблемы при использовании такого накопителя в качестве загрузочного.
Intel Optane
Несмотря на все преимущества, цена таких накопителей высока и пройдет некоторое количество времени (возможно большое) пока они станут «по карману» большинству потребителей.
Что же выбрать?
Если вы не искушенный пользователь и на вашем ПК есть только SATA разъемы, то выбор очевиден. Предлагаемых скоростей хватит для любой бытовой задачи, а широчайший выбор объемов позволит каждому подобрать нужный накопитель.
Если вам необходим твердотельный накопитель только под операционную систему, то можно посмотреть на модели до 150 Гб.
Если же вы обладаете внушительной библиотекой игр (а сейчас одна игра может занять 100 ГБ), либо ваша работа связана с проектами с большими объемами данных, то стоит посмотреть в сторону моделей от 500 ГБ.
mSATA SSD будут интересны владельцам Неттопов/mini PC, позволяя создать производительные и бесшумные системы.
При наличии у вас соответствующего слота, рекомендуется обратить внимание на накопители M.2. Это же относится и к PCI-E моделям.
А для желающих получить ультимативную производительность нет лучшего выбора, чем модели с поддержкой NVMe, скорость чтения которых может превышать 3000 Мб/с.
Отдельно хочется упомянуть новые накопители от Intel. Они определенно выглядят многообещающе, но не смотря на некоторые преимущества нового типа памяти цена таких решений пока слишком высока.
Текст обновлен автором \kell\
Что нужно знать об SSD каждому программисту
На фото SSD Samsung PM1733
Твердотельные накопители (Solid-State Drives, SSD) на основе флэш-памяти уже заменили многие магнитные диски в качестве стандартных накопителей. С точки зрения программиста SSD и диски очень похожи: и те, и другие являются устройствами постоянного хранения, обеспечивающими страничный доступ через файловые системы и системные вызовы, и имеющими большой объём.
Однако у них есть и важные различия, которые становятся существенными, если нужно достичь оптимальной производительности SSD. Как мы увидим, SSD устроены сложнее и если воспринимать их просто как быстрые диски, то их производительность может вести себя довольно загадочным образом. Цель этого поста — показать, почему SSD так себя ведут, что поможет вам создавать ПО, способное использовать их особенности. (Стоит заметить, что я буду говорить о NAND-памяти, а не о памяти Intel Optane, имеющей другие характеристики.)
Приводы, а не диски
SSD часто называют дисками, но это неверно, потому что они хранят данные в полупроводниковых устройствах, а не на механическом диске. Для чтения или записи в произвольный блок диск механически перемещает головку в нужное место, что занимает порядка 10 мс. Однако операция произвольного чтения с SSD занимает около 100 мкс — в 100 раз быстрее. Благодаря такой низкой задержке загрузка системы с SSD намного быстрее, чем загрузка с диска.
Ещё одно важное отличие дисков от SSD заключается в том, что диски имеют одну дисковую головку и имеют хорошие показатели только при последовательном доступе. В отличие от них, SSD состоят из десятков или даже сотен флэш-чипов («параллельных блоков»), доступ к которым может выполняться параллельно.
SSD прозрачным образом разделяет большие файлы по флэш-чипам на части размером со страницу, а аппаратное устройство предвыборки гарантирует, что последовательное сканирование использует все доступные флэш-чипы. Однако на уровне флэш-памяти особой разницы между последовательным и произвольным чтением нет. Большинство SSD способно достигать полной полосы пропускания и при считывании произвольных страниц. Для этого необходимо запланировать сотни параллельных запросов произвольного ввода-вывода, чтобы одновременно работали все флэш-чипы. Это можно реализовать запуском множества потоков или при помощи асинхронных интерфейсов ввода-вывода, например, libaio или io_uring.
Запись
Всё становится ещё интереснее, когда дело касается записи. Например, если изучать задержки записи, то можно замерить результаты от 10 мкс — в 10 раз быстрее, чем считывание. Однако задержки кажутся такими низкими только потому, что SSD кэшируют операции записи на энергозависимую ОЗУ. Истинная задержка записи NAND-памяти примерно равна 1 мс — в 10 медленнее, чем чтение. На SSD потребительского уровня её можно измерить, отдав после записи команду синхронизации/сброса, чтобы гарантировать, что данные сохранились во флэш-память. В большинстве SSD серверов задержку записи невозможно замерить напрямую: синхронизация/сброс завершаются мгновенно, поскольку батарея гарантирует сохранность кэша операций записи даже в случае отключения электропитания.
Чтобы достичь высокой полосы пропускания записи, несмотря на достаточно высокую задержку записи, SSD используют тот же трюк, что и при чтении: они обеспечивают параллельный доступ к нескольким чипам. Так как кэш операций записи может записывать страницы асинхронно, для получения хорошей производительности записи даже необязательно планировать очень много параллельных операций записи. Однако задержку операций записи не всегда можно скрыть полностью: например, поскольку запись в 10 раз больше занимает флэш-чип, чем считывание, операции записи вызывают значительные «хвостовые задержки» для считывания с того же флэш-чипа.
Операции записи вне порядка
Мы упускаем один важный факт: страницы NAND-памяти невозможно перезаписывать. Записи страниц могут выполняться только последовательно, в пределах блоков, которые были заранее стёрты. Эти стираемые блоки имеют размеры в несколько мегабайт, а потому состоят из сотен страниц. На новом SSD все блоки стёрты и пользователь может напрямую начинать добавлять новые данные.
Однако обновление страниц — это не такой простой процесс. Было бы слишком затратно стирать весь блок просто для того, чтобы перезаписать единственную страницу. Поэтому SSD выполняют обновления страниц, записывая новую версию страницы в новое место. Это означает, что логические и физические адреса страниц разделены. Хранящаяся в SSD таблица отображения преобразует логические (программные) адреса в физические (аппаратные) местоположения. Этот компонент также называют Flash Translation Layer (FTL). Например, давайте представим, что у нас есть SSD с тремя стираемыми блоками, в каждом из которых по четыре страницы. Последовательность записей страниц P1, P2, P0, P3, P5, P1 может привести к следующему физическому состоянию SSD:
Сборка мусора
При использовании таблицы отображения и непоследовательной записи всё работает хорошо, пока в SSD не заканчиваются свободные блоки. Старую версию перезаписанных страниц рано или поздно нужно восстановить. Если мы продолжим предыдущий пример, выполнив запись страниц P3, P4, P7, P1, P6, P2, то получим следующую ситуацию:
Блок 0 | P1 (старая) | P2 (старая) | P0 | P3 (старая) |
Блок 1 | P5 | P1 (старая) | P3 | P4 |
Блок 2 | P7 | P1 | P6 | P2 |
На этом этапе у нас больше нет свободных стираемых блоков (хотя с точки зрения логики пространство может и оставаться). Прежде чем записать ещё одну страницу, SSD должен сначала стереть блок. В нашем примере сборщику мусора лучше всего будет стереть блок 0, потому что используется только одна из его страниц. После стирания блока 0 мы освобождаем место для трёх операций записи, а SSD выглядит так:
Write Amplification и Overprovisioning
Для сборки мусора блока 0 нам нужно физически переместить страницу P0, хотя с точки зрения логики с этой страницей ничего не происходит. Другими словами, у SSD на флэш-памяти количество физических операций записи (во флэш) обычно выше, чем количество логических (программных) операций записи. Соотношение между этими двумя параметрами называется write amplification (усиление записи). В нашем примере, чтобы освободить место под 3 новых страницы в блоке 0, нам пришлось переместить 1 страницу. У нас получилось 4 физических операций записи на 3 логические операции записи, т.е. коэффициент усиления записи равен 1,33.
Высокие коэффициенты усиления записи снижают производительность и срок жизни флэш-памяти. Величина коэффициента зависит от паттерна доступа и заполненности SSD. Объёмные последовательные операции записи имеют низкий коэффициент write amplification, а наихудшим случаем являются произвольные операции записи.
Предположим, наш SSD заполнен на 50% и мы выполняем произвольные операции записи. Когда мы стираем блок, то в среднем примерно половина страниц блока по-прежнему используется и должна быть перемещена. То есть коэффициент write amplification при коэффициенте заполнения накопителя 50% равен 2. Обычно наихудший коэффициент write amplification, получаемый при коэффициенте заполнения f, равен 1/(1-f):
f | 0,1 | 0,2 | 0,3 | 0,4 | 0,5 | 0,6 | 0,7 | 0,8 | 0,9 | 0,95 | 0,99 |
WA | 1,11 | 1,25 | 1,43 | 1,67 | 2,00 | 2,50 | 3,33 | 5 | 10 | 20 | 100 |
Так как при близких к 1 коэффициентах заполнения коэффициенты write amplification становятся чрезвычайно высокими, у большинства SSD есть скрытый запасной объём (overprovisioning). Этот объём обычно равен 10-20% от общего объёма. Разумеется, также можно добавить больше overprovisioning, создав пустой раздел и ничего туда не записывая.
Вывод и дополнительные источники
SSD стали довольно дешёвыми и они имеют очень высокую производительность. Например, серверный SSD Samsung PM1733 стоит примерно 200 евро за терабайт и обеспечивает полосу пропускания почти 7 ГБ/с для чтения и 4 ГБ/с для записи. Для достижения такой высокой производительности нужно понимать, как работает SSD, поэтому в этом посте я описал самые важные внутренние механизмы SSD на флэш-памяти. Я стремился к лаконичности, поэтому кое-что упрощал. Чтобы узнать больше, можно начать с этого туториала, в котором даются ссылки на полезные статьи. Нужно также заметить, что из-за высокой скорости SSD часто узким местом производительности становится стек ввода-вывода ОС. Экспериментальные результаты по Linux можно найти в нашей статье для конференции CIDR 2020.
На правах рекламы
Наши облачные серверы используют only NVMe сетевое хранилище с тройной репликацией данных. Вы можете использовать арендовать сервер для любых задач — разработки, размещения сайтов, использования под VPN и даже получить удалённую машину на Windows! Идей может быть много и любую из них поможем воплотить в реальность!