MX25L12873F MX25L12873F DATASHEET P/N: PM1914 MX25L12873F Contents 1. FEATURES............................................................................................................................................................... 4 2. GENERAL DESCRIPTION...................................................................................................................................... 6 Table 1. Read performance Comparison.....................................................................................................6 3. PIN CONFIGURATIONS .......................................................................................................................................... 7 4. PIN DESCRIPTION................................................................................................................................................... 7 5. BLOCK DIAGRAM.................................................................................................................................................... 8 6. DATA PROTECTION................................................................................................................................................. 9 Table 2. Protected Area Sizes....................................................................................................................10 Table 3. 4K-bit Secured OTP Definition..................................................................................................... 11 7. Memory Organization............................................................................................................................................ 12 Table 4. Memory Organization...................................................................................................................12 8. DEVICE OPERATION............................................................................................................................................. 13 8-1. Quad Peripheral Interface (QPI) Read Mode........................................................................................... 15 9. COMMAND DESCRIPTION.................................................................................................................................... 16 9-1. 9-2. 9-3. 9-4. 9-5. 9-6. 9-7. 9-8. 9-9. 9-10. 9-11. 9-12. 9-13. 9-14. 9-15. 9-16. 9-17. 9-18. 9-19. 9-20. 9-21. 9-22. 9-23. 9-24. P/N: PM1914 Table 5. Command Set...............................................................................................................................16 Write Enable (WREN)............................................................................................................................... 20 Write Disable (WRDI)................................................................................................................................ 21 Read Identification (RDID)........................................................................................................................ 22 Release from Deep Power-down (RDP), Read Electronic Signature (RES)............................................ 23 Read Electronic Manufacturer ID & Device ID (REMS)............................................................................ 25 QPI ID Read (QPIID)................................................................................................................................ 26 Table 6. ID Definitions ...............................................................................................................................26 Read Status Register (RDSR).................................................................................................................. 27 Read Configuration Register (RDCR)....................................................................................................... 28 Table 7. Configuration Register Table........................................................................................................32 Write Status Register (WRSR).................................................................................................................. 34 Table 8. Protection Modes..........................................................................................................................35 Read Data Bytes (READ)......................................................................................................................... 37 Read Data Bytes at Higher Speed (FAST_READ)................................................................................... 38 Dual Output Read Mode (DREAD)........................................................................................................... 39 2 x I/O Read Mode (2READ).................................................................................................................... 40 Quad Read Mode (QREAD)..................................................................................................................... 41 4 x I/O Read Mode (4READ).................................................................................................................... 42 Burst Read................................................................................................................................................ 44 Performance Enhance Mode.................................................................................................................... 45 Performance Enhance Mode Reset ......................................................................................................... 48 Fast Boot.................................................................................................................................................. 49 Sector Erase (SE)..................................................................................................................................... 52 Block Erase (BE32K)................................................................................................................................ 53 Block Erase (BE)...................................................................................................................................... 54 Chip Erase (CE)........................................................................................................................................ 55 Page Program (PP).................................................................................................................................. 56 2 REV. 1.1, OCT. 31, 2013 MX25L12873F 9-25. 9-26. 9-27. 9-28. 9-29. 9-30. 4 x I/O Page Program (4PP)..................................................................................................................... 58 Deep Power-down (DP)............................................................................................................................ 59 Enter Secured OTP (ENSO)..................................................................................................................... 60 Exit Secured OTP (EXSO)........................................................................................................................ 60 Read Security Register (RDSCUR).......................................................................................................... 60 Write Security Register (WRSCUR).......................................................................................................... 60 Table 9. Security Register Definition..........................................................................................................61 9-31. Write Protection Selection (WPSEL)......................................................................................................... 62 9-32. Advanced Sector Protection..................................................................................................................... 64 9-33. Password Protection Mode....................................................................................................................... 71 9-34. Program/Erase Suspend/Resume............................................................................................................ 73 9-35. Erase Suspend......................................................................................................................................... 73 9-36. Program Suspend..................................................................................................................................... 73 9-37.Write-Resume........................................................................................................................................... 75 9-38. No Operation (NOP)................................................................................................................................. 75 9-39. Software Reset (Reset-Enable (RSTEN) and Reset (RST)).................................................................... 75 9-40. Read SFDP Mode (RDSFDP)................................................................................................................... 77 Table 10. Signature and Parameter Identification Data Values .................................................................78 Table 11. Parameter Table (0): JEDEC Flash Parameter Tables...............................................................79 Table 12. Parameter Table (1): Macronix Flash Parameter Tables............................................................81 10. RESET.................................................................................................................................................................. 83 Table 13. Reset Timing-(Power On)...........................................................................................................83 Table 14. Reset Timing-(Other Operation).................................................................................................83 11. POWER-ON STATE.............................................................................................................................................. 84 12. ELECTRICAL SPECIFICATIONS......................................................................................................................... 85 Table 15. ABSOLUTE MAXIMUM RATINGS.............................................................................................85 Table 16. CAPACITANCE TA = 25°C, f = 1.0 MHz.....................................................................................85 Table 17. DC CHARACTERISTICS ..........................................................................................................87 Table 18. AC CHARACTERISTICS ..........................................................................................................88 13. OPERATING CONDITIONS.................................................................................................................................. 89 Table 19. Power-Up/Down Voltage and Timing..........................................................................................91 13-1. INITIAL DELIVERY STATE....................................................................................................................... 91 14. ERASE AND PROGRAMMING PERFORMANCE............................................................................................... 92 15. DATA RETENTION............................................................................................................................................... 92 16. LATCH-UP CHARACTERISTICS......................................................................................................................... 92 17. ORDERING INFORMATION................................................................................................................................. 93 18. PART NAME DESCRIPTION................................................................................................................................ 94 19. PACKAGE INFORMATION................................................................................................................................... 95 20. REVISION HISTORY ............................................................................................................................................ 98 P/N: PM1914 3 REV. 1.1, OCT. 31, 2013 MX25L12873F 3V 128M-BIT [x 1/x 2/x 4] CMOS MXSMIO (SERIAL MULTI I/O) FLASH MEMORY 1. FEATURES GENERAL • Serial Peripheral Interface compatible -- Mode 0 and Mode 3 • Single Power Supply Operation - 2.7 to 3.6 volt for read, erase, and program operations • 128Mb: 134,217,728 x 1 bit structure or 67,108,864 x 2 bits (two I/O mode) structure or 33,554,432 x 4 bits (four I/O mode) structure • Protocol Support - Single I/O, Dual I/O and Quad I/O • Latch-up protected to 100mA from -1V to Vcc +1V • Low Vcc write inhibit is from 2.3V to 2.5V • Fast read for SPI mode - Support clock frequency up to 133MHz for all protocols - Support Fast Read, 2READ, DREAD, 4READ, QREAD instructions. - Configurable dummy cycle number for fast read operation • Default Quad I/O enable (QE bit=1), and can not be change • Quad Peripheral Interface (QPI) available • Equal Sectors with 4K byte each, or Equal Blocks with 32K byte each or Equal Blocks with 64K byte each - Any Block can be erased individually • Programming : - 256byte page buffer - Quad Input/Output page program(4PP) to enhance program performance • Typical 100,000 erase/program cycles • 20 years data retention SOFTWARE FEATURES • Input Data Format - 1-byte Command code • Advanced Security Features - Block lock protection The BP0-BP3 and T/B status bit defines the size of the area to be protection against program and erase instructions - Advanced sector protection function (Solid and Password Protect) • Additional 4K bit security OTP - Features unique identifier - factory locked identifiable, and customer lockable • Command Reset • Program/Erase Suspend and Resume operation • Electronic Identification - JEDEC 1-byte manufacturer ID and 2-byte device ID - RES command for 1-byte Device ID - REMS command for 1-byte manufacturer ID and 1-byte device ID • Support Serial Flash Discoverable Parameters (SFDP) mode HARDWARE FEATURES • SCLK Input - Serial clock input P/N: PM1914 4 REV. 1.1, OCT. 31, 2013 MX25L12873F • SI/SIO0 - Serial Data Input or Serial Data Input/Output for 2 x I/O read mode and 4 x I/O read mode • SO/SIO1 - Serial Data Output or Serial Data Input/Output for 2 x I/O read mode and 4 x I/O read mode • SIO2 - Serial data Input & Output for 4 x I/O read mode • SIO3 - Serial data input & Output for 4 x I/O read mode • PACKAGE - 8-pin SOP (200mil) - 16-pin SOP (300mil) - 8-land WSON (6x5mm) - All devices are RoHS Compliant and Halogen-free P/N: PM1914 5 REV. 1.1, OCT. 31, 2013 MX25L12873F 2. GENERAL DESCRIPTION MX25L12873F is 128Mb bits serial Flash memory, which is configured as 16,777,216 x 8 internally. When it is in two or four I/O mode, the structure becomes 67,108,864 bits x 2 or 33,554,432 bits x 4. MX25L12873F feature 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 pin, SO pin, become SIO0 pin, SIO1 pin, SIO2 pin and SIO3 pin for address/dummy bits input and data output. The MX25L12873F MXSMIO (Serial Multi I/O) provides sequential read operation on 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 for erase command is executed on sector (4K-byte), block (32K-byte), or block (64K-byte), 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 see security features section for more details. When the device is not in operation and CS# is high, it is put in standby mode. The MX25L12873F utilizes Macronix's proprietary memory cell, which reliably stores memory contents even after 100,000 program and erase cycles. Table 1. Read performance Comparison Numbers of Dummy Cycles Fast Read (MHz) Dual Output Fast Read (MHz) Quad Output Fast Read (MHz) Dual IO Fast Read (MHz) Quad IO Fast Read (MHz) 4 - - - 84* 70 6 104 104 84 104 84* 8 104* 104* 104* 104 104 10 133 133 133 133 133 Note: * mean default status P/N: PM1914 6 REV. 1.1, OCT. 31, 2013 MX25L12873F 4. PIN DESCRIPTION 3. PIN CONFIGURATIONS 8-PIN SOP (200mil) SYMBOL CS# 1 2 3 4 CS# SO/SIO1 SIO2 GND 8 7 6 5 VCC SIO3 SCLK SI/SIO0 SI/SIO0 SO/SIO1 16-PIN SOP (300mil) SIO3 VCC RESET# NC NC NC CS# SO/SIO1 1 2 3 4 5 6 7 8 SCLK 16 15 14 13 12 11 10 9 SIO2 SCLK SI/SIO0 NC NC NC NC GND SIO2 SIO3 RESET# VCC GND NC Note: 1. RESET# pin has internal pull up. 8-WSON (6mmx5mm) CS# SO/SIO1 SIO2 GND P/N: PM1914 1 2 3 4 DESCRIPTION Chip Select Serial Data Input (for 1 x I/O)/ Serial Data Input & Output (for 2xI/O or 4xI/O read mode) Serial Data Output (for 1 x I/O)/ Serial Data Input & Output (for 2xI/O or 4xI/O read mode) Clock Input Serial Data Input & Output (for 4xI/O read mode) Serial Data Input & Output (for 4xI/O read mode) Hardware Reset Pin Active low + 3V Power Supply Ground No Connection 8 7 6 5 VCC SIO3 SCLK SI/SIO0 7 REV. 1.1, OCT. 31, 2013 MX25L12873F 5. BLOCK DIAGRAM X-Decoder Address Generator Memory Array Page Buffer SI/SIO0 Data Register Y-Decoder SRAM Buffer CS# SIO2 SIO3 RESET# SCLK Mode Logic State Machine HV Generator Clock Generator Output Buffer SO/SIO1 P/N: PM1914 Sense Amplifier 8 REV. 1.1, OCT. 31, 2013 MX25L12873F 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 powerup 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 command 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. P/N: PM1914 9 REV. 1.1, OCT. 31, 2013 MX25L12873F I. Block lock protection - The Software Protected Mode (SPM) use (BP3, BP2, BP1, BP0 and T/B) bits to allow part of memory to be protected as read only. The protected area definition is shown as "Table 2. Protected Area Sizes", the protected areas are more flexible which may protect various area by setting value of BP0-BP3 bits. - In four I/O and QPI mode, the feature of HPM will be disabled. Table 2. Protected Area Sizes Protected Area Sizes (T/B bit = 0) Status bit BP3 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 BP2 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 BP1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 Protect Level BP0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 128Mb 0 (none) 1 (1 block, protected block 255th) 2 (2 blocks, block 254th-255th) 3 (4 blocks, block 252nd-255th) 4 (8 blocks, block 248th-255th) 5 (16 blocks, block 240th-255th) 6 (32 blocks, block 224th-255th) 7 (64 blocks, block 192nd-255th) 8 (128 blocks, block 128th-255th) 9 (256 blocks, protected all) 10 (256 blocks, protected all) 11 (256 blocks, protected all) 12 (256 blocks, protected all) 13 (256 blocks, protected all) 14 (256 blocks, protected all) 15 (256 blocks, protected all) Protected Area Sizes (T/B bit = 1) Status bit BP3 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 P/N: PM1914 BP2 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 BP1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 BP0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 Protect Level 128Mb 0 (none) 1 (1 block, protected block 0th) 2 (2 blocks, protected block 0th~1th) 3 (4 blocks, protected block 0th~3rd) 4 (8 blocks, protected block 0th~7th) 5 (16 blocks, protected block 0th~15th) 6 (32 blocks, protected block 0th~31st) 7 (64 blocks, protected block 0th~63rd) 8 (128 blocks, protected block 0th~127th) 9 (256 blocks, protected all) 10 (256 blocks, protected all) 11 (256 blocks, protected all) 12 (256 blocks, protected all) 13 (256 blocks, protected all) 14 (256 blocks, protected all) 15 (256 blocks, protected all) 10 REV. 1.1, OCT. 31, 2013 MX25L12873F II. Additional 4K-bit secured OTP for unique identifier: to provide 4K-bit one-time program area for setting device unique serial number - Which may be set by factory or system customer. - Security register bit 0 indicates whether the chip is locked by factory or not. - To program the 4K-bit secured OTP by entering 4K-bit secured OTP mode (with Enter Security OTP command), and going through normal program procedure, and then exiting 4K-bit secured OTP mode by writing 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 9. 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. Table 3. 4K-bit Secured OTP Definition Address range Size Standard Factory Lock xxx000~xxx00F 128-bit ESN (electrical serial number) xxx010~xxx1FF 3968-bit N/A P/N: PM1914 11 Customer Lock Determined by customer REV. 1.1, OCT. 31, 2013 MX25L12873F 7. Memory Organization Table 4. Memory Organization Block(64K-byte) Block(32K-byte) Sector 254 508 individual block lock/unlock unit:64K-byte 507 253 506 FF8FFFh 4087 FF7000h FF7FFFh … individual 16 sectors lock/unlock unit:4K-byte 4080 FF0000h FF0FFFh 4079 FEF000h FEFFFFh … 509 FF8000h 4072 FE8000h FE8FFFh 4071 FE7000h FE7FFFh … 510 4088 4064 FE0000h FE0FFFh 4063 FDF000h FDFFFFh … 255 FFFFFFh 4056 FD8000h FD8FFFh 4055 FD7000h FD7FFFh 4048 FD0000h FD0FFFh 47 02F000h 02FFFFh … 511 Address Range FFF000h … 4095 1 2 1 0 0 027FFFh … 028FFFh 027000h 32 020000h 020FFFh 31 01F000h 01FFFFh … 3 028000h 39 24 018000h 018FFFh 23 017000h 017FFFh … 4 individual block lock/unlock unit:64K-byte 40 16 010000h 010FFFh 15 00F000h 00FFFFh 8 008000h 008FFFh 7 007000h 007FFFh 000000h 000FFFh … 2 0 P/N: PM1914 individual 16 sectors lock/unlock unit:4K-byte … 5 … individual block lock/unlock unit:64K-byte 12 REV. 1.1, OCT. 31, 2013 MX25L12873F 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 incorrect command is inputted to this device, this device becomes standby mode and keeps the standby mode until next CS# falling edge. In standby mode, SO pin of this device should be High-Z. 3. When correct command is inputted to this device, this device becomes active mode and keeps the active mode until 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 "Serial Modes Supported". 5. For the following instructions: RDID, RDSR, RDSCUR, READ, FAST_READ, 2READ, DREAD, 4READ, QREAD, RDSFDP, RES, REMS, QPIID, RDDPB, RDSPB, RDPASS, RDLR, RDFBR, RDSPBLK, RDCR the shifted-in instruction sequence is followed by a data-out sequence. After any bit of data being shifted out, the CS# can be high. For the following instructions: WREN, WRDI, WRSR, SE, BE32K, BE, CE, PP, 4PP, DP, ENSO, EXSO, WRSCUR, WPSEL, GBLK, GBULK, SPBLK, SUSPEND, RESUME, NOP, RSTEN, RST, EQIO, RSTQIO the CS# must go high exactly at the byte boundary; otherwise, the instruction will be rejected and not executed. 6. During the progress of Write Status Register, Program, Erase operation, to access the memory array is neglected and not affect the current operation of Write Status Register, Program, Erase. Figure 1. Serial Modes Supported CPOL CPHA shift in (Serial mode 0) 0 0 SCLK (Serial mode 3) 1 1 SCLK SI shift out 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. P/N: PM1914 13 REV. 1.1, OCT. 31, 2013 MX25L12873F Figure 2. Serial Input Timing tSHSL CS# tCHSL tSLCH tCHSH tSHCH SCLK tDVCH tCHCL tCHDX tCLCH LSB MSB SI High-Z SO Figure 3. Output Timing CS# tCH SCLK tCLQV tCLQX tCL tCLQV tCLQX LSB SO SI P/N: PM1914 tSHQZ ADDR.LSB IN 14 REV. 1.1, OCT. 31, 2013 MX25L12873F 8-1. Quad Peripheral Interface (QPI) Read Mode QPI protocol enables user to take full advantage of Quad I/O Serial Flash by providing the Quad I/O interface in command cycles, address cycles and as well as data output cycles. Enable QPI mode By issuing 35H command, the QPI mode is enable. After QPI mode enable, the device enter quad mode (4-4-4) without QE bit status changed. Figure 4. Enable QPI Sequence CS# MODE 3 SCLK 0 1 2 3 4 5 6 7 MODE 0 SIO0 35h SIO[3:1] Reset QPI (RSTQIO) 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 "write spec" tSHSL for next instruction. Figure 5. Reset QPI Mode CS# SCLK SIO[3:0] P/N: PM1914 F5h 15 REV. 1.1, OCT. 31, 2013 MX25L12873F 9. COMMAND DESCRIPTION Table 5. Command Set Read/Write Array Commands Command (byte) READ (normal read) FAST READ (fast read data) Mode SPI SPI 2READ DREAD (1I 2O read) 4READ (4 I/O read) QREAD (1I 4O read) SPI SPI SPI/QPI SPI (2 x I/O read command) 1st byte 03 (hex) 0B (hex) BB (hex) 3B (hex) EB (hex) 6B (hex) 2nd byte ADD1 ADD1 ADD1 ADD1 ADD1 ADD1 3rd byte ADD2 ADD2 ADD2 ADD2 ADD2 ADD2 4th byte ADD3 ADD3 ADD3 ADD3 ADD3 ADD3 Dummy* Dummy* Dummy* Dummy* Dummy* n bytes read out until CS# goes high n bytes read out by 2 x I/O until CS# goes high n bytes read out by Dual output until CS# goes high n bytes read out by 4 x I/O until CS# goes high n bytes read out by Quad output until CS# goes high SPI/QPI BE 32K (block erase 32KB) SPI/QPI BE (block erase 64KB) SPI/QPI 5th byte Data Cycles Action n bytes read out until CS# goes high Command (byte) PP (page program) Mode SPI/QPI 4PP (quad page program) SPI 1st byte 02 (hex) SE (sector erase) 38 (hex) 20 (hex) 52 (hex) D8 (hex) 2nd byte ADD1 ADD1 ADD1 ADD1 3rd byte ADD2 ADD2 ADD2 ADD2 4th byte ADD3 ADD3 ADD3 ADD3 1-256 quad input to program the selected page to erase the selected sector to erase the selected 32K block to erase the selected block CE (chip erase) SPI/QPI 60 or C7 (hex) 5th byte Data Cycles Action 1-256 to program the selected page to erase whole chip * Dummy cycle numbers will be different depending on the bit6 & bit 7 (DC0 & DC1) setting in configuration register. P/N: PM1914 16 REV. 1.1, OCT. 31, 2013 MX25L12873F Register/Setting Commands Mode SPI/QPI SPI/QPI SPI/QPI RDCR (read configuration register) SPI/QPI 1st byte 06 (hex) 04 (hex) 05 (hex) 15 (hex) Command (byte) WREN WRDI (write enable) (write disable) RDSR (read status register) WRSR (write status/ configuration register) SPI/QPI 01 (hex) 2nd byte Values 3rd byte Values WPSEL (Write Protect Selection) EQIO (Enable QPI) SPI/QPI SPI 68 (hex) 35 (hex) 4th byte 5th byte Data Cycles Action sets the (WEL) resets the to read out the to read out the write enable (WEL) write values of the values of the latch bit enable latch bit status register configuration register Command (byte) RSTQIO (Reset QPI) Mode 1st byte QPI F5 (hex) PGM/ERS Suspend (Suspends Program/ Erase) SPI/QPI B0 (hex) PGM/ERS Resume (Resumes Program/ Erase) SPI/QPI 30 (hex) 1-2 to enter and to write new values of the enable individal block protect status/ mode configuration register Entering the QPI mode DP (Deep power down) RDP (Release from deep power down) SBL (Set Burst Length) RDFBR (read fast boot register) SPI/QPI B9 (hex) SPI/QPI AB (hex) SPI/QPI C0 (hex) SPI 16(hex) enters deep power down mode release from deep power down mode to set Burst length 2nd byte 3rd byte 4th byte 5th byte Data Cycles Action Command (byte) Mode 1st byte 1-4 Exiting the QPI mode WRFBR ESFBR (write fast boot (erase fast register) boot register) SPI SPI 17(hex) 18(hex) 2nd byte 3rd byte 4th byte 5th byte Data Cycles 4 Action P/N: PM1914 17 REV. 1.1, OCT. 31, 2013 MX25L12873F ID/Security Commands Command (byte) Mode Address Bytes 1st byte REMS RDID RES (read electronic QPIID (read identific- (read electronic manufacturer & (QPI ID Read) ation) ID) device ID) SPI SPI/QPI SPI QPI 0 0 0 0 9F (hex) AB (hex) 90 (hex) AF (hex) RDSFDP ENSO (enter secured OTP) EXSO (exit secured OTP) SPI/QPI 3 5A (hex) SPI/QPI 0 B1 (hex) SPI/QPI 0 C1 (hex) 2nd byte x x ADD1 3rd byte x x ADD2 4th byte x ADD1 (Note 1) ADD3 5th byte Action outputs JEDEC to read out output the ID: 1-byte 1-byte Device Manufacturer Manufacturer ID ID & Device ID ID & 2-byte Device ID Address Bytes SPI/QPI 0 WRSCUR (write security register) SPI/QPI 0 1st byte 2B (hex) 2F (hex) Command (byte) Mode RDSCUR (read security register) Dummy (8) Read SFDP mode ID in QPI interface to enter the to exit the 4K-bit secured 4K-bit secured OTP mode OTP mode SPI 0 WRPASS (write password register) SPI 0 RDPASS (read password register) SPI 0 2C (hex) 2D (hex) 28 (hex) 27 (hex) 2 2 1-8 1-8 GBLK (gang block lock) GBULK (gang block unlock) WRLR (write Lock register) RDLR (read Lock register) SPI/QPI 0 SPI/QPI 0 SPI 0 7E (hex) 98 (hex) 2nd byte 3rd byte 4th byte 5th byte Data Cycles Action whole chip to read value to set the of security lock-down bit write protect register as "1" (once lock-down, cannot be updated) whole chip unprotect Address Bytes PASSULK (password unlock) SPI 0 WRSPB (SPB bit program) SPI 4 ESSPB (all SPB bit erase) SPI 0 RDSPB (read SPB status) SPI 4 SPBLK (SPB lock set) SPI 0 1st byte 29 (hex) E3 (hex) E4 (hex) E2 (hex) A6 (hex) Command (byte) Mode RDSPBLK WRDPB (SPB lock (write DPB register read) register) SPI SPI 0 4 A7 (hex) RDDPB (read DPB register) SPI 4 E1 (hex) E0 (hex) 2nd byte ADD1 ADD1 ADD1 ADD1 3rd byte ADD2 ADD2 ADD2 ADD2 4th byte ADD3 ADD3 ADD3 ADD3 5th byte ADD4 ADD4 ADD4 ADD4 1 1 Data Cycles 8 1 2 Action P/N: PM1914 18 REV. 1.1, OCT. 31, 2013 MX25L12873F Reset Commands Mode SPI/QPI SPI/QPI RST (Reset Memory) SPI/QPI 1st byte 00 (hex) 66 (hex) 99 (hex) Command (byte) NOP RSTEN (No Operation) (Reset Enable) 2nd byte 3rd byte 4th byte 5th byte Action Note 1: The count base is 4-bit for ADD(2) and Dummy(2) because of 2 x I/O. And the MSB is on SO/SIO1 which is different from 1 x I/O condition. Note 2: ADD=00H will output the manufacturer ID first and AD=01H will output device ID first. Note 3: It is not recommended to adopt any other code not in the command definition table, which will potentially enter the hidden mode. Note 4: Before executing RST command, RSTEN command must be executed. If there is any other command to interfere, the reset operation will be disabled. Note 5: 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. P/N: PM1914 19 REV. 1.1, OCT. 31, 2013 MX25L12873F 9-1. Write Enable (WREN) The Write Enable (WREN) instruction is for setting Write Enable Latch (WEL) bit. For those instructions like PP, 4PP, SE, BE32K, BE, CE, and WRSR, which are intended to change the device content WEL bit should be set every time after the WREN instruction setting the WEL bit. The sequence of issuing WREN instruction is: CS# goes low→sending WREN instruction code→ CS# goes high. Both SPI (8 clocks) and QPI (2 clocks) command cycle can accept by this instruction. The SIO[3:1] are don't care in SPI mode. Figure 6. Write Enable (WREN) Sequence (SPI Mode) CS# Mode 3 0 1 2 3 4 5 6 7 SCLK Mode 0 Command SI 06h High-Z SO Figure 7. Write Enable (WREN) Sequence (QPI Mode) CS# 0 Mode 3 1 SCLK Mode 0 Command 06h SIO[3:0] P/N: PM1914 20 REV. 1.1, OCT. 31, 2013 MX25L12873F 9-2. Write Disable (WRDI) The Write Disable (WRDI) instruction is to reset Write Enable Latch (WEL) bit. The sequence of issuing WRDI instruction is: CS# goes low→sending WRDI instruction code→CS# goes high. Both SPI (8 clocks) and QPI (2 clocks) command cycle can accept by this instruction. The SIO[3:1] are don't care in SPI mode. The WEL bit is reset by following situations: - Power-up - Reset# pin driven low - WRDI command completion - WRSR command completion - PP command completion - 4PP command completion - SE command completion - BE32K command completion - BE command completion - CE command completion - PGM/ERS Suspend command completion - Softreset command completion - WRSCUR command completion - WPSEL command completion - GBLK command completion - GBULK command completion - WRLR command completion - WRPASS command completion - PASSULK command completion - SPBLK command completion - WRSPB command completion - ESSPB command completion - WRDPB command completion - WRFBR command completion - ESFBR command completion Figure 8. Write Disable (WRDI) Sequence (SPI Mode) CS# Mode 3 0 1 2 3 4 5 6 7 SCLK Mode 0 Command SI SO P/N: PM1914 04h High-Z 21 REV. 1.1, OCT. 31, 2013 MX25L12873F Figure 9. Write Disable (WRDI) Sequence (QPI Mode) CS# 0 Mode 3 1 SCLK Mode 0 Command 04h SIO[3:0] 9-3. Read Identification (RDID) The RDID instruction is for reading the manufacturer ID of 1-byte and followed by Device ID of 2-byte. The Macronix Manufacturer ID and Device ID are listed as "Table 6. ID Definitions". The sequence of issuing RDID instruction is: CS# goes low→ sending 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. Figure 10. Read Identification (RDID) Sequence (SPI mode only) 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 Manufacturer Identification SO High-Z 7 6 5 2 MSB P/N: PM1914 1 Device Identification 0 15 14 13 3 2 1 0 MSB 22 REV. 1.1, OCT. 31, 2013 MX25L12873F 9-4. 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 tRES2, and Chip Select (CS#) must remain High for at least tRES2(max), as specified in "Table 18. 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. Even in Deep power-down mode, the RDP and RES are also allowed to be executed, only except the device is in progress of program/erase/write cycle; there's no effect on the current program/erase/write cycle in progress. Both SPI (8 clocks) and QPI (2 clocks) command cycle can accept by this instruction. The SIO[3:1] are don't care when during SPI mode. The RES instruction is ended by 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. Figure 11. Read Electronic Signature (RES) Sequence (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 SCLK Mode 0 Command SI ABh tRES2 3 Dummy Bytes 23 22 21 3 2 1 0 MSB SO Electronic Signature Out High-Z 7 6 5 4 3 2 1 0 MSB Deep Power-down Mode P/N: PM1914 23 Stand-by Mode REV. 1.1, OCT. 31, 2013 MX25L12873F Figure 12. Read Electronic Signature (RES) Sequence (QPI Mode) CS# MODE 3 0 1 2 3 4 5 6 7 SCLK MODE 0 3 Dummy Bytes Command SIO[3:0] X ABh X X X X X H0 L0 MSB LSB Data In Data Out Stand-by Mode Deep Power-down Mode Figure 13. Release from Deep Power-down (RDP) Sequence (SPI Mode) CS# 0 Mode 3 1 2 3 4 5 6 tRES1 7 SCLK Mode 0 Command SI ABh High-Z SO Deep Power-down Mode Stand-by Mode Figure 14. Release from Deep Power-down (RDP) Sequence (QPI Mode) CS# Mode 3 tRES1 0 1 SCLK Mode 0 Command SIO[3:0] ABh Deep Power-down Mode P/N: PM1914 24 Stand-by Mode REV. 1.1, OCT. 31, 2013 MX25L12873F 9-5. Read Electronic Manufacturer ID & Device ID (REMS) The REMS instruction is an alternative to the Release from Power-down/Device ID instruction that provides both the JEDEC assigned manufacturer ID and the specific device ID. The REMS instruction is very similar to the Release from Power-down/Device ID instruction. The instruction is initiated by driving the CS# pin low and shift the instruction code "90h" followed by two dummy bytes and one bytes address (A7~A0). After which, the Manufacturer ID for Macronix (C2h) and the Device ID are shifted out on the falling edge of SCLK with most significant bit (MSB) first. The Device ID values are listed in "Table 6. ID Definitions". If the one-byte address is initially set to 01h, then the device ID will be read first and then followed by the Manufacturer ID. The Manufacturer and Device IDs can be read continuously, alternating from one to the other. The instruction is completed by driving CS# high. Figure 15. Read Electronic Manufacturer & Device ID (REMS) Sequence (SPI Mode only) CS# SCLK Mode 3 0 1 2 Mode 0 3 4 5 6 7 8 Command SI 9 10 2 Dummy Bytes 15 14 13 90h 3 2 1 0 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 SO 7 6 5 4 3 2 1 Device ID 0 7 6 5 4 3 2 MSB MSB 1 0 7 MSB Notes: (1) ADD=00H will output the manufacturer's ID first and ADD=01H will output device ID first. P/N: PM1914 25 REV. 1.1, OCT. 31, 2013 MX25L12873F 9-6. QPI ID Read (QPIID) User can execute this QPIID Read instruction to identify the Device ID and Manufacturer ID. The sequence of issue QPIID instruction is CS# goes low→sending 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 Command Type RDID 9Fh RES ABh REMS 90h QPIID AFh P/N: PM1914 MX25L12873F Manufactory ID C2 Manufactory ID C2 Manufactory ID C2 Memory type 20 Electronic ID 17 Device ID 17 Memory type 20 26 Memory density 18 Memory density 18 REV. 1.1, OCT. 31, 2013 MX25L12873F 9-7. Read Status Register (RDSR) 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→ sending RDSR instruction code→ Status Register data out on SO. Both SPI (8 clocks) and QPI (2 clocks) command cycle can accept by this instruction. The SIO[3:1] are don't care when during SPI mode. Figure 16. Read Status Register (RDSR) Sequence (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 05h SI SO Status Register Out High-Z 7 6 5 4 3 2 1 Status Register Out 0 7 6 5 4 3 2 1 0 7 MSB MSB Figure 17. Read Status Register (RDSR) Sequence (QPI Mode) 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 P/N: PM1914 27 Status Byte REV. 1.1, OCT. 31, 2013 MX25L12873F 9-8. Read Configuration Register (RDCR) 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→ sending RDCR instruction code→ Configuration Register data out on SO. Both SPI (8 clocks) and QPI (2 clocks) command cycle can accept by this instruction. The SIO[3:1] are don't care when during SPI mode. Figure 18. Read Configuration Register (RDCR) Sequence (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 15h SI SO Configuration register Out High-Z 7 6 5 4 3 2 1 0 Configuration register Out 7 6 5 4 3 2 1 0 7 MSB MSB Figure 19. Read Configuration Register (RDCR) Sequence (QPI Mode) 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 P/N: PM1914 28 Config. Byte REV. 1.1, OCT. 31, 2013 MX25L12873F For user to check if Program/Erase operation is finished or not, RDSR instruction flow are shown as follows: Figure 20. Program/Erase flow with read array data start WREN command RDSR command* WEL=1? No Yes Program/erase command Write program data/address (Write erase address) RDSR command WIP=0? No Yes RDSR command Read WEL=0, BP[3:0], QE, and SRWD data Read array data (same address of PGM/ERS) Verify OK? No Yes Program/erase successfully Program/erase another block? No Program/erase fail Yes * Issue RDSR to check BP[3:0]. * If WPSEL = 1, issue RDSPB and RDDPB to check the block status. Program/erase completed P/N: PM1914 29 REV. 1.1, OCT. 31, 2013 MX25L12873F Figure 21. Program/Erase flow without read array data (read P_FAIL/E_FAIL flag) start WREN command RDSR command* WEL=1? No Yes Program/erase command Write program data/address (Write erase address) RDSR command WIP=0? No Yes RDSR command Read WEL=0, BP[3:0], QE, and SRWD data RDSCUR command Yes P_FAIL/E_FAIL =1 ? No Program/erase fail Program/erase successfully Program/erase another block? No Yes * Issue RDSR to check BP[3:0]. * If WPSEL = 1, issue RDSPB and RDDPB to check the block status. Program/erase completed P/N: PM1914 30 REV. 1.1, OCT. 31, 2013 MX25L12873F Status Register The definition of the status register bits is as below: 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, a volatile bit, indicates whether the device is set to internal write enable latch. When WEL bit sets to 1, which means the internal write enable latch is set, the device can accept program/ erase/write status register instruction. When WEL bit sets to 0, which means no internal write enable latch; the device will not accept program/erase/write status register instruction. The program/erase command will be ignored if it is applied to a protected memory area. To ensure both WIP bit & WEL bit are both set to 0 and available for next program/ erase/operations, WIP bit needs to be confirm to be 0 before polling WEL bit. After WIP bit confirmed, WEL bit needs to be confirm to be 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. Protected Area Sizes") 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 unprotected. QE bit. The Quad Enable (QE) bit, a non-volatile bit which is permanently set to "1". The flash always performs Quad I/O mode. SRWD bit. The Status Register Write Disable (SRWD) bit, non-volatile bit, default value is "0". Status Register bit7 SRWD (status register write protect) bit6 QE (Quad Enable) 1=status register write disable 1=Quad 0=status Enable register write enable Non-volatile Non-volatile bit bit bit5 BP3 (level of protected block) bit4 BP2 (level of protected block) bit3 BP1 (level of protected block) bit2 BP0 (level of protected block) (note 1) (note 1) (note 1) (note 1) Non-volatile bit Non-volatile bit Non-volatile bit Non-volatile bit bit1 bit0 WEL WIP (write enable (write in latch) progress bit) 1=write 1=write enable operation 0=not write 0=not in write enable operation volatile bit volatile bit Note 1: See the "Table 2. Protected Area Sizes". P/N: PM1914 31 REV. 1.1, OCT. 31, 2013 MX25L12873F 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 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. Table 7. Configuration Register Table bit7 DC1 (Dummy cycle 1) bit6 DC0 (Dummy cycle 0) bit5 bit4 Reserved Reserved (note 2) (note 2) x x volatile bit volatile bit x x bit3 bit2 bit1 bit0 TB ODS 2 ODS 1 ODS 0 (top/bottom (output driver (output driver (output driver selected) strength) strength) strength) 0=Top area protect 1=Bottom (note 1) (note 1) (note 1) area protect (Default=0) OTP volatile bit volatile bit volatile bit Note 1: see "Output Driver Strength Table" Note 2: see "Dummy Cycle and Frequency Table (MHz)" P/N: PM1914 32 REV. 1.1, OCT. 31, 2013 MX25L12873F Output Driver Strength Table ODS2 0 0 0 0 1 1 1 1 ODS1 0 0 1 1 0 0 1 1 ODS0 0 1 0 1 0 1 0 1 Description Reserved 90 Ohms 60 Ohms 45 Ohms Reserved 20 Ohms 15 Ohms 30 Ohms (Default) Note Impedance at VCC/2 Dummy Cycle and Frequency Table (MHz) DC[1:0] 00 (default) 01 10 11 DC[1:0] 00 (default) 01 10 11 DC[1:0] 00 (default) 01 10 11 P/N: PM1914 Numbers of Dummy clock cycles 8 6 8 10 Numbers of Dummy clock cycles 4 6 8 10 Fast Read 104 104 104 133 Dual Output Fast Read 104 104 104 133 Quad Output Fast Read 104 84 104 133 Dual IO Fast Read 84 104 104 133 Numbers of Dummy Quad IO Fast Read clock cycles 6 84 4 70 8 104 10 133 33 REV. 1.1, OCT. 31, 2013 MX25L12873F 9-9. Write Status Register (WRSR) 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. Protected Area Sizes"), 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→ sending WRSR instruction code→ Status 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. Figure 22. Write Status Register (WRSR) 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 23 SCLK Mode 0 SI SO command 01h Status Register In 7 6 4 5 Configuration Register In 2 3 0 15 14 13 12 11 10 9 1 8 MSB High-Z Note : The CS# must go high exactly at 8 bits or 16 bits data boundary to completed the write register command. Figure 23. Write Status Register (WRSR) Sequence (QPI Mode) CS# Mode 3 0 1 2 3 4 5 Mode 3 SCLK Mode 0 Mode 0 SR in Command SIO[3:0] P/N: PM1914 01h H0 34 L0 CR in H1 L1 REV. 1.1, OCT. 31, 2013 MX25L12873F Software Protected Mode (SPM): - When SRWD bit=0, the WREN instruction may set the WEL bit and can change the values of SRWD, BP3, BP2, BP1, BP0. The protected area, which is defined by BP3, BP2, BP1, BP0 and T/B bit, is at software protected mode (SPM). Table 8. Protection Modes Mode Software protection mode (SPM) Status register condition SRWD bit status Memory Status register can be written in (WEL bit is set to "1") and the SRWD, BP0-BP3 bits can be changed SRWD bit=0 The protected area cannot be program or erase. 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. Protected Area Sizes". P/N: PM1914 35 REV. 1.1, OCT. 31, 2013 MX25L12873F Figure 24. WRSR flow start WREN command RDSR command WEL=1? No Yes WRSR command Write status register data RDSR command WIP=0? No Yes RDSR command Read WEL=0, BP[3:0], QE, and SRWD data Verify OK? No Yes WRSR successfully P/N: PM1914 WRSR fail 36 REV. 1.1, OCT. 31, 2013 MX25L12873F 9-10.Read Data Bytes (READ) 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 sequence of issuing READ instruction is: CS# goes low→sending READ instruction code→ 3-byte address on SI→ data out on SO→to end READ operation can use CS# to high at any time during data out. Figure 25. 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 SI command 03h 24-Bit Address 23 22 21 3 2 1 0 MSB SO Data Out 1 High-Z 7 6 5 4 3 2 Data Out 2 1 0 7 MSB P/N: PM1914 37 REV. 1.1, OCT. 31, 2013 MX25L12873F 9-11.Read Data Bytes at Higher Speed (FAST_READ) 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. Read on SPI Mode The sequence of issuing FAST_READ instruction is: CS# goes low→ sending FAST_READ instruction code→ 3-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. In the 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 reduce the next 4READ instruction. Once P[7:4] is no longer toggling with P[3:0]; likewise P[7:0]=FFh,00h,AAh or 55h and afterwards CS# is raised and then lowered, the system then will escape from performance enhance mode and return to normal operation. 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. Figure 26. Read at Higher Speed (FAST_READ) Sequence (SPI Mode) CS# SCLK Mode 3 0 1 2 Mode 0 3 5 6 7 8 9 10 Command SI SO 4 28 29 30 31 24-Bit Address 23 22 21 0Bh 3 2 1 0 High-Z CS# 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 SCLK Configurable Dummy Cycle SI 7 6 5 4 3 2 1 0 DATA OUT 2 DATA OUT 1 SO 7 6 5 4 2 1 0 7 MSB MSB P/N: PM1914 3 38 6 5 4 3 2 1 0 7 MSB REV. 1.1, OCT. 31, 2013 MX25L12873F 9-12.Dual Output Read Mode (DREAD) The DREAD instruction enable double throughput of Serial 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 sequence of issuing DREAD instruction is: CS# goes low→ sending DREAD instruction→3-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. Figure 27. Dual Read Mode Sequence CS# 0 1 2 3 4 5 6 7 8 SCLK … Command SI/SIO0 SO/SIO1 P/N: PM1914 30 31 32 9 3B … 24 ADD Cycle A23 A22 … 39 40 41 42 43 44 45 A1 A0 High Impedance Configurable Dummy Cycle Data Out 1 Data Out 2 D6 D4 D2 D0 D6 D4 D7 D5 D3 D1 D7 D5 39 REV. 1.1, OCT. 31, 2013 MX25L12873F 9-13.2 x I/O Read Mode (2READ) The 2READ instruction enable double throughput of Serial 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 sequence of issuing 2READ instruction is: CS# goes low→ sending 2READ instruction→ 3-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. Figure 28. 2 x I/O Read Mode Sequence (SPI Mode only) 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 Command SI/SIO0 SO/SIO1 P/N: PM1914 BBh 12 ADD Cycles Configurable Dummy Cycle Data Out 1 Data Out 2 A22 A20 A18 A4 A2 A0 D6 D4 D2 D0 D6 D4 D2 D0 A23 A21 A19 A5 A3 A1 D7 D5 D3 D1 D7 D5 D3 D1 40 Mode 0 REV. 1.1, OCT. 31, 2013 MX25L12873F 9-14.Quad Read Mode (QREAD) The QREAD instruction enable quad throughput of Serial Flash in read mode. 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 sequence of issuing QREAD instruction is: CS# goes low→ sending QREAD instruction → 3-byte address on SI → 8 dummy cycle (Default) → data out interleave on SO3, SO2, SO1 & SO0→ 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. Figure 29. Quad Read Mode Sequence CS# 0 1 2 3 4 5 6 7 8 … Command SIO0 SIO1 SIO2 SIO3 P/N: PM1914 29 30 31 32 33 9 SCLK 6B … 24 ADD Cycles A23 A22 … High Impedance 38 39 40 41 42 A2 A1 A0 Configurable dummy cycles Data Data Data Out 1 Out 2 Out 3 D4 D0 D4 D0 D4 D5 D1 D5 D1 D5 High Impedance D6 D2 D6 D2 D6 High Impedance D7 D3 D7 D3 D7 41 REV. 1.1, OCT. 31, 2013 MX25L12873F 9-15.4 x I/O Read Mode (4READ) The 4READ instruction enable quad throughput of Serial 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. 4 x I/O Read on SPI Mode (4READ) The sequence of issuing 4READ instruction is: CS# goes low→ sending 4READ instruction→ 3-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→ sending 4READ instruction→ 3-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. P/N: PM1914 42 REV. 1.1, OCT. 31, 2013 MX25L12873F Figure 30. 4 x I/O Read Mode Sequence (SPI Mode) CS# Mode 3 0 1 2 3 4 5 6 7 8 Mode 3 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 SCLK Mode 0 Command 6 ADD Cycles Data Out 1 Performance enhance indicator (Note 1) Data Out 2 Mode 0 Data Out 3 Configurable Dummy Cycle (Note 3) EBh A20 A16 A12 A8 A4 A0 P4 P0 D4 D0 D4 D0 D4 D0 SIO1 A21 A17 A13 A9 A5 A1 P5 P1 D5 D1 D5 D1 D5 D1 SIO2 A22 A18 A14 A10 A6 A2 P6 P2 D6 D2 D6 D2 D6 D2 SIO3 A23 A19 A15 A11 A7 A3 P7 P3 D7 D3 D7 D3 D7 D3 SIO0 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. Figure 31. 4 x I/O Read 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 18 19 20 MODE 3 SCLK MODE 0 SIO[3:0] P/N: PM1914 MODE 0 EB A5 A4 A3 A2 A1 A0 Data In 24-bit Address X X X X Configurable Dummy Cycle 43 X X H0 L0 H1 L1 H2 L2 H3 L3 MSB Data Out REV. 1.1, OCT. 31, 2013 MX25L12873F 9-16.Burst Read This device supports Burst Read in both SPI and QPI mode. To set the Burst length, following command operation is required to issue command: “C0h” in the first Byte (8-clocks), following 4 clocks defining wrap around enable with “0h” and disable with“1h”. The next 4 clocks are to define wrap around depth. Their definitions are as the following table: Data 00h 01h 02h 03h 1xh Wrap Around Yes Yes Yes Yes No Wrap Depth 8-byte 16-byte 32-byte 64-byte X The wrap around unit is defined within the 256Byte page, with random initial address. It is defined as “wrap-around mode disable” for the default state of the device. To exit wrap around, it is required to issue another “C0” command in which data=‘1xh”. Otherwise, wrap around status will be retained until power down or reset command. To change wrap around depth, it is requried to issue another “C0” command in which data=“0xh”. QPI “EBh” and SPI “EBh” support wrap around feature after wrap around is enabled. Burst read is supported in both SPI and QPI mode. The device is default without Burst read. Figure 32. SPI Mode CS# Mode 3 0 1 2 3 4 5 6 7 8 9 D7 D6 10 11 12 13 14 15 SCLK Mode 0 SIO C0h D5 D4 D3 D2 D1 D0 Figure 33. QPI Mode CS# Mode 3 0 1 2 3 SCLK Mode 0 SIO[3:0] C0h H0 MSB L0 LSB Note: MSB=Most Significant Bit LSB=Least Significant Bit P/N: PM1914 44 REV. 1.1, OCT. 31, 2013 MX25L12873F 9-17.Performance Enhance Mode The device could waive the command cycle bits if the two cycle bits after address cycle toggles. Performance enhance mode is supported in both SPI and QPI mode. In QPI mode, “EBh” and SPI “EBh” 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” command can also exit enhance mode. The system then will leave performance enhance mode and return to normal 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. Another sequence of issuing 4READ instruction especially useful in random access is : CS# goes low→sending 4 READ instruction→3-bytes address interleave on SIO3, SIO2, SIO1 & SIO0 →performance enhance toggling bit P[7:0]→ 4 dummy cycles (Default) →data out still CS# goes high → CS# goes low (reduce 4 Read instruction) → 3-bytes random access address. P/N: PM1914 45 REV. 1.1, OCT. 31, 2013 MX25L12873F Figure 34. 4 x I/O Read enhance performance 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 Data Out 2 Data Out n A20 A16 A12 A8 A4 A0 P4 P0 D4 D0 D4 D0 D4 D0 SIO1 A21 A17 A13 A9 A5 A1 P5 P1 D5 D1 D5 D1 D5 D1 SIO2 A22 A18 A14 A10 A6 A2 P6 P2 D6 D2 D6 D2 D6 D2 SIO3 A23 A19 A15 A11 A7 A3 P7 P3 D7 D3 D7 D3 D7 D3 Command 6 ADD Cycles (Note 2) Data Out 1 Performance enhance indicator (Note 1) Configurable Dummy Cycle (Note 2) EBh SIO0 CS# n+1 ........... n+7 ...... n+9 ........... n+13 ........... Mode 3 SCLK 6 ADD Cycles (Note 2) Performance enhance indicator (Note 1) Data Out 1 Data Out 2 Data Out n Mode 0 Configurable Dummy Cycle (Note 2) SIO0 A20 A16 A12 A8 A4 A0 P4 P0 D4 D0 D4 D0 D4 D0 SIO1 A21 A17 A13 A9 A5 A1 P5 P1 D5 D1 D5 D1 D5 D1 SIO2 A22 A18 A14 A10 A6 A2 P6 P2 D6 D2 D6 D2 D6 D2 SIO3 A23 A19 A15 A11 A7 A3 P7 P3 D7 D3 D7 D3 D7 D3 Notes: 1. If not using performance enhance recommend to keep 1 or 0 in performance enhance indicator. 2. Configuration Dummy cycle numbers will be different depending on the bit6 & bit 7 (DC0 & DC1) setting in configuration register. P/N: PM1914 46 REV. 1.1, OCT. 31, 2013 MX25L12873F Figure 35. 4 x I/O Read enhance performance Mode Sequence (QPI Mode) CS# Mode 3 0 1 2 3 4 5 6 7 A1 A0 8 9 10 11 12 13 14 15 16 17 H0 L0 H1 L1 SCLK Mode 0 SIO[3:0] EBh A5 A4 A3 A2 X X X X 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 SIO[3:0] A5 A4 A3 A2 A1 X A0 X X H0 L0 H1 L1 MSB LSB MSB LSB P(7:4) P(3:0) 6 Address cycles (Note) X Data Out performance enhance indicator Configurable Dummy Cycle (Note 1) Notes: 1. Configuration Dummy cycle numbers will be different depending on the bit6 & bit 7 (DC0 & DC1) setting in configuration register. P/N: PM1914 47 REV. 1.1, OCT. 31, 2013 MX25L12873F 9-18.Performance Enhance Mode Reset To conduct the Performance Enhance Mode Reset operation in SPI mode, FFh data cycle, 8 clocks, should be issued in 1I/O sequence. In QPI Mode, FFFFFFFFh data cycle, 8 clocks, 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. Both SPI (8 clocks) and QPI (2 clocks) command cycle can accept by this instruction. The SIO[3:1] are don't care when during SPI mode. Figure 36. Performance Enhance Mode Reset for Fast Read Quad I/O (SPI Mode) Mode Bit Reset for Quad I/O CS# Mode 3 SCLK 0 1 2 3 4 5 6 7 Mode 0 Mode 3 Mode 0 SIO0 FFh SIO1 Don’t Care SIO2 Don’t Care SIO3 Don’t Care Figure 37. Performance Enhance Mode Reset for Fast Read Quad I/O (QPI Mode) Mode Bit Reset for Quad I/O CS# Mode 3 SCLK SIO[3:0] P/N: PM1914 0 1 2 3 4 5 6 Mode 0 7 Mode 3 Mode 0 FFFFFFFFh 48 REV. 1.1, OCT. 31, 2013 MX25L12873F 9-19.Fast Boot 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. 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 support Quad I/O interface, the data is output by Quad I/O interface. Fast Boot Register (FBR) Bits 31 to 4 Description FBSA (FastBoot Start Address) 3 x 2 to 1 FBSD (FastBoot Start Delay Cycle) 0 FBE (FastBoot Enable) Bit Status Default State 16 bytes boundary address for the start of boot FFFFFFF code access. 1 00: 7 delay cycles 01: 9 delay cycles 10: 11 delay cycles 11: 13 delay cycles 0=FastBoot is enabled. 1=FastBoot is not enabled. Type NonVolatile NonVolatile 11 NonVolatile 1 NonVolatile Note: If FBSD = 11, the maximum clock frequency is 133 MHz If FBSD = 10, the maximum clock frequency is 104 MHz If FBSD = 01, the maximum clock frequency is 84 MHz If FBSD = 00, the maximum clock frequency is 70 MHz P/N: PM1914 49 REV. 1.1, OCT. 31, 2013 MX25L12873F Figure 38. Fast Boot Sequence (QE bit =1) CS# Mode 3 0 - - - - - - - n n+1 n+2 n+3 n+5 n+6 n+7 n+8 n+9 SCLK Mode 0 SIO0 SIO1 SIO2 SIO3 Delay Cycles High Impedance High Impedance High Impedance High Impedance Data Out 1 Data Out 2 4 0 4 5 1 6 7 Data Out 3 Data Out 4 0 4 0 4 0 4 5 1 5 1 5 1 5 2 6 2 6 2 6 2 6 3 7 3 7 3 7 3 7 MSB Note: If FBSD = 11, delay cycles is 13 and n is 12. If FBSD = 10, delay cycles is 11 and n is 10. If FBSD = 01, delay cycles is 9 and n is 8. If FBSD = 00, delay cycles is 7 and n is 6. P/N: PM1914 50 REV. 1.1, OCT. 31, 2013 MX25L12873F Figure 39. Read Fast Boot Register (RDFBR) Sequence 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 Data Out 1 High-Z SO 7 6 Data Out 2 5 26 25 24 7 6 MSB MSB Figure 40. Write Fast Boot Register (WRFBR) Sequence CS# 0 Mode 3 1 2 3 4 5 6 7 8 9 10 37 38 39 SCLK Mode 0 Command SI Fast Boot Register 17h 7 6 5 26 25 24 MSB High-Z SO Figure 41. Erase Fast Boot Register (ESFBR) Sequence CS# Mode 3 0 1 2 3 4 5 6 7 SCLK Mode 0 SI SO P/N: PM1914 Command 18h High-Z 51 REV. 1.1, OCT. 31, 2013 MX25L12873F 9-20.Sector Erase (SE) 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 execute to set the Write Enable Latch (WEL) bit before sending the Sector Erase (SE). Any address of the sector (see "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. Address bits [Am-A12] (Am is the most significant address) select the sector address. The sequence of issuing SE instruction is: CS# goes low→ sending SE instruction code→ 3-byte address on SI→ CS# goes high. Both SPI (8 clocks) and QPI (2 clocks) command cycle can accept by this instruction. The SIO[3:1] are don't care when 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. Figure 42. Sector Erase (SE) Sequence (SPI Mode) CS# Mode 3 0 1 2 3 4 5 6 7 8 9 29 30 31 SCLK Mode 0 24-Bit Address Command SI 20h A23 A22 A2 A1 A0 MSB Figure 43. Sector Erase (SE) Sequence (QPI Mode) CS# Mode 3 0 1 2 3 4 5 6 7 SCLK Mode 0 24-Bit Address Command SIO[3:0] 20h A5 A4 A3 A2 A1 A0 MSB P/N: PM1914 52 REV. 1.1, OCT. 31, 2013 MX25L12873F 9-21.Block Erase (BE32K) 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 be executed to set the Write Enable Latch (WEL) bit before sending the Block Erase (BE32K). Any address of the block (see "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. The sequence of issuing BE32K instruction is: CS# goes low→ sending BE32K instruction code→ 3-byte address on SI→CS# goes high. Both SPI (8 clocks) and QPI (2 clocks) command cycle can accept 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. Figure 44. Block Erase 32KB (BE32K) Sequence (SPI Mode) CS# Mode 3 0 1 2 3 4 5 6 7 8 9 29 30 31 SCLK Mode 0 Command SI 24-Bit Address 52h A23 A22 A2 A1 A0 MSB Figure 45. Block Erase 32KB (BE32K) Sequence (QPI Mode) CS# Mode 3 0 1 2 3 4 5 6 7 SCLK Mode 0 24-Bit Address Command SIO[3:0] 52h A5 A4 A3 A2 A1 A0 MSB P/N: PM1914 53 REV. 1.1, OCT. 31, 2013 MX25L12873F 9-22.Block Erase (BE) 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 sequence of issuing BE instruction is: CS# goes low→ sending BE instruction code→ 3-byte address on SI→ CS# goes high. Both SPI (8 clocks) and QPI (2 clocks) command cycle can accept 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. Figure 46. Block Erase (BE) Sequence (SPI Mode) CS# Mode 3 0 1 2 3 4 5 6 7 8 9 29 30 31 SCLK Mode 0 Command SI 24-Bit Address D8h A23 A22 A2 A1 A0 MSB Figure 47. Block Erase (BE) Sequence (QPI Mode) CS# Mode 3 0 1 2 3 4 5 6 7 SCLK Mode 0 24-Bit Address Command SIO[3:0] D8h A5 A4 A3 A2 A1 A0 MSB P/N: PM1914 54 REV. 1.1, OCT. 31, 2013 MX25L12873F 9-23.Chip Erase (CE) 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→sending CE instruction code→CS# goes high. Both SPI (8 clocks) and QPI (2 clocks) command cycle can accept 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. Figure 48. Chip Erase (CE) Sequence (SPI Mode) CS# Mode 3 0 1 2 3 4 5 6 7 SCLK Mode 0 Command SI 60h or C7h Figure 49. Chip Erase (CE) Sequence (QPI Mode) CS# Mode 3 0 1 SCLK Mode 0 SIO[3:0] P/N: PM1914 Command 60h or C7h 55 REV. 1.1, OCT. 31, 2013 MX25L12873F 9-24.Page Program (PP) The Page Program (PP) 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 before sending the Page Program (PP). The device programs only the last 256 data bytes sent to the device. If the entire 256 data bytes are going to be programmed, A7A0 (The eight least significant address bits) should be set to 0. The last address byte (the 8 least significant address bits, A7-A0) should be set to 0 for 256 bytes page program. If A7-A0 are not all zero, transmitted data that exceed page length are programmed from the starting address (24-bit address that last 8 bit are all 0) of currently selected page. If the data bytes sent to the device exceeds 256, the last 256 data byte is programmed at the request page and previous data will be disregarded. If the data bytes sent to the device has not exceeded 256, the data will be programmed at the request address of the page. There will be no effort on the other data bytes of the same page. The sequence of issuing PP instruction is: CS# goes low→ sending PP instruction code→ 3-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 Block 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 accept by this instruction. The SIO[3:1] are don't care when during SPI mode. P/N: PM1914 56 REV. 1.1, OCT. 31, 2013 MX25L12873F Figure 50. Page Program (PP) Sequence (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 1 0 7 6 5 3 2 1 0 2079 2 2078 3 2077 23 22 21 02h SI Data Byte 1 24-Bit Address 2076 Command 2075 Mode 0 4 1 0 MSB MSB 2074 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 2073 2072 CS# SCLK Data Byte 2 7 SI 6 5 4 3 2 Data Byte 3 1 MSB 0 7 6 5 4 3 2 Data Byte 256 1 7 0 MSB 6 5 4 3 2 MSB Figure 51. Page Program (PP) Sequence (QPI Mode) CS# Mode 3 0 1 2 SCLK Mode 0 Command SIO[3:0] 02h Data In P/N: PM1914 24-Bit Address A5 A4 A3 A2 A1 A0 H0 L0 H1 L1 H2 L2 H3 L3 Data Byte Data Byte Data Byte Data Byte 1 2 3 4 57 H255 L255 ...... Data Byte 256 REV. 1.1, OCT. 31, 2013 MX25L12873F 9-25.4 x I/O Page Program (4PP) 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 sequence of issuing 4PP instruction is: CS# goes low→ sending 4PP instruction code→ 3-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 52. 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 Data Data Data Data Byte 1 Byte 2 Byte 3 Byte 4 6 Address cycle A0 4 0 4 0 4 0 4 0 SIO1 A21 A17 A13 A9 A5 A1 5 1 5 1 5 1 5 1 SIO2 A22 A18 A14 A10 A6 A2 6 2 6 2 6 2 6 2 SIO3 A23 A19 A15 A11 A7 A3 7 3 7 3 7 3 7 3 SIO0 P/N: PM1914 Command 38h A20 A16 A12 A8 A4 58 REV. 1.1, OCT. 31, 2013 MX25L12873F 9-26.Deep Power-down (DP) The Deep Power-down (DP) instruction is for setting the device to minimum power consumption (the standby current is reduced from ISB1 to ISB2). The Deep Power-down mode requires the Deep Power-down (DP) instruction to enter, during the Deep Power-down mode, the device is not active and all Write/Program/Erase instruction are ignored. When CS# goes high, it's only in deep power-down mode not standby mode. It's different from Standby mode. The sequence of issuing DP instruction is: CS# goes low→sending DP instruction code→CS# goes high. Both SPI (8 clocks) and QPI (2 clocks) command cycle can accept by this instruction. The SIO[3:1] are don't care when during SPI mode. Once the DP instruction is set, all instruction will be ignored except the Release from Deep Power-down mode (RDP) and Read Electronic Signature (RES) instruction and softreset command. (those instructions allow the ID being reading out). When Power-down, or software reset command the deep power-down mode automatically stops, and when power-up, the device automatically is in standby mode. For DP instruction the CS# must go high exactly at the byte boundary (the latest eighth bit of instruction code been latched-in); otherwise, the instruction will not executed. As soon as Chip Select (CS#) goes high, a delay of tDP is required before entering the Deep Power-down mode. Figure 53. Deep Power-down (DP) Sequence (SPI Mode) CS# 0 Mode 3 1 2 3 4 5 6 tDP 7 SCLK Mode 0 Command B9h SI Stand-by Mode Deep Power-down Mode Figure 54. Deep Power-down (DP) Sequence (QPI Mode) CS# Mode 3 0 1 tDP SCLK Mode 0 Command SIO[3:0] B9h Stand-by Mode P/N: PM1914 59 Deep Power-down Mode REV. 1.1, OCT. 31, 2013 MX25L12873F 9-27.Enter Secured OTP (ENSO) The ENSO instruction is for entering the additional 4K-bit secured OTP mode. While device is in 4K-bit secured OTPmode, 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 accept by this instruction. The SIO[3:1] are don't care when 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. 9-28.Exit Secured OTP (EXSO) 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 accept by this instruction. The SIO[3:1] are don't care when during SPI mode. 9-29.Read Security Register (RDSCUR) 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→sending RDSCUR instruction→Security Register data out on SO→ CS# goes high. Both SPI (8 clocks) and QPI (2 clocks) command cycle can accept by this instruction. The SIO[3:1] are don't care when during SPI mode. 9-30.Write Security Register (WRSCUR) 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→ sending WRSCUR instruction → CS# goes high. Both SPI (8 clocks) and QPI (2 clocks) command cycle can accept by this instruction. The SIO[3:1] are don't care when during SPI mode. The CS# must go high exactly at the boundary; otherwise, the instruction will be rejected and not executed. P/N: PM1914 60 REV. 1.1, OCT. 31, 2013 MX25L12873F Security Register The definition of the Security Register bits is as below: Write Protection Selection bit. Please reference to "Write Protection Selection" Erase Fail bit. The Erase Fail bit is a status flag, which shows the status of last Erase operation. It will be set to "1", if the erase operation fails. It will be set to "0", if the last operation is success. Please note that it will not interrupt or stop any operation in the flash memory. Program Fail bit. The Program Fail bit is a status flag, which shows the status of last Program operation. It will be set to "1", if the program operation fails or the program region is protected. It will be set to "0", if the last operation is success. Please note that it will 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 chip 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 cus tomer 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 it is in 4K-bit secured OTP mode, main array access is not allowed. Table 9. Security Register Definition bit7 bit6 bit5 bit4 WPSEL E_FAIL P_FAIL Reserved 0=normal WP mode 1=individual mode (default=0) 0=normal Erase succeed 1=indicate Erase failed (default=0) 0=normal Program succeed 1=indicate Program failed (default=0) - 0=Erase is not suspended 1= Erase suspended (default=0) Non-volatile bit (OTP) Volatile bit Volatile bit Volatile bit Volatile bit P/N: PM1914 bit3 bit2 ESB PSB (Erase (Program Suspend bit) Suspend bit) 61 bit1 bit0 LDSO Secured OTP (indicate if indicator bit lock-down) 0 = not lock0=Program down 0 = nonis not 1 = lock-down factory suspended (cannot lock 1= Program program/ 1 = factory suspended erase lock (default=0) OTP) Non-volatile Non-volatile Volatile bit bit bit (OTP) (OTP) REV. 1.1, OCT. 31, 2013 MX25L12873F 9-31.Write Protection Selection (WPSEL) There are two write protection methods provided on this device, (1) Block Lock (BP) protection mode (2) Advance Sector protection mode. If WPSEL=0, flash is under BP protection mode . If WPSEL=1, flash is under Advance Sector protection mode. The default value of WPSEL is “0”. WPSEL command can be used to set WPSEL=1. Please note that WPSEL is an OTP bit. Once WPSEL is set to 1, there is no chance to recovery WPSEL back to “0”. If the flash is put on BP mode, the Advance Sector protection mode is disabled. Contrarily, if flash is on the Advance Sector protection mode, the BP mode is disabled. Every time after the system is powered-on, and the Security Register bit 7 is checked to be WPSEL=1, all the blocks or sectors will be write protected by Dynamic Protected Bit (DPB) in default. User may only unlock the blocks or sectors via GBULK instruction. Program or erase functions can only be operated after the Unlock instruction is conducted. When WPSEL = 0: Block Lock (BP) protection mode, Array is protected by BP3~BP0, where SRWD is bit 7 of status register that can be set by WRSR command. When WPSEL =1: Advance Sector protection mode, Blocks are individually protected by their own SPB or DPB lock bits which are set to “1” after power up. When the system accepts and executes WPSEL instruction, the bit 7 in security register will be set. It will activate WRLR, RDLR, WRPASS, RDPASS, PASSULK, WRSPB, ESSPB, SPBLK, RDSPBLK, WRDPB, RDDPB, GBLK, GBULK etc instructions to conduct block lock protection and replace the original Software Protect Mode (SPM) use (BP3~BP0) indicated block methods. The sequence of issuing WPSEL instruction is: CS# goes low → sending WPSEL instruction to enter the individual block protect mode → CS# goes high. Write Protection Selection Start (Default in BP Mode) WPSEL=1 Set WPSEL Bit Advance Sector Protection Set Lock Register WPSEL=0 Block Protection (BP) Bit 1 =0 Bit 2 =0 Password Protection P/N: PM1914 Solid Protection 62 Dynamic Protection REV. 1.1, OCT. 31, 2013 MX25L12873F Figure 55. WPSEL Flow start WREN command RDSCUR command Yes WPSEL=1? No WPSEL disable, block protected by BP[3:0] WPSEL command RDSR command WIP=0? No Yes RDSCUR command WPSEL=1? No Yes WPSEL set successfully WPSEL set fail WPSEL enable. Block protected by Advance Sector Protection P/N: PM1914 63 REV. 1.1, OCT. 31, 2013 MX25L12873F 9-32.Advanced Sector Protection There are two ways to implement software Advanced Sector Protection on this device: Password method or Solid method. Through these two protection methods, user can disable or enable the programming or erasing operation to any individual sector or all sectors. There is a non-volatile (SPB) and volatile (DPB) protection bit related to the single sector in main flash array. Each of the sectors is protected from programming or erasing operation when the bit is set. The temporary unprotect solid write protect bit (USPB) can temporarily unprotect the sectors protected by SPB. The figure below helps describing an overview of these methods. The device is default to the Solid mode when shipped from factory. The detail algorithm of advanced sector protection is shown as follows: Figure 56. Advanced Sector Protection Overview Start Bit 1=0 Bit 2=0 Set Lock Register ? Solid Protection Mode Password Protection Mode Set 64 bit Password Set SPB Lock Bit ? SPBLK = 0 SPB Lock bit locked All SPB can not be changeable SPBLK = 1 SPB Lock bit Unlocked SPB is changeable Dynamic Protect Bit Register (DPB) DPB=1 sector protect Sector Array DPB=0 sector unprotect P/N: PM1914 SPB Access Register (SPB) Temporary Unprotect SPB bit (USPB) SPB=1 Write Protect USPB=0 SPB bit is disabled SPB=0 Write Unprotect USPB=1 SPB bit is effective DPB 0 SA 0 SPB 0 DPB 1 SA 1 SPB 1 DPB 2 SA 2 SPB 2 : : : : : : DPB N-1 SA N-1 SPB N-1 DPB N SA N SPB N 64 USPB REV. 1.1, OCT. 31, 2013 MX25L12873F 9-32-1.Lock Register User can choose favorite sector protecting method via setting Lock Register bits 1 and 2. Lock Register is a 16bit one-time programmable register. Once bit 1 or bit 2 has been programmed (cleared to "0"), they will be locked in that mode and the others will be disabled permanently. Bit 1 and bit 2 can not be programmed at the same time, otherwise the device will abort the operation. If user selects Password Protection mode, the password setting is required. User can set password by issuing WRPASS command. Lock Register Bit 15-3 Reserved x OTP Bit 2 Password Protection Mode Lock Bit 0=Password Protection Mode Enable 1= Password Protection Mode not enable (Default =1) OTP Bit 1 Solid Protection Mode Lock Bit Bit0 Reserved 0=Solid Protection Mode Enable 1= Solid Protection Mode not enable (Default =1) x OTP OTP Notes: 1. While bit 2 or bit 1 has been "0" status, other bits can't be changed any more. If set lock register program mode, program fail will be set to "1". 2. While bit 2 and bit 1 is "1" status,other bits can be programmed, program fail will be set to "1". Figure 57. Read Lock Register (RDLR) Sequence CS# Mode 3 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 SCLK Mode 0 command 2Dh SI Register Out High-Z SO 7 6 5 4 3 2 Register Out 0 15 14 13 12 11 10 9 1 8 7 MSB MSB Figure 58. Write Lock Register (WRLR) 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 23 SCLK Mode 0 SI SO P/N: PM1914 Command 2Ch High-Z Lock Register In 7 6 5 4 3 2 1 0 15 14 13 12 11 10 9 8 MSB 65 REV. 1.1, OCT. 31, 2013 MX25L12873F 9-32-2.SPB Lock Bit (SPBLB) The Solid Protection Bit Lock Bit (SPBLB) is assigned to control all SPB status. It is unique and volatile. The default status of this register is determined by Lock Register bit 1 and bit 2 status. Refer to "SPB Lock Register" for more SPB Lock information. When under Solid Protect Mode, there is no software command sequence requested to unlock this bit. To clear the SPB lock bit, just take the device through a reset or a power-up cycle. When under Password Protection Mode, in order to prevent modification, the SPB Lock Bit must be set after all SPBs are setting the desired status. SPB Lock Register Bit 7-1 Description Reserved 0 SPBLK (Lock SPB Bit) Bit Status X 0= SPB bit protected 1= SPB bit unprotected Default 0000000 Solid protected Mode=1 Password Protected Mode=0 Type Volatile Volatile Figure 59. SPB Lock Bit Set (SPBLK) Sequence CS# 0 Mode 3 1 2 3 4 5 6 7 SCLK Mode 0 Command SI A6h High-Z SO Figure 60. Read SPB Lock Register (RDSPBLK) Sequence CS# Mode 3 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 SCLK Mode 0 command A7h SI SO High-Z Register Out 7 6 5 4 2 1 0 7 6 5 4 3 2 1 0 7 MSB MSB P/N: PM1914 3 Register Out 66 REV. 1.1, OCT. 31, 2013 MX25L12873F 9-32-3.Solid Protection Bits The Solid write Protection bit (SPB) is a nonvolatile bit with the same endurances as the Flash memory. It is assigned to each sector individually. When a SPB is set to “1”, the associated sector may be protected, preventing any program or erase operation on this sector. The SPB bits are set individually by WRSPB command. However, it cannot be cleared individually. Issuing the ESSPB command will erase all SPB in the same time. To unprotect a protected sector (corresponding SPB cleared to “0”), the SPB lock bit must be unlocked first. Under password protection mode (lock register bit 2 set as "0"), a PASSULK command is requested before unlocking SPB lock bit. However, while the device is under Solid Protection mode (lock register bit 1 set as "0"), just a reset or a power-up cycle can unlock the SPB lock bit. After the SPB lock bit unlocked, the SPB status can be changed for desired settings. To lock the Solid Protection Bits after the modification has finished, the SPB Lock Bit must be set once again. To verify the programming state of the SPB for a given sector, issuing a RDSPB Command to the device is required. Note: 1. Once SPB Lock Bit is set, its program or erase command will not be executed and time-out without programming or erasing the SPB. SPB Register Bit Description 7 to 0 SPB (Solid protected Bit) P/N: PM1914 Bit Status 00h= SPB for the sector address unprotected FFh= SPB for the sector address protected 67 Default Type 00h Non-volatile REV. 1.1, OCT. 31, 2013 MX25L12873F Figure 61. Read SPB Status (RDSPB) Sequence CS# Mode 3 0 1 2 3 4 5 6 7 8 37 38 39 40 41 42 43 44 45 46 47 9 SCLK Mode 0 Command SI 32-Bit Address (Note) E2h A31 A30 A2 A1 A0 MSB Data Out High-Z SO 7 6 5 4 3 2 1 0 MSB Note: One dummy byte follow 3-byte address. Figure 62. SPB Erase (ESSPB) Sequence CS# 1 0 Mode 3 2 3 4 5 6 7 SCLK Mode 0 Command SI E4h High-Z SO Figure 63. SPB Program (WRSPB) Sequence CS# Mode 3 0 1 2 3 4 5 6 7 8 9 37 38 39 SCLK Mode 0 SI Command 32-Bit Address (Note) E3h A31 A30 A2 A1 A0 MSB Note: One dummy byte follow 3-byte address. P/N: PM1914 68 REV. 1.1, OCT. 31, 2013 MX25L12873F 9-32-4.Dynamic Write Protection Bits The Dynamic Protection features a volatile type protection to each individual sector. It can protect sectors from unintentional change, and is easy to disable when there are necessary changes. All DPBs are default as protected (FFh) after reset or upon power up cycle. Via setting up Dynamic Protection bit (DPB) by write DPB command (WRDPB), user can cancel the Dynamic Protection of associated sector. The Dynamic Protection only works on those unprotected sectors whose SPBs are cleared. After the DPB state is cleared to “0”, the sector can be modified if the SPB state is unprotected state. DPB Register Bit 7 to 0 Description Bit Status Default 00h= DPB for the sector address unprotected DPB (Dynamic protected Bit) FFh FFh= DPB for the sector address protected Type Volatile Figure 64. Read DPB Register (RDDPB) Sequence CS# 0 Mode 3 1 2 3 4 5 6 7 8 37 38 39 40 41 42 43 44 45 46 47 9 SCLK Mode 0 Command SI 32-Bit Address (Note) E0h A31 A30 A2 A1 A0 MSB Data Out High-Z SO 7 6 5 4 3 2 1 0 MSB Note: One dummy byte follow 3-byte address. Figure 65. Write DPB Register (WRDPB) Sequence CS# Mode 3 0 1 2 3 4 5 6 7 8 37 38 39 40 41 42 43 44 45 46 47 9 SCLK Mode 0 SI Command E1h Data Byte 1 32-Bit Address (Note) A31 A30 A2 A1 A0 MSB 7 6 5 4 3 2 1 0 MSB Note: One dummy byte follow 3-byte address. P/N: PM1914 69 REV. 1.1, OCT. 31, 2013 MX25L12873F 9-32-5.Temporary Un-protect Solid write protect bit (USPB) Temporary Un-protect Solid write Protect Bit is volatile bit. Software can temporarily unprotect write protect sectors despite of SPBs' property when DPBs are cleared. While the USPB=1, all the SPBs’ property is masked. Notes: 1. Upon power up, the USPB status is default protected. The USPB can be unprotected (to “0”) or protected (to “1”) as often as needed. The hardware reset will reset USPB/DPB to their default values. 2. Please refer to "9-32-7. Sector Protection States Summary Table" for the sector state with the protection status of DPB/SPB/USPB bits. 9-32-6.Gang Block Lock/Unlock (GBLK/GBULK) These instructions are only effective after WPSEL was executed. The GBLK/GBULK instruction is a chip-based protected or unprotected operation. It can enable or disable all DPB. The WREN (Write Enable) instruction is required before issuing GBLK/GBULK instruction. The sequence of issuing GBLK/GBULK instruction is: CS# goes low → send GBLK/GBULK (7Eh/98h) instruction →CS# goes high. Both SPI (8 clocks) and QPI (2 clocks) command cycle can accept by this instruction. The SIO[3:1] are don't care when during SPI mode. The CS# must go high exactly at the byte boundary, otherwise, the instruction will be rejected and not be executed. 9-32-7.Sector Protection States Summary Table DPB bit 0 0 0 0 1 1 1 1 P/N: PM1914 Protection Status SPB bit 0 0 1 1 0 0 1 1 Sector State USPB bit 0 1 0 1 0 1 0 1 Unprotect Unprotect Unprotect Protect Protect Protect Protect Protect 70 REV. 1.1, OCT. 31, 2013 MX25L12873F 9-33.Password Protection Mode The security level of Password Protection Method is higher than the Solid protection mode. The 64 bit password is requested before modify SPB lock bit status. When device is under password protection mode, the SPB lock bit is cleared to “0”, after a power-up cycle or Reset Command. A correct password is required for password Unlock command, to unlock the SPB lock bit. Await 2us is necessary to unlocked the device after valid password is given. After that, the SPB bits are allows to be changed. The Password Unlock command are issued slower than 2us every time, to prevent hacker from trying all the 64-bit password combinations. To place the device in password protection mode, a few more steps are required. First, prior to entering the password protection mode, it is necessary to set a 64-bit password to verify it. Password verification is only allowed during the password programming operation. Second, the password protection mode is then 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, and the device remains permanently in password protection mode, and the 64-bit password can neither be retrieved nor reprogrammed. Moreover, all commands to the address where the password is stored are disabled. The password is all “1”s when shipped from the factory, it is only capable of programming "0"s under password program command. All 64-bit password combinations are valid as a password. No special address is required for programming the password. The password is no longer readable after the Password Protection mode is selected by programming Lock register bit 2 to "0". Once sector under protected status, device will ignores the program/erase command, enable status polling and returns to read mode without contents change. The DPB, SPB and SPB lock bit status of each sector can be verified by issuing DPB, SPB and SPB Lock bit read commands. ● The unlock operation may fail if the password provided by password unlock command does not match the previously entered password. It causes the same result when a programming operation is performed on a protected sector. The P_ERR bit is set to 1 and the WIP Bit remains set. ● It is not allowed to execute the Password Unlock command faster than every 100us ± 20us. The reason behind it is to make it impossible to hack into the system by running through all the combinations of a set of 64-bit password (58 million years). To verify if the device has completed the password unlock command and is available to process a new password command, the Read Status Register command is needed to read the WIP bit. When a valid password is provided the password unlock command does not insert the 100us delay before returning the WIP bit to zero. ● It is not feasible to set the SPB Lock bit if the password is missing after the Password Mode is selected. Password Register (PASS) Bits Field Function Type Name 63 to 0 PWD P/N: PM1914 Description Default State Non-volatile OTP storage of 64 bit password. The Hidden password is no longer readable after the password OTP FFFFFFFFFFFFFFFFh Password protection mode is selected by programming Lock register bit 2 to zero. 71 REV. 1.1, OCT. 31, 2013 MX25L12873F Figure 66. Read Password Register (RDPASS) Sequence CS# Mode 3 0 1 2 3 4 5 6 7 8 69 70 71 72 73 9 SCLK Mode 0 Command SI 27h Data Out 1 High-Z SO 7 Data Out 2 6 58 57 56 7 6 MSB MSB Figure 67. Write Password Register (WRPASS) Sequence CS# Mode 3 0 1 2 3 4 5 6 7 8 69 70 71 9 SCLK Mode 0 Command SI Password 7 28h 6 58 57 56 9 69 70 71 MSB SO High-Z Figure 68. Password Unlock (PASSULK) Sequence CS# Mode 3 0 1 2 3 4 5 6 7 8 SCLK Mode 0 SI Command Password 7 29h 6 58 57 56 MSB SO P/N: PM1914 High-Z 72 REV. 1.1, OCT. 31, 2013 MX25L12873F 9-34.Program/Erase Suspend/Resume 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 9. Security Register Definition") The latency time of erase operation : Suspend to suspend ready timing: 20us. Resume to another suspend timing: 1ms. Both SPI (8 clocks) and QPI (2 clocks) command cycle can accept by this instruction. The SIO[3:1] are don't care when during SPI mode. 9-35.Erase Suspend 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, 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 20us time 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. 9-36.Program Suspend Program suspend allows the interruption of all program operations. After the device has entered ProgramSuspended 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, 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. P/N: PM1914 73 REV. 1.1, OCT. 31, 2013 MX25L12873F Figure 69. Suspend to Read Latency CS# Suspend Command [B0] Program latency : 20us Erase latency:20us Read Command Figure 70. Resume to Read Latency CS# Resume Command [30] TSE/TBE/TPP Read Command Figure 71. Resume to Suspend Latency CS# P/N: PM1914 Resume Command [30] 1ms 74 Suspend Command [B0] REV. 1.1, OCT. 31, 2013 MX25L12873F 9-37.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 "06") is not required to issue before resume. Resume to another suspend operation requires latency time of 1ms. Please note that, if "performance enhance mode" is executed during suspend operation, the device can not be resumed. To restart the write command, disable the "performance enhance mode" is required. After the "performance enhance mode" is disabled, the write-resume command is effective. 9-38.No Operation (NOP) 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 accept by this instruction. The SIO[3:1] are don't care during SPI mode. 9-39.Software Reset (Reset-Enable (RSTEN) and Reset (RST)) The Software Reset operation combines two instructions: Reset-Enable (RSTEN) command following a Reset (RST) command. It returns the device to a 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 accept by this instruction. The SIO[3:1] are don't care when 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 14. Reset Timing(Other Operation)" for tREADY2. P/N: PM1914 75 REV. 1.1, OCT. 31, 2013 MX25L12873F Figure 72. Software Reset Recovery Stand-by Mode 66 CS# 99 tREADY2 Mode Note: Refer to "Table 14. Reset Timing-(Other Operation)" for tREADY2. Figure 73. Reset Sequence (SPI mode) tSHSL CS# SCLK Mode 3 Mode 3 Mode 0 Mode 0 Command Command 99h 66h SIO0 Figure 74. Reset Sequence (QPI mode) tSHSL CS# MODE 3 MODE 3 MODE 3 SCLK MODE 0 SIO[3:0] P/N: PM1914 Command MODE 0 66h Command MODE 0 99h 76 REV. 1.1, OCT. 31, 2013 MX25L12873F 9-40.Read SFDP Mode (RDSFDP) 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. SFDP is a JEDEC Standard, JESD216. Figure 75. Read Serial Flash Discoverable Parameter (RDSFDP) Sequence CS# 0 1 2 3 4 5 6 7 8 9 10 28 29 30 31 SCLK Command SI SO 24 BIT ADDRESS 23 22 21 5Ah 3 2 1 0 High-Z 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 DATA OUT 2 DATA OUT 1 SO 7 6 5 3 2 1 0 7 MSB MSB P/N: PM1914 4 77 6 5 4 3 2 1 0 7 MSB REV. 1.1, OCT. 31, 2013 MX25L12873F Table 10. Signature and Parameter Identification Data Values Description SFDP Signature Comment Fixed: 50444653h Add (h) DW Add (Byte) (Bit) 00h 07:00 Data (h/b) note1 53h Data (h) 53h 01h 15:08 46h 46h 02h 23:16 44h 44h 03h 31:24 50h 50h SFDP Minor Revision Number Start from 00h 04h 07:00 00h 00h SFDP Major Revision Number Start from 01h This number is 0-based. Therefore, 0 indicates 1 parameter header. 05h 15:08 01h 01h 06h 23:16 01h 01h 07h 31:24 FFh FFh 00h: it indicates a JEDEC specified header. 08h 07:00 00h 00h Start from 00h 09h 15:08 00h 00h Start from 01h 0Ah 23:16 01h 01h How many DWORDs in the Parameter table 0Bh 31:24 09h 09h 0Ch 07:00 30h 30h 0Dh 15:08 00h 00h 0Eh 23:16 00h 00h 0Fh 31:24 FFh FFh it indicates Macronix manufacturer ID 10h 07:00 C2h C2h Start from 00h 11h 15:08 00h 00h Start from 01h 12h 23:16 01h 01h How many DWORDs in the Parameter table 13h 31:24 04h 04h 14h 07:00 60h 60h 15h 15:08 00h 00h 16h 23:16 00h 00h 17h 31:24 FFh FFh Number of Parameter Headers Unused ID number (JEDEC) Parameter Table Minor Revision Number Parameter Table Major Revision Number Parameter Table Length (in double word) Parameter Table Pointer (PTP) First address of JEDEC Flash Parameter table Unused ID number (Macronix manufacturer ID) Parameter Table Minor Revision Number Parameter Table Major Revision Number Parameter Table Length (in double word) Parameter Table Pointer (PTP) First address of Macronix Flash Parameter table Unused P/N: PM1914 78 REV. 1.1, OCT. 31, 2013 MX25L12873F Table 11. Parameter Table (0): JEDEC Flash Parameter Tables Description Comment Block/Sector Erase sizes 00: Reserved, 01: 4KB erase, 10: Reserved, 11: not support 4KB erase Write Granularity 0: 1Byte, 1: 64Byte or larger Write Enable Instruction Required 0: not required for Writing to Volatile Status 1: required 00h to be written to the Registers status register Add (h) DW Add (Byte) (Bit) 31h (1-1-2) Fast Read (Note2) 0=not support 1=support Address Bytes Number used in addressing flash array Double Transfer Rate (DTR) Clocking 00: 3Byte only, 01: 3 or 4Byte, 10: 4Byte only, 11: Reserved 01:00 01b 02 1b 03 0b 30h 0: use 50h opcode, 1: use 06h opcode Write Enable Opcode Select for Note: If target flash status register is Writing to Volatile Status Registers nonvolatile, then bits 3 and 4 must be set to 00b. Contains 111b and can never be Unused changed 4KB Erase Opcode Data (h/b) note1 0=not support 1=support 32h Data (h) E5h 04 0b 07:05 111b 15:08 20h 16 1b 18:17 00b 19 0b 20 1b 20h F1h (1-2-2) Fast Read 0=not support 1=support (1-4-4) Fast Read 0=not support 1=support 21 1b (1-1-4) Fast Read 0=not support 1=support 22 1b 23 1b 33h 31:24 FFh 37h:34h 31:00 07FF FFFFh Unused Unused Flash Memory Density (1-4-4) Fast Read Number of Wait 0 0000b: Wait states (Dummy states (Note3) Clocks) not support (1-4-4) Fast Read Number of 000b: Mode Bits not support Mode Bits (Note4) 38h (1-4-4) Fast Read Opcode 39h (1-1-4) Fast Read Number of Wait 0 0000b: Wait states (Dummy states Clocks) not support (1-1-4) Fast Read Number of 000b: Mode Bits not support Mode Bits 3Ah (1-1-4) Fast Read Opcode 3Bh P/N: PM1914 79 04:00 0 0100b 07:05 010b 15:08 EBh 20:16 0 1000b 23:21 000b 31:24 6Bh FFh 44h EBh 08h 6Bh REV. 1.1, OCT. 31, 2013 MX25L12873F Description Comment (1-1-2) Fast Read Number of Wait 0 0000b: Wait states (Dummy states Clocks) not supported (1-1-2) Fast Read Number of 000b: Mode Bits not supported Mode Bits Add (h) DW Add (Byte) (Bit) 3Ch (1-1-2) Fast Read Opcode 3Dh (1-2-2) Fast Read Number of Wait 0 0000b: Wait states (Dummy states Clocks) not supported (1-2-2) Fast Read Number of 000b: Mode Bits not supported Mode Bits 3Eh (1-2-2) Fast Read Opcode 3Fh (2-2-2) Fast Read 0=not support 1=support Unused (4-4-4) Fast Read 40h 0=not support 1=support Unused Data (h/b) note1 04:00 0 1000b 07:05 000b 15:08 3Bh 20:16 0 0100b 23:21 000b 31:24 BBh 00 0b 03:01 111b 04 1b 07:05 111b Data (h) 08h 3Bh 04h BBh FEh Unused 43h:41h 31:08 FFh FFh Unused 45h:44h 15:00 FFh FFh 20:16 0 0000b 23:21 000b (2-2-2) Fast Read Number of Wait 0 0000b: Wait states (Dummy states Clocks) not supported (2-2-2) Fast Read Number of 000b: Mode Bits not supported Mode Bits 46h (2-2-2) Fast Read Opcode 47h 31:24 FFh FFh 49h:48h 15:00 FFh FFh 20:16 0 0100b 23:21 010b Unused 00h (4-4-4) Fast Read Number of Wait 0 0000b: Wait states (Dummy states Clocks) not supported (4-4-4) Fast Read Number of 000b: Mode Bits not supported Mode Bits 4Ah (4-4-4) Fast Read Opcode 4Bh 31:24 EBh EBh 4Ch 07:00 0Ch 0Ch 4Dh 15:08 20h 20h 4Eh 23:16 0Fh 0Fh 4Fh 31:24 52h 52h 50h 07:00 10h 10h 51h 15:08 D8h D8h 52h 23:16 00h 00h 53h 31:24 FFh FFh Sector Type 1 Size (Note5) Sector/block size = 2^N bytes 0x00b: this sector type doesn't exist Sector Type 1 erase Opcode Sector Type 2 Size Sector/block size = 2^N bytes 0x00b: this sector type doesn't exist Sector Type 2 erase Opcode Sector Type 3 Size Sector/block size = 2^N bytes 0x00b: this sector type doesn't exist Sector Type 3 erase Opcode Sector Type 4 Size Sector/block size = 2^N bytes 0x00b: this sector type doesn't exist Sector Type 4 erase Opcode P/N: PM1914 80 44h REV. 1.1, OCT. 31, 2013 MX25L12873F Table 12. Parameter Table (1): Macronix Flash Parameter Tables Description Comment Add (h) DW Add (Byte) (Bit) Data (h/b) note1 Data (h) Vcc Supply Maximum Voltage 2000h=2.000V 2700h=2.700V 3600h=3.600V 61h:60h 07:00 15:08 00h 36h 00h 36h Vcc Supply Minimum Voltage 1650h=1.650V 2250h=2.250V 2350h=2.350V 2700h=2.700V 63h:62h 23:16 31:24 00h 27h 00h 27h H/W Reset# pin 0=not support 1=support 00 0b H/W Hold# pin 0=not support 1=support 01 0b Deep Power Down Mode 0=not support 1=support 02 1b S/W Reset 0=not support 1=support 03 1b S/W Reset Opcode Reset Enable (66h) should be issued 65h:64h before Reset Opcode Program Suspend/Resume 0=not support 1=support 12 1b Erase Suspend/Resume 0=not support 1=support 13 1b 14 1b 15 1b 66h 23:16 C0h C0h 67h 31:24 64h 64h Unused Wrap-Around Read mode 0=not support 1=support Wrap-Around Read mode Opcode 11:04 1001 1001b F99Ch (99h) Wrap-Around Read data length 08h:support 8B wrap-around read 16h:8B&16B 32h:8B&16B&32B 64h:8B&16B&32B&64B Individual block lock 0=not support 1=support 00 1b Individual block lock bit (Volatile/Nonvolatile) 0=Volatile 1=Nonvolatile 01 0b 09:02 1110 0001b (E1h) 10 0b 11 1b Individual block lock Opcode Individual block lock Volatile protect bit default protect status 0=protect 1=unprotect Secured OTP 0=not support 1=support Read Lock 0=not support 1=support 12 0b Permanent Lock 0=not support 1=support 13 0b Unused 15:14 11b Unused 31:16 FFh FFh [31:00] FFh FFh Unused P/N: PM1914 6Bh:68h 6Fh:6Ch 81 CB85h REV. 1.1, OCT. 31, 2013 MX25L12873F Note 1:h/b is hexadecimal or binary. Note 2:(x-y-z) means I/O mode nomenclature used to indicate the number of active pins used for the opcode (x), address (y), and data (z). At the present time, the only valid Read SFDP instruction modes are: (1-1-1), (2-2-2), and (4-4-4) Note 3:Wait States is required dummy clock cycles after the address bits or optional mode bits. Note 4:Mode Bits is optional control bits that follow the address bits. These bits are driven by the system controller if they are specified. (eg,read performance enhance toggling bits) Note 5:4KB=2^0Ch,32KB=2^0Fh,64KB=2^10h Note 6:All unused and undefined area data is blank FFh. P/N: PM1914 82 REV. 1.1, OCT. 31, 2013 MX25L12873F 10. RESET Driving the RESET# pin low for a period of tRLRH or longer will reset the device. After reset cycle, the device is at 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. Figure 76. RESET Timing CS# tRHSL SCLK tRH tRS RESET# tRLRH tREADY1 / tREADY2 Table 13. Reset Timing-(Power On) Symbol Parameter tRHSL Reset# high before CS# low tRS Reset# setup time tRH Reset# hold time tRLRH Reset# low pulse width tREADY1 Reset Recovery time Min. 10 15 15 10 35 Typ. Max. Unit us ns ns us us Min. 10 15 15 10 40 35 310 12 25 100 40 Typ. Max. Unit us ns ns us us us us ms ms ms ms Table 14. Reset Timing-(Other Operation) Symbol tRHSL tRS tRH tRLRH Parameter Reset# high before CS# low Reset# setup time Reset# hold time Reset# low pulse width Reset Recovery time (During instruction decoding) Reset Recovery time (for read operation) Reset Recovery time (for program operation) tREADY2 Reset Recovery time(for SE4KB operation) Reset Recovery time (for BE64K/BE32KB operation) Reset Recovery time (for Chip Erase operation) Reset Recovery time (for WRSR operation) P/N: PM1914 83 REV. 1.1, OCT. 31, 2013 MX25L12873F 11. POWER-ON STATE The device is at below states when power-up: - Standby mode (please note it is not deep power-down mode) - Write Enable Latch (WEL) bit is reset The device must not be selected during power-up and power-down stage unless the VCC achieves below correct level: - 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 read, write, erase, and program command should be sent after the below time delay: - tVSL after VCC reached VCC minimum level Please refer to the "Figure 83. 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 the stage while a write, program, erase cycle is in progress. P/N: PM1914 84 REV. 1.1, OCT. 31, 2013 MX25L12873F 12. ELECTRICAL SPECIFICATIONS Table 15. ABSOLUTE MAXIMUM RATINGS 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 Vss to -2.0V and Vcc to +2.0V for periods up to 20ns, see Figure 77 and Figure 78. Figure 78. Maximum Positive Overshoot Waveform Figure 77. Maximum Negative Overshoot Waveform 20ns 20ns 20ns Vss Vcc + 2.0V Vss-2.0V Vcc 20ns 20ns 20ns Table 16. CAPACITANCE TA = 25°C, f = 1.0 MHz Symbol Parameter CIN COUT P/N: PM1914 Min. Typ. Max. Unit Input Capacitance 6 pF VIN = 0V Output Capacitance 8 pF VOUT = 0V 85 Conditions REV. 1.1, OCT. 31, 2013 MX25L12873F Figure 79. INPUT TEST WAVEFORMS AND MEASUREMENT LEVEL Input timing reference level 0.8VCC Output timing reference level 0.7VCC AC Measurement Level 0.8V 0.2VCC 0.5VCC Note: Input pulse rise and fall time are <5ns Figure 80. OUTPUT LOADING 25K ohm DEVICE UNDER TEST CL +3.0V 25K ohm CL=30pF Including jig capacitance P/N: PM1914 86 REV. 1.1, OCT. 31, 2013 MX25L12873F Table 17. DC CHARACTERISTICS (Temperature = -40°C to 85°C, VCC = 2.7V ~ 3.6V) Symbol Parameter Notes Min. Typ. Max. Units Test Conditions ILI Input Load Current 1 ±2 uA VCC = VCC Max, VIN = VCC or GND ILO Output Leakage Current 1 ±2 uA VCC = VCC Max, VOUT = VCC or GND ISB1 VCC Standby Current 1 10 50 uA VIN = VCC or GND, CS# = VCC ISB2 Deep Power-down Current 2 20 uA VIN = VCC or GND, CS# = VCC 25 mA f=133MHz, (4 x I/O read) SCLK=0.1VCC/0.9VCC, SO=Open 20 mA f=104MHz, (4 x I/O read) SCLK=0.1VCC/0.9VCC, SO=Open 15 mA f=84MHz, SCLK=0.1VCC/0.9VCC, SO=Open 14 20 mA 10 12 mA 1 14 25 mA Erase in Progress, CS#=VCC 1 14 25 mA Erase in Progress, CS#=VCC -0.5 0.8 V 0.7VCC VCC+0.4 V 0.2 V IOL = 100uA V IOH = -100uA ICC1 VCC Read VIL VCC Program Current (PP) VCC Write Status Register (WRSR) Current VCC Sector/Block (32K, 64K) Erase Current (SE/BE/BE32K) VCC Chip Erase Current (CE) Input Low Voltage VIH Input High Voltage VOL Output Low Voltage VOH Output High Voltage ICC2 ICC3 ICC4 ICC5 1 14 1 VCC-0.2 Program in Progress, CS# = VCC Program status register in progress, CS#=VCC 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. P/N: PM1914 87 REV. 1.1, OCT. 31, 2013 MX25L12873F Table 18. AC CHARACTERISTICS (Temperature = -40°C to 85°C, VCC = 2.7V ~ 3.6V) Symbol fSCLK fRSCLK fTSCLK Alt. fC fR fT fQ Parameter Clock Frequency for all commands (except Read) Clock Frequency for READ instructions Clock Frequency for 2READ instructions Clock Frequency for 4READ instructions tCH(1) tCLH Clock High Time tCL(1) tCLL Clock Low Time Others (fSCLK) Normal Read (fRSCLK) Others (fSCLK) Normal Read (fRSCLK) tCLCH(2) Clock Rise Time (peak to peak) tCHCL(2) Clock Fall Time (peak to peak) tSLCH tCSS CS# Active Setup Time (relative to SCLK) tCHSL CS# Not Active Hold Time (relative to SCLK) tDVCH tDSU Data In Setup Time tCHDX tDH Data In Hold Time tCHSH CS# Active Hold Time (relative to SCLK) tSHCH CS# Not Active Setup Time (relative to SCLK) Read tSHSL tCSH CS# Deselect Time Write/Erase/Program tSHQZ(2) tDIS Output Disable Time Clock Low to Output Valid Loading: 30pF tCLQV tV Loading: 30pF/15pF Loading: 15pF tCLQX tHO Output Hold Time tWHSL(3) Write Protect Setup Time tSHWL(3) Write Protect Hold Time tDP(2) CS# High to Deep Power-down Mode CS# High to Standby Mode without Electronic Signature tRES1(2) Read tRES2(2) CS# High to Standby Mode with Electronic Signature Read tW Write Status/Configuration Register Cycle Time tBP Byte-Program tPP Page Program Cycle Time tPP(5) Page Program Cycle Time (n bytes) tSE tBE32 tBE tCE Sector Erase Cycle Time Block Erase (32KB) Cycle Time Block Erase (64KB) Cycle Time Chip Erase Cycle Time Min. D.C. Typ. Max. 133 50 84(7) 84(7) 45% fTSCLK 7 45% fTSCLK 7 0.1 0.1 3 3 2 2 3 3 7 30 Unit MHz MHz MHz MHz ns ns ns 10 ns V/ns V/ns ns ns ns ns ns ns ns ns ns ns ns ns ns ns us 30 us 30 40 30 1.5 us ms us ms 1.5 ms 120 650 650 80 ms ms ms s 8 8 6 1 20 100 16 0.5 0.008+ (nx0.004) (6) 30 150 280 50 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 79 and Figure 80. 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. In the formula, while n=1, byte program time=12us. 7. By default dummy cycle value. Please refer to the "Table 1. Read performance Comparison". P/N: PM1914 88 REV. 1.1, OCT. 31, 2013 MX25L12873F 13. OPERATING CONDITIONS At Device Power-Up and Power-Down AC timing illustrated in "Figure 81. AC Timing at Device Power-Up" and "Figure 82. Power-Down Sequence" 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. Figure 81. AC Timing at Device Power-Up VCC VCC(min) GND tVR tSHSL CS# tSLCH tCHSL tCHSH tSHCH SCLK tDVCH tCHCL tCHDX LSB IN MSB IN SI High Impedance SO Symbol tVR tCLCH Parameter VCC Rise Time Notes 1 Min. 20 Max. 500000 Unit us/V Notes : 1.Sampled, not 100% tested. 2.For AC spec tCHSL, tSLCH, tDVCH, tCHDX, tSHSL, tCHSH, tSHCH, tCHCL, tCLCH in the figure, please refer to Table 17. AC CHARACTERISTICS. P/N: PM1914 89 REV. 1.1, OCT. 31, 2013 MX25L12873F Figure 82. Power-Down Sequence During power-down, CS# needs to follow the voltage drop on VCC to avoid mis-operation. VCC CS# SCLK Figure 83. Power-up Timing VCC VCC(max) Chip Selection is Not Allowed VCC(min) tVSL Device is fully accessible VWI time P/N: PM1914 90 REV. 1.1, OCT. 31, 2013 MX25L12873F Figure 84. Power Up/Down and Voltage Drop For Power-down to Power-up operation, the VCC of flash device must below VPWD for at least tPWD timing. Please check the table below for more detail. VCC VCC (max.) Chip Select is not allowed VCC (min.) tVSL Full Device Access Allowed VPWD (max.) tPWD Time Table 19. Power-Up/Down Voltage and Timing Symbol tVSL VWI VPWD tPWD tVR VCC Parameter VCC(min.) to device operation Command Inhibit Voltage VCC voltage needed to below VPWD for ensuring initialization will occur The minimum duration for ensuring initialization will occur VCC Rise Time VCC Power Supply Min. 800 2.3 300 20 2.7 Max. 2.5 0.9 500000 3.6 Unit us V V us us/V V Note: These parameters are characterized only. 13-1.INITIAL DELIVERY STATE 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). P/N: PM1914 91 REV. 1.1, OCT. 31, 2013 MX25L12873F 14. ERASE AND PROGRAMMING PERFORMANCE Parameter Typ. (1) Min. Max. (2) Unit 40 ms Write Status Register Cycle Time Sector Erase Cycle Time (4KB) 30 120 ms Block Erase Cycle Time (32KB) 0.15 0.65 s Block Erase Cycle Time (64KB) 0.28 0.65 s Chip Erase Cycle Time 50 80 s Byte Program Time (via page program command) 16 30 us Page Program Time 0.5 1.5 ms Erase/Program Cycle 100,000 cycles Note: 1. Typical program and erase time assumes the following conditions: 25°C, 3.3V, and all zero pattern. 2. Under worst conditions of 85°C and 2.7V. 3. System-level overhead is the time required to execute the first-bus-cycle sequence for the programming command. 4. The maximum chip programming time is evaluated under the worst conditions of 0°C, VCC=3.3V, and 100K cycle with 90% confidence level. 15. DATA RETENTION Parameter Condition Min. Data retention 55˚C 20 Max. Unit years 16. LATCH-UP CHARACTERISTICS Min. Max. Input Voltage with respect to GND on all power pins, SI, CS# -1.0V 2 VCCmax Input Voltage with respect to GND on SO -1.0V VCC + 1.0V -100mA +100mA Current Includes all pins except VCC. Test conditions: VCC = 3.0V, one pin at a time. P/N: PM1914 92 REV. 1.1, OCT. 31, 2013 MX25L12873F 17. ORDERING INFORMATION PART NO. CLOCK (MHz) TEMPERATURE PACKAGE MX25L12873FM2I-10G 104 -40°C~85°C 8-SOP (200mil) MX25L12873FMI-10G 104 -40°C~85°C 16-SOP (300mil) MX25L12873FZNI-10G 104 -40°C~85°C 8-WSON (6x5mm) P/N: PM1914 93 Remark REV. 1.1, OCT. 31, 2013 MX25L12873F 18. PART NAME DESCRIPTION MX 25 L 12873F M2 I 10 G OPTION: G: RoHS Compliant & Halogen-free SPEED: 10: 104MHz TEMPERATURE RANGE: I: Industrial (-40°C to 85°C) PACKAGE: M2: 8-SOP (200mil) M: 16-SOP (300mil) ZN: 8-WSON (6x5mm) DENSITY & MODE: 12873F: 128Mb, default Quad I/O enable, and can not be change TYPE: L: 3V DEVICE: 25: Serial Flash P/N: PM1914 94 REV. 1.1, OCT. 31, 2013 MX25L12873F 19. PACKAGE INFORMATION P/N: PM1914 95 REV. 1.1, OCT. 31, 2013 MX25L12873F P/N: PM1914 96 REV. 1.1, OCT. 31, 2013 MX25L12873F P/N: PM1914 97 REV. 1.1, OCT. 31, 2013 MX25L12873F 20. REVISION HISTORY Revision No.Description 1.0 1. Removed "Advanced Information" 2. Added RESET# information 3. Added USPB information 4. Added Power Up/Down and Voltage Drop information 5. Corrected content error 1.1 P/N: PM1914 Page P4 All P64,70 P91 P9,49,67,69, P76,85,88 Date MAR/22/2013 1. Updated parameters for DC/AC Characteristics P87,88 OCT/31/2013 2. Updated Erase and Programming Performance P92 3. Content correction P64~70 4. Modified VCC to Ground Potential parameterP85 98 REV. 1.1, OCT. 31, 2013 MX25L12873F 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. 2012~2013. All rights reserved, including the trademarks and tradename thereof, such as Macronix, MXIC, MXIC Logo, MX Logo, Integrated Solutions Provider, NBit, Nbit, NBiit, Macronix NBit, eLiteFlash, HybridNVM, HybridFlash, XtraROM, Phines, KH Logo, BE-SONOS, KSMC, Kingtech, MXSMIO, Macronix vEE, Macronix MAP, Rich Audio, Rich Book, Rich TV, and FitCAM. 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. 99