ЦП, SSD и контроллер флэш-памяти, как информация перемещается на ПК

ЦП, SSD и контроллер флэш-памяти

Во всех SSD есть центральный чип, который отвечает за связь чипов NVMe с остальными компонентами ПК, это контроллер флэш-памяти, который находится в каждом SSD устройство, будь то модуль M.2, SSD-диск в форм-факторе 2.5 дюйма или внешний SSD. Но как это оборудование работает? Мы вам это объясним.

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

Что такое флеш-контроллер?

Контроладор Флэш

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

Официна Корреос

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

Поскольку каждое отделение собирается назначить все адреса от первого до последнего в соответствии с количеством доступных адресов, мы обнаруживаем, что нумерация каждого адреса, присвоенного каждым из почтовых отделений, не будет соответствовать друг другу. Ну, первое почтовое отделение - это набор блоков управления памятью или MMU, которые генерируют виртуальные адреса для доступа к данным в физической памяти, но ЦП должен иметь возможность доступа за пределы ОЗУ, и поэтому его адресация включает не только все адреса памяти, которые находятся в системной ОЗУ, но и за ее пределами.

На физическом уровне как традиционная, так и энергонезависимая оперативная память, которую мы называем флэш-памятью, имеют другая адресация потому что их интерфейс начинает рассчитывать на себя, а не глобально. Следовательно, одна из задач контроллера Flash: передача адресов памяти чтобы ЦП или любой другой процессор мог получить к нему доступ.

Перевод адресов в FLASH

Направления движения Controlador Flash Каждому флэш-контроллеру назначена память RAM , за исключением DRAM-Less, где он использует оперативную память системы с добавленной задержкой и потерей производительности, которую это подразумевает. Но, вопреки тому, что мы можем заключить невооруженным глазом, эта память не только служит промежуточным буфером данных, но также используется для передачи адресов.

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

Мы можем видеть это, например, во встроенном SSD-накопителе. PlayStation 5, где мы видим небольшую микросхему памяти, сопровождающую микросхемы NVMe, которые распространены в подавляющем большинстве SSD-накопителей, за исключением, как мы уже упоминали ранее, мы говорим о SSD-накопителе без DRAM.

Копирование данных из Flash в RAM или VRAMДанные о Controlador Flash Movimiento

Флэш-память лучше, чем обычный жесткий диск, поскольку она не наследует проблем с доступом классических дисковых накопителей. Нравится его высокая скорость передачи. Несмотря на это преимущество перед жесткими дисками, это не идеальная память. так что ЦП может работать с ним напрямую, не говоря уже о GPU / ГРАФИЧЕСКИЙ ПРОЦЕССОР . Если для классической памяти DDR с более высокой пропускной способностью нам нужно использовать кеши, чтобы уменьшить недостаток скорости, то в случае флэш-памяти это еще хуже.

Именно поэтому флэш-контроллеру необходимо скопировать данные в ОЗУ, чтобы ЦП мог получить к нему доступ, но есть проблема с вводом, по соображениям безопасности ОЗУ разделено на два разных пространства. Один, к которому имеют доступ приложения, и другой, к которому имеет доступ исключительно операционная система и к которому программы не могут получить доступ. В соответствии с этой предпосылкой, как контроллер флэш-памяти знает, куда копировать данные? Ну, часть оперативной памяти берется как промежуточный буфер и данные туда копируются. Это процессор самой системы, если нет ускорителя, отвечающего за эту задачу, тот, который отвечал бы за проверку данных в буфере и копирование их в соответствующую часть ОЗУ.

Что касается VRAM, то в зависимости от того, какой тип графического процессора и API мы используем, в графическом процессоре с полной поддержкой DX12 Ultimate именно графический процессор может принимать данные с твердотельного накопителя, а в случае без указанной поддержки требуется участие ЦП, что является двойной задачей, поскольку вам нужно скопировать их из ОЗУ в VRAM, выполняя вызовы механизмов копирования данных ЦП и ГП.