Избыточное выделение SSD - оно все еще сохраняется?

14

Многочисленные (но не очень недавние) источники предполагают, что ~ 7% пространства SSD следует оставить нераспределенным, чтобы уменьшить износ диска. Это все еще актуально на данный момент или ситуация изменилась?

marmistrz
источник
Это имеет значение из-за проблемы включения TRIM, как я уже сказал. Я подозреваю, что SU хорошо подходит для этого вопроса, но теперь он нуждается в редактировании, чтобы упомянуть Linux!
sourcejedi
свободное пространство позволяет повысить производительность. Износ и износ диска завышены и, возможно, сейчас являются мифом. SSD хорошего качества может длиться более 10 лет, записывая его 24/7. это может быть хорошая статья для обзора: howtogeek.com/165472/… - запись в пустой блок довольно быстрая, но запись в частично заполненный блок включает в себя чтение частично заполненного блока, изменение его значения, а затем запись его обратно. Повторите это много-много раз для каждого файла, который вы записываете на диск, так как файл, вероятно, будет занимать много блоков. ---
вс

Ответы:

15

Windows обычно использует TRIM. Это означает, что до тех пор, пока у вас есть X% свободного места в файловой системе, диск будет видеть X% как нераспределенный. [*] Избыточное выделение ресурсов не требуется.

Исключение: исторически SSD с контроллерами / прошивками Sandforce не восстанавливали полную производительность после TRIM :(.

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

Так что это необходимо, если и только если

  • Вы не уверены, что TRIM будет использоваться. AFAIK, он по-прежнему не включен по умолчанию в Linux из-за проблем с производительностью нескольких старых и плохо работающих дисков.
  • ИЛИ вы беспокоитесь о заполнении диска Sandforce (и что смарт-контроллер не сможет сжать содержимое).

Включить TRIM в Linux не так уж сложно, и вы вряд ли заметите какие-либо проблемы.

К счастью, некоторые из самых популярных брендов делают свой собственный контроллер. Контроллеры Sandforce не так популярны, как раньше. Проблемы Sandforce заставляют меня скептически относиться к тому конкретному «умному» дизайну контроллера, который был очень агрессивным для своего времени. Извиняюсь перед Sandforce, но у меня нет ссылки на конкретные модели контроллеров.


[*] Файловым системам нравится иметь много свободного места, чтобы уменьшить фрагментацию. Так что TRIM великолепен, потому что вам не нужно добавлять два поля безопасности вместе, одно и то же свободное пространство помогает им обоим :). Привод может использовать незанятое пространство для повышения производительности, а также для предотвращения высокого износа, как вы говорите.

sourcejedi
источник
Можно ли обнаружить контроллер Sandforce, если у него установлен SSD?
marmistrz
Нет стандартного показания или теста, о котором я знаю. Вам нужно знать, что это за диск, и попытаться найти его. Все, что я вижу, это «номер модели», например, на дисках GNOME, таких как «M4-CT128M4SSD2», который может быть неудобным для сравнения. Еще раз извините. Я считаю, что Samsung использует свои собственные контроллеры, а Crucial / Micron используют Marvell. OCZ / Toshiba использовали различные контроллеры, включая Sandforce.
sourcejedi
Это предполагает, что у вас действительно есть свободное место в файловой системе, верно? : D
эндолит
Уточните, на какую часть вы отвечаете, это было больше года назад. Я думаю, что вы имеете в виду «[гипотетически] у меня нет дисциплины, мне нужна моя система, чтобы противодействовать продолжающемуся злоупотреблению, и у меня нет программного обеспечения для установки сигнализации о высокой отметке». Это вполне обоснованная критика, хотя и интересная для человека, который в первую очередь подумает о чрезмерном обеспечении.
Sourcejedi
7

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

SSD-накопители должны справляться с ограничениями флэш-памяти при записи данных

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

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

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

Если на диске мало свободного места или его нет, он не сможет разложить записи. Вместо этого, диск должен будет стереть блоки сразу же, поскольку записи отправляются на диск, перезаписывая любые действительные данные в этих блоках в другие блоки. Это приводит к тому, что в NAND записывается больше данных, чем отправляется на диск, явление, известное как усиление записи . Усиление записи особенно заметно при случайных нагрузках с интенсивной записью, таких как обработка онлайновых транзакций (OLTP) , и его необходимо сводить к минимуму, поскольку это приводит к снижению производительности и долговечности.

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

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

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

Самые ранние твердотельные накопители имели гораздо менее зрелую прошивку, которая, как правило, переписывала данные гораздо чаще, чем необходимо. Ранние контроллеры Indilinx и JMicron ( JMF602 был печально известен заиканием и ужасной скоростью произвольной записи ) страдали от чрезвычайно высокого усиления записи при интенсивных нагрузках произвольной записи, иногда превышающих 100x. (Представьте, что вы записываете более 100 МБ данных в NAND, когда вы просто пытаетесь записать 1 МБ!). Более новые контроллеры, обладающие большей вычислительной мощностью, улучшенными алгоритмами управления флэш-памятью и поддержкой TRIM, гораздо лучше справляются с этими ситуациями, хотя тяжелые рабочие нагрузки с произвольной записью могут по-прежнему вызывать усиление записи, превышающее 10x в современных твердотельных накопителях .

Избыточное выделение обеспечивает накопителю большую область свободного пространства для обработки случайных записей и предотвращения принудительной перезаписи данных. Все твердотельные накопители сверхобеспечены, по крайней мере, до минимальной степени; некоторые используют только разницу между GB и GiB, чтобы обеспечить около 7% свободного пространства для работы с диском, в то время как другие имеют больше избыточных ресурсов для оптимизации производительности для нужд конкретных приложений. Например, корпоративный твердотельный накопитель для рабочих нагрузок OLTP или базы данных с интенсивной записью может иметь 512 ГБ физической NAND, но заявленную емкость составляет 400 ГБ, а не от 480 до 512 ГБ, типичных для потребительских твердотельных накопителей с аналогичным количеством NAND.

Если ваша рабочая нагрузка особенно требовательна или вы используете диск в среде, где TRIM не поддерживается, вы можете вручную увеличить пространство, разделив диск так, чтобы некоторое пространство не использовалось. Например, вы можете разделить SSD объемом 512 ГБ на 400 ГБ и оставить оставшееся пространство незанятым, и диск будет использовать нераспределенное пространство в качестве свободного места. Заметьте, однако, что это нераспределенное пространство должно быть обрезано, если оно было записано ранее; в противном случае это не принесет пользы, поскольку накопитель увидит, что это место занято. (Утилиты разметки должны быть достаточно умны, чтобы сделать это, но я не уверен на 100%; см. «Обрезает ли Windows неразделенное (неформатированное) пространство на SSD?» )

Если вы просто обычный потребитель, чрезмерное выделение средств обычно не требуется

В типичных потребительских средах, где поддерживается TRIM, твердотельный накопитель заполнен менее чем на 70-80% и не получает постоянных ударов при случайной записи, усиление записи обычно не является проблемой, и избыточное выделение обычно не требуется.

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

bwDraco
источник
1

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

Томаш Клим
источник
У вас есть ссылки на это?
Лео Лам
Вы имеете в виду ссылку на конкретный диск? Многие накопители (не только SSD) имеют общедоступные технические ссылки, но извините, у меня нет времени на поиск. Однако, если вы заинтересованы в общей справке, проверьте это: samsung.com/global/business/semiconductor/minisite/SSD/…
Томаш Клим
1
Да, мне было интересно, верно ли это для всех накопителей или только для конкретных моделей или марок, поскольку другой ответ предполагает, что избыточная подготовка больше не требуется на последних накопителях.
Лео Лам
Другой ответ не совсем правильный. Действительно, на дисках с контроллерами Sandforce было много дополнительного места. Это совершенно верно. Но также любой другой контроллер SSD использует дополнительное пространство, но не так много. Поскольку это, вероятно, не изменится.
Томаш Клим
1
Из документа для Samsung SSD: «всегда есть возможность вручную выделить дополнительное пространство для еще более улучшенной производительности (например, при высоких нагрузках)», то есть они предлагают вам не начинать рассматривать это, если у вас нет » требовательная нагрузка ".
sourcejedi