Замена вспышки NOR - Википедия - NOR flash replacement

Пока флэш-память остается одним из самых популярных хранилищ в встроенные системы из-за его энергонезависимость, ударопрочность, малый размер и низкое энергопотребление, его применение значительно превзошло его первоначальную конструкцию. Основываясь на своей оригинальной конструкции, флэш-память NOR предназначена для хранения двоичного кода программ, поскольку она поддерживает XIP (eXecute-In-Place) и высокая производительность при операциях чтения, тогда как флэш-память NAND используется в качестве хранилища данных из-за ее более низкой цены и более высокой производительности при операциях записи / стирания по сравнению с флэш-памятью NOR. В последние годы цена флэш-памяти NAND падала намного быстрее, чем флэш-память NOR. Таким образом, чтобы в конечном итоге снизить стоимость оборудования, использование флэш-памяти NAND вместо флэш-памяти NOR (мотивированное высоким рыночным спросом) становится новой тенденцией во встроенных системах, особенно на мобильные телефоны и аркадные игры.

Обзор

Замена зависит от хорошо продуманного управления флэш-памятью, которое выполняется либо программным обеспечением в хост-системе (как необработанный носитель), либо аппаратными схемами / прошивкой внутри ее устройств. Здесь предлагается эффективный механизм прогнозирования с ограниченными требованиями к объему памяти и эффективная реализация. Механизм прогнозирования собирает шаблоны доступа выполнения программы для построения графа прогнозирования, принимая рабочий набор концепция. Согласно графику прогнозирования, механизм прогнозирования предварительно выбирает данные (/ код) в SRAM cache, чтобы уменьшить частоту промахов кеша. Таким образом, производительность выполнения программы улучшается, и разрыв в производительности чтения между NAND и NOR эффективно заполняется.

Эффективная стратегия предварительной загрузки

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

Аппаратная архитектура

Архитектура для повышения производительности флэш-памяти NAND

В конструкцию оборудования включены четыре основных компонента: интерфейс хоста, SRAM (кэш), флэш-память NAND и логика управления. Чтобы заполнить пробел в производительности между NAND и NOR, SRAM служит слоем кеша для доступа к данным через NAND. Хост-интерфейс отвечает за связь с хост-системой через адрес и данные. автобусов. Что наиболее важно, логика управления управляет кэшированием и обеспечивает сервисную эмуляцию NOR flash с NAND flash и SRAM; в нем должен быть реализован интеллектуальный механизм прогнозирования для повышения производительности системы. В логике управления есть два основных компонента: Преобразователь имитирует доступ к NOR-флеш-памяти через NAND-флеш-память с кеш-памятью SRAM, где преобразование адресов должно выполняться из байтовой адресации (для NOR) в Логический адрес блока (LBA) адресация (для NAND). Обратите внимание, что каждая страница NAND 512B / 2KB соответствует одному и четырем LBA соответственно. Процедура предварительной выборки пытается выполнить предварительную выборку данных из NAND в SRAM, чтобы частота совпадений доступа NOR была высока по SRAM. Процедура должна анализировать и извлекать поведение целевого приложения с помощью набора собранных трассировок. В соответствии с извлеченными шаблонами доступа из собранных трасс, процедура генерирует информацию прогнозирования, называемую графом прогнозирования.

График прогнозов

Шаблон доступа выполнения приложения по NOR (или NAND) состоит из последовательности LBA. Поскольку приложение запускается несколько раз, может появиться «практически» полная картина возможного шаблона доступа для выполнения приложения. Поскольку выполнение большинства приложений зависит от ввода или данных, может быть несколько последующих LBA, следующих за данным LBA, где каждый LBA соответствует одному узлу в графе. Узлы с более чем одним последующим LBA называются узлами ветвления, а остальные - обычными узлами. График, соответствующий шаблонам доступа, называется графиком прогнозирования конкретного приложения. Если страницы во флеш-памяти NAND могут быть предварительно загружены вовремя, и есть достаточно места в SRAM для кэширования, то все обращения к данным могут быть выполнены через SRAM.

Чтобы сохранить график прогнозирования во флэш-памяти с минимальными накладными расходами (емкость SRAM), последующая информация LBA каждого обычного узла сохраняется в резервной области соответствующей страницы. Это связано с тем, что свободная область страницы в текущих реализациях имеет неиспользуемое пространство, а чтение страницы обычно сопровождается одновременным чтением ее данных и резервных областей. Таким образом, доступ к последующей информации LBA обычного узла осуществляется без дополнительных затрат. Поскольку у узла ветвления есть более одного последующего LBA, в свободной области соответствующей страницы может не хватить свободного места для хранения информации. Таким образом, поддерживается таблица ветвлений для сохранения последующей информации LBA всех узлов ветвления. Начальный адрес записи таблицы ветвлений, которая соответствует узлу ветвления, может быть сохранен в резервной области соответствующей страницы. Начальная запись записывает количество последующих LBA узла ветвления, а последующие LBA сохраняются в записях, следующих за начальной записью. Таблицу ветвей можно сохранить во флэш-памяти. Вовремя время выполнения, вся таблица может быть загружена в SRAM для повышения производительности. Если места в SRAM недостаточно, части таблицы могут быть загружены в по запросу, по требованию мода.

Процедура предварительной загрузки

Целью процедуры предварительной выборки является предварительная выборка данных из NAND на основе заданного графа прогнозирования, чтобы большинство обращений к данным происходило через SRAM. Основная идея - выполнить предварительную выборку данных, следуя порядку LBA на графике. Чтобы эффективно искать выбранную страницу в кеше, циклическая очередь принимается в управлении кешем. Данные, предварительно полученные из флэш-памяти NAND, помещаются в очередь, а данные, переданные на хост, с другой стороны, удаляются. Процедура предварительной выборки выполняется в жадный способ: пусть P1 будет последней предварительно загруженной страницей. Если P1 соответствует обычному узлу, то предварительно выбирается страница, соответствующая последующему LBA. Если P1 соответствует узлу ветвления, то процедура должна выполнять предварительную выборку страниц, следуя всем возможным следующим ссылкам LBA в равной базе и по-круговой путь.

Рекомендации

внешняя ссылка