RSS    

Видеокурсы

Видеокурсы по ВТ


Как работают носители SSD? Перспективы Intel Optane

В обществе технарей уже давно обсуждается разница между различными типами структур NAND - вертикальной NAND, многоуровневой (MLC), трехуровневой (TLC). Теперь давайте поговорим о более важном вопросе: как SSD работают в первую очередь и как они работают с новыми технологиями, такими как Intel Optane?

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

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

С самого начала было ясно, что жесткие диски не могут соответствовать скоростям, с которыми могут работать процессоры. Задержка в жестких дисках измеряется в миллисекундах, по сравнению с наносекундами для вашего типичного процессора. Одна миллисекунда составляет 1 000 000 наносекунд, и обычно жесткому диску требуется  10-15 миллисекунд, чтобы найти данные на диске и начать их считывать. Индустрия жестких дисков непрерывно совершенствуется, диски уменьшаются в габаритах, используются кэши памяти на диске и более быстрые скорости шпинделя. Семейство VelociRaptor со скоростью от 10 000 об/мин. от Western Digital - лидеры среди винчестеров для потребительского рынка, в то время как некоторые корпоративные диски имеют скорость  15 000 об / мин. Проблема в том, что даже самый быстрый вращающийся накопитель с самыми большими кэшами и самыми маленькими пластинами по-прежнему очень медленный по сравнению с вашим процессором.

 

Типы твердотельных дисков

«Если бы я спросил людей, чего они хотели, они бы сказали - хотим быть быстрее лошадей» - когда-то сказал Генри Форд. 

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

Структура флеш-памяти

 

На приведенной выше диаграмме показана простая конструкция флэш-памяти. Электроны хранятся в плавающих затворах, которые затем считываются как "0" - при наличии заряда или "1" - при его отсутствии. Да, в памяти NAND значение "0" означает, что данные хранятся в ячейке - это противоположно тому, как мы обычно думаем о значении "0" или "1" на физическом уровне, уровне электроники. 

Флэш-память NAND организована в группы. Единица группы называется блоком, а отдельные строки, составляющие группу, называются страницами. Общие размеры страниц: 2K, 4K, 8K или 16K, с 128 до 256 страниц на блок. Поэтому размер блока обычно колеблется между 256 КБ и 4 МБ.

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

 

 

Тип памяти

SLC

MLC

TLC

HDD

RAM

Количество циклов

100000

10000

5000

*

*

Бит на ячейку

1

2

3

*

*

Задержка поиска (ps)

*

*

*

9000

*

Задержка чтения (ps)

25

50

100

2000-7000

0.04-0.1

Задержка записи (ps)

250

900

1500

2000-7000

0.04-0.1

Задержка стирания (ps)

1500

3000

5000

*

*

 * не применимо

 

Типы памяти NAND: SLC, MLC и TLC

 

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

SLC является самой старой из трех технологий, и вы вряд ли найдете современный SSD с такой NAND. На борту большинства накопителей сейчас MLC, а TLC – это новое слово на рынке памяти для твердотельных накопителей. Вообще, TLC давно используется в USB-флэшках, где выносливость памяти не имеет практического значения. Новые технологические процессы позволяют снизить стоимость гигабайта TLC NAND для SSD, обеспечивая приемлемое быстродействие и срок службы, в чем заинтересованы все производители. 

NAND не так быстро, как основная память (RAM), но на несколько порядков быстрее, чем жесткий диск (HDD). И хотя задержка при записи данных в ячейку для NAND значительно больше, чем задержка при чтении, эта технология значительно опережает традиционные носители.

В приведенной выше таблице есть две интересные детали. Во-первых, добавление большего количества бит на ячейку NAND оказывает значительное влияние на производительность памяти. Хуже для записей, но не особо для чтения - типичная задержка на уровне трех ячеек (TLC) в 4 раза хуже по сравнению с одноуровневой ячейкой (SLC) для чтения, но в 6 раз хуже для записи. Кроме того, значительно снижаются латентные задержки. Влияние не пропорционально, либо - TLC NAND почти в два раза медленнее, чем MLC NAND, несмотря на то, что пропускается на 50% больше данных (три бита на ячейку вместо двух).

 

TLC NAND

 

Причина, по которой TLC NAND медленнее, чем MLC или SLC, связана с тем, как данные перемещаются в ячейку NAND и выходят из нее. В случае SLC NAND контроллер должен знать только, является ли бит 0 или 1. В MLC NAND ячейка может иметь четыре значения - 00, 01, 10 или 11. С помощью TLC NAND ячейка может иметь восемь значений. Чтение правильного значения из ячейки требует, чтобы контроллер памяти использовал очень точное напряжение, чтобы выяснить, есть ли заряд в какой-либо конкретной ячейке или нет.

 

 

 

 

 

Чтение, запись и стирание

Одним из функциональных ограничений SSD является то, как быстро они могут считывать и записывать данные на пустой носитель. Запись данных намного медленнее операции чтения. Это связано с тем, что, когда SSD считывает данные на уровне страницы (отдельные строки в группе памяти NAND) и записывает данные на уровне страницы, система предполагает, что окружающие ячейки пусты. Однако это может быть и не так, и осуществить выборочную запись сложно.

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

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

Diagram-1-640x4511

Обратите внимание, что в этом примере накопитель воспользовался тем, что он может писать очень быстро на пустые страницы, записывая новые значения для первых четырех блоков (A'-D '). Также было записано два новых блока: E и H. Блоки A-D теперь отмечены как устаревшие, то есть они содержат информацию, которую диск отметил как не актуальную. В течение периода ожидания SSD переместит свежие страницы на новый блок, удалит старый блок и пометит его как свободное пространство. Это означает, что в следующий раз, когда SSD должен выполнить запись, он может напрямую писать в пустой блок Block X, а не выполнять цикл программы / стирания.

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

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

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

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

 

Контроллер SSD

На сегодняшний день SSD требует гораздо более сложных механизмов управления, чем жесткие диски. С одной стороны, решение механических проблем, связанных с балансировкой нескольких головок чтения/ записи и парящими над дисками, вращающимися со скоростью от 4 600 до 15000 об / мин, - это не чихать. Тот факт, что жесткие диски выполняют эту задачу и обеспечивают конечную цену устройств в 3-5 рубля за гигабайт информации, просто невероятно.

Контроллер SSD

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

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

 

В каких SSD установлена самая лучшая память

  • производителей NAND можно пересчитать по пальцам одной руки
  • в современных твердотельных накопителях используется два типа NAND: MLC и TLC
  • MLC NAND различается интерфейсами: ONFi (Intel, Micron) и Toggle Mode (Samsung, Toshiba)
  • ONFi MLC NAND делится на асинхронную (дешевле и медленнее) и синхронную (дороже и быстрее)
  • производители SSD используют память разных интерфейсов и типов, создавая разнообразный модельный ряд на любой кошелек
  • официальные спецификации редко содержат конкретную информацию, но базы данных SSD позволяют точно определить тип NAND

 

M.2, PCIe, mSATA и SATA


В относительно старых ноутбуках единственным интерфейсом для подключения SSD является интерфейс SATA. Как правило, речь идёт о полноразмерном SATA, хотя компактные SSD могут составить исключение из этого правила. Так как SATA используется для подключения дисков к стационарным компьютерам, то именно этот вариант подключения используется в недорогих моделях SSD. В зависимости от древности, могут поддерживаться SATA 1, 2 или 3. Необходимо отметить, что замена HDD на SSD в случае, если ваш ПК либо ноутбук поддерживает лишь первую версию интерфейса SATA не принесет Вам все радости. Хотя система и ускорится за счет уменьшения времени поиска данных по накопителю, но ограничения скорости интерфейса сведут на нет достижения быстродействующего SSD. Попутно заметим, что SATA 3 на рынке достаточно давно, и скорее всего, у вас оборудование поддерживает именно его. Скорость передачи данных через SATA 3 — до 6 Гбит/с, и это повод для использования современных SSD. Хотя современные SSD способны на большую скорость передачи, чем та, которая обеспечивается SATA 3 

 

Современным вариантом интерфейса SSD можно считать разъем M.2. Именно M.2 позволит работать современной системе с максимальной скоростью. Новый стандарт появился в ноутбуках еще до того, как mSATA стал популярным, за счёт снижения цен на накопители он почти сразу стал доминирующим на рынке, а интерфейс mSATA превратился в в "запасной" вариант. По сути, интерфейс M.2 — это вариант вывода шины PCI Express 3.0 с поддержкой 4 линий. Таким образом, M.2 позволяет достичь скорости передачи данных 4 ГБ/с, что значительно превышает возможности SATA. 


Однако нужно учесть, что даже если накопитель установлен в разъём M.2, он может по-прежнему использовать интерфейс SATA, а значит — работать в том же скоростном режиме, что и с более старыми разъемами. Тем не менее, преимущество все равно будет, так как носитель сможет раскрыть весь свой скоростной потенциал.

 

AHCI и NVMe (Non-Volatile Memory)?


На одном и том же физическом разъеме могут работать накопители с разным типом контроллеров. В эпоху наибольшей популярности жёстких дисков контроллер AHCI научился прокачивать их за счет работы с очередью команд NCQ (Native Command Queuing). Но сегодня он является узким местом между диском и процессором, а его более современный конкурент NVMe де-факто является PCI-устройством и, теоретически, мог бы работать на скорости самой шины PCI Express. NVMe может обрабатывать до 65536 одновременных запросов, тогда как режим AHCI поддерживает только 32 запроса. 

Надо отметить, что накопители, которые используют NVMe контроллер, потребляют в 2-3 раза больше электроэнергии, чем их братья на базе AHCI. Поэтому если речь идет о мобильном ноутбуке с длительным временем автономной работы, использование накопителя с AHCI-контроллером может быть предпочтительнее, несмотря на более высокую производительность NVMe. При этом диски с любым из этих контроллеров могут быть установлены в интерфейс M.2.
 

Будущее  SSD

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

До сих пор производители SSD обеспечивали лучшую производительность, предлагая более быстрые стандарты данных, большую пропускную способность и больше каналов на контроллер - плюс использование кэшей SLC, о которых мы упоминали ранее. Тем не менее, в конечном счете, предполагается, что NAND будет заменено чем-то другим.

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

3D-XPoint от Intel (продаваемый как Intel Optane) стал одним из потенциальных претендентов на замену NAND и единственной альтернативной технологией, находящейся в массовом производстве. Optane SSD обеспечивает аналогичную производительность для накопителей NAND. Однако задержки составляют примерно половину времени задержки от NAND (10 микросекунд против 20) и устройство обладает большей   выносливостью (примерно в три раза).

Optane1

Первые Optane SSD дебютировали как отличные дополнения для решений на чипах от Интел Kaby Lake и Coffee Lake. Тем не менее, решения Optane не особо дешевы, чтобы напрямую конкурировать NAND, которая выигрывает от существенной экономии за счет масштаба. Хотя, это может и измениться в будущем, NAND,  скорее всего, останется доминирующей технологией в течение ближайших  3-4 лет. 

Оставьте свой комментарий

Добавить комментарий


 

Самое читаемое:

Быстрый поиск

Подписаться в соцсетях

вКонтакте · Twitter · Facebook · Telegram

Инструкции к программам

Инструкции к программам

Новые информационные технологии и программы