Как работает SSD накопитель.

30
Июль
0

Добрый день! Хочу снова вернуться к теме SSD дисков. Мне интересна эта тема и я регулярно ищу новую информацию касающуюся этого типа накопителей, недавно обнаружил новый сайт посвященный SSD накопителям и всему что с ними связано. Называется сайт очень просто –  allssd.ruМатериалы на сайте рассчитаны на широкий круг читателей, так новичков вполне возможно заинтересует “глобальный FAQ по SSD” в котором даны ответы на большинство популярных вопросов касающихся SSD накопителей, а в разделе “все что нужно знать о ssd” ответы на свои вопросы “что это такое” и “как это сделать” смогут найти не только чайники, но и более опытные пользователи. Кроме того на сайте собраны полезные утилиты для мониторинга состояния SSD накопителя, тестирования производительности и тонкой настройки системы для работы с SSD. Кроме того на сайте выкладываются обзоры новинок в мире SSD дисков, а также обновления прошивок которые для своих накопителей предлагают производители этих устройств. В общем сайт весьма интересный и познавательный, на нем есть что почерпнуть нового и в качестве примера такой информации предлагаю поговорить об отличиях в алгоритмах работы SSD и HDD дисков.

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

Теперь перейдем к записи. Для HDD ситуация совершенно не меняется, а вот у SSD накопителя операция изменения или стирания данных уже не так проста как чтение. Микросхемы NAND Flash памяти, на которых собраны современные SSD диски, оптимизированы для секторного выполнения операций. Есть определенные ограничения, Flash память пишется блоками по 4 Кб, а стирается по блоками по 512 Кб. При изменении  всего нескольких байт внутри какого либо блока контроллер SSD выполняет целый ряд действий, а именно:

- считывает блок который необходимо измениеть во внутренний буфер/кеш;

- меняет необходимые байты;

- выполняет стирание блока в микросхеме флэш-памяти;

- вычисляет новое местоположение блока в соответствии с требованиями алгоритма перемешивания;

- записывает блок на новое место.

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

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

Если раньше в интерфейсе ATA отсутствовали команды для физической очистки блоков данных после удаления файлов на уровне ОС, поскольку для обыкновенных HDD они не требовались, то с появлением SSD в спецификации ATA появилась новая команда DATA SET MANAGEMENT (которая более известна нам как Trim). Она позволяет операционной системе на уровне драйвера собирать сведения об удаленных файлах и передавать их контроллеру накопителя для обработки. Таким образом, в периоды отсутствия нагрузки, SSD самостоятельно осуществляет очистку и дефрагментацию блоков которые отмечены ОС как удаленные. Контроллер накопителя освобождает место для последующей записи путем перемещения данных так, чтобы получить максимум предварительно стертых ячеек памяти.

Для нормальной работы необходима поддержка команды Trim и прошивкой накопителя и установленным в ОС драйвером. На поддержку команды Trim прошивкой нужно обратить внимание при выборе накопителя а поддержка этой команды в СО реализована на данный момент в Windows 7, Windows Server 2008 R2, Linux 2.6.33, FreeBSD 9.0. Для всех остальных ОС необходимо устанавливать дополнительные драйвера и утилиты. Так, например, для SSD от Intel существует специальная фирменная утилита SSD Toolbox, которая выполняет синхронизацию с ОС по расписанию. Кроме того утилита выполнять диагностику SSD и просматривать SMART-данные накопителя. При помощи SMART, а точнее параметра E9 (который отражает оставшееся количество циклов очистки NAND-ячеек в процентах от нормативного значения), можно оценить текущую степень износа SSD. Когда значение этого параметра станет приближаться к единице –пришла пора ожидать появления «битых» блоков.

Ну вот и все пока. Как видите у SSD накопителей есть свои нюансы и их необходимо знать для того чтобы можно было повысить производительность своего компьютера. А для того чтобы знать все особенности SSD дисков, тонкости их настройки и оптимизации ОС для работы с SSD, да и просто для того чтобы быть в курсе новостей в этой области “железа” – рекомендую почаще заглядывать на сайт  allssd.ru.

Рубрика: Железо
Нет комментариев

Отзывов нет

Комментариев пока нет.

Ваш отзыв

RSS-лента комментариев