MX66L1G45G, 3V, 1Gb, v1.5
MX66L1G45G, 3V, 1Gb, v1.5
MX66L1G45G
3V, 1G-BIT [x 1/x 2/x 4]
CMOS MXSMIO® (SERIAL MULTI I/O)
FLASH MEMORY
Key Features
• Advanced sector protection function (Solid and Password Protect)
• Multi I/O Support - Single I/O, Dual I/O, and Quad I/O
• Supports DTR (Double Transfer Rate) Mode
• Supports clock frequencies up to 166MHz
• Quad Peripheral Interface (QPI) Read / Program Mode
Contents
1. FEATURES............................................................................................................................................................... 4
2. GENERAL DESCRIPTION...................................................................................................................................... 5
Table 1. Read performance Comparison.....................................................................................................5
3. PIN CONFIGURATIONS .......................................................................................................................................... 6
4. PIN DESCRIPTION................................................................................................................................................... 6
5. BLOCK DIAGRAM.................................................................................................................................................... 7
6. DATA PROTECTION................................................................................................................................................. 8
Table 2. Protected Area Sizes......................................................................................................................9
Table 3. 4K-bit Secured OTP Definition.....................................................................................................10
7. Memory Organization............................................................................................................................................ 11
Table 4. Memory Organization................................................................................................................... 11
8. DEVICE OPERATION............................................................................................................................................. 12
8-1. 256Mb Address Protocol........................................................................................................................... 15
8-2. Quad Peripheral Interface (QPI) Read Mode........................................................................................... 19
9. COMMAND DESCRIPTION.................................................................................................................................... 20
Table 5. Command Set...............................................................................................................................20
9-1. Write Enable (WREN)............................................................................................................................... 25
9-2. Write Disable (WRDI)................................................................................................................................ 26
9-3. Factory Mode Enable (FMEN).................................................................................................................. 27
9-4. Read Identification (RDID)........................................................................................................................ 28
9-5. Release from Deep Power-down (RDP), Read Electronic Signature (RES)............................................ 29
9-6. Read Electronic Manufacturer ID & Device ID (REMS)............................................................................ 31
9-7. QPI ID Read (QPIID)................................................................................................................................ 32
Table 6. ID Definitions ...............................................................................................................................32
9-8. Read Status Register (RDSR).................................................................................................................. 33
9-9. Read Configuration Register (RDCR)....................................................................................................... 34
Table 7. Status Register.............................................................................................................................37
Table 8. Configuration Register..................................................................................................................38
Table 9. Output Driver Strength Table........................................................................................................39
Table 10. Dummy Cycle and Frequency Table (MHz)................................................................................39
9-10. Write Status Register (WRSR).................................................................................................................. 40
Table 11. Protection Modes........................................................................................................................41
9-11. Enter 4-byte mode (EN4B)....................................................................................................................... 44
9-12. Exit 4-byte mode (EX4B).......................................................................................................................... 44
9-13. Read Data Bytes (READ)......................................................................................................................... 45
9-14. Read Data Bytes at Higher Speed (FAST_READ)................................................................................... 46
9-15. Dual Output Read Mode (DREAD)........................................................................................................... 47
9-16. 2 x I/O Read Mode (2READ).................................................................................................................... 48
9-17. Quad Read Mode (QREAD)..................................................................................................................... 49
9-18. 4 x I/O Read Mode (4READ).................................................................................................................... 50
9-19. Fast Double Transfer Rate Read (FASTDTRD)........................................................................................ 52
9-20. 2 x I/O Double Transfer Rate Read Mode (2DTRD)................................................................................. 53
9-21. 4 x I/O Double Transfer Rate Read Mode (4DTRD)................................................................................. 54
9-22. Preamble Bit ............................................................................................................................................ 56
9-23. 4-Byte Address Command Set................................................................................................................. 61
9-24. Performance Enhance Mode - XIP (execute-in-place)............................................................................. 67
9-25. Burst Read................................................................................................................................................ 72
9-26. Fast Boot.................................................................................................................................................. 73
Table 12. Fast Boot Register (FBR)...........................................................................................................73
9-27. Sector Erase (SE)..................................................................................................................................... 76
2. GENERAL DESCRIPTION
MX66L1G45G is 1Gb bits Serial NOR Flash memory, which is configured as 134,217,728 x 8 internally. When it is
in two or four I/O mode, the structure becomes 536,870,912 bits x 2 or 268,435,456 bits x 4. MX66L1G45G features
a serial peripheral interface and software protocol allowing operation on a simple 3-wire bus while it is in single I/O
mode. The three bus signals are a clock input (SCLK), a serial data input (SI), and a serial data output (SO). Serial
access to the device is enabled by CS# input.
When it is in two I/O read mode, the SI pin and SO pin become SIO0 pin and SIO1 pin for address/dummy bits
input and data output. When it is in four I/O read mode, the SI, SO, WP# and NC pins become SIO0, SIO1, SIO2
and SIO3 pins for address/dummy bits input and data output.
The MX66L1G45G MXSMIO (Serial Multi I/O) provides sequential read operation on the whole chip.
After program/erase command is issued, auto program/erase algorithms which program/erase and verify the
specified page or sector/block locations will be executed. Program command is executed on byte basis, or page (256
bytes) basis, or word basis. Erase command is executed on 4K-byte sector, 32K-byte block, or 64K-byte block, or
whole chip basis.
To provide user with ease of interface, a status register is included to indicate the status of the chip. The status read
command can be issued to detect completion status of a program or erase operation via WIP bit.
Advanced security features enhance the protection and security functions, please refer to the security features
section for more details.
When the device is not in operation and CS# is high, it remains in standby mode.
The MX66L1G45G utilizes Macronix's proprietary memory cell, which reliably stores memory contents even after
100,000 program and erase cycles.
Numbers of Fast DTR Read Dual I/O DT Read Quad I/O DT Read
Dummy Cycles (MHz) (MHz) (MHz)
4 - 52* 42
6 66 66 52*
8 66* 66 66
10 83 83 83
E
NC NC NC NC NC
5. BLOCK DIAGRAM
X-Decoder
Address Memory Array
Generator
SI/SIO0
Y-Decoder
SO/SIO1
SIO2 * Data
SIO3 * Register
WP# *
SRAM Sense
HOLD# * Buffer Amplifier
RESET# *
CS#
Mode State HV
Logic Machine Generator
Output
Buffer
6. DATA PROTECTION
During power transition, there may be some false system level signals which result in inadvertent erasure or
programming. The device is designed to protect itself from these accidental write cycles.
The state machine will be reset as standby mode automatically during power up. In addition, the control register
architecture of the device constrains that the memory contents can only be changed after specific command
sequences have completed successfully.
In the following, there are several features to protect the system from the accidental write cycles during VCC power-
up and power-down or from system noise.
• Valid command length checking: The command length will be checked whether it is at byte base and completed
on byte boundary.
• Write Enable (WREN) command: WREN command is required to set the Write Enable Latch bit (WEL) before
other commands to change data.
• Deep Power Down Mode: By entering deep power down mode, the flash device also is under protected from
writing all commands except Release from deep power down mode command (RDP) and Read Electronic
Signature command (RES), and softreset command.
• Advanced Security Features: there are some protection and security features which protect content from
inadvertent write and hostile access.
II. Additional 4K-bit secured OTP for an unique identifier to provide an 4K-bit one-time program area for setting
a device unique serial number. This may be accomplished in the factory or by an end systems customer.
- Security register bit 0 indicates whether the secured OTP area is locked by factory or not.
- The 4K-bit secured OTP area is programmed by entering secured OTP mode (with the Enter Security OTP
command), and going through a normal program procedure. Exiting secured OTP mode is done by issuing the
Exit Security OTP command.
- Customer may lock-down the customer lockable secured OTP by writing WRSCUR(write security register)
command to set customer lock-down bit1 as "1". Please refer to Table 13. Security Register Definition for security
register bit definition and Table 3. 4K-bit Secured OTP Definition for address range definition.
- Note: Once lock-down whatever by factory or customer, it cannot be changed any more. While in 4K-bit secured
OTP mode, array access is not allowed.
7. Memory Organization
…
4095
32760 7FF8000h 7FF8FFFh individual 16 sectors
2047
lock/unlock unit:4K-byte
32759 7FF7000h 7FF7FFFh
4094
…
32752 7FF0000h 7FF0FFFh
32751 7FEF000h 7FEFFFFh
4093
…
32744 7FE8000h 7FE8FFFh
2046
32743 7FE7000h 7FE7FFFh
4092
…
individual block 32736 7FE0000h 7FE0FFFh
lock/unlock unit:64K-byte
32735 7FDF000h 7FDFFFFh
4091
…
…
32728 7FD8000h 7FD8FFFh
2045
32727 7FD7000h 7FD7FFFh
4090
…
…
32720 7FD0000h 7FD0FFFh
individual block
lock/unlock unit:64K-byte
47 002F000h 002FFFFh
5
…
2 40 0028000h 0028FFFh
39 027000h 0027FFFh
4
…
24 0018000h 0018FFFh
1
23 0017000h 0017FFFh
2
…
16 0010000h 0010FFFh
15 000F000h 000FFFFh
1
…
0 0000000h 0000FFFh
8. DEVICE OPERATION
1. Before a command is issued, status register should be checked to ensure device is ready for the intended
operation.
2. When an incorrect command is written to this device, it enters standby mode and stays in standby mode until the
next CS# falling edge. In standby mode, This device's SO pin should be High-Z.
3. When a correct command is written to this device, it enters active mode and stays in active mode until the next
CS# rising edge.
4. Input data is latched on the rising edge of Serial Clock (SCLK) and data shifts out on the falling edge of SCLK.
The difference of Serial mode 0 and mode 3 is shown as Figure 1. Serial Modes Supported.
6. While a Write Status Register, Program, or Erase operation is in progress, access to the memory array is
ignored and will not affect the current operation of Write Status Register, Program, or Erase.
SI MSB
SO MSB
Note:
CPOL indicates clock polarity of Serial master, CPOL=1 for SCLK high while idle, CPOL=0 for SCLK low while not
transmitting. CPHA indicates clock phase. The combination of CPOL bit and CPHA bit decides which Serial mode is
supported.
tSHSL
CS#
SCLK
tDVCH tCHCL
tCHDX tCLCH
SI MSB LSB
High-Z
SO
tSHSL
CS#
SCLK
tDVCH tCHCL
tCLDX
tCLCH
tCHDX tDVCL
CS#
tCH
SCLK
tCLQV tCLQV tCL tSHQZ
tCLQX tCLQX
SO LSB
SI ADDR.LSB IN
CS#
tCH
SCLK
SIO0
SIO1
SIO2
SIO3
tQVD
In 4-byte Address mode, all instructions are 32-bits address clock cycles. By using EN4B and EX4B to enable and
disable the 4-byte address mode.
When 4-byte address mode is enabled, the EAR<0-2> becomes "don't care" for all instructions requiring 4-byte
address. The EAR function will be disabled when 4-byte mode is enabled.
07FFFFFFh
EAR<2-0>= 111
07000000h
06FFFFFFh
EAR<2-0>= 110
06000000h
05FFFFFFh
EAR<2-0>= 101
05000000h
04FFFFFFh
EAR<2-0>= 100
04000000h
03FFFFFFh
EAR<2-0>= 011
03000000h
02FFFFFFh
EAR<2-0>= 010
02000000h
01FFFFFFh
EAR<2-0>= 001
01000000h
00FFFFFFh
EAR<2-0>= 000
00000000h
When under EAR mode, Read, Program, Erase operates in the selected segment by using 3-byte address mode.
For the read operation, the whole array data can be continually read out with one command. Data output starts from
the selected 128Mb block, but it can cross the boundary. When the last byte of the segment is reached, the next byte (in
a continuous reading) is the first byte of the next segment. However, the EAR (Extended Address Register) value
does not change. The random access reading can only be operated in the selected segment.
The Chip erase command will erase the whole chip and is not limited by EAR selected segment. However, the
sector erase ,block erase , program operation are limited in selected segment and will not cross the boundary.
CS#
Mode 3 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
SCLK
Mode 0
command EAR In
SI C5h 7 6 5 4 3 2 1 0
High-Z MSB
SO
CS#
Mode 3 0 1 2 3 Mode 3
SCLK
Mode 0 Mode 0
Command EAR in
SIO[3:0] C5h H0 L0
CS#
Mode 3 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
SCLK
Mode 0
command
SI C8h
MSB MSB
CS#
Mode 3 0 1 2 3 4 5 6 7 N
SCLK
Mode 0
SIO[3:0] C8h H0 L0 H0 L0 H0 L0 H0 L0
MSB LSB
EAR Out EAR Out EAR Out EAR Out
QPI protocol enables user to take full advantage of Quad I/O Serial NOR Flash by providing the Quad I/O interface
in command cycles, address cycles and as well as data output cycles.
CS#
MODE 3 0 1 2 3 4 5 6 7
SCLK MODE 0
SIO0 35h
SIO[3:1]
To reset the QPI mode, the RSTQIO (F5H) command is required. After the RSTQIO command is issued, the device
returns from QPI mode (4 I/O interface in command cycles) to SPI mode (1 I/O interface in command cycles).
Note:
For EQIO and RSTQIO commands, CS# high width has to follow "From Write/Erase/Program to Read Status
Register spec" tSHSL (as defined in "Table 27. AC CHARACTERISTICS (Temperature = -40°C to 85°C, VCC = 2.7V - 3.6V)")
for next instruction.
CS#
SCLK
SIO[3:0] F5h
9. COMMAND DESCRIPTION
Table 5. Command Set
* Dummy cycle numbers will be different depending on the bit6 & bit 7 (DC0 & DC1) setting in configuration register.
Notes: Please note the address cycles above are based on 3-byte address mode. After enter 4-byte address
mode by EN4B command, the address cycles will be increased to 4byte.
Register/Setting Commands
RDCR WRSR RDEAR
FMEN RDSR
Command WREN WRDI (read (write status/ (read extended
(factory mode (read status
(byte) (write enable) (write disable) configuration configuration address
enable) register)
register) register) register)
Mode SPI/QPI SPI/QPI SPI/QPI SPI/QPI SPI/QPI SPI/QPI SPI/QPI
1st byte 06 (hex) 04 (hex) 41 (hex) 05 (hex) 15 (hex) 01 (hex) C8 (hex)
2nd byte Values
3rd byte Values
4th byte
5th byte
Data Cycles 1-2
sets the (WEL) resets the enable factory to read out the to read out the to write new read extended
write enable (WEL) write mode values of the values of the values of the address
Action latch bit enable latch bit status register configuration status/ register
register configuration
register
PGM/ERS
WREAR
WPSEL EN4B EX4B Suspend
Command (write extended EQIO RSTQIO
(Write Protect (enter 4-byte (exit 4-byte (Suspends
(byte) address (Enable QPI) (Reset QPI)
Selection) mode) mode) Program/
register)
Erase)
Mode SPI/QPI SPI/QPI SPI QPI SPI/QPI SPI/QPI SPI/QPI
1st byte C5 (hex) 68 (hex) 35 (hex) F5 (hex) B7 (hex) E9 (hex) B0 (hex)
2nd byte
3rd byte
4th byte
5th byte
Data Cycles 1
write extended to enter and Entering the Exiting the QPI to enter 4-byte to exit 4-byte
address enable individal QPI mode mode mode and set mode and clear
Action register block protect 4BYTE bit as 4BYTE bit to
mode "1" be "0"
PGM/ERS
Resume RDP (Release SBL RDFBR WRFBR ESFBR
Command DP (Deep
(Resumes from deep (Set Burst (read fast boot (write fast boot (erase fast
(byte) power down)
Program/ power down) Length) register) register) boot register)
Erase)
Mode SPI/QPI SPI/QPI SPI/QPI SPI/QPI SPI SPI SPI
1st byte 30 (hex) B9 (hex) AB (hex) C0 (hex) 16(hex) 17(hex) 18(hex)
2nd byte
3rd byte
4th byte
5th byte
Data Cycles 1-4 4
enters deep release from to set Burst
power down deep power length
Action mode down mode
ID/Security Commands
REMS
RDID RES QPIID ENSO EXSO
Command (read electronic
(read identific- (read electronic (QPI ID RDSFDP (enter secured (exit secured
(byte) manufacturer &
ation) ID) Read) OTP) OTP)
device ID)
Mode SPI SPI/QPI SPI QPI SPI/QPI SPI/QPI SPI/QPI
Address Bytes 0 0 0 0 3 0 0
1st byte 9F (hex) AB (hex) 90 (hex) AF (hex) 5A (hex) B1 (hex) C1 (hex)
2nd byte x x ADD1
3rd byte x x ADD2
4th byte ADD1(Note 2) ADD3
5th byte Dummy(8)(Note 4)
outputs JEDEC to read out output the ID in QPI Read SFDP to enter the to exit the
ID: 1-byte 1-byte Device Manufacturer interface mode 4K-bit secured 4K-bit secured
Action Manufacturer ID ID & Device ID OTP mode OTP mode
ID & 2-byte
Device ID
Action
Reset Commands
RST
Command NOP RSTEN
(Reset
(byte) (No Operation) (Reset Enable)
Memory)
Mode SPI/QPI SPI/QPI SPI/QPI
1st byte 00 (hex) 66 (hex) 99 (hex)
2nd byte
3rd byte
4th byte
5th byte
Action (Note 3)
Note 1: It is not recommended to adopt any other code not in the command definition table, which will potentially enter
the hidden mode.
Note 2: ADD=00H will output the manufacturer ID first and ADD=01H will output device ID first.
Note 3: The RSTEN command must be executed before executing the RST command. If any other command is issued
in-between RSTEN and RST, the RST command will be ignored.
Note 4: The number in parentheses after "ADD" or "Data" stands for how many clock cycles it has. For example,
"Data(8)" represents there are 8 clock cycles for the data in. Please note the number after "ADD" are based on
3-byte address mode, for 4-byte address mode, which will be increased.
The Write Enable (WREN) instruction sets the Write Enable Latch (WEL) bit. Instructions like PP/PP4B, 4PP/4PP4B,
SE/SE4B, BE32K/BE32K4B, BE/BE4B, CE, and WRSR that are intended to change the device content, should be
preceded by the WREN instruction.
The sequence of issuing WREN instruction is: CS# goes low→send WREN instruction code→ CS# goes high.
Both SPI (8 clocks) and QPI (2 clocks) command cycle can be accepted by this instruction. The SIO[3:1] are don't
care in SPI mode.
CS#
Mode 3 0 1 2 3 4 5 6 7
SCLK
Mode 0
Command
SI 06h
High-Z
SO
CS#
Mode 3 0 1
SCLK
Mode 0 Command
SIO[3:0] 06h
The Write Disable (WRDI) instruction resets the Write Enable Latch (WEL) bit.
The sequence of issuing WRDI instruction is: CS# goes low→send WRDI instruction code→CS# goes high.
Both SPI (8 clocks) and QPI (2 clocks) command cycle can be accepted by this instruction. The SIO[3:1] are don't
care in SPI mode.
CS#
Mode 3 0 1 2 3 4 5 6 7
SCLK
Mode 0
Command
SI 04h
High-Z
SO
CS#
Mode 3 0 1
SCLK
Mode 0 Command
SIO[3:0] 04h
The Factory Mode Enable (FMEN) instruction enhances Program and Erase performance to increase factory
production throughput. The FMEN instruction needs to be combined with the instructions which are intended to
change the device content, like PP/PP4B, 4PP/4PP4B, SE/SE4B, BE32K/BE32K4B, BE/BE4B, and CE.
The sequence of issuing FMEN instruction is: CS# goes low→send FMEN instruction code→ CS# goes high. A valid
factory mode operation needs to be included three sequences: WREN instruction → FMEN instruction→ Program or
Erase instruction.
Both SPI (8 clocks) and QPI (2 clocks) command cycle can be accepted by this instruction. The SIO[3:1] are don't
care in SPI mode.
CS#
Mode 3 0 1 2 3 4 5 6 7
SCLK
Mode 0
Command
SI 41h
High-Z
SO
CS#
Mode 3 0 1
SCLK
Mode 0 Command
SIO[3:0] 41h
The RDID instruction is for reading the 1-byte manufacturer ID and the 2-byte Device ID that follows. The Macronix
Manufacturer ID and Device ID are listed as Table 6 ID Definitions.
The sequence of issuing RDID instruction is: CS# goes low→ send RDID instruction code→24-bits ID data out on
SO→ to end RDID operation can drive CS# to high at any time during data out.
While Program/Erase operation is in progress, it will not decode the RDID instruction, therefore there's no effect on
the cycle of program/erase operation which is currently in progress. When CS# goes high, the device is at standby
stage.
CS#
Mode 3 0 1 2 3 4 5 6 7 8 9 10 13 14 15 16 17 18 28 29 30 31
SCLK
Mode 0
Command
SI 9Fh
MSB MSB
9-5. Release from Deep Power-down (RDP), Read Electronic Signature (RES)
The Release from Deep Power-down (RDP) instruction is completed by driving Chip Select (CS#) High. When Chip
Select (CS#) is driven High, the device is put in the Stand-by Power mode. If the device was not previously in the
Deep Power-down mode, the transition to the Stand-by Power mode is immediate. If the device was previously in
the Deep Power-down mode, though, the transition to the Stand-by Power mode is delayed by tRES1, and Chip
Select (CS#) must remain High for at least tRES1(max), as specified in Table 27 AC Characteristics. Once in the
Stand-by Power mode, the device waits to be selected, so that it can receive, decode and execute instructions. The
RDP instruction is only for releasing from Deep Power Down Mode. Reset# pin goes low will release the Flash from
deep power down mode.
RES instruction is for reading out the old style of 8-bit Electronic Signature, whose values are shown as Table 6 ID
Definitions. This is not the same as RDID instruction. It is not recommended to use for new design. For new design,
please use RDID instruction.
The RDP and RES are allowed to execute in Deep power-down mode, except if the device is in progress of
program/erase/write cycle; In this case, there is no effect on the current program/erase/write cycle that is in
progress.
Both SPI (8 clocks) and QPI (2 clocks) command cycle can be accepted by this instruction. The SIO[3:1] are don't
care during SPI mode.
The RES instruction ends when CS# goes high, after the ID been read out at least once. The ID outputs repeatedly
if continuously send the additional clock cycles on SCLK while CS# is at low. If the device was not previously in
Deep Power-down mode, the device transition to standby mode is immediate. If the device was previously in Deep
Power-down mode, there's a delay of tRES2 to transit to standby mode, and CS# must remain to high at least
tRES2(max). Once in the standby mode, the device waits to be selected, so it can be receive, decode, and execute
instruction.
CS#
Mode 3 0 1 2 3 4 5 6 7 8 9 10 28 29 30 31 32 33 34 35 36 37 38
SCLK
Mode 0
Command 3 Dummy Bytes tRES2
SI ABh 23 22 21 3 2 1 0
MSB
Electronic Signature Out
High-Z
SO 7 6 5 4 3 2 1 0
MSB
CS#
MODE 3 0 1 2 3 4 5 6 7
SCLK
MODE 0 tRES2
Command 3 Dummy Bytes
SIO[3:0] ABh X X X X X X H0 L0
MSB LSB
Data In Data Out
Figure 22. Release from Deep Power-down (RDP) Sequence (SPI Mode)
CS#
Mode 3 0 1 2 3 4 5 6 7 tRES1
SCLK
Mode 0 Command
SI ABh
High-Z
SO
Figure 23. Release from Deep Power-down (RDP) Sequence (QPI Mode)
CS#
tRES1
Mode 3 0 1
SCLK
Mode 0
Command
SIO[3:0] ABh
The REMS instruction returns both the JEDEC assigned manufacturer ID and the device ID. The Device ID values
are listed in "Table 6. ID Definitions".
The REMS instruction is initiated by driving the CS# pin low and sending the instruction code "90h" followed by two
dummy bytes and one address byte (A7~A0). After which the manufacturer ID for Macronix (C2h) and the device
ID are shifted out on the falling edge of SCLK with the most significant bit (MSB) first. If the address byte is 00h,
the manufacturer ID will be output first, followed by the device ID. If the address byte is 01h, then the device ID will
be output first, followed by the manufacturer ID. While CS# is low, the manufacturer and device IDs can be read
continuously, alternating from one to the other. The instruction is completed by driving CS# high.
Figure 24. Read Electronic Manufacturer & Device ID (REMS) Sequence (SPI Mode only)
CS#
Mode 3 0 1 2 3 4 5 6 7 8 9 10
SCLK
Mode 0
Command 2 Dummy Bytes
SI 15 14 13 3 2 1 0
90h
High-Z
SO
CS#
28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
SCLK
ADD (1)
SI 7 6 5 4 3 2 1 0
Manufacturer ID Device ID
SO 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7
Notes:
(1) ADD=00H will output the manufacturer's ID first and ADD=01H will output device ID first.
The QPIID Read instruction can be used to identify the Device ID and Manufacturer ID. The sequence of issuing
the QPIID instruction is as follows: CS# goes low→send QPI ID instruction→Data out on SO→CS# goes high. Most
significant bit (MSB) first.
After the command cycle, the device will immediately output data on the falling edge of SCLK. The manufacturer ID,
memory type, and device ID data byte will be output continuously, until the CS# goes high.
Table 6. ID Definitions
The RDSR instruction is for reading Status Register Bits. The Read Status Register can be read at any time (even
in program/erase/write status register condition). It is recommended to check the Write in Progress (WIP) bit before
sending a new instruction when a program, erase, or write status register operation is in progress.
The sequence of issuing RDSR instruction is: CS# goes low→ send RDSR instruction code→ Status Register data
out on SO.
Both SPI (8 clocks) and QPI (2 clocks) command cycle can be accepted by this instruction. The SIO[3:1] are don't
care during SPI mode.
CS#
Mode 3 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
SCLK
Mode 0
command
SI 05h
MSB MSB
CS#
Mode 3 0 1 2 3 4 5 6 7 N
SCLK
Mode 0
SIO[3:0] 05h H0 L0 H0 L0 H0 L0 H0 L0
MSB LSB
Status Byte Status Byte Status Byte Status Byte
The RDCR instruction is for reading Configuration Register Bits. The Read Configuration Register can be read at
any time (even in program/erase/write configuration register condition). It is recommended to check the Write in
Progress (WIP) bit before sending a new instruction when a program, erase, or write configuration register operation
is in progress.
The sequence of issuing RDCR instruction is: CS# goes low→ send RDCR instruction code→ Configuration Register
data out on SO.
Both SPI (8 clocks) and QPI (2 clocks) command cycle can be accepted by this instruction. The SIO[3:1] are don't
care during SPI mode.
CS#
Mode 3 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
SCLK
Mode 0
command
SI 15h
MSB MSB
CS#
Mode 3 0 1 2 3 4 5 6 7 N
SCLK
Mode 0
SIO[3:0] 15h H0 L0 H0 L0 H0 L0 H0 L0
MSB LSB
Config. Byte Config. Byte Config. Byte Config. Byte
For user to check if Program/Erase operation is finished or not, RDSR instruction flow are shown as follows:
start
WREN command
RDSR command*
No
WEL=1?
Yes
Program/erase command
RDSR command
No
WIP=0?
Yes
RDSR command
No
Verify OK?
Yes
Program/erase successfully Program/erase fail
Yes
Program/erase
another block?
* Issue RDSR to check BP[3:0].
* If WPSEL = 1, issue RDSPB and RDDPB to check the block status.
No
Program/erase completed
Figure 30. Program/Erase flow without read array data (read P_FAIL/E_FAIL flag)
start
WREN command
RDSR command*
No
WEL=1?
Yes
Program/erase command
RDSR command
No
WIP=0?
Yes
RDSR command
RDSCUR command
Yes
P_FAIL/E_FAIL =1 ?
No
Program/erase successfully Program/erase fail
Program/erase Yes
another block?
* Issue RDSR to check BP[3:0].
No * If WPSEL = 1, issue RDSPB and RDDPB to check the block status.
Program/erase completed
Status Register
WIP bit. The Write in Progress (WIP) bit, a volatile bit, indicates whether the device is busy in program/erase/write
status register progress. When WIP bit sets to 1, which means the device is busy in program/erase/write status
register progress. When WIP bit sets to 0, which means the device is not in progress of program/erase/write status
register cycle.
WEL bit. The Write Enable Latch (WEL) bit is a volatile bit that is set to “1” by the WREN instruction. WEL needs to be
set to “1” before the device can accept program and erase instructions, otherwise the program and erase instructions
are ignored. WEL automatically clears to “0” when a program or erase operation completes. To ensure that both WIP
and WEL are “0” and the device is ready for the next program or erase operation, it is recommended that WIP be
confirmed to be “0” before checking that WEL is also “0”. If a program or erase instruction is applied to a protected
memory area, the instruction will be ignored and WEL will clear to “0”.
BP3, BP2, BP1, BP0 bits. The Block Protect (BP3, BP2, BP1, BP0) bits, non-volatile bits, indicate the protected area
(as defined in Table 2) of the device to against the program/erase instruction without hardware protection mode being
set. To write the Block Protect (BP3, BP2, BP1, BP0) bits requires the Write Status Register (WRSR) instruction to
be executed. Those bits define the protected area of the memory to against Page Program (PP), Sector Erase (SE),
Block Erase 32KB (BE32K), Block Erase (BE) and Chip Erase (CE) instructions (only if Block Protect bits (BP3:BP0)
set to 0, the CE instruction can be executed). The BP3, BP2, BP1, BP0 bits are "0" as default. Which is un-protected.
QE bit. The Quad Enable (QE) bit is a non-volatile bit with a factory default of “0”. When QE is “0”, Quad mode
commands are ignored; pins WP#/SIO2 and NC/SIO3 function as WP# and NC, respectively. When QE is “1”, Quad
mode is enabled and Quad mode commands are supported along with Single and Dual mode commands. Pins
WP#/SIO2 and NC/SIO3 function as SIO2 and SIO3, respectively, and their alternate pin functions are disabled.
Enabling Quad mode also disables the HPM feature.
SRWD bit. The Status Register Write Disable (SRWD) bit, non-volatile bit, is operated together with Write Protection
(WP#/SIO2) pin for providing hardware protection mode. The hardware protection mode requires SRWD sets to 1 and
WP#/SIO2 pin signal is low stage. In the hardware protection mode, the Write Status Register (WRSR) instruction is
no longer accepted for execution and the SRWD bit and Block Protect bits (BP3, BP2, BP1, BP0) are read only. The
SRWD bit defaults to be "0".
Configuration Register
The Configuration Register is able to change the default status of Flash memory. Flash memory will be configured
after the CR bit is set.
ODS bit
The output driver strength (ODS2, ODS1, ODS0) bits are volatile bits, which indicate the output driver level (as
defined in Table 9. Output Driver Strength Table) of the device. The Output Driver Strength is defaulted as 30 Ohms
when delivered from factory. To write the ODS bits requires the Write Status Register (WRSR) instruction to be
executed.
TB bit
The Top/Bottom (TB) bit is a non-volatile OTP bit. The Top/Bottom (TB) bit is used to configure the Block Protect
area by BP bit (BP3, BP2, BP1, BP0), starting from TOP or Bottom of the memory array. The TB bit is defaulted as
“0”, which means Top area protect. When it is set as “1”, the protect area will change to Bottom area of the memory
device. To write the TB bits requires the Write Status Register (WRSR) instruction to be executed.
PBE bit
The Preamble Bit Enable (PBE) bit is a volatile bit. It is used to enable or disable the preamble bit data pattern
output on dummy cycles. The PBE bit is defaulted as “0”, which means preamble bit is disabled. When it is set as “1”,
the preamble bit will be enabled, and inputted into dummy cycles. To write the PBE bits requires the Write Status
Register (WRSR) instruction to be executed.
Numbers of
Dual IO Fast Dual I/O DTR
DC[1:0] Dummy clock
Read Read
cycles
00 (default) 4 84 52
01 6 104 66
10 8 133 66
11 10 166 83
Numbers of
Quad IO Fast Quad I/O DTR
DC[1:0] Dummy clock
Read Read
cycles
00 (default) 6 84 52
01 4 70 42
10 8 104 66
11 10 133 83
The WRSR instruction is for changing the values of Status Register Bits and Configuration Register Bits. Before
sending WRSR instruction, the Write Enable (WREN) instruction must be decoded and executed to set the Write
Enable Latch (WEL) bit in advance. The WRSR instruction can change the value of Block Protect (BP3, BP2, BP1,
BP0) bits to define the protected area of memory (as shown in Table 2). The WRSR also can set or reset the Quad
enable (QE) bit and set or reset the Status Register Write Disable (SRWD) bit in accordance with Write Protection (WP#/
SIO2) pin signal, but has no effect on bit1(WEL) and bit0 (WIP) of the status register. The WRSR instruction cannot
be executed once the Hardware Protected Mode (HPM) is entered.
The sequence of issuing WRSR instruction is: CS# goes low→ send WRSR instruction code→ Status Register data
on SI→ Configuration Register data on SI→ CS# goes high.
The CS# must go high exactly at the 8 bits or 16 bits data boundary; otherwise, the instruction will be rejected and
not executed. The self-timed Write Status Register cycle time (tW) is initiated as soon as Chip Select (CS#) goes
high. The Write in Progress (WIP) bit still can be check out during the Write Status Register cycle is in progress.
The WIP sets 1 during the tW timing, and sets 0 when Write Status Register Cycle is completed, and the Write
Enable Latch (WEL) bit is reset.
CS#
Mode 3 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
SCLK
Mode 0
command Status Configuration
Register In Register In
SI 01h 7 6 5 4 3 2 1 0 15 14 13 12 11 10 9 8
High-Z MSB
SO
Note : The CS# must go high exactly at 8 bits or 16 bits data boundary to completed the write register command.
CS#
Mode 3 0 1 2 3 4 5 Mode 3
SCLK
Mode 0 Mode 0
Command SR in CR in
SIO[3:0] 01h H0 L0 H1 L1
Note:
If SRWD bit=1 but WP#/SIO2 is low, it is impossible to write the Status Register even if the WEL bit has previously
been set. It is rejected to write the Status Register and not be executed.
Note:
To exit the hardware protected mode requires WP#/SIO2 driving high once the hardware protected mode is entered.
If the WP#/SIO2 pin is permanently connected to high, the hardware protected mode can never be entered; only
can use software protected mode via BP3, BP2, BP1, BP0 and T/B bit.
If the system enter QPI or set QE=1, the feature of HPM will be disabled.
Note:
1. As defined by the values in the Block Protect (BP3, BP2, BP1, BP0) bits of the Status Register, as shown in
Table 2.
start
WREN command
RDSR command
No
WEL=1?
Yes
WRSR command
RDSR command
No
WIP=0?
Yes
RDSR command
No
Verify OK?
Yes
WRSR successfully WRSR fail
Figure 34. WP# Setup Timing and Hold Timing during WRSR when SRWD=1
WP#
tSHWL
tWHSL
CS#
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
SCLK
SI 01h
High-Z
SO
Note: WP# must be kept high until the embedded operation finish.
The EN4B instruction enables accessing the address length of 32-bit for the memory area of higher density (larger
than 128Mb). The device default is in 24-bit address mode; after sending out the EN4B instruction, the bit5 (4BYTE
bit) of Configuration Register will be automatically set to "1" to indicate the 4-byte address mode has been enabled.
Once the 4-byte address mode is enabled, the address length becomes 32-bit instead of the default 24-bit. There
are three methods to exit the 4-byte mode: writing exit 4-byte mode (EX4B) instruction, Reset or power-off.
All instructions are accepted normally, and just the address bit is changed from 24-bit to 32-bit.
The following commands don't support 4-byte address: RDSFDP, RES and REMS.
The sequence of issuing EN4B instruction is: CS# goes low → send EN4B instruction to enter 4-byte mode(
automatically set 4BYTE bit as "1") → CS# goes high.
The EX4B instruction is executed to exit the 4-byte address mode and return to the default 3-bytes address mode.
After sending out the EX4B instruction, the bit5 (4BYTE bit) of Configuration Register will be cleared to be "0" to
indicate the exit of the 4-byte address mode. Once exiting the 4-byte address mode, the address length will return to
24-bit.
The sequence of issuing EX4B instruction is: CS# goes low → send EX4B instruction to exit 4-byte mode (automatically
clear the 4BYTE bit to be "0") → CS# goes high.
The read instruction is for reading data out. The address is latched on rising edge of SCLK, and data shifts out on
the falling edge of SCLK at a maximum frequency fR. The first address byte can be at any location. The address
is automatically increased to the next higher address after each byte data is shifted out, so the whole memory can
be read out at a single READ instruction. The address counter rolls over to 0 when the highest address has been
reached.
The default read mode is 3-byte address, to access higher address (4-byte address) which requires to enter the
4-byte address read mode or to define EAR bit. To enter the 4-byte mode, please refer to the "9-11. Enter 4-byte mode
(EN4B)" section.
The sequence of issuing READ instruction is: CS# goes low→send READ instruction code→ 3-byte or 4-byte
address on SI→ data out on SO→to end READ operation can use CS# to high at any time during data out.
While Program/Erase/Write Status Register cycle is in progress, READ instruction is rejected without any impact on
the Program/Erase/Write Status Register current cycle.
Figure 35. Read Data Bytes (READ) Sequence (SPI Mode only)
CS#
Mode 3 0 1 2 3 4 5 6 7 8 9 10 28 29 30 31 32 33 34 35 36 37 38 39
SCLK
Mode 0
command 24-Bit Address
(Note)
SI 03h 23 22 21 3 2 1 0
MSB
Data Out 1 Data Out 2
High-Z
SO 7 6 5 4 3 2 1 0 7
MSB
Note: Please note the address cycles above are based on 3-byte address mode. For 4-byte address mode, the
address cycles will be increased.
The FAST_READ instruction is for quickly reading data out. The address is latched on rising edge of SCLK, and
data of each bit shifts out on the falling edge of SCLK at a maximum frequency fC. The first address byte can be at
any location. The address is automatically increased to the next higher address after each byte data is shifted out,
so the whole memory can be read out at a single FAST_READ instruction. The address counter rolls over to 0 when
the highest address has been reached.
The default read mode is 3-byte address, to access higher address (4-byte address) which requires to enter the
4-byte address read mode or to define EAR bit. To enter the 4-byte mode, please refer to "9-11. Enter 4-byte mode (EN4B)"
section.
The sequence of issuing FAST_READ instruction is: CS# goes low→ send FAST_READ instruction code→ 3-byte
or 4-byte address on SI→ 8 dummy cycles (default)→ data out on SO→ to end FAST_READ operation can use
CS# to high at any time during data out.
While Program/Erase/Write Status Register cycle is in progress, FAST_READ instruction is rejected without any
impact on the Program/Erase/Write Status Register current cycle.
CS#
Mode 3 0 1 2 3 4 5 6 7 8 9 10 28 29 30 31
SCLK
Mode 0
Command 24-Bit Address
(Note 1)
SI 0Bh 23 22 21 3 2 1 0
High-Z
SO
CS#
32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
SCLK
Configurable
Dummy Cycles
(Note 2)
SI 7 6 5 4 3 2 1 0
SO 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7
Notes:
1. Please note the address cycles above are based on 3-byte address mode. For 4-byte address mode, the address
cycles will be increased.
2. Configuration Dummy cycle numbers will be different depending on the bit6 & bit 7 (DC0 & DC1) setting in
configuration register.
The DREAD instruction enables double throughput of the Serial NOR Flash in read mode. The address is latched
on rising edge of SCLK, and data of every two bits (interleave on 2 I/O pins) shift out on the falling edge of SCLK
at a maximum frequency fT. The first address byte can be at any location. The address is automatically increased
to the next higher address after each byte data is shifted out, so the whole memory can be read out at a single
DREAD instruction. The address counter rolls over to 0 when the highest address has been reached. Once writing
DREAD instruction, the following data out will perform as 2-bit instead of previous 1-bit.
The default read mode is 3-byte address, to access higher address (4-byte address) which requires to enter the
4-byte address read mode or to define EAR bit. To enter the 4-byte mode, please refer to "9-11. Enter 4-byte mode (EN4B)"
section.
The sequence of issuing DREAD instruction is: CS# goes low→ send DREAD instruction→3-byte or 4-byte
address on SIO0→ 8 dummy cycles (default) on SIO0→ data out interleave on SIO1 & SIO0→ to end DREAD
operation can use CS# to high at any time during data out.
While Program/Erase/Write Status Register cycle is in progress, DREAD instruction is rejected without any impact
on the Program/Erase/Write Status Register current cycle.
CS#
0 1 2 3 4 5 6 7 8 9 30 31 32 39 40 41 42 43 44 45
SCLK
… …
Command 24 ADD Cycles Configurable Data Out Data Out
(Note 1) Dummy Cycles
1 2
(Note 2)
High Impedance
SO/SIO1 D7 D5 D3 D1 D7 D5
Notes:
1. Please note the above address cycles are base on 3-byte address mode, for 4-byte address mode, the address
cycles will be increased.
2. Configuration Dummy cycle numbers will be different depending on the bit6 & bit7 (DC0 & DC1) setting in
configuration register.
The 2READ instruction enables double throughput of the Serial NOR Flash in read mode. The address is latched
on rising edge of SCLK, and data of every two bits (interleave on 2 I/O pins) shift out on the falling edge of SCLK at
a maximum frequency fT. The first address byte can be at any location. The address is automatically increased to
the next higher address after each byte data is shifted out, so the whole memory can be read out at a single 2READ
instruction. The address counter rolls over to 0 when the highest address has been reached. Once writing 2READ
instruction, the following address/dummy/data out will perform as 2-bit instead of previous 1-bit.
The default read mode is 3-byte address, to access higher address (4-byte address) which requires to enter the
4-byte address read mode or to define EAR bit. To enter the 4-byte mode, please refer to "9-11. Enter 4-byte mode (EN4B)"
section.
The sequence of issuing 2READ instruction is: CS# goes low→ send 2READ instruction→ 3-byte or 4-byte address
interleave on SIO1 & SIO0→ 4 dummy cycles (default) on SIO1 & SIO0→ data out interleave on SIO1 & SIO0→ to
end 2READ operation can use CS# to high at any time during data out.
While Program/Erase/Write Status Register cycle is in progress, 2READ instruction is rejected without any impact
on the Program/Erase/Write Status Register current cycle.
CS#
Mode 3 0 1 2 3 4 5 6 7 8 9 10 17 18 19 20 21 22 23 24 25 26 27 28 29 30 Mode 3
SCLK
Mode 0 Mode 0
12 ADD Cycles Configurable Data Data
Command
(Note 1) Dummy Cycles Out 1 Out 2
(Note 2)
Notes:
1. Please note the above address cycles are base on 3-byte address mode, for 4-byte address mode, the address
cycles will be increased.
2. Configuration Dummy cycle numbers will be different depending on the bit6 & bit7 (DC0 & DC1) setting in
configuration register.
The QREAD instruction enables quad throughput of the Serial NOR Flash in read mode. A Quad Enable (QE) bit
of status Register must be set to "1" before sending the QREAD instruction. The address is latched on rising edge
of SCLK, and data of every four bits (interleave on 4 I/O pins) shift out on the falling edge of SCLK at a maximum
frequency fQ. The first address byte can be at any location. The address is automatically increased to the next
higher address after each byte data is shifted out, so the whole memory can be read out at a single QREAD
instruction. The address counter rolls over to 0 when the highest address has been reached. Once writing QREAD
instruction, the following data out will perform as 4-bit instead of previous 1-bit.
The default read mode is 3-byte address, to access higher address (4-byte address) which requires to enter the
4-byte address read mode or to define EAR bit. To enter the 4-byte mode, please refer to "9-11. Enter 4-byte mode (EN4B)"
section.
The sequence of issuing QREAD instruction is: CS# goes low→ send QREAD instruction → 3-byte or 4-byte
address on SI → 8 dummy cycle (Default) → data out interleave on SIO3, SIO2, SIO1 & SIO0→ to end QREAD
operation can use CS# to high at any time during data out.
While Program/Erase/Write Status Register cycle is in progress, QREAD instruction is rejected without any impact
on the Program/Erase/Write Status Register current cycle.
CS#
0 1 2 3 4 5 6 7 8 9 29 30 31 32 33 38 39 40 41 42
SCLK
… …
24 ADD Cycles Configurable Data Data Data
Command
(Note 1) dummy cycles
Out 1 Out 2 Out 3
(Note 2)
High Impedance
SIO1 D5 D1 D5 D1 D5
High Impedance
SIO2 D6 D2 D6 D2 D6
High Impedance
SIO3 D7 D3 D7 D3 D7
Notes:
1. Please note the above address cycles are base on 3-byte address mode, for 4-byte address mode, the address
cycles will be increased.
2. Configuration Dummy cycle numbers will be different depending on the bit6 & bit7 (DC0 & DC1) setting in
configuration register.
The 4READ instruction enables quad throughput of the Serial NOR Flash in read mode. A Quad Enable (QE) bit
of status Register must be set to "1" before sending the 4READ instruction. The address is latched on rising edge
of SCLK, and data of every four bits (interleave on 4 I/O pins) shift out on the falling edge of SCLK at a maximum
frequency fQ. The first address byte can be at any location. The address is automatically increased to the next
higher address after each byte data is shifted out, so the whole memory can be read out at a single 4READ
instruction. The address counter rolls over to 0 when the highest address has been reached. Once writing 4READ
instruction, the following address/dummy/data out will perform as 4-bit instead of previous 1-bit.
The default read mode is 3-byte address, to access higher address (4-byte address) which requires to enter the
4-byte address read mode or to define EAR bit. To enter the 4-byte mode, please refer to "9-11. Enter 4-byte mode (EN4B)"
section.
4 x I/O Read on SPI Mode (4READ) The sequence of issuing 4READ instruction is: CS# goes low→ send 4READ
instruction→ 3-byte or 4-byte address interleave on SIO3, SIO2, SIO1 & SIO0→ 6 dummy cycles (Default) →data
out interleave on SIO3, SIO2, SIO1 & SIO0→ to end 4READ operation can use CS# to high at any time during data
out.
4 x I/O Read on QPI Mode (4READ) The 4READ instruction also support on QPI command mode. The sequence
of issuing 4READ instruction QPI mode is: CS# goes low→ send 4READ instruction→ 3-byte or 4-byte address
interleave on SIO3, SIO2, SIO1 & SIO0→ 6 dummy cycles (Default) →data out interleave on SIO3, SIO2, SIO1 &
SIO0→ to end 4READ operation can use CS# to high at any time during data out.
While Program/Erase/Write Status Register cycle is in progress, 4READ instruction is rejected without any impact
on the Program/Erase/Write Status Register current cycle.
CS#
Mode 3 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 Mode 3
SCLK
Mode 0 Mode 0
Command 6 ADD Cycles Data Data Data
Performance Out 1 Out 2 Out 3
enhance
indicator (Note 1)
Configurable
Dummy Cycle (Note 3)
Notes:
1. Hi-impedance is inhibited for the two clock cycles.
2. P7≠P3, P6≠P2, P5≠P1 & P4≠P0 (Toggling) is inhibited.
3. Configuration Dummy cycle numbers will be different depending on the bit6 & bit7 (DC0 & DC1) setting in
configuration register.
4. Please note the address cycles above are based on 3-byte address mode. For 4-byte address mode, the
address cycles will be increased.
CS#
MODE 3 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 MODE 3
SCLK
MODE 0 MODE 0
Notes:
1. Hi-impedance is inhibited for the two clock cycles.
2. P7≠P3, P6≠P2, P5≠P1 & P4≠P0 (Toggling) is inhibited.
3. Configuration Dummy cycle numbers will be different depending on the bit6 & bit 7 (DC0 & DC1) setting in
configuration register.
4. Please note the address cycles above are based on 3-byte address mode. For 4-byte address mode, the address
cycles will be increased.
The FASTDTRD instruction is for doubling reading data out, signals are triggered on both rising and falling edge of
clock. The address is latched on both rising and falling edge of SCLK, and data of each bit shifts out on both rising
and falling edge of SCLK. The 2-bit address can be latched-in at one clock, and 2-bit data can be read out at one
clock, which means one bit at rising edge of clock, the other bit at falling edge of clock. The first address byte can
be at any location.
The address is automatically increased to the next higher address after each byte data is shifted out, so the whole
memory can be read out at a single FASTDTRD instruction. The address counter rolls over to 0 when the highest
address has been reached.
The sequence of issuing FASTDTRD instruction is: CS# goes low → send FASTDTRD instruction code (1bit per
clock) → 3-byte address on SI (2-bit per clock) → 6-dummy clocks (default) on SI → data out on SO (2-bit per
clock) → to end FASTDTRD operation can use CS# to high at any time during data out.
While Program/Erase/Write Status Register cycle is in progress, FASTDTRD instruction is rejected without any
impact on the Program/Erase/Write Status Register current cycle.
CS#
Mode 3 0 7 8 19 27 28 29 30 31
SCLK
… … …
Mode 0
SO/SIO1 D7 D6 D5 D4 D3 D2 D1 D0 D7
Notes:
1. Please note the above address cycles are base on 3-byte address mode, for 4-byte address mode, the address
cycles will be increased.
2. Configuration Dummy cycle numbers will be different depending on the bit6 & bit7 (DC0 & DC1) setting in
configuration register.
The 2DTRD instruction enables Double Transfer Rate throughput on dual I/O of the Serial NOR Flash in read mode.
The address (interleave on dual I/O pins) is latched on both rising and falling edge of SCLK, and data (interleave
on dual I/O pins) shift out on both rising and falling edge of SCLK. The 4-bit address can be latched-in at one clock,
and 4-bit data can be read out at one clock, which means two bits at rising edge of clock, the other two bits at falling
edge of clock. The first address byte can be at any location.
The address is automatically increased to the next higher address after each byte data is shifted out, so the whole
memory can be read out at a single 2DTRD instruction. The address counter rolls over to 0 when the highest
address has been reached. Once writing 2DTRD instruction, the following address/dummy/ data out will perform as
4-bit instead of previous 1-bit.
The sequence of issuing 2DTRD instruction is: CS# goes low → send 2DTRD instruction (1-bit per clock) → 24-
bit address interleave on SIO1 & SIO0 (4-bit per clock) → 6-bit dummy clocks (Default) on SIO1 & SIO0 → data
out interleave on SIO1 & SIO0 (4-bit per clock) → to end 2DTRD operation can use CS# to high at any time during
data out.
While Program/Erase/Write Status Register cycle is in progress, 2DTRD instruction is rejected without any impact
on the Program/Erase/Write Status Register current cycle.
Figure 43. Fast Dual I/O DT Read (2DTRD) Sequence (SPI Only)
CS#
Mode 3 0 7 8 13 14 17 18 19 20 21
SCLK … … …
Mode 0
Notes:
1. Please note the above address cycles are base on 3-byte address mode, for 4-byte address mode, the address
cycles will be increased.
2. Configuration Dummy cycle numbers will be different depending on the bit6 & bit7 (DC0 & DC1) setting in
configuration register.
The 4DTRD instruction enables Double Transfer Rate throughput on quad I/O of the Serial NOR Flash in read
mode. A Quad Enable (QE) bit of status Register must be set to "1" before sending the 4DTRD instruction. The
address (interleave on 4 I/O pins) is latched on both rising and falling edge of SCLK, and data (interleave on 4 I/O
pins) shift out on both rising and falling edge of SCLK. The 8-bit address can be latched-in at one clock, and 8-bit
data can be read out at one clock, which means four bits at rising edge of clock, the other four bits at falling edge
of clock. The first address byte can be at any location. The address is automatically increased to the next higher
address after each byte data is shifted out, so the whole memory can be read out at a single 4DTRD instruction.
The address counter rolls over to 0 when the highest address has been reached. Once writing 4DTRD instruction,
the following address/dummy/data out will perform as 8-bit instead of previous 1-bit.
Both SPI (8 clocks) and QPI (2 clocks) command cycle can be accepted by this instruction. The SIO[3:1] are don't
care when during SPI mode.
While Program/Erase/Write Status Register cycle is in progress, 4DTRD instruction is rejected without any impact
on the Program/Erase/Write Status Register current cycle.
Figure 44. Fast Quad I/O DT Read (4DTRD) Sequence (SPI Mode)
CS#
Mode 3 0 7 8 9 10 11 16 17 18
SCLK … …
Mode 0
Command Performance
3 ADD Cycles
Enhance Indicator
Configurable
Dummy Cycle
Notes:
1. Hi-impedance is inhibited for this clock cycle.
2. P7≠P3, P6≠P2, P5≠P1 & P4≠P0 (Toggling) will result in entering the performance enhance mode.
3. Configuration Dummy cycle numbers will be different depending on the bit6 & bit 7 (DC0 & DC1) setting in
configuration register.
4. Please note the address cycles above are based on 3-byte address mode. For 4-byte address mode, the address
cycles will be increased.
Figure 45. Fast Quad I/O DT Read (4DTRD) Sequence (QPI Mode)
CS#
Mode 3 0 1 2 3 4 5 10 11 12
SCLK …
Mode 0
Command 3 ADD Cycles Performance
Enhance Indicator
Configurable
Dummy Cycle
Notes:
1. Hi-impedance is inhibited for this clock cycle.
2. P7≠P3, P6≠P2, P5≠P1 & P4≠P0 (Toggling) will result in entering the performance enhance mode.
3. Configuration Dummy cycle numbers will be different depending on the bit6 & bit 7 (DC0 & DC1) setting in
configuration register.
4. Please note the address cycles above are based on 3-byte address mode. For 4-byte address mode, the address
cycles will be increased.
The Preamble Bit data pattern supports system/memory controller to determine valid window of data output more
easily and improve data capture reliability while the flash memory is running in high frequency.
Preamble Bit data pattern can be enabled or disabled by setting the bit4 of Configuration register (Preamble bit
Enable bit). Once the CR<4> is set, the preamble bit is inputted into dummy cycles.
Enabling preamble bit will not affect the function of enhance mode bit. In Dummy cycles, performance enhance
mode bit still operates with the same function. Preamble bit will output after performance enhance mode bit.
The preamble bit is a fixed 8-bit data pattern (00110100). While dummy cycle number reaches 10, the complete
8 bits will start to output right after the performance enhance mode bit. While dummy cycle is not sufficient of 10
cycles, the rest of the preamble bits will be cut. For example, 8 dummy cycles will cause 6 preamble bits to output,
and 6 dummy cycles will cause 4 preamble bits to output.
CS#
SCK
… …
Dummy cycle
SI CMD An … A0
SO 7 6 5 4 3 2 1 0 D7 D6
…
CS#
SCK … …
Dummy cycle
SI CMD An … A0
SO 7 6 5 4 3 2 D7 D6 D5 D4 …
CS#
SCK
… …
Dummy cycle
SIO1 An … A1 7 6 5 4 3 2 1 0 D7 D5 D3 D1
…
CS#
SCK
… …
Dummy cycle
SIO1 An … A1 7 6 5 4 3 2 D7 D5 D3 D1
…
CS#
SCK … …
Dummy cycle
CMD A(n-3) … A0 7 6 5 4 3 2 1 0 D4 D0
…
SIO0
SIO1 A(n-2) … A1 7 6 5 4 3 2 1 0 D5 D1
…
SIO2 A(n-1) … A2 7 6 5 4 3 2 1 0 D6 D2 …
SIO3 An … A3 7 6 5 4 3 2 1 0 D7 D3 …
CS#
SCK
… …
Dummy cycle
SIO1 A(n-2) … A1 7 6 5 4 3 2 D5 D1
…
SIO2 A(n-1) … A2 7 6 5 4 3 2 D6 D2
…
SIO3 An … A3 7 6 5 4 3 2 D7 D3
…
CS#
SCK
… …
Dummy cycle
SI CMD An … A1 A0 7 6 5 4 3 2 1 0 7 6 5 4
SO D7 D6 D5 D4 D3 D2 D1 D0 …
CS#
SCK
… …
Dummy cycle
SIO0 CMD … A2 A0 7 6 5 4 3 2 1 0 D6 D4 D2 D0 D6 D4 D2 D0 …
A(n-1)
… A3 A1 7 6 5 4 3 2 1 0 D7 D5 D3 D1 D7 D5 D3 D1 …
SIO1
An
CS#
SCK
… …
Dummy cycle
SIO0 CMD … A2 A0 7 6 5 4 3 2 1 0 7 6 5 4 D6 D4 D2 D0 D6 D4 …
A(n-1)
… A3 A1 7 6 5 4 3 2 1 0 7 6 5 4 D7 D5 D3 D1 D7 D5 …
SIO1
An
CS#
SCK
… …
Dummy cycle
CMD
… A0 7 6 5 4 3 2 1 0 D4 D0 D4 D0 D4 D0 D4 D0 …
SIO0
A(n-3)
SIO1
… A1 7 6 5 4 3 2 1 0 D5 D1 D5 D1 D5 D1 D5 D1 …
A(n-2)
SIO2
… A2 7 6 5 4 3 2 1 0 D6 D2 D6 D2 D6 D2 D6 D2 …
A(n-1)
SIO3 … A3 7 6 5 4 3 2 1 0 D7 D3 D7 D3 D7 D3 D7 D3 …
An
The operation of 4-byte address command set was very similar to original 3-byte address command set. The
only different is all the 4-byte command set request 4-byte address (A31-A0) followed by instruction code. The
command set support 4-byte address including: READ4B, FAST_READ4B, DREAD4B, 2READ4B, QREAD4B,
4READ4B, FRDTRD4B, 2DTRD4B, 4DTRD4B, PP4B, 4PP4B, SE4B, BE32K4B, BE4B. Please note that it is not
necessary to issue EN4B command before issuing any of 4-byte command set.
Figure 56. Read Data Bytes using 4-Byte Address Sequence (READ4B)
CS#
0 1 2 3 4 5 6 7 8 9 10 36 37 38 39 40 41 42 43 44 45 46 47
SCLK
SI 13h 31 30 29 3 2 1 0
MSB
Data Out 1 Data Out 2
High Impedance
SO 7 6 5 4 3 2 1 0 7
MSB
Figure 57. Read Data Bytes at Higher Speed using 4-Byte Address Sequence (FASTREAD4B)
CS#
0 1 2 3 4 5 6 7 8 9 10 36 37 38 39
SCLK
SI 0Ch 31 30 29 3 2 1 0
High Impedance
SO
CS#
40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
SCLK
Configurable
Dummy cycles
SI 7 6 5 4 3 2 1 0
SO 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7
Note:
Configuration Dummy cycle numbers will be different depending on the bit6 & bit7 (DC0 & DC1) setting in
configuration register.
Figure 58. 2 x I/O Fast Read using 4-Byte Address Sequence (2READ4B)
CS#
Mode 3 0 1 2 3 4 5 6 7 8 9 10 21 22 23 24 25 26 27 28 29 30 31 32 33 34 Mode 3
SCLK
Mode 0 Mode 0
16 ADD Cycles Configurable Data Data
Command
Dummy Cycle Out 1 Out 2
Note:
Configuration Dummy cycle numbers will be different depending on the bit6 & bit7 (DC0 & DC1) setting in
configuration register.
Figure 59. 4 I/O Fast Read using 4-Byte Address sequence (4READ4B)
CS#
Mode 3 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 Mode 3
SCLK
Mode 0 Command 8 ADD Cycles Mode 0
Performance Data Data Data
enhance Out 1 Out 2 Out 3
indicator
Configurable
Dummy Cycle
SIO0 ECh A28 A24 A20 A16 A12 A8 A4 A P4 P0 D4 D0 D4 D0 D4 D0
Note:
1. Hi-impedance is inhibited for this clock cycle.
2. P7≠P3, P6≠P2, P5≠P1 & P4≠P0 (Toggling) will result in entering the performance enhance mode.
3. Configuration Dummy cycle numbers will be different depending on the bit6 & bit 7 (DC0 & DC1) setting in
configuration register.
CS#
Mode 3 0 7 8 23 31 32 33 34 35
SCLK
… … …
Mode 0
SO/SIO1 D7 D6 D5 D4 D3 D2 D1 D0 D7
Note:
Configuration Dummy cycle numbers will be different depending on the bit6 & bit7 (DC0 & DC1) setting in
configuration register.
Figure 61. Fast Dual I/O DT Read (2DTRD4B) Sequence (SPI Only)
CS#
Mode 3 0 7 8 15 16 19 20 21 22 23
SCLK … … …
Mode 0
Note:
Configuration Dummy cycle numbers will be different depending on the bit6 & bit7 (DC0 & DC1) setting in
configuration register.
Figure 62. Fast Quad I/O DT Read (4DTRD4B) Sequence (SPI Mode)
CS#
Mode 3 0 7 8 9 10 11 12 17 18 19
SCLK … …
Mode 0
Command Performance
4 ADD Cycles
Enhance Indicator
Configurable
Dummy Cycle
Notes:
1. Hi-impedance is inhibited for this clock cycle.
2. P7≠P3, P6≠P2, P5≠P1 & P4≠P0 (Toggling) will result in entering the performance enhance mode.
3. Configuration Dummy cycle numbers will be different depending on the bit6 & bit 7 (DC0 & DC1) setting in
configuration register.
Figure 63. Fast Quad I/O DT Read (4DTRD4B) Sequence (QPI Mode)
CS#
Mode 3 0 1 2 3 4 5 6 11 12 13
SCLK …
Mode 0
Command 4 ADD Cycles Performance
Enhance Indicator
Configurable
Dummy Cycle
Notes:
1. Hi-impedance is inhibited for this clock cycle.
2. P7≠P3, P6≠P2, P5≠P1 & P4≠P0 (Toggling) will result in entering the performance enhance mode.
3. Configuration Dummy cycle numbers will be different depending on the bit6 & bit 7 (DC0 & DC1) setting in
configuration register.
CS#
Mode 3 0 1 2 3 4 5 6 7 8 9 37 38 39
SCLK
Mode 0
Command 32-Bit Address
SI 21h 31 30 2 1 0
MSB
CS#
Mode 3 0 1 2 3 4 5 6 7 8 9 37 38 39
SCLK
Mode 0
Command 32-Bit Address
SI 5Ch 31 30 2 1 0
MSB
CS#
Mode 3 0 1 2 3 4 5 6 7 8 9 37 38 39
SCLK
Mode 0
Command 32-Bit Address
SI DCh 31 30 2 1 0
MSB
CS#
Mode 3 0 1 2 3 4 5 6 7 8 9 10 36 37 38 39 40 41 42 43 44 45 46 47
SCLK
Mode 0
Command 32-Bit Address Data Byte 1
SI 12h 31 30 29 3 2 1 0 7 6 5 4 3 2 1 0
MSB MSB
CS#
2080
2081
2082
2083
2084
2085
2086
2087
48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
SCLK
SI 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0
Figure 68. 4 x I/O Page Program (4PP4B) Sequence (SPI Mode only)
CS#
Mode 3 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
SCLK
Mode 0
Command 8 Address cycle Data Data Data Data
Byte 2 Byte 3 Byte 4 Byte 4
The device could waive the command cycle bits if the two cycle bits after address cycle toggles.
In QPI mode, “EBh” "ECh" "EDh" "EEh" and SPI “EBh” "ECh" "EDh" "EEh" commands support enhance mode. The
performance enhance mode is not supported in dual I/O mode.
To enter performance-enhancing mode, P[7:4] must be toggling with P[3:0]; likewise P[7:0]=A5h, 5Ah, F0h or 0Fh
can make this mode continue and skip the next 4READ instruction. To leave enhance mode, P[7:4] is no longer
toggling with P[3:0]; likewise P[7:0]=FFh, 00h, AAh or 55h along with CS# is afterwards raised and then lowered.
Issuing ”FFh” data cycle can also exit enhance mode. The system then will leave performance enhance mode and
return to normal operation.
To conduct the Performance Enhance Mode Reset operation in SPI mode, FFh data cycle(8 clocks in 3-byte
address mode)/3FFh data cycle(10 clocks in 4-byte address mode), should be issued in 1I/O sequence. In QPI
Mode, FFFFFFFFh data cycle(8 clocks in 3-byte address mode)/FFFFFFFFFFh data cycle (10 clocks in 4-byte
address mode), in 4I/O should be issued. If the system controller is being Reset during operation, the flash device
will return to the standard SPI operation.
After entering enhance mode, following CS# go high, the device will stay in the read mode and treat CS# go low of
the first clock as address instead of command cycle.
This sequence of issuing 4READ instruction is very useful in random access: CS# goes low→send 4READ
instruction→3-bytes or 4-bytes address interleave on SIO3, SIO2, SIO1 & SIO0 →performance enhance toggling
bit P[7:0]→ 4 dummy cycles (Default) →data out until CS# goes high → CS# goes low (The following 4READ
instruction is not allowed, hence 8 cycles of 4READ can be saved comparing to normal 4READ mode) → 3-bytes or
4-bytes random access address.
Figure 69. 4 x I/O Read Performance Enhance Mode Sequence (SPI Mode)
CS#
Mode 3 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 n
SCLK
Mode 0
Command 6 ADD Cycles Data Data Data
(Note 2) Performance Out 1 Out 2 Out n
enhance
indicator (Note 1)
Configurable
Dummy Cycle (Note 2)
CS#
Configurable
Dummy Cycle (Note 2)
Notes:
1. If not using performance enhance recommend to keep 1 or 0 in performance enhance indicator.
Reset the performance enhance mode, if P7=P3 or P6=P2 or P5=P1 or P4=P0, ex: AA, 00, FF.
2. Configuration Dummy cycle numbers will be different depending on the bit6 & bit7 (DC0 & DC1) setting in
configuration register.
3. Please note the address cycles above are based on 3-byte address mode. For 4-byte address mode, the address
cycles will be increased.
Figure 70. 4 x I/O Read Performance Enhance Mode Sequence (QPI Mode)
CS#
Mode 3 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
SCLK
Mode 0
SIO[3:0] EBh A20-
A23
A16-
A19
A12-
A15
A8-
A11
A4-
A7
A0-
A3 X X X X H0 L0 H1 L1
MSB LSB MSB LSB
P(7:4) P(3:0)
Data In
Data Out
performance
enhance
indicator
Configurable
Dummy Cycle (Note 1)
CS#
n+1 .............
SCLK
Mode 0
A20- A16- A12- A8- A4- A0-
SIO[3:0] A23 A19 A15 A11 A7 A3 X X X X H0 L0 H1 L1
P(7:4) P(3:0) MSB LSB MSB LSB
Configurable
Dummy Cycle (Note 1)
Notes:
1. Configuration Dummy cycle numbers will be different depending on the bit6 & bit7 (DC0 & DC1) setting in
configuration register.
2. Please note the address cycles above are based on 3-byte address mode. For 4-byte address mode, the address
cycles will be increased.
3. Reset the performance enhance mode, if P7=P3 or P6=P2 or P5=P1 or P4=P0, ex: AA, 00, FF.
Figure 71. 4 x I/O DT Read Performance Enhance Mode Sequence (SPI Mode)
CS#
Mode 3 0 7 8 9 10 11 16 17 18 n
SCLK … … …
Mode 0
Command Performance
3 ADD Cycles
Enhance Indicator
Configurable
Dummy Cycle
CS#
SCLK …
Mode 0
Performance
3 ADD Cycles
Enhance Indicator
Configurable
Dummy Cycle
Notes:
1. Configuration Dummy cycle numbers will be different depending on the bit6 & bit7 (DC0 & DC1) setting in
configuration register.
2. Please note the address cycles above are based on 3-byte address mode. For 4-byte address mode, the address
cycles will be increased.
3. Reset the performance enhance mode, if P7=P3 or P6=P2 or P5=P1 or P4=P0, ex: AA, 00, FF.
Figure 72. 4 x I/O DT Read Performance Enhance Mode Sequence (QPI Mode)
CS#
Mode 3 0 1 2 3 4 5 10 11 12 n
SCLK … …
Mode 0
Command 3 ADD Cycles Performance
Enhance Indicator
Configurable
Dummy Cycle
A20
SIO[3:0] EDh |
A23
A16
|
A19
A12
|
A15
A8
|
A11
A4
|
A7
A0
|
A3
P1 P0 H0 L0 H1 L1 … Hn Ln
CS#
SCLK …
Mode 0
3 ADD Cycles Performance
Enhance Indicator
Configurable
Dummy Cycle
Notes:
1. Configuration Dummy cycle numbers will be different depending on the bit6 & bit7 (DC0 & DC1) setting in
configuration register.
2. Please note the address cycles above are based on 3-byte address mode. For 4-byte address mode, the address
cycles will be increased.
3. Reset the performance enhance mode, if P7=P3 or P6=P2 or P5=P1 or P4=P0, ex: AA, 00, FF.
The Burst Read feature allows applications to fill a cache line with a fixed length of data without using multiple read
commands. Burst Read is disabled by default at power-up or reset. Burst Read is enabled by setting the Burst
Length. When the Burst Length is set, reads will wrap on the selected boundary (8/16/32/64-bytes) containing the
initial target address. For example if an 8-byte Wrap Depth is selected, reads will wrap on the 8-byte-page-aligned
boundary containing the initial read address.
To set the Burst Length, drive CS# low → send SET BURST LENGTH instruction code (C0h) → send WRAP CODE
→drive CS# high. Refer to the table below for valid 8-bit Wrap Codes and their corresponding Wrap Depth.
Data Wrap Around Wrap Depth
00h Yes 8-byte
01h Yes 16-byte
02h Yes 32-byte
03h Yes 64-byte
1xh No X
Once Burst Read is enabled, it will remain enabled until the device is power-cycled or reset. The SPI and QPI mode
4READ and 4READ4B read commands support the wrap around feature after Burst Read is enabled. To change
the wrap depth, resend the Burst Read instruction with the appropriate Wrap Code. To disable Burst Read, send the
Burst Read instruction with Wrap Code 1xh. QPI “EBh” "ECh" and SPI “EBh” "ECh" support wrap around feature
after wrap around is enabled. Both SPI (8 clocks) and QPI (2 clocks) command cycle can be accepted by this
instruction. The SIO[3:1] are don't care during SPI mode.
CS#
Mode 3 0 1 2 3 4 5 6 7 8 9 10 1 12 13 14 15
SCLK
Mode 0
SI C0h D7 D6 D5 D4 D3 D2 D1 D0
CS#
Mode 3 0 1 2 3
SCLK
Mode 0
SIO[3:0] C0h H0 L0
MSB LSB
The Fast Boot Feature provides the ability to automatically execute read operation after power on cycle or reset
without any read instruction.
A Fast Boot Register is provided on this device. It can enable the Fast Boot function and also define the number of
delay cycles and start address (where boot code being transferred). Instruction WRFBR (write fast boot register) and
ESFBR (erase fast boot register) can be used for the status configuration or alternation of the Fast Boot Register
bit. RDFBR (read fast boot register) can be used to verify the program state of the Fast Boot Register. The default
number of delay cycles is 13 cycles, and there is a 16bytes boundary address for the start of boot code access.
When CS# starts to go low, data begins to output from default address after the delay cycles (default as 13 cycles).
After CS# returns to go high, the device will go back to standard SPI mode and user can start to input command. In
the fast boot data out process from CS# goes low to CS# goes high, a minimum of one byte must be output.
Once Fast Boot feature has been enabled, the device will automatically start a read operation after power on cycle,
reset command, or hardware reset operation.
The fast Boot feature can support Single I/O and Quad I/O interface. If the QE bit of Status Register is “0”, the data
is output by Single I/O interface. If the QE bit of Status Register is set to “1”, the data is output by Quad I/O interface.
CS#
Mode 3 0 - - - - - - n n+1 n+2 n+3 n+4 n+5 n+6 n+7 n+8 n+9 n+10 n+11n+12n+13n+14n+15
SCLK
Mode 0 Delay Cycles
Don’t care or High Impedance
SI
CS#
SCLK
Mode 0
Delay Cycles Data Data Data Data
Out 1 Out 2 Out 3 Out 4
High Impedance
SIO0 4 0 4 0 4 0 4 0 4
High Impedance
SIO1 5 1 5 1 5 1 5 1 5
High Impedance
SIO2 6 2 6 2 6 2 6 2 6
High Impedance
SIO3 7 3 7 3 7 3 7 3 7
MSB
CS#
Mode 3 0 1 2 3 4 5 6 7 8 9 10 37 38 39 40 41
SCLK
Mode 0
Command
SI 16h
CS#
Mode 3 0 1 2 3 4 5 6 7 8 9 10 37 38 39
SCLK
Mode 0
Command Fast Boot Register
SI 17h 7 6 5 26 25 24
MSB
High-Z
SO
CS#
Mode 3 0 1 2 3 4 5 6 7
SCLK
Mode 0
Command
SI 18h
High-Z
SO
The Sector Erase (SE) instruction is for erasing the data of the chosen sector to be "1". The instruction is used for
any 4K-byte sector. A Write Enable (WREN) instruction must be executed to set the Write Enable Latch (WEL) bit
before sending the Sector Erase (SE). Any address of the sector (Please refer to Table 4. Memory Organization) is
a valid address for Sector Erase (SE) instruction. The CS# must go high exactly at the byte boundary (the least
significant bit of the address byte been latched-in); otherwise, the instruction will be rejected and not executed.
The default read mode is 3-byte address, to access higher address (4-byte address) which requires to enter the
4-byte address read mode or to define EAR bit. Address bits [Am-A12] (Am is the most significant address) select
the sector address.
To enter the 4-byte address mode, please refer to 9-11. Enter 4-byte mode (EN4B) section.
The sequence of issuing SE instruction is: CS# goes low→ send SE instruction code→ 3-byte or 4-byte address on
SI→ CS# goes high.
Both SPI (8 clocks) and QPI (2 clocks) command cycle can be accepted by this instruction. The SIO[3:1] are don't
care during SPI mode.
The self-timed Sector Erase Cycle time (tSE) is initiated as soon as Chip Select (CS#) goes high. The Write in
Progress (WIP) bit still can be checked while the Sector Erase cycle is in progress. The WIP sets 1 during the tSE
timing, and clears when Sector Erase Cycle is completed, and the Write Enable Latch (WEL) bit is cleared. If the
Block is protected by BP bits (WPSEL=0; Block Protect Mode) or SPB/DPB (WPSEL=1; Advanced Sector Protect
Mode), the Sector Erase (SE) instruction will not be executed on the block.
CS#
Mode 3 0 1 2 3 4 5 6 7 8 9 29 30 31
SCLK
Mode 0
Command 24-Bit Address
(Note)
MSB
Note: Please note the address cycles above are based on 3-byte address mode. For 4-byte address mode, the
address cycles will be increased.
CS#
Mode 3 0 1 2 3 4 5 6 7
SCLK
Mode 0
24-Bit Address
Command
(Note)
Note: Please note the address cycles above are based on 3-byte address mode. For 4-byte address mode, the
address cycles will be increased.
P/N: PM2018 Macronix Proprietary Rev. 1.5, July 10, 2020
76
MX66L1G45G
The Block Erase (BE32K) instruction is for erasing the data of the chosen block to be "1". The instruction is used
for 32K-byte block erase operation. A Write Enable (WREN) instruction must be executed to set the Write Enable
Latch (WEL) bit before sending the Block Erase (BE32K). Any address of the block (Please refer to Table 4. Memory
Organization) is a valid address for Block Erase (BE32K) instruction. The CS# must go high exactly at the byte
boundary (the least significant bit of address byte been latched-in); otherwise, the instruction will be rejected and not
executed.
Address bits [Am-A15] (Am is the most significant address) select the 32KB block address. The default read mode
is 3-byte address, to access higher address (4-byte address) which requires to enter the 4-byte address read mode
or to define EAR bit. To enter the 4-byte address mode, please refer to 9-11. Enter 4-byte mode (EN4B) section.
The sequence of issuing BE32K instruction is: CS# goes low→ send BE32K instruction code→ 3-byte or 4-byte
address on SI→CS# goes high.
Both SPI (8 clocks) and QPI (2 clocks) command cycle can be accepted by this instruction. The SIO[3:1] are don't
care when during SPI mode.
The self-timed Block Erase Cycle time (tBE32K) is initiated as soon as Chip Select (CS#) goes high. The Write in
Progress (WIP) bit still can be checked while during the Block Erase cycle is in progress. The WIP sets during the
tBE32K timing, and clears when Block Erase Cycle is completed, and the Write Enable Latch (WEL) bit is cleared.
If the Block is protected by BP bits (WPSEL=0; Block Protect Mode) or SPB/DPB (WPSEL=1; Advanced Sector
Protect Mode), the Block Erase (BE32K) instruction will not be executed on the block.
Mode 3 0 1 2 3 4 5 6 7 8 9 29 30 31
SCLK
Mode 0
Command 24-Bit Address
(Note)
MSB
Note: Please note the address cycles above are based on 3-byte address mode. For 4-byte address mode, the
address cycles will be increased.
CS#
Mode 3 0 1 2 3 4 5 6 7
SCLK
Mode 0
Command 24-Bit Address
(Note)
A20- A16- A12- A8- A4- A0-
SIO[3:0] 52h A23 A19 A15 A11 A7 A3
MSB
Note: Please note the address cycles above are based on 3-byte address mode. For 4-byte address mode, the
address cycles will be increased.
The Block Erase (BE) instruction is for erasing the data of the chosen block to be "1". The instruction is used
for 64K-byte block erase operation. A Write Enable (WREN) instruction must be executed to set the Write Enable
Latch (WEL) bit before sending the Block Erase (BE). Any address of the block (Please refer to Table 4. Memory
Organization) is a valid address for Block Erase (BE) instruction. The CS# must go high exactly at the byte boundary (the
least significant bit of address byte been latched-in); otherwise, the instruction will be rejected and not executed.
The default read mode is 3-byte address, to access higher address (4-byte address) which requires to enter the
4-byte address read mode or to define EAR bit. To enter the 4-byte address mode, please refer to 9-11. Enter 4-byte
mode (EN4B) section.
The sequence of issuing BE instruction is: CS# goes low→ send BE instruction code→ 3-byte or 4-byte address on
SI→ CS# goes high.
Both SPI (8 clocks) and QPI (2 clocks) command cycle can be accepted by this instruction. The SIO[3:1] are don't
care when during SPI mode.
The self-timed Block Erase Cycle time (tBE) is initiated as soon as Chip Select (CS#) goes high. The Write in
Progress (WIP) bit still can be checked while the Block Erase cycle is in progress. The WIP sets during the tBE
timing, and clears when Block Erase Cycle is completed, and the Write Enable Latch (WEL) bit is reset. If the Block
is protected by BP bits (WPSEL=0; Block Protect Mode) or SPB/DPB (WPSEL=1; Advanced Sector Protect Mode),
the Block Erase (BE) instruction will not be executed on the block.
CS#
Mode 3 0 1 2 3 4 5 6 7 8 9 29 30 31
SCLK
Mode 0
Command 24-Bit Address
(Note)
MSB
Note: Please note the address cycles above are based on 3-byte address mode. For 4-byte address mode, the
address cycles will be increased.
Figure 85. Block Erase (BE) Sequence (QPI Mode)
CS#
Mode 3 0 1 2 3 4 5 6 7
SCLK
Mode 0
Command 24-Bit Address
(Note)
Note: Please note the address cycles above are based on 3-byte address mode. For 4-byte address mode, the
address cycles will be increased.
The Chip Erase (CE) instruction is for erasing the data of the whole chip to be "1". A Write Enable (WREN)
instruction must be executed to set the Write Enable Latch (WEL) bit before sending the Chip Erase (CE). The CS#
must go high exactly at the byte boundary, otherwise the instruction will be rejected and not executed.
The sequence of issuing CE instruction is: CS# goes low→send CE instruction code→CS# goes high.
Both SPI (8 clocks) and QPI (2 clocks) command cycle can be accepted by this instruction. The SIO[3:1] are don't
care when during SPI mode.
The self-timed Chip Erase Cycle time (tCE) is initiated as soon as Chip Select (CS#) goes high. The Write in
Progress (WIP) bit still can be checked while the Chip Erase cycle is in progress. The WIP sets during the tCE
timing, and clears when Chip Erase Cycle is completed, and the Write Enable Latch (WEL) bit is cleared.
When the chip is under "Block protect (BP) Mode" (WPSEL=0). The Chip Erase (CE) instruction will not be
executed, if one (or more) sector is protected by BP3-BP0 bits. It will be only executed when BP3-BP0 all set to "0".
When the chip is under "Advances Sector Protect Mode" (WPSEL=1). The Chip Erase (CE) instruction will be
executed on unprotected block. The protected Block will be skipped. If one (or more) 4K byte sector was protected
in top or bottom 64K byte block, the protected block will also skip the chip erase command.
CS#
Mode 3 0 1 2 3 4 5 6 7
SCLK
Mode 0
Command
SI 60h or C7h
CS#
Mode 3 0 1
SCLK
Mode 0 Command
The Page Program (PP) instruction is for programming memory bits to "0". One to 256 bytes can be sent to the
device to be programmed. A Write Enable (WREN) instruction must be executed to set the Write Enable Latch (WEL)
bit before sending the Page Program (PP). If more than 256 data bytes are sent to the device, only the last 256
data bytes will be accepted and the previous data bytes will be disregarded. The Page Program instruction requires
that all the data bytes fall within the same 256-byte page. The low order address byte A[7:0] specifies the starting
address within the selected page. Bytes that will cross a page boundary will wrap to the beginning of the selected
page. The device can accept (256 minus A[7:0]) data bytes without wrapping. If 256 data bytes are going to be
programmed, A[7:0] should be set to 0.
The default read mode is 3-byte address, to access higher address (4-byte address) which requires to enter the
4-byte address read mode or to define EAR bit. To enter the 4-byte address mode, please refer to the enter 4-byte
mode (EN4B) Mode section.
The sequence of issuing PP instruction is: CS# goes low→ send PP instruction code→ 3-byte or 4-byte address on
SI→ at least 1-byte on data on SI→ CS# goes high.
The CS# must be kept to low during the whole Page Program cycle; The CS# must go high exactly at the byte
boundary( the latest eighth bit of data being latched in), otherwise the instruction will be rejected and will not be
executed.
The self-timed Page Program Cycle time (tPP) is initiated as soon as Chip Select (CS#) goes high. The Write in
Progress (WIP) bit still can be checked while the Page Program cycle is in progress. The WIP sets during the tPP
timing, and clears when Page Program Cycle is completed, and the Write Enable Latch (WEL) bit is cleared. If the
page is protected by BP bits (WPSEL=0; Block Protect Mode) or SPB/DPB (WPSEL=1; Advanced Sector Protect
Mode), the Page Program (PP) instruction will not be executed.
Both SPI (8 clocks) and QPI (2 clocks) command cycle can be accepted by this instruction. The SIO[3:1] are don't
care during SPI mode.
CS#
Mode 3 0 1 2 3 4 5 6 7 8 9 10 28 29 30 31 32 33 34 35 36 37 38 39
SCLK
Mode 0
Command 24-Bit Address Data Byte 1
(Note)
SI 02h 23 22 21 3 2 1 0 7 6 5 4 3 2 1 0
MSB MSB
CS#
2072
2073
2074
2075
2076
2077
2078
2079
40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
SCLK
SI 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0
Note: Please note the address cycles above are based on 3-byte address mode. For 4-byte address mode, the
address cycles will be increased.
CS#
Mode 3 0 1 2 3 4 5 6 7 8 9
SCLK
Mode 0
Command 24-Bit Address
(Note)
Data Byte Data Byte Data Byte Data Byte Data Byte
Data In
1 2 3 4 256
Note: Please note the address cycles above are based on 3-byte address mode. For 4-byte address mode, the
address cycles will be increased.
The Quad Page Program (4PP) instruction is for programming the memory to be "0". A Write Enable (WREN)
instruction must be executed to set the Write Enable Latch (WEL) bit and Quad Enable (QE) bit must be set to
"1" before sending the Quad Page Program (4PP). The Quad Page Programming takes four pins: SIO0, SIO1,
SIO2, and SIO3 as address and data input, which can improve programmer performance and the effectiveness of
application. The other function descriptions are as same as standard page program.
The default read mode is 3-byte address, to access higher address (4-byte address) which requires to enter the
4-byte address read mode or to define EAR bit. To enter the 4-byte address mode, please refer to "Enter 4-Byte
Address Mode" section.
The sequence of issuing 4PP instruction is: CS# goes low→ send 4PP instruction code→ 3-byte or 4-byte address
on SIO[3:0]→ at least 1-byte on data on SIO[3:0]→CS# goes high.
If the page is protected by BP bits (WPSEL=0; Block Protect Mode) or SPB/DPB (WPSEL=1; Advanced Sector
Protect Mode), the Quad Page Program (4PP) instruction will not be executed.
Figure 90. 4 x I/O Page Program (4PP) Sequence (SPI Mode only)
CS#
Mode 3 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
SCLK
Mode 0
Command 6 Address cycle Data Data Data Data
Byte 1 Byte 2 Byte 3 Byte 4
Note: Please note the address cycles above are based on 3-byte address mode. For 4-byte address mode, the
address cycles will be increased.
The Deep Power-down (DP) instruction places the device into a minimum power consumption state, Deep Power-
down mode, in which the quiescent current is reduced from ISB1 to ISB2.
The sequence of issuing DP instruction: CS# goes low→ send DP instruction code→ CS# goes high. The CS# must
go high at the byte boundary (after exactly eighth bits of the instruction code have been latched-in); otherwise the
instruction will not be executed. Both SPI (8 clocks) and QPI (2 clocks) command cycle can be accepted by this
instruction. SIO[3:1] are "don't care".
After CS# goes high there is a delay of tDP before the device transitions from Stand-by mode to Deep Power-down
mode and before the current reduces from ISB1 to ISB2. Once in Deep Power-down mode, all instructions will be
ignored except Release from Deep Power-down (RDP).
The device exits Deep Power-down mode and returns to Stand-by mode if it receives a Release from Deep Power-
down (RDP) instruction, power-cycle, or reset. Please refer to "Figure 22. Release from Deep Power-down (RDP)
Sequence (SPI Mode)" and "Figure 23. Release from Deep Power-down (RDP) Sequence (QPI Mode)".
CS#
0 1 2 3 4 5 6 7 tDP
Mode 3
SCLK
Mode 0
Command
SI B9h
CS#
tDP
Mode 3 0 1
SCLK
Mode 0
Command
SIO[3:0] B9h
The ENSO instruction is for entering the additional 4K-bit secured OTP mode. While device is in 4K-bit secured
OTP mode, main array access is not available. The additional 4K-bit secured OTP is independent from main array
and may be used to store unique serial number for system identifier. After entering the Secured OTP mode, follow
standard read or program procedure to read out the data or update data. The Secured OTP data cannot be updated
again once it is lock-down.
The sequence of issuing ENSO instruction is: CS# goes low→ sending ENSO instruction to enter Secured OTP
mode→ CS# goes high.
Both SPI (8 clocks) and QPI (2 clocks) command cycle can be accepted by this instruction. The SIO[3:1] are don't
care during SPI mode.
Please note that after issuing ENSO command user can only access secure OTP region with standard read or
program procedure. Furthermore, once security OTP is lock down, only read related commands are valid.
The EXSO instruction is for exiting the additional 4K-bit secured OTP mode.
The sequence of issuing EXSO instruction is: CS# goes low→ sending EXSO instruction to exit Secured OTP
mode→ CS# goes high.
Both SPI (8 clocks) and QPI (2 clocks) command cycle can be accepted by this instruction. The SIO[3:1] are don't
care during SPI mode.
The RDSCUR instruction is for reading the value of Security Register bits. The Read Security Register can be read
at any time (even in program/erase/write status register/write security register condition) and continuously.
The sequence of issuing RDSCUR instruction is : CS# goes low→send RDSCUR instruction→Security Register
data out on SO→ CS# goes high.
Both SPI (8 clocks) and QPI (2 clocks) command cycle can be accepted by this instruction. The SIO[3:1] are don't
care during SPI mode.
CS#
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
SCLK
command
SI 2Bh
MSB MSB
CS#
Mode 3 0 1 2 3 4 5 6 7 N
SCLK
Mode 0
SIO[3:0] 2Bh H0 L0 H0 L0 H0 L0 H0 L0
MSB LSB
Security Byte Security Byte Security Byte Security Byte
The WRSCUR instruction is for changing the values of Security Register Bits. The WREN (Write Enable) instruction
is required before issuing WRSCUR instruction. The WRSCUR instruction may change the values of bit1 (LDSO
bit) for customer to lock-down the 4K-bit Secured OTP area. Once the LDSO bit is set to "1", the Secured OTP area
cannot be updated any more.
The sequence of issuing WRSCUR instruction is :CS# goes low→ send WRSCUR instruction → CS# goes high.
Both SPI (8 clocks) and QPI (2 clocks) command cycle can be accepted by this instruction. The SIO[3:1] are don't
care during SPI mode.
The CS# must go high exactly at the boundary; otherwise, the instruction will be rejected and not executed.
CS#
Mode 3 0 1 2 3 4 5 6 7
SCLK
Mode 0
Command
SI 2Fh
High-Z
SO
CS#
Mode 3 0 1
SCLK
Mode 0 Command
SIO[3:0] 2Fh
Security Register
Write Protection Selection bit. Please reference to "9-38. Write Protection Selection (WPSEL)".
Erase Fail bit. The Erase Fail bit indicates the status of last Erase operation. The bit will be set to "1" if the erase
operation failed or the erase region is protected. It will be automatically cleared to "0" if the next erase operation
succeeds. Please note that it does not interrupt or stop any operation in the flash memory.
Program Fail bit. The Program Fail bit indicates the status of last Program operation. The bit will be set to "1" if the
program operation failed or the program region is protected. It will be automatically cleared to "0" if the next program
operation succeeds. Please note that it does not interrupt or stop any operation in the flash memory.
Erase Suspend bit. Erase Suspend Bit (ESB) indicates the status of Erase Suspend operation. Users may use
ESB to identify the state of flash memory. After the flash memory is suspended by Erase Suspend command, ESB
is set to "1". ESB is cleared to "0" after erase operation resumes.
Program Suspend bit. Program Suspend Bit (PSB) indicates the status of Program Suspend operation. Users may
use PSB to identify the state of flash memory. After the flash memory is suspended by Program Suspend command,
PSB is set to "1". PSB is cleared to "0" after program operation resumes.
Secured OTP Indicator bit. The Secured OTP indicator bit shows the secured OTP area is locked by factory or
not. When it is "0", it indicates non-factory lock; "1" indicates factory-lock.
Lock-down Secured OTP (LDSO) bit. By writing WRSCUR instruction, the LDSO bit may be set to "1" for customer
lock-down purpose. However, once the bit is set to "1" (lock-down), the LDSO bit and the 4K-bit Secured OTP area
cannot be updated any more. While device is in 4K-bit secured OTP mode, main array access is not available.
0=Block
0=normal 0 = not lock-
Protection 0=normal 0=Erase 0=Program
Program down 0 = non-
(BP) mode Erase is not is not
succeed 1 = lock-down factory
1=Advanced succeed suspended suspended
1=indicate - (cannot lock
Sector 1=indicate 1= Erase 1= Program
Program program/ 1 = factory
Protection Erase failed suspended suspended
failed erase lock
mode (default=0) (default=0) (default=0)
(default=0) OTP)
(default=0)
Non-volatile
Non-volatile Non-volatile
Volatile bit Volatile bit Volatile bit Volatile bit Volatile bit bit
bit (OTP) bit (OTP)
(OTP)
There are two write protection methods provided on this device, (1) Block Protection (BP) mode or (2) Advanced
Sector Protection mode. The protection modes are mutually exclusive. The WPSEL bit selects which protection
mode is enabled. If WPSEL=0 (factory default), BP mode is enabled and Advanced Sector Protection mode is
disabled. If WPSEL=1, Advanced Sector Protection mode is enabled and BP mode is disabled. The WPSEL
command is used to set WPSEL=1. A WREN command must be executed to set the WEL bit before sending the
WPSEL command. Please note that the WPSEL bit is an OTP bit. Once WPSEL is set to “1”, it cannot be
programmed back to “0”.
The sequence of issuing WPSEL instruction is: CS# goes low → send WPSEL instruction to enable the Advanced
Sector Protect mode → CS# goes high.
Start
(Default in BP Mode)
Set Bit 1 =0
Lock Register
Bit 2 =0
start
WREN command
RDSCUR command
Yes
WPSEL=1?
No
WPSEL disable,
block protected by BP[3:0]
WPSEL command
RDSR command
No
WIP=0?
Yes
RDSCUR command
No
WPSEL=1?
Yes
WPSEL set successfully WPSEL set fail
WPSEL enable.
Block protected by Advance Sector Protection
Advanced Sector Protection can protect individual 4KB sectors in the bottom and top 64KB of memory and protect
individual 64KB blocks in the rest of memory.
There is one non-volatile Solid Protection Bit (SPB) and one volatile Dynamic Protection Bit (DPB) assigned to each
4KB sector at the bottom and top 64KB of memory and to each 64KB block in the rest of memory. A sector or block
is write-protected from programming or erasing when its associated SPB or DPB is set to “1”. Please refer to 9-39-6.
Sector Protection States Summary Table for the sector state with the protection status of DPB/SPB bits.
There are two mutually exclusive implementations of Advanced Sector Protection: Solid Protection mode (factory
default) and Password Protection mode. Solid Protection mode permits the SPB bits to be modified after power-on
or a reset. The Password Protection mode requires a valid password before allowing the SPB bits to be modified.
The figure below is an overview of Advanced Sector Protection.
Start
SPBLK = 1
Sector Array
DPB=1 sector protect SPB=1 Write Protect
DPB 0 SA 0 SPB 0
DPB 1 SA 1 SPB 1
DPB 2 SA 2 SPB 2
: : :
: : :
DPB N SA N SPB N
The Lock Register is a 16-bit one-time programmable register. Lock Register bits [2:1] select between Solid
Protection mode and Password Protection mode. When both bits are “1” (factory default), Solid Protection mode
is enabled by default. The Lock Register is programmed using the WRLR (Write Lock Register) command.
Programming Lock Register bit 1 to “0” permanently selects Solid Protection mode and permanently disables
Password Protection mode. Conversely, programming bit 2 to “0” permanently selects Password Protection mode
and permanently disables Solid Protection mode. Bits 1 and 2 cannot be programmed to “0” at the same time
otherwise the device will abort the operation. A WREN command must be executed to set the WEL bit before
sending the WRLR command.
A password must be set prior to selecting Password Protection mode. The password can be set by issuing the
WRPASS command.
CS#
Mode 3 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
SCLK
Mode 0
command
SI 2Dh
MSB MSB
CS#
Mode 3 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
SCLK
Mode 0
Command Lock Register In
SI 2Ch 7 6 5 4 3 2 1 0 15 14 13 12 11 10 9 8
High-Z MSB
SO
The SPB Lock Bit (SPBLK) is a volatile bit located in bit 0 of the SPB Lock Register. The SPBLK bit controls whether
the SPB bits can be modified or not. If SPBLK=1, the SPB bits are unprotected and can be modified. If SPBLK=0,
the SPB bits are protected (“locked”) and cannot be modified. The power-on and reset status of the SPBLK bit is
determined by Lock Register bits [2:1]. Refer to Table 15. SPB Lock Register for SPBLK bit default power-on status.
The RDSPBLK command can be used to read the SPB Lock Register to determine the state of the SPBLK bit.
In Solid Protection mode, the SPBLK bit defaults to “1” after power-on or reset. When SPBLK=1, the SPB bits are
unprotected (“unlocked”) and can be modified. The SPB Lock Bit Set command can be used to write the SPBLK bit to “0”
and protect the SPB bits. A WREN command must be executed to set the WEL bit before sending the SPB Lock Bit
Set command. Once the SPBLK has been written to “0”, there is no command to set the bit back to “1”. A power-on
cycle or hardware reset is required to set the SPB lock bit back to “1”.
In Password Protection mode, the SPBLK bit defaults to “0” after power-on or reset. A valid password must
be provided to set the SPBLK bit to “1” to allow the SPBs to be modified. After the SPBs have been set to the
desired status, use the SPB Lock Bit Set command to clear the SPBLK bit back to “0” in order to prevent further
modification.
CS#
Mode 3 0 1 2 3 4 5 6 7
SCLK
Mode 0
Command
SI A6h
High-Z
SO
CS#
Mode 3 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
SCLK
Mode 0
command
SI A7h
MSB MSB
The Solid Protection Bits (SPBs) are nonvolatile bits for enabling or disabling write-protection to sectors and blocks.
The SPB bits have the same endurance as the Flash memory. An SPB is assigned to each 4KB sector in the bottom
and top 64KB of memory and to each 64KB block in the remaining memory. The factory default state of the SPB bits
is “0”, which has the sector/block write-protection disabled.
When an SPB is set to “1”, the associated sector or block is write-protected. Program and erase operations on the
sector or block will be inhibited. SPBs can be individually set to “1” by the WRSPB command. However, the SPBs
cannot be individually cleared to “0”. Issuing the ESSPB command clears all SPBs to “0”. A WREN command must
be executed to set the WEL bit before sending the WRSPB or ESSPB command.
The SPBLK bit must be “1” before any SPB can be modified. In Solid Protection mode the SPBLK bit defaults to “1”
after power-on or reset. Under Password Protection mode, the SPBLK bit defaults to “0” after power-on or reset, and
a PASSULK command with a correct password is required to set the SPBLK bit to “1”.
The SPB Lock Bit Set command clears the SPBLK bit to “0”, locking the SPB bits from further modification.
The RDSPB command reads the status of the SPB of a sector or block. The RDSPB command returns 00h if the
SPB is “0”, indicating write-protection is disabled. The RDSPB command returns FFh if the SPB is “1”, indicating
write-protection is enabled.
Note: If SPBLK=0, commands to set or clear the SPB bits will be ignored.
CS#
Mode 3 0 1 2 3 4 5 6 7 8 9 37 38 39 40 41 42 43 44 45 46 47
SCLK
Mode 0
Command 32-Bit Address
MSB
Data Out
High-Z
SO 7 6 5 4 3 2 1 0
MSB
CS#
Mode 3 0 1 2 3 4 5 6 7
SCLK
Mode 0
Command
SI E4h
High-Z
SO
CS#
Mode 3 0 1 2 3 4 5 6 7 8 9 37 38 39
SCLK
Mode 0
Command 32-Bit Address
MSB
The Dynamic Protection Bits (DPBs) are volatile bits for quickly and easily enabling or disabling write-protection
to sectors and blocks. A DPB is assigned to each 4KB sector in the bottom and top 64KB of memory and to each
64KB block in the rest of the memory. The DBPs can enable write-protection on a sector or block regardless of the
state of the corresponding SPB. However, the DPB bits can only unprotect sectors or blocks whose SPB bits are “0”
(unprotected).
When a DPB is “1”, the associated sector or block will be write-protected, preventing any program or erase
operation on the sector or block. All DPBs default to “1” after power-on or reset. When a DPB is cleared to “0”, the
associated sector or block will be unprotected if the corresponding SPB is also “0”.
DPB bits can be individually set to “1” or “0” by the WRDPB command. The DBP bits can also be globally cleared to
“0” with the GBULK command or globally set to “1” with the GBLK command. A WREN command must be executed
to set the WEL bit before sending the WRDPB, GBULK, or GBLK command.
The RDDPB command reads the status of the DPB of a sector or block. The RDDPB command returns 00h if the
DPB is “0”, indicating write-protection is disabled. The RDDPB command returns FFh if the DPB is “1”, indicating
write-protection is enabled.
CS#
Mode 3 0 1 2 3 4 5 6 7 8 9 37 38 39 40 41 42 43 44 45 46 47
SCLK
Mode 0
Command 32-Bit Address
MSB
Data Out
High-Z
SO 7 6 5 4 3 2 1 0
MSB
CS#
Mode 3 0 1 2 3 4 5 6 7 8 9 37 38 39 40 41 42 43 44 45 46 47
SCLK
Mode 0
Command 32-Bit Address Data Byte 1
These instructions are only effective if WPSEL=1. The GBLK and GBULK instructions provide a quick method to set
or clear all DPB bits at once.
The WREN (Write Enable) instruction is required before issuing the GBLK/GBULK instruction.
The sequence of issuing GBLK/GBULK instruction is: CS# goes low → send GBLK/GBULK (7Eh/98h) instruction
→CS# goes high.
The GBLK and GBULK commands are accepted in both SPI and QPI mode.
The CS# must go high exactly at the byte boundary, otherwise, the instruction will be rejected and not be executed.
Password Protection mode potentially provides a higher level of security than Solid Protection mode. In Password
Protection mode, the SPBLK bit defaults to “0” after a power-on cycle or reset. When SPBLK=0, the SPBs are
locked and cannot be modified. A 64-bit password must be provided to unlock the SPBs.
The PASSULK command with the correct password will set the SPBLK bit to “1” and unlock the SPB bits. After the
correct password is given, a wait of 2us is necessary for the SPB bits to unlock. The Status Register WIP bit will
clear to “0” upon completion of the PASSULK command. Once unlocked, the SPB bits can be modified. A WREN
command must be executed to set the WEL bit before sending the PASSULK command.
Several steps are required to place the device in Password Protection mode. Prior to entering the Password
Protection mode, it is necessary to set the 64-bit password and verify it. The WRPASS command writes the
password and the RDPASS command reads back the password. Password verification is permitted until the
Password Protection Mode Lock Bit has been written to “0”. Password Protection mode is activated by programming
the Password Protection Mode Lock Bit to “0”. This operation is not reversible. Once the bit is programmed, it
cannot be erased. The device remains permanently in Password Protection mode and the 64-bit password can
neither be retrieved nor reprogrammed..
The password is all “1’s” when shipped from the factory. The WRPASS command can only program password bits to “0”.
The WRPASS command cannot program “0’s” back to “1’s”. All 64-bit password combinations are valid password
options. A WREN command must be executed to set the WEL bit before sending the WRPASS command.
● The unlock operation will fail if the password provided by the PASSULK command does not match the stored
password. This will set the P_FAIL bit to “1” and insert a 100us ± 20us delay before clearing the WIP bit to “0”.
● The PASSULK command is prohibited from being executed faster than once every 100us ± 20us. This restriction
makes it impractical to attempt all combinations of a 64-bit password (such an effort would take ~58 million
years). Monitor the WIP bit to determine whether the device has completed the PASSULK command.
● When a valid password is provided, the PASSULK command does not insert the 100us delay before returning
the WIP bit to zero. The SPBLK bit will set to “1” and the P_FAIL bit will be “0”.
● It is not possible to set the SPBLK bit to “1” if the password had not been set prior to the Password Protection
mode being selected.
CS#
Mode 3 0 1 2 3 4 5 6 7 8 9 69 70 71 72 73
SCLK
Mode 0
Command
SI 27h
CS#
Mode 3 0 1 2 3 4 5 6 7 8 9 69 70 71
SCLK
Mode 0
Command Password
SI 28h 7 6 58 57 56
MSB
High-Z
SO
CS#
Mode 3 0 1 2 3 4 5 6 7 8 9 69 70 71
SCLK
Mode 0
Command Password
SI 29h 7 6 58 57 56
MSB
High-Z
SO
The device allow the interruption of Sector-Erase, Block-Erase or Page-Program operations and conduct other
operations.
After issue suspend command, the system can determine if the device has entered the Erase-Suspended mode
through Bit2 (PSB) and Bit3 (ESB) of security register. (please refer to Table 13. Security Register Definition)
Both SPI (8 clocks) and QPI (2 clocks) command cycle can be accepted by this instruction. The SIO[3:1] are don't
care during SPI mode.
Erase suspend allow the interruption of all erase operations. After the device has entered Erase-Suspended mode,
the system can read any sector(s) or Block(s) except those being erased by the suspended erase operation.
Reading the sector or Block being erase suspended is invalid.
After erase suspend, WEL bit will be clear, only read related, resume and reset command can be accepted. (including:
03h, 0Bh, 3Bh, 6Bh, BBh, EBh, ECh, EDh, EEh, 0Ch, BCh, 3Ch, 5Ah, C0h, 06h, 04h, 2Bh, 9Fh, AFh, 05h, ABh,
90h, B1h, C1h, B0h, 30h, 66h, 99h, 00h, 35h, F5h, 15h, 2Dh, 27h, A7h, E2h, E0h, 16h)
If the system issues an Erase Suspend command after the sector erase operation has already begun, the device
will not enter Erase-Suspended mode until tESL has elapsed.
Erase Suspend Bit (ESB) indicates the status of Erase Suspend operation. Users may use ESB to identify the state
of flash memory. After the flash memory is suspended by Erase Suspend command, ESB is set to "1". ESB is
cleared to "0" after erase operation resumes.
Program suspend allows the interruption of all program operations. After the device has entered Program-
Suspended mode, the system can read any sector(s) or Block(s) except those being programmed by the suspended
program operation. Reading the sector or Block being program suspended is invalid.
After program suspend, WEL bit will be cleared, only read related, resume and reset command can be accepted.
(including: 03h, 0Bh, 3Bh, 6Bh, BBh, EBh, ECh, EDh, EEh, 0Ch, BCh, 3Ch, 5Ah, C0h, 06h, 04h, 2Bh, 9Fh, AFh,
05h, ABh, 90h, B1h, C1h, B0h, 30h, 66h, 99h, 00h, 35h, F5h, 15h, 2Dh, 27h, A7h, E2h, E0h, 16h)
Program Suspend Bit (PSB) indicates the status of Program Suspend operation. Users may use PSB to identify the
state of flash memory. After the flash memory is suspended by Program Suspend command, PSB is set to "1". PSB
is cleared to "0" after program operation resumes.
tPSL / tESL
Suspend Command Read Command
CS#
tPRS / tERS
Resume Command Suspend Command
CS#
9-43. Write-Resume
The Write operation is being resumed when Write-Resume instruction issued. ESB or PSB (suspend status bit) in
Status register will be changed back to “0”.
The operation of Write-Resume is as follows: CS# drives low → send write resume command cycle (30h) → drive
CS# high. By polling Busy Bit in status register, the internal write operation status could be checked to be completed
or not. The user may also wait the time lag of tSE, tBE, tPP for Sector-erase, Block-erase or Page-programming.
WREN (command "06h") is not required to issue before resume. Resume to another suspend operation requires
latency time of tPRS or tERS.
Please note that, if "performance enhance mode" is executed during suspend operation, the device can not be
resume. To restart the write command, disable the "performance enhance mode" is required. After the "performance
enhance mode" is disable, the write-resume command is effective.
The “No Operation” command is only able to terminate the Reset Enable (RSTEN) command and will not affect any
other command.
Both SPI (8 clocks) and QPI (2 clocks) command cycle can be accepted by this instruction. The SIO[3:1] are don't
care during SPI mode.
The Software Reset operation combines two instructions: Reset-Enable (RSTEN) command and Reset (RST)
command. It returns the device to standby mode. All the volatile bits and settings will be cleared then, which makes
the device return to the default status as power on.
To execute Reset command (RST), the Reset-Enable (RSTEN) command must be executed first to perform the
Reset operation. If there is any other command to interrupt after the Reset-Enable command, the Reset-Enable will
be invalid.
Both SPI (8 clocks) and QPI (2 clocks) command cycle can be accepted by this instruction. The SIO[3:1] are don't
care during SPI mode.
If the Reset command is executed during program or erase operation, the operation will be disabled, the data under
processing could be damaged or lost.
The reset time is different depending on the last operation. For details, please refer to Table 23. Reset Timing-(Other
Operation) for tREADY2.
Stand-by Mode
CS# 66 99
tREADY2
Mode
tSHSL
CS#
Mode 3 Mode 3
Command Command
tSHSL
CS#
The Serial Flash Discoverable Parameter (SFDP) standard provides a consistent method of describing the functional
and feature capabilities of serial flash devices in a standard set of internal parameter tables. These parameter tables
can be interrogated by host system software to enable adjustments needed to accommodate divergent features
from multiple vendors. The concept is similar to the one found in the Introduction of JEDEC Standard, JESD68 on
CFI.
The sequence of issuing RDSFDP instruction is CS# goes low→send RDSFDP instruction (5Ah)→send 3 address
bytes on SI pin→send 1 dummy byte on SI pin→read SFDP code on SO→to end RDSFDP operation can use CS#
to high at any time during data out.
CS#
0 1 2 3 4 5 6 7 8 9 10 28 29 30 31
SCLK
SI 5Ah 23 22 21 3 2 1 0
High-Z
SO
CS#
32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
SCLK
Dummy Cycle
SI 7 6 5 4 3 2 1 0
SO 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7
Instruction for Erase Type 1 FFh=not supported C4h 07:00 21h 21h
Instruction for Erase Type 2 FFh=not supported C5h 15:08 5Ch 5Ch
Instruction for Erase Type 3 FFh=not supported C6h 23:16 DCh DCh
Instruction for Erase Type 4 FFh=not supported C7h 31:24 FFh FFh
10. RESET
Driving the RESET# pin low for a period of tRLRH or longer will reset the device. After the reset cycle, the device is
in the following states:
- Standby mode
- All the volatile bits such as WEL/WIP/SRAM lock bit will return to the default status as power on.
- 3-byte address mode
If the device is under programming or erasing, driving the RESET# pin low will also terminate the operation and data
could be lost. During the resetting cycle, the SO data becomes high impedance and the current will be reduced to
minimum.
CS#
tRHSL
SCLK
tRH tRS
RESET#
tRLRH
tREADY1 / tREADY2
The device must not be selected during power-up and power-down stage until the VCC reaches the following levels:
- VCC minimum at power-up stage and then after a delay of tVSL
- GND at power-down
Please note that a pull-up resistor on CS# may ensure a safe and proper power-up/down level.
An internal power-on reset (POR) circuit may protect the device from data corruption and inadvertent data change
during power up state. When VCC is lower than VWI (POR threshold voltage value), the internal logic is reset and
the flash device has no response to any command.
For further protection on the device, if the VCC does not reach the VCC minimum level, the correct operation is not
guaranteed. The write, erase, and program command should be sent after the below time delay:
- tVSL after VCC reached VCC minimum level
The device can accept read command after VCC reached VCC minimum and a time delay of tVSL.
Please refer to the Figure 126. Power-up Timing.
Note:
- To stabilize the VCC level, the VCC rail decoupled by a suitable capacitor close to package pins is
recommended. (generally around 0.1uF)
- At power-down stage, the VCC drops below VWI level, all operations are disable and device has no response to
any command. The data corruption might occur during this stage if a write, program, erase cycle is in progress.
RATING VALUE
Ambient Operating Temperature Industrial grade -40°C to 85°C
Storage Temperature -65°C to 150°C
Applied Input Voltage -0.5V to VCC+0.5V
Applied Output Voltage -0.5V to VCC+0.5V
VCC to Ground Potential -0.5V to 4.0V
NOTICE:
1. Stresses greater than those listed under ABSOLUTE MAXIMUM RATINGS may cause permanent damage
to the device. This is stress rating only and functional operational sections of this specification is not implied.
Exposure to absolute maximum rating conditions for extended period may affect reliability.
2. Specifications contained within the following tables are subject to change.
3. During voltage transitions, all pins may overshoot to VCC+2.0V or -2.0V for period up to 20ns.
Figure 119. Maximum Negative Overshoot Waveform Figure 120. Maximum Positive Overshoot Waveform
Vss
Vcc + 2.0V
Vss-2.0V
Vcc
20ns
20ns 20ns
0.8VCC
0.7VCC AC
Measurement 0.5VCC
0.8V Level
0.2VCC
CL
25K ohm
tCLCH tCHCL
VIH (Min.)
0.5VCC
VIL (Max.)
tCH tCL
1/fSCLK
f=84MHz,
30 mA SCLK=0.1VCC/0.9VCC,
SO=Open
Notes:
1. Typical values at VCC = 3.3V, T = 25°C. These currents are valid for all product versions (package and speeds).
2. Typical value is calculated by simulation.
Notes:
1. tCH + tCL must be greater than or equal to 1/ Frequency.
2. Typical values given for TA=25°C. Not 100% tested.
3. Only applicable as a constraint for a WRSR instruction when SRWD is set at 1.
4. Test condition is shown as Figure 121 and Figure 122.
5. While programming consecutive bytes, Page Program instruction provides optimized timings by selecting to
program the whole 256 bytes or only a few bytes between 1~256 bytes.
6. “n”=how many bytes to program and the formula is for n≥2(while n=1, user should follow tBP value). The
number of (n/16) will be round up to next integer. In the formula, while n=1, byte program time=32us. While
n=17, byte program time=48us.
7. For tCLQV, please note that the output driver strength (ODS2, ODS1, ODS0) bits must be configured correctly
according to Table 9. Output Driver Strength Table.
8. Latency time is required to complete Erase/Program Suspend operation until WIP bit is "0".
9. For tPRS, minimum timing must be observed before issuing the next program suspend command. However, a
period equal to or longer than the typical timing is required in order for the program operation to make progress.
10. For tERS, minimum timing must be observed before issuing the next erase suspend command. However, a
period equal to or longer than the typical timing is required in order for the erase operation to make progress.
11. Not 100% tested.
12. The value guaranteed by characterization, not 100% tested in production.
AC timing illustrated in Figure 124 and Figure 125 are for the supply voltages and the control signals at device power-
up and power-down. If the timing in the figures is ignored, the device will not operate correctly.
During power-up and power-down, CS# needs to follow the voltage applied on VCC to keep the device not to be
selected. The CS# can be driven low when VCC reach Vcc(min.) and wait a period of tVSL.
VCC(min)
VCC
GND tVR tSHSL
CS#
tCHSL tSLCH tCHSH tSHCH
SCLK
RESET# tCHCL
tDVCH
tCHDX tCLCH
MSB IN LSB IN
SI
High Impedance
SO
During power-down, CS# needs to follow the voltage drop on VCC to avoid mis-operation.
VCC
CS#
SCLK
VCC
VCC(max)
VCC(min)
VWI
time
When powering down the device, VCC must drop below VPWD for at least tPWD to ensure the device will initialize
correctly during power up. Please refer to "Figure 127. Power Up/Down and Voltage Drop" and "Table 28. Power-Up/Down
Voltage and Timing" below for more details.
VCC
VCC (max.)
VCC (min.)
VPWD (max.)
tPWD
Time
The device is delivered with the memory array erased: all bits are set to 1 (each byte contains FFh). The Status
Register contains 00h (all Status Register bits are 0).
Notice:
1. Factory Mode must be operated in 20°C to 45°C and VCC 3.0V-3.6V.
2. The Maximum Erase/Program cycles should not exceed 50 cycles.
3. During factory mode, Suspend command (B0h) cannot be executed.
24-Ball BGA
MX66L1G45GXDI-10G -40°C to 85°C
(5x5 ball array)
24-Ball BGA
MX66L1G45GXDI-08G -40°C to 85°C Support Factory Mode
(5x5 ball array)
MX 66 L 1G45G M I 10 G
OPTION:
G: RoHS Compliant & Halogen-free
Factory Mode:
10: Not support
08: Support
TEMPERATURE RANGE:
I: Industrial (-40°C to 85°C)
PACKAGE:
M: 16-SOP (300mil)
XD: 24-Ball BGA (5x5 ball array)
TYPE:
L: 3V
DEVICE:
66: Serial NOR Flash with stacked die
Except for customized products which has been expressly identified in the applicable agreement, Macronix's
products are designed, developed, and/or manufactured for ordinary business, industrial, personal, and/or
household applications only, and not for use in any applications which may, directly or indirectly, cause death,
personal injury, or severe property damages. In the event Macronix products are used in contradicted to their
target usage above, the buyer shall take any and all actions to ensure said Macronix's product qualified for its
actual use in accordance with the applicable laws and regulations; and Macronix as well as it’s suppliers and/or
distributors shall be released from any and all liability arisen therefrom.
Copyright© Macronix International Co., Ltd. 2013-2020. All rights reserved, including the trademarks and
tradename thereof, such as Macronix, MXIC, MXIC Logo, MX Logo, Integrated Solutions Provider, Nbit,
Macronix NBit, HybridNVM, HybridFlash, HybridXFlash, XtraROM, KH Logo, BE-SONOS, KSMC, Kingtech,
MXSMIO, Macronix vEE, RichBook, Rich TV, OctaBus, FitCAM, ArmorFlash. The names and brands of third
party referred thereto (if any) are for identification purposes only.
For the contact and order information, please visit Macronix’s Web site at: http://www.macronix.com
MACRONIX INTERNATIONAL CO., LTD. reserves the right to change product and specifications without notice.
135