Сегодня еще имеется немало желающих записать твердотельные накопители (Solid State Drive, SSD) в разряд "прорывных" технологий, поставив их в один ряд с изобретениями, изменившими ход технологической истории: транзисторами, микросхемами, микропроцессорами и т. д., однако SSD не смогут в ближайшей перспективе вытеснить вращающиеся жесткие диски (Hard Disk Drive, HDD): последнему бастиону механики в компьютерах пока нет полноценной замены. И дело даже не в высокой стоимости, а в природе данных, в которой не находится стимула для полного отказа от HDD в пользу SSD, равного по силе в упомянутых новациях. Чем дольше хранятся данные, тем менее они востребованы, к тому же в конкретный момент времени используется лишь небольшая толика всего их объема, поэтому нет острой необходимости переносить все данные на устройство, хотя и обладающее рядом преимуществ, но очень дорогое, а ведь при замене HDD на SSD той же емкости стоимость хранения сегодня в среднем удваивается. Кроме того, HDD активно совершенствуются, но особенно привлекательны компромиссные решения — гибридные диски (Hybrid HDD, H-HDD), которые могут занять свое место на рынке персональных систем.
В дисковой иерархии гибридные диски H-HDD занимают промежуточное положение между SSD и самыми быстрыми игровыми моделями HDD, уступая примерно 20% по быстродействию первым и опережая на столько же вторые, которых они дороже на 15%.
NAND и NOR
В том, на каких элементах строить SSD и H-HDD, разногласий нет. Имеется всего два типа полупроводниковой энергонезависимой памяти NOR (NOT OR, НЕ-ИЛИ) и NAND (NOT AND, НЕ-И), которые заменили собой все существовавшие до них решения класса EEPROM (Electrically Erasable Programmable Read-Only Memory). NAND и NOR изобрел физик из компании Toshiba Фуджио Мацуока в 1980 году, а широкой публике они были представлены в 1984-м на международном конгрессе International Electron Devices Meeting. Общим свойством (а скорее - врожденным дефектом NAND и NOR) является необходимость в предварительной очистке пространства хранения, такова особенность используемых в них полевых транзисторов. В обоих типах памяти стирание старой информации выполняется поблочно, но в NOR допускается чтение и запись по одному байту, а в NAND только блоками — здесь адресация к отдельному байту невозможна и обмен ведется постранично (частями блоков). Промышленное производство NOR началось раньше, чем NAND, в основном для различного рода встроенных устройств, а более поздний спрос на NAND возник в связи с необходимостью замены микродисков в фотокамерах и плеерах, а самым "убойным" их применением стали USB-флэшки.
Обычно и NOR, и NAND называют флэш-памятью, но, строго говоря, это название (от слова flash, «вспышка») относится только к NOR, которая позволяет делать "мгновенный снимок" данных, а блочная природа NAND исключает такую возможностью. В NOR используется интерфейс статической памяти SRAM для отображения всего адресного пространства и обращения к отдельному байту, что необходимо для обычных последовательных интерфейсов.
Если сравнивать два решения по скорости, то NOR быстрее читает, а NAND - пишет и стирает данные. Но основное качество, следующее из способа адресации и отличающее память NOR от NAND, заключается в том, что в первой реализуется модель "выполнения на месте" — XIP (Xecute In Place) и, с точки зрения выполнения программ, с ней можно работать почти так же, как с обычной памятью RAM. Поэтому NOR чаще используется в разного рода встроенных устройствах, где достаточно иметь объем памяти в пределах до 4 Гбайт и где не требуется высокой скорости записи, а важнее скорость чтения. А NAND идеально подходит для создания блочных устройств, аналогов HDD, поэтому их и называют твердотельными дисками.
В свою очередь технологии NAND делятся на два подмножества: на память с одноуровневыми (Single-Level Cell, SLC) и с многоуровневыми ячейками (Multi-Level Cell, МLC). В данном случае "много" не значит "лучше": создание многоуровневых полупроводниковых устройств не является чем-то принципиально новым — такого рода технологии известны со времен процессора работы с вещественной арифметикой Intel 8087. Обычно такие тонкие технологические детали остаются за кадром, однако в данном случае они имеют особое значение, поскольку позволяют делать устройства с разными свойствами. Ячейка SLC хранит один бит, а MLC — столько, сколько есть уровней (на данный момент - два или четыре), хранимое число может быть записано в двоичной системе. Высокая плотность записи MLC позволяет снизить удельную стоимость, и чем выше тираж, тем больше падение стоимости, что мы можем наблюдать на примере флэшек. Тем не менее для SSD пока подходит только SLC — здесь лучше эксплуатационные показатели (меньше размер блока, больше число циклов записи до разрушения ячейки, ниже температурные требования). В отдаленной перспективе возможность обновления систем хранения связывают с новыми типами энергонезависимой памяти. Сегодня ведется несколько исследовательских проектов, например создания памяти с фазовым переходом PRAM, магнитно-резистивной памяти MRAM, а особые ожидания связывают с памятью STT-RAM (Spin Torque Transfer), в которой используется передача спинового вращательного момента электронов.
Возможности SSD как устройств хранения данных диктует их физическая основа — NAND, собранная на полевых транзисторах, открытых в результате экспериментов, проведенных немецкими физиками еще в 30-е годы XX века. Технология, основанная на полевых транзисторах, получила название MOSFET (metal–oxide–semiconductor field-effect transistor). В отличие от обычного полупроводникового триода, у полевого есть сток, исток и два затвора: управляющий (control) и плавающий (floating), последний удерживает накопленные электроны, являющиеся носителями данных. При записи на управляющий затвор подается положительное напряжение, в результате часть электронов по пути от стока к истоку попадает в ловушку под плавающий затвор, и таким образом происходит акт записи. То есть один транзистор работает как триггер из двух триодов. В зависимости от величины заряда за плавающим затвором транзистор оказывается в одном из двух устойчивых состояний, оставаясь в нем десять и более лет. Стирание производится подачей отрицательного напряжения, тогда электроны из-под плавающего затвора попадают на исток. Наличие или отсутствие заряда обнаруживается величиной тока между стоком и истоком при чтении. Эта физическая красивая модель является причиной того врожденного дефекта, о котором уже шла речь и который имеет два проявления. Первое состоит в том, что, хотя время хранения заряда велико, но есть законы термодинамики и обратной диффузии, поэтому рано или поздно накопленный заряд исчезнет, а вместе с ним и данные. Второе, и более актуальное: со временем неизбежно происходит деградация материала p-n-переходов, как следствие число циклов записи-перезаписи лимитировано от 100 тыс. до нескольких миллионов - это много, но не бесконечно.
Архитектура NAND
Массив, состоящий из полевых транзисторов, разбивается на независимые блоки — наименьшие стираемые фрагменты. Блоки делятся на более мелкие единицы хранения — адресуемые страницы по 2-4 Мбайт, в блоке SLC обычно 64 страницы, а в MLC — 128. Кроме того, на каждой странице резервируется массив (в SLC — 64 байт, в MLC — 218 байт) для хранения кодов коррекции ошибок (ECC) и других метаданных. Запись осуществляется постранично, поэтому данные сначала накапливаются в буфере, а затем сбрасываются в NAND. Скорость записи на SLC находится в пределах 5,5-7,7 Мбайт/с, а на MLC — в пределах 3,9-5,5 Мбайт/с. С учетом необходимости предварительно стирать содержимое блоков, а это медленная операция, скорость записи падает до 5,1-6,9 Мбайт/с и до 3,8-5,4 Мбайт/с соответственно. Скорость чтения намного выше за счет, в частности, прямой адресации к странице и составляет 25-50 Мбайт/с. Скорость работы NAND может быть повышена на порядок и даже больше за счет кэширования (пока наполняется текущая страница, в буфере идет запись ранее заготовленной страницы) либо распараллеливания (устройство можно представлять в виде разделов и работать с разделами параллельно).
Для связи с внешней средой в устройствах NAND используют 8- или 16-разрядные шины, по которым передаются команды (чтение, запись, очистка), адреса и данные. Адрес указывает страницу и смещение в ней, а данные передаются, если устройство выдало индикатор готовности RDY (Ready). Протокол интерфейса не стандартизован, но принят большинством производителей, хотя имеются два конкурирующих интерфейса — проект стандарта ONFI (Open NAND Flash Interface) и NVMHCI (Non-Volatile Memory Host Controller Interface).
При оценке надежности памяти NAND приходится использовать несколько необычные характеристики.
- Износ затвора. Изолятор, обеспечивающий сохранность заряда в полевом транзисторе, деградирует, а скорость деградации зависит от устройства NAND; соотношение допустимого числа выполненных циклов для SLC, 2 MLC (два уровня) и 4 MLC (четыре уровня) находится в пропорции 100:10:1.
- Способность хранить заряд. В процессе эксплуатации сокращается время сохранности данных.
- Нарушения при записи и чтении. Применение более высоких напряжений при операциях чтения и записи может повлиять на соседние ячейки, хотя система ЕСС позволяет это исправлять.
Hybrid HDD
Внешне SSD есть не что иное, как упаковка памяти NAND в конструктив HDD, поэтому весьма показателен альянс Intel и Hitachi Global Storage Technologies, результатом деятельности которого стал диск Ultrastar SSD400S, выпускаемый в версиях 100, 200 и 400 Гбайт и в двух конструктивных исполнениях: 2,5 дюйма с интерфейсом SAS (пропускная способность 6 Гбит/с) и 3,5 дюйма с интерфейсом Fibre Channel (4 Гбит/с). В этом изделии собран технологический опыт Hitachi GST, накопленный при создании жестких дисков, и наработки Intel в части SLC NAND. Заслуга производителя дисков в том, что SSD представляется полностью программно совместимым с HDD, следовательно, для него не нужны новые драйверы, а процесс установки не отличается от работы с традиционными жесткими дисками. Сейчас производятся только SLC NAND, но со временем могут появиться менее скоростные MLC NAND.
К числу преимуществ SSD относится меньшая задержка, ведь HDD не обеспечивают прямого доступа к данным и в них неизбежна задержка на время подвода к головке нужной записи, а электроника и прямой доступ обеспечивают SSD на два порядка более высокую скорость выполнения операций ввода/вывода. Но можно найти режимы, в которых SSD уступают HDD, например при случайной записи, когда существенную часть времени займет очистка.
Практическую альтернативу SSD могут составить H-HDD, идея которых вовсе не нова — первый патент был получен в 2004 году группой инженеров из Microsoft, работавших по проекту Piton. Однако простая замена HDD на H-HDD невозможна — проблема в том, что именно будет поддерживать работу H-HDD: собственный контроллер диска, унифицирующий его с обычными HDD и скрывающий от операционной системы его специфические особенности либо модифицированная ОС и специализированные драйверы.
Передача полномочий операционной системе проще, поэтому первые практические попытки создания гибридных дисков, относящиеся к 2007 году, когда компании Seagate и Samsung объявили об установке флэш-памяти NAND в платах управления HDD моделей Spinpoint MH80 и Momentus 5400 PSD, были ориентированы на поддержку со стороны ОС. Однако, как показала практика, эта задача была не из простых, и появившаяся к тому моменту операционная система Windows Vista оказалась неспособна поддерживать H-HDD, и в ноутбуках, где гибридные диски устанавливались штатно, эту функцию приходилось отключать. Никто из других производителей дисков по этому пути не пошел. Тем не менее направление, ориентированное на поддержку H-HDD со стороны ОС, развивается и сегодня — соответствующие функции имеются не только в Windows 7, но и в Windows Server 2008 R2, OpenSolaris, Linux, FreeBSD и Mac OS X. Модернизированные ОС способны поддерживать работу твердотельных и гибридных дисков с использованием общей команды TRIM, введенной в состав перечисленных систем. Команда TRIM обеспечивает взаимодействие между ядром ОС и контроллером диска, передавая в контроллер информацию об использованных блоках данных и о том, какие блоки больше не используются и могут быть очищены накопителем самостоятельно. Суть команды заключается в ее названии TRIM, в данном случае перед нами не аббревиатура, а слово, которое можно перевести как "удаление из объекта области, перекрытой другим объектом"; команда эта входит в спецификацию интерфейса ATA. Использование TRIM упрощает процедуры сборки мусора, без которых падает производительность накопителя. Использование TRIM в ОС имеет целый ряд ограничений, в частности команда неэффективна при работе с сильно фрагментированными дисками H-HDD, она не работает с виртуальными дисками, хранящимися в виде образов, и не всегда поддерживается в массивах RAID. Поэтому данное решение следует рассматривать как некий паллиатив, поскольку такого рода недостатками не страдают диски H-HDD и SSD, имеющие собственные развитые контроллеры и не нуждающиеся в специальных драйверах и поддержке со стороны операционной системы. Функция ReadyDrive в Windows Vista и Windows 7 ускоряет загрузку ОС и пробуждение компьютера из спящего режима. Она будет стандартизирована в ATA-8.
Для поиска альтернативного решения в 2007 году был создан союз Hybrid Storage Alliance, куда вошли Seagate, Hitachi, Samsung, Fujitsu, Toshiba и Western Digital. Первый полноценный диск H-HDD, способный заменить HDD без каких-либо дополнительных нагрузок на ОС, предложила Seagate — ее изделие Seagate Momentus XT сочетает в себе стандартный 2,5-дюймовый диск со скоростью вращения 7200 оборотов в минуту емкостью от 250 Гбайт до 1000 и 4 Гбайт SLC. Оно примерно в два раза дороже, чем диск средней производительности с той же скоростью вращения. Согласно данным Seagate, гибридный диск по производительности уступает примерно 20% диску SSD и на 30% опережает обычный HDD со скоростью вращения 10 000 оборотов в минуту.
Помимо сокращения времени выполнения приложений, гибридный диск обеспечивает пользователям персональных систем уменьшение времени первоначальной загрузки компьютера и восстановления после спящего режима; сокращение энергопотребления; повышение надежности диска за счет уменьшения перемещений головок.
Рис. 1. Гибридный диск со встроенной памятью NAND |
Рис. 2. Гибридный диск HDD с внешней памятью NAND |
Для того чтобы по достоинству оценить достижение Seagate, необходимо понять, с какими сложностями пришлось столкнуться при реализации, казалось бы, тривиальной идеи интеграции SSD с HDD. Вообще говоря, при создании гибридного диска можно пойти двумя путями: встроить в HDD модуль NAND (рис. 1) или использовать стандартный HDD в сочетании со специальным контроллером (рис. 2). В любом случае предстоит решить, кто и как будет распределять функции между HDD и NAND. В первом варианте для управления NAND требуется вспомогательный драйвер, который может входить в состав ОС. Примером такого решения является гибридный жесткий диск Samsung SpinPoint MH80, выполненный на базе SpinPoint M80 и дополненный 256 Мбайт энергонезависимой флэш-памяти (Non-Volatile, NV), поддерживаемый Windows. Специально для работы с H-HDD в спецификацию ATA8-ACS ввели две опции: набор команд NV Cache command, состоящий из команд для резервирования пространства на памяти NAND и управления ею, и отдельную команду NV Cache Power Mode, которая управляет вращением диска, отключая и включая его по необходимости. Система Windows автоматически распознает H-HDD и умеет работать с флэш-памятью диска. Альтернативный подход к H-HDD на основе внешнего кэширования предложила корпорация Intel в проекте Robson Cache, которая с 2007 года серийно выпускает плату Intel Turbo Memory, устанавливаемую в ноутбуках Acer, Asus, Dell, Lenovo и Toshiba. Плата Intel Turbo Memory поддерживается операционной системой Windows Vista и выше.
Несмотря на то что среди разработчиков и производителей H-HDD имеются солидные компании, на рынке не было простого и универсального решения, то есть такого диска H-HDD, который бы монтировался точно так же, как HDD, не требуя никакого дополнительного ПО. Исключение составил диск Seagate Momentus XT, за совместную работу компонентов SSD и HDD в нем отвечает технология Seagate Adaptive Memory, позволяющая без помощи ОС определять наиболее часто используемые данные и перемещать их на SSD для ускоренного доступа. Эта технология обладает способностью к обучению — «освоившись» за три-четыре включения компьютера с загрузкой ОС, она позволяет затем запускать компьютер вдвое быстрее, а производительность ноутбука в среднем возрастает на 90%. Данные, поступающие от приложений, сначала записываются на HDD, затем производится анализ порядка их использования, и только после этого они зеркалируются в NAND для обеспечения более быстрого доступа к наиболее востребованным данным. Этот алгоритм не только оптимизирует доступ к данным, но и благодаря тому, что через NAND проходят не все записанные данные, повышает ресурс H-HDD. Тестирование показало, что при ежедневной записи 250 Гбайт на протяжении пяти лет не было обнаружено видимых признаков деградации. Но, даже если NAND выйдет из строя, то и тогда потери данных не будет, они защищены зеркалированием.
***
На сегодняшний день у устройства Momentus XT нет конкурентов - этот диск может заменить любой существующий жесткий диск при одновременном повышении производительности, однако в 2011 году они обязательно появятся. Диски H-HDD, сочетающие в себе лучшее из двух миров HDD и SSD, можно использовать как в больших корпоративных системах, так и в любых других, реализующих простейшую схему Direct Attached Storage.