K9F4008W0A-TCB0, K9F4008W0A-TIB0 FLASH MEMORY Document Title 512K x 8 bit NAND Flash Memory Revision History Revision No. History Draft Date Remark Preliminary Initial issue. April 10th 1998 1.0 1. Changed Operating Voltage 2.7V ~ 5.5V → 3.0V ~ 5.5V July 14th 1998 1.1 Data Sheet 1999 1. Added CE don’t care mode during the data-loading and reading April 10th 1999 1.2 1. Changed device name - KM29W040AT -> K9F4008W0A-TCB0 - KM29W040AIT -> K9F4008W0A-TIB0 Sep. 15th 1999 1.3 1.Powerup sequence is added : Recovery time of minimum 1µs is required before internal circuit gets ready for any command sequences ≈ 0.0 ~ 2.5V Jul. 23th 2001 ~ 2.5V High ≈ VCC WP 1µ ≈ WE 2. AC parameter tCLR(CLE to RE Delay, min 50ns) is added. 3. AC parameter tAR is devided into tAR1, tAR2 ALE to RE Delay tAR 250 (before revision) - ns (after revision) ALE to RE Delay(ID Delay) tAR1 20 - ns ALE to RE Delay(Read Cycle) tAR2 250 - ns Note : For more detailed features and specifications including FAQ, please refer to Samsung’s Flash web site. http://www.intl.samsungsemi.com/Memory/Flash/datasheets.html The attached datasheets are prepared and approved by SAMSUNG Electronics. SAMSUNG Electronics CO., LTD. reserve the right to change the specifications. SAMSUNG Electronics will evaluate and reply to your requests and questions about device. If you have any questions, please contact the SAMSUNG branch office near you. 1 K9F4008W0A-TCB0, K9F4008W0A-TIB0 FLASH MEMORY 512K x 8 Bit NAND Flash Memory FEATURES GENERAL DESCRIPTION • Voltage Supply: 3.0V~5.5V • Organization - Memory Cell Array : 512K x 8 bit - Data Register : 32 x 8 bit • Automatic Program and Erase (Typical) - Frame Program : 32 Byte in 500µs - Block Erase : 4K Byte in 6ms • 32-Byte Frame Read Operation - Random Access : 15µs(Max.) - Serial Frame Access : 120ns(Min.) • Command/Address/Data Multiplexed I/O port • Low Operation Current (Typical) - 10µA Standby Current - 10mA Read/ Program/Erase Current • Reliable CMOS Floating-Gate Technology - Endurance : 100K Program/Erase Cycles • Package - 44(40) - Lead TSOP Type II (400mil / 0.8 mm pitch) The K9F4008W0A is a 512Kx8bit NAND Flash Memory. Its NAND cell structure provides the most cost-effective solution for Digital Audio Recording. A Program operation programs a 32-byte frame in typical 500µs and an Erase operation erase a 4K-byte block in typical 6ms. Data in a frame can be read out at a burst cycle rate of 120ns/byte. The I/O pins serve as the ports for address and data input/output as well as for command inputs. The on-chip write controller automates the program and erase operations, including program or erase pulse repetition where required, and performs internal verification of cell data. PIN CONFIGURATION PIN DESCRIPTION The K9F4008W0A is an optimum solution for flash memory application that do not require the high performance levels or capacity of larger density flash memories. These application include data storage in digital Telephone Answering Devices(TAD) and other consumer applications that require voice data storage. Pin Name I/O0 ~ I/O7 CLE VSS CLE ALE WE WP N.C N.C N.C N.C N.C N.C N.C N.C N.C N.C I/O0 I/O1 I/O2 I/O3 VSS 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 44 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 VCC CE RE R/B GND N.C N.C N.C N.C N.C N.C N.C N.C N.C N.C I/O7 I/O6 I/O5 I/O4 VCC Data Inputs/Outputs Command Latch Enable ALE Address Latch Enable CE Chip Enable RE Read Enable WE Write Enable WP Write Protect GND Ground Input R/B Ready/Busy output VCC Power VSS Ground N.C No Connection 44(40) TSOP (II) NOTE : Connect all VCC and VSS pins of each device to common power supply outputs. Do not leave VCC, VSS or GND inputs disconnected. 2 Pin Function K9F4008W0A-TCB0, K9F4008W0A-TIB0 FLASH MEMORY Figure 1. FUNCTIONAL BLOCK DIAGRAM X-Buffers Latches & Decoders A7 - A18 4M Bit NAND Flash ARRAY 32Byte x 4Frames x 4096Rows Y-Buffers Latches & Decoders A0 - A6 Page Register & S/A Y-Gating Command Command Register CE RE WE I/O Buffers & Latches Control Logic & High Voltage Generator I/O0 Global Buffers I/O7 CLE ALE WP Figure 2. ARRAY ORGANIZATION Good Block 1Block = 32 Rows = 4K Bytes The 1st Block (4KB) 4K Rows (=128 Blocks) 1 4 3 2 1 Frame = 32 Bytes 1 Row = 4 Frames = 128 Bytes 1 Block = 32 Rows = 4K Bytes 1 Device = 32Bytes x 4Frames x 32Rows x 128Blocks = 4Mbits 8 bit 128Bytes I/O0 ~ I/O7 Frame Register 32 Bytes I/O0 I/O1 I/O2 I/O3 I/O4 I/O5 I/O6 I/O7 1st Cycle A0 A1 A2 A3 A4 A5 A6 A7 2nd Cycle A8 A9 A10 A11 A12 A13 A14 A15 3rd Cycle A16 A17 A18 X* X* X* *X *X (1) NOTE : *(1) : X can be VIL or VIH * The device ignores any additional input of address cycles than reguired. 3 Column Address (A0-A4) Frame Address (A5-A6) Row Address (A7-A11) Block Address (A12-A18) K9F4008W0A-TCB0, K9F4008W0A-TIB0 FLASH MEMORY PRODUCT INTRODUCTION The K9F4008W0A is a 4M bit memory organized as 4096 rows by 1024 columns. A 256-bit data register is connected to memory cell arrays accommodating data transfer between the registers and the cell array during frame read and frame program operations. The memory array is composed of unit NAND structures in which 8 cells are connected serially. Each of the 8 cells reside in a different row. A block consists of the 32 rows, totaling 4096 unit NAND structures of 8bits each. The array organization is shown in Figure 2. The program and read operations are executed on a frame basis, while the erase operation is executed on a block basis. The memory array consists of 128 separately erasable 4K-byte blocks. The K9F4008W0A has addresses multiplexed into 8 I/O pins. This scheme not only reduces pin count but allows systems upgrades to higher density flash memories by maintaining consistency in system board design. Command, address and data are all written through I/O′s by bringing WE to low while CE is low. Data is latched on the rising edge of WE. Command Latch Enable(CLE) and Address Latch Enable(ALE) are used to multiplex command and address respectively, via the I/O pins. All commands require one bus cycle except for Block Erase command which requires two cycles. For byte-level addressing, the 512K byte physical space requires a 19-bit address, low row address and high row address. Frame Read and frame Program require the same three address cycles following by a command input. In the Block Erase operation, however, only the two row address cycles are required. Device operations are selected by writing specific commands into the command register. Table 1 defines the specific commands of the K9F4008W0A. Table 1. COMMAND SETS Function 1st. Cycle 2nd. Cycle Read 00h - Reset FFh - Frame Program 80h 10h Block Erase 60h D0h Status read 70h - Read ID 90h - Caution : Any undefined command inputs are prohibited except for above command set of Table 1. 4 Acceptable Command during Busy O O K9F4008W0A-TCB0, K9F4008W0A-TIB0 FLASH MEMORY PIN DESCRIPTION Command Latch Enable(CLE) The CLE input controls the path activation for commands sent to the command register. When active high, commands are latched into the command register through the I/O ports on the rising edge of the WE signal. Address Latch Enable(ALE) The ALE input controls the activating path for address to the internal address registers. Addresses are latched on the rising edge of WE with ALE high. Chip Enable(CE) The CE input is the device selection control. When CE goes high during a read operation the device is returned to standby mode. However, when the device is in the busy state during program or erase, CE high is ignored, and does not return the device to standby mode. Write Enable(WE) The WE input controls writes to the I/O port. Commands, address and data are latched on the rising edge of the WE pulse. Read Enable(RE) The RE input is the serial data-out control, and when active drives the data onto the I/O bus. Data is valid tREA after the falling edge of RE which also increments the internal column address counter by one. I/O Port : I/O0 ~ I/O7 The I/O pins are used to input command, address and data, and to output data during read operations. The I/O pins float to high-z when the chip is deselected or when the outputs are disabled. Write Protect(WP) The WP pin provides inadvertent write/erase protection during power transitions. The internal high voltage generator is reset when the WP pin is active low. Ready/Busy(R/B) The R/B output indicates the status of the device operation. When low, it indicates that a program, erase or random read operation is in process and returns to high state upon completion. It is an open drain output and does not float to high-z condition when the chip is deselected or when outputs are disabled. 5 K9F4008W0A-TCB0, K9F4008W0A-TIB0 FLASH MEMORY ABSOLUTE MAXIMUM RATINGS Parameter Symbol Rating Unit VIN -0.6 to +7.0 V Voltage on any pin relative to VSS Temperature Under Bias K9F4008W0A-TCB0 -10 to +125 TBIAS K9F4008W0A-TIB0 °C -40 to +125 Storage Temperature TSTG °C -65 to +150 NOTE : 1. Minimum DC voltage is -0.6V on input/output pins. During transitions, this level may undershoot to -2.0V for periods <20ns. Maximum DC voltage on input/output pins is VCC+0.3V which, during transitions, may overshoot to VCC+2.0V for periods <20ns. 2. Permanent device damage may occur if ABSOLUTE MAXIMUM RATINGS are exceeded. Functional operation should be restricted to the conditions as detailed in the operational sections of this data sheet. Exposure to absolute maximum rating conditions for extended periods may affect reliability. RECOMMENDED OPERATING CONDITIONS (Voltage reference to GND, K9F4008W0A-TCB0:TA=0 to 70°C, K9F4008W0A-TIB0:TA=-40 to 85°C) Parameter Symbol Min Typ. Max Unit Supply Voltage VCC Supply Voltage VSS 3.0 - 5.5 V 0 0 0 V DC AND OPERATING CHARACTERISTICS(Recommended operating conditions otherwise noted.) Parameter Operating Current Symbol Test Conditions tRC=120ns,CE=VIL, IOUT=0mA Vcc = 3.0V ~ 3.6V Vcc = 3.6V ~ 5.5V Min Typ Max Min Typ Max Burst Read Cycle ICC1 - 5 10 - 10 20 Program ICC2 - - 5 10 - 10 20 Erase ICC3 - - 5 10 - 10 20 Stand-by Current(TTL) ISB1 CE=VIH, WP=0V/VCC - - 1 - - 1 Stand-by Current(CMOS) ISB2 CE=VCC-0.2, WP=0V/VCC - 10 50 - 10 50 Input Leakage Current ILI VIN=0 to 5.5V - - ±10 - - ±10 Output Leakage Current ILO VOUT=0 to 5.5V - - ±10 - - ±10 Input High Voltage, All inputs VIH - 2.4 - 2.4 - Input Low Voltage, All inputs VIL - -0.3 - 0.6 -0.3 - 0.8 Output High Voltage Level VOH IOH=-400µA 2.4 - - 2.4 - - Output Low Voltage Level VOL IOL=2.1mA - - 0.4 - - 0.4 Output Low Current(R/B) IOL(R/B) VOL=0.4V 8 10 - 8 10 - 6 VCC+ 0.3 Unit mA µA VCC+ 0.5 V mA K9F4008W0A-TCB0, K9F4008W0A-TIB0 FLASH MEMORY VALID BLOCK Parameter Valid Block Number Symbol Min Typ. Max Unit NVB 125 - 128 Block NOTE : 1. The K9F4008W0A may include invalid blocks when first shipped. Additional invalid blocks may develop while being used. The number of valid blocks is presented with both cases of invalid blocks considered. Invalid blocks are defined as blocks that contain one or more bad bits. Do not erase or program factory-marked bad blocks. Refer to the attached technical notes for a appropriate management of invalid blocks. 2. The 1st block, which is placed on 00h block address, is fully guaranteed to be a valid block, does not require Error Correction. AC TEST CONDITION (K9F4008W0A-TCB0:TA=0 to 70°C, K9F4008W0A-TIB0:TA=-40 to 85°C, VCC=3.0V ~ 5.5V unless otherwise noted) Value Parameter Vcc=3.0V ~ 3.6V Input Pulse Levels Vcc=3.6V ~ 5.5V 0.4V to 2.6V 0.4V to 2.6V Input Rise and Fall Times 5ns Input and Output Timing Levels 0.8V and 2.0V Output Load 1 TTL GATE and CL = 100pF CAPACITANCE(TA=25°C, Vcc=5.0V, f=1.0MHz) Symbol Test Condition Min Max Unit Input / Output Capacitance Item CI/O VIL=0V - 10 pF Input Capacitance CIN VIN=0V - 10 pF NOTE : Capacitance is periodically sampled and not 100% tested. MODE SELECTION CLE ALE CE H L L H H L WE RE WP L H X L H X L L H H H L H H H H Data Input X Sequential Read & Data Output L L L L L L H Mode Read Mode Write Mode L L L H H X During Read(Busy) X X X X X H During Program(Busy) X X X X X H During Erase(Busy) X X(1) X X X L Write Protect X X H X X 0V/VCC(2) Command Input Address Input(3clock) Command Input Address Input(3clock) Stand-by NOTE : 1. X can be VIL or VIH 2. WP should be biased to CMOS high or CMOS low for standby. Program/Erase Characteristics Parameter Symbol Min Typ Max Unit tPROG - 0.5 1 ms Number of Partial Program Cycles in the Same Frame Nop - - 10 cycles Block Erase Time tBERS - 6 10 ms Program Time 7 K9F4008W0A-TCB0, K9F4008W0A-TIB0 FLASH MEMORY AC Timing Characteristics for Command / Address / Data Input Parameter Symbol Min Max Unit CLE Set-up Time tCLS 50 - ns CLE Hold Time tCLH 50 - ns CE Setup Time tCS 50 - ns CE Hold Time tCH 50 - ns WE Pulse Width tWP 60 - ns ALE Setup Time tALS 50 - ns ALE Hold Time tALH 50 - ns Data Set-up Time tDS 40 - ns Data Hold Time tDH 20 - ns Write Cycle Time tWC 120 - ns WE High Hold Time tWH 40 - ns AC Characteristics for Operation Parameter Symbol Min Max Unit tR - 15 µs ALE to RE Delay(ID Delay) tAR1 20 - ns Data Transfer from Cell to Register ALE to RE Delay(Read Cycle) tAR2 250 - ns CE low to RE low (ID read) tCR 250 - ns CLE to RE Delay tCLR 50 - ns Ready to RE Low tRR 100 - ns RE Pulse Width tRP 60 - ns WE High to Busy tWB - 200 ns Read Cycle Time tRC 120 - ns RE Access Time tREA - 50 ns RE High to Output Hi-Z tRHZ 0 30 ns CE High to Output Hi-Z tCHZ - 50 ns RE High Hold Time tREH 40 - ns tIR 0 - Output Hi-Z to RE Low ns (1) CE High to Ready(in case of interception by CE at read) tCRY - RE Low to Status Output tRSTO - 60 ns CE Low to Status Output tCSTO - 70 ns WE High to RE Low tWHR 50 - ns tWHRID 100 - ns tRST - 5/10/500 µs RE access time(Read ID) Device Resetting Time(Read/Program/Erase) NOTE : 1. The time to Ready depends on the value of the pull-up resistor tied R/B pin. 8 100+tr(R/B) ns K9F4008W0A-TCB0, K9F4008W0A-TIB0 FLASH MEMORY NAND Flash Technical Notes Invalid Block(s) Invalid blocks are defined as blocks that contain one or more invalid bits whose reliability is not guaranteed by Samsung. The information regarding the invalid block(s) is called as the invalid block information. The invalid block information is written to the 1st or the 2nd page of the invalid block(s) with 00h data. Devices with invalid block(s) have the same quality level or as devices with all valid blocks and have the same AC and DC characteristics. An invalid block(s) does not affect the performance of valid block(s) because it is isolated from the bit line and the common source line by a select transistor. The system design must be able to mask out the invalid block(s) via address mapping. The 1st block, which is placed on 00h block address, is fully guaranteed to be a valid block, does not require Error Correction. Identifying Invalid Block(s) All device locations are erased(FFh) except locations where the invalid block information is written prior to shipping. Since the invalid block information is also erasable in most cases, it is impossible to recover the information once it has been erased. Therefore, the system must be able to recognize the invalid block(s) based on the original invalid block information and create the invalid block table via the following suggested flow chart(Figure 1). Any intentional erasure of the original invalid block information is prohibited. Start Set Block Address = 0 Increment Block Address Create (or update) Invalid Block(s) Table No Check "FFh" ? * Check "FFh" on the 1st and 2nd page Yes No Last Block ? Yes End Figure 1. Flow chart to create invalid block table. 9 K9F4008W0A-TCB0, K9F4008W0A-TIB0 FLASH MEMORY K9F4008W0A Technical Notes(Continued) Error in program or erase operation Over its life time, the additional invalid blocks may develop with NAND Flash memory. Refer to the qualification report for the actual data.The following possible failure modes should be considered to implement a highly reliable system. In the case of status read failure after erase or program, block replacement should be done. Because program status fail during a page program does not affect the data of the other pages in the same block, block replacement can be executed with a page-sized buffer by finding an erased empty block and reprogramming the current target data and copying the rest of the replaced block. To improve the efficiency of memory space, it is recommended that the read or verification failure due to single bit error be reclaimed by ECC without any block replacement. The said additional block failure rate does not include those reclaimed blocks. Failure Mode Detection and Countermeasure sequence Block Erase Failure Read after Erase --> Block Replacement Frame Program Failure Status Read after Program --> Block Replacement Single Bit Program Failure ("1" --> "0") Block Verify after Program --> Block Replacement Block Replacement 1st ∼ (n-1)th nth { Block A 2 an error occurs. (page) 1st ∼ (n-1)th Buffer memory of the controller. { Block B 1 nth (page) * Step1 When an error happens in the nth page of the Block ’A’during erase or program operation. * Step2 Copy the nth page data of the Block ’A’in the buffer memory to the nth page of another free block. (Block ’B’) * Step3 Then, copy the data in the 1st ~ (n-1)th page to the same location of the Block ’B’. * Step4 Do not erase or program to Block ’A’by creating an ’invalid Block’table or other appropriate scheme. During Erase operation ; When the error occurs after an erase operation, prevent future accesses to this bad block (again by creating a table within the system or other appropriate scheme.) 10 K9F4008W0A-TCB0, K9F4008W0A-TIB0 FLASH MEMORY System Interface Using CE don’t-care. For a easier system interface, CE may be inactive during the data-loading or sequential data-reading as shown below. The internal 32byte page registers are utilized as seperate buffers for this operation and the system design gets more flexible. In addition, for voice or audio applications which use slow cycle time on the order of u-seconds, de-activating CE during the data-loading and reading would provide significant savings in power consumption. Figure 3. Program Operation with CE don’t-care. CLE CE don’t-care ≈ ≈ CE WE ALE I/O0~7 80h Start Add.(3Cycle) Data Input Data Input 10h (Max. 60ns) tCS tCH tCEA CE CE tREA RE tWP WE I/O0~7 out Timing requirements : If CE is is exerted high during sequential data-reading, the falling edge of CE to valid data(tCEA) must be kept greater than 60ns. Figure 4. Read Operation with CE don’t-care. CLE CE don’t-care Must be held low during tR. ≈ CE RE ALE tR R/B WE I/O0~7 00h Data Output(sequential) Start Add.(3Cycle) 11 K9F4008W0A-TCB0, K9F4008W0A-TIB0 FLASH MEMORY * Command Latch Cycle CLE tCLS tCLH tCS tCH CE tWP WE tALH tALS ALE tDH tDS Command I/O0~7 * Address Latch Cycle tCLS CLE tCS tWC tWC CE tWP tWP tWP WE tWH tWH tALH tALS ALE tDS I/O0~7 tDH A0~A7 12 tDS tDH A8~A15 tDS tDH A16~A18 K9F4008W0A-TCB0, K9F4008W0A-TIB0 FLASH MEMORY * Input Data Latch Cycle tCLH CLE tCH CE tWC tALS tWP ≈ ALE tWP tWP WE tDS I/O0~7 tWH tDH tDS tDH tDS DIN 31 DIN 1 DIN 0 tDH * Burst Read Cycle After Frame Access(CLE=L, WE=H, ALE=L) tRC tRP tREA tRHZ* tREH tREA ≈ CE tREA RE tRHZ* Dout I/O0~7 Dout ≈ tRHZ Dout tRR R/B NOTES : Transition is measured±200mV from steady state voltage with load. This parameter is sampled and not 100% tested. 13 K9F4008W0A-TCB0, K9F4008W0A-TIB0 FLASH MEMORY * Status Read Cycle tCLR CLE tCLH tREA CE tCH tWP WE tCSTO tCHZ tWHR RE tDH tDS tIR Status Output 70h I/O0~7 tRHZ tRSTO READ OPERATION(READ ONE FRAME) CLE CE WE tCHZ tWB tAR2 ALE tR tRHZ tRC ≈ RE I/O0~7 00h A 0 ~ A7 Column Address R/B A8 ~ A15 Dout N A16 ~ A18 Row Address Busy 14 Dout N+1 Dout N+2 Dout N+3 ≈ ≈ tRR Dout 32 K9F4008W0A-TCB0, K9F4008W0A-TIB0 FLASH MEMORY READ OPERATION(INTERCEPTED BY CE) CLE CE WE tWB tCHZ tAR2 ALE tR RE tRR I/O0~7 00h A0~A7 Column Address A16~A18 A8~A15 Dout N Dout N+1 Dout N+2 Dout N+3 Row Address Busy R/B PROGRAM OPERATION CLE CE tWC tWC ≈ tWC WE tWB tPROG ALE 80h A0 ~ A7 A8 ~ A15 A16 ~ A18 Sequential Data Column Input Command Address Row Address Din Din N N+1 1 up to 32 Byte Data Serial Input 10h 15 70h I/O0 Read Status Command Program Command ≈ R/B Din 31 ≈ I/O0~7 ≈ ≈ RE I/O0=0 Successful Program I/O0=1 Error in Program K9F4008W0A-TCB0, K9F4008W0A-TIB0 FLASH MEMORY BLOCK ERASE OPERATION CLE CE WE tWB tBERS ALE RE I/O0~7 60h A8~A15 A16~A18 DOh Busy R/B Auto Block Erase Setup Command Erase Command 16 ≈ Block Address K9F4008W0A-TCB0, K9F4008W0A-TIB0 FLASH MEMORY DEVICE OPERATION FRAME READ Upon initial device power up or after excution of Reset(FFh) command, the device defaults to Read mode. This operation is also initiated by writing 00h to the command register along with three address cycles. The three cycle address input must be given for access to each new frame. The read mode is enabled when the frame address is changed. 32 bytes of data within the selected frame are transferred to the data registers in less than 15µs(tR). The CPU can detect the completion of this data transfer(tR) by analyzing the output of R/B pin. Once the data in a frame is loaded into the registers, they may be read out in 120ns cycle time by sequentially pulsing RE with CE staying low. High to low transitions of the RE clock output the data starting from the selected column address up to the last column address within the frame(column 32). Figure 3. Read Operation CLE CE WE ALE RE R/B I/O0~7 Busy(Seek Time) 00h Start Add.(3Cycle) Data Output(Sequential) A0~A7 & A8~A18 Seek Time 0 31 17 K9F4008W0A-TCB0, K9F4008W0A-TIB0 FLASH MEMORY FRAME PROGRAM The device is programmed on a frame basis. The addressing may be done in random order in a block. A frame program cycle consist of a serial data loading period in which up to 32 bytes of data must be loaded into the device, and a nonvolatile programming period in which the loaded data is programmed into the appropriate cells. The sequential data loading period begins by inputting the frame program setup command(80h), followed by the three cycle address input and then sequential data loading. The bytes other than those to be programmed do not need to be loaded. The frame Program confirm command(10h) initiates the programming process. Writing 10h alone without previously entering the serial data will not initiate the programming process. The internal write controller automatically executes the algorithms and timings necessary for program and verify, thereby freeing the CPU for other tasks. The CPU can detect the completion of a program cycle by monitoring the R/B output, or the Status bit(I/O6) of the Status Register. Only the Read Status command and Reset command are valid while programming is in progress. When the frame Program is complete, the Write Status Bit(I/O0) may be checked. The internal write verify detects only errors for "1"s that are not successfully programmed to "0"s. The command register remains in Read Status command mode until another valid command is written to the command register. Figure 4. Frame Program Operation tPROG R/B I/O0~7 Address & Data Input 80h 10h A0~A7 & A8~A18 32 Byte Data FRAME PROGRAM While the frame size of the device is 32 Bytes, not all the bytes in a frame have to be programmed at once. The device supports partial frame programming in which a frame may be partially programmed up to 10 separate program operations. The program size in each of the 10 partial program operations is freely determined by the user and do not have to be equal to each other or to any preset size. However, the user should ensure that the partial program units within a frame do not overlap as "0" data cannot be changed to "1" data without an erase operation. To perform a partial frame program operation, the user only writes the partial frame data that is to programmed. Just as in the standard frame program operation, an 80h command is followed by start address data. However, only the partial program data need be divided when programming a frame in 10 partial program operations. Figure 5. Example of Dividing a Frame into 10 Partial Program Units 1st partial program start address (00h) 2nd partial program start address (04h) 3rd partial program start address (06h) : : : : : : 9th partial program start address (18h) 10th partial program start address (1Fh) FA A2 43 CB 81 28 E0 2A D5 - - - - - - 32 B5 7D 6F AA E1 D7 C0 Single Frame 10th partial frame program data 9th partial frame program data : : : : : : 3rd partial frame program data 2nd partial frame program data 1st partial frame program data 18 K9F4008W0A-TCB0, K9F4008W0A-TIB0 FLASH MEMORY BLOCK ERASE The Erase operation is done 4K Bytes(1 block) at a time. Block address loading is accomplished in two cycles initiated by an Erase Setup command(60h). Only address A12 to A18 are valid while A8 to A11 is ignored. The Erase Confirm command(D0h) following the block address loading initiates the internal erasing process. This two-step sequence of setup followed by execution command ensures that memory contents are not accidentally erased due to external noise conditions. At the rising edge of WE after the erase confirm command input, the internal write controller handles erase, erase-verify and pulse repetition where required. Figure 6. Block Erase Operation tBERS R/B I/O0~7 60h Address Input(2Cycle) D0h Block Add. : A8~A18 READ STATUS The device contains a Status Register which may be read to find out whether program or erase operation is complete, and whether the program or erase operation completed successfully. After writing 70h command to the command register, a read cycle outputs the contents of the Status Register to the I/O pins on the falling edge of CE or RE, whichever occurs last. This two line control allows the system to poll the progress of each device in multiple memory connections even when R/B pins are common-wired. RE or CE does not need to be toggled for updated status. Refer to table 2 for specific Status Register definitions. The command register remains in Status Read mode until further commands are issued to it. Therefore, if the status register is read during a random read cycle, the required read command(00h) should be input before serial page read cycle. Table2. Read Status Register Definition I/O # Status I/O0 Program Definition "0" : Successful Program "1" : Error in Program I/O1 "0" I/O2 "0" I/O3 Reserved for Future Use I/O4 "0" "0" "0" I/O5 "0" I/O6 Device Operation I/O7 Write Protect 19 "0" : Busy "1" : Ready "0" : Protected "1" : Not Protected K9F4008W0A-TCB0, K9F4008W0A-TIB0 FLASH MEMORY RESET The device offers a reset feature, executed by writing FFh to the command register. When the device is in Busy state during the read, program or erase mode, the reset operation will abort these operation. In the case of Reset during Program or Erase operations, the contents of memory cells being altered are no longer valid, as the data will be partially programmed or erased. The device enters the Read mode after completion of Reset operation as shown Table 3. If the device is already in reset state a new reset command will not be accepted to by the command register. The R/B pin transitions to low for tRST after the Reset command is written. Reset command is not necessarily for normal device operation. Refer to Figure 7 below. Figure 7. RESET Operation tRST R/B I/O0~7 FFh Table3. Device Status Operation Mode After Power-up After Reset Read Read 20 K9F4008W0A-TCB0, K9F4008W0A-TIB0 FLASH MEMORY Figure 9. Read ID Operation tCLR CLE tCEA CE tWHR WE tAR1 ALE RE I/O0~7 tREA 90h Add. Input(1Cycle) A0~A7:"0" 21 Dout(ECh) Dout(A4H) Maker code Device code Package Dimensions FLASH MEMORY READY/BUSY The device has a R/B output that provides a hardware method of indicating the completion of a frame program, erase or read seek completion. The R/B pin is normally high but transitions to low after program or erase command is written to the command register or a random read is begin after address loading. It returns to high when the internal controller has finished the operation. The pin is an open-drain driver thereby allowing two or more R/B outputs to be Or-tied. Because pull-up resistor value is related to tr(R/B) and current drain during busy(ibusy) , an appropriate value can be obtained with the following reference chart(Fig 10). Its value can be determined by the following guidance. Rp ibusy VCC Ready Vcc R/B open drain output 2.0V 0.8V Busy tf tr GND Device Fig 10 Rp vs tr ,tf & Rp vs ibusy @ Vcc = 3.3V, Ta = 25°C , CL = 100pF tr,tf [s] Ibusy 300n 200n 290 3m 1.65 189 1.1 2m 4.2 4.2 4.2 2K 3K Rp(ohm) 4K tr 96 100n 4.2 0.825 tf 1K Rp value guidance Rp(min) = 3.2V VCC(Max.) - VOL(Max.) IOL + ΣIL = 8mA + ΣIL where IL is the sum of the input currents of all devices tied to the R/B pin. Rp(max) is determined by maximum permissible limit of tr 22 1m Ibusy [A] 381 3.3 Package Dimensions FLASH MEMORY DATA PROTECTTION The device is designed to offer protection from any involuntary program/erase during power-transitions. An internal voltage detector disables all functions whenever Vcc is below about 2V. WP pin provides hardware protection and is recommended to be kept at VIL during power-up and power-down and recovery time of minimum 1µs is required before internal circuit gets ready for any command sequences as shown in Figure 11. The two step command sequence for program/erase provides additional software protection. ≈ Figure 11. AC Waveforms for Power Transition ~ 2.5V ~ 2.5V High ≈ VCC ≈ WP WE ≈ 10µs 23 Package Dimensions FLASH MEMORY PACKAGE DIMENSIONS 44(40) LEAD PLASTIC THIN SMALL OUT-LINE PACKAGE TYPE(II) 44(40) - TSOP2 - 400F Unit :mm/Inch 0~8° 0.25 TYP 0.010 #23(21) #1 10.16 0.400 11.76±0.20 0.463±0.008 0.45~0.75 0.018~0.030 #44(40) 0.50 0.020 #22(20) +0.10 0.15 -0.05 1.00±0.10 0.039±0.004 18.81 Max. 0.741 18.41±0.10 0.725±0.004 1.20 Max. 0.047 +0.004 0.006 -0.002 ( 0.805 ) 0.032 0.35±0.10 0.014±0.004 0.05 Min. 0.002 0.10 MAX 0.004 0.80 0.0315 24