Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Dokument_Microsoft_Office_Word.docx
Скачиваний:
22
Добавлен:
25.03.2016
Размер:
306.55 Кб
Скачать

Двумерная запись

Качественно новым словом в развитии HDD может стать двумерная магнитная запись (Two-Dimensional Magnetic Recording, TDMR), отличающаяся принципиально новыми алгоритмами обработки сигналов, включая обнаружение и декодирование. Конечная задача состоит в хранении в одном домене одного бита, причем, в отличие от BPM, домены являются естественными и небольшими. То есть в TDMR ставится сложная задача — до полного физического предела использовать потенциальную возможность магнитного носителя хранить биты. Теоретически в такую память можно записать ровно столько битов, сколько имеется доменов, причем это не искусственно созданные крупные домены, как в BPM, а кристаллы намного меньшего размера. На пути к TDMR необходимо преодолеть массу сложностей. По замыслу это решение напоминает магнитную память на ферритовых ячейках с тем отличием, что размеры ячеек в миллионы раз меньше и расположены не в виде регулярной матрицы с прошивкой проводами, а случайным образом и не на одной поверхности. Здесь придется решить два рода проблем, одна из них физическая, другая математическая. Физическая состоит в том, как адресоваться к отдельно взятому домену, для этого потребуются двумерные датчики и двумерные кодеры/декодеры. Решение математической проблемы связано с созданием алгоритмов обработки двумерных сигналов, и здесь предлагается использовать диаграмму Вороного, названную по имени российского математика Георгия Вороного  (1868—1908).  (Если имеется множество из n различных точек плоскости, то диаграмма Вороного — это такое деление плоскости на n ячеек, по одной на каждую точку, при котором точка принадлежит ячейке, если расстояние от нее доточки плоскости ячейки  меньше,  чем расстояние до любой другой точкиплоскости. —  Прим. ред.)

Проблемы и альтернативы флэш-памяти

Миниатюризация флэш-памяти уже перешла порог 10 нм. Ообъявлена новая технология TLC (Triple Level Cell), позволяющая хранить три бита в ячейке; TLC дешевле и плотнее, чем SLC и MLC. Однако корпоративное будущее флэш-памяти далеко не  безоблачно — например,  обеспечение надежности и долговременности хранения требует усложнения системного ПО и увеличения объемов резервной памяти, которой уже сейчас может быть вдвое больше, чем основной. Вместе с  тем  на текущий момент серьезной конкурентоспособной альтернативы по отношению к флэш-памяти нет, но имеется ряд перспективных подходов.

Резистор с памятью (Memristor). Эффект перехода проводника в измененное состояние при прохождении электрического тока был обнаружен сэром Хэмфри Дэви , учителем Майкла Фарадея, раньше, чем получили свои названия три основных пассивных элемента: сопротивление, индуктивность и конденсатор. Но до 2008 года, то есть 200 лет, этот эффект не находил практического применения, пока в HP Labs не занялись исследованием тонких пленок из диоксида титана. Оказалось, что мемристоры могут стать заменой не только флэш-, но и других типов памяти, причем на пути мемристоров, по утверждению исследователей, нет серьезных технологических проблем, и к исходу нынешнего деятилетия они могут стать основой для коммерческих изделий. Через тонкую пленку двухкомпонентного полупроводникового материала TiO2 $2 нижний индекс$ пропускают ток, приводящий к изменению кристаллической структуры и увеличению сопротивления на несколько порядков, причем при отключении источника тока это изменение сохраняется.

Магнито-резистивная память с произвольным доступом (Magneto-resistive Random-Access Memory, MRAM). Создание MRAM стало возможным благодаря открытию в 1988 году эффекта гигантского магнитного сопротивления, за которое в 2007  году  физикам Альберту Феру и Петеру Грюнбергу была присуждена Нобелевская премия. MRAM объединяет преимущества традиционных полупроводниковых и магнитных технологий. В отличие от  DRAM,  в MRAM данные записываются не с помощью электрических зарядов, а путем магнитной поляризации элементов памяти, что обеспечивает энергонезависимость  —  возможность сохранять записанные в ячейки данные при отключении питания. MRAM состоит из двух ферромагнитных слоев, разделенных тонким слоем диэлектрика. Один из слоев представляет собой постоянный магнит определенной полярности, а намагниченность другого слоя изменяется под действием внешнего поля. Логически MRAM организована как сетка из отдельных ячеек, содержащих элемент памяти и транзистор. Известно несколько способов  записи — от простейшего (но энергоемкого) до технологии переноса спинового момента. Считывание намного проще — достаточно измерить электрическое сопротивление ячейки.

С 1995 года агентство DARPA финансировало работы в этой области с участием компаний IBM, Motorola и Honeywell, а Hewlett-Packard, Matsushita, NEC, Fujitsu, Toshiba, Hitachi и Siemens вели собственные исследования. Однако пока до серьезной коммерциализации никто не дошел. Стоит отметить, что компания «Крокус Наноэлектроника», совместное предприятие Роснано и франко-американской Crocus Technology, запустила первую очередь MRAM на территории технополиса «Москва».

Память с изменением фазового состояния (Phase-change memory или PRAM). Появлением PRAM мы обязаны Стэнфорду Овшинскому, которого за его преданность науке и независимость мышления сравнивают с Эйнштейном, а за количество изобретений — с Эдисоном. Овшинский изучал способность халькогенидного стекла (chalcogenide glass) переходить из аморфного в кристаллическое состояние и обратно под воздействием тепла. В середине 50-х независимо от Овшинского халькогенидные стеклообразные полупроводники были открыты Б. Т. Коломийцем и Н. А.  Горюновой в Физико-техническом институте им. А. Ф. Иоффе — признано, что это открытие положило начало физике неупорядоченных полупроводников.

В PRAM используется тот факт, что в кристаллической фазе электрическое сопротивление халькогенида мало, а в аморфной — велико, что можно применить для двоичной записи. Переключение состояний осуществляется путем нагрева материала электрическими импульсами. Такая операция записи в отличие от флэш-памяти не требует стирания записанных ранее данных, что сокращает время. Скорость записи составляет порядка 10 наносекунд, что вполне сопоставимо со скоростью DRAM, при том что PRAM энергонезависима. Однако запись производится путем нагрева ячейки памяти — как следствие, для работы микросхемы требуется больше энергии, что означает повышенные токи и напряжения по сравнению с флэш-памятью. Долгое время лидером в области PRAM была компания Numonyx, но с 2014 года (после поглощения ее компанией Micron) это направление развивает только Samsung.

Память на доменной стене (Domain-Wall Memory, DWM). В основе DWM лежит перемещение магнитных доменов в нанотрубках с помощью спиновых токов (отсюда ее второе название — «беговая дорожка»). Магнитные домены перемещаются вдоль наноскопических трубок, и когда домен проходит мимо магнитных головок, расположенных вдоль трубки, происходит его переориентация. Первый образец такой памяти был продемонстрирован в 2008 году, и потенциально она может обеспечить существенно большую плотность записи, чем флэш-память, однако имеются проблемы, связанные с низкой скоростью перемещения магнитных доменов по нанотрубкам. На скорость передвижения влияют неоднородности в трубках.

Атомная память (Atomic memory). В январе 2012 года группа исследователей из IBM объявила о создании памяти, в которой для хранения одного бита достаточно 12 атомов — такая плотность на два порядка превышает все известные способы хранения. Работа выполнена совместно с немецким исследовательским центром German Center for Free-Electron Laser Science. Пока речь не идет о практическом применении этой памяти — ученым удалось лишь с помощью сканирующего туннельного микроскопа собрать атомную структуру и записать в нее девиз корпорации IBM «Think» в коде ASCII. Важно, что эта работа открывает возможность классическим цифровым компьютерам выйти на атомарный уровень, доступный квантовым компьютерам.

***

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

История возникновения твердотельных накопителей (SSD) начинается с 1978 года, когда компанией StorageTek был разработан первый полупроводниковый накопитель на основе RAM-памяти. Следующим шагов к современности стал 1982 год, ознаменовавшийся появлением полупроводникового накопителя на базе RAM-памяти (скорость считывания данных - 320 МБит/с). Год 1995 стал годом появления прародителя современных SSD накопителей (компания M-Systems презентовала полупроводниковый накопитель на основе flash-памяти). 2008 год ознаменовался выходом в свет твердотельного накопителя современного образца со скоростью записи считывания 240 и 260 Мб\сек соответственно от компании Mtron Storage Technology.

. SSD технология

накопитель твердотельный интерфейс

SSD (solid state drive, накопитель на твёрдотельной памяти, твёрдотельный накопитель - рус.) - накопитель информации, основанный на чипах энергонезависимой памяти, которые сохраняют данные после отключения питания. Являются относительно новым видом носителей информации, а первое проявление и развитие, чипы энергонезависимой памяти получили от Flash накопителей и обычной RAM памяти.

Содержит такие же интерфейсы ввода-вывода как и современные жёсткие диски. В SSD не используются движущиеся части и элементы как в электромеханических устройствах (жёсткие диски, дискеты), что исключает вероятность износа механическим путём.

Архитектура и функционирование твердотельных накопителейSSD накопителинакопители, которые были построенные на основе энергонезависимой памяти (NAND SSD), появились относительно недавно, но в связи с гораздо более низкой стоимостью (от 2 долларов США за гигабайт) начали уверенное завоевание рынка. На сегодняшний день скорость записи \ чтение SSD накопителей на уровне с традиционными жесткими дисками, с учетом использования интерфейса подключения SATA3 (до 6 Гб\сек.)SSD накопителидиски, построенные на основе энергозависимой памяти характеризуются очень большой скоростью чтения, записи и поиска информации. Главным недостатком накопителей RAM SSD, это высокая стоимость (до 800 у. е. за 1 Гб). RAM SSD накопители зачастую используются в системах управления баз данных и графических центрах. Для сохранения данных при отключении питания применяются аккумуляторы, либо система резервного копирования.

Большинство современных твёрдотельных накопителей основаны на энергонезависимой NAND памяти.

Существуют гибридные версии SSD и HDD накопителей (рисунок 1).

Рисунок 1. Гибрид SSD и HDD накопителя

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

3. Устройство SSD накопители (на примере NAND памяти)

Рисунок 2. Устройство SSD

Твёрдотельный накопитель состоит из самих чипов NAND, управляющего микроконтроллёра привносящего все функции, чипа энергозависимой кеш памяти и печатной платы на которой всё это распаяно.

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

Память.

Практически все твёрдотельные накопители высокого, среднего и бюджетного класса используют энергонезависимую NAND(flash) память из-за её относительно низкой стоимости, способности сохранять данные без постоянного поддержания питания и возможность реализации технологии сохранения данных при неожиданном отключении питания.

Благодаря компактной компоновке чипов, производители могут выпускать SSD накопители в формфакторе 1.8; 2.5; 3.5 дюйма и меньше, если речь идёт о устройствах без защитных упаковок. Например для ноутбуков или внутреннего размещения в компьютере.

В большинстве SSD накопителей используется дешёвая MLC (Multi Level Cell) - память, которая может вмещать в одну ячейку более одного бита. Это очень результативно сказывается на цене готового изделия и способствует популяризации данных накопителей. Но есть у MLC памяти и большие недостатки. Это низкая долговечность ячеек и более низкая скорость записи и чтения, чем у накопителей на основе SLC (Single Level Cell).записывают только один бит в ячейку и это обеспечивает до 10 раз лучшую долговечность и до 2-х раз более высокую скорость в сравнении с MLC. Есть и один недостаток - цена накопителей на SLC памяти примерно в два раза выше чем цена накопителей на MLC памяти. Это обусловлено большими затратами на производство, а в особенности потому, что чипов SLC того же объёма, требуется в среднем в два раза больше для достижения того же объёма в сравнении с MLC.

Контроллёр SSD.

Главной задачей контроллера является обеспечение операций чтения / записи, и управление структурой размещения данных. Основываясь на матрице размещения блоков, в какие ячейки уже проводилась запись, а в какие еще нет, контроллер должен оптимизировать скорость записи и обеспечить максимально длительный срок службы SSD-диска. Вследствие особенностей построения NAND-памяти, работать с ее каждой ячейкой отдельно нельзя. Ячейки объединены в страницы объемом по 4 Кбайта, и записать информацию можно только полностью заняв страницу. Стирать данные можно по блокам, которые равны 512 Кбайт. Все эти ограничения накладывают определенные обязанности на правильный интеллектуальный алгоритм работы контроллера. Поэтому, правильно настроенные и оптимизированные алгоритмы контролера могут существенно повысить производительность и долговечность работы SSD-диска.

В контроллер входят следующие основные элементы: - как правило 16 или 32 разрядный микроконтроллер. Выполняет инструкции микропрограммы, отвечает за перемешивание и выравнивание данных на Flash, диагностику SMART, кеширование, безопасность.Correction (ECC) - блок контроля и коррекции ошибок ECC. Controller - включает адресацию, шину данных и контроль управления микросхемами Flash памяти. Controller - адресация, шина данных и управление DDR/DDR2/SDRAM кэш памятью. /O interface - отвечает за интерфейс передачи данных на внешние интерфейсы SATA, USB или SAS. Memory - состоит из ROM памяти и буфера. Память используется процессором для выполнения микропрограммы и как буфер для временного хранения данных. При отсутствии внешней микросхемы RAM памяти выступает в роли единственного буфера данных SSD.

На данный момент в SSD применяются следующие модели контроллеров:

Indilinx «Barefoot ECO» IDX110MO1«Barefoot» IDX110M00PC29AS21BA0JMF602JMF61288SS9174-BJP2S3C29RBB01-YK40SF-1200SF-1500T6UG1XBG

Практически все показатели SSD накопителя зависят от управляющего контроллёра. Он включает в себя микропроцессор, который управляет всеми процессами памяти с помощью специальной прошивки; и моста между сигналами чипов памяти и шины компьютера (SATA3, USB).

Функции современного SSD контроллёра:

·Чтение запись и кеширование.

·Коррекция ошибок (ECC).

·Шифрование (AES).

·Возможность S.M.A.R.T мониторинга.

·Пометка и запись о нерабочих блоках для добавления их в чёрный список.

·Сжатие данных.

Все контроллёры памяти нацелены на параллельно подключенную NAND память. Так как шина памяти одного чипа очень мала (максимум 16 бит), используются шины многих чипов подключенных параллельно. К тому же, отдельно взятый чип отнюдь не обладает отличными характеристиками, а наоборот. Например высокую задержку ввода-вывода. Когда чипы памяти параллельно объединены, эти задержки скрываются, распределяясь между ними. Да и шина растёт пропорционально каждому добавленному чипу, вплоть до максимальной пропускной способности контроллёра.

Многие контроллёры, умеют использовать SATA 6 Гбит/c, что в купе с контроллёрами поддерживающими скорость обмена данными 500 мб/c, даёт ощутимый прирост производительности в чтении / записи и полное раскрытие потенциала SSD накопителя.

Кэш память.

В SSD накопителях применяется кэш память в виде энергозависимой DRAM микросхемы, наподобие как в жёстких дисках.

Рисунок 3. Кэш память

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

4. Интерфейсы для подключения SSD

Самыми распространёнными интерфейсами для SSD потребительского класса являются SATA 6 Гбит/c, PCI-Express и USB 3.0. Все эти интерфейсы способны обеспечить нужную пропускную способность для любого SSD накопителя.

В портативных устройствах вроде ноутбуков и планшетных компьютеров, наиболее часто встречаются компактные SSDнакопители с интерфейсом mini PCI-Express (mSATA).

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

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

А вот при изменении / стирании данных в SSD накопителе не так все просто. Микросхемы NAND флэш-памяти оптимизированы для секторного выполнения операций. Флеш-память пишется блоками по 4 Кб, а стирается по 512 Кб. При модификации нескольких байт внутри некоторого блока контроллер выполняет следующую последовательность действий:

считывает блок, содержащий модифицируемый блок во внутренний буфер/кеш;

модифицирует необходимые байты;

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

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

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

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

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

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

Раньше в интерфейсе ATA просто не было команд для физической очистки блоков данных после удаления файлов на уровне ОС. Для HDD они просто не требовались, но появление SSD заставило пересмотреть отношение к данному вопросу. В результате в спецификации ATA появилась новая команда DATA SET MANAGEMENT, более известная как Trim. Она позволяет OC на уровне драйвера собирать сведения об удаленных файлах и передавать их контроллеру накопителя.

В периоды простоя, SSD самостоятельно осуществляет очистку и дефрагментацию блоков отмеченных как удаленные в ОС. Контроллер перемещает данные так, чтобы получить больше предварительно стертых ячеек памяти, освобождая место для последующей записи. Это дает возможность сократить задержки, возникающие в ходе работы.

Но для реализации Trim необходима поддержка этой команды прошивкой накопителя и установленным в ОС драйвером. На данный момент только самые последние модели SSD «понимают» TRIM, а для старых накопителей нужно прошить контроллер для включения поддержки этой команды. Среди операционных систем команду Trim поддерживают: Windows 7, Windows Server 2008 R2, Linux 2.6.33, FreeBSD 9.0. Для остальных ОС необходимо инсталлировать дополнительные драйвера и утилиты.

Например, для SSD от Intel существует специальная утилита SSD Toolbox, которая может выполнять процедуру синхронизации с ОС по расписанию. Кроме оптимизации, утилита позволяет выполнять диагностику SSD и просматривать SMART-данные всех накопителей компьютера. С помощью SMART, можно оценить текущую степень износа SSD - параметр E9 отражает оставшееся количество циклов очистки NAND-ячеек в процентах от нормативного значения. Когда величина, уменьшаясь от 100, дойдет до 1, можно ожидать скорое появление «битых» блоков.

6. Устройство ячейки NAND памяти

Самой распространенной архитектурой флэшпамяти является архитектура NAND (рис. 4), соответствующая логической операции «И-НЕ». Операция NAND дает нулевое значение только в том случае, когда все операнды равны нулю, и единичное значение во всех остальных случаях. Архитектура NAND подразумевает последовательный способ подключения транзисторов, при котором сток каждого транзистора связан с истоком соседнего транзистора, а в серии нескольких последовательно соединенных транзисторов только один из них оказывается подключенным к линии битов. Причем при рассмотрении архитектуры соединения речь не идет конкретно о транзисторах с плавающим затвором.

Рисунок 4. Архитектура NAND

Рассмотрим группу таких последовательно соединенных транзисторов (без плавающего затвора) (рис. 5). В случае если управляющее напряжение на затворах всех транзисторов равно пороговому значению, то все транзисторы находятся в открытом состоянии и выходное напряжение (напряжение на битовой линии) будет низким, что соответствует логическому нулю. Если же входное напряжение хотя бы на одном транзисторе будет низким (ниже порогового значения), то есть если хотя бы один транзистор будет находиться в запертом состоянии, то напряжение на битовой линии будет высоким, что соответствует логической единице. Получаем таблицу истинности входных напряжений на затворах транзисторов (напряжений на линии слов) и выходного напряжения на битовой линии, соответствующую таблице истинности логической функции «И-НЕ» (NAND). Именно поэтому такая схема объединения транзисторов и получила название NAND.

Рисунок 5. Соединение транзисторов по схеме NAND

В схеме соединения NAND-транзисторов с плавающим затвором к группе последовательно соединенных транзисторов с обоих концов подключаются обычные транзисторы (без плавающего затвора), которые изолируют группу транзисторов и от земли, и от битовой линии и подключают всю группу транзисторов к битовой линии при их инициализации.

В сравнении с архитектурой NOR данная архитектура, в силу особенностей технологического процесса производства (объединение стоков и истоков соседних транзисторов и гораздо меньшее количество проводников), позволяет добиться более компактного расположения транзисторов, а следовательно, хорошо масштабируется. В отличие от NOR-архитектуры, где запись информации производится методом инжекции горячих электронов, в архитектуре NAND запись осуществляется методом туннелирования FN, что позволяет реализовать более быструю запись, чем для архитектуры NOR.

Естественно, возникает вопрос: каким образом в архитектуре NAND можно получить доступ к отдельно взятой ячейке памяти (прочитать содержимое ячейки)? Ведь если хотя бы один из транзисторов в такой последовательно соединенной группе будет находиться в закрытом состоянии (что можно трактовать как наличие заряда на плавающем затворе соответствующего транзистора), то напряжение на битовой линии будет высоким независимо от состояния остальных ячеек. Для того чтобы получить доступ к отдельно взятой ячейке, недостаточно просто подать пороговое значение напряжения на затвор транзистора, соответствующего этой ячейке, и измерить напряжение на битовой линии. Еще нужно, чтобы все остальные транзисторы при этом находились в открытом состоянии. Для этого на затвор транзистора, соответствующего ячейке памяти, чье содержимое необходимо прочитать, подается пороговое значение напряжения, а на затворы всех остальных транзисторов - напряжение, превышающее пороговое значение и достаточное для образования канала проводимости даже при наличии заряда на плавающем затворе, но недостаточное для эффекта квантового туннелирования зарядов. В таком случае все эти транзисторы переходят в открытое состояние и напряжение на битовой линии определяется наличием или отсутствием заряда на плавающем затворе транзистора, соответствующего ячейке памяти, к которой реализуется доступ.

Логическая структура nand флэшпамяти

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

Несмотря на тот факт, что флэшпамять позволяет получить доступ для чтения, записи и стирания отдельно взятой ячейки, для более эффективного использования элементарных ячеек памяти они были объединены в массивы с четырехуровневой структурой. На низшем уровне находится элементарная ячейка памяти, а элементарные ячейки, объединенные в массив, вмещающий 4 Кбайт данных, называются страницей памяти. 128 таких страниц образуют блок памяти размером 512 Кбайт (иногда в блок памяти входит 64 страниц), а 1024 блока - массив размером 512 Мбайт. Таким образом, логическая структура объединения ячеек в массивы довольно проста. Страница подобна кластеру (сектору) в жестком диске и представляет собой минимальный размер данных, с которым работает флэшпамять. Однако между кластером жесткого диска и страницей флэшпамяти существует принципиальная разница при выполнении операций чтения, записи и удаления. Так, если в жестком диске кластер можно прочитать, записать и удалить, то во флэшпамяти операции чтения и записи возможны страницами по 4 Кбайт, а стирание данных - только блоками по 512 Кбайт. Причем как только информация записана на страницу, она не может быть перезаписана до тех пор, пока не будет очищена (удалена).

Особенности операций записи данных в SSD-дисках

Итак, как мы уже отмечали, запись и чтение данных в NAND флэшпамяти возможны страницами по 4 Кбайт, а стирание данных - только блоками по 512 Кбайт. Вообще, процесс записи информации на SSD-диски сильно отличается от аналогичного процесса с HDD-дисками. С этим, к примеру, связано то, что производительность SSD-дисков меняется со временем, а скорости последовательного и выборочного доступа к флэшпамяти отличаются друг от друга. Для того чтобы объяснить эти явления, рассмотрим более подробно процессы записи на HDD- и SSD-диски.

В случае жестких дисков HDD наименьшая единица информации, которой оперирует система управления жесткого диска, носит название сектора или блока. В HDD размер сектора равен 4 Кбайт (в новых моделях) или 512 байт. Для адресации секторов (блоков) на диске используется метод LBA (Logical Block Addressing), при котором каждый блок, адресуемый на жестком диске, имеет свой порядковый номер - целое число, начиная с нуля (то есть первый блок LBA = 0, второй LBA = 1 и т.д.).

Преимущество метода LBA заключается в том, что системному контроллеру нет необходимости учитывать геометрию самого жесткого диска (количество цилиндров, сторон, секторов на цилиндре).

Теперь рассмотрим процесс записи данных на HDD-диск. Если данные записываются, к примеру, в блок LBA c определенным номером, то это означает, что они будут размещаться в определенном месте (на определенном цилиндре, дорожке и секторе) на диске. И сколько бы раз ни перезаписывался этот блок, данные всегда будут помещаться в одно и то же физическое место на диске, соответствующее номеру блока LBA. Если данные записываются в LBA-блоки с разными номерами, то это означает, что на диске они будут размещаться в разных местах, которые соответствуют номерам LBA-блоков. Если, к примеру, требуется записать на HDD-диск какойлибо файл, то первоначально он разбивается на блоки, каждому из которых присваивается определенный логический LBA-номер, а каждому логическому LBA-номеру соответствует жестко заданное место на диске.

Если же данные удаляются, то есть пользователь удаляет файл на уровне операционной системы, то на самом деле они не удаляются с диска, а просто соответствующие данным логические LBA-адреса на уровне операционной системы помечаются как свободные и могут в дальнейшем использоваться (данные могут перезаписываться). Важно, что контроллер самого HDD-диска ничего об этом не знает, однако для HDD-диска это не проблема, поскольку переписать LBA-блоки для HDD-диска не составляет труда.

В случае SSD-диска всё совсем по-иному. Дело в том, что в SSD-дисках нет однозначного соответствия между логическим номером записываемой порции данных (страницы) и ее физическим расположением во флэшпамяти. Еще раз напомним, что запись данных во флэшпамять производится страницами, а удаление - только блоками, причем для записи в уже использованную страницу ее предварительно необходимо очистить (стереть данные).

Во флэшпамяти данные преимущественно записываются последовательно, то есть они всегда записываются порциями по 4 Кбайт в следующую по порядку свободную страницу флэшпамяти. При этом логический адрес записываемой страницы (LBA) сопоставляется с физическим адресом (PBA), то есть с адресом расположения во флэшпамяти.

Для соответствия между логическими и физическими адресами (LBA-PBA mapping) предназначена специальная таблица соответствия логических и физических адресов. Эта таблица размещается в оперативной памяти SSD-диска.

При получении запроса на запись контроллер выделяет соответствующее число свободных страниц и заносит в таблицу соответствие между LBA- и PBA-адресами. Если же данные перезаписываются (то есть требуется записать данные с логическими адресами, которые уже заняты), то контроллер SSD-диска выделяет следующие свободные страницы памяти, а в таблице соответствия логических и физических адресов помечает страницы, в которые эти данные были записаны ранее, как содержащие устаревшую информацию. Важно, что при этом реально страницы с устаревшими данными не перезаписываются (как в HDD-дисках) и не удаляются.

Если же данные удаляются, то есть пользователь удаляет файл на уровне операционной системы, то, как и в случае HDD-диска, данные не удаляются с диска, а просто соответствующие данным логические LBA-адреса на уровне операционной системы помечаются как свободные и в дальнейшем могут быть использованы (данные могут перезаписываться). Важно, что контроллер самого SSD-диска ничего об этом не знает и считает соответствующие страницы памяти занятыми. То есть соответствующие страницы памяти не помечаются к удалению в таблице соответствия LBA- и PBA-адресов. Запись на SSD-диск в основном происходит последовательно, поэтому существует большая разница между записью на новый диск (на который данные еще не записывались) и на уже заполненный диск. Отметим, что заполненный диск с точки зрения пользователя может быть пустым, поскольку удаление данных с диска на уровне операционной системы еще не означает их реального удаления из флэшпамяти.

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

Естественно, при таком последовательном алгоритме записи неизбежна ситуация, когда весь диск будет заполнен, то есть на нем не останется блоков со свободными страницами, а будут лишь блоки, содержащие заполненные страницы с актуальными данными, и страницы, помеченные к удалению (рис. 6).

Рисунок 6. Запись данных на пустой и уже заполненный диски

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

Для того чтобы использовать блоки со страницами, помеченными на удаление, применяется метод переноса данных с помощью пустых и резервных блоков. Даже если пустых блоков в SSD-диске уже не осталось, всегда имеется определенное количество резервных блоков, применяемых для переноса данных. Чтобы удалить страницу с устаревшими данными, прежде нужно переместить из соответствующего блока страницы с актуальными данными в резервный свободный блок и уже потом удалить весь блок, содержащий страницы с устаревшими данными. Соответственно мы получаем частично занятый блок с перемещенными данными, доступный для записи, и пустой блок, который становится резервным. Однако в результате такого перемещения данных получается, что на SSD-диск приходится записывать больше данных, чем требуется. К примеру, если требуется записать всего одну страницу (4 Кбайт) и для этого нет свободного блока, то прежде нужно найти блок со страницами, помеченными на удаление. Если имеется блок, в котором помечена на удаление всего одна страница, то нужно переместить из этого блока в резервный блок остальные 127 страниц и дополнить его той одной страницей, которую нужно было записать. Затем блок со страницей, помеченной на удаление, стирается и становится резервным. Получается, что для записи всего одной страницы (4 Кбайт) приходится записывать 128 страниц (512 Кбайт), и это не считая того, что время тратится еще на чтение всего блока и его стирание. Именно поэтому скорость записи на новый диск (на который данные никогда не записывались) и на уже заполненный диск может кардинально различаться. Для того чтобы подчеркнуть принципиальную разницу в скорости записи на пустой и заполненный диски, используется такой показатель, как коэффициент усиления записи (Write Amplification), который показывает, во сколько раз больше данных приходится записывать, чем реально требуется. При записи на пустой диск коэффициент усиления записи равен единице, а при записи на заполненный диск он всегда больше единицы - его значение может колебаться от 2 до 25.

Рассмотренный пример является несколько идеализированным - в реальности механизм перемещения данных, то есть избавления от блоков со страницами, помеченными к удалению, используется по мере заполнения диска, причем с помощью как пустых, так и резервных блоков. Эту процедуру называют сбором «мусора» (Garbage Collection).

Существуют различные алгоритмы процедуры Garbage Collection, и разница между ними заключается в том, каким именно образом выбирается блок, используемый для перемещения данных. Понятно, что это должен быть блок, содержащий как можно больше страниц памяти, помеченных к удалению. Именно в этом случае можно минимизировать количество операций записи и, тем самым, уменьшить показатель Write Amplification. Кроме того, учитывая, что количество циклов перезаписи ячеек флэшпамяти ограничено, процедура Garbage Collection с выбором блока с наибольшим количеством страниц, помеченных к удалению, позволяет продлить время жизни SSD-диска.

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

Теперь нужно выяснить, откуда берутся те самые резервные блоки, которые применяются для перемещения данных. Если имеется SSD-диск, емкость которого составляет 160 Гбайт, то реально для записи доступно 160 десятичных, а не двоичных гигабайт. То есть реально емкость диска, доступная для записи, составит 160 000 000 000 байт, а не 171 798 691 840 байт, как в двоичной интерпретации (в двоичной интерпретации 1 Кбайт = 1024 байт). Разница между емкостью диска в двоичной и десятичной интерпретации как раз и составляет резерв блоков для перемещения данных (резервная область). В случае SSD-диска размером 160 Гбайт резервная область равна 11 798 691 840 байт, или примерно 11 Гбайт в двоичной интерпретации. Важно отметить, что резервная область диска - это не какойто выделенный участок блоков памяти. Резервные блоки как бы «размазаны» по всему диску, более того - их расположение динамически меняется во времени. Любой блок памяти может быть и резервным, и доступным для записи.

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

Разница между последовательной и случайной записью в SSD-дисках

Итак, мы рассмотрели первый феномен SSD-дисков, заключающийся в том, что скорость записи на новый и ранее использовавшийся диски может заметно различаться. Есть и другой феномен: разница в скорости последовательной и случайной записи. Казалось бы, если данные записываются на SSD-диск преимущественно последовательным образом, то можно вообще ли говорить о случайной записи? Однако не будем спешить с выводами. Представим себе последовательную (с точки зрения операционной системы) запись большого массива данных на пустой диск. То есть запись, при которой все логические LBA-адреса заполняются последовательно.

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

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

Рисунок 7. Разница между последовательной и случайной записью

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

Процесс оптимизации, по сути, состоит из объединения разрозненных маленьких фрагментов в один непрерывный сегмент. Одно такое объединение позволяет заменить несколько тысяч записей в таблице на одну запись. Объединение делается путем считывания разрозненных фрагментов и последовательной их записи в новый сегмент. Физические блоки, где эти фрагменты ранее размещались, помечаются как неиспользуемые.

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

Способы повышения производительности SSD-дисков

Как уже отмечалось, слабость SSD-диска заключается в том, что его производительность (скорость записи) со временем снижается. Напомним, что происходит это из-за того, что по мере заполнения диска уменьшается количество свободных блоков, которые можно использовать для перемещения данных.

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

Компания Intel приводит следующие данные для своих новых дисков X25-M размером 160 Гбайт. Если использовать диск (уже применявшийся) для случайных операций (чтение, запись) с блоками данных размером 8 Кбайт при соотношении операций чтения и записи 2:1 и использовать для записи всё доступное пространство, то есть все 160 Гбайт (размер резервной области по умолчанию), то мы получим производительность примерно 1400 IOPS. Если же сократить размер доступного для записи пространства до 96 Гбайт, тем самым увеличив размер резервной области, то производительность возрастет до 8300 IOPS. При сокращении используемого пространства до 128 Гбайт производительность увеличится до 5500 IOPS, а при сокращении до 144 Гбайт - до 3500 IOPS.

Естественно, возникает вопрос: каким образом можно регулировать размер резервной области с целью повышения производительности случайной записи? Самый простой вариант - создать на диске логический раздел (partition) меньше физического размера диска. В этом случае не применяемое для логического раздела пространство автоматически станет резервной областью диска. Правда, следует отметить, что данный способ годится только для нового диска, на котором до этого не создавалось логических разделов. Если же на диске первоначально был создан логический раздел по размеру всего диска и он ранее использовался, то создание нового логического раздела не приведет к ожидаемым результатам. В этом случае диск нужно прежде почистить, то есть принудительно очистить все блоки памяти. Обычная операция форматирования при этом помогает не всегда (это зависит от операционной системы, модели SSD-диска и версии прошивки диска), поэтому для очистки дисков иногда приходится применять специальные утилиты, о которых речь пойдет далее, а пока познакомимся с еще одним средством повышения производительности - командой TRIM.

Другой способ повышения производительности SSD-дисков в операциях записи заключается в том, чтобы периодически производить процедуру очистки диска от «мусора», то есть время от времени очищать блоки памяти от страниц, помеченных к удалению, увеличивая тем самым количество пустых блоков.

Для такой процедуры можно использовать специализированные утилиты (например, wiper.exe, которая поставляется с некоторыми моделями SSD-дисков или может быть просто скачана из Интернета, или фирменную утилиту для оптимизации производительности диска), которые сканируют диск и очищают его от страниц, помеченных к удалению.

Можно также вообще очистить все блоки диска от данных и фактически вернуть диск к своему первоначальному состоянию, то есть сделать из уже использованного диска новый диск (ранее не применявшийся). Для этого можно использовать утилиту HDD Eraser (запускается под DOS).

Другой подход заключается в том, чтобы переложить задачу очистки диска от «мусора» на операционную систему и сам диск. Для этого предназначена специальная команда TRIM.

Если операционная система и SSD-диск поддерживают команду TRIM, то при удалении некоторого файла с диска ОС посылает команду TRIM диску и дает ему знать, что данные из определенного набора страниц могут быть перезаписаны, то есть соответствующие страницы памяти помечаются к удалению и могут применяться в процедуре Garbage Collection. Важно отметить, что сама по себе команда TRIM не приводит к физическому удалению данных. Преимущество команды TRIM заключается в том, что с ее помощью можно увеличить количество блоков, содержащих страницы, отмеченные к удалению, и тем самым повысить эффективность процедуры Garbage Collection при выборе блока с наибольшим количеством страниц, отмеченных к удалению. Тем самым, команда TRIM способствует увеличению производительности диска, минимизируя избыточную запись при перемещении данных. Кроме того, использование команды TRIM позволяет снизить число перемещений данных в процедуре Wear Leveling.

Для работы команды TRIM необходима поддержка со стороны как ОС, так и SSD-диска. Команда TRIM реализована в операционной системе Windows 7, а также в ядре Linux начиная с ревизии 2.6.28. Кроме того, все основные производители SSD-дисков объявили о поддержке этой команды. Тем не менее не все старые SSD-диски ее поддерживают.

В операционной системе Windows 7 команда TRIM используется в таких операциях, как удаление файлов и даже форматирование. Поэтому если мы хотим увеличить размер резервной области диска для повышения его производительности за счет уменьшения логического раздела диска, то достаточно перед удалением старого логического раздела отформатировать его или просто удалить всё содержимое, а потом уже удалить старый логический раздел и создать новый. Если вы применяете операционную систему Windows 7 и у вас имеется RAID-массив из SSD-дисков, то тут уже не всё так просто. Для того чтобы использовать команду TRIM, нужно, чтобы драйвер RAID-контроллера ее поддерживал. Однако далеко не все RAID-контроллеры имеют соответствующие драйверы. Правда, если речь идет о RAID-контроллере Intel, интегрированном в чипсет, то в случае применения драйвера Intel RST версии 9.6 и выше команда TRIM будет работать и с RAID-массивом.

Как мы уже отмечали, очистку SSD-диска от «мусора» можно проводить и в ручном режиме с помощью специальных утилит. К примеру, компания Intel выпускает для своих SSD-дисков специальную утилиту Intel SSD Toolbox, которая, в частности, позволяет производить принудительную очистку диска от «мусора» и тем самым повышать его производительность.

Статистические данные

Твердотельные накопители (SSD) действительно очень быстро совершенствуются. Для тех кто все еще не верит в то, что SSD в ближайшем времени сможет стать основным типом накопителей для компьютеров и мобильных компьютерных систем (ноутбуков, планшетов и т.п.), предлагаем ознакомимся с некоторыми статистическими данными, подготовленными департаментом маркетинговых исследований Компьютерного Супермаркета НИКС.

Первый график демонстрирует стабильное снижение цены на SSD-накопители, начиная с 2009 года и заканчивая сегодняшним днем. Естественно, использовался общепринятый показатель - цена за гигабайт. В каждом году было найдено по три максимально дешевых SSD разной емкости и вычислена цена за каждый гигабайт объема этих накопителей. Вот что получилось:

Рисунок 8. Изменение цен на SSD

Из графика становится понятно, что практически всегда, кроме, пожалуй, 2009 года, было выгоднее покупать более емкий SSD. Но если в далеком 2009 году вы могли купить один гигабайт самого медленного (особенно по сегодняшним меркам) накопителя, емкостью 256 ГБ по цене около 64 руб., то сегодня, есть возможность купить один гигабайт не самого быстрого (зато доступного) SSD той же емкости всего лишь за 22 руб. То есть, вместо 64 x 256 = 16384 рублей, за целый накопитель вы заплатите 22 x 256 = 5632 рублей, а это почти в три раза дешевле! Разумеется, если вы хотите получить максимально быстрый, современный и надежный SSD придется платить за это несколько больше.

Следующий график показывает на сколько выросли максимальные скорости на чтение и запись современных SSD:

Рисунок 9. Изменение скорости чтения / записи со всременем развития SSD

На графике отчетливо видно, что уже в 2010 году SSD практически достигли максимального значения пропускной способности интерфейса SATA 3 Gb/s (SATA II), а уже в 2011 году очень вовремя появился новый интерфейс с вдвое большей пропускной способностью, которым тут же воспользовались производители SSD. Современные SSD, за счет использования более совершенных, чем год назад контроллеров, подбираются к порогу пропускной способности SATA 6 Gb/s (SATA III).

И в качестве окончательного подтверждения эволюционного развития твердотельных накопителей, был подсчитан рост максимальной емкости SSD с интерфейсом SATA:

Рисунок 10. Емкость SSD

В 2008 году даже при сильном желании и возможности, пользователи не могли найти SATA SSD емкостью более 120 ГБ. Зато сегодня можно купить маленький 2.5» SSD, вместимостью в 600 ГБ, при этом, сравнительно недорого.

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

К примеру, если сравнить 240 ГБ и 120 ГБ версию твердотельных накопителей Silicon Power V60 серии, то выяснится, что более производительным будет 240 ГБ накопитель.

7. Применение SSD накопителей

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

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

В некоторых ноутбуках применяется такая же схема, однако все чаще можно встретить модели ноутбуков, где используется только SSD накопитель. Кстати владельцы ноутбуков и нетбуков могут легко поменять HDD ноутбука на любой 2.5? SSD для увеличения общей скорости работы ноутбука.

Поскольку самым распространенным для SSD является форм-фактор 2.5?, а соответствующие отсеки в системных блоках чаще всего отсутствуют, многие производители включают в комплект поставки своих SSD переходник 2.5? ? 3.5?. Для тех 2.5? SSD, которые не имеют переходника в комплекте, всегда можно приобрести адаптер 2.5? ? 3.5? стороннего производителя.

Отличным показателем скорости работы современных SSD можно считать 450 - 550 Мб/с на чтение и запись, что уже почти соответствует верхнему порогу пропускной способности интерфейса SATA 6 Gb/s. Такую скорость сегодня способны обеспечить достаточно большое количество современных твердотельных накопителей, при этом цена этого класса накопителей стремительно снижается. Именно в этом сегменте находятся накопители, являющиеся идеальными или близкими к идеальному решениями с точки зрения соотношения цена / производительность. с более низкими скоростными показателями, а значит с устаревшими контроллерами и интерфейсом SATA II, все еще популярны благодаря сравнительно невысокой цене. При этом они все еще быстрее любого HDD для настольных ПК, и поэтому тоже имеют право на существование.

Максимальным быстродействием для SSD с интерфейсом SATA 6 Gb/s сегодня обладают сразу несколько серий SSD: Corsair Neutron Series GTX, OCZ Vertex 4, Plextor M5S, Intel 520 Series, Corsair Force GS/GT, Silicon Power Velox V60, Kingston HyperX, OCZ Vertex 3. Такие SSD способны обеспечить непревзойденную производительность вашему компьютеру или ноутбуку. Самым быстрым из указанных выше твердотельных накопителей является SSD Corsair Neutron Series GTX. Несмотря на сравнительно скромные заявленные скорости на чтение и запись, SSD данной серии оказались лучшими по результатам независимого тестирования в лаборатории Компьютерного Супермаркета НИКС.

Рисунок 11. SSD форм-фактор PC Card

Существуют также SSD, выполненные в форм-факторе PC Card, подключаемые к компьютеру по интерфейсу PCIe. Такие устройства фактически являются набором из RAID контроллера и нескольких SSD, объединенных в массив, с той лишь разницей, что все это уместилось на PCB самого контроллера. По понятным причинам, такие SSD являются самыми быстрыми среди всех твердотельных накопителей. Отдельно следует сказать о серии SSD OCZ IBIS, представляющих собой 3.5? накопители с интерфейсом HSDL - нестандартным интерфейсом разработанным компанией OCZ. Для подключения к компьютеру используется входящий в комплект поставки адаптер HSDLаPCIe.накопители заняли не только быстрорастущую часть рынка жестких дисков, но также применяются в качестве внешних накопителей, т.е. используются как внешние жесткие диски или флешки. Такому развитию событий способствовало появление обновленного интерфейса USB версии 3.0, пропускная способность которого выросла почти в 10 раз и стала достаточной для использования быстрых SSD накопителей с интерфейсом USB. Кстати, создать SSD с интерфейсом USB 3.0 самостоятельно очень легко - для этого потребуется любой 2.5» SSD с SATA-интерфейсом и внешний бокс для 2.5» накопителей. Однако следует понимать, что в 99% внешних боксов используются конвертеры SATA 3Gb/s -> USB 3.0, а не SATA 6Gb/s -> USB 3.0, поэтому при установке быстрого SSD с интерфейсом SATA 6 Gb/s скорость будет ограничена пропускной способностью интерфейса SATA 3Gb/s, то есть, приблизительно, до 250 ГБ/с.

Рисунок 12. Внешний SSD диск на основе USB 3.0

В серверостроении традиционно применялись дорогостоящие SSD накопители на основе SLC чипов памяти, ввиду их большей надежности и долговечности, являющихся важными факторами для серверов. Сегодня MLC чипы памяти ни в чем не уступают SLC чипам, поэтому даже серверные SSD сегодня производятся с применением данного типа чипов памяти. В целях экономии, а также благодаря таким технологиям, как MaxIQ (Adaptec) и Cash Cade (LSI), реализованных в RAID контроллерах некоторых производителей, SSD можно использовать в качестве кэш памяти массива из сравнительно дешевых и емких HDD. Также контроллеры компании Adaptec предлагают возможность создания специфического RAID массива, под названием HybridRAID, позволяя тем самым создавать массив уровня RAID1 или RAID10 из одного или нескольких SSD и соответствующего количества HDD. При этом скорость чтения при работе с таким массивом будет равна скорости чтения SSD, а скорость записи - скорости записи жесткого диска.

Из тех же соображений (в целях экономии) в современных настольных компьютерах также применяются технологии совместного использования HDD и SSD. Одной из таких технологий является Intel Smart Response, реализованная во всех материнских платах с чипсетом Intel Z68 и Intel 7-series. Для реализации технологии Intel Smart Response подойдут SSD, выполненные в форм-факторе mSATA, если материнская плата оснащена соответствующим портом mSATA. Эта технология позволит использовать SSD в качестве кэш-памяти винчестера, что существенно повысит скорость работы дисковой подсистемы. В материнских платах с вышеуказанными чипсетами, не оснащенных разъемом mSATA, можно использовать любой другой SSD с интерфейсом SATA, что со временем еще больше популяризирует эту технологию.

. Преимущества и недостатки по сравнению с жёсткими дисками (HDD)

Преимущества:

§отсутствие подвижных частей;

§скорости чтения и записи зачастую вплотную приближаются к пропускной способности интерфейса (SATA II 3 Gb/s, SATA III 6 Gb/s и т.д.) и возможностям применяемых контроллеров;

§низкая потребляемая мощность;

§полное отсутствие шума от движущихся частей и охлаждающих вентиляторов;

§высокая механическая стойкость;

§широкий диапазон рабочих температур;

§стабильность времени считывания файлов вне зависимости от их расположения или фрагментации;

§малые габариты и вес;

§большой потенциал для совершенствования характеристик накопителей и технологий их производства.

Недостатки

§Главный недостаток SSD - ограниченное количество циклов перезаписи: обычная (MLC, Multi-level cell, многоуровневые ячейки памяти) флеш-память позволяет записывать данные примерно 10 000 раз, более дорогостоящие виды памяти (SLC, Single-level cell, одноуровневые ячейки памяти) - более 100 000 раз (Для борьбы с неравномерным износом применяются схемы балансирования нагрузки. Контроллер хранит информацию о том, сколько раз какие блоки перезаписывались и при необходимости «меняет их местами»);

§Подпроблема совместимости SSD накопителей с устаревшими и даже многими актуальными версиями ОС семейства Microsoft Windows, которые не учитывают специфику SSD накопителей и дополнительно изнашивают их. Использование операционными системами механизма свопинга (подкачки) на SSD также, с большой вероятностью, уменьшает срок эксплуатации накопителя;

§Цена SSD накопителей существенно выше в пересчёте на единицу объёма. К тому же, стоимость SSD прямо пропорциональна их ёмкости, в то время как стоимость традиционных жёстких дисков зависит от количества пластин и медленнее растёт при увеличении объёма накопителя.

В твёрдотельных накопителях применяется команда (инструкция) TRIM для увеличения скорости записи. Совместно с некоторыми микроконтроллёрами, TRIM позволяет добиться и небольшого увеличения скорости чтения. Все твурдотельные накопители, которые выпускаются с 2012 года имеют поддержку TRIM. В более ранних, для включения данной инструкции может потребоваться прошивка новой микропрограммой. В большинстве случаев, при прошивке все данные безвозвратно удаляются.накопители ещё совсем новое поколение накопителей информации и они не являются сбалансированными во всех отношениях продуктами. Тем не менее, для энтузиастов, клиентов корпоративного класса и использования в серверных системах они выгодно отличаются по показателю производительности, что может быть решающим фактором к покупке. Новый виток эволюции, твёрдотельные накопители получат с массовым производством чипов памяти Ferroelectric RAM (FRAM, FeRAM). Это позволит повысить уровень долговечности ячеек SSD накопителей.

Но не факт что за SSD накопителями будущее. Каждый новый техпроцесс, как показала практика, уменьшает скорость чтения / записи и увеличивает количество возникающих ошибок, которые тоже нужно убирать с помощью системы коррекции ошибок в ущерб производительности. Причём для SLC этот показатель приемлем, но вот с MLC и TLC (triple level cell) всё очень и очень печально. С каждым новым поколением, без значительных новых прорывов, скорость будет падать. А к 4 нм, опустится практически до уровня HDD 2012 года.

9. Нанотехнологии и твердотельные накопители

Разработки в области нанотехнологий сегодня очень популярны в различных сегментах ИТ-рынка, и область запоминающих устройств не является для них исключением.

Одной из первых подобных разработок в области энергонезависимой памяти может похвастаться компания Motorola, которой принадлежит идея создания микросхемы памяти, основанной на использовании кремниевых нанокристаллов - образований, напоминающих сферы диаметром порядка 50 ангстрем, размещенных между двумя оксидными слоями и способных сохранять определенный заряд, за счет чего и ведется запись информации. Кстати, подобное решение всерьез рассматривается многими экспертами как наиболее вероятная замена нынешних технологий. Одной из главных проблем, которую удалось преодолеть специалистам Motorola, было получение монодисперсных нанокристаллов оптимального размера. Прототипы массива нанокристаллов были изготовлены на 200-мм кремниевых заготовках с применением 90-нм технологического процесса (одним из несомненных достоинств данной технологии является возможность использования существующего оборудования). Этот наномассив показал, что скорость функционирования флэш-памяти может быть заметно увеличена, поскольку туннелирование зарядов в нанокристаллы происходит значительно быстрее, чем в стандартные ячейки флэш-памяти, а уменьшение габаритов всего массива хранения информации может самым положительным образом сказаться на скорости работы управляющей микросхемами логики.

Ученые из Института технологий компании Samsung (Samsung Advanced Institute of Technology) совместно со специалистами из Национального университета Чонбук разработали собственный базовый метод для создания энергонезависимой памяти из нанотрубок. На их основе ученые создали транзистор, поверх которого расположен слой нитрида кремния, помещенный между двумя слоями оксида кремния. Такая многослойная структура способна удерживать электрический заряд, а транзистор нужен в качестве стока / истока. При вертикальном размещении, как отмечают специалисты, благодаря таким «носителям» информации можно создавать память с плотностью 200 Гбит/дюйм, что примерно в 200 раз выше плотности чипов, используемых сегодня. Такая память способна хранить данные в течение 10-15 лет.

И наконец, самой многообещающей разработкой устройств хранения на основе нанотехнологий считается энергонезависимая память NRAM (Nanotube-based/Nonvolatile RAM), которую предложили инженеры компании Nantero. Идея состоит в использовании углеродных нанотрубок с толщиной стенок в один атомный слой и диаметром порядка 20 нм, которые на двух кремниевых подложках заключены в массив таким образом, что образуют группу взаимно пересекающихся под прямым углом элементов. В исходном состоянии, соответствующем логическому нулю, нанотрубки не соприкасаются между собой и расстояние между ними составляет несколько нанометров. Однако приложенная к ним разность потенциалов приводит к их соприкосновению, и находятся они в таком положении до тех пор, пока к ним не подадут противоположное напряжение. За счет того что в двух противоположных состояниях эти элементы имеют различное электрическое сопротивление, возможно создание интерпретатора двоичной системы счисления. Причем, по словам специалистов Nantero, с целью достижения избыточности и предотвращения утери данных в одном бите участвует значительное количество таких пар.

О перспективах технологии Nantero говорят такие данные: плотность записи информации в устройствах NRAM может достигать 5 млрд бит на квадратный сантиметр (что в несколько десятков раз больше, чем в нынешних высокоемких микросхемах памяти), а частота обмена данными может составлять 2 ГГц.

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

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

Источники

https://ru.wikipedia.org/wiki

http://scsiexplorer.com.ua/index.php/ljudi-i-tehnologii/istorija-kompjuternoj-elektroniki/1359-istorija-zhestkogo-diska.html

http://komputercnulja.ru/sistem_blok/ustrojstvo-i-princip-raboty-zhestkogo

http://comprofit.ru/inform/index.php?id_page=2&id_article=13

http://hardwareguide.ru/

http://www.osp.ru/os/2014/04/13041245/

http://bibliofond.ru/view.aspx?id=725082

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]