NEW DATABASE - 350 MILLION DATASHEETS FROM 8500 MANUFACTURERS
Am29DL320G Am29DL32x DQ15/A-1 FBD063 FBD048 LAA064 AM29DL320GT70 AM29DL320GB70 - Datasheet Archive
Data Sheet July 2003 The following document specifies Spansion memory products that are now offered by both Advanced Micro
Am29DL320G Am29DL320G Data Sheet July 2003 The following document specifies Spansion memory products that are now offered by both Advanced Micro Devices and Fujitsu. Although the document is marked with the name of the company that originally developed the specification, these products will be offered to customers of both AMD and Fujitsu. Continuity of Specifications There is no change to this datasheet as a result of offering the device as a Spansion product. Any changes that have been made are the result of normal datasheet improvement and are noted in the document revision summary, where supported. Future routine revisions will occur when appropriate, and changes will be noted in a revision summary. Continuity of Ordering Part Numbers AMD and Fujitsu continue to support existing part numbers beginning with "Am" and "MBM". To order these products, please use only the Ordering Part Numbers listed in this document. For More Information Please contact your local AMD or Fujitsu sales office for additional information about Spansion memory solutions. Publication Number 25769 Revision C Amendment 0 Issue Date October 13, 2003 THIS PAGE LEFT INTENTIONALLY BLANK. Am29DL320G Am29DL320G 32 Megabit (4 M x 8-Bit/2 M x 16-Bit) CMOS 3.0 Volt-only, Simultaneous Operation Flash Memory DISTINCTIVE CHARACTERISTICS ARCHITECTURAL ADVANTAGES Minimum 1 million write cycles guaranteed per sector Simultaneous Read/Write operations - Data can be continuously read from one bank while executing erase/program functions in another bank - Zero latency between read and write operations 20 year data retention at 125°C - Reliable operation for the life of the system Flexible BankTM architecture - Read may occur in any of the three banks not being written or erased. - Four banks may be grouped by customer to achieve desired bank divisions. Data Management Software (DMS) - AMD-supplied software manages data programming, enabling EEPROM emulation - Eases historical sector erase flash limitations 256-byte SecSiTM (Secured Silicon) Sector - Factory locked and identifiable: 16 bytes available for secure, random factory Electronic Serial Number; verifiable as factory locked through autoselect function. ExpressFlash option allows entire sector to be available for factory-secured data - Customer lockable: One time programmable. Once locked, data cannot be changed. Erase Suspend/Erase Resume - Suspends erase operations to allow reading from other sectors in the same bank Zero Power Operation - Sophisticated power management circuits reduce power consumed during inactive periods to nearly zero Package options - 63-ball FBGA - 48-ball FBGA - 48-pin TSOP - 64-ball Fortified BGA Top or bottom boot blocks Manufactured on 0.17 µm process technology Compatible with JEDEC standards - Pinout and software compatible with single-power-supply flash standard PERFORMANCE CHARACTERISTICS High performance - Access time as fast 70 ns - Program time: 4 µs/word typical utilizing Accelerate function Ultra low power consumption (typical values) - 2 mA active read current at 1 MHz - 10 mA active read current at 5 MHz - 200 nA in standby or automatic sleep mode SOFTWARE FEATURES Supports Common Flash Memory Interface (CFI) Data# Polling and Toggle Bits - Provides a software method of detecting the status of program or erase cycles Unlock Bypass Program command - Reduces overall programming time when issuing multiple program command sequences HARDWARE FEATURES Any combination of sectors can be erased Ready/Busy# output (RY/BY#) - Hardware method for detecting program or erase cycle completion Hardware reset pin (RESET#) - Hardware method of resetting the internal state machine to the read mode WP#/ACC input pin - Write protect (WP#) function allows protection of two outermost boot sectors, regardless of sector protect status - Acceleration (ACC) function accelerates program timing Sector protection - Hardware method of locking a sector, either in-system or using programming equipment, to prevent any program or erase operation within that sector - Temporary Sector Unprotect allows changing data in protected sectors in-system Publication# 25769 Rev: C Amendment/0 Issue Date: October 13, 2003 Refer to AMD's Website (www.amd.com) for the latest information. GENERAL DESCRIPTION The Am29DL320G Am29DL320G is a 32 megabit, 3.0 volt-only flash memory device, organized as 2,097,152 words of 16 bits each or 4,194,304 bytes of 8 bits each. Word mode data appears on DQ15DQ0; byte mode data appears on DQ7DQ0. The device is designed to be programmed in-system with the standard 3.0 volt VCC supply, and can also be programmed in standard EPROM programmers. The device is available with an access time of 70, 90, or 120 ns. The devices are offered in 48-pin TSOP, 48-ball or 63-ball FBGA packages, and 64-ball Fortified BGA. Standard control pins-chip enable (CE#), write enable (WE#), and output enable (OE#)-control normal read and write operations, and avoid bus contention issues. The device requires only a single 3.0 volt power supply for both read and write functions. Internally generated and regulated voltages are provided for the program and erase operations. Simultaneous Read/Write Operations with Zero Latency The Simultaneous Read/Write architecture provides simultaneous operation by dividing the memory space into four banks, two 4 Mb banks with small and large sectors, and two 12 Mb banks of large sectors. Sector addresses are fixed, system software can be used to form user-defined bank groups. During an Erase/Program operation, any of the three non-busy banks may be read from. Note that only two banks can operate simultaneously. The device allows a host system to program or erase in one bank, then immediately and simultaneously read from the other bank, with zero latency. This releases the system from waiting for the completion of program or erase operations. The Am29DL320G Am29DL320G can be organized as either a top or bottom boot sector configuration. Bank Megabits Bank 1 4 Mb Bank 2 Bank 3 Bank 4 12 Mb 12 Mb 4 Mb Sector Sizes Eight 8 Kbyte/4 Kword, Seven 64 Kbyte/32 Kword Twenty-four 64 Kbyte/32 Kword Twenty-four 64 Kbyte/32 Kword Eight 64 Kbyte/32 Kword Am29DL320G Am29DL320G Features The SecSiTM (Secured Silicon) Sector is an 256 byte extra sector capable of being permanently locked by AMD or customers. The SecSi Indicator Bit (DQ7) is permanently set to a 1 if the part is factory locked, and set to a 0 if customer lockable. This way, customer lockable parts can never be used to replace a factory locked part. Note that some previous AMD 2 32 Mbit Am29DL32x Am29DL32x devices had a larger SecSi Sector. Factory locked parts provide several options. The SecSi Sector may store a secure, random 16 byte ESN (Electronic Serial Number), customer code (programmed through AMD's ExpressFlash service), or both. DMS (Data Management Software) allows systems to remove EEPROM devices. by simplifying system software: DMS performs all functions necessary to modify data in file structures, instead of using single-byte modifications. To write or update a particular piece of data (a phone number or configuration data, for example), the user only needs to state which piece of data is to be updated, and where the updated data is located in the system. This is an advantage compared to systems where user-written software must keep track of the old data location, status, logical to physical translation of the data onto the Flash memory device (or memory devices), and more. Using DMS, user-written software does not need to interface with the Flash memory directly. Instead, the user's software accesses the Flash memory by calling one of only six functions. AMD provides this software to simplify system design and software integration efforts. The device offers complete compatibility with the JEDEC single-power-supply Flash command set standard. Commands are written to the command register using standard microprocessor write timings. Reading data out of the device is similar to reading from other Flash or EPROM devices. The host system can detect whether a program or erase operation is complete by using the device status bits: RY/BY# pin, DQ7 (Data# Polling) and DQ6/DQ2 (toggle bits). After a program or erase cycle has been completed, the device automatically returns to the read mode. The sector erase architecture allows memory sectors to be erased and reprogrammed without affecting the data contents of other sectors. The device is fully erased when shipped from the factory. Hardware data protection measures include a low V CC detector that automatically inhibits write operations during power transitions. The hardware sector protection feature disables both program and erase operations in any combination of the sectors of memory. This can be achieved in-system or via programming equipment. The device offers two power-saving features. When addresses have been stable for a specified amount of time, the device enters the automatic sleep mode. The system can also place the device into the standby mode. Power consumption is greatly reduced in both modes. Am29DL320G Am29DL320G October 13, 2003 TABLE OF CONTENTS Product Selector Guide . . . . . . . . . . . . . . . . . . . . . 4 Block Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Connection Diagrams . . . . . . . . . . . . . . . . . . . . . . . 5 Special Package Handling Instructions . 6 Pin Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 Logic Symbol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 Ordering Information . . . . . . . . . . . . . . . . . . . . . . . 8 Device Bus Operations . . . . . . . . . . . . . . . . . . . . . . 9 Table 1. Device Bus Operations .9 Word/Byte Configuration . 9 Requirements for Reading Array Data .9 Writing Commands/Command Sequences . 10 Accelerated Program Operation .10 Autoselect Functions . 10 Simultaneous Read/Write Operations with Zero Latency .10 Standby Mode . 10 Automatic Sleep Mode .10 RESET#: Hardware Reset Pin .11 Output Disable Mode .11 Unlock Bypass Command Sequence . 25 Figure 4. Program Operation . 26 Chip Erase Command Sequence . 26 Sector Erase Command Sequence . 26 Erase Suspend/Erase Resume Commands . 27 Figure 5. Erase Operation . 27 Table 13. Command Definitions . 28 Write Operation Status . . . . . . . . . . . . . . . . . . . . 29 DQ7: Data# Polling . 29 Figure 6. Data# Polling Algorithm . 29 RY/BY#: Ready/Busy# . 30 DQ6: Toggle Bit I . 30 Figure 7. Toggle Bit Algorithm . 30 DQ2: Toggle Bit II . 31 Reading Toggle Bits DQ6/DQ2 . 31 DQ5: Exceeded Timing Limits . 31 DQ3: Sector Erase Timer . 31 Table 14. Write Operation Status . 32 Absolute Maximum Ratings . . . . . . . . . . . . . . . . 33 Figure 8. Maximum Negative Overshoot Waveform . 33 Figure 9. Maximum Positive Overshoot Waveform . 33 Table 2. Top Boot Sector Addresses .12 Table 3. Top Boot SecSiTM Sector Addresses . 13 Table 4. Bottom Boot Sector Addresses .14 Table 5. Bottom Boot SecSiTM Sector Addresses . 15 DC Characteristics . . . . . . . . . . . . . . . . . . . . . . . . 34 Autoselect Mode . 16 Test Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . 36 Table 6. Autoselect Codes, (High Voltage Method) .16 Sector/Sector Block Protection and Unprotection . 17 Table 7. Top Boot Sector/Sector Block Addresses for Protection/Unprotection .17 Table 8. Bottom Boot Sector/Sector Block Addresses for Protection/Unprotection .17 Write Protect (WP#) .18 Temporary Sector Unprotect . 18 Figure 1. Temporary Sector Unprotect Operation . 18 Figure 2. In-System Sector Protection/ Sector Unprotection Algorithms . 19 TM SecSi (Secured Silicon) Sector Flash Memory Region . 20 Factory Locked: SecSi Sector Programmed and Protected At the Factory .20 Customer Lockable: SecSi Sector NOT Programmed or Protected At the Factory .20 Figure 3. SecSi Sector Protect Verify. 21 Hardware Data Protection . 21 Low VCC Write Inhibit . 21 Write Pulse "Glitch" Protection .21 Logical Inhibit .21 Power-Up Write Inhibit .21 Common Flash Memory Interface (CFI) . . . . . . . 21 Table 9. CFI Query Identification String . Table 10. System Interface String. Table 11. Device Geometry Definition . Table 12. Primary Vendor-Specific Extended Query . 22 22 23 23 Command Definitions . . . . . . . . . . . . . . . . . . . . . . 24 Reading Array Data . 24 Reset Command . 24 Autoselect Command Sequence . 24 Enter SecSiTM Sector/Exit SecSi Sector Command Sequence .25 Byte/Word Program Command Sequence .25 October 13, 2003 Figure 10. ICC1 Current vs. Time (Showing Active and Automatic Sleep Currents). 35 Figure 11. Typical ICC1 vs. Frequency. 35 Figure 12. Test Setup . 36 Figure 13. Input Waveforms and Measurement Levels . 36 AC Characteristics . . . . . . . . . . . . . . . . . . . . . . . . 37 Figure 14. Read Operation Timings. 37 Figure 15. Reset Timings. 38 Word/Byte Configuration (BYTE#) . 39 Figure 16. BYTE# Timings for Read Operations . 39 Figure 17. BYTE# Timings for Write Operations . 39 Erase and Program Operations . 40 Figure 18. Program Operation Timings . Figure 19. Accelerated Program Timing Diagram . Figure 20. Chip/Sector Erase Operation Timings . Figure 21. Back-to-back Read/Write Cycle Timings . Figure 22. Data# Polling Timings (During Embedded Algorithms) . Figure 23. Toggle Bit Timings (During Embedded Algorithms) . Figure 24. DQ2 vs. DQ6 . 41 41 42 43 43 44 44 Temporary Sector Unprotect . 45 Figure 25. Temporary Sector Unprotect Timing Diagram . 45 Figure 26. Sector/Sector Block Protect and Unprotect Timing Diagram 46 Alternate CE# Controlled Erase and Program Operations . 47 Figure 27. Alternate CE# Controlled Write (Erase/Program) Operation Timings . 48 Erase And Programming Performance . . . . . . . Latchup Characteristics . . . . . . . . . . . . . . . . . . . . TSOP And SO Pin Capacitance . . . . . . . . . . . . . . Data Retention. . . . . . . . . . . . . . . . . . . . . . . . . . . . Physical Dimensions . . . . . . . . . . . . . . . . . . . . . . 49 49 49 49 50 FBD063-63-ball Fine-Pitch Ball Grid Array (FBGA) 8 x 14 mm . 50 FBD048-Fine-Pitch Ball Grid Array, 6 x 12 mm . 51 TS 048-Thin Small Outline Package . 52 Revision Summary . . . . . . . . . . . . . . . . . . . . . . . . 54 Revision A (December 6, 2001) . 54 Am29DL320G Am29DL320G 3 PRODUCT SELECTOR GUIDE Part Number Am29DL320G Am29DL320G 70 90 120 Max Access Time (ns) 70 90 120 CE# Access (ns) 70 90 120 OE# Access (ns) 30 40 50 Speed Rating Standard Voltage Range: VCC = 2.73.6 V BLOCK DIAGRAM VCC VSS OE# BYTE# Mux Bank 1 Bank 2 X-Decoder A20A0 RESET# WE# CE# BYTE# WP#/ACC STATE CONTROL & COMMAND REGISTER Status DQ15DQ0 Control Mux DQ15DQ0 DQ15DQ0 Bank 3 Address Bank 3 X-Decoder Bank 4 Address Y-gate A20A0 X-Decoder A20A0 DQ15DQ0 Bank 2 Address DQ15DQ0 RY/BY# DQ15DQ0 A20A0 X-Decoder Y-gate Bank 1 Address A20A0 Bank 4 Mux 4 Am29DL320G Am29DL320G October 13, 2003 CONNECTION DIAGRAMS A15 A14 A13 A12 A11 A10 A9 A8 A19 A20 WE# RESET# NC WP#/ACC RY/BY# A18 A17 A7 A6 A5 A4 A3 A2 A1 A8 B7 63-Ball Fine-pitch BGA (8 x 14 mm) Top View, Balls Facing Down NC NC A16 BYTE# VSS DQ15/A-1 DQ15/A-1 DQ7 DQ14 DQ6 DQ13 DQ5 DQ12 DQ4 VCC DQ11 DQ3 DQ10 DQ2 DQ9 DQ1 DQ8 DQ0 OE# VSS CE# A0 L8 M8 NC* NC* K7 L7 M7 VSS NC* NC* NC A7 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 48-Pin Standard TSOP B8 NC 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 C7 D7 E7 F7 G7 H7 J7 BYTE# DQ15/A-1 DQ15/A-1 A13 A12 A14 A15 A16 C6 D6 E6 F6 G6 H6 J6 K6 A9 A8 A10 A11 DQ7 DQ14 DQ13 DQ6 C5 D5 E5 F5 G5 H5 J5 K5 DQ12 VCC DQ4 WE# RESET# C4 D4 RY/BY# WP#/ACC NC A19 DQ5 E4 F4 G4 H4 J4 K4 A18 A20 DQ2 DQ10 DQ11 DQ3 C3 D3 E3 F3 G3 H3 J3 K3 A7 A17 A6 A5 DQ0 DQ8 DQ9 DQ1 A2 C2 D2 E2 F2 G2 H2 J2 K2 L2 M2 NC* A3 A4 A2 A1 A0 CE# OE# VSS NC* NC* A1 B1 NC* NC* L1 M1 NC* NC* * Balls are shorted together via the substrate but not connected to the die. October 13, 2003 Am29DL320G Am29DL320G 5 CONNECTION DIAGRAMS 48-Ball Fine-pitch BGA (6 x 12 mm) Top View, Balls Facing Down C7 D7 E7 F7 G7 H7 J7 K7 VSS A13 A12 A14 A15 A16 BYTE# DQ15/A-1 DQ15/A-1 C6 D6 E6 F6 G6 H6 J6 K6 A9 A8 A10 A11 DQ7 DQ14 DQ13 DQ6 C5 D5 E5 F5 G5 H5 J5 K5 WE# RESET# NC A19 DQ5 DQ12 VCC DQ4 C4 D4 E4 F4 G4 H4 J4 K4 A18 A20 DQ2 DQ10 DQ11 DQ3 RY/BY# WP#/ACC C3 D3 E3 F3 G3 H3 J3 K3 A7 A17 A6 A5 DQ0 DQ8 DQ9 DQ1 C2 D2 E2 F2 G2 H2 J2 K2 A3 A4 A2 A1 A0 CE# OE# VSS 64-Ball Fortified BGA (11 x 13 mm) Top View, Balls Facing Down A8 B8 C8 D8 E8 F8 G8 H8 RFU RFU RFU VIO VSS RFU RFU RFU A7 B7 C7 D7 E7 F7 G7 H7 A13 A12 A14 A15 A16 BYTE# DQ15 VSS A6 B6 C6 D6 E6 F6 G6 H6 A9 A8 A10 A11 DQ7 DQ14 DQ13 DQ6 A5 B5 C5 D5 E5 F5 G5 H5 WE# RESET# A21 A19 DQ5 DQ12 VCC DQ4 A4 B4 C4 D4 E4 F4 G4 H4 A18 RY/BY# WP#/ACC A20 DQ2 DQ10 DQ11 DQ3 A3 B3 C3 D3 E3 F3 G3 H3 A7 A17 A6 A5 DQ0 DQ8 DQ9 DQ1 A2 B2 C2 D2 E2 F2 G2 H2 A3 A4 A2 A1 A0 CE# OE# VSS A1 B1 C1 D1 E1 F1 G1 H1 RFU RFU RFU RFU RFU VIO RFU RFU Special Package Handling Instructions Special handling is required for Flash Memory products in molded packages (TSOP, BGA, SSOP, PLCC, PDIP). The package and/or data integrity may be 6 compromised if the package body is exposed to temperatures above 150°C for prolonged periods of time. Am29DL320G Am29DL320G October 13, 2003 PIN DESCRIPTION A20A0 LOGIC SYMBOL = 21 Addresses 21 DQ14DQ0 = 15 Data Inputs/Outputs A20A0 DQ15/A-1 DQ15/A-1 = DQ15 (Data Input/Output, word mode), A-1 (LSB Address Input, byte mode) CE# = Chip Enable OE# = Output Enable WE# = Write Enable WP#/ACC = Hardware Write Protect/ Acceleration Pin RESET# RESET# = Hardware Reset Pin, Active Low BYTE# BYTE# = Selects 8-bit or 16-bit mode RY/BY# = Ready/Busy Output VCC = 3.0 volt-only single power supply (see Product Selector Guide for speed options and voltage supply tolerances) VSS = Device Ground NC 16 or 8 = Pin Not Connected Internally October 13, 2003 DQ15DQ0 (A-1) CE# OE# WE# WP#/ACC Am29DL320G Am29DL320G RY/BY# 7 ORDERING INFORMATION Standard Products AMD standard products are available in several packages and operating ranges. The order number (Valid Combination) is formed by a combination of the following: Am29DL320G Am29DL320G T 70 E I OPTIONAL PROCESSING Blank = Standard Processing N = 16-byte ESN devices (Contact an AMD representative for more information) TEMPERATURE RANGE I = Industrial (40°C to +85°C) PACKAGE TYPE E = 48-Pin Thin Small Outline Package (TSOP) Standard Pinout (TS 048) WD = 63-Ball Fine-Pitch Ball Grid Array (FBGA) 0.80 mm pitch, 8 x 14 mm package (FBD063 FBD063) WM = 48-Ball Fine-Pitch Ball Grid Array (FBGA) 0.80 mm pitch, 6 x 12 mm package (FBD048 FBD048) PC = 64-Ball Fortified-Pitch Ball Grid Array (FBGA) 1.00 mm pitch, 11 x 13 mm package (LAA064 LAA064) SPEED OPTION See Product Selector Guide and Valid Combinations BOOT CODE SECTOR ARCHITECTURE T = Top boot sectors B = Bottom boot sectors DEVICE NUMBER/DESCRIPTION Am29DL320G Am29DL320G 32 Megabit (4 M x 8-Bit/2 M x 16-Bit) CMOS Flash Memory 3.0 Volt-only Read, Program, and Erase Valid Combinations for TSOP Packages Valid Combinations for FBGA Packages AM29DL320GT70 AM29DL320GT70, AM29DL320GB70 AM29DL320GB70 Order Number AM29DL320GT90 AM29DL320GT90, AM29DL320GB90 AM29DL320GB90 Package Marking AM29DL320GT70 AM29DL320GT70, AM29DL320GB70 AM29DL320GB70 EI, EIN AM29DL320GT90 AM29DL320GT90, AM29DL320GB90 AM29DL320GB90 AM29DL320GT120 AM29DL320GT120, AM29DL320GB120 AM29DL320GB120 D320GT70V D320GT70V, D320GB70V D320GB70V WDI, WDIN D320GT90V D320GT90V, D320GB90V D320GB90V AM29DL320GT120 AM29DL320GT120, AM29DL320GB120 AM29DL320GB120 Valid Combinations Valid Combinations list configurations planned to be supported in volume for this device. Consult the local AMD sales office to confirm availability of specific valid combinations and to check on newly released combinations. D320GT12V D320GT12V, D320GB12V D320GB12V AM29DL320GT70 AM29DL320GT70, AM29DL320GB70 AM29DL320GB70 I D320GT70U D320GT70U, D320GB70U D320GB70U AM29DL320GT90 AM29DL320GT90, AM29DL320GB90 AM29DL320GB90 WMI, WMIN AM29DL320GT120 AM29DL320GT120, AM29DL320GB120 AM29DL320GB120 D320GT90U D320GT90U, D320GB90U D320GB90U I D320GT12U D320GT12U, D320GB12U D320GB12U Valid Combinations for Fortified BGA Packages Order Number Package Marking AM29DL320GT70 AM29DL320GT70, AM29DL320GB70 AM29DL320GB70 AM29DL320GT90 AM29DL320GT90, AM29DL320GB90 AM29DL320GB90 AM29DL320GT120 AM29DL320GT120, AM29DL320GB120 AM29DL320GB120 8 Am29DL320G Am29DL320G D320GT70P D320GT70P, D320GB70P D320GB70P PCI D320GT90P D320GT90P, D320GB90P D320GB90P I D320GT12P D320GT12P, D320GB12P D320GB12P October 13, 2003 DEVICE BUS OPERATIONS This section describes the requirements and use of the device bus operations, which are initiated through the internal command register. The command register itself does not occupy any addressable memory location. The register is a latch used to store the commands, along with the address and data information needed to execute the command. The contents of the Table 1. register serve as inputs to the internal state machine. The state machine outputs dictate the function of the device. Table 1 lists the device bus operations, the inputs and control levels they require, and the resulting output. The following subsections describe each of these operations in further detail. Device Bus Operations DQ15DQ8 WP#/ACC Addresses (Note 2) BYTE# = VIH BYTE# = VIL DQ7 DQ0 H L/H AIN DOUT DOUT L H (Note 3) AIN DIN DQ8DQ14 = High-Z, DQ15 = A-1 X X VCC ± 0.3 V H X High-Z High-Z High-Z L H H H L/H X High-Z High-Z High-Z Reset X X X L L/H X High-Z High-Z High-Z Sector Protect (Note 2) L H L VID L/H SA, A6 = L, A1 = H, A0 = L X X DIN Sector Unprotect (Note 2) L H L VID (Note 3) SA, A6 = H, A1 = H, A0 = L X X DIN Temporary Sector Unprotect X X X VID (Note 3) AIN DIN High-Z DIN Operation CE# OE# Read L L H Write L H VCC ± 0.3 V Output Disable Standby WE# RESET# DIN Legend: L = Logic Low = VIL, H = Logic High = VIH, VID = 8.512.5 V, VHH = 9.0 ± 0.5 V, X = Don't Care, SA = Sector Address, AIN = Address In, DIN = Data In, DOUT = Data Out Notes: 1. Addresses are A20:A0 in word mode (BYTE# = VIH), A20:A-1 in byte mode (BYTE# = VIL). 2. The sector protect and sector unprotect functions may also be implemented via programming equipment. See the "Sector/Sector Block Protection and Unprotection" section. 3. If WP#/ACC = VIL, the two outermost boot sectors remain protected. If WP#/ACC = VIH, the two outermost boot sector protection depends on whether they were last protected or unprotected using the method described in "Sector/Sector Block Protection and Unprotection". If WP#/ACC = VHH, all sectors will be unprotected. Word/Byte Configuration Requirements for Reading Array Data The BYTE# pin controls whether the device data I/O pins operate in the byte or word configuration. If the BYTE# pin is set at logic `1', the device is in word configuration, DQ15DQ0 are active and controlled by CE# and OE#. To read array data from the outputs, the system must drive the CE# and OE# pins to VIL. CE# is the power control and selects the device. OE# is the output control and gates array data to the output pins. WE# should remain at V IH . The BYTE# pin determines whether the device outputs array data in words or bytes. If the BYTE# pin is set at logic `0', the device is in byte configuration, and only data I/O pins DQ7DQ0 are active and controlled by CE# and OE#. The data I/O pins DQ8DQ14 are tri-stated, and the DQ15 pin is used as an input for the LSB (A-1) address function. October 13, 2003 The internal state machine is set for reading array data upon device power-up, or after a hardware reset. This ensures that no spurious alteration of the memory content occurs during the power transition. No command is necessary in this mode to obtain array data. Standard microprocessor read cycles that assert valid Am29DL320G Am29DL320G 9 addresses on the device address inputs produce valid data on the device data outputs. Each bank remains enabled for read access until the command register contents are altered. See "Requirements for Reading Array Data" for more information. Refer to the AC Read-Only Operations table for timing specifications and to Figure 14 for the timing diagram. ICC1 in the DC Characteristics table represents the active current specification for reading array data. Writing Commands/Command Sequences To write a command or command sequence (which includes programming data to the device and erasing sectors of memory), the system must drive WE# and CE# to VIL, and OE# to VIH. For program operations, the BYTE# pin determines whether the device accepts program data in bytes or words. Refer to "Word/Byte Configuration" for more information. The device features an Unlock Bypass mode to facilitate faster programming. Once a bank enters the Unlock Bypass mode, only two write cycles are required to program a word or byte, instead of four. The "Word/Byte Configuration" section has details on programming data to the device using both standard and Unlock Bypass command sequences. An erase operation can erase one sector, multiple sectors, or the entire device. Table 2 indicates the address space that each sector occupies. The device address space is divided into two banks: Bank 1 contains the boot/parameter sectors, and Bank 2 contains the larger, code sectors of uniform size. A "bank address" is the address bits required to uniquely select a bank. Similarly, a "sector address" is the address bits required to uniquely select a sector. ICC2 in the DC Characteristics table represents the active current specification for the write mode. The AC Characteristics section contains timing specification tables and timing diagrams for write operations. Accelerated Program Operation The device offers accelerated program operations through the ACC function. This is one of two functions provided by the WP#/ACC pin. This function is primarily intended to allow faster manufacturing throughput at the factory. If the system asserts VHH on this pin, the device automatically enters the aforementioned Unlock Bypass mode, temporarily unprotects any protected sectors, and uses the higher voltage on the pin to reduce the time required for program operations. The system would use a two-cycle program command sequence as required by the Unlock Bypass mode. Removing VHH from the WP#/ACC pin returns the device to nor10 mal operation. Note that the WP#/ACC pin must not be at VHH for operations other than accelerated programming, or device damage may result. In addition, the WP#/ACC pin must not be left floating or unconnected; inconsistent behavior of the device may result. Autoselect Functions If the system writes the autoselect command sequence, the device enters the autoselect mode. The system can then read autoselect codes from the internal register (which is separate from the memory array) on DQ7DQ0. Standard read cycle timings apply in this mode. Refer to the Autoselect Mode and Autoselect Command Sequence sections for more information. Simultaneous Read/Write Operations with Zero Latency This device is capable of reading data from one bank of memory while programming or erasing in the other bank of memory. An erase operation may also be suspended to read from or program to another location within the same bank (except the sector being erased). Figure 21 shows how read and write cycles may be initiated for simultaneous operation with zero latency. ICC6 and ICC7 in the DC Characteristics table represent the current specifications for read-while-program and read-while-erase, respectively. Standby Mode When the system is not reading or writing to the device, it can place the device in the standby mode. In this mode, current consumption is greatly reduced, and the outputs are placed in the high impedance state, independent of the OE# input. The device enters the CMOS standby mode when the CE# and RESET# pins are both held at VCC ± 0.3 V. (Note that this is a more restricted voltage range than VIH.) If CE# and RESET# are held at VIH, but not within VCC ± 0.3 V, the device will be in the standby mode, but the standby current will be greater. The device requires standard access time (t CE ) for read access when the device is in either of these standby modes, before it is ready to read data. If the device is deselected during erasure or programming, the device draws active current until the operation is completed. I CC3 in the DC Characteristics table represents the standby current specification. Automatic Sleep Mode The automatic sleep mode minimizes Flash device energy consumption. The device automatically enables this mode when addresses remain stable for t ACC + 30 ns. The automatic sleep mode is independent of the CE#, WE#, and OE# control signals. Standard ad- Am29DL320G Am29DL320G October 13, 2003 dress access timings provide new data when addresses are changed. While in sleep mode, output data is latched and always available to the system. I CC5 in the DC Characteristics table represents the automatic sleep mode current specification. RESET#: Hardware Reset Pin The RESET# pin provides a hardware method of resetting the device to reading array data. When the RESET# pin is driven low for at least a period of tRP, the device immediately terminates any operation in progress, tristates all output pins, and ignores all read/write commands for the duration of the RESET# pulse. The device also resets the internal state machine to reading array data. The operation that was interrupted should be reinitiated once the device is ready to accept another command sequence, to ensure data integrity. Current is reduced for the duration of the RESET# pulse. When RESET# is held at VSS±0.3 V, the device draws CMOS standby current (ICC4). If RESET# is held at VIL but not within VSS±0.3 V, the standby current will be greater. October 13, 2003 The RESET# pin may be tied to the system reset circuitry. A system reset would thus also reset the Flash memory, enabling the system to read the boot-up firmware from the Flash memory. If RESET# is asserted during a program or erase operation, the RY/BY# pin remains a "0" (busy) until the internal reset operation is complete, which requires a time of tREADY (during Embedded Algorithms). The system can thus monitor RY/BY# to determine whether the reset operation is complete. If RESET# is asserted when a program or erase operation is not executing (RY/BY# pin is "1"), the reset operation is completed within a time of tREADY (not during Embedded Algorithms). The system can read data tRH after the RESET# pin returns to VIH. I CC4 in the DC Characteristics table represents the reset current. Also refer to AC Characteristics tables for RESET# timing parameters and to Figure 15 for the timing diagram. Output Disable Mode When the OE# input is at VIH, output from the device is disabled. The output pins are placed in the high impedance state. Am29DL320G Am29DL320G 11 Table 2. Top Boot Sector Addresses Sector Size (Kbytes/Kwords) (x8) Address Range 000000xxx 64/32 000000h00FFFFh 000000h07FFFh SA1 000001xxx 64/32 010000h01FFFFh 008000h0FFFFh SA2 000010xxx 64/32 020000h02FFFFh 010000h17FFFh SA3 000011xxx 64/32 030000h03FFFFh 018000h01FFFFh SA4 000100xxx 64/32 040000h04FFFFh 020000h027FFFh SA5 000101xxx 64/32 050000h05FFFFh 028000h02FFFFh SA6 000110xxx 64/32 060000h06FFFFh 030000h037FFFh SA7 000111xxx 64/32 070000h07FFFFh 038000h03FFFFh SA8 001000xxx 64/32 080000h08FFFFh 040000h047FFFh SA9 001001xxx 64/32 090000h09FFFFh 048000h04FFFFh SA10 001010xxx 64/32 0A0000h0AFFFFh 050000h057FFFh SA11 001011xxx 64/32 0B0000h0BFFFFh 058000h05FFFFh SA12 001100xxx 64/32 0C0000h0CFFFFh 060000h067FFFh SA13 001101xxx 64/32 0D0000h0DFFFFh 068000h06FFFFh SA14 001110xxx 64/32 0E0000h0EFFFFh 070000h077FFFh SA15 001111xxx 64/32 0F0000h0FFFFFh 078000h07FFFFh SA16 010000xxx 64/32 100000h10FFFFh 080000h087FFFh SA17 010001xxx 64/32 110000h11FFFFh 088000h08FFFFh SA18 010010xxx 64/32 120000h12FFFFh 090000h097FFFh SA19 010011xxx 64/32 130000h13FFFFh 098000h09FFFFh SA20 010100xxx 64/32 140000h14FFFFh 0A0000h0A7FFFh SA21 010101xxx 64/32 150000h15FFFFh 0A8000h0AFFFFh SA22 010110xxx 64/32 160000h16FFFFh 0B0000h0B7FFFh SA23 010111xxx 64/32 170000h17FFFFh 0B8000h0BFFFFh SA24 011000xxx 64/32 180000h18FFFFh 0C0000h0C7FFFh SA25 011001xxx 64/32 190000h19FFFFh 0C8000h0CFFFFh SA26 011010xxx 64/32 1A0000h1AFFFFh 0D0000h0D7FFFh SA27 011011xxx 64/32 1B0000h1BFFFFh 0D8000h0DFFFFh SA28 011100xxx 64/32 1C0000h1CFFFFh 0E0000h0E7FFFh SA29 Bank 3 Sector Address A20A12 SA0 Bank 4 Sector (x16) Address Range 011101xxx 64/32 1D0000h1DFFFFh 0E8000h0EFFFFh 64/32 1E0000h1EFFFFh 0F0000h0F7FFFh 011111xxx 64/32 1F0000h1FFFFFh 0F8000h0FFFFFh SA32 100000xxx 64/32 200000h20FFFFh 100000h107FFFh SA33 100001xxx 64/32 210000h21FFFFh 108000h10FFFFh SA34 100010xxx 64/32 220000h22FFFFh 110000h117FFFh SA35 100011xxx 64/32 230000h23FFFFh 118000h11FFFFh SA36 100100xxx 64/32 240000h24FFFFh 120000h127FFFh SA37 100101xxx 64/32 250000h25FFFFh 128000h12FFFFh SA38 100110xxx 64/32 260000h26FFFFh 130000h137FFFh SA39 100111xxx 64/32 270000h27FFFFh 138000h13FFFFh SA40 101000xxx 64/32 280000h28FFFFh 140000h147FFFh SA41 101001xxx 64/32 290000h29FFFFh 148000h14FFFFh SA42 101010xxx 64/32 2A0000h2AFFFFh 150000h157FFFh SA43 101011xxx 64/32 2B0000h2BFFFFh 158000h15FFFFh SA44 101100xxx 64/32 2C0000h2CFFFFh 160000h167FFFh SA45 101101xxx 64/32 2D0000h2DFFFFh 168000h16FFFFh SA46 101110xxx 64/32 2E0000h2EFFFFh 170000h177FFFh SA47 12 011110xxx SA31 Bank 2 SA30 101111xxx 64/32 2F0000h2FFFFFh 178000h17FFFFh Am29DL320G Am29DL320G October 13, 2003 Table 2. Top Boot Sector Addresses (Continued) Sector Size (Kbytes/Kwords) (x8) Address Range 110000xxx 64/32 300000h30FFFFh 180000h187FFFh SA49 110001xxx 64/32 310000h31FFFFh 188000h18FFFFh SA50 110010xxx 64/32 320000h32FFFFh 190000h197FFFh SA51 110011xxx 64/32 330000h33FFFFh 198000h19FFFFh SA52 110100xxx 64/32 340000h34FFFFh 1A0000h1A7FFFh SA53 110101xxx 64/32 350000h35FFFFh 1A8000h1AFFFFh SA54 110110xxx 64/32 360000h36FFFFh 1B0000h1B7FFFh SA55 110111xxx 64/32 370000h37FFFFh 1B8000h1BFFFFh SA56 111000xxx 64/32 380000h38FFFFh 1C0000h1C7FFFh SA57 111001xxx 64/32 390000h39FFFFh 1C8000h1CFFFFh SA58 111010xxx 64/32 3A0000h3AFFFFh 1D0000h1D7FFFh SA59 111011xxx 64/32 3B0000h3BFFFFh 1D8000h1DFFFFh SA60 111100xxx 64/32 3C0000h3CFFFFh 1E0000h1E7FFFh SA61 111101xxx 64/32 3D0000h3DFFFFh 1E8000h1EFFFFh SA62 111110xxx 64/32 3E0000h3EFFFFh 1F0000h1F7FFFh SA63 111111000 8/4 3F0000h3F1FFFh 1F8000h1F8FFFh SA64 111111001 8/4 3F2000h3F3FFFh 1F9000h1F9FFFh SA65 Bank 1 Sector Address A20A12 SA48 Bank 2 (continued) Sector (x16) Address Range 111111010 8/4 3F4000h3F5FFFh 1FA000h1FAFFFh SA66 111111011 8/4 3F6000h3F7FFFh 1FB000h1FBFFFh SA67 111111100 8/4 3F8000h3F9FFFh 1FC000h1FCFFFh SA68 111111101 8/4 3FA000h3FBFFFh 1FD000h1FDFFFh SA69 111111110 8/4 3FC000h3FDFFFh 1FE000h1FEFFFh SA70 111111111 8/4 3FE000h3FFFFFh 1FF000h1FFFFFh Note: The address range is A20:A-1 in byte mode (BYTE#=VIL) or A20:A0 in word mode (BYTE#=VIH). The bank address bits are A20A18 for Am29DL322 Am29DL322, A20 and A19 for Am29DL323 Am29DL323, and A20 for Am29DL324 Am29DL324. Table 3. Top Boot SecSiTM Sector Addresses Device Sector Address A20A12 Sector Size (Bytes/Words) (x8) Address Range (x16) Address Range Am29DL32xGT Am29DL32xGT 111111xxx 256/128 3FE000h3FE0FFh 1FF000h1FF07Fh October 13, 2003 Am29DL320G Am29DL320G 13 Table 4. Bottom Boot Sector Addresses (x16) Address Range 000000000 8/4 000000h001FFFh 000000h000FFFh 000000001 8/4 002000h003FFFh 001000h001FFFh 000000010 8/4 004000h005FFFh 002000h002FFFh SA3 000000011 8/4 006000h007FFFh 003000h003FFFh SA4 000000100 8/4 008000h009FFFh 004000h004FFFh SA5 000000101 8/4 00A000h00BFFFh 005000h005FFFh SA6 000000110 8/4 00C000h00DFFFh 006000h006FFFh SA7 000000111 8/4 00E000h00FFFFh 007000h007FFFh SA8 000001xxx 64/32 010000h01FFFFh 008000h00FFFFh SA9 000010xxx 64/32 020000h02FFFFh 010000h017FFFh SA10 000011xxx 64/32 030000h03FFFFh 018000h01FFFFh SA11 000100xxx 64/32 040000h04FFFFh 020000h027FFFh SA12 000101xxx 64/32 050000h05FFFFh 028000h02FFFFh SA13 000110xxx 64/32 060000h06FFFFh 030000h037FFFh SA14 000111xxx 64/32 070000h07FFFFh 038000h03FFFFh SA15 001000xxx 64/32 080000h08FFFFh 040000h047FFFh SA16 001001xxx 64/32 090000h09FFFFh 048000h04FFFFh SA17 001010xxx 64/32 0A0000h0AFFFFh 050000h057FFFh SA18 001011xxx 64/32 0B0000h0BFFFFh 058000h05FFFFh SA19 001100xxx 64/32 0C0000h0CFFFFh 060000h067FFFh SA20 001101xxx 64/32 0D0000h0DFFFFh 068000h06FFFFh SA21 001110xxx 64/32 0E0000h0EFFFFh 070000h077FFFh SA22 001111xxx 64/32 0F0000h0FFFFFh 078000h07FFFFh SA23 010000xxx 64/32 100000h10FFFFh 080000h087FFFh SA24 010001xxx 64/32 110000h11FFFFh 088000h08FFFFh SA25 010010xxx 64/32 120000h12FFFFh 090000h097FFFh SA26 010011xxx 64/32 130000h13FFFFh 098000h09FFFFh SA27 010100xxx 64/32 140000h14FFFFh 0A0000h0A7FFFh SA28 010101xxx 64/32 150000h15FFFFh 0A8000h0AFFFFh SA29 010110xxx 64/32 160000h16FFFFh 0B0000h0B7FFFh SA30 010111xxx 64/32 170000h17FFFFh 0B8000h0BFFFFh SA31 011000xxx 64/32 180000h18FFFFh 0C0000h0C7FFFh SA32 011001xxx 64/32 190000h19FFFFh 0C8000h0CFFFFh SA33 011010xxx 64/32 1A0000h1AFFFFh 0D0000h0D7FFFh SA34 011011xxx 64/32 1B0000h1BFFFFh 0D8000h0DFFFFh SA35 011100xxx 64/32 1C0000h1CFFFFh 0E0000h0E7FFFh SA36 011101xxx 64/32 1D0000h1DFFFFh 0E8000h0EFFFFh SA37 011110xxx 64/32 1E0000h1EFFFFh 0F0000h0F7FFFh SA38 011111xxx 64/32 1F0000h1FFFFFh SA39 100000xxx 64/32 200000h20FFFFh 0F8000h0FFFFFh 100000h107FFFh SA40 100001xxx 64/32 210000h21FFFFh 108000h10FFFFh SA41 100010xxx 64/32 220000h22FFFFh 110000h117FFFh SA42 100011xxx 64/32 230000h23FFFFh 118000h11FFFFh SA43 100100xxx 64/32 240000h24FFFFh 120000h127FFFh SA44 100101xxx 64/32 250000h25FFFFh 128000h12FFFFh SA45 100110xxx 64/32 260000h26FFFFh 130000h137FFFh SA46 100111xxx 64/32 270000h27FFFFh 138000h13FFFFh SA47 Bank 2 (x8) Address Range SA2 Bank 3 Sector Size (Kbytes/Kwords) SA1 14 Sector Address A20A12 SA0 Bank 1 Sector 101000xxx 64/32 280000h28FFFFh 140000h147FFFh Am29DL320G Am29DL320G October 13, 2003 Table 4. Bottom Boot Sector Addresses (Continued) Sector Address A20A12 Sector Size (Kbytes/Kwords) SA48 101001xxx SA49 101010xxx SA50 (x8) Address Range (x16) Address Range 64/32 290000h29FFFFh 148000h14FFFFh 64/32 2A0000h2AFFFFh 150000h157FFFh 101011xxx 64/32 2B0000h2BFFFFh 158000h15FFFFh SA51 Bank 3 (continued) Sector 101100xxx 64/32 2C0000h2CFFFFh 160000h167FFFh SA52 101101xxx 64/32 2D0000h2DFFFFh 168000h16FFFFh 101110xxx 64/32 2E0000h2EFFFFh 170000h177FFFh SA54 101111xxx 64/32 2F0000h2FFFFFh 178000h17FFFFh SA55 111000xxx 64/32 300000h30FFFFh 180000h187FFFh SA56 110001xxx 64/32 310000h31FFFFh 188000h18FFFFh SA57 110010xxx 64/32 320000h32FFFFh 190000h197FFFh SA58 110011xxx 64/32 330000h33FFFFh 198000h19FFFFh SA59 110100xxx 64/32 340000h34FFFFh 1A0000h1A7FFFh SA60 110101xxx 64/32 350000h35FFFFh 1A8000h1AFFFFh SA61 110110xxx 64/32 360000h36FFFFh 1B0000h1B7FFFh SA62 110111xxx 64/32 370000h37FFFFh 1B8000h1BFFFFh SA63 111000xxx 64/32 380000h38FFFFh 1C0000h1C7FFFh SA64 111001xxx 64/32 390000h39FFFFh 1C8000h1CFFFFh SA65 111010xxx 64/32 3A0000h3AFFFFh 1D0000h1D7FFFh SA66 111011xxx 64/32 3B0000h3BFFFFh 1D8000h1DFFFFh SA67 111100xxx 64/32 3C0000h3CFFFFh 1E0000h1E7FFFh SA68 Bank 4 SA53 111101xxx 64/32 3D0000h3DFFFFh 1E8000h1EFFFFh SA69 111110xxx 64/32 3E0000h3EFFFFh 1F0000h1F7FFFh SA70 111111xxx 64/32 3F0000h3FFFFFh 1F8000h1FFFFFh Note: The address range is A20:A-1 in byte mode (BYTE#=VIL) or A20:A0 in word mode (BYTE#=VIH). The bank address bits are A20A18 for Am29DL322 Am29DL322, A20 and A19 for Am29DL323 Am29DL323, and A20 for Am29DL324 Am29DL324. Table 5. Bottom Boot SecSiTM Sector Addresses Device Sector Address A20A12 Sector Size (Bytes/Words) (x8) Address Range (x16) Address Range Am29DL32xGB Am29DL32xGB 000000xxx 256/128 000000h0000FFh 00000h00007Fh October 13, 2003 Am29DL320G Am29DL320G 15 Autoselect Mode Table 6. In addition, when verifying sector protection, the sector address must appear on the appropriate highest order address bits (see Table 2). Table 6 shows the remaining address bits that are don't care. When all necessary bits have been set as required, the programming equipment may then read the corresponding identifier code on DQ7DQ0. The autoselect mode provides manufacturer and device identification, and sector protection verification, through identifier codes output on DQ7DQ0. This mode is primarily intended for programming equipment to automatically match a device to be programmed with its c orresponding programm ing algorithm. However, the autoselect codes can also be accessed in-system through the command register. To access the autoselect codes in-system, the host system can issue the autoselect command via the command register, as shown in Table 13. This method does not require V ID. Refer to the Autoselect Command Sequence section for more information. When using programming equipment, the autoselect mode requires VID (8.5 V to 12.5 V) on address pin A9. Address pins A6, A1, and A0 must be as shown in Table 6. Description Manufacturer ID: AMD CE# OE# WE# Autoselect Codes, (High Voltage Method) A20 to A12 A11 to A10 A9 A8 to A7 DQ15 to DQ8 A6 A5 to A4 A3 A2 A1 A0 BYTE# BYTE# = VIH = VIL DQ7 to DQ0 L H BA X VID X L X X X L L X X 01h Read Cycle 1 L L H BA X VID X L X L L L H 22h X 7Eh Read Cycle 2 L L H BA X VID X L X H H H L 22h X 0Ah Read Cycle 3 L L H BA X VID X L X H H H H 22h X 01h (T), 00h (B) Sector Protection Verification L L H SA X VID X L X X X H L X X 01h (protected), 00h (unprotected) SecSiTM Indicator Bit (DQ7) L L H BA X VID X L X X X H H X X 82h (factory locked), 02h (not factory locked) Device ID L Legend: T = Top Boot Block, B = Bottom Boot Block, L = Logic Low = VIL, H = Logic High = VIH, BA = Bank Address, SA = Sector Address, X = Don't care. Notes: 1. The bank address bits are A20A18. 2. The device ID must be read across three cycles. 16 Am29DL320G Am29DL320G October 13, 2003 Sector/Sector Block Protection and Unprotection Table 8. Bottom Boot Sector/Sector Block Addresses for Protection/Unprotection The hardware sector protection feature disables both program and erase operations in any sector. The hardware sector unprotection feature re-enables both program and erase operations in previously protected sectors. Sector protection/unprotection can be implemented via two methods. Table 7. Top Boot Sector/Sector Block Addresses for Protection/Unprotection Sector A20A12 Sector/ Sector Block Size SA0 000000XXX 000000XXX 64 Kbytes Sector A20A12 Sector/Sector Block Size SA70 111111XXX 111111XXX 64 Kbytes SA69-SA67 SA69-SA67 111110XXX 111110XXX, 111101XXX 111101XXX, 111100XXX 111100XXX 192 (3x64) Kbytes SA66-SA63 SA66-SA63 1110XXXXX 1110XXXXX 256 (4x64) Kbytes SA62-SA59 SA62-SA59 1101XXXXX 1101XXXXX 256 (4x64) Kbytes SA58-SA55 SA58-SA55 1100XXXXX 1100XXXXX 256 (4x64) Kbytes SA54-SA51 SA54-SA51 1011XXXXX 1011XXXXX 256 (4x64) Kbytes SA50-SA47 SA50-SA47 1010XXXXX 1010XXXXX 256 (4x64) Kbytes SA46-SA43 SA46-SA43 (Note: For the following discussion, the term "sector" applies to both sectors and sector blocks. A sector block consists of two or more adjacent sectors that are protected or unprotected at the same time (see Tables 2 and 4). 1001XXXXX 1001XXXXX 256 (4x64) Kbytes SA42-SA39 SA42-SA39 1000XXXXX 1000XXXXX 256 (4x64) Kbytes SA38-SA35 SA38-SA35 0111XXXXX 0111XXXXX 256 (4x64) Kbytes SA34-SA31 SA34-SA31 0110XXXXX 0110XXXXX 256 (4x64) Kbytes SA30-SA27 SA30-SA27 0101XXXXX 0101XXXXX 256 (4x64) Kbytes SA26-SA23 SA26-SA23 0100XXXXX 0100XXXXX 256 (4x64) Kbytes SA22SA19 0011XXXXX 0011XXXXX 256 (4x64) Kbytes SA18-SA15 SA18-SA15 0010XXXXX 0010XXXXX 256 (4x64) Kbytes SA14-SA11 SA14-SA11 0001XXXXX 0001XXXXX 256 (4x64) Kbytes SA10-SA8 SA10-SA8 000011XXX 000011XXX, 000010XXX 000010XXX, 000001XXX 000001XXX 192 (3x64) Kbytes 000001XXX 000001XXX, 000010XXX 000010XXX 000011XXX 000011XXX 192 (3x64) Kbytes SA4-SA7 0001XXXXX 0001XXXXX 256 (4x64) Kbytes SA8-SA11 SA8-SA11 0010XXXXX 0010XXXXX 256 (4x64) Kbytes SA12-SA15 SA12-SA15 0011XXXXX 0011XXXXX 256 (4x64) Kbytes SA16-SA19 SA16-SA19 0100XXXXX 0100XXXXX 256 (4x64) Kbytes SA7 000000111 8 Kbytes SA20-SA23 SA20-SA23 0101XXXXX 0101XXXXX 256 (4x64) Kbytes SA6 000000110 8 Kbytes 000000101 8 Kbytes SA1-SA3 SA24-SA27 SA24-SA27 0110XXXXX 0110XXXXX 256 (4x64) Kbytes SA5 SA28-SA31 SA28-SA31 0111XXXXX 0111XXXXX 256 (4x64) Kbytes SA4 000000100 8 Kbytes 000000011 8 Kbytes SA32-SA35 SA32-SA35 1000XXXXX 1000XXXXX 256 (4x64) Kbytes SA3 SA36-SA39 SA36-SA39 1001XXXXX 1001XXXXX 256 (4x64) Kbytes SA2 000000010 8 Kbytes SA40-SA43 SA40-SA43 1010XXXXX 1010XXXXX 256 (4x64) Kbytes SA1 000000001 8 Kbytes SA0 000000000 8 Kbytes SA44-SA47 SA44-SA47 1011XXXXX 1011XXXXX 256 (4x64) Kbytes SA48-SA51 SA48-SA51 1100XXXXX 1100XXXXX 256 (4x64) Kbytes SA52-SA55 SA52-SA55 1101XXXXX 1101XXXXX 256 (4x64) Kbytes SA56-SA59 SA56-SA59 1110XXXXX 1110XXXXX 256 (4x64) Kbytes SA60-SA62 SA60-SA62 111100XXX 111100XXX, 111101XXX 111101XXX, 111110XXX 111110XXX 192 (3x64) Kbytes SA63 111111000 8 Kbytes SA64 111111001 8 Kbytes SA65 111111010 8 Kbytes SA66 111111011 8 Kbytes SA67 111111100 8 Kbytes SA68 111111101 8 Kbytes SA69 111111110 8 Kbytes SA70 111111111 8 Kbytes October 13, 2003 The primary method requires VID on the RESET# pin only, and can be implemented either in-system or via programming equipment. Figure 2 shows the algorithms and Figure 26 shows the timing diagram. This method uses standard microprocessor bus cycle timing. For sector unprotect, all unprotected sectors must first be protected prior to the first sector unprotect write cycle. The sector unprotect algorithm unprotects all sectors in parallel. All previously protected sectors must be individually re-protected. To change data in protected sectors efficiently, the temporary sector unprotect function is available. See "Temporary Sector Unprotect". Am29DL320G Am29DL320G 17 The alternate method intended only for programming equipment requires VID on address pin A9 and OE#. This method is compatible with programmer routines written for earlier 3.0 volt-only AMD flash devices. Publication number 22244 contains further details; contact an AMD representative to request a copy. The device is shipped with all sectors unprotected. AMD offers the option of programming and protecting sectors at its factory prior to shipping the device through AMD's ExpressFlashTM Service. Contact an AMD representative for details. It is possible to determine whether a sector is protected or unprotected. See the Autoselect Mode section for details. Temporary Sector Unprotect (Note: For the following discussion, the term "sector" applies to both sectors and sector blocks. A sector block consists of two or more adjacent sectors that are protected or unprotected at the same time (Tables 2 and 4). This feature allows temporary unprotection of previously protected sectors to change data in-system. The Sector Unprotect mode is activated by setting the RESET# pin to VID. During this mode, formerly protected sectors can be programmed or erased by selecting the sector addresses. Once VID is removed from the RESET# pin, all the previously protected sectors are protected again. Figure 1 shows the algorithm, and Figure 25 shows the timing diagrams, for this feature. Write Protect (WP#) The Write Protect function provides a hardware method of protecting certain boot sectors without using VID. This function is one of two provided by the WP#/ACC pin. START If the system asserts VIL on the WP#/ACC pin, the device disables program and erase functions in the two "outermost" 8 Kbyte boot sectors independently of whether those sectors were protected or unprotected using the method described in "Sector/Sector Block Protection and Unprotection". The two outermost 8 Kbyte boot sectors are the two sectors containing the lowest addresses in a bottom-boot-configured device, or the two sectors containing the highest addresses in a top-boot-configured device. RESET# = VID (Note 1) Perform Erase or Program Operations RESET# = VIH If the system asserts VIH on the WP#/ACC pin, the device reverts to whether the two outermost 8K Byte boot sectors were last set to be protected or unprotected. That is, sector protection or unprotection for these two sectors depends on whether they were last protected or unprotected using the method described in "Sector/Sector Block Protection and Unprotection". Note that the WP#/ACC pin must not be left floating or unconnected; inconsistent behavior of the device may result. Temporary Sector Unprotect Completed (Note 2) Notes: 1. All protected sectors unprotected (If WP#/ACC = VIL, outermost boot sectors will remain protected). 2. All previously protected sectors are protected once again. Figure 1. 18 Am29DL320G Am29DL320G Temporary Sector Unprotect Operation October 13, 2003 START START Protect all sectors: The indicated portion of the sector protect algorithm must be performed for all unprotected sectors prior to issuing the first sector unprotect address PLSCNT = 1 RESET# = VID Wait 1 µs Temporary Sector Unprotect Mode No PLSCNT = 1 RESET# = VID Wait 1 µs No First Write Cycle = 60h? First Write Cycle = 60h? Yes Yes Set up sector address No Sector Protect: Write 60h to sector address with A6 = 0, A1 = 1, A0 = 0 All sectors protected? Yes Set up first sector address Sector Unprotect: Write 60h to any address with A6 = 1, A1 = 1, A0 = 0 Wait 150 µs Increment PLSCNT Temporary Sector Unprotect Mode Verify Sector Protect: Write 40h to sector address with A6 = 0, A1 = 1, A0 = 0 Reset PLSCNT = 1 Read from sector address with A6 = 0, A1 = 1, A0 = 0 Wait 15 ms Verify Sector Unprotect: Write 40h to sector address with A6 = 1, A1 = 1, A0 = 0 Increment PLSCNT No No PLSCNT = 25? Yes Yes No Yes Device failed PLSCNT = 1000? Protect another sector? No Yes Remove VID from RESET# Device failed Write reset command Sector Protect Algorithm Read from sector address with A6 = 1, A1 = 1, A0 = 0 Data = 01h? Sector Protect complete Set up next sector address No Data = 00h? Yes Last sector verified? No Yes Sector Unprotect Algorithm Remove VID from RESET# Write reset command Sector Unprotect complete Figure 2. In-System Sector Protection/ Sector Unprotection Algorithms October 13, 2003 Am29DL320G Am29DL320G 19 SecSiTM (Secured Silicon) Sector Flash Memory Region The SecSi (Secured Silicon) Sector feature provides a 256-byte Flash memory region that enables permanent part identification through an Electronic Serial Number (ESN). The SecSi Sector uses a SecSi Sector Indicator Bit (DQ7) to indicate whether or not the SecSi Sector is locked when shipped from the factory. This bit is permanently set at the factory and cannot be changed, which prevents cloning of a factory locked part. This ensures the security of the ESN once the product is shipped to the field. AMD offers the device with the SecSi Sector either fac t or y l ocke d or c u s t om e r l o ckabl e. T he fac tory-locked version is always protected when shipped from the factory, and has the SecSi (Secured Silicon) Sector Indicator Bit permanently set to a "1." The customer-lockable version is shipped with the SecSi Sector unprotected, allowing customers to utilize the that sector in any manner they choose. The customer-lockable version has the SecSi (Secured Silicon) Sector Indicator Bit permanently set to a "0." Thus, the SecSi Sector Indicator Bit prevents customer-lockable devices from being used to replace devices that are factory locked. The system accesses the SecSi Sector through a command sequence (see "Enter SecSiTM Sector/Exit SecSi Sector Command Sequence"). After the system has written the Enter SecSi Sector command sequence, it may read the SecSi Sector by using the addresses normally occupied by the boot sectors. This mode of operation continues until the system issues the Exit SecSi Sector command sequence, or until power is removed from the device. On power-up, or following a hardware reset, the device reverts to sending commands to the boot sectors. Factory Locked: SecSi Sector Programmed and Protected At the Factory In a factory locked device, the SecSi Sector is protected when the device is shipped from the factory. The SecSi Sector cannot be modified in any way. The device is available preprogrammed with one of the following: A random, secure ESN only Customer code through the ExpressFlash service Both a random, secure ESN and customer code through the ExpressFlash service. 20 In devices that have an ESN, a Bottom Boot device will h a ve t h e 1 6 - b y t e E S N a t a d d r e s s e s 000000h000007h in word mode (or 000000h00000Fh in byte mode). In the Top Boot device the ESN will be at addresses 1FF000h1FF007Fh in word mode (or addresses 3FE000h3FE0FFh in byte mode). Customers may opt to have their code programmed by AMD through the AMD ExpressFlash service. AMD programs the customer's code, with or without the random ESN. The devices are then shipped from AMD's factory with the SecSi Sector permanently locked. Contact an AMD representative for details on using AMD's ExpressFlash service. Customer Lockable: SecSi Sector NOT Programmed or Protected At the Factory If the security feature is not required, the SecSi Sector can be treated as an additional 256-byte Flash memory space, expanding the size of the available Flash array. Additionally, note the difference in the location of the ESN compared to previous Am29DL32x Am29DL32x top boot factory locked devices. The SecSi Sector is one-time programmable, may not be erased, and can be locked only once. Note that the accelerated programming (ACC) and unlock bypass functions are not available when programming the SecSi Sector. The SecSi Sector area can be protected using one of the following procedures: Write the three-cycle Enter SecSi Sector Region command sequence, and then follow the in-system sector protect algorithm as shown in Figure 2, except that RESET# may be at either VIH or VID. This allows in-system protection of the SecSi Sector without raising any device pin to a high voltage. Note that this method is only applicable to the SecSi Sector To verify the protect/unprotect status of the SecSi Sector, follow the algorithm shown in Figure 3. Once the SecSi Sector is locked and verified, the system must write the Exit SecSi Sector Region command sequence to return to reading and writing the remainder of the array. The SecSi Sector protection must be used with caution since, once protected, there is no procedure available for unprotecting the SecSi Sector area and none of the bits in the SecSi Sector memory space can be modified in any way. Am29DL320G Am29DL320G October 13, 2003 Logical Inhibit Write cycles are inhibited by holding any one of OE# = VIL, CE# = VIH or WE# = VIH. To initiate a write cycle, CE# and WE# must be a logical zero while OE# is a logical one. START RESET# = VIH or VID Wait 1 µs Write 60h to any address Write 40h to SecSi Sector address with A6 = 0, A1 = 1, A0 = 0 Read from SecSi Sector address with A6 = 0, A1 = 1, A0 = 0 Figure 3. If data = 00h, SecSi Sector is unprotected. If data = 01h, SecSi Sector is protected. Power-Up Write Inhibit If WE# = CE# = VIL and OE# = V IH during power up, the device does not accept commands on the rising edge of WE#. The internal state machine is automatically reset to the read mode on power-up. Remove VIH or VID from RESET# COMMON FLASH MEMORY INTERFACE (CFI) Write reset command The Common Flash Interface (CFI) specification outlines device and host system software interrogation handshake, which allows specific vendor-specified software algorithms to be used for entire families of devices. Software support can then be device-independent, JEDEC ID-independent, and forward- and backward-compatible for the specified flash device families. Flash vendors can standardize their existing interfaces for long-term compatibility. SecSi Sector Protect Verify complete SecSi Sector Protect Verify Hardware Data Protection The command sequence requirement of unlock cycles for programming or erasing provides data protection against inadvertent writes (refer to Table 13 for command definitions). In addition, the following hardware data protection measures prevent accidental erasure or programming, which might otherwise be caused by spurious system level signals during V CC power-up and power-down transitions, or from system noise. Low VCC Write Inhibit When VCC is less than VLKO, the device does not accept any write cycles. This protects data during VCC power-up and power-down. The command register and all internal program/erase circuits are disabled, and the device resets to the read mode. Subsequent writes are ignored until VCC is greater than VLKO. The system must provide the proper signals to the control pins to prevent unintentional writes when V CC is greater than VLKO. This device enters the CFI Query mode when the system writes the CFI Query command, 98h, to address 55h in word mode (or address AAh in byte mode), any time the device is ready to read array data. The system can read CFI information at the addresses given in Tables 912. To terminate reading CFI data, the system must write the reset command. The CFI Query mode is not accessible when the device is executing an Embedded Program or Embedded Erase algorithm. The system can also write the CFI query command when the device is in the autoselect mode. The device enters the CFI query mode, and the system can read CFI data at the addresses given in Tables 912. The system must write the reset command to return the device to reading array data. For further information, please refer to the CFI Specification and CFI Publication 100, available via the World Wide Web at http://www.amd.com/flash/cfi. Alternatively, contact an AMD representative for copies of these documents. Write Pulse "Glitch" Protection Noise pulses of less than 5 ns (typical) on OE#, CE# or WE# do not initiate a write cycle. October 13, 2003 Am29DL320G Am29DL320G 21 Table 9. CFI Query Identification String Addresses (Word Mode) Addresses (Byte Mode) Data 10h 11h 12h 20h 22h 24h 0051h 0052h 0059h Query Unique ASCII string "QRY" 13h 14h 26h 28h 0002h 0000h Primary OEM Command Set 15h 16h 2Ah 2Ch 0040h 0000h Address for Primary Extended Table 17h 18h 2Eh 30h 0000h 0000h Alternate OEM Command Set (00h = none exists) 19h 1Ah 32h 34h 0000h 0000h Address for Alternate OEM Extended Table (00h = none exists) Table 10. Description System Interface String Addresses (Word Mode) Addresses (Byte Mode) Data 1Bh 36h 0027h VCC Min. (write/erase) D7D4: volt, D3D0: 100 millivolt 1Ch 38h 0036h VCC Max. (write/erase) D7D4: volt, D3D0: 100 millivolt 1Dh 3Ah 0000h VPP Min. voltage (00h = no VPP pin present) 1Eh 3Ch 0000h VPP Max. voltage (00h = no VPP pin present) 1Fh 3Eh 0004h Typical timeout per single byte/word write 2N µs 20h 40h 0000h Typical timeout for Min. size buffer write 2N µs (00h = not supported) 21h 42h 000Ah Typical timeout per individual block erase 2N ms 22h 44h 0000h Typical timeout for full chip erase 2N ms (00h = not supported) 23h 46h 0005h Max. timeout for byte/word write 2N times typical 24h 48h 0000h Max. timeout for buffer write 2N times typical 25h 4Ah 0004h Max. timeout per individual block erase 2N times typical 26h 4Ch 0000h Max. timeout for full chip erase 2N times typical (00h = not supported) 22 Description Am29DL320G Am29DL320G October 13, 2003 Table 11. Addresses (Word Mode) Addresses (Byte Mode) Device Geometry Definition Data Description N 27h 4Eh 0016h Device Size = 2 byte 28h 29h 50h 52h 0002h 0000h Flash Device Interface description (refer to CFI publication 100) 2Ah 2Bh 54h 56h 0000h 0000h Max. number of bytes in multi-byte write = 2N (00h = not supported) 2Ch 58h 0002h Number of Erase Block Regions within device 2Dh 2Eh 2Fh 30h 5Ah 5Ch 5Eh 60h 0007h 0000h 0020h 0000h Erase Block Region 1 Information (refer to the CFI specification or CFI publication 100) 31h 32h 33h 34h 62h 64h 66h 68h 003Eh 0000h 0000h 0001h Erase Block Region 2 Information 35h 36h 37h 38h 6Ah 6Ch 6Eh 70h 0000h 0000h 0000h 0000h Erase Block Region 3 Information 39h 3Ah 3Bh 3Ch 72h 74h 76h 78h 0000h 0000h 0000h 0000h Erase Block Region 4 Information Table 12. Primary Vendor-Specific Extended Query Addresses (Word Mode) Addresses (Byte Mode) Data 40h 41h 42h 80h 82h 84h 0050h 0052h 0049h Query-unique ASCII string "PRI" 43h 86h 0031h Major version number, ASCII 44h 88h 0033h Minor version number, ASCII 45h 8Ah 0001h Silicon Revision Number 00h = 0.23 µm, 01h = 0.17 µm 46h 8Ch 0002h Erase Suspend 0 = Not Supported, 1 = To Read Only, 2 = To Read & Write 47h 8Eh 0001h Sector Protect 0 = Not Supported, X = Number of sectors in per group 48h 90h 0001h Sector Temporary Unprotect 00 = Not Supported, 01 = Supported 49h 92h 0004h Sector Protect/Unprotect scheme 04 = 29LV800 29LV800 mode 4Ah 94h 0038h Simultaneous Operation Number of Sectors (excluding Bank 1) 4Bh 96h 0000h Burst Mode Type 00 = Not Supported, 01 = Supported October 13, 2003 Description Am29DL320G Am29DL320G 23 Addresses (Word Mode) Addresses (Byte Mode) Data 4Ch 98h 0000h 4Dh 9Ah 0085h 4Eh 9Ch 0095h 4Fh 9Eh 000Xh Description Page Mode Type 00 = Not Supported, 01 = 4 Word Page, 02 = 8 Word Page ACC (Acceleration) Supply Minimum 00h = Not Supported, D7-D4: Volt, D3-D0: 100 mV ACC (Acceleration) Supply Maximum 00h = Not Supported, D7-D4: Volt, D3-D0: 100 mV Top/Bottom Boot Sector Flag 02h = Bottom Boot Device, 03h = Top Boot Device COMMAND DEFINITIONS Writing specific address and data commands or sequences into the command register initiates device operations. Table 13 defines the valid register command sequences. Writing incorrect address and data values or writing them in the improper sequence may place the device in an unknown state. A reset command is required to return the device to reading array data. All addresses are latched on the falling edge of WE# or CE#, whichever happens later. All data is latched on the rising edge of WE# or CE#, whichever happens first. Refer to the AC Characteristics section for timing diagrams. Reading Array Data The device is automatically set to reading array data after device power-up. No commands are required to retrieve data. Each bank is ready to read array data after completing an Embedded Program or Embedded Erase algorithm. After the device accepts an Erase Suspend command, the corresponding ban k enters the erase-suspend-read mode, after which the system can read data from any non-erase-suspended sector within the same bank. After completing a programming operation in the Erase Suspend mode, the system may once again read array data with the same exception. See the Erase Suspend/Erase Resume Commands section for more information. The system must issue the reset command to return a bank to the read (or erase-suspend-read) mode if DQ5 goes high during an active program or erase operation, or if the bank is in the autoselect mode. See the next section, Reset Command, for more information. See also Requirements for Reading Array Data in the Device Bus Operations section for more information. The Read-Only Operations table provides the read parameters, and Figure 14 shows the timing diagram. 24 Reset Command Writing the reset command resets the banks to the read or erase-suspend-read mode. Address bits are don't cares for this command. The reset command may be written between the sequence cycles in an erase command sequence before erasing begins. This resets the bank to which the system was writing to the read mode. Once erasure begins, however, the device ignores reset commands until the operation is complete. The reset command may be written between the sequence cycles in a program command sequence before programming begins. This resets the bank to which the system was writing to the read mode. If the program command sequence is written to a bank that is in the Erase Suspend mode, writing the reset co m m an d re tur ns th a t ba nk to the e ra s e- s us pend-read mode. Once programming begins, however, the device ignores reset commands until the operation is complete. The reset command may be written between the sequence cycles in an autoselect command sequence. Once in the autoselect mode, the reset command must be written to return to the read mode. If a bank entered the autoselect mode while in the Erase Suspend mode, writing the reset command returns that bank to the erase-suspend-read mode. If DQ5 goes high during a program or erase operation, writing the reset command returns the banks to the read mode (or erase-suspend-read mode if that bank was in Erase Suspend). Autoselect Command Sequence The autoselect command sequence allows the host system to access the manufacturer and device codes, and determine whether or not a sector is protected. Table 13 shows the address and data requirements. This method is an alternative to that shown in Table 6, which is intended for PROM programmers and requires V ID on address pin A9. The autoselect com- Am29DL320G Am29DL320G October 13, 2003 mand sequence may be written to an address within a bank that is either in the read or erase-suspend-read mode. The autoselect command may not be written while the device is actively programming or erasing in the other bank. The autoselect command sequence is initiated by first writing two unlock cycles. This is followed by a third write cycle that contains the bank address and the autoselect command. The bank then enters the autoselect mode. The system may read at any address within the same bank any number of times without initiating another autoselect command sequence: A read cycle at address (BA)XX00h (where BA is the bank address) returns the manufacturer code. A read cycle at address (BA)XX01h in word mode (or (BA)XX02h in byte mode) returns the device code. A read cycle to an address containing a sector address (SA) within the same bank, and the address 02h on A7A0 in word mode (or the address 04h on A6A-1 in byte mode) returns 01h if the sector is protected, or 00h if it is unprotected. (Refer to Table 2 for valid sector addresses). The system must write the reset command to return to the read mode (or erase-suspend-read mode if the bank was previously in Erase Suspend). When the Embedded Program algorithm is complete, that bank then returns to the read mode and addresses are no longer latched. The system can determine the status of the program operation by using DQ7, DQ6, or RY/BY#. Refer to the Write Operation Status section for information on these status bits. Any commands written to the device during the Embedded Program Algorithm are ignored. Note that a hardware reset immediately terminates the program operation. The program command sequence should be reinitiated once that bank has returned to the read mode, to ensure data integrity. Programming is allowed in any sequence and across sector boundaries. A bit cannot be programmed from "0" back to a "1." Attempting to do so may cause that bank to set DQ5 = 1, or cause the DQ7 and DQ6 status bits to indicate the operation was successful. However, a succeeding read will show that the data is still "0." Only erase operations can convert a "0" to a "1." Unlock Bypass Command Sequence Enter SecSiTM Sector/Exit SecSi Sector Command Sequence The SecSi Sector region provides a secured data area containing a random, sixteen-byte electronic serial number (ESN). The system can access the SecSi Sector region by issuing the three-cycle Enter SecSi Sector command sequence. The device continues to access the SecSi Sector region until the system issues the four-cycle Exit SecSi Sector command sequence. The Exit SecSi Sector command sequence returns the device to normal operation. The SecSi Sector is not accessible when the device is executing an Embedded Program or Embedded Erase algorithm. Table 13 shows the address and data requirements for both command sequences. See also "SecSiTM (Secured Silicon) Sector Flash Memory Region" for further information. Note that the ACC function and unlock bypass modes are unavailable when the SecSi Sector is enabled. Byte/Word Program Command Sequence The system may program the device by word or byte, depending on the state of the BYTE# pin. Programming is a four-bus-cycle operation. The program command sequence is initiated by writing two unlock write cycles, followed by the program set-up command. The program address and data are written next, which in turn initiate the Embedded Program algorithm. The October 13, 2003 system is not required to provide further controls or timings. The device automatically provides internally generated program pulses and verifies the programmed cell margin. Table 13 shows the address and data requirements for the byte program command sequence. The unlock bypass feature allows the system to program bytes or words to a bank faster than using the standard program command sequence. The unlock bypass command sequence is initiated by first writing two unlock cycles. This is followed by a third write cycle containing the unlock bypass command, 20h. That bank then enters the unlock bypass mode. A two-cycle unlock bypass program command sequence is all that is required to program in this mode. The first cycle in this sequence contains the unlock bypass program command, A0h; the second cycle contains the program address and data. Additional data is programmed in the same manner. This mode dispenses with the initial two unlock cycles required in the standard program command sequence, resulting in faster total programming time. Table 13 shows the requirements for the command sequence. During the unlock bypass mode, only the Unlock Bypass Program and Unlock Bypass Reset commands are valid. To exit the unlock bypass mode, the system must issue the two-cycle unlock bypass reset command sequence. The first cycle must contain the bank address and the data 90h. The second cycle need only contain the data 00h. The bank then returns to the read mode. The device offers accelerated program operations through the WP#/ACC pin. When the system asserts Am29DL320G Am29DL320G 25 VHH on the WP#/ACC pin, the device automatically enters the Unlock Bypass mode. The system may then write the two-cycle Unlock Bypass program command sequence. The device uses the higher voltage on the WP#/ACC pin to accelerate the operation. Note that the WP#/ACC pin must not be at V HH any operation other than accelerated programming, or device damage may result. In addition, the WP#/ACC pin must not be left floating or unconnected; inconsistent behavior of the device may result. Figure 4 illustrates the algorithm for the program operation. Refer to the Erase and Program Operations table in the AC Characteristics section for parameters, and Figure 18 for timing diagrams. algorithm. The device does not require the system to preprogram prior to erase. The Embedded Erase algorithm automatically preprograms and verifies the entire memory for an all zero data pattern prior to electrical erase. The system is not required to provide any controls or timings during these operations. Table 13 shows the address and data requirements for the chip erase command sequence. When the Embedded Erase algorithm is complete, that bank returns to the read mode and addresses are no longer latched. The system can determine the status of the erase operation by using DQ7, DQ6, DQ2, or RY/BY#. Refer to the Write Operation Status section for information on these status bits. Any commands written during the chip erase operation are ignored. However, note that a hardware reset immediately terminates the erase operation. If that occurs, the chip erase command sequence should be reinitiated once that bank has returned to reading array data, to ensure data integrity. START Figure 5 illustrates the algorithm for the erase operation. Refer to the Erase and Program Operations tables in the AC Characteristics section for parameters, and Figure 20 section for timing diagrams. Write Program Command Sequence Data Poll from System Sector Erase Command Sequence Verify Data? Embedded Program algorithm in progress Sector erase is a six bus cycle operation. The sector erase command sequence is initiated by writing two unlock cycles, followed by a set-up command. Two additional unlock cycles are written, and are then followed by the address of the sector to be erased, and the sector erase command. Table 13 shows the address and data requirements for the sector erase command sequence. No Yes Increment Address No The device does not require the system to preprogram prior to erase. The Embedded Erase algorithm automatically programs and verifies the entire memory for an all zero data pattern prior to electrical erase. The system is not required to provide any controls or timings during these operations. Last Address? Yes Programming Completed Note: See Table 13 for program command sequence. Figure 4. Program Operation Chip Erase Command Sequence Chip erase is a six bus cycle operation. The chip erase command sequence is initiated by writing two unlock cycles, followed by a set-up command. Two additional unlock write cycles are then followed by the chip erase command, which in turn invokes the Embedded Erase 26 After the command sequence is written, a sector erase time-out of 50 µs occurs. During the time-out period, additional sector addresses and sector erase commands (for sectors within the same bank) may be written. Loading the sector erase buffer may be done in any sequence, and the number of sectors may be from one sector to all sectors. The time between these additional cycles must be less than 50 µs, otherwise erasure may begin. Any sector erase address and command following the exceeded time-out may or may not be accepted. It is recommended that processor interrupts be disabled during this time to ensure all commands are accepted. The interrupts can be re-enabled after the last Sector Erase command is written. Any command other than Sector Erase or Erase Sus- Am29DL320G Am29DL320G October 13, 2003 pend during the time-out period resets that bank to the read mode. The system must rewrite the command sequence and any additional addresses and commands. The system can monitor DQ3 to determine if the sector erase timer has timed out (See the section on DQ3: Sector Erase Timer.). The time-out begins from the rising edge of the final WE# pulse in the command sequence. When the Embedded Erase algorithm is complete, the bank returns to reading array data and addresses are no longer latched. Note that while the Embedded Erase operation is in progress, the system can read data from the non-erasing bank. The system can determine the status of the erase operation by reading DQ7, DQ6, DQ2, or RY/BY# in the erasing bank. Refer to the Write Operation Status section for information on these status bits. Once the sector erase operation has begun, only the Erase Suspend command is valid. All other commands are ignored. However, note that a hardware reset immediately terminates the erase operation. If that occurs, the sector erase command sequence should be reinitiated once that bank has returned to reading array data, to ensure data integrity. duces status information on DQ7DQ0. The system can use DQ7, or DQ6 and DQ2 together, to determine if a sector is actively erasing or is erase-suspended. Refer to the Write Operation Status section for information on these status bits. After an erase-suspended program operation is complete, the bank returns to the erase-suspend-read mode. The system can determine the status of the program operation using the DQ7 or DQ6 status bits, just as in the standard Byte Program operation. Refer to the Write Operation Status section for more information. In the erase-suspend-read mode, the system can also issue the autoselect command sequence. Refer to the Autoselect Mode and Autoselect Command Sequence sections for details. To resume the sector erase operation, the system must write the Erase Resume command. The bank address of the erase-suspended bank is required when writing this command. Further writes of the Resume command are ignored. Another Erase Suspend command can be written after the chip has resumed erasing. Figure 5 illustrates the algorithm for the erase operation. Refer to the Erase and Program Operations tables in the AC Characteristics section for parameters, and Figure 20 section for timing diagrams. START Write Erase Command Sequence (Notes 1, 2) Erase Suspend/Erase Resume Commands The Erase Suspend command, B0h, allows the system to interrupt a sector erase operation and then read data from, or program data to, any sector not selected for erasure. The bank address is required when writing this command. This command is valid only during the sector erase operation, including the 50 µs time-out period during the sector erase command sequence. The Erase Suspend command is ignored if written during the chip erase operation or Embedded Program algorithm. When the Erase Suspend command is written during the sector erase operation, the device requires a maximum of 20 µs to suspend the erase operation. However, when the Erase Suspend command is written during the sector erase time-out, the device immediately terminates the time-out period and suspends the erase operation. After the erase operation has been suspended, the bank enters the erase-suspend-read mode. The system can read data from or program data to any sector not selected for erasure. (The device "erase suspends" all sectors selected for erasure.) Reading at any address within erase-suspended sectors proOctober 13, 2003 Data Poll to Erasing Bank from System No Embedded Erase algorithm in progress Data = FFh? Yes Erasure Completed Notes: 1. See Table 13 for erase command sequence. 2. See the section on DQ3 for information on the sector erase timer. Am29DL320G Am29DL320G Figure 5. Erase Operation 27 Table 13. Cycles Reset (Note 7) Autoselect (Note 8) Device ID (Note 9) Word Byte Word Byte SecSiTM Sector Factory Protect (Note 10) Word Sector/Sector Block Protect Verify (Note 11) Addr Data RA RD 1 Read (Note 6) Manufacturer ID XXX F0 4 4 Word Enter SecSi Sector Region Exit SecSi Sector Region Program Unlock Bypass Byte Byte Word Byte Word Byte Word Byte Word Byte Unlock Bypass Program (Note 12) Unlock Bypass Reset (Note 13) Chip Erase Sector Erase Bus Cycles (Notes 25) 1 Command Sequence (Note 1) Word Byte Word Byte Command Definitions 4 First 555 AAA 555 AAA 555 AAA Second AA AA AA 555 4 3 4 4 3 2 2 6 6 AAA 555 AAA 555 AAA 555 AAA 555 AAA Addr Data 2AA 555 2AA 555 2AA 555 55 55 55 2AA AA AA AA AA AA 555 2AA 555 2AA 555 2AA 555 2AA 555 Third Addr (BA)555 (BA)AAA (BA)555 (BA)AAA (BA)555 (BA)AAA Fourth Addr Data 90 (BA)X00 90 90 55 55 55 55 XXX A0 PA 90 XXX 555 AAA 555 AAA 555 AAA 555 AAA (BA)X02 (BA)X03 (BA)X06 7E (BA)X0E (BA)X1C Data 0A Addr Data (BA)X0F 00/ 01 (BA)X1E 82/02 (SA)X02 90 (SA)X04 00/01 88 90 XXX 00 A0 PA PD 20 PD BA (BA)AAA (BA)X01 Addr Sixth 01 (BA)555 55 Fifth Data 00 555 AAA 555 AAA AA AA Erase Suspend (Note 14) 1 BA 1 BA 555 2AA 555 55 55 555 AAA 555 AAA 80 80 555 AAA 555 AAA AA AA 2AA 555 2AA 555 55 55 555 AAA SA 10 30 B0 Erase Resume (Note 15) 2AA 30 CFI Query (Note 16) Word Byte 1 55 AA 98 Legend: X = Don't care RA = Address of the memory location to be read. RD = Data read from location RA during read operation. PA = Address of the memory location to be programmed. Addresses latch on the falling edge of the WE# or CE# pulse, whichever happens later. PD = Data to be programmed at location PA. Data latches on the rising edge of WE# or CE# pulse, whichever happens first. SA = Address of the sector to be verified (in autoselect mode) or erased. Address bits A20A12 uniquely select any sector. BA = Address of the bank that is being switched to autoselect mode, is in bypass mode, or is being erased. Notes: 1. See Table 1 for description of bus operations. 2. All values are in hexadecimal. 9. The device ID must be read across three cycles. The device ID is 00h for bottom boot devices, and 01h for top boot devices. 3. Except for the read cycle and the fourth cycle of the autoselect command sequence, all bus cycles are write cycles. 4. Data bits DQ15DQ8 are don't care in command sequences, except for RD and PD. 10. The data is 82h for factory locked and 02h for not factory locked. 11. The data is 00h for an unprotected sector/sector block and 01h for a protected sector/sector block. 5. Unless otherwise noted, address bits A20A11 are don't cares. 12. The Unlock Bypass command is required prior to the Unlock Bypass Program command. 6. No unlock or command cycles required when bank is reading array data. 13. The Unlock Bypass Reset command is required to return to the read mode when the bank is in the unlock bypass mode. 7. The Reset command is required to return to the read mode (or to the erase-suspend-read mode if previously in Erase Suspend) when a bank is in the autoselect mode, or if DQ5 goes high (while the bank is providing status information). 14. The system may read and program in non-erasing sectors, or enter the autoselect mode, when in the Erase Suspend mode. The Erase Suspend command is valid only during a sector erase operation, and requires the bank address. 8. The fourth cycle of the autoselect command sequence is a read cycle. The system must provide the bank address to obtain the manufacturer ID, device ID, or SecSi Sector factory protect information. Data bits DQ15DQ8 are don't care. See the Autoselect Command Sequence section for more information. 15. The Erase Resume command is valid only during the Erase Suspend mode, and requires the bank address. 28 16. Command is valid when device is ready to read array data or when device is in autoselect mode. Am29DL320G Am29DL320G October 13, 2003 WRITE OPERATION STATUS The device provides several bits to determine the status of a program or erase operation: DQ2, DQ3, DQ5, DQ6, and DQ7. Table 14 and the following subsections describe the function of these bits. DQ7 and DQ6 each offer a method for determining whether a program or erase operation is complete or in progress. The device also provides a hardware-based output signal, RY/BY#, to determine whether an Embedded Program or Erase operation is in progress or has been completed. invalid. Valid data on DQ7DQ0 will appear on successive read cycles. Table 14 shows the outputs for Data# Polling on DQ7. Figure 6 shows the Data# Polling algorithm. Figure 22 in the AC Characteristics section shows the Data# Polling timing diagram. DQ7: Data# Polling START The Data# Polling bit, DQ7, indicates to the host system whether an Embedded Program or Erase algorithm is in progress or completed, or whether a bank is in Erase Suspend. Data# Polling is valid after the rising edge of the final WE# pulse in the command sequence. Read DQ7DQ0 Addr = VA During the Embedded Program algorithm, the device outputs on DQ7 the complement of the datum programmed to DQ7. This DQ7 status also applies to programming during Erase Suspend. When the Embedded Program algorithm is complete, the device outputs the datum programmed to DQ7. The system must provide the program address to read valid status information on DQ7. If a program address falls within a protected sector, Data# Polling on DQ7 is active for approximately 1 µs, then that bank returns to the read mode. DQ7 = Data? No No Just prior to the completion of an Embedded Program or Erase operation, DQ7 may change asynchronously with DQ0DQ6 while Output Enable (OE#) is asserted low. That is, the device may change from providing status information to valid data on DQ7. Depending on when the system samples the DQ7 output, it may read the status or valid data. Even if the device has completed the program or erase operation and DQ7 has valid data, the data outputs on DQ0DQ6 may be still October 13, 2003 DQ5 = 1? Yes During the Embedded Erase algorithm, Data# Polling produces a "0" on DQ7. When the Embedded Erase algorithm is complete, or if the bank enters the Erase Suspend mode, Data# Polling produces a "1" on DQ7. The system must provide an address within any of the sectors selected for erasure to read valid status information on DQ7. After an erase command sequence is written, if all sectors selected for erasing are protected, Data# Polling on DQ7 is active for approximately 100 µs, then the bank returns to the read mode. If not all selected sectors are protected, the Embedded Erase algorithm erases the unprotected sectors, and ignores the selected sectors that are protected. However, if the system reads DQ7 at an address within a protected sector, the status may not be valid. Yes Read DQ7DQ0 Addr = VA DQ7 = Data? Yes No FAIL PASS Notes: 1. VA = Valid address for programming. During a sector erase operation, a valid address is any sector address within the sector being erased. During chip erase, a valid address is any non-protected sector address. 2. DQ7 should be rechecked even if DQ5 = "1" because DQ7 may change simultaneously with DQ5. Am29DL320G Am29DL320G Figure 6. Data# Polling Algorithm 29 RY/BY#: Ready/Busy# The RY/BY# is a dedicated, open-drain output pin which indicates whether an Embedded Algorithm is in progress or complete. The RY/BY# status is valid after the rising edge of the final WE# pulse in the command sequence. Since RY/BY# is an open-drain output, several RY/BY# pins can be tied together in parallel with a pull-up resistor to VCC. Table 14 shows the outputs for Toggle Bit I on DQ6. Figure 7 shows the toggle bit algorithm. Figure 23 in the "AC Characteristics" section shows the toggle bit timing diagrams. Figure 24 shows the differences between DQ2 and DQ6 in graphical form. See also the subsection on DQ2: Toggle Bit II. If the output is low (Busy), the device is actively erasing or programming. (This includes programming in the Erase Suspend mode.) If the output is high (Ready), the device is in the read mode, the standby mode, or one of the banks is in the erase-suspend-read mode. START Read DQ7DQ0 Table 14 shows the outputs for RY/BY#. Read DQ7DQ0 DQ6: Toggle Bit I Toggle Bit I on DQ6 indicates whether an Embedded Program or Erase algorithm is in progress or complete, or whether the device has entered the Erase Suspend mode. Toggle Bit I may be read at any address, and is valid after the rising edge of the final WE# pulse in the command sequence (prior to the program or erase operation), and during the sector erase time-out. During an Embedded Program or Erase algorithm operation, successive read cycles to any address cause DQ6 to toggle. The system may use either OE# or CE# to control the read cycles. When the operation is complete, DQ6 stops toggling. Toggle Bit = Toggle? Yes No If a program address falls within a protected sector, DQ6 toggles for approximately 1 µs after the program command sequence is written, then returns to reading array data. Read DQ7DQ0 Twice Toggle Bit = Toggle? No Yes Program/Erase Operation Not Complete, Write Reset Command Program/Erase Operation Complete Note: The system should recheck the toggle bit even if DQ5 = "1" because the toggle bit may stop toggling as DQ5 changes to "1." See the subsections on DQ6 and DQ2 for more information. DQ6 also toggles during the erase-suspend-program mode, and stops toggling once the Embedded Program algorithm is complete. 30 DQ5 = 1? Yes After an erase command sequence is written, if all sectors selected for erasing are protected, DQ6 toggles for approximately 100 µs, then returns to reading array data. If not all selected sectors are protected, the Embedded Erase algorithm erases the unprotected sectors, and ignores the selected sectors that are protected. The system can use DQ6 and DQ2 together to determine whether a sector is actively erasing or is erase-suspended. When the device is actively erasing (that is, the Embedded Erase algorithm is in progress), DQ6 toggles. When the device enters the Erase Suspend mode, DQ6 stops toggling. However, the system must also use DQ2 to determine which sectors are erasing or erase-suspended. Alternatively, the system can use DQ7 (see the subsection on DQ7: Data# Polling). No Am29DL320G Am29DL320G Figure 7. Toggle Bit Algorithm October 13, 2003 DQ2: Toggle Bit II The "Toggle Bit II" on DQ2, when used with DQ6, indicates whether a particular sector is actively erasing (that is, the Embedded Erase algorithm is in progress), or whether that sector is erase-suspended. Toggle Bit II is valid after the rising edge of the final WE# pulse in the command sequence. the toggle bit and DQ5 through successive read cycles, determining the status as described in the previous paragraph. Alternatively, it may choose to perform other system tasks. In this case, the system must start at the beginning of the algorithm when it returns to determine the status of the operation (top of Figure 7).