2014-09-08 15:45:31 +0000 2014-09-08 15:45:31 +0000
84
84

Недостатки разметки SSD?

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

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

НЕ УЧАСТАЙТЕ SSD

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

Ответы (7)

126
126
126
2016-05-28 01:24:34 +0000

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Серия статей Coding for SSDs является хорошим обзором того, что происходит, если вы хотите быть более техническим о том, как работают SSD.

Для более “легкого” чтения о том, как FTL (Уровень перевода флэш-памяти) на самом деле работает, я также предлагаю вам прочитать Критически важная роль прошивки и слоев перевода флэш-памяти в дизайне твердотельного накопителя  (PDF) с сайта Flash Memory Summit .

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

& Еще один документ о том, как это работает: Обзор флэш-памяти  (PDF).  См. раздел “Запись данных” (pages 26-27).

Если видео больше подходит вам, см. раздел An efficient page-level FTL to оптимизировать трансляцию адресов во флэш-памяти и связанные с этим slides .

15
15
15
2016-05-30 14:53:57 +0000

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

Совет “НЕ УЧАСТАЙТЕ SSD” - это нонсенс.

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

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

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

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

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

4
4
4
2016-06-06 07:25:59 +0000

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

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

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

Одна и та же белая книга дает хорошее предложение по продлению срока службы устройства:

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

Источник: Техническая белая статья - Выносливость SSD http://h20195.www2.hp.com/v2/getpdf.aspx/4AA5-7601ENW.pdf )

1
1
1
2016-06-02 14:53:00 +0000

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

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

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

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

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

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

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

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

-1
-1
-1
2015-10-14 07:21:57 +0000

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

  1. поворот индексации
  2. не нужно отслеживать время последнего доступа
  3. не нужно хранить старые 8-символьные дозы
  4. в обход Windows мусор.
-2
-2
-2
2014-09-08 22:10:25 +0000

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

Справочная информация:

Что такое С.С.Д.?:

С.С.Д. или твердотельный накопитель - это запоминающее устройство без движущихся частей. Термин S.S.D. часто используется для обозначения твердотельных накопителей с флэш-памятью, предназначенных для использования в качестве альтернативы жестким дискам, однако на самом деле это всего лишь одна из форм S.S.D., и даже не самая популярная из них. Наиболее популярным типом S.S.D. является nand-flash на основе съемных носителей, таких как USB-флэш-накопители (флэш-накопители), и карты памяти, хотя они редко упоминаются как S.S.D.. S.S.D.s. также могут быть барабанными, но большинство барабанных накопителей - это программное обеспечение, генерируемое в отличие от физического аппаратного обеспечения. 0x2 и 0x2 и Почему Nand-flash S.S.D.s. предназначены для работы в качестве альтернативы жесткому диску? 0x2 и 0x2 и Для работы операционной системы и программного обеспечения требуется быстрый носитель информации. Именно здесь в игру вступает таран, но исторически таран был дорогим, и процессоры не могли справиться с огромными объемами. Когда вы запускаете операционную систему или программу, необходимые в данный момент порции данных копируются на ваш таран, потому что ваше запоминающее устройство не достаточно быстродействующее. Создается узкое место, потому что приходится ждать, пока данные будут скопированы с медленного накопителя на таран. Хотя не все nand-flash S.S.D.s получают лучшую производительность, чем более традиционные жесткие диски, те, которые помогают уменьшить “узкое место”, обеспечивая более быстрое время доступа, скорость чтения и записи. 0x2 и 0x2 и Что такое флэш-накопитель Nand? 0x2 и 0x2 и флэш-накопитель - это накопитель, на котором для хранения данных используется электричество, а не магнетизм. Nand-flash - это флеш-накопитель, использующий шлюз NAND. В отличие от флеш-памяти A nor-flash, которая представляет собой случайный доступ, доступ к флеш-памяти nand-flash осуществляется последовательно.

Как Nand-flash S.S.D.s. хранит данные?:

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

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

Что такое выравнивание износа?: Блоки памяти

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

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

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

Что такое “Усиление записи”?:

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

Что такое Trim? Операционные системы

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

Ответ на вопрос “Недостатки разметки твердотельного накопителя?”:

** S.S.D.s на основе полосы прокрутки:**

Недостатков нет, так как они являются случайным доступом!

Для S.S.D.s:

Единственный недостаток, который приходит мне в голову:

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

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

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

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

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

-14
-14
-14
2014-09-08 16:14:00 +0000

Нет, в этом есть смысл.

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

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

См. ссылку на этот SuperUser post .

Похожие вопросы

18
16
8
3
6