♦ Reset — команда сброса, прерывающая команду программирования или стирания. Эта команда не меняет содержимое памяти; после нее требуется подача другой действительной команды.
По включении питания внутренний регистр команд обнуляется, что соответствует команде чтения, и микросхема работает как обычная микросхема PROM или EPROM. Это позволяет устанавливать микросхемы флэш-памяти вместо EPROM аналогичной емкости. При подаче на вход VPP низкого напряжения (0–6,5 В) стирание и программирование невозможны, и микросхема ведет себя как обычная EPROM.
Микросхемы второго поколения секторированы — ячейки группируются в блоки, допускающие независимое стирание (асимметричное разбиение —
В отличие от микросхем первого поколения, в шинном цикле записи адрес и данные фиксируются по положительному перепаду WE#. Низкий уровень дополнительного управляющего сигнала RP# (в первых версиях обозначался как PWD#) предназначен для перевода микросхемы в режим с минимальным потреблением. В этом режиме модификация содержимого памяти невозможна. Соединение этого вывода в нормальном режиме (когда не требуется перезапись Boot-блока) с системным сигналом RESET# предохраняет микросхему от выполнения ложных команд, которые могут появиться в процессе подачи питания.
Внутренние операции стирания и программирования выполняются после посылки соответствующих кодов во внутренний SR (Status Register), по значению которых внешняя программа может получить информацию о результате выполнения и возможности посылки следующих команд. Чтение регистра SR выполняется по специальной команде; есть и команда его очистки. Назначение бит регистра состояния описано ниже.
♦ SR.7 — WSMS (Write State Machine Status) — состояние управляющего автомата:
• 0 — Busy (занят операцией стирания или программирования);
• 1 — Ready (свободен).
♦ SR.6 — ESS (Erase Suspend Status) — состояние операции стирания:
• 0 — стирание завершено или выполняется;
• 1 — стирание приостановлено.
♦ SR.5 — ES (Erase Status) — результат стирания блока:
• 0 — блок стерт успешно;
• 1 — ошибка стирания.
♦ SR.4 — PS (Program Status) — результат программирования байта:
• 0 — байт записан успешно;
• 1 — ошибка записи.
♦ SR.3 — VPPS (VPP Status) — состояние VPP во время программирования или стирания:
• 0 — напряжение было в норме;
• 1 — зафиксировано понижение напряжения, и операция прервана.
♦ SR[2:0] — зарезервированы.
Таблица 7.26. Команды микросхем флэш-памяти Intel второго поколения
| Команда | Число циклов шины | Первый цикл шины¹ | Второй (третий) цикл шины¹ | ||||
|---|---|---|---|---|---|---|---|
| R/W | Адрес | Данные | R/W | Адрес | Данные | ||
| Read Array/Reset | 1 | W | X | FFh | - | - | _ |
| Read ID (D_Id) | 3 | W | X | 90h | R | 0(1) | M_Id |
| Read Status Register | 2 | W | X | 70h | R | X | SRD |
| Clear Status Register | 1 | W | X | 50h | - | - | - |
| Erase Setup/Erase Confirm | 2 | W | BA | 20h | W | BA | D0h |
| Erase Suspend/Erase Resume | 2 | W | X | B0h | W | X | D0h |
| Program Setup/Program | 2 | W | PA | 40h | W | PA | PD |
| Alternate Program Setup/Program² | 2 | W | PA | 10h | W | PA | PD |
¹ Здесь X обозначает несущественный адрес, M_Id и D_Id — идентификаторы производителя и устройства, SRD — данные, считанные из регистра состояния, PA и PD — адрес и данные программируемой ячейки, BA — адрес блока.
² Альтернативный код команды программирования; доступен для микросхем емкостью 2, 4 и 8 Мбит.
Ниже описано назначение команд.
♦ Read Array/Reset — чтение массива памяти (перевод в режим, совместимый с EPROM) и прерывание операций стирания и программирования.
♦ Read ID — чтение идентификаторов производителя и устройства.
♦ Read Status Register — чтение регистра состояния.
♦ Clear Status Register — сброс регистра состояния.