75

Мудрый парень, носящий имя NickN, ведет длинную пост на форуме, рассказывая о своих взглядах на создание мощного компьютера (направленного на то, чтобы играть в Microsoft Flight Simulator X, очень требовательное программное обеспечение).

Он подводит итоги о дисках SSD и завершает список следующим образом:

НЕ РАЗДЕЛИТЬ SSD

К сожалению, он не уточняет это, но мне интересно, почему он так говорит. Каковы недостатки разделения SSD? (Разделение в этом контексте означает> = 2 раздела)

7 ответов7

107

SSD, я повторяю, не работает на уровне файловой системы!

Не существует корреляции 1:1 между тем, как файловая система видит вещи, и тем, как SSD видит вещи.

Не стесняйтесь разбивать SSD любым удобным для вас способом (при условии, что каждый раздел выровнен правильно, и современная ОС справится со всем этим за вас); это ничего не повредит, это НЕ будет отрицательно влиять на время доступа или что-либо еще, и не стоит беспокоиться о том, чтобы делать тонны записей на SSD. Они есть, поэтому вы можете записывать 50 ГБ данных в день, и это будет продолжаться 10 лет.

Отвечая на ответ Робин Гуда,

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

Это совершенно неправильно.  Невозможно изнашивать раздел, потому что вы читаете / пишете только в этот раздел. Это даже не удаленно, как работают SSD.

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

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

Чтобы сделать это еще проще: скажем, вы пишете файл в разделе 1. Операционная система сообщает файловой системе о потребностях в хранилище, а файловая система выделяет "сектора", а затем сообщает SSD, что ей требуется X места. Файловая система видит файл по адресу логического блока (LBA), равному 123 (например). SSD отмечает, что LBA 123 использует блок / страницу # 500 (например). Таким образом, каждый раз, когда ОС нуждается в этом конкретном файле, SSD будет иметь указатель на ту страницу, которую он использует. Теперь, если мы продолжим запись на SSD, включим выравнивающие надписи и скажем block / page # 500, мы можем лучше оптимизировать вас на block / page # 2300. Теперь, когда ОС запрашивает тот же файл и файловая система снова запрашивает LBA 123, на этот раз SSD вернет блок / страницу # 2300, а НЕ # 500.

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

Нет, это опять неправильно!  Робин Гуд обдумывает вещи с точки зрения файловой системы, а не думает о том, как именно работает SSD. Опять же, файловая система не может узнать, как SSD хранит данные. Здесь нет "дальше"; это только в глазах файловой системы, а НЕ фактического способа хранения информации на SSD. SSD может распределять данные в разных чипах NAND, и пользователь не заметит увеличения времени доступа. Черт возьми, из-за параллельного характера NAND, он может даже оказаться быстрее, чем раньше, но мы говорим здесь о наносекундах; мигаете, и вы пропустили это.

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

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

Таким образом, программа дефрагментации смотрит на эти LBA и говорит, что этот файл действительно должен быть фрагментирован!  Но, поскольку он не имеет ни малейшего представления о внутреннем устройстве SSD, он на 100% ошибочен. Именно поэтому программа дефрагментации не будет работать на твердотельных накопителях, и да, программа дефрагментации также вызывает ненужные записи, как уже упоминалось.

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

Для более "легкого" прочтения о том, как на самом деле работает FTL (Flash Translation Layer), я также предлагаю вам прочитать Критическую роль прошивки и слоев Flash-трансляции в дизайне твердотельных накопителей (PDF) с сайта Flash Memory Summit .

У них также есть много других доступных документов, таких как:

Еще одна статья о том, как это работает: Обзор Flash Memory (PDF).  См. Раздел "Запись данных" (стр. 26-27).

Если вам больше нравится видео, см . Эффективный FTL на уровне страницы для оптимизации трансляции адресов во флэш-памяти и связанных слайдах.

15

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

Совет "НЕ РАЗДЕЛЯЙ SSD" - ерунда.

В (теперь далеком) прошлом операционные системы не очень хорошо поддерживали твердотельные накопители, и особенно, когда при разделении не было необходимости выравнивать разделы в соответствии с размером блока стирания.

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

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

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

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

4

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

Выравнивание износа применяется ко всем блокам устройства (см. Технический документ HP, ссылка ниже)

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

Из этого можно сделать вывод, что перегородки не имеют значения для выравнивания износа. Это имеет смысл, потому что с точки зрения жесткого диска и контроллера разделы на самом деле не существуют. Есть только блоки и данные. Четная таблица разделов записана на тех же блоках (1-й блок диска для MBR). Затем ОС читает таблицу и решает, в какие блоки записывать данные, а какие нет. ОС видит блоки, используя LBA, чтобы дать уникальный номер каждому блоку. Однако контроллер затем отображает логический блок в фактический физический блок с учетом схемы выравнивания износа.

Тот же технический документ дает хорошее предложение продлить срок службы устройства:

Затем сверхобеспечение вашего диска. Вы можете увеличить срок службы, разделив только часть общей емкости устройства. Например, если у вас есть диск на 256 ГБ, разделите его только на 240 ГБ. Это значительно продлит срок службы привода. Уровень избыточного предоставления 20% (разделение только на 200 ГБ) продлит срок службы. Хорошее эмпирическое правило: каждый раз, когда вы удваиваете избыточную пропускную способность диска, вы прибавляете 1x к его выносливости.

Это также намекает на то, что даже нераспределенное пространство используется для выравнивания износа, что еще раз подтверждает вышеприведенную точку.

Источник: Технический технический документ - SSD Endurance (http://h20195.www2.hp.com/v2/getpdf.aspx/4AA5-7601ENW.pdf)

0

Дисковые сектора длительностью 512 байт, а механические диски обладают тем свойством, что единственное, что влияет на время чтения / записи сектора, - это задержка поиска. Таким образом, основным шагом оптимизации с механическими жесткими дисками была попытка последовательно читать / записывать блоки, чтобы минимизировать количество попыток поиска.

Flash работает совершенно иначе, чем механические жесткие диски. На необработанном уровне флэш-памяти у вас есть не блоки, а страницы и "стираемые блоки" (позаимствованные из терминологии Linux MTD). Вы можете написать, чтобы прошить страницу за раз, и вы можете стереть флэш-eraseblock одновременно.

Типичный размер страницы для флэш-памяти составляет 2 КБ, а типичный размер для стирания блоков составляет 128 КБ.

Но SATA SSD представляют интерфейс, который работает с 512-байтовым размером сектора для ОС.

Если между страницами и секторами есть отображение 1:1, вы можете увидеть, как вы столкнетесь с проблемами, если ваша таблица разделов будет начинаться на нечетной странице или странице в середине стираемого блока. Учитывая, что операционные системы предпочитают извлекать данные с дисков в чантах 4 Кбайт, поскольку это согласуется с аппаратным обеспечением подкачки x86, вы можете видеть, как такой 4-хбайтный блок может перекрывать стираемый блок, то есть для его обновления потребуется стереть, а затем переписать 2 блока вместо 1. Ведущие к снижению производительности.

Однако микропрограмма SSD не поддерживает отображение 1:1, она выполняет преобразование адреса физического блока (PBA) в адрес логического блока (LBA). Это означает, что вы никогда не знаете, где, скажем, сектор 5000 или любой другой данный сектор действительно записывается во флэш-памяти. Он много чего делает за кулисами, стараясь всегда писать в заранее стертые eraseblocks. Вы не можете точно знать, что именно он делает без разборки прошивки, но если прошивка не является полностью ненужной, прошивка, вероятно, обойдёт это.

Возможно, вы слышали о жестких дисках 4Kn. Это механические жесткие диски, которые внутренне используют сектор размером 4 Кбайта, но все еще предоставляют 512-байтовый интерфейс сектора операционным системам. Это необходимо, потому что промежутки между секторами должны уменьшаться на пластине, чтобы вместить больше данных.

Это означает, что внутри он всегда читает и записывает сектора 4K, но скрывает его от ОС. В этом случае, если вы не выполняете запись в секторы, которые попадают на границу 4 КБ, вы будете подвергаться штрафу за скорость, потому что каждое такое чтение / запись приведет к считыванию и перезаписи двух внутренних секторов 4 КБ. Но это не относится к твердотельным накопителям.

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

-1

То, что игнорируют эти ответы - это оптимизация Windows SSD. Я не знаю, означает ли это, что разделение становится лучше, но для разделенного диска C в качестве диска Windows вы можете:

  1. поворот индексации
  2. не нужно отслеживать время последнего доступа
  3. не нужно хранить старые 8-символьные имена
  4. обойти Windows мусор
-2

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

Исходная информация:

Что такое SSD ?:

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

Почему существуют твердотельные накопители Nand-flash, предназначенные для использования в качестве альтернативы жесткому диску ?:

Для запуска операционной системы и ее программного обеспечения требуется быстрый носитель. Именно здесь в игру вступает баран, но исторически баран был дорогим, и процессоры не могли справиться с огромными количествами. Когда вы запускаете операционную систему или программируете, требуемые в настоящее время порции данных копируются на ваш оперативный памяти, потому что ваше устройство хранения недостаточно быстрое. Узкое место создано, потому что вам нужно подождать, пока данные будут скопированы с медленного устройства хранения на оперативную память. Хотя не все твердотельные накопители nand-flash обеспечивают лучшую производительность, чем традиционные жесткие диски, они помогают уменьшить узкие места, обеспечивая более быстрое время доступа, скорости чтения и записи.

Что такое Nand-flash?:

Флэш-накопитель является носителем данных, который использует электричество, а не магнетизм для хранения данных. Nand-flash - это флэш-память, использующая шлюз NAND. В отличие от nor-flash, который является произвольным доступом, nand-flash доступен последовательно.

Как твердотельные накопители Nand-flash хранят данные ?:

Nand-flash хранилище состоит из блоков, эти блоки разбиты на ячейки, ячейки содержат страницы. В отличие от жесткого диска, который использует магнетизм для хранения данных, флэш-носители используют электричество, потому что эти данные не могут быть перезаписаны; данные должны быть стерты, чтобы повторно использовать пространство. Устройство не может удалить отдельные страницы; стирание должно происходить на уровне блоков. Поскольку данные не могут быть записаны в блок, который уже используется (даже если не все страницы в нем), сначала должен быть удален весь блок, а затем теперь пустой блок может иметь данные, записанные на его страницах. Проблема в том, что вы потеряете любые данные, уже находящиеся на этих страницах, включая данные, которые вы не хотите удалять! Чтобы предотвратить сохранение существующих данных, их необходимо скопировать в другое место перед выполнением стирания блока. Эта процедура копирования не выполняется операционной системой компьютера, она выполняется на уровне устройства функцией, называемой сборкой мусора.

На жестких дисках для хранения данных используется магнитная пластина. Как и виниловые пластинки, пластинка имеет дорожки, и эти дорожки разделены на секции, называемые секторами. Сектор может содержать определенный объем данных (обычно 512 байт, но некоторые более новые - 4 КБ). Когда вы применяете файловую систему, сектора группируются в кластеры (в зависимости от указанного вами размера, называемого размером выделения или размером кластера), а затем файлы записываются в кластеры. Также возможно разделить сектор так, чтобы кластеры были меньше размера вашего сектора. Пространство, неиспользуемое в кластере после записи файла в кластер (или несколько), не используется, следующий файл запускается в новом кластере. Чтобы избежать большого количества неиспользуемого пространства, люди обычно используют кластеры меньшего размера, но это может снизить производительность при записи больших файлов. SSD-накопители Nand-Flash не имеют магнитной пластины, они используют электричество, проходящее через блоки памяти. Блок состоит из ячеек, содержащих страницы. Страницы имеют емкость X (обычно 4 КБ), поэтому количество страниц будет определять емкость блока (обычно 512 КБ). На SSD страница равняется сектору на жестком диске, потому что они оба представляют наименьшее разделение хранилища.

Что такое выравнивание износа ?:

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

Что за резервирование ?:

Over Provisioning определяет разницу между количеством свободного места по сравнению с тем, сколько кажется. Устройства хранения на основе Nand-flash утверждают, что они меньше, чем они, поэтому гарантированно должны быть пустые блоки для утилизации мусора. Существует второй вид избыточного обеспечения, называемый динамическим избыточным предоставлением, который просто ссылается на известное свободное пространство в указанном свободном пространстве. Существует два типа динамического избыточного выделения ресурсов: уровень операционной системы и уровень контроллера накопителя. На уровне операционной системы Trim может использоваться для освобождения блоков, которые затем могут быть немедленно записаны. На уровне контроллера может быть использовано нераспределенное дисковое пространство (не разбито на разделы, нет файловой системы). Наличие большего количества свободных блоков помогает поддерживать высокую производительность диска, поскольку он может записывать немедленно. Это также увеличивает вероятность наличия блоков, которые расположены последовательно, что сокращает время доступа, поскольку твердотельные накопители Nand-flash используют последовательный доступ для чтения и записи данных.

Что такое усиление записи ?:

Поскольку носители Nand-flash требуют стирания блока перед его записью, любые данные в этом блоке, которые не были стерты, должны быть скопированы в новый блок путем удаления мусора. Эти дополнительные записи называются усилением записи.

Что такое отделка?

Операционные системы созданы с учетом традиционных жестких дисков. Помните, что традиционный жесткий диск может напрямую перезаписывать данные. Когда вы удаляете файл, операционная система помечает его как удаленный (можно перезаписать), но данные остаются там до тех пор, пока там не произойдет операция записи. На твердотельных накопителях на основе Nand-flash это является проблемой, поскольку сначала необходимо удалить данные. Удаление происходит на уровне блоков, поэтому могут быть дополнительные данные, которые не удаляются. Утилизация мусора копирует любые данные, которые не подлежат удалению, в пустые блоки, а затем соответствующие блоки могут быть удалены. Все это требует времени и вызывает ненужные записи (усиление записи)! Чтобы обойти это, была сделана функция под названием Trim. Trim дает операционной системе возможность сказать SSD стирать блоки со страницами, содержащими данные, которые операционная система пометила как удаленные в течение периодов времени, когда вы не запрашиваете операцию записи. Сборка мусора делает свое дело, и в результате блоки освобождаются, так что можно надеяться, что записи могут происходить в блоки, которые не нужно стереть в первую очередь, что ускоряет процесс и помогает уменьшить усиление записи до минимума. Это не делается на файловой основе; Trim использует адресацию логических блоков. LBA указывает, какие секторы (страницы) нужно удалить, и стирание происходит на уровне блоков.

Ответ на ваш вопрос «Недостатки разбиения SSD?«:

Базовые твердотельные накопители:

Там нет абсолютно никаких недостатков, потому что они произвольного доступа!

SSD-накопители на основе Nand-Flash:

Единственные недостатки, которые приходят на ум, будут:

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

  2. Как и у жестких дисков, твердотельные накопители nand-flash имеют последовательный доступ, поэтому любые данные, которые вы записываете / читаете из дополнительных разделов, будут дальше, чем они могли бы быть, если бы они были записаны в одном разделе, потому что люди обычно оставляют свободное пространство в своих разделах. , Это увеличит время доступа к данным, хранящимся на дополнительных разделах.

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

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

Некоторые другие люди в этой теме обсуждали, как разбиение повлияет на вклад Trim в динамическое выделение ресурсов. Насколько я понимаю, TRIM используется для указания секторов (страниц), для которых есть данные, помеченные для удаления, и поэтому утилизация мусора может свободно удалить эти блоки. Это свободное пространство действует как динамическое превышение предоставления только внутри раздела THAT, поскольку эти сектора являются частью кластеров, используемых файловой системой этого раздела; другие разделы имеют свои собственные файловые системы. Однако я могу быть совершенно неправ в этом, поскольку сама идея избыточного предоставления мне немного неясна, поскольку данные будут записываться в места, которые даже не имеют файловых систем или не появляются в емкости накопителей. Это заставляет меня задуматься о том, возможно ли использование избыточного пространства на временной основе перед окончательной операцией записи optomized в блоки внутри файловой системы? Конечно, вклад Trim в динамическое выделение ресурсов в файловой системе не будет временным, поскольку они могут быть записаны напрямую, поскольку они уже находятся в используемом пространстве. Это по крайней мере моя теория. Может быть, мое понимание файловых систем неверно? Я не смог найти никаких ресурсов, которые подробно рассказывают об этом.

-13

Нет, это имеет смысл.

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

Таким образом, нет недостатков разделения SSD, но есть недостатки, связанные с отсутствием свободного места на диске.

Обратитесь к этому сообщению SuperUser.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .