Домашняя » как » Почему твердотельные накопители замедляются, когда вы их заполняете

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

    Тесты очевидны: твердотельные накопители замедляются по мере их заполнения. Заполните твердотельный накопитель до почти полной емкости, и его производительность записи значительно снизится. Причина заключается в том, как работают SSD и NAND Flash..

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

    Пустые блоки и частично заполненные блоки

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

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

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

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

    TRIM не объединяет частично заполненные блоки

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

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

    Сверхпровизинг и сборка мусора

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

    Твердотельные накопители потребительского класса часто отводят около 7% от общего объема флэш-памяти и делают их недоступными для пользователя. Это называется «избыточным выделением ресурсов» - дополнительное дисковое оборудование добавляется на диск, но не отображается на компьютере как доступное хранилище, которое оно может использовать. Свободная область гарантирует, что диск никогда не будет полностью заполнен - ​​всегда будет некоторая свободная емкость, чтобы помочь сохранить стабильность производительности записи.

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

    Контрольные доказательства

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

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

    Они обнаружили, что «минимальная производительность существенно улучшается, когда вы получаете 25% свободного места для этих [потребительских] накопителей». Их последняя рекомендация заключалась в том, что вам следует «планировать использование только около 75% емкости [вашего накопителя], если вы хотите получить хороший баланс между согласованностью и производительностью ».


    Если у вас твердотельный накопитель, вам следует избегать использования более 75% его емкости. Купите больший диск с большим объемом памяти, чем вам нужно, и вы всегда будете иметь стабильную производительность записи. К счастью, твердотельные накопители постепенно становятся намного дешевле, поэтому это не так дорого, как раньше.

    Изображение предоставлено: Сортировщик музыки в Wikimedia Commons, Саймон Вюллхорст на Flickr