В статье описаны микросхемы флэш-памяти объемом 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. Так как информация о недопустимых блоках также является стираемой, то в большинстве случаев стирания адресов бракованных блоков их восстановить невозможно. Поэтому в системе должен быть заложен алгоритм, способный создать таблицу недопустимых блоков, защищенную от стирания и основанную на первоначальной информации о бракованных блоках.
После очистки массива-памяти адреса этих блоков снова загружаются из этой таблицы. Любое намеренное стирание первоначальной информации о недопустимых блоках запрещено, так как ведет к некорректной работе системы в целом.
Со временем число недопустимых блоков может возрасти, поэтому необходимо периодически проверять фактическую емкость памяти, сверяя адреса забракованных блоков с данными из резервной таблицы недопустимых блоков. Для систем, где необходима высокая отказоустойчивость, лучше всего предусмотреть возможность поблочного переписывания массива памяти со сравнением результатов с фактическими данными, оперативно выявляя и заменяя блоки некорректной информации. Данные из выявленного недопустимого блока переносятся в другой, нормальный пустой блок, не затрагивая соседние блоки массива и используя встроенный буфер, размер которого соответствует размеру блока. Для этого и предусмотрены команды для поблочной перезаписи.