Как на на маленькой карте памяти microSD размером буквально с ноготок помещается 1 терабайт данных? Такой вопрос нам задали в комментариях к видео про шифрование данных. Звучит интересно! Сегодня мы узнаем что находится внутри SD-карты и SSD-диска. Что объединяет современные чипы памяти со слоёным пирогом? И какой емкости будут наши диски и карты памяти через несколько лет?
Олды, кто помнит 2004 год? Тогда в продаже впервые появилась SD-карточка с рекордной на тот момент ёмкостью 1 гигабайт. Это было событием и карточку оценили в солидную сумму — 500 долларов США.
А спустя 15 лет представили карты памяти microSD объёмом 1 терабайт.
Но как за 15 лет мы научились размещать в тысячу раз больше информации на вдвое меньшем пространстве?
Чтобы ответить на этот вопрос, нам нужно понять:
Как устроены SD карточки?
Начнем с физической архитектуры. Если заглянуть под слой пластика SD или microSD карточки, мы увидим один небольшой чип — это контроллер памяти. И один или два больших чипа — это NAND флеш-память: самый распространенный на сегодня тип памяти. Такие же чипы можно встретить в флешках, SSD-дисках и внутри наших гаджетов. Короче, везде!
NAND И NOR
Но почему NAND флеш-память такая популярная? Чтобы ответить на этот вопрос, давайте немного разберемся в том как флеш-память работает. Мы уже как-то рассказывали, что базовая единица современной флэш-памяти — это CTF-ячейка (CTF — Charge Trap Flash memory cell), то есть Ячейка с Ловушкой Заряда.
Это не образное выражение. Ячейка, действительно способна запирать внутри себя заряд и хранить его годами! Соответственно, если в ячейке есть заряд — это 1, если нет заряда — это 0.
Все ячейки организованы в структуру NAND. NAND — это такой логический элемент NOT-AND, то есть НЕ-И. Вот таблица его значений.
Фактически, это перевернутый вентиль И. По таблице истинности на выходе вентиля И мы получаем единицу только в случае если на оба входа тоже приходит единица. В NAND всё наоборот.
Кстати, NAND обладает интересным свойством — любая логическая функция может быть реализована с помощью комбинации NAND-вентилей. Это свойство NAND называется функциональной полнотой.
Например CMOS-матрицы или КМОП-матрицы, которые используются в большинстве современных цифровых камер, в том числе во всех мобильных телефонах могут быть полностью реализованы только на вентилях NAND.
- КМОП — комплементарная структура металл-оксид-полупроводник
- CMOS — complementary metal-oxide-semiconductor
Свойство функциональной полноты NAND также разделяет с вентилями NOR, то есть НЕ-ИЛИ. К слову, NOR флеш-память тоже существует. Но почему всюду ставят именно NAND память, а не NOR?
NAND-память — интересная штука. Её можно сравнить с оптовыми закупками в супермаркете. Считывать и подавать напряжение в NAND ты можешь только на целую упаковку ячеек. Поэтому мы не можем считать или записать данные в какую-то конкретную ячейку.
В NOR памяти всё наоборот, у нас есть доступ каждой ячейке.
Вроде бы как очевидно превосходство NOR, но почему же тогда мы используем NAND?
Дело в том, что в NOR-памяти каждую ячейку нам на подключить отдельно. Всё это делает размер ячеек большим, а конструкцию массивной.
В NAND наоборот: ячейки подключаются последовательно друг за другом и это позволяет сделать ячейки маленькими и расположить их плотно друг к другу. Поэтому на NAND-чипе может поместиться в 16 раз больше данных чем на NOR-чипе.
Также это позволяет быстро считывать и записывать большие массивы данных, так как мы всегда одновременно оперируем группой ячеек.
Более того NOR-память не оптимальна для считывания и записи больших объёмов информации, но она выигрывает тогда, когда нужно считывать много мелких данных случайным образом. Поэтому NOR-память используют только в специфических задачах, например, для хранения и исполнения микропрограмм. Например BIOS вполне может быть записан в NOR-память, или даже прошивка в телефоне. По крайней мере раньше так точно делали.
А NAND-память идеально подходит для SSD, карт памяти и прочего.
2D NAND
Окей, NAND-память плотная, это выяснили. Но как её сделать еще плотнее?
Долгое время ячейки NAND укладывались столбцами горизонтально и получалась однослойная плоская структура. И производство памяти было похожим на производство процессоров — при помощи методов литографии. Такая память называлась 2D NAND или планарный NAND.
Соответственно, единственным способом уплотнения информации былоиспользования более тонких техпроцессов, что и делали производители.
Но к 2016 году производители достигли техпроцесса в 14-15 нанометров. Да-да, крутость памяти тоже можно мерить нанометрами. Но тем не менее это оказалось потолком для 2D NAND-памяти.
Получается, что в 2016 году прогресс остановился? Совсем нет.
Решение нашла компания Samsung. Понимая, что планарная, то есть плоская NAND находится на последнем издыхании, еще в 2013 году Samsung обогнала своих конкурентов и представила первое в отрасли устройство с 3D NAND-памятью.
Они взяли столбец с горизонтальными NAND ячейками и поставили его вертикально, поэтому 3D NAND ещё называют V-NAND или вертикальной NAND. Вы только посмотрите на эту красоту!
Вот эти красные штуки сверху — это битлайны (bit line), то есть каналы данных. А зелёные шутки — это слои ячеек памяти. И если раньше данные считывались с одного слоя и поступали в битлайн, то теперь данные со всех слоев стали поступать в канал одновременно!
Поэтому новая архитектура позволила не только существенно увеличить плотность информации, но и в два раза повысить чтения и записи, а также снизить энергопотребление на 50%!
Первый 3D NAND-чип состоял из 24 вертикальных слоёв. Сейчас норма составляет 128 слоев. Но уже в 2021 году производители перейдут на 256 слоев, а к 2023 году на 512, что позволит на одном флеш-чипе разместить до 12 терабайт данных.
Кхм-кхм. Минуточку! Внимательный читатель, мог заметить, что в приведенной табличке написано 12 терабит, откуда же тогда я взял терабайты? Дело в том, что 12 терабит помещается на одном кристалле флеш памяти, а в одном чипе можно разместить до 8 кристаллов друг над другом. Вот и получается 12 терабайт.
Но наращивать всё больше и больше этажей памяти невозможно бесконечно. Даже сейчас с производством возникает масса проблем. В отличии от 2D-памяти, которая производилась методом литографии, 3D NAND, по большей части, опирается на методы напыления и травления. Производство стало похожим на изготовление самого высокого в мире торта. Нужно было буквально наращивать идеально ровные слои памяти друг над другом, чтобы ничего не поплыло и не осело. Жуть!
Более того в этом слоёном пироге, нужно как-то проделать 2,5 миллиона идеально ровных каналов идущих сверху до низу. И если если когда было 32 слоя, производители с этим легко справлялись. То с увеличим количество слоев возникли проблемы. Всё как в жизни!
Поэтому производители стали использовать разные хаки: например, делать по 32 слоя и накладывать их друг на друга через изолятор. Но такие методы дороже в производстве и чреваты браком. Кстати, для любознательных, на текущий момент эти каналы проделываются не сверлом, в методом реактивного ионного травления (RIE). Проще говоря, бомбардировкой поверхности ионами.
SLC, MLC, TLC, QLC
Так что же мы снова уперлись в потолок? Теперь уже в буквальном смысле. Нет! Ведь на самом деле, можно не только увеличивать количество ячеек. Можно увеличивать количество данных внутри ячейки!
Те кто интересуется темой, или выбирал себе SSD диск наверняка знают, что бывает четыре типа ячеек памяти SLC, MLC, TLC, QLC.
SLC-ячейка (Single Layer Cell) может хранить всего 1 бит информации, то есть лишь нолик или единичку. Соответственно MLC-ячейка хранит уже 2 бита, TLC — 3, QLC -4.
Вроде бы круто! Но чем больше бит мы можем поместить в ячейку, тем медленнее будет происходить чтение, и главное — запись информации. А заодно тем менее надежной будет память.
Сейчас не будем на этом подробно останавливаться, но в двух словах в потребительских продуктах сейчас золотой стандарт — это TLC-память, то есть три бита. Это оптимальный вариант, по скорости, надежности и стоимости.
SLC и MLC — это крутые профессиональные решения.
А QLC — это бюджетный вариант, который подойдет для сценариев, в которых не надо часто перезаписывать данные.
Кстати, Intel уже готовит, преемника QLC — пятибитную PLC-память (Penta Level Cell).
Ответ на вопрос
Это, конечно, всё очень интересно, но может, вернёмся к изначальному вопросу: Как в уже сейчас в простой microSD-карточке помещается 1 терабайт?
Ну что ж, теперь когда мы всё знаем, отвечаем на вопрос.
Внутри карточки Micron (и скорее всего карточки SanDisk) используется одинаковый чип памяти. Это 96-слойная 3D NAND QLC-память. На одном кристалле такой памяти помещается 128 гигабайт данных. Но откуда же тогда 1 терабайт?
Как мы уже говорили раньше, в одном флеш-чипе помещается 8 кристаллов. Вот вам и 1 терабайт. Вот так всё просто!
Что нас ждёт в будущем?
Что ж, технологии производства флеш-памяти развиваются очень быстро. Уже через 2-3 года нам обещают чипы на 12 терабайт. А еще лет через 10, ну может 20, и за сотню терабайт перескочим. Тем более SD-карточки нового формата SD Ultra Capacity поддерживают емкость до 128 терабайт.
Непонятно одно — будут ли нам нужны SD-карточки через столько лет.