Твердотельный жесткий диск

  • Вид работы:
    Курсовая работа (т)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    1,63 Мб
  • Опубликовано:
    2014-05-04
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Твердотельный жесткий диск

1. История


История возникновения твердотельных накопителей (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 заключается в том, что системному контроллеру нет необходимости учитывать геометрию самого жесткого диска (количество цилиндров, сторон, секторов на цилиндре).

Если же данные удаляются, то есть пользователь удаляет файл на уровне операционной системы, то на самом деле они не удаляются с диска, а просто соответствующие данным логические 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)

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

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

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

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

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

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

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

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

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

Недостатки

§  Главный недостаток 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 Гбайт информации. При этом утверждается, что их методика может применяться и для получения массивов большего размера, поскольку определяющим фактором здесь являются возможности литографического оборудования. Специалисты подчеркивают, что данная методика в значительной мере совместима с нынешними технологиями полупроводникового производства и с небольшими затратами может быть внедрена на существующих заводах.


Список источников

1.      Твёрдотельный SSD накопитель http://it-master.od.ua/complect-computer/ssd-drive.html 28.02.2008. Загл. с экрана

.        SSD (твёрдотельный) накопитель, что это? Из чего состоит и как работает SSD. URL: http://www.xtechx.ru/spravochnik-hi-tech-terminov-i-kompanii/224-solid-state-drive-ssd-works-kak.html. 14.02.2012. Загл. с экрана.

Похожие работы на - Твердотельный жесткий диск

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!