![]() |
|
If you can't view the Datasheet, Please click here to try to view without PDF Reader . |
|
Datasheet File OCR Text: |
ds-25sf041?044c?7/2014 features ? single 2.5v - 3.6v supply ? serial peripheral inte rface (spi) compatible ? supports spi modes 0 and 3 ? supports dual and quad output read ? 104mhz maximum operating frequency ? clock-to-output (t v ) of 6 ns ? flexible, optimized erase architecture for code + data storage applications ? uniform 4-kbyte block erase ? uniform 32-kbyte block erase ? uniform 64-kbyte block erase ? full chip erase ? hardware controlled locking of protected blocks via wp pin ? 3 protected programmable security register pages ? flexible programming ? byte/page program (1 to 256 bytes) ? fast program and erase times ? 0.7ms typical page program (256 bytes) time ? 70ms typical 4-kbyte block erase time ? 300ms typical 32-kbyte block erase time ? 600ms typical 64-kbyte block erase time ? jedec standard manufacturer and device id read methodology ? low power dissipation ? 2a deep power-down current (typical) ? 10a standby current (typical) ? 4ma active read current (typical) ? endurance: 100,000 pr ogram/erase cycles ? data retention: 20 years ? complies with full industrial temperature range ? industry standard green (pb/halide-fr ee/rohs compliant) package options ? 8-lead soic (150-mil and 208-mil) ? 8-pad ultra thin dfn (5 x 6 x 0.6 mm and 2 x 3 x 0.6 mm ) (1) ? 8-lead tssop (4 x 4 mm) (1) 1. dfn and tssop packages are not currently in pr oduction. package outline di mensions are subject ? to change. AT25SF041 4-mbit, 2.5v minimum spi serial flash memory with dual-i/o and quad-i/o support
2 AT25SF041 ds-25sf041?044c?7/2014 description the adesto ? AT25SF041 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 s hadowed from flash memory into embedded or external ram for execution. the flexible erase architecture of the at25 sf041 is ideal for data storage as well, eliminating the need for additional data storage devices. the erase block sizes of the AT25SF041 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 regist er 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. 1. pin descriptions and pinouts table 1-1. pin descriptions symbol name and function asserted state type cs chip select: asserting the cs pin selects the device. when the cs pin is deasserted, the device will be deselected and normally be placed in standby mode (not deep power-down mode), and the so pin will be in a high-impedanc e state. when the device is deselected, data will not be 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 will 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 sc k, while output data on the so pin is always clocked out on the falling edge of sck. - input si (i/o 0 ) 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/o 0 ) in conjunction with other pins to allow two or four bits of data on (i/o 3-0 ) to be clocked in on every falling edge of sck to maintain consistency with the spi nomenclature, the si (i/o 0 ) pin will be referenced as the si pin unless specifically addressing the d ual-i/o and quad-i/o modes in which case it will be referenced as i/o 0 data present on the si pin will be ignored whenever the device is deselected (cs is deasserted). - input/output 3 AT25SF041 ds-25sf041?044c?7/2014 so (i/o 1 ) 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/o 0 ) in conjunction with other pins to allow two bits of data on (i/o 1-0 ) to be clocked in on every falling edge of sck to maintain consistency with the spi nomenclature, the so (i/o 1 ) pin will be referenced as the so pin unless specifically addressing the dual-i/o modes in which case it will be referenced as i/o 1 the so pin will be in a high-impedance stat e whenever the device is deselected (cs is deasserted). - input/output wp (i/o 2 ) write protect: the wp pin controls the hardware locking feature of the device. please refer to ?erase suspend (75h)? on page 17 for more details on protection features and the wp pin. with the quad-output read commands, the wp pin becomes an output pin (i/o 2 ) in conjunction with other pins to al low four bits of data on (i/o3 3-0 ) to be clocked in on every falling edge of sck. to maintain consistency with the spi nomenclature, the wp (i/o 2 ) pin will be referenced as the wp pin unless specifically addressing the quad-i/o modes in which case it will be referenced as i/o 2 the wp pin is internally pulled-high and may be le ft floating if hardware controlled protection will not be used. however, it is recommended that the wp pin also be externally connected to v cc whenever possible. - input/output hold (i/o 3 ) 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 will be ignored, and the so pin will be 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. please refer to ?hold function? on page 31 for additional details on the hold operation. with the quad-output read commands, the hold pin becomes an output pin (i/o 3 ) in conjunction with other pins to al low four bits of data on (i/o3 3-0 ) to be clocked in on every falling edge of sck. to maintain consistency with the spi nomenclature, the hold (i/o 3 ) pin will be referenced as the hold pin unless specifically addressing the quad-i/o modes in which case it will be referenced as i/o 3 the hold pin is internally pulled-high and may be left floating if the hold function will not be used. however, it is recommended that the hold pin also be externally connected to v cc whenever possible. - input/output v cc device power supply: the v cc pin is used to supply the source voltage to the device. operations at invalid v cc voltages may produce spurious results and should not be attempted. - power gnd ground: the ground reference for the power supply. gnd should be connected to the system ground. - power table 1-1. pin descriptions (continued) symbol name and function asserted state type 4 AT25SF041 ds-25sf041?044c?7/2014 2. block diagram figure 2-1. block diagram 3. memory array to provide the greatest flexibility, the memory array of the AT25SF041 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 1-1. 8-soic, 8-tssop (top view) figure 1-2. 8-udfn (top view) 1 2 3 4 8 7 6 5 cs so wp gnd vcc hold sck si cs so wp gnd 1 2 3 4 8 7 6 5 vcc hold sck si flash memory array y-gating cs sck note: i/o 3-0 pin naming convention is used for dual-i/o and quad-i/o commands. so (i/o 1 ) si (i/o 0 ) y-decoder address latch x-decoder i/o buffers and latches control and protection logic sram data buffer wp (i/o 2 ) interface control and logic hold (i/o 3 ) 5 AT25SF041 ds-25sf041?044c?7/2014 figure 3-1. memory architecture diagram 4kb 07ffffh ? 07f000h 256 bytes 07ffffh ? 07ff00h 4kb 07efffh ? 07e000h 256 bytes 07feffh ? 07fe00h 4kb 07dfffh ? 07d000h 256 bytes 07fdffh ? 07fd00h 4kb 07cfffh ? 07c000h 256 bytes 07fcffh ? 07fc00h 4kb 07bfffh ? 07b000h 256 bytes 07fbffh ? 07fb00h 4kb 07afffh ? 07a000h 256 bytes 07faffh ? 07fa00h 4kb 079fffh ? 079 000h 256 bytes 07f9ffh ? 07f900h 4kb 078fffh ? 078 000h 256 bytes 07f8ffh ? 07f800h 4kb 077fffh ? 077 000h 256 bytes 07f7ffh ? 07f700h 4kb 076fffh ? 076 000h 256 bytes 07f6ffh ? 07f600h 4kb 075fffh ? 075 000h 256 bytes 07f5ffh ? 07f500h 4kb 074fffh ? 074 000h 256 bytes 07f4ffh ? 07f400h 4kb 073fffh ? 073 000h 256 bytes 07f3ffh ? 07f300h 4kb 072fffh ? 072 000h 256 bytes 07f2ffh ? 07f200h 4kb 071fffh ? 071 000h 256 bytes 07f1ffh ? 07f100h 4kb 070fffh ? 070 000h 256 bytes 07f0ffh ? 07f000h 4kb 06ffffh ? 06f000h 256 bytes 07efffh ? 07ef00h 4kb 06efffh ? 06e000h 256 bytes 07eeffh ? 07ee00h 4kb 06dfffh ? 06d000h 256 bytes 07edffh ? 07ed00h 4kb 06cfffh ? 06c000h 256 bytes 07ecffh ? 07ec00h 4kb 06bfffh ? 06b000h 256 bytes 07ebffh ? 07eb00h 4kb 06afffh ? 06a000h 256 bytes 07eaffh ? 07ea00h 4kb 069fffh ? 069 000h 256 bytes 07e9ffh ? 07e900h 4kb 068fffh ? 068 000h 256 bytes 07e8ffh ? 07e800h 4kb 067fffh ? 067 000h 4kb 066fffh ? 066 000h 4kb 065fffh ? 065 000h 4kb 064fffh ? 064 000h 256 bytes 0017ffh ? 001700h 4kb 063fffh ? 063 000h 256 bytes 0016ffh ? 001600h 4kb 062fffh ? 062 000h 256 bytes 0015ffh ? 001500h 4kb 061fffh ? 061 000h 256 bytes 0014ffh ? 001400h 4kb 060fffh ? 060 000h 256 bytes 0013ffh ? 001300h 256 bytes 0012ffh ? 001200h 256 bytes 0011ffh ? 001100h 256 bytes 0010ffh ? 001000h 4kb 00ffffh ? 00f000h 256 bytes 000fffh ? 000f00h 4kb 00efffh ? 00e000h 256 bytes 000effh ? 000e00h 4kb 00dfffh ? 00d000h 256 bytes 000dffh ? 000d00h 4kb 00cfffh ? 00c000h 256 bytes 000cffh ? 000c00h 4kb 00bfffh ? 00b000h 256 bytes 000bffh ? 000b00h 4kb 00afffh ? 00a000h 256 bytes 000affh ? 000a00h 4kb 009fffh ? 009 000h 256 bytes 0009ffh ? 000900h 4kb 008fffh ? 008 000h 256 bytes 0008ffh ? 000800h 4kb 007fffh ? 007 000h 256 bytes 0007ffh ? 000700h 4kb 006fffh ? 006 000h 256 bytes 0006ffh ? 000600h 4kb 005fffh ? 005 000h 256 bytes 0005ffh ? 000500h 4kb 004fffh ? 004 000h 256 bytes 0004ffh ? 000400h 4kb 003fffh ? 003 000h 256 bytes 0003ffh ? 000300h 4kb 002fffh ? 002 000h 256 bytes 0002ffh ? 000200h 4kb 001fffh ? 001 000h 256 bytes 0001ffh ? 000100h 4kb 000fffh ? 000 000h 256 bytes 0000ffh ? 000000h 32kb 32kb 64kb 32kb 32kb ? ? ? ? ? ? ? ? ? 64kb 32kb 32kb ? ? ? 64kb 64kb 32kb 4kb 1-256 byte (d8h command) (52h command) (20h command) (02h command) block erase detail page address block address range range block erase block erase block erase page program detail page program 6 AT25SF041 ds-25sf041?044c?7/2014 4. device operation the AT25SF041 is controlled by a set of instructions that are sent from a host controller, commonly referred to as the spi master. the spi master communicates with the AT25SF041 via th e 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 AT25SF041 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 4-1. spi mode 0 and 3 4.1 dual output read the AT25SF041 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. 4.2 quad output read the AT25SF041 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. 5. commands and addressing a valid instruction 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, instruction 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 AT25SF041 will be ignored by the device and no operation will be started. the device will continue 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 will be performed and the device will simply return 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. since the upper address limit of the AT25SF041 memory arra y is 07ffffh, address bits a 23-a19 are always ignored by the device. sck cs si so msb lsb msb lsb 7 AT25SF041 ds-25sf041?044c?7/2014 table 5-1. command listing command opcode clock frequency address bytes dummy bytes data bytes section link read commands read array 0bh 0000 1011 up to 85 mhz 3 1 1+ 6.1 03h 0000 0011 up to 50 mhz 3 0 1+ dual output read 3bh 0011 1011 up to 85 mhz 3 1 1+ 6.2 dual i/o read bbh 1011 1011 up to 85 mhz 3 0 1+ 6.3 quad output read 6bh 0110 1011 up to 85 mhz 3 1 1+ 6.4 quad i/o read ebh 1110 1011 up to 85 mhz 3 1 1+ 6.5 continuous read mode reset - dual ffffh 1111 1111 1111 1111 up to 104 mhz 0 0 0 6.6 continuous read mode reset - quad ffh 1111 1111 up to 104 mhz 0 0 0 6.6 program and erase commands block erase (4 kbytes) 20h 0010 0000 up to 104 mhz 3 0 0 7.2 block erase (32 kbytes) 52h 0101 0010 up to 104 mhz 3 0 0 block erase (64 kbytes) d8h 1101 1000 up to 104mhz 3 0 0 chip erase 60h 0110 0000 up to 104 mhz 0 0 0 7.3 c7h 1100 0111 up to 104 mhz 0 0 0 byte/page program (1 to 256 bytes) 02h 0000 0010 up to 104 mhz 3 0 1+ 7.1 protection commands write enable 06h 0000 0110 up to 104 mhz 0 0 0 8.1 write disable 04h 0000 0100 up to 104 mhz 0 0 0 8.2 security commands erase security register page 44h 0100 0100 up to 104 mhz 3 0 0 9.1 program security register page 42h 0100 0010 up to 104 mhz 3 0 1+ 9.2 read security register page 48h 0100 1000 up to 85mhz 3 1 1+ 9.3 status register commands read status register byte 1 05h 0000 0101 up to 104 mhz 0 0 1 10.1 read status register byte 2 35h 0011 0101 up to 104 mhz 0 0 1 write status register 01h 0000 0001 up to 104 mhz 0 0 1 or 2 10.2 write enable for volatile status register 50h 0101 0000 up to 104mhz 0 0 0 10.3 miscellaneous commands read manufacturer and device id 9fh 1001 1111 up to 104mhz 0 0 3 11.1 8 AT25SF041 ds-25sf041?044c?7/2014 6. read commands 6.1 read array (0bh and 03h) 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. two opcodes (0bh and 03h) can be used for the read array command. the use of each opcode depends on the maximum clock frequency that will be used to read data from the device. the 0bh opcode can be used at any clock frequency up to the maximum specified by f rdhf , and the 03h opcode can be used for lower frequency read operations up to the maximum specified by f rdlf . 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 us ing opcode 0bh) have been clocked in, additional clock cycles will 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 (07ffffh) of the memory array has been read, the devic e will continue reading back at the beginning of the array (000000h). no delays will be incurred when wrapping around from the end of the array to the beginning of the array. deasserting the cs pin will terminate 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. figure 6-1. read array - 03h opcode read id 90h 1001 0000 up to 104 mhz 3 0 2 11.2 deep power-down b9h 1011 1001 up to 104 mhz 0 0 0 11.3 resume from deep power-down abh 1010 1011 up to 104 mhz 0 0 0 11.4 resume from deep power-down and read id abh 1010 1011 up to 104 mhz 0 3 1 11.4 table 5-1. command listing command opcode clock frequency address bytes dummy bytes data bytes section link 6 & |