|
If you can't view the Datasheet, Please click here to try to view without PDF Reader . |
|
Datasheet File OCR Text: |
1.8 volt intel ? dual-plane flash memory 28F320D18 (x16) product preview datasheet product features the 1.8 volt intel ? dual-plane flash memory provides high performance asynchronous and synchronous burst reads. it is an ideal memory for low-voltage burst cpus. combining high read performance with flash memorys intrinsic nonvolatility, 1.8 volt dual-plane flash memory eliminates the traditional system- performance paradigm of shadowing redundant code memory from slow nonvolatile storage to faster execution memory. it reduces the total memory requirement that increase reliability and reduces overall system power consumption and cost. the 1.8 volt dual-plane flash memorys two partitions allow background programming or erasing to occur in one partition while program-execution reads take place in the other partition. this allows for higher data write throughput compared to single partition architectures. the dual partition architecture also allows two processors to interleave code operations while program and erase operations take place in the background. 1.8 volt dual-plane flash memory is manufactured on intel ? 0.25 m etox? vi process technology. it is available in an industry-standard bga* csp package which is ideal for board-constrained applications. n 32-mbit density with 16-bit data bus n high performance reads 110/40 ns 4-word page mode 40 mhz (110/20 ns) zero wait-state synchronous burst mode n dual partition architecture 25%/75% partition sizes 32 mb t 8 mb + 24 mb program or erase during reads status register for each partition n low power operation 1.8 v read and write operations v ccq for i/o isolation and system compatibility automatic power savings mode n enhanced code + data storage flash data integrator (fdi) software optimized 5 s typical program/erase suspends n 128-bit protection register 64 unique device identifier bits 64 user-programmable otp bits n bga* csp 60-ball 7x8 matrix (four support balls) n flexible blocking architecture eight, 4-kword parameter code/data blocks sixty-three, 32-kword main code/data blocks n enhanced data protection v pp = gnd t absolute write protection erase/program lockout during power transitions individual dynamic zero-latency block locking individual block lock-down n automated program/erase algorithms 1.8 v low-power 22 s/word (typ) programming 12 v no glue logic 8 s/word (typ) production programming and 1.1 sec erase (typ) n cross-compatible command support intel basic command set common flash interface (cfi) n extended temperature C40 c to +85 c n minimum 100,000 block erase cycles n etox? vi flash technology (0.25 m) order number: 290672-002 october 1999
28F320D18 product preview information in this document is provided in connection with intel products. no license, express or implied, by estoppel or othe rwise, to any intellectual property rights is granted by this document. except as provided in intel's terms and conditions of sale for such products, inte l assumes no liability whatsoever, and intel disclaims any express or implied warranty, relating to sale and/or use of intel products including liabil ity or warranties relating to fitness for a particular purpose, merchantability, or infringement of any patent, copyright or other intellectual property righ t. intel products are not intended for use in medical, life saving, or life sustaining applications. intel may make changes to specifications and product descriptions at any time, without notice. designers must not rely on the absence or characteristics of any features or instructions marked "reserved" or "undefined." int el reserves these for future definition and shall have no responsibility whatsoever for conflicts or incompatibilities arising from future changes to them. the 28F320D18 may contain design defects or errors known as errata which may cause the product to deviate from published specif ications. current characterized errata are available on request. contact your local intel sales office or your distributor to obtain the latest specifications and before placing your product o rder. copies of documents which have an ordering number and are referenced in this document, or other intel literature may be obtaine d by calling 1-800- 548-4725 or by visiting intel's website at http://www.intel.com. copyright ? intel corporation, 1999 *other brands and names are the property of their respective owners. product preview iii 28F320D18 contents 1.0 introduction .................................................................................................................. 1 2.0 product description .................................................................................................. 2 3.0 principles of operation ............................................................................................ 8 4.0 command definitions .............................................................................................16 5.0 data protection .........................................................................................................31 6.0 program and erase voltages ...............................................................................31 7.0 design considerations ..........................................................................................32 8.0 electrical specifications ........................................................................................51 9.0 ordering information ..............................................................................................66 10.0 additional information ...........................................................................................67 appendix a: common flash interface ..........................................................68 appendix b: protection register addressing ............................................79 28F320D18 iv product preview revision history date of revision version description 09/20/99 -001 original version 10/12/99 -002 corrected figure 1, 60-ball bga* package ballout corrected titles for figure 24 figure 27 28F320D18 product preview 1 1.0 introduction this datasheet contains information about the 32-mbit 1.8 volt intel ? dual-plane flash memory. section 1.0 provides a flash memory overview. sections 2.0 through 6.0 describe the memory functionality. section 7.0 describes the design considerations for this device and section 8.0 describes the electrical specifications for extended temperature product offerings. 1.1 document conventions throughout this document, references are made to bottom, top, parameter, and main partitions. to clarify these references, the following convention has been adopted: ? main partition : contains only main blocks. ? parameter partition : contains a mixture of main and parameter blocks. ? bottom partition: the partition located at the lowest physical device address. this partition may be a main partition or a parameter partition. ? top partition : the partition located at the highest physical device address. this partition may be a main partition or a parameter partition. ? bottom parameter device : has the parameter partition at the bottom of the memory map with the parameter blocks at the bottom of that partition. this was formerly referred to as bottom- boot. since many applications actually boot and execute code from the top (main) blocks and treat the bottom (parameter) blocks as data blocks, bottom-boot and top-boot have become misnomers, thus the nomenclature change. ? top parameter device : has the parameter partition at the top of the memory map with its parameter blocks at the top. this was formerly referred to as a top-boot device. ? main block(s) : 32-kword block ? parameter block(s) : 4-kword block 1.2 product overview the 1.8 volt dual-plane flash memory provides simultaneous read while write/erase capability. the memory provides high performance reads at low voltage with a 16-bit data bus. individually erasable blocks are optimally sized for code and data storage. the eight 4-kword parameter blocks are located in the parameter partition. the rest of the device is grouped into sixty-three 32-kword main blocks within the main and parameter partitions. by dividing the flash memory array into two isolated partitions, simultaneous operation capability permits program or block-erase operations during read operations. the main partition is ? of the memory and contains only main blocks. the parameter partition is ? of the total memory and contains parameter blocks and main blocks. burst reads are limited to within a partition. usage of simultaneous modes will be described further throughout this document. the devices optimized architecture and interface dramatically increases read performance beyond asynchronous reads. the device supports asynchronous word accesses, 4-word page mode and synchronous burst reads from main blocks. parameter blocks support asynchronous word accesses, 4-word page mode and single synchronous reads only. 28F320D18 2 product preview upon initial power up or return from reset, the device defaults to a standard asynchronous page- mode read configuration. writing to the read configuration register at any device address enables both partitions synchronous burst reads. in synchronous burst mode, the clk input increments an internal burst address generator, synchronizes flash memory with the host cpu, and outputs data every clk cycle. a wait# output signal provides easy cpu-to-flash memory communication and synchronization. in addition to the enhanced architecture and interface, 1.8 volt dual-plane flash memory incorporates technology that enables fast factory programming/erasing and low-power designs. specifically designed for low-voltage systems, 1.8 volt dual-plane flash memory supports read operations at 1.8 v v cc and block erase and program operations at 1.8 v or 12 v v pp . the 12 v v pp option renders the fastest program/erase performance that can increase factory throughput. with the 1.8 v v pp option, v cc and v pp can be tied together for a simple, ultra low-power design. in addition to the voltage flexibility, the dedicated v pp pin gives complete data protection when v pp v pplk . the devices command user interface (cui) is the system processors interface to 1.8 volt dual- plane flash memorys internal operation. writing a valid command sequence to the cui initiates device write state machine (wsm) controlled automation that automatically executes the block- erase and program algorithms and timings. the status register indicates the wsms state by indicating block erase or program completion and status. an industry-standard command sequence invokes block-erase and program automation. each block erase operation erases one block. data is programmed in word increments. erase suspend allows system software to pause a block erase so it can read or program data in another block in the same partition. program suspend allows system software to suspend programming so it can read from another location in the same partition. it is also possible to nest suspends as follows: suspend erase in the first partition, start programming in the second partition, suspend programming in the second partition and then read from the second partition. 1.8 volt dual-plane flash memory offers two low-power savings features: automatic power savings (aps) and standby mode. the device automatically enters aps mode following read cycle completion. standby mode is initiated when the system deselects the device by driving ce# inactive. rst# also resets the device to read array mode, provides write protection, and clears the status register. combined, these two features significantly reduce power consumption. 2.0 product description 2.1 ballouts the intel 1.8 volt dual-plane flash memory is available in a 60-ball (7 x 8 matrix with four support balls) bga* csp (chip scale package) package with 0.75 mm ball pitch that is ideal for board-constrained applications. figure 1, 60-ball bga* package ballout on page 4 shows the component ballout. 2.2 ball description figure 1, ball descriptions on page 3 describes ball usage. 28F320D18 product preview 3 table 1. ball descriptions sym type name and function a 0 Ca 20 i address inputs: for memory addresses. 32-mbit: a 0-20 dq 0 Cdq 15 i/o data input/outputs: inputs data and commands during write cycles, outputs data during memory, status register, and configuration code reads. data balls float when the chip or outputs are deselected. data is internally latched during writes. clk i clock: synchronizes the memory to the system bus operating frequency in synchronous-read configuration. the first rising (or falling if rcr.6 is 0) clk edge latches the address when adv# is active or upon a rising adv# edge. this is used only for synchronous operation. adv# i address valid: adv# indicates valid address presence on address inputs. addresses are latched on adv#s rising edge during read and write operations. this is used only for synchronous operation. rst# i reset: when low, rst# resets internal automation and inhibits write operations. this provides data protection during power transitions. rst#-high enables normal operation. exit from reset places the device in asynchronous read array mode. oe# i output enable: oe# gates the devices outputs during a read cycle. we# i write enable: we# controls writes to the cui and array. addresses and data are latched on the we# pulses rising edge. wp# i write protect: controls the lock-down function of the flexible locking feature. when wp# is a logic low, the lock-down mechanism is enabled and blocks marked lock-down cannot be unlocked through software. when wp# is logic high, the lock-down mechanism is disabled and blocks previously locked-down are now locked and can be unlocked and locked through software. after wp# goes low, any blocks previously marked lock-down revert to that state. see section 3.2 for details on block locking. wait# o wait: feeds back data valid status in synchronous burst mode while oe# is asserted. when high during a burst sequence, data is valid. wait#-low indicates invalid data. wait# is pulled high by an internal register. several component wait# signals can be tied together to drive one system wait signal. wait# is used only for synchronous operation. it also works during a 4, 8-word burst mode if the no-wrap bit (rcr.3) is set to 1. v pp pwr block erase and program power: a valid voltage on this pin allows block erase or data programming. memory contents cannot be altered when v pp v pplk . block erase and program at invalid v pp voltages should not be attempted. 11.4 vC12.6 v v pp can be applied to main blocks for 1000 cycles maximum and to parameter blocks for 2500 cycles. maximum v pp can be connected to 12 v for 80 hours maximum total. use of this pin at 12 v beyond these limits may reduce block cycling capability or cause permanent damage. v cc pwr device power supply (1.65 v C 1.95 v): flash memory writes are inhibited at v cc v lko . device operations at invalid v cc voltages should not be attempted. v ccq pwr output power supply (1.65 v C 1.95 v): enables all outputs to be driven at 1.65 v to 1.95 v. this input may be tied directly to v cc . v ssq pwr i/o ground: do not float any ground pins. v ss pwr ground: do not float any ground pins. nc no connect: lead is not internally connected; it may be driven or floated. du dont use: do not use this pin. this pin should not be connected to any power supplies, signals or other pins. 28F320D18 4 product preview note: flash upgrade address lines are shown for a 21 (64-mbit flash) and a 22 (128-mbit flash) for information purposes only since these devices are currently not available. lower density devices will not have the upper address solder balls. routing is not recommended in this area. 2.3 memory blocking organization the device is divided into two physical partitions. this allows it to perform simultaneous read- while-write and read-while-erase operations. the devices asymmetrically blocked architecture enables system code and data integration within a single flash device. each block can be erased independently. see figure 2, 32-mbit top parameter memory map on page 6 and and figure 3, 32-mbit bottom parameter memory map on page 7 for block address locations. figure 1. 60-ball bga* package ballout a b c d e f g a 11 a 8 v ss v cc v pp a 18 a 6 a 4 du du du du a 12 a 9 a 20 clk rst# a 17 a 5 a 3 a 13 a 10 adv# we# a 19 a 7 a 2 a 15 a 14 wait# a 16 d 12 wp# a 1 v ccq d 15 d 6 d 4 d 2 d 1 ce# a 0 v ss d 14 d 13 d 11 d 10 d 9 d 0 oe# d 7 v ssq d 5 v cc d 3 v ccq d 8 v ssq a 4 a 6 a 18 v pp v cc v ss a 8 a 11 du du du du a 3 a 5 a 17 rst# clk a 20 a 9 a 12 a 2 a 7 we# adv# a 19 a 10 a 13 a 1 a 14 wp# d 12 a 16 wait# a 15 a 0 ce# d 1 d 2 d 4 d 6 d 15 v ccq oe# d 0 d 9 d 10 d 11 d 13 d 14 v ss v ssq d 8 v ccq d 3 v cc d 5 v ssq d 7 a b c d e f g top view - ball side down complete ink mark not shown bottom view - ball side up 8 7 6 5 4 3 2 1 1 2 3 4 5 6 7 8 a 21 a 22 a 22 a 21 28F320D18 product preview 5 2.3.1 dual physical partitions the device has an 8-mb partition (8 parameter blocks plus 15 main blocks) and a 24-mb partition (48 main blocks). only one partition at a time is allowed to be in program or erase mode. it is also not possible to do burst reads that cross partition boundaries. table 2 on page 9 summarizes simultaneous commands allowed with dual partitions. for a detailed description of commands allowed using dual partitions see table 11 on page 38 . 2.3.2 parameter blocks the memory architecture includes parameter blocks that allow storage of frequently updated small parameters that would normally be stored in eeprom. by using software techniques, the word- rewrite functionality of eeproms can be emulated. the device contains eight 4-kword (4,096- words) parameter blocks within the parameter partition. 2.3.3 main blocks the remainder of the array is divided into equal-size 32-kword main blocks that can store code and/or data. see figure 2, 32-mbit top parameter memory map on page 6 and figure 3, 32- mbit bottom parameter memory map on page 7 . 28F320D18 6 product preview figure 2. 32-mbit top parameter memory map 0 32-kword 1 32-kword 2 32-kword 3 32-kword 4 32-kword 5 32-kword 6 32-kword 7 32-kword 8 32-kword 9 32-kword 10 32-kword 11 32-kword 12 32-kword 13 32-kword 14 32-kword 15 32-kword bottom (main) partition 24 32-kword 25 32-kword 26 32-kword 27 32-kword 28 32-kword 29 32-kword 30 32-kword 16 32-kword 17 32-kword 18 32-kword 19 32-kword 20 32-kword 21 32-kword 22 32-kword 23 32-kword 0f0000h - 0f7fffh 0e8000h - 0effffh 0e0000h - 0e7fffh 0d8000h - 0dffffh 0d0000h - 0d7fffh 0c8000h - 0cffffh 0c0000h - 0c7fffh 0b8000h - 0bffffh 0b0000h - 0b7fffh 0a8000h - 0affffh 0a0000h - 0a7fffh 098000h - 09ffffh 090000h - 097fffh 088000h - 08ffffh 080000h - 087fffh 078000h - 07ffffh 070000h - 077fffh 068000h - 06ffffh 060000h - 067fffh 058000h - 05ffffh 050000h - 057fffh 048000h - 04ffffh 040000h - 047fffh 038000h - 03ffffh 030000h - 037fffh 028000h - 02ffffh 020000h - 027fffh 018000h - 01ffffh 010000h - 017fffh 008000h - 00ffffh 000000h - 007fffh 31 32-kword 0f8000h - 0fffffh address range block number 54 32-kword 55 32-kword 56 32-kword 57 32-kword 58 32-kword 59 32-kword 60 32-kword 63 4-kword 64 4-kword 65 4-kword 66 4-kword 67 4-kword 68 4-kword top (parameter) partition 48 32-kword 49 32-kword 50 32-kword 51 32-kword 52 32-kword 53 32-kword address range 1f8000h - 1f8fffh 1f0000h - 1f7fffh 1e8000h - 1effffh 1e0000h - 1e7fffh 1d8000h - 1dffffh 1d0000h - 1d7fffh 1c8000h - 1cffffh 1c0000h - 1c7fffh 1f9000h - 1f9fffh 1fa000h - 1fafffh 1fb000h - 1fbfffh 1fc000h - 1fcfffh 1fd000h - 1fdfffh 1fe000h - 1fefffh 1ff000h - 1fffffh 1b8000h - 1bffffh 1b0000h - 1b7fffh 1a8000h - 1affffh 1a0000h - 1a7fffh 198000h - 19ffffh 190000h - 197fffh 188000h - 18ffffh 180000h - 187fffh 32 32-kword 33 32-kword 34 32-kword 35 32-kword 36 32-kword 37 32-kword 38 32-kword 39 32-kword 40 32-kword 41 32-kword 42 32-kword 43 32-kword 44 32-kword 45 32-kword 46 32-kword 47 32-kword bottom (main) partition (continued) 178000h - 17ffffh 170000h - 177fffh 168000h - 16ffffh 160000h - 167fffh 158000h - 15ffffh 150000h - 157fffh 148000h - 14ffffh 140000h - 147fffh 138000h - 13ffffh 130000h - 137fffh 128000h - 12ffffh 120000h - 127fffh 118000h - 11ffffh 110000h - 117fffh 108000h - 10ffffh 100000h - 107fffh 61 32-kword 62 32-kword 69 4-kword 70 4-kword block number 28F320D18 product preview 7 figure 3. 32-mbit bottom parameter memory map 63 32-kword 64 32-kword 65 32-kword 66 32-kword 67 32-kword 68 32-kword 69 32-kword 70 32-kword top (main) partition (continued) 1f8000h - 1fffffh address range block number 39 32-kword 40 32-kword 41 32-kword 42 32-kword 43 32-kword 44 32-kword 45 32-kword 46 32-kword 47 32-kword 178000h - 17ffffh 170000h - 177fffh 168000h - 16ffffh 160000h - 167fffh 158000h - 15ffffh 150000h - 157fffh 148000h - 14ffffh 140000h - 147fffh 138000h - 13ffffh 130000h - 137fffh 128000h - 12ffffh 120000h - 127fffh 118000h - 11ffffh 110000h - 117fffh 108000h - 10ffffh 100000h - 107fffh 54 32-kword 55 32-kword 56 32-kword 57 32-kword 58 32-kword 59 32-kword 60 32-kword 48 32-kword 49 32-kword 50 32-kword 51 32-kword 52 32-kword 53 32-kword 1f0000h - 1f7fffh 1e8000h - 1effffh 1e0000h - 1e7fffh 1d8000h - 1dffffh 1d0000h - 1d7fffh 1c8000h - 1cffffh 1c0000h - 1c7fffh 1b8000h - 1bffffh 1b0000h - 1b7fffh 1a8000h - 1affffh 1a0000h - 1a7fffh 198000h - 19ffffh 190000h - 197fffh 188000h - 18ffffh 180000h - 187fffh 61 32-kword 62 32-kword 8 32-kword 9 32-kword 10 32-kword 11 32-kword 12 32-kword 13 32-kword 14 32-kword 15 32-kword 24 32-kword 25 32-kword 26 32-kword 27 32-kword 28 32-kword 29 32-kword 30 32-kword 16 32-kword 17 32-kword 18 32-kword 19 32-kword 20 32-kword 21 32-kword 22 32-kword 23 32-kword 0f0000h - 0f7fffh 0e8000h - 0effffh 0e0000h - 0e7fffh 0d8000h - 0dffffh 0d0000h - 0d7fffh 0c8000h - 0cffffh 0c0000h - 0c7fffh 0b8000h - 0bffffh 0b0000h - 0b7fffh 0a8000h - 0affffh 0a0000h - 0a7fffh 098000h - 09ffffh 090000h - 097fffh 088000h - 08ffffh 080000h - 087fffh 078000h - 07ffffh 070000h - 077fffh 068000h - 06ffffh 060000h - 067fffh 058000h - 05ffffh 050000h - 057fffh 048000h - 04ffffh 040000h - 047fffh 038000h - 03ffffh 030000h - 037fffh 028000h - 02ffffh 020000h - 027fffh 018000h - 01ffffh 010000h - 017fffh 008000h - 00ffffh 31 32-kword 0f8000h - 0fffffh top (main) partition bottom (parameter) partition 0 4-kword 1 4-kword 2 4-kword 3 4-kword 4 4-kword 5 4-kword 000000h - 000fffh 001000h - 001fffh 002000h - 002fffh 003000h - 003fffh 004000h - 004fffh 005000h - 005fffh 006000h - 006fffh 007000h - 007fffh 6 4-kword 7 4-kword address range 32 32-kword 33 32-kword 34 32-kword 35 32-kword 36 32-kword 37 32-kword 38 32-kword block number 28F320D18 8 product preview 3.0 principles of operation the 1.8 volt dual-plane flash memory component includes an on-chip write state machine (wsm) to manage block erase and program. it allows for cmos-level control inputs, fixed power supplies, and minimal processor overhead with ram-like interface timings. 3.1 bus operations the local cpu reads and writes flash memory in-system. all flash memory read and write cycles conform to standard microprocessor bus cycles. 3.1.1 read the flash memorys bottom partition, whether top- or bottom-parameter configuration, has three read modes available: read array, identifier/cfi codes, and status register. the top partition has only read array and status register read modes. each partition can be in one of its read modes independent of the other partitions mode. however simultaneous read commands in both partitions are not allowed. page mode and synchronous burst mode for both partitions are enabled by writing the set read configuration register command to any device address. this sets the read configuration, burst order, burst length, and frequency configuration. for all read operations, ce# must be driven active to enable the device. the device internally decodes upper address inputs to determine which partition is activated. oe# controls data outputs (dq 0 Cdq 15 ) onto the i/o bus when active. we# must be at v ih . 3.1.2 output disable with oe# at a logic-high level (v ih ), the device outputs are disabled. output pins dq 0 Cdq 15 are placed in a high-impedance state. 3.1.3 standby deselecting the device by bringing ce# to a logic-high level (v ih ) places the device in standby mode, which substantially reduces device power consumption. in standby, outputs are placed in a high-impedance state independent of oe#. if deselected during program or erase operation, the device continues to consume active power until the program or erase operation is complete. 3.1.4 write the command user interface (cui) does not occupy an addressable memory location within its partition, but it must be accessed by the system processor at the correct partition address range. programming/erasing may occur in only one partition at a time. the other partition must be in one of the read modes (see table 2 on page 9 ). 28F320D18 product preview 9 () notes: 1. for detailed description of the command allowed using dual partitions see table 11 on page 38 . 2. dual partition restrictions: a. status register reflects partition state, not wsm state this allows a status register for each partition. b. only one partition can be programmed or erased at a time no command queuing. c. commands must be written to an address within the block targeted by that command. d. it is not possible to do burst reads that cross partition boundaries. 3.1.5 reset the device enters a reset mode when rst# is driven low. in reset mode, internal circuitry is turned off and outputs are placed in a high-impedance state. after return from reset, a time t phqv is required until outputs are valid, and a delay (t phwl or t phel ) is required before a write sequence can be initiated. after this wake-up interval, normal operation is restored. the device defaults to read array mode, the status register is set to 80h, and the read configuration register defaults to asynchronous reads. if rst# is taken low during a block erase or program operation, the operation will be aborted and the memory contents at the aborted location are no longer valid. see figure 30, ac waveform for reset operations on page 64 for detailed information regarding reset timings. 3.1.6 read query the read query mode is only available in the bottom partition and requires that the read query command be written to the bottom partition. the mode outputs common flash interface (cfi) data when the device is read. the cfi data structure contains information such as block size, density, command set and electrical specifications. in this mode, read cycles retrieve cfi information. to return to read array mode, write the read array command (ffh). table 2. simultaneous commands allowed with dual partitions (1,2) if one partition is: then the commands allowed in the other partition are: read read status read id/cfi program erase program suspend erase suspend idle reading reading status register reading id/cfi programming erasing program suspended erase suspended 28F320D18 10 product preview 3.2 flexible block locking for both configuration and status modes, 1.8 volt dual-plane flash memory will decode the block locking and status registers within each partition. 1.8 volt dual-plane flash memory offers an instant, individual block locking scheme that allows any block to be locked or unlocked with no latency, enabling instant code and data protection. 1.8 volt dual-plane flash memory also features a hardware lock-down on main blocks and parameter blocks. this enables critical code and data security while other blocks are programmed or erased. this locking scheme offers two levels of protection. the first level allows software-only control of block locking (useful for data blocks that change frequently), while the second level requires hardware interaction before locking can be changed (useful for code blocks that change infrequently). each block can be set to locked, unlocked, and lock-down, as described in the following sections. a comprehensive state table for the locking functions is shown in table 3, block locking state transitions on page 11 , and a flowchart for locking operations is shown in figure 11, locking operations flowchart on page 29 . a block can be locked, unlocked and locked- down in one partition while programming or erasing the other partition. the following sections will discuss the operation of the locking system. the term state [xyz] will be used to specify locking states; e.g., state [001], where x = value of wp#, y = bit dq 1 of the block lock status, and z = bit dq 0 of the block lock status. table 3 defines all of these possible locking states. 28F320D18 product preview 11 notes: 1. in this table, the notation [xyz] denotes the locking state of a block, where x = wp#, y = dq 1 , and z = dq 0 . the current locking state of a block is defined by the state of wp# and the two bits of the block lock status (dq 0 , dq 1 ). dq 0 indicates if a block is locked (1) or unlocked (0). dq 1 indicates if a block has been locked- down (1) or not (0). 2. at power-up or device reset, all blocks default to locked state [001] (if wp# = 0). holding wp# = 0 is the recommended default. 3. the erase/program allowed? column shows whether erase and program operations are enabled (yes) or disabled (no) in that blocks current locking state. 4. the lock command input result [next state] column shows the result of writing the three locking commands (lock, unlock, lock-down) in the current locking state. for example, goes to [001] would mean that writing the command to a block in the current locking state would change it to [001]. 3.2.1 locking operation the following summarizes the locking operation. ? all blocks are locked on power-up. they can then be unlocked or locked with the unlock and lock commands. ? the lock-down command locks a block and prevents it from being unlocked when wp# = 0. when wp# = 1, lock-down is overridden. commands can then unlock/lock locked-down blocks. when wp# returns to 0, locked-down blocks return to lock-down. lock-down is cleared only when the device is reset or powered-down. 3.2.2 locked state all blocks default to locked on power-up or reset (states [001] or [101]). a program or erase operation attempted on a locked block will return an error on bit sr.1 of the status register. the status of a locked block can be changed to unlocked or lock-down using the appropriate command. an unlocked block can be locked by writing the lock command sequence, 60h followed by 01h. table 3. block locking state transitions current state erase/program allowed? lock command input result (next state) wp# dq 1 dq 0 name lock unlock lock-down 00 0 unlocked yes goes to [001] no change goes to [011] 0 0 1 locked (default) no no change goes to [000] goes to [011] 0 1 1 locked-down no no change no change no change 1 0 0 unlocked yes goes to [101] no change goes to [111] 1 0 1 locked no no change goes to [100] goes to [111] 1 1 0 lock-down disabled yes goes to [111] no change goes to [111] 1 1 1 lock-down disabled no no change goes to [110] no change 28F320D18 12 product preview 3.2.3 unlocked state unlocked blocks (states [000], [100], [110]) can be programmed or erased. all unlocked blocks return to the locked state when the device is reset or powered down. the status of an unlocked block can be changed to locked or locked-down using the appropriate command. a locked block can be unlocked by writing the unlock command sequence, 60h followed by d0h. 3.2.4 lock-down state blocks that are locked-down (state [011]) are protected from program and erase operations (just like locked blocks), but their protection status cannot be changed using software commands alone. a locked or unlocked block can be locked-down by writing the lock-down command sequence, 60h followed by 2fh. locked-down blocks revert to the locked state when the device is reset or powered down. the lock-down function is dependent on the wp# input pin. when wp# = 0, blocks in lock-down [011] are protected from program, erase, and lock status changes. when wp# = 1, the lock-down function is disabled ([111]) and locked-down blocks can be individually unlocked by software command to the [110] state, where they can be erased and programmed. these blocks can then be re-locked [111] and unlocked [110] as desired while wp# remains high. when wp# goes low, blocks that were previously locked-down return to the lock-down state [011] regardless of any changes made while wp# was high. device reset or power-down resets all blocks, including those in lock-down, to locked state. 3.2.5 reading a block's lock status the lock status of every block can be read in the device identifier read mode of the device. to enter this mode, write 90h to the device. subsequent reads at block base address + 00002 will output the lock status of that block. the lock status is represented by the lowest two output pins, dq 0 and dq 1 . dq 0 indicates the block lock/unlock status and is set by the lock command and cleared by the unlock command. it is also automatically set when entering lock-down. dq 1 indicates lock- down status and is set by the lock-down command. it cannot be cleared by software, only by device reset or power-down. 3.2.6 locking operations during erase suspend changes to block lock status can be performed during an erase suspend by using the standard locking command sequences to unlock, lock, or lock-down a block. this is useful in the case when another block needs to be updated while an erase operation is in progress. table 4. block lock status item address data block lock configuration block base address +002 lock block is unlocked dq 0 =0 block is locked dq 0 =1 block is locked-down dq 1 =1 28F320D18 product preview 13 to change block locking during an erase operation, first write the erase suspend command (b0h), then check the status register until it indicates that the erase operation has been suspended. next write the desired lock command sequence to a block and the lock status will be changed. after completing any desired lock, read, or program operations, resume the erase operation with the erase resume command (d0h). if a block is locked or locked-down during a suspended erase of the same block, the locking status bits will be changed immediately, but when the erase is resumed, the erase operation will complete. locking operations cannot be performed during a program suspend. 3.2.7 status register error checking using nested locking or program command sequences during erase suspend can introduce ambiguity into status register results. since locking changes are performed using a two cycle command sequence, e.g., 60h followed by 01h to lock a block, following the configuration setup command (60h) with an invalid command will produce a lock command error (sr.4 and sr.5 will be set to 1) in the status register. if a lock command error occurs during an erase suspend, sr.4 and sr.5 will be set to 1, and will remain at 1 after the erase is resumed. when erase is complete, any possible error during the erase cannot be detected via the status register because of the previous locking command error. a similar situation happens if an error occurs during a program operation error nested within an erase suspend. 3.2.8 v pp v pplk for complete protection the v pp programming voltage can be held low for complete write protection of all blocks in the flash device. when v pp is below v pplk , any block erase or program operation will result in a error, prompting the corresponding status register bit (sr.3) to be set. 3.3 128-bit protection register 1.8 volt dual-plane flash memory includes a 128-bit protection register than can be used to enhance the security of a system design. for example, the number contained in the protection register can be used to match the flash component with other system components such as the cpu or asic, preventing device substitution. additional application information can be found in intel application note ap-657 designing with the advanced+ boot block flash memory architecture . the 128-bit protection register is divided into two 64-bit segments ( figure 4, protection register memory map on page 14 ). the intel segment is programmed at the intel factory with a unique 64- bit number, which is not changeable. the customer segment is blank allowing customers to program as desired. once the customer segment is programmed, it can be locked to prevent reprogramming. 28F320D18 14 product preview 3.3.1 reading the protection register the protection register is read by using the read device identifier command (90h). once in this mode, read cycles from addresses shown in appendix b retrieve the specified protection register information. to return to read array mode, use the read array command (ffh). 3.3.2 programming the protection register the protection register bits are programmed using the two-cycle protection program command. the 64-bit number is programmed 16 bits at a time. first write the protection program setup command, c0h. the next write to the device will latch in address and data to program the specified location. the allowable addresses are shown in appendix b. see figure 12, protection register programming flowchart on page 30 . any attempt to address protection program commands outside the defined protection register address space should not be performed. attempting to program to a previously locked protection register segment will result in a status register error (program error bit sr.4 and lock error bit sr.1 = 1). 3.3.3 locking the protection register the customer-programmable segment of the protection register is lockable by programming bit 1 of the pr-lock location to 0. bit 0 of this location is programmed to 0 at the intel factory to protect the unique device number. this bit is set using the protection program command to program fffd to the pr-lock location. after these bits have been programmed, no further changes can be made to the values stored in the protection register. protection program commands to a locked section will result in a status register error program error bit sr.4 and lock error bit sr.1 will be set to 1). protection register lockout state is not reversible. figure 4. protection register memory map 4 words intel programmed 4 words customer programmed 1 word lock 0088h 0085h 0084h 0081h 0080h 28F320D18 product preview 15 note: 1. commands other than those shown above are reserved by intel for future device implementations and should not be used. 2. first cycle command addresses should be the same as the operations target address. examples: the first- cycle address for the read device identification codes command should be the same as the identification code address (ia); the first cycle address for the program command should be the same as the word address (wa) to be programmed; the first cycle address for the erase/program suspend command should be the same as the address within the block to be suspended; etc. ca = identification code address. ba = address within the block. lpa = lock protection address is obtained from the cfi (via the read query command). 1.8 v dual-plane flash memorys lpa is at 0080h. pa = user programmable 4-word protection address in the device identification plane. pna = address within the partition. qa = query code address. wa = word address of memory location to be written. 3. srd = data read from the status register. wd = data to be written at location wa is latched on the rising edge of we# or ce# (whichever goes high first). cd = identifier code data. pd =user programmable 4-word protection data. qd = query code data. rcd = read configuration register code data presented on device addresses a 15-0 . upper address bits can select either partition . see table 8 for read configuration register bits descriptions. 4. following the read device identification codes or read query commands, read operations output manufacturer and device configuration or cfi query information and the read configuration register. 5. read device identification and read query addresses must be within the bottom partition. 6. following a block erase, program, and suspend operation, read operations access the status register. 7. the wsm recognizes either 40h or 10h program setup commands. table 5. command definitions (1) bus cycles notes first bus cycle second bus cycle command oper addr (2) data (3) oper addr (2 data (3) read read array/reset 1 write pna ffh read device identification codes 3 2 4,5 write ca 90h read ca cd read query 3 2 4,5 write qa 98h read qa qd read status register 2 write ba 70h read ba srd clear status register 1 write ba 50h program / erase block erase 2 7 write ba 20h write ba d0h program 2 6, 7 write wa 40h/ 10h write wa wd program/erase suspend 1 6 write ba b0h program/erase resume 1 6 write ba d0h lock lock block 2 write ba 60h write ba 01h unlock block 2 write ba 60h write ba d0h lock-down block 2 write ba 60h write ba 2fh configuration protection program 2 write pa c0h write pa pd lock protection program 2 write lpa c0h write lpa fffdh set read configuration register 2 2, 5 write rcd 60h write rcd 03h 28F320D18 16 product preview 4.0 command definitions device operations are selected by writing specific commands into a partitions cui. since commands are partition-specific, its important to write commands within the target partitions address range (see table 5 on page 15 ). 4.1 read array command upon initial device power-up or after reset, both partitions default to read array mode and to the asynchronous read configuration power-up state. the read array command places the addressed partition into read array mode. once the wsm starts a block erase or program on a partition, it will not recognize the read array command until the wsm completes its operation or until the wsm is suspended by an erase or program suspend command. however, a read array command in the other partition will be accepted. 4.2 read device identification command the read device identification mode is initiated by writing the read device identification command to the bottom partition. the top partitions mode is not affected by this operation. see table 6 , for device identifier code values. note: 1. sampled, not 100% tested. 2. rcr = read configuration register 3. pr-lk = protection register lock 4. pr = protection register 4.3 read query command the read query command is available only in the bottom partition and puts that partition into the read query mode. partition reads will output common flash interface (cfi) information. table 6. identifier codes code address data manufacturer code 00000 0089 device code 32 mbit -t 00001 88d2 32 mbit -b 00001 88d3 block lock configuration block is unlocked block is locked block is locked-down block address +002 lock dq 0 = 0 dq 0 = 1 dq 1 = 1 read configuration register (1) 00005 rcr (2) protection register lock 0080 pr-lk (3) protection register 0081-0088 pr (4) 28F320D18 product preview 17 4.4 read status register command a partitions status register can be read at any time by writing the read status register command to the partitions cui. subsequent single transfer read operations to that partition will output its status register data until another valid command is written. this operation does not affect the other partitions mode. see table 7 for status register bit definitions. 4.5 clear status register command status register bits sr.5, sr.4, sr.3, and sr.1 are set to 1s by the wsm and can only be cleared by issuing the clear status register command. these bits indicate various error conditions. by allowing system software to reset these bits, several operations may be performed (such as cumulatively erasing or writing several bytes in sequence). the status register may be polled to determine if a problem occurred during the sequence. the clear status register command functions independently of the applied v pp voltage. after executing this command, the device returns to read array mode. the clear status register command clears only the status register of the addressed partition. table 7. status register definition wsms ess es ps vpps pss dps r 76543210 notes: sr.7 = write state machine status (wsms) 1 = ready 0 = busy check sr.7 to determine block erase or program completion. sr.6C0 are invalid while sr.7 = 0. sr.6 = erase suspend status (ess) 1 = block erase suspended 0 = block erase in progress/completed when an erase suspend command is issued, the wsm halts execution and sets both sr.7 and sr.6 to 1. sr.6 remains set until an erase resume command is written to the cui. sr.5 = erase status (es) 1 = error in block erasure 0 = successful block erase if both sr.5 and sr.4 are 1s after a block erase or lock block attempt, an improper command sequence was entered. sr.4 = program status (ps) 1 = error in program 0 = successful program sr.3 = v pp status (vpps) 1 = v pp low detect, operation abort 0 = v pp ok sr.3 does not provide a continuous v pp feedback. the wsm interrogates and indicates the v pp level only after a block erase or program operation. sr.3 is not guaranteed to report accurate feedback when v pp 1 v pp1/2 or v pplk . sr.2 = program suspend status (pss) 1 = program suspended 0 = program in progress/completed when a program suspend command is issued, the wsm halts execution and sets both sr.7 and sr.2 to 1. sr.2 remains set until a program resume command is written to the cui. sr.1 = device protect status (dps) 1 = block erase or program attempted on a locked block, operation abort 0 = unlocked if a block erase or program operation is attempted to a locked block, sr.1 is set by the wsm and aborts the operation if wp# = v il . sr.0 = reserved for future enhancements (r) sr.0 is reserved for future use and should be masked out when polling the status register. 28F320D18 18 product preview 4.6 block erase command the two-cycle block erase command initiates one block erase at the addressed block within the selected partition. after writing the command, the device automatically outputs status register data when any address within the partition is read. the cpu can detect block erase completion by analyzing the partitions status register bit sr.7. the partition will remain in status register read mode until another command is written to its cui. only one partition can be in an erase mode at a time; the other partition must be in one of the read modes. 4.7 program command a two-cycle command sequence written to the target partition initiates a program operation. only one partition can be in program mode at a time; the other partition must be in one of the read modes. program setup (standard 40h or alternate 10h) is written, followed by a second write that specifies the address and data. the wsm then takes over, controlling the internal program algorithm. after the program sequence is written, the device automatically outputs status register data when read (see figure 8, automated program flowchart on page 26 ). the cpu can detect the completion of the program event by analyzing status register bit sr.7. when the program operation completes, check status register bit sr.4 for an error flag (1). if an error is detected, check status register bits sr.4, sr.3, and sr.1 to understand what caused the problem. the status register of the partition being programmed can be examined by addressing any block address. after examining the status register, it should be cleared if an error was detected before issuing a new command. the partition remains in status register read mode until another command is written to the cui. 4.8 block erase suspend/resume command the block erase suspend command allows block erase interruption to read or program data in another block within the target partition. once the block erase process starts, writing the block erase suspend command requests that the wsm suspend the block erase operation after a certain latency period. the device continues to output status register data when read after the block erase suspend command is issued. status register bits sr.7 and sr.6 indicate when the block erase operation has been suspended (both will be set to 1). specification t whrh2 defines the block erase suspend latency. at this point, a read array command can be written to read data from blocks other than that which is suspended. a program command sequence can also be issued during erase suspend to program data in other blocks. using the program suspend command (see section 4.9 ), a program operation can be suspended during an erase suspend. the only other valid commands while block erase is suspended are read status register, block erase resume, lock block, unlock block, lock down block and set read configuration register. during a block erase suspend, the chip can go into a pseudo-standby mode by taking ce# to v ih , which reduces active current draw. v pp must remain at v pp1/2 while block erase is suspended. wp# must also remain at v il or v ih . 28F320D18 product preview 19 to resume the block erase operation, write the block erase resume command to the cui. this will automatically clear status register bits sr.6 and sr.7. after the erase resume command is written, the device automatically outputs status register data when read (see figure 9, block erase suspend/resume flowchart on page 27 ). block erase cannot resume until program operations initiated during block erase suspend have completed. it is also possible to nest suspends as follows: suspend erase in the first partition, start programming in the second partition, suspend programming in the second partition and then read from the second partition. 4.9 program suspend/resume command the program suspend command allows program interruption to read data in other flash memory locations within the target partition. once the program process starts, writing the program suspend command requests that the wsm suspend the program operation after a certain latency period. the device continues to output status register data when read after issuing program suspend command. status register bits sr.7 and sr.2 indicate when the program operation has been suspended (both will be set to 1). specification t whrh1 defines the program suspend latency. at this point, a read array command can be written to read data from locations other than that which is suspended. the only other valid commands while block erase is suspended are read status register, program resume, read query and read device identification. during a program suspend, the chip can go into a pseudo-standby mode by taking ce# to v ih , which reduces active current draw. v pp and wp# must remain unchanged. to resume the program, write the program resume command to the cui. this will automatically clear status register bits sr.7 and sr.2. after the program resume command is written, the device automatically outputs status register data when read (see figure 10, program suspend/resume flowchart on page 28 ). it is also possible to nest suspends as follows: suspend erase in the first partition, start programming in the second partition, suspend programming in the second partition and then read from the second partition. 28F320D18 20 product preview table 8. read configuration register definition rm r fc2 fc1 fc0 r doc wc 15 14 13 12 11 10 9 8 bs cc r r bw bl2 bl1 bl0 76543210 notes: rcr.15 = read mode (rm) 0 = synchronous burst reads enabled 1 = asynchronous reads enabled (default) read mode configuration affects reads from main blocks. parameter block, status register, and configuration reads support single read cycles. rcr.14 = reserved for future enhancements (r) this bit is reserved for future use. set reserved bits to 0. rcr.13C11 = frequency configuration (fc2-0) 000 = code 0 reserved for future use 001 = code 1 reserved for future use 010 = code 2 011 = code 3 100 = code 4 101 = code 5 reserved for future use 110 = code 6 reserved for future use 111 = code 7 reserved for future use (default) see section 4.10.2 for information about the frequency configuration and its effect on the initial read. undocumented combinations of bits rcr.14C11 are reserved by intel corporation for future implementations and should not be used. rcr.10 = reserved for future enhancements (r) this bit is reserved for future use. set reserved bits to 0. rcr.9 = data output configuration (doc) 0 = hold data for one clock 1 = reserved for future use (default) undocumented combinations of bits rcr.10C9 are reserved by intel corporation for future implementations and should not be used. rcr.8 = wait configuration (wc) 0 = wait# asserted during delay 1 = wait# asserted one data cycle before delay (default) rcr.7 = burst sequence (bs) 0 = intel burst order 1 = linear burst order (default) rcr.6 = clock configuration (cc) 0 = burst starts and data output on falling clock edge 1 = burst starts and data output on rising clock edge (default) rcr.5-4 = reserved for future enhancements (r) these bits are reserved for future use. set reserved bits to 0. rcr.3 = burst wrap (bw) 0 = wrap bursts within burst length set by rcr.2-0 1 = dont wrap accesses within burst length set by rcr.2-0.(default) see section 4.10.7 for information about the burst wrap configuration. rcr.2C0 = burst length (bl2C0) 001 = 4 word burst 010 = 8 word burst 011 = reserved for future use 111 = continuous (linear) burst (default) in the asynchronous page mode, the burst length always equals four words. 28F320D18 product preview 21 4.10 set read configuration command the set read configuration command writes data to the read configuration register (rcr). this operation is initiated by a two-cycle command sequence. the rcr can be configured by writing the command at any device address. read configuration setup is written followed by a second write that specifies the data to be written to the read configuration register. this data is placed on the address bus, a 15:0 , and is latched on the rising edge of adv#, ce#, or we# (whichever occurs first). the read configuration data sets the devices read configuration, burst order, frequency configuration, and burst length. the command functions independently of the applied v pp voltage. after executing this command, the device returns to read array mode. note: 1. the rcr can be read via the read device identification command (90h). address 00005 contains the rcr data. see table 6, identifier codes on page 16 . 2. all the bits in the rcr are set to 1 on device power-up or reset. 4.10.1 device read configuration each partition supports a high performance synchronous burst mode read configuration. a read configuration register bit sets the read configuration. the rcr can be read via the read device identification command (90h) at address 00005. the main partition contains only main blocks and supports asynchronous, page mode, and synchronous read configurations. its status register supports only single asynchronous and single synchronous reads. the parameter partitions parameter blocks and status register support only single asynchronous and single synchronous read operations. its main blocks support asynchronous, page mode, and synchronous read configurations. 4.10.2 frequency configuration the frequency configuration informs the device of the number of clocks that must elapse after adv# is driven active before data will be available. this value is determined by the input clock frequency. see table 9 for the specific input clk frequency configuration code. figure 5, frequency configuration on page 22 , illustrates data output latency from adv# going active for different frequency configuration codes. table 9. frequency configuration settings frequency configuration code input clk frequency (v cc = 1.65 vC1.95 v) -110 ns -120 ns 1 reserved reserved 2 24 mhz 21 mhz 3 36 mhz 32 mhz 4 40 mhz 40 mhz 28F320D18 22 product preview 0672_05 4.10.3 data output configuration the output configuration determines the number of clocks that data will be held valid. the data hold time for the 1.8 v dual-plane flash memory is one clock. 0672_06 4.10.4 wait# configuration the wait# configuration bit controls the behavior of the wait# output signal. this output signal can be set to be asserted during or one clk cycle before an output delay when continuous burst length is enabled. its setting will depend on the system and cpu characteristic. wait# can also be asserted in the 4- or 8-word burst length when rcr.3 = 1 (no-wrap mode) if the no-wrap read crosses the first 16-word boundary. 4.10.5 burst sequence the burst sequence specifies the order in which data is addressed in synchronous burst mode. this order is programmable as either linear or intel burst order. the continuous burst length only supports linear burst order. the order chosen will depend on the cpu characteristic. see table 10, sequence and burst length on page 23 for more details. figure 5. frequency configuration adv# (v) a 20-0 (a) valid address clk (c) dq 15-0 (d/q) valid output valid output valid output valid output dq 15-0 (d/q) valid output valid output valid output valid output dq 15-0 (d/q) valid output valid output valid output valid output code 2 code 3 code 4 figure 6. output configuration dq 15-0 (d/q) valid output valid output valid output clk (c) 1 clk data hold 28F320D18 product preview 23 note: 1. the burst wrap bit (rcr.3) determines whether 4- or 8-word burst-accesses wrap within the burst-length boundary or whether they cross word-length boundaries to perform linear accesses. in the no-wrap mode (rcr.3 = 1), the device operates similar to continuous linear burst mode but consumes less power during 4- and 8-word bursts. 4.10.6 clock configuration the clock configuration bit configures the device to start a burst cycle, output data, and assert wait# on the rising or falling edge of the clock. this clk flexibility enables interfacing the 1.8 volt dual-plane flash memory to a wide range of burst cpus. table 10. sequence and burst length burst addressing sequence (dec) starting address wrap no- wrap (1) 4-word burst length (rcr.2-0 = 001) 8-word burst length (rcr.2-0 = 010) continuous burst (rcr.2-0 = 111) (dec) rcr.3 = rcr.3 = linear intel linear intel linear 00 0-1-2-3 0-1-2-3 0-1-2-3-4-5-6-7 0-1-2-3-4-5-6-7 0-1-2-3-4-5-6-... 10 1-2-3-0 1-0-3-2 1-2-3-4-5-6-7-0 1-0-3-2-5-4-7-6 1-2-3-4-5-6-7-... 20 2-3-0-1 2-3-0-1 2-3-4-5-6-7-0-1 2-3-0-1-6-7-4-5 2-3-4-5-6-7-8-... 30 3-0-1-2 3-2-1-0 3-4-5-6-7-0-1-2 3-2-1-0-7-6-5-4 3-4-5-6-7-8-9-... 40 4-5-6-7-0-1-2-3 4-5-6-7-0-1-2-3- 4-5-6-7-8-9-10... 50 5-6-7-0-1-2-3-4 5-4-7-6-1-0-3-2 5-6-7-8-9-10-11... 60 6-7-0-1-2-3-4-5 6-7-4-5-2-3-0-1 6-7-8-9-10-11-12-... 70 7-0-1-2-3-4-5-6 7-6-5-4-3-2-1-0 7-8-9-10-11-12-13... ... ... ... ... ... ... ... ... 14 0 14-15-16-17-18-19-20-... 15 0 15-16-17-18-19-20-21-... ... ... ... ... ... ... ... ... 0 1 0-1-2-3 na 0-1-2-3-4-5-6-7 na 0-1-2-3-4-5-6-... 1 1 1-2-3-4 na 1-2-3-4-5-6-7-8 na 1-2-3-4-5-6-7-... 2 1 2-3-4-5 na 2-3-4-5-6-7-8-9 na 2-3-4-5-6-7-8-... 3 1 3-4-5-6 na 3-4-5-6-7-8-9-10 na 3-4-5-6-7-8-9-... 4 1 4-5-6-7-8-9-10-11 na 4-5-6-7-8-9-10... 5 1 5-6-7-8-9-10-11-12 na 5-6-7-8-9-10-11... 6 1 6-7-8-9-10-11-12-13 na 6-7-8-9-10-11-12-... 7 1 7-8-9-10-11-12-13-14 na 7-8-9-10-11-12-13... ... ... ... ... ... ... ... ... 14 1 14-15-16-17-18-19-20-... 15 1 15-16-17-18-19-20-21-... 28F320D18 24 product preview 4.10.7 burst wrap the burst wrap bit determines whether 4- or 8-word burst-accesses wrap within the burst-length boundary or whether they cross word-length boundaries to perform linear accesses. no-wrap mode (rcr.3 = 1) enables wait# to hold off the system processor, as it does in the continuous burst mode. in the no-wrap mode, the device operates similar to continuous linear burst mode but consumes less power during 4- and 8-word bursts. for example, if rcr.3 = 0 (wrap mode) and rcr.2-0 = 001 (4-word burst length), then possible linear burst sequences are 0-1-2-3, 1-2-3-0, 2-3-0-1, and 3-0-1-2. if rcr.3 = 1 (no-wrap mode) and rcr.2-0 = 001 (4-word burst length), then possible linear burst sequences are 0-1-2-3, 1-2-3-4, 2-3-4-5, and 3-4-5-6. rcr.3 = 1 not only enables limited non- aligned sequential burst, but also reduces power by minimizing the number of internal read operations. the above 4-word burst sequences can also be achieved by setting rcr.2-0 bits for continuous linear burst mode (111). however, significantly more power may be consumed. the 1-2-3-4 sequence, for example, will consume power during the initial access, again during the internal pipeline lookup as the processor reads word 2, and possibly again, depending on system timing, near the end of the sequence as the device pipelines the next 4-word sequence. rcr.3 = 1 mode reduces this excess power consumption. 4.10.8 burst length the burst length is the number of words that the device will output. the device supports burst lengths of four and eight words. it also supports a continuous burst mode. in continuous burst mode, the device will linearly output data until the internal burst counter reaches the end of the devices burst-able address space or a partition boundary. bits rcr.2C0 in the read configuration register set the burst length. 4.10.8.1 continuous burst length when operating in the continuous burst mode or 4-, 8-word burst with burst wrap bit set (rcr.3 = 1), the flash memory may incur an output delay when the burst sequence crosses the first sixteen word boundary. the starting address dictates whether or not a delay will occur. if the starting address is aligned to a four word boundary, the delay will not be seen. if the starting address is the end of a four word boundary, the output delay will be equal to the frequency configuration setting; this is the worst case delay. the delay will only take place once during a continuous burst access. if the burst sequence never crosses a sixteen word boundary, the delay will never happen. the flash memory uses the wait# output pin in the continuous burst configuration to inform the system if this output delay occurs. 28F320D18 product preview 25 0672_07 figure 7. automated block erase flowchart suspend blk. erase loop start write 20h, block address write d0h, block address read status register sr.7 = full status check if desired block erase complete full status check procedure repeat for subsequent block erasures. full status check can be done after each block erase or after a sequence of block erasures. write ffh after the last operation to place device in read array mode. sr.5, sr.4, sr.3 and sr.1 are only cleared by the clear staus register command, in cases where multiple blocks are erased before full status is checked. if an error is detected, clear the status register before attempting retry or other error recovery. no yes suspend block erase 1 0 comments data = 20h addr = within block to be erased data = d0h addr = within block to be erased check sr.7 1 = wsm ready 0 = wsm busy comments check sr.3 1 = v pp error detect check sr.1 1 = device protect detect read status register data (see above) v pp range error device protect error block erase successful sr.3 = sr.1 = 1 0 1 0 command sequence error sr.4, 5 = 1 0 block erase error sr.5 = 1 0 status register data addr = within block to be erased check sr.4, 5 both 1 = command sequence error check sr.5 1 = block erase error bus operation write write standby read command erase setup erase confirm bus operation standby standby standby standby command 28F320D18 26 product preview 0672_08 figure 8. automated program flowchart suspend program loop start write 40h, address write data and address read status register sr.7 = full status check if desired program complete full status check procedure repeat for subsequent byte writes. sr full status check can be done after each word write or after a sequence of program operations. write ffh after the last word write operation to place device in read array mode. sr.4, sr.3 and sr.1 are only cleared by the clear staus register command, in cases where multiple locations are written before full status is checked. if an error is detected, clear the status register before attempting retry or other error recovery. no yes suspend program 1 0 comments data = 40h addr = location to be written data = data to be written addr = location to be written check sr.7 1 = wsm ready 0 = wsm busy comments check sr.3 1 = v pp error detect check sr.1 1 = device protect detect read status register data (see above) v pp range error device protect error program successful sr.3 = sr.1 = 1 0 1 0 program error sr.4 = 1 0 status register data addr = location to be written check sr.4 1 = program error bus operation write write standby read command program setup data bus operation standby standby standby command 28F320D18 product preview 27 0672_09 figure 9. block erase suspend/resume flowchart start write b0h read status register comments data = b0h addr = block address data = d0h addr = block address sr.7 = sr.6 = block erase completed write ffh read array data 0 1 0 status register data addr = block address check sr.7 1 = wsm ready 0 = wsm busy check sr.6 1 = block erase suspended 0 = block erase completed command erase suspend erase resume bus operation write write read standby standby yes program program loop done write d0h block erase resumed read read array data no 1 read or write? 28F320D18 28 product preview 0672_10 figure 10. program suspend/resume flowchart start write b0h read status register no comments data = b0h addr = block address data = ffh addr = block address sr.7 = sr.2 = 1 write ffh read array data program completed done reading yes write ffh write d0h program resumed read array data 0 1 0 read array locations from block other than that being written status register data addr = block address check sr.7 1 = wsm ready 0 = wsm busy check sr.2 1 = program suspended 0 = program completed data = d0h addr = block address bus operation write write read read standby standby write command program suspend read array program resume 28F320D18 product preview 29 0672_11 figure 11. locking operations flowchart start write 60h (configuration setup) read status register no comments data = 60h addr = within block to lock sr.4, sr.5 = write 90h (read configuration) read block lock status locking change confirmed? locking change complete 0,0 check status register 80h = no error b0h = lock command sequence error bus operation write command 1,1 write 01h, d0h, or 2fh status register data addr=within block to lock write write read (optional) standby (optional) data= 01h (lock block) d0h (unlock block) 2fh (lockdown block) addr=within block to lock command config. setup lock, unlock, or lockdown lock command sequence error data = 90h addr=within block to lock write (optional) read configuration block lock status data addr = second addr of block read (optional) block lock status confirm locking change on dq 1 , dq 0 . (see block locking state table for valid combinations.) standby (optional) 28F320D18 30 product preview 0672_12 figure 12. protection register programming flowchart start write c0h (protection reg. program setup) write protect. register address/data read status register sr.7 = 1? full status check if desired program complete read status register data (see above) v pp range error protection register programming error attempted program to locked register - aborted program successful sr.3, sr.4 = sr.1, sr.4 = sr.1, sr.4 = full status check procedure bus operation write write standby protection program operations can only be addressed within the protection register address space. addresses outside the defined space will return an error. repeat for subsequent programming operations. sr full status check can be done after each program or after a sequence of program operations. write ffh after the last program operation to reset device to read array mode. bus operation standby standby sr.3 must be cleared, if set during a program attempt, before further attempts are allowed by the write state machine. sr.1, sr.3 and sr.4 are only cleared by the clear staus register command, in cases of multiple protection register program operations before full status is checked. if an error is detected, clear the status register before attempting retry or other error recovery. no yes 1, 1 0,1 1,1 command protection program setup protection program comments data = c0h data = data to program addr = location to program check sr.7 1 = wsm ready 0 = wsm busy command comments sr.1 sr.3 sr.4 0 1 1 v pp low 0 0 1 prot. reg. prog. error 1 0 1 register locked: operation aborted read status register data toggle ce# or oe# to update status register data standby 28F320D18 product preview 31 5.0 data protection the 1.8 volt dual-plane flash memory architecture features dynamic hardware block-locking so critical code can be kept secure while non-locked blocks are programmed or erased. 5.1 v pp v pplk for complete protection the v pp programming voltage can be held low for complete write protection of all flash device blocks. when v pp is below v pplk , block erase or program operations result in an error in the corresponding partitions status register; bit (sr.3) is set. 5.2 wp# = v il for block lock down locked down blocks are securely or permanently locked down when wp# = v il ; any block erase or program operation to a locked-down block will result in an error, which will be reflected in the status register. 6.0 program and erase voltages intel 1.8 volt dual-plane flash memory provides in-system programming and erase in the 1.8 v range. for fast production programming, 1.8 volt dual-plane flash memory includes a low-cost, backward-compatible high-performance improved-12 v programming feature. when v pp is between v pp1 min and v pp1 max, all program and erase current is drawn through the v cc pin. note that if v pp is driven by a logic signal, v pp must remain above v pp1 min to perform in-system flash modifications. when v pp is connected to a 12 v power supply, the device draws program and erase current directly from the v pp pin. this eliminates the need for an external switching transistor to control the v pp voltage. figure 13, example power supply configurations on page 34 , shows examples of how the flash power supplies can be configured for various usage models. 6.1 improved-12 v programming operation for fast manufacturing the 12 v v pp mode enhances programming performance during the short period of time typically found in manufacturing processes; however, it is not intended for extended use. 12 v may be applied to v pp during program and erase operations for a maximum of 1000 cycles on the main blocks and 2500 cycles on the parameter blocks. v pp may be connected to 12 v for a total of 80 hours maximum. stressing the device beyond these limits may cause permanent damage. 28F320D18 32 product preview 7.0 design considerations this section will describe how to use and design with the 1.8 volt dual-plane flash memory. it will focus on the dual partition architecture as well as the integrated features of the device. todays high-performance cpus and asics designed for portable and handheld applications place relentless demands on memory for increased data transfer speeds, as well as very low power operation. this requires a new memory approach to help bridge the performance gap between the processor and memory. 1.8 volt dual-plane flash memory satisfies both of these requirements by operating at 1.8 volts and also providing hardware simultaneous read-while-program/erase capabilities through its dual partition architecture. it also supports two high-performance interfaces (asynchronous page mode and synchronous burst mode at 40 mhz max) with zero wait states. this section will cover these new features and how to implement them in designs using 1.8 volt dual-plane flash memory. the following is a list of the key topics that will be covered: ? flash hardware design considerations. ? flash software design considerations. ? system design considerations. ? design tools and software for detailed device specifications and more information, refer to section 10.0 for a full list of companion documents. 7.1 flash hardware design considerations 7.1.1 flash power consumption while in operation, the flash device consumes active power. intel ? flash devices have power saving features, automatic power savings (aps) and standby modes that reduce overall memory and system power consumption. 7.1.1.1 active power with ce# at a logic-low level and rst# at a logic-high level, the device is in active mode. only one partition at a time is active if both partitions are in read mode. however, both partitions can be active simultaneously if one is in read mode and the other is performing background program or erase. the active read partition is selected when ce# is low and a valid partition address is present. see table 2 on page 9 , for simultaneous commands allowed with dual partitions. 7.1.1.2 using no-wrap mode the burst wrap bit (rcr.3) of the read configuration register determines whether 4- or 8-word burst-accesses wrap within the burst-length boundary or whether they cross word-length boundaries to perform linear accesses. no-wrap mode (rcr.3 = 1) enables wait# to hold off the system processor, as it does in the continuous burst mode. in the no-wrap mode, the device operates similar to continuous linear burst mode but consumes less power during 4- and 8-word bursts. set rcr.3 = 1 for lower power operation and non-wrapped linear bursts. 28F320D18 product preview 33 for example, if rcr.3 = 0 (wrap mode) and rcr.2-0 = 001 (4-word burst length), then possible linear burst sequences are 0-1-2-3, 1-2-3-0, 2-3-0-1, and 3-0-1-2. if rcr.3 = 1 (no-wrap mode) and rcr.2-0 = 001 (4-word burst length), then possible linear burst sequences are 0-1-2-3, 1-2-3-4, 2-3-4-5, and 3-4-5-6. rcr.3 = 1 not only enables limited non- aligned sequential burst, but also reduces power by minimizing the number of internal read operations. the above 4-word burst sequences can also be achieved by setting rcr.2-0 bits for continuous linear burst mode (111). however, significantly more power may be consumed. the 1-2-3-4 sequence, for example, will consume power during the initial access, again during the internal pipeline lookup as the processor reads word 2, and possibly again, depending on system timing, near the end of the sequence as the device pipelines the next 4-word sequence. rcr.3 = 1 (no-wrap mode) mode reduces this excess power consumption. 7.1.1.3 automatic power savings automatic power savings (aps) provides low-power operation during active mode, allowing the flash to put itself into a low current state when not being accessed. after data is read from the memory array, the devices power consumption enters the aps mode where typical i cc current is comparable to i ccs . the flash memory stays in this static state with outputs valid until a new location is read. 7.1.1.4 standby power with ce# at a logic-high level (v ih ) and both partitions are in read mode, the flash memory is in standby mode. outputs (dq 0 Cdq 15 ) are placed in high-impedance state independent of the oe# signals state. if ce# transitions to a logic-high during erase or program operations, the device continues the operation, consuming corresponding active power until the operation completes. 7.1.1.5 power-up/down operation the device is protected against accidental block erasure or programming during power transitions. power supply sequencing is not required, since the device does not care which power supply, v pp , v cc , or v ccq , powers up first. 7.1.1.5.1 rst# connection the use of rst# during system reset is important with automated program/erase devices since the system expects to read from the flash memory when it comes out of reset. if a cpu reset occurs without a flash memory reset, proper cpu initialization will not occur because the flash memory may be providing status information instead of array data. intel recommends connecting rst# to the system reset signal to allow proper cpu/flash initialization following system reset. system designers must guard against spurious writes when v cc voltages are above v lko and v pp is active. since both we# and ce# must be low for a command write, driving either signal to v ih will inhibit writes to the device. the cui architecture provides additional protection since alteration of memory contents can only occur after successful completion of the two-step command sequences. the device is also disabled until rst# is brought to v ih , regardless of the state of its control inputs. by holding the device in reset during power-up/down, invalid bus conditions during power-up can be masked, providing yet another level of memory protection. 28F320D18 34 product preview 7.1.1.5.2 v cc , v pp , rst# transitions the cui latches commands as issued by system software and is not altered by v pp or ce# transitions or wsm actions. its default state upon power-up, after exit from deep power-down mode or after v cc transitions above v lko (lockout voltage), is read array mode. after any block erase or program operation is complete (even after v pp transitions down to v pplk ), the cui must be reset to read array mode via the read array command if access to the flash memory array is desired. psu_conf t note: 1. a resistor can be used if the v cc supply can sink adequate current based on a resistor value. see ap-657 designing with the advanced+ boot block flash memory architecture for details. 7.1.1.6 power supply decoupling flash memorys power switching characteristics require careful device de-coupling. system designers should consider three supply current issues: ? standby current levels (i ccs ) ? active current levels (i ccr ) ? transient peaks produced by falling and rising edges of ce#. transient current magnitudes depend on the device outputs capacitive and inductive loading. two- line control and proper de-coupling capacitor selection will suppress these transient voltage peaks. each flash device should have a 0.1 f ceramic capacitor connected between each v cc , v ccq and v ssq , and between its v pp and v ss . these high-frequency, inherently low-inductance capacitors should be placed as close as possible to the package leads. figure 13. example power supply configurations v cc v pp 12 v fast programming absolute write protection with v pp v pplk system supply 12 v supply 10 k w v cc v pp system supply 12 v supply low voltage and 12 v fast programming v cc v pp system supply prot# (logic signal) v cc v pp system supply low-voltage programming low-voltage programming absolute write protection via logic signal (note 1) 28F320D18 product preview 35 7.1.1.6.1 circuit board v pp trace designing for in-system writes to the flash memory requires special consideration of the v pp power supply trace by the printed circuit board designer. the v pp pin supplies the flash memory cells current for programming and erasing. v pp trace widths and layout should be similar to that of v cc . adequate v pp supply traces, and decoupling capacitors placed adjacent to the component, will decrease spikes and overshoots. 7.1.2 flash core and i/o voltage 1.8 volt dual-plane flash memory matches a true 1.8 v eia/jedec standard from 1.65 v to 1.95 v. it can read and program down to 1.65 v. the flash device is separated into two sections, the core and the i/o ( figure 14 ). there are two separate power pins, v cc and v ccq which provide power to the devices core, and to the i/o respectively. the separate v ccq pin can help provide noise isolation from the v cc power supply when connected to a separate 1.8 volt supply. v cc must always be at the same or higher voltage than the voltage applied to v ccq , they can be connected together. the total power consumption of the device is the sum of the power consumed by the core and the power consumed by the i/os. the total power used by the i/o pins is a function of the i/o voltage, the operating frequency, and the capacitance of the pins as shown in the following equation. c l is the load capacitance and f is the i/o switching frequency. p read_i/o = 0.5 * c l * f * (v ccq ) 2 * (number of i/o pins) more information on i/o power consumption can be found in applications note ap-641 achieving low power with advanced boot block flash memory . for fast production programming, 1.8 volt dual-plane flash memory includes a 12 v programming feature. with 12 v connected to v pp , programming time is significantly reduced, which is important for fast factory programming. when used in mobile applications where a second 12 v supply is unavailable, v pp program voltage must be 1.65 v1.95 v during program and erase cycles. connecting v pp to a 12 v supply (11.4 v12.6 v) should only be done for a maximum of 1000 cycles on the main blocks and 2500 cycles on the parameter blocks, and should not be connected for more than 80 hours. figure 14. flash core and i/o voltage separation i/o data pins core oe# v cc v ccq c l 28F320D18 36 product preview 7.2 flash software design considerations 7.2.1 conventions and definitions throughout this section references are made to words and phrases which are explained below. ? plane vs. partition : both of these words refer to memory areas within the flash device. a memory plane is a memory area with its own address range. the main array, status register, id/protection register and query are different read planes. these planes may be accessed by putting the device into the desired mode via commands to the command user interface. the main array plane is split into two physical partitions, with a continuous address range throughout the two partitions. ? writing a command vs. writing to the array : a write is any memory cycle where we# is asserted. it is used to get a command or data into the device. a write command is issued to change the devices mode. v pp does not need to be valid during write command operations. writing to the array, or programming, refers to storing memory into the array plane. this is done with a two-cycle write command, and v pp has to be valid during the program operation. ? current partition : this is the partition to which commands are currently being written. for example, if data is being programmed into the bottom partition, this becomes the current partition and the top partition is referred to as the other partition. if after that, a program command is issued to the top partition, it then becomes the current partition and the bottom partition is now the other partition. ? other partition : the partition, which is either idle or busy, to which commands are not currently being written. ? current state : the state that the command user interface is currently in. it can be either the current partition or the other partition. ? next state : this will be the state of the flash component after it has received the command to go into this state. ? setup : this refers to the current state of the either partition. setup refers to erase, program, protection register, block lock/unlock/lock-down and set read configuration register setup. ? busy : the other partition is in a busy state when it is in erase, program or protection register program mode. ? idle : the other partition is in idle mode when it is not in setup, busy, or erase/program suspend mode. ? lb = lock block ? ulb = unlock block ? otp = one-time programmable protection register ? rcr = read configuration register ? es = erase suspend ? ps = program suspend ? be = block erase 28F320D18 product preview 37 7.2.2 using dual partitions this section describes four examples of synthesizing the flash components next state, knowing the current state of each partition and the input. these examples will use table 11 on page 38 . in these examples, the partitions will be referred to as top partition and bottom partition. also, each example assumes that both partitions start in read array mode. table 11 will help with software design showing the allowable commands that one partition can accept based on the mode of the other partition. sheets 1 and 2 of table 11 should be read by placing them adjacent to each other. sheets 3 and 4 are continuations of sheets 1 and 2, as shown by the row numbers. 28F320D18 38 product preview table 11. write state machine - next state table (sheet 1 of 4) read array program setup erase setup be confirm, p/e resume, ulb confirm program/erase suspend (ffh) (10h/40h) (20h) (d0h) (b0h) 1 1 2 2 3 erase setup 3 4 4 5 5 6 6 7 7 8 erase setup 8 9 9 10 10 11 11 12 12 13 erase setup 13 14 14 15 15 16 16 17 17 18 erase setup 18 19 19 20 20 21 setup status 1 lb/ulb l/rcr error 21 22 22 23 23 24 erase setup 24 25 25 26 26 27 27 28 28 29 erase setup 29 30 30 31 31 32 32 33 33 34 erase setup 34 35 35 36 36 37 setup status 1 37 38 busy status 0 38 39 39 40 40 41 erase setup 41 42 42 43 43 row number current state of the other partition current state of the current partition command input to the current partition (and next state of the current partition) mode state data when read sr.7 setup query row number read array read array setup read array array busy idle erase suspend prog. suspend 1 read array read array program setup read array busy idle read array program setup read array erase suspend read array prog. suspend read array setup device identification id 1 read array cfi 1 read array busy idle read array program setup read array erase suspend read array prog. suspend read array setup status status 1 read array busy idle read array program setup erase suspend prog. suspend read array read array read array read array any state lock/rcr lock/rcr error setup error status 1 busy idle read array program setup read array erase suspend read array prog. suspend read array setup lock/unlock block status 1 read array read array busy idle read array program setup read array erase suspend prog. suspend read array setup set rcr array 1 read array busy idle read array program setup read array erase suspend read array prog. suspend read array idle protection register protection register (busy) idle protection register (busy) setup done status read array read array busy idle read array program setup erase suspend 1 read array prog. suspend read array 28F320D18 product preview 39 table 11. write state machine - next state table (sheet 2 of 4) read status clear status register read device id read query lock/unlock, lock-down, write rcr setup otp setup lock block confirm lock-down block confirm write rcr confirm (70h) (50h) (90h) (98h) (60h) (c0h) (01h) (2fh) (03h) 1 1 2 2 3 otp setup 3 4 4 5 5 6 6 7 7 8 otp setup 8 9 9 10 10 11 11 12 12 13 otp setup 13 14 14 15 15 16 16 17 17 18 otp setup 18 19 19 20 20 21 lb/ulb lb/ulb set rcr 21 22 22 23 23 24 otp setup 24 25 25 26 26 27 27 28 28 29 otp setup 29 30 30 31 31 32 32 33 33 34 otp setup 34 35 35 36 36 37 37 38 38 39 39 40 40 41 otp setup 41 42 42 43 43 command input to the current partition (and next state of the current partition) row number row number read array read array read array read status read array read status read device id read query lock/rcr setup read array read device id read query lock/rcr setup read array read array read array read status read array read device id read query lock/rcr setup read array read array read array read status read array lock/rcr setup read array read device id read query read status read array read query lock/rcr setup read array read array read array lock/rcr error read array read query read array read device id read status read array read device id read array lock/rcr setup read array read array read array read array read status read array read array read device id read query lock/rcr setup protection register (busy) protection register (busy) read status read array read device id read query lock/rcr setup read array read array read array 28F320D18 40 product preview table 11. write state machine - next state table (sheet 3 of 4) read array program setup erase setup be confirm, p/e resume, ulb confirm program/erase suspend (ffh) (10h/40h) (20h) (d0h) (b0h) 44 setup status 1 44 45 busy status 0 ps read status 45 46 46 47 47 48 erase setup 48 49 49 50 50 51 51 52 52 53 53 54 54 55 55 56 56 57 57 58 58 59 59 60 60 61 61 62 62 63 setup status 1 erase (busy) erase error 63 64 64 65 65 66 erase setup 66 67 67 68 68 69 69 70 70 71 erase setup 71 72 72 73 73 74 busy status 0 es read status 74 75 erase (busy) es read array 75 76 76 77 es read array program setup es read array erase (busy) es read array 77 78 78 79 erase (busy) es read array 79 80 80 81 es read array program setup es read array erase (busy) es read array 81 82 82 83 erase (busy) es read array 83 84 84 85 es read array program setup es read array erase (busy) es read array 85 86 86 87 erase (busy) es read array 87 88 88 89 es read array program setup es read array erase (busy) es read array 89 90 90 current state of the other partition command input to the current partition (and next state of the current partition) row number state data when read sr.7 prog. suspend prog. suspend read array read array read array program setup read array read array program setup read array read array read array program (busy) read array read array program setup program (busy) program (busy) program (busy) current state of the current partition idle mode idle setup setup setup idle erase suspend erase done program suspend read status read array read device id read query error idle setup busy idle erase suspend setup prog. suspend prog. suspend prog. suspend prog. suspend busy erase suspend setup busy setup busy idle idle idle read array read array erase suspend read array cfi idle 1 erase suspend erase suspend program (busy) any state setup program busy 1 1 status cfi 1 status status status 1 array 1 status 1 idle read array idle erase suspend done setup 1 id program suspend read array program (busy) program suspend read array program suspend read array read array program suspend read array program suspend read array program suspend read array program suspend read array program suspend read array erase suspend id 1 busy setup idle busy idle idle prog. suspend erase suspend read status 1 read array read device id read query array 1 setup erase suspend read array erase suspend read array erase suspend read array erase suspend read array erase suspend read array erase suspend read array read array erase (busy) erase error erase suspend read array erase suspend read array erase suspend read array erase suspend read array erase suspend read array 28F320D18 product preview 41 table 11. write state machine -next state table (sheet 4 of 4) read status clear status register read device id read query lock/unlock, lock-down, write rcr setup otp setup lock block confirm lock-down block confirm write rcr confirm (70h) (50h) (90h) (98h) (60h) (c0h) (01h) (2fh) (03h) 44 44 45 45 46 46 47 47 48 otp setup 48 49 49 50 50 51 51 52 52 53 53 54 54 55 55 56 56 57 57 58 58 59 59 60 60 61 61 62 62 63 63 64 64 65 65 66 otp setup 66 67 67 68 68 69 69 70 70 71 otp setup 71 72 72 73 73 74 74 75 75 76 76 77 77 78 78 79 79 80 80 81 81 82 82 83 83 84 84 85 85 86 86 87 87 88 88 89 89 90 90 row number erase suspend read device id program suspend read status erase suspend read device id erase suspend read device id program suspend read device id program suspend read device id erase suspend read array erase suspend read array erase suspend read query lock/rcr setup erase suspend read query lock/rcr setup erase suspend read status erase suspend read array erase suspend read device id erase suspend read array erase suspend read array erase suspend read query lock/rcr setup erase suspend read query lock/rcr setup read array read array read status read array read device id read query lock/rcr setup read array erase suspend read status erase suspend read array read array read array program suspend read query program suspend read query program suspend read query program suspend read status program suspend read status program suspend read array program suspend read array read array read query lock/rcr setup program suspend read query read status read device id command input to the current partition (and next state of the current partition) read array program suspend read array read array read array program suspend read array program suspend read array program suspend read device id program suspend read device id program suspend read array program suspend read array program suspend read status read array read device id read query lock/rcr setup erase suspend read array erase suspend read array erase suspend read status erase suspend read status program (busy) program (busy) block erase (busy) erase error program suspend read array read status read array 28F320D18 42 product preview 7.2.2.1 basic status register read the first example shows how to read the status register of the top partition. the current state of the partition is read array mode, and the bottom partition is idle. this is shown on the state table as row 3. when a read status register command (70h) is issued, the next state becomes read status (table 11, row 18). subsequent reads from this partition will output status register data. throughout these operations, the bottom partition stays idle. 7.2.2.2 erase suspend to read the next example will show how to suspend an erase operation in the top partition to read information from the same partition. the current state of the top partition is read array mode, and the bottom partition is idle (row 3). when an erase setup command (20h) is issued, the partition is put into an erase setup state (row 63). in order to start the erase, an erase confirm command is given which puts the partition into an erase (busy) state (row 74). before the erase has completed, information needs to be read from a different block within the same partition. to do this, an erase suspend (b0h) command is issued. this is the only command that this partition will accept; all other commands will be ignored. the partition then goes into an erase suspend read status state (row 77). the status register can be read to determine when the erase has been successfully suspended. at this point a read array command can be given which puts the partition into erase suspend read array mode (row 81). array data can now be read. the partition will stay in this mode, and the erase will stay suspended until an erase resume command (d0h) is issued which returns the partition back to an erase (busy) state. when the erase has completed, the partition will go into the erase (done) state (row 72), and the partition is ready to accept another command. 7.2.2.3 read while erase/program this example will describe reading from the bottom partition while the top partition is in erase mode. the top and bottom partitions are both initially in read array mode (row 3). the top partition is issued an erase setup (20h) command putting the partition into an erase setup state (row 63). an erase confirm command is then given, putting the top partition into an erase (busy) state. information from the bottom partition then needs to be read. the state table is now used to show the state of the bottom partition, which has become the current partition. its state is shown in row 2. the partition is already in read array mode, so the read array command does not have to be issued. if, however, the device is in a different read mode, such as read status mode, then a read array command will have to be issued. the block in the top partition continues to be erased throughout the read cycle. when the erase has completed, the current state of the top partition is shown by row 71, and the partition is ready to accept a new command. 7.2.2.4 read while program-suspend during erase-suspend this example will outline reading from the bottom partition while the top partition is in erase suspend mode and the bottom partition is in program mode. both top and bottom partitions are initially in read array mode. an erase setup command is issued to the top partition, putting it into erase setup, row 63. an erase confirm command is then issued to the top partition which starts erasing the block (row 74). at this point data needs to be programmed into the bottom partition. the erase in the top partition is suspended by issuing the erase suspend command. the state table is now used to show the state of the bottom partition. its current state is shown in row 4; it is in read array mode while the other partition is in erase suspend mode. a program setup command is issued to the bottom partition. the next command to the partition programs the device, and puts the partition into the program (busy) state, row 45. at this point, data from the bottom partition needs to be read. its program cycle is suspended with a program suspend command. its current state is shown in row 53. issuing a read array command to the bottom partition will put it into the 28F320D18 product preview 43 program suspend read array state, row 56. array data can now be read. when array data has been read, the program can be resumed by writing the program resume command. the partition goes back to program mode, then completes programming the device. the bottom partition is then idle, and the top partition is still in erase suspend mode. the state table now shows the current state of the top partition in row 77. an erase resume command resumes the erase. when the erase has completed, both partitions are idle, and can accept new commands. 7.2.3 addresses during writes to flash in previous intel flash products such as the fast boot block and intel ? strataflash? memory families, the address while writing a command was a dont care. in 1.8 volt dual-plane flash memory this address should be the address location to which the command is referring (see table 5 on page 15 ). for example, the first address in a block erase command should be an address within that block; the first address in a program command should be the address of the word to be programmed. 7.3 system design considerations 7.3.1 cpu compatibility 1.8 volt dual-plane flash memory supports two high-performance read modes: ? asynchronous page mode ? synchronous burst mode these two read modes allow the processor, if capable, to achieve much higher bandwidth than was previously possible using single read accesses. the asynchronous page mode is ideal for non- clocked memory systems and is compatible with standard page-mode rom. if the memory subsystem has access to an external processor referenced clock, the synchronous burst mode can be used for increased read performance, provided the clock frequency is below 40 mhz. if the system cpu or asic does not support burst or page-mode reads, single synchronous and asynchronous reads are possible. whether the flash component is in synchronous or asynchronous mode depends on the setting in the configuration register. setting bit 15 to 0 enables synchronous burst reads, and setting the bit to 1 enables asynchronous reads. upon reset, the device defaults to asynchronous page mode, and is put into read array mode. this corresponds to the state of most processors upon startup. it is important to reset the flash memory device when the processor is reset. this is because when the processor returns from reset it will request memory from the flash array. if the flash has not been reset, it is possible for it to be in read status or read id mode, which would then return unwanted data to the processor. 7.3.2 flash integrated features the key to enabling compatibility between 1.8 volt dual-plane flash memory and todays burst- capable microprocessors are 1.8 volt dual-plane flash memorys integrated features. these features, listed and explained below, help simplify and eliminate excess system interface logic. ? address latch 28F320D18 44 product preview ? read configuration register ? status register ? wait# output 7.3.2.1 address latch the address latch latches the address during read and write cycles. the internal address latch is controlled by adv#. when adv# is low, the latch is open. the latch closes when adv# is driven high or upon the first rising (or falling) edge of clk when adv# is low. this stores the current address on the bus into the flash memory device and lets the address bus change without affecting the flash. this pin works the same in write operations; the address to be written to gets latched on the rising adv# edge. since writes are asynchronous, clk is ignored and the address is not latched on the clock edge. during asynchronous reads the address latch does not need to be used, but addresses must then stay stable during the entire read operation. if adv# is not used, addresses are latched on the rising edge of ce# during reads, and on the rising edge of ce# or we# during writes, whichever goes high first. 7.3.2.2 read configuration register the read configuration register is a 16-bit register which sets the devices read configuration, burst order, frequency configuration and burst length. this register is stored in volatile memory within the memory device, and is initialized upon return from reset. with the read configuration register, features of the flash memory device can be easily changed. previous flash memory devices such as advanced boot block and intel strataflash memory families did not contain this register; rather features in these devices were set in hardware and were unchangeable. being able to change these features allows a single flash memory component to have several different hardware features, configurable by the user. this allows this flash chip to work with a wide array of processors, regardless of their hardware requirements. 7.3.2.3 status register 1.8 volt dual-plane flash memory contains two status registers, one for each partition. each one is an eight-bit register which contains the current information about the write state machine, the logic which controls programming and erasing the devices memory blocks. this register will report if a program or erase command had completed successfully, and if not, a reason for the error. also this register will report when a program or erase has been suspended, so that the processor can then issue a program, erase, or read command. this register cannot be written to, only cleared, by issuing the clear status register command, or by resetting the device. 7.3.2.4 wait# output 1.8 volt dual-plane flash memory supports four-word, eight-word, and continuous burst lengths. in continuous burst length, or in 4- or 8-word burst accesses with rcr.3 = 1, an output ball, wait# is provided to simplify cpu to memory communication. the wait# informs the system when data is valid. at a logic 1, there is valid data on the bus, at a logic 0, the data on the bus is invalid. figure 15, wait# pin connection using multiple flash memory components on page 45 , shows how the wait# signal can be ord for interface to a cpu, to use multiple flash components. 28F320D18 product preview 45 7.3.3 using asynchronous page mode upon power-up or return from reset, the device defaults to asynchronous page mode, with a page size of four words. this read mode is only supported from the main blocks, and is not supported from other locations within the device, such as the parameter blocks, the device identification codes, query information, and status register. in asynchronous page mode, clk is ignored and adv# must be held low throughout the page access. with adv# low, the internal address latch is open, allowing new page accesses. the initial valid address will store four words of data in the internal page buffer. each word is then output onto the data lines by toggling address lines a 1-0 . if an application only uses the asynchronous page mode capability, clk and adv# can be tied to v ss , as shown in figure 20, different clock options on page 48 . this shows an ideal, glueless interface. if the processor does not provide any or all of these signals, some glue logic may be required. more information on signal generation is covered later in this section. grounding clk and adv# will minimize the power consumed by these two pins and will simplify the interface, making it compatible with standard flash memory and industry standard page mode roms. with the adv# signal tied low, the addresses cannot be latched into the device. this means that addresses must stay valid throughout the entire read or write cycle, until ce# or either we# or oe# go high. figure 17, asynchronous page mode read waveform on page 46 , shows an asynchronous read timing diagram with adv# held low. note that address lines a 1-0 are toggled to clock out the data. figure 15. wait# pin connection using multiple flash memory components burst cpu or system wait-state logic 1.8 volt dual-plane flash memory wait# 1.8 volt dual-plane flash memory wait# ready# wire or'd wait# data dq 15-0 dq 15-0 x16 28F320D18 46 product preview 7.3.4 using synchronous burst mode synchronous burst mode provides a performance increase over asynchronous page-mode reads. it supports effective zero wait-state performance up to 40 mhz. this read mode is only supported from main blocks, and is not supported from other locations within the device, such as parameter blocks, the device identification mode, query information, and status register. however, read operations from these locations while in synchronous burst mode transpire as single synchronous figure 16. asynchronous page mode block diagram burst cpu 1.8 volt dual-plane flash memory address ce# oe# we# data adv# clk reset a 20-0 dq 15-0 ce# oe# we# rst# figure 17. asynchronous page mode read waveform a 20-2 a 1-0 ce# oe# we# dq 15-0 v ih valid address valid address valid output valid output valid output valid output valid address valid address valid address v il v ih v il v ih v il v ih v il v ih v il v oh v ol adv# v ih v il 28F320D18 product preview 47 reads. burst reads are limited to within a partition, it is not possible to do a burst read across the partition boundary. a block diagram showing signal connections is shown in figure 18 . this is an ideal interface, and some glue logic may be required if the processor does not provide any or all of these signals. figure 19 shows a synchronous burst mode read timing diagram. note that only one address is needed from the processor to generate four valid data outputs. figure 18. synchronous burst read interface block diagram figure 19. synchronous burst mode read waveform burst cpu 1.8 volt dual-plane flash memory address ce# oe# we# data adv# clk reset ce# oe# we# a 20-0 dq 15-0 rst# clk a 20-0 v ih v il v ih v il valid address note 1 adv# ce# oe# we# dq 15-0 v ih v il v ih v il v ih v il v ih v il v oh v ol valid output valid output valid output valid output adv# transition informs the device to latch a new address and start a new burst cycle data held valid for one clock cycle note: 1. clock cycles are insterted based on the frequency configuration code: frequency configuration 2: insert two clock cycles. frequency configuration 3: insert three clock cycles. frequency configuration 4: insert four clock cycles. 28F320D18 48 product preview different interface considerations need to be made when booting from 1.8 volt dual-plane flash memory depending on whether or not the processor supports burst read operations at boot-up. ? case 1, the processor does not support burst read mode at boot-up, but rather boots up in asynchronous page mode. this is the initial state of the flash memory, so no special design considerations need to be made. after booting up, the processor can, if possible, configure the flash memory for synchronous burst mode. ? case 2, the processor does support burst mode at boot-up. after return from reset, the flash memory defaults to asynchronous read mode, which is inherently slower than synchronous burst mode. external interface logic will be needed to inform the processor of this, and to insert wait states to match the flash memorys timing with the processors timing. this logic is only necessary until the processor has a chance to switch the memory device to synchronous burst mode, at which time the external logic must be notified of this change. this can be accomplished via a write-able register within the system wait-state logic or via a general purpose i/o (gpio) pin. the gpio pin may operate as an input into the system logic. 7.3.5 signal generation other than address and data pins, 1.8 volt dual-plane flash memory has several control pins as well. this section will cover these pins and how to generate these signals. ? adv# can be derived from the processors transaction start signal. if the processor does not have this type of signal, other standard cpu control signals can be used to control adv#. the key characteristic of this signal is that it must toggle to inform the device to latch a new address. if this signal is not used, in asynchronous page mode only, then ce# must toggle to inform the flash memory of a new address. ? clk can be derived from the processors memory clock output. if the processor does not supply this control signal to the memory subsystem, the signal can be received from the clock signal generator through a clock buffer. this buffer minimizes clock load and skew. the clock signal must have a period of at least 25 ns. figure 20 illustrates different clock options. figure 20. different clock options cpu clock clock buffer mclk inclk clk option 1 cpu provides a system clk output clk option 2 cpu does not provide a system clk output 28F320D18 product preview 49 ? wp#: on the fast boot block and other intel flash memory families, this pin was the only way of locking and unlocking lockable blocks. on 1.8 volt dual-plane flash memory, locking and unlocking lockable blocks is possible through both hardware and software. initially, upon reset, all blocks are locked and cannot be programmed or erased regardless of the value of wp#. in order to write to or erase a block, it must first be unlocked. this is done through software. an unlocked block can be programmed or erased regardless of the value of wp#. only when a block is marked lock-down does the wp# pin have an effect on memory. in order to program/erase a locked-down block, the wp# pin must be high, and the block must then be unlocked. the block may then be programmed or erased as long as wp# is high. when wp# goes low, the block reverts to lock-down and can no longer be programmed or erased. the only way to get the block out of lock-down mode is to reset the device. if wp# is not used, it should be tied high. this will insure that blocks can be locked and unlocked through software, even after setting the lock-down bit. with wp# tied low, blocks can still be locked and unlocked through software, but if a block is locked down, it will remain in a lock-down state, and cannot be programmed or erased until the flash memory is reset. ? we# / oe#: processors that have separate pins to signal reads and writes can, in most cases, connect directly to these pins on the flash memory component. processors that have a single pin which determines a read or a write can use this signal directly as either we# or oe#, depending on what the low value means on that pin. the other input signal will then need to be generated via external logic to ensure that it goes low and high at the right times. ? rst# on the flash can be connected to the reset signal to the processor provided that the time from deserting reset to the processors first memory request is longer than the time required of the flash. the maximum delay from deasserting reset to valid data for 1.8 volt dual-plane flash memory is 150 ns. if the processor takes less time than that and requires memory before the flash component is ready, the data will be invalid. if the processor takes longer than the flash to reset, there is no problem. if this pin is kept low on power-up it will prevent possible spurious writes. if v pp ramps up before v cc or v cc drops before v pp , random noise on the data pins can possibly enter a program command (40h) with ce# and we# low and oe# high. with rst# low it will prevent this spurious write. ? most processors will expect data during read cycles much sooner than the flash memory component can provide it. for this reason the processor needs to be able to pause and wait for the flash memory. this can be done by programming the processor to generate a set number of wait states, if possible. if the processor is unable to internally generate wait-states, an input pin to the processor tells it when to pause and wait for valid data from the flash memory. this pin can then also be used as an input from the flash memorys wait# signal during continuous reads or during 4- or 8-word reads in non-wrap mode (rcr.3 = 1) 7.3.6 using wait# in burst mode the 1.8 volt dual-plane flash memory supports 4-word, 8-word, and continuous burst lengths. in continuous burst length, or in 4-word or 8-word burst lengths with no-wrap (rcr.3 = 1), an output pin, wait#, is provided to simplify cpu to memory communication. the wait# informs the system to when data is valid. ? wait# = logic '1' means valid data ? wait# = logic '0' means invalid data when operating in the continuous burst mode, or during 4 or 8-word reads in non-wrap mode (rcr.3 = 1), the flash memory may incur an output delay when the burst sequence crosses the first 16-word boundary. the starting address dictates whether or not a delay will occur. if the starting address is aligned to a four-word boundary, the delay will not be seen. if the starting address is the end of a four-word boundary, the output delay will be equal to the frequency configuration setting; 28F320D18 50 product preview this is the worst case delay. the delay will only take place once during a continuous burst access, and if the burst sequence never crosses a 16-word boundary, the delay will never happen. when the output delay is encountered, the wait# pin will be asserted. this signal should be fed into the systems wait-state control logic or directly to the cpu. the wait# output pin is gated by oe# and ce#. if either oe# or ce# go inactive, the wait# output buffer turns off. an internal pull-up resistor holds wait# at a logic '1' state. the resistor value is approximately 1 m w . this output configuration allows multiple banks of flash enable wire oring, as shown in figure 15, wait# pin connection using multiple flash memory components on page 45 . wait# can also be configured for a couple different characteristics to help simplify system usage. it can be configured for assertion during the delay or one data cycle before the delay. 7.3.7 write operations write operations are used to switch the memory device between modes, to initiate a program or erase, to lock or unlock blocks, and to write memory to the device to be stored. commands that switch modes of the device or suspend/resume a program or erase take one write cycle. commands which initiate a program or erase or lock/unlock blocks take two write cycles. a program command is required before each data word to be programmed into the flash device, even if multiple data words are programmed back to back. write operations transpire as asynchronous operations, similar to other intel flash memory families, such as advanced or advanced+ boot block and fast boot block memory. the flash memory latches the address during writes the same way as during reads. the data, as in all intel flash memory components, is latched on the rising edge of ce# or we#, whichever goes high first. for a write cycle, we# and ce# are interchangeable. after completing a program or erase or program/erase suspend command, the flash device automatically goes into read status mode. any reads to the flash at this point will return status register data. this data is not updated to the output pins continually, rather ce# and/or oe# need to be toggled for updated status register data. after a set read configuration register command, the flash device goes into read array mode. 7.4 design tools and software 7.4.1 design tools several tools are available which will simplify designing in 1.8 volt dual-plane flash memory components into a system. they include vhdl and verilog bus functional models, timing designer* files, and ibis files. some of these tools can be found on intels website, otherwise they can be obtained by contacting an intel field representative. visit http://developer.intel.com/design/ flash/swtools/ for more details. 7.4.2 flash data integrator (fdi) intel ? flash data integrator software is a code plus data storage manager for use in real-time embedded applications. this software enables code execution and data storage in a single flash device. it handles parameter, data-stream, and packet storage, as well as sophisticated file-system features like wear-leveling, power-loss recovery and block reclaims. by consolidating code and data storage in a single flash device, fdi reduces component count, allowing decreases in board 28F320D18 product preview 51 size, power consumption and cost. fdi is designed to fully support the special features of 1.8 volt dual-plane flash memory. more information on flash data integrator (fdi) software is available on intels website at: http://developer.intel.com/design/flcomp/. 8.0 electrical specifications 8.1 absolute maximum ratings notes: 1. all specified voltages are with respect to v ss . minimum dc voltage is C0.5 v on input/output pins and C0.2 v on v cc and v pp pins. during transitions, this level may undershoot to C2.0 v for periods <20 ns. maximum dc voltage on input/output pins and v cc is v cc +0.5 v which, during transitions, may overshoot to v cc +2.0 v for periods <20 ns. 2. maximum dc voltage on v pp may overshoot to +14.0 v for periods <20 ns. 3. output shorted for no more than one second. no more than one output shorted at a time. 4. v pp program voltage is normally 1.65 vC1.95 v. connection to a 11.4 vC12.6 v supply can be done for a maximum of 1000 cycles on the main blocks and 2500 cycles on the parameter blocks during program/erase. v pp may be connected to 12 v for a total of 80 hours maximum. warning: stressing the device beyond the absolute maximum ratings may cause permanent damage. these are stress ratings only. operation beyond the operating conditions is not recommended and extended exposure beyond the operating conditions may affect device reliability. parameter maximum rating temperature under bias C40c to +85c storage temperature C65c to +125c voltage on any pin (except v pp ) C0.5 v to +2.45 v (1) v pp voltage C2.0 v to +14.0 v (1,2,4) v cc and v ccq voltage C0.2v to +2.45v output short circuit current 100 ma (3) notice: this datasheet contains information on products in the design phase of development. do not finalize a design with this information. revised information will be published when the product becomes available. verify with your local intel sales office that you have the latest datasheet before finalizing a design . 28F320D18 52 product preview 8.2 extended temperature operation notes: 1. see dc characteristics tables for voltage range-specific specifications. 2. applying v pp =11.4 vC 12.6 v during a program or erase can be done for a maximum of 1000 cycles on the main blocks and 2500 cycles on the parameter blocks. a permanent connection to v pp = 11.4 vC 12.6 v is not allowed and can cause damage to the device. 8.3 capacitance t a = +25c, f = 1 mhz note: 1. sampled, not 100% tested. symbol parameter notes min nominal max unit t a operating temperature -40 +25 +85 c v cc v cc supply voltage 1 1.65 1.8 1.95 v v ccq i/o supply voltage 1 1.65 1.8 1.95 v v pp1 v pp supply voltage when used as a logic control 1 0.9 1.8 1.95 v v pp2 v pp supply voltage 1, 2 11.4 12 12.6 v main block erase cycling; v pp = 1.8 v 100,000 cycles parameter block erase cycling; v pp = 1.8 v 100,000 cycles cycling main block erase cycling; v pp = 12 v, 80 hrs. 1000 cycles parameter block erase cycling; v pp = 12 v, 80 hrs. 2500 cycles maximum v pp hours at 12 v 80 hours sym parameter (1) typ max unit condition c in input capacitance 6 8 pf v in = 0.0 v c out output capacitance 8 12 pf v out = 0.0 v 28F320D18 product preview 53 8.4 dc characteristics (1) sym parameter (1) note min typ max unit test condition i li input load current 1 a v cc = v cc max, v ccq = v ccq max, v in = v ccq or v ssq i lo output leakage current 2 1 a v cc = v cc max, v ccq = v ccq max, v in = v ccq or v ssq i ccs v cc standby current 13 20 a v cc = v cc max, ce# = rst# =v ccq , wp# = v ccq or v ssq , a 18 = a 19 = v cc 0.2v i ccr average v cc read current page mode 3 12 18 ma 4 word read f = 13 mhz v cc = v cc max synchronous clk = 13 mhz 3, 4 9 13 ma burst length = 4 ce#=v il , oe#=v ih , inputs = v ih or v il 11 17 ma burst length = 8 42 59 ma burst length = continuous synchronous clk = 40 mhz 3, 4 20 29 ma burst length = 4 f = 40 mhz v cc = v cc max 28 40 ma burst length = 8 ce#=v il , oe#=v ih , inputs = v ih or v il 42 59 ma burst length = continuous i ccw + v cc program current 5, 6 30 55 ma v pp = v pp1 , program in progress i ppw 18 35 ma v pp = v pp2 , program in progress i cce+ v cc block erase current 5, 7 30 45 ma v pp = v pp1 , block erase in progress i ppe 16 35 ma v pp = v pp2 , block erase in progress i ccws v cc program suspend current 5, 8 13 20 a ce# = v ih , program suspend in progress i cces v cc erase suspend current 5, 8 13 20 a ce# = v ih , block erase suspend in progress i pps v pp standby current 0.5 1 a v pp v cc i ppr v pp read current 0.5 1 a v pp v cc i ppws v pp program suspend current 5 0.5 1 a v pp = v pp1/2 , program suspended i ppes v pp erase suspend current 5 0.5 1 a v pp = v pp1/2 , erase suspended v il input low voltage -0.4 0.4 v v ih input high voltage v ccq - 0.4 v ccq +0.4 v 28F320D18 54 product preview dc characteristics, continued note: 1. all currents are rms unless noted. typical values at typical v cc , t a = +25c. 2. wait# i lo = 2 a max. 3. automatic power savings (aps) reduces i ccr to approximately standby levels in static operation. 4. the burst wrap bit (rcr.3) determines whether 4- or 8-word burst-accesses wrap within the burst-length boundary or whether they cross word-length boundaries to perform linear accesses. in the no-wrap mode (rcr.3 = 1), the device operates similar to continuous linear burst mode but consumes less power during 4- and 8-word bursts. 5. sampled, not 100% tested. 6. v cc read + program current is the summation of v cc read and v cc program currents. 7. v cc read + program current is the summation of v cc read and v cc block erase currents. 8. i cces is specified with device deselected. if device is read while in erase suspend, current draw is sum of i cces and i ccr . 9. erase and program operations are inhibited when v pp v pplk and not guaranteed outside valid v pp1 and v pp2 ranges. sym parameter (1) note min typ max unit test condition v ol output low voltage 0.1 v v cc = v cc min, v ccq = v ccq min, i ol = 100 a v oh output high voltage v ccq - 0.1 vv cc = v cc min, v ccq = v ccq min, i oh = C100 a v pplk v pp lock-out voltage 9 0.4 v v lko v cc lock voltage 1.0 v 28F320D18 product preview 55 8.5 ac i/o test conditions 0672_21 note: ac test inputs are driven at 1.65 v for a logic "1" and 0.0 v for a logic "0." input timing begins, and output timing ends, at v ccq /2. input rise and fall times (10% to 90%) < 5 ns. worst case speed conditions are when v cc = 1.65 v. 0672_22 note: see table for component values. test configuration component value for worst case speed conditions note: c l includes jig capacitance. figure 21. ac input/output reference waveform v ccq 0v v ccq /2 v ccq /2 t es t p o in ts input output figure 22. transient equivalent testing load circuit device under test v ccq c l r 2 r 1 out test configuration c l (pf) r 1 ( w )r 2 ( w ) 1.8 v standard test 50 16.7k 16.7k 28F320D18 56 product preview 8.6 ac read characteristics notes: 1. see ac input/output reference waveform for timing measurements and maximum allowable input slew rate. 2. tested at worst case processor conditions. 3. sampled, not 100% tested. 4. applies only to subsequent synchronous reads. 5. oe# may be delayed up to t elqvC t glqv after the falling edge of ce# without impact to t elqv . #sym product -110 -120 unit parameter () notes min max min max clock specifications r1 t clk clk period 25 25 ns r2 t ch (t cl ) clk high (low) time 7.5 7.5 ns r3 t chcl (t clch ) clk fall (rise) time 5 5 ns synchronous specifications r4 t avch address valid setup to clk 9 9 ns r5 t vlch adv# low setup to clk 9 9 ns r6 t elch ce# low setup to clk 9 9 ns r7 t chqv clk to output delay 20 25 ns r8 t chqx output hold from clk 2 5 5 ns r9 t chax address hold from clk 3 10 10 ns r10 t chtl (t chth ) clk to wait# delay 20 25 ns r24 t ehel ce# high between subsequent synchronous reads 420 20 ns asynchronous specifications r11 t avvh address setup to adv# high 10 10 ns r12 t elvh ce# low to adv# going high 10 10 ns r13 t avqv address to output delay 5 110 120 ns r14 t elqv ce# low to output delay 110 120 ns r15 t vlqv adv# low to output delay 110 120 ns r16 t vlvh adv# pulse width low 10 10 ns r17 t vhvl adv# pulse width high 10 10 ns r18 t vhax address hold from adv# high 9 9 ns r19 t apa page address access time 40 45 ns r20 t glqv oe# low to output delay 45 45 ns r21 t phqv rst# high to output delay 150 150 ns r22 t ehqz t ghqz ce# or oe# high to output in high z, whichever occurs first 32535ns r23 t oh output hold from first occurring address, ce#, or oe# change 30 0 ns 28F320D18 product preview 57 0672_23 0672_24 figure 23. ac waveform for clk input r1 r2 r3 clk [c] figure 24. ac waveform for single asynchronous read operations from parameter blocks, status register, identifier codes r18 a 20-0 [a] r12 r11 r15 r14 r16 r13 r22 adv# [v] ce# [e] r20 r23 dq 15-0 [d/q] rst# [p] r21 oe# [g] we# [w] wait# [t] valid address r17 high z valid output v ih v il v ih v il v ih v il v ih v il v ih v il v oh v ol v oh v ol v ih v il 28F320D18 58 product preview 0672_25 figure 25. ac waveform for asynchronous page-mode read operations from main blocks r18 r11 r15 r16 r13 a 20-2 [a] a 1-0 [a] adv# [v] ce# [e] r14 oe# [g] we# [w] wait# [t] r20 r19 r23 dq 15-0 [d/q] rst# [p] r21 r22 r12 valid address valid address valid address valid address valid address high z r17 v ih v il v ih v il v ih v il v ih v il v ih v il v ih v il v oh v ol v oh v ol v ih v il valid output valid output valid output valid output 28F320D18 product preview 59 0672_26 note: 1. depending upon the frequency configuration code value in the read configuration register, insert clock cycles: frequency configuration 2 insert two clock cycles frequency configuration 3 insert three clock cycles frequency configuration 4 insert four clock cycles 2. see 4.10.2 for further information about the frequency configuration and its effect on the initial read. figure 26. ac waveform for single synchronous read operations from parameter blocks, status register, identifier codes v ih v il clk [c] a 20-0 [a] v ih v il r4 r12 r18 r11 r16 r22 adv# [v] ce# [e] v ih v il v ih v il r6 r5 oe# [g] we# [w] v ih v il v ih v il wait# [t] v oh v ol r20 r7 r23 dq 15-0 [d/q] v oh v ol r9 r13 r15 r14 r8 valid address high z valid output r17 note 1 28F320D18 60 product preview 0672_27 note: 1. depending upon the frequency configuration code value in the read configuration register, insert clock cycles: frequency configuration 2 insert two clock cycles frequency configuration 3 insert three clock cycles frequency configuration 4 insert four clock cycles see 4.10.2 for further information about the frequency configuration and its effect on the initial read. figure 27. ac waveform for synchronous burst read operations, four-word burst length from main blocks valid address a 20-0 [a] r4 r12 r18 r11 r16 r22 adv# [v] ce# [e] r6 r5 oe# [g] we# [w] wait# [t] r20 r7 r8 dq 15-0 [d/q] r9 clk [c] r13 r15 r14 r23 valid output valid output valid output valid output high z note 1 r17 v oh v ol v oh v ol v ih v il v ih v il v ih v il v ih v il v ih v il v ih v il 28F320D18 product preview 61 0672_28 notes: 1. this delay occurs only in certain burst configurations. see 4.10.4 for further information about wait# behavior. 2. wait# configuration allows assertion one clk cycle before or during output. see 4.10.4 for further information. figure 28. ac waveform for continuous burst read showing an output delay with data output configuration set to one clock clk [c] a 20-0 [a] adv# [v] ce# [e] oe# [g] we# [w] wait# [t] dq 15-0 [d/q] r7 r10 r10 r8 v ih v il v ih v il v ih v il v ih v il v ih v il v ih v il v oh v ol v oh v ol note 1 note 2 valid output valid output valid output valid output 28F320D18 62 product preview 8.7 ac write characteristics notes: 1. read timing characteristics during block erase and program operations are the same as during read-only operations. 2. a write operation can be initiated and terminated with either ce# or we#. 3. sampled, not 100% tested. 4. refer to table 5 on page 15 for valid a in and d in for block erase or program. 5. v pp should be held at v pp1/2 until block erase or program success is determined. 6. write pulse width (t wp ) is defined from ce# or we# going low (whichever goes low last) to ce# or we# going high (whichever goes high first). hence, t wp = t wlwh = t eleh = t wleh = t elwh . 7. write pulse width high (t wph ) is defined from ce# or we# going high (whichever goes high first) to ce# or we# going low (whichever goes low last). hence, t wph = t whwl = t ehel = t whel = t ehwl . 8. t whqv after read query, device identifier or protection register command = t avqv + 100 ns. # sym parameter (1,2) notes min max unit w1 t phwl (t phel ) rst# high recovery to we# (ce#) going low 3 150 ns w2 t elwl (t wlel ) ce# (we#) setup to we# (ce#) going low 6 0 ns w3 t wlwh write pulse width 6 70 ns w4 t vlvh adv# pulse width 10 ns w5 t dvwh (t dveh ) data setup to we# (ce#) going high 4 70 ns w6 t avwh (t aveh ) address setup to we# (ce#) going high 4 70 ns w7 t vlwh (t vleh ) adv# setup to we# (ce#) going high 83 ns w8 t avvh address setup to adv# going high 10 ns w9 t wheh (t ehwh ) ce# (we#) hold from we# (ce#) high 0 ns w10 t whdx (t ehdx ) data hold from we# (ce#) high 0 ns w11 t whax (t ehax ) address hold from we# (ce#) high 0 ns w12 t vhax address hold from adv# going high 9 ns w13 t whwl (t whwl ) write pulse width high 7 30 ns w14 t bhwh (t bheh ) wp# setup to we# (ce#) going high 3 200 ns w15 t vvwh (t qveh )v pp setup to we# (ce#) going high 3 200 ns w16 t whgl (t ehgl ) write recovery before read 0 ns w17 t qvbl wp# hold from valid srd 3, 5 0 ns w18 t qvvl v pp hold from valid srd 3, 5 0 ns w19 t whqv we# high to data valid 3, 8 t avqv + 50 ns 28F320D18 product preview 63 0672_29 notes: 1. v cc power-up and standby. 2. write block erase or program setup. 3. write block erase confirm or valid address and data. 4. automated erase or program delay. 5. read status register data. 6. for read operations, oe# and ce# must be driven active, and we# de-asserted. figure 29. ac waveform for write operations w6 w11 w12 w5 w10 w9 w2 w1 w13 w7 w8 w16 a 20-0 [a] adv# [v] ce# [e] oe# [g] we# [w] dq 15-0 [d/q] rst# [p] w15 w18 v pp [v] v pph1/2 v pplk v il wp# [b] w14 w17 v ih v il v ih v il v ih v il v ih v il v ih v il v ih v il v ih v il v ih v il note 1 note 2 note 3 note 4 note 5 r17 notes 5 & 6 w4 w3 w19 data in data in valid srd valid address valid address valid address note 6 28F320D18 64 product preview 8.8 reset operations 0672_30 notes: 1. these specifications are valid for all product versions (packages and speeds). 2. t plph is < 100 ns the device may still reset but this is not guaranteed. 3. if rst# is asserted while a block erase or word program operation is not executing, the reset will complete within 100 ns. 4. sampled, but not 100% tested. figure 30. ac waveform for reset operations (a) reset while device is in read mode rst# [p] p1 r21 rst# [p] p1 p2 rst# [p] p1 p2 r21 (b) reset during program or block erase, p1 p2 (c) reset during program or block erase, p1 3 p2 abort complete abort complete v ih v il v ih v il v ih v il r21 table 12. reset specifications (1) # symbol parameter notes min max unit p1 t plph rst# low to reset during read (if rst# is tied to v cc , this specification is not applicable) 2, 4 100 ns p2 t plrh rst# low to reset during block erase 3, 4 22 s rst# low to reset during program 3, 4 12 s 28F320D18 product preview 65 8.9 block erase and program performance notes: 1. typical values measured at t a = +25 c and nominal voltages. 2. excludes external system-level overhead. 3. sampled, but not 100% tested. # symbol parameter (1) v pp v pp1 (in system) v pp2 (in manufacturing) unit note typ (1) max (2) typ (1) max (2) w0 t bwpb 4-kw parameter block program time 2 0.1 0.3 0.03 0.1 s t bwmb 32-kw main block program time 2 0.8 2.4 0.24 0.80 s t whqv1 / t ehqv1 word program time 2 22 200 8 185 s t whqv2 / t ehqv2 4-kw parameter blockerase time 2 1 4 0.8 4 s t whqv3 / t ehqv3 32-kw main block erase time 2 1.5 5 1.1 5 s t whrh1 / t ehrh1 program suspend latency 5 10 5 10 s t whrh2 / t ehrh2 erase suspend latency 5 20 5 20 s 28F320D18 66 product preview 9.0 ordering information note: 1. the 60-ball (7x8 matrix with 4 support balls) bga package top side mark reads f320d18. all product shipping boxes or trays provide the correct information regarding bus architecture. g t 2 8 f 3 2 0 d 1 8 b 1 1 package gt = extended temp. 60-ball 7x8 matrix bga* csp product line designator for all intel ? flash products access speed (ns) (110,120) product family d18 = 1.8v dual-plane flash memory v cc = 1.65 v - 1.95 v v pp = 0.9 v - 1.95 v or 11.4 v - 12.6 v device density 320 = x16 (32-mbit) t = top parameter blocking b = bottom parameter blocking 0 valid combinations (all extended temperature) 60-ball 7x8 matrix m bga csp (1) gt28F320D18b110 gt28F320D18b120 28F320D18 product preview 67 10.0 additional information (1,2) notes: 1. please call the intel literature center at (800) 548-4725 to request intel documentation. international customers should contact their local intel or distribution sales office. 2. visit intels world wide web home page at http://www.intel.com or http://intel.com/design/flash for technical documentation and tools. order number document/tool 210830 flash memory databook 292215 ap-657 designing with the advanced+ boot block flash memory architecture 292204 ap-646 common flash interface (cfi) and command sets contact your intel representative flash data integrator (fdi) software developers kit 297874 fdi interactive: play with intels flash data integrator on your pc note 2 m bga* package mechanical and shipping media specification 297846 comprehensive users guide for m bga* packages 28F320D18 68 product preview appendix a: common flash interface this appendix defines the data structure or database returned by the common flash interface (cfi) query command. system software should parse this structure to gain critical information such as block size, density, x8/x16, and electrical specifications. once this information has been obtained, the software will know which command sets to use to enable flash writes, block erases, and otherwise control the flash component. the query is part of an overall specification for multiple command set and control interface descriptions called common flash interface, or cfi. a.1 query structure output the query database allows system software to gain information for controlling the flash component. this section describes the devices cfi-compliant interface that allows the host system to access query data. query data are always presented on the lowest-order data outputs (dq 0C7 ) only. the numerical offset value is the address relative to the maximum bus width supported by the device. on this device, the query table device starting address is a 10h, which is a word address for x16 devices. for a word-wide (x16) device, the first two bytes of the query structure, q and r in ascii, appear on the low byte at word addresses 10h and 11h. this cfi-compliant device outputs 00h data on upper bytes. thus, the device outputs ascii q in the low byte (dq 0C7 ) and 00h in the high byte (dq 8C15 ). at query addresses containing two or more bytes of information, the least significant data byte is presented at the lower address, and the most significant data byte is presented at the higher address. in all of the following tables, addresses and data are represented in hexadecimal notation, so the h suffix has been dropped. in addition, since the upper byte of word-wide devices is always 00h, the leading 00 has been dropped from the table notation and only the lower byte value is shown. any x16 device outputs can be assumed to have 00h on the upper byte in this mode. table 13. summary of query structure output as a function of device and mode device hex offset hex code ascii value 10: 51 q device addresses 11: 52 r 12: 59 y 28F320D18 product preview 69 a.2 query structure overview the query command causes the flash component to display the common flash interface (cfi) query structure or database. the structure sub-sections and address locations are summarized below. notes: 1. refer to the query structure output section and offset 28h for the detailed definition of offset address as a function of device bus width and mode. 2. ba = block address beginning location (i.e., 08000h is block 1s beginning location when the block size is 32 kword). 3. offset 15 defines p which points to the primary intel-specific extended query table. table 14. example of query structure output word addressing byte addressing offset hex code value offset hex code value a max Ca 0 d 15 Cd 0 a 7 Ca 0 d 7 Cd 0 0010h 0051 q 10h 51 q 0011h 0052 r 11h 52 r 0012h 0059 y 12h 59 y 0013h p_id lo prvendor 13h p_id lo prvendor 0014h p_id hi id # 14h p_id lo id # 0015h p lo prvendor 15h p_id hi id # 0016h p hi tbladr 16h ... ... 0017h a_id lo altvendor 17h 0018h a_id hi id # 18h ... ... ... ... table 15. query structure (1) offset sub-section name description 00h manufacturer code 01h device code (ba+2)h (2) block status register block-specific information 04-0fh reserved reserved for vendor-specific information 10h cfi query identification string command set id and vendor data offset 1bh system interface information device timing and voltage information 27h device geometry definition flash device layout 28F320D18 70 product preview a.3 block lock status the block status register indicates whether an erase operation completed successfully or whether a given block is locked or can be accessed for flash program/erase operations. block erase status (bsr.1) allows system software to determine the success of the last block erase operation. bsr.1 can be used just after power-up to verify that the v cc supply was not accidentally removed during an erase operation. this bit is only reset by issuing another erase operation to the block. the block status register is accessed from word address 02h within each block. note: 1. ba = the beginning location of a block address (i.e., 008000h is block 1s (64-kb block) beginning location in word mode). a.4 cfi query identification string the cfi query identification string provides verification that the component supports the common flash interface specification. it also indicates the specification version and supported vendor-specified command set(s) . table 16. block lock status register offset length description address value (ba+2)h (1) 1 block lock status register ba+2: --00 or --01 bsr.0 block lock status 0 = unlocked 1 = locked ba+2: (bit 0): 0 or 1 bsr.1 block lock-down status 0 = not locked down 1 = locked down ba+2: (bit 1): 0 or 1 bsr 2C7: reserved for future use ba+2: (bit 2C7): 0 table 17. cfi identification offset length description address hex code value 10h 3 query-unique ascii string qry 10: --51 q 11: --52 r 12: --59 y 13h 2 primary vendor command set and control interface id code 13: --03 16-bit id code for vendor-specified algorithms 14: --00 15h 2 extended query table primary algorithm address 15: --39 16: --00 17h 2 alternate vendor command set and control interface id code 17: --00 0000h means no second vendor-specified algorithm exists 18: --00 19h 2 secondary algorithm extended query table address 19: --00 0000h means none exists 1a: --00 28F320D18 product preview 71 a.5 system interface information . a.6 device geometry information this field provides critical details of the flash device geometry. table 18. system interface information offset length description address hex code value 1bh 1 v cc logic supply minimum program/erase voltage bits 0C3 bcd 100 mv bits 4C7 bcd volts 1b: --17 1.7 v 1ch 1 v cc logic supply maximum program/erase voltage bits 0C3 bcd 100 mv bits 4C7 bcd volts 1c: --19 1.9 v 1dh 1 v pp [programming] supply minimum program/erase voltage bits 0C3 bcd 100 mv bits 4C7 hex volts 1d: --b4 11.4 v 1eh 1 v pp [programming] supply maximum program/erase voltage bits 0C3 bcd 100 mv bits 4C7 hex volts 1e: --c6 12.6 v 1fh 1 n such that typical single word program time-out = 2 n s 1f: --05 32 s 20h 1 n such that typical max. buffer write time-out = 2 n s 20: --00 n/a 21h 1 n such that typical block erase time-out = 2 n ms 21: --0a 1 s 22h 1 n such that typical full chip erase time-out = 2 n ms 22: --00 n/a 23h 1 n such that maximum word program time-out = 2 n times typical 23: --04 512 s 24h 1 n such that maximum buffer write time-out = 2 n times typical 24: --00 n/a 25h 1 n such that maximum block erase time-out = 2 n times typical 25: --03 8 s 26h 1 n such that maximum chip erase time-out = 2 n times typical 26: --00 n/a table 19. device geometry information offset length description code 27h 1 n such that device size = 2 n in number of bytes 27: see device geometry definition table 28h 2 flash device interface: x8 async x16 async x8/x16 async 28: --01 x16 28:00,29:00 28:01,29:00 28:02,29:00 29: --00 2ah 2 n such that maximum number of bytes in write buffer = 2 n 2a: --00 0 2b: --00 2ch 1 number of erase block regions within device: 1. x = 0 means no erase blocking; the device erases in bulk 2. x specifies the number of device or partition regions with one or more contiguous same-size erase blocks. 3. symmetrically blocked partitions have one blocking region 4. partition size = (total blocks) x (individual block size) 2c: --03 3 28F320D18 72 product preview 2dh 4 erase block region 1 information 2d: see device geometry definition table bits 0C15 = y, y+1 = number of identical-size erase blocks 2e: bits 16C31 = z, region erase block(s) size are z x 256 bytes 2f: 30: 31h 4 erase block region 2 information 31: see device geometry definition table bits 0C15 = y, y+1 = number of identical-size erase blocks 32: bits 16C31 = z, region erase block(s) size are z x 256 bytes 33: 34: 35h 4 erase block region 3 information 35: see device geometry definition table bits 0C15 = y, y+1 = number of identical-size erase blocks 36: bits 16C31 = z, region erase block(s) size are z x 256 bytes 37: 38: device geometry definition address 32 mbit 64 mbit (info only) Cb Ct Cb Ct 27: --16 --16 --17 --17 28: --01 --01 --01 --01 29: --00 --00 --00 --00 2a: --00 --00 --00 --00 2b: --00 --00 --00 --00 2c: --03 --03 --03 --03 2d: --07 --2f --07 --5f 2e: --00 --00 --00 --00 2f: --20 --00 --20 --00 30: --00 --01 --00 --01 31: --0e --0e --1e --1e 32: --00 --00 --00 --00 33: --00 --00 --00 --00 34: --01 --01 --01 --01 35: --2f --07 --5f --07 36: --00 --00 --00 --00 37: --00 --20 --00 --20 38: --01 --00 --01 --00 table 19. device geometry information offset length description code 28F320D18 product preview 73 a.6 intel-specific extended query table . . table 20. primary-vendor specific extended query offset (1) p = 39h length description (optional flash features and commands) address hex code value (p+0)h 3 primary extended query table 39: --50 p (p+1)h unique ascii string pri 3a: --52 r (p+2)h 3b: --49 i (p+3)h 1 major version number, ascii 3c: --31 1 (p+4)h 1 minor version number, ascii 3d: --33 3 (p+5)h 4 optional feature and command support (1=yes, 0=no) 3e: --e6 (p+6)h bits 10C31 are reserved; undefined bits are 0. if bit 31 is 1 3f: --03 (p+7)h then another 31 bit field of optional features follows at the end of 40: --00 (p+8)h the bitC30 field. 41: --00 bit 0 chip erase supported bit 0 = 0 no bit 1 suspend erase supported bit 1 = 1 yes bit 2 suspend program supported bit 2 = 1 yes bit 3 legacy lock/unlock supported bit 3 = 0 no bit 4 queued erase supported bit 4 = 0 no bit 5 instant individual block locking supported bit 5 = 1 yes bit 6 protection bits supported bit 6 = 1 yes bit 7 page-mode read supported bit 7 = 1 yes bit 8 synchronous read supported bit 8 = 1 yes bit 9 simultaneous operations supported bit 9 = 1 yes (p+9)h 1 supported functions after suspend: read array, status, query other supported operations are: bits 1C7 reserved; undefined bits are 0 42: --01 bit 0 program supported after erase suspend bit 0 = 1 yes (p+a)h 2 block status register mask 43: --03 (p+b)h bits 2C15 are reserved ; undefined bits are 0 44: --00 bit 0 block lock-bit status register active bit 0 = 1 yes bit 1 block lock-down bit status active bit 1 = 1 yes (p+c)h 1 v cc logic supply highest performance program/erase voltage bits 0C3 bcd value in 100 mv bits 4C7 bcd value in volts 45: --18 1.8 v (p+d)h 1 v pp optimum program/erase supply voltage bits 0C3 bcd value in 100 mv bits 4C7 hex value in volts 46: --c0 12.0 v 28F320D18 74 product preview table 21. protection register information offset (1) p = 39h length description (optional flash features and commands) address hex code value (p+e)h 1 number of protection register fields in jedec id space 00h, indicates that 256 protection bytes are available 47: --01 01 (p+f)h 4 protection field 1: protection description 48: --80 80h (p+10)h this field describes user-available one time programmable (otp) protection register bytes. some are 49: --00 00h (p+11)h pre-programmed with device-unique serial numbers. others are user programmable. bits 0C15 point to the protection register 4a: --03 8 byte (p+12)h lock byte, the sections first byte. the following bytes are factory pre-programmed and user-programmable. bits 0C7 = lock/bytes jedec-plane physical low address bits 8C15 = lock/bytes jedec-plane physical high address bits 16C23 = n such that 2 n = factory pre-programmed bytes bits 24C31 = n such that 2 n = user programmable bytes 4b: --03 8 byte table 22. burst read information offset (1) p = 39h length description (optional flash features and commands) address hex code value (p+13)h 1 page-mode read capability bits 0C7 = n such that 2 n hex value represents the number of read-page bytes. see offset 28h for device word width to determine page-mode data output width. 00h indicates no read page buffer. 4c: --03 8 byte (p+14)h 1 number of synchronous mode read configuration fields that follow. 00h indicates no burst capability. 4d: --03 3 (p+15)h 1 synchronous mode read capability configuration 1 bits 3C7 = reserved bits 0C2 n such that 2 n+1 hex value represents the maximum number of continuous synchronous reads when the device is configured for its maximum word width. a value of 07h indicates that the device is capable of continuous linear bursts that will output data until the internal burst counter reaches the end of the devices burstable address space. this fields 3-bit value can be written directly to the read configuration register bits 0C2 if the device is configured for its maximum word width. see offset 28h for word width to determine the burst data output width. 4e: --01 4 (p+16)h 1 synchronous mode read capability configuration 2 4f: --02 8 (p+17)h 1 synchronous mode read capability configuration 3 50: --07 cont 28F320D18 product preview 75 table 23. partition and erase-block region information bottom offset (1) p = 39h top offset (1) p = 39h description (optional flash features and commands) see table 24 length address bottom top (p+18)h (p+18)h number of device hardware-partition regions within the device x = 0: a single hardware partition device (no fields follow) x specifies the number of device partition regions containing one or more contiguous erase block regions. 1 51: 51: partition region 1 information bottom offset (1) p = 39h top offset (1) p = 39h description (optional flash features and commands) see table 24 length address bottom top (p+19)h (p+19)h number of identical partitions within the partition region 2 52: 52: (p+1a)h (p+1a)h 53: 53: (p+1b)h (p+1b)h simultaneous program and erase operations allowed in other partitions while this partition is in read mode bits 0C3 = number of simultaneous program operations bits 4C7 = number of simultaneous erase operations 1 54: 54: (p+1c)h (p+1c)h simultaneous program and erase operations allowed in other partitions while this partition is in program mode bits 0C3 = number of simultaneous program operations bits 4C7 = number of simultaneous erase operations 1 55: 55: (p+1d)h (p+1d)h simultaneous program and erase operations allowed in other partitions while this partition is in erase mode bits 0C3 = number of simultaneous program operations bits 4C7 = number of simultaneous erase operations 1 56: 56: (p+1e)h (p+1e)h partitions' erase block regions in this partition region. 1. x = 0 = no erase blocking; the partition region erases in bulk 2. x specifies the number of erase block regions containing one or more contiguous same-size erase blocks. 3. symmetrically blocked partitions have one blocking region 4. partition size = (total blocks) x (individual block size) 1 57: 57: (p+1f)h (p+1f)h partition region 1 erase block region 1 information 4 58: 58: (p+20)h (p+20)h bits 0C15 = y, y+1 = number of identical-size erase blocks 59: 59: (p+21)h (p+21)h bits 16C31 = z, region erase block(s) size are z x 256 bytes 5a: 5a: (p+22)h (p+22)h 5b: 5b: (p+23)h (p+23)h partition 1 (erase region 1) 2 5c: 5c: (p+24)h (p+24)h minimum block erase cycles x 1000 5d: 5d: (p+25)h (p+25)h partition 1 (erase region 1) bits per cell; internal error correction bits 0C3 = bits per cell in erase region bit 4 = reserved for internal ecc used (1=yes, 0=no) bits 5C7 = reserved for future use 1 5e: 5e: (p+26)h (p+26)h partition 1 (erase region 1) page mode and synchronous mode capabilities as defined in table 19 . bit 0 = page mode host reads permitted (1=yes, 0=no) bit 1 = synchronous host reads permitted (1=yes, 0=no) bit 2 = synchronous host writes permitted (1=yes, 0=no) bits 3C7 = reserved for future use 15f:5f: (p+27)h partition region 1 erase block region 2 information 4 60: (p+28)h bits 0C15 = y, y+1 = number of identical-size erase blocks 61: (p+29)h bits 16C31 = z, region erase block(s) size are z x 256 bytes 62: (bottom parameter device only) (p+2a)h 63: 28F320D18 76 product preview (p+2b)h partition 1 (erase region 2) minimum block erase cycles x 1000 (bottom parameter device only) 2 64: (p+2c)h 65: (p+2d)h partition 1 (erase region 2) bits per cell bottom parameter device only) bits 0C3 = bits per cell in erase region bit 4 = reserved for internal ecc used (1=yes, 0=no) bits 5C7 = reserved for future use 1 66: (p+2e)h partition 1 (erase region 2) page mode and synchronous mode capabilities defined in table 19 (bottom parameter device only) bit 0 = page mode host reads permitted (1=yes, 0=no) bit 1 = synchronous host reads permitted (1=yes, 0=no) bit 2 = synchronous host writes permitted (1=yes, 0=no) bits 3C7 = reserved for future use 1 67: partition region 1 information bottom offset (1) p = 39h top offset (1) p = 39h description (optional flash features and commands) see table 24 length address bottom top partition region 2 information bottom offset (1) p = 39h top offset (1) p = 39h description (optional flash features and commands) see table 24 length address bottom top (p+2f)h (p+27)h number of identical partitions within the partition region 2 68: 60: (p+30)h (p+28)h 69: 61: (p+31)h (p+29)h simultaneous program and erase operations allowed in other partitions while this partition is in read mode bits 0C3 = number of simultaneous program operation bits 4C7 = number of simultaneous erase operations 1 6a: 62: (p+32)h (p+2a)h simultaneous program and erase operations allowed in other partitions while this partition is in program mode bits 0C3 = number of simultaneous program operation bits 4C7 = number of simultaneous erase operations 1 6b: 63: (p+33)h (p+2b)h simultaneous program and erase operations allowed in other partitions while this partition is in erase mode bits 0C3 = number of simultaneous program operations bits 4C7 = number of simultaneous erase operations 1 6c: 64: (p+2f)h (p+27)h number of identical partitions within the partition region 2 68: 60: (p+34)h (p+2c)h partitions' erase block regions in this partition region. 1. x = 0 = no erase blocking; the partition region erases in bulk 2. x specifies the number of erase block regions containing one or more contiguous same-size erase blocks 3. symmetrically blocked partitions have one blocking region 4. partition size = (total blocks) x (individual block size) 1 6d: 65: (p+35)h (p+2d)h partition region 2 erase block region 1 information 4 6e: 66: (p+36)h (p+2e)h bits 0C15 = y, y+1 = number of identical-size erase blocks 6f: 67: (p+37)h (p+2f)h bits 16C31 = z, region erase block(s) size are z x 256 bytes 70: 68: (p+38)h (p+30)h 71: 69: (p+39)h (p+31)h partition 2 (erase region 1) minimum block erase cycles x 1000 2 72: 6a: (p+3a)h (p+32)h 73: 6b: 28F320D18 product preview 77 notes: 1. the variable p is a pointer which is defined at cfi offset 15h. 2. for a 1-mb 1.8 volt dual-plane flash memory, z 1 = 0100h = 256 t 256 * 256 = 64k, y 1 = 17h = 23d t y1+1 = 24 t 24 * 64k = 1?mb t partition 2s offset is 0018 0000h bytes (000c 0000h words). (p+3b)h (p+33)h partition 2 (erase region 1) bits per cell bits 0C3 = bits per cell in erase region bit 4 = reserved for internal ecc used (1=yes, 0=no) bits 5C7 = reserved for future use 1 74: 6c: (p+3c)h (p+34)h partition 2 (erase region 1) page mode and synchronous mode capabilities as defined in table 19 . bit 0 = page mode host reads permitted (1=yes, 0=no) bit 1 = synchronous host reads permitted (1=yes, 0=no) bit 2 = synchronous host writes permitted (1=yes, 0=no) bits 3C7 = reserved for future use 1 75: 6d: (p+35)h partition region 2 erase block region 2 information 4 6e: (p+36)h bits 0C15 = y, y+1 = number of identical-size erase blocks 6f: (p+37)h bits 16C31 = z, region erase block(s) size are z x 256 bytes (top parameter device only) 70: (p+38)h 71: (p+39)h partition 2 (erase region 2) minimum block erase cycles x 1000 (top parameter device only) 2 72: (p+3a)h 73: (p+3b)h partition 2 (erase region 2) bits per cell (top parameter only) bits 0C3 = bits per cell in erase region bit 4 = reserved for internal ecc used (1=yes, 0=no) bits 5C7 = reserved for future use 1 74: (p+3c)h partition 2 (erase region 2) page mode and synchronous mode capabilities as defined in table 19 . (top parameter only bit 0 = page mode host reads permitted (1=yes, 0=no) bit 1 = synchronous host reads permitted (1=yes, 0=no) bit 2 = synchronous host writes permitted (1=yes, 0=no) bits 3C7 = reserved for future use 1 75: (p+3d)h (p+3d)h features space definitions ( reserved for future use ) tbd 76: 76: (p+3e)h (p+3e)h reserved for future use rsv'd 77: 77: partition region 2 information bottom offset (1) p = 39h top offset (1) p = 39h description (optional flash features and commands) see table 24 length address bottom top 28F320D18 78 product preview table 24. partition and erase-block region information address 32 mbit 64 mbit (info only) Cb Ct Cb Ct 51: --02 --02 --02 --02 52: --01 --01 --01 --01 53: --00 --00 --00 --00 54: --01 --01 --01 --01 55: --00 --00 --00 --00 56: --00 --00 --00 --00 58: --07 --2f --07 --5f 59: --00 --00 --00 --00 5a: --20 --00 --20 --00 5b: --00 --01 --00 --01 5c: --64 --64 --64 --64 5d: --00 --00 --00 --00 5e: --01 --01 --01 --01 5f: --00 --03 --00 --03 60: --0e --01 --1e --01 61: --00 --00 --00 --00 62: --00 --01 --00 --01 63: --01 --00 --01 --00 64: --64 --00 --64 --00 65: --00 --02 --00 --02 66: --01 --0e --01 --1e 67: --03 --00 --03 --00 68: --01 --00 --01 --00 69: --00 --01 --00 --01 6a: --01 --64 --01 --64 6b: --00 --00 --00 --00 6c: --00 --01 --00 --01 6d: --01 --03 --01 --03 6e: --2f --07 --5f --07 6f: --00 --00 --00 --00 70: --00 --20 --00 --20 71: --01 --00 --01 --00 72: --64 --64 --64 --64 73: --00 --00 --00 --00 74: --01 --01 --01 --01 75: --03 --00 --03 --00 28F320D18 product preview 79 appendix b: protection register addressing note: upper addresses [a20:a8] should be set to zero. word use id offset a7 a6 a5 a4 a3 a2 a1 a0 lock both 0080h 1 0 000000 0 factory 0081h 1 0 000001 1 factory 0082h 1 0 000010 2 factory 0083h 1 0 000011 3 factory 0084h 1 0 000100 4 user 0085h 1 0 000101 5 user 0086h 1 0 000110 6 user 0087h 1 0 000111 7 user 0088h 1 0 001000 |
Price & Availability of 28F320D18 |
|
|
All Rights Reserved © IC-ON-LINE 2003 - 2022 |
[Add Bookmark] [Contact Us] [Link exchange] [Privacy policy] |
Mirror Sites : [www.datasheet.hk]
[www.maxim4u.com] [www.ic-on-line.cn]
[www.ic-on-line.com] [www.ic-on-line.net]
[www.alldatasheet.com.cn]
[www.gdcy.com]
[www.gdcy.net] |