Сейчас все привыкли к тому, что в телефонах много памяти — от 128 гигабайт и выше. Если телефон поддерживает карты памяти большой ёмкости, то можно вставить туда microSD-карточку и получить дополнительно хоть терабайт. Но вы видели те карточки? Они же невероятно малы!
В этой статье разберёмся, как такой большой объём памяти помещается в пластике площадью полтора сантиметра.
Как устроена флеш-память
Если мы аккуратно вскроем карточку microSD, то увидим, что она состоит из контактов для передачи данных, контроллера памяти и самой микросхемы с памятью:
Контроллер нужен, чтобы следить за тем, как данные записываются на чип, всё ли там в порядке и не нужно ли что-то исправить. Если в момент записи или передачи данных контроллер замечает ошибку, он посылает специальный сигнал в чип или на устройство, мол, ошибка, передай данные ещё раз.
Чип флеш-памяти состоит из площадки с транзисторами, которые умеют хранить электрический заряд 5—7 лет. Для этого они используют специальные электромагнитные ловушки. В прямом смысле: в них «застревают» электрические заряды. Если в транзисторе есть заряд, это считается за единицу. Если заряда нет — это ноль.
Контроллер памяти следит за тем, чтобы заряды в транзисторах со временем не пропадали. Для этого он во время работы периодически обновляет заряды у нужных транзисторов — чтобы данные на карте памяти не пропали из-за утечки зарядов.
Получается, что флешка — это просто площадка с очень большим набором маленьких транзисторов, в которых застревает электричество. Можно представить, что это район с одноэтажными домами.
Трёхмерная печать
У такого решения есть проблема — если нам нужно больше памяти, нам потребуется больше транзисторов, а значит — больший по размерам чип. А он тогда не поместится на карте стандартного размера.
Когда производители столкнулись с таким ограничением, они стали делать так:
- Печатают один слой транзисторов — точно так же, как и в производстве процессоров.
- Сверху наносят слой диэлектрика, чтобы отделить следующие транзисторы от этих.
- Потом печатают следующий слой транзисторов.
- Слой диэлектрика и так далее.
Получается, что теперь у нас дома не одноэтажные, а многоэтажные.
К слоям транзисторов можно обращаться одновременно, чтобы сразу получить много нужных данных. Для этого в этом многослойном пироге проделывают сквозные тоннели-проводники. Каждый из таких проводников соединяет свой участок памяти с верхними и нижними.
Чем больше таких проводников — тем быстрее и проще получить данные из памяти, но есть два ограничения:
- Из-за особенностей производства нельзя бесконечно увеличивать количество слоёв в чипе — они начинают деформироваться, изменять свои свойства и работать со сбоями. В среднем сейчас используют 100 слоёв на одной микросхеме. В будущем хотят увеличить их количество до 500, но это почти предел.
- Много тоннелей тоже сделать нельзя — у них есть своя толщина, и каждый такой проводник занимает определённую площадь на чипе. Если сделать слишком много сквозных проводников, то не останется места для самих транзисторов.
Много микросхем — много памяти
Пока всё, о чём мы говорили, помещается на одной микросхеме, но это максимум 128 гигабайт. Чтобы получить терабайт, можно точно так же поставить 8 микросхем друг на друга и соединить их все с контроллером памяти:
Больше 8 микросхем поставить друг на друга можно, но работать с ними будет гораздо сложнее. Дело в том, что компьютеру очень удобно работать с числами, кратными восьми, потому что в одном байте 8 бит. Поэтому для управления одновременно 8 микросхемами компьютеру нужно передать один управляющий байт, а для 9 или 12 микросхем — нужно уже 2 байта. А это в два раза больше передаваемых данных и в 128 раз увеличивает нагрузку на контроллер памяти, который следит за ошибками.
Короче: как работает флешка
- Есть «ловушки» электрического заряда. В них хранятся биты данных.
- «Ловушки» аккуратно укладываются на плоскости, очень плотно.
- Потом эти плоскости укладываются в несколько этажей.
- Потом эти «многоэтажки» ещё раз укладываются друг на друга.
- Всё это хозяйство подключается к управляющему чипу.
- Получается флешка.
Если оставить флешку без внимания на 5—7 лет, часть её данных потеряется. За 20—30 лет из-за квантовых эффектов флешка в принципе придёт в негодность. Поэтому наслаждайтесь жизнью сегодня :-)