OneNAND128 FLASH MEMORY OneNAND SPECIFICATION Product OneNAND128 Part No. VCC(core & IO) Temperature PKG KFG2816Q1M-DEB 1.8V(1.7V~1.95V) Extended 67FBGA(LF)/48TSOP1 KFG2816D1M-DEB 2.65V(2.4V~2.9V) Extended 67FBGA(LF)/48TSOP1 KFG2816U1M-DIB 3.3V(2.7V~3.6V) Industrial 67FBGA(LF)/48TSOP1 Version: Ver. 1.0 Date: June 15th, 2005 1 OneNAND128 FLASH MEMORY INFORMATION IN THIS DOCUMENT IS PROVIDED IN RELATION TO SAMSUNG PRODUCTS, AND IS SUBJECT TO CHANGE WITHOUT NOTICE. NOTHING IN THIS DOCUMENT SHALL BE CONSTRUED AS GRANTING ANY LICENSE, EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, TO ANY INTELLECTUAL PROPERTY RIGHTS IN SAMSUNG PRODUCTS OR TECHNOLOGY. ALL INFORMATION IN THIS DOCUMENT IS PROVIDED ON AS "AS IS" BASIS WITHOUT GUARANTEE OR WARRANTY OF ANY KIND. 1. For updates or additional information about Samsung products, contact your nearest Samsung office. 2. Samsung products are not intended for use in life support, critical care, medical, safety equipment, or similar applications where Product failure could result in loss of life or personal or physical harm, or any military or defense application, or any governmental procurement to which special terms or provisions may apply. OneNAND™‚ is a trademark of Samsung Electronics Company, Ltd. Other names and brands may be claimed as the property of their rightful owners. Copyright © 2005, Samsung Electronics Company, Ltd 2 OneNAND128 FLASH MEMORY Document Title OneNAND Revision History Revision No. History Draft Date Remark 0.0 1. Initial Issue. Sep. 9, 2004 Advance 0.1 1. Corrected the errata 2. Revised Cold Reset 3. Added TSOP1 Package Information 4. Revised FBGA package type 5. Added 67FBGA Package Information 6. Revised typical tOTP, tLOCK from 300us to 600us 7. Revised max tOTP, tLOCK from 600us to 1000us 8. Deleted Lock All Block, Lock-Tight All Block Operation 9. Added Endurance and Data Retention 10. Revised Load Data into Buffer Operation Sequence 11. Revised Warm Reset 12. Revised Programmable Burst Read Latency Timing Diagram 13. Revised Multi Block Erase Flow Chart 14. Revised Extended Operating Temperature Oct. 28, 2004 Advance 1.0 1. Added Copyright Notice in the beginning 2. Corrected Errata 3. Updated Icc2, Icc4, Icc5, Icc6 and ISB 4. Revised INT pin description 5. Added OTP erase case NOTE 6. Revised case definitions of Interrupt Status Register 7. Added a NOTE to Command register 8. Added ECClogSector Information table 9. Removed ’data unit based data handling’ from description of Device Operation 10. Revised description on Warm/Hot/NAND Flash Core Reset 11. Revised Warm Reset Timing 12. Revised description for 4-, 8-, 16-, 32-Word Linear Burst Mode 13. Revised OTP operation description 14. Added note for OTPL in Internal Register Reset 15. Removed all block lock default case after cold or warm reset 16. Added explanation for each prohibited case in protect mode 17. Revised the case of writing other commands during Multi Block Erase routine 18. Added note for Erase Suspend/Resume 19. Added supplemental explanation for ECC Operation 20. Removed classification of ECC error from ECC Operation 21. Removed redundant sentance from ECC Bypass Operation 22. Added technical note for Boot Sequence 23. Added technical note for INT pin connection guide 24. Excluded tOEH from Asynchronous Read Table 25. Revised Asycnchronous Read timing diagram for CE don’t care mode 26. Revised Asynchronous Write timing diagram for CE don’t care mode 27. Revised Load operation timing diagram for CE don’t care mode Jun. 15, 2005 The attached datasheets are prepared and approved by SAMSUNG Electronics. SAMSUNG Electronics CO., LTD. reserve the right to change the specifications. SAMSUNG Electronics will evaluate and reply to your requests and questions about device. If you have any questions, please contact the SAMSUNG branch office near you. 3 OneNAND128 FLASH MEMORY 1. FEATURES ♦ Architecture • Design Technology: 0.12µm • Voltage Supply - 1.8V device(KFG2816Q1M) : 1.7V~1.95V - 2.65V device(KFG2816D1M) : 2.4V~2.9V - 3.3V device(KFG2816U1M) : 2.7V~3.6V • Organization - Host Interface:16bit • Internal BufferRAM(3K Bytes) - 1KB for BootRAM, 2KB for DataRAM • NAND Array - Page Size : (1K+32)bytes - Block Size : (64K+2K)bytes ♦ Performance • Host Interface type - Synchronous Burst Read : Clock Frequency: up to 54MHz : Linear Burst - 4 , 8 , 16 , 32 words with wrap-around : Continuous Sequential Burst(512 words) - Asynchronous Random Read : Access time of 76ns - Asynchronous Random Write • Programmable Read latency • Multiple Sector Read - Read multiple sectors by Sector Count Register(up to 2 sectors) • Multiple Reset - Cold Reset / Warm Reset / Hot Reset / NAND Flash Reset • Power dissipation (typical values, CL=30pF) - Standby current : [email protected] device, [email protected]/3.3V device - Synchronous Burst Read current(54MHz) : [email protected] device, [email protected]/3.3V device - Load current : [email protected] device, [email protected]/3.3V device - Program current: [email protected] device, [email protected]/3.3V device - Erase current: [email protected] device, [email protected]/3.3V device • Reliable CMOS Floating-Gate Technology - Endurance : 100K Program/Erase Cycles - Data Retention : 10 Years ♦ Hardware Features • Voltage detector generating internal reset signal from Vcc • Hardware reset input (RP) • Data Protection - Write Protection mode for BootRAM - Write Protection mode for NAND Flash Array - Write protection during power-up - Write protection during power-down • User-controlled One Time Programmable(OTP) area • Internal 2bit EDC / 1bit ECC • Internal Bootloader supports Booting Solution in system ♦ Software Features • Handshaking Feature - INT pin: Indicates Ready / Busy of OneNAND - Polling method: Provides a software method of detecting the Ready / Busy status of OneNAND • Detailed chip information by ID register ♦ Packaging • Package - 67ball, 7mm x 9mm x max 1.0mmt , 0.8mm ball pitch FBGA - 48 TSOP 1, 12mm x 20mm, 0.5mm pitch 4 OneNAND128 FLASH MEMORY 2. GENERAL DESCRIPTION OneNAND is a single-die chip with standard NOR Flash interface using NAND Flash Array. This device is comprised of logic and NAND Flash Array and 3KB internal BufferRAM. 1KB BootRAM is used for reserving bootcode, and 2KB DataRAM is used for buffering data. The operating clock frequency is up to 54MHz. This device is X16 interface with Host, and has the speed of ~76ns random access time. Actually, it is accessible with minimum 4clock latency(host-driven clock for synchronous read), but this device adopts the appropriate wait cycles by programmable read latency. OneNAND provides the multiple sector read operation by assigning the number of sectors to be read in the sector counter register. The device includes one block sized OTP(One Time Programmable), which can be used to increase system security or to provide identification capabilities. 5 OneNAND128 FLASH MEMORY 3. PIN DESCRIPTION Pin Name Type Nameand Description Host Interface A15~A0 I Address Inputs - Inputs for addresses during operation, which are for addressing BufferRAM & Register. I/O Data Inputs/Outputs - Inputs data during program and commands during all operations, outputs data during memory array/ register read cycles. Data pins float to high-impedance when the chip is deselected or outputs are disabled. INT O Interrupt Notifying Host when a command has completed. It is open drain output with internal resistor(~50kohms). After power-up, it is at hi-z condition. Once IOBE is set to 1, it does not float to hi-z condition even when the chip is deselected or when outputs are disabled. RDY O Ready Indicates data valid in synchronous read modes and is activated while CE is low CLK I Clock CLK synchronizes the device to the system bus frequency in synchronous read mode. The first rising edge of CLK in conjunction with AVD low latches address input. WE I Write Enable WE controls writes to the bufferRAM and registers. Datas are latched on the WE pulse’s rising edge AVD I Address Valid Detect Indicates valid address presence on address inputs. During asynchronous read operation, all addresses are latched on AVD’s rising edge, and during synchronous read operation, all addresses are latched on CLK’s rising edge while AVD is held low for one clock cycle. > Low : for asynchronous mode, indicates valid address ;for burst mode, causes starting address to be latched on rising edge on CLK > High : device ignores address inputs RP I Reset Pin When low, RP resets internal operation of OneNAND. RP status is don’t care during power-up and bootloading. CE I Chip Enable CE-low activates internal control logic, and CE-high deselects the device, places it in standby state, and places ADD and DQ in Hi-Z OE I Output Enable OE-low enables the device’s output data buffers during a read cycle. DQ15~DQ0 Power Supply VCC-Core/Vcc Power for OneNAND Core This is the power supply for OneNAND Core. VCC-IO/Vccq Power for OneNAND I/O This is the power supply for OneNAND I/O Vcc-IO is internally connected to Vcc-Core, thus should be connected to the same power supply. VSS Ground for OneNAND DNU Do Not Use Leave it disconnected. These pins are used for testing. etc. NC No Connection Lead is not internally connected. NOTE: Do not leave power supply(VCC, VSS) disconnected. 6 OneNAND128 FLASH MEMORY 4. PIN CONFIGURATION 4.1 TSOP1 N.C A15 A14 A13 A12 A11 A10 A9 A8 WE VSS VCC INT AVD RP A7 A6 A5 A4 A3 A2 A1 A0 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 0.5mm pitch (TOP VIEW, Facing Down) TSOP1 OneNAND Chip 48pin, 12mm x 20mm, 0.5mm pitch TSOP1 7 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 VSS OE DQ15 DQ7 DQ14 DQ6 VCCQ DQ13 DQ5 DQ12 DQ4 DQ11 DQ3 DQ10 DQ2 VSS DQ9 DQ1 DQ8 DQ0 RDY CLK CE VCC OneNAND128 FLASH MEMORY 4.2 67FBGA NC NC NC VSS VSS DQ13 NC DQ1 OE DQ9 VCC Core NC DQ4 DQ11 DQ10 DQ3 VCC IO DQ15 A12 DQ0 A15 DQ5 DQ6 CLK CE DQ2 NC NC A9 A14 A13 AVD A7 A11 A8 NC INT A0 A1 NC A10 A6 NC NC RDY A4 A5 A2 A3 NC NC NC NC NC NC NC NC NC NC NC WE RP DQ14 NC DQ12 DQ8 DQ7 (TOP VIEW, Balls Facing Down) 67ball FBGA OneNAND Chip 67ball, 7.0mm x 9.0mm x max 1.0mmt , 0.8mm ball pitch FBGA 8 OneNAND128 FLASH MEMORY TERMS, ABBREVIATIONS AND DEFINITIONS B (capital letter) Byte, 8bits W (capital letter) Word, 16bits b (lower-case letter) Bit ECC Error Correction Code Calculated ECC ECC which has been calculated during load or program access Written ECC ECC which has been stored as data in the NAND Flash Array or in the BufferRAM BufferRAM On-chip Internal Buffer consisting of BootRAM and DataRAM BootRAM A 1KB portion of the BufferRAM reserved for Bootcode buffering DataRAM A 2KB portion of the BufferRAM reserved for Data buffering Memory NAND Flash array which is embedded on OneNAND Sector Partial unit of page, of which size is 512B for main area and 16B for spare area data. It is the minimum Load/Program/Copy-Back program unit while one~two sector operation is available Data unit Possible data unit to be read from memory to BufferRAM or to be programmed to memory. - 528B of which 512B is in main area and 16B in spare area - 1056B of which 1024B is in main area and 32B in spare area 9 OneNAND128 FLASH MEMORY 5. BLOCK DIAGRAM BufferRAM DQ15~DQ0 A15~A0 Bootloader BootRAM StateMachine CLK DataRAM CE WE RP Host Interface OE NAND Flash Array Error Correction AVD Logic Internal Registers INT RDY (Address/Command/Configuration /Status Registers) - Host Interface - BufferRAM(BootRAM, DataRAM) - Command and status registers - State Machine (Bootloader is included) - Error Correction Logic - Memory(NAND Flash Array, OTP) NOTE: 1) At cold reset, bootloader copies boot code(1K byte size) from NAND Flash Array to BootRAM. Figure 1. Internal Block Diagram 10 OTP (One Block) OneNAND128 FLASH MEMORY Main area data (512B) { { { Spare area data (16B) BootRAM 0 BootRAM Page:1KB+32B Sector Sector(main area):512B BootRAM 1 DataRAM 0_0 DataRAM 0 DataRAM 0_1 Main area data (512B) Block: 64pages 64KB+2KB Sector(spare area):16B { Spare area data (16B) DataRAM 1_0 DataRAM 1 DataRAM 1_1 (BufferRAM) (NAND array) Figure 2. BufferRAM and NAND array structure Main area 256W Spare area 8W Main area 256W Spare area 8W ECCm ECCm Note1 Note1 Note2 Note2 Note2 Note3 Note3 Note3 ECCm 1st 2nd 3rd MSB MSB LSB MSB LSB MSB LSB MSB LSB MSB LSB MSB ECCs 2nd FFh (Note3) Note4 Note4 LSB MSB LSB MSB { { { { { { { { LSB LSB ECCs 1st 1 W st 2 W nd 3 W rd 4 W 5 W th th 6 W th 7 W th 8 W th NOTE: 1) The 1st word of spare area in 1st and 2nd page of every invalid block is reserved for the invalid block information by manufacturer. Please refer to page 59 about the details. 2) These words are managed by internal ECC logic. So it is recommended that the important data like LSN(Logical Sector Number) are written. 3) These words are reserved for the future purpose by manufacturer. These words will be dedicated to internal logic. 4) These words are for free usage. 5) The 5th, 6th and 7th words are dedicated to internal ECC logic. So these words are only readable. The other words are programmable by command. 6) ECCm 1st, ECCm 2nd, ECCm 3rd: ECC code for Main area data 7) ECCs 1st, ECCs 2nd: ECC code for 2nd and 3rd word of spare area. Figure 3. Spare area of NAND array assignment 11 OneNAND128 FLASH MEMORY 6. ADDRESS MAP For OneNAND NAND Array (word order) Block Block Address Page and Sector Address(1) Size Block Block Address Page and Sector Address(1) Size Block0 0000h 0000h~00FDh 64KB Block32 0020h 0000h~00FDh 64KB Block1 0001h 0000h~00FDh 64KB Block33 0021h 0000h~00FDh 64KB Block2 0002h 0000h~00FDh 64KB Block34 0022h 0000h~00FDh 64KB Block3 0003h 0000h~00FDh 64KB Block35 0023h 0000h~00FDh 64KB Block4 0004h 0000h~00FDh 64KB Block36 0024h 0000h~00FDh 64KB Block5 0005h 0000h~00FDh 64KB Block37 0025h 0000h~00FDh 64KB Block6 0006h 0000h~00FDh 64KB Block38 0026h 0000h~00FDh 64KB Block7 0007h 0000h~00FDh 64KB Block39 0027h 0000h~00FDh 64KB Block8 0008h 0000h~00FDh 64KB Block40 0028h 0000h~00FDh 64KB Block9 0009h 0000h~00FDh 64KB Block41 0029h 0000h~00FDh 64KB Block10 000Ah 0000h~00FDh 64KB Block42 002Ah 0000h~00FDh 64KB Block11 000Bh 0000h~00FDh 64KB Block43 002Bh 0000h~00FDh 64KB Block12 000Ch 0000h~00FDh 64KB Block44 002Ch 0000h~00FDh 64KB Block13 000Dh 0000h~00FDh 64KB Block45 002Dh 0000h~00FDh 64KB Block14 000Eh 0000h~00FDh 64KB Block46 002Eh 0000h~00FDh 64KB Block15 000Fh 0000h~00FDh 64KB Block47 002Fh 0000h~00FDh 64KB Block16 0010h 0000h~00FDh 64KB Block48 0030h 0000h~00FDh 64KB Block17 0011h 0000h~00FDh 64KB Block49 0031h 0000h~00FDh 64KB Block18 0012h 0000h~00FDh 64KB Block50 0032h 0000h~00FDh 64KB Block19 0013h 0000h~00FDh 64KB Block51 0033h 0000h~00FDh 64KB Block20 0014h 0000h~00FDh 64KB Block52 0034h 0000h~00FDh 64KB Block21 0015h 0000h~00FDh 64KB Block53 0035h 0000h~00FDh 64KB Block22 0016h 0000h~00FDh 64KB Block54 0036h 0000h~00FDh 64KB Block23 0017h 0000h~00FDh 64KB Block55 0037h 0000h~00FDh 64KB Block24 0018h 0000h~00FDh 64KB Block56 0038h 0000h~00FDh 64KB Block25 0019h 0000h~00FDh 64KB Block57 0039h 0000h~00FDh 64KB Block26 001Ah 0000h~00FDh 64KB Block58 003Ah 0000h~00FDh 64KB Block27 001Bh 0000h~00FDh 64KB Block59 003Bh 0000h~00FDh 64KB Block28 001Ch 0000h~00FDh 64KB Block60 003Ch 0000h~00FDh 64KB Block29 001Dh 0000h~00FDh 64KB Block61 003Dh 0000h~00FDh 64KB Block30 001Eh 0000h~00FDh 64KB Block62 003Eh 0000h~00FDh 64KB Block31 001Fh 0000h~00FDh 64KB Block63 003Fh 0000h~00FDh 64KB NOTE 1) The 2nd bit of Page and Sector address register is Don’t care. So the address range is bigger than the real range. Even though 2nd bit is set to "1", this bit is always considered "0". Please refer to Start Address 8 register. 12 OneNAND128 FLASH MEMORY Block Block Address Page and Sector Address(1) Size Block Block Address Page and Sector Address(1) Size Block64 0040h 0000h~00FDh 64KB Block96 0060h 0000h~00FDh 64KB Block65 0041h 0000h~00FDh 64KB Block97 0061h 0000h~00FDh 64KB Block66 0042h 0000h~00FDh 64KB Block98 0062h 0000h~00FDh 64KB Block67 0043h 0000h~00FDh 64KB Block99 0063h 0000h~00FDh 64KB Block68 0044h 0000h~00FDh 64KB Block100 0064h 0000h~00FDh 64KB Block69 0045h 0000h~00FDh 64KB Block101 0065h 0000h~00FDh 64KB Block70 0046h 0000h~00FDh 64KB Block102 0066h 0000h~00FDh 64KB Block71 0047h 0000h~00FDh 64KB Block103 0067h 0000h~00FDh 64KB Block72 0048h 0000h~00FDh 64KB Block104 0068h 0000h~00FDh 64KB Block73 0049h 0000h~00FDh 64KB Block105 0069h 0000h~00FDh 64KB Block74 004Ah 0000h~00FDh 64KB Block106 006Ah 0000h~00FDh 64KB Block75 004Bh 0000h~00FDh 64KB Block107 006Bh 0000h~00FDh 64KB Block76 004Ch 0000h~00FDh 64KB Block108 006Ch 0000h~00FDh 64KB Block77 004Dh 0000h~00FDh 64KB Block109 006Dh 0000h~00FDh 64KB Block78 004Eh 0000h~00FDh 64KB Block110 006Eh 0000h~00FDh 64KB Block79 004Fh 0000h~00FDh 64KB Block111 006Fh 0000h~00FDh 64KB Block80 0050h 0000h~00FDh 64KB Block112 0070h 0000h~00FDh 64KB Block81 0051h 0000h~00FDh 64KB Block113 0071h 0000h~00FDh 64KB Block82 0052h 0000h~00FDh 64KB Block114 0072h 0000h~00FDh 64KB Block83 0053h 0000h~00FDh 64KB Block115 0073h 0000h~00FDh 64KB Block84 0054h 0000h~00FDh 64KB Block116 0074h 0000h~00FDh 64KB Block85 0055h 0000h~00FDh 64KB Block117 0075h 0000h~00FDh 64KB Block86 0056h 0000h~00FDh 64KB Block118 0076h 0000h~00FDh 64KB Block87 0057h 0000h~00FDh 64KB Block119 0077h 0000h~00FDh 64KB Block88 0058h 0000h~00FDh 64KB Block120 0078h 0000h~00FDh 64KB Block89 0059h 0000h~00FDh 64KB Block121 0079h 0000h~00FDh 64KB Block90 005Ah 0000h~00FDh 64KB Block122 007Ah 0000h~00FDh 64KB Block91 005Bh 0000h~00FDh 64KB Block123 007Bh 0000h~00FDh 64KB Block92 005Ch 0000h~00FDh 64KB Block124 007Ch 0000h~00FDh 64KB Block93 005Dh 0000h~00FDh 64KB Block125 007Dh 0000h~00FDh 64KB Block94 005Eh 0000h~00FDh 64KB Block126 007Eh 0000h~00FDh 64KB Block95 005Fh 0000h~00FDh 64KB Block127 007Fh 0000h~00FDh 64KB NOTE 1) 2nd bit of Page and Sector address is Don’t care. So the address range is bigger than the real range. Even though 2nd bit is set to "1", this bit is always considered "0". Please refer to Start Address 8 register. 13 OneNAND128 FLASH MEMORY Block Block Address Page and Sector Address(1) Size Block Block Address Page and Sector Address(1) Size Block128 0080h 0000h~00FDh 64KB Block160 00A0h 0000h~00FDh 64KB Block129 0081h 0000h~00FDh 64KB Block161 00A1h 0000h~00FDh 64KB Block130 0082h 0000h~00FDh 64KB Block162 00A2h 0000h~00FDh 64KB Block131 0083h 0000h~00FDh 64KB Block163 00A3h 0000h~00FDh 64KB Block132 0084h 0000h~00FDh 64KB Block164 00A4h 0000h~00FDh 64KB Block133 0085h 0000h~00FDh 64KB Block165 00A5h 0000h~00FDh 64KB Block134 0086h 0000h~00FDh 64KB Block166 00A6h 0000h~00FDh 64KB Block135 0087h 0000h~00FDh 64KB Block167 00A7h 0000h~00FDh 64KB Block136 0088h 0000h~00FDh 64KB Block168 00A8h 0000h~00FDh 64KB Block137 0089h 0000h~00FDh 64KB Block169 00A9h 0000h~00FDh 64KB Block138 008Ah 0000h~00FDh 64KB Block170 00AAh 0000h~00FDh 64KB Block139 008Bh 0000h~00FDh 64KB Block171 00ABh 0000h~00FDh 64KB Block140 008Ch 0000h~00FDh 64KB Block172 00ACh 0000h~00FDh 64KB Block141 008Dh 0000h~00FDh 64KB Block173 00ADh 0000h~00FDh 64KB Block142 008Eh 0000h~00FDh 64KB Block174 00AEh 0000h~00FDh 64KB Block143 008Fh 0000h~00FDh 64KB Block175 00AFh 0000h~00FDh 64KB Block144 0090h 0000h~00FDh 64KB Block176 00B0h 0000h~00FDh 64KB Block145 0091h 0000h~00FDh 64KB Block177 00B1h 0000h~00FDh 64KB Block146 0092h 0000h~00FDh 64KB Block178 00B2h 0000h~00FDh 64KB Block147 0093h 0000h~00FDh 64KB Block179 00B3h 0000h~00FDh 64KB Block148 0094h 0000h~00FDh 64KB Block180 00B4h 0000h~00FDh 64KB Block149 0095h 0000h~00FDh 64KB Block181 00B5h 0000h~00FDh 64KB Block150 0096h 0000h~00FDh 64KB Block182 00B6h 0000h~00FDh 64KB Block151 0097h 0000h~00FDh 64KB Block183 00B7h 0000h~00FDh 64KB Block152 0098h 0000h~00FDh 64KB Block184 00B8h 0000h~00FDh 64KB Block153 0099h 0000h~00FDh 64KB Block185 00B9h 0000h~00FDh 64KB Block154 009Ah 0000h~00FDh 64KB Block186 00BAh 0000h~00FDh 64KB Block155 009Bh 0000h~00FDh 64KB Block187 00BBh 0000h~00FDh 64KB Block156 009Ch 0000h~00FDh 64KB Block188 00BCh 0000h~00FDh 64KB Block157 009Dh 0000h~00FDh 64KB Block189 00BDh 0000h~00FDh 64KB Block158 009Eh 0000h~00FDh 64KB Block190 00BEh 0000h~00FDh 64KB Block159 009Fh 0000h~00FDh 64KB Block191 00BFh 0000h~00FDh 64KB NOTE 1) 2nd bit of Page and Sector address is Don’t care. So the address range is bigger than the real range. Even though 2nd bit is set to "1", this bit is always considered "0". Please refer to Start Address 8 register. 14 OneNAND128 FLASH MEMORY Block Block Address Page and Sector Address(1) Size Block Block Address Page and Sector Address(1) Size Block192 00C0h 0000h~00FDh 64KB Block224 00E0h 0000h~00FDh 64KB Block193 00C1h 0000h~00FDh 64KB Block225 00E1h 0000h~00FDh 64KB Block194 00C2h 0000h~00FDh 64KB Block226 00E2h 0000h~00FDh 64KB Block195 00C3h 0000h~00FDh 64KB Block227 00E3h 0000h~00FDh 64KB Block196 00C4h 0000h~00FDh 64KB Block228 00E4h 0000h~00FDh 64KB Block197 00C5h 0000h~00FDh 64KB Block229 00E5h 0000h~00FDh 64KB Block198 00C6h 0000h~00FDh 64KB Block230 00E6h 0000h~00FDh 64KB Block199 00C7h 0000h~00FDh 64KB Block231 00E7h 0000h~00FDh 64KB Block200 00C8h 0000h~00FDh 64KB Block232 00E8h 0000h~00FDh 64KB Block201 00C9h 0000h~00FDh 64KB Block233 00E9h 0000h~00FDh 64KB Block202 00CAh 0000h~00FDh 64KB Block234 00EAh 0000h~00FDh 64KB Block203 00CBh 0000h~00FDh 64KB Block235 00EBh 0000h~00FDh 64KB Block204 00CCh 0000h~00FDh 64KB Block236 00ECh 0000h~00FDh 64KB Block205 00CDh 0000h~00FDh 64KB Block237 00EDh 0000h~00FDh 64KB Block206 00CEh 0000h~00FDh 64KB Block238 00EEh 0000h~00FDh 64KB Block207 00CFh 0000h~00FDh 64KB Block239 00EFh 0000h~00FDh 64KB Block208 00D0h 0000h~00FDh 64KB Block240 00F0h 0000h~00FDh 64KB Block209 00D1h 0000h~00FDh 64KB Block241 00F1h 0000h~00FDh 64KB Block210 00D2h 0000h~00FDh 64KB Block242 00F2h 0000h~00FDh 64KB Block211 00D3h 0000h~00FDh 64KB Block243 00F3h 0000h~00FDh 64KB Block212 00D4h 0000h~00FDh 64KB Block244 00F4h 0000h~00FDh 64KB Block213 00D5h 0000h~00FDh 64KB Block245 00F5h 0000h~00FDh 64KB Block214 00D6h 0000h~00FDh 64KB Block246 00F6h 0000h~00FDh 64KB Block215 00D7h 0000h~00FDh 64KB Block247 00F7h 0000h~00FDh 64KB Block216 00D8h 0000h~00FDh 64KB Block248 00F8h 0000h~00FDh 64KB Block217 00D9h 0000h~00FDh 64KB Block249 00F9h 0000h~00FDh 64KB Block218 00DAh 0000h~00FDh 64KB Block250 00FAh 0000h~00FDh 64KB Block219 00DBh 0000h~00FDh 64KB Block251 00FBh 0000h~00FDh 64KB Block220 00DCh 0000h~00FDh 64KB Block252 00FCh 0000h~00FDh 64KB Block221 00DDh 0000h~00FDh 64KB Block253 00FDh 0000h~00FDh 64KB Block222 00DEh 0000h~00FDh 64KB Block254 00FEh 0000h~00FDh 64KB Block223 00DFh 0000h~00FDh 64KB Block255 00FFh 0000h~00FDh 64KB NOTE 1) 2nd bit of Page and Sector address is Don’t care. So the address range is bigger than the real range. Even though 2nd bit is set to "1", this bit is always considered "0". Please refer to Start Address 8 register. 15 OneNAND128 FLASH MEMORY Detailed information of Address Map (word order) • BootRAM(Main area) -0000h~01FFh: 2(sector) x 512byte(NAND main area) = 1KB 0100h~01FFh(512B) BootM 1 (sector 1 of page 0) 0000h~00FFh(512B) BootM 0 (sector 0 of page 0) • DataRAM(Main area) -0200h~05FFh: 4(sector) x 512byte(NAND main area) = 2KB 0200h~02FFh(512B) DataM 0_0 (sector 0 of page 0) 0400h~04FFh(512B) DataM 1_0 (sector 0 of page 1) 0300h~03FFh(512B) DataM 0_1 (sector 1 of page 0) 0500h~05FFh(512B) DataM 1_1 (sector 1 of page 1) • BootRAM(Spare area) -8000h~800Fh: 2(sector) x 16byte(NAND spare area) = 32B 8008h~800Fh(16B) BootS 1 (sector 1 of page 0) 8000h~8007h(16B) BootS 0 (sector 0 of page 0) • DataRAM(Spare area) -8010h~802Fh: 4(sector) x 16byte(NAND spare area) = 64B 8010h~8017h(16B) DataS 0_0 (sector 0 of page 0) 8020h~8027h(16B) DataS 1_0 (sector 0 of page 1) 8018h~801Fh(16B) DataS 0_1 (sector 1 of page 0) *NAND Flash array consists of 1KB page size and 64KB block size. 16 8028h~802Fh(16B) DataS 1_1 (sector 1 of page 1) OneNAND128 FLASH MEMORY Spare area assignment Equivalent to 1word of NAND Flash Buf. Word Address Byte Address BootS 0 8000h 10000h 8001h 10002h 8002h 10004h 8003h 10006h 8004h 10008h ECC Code for Main area data (2nd) ECC Code for Main area data (1st) 8005h 1000Ah ECC Code for Spare area data (1 ) ECC Code for Main area data (3rd) 8006h 1000Ch FFh(Reserved for the future use) ECC Code for Spare area data (2nd) 8007h 1000Eh Free Usage 8008h 10010h BI BootS 1 DataS 0_0 DataS 0_1 8009h 10012h 800Ah 10014h F E D C B A 9 8 7 6 5 4 3 2 1 BI Managed by Internal ECC logic Reserved for the future use Managed by Internal ECC logic Reserved for the current and future use st Managed by Internal ECC logic Reserved for the future use Managed by Internal ECC logic 800Bh 10016h 800Ch 10018h ECC Code for Main area data (2nd) Reserved for the current and future use ECC Code for Main area data (1st) 800Dh 1001Ah ECC Code for Spare area data (1 ) ECC Code for Main area data (3rd) 800Eh 1001Ch FFh(Reserved for the future use) ECC Code for Spare area data (2nd) 800Fh 1001Eh st Free Usage 8010h 10020h BI 8011h 10022h Managed by Internal ECC logic 8012h 10024h 8013h 10026h Reserved for the future use Managed by Internal ECC logic 8014h 10028h ECC Code for Main area data (2nd) ECC Code for Main area data (1st) 8015h 1002Ah ECC Code for Spare area data (1st) ECC Code for Main area data (3rd) 8016h 1002Ch FFh(Reserved for the future use) ECC Code for Spare area data (2nd) 8017h 1002Eh Reserved for the current and future use Free Usage 8018h 10030h BI 8019h 10032h Managed by Internal ECC logic 801Ah 10034h 801Bh 10036h Reserved for the future use Managed by Internal ECC logic 801Ch 10038h ECC Code for Main area data (2nd) ECC Code for Main area data (1st) 801Dh 1003Ah ECC Code for Spare area data (1st) ECC Code for Main area data (3rd) 801Eh 1003Ch FFh(Reserved for the future use) ECC Code for Spare area data (2nd) 801Fh 1003Eh Reserved for the current and future use Free Usage 17 0 OneNAND128 FLASH MEMORY Equivalent to 1word of NAND Flash Buf. DataS 1_0 DataS 1_1 Word Byte Address Address F E D C B A 9 8 7 6 5 8020h 10040h BI 8021h 10042h Managed by Internal ECC logic 3 2 1 8022h 10044h 8023h 10046h 8024h 10048h ECC Code for Main area data (2nd) ECC Code for Main area data (1st) 8025h 1004Ah ECC Code for Spare area data (1st) ECC Code for Main area data (3rd) 8026h 1004Ch FFh(Reserved for the future use) ECC Code for Spare area data (2nd) 8027h 1004Eh Free Usage 8028h 10050h BI 8029h 10052h 802Ah 10054h Reserved for the future use 4 0 Managed by Internal ECC logic Reserved for the current and future use Managed by Internal ECC logic Reserved for the future use Managed by Internal ECC logic 802Bh 10056h 802Ch 10058h ECC Code for Main area data (2nd) Reserved for the current and future use ECC Code for Main area data (1st) 802Dh 1005Ah ECC Code for Spare area data (1st) ECC Code for Main area data (3rd) 802Eh 1005Ch FFh(Reserved for the future use) ECC Code for Spare area data (2nd) 802Fh 1005Eh Free Usage NOTE: - BI: Invalid block Information >Host can use complete spare area except BI and ECC code area. For example, Host can write data to Spare area buffer except for the area controlled by ECC logic at program operation. >OneNAND automatically generates ECC code for both main and spare data of memory during program operation in case of ’with ECC’ mode , but does not update ECC code to spare bufferRAM. >When loading/programming spare area, spare area BufferRAM address(BSA) and BufferRAM sector count(BSC) is chosen via Start buffer register as it is. 18 OneNAND128 FLASH MEMORY 7. Detailed address map for registers Address (word order) Address (byte order) Name Host Access F000h 1E000h Manufacturer ID R F001h 1E002h Device ID R Device identification F002h 1E004h Version ID R Version identification F003h 1E006h Data Buffer size R Data buffer size F004h 1E008h Boot Buffer size R Boot buffer size F005h 1E00Ah Amount of buffers R Amount of data/boot buffers F006h 1E00Ch Technology R Info about technology F007h~F0FFh 1E00Eh~1E1FEh Reserved - Reserved for User Description Manufacturer identification F100h 1E200h Start address 1 R/W NAND Flash Block address F101h 1E202h Start address 2 R/W Reserved F102h 1E204h Start address 3 R/W Destination Block address for Copy back program F103h 1E206h Start address 4 R/W Destination Page & Sector address for Copy back program F104h 1E208h Start address 5 - N/A F105h 1E20Ah Start address 6 - N/A F106h 1E20Ch Start address 7 - N/A F107h 1E20Eh Start address 8 R/W F108h~F1FFh 1E210h~1E3FEh Reserved - F200h 1E400h Start Buffer R/W NAND Flash Page & Sector address Reserved for User Number Buffer of for the page data transfer to/from the memory and the start Buffer Address The meaning is with which buffer to start and how many buffers to use for the data transfer F201h~F207h 1E402h~1E40Eh Reserved - Reserved for User F208h~F21Fh 1E410h~1E43Eh Reserved - Reserved for vendor specific purposes F220h 1E440h Command R/W F221h 1E442h System Configuration 1 R, R/W F222h 1E444h System Configuration 2 - N/A F223h~F22Fh 1E446h~1E45Eh Reserved - Reserved for User F230h~F23Fh 1E460h~1E47Eh Reserved - Reserved for vendor specific purposes F240h 1E480h Controller Status R Controller Status and result of memory operation Host control and memory operation commands Memory and Host Interface Configuration F241h 1E482h Interrupt R/W F242h~F24Bh 1E484h~1E496h Reserved - F24Ch 1E498h Unlock Start Block Address R/W Start memory block address to unlock in Write Protection mode F24Dh 1E49Ah Unlock End Block Address R/W End memory block address to unlock in Write Protection mode F24Eh 1E49Ch Write Protection Status R Current memory Write Protection status (unlocked/locked/tight-locked) F24Fh~FEFFh 1E49Eh~1FDFEh Reserved - Reserved for User 19 Memory Command Completion Interrupt Status Reserved for User OneNAND128 FLASH MEMORY Address (word order) Address (byte order) Name Host Access FF00h 1FE00h ECC Status Register R ECC status of sector FF01h 1FE02h ECC Result of main area data R ECC error position of Main area data error for first selected Sector FF02h 1FE04h ECC Result of spare area data R ECC error position of Spare area data error for first selected Sector FF03h 1FE06h ECC Result of main area data R ECC error position of Main area data error for second selected Sector FF04h 1FE08h ECC Result of spare area data R ECC error position of Spare area data error for second selected Sector FF05h~FFFFh 1FE12h~1FF0Ah Reserved - Reserved for vendor specific purposes 20 Description OneNAND128 FLASH MEMORY 7. Address Register (word order) 7.1 Manufacturer ID Register (R): F000h, default=00ECh 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 5 4 3 2 1 0 ManufID ManufID (Manufacturer ID): manufacturer identification, 00ECh for Samsung Electronics Corp. 7.2 Device ID Register (R): F001h, default=refer to Table1 15 14 13 12 11 10 9 8 7 DeviceID DeviceID (Device ID): Device Identification, Table 1. Device DeviceID[15:0] KFG2816Q1M 0004h KFG2816D1M 0005h KFG2816U1M 0005h 7.3 Version ID Register (R): F002h : N/A 21 6 OneNAND128 FLASH MEMORY 7.4 Data Buffer size Register(R): F003h, default=0400h 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 5 4 3 2 1 0 5 4 3 2 1 0 2 1 0 DataBufSize DataBufSize: total data buffer size in words in the memory interface used for shrinks Equals two buffers of 512 words each(2x512=2N, N=10) 7.5 Boot Buffer size Register (R): F004h, default=0200h 15 14 13 12 11 10 9 8 7 6 BootBufSize BootBufSize: total boot buffer size in words in the memory interface (512 words=29, N=9) 7.6 Amount of Buffers Register (R): F005h, default=0201h 15 14 13 12 11 10 9 8 7 6 DataBufAmount BootBufAmount N DataBufAmount: the amount of data buffer=2(2 , N=1) BootBufAmount: the amount of boot buffer=1(2N, N=0) 7.7 Technology Register (R): F006h, default=0000h 15 14 13 12 11 10 9 8 7 Tech Tech: technology information, what technology is used for the memory Tech Technology 0000h NAND SLC 0001h NAND MLC 0002h-FFFFh Reserved 22 6 5 4 3 OneNAND128 FLASH MEMORY 7.8 Start Address1 Register (R/W): F100h, default=0000h 15 14 13 12 11 10 9 8 7 6 5 4 Reserved(00000000) 3 2 1 0 FBA FBA (NAND Flash Block Address): NAND Flash block address which will be read or programmed or erased. Device Number of Block FBA 128Mb 256 FBA[7:0] 7.9 Start Address2 Register (R/W): F101h, default=0000h 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 5 4 3 2 1 0 Reserved(0000000000000000) 7.10 Start Address3 Register (R/W): F102h, default=0000h 15 14 13 12 11 10 9 8 7 6 Reserved(00000000) FCBA FCBA (NAND Flash Copy Back Block Address): NAND Flash destination block address which will be copy back programmed. Device Number of Block FBA 128Mb 256 FBA[7:0] 7.11 Start Address4 Register (R/W): F103h, default=0000h 15 14 13 12 11 10 9 8 7 Reserved(00000000) 6 5 4 FCPA 3 2 1 Reserved FCSA FCPA (NAND Flash Copy Back Page Address): NAND Flash destination page address in a block for copy back program operation. FCPA(default value) = 000000 FCPA range : 000000~111111, 6bits for 64 pages FCSA (NAND Flash Copy Back Sector Address): NAND Flash destination sector address in a page for copy back program operation. FCSA(default value) = 0 FCSA range : 0~1, 1bits for 2 sectors 23 0 OneNAND128 FLASH MEMORY 7.12 Start Address5 Register: F104h : N/A 7.13 Start Address6 Register: F105h : N/A 7.14 Start Address7 Register: F106h : N/A 7.15 Start Address8 Register (R/W): F107h, default=0000h 15 14 13 12 11 10 9 8 7 6 5 Reserved (00000000) 4 3 2 FPA 1 0 Reserved FSA FPA (NAND Flash Page Address): NAND Flash start page address in a block for page read or copy back program or program operation. FPA(default value)=000000 FPA range: 000000~111111 , 6bits for 64 pages FSA (Flash Sector Address): NAND Flash start sector address in a page for read or copy back program or program operation. FSA(default value) = 0 FSA range : 0~1, 1bits for 2 sectors 7.16 Start Buffer Register (R/W): F200h, default=0000h 15 14 13 12 11 Reserved(0000) 10 9 8 7 BSA 6 5 4 3 2 1 Reserved(0000000) 0 BSC BSC (BufferRAM Sector Count): this field specifies the number of sectors to be read or programmed or copy back programmed. Its maximum count is 2 sectors at 0(default value)value. For a single sector access, it should be programmed as value 1 and it should be programmed as value 0 for two sectors. However internal RAM buffer reached to 1 value(max. value), it counts up to 0 value to satisfy BSC value. for example) if BSA=1101, BSC=0, then selected BufferRAM are ’1101->1100’. BSA (BufferRAM Sector Address): It is the place where data is placed and specifies the sector 0~1 in the internal BootRAM and DataRAM. BSA[3] is the selection bit between BootRAM and DataRAM. BSA[2] is the selection bit between DataRAM0 and DataRAM1. BSA[0] is the selection bit between Sector0 and Sector1 in the internal BootRAM and DataRAM. While one of BootRAM or DataRAM0 interfaces with memory, the other RAM is inaccessible. Spare area data { { Main area data BootRAM DataRAM0 DataRAM1 BSA BootRAM 0 0000 Sector: (512 + 16)byte BootRAM 1 0001 DataRAM 0_0 1000 DataRAM 0_1 1001 BSC Number of Sectors DataRAM 1_0 1100 1 1 sector DataRAM 1_1 1101 0 2 sectors 24 OneNAND128 FLASH MEMORY 7.17 Command Register (R/W): F220h, default=0000h 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 Command Command: operation of the memory interface CMD 0000h Operation Load single/multiple sector data unit into buffer Acceptable command during busy 00F0h, 00F3h 0013h Load single/multiple spare sector into buffer 00F0h, 00F3h 0080h Program single/multiple sector data unit from buffer 00F0h, 00F3h 001Ah Program single/multiple spare area sector from buffer 00F0h, 00F3h 001Bh Copy back program 00F0h, 00F3h 0023h Unlock NAND array block(s) from start block address to end block address - 002Ah Lock NAND array block(s) from start block address to end block address - 002Ch Lock-tight NAND array block(s) from start block address to end block address 0071h Erase Verify Read - 0094h Block Erase 00F0h, 00F3h 0095h Multi-Block Erase 00F0h, 00F3h 00B0h Erase Suspend 00F3h 0030h Erase Resume 00F0h, 00F3h 00F0h, 00F3h 00F0h Reset NAND Flash Core - 00F3h Reset OneNAND 1) - 0065h OTP Access 00F0h, 00F3h NOTE: 1)’Reset OneNAND’(=Hot reset) command makes the registers(except RDYpol, INTpol, IOBE, and OTPL bits) and NAND Flash core into default state as the warm reset(=reset by RP pin). This R/W register describes the operation of the OneNAND interface. Note that all commands should be issued right after INT is turned from ready state to busy state. (i.e. right after 0 is written to INT register.) After any command is issued and the corresponding operation is completed, INT goes back to ready state. (00F0h and 00F3h may be accepted during busy state of some operations. Refer to the rightmost column of the command register table above.) 25 OneNAND128 FLASH MEMORY 7.18 System Configuration 1 Register (R, R/W): F221h, default=40C0h 15 R/W RM 14 13 12 11 R/W 10 9 R/W BRL BL 8 7 6 5 R/W R/W R/W R/W ECC RDY pol INT pol IOB E 4 3 2 1 0 R R Reserved(0000) BW PS RM (Read Mode): this field specifies the selection between asynchronous read mode and synchronous read mode RM Read Mode 0 Asynchronous read(default) 1 Synchronous read BRL (Burst Read Latency): this field specifies the initial access latency in the burst read transfer. BRL Latency Cycles 000 8(N/A) 001 9(N/A) 010 10(N/A) 011 3(up to 40MHz) 100 4(default, min.) 101 5 110 6 111 7 BL (Burst Length): this field specifies the size of burst length during Sync. burst read. Wrap around and linear burst. BL Burst Length(Main) Burst Length(Spare) 000 Continuous(default) 001 4 words 010 8 words 011 16 words 100 32 words N/A 101~111 Reserved ECC: Error Correction Operation, 0=with correction(default), 1=without correction(by-passed) RDYpol: RDY signal polarity 0=low for ready, 1=high for ready((default) INTpol: INT Pin polarity 0=low for Interrupt pending , 1=high for Interrupt pending (default) INTpol INT bit of Interrupt Status Register INT Pin output 0 0 1 1 0 0 IOBE: I/O buffer enable for INT and RDY signals, INT and RDY outputs are HighZ at power-up, bit 7 and 6 become valid after IOBE is set to1. IOBE can be reset only by Cold reset or by writing 0 to bit 5 of System Configuration 1 register. 0=disable(default), 1=enable BWPS: boot buffer write protect status, 0=locked(fixed) 26 OneNAND128 FLASH MEMORY 7.19 System Configuration 2 Register : F222h : N/A 7.22 Controller Status Register (R): F240h, default=0000h 15 14 13 12 11 10 9 8 7 6 OnGo Lock Load Prog Erase Error Sus PRp RSTB OTPL 5 4 3 2 Reserved(000000) 1 0 TO (0) OnGo: this bit shows the overall internal status of OneNAND 0=ready, 1=busy Lock: this bit shows whether host loads data from NAND Flash array into locked BootRAM or programs/erases locked block of NAND Flash array. Lock Locked/Unlocked Check Result 0 Unlocked 1 Locked Error (Current Sector/Page Write Result): this bit shows current sector/page Load/Program/Copy Back Program/Erase result of flash memory or whether host puts invalid command into the device. Error Current Sector/Page Load/Program/CopyBack. Program/Erase Result and Invalid Command Input 0 Pass 1 Fail Sus (Erase Suspend/Resume):this bit shows the Erase Suspend Status. Sus Erase Suspend Status 0 Erase Resume(Default) 1 Erase Suspend OTPL (OTP Lock Status):this bit shows OTP block is locked or unlocked. OTPL bit is automatically updated at power-on. OTPL OTP Locked/Unlocked Status 0 OTP Block Unlock Status(Default) 1 OTP Block Lock Status(Disable OTP Program/Erase) TO (Time Out): time out for read/program/copy back program/erase 0=no time out(fixed) Load : this bit shows the Load operation status 0=ready(default), 1=busy or error case, refer to the table 3 Prog (Program Busy) : this bit shows the Program operation status 0=ready(default), 1=busy or error case, refer to the table 3 Erase (Erase Busy) : this bit shows the Erase operation status 0=ready(default), 1=busy or error case, refer to the table 3 RSTB (Reset Busy) : this bit shows the Reset operation status 0=ready(default), 1=busy or error case, refer to the table 3 27 OneNAND128 FLASH MEMORY Table 3. Controller Status Register output for modes. Mode Load Ongoing Controller Status Register [15:0] OnGo Lock Load Prog Erase Error Sus 1 0 1 0 0 0 0 Reserved(0) RSTB 0 0 OTPL Reserved(0) 0/1 00000 TO 0 Program Ongoing 1 0 0 1 0 0 0 0 0 0/1 00000 0 Erase Ongoing 1 0 0 0 1 0 0 0 0 0/1 00000 0 Reset Ongoing 1 0 0 0 0 0 0 0 1 0/1 00000 0 Multi-Block Erase Ongoing 1 0 0 0 1 0 0 0 0 0/1 00000 0 Erase Verify Read Ongoing 1 0 0 0 0 0 0 0 0 0/1 00000 0 Load OK 0 0 0 0 0 0 0 0 0 0/1 00000 0 Program OK 0 0 0 0 0 0 0 0 0 0/1 00000 0 Erase OK 0 0 0 0 0 0 0 0 0 0/1 00000 0 0 0 0 0 0 0 0 0 0 0/1 00000 0 Load Fail1) 0 0 1 0 0 1 0 0 0 0/1 00000 0 Program Fail 0 0 0 1 0 1 0 0 0 0/1 00000 0 Erase Fail 0 0 0 0 1 1 0 0 0 0/1 00000 0 0 0 0 0 1 1 0 0 0 0/1 00000 0 0 0 1 0 0 1 0 0 1 0/1 00000 0 Erase Verify Read OK3) Erase Verify Read Fail3) Load Reset2) Program Reset 0 0 0 1 0 1 0 0 1 0/1 00000 0 Erase Reset 0 0 0 0 1 1 0 0 1 0/1 00000 0 Erase Suspend 0 0 0 0 1 0 1 0 0 0/1 00000 0 Program Lock 0 1 0 1 0 1 0 0 0 0/1 00000 0 Erase Lock 0 1 0 0 1 1 0 0 0 0/1 00000 0 Load Lock(Buffer Lock) 0 1 1 0 0 1 0 0 0 0/1 00000 0 OTP Program Fail(Lock) 0 1 0 1 0 1 0 0 0 1 00000 0 OTP Program Fail 0 0 0 1 0 1 0 0 0 0 00000 0 OTP Erase Fail 0 1 0 0 1 1 0 0 0 0/1 00000 0 Program Ongoing(Susp.) 1 0 0 1 1 0 1 0 0 0/1 00000 0 Load Ongoing(Susp.) 1 0 1 0 1 0 1 0 0 0/1 00000 0 Program Fail(Susp.) 0 0 0 1 1 1 1 0 0 0/1 00000 0 Load Fail(Susp.) 0 0 1 0 1 1 1 0 0 0/1 00000 0 Invalid Command 0 0 0 0 0 1 0 0 0 0/1 00000 0 Invalid Command(Susp.) 0 0 0 0 1 1 1 0 0 0/1 00000 0 NOTE: 1. ERm and/or ERs bits in ECC status register at Load Fail case is 10. (2bits error - uncorrectable) 2. ERm and ERs bits in ECC status register at Load Reset case are 00. (No error) 3. Multi Block Erase status should be checked by Erase Verify Read operation. 4. OTP Erase does not update the register and the previous value is kept. 28 OneNAND128 FLASH MEMORY 7.23 Interrupt Status Register (R/W): F241h, default=8080h(after Cold reset),8010h(after Warm/Hot reset) 15 14 13 12 INT 11 10 9 8 Reserved(0000000) Bit Address 15 7 6 5 4 RI WI EI RSTI Bit Name 3 Default State Cold Warm/Hot 1 1 INT(interrupt): the master interrupt bit RI(Read Interrupt): 6 1 0 0 Interrupt Off 0 Interrupt Pending 0 Interrupt Off 0->1 EI(Erase Interrupt): 0 0 Interrupt Pending 0 Interrupt Off 0->1 - Set to ’1’ of itself at the completion of Erase Operation (0094h, 0095h, or 0030h) - Cleared to ’0’ when by writing ’0’ to this bit or by reset (Cold/Warm/Hot reset). 4 Interrupt Off Interrupt Pending 0 - Set to ’1’ of itself at the completion of Program Operation (0080h, 001Ah, or 001Bh) - Cleared to ’0’ when by writing ’0’ to this bit or by reset (Cold/Warm/Hot reset). RSTI(Reset Interrupt): 0 1 Interrupt Pending 0 Interrupt Off 0->1 - Set to ’1’ of itself at the completion of Reset Operation (00B0h, 00F0h, 00F3h, or warm reset is released.) - Cleared to ’0’ when by writing ’0’ to this bit. 0 Function 0->1 WI(Write Interrupt): 5 Valid States 0 - Set to ’1’ of itself at the completion of Load Operation (0000h, 0013h, or boot is done.) - Cleared to ’0’ when by writing ’0’ to this bit or by reset (Cold/Warm/Hot reset). 1 Reserved(0000) 0->1 - Set to ’1’ of itself when one or more of RI, WI, EI and RSTI is set to ’1’, or Unlock(0023h), Lock(002Ah), Locktight(002Ch), or Erase Verify Read(0071h), or OTP access(0065h) operation, or "Load Data into Buffer" is completed. - Cleared to ’0’ when by writing ’0’ to this bit or by reset(Cold/Warm/Hot reset). ’0’ in this bit means that INT pin is low status. (This INT bit is directly wired to the INT pin on the chip. INT pin goes low upon writing ’0’ to this bit when INTpol is high and goes high upon writing ’0’ to this bit when INTpol is low. ) 7 2 Interrupt Pending 7.24 Start Block Address (R/W): F24Ch, default=0000h 15 14 13 12 11 10 9 8 7 6 5 4 Reserved(00000000) 3 2 1 0 SBA SBA (Lock/Unlock/Lock-tight Start Block Address): Start NAND Flash block address in Write Protection mode, which follows ’Lock block command’ or ’Unlock block command’ or ’Lock-tight command’. 7.25 End Block Address (R/W): F24Dh, default=0000h 15 14 13 12 11 10 9 8 7 Reserved(00000000) 6 5 4 3 2 1 0 EBA EBA (Lock/Unlock/Lock-tight End Block Address): End NAND Flash block address in Write Protection mode, which follows ’Lock block command’ or ’Unlock block command’ or ’Lock-tight command’. EBA should be equal to or larger than SBA. Device Number of Block SBA/EBA 128Mb 256 [7:0] 29 OneNAND128 FLASH MEMORY 7.26 NAND Flash Write Protection Status (R): F24Eh, default=0002h 15 14 13 12 11 10 9 8 7 6 5 4 3 Reserved(0000000000000) 2 1 0 US LS LTS 2 1 0 US (Unlocked Status): ’1’ value of this bit specifies that the current block in NAND Flash is unlocked. LS (Locked Status): ’1’ value of this bit specifies that the current block in NAND Flash is in locked status. LTS (Lock-tighten Status): ’1’ value of this bit specifies that current block in NAND Flash is lock-tighten. 7.27 ECC Status Register(R): FF00h, default=0000h 15 14 13 12 11 10 9 8 7 Reserved(00000000) 6 5 ERm1 4 3 ERs1 ERm0 ERs0 ERm (ECC Error for Main area data) & ERs (ECC Error for Spare area data) : ERm0/1 is for first/second selected sector in main of BufferRAM, ERs0/1 is for first/second selected sector in spare of BufferRAM. ERm and ERs show the number of error nits in a sector as a result of ECC check at the load operation. ERm, ERs ECC Status 00 No Error 01 1-bit error(correctable) 10 2-bit error(uncorrectable)1) 11 Reserved NOTE: 1. 3bits or more error detection is not supported. 7.28 ECC Result of first selected Sector Main area data Register (R): FF01h, default=0000h 15 14 13 12 11 10 9 8 Reserved(0000) 7 6 5 4 3 ECCposWord0 2 1 0 ECCposIO0 7.29 ECC Result of first selected Sector Spare area data Register (R): FF02h, default=0000h 15 14 13 12 11 10 9 8 7 6 5 Reserved(0000000000) 4 3 ECClogSector0 2 1 0 ECCposIO0 7.30 ECC Result of second selected Sector Main area data Register (R): FF03h, default=0000h 15 14 13 12 11 10 9 8 Reserved(0000) 7 6 5 4 3 ECCposWord1 2 1 0 ECCposIO1 7.31 ECC Result of second selected Sector Spare area data Register (R): FF04h, default=0000h 15 14 13 12 11 10 9 8 7 6 5 Reserved(0000000000) 4 ECClogSector1 3 2 1 ECCposIO1 NOTE: 1. ECCposWord: ECC error position address that selects one of Main area data(256words) 2. ECCposIO: ECC error position address which selects one of sixteen DQs (DQ 0~DQ 15). 3. ECClogSector: ECC error position address that selects one of the 2nd word and LSB of the 3rd word of spare area. Refer to the below table. ECClogSector Information [5:4] ECClogSector Error Position 00 2nd word 01 3rd word 10, 11 Reserved 4. ECCposWord, ECCposIO and ECClogSector are updated in boot loading operation, too. 30 0 OneNAND128 FLASH MEMORY 8. Device Operation The device supports both a limited command based and a register based interface for performing operations on the device, reading device ID, writing data to buffer etc. The command based interface is active in the boot partition, i.e. commands can only be written with a boot area address. Boot area data is only returned if no command has been issued prior to the read. 8.1 Command based operation The entire address range, except for the boot area, can be used for the data buffer. All commands are written to the boot partition. Writes outside the boot partition are treated as normal writes to the buffers or registers. The command consists of one or more cycles depending on the command. After completion of the command the device starts its execution. Writing incorrect information which include address and data or writing an improper command will terminate the previous command sequence and make the device go to the ready status. The defined valid command sequences are stated in Table4. Table 4. Command Sequences Command Definition Read Data from Buffer Write Data to Buffer Reset OneNAND Load Data into Buffer3) Read Identification Data 6) Cycles Add 1 Data Add 1 Data Add 1 Data Add 2 Data Add 2 Data 1st cycle DP 2nd cycle 1) Data DP Data BP2) 00F0h BP BP 00E0h 0000h4) BP XXXXh5) 0090h Data NOTE: 1) DP(Data Partition) : DataRAM Area 2) BP(Boot Partition) : BootRAM Area [0000h ~ 01FFh, 8000h ~ 800Fh]. 3) Load Data into Buffer operation is available within a block(64KB) 4) Load 1KB unit into DataRAM0. Current Start address(FPA) is automatically incremented by 1KB unit after the load. 5) 0000h -> Data is Manufacturer ID 0001h -> Data is Device ID 0002h -> Current Block Write Protection Status 6) WE toggling can terminate ’Read Identification Data’ operation. 8.1.1 Read Data from Buffer Buffer can be read by addressing a read to a wanted buffer area 8.1.2 Write Data to Buffer Buffer can be written by addressing a write to a wanted buffer area 8.1.3 Reset OneNAND Reset command is given by writing 00F0h to the boot partition address. Reset will return all default values into the device. 8.1.4 Load Data into Buffer Load Data into Buffer command is a two-cycle command. Two sequential designated command activates this operation. Sequentially writing 00E0h and 0000h to the boot partition [0000h~01FFh, 8000h~800Fh] will load one page to DataRAM0. This operation refers to FBA and FPA. FSA, BSA, and BSC are not considered. At the end of this operation, FPA will be automatically increased by 1. So continuous issue of this command will sequentially load data in next page to DataRAM0. This page address increment is restricted within a block. The default value of FBA and FPA is 0. Therefore, initial issue of this command after power on will load the first page of memory, which is usually boot code. 8.1.5 Read Identification Data Read Identification Data command consists of two cycles. It gives out the devices identification data according to the given address. The first cycle is 0090h to the boot partition address and second cycle is read from the addresses specified in Table5. 31 OneNAND128 FLASH MEMORY Table 5. Identification data description Address Data Out 0000h Manufacturer ID 00ECh 0001h Device ID refer to table 1 0002h Current Block Write Protection Status refer to NAND Flash Write Protection Status Register 8.2 Device Bus Operations Operation CE OE WE ADD0~15 DQ0~15 RP CLK AVD Standby H X X X High-Z H X X Warm Reset X X X X High-Z L X X Asynchronous Write L H L Add. In Data In H L Asynchronous Read L L H Add. In Data Out H L Load Initial Burst Address L H H Add. In X H Burst Read L L H X Burst Data Out H Terminate Burst Read Cycle H X H X High-Z H X X Terminate Burst Read Cycle via RP X X X X High-Z L X X H H Add In High-Z H Terminate Current Burst Read Cycle and Start New Burst Read Cycle Note : L=VIL (Low), H=VIH (High), X=Don’t Care. 32 X OneNAND128 FLASH MEMORY 8.3 Reset Mode Cold Reset At system power-up, the voltage detector in the device detects the rising edge of Vcc and releases internal power-up reset signal which triggers bootcode loading. Bootcode loading means that the boot loader in the device copies designated sized data(1KB) from the beginning of memory to the BootRAM. POR triggering level System Power 1) OneNAND Operation Sleep Bootcode - copy done Bootcode copy Idle 2) RP High-Z INT INT bit 0 (default) IOBE bit 0 (default) INTpol bit 1 (default) Note: 1) Bootcode copy operation starts 400us later than POR activation. The system power should reach 1.7V after POR triggering level(typ. 1.5V) within 400us for valid boot code data. 2) 1K bytes Bootcode copy takes 70us(estimated) from sector0 and sector1/page0/block0 of NAND Flash array to BootRAM. Host can read Bootcode in BootRAM(1K bytes) after Bootcode copy completion. 3) INT register goes ‘Low’ to ‘High’ on the condition of ‘Bootcode-copy done’ and RP rising edge. If RP goes ‘Low’ to ‘High’ before ‘Bootcode-copy done’, INT register goes to ‘Low’ to ‘High’ as soon as ‘Bootcode-copy done’ Figure 5. Cold Reset Timings 33 3) 1 1 OneNAND128 FLASH MEMORY Warm Reset Warm reset means that the host resets the device by RP pin, and then the device stops all logic current operation and executes internal reset operation(Note 1) synchronized with the falling edge of RP and resets current NAND Flash core operation synchronized with the rising edge of RP. The device logic will not be reset in case RP pulses shorter than 200ns, but the device guarantees the logic reset operation in case RP pulse is longer than 200ns. NAND Flash core reset will abort current NAND Flash Core operation. The contents of memory cells being altered are no longer valid as the data will be partially programmed or erased. Warm reset has no effect on contents of BootRAM and DataRAM. CE, OE RP initiated by RP low MuxOneNAND Operation initiated by RP high Operation or Idle internal reset operation NAND Flash core reset Idle Operation Operation or Idle INT RDY High-Z High-Z Figure 6. Warm Reset Timings 34 High-Z OneNAND128 FLASH MEMORY Hot Reset Hot reset means that the host resets the device by reset command(Note 2), and then the device logic stops all current operation and executes internal reset operation(Note 1) , and resets current NAND Flash core operation. Hot reset has no effect on contents of BootRAM and DataRAM. AVD BP(Note 3) or F220h A0~A15 00F0h or 00F3h DQ0~DQ15 CE WE INT RDY OneNAND Operation High-Z Operation or Idle OneNAND reset Idle Figure 7. Hot Reset Timings NOTE: 1. Internal reset operation means that the device initializes internal registers and makes output signals go to default status and bufferRAM data are kept unchanged after Warm/Hot reset operations. 2. Reset command : Command based reset or Register based reset 3. BP(Boot Partition) : BootRAM area[0000h~01FFh, 8000h~800Fh] 35 OneNAND128 FLASH MEMORY NAND Flash Core Reset Host can reset NAND Flash Core operation by NAND Flash Core reset command. NAND Flash Core Reset will abort the current NAND Flash core operation. During a NAND Flash Core Reset, the content of memory cellls being altered is no longer valid as the data will be partially programmed or erased. NAND Flash Core Reset has an effect on neither contents of BootRAM and DataRAM nor register values. AVD F220h A0~A15 DQ0~DQ15 00F0h CE WE INT RDY OneNAND Operation High-Z Operation or Idle NAND Flash Core reset Figure 8. NAND Flash Core Reset Timings 36 Idle OneNAND128 FLASH MEMORY Table 6. Internal Register reset Internal Registers Default Cold Reset Warm Reset (RP) Hot Hot NAND Flash Reset Reset Reset(00F0h) (00F3h) (BP-F0) F000h Manufacturer ID Register (R) 00ECh N/A N/A N/A N/A F001h Device ID Register (R) Note3 N/A N/A N/A N/A F002h Version ID Register (rR) - N/A N/A N/A N/A F003h Data Buffer size Register (R) 0400h N/A N/A N/A N/A F004h Boot Buffer size Register (R) 0200h N/A N/A N/A N/A F005h Amount of Buffers Register (R) 0201h N/A N/A N/A N/A F006h Technology Register (R) 0000h N/A N/A N/A N/A F100h Start Address1 Register (R/W): FBA 0000h 0000h 0000h 0000h N/A F101h Start Address2 Register (R/W): Reserved 0000h 0000h 0000h 0000h N/A F102h Start Address3 Register (R/W): FCBA 0000h 0000h 0000h 0000h N/A F103h Start Address4 Register (R/W): FCPA, FCSA 0000h 0000h 0000h 0000h N/A F107h Start Address8 Register (R/W): FPA, FSA 0000h 0000h 0000h 0000h N/A F200h Start Buffer Register (R/W): BSA, BSC 0000h 0000h 0000h 0000h N/A F220h Command Register (R/W) 0000h 0000h 0000h 0000h N/A F221h System Configuration 1 Register (R/W) 40C0h 40C0h O (Note1) O (Note1) N/A F240h Controller Status Register (R) 0000h 0000h 0000h 0000h N/A F241h Interrupt Status Register (R/W) - 8080h 8010h 8010h N/A F24Ch Lock/Unlock Start Block Address (R/W) 0000h 0000h 0000h N/A N/A F24Dh Lock/Unlock End Block Address (R/W) 0000h 0000h 0000h N/A N/A F24Eh NAND Flash Write Protection Status (R) 0002h 0002h 0002h N/A N/A FF00h ECC Status Register (R) (Note2) 0000h 0000h 0000h 0000h N/A FF01h ECC Result of Sector 0 Main area data Register(R) 0000h 0000h 0000h 0000h N/A FF02h ECC Result of Sector 0 Spare area data Register (R) 0000h 0000h 0000h 0000h N/A FF03h ECC Result of Sector 1 Main area data Register(R) 0000h 0000h 0000h 0000h N/A FF04h ECC Result of Sector 1 Spare area data Register (R) 0000h 0000h 0000h 0000h N/A NOTE: 1) RDYpol, INTpol, and IOBE are reset by Cold reset. The other bits are reset by Cold/Warm/Hot reset. OTPL is not reset but updated by Cold reset. 2) ECC Status Register & ECC Result Registers are reset when any command is issued. 3) Refer to table 1 37 OneNAND128 FLASH MEMORY Write Protection Write Protection for BootRAM At system power-up, the voltage detector in the device detects the rising edge of Vcc and releases the internal power-up reset signal which triggers bootcode loading. And the designated size data(1KB) is copied from the beginning of the memory to the BootRAM. After the bootcode loading is completed, the BootRAM is always locked to protect the significant boot code from accidental write. Write Protection for NAND Flash array Write Protection Modes The device offers both hardware and software write protection features for NAND Flash array. The software write protection feature is used by writing Lock command or Lock-tight command to command register; The 002Ah or 002Ch command is written into F220h register. The partial write protection feature is also permitted by writing Partial Lock(002Ah) and Partial Lock-Tight(002Ch) command with the start address and the end address to F24Ch and F24Dh registers. The hardware write protection feature is used by executing cold or warm reset. The default state is locked, and all NAND Flash array goes to locked state after cold or warm reset. Write Protection Commands Individual or consecutive instant secured block protects code and data by allowing any block to be locked or lock-tighten. The write protection scheme offers two levels of protection. The first allows software-only control of write protection(useful for frequently changed data blocks), while the second requires hardware interaction before locking can be changed(protects infrequently changed code blocks). The following summarize the locking functionality. > All blocks power-up in a locked state. Unlock command can unlock these blocks with the start and end block address. > Partial Lock-Tight command makes the part of locked block(s) to be lock-tightened by writing the start and end block address. And lock-tightened state can be returned to lock state only when cold or warm reset is asserted. > Only one individual area can be lock-tightened by Partial Lock-tight command; i.e lock-tightening multi area is not available. > Lock-tightened blocks offer the user an additional level of write protection beyond that of a regular locked block. Lock-tightened block can’t have it’s state changed by software, it can be changed by warm reset or cold reset. > Unlock start or end block address is reflected immediately to the device only when Unlock command is issued, and NAND Flash write protection status register is also updated at that time. > Unlocked blocks can be programmed or erased. > Only one area can be released from lock state to unlock state with Unlock command and addresses. This unlocked area can be changed with new Unlock command; when new Unlock command is issued, last unlocked area is locked again and new area is unlocked. > Partial Lock command makes the part of unlocked block(s) to be locked with the start and end block address. > Only one area can be locked with Partial Lock command and address. This locked area can be changed with new Partial Lock command; when new Partial Lock command is issued, last unlocked area is locked again and new area is unlocked. Write Protection Status The block current Write Protection status can be read in NAND Flash Write Protection Status Register(F24Eh). There are three bits US, LS, LTS -, which are not cleared by hot reset. These Write Protection status registers are updated when Write Protection command is entered. The followings summarize locking status. example) In default, [2:0] values are 010. -> If host executes unlock block operation, then [2:0] values turn to 100. -> If host executes lock-tight block operation, then [2:0] values turn to 001. 38 OneNAND128 FLASH MEMORY Locked > Command Sequence : Start block address+End block address+Lock block command (002Ah) > All blocks default to be locked after Cold reset or Warm reset > Unlocked blocks can be locked by using the Lock block command and a lock block’s status can be changed to unlock or lock-tight using the appropriate software commands Unlocked > Command Sequence : Start block address+End block address+Unlock block command (0023h) > Unlocked block can be programmed or erased > An unlocked block’s status can be changed to the locked or lock-tighten state using the appropriate software command > Only one sequential area can be released to unlock state from lock state ; Unlocking multi individual area is not available Lock-tighten > Command Sequence : Start block address+End block address+Lock-tight block command (002Ch) :> Lock-tighten blocks offer the user an additional level of write protection beyond that of a regular lock block. A block that is lock-tighten cannot have its state change by software, only by Cold or Warm reset. > Only locked blocks can be lock-tighten by Lock-tight command. > Lock-tighten blocks revert to the locked state at Cold or Warm reset > Lock-tighten area does not change with any command; when new unlock command is issued including the lock-tighten area, new unlocked command is ignored. Figure 9. Operations of NAND Flash Write Protection 39 OneNAND128 FLASH MEMORY SBA, EBA +Partial Lock Command Lock SBA, EBA +Partial Lock-tight Command Lock Unlock Unlock Lock Lock SBA, EBA SBA, EBA +Partial Lock-tight +Partial Lock-tight Command Lock-tight Command Lock-tight Lock Lock SBA, EBA +Unlock Command SBA, EBA +Unlock Command SBA, EBA +Partial Lock Command Lock Unlock Unlock Changed with new SBA, EBA Lock Changed with new SBA, EBA Power On Sustained with last SBA, EBA Lock-tight Lock Unlock Note ; The below cases are prohibited in write protection modes. Even though these cases happen, Error bit of Controller Status Register(F240h)is not updated. Case1. Unlock Lock-tight Lock SBA EBA If this case happens, the command is ignored and last status is sustained. SBA EBA If this case happens, the command is ignored and last status is sustained. Case2. Lock Lock-tight Unlock Case3. Lock-tight Lock Unlock SBA EBA If this case happens, the selected area changes to be lock-tight. Figure 10. State diagram of NAND Flash Write Protection 40 Lock OneNAND128 FLASH MEMORY Load Operation The load operation is initiated by setting up the start address from which the data is to be loaded. The load command is issued in order to initiate the load. The device transfers the data from NAND Flash array into the BufferRAM. The ECC is checked and any detected and corrected error is reported in the status response as well as any unrecoverable error. When the BufferRAM has been filled an interrupt is issued to the host in order to read the contents of the BufferRAM. The read from the BufferRAM consist of asynchronous read mode or synchronous read mode. The status information related to the BufferRAM fill operation can be checked by the host if required. The device provides dual data buffer memory architecture. The device is capable of data-read operation from one data buffer and data-load operation to the other data buffer simultaneously. Refer to the information for more details in "Read while Load operation". Write ’Load’ Command Start Write ’FBA’ of Flash Add: F100h DQ=FBA Add: F220h DQ=0000h or 0013h Wait for INT register low to high transition Write ’FPA, FSA’ of Flash Add: F107h DQ=FPA, FSA Add: F241h DQ[15]=INT Write ’BSA, BSC’ of DataRAM Add: F200h DQ=BSA, BSC Read Controller Status Register Add: F240h DQ[10]=Error Write 0 to interrupt register Add: F241h DQ=0000h DQ[10]=0? NO YES Host reads data from DataRAM Read completed Figure 11. Load operation flow-chart 41 Map Out OneNAND128 FLASH MEMORY Read Operation The device has two read configurations ; Asynchronous read and Synchronous burst read. The initial state machine makes the device to be automatically entered into asynchronous read mode to prevent the memory content from spurious altering upon device power up or after a hardware reset. No commands are required to retrieve data in asynchronous mode. The synchronous mode will be enabled by setting RM bit of System configuration1 register to Synchronous read mode. Asynchronous Read Mode (RM = 0) For the asynchronous read mode a valid address should be asserted on A0-A15, while driving AVD and CE to VIL. WE should remain at VIH . The data will appear on DQ15-DQ0. Address access time (tAA) is equal to the delay from valid addresses to valid output data. The chip enable access time(tCE) is the delay from the falling edge of CE to valid data at the outputs. The output enable access time(tOE) is the delay from the falling edge of OE to valid data at the output. Synchronous (Burst) Read Mode (RM = 1) The device is capable of continuous linear burst operation and linear burst operation of a preset length. For the burst mode, the initial word(tIAA) is output asynchronously regardless of BRL bit in System Configuration 1 register. But the host should determine BRL bit of System configuration 1 register for the subsequent words of each burst access. The registers also can be read during burst read mode by using AVD signal with a address. To initiate the synchronous read again, a new address during CE and AVD low toggle is needed after the host has completed status reads or the device has completed the program or erase operation. Continuous Linear Burst Read The initial word(tIAA) is output asynchronously regardless of BRL bit in System Configuration 1 register. Subsequent words are output tBA after the rising edge of each successive clock cycle, which automatically increments the internal address counter. The RDY output indicates this condition to the system by pulsing low. The device will continue to output sequential burst data, wrapping around after it reaches the designated location(See Figure 12 for address map information) until the system asserts CE high, RP low or AVD low in conjunction with a new address. The cold/warm/hot reset or asserting CE high or WE low pulse terminate the burst read operation. If the device is accessed synchronously while it is set to asynchronous read mode, it is possible to read out the first data without problems. Division Add.map(word order) BootM(0.5Kw) 0000h~01FFh BufM 0(0.5Kw) 0200h~03FFh BufM 1(0.5Kw) 0400h~05FFh Buffer1 Reserved Main 0600h~7FFFh N/A Reg. BootS(16w) 8000h~800Fh BufS 0(16w) 8010h~801Fh BufS 1(16w) 8020h~802Fh Reserved Spare 8030h~8FFFh Reserved Reg. 9000h~EFFFh Register(4Kw) F000h~FFFFh Buffer0 Not Support Not Support Buffer0 Not Support Buffer1 N/A Reg. Reg. * Reserved area is not available on Synchronous read Figure 12. The boundary of synchronous read 42 OneNAND128 FLASH MEMORY 4-, 8-,16-, 32- Word Linear Burst Read As well as the Continuous Linear Burst Mode, there are four(4 & 8 & 16 & 32 word) (Note1) linear wrap-around mode, in which a fixed number of words are read from consecutive addresses. When the last word in the burst mode is reached, assert /CE and /OE high to terminate the operation. In these modes, the start address for burst read can be any address of address map. (Note 1) 32 word linear burst read isn’t available on spare area BufferRAM Table 7. Burst Address Sequences Start Addr. Wrap around Burst Address Sequence(Decimal) Continuous Burst 4-word Burst 8-word Burst 16-word Burst 32-word Burst 0 0-1-2-3-4-5-6... 0-1-2-3-0... 0-1-2-3-4-5-6-7-0... 0-1-2-3-4-....-13-14-15-0... 0-1-2-3-4-....-29-30-31-0... 1 1-2-3-4-5-6-7... 1-2-3-0-1... 1-2-3-4-5-6-7-0-1... 1-2-3-4-5-....-14-15-0-1... 1-2-3-4-5-....-30-31-0-1... 2 2-3-4-5-6-7-8... 2-3-0-1-2... 2-3-4-5-6-7-0-1-2... 2-3-4-5-6-....-15-0-1-2... 2-3-4-5-6-....-31-0-1-2... . . . . . . . . . . . . Programmable Burst Read Latency The programmable burst read latency feature indicates to the device the number of additional clock cycles that must elapse after AVD is driven active before data will be available. Upon power up, the number of total initial access cycles defaults to four clocks. The number of total initial access cycles is programmable from three to seven cycles. Rising edge of the clock cycle following last read latency triggers next burst data ≈ CE CLK 0 1 2 3 4 5 ≈ -1 6 ≈ AVD tBA Valid Address A0: A15 D6 D7 D0 D1 D2 D3 ≈ DQ0: DQ15 D7 D0 tIAA Hi-Z tRDYA ≈ RDY ≈ tRDYS OE Hi-Z Figure 13. Example of 4 clock Burst Read Latency Handshaking The handshaking feature allows the host system to simply monitor the RDY signal from the device to determine when the initial word of burst data is ready to be read. To set the number of initial cycle for optimal burst mode, the host should use the programmable burst read latency configuration.(See "System Configuration1 Register" for details.) The rising edge of RDY which is derived from 1 clock ahead of data fetch clock indicates the initial word of valid burst data. Output Disable Mode When the CE or OE input is at VIH , output from the device is disabled. The outputs are placed in the high impedance state. 43 OneNAND128 FLASH MEMORY Program Operation The device can be programmed in data unit. Programming is writing 0's into the memory array by executing the internal program routine. In order to perform the Internal Program Routine, command sequence is necessary. First, host sets the address of the BufferRAM and the memory location and loads the data to be programmed into the BufferRAM. Second, program command initiates the internal program routine. During the execution of the Routine, the host is not required to provide further controls or timings. During the Internal Program Routine, commands except reset command written to the device will be ignored. Note that a reset during a program operation will cause data corruption at the corresponding location. The device provides dual data buffer memory architecture. The device is capable of data-write operation from host to one of data buffers during program operation from anther data buffer to Flash simultaneously. Refer to the information for more details in "Read while Load operation". Start Write 0 to interrupt register Add: F241h DQ=0000h Write Data into DataRAM1) ADD: DP DQ=Data-in Write ’Program’ Command Add: F220h DQ=0080h or 001Ah Data Input Completed? YES NO Wait for INT register low to high transition Add: F241h DQ[15]=INT Write ’FBA’ of Flash Add: F100h DQ=FBA Read Controller Status Register Write ’FPA, FSA’ of Flash Add: F107h DQ=FPA, FSA Add: F240h DQ[10]=Error Write ’BSA, BSC’ of DataRAM Add: F200h DQ=BSA, BSC DQ[10]=0? YES Program completed * NO Program Error : If program operation results in an error, map out the block including the page in error and copy the target data to another block. Note 1) Data input could be done anywhere between "Start" and "Write Program Command". Figure 14. Program operation flow-chart 44 OneNAND128 FLASH MEMORY 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 31 : Page 2 Page 1 Page 0 (1) : (3) (2) (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) 45 Data (64) OneNAND128 FLASH MEMORY Copy-back Program Operation The copy-back program is configured to quickly and efficiently rewrite data stored in one page by sector unit(1/2 sector) 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. Write ’Copy-back Program’ command Start Write ’FBA’ of Flash Add: F100h DQ=FBA Add: F220h DQ=001Bh Wait for INT register low to high transition Write ’FPA, FSA’ of Flash Add: F107h DQ=FPA, FSA Add: F241h DQ[15]=INT Write ’FCBA’ of Flash Add: F102h DQ=FCBA Read Controller Status Register Add: F240h DQ[10]=Error Write ’FCPA, FCSA’ of Flash Add: F103h DQ=FCPA, FCSA Write ’BSA, BSC’ of DataRAM Add: F200h DQ=BSA, BSC1) DQ[10]=0? YES Copy back completed NO Copy back Error Write 0 to interrupt register Add: F241h DQ=0000h * : If program operation results in an error, map out the block including the page in error and copy the target data to another block. Note 1) Selected DataRAM by BSA & BSC is used for Copy back operation, so previous data is overwritten. Figure 15. Copy back program operation flow-chart 46 OneNAND128 FLASH MEMORY Copy-Back Program Operation with Random Data Input The Copy-Back Program Operation with Random Data Input in OneNAND consists of 2 phase, Load data into DataRAM, Modify data and program into designated page. Data from the source page is saved in one of the on-chip DataRAM buffers and modified by the host, then programmed into the destination page. As shown in the flow chart, data modification is possible upon completion of load operation. ECC is also available at the end of load operation. Therefore, using hardware ECC of OneNAND, accumulation of 1 bit error can be avoided. Copy-Back Program Operation with Random Data Input will be effectively utilized at modifying certain bit, byte, word, or sector of source page to destination page while it is being copied. Start Write ’FBA’ of Flash Add: F100h DQ=FBA Write ’FPA, FSA’ of Flash Add: F107h DQ=FPA, FSA Write ’BSA, BSC’ of DataRAM Add: F200h DQ=BSA, BSC DQ[10]=0? NO Map Out YES Random Data Input Add: Random Address in Selected DataRAM DQ=Data Write ’FBA’ of Flash Add: F100h DQ=FBA Write 0 to interrupt register Add: F241h DQ=0000h Write ’Load’ Command Add: F220h DQ=0000h or 0013h Write ’FPA, FSA’ of Flash Add: F107h DQ=FPA, FSA Write 0 to interrupt register Add: F241h DQ=0000h Write ’Program’ Command Wait for INT register low to high transition Add: F241h DQ[15]=INT Read Controller Status Register Add: F240h DQ[10]=Error Add: F220h DQ=0080h or 001Ah Wait for INT register low to high transition Add: F241h DQ[15]=INT Read Controller Status Register Add: F240h DQ[10]=Error DQ[10]=0? YES Copy back completed NO Copy back Error Figure 16. Copy-Back Program Operation with Random Data Input Flow Chart 47 OneNAND128 FLASH MEMORY Erase Operation The device can be erased in block unit. To erase a block is to write 1′s into the desired memory block by executing the Internal Erase Routine. In order to perform the Internal Erase Routine, command sequence is necessary. First, host sets the block address of the memory location. Second, erase command initiates the internal erase routine. During the execution of the Routine, the host is not required to provide further controls or timings. During the Internal erase routine, commands except reset and erase suspend command written to the device will be ignored. Note that a reset during a erase operation will cause data corruption at the corresponding location. Start Write ’FBA’ of Flash Add: F100h DQ=FBA Write 0 to interrupt register Add: F241h DQ=0000h Write ’Erase’ Command Add: F220h DQ=0094h Wait for INT register low to high transition Add: F241h DQ=[15]=INT Read Controller Status Register Add: F240h DQ[10]=Error DQ[10]=0? YES NO Erase completed Erase Error Figure 17. Erase operation flow-chart 48 OneNAND128 FLASH MEMORY Multi Block Erase and Multi Block Erase Verify Read Operation The device can be simultaneously erased in multi blocks unit, too. The block address of the memory location and Multi Block Erase command may be repeated for erasing multi blocks. The final block address and Block Erase command initiate the internal multi block erase routine. During Multi Block Erase routine, if the command except Multi Block Erase command is written before Block Erase command is issued, Multi Block Erase operation will be aborted. Erase Suspend command is allowed only when INT is Low after Block Erase command is issued. Pass/fail status of each block in Multi Block Erase operation can be read by writing each block address and Multi Block Erase Verify Read command. But the information of the failed address has to be managed by the firmware. After Block Erase operation, the pass/ fail status can be read with Multi Block Erase Verify Read command, too. Note that a reset during a erase operation will cause data corruption at the corresponding location. Read Controller Status Register Write ’FBA’ of Flash Add: F100h DQ=FBA Start Add: F240h DQ[10]=Error Write ’FBA’ of Flash Add: F100h DQ=FBA Write 0 to interrupt register Add: F241h DQ=0000h DQ[10]=0? Write 0 to interrupt register Add: F241h DQ=0000h NO Write ’Block Erase Command’ YES Add: F220h DQ=0094h Erase completed Write ’Multi Block Erase’ Command Wait for INT register low to high transition Add: F220h DQ=0095h Erase Error Add: F241h DQ=[15]=INT NO Wait for INT register low to high transition Write ’FBA’ of Flash Add: F100h DQ=FBA Add: F241h DQ=[15]=INT Final Multi Block Erase? Final Multi Block Erase Address? NO YES Multi Block Erase completed Write 0 to interrupt register Add: F241h DQ=0000h Multi Block Erase Verify Read YES Write ’Multi Block Erase Verify Read Command’ Add: F220h DQ=0071h Wait for INT register low to high transition Add: F241h DQ=[15]=INT Figure 18. Multi Block Erase operation flow-chart NOTE: 1. If there are the locked blocks in the specified range, the operation works as the follows. Case 1. [BA(1)+0095h] + [BA(2, locked)+0095h] + ... + [BA(N-1)+0095h] + [BA(N)+0094h] = All specified blocks except BA(2) are erased. Case 2. [BA(1)+0095h] + [BA(2)+0095h] + ... + [BA(N-1)+0095h] + [BA(N, locked)+0094h] = If the last command, Block Erase command, is put together with the locked block address, Multi Block Erase operation doesn’t start and is suspended until right command and address input. Case 3. [BA(1)+0095h] + [BA(2)+0095h] + ... + [BA(N-1)+0095h] + [BA(N, locked)+0094h] + [BA(N+1)+0094h]= All specified blocks except BA(N) are erased. 2. The OnGo bit of Controller Status register is set to ’1’(busy) from the time of writing the 1st block address to be latched until the actual erase has finished. 3. Even though the failed blocked happen during multi block erase operation, the device continues the erase operation until other specified blocks are erased. 49 OneNAND128 FLASH MEMORY Erase Suspend / Resume Erase Suspend command interrupts Block Erase and Multi Block Erase to load or program data in a block that is not being erased. When Erase Suspend command is written during Block Erase and Multi Block Erase operation, the device requires a maximum of 500us to suspend erase operation. After the erase operation has been suspended, the device is available for loading or programming data in a block that is not being erased. For the erase suspend period, Block Erase, Multi Block Erase and Erase Suspend commands are not accepted. When Erase Resume command is executed, Block Erase and Multi Block Erase operation will resume. The Erase Resume operation does not actually resume the erase, but starts it again from the beginning. When Erase Suspend and Erase Resume command is executed, the addresses are in Don’t Care state. Start Write 0 to interrupt register Add: F241h DQ=0000h Write 0 to interrupt register Add: F241h DQ=0000h Write ’Erase Resume Command’ Add: F220h DQ=0030h Write ’Erase Suspend Command’1) Add: F220h DQ=00B0h Wait for INT register low to high transition for 500us Add: F241h DQ=[15]=INT Another Operation * Wait for INT register low to high transition Add: F241h DQ=[15]=INT Check Controller Status Register in case of Block Erase Do Multi Block Erase Verify Read in case of Multi Block Erase * Another Operation ; Load, Program Copy-back Program, OTP Access2), Hot Reset, Flash Reset, CMD Reset, Multi Block Erase Verify, Lock, Lock-tight, Unlock Note 1) Erase Suspend command input is prohibited during Multi Block Erase address latch period. 2) If OTP access mode exit happens with Reset operation during Erase Suspend mode, Reset operation could hurt the erase operation. So if a user wants to exit from OTP access mode without the erase operation stop, Reset NAND Flash Core command should be used. Figure 19. Erase Suspend and Resume operation flow-chart 50 OneNAND128 FLASH MEMORY OTP Operation The device supports one block sized OTP area, which can be read, programmed and locked with the same sequence as normal operation. But this OTP block could not be erased. This block is separated from NAND Flash Array, so it could be accessed by OTP Access command instead of FBA. If user wants to exit from OTP access mode, Cold, Warm and Hot Reset operation should be done. But if OTP access mode exit happens with Reset operation during Erase Suspend mode, Reset operation could hurt the erase operation. So if user wants to exit from OTP access mode without the erase operation stop, ’Reset NAND Flash Core’ command should be used. OTP area is one block size(64KB, 64pages) and is divided by two areas. The first area from page 0 to page 19, total 20pages, is assigned for user and the second area from page 20 to page 63, total 44pages, are occupied for the device manufacturer. The second area is programmed prior to shipping, so this area could not be used by user. This block is fully guaranteed to be a valid block. OTP Block Page Allocation Information Area Page Use User 0 ~ 19 (20 pages) Designated as user area Manufacturer 20 ~ 63 (44 pages) Used by the device manufacturer Page:1KB+32B Sector(main area):512B One Block: 64pages 64KB+2KB Sector(spare area):16B Manufacturer Area : 20pages page 20 to page 63 User Area : 20pages page 0 to page 19 Figure 20. OTP area structure and assignment 51 OneNAND128 FLASH MEMORY OTP Load(OTP Access+Load NAND) OTP area is separated from NAND Flash Array, so it is accessed by OTP Access command instead of FBA. The content of OTP could be loaded with the same sequence as normal load operation after being accessed by the command. If user wants to exit from OTP access mode, Cold, Warm, Hot, and NAND Flash Core Reset operation should be done. Write 0 to interrupt register Add: F241h DQ=0000h Start Write ’FBA’ of Flash1) Add: F100h DQ=FBA Write ’Load’ Command Write 0 to interrupt register Add: F241h DQ=0000h Add: F220h DQ=0000h or 0013h Wait for INT register low to high transition Write ’OTP Access’ Command Add: F220h DQ=0065h Add: F241h DQ[15]=INT Wait for INT register low to high transition Host reads data from DataRAM Add: F241h DQ[15]=INT OTP Load completed Flash1) Write ’FPA, FSA’ of Add: F107h DQ=FPA, FSA Do Cold/Warm/Hot /NAND Flash Core reset Write ’BSA, BSC’ of DataRAM Add: F200h DQ=BSA, BSC OTP Exit Note 1) FBA(NAND Flash Block Address) could be omitted or any address. Figure 21. OTP Load operation flow-chart 52 OneNAND128 FLASH MEMORY OTP Programming(OTP Access+Program NAND) OTP area could be programmed with the same sequence as normal program operation after being accessed by the command. To avoid the accidental write, FBA should point the unlocked area address among NAND Flash Array address map even though OTP area is separated from NAND Flash Array. Write ’FBA’ of Flash Add: F100h DQ=FBA3) Start Write ’FBA’ of Flash1) Add: F100h DQ=FBA Write ’FPA, FSA’ of Flash Add: F107h DQ=FPA, FSA Write 0 to interrupt register Add: F241h DQ=0000h Write ’BSA, BSC’ of DataRAM Add: F200h DQ=BSA, BSC Write ’OTP Access’ Command Add: F220h DQ=0065h Write 0 to interrupt register Add: F241h DQ=0000h Wait for INT register low to high transition Write Program command Add: F220h DQ=0080h or 001Ah Add: F241h DQ[15]=INT Automatically checked Write Data into DataRAM2) Add: DP DQ=Data-in OTPL=0? NO Automatically updated YES Data Input Completed? NO Add: F241h DQ[15]=INT Update Controller Status Register Add: F240h DQ[14]=1(Lock), DQ[10]=1(Error) Read Controller Status Register Wait for INT register low to high transition Add: F240h DQ[10]=0(Pass) Add: F241h DQ[15]=INT OTP Programming completed Read Controller Status Register Wait for INT register low to high transition Add: F240h DQ[10]=1(Error) Do Cold/Warm/Hot /NAND Flash Core reset Do Cold/Warm/Hot /NAND Flash Core reset OTP Exit OTP Exit Note 1) FBA(NAND Flash Block Address) could be omitted or any address. 2) Data input could be done anywhere between "Start" and "Write Program Command". 3) FBA should point the unlocked area address among NAND Flash Array address map. Figure 22. OTP program operation flow-chart 53 OneNAND128 FLASH MEMORY OTP Lock(OTP Access+Lock OTP) OTP area could be locked by programming XXXCh to 8th word in sector0 of page0 to prevent the program operation. At the device power-up, the device automatically checks this word and updates OTPL bit of Controller Status register as "1"(lock). If the program operation happens in OTP locked status, the device updates Error bit of Controller Status register as "1"(fail). Write ’FBA’ of Flash Add: F100h DQ=FBA3) Start Write ’FBA’ of Flash1) Add: F100h DQ=FBA Write 0 to interrupt register Add: F241h DQ=0000h Write ’OTP Access’ Command Add: F220h DQ=0065h Write ’FPA, FSA’ of Flash Add: F107h DQ=0000h Write ’BSA, BSC’ of DataRAM Add: F200h DQ=0001h Write 0 to interrupt register Add: F241h DQ=0000h Wait for INT register low to high transition Write Program command Add: F241h DQ[15]=INT Add: F220h DQ=0080h or 001Ah Write Data into DataRAM2) Add: 8th Word in spare0/sector0/page0 DQ=XXXCh Wait for INT register low to high transition Add: F241h DQ[15]=INT Do Cold reset Automatically updated Update Controller Status Register Add: F240h DQ[6]=1(OTPL) OTP lock completed Note 1) FBA(NAND Flash Block Address) could be omitted or any address. 2) Data input could be done anywhere between "Start" and "Write Program Command". 3) FBA should point the unlocked area address among NADND Flash Array address map. Figure 23. OTP lock operation flow-chart 54 55 Flash _add Page A Add_ reg 0000h Int_ reg LD_ CMD CMD_ reg 1) Data Load _DB0 1) Data Load _DB0 Read Status CS_ reg Flash _add Page B Add_ reg Int_reg : Interrupt Register Address Add_reg : Address Register Address Flash_add : Flash Address to be loaded DBn_add : DataRAM Address to be loaded CMD_reg : Command Register Address LD_CMD : Load Command Data Load_DBn : Load Data from NAND Flash Array to DataRAMn CS_reg : Controller Status Register Address Data Read_DBn : Read Data from DBn DBn_radd : DataRAM Address to be read DB0 _add Add_ reg DB1 _add Add_ reg 0000h Int_ reg LD_ CMD CMD_ reg DB0_radd* Data Load 2) _DB1 Data Read _DB0 * Data Load 2) _DB1 Page B Page A 2) Load 1) Load Data Buffer1 Data Buffer0 2) Read The device provides dual data buffer memory architecture. The device is capable of data-read operation from one data buffer and data-load operation to another data buffer simultaneously. This is so called the Read while Load operation with dual data buffer architecture, this feature provides the capability of executing reading data from one of data buffers during data-load operation from Flash to the other buffer simultaneously. Refer to the information for more details in "Load operation" before performing read while load operation. Simultaneous load and read operation to same data buffer is prohibited. INT OE WE 0~15 DQ 0~15 ADD Read While Load OneNAND128 FLASH MEMORY 56 Data Write _DB0 * DB0_wadd* Flash _add 1) Add_ reg 0000h Int_ reg PD_ CMD CMD_ reg Data PGM _PageA Data Write _DB1 * DB1_wadd* Add_reg : Address Register Address DBn_add : DataRAM Address to be programmed DBn_wadd : DataRAM Address to be written Data Write_DBn : Write Data to DataRAMn Flash_add : Flash Address to be programmed Int_reg : Interrupt Register Address CMD_reg : Command Register Address PD_CMD : Program Command Data PGM_PageA : Program Data from DataRAM to PageA CS_reg : Controller Status Register Address DB0 _add Add_ reg Data PGM _PageA 2) Read Status CS_ reg Flash _add Add_ reg DB1 _add Add_ reg Page B 0000h Int_ reg PD_ CMD CMD_ reg Data PGM _PageB Data Write _DB0 * DB0_wadd* Data PGM _PageB Page B Page A 3) Program 2) Program Data Buffer1 Data Buffer0 2) Write 3) Write 1) Write The device provides dual data buffer memory architecture. The device is capable of data-write operation and program operation simultaneously. This is so called the write while program operation with dual data buffer architecture, this feature provides the capability of executing data-write operation from host to one of data buffers during program operation from anther data buffer to Flash simultaneously. Refer to the information for more details in "Program operation" before performing write while program operation. Simultaneous program and write operation to same data buffer is prohibited. INT OE WE 0~15 DQ 0~15 ADD Page A Write While Program OneNAND128 FLASH MEMORY OneNAND128 FLASH MEMORY ECC Operation While the device transfers data from BufferRAM to NAND Flash Array Page Buffer for Program Operation, the device hiddenly generates ECC(24bits for main area data and 10bits for 2nd and 3rd word data of each sector spare area) and while Load operation, hiddenly generates ECC and detects error number and position and corrects 1bit error. ECC is updated by the device automatically. After Load Operation, host can know whether there is error or not by reading ’ECC Status Register’(refer to ECC Status Register Table). In addition, OneNAND supports 2bit EDC even though it is little probable that 2bit error occurs. Hence, it is not recommeded that Host reads ’ECC Status Register’ for checking ECC error because the built-in Error Correction Logic of OneNAND finds out and corrects ECC error. When the device loads NAND Flash Array main and sprea area data with ECC operation, the device does not place the newly generated ECC for main and spare area into the buffer but places ECC which was generated and written in program operation into the buffer. Ecc operation is done during the boot loading operation. ECC Bypass Operation ECC bypass operation is set by 9th bit of System Configuration 1 register. In ECC Bypass operation, the device neither generates ECC result which indicates error position nor updates ECC code to NAND Flash arrary spare area in program operation(refer to ECC Result Register Tables). During Load operation, the on-chip ECC engine does not generate a new ECC internally and the values of ECC Status and Result Registers are invalid. Hence, in ECC Bypass operation, the error cannot be detected and corrected by OneNAND itself. ECC Bypass operation is not recommended to host. Table 8. ECC Code & Result Status by ECC operation mode Program operation Operation Load operation ECC Code Update to NAND ECC Code at BufferRAM Spare Flash Array Spare Area Area ECC Status & Result Update to Registers 1bit Error ECC operation Update Pre-written ECC code(1) loaded Update Correct ECC bypass Not update Pre-written code loaded Invalid Not correct NOTE: 1. Pre-written ECC code : ECC code which is previously written to NAND Flash Spare Area in program operation. 57 OneNAND128 FLASH MEMORY Data Protection during Power Down 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.3V. RP pin provides hardware protection and is recommended to be kept at VIL before power-down. VCC typ. 1.3V 0V RP INT OneNAND Operation Idle One NAND Reset NAND Write Protected Figure 24. Data Protection during Power Down 58 OneNAND128 FLASH MEMORY 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. Identifying Invalid Block(s) All device locations are erased(FFFFh) except locations where the invalid block(s) information is written prior to shipping. The invalid block(s) status is defined by the 1st word in the spare area. Samsung makes sure that either the 1st or 2nd page of every invalid block has non-FFFFh data at the 1st word of sector0. 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 24). 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 "FFFFh" at the sector0 1st word of the 1st and 2nd page in the block Check " FFFFh" ? Yes No Last Block ? Yes End Figure 25. Flow chart to create invalid block table. 59 OneNAND128 FLASH MEMORY Technical Notes (Continued) Error in write or load operation Within its life time, additional invalid blocks may develop with the device. 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. Failure Mode Write Load Detection and Countermeasure sequence Erase Failure Status Read after Erase --> Block Replacement Program Failure Status Read after Program --> Block Replacement Single Bit Failure Error Correction by ECC mode of the device Block Replacement 1st ∼ (n-1)th nth { Block A 1 an error occurs. Data Buffer0 of the device (page) 1 1st ∼ (n-1)th nth { Data Buffer1 of the device (assuming maintain the nth page data) Block B 2 (page) When an error happens in the nth page of the Block ’A’ during program operation. * Step1 Then, copy the data in the 1st ~ (n-1)th page to the same location of the Block ’B’ via data buffer0. * Step2 Copy the nth page data of the Block ’A’ in the data buffer1 to the nth page of another free block. (Block ’B’) Do not further erase or program Block ’A’ by creating an ’invalid Block’ table or other appropriate scheme. 60 OneNAND128 FLASH MEMORY Technical Notes (Continued) Boot Sequence One of the best features OneNAND has is that it can be a booting device itself since it contains an internally built-in boot loader despite the fact that its core architecture is based on NAND Flash. Thus, OneNAND does not make any additional booting device necessary for a system, which imposes extra cost or area overhead on the overall system. As the system power is turned on, the boot code originally stored in NAND Flash Arrary is moved to BootRAM automatically and then fetched by CPU through the same interface as SRAM’s or NOR Flash’s if the size of the boot code is less than 1KB. If its size is larger than 1KB and less than or equal to 2KB, only 1KB of it can be moved to BootRAM automatically and fetched by CPU, and the rest of it can be loaded into one of the DataRAMs whose size is 1KB by Load Command and CPU can take it from the DataRAM after finishing the code-fetching job for BootRAM. If its size is larger than 2KB, the 1KB portion of it can be moved to BootRAM automatically and fetched by CPU, and its remaining part can be moved to DRAM through two DataRAMs using dual buffering and taken by CPU to reduce CPU fetch time. A typical boot scheme usually used to boot the system with OneNAND is explained at Figure 26 and Figure 27. In this boot scheme, boot code is comprised of BL1, where BL stands for Boot Loader, BL2, and BL3. Moreover, the size of the boot code is larger than 2KB (the 3rd case above). BL1 is called primary boot loader in other words. Here is the table of detailed explanations about the function of each boot loader in this specific boot scheme. Boot Loaders in OneNAND Boot Loader Description BL1 Moves BL2 from NAND Flash Array to DRAM through two DataRAMs using dual buffering BL2 Moves OS image (or BL3 optionally) from NAND Flash Array to DRAM through two DataRams using dual buffering BL3 (Optional) Moves or writes the image through USB interface NAND Flash Array of OneNAND is divided into the partitions as described at Figure 26 to show where each component of code is located and how much portion of the overall NAND Flash Array each one occupies. In addition, the boot sequence is listed below and depicted at Figure 27. Boot Sequence : 1. Power is on BL1 is loaded into BootRAM 2. BL1 is executed in BootRAM BL2 is loaded into DRAM through two DataRams using dual buffering by BL1 3. BL2 is executed in DRAM OS image is loaded into DRAM through two DataRams using dual buffering by BL2 4. OS is running 61 OneNAND128 FLASH MEMORY Technical Notes (Continued) Block 512 Reservoir Partition 6 File System Partition 5 Sector 0 Sector 1 Page 63 Page 62 Block 162 Partition 4 NBL3 BL3 Partition 3 : : BL2 Os Image Block 2 Block 1 Block 0 NBL1 BL1 Page 2 Page 1 NBL2 BL2 BL1 Page 0 Figure 26. Partition of NAND Flash array Reservoir File System 3 Data Ram 1 Os Image Data Ram 0 Os Image Boot Ram(BL 1) BL1 BL2 2 1 NAND Flash Array BL 2 Internal BufferRAM OneNAND DRAM NOTE: 2 and 3 can be copied into DRAM through two DataRAMs using dual buffering Figure 27. OneNAND Boot Sequence 62 OneNAND128 FLASH MEMORY Technical Notes (Continued) Methods of Determining Interrupt Status There are two methods of determining Interrupt Status on the OneNAND. Using the INT pin or monitoring the Interrupt Status Register Bit. The OneNAND INT pin is an output pin function used to notify the Host when a command has been completed. This provides a hardware method of signaling the completion of a program, erase, or load operation. In its normal state, the INT pin is high if the INT polarity bit is default. Before a command is written to the command register, the INT bit must be written to '0' so the INT pin transitions to a low state indicating start of the operation. Upon completion of the command operation by the OneNAND’s internal controller, INT returns to a high state. INT is an open drain output allowing multiple INT outputs to be Or-tied together. INT does not float to a hi-Z condition when the chip is deselected or when outputs are disabled. Refer to section 2.8 for additional information about INT. INT can be implemented by tying INT to a host GPIO or by continuous polling of the Interrupt status register. The INT Pin to a Host General Purpose I/O INT can be tied to a Host GPIO to detect the rising edge of INT, signaling the end of a command operation. COMMAND INT This can be configured to operate either synchronously or asynchronously as shown in the diagrams below. 63 OneNAND128 FLASH MEMORY Technical Notes (Continued) Synchronous Mode Using the INT Pin When operating synchronously, INT is tied directly to a Host GPIO. Host OneNAND CE CE AVD AVD CLK CLK RDY RDY OE OE GPIO INT Asynchronous Mode Using the INT Pin When configured to operate in an asynchronous mode, /CE and /AVD of the OneNAND are tied to /CE of the Host. CLK is tied to the Host Vss (Ground). /RDY is tied to a no-connect. /OE of the OneNAND and Host are tied together and INT is tied to a GPIO. Host OneNAND CE CE AVD Vss CLK N.C RDY OE OE GPIO INT Polling the Interrupt Register Status Bit An alternate method of determining the end of an operation is to continuously monitor the Interrupt Status Register Bit instead of using the INT pin. Command INT This can be configured in either a synchronous mode or an asynchronous mode. 64 OneNAND128 FLASH MEMORY Technical Notes (Continued) Synchronous Mode Using Interrupt Status Register Bit Polling When operating synchronously, /CE, /AVD, CLK, /RDY, /OE, and DQ pins on the host and OneNAND are tied together. Host OneNAND CE CE AVD AVD CLK CLK RDY RDY OE OE DQ DQ Asynchronous Mode Using Interrupt Status Register Bit Polling When configured to operate in an asynchronous mode, /CE and /AVD of the OneNAND are tied to /CE of the Host. CLK is tied to the Host Vss (Ground). /RDY is tied to a no-connect. /OE and DQ of the OneNAND and Host are tied together. Host OneNAND CE CE AVD Vss CLK N.C RDY OE OE DQ DQ 65 OneNAND128 FLASH MEMORY Technical Notes (Continued) Determing Rp Value Because the pull-up resistor value is related to tr(INT), an appropriate value can be obtained by the following reference charts. INT pol = ’High’ Internal Vcc Rp ~50k ohm INT Ready Vcc VOH VOL Vss Busy State tf tr @ Vcc = 1.8V, Ta = 25°C , CL = 30pF 2.142 0.18 0.09 tf[ns] 3.77 1K ≈ 0.089 tr[us] 0.06 1.345 0.045 ≈ 0.7727 1.788 0.036 3.77 3.77 3.77 3.77 3.77 10K 20K 30K Rp(ohm) 40K 50K 66 ≈≈ tr,tf ≈ 1.75 Ibusy [mA] 2.431 Ibusy ≈ 5.420 0.000 Open(100K) OneNAND128 FLASH MEMORY Technical Notes (Continued) INT pol = ’Low’ Internal Vcc INT Rp ~50k ohm tf tr Ready Vcc VOH Busy State Vss VOL @ Vcc = 1.8V, Ta = 25°C , CL = 30pF 1.623 0.18 0.09 tr[ns] 6.49 1K ≈ 0.067 tf[us] 0.06 1.02 0.045 ≈ 0.586 1.356 0.036 6.49 6.49 6.49 6.49 6.49 10K 20K 30K Rp(ohm) 40K 50K 67 ≈≈ ≈ tr,tf Ibusy Ibusy [mA] 1.84 1.75 ≈ 4.05 0.000 Open(100K) OneNAND128 FLASH MEMORY ABSOLUTE MAXIMUM RATINGS Parameter Voltage on any pin relative Vcc to VSS All Pins Temperature Under Bias Rating Symbol Extended KFG2816Q1M KFG2816U1M Vcc -0.5 to + 2.45 -0.6 to + 4.6 -0.6 to + 4.6 VIN -0.5 to + 2.45 -0.6 to + 4.6 -0.6 to + 4.6 -30 to +125 -30 to +125 -30 to +125 - - -40 to +125 Tbias Industrial KFG2816D1M Unit V °C Storage Temperature Tstg -65 to +150 -65 to +150 -65 to +150 °C Short Circuit Output Current IOS 5 5 5 mA Extended TA -30 to + 85 -30 to + 85 -30 to + 85 Industrial TA - - -40 to + 85 Operating Temperature °C NOTES: 1. Minimum DC voltage is -0.5V on Input/ Output pins. During transitions, this level should not fall to POR level(typ. 1.5V). Maximum DC voltage is Vcc+0.6V on input / output pins 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 detailed in the operational sections of this data sheet. Exposure to absolute maximum rating conditions for extended periods may affect reliability. 9.2 RECOMMENDED OPERATING CONDITIONS ( Voltage reference to GND ) Parameter Symbol VCC-core Supply Voltage VCC- IO VSS 1.8V Device 2.65V Device 3.3V Device Min Typ. Max Min Typ. Max Min Typ. Max 1.7 1.8 1.95 2.4 2.65 2.9 2.7 3.3 3.6 0 0 0 0 0 0 0 0 0 NOTES: 1. The system power should reach 1.7V after POR triggering level(typ. 1.5V) within 400us. 2. Vcc-Core should reach the operating voltage level prior to Vcc-IO or at the same time. 68 Unit V V OneNAND128 FLASH MEMORY DC CHARACTERISTICS Parameter Symbol Input Leakage Current 1.8V device Test Conditions Min Typ 2.65V device Max Min Typ Max 3.3V device Min Typ Max Unit ILI VIN=VSS to VCC, VCC=VCCmax - 1.0 - + 1.0 - 1.0 - + 1.0 - 1.0 - + 1.0 µA Output Leakage Current ILO VOUT=VSS to VCC, VCC=VCCmax, - 1.0 CE or OE=VIH(Note 1) - + 1.0 - 1.0 - + 1.0 - 1.0 - + 1.0 µA Active Asynchronous Read Current (Note 2) ICC1 CE=VIL, OE=VIH - 8 15 - 10 20 - 10 20 mA Active Burst Read Current (Note 2) ICC2 CE=VIL, OE=VIH 54MHz - 12 20 - 20 30 - 20 30 mA 1MHz - 3 4 - 4 6 - 4 6 mA Active Write Current (Note 2) ICC3 CE=VIL, OE=VIH - 8 15 - 10 20 - 10 20 mA Active Load Current (Note 3) ICC4 CE=VIL, OE=VIH, WE=VIH, VIN=VIH or VIL - 20 25 - 20 30 - 20 30 mA Active Program Current (Note 3) ICC5 CE=VIL, OE=VIH, WE=VIH, VIN=VIH or VIL - 20 25 - 20 30 - 20 30 mA Erase/Multi Block Erase Current (Note 3) ICC6 CE=VIL, OE=VIH, WE=VIH, VIN=VIH or VIL, 64blocks - 15 20 - 18 25 - 18 25 mA Standby Current ISB CE= RP=VCC ± 0.2V - 10 50 - 15 50 - 15 50 µA Input Low Voltage VIL - -0.5 - 0.4 -0.5 - 0.4 0 - 0.8 V VCCq0.4 - - VCCq V - 0.22* Vccq V - - V VCCq VCCq+0.4 0.4 - VCCq 0.7*V +0.4 CCq Input High Voltage VIH - Output Low Voltage VOL IOL = 100 µA , VCC=VCCmin , VCCq=VCCqmin - - 0.2 - - 0.2 Output High Voltage VOH IOH = -100 µA , VCC=VCCmin , VCCq=VCCqmin VCCq0.1 - - VCCq0.4 - - 1. CE should be VIH for RDY. IOBE should be ’0’ for INT. 2. Icc active for Host access 3. ICC active while Internal operation is in progress. 69 0.8*V CCq OneNAND128 FLASH MEMORY VALID BLOCK Parameter Symbol Min Typ. Max Unit NVB 251 - 256 Blocks Valid Block Number NOTES: 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. 2. The 1st block, which is placed on 00h block address, is fully guaranteed to be a valid block. CAPACITANCE(TA = 25 °C, VCC = 1.8V/2.65V/3.3V, f = 1.0MHz) Item Input Capacitance Symbol Test Condition Min Max Unit CIN1 VIN=0V - 10 pF Control Pin Capacitance CIN2 VIN=0V - 10 pF Output Capacitance COUT VOUT=0V - 10 pF NOTE : Capacitance is periodically sampled and not 100% tested. AC TEST CONDITION(VCC = 1.8V/2.65V/3.3V) Parameter Value Input Pulse Levels 0V to VCC Input Rise and Fall Times CLK 3ns other inputs 5ns Input and Output Timing Levels Vcc/2 Output Load CL = 30pF Device Under Test VCC VCC/2 Input & Output Test Point VCC/2 * CL = 30pF including scope and Jig capacitance 0V Input Pulse and Test Point Output Load 70 OneNAND128 FLASH MEMORY Synchronous Burst Read Parameter KFG2816X1M Symbol Unit Min Max 54 MHz Clock CLK 1 Clock Cycle tCLK 18.5 - ns Initial Access Time(at 54MHz) tIAA - 76 ns tBA - 14.5 ns AVD Setup Time to CLK tAVDS 7 - ns AVD Hold Time from CLK tAVDH 7 - ns Address Setup Time to CLK tACS 7 - ns Address Hold Time from CLK tACH 7 - ns Data Hold Time from Next Clock Cycle tBDH 4 - ns Output Enable to Data Burst Access Time Valid Clock to Output Delay tOE - 20 ns CE Disable to Output High Z tCEZ1) - 20 ns OE Disable to Output High Z tOEZ1) - 17 ns CE Setup Time to CLK tCES 7 - ns CLK High or Low Time tCLKH/L tCLK/3 - ns 2) tRDYO - 14.5 ns CLK to RDY Setup Time tRDYA - 14.5 ns RDY Setup Time to CLK tRDYS 4 - ns CE low to RDY valid tCER - 15 ns CLK to RDY valid Note 1. If OE is disabled at the same time or before CE is disabled, the output will go to high-z by tOEZ(max. 17ns). If CE is disabled at the same time or before OE is disabled, the output will go to high-z by tCEZ(max. 20ns). If CE and OE are disabled at the same time, the output will go to high-z by tOEZ(max. 17ns). These parameters are not 100% tested. 2. It is the following clock of address fetch clock. 71 OneNAND128 FLASH MEMORY SWITCHING WAVEFORMS 5 cycles for initial access shown. BRL=4 tCLK tCES tCLKH tCLKL ≈ CE tCER tCEZ CLK ≈ tAVDS ≈ tRDYO AVD tAVDH ≈ ≈ tBDH tACS A0-A15 tBA tACH D6 D7 D0 D1 D2 D3 ≈ DQ0-DQ15 D7 tOE ≈ OE tRDYS tRDYA Hi-Z Hi-Z ≈ RDY D0 tOEZ tIAA Figure 28. 8 Word Linear Burst Mode with Wrap Around 5 cycles for initial access shown. BRL=4 tCLK tCES ≈ CE tCER tCEZ CLK ≈ tAVDS ≈ tRDYO AVD tAVDH ≈ ≈ tBDH tACS A0-A15 tBA tACH Da Da+1 Da+2 Da+3 Da+4 Da+5 Da+n ≈ DQ0-DQ15 tOE ≈ OE Hi-Z tRDYA tRDYS ≈ RDY Da+n+1 tOEZ tIAA Figure 29. Continuous Linear Burst Mode with Wrap Around NOTE: In order to avoid a bus conflict the OE signal is enabled on the next rising edge after AVD is going high. 72 Hi-Z OneNAND128 FLASH MEMORY Asynchronous Read Parameter KFG2816X1M Symbol Min Max Unit Access Time from CE Low tCE - 76 ns Asynchronous Access Time from AVD Low tAA - 76 ns Asynchronous Access Time from address valid tACC - 76 ns Read Cycle Time tRC 76 - ns AVD Low Time tAVDP 12 - ns Address Setup to rising edge of AVD tAAVDS 7 - ns Address Hold from rising edge of AVD tAAVDH 7 - ns tOE - 20 ns Output Enable to Output Valid CE Setup to AVD falling edge CE Disable to Output & RDY High Z tCA 0 - ns 1) tCEZ - 20 ns 1) tOEZ - 17 ns OE Disable to Output & RDY High Z NOTE: 1. If OE is disabled at the same time or before CE is disabled, the output will go to high-z by tOEZ(max. 17ns). If CE is disabled at the same time or before OE is disabled, the output will go to high-z by tCEZ(max. 20ns). If CE and OE are disabled at the same time, the output will go to high-z by tOEZ(max. 17ns). These parameters are not 100% tested. SWITCHING WAVEFORMS Case 1 : Valid Address and AVD Transition occur before CE is driven to Low CLK VIL CE tCEZ tAVDP AVD tOE OE WE tCE tOEZ DQ0-DQ15 Valid RD tAAVDH A0-A15 RDY VA Hi-Z Hi-Z NOTE: VA=Valid Read Address, RD=Read Data. Figure 30. Asynchronous Read Mode(AVD toggling) 73 OneNAND128 FLASH MEMORY Case 2 : AVD Transition occurs after CE is driven to Low and Valid Address Transition occurs before AVD is driven to Low VIL ≈ CE ≈ CLK tCEZ tAA ≈ tAVDP AVD tOE ≈ OE tWEA ≈ WE ≈ ≈ DQ0-DQ15 Valid RD tAAVDH ≈ ≈ A0-A15 VA ≈ RDY tOEZ Hi-Z Hi-Z NOTE: VA=Valid Read Address, RD=Read Data. Figure 31. Asynchronous Read Mode(AVD toggling) Case 3 : AVD Transition occur after CE is driven to Low and Valid Address Transition occurs after AVD is driven to Low VIL ≈ CE ≈ CLK tCEZ tAVDP ≈ AVD tAAVDS tWEA ≈ WE ≈ ≈ DQ0-DQ15 tOEZ Valid RD tAAVDH tACC ≈ ≈ A0-A15 VA ≈ RDY tOE ≈ OE Hi-Z Hi-Z NOTE: VA=Valid Read Address, RD=Read Data. Figure 32. Asynchronous Read Mode(AVD toggling) 74 OneNAND128 FLASH MEMORY Case 4 : AVD is tied to CE CLK VIL tRC CE tCEZ tOE OE WE tCE tOEZ Valid RD DQ0-DQ15 tACC A0-A15 RDY VA Hi-Z Hi-Z NOTE: VA=Valid Read Address, RD=Read Data. Figure 33. Asynchronous Read Mode(AVD tied to CE) 75 OneNAND128 FLASH MEMORY AC CHARACTERISTICS Asynchronous write operation Parameter Symbol KFG2816X1M Min Typ Max Unit tWC 70 - - ns AVD low pulse width tAVDP 12 - - ns Address Setup to rising edge of AVD tAAVDS 7 - - ns Address Setup to falling edge of WE tAWES 0 Address Hold to rising edge of AVD tAAVDH 7 - - Address Hold to rising edge of WE tAH 10 Data Setup to rising edge of WE tDS 10 - - ns Data Hold from rising edge of WE tDH 4 - - ns WE Cycle Time CE Setup to falling edge of WE CE Hold from rising edge of WE AVD toggled CE Hold from rising edge of WE AVD tied to CE ns ns tCS 0 - - ns tCH1 0 - - ns tCH2 10 - - ns tWPL 40 - - ns WE Pulse Width High tWPH 30 - - ns AVD Disable to WE Disable tVLWH 15 - - ns WE Disable to AVD Enable tWEA 15 - - ns WE Pulse Width 76 OneNAND128 FLASH MEMORY Case 1 : AVD is toggled every write cycle CLK VIL tCS tCH1 CE tCS tAVDP AVD tCH1 tWEA tVLWH tWPL tWPH WE tWC OE tAAVDS A0-A15 tAAVDH VA VA tDS DQ0-DQ15 RDY tDH Valid WD Valid WD Hi-Z Hi-Z NOTE: VA=Valid Read Address, WD=Write Data. Figure 34. Latched Asynchronous Write Mode(AVD toggling) 77 OneNAND128 FLASH MEMORY Case 2 : AVD is synchronized with CE CLK VIL tCS tCH2 tCS CE tCH2 AVD tWPL tWPH WE tWC OE tAH tAWES A0-A15 tDS DQ0-DQ15 RDY VA VA tDH Valid WD Valid WD Hi-Z Hi-Z NOTE: VA=Valid Read Address, WD=Write Data. Figure 35. Asynchronous Write Mode(AVD toggling) 78 OneNAND128 FLASH MEMORY Case 3 : AVD is tied to CE CLK VIL tCS tCH2 tCS CE or AVD tWPL tCH2 tWPH WE tWC OE tAH tAWES A0-A15 tDS DQ0-DQ15 RDY VA VA tDH Valid WD Valid WD Hi-Z Hi-Z NOTE: VA=Valid Read Address, WD=Write Data. Figure 36. Asynchronous Write Mode(AVD tied to CE) 79 OneNAND128 FLASH MEMORY Reset Parameter Symbol KFG2816X1M Min Max Unit RP & Reset Command Latch(During Load Routines) to INT High (Note) tRST - 10 µs RP & Reset Command Latch(During Program Routines) to INT High (Note) tRST - 20 µs RP & Reset Command Latch(During Erase Routines) to INT High (Note) tRST - 500 µs RP & Reset Command Latch(NOT During Internal Routines) to Read Mode (Note) tRST - 10 µs tReady 200 - ns tRP 200 - ns INT High to Read Mode (Note) RP Pulse Width NOTE: These parameters are tested based on INT bit of interrupt register. Because the time on INT pin is related to the pull-up and pull-down resistor value. Please refer to page 66 and 67. SWITCHING WAVEFORMS Warm Reset CE, OE RP tRP tRST tReady INT bit Hot Reset AVD Ai DQi BP or F220h 00F0h or 00F3h CE OE WE tRST INT bit Figure 37. Reset Timing 80 tReady OneNAND128 FLASH MEMORY Performance Parameter Symbol Min Typ Max Unit Sector Load time(Note 1) tRD1 - 35 45 µs Page Load time(Note 1) tRD2 - 50 75 µs Sector Program time(Note 1) tPGM1 - 320 720 µs Page Program time(Note 1) tPGM2 - 350 750 µs OTP Access Time(Note 1) tOTP - 600 1000 ns Lock/Unlock/Lock-tight Time(Note 1) tLOCK - 600 1000 ns tESP - 400 500 µs 1 Block tERS1 - 2 3 ms 2~64 Blocks tERS2 4 5 ms Erase Suspend Time(Note 1) Erase Resume Time(Note 1) Number of Partial Program Cycles in the sector (Including main and spare area) Block Erase time (Note 1) NOP - - 2 cycles 1 Block tBERS1 - 2 3 ms 2~64 Blocks tBERS2 - 4 5 ms tRD3 - 115 135 µs Multi BlocK Erase Verify Read time(Note 1) NOTES: 1. These parameters are tested based on INT bit of interrupt register. Because the time on INT pin is related to the pull-up and pulldown resistor value. Please refer to page 66 and 67. 81 OneNAND128 FLASH MEMORY SWITCHING WAVEFORMS Load Operations Read Command Sequence tAAVDS tAAVDH AVD tWEA CA AA RMA SA ≈ ≈ DQ0-DQ15 ≈ A0:A15 Read Data ≈ tAVDP tVLWH RCD tDS Complete ≈ tDH BA CE tCH1 ≈ OE tWPL ≈ WE tWPH tRD tCS VIL ≈ CLK tWC ≈ INT bit Figure 38. Load Operation Timing NOTES: 1. AA = Address of address register CA = Address of command register LCD = Load Command LMA = Address of memory to be loaded BA = Address of BufferRAM to load the data BD = Program Data SA = Address of status register 2. “In progress” and “complete” refer to status register 3. Status reads in this figure is asynchronous read, but status read in synchronous mode is also supported. 82 Da OneNAND128 FLASH MEMORY SWITCHING WAVEFORMS Program Operations Program Command Sequence (last two cycles) Read Status Data tAVDP tVLWH tWEA AVD tAAVDS A0:A15 tAAVDH AA BA PMA BD SA PCD In Progress ≈ tCH OE SA ≈ tDH tDS CE ≈ ≈ DQ0-DQ15 CA tWPL ≈ WE tWPH tCS VIL ≈ CLK tPGM tWC INT Figure 39. Program Operation Timing NOTES: 1. AA = Address of address register CA = Address of command register PCD = Program Command PMA = Address of memory to be programmed BA = Address of BufferRAM to load the data BD = Program Data SA = Address of status register 2. “In progress” and “complete” refer to status register 3. Status reads in this figure is asynchronous read, but status read in synchronous mode is also supported. 83 Complete OneNAND128 FLASH MEMORY SWITCHING WAVEFORMS Erase Operation Erase Command Sequence (last two cycles) tVLWH Read Status Data tWEA tAVDP AVD tAAVDS A0:A15 tAAVDH AA EMA SA ≈ ≈ DQ0-DQ15 CA ECD tDS ≈ tCH OE In Progress ≈ tDH CE SA tWPL ≈ WE tWPH tBERS tCS VIL tWC ≈ CLK INT Figure 40. Block Erase Operations NOTES: 1. AA = Address of address register CA = Address of command register ECD = Erase Command EMA = Address of memory to be erased SA = Address of status register 2. “In progress” and “complete” refer to status register 3. Status reads in this figure is asynchronous read, but status read in synchronous mode is also supported. 84 Complete OneNAND128 FLASH MEMORY OneNAND128 PACKAGE DIMENSIONS 67-FBGA-7.00x9.00 Units:millimeters 7.00±0.10 A #A1 INDEX 0.80x7=5.60 0.10 MAX 7.00±0.10 (Datum A) 2.800 0.80 6 5 4 3 2 B 1 #A1 D E 3.60 F G H 0.32±0.05 0.90±0.10 BOTTOM VIEW TOP VIEW 67-∅ 0.45±0.05 ∅ 0.20 M A B 85 9.00±0.10 B 0.80x9=7.20 0.80 A C 0.45±0.05 9.00±0.10 9.00±0.10 (Datum B) OneNAND128 FLASH MEMORY 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.07 20.00±0.20 0.787±0.008 +0.075 0~8° 0.45~0.75 0.018~0.030 +0.003 0.005-0.001 18.40±0.10 0.724±0.004 0.125 0.035 0.25 0.010 TYP 1.00±0.05 0.039±0.002 ( 0.50 ) 0.020 86 1.20 0.047MAX 0.05 0.002 MIN OneNAND128 FLASH MEMORY ORDERING INFORMATION K F G 28 1 6 X 1 M - X X B Samsung OneNAND Memory Product Line desinator B : Include Bad Block D : Daisy Sample Device Type G : Single Chip Operating Temperature Range E = Extended Temp. (-30 °C to 85 °C) I = Industrial Temp. (-40 °C to 85 °C) Density 28 : 128Mb Package D : FBGA(Lead Free) P : TSOP(Lead Free) Organization x16 Organization Version M : 1st Generation Operating Voltage Range Q : 1.8V(1.7 V to 1.95V) D : 2.65V(2.4V to 2.9V) U : 3.3V(2.7 V to 3.6V) Page Architecture 1 : 1KB Page 87