Preliminary FLASH MEMORY K9K4G08U1M K9F2G08U0M K9F2G16U0M Document Title 256M x 8 Bit / 128M x 16 Bit / 512M x 8 Bit NAND Flash Memory Revision History Revision No History Draft Date Remark 0.0 1. Initial issue Sep. 19.2001 Advance 0.1 1. Add the Rp vs tr ,tf & Rp vs Ibusy graph for 1.8V device (Page 34) Nov. 22. 2002 Preliminary 2. Add the data protection Vcc guidence for 1.8V device - below about 1.1V. (Page 35) 0.2 The min. Vcc value 1.8V devices is changed. K9F2GXXQ0M : Vcc 1.65V~1.95V --> 1.70V~1.95V Mar. 6.2003 Preliminary 0.3 Few current value is changed. Before Apr. 2. 2003 Preliminary Apr. 9. 2003 Preliminary K9F2GXXQ0M Unit : us K9F2GXXU0M Typ. Max. Typ. Max. ISB2 20 100 20 100 ILI - ±20 - ±20 ILO - ±20 - ±20 After K9F2GXXQ0M Typ. 0.4 K9F2GXXU0M Max. Typ. Max. ISB2 10 50 10 50 ILI - ±10 - ±10 ILO - ±10 - ±10 1. The 3rd Byte ID after 90h ID read command is don’t cared. The 5th Byte ID after 90h ID read command is deleted. 2. Note is added. (VIL can undershoot to -0.4V and VIH can overshoot to VCC +0.4V for durations of 20 ns or less.) 3. Pb-free Package is added. K9F2G08Q0M-PCB0,PIB0 K9F2G08U0M-PCB0,PIB0 K9F2G16U0M-PCB0,PIB0 K9F2G16Q0M-PCB0,PIB0 The attached data sheets 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 your office. 1 Preliminary FLASH MEMORY K9K4G08U1M K9F2G08U0M K9F2G16U0M Document Title 256M x 8 Bit / 128M x 16 Bit/ 512M x 8 Bit NAND Flash Memory Revision History Revision No 0.5 History Draft Date Remark 1. The value of AC parameters for K9F2G08U0M are changed. Apr. 22.2004 Preliminary ITEM K9F2G08U0M Before After tWC 45 30 tWP 25 15 tWH 15 10 tRC 50 30 tRP 25 15 tREH 15 10 tREA 30 18 tCEA 45 23 tADL - 100 2. The definition and value of setup and hold time are changed. ITEM K9F2G16U0M K9F2GXXQ0M K9F2G08U0M tCLS 25 10 tCLH 10 5 tCS 35 15 tCH 10 5 tALS 25 10 tALH 10 5 tDS 20 10 tDH 10 5 3. The tADL(Address to Data Loading Time) is added. - tADL Minimum 100ns (Page 11, 22~25) - tADL is the time from the WE rising edge of final address cycle to the WE rising edge of first data cycle at program operation. 4. Added addressing method for program operation 0.6 1. PKG(TSOP1, WSOP1) Dimension Change May. 19. 2004 Preliminary 0.7 1. Technical note is changed 2. Notes of the AC timing characteristics are added 3. The description of Copy-back program is changed 4. 52ULGA Package is added Jan. 21. 2005 Preliminary The attached data sheets 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 your office. 2 Preliminary FLASH MEMORY K9K4G08U1M K9F2G08U0M K9F2G16U0M Document Title 256M x 8 Bit / 128M x 16 Bit/ 512M x 8 Bit NAND Flash Memory Revision History Revision No 0.8 History Draft Date Remark 1. CE access time : 23ns->35ns (p.13) Feb. 14. 2005 Preliminary The attached data sheets 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 your office. 3 Preliminary FLASH MEMORY K9K4G08U1M K9F2G08U0M K9F2G16U0M 256M x 8 Bit / 128M x 16 Bit/ 512M x 8 Bit NAND Flash Memory PRODUCT LIST Part Number Vcc Range Organization K9F2G08U0M-Y,P K9F2G16U0M-Y,P X8 2.7 ~ 3.6V PKG Type TSOP1 X16 K9K4G08U1M-I X8 52ULGA FEATURES • Voltage Supply -2.7 V ~3.6 V • Organization - Memory Cell Array -X8 device(K9F2G08X0M) : (256M + 8,192K)bit x 8bit -X16 device(K9F2G16X0M) : (128M + 4,096K)bit x 16bit - Data Register -X8 device(K9F2G08X0M): (2K + 64)bit x8bit -X16 device(K9F2G16X0M): (1K + 32)bit x16bit - Cache Register -X8 device(K9F2G08X0M) : (2K + 64)bit x8bit -X16 device(K9F2G16X0M) : (1K + 32)bit x16bit • Automatic Program and Erase - Page Program -X8 device(K9F2G08X0M) : (2K + 64)Byte -X16 device(K9F2G16X0M) : (1K + 32)Word - Block Erase -X8 device(K9F2G08X0M) : (128K + 4K)Byte -X16 device(K9F2G16X0M) : (64K + 2K)Word • Page Read Operation - Page Size - X8 device(K9F2G08X0M) : 2K-Byte - X16 device(K9F2G16X0M) : 1K-Word - Random Read : 25µs(Max.) - Serial Access : 30ns(Min.) • Fast Write Cycle Time - Page Program time : 200µs(Typ.) - Block Erase Time : 2ms(Typ.) • Command/Address/Data Multiplexed I/O Port • Hardware Data Protection - Program/Erase Lockout During Power Transitions • Reliable CMOS Floating-Gate Technology - Endurance : 100K Program/Erase Cycles - Data Retention : 10 Years • Command Register Operation • Cache Program Operation for High Performance Program • Power-On Auto-Read Operation • Intelligent Copy-Back Operation • Unique ID for Copyright Protection • Package : - K9F2GXXU0M-YCB0/YIB0 48 - Pin TSOP I (12 x 20 / 0.5 mm pitch) - K9F2GXXU0M-PCB0/PIB0 : Pb-FREE PACKAGE 48 - Pin TSOP I (12 x 20 / 0.5 mm pitch) - K9K4G08U1M-ICB0/IIB0 52 - Pin ULGA (12 x 17 / 0.65 mm pitch) GENERAL DESCRIPTION Offered in 256Mx8bit or 128Mx16bit, the K9F2GXXU0M is 2G bit with spare 64M bit capacity. Its NAND cell provides the most costeffective solution for the solid state mass storage market. A program operation can be performed in typical 200µs on the 2112byte(X8 device) or 1056-word(X16 device) page and an erase operation can be performed in typical 2ms on a 128K-byte(X8 device) or 64K-word(X16 device) block. Data in the data page can be read out at 30ns cycle time per byte(X8 device) or word(X16 device).. The I/O pins serve as the ports for address and data input/output as well as command input. The on-chip write controller automates all program and erase functions including pulse repetition, where required, and internal verification and margining of data. Even the write-intensive systems can take advantage of the K9F2GXXU0M′s extended reliability of 100K program/erase cycles by providing ECC(Error Correcting Code) with real time mapping-out algorithm. The K9F2GXXU0M is an optimum solution for large nonvolatile storage applications such as solid state file storage and other portable applications requiring non-volatility. 4 Preliminary FLASH MEMORY K9K4G08U1M K9F2G08U0M K9F2G16U0M PIN CONFIGURATION (TSOP1) K9F2GXXU0M-YCB0,PCB0/YIB0,PIB0 X16 X8 N.C N.C N.C N.C N.C N.C R/B RE CE N.C N.C Vcc Vss N.C N.C CLE ALE WE WP N.C N.C N.C N.C N.C N.C N.C N.C N.C N.C N.C R/B RE CE N.C N.C Vcc Vss N.C N.C CLE ALE WE WP N.C N.C N.C N.C N.C 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 48-pin TSOP1 Standard Type 12mm x 20mm 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 X8 X16 N.C N.C N.C N.C I/O7 I/O6 I/O5 I/O4 N.C N.C PRE Vcc Vss N.C N.C N.C I/O3 I/O2 I/O1 I/O0 N.C N.C N.C N.C Vss I/O15 I/O7 I/O14 I/O6 I/O13 I/O5 I/O12 I/O4 N.C PRE Vcc N.C N.C N.C I/O11 I/O3 I/O10 I/O2 I/O9 I/O1 I/O8 I/O0 Vss PACKAGE DIMENSIONS 48-PIN LEAD/LEAD FREE PLASTIC THIN SMALL OUT-LINE PACKAGE TYPE(I) 48 - TSOP1 - 1220AF 0.10 MAX 0.004 Unit :mm/Inch #48 #24 #25 12.40 0.488 MAX 12.00 0.472 +0.003 ( 0.25 ) 0.010 #1 0.008-0.001 0.50 0.0197 0.16 -0.03 +0.075 18.40±0.10 0.724±0.004 0~8° 0.45~0.75 0.018~0.030 +0.003 0.005-0.001 0.25 0.010 TYP 1.00±0.05 0.039±0.002 0.125 0.035 +0.07 0.20 -0.03 +0.07 20.00±0.20 0.787±0.008 ( 0.50 ) 0.020 5 1.20 0.047MAX 0.05 0.002 MIN Preliminary FLASH MEMORY K9K4G08U1M K9F2G08U0M K9F2G16U0M PIN CONFIGURATION (ULGA) K9K4G08U1M - ICB0/IIB0 A C B NC E D G F H NC NC L K J M N NC NC NC 7 NC 6 /RE1 Vcc /RB2 /RE2 IO7-2 Vss IO6-2 Vcc IO5-1 IO7-1 NC IO5-2 5 4 /CE1 3 2 CLE1 /CE2 /RB1 CLE2 /WE1 ALE2 Vss 1 NC NC ALE1 NC /WP2 IO0-1 /WP1 /WE2 IO4-1 IO6-1 IO0-2 Vss IO2-1 IO1-1 NC IO3-2 Vss IO3-1 IO1-2 NC IO4-2 NC IO2-2 NC NC PACKAGE DIMENSIONS 52-ULGA (measured in millimeters) Bottom View Top View 12.00±0.10 10.00 1.00 1.00 2.00 7 (Datum A) 6 5 4 3 2 1 B 1.00 1.00 1.30 12.00±0.10 A #A1 A B C 1.00 2.50 17.00±0.10 E F 1.00 H 1.00 2.50 G J 2.00 K 0.50 L M N Side View 17.00±0.10 0.10 C 6 41-∅0.70±0.05 ∅0.1 M C AB 0.65(Max.) 12-∅1.00±0.05 ∅0.1 M C AB 12.00 17.00±0.10 D (Datum B) Preliminary FLASH MEMORY K9K4G08U1M K9F2G08U0M K9F2G16U0M PIN DESCRIPTION Pin Name Pin Function I/O0 ~ I/O7 (K9F2G08X0M) I/O0 ~ I/O15 (K9F2G16X0M) DATA INPUTS/OUTPUTS 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. I/O8 ~ I/O15 are used only in X16 organization device. Since command input and address input are x8 operation, I/O8 ~ I/O15 are not used to input command & address. I/O8 ~ I/O15 are used only for data input and output. CLE COMMAND LATCH ENABLE The CLE input controls the activating path 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. ALE ADDRESS LATCH ENABLE 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. CE CHIP ENABLE The CE input is the device selection control. When the device is in the Busy state, CE high is ignored, and the device does not return to standby mode in program or erase operation. Regarding CE control during read operation, refer to ’Page read’ section of Device operation . RE READ ENABLE 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. WE WRITE ENABLE The WE input controls writes to the I/O port. Commands, address and data are latched on the rising edge of the WE pulse. WP WRITE PROTECT 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. R/B READY/BUSY OUTPUT 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. PRE POWER-ON READ ENABLE The PRE controls auto read operation executed during power-on. The power-on auto-read is enabled when PRE pin is tied to Vcc. Vcc POWER VCC is the power supply for device. Vss GROUND N.C NO CONNECTION Lead is not internally connected. NOTE : Connect all VCC and VSS pins of each device to common power supply outputs. Do not leave VCC or VSS disconnected. 7 Preliminary FLASH MEMORY K9K4G08U1M K9F2G08U0M K9F2G16U0M Figure 1-1. K9F2G08X0M (X8) Functional Block Diagram VCC VSS A12 - A28 X-Buffers Latches & Decoders 2048M + 64M Bit NAND Flash ARRAY A0 - A11 Y-Buffers Latches & Decoders (2048 + 64)Byte x 131072 Data Register & S/A Cache Register Y-Gating Command Command Register CE RE WE VCC VSS I/O Buffers & Latches Control Logic & High Voltage Generator Output Driver Global Buffers I/0 0 I/0 7 CLE ALE PRE WP Figure 2-1. K9F2G08X0M (X8) Array Organization 1 Block = 64 Pages (128K + 4k) Byte 1 Page = (2K + 64)Bytes 1 Block = (2K + 64)B x 64 Pages = (128K + 4K) Bytes 1 Device = (2K+64)B x 64Pages x 2048 Blocks = 2112 Mbits 128K Pages (=2,048 Blocks) 8 bit 2K Bytes 64 Bytes I/O 0 ~ I/O 7 Page Register 2K Bytes 64 Bytes I/O 0 I/O 1 I/O 2 I/O 3 I/O 4 I/O 5 I/O 6 I/O 7 1st Cycle A0 A1 A2 A3 A4 A5 A6 A7 2nd Cycle A8 A9 A10 A11 *L *L *L *L Column Address Column Address 3rd Cycle A12 A13 A14 A15 A16 A17 A18 A19 Row Address 4th Cycle A20 A21 A22 A23 A24 A25 A26 A27 Row Address 5th Cycle A28 *L *L *L *L *L *L *L Row Address NOTE : Column Address : Starting Address of the Register. * L must be set to "Low". * The device ignores any additional input of address cycles than reguired. 8 Preliminary FLASH MEMORY K9K4G08U1M K9F2G08U0M K9F2G16U0M Figure 1-2. K9F2G16X0M (X16) Functional Block Diagram VCC VSS A11 - A27 X-Buffers Latches & Decoders 2048M + 64M Bit NAND Flash ARRAY A0 - A10 Y-Buffers Latches & Decoders (1024 + 32)Word x 131072 Data Register & S/A Cache Register Y-Gating Command Command Register CE RE WE VCC VSS I/O Buffers & Latches Control Logic & High Voltage Generator Output Driver Global Buffers I/0 0 I/0 15 CLE ALE PRE WP Figure 2-2. K9F2G16X0M (X16) Array Organization 1 Block = 64 Pages (64K + 2k) Word 1 Page = (1K + 32)Words 1 Block = (1K + 32)Word x 64 Pages = (64K + 2K) Words 1 Device = (1K+32)Word x 64Pages x 2048 Blocks = 2112 Mbits 128K Pages (=2,048 Blocks) 16 bit 1K Words 32 Words I/O 0 ~ I/O 15 Page Register 1K Words 32 Words I/O 0 I/O 1 I/O 2 I/O 3 I/O 4 I/O 5 I/O 6 I/O 7 I/O8 ~ 15 1st Cycle A0 A1 A2 A3 A4 A5 A6 A7 *L Column Address 2nd Cycle A8 A9 A10 *L *L *L *L *L *L Column Address 3rd Cycle A11 A12 A13 A14 A15 A16 A17 A18 *L Row Address 4th Cycle A19 A20 A21 A22 A23 A24 A25 A26 *L Row Address 5th Cycle A27 *L *L *L *L *L *L *L *L Row Address NOTE : Column Address : Starting Address of the Register. * L must be set to "Low". * The device ignores any additional input of address cycles than reguired. 9 Preliminary FLASH MEMORY K9K4G08U1M K9F2G08U0M K9F2G16U0M Product Introduction The K9F2GXXU0M is a 2112Mbit(2,214,592,512 bit) memory organized as 131,072 rows(pages) by 2112x8(X8 device) or 1056x16(X16 device) columns. Spare 64(X8) or 32(X16) columns are located from column address of 2048~2111(X8 device) or 1024~1055(X16 device). A 2112-byte(X8 device) or 1056-word(X16 device) data register and a 2112-byte(X8 device) or 1056word(X16 device) cache register are serially connected to each other. Those serially connected registers are connected to memory cell arrays for accommodating data transfer between the I/O buffers and memory cells during page read and page program operations. The memory array is made up of 32 cells that are serially connected to form a NAND structure. Each of the 32 cells resides in a different page. A block consists of two NAND structured strings. A NAND structure consists of 32 cells. Total 1,081,344 NAND cells reside in a block. The program and read operations are executed on a page basis, while the erase operation is executed on a block basis. The memory array consists of 2048 separately erasable 128K-byte(X8 device) or 64K-word(X16 device) blocks. It indicates that the bit by bit erase operation is prohibited on the K9F2GXXU0M. The K9F2GXXU0M has addresses multiplexed into 8 I/Os(X16 device case : lower 8 I/Os). This scheme dramatically reduces pin counts and allows system upgrades to future densities 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. Those are 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. Some commands require one bus cycle. For example, Reset Command, Status Read Command, etc require just one cycle bus. Some other commands, like page read and block erase and page program, require two cycles: one cycle for setup and the other cycle for execution. The 256M byte(X8 device) or 128M word(X16 device) physical space requires 29(X8) or 28(X16) addresses, thereby requiring five cycles for addressing: 2 cycles of column address, 3 cycles of row address, in that order. Page Read and Page Program need the same five address cycles following the required command input. In Block Erase operation, however, only the three row address cycles are used. Device operations are selected by writing specific commands into the command register. Table 1 defines the specific commands of the K9F2GXXU0M. The device provides cache program in a block. It is possible to write data into the cache registers while data stored in data registers are being programmed into memory cells in cache program mode. The program performance may be dramatically improved by cache program when there are lots of pages of data to be programmed. The device embodies power-on auto-read feature which enables serial access of data of the 1st page without command and address input after power-on. In addition to the enhanced architecture and interface, the device incorporates copy-back program feature from one page to another page without need for transporting the data to and from the external buffer memory. Since the time-consuming serial access and data-input cycles are removed, system performance for solid-state disk application is significantly increased. Table 1. Command Sets Function 1st. Cycle 2nd. Cycle Read 00h 30h Read for Copy Back 00h 35h Read ID 90h - Reset FFh - Page Program 80h 10h Cache Program*2 80h 15h Copy-Back Program 85h 10h Block Erase 60h D0h 85h - 05h E0h Random Data Input* Random Data Output Read Status * 70h Acceptable Command during Busy O O NOTE : 1. Random Data Input/Output can be executed in a page. Caution : Any undefined command inputs are prohibited except for above command set of Table 1. 10 Preliminary FLASH MEMORY K9K4G08U1M K9F2G08U0M K9F2G16U0M ABSOLUTE MAXIMUM RATINGS Parameter Voltage on any pin relative to VSS Temperature Under Bias Storage Temperature K9F2GXXU0M-XCB0 Symbol Rating VIN/OUT -0.6 to + 4.6 VCC -0.6 to + 4.6 K9F2GXXU0M-XCB0 K9F2GXXU0M-XIB0 V -10 to +125 TBIAS K9F2GXXU0M-XIB0 Unit °C -40 to +125 TSTG -65 to +150 °C Ios 5 mA Short Circuit Current NOTE : 1. Minimum DC voltage is -0.6V on input/output pins. During transitions, this level may undershoot to -2.0V for periods <30ns. 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, K9F2GXXU0M-XCB0 :TA=0 to 70°C, K9F2GXXU0M-XIB0:TA=-40 to 85°C) Symbol Min Typ. Max Unit Supply Voltage VCC 2.7 3.3 3.6 V Supply Voltage VSS 0 0 0 V Parameter DC AND OPERATING CHARACTERISTICS(Recommended operating conditions otherwise noted.) Parameter Operating Current Symbol Test Conditions Page Read with Serial Access ICC1 tRC=30ns, CE=VIL IOUT=0mA Program ICC2 - Erase ICC3 - Stand-by Current(TTL) ISB1 Stand-by Current(CMOS) ISB2 Input Leakage Current CE=VIH, WP=PRE=0V/VCC CE=VCC-0.2, WP=PRE=0V/VCC ILI VIN=0 to Vcc(max) Output Leakage Current ILO VOUT=0 to Vcc(max) Input High Voltage VIH* Input Low Voltage, All inputs VIL* Output High Voltage Level VOH Min Typ Max - 15 30 - - 1 - 10 50 - - ±10 - - ±10 - 0.8xVcc - Vcc+0.3 - -0.3 - 0.2xVcc 2.4 - - K9F2GXXU0M :IOH=-400µA Output Low Voltage Level VOL K9F2GXXU0M :IOL=2.1mA - - 0.4 Output Low Current(R/B) IOL(R/B) K9F2GXXU0M :VOL=0.4V 8 10 - NOTE : VIL can undershoot to -0.4V and VIH can overshoot to VCC +0.4V for durations of 20 ns or less. 11 Unit mA µA V mA Preliminary FLASH MEMORY K9K4G08U1M K9F2G08U0M K9F2G16U0M VALID BLOCK Parameter Valid Block Number Symbol Min Typ. Max Unit NVB 2,008 - 2,048 Blocks NOTE : 1. The device 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 appropriate management of invalid blocks. 2. The 1st block, which is placed on 00h block address, is guaranteed to be a valid block, does not require Error Correction up to 1K program/erase cycles. AC TEST CONDITION (K9F2GXXU0M-XCB0 :TA=0 to 70°C, K9F2GXXU0M-XIB0:TA=-40 to 85°C K9F2GXXU0M : Vcc=2.7V~3.6V unless otherwise noted) Parameter K9F2GXXU0M Input Pulse Levels 0V to Vcc Input Rise and Fall Times 5ns Input and Output Timing Levels Vcc/2 Output Load 1 TTL GATE and CL=50pF CAPACITANCE(TA=25°C, VCC=3.3V, f=1.0MHz) Item Symbol Test Condition Min Max Unit Input/Output Capacitance 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 RE WP PRE Mode H L L WE H X X Command Input L H L H X X H L L H H X L H L H H X L L L H H X Data Input L L L X X Data Output X X X X H X X During Read(Busy) X X X X X H X During Program(Busy) During Erase(Busy) H X X X X X H X X X*1 X X X L X X X H X X 0V/VCC *2 0V/VCC Read Mode Write Mode Address Input(5clock) Command Input Address Input(5clock) Write Protect *2 Stand-by NOTE : 1. X can be VIL or VIH. 2. WP and PRE should be biased to CMOS high or CMOS low for standby. Program / Erase Characteristics Symbol Min Typ Max Unit Program Time Parameter tPROG*1 - 200 700 µs Dummy Busy Time for Cache Program t 3 700 µs - 4 cycles Number of Partial Program Cycles in the Same Page Block Erase Time Main Array Spare Array CBSY*2 Nop tBERS - - 4 cycles - 2 3 ms NOTE : 1. Typical program time is defined as the time within which more than 50% of the whole pages are programmed at Vcc of 3.3V and 25°C 2. Max. time of tCBSY depends on timing between internal program completion and data in 12 Preliminary FLASH MEMORY K9K4G08U1M K9F2G08U0M K9F2G16U0M AC Timing Characteristics for Command / Address / Data Input Parameter Symbol Min Max K9F2G16U0M K9F2G08U0M K9F2G16U0M K9F2G08U0M Unit CLE setup Time tCLS*1 25 15 - - ns CLE Hold Time tCLH 10 5 - - ns CE setup Time t CS*1 35 20 - - ns CE Hold Time tCH 10 5 - - ns WE Pulse Width tWP 25 15 - - ns ALE setup Time tALS*1 25 15 - - ns ALE Hold Time tALH 10 5 - - ns Data setup Time tDS*1 20 15 - - ns Data Hold Time tDH 10 5 - - ns Write Cycle Time tWC 45 30 - - ns WE High Hold Time tWH 15 10 - - ns ADL*2 100 100 - - ns ALE to Data Loading Time t NOTES : 1. The transition of the corresponding control pins must occur only once while WE is held low. 2. tADL is the time from the WE rising edge of final address cycle to the WE rising edge of first data cycle. 3. For cache program operation, the whole AC Charcateristics must be same as that of K9F2G16U0M. AC Characteristics for Operation Parameter Symbol Data Transfer from Cell to Register Min Max Unit K9F2G16U0M K9F2G08U0M K9F2G16U0M K9F2G08U0M tR - - 25 25 µs ALE to RE Delay tAR 10 10 10 - ns CLE to RE Delay tCLR 10 10 - - ns Ready to RE Low tRR 20 20 - - ns RE Pulse Width tRP 25 15 - - ns WE High to Busy tWB - - 100 100 ns Read Cycle Time tRC 50 30 - - ns RE Access Time tREA - - 30 18 ns CE Access Time tCEA - - 45 35 ns RE High to Output Hi-Z tRHZ - - 30 30 ns CE High to Output Hi-Z tCHZ - - 20 20 ns RE or CE High to Output hold tOH 15 15 - - ns RE High Hold Time tREH 15 10 - - ns tIR 0 0 - - ns RE High to WE Low Output Hi-Z to RE Low tRHW 100 100 - - ns WE High to RE Low tWHR 60 60 - - ns Device Resetting Time (Read/Program/Erase) tRST - - 5/10/500*1 5/10/500*1 µs NOTE: 1. If reset command(FFh) is written at Ready state, the device goes into Busy for maximum 5us. 2. For cache program operation, the whole AC Charcateristics must be same as that of K9F2G16U0M. 13 Preliminary FLASH MEMORY K9K4G08U1M K9F2G08U0M K9F2G16U0M NAND Flash Technical Notes Initial Invalid Block(s) Initial invalid blocks are defined as blocks that contain one or more invalid bits whose reliability is not guaranteed by Samsung. The information regarding the initial invalid block(s) is so called as the invalid block information. Devices with initial invalid block(s) have the same quality level as devices with all valid blocks and have the same AC and DC characteristics. An initial 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 initial invalid block(s) via address mapping. The 1st block, which is placed on 00h block address, is guaranteed to be a valid block, does not require Error Correction up to 1K program/erase cycles. Identifying Initial Invalid Block(s) All device locations are erased(FFh for X8, FFFFh for X16) except locations where the initial invalid block(s) information is written prior to shipping. The invalid block(s) status is defined by the 1st byte(X8 device) or 1st word(X16 device) in the spare area. Samsung makes sure that either the 1st or 2nd page of every initial invalid block has non-FFh(X8) or non-FFFFh(X16) data at the column address of 2048(X8 device) or 1024(X16 device). Since the initial 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 initial invalid block(s) based on the original initial invalid block information and create the initial invalid block table via the following suggested flow chart(Figure 3). Any intentional erasure of the original initial invalid block information is prohibited. Start Set Block Address = 0 Increment Block Address * No Create (or update) Initial Invalid Block(s) Table Check "FFh or FFFFh" ? Check "FFh( or FFFFh)" at the column address 2048(X8 device) or 1024(X16 device) of the 1st and 2nd page in the block Yes No Last Block ? Yes End Figure 3. Flow chart to create initial invalid block table. 14 Preliminary FLASH MEMORY K9K4G08U1M K9F2G08U0M K9F2G16U0M NAND Flash Technical Notes (Continued) Error in write or read operation Within its life time, additional invalid blocks may develop with NAND Flash memory. Refer to the qualification report for the block failure rate.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. In case of Read, ECC must be employed. To improve the efficiency of memory space, it is recommended that the read failure due to single bit error should be reclaimed by ECC without any block replacement. The block failure rate in the qualification report does not include those reclaimed blocks. Failure Mode Write Read ECC Detection and Countermeasure sequence Erase Failure Status Read after Erase --> Block Replacement Program Failure Status Read after Program --> Block Replacement Single Bit Failure Verify ECC -> ECC Correction : Error Correcting Code --> Hamming Code etc. Example) 1bit correction & 2bit detection Program Flow Chart Start Write 80h Write Address Write Data Write 10h Read Status Register I/O 6 = 1 ? or R/B = 1 ? * Program Error No Yes No I/O 0 = 0 ? Yes Program Completed * 15 : If program operation results in an error, map out the block including the page in error and copy the target data to another block. Preliminary FLASH MEMORY K9K4G08U1M K9F2G08U0M K9F2G16U0M NAND Flash Technical Notes (Continued) Erase Flow Chart Read Flow Chart Start Start Write 60h Write 00h Write Block Address Write Address Write D0h Write 30h Read Status Register Read Data ECC Generation No I/O 6 = 1 ? or R/B = 1 ? Reclaim the Error Yes * No Erase Error No Verify ECC Yes I/O 0 = 0 ? Page Read Completed Yes Erase Completed * : If erase operation results in an error, map out the failing block and replace it with another block. Block Replacement 1st ∼ (n-1)th nth { Block A 1 an error occurs. (page) 1st ∼ (n-1)th nth Buffer memory of the controller. { Block B 2 (page) * Step1 When an error happens in the nth page of the Block ’A’ during erase or program operation. * Step2 Copy the data in the 1st ~ (n-1)th page to the same location of another free block. (Block ’B’) * Step3 Then, copy the nth page data of the Block ’A’ in the buffer memory to the nth page of the Block ’B’. * Step4 Do not erase or program to Block ’A’ by creating an ’invalid Block’ table or other appropriate scheme. 16 Preliminary FLASH MEMORY K9K4G08U1M K9F2G08U0M K9F2G16U0M NAND Flash Technical Notes (Continued) Addressing for program operation Within a block, the pages must be programmed consecutively from the LSB (least significant bit) page of the block to MSB (most significant bit) pages of the block. Random page address programming is prohibited. Page 63 (64) Page 63 : Page 31 (32) Page 2 Page 1 Page 0 (3) (2) (1) : Page 31 : (1) : Page 2 Page 1 Page 0 Data register (3) (32) (2) Data register From the LSB page to MSB page DATA IN: Data (1) (64) Ex.) Random page program (Prohibition) Data (64) DATA IN: Data (1) 17 Data (64) Preliminary FLASH MEMORY K9K4G08U1M K9F2G08U0M K9F2G16U0M System Interface Using CE don’t-care. For an easier system interface, CE may be inactive during the data-loading or serial access as shown below. The internal 2112byte(X8 device) or 1056word(X16 device) data registers are utilized as separate 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 serial access would provide significant savings in power consumption. Figure 4. Program Operation with CE don’t-care. CLE CE don’t-care WE ≈ ≈ CE ALE I/Ox 80h Address(5Cycles) Data Input tCH tCS Data Input 10h tCEA CE CE tREA tWP RE WE I/O0~7 out Figure 5. Read Operation with CE don’t-care. CLE CE don’t-care ≈ CE RE ALE tR R/B WE I/Ox 00h Address(5Cycle) Data Output(serial access) 30h 18 Preliminary FLASH MEMORY K9K4G08U1M K9F2G08U0M K9F2G16U0M NOTE Device I/O DATA ADDRESS I/Ox Data In/Out Col. Add1 Col. Add2 Row Add1 Row Add2 Row Add3 K9F2G08X0M(X8) I/O 0 ~ I/O 7 ~2112byte A0~A7 A8~A11 A12~A19 A20~A27 A28 K9F2G16X0M(X16) I/O 0 ~ I/O 15 ~1056word A0~A7 A8~A10 A11~A18 A19~A26 A27 Command Latch Cycle CLE tCLS tCLH tCS tCH CE tWP WE tALS tALH ALE tDH tDS I/Ox Command K9F2G16X0M : I/O8~15 must be set to "0" Address Latch Cycle tCLS CLE tCS tWC tWC tWC tWC CE tWP tWP WE tWH tALH tALS tALS tWP tWP tALH tWH tALS tWH tALH tALS tWH tALH tALS tALH ALE tDS I/Ox K9F2G16X0M : I/O8~15 tDH Col. Add1 tDS tDH Col. Add2 must be set to "0" 19 tDS tDH Row Add1 tDS tDH Row Add2 tDS tDH Row Add3 Preliminary FLASH MEMORY K9K4G08U1M K9F2G08U0M K9F2G16U0M Input Data Latch Cycle tCLH ≈ CLE tCH ≈ CE tWC ≈ ALE tALS tWH tDH tDS tWP tDH tDS tDH ≈ tDS tWP ≈ tWP WE I/Ox DIN final* DIN 1 ≈ DIN 0 NOTES : DIN final means 2112(X8) or 1056(X16) Serial Access Cycle after Read(CLE=L, WE=H, ALE=L) tCEA ≈ CE tREH tREA tREA ≈ tREA tRP RE tCHZ* tOH tRHZ* tRHZ* I/Ox Dout Dout tRC ≈ tRR ≈ tOH R/B NOTES : Transition is measured ±200mV from steady state voltage with load. This parameter is sampled and not 100% tested. 20 Dout Preliminary FLASH MEMORY K9K4G08U1M K9F2G08U0M K9F2G16U0M Serial Access Cycle after Read(CLE=L, WE=H, ALE=L) tCEA ≈ CE tREH tREA tREA tRP RE tCHZ* tOH ≈ tREA tRHZ* tRHZ* tOH Dout tRR Dout Dout ≈ I/Ox ≈ tRC R/B NOTES : Transition is measured ±200mV from steady state voltage with load. This parameter is sampled and not 100% tested. Serial Access Cycle after Read(CLE=L, WE=H, ALE=L) tCEA ≈ CE tREH tREA tREA ≈ tREA tRP RE tCHZ* tOH tRHZ* tRHZ* I/Ox Dout tRC ≈ tRR Dout ≈ tOH R/B NOTES : Transition is measured ±200mV from steady state voltage with load. This parameter is sampled and not 100% tested. 21 Dout Preliminary FLASH MEMORY K9K4G08U1M K9F2G08U0M K9F2G16U0M Status Read Cycle tCLR CLE tCLS tCLH tCS CE tWP tCH WE tCEA tCHZ* tOH tWHR RE tDS I/Ox tDH tIR* tREA tRHZ* tOH Status Output 70h K9F2G16X0M : I/O8~15 must be set to "0" 22 Preliminary FLASH MEMORY K9K4G08U1M K9F2G08U0M K9F2G16U0M Read Operation tCLR CLE CE tWC WE tWB tAR ALE tR tRHZ tRC ≈ RE I/Ox 00h Col. Add1 Col. Add2 Row Add1 Column Address Row Add2 Row Add3 30h Dout N Dout N+1 Row Address ≈ ≈ tRR Busy R/B Read Operation(Intercepted by CE) CLE CE WE tWB tCHZ tOH tAR ALE tRC tR RE tRR I/Ox 00h Col. Add1 Col. Add2 Column Address Row Add1 Row Add2 Row Add3 Dout N 30h Row Address Busy R/B 23 Dout N+1 Dout N+2 Dout M 24 R/B I/Ox RE ALE WE CE CLE 00h Col. Add2 Column Address Col. Add1 Random Data Output In a Page Row Add2 Row Add3 Row Address Row Add1 30h Busy tRR tR tWB tAR Dout N tRC Dout N+1 05h Col Add1 Col Add2 Column Address E0h tWHR tCLR Dout M tREA Dout M+1 K9K4G08U1M K9F2G08U0M K9F2G16U0M Preliminary FLASH MEMORY Preliminary FLASH MEMORY K9K4G08U1M K9F2G08U0M K9F2G16U0M Page Program Operation CLE CE tWC ≈ tWC tWC WE tWB tADL tPROG ALE I/Ox 80h Co.l Add1 Col. Add2 SerialData Column Address Input Command Row Add1 ≈ ≈ RE Din Din N M 1 up to m Byte Serial Input Row Add2 Row Add3 Row Address 10h 70h Program Command ≈ R/B X8 device : m = 2112byte X16 device : m = 1056word I/O0 Read Status Command I/O0=0 Successful Program I/O0=1 Error in Program NOTES : tADL is the time from the WE rising edge of final address cycle to the WE rising edge of first data cycle. 25 26 R/B I/Ox RE ALE WE Col. Add1 Col. Add2 tWC Row Add2 Row Add3 Row Address Row Add1 tADL Din M Serial Input Din N Col. Add1 Col. Add2 tADL Random Data Column Address Input Command 85h tWC Din K Serial Input Din J NOTES : tADL is the time from the WE rising edge of final address cycle to the WE rising edge of first data cycle. Serial Data Column Address Input Command 80h tWC ≈ ≈ ≈ CE ≈ ≈ ≈ CLE 10h Program Command tWB tPROG ≈ Page Program Operation with Random Data Input 70h Read Status Command I/O0 K9K4G08U1M K9F2G08U0M K9F2G16U0M Preliminary FLASH MEMORY 27 R/B I/Ox RE ALE WE CE Column Address Row Address Col Add1 Col Add2 Row Add1 Row Add2 Row Add3 35h tR tWB Column Address Row Address Col Add1 Col Add2 Row Add1 Row Add2 Row Add3 Copy-Back Data Input Command Busy 85h Data 1 tADL NOTES : tADL is the time from the WE rising edge of final address cycle to the WE rising edge of first data cycle. 00h tWC ≈ CLE Data N 10h tWB I/O0 I/O0=0 Successful Program I/O0=1 Error in Program Busy 70h Read Status Command tPROG ≈ Copy-Back Program Operation With Random Data Input K9K4G08U1M K9F2G08U0M K9F2G16U0M Preliminary FLASH MEMORY ≈ ≈ 28 R/B I/Ox RE ALE WE tADL ≈ ≈ Din M Serial Input Din N ≈ 15h Program Command (Dummy) tWB tCBSY tCBSY : max. 700us 80h I/Ox R/B tCBSY Address & 15h Data Input Col Add1,2 & Row Add1,2 Data 80h Ex.) Cache Program 80h Address & Data Input Last Page Input & Program 15h tCBSY 80h Address & Data Input tCBSY Din N 15h tADL Col Add1 Col Add2 Row Add1 Row Add2 Row Add3 NOTES : tADL is the time from the WE rising edge of final address cycle to the WE rising edge of first data cycle. Max. 63 times repeatable Row Address Col Add1 Col Add2 Row Add1 Row Add2 Row Add3 Serial Data Column Address Input Command 80h tWC ≈ CE ≈ ≈ ≈ CLE 80h tCPROG Address & Data Input Din 10h M Program Confirm Command (True) tWB ≈ Cache Program Operation(available only within a block) I/O 10h tPROG 70h 70h K9K4G08U1M K9F2G08U0M K9F2G16U0M Preliminary FLASH MEMORY Preliminary FLASH MEMORY K9K4G08U1M K9F2G08U0M K9F2G16U0M BLOCK ERASE OPERATION CLE CE tWC WE tBERS tWB ALE RE I/Ox 60h Row Add1 Row Add2 Row Add3 D0h 70h I/O 0 Busy R/B Auto Block Erase Setup Command Erase Command ≈ Row Address Read Status Command 29 I/O0=0 Successful Erase I/O0=1 Error in Erase Preliminary FLASH MEMORY K9K4G08U1M K9F2G08U0M K9F2G16U0M Read ID Operation CLE CE WE tAR ALE RE tREA I/Ox 00h 90h Read ID Command Address. 1cycle ECh Maker Code Device Code Device Device Code*(2nd Cycle) 4th Cycle* K9F2G08U0M DAh 15h K9F2G16U0M CAh 55h ID Definition Table 90 ID : Access command = 90H Description 1 Byte 2nd Byte 3rd Byte 4th Byte st Device Code* Maker Code Device Code Don’t care Page Size, Block Size, Spare Size, Organization 30 80h 4th cyc.* Preliminary FLASH MEMORY K9K4G08U1M K9F2G08U0M K9F2G16U0M 4th ID Data Description Page Size (w/o redundant area ) 1KB 2KB Reserved Reserved Block Size (w/o redundant area ) 64KB 128KB 256KB Reserved Redundant Area Size ( byte/512byte) 8 16 Organization x8 x16 Serial AccessMinimum 50ns/30ns 25ns Reserved Reserved I/O7 I/O6 I/O5 I/O4 I/O3 I/O2 I/O1 I/O0 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 1 0 1 31 0 0 1 1 0 1 0 1 Preliminary FLASH MEMORY K9K4G08U1M K9F2G08U0M K9F2G16U0M Device Operation PAGE READ Upon initial device power up, the device defaults to Read mode. This operation is also initiated by writing 00h-30h to the command register along with five address cycles. In two consecutive read operations, the second one doesn’t need 00h command, which five address cycles and 30h command initiates that operation. Once the command is latched, it does not need to be written for the following page read operation. Two types of operations are available : random read, serial page read . The random read mode is enabled when the page address is changed. The 2112 bytes(X8 device) or 1056 words(X16 device) of data within the selected page are transferred to the data registers in less than 25µs(tR). The system controller can detect the completion of this data transfer(tR) by analyzing the output of R/B pin. Once the data in a page is loaded into the data registers, they may be read out in 30ns cycle time by sequentially pulsing RE. The repetitive high to low transitions of the RE clock make the device output the data starting from the selected column address up to the last column address. The device may output random data in a page instead of the consecutive sequential data by writing random data output command. The column address of next data, which is going to be out, may be changed to the address which follows random data output command. Random data output can be operated multiple times regardless of how many times it is done in a page. Figure 6. Read Operation CLE CE WE ALE tR R/B RE I/Ox 00h Address(5Cycle) Data Output(Serial Access) 30h Col Add1,2 & Row Add1,2,3 Data Field Spare Field 32 Preliminary FLASH MEMORY K9K4G08U1M K9F2G08U0M K9F2G16U0M Figure 7. Random Data Output In a Page tR R/B RE I/Ox Address 5Cycles 00h Data Output 30h 05h Address 2Cycles E0h Data Output Col Add1,2 & Row Add1,2,3 Data Field Data Field Spare Field Spare Field PAGE PROGRAM The device is programmed basically on a page basis, but it does allow multiple partial page programing of a word or consecutive bytes up to 2112(X8 device) or words up to 1056(X16 device), in a single page program cycle. The number of consecutive partial page programming operation within the same page without an intervening erase operation must not exceed 4 times for main array(X8 device:1time/512byte, X16 device:1time/256word) and 4 times for spare array(X8 device:1time/16byte, X16 device:1time/8word). The addressing should be done in sequential order in a block. A page program cycle consists of a serial data loading period in which up to 2112bytes(X8 device) or 1056words(X16 device) of data may be loaded into the data register, followed by a non-volatile programming period where the loaded data is programmed into the appropriate cell. The serial data loading period begins by inputting the Serial Data Input command(80h), followed by the five cycle address inputs and then serial data loading. The words other than those to be programmed do not need to be loaded. The device supports random data input in a page. The column address for the next data, which will be entered, may be changed to the address which follows random data input command(85h). Random data input may be operated multiple times regardless of how many times it is done in a page. The Page 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 state controller automatically executes the algorithms and timings necessary for program and verify, thereby freeing the system controller for other tasks. Once the program process starts, the Read Status Register command may be entered to read the status register. The system controller can detect the completion of a program cycle by monitoring the R/B output, or the Status bit(I/O 6) of the Status Register. Only the Read Status command and Reset command are valid while programming is in progress. When the Page Program is complete, the Write Status Bit(I/O 0) may be checked(Figure 8). 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 8. Program & Read Status Operation tPROG R/B "0" I/Ox 80h Address & Data Input 10h 70h Pass I/O0 Col Add1,2 & Row Add1,2,3 "1" Data Fail 33 Preliminary FLASH MEMORY K9K4G08U1M K9F2G08U0M K9F2G16U0M Figure 9. Random Data Input In a Page tPROG R/B "0" I/Ox 80h Address & Data Input 85h Address & Data Input 10h 70h Col Add1,2 Data Col Add1,2 & Row Add1,2,3 Data Pass I/O0 "1" Fail Cache Program Cache Program is an extension of Page Program, which is executed with 2112byte(X8 device) or 1056word(X16 device) data registers, and is available only within a block. Since the device has 1 page of cache memory, serial data input may be executed while data stored in data register are programmed into memory cell. After writing the first set of data up to 2112byte(X8 device) or 1056word(X16 device) into the selected cache registers, Cache Program command (15h) instead of actual Page Program (10h) is inputted to make cache registers free and to start internal program operation. To transfer data from cache registers to data registers, the device remains in Busy state for a short period of time(tCBSY) and has its cache registers ready for the next data-input while the internal programming gets started with the data loaded into data registers. Read Status command (70h) may be issued to find out when cache registers become ready by polling the Cache-Busy status bit(I/O 6). Pass/fail status of only the previouse page is available upon the return to Ready state. When the next set of data is inputted with the Cache Program command, tCBSY is affected by the progress of pending internal programming. The programming of the cache registers is initiated only when the pending program cycle is finished and the data registers are available for the transfer of data from cache registers. The status bit(I/O5) for internal Ready/Busy may be polled to identify the completion of internal programming. If the system monitors the progress of programming only with R/B, the last page of the target programming sequence must be progammed with actual Page Program command (10h). Figure 10. Cache Program(available only within a block) tCBSY R/B 80h Address & Data Input* 15h Col Add1,2 & Row Add1,2,3 Data tCBSY 80h Address & Data Input 15h Col Add1,2 & Row Add1,2,3 Data tPROG tCBSY 80h Address & Data Input 15h Col Add1,2 & Row Add1,2,3 Data 34 Address & 10h Data Input Col Add1,2 & Row Add1,2,3 Data 80h 70h Preliminary FLASH MEMORY K9K4G08U1M K9F2G08U0M K9F2G16U0M NOTE : Since programming the last page does not employ caching, the program time has to be that of Page Program. However, if the previous program cycle with the cache data has not finished, the actual program cycle of the last page is initiated only after completion of the previous cycle, which can be expressed as the following formula. tPROG= Program time for the last page+ Program time for the ( last -1 )th page - (Program command cycle time + Last page data loading time) Copy-Back Program The copy-back program is configured to quickly and efficiently rewrite data stored in one page without utilizing an external memory. Since the time-consuming cycles of serial access and re-loading cycles are removed, the system performance is improved. The benefit is especially obvious when a portion of a block is updated and the rest of the block also need to be copied to the newly assigned free block. The operation for performing a copy-back program is a sequential execution of page-read without serial access and copying-program with the address of destination page. A read operation with "35h" command and the address of the source page moves the whole 2112byte(X8 device) or 1056word(X16 device) data into the internal data buffer. As soon as the device returns to Ready state, Page-Copy Data-input command (85h) with the address cycles of destination page followed may be written. The Program Confirm command (10h) is required to actually begin the programming operation. Data input cycle for modifying a portion or multiple distant portions of the source page is allowed as shown in Figure 11. "When there is a program-failure at Copy-Back operation, error is reported by pass/fail status. But if the soure page has an error bit by charge loss, accumulated copy-back operations could also accumulate bit errors. In this case, verifying the source page for a bit error is recommended before Copy-back program" Figure 11. Page Copy-Back program Operation tR R/B I/Ox 00h Add.(5Cycles) 35h tPROG 85h Col. Add1,2 & Row Add1,2,3 Source Address Add.(5Cycles) 10h Pass I/O0 70h Col. Add1,2 & Row Add1,2,3 Destination Address Fail NOTE: It’s prohibited to operate Copy-Back program from an odd address page(source page) to an even address page(target page) or from an even address page(source page) to an odd address page(target page). Therefore, the Copy-Back program is permitted just between odd address pages or even address pages Figure 12. Page Copy-Back program Operation with Random Data Input R/B I/Ox tPROG tR 00h Add.(5Cycles) 35h Col. Add1,2 & Row Add1,2,3 Source Address 85h Add.(5Cycles) Data Col. Add1,2 & Row Add1,2,3 Destination Address 35 85h Add.(2Cycles) Data 10h Col Add1,2 There is no limitation for the number of repetition. 70h Preliminary FLASH MEMORY K9K4G08U1M K9F2G08U0M K9F2G16U0M BLOCK ERASE The Erase operation is done on a block basis. Block address loading is accomplished in three cycles initiated by an Erase Setup command(60h). Only address A18 to A28(X8) or A17 to A27(X16) is valid while A12 to A17(X8) or A11 to A16(X16) 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 and erase-verify. When the erase operation is completed, the Write Status Bit(I/O 0) may be checked. Figure 13 details the sequence. Figure 13. Block Erase Operation tBERS R/B "0" I/Ox 60h Address Input(3Cycle) Pass I/O0 70h D0h "1" Block Add. : A12 ~ A28 (X8) or A11 ~ A27 (X16) Fail READ STATUS The device contains a Status Register which may be read to find out whether program or erase operation is completed, and whether the program or erase operation is completed successfully. After writing 70h command to the command register, a read cycle outputs the content 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 read command(00h) should be given before starting read cycles. Table2. Read Staus Register Definition I/O No. Page Program Block Erase Cache Prorgam Read Definition I/O 0 Pass/Fail Pass/Fail Pass/Fail(N) Not use Pass : "0" Fail : "1" I/O 1 Not use Not use Pass/Fail(N-1) Not use Pass : "0" Fail : "1" I/O 2 Not use Not use Not use Not use Don’t -cared I/O 3 Not Use Not Use Not Use Not Use Don’t -cared Don’t -cared I/O 4 Not Use Not Use Not Use Not Use I/O 5 Ready/Busy Ready/Busy True Ready/Busy Ready/Busy Busy : "0" I/O 6 Ready/Busy Ready/Busy Ready/Busy Ready/Busy Busy : "0" I/O 7 Write Protect Write Protect Write Protect Write Protect Protected : "0" Not use Not use Not use Not use I/O 8~15 (X16 device only) Ready : "1" Ready : "1" Not Protected Don’t -care NOTE : 1. True Ready/Busy represents internal program operation status which is being executed in cache program mode. 2. I/Os defined ’Not use’ are recommended to be masked out when Read Status is being executed. 36 Preliminary FLASH MEMORY K9K4G08U1M K9F2G08U0M K9F2G16U0M Read ID The device contains a product identification mode, initiated by writing 90h to the command register, followed by an address input of 00h. Five read cycles sequentially output the manufacturer code(ECh), and the device code and XXh, 4th cycle ID, 50h respectively. The command register remains in Read ID mode until further commands are issued to it. Figure 14 shows the operation sequence. Figure 14. Read ID Operation tCLR CLE tCEA CE WE tAR ALE RE tWHR I/OX 90h 00h tREA Maker code Address. 1cycle Device Code* ECh 80h 4th Cyc.* Device code Device Device Code*(2nd Cycle) 3rd Cycle 4th Cycle* K9F2G08U0M DAh 80h 15h K9F2G16U0M CAh 80h 55h RESET The device offers a reset feature, executed by writing FFh to the command register. When the device is in Busy state during random read, program or erase mode, the reset operation will abort these operations. The contents of memory cells being altered are no longer valid, as the data will be partially programmed or erased. The command register is cleared to wait for the next command, and the Status Register is cleared to value C0h when WP is high. Refer to table 3 for device status after reset operation. If the device is already in reset state a new reset command will be accepted by the command register. The R/B pin transitions to low for tRST after the Reset command is written. Refer to Figure 15 below. Figure 15. RESET Operation tRST R/B I/OX FFh Table3. Device Status After Power-up After Reset PRE status High Low Operation Mode First page data access is ready 00h command is latched 37 Waiting for next command Preliminary FLASH MEMORY K9K4G08U1M K9F2G08U0M K9F2G16U0M Power-On Auto-Read The device is designed to offer automatic reading of the first page without command and address input sequence during power-on. An internal voltage detector enables auto-page read functions when Vcc reaches about 1.8V. PRE pin controls activation of autopage read function. Auto-page read function is enabled only when PRE pin is tied to Vcc. Serial access may be done after power-on without latency. Power-On Auto Read mode is available only on 3.3V device(K9F2GXXU0M). ≈ Figure 16. Power-On Auto-Read ~ 1.8V VCC ≈ CLE ≈≈ CE WE ≈≈ ALE ≈ tR RE I/OX 1st 38 2nd 3rd ≈ R/B ≈ PRE .... n th Preliminary FLASH MEMORY K9K4G08U1M K9F2G08U0M K9F2G16U0M READY/BUSY The device has a R/B output that provides a hardware method of indicating the completion of a page program, erase and random read completion. The R/B pin is normally high but transitions to low after program or erase command is written to the command register or random read is started 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 17). Its value can be determined by the following guidance. Rp VCC ibusy 3.3V device - VOL : 0.4V, VOH : 2.4V Ready Vcc R/B open drain output VOH CL VOL Busy tf tr GND Device Figure 17. Rp vs tr ,tf & Rp vs ibusy @ Vcc = 3.3V, Ta = 25°C , CL = 50pF tr,tf [s] Ibusy 150n 100n 1.2 150 3m 100 0.8 2m Ibusy [A] 200 2.4 tr 50n 50 0.6 1.8 tf 1.8 1.8 1.8 1K 2K 3K Rp(ohm) 4K 1m Rp value guidance Rp(min, 3.3V part) = 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 39 Preliminary FLASH MEMORY K9K4G08U1M K9F2G08U0M K9F2G16U0M Data Protection & Power up sequence 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. A recovery time of minimum 10µs is required before internal circuit gets ready for any command sequences as shown in Figure 18. The two step command sequence for program/erase provides additional software protection. ≈ Figure 18. AC Waveforms for Power Transition 3.3V device : ~ 2.5V High ≈ VCC WE 10µs ≈ ≈ WP 40 3.3V device : ~ 2.5V