4

Поправьте меня, если я ошибаюсь, но не меняется ли растровое изображение блока (которое отслеживает свободные блоки на диске) для разных файловых систем (как по расположению, так и по структуре)? Итак, как может OCZ иметь общий алгоритм для сбора мусора без учета используемой файловой системы?

2 ответа2

7

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

В отсутствие TRIM, когда поступает запись для грязного блока (который уже содержит данные в отношении SSD), происходит одна из двух вещей:

  1. Контроллер считывает старый блок в локальную память.
  2. Контроллер изменяет необходимые биты.
  3. Контроллер переписывает весь блок в старый блок

Однако из-за выравнивания износа это более вероятно:

  1. Контроллер считывает старый блок в локальную память.
  2. Контроллер изменяет необходимые биты.
  3. Контроллер записывает весь блок в новый блок в зарезервированной части
  4. Контроллер обновляет свое логическое отображение для новой пары логический блок: физический блок.
  5. Контроллер помечает старый блок как часть резерва.

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

2

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

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