Различные приложения и выполняемые функции требуют использования различных видов флэш-памяти. В статье обсуждаются особенности применения NAND- и NOR-памяти для хранения кода программы и данных системы. Описывается универсальное решение для подсистемы памяти на базе RAM, NAND- и NOR-памяти, сочетающее преимущества обоих типов флэш-памяти. Статья представляет собой сокращенный перевод работы [1].
С момента появления в 70-х гг. прошлого века встраиваемых систем на этом рынке все время ожидали закулисного персонажа под названием «универсальная память», который, наконец, выйдет на сцену и заменит всю иерархию памяти, доставшуюся в наследство от больших ЭВМ, мини-ЭВМ и настольных компьютеров.
Эти ожидания усилились с появлением встраиваемых, мобильных, портативных компьютеров, и кандидаты на роль универсальной памяти появились на сцене. Некоторые персонажи — такие как EEPROM, EPROM, УФ-EPROM, ферроэлектрическое RAM и др. варианты псевдо-RAM — были отклонены. Другие кандидаты — например, магнитные RAM, рассматривались, однако их перспективы были сомнительны по ряду экономических и технических причин.
В то же время некоторые действующие лица «пьесы», в частности, различные типы флэш-памяти NAND и NOR, рекламируются производителями как кандидаты на роль универсальной памяти или, по крайней мере, как родственники или близкие друзья этого персонажа. К этим разновидностям флэш-памяти относятся следующие типы устройств: OneNAND, OrNAND, iNAND, GBNAND, moviNAND, ManagedNAND и NANDrive.
Флэш-память является наиболее практичным решением для таких систем, однако ключевое значение имеет выбор типа флэш-памяти, который наилучшим образом подходит для разрабатываемого проекта. Какой же выбор будет оптимальным?
Использование недорогой флэш-памяти NAND большой емкости требует применения системы контроля дефектов, что усложняет подсистему памяти. Кроме того, возникает необходимость поддержки различных типов памяти и интерфейсов разных производителей.
Полностью управляемая подсистема памяти может содержать интерфейс стандартной памяти RAM (PSRAM или SDR/DDR SDRAM). Такая подсистема памяти обеспечивает интеграцию с процессором хоста и исключает необходимость контроля памяти со стороны системы.
NOR-память появилась раньше NAND-памяти и в настоящее время широко применяется во встраиваемых системах. NOR-память используется как для хранения кода программы, так и данных. Основным ее преимуществом является непосредственное исполнение кода из флэш-памяти (execute-in-place — XIP). К тому же NOR-память можно непосредственно соединить с хост-процессором, что упрощает проект и уменьшает время разработки.
С ростом использования функций мультимедиа во встроенных системах увеличивается также потребность в объеме хранимых данных и кодов программ. Для таких приложений использование NOR-памяти большой емкости для хранения кодов и данных становится менее рентабельным по сравнению с использованием NAND-памяти. При этом максимальная емкость NOR-памяти в настоящее время ограничена 1 Гбит.
NAND-память для хранения данных и кода
NAND-память удобна для использования в приложениях, требующих хранения кода значительной величины (такого, как операционная система (ОС) или приложение) и больших объемов данных, т.к. NAND-память не дорога, а ее емкость достигает 16 Гбит на кристалл. В отличие от NOR-памяти, NAND-память не поддерживает непосредственное выполнение кода (XIP) или произвольную выборку. В результате в некоторых системах, использующих NAND-память, требуется также NOR-память малой емкости для системной загрузки и выполнения кода BIOS. В других системах функции начальной загрузки может выполнять контроллер NAND-памяти или встроенная загрузочная ROM хост-процессора. После загрузки системы на базе NAND-памяти для выполнения кода используется либо затенение кода (shadowing), либо выделение страниц по запросу (demand paging). В случае затенения вся ОС и приложения копируются из NAND-памяти в системную RAM, а во втором случае — ОС и приложения копируются в системную RAM по частям и выполняются по мере необходимости.
Хотя NAND-память недорога и имеет большую емкость, чем NOR-память, она менее надежна и требует применения технологии контроля дефектов, включая обнаружение и коррекцию ошибок, а также механизм выравнивания износа (wear-leveling) во многих приложениях. Для реализации этих функций управления флэш-памятью требуются сложные аппаратные и программные средства. На рисунке 1 изображена система, в которой управляющий чипсет (хост) связан с NAND-памятью. В такой системе функции контроля ошибок должны выполняться этим чипсетом. Запуск функций управления на хосте требует некоторой доработки программного обеспечения, а также использования ресурсов ЦП и памяти хоста, что снижает общую производительность системы.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Рис. 1. Система, состоящая из чипсета хоста, соединенного с автономной NAND-памятью
С уменьшением проектных норм длина кода коррекции ошибок для NAND-памяти с одноуровневыми ячейками (single-level cell — SLC) увеличилась с 1 до 4 бит на 512-байт сектор, а для NAND-памяти с многоуровневыми ячейками (multi-level cell — MLC) — с 4 до 8 бит на 512-байт сектор. Размер страницы увеличился с 512 до 4096 байт. Ресурс некоторых типов SLC NAND-памяти с уменьшенными проектными нормами снижен со 100 тыс. до 50 тыс. циклов перезаписи, а для MLC NAND-памяти — с 10 тыс. до 5 тыс. циклов (в некоторых случаях до 3 тыс. циклов). Для того чтобы снизить количество элементов в системе, многие производители интегрируют контроллер NAND-памяти в чипсет, который непосредственно подключается к отдельной NAND-памяти. Однако из-за длительного цикла проектирования производителю чипсета довольно сложно отслеживать изменения в технологии NAND-памяти. Поэтому функциональные возможности встроенного в чипсет контроллера NAND-памяти будут всегда отставать от технологии NAND-памяти.
Существует несколько решений, подобных NAND-памяти, которые позволяют улучшить производительность и функциональные возможности стандартной NAND-памяти. Например, флэш-память OneNAND является разновидностью NAND-памяти, которая сочетает в одном устройстве RAM и отдельную SLC NAND-память для обеспечения начальной загрузки и увеличения скорости выборки. OneNAND-память требует 1-бит код коррекции ошибок для каждого 512-байт сектора и управление функциями, реализованное либо на чипсете, либо с помощью отдельного контроллера.
Другая разновидность NAND-памяти — OrNAND-память содержит MirrorBit NOR-память с интерфейсом NAND-памяти, что обеспечивает уменьшение времени записи по сравнению с обычной NOR-памятью. OrNAND-память также требует применения системы коррекции ошибок с длиной кода 1 бит, реализованной на чипсете или на отдельном контроллере для обеспечения надежной загрузки системы. Кроме того, максимальная емкость OrNAND-памяти в настоящее время ограничена 1 Гбит, что уступает емкости NAND-памяти.
Управляемая NAND-память для хранения данных
Из-за ограниченных возможностей встроенного контроллера NAND-памяти многие системные разработчики используют решения на основе управляемой (managed) NAND-памяти. Некоторые производители предложили продукты на основе управляемой NAND-памяти, которые позволяют снизить сложность обычной подсистемы памяти во встраиваемом приложении. Варианты управляемой NAND-памяти включают iNAND, GBNAND, moviNAND, Managed NAND и NANDrive. Они используются в основном для хранения данных. Эти решения позволяют уменьшить сложность системы благодаря эффективному управлению NAND-памятью с помощью встроенного контроллера и файловой системы флэш-памяти (flash file system — FFS), как показано на рисунке 2.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Рис. 2. Система с управляемой NAND-памятью для хранения данных
Эти устройства используют стандартные интерфейсы, например Secure Digital (SD), MultiMediaCard (MMC) или Advanced Technology Attachment (ATA). Например, iNAND и GBNAND используют интерфейс SD, moviNAND и Managed NAND — интерфейс MMC, а NANDrive — интерфейс ATA. Эти устройства не поддерживают непосредственное выполнение кода (XIP), поэтому для обеспечения загрузки в таких системах необходима NOR-память.
Использование управляемой NAND-памяти исключает необходимость реализации сложных функций управления памятью на хосте. В результате у производителей чипсетов нет необходимости постоянно следить за изменениями в технологии NAND-памяти.
Гибридные решения на основе управляемой NAND-памяти
Поскольку управляемая NAND-память не обеспечивает возможность загрузки системы, разработчикам приходится использовать для этого более дорогую NOR-память. Однако в последнее время появились гибридные решения, например флэш-память mDOC h4. В таких гибридных системах используются RAM и управляемая NAND-память в пределах одного устройства, что упрощает построение системы, как показано на рисунке 3.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Рис. 3. Система с гибридным устройством памяти, содержащим RAM и управляемую NAND-память
Гибридная память позволяет решить проблему загрузки, связанной с использованием управляемой NAND-памяти. Она обеспечивает загрузку системы непосредственно из NAND-памяти, исключая необходимость применения более дорогой NOR-памяти, что снижает общие системные затраты. Гибридная память также позволяет снизить число компонентов в системе и габариты, что имеет важное значение для таких приложений как сотовые телефоны. Эти решения обеспечивают большую емкость памяти, т.к. используют NAND-память.
С другой стороны, гибридная NAND-память имеет большее время загрузки, поскольку необходимо скопировать загрузочный код из NAND-памяти в загрузочную RAM после включения питания. Кроме того, гибридная NAND-память более сложна, ее трудно интегрировать в систему, а для работы с ней требуется ОС, которая поддерживает выделение страниц по запросу (demand paging) на хосте.
Флэш-память mDOC h4 использует шину NOR-типа для связи с процессором хоста и обеспечивает более быстрое считывание, чем NAND-память, и более быструю запись, чем NOR-память. Из-за большей скорости записи эти устройства подходят для хранения мультимедийных данных.
Использование управляемой NAND-памяти или даже гибридной управляемой NAND-памяти с возможностью загрузки системы не позволяет в значительной степени упростить построение подсистемы памяти. Разработчики все еще должны учитывать различные типы памяти и интерфейсов разных производителей и другие особенности системы. Такие типы подсистем памяти часто требуют использования множества компонентов с большим количеством выводов, разработки сложных аппаратных и программных средств. Это увеличивает стоимость системы, площадь печатных плат, время разработки и потребляемую мощность. Кроме того, увеличивается сложность внешнего контроллера памяти в процессоре хоста. Для современных систем необходимы удобные для пользования полностью управляемые подсистемы памяти для хранения данных и кода со стандартной шиной и RAM, интегрированные в одном устройстве.
Разработчики нуждаются в подсистеме памяти, которая обеспечивает хранение сотен Мбит кода с возможностью непосредственного выполнения (XIP), а также удовлетворяет растущим требованиям по хранению мультимедийных данных. Такая система должна сочетать преимущества NOR-памяти (быстрое чтение), NAND-памяти (низкая стоимость и большая емкость) и RAM (удобное обращение по шине). Это решение также должно быть простым в использовании и не сложным при проектировании. Такая система требует минимальной дополнительной разработки аппаратных и программных средств, имеет стандартный интерфейс связи с чипсетом хоста или процессором без использования дополнительной логики и обеспечивает такой же простой и удобный доступ, как к SRAM.
Встроенный контроллер этой подсистемы памяти должен обеспечивать коррекцию ошибок, управление дефектными блоками и выравнивание износа (wear-leveling) NAND-памяти. Контроллер должен иметь возможность также управлять встроенной памятью всех типов (NOR, NAND и RAM) для того, чтобы полностью освободить хост-систему от выполнения этих функций.
Подсистема памяти следующего поколения
В настоящее время на рынке доступны подсистемы памяти, обладающие всеми теми преимуществами, о которых говорилось выше. Одна из таких систем памяти в одном корпусе, конфигурация которой показана на рисунке 4, состоит из контроллера памяти со встроенной загрузочной NOR-памятью, NAND-памяти и RAM. Используя кэш RAM перед NAND-памятью, контроллер обеспечивает выделение страниц по запросу и другие функции управления памятью. Кроме того, кэш RAM обеспечивает линейную адресацию подсистемы памяти наподобие SRAM.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Рис. 4. Пример системы в одном корпусе, состоящей из контроллера памяти со встроенной загрузочной NOR-памятью, NAND-памяти и RAM: а) блок-схема, б) распределение памяти
Блок RAM разделен на две части, которые доступны со стороны хоста и могут быть сконфигурированы пользователем: кэш для псевдо NOR-памяти (PNOR) и системная RAM для хоста. Блок NAND-памяти используется для энергонезависимого хранения данных для области PNOR и отображения в памяти ATA NAND-диска. Конфигурируемый PNOR-блок эмулирует функцию NOR, используя кэш RAM и NAND-память. Поскольку NAND-память используется как основной блок энергонезависимой памяти, это решение обеспечивает хранение достаточно крупного XIP-кода и способно эффективно заменить традиционное решение на базе более дорогой NOR-памяти большой емкости. С помощью стандартного протокола ATA по стандартной шине RAM (PSRAM или SDR/DDR SDRAM) это решение обеспечивает достаточную емкость для хранения данных в мультимедийных приложениях, использующих интерфейс ATA. Кроме того, кэш RAM в PNOR-блоке также способствует увеличению ресурса флэш-памяти и надежности хранения кода и данных посредством минимизации циклов чтения/записи NAND-памяти.
Поскольку устройство предлагается в компактном корпусе, такая подсистема управляемой памяти способна упростить построение интерфейса и системы, уменьшает время разработки, снижает общую стоимость решения и улучшает качество и надежность. К другим преимуществам относятся конфигурируемая пользователем псевдо NOR-память для хранения XIP-кода; надежная система детектирования и коррекции ошибок MLC и SLC NAND-памяти и возможность масштабирования системы для увеличения емкости памяти. Не требующая серьезных затрат на разработку аппаратных и программных средств, такая подсистема памяти может стать тем долгожданным персонажем из пьесы Беккета.
Литература
1. Employ the proper flash memory in your design, Vijay Devadiga//www.embedded.com.
NAND и NOR: что они такое, и с чем их едят
Думаю, многие, читая в новостях о флэш-памяти, сталкивались с какими-то странными ругательными сокращениями типа NOR и NAND. При этом расшифровки значений, как правило, не приводилось, и найти им какое-либо объяснение вам, скорее всего, вряд ли удалось. Попробуем внести хоть какую-то ясность в этот вопрос.
Итак, сокращения NOR и NAND обозначают тип логических элементов, используемых в данной единице флэш-памяти. NOR обозначает логический элемент ИЛИ-НЕ (NOT OR), а NAND — И-НЕ (NOT AND). Но, поскольку мне сейчас не хочется читать вам курс булевой алгебры и основ цифровой логики, которая вам, к тому же, и не нужна, остановимся лишь на результатах использования этих технологий.
Основная функция накопителей на флэш — хранить информацию. И отсюда вытекает первое различие: достигнутые сегодня плотности записи для технологии NAND превосходят достигнутые в NOR, причем разница измеряется в порядках. И требования хранения больших объемов и компактности однозначно определяют технологию используемой флэш-памяти. Впрочем, это не единственный критерий. Не менее важной является возможность выполнять в памяти записанный программный код, т.е. так называемая XIP Capability (XIP — eXecute In Place). Такая возможность существует у NOR-технологии и отсутствует у NAND. Так получается, что основным назначением памяти, произведенной по технологии NAND, является хранение данных, а по технологии NOR — хранение исполнимого программного кода и, в меньшей степени, данных (что обусловлено не только доступным малым объемом — чуть позже мы вернемся к этому).
Флэш-устройства делятся на части, которые называются блоками. Это необходимо делать для преодоления некоторых физических ограничений и из ценовых соображений. Запись в любом устройстве флэш определенного блока может быть произведена только если этот блок пуст или очищен.
В большинстве случаев получается так, что операции записи должна предшествовать операция стирания. И если в NAND-устройствах операция стирания блока может быть произведена сразу, то в NOR-устройствах необходимо предварительно установить все байты блока в ноль. Нужно также сказать что типичное значение размера блока в NOR-устройствах составляет 64 или 128 Кб (8-32 Кб у NAND), что в сочетании с и так невысокими скоростями работы флэш приводит к тому, что операции записи со стиранием могут занимать до нескольких секунд. Это и является сдерживающим фактором применения NOR-флэша в качестве носителя данных. А применение его для хранения исполнимого кода возможно в том случае, если он устраивает в плане производительности — требования не должны быть высокими. Время стирания памяти NAND измеряется в миллисекундах и имеет первый порядок. А малый размер блока в случае неблагоприятных внешних условий гарантирует потерю минимального объема данных. Итак, подводя итог по этому абзацу: операции чтения NOR несколько быстрее NAND; операции же записи, наоборот, быстрее у NAND, причем значительно; благодаря малому размеру блока NAND в единицу времени нуждается в меньшем числе стираний (что, как мы увидим ниже, еще и способно продлить срок ее функционирования в устройстве), которые она проводит приблизительно на три порядка быстрее, чем NOR.NOR-флэш является устройством памяти с произвольным доступом. Микросхемы NOR имеют интерфейс, позволяющий произвести адресацию и получить легкий доступ к каждому отдельному байту. Интерфейс ввода-вывода устройства памяти NAND значительно сложнее и меняется от устройства к устройству и от разработчика к разработчику. Одни и те же выводы (зачастую их 8) используются для передачи управляющих сигналов, адреса и данных. Кроме того, в NAND-флэше доступ осуществляют блоками обычно в 512 байт, т.е. за одно обращение считывается или записывается 512 байт. Доступ к каждому блоку произвольный, но, так как нет возможности обратиться к отдельному байту, память типа NAND не является в известном смысле памятью произвольного доступа. Выдача каждого байта из 512-байтного блока осуществляется на шину памяти последовательно, поэтому уместно говорить о последовательном доступе. Что и делают. Или о памяти со страничной организацией. Теперь становится понятней, почему NOR больше подходит для хранения и выполнения программ, а NAND — для хранения данных.
Но у любой технологии не могут быть только положительные стороны. В этом смысле NAND тоже не исключение. Как и при эксплуатации любых накопителей, возможны случайные ошибки чтения и порча накопителя в целом. Для устройств памяти флэш-типа актуально говорить о безошибочном чтении, обработке плохих блоков и числе циклов чтения/записи. Явление ошибочного вычитывания битов (называется bit-flipping) больше характерно для NAND-памяти, чем для NOR. Вред от одного ошибочного бита определяется типом данных, к которым он принадлежит. Так, для мультимедийных данных это окажется несущественным, но подобная ошибка в программном коде или критически важных данных может привести к весьма трагическим результатам. Как я уже сказал, для NOR-памяти это явление менее характерно, а память на технологиях NAND нуждается в использовании какого-то дополнительного механизма обнаружения и коррекции ошибок.
Технологии производства NAND-памяти пока несовершенны, и изначально память содержит какое-то число неработающих элементов. Так как в NAND группа запоминающих ячеек объединяется в блок, то испорченная ячейка в блоке приводит к неработоспособности блока в целом, т.е. получается плохой блок. Поэтому появляется необходимость отслеживать состояние блоков и использовать только рабочие, что осуществить намного проще, чем произвести память, абсолютно не содержащую плохих страниц: такое производство оказывается очень дорогим (похожая ситуация была в свое время с LCD-панелями). По очевидным причинам этот вид дефектов не характерен для NOR.
Рабочий ресурс микросхем флэш выражается в минимально и максимально возможном числе циклов стирания каждого отдельного блока (а мы уже знаем, что каждая запись блока обязательно сопровождается его предварительным стиранием). Для памяти на технологиях NOR оно составляет 10.000 и 100.000 циклов соответственно, для NAND — 100.000 и 1.000.000 циклов. Все предельно просто, и комментировать нечего.
По материалам компаний — производителей флэш
Korg
компьютерная газета
Компьютерная газета. Статья была опубликована в номере 35 за 2004 год в рубрике hard :: digital
09. 06.2021
Джессика Хопкинс
Флэш-память часто используется во встроенных системах в качестве средства для хранения данных и информации, обеспечивая систему необходимыми инструкциями для работы. Два наиболее широко используемых типа флэш-памяти включают NOR и NAND Flash. В этой статье мы обсудим ключевые различия между NOR и NAND Flash, а также некоторые преимущества и недостатки каждого из них.
Флэш-память — энергонезависимое запоминающее устройство, которое можно электрически стирать и перепрограммировать. Энергонезависимая память означает, что запоминающее устройство будет сохранять сохраненные данные, даже когда система выключена. Одной из причин, по которой флэш-память часто используется во встроенных системах, является ее способность стирать данные блоками, а не отдельными байтами. Поскольку флэш-память необходимо очистить, прежде чем ее можно будет запрограммировать, это помогает ускорить процесс и позволяет быстрее программировать.
Существует несколько различных типов флэш-памяти, но наиболее часто используемые включают флэш-память NOR и NAND. Оба этих типа флэш-памяти хранят данные в ячейках памяти, изготовленных из транзисторов с плавающим затвором. NOR и NAND Flash получили свои названия от типа логического элемента, используемого в ячейке, и отличаются своей архитектурой и назначением.
Флэш-память NOR оптимизирована для возможностей произвольного доступа, что означает возможность доступа к данным в любом порядке и не требует соблюдения последовательности мест хранения. В конфигурации внутренней схемы каждая из ячеек памяти NOR Flash соединена параллельно; один конец ячейки памяти подключен к линии истока, а другой конец подключен к битовой линии. Благодаря этому система может получить доступ к отдельным ячейкам памяти.
Флэш-память NAND, с другой стороны, оптимизирована для хранения данных высокой плотности и отказывается от возможности произвольного доступа. В отличие от флэш-памяти NOR, ячейки флэш-памяти NAND подключаются последовательно, обычно восемь транзисторов памяти, к битовой линии, называемой строкой. Здесь исток одной ячейки соединяется со стоком следующей. Это последовательное соединение уменьшает количество заземляющих проводов и битовых линий, и в результате такой конфигурации NAND имеет меньший размер ячейки. Однако это не позволяет получить прямой доступ к отдельным ячейкам.
Поскольку флэш-память NAND обеспечивает более высокую плотность, она может работать с гораздо большей емкостью памяти. Это дает ему преимущество для приложений хранения данных, таких как флэш-накопители, цифровые камеры и USB-накопители. Из-за более высокой плотности NAND имеет меньший размер ячейки памяти и может масштабироваться.
Флэш-накопитель USB
Флэш-память NOR, наоборот, имеет меньшую плотность и, следовательно, меньший объем памяти по сравнению с NAND. Это делает NOR Flash более подходящим для приложений с малой емкостью и высокой надежностью, таких как хранение кода в устройствах, включая мобильные телефоны или медицинские устройства. Кроме того, NOR имеет больший размер ячейки памяти, что ограничивает его возможности масштабирования по сравнению с NAND.
Архитектура флэш-памяти NOR и NAND влияет на производительность каждой из них при записи, стирании и чтении данных. Поскольку ячейки флэш-памяти NOR соединены параллельно и могут быть доступны напрямую, это обеспечивает короткое время считывания. Однако из-за того, что NOR Flash имеет больший размер ячейки и более сложный процесс стирания, это влияет на его способность записывать и стирать так же быстро, как в NAND.
С другой стороны, ячейки памяти NAND соединены последовательно, которые организованы в страницы, которые затем подразделяются на блоки. Чтение NAND происходит медленнее, поскольку он поддерживает доступ к страницам и блокам, а не произвольный доступ, когда он может читать каждый байт по отдельности. Однако запись и стирание NAND выполняются быстрее, чем с NOR.
Что касается энергопотребления, NOR требует больше тока при первом включении, но меньше энергии в режиме ожидания. И наоборот, NAND требует меньше энергии для запуска, но больше для режима ожидания. Однако и NOR, и NAND сопоставимы по мгновенной активной мощности, но она может варьироваться в зависимости от того, как используется память. Например, NOR обычно медленнее при записи и потребляет больше энергии, чем NAND. NOR обычно быстр при чтении, которое потребляет меньше энергии.
Благодаря меньшему размеру и конфигурации с высокой плотностью, NAND имеет более низкую стоимость на бит по сравнению с NOR Flash.
Таким образом, флэш-память NAND обеспечивает высокую плотность хранения и меньший размер ячейки. Благодаря недорогим, высокоплотным и высокоскоростным приложениям для программирования/стирания NAND часто предпочтительнее для хранения файлов в потребительских приложениях. NOR Flash предлагает гораздо более высокую скорость чтения и возможности произвольного доступа, что делает его пригодным для хранения и выполнения кода на таких устройствах, как мобильные телефоны.
Total Phase предлагает различные хост-адаптеры, которые можно использовать для программирования устройств флэш-памяти NOR на основе I2C и SPI. Наши хост-адаптеры подходят для различных требований проекта.
Хост-адаптер Aardvark I2C/SPI — это универсальный хост-адаптер I2C или SPI, который можно использовать для передачи последовательных сообщений с использованием протоколов I2C или SPI.
Хост-адаптер Cheetah SPI — это высокоскоростной хост-адаптер, предназначенный для связи с высокоскоростной флэш-памятью на основе SPI. Он способен обмениваться данными по SPI на частоте до 40+ МГц.
Последовательная платформа Promira — это наша передовая платформа на основе FPGA, которая может выполнять высокоскоростное программирование I2C или SPI. В зависимости от приложения этот инструмент поддерживает до 80 МГц в качестве ведущего SPI и до 3,4 МГц в качестве ведущего I2C.
Программное обеспечение Flash Center — это программный пакет, который позволяет инженерам быстро стирать, программировать и проверять чипы EEPROM и флэш-памяти на основе I2C и SPI, которые подключаются через хост-адаптер Aardvark I2C/SPI, хост-адаптер Cheetah SPI и Серийная платформа Promira.
Программное обеспечение изначально поддерживает более 500 микросхем памяти от основных производителей микросхем, которые можно найти в библиотеке деталей. Программное обеспечение обеспечивает расширенную поддержку флэш-памяти NOR SPI, включая флэш-память Micron N25Q Serial NOR и флэш-память Spansion Serial NOR, и это лишь некоторые из них.
Если пользователи не видят свою часть в списке, ее можно легко добавить, выполнив следующие действия: Создание и добавление пользовательской части Flash в программное обеспечение Flash Center
Для получения дополнительной информации о том, как наши инструменты могут удовлетворить ваши требования к программированию на Flash, напишите нам по адресу sales@totalphase. com.
Память бывает разных форм, и флэш-память является важным ресурсом энергонезависимой памяти. Флэш-память представляет собой электронно стираемую и перепрограммируемую энергонезависимую память компьютера. Бытовая электроника, компьютеры, медицинское оборудование и промышленное оборудование — вот лишь несколько примеров областей, где устройства часто полагаются на флэш-память для хранения и передачи данных.
Существует два распространенных типа флэш-памяти: NAND и NOR, что указывает на эквивалентную логическую функциональность двух архитектур ячеек памяти. У каждого есть свои преимущества, и в этой статье мы подробно рассмотрим преимущества каждого типа памяти. Из того, что мы увидим ниже, флэш-чип может быть рабочей лошадкой для большинства приложений встраиваемых систем, требующих хранения данных объемом до ГБ.
МОП-транзисторы с плавающим затвором (известные как МОП-транзисторы с плавающим затвором или FGMOS) используются для создания массива ячеек памяти в микросхемах флэш-памяти. В этой структуре затвор электрически изолирован от остальной части транзистора, а вторичные выводы формируются над структурой затвора. Это позволяет заряду, накопленному на затворе, сохраняться в течение чрезвычайно длительных периодов времени (порядка десятилетий).
Архитектура одноуровневых ячеек (SLC) хранит один бит на ячейку, в то время как устройства многоуровневых ячеек (MLC) могут хранить несколько битов на ячейку. Как вы, возможно, уже догадались, во флэш-памяти И-НЕ каждая ячейка работает как логический вентиль И-НЕ, а во флэш-памяти ИЛИ-НЕ каждая ячейка структурирована как вентиль ИЛИ-НЕ. Важно отметить, что эти памяти буквально не построены из логических вентилей НЕ-И или ИЛИ-НЕ, но логическая реализация чтения и записи данных в этих системах соответствует этой функциональности.
В архитектуре NAND ячейки соединены последовательно в битовую линию. Сток МОП-транзистора одной ячейки подключен к истоку МОП-транзистора следующей ячейки. Каждая ячейка связана с отдельной строкой слов, как показано ниже.
Топология ячеек И-НЕ
Этот тип конструкции работает как вентиль И-НЕ, поскольку битовая линия имеет низкий уровень только тогда, когда все линии слов имеют высокий уровень. Такое последовательное соединение сокращает количество проводов заземления и битовых линий, необходимых для формирования цепочки ячеек памяти. Ячейки на подложке могут быть соединены напрямую через легированный или проводящий слой. Кроме того, можно размещать ячейки друг над другом в вертикальной трехмерной топологии. Следовательно, флэш-память NAND меньше по размеру, что делает ее более плотной и дешевой. Однако это не позволяет получить прямой доступ к каждой ячейке в отдельности.
В NOR flash ячейки памяти расположены параллельно. Один конец каждой ячейки подключен к битовой линии, а другой конец каждой ячейки подключен к источнику. Структура показана ниже.
Топология ячеек NOR
Флэш-память NOR распараллеливает битовые линии, поэтому данная ячейка памяти остается высокой только тогда, когда и битовая, и словная линии имеют низкий уровень; это соответствует логической функциональности вентиля ИЛИ-НЕ. Флэш-память NOR позволяет получить доступ к каждой отдельной ячейке и, следовательно, быстрее считывается. Однако NOR дороже, чем ячейки NAND, потому что для той же общей емкости памяти требуется большая площадь кремния.
Архитектура NAND позволяет размещать больше ячеек на меньшей площади по сравнению с архитектурой NOR. Для аналогичного технологического процесса физическая конструкция ячеек флэш-памяти NAND обеспечивает примерно на 40 % меньшую площадь покрытия, чем ячейки флэш-памяти NOR. Более низкая стоимость бита также способствует более высокой плотности устройств памяти NAND.
Можно подумать, что эти скорости должны быть одинаковыми в этих архитектурах, но это не так. Поскольку данные можно считывать из отдельных ячеек NOR, флэш-память NOR позволяет выполнять более быстрые операции чтения, поскольку ячейки подключены параллельно. Вместо того, чтобы считывать целую строку слов в регистр и анализировать ее, при необходимости можно получить доступ к отдельному биту. Однако это делает флэш-память NOR более медленной для записи и стирания, чем NAND, из-за большего размера ячейки; во флэш-памяти NOR каждый бит должен быть записан в 0, прежде чем его можно будет удалить.
Ячейки памяти в NAND соединены последовательно и организованы в страницы, которые далее делятся на блоки. Чтение NAND медленнее, но запись и стирание NAND быстрее, чем NOR, потому что большие группы битов могут быть стерты одновременно.
Все микросхемы флэш-памяти поддерживают ограниченное количество циклов стирания-программирования. Эти воспоминания подвержены явлению, известному как переключение битов, при котором биты могут инвертироваться в некоторых поврежденных ячейках памяти. Флэш-память NAND более чувствительна к переключению битов, чем флэш-память NOR. В течение срока службы микросхемы флэш-памяти NAND все больше ячеек памяти будут повреждены в результате многократного стирания и перепрограммирования.
Поэтому с точки зрения надежности NOR flash предпочтительнее NAND. Флэш-память NOR также лучше с точки зрения хранения данных. Например, производители флэш-памяти обещают срок хранения от 20 до 100 лет, если чипы хранятся в архивных условиях.
NOR потребляет больший ток при включении, но потребляет меньше энергии в режиме ожидания. В то время как NAND имеет более низкое начальное энергопотребление, его энергопотребление в режиме ожидания выше. Мгновенная активная мощность флэш-памяти NOR и NAND почти одинакова, поэтому общее энергопотребление будет зависеть от количества времени, в течение которого память активно считывается или записывается.
В таблице ниже приведены различные характеристики флэш-памяти NAND и NOR.
Флэш-память NAND | Флэш-память NOR |
Более высокая скорость записи | Более высокая скорость чтения |
Большая емкость для данной площади кремния | Меньшая плотность |
Предпочтительно для длительного хранения и нечастого чтения | Предпочтительно для чтения данных, необходимых для выполнения кода |
Более высокое энергопотребление в режиме ожидания | Более высокое энергопотребление во время загрузки/чтения |
В некоторых встраиваемых системах часто можно увидеть две микросхемы флэш-памяти. Например, прошивка и параметры загрузки могут храниться на небольшом чипе NOR, чтобы система могла загружаться быстро, а долговременное хранилище может располагаться на большом чипе NAND. К обоим можно получить доступ через стандартный последовательный интерфейс, такой как SPI. Учитывайте эти моменты при выборе флэш-памяти, так как оба типа могут использоваться в одной и той же системе.
Любой, кто хочет оставаться в авангарде проектирования встроенных систем, должен использовать лучший набор функций проектирования и моделирования, чтобы добиться успеха. Профессиональные цифровые и аналоговые инженеры доверяют полному набору инструментов системного анализа от Cadence для оценки и моделирования функциональности своей системы. Только Cadence предлагает полный набор инструментов для проектирования схем, интегральных схем и печатных плат для любого приложения и любого уровня сложности.
Подпишитесь на нашу рассылку, чтобы быть в курсе последних обновлений. Если вы хотите узнать больше о том, какое решение у Cadence есть для вас, поговорите с нашей командой экспертов.