Как работают SSD?

Как работают SSD?

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

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

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

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

Как отличаются твердотельные диски

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

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

Как работают SSD?

На приведенной выше диаграмме показана простая конструкция флеш-памяти. Электроны хранятся в плавающих затворах, которые затем считываются как заряженные «0» или не заряжаются »1.« Да, в вспышке NAND значение 0 означает, что данные хранятся в ячейке - это противоположно тому, как мы обычно думаем о ноль или один. Флэш-память NAND организована в сетке. Вся схема сетки называется блоком, а отдельные строки, составляющие сетку, называются страницами. Общие размеры страниц: 2K, 4K, 8K или 16K, с 128 до 256 страниц на блок. Поэтому размер блока обычно колеблется между 256 КБ и 4 МБ.

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

Изображение от CodeCapsule
Изображение от CodeCapsule

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

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

Напряжения TLC NAND
Напряжения TLC NAND

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

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

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

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

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

Изображение предоставлено Wikipedia
Изображение предоставлено Wikipedia

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

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

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

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

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

Контроллер SSD

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

Типичный SSD-контроллер
Типичный SSD-контроллер

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

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

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

Дорога впереди

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

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

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

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

Цели Intel Optane
Цели Intel Optane

Первые Optane SSD дебютировали как отличные дополнения для Kaby Lake и Coffee Lake. Тем не менее, Optane по-прежнему слишком дорогая, чтобы соответствовать вспышке NAND, которая выигрывает от существенной экономии за счет масштаба, но это может измениться в будущем. NAND останется королем холма, по крайней мере, в течение следующих 3-4 лет. Но в прошлом мы увидели, что Optane начинает заменять его по объему, в зависимости от того, как Intel и Micron масштабируют технологию и насколько хорошо 3D-вспышка NAND продолжает расширять свои клеточные слои (64-слойная NAND отправляется от нескольких игроков), с дорожными картами для 96 и даже 128 слоев на горизонте.

Ознакомьтесь с нашей серией «Объяснения» для более глубокого освещения сегодняшних самых популярных тем.

Читать далее

Ученые разработали спрей для носа, который может вылечить коронавирус
Ученые разработали спрей для носа, который может вылечить коронавирус

В недавно опубликованном исследовании смесь оказалась эффективной для дезактивации нового коронавируса до того, как он смог заразить клетки.

Как работают SSD?
Как работают SSD?

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

Как работают кэши ЦП L1 и L2 и почему они являются неотъемлемой частью современных микросхем
Как работают кэши ЦП L1 и L2 и почему они являются неотъемлемой частью современных микросхем

Вам когда-нибудь было любопытно, как работает кеш L1 и L2? Мы рады, что вы спросили. Здесь мы глубоко погружаемся в структуру и природу одного из самых фундаментальных проектов и инноваций вычислительной техники.

Новый процессор Qualcomm Snapdragon 888 будет работать на флагманских телефонах Android в 2021 году
Новый процессор Qualcomm Snapdragon 888 будет работать на флагманских телефонах Android в 2021 году

888 оснащен новым процессором, интегрированным 5G и мощным графическим процессором. Это станет самым значительным обновлением флагманской системы на кристалле (SoC) Qualcomm за последние годы.