LH28F008SA * High-Density Symmetrically Blocked Architecture - Sixteen 64K Blocks * Extended Cycling Capability - 100,000 Block Erase Cycles - 1.6 Million Block Erase Cycles per Chip * Automated Byte Write and Block Erase - Command User Interface - Status Register * System Performance Enhancements - RY/BY Status Output - Erase Suspend Capability * Deep-Powerdown Mode - 0.20 A ICC Typical * Access Times: 85/120 ns * SRAM-Compatible Write Interface * Hardware Data Protection Feature - Erase/Write Lockout During Power Transitions * Industry Standard Packaging - 44-Lead SOP - 40-Lead TSOP * ETOX TM 1 Non-volatile Flash Technology - 12 V Byte Write/Block Erase * Independent Software Vendor Support - Microsoft 2 Flash File System (FFS) 1 2 3 8M (1M x 8) Flash Memory DESCRIPTION SHARP's LH28F008SA 8M Flash FileTM 3 Memory is the highest density non-volatile read/write solution for solid state storage. The LH28F008SA's extended cycling, symmetrically blocked architecture, fast access time, write automation and low power consumption provide a more reliable, lower power, lighter weight and higher performance alternative to traditional rotating disk technology. The LH28F008SA brings new capabilities to portable computing. Application and operating system software stored in resident flash memory arrays provide instant-on rapid execute-in-place and protection from obsolescence through in-system software updates. Resident software also extends system battery life and increases reliability by reducing disk drive accesses. For high density data acquisition applications, the LH28F008SA offers a more cost-effective and reliable alternative to SRAM and battery. Traditional high density embedded applications, such as telecommunications, can take advantage of the LH28F008SA's non-volatility, blocking and minimal system code requirements for flexible firmware and modular software designs. The LH28F008SA is offered in 40-lead TSOP (standard) package. Pin assignments simplify board layout when integrating multiple devices in a flash memory array or subsystem. This device uses an integrated Command User Interface and state machine for simplified block erasure and byte write. The LH28F008SA memory map consists of 16 separately erasable 64 Kbyte blocks. SHARP's LH28F008SA employs advanced CMOS circuitry for systems requiring low power consumption and noise immunity. Its 85 ns access time provides superior performance when compared with magnetic storage media. A deep powerdown mode lowers power consumption to 1 W typical thru VCC, crucial in portable computing, hand-held instrumentation and other lowpower applications. The PWD power control input also provides absolute data protection during system powerup/down. ETOX is a trademark of Intel Corporation. Microsoft is a trademark of Microsoft Corporation. Flash File is a trademark of Intel Corporation. 7-41 LH28F008SA PRODUCT OVERVIEW The LH28F008SA is a hi gh-perform ance 8M (8,388,608 bit) memory organized as 1M (1,048,576 bytes) of 8 bits each. Sixteen 64K (65,536 byte) blocks are included on the LH28F008SA. A memory map is shown in Figure 4 of this specification. A block erase operation erases one of the sixteen blocks of memory in typically 1.6 seconds, independent of the remaining blocks. Each block can be independently erased and written 100,000 cycles. Erase Suspend mode allows system software to suspend block erase to read data or execute code from any other block of the LH28F008SA. The LH28F008SA is available in the 40-lead TSOP (Thin Small Outline Package, 1.2 mm thick) package. Pinouts are shown in Figure 2 of this specification. The Command User Interface serves as the interface between the microprocessor or microcontroller and the internal operation of the LH28F008SA. Byte Write and Block Erase Automation allow byte write and block erase operations to be executed using a two-write command sequence to the Command User Interface. The internal Write State Machine (WSM) automatically executes the algorithms and timings necessary for byte write and block erase operations, including verifications, thereby unburdening the microprocessor or microcontroller. Writing of memory data is performed in byte increments typically within 9 s, an 80% improvement over current flash memory products. Ipp byte write and block erase currents are 10 mA typical, 30 mA maximum. Vpp byte write and block erase voltage is 11.4 V to 12.6 V. 7-42 8M (1M x 8) Flash Memory The Status Register indicates the status of the WSM and when the WSM successfully completes the desired byte write or block erase operation. The RY/BY output gives an additional indicator of WSM activity, providing capability for both hardware signal of status (versus software polling) and status masking (interrupt masking for background erase, for example). Status polling using RY/BY minimizes both CPU overhead and system power consumption. When low, RY/BY indicates that the WSM is performing a block erase or byte write operation. RY/BY high indicates that the WSM is ready for new commands, block erase is suspended or the device is in deep powerdown mode. Maximum access time is 85 ns (tACC) over the commercial temperature range (0C to +70C) and over VCC supply voltage range (4.5 V to 5.5 V and 4.75 V to 5.25 V). ICC active current (CMOS Read) is 20 mA typical, 35 mA maximum at 8 MHz. When the CE and PWD pins are at V CC, the ICC CMOS Standby mode is enabled. A Deep Powerdown mode is enabled when the PWD pin is at GND, minimizing power consumption and providing write protection. ICC current in deep powerdown is 0.20 A typical. Reset time of 400 ns is required from PWD switching high until outputs are valid to read attempts. Equivalently, the device has a wake time of 1 s from PWD high until writes to the Command User Interface are recognized by the LH28F008SA. With PWD at GND, the WSM is reset and the Status Register is cleared. A0 - A19 X-DECODER ADDRESS LATCH ADDRESS COUNTER Y-DECODER INPUT BUFFER OUTPUT MULTIPLEXER OUTPUT BUFFER 16 64 KBYTE BLOCKS Y-GATING DATA COMPARATOR STATUS REGISTER IDENTIFIER REGISTER INPUT BUFFER DATA A REGISTER DQ0 - DQ7 WRITE STATE MACHINE COMMAND USER INTERFACE PROGRAM/ERASE VOLTAGE SWITCH I/O LOGIC GND VCC VPP RY/BY PWD OE WE CE 8M (1M x 8) Flash Memory LH28F008SA Figure 1. Block Diagram 7-43 8M (1M x 8) Flash Memory LH28F008SA Table 1. Pin Description Symbol A0 - A19 DQ0 - DQ7 INPUT ADDRESS INPUTS for memory addresses. Addresses are internally latched during a write cycle. INPUT/OUTPUT DATA INPUT/OUTPUTS: Inputs data and commands during Command User Interface write cycles; outputs data during memory array, Status Register and Identifier read cycles. The data pins are active high and float to tri-state off when the chip is deselected or the outputs are disabled. Data is internally latched during a write cycle. CE INPUT CHIP ENABLE: Activates the device's control logic input buffers decoders, and sense amplifiers. CE is active low; CE high deselects the memory device and reduces power consumption to standby levels. PWD INPUT POWERDOWN: Puts the device in deep powerdown mode. PWD is active low; PWD high gates normal operation. PWD also locks out block erase or byte write operations when active low, providing data protection during power transitions. OE INPUT OUTPUT ENABLE: Gates the device's outputs through the data buffers during a read cycle. OE is active low. WE INPUT WRITE ENABLE: Controls writes to the Command User Interface and array blocks. WE is active low. Addresses and data are latched on the rising edge of the WE pulse. RY/BY 7-44 Name and Function Type OUTPUT READY/BUSY: Indicates the status of the internal Write State Machine. When low, it indicates that the WSM is performing a block erase or byte write operation. RY/BY high indicates that the WSM is ready for new commands, block erase is suspended or the device is in deep powerdown mode. RY/BY is always active and does NOT float to tri-state off when the chip is deselected or data outputs are disabled. VPP BLOCK ERASE/BYTE WRITE POWER SUPPLY for erasing blocks of the array or writing bytes of each block. NOTE: With VPP < VPPLMAX, memory contents cannot be altered. VCC DEVICE POWER SUPPLY (5V10%, 5V5%) GND GROUND 8M (1M x 8) Flash Memory LH28F008SA Standard Pinout A19 A18 A17 A16 A15 A14 A13 A12 CE VCC VPP PWD A11 A10 A9 A8 A7 A6 A5 A4 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 STANDARD PINOUT LH28F008SAT 40 LEAD TSOP 10mm x 20 mm TOP VIEW 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 NC NC WE OE RY/BY DQ 7 DQ 6 DQ 5 DQ 4 V CC GND GND DQ 3 DQ 2 DQ 1 DQ 0 A0 A1 A2 A3 Figure 2. TSOP Lead Configuration 7-45 8M (1M x 8) Flash Memory GND VCC 16 64 KBYTE BLOCKS Y-GATING DATA COMPARATOR STATUS REGISTER X-DECODER ADDRESS LATCH ADDRESS COUNTER Y-DECODER INPUT BUFFER A0 - A19 OUTPUT BUFFER OUTPUT MULTIPLEXER DQ0 - DQ7 IDENTIFIER REGISTER DATA A REGISTER INPUT BUFFER COMMAND USER INTERFACE WRITE STATE MACHINE I/O LOGIC PROGRAM/ERASE VOLTAGE SWITCH VPP RY/BY PWD OE WE CE LH28F008SA Figure 3. LH28F008SA Array Interface to 386SL Microprocessor Superset through PI Bus (Including RY/BY Masking and Selective Powerdown), for DRAM Backup During System SUSPEND, Resident O/S and Applications and Motherboard Solid-State Disk 7-46 8M (1M x 8) Flash Memory PRINCIPLES OF OPERATION LH28F008SA FFFFF The LH28F008SA includes on-chip write automation to manage write and erase functions. The Write State Machine allows for: 100% TTL-level control inputs; fixed power supplies during block erasure and byte write; and minimal processor overhead with SRAM-like interface timings. F0000 EFFFF After initial device powerup, or after return from deep powerdown mode (see Bus Operations), the LH28F008SA functions as a read-only memory. Manipulation of external memory-control pins allow array read, standby and output disable operations. Both Status Register and intelligent identifiers can also be accessed through the Command User Interface when VPP = VPPL. C0000 BFFFF This same subset of operations is also available when high voltage is applied to the VPP pin. In addition, high voltage on V PP enables successful block erasure and byte writing of the device. All functions associated with altering memory contents - byte write, block erase, status and intelligent identifier - are accessed via the Command User Interface and verified thru the Status Register. Commands are written using standard microprocessor write timings. Command User Interface contents serve as input to the WSM, which controls the block erase and byte write circuitry. Write cycles also internally latch addresses and data needed for byte write or block erase operations. With the appropriate command written to the register, standard microprocessor read timings output array data, access the intelligent identifier codes, or output byte write and block erase status for verification. Interface software to initiate and poll progress of internal byte write and block erase can be stored in any of the LH28F008SA blocks. This code is copied to, and executed from, system RAM during actual flash memory update. After successful completion of byte write and/or block erase, code/data reads from the LH28F008SA are again possible via the Read Array command. Erase suspend/resume capability allows system software to suspend block erase to read data and execute code from any other block. E0000 DFFFF D0000 CFFFF B0000 AFFFF A0000 9FFFF 90000 8FFFF 80000 7FFFF 70000 6FFFF 60000 5FFFF 50000 4FFFF 40000 3FFFF 30000 2FFFF 20000 1FFFF 10000 0FFFF 64 Kbyte Block 64 Kbyte Block 64 Kbyte Block 64 Kbyte Block 64 Kbyte Block 64 Kbyte Block 64 Kbyte Block 64 Kbyte Block 64 Kbyte Block 64 Kbyte Block 64 Kbyte Block 64 Kbyte Block 64 Kbyte Block 64 Kbyte Block 64 Kbyte Block 64 Kbyte Block 00000 Figure 4. Memory Map Command User Interface and Write Automation An on-chip state machine controls block erase and byte write, freeing the system processor for other tasks. After receiving the Erase Setup and Erase Confirm commands, the state machine controls block pre-conditioning and erase, returning progress via the Status Register and RY/BY output. Byte write is similarly controlled, after destination address and expected data are supplied. The program and erase algorithms of past standard Flash memories are now regulated by the state machine, including pulse repetition where required and internal verification and margining of data. 7-47 8M (1M x 8) Flash Memory LH28F008SA The first task is to write the appropriate read mode command to the Command User Interface (array, intelligent identifier, or Status Register). The LH28F008SA automatically resets to Read Array mode upon initial device powerup or after exit from deep powerdown. The LH28F008SA has four control pins, two of which must be logically active to obtain data at the outputs. Chip Enable (CE) is the device selection control, and when active enables the selected memory device. Output Enable (OE) is the data input/output (DQ0-DQ7) direction control, and when active drives data from the selected memory onto the I/O bus. PWD and WE must also be at VIH. Figure 8 illustrates read bus cycle waveforms. Data Protection Depending on the application, the system designer may choose to make the VPP power supply switchable (available only when memory byte writes/block erases are required) or hardwired to VPPH. When VPP = VPPL, memory contents cannot be altered. The LH28F008SA Command User Interface architecture provides protection from unwanted byte write or block erase operations even when high voltage is applied to V PP. Additionally, all functions are disabled whenever VCC is below the write lockout voltage VLKO , or when PWD is at V IL. The LH28F008SA accommodates either design practice and encourages optimization of the processor-memory interface. Output Disable The two-step byte write/block erase Command User Interface write sequence provides additional software write protection. With OE at a logic-high level (VIH), the device outputs are disabled. Output pins (DQ0-DQ7) are placed in a high-impedance state. BUS OPERATION Standby Flash memory reads, erases and writes in-system via the local CPU. All bus cycles to or from the flash memory conform to standard microprocessor bus cycles. CE at a logic-high level (VIH) places the LH28F008SA in standby mode. Standby operation disables much of the LH28F008SA's circuitry and substantially reduces device power consumption. The outputs (DQ0-DQ7) are placed in a high-impedance state independent of the status of OE. If the LH28F008SA is deselected during block erase or byte write, the device will continue functioning and consuming normal active power until the operation completes. Read The LH28F008SA has three read modes. The memory can be read from any of its blocks, and information can be read from the intelligent identifier or Status Register. V PP can be at either V PPL or VPPH. Table 2. Bus Operations Notes PWD CE OE WE A0 VPP DQ0-7 RY/BY 1, 2, 3 VIH VIL VIL VIH X X DOUT X Output Disable 3 VIH VIL VIH VIH X X High Z X Standby 3 VIH VIH X X X X High Z X Deep PowerDown VIL X X X X X High Z VOH Intelligent Identifier (Mfr) VIH VIL VIL VIH VIL X 89H VOH Intelligent Identifier (Device) VIH VIL VIL VIH VIH X A2H VOH VIH VIL VIH VIL X X DIN X Mode Read Write 3, 4, 5 NOTES: 1. Refer to DC Characteristics. When VPP = VPPL, memory contents can be read but not written or erased. 2. X can be VIL or VIH for control pins and addresses, and VPPL or VPPH for VPP. See DC Characteristics for VPPL and VPPH voltages. 3. RY/BY is VOL when the Write State Machine is executing internal block erase or byte write algorithms. It is VOH when the WSM is not busy, in Erase Suspend mode or deep powerdown mode. 4. Command writes involving block erase or byte write are only successfully executed when VPP = VPPH. 5. Refer to Table 3 for valid DIN during a write operation. 7-48 8M (1M x 8) Flash Memory LH28F008SA Deep Power-Down Intelligent Identifier Operation The LH28F008SA offers a deep powerdown feature, entered when PWD is at V IL. Current draw thru VCC is 0.20 A typical in deep powerdown mode, with current draw through VPP typically 0.1 A. During read modes, PWD-low deselects the memory, places output drivers in a high-impedance state and turns off all internal circuits. The LH28F008SA requires time tPHQV (see AC Characteristics-Read-Only Operations) after return from powerdown until initial memory access outputs are valid. After this wakeup interval, normal operation is restored. The Command User Interface is reset to Read Array, and the upper 5 bits of the Status Register are cleared to value 10000, upon return to normal operation. The intelligent identifier operation outputs the manufacturer code, 89H; and the device code, A2H for the LH28F008SA. The system CPU can then automatically match the device with its proper block erase and byte write algorithms. The manufacturer- and device-codes are read via the Command User Interface. Following a write of 90H to the Command User Interface, a read from address location 00000H outputs the manufacturer code (89H). A read from address 00001H outputs the device code (A2H). It is not necessary to have high voltage applied to VPP to read the intelligent identifiers from the Command User Interface. During block erase or byte write modes, PWD low will abort either operation. Memory contents of the block being altered are no longer valid as the data will be partially written or erased. Time tPHWL after PWD goes to logic-high (VIH) is required before another command can be written. Write Writes to the Command User Interface enable reading of device data and intelligent identifiers. They also control inspection and clearing of the Status Register. Additionally, when VPP = VPPH, the Command User Interface controls block erasure and byte write. The contents of the interface register serve as input to the internal state machine. Table 3. Command Definitions Command Bus Cycles Req'd First Bus Cycle Notes Second Bus Cycle Operation Address Data Operation Address Data Read Array/Reset 1 1 Write X FFH Intelligent Identifier 3 2, 3, 4 Write X 90H Read IA IID Read Status Register 2 3 Write X 70H Read X SRD Clear Status Register 1 Write X 50H Erase Setup/Erase Confirm 2 2 Write BA 20H Write X D0H Byte Write Setup/Write 2 2, 3, 5 Write WA 40H Write WA WD Alternate Byte Write Setup/Write 2 2, 3, 5 Write WA 10H Write WA WD NOTES: 1. Bus operations are defined in Table 2. 2. IA = Identifier Address: 00H for manufacturer code, 01H for device code. BA = Address within the block being erased. WA = Address of memory location to be written. 3. SRD = Data read from Status Register. See Table 4 for a description of the Status Register bits. WD = Data to be written at location WA. Data is latched on the rising edge of WE. IID = Data read from intelligent identifiers. 4. Following the intelligent identifier command, two read operations access manufacture and device codes. 5. Either 40H or 10H are recognized by the WSM as the Byte Write Setup command. 6. Commands other than those shown above are reserved by Intel for future device implementations and should not be used. 7-49 8M (1M x 8) Flash Memory LH28F008SA The Command User Interface itself does not occupy an addressable memory location. The interface register is a latch used to store the command and address and data information needed to execute the command. Erase Setup and Erase Confirm commands require both appropriate command data and an address within the block to be erased. The Byte Write Setup command requires both appropriate command data and the address of the location to be written, while the Byte Write command consists of the data to be written and the address of the location to be written. The Command User Interface is written by bringing WE to a logic-low level (VIL) while CE is low. Addresses and data are latched on the ri sing edge of WE. Standard microprocessor write timings are used. Refer to AC Write Characteristics and the AC Waveforms for Write Operations, Figure 9, for specific timing parameters. COMMAND DEFINITIONS When VPPL is applied to the VPP pin, read operations from the Status Register, intelligent identifiers, or array blocks are enabled. Placing VPPH on VPP enables successful byte write and block erase operations as well. Read Array Command Upon initial device powerup and after exit from deep powerdown mode, the LH28F008SA defaults to Read Array mode. This operation is also initiated by writing FFH into the Command User Interface. Microprocessor read cycles retrieve array data. The device remains enabled for reads until the Command User Interface contents are altered. Once the internal Write State Machine has started a block erase or byte write operation, the device will not recognize the Read Array command, until the WSM has completed its operation. The Read Array command is functional when V PP = VPPL or VPPH. Intelligent Identifier Command The LH28F008SA contains an intelligent identifier operation, initiated by writing 90H into the Command User Interface. Following the command write, a read cycle from address 00000H retrieves the manufacturer code of 89H. A read cycle from address 00001H returns the device code of A2H. To terminate the operation, it is necessary to write another valid command into the register. Like the Read Array command, the intelligent identifier command is functional when VPP = VPPL or VPPH. Device operations are selected by writing specific commands into the Command User Interface. Table 3 defines the LH28F008SA commands. Table 4. Status Register Definitions SR.7 = SR.6 = SR.5 = SR.4 = SR.3 = WSMS ESS ES BWS VPPS R R R 7 6 5 4 3 2 1 0 WRITE STATE MACHINE STATUS (WSMS) 1 = Ready 0 = Busy ERASE SUSPEND STATUS (ESS) 1 = Erase Suspended 0 = Erase in Progress/Completed ERASE STATUS (ES) 1 = Error in Block Erasure 0 = Successful Block Erase BYTE WRITE STATUS (BWS) 1 = Error in Byte Write 0 = Successful Byte Write VPP STATUS (VPPS) 1 = VPP Low Detect; Operation Abort 0 = VPP OK NOTES: RY/BY or the Write State Machine Status bit must first be checked to determine byte write or block erase completion, before the Byte Write or Erase Status bit are checked for success. If the Byte Write AND Erase Status bits are set to "1"s during a block erase attempt, an improper command sequence was entered. Attempt the operation again. If VPP low status is detected, the Status Register must be cleared before another byte write or block erase operation is attempted. The V PP Status bit, unlike an A/D converter, does not provide continuous indication of VPP level. The WSM interrogates the VPP level only after the byte write or block erase command sequences have been entered and informs the system if VPP has not been switched on. The VPP Status bit is not guaranteed to report accurate feedback between VPPL and VPPH. SR.2 - SR.0 = RESERVED FOR FUTURE (R) ENHANCEMENTS These bits are reserved for future use and should be masked out when polling the Status Register. 7-50 8M (1M x 8) Flash Memory Read Status Register Command The LH28F008SA contains a Status Register which may be read to determine when a byte write or block erase operation is complete, and whether that operation completed successfully. The Status Register may be read at any time by writing the Read Status Register command (70H) to the Command User Interface. After writing this command, all subsequent read operations output data from the Status Register, until another valid command is written to the Command User Interface. The contents of the Status Register are latched on the falling edge of OE or CE, whichever occurs last in the read cycle. OE or CE must be toggled to VIH before further reads to update the Status Register latch. The Read Status Register command functions when V PP = V PPL or VPPH. Clear Status Register Command The Erase Status and Byte Write Status bits are set to "1"s by the Write State Machine and can only be reset by the Clear Status Register Command. These bits indicate various failure conditions (see Table 4). By allowing system software to control the resetting of these bits, several operations may be performed (such as cumulatively writing several bytes or erasing multiple blocks in sequence). The Status Register may then be polled to determine if an error occurred during that sequence. This adds flexibility to the way the device may be used. Additionally, the VPP Status bit (SR.3) MUST be reset by system software before further byte writes or block erases are attempted. To clear the Status Register, the Clear Status Register command (50H) is written to the Command User Interface. The Clear Status Register command is functional when VPP = VPPL or V PPH. Erase Setup/Erase Confirm Commands Erase is executed one block at a time, initiated by a two-cycle command sequence. An Erase Setup command (20H) is first written to the Command User Interface, followed by the Erase Confirm command (D0H). These commands require both appropriate sequencing and an address within the block to be erased to FFH. Block preconditioning, erase and verify are all handled internally by the Write State Machine, invisible to the system. After the two-command erase sequence is written to it, the LH28F008SA automatically outputs Status Register data when read (see Figure 6; Block Erase Flowchart). The CPU can detect the completion of the erase event by analyzing the output of the RY/BY pin, or the WSM Status bit of the Status Register. When erase is completed, the Erase Status bit should be checked. If erase error is detected, the Status Register should be cleared. The Command User Interface LH28F008SA remains in Read Status Register mode until further commands are issued to it. This two-step sequence of set-up followed by execution ensures that memory contents are not accidentally erased. Also, reliable blockerasure can only occur when VPP = VPPH. In the absence of this high voltage, memory contents are protected against erasure. If block erase is attempted while VPP = VPPL, the VPP Status bit will be set to "1". Erase attempts while VPPL