Я решил, что некоторая справочная информация может быть полезна для прояснения этого ответа, но, как вы можете видеть, я немного уныл, так что вы можете пропустить до конца, а затем вернуться, если необходимо. Хотя я немного знаю, я не эксперт по твердотельным накопителям, поэтому, если кто-то увидит ошибку, отредактируйте ее.
:).
Исходная информация:
Что такое 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:
Единственные недостатки, которые приходят на ум, будут:
Выравнивание износа не будет иметь столько свободного места, чтобы играть, потому что операции записи будут распределены по меньшему пространству, так что вы можете, но не обязательно, изнашивать эту часть диска быстрее, чем если бы весь диск был один раздел, если вы не будете выполнять эквивалентный износ дополнительных разделов (например, двойной загрузки).
Как и у жестких дисков, твердотельные накопители nand-flash имеют последовательный доступ, поэтому любые данные, которые вы записываете / читаете из дополнительных разделов, будут дальше, чем они могли бы быть, если бы они были записаны в одном разделе, потому что люди обычно оставляют свободное пространство в своих разделах. , Это увеличит время доступа к данным, хранящимся на дополнительных разделах.
Меньшее общее пространство увеличивает вероятность записи фрагментированных файлов, и, хотя влияние на производительность невелико, имейте в виду, что обычно считается плохой идеей дефрагментировать твердотельный накопитель nand-flash, поскольку он изнашивает диск. Конечно, в зависимости от того, какую файловую систему вы используете, некоторые из них приводят к крайне низкой степени фрагментации, потому что они предназначены для записи файлов целиком, когда это возможно, а не для дампирования в любом месте для создания более быстрой скорости записи.
Я бы сказал, что хорошо иметь несколько разделов, но выравнивание износа может быть проблемой, если у некоторых разделов много активности записи, а у других очень мало. Если вы не разбиваете пространство на части, которое не планируете использовать, а вместо этого оставляете его для динамического перерасхода, вы можете получить повышение производительности, поскольку будет проще освобождать блоки и записывать последовательные данные. Тем не менее, нет гарантии того, что потребуется избыточное пространство, что возвращает нас к пункту № 1 о выравнивании износа.
Некоторые другие люди в этой теме обсуждали, как разбиение повлияет на вклад Trim в динамическое выделение ресурсов.
Насколько я понимаю, TRIM используется для указания секторов (страниц), для которых есть данные, помеченные для удаления, и поэтому утилизация мусора может свободно удалить эти блоки. Это свободное пространство действует как динамическое превышение предоставления только внутри раздела THAT, поскольку эти сектора являются частью кластеров, используемых файловой системой этого раздела; другие разделы имеют свои собственные файловые системы.
Однако я могу быть совершенно неправ в этом, поскольку сама идея избыточного предоставления мне немного неясна, поскольку данные будут записываться в места, которые даже не имеют файловых систем или не появляются в емкости накопителей. Это заставляет меня задуматься о том, возможно ли использование избыточного пространства на временной основе перед окончательной операцией записи optomized в блоки внутри файловой системы? Конечно, вклад Trim в динамическое выделение ресурсов в файловой системе не будет временным, поскольку они могут быть записаны напрямую, поскольку они уже находятся в используемом пространстве. Это по крайней мере моя теория. Может быть, мое понимание файловых систем неверно? Я не смог найти никаких ресурсов, которые подробно рассказывают об этом.