С внедрением в наш быт различных приборов с различным объемом памяти значительно облегчается пользование этими приборами в различных рутинно - постоянных операциях. Попробуем рассмотреть в этом кратком обзоре ряд микросхем наиболее часто встречающихся в различной аппаратуре. Поэтому в данном обзоре описаны микросхемы флэш-памяти объемом 4 Гбита K9K4G08Q0M-YCB0/YIB0, K9K4G16Q0M-YCB0/YIB0, K9K4G08U0M-YCB0/YIB0, K9K4G16U0M-YCB0/YIB0 фирмы SAMSUNG.
Эти микросхемы используются в качестве энергонезависимой памяти в бытовых, промышленных и компьютерных устройствах. В цифровых видео и фотокамерах, диктофонах и автоответчиках эти микросхемы используются в качестве памяти для изображения и звука в составе твердотельных флэш-дисков. Микросхемы флэш-памяти разделяются на группы по напряжению питания и архитектуре все они приведены в таблице 1.
Таблица 1.
Обозначение прибора |
Напряжение питания (номинальное значение) |
Архитектура |
Тип корпуса |
K9K4G08Q0M-Y |
1,70…1,95В (1,8В) |
512 Mбит х 8 |
TSOP1 |
K9K4G16Q0M-Y |
1,70…1,95В (1,8В) |
256 Mбит х 16 |
TSOP1 |
K9K4G08U0M-Y |
2,7…3,6B (3,3В) |
512 Mбит х 8 |
TSOP1 |
K9K4G16U0M-Y |
2,7…3,6 B (3,3В) |
256 Mбит х 16 |
TSOP1 |
Микросхемы K9K4GXXX0M имеют емкость 4 Гбита с резервом 128 Mбит (фактическая емкость составляет 4 429 185 024 бита) и архитектуру 512 Mбитх 8 или 256 Mбитх 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-разрядных блоков составляет массив памяти. В таблице 2 представлено назначение выводов микросхем флэш-памяти.
Таблица 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/O (0-15) (K9K4G16X0M-Y) |
|
16 |
CLE |
Разрешение фиксации команды. Высокий уровень сигнала на этом выводе переключает мультиплексоры на входах I/O по направлению регистра команд. Запись команды в регистр производится по фронту сигнала WE |
17 |
ALE |
Разрешение фиксации адреса. Высокий уровень сигнала на этом входе переключает мультиплексоры на входах I/O по направлению адресного регистра. Запись команды в регистр производится по фронту сигнала WE |
9 |
CE |
Выбор микросхемы. Низкий уровень на входе разрешает операцию чтения данных, а высокий, при отсутствии каких-либо операций, переводит микросхему в дежурный режим. Во время операций записи/стирания, высокий уровень на этом входе игнорируется |
8 |
RE |
Разрешение чтения. Вход управляет последовательным выводом данных, когда активна передача данных на шину ввода/вывода. Данные действительны после спада сигнала RE и некоторого нормированного времени выборки. Сигнал RE также увеличивает внутренний счетчик адреса столбца на единицу |
18 |
WE |
Разрешение записи. Вход управляет записью в порт ввода/вывода. Команды, адрес и данные фиксируются по фронту импульса WE |
19 |
WP |
Блокировка записи. Выход обеспечивает защиту от случайной записи/стирания во время включения питания. Внутренний генератор программирующего напряжения блокирован, когда на выводе WP активный низкий уровень |
7 |
R/B |
Свободно/занято. Выход R/B указывает состояние микросхемы. Низкий уровень указывает, что выполняется операция записи, стирания, или чтение с произвольной выборкой, высокий уровень устанавливается после завершения этих операций. Этот выход с открытым стоком не переходит к состоянию высокого импеданса, когда микросхема не выбрана, или когда выходы заблокированы |
38 |
PRE |
Разрешение чтения при включении питания. Выход PRE управляет операцией авточтения, выполняемой при включении питания. Авточтение при включении питания разрешено, если вывод PRE подключен к выводу VCC |
12 |
VCC |
Напряжение питания |
13 |
VSS |
Общий |
Операция чтения выполняется постранично, в то время как операция стирания только поблочно - 2048 отдельно стираемых блоков по 128 КБайт (для 8-разрядных микросхем), или блоков по 64K слов (для 16-разрядных микросхем). Стирание отдельных битов невозможно. Запись страницы в микросхемы выполняется за 300 мкс., стирание- за 2 мс на блок (128 КБайт- для 8-разрядных, или на 64K слов- для 16-разрядных микросхем). Байт данных считывается со страницы за 50 нс.
Для записи и контроля данных в микросхемах имеется встроенный контроллер, обеспечивающий весь процесс, включая, если требуется, повторение операций внутренней проверки и разметки данных. У микросхем K9K4GXXX0M реализована система обеспечения проверки информации с исправлением ошибок и выбраковкой ошибочных данных в реальном времени.
Микросхемы имеют 8 или 16 мультиплексных адресов ввода/вывода. Такое решение резко уменьшает число задействованных выводов, и позволяет проводить последующие модернизации устройств, не увеличивая их размеров. Ввод команд, адреса и данных производится при низком уровне на выводе CEпо спаду сигнала WEчерез одни и те же ножки ввода/вывода.
Вводимая информация записывается в буферные регистры по фронту сигнала WE. Сигналы разрешения записи команды (CLE) и разрешения записи адреса (ALE) используются, чтобы мультиплексировать команду и адрес соответственно через одни и те же ножки ввода/вывода.
В таблице 3 показаны команды управления микросхем. Подача на входы других, не перечисленных в таблице, шестнадцатеричных (НЕХ) кодов команд, ведет к непредсказуемым последствиям, и поэтому запрещена.
Таблица 3.
Операция |
16-ричный код 1-го цикла |
16-ричный код 2-го цикла |
Чтение |
00 |
30 |
Чтение для перезаписи |
00 |
35 |
Чтение сигнатуры |
90 |
- |
Сброс |
FF |
- |
Запись на страницу |
80 |
10 |
Запись в кэш |
80 |
15 |
Перезапись |
85 |
10 |
Стирание блока |
60 |
D0 |
Произвольный ввод данных* |
85 |
- |
Произвольный вывод данных* |
05 |
E0 |
Чтение статуса |
70 |
- |
* Произвольный ввод/вывод данных возможен в пределах одной страницы.
Чтобы повысить скорость записи во время приема больших объемов данных, у встроенного контроллера предусмотрена возможность записи данных в регистры кэш-памяти. При включении питания встроенный контроллер автоматически обеспечивает доступ к массиву памяти, начиная с первой страницы без ввода команды и адреса.
В дополнение к усовершенствованной архитектуре и интерфейсу, контроллер обладает возможностью копирования (перезаписи) содержимого одной страницы памяти на другую без обращения к внешней буферной памяти. В этом случае обеспечивается более высокая скорость переноса данных, чем при обычной работе, так как отнимающий много времени последовательный доступ, и циклы ввода данных отсутствуют.
Выбраковка блоков
Блоки памяти в микросхемах K9K4GXXX0M определяются как недопустимые, если содержат один или более недопустимых битов, однозначность чтения которых не гарантируется. Информация из недопустимых блоков трактуется как „недопустимая информация блока”. Микросхемы с недопустимыми блоками не отличаются по статическим и динамическим характеристикам и имеют тот же самый качественный уровень, как и микросхемы со всеми правильными блоками.
Недопустимые блоки не влияют на работу нормальных блоков, потому что они изолированы от разрядной и общей шины питания транзистором выбора. Система спроектирована таким образом, что у недопустимых блоков блокируются адреса. Соответственно, к некорректным битам попросту нет доступа.
Идентификация недопустимого блока
Содержимое всех ячеек микросхемы (кроме тех, где хранится информация о недопустимых блоках) с адресами FFh для 8-разрядных и FFFFh для 16-разрядных, может быть стерта. Адреса недопустимых блоков, находящихся в резервной области массива памяти, определяет первый байт для 8-разрядных микросхем или первое слово- для 16-разрядных.
Производитель гарантирует, что или 1-я или 2-я страница каждого блока с адресами недопустимых ячеек имеют в столбцах с адресами 2048 (для 8-разрядных) или 1024 (для 16-разрядных) данные, отличные, соответственно, от FFh или FFFFh. Так как информация о недопустимых блоках также является стираемой, то в большинстве случаев стирания адресов бракованных блоков их восстановить невозможно.
Поэтому в системе должен быть заложен алгоритм, способный создать таблицу недопустимых блоков, защищенную от стирания и основанную на первоначальной информации о бракованных блоках. После очистки массива памяти адреса этих блоков снова загружаются из этой таблицы. Любое намеренное стирание первоначальной информации о недопустимых блоках запрещено, так как ведет к некорректной работе системы в целом.
Со временем число недопустимых блоков может возрасти, поэтому необходимо периодически проверять фактическую емкость памяти, сверяя адреса забракованных блоков с данными из резервной таблицы недопустимых блоков. Для систем, где необходима высокая отказоустойчивость, лучше всего предусмотреть возможность поблочного переписывания массива памяти со сравнением результатов с фактическими данными, оперативно выявляя и заменяя блоки некорректной информации.
Данные из выявленного недопустимого блока переносятся в другой, нормальный пустой блок, не затрагивая соседние блоки массива и, используя встроенный буфер, размер которого соответствует размеру блока. Для этого и предусмотрены команды для поблочной перезаписи.
Ю. Ермаков
РС1-2004