SSD или все о твердотельных накопителях
С появлением на рынке в конце 2000-х годов накопителей на основе твердотельной полупроводниковой памяти со стандартным интерфейсом произошел настоящий переворот в системах хранения для портативной и домашней вычислительной техники.
До этого NAND-ячейки использовались для хранения данных только в специализированных суперкомпьютерах в лабораторных условиях, имели специфический формат и подключались уникальными, применимыми только в единичных случаях интерфейсами. Несмотря на присущую любой новинке дороговизну SSD демонстрировали высокую скорость случайного чтения и записи, огромное количество операций ввода-вывода в единицу времени и просто феноменально низкое время доступа. Многие крупные игроки рынка полупроводников включились в гонку технологий, стараясь предложить лучшие характеристики по низкой цене, включая Intel и известных производителей модулей RAM - Kingston, OCZ, Samsung. В результате потребители получили эффективный способ недорогого апгрейда и непревзойденную производительность файловых операций для своих домашних и серверных систем.
Технологии
SSD, или Solid-State Drive - твердотельный накопитель информации на полупроводниковых ячейках. Таким образом, основа любого SSD - особым образом сгруппированные ячейки энергонезависимой памяти нескольких различных типов конструкции, упакованные в банки, которые в свою очередь подключены к контроллеру, обеспечивающему логику адресации и процессов чтения, записи и передачи информации по шине интерфейса.
Ячейки могут различаться типом:
- SLC - Single Layer Cell, одноуровневая ячейка. Элемент такого типа может хранить лишь два состояния - 1 или 0;
- MLC - Multi Layer Cell, многоуровневая ячейка. В дополнение к логическим 0 и 1 они позволяет хранить еще два промежуточных состояния. Ячейки этого типа дешевле одноуровневых.
Почему же SLC быстрее MLC? Программирование, или запись, ячейки осуществляется короткими электрическими импульсами, помещающими в элемент некоторое количество электронов. Процесс этот крайне точен и в случае промаха требуется вновь стереть всю ячейку и попытаться записать ее снова. Для 2 уровней это просто, для 4 - намного сложнее и перезапись, а значит и задержка, и расход циклов записи - случаются чаще. За время жизни ячейка может быть стерта и записана примерно 10000 раз, после этого полупроводниковая основа деградирует и запись становится невозможной, хотя читаться ячейка будет.
Группировка ячеек в блоки позволяет упростить адресацию и сократить накладные расходы на обращение к двоичным байтам, словам и, в итоге, к файлам. Современные SSD имеют стандартный размер блока в 512 КБ или 1 МБ. При обращении на запись или чтение контроллер производит манипуляции именно такими страницами по 4КБ или блоками из 128 или 256 страниц.
Контроллер твердотельного накопителя выполняет жизненно важные функции и обеспечивает корректное взаимодействие ПК и всего SSD. Именно он отвечает за формирование очереди команд из NCQ и распараллеливание запросов на AHCI, контроль состояния ячеек и своевременную пометку сбойных, выполняет по запросу TRIM, помечая неиспользуемые в системе ячейки свободными. Контроллер реализует логику буферизированного чтения и записи, прогнозируя возможные запросы системы и производя упреждающее чтение или очистку лежащих впереди элементов, сокращая накладные расходы адресации и проверок SMART.
SSD в реальных приложениях
Почему же внутренние твердотельные накопители на флеш-памяти так быстро завоевали признание пользователей?
Благодаря немеханической природе процесса SSD имеют многократно, на порядки меньшую латентность и инертность. Это качество позволило ускорить самые распространенные операции, выполняемые на компьютере - случайное чтение-запись маленькими блоками по 4-8 КБ. Дело в том, что практически все функции и методы большинства программ вынесены в динамические библиотеки (DLL), и размер кода этих функций довольно мал. В итоге чем быстрее системе или программе удается найти, загрузить с диска в память и выполнить этот небольшой участок кода, тем объективно быстрее работает ПК, лучше утилизируется процессорное время и субъективно более отзывчивым становится компьютер для пользователя.
Самая часто выполняемая операция в современной Windows - чтение и запись ветки HKCurrentUser реестра с настройками приложений (NTUser.dat) и ОС и файла pagefile.sys, то есть файла подкачки, хранящего выгруженную из оперативной памяти информацию. Тут SSD с быстрой случайной записью и последовательным доступом к большим объемам данных раскрывает себя полностью, целиком окупая себя в сценариях загрузки ОС, запуска программ и работы с повседневным набором софта, вроде браузеров, офисных приложений, музыкальных и видеоплееров.
Некоторые программы для обработки цифрового контента, такие как Corel Draw, Adobe Photoshop, MS Visual Studio, Cubase и другие положительно реагируют на возможность быстро сохранять промежуточные файлы и своп, другие, как 3DMax. AutoCAD, WinRAR - в целом не испытывают прироста производительности, упираясь в вычислительную мощность CPU и скорость взаимодействия процессора с RAM. Но абсолютно все ПО после установки SSD запускается в разы быстрее, чем с традиционных HDD.
Еще больше выигрывают серверные приложения, от СУБД до веб-серверов, за счет беспрецедентно высокого количества операций ввода-вывода в секунду.
Кроме производительности SSD имеют еще несколько преимуществ:
- Энергопотребление на порядок ниже HDD;
- Абсолютная защита от вибраций и ударов;
- Бесшумность.
Рекомендации
Прежде всего, из-за совершенно особенной структуры SSD требуется применение современной, оптимизированной под твердотельный накопитель ОС: Windows 7, MacOSX 10.7, Linux с ядром 2.6.33. Более старые операционные системы могут израсходовать ресурс перезаписи флеш-накопителя за считанные месяцы.
Держите часть накопителя свободной - это необходимо контроллеру для сохранения максимальной производительности.
Перенесите неважные и некритичные к скорости файлы логов и временные директории на более медленный HDD. То же касается и редко используемых приложений.