eMMC: введение
NAND Flash - это, без сомнения, самый дешевый способ хранения тонны бит в одном месте. Это также один из самых отягчающих сред памяти для работы. Биты изнашиваются, появляются ошибки, и данные теряются. Зачем решать все проблемы с управлением памятью вручную? Вместо этого используйте eMMC!
Проблема с флэш-памятью NAND
NAND Flash имеет ряд неотъемлемых проблем, связанных с сохранением и точностью данных. Неудачи из-за изменения полупроводников могут привести к потере данных в любое время. Что еще хуже, эти проблемы только усугубляются временем и продолжают использовать чип. Эти проблемы, как правило, могут быть устранены с помощью некоторых простых программных технологий. Коды коррекции ошибок, алгоритмы выравнивания износа и плохое управление блоком могут продлить срок службы чипа NAND, используя интеллектуальное пространство чипа. Однако это происходит за счет: размеры кремниевых процессов продолжают сокращаться после закона Мура, что означает, что плавающие ворота внутри чипов начинают становиться более уязвимыми для ошибок. Усугублением этой проблемы является увеличение многоуровневой ячейки (MLC) и трехъядерной ячейки (TLC) NAND, которые кодируют несколько битовых значений в одном транзисторе с плавающим затвором! Это, как правило, означает, что для обеспечения корректности данных необходим более надежный алгоритм ECC, но это связано с большими расходами на бит ECC и увеличением времени вычислений для сложных алгоритмов ECC.

(Примечание: я уже писал о том, как NAND может сломаться и как предотвратить его нарушение в моем собственном блоге. Проверьте это, если вы хотите узнать больше о режимах NAND-сбоев!)
Вся эта сложность (и программное обеспечение, написанное для управления ею) вызывает вопрос - нет ли лучшего способа? Как это бывает, есть!
Выберите карту, любую карту
Внедренные MultiMediaCards (eMMCs for short) выросли из устаревших стандартов MultiMediaCard. Хотя MMC были позже заменены SD-картами, эти две технологии поделились одной общей архитектурной особенностью: вместо того, чтобы разоблачить необработанную NAND-Flash на хост-машину, на картах была небольшая контрольная ИС, которая позаботилась о интерфейсах процессоров и управлении чипами. Функция управления NAND - большое дело - вместо того, чтобы требовать от процессора выполнения всей работы, показывающей, что энергонезависимые данные хороши, системный процессор освобождается для выполнения других задач! Популярными, но сложными программными обходными решениями, такими как ведение журналов флэш-файловых систем, в результате этой разработки были достаточно устаревшими. Однако имейте в виду, что эти карты не являются лекарством. Они зависят от флэш-памяти и, следовательно, имеют конечные времена жизни. Чтобы спрогнозировать здоровье внутренних данных, большинство поставщиков NAND будут выставлять регистры на хост, показывающие наихудшие программы / стирающие циклы внутренних блоков, а также общие циклы P / E для устройства.

Скоро в кино
Контроллер управления NAND в eMMC имеет еще одно преимущество над сырой NAND Flash: скорость. ONFI Consoritum котирует скорости до 150 Мбайт / с в устройствах ONFI 2.0; однако на практике это практически невозможно на практике из-за латентности при переходе адреса между процессорным контроллером и устройством NAND. Указанный максимум для большинства NAND является базовым для среднего уровня eMMC.
Как они достигают этих успехов? eMMCs значительно улучшают это, применяя архитектуру конвейера, подобную DDR DRAM. Последовательные чтения обычно не требуют дополнительной адресации для доступа к следующим разделам памяти. Это связано с наличием кеша в eMMC, что необработанное NAND. Этот встроенный процессор и его кэш-память позволяют хост-процессору эффективно передавать данные в контроллере для чтения или записи в ячейки NAND, не беспокоясь о том, чтобы эти действия были завершены. Компромисс, как и сырая NAND Flash, - это удар по произвольной производительности чтения. Поскольку новое место для чтения требует постановки страницы данных NAND в контроллере, она подвержена той же задержке, что и необработанные NAND-устройства.
Более быстрый способ
eMMC предлагают конкурентоспособный способ доставки на рынок надежных высокопроизводительных продуктов за меньшее время, чем сырые решения NAND. Они поразили настоящее сладкое пятно с точки зрения стоимости, сложности и доступности над сырым NAND.
Каковы ваши опыты в разработке с eMMC? Оставьте нам комментарий и сообщите нам!