Микросхемы FLASH-памяти фирмы SAMSUNG
Микросхемы FLASH-памяти фирмы SAMSUNG
В статье описаны микросхемы флэш-памяти объемом 4 Гбита K9K4G08Q0M-YCB0/YIB0, K9K4G16Q0M- YCBO/YIBO, K9K4G08U0M- YCBO/YIBO, K9K4G16U0M-YCB0/YIB0. Эти микросхемы используются в качестве энергонезависимой памяти в бытовых, промышленных и компьютерных устройствах. В цифровых видео- и фотокамерах, диктофонах и автоответчиках эти микросхемы используются в качестве памяти для изображения и звука в составе твердотельных флэш-дисков.
Микросхемы флэш-памяти разделяются на группы по напряжению питания и архитектуре (табл. 1). В табл. 2 представлено назначение выводов микросхем флэш-памяти.
Таблица 1
Обозначение прибора | Напряжение питания (номинальное значение) | Архитектура | Тип корпуса |
K9K4G08Q0M-Y | 1,70…1,95В(1,8 В) | 512 Мбит х 8 | TS0P1 |
K9K4G16Q0M-Y | 1,70…1,95 В (1,8 В) | 256 Мбит х 16 | TS0P1 |
K9K4G08U0M-Y | 2,7…3,6 В (3,3 В) | 512 Мбит х 8 | TS0P1 |
K9K4G16U0M-Y | 2,7…3,6 В (3,3 В) | 256 Мбит х 16 | TS0P1 |
Таблица 2
№ выводов | Обозначение вывода (тип микросхемы) | Назначение выводов |
29-32; 41-44 | I/O(0-7) (K9K4G08X0M-Y) | Ввод/вывод данных. Выводы используются для ввода/вывода адресов ячеек, данных или команд в течение циклов считывания/записи. Когда микросхема не выбрана, или обращение к выводам запрещено, они переводятся в состояние высокого импеданса |
26, 28, 30, 32, 40, 42, 44, 46, 27, 29, 31, 33, 41, 43, 45, 47 | I/0(0-15) (K9K4G16X0M-Y) | |
16 | CLE | Разрешение фиксации команды. Высокий уровень сигнала на этом выводе переключает мультиплексоры на входах I/O по направлению регистра команд. Запись команды в регистр производится по фронту сигнала WE |
17 | ALE | Разрешение фиксации адреса. Высокий уровень сигнала на этом входе переключает мультиплексоры на входах I/O по направлению адресного регистра. Загнись команды в регистр производится по фронту сигнала WE |
9 | СЕ | Выбор микросхемы. Низкий уровень на входе разрешает операцию чтения данных, а высокий, при отсутствии каких-либо операций, переводит микросхему в дежурный режим. Во время операций записи/стирания, высокий уровень на этом входе игнорируется |
8 | RE | Разрешение чтения. Вход управляет последовательным выводом данных, когда активна передача данных на шину ввода/вывода. Данные действительны после спада сигнала RE и некоторого нормированного времени выборки. Сигнал RE также увеличивает внутренний счетчик адреса столбца на единицу |
18 | WE | Разрешение записи. Вход управляет записью в порт ввода/вывода. Команды, адрес и данные фиксируются по фронту импульса WE |
19 | WP | Блокировка записи. Выход обеспечивает защиту от случайной записи/стирания во время включения питания. Внутренний генератор программирующего напряжения блокирован, когда на выводе WP активный низкий уровень |
7 | R/B | Свободно/занято. Выход R/B указывает состояние микросхемы. Низкий уровень указывает, что выполняется операция записи, стирания или чтения с произвольной выборкой, высокий уровень устанавливается после завершения этих операций. Этот выход с открытым стоком не переходит к состоянию высокого импеданса, когда микросхема не выбрана, или когда выходы заблокированы |
38 | PRE | Разрешение чтения при включении питания. Выход PRE управляет операцией авточтения, выполняемой при включении питания. Авточтение при включении питания разрешено, если вывод PRE подключен к выводу VCC |
12 | VCC | Напряжение питания |
13 | VSS | Общий |
Микросхемы K9K4GXXX0M имеют емкость 4 Гбита с резервом 128 Мбит (фактическая емкость составляет 4 429 185 024 бита) и архитектуру 512 Мбит х 8 или 256 Мбит х 16 с надежностью до 1 млн. циклов записи/стирания. 8-разрядные микросхемы организованы в 2112 х 8 страниц, а 16-разрядные — в 1056 х 16 столбцов. Во всех микросхемах есть резервные биты, располагающиеся в 128 строках с адресами 2048-2111 у 8-разрядных микросхем, или в 64 столбцах с адресами 1024-1055 — у 16-разрядных. Для организации передачи данных в течение операции чтения/записи страницы между ячейками памяти и портами ввода-вывода у этих микросхем имеются последовательно связанные друг с другом регистры данных размером 2112 байт для 8-разрядной, или 1056-словный для — 16-разрядной микросхемы и регистры кэша соответствующего объема. Массив памяти строится из 32 связанных ячеек, находящихся на разных страницах и объединенных структурой И-НЕ. 32 ячейки, объединяющие 135168 структур 2И-НЕ и расположенные на 64 страницах, составляют блок. Совокупность 8- или 16-разрядных блоков составляет массив памяти.
Операция чтения выполняется постранично, в то время как операция стирания — только поблочно: 2048 отдельно стираемых блоков пс 128 Кбайт (для 8-разрядных микросхем), или блоков по 64 Кслов (для 16-разрядных микросхем). Стирание отдельных битов невозможно.
Запись страницы в микросхемы выполняется за 300 мкс, стирание — за 2 мс на блок (128 Кбайт — для 8-разрядных, или на 64 Кслов — для 16-разрядных микросхем). Байт данных считывается со страницы за 50 нc.
Для записи и контроля данных в микросхемах имеется встроенный контроллер, обеспечивающий весь процесс, включая, если требуется, повторение операций внутренней проверки и разметки данных. У микросхем K9K4GXXX0M реализована система обеспечения проверки информации с исправлением ошибок и выбраковкой ошибочных данных е реальном времени.
Микросхемы имеют 8 или 16 мультиплексных адресов ввода/вывода. Такое решение резко уменьшает число задействованных выводов, и позволяет проводить последующие модернизации устройств, не увеличивая их размеров. Ввод команд, адреса и данных производится при низком уровне на выводе СЕ по спаду сигнала WE через одни и те же ножки ввода/вывода. Вводимая информация записывается в буферные регистры по фронту сигнала WE. Сигналы разрешения записи команды (CLE) и разрешения записи адреса (ALE) используются, чтобы мультиплексировать команду и адрес соответственно через одни и те же ножки ввода/вывода.
Таблица 3
Операция | НЕХ-код 1-го цикла | НЕХ-код 2-го цикла |
Чтение | 00 | 30 |
Чтение для перезаписи | 00 | 35 |
Чтение сигнатуры | 90 | — |
Сброс | FF | — |
Запись на страницу | 80 | 10 |
Запись в кэш | 80 | 15 |
Перезапись | 85 | 10 |
Стирание блока | 60 | DO |
Произвольный ввод данных* | 85 | — |
Произвольный вывод данных* | 05 | Е0 |
Чтение статуса | 70 | — |
* Произвольный ввод/вывод данных возможен в пределах одной страницы
В табл. 3 показаны команды управления микросхем. Подача на входы других, не перечисленных в таблице, шестнадцатеричных (HEX) кодов команд, ведет к непредсказуемым последствиям, и поэтому запрещена.
Чтобы повысить скорость записи во время приема больших объемов данных, у встроенного контроллера предусмотрена возможность записи данных в регистры кэш-памяти. При включении питания встроенный контроллер автоматически обеспечивает доступ к массиву памяти, начиная с первой страницы без ввода команды и адреса. В дополнение к усовершенствованной архитектуре и интерфейсу, контроллер обладает возможностью копирования (перезаписи)содер жимого одной страницы памяти на другую без обращения к внешней буферной памяти. В этом случае обеспе чивается более высокая скорость переноса данных, чем при обычной работе, так как отнимающий много времени последовательный доступ и циклы ввода данных отсутствуют.
Выбраковка блоков
Блоки памяти в микросхемах K9K4GXXX0M определяются как недопустимые, если содержат один иль более недопустимых битов, однозначность чтения которых не гарантируется. Информация из недопустимых блоков трактуется как «недопустимая информация блока». Микросхемы с недопустимыми блоками не отличаются по статическим и динамическим характеристикам и имеют тот же самый качественный уровень, как и микросхемы со всеми правильными блоками. Недопустимые блоки не влияют на работу нормальных блоков, потому что они изолировань от разрядной и общей шины питания транзистором выбора. Система спроектирована таким образом, что у недопустимых блоков блокируются адреса. Соответственно, к некорректным битам попросту нет доступа.
Идентификация недопустимого блока
Содержимое всех ячеек микросхемы (кроме тех, где хранится информация о недопустимых блоках) с адресами FFh для 8-разрядных и FFFFh для 16-разрядных, может быть стерта. Адреса недопустимых блоков, находящихся в резервной области массива памяти, определяет первый байт для 8-разрядных микросхем или первое слово — для 16-разрядных. Производитель гарантирует, что или 1-я или 2-я страница каждого блока с адресами недопустимых ячеек имеют в столбцах с адресами 2048 (для 8-разрядных) или 1024 (для 16-разрядных) данные, отличные, соответственно, от FFh или FFFFh. Так как информация о недопустимых блоках также является стираемой, то в большинстве случаев стирания адресов бракованных блоков их восстановить невозможно. Поэтому в системе должен быть заложен алгоритм, способный создать таблицу недопустимых блоков, защищенную от стирания и основанную на первоначальной информации о бракованных блоках.
После очистки массива-памяти адреса этих блоков снова загружаются из этой таблицы. Любое намеренное стирание первоначальной информации о недопустимых блоках запрещено, так как ведет к некорректной работе системы в целом.
Со временем число недопустимых блоков может возрасти, поэтому необходимо периодически проверять фактическую емкость памяти, сверяя адреса забракованных блоков с данными из резервной таблицы недопустимых блоков. Для систем, где необходима высокая отказоустойчивость, лучше всего предусмотреть возможность поблочного переписывания массива памяти со сравнением результатов с фактическими данными, оперативно выявляя и заменяя блоки некорректной информации. Данные из выявленного недопустимого блока переносятся в другой, нормальный пустой блок, не затрагивая соседние блоки массива и используя встроенный буфер, размер которого соответствует размеру блока. Для этого и предусмотрены команды для поблочной перезаписи.
Что такое чип памяти и как программировать микросхемы
Главная страница » Что такое чип памяти и как программировать микросхемы
Микросхемы разного назначения применяются в составе электроники современной техники. Огромное многообразие такого рода компонентов дополняют микросхемы памяти. Этот вид радиодеталей (среди электронщиков и в народе) зачастую называют просто – чипы. Основное назначение чипов памяти – хранение определённой информации с возможностью внесения (записи), изменения (перезаписи) или полного удаления (стирания) программными средствами. Всеобщий интерес к чипам памяти понятен. Мастерам, знающим как программировать микросхемы памяти, открываются широкие просторы в области ремонта и настройки современных электронных устройств.
СОДЕРЖИМОЕ ПУБЛИКАЦИИ :
О чипах – микросхемах хранения информации
Микросхема памяти — это электронный компонент, внутренняя структура которого способна сохранять (запоминать) внесённые программы, какие-либо данные или одновременно то и другое.
По сути, загруженные в чип сведения представляют собой серию команд, состоящих из набора вычислительных единиц микропроцессора.
Следует отметить: чипы памяти всегда являются неотъемлемым дополнением микропроцессоров – управляющих микросхем. В свою очередь микропроцессор является основой электроники любой современной техники.
МИКРОСХЕМЫ
Набор электронных компонентов на плате современного электронного устройства. Где-то среди этой массы радиодеталей приютился компонент, способный запоминать информациюТаким образом, микропроцессор управляет работой электронной техники, а чип памяти хранит сведения, необходимые микропроцессору.
Программы или данные хранятся в чипе памяти как ряд чисел — нулей и единиц (биты). Один бит может быть представлен логическими нулем (0) либо единицей (1).
В единичном виде обработка битов видится сложной. Поэтому биты объединяются в группы. Шестнадцать бит составляют группу «слов», восемь бит составляют байт — «часть слова», четыре бита — «кусочек слова».
Программным термином для чипов, что используется чаще других, является байт. Это набор из восьми бит, который может принимать от 2 до 8 числовых вариаций, что в общей сложности даёт 256 различных значений.
Для представления байта используется шестнадцатеричная система счисления, где предусматривается использование 16 значений из двух групп:
- Цифровых (от 0 до 9).
- Символьных (от А до F).
Поэтому в комбинациях двух знаков шестнадцатеричной системы также укладываются 256 значений (от 00h до FFh). Конечный символ «h» указывает на принадлежность к шестнадцатеричным числам.
Организация микросхем (чипов) памяти
Для 8-битных чипов памяти (наиболее распространенный тип) биты объединяются в байты (8 бит) и сохраняются под определённым «адресом».
По назначенному адресу открывается доступ к байтам. Вывод восьми битов адреса доступа осуществляется через восемь портов данных.
ЛОГИКА
Организация структуры запоминающего устройства. На первый взгляд сложный и непонятный алгоритм. Но при желании разобраться, понимание приходит быстроНапример, 8-мегабитный чип серии 27c801 имеет в общей сложности 1048576 байт (8388608 бит). Каждый байт имеет свой собственный адрес, пронумерованный от 00000h до FFFFFh (десятичное значение 0 — 1048575).
Помимо 8-битных чипов памяти, существуют также 16-битные чипы памяти. Есть микросхемы последовательного доступа, характеризуемые как 1-битные и 4-битные чипы памяти. Правда, последние из отмеченных микросхем теперь уже практически не встречаются.
Микросхемы памяти EPROM (серия 27… 27C …)
Термином «EPROM» зашифрована аббревиатурой техническая характеристика микросхем — стираемая программируемая память только читаемая (Erasable Programmable Read Only Memory). Что это значит в деталях?
СЕРИЯ 27С256
Одна из модификаций запоминающих устройств, особенность исполнения которой заключается в наличии специального окна. Благодаря этому окну, ультрафиолетом стирается информацияНесмотря на расшифровку куска аббревиатуры – «только для чтения» (Read Only Memory), информация доступна для стирания и перезаписи, но только с помощью программатора. Часть аббревиатуры — «Erasable», сообщает о возможности стирания данных.
Структура чипов серии 27… 27C… поддерживает стирание информации методом воздействия на ячейки хранения интенсивным ультрафиолетовым излучением (длина волны 254 нм).
Обозначение аббревиатуры «программируемый» (Programmable) указывает на возможность программирования, когда любая цифровая информация может быть заложена в чип.
Для программирования чипов требуется программатор. К примеру, 27 серия успешно прошивается устройствами «Batronix Eprommer» или «Galep-4».
ПРОГРАММАТОР
Программатор микросхем Batronix — эффективный и продуктивный инструмент программирования запоминающих устройств. Поддерживает работу с широким набором чипов, включая 27 сериюТип памяти серии 27… 27C… сохраняет записанные программатором данные до следующего программирования с функцией стирания или без таковой.
Допускается многократное программирование без стирания, при условии изменения битов только от состояния единицы до состояния нуля или имеющих состояние нуль.
Если же требуется запрограммировать чип памяти с изменением бита от состояния нуля до состояния единицы, прежде необходимо применить функцию стирания.
Конфигурация исполнения серии 27…, 27C..
Микросхемы 27 серии выпускаются с окном из кварцевого стекла для засветки ультрафиолетом или без окна. Конфигурация чипа без окна не поддерживает функцию ультрафиолетового стирания.
Такой тип микросхем (без окна) относят к чипам EPROM, которые программируются за один раз. Маркируются чипы как OTP (One Time Programmable) — одноразовое программирование.
27C512
Запоминающее программируемое устройство из группы однократно программируемых EPROM (One Time Programmable). В настоящее время редко применяемыеНа устройствах с окном после стирания ультрафиолетом и последующего программирования, кварцевое окно закрывают наклейкой. Так защищают данные от возможного повреждения светом.
Солнечные лучи содержат ультрафиолет, а это значит – свет солнца способен стирать информацию, записанную в микросхеме. Правда, чтобы полностью стереть данные солнечным светом, потребуется несколько сотен часов прямого воздействия солнечных лучей.
Также следует отметить особенности EPROM серии 27C… Символ «С» в данном случае указывает на принадлежность чипа к семейству CMOS (Complimentary Metal Oxide Semiconductor) — комплементарный метал-оксидный полупроводник.
Этот вид микросхем памяти отличается сниженной производительностью по отношению к семейству NMOS (N-channel Metal Oxide Semiconductor) — N-канальный метал-оксидный полупроводник.
Кроме того, серия 27C требует меньшего напряжения питания (12,5В). Между тем обе конфигурации исполнения совместимы. Поэтому, к примеру, микросхема 2764 вполне заменима на чип 27C64.
Микросхемы памяти EEPROM серии 28C…
Здесь первое отличие заметно в аббревиатуре типа памяти – EEPROM, что означает электрически стираемое программируемое постоянное запоминающее устройство (Electrically Erasable Programmable Read Only Memory).
Построение этой серии практически идентично 27 чипам. Однако 28 серия позволяет стирать отдельные байты или всё пространство памяти электрическим способом, без применения ультрафиолета.
СЕРИЯ 28C
Серия запоминающих устройств, поддерживающая электрический метод стирания информации. Этот вид входит уже в состав группы EEPROM — электрически стираемых постоянных запоминающих устройствПоскольку отдельные байты можно стереть, не удаляя всю хранимую информацию, эти отдельные байты могут быть перезаписаны. Однако процесс записи EEPROM занимает больше времени, чем программирование EPROM. Разница до нескольких миллисекунд на байт.
Чтобы компенсировать этот недостаток, чипы подобные AT28C256, оснащаются функцией блочного программирования. При таком подходе к программированию, одновременно (блоком) загружаются 64, 128 или 256 байт. Блочный способ сокращает время программирования.
Чипы памяти FLASH EEPROM серии 28F …, 29C …, 29F …
Эти чипы можно стирать электрически — полностью или блоками, а некоторые (подобные AT28C …) могут программироваться блоками.
Между тем Flash-память не всегда применимо использовать в качестве замены обычного чипа. Причины, как правило, заключаются в разной конфигурации корпусного исполнения.
СЕРИЯ 29C
Устройства записи и хранения данных, поддерживающие технологию программирования Flash-memory. Отличаются исполнением корпуса с большим числом контактов (32). Входят в группу EPROMПростой пример, когда Flash-память доступна только в корпусах на 32 контакта или более. Поэтому, допустим, чип 28F256 на 32 вывода не совместим с чипом 27C256, имеющим 28 контактных выводов. При этом микросхемы имеют одинаковый объём памяти и другие параметры, подходящие для замены.
Чипы EEPROM с последовательным доступом (24C …, 25C …, 93C …)
Микросхемы памяти с последовательным интерфейсом отличаются тем, что вывод данных и наименование имен в них происходят частями (последовательно).
Последовательный процесс позволяет получить доступ только к одному биту за раз, и доступный адрес также передаётся по битам. Но последовательное программирование имеет явное преимущество в плане конфигурации корпусов.
СЕРИЯ 24C
Всего восемь контактных ножек достаточно запоминающему устройству серии 24C и подобным для полноценной работы на запись и хранение данныхЭто преимущество успешно используется. Практически все EEPROM последовательного доступа изготавливаются в виде 8-контактных малогабаритных микросхем. Такое исполнение корпуса видится более практичным, удобным.
Запоминающие устройства ОЗУ серии 52 …, 62 …, 48Z …, DS12 …, XS22 …
Аббревиатура ОЗУ (RAM) расшифровывается как «память произвольного доступа» (Random Access Memory). Также микросхемы серии 52 …, 62 … и подобные часто характеризуются «оперативными запоминающими устройствами».
Их отличительные черты – скоростная запись без необходимости предварительного стирания. Здесь видится некоторое преимущество относительно других изделий.
Но есть и недостаток – чипы ОЗУ отмеченной и других серий утрачивают все записанные и сохранённые данные при отключении питания.
Однако имеется альтернатива – память NVRAM (Non Volatile Random Access Memory) – энергонезависимая память серий 48, DS, XS и подобная, с произвольным доступом.
Этот вид чипов выделяется среди основных преимуществ микросхем RAM высокой скоростью перезаписи и простым программированием. Потеря питания не оказывает влияние на сохранённую информацию.
ПАМЯТЬ NVRAM
Устройства записи и хранения информации, которые не боятся отключения питания. Их структура предусматривает эффективную защиту данныхКак же способом достигается энергетическая независимость NVRAM? Оказывается, производителями используются две методики:
- Встраиваемый в корпус мини аккумулятор.
- Совмещение в одном корпусе NVRAM и EEPROM.
Для первого варианта: при отключении питания происходит автоматический переход на внутренний источник энергии. По словам производителей чипов с АКБ, энергии встроенного уникального аккумулятора вполне достаточно на 10 лет работы.
Для второго варианта: технология предусматривает копирование данных пространства памяти NVRAM на встроенное пространство EEPROM. Если утрачивается питание, копия информации остаётся нетронутой и после восстановления энергии, автоматически копируется на NVRAM.
Маркировка и взаимозаменяемость компонентов
Выведенная на корпусе маркировка чипа памяти традиционно содержит:
- аббревиатуру производителя,
- технологию производства,
- размер (объём) памяти,
- максимально разрешенную скорость доступа,
- диапазон температур,
- тип формы корпуса.
Также на корпусах нередко отмечаются сведения о производителе. Независимо от производителя, многие микросхемы памяти совместимы.
АДАПТЕРЫ
Маркировка — структура записи на корпусе программируемого устройства, раскрывающая основные сведения, по которым можно подобрать аналог на замену при необходимостиДля быстрой, точной интерпретации памяти, конечно же, необходима практика. Но при желании изучить все тонкости не так сложно, как это видится изначально.
Если дело касается взаимной замены, в первую очередь должна поддерживаться технология (EPROM, EEPROM , FLASH и т.д.),
Также микросхемы памяти должны иметь одинаковый размер (объём) и равноценное или меньшее время доступа. Желательно выбирать корпус, подходящий по температурному диапазону.
Следует отметить: размер памяти задается в битах, не в байтах. За цифрой объёма обычно следует обозначение версии (например, «F»).
Далее, через дефис, отмечается максимально разрешенная скорость доступа в наносекундах — время задержки между циклами ввода адреса и вывода данных на порты чипа памяти.
Время задержки обозначается двумя цифрами (например, «70» соответствует 70 нс, а вот «10» соответствует 100 нс). Наконец, завершают маркировку изделия тип корпуса и допустимый диапазон температур.
Пример расшифровки маркировки микросхемы памяти M27C1001-10F1:
- память типа EPROM,
- объём хранения данных 1 Мбит (1001),
- максимальное время доступа 100 нс (10),
- тип корпуса DIP (F),
- температурный диапазон 0 — 70ºС (1).
Из практики программирования запоминающих устройств
Написано по материалам: Batronix
Flash-память и RAM / Habr
Предисловие
Новый Год – приятный, светлый праздник, в который мы все подводим итоги год ушедшего, смотрим с надеждой в будущее и дарим подарки. В этой связи мне хотелось бы поблагодарить всех хабра-жителей за поддержку, помощь и интерес, проявленный к моим статьям (1, 2, 3, 4). Если бы Вы когда-то не поддержали первую, не было и последующих (уже 5 статей)! Спасибо! И, конечно же, я хочу сделать подарок в виде научно-популярно-познавательной статьи о том, как можно весело, интересно и с пользой (как личной, так и общественной) применять довольно суровое на первый взгляд аналитическое оборудование. Сегодня под Новый Год на праздничном операционном столе лежат: USB-Flash накопитель от A-Data и модуль SO-DIMM SDRAM от Samsung.
Теоретическая часть
Постараюсь быть предельно краток, чтобы все мы успели приготовить салат оливье с запасом к праздничному столу, поэтому часть материала будет в виде ссылок: захотите – почитаете на досуге…
Какая память бывает?
На настоящий момент есть множество вариантов хранения информации, какие-то из них требуют постоянной подпитки электричеством (RAM), какие-то навсегда «вшиты» в управляющие микросхемы окружающей нас техники (ROM), а какие-то сочетают в себе качества и тех, и других (Hybrid). К последним, в частности, и принадлежит flash. Вроде бы и энергонезависимая память, но законы физики отменить сложно, и периодически на флешках перезаписывать информацию всё-таки приходится.
Тут можно подробнее ознакомиться с ниже приведённой схемой и сравнением характеристик различных типов «твердотельной памяти». Или тут – жаль, что я был ещё ребёнком в 2003 году, в таком проекте не дали поучаствовать…
Современные типы «твердотельной памяти». Источник
Единственное, что, пожалуй, может объединять все эти типы памяти – более-менее одинаковый принцип работы. Есть некоторая двумерная или трёхмерная матрица, которая заполняется 0 и 1 примерно таким образом и из которой мы впоследствии можем эти значения либо считать, либо заменить, т.е. всё это прямой аналог предшественника – памяти на ферритовых кольцах.
Что такое flash-память и какой она бывает (NOR и NAND)?
Начнём с flash-памяти. Когда-то давно на небезызвестном ixbt была опубликована довольно подробная статья о том, что представляет собой Flash, и какие 2 основных сорта данного вида памяти бывают. В частности, есть NOR (логическое не-или) и NAND (логическое не-и) Flash-память (тут тоже всё очень подробно описано), которые несколько отличаются по своей организации (например, NOR – двумерная, NAND может быть и трехмерной), но имеют один общий элемент – транзистор с плавающим затвором.
Схематическое представление транзистора с плавающим затвором. Источник
Итак, как же это чудо инженерной мысли работает? Вместе с некоторыми физическими формулами это описано тут. Если вкратце, то между управляющим затвором и каналом, по которому ток течёт от истока к стоку, мы помещаем тот самый плавающий затвор, окружённый тонким слоем диэлектрика. В результате, при протекании тока через такой «модифицированный» полевой транзистор часть электронов с высокой энергией туннелируют сквозь диэлектрик и оказываются внутри плавающего затвора. Понятно, что пока электроны туннелировали, бродили внутри этого затвора, они потеряли часть энергии и назад практически вернуться не могут.
NB: «практически» — ключевое слово, ведь без перезаписи, без обновления ячеек хотя бы раз в несколько лет Flash «обнуляется» так же, как оперативная память, после выключения компьютера.
Там же, на ixbt, есть ещё одна статья, которая посвящена возможности записи на один транзистор с плавающим затвором нескольких бит информации, что существенно увеличивает плотность записи.
В случае рассматриваемой нами флешки память будет, естественно, NAND и, скорее всего, multi-level cell (MLC).
Если интересно продолжить знакомиться с технологиями Flash-памяти, то тут представлен взгляд из 2004 года на данную проблематику. А здесь (1, 2, 3) некоторые лабораторные решения для памяти нового поколения. Не думаю, что эти идеи и технологии удалось реализовать на практике, но, может быть, кто-то знает лучше меня?!
Что такое DRAM?
Если кто-то забыл, что такое DRAM, то милости просим сюда.
Опять мы имеем двумерный массив, который необходимо заполнить 0 и 1. Так как на накопление заряда на плавающем затворе уходит довольно продолжительное время, то в случае RAM применяется иное решение. Ячейка памяти состоит из конденсатора и обычного полевого транзистора. При этом сам конденсатор имеет, с одной стороны, примитивное физическое устройство, но, с другой стороны, нетривиально реализован в железе:
Устройство ячейки RAM. Источник
Опять-таки на ixbt есть неплохая статья, посвящённая DRAM и SDRAM памяти. Она, конечно, не так свежа, но принципиальные моменты описаны очень хорошо.
Единственный вопрос, который меня мучает: а может ли DRAM иметь, как flash, multi-level cell? Вроде да, но всё-таки…
Часть практическая
Flash
Те, кто пользуется флешками довольно давно, наверное, уже видели «голый» накопитель, без корпуса. Но я всё-таки кратко упомяну основные части USB-Flash-накопителя:
Основные элементы USB-Flash накопителя: 1. USB-коннектор, 2. контроллер, 3. PCB-многослойная печатная плата, 4. модуль NAND памяти, 5. кварцевый генератор опорной частоты, 6. LED-индикатор (сейчас, правда, на многих флешках его нет), 7. переключатель защиты от записи (аналогично, на многих флешках отсутствует), 8. место для дополнительной микросхемы памяти. Источник
Пойдём от простого к сложному. Кварцевый генератор (подробнее о принципе работы тут). К моему глубокому сожалению, за время полировки сама кварцевая пластинка исчезла, поэтому нам остаётся любоваться только корпусом.
Корпус кварцевого генератора
Случайно, между делом, нашёл-таки, как выглядит армирующее волокно внутри текстолита и шарики, из которых в массе своей и состоит текстолит. Кстати, а волокна всё-таки уложены со скруткой, это хорошо видно на верхнем изображении:
Армирующее волокно внутри текстолита (красными стрелками указаны волокна, перпендикулярные срезу), из которого и состоит основная масса текстолита
А вот и первая важная деталь флешки – контроллер:
Контроллер. Верхнее изображение получено объединением нескольких СЭМ-микрофотографий
Признаюсь честно, не совсем понял задумку инженеров, которые в самой заливке чипа поместили ещё какие-то дополнительные проводники. Может быть, это с точки зрения технологического процесса проще и дешевле сделать.
После обработки этой картинки я кричал: «Яяяяязь!» и бегал по комнате. Итак, Вашему вниманию представляет техпроцесс 500 нм во всей свой красе с отлично прорисованными границами стока, истока, управляющего затвора и даже контакты сохранились в относительной целостности:
«Язь!» микроэлектроники – техпроцесс 500 нм контроллера с прекрасно прорисованными отдельными стоками (Drain), истоками (Source) и управляющими затворами (Gate)
Теперь приступим к десерту – чипам памяти. Начнём с контактов, которые эту память в прямом смысле этого слова питают. Помимо основного (на рисунке самого «толстого» контакта) есть ещё и множество мелких. Кстати, «толстый» < 2 диаметров человеческого волоса, так что всё в мире относительно:
СЭМ-изображения контактов, питающих чип памяти
Если говорить о самой памяти, то тут нас тоже ждёт успех. Удалось отснять отдельные блоки, границы которых выделены стрелочками. Глядя на изображение с максимальным увеличением, постарайтесь напрячь взгляд, этот контраст реально трудно различим, но он есть на изображении (для наглядности я отметил отдельную ячейку линиями):
Ячейки памяти 1. Границы блоков выделены стрелочками. Линиями обозначены отдельные ячейки
Мне самому сначала это показалось как артефакт изображения, но обработав все фото дома, я понял, что это либо вытянутые по вертикальной оси управляющие затворы при SLC-ячейке, либо это несколько ячеек, собранных в MLC. Хоть я и упомянул MLC выше, но всё-таки это вопрос. Для справки, «толщина» ячейки (т.е. расстояние между двумя светлыми точками на нижнем изображении) около 60 нм.
Чтобы не лукавить – вот аналогичные фото с другой половинки флешки. Полностью аналогичная картина:
Ячейки памяти 2. Границы блоков выделены стрелочками. Линиями обозначены отдельные ячейки
Конечно, сам чип – это не просто набор таких ячеек памяти, внутри него есть ещё какие-то структуры, принадлежность которых мне определить не удалось:
Другие структуры внутри чипов NAND памяти
DRAM
Всю плату SO-DIMM от Samsung я, конечно же, не стал распиливать, лишь с помощью строительного фена «отсоединил» один из модулей памяти. Стоит отметить, что тут пригодился один из советов, предложенных ещё после первой публикации – распилить под углом. Поэтому, для детального погружения в увиденное необходимо учитывать этот факт, тем более что распил под 45 градусов позволил ещё получить как бы «томографические» срезы конденсатора.
Однако по традиции начнём с контактов. Приятно было увидеть, как выглядит «скол» BGA и что собой представляет сама пайка:
«Скол» BGA-пайки
А вот и второй раз пора кричать: «Язь!», так как удалось увидеть отдельные твердотельные конденсаторы – концентрические круги на изображении, отмеченные стрелочками. Именно они хранят наши данные во время работы компьютера в виде заряда на своих обкладках. Судя по фотографиям размеры такого конденсатора составляют около 300 нм в ширину и около 100 нм в толщину.
Из-за того, что чип разрезан под углом, одни конденсаторы рассечены аккуратно по середине, у других же срезаны только «бока»:
DRAM память во всей красе
Если кто-то сомневается в том, что эти структуры и есть конденсаторы, то тут можно посмотреть более «профессиональное» фото (правда без масштабной метки).
Единственный момент, который меня смутил, что конденсаторы расположены в 2 ряда (левое нижнее фото), т.е. получается, что на 1 ячейку приходится 2 бита информации. Как уже было сказано выше, информация по мультибитовой записи имеется, но насколько эта технология применима и используется в современной промышленности – остаётся для меня под вопросом.
Конечно, кроме самих ячеек памяти внутри модуля есть ещё и какие-то вспомогательные структуры, о предназначении которых я могу только догадываться:
Другие структуры внутри чипа DRAM-памяти
Послесловие
Помимо тех ссылок, что раскиданы по тексту, на мой взгляд, довольно интересен данный обзор (пусть и от 1997 года), сам сайт (и фотогалерея, и chip-art, и патенты, и много-много всего) и данная контора, которая фактически занимается реверс-инжинирингом.
К сожалению, большого количества видео на тему производства Flash и RAM найти не удалось, поэтому довольствоваться придётся лишь сборкой USB-Flash-накопителей:
P.S.: Ещё раз всех с наступающим Новым Годом чёрного водяного дракона!!!
Странно получается: статью про Flash хотел написать одной из первых, но судьба распорядилась иначе. Скрестив пальцы, будем надеяться, что последующие, как минимум 2, статьи (про биообъекты и дисплеи) увидят свет в начале 2012 года. А пока затравка — углеродный скотч:
Углеродный скотч, на котором были закреплены исследуемые образцы. Думаю, что и обычный скотч выглядит похожим образом
Во-первых, полный список опубликованных статей на Хабре:
Вскрытие чипа Nvidia 8600M GT, более обстоятельная статья дана тут: Современные чипы – взгляд изнутри
Взгляд изнутри: CD и HDD
Взгляд изнутри: светодиодные лампочки
Взгляд изнутри: Светодиодная промышленность в России
Взгляд изнутри: Flash-память и RAM
Взгляд изнутри: мир вокруг нас
Взгляд изнутри: LCD и E-Ink дисплеи
Взгляд изнутри: матрицы цифровых камер
Взгляд изнутри: Plastic Logic
Взгляд изнутри: RFID и другие метки
Взгляд изнутри: аспирантура в EPFL. Часть 1
Взгляд изнутри: аспирантура в EPFL. Часть 2
Взгляд изнутри: мир вокруг нас — 2
Взгляд изнутри: мир вокруг нас — 3
Взгляд изнутри: мир вокруг нас — 4
Взгляд изнутри: 13 LED-ламп и бутылка рома. Часть 1
Взгляд изнутри: 13 LED-ламп и бутылка рома. Часть 2
Взгляд изнутри: 13 LED-ламп и бутылка рома. Часть 3
Взгляд изнутри: IKEA LED наносит ответный удар
Взгляд изнутри: а так ли хороши Filament-лампы?
и 3DNews:
Микровзгляд: сравнение дисплеев современных смартфонов
Во-вторых, помимо блога на HabraHabr, статьи и видеоматериалы можно читать и смотреть на Nanometer.ru, YouTube, а также Dirty.
В-третьих, если тебе, дорогой читатель, понравилась статья или ты хочешь простимулировать написание новых, то действуй согласно следующей максиме: «pay what you want»
Yandex.Money 41001234893231
WebMoney (R296920395341 или Z333281944680)
Иногда кратко, а иногда не очень о новостях науки и технологий можно почитать на моём Телеграм-канале — милости просим;)
Технологии флэш-памяти
Современному человеку нравится быть мобильным и иметь при себе различные высокотехнологичные гаджеты (англ. gadget — устройство), облегчающие жизнь, да что там скрывать, делающие ее более насыщенной и интересной. И появились-то они всего за 10-15 лет! Миниатюрные, легкие, удобные, цифровые… Всего этого гаджеты достигли благодаря новым микропроцессорным технологиям, но все же больший вклад был сделан одной замечательной технологией хранения данных, о которой сегодня мы и будем говорить. Итак, флэш-память.
Бытует мнение, что название FLASH применительно к типу памяти переводится как «вспышка». На самом деле это не совсем так. Одна из версий его появления говорит о том, что впервые в 1989-90 году компания Toshiba употребила слово Flash в контексте «быстрый, мгновенный» при описании своих новых микросхем. Вообще, изобретателем считается Intel, представившая в 1988 году флэш-память с архитектурой NOR. Годом позже Toshiba разработала архитектуру NAND, которая и сегодня используется наряду с той же NOR в микросхемах флэш. Собственно, сейчас можно сказать, что это два различных вида памяти, имеющие в чем-то схожую технологию производства. В этой статье мы попытаемся понять их устройство, принцип работы, а также рассмотрим различные варианты практического использования.
NOR
Поскольку память с такой организацией считается первой представительницей семейства Flash, с нее и начнем. Схема логического элемента, собственно давшего ей название (NOR — Not OR — в булевой математике обозначает отрицание «ИЛИ»), приведена на рисунке. |
С помощью нее осуществляется преобразование входных напряжений в выходные, соответствующие «0» и «1». Они необходимы, потому что для чтения/записи данных в ячейке памяти используются различные напряжения. Схема ячейки приведена на рисунке ниже.
Она характерна для большинства флэш-чипов и представляет из себя транзистор с двумя изолированными затворами: управляющим (control) и плавающим (floating). Важной особенностью последнего является способность удерживать электроны, то есть заряд. Также в ячейке имеются так называемые «сток» и «исток». При программировании между ними, вследствие воздействия положительного поля на управляющем затворе, создается канал — поток электронов. Некоторые из электронов, благодаря наличию большей энергии, преодолевают слой изолятора и попадают на плавающий затвор. На нем они могут храниться в течение нескольких лет. Определенный диапазон количества электронов (заряда) на плавающем затворе соответствует логической единице, а все, что больше его, — нулю. При чтении эти состояния распознаются путем измерения порогового напряжения транзистора. Для стирания информации на управляющий затвор подается высокое отрицательное напряжение, и электроны с плавающего затвора переходят (туннелируют) на исток. В технологиях различных производителей этот принцип работы может отличаться по способу подачи тока и чтению данных из ячейки. Хочу также обратить ваше внимание на то, что в структуре флэш-памяти для хранения 1 бита информации задействуется только один элемент (транзистор), в то время как в энергозависимых типах памяти для этого требуется несколько транзисторов и конденсатор. Это позволяет существенно уменьшить размеры выпускаемых микросхем, упростить технологический процесс, а, следовательно, и снизить себестоимость. Но и один бит далеко не предел: Intel уже выпускает память StrataFlash, каждая ячейка которой может хранить по 2 бита информации. Кроме того, существуют пробные образцы, с 4-х и даже 9-битными ячейками! В такой памяти используются технология многоуровневых ячеек. Они имеют обычную структуру, а отличие заключается в том, что заряд их делится на несколько уровней, каждому из которых в соответствие ставится определенная комбинация бит. Теоретически прочитать/записать можно и более 4-х бит, однако, на практике возникают проблемы с устранением шумов и с постепенной утечкой электронов при продолжительном хранении. Вообще, у существующих сегодня микросхем памяти для ячеек характерно время хранения информации, измеряемое годами и число циклов чтения/записи — от 100 тысяч до нескольких миллионов. Из недостатков, в частности, у флэш-памяти с архитектурой NOR стоит отметить плохую масштабируемость: нельзя уменьшать площадь чипов путем уменьшения размеров транзисторов. Эта ситуация связана со способом организации матрицы ячеек: в NOR архитектуре к каждому транзистору надо подвести индивидуальный контакт. Гораздо лучше в этом плане обстоят дела у флэш-памяти с архитектурой NAND.
NAND
NAND — Not AND — в той же булевой математике обозначает отрицание «И». Отличается такая память от предыдущей разве что логической схемой. |
Устройство и принцип работы ячеек у нее такой же, как и у NOR. Хотя, кроме логики, все-таки есть еще одно важное отличие — архитектура размещения ячеек и их контактов. В отличие от вышеописанного случая, здесь имеется контактная матрица, в пересечениях строк и столбцов которой располагаются транзисторы. Это сравнимо с пассивной матрицей в дисплеях 🙂 (а NOR — с активной TFT). В случае с памятью такая организация несколько лучше — площадь микросхемы можно значительно уменьшить за счет размеров ячеек. Недостатки (куда уж без них) заключаются в более низкой по сравнению с NOR скорости работы в операциях побайтового произвольного доступа.
Существуют еще и такие архитектуры как: DiNOR (Mitsubishi), superAND (Hitachi) и пр. Принципиально нового ничего они не представляют, а лишь комбинируют лучшие свойства NAND и NOR.
И все же, как бы там ни было, NOR и NAND на сегодняшний день выпускаются на равных и практически не конкурируют между собой, потому как в силу своих качеств находят применение в разных областях хранения данных. Об этом и пойдет далее речь…
Где нужна память…
Сфера применения какого-либо типа флэш-памяти зависит в первую очередь от его скоростных показателей и надежности хранения информации. Адресное пространство NOR-памяти позволяет работать с отдельными байтами или словами (2 байта). В NAND ячейки группируются в небольшие блоки (по аналогии с кластером жесткого диска). Из этого следует, что при последовательном чтении и записи преимущество по скорости будет у NAND. Однако с другой стороны NAND значительно проигрывает в операциях с произвольным доступом и не позволяет напрямую работать с байтами информации. К примеру, для изменения одного байта требуется:
- считать в буфер блок информации, в котором он находится
- в буфере изменить нужный байт
- записать блок с измененным байтом обратно
Если еще ко времени выполнения перечисленных операций прибавить задержки на выборку блока и на доступ, то получим отнюдь неконкурентоспособные с NOR показатели (отмечу, что именно для случая побайтовой записи). Другое дело последовательная запись/чтение — здесь NAND наоборот показывает значительно более высокие скоростные характеристики. Поэтому, а также из-за возможностей увеличения объема памяти без увеличения размеров микросхемы, NAND-флэш нашел применение в качестве хранителя больших объемов информации и для ее переноса. Наиболее распространенные сейчас устройства, основанные на этом типе памяти, это флэшдрайвы и карты памяти. Что касается NOR-флэша, то чипы с такой организацией используются в качестве хранителей программного кода (BIOS, RAM карманных компьютеров, мобилок и т. п.), иногда реализовываются в виде интегрированных решений (ОЗУ, ПЗУ и процессор на одной мини-плате, а то и в одном чипе). Удачный пример такого использования — проект Gumstix: одноплатный компьютер размером с пластинку жвачки. Именно NOR-чипы обеспечивают требуемый для таких случаев уровень надежности хранения информации и более гибкие возможности по работе с ней. Объем NOR-флэш обычно измеряется единицами мегабайт и редко переваливает за десятки.
И будет флэш…
Безусловно, флэш — перспективная технология. Однако, несмотря на высокие темпы роста объемов производства, устройства хранения данных, основанные на ней, еще достаточно дороги, чтобы конкурировать с жесткими дисками для настольных систем или ноутбуков. В основном, сейчас сфера господства флэш-памяти ограничивается мобильными устройствами. Как вы понимаете, этот сегмент информационных технологий не так уж и мал. Кроме того, со слов производителей, на нем экспансия флэш не остановится. Итак, какие же основные тенденции развития имеют место в этой области.
Во-первых, как уже упоминалось выше, большое внимание уделяется интегрированным решениям. Причем проекты вроде Gumstix лишь промежуточные этапы на пути к реализации всех функций в одной микросхеме.
Пока что, так называемые on-chip (single-chip) системы представляют собой комбинации в одном чипе флэш-памяти с контроллером, процессором, SDRAM или же со специальным ПО. Так, например, Intel StrataFlash в сочетании с ПО Persistent Storage Manager (PSM) дает возможность использовать объем памяти одновременно как для хранения данных, так и для выполнения программного кода. PSM по сути дела является файловой системой, поддерживающейся ОС Windows CE 2.1 и выше. Все это направлено на снижение количества компонентов и уменьшение габаритов мобильных устройств с увеличением их функциональности и производительности. Не менее интересна и актуальна разработка компании Renesas — флэш-память типа superAND с встроенными функциями управления. До этого момента они реализовывались отдельно в контроллере, а теперь интегрированы прямо в чип. Это функции контроля бэд-секторов, коррекции ошибок (ECC — error check and correct), равномерности износа ячеек (wear leveling). Поскольку в тех или иных вариациях они присутствуют в большинстве других брендовых прошивок внешних контроллеров, давайте вкратце их рассмотрим. Начнем с бэд-секторов. Да, во флэш-памяти они тоже встречаются: уже с конвейера сходят чипы, имеющие в среднем до 2% нерабочих ячеек — это обычная технологическая норма. Но со временем их количество может увеличиваться (окружающую среду в этом винить особо не стоит — электромагнитное, физическое (тряска и т. п.) влияние флэш-чипу не страшно). Поэтому, как и в жестких дисках, во флэш-памяти предусмотрен резервный объем. Если появляется плохой сектор, функция контроля подменяет его адрес в таблице размещения файлов адресом сектора из резервной области.
Собственно, выявлением бэдов занимается алгоритм ECC — он сравнивает записываемую информацию с реально записанной. Также в связи с ограниченным ресурсом ячеек (порядка нескольких миллионов циклов чтения/записи для каждой) важно наличие функции учета равномерности износа. Приведу такой редкий, но встречающийся случай: брелок с 32 Мбайт, из которых 30 Мбайт заняты, а на свободное место постоянно что-то записывается и удаляется. Получается, что одни ячейки простаивают, а другие интенсивно исчерпывают свой ресурс. Чтобы такого не было, в фирменных устройствах свободное пространство условно разбивается на участки, для каждого из которых осуществляется контроль и учет количества операций записи.
Еще более сложные конфигурации класса «все-в-одном» сейчас широко представлены такими компаниями как, например, Intel, Samsung, Hitachi и др. Их изделия представляют собой многофункциональные устройства, реализованные в одной лишь микросхеме (стандартно в ней имеется процессор, флэш-память и SDRAM). Ориентированы они на применение в мобильных устройствах, где важна высокая производительность при минимальных размерах и низком энергопотреблении. К таким относятся: PDA, смартфоны, телефоны для сетей 3G. Приведу пример подобных разработок — чип от Samsung, объединяющий в себе ARM-процессор (203 МГц), 256 Мбайт NAND памяти и 256 SDRAM. Он совместим с распространенными ОС: Windows CE, Palm OS, Symbian, Linux и имеет поддержку USB. Таким образом на его основе возможно создание многофункциональных мобильных устройств с низким энергопотреблением, способных работать с видео, звуком, голосом и прочими ресурсоемкими приложениями.
Другим направлением совершенствования флэш является уменьшение энергопотребления и размеров с одновременным увеличением объема и быстродействия памяти. В большей степени это касается микросхем с NOR архитектурой, поскольку с развитием мобильных компьютеров, поддерживающих работу в беспроводных сетях, именно NOR-флэш, благодаря небольшим размерам и малому энергопотреблению, станет универсальным решением для хранения и выполнения программного кода. В скором времени в серийное производство будут запущены 512 Мбит чипы NOR той же Renesas. Напряжение питания их составит 3,3 В (напомню, хранить информацию они могут и без подачи тока), а скорость в операциях записи — 4 Мбайт/сек. В то же время Intel уже представляет свою разработку StrataFlash Wireless Memory System (LV18/LV30) — универсальную систему флэш-памяти для беспроводных технологий. Объем ее памяти может достигать 1 Гбит, а рабочее напряжение равно 1.8 В. Технология изготовления чипов — 0,13 нм, в планах переход на 0,09 нм техпроцесс. Среди инноваций данной компании также стоит отметить организацию пакетного режима работы с NOR-памятью. Он позволяет считывать информацию не по одному байту, а блоками — по 16 байт: с использованием 66 МГц шины данных скорость обмена информацией с процессором достигает 92 Мбит/с!
Что ж, как видите, технология развивается стремительно. Вполне возможно, что к моменту выхода статьи появится еще что-нибудь новенькое. Так что, если что — не взыщите 🙂 Надеюсь, материал был вам интересен.
Основы флэш-памяти
Флэш-память типа Boot Block служит для хранения обновляемых программ и данных в самых разных системах, включая сотовые телефоны, модемы, BIOS, системы управления автомобильными двигателями и многое другое. Используя флэш-память вместо EEPROM для хранения параметрических данных, разработчики добиваются снижения стоимости и повышения надежности своих систем.
Например, в разработках сотовых телефонов параметрические блоки флэш-памяти используются для хранения телефонных номеров, учета времени использования и идентификатора пользователя (SIM-карта). Производители автомобилей используют параметрические блоки флэш-памяти в системах управления двигателями для хранения кодов ошибок и параметров оптимальных режимов работы. В каждом из подобных примеров изготовители экономят как на ненужной микросхеме EEPROM, так и на расходах, связанных с необходимостью содержания складского запаса «прошитых» разными программами EEPROM, используя флэш-память Boot Block Flash Memory не только для хранения прикладных программ, но и параметров. Загрузка кода в чистую память может производиться в составе готовой системы на финальной стадии изготовления изделия. Кроме того, за счет снижения числа комплектующих и внешних контактов достигается более высокая надежность автомобильных систем в целом. И, наконец, повышается объем хранимых параметров и частота их изменения.
В настоящей статье обсуждается структура связных списков для хранения параметров в блочной флэш-памяти с применением схемы, эмулирующей перезапись байтов. Обзор основ флэш-памяти приводится для пояснения того, как используется флэш-память в системе, и описывает ограничения на реализацию схемы программирования. Основное внимание уделено передовой, в настоящий момент, технологии — SmartVoltage.
Основы технологии
Флэш-технология позволяет оснастить системную память уникальными свойствами. Подобно ОЗУ, флэш-память модифицируется электрически внутрисистемно, но подобно ПЗУ, флэш энергонезависима и хранит данные даже после отключения питания. Однако, в отличие от ОЗУ, флэш нельзя переписывать побайтно. Флэш-память читается и записывается байт за байтом и предъявляет новое требование: ее нужно стереть перед тем, как записывать новые данные.
Операции над флэш-памятью | |||
Операция | Минимальный сегмент | Типичное время | Максимальное время |
Чтение | Byte | 60 нс | 60 нс |
Запись | Byte | 9 мкс | не более 100 мкс |
Стирание | 8KB-Block | 0.6 с | 4.3 с |
Примечание: | по спецификации на ИС SmartVoltage 4Мbit Boot Block в 8-bit режиме при VCC=5.0V и VPP=5.0V |
Запись (программирование) флэш-памяти — это процесс замены «1» на «0». Стирание — это процесс замены «0» на «1», где флэш стирается блок за блоком. Блоки — это области с фиксированными адресами, как показано на карте 4Мbit Boot Block микросхемы.
Карта памяти Boot Block | |
16KByte BOOT BLOCK | |
8KByte PARAMETER BLOCK | |
8KByte PARAMETER BLOCK | |
96KByte PARAMETER BLOCK | |
128KByte MAIN BLOCK | |
128KByte MAIN BLOCK | |
128KByte MAIN BLOCK |
Когда блок стирается, стираются параллельно все ячейки внутри блока, независимо от других блоков этого прибора флэш-памяти.
Микросхемы Flash Memory Boot Block должны выдерживать не менее 100 тысяч циклов стирания при напряжении питания VCC=5V. Цикл считается законченным, если 8КВ одного из параметрических блоков успешно запрограммировано и после этого стерто. Этот параметр очень важный, так как от него зависит то, какой объем данных можно хранить и как часто их можно обновлять.
Поскольку флэш-память не допускает перезаписи отдельной ячейки без предварительного стирания всего блока памяти, то применяются программные методы эмуляции перезаписи байта с использованием двух 8КВ параметрических блоков, показанных на примере карты памяти.
Функционирование в системе
Кроме хранения параметрических данных, блочную флэш-память часто используют под хранение сменного кода программ. Часто в системах в заблокированном Boot-блоке хранится ядро кода, необходимого для инициализации системы и загрузки подпрограммы восстановления, на случай разрушения программы. В «бутовом» блоке обычно хранится также программа для программирования и стирания флэш-памяти. Так, флэш-память не допускает одновременное чтение ячейки с одним адресом и запись в ячейку с другим адресом в пределах одной микросхемы. Это означает, что любой код программы записи во флэш должен перегружаться в ОЗУ.
Воспользовавшись двумя параметрическими блоками флэш-памяти и программными методами, можно сохранять данные побайтно, а операцию стирания выполнять как фоновую задачу. Тем самым добиваются эмуляции перезаписи содержимого на байтной основе — схема программирования для эмуляции побайтной замены.
Структура параметрических данных
Структура данных в форме связных списков обеспечивает организацию данных, очень удобную для флэш-памяти. Например, предположим, что нужно сохранить 3 параметра, которые будут изменяться при условии, что каждый параметр хранится в виде записи. Каждая запись состоит из двух полей: Parameter_Value и Next_Record. В первом поле хранится значение параметра. Второе поле — это указатель, содержащий адрес следующей записи для этого параметра. ParameterX — это переменный указатель, содержащий адрес первой записи для этого параметра, поэтому Parameter1 представляет адрес. В ячейке с этим адресом хранится адрес первой записи параметра Parameter1, которая содержит первое значение Parameter1 и адрес второй записи Parameter1. Вторая запись содержит последнее значение этого параметра и адрес третьей записи, и т.д.. В последней записи в поле Next_Record содержится код FFh, указание на то, что записей больше нет. Код FFh выбран для указания, что записей больше нет, из-за того, что именно этот код представляет собой значение стертого байта флэш-памяти по умолчанию. При каждом изменении параметров программа ищет первую доступную ячейку в параметрическом блоке, записывает новое значение в поле значения новой записи, а потом обновляет поле Next_Record в предыдущей записи. Итак, каждая запись содержит значение и указатель, или связь со следующей записью. Такие структуры данных хорошо известны программистам, и называются связными списками, пользуясь которыми система может быстро найти последнее значение данного параметра.
Пример структуры связного списка | ||
Адрес | Значение | Параметр |
Parameter1 | 01H | Parameter 1 Pointer Variable |
Parameter2 | 03H | Parameter 2 Pointer Variable |
Parameter3 | 05H | Parameter 3 Pointer Variable |
01H | F8H | Parameter 1 Value = F8H |
02H | 07H | Parameter 1 Next_Record = 07H |
03H | 22H | Parameter 2 Value = 22H |
04H | 09H | Parameter 2 Next_Record = 09H |
05H | 44H | Parameter 3 Value = 44H |
06H | FFH | Parameter 3 Next_Record = FFH = latest |
07H | 55H | Parameter 1 Value = 55H |
08H | 0BH | Parameter 1 Next_Record = 0BH |
09H | F2H | Parameter 2 Value = F2H |
0AH | FFH | Parameter 2 Next_Record = FFH = latest |
0BH | F4H | Parameter 1 Value = F4H |
0CH | FFH | Parameter 1 Next_Record = FFH = latest |
Для простоты в примере использовано однобайтное поле для Parameter_Value и Next_Record. В действительности, для кодирования поля Next_Record потребуется как минимум два байта указателя на другую ячейку параметрического блока. Количество байтов, необходимых для кодирования поля Parameter_Value, зависит от специфики информации, хранимой в этом параметре.
Альтернативный подход к использованию связного списка состоит в применении поля parameter ID и поля статуса параметра, которое указывает, является ли текущая запись параметра самой поздней. В альтернативной схеме для того, чтобы получить последнее значение параметра, система считывает каждый параметр до тех пор, пока не найдет последнее значение данного параметра.
Запоминание параметров продолжается до тех пор, пока параметрический блок не заполнится или пока в параметрическом блоке хватает места для целой следующей записи. По достижении этой точки последние значения каждого параметра передаются во второй параметрический блок, а связный список продолжает формироваться во втором блоке параметров. Запись заголовка (Block_Header) в начале каждого параметрического блока показывает состояние блока. Состояние — это информация, например, о том, что параметрический блок активен, т.е. либо передает данные, либо стирается. Таким образом и осуществляются блочные передачи.
Стирание параметрического блока
После передачи действительных значений параметров из первого блока во второй, первый блок стирается. Вспомним, что стирание флэш-памяти занимает примерно 0,5s на каждый параметрический блок. Поскольку так много времени во время работы системы может не оказаться, во флэш-памяти используется команда приостановки стирания (Erase Suspend). По этой команде операцию стирания можно приостановить, чтобы система смогла считать данные из другого блока данного прибора памяти. Когда команда Erase Suspend поступает в микросхему, операция стирания останавливается, а память входит в «подвешенное» состояние, и тогда можно прочесть данные из другого блока. Когда снова будет можно стирать, команда Erase Resume прикажет прибору продолжить стирание с того места, где оно было прервано, что позволяет реализовать операцию стирания в пределах конечного программного цикла, используя несколько вызовов (Call). После полного стирания первого блока он снова готов к записи параметров, когда заполнится второй блок. Важно то, что никакие новые параметры нельзя записать, пока не закончится операция стирания блока. Текущие версии флэш-памяти Boot Block не допускают запись в моменты, когда стирание приостановлено.
Эмуляция побайтного обновления | |||||||||||
Ступень 1. Резервирование параметрических записей в параметрическом блоке 1 (Parameter Block 1) | |||||||||||
|
| ||||||||||
Ступень 2. Когда Parameter Block 1 заполнен, осуществляется передача последнего параметра записи в Parameter Block 2 и изменение block_status record. | |||||||||||
|
| ||||||||||
Ступень 3. Резервирование параметра записи в Parameter Block 2. Стирание Parameter Block 1, используя команду приостановки стирания (Erase Suspend) для возврата в фазу чтения флэша, когда это необходимо. | |||||||||||
|
|
Требования к системе
Как отмечено выше, для исполнения программы в моменты программирования и стирания флэш-памяти требуется ОЗУ. Необходимый объем ОЗУ зависит от сложности базы данных параметров. Программа, которая должна быть загружена в ОЗУ, включает подпрограммы чтения, записи и стирания флэш-памяти. Размер ее кода лежит в диапазоне от 512 байт до одного килобайта. Кроме того, для хранения этой программы потребуется место внутри самой флэш-памяти. Образец программы занимает около 15KB, но только небольшая ее часть (около 1KB) выгружается в ОЗУ.
Другое системное требование — адекватное напряжение программирования (VPP) для записи и стирания. Большинство современных микросхем флэш-памяти требует подачи 12V для внутрисистемной записи и стирания. Например, микросхемы семейства SmartVoltage позволяют использовать напряжение 5 В для операций записи и стирания, если источник 12 В в системе отсутствует.
Кроме 12V и 5V SmartVoltage стандартов существует технология 3.3 В SmartVoltage — микросхемы Flash-памяти емкостью 4 Mбит, имеющие архитектуру Boot Block. Эти микросхемы дополняют существующий ряд и позволяют разработчикам оптимизировать производительность и энергопотребление запоминающих устройств, пользуясь только одним типом памяти. SmartVoltage — технология, соединяющая в себе свойства низкой потребляемой мощности, самого быстрого программирования и единственного напряжения питания в одном приборе. Архитектура Boot Block позволяет совместить функции ROM, Flash или EPROM и EEPROM памяти в одной микросхеме.
Данная память позволяет эффективно удовлетворить противоречивые требования к разработке изделия, используя напряжения программирования VPP уровней 5 В или 12 В, и VCC со значениями 3.3 В или 5 В в любой комбинации. Это позволяет оптимизировать время записи, выбирая напряжение VPP=l2 В, или цену устройства, выбрав единственное напряжение питания VСС=VPP=5 В. Данное семейство имеет самое низкое потребление энергии без потерь производительности. При потреблении 150 мВт на 6 Mгц, 3V-read режим на 40% более эффективен, чем 5V-only. Дополнительно, SmartVoltage Flash в 3V-read режиме обеспечивает доступ за 110 нс, что вдвое быстрее, чем лучшие 3V-EEPROM. Теперь же еще микросхемы имеют реконфигурируемую шину данных, поэтому их можно применять как с 16bit, так и с 8bit микропроцессорами.
Так, если соединить выводы VPP и VCC, то память предлагает самую высокую производительность при единственном напряжении питания. При питании от 5 В SmartVortage обеспечивает чтение данных за 60 нс, и запись за 13 мкс, что превосходит те же параметры у сопоставимых 5V-only изделий другой технологии. Кроме этого, 3.3 В SmartVoltage позволяет переходить от режима с единственным напряжением питания к более гибкому режиму 3V-read/5V-write в портативной аппаратуре без дополнительных затрат на сертификацию Flash-микросхем. Для максимальной скорости программирования в процессе производства, приборы SmartVoltage могу быть запрограммированы при VPP=12 В, что вдвое сокращает время записи и снижает затраты при изготовлении больших партий аппаратуры.
Так, «новые» микросхемы выпускаются в 44-выводных пластиковых корпусах (PSOP — Plastic Small Outline Package) и 48-выводных корпусах с уменьшенной толщиной (TSOP — Thin Small Outline Package), и имеют разводку выводов в соответствии со стандартом JEDEC, что позволяет разрабатывать платы, на которые можно установить микросхемы 2-8 Mбит. В настоящее время доступны микросхемы с типами упаковки, начиная «обычным» пластиковым вариантом двухстороннего расположения выводов (PDIP — Plastic Dual In-line Package) и заканчивая современным «масштабируемым» вариантом (SCP — Chip Scale Package), комбинируя для разных ситуаций степень упаковки, расстояние между выводами, габаритные размеры и, наконец, условия эксплуатации. Эти микросхемы имеют ту же проверенную длительной эксплуатацией технологию запоминающих матриц на транзисторах с плавающим затвором (технология ЕТОХ IV — EPROM Tunnel OXide), и поэтому имеют те же характеристики надежности и времени жизни, как и другие микросхемы Flash-памяти. Они предназначены для широкого круга применений, включая BIOS, сотовые телефоны, приводы жестких дисков, point-of-sale терминалы, а также блоки управления двигателем и другими автомобильными системами.
Интересным моментом является вопрос пропадания питания во время стирания или в процессе обновления значений параметров. С ситуацией исчезновения питания можно надежно справиться, добавив дополнительные поля как к параметрическим, так и к блочным записям. Например, в дополнение к полям Parameter_Value и Next_Record, которые ввели для параметрической записи, можно установить поле статуса (Parameter_Status). Один бит поля состояния указывает, что обновление параметра началось, а другой бит — что обновление параметра завершилось. Таким образом, если питание исчезнет в процессе модификации параметра, то когда питание восстановится, можно узнать состояние каждого параметра. К примеру, если питание появилось, и видно по битам состояния, что обновление параметра начато, но не закончено, то отсюда следует, что запись испорчена и должна быть исправлена. Эту же концепцию можно применить в отношении записи Block_Status, чтобы обрабатывать ошибки при стирании, вследствие прерывания процесса стирания из-за отказа питания, либо из-за пересылки параметров между блоками.
В процессе инициализации определяется состояние параметрических блоков. Считав запись Block_Status, можно установить, какой блок активен и нужно ли стирать какой-нибудь другой блок. В момент первой инициализации параметрические блоки можно стереть и сформировать для них записи Block_Status.
Ранее обсуждалось, как читать и программировать флэш-память на побайтной основе. Флэш-память, в действительности, допускает программирование на уровне битов (или группы битов) за один раз. Надо помнить, что программирование флэш-памяти — это процесс замены логических «1» на «0». Одиночные биты можно запрограммировать путем маскирования остальных битов в байте или слове «единицами». Пользуясь такой удобной особенностью, можно минимизировать затраты памяти, отводимой под разные поля состояния.
Пример 1 |
|
| ||||||
Пример 2 |
|
| ||||||
Пример 3 |
|
|
Временная диаграмма работы
Динамический анализ работы системы необходим, чтобы определить длительность времени, необходимого для чтения параметров, выгрузки кода программы Write/Erase в ОЗУ, записи параметров, передачи параметров в новый блок и стирания параметрического блока.
Точные значения временных параметров зависят от особенностей реализации системы. Кроме задержек самого прибора, нужно также учитывать программные задержки.
Время, необходимое для чтения параметров, зависит от длины записи каждого параметра и количества параметров, которые придется считать, прежде чем будет найдена действительная запись этого параметра. Умножив число байтов или слов на длительность цикла чтения системы, можно рассчитать общее время чтения действительного параметра.
При выполнении каждой операции записи или стирания (Write/Erase) флэш-памяти, нужно перегрузить из нее в ОЗУ код программы, содержащий драйверы программирования и стирания. Время, необходимое для этой перегрузки кода в ОЗУ, зависит от объема кода (обычно 1 Kбайт или меньше). Умножив размер кода на длительность цикла записи, определим длительность загрузки кода в ОЗУ.
Для определения максимального времени, требующегося для записи параметра, необходимо воспользоваться временем записи слова или байта для наихудшего случая, приведенным в спецификации на ИС флэш-памяти. Умножив максимальное время записи слова на количество слов в записи параметра, можно узнать наихудшее время записи параметра.
Понятно, что время передачи действительных параметров из одного блока (параметрического) в другой зависит от количества хранимых параметров. Если эта операция выполняется как задача переднего плана, то на нее потребуется блок времени, состоящий из времени чтения действительных параметров и времени записи этих параметров в новый блок. Эту операцию можно также рассматривать как часто выполняемую фоновую задачу. Для тех применений, где известна длительность выполнения основного программного цикла, операция передачи может выполняться исходя из наличного времени в пределах программного цикла, когда передача параметров начинается, а затем приостанавливается в моменты, когда время основного цикла подходит к концу. Может потребоваться несколько основных циклов для полной передачи всех параметров в новый блок флэш-памяти. Общее время выполнения задачи будет зависеть от ресурса времени, доступного в каждом цикле и от количества вызовов цикла, необходимого для завершения операции.
Как и в случае передачи параметров, стирание блока можно рассматривать как задачу переднего плана или как фоновую. В случае фоновой задачи, общее время стирания зависит от величины временного «окна» в рамках программного цикла. Число необходимых вызовов определяется путем деления общего времени стирания на длительность времени, доступного в пределах каждого цикла. Умножив число вызовов цикла на длительность цикла, получим полное время стирания параметрического блока.
Так, для микросхем флэш-памяти типа Boot Block в спецификации гарантируется не менее 100 тысяч циклов стирания. Как это влияет на хранение параметров (цикличность), легко рассчитать, воспользовавшись выражением:
100000 Cycles=[8KB-(Block_Record size)/Parameter_Record size]*number of Parameter_Record
Это уравнение можно решить как для искомого числа записей параметров, так и для длины поля Parameter_Record, в зависимости от того, что известно. По сравнению с EEPROM устойчивость флэш-памяти к ре-программированию значительно выше.
Заключение
В настоящей статье были описаны основные моменты программных методов эмуляции побайтовой работы с использованием двух параметрических блоков флэш-памяти. Разработчики систем, используя для хранения параметров вместо EEPROM параметрические блоки микросхем Boot Block, могут снизить стоимость и повысить надежность своих систем. Так, уже давно осознали преимущества перехода от микросхем, стираемых целиком, к приборам, основанным на блочной архитектуре. Флэш-память типа Bulk Erase, изготавливаемая по устаревшей технологии, перестала модернизироваться и уже давно вытеснена более современными семействами.
Устройство флешки и карты памяти
Контроллер флешки
Наиболее сложной и загадочной частью флешки является, безусловно, её контроллер.
Основные его функции — работа с микросхемами памяти (выполнение операций постраничного чтения, выборки данных, поблочной записи, размещение и адресация данных в нескольких микросхемах памяти, а также другие специальные функции) и предоставление интерфейса к хост-устройству.
Когда поступает команда на чтение определенной ячейки данных, контроллер должен определить в какой микросхеме находится данная ячейка, в каком блоке этой микросхемы, в какой странице блока, и затем собственно адрес ячейки в странице. Поскольку считывание возможно только страницы целиком, контроллер считывает её в свой буфер, находит в ней нужную ячейку, и отправляет её содержимое хост-устройству.
При поступлении команды на запись также находится нужный блок, но, на этот раз, он считывается не постранично, а – целиком. Затем в буфере производятся необходимые изменения, блок из микросхемы целиком стирается и вновь записывается измененный блок из буфера контроллера.
Кроме того, для выравнивания износа блоков, контроллер периодически переназначает их (по сути — меняет местами). В результате чего достигается достаточно равномерный износ по циклам записи, и микросхемы памяти, таким образом, служат дольше. Контроллер следит за состоянием каждого блока в отдельности, и если какой-либо из блоков превысил допустимое количество циклов перезаписи — контроллер переходит в режим «только чтение» — данные считать с него можно, а записать уже нельзя. Такие накопители не пригодны для дальнейшего использования.
В этом случае следует скопировать данные с носителя, и заменить его.
Контроллер имеет в себе прошивку, таблицы конфигурации, а также некоторые модели хранят внутри себя таблицы износа блоков памяти, а также множество другой служебной информации. Разнообразие контроллеров очень велико, а их версий просто бесчисленное множество. В связи с этим, при любом повреждении контроллера, искать ему замену для восстановления информации бессмысленно.
Флеш память микросхем от мировых производителей памяти Flash
Флеш память микросхем популярных производителей
Микросхемы FLASH памяти Alliance
Part N | Density | Organization | Voltage | Speeds | Packages | Sector |
AS29F002 | 2M | 256Kx8 | 5 | 55, 70, 90, 120 | TSOP, PLCC, PDIP | Boot |
AS29F200 | 2M | 256Kx8; 128Kx16 | 5 | 55, 70, 90, 120 | TSOP, SO | |
AS29LV800 | 8M | 1Mx8; 512Kx16 | 3.3 | 80, 100, 120, 150 | TSOP, SO |
Микросхемы FLASH памяти Catalyst
Part N | Density | Organization | Voltage | Speeds | Packages | Sector |
AS29F002 | 2M | 256Kx8 | 5 | 55, 70, 90, 120 | TSOP, PLCC, PDIP | Boot |
AS29F200 | 2M | 256Kx8; 128Kx16 | 5 | 55, 70, 90, 120 | TSOP, SO | |
AS29LV800 | 8M | 1Mx8; 512Kx16 | 3.3 | 80, 100, 120, 150 | TSOP, SO |
Микросхемы FLASH памяти Hitachi
Part N | Capacy | Confign | Access | Version | Power supply | Package |
HN29V51211 | 512M | 64M x 8 | 50 | -50 | 2.7V to 3.6V | TSOP48 |
HN29W25611 | 256M | 32M x 8 | 50 | -50H | 3.3V ± 0.3V | TSOP48 |
HN29W25611T | 50 | -50 | 3.3V±0.3V / 5V±0.5V | |||
HN29W12811T | 128M | 8M x 8 x 2 | 60 | -60 | 3.3V±0.3V / 5V±0.5V | TSOP48 |
HN29W12814ATT | 50 | -50 | 3.3V±0.3V / 5V±0.5V |
Микросхемы FLASH памяти Mosel Vitelic
Density | Part N | Organization | Supply | Speed | Icc max | Isb max | Package |
Flash Memory (EPROM/OTP Replacement) | |||||||
512K | V29LC51000 | 64K x 8 | 5 | 90 | 50 | 100 | P, J |
1 Meg | V29LC51001 | 128K x 8 | 5 | 90 | 50 | 100 | P, J |
2 Meg | V29LC51002 | 256K x 8 | 5 | 90 | 50 | 100 | P, J |
Flash Memory (Standard) | |||||||
512K | V29C51000 | 64K x 8 | 5 | 45, 70, 90 | 50 | 100 | P, J, T |
1 Meg | V29C51001 | 128K x 8 | 5 | 45, 70, 90 | 50 | 100 | P, J, T |
2 Meg | V29C51002 | 256K x 8 | 5 | 55, 90 | 50 | 100 | P, J, T |
V29C51200 | 128K x 16/ 256K x 8 | 5 | 70, 90 | TBD | TBD | T | |
V29C31200 | 128K x 16/ 256K x 8 | 3 | 90, 120 | TBD | TBD | T | |
4 Meg | V29C51004 | 512K x 8 | 5 | 70, 90 | 50 | 100 | J, T |
V29C31004 | 512K x 8 | 3 | 90, 120 | 30 | 10 | J, T | |
V29C51400 | 256K x 16/ 512K x 8 | 5 | 70, 90, 120 | 50 | 100 | T | |
V29C31400 | 256K x 16/ 512K x 8 | 3 | 90, 120 | TBD | TBD | T |
Микросхемы FLASH памяти Winbond
Flash Memories (Page Write)
Part N | Density | Supply | Organization | Access Time | Page Size | Packages |
W29EE512 | 512K | 5V | 64K x 8 | 70,90 nS | 128 bytes | PLCC 32, TSOP 32 (70 nS only) |
W29EE011 | 1M | 5V | 128K x 8 | 90, 150 nS | 128 bytes | PLCC 32, TSOP 3 2 |
W29C020C | 2M | 5V | 256K x 8 | 90, 120 nS | 128 bytes | DIP 32, PLCC 32, TSOP 32 |
W29C040 | 4M | 5V | 512K x 8 | 90, 120 nS | 256 bytes | PLCC 32, TSOP 32, DIP32 |
Flash Memories (Block Erase, Word/Byte Program)
Part N | Density | Supply | Organization | Access Time | Packages |
W49F102 | 1M | 5V | 64K x 16 | 40, 45 nS | PLCC 44, TSOP 40 |
W49L102 | 3V | 64K x 16 | 70 nS | PLCC 44, TSOP 40 | |
W49F002U | 2M | 5V | 256K x 8 | 70, 90 nS | DIP 32, PLCC 32, TSOP 32 |
W49F020 | 70, 90 nS | DIP 32, PLCC 32, TSOP 32 | |||
W49F201 | 128K x 16 | 45, 55 nS | SOP 44, TSOP 48 | ||
W49L201 | 3.3V | 128K x 16 | 70, 90 nS | SOP 44, TSOP 48 | |
W49V002 | 33MHz | PLCC32, TSOP 32 |
Микросхемы FLASH памяти Toshiba
Flash — SmartMedia
Products | Density | Organization | Page Size, | Block Size, | Voltage | Erase | Time To | Write/Erase | Serial |
TC58128DC | 128 | 16M x 8 | 512 + 16 | 16 KB | 3.3 | 2 | 200µs | 250K | 50 |
TC5816BDC | 16 | 2MB x 8 | 256+8 | 4K + 128 | 5.0 | 6 | 1.2µs/byte | 250,000 | 80 |
TC58256DC | 256 | 32 MB x 8 | 512 + 16 | 16K + 512 | 3.3 | 3 | 0.4µs/byte | 1,000,000 | 50 |
TC5832DC | 32 | 4MB x 8 | 512+16 | 8K + 256 | 5.0 | 6 | 0.6µs/byte | 1,000,000 | 50 |
TC58V16BDC | 16 | 2MB x 8 | 256+8 | 4K + 128 | 3.3 | 6 | 1.2µs/byte | 250,000 | 80 |
TC58V32ADC | 32 | 4MB x 8 | 512+16 | 8K + 256 | 3.3 | 6 | 0.6µs/byte | 1,000,000 | 50 |
TC58V64DC | 64 | 8MB x 8 | 512+16 | 8K + 256 | 3.3 | 2 | 0.4µs/byte | 1,000,000 | 50 |
TH58512DC | 512 | 64M x 8 | 512 + 16 | 16 KB | 3.3 | 2 | 200µs | 250K | 50 |
TH58V128DC | 128 | 16MB x 8 | 512 + 16 | 16K + 512 | 3.3 | 2 | 0.4µs/byte | 1,000,000 | 50 |
Flash — NOR
Products | Organization | Speed | Vcc | Standby Icc Max (uA) | Read Icc Max (mA) | Boot Block | Pkg-Pins |
TC58FVB160 | 2M x 8/1M x 16 | 85/100/120ns | 3.3 | 10 | 30 | Bottom | FT-48 |
TC58FVT160 | 2M x 8/1M x 16 | 85/100/120ns | 3.3 | 10 | 30 | Top | FT-48 |
TC58FYB160 | 2M X 8/1M X 16 | 120/150ns | 1.8 | 5 | 30 | Bottom | FT-48 |
TC58FYT160 | 2M X 8/1M X 16 | 120/150ns | 1.8 | 5 | 30 | Top | FT-48 |
Flash – NAND
Products | Organization | Access Speed | Voltage | Program | Erase | Page Size | Block Size | Package | |
Random, | Serial, | ||||||||
TC5816BFT | 2M X 8 | 25 | 80 | 5 | 40 | 20 | 264 | TSOP-2 44 pin | 4kB |
TC58V32AFT | 4M X 8 | 10 | 50 | 3-5 | 40 | 20 | 528 | TSOP-2 44 pin | 8kB |
TC58V16BFT | 2M X 8 | 25 | 80 | 3.3 | 40 | 20 | 264 | TSOP-2 44 pin | 4kB |
TC58V32AFT | 4M X 8 | 10 | 50 | 3-5 | 40 | 20 | 528 | TSOP-2 44 pin | 8kB |
TC58V64FT | 8Mx8 | 7 | 50 | 3.3 | 10 | 10 | 528 | TSOP-2 44 pin | 8kB |
TH58V128FT | 16M X 8 | 7 | 50 | 3.3 | 10 | 10 | 528 | TSOP-2 44 pin | 16kB |
TC58128FT | 16M X 8 | 25 | 50 | 3.3 | 10 | 10 | 528 | TSOP-1 48 pin | 16kB |
TC58256FT | 32M X 8 | 10 | 50 | 3.3 | 10 | 10 | 528 | TSOP-1 48 pin | 16kB |
TH58512FT | 64M X 8 | 25 | 50 | 3.3 | 10 | 10 | 528 | TSOP-1 48 pin | 16kB |
Микросхемы FLASH памяти STMicroelectronics
Type | Size, | Organisation | Speed, | Package | Notes |
Single Supply 5V | |||||
M29F512B | 512Kb | 64K x 8 | 45,70 | PLCC32, TSOP32B | Bulk |
M29F010B | 1Mb | 128K x 8 | 45-120 | PDIP32, PLCC32, TSOP32A | Uniform Block |
M29F100BT | 128K x 8/64K x 16 | 45-120 | TSOP48, SO44 | Top Boot | |
M29F100BB | 128K x 8/64K x 16 | 45-120 | TSOP48, SO44 | Bottom Boot | |
M29F102BB | 128K x 16 | 35-70 | PLCC44, TSOP40B | Bottom Boot | |
M29F002BNT | 2Mb | 256K x 8 | 45-120 | PDIP32, PLCC32, TSOP32A | No RP, Top Boot |
M29F002BT | 256K x 8 | 45-120 | PDIP32, PLCC32, TSOP32A | Top Boot | |
M29F002BB | 256K x 8 | 45-120 | PDIP32, PLCC32, TSOP32A | Bottom Boot | |
M29F200BT | 256K x 8/128K x 16 | 45-90 | TSOP48, SO44 | Top Boot | |
M29F200BB | 256K x 8/128K x 16 | 45-90 | TSOP48, SO44 | Bottom Boot | |
M29F040B | 4Mb | 512K x 8 | 45-90 | DIP32, PLCC32, TSOP32A | Uniform Block |
M29F400BT | 512K x 8/256K x 16 | 45-90 | TSOP48, SO44 | Top Boot | |
M29F400BB | 512K x 8/256K x 16 | 45-90 | TSOP48, SO44 | Bottom Boot | |
M29F080A | 8Mb | 1M x 8 | 55-120 | TSOP40A, SO44 | Uniform Block |
M29F800AT | 1M x 8/512K x 16 | 55-90 | TSOP48, SO44 | Top Boot | |
M29F800AB | 1M x 8/512K x 16 | 55-90 | TSOP48, SO44 | Bottom Boot | |
M29F016B | 16Mb | 2M x 8 | 55-90 | TSOP40A, SO44 | Uniform Block |
M29F160BT | 2M x 8/1M x 16 | 55-90 | TSOP48 | Top Boot | |
M29F160BB | 2M x 8/1M x 16 | 55-90 | TSOP48 | Bottom Boot | |
Single Supply 3V | |||||
M29W512B | 512Kb | 64K x 8 | 55-120 | PLCC32, TSOP32B | Bulk |
M29W010B | 1Mb | 128K x 8 | 45-90 | PLCC32, TSOP32A | Uniform Block |
M29W102BT | 128K x 16 | 50-90 | TSOP40B | Top Boot | |
M29W102BB | 128K x 16 | 50-90 | TSOP40B | Bottom Boot | |
M29W002BT | 2Mb | 256K x 8 | 55-90 | TSOP40A | Top Boot |
M29W002BB | 256K x 8 | 55-90 | TSOP40A | Bottom Boot | |
M29W022BT | 256K x 8 | 50-90 | TSOP32B, PLCC32 | Top Boot | |
M29W022BB | 256K x 8 | 50-90 | TSOP32B, PLCC32 | Bottom Boot | |
M29W200BT | 256K x 8/128K x 16 | 55-120 | TSOP48, SO44 | Top Boot | |
M29W200BB | 256K x 8/128K x 16 | 55-120 | TSOP48, SO44 | Bottom Boot | |
M29W004BT | 4Mb | 512K x 8 | 55-120 | TSOP40A | Top Boot |
M29W004BB | 512K x 8 | 55-120 | TSOP40A | Bottom Boot | |
M29W040B | 512K x 8 | 55-120 | PLCC32, TSOP32A, TSOP32B | Uniform Block | |
M29W400BT | 512K x 8/256K x 16 | 55-120 | TSOP48, SO44, FBGA48 | Top Boot | |
M29W400BB | 512K x 8/256K x 16 | 55-120 | TSOP48, SO44, FBGA48 | Bottom Boot | |
M29W008AT | 8Mb | 1M x 8 | 80-120 | TSOP40A | Top Boot |
M29W008AB | 1M x 8 | 80-120 | TSOP40A | Bottom Boot | |
M29W800AT | 1M x 8/512K x 16 | 80-120 | TSOP48, SO44, FBGA48 | Top Boot | |
M29W800AB | 1M x 8/512K x 16 | 80-120 | TSOP48, SO44, FBGA48 | Bottom Boot | |
M29W116BT | 16Mb | 2M x 8 | 70-120 | TSOP40A | Top Boot |
M29W116BB | 2M x 8 | 70-120 | TSOP40A | Bottom Boot | |
M29W160BT | 2M x 8/1M x 16 | 70-120 | TSOP48, SO44, FBGA48 | Top Boot | |
M29W160BB | 2M x 8/1M x 16 | 70-120 | TSOP48, SO44, FBGA48 | Bottom Boot |