Press "Enter" to skip to content

Удовлетворение потребностей в производительности и исполнении кода для автономных автомобилей

Быстрое развитие кластеров и передовых систем помощи водителю (ADAS) в автомобильных приложениях привело к соответствующим изменениям — и достижениям — в технологии памяти. Вместо того, чтобы просто поддерживать несколько циферблатов и индикаторов, современные кластеры используют сложные пользовательские интерфейсы, которые используют широкий спектр технологий, требующих большого объема памяти, включая графику с высоким разрешением, видео в реальном времени с внешних камер, технологию GPS, потоковое аудио, вложенные меню, сенсорные дисплеи и распознавание голоса.

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

Эти высокие требования к памяти со временем будут только усиливаться. Операционные системы, такие как Linux, продолжают усложняться и увеличиваться в размерах. Размер и разрешение дисплея увеличиваются, и их популярность растет у автомобилей с автономным вождением уровня 2+. Полноценные графические кластеры также появляются в автомобилях высокого класса, и им необходимо будет снизить стоимость, прежде чем их можно будет внедрить в более массовые автомобили.

Для этих приложений требуется значительный объем энергонезависимой памяти для хранения кода, графики, аудио и других типов данных. Flash обычно является предпочтительной технологией энергонезависимой памяти, и разработчики могут выбирать между NAND и NOR flash.

Основные соображения при выборе технологии памяти включают плотность памяти, производительность чтения / записи и стоимость. Еще одно соображение — простота дизайна. Наконец, поскольку это автомобильные системы, в которых даже незначительные ошибки в данных или коде могут привести к травмам или смерти, надежность является обязательной.

Плотность, производительность и стоимость

Ячейка NAND меньше, чем ячейка NOR, и имеет более низкую стоимость на бит, чем память NOR. В результате для флэш-памяти NAND доступны более высокие плотности, чем для флэш-памяти NOR. Преимущество NOR заключается в возможности произвольного доступа к памяти с коротким временем чтения.

Традиционная флэш-память NAND не может поддерживать выполнение кода начальной загрузки через границы страницы, поэтому системы, хранящие код в NAND, должны передавать программный код в ОЗУ, где система может затем его выполнить. Это сделало NOR более подходящим выбором для производительности выполнения кода, особенно когда может быть реализовано выполнение на месте (XiP) из NOR.

Однако недавние достижения в технологии NAND, направленные на устранение неэффективности, связанной с выполнением кода, могут помочь пользователям преодолеть проблему затрат, связанную с проектированием флэш-памяти NOR с более высокой плотностью. Последовательная флэш-память, такая как LybraFlash от Macronix, решает проблему выполнения кода, предоставляя пользователю возможность чтения NOR, которую обычное устройство NAND не может поддерживать. Такие продукты обеспечивают непрерывное чтение, в то время как функции управления памятью, такие как управление поврежденными блоками, выравнивание износа и код исправления ошибок (ECC), обеспечивают совместимость чтения и сохранение адресных данных для приблизительного NOR flash.

Давайте немного углубимся в тему непрерывного чтения. Обычная операция чтения флэш-памяти NAND основана на «странице», которую микроконтроллеры не могут считывать непрерывно, что вызывает проблему, когда размер начального загрузчика превышает размер страницы. Эта проблема решается путем добавления возможности чтения страниц.

Вторая проблема, связанная с непрерывным чтением, заключается в том, что флэш-память NAND поставляется с примерно 98% исправных битов и испытывает дополнительные сбои в течение срока службы памяти. Микроконтроллер (MCU) ожидает, что программная память будет непрерывной, и эти плохие страницы (блоки) приводят к фрагментированному коду.

Таким образом, режим непрерывного чтения в сочетании с «управлением плохими блоками» или бэд-блоками (bad-block management BBM) и кодом исправления ошибок (ECC) позволяет усовершенствованной последовательной флэш-памяти NAND выполнять код эффективно и надежно. При первоначальном программировании или обновлении устройства интегрированный BBM гарантирует, что сбойные блоки будут устранены. Виртуальная карта выравнивает все кодовые блоки, так что MCU, читающий память, будет обращаться к коду как к непрерывным блокам (рисунок ниже).

Интегрированное управление сбойными блоками BBM выравнивает кодовые блоки

ECC работает рука об руку с BBM в обеспечении надежности памяти кода; если ошибка или ошибки обнаружены, ECC обычно может исправить их. BBM вместе с программным обеспечением на основе MCU затем перемещает код из плохого блока в хороший и обновляет виртуальную карту, таким образом сохраняя непрерывность кодовых блоков.

Благодаря режиму непрерывного чтения, BBM и ECC усовершенствованная последовательная флэш-память может надежно хранить как данные, так и код. Фактически, эта усовершенствованная последовательная флэш-память может обеспечить или приблизить плотность, производительность записи и экономическую эффективность, наряду с возможностями выполнения кода NOR (рисунок ниже).

Последовательная флэш-память может приблизительно соответствовать

Эти функции также приводят к лучшему индикатору производительности ключа загрузки (Boot KPI). KPI загрузки — важный фактор, влияющий на работу водителя. Автомобильные кластеры и ADAS должны загружаться быстро, чтобы водителям не приходилось долго ждать, чтобы завести машину, включить радио и начать движение. По мере того как в системы добавляется больше функций и еще больше кода и графики, разработчикам необходимо продолжать увеличивать эффективную пропускную способность памяти, чтобы поддерживать KPI загрузки на приемлемом уровне.

Надежность и простота конструкции

Целостность данных важна в автомобильных приложениях. Хотя шансы очень малы, биты памяти могут быть перевернуты по разным причинам. Технология ECC — это отраслевой стандарт, предназначенный для выявления и исправления одной или нескольких битовых ошибок в зависимости от используемого алгоритма ECC. Благодаря ECC системы невосприимчивы к определенным типам повреждения данных, особенно к однобитовым ошибкам. Это позволяет такой усовершенствованной последовательной «вспышке» обеспечить долговечность, необходимую для автомобильных приложений.

В усовершенствованной последовательной флэш-памяти, такой как LybraFlash, ECC интегрирован в память (также известная как ECC «без хоста»). Это упрощает проектирование системы, поскольку память управляет собственным ECC прозрачно для главного микропроцессора. Разработчики также могут установить порог переворота битов ECC, чтобы отрегулировать долговечность всей памяти. Интегрированный BBM также может упростить проектирование, помогая выгрузить управление плохими блоками из MCU.

При сравнении запоминающих устройств со встроенными ECC и BBM и без этих функций следует учитывать общую стоимость владения (TCO). При вычислении совокупной стоимости владения разработчикам необходимо учитывать любую нагрузку на MCU хоста в виде драйверов и промежуточного программного обеспечения, а также влияние на пропускную способность и дополнительную сложность в общей конструкции системы. Такие факторы, как скорость отклика системы (то есть время загрузки), также могут иметь значение, когда они влияют на взаимодействие с пользователем (например, отложенный запуск системы или неприемлемая задержка).

Для приложений, использующих этот тип усовершенствованной последовательной флэш-памяти для выполнения кода, сочетание непрерывного чтения через границы страниц, BBM, виртуального сопоставления, выравнивания износа и ECC гарантирует, что эта флэш-память будет поддерживать высокий уровень надежности, не требуя специального программирования со стороны разработчиков или обременения ведущего контроллера. Кроме того, такая последовательная флэш-память доступна с более высокой плотностью, что позволяет увеличить емкость памяти при уменьшении занимаемой платы.

Выводы

Системы с интенсивным использованием памяти, такие как автомобильные кластеры и ADAS, требуют технологий памяти, которые могут обеспечить производительность и надежность, необходимые для этих приложений. Наличие последовательной NAND-памяти высокой плотности позволяет этим системам хранить как код, так и данные в одном запоминающем устройстве при более низкой стоимости системы.

Благодаря возможности использования высоконадежной флэш-памяти NAND или флэш-памяти NOR разработчики получают большую гибкость при проектировании. Вместе эти технологии энергонезависимой памяти позволяют разработчикам выбирать оптимальные возможности для своего приложения: NOR, если требуется более быстрый произвольный доступ, или NAND для более высокой производительности записи.

Оставьте комментарий

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *