at25sl128 datasheet - mouser electronics · at25sl128 5 ds-25sl128–090a–4/2016 reset hold...
Post on 25-Aug-2019
222 Views
Preview:
TRANSCRIPT
DS-25SL128–090A–4/2016
Features
Single 1.65V - 1.95V Supply
Serial Peripheral Interface (SPI) and Quad Peripheral Interface (QPI) Compatible Supports SPI Modes 0 and 3 Supports Dual and Quad Output Read Supports QPI Output Read
104 MHz Maximum Operating Frequency Clock-to-Output (tV) of 7 ns
Full Chip Erase
Flexible, Optimized Erase Architecture for Code and Data Storage Applications 0.7 ms Typical Page Program (256 Bytes) Time 60 ms Typical 4-Kbyte Block Erase Time 200 ms Typical 32-Kbyte Block Erase Time 400 ms Typical 64-Kbyte Block Erase Time
Hardware Controlled Locking of Protected Blocks via WP Pin
HOLD or RESET Pin Option
Software and Hardware Write Protection
Three Protected Programmable Security Register Pages
Serial Flash Discoverable Parameters (SFDP) Register
Flexible Programming Byte/Page Program (1 to 256 Bytes) Quad Input Byte/Page Program (1 to 256 Bytes)
Erase Suspend and Resume
JEDEC Standard Manufacturer and Device ID Read Methodology
Low Power Dissipation 4µA Deep Power-Down Current (Typical) 40µA Standby current (Typical) 6mA Active Read Current (Typical)
Endurance: 100,000 program/erase cycles
Data Retention: 20 Years
Industrial Temperature Range: -40°C to +85°C
Industry Standard Green (Pb/Halide-free/RoHS Compliant) Package Options 8-lead SOIC (208-mil) 8-pad Ultra Thin DFN (6 x 5 x 0.8 mm) 9-ball Ultra Thin Ball Grid Array (UBGA) 21-ball die Ball Grid Array (dBGA - WLCSP) Die in Wafer Form
AT25SL128
128-Mbit, 1.65V Minimum SPI Serial Flash Memory with Dual I/O, Quad I/O and QPI Support
ADVANCE DATASHEET
2AT25SL128 DS-25SL128–090A–4/2016
1. IntroductionThe Adesto® AT25SL128 is a serial interface Flash memory device designed for use in a wide variety of high-volume consumer based applications in which program code is shadowed from Flash memory into embedded or external RAM for execution. The flexible erase architecture of the AT25SL128 is ideal for data storage as well, eliminating the need for additional data storage devices.
The erase block sizes of the AT25SL128 have been optimized to meet the needs of today's code and data storage applications. By optimizing the size of the erase blocks, the memory space can be used much more efficiently. Because certain code modules and data storage segments must reside by themselves in their own erase regions, the wasted and unused memory space that occurs with large block erase Flash memory devices can be greatly reduced. This increased memory space efficiency allows additional code routines and data storage segments to be added while still maintaining the same overall device density.
The device also contains three pages of Security Register that can be used for purposes such as unique device serialization, system-level Electronic Serial Number (ESN) storage, locked key storage, etc. These Security Register pages can be individually locked.
The following figures show the available package types.
Figure 1-1. 8-SOIC (Top View) Figure 1-2. 8-UDFN (Top View)
Figure 1-3. 9-ball UBGA (Top View) Figure 1-4. 21-WLCSP (Bottom View)
1234
8765
CSSOWP
GND
VCCHOLDSCKSI
CSSOWP
GND
1
2
3
4
8
7
6
5
VCCHOLDSCKSI
SCK GND VCC
WPNCCS
SO SI HOLD
NC
NC
NC
NC
NC NC
NC
NC
NC
NC
NC
NC
NC
GND I/O0(SI)
SCK
I/O1(SO)
Vcc
I/O3(HOLD)
I/O2(WP)
CS
3AT25SL128 DS-25SL128–090A–4/2016
2. Pin Descriptions and Pinouts
During all operations, VCC must be held stable and within the specified valid range: VCC (min) to VCC (max).
All of the input and output signals must be held high or low (according to voltages of VIH, VOH, VIL or VOL.
Table 2-1. Pin Descriptions
Symbol Name and FunctionAsserted
State Type
CS
CHIP SELECT
Asserting the CS pin selects the device. When the CS pin is deasserted, the device is deselected and normally placed in standby mode (not Deep Power-Down mode). The SO pin is placed in a high-impedance state. When the device is deselected, data is not accepted on the SI pin.A high-to-low transition on the CS pin is required to start an operation, and a low-to-high transition is required to end an operation. When ending an internally self-timed operation such as a program or erase cycle, the device does not enter the standby mode until the completion of the operation.
Low Input
SCK
SERIAL CLOCK
This pin is used to provide a clock to the device and is used to control the flow of data to and from the device. Command, address, and input data present on the SI pin is always latched in on the rising edge of SCK, while output data on the SO pin is always clocked out on the falling edge of SCK.
- Input
SI (I/O0)
SERIAL INPUT
The SI pin is used to shift data into the device. The SI pin is used for all data input including command and address sequences. Data on the SI pin is always latched in on the rising edge of SCK.
With the Dual-Output and Quad-Output Read commands, the SI Pin becomes an output pin (I/O0) in conjunction with other pins to allow two or four bits of data on (I/O3-0) to be clocked in on every falling edge of SCK
To maintain consistency with the SPI nomenclature, the SI (I/O0) pin is referenced as the SI pin unless specifically addressing the Dual-I/O and Quad-I/O modes in which case it is referenced as I/O0.
Data present on the SI pin is ignored whenever the device is deselected (CS is deasserted).
- Input/Output
SO (I/O1)
SERIAL OUTPUT
The SO pin is used to shift data out from the device. Data on the SO pin is always clocked out on the falling edge of SCK.
With the Dual-Output Read commands, the SO Pin remains an output pin (I/O0) in conjunction with other pins to allow two bits of data on (I/O1-0) to be clocked in on every falling edge of SCK
To maintain consistency with the SPI nomenclature, the SO (I/O1) pin is referenced as the SO pin unless specifically addressing the Dual-I/O modes in which case it is referenced as I/O1.
The SO pin is in a high-impedance state whenever the device is deselected (CS is deasserted).
- Input/Output
4AT25SL128 DS-25SL128–090A–4/2016
WP (I/O2)
WRITE PROTECT
The WP pin controls the hardware locking feature of the device.
With the Quad-Input Byte/Page Program command, the WP pin becomes an input pin (I/O2) and, along with other pins, allows four bits (on I/O3-0) of data to be clocked in on every rising edge of SCK. With the Quad-Output Read commands, the WP Pin becomes an output pin (I/O2) in conjunction with other pins to allow four bits of data on (I/O33-0) to be clocked in on every falling edge of SCK.
To maintain consistency with the SPI nomenclature, the WP (I/O2) pin is referenced as the WP pin unless specifically addressing the Quad-I/O modes in which case it is referenced as I/O2.
The WP pin is internally pulled-high and may be left floating if hardware controlled protection is not used. However, it is recommended that the WP pin also be externally connected to VCC whenever possible.
If WP is driven Low while the Status Register Protect bits (SRP1 and SRP0) of the Status Registers are set to 0 and 1 respectively, it is not possible to write to the Status Registers. This is done to prevent any alteration of the Status Registers. As a consequence, all the data bytes in the memory area that are protected by the Block Protect, TB, SEC bits in the status registers, are also hardware protected against data modification while WP remains Low. Note that the WP pin functionality is not available when Quad or QPI mode is enabled (QE).
- Input/Output
Table 2-1. Pin Descriptions (Continued)
Symbol Name and FunctionAsserted
State Type
5AT25SL128 DS-25SL128–090A–4/2016
RESET
HOLD (I/O3)
HOLD
The HOLD pin is used to temporarily pause serial communication without deselecting or resetting the device. While the HOLD pin is asserted, transitions on the SCK pin and data on the SI pin are ignored and the SO pin is placed in a high-impedance state.
The CS pin must be asserted, and the SCK pin must be in the low state in order for a Hold condition to start. A Hold condition pauses serial communication only and does not have an effect on internally self-timed operations such as a program or erase cycle.
With the Quad-Input Byte/Page Program command, the HOLD pin becomes an input pin (I/O3) and, along with other pins, allows four bits (on I/O3-0) of data to be clocked in on every rising edge of SCK. With the Quad-Output Read commands, the HOLD Pin becomes an output pin (I/O3) in conjunction with other pins to allow four bits of data on (I/O33-0) to be clocked in on every falling edge of SCK.
To maintain consistency with the SPI nomenclature, the HOLD (I/O3) pin is referenced as the HOLD pin unless specifically addressing the Quad-I/O modes in which case it is referenced as I/O3.
The HOLD pin is internally pulled-high and may be left floating if the Hold function is not used. However, it is recommended that the HOLD pin also be externally connected to VCC whenever possible.
When the QE bit in the Status register is cleared, the IO3 pin can be configured either as a HOLD pin or as a RESET pin depending on the state of the HOLD/RESET bit 7 in Status Register 3. Note that when the QE bit is set, the HOLD or RESET function is not available as this pin is used to transfer data.
- Input/Output
VCC
DEVICE POWER SUPPLY: VCC is the supply voltage. It is the single voltage used for all device functions including read, program, and erase.
The VCC pin is used to supply the source voltage to the device.
Operations at invalid VCC voltages may produce spurious results and should not be attempted.
- Power
GND
GROUND: VSS is the reference for the VCC supply voltage.
The ground reference for the power supply. GND should be connected to the system ground.
- Power
Table 2-1. Pin Descriptions (Continued)
Symbol Name and FunctionAsserted
State Type
6AT25SL128 DS-25SL128–090A–4/2016
3. Block Diagram
Figure 3-1 shows a block diagram of the AT25SL128 serial Flash.
Figure 3-1. AT25SL128 Block Diagram
FlashMemory
Array
Y-Gating
CS
SCK
Note: I/O3-0 pin naming convention is used for Dual-I/O and Quad-I/O commands.
SO (I/O1)
SI (I/O0)Y-Decoder
Add
ress
Lat
ch
X-Decoder
I/O Buffersand Latches
Control andProtection Logic
SRAMData Buffer
WP (I/O2)
InterfaceControl
AndLogic
HOLD (I/O3)
RESET or
7AT25SL128 DS-25SL128–090A–4/2016
4. Memory Array
To provide the greatest flexibility, the memory array of the AT25SL128 can be erased in four levels of granularity including a full chip erase. The size of the erase blocks is optimized for both code and data storage applications, allowing both code and data segments to reside in their own erase regions. The Memory Architecture Diagram illustrates the breakdown of each erase level.
Figure 4-1. Memory Architecture Diagram
64KB 32KB 4KB 1-256 Byte
4KB FFFFFFh – FFF000h 256 Bytes FFFFFFh – FFFF00h4KB FFEFFFh – FFE000h 256 Bytes FFFEFFh – FFFE00h4KB FFDFFFh – FFD000h 256 Bytes FFFDFFh - FFFD00h4KB FFCFFFh – FFC000h 256 Bytes FFFCFFh – FFFC00h4KB FFBFFFh – FFB000h 256 Bytes FFFBFFh – FFFB00h4KB FFAFFFh – FFA000h 256 Bytes FFFAFFh – FFFA00h4KB FF9FFFh – FF9000h 256 Bytes FFF9FFh – FFF900h4KB FF8FFFh – FF8000h 256 Bytes FFF8FFh – FFF800h4KB FF7FFFh – FF7000h 256 Bytes FFF7FFh – FFF700h4KB FF6FFFh – FF6000h 256 Bytes FFF6FFh – FFF600h4KB FF5FFFh – FF5000h 256 Bytes FFF5FFh – FFF500h4KB FF4FFFh – FF4000h 256 Bytes FFF4FFh – FFF400h4KB FF3FFFh – FF3000h 256 Bytes FFF3FFh – FFF300h4KB FF2FFFh – FF2000h 256 Bytes FFF2FFh – FFF200h4KB FF1FFFh – FF1000h 256 Bytes FFF1FFh – FFF100h4KB FF0FFFh – FF0000h 256 Bytes FFF0FFh – FFF000h4KB FEFFFFh – FEF000h 256 Bytes FFEFFFh – FFEF00h4KB FEEFFFh – FEE000h 256 Bytes FFEEFFh – FFEE00h4KB FEDFFFh – FED000h 256 Bytes FFEDFFh – FFED00h4KB FECFFFh – FEC000h 256 Bytes FFECFFh – FFEC00h4KB FEBFFFh – FEB000h 256 Bytes FFEBFFh – FFEB00h4KB FEAFFFh – FEA000h 256 Bytes FFEAFFh – FFEA00h4KB FE9FFFh – FE9000h 256 Bytes FFE9FFh – FFE900h4KB FE8FFFh – FE8000h 256 Bytes FFE8FFh – FFE800h4KB FE7FFFh – FE7000h4KB FE6FFFh – FE6000h4KB FE5FFFh – FE5000h4KB FE4FFFh – FE4000h 256 Bytes 0017FFh – 001700h4KB FE3FFFh – FE3000h 256 Bytes 0016FFh – 001600h4KB FE2FFFh – FE2000h 256 Bytes 0015FFh – 001500h4KB FE1FFFh – FE1000h 256 Bytes 0014FFh – 001400h4KB FE0FFFh – FE0000h 256 Bytes 0013FFh – 001300h
256 Bytes 0012FFh – 001200h256 Bytes 0011FFh – 001100h256 Bytes 0010FFh – 001000h
4KB 00FFFFh – 00F000h 256 Bytes 000FFFh – 000F00h4KB 00EFFFh – 00E000h 256 Bytes 000EFFh – 000E00h4KB 00DFFFh – 00D000h 256 Bytes 000DFFh – 000D00h4KB 00CFFFh – 00C000h 256 Bytes 000CFFh – 000C00h4KB 00BFFFh – 00B000h 256 Bytes 000BFFh – 000B00h4KB 00AFFFh – 00A000h 256 Bytes 000AFFh – 000A00h4KB 009FFFh – 009000h 256 Bytes 0009FFh – 000900h4KB 008FFFh – 008000h 256 Bytes 0008FFh – 000800h4KB 007FFFh – 007000h 256 Bytes 0007FFh – 000700h4KB 006FFFh – 006000h 256 Bytes 0006FFh – 000600h4KB 005FFFh – 005000h 256 Bytes 0005FFh – 000500h4KB 004FFFh – 004000h 256 Bytes 0004FFh – 000400h4KB 003FFFh – 003000h 256 Bytes 0003FFh – 000300h4KB 002FFFh – 002000h 256 Bytes 0002FFh – 000200h4KB 001FFFh – 001000h 256 Bytes 0001FFh – 000100h4KB 000FFFh – 000000h 256 Bytes 0000FFh – 000000h
• • •
Sector 0
Block Erase Detail Page Program DetailPage AddressBlock Address
Block509
Block508
Range
• • •
• • •
Range
Block0
Block1
• • •
Sector 255
Block 511
Block510
Sector 254
8AT25SL128 DS-25SL128–090A–4/2016
5. Device Operation
The AT25SL128 is controlled by a set of commands that are sent from a host controller, commonly referred to as the SPI Master. The SPI Master communicates with the AT25SL128 via the SPI bus which is comprised of four signal lines: Chip Select (CS), Serial Clock (SCK), Serial Input (SI), and Serial Output (SO).
The SPI protocol defines a total of four modes of operation (mode 0, 1, 2, or 3) with each mode differing in respect to the SCK polarity and phase and how the polarity and phase control the flow of data on the SPI bus. The AT25SL128 supports the two most common modes, SPI Modes 0 and 3. The only difference between SPI Modes 0 and 3 is the polarity of the SCK signal when in the inactive state (when the SPI Master is in standby mode and not transferring any data). With SPI Modes 0 and 3, data is always latched in on the rising edge of SCK and always output on the falling edge of SCK.
Figure 5-1. SPI Mode 0 and 3
5.1 Dual Output Read
The AT25SL128 features a Dual-Output Read mode that allow two bits of data to be clocked out of the device every clock cycle to improve throughput. To accomplish this, both the SI and SO pins are utilized as outputs for the transfer of data bytes. With the Dual-Output Read Array command, the SI pin becomes an output along with the SO pin.
Figure 5-2. Dual Output Read
5.2 Quad Output Read
The AT25SL128 features a Quad-Output Read mode that allow four bits of data to be clocked out of the device every clock cycle to improve throughput. To accomplish this, the SI, SO, WP, HOLD pins are utilized as outputs for the transfer of data bytes. With the Quad-Output Read Array command, the SI, WP, HOLD pins become outputs along with the SO pin.
Mode 3
Mode 0
SCK
SO
MSB MSB
2 310 6 754 10 1198 12 39 42 43414037 3833 36353431 3229 30 44 47 484645
A A A A A A AA AMSB
X X X X X X X X
MSB MSB MSB
D7
D6
D5
D4
D3
D2
D1
D0
D7
D6
D5
D4
D7
D6
D5
D4
D3
D2
D1
D0
OUTPUTDAT
OUTPUTDAT
HIGH-IMPEDANCE
9AT25SL128 DS-25SL128–090A–4/2016
Figure 5-3. Quad Output Read
5.3 QPI Read
The AT25SL128 features a QPI Read mode that allow four bits of data to be clocked out of the device every clock cycle to improve throughput. To accomplish this, the SI, SO, WP, HOLD pins are utilized as outputs throughout the entire transfer all bytes. With the QPI Read Array command, the SI, WP, HOLD pins become outputs along with the SO pin.
The main difference between the Quad Output command and the QPI command is that in QPI mode, all four pins are used to transfer each piece of information, including the command. In Quad Output mode, the command is transferred on the SI pin only. In QPI mode, the upper 4 bits of the command are transferred on one clock, and the lower four bits on the next clock. In Quad Output mode this transfer requires eight clocks.
If the QE bit in the status register is set, a command of 38h places the device in QPI mode.
Figure 5-4 shows the format of a QPI data transfer.
Figure 5-4. QPI Mode Transfer Format
I/O0(SI)
SCK2 310
C C C C C C C C
6 754 10 1198 12 39 42 43414037 3833 36353431 3229 30 44 47 484645
Opcode
A A A A A A AA A X X X X X X X X
Address Bits A23-A0 Dummy BitsByte 1OUT
Byte 2OUT
Byte 3OUT
Byte 4OUT
Byte 5OUT
I/O1(SO)
High-impedanceD5 D1 D5 D1 D5 D1 D5 D1 D5 D1
I/O2(WP)
High-impedanceD6 D2 D6 D2 D6 D2 D6 D2 D6 D2
I/O3(HOLD) MSB MSB MSB MSB MSB
High-impedanceD7 D3 D7 D3 D7 D3 D7 D3 D7 D3
D4 D0 D4 D0 D4 D0 D4 D0 D4 D0
CS
D5
D4
D1
D0
D6 D2
D7 D3
D5
D4
D1
D0
D6 D2
D7 D3
MSB
OutputData
Byte 1
MSB
OutputData
Byte 2DummyBytes
A20 A16 A12 A8 A4 A0
A21 A17 A13 A9 A5 A1
A22 A18 A14 A10 A6 A2
A23 A17 A15 A11 A7 A3
Address Bits A23-A0
MSB
O5
O4
O1
O0
O6 O2
O7 O3
MSB
Opcode
DS
2 310 6 754 ... n n+1
I/O0(SI)
SCK
I/O1(SO)
I/O2(WP)
I/O3(HOLD)
CS
10AT25SL128 DS-25SL128–090A–4/2016
6. Commands and Addressing
A valid command or operation must always be started by first asserting the CS pin. After the CS pin has been asserted, the host controller must then clock out a valid 8-bit opcode on the SPI bus. Following the opcode, command-dependent information such as address and data bytes would then be clocked out by the host controller. All opcode, address, and data bytes are transferred with the most-significant bit (MSB) first. An operation is ended by deasserting the CS pin.
Opcodes not supported by the AT25SL128 are ignored by the device and no operation starts. The device continues to ignore any data presented on the SI pin until the start of the next operation (CS pin being deasserted and then reasserted). In addition, if the CS pin is deasserted before complete opcode and address information is sent to the device, then no operation is performed and the device simply returns to the idle state and wait for the next operation.
Addressing of the device requires a total of three bytes of information to be sent, representing address bits A23-A0.
Table 6-1. AT25SL128 Command Set and Data Formats
Command Name Opcode DescriptionOperating Modes (1) Location in Document
Read Commands
Read Data03h Sequentially reads a continuous stream of
data from the memory device at one bit per clock.
S/D/QSection 6.1.1
0Bh S/D/Q/QPI
Dual Output Read 3BhSequentially reads a continuous stream of data from the memory device at two bits per clock.
S/D/Q Section 6.1.2
Dual I/O Read BBhSequentially reads a continuous stream of data from the memory device at two bits per clock at any frequency.
S/D/Q Section 6.1.3
Quad Output Read 6BhSequentially reads a continuous stream of data from the memory device at four bits per clock.
S/D/Q Section 6.1.4
Quad I/O Read EBhSequentially reads a continuous stream of data from the memory device at four bits per clock at any frequency.
S/D/Q/QPI Section 6.1.5
Quad I/O Word Read E7h
Reads a minimum or 32 bits per read option. The the lowest Address bit (A0) must equal 0 and only two Dummy clocks are required prior to the data being output.
S/D/Q Section 6.1.6
Continuous Read Reset in Quad I/O mode
FFhExit continuous read mode when in Quad I/O mode. Eight clocks are required to shift in the FFh command.
S/D/Q
Section 6.1.7
Continuous Read Reset in Dual I/O mode
FFFFhExit continuous read mode when in Dual I/O mode. Sixteen clocks are required to shift in the FFFFh command.
S/D/Q
Burst Read with Wrap 0ChPerforms a burst read in QPI mode using the set read parameters for wrap length.
QPI Section 6.8.5
Program and Erase Commands
11AT25SL128 DS-25SL128–090A–4/2016
Byte/Page Program (1 - 256 bytes)
02h
Allows from a single byte of data to 256 bytes of data to be programmed into previously erased memory locations at one bit per clock.
S/D/Q/QPI Section 6.2.1
Quad Input Page Program
32h
Allows from a single byte of data to 256 bytes of data to be programmed into previously erased memory locations at four bits per clock.
S/D/Q Section 6.2.2
Block Erase (4KB) 20h Erase a 4 KB block of data. S/D/Q/QPI
Section 6.2.3Block Erase (32KB) 52h Erase a 32 KB block of data. S/D/Q/QPI
Block Erase (64KB) D8h Erase a 64 KB block of data. S/D/Q/QPI
Chip Erase C7h/60h Erase entire device in one operation. S/D/Q/QPI Section 6.2.4
Program/Erase Suspend 75h Suspend a program or erase operation. S/D/Q/QPI Section 6.2.5
Program/Erase Resume 7Ah Resume a program or erase operation. S/D/Q/QPI Section 6.2.6
Protection Commands
Write Enable 06hSet the Write Enable Latch (WEL) bit in the Status Register.
S/D/Q/QPI Section 6.3.1
Write Disable 04hClear the Write Enable Latch (WEL) bit in the Status Register.
S/D/Q/QPI Section 6.3.2
Security Commands
Erase Security Register 44h Erase contents of Security register. S/D/Q Section 6.4.1
Program Security Register
42h Program contents of Security register. S/D/Q Section 6.4.2
Read Security Register 48h Read contents of Security register. S/D/Q Section 6.4.3
Status Register Commands
Read Status Register 1 05h Read contents of Status register 1. S/D/Q/QPI Section 6.5.1
Write Status Register 1 01h Write contents of Status register 1. S/D/Q/QPI Section 6.5.2
Read Status Register 2 35h Read contents of Status register 2. S/D/Q/QPI Section 6.5.1
Write Status Register 2 31h Write contents of Status register 2. S/D/Q/QPI Section 6.5.2
Read Status Register 3 15h Read contents of Status register 3. S/D/Q/QPI Section 6.5.1
Write Status Register 3 11h Write contents of Status register 3. S/D/Q/QPI Section 6.5.2
Volatile SR Write Enable 50h
Copy the non-volatile Status Register bits to a volatile version of the Status Register used during device operation. S/D/Q/QPI Section 6.5.3
Power Down Commands
Command Name Opcode DescriptionOperating Modes (1) Location in Document
12AT25SL128 DS-25SL128–090A–4/2016
Power-down B9h Place the device into a low power state. S/D/Q/QPI Section 6.6.1
Resume from Power-down Resume from Power-down/ID
ABh
Resume normal operation from the power-down state. Only command that is recognized by the device while in power-down mode.
This command can also shift out the device ID once normal operation is resumed.
S/D/Q/QPI Section 6.6.2
Lock and Unlock Commands
Individual Block Lock 36h Set lock bit of individual block. S/D/Q/QPI Section 6.7.1
Individual Block Unlock 39h Clear lock but of individual block. S/D/Q/QPI Section 6.7.2
Read Block Lock 3Dh Read a locked block. S/D/Q Section 6.7.3
Global Block Lock 7Eh Set all lock bits of a block simultaneously. S/D/Q/QPI Section 6.7.4
Global Block Unlock 98hClear all lock bits of a block simultaneously.
S/D/Q/QPI Section 6.7.5
Miscellaneous Commands
Enable Reset 66hEnables a reset of the device using a command as opposed to an external pin. Precedes command 99h.
S/D/Q/QPI
Section 6.8.1
Reset Device 99hResets the memory device. Follows command 66h.
S/D/Q/QPI
Enter QPI Mode 38hEnter QPI mode from standard, dual, or quad SPI mode.
S/D/Q Section 6.8.2
Exit QPI Mode FFh Exit QPI mode and return to SPI mode. QPI Section 6.8.3
Set Burst with Wrap 77hAllows selected read command to read only a selected data size and then wrap.
S/D/Q Section 6.8.4
Set Read Parameters C0h
Works with the 0Bh, EBh, and 0Ch commands in QPI mode to set the wrap around length and number of dummy cycles.
QPI Section 6.8.6
Read SFDP 5Ah Read out serial Flash data parameters. S Section 6.8.7
Manufacturer ID Commands
JEDEC ID 9Fh Read out JEDEC ID information. S/D/Q/QPI Section 8.1
Manufacturer/ Device ID
90hRead manufacturer and device ID information. Reads out one bit per clock.
S/D/Q/QPI Section 8.2
Command Name Opcode DescriptionOperating Modes (1) Location in Document
13AT25SL128 DS-25SL128–090A–4/2016
6.1 Read Commands
6.1.1 Read Array (Commands 03h and 0Bh)
The Read Array command can be used to sequentially read a continuous stream of data from the device by simply providing the clock signal once the initial starting address is specified. The device incorporates an internal address counter that automatically increments every clock cycle. Both SPI bus modes 0 and 3 are supported. Input data on the SI pin is latched on the rising edge of SCK and output data is shifted out on the SO pin on the falling edge of SCK. Both SI and SO signals are unidirectional in this mode.
Two opcodes (0Bh and 03h) can be used for the Read Array command. The use of each opcode depends on the maximum clock frequency used to read data from the device. The 0Bh opcode can be used at any clock frequency up to the maximum specified by fCLK, and the 03h opcode can be used for lower frequency read operations up to the maximum specified by fRDLF.
To perform the Read Array operation, the CS pin must first be asserted and the appropriate opcode (0Bh or 03h) must be clocked into the device. After the opcode has been clocked in, the three address bytes must be clocked in to specify the starting address location of the first byte to read within the memory array. Following the three address bytes, an additional dummy byte needs to be clocked into the device if the 0Bh opcode is used for the Read Array operation.
After the three address bytes (and the dummy byte if using opcode 0Bh) have been clocked in, additional clock cycles result in data being output on the SO pin. The data is always output with the MSB of a byte first. When the last byte (FFFFFFh) of the memory array has been read, the device continues reading back at the beginning of the array (000000h). No delays are incurred when wrapping around from the end of the array to the beginning of the array.
Deasserting the CS pin terminates the read operation and put the SO pin into high-impedance state. The CS pin can be deasserted at any time and does not require a full byte of data be read.
The Read Data (03h and 0Bh) commands are only supported in SPI mode (standard/dual/quad).
Mfr./Device ID Dual I/O 92hRead manufacturer and device ID information. Reads out two bits per clock.
S/D/Q Section 8.3
Mfr./Device ID Quad I/O 94hRead manufacturer and device ID information. Reads out four bits per clock.
S/D/Q Section 8.4
Read Unique ID 4BhRead special 64-bit ID value unique to each memory device.
S/D/Q Section 8.5
1. S = SPI standard mode, D = Dual I/O mode, Q = Quad I/O mode, QPI = QPI mode.
Table 6-2. Command, Address, and Data Transfer in QPI Mode
Pin
CLK
0 1 2 3 4 5 6 7 8 9 10 11
IO0 C4 C0 A20 A16 A12 A8 A4 A0 D4 D0 D4 D0
IO1 C5 C1 A21 A17 A13 A9 A5 A1 D5 D1 D5 D1
IO2 C6 C2 A22 A18 A14 A10 A6 A2 D6 D2 D6 D2
IO3 C7 C3 A23 A19 A15 A11 A7 A3 D7 D3 D7 D3
Command Name Opcode DescriptionOperating Modes (1) Location in Document
14AT25SL128 DS-25SL128–090A–4/2016
Figure 6-1. Read Array — Command 03h (SPI Mode)
Figure 6-2. Read Array — Command 0Bh (SPI Mode)
The Read Array command (0Bh) is also available in QPI mode. When QPI mode is enabled, this command allows for a varying number of dummy clocks relative to the SPI mode Read Array (0Bh) command, in which the number of dummy clocks if fixed. The number of dummy clocks is selected by executing the Set Read Parameters (C0h) command. After the C0h opcode is sent on the bus, the next 8 bits (P[7:0]) indicates the set read parameters. Bits P[5:4] of this field indicate the number of dummy clock, which can be set to 2, 4, 6 or 8 dummy clocks. Refer to Section 6.8.6, Set Read Parameters (C0h) for more information. On reset, the number of dummy clocks default to 2.
Read Array — Command 0Bh (QPI Mode)
15AT25SL128 DS-25SL128–090A–4/2016
6.1.2 Dual Output Read Array (Commands 3Bh)
The AT25SL128 supports Dual SPI operation for use when executing the "Dual Output Read" (3Bh) command. When using the Dual SPI commands the SI and SO pins become bidirectional I/O pins: IO0 and IO1. These commands allow data to be transferred to or from the device at two times the rate of the standard SPI.
The Dual-Output Read Array (3Bh) command is similar to the standard Read Array command and can be used to sequentially read a continuous stream of data from the device by simply providing the clock signal once the initial starting address has been specified. Unlike the standard Read Array command, however, the Dual-Output Read Array command allows two bits of data to be clocked out of the device on every clock cycle, rather than just one.
The Dual-Output Read Array (3Bh) command can be used at any clock frequency, up to the maximum specified by fRDDO. To perform the Dual-Output Read Array operation, the CS pin must first be asserted and then the opcode 3Bh must be clocked into the device. After the opcode has been clocked in, the three address bytes must be clocked in to specify the location of the first byte to read within the memory array. Following the three address bytes, a single dummy byte must also be clocked into the device.
After the three address bytes and the dummy byte have been clocked in, additional clock cycles result in data being output on both the SO and SI pins. The data is always output with the MSB of a byte first and the MSB is always output on the SO pin. During the first clock cycle, bit seven of the first data byte is output on the SO pin, while bit six of the same data byte is output on the SI pin. During the next clock cycle, bits five and four of the first data byte are output on the SO and SI pins, respectively. The sequence continues with each byte of data being output after every four clock cycles. When the last byte (FFFFFFh) of the memory array has been read, the device continues reading from the beginning of the array (000000h). No delays are incurred when wrapping around from the end of the array to the beginning of the array. Deasserting the CS pin terminates the read operation and put the SO and SI pins into a high-impedance state. The CS pin can be deasserted at any time and does not require that a full byte of data be read.
Figure 6-3. Dual Output Read Array (Command 3Bh)
6.1.3 Dual I/O Read Array (Command BBh)
The Dual-I/O Read Array command is similar to the Dual-Output Read Array command and can be used to sequentially read a continuous stream of data from the device by simply providing the clock signal once the initial starting address with two bits of address on each clock and two bits of data on every clock cycle.
The Dual-I/O Read Array command (BBh) can be used at any clock frequency, up to the maximum specified by fRDDO. To perform the Dual-I/O Read Array operation, the CS pin must first be asserted and then the opcode BBh must be clocked into the device. After the opcode has been clocked in, the three address bytes must be clocked in to specify the location of the first byte to read within the memory array. Following the three address bytes, a single mode byte must also be clocked into the device.
After the three address bytes and the mode byte have been clocked in, additional clock cycles results in data being output on both the SO and SI pins. The data is always output with the MSB of a byte first and the MSB is always output on the SO pin. During the first clock cycle, bit seven of the first data byte is output on the SO pin, while bit six of the same data byte is output on the SI pin. During the next clock cycle, bits five and four of the first data byte are output on the SO and SI pins, respectively. The sequence continues with each byte of data being output after every four clock cycles.
SCK
CS
SO
MSB MSB
2 310
0 0 1 1 1 0 1 1
6 754 10 1198 12 39 42 43414037 3833 36353431 3229 30 44 47 484645
A A A A A A AA AMSB
X X X X X X X X
MSB MSB MSB
D7
D6
D5
D4
D3
D2
D1
D0
D7
D6
D5
D4
D7
D6
D5
D4
D3
D2
D1
D0
OUTPUTDAT
OUTPUTDAT
HIGH-IMPEDANCE
16AT25SL128 DS-25SL128–090A–4/2016
When the last byte (FFFFFFh) of the memory array has been read, the device continues reading from the beginning of the array (000000h). No delays are incurred when wrapping around from the end of the array to the beginning of the array. Deasserting the CS pin terminates the read operation and put the SO and SI pins into a high-impedance state. The CS pin can be deasserted at any time and does not require that a full byte of data be read.
6.1.3.1 Dual I/O Read Array with Continuous Read Mode (M[5:4] ≠ 10)
The AT25SL128 supports a Continuous Read Mode for this command, which does not require sending the 8-bit BBh opcode on the bus under certain conditions. When the BBh opcode is first executed on the bus, the 8-bit opcode (BBh) is followed by a 34-bit address, which is followed by an 8-bit field (M[7:0]) that determines whether subsequent Dual I/O Read Array command requires the 8-bit BBh opcode to be transmitted in the bus (after CS is raised and then lowered). If the value on M[5:4] ≠ 10, then the BBh opcode must be sent on the bus each time the command is executed. This is shown in Figure 6-4.
To exit a Dual I/O Read Array operation in continuous read mode, execute the command FFFFh. Refer to Section 6.1.7, Continuous Read Mode Reset (FFh or FFFFh) for more information.
Figure 6-4. Dual I/O Read Array (Initial command or previous M5-4≠ 10, SPI Mode only) Command BBh
6.1.3.2 Dual I/O Read Array with Continuous Read Mode (M[5:4] = 10)
If the value on M[5:4] = 10, then the BBh opcode is not required when the next Dual I/O Read Array command is executed, thereby reducing the command sequence by eight clocks. This is shown in Figure 6-5.
To exit a Quad I/O Read Array operation in continuous read mode, execute the command FFh. Refer to Section 6.1.7, Continuous Read Mode Reset (FFh or FFFFh) for more information.
I/O0(SI)
SCK
I/O1(SO)
CS
MSB MSB
2 310
1 0 1 1 1 0 1 1
6 754 10 1198 12 2321 2219 20
Opcode
A22 A20 A18 A16 A0 M6 M4A14 A
Address Bits A23-A16
M3
M2
M1
M0
Address Bits A15-A8 A7-A0 M7-M0
MSB
A23 A21 A19 A17 A1 M7 M5A15 A
2725 2624
D6 D4
D3
D2
D1
D0
Byte 1
D7 D5
D6
D7
Byte 2
17AT25SL128 DS-25SL128–090A–4/2016
Figure 6-5. Dual I/O Read Array (Previous command Set M5-4 = 10, SPI Mode only)
6.1.4 Quad Output Read Array (Command 6Bh)
The Quad-Output Read Array command is similar to the Dual-Output Read Array command. The Quad-Output Read Array command allows four bits of data to be clocked out of the device on every clock cycle, rather than just one or two.
The Quad Enable bit (QE) of the Status Register must be set to enable for the Quad-Output Read Array command.
The Quad-Output Read Array command can be used at any clock frequency, up to the maximum specified by fRDQO. To perform the Quad-Output Read Array operation, the CS pin must first be asserted and then the opcode 6Bh must be clocked into the device. After the opcode has been clocked in, the three address bytes must be clocked in to specify the location of the first byte to read within the memory array. Following the three address bytes, a single dummy byte must also be clocked into the device.
After the three address bytes and the dummy byte have been clocked in, additional clock cycles result in data being output on the I/O3-0 pins. The data is always output with the MSB of a byte first and the MSB is always output on the I/O3 pin. During the first clock cycle, bit 7 of the first data byte is output on the I/O3 pin while bits 6, 5, and 4 of the same data byte is output on the I/O2, I/O1, and I/O0 pins, respectively. During the next clock cycle, bits 3, 2, 1, and 0 of the first data byte is output on the I/O3, I/O2, I/O1 and I/O0 pins, respectively.
The sequence continues with each byte of data being output after every two clock cycles. When the last byte (FFFFFFh) of the memory array has been read, the device continues reading from the beginning of the array (000000h). No delays are incurred when wrapping around from the end of the array to the beginning of the array. Deasserting the CS pin terminates the read operation and put the WP, HOLD, SO, SI pins into a high-impedance state. The CS pin can be deasserted at any time and does not require that a full byte of data be read.
18AT25SL128 DS-25SL128–090A–4/2016
Figure 6-6. Quad Output Read (Command 6Bh)
6.1.5 Quad I/O Read Array (Command EBh)
The Quad-I/O Read Array command is similar to the Dual-Output Read Array command. The Quad-I/O Read Array command allows four bits of address to be clocked into the device on every clock cycle, rather than just one.
The Quad-I/O Read Array command can be used at any clock frequency, up to the maximum specified by fRDQO. To perform the Quad-I/O Read Array operation, the CS pin must first be asserted and then the opcode EBh must be clocked into the device. After the opcode has been clocked in, the three address bytes must be clocked in to specify the location of the first byte to read within the memory array. Following the three address bytes, a single mode byte must also be clocked into the device.
After the three address bytes, the mode byte and two dummy bytes have been clocked in, additional clock cycles result in data being output on the I/O3-0 pins. The data is always output with the MSB of a byte first and the MSB is always output on the I/O3 pin. During the first clock cycle, bit 7 of the first data byte is output on the I/O3 pin while bits 6, 5, and 4 of the same data byte is output on the I/O2, I/O1 and I/O0 pins, respectively. During the next clock cycle, bits 3, 2, 1, and 0 of the first data byte are output on the I/O3, I/O2, I/O1 and I/O0 pins, respectively. The sequence continues with each byte of data being output after every two clock cycles.
When the last byte (FFFFFFh) of the memory array has been read, the device continues reading from the beginning of the array (000000h). No delays are incurred when wrapping around from the end of the array to the beginning of the array. Deasserting the CS pin terminates the read operation and put the I/O3, I/O2, I/O1 and I/O0 pins into a high-impedance state. The CS pin can be deasserted at any time and does not require that a full byte of data be read.The Quad Enable bit (QE) of the Status Register must be set to enable for the Quad-I/O Read Array command.
6.1.5.1 Quad I/O Read Array with Continuous Read Mode (M[5:4] ≠ 10)
The AT25SL128 supports a Continuous Read Mode for this command, which does not require sending the 8-bit EBh opcode on the bus under certain conditions. When the EBh opcode is first executed on the bus, the 8-bit opcode (EBh) is followed by a 24-bit address, which is followed by an 8-bit field (M[7:0]) that determines whether subsequent Quad I/O Read Array command requires the 8-bit EBh opcode to be transmitted in the bus (after CS is raised and then lowered). If the value on M[5:4] ≠ 10, then the EBh opcode must be sent on the bus each time the command is executed. This is shown in Figure 6-6.
I/O0(SI)
SCK2 310
0 1 1 0 1 0 1 1
6 754 10 1198 12 39 42 43414037 3833 36353431 3229 30 44 47 484645
Opcode
A A A A A A AA A X X X X X X X X
Address Bits A23-A0 Dummy BitsByte 1OUT
Byte 2OUT
Byte 3OUT
Byte 4OUT
Byte 5OUT
I/O1(SO)
High-impedanceD5 D1 D5 D1 D5 D1 D5 D1 D5 D1
I/O2(WP)
High-impedanceD6 D2 D6 D2 D6 D2 D6 D2 D6 D2
I/O3(HOLD) MSB MSB MSB MSB MSB
High-impedanceD7 D3 D7 D3 D7 D3 D7 D3 D7 D3
D4 D0 D4 D0 D4 D0 D4 D0 D4 D0
CS
19AT25SL128 DS-25SL128–090A–4/2016
6.1.5.2 Quad I/O Read with Continuous Read Mode (M[5:4] ≠ 10)
Figure 6-7. Quad I/O Read with Continuous Read Mode (M[5:4] ≠ 10) (Command EBh)
6.1.5.3 Quad I/O Read Array with Continuous Read Mode (M[5:4] = 10)
If the value on M[5:4] = 10, then the BBh opcode is not required when the next Dual I/O Read Array command is executed, thereby reducing the command sequence by eight clocks. This is shown in Figure 6-8.
Figure 6-8. Quad I/O Read Array with Continuous Read Mode (M[5:4] = 10) (Command EBh)
6.1.5.4 Quad I/O Read Array with Wrap Around
The Quad I/O Read Array command can also be used to access a specific portion within a page by issuing a “Set Burst with Wrap” (77h) command prior to EBh. The “Set Burst with Wrap” (77h) command can either enable or disable the “Wrap Around” feature for the following EBh commands. When “Wrap Around” is enabled, the data being accessed can be limited to an 8, 16, 32 or 64-byte section of a 256-byte page. The output data starts at the initial address specified in the instruction, once it reaches the ending boundary of the 8/16/32/64- byte section, the output will wrap around to the beginning boundary automatically until CS is pulled high to terminate the command.
The Burst with Wrap feature allows applications that use cache to quickly fetch a critical address and then fill the cache afterwards within a fixed length (8/16/32/64-byte) of data without issuing multiple read commands.
I/O0(SI)
SCK
I/O1(SO)
CS
MSB
2 310
1 1 1 0 1 0 1 1
6 754 10 1198 1917 1816
Opcode
A20 A16 A12 A8
A23-A16 A15-A8
A21 A17 A13 A9
2321 2220
D4
D1
D0
D5
D4
Byte 1
D5
D0
D1
Byte 2
I/O2(WP)
A22 A18 A14 A10 D2 D6D6 D2
I/O3(HOLD)
A23 A19 A15 A11 D3 D7D7 D3
14 151312
A4 A0 M4 M0
A7-A0 M7-M0
A6 A2 M6 M2
A7 A3 M7 M3
A5 A1 M5 M1
Dummy | Dummy
20AT25SL128 DS-25SL128–090A–4/2016
The “Set Burst with Wrap” instruction allows three “Wrap Bits”, W6-4 to be set. The W4 bit is used to enable or disable the “Wrap Around” operation while W6-5 are used to specify the length of the wrap around section within a page.
6.1.5.5 Quad-I/O Read Array (EBh) in QPI Mode
The Quad I/O Read Array command is also supported in QPI mode, which is enabled by setting the QE bit in the Status register and executing command 38h. This command works in conjunction with the Set Read Parameters (C0h) command to accommodate a wide range of frequencies and access latencies. After the C0h opcode is sent on the bus, the next 8 bits (P[7:0]) indicates the set read parameters. Bits P[5:4] of this field indicate the number of dummy clocks, which can be set to 2, 4, 6 or 8 dummy clocks. Refer to Section 6.8.6, Set Read Parameters (C0h) for more information. On reset, the number of dummy clocks default to 2.
Note that Wrap Around feature described in the previous subsection is not available in QPI mode for the Quad I/O Read Array command.
Figure 6-9 shows the Quad I/O Read Array command in QPI mode.
Figure 6-9. Quad I/O Read Array with Continuous Read in QPI Mode (M[5:4] ≠ 1,0) (Command EBh)
6.1.6 Quad I/O Word Read (E7h)
The Quad-I/O Word Read command (E7h) is similar to the Quad-Output Read Array command (EBh), except that the lowest Address bit (A0) must equal 0 and only two Dummy clocks are required prior to the data being output. The Quad-I/O Word Read command allows four bits of address to be clocked into the device on every clock cycle, rather than just one.
To perform the Quad-I/O Read Array operation, the CS pin must first be asserted and then the opcode E7h must be clocked into the device. After the opcode has been clocked in, the three address bytes must be clocked in to specify the location of the first byte to read within the memory array. Following the three address bytes, a single mode byte must also be clocked into the device.
After the three address bytes, the mode byte and one dummy byte has been clocked in, additional clock cycles result in data being output on the I/O3-0 pins. The data is always output with the MSB of a byte first and the MSB is always output on the I/O3 pin. During the first clock cycle, bit 7 of the first data byte is output on the I/O3 pin while bits 6, 5, and 4 of the same data byte is output on the I/O2, I/O1 and I/O0 pins, respectively. During the next clock cycle, bits 3, 2, 1, and 0 of the
21AT25SL128 DS-25SL128–090A–4/2016
first data byte are output on the I/O3, I/O2, I/O1 and I/O0 pins, respectively. The sequence continues with each byte of data being output after every two clock cycles.
When the last byte (FFFFFFh) of the memory array has been read, the device continues reading from the beginning of the array (000000h). No delays are incurred when wrapping around from the end of the array to the beginning of the array. Deasserting the CS pin terminates the read operation and put the I/O3, I/O2, I/O1 and I/O0 pins into a high-impedance state. The CS pin can be deasserted at any time and does not require that a full byte of data be read.
The Quad Enable bit (QE) of the Status Register must be set to enable for the Quad-I/O Read Array command.
6.1.6.1 Quad I/O Word Read with Continuous Read Mode (M[5:4] ≠ 10)
The AT25SL128 supports a Continuous Read Mode for this command, which does not require sending the 8-bit E7h opcode on the bus under certain conditions. When the E7h opcode is first executed on the bus, the 8-bit opcode is followed by a 24-bit address, which is followed by an 8-bit field (M[7:0]) that determines whether subsequent Quad I/O Word Read command requires the 8-bit E7h opcode to be transmitted in the bus (after CS is raised and then lowered). If the value on M[5:4] ≠ 10, then the E7h opcode must be sent on the bus each time the command is executed. This is shown in Figure 6-6.
Figure 6-10. Quad I/O Word Read Command (M[5:4] ≠ 10)
6.1.6.2 Quad I/O Word Read with Continuous Read Mode (M[5:4] = 10)
If the value on M[5:4] = 10, then the E7h opcode is not required when the next Quad I/O Word Read command is executed, thereby reducing the command sequence by eight clocks. This is shown in Figure 6-8.
22AT25SL128 DS-25SL128–090A–4/2016
Figure 6-11. Quad I/O Word Read Command (M[5:4] = 10)
6.1.6.3 Quad I/O Word Read with Wrap Around in Standard SPI Mode
The Quad I/O Word Read command can be used in conjunction with the Set Burst with Wrap command (77h) to access a specific portion within a page. If this feature is desired, the Set Burst with Wrap command must be executed prior to executing the Quad I/O Word Read command.
When command 77h is executed prior to command E7h, the data being accessed is limited to one of the following sizes within a 256-byte page as determined by bits W[6:4] of the Set Burst with Wrap command.
• 8-byte section
• 16-byte section
• 32-byte section
• 64-byte section
Once the operation reaches the end boundary for one of the above section sizes, the output wrap around to the beginning address. The operation continues until the CS pin is pulled high to terminate the transaction.
The Burst with Wrap feature allows applications that use cache to quickly fetch a critical address and then fill the cache within a fixed length (8/16/32/64-byte) of data without issuing multiple read commands. The W4 bit of the Set Burst with Wrap command is used to enable or disable the wrap around feature.
6.1.7 Continuous Read Mode Reset (FFh or FFFFh)
The Continuous Read Mode Reset command is used in conjunction with the Dual I/O Read Array and the Quad I/O Read Array commands to provide the highest random Flash memory access rate with minimum SPI command overhead.
To reset Continuous Read Mode during Quad I/O operation, only eight clocks are required to shift in command FFh. To reset Continuous Read Mode during Dual I/O operation, sixteen clocks are needed to shift in command FFFFh.
Note that when operating in QPI mode, a command of FFh is used to exit the QPI mode. Refer to Section 6.8.3, Exit QPI Mode (FFh) for more information.
23AT25SL128 DS-25SL128–090A–4/2016
Figure 6-12. Continuous Read Mode Reset During a Quad I/O Read Array Operation
Figure 6-13. Continuous Read Mode Reset During a Dual I/O Read Array Operation
6.2 Program and Erase Commands
6.2.1 Byte/Page Program (02h)
The Byte/Page Program command allows anywhere from a single byte of data to 256 bytes of data to be programmed into previously erased memory locations. An erased memory location is one that has all eight bits set to the logical “1” state (a byte value of FFh). Before a Byte/Page Program command can be started, the Write Enable command must have been previously issued to the device (see “Write Enable (06h)” on page 31) to set the Write Enable Latch (WEL) bit of the Status Register to a logical “1” state.
To perform a Byte/Page Program command, an opcode of 02h must be clocked into the device followed by the three address bytes denoting the first byte location of the memory array to begin programming. After the address bytes have been clocked in, data can then be clocked into the device and is stored in an internal buffer.
If the starting memory address denoted by A23-A0 does not fall on an even 256-byte page boundary (A7-A0 are not all 0), then special circumstances regarding which memory locations to be programmed applies. In this situation, any data that is sent to the device that goes beyond the end of the page wraps around back to the beginning of the same page. For example, if the starting address denoted by A23-A0 is 0000FEh, and three bytes of data are sent to the device, then the first two bytes of data are programmed at addresses 0000FEh and 0000FFh while the last byte of data is programmed at address 000000h. The remaining bytes in the page (addresses 000001h through 0000FDh) are not programmed and remain in the erased state (FFh). In addition, if more than 256 bytes of data are sent to the device, then only the last 256 bytes sent are latched into the internal buffer.
When the CS pin is deasserted, the device takes the data stored in the internal buffer and program it into the appropriate memory array locations based on the starting address specified by A23-A0 and the number of data bytes sent to the device. If less than 256 bytes of data were sent to the device, then the remaining bytes within the page are programmed
1 1 1 1 1 1 1 1
DON’T CARE
MSB
1 1 1 1 1 1 1 1
DON’T CARE
10 1198 14 151312
1 1 1 1 1 1 1 1
24AT25SL128 DS-25SL128–090A–4/2016
and remain in the erased state (FFh). The programming of the data bytes is internally self-timed and should take place in a time of tPP or tBP if only programming a single byte.
The three address bytes and at least one complete byte of data must be clocked into the device before the CS pin is deasserted, and the CS pin must be deasserted on even byte boundaries (multiples of eight bits); otherwise, the device aborts the operation and no data is programmed into the memory array. In addition, if the memory is in the protected state (see “Non-Volatile Protection” on page 33), then no Byte/Page Program command is executed, and the device returns to the idle state once the CS pin has been deasserted. The WEL bit in the Status Register is reset back to the logical “0” state if the program cycle aborts due to an incomplete address being sent, an incomplete byte of data being sent, the CS pin being deasserted on uneven byte boundaries, or because the memory location to be programmed is protected.
While the device is programming, the Status Register can be read and indicates that the device is busy. For faster throughput, it is recommended that the Status Register be polled rather than waiting the tBP or tPP time to determine if the data bytes have finished programming. At some point before the program cycle completes, hardware clears the WEL bit in the Status Register.
Figure 6-14. Byte Program
Figure 6-15. Page Program (SPI Mode)
SCK
CS
SI
SO
MSB MSB
2 310
0 0 0 0 0 0 1 0
6 754 10 1198 12 3937 3833 36353431 3229 30
OPCODE
HIGH-IMPEDANCE
A A A A A A AA AMSB
D D D D D D D D
ADDRESS BITS A23-A0 DATA IN
SCK
SI
SO
MSB MSB
2 310
0 0 0 0 0 0 1 0
6 754 98 3937 3833 36353431 3229 30
OPCODE
HIGH-IMPEDANCE
A A A A AAMSB
D D D D D D D D
ADDRESS BITS A23-A0 DATA IN BYTE 1
MSB
D D D D D D D D
DATA IN BYTE n
25AT25SL128 DS-25SL128–090A–4/2016
Figure 6-16. Page Program (QPI Mode)
6.2.2 Quad Input Page Program (32h)
The Quad Page Program command allows between 1 to 256 bytes of data to be programmed at previously erased memory locations. As with any Quad-related command, the Quad Enable (QE) bit in Status Register must be set. In addition, the Write Enable Latch bit (Status Register-1, WEL = 1) must also be set.
The Quad Page Program command sequence is shown in Figure 6-17.
Figure 6-17. Quad Input Page Program
6.2.3 Block Erase (20h, 52h, or D8h)
A block of 4, 32, or 64 Kbytes can be erased (all bits set to the logical “1” state) in a single operation by using one of three different opcodes for the Block Erase command. An opcode of 20h is used for a 4-Kbyte erase, an opcode of 52h is used for a 32-Kbyte erase, or D8h is used for a 64-Kbyte erase. Before a Block Erase command can be started, the Write
26AT25SL128 DS-25SL128–090A–4/2016
Enable command must have been previously issued to the device to set the WEL bit of the Status Register to a logical “1” state.
To perform a Block Erase, the CS pin must first be asserted and the appropriate opcode (20h, 52h, or D8h) must be clocked into the device. After the opcode has been clocked in, the three address bytes specifying an address within the 4- or 32- or 64-Kbyte block to be erased must be clocked in. Any additional data clocked into the device is ignored. When the CS pin is deasserted, the device erases the appropriate block. The erasing of the block is internally self-timed and should take place in a time of tBLKE.
Since the Block Erase command erases a region of bytes, the lower order address bits do not need to be decoded by the device. Therefore, for a 4-Kbyte erase, address bits A11-A0 are ignored by the device and their values can be either a logical “1” or “0”. For a 32-Kbyte erase, address bits A14-A0 are ignored by the device. For a 64-Kbyte erase, address bits A15-A0 are ignored by the device. Despite the lower order address bits not being decoded by the device, the complete three address bytes must still be clocked into the device before the CS pin is deasserted, and the CS pin must be deasserted on an even byte boundary (multiples of eight bits); otherwise, the device aborts the operation and no erase operation can be performed.
If the memory is in the protected state, no Block Erase command is executed, and the device returns to the idle state once the CS pin has been deasserted.
The WEL bit in the Status Register is reset back to the logical “0” state if the erase cycle aborts due to an incomplete address being sent, the CS pin being deasserted on uneven byte boundaries, or because a memory location within the region to be erased is protected.
While the device is executing a successful erase cycle, the Status Register can be read and indicates that the device is busy. For faster throughput, it is recommended that the Status Register be polled rather than waiting the tBLKE time to determine if the device has finished erasing. At some point before the erase cycle completes, hardware resets the WEL bit in the Status Register back to the logical “0” state.
Figure 6-18. Block Erase (SPI Mode)
Figure 6-19 shows a block erase of a 4 KB block, as noted by the opcode of 20h. This is shown for illustration purposes. This diagram also pertains to the 32 KB erase command (52h) and the 64 KB erase command (D8h).
SCK
CS
SI
SO
MSB MSB
2 310
C C C C C C C C
6 754 10 1198 12 3129 3027 2826
OPCODE
A A A A A A AA A A A A
ADDRESS BITS A23-A0
HIGH-IMPEDANCE
27AT25SL128 DS-25SL128–090A–4/2016
Figure 6-19. Block Erase (QPI Mode)
6.2.4 Chip Erase (60h or C7h)
The entire memory array can be erased in a single operation by using the Chip Erase command. Before a Chip Erase command can be started, the Write Enable command must have been previously issued to the device to set the WEL bit of the Status Register to a logical “1” state.
Two opcodes (60h and C7h) can be used for the Chip Erase command. There is no difference in device functionality when utilizing the two opcodes, so they can be used interchangeably. To perform a Chip Erase, one of the two opcodes must be clocked into the device. Since the entire memory array is to be erased, no address bytes need to be clocked into the device, and any data clocked in after the opcode is ignored. When the CS pin is deasserted, the device erases the entire memory array. The erasing of the device is internally self-timed and should take place in a time of tCHPE.
The complete opcode must be clocked into the device before the CS pin is deasserted, and the CS pin must be deasserted on an even byte boundary (multiples of eight bits); otherwise, no erase is performed. In addition, if the memory array is in the protected state, then the Chip Erase command is not executed and the device returns to the idle state once the CS pin has been deasserted. Hardware resets the WEL bit in the Status Register back to the logical “0” state if the CS pin is deasserted on uneven byte boundaries, or if the memory is in the protected state.
While the device is executing a successful erase cycle, the Status Register can be read and indicates that the device is busy. For faster throughput, it is recommended that the Status Register be polled rather than waiting the tCHPE time to determine if the device has finished erasing. At some point before the erase cycle completes, hardware resets the WEL bit in the Status Register back to the logical “0” state.
Figure 6-20. Chip Erase (SPI Modes)
SCK
CS
SI
SO
MSB
2 310
C C C C C C C C
6 754
OPCODE
HIGH-IMPEDANCE
28AT25SL128 DS-25SL128–090A–4/2016
Figure 6-21. Chip Erase (QPI Mode)
6.2.5 Program/Erase Suspend (75h)
In some code plus data storage applications, it is often necessary to process certain high-level system interrupts that require relatively immediate reading of code or data from the Flash memory. In such an instance, it may not be possible for the system to wait the microseconds or milliseconds required for the Flash memory to complete a program or erase cycle. The Program/Erase Suspend command allows a program or erase operation in progress to be suspended so that other device operations can be performed. For example, by suspending an erase operation to a particular block, the system can perform functions such as a program or read to a different block.
Chip Erase cannot be suspended. Hardware ignores the Program/Erase Suspend command if it is issued during a Chip Erase. A program operation can be performed while an erase operation is suspended, but the program operation cannot be suspended while an erase operation is currently suspended. Other device operations, such as a Read Status Register, can also be performed while a program or erase operation is suspended.
Since the need to suspend a program or erase operation is immediate, the Write Enable command does not need to be issued prior to the Program/Erase Suspend command being issued. Therefore, the Program/Erase Suspend command operates independently of the state of the WEL bit in the Status Register.
To perform a Program/Erase Suspend, the CS pin must first be asserted and the opcode of 75h must be clocked into the device. No address bytes need be clocked into the device, and any data clocked in after the opcode is ignored. When the CS pin is deasserted, the program or erase operation currently in progress suspends within a time of tSUSE. Hardware sets the Suspend (SUS) bit in the Status Register to indicate that the program or erase operation has been suspended. In addition, the RDY/BSY bit in the Status Register indicates that the device is ready for another operation. The complete opcode must be clocked into the device before the CS pin is deasserted, and the CS pin must be deasserted on a byte boundary (multiples of eight bits). Otherwise, no suspend operation is performed.
If a read operation is attempted to a suspended area (page for programming or block for erasing), then the device outputs undefined data. Therefore, when performing a Read Array operation to an unsuspended area and the device's internal address counter increments and crosses into the suspended area, the device starts outputting undefined data until the internal address counter crosses to an unsuspended area.
A program operation is not allowed to a block that has been erase suspended. If a program operation is attempted to an erase suspended block, then the program operation aborts and hardware clears the WEL bit in the Status Register. Likewise, an erase operation is not allowed to a block that included the page that has been program suspended. If attempted, the erase operation aborts and hardware resets the WEL bit in the Status Register.
If an attempt is made to perform an operation that is not allowed during a program or erase suspend, such as a Write Status Register operation, then the device simply ignores the opcode and no operation is performed. The state of the WEL bit in the Status Register is not affected.
29AT25SL128 DS-25SL128–090A–4/2016
Figure 6-22. Program/Erase Suspend (SPI Mode)
Figure 6-23. Program/Erase Suspend (QPI Mode)
Table 6-3. Operations Allowed and Not Allowed During a Program/Erase Suspend Command
Command During Program Suspend During Erase Suspend
Read CommandsRead Array (03h, 0Bh, 3Bh, BBh, 6Bh, EBh) Allowed Allowed
Continuous Read Reset (FFh) Allowed Allowed
Program and Erase CommandsBlock Erase (20h, 52h, D8h) Not Allowed Not Allowed
Chip Erase (C7h, 60h) Not Allowed Not Allowed
Byte/Page Program (02h) Not Allowed Allowed
Program/Erase Suspend (75h) Not Allowed Not Allowed
Program/Erase Resume (7Ah) Allowed Allowed
Protection CommandsWrite Enable (06h) Allowed Allowed
Write Disable (04h) Allowed Allowed
Security CommandsErase Security Register Page (44h) Not Allowed Not Allowed
Program Security Register Page (42h) Not Allowed Not Allowed
SCK
CS
SI
SO
MSB
2 310
0 1 1 1 0 1 0 1
6 754
OPCODE
HIGH-IMPEDANCE
30AT25SL128 DS-25SL128–090A–4/2016
6.2.6 Program/Erase Resume (7Ah)
The Program/Erase Resume command allows a suspended program or erase operation to be resumed and continue programming a Flash page or erasing a Flash memory block where it left off. Hardware accepts the Program/Erase Resume command only if the SUS bit in the Status Register is set and the RDY/BSY bit is cleared. If the SUS bit equals 0 or the RDY/BSY bit equals to 1, the Program/Erase Resume command is ignored by the device. As with the Program/Erase Suspend command, the Write Enable command does not need to be issued prior to the Program/Erase Resume command being issued. Therefore, the Program/Erase Resume command operates independently of the state of the WEL bit in the Status Register.
To perform Program/Erase Resume, the CS pin must first be asserted and opcode 7Ah must be clocked into the device.
No address bytes need to be clocked into the device, and any data clocked in after the opcode is ignored. When the CS pin is deasserted, the program or erase operation currently suspended resumes within a time of tRES. Hardware then clears the SUS bit in the Status Register to indicate the program or erase operation is no longer suspended. In addition, the RDY/BSY bit in the Status Register indicates that the device is busy performing a program or erase operation. The complete opcode must be clocked into the device before the CS pin is deasserted, and the CS pin must be deasserted on a byte boundary (multiples of eight bits). Otherwise, no resume operation is performed.
During a simultaneous Erase Suspend/Program Suspend condition, issuing the Program/Erase Resume command results in the program operation resuming first. After the program operation has been completed, the Program/Erase Resume command must be issued again in order for the erase operation to be resumed.
While the device is busy resuming a program or erase operation, any attempts at issuing the Program/Erase Suspend command are ignored. Therefore, if a resumed program or erase operation needs to be subsequently suspended again, the system must either wait the entire tRES time before issuing the Program/Erase Suspend command, or it must check the status of the RDY/BSY bit or the SUS bit in the Status Register to determine if the previously suspended program or erase operation has resumed.
Read Security Register Page (48h) Allowed Allowed
Status Register CommandsRead Status Register (05h, 35h, 15h) Allowed Allowed
Write Status Register (01h, 31h, 11h) Not Allowed Not Allowed
Volatile Write Enable Status Register (50h) Not Allowed Not Allowed
Miscellaneous CommandsRead Manufacturer and Device ID (9Fh) Allowed Allowed
Read ID (90h) Allowed Allowed
Deep Power-Down (B9h) Not Allowed Not Allowed
Resume from Deep Power-Down (ABh) Allowed (1) Allowed
1. Allowed for reading Device ID.
Table 6-3. Operations Allowed and Not Allowed During a Program/Erase Suspend Command (Continued)
Command During Program Suspend During Erase Suspend
31AT25SL128 DS-25SL128–090A–4/2016
Figure 6-24. Program/Erase Resume (SPI Mode) .
Figure 6-25. Program/Erase Resume (QPI Mode) .
6.3 Protection Commands
6.3.1 Write Enable (06h)
The Write Enable command is used to set the Write Enable Latch (WEL) bit in the Status Register to a logical “1” state. The WEL bit must be set before a Byte/Page Program, Erase, Program Security Register Pages, Erase Security Register Pages or Write Status Register command can be executed. This makes the issuance of these commands a two step process, thereby reducing the chances of a command being accidentally or erroneously executed. If the WEL bit in the Status Register is not set prior to the issuance of one of these commands, then the command is not executed.
To issue the Write Enable command, the CS pin must first be asserted and the opcode of 06h must be clocked into the device. No address bytes need to be clocked into the device, and any data clocked in after the opcode is ignored. When the CS pin is deasserted, hardware sets the WEL bit in the Status Register. The complete opcode must be clocked into the device before the CS pin is deasserted, and the CS pin must be deasserted on an byte boundary (multiples of eight bits); otherwise, the device aborts the operation and the WEL bit state does not change.
SCK
SI
SO
MSB
2 310
0 1 1 1 1 0 1 0
6 754
OPCODE
HIGH-IMPEDANCE
32AT25SL128 DS-25SL128–090A–4/2016
Figure 6-26. Write Enable (SPI Mode)
Figure 6-27. Write Enable (QPI Mode)
6.3.2 Write Disable (04h)
The Write Disable command is used to reset the Write Enable Latch (WEL) bit in the Status Register to the logical “0” state. With the WEL bit reset, all Byte/Page Program, Erase, Program Security Register Page, and Write Status Register commands cannot be executed. Other conditions can also cause the WEL bit to be reset; for more details, refer to the WEL bit section of the Status Register description.
To issue the Write Disable command, the CS pin must first be asserted and the opcode of 04h must be clocked into the device. No address bytes need to be clocked into the device, and any data clocked in after the opcode is ignored. When the CS pin is deasserted, hardware clears the WEL bit in the Status Register. The complete opcode must be clocked into the device before the CS pin is deasserted, and the CS pin must be deasserted on an byte boundary (multiples of eight bits); otherwise, the device aborts the operation and the WEL bit state does not change.
Figure 6-28. Write Disable (SPI Mode)
SCK
CS
SI
SO
MSB
2 310
0 0 0 0 0 1 1 0
6 754
OPCODE
HIGH-IMPEDANCE
SCK
CS
SI
SO
MSB
2 310
0 0 0 0 0 1 0 0
6 754
OPCODE
HIGH-IMPEDANCE
33AT25SL128 DS-25SL128–090A–4/2016
Figure 6-29. Write Disable (QPI Mode)
6.3.3 Non-Volatile Protection
The device can be software protected against erroneous or malicious program or erase operations by utilizing the Non-Volatile Protection feature of the device. Non-Volatile Protection can be enabled or disabled by using the Write Status Register command to change the value of the Protection (CMP, SEC, TB, BP2, BP1, BP0) bits in the Status Register (refer to” Status Registers” in Section 7 for more information). The following table outlines the states of the Protection bits and the associated protection area.
.Table 6-4. Status Register Memory Array Protection — WPS = 0, CMP = 0
Protection Bits Memory Content
SEC TB BP2 BP1 BP0 Protected Address RangeProtected Memory
Size Portion
X X 0 0 0 None None None
0 0 0 0 1 FC0000h - FFFFFFh 256 KB Upper 1/64
0 0 0 1 0 F80000h - FFFFFFh 512 KB Upper 1/32
0 0 0 1 1 F00000h - FFFFFFh 1 MB Upper 1/16
0 0 1 0 0 E00000h - FFFFFFh 2 MB Upper 1/8
0 0 1 0 1 C00000h - FFFFFFh 4 MB Upper 1/4
0 0 1 1 0 800000h - FFFFFFh 8 MB Upper 1/2
0 1 0 0 1 000000h - 03FFFFh 256 KB Lower 1/64
0 1 0 1 0 000000h - 07FFFFh 512 KB Lower 1/32
0 1 0 1 1 000000h - 0FFFFFh 1 MB Lower 1/16
0 1 1 0 0 000000h - 1FFFFFh 2 MB Lower 1/8
0 1 1 0 1 000000h - 3FFFFFh 4 MB Lower 1/4
0 1 1 1 0 000000h - 7FFFFFh 8 MB Lower 1/2
X X 1 1 1 000000h - FFFFFFh 16 MB ALL
1 0 0 0 1 FFF000h - FFFFFFh 4 KB Upper 1/4096
1 0 0 1 0 FFE000h - FFFFFFh 8 KB Upper 1/2048
1 0 0 1 1 FFC000h - FFFFFFh 16 KB Upper 1/1024
34AT25SL128 DS-25SL128–090A–4/2016
1 0 1 0 X FF8000h - FFFFFFh 32 KB Upper 1/512
1 1 0 0 1 000000h - 000FFFh 4 KB Lower 1/4096
1 1 0 1 0 000000h - 001FFFh 8 KB Lower 1/2048
1 1 0 1 1 000000h - 003FFFh 16 KB Lower 1/1024
1 1 1 0 X 000000h - 007FFFh 32 KB Lower 1/512
Table 6-5. Status Register Memory Array Protection — WPS = 0, CMP = 1
Protection Bits Memory Content
SEC TB BP2 BP1 BP0 Address RangeProtected Memory
Size Portion
X X 0 0 0 000000h - FFFFFFh 16 MB All
0 0 0 0 1 000000h - FBFFFFh 16,128 KB Lower 63/64
0 0 0 1 0 000000h - F7FFFFh 15,872 KB Lower 31/32
0 0 0 1 1 000000h - EFFFFFh 15 MB Lower 15/16
0 0 1 0 0 000000h - DFFFFFh 14 MB Lower 7/8
0 0 1 0 1 000000h - BFFFFFh 12 MB Lower 3/4
0 0 1 1 0 000000h - 7FFFFFh 8 MB Lower 1/2
0 1 0 0 1 040000h - FFFFFFh 16,128 KB Upper 63/64
0 1 0 1 0 080000h - FFFFFFh 15,872 KB Upper 31/32
0 1 0 1 1 100000h - FFFFFFh 15 MB Upper 15/16
0 1 1 0 0 200000h - FFFFFFh 14 MB Upper 7/8
0 1 1 0 1 400000h - FFFFFFh 12 MB Upper 3/4
0 1 1 1 0 800000h - FFFFFFh 8 MB Upper 1/2
X X 1 1 1 NONE NONE NONE
1 0 0 0 1 000000h - FFEFFFh 16,380 KB Lower 4095/4096
1 0 0 1 0 000000h - FFDFFFh 16,376 KB Lower 2047/2048
1 0 0 1 1 000000h - FFBFFFh 16,368 KB Lower 1023/1024
1 0 1 0 X 000000h - FF7FFFh 16,352 KB Lower 511/512
1 1 0 0 1 001000h - FFFFFFh 16,380 KB Upper 4095/4096
Table 6-4. Status Register Memory Array Protection — WPS = 0, CMP = 0 (Continued)
Protection Bits Memory Content
SEC TB BP2 BP1 BP0 Protected Address RangeProtected Memory
Size Portion
35AT25SL128 DS-25SL128–090A–4/2016
As a safeguard against accidental or erroneous protecting or unprotecting of the memory array, the Protection can be locked from updates by using the WP pin (see “Protected States and the Write Protect Pin” on page 35 for more details).
6.3.4 Protected States and the Write Protect Pin
The WP pin is not linked to the memory array itself and has no direct effect on the protection status of the memory array. Instead, the WP pin, is used to control the hardware locking mechanism of the device.
If the WP pin is permanently connected to GND, then the protection bits cannot be changed.
6.4 Security Register Commands
The device contains three extra pages called Security Registers that can be used for purposes such as unique device serialization, system-level Electronic Serial Number (ESN) storage, locked key storage, etc. The Security Registers are independent of the main Flash memory.
Each page of the Security Register can be erased and programmed independently. Each page can also be independently locked to prevent further changes.
6.4.1 Erase Security Registers (44h)
The AT25SL128 offers three 256-byte Security Registers that can be independently erased and programmed. Before an erase Security Register Page command can be started, the Write Enable command must have been previously issued to the device to set the WEL bit of the Status Register to a logical "1" state.
To perform an Erase Security Register Page command, the CS pin must first be asserted and the opcode 44h must be clocked into the device. After the opcode has been clocked in, the three address bytes specifying the Security Register Page to be erased must be clocked in. The state of address bits 15:8 determine which register is accessed as described in Table 6-6 below. When the CS pin is deasserted, the device erases the appropriate block. The erasing of the block is internally self-timed and should take place in a time of tBE.
Since the Erase Security Register Page command erases a region of bytes, the lower order address bits do not need to be decoded by the device. Therefore address bits A7-A0 are ignored by the device. Despite the lower order address bits not being decoded by the device, the complete three address bytes must still be clocked into the device before the CS pin is deasserted, and the CS pin must be deasserted right after the last address bit (A0); otherwise, the device aborts the operation and no erase operation is performed.
While the device is executing a successful erase cycle, the Status Register can be read and indicates that the device is busy. For faster throughput, it is recommended that the Status Register be polled rather than waiting the tBE time to determine if the device has finished erasing. At some point before the erase cycle completes, hardware clears the RDY/BSY bit in the Status Register.
Hardware clears the WEL bit in the Status Register if the erase cycle aborts due to an incomplete address being sent, the CS pin being deasserted on uneven byte boundaries, or because a memory location within the region to be erased is protected.
1 1 0 1 0 002000h - FFFFFFh 16,376 KB Upper 2047/2048
1 1 0 1 1 004000h - FFFFFFh 16,368 KB Upper 1023/1024
1 1 1 0 X 008000h - FFFFFFh 16,352 KB Upper 511/512
Table 6-5. Status Register Memory Array Protection — WPS = 0, CMP = 1 (Continued)
Protection Bits Memory Content
SEC TB BP2 BP1 BP0 Address RangeProtected Memory
Size Portion
36AT25SL128 DS-25SL128–090A–4/2016
The Security Registers Lock bits (LB3-LB1) in the Status Register can be used to OTP protect the security registers. Once software sets the Lock bit is set, the corresponding Security Register becomes permanently locked. In this case, hardware ignores the Erase Security Register Page command for those Security Registers that have their Lock Bit set.
Figure 6-30. Erase Security Register Page
6.4.2 Program Security Registers (42h)
The Program Security Register command is similar to the Page Program command. It allows from one byte to 256 bytes of security register data to be programmed at previously erased (FFh) memory locations. The Program Security Registers command utilizes the internal 256-byte buffer for processing. Therefore, the contents of the buffer are altered from its previous state when this command is issued.
The Security Registers can be programmed in a similar fashion to the Program Array operation up to the maximum clock frequency specified by fCLK. Before a Program Security Registers command can be started, the Write Enable command must have been previously issued to the device (see “Write Enable (06h)” on page 31) to set the Write Enable Latch (WEL) bit of the Status Register to a logical “1” state. To program the Security Registers, the CS pin must first be asserted and the opcode of 42h must be clocked into the device. After the opcode has been clocked in, the three address bytes must be clocked in to specify the starting address location of the first byte to program within the Security Register. Bits 15:8 of the address indicate the Security register to be accessed as shown in Table 6-7 below.
Table 6-6. Security Register Addresses for Erase Security Register Page Command (SPI Mode Only)
Address A23-A16 A15-A8 A7-A0
Security Register 1 00H 01H Don’t Care
Security Register 2 00H 02H Don’t Care
Security Register 3 00H 03H Don’t Care
MSB
2 310 6 754
OPCODE
Table 6-7. Security Register Addresses for Program Security Registers Command
Address A23-A16 A15-A8 A7-A0
Security Register 1 00H 01H Byte Address
Security Register 2 00H 02H Byte Address
Security Register 3 00H 03H Byte Address
37AT25SL128 DS-25SL128–090A–4/2016
Figure 6-31. Program Security Registers (SPI Mode Only)
6.4.3 Read Security Registers (48h)
The Security Register can be sequentially read in a similar fashion to the Read Array operation up to the maximum clock frequency specified by fCLK. To read the Security Register, the CS pin must first be asserted and the opcode of 48h must be clocked into the device. After the opcode has been clocked in, the three address bytes must be clocked in to specify the starting address location of the first byte to read within the Security Register. Following the three address bytes, one dummy byte must be clocked into the device before data can be output. Bits 15:8 of the address indicate the Security register to be accessed as shown in Table 6-8 below.
After the three address bytes and the dummy byte have been clocked in, additional clock cycles result in Security Register data being output on the SO pin. When the last byte (0003FFh) of the Security Register has been read, the device continues reading back at the beginning of the register (000000h). No delays are incurred when wrapping around from the end of the register to the beginning of the register.
Deasserting the CS pin terminates the read operation and put the SO pin into a high - impedance state. The CS pin can be deasserted at any time and does not require that a full byte of data be read.
Figure 6-32. Read Security Registers (SPI Mode Only)
MSB MSB
2 310
0 0 1
6 754 98 3937 3833 36353431 3229 30
OPCODE
HIGH-IMPEDANCE
A A A A AAMSB
D D D D D D D D
ADDRESS BITS A23-A0 DATA IN BYTE 1
MSB
D D D D D D D D
DATA IN BYTE n
Table 6-8. Security Register Addresses for Read Security Registers Command
Address A23-A16 A15-A8 A7-A0
Security Register 1 00H 01H Byte Address
Security Register 2 00H 02H Byte Address
Security Register 3 00H 03H Byte Address
MSB MSB
2 310
0 1
6 754 10 1198 12 33 36353431 3229 30
OPCODE
A A A A A A AA A X X X
MSB MSB
D D D D D D D DDD
ADDRESS BITS A23-A0
MSB
X X X X X X
DATA BYTE 1
HIGH-IMPEDANCE
38AT25SL128 DS-25SL128–090A–4/2016
6.5 Status Register Commands
6.5.1 Read Status Register (05h, 35h, and 15h)
The Status Register can be read to determine the device's ready/busy status, as well as the status of many other functions such as Block Protection. The Status Register can be read at any time, including during an internally self-timed program or erase operation.
To read Status Register Byte 1, the CS pin must first be asserted and the opcode of 05h must be clocked into the device. To read Status Register Byte 2, the CS pin must first be asserted and the opcode of 35h must be clocked into the device. To read Status Register Byte 3, the CS pin must first be asserted and the opcode of 15h must be clocked into the device.
After the appropriate opcode has been clocked in, the device begins outputting the corresponding byte of data on the SO pin during every subsequent clock cycle. After the last bit (bit 0) of associated status register byte has been clocked out, the sequence repeats itself starting again with bit 7 as long as the CS pin remains asserted and the clock pin is being pulsed. The data in the Status Register is constantly being updated, so each repeating sequence may output new data. Deasserting the CS pin terminates the Read Status Register operation and put the SO pin into a high-impedance state. The CS pin can be deasserted at any time and does not require that a full byte of data be read.
Figure 6-33. Read Status Register Byte 1-3 (Command 05h/35h/15h)
Figure 6-34. Read Status Register Byte 1-3 (QPI Mode, Command 05h/35h/15h)
6.5.2 Write Status Register (01h/31h/11h)
The Write Status Register command is used to modify the Block Protection, Security Register Lock-down, Quad Enable, and Status Register Protection. Before the Write Status Register command can be issued, the Write Enable command must have been previously issued to set the WEL bit in the Status Register to a logical “1”.
SCK
CS
SI
SO
MSB
2 310
0 0 0 0 0 1 0 1
6 754 10 1198 12 21 2217 20191815 1613 14 23 24 28 29272625 30
MSB MSB
D D D D D D D DDDMSB
D D D D D DDD D D DD D D
BYTE 1
HIGH-IMPEDANCE
BYTE 1 BYTE 1
page 30 7.1.4b
39AT25SL128 DS-25SL128–090A–4/2016
To issue the Write Status Register command, the CS pin must first be asserted and the opcode of 01h must be clocked into the device followed by one or two bytes of data. The first byte of data consists of the SRP0, SEC, TB, BP2, BP1, BP0 bit values and 2 dummy bits. The second byte is optional and consists of 1 dummy bit, the CMP, LB3, LB2, LB1, 1 dummy bit, the QE, and 1 dummy bit. When the CS pin is deasserted, the bit values in the Status Register are modified, and hardware clears the WEL bit in the Status Register.
The complete one byte or two bytes of data must be clocked into the device before the CS pin is deasserted, and the CS pin must be deasserted on even byte boundaries (multiples of eight bits); otherwise, the device aborts the operation, the state of the Status Register bits do not change, memory protection status does not change, and the WEL bit in the Status Register are reset back to the logical “0” state.
Figure 6-35. Write Status Register (SPI Mode)
Table 6-9. Write Status Register 1 Format (Command 01h)
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
SRPO SEC TB BP2 BP1 BP0 WEL RDY/BSY
Table 6-10. Write Status Register 2 (Command 31h)
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
SUS CMP LB3 LB2 LB1 reserved QE SRP1
Table 6-11. Write Status Register 3 (Command 11h)
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
HOLD/RESET DRV1 DRV0 R R WPS R R
SI
SCK
SO
CS
MSB
2 310
0 0 0 0 0 0 0 1
6 754 10 1198 1917 1816
Opcode
D D D D
Status Register In - Byte 1
MSB
2321 222014 151312
D D D D D D D D
Status Register In - Byte 2
D D D D
High-Impedance
ALL C’s
40AT25SL128 DS-25SL128–090A–4/2016
Figure 6-36. Write Status Register (QPI Mode)
6.5.3 Write Enable for Volatile Status Register (50h)
During power up reset, the non-volatile Status Register bits are copied to a volatile version of the Status Register that is used during device operation. This gives more flexibility to change the system configuration and memory protection schemes quickly without waiting for the typical non-volatile bit write cycles or affecting the endurance of the Status Register non-volatile bits.
To write the volatile version of the Status Register bits, the Write Enable for Volatile Status Register (50h) command must be issued prior to each Write Status Register (01h) command. The Write Enable for Volatile Status Register command does not set the Write Enable Latch (WEL) bit. It is only valid for the next following Write Status Register command, to change the volatile Status Register bit values.
This command is available in both SPI and QPI modes.
Figure 6-37. Write Enable for Volatile Status Register
Figure 6-38. Write Enable for Volatile Status Register (QPI Mode)
MSB
2 310 6 754
OPCODE
HIGH-IMPEDANCE
41AT25SL128 DS-25SL128–090A–4/2016
6.6 Power Down Commands
6.6.1 Deep Power-Down (B9h)
During normal operation, hardware places the device in the standby mode to consume less power as long as the CS pin remains deasserted and no internal operation is in progress. The Deep Power-Down command offers the ability to place the device into an even lower power consumption state called the Deep Power-Down mode.
When the device is in the Deep Power-Down mode, hardware ignores all commands with the exception of the Resume from Deep Power-Down command. Since all commands are ignored in this mode, the mode can be used as an extra protection mechanism against program and erase operations.
Entering the Deep Power-Down mode is accomplished by simply asserting the CS pin, clocking in the opcode of B9h, and then deasserting the CS pin. Any additional data clocked into the device after the opcode is ignored. When the CS pin is deasserted, the device enters the Deep Power-Down mode within the maximum time of tEDPD.
The complete opcode must be clocked in before the CS pin is deasserted, and the CS pin must be deasserted on an byte boundary (multiples of eight bits); otherwise, the device aborts the operation and return to the standby mode once the CS pin is deasserted. In addition, the device defaults to the standby mode after a power-cycle.
Hardware ignores the Deep Power-Down command if an internally self-timed operation such as a program or erase cycle is in progress. The Deep Power-Down command must be reissued after the internally self-timed operation has been completed in order for the device to enter the Deep Power-Down mode.
This command is available in both SPI and QPI modes.
Figure 6-39. Deep Power-Down (SPI Mode)
SCK
CS
SI
SO
MSB
ICC
2 310
1 0 1 1 1 0 0 1
6 754
OPCODE
HIGH-IMPEDANCE
Standby Mode Current
Active Current
Deep Power-Down Mode Current
tEDPD
42AT25SL128 DS-25SL128–090A–4/2016
Figure 6-40. Deep Power-Down (QPI Mode)
6.6.2 Resume from Deep Power-Down (ABh)
In order to exit the Deep Power-Down mode and resume normal device operation, the Resume from Deep Power-Down command must be issued. The Resume from Deep Power-Down command is the only command that the device recognizes while in the Deep Power-Down mode.
To resume from the Deep Power-Down mode, the CS pin must first be asserted and the opcode of ABh must be clocked into the device. Any additional data clocked into the device after the opcode is ignored. When the CS pin is deasserted, the device exits the Deep Power-Down mode within the maximum time of tRDPD and return to the standby mode. After the device has returned to the standby mode, normal command operations such as Read Array can be resumed.
If the complete opcode is not clocked in before the CS pin is deasserted, or if the CS pin is not deasserted on an byte boundary (multiples of eight bits), then the device aborts the operation and return to the Deep Power-Down mode.
This command is available in both SPI and QPI modes.
Figure 6-41. Resume from Deep Power-Down (SPI Mode)
MSB
2 310
1 0 1 0 1 0 1 1
6 754
OPCODE
HIGH-IMPEDANCE
Deep Power-Down Mode Current
Active Current
Standby Mode Current
tRDPD
43AT25SL128 DS-25SL128–090A–4/2016
Figure 6-42. Resume from Deep Power-Down (QPI Mode)
6.6.3 Resume from Deep Power-Down and Read Device ID (ABh)
The Resume from Deep Power-Down command can also be used to read the Device ID.
When used to release the device from the Power-Down state and obtain the Device ID, the CS pin must first be asserted and opcode of ABh must be clocked into the device, followed by 3 dummy bytes. The Device ID bits are then shifted out on the falling edge of SCLK with most significant bit (MSB) first as shown in Figure 6-43. This command only outputs a single byte Device ID. The Device ID value for the AT25SL128 is listed in Table 8-2.
After the last bit (bit 0) of the Device ID has been clocked out, the sequence repeats itself starting again with bit 7 as long as the CS pin remains asserted and the SCK pin is being pulsed. After CS is deasserted it must remain high for a time duration of tRDPO before new commands can be received.
The same command may be used to read device ID when not in power down. In that case, CS does not have to remain high after it is deasserted.
This command is available in both SPI and QPI modes.
Figure 6-43. Resume from Deep Power-Down and Read Device ID (SPI Mode)
MSB
2 310
1 0 1 0 1 0 1 1
6 754
OPCODE
HIGH-IMPEDANCE
Active Current
31 323029 38 393735 363433
X X X X X
MSB
D D D D D D D D
44AT25SL128 DS-25SL128–090A–4/2016
Figure 6-44. Resume from Deep Power-Down and Read Device ID (QPI Mode)
6.7 Lock and Unlock Commands
6.7.1 Individual Block Lock (36h)
The Individual Block Lock command can be used to protect the memory array from being erased via the Erase commands. To enable the block lock function, the WPS bit in Status Register 3 must be set. If WPS is cleared, write protection is then determined by the combination of the CMP, SEC, TB, and BP[2:0] bits in the Status Registers. The default value for each of these bits is 1 at power-up or reset, so the entire memory array is being protected.
An Individual Block Lock command is executed by first driving the CS pin low, then shifting opcode 36h onto the bus, followed by a 24-bit address. A Write Enable command must be executed before the device accepts the Individual Block Lock command (Status Register bit WEL= 1).
Figure 6-45. Individual Block Lock Command (SPI Mode)
Figure 6-46. Individual Block Lock Command (Quad I/O Mode)
45AT25SL128 DS-25SL128–090A–4/2016
6.7.2 Individual Block Unlock (39h)
The Individual Block Unlock command can be used to protect the memory array from being erased via the Erase commands. To enable the block lock function, the WPS bit in Status Register 3 must be set. If WPS is cleared, write protection is then determined by the combination of the CMP, SEC, TB, and BP[2:0] bits in the Status Registers. The default value for each of these bits is 1 at power-up or reset, so the entire memory array is being protected.
An Individual Block Unlock command is executed by first driving the CS pin low, then shifting opcode 39h onto the bus, followed by a 24-bit address. A Write Enable command must be executed before the device accepts the Individual Block Lock command (Status Register bit WEL= 1).
Figure 6-47. Individual Block Unlock Command (SPI Mode)
Figure 6-48. Individual Block Unlock Command (QPI Mode)
6.7.3 Read Block Lock (3Dh)
The Read Block Lock command can be used to protect the memory array from being erased via the Erase commands. To enable the read block lock function, the WPS bit in Status Register 3 must be set. If WPS is cleared, write protection is then determined by the combination of the CMP, SEC, TB, and BP[2:0] bits in the Status Registers. The default value for each of these bits is 1 at power-up or reset, so the entire memory array is being protected.
An Individual Block Unlock command is executed by first driving the CS pin low, then shifting opcode 3Dh onto the bus, followed by a 24-bit address. A Write Enable command must be executed before the device accepts the Individual Block Lock command (Status Register bit WEL= 1).
Once the command and address have been transmitted, the memory device shifts out the Read Block Lock bit values is onto the Data Output pin at the falling edge of SCK. The most significant bit (MSB) first is output first. If the least significant bit (LSB) is 1, the corresponding block is locked. If the LSB = 0, the corresponding block is unlocked, indicating that an Erase/Program operation can be performed on this location.
46AT25SL128 DS-25SL128–090A–4/2016
Figure 6-49. Read Block Lock Command (SPI Mode)
Figure 6-50. Read Block Lock Command (QPI Mode)
6.7.4 Global Block Lock (7Eh)
The Global Block Lock command can be used to lock all block lock bits simultaneously. The command is executed by driving the CS pin low and shifting opcode 7Eh into the device. Note that a Write Enable command must be executed before the device can accept the Global Block Lock command (Status Register bit WEL= 1).
This command is available in both SPI and QPI modes.
Figure 6-51. Global Block Lock Command for SPI Mode (left) or QPI Mode (right)
47AT25SL128 DS-25SL128–090A–4/2016
6.7.5 Global Block Unlock (98h)
The Global Block Unlock command can be used to unlock all block lock bits simultaneously. The command is executed by driving the CS pin low and shifting opcode 98h into the device. Note that a Write Enable command must be executed before the device can accept the Global Block Lock command (Status Register bit WEL= 1).
This command is available in both SPI and QPI modes.
Figure 6-52. Global Block Unlock Command for SPI Mode (left) or Quad I/O Mode (right)
6.8 Miscellaneous Commands
6.8.1 Enable Reset (66h) and Device Reset (99h)
Due the limited pin count on the AT25SL128 memory device, two Reset commands are used to reset the device as opposed to an actual reset pin. Executing the Reset command terminates all internal operations. After reset, the device is set to its default parameters and all previous register settings are lost.
To initiate a device reset, the Enable Reset command (66h) is issued first, followed by the Device Reset command (99h). If any other command is issued after the Enable Reset command, the Reset Enable command is disabled the subsequent command is executed. To perform a device reset, command 66h must be followed by command 99h. Both command can be issued in both SPI mode and QPI mode. During the reset sequence, no other command can be accepted by the device.
Note that is an erase or program operation has been suspended and the device reset sequence is initiated, the data will be corrupted. To prevent this from happening, check the BUSY and the SUS bits in Status Register before issuing the Reset command sequence.
Figure 6-53. Enable Reset and Reset Command Sequence (SPI Mode)
48AT25SL128 DS-25SL128–090A–4/2016
Figure 6-54. Enable Reset and Reset Command Sequence (QPI Mode)
6.8.2 Enter QPI Mode (38h)
In order to enter the QPI Mode from the Standard SPI Mode, an Enter QPI Mode command (38h) must be issued. The Enter QPI Mode command can only be entered from Standard SPI Mode. Before the Enter QPI Mode command can be issued, the Write Enable (06h) command must have been previously issued to set the WEL bit in the Status Register to a logical “1”.
To issue the Enter QPI Mode command, the CS pin must first be asserted and the opcode of 38h must be clocked into the device. When the device is switched from SPI Mode to QPI Mode, the existing Program Suspend status, Erase Suspend status, and the Wrap Length settings remain unchanged. The WEL bit in the Status Register is reset back to the logical “0” state.
Figure 6-55. Enter QPI Command (SPI Mode only)
6.8.3 Exit QPI Mode (FFh)
The Exit QPI Mode command is used to exit the QPI mode and return to the Standard/Dual/Quad SPI mode. When the device is switched from QPI mode to SPI mode, the existing Write Enable Latch (WEL), Erase Suspend status, and Wrap Length setting remains unchanged. This command is executed only in QPI mode.
49AT25SL128 DS-25SL128–090A–4/2016
Figure 6-56. Exit QPI Command (QPI Mode only)
6.8.4 Set Burst with Wrap (77h)
The Set Burst with Wrap (77h) command is used in conjunction with the Quad I/O Read (EBh) and Quad I/O Word Read (E7h) commands to access data with various wrap lengths.
The Set Burst with Wrap command is initiated by driving the CS pin low and then shifting opcode 77h into the device, followed by 24 dummy bits and 8 Wrap Bits (W[7:0]. Bits 6 and 5 of this field are used to determine the wrap length as shown in Table 6-12. The W4 bit is the enable bit for the wrap feature.
To exit the Wrap Around function and return to the normal read mode, another Set Burst with Wrap command should be issued to set W4 = 1. The default value of W4 upon power on or after a software/hardware reset is 1.
Table 6-12. Setting the Wrap Length
W6 W5
W4 = 0 W4 =1 (DEFAULT)
Wrap Around Wrap Length Wrap Around Wrap Length
0 0 Yes 8-byte No N/A
0 1 Yes 16-byte No N/A
1 0 Yes 32-byte No N/A
1 1 Yes 64-byte No N/A
50AT25SL128 DS-25SL128–090A–4/2016
Figure 6-57. Set Burst with Wrap Command (SPI Mode only)
6.8.5 Burst Read with Wrap (0Ch)
The Burst Read with Wrap (0Ch) command operates in QPI mode and implements a wrap-around feature. It differs from the Read Data Array command (0Bh) in that the read operation wrap around back to the beginning address once the ending address is reached. The ending address depends on the wrap length.
This command works in conjunction with the Set Read Parameters (C0h) command to set the wrap length and the number of dummy clocks. Refer to Section 6.8.6, Set Read Parameters (C0h) for more information.
Figure 6-58. Burst Read with Wrap Command (QPI Mode only)
6.8.6 Set Read Parameters (C0h)
The Set Read Parameters command (C0h) works in conjunction with the following command in QPI mode to set the wrap around length and the number of dummy clocks, which allows flexibility of the AT25SL128 device to accommodate a range of frequencies and data latencies.
• Read Data (0Bh)
• Quad I/O Read Data (EBh)
• Burst Read with Wrap (0Ch)
51AT25SL128 DS-25SL128–090A–4/2016
When this command is executed, an 8-bit opcode (C0h) is driven onto the bus, followed by an 8-bit parameters field (P[7:0]). This field contains the wrap length and the number of dummy clocks as shown in the following tables. Note that this command is not supported in standard SPI mode.
Figure 6-59. Set Read Parameters Command (QPI Mode only)
6.8.7 Read SFDP (5Ah)
The AT25SL128 contains a 256-byte Serial Flash Discoverable Parameter (SFDP) register.
The SFDP Register can be sequentially read in a similar fashion to the Read Array operation up to the maximum clock frequency specified by fCLK. To read the SFDP Security Register, the CS pin must first be asserted and the opcode of 5Ah must be clocked into the device. After the opcode has been clocked in, the three address bytes must be clocked in to specify the starting address location of the first byte to read within the SFDP Security Register. Following the three address bytes, an additional dummy byte needs to be clocked into the device. After the three address bytes and the dummy byte have been clocked in, additional clock cycles result in data being output on the I/O pin(s). The data is always output with the MSB of a byte first. When the last byte (0000FFh) of the SFDP Security Register has been read, the
Table 6-13. Encoding of P5:4 Field of the Set Read Parameters Command
P5 P4 Dummy clocks Maximum Read Frequency
0 0 2 33MHz
0 1 4 55MHz
1 0 6 80MHz
1 1 8 104MHz
Table 6-14. Encoding of P1:0 Field of the Set Read Parameters Command
P1 P0 Wrap Length
0 0 8 bytes
0 1 16 bytes
1 0 32 bytes
1 1 64 bytes
52AT25SL128 DS-25SL128–090A–4/2016
device continues reading back at the beginning of the register (000000h). No delays are incurred when wrapping around from the end of the register to the beginning of the register.
Deasserting the CS pin terminates the read operation and put the I/O pin(s) used into a high-impedance state. The CS pin can be deasserted at any time and does not require that a full byte of data be read. The format of the SFDP register follows the format provided in JEDEC Standard No. 216 Rev B.
The first 136 bytes of the SFDP register contains SFDP parameters. The remaining portion of the SFDP register reads as 0xFF.
Figure 6-60. Read SFDP (SPI Mode)
SCK
CS
SI
SO
MSB MSB
2 310
0 0 1 0 1
6 754 10 1198 12 39 42 43414037 3833 36353431 3229 30 44 47 484645
OPCODE
A A A A A A AA AMSB
X X X X X X X X
MSB MSB
D D D D D D D DDD
ADDRESS BITS A23-A0 DON'T CARE
DATA BYTE 1
HIGH-IMPEDANCE
Table 6-15. SFDP Signature and Headers
Description CommentAddress(h) Byte
Address (Bit)
Data (b)(Bit)
Data (h)(Byte)
SFDP Signature
00h 07:00 0101 0011 53h
01h 15:08 0100 0110 46h
02h 23:16 0100 0100 44h
03h 31:24 0101 0110 50h
SFDP Minor Revision Start from 00h 04h 07:00 0000 0110 06h
SFDP Major Revision Start from 01h 05h 15:08 0000 0001 01h
Number of ParametersHeaders
Start from 00h 06h 23:16 0000 0001 01h
Reserved FFh 07h 31:24 1111 1111 FFh
JEDEC Parameter ID (LSB)JEDEC Parameter ID
(LSB) = 00H08h 07:00 0000 0000 00h
Parameter Table MinorRevision
Start from 00H 09h 15:08 0000 0000 00h
Parameter Table MajorRevision
Start from 01H 0Ah 23:16 0000 0001 01h
Parameter Table Length (double words)
How many DWORDs in the parameter table
0Bh 31:24 0001 0000 10h
53AT25SL128 DS-25SL128–090A–4/2016
Table 6-16. SFDP Parameters Table 1
Parameter Table Pointer Address of Adesto Parameter Table
0Ch 07:00 0011 0000 30h
0Dh 15:08 0000 0000 00h
0Eh 23:16 0000 0000 00h
JEDEC Parameter ID (MSB)JEDEC Parameter ID
(MSB):FFH 0Fh 31:24 1111 1111 FFh
JEDEC Parameter ID (LSB) Adesto Manufacturer ID 10h 07:00 0001 1111 1Fh
Parameter Table MinorRevision
Start from 00H 11h 15:08 0000 0000 00h
Parameter Table MajorRevision
Start from 01H 12h 23:16 0000 0001 01h
Parameter Table Length (double words)
How many DWORDs in the parameter table
13h 31:24 0000 0010 02h
Parameter Table Pointer (PTP)
Address of Adesto Parameter Table
14h 07:00 1000 0000 80h
15h 15:08 0000 0000 00h
16h 23:16 0000 0000 00h
Reserved FFh 17h 31:24 1111 1111 FFh
Table 6-15. SFDP Signature and Headers
Description CommentAddress(h) Byte
Address (Bit)
Data (b)(Bit)
Data (h)(Byte)
Description CommentAddress(h) Byte
Address (Bit)
Data (b)(Bit)
Data (h)(Byte)
Erase Granularity01:4KB available
11:4KB not available
30h
01:00 01
E1h
Write Granularity 0:1Byte, 1:64 bytes or larger 02 0
Volatile Status Register Block Protect Bits
0: Nonvolatile status bit
1: Volatile status bit 03 0
Volatile Status Register Write Enable Opcode
0:50H Opcode to enable, if bit-3 = 1
04 0
Reserved 07:05 111
4KB Erase Opccde Opcode or FFh 31h 15:08 0010 0000 20h
54AT25SL128 DS-25SL128–090A–4/2016
Fast Dual Read Output(1 -1 -2)
0=Not supported, 1=Supported
32h
16 1
F1h
Number of Address Bytes 00:3 Byte only
01:3 or 4 Byte
10:4 Byte only
11:Reserved
18:17 00
Double Transfer Rate (DTR) Clocking
0=Not supported, 1=Supported 19 0
Fast Dual I/O Read (1-2- 2)
0=Not supported, 1=Supported 20 1
Fast Quad I/O Read (1-4-4)
0=Not supported, 1=Supported 21 1
Fast Quad Output Read (1-1-4)
0=Not supported, 1=Supported 22 1
Reserved FFh 23 1
Reserved FFh 33h 31:24 1111 1111 FFh
Flash Memory Density
34h 07:00 1111 1111 FFh
35h 15:08 1111 1111 FFh
36h 23:16 1111 1111 FFh
37h 31:24 0000 0111 07h
Fast Quad I/O (1-4-4) Number of dummy clocks
number of dummy clocks
38h
04:00 00100
44hFast Quad I/O (1-4-4) Number of mode bits
number of mode bits 07:05 010
Fast Quad I/O (1-4-4) Read Opcode
Opcode or FFh 39h 15:08 1110 1011 EBh
Fast Quad Output (1-1-4) Number of dummy clocks
number of dummy clocks
3Ah
20:16 01000
08hFast Quad Output (1-1-4) Number of mode bits
number of mode bits 23:21 000
Fast Quad Output (1-1-4) Read Opcode
Opcode or FFh 3Bh 31:24 0110 1011 6Bh
Fast Dual Output (1-1-2) Number of dummy clocks
number of dummy clocks
3Ch
04:00 01000
08hFast Dual Output (1-1-2) Number of mode bits
number of mode bits 07:05 000
Fast Dual Output (1-1-2) Read Opcode
Opcode or FFh 3Dh 15:08 0011 1011 3Bh
Description CommentAddress(h) Byte
Address (Bit)
Data (b)(Bit)
Data (h)(Byte)
55AT25SL128 DS-25SL128–090A–4/2016
Fast Dual I/O (1-2-2) Number of dummy clocks
number of dummy clocks
3Eh
20:16 00000
80hFast Dual I/O (1-2-2) Number of mode bits
number of mode bits 23:21 100
Fast Dual I/O (1-2-2) Read Opcode
Opcode or FFh 3Fh 31:24 1011 1011 BBh
Fast Dual DPI (2-2-2) 0=Not supported, 1=Supported
40h
0 0
FEhReserved FFh 03:01 111
Fast Quad QPI (4-4-4) 0=Not supported, 1=Supported 04 1
Reserved FFh 07:05 111
Reserved FFh 41h 15:08 1111 1111 FFh
Reserved FFh 42h 23:16 1111 1111 FFh
Reserved FFh 43h 31:24 1111 1111 FFh
Reserved FFh 44h 07:00 1111 1111 FFh
Reserved FFh 45h 15:08 1111 1111 FFh
Fast Dual DPI (2-2-2) Number of dummy clocks
number of dummy clocks
46h
20:16 0 0000
00hFast Dual DPI (2-2-2) Number of mode bits
number of mode bits 23:21 000
Fast Dual DPI(2-2-2) Read Opcode
Opcode or FFh 47h 31:24 1111 1111 FFh
Reserved FFh 48h 07:00 1111 1111 FFh
Reserved FFh 49h 15:08 1111 1111 FFh
Fast Quad QPI (4-4-4) Number of dummy clocks
number of dummy clocks
4Ah
20:16 00010
02hFast Quadl QPI (4-4-4) Number of mode bits
number of mode bits 23:21 000
Fast Quad QPI(4-4-4) Read Opcode
Opcode or FFh 4Bh 31:24 0000 1011 0Bh
Erase type-1 Size 4KB=2^0Ch, 32KB=2^0Fh,64KB=2^10h;
(2^Nbyte)
4Ch07:00
0000 1100 OCh
Erase type-1 Opcode Opcode or FFh 4Dh 15:08 0010 0000 20h
Erase type-2 Size 4KB=2^0Ch, 32KB=2^0Fh,64KB=2^10h;
(2^Nbyte)4Eh 23:16 0000 1111 0Fh
Erase type-2 Opcode Opcode or FFh 4Fh 31:24 0101 0010 52h
Description CommentAddress(h) Byte
Address (Bit)
Data (b)(Bit)
Data (h)(Byte)
56AT25SL128 DS-25SL128–090A–4/2016
Erase Type-3 Size 4KB=2^0Ch, 32KB=2^0Fh,64KB=2^10h;
(2^Nbyte)50h
07:000001 0000 10h
Erase Type-3 Opcode Opcode or FFh 51h 15:08 1101 1000 D8h
Erase Type-4 Size 4KB=2^0Ch, 32KB=2^0Fh,64KB=2^10h;
(2^Nbyte)52h 23:16 0000 0000 00h
Erase Type-4 Opcode Opcode or FFh 53h 31:24 1111 1111 FFh
Erase Maximum/Typical Ratio
Maximum = 2 * (COUNT + 1) * Typical
54h
55h
56h
57h
03:00 0010
32h
92h
0Dh
01h
Erase type-1 Typical time Count or 00h 08:04 0 0011
Erase type-1 Typical units
00b: 1ms
01b: 16ms
10b: 128ms
11b: 1s
10:09 01
Erase type-2 Typical time Count or 00h 15:11 1001 0
Erase type-2 Typical units
00b: 1ms
01b: 16ms
10b: 128ms
11b: 1s
17:16 01
Erase type-3 Typical time Count or 00h 22:18 000 11
Erase type-3 Typical units
00b: 1ms
01b: 16ms
10b: 128ms
11b: 1s
24:23 1 0
Erase type-4 Typical time Count or 00h 29:25 00 000
Erase type-4 Typical units
00b: 1ms
01b: 16ms
10b: 128ms
11b: 1s
31:30 00
Program Maximum/Typical Ratio
Maximum = 2 * (COUNT + 1) * Typical 58h
03:00 001082h
Page Size 2^N bytes 07:04 1000
Description CommentAddress(h) Byte
Address (Bit)
Data (b)(Bit)
Data (h)(Byte)
57AT25SL128 DS-25SL128–090A–4/2016
Program Page Typical time Count or 00h
59h
5Ah
5Bh
12:08 0 1010
EAh
14h
CEh
Program Page Typical units0: 8us,
1: 64us13 1
Program Byte Typical time, 1st byte
Count or 00h 17:14 00 11
Program Byte Typical units, 1st byte
0: 1us,
1: 8us18 1
Program Additional Byte Typical time
Count or 00h 22:19 0010
Program Additional Byte Typical units
0: 1us,
1: 8us23 0
Erase Chip Typical time Count or 00h 28:24 0 1110
Erase Chip Typical units
00b: 16ms
01b: 256ms
10b: 4s
11b: 64s
30:29 10
Reserved 1h 31 1
Prohibited Op during Program Suspend
see datasheet
5Ch
03:00 1101
EDhProhibited Op during Erase Suspend
see datasheet 07:04 1110
Description CommentAddress(h) Byte
Address (Bit)
Data (b)(Bit)
Data (h)(Byte)
58AT25SL128 DS-25SL128–090A–4/2016
Reserved1h
5Dh
5Eh
5Fh
08 1
61h
06h
33h
Program Resume to Suspend time
Count of 64us 12:09 0 000
Program Suspend Maximum time
Count or 00h 17:13 10 011
Program Suspend Maximum units
00b: 128ns,
01b: 1us,
10b: 8us,
11b: 64us
19:18 01
Erase Resume to Suspend time
Count of 64us 23:20 0000
Erase Suspend Maximum time
Count or 00h 28:24 1 0011
Erase Suspend Maximum units
00b: 128ns,
01b: 1us,
10b: 8us,
11b: 64us
30:29 01
Suspend / Resume supported
0: Program and Erase suspend supported
1: not supported
31 0
Program Resume Opcode Opcode or FFh 60h 7:0 0111 1010 7Ah
Program Suspend Opcode Opcode or FFh 61h 15:8 0111 0101 75h
Resume Opcode Opcode or FFh 62h 23:16 0111 1010 7Ah
Suspend Opcode Opcode or FFh 63h 31:24 0111 0101 75h
Reserved 11b
64h
01:00 11
F7hStatus Register Busy Polling
xxxxx1b: Opcode = 05h, bit-0 = 1 Busy,
xxxx1xb: Opcode = 70h, bit-7 = 0 Busy,
others: reserved
07:02 1111 01
Description CommentAddress(h) Byte
Address (Bit)
Data (b)(Bit)
Data (h)(Byte)
59AT25SL128 DS-25SL128–090A–4/2016
Exit Deep Powerdown time Count or 00h
65h
66h
67h
12:08 0 0010
A2h
D5h
5Ch
Exit Deep Powerdown units
00b: 128ns,
01b: 1us,
10b: 8us,
11b: 64us
14:13 01
Exit Deep Powerdown Opcode
Opcode or FFh 22:15 101 0101 1
Enter Deep Powerdown Opcode
Opcode or FFh 30:23 101 1100 1
Deep Powerdown Supported0: Deep Powerdown supported,
1: not supported
31 0
Disable 4-4-4 Read Mode
68h
69h
6Ah
03:00 1001
19h
B6h
49h
Enable 4-4-4 Read Mode 08:04 0 0001
Fast Quad I/O Continuous (0-4-4) supported
0: not supported,
1: Quad I/O 0-4-4 supported09 1
Fast Quad I/O Continuous (0-4-4) Exit
15:10 1011 01
Fast Quad I/O Continuous (0-4-4) Enter
19:16 1001
Quad Enable Requirements (QER)
22:20 100
HOLD or RESET Disable
0: not supported,
1: use Configuration Register bit-4
23 0
Reserved FFh 6Bh 31;24 1111 1111 FFh
Status Register Opcode6Ch
06:00 110 1000 E8h
Reserved 1h 07 1
Soft Reset Opcodes 6Dh 13:08 01 000010h, C0h
4-Byte Address Exit 6Eh 23:14 1100 0000 00
4-Byte Address Enter 6Fh 31:24 1000 0000 80h
Description CommentAddress(h) Byte
Address (Bit)
Data (b)(Bit)
Data (h)(Byte)
60AT25SL128 DS-25SL128–090A–4/2016
Table 6-17. SFDP Parameters Table 2
Description CommentAddress(h) Byte
Address (Bit)
Data (b)(Bit)
Data (h)(Byte)
VCC Minimum Voltage
1650h: 1.65V,
1700h: 1.70V,
2300h: 2.30V,
2500h: 2.50V,
2700h: 2.70V
80h
81h15:0
0101 0000
0001 011016h,50h
VCC Maximum Voltage
1950h: 1.95V,
3600h: 3.60V,
4000h: 4.00V,
4400h: 4.40V
82h
83h31:16
0101 0000
0001 100119h,50h
Array Protection Method10b: use non-volatile
status register
84h
85h
01:00 10
DAh
06h
Power up Protection default0: power up unprotected,
1: power up protected02 0
Protection Disable Opcodes 011b: use status register 05:03 01 1
Protection Enable Opcodes 011b: use status register 08:06 0 11
Protection Read Opcodes 011b: use status register 11:09 011
Protection Register Erase Opcode
00b: not supported,
01b: Opcodes 3Dh,2Ah,7Fh,CFh,
13:12 00
Protection Register Program Opcode
00b: not supported,
01b: Opcodes 3Dh,2Ah,7Fh,FCh
15:14 00
Reserved FFh 86h 23:16 1111 1111 FFh
Reserved FFh 87h 31:24 1111 1111 FFh
Reserved FFh 88h-FFh FFh
61AT25SL128 DS-25SL128–090A–4/2016
7. Status Registers
The AT25SL128 device contains three status registers as described in the following tables.
Table 7-1. Status Register Format - Byte 1
Table 7-2. Status Register Format – Byte 2
Bit (1)
1. Only bits 7 through 2 of the Status Register can be modified when using the Write Status Register command.
Name Type (2)
2. R/W = Read and Write; R = Read only
Description
7 SRP0 Status Register Protection bit-0 R/W See Table 7-4 on Status Register Protection
6 SEC Block Protection R/W See Table 6-4 and 6-5 on Non-Volatile Protection
5 TB Top or Bottom Protection R/W See Table 6-4 and 6-5 on Non-Volatile Protection
4 BP2 Block Protection bit-2 R/W See Table 6-4 and 6-5 on Non-Volatile Protection
3 BP1 Block Protection bit-1 R/W See Table 6-4 and 6-5 on Non-Volatile Protection
2 BP0 Block Protection bit-0 R/W See Table 6-4 and 6-5 on Non-Volatile Protection
1 WEL Write Enable Latch Status R0 Device is not Write Enabled (default)
1 Device is Write Enabled
0 RDY/BSY Ready/Busy Status R0 Device is ready
1 Device is busy with an internal operation
Bit (1)
1. Only bits 6 through 3, 1, and 0 of the Status Register can be modified when using the Write Status Register command
Name Type (2)
2. R/W = Read and Write; R = Read only
Description
7 SUS Suspend Status R0 Device is not suspended (default)
1 Device is suspended
6 CMP Complement Block Protection R/W 0 See table on Block Protection
5 LB3 Lock Security Register 3 R/W0 Security Register 3 is not locked (default)
1 Security Register 3 is locked
4 LB2 Lock Security Register 2 R/W0 Security Register 2 is not locked (default)
1 Security Register 2 is locked
3 LB1 Lock Security Register 1 R/W0 Security Register 1 is not locked (default)
1 Security Register 1 is locked
2 RES Reserved for future use R na Reserved for future use
1 QE Quad Enable R/W
0 0=Quad mode is not enabled
1=Quad mode is enabled
HOLD and WP are I/O pins1
0 SRP1 Status Register Protect bit-1 R/W See table on Status Register Protection
62AT25SL128 DS-25SL128–090A–4/2016
Table 7-3. Status Register Format – Byte 3
7.1 Status Register Protect Table
Notes: 1. When SRP1, SRP0 = (1, 0), a power-down, power-up cycle changes SRP1,SRP0 to the 0,0 state.
2. The One Time Program (OTP) ‘feature is available upon special order.
7.2 Write Protect Features
Software Protection: The Block Protect (SEC, TB, BP2, BP1, BP0) bits define the section of the memory array that can be read but not changed.
Hardware Protection: When WP goes low to protect the area selected by the BP0~SEC bits and SRP0~1 bits.
Deep Power-Down: In Deep Power-Down, all commands are ignored except the Resume from Deep Power-Down command.
Write Enable: The Write Enable Latch (WEL) bit must be set prior to every Page Program, Block Erase, Chip Erase, Write Status Register, and Erase/Program Security Registers command.
Bit (1)
1. Only bits 7,6, and 2 of the Status Register can be modified when using the Write Status Register command
Name Type (2)
2. R/W = Read and Write; R = Read only
Description
7HOLD
RST
HOLD or RESET FunctionR/W 0
0=The pin acts as HOLD
1=The pin acts as RESET
6 DRV1
Output Driver Strength R/W0
0
0,0: 100% strength 0,1: 75% strength 1,0: 50% strength 0,0: 25% strength
5 DRV0
4:3 R Reserved R na Reserved for future use
2 WPS Write Protect Selection R/W 00 = Non-volatile protection enabled 1 = Write protect by the individual block lock command
1:0 RES Reserved for future use R na Reserved for future use
Table 7-4. Status Register Protect Table
SRP1 SRP0 WP Status Register Description
0 0 X Software ProtectedThe status register can be written to after a Write Enable command, WEL=1.(Factory Default)
0 1 0 Hardware Protected WP = 0, the status register is locked and cannot be written.
0 1 1 Hardware UnprotectedWP = 1, the status register is unlocked and can be written to after a Write Enable command, WEL = 1.
1 0 XPower Supply Lock-Down (1)
Status register is protected and cannot be written to again until the next power-down, power-up cycle.
1 1 X One Time Program (2) Status register is permanently protected and cannot be written to.
63AT25SL128 DS-25SL128–090A–4/2016
8. Device Identification
The AT25SL128 supports three different commands to access device identification that indicates the manufacturer, device type, and memory density. The returned data bytes provide information as shown in Table 8-1
8.1 Read Manufacturer and Device ID (Command 9Fh)
Identification information can be read from the device to enable systems to electronically query and identify the device while it is in system.
Since not all Flash devices are capable of operating at very high clock frequencies, applications should be designed to read the identification information from the devices at a reasonably low clock frequency to ensure all devices used in the application can be identified properly. Once the identification process is complete, the application can increase the clock frequency to accommodate specific Flash devices that are capable of operating at the higher clock frequencies.
To read the identification information, the CS pin must first be asserted and the opcode of 9Fh must be clocked into the device. After the opcode has been clocked in, the device begins outputting the identification data on the SO pin during the subsequent clock cycles. The first byte output is the Manufacturer ID followed by two bytes of Device ID information. Deasserting the CS pin terminates the Manufacturer and Device ID read operation and put the SO pin into a high-impedance state. The CS pin can be deasserted at any time and does not require that a full byte of data be read.
Table 8-1. Manufacturer and Device ID Information
Command Opcode Manufacturer ID Device ID (Part 1) Device ID (Part 2)
Read Manufacturer and Device ID 9Fh 1Fh 89h 02h
Read ID (Legacy Command) 90h 1Fh 15h
Resume from Deep Power-Down and Read Device ID
ABh 15h
Table 8-2. Manufacturer and Device ID Information
Byte No. Data Type Value
1 Manufacturer ID 1Fh
2 Device ID (Part 1) 89h
3 Device ID (Part 2) 02h
Table 8-3. Manufacturer and Device ID Details
Data Type Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0Hex
Value Details
Manufacturer IDJEDEC Assigned Code
1FhJEDEC Code: 0001 1111 (1Fh for Adesto)0 0 0 1 1 1 1 1
Device ID (Part 1)Family Code Density Code
89hFamily Code: 100 (AT25SLxxx series) Density Code: 01001 (128-Mbit)1 0 0 0 1 0 0 1
Device ID (Part 2)Sub Code Product Version Code
02hSub Code: 000 (Standard series) Product Version: 000100 0 0 0 0 0 1 0
64AT25SL128 DS-25SL128–090A–4/2016
Figure 8-1. Read Manufacturer and Device ID
Figure 8-2. Read JEDEC ID Command (QPI Mode).
8.1.1 Read Manufacturer/Device ID (90h)
Identification information can be read from the device to enable systems to electronically query and identify the device while it is in system. The preferred method for doing so is the JEDEC standard “Read Manufacturer and Device ID (Command 9Fh)” method described in Section 8.1 on page 63; however, the legacy Read ID command is supported on the AT25SL128 to enable backwards compatibility to previous generation devices.
To read the identification information, the CS pin must first be asserted and the opcode of 90h must be clocked into the device, followed by three dummy bytes. After the opcode has been clocked in followed by three dummy bytes, the device will begin outputting the identification data on the SO pin during the subsequent clock cycles. The first byte that will be output will be the Manufacturer ID of 1Fh followed by a single byte of data representing a device code of 15h. After the device code is output, the sequence of bytes will repeat.
Deasserting the CS pin will terminate the Read ID operation and put the SO pin into a high-impedance state. The CS pin can be deasserted at any time and does not require that a full byte of data read
SCK
CS
SI
SO
60
9Fh
87
OPCODE
1Fh 89h 02h
MANUFACTURER ID DEVICE IDBYTE1
DEVICE IDBYTE2
HIGH-IMPEDANCE
14 1615 22 2423 30 3231
Note: Each transition shown for SI and SO represents one byte (8 bits)
65AT25SL128 DS-25SL128–090A–4/2016
Figure 8-3. Read Manufacturer/Device ID Command (SPI Mode)
8.1.2 Read Manufacturer/Device ID Dual I/O (92h)
The Read Manufacturer/Device ID Dual I/O command operations in Dual I/O mode, where both the SI and SO pins are bidirectional, to allow the manufacturer and device ID information to be transmitted as twice the speed of the Read Manufacturer/Device ID command (90h).
After driving the CS pin low and shifting the opcode 92h followed by a 24-bit address (A23-A0) of 000000h and an 8-bit (M7-M0) field. The Manufacturer ID and Device ID are shifted out 2 bits per clock on the SI and SO pins using the format shown in Figure 8-4. Once the information is retrieved, the CS pin is driven high to terminate the transaction.
Figure 8-4. Read Manufacturer/Device ID Dual I/O Command (SPI Mode only)
MSB
2 310
1 0 0
6 754
OPCODE
HIGH-IMPEDANCE
31 323029 38 393735 363433
X X X X X
MSB
D D D D D D D D
66AT25SL128 DS-25SL128–090A–4/2016
8.1.3 Read Manufacturer/Device ID Quad I/O (94h)
The Read Manufacturer/Device ID Quad I/O command operations in Quad I/O mode, where the SI, SO, WP, and HOLD pins are all bidirectional, to allow the manufacturer and device ID information to be transmitted as four times the speed of the Read Manufacturer/Device ID command (90h).
After driving the CS pin low and shifting the opcode 94h followed by a 24-bit address (A23-A0) of 000000h and an 8-bit (M7-M0) field. The Manufacturer ID and Device ID are then shifted out 4 bits per clock on the SI, SO, WP, and HOLD pins using the format shown in Figure 8-5. Once the information is retrieved, the CS pin is driven high to terminate the transaction.
Figure 8-5. Read Manufacturer/Device ID Quad I/O Command (SPI Mode only)
8.1.4 Read Unique ID Number (4Bh)
The Read Unique ID Number command accesses a factory-set read-only 64-bit number that is unique to each AT25SL128 device. The ID number can be used in conjunction with user software methods to help prevent copying or cloning of a system. The Read Unique ID command is initiated by driving the CS pin low and shifting the command code 4Bh followed by a four bytes of dummy clocks. The 64-bit ID is then shifted out as shown in Figure 8-6.
68AT25SL128 DS-25SL128–090A–4/2016
9. Electrical Specifications
9.1 Absolute Maximum Ratings
Table 9-1. Absolute Maximum Ratings*
Temperature under Bias. . . . . . . . . . . . . -55°C to +125°C *Notice: Stresses beyond those listed under “Absolute Maximum Ratings” may cause permanent damage to the device. This is a stress rating only and functional operation of the device at these or any other conditions beyond those indicated in the operational sections of this specification is not implied. Exposure to absolute maximum rating conditions for extended periods may affect device reliability.
Storage Temperature . . . . . . . . . . . . . . . -65°C to +150°C
All Input Voltages (including NC Pins) with Respect to Ground . . . . . . . . . . -0.6V to VCC + 0.5V
All Output Voltages with Respect to Ground . . . . . . . . . . -0.6V to VCC + 0.5V
Table 9-2. DC and AC Operating Range
AT25SL128
Operating Temperature (Case) Industrial -40°C to 85°C
VCC Power Supply 1.65V to 1.95V
69AT25SL128 DS-25SL128–090A–4/2016
9.2 DC Characteristics
Table 9-3. DC Characteristics
Symbol Parameter Condition
1.65V to 1.95V
UnitsMin Typ Max
IDPD Deep Power-Down Current CS, HOLD, WP = VIH All inputs at CMOS levels
4 12 µA
ISB Standby CurrentCS, HOLD, WP = VIH All inputs at CMOS levels
25 50 µA
ICC1 (1)(3)
1. Typical values measured at 3.0V @ 25°C for the 1.65V to 1.95V range
Active Current, Read (03h, 0Bh) Operation
f = 20MHz; IOUT = 0mA 5 8 mA
f = 50MHz; IOUT = 0mA 6 10 mA
f = 85MHz; IOUT = 0mA 7 12 mA
ICC2(1) Active Current,(3Bh, BBh
Read Operation (Dual)
f = 50MHz; IOUT = 0mA 8 12 mA
f = 85MHz; IOUT = 0mA 9 14 mA
ICC3(1) Active Current,(6Bh, EBh
Read Operation (Quad)
f = 50MHz; IOUT = 0mA 9 15 mA
f = 85MHz; IOUT = 0mA 12 18 mA
ICC4(1) Active Current,
Program OperationCS = VCC 25 35 mA
ICC5(1) Active Current,
Erase OperationCS = VCC 25 35 mA
ILI Input Load Current All inputs at CMOS levels 1 µA
ILO Output Leakage Current All inputs at CMOS levels 1 µA
VIL Input Low Voltage VCC x 0.3 V
VIH Input High Voltage VCC x 0.7 V
VOL Output Low Voltage IOL = 1.6mA; VCC = 1.95V 0.2 V
VOH Output High Voltage IOH = -100µA VCC - 0.2V V
70AT25SL128 DS-25SL128–090A–4/2016
9.3 AC Characteristics - Maximum Clock Frequencies
Symbol Parameter
1.65V to 1.95V
UnitsMin Typ Max
fCLKMaximum Clock Frequency for All Operations (excluding opcodes below)
104 MHz
fRDLF Maximum Clock Frequency for 03h Opcode 50 MHz
fRDHF Maximum Clock Frequency for 0Bh Opcode 85 MHz
fRDDO Maximum Clock Frequency for 3B, BBh Opcode 85 MHz
fRDQO Maximum Clock Frequency for 6B, EBh Opcode 85 MHz
9.4 AC Characteristics - All Other Parameters
Symbol Parameter
1.65V to 1.95V
UnitsMin Typ Max
tCLKH Clock High Time 4 ns
tCLKL Clock Low Time 4 ns
tCLKR(1) Clock Rise Time, Peak-to-Peak (Slew Rate) 0.1 V/ns
tCLKF(1) Clock Fall Time, Peak-to-Peak (Slew Rate) 0.1 V/ns
tCSH Chip Select High Time 10 ns
tCSLS Chip Select Low Setup Time (relative to Clock) 6 ns
tCSLH Chip Select Low Hold Time (relative to Clock) 5 ns
tCSHS Chip Select High Setup Time (relative to Clock) 3 ns
tCSHH Chip Select High Hold Time (relative to Clock) 5 ns
tDS Data In Setup Time 2 ns
tDH Data In Hold Time 3 ns
tDIS(1) Output Disable Time 7 ns
tV
Output Valid Time (03h, 0Bh) 7 ns
Output Valid Time (3Bh, BBh - Dual) 7
Output Valid Time (6Bh, EBh - Quad) 7
tOH Output Hold Time 2 ns
tHLS HOLD Low Setup Time (relative to Clock) 5 ns
tHLH HOLD Low Hold Time (relative to Clock) 5 ns
tHHS HOLD High Setup Time (relative to Clock) 5 ns
tHHH HOLD High Hold Time (relative to Clock) 5 ns
tHLQZ (1) HOLD Low to Output High-Z 7 ns
tHHQZ(1) HOLD High to Output High-Z 7 ns
tWPS(1) (2) Write Protect Setup Time 20 ns
tWPH(1)(2) Write Protect Hold Time 100 ns
71AT25SL128 DS-25SL128–090A–4/2016
tEDPD(1) Chip Select High to Deep Power-Down 3 µs
tRDPD(1) Chip Select High to Standby Mode 5 µs
tRDPO(1) Resume Deep Power-Down, CS High to ID 5 µs
tSUSE(1) Suspend (Program or Erase) 15 µs
tSUSE(1) Resume (Program or Erase) 5 µs
1. Not 100% tested (value guaranteed by design and characterization).
2. Only applicable as a constraint for the Write Status Register command when BPL = 1.
9.4 AC Characteristics - All Other Parameters
Symbol Parameter
1.65V to 1.95V
UnitsMin Typ Max
9.5 Program and Erase Characteristics
Symbol Parameter
1.65V to 1.95V
Min Typ Max Units
tPP (1) Page Program Time (256 Bytes) 2.0 5.0 ms
tBP Byte Program Time 7 µs
tBLKE(1) Block Erase Time
4 Kbytes 60 300
ms32 Kbytes 200 1400
64 K bytes 400 3000
tCHPE(1) (2) Chip Erase Time 60 120 sec
tSRP(1) Security Register Program Time 2.5 ms
tSRP(1) Security Register Erase Time 15 ms
tWRSR(2) Write Status Register Time 15 ms
1. Maximum values indicate worst-case performance after 100,000 erase/program cycles.
2. Not 100% tested (value guaranteed by design and characterization).
9.6 Power-Up Conditions
Symbol Parameter Min Max Units
tVCSL Minimum VCC to Chip Select Low Time 30 µs
tPUW Power-up Device Delay Before Program or Erase Allowed 1 10 ms
VPOR Power-on Reset Voltage 1 1.4 V
72AT25SL128 DS-25SL128–090A–4/2016
9.7 Power-On/Reset State
When power is first applied to the device, or when recovering from a reset condition, the output pin (SO) is in a high impedance state, and a high-to-low transition on the CSB pin is required to start a valid instruction. The SPI mode (Mode 3 or Mode 0) is automatically selected on every falling edge of CSB by sampling the inactive clock state.
9.8 Power-Up/Power-Down Voltage and Timing Requirements
During power-up, the device must not be READ for at least the minimum tVCSL time after the supply voltage reaches the minimum VPOR level (VPOR min). While the device is being powered-up, the internal Power-On Reset (POR) circuitry keeps the device in a reset mode until the supply voltage rises above the minimum Vcc. During this time, all operations are disabled and the device does not respond to any commands.
If the first operation to the device after power-up is a program or erase operation, then the operation cannot be started until the supply voltage reaches the minimum VCC level and an internal device delay has elapsed. This delay is a maximum time of tPUW. After the tPUW time, the device is in the standby mode if CSB is at logic high or active mode if CSB is at logic low. For the case of Power-down then Power-up operation, or if a power interruption occurs (such that VCC drops below VPOR max), the Vcc of the Flash device must be maintained below VPWD for at least the minimum specified TPWD time. This is to ensure the Flash device resets properly after a power interruption.
Figure 9-1. Power-Up Timing
Table 9-4. Voltage and Timing Requirements for Power-Up/Power-Down
Symbol Parameter Min Max Units
VPWD (1)
1. Not 100% tested (value guaranteed by design and characterization).
VCC for device initialization 1.0 V
tPWD(1) Minimum duration for device initialization 300 µs
tVCSL Minimum VCC to chip select low time for Read command 35 µs
tVR(1) VCC rise time 1 500000 µs/V
VPOR Power on reset voltage 1.45 1.6 V
tPUW Power up delay time before Program or Erase is allowed 3 ms
VCC
VPOR max
Max VPWD
Time
tPWD
tPUW Full Operation Permitted
tVR
tVCSLRead Operation
Permitted
73AT25SL128 DS-25SL128–090A–4/2016
10. Ordering Information
10.1 Ordering Code Detail
A T 2 5 S 1 2 S EH B8 – –L
Designator
Product Family
Device Density128 = 128-megabit
Package OptionM = 8-pad, 5 x 6 x 0.6 mm UDFNS = 8-lead, 0.208" wide SOICCC = 9-ball, 3 x 3 (1mm pitch) UBGAU = 0.5mm pitch dBGADWF = Die in Wafer Form
Device GradeH = Green, NiPdAu lead finish, Industrial temperature range (–40°C to +85°C)U = Green, Matte Sn or Sn alloy, Industrial temperature range (–40°C to +85°C)
Shipping Carrier OptionB = Bulk (tubes)T = Tape and reel
Operating VoltageE = 1.65V to 1.95V
Ordering Code (1) Package Lead FinishOperating
VoltageMax. Freq.
(MHz) Operation Range
AT25SL128-SHE-B8S2
NiPdAu
1.65V to 1.95V 104MHzIndustrial
(-40°C to +85°C)
AT25SL128-SHE-T
AT25SL128-MHE-T 8MA1
AT25SL128-CCUE-T 9CC1SnAgCu
AT25SL128-UUE-T 21-WLCSP
AT25SL128-DWF (2) DWF
1. The shipping carrier option code is not marked on the devices.
2. Contact Adesto for mechanical drawing or Die Sales information.
Package Type
8S2 8-lead, 0.208" Wide, Plastic Gull Wing Small Outline Package (EIAJ SOIC)
8MA1 8-pad (5 x 6 x 0.6mm body), Thermally Enhanced Plastic Ultra Thin Dual Flat No-lead (UDFN)
9CC1 9-ball (6 x 6 x 0.6mm body) 3 x 3 array x 1mm pitch, Ultra-thin Ball Grid Array (UBGA)
21-WLCSP 21-ball, 0.5mm pitch, die Ball Grid Array (dBGA)
74AT25SL128 DS-25SL128–090A–4/2016
11. Packaging Information–
11.1 8S2 – 8-lead, .208” EIAJ SOIC
TITLE DRAWING NO. GPC REV.
Package Drawing Contact:contact@adestotech.com
®
8S2STN F8S2, 8-lead, 0.208” Body, Plastic SmallOutline Package (EIAJ)
4/15/08
COMMON DIMENSIONS(Unit of Measure = mm)
SYMBOL MIN NOM MAX NOTE
Notes: 1. This drawing is for general information only; refer to EIAJ Drawing EDR-7320 for additional information. 2. Mismatch of the upper and lower dies and resin burrs aren't included. 3. Determines the true geometric position. 4. Values b,C apply to plated terminal. The standard thickness of the plating layer shall measure between 0.007 to .021 mm.
A 1.70 2.16
A1 0.05 0.25
b 0.35 0.48 4
C 0.15 0.35 4
D 5.13 5.35
E1 5.18 5.40 2
E 7.70 8.26
L 0.51 0.85
q 0° 8°
e 1.27 BSC 3
11
NN
EE
TOP VIEWTOP VIEW
CC
E1E1
END VIEWEND VIEW
AA
bb
LL
A1A1
ee
DD
SIDE VIEWSIDE VIEW
75AT25SL128 DS-25SL128–090A–4/2016
11.2 8MA1 – UDFN
Note: Subject to change.
TITLE DRAWING NO.GPC REV.
Package Drawing Contact:contact@adestotech.com
®
8MA1YFG D8MA1, 8-pad (5 x 6 x 0.6 mm Body), Thermally Enhanced Plastic Ultra Thin Dual Flat No LeadPackage (UDFN)
COMMON DIMENSIONS(Unit of Measure = mm)
SYMBOL MIN NOM MAX NOT E
A 0.45 0.55 0.60
A1 0.00 0.02 0.05
b 0.35 0.40 0.48
C 0.152 REF
D 4.90 5.00 5.10
D2 3.80 4.00 4.20
E 5.90 6.00 6.10
E2 3.20 3.40 3.60
e 1.27
L 0.50 0.60 0.75
y 0.00 – 0.08
K 0.20 – –
4/15/08
Pin 1 ID
TOP VIEW
E
D
A1A
SIDE VIEW
y
C
BOTTOM VIEW
E2
D2
L
b
e
1
2
3
4
8
7
6
5
Pin #1 Notch(0.20 R)
0.45
K
Pin #1 Cham fer(C 0.35)
Option A
(Option B)
76AT25SL128 DS-25SL128–090A–4/2016
11.3 9CC1 — 9-ball UBGA
DRAWING NO. REV. GPCTITLE
Package Drawing Contact:contact@adestotech.com
9CC1 ACAA9CC1, 9-ball, 6 x 6 x 0.6mm Body, 1.0mm ballpitch (3x3 Array), Ultra-thin Ball Grid Array Package(UBGA)
6/30/09
COMMON DIMENSIONS(Unit of Measure = mm)
SYMBOL MIN NOM MAX NOTE
Notes: 1. Dimension “b” is measured at the maximum ball diameter, in a plane parallel to the seating plane.
A – 0.53 0.60
A1 0.12 – -
A2 0.38 REF
D 5.90 6.00 6.10
D1 2.00 BSC
E 5.90 6.00 6.10
E1 2.00 BSC
b 0.35 0.40 0.45 Note 1
e 1.00 BSC
E
D
9-Øb
B
Pin#1 ID
Top view
Bottom View
d 0.10 C
A1A
D1
E1 A2
A1 ball corner e
2
Side View
See view "A"
b
A A
A1
view "A"(rotated 90°CW)
section A-A
e
seating plane
A
C
31
B
A
C
2 31
C
f 0.10 CA
d 0.10 (4X)
B
j n 0.15m C A Bj n 0.05m C
Ø0.40±0.05Ø0.30 ORIGINAL/RAW BALL
77AT25SL128 DS-25SL128–090A–4/2016
11.4 21- WLCSP — die Ball Grid Array
Pin OUT Diagram (Preliminary) - Package Drawing TBD
3.195 mm
3.332 mm0.25 mm
0.5 mm
0.5 mm
0.5 mm
0.5 mm
0.25
mm
0.5
mm
0.5
mm
0.5
mm
0.5
mm
0.52 mm max
Bottom View Side View
GND I/O0(SI)
SCK
I/O1(SO)
Vcc
I/O3(HOLD)
I/O2(WP)
CS
78AT25SL128 DS-25SL128–090A–4/2016
12. Revision History
Revision Level – Release Date History
A – March 2016 Initial release of AT25SL128 datasheet.
Corporate Office
California | USA
Adesto Headquarters
1250 Borregas Avenue
Sunnyvale, CA 94089
Phone: (+1) 408.400.0578
Email: contact@adestotech.com
© 2016 Adesto Technologies. All rights reserved. / Rev.: DS-25SL128-090A–4/2016
Disclaimer: Adesto Technologies Corporation makes no warranty for the use of its products, other than those expressly contained in the Company's standard warranty which is detailed in Adesto's Terms and Conditions located on the Company's web site. The Company assumes no responsibility for any errors which may appear in this document, reserves the right to change devices or specifications detailed herein at any time without notice, and does not make any commitment to update the information contained herein. No licenses to patents or other intellectual property of Adesto are granted by the Company in connection with the sale of Adesto products, expressly or by implication. Adesto's products are not authorized for use as critical components in life support devices or systems.
Mouser Electronics
Authorized Distributor
Click to View Pricing, Inventory, Delivery & Lifecycle Information: Adesto Technologies:
AT25SL128A-MHE-T AT25SL128A-SUE-T AT25SL128A-UUE-T AT25SL128A-CCUE-T AT25SL128A-DWF
AT25SL128A-UCUE-T
top related