Скорость работы одноплатного компьютера определяется не только процессором и оперативной памятью |
||
|
МЕНЮ Главная страница Поиск Регистрация на сайте Помощь проекту Архив новостей ТЕМЫ Новости ИИ Голосовой помощник Разработка ИИГородские сумасшедшие ИИ в медицине ИИ проекты Искусственные нейросети Искусственный интеллект Слежка за людьми Угроза ИИ Атаки на ИИ Внедрение ИИИИ теория Компьютерные науки Машинное обуч. (Ошибки) Машинное обучение Машинный перевод Нейронные сети начинающим Психология ИИ Реализация ИИ Реализация нейросетей Создание беспилотных авто Трезво про ИИ Философия ИИ Big data Работа разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика
Генетические алгоритмы Капсульные нейросети Основы нейронных сетей Промпты. Генеративные запросы Распознавание лиц Распознавание образов Распознавание речи Творчество ИИ Техническое зрение Чат-боты Авторизация |
2026-09-02 12:44 Скорость работы одноплатного компьютера определяется не только процессором и оперативной памятью. В реальных сценариях — от загрузки системы до работы баз данных и Docker-контейнеров — всё упирается в накопитель. У классических Raspberry Pi это обычно microSD-карта: просто, но не всегда предсказуемо. В Repka Pi 4 роль основного накопителя выполняет eMMC: он может быть распаян на плате или использоваться в виде отдельного модуля. Это специализированное решение, которое лучше подходит как системный диск. Однако стандарты eMMC разные, и внутри одного стандарта есть разные режимы работы. Именно настройке этих режимов и была посвящена наша работа: мы столкнулись с тем, что eMMC-модули на AllWinner H6 не раскрывали свой потенциал. Проблема оказалась системной: стандартного драйвера ядра было недостаточно, а сам контроллер eMMC в процессорах AllWinner H6 и H616/H618 имеет особенности, из-за которых без доработки ядра нельзя задействовать более скоростные режимы. Фактически все одноплатники на этих SoC имели ограничение. Мы перенесли и адаптировали BSP-драйвер, добавили поддержку режима HS200, реализовали tuning и проверили это на реальных модулях. Начиная с определённой версии Repka OS для Repka Pi 4 все эти изменения вошли в систему. Позже добавили fallback-режим для случаев, когда конкретный eMMC-модуль не проходит tuning на максимальной частоте, хотя по характеристикам он её поддерживает. Результат превзошёл ожидания. На модулях, прошедших tuning на HS200, скорость чтения выросла примерно в 5,2 раза. На модуле, где сработал fallback, — в 3,6 раза. Запись ускорилась в зависимости от накопителя от 2,4 до 4,4 раза. И это без замены платы или накопителя — достаточно обновить Repka OS. Но чтобы понять, почему так произошло и почему это вообще важно, стоит разобраться, что такое eMMC на самом деле. Многие воспринимают eMMC как просто «флешку в виде микросхемы». На деле это полноценный накопитель со своим контроллером, кэшем, алгоритмами распределения нагрузки и внутренним параллелизмом. Операционная система не работает с NAND-памятью напрямую: Linux видит eMMC как обычное блочное устройство с логическими адресами, а все детали — стирание блоков, плохие блоки, коррекция ошибок, износ — скрыты внутри контроллера. Поэтому два модуля одинакового объёма могут вести себя совершенно по-разному: влияет не только сама память, но и прошивка контроллера, внутренний кэш и поддерживаемые режимы интерфейса. Внутри eMMC NAND-память организована иерархически: страницы (минимальная единица чтения/записи), блоки (группы страниц, стираемые целиком), плоскости и кристаллы. Данные нельзя просто перезаписать поверх старых — при малой записи контроллер читает старые данные, готовит новые, пишет в другое место, а старую область помечает как неактуальную. Затем происходит сборка мусора. Тип NAND тоже важен: SLC, MLC, TLC. Чем больше бит в ячейке, тем дешевле накопитель, но тем сложнее чтение, запись и коррекция ошибок. Поэтому современные eMMC часто используют SLC-кэш: часть TLC-памяти временно работает в одноуровневом режиме, ускоряя запись. Когда кэш заканчивается, скорость проседает. Короткий тест этого не покажет, а длительная запись — запросто. Контроллер — мозг eMMC. Он принимает команды от SoC, управляет NAND, ведёт таблицы сопоставления логических адресов с физическими, выполняет выравнивание износа и фоновые операции. FTL (Flash Translation Layer) — это слой, который превращает неудобную NAND в привычное блочное устройство. Логические блоки могут физически находиться где угодно, и контроллер постоянно обновляет карту соответствия. Именно поэтому к контроллеру и его прошивке предъявляются высокие требования: при последовательном чтении слабый контроллер может выглядеть нормально, но при установке пакетов или работе баз данных разница становится заметной. Теперь о практической части. Мы взяли три реальных eMMC-модуля: FORESEE FEMDNN256G-A3V01 256 ГБ, Samsung KLMCG2UCTB-B041 64 ГБ и Samsung KLMCG8GEND-B031 64 ГБ. На первых двух удалось включить HS200 и получить прирост чтения в 5,2 раза. Третий модуль не проходил tuning на максимальной частоте, поэтому сработал fallback-режим — и всё равно чтение выросло в 3,6 раза. Запись на всех трёх ускорилась от 2,4 до 4,4 раза. Для системного накопителя это колоссальная разница: система загружается быстрее, пакеты устанавливаются шустрее, визуально меняется отзывчивость всего одноплатника. Главное, что мы хотим донести: проблема была не в железе, а в программной поддержке контроллера. AllWinner H6 и его производные имеют все шансы работать с eMMC на порядок быстрее, если правильно настроить драйвер и прошивку. Сейчас это уже сделано для Repka Pi 4 и Repka OS. Если у вас есть такой одноплатник, просто обновите операционную систему до актуальной версии и посмотрите на цифры. Если у вас другой SBC на AllWinner H6/H616/H618 — стоит проверить, включён ли у него HS200, и, возможно, это повод для собственного эксперимента. Мы уверены, что умение разбираться в таких деталях и есть опережающее мышление: не менять плату ради скорости, а выжимать максимум из того, что уже есть. А пробовали ли вы ускорить eMMC на своих платах? Какие результаты получили? Делитесь опытом в комментариях — вместе соберём полезную базу знаний. Телеграм: t.me/ainewsline Источник: vk.com Комментарии: |
|