6

Многие люди, похоже, имеют идею (1, 2, 3, 4, 5), что выравнивание начала ваших разделов SSD по кратному размеру стираемого блока SSD как-то полезно. Я не вижу пользы; рассмотрите следующее разделение (пожалуйста, приостановите ваше неверие в отношении блоков стирания 16K; на практике они, вероятно, будут намного больше, как и разделы):

Partitions:      [    1   ]              [        2        ]
Logical blocks:  [ 4K ][ 4K ][ 4K ][ 4K ][ 4K ][ 4K ][ 4K ][ 4K ]
Physical blocks: [ 4K ][ 4K ][ 4K ][ 4K ][ 4K ][ 4K ][ 4K ][ 4K ]
Erase blocks:    [          16K         ][          16K         ]

Теперь, если логический блок K соответствует физическому блоку K для любого K (например, если не было выравнивания износа, выполненного контроллером SSD), то в этом может быть некоторая теоретическая ценность. Предположим, например, что раздел 2 на рисунке выше запускает один логический / физический блок ранее. Тогда любая запись в начале раздела 2 вызовет стирание первого блока стирания, как и любая запись в раздел 1, что приведет к дополнительному износу этого конкретного блока стирания.

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

Смежные вопросы:

2 ответа2

4

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

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

Давайте сначала разберемся с нашими условиями:

  • Блок SSD или блок Erase - это блок, который SSD может стереть за одну атомарную операцию, которая обычно может занимать до 4 МБ байтов (но более распространенными являются 128 КБ или 256 КБ). SSD не может записать в блок, не удалив его сначала.
  • Страница SSD - это самая маленькая атомная единица, которую может отслеживать программное обеспечение SSD. Блок обычно содержит несколько страниц, обычно размером до 4 КБ. SSD хранит отображение на странице того, где ОС считает, что оно находится на диске (SSD записывает страницы там, где предпочитает, хотя ОС будет думать с точки зрения последовательного диска).
  • Сектор - это самый маленький элемент, который, по мнению операционной системы, может быть записан на жесткий диск за одну операцию. ОС также будет думать с точки зрения дисковых цилиндров и дорожек, даже если они не относятся к SSD. ОС обычно сообщает SSD, когда сектор становится свободным (TRIM). Прошивка Smart SSD обычно объявляет ОС свой размер страницы как размер сектора, где это возможно.

Понятно, что прошивка SSD предпочитает всегда писать в пустые блоки, так как они уже стерты. В противном случае для добавления страницы в блок, содержащий данные, потребуется последовательность read-block/store-page/erase-block/write-block.

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

[ image1] [1]

Сборка мусора вводит еще один фактор - усиление записи - это означает, что для записи одной ОС на SSD может потребоваться более одной физической записи на SSD.

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

Вопрос о выравнивании разделов

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

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

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

Следует отметить, что слишком большая фрагментация SSD (что означает слишком большое отображение страниц) увеличивает объем работы, выполняемой SSD. Статья 2009 года Долгосрочный анализ производительности основных твердотельных накопителей Intel показал, что, если диск слишком долго используется со смесью мелких и больших записей, он может перейти в состояние, в котором снижение производительности является постоянным, и с выравниванием износа это состояние может распространяться на большее количество дисков. Это условие является причиной, в то время как многие владельцы твердотельных накопителей видят снижение производительности с течением времени.

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

3

Является ли выравнивание раздела по размеру стираемого блока SSD бессмысленным?

Исходя из приведенных ниже рекомендаций 2008 года, представляется, что выравнивание разделов по границам размера блока зависит от алгоритмов изготовления, модели и микросхем управления в любом данном устройстве SSD.

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

Выравнивание файловых систем по размеру стираемого блока SSD

Выравнивание вашей файловой системы на границе стираемого блока имеет решающее значение для твердотельных накопителей первого поколения, но Intel X25-M должен иметь более умные алгоритмы, которые позволят ему уменьшить эффект усиления записи. Детали немного расплывчаты, но, вероятно, есть таблица сопоставления, которая отображает секторы (с некоторым внутренним размером сектора - мы точно не знаем, является ли это 512 байтами или большим размером) для отдельных блоков стирания.


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

Действительно все еще нужен EBS (Erase Block Size) для разделения SSD?

Чтение / запись выравниваются по размеру страницы, а стирание происходит в фоновом режиме, когда SSD находится в режиме ожидания. Таким образом, размер стираемого блока не имеет значения. Размер страницы имеет значение, но он всегда маленький, поэтому просто выполните выравнивание MiB. Файловая система все равно сломает что-то около 4k. Невозможно выровнять до 1536 КБ, без сотен маленьких файлов в файловой системе. Даже если бы вы разместили свои разделы на границах 1536 КБ и настроили файловую систему с рейдовым шагом 1536 КБ, вы бы не заметили никакой разницы. Чтение / запись выполняется на уровне страницы и в любом случае перераспределяется с помощью слоя флэш-перевода. Поэтому, независимо от того, сколько вы пытаетесь настроить снаружи, SSD все равно будет использовать его в своих целях, так какой в этом смысл?


Заключение

Я думаю, что выравнивание износа является одним из тех [более умных] новых алгоритмов SSD из поста 2008 года, о котором упоминалось, и теперь, когда этот - и другие взаимосвязанные современные SSD и технологии разделения - чаще встречается с устройствами SSD, которые подразумевают, что такое выравнивание будет более скорее всего будет бессмысленно.

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

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


Дополнительные ресурсы

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