Сари Лада – От транзистора до робота (страница 5)
Именно поэтому несохранённые изменения пропадают при отключении питания: они жили только на столе и не добрались до архива.
Оперативная память: как она устроена
RAM — Random Access Memory, память с произвольным доступом. «Произвольный доступ» означает, что можно мгновенно обратиться к любой ячейке памяти по её адресу — не нужно перематывать ленту с начала, как в старых магнитофонах, не нужно последовательно перебирать содержимое. Указал адрес — получил данные.
Физически современная оперативная память — это тип, называемый DRAM (Dynamic RAM, динамическая оперативная память). Каждый бит хранится в крошечном конденсаторе — элементе, способном удерживать электрический заряд. Заряд есть — единица. Заряда нет — ноль.
Но у конденсаторов есть неприятная особенность: они постепенно разряжаются. Сами по себе, просто со временем. Если ничего не делать, все биты превратятся в нули — данные исчезнут.
Поэтому оперативная память постоянно «обновляется» — специальная схема регулярно считывает каждую ячейку и восстанавливает заряд, если он упал ниже порога. Это происходит тысячи раз в секунду, для каждой ячейки из миллиардов. Именно поэтому она называется «динамической» — данные нужно постоянно поддерживать.
И именно поэтому RAM энергозависима: как только пропадает питание — некому обновлять конденсаторы, заряд утекает, данные исчезают. Секунды — и стол пуст.
Скорость у оперативной памяти впечатляющая: современные планки DDR5 передают данные со скоростью десятков гигабайт в секунду. Это в сотни раз быстрее, чем даже самый быстрый SSD. Именно поэтому процессор работает с данными в RAM, а не напрямую с диска.
Сколько RAM нужно и почему
Объём оперативной памяти определяет, сколько задач компьютер может держать «на столе» одновременно.
Когда RAM заканчивается, операционная система начинает хитрить: она берёт те части памяти, к которым давно не обращались, и временно выгружает их на диск — в так называемый файл подкачки (swap). Когда эти данные снова понадобятся, она загружает их обратно в RAM, попутно выгружая что-то другое.
Технически это работает. Практически — это катастрофа для скорости. Диск в сотни раз медленнее RAM. Когда система начинает активно использовать подкачку, компьютер «тормозит»: всё начинает работать медленно, вентиляторы гудят, диск шуршит. Если ты когда-нибудь сидела и смотрела, как курсор превращается в крутящееся колёсико на несколько секунд — скорее всего, это было оно.
Сколько RAM достаточно? Это быстро меняющийся ответ, но сегодня ориентиры примерно такие. 8 гигабайт — минимум для комфортной работы с офисными задачами. 16 гигабайт — комфорт для большинства пользователей, включая несколько браузерных вкладок, редактирование фото, лёгкий монтаж. 32 гигабайта и больше — профессиональный видеомонтаж, работа с большими таблицами данных, разработка, виртуальные машины.
Один из мифов про компьютеры: «RAM нужно освобождать». Некоторые приложения даже продаются как «очистители памяти». Операционная система сама управляет памятью — и незанятая RAM это не «чистая», а «бесполезная» RAM. Хорошая операционная система всегда держит память максимально заполненной полезными данными, чтобы не ходить лишний раз на диск. На macOS и iOS система особенно агрессивно сжимает данные в памяти, поэтому 90% заполненности — действительно норма и не повод для беспокойства. На Windows высокое потребление памяти тоже в целом нормально: система использует свободную RAM под кэш файлs. Заметные торможения появляются лишь тогда, когда начинается активный сброс данных в файл подкачки на диске — а при 16+ ГБ RAM это случается редко.
Твёрдотельный накопитель: флеш-память и её секреты
Переходим к постоянному хранилищу. Сегодня в большинстве ноутбуков и смартфонов стоит SSD — Solid State Drive, твёрдотельный накопитель. До него царили жёсткие диски — HDD (Hard Disk Drive). Давай разберёмся с обоими.
Жёсткий диск — это механическое устройство. Внутри него вращаются магнитные пластины — «блины» — с огромной скоростью: 5400 или 7200 оборотов в минуту. Над ними скользит магнитная головка, которая считывает и записывает данные, намагничивая крошечные участки поверхности. Намагничен в одну сторону — единица, в другую — ноль.
Это работает. И работало десятилетиями. Но у механики есть неустранимые ограничения: нужно физически переместить головку к нужному месту на диске — а это занимает время, измеряемое в миллисекундах. По меркам процессора — вечность.
SSD работает принципиально иначе. Никаких движущихся частей. Данные хранятся во флеш-памяти — особом типе памяти, которая, в отличие от RAM, не требует питания для хранения данных.
Физически флеш-память построена на транзисторах с плавающим затвором. Обычный транзистор имеет один управляющий электрод — затвор. У флеш-транзистора их два: один управляющий и один «плавающий» — изолированный со всех сторон слоем диэлектрика. На этот плавающий затвор можно загнать электроны и заперть их там. Они никуда не денутся без специального воздействия — изоляция держит.
Есть заряд на плавающем затворе — транзистор ведёт себя иначе, чем без заряда. Это и есть бит. Ноль или единица. Без питания, без обновления, без ухода — просто сидят запертые электроны и хранят информацию.
Теоретически флеш-ячейка может хранить заряд десятилетиями. На практике — столько, сколько позволяет изоляция, которая со временем деградирует.
SLC, MLC, TLC, QLC: сколько бит в одной ячейке
Самое простое устройство флеш-ячейки — SLC, Single Level Cell. Одна ячейка хранит один бит: заряд есть или нет. Просто, надёжно, быстро — и дорого, потому что на единицу площади помещается мало данных.
Инженеры решили: а что, если различать не два уровня заряда, а четыре? Тогда одна ячейка хранит два бита: 00, 01, 10, 11 — четыре состояния вместо двух. Это MLC, Multi Level Cell. Плотность удваивается, цена снижается.
Потом пошли дальше: восемь уровней заряда в одной ячейке — три бита. TLC, Triple Level Cell. Именно этот тип стоит в большинстве потребительских SSD и смартфонов сегодня.
И наконец QLC — Quad Level Cell: шестнадцать уровней, четыре бита. Максимальная плотность, минимальная цена. Используется в недорогих накопителях и флеш-накопителях большого объёма.
Но за плотность приходится платить. Чем больше уровней нужно различать, тем точнее должен быть контроллер при чтении и записи. Разница между соседними уровнями заряда становится всё меньше — и тем сложнее их надёжно различить. Результат: QLC медленнее SLC, быстрее деградирует и менее надёжна.
Для обычного пользователя это практически незаметно — современные контроллеры SSD делают огромную работу по исправлению ошибок и управлению ресурсом. Но профессионалы, которым нужна максимальная надёжность и скорость, — выбирают SLC или MLC, платя за это значительно больше.
Почему SSD изнашивается — и почему это не страшно
Флеш-память имеет ограниченный ресурс записи. Каждый раз, когда ты записываешь данные в ячейку, слой изоляции вокруг плавающего затвора чуть-чуть деградирует. После определённого количества циклов записи ячейка перестаёт надёжно удерживать заряд — становится «битой».
Для современных 3D TLC-ячеек ресурс составляет порядка 3000–5000 циклов перезаписи на одну ячейку. Для QLC — около 1000–1500 циклов: именно поэтому QLC-накопители дёшевы, но менее долговечны при интенсивной записи. Звучит мало. Но контроллер SSD применяет технологию, называемую выравниванием износа (wear leveling): он следит за тем, чтобы данные равномерно распределялись по всем ячейкам, а не писались постоянно в одни и те же. Так нагрузка размазывается по всему накопителю, и реальный срок службы оказывается многолетним даже при интенсивном использовании. TLC — золотая середина для большинства пользователей; QLC стоит выбирать только если накопитель нужен для хранения, а не для постоянной перезаписи.
Производители указывают ресурс SSD в TBW — Terabytes Written, терабайт записанных данных. Типичный потребительский SSD на 1 терабайт имеет ресурс 300–600 TBW. Если ты записываешь 50 гигабайт в день (что очень много для обычного пользователя), это 18 терабайт в год. До исчерпания ресурса — 15–30 лет.
Есть ещё одна особенность флеш-памяти, которая влияет на скорость: перед записью нового значения ячейку нужно сначала стереть. И стереть нельзя по одной ячейке — только блоками, которые содержат тысячи ячеек сразу. Это создаёт интересную ситуацию: запись маленького файла может требовать считывания целого блока, его изменения и обратной записи — даже если менялась одна ячейка. Это называется write amplification, усиление записи, и хороший контроллер минимизирует это через хитрые алгоритмы управления данными.
NVMe, SATA, eMMC: буквы, которые определяют скорость
SSD подключаются к компьютеру по-разному, и это сильно влияет на скорость.
SATA — старый стандарт, разработанный ещё для жёстких дисков. Максимальная скорость передачи данных — около 550 мегабайт в секунду. Для первых SSD это было революцией по сравнению с HDD (100–150 МБ/с). Но интерфейс стал узким местом: флеш-память способна на большее.
NVMe — новый стандарт, разработанный специально для флеш-памяти, подключается через шину PCIe напрямую к процессору. Скорость — 3500–7000 мегабайт в секунду для современных накопителей. В 10 раз быстрее SATA. Именно NVMe стоит в большинстве современных ноутбуков и настольных ПК.