Preliminary K9K1G08Q0A K9K1G16Q0A K9K1G08U0A K9K1G16U0A FLASH MEMORY Document Title 128M x 8 Bit / 64M x 16 Bit NAND Flash Memory Revision History Revision No. History Draft Date Remark 0.0 Initial issue. Mar. 17th 2003 Preliminary 0.1 1. Note is added. (VIL can undershoot to -0.4V and VIH can overshoot to VCC +0.4V for durations of 20 ns or less.) 2. 63FBGA,1.8V product is added. K9K1GXXQ0A-GCB0,GIB0,JCB0,JIB0 Jun. 4th 2003 Preliminary 0.2 Aug. 1st 2003 Errata is deleted. AC parameters are changed. Before After Preliminary tWC tWH tWP tRC tREH tRP tREA tCEA 45 15 25 50 15 25 30 45 60 20 40 60 20 40 40 55 Note : For more detailed features and specifications including FAQ, please refer to Samsung’s Flash web site. http://www.samsung.com/Products/Semiconductor/Flash/TechnicalInfo/datasheets.htm 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 K9K1G08Q0A K9K1G16Q0A K9K1G08U0A K9K1G16U0A FLASH MEMORY 128M x 8 Bit / 64M x 16 Bit NAND Flash Memory PRODUCT LIST Part Number K9K1G08Q0A-G,J Vcc Range Organization X8 1.70 ~ 1.95V K9K1G16Q0A-G,J FBGA X16 K9K1G08U0A-Y,P TSOP1 X8 K9K1G08U0A-G,J K9K1G08U0A-V,F PKG Type 2.7 ~ 3.6V FBGA WSOP1 K9K1G16U0A-Y,P X16 K9K1G16U0A-G,J TSOP1 FBGA FEATURES • Fast Write Cycle Time - 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 • Intelligent Copy-Back • Unique ID for Copyright Protection • Package - K9K1GXXU0A-YCB0/YIB0 48 - Pin TSOP I (12 x 20 / 0.5 mm pitch) - K9K1GXXX0A-GCB0/GIB0 63- Ball FBGA - K9K1G08U0A-VCB0/VIB0 48 - Pin WSOP I (12X17X0.7mm) - K9K1GXXU0A-PCB0/PIB0 48 - Pin TSOP I (12 x 20 / 0.5 mm pitch) - Pb-free Package - K9K1GXXX0A-JCB0/JIB0 63- Ball FBGA - Pb-free Package - K9K1G08U0A-FCB0/FIB0 48 - Pin WSOP I (12X17X0.7mm)- Pb-free Package * K9K1G08U0A-V,F(WSOPI ) is the same device as K9K1G08U0A-Y,P(TSOP1) except package type. • Voltage Supply - 1.8V device(K9K1GXXQ0A) : 1.70~1.95V - 3.3V device(K9K1GXXU0A) : 2.7 ~ 3.6 V • Organization - Memory Cell Array - X8 device(K9K1G08X0A) : (128M + 4096K)bit x 8 bit - X16 device(K9K1G16X0A) : (64M + 2048K)bit x 16bit - Data Register - X8 device(K9K1G08X0A) : (512 + 16)bit x 8bit - X16 device(K9K1G16X0A) : (256 + 8)bit x16bit • Automatic Program and Erase - Page Program - X8 device(K9K1G08X0A) : (512 + 16)Byte - X16 device(K9K1G16X0A) : (256 + 8)Word - Block Erase : - X8 device(K9K1G08X0A) : (16K + 512)Byte - X16 device(K9K1G16X0A) : ( 8K + 256)Word • Page Read Operation - Page Size - X8 device(K9K1G08X0A) : (512 + 16)Byte - X16 device(K9K1G16X0A) : (256 + 8)Word - Random Access : 12µs(Max.) - Serial Page Access : 50ns(Min.)* * K9F12XXQ0A : 60ns(Min.) GENERAL DESCRIPTION The K9K1G08U0A is a 128M(134,217,728)x8bit NAND Flash Memory with a spare 4.096K(4,194,304)x8bit. Its NAND cell provides the most cost-effective solution for the solid state mass storage market. A program operation can be performed in typically 200µs on the 528-byte(x8 device) or 264-word(x16 device) page and an erase operation can be performed in typically 2ms on a 16K-byte(x8 device) or 8K-word(x16 device) block. Data in the data register can be read out at 50ns(1.8V device : 60ns) 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 inputs. The onchip write controller automates all program and erase functions including pulse repetition, where required, and internal verify and margining of data. Even the write-intensive systems can take advantage of the K9K1G08U0A′s extended reliability of 100K program/ erase cycles by providing ECC(Error Correcting Code) with real time mapping-out algorithm. The K9K1G08U0A is an optimum solution for large nonvolatile storage applications such as solid state file storage and other portable applications requiring non-volatility. 2 Preliminary K9K1G08Q0A K9K1G16Q0A K9K1G08U0A K9K1G16U0A FLASH MEMORY PIN CONFIGURATION (TSOP1) K9K1G08U0A-YCB0,PCB0/YIB0,PIB0 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 I/O7 I/O6 I/O5 I/O4 N.C N.C N.C Vcc Vss N.C N.C N.C I/O3 I/O2 I/O1 I/O0 N.C N.C N.C N.C 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 PACKAGE DIMENSIONS 48-PIN LEAD/LEAD FREE PLASTIC THIN SMALL OUT-LINE PACKAGE TYPE(I) 48 - TSOP1 - 1220F 0.10 MAX 0.004 Unit :mm/Inch #48 #24 #25 0.50 0.0197 12.40 0.488 MAX ( 0.25 ) 0.010 #1 12.00 0.472 +0.003 0.008-0.001 0.20 -0.03 0~8° 0.45~0.75 0.018~0.030 +0.003 18.40±0.10 0.724±0.004 0.005-0.001 +0.075 0.25 0.010 TYP 1.00±0.05 0.039±0.002 0.125 0.035 +0.07 20.00±0.20 0.787±0.008 ( 0.50 ) 0.020 3 1.20 0.047MAX 0.05 0.002 MIN Preliminary K9K1G08Q0A K9K1G16Q0A K9K1G08U0A K9K1G16U0A FLASH MEMORY PIN CONFIGURATION (FBGA) K9K1GXXX0A-GCB0,JCB0/GIB0,JIB0 X8 1 2 3 X16 4 5 N.C N.C N.C /WP ALE Vss /CE /WE R/B NC /RE CLE NC NC NC A 3 4 5 6 N.C N.C N.C N.C N.C /WP ALE Vss /CE /WE R/B NC /RE CLE NC NC NC NC NC NC NC NC NC NC NC NC NC NC NC NC NC NC I/O5 I/O7 NC I/O8 I/O1 I/O10 I/O12 IO14 Vcc B B C C NC NC NC NC NC NC D D NC NC NC NC NC NC NC NC NC NC NC NC NC I/O0 E E F F NC NC NC Vcc VccQ I/O5 I/O7 G G H 2 N.C N.C N.C N.C N.C N.C A 1 6 NC Vss I/O1 I/O2 NC I/O3 I/O4 I/O6 I/O0 I/O9 I/O3 VccQ I/O6 I/O15 Vss I/O2 I/O11 I/O4 I/O13 Vss H Vss N.C N.C N.C N.C N.C N.C N.C N.C N.C N.C N.C N.C N.C N.C N.C N.C Top View Top View 4 Preliminary K9K1G08Q0A K9K1G16Q0A K9K1G08U0A K9K1G16U0A FLASH MEMORY PACKAGE DIMENSIONS 63-Ball FBGA (measured in millimeters) Top View Bottom View Side View A1 INDEX MARK 8.50±0.10 0.10 MAX 8.50±0.10 A 0.80x9=7.20 10 9 8 7 6 5 4 3 2 1 B (Datum A) #A1 0.80 A 0.80 0.80x11=8.80 16.00±0.10 (Datum B) C D E 16.00±0.10 F G H 4.40 16.00±0.10 0.45±0.05 B J K L M 0.32±0.05 1.10±0.10 63-∅ 0.45±0.05 ∅ 0.20 M A B 5 3.60 Preliminary K9K1G08Q0A K9K1G16Q0A K9K1G08U0A K9K1G16U0A FLASH MEMORY PIN CONFIGURATION (WSOP1) K9K1G08U0A-VCB0,FCB0/VIB0,FIB0 N.C N.C DNU N.C N.C N.C R/B RE CE DNU N.C Vcc Vss N.C DNU CLE ALE WE WP N.C N.C DNU N.C N.C N.C N.C DNU N.C I/O7 I/O6 I/O5 I/O4 N.C DNU N.C Vcc Vss N.C DNU N.C I/O3 I/O2 I/O1 I/O0 N.C DNU N.C N.C 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 PACKAGE DIMENSIONS 48-PIN LEAD/LEAD FREE PLASTIC VERY VERY THIN SMALL OUT-LINE PACKAGE TYPE (I) 48 - WSOP1 - 1217F Unit :mm 0.70 MAX 0.58±0.04 15.40±0.10 #48 #24 #25 +0.07 -0.03 0.16 +0.07 -0.03 #1 0.50TYP (0.50±0.06) 0.20 12.00±0.10 8° 0°~ 0.10 +0.075 -0.035 (0.1Min) 0.45~0.75 17.00±0.20 6 Preliminary K9K1G08Q0A K9K1G16Q0A K9K1G08U0A K9K1G16U0A FLASH MEMORY Figure 1-1. Functional Block Diagram VCC VSS A9 - A26 X-Buffers Latches & Decoders A0 - A 7 Y-Buffers Latches & Decoders 1,024M + 32M Bit NAND Flash ARRAY (512 + 16)Byte x 262,144 Page Register & S/A A8 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 WP Figure 2-1. Array Organization 1 Block = 32 Pages (16K + 512) Byte 256K Pages (=8,192 Blocks) 1st half Page Register 2nd half Page Register (=256 Bytes) (=256 Bytes) 1 Page = 528 Bytes 1 Block = 528 B x 32 Pages = (16K + 512) Bytes 1 Device = 528B x 32Pages x 8,192 Blocks = 1,056 Mbits 8 bit 512B Bytes 16 Bytes I/O 0 ~ I/O 7 Page Register 512 Bytes I/O 0 I/O 1 16 Bytes 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 A9 A10 A11 A12 A13 A14 A15 A16 3rd Cycle A17 A18 A19 A20 A21 A22 A23 A24 4th Cycle A25 A26 *L *L *L *L *L *L NOTE : Column Address : Starting Address of the Register. 00h Command(Read) : Defines the starting address of the 1st half of the register. 01h Command(Read) : Defines the starting address of the 2nd half of the register. * A8 is set to "Low" or "High" by the 00h or 01h Command. * L must be set to "Low". 7 Column Address Row Address (Page Address) Preliminary K9K1G08Q0A K9K1G16Q0A K9K1G08U0A K9K1G16U0A FLASH MEMORY Figure 1-2. K9K1G16X0A (X16) FUNCTIONAL BLOCK DIAGRAM VCC VSS A9 - A25 X-Buffers Latches & Decoders A 0 - A7 Y-Buffers Latches & Decoders 512M + 16M Bit NAND Flash ARRAY (256 + 8)Word x 262144 Page Register & S/A Y-Gating Command Command Register Control Logic & High Voltage Generator CE RE WE VCC/VccQ VSS I/O Buffers & Latches Global Buffers Output Driver I/0 0 I/0 15 CLE ALE WP Figure 2-2. K9K1G16X0A (X16) ARRAY ORGANIZATION 1 Block =32 Pages = (8K + 256) Word 256K Pages (=8192 Blocks) 1 Page = 264 Word 1 Block = 264 Word x 32 Pages = (8K + 256) Word 1 Device = 264Words x 32Pages x 8192 Blocks = 1056 Mbits Page Register (=256 Words) 16 bit 256Word 8 Word I/O 0 ~ I/O 15 Page Register 256 Word 8 Word 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 L* 2nd Cycle A9 A10 A11 A12 A13 A14 A15 A16 L* 3rd Cycle A17 A18 A19 A20 A21 A22 A23 A24 L* 4th Cycle A25 A26 L* L* L* L* L* L* L* 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 I/O8 to 15 Column Address Row Address (Page Address) Preliminary K9K1G08Q0A K9K1G16Q0A K9K1G08U0A K9K1G16U0A FLASH MEMORY Product Introduction The K9K1G08U0A is a 1,026Mbit(1,107,296,436 bit) memory organized as 262,144 rows(pages) by 528 columns. Spare sixteen columns are located from column address of 512 to 527. A 528-byte data register is connected to memory cell arrays accommodating data transfer between the I/O buffers and memory during page read and page program operations. The memory array is made up of 16 cells that are serially connected to form a NAND structure. Each of the 16 cells resides in a different page. A block consists of two NAND structured strings. A NAND structure consists of 16 cells. Total 135168 NAND cells reside in a block. The array organization is shown in Figure 2. 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 8,192 separately erasable 16K-byte blocks. It indicates that the bit by bit erase operation is prohibited on the K9K1G08U0A. The K9K1G08U0A has addresses multiplexed into 8 I/O's. This scheme dramatically reduces pin counts and allows systems 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. 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. The 128M byte physical space requires 27 addresses(X8 device) or 26 addresses(X16 device), thereby requiring four cycles for byte-level addressing: column address, low row address and high row address, in that order. Page Read and Page Program need the same four 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 K9K1G08U0A. The device provides simultaneous program/erase capability up to four pages/blocks. By dividing the memory array into eight 128Mbit separate planes, simultaneous multi-plane operation dramatically increases program/erase performance by 4X while still maintaining the conventional 512 byte structure. The extended pass/fail status for multi-plane program/erase allows system software to quickly identify the failing page/block out of selected multiple pages/blocks. Usage of multi-plane operations will be described further throughout this document. In addition to the enhanced architecture and interface, the device incorporates copy-back program feature from one page to another of the same plane without the need for transporting the data to and from the external buffer memory. Since the time-consuming burstreading and data-input cycles are removed, system performance for solid-state disk application is significantly increased. Table 1. Command Sets Function Read 1 1st. Cycle (1) 00h/01h 2nd. Cycle 3rd. Cycle - - Read 2 50h - - Read ID 90h - - Reset FFh - - Page Program (True)(2) 80h 10h - Acceptable Command during Busy O Page Program (Dummy)(2) 80h 11h - Copy-Back Program(True)(2) 00h 8Ah 10h Copy-Back Program(Dummy)(2) 00h 8Ah 10h Block Erase 60h D0h - 60h---60h D0h - 70h - - O - - O Multi-Plane Block Erase Read Status Read Multi-Plane Status 71h (3) NOTE : 1. The 00h command defines starting address of the 1st half of registers. The 01h command defines starting address of the 2nd half of registers. After data access on the 2nd half of register by the 01h command, the status pointer is automatically moved to the 1st half register(00h) on the next cycle. 2. Page Program(True) and Copy-Back Program(True) are available on 1 plane operation. Page Program(Dummy) and Copy-Back Program(Dummy) are available on the 2nd,3rd,4th plane of multi plane operation. 3. The 71h command should be used for read status of Multi Plane operation. Caution : Any undefined command inputs are prohibited except for above command set of Table 1. 9 Preliminary K9K1G08Q0A K9K1G16Q0A K9K1G08U0A K9K1G16U0A FLASH MEMORY Memory Map The device is arranged in eight 128Mbit memory planes. Each plane contains 1,024 blocks and 528 byte page registers. This allows it to perform simultaneous page program and block erase by selecting one page or block from each plane. The block address map is configured so that multi-plane program/erase operations can be executed for every four sequential blocks by dividing the memory array into plane 0~3 or plane 4~7 separately. For example, multi-plane program/erase operations into plane 2,3,4 and 5 are prohibited. Figure 3. Memory Array Map Plane 0 (1024 Block) Block 0 Plane 2 (1024 Block) Plane 1 (1024 Block) Block 2 Block 1 Plane 3 (1024 Block) Block 3 Page 0 Page 0 Page 0 Page 0 Page 1 Page 1 Page 1 Page 1 Page 30 Page 31 Page 30 Page 30 Page 31 Page 30 Page 31 Block 4092 Page 31 Block 4094 Block 4093 Block 4095 Page 0 Page 0 Page 0 Page 0 Page 1 Page 1 Page 1 Page 1 Page 30 Page 30 Page 31 Page 30 Page 30 Page 31 Page 31 Page 31 528byte Page Registers 528byte Page Registers 528byte Page Registers 528byte Page Registers Plane 4 (1024 Block) Plane 5 (1024 Block) Plane 6 (1024 Block) Plane 7 (1024 Block) Block 4096 Block 4098 Block 4097 Block 4099 Page 0 Page 0 Page 0 Page 0 Page 1 Page 1 Page 1 Page 1 Page 30 Page 31 Page 30 Page 31 Page 30 Page 31 Page 30 Page 31 Block 8188 Block 8190 Block 8189 Block 8191 Page 0 Page 0 Page 0 Page 0 Page 1 Page 1 Page 1 Page 1 Page 30 Page 31 Page 30 Page 31 Page 30 Page 31 Page 30 Page 31 528byte Page Registers 528byte Page Registers 528byte Page Registers 528byte Page Registers 10 Preliminary K9K1G08Q0A K9K1G16Q0A K9K1G08U0A K9K1G16U0A FLASH MEMORY PIN DESCRIPTION Pin Name Pin Function I/O0 ~ I/O7 (K9K1G08X0A) I/O0 ~ I/O15 (K9K1G16X0A) 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. VccQ OUTPUT BUFFER POWER VccQ is the power supply for Output Buffer. VccQ is internally connected to Vcc, thus should be biased to Vcc. Vcc POWER VCC is the power supply for device. Vss GROUND N.C NO CONNECTION Lead is not internally connected. DNU DO NOT USE Leave it disconnected. NOTE : Connect all VCC and VSS pins of each device to common power supply outputs. Do not leave VCC or VSS disconnected. 11 Preliminary K9K1G08Q0A K9K1G16Q0A K9K1G08U0A K9K1G16U0A FLASH MEMORY ABSOLUTE MAXIMUM RATINGS Parameter Rating Symbol Unit K9K1GXXQ0A(1.8V) K9K1GXXU0A(3.3V) VIN/OUT -0.6 to + 2.45 -0.6 to + 4.6 VCC -0.2 to + 2.45 -0.6 to + 4.6 VCCQ -0.2 to + 2.45 -0.6 to + 4.6 Voltage on any pin relative to VSS K9K1GXXX0A-XCB0 Temperature Under Bias -10 to +125 TBIAS K9K1GXXX0A-XIB0 °C -40 to +125 K9K1GXXX0A-XCB0 Storage Temperature V TSTG -65 to +150 °C Ios 5 mA K9K1GXXX0A-XIB0 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, K9K1GXXX0A-XCB0 :TA=0 to 70°C, K9K1GXXX0A-XIB0 :TA=-40 to 85°C) Parameter K9K1GXXQ0A(1.8V) Symbol K9K1GXXU0A(3.3V) Min Typ. Max Min Typ. Max Unit Supply Voltage VCC 1.70 1.8 1.95 2.7 3.3 3.6 V Supply Voltage VCCQ 1.70 1.8 1.95 2.7 3.3 3.6 V Supply Voltage VSS 0 0 0 0 0 0 V DC AND OPERATING CHARACTERISTICS(Recommended operating conditions otherwise noted.) Parameter Operating Current Symbol Test Conditions tRC=50ns, CE=VIL IOUT=0mA K9K1GXXQ0A(1.8V) K9K1GXXU0A(3.3V) Min Typ Max Min Typ Max - 10 20 - 15 30 Sequential Read ICC1 Program ICC2 - - 10 20 - 15 30 Erase ICC3 - - 10 20 - 15 30 Stand-by Current(TTL) ISB1 CE=VIH, WP=0V/VCC - - 1 - - 1 Stand-by Current(CMOS) ISB2 CE=VCC-0.2, WP=0V/VCC - 20 100 - 20 100 Input Leakage Current ILI VIN=0 to Vcc(max) - - ±20 - - ±20 Output Leakage Current ILO VOUT=0 to Vcc(max) - - ±20 - - ±20 I/O pins VCCQ-0.4 - 2.0 - VCCQ+0.3 Except I/O pins VCC-0.4 - 2.0 - VCC+0.3 -0.3 - 0.4 -0.3 - 0.8 VccQ-0.1 - - 2.4 - - - - 0.1 - - 0.4 3 4 - 8 10 - Input High Voltage VIH* Input Low Voltage, All inputs VIL* Output High Voltage Level VOH Output Low Voltage Level VOL Output Low Current(R/B) IOL(R/B) K9K1GXXQ0A :IOH=100µA K9K1GXXU0A :IOH=400µA K9K1GXXQ0A :IOL=100uA K9K1GXXU0A :IOL=2.1mA K9K1GXXQ0A :VOL=0.1V K9K1GXXU0A :VOL=0.4V NOTE : VIL can undershoot to -0.4V and VIH can overshoot to VCC +0.4V for durations of 20 ns or less 12 VCCQ +0.3 VCC +0.3 Unit mA µA V mA Preliminary K9K1G08Q0A K9K1G16Q0A K9K1G08U0A K9K1G16U0A FLASH MEMORY Valid Block Parameter Symbol Min Typ. Max Unit NVB 8,042 - 8,192 Blocks Valid Block Number 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 try to access these invalid blocks for program and erase. Refer to the attached technical notes for an 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. 3. Minimum 1004 valid blocks are guaranteed for each contiguous 128Mb memory space. AC TEST CONDITION (K9K1GXXX0A-XCB0 :TA=0 to 70°C, K9K1GXXX0A-XIB0 :TA=-40 to 85°C K9K1GXXQ0A : Vcc=1.70V~1.95V , K9K1GXXU0A : Vcc=2.7V~3.6V unless otherwise noted) Parameter Input Pulse Levels K9K1GXXQ0A K9K1GXXU0A 0V to VccQ 0.4V to 2.4V Input Rise and Fall Times 5ns 5ns VccQ/2 1.5V K9K1GXXQ0A:Output Load (VccQ:1.8V +/-10%) K9K1GXXU0A:Output Load (VccQ:3.0V +/-10%) 1 TTL GATE and CL=30pF 1 TTL GATE and CL=50pF K9K1GXXU0A:Output Load (VccQ:3.3V +/-10%) - 1 TTL GATE and CL=100pF Input and Output Timing Levels Capacitance(TA=25°C, VCC=1.8V/3.3V, f=1.0MHz) Symbol Test Condition Min Max Unit Input/Output Capacitance Item CI/O VIL=0V - 20 pF Input Capacitance CIN VIN=0V - 20 pF NOTE : Capacitance is periodically sampled and not 100% tested. MODE SELECTION CLE ALE CE WE RE GND WP H L L H X X L H L H X X Mode Command Input Read Mode Address Input(4clock) H L L H X H L H L H X H L L L H L H L L L H L X Data Output L L L H H L X During Read(Busy) on K9K1G08U0A_Y,P or K9K1G08U0A_V,F X X X X H L X During Read(Busy) on the devices except K9K1G08U0A_Y,P and K9K1G08U0A_V,F X X X X X L H During Program(Busy) X X X X X X H During Erase(Busy) X X X X L Write Protect H X X 0V 0V/ X X X (1) X Command Input Write Mode Address Input(4clock) Data Input 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 Program Time tPROG - 200 500 µs Dummy Busy Time for Multi Plane Program tDBSY 1 10 µs - - 1 cycle - - 2 cycles - 2 3 ms Number of Partial Program Cycles in the Same Page Block Erase Time Main Array Spare Array Nop tBERS 13 Unit Preliminary K9K1G08Q0A K9K1G16Q0A K9K1G08U0A K9K1G16U0A FLASH MEMORY AC Timing Characteristics for Command / Address / Data Input Parameter Symbol Min Max K9K1GXXQ0A K9K1GXXU0A K9K1GXXQ0A K9K1GXXU0A - - Unit CLE Set-up Time tCLS 0 0 ns CLE Hold Time tCLH 10 10 - - ns CE Setup Time tCS 0 0 .- .- ns CE Hold Time tCH 10 10 - - ns WE Pulse Width tWP 40 25(1) - - ns ALE Setup Time tALS 0 0 - - ns ALE Hold Time tALH 10 10 - - ns Data Setup Time tDS 20 20 - - ns Data Hold Time tDH 10 10 - - ns Write Cycle Time tWC 60 45 - - ns WE High Hold Time tWH 20 15 - - ns NOTE : 1. If tCS is set less than 10ns, tWP must be minimum 35ns, otherwise, tWP may be minimum 25ns. AC Characteristics for Operation Parameter Min Symbol Max Unit K9K1GXXQ0A K9K1GXXU0A K9K1GXXQ0A K9K1GXXU0A Data Transfer from Cell to Register tR - - 12 12 µs ALE to RE Delay tAR 10 10 - - ns CLE to RE Delay tCLR 10 10 - - ns Ready to RE Low tRR 20 20 - - ns RE Pulse Width tRP 40 25 - - ns WE High to Busy tWB - - 100 100 ns Read Cycle Time tRC 60 50 - - ns RE Access Time tREA - - 40 30 ns CE Access Time tCEA - - 55 45 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 20 15 - - ns ns Output Hi-Z to RE Low tIR 0 0 - - WE High to RE Low tWHR 60 60 - - Device Resetting Time(Read/Program/Erase) tRST - - Parameter K9K1G08U0AY,P only 5/10/500 Symbol Min (1) 5/10/500 ns (1) Max µs Unit Last RE High to Busy(at sequential read) tRB - 100 ns CE High to Ready(in case of interception by CE at read) tCRY - 50 +tr(R/B)(3) ns CE High Hold Time(at the last serial read)(2) tCEH 100 - ns NOTE : 1. If reset command(FFh) is written at Ready state, the device goes into Busy for maximum 5us. 2. To break the sequential read cycle, CE must be held high for longer time than tCEH. 3. The time to Ready depends on the value of the pull-up resistor tied R/B pin. 14 Preliminary K9K1G08Q0A K9K1G16Q0A K9K1G08U0A K9K1G16U0A 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 so called as the invalid block information. Devices with invalid block(s) have the same quality level 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(s) information is written prior to shipping. The invalid block(s) status is defined by the 6th byte(X8 device) or 1st word(X16 device) in the spare area. Samsung makes sure that either the 1st or 2nd page of every invalid block has non-FFh(X8 device) or non-FFFFh(X16 device) data at the column address of 517(X8 device) or 256 and 261(X16 device). 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 4). 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" at the column address 512 of the 1st and 2nd page in the block Check "FFh" ? Yes No Last Block ? Yes End Figure 4. Flow chart to create invalid block table. 15 Preliminary K9K1G08Q0A K9K1G16Q0A K9K1G08U0A K9K1G16U0A FLASH MEMORY 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 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 Write Read ECC Detection and Countermeasure sequence Erase Failure Status Read after Erase --> Block Replacement Program Failure Status Read after Program --> Block Replacement Read back ( Verify after Program) --> Block Replacement or ECC Correction Single Bit Failure Verify ECC -> ECC Correction : Error Correcting Code --> Hamming Code etc. Example) 1bit correction & 2bit detection Program Flow Chart If ECC is used, this verification operation is not needed. Start Write 00h Write 80h Write Address Write Address Wait for tR Time Write Data Write 10h Verify Data Read Status Register No * Program Error Yes Program Completed I/O 6 = 1 ? or R/B = 1 ? * Program Error Yes No No * I/O 0 = 0 ? Yes 16 : 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 K9K1G08Q0A K9K1G16Q0A K9K1G08U0A K9K1G16U0A FLASH MEMORY NAND Flash Technical Notes (Continued) Erase Flow Chart Read Flow Chart Start Start Write 60h Write 00h Write Block Address Write Address Write D0h Read Data Read Status Register ECC Generation I/O 6 = 1 ? or R/B = 1 ? * Erase Error No Reclaim the Error Verify ECC Yes Yes No No Page Read Completed I/O 0 = 0 ? Yes Erase Completed * : If erase operation results in an error, map out the failing block and replace it with another block. Block Replacement Buffer memory error occurs Page a Block A Block B 17 When the error happens with page "a" of Block "A", try to write the data into another Block "B" from an external buffer. Then, prevent further system access to Block "A" (by creating a "invalid block" table or other appropriate scheme.) Preliminary K9K1G08Q0A K9K1G16Q0A K9K1G08U0A K9K1G16U0A FLASH MEMORY Pointer Operation of K9K1G08X0A(X8) Samsung NAND Flash has three address pointer commands as a substitute for the two most significant column addresses. ’00h’ command sets the pointer to ’A’area(0~255byte), ’01h’command sets the pointer to ’B’area(256~511byte), and ’50h’command sets the pointer to ’C’ area(512~527byte). With these commands, the starting column address can be set to any of a whole page(0~527byte). ’00h’or ’50h’is sustained until another address pointer command is inputted. ’01h’command, however, is effective only for one operation. After any operation of Read, Program, Erase, Reset, Power_Up is executed once with ’01h’ command, the address pointer returns to ’A’ area by itself. To program data starting from ’A’ or ’C’ area, ’00h’ or ’50h’ command must be inputted before ’80h’command is written. A complete read operation prior to ’80h’ command is not necessary. To program data starting from ’B’area, ’01h’command must be inputted right before ’80h’command is written. Table 2. Destination of the pointer Command Pointer position Area 00h 01h 50h 0 ~ 255 byte 256 ~ 511 byte 512 ~ 527 byte 1st half array(A) 2nd half array(B) spare array(C) "A" area (00h plane) "B" area (01h plane) 256 Byte 256 Byte "A" "B" "C" area (50h plane) 16 Byte "C" Internal Page Register Pointer select commnad (00h, 01h, 50h) Pointer Figure 5. Block Diagram of Pointer Operation (1) Command input sequence for programming ’A’ area The address pointer is set to ’A’area(0~255), and sustained Address / Data input 00h 80h Address / Data input 10h 00h ’A’,’B’,’C’area can be programmed. It depends on how many data are inputted. 80h 10h ’00h’command can be omitted. (2) Command input sequence for programming ’B’ area The address pointer is set to ’B’area(256~511), and will be reset to ’A’area after every program operation is executed. Address / Data input 01h 80h Address / Data input 10h 01h ’B’, ’C’area can be programmed. It depends on how many data are inputted. 80h 10h ’01h’command must be rewritten before every program operation (3) Command input sequence for programming ’C’ area The address pointer is set to ’C’area(512~527), and sustained Address / Data input 50h 80h Address / Data input 10h 50h Only ’C’area can be programmed. 80h ’50h’command can be omitted. 18 10h Preliminary K9K1G08Q0A K9K1G16Q0A K9K1G08U0A K9K1G16U0A FLASH MEMORY Pointer Operation of K9K1G16X0A(X16) Samsung NAND Flash has two address pointer commands as a substitute for the most significant column address. ’00h’ command sets the pointer to ’A’ area(0~255word), and ’50h’ command sets the pointer to ’B’ area(256~263word). With these commands, the starting column address can be set to any of a whole page(0~263word). ’00h’or ’50h’is sustained until another address pointer command is inputted. To program data starting from ’A’or ’B’area, ’00h’or ’50h’command must be inputted before ’80h’command is written. A complete read operation prior to ’80h’command is not necessary. Table 3. Destination of the pointer Command Pointer position Area 00h 50h 0 ~ 255 word 256 ~ 263 word main array(A) spare array(B) "A" area (00h plane) "B" area (50h plane) 256 Word 8 Word "A" "B" Internal Page Register Pointer select command (00h, 50h) Pointer Figure 6. Block Diagram of Pointer Operation (1) Command input sequence for programming ’A’ area The address pointer is set to ’A’area(0~255), and sustained Address / Data input 00h 80h Address / Data input 10h 00h ’A’,’B’area can be programmed. It depends on how many data are inputted. 80h 10h ’00h’command can be omitted. (2) Command input sequence for programming ’B’ area The address pointer is set to ’B’area(256~263), and sustained Address / Data input 50h 80h Address / Data input 10h 50h Only ’B’area can be programmed. 80h ’50h’command can be omitted. 19 10h Preliminary K9K1G08Q0A K9K1G16Q0A K9K1G08U0A K9K1G16U0A FLASH MEMORY System Interface Using CE don’t-care. For an easier system interface, CE may be inactive during the data-loading or sequential data-reading as shown below. The internal 528byte(x8 device), 264word(x16 device) page 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 reading would provide significant savings in power consumption. Figure 7. Program Operation with CE don’t-care. CLE CE don’t-care WE ≈ ≈ CE ALE I/OX 80h Start Add.(4Cycle) tCS Data Input tCH Data Input 10h tCEA CE CE tREA RE tWP WE I/OX out Figure 8. Read Operation with CE don’t-care. CLE On K9K1G08U0A_Y,P or K9K1G08U0A_V,F CE must be held low during tR CE don’t-care ≈ CE RE ALE tR R/B WE I/OX 00h Data Output(sequential) Start Add.(4Cycle) 20 Preliminary K9K1G08Q0A K9K1G16Q0A K9K1G08U0A K9K1G16U0A FLASH MEMORY Device I/O DATA I/Ox Data In/Out K9K1G08X0A(X8 device) I/O 0 ~ I/O 7 ~528byte K9K1G16X0A(X16 device) I/O 0 ~ I/O 151) ~264word NOTE: I/O8~15 must be set to "0" during command or address input. I/O8~15 are used only for data bus. Command Latch Cycle CLE tCLS tCLH tCS tCH CE tWP WE tALS tALH ALE tDH tDS Command I/O0~7 Address Latch Cycle tCLS CLE tCS tWC tWC tWC CE tWP tWP tWP tWP WE tWH tALH tALS tWH tALH tALS tALS tWH tALH tALS tALH ALE tDS I/O0~7 tDH A0~A7 tDS tDH A9~A16 21 tDS tDH A17~A24 tDS tDH A25,,A26 Preliminary K9K1G08Q0A K9K1G16Q0A K9K1G08U0A K9K1G16U0A FLASH MEMORY Input Data Latch Cycle tCLH CLE tCH CE tWC tALS tWP ≈ ALE tWP tWP WE tWH tDH tDS tDH tDS tDH ≈ tDS I/O0~7 DIN 511 DIN 1 ≈ DIN 0 Serial access Cycle after Read(CLE=L, WE=H, ALE=L) tRC ≈ CE tCHZ* tREH ≈ tREA tREA tOH tREA RE tRHZ* tRHZ* I/Ox Dout Dout ≈ tOH Dout ≈ tRR R/B NOTES : Transition is measured ±200mV from steady state voltage with load. This parameter is sampled and not 100% tested. 22 Preliminary K9K1G08Q0A K9K1G16Q0A K9K1G08U0A K9K1G16U0A FLASH MEMORY Status Read Cycle tCLR CLE tCLS tCLH tCS CE tCH tWP WE tCEA tCHZ tOH tWHR RE tDH tDS I/OX tRHZ tREA tIR tOH Status Output 70h Read1 Operation(Read One Page) CLE tCEH CE tCHZ tWC WE tWB tCRY tAR2 ALE tR tRHZ tRC ≈ RE I/O0~7 00h or 01h A0 ~ A7 A9 ~ A16 Column Address R/B A17 ~ A24 Dout N A25,A26 Page(Row) Address Busy 23 Dout N+1 Dout N+2 ≈ ≈ tRR Dout 527 tRB Preliminary K9K1G08Q0A K9K1G16Q0A K9K1G08U0A K9K1G16U0A FLASH MEMORY Read1 Operation(Intercepted by CE) CLE CE WE tWB tCHZ tAR ALE tRC tR RE tRR I/O0~7 00h or 01h A9 ~ A16 A0 ~ A7 A17 ~ A24 Dout N A25,A26 Dout N+1 Dout N+2 Page(Row) Address Column Address Busy R/B Read2 Operation(Read One Page) CLE CE WE tR tWB tAR ALE ≈ tRR I/O0~7 50h A0 ~ A7 A9 ~ A16 A17 ~ A24 Dout 511+M A25,A26 R/B ≈ RE Dout 527 Selected Row M Address A0~A3 : Valid Address A4~A7 : Don′t care 512 16 Start address M 24 Preliminary K9K1G08Q0A K9K1G16Q0A K9K1G08U0A K9K1G16U0A FLASH MEMORY Sequential Row Read Operation (Within a Block) CLE CE WE ≈ ≈ ALE 00h Dout N A0 ~ A7 A9 ~ A16 A17 ~ A24 A25,A26 Dout N+1 ≈ I/O0~7 Dout 0 Dout 527 ≈ Busy R/B Dout 1 Dout 527 ≈ Ready ≈ RE Busy M M+1 N Output Output Page Program Operation CLE CE tWC ≈ tWC tWC WE tWB tPROG ALE I/O0~7 80h A0 ~ A7 A9 ~ A16 A17 ~ A24 Sequential Data Column Input Command Address Page(Row) Address A25,A26 ≈ ≈ RE Din Din 10h N 527 1 up to 528 Byte Data Program Command Serial Input ≈ R/B 70h 25 I/O0 Read Status Command I/O0=0 Successful Program I/O0=1 Error in Program Preliminary K9K1G08Q0A K9K1G16Q0A K9K1G08U0A K9K1G16U0A FLASH MEMORY BLOCK ERASE OPERATION (ERASE ONE BLOCK) CLE CE tWC WE tBERS tWB ALE RE I/O0~7 60h A9 ~ A16 A17 ~ A24 A25,A26 DOh 70h I/O 0 Busy R/B Auto Block Erase Setup Command Erase Command 26 ≈ Page(Row) Address Read Status Command I/O0=0 Successful Erase I/O0=1 Error in Erase 27 R/B I/O0~7 RE ALE WE Sequential Data Input Command 80h tWC Max. three times repeatable Page(Row) Address Din 527 tDBSY : typ. 1us max. 10us tDBSY 80h I/O0~7 R/B 80h A0 ~ A7 & A9 ~ A26 528 Byte Data Address & Data Input 11h tDBSY 80h A0 ~ A7 & A9 ~ A26 528 Byte Data Address & Data Input 11h 80h Din N A0 ~ A7 & A9 ~ A26 528 Byte Data Address & Data Input 11h tDBSY Last Plane Input & Program A0 ~ A7 A9 ~ A16 A17 ~ A24 A25,A26 tDBSY Ex.) Four-Plane Page Program into Plane 0~3 or Plane 4~7 Column Address Din N ≈ ≈ ≈ 11h Program 1 up to 528 Byte Data Command (Dummy) Serial Input A0 ~ A7 A9 ~ A16 A17 ~ A24 A25,A26 tWB ≈ CE ≈ ≈ ≈ CLE tPROG A0 ~ A7 & A9 ~ A26 528 Byte Data Address & Data Input 10h Program Confirm Command (True) 80h Din 527 tWB ≈ Multi-Plane Page Program Operation 71h tPROG 10h I/O 71h Read Multi-Plane Status Command K9K1G08Q0A K9K1G16Q0A K9K1G08U0A K9K1G16U0A FLASH MEMORY Preliminary Preliminary K9K1G08Q0A K9K1G16Q0A K9K1G08U0A K9K1G16U0A FLASH MEMORY Multi-Plane Block Erase Operation into Plane 0~3 or Plane 4~7 CLE CE tWC WE tBERS tWB ALE RE 60h I/O0~7 A9 ~ A16 A17 ~ A24 A25,A26 DOh 71h I/O 0 Busy R/B Block Erase Setup Command ≈ Page(Row) Address Erase Confirm Command Read Multi-Plane Status Command Max. 4 times repeatable * For Multi-Plane Erase operation, Block address to be erased should be repeated before "D0H" command. Ex.) Four-Plane Block Erase Operation R/B I/O0~7 tBERS 60h Address 60h Address 60h Address 60h A9 ~ A26 28 Address D0h 71h Preliminary K9K1G08Q0A K9K1G16Q0A K9K1G08U0A K9K1G16U0A FLASH MEMORY Read ID Operation CLE CE WE ALE RE tREAD I/O 0 ~ 7 90h Read ID Command 00h ECh Address. 1cycle Maker Code ID Defintition Table Device* Code 1 Byte 2nd Byte 3rd Byte 4th Byte Device Device Code K9K1G08Q0A 78h K9K1G08U0A 79h K9K1G16Q0A XX72h K9K1G16U0A XX74h Value Description ECh 79h A5h C0h Maker Code Device Code Must be don’t -cared Supports Multi Plane Operation 29 C0h Multi Plane Code 90 ID : Access command = 90H st A5h Preliminary K9K1G08Q0A K9K1G16Q0A K9K1G08U0A K9K1G16U0A FLASH MEMORY Copy-Back Program Operation CLE CE tWC WE tWB tWB tPROG ALE tR RE R/B 8Ah A0~A7 A9~A16 A17~A24 A25,A26 Column Address A0~A7 A9~A16 A17~A24 A25,A26 Column Address Page(Row) Address 10h 70h Page(Row) Address Busy Busy Copy-Back Data Input Command 30 I/O0 Read Status Command ≈ 00h ≈ I/O0~7 I/O0=0 Successful Program I/O0=1 Error in Program Preliminary K9K1G08Q0A K9K1G16Q0A K9K1G08U0A K9K1G16U0A FLASH MEMORY Device Operation PAGE READ Upon initial device power up, the device defaults to Read1 mode. This operation is also initiated by writing 00h to the command register along with four address cycles. Once the command is latched, it does not need to be written for the following page read operation. Three types of operations are available : random read, serial page read and sequential row read. The random read mode is enabled when the page address is changed. The 528 bytes of data within the selected page are transferred to the data registers in less than 12µ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 registers, they may be read out in 50ns(1.8V device : 60ns) cycle time by sequentially pulsing RE. High to low transitions of the RE clock output the data stating from the selected column address up to the last column address. After the data of last column address is clocked out, the next page is automatically selected for sequential row read. Waiting 12µs again allows reading the selected page. The sequential row read operation is terminated by bringing CE high. The way the Read1 and Read2 commands work is like a pointer set to either the main area or the spare area. The spare area of bytes 512 to 527 may be selectively accessed by writing the Read2 command. Addresses A0 to A3 set the starting address of the spare area while addresses A4 to A7 are ignored. Unless the operation is aborted, the page address is automatically incremented for sequential row read as in Read1 operation and spare sixteen bytes of each page may be sequentially read. The Read1 command(00h/01h) is needed to move the pointer back to the main area. Figures 9 to 12 show typical sequence and timings for each read operation. Figure 9. Read1 Operation CLE CE WE ALE tR R/B RE I/O0~7 00h Data Output(Sequential) Start Add.(4Cycle) A0 ~ A7 & A9 ~ A26 (00h Command) 1st half array (01h Command)* 2st half array Data Field Spare Field 1st half array 2st half array Data Field Spare Field * After data access on 2nd half array by 01h command, the start pointer is automatically moved to 1st half array (00h) at next cycle. 31 Preliminary K9K1G08Q0A K9K1G16Q0A K9K1G08U0A K9K1G16U0A FLASH MEMORY Figure 10. Read2 Operation CLE CE WE ALE tR R/B RE 50h I/O0~7 Data Output(Sequential) Start Add.(4Cycle) A0 ~ A3 & A9 ~ A26 Spare Field (A4 ~ A7 : Don′t Care) 1st half array 2nd half array Data Field Spare Field Figure 11. Sequential Row Read1 Operation I/O0 ~ 7 00h Start Add.(4Cycle) 01h A0 ~ A7 & A9 ~ A26 Data Output 1st Data Output Data Output 2nd (528 Byte) Nth (528 Byte) ( 01h Command) ( 00h Command) 1st half array tR ≈ tR tR R/B 2nd half array 1st half array 2nd half array 1st 2nd Nth Block Data Field 1st 2nd Nth Data Field Spare Field Spare Field The Sequential Read 1 and 2 operation is allowed only within a block and after the last page of a block is readout, the sequential read operation must be terminated by bringing CE high. When the page address moves onto the next block, read command and address must be given. 32 Preliminary K9K1G08Q0A K9K1G16Q0A K9K1G08U0A K9K1G16U0A FLASH MEMORY I/O0~7 tR tR R/B 50h ≈ Figure 12. Sequential Row Read2 Operation Start Add.(4Cycle) Data Output 1st A0 ~ A3 & A9 ~ A26 tR Data Output Data Output 2nd (16Byte) Nth (16Byte) (A4 ~ A7 : Don′t Care) 1st Block Nth Data Field Spare Field PAGE PROGRAM The device is programmed basically on a page basis, but it does allow multiple partial page programing of a byte or consecutive bytes up to 528, 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 1 for main array and 2 for spare array. The addressing may be done in any random order in a block. A page program cycle consists of a serial data loading period in which up to 528 bytes of data may be loaded into the page register, followed by a non-volatile programming period where the loaded data is programmed into the appropriate cell. Serial data loading can be started from 2nd half array by moving pointer. About the pointer operation, please refer to the attached technical notes. The serial data loading period begins by inputting the Serial Data Input command(80h), followed by the four cycle address input and then serial data loading. The bytes other than those to be programmed do not need to be loaded.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 control 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, with RE and CE low, 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 13). 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 13. Program & Read Status Operation tPROG R/B I/O0~7 80h Address & Data Input 10h 70h A0 ~ A7 & A9 ~ A26 528 Byte Data I/O0 Fail 33 Pass Preliminary K9K1G08Q0A K9K1G16Q0A K9K1G08U0A K9K1G16U0A FLASH MEMORY BLOCK ERASE The Erase operation is done on a block(16K Byte) basis. Block address loading is accomplished in three cycles initiated by an Erase Setup command(60h). Only address A14 to A26 is valid while A9 to A13 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 14 details the sequence. Figure 14. Block Erase Operation tBERS R/B I/O0~7 60h Address Input(3Cycle) Pass I/O0 70h D0h Block Add. : A14 ~ A26 Fail Multi-Plane Page Program into Plane 0~3 or Plane 4~7 Multi-Plane Page Program is an extension of Page Program, which is executed for a single plane with 528 byte page registers. Since the device is equipped with eight memory planes, activating the four sets of 528 byte page registers into plane 0~3 or plane 4~7 enables a simultaneous programming of four pages. Partial activation of four planes is also permitted. After writing the first set of data up to 528 byte into the selected page register, Dummy Page Program command (11h) instead of actual Page Program (10h) is inputted to finish data-loading of the current plane and move to the next plane. Since no programming process is involved, R/B remains in Busy state for a short period of time(tDBSY). Read Status command (standard 70h or alternate 71h) may be issued to find out when the device returns to Ready state by polling the Ready/Busy status bit(I/O 6). Then the next set of data for one of the other planes is inputted with the same command and address sequences. After inputting data for the last plane, actual True Page Program (10h) instead of dummy Page Program command (11h) must be followed to start the programming process. The operation of R/B and Read Status is the same as that of Page Program. Since maximum four pages into plane 0~3 or plane 4~7 are programmed simultaneously, pass/fail status is available for each page when the program operation completes. The extended status bits (I/O1 through I/O 4) are checked by inputting the Read Multi-Plane Status Register. Status bit of I/O 0 is set to "1" when any of the pages fails. Multi-Plane page Program with "01h" pointer is not supported, thus prohibited. Figure 15. Four-Plane Page Program tDBSY R/B I/O0~7 80h Address & 11h Data Input A0 ~ A7 & A9 ~ A26 528 Byte Data 80h 11h tDBSY 80h Address & 11h Data Input A0 ~ A7 & A9 ~ A26 528 Byte Data Address & 11h Data Input A0 ~ A7 & A9 ~ A26 528 Byte Data 80h 80h 80h 11h tPROG tDBSY 11h Address & 10h Data Input A0 ~ A7 & A9 ~ A26 528 Byte Data 80h 80h 10h Data input Plane 3 (1024 Block) Plane 0 (1024 Block) Plane 1 (1024 Block) Block 0 Block 1 Block 2 Block 3 Block 4 Block 5 Block 6 Block 7 Block 4088 Block 4092 Block 4089 Block 4093 Block 4090 Block 4094 Plane 2 (1024 Block) 34 Block 4091 Block 4095 71h Preliminary K9K1G08Q0A K9K1G16Q0A K9K1G08U0A K9K1G16U0A FLASH MEMORY Restirction in addressing with Multi Plane Page Program While any block in each plane may be addressable for Multi-Plane Page Program, the four least significant addresses(A9-A13) for the selected pages at one operation must be the same. Figure 16 shows an example where 2nd page of each addressed block is selected for four planes. However, any arbitrary sequence is allowed in addressing multiple planes as shown in Figure17. Figure 16. Multi-Plane Program & Read Status Operation Block 0 Plane 3 (1024 Block) Plane 2 (1024 Block) Plane 1 (1024 Block) Plane 0 (1024 Block) Block 2 Block 1 Block 3 Page 0 Page 0 Page 0 Page 0 Page 1 Page 1 Page 1 Page 1 Page 30 Page 30 Page 31 Page 30 Page 30 Page 31 Page 31 Page 31 Figure 17. Addressing Multiple Planes 80h Plane 2 11h 80h Plane 0 11h 80h Plane3 80h 11h Plane 1 10h Figure 18. Multi-Plane Page Program & Read Status Operation tPROG R/B Last Plane input I/O0~7 80h Address & Data Input 10h Pass I/O 71h A0 ~ A7 & A9 ~ A26 528 Byte Data Fail Multi-Plane Block Erase into Plane 0~3 or Plane 4~7 Basic concept of Multi-Plane Block Erase operation is identical to that of Multi-Plane Page Program. Up to four blocks, one from each plane can be simultaneously erased. Standard Block Erase command sequences (Block Erase Setup command followed by three address cycles) may be repeated up to four times for erasing up to four blocks. Only one block should be selected from each plane. The Erase Confirm command initiates the actual erasing process. The completion is detected by analyzing R/B pin or Ready/Busy status (I/O 6). Upon the erase completion, pass/fail status of each block is examined by reading extended pass/fail status(I/O 1 through I/O 4). Figure 19. Four Block Erase Operation R/B I/O0~7 tBERS 60h Address (3 Cycle) 60h Address (3 Cycle) 60h Address (3 Cycle) 60h Address (3 Cycle) D0h 71h I/O A0 ~ A7 & A9 ~ A26 Fail 35 Pass Preliminary K9K1G08Q0A K9K1G16Q0A K9K1G08U0A K9K1G16U0A FLASH MEMORY Copy-Back Program The copy-back program is configured to quickly and efficiently rewrite data stored in one page within the plane to another page within the same plane without utilizing an external memory. Since the time-consuming sequently-reading and its 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 burst-reading cycle and copying-program with the address of destination page. A normal read operation with "00h" command and the address of the source page moves the whole 528byte data into the internal buffer. As soon as the device returns to Ready state, Page-Copy Data-input command (8Ah) with the address cycles of destination page followed may be written. The Program Confirm command (10h) is required to actually begin the programming operation. Copy-Back Program operation is allowed only within the same memory plane. Once the Copy-Back Program is finished, any additional partial page programming into the copied pages is prohibited before erase. A14, A15 and A26 must be the same between source and target page. Figure20 shows the command sequence for single plane operation. "When there is a program-failure at Copy-Back operation, error is reported by pass/fail status. But, if Copy-Back operations are accumulated over time, bit error due to charge loss is not checked by external error detection/correction scheme. For this reason, two bit error correction is recommended for the use of Copy-Back operation." Figure 20. One Page Copy-Back program Operation tR tPROG R/B I/O0~7 00h Add.(4Cycles) A0 ~ A7 & A9 ~ A26 Source Address 8Ah Add.(4Cycles) A0 ~ A7 & A9 ~ A26 Destination Address 36 10h 70h I/O0 Fail Pass Preliminary K9K1G08Q0A K9K1G16Q0A K9K1G08U0A K9K1G16U0A FLASH MEMORY Multi-Plane Copy-Back Program Multi-Plane Copy-Back Program is an extension of one page Copy-Back Program into four plane operation. Since the device is equipped with four memory planes, activating the four sets of 528 bytes(x8 device) or 264words(x16 device)page registers enables a simultaneous Multi-Plane Copy-Back programming of four pages. Partial activation of four planes is also permitted. First, normal read operation with the "00h"command and address of the source page moves the whole 528 byte data into internal page buffers. Any further read operation for transferring the addressed pages to the corresponding page register must be executed with "03h" command instead of "00h" command. Any plane may be selected without regard to "00h" or "03h". Up to four planes may be addressed. Data moved into the internal page registers are loaded into the destination plane addresses. After the input of command sequences for reading the source pages, the same procedure as Multi-Plane Page programming except for a replacement address command with "8Ah" is executed. Since no programming process is involved during data loading at the destination plane address , R/B remains in Busy state for a short period of time(tDBSY). Read Status command (standard 70h or alternate 71h) may be issued to find out when the device returns to Ready state by polling the Ready/Busy status bit(I/O 6). After inputting data for the last plane, actual True Page Program (10h) instead of dummy Page Program command (11h) must be followed to start the programming process. The operation of R/B and Read Status is the same as that of Page Program. Since maximum four pages are programmed simultaneously, pass/fail status is available for each page when the program operation completes. No pointer operation is supported with Multi-Plane Copy-Back Program. Once the Multi-Plane Copy-Back Program is finished, any additional partial page programming into the copied pages is prohibited before erase once the Multi-Plane Copy-Back Program is finished. Figure 21. Four-Plane Copy-Back Program Max Three Times Repeatable Source Address Input 00h Plane 0 (1024 Block) 03h 03h 03h Plane 3 (1024 Block) Plane 2 (1024 Block) Plane 1 (1024 Block) Block 0 Block 4 Block 1 Block 5 Block 2 Block 3 Block 6 Block 7 Block 4088 Block 4092 Block 4089 Block 4093 Block 4090 Block 4094 Block 4091 Block 4095 Max Three Times Repeatable 8Ah 11h 8Ah 11h 8Ah 11h 8Ah 10h Destination Address Input Plane 3 (1024 Block) Plane 0 (1024 Block) Plane 1 (1024 Block) Block 0 Block 1 Block 2 Block 3 Block 4 Block 5 Block 6 Block 7 Block 4088 Block 4092 Block 4089 Block 4093 Block 4090 Block 4094 37 Plane 2 (1024 Block) Block 4091 Block 4095 I/OX R/B 00h 38 03h tR A0 ~ A7 & A9 ~ A25 Source Address Add.( 4Cyc.) 03h Add.( 4Cyc.) tR 8Ah tDBSY ≈ ≈ A0 ~ A7 & A9 ~ A25 Source Address ≈ ≈ Add.(4Cyc.) 11h tDBSY A0 ~ A7 & A9 ~ A25 Destination Address 8Ah 8Ah Max. 4 times (4 Cycle Destination Address Input) repeatable tDBSY : Typical 1us, Max 10us A0 ~ A7 & A9 ~ A25 Destination Address Add.(4Cyc.) 11h ≈ ≈ Max. 4 times ( 4 Cycle Source Address Input) repeatable tR : Normal Read Busy A0 ~ A7 & A9 ~ A25 Source Address Add.(4Cyc.) tR Figure 22. Four-Plane Copy-Back Page Program (Continued) 10h A0 ~ A7 & A9 ~ A25 Destination Address Add.(4Cyc.) tPROG 71h K9K1G08Q0A K9K1G16Q0A K9K1G08U0A K9K1G16U0A FLASH MEMORY Preliminary Preliminary K9K1G08Q0A K9K1G16Q0A K9K1G08U0A K9K1G16U0A FLASH MEMORY 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 4 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, a read command(00h or 50h) should be given before sequential page read cycle. For Read Status of Multi Plane Program/Erase, the Read Multi-Plane Status command(71h) should be used to find out whether multi-plane program or erase operation is completed, and whether the program or erase operation is completed successfully. The pass/fail status data must be checked only in the Ready condition after the completion of Multi-Plane program or erase operation. Table4. Read Staus Register Definition I/O No. Status Definition by 70h Command I/O 0 Total Pass/Fail I/O 1 Plane 0 Pass/Fail Must be don’t -cared Pass : "0"(2) Fail : "1" I/O 2 Plane 1 Pass/Fail Must be don’t -cared Pass : "0" (2) Fail : "1" I/O 3 Plane 2 Pass/Fail Must be don’t -cared Pass : "0" (2) Fail : "1" I/O 4 Plane 3 Pass/Fail Must be don’t -cared Pass : "0"(2) Fail : "1" I/O 5 Reserved Must be don’t -cared Must be don’t-cared I/O 6 Device Operation I/O 7 Write Protect Pass : "0" Fail : "1" Busy : "0" Protected : "0" Ready : "1" Not Protected : "1" Definition by 71h Command Pass : "0"(1) Busy : "0" Protected : "0" Fail : "1" Ready : "1" Not Protected : "1" NOTE : 1. I/O 0 describes combined Pass/Fail condition for all planes. If any of the selected multiple pages/blocks fails in Program/ Erase operation, it sets "Fail" flag. 2. The pass/fail status applies only to the corresponding plane. 39 Preliminary K9K1G08Q0A K9K1G16Q0A K9K1G08U0A K9K1G16U0A FLASH MEMORY Read ID The device contains a product identification mode, initiated by writing 90h to the command register, followed by an address input of 00h. Four read cycles sequentially output the manufacture code(ECh), and the device code*, Reserved(A5h), Multi plane operation code(C0h) respectively. A5h must be don’t-cared. C0h means that device supports Multi Plane operation. The command register remains in Read ID mode until further commands are issued to it. Figure 23 shows the operation sequence. Figure 23. Read ID Operation 1 CLE tCEA CE WE tAR ALE RE I/O0~7 tWHR 90h tREA 00h ECh Address. 1cycle Maker code 40 Device* Code A5h C0h Multi-Plane code Device Device Code K9K1G08Q0A 78h K9K1G08U0A 79h K9K1G16Q0A XX72h K9K1G16U0A XX74h Preliminary K9K1G08Q0A K9K1G16Q0A K9K1G08U0A K9K1G16U0A 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 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 5 for device status after reset operation. If the device is already in reset state a new reset command will not be accepted by the command register. The R/B pin transitions to low for tRST after the Reset command is written. Refer to Figure 24 below. Figure 24. RESET Operation tRST R/B I/O0~7 FFh Table5. Device Status Operation Mode After Power-up After Reset Read 1 Waiting for next command 41 Preliminary K9K1G08Q0A K9K1G16Q0A K9K1G08U0A K9K1G16U0A FLASH MEMORY 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 25). Its value can be determined by the following guidance. Rp VCC ibusy 1.8V device - VOL : 0.1V, VOH : VccQ-0.1V 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 25. Rp vs tr ,tf & Rp vs ibusy @ Vcc = 1.8V, Ta = 25°C , CL = 30pF @ Vcc = 3.3V, Ta = 25°C , CL = 100pF 200n 2m 30 0.85 120 90 60 0.57 1.7 1K tf 1.7 1.7 2K 3K Rp(ohm) tr,tf [s] 1.7 tr 100n 3m Ibusy [A] tr,tf [s] 300n Ibusy 300n 200n 300 3m 1.2 200 0.8 2m 3.6 3.6 3.6 2K 3K Rp(ohm) 4K tr 1m 100 100n 0.43 3.6 1.7 4K 1K 0.6 tf Rp value guidance Rp(min, 1.8V part) = Rp(min, 3.3V part) = 1.85V VCC(Max.) - VOL(Max.) IOL + ΣIL = 3.2V VCC(Max.) - VOL(Max.) IOL + ΣIL 3mA + Σ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 42 1m Ibusy [A] 400 2.4 Ibusy Preliminary K9K1G08Q0A K9K1G16Q0A K9K1G08U0A K9K1G16U0A FLASH MEMORY 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 1.1V(1.8V device) or 2V(3.3V device). WP pin provides hardware protection and is recommended to be kept at VIL during power-up and power-down and recovery time of minimum 10µs is required before internal circuit gets ready for any command sequences as shown in Figure 26. The two step command sequence for program/erase provides additional software protection. ≈ Figure 26. AC Waveforms for Power Transition 1.8V device : ~ 1.5V 3.3V device : ~ 2.5V High ≈ VCC WE 10µs ≈ ≈ WP 43 1.8V device : ~ 1.5V 3.3V device : ~ 2.5V