Kfg1g16u2c Dib6
Kfg1g16u2c Dib6
KFG1G16U2C
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.
* Samsung Electronics reserves the right to change products or specification without notice.
- 1 -
OneNAND1Gb(KFG1G16U2C-xIB6) FLASH MEMORY
Revision History
Document Title
OneNAND
Revision History
Revision No. History Draft Date Remark
0.0 1. Initial issue. Sep. 16, 2008 Advanced
- 2 -
OneNAND1Gb(KFG1G16U2C-xIB6) FLASH MEMORY
1.0 INTRODUCTION
This specification contains information about the Samsung Electronics Company OneNAND™‚ Flash memory product family. Section 1.0
includes a general overview, revision history, and product ordering information.
Section 2.0 describes the OneNAND device. Section 3.0 provides information about device operation. Electrical specifications and timing
waveforms are in Sections 4.0 through 6.0. Section 7.0 provides additional application and technical notes pertaining to use of the
OneNAND. Package dimensions are found in Section 8.0.
To determine which Samsung Flash product solution is best for your application, refer the product selector chart.
- 3 -
OneNAND1Gb(KFG1G16U2C-xIB6) FLASH MEMORY
KF G 1G 16 U 2 C - x I x 6
Samsung Speed
OneNAND Memory 6 : 66MHz
This on-chip integration enables system designers to reduce external system logic and use high-density NAND Flash in applications that
would otherwise have to use more NOR components.
OneNAND takes advantage of the higher performance NAND program time, low power, and high density and combines it with the synchro-
nous read performance of NOR. The NOR Flash host interface makes OneNAND an ideal solution for applications like G3 Smart Phones,
Camera Phones, and mobile applications that have large, advanced multimedia applications and operating systems, but lack a NAND control-
ler.
When integrated into a Samsung Multi-Chip-Package with Samsung Mobile DDR SDRAM, designers can complete a high-performance, small
footprint solution.
- 4 -
OneNAND1Gb(KFG1G16U2C-xIB6) FLASH MEMORY
Device Performance
• Host Interface Type: Synchronous Burst Read
- Up to 66MHz clock frequency
- Linear Burst 4-, 8-, 16-, 32-words with wrap around
- Continuous 1K words Sequential Burst
Asynchronous Random Read
- 76ns access time
Asynchronous Random Write
System Hardware
• Voltage detector generating internal reset signal from Vcc
• Hardware reset input (RP)
• Data Protection Modes - Write Protection for BootRAM
- Write Protection for NAND Flash Array
- Write Protection during power-up
- Write Protection during power-down
• User-controlled One Time Programmable(OTP) area - 1st block OTP
• Internal 2bit EDC / 1bit ECC
• Internal Bootloader supports Booting Solution in system
• Handshaking Feature - INT pin indicates Ready / Busy
- Polling the interrupt register status bit
• Detailed chip information - by ID register
Packaging
• 1Gb products 63ball, 10mm x 13mm x max 1.0mmt , 0.8mm ball pitch FBGA
- 5 -
OneNAND1Gb(KFG1G16U2C-xIB6) FLASH MEMORY
The device operates up to a maximum host-driven clock frequency of 66MHz for synchronous reads at Vcc(or Vccq. Refer to chapter 4.2) with
minimum 6-clock latency. Below 40MHz it is accessible with minimum 3-clock latency. Appropriate wait cycles are determined by programma-
ble read latency.
OneNAND provides for multiple sector read operations by assigning the number of sectors to be read in the sector counter register. The
device includes one block-sized OTP (One Time Programmable) area and user-controlled 1st block OTP(Block 0) that can be used to
increase system security or to provide identification capabilities.
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 ques-
tions, please contact the SAMSUNG branch office near you.
- 6 -
OneNAND1Gb(KFG1G16U2C-xIB6) FLASH MEMORY
It integrates on-chip a single-level-cell (SLC) NAND Flash Array memory with two independent data buffers, boot RAM buffer, a page buffer for
the Flash array, and a one-time-programmable block.
The combination of these memory areas enable high-speed pipelining of reads from host, BufferRAM, Page Buffer, and NAND Flash Array.
Clock speeds up to 66MHz with a x16 wide I/O yields a 108MByte/second bandwidth.
The OneNAND also includes a Boot RAM and boot loader. This enables the device to efficiently load boot code at device startup from the
NAND Array without the need for off-chip boot device.
One block of the NAND Array is set aside as an OTP memory area, and 1st Block (Block 0) can be used as OTP area. This area, available to
the user, can be configured and locked with secured user information.
On-chip controller interfaces enable the device to operate in systems without NAND Host controllers.
- 7 -
OneNAND1Gb(KFG1G16U2C-xIB6) FLASH MEMORY
2.2 Definitions
- 8 -
OneNAND1Gb(KFG1G16U2C-xIB6) FLASH MEMORY
NC NC NC NC
NC NC NC
VCC
DQ7 DQ4 DQ11 DQ10 DQ3 IO
CLK CE DQ2 NC NC A9
INT A0 A1 NC A10 A6
RDY A4 A5 A2 A3 NC
NC NC NC NC
NC NC NC NC
- 9 -
OneNAND1Gb(KFG1G16U2C-xIB6) FLASH MEMORY
NOTE :
Do not leave power supply(Vcc-Core/Vcc-IO, VSS) disconnected.
- 10 -
OneNAND1Gb(KFG1G16U2C-xIB6) FLASH MEMORY
CLK
DataRAM0
CE
Host Interface
DataRAM1
OE NAND Flash
Array
WE
Error
RP
Correction
AVD Internal Registers Logic
INT (Address/Command/Configuration
/Status Registers) OTP
RDY (One Block)
The on-chip internal memory is a single-level-cell (SLC) NAND array used for data storage and code. The internal memory is divided into a
main area and a spare area.
Main Area
The main area is the primary memory array. This main area is divided into Blocks of 64 Pages. Within a Block, each Page is 2KB and is com-
prised of 4 Sectors. Within a Page, each Sector is 512B and is comprised of 256 Words.
Spare Area
The spare area is used for invalid block information and ECC storage. Spare area internal memory is associated with corresponding main
area memory. Within a Block, each Page has four 16B Sectors of spare area. Each spare area Sector is 8 words.
- 11 -
OneNAND1Gb(KFG1G16U2C-xIB6) FLASH MEMORY
Sector
Main Area Spare Area
512B 16B
Page
Main Area Spare Area
512B Sector0 512B Sector1 512B Sector2 512B Sector3 16B Sector0 16B Sector1 16B Sector2 16B Sector3
2KB 64B
Block
Main Area Spare Area
- 12 -
OneNAND1Gb(KFG1G16U2C-xIB6) FLASH MEMORY
The on-chip external memory is comprised of 3 buffers used for Boot Code storage and data buffering.
The BootRAM is a 1KB buffer that receives Boot Code from the internal memory and makes it available to the host at start up.
There are two independent 2KB bi-directional data buffers, DataRAM0 and DataRAM1. These dual buffers enable the host to execute simul-
taneous Read-While load, and Write-While-program operations after Boot Up. During Boot Up, the BootRam is used by the host to initialize
the main memory, and deliver boot code from NAND Flash core to host.
DataRAM1 (2KB)
OTP Block
The external memory is divided into a main area and a spare area. Each buffer is the equivalent size of a Sector.
The main area data is 512B. The spare area data is 16B.
- 13 -
OneNAND1Gb(KFG1G16U2C-xIB6) FLASH MEMORY
{
{
BootRAM 0
BootRAM Sector: (512 + 16) Byte
BootRAM 1
DataRAM 0_0
DataRAM 0_1
DataRAM0
DataRAM 0_2
DataRAM 0_3
DataRAM 1_0
DataRAM 1_1
DataRAM1
DataRAM 1_2
DataRAM 1_3
- 14 -
OneNAND1Gb(KFG1G16U2C-xIB6) FLASH MEMORY
The following tables show the Internal Memory address map in word order.
- 15 -
OneNAND1Gb(KFG1G16U2C-xIB6) FLASH MEMORY
- 16 -
OneNAND1Gb(KFG1G16U2C-xIB6) FLASH MEMORY
- 17 -
OneNAND1Gb(KFG1G16U2C-xIB6) FLASH MEMORY
- 18 -
OneNAND1Gb(KFG1G16U2C-xIB6) FLASH MEMORY
- 19 -
OneNAND1Gb(KFG1G16U2C-xIB6) FLASH MEMORY
- 20 -
OneNAND1Gb(KFG1G16U2C-xIB6) FLASH MEMORY
- 21 -
OneNAND1Gb(KFG1G16U2C-xIB6) FLASH MEMORY
- 22 -
OneNAND1Gb(KFG1G16U2C-xIB6) FLASH MEMORY
- 23 -
OneNAND1Gb(KFG1G16U2C-xIB6) FLASH MEMORY
- 24 -
OneNAND1Gb(KFG1G16U2C-xIB6) FLASH MEMORY
- 25 -
OneNAND1Gb(KFG1G16U2C-xIB6) FLASH MEMORY
- 26 -
OneNAND1Gb(KFG1G16U2C-xIB6) FLASH MEMORY
- 27 -
OneNAND1Gb(KFG1G16U2C-xIB6) FLASH MEMORY
- 28 -
OneNAND1Gb(KFG1G16U2C-xIB6) FLASH MEMORY
- 29 -
OneNAND1Gb(KFG1G16U2C-xIB6) FLASH MEMORY
- 30 -
OneNAND1Gb(KFG1G16U2C-xIB6) FLASH MEMORY
The figure below shows the assignment of the spare area in the Internal Memory NAND Array.
LSB MSB
LSB MSB LSB MSB LSB MSB LSB MSB LSB MSB LSB MSB LSB MSB LSB MSB
{
{
{
{
{
{
{
{
1st W 2nd W 3rd W 4th W 5th W 6th W 7th W 8th W
- 31 -
OneNAND1Gb(KFG1G16U2C-xIB6) FLASH MEMORY
The following table shows the External Memory address map in Word and Byte Order.
Note that the data output is unknown while host reads a register bit of reserved area.
- 32 -
OneNAND1Gb(KFG1G16U2C-xIB6) FLASH MEMORY
The tables below show Word Order Address Map information for the BootRAM and DataRAM main and spare areas.
• BootRAM(Main area)
-0000h~01FFh: 2(sector) x 512byte(NAND main area) = 1KB
0000h~00FFh(512B) 0100h~01FFh(512B)
BootM 0 BootM 1
(sector 0 of page 0) (sector 1 of page 0)
• DataRAM(Main area)
-0200h~09FFh: 8(sector) x 512byte(NAND main area) = 4KB
0200h~02FFh(512B) 0300h~03FFh(512B) 0400h~04FFh(512B) 0500h~05FFh(512B)
DataM 0_0 DataM 0_1 DataM 0_2 DataM 0_3
(sector 0 of page 0) (sector 1 of page 0) (sector 2 of page 0) (sector 3 of page 0)
0600h~06FFh(512B) 0700h~07FFh(512B) 0800h~08FFh(512B) 0900h~09FFh(512B)
DataM 1_0 DataM 1_1 DataM 1_2 DataM 1_3
(sector 0 of page 1) (sector 1 of page 1) (sector 2 of page 1) (sector 3 of page 1)
• BootRAM(Spare area)
-8000h~800Fh: 2(sector) x 16byte(NAND spare area) = 32B
8000h~8007h(16B) 8008h~800Fh(16B)
BootS 0 BootS 1
(sector 0 of page 0) (sector 1 of page 0)
• DataRAM(Spare area)
-8010h~804Fh: 8(sector) x 16byte(NAND spare area) = 128B
8010h~8017h(16B) 8018h~801Fh(16B) 8020h~8027h(16B) 8028h~802Fh(16B)
DataS 0_0 DataS 0_1 DataS 0_2 DataS 0_3
(sector 0 of page 0) (sector 1 of page 0) (sector 2 of page 0) (sector 3 of page 0)
8030h~8037h(16B) 8038h~803Fh(16B) 8040h~8047h(16B) 8048h~804Fh(16B)
DataS 1_0 DataS 1_1 DataS 1_2 DataS 1_3
(sector 0 of page 1) (sector 1 of page 1) (sector 2 of page 1) (sector 3 of page 1)
*NAND Flash array consists of 2KB page size and 128KB block size.
- 33 -
OneNAND1Gb(KFG1G16U2C-xIB6) FLASH MEMORY
Word Byte
Buf. F E D C B A 9 8 7 6 5 4 3 2 1 0
Address Address
8000h 10000h BI
8001h 10002h Managed by Internal ECC logic
8002h 10004h Reserved for the future use Managed by Internal ECC logic
8003h 10006h Reserved for the current and future use
BootS 0
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 ) st 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
8009h 10012h Managed by Internal ECC logic
800Ah 10014h Reserved for the future use Managed by Internal ECC logic
800Bh 10016h Reserved for the current and future use
BootS 1
800Ch 10018h ECC Code for Main area data (2nd) ECC Code for Main area data (1st)
800Dh 1001Ah ECC Code for Spare area data (1 ) st
ECC Code for Main area data (3rd)
800Eh 1001Ch FFh(Reserved for the future use) ECC Code for Spare area data (2nd)
800Fh 1001Eh Free Usage
8010h 10020h BI
8011h 10022h Managed by Internal ECC logic
8012h 10024h Reserved for the future use Managed by Internal ECC logic
DataS 8013h 10026h Reserved for the current and future use
0_0 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 Free Usage
8018h 10030h BI
8019h 10032h Managed by Internal ECC logic
801Ah 10034h Reserved for the future use Managed by Internal ECC logic
DataS 801Bh 10036h Reserved for the current and future use
0_1 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 Free Usage
- 34 -
OneNAND1Gb(KFG1G16U2C-xIB6) FLASH MEMORY
Word Byte
Buf. F E D C B A 9 8 7 6 5 4 3 2 1
Address Address
8020h 10040h BI
8021h 10042h Managed by Internal ECC logic
8022h 10044h Reserved for the future use Managed by Internal ECC logic
8023h 10046h Reserved for the current and future use
DataS 0_2
8024h 10048h ECC Code for Main area data (2nd) ECC Code for Main area data (1st)
8025h 1004Ah ECC Code for Spare area data (1 ) st ECC Code for Main area data (3rd)
8026h 1004Ch Reserved for the future use ECC Code for Spare area data (2nd)
8027h 1004Eh Free Usage
8028h 10050h BI
8029h 10052h Managed by Internal ECC logic
802Ah 10054h Reserved for the future use Managed by Internal ECC logic
802Bh 10056h Reserved for the current and future use
DataS 0_3
802Ch 10058h ECC Code for Main area data (2nd) 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 Reserved for the future use ECC Code for Spare area data (2nd)
802Fh 1005Eh Free Usage
8030h 10060h BI
8031h 10062h Managed by Internal ECC logic
8032h 10064h Reserved for the future use Managed by Internal ECC logic
8033h 10066h Reserved for the current and future use
DataS 1_0
8034h 10068h ECC Code for Main area data (2nd) ECC Code for Main area data (1st)
8035h 1006Ah ECC Code for Spare area data (1st) ECC Code for Main area data (3rd)
8036h 1006Ch Reserved for the future use ECC Code for Spare area data (2nd)
8037h 1006Eh Free Usage
8038h 10070h BI
8039h 10072h Managed by Internal ECC logic
803Ah 10074h Reserved for the future use Managed by Internal ECC logic
803Bh 10076h Reserved for the current and future use
DataS 1_1
803Ch 10078h ECC Code for Main area data (2nd) ECC Code for Main area data (1st)
803Dh 1007Ah ECC Code for Spare area data (1st) ECC Code for Main area data (3rd)
803Eh 1007Ch Reserved for the future use ECC Code for Spare area data (2nd)
803Fh 1007Eh Free Usage
8040h 10080h BI
8041h 10082h Managed by Internal ECC logic
8042h 10084h Reserved for the future use Managed by Internal ECC logic
8043h 10086h Reserved for the current and future use
DataS 1_2
8044h 10088h ECC Code for Main area data (2nd) ECC Code for Main area data (1st)
8045h 1008Ah ECC Code for Spare area data (1 ) st
ECC Code for Main area data (3rd)
8046h 1008Ch Reserved for the future use ECC Code for Spare area data (2nd)
8047h 1008Eh Free Usage
- 35 -
OneNAND1Gb(KFG1G16U2C-xIB6) FLASH MEMORY
Word Byte
Buf. F E D C B A 9 8 7 6 5 4 3 2 1 0
Address Address
8048h 10090h BI
8049h 10092h Managed by Internal ECC logic
804Ah 10094h Reserved for the future use Managed by Internal ECC logic
804Bh 10096h Reserved for the current and future use
DataS 1_3
804Ch 10098h ECC Code for Main area data (2nd) ECC Code for Main area data (1st)
804Dh 1009Ah ECC Code for Spare area data (1st) ECC Code for Main area data (3rd)
804Eh 1009Ch Reserved for the future use ECC Code for Spare area data (2nd)
804Fh 1009Eh Free Usage
NOTE :
- BI: Bad 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.
>In case of ’with ECC’ mode, OneNAND automatically generates ECC code for both main and spare data of memory during program operation,
but does not update ECC code to spare bufferRAM during load operation.
>When loading/programming spare area, spare area BufferRAM address(BSA) and BufferRAM sector count(BSC) is chosen via Start buffer register
as it is.
- 36 -
OneNAND1Gb(KFG1G16U2C-xIB6) FLASH MEMORY
2.8 Registers
Section 2.8 of this specification provides information about the OneNAND registers.
This map describes the register addresses, register name, register description, and host accessibility.
- 37 -
OneNAND1Gb(KFG1G16U2C-xIB6) FLASH MEMORY
- 38 -
OneNAND1Gb(KFG1G16U2C-xIB6) FLASH MEMORY
Device Identification
Register information Description
DeviceID [1:0] Vcc 00 = 1.8V, 01 = 3.3V, 10/11 = reserved
DeviceID [2] Muxed/Demuxed 0 = Muxed, 1 = Demuxed
DeviceID [3] Single/DDP 0 = Single, 1 = DDP
DeviceID [7:4] Density 0000 = 128Mb, 0001 = 256Mb, 0010 = 512Mb, 0011 = 1Gb, 0100 = 2Gb, 0101=4Gb
DeviceID [8] Bottom Boot 0 = Bottom Boot
Device ID Default
Device DeviceID[15:0]
KFG1G16U2C 0035h
- 39 -
OneNAND1Gb(KFG1G16U2C-xIB6) FLASH MEMORY
- 40 -
OneNAND1Gb(KFG1G16U2C-xIB6) FLASH MEMORY
Technology Information
Technology Register Setting
NAND SLC 0000h
NAND MLC 0001h
Reserved 0002h ~ FFFFh
- 41 -
OneNAND1Gb(KFG1G16U2C-xIB6) FLASH MEMORY
This Read/Write register describes the NAND Flash block address which will be loaded, programmed, or erased.
- 42 -
OneNAND1Gb(KFG1G16U2C-xIB6) FLASH MEMORY
This Read/Write register describes the NAND Flash destination block address which will be copy back programmed.
F102h, default = 0000h
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Reserved(000000) FCBA
This Read/Write register describes the NAND Flash destination page address in a block and the NAND Flash destination sector address in a
page for copy back programming.
- 43 -
OneNAND1Gb(KFG1G16U2C-xIB6) FLASH MEMORY
This Read/Write register describes the NAND Flash start page address in a block for a page load, copy back program, or program operation
and the NAND Flash start sector address in a page for a load, copy back program, or program operation.
- 44 -
OneNAND1Gb(KFG1G16U2C-xIB6) FLASH MEMORY
This Read/Write register describes the BufferRAM Sector Count (BSC) and BufferRAM Sector Address (BSA).
The BufferRAM Sector Count (BSC) field specifies the number of sectors to be loaded, programmed, or copy back programmed. At 00 value
(the default value), the number of sector is "4". If the internal RAM buffer reaches its maximum value of 11, it will count up to 0 value to meet
the BSC value. For example, if BSA = 1101, BSC = 00, then the selected BufferRAM will count up from '1101 → 1110 → 1111 → 1100'.
The BufferRAM Sector Address (BSA) is the sector 0~3 address in the internal BootRAM and DataRAM where data is placed.
DataRAM 0_0
1000
DataRAM 0_1
DataRAM0 1001
DataRAM 0_2
1010
DataRAM 0_3
1011
DataRAM 1_0
1100
DataRAM 1_1
DataRAM1 1101
DataRAM 1_2
1110
DataRAM 1_3
1111
- 45 -
OneNAND1Gb(KFG1G16U2C-xIB6) FLASH MEMORY
Command can be issued by two following methods, and user may select one way or the other to issue appropriate command;
1. Write command into Command Register when INT is at ready state. INT will automatically turn to busy state as command is issued. Once
the desired operation is completed, INT will go back ready state.
2. Write 0000h to INT bit of Interrupt Status Register, and then write command into Command Register. Once the desired operation is com-
pleted, INT will go 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
below.)
Acceptable
CMD Operation command
during busy
0000h Load single/multiple sector data unit into buffer 00F0h, 00F3h
0013h Load single/multiple spare sector into buffer 00F0h, 00F3h
0080h 1) 00F0h, 00F3h
Program single/multiple sector data unit from buffer
001Ah Program single/multiple spare data unit from buffer 00F0h, 00F3h
001Bh Copy back Program operation 00F0h, 00F3h
0023h Unlock NAND array a block 00F0h, 00F3h
002Ah Lock NAND array a block 00F0h, 00F3h
002Ch Lock-tight NAND array a block 00F0h, 00F3h
0027h All Block Unlock 2) 00F0h, 00F3h
0071h Erase Verify Read 00F0h, 00F3h
0094h Block Erase 00F0h, 00F3h
0095h Multi-Block Erase 00F0h, 00F3h
00B0h Erase Suspend 00F0h, 00F3h
0030h Erase Resume 00F0h, 00F3h
00F0h Reset NAND Flash Core -
00F3h 3) -
Reset OneNAND
0065h OTP Access 00F0h, 00F3h
NOTE :
1) 0080h programs both main and spare area, while 001Ah programs only spare area. Refer to chapter 5.9 for NOP limits in issuing these commands. When using
0080h and 001Ah command, Read-only part in spare area must be masked by FF. (Refer to chapter 2.7.2)
2) If any blocks are changed to locked-tight state, the all block unlock command will fail. In order to use all block unlock command again, a cold reset is needed.
3) ’Reset OneNAND’(=Hot reset) command makes the registers and NAND Flash core into default state.
- 46 -
OneNAND1Gb(KFG1G16U2C-xIB6) FLASH MEMORY
To clear Interrupt Register in command input, user may select one from either following methods.
First method is to turn INT to low by manually writing 0000h to INT bit of Interrupt Register. 1)
Second method is input command while INT is high, and the device will automatically turn INT to low.1)
(Second method is equivalent with method used in general NAND Flash)
Method 1: Manually set INT=0 before writing command into Command Register: Manual INT Mode
(1) Clear Interrupt Register (F241h) by writing 0000h into INT bit of Interrupt Register. This operation will make INT pin turn low. 1)
(2) Write command into Command Register. This will make the device to perform the designated operation.
(3) INT pin will turn back to high once the operation is completed. 1)
INT pin1)
INT bit
Write 0 into Write command into INT will automatically turn to high
INT bit of Command Register when designated operation is completed.
Interrupt Register
NOTE 1) INT pin polarity is based on ’IOBE=1 and INT pol=1 (default)’ setting
Method 2: Write command into Command Register at INT ready state: Auto INT Mode
(1) Write command into Command Register. This will automatically turn INT from high to low. 1)
(2) INT pin will turn back to high once the operation is completed. 1)
INT pin1)
INT bit
Write command into INT will automatically INT will automatically turn back to ready state
Command Register turn to Busy State when designated operation in completed.
NOTE 1) INT pin polarity is based on ’IOBE=1 and INT pol=1 (default)’ setting
- 47 -
OneNAND1Gb(KFG1G16U2C-xIB6) FLASH MEMORY
- 48 -
OneNAND1Gb(KFG1G16U2C-xIB6) FLASH MEMORY
- 49 -
OneNAND1Gb(KFG1G16U2C-xIB6) FLASH MEMORY
IOBE is the I/O Buffer Enable for the INT and RDY signals. At startup, INT and RDY outputs are High-Z. Bits 6 and 7 become valid after
IOBE is set to "1". IOBE can be reset by a Cold Reset or by writing "0" to bit 5 of System Configuration1 Register.
- 50 -
OneNAND1Gb(KFG1G16U2C-xIB6) FLASH MEMORY
This Read register shows the overall internal status of the OneNAND and the controller.
OnGo
This bit shows the overall internal status of the OneNAND device.
OnGo Information[15]
Item Definition Description
0 = ready
OnGo Internal Device Status
1 = busy
Lock
This bit shows whether the host is loading data from the NAND Flash array into the locked BootRAM or whether the host is performing a pro-
gram/erase of a locked block of the NAND Flash array.
Lock Information[14]
Lock Locked/Unlocked Check Result
0 Unlocked
1 Locked
Load
Load Information[13]
Item Definition Description
0 = ready (default)
Load Load Operation status
1 = busy or error (see controller status output modes)
- 51 -
OneNAND1Gb(KFG1G16U2C-xIB6) FLASH MEMORY
Program
This bit shows the Program Operation status.
Program Information[12]
Item Definition Description
0 = ready (default)
Prog Program Operation status
1 = busy or error (see controller status output modes)
Erase
Erase Information[11]
Item Definition Description
0 = ready (default)
Erase Erase Operation status
1 = busy or error (see controller status output modes)
Error
This bit shows the overall Error status, including Load Reset, Program Reset, and Erase Reset status.
Error Information[10]
Sector/Page Load/Program/CopyBack Program
Error
and Invalid Command Input
0 Pass
1 Fail
Sus Information[9]
Sus Erase Suspend Status
0 Erase Resume(Default)
Erase Suspend, Program Ongoing(Susp.), Load Ongoing(Susp.),
1
Program Fail(Susp.), Load Fail(Susp.), Invalid Command(Susp.)
- 52 -
OneNAND1Gb(KFG1G16U2C-xIB6) FLASH MEMORY
RSTB Information[7]
Item Definition Description
0 = ready (default)
RSTB Reset Operation Status
1 = busy (see controller status output modes)
This bit shows whether the OTP block is locked or unlocked. Locking the OTP has the effect of a 'write-protect' to guard against accidental re-
programming of data stored in the OTP block.
The OTPL status bit is automatically updated at power-on.
This bit shows whether the 1st Block OTP is locked or unlocked.
Locking the 1st Block OTP has the effect of a 'Program/Erase protect' to guard against accidental re-programming of data stored in the 1st
block.
The OTPBL status bit is automatically updated at power-on.
This bit determines if there is a time out for load, program, copy back program, and erase operations. It is fixed at 'no time out'.
TO Information[0]
Item Definition Description
TO Time Out 0 = no time out
- 53 -
OneNAND1Gb(KFG1G16U2C-xIB6) FLASH MEMORY
NOTE :
1) ERm and/or ERs bits in ECC status register at Load Fail case is 10. (2bits error - uncorrectable)
If 2 bit error occurs during Synchronous Burst Block Read Operation, Load Fail mode will be shown.
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) "1" for OTP Block Lock, "0" for OTP Block Unlock.
5) "1" for 1st Block OTP Lock, "0" for 1st Block OTP Unlock.
- 54 -
OneNAND1Gb(KFG1G16U2C-xIB6) FLASH MEMORY
F241h, defaults = 8080h after Cold Reset; 8010h after Warm/Hot Reset
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
INT Reserved(0000000) RI WI EI RSTI Reserved(0000)
Interrupt (INT)
This is the master interrupt bit. The INT bit is wired directly to the INT pin on the chip. Upon writing '0' to the INT bit, the INT pin goes low if
INTpol is high and goes high if INTpol is low.
1 1 0 off
One or more of RI, WI, RSTI and EI is set to ’1’, or
sets itself to ’1’ 0065h, 0023h, 0071h, 002Ah, 0027h and 002Ch 0→ 1 Pending
commands are completed.
’0’ is written to this bit,
Cold/Warm/Hot reset is being performed, or
clears to ’0’ 1→ 0 off
command is written to Command Register in INT
auto mode
RI Interrupt [7]
Default State Valid Interrupt
Status Conditions
Cold Warm/hot State Function
1 0 0 off
At the completion of an Load Operation
sets itself to ’1’ (0000h, 000Eh, 000Ch, 000Ah, 0013h, 0→ 1 Pending
Load Data into Buffer, or boot is done)
’0’ is written to this bit,
Cold/Warm/Hot reset is being performed, or
clears to ’0’ 1→ 0 off
command is written to Command Register in INT
auto mode
- 55 -
OneNAND1Gb(KFG1G16U2C-xIB6) FLASH MEMORY
WI Interrupt [6]
Default State Valid Interrupt
Status Conditions
Cold Warm/hot State Function
0 0 0 off
At the completion of an Program Operation
sets itself to ’1’ 0→ 1 Pending
(0080h, 001Ah, 001Bh)
’0’ is written to this bit,
Cold/Warm/Hot reset is being performed, or com-
clears to ’0’ 1→ 0 off
mand is written to Command Register in INT auto
mode
EI Interrupt [5]
Default State Valid Interrupt
Status Conditions
Cold Warm/hot State Function
0 0 0 off
At the completion of an Erase Operation
sets itself to ’1’ 0→ 1 Pending
(0094h, 0095h, 0030h)
’0’ is written to this bit,
Cold/Warm/Hot reset is being performed, or com-
clears to ’0’ 1→ 0 off
mand is written to Command Register in INT auto
mode
0 1 0 off
At the completion of an Reset Operation
sets itself to ’1’ (00B0h, 00F0h, 00F3h or 0→ 1 Pending
warm reset is released)
’0’ is written to this bit, or
clears to ’0’ command is written to Command Register in INT 1→ 0 off
auto mode
- 56 -
OneNAND1Gb(KFG1G16U2C-xIB6) FLASH MEMORY
This Read/Write register shows the NAND Flash block address in the Write Protection mode. Setting this register precedes a 'Lock Block'
command, 'Unlock Block' command, or ’Lock-Tight' Command.
SBA Information[9:0]
Item Definition Description
SBA Start Block Address Precedes Lock Block, Unlock Block, or Lock-Tight commands
This Read register shows the Write Protection Status of the NAND Flash memory array.
To read the write protection status, FBA has to be set before reading the register.
- 57 -
OneNAND1Gb(KFG1G16U2C-xIB6) FLASH MEMORY
This Read register shows the Error Correction Status. The OneNAND can detect 1- or 2-bit errors and correct 1-bit errors. 3-bit or more error
detection and correction is not supported.
ECC can be performed on the NAND Flash main and spare memory areas. The ECC status register can also show the number of errors in a
sector as a result of an ECC check in during a load operation. ECC status bits are also updated during a boot loading operation.
ECC registers will be reset when another command is issued.
Error Status
ERm, ERs ECC Status
00 No Error
01 1 bit error(correctable)
10 2 bit error (uncorrectable)
11 Reserved
ECC Information[15:0]
Item Definition Description
Status of errors in the 1st selected sector of the main BufferRAM
1st selected sector of
ERm0 as a result of an ECC check during a load operation.
the main BufferRAM
Also updated during a Bootload operation.
Status of errors in the 2nd selected sector of the main BufferRAM
2nd selected sector of
ERm1 as a result of an ECC check during a load operation.
the main BufferRAM
Also updated during a Bootload operation.
Status of errors in the 3rd selected sector of the main BufferRAM
3rd selected sector of
ERm2 as a result of an ECC check during a load operation.
the main BufferRAM
Also updated during a Bootload operation.
Status of errors in the 4th selected sector of the main BufferRAM
4th selected sector of
ERm3 as a result of an ECC check during a load operation.
the main BufferRAM
Also updated during a Bootload operation.
Status of errors in the 1st selected sector of the spare BufferRAM
1st selected sector of
ERs0 as a result of an ECC check during a load operation.
the spare BufferRAM
Also updated during a Bootload operation.
Status of errors in the 2nd selected sector of the spare BufferRAM
2nd selected sector of
ERs1 as a result of an ECC check during a load operation.
the spare BufferRAM
Also updated during a Bootload operation.
Status of errors in the 3rd selected sector of the spare BufferRAM
3rd selected sector of
ERs2 as a result of an ECC check during a load operation.
the spare BufferRAM
Also updated during a Bootload operation.
Status of errors in the 4th selected sector of the spare BufferRAM
4th selected sector of
ERs3 as a result of an ECC check during a load operation.
the spare BufferRAM
Also updated during a Bootload operation.
- 58 -
OneNAND1Gb(KFG1G16U2C-xIB6) FLASH MEMORY
2.8.27 ECC Result of 1st Selected Sector, Main Area Data Register FF01h (R)
This Read register shows the Error Correction result for the 1st selected sector of the main area data. ECCposWord0 is the error position
address in the Main Area data of 256 words. ECCposIO0 is the error position address which selects 1 of 16 DQs. ECCposWord0 and
ECCposIO0 are also updated at boot loading.
2.8.28 ECC Result of 1st Selected Sector, Spare Area Data Register FF02h (R)
This Read register shows the Error Correction result for the 1st selected sector of the spare area data. ECClogSector0 is the error position
address for 1.5 words of 2nd and 3rd words in the spare area. ECCposIO0 is the error position address which selects 1 of 16 DQs.
ECClogSector0 and ECCposIO0 are also updated at boot loading.
2.8.29 ECC Result of 2nd Selected Sector, Main Area Data Register FF03h (R)
This Read register shows the Error Correction result for the 2nd selected sector of the main area data. ECCposWord1 is the error position
address in the Main Area data of 256 words. ECCposIO1 is the error position address which selects 1 of 16 DQs. ECCposWord1 and
ECCposIO1 are also updated at boot loading.
2.8.30 ECC Result of 2nd Selected Sector, Spare Area Data Register FF04h (R)
This Read register shows the Error Correction result for the 2nd selected sector of the spare area data. ECClogSector1 is the error position
address for 1.5 words of 2nd and 3rd words in the spare area. ECCposIO1 is the error position address which selects 1 of 16 DQs.
ECClogSector1 and ECCposIO1 are also updated at boot loading.
- 59 -
OneNAND1Gb(KFG1G16U2C-xIB6) FLASH MEMORY
2.8.31 ECC Result of 3rd Selected Sector, Main Area Data Register FF05h (R)
This Read register shows the Error Correction result for the 3rd selected sector of the main area data. ECCposWord2 is the error position
address in the Main Area data of 256 words. ECCposIO2 is the error position address which selects 1 of 16 DQs. ECCposWord2 and
ECCposIO2 are also updated at boot loading.
2.8.32 ECC Result of 3rd Selected Sector, Spare Area Data Register FF06h (R)
This Read register shows the Error Correction result for the 3rd selected sector of the spare area data. ECClogSector2 is the error position
address for 1.5 words of 2nd and 3rd words in the spare area. ECCposIO2 is the error position address which selects 1 of 16 DQs.
ECClogSector2 and ECCposIO2 are also updated at boot loading.
2.8.33 ECC Result of 4th Selected Sector, Main Area Data Register FF07h (R)
This Read register shows the Error Correction result for the 4th selected sector of the main area data. ECCposWord3 is the error position
address in the Main Area data of 256 words. ECCposIO3 is the error position address which selects 1 of 16 DQs. ECCposWord3 and
ECCposIO3 are also updated at boot loading.
2.8.34 ECC Result of 4th Selected Sector, Spare Area Data Register FF08h (R)
This Read register shows the Error Correction result for the 4th selected sector of the spare area data. ECClogSector3 is the error position
address for 1.5 words of 2nd and 3rd words in the spare area. ECCposIO3 is the error position address which selects 1 of 16 DQs.
ECClogSector3 and ECCposIO3 are also updated at boot loading.
- 60 -
OneNAND1Gb(KFG1G16U2C-xIB6) FLASH MEMORY
ECClogSector0~ECClogSector3 indicates the error position in the 2nd word and LSB of 3rd word in the spare area.
Refer to note 2 in chapter 2.7.2
- 61 -
OneNAND1Gb(KFG1G16U2C-xIB6) FLASH MEMORY
The OneNAND supports a limited command-based interface in addition to a register-based interface for performing operations on the
device.
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 out-
side 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 including address and data to the boot partition or writing an improper command will terminate the previous com-
mand sequence and make the device enter the ready status.
The defined valid command sequences are stated in Command Sequences Table.
Command based operations are mainly used when OneNAND is used as Booting device, and all command based operations only supports
asynchronous reads and writes.
Command Sequences
Command Definition Cycles 1st cycle 2nd cycle
Add BP1)
Reset OneNAND 1
Data 00F0h
Add BP BP
Load Data into Buffer2) 2
Data 00E0h 0000h3)
Add BP XXXXh4)
Read Identification Data 5) 2
Data 0090h Data
NOTE :
1) BP(Boot Partition) : BootRAM Area [0000h ~ 01FFh, 8000h ~ 800Fh].
2) Load Data into Buffer operation is available within a block(128KB)
3) Load 2KB unit into DataRAM0. Current Start address(FPA) is automatically incremented by 2KB unit after the load.
4) 0000h -> Data is Manufacturer ID
0001h -> Data is Device ID
0002h -> Current Block Write Protection Status for mono chip
5) WE toggling can terminate ’Read Identification Data’ operation.
- 62 -
OneNAND1Gb(KFG1G16U2C-xIB6) FLASH MEMORY
The Reset command is given by writing 00F0h to the boot partition address. Reset will return all default values into the device.
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.
The 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 Identification Data Description
Table.
- 63 -
OneNAND1Gb(KFG1G16U2C-xIB6) FLASH MEMORY
Burst Data X
Burst Read L L H X H
Out
- 64 -
OneNAND1Gb(KFG1G16U2C-xIB6) FLASH MEMORY
The Register Reset Table shows the which registers are affected by the various types or Reset operations.
- 65 -
OneNAND1Gb(KFG1G16U2C-xIB6) FLASH MEMORY
At system power-up, the voltage detector in the device detects the rising edge of Vcc and releases an internal power-up reset signal. This trig-
gers bootcode loading. Bootcode loading means that the boot loader in the device copies designated sized data (1KB) from the beginning of
memory into the BootRAM. This sequence is the Cold Reset of OneNAND.
The POR(Power On Reset) triggering level is typically 1.8V. Boot code copy operation activates typically 500us(max. 2ms) after POR.
Therefore, the system power should reach 2.2V within 400us from the POR triggering level for bootcode data to be validid.
It takes typically 500us(max. 2ms) to copy 1KB of bootcode. Upon completion of loading into the BootRAM, it is available to be read by the
host. The INT pin is not available until after IOBE = 1 and IOBE bit can be changed by host.
A Warm Reset means that the host resets the device by using the RP pin. When the a RP low is issued, the device logic stops all current oper-
ations and executes internal reset operation and resets current NAND Flash core operation synchronized with the falling edge of RP.
During an Internal Reset Operation, the device initializes internal registers and makes output signals go to default status.
The BufferRAM data is kept unchanged after Warm/Hot reset operations.
The device guarantees the logic reset operation in case RP pulse is longer than tRP min(200ns).
The device may reset if tRP < tRP min(200ns), but this is not guaranteed.
Warm reset will abort the current NAND Flash core operation. During a warm reset, the content of memory cells being altered is no longer
valid as the data will be partially programmed or erased.
A Hot Reset means that the host resets the device by Reset command. The reset command can be either Command based or Register
Based. Upon receiving the Reset command, the device logic stops all current operation and executes an internal reset operation and resets
the current NAND Flash core operation.
During an Internal Reset Operation, the device initializes internal registers and makes output signals go to default status. The BufferRAM data
is kept unchanged after Warm/Hot reset operations.
The Host can reset the NAND Flash Core operation by issuing a NAND Flash Core reset command. NAND Flash core reset will abort the cur-
rent NAND Flash core operation. During a NAND Flash core reset, the content of memory cells 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.
- 66 -
OneNAND1Gb(KFG1G16U2C-xIB6) FLASH MEMORY
At system power-up, voltage detector in the device detects the rising edge of Vcc and releases the internal power-up reset signal which trig-
gers bootcode loading. And the designated size data(1KB) is copied from the first page of the first block in the NAND flash array to the
BootRAM.
After the bootcode loading is completed, the BootRAM is always locked to protect the boot code from the accidental write.
The device has both hardware and software write protection of the NAND Flash array.
Lock (002Ah) and Lock-tight (002Ch) commands write protects the block defined in the Start Block Address Register F24Ch.
There are three lock states in the NAND Array: unlocked, locked, and locked-tight.
OneNAND1Gb supports lock/unlock/lock-tight by one block, and All Block Unlock at once. If any blocks are changed to locked-tight state, the
all block unlock command will fail. In order to use all block unlock command again, a cold reset is needed.
Write Protection Status
The current block 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 FBA is set, and when Write Protection
command is entered.
- 67 -
OneNAND1Gb(KFG1G16U2C-xIB6) FLASH MEMORY
An Unlocked block can be programmed or erased. The status of an unlocked block can be changed to locked or locked-tight using the appro-
priate software command. (locked-tight state can be achieved via lock-tight command which follows lock command)
Only one block can be released from lock state to unlock state with Unlock command and addresses. The unlocked block can be changed
with new lock command. Therefore, each block has its own lock/unlock/lock-tight state.
If any blocks are changed to locked-tight state, the all block unlock command will fail. In order to use all block unlock command again, a cold
reset is needed.
Unlocked
Unlocked
NOTE :
Even though SBA is fixed to 000h, Unlock will be done for all block.
A Locked block cannot be programmed or erased. All blocks default to a locked state following a Cold or Warm Reset. Unlocked blocks can be
changed to locked using the Lock block command. The status of a locked block can be changed to unlocked or locked-tight using the appro-
priate software command.
Locked
- 68 -
OneNAND1Gb(KFG1G16U2C-xIB6) FLASH MEMORY
A block that is in a locked-tight state can only be changed to locked state after a Cold or Warm Reset. Unlock and Lock command sequences
will not affect its state. This is an added level of write protection security. If any blocks are changed to locked-tight state, the all block unlock
command will fail. In order to use all block unlock command again, a cold reset is needed.
A block must first be set to a locked state before it can be changed to locked-tight using the Lock-tight command.
Locked-tight
unlock
RP pin: High
&
Start block address (000h)
RP pin: High +All Block Unlock Command
Lock
&
Start block address unlock
Lock block Command Lock
or RP pin: High
Cold reset or &
Warm reset Start block address
+Unlock block Command
Lock Power On
RP pin: High
&
Start block address Cold reset or
Warm reset
+Lock-tight block Command
Lock
Lock-tight
Lock
*NOTE : If the 1st Block is set to be OTP, Block 0 will always be Lock Status
- 69 -
OneNAND1Gb(KFG1G16U2C-xIB6) FLASH MEMORY
Start
Write ’lock/unlock/lock-tight’
Command
Add: F220h
DQ=002Ah/0023h/002Ch
Read Controller
Status Register
Add: F240h DQ[10]=0(pass)
Lock/Unlock/Lock-Tight
completed
NOTE : 1) ’Write 0 to interrupt register’ step may be ignored when using INT auto mode. Refer to chapter 2.8.18.1
- 70 -
OneNAND1Gb(KFG1G16U2C-xIB6) FLASH MEMORY
Start
Read Controller
Status Register
Add: F240h DQ[10]=0(pass)
NOTE : 1) ’Write 0 to interrupt register’ step may be ignored when using INT auto mode. Refer to chapter 2.8.18.1
** If any blocks are changed to locked-tight state, the all block unlock command will fail.
In order to use all block unlock command again, a cold reset is needed.
- 71 -
OneNAND1Gb(KFG1G16U2C-xIB6) FLASH MEMORY
- 72 -
OneNAND1Gb(KFG1G16U2C-xIB6) FLASH MEMORY
The device is designed to offer protection from any involuntary program/erase during power-transitions.
RP pin which provides hardware protection is recommended to be kept at VIL before Vcc drops to 1.8V.
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 ini-
tiate the load.
Once the BufferRAM has been filled, an interrupt is issued to the host so that the contents of the BufferRAM can be read. The read from the
BufferRAM can be an asynchronous read mode or synchronous read mode. The status information related to load operation can be checked
by the host if required.
The device has a dual data buffer memory architecture (DataRAM0, DataRAM1), each 2KB in size. Each DataRAM buffer has 4 Sectors. The
device is capable of independent and simultaneous data-read operation from one data buffer and data-load operation to the other data buffer.
Refer to the information for more details in section 3.12.1, "Read-While-Load Operation".
Read completed
NOTE :
1) ’Write 0 to interrupt register’ step may be ignored when using INT auto mode. Refer to chapter 2.8.18.1
- 73 -
OneNAND1Gb(KFG1G16U2C-xIB6) FLASH MEMORY
The device has two read modes; Asynchronous Read and Synchronous Burst Read.
The initial state machine automatically sets the device into the Asynchronous Read Mode (RM=0) to prevent the spurious altering of memory
content upon device power up or after a Hardware reset. No commands are required to retrieve data in Asynchronous Read Mode.
The Synchronous Read Mode is enabled by setting RM bit of System Configuration1 Register (F221h) to Synchronous Read Mode (RM=1).
See Section 2.8.19 for more information about System Configuration1 Register.
In an Asynchronous Read Mode, data is output with respect to a logic input, AVD.
Output data will appear on DQ15-DQ0 when a valid address is asserted on A15-A0 while driving AVD and CE to VIL. WE is held at VIH. The
function of the AVD signal is to latch the valid address.
Not Support
Address access time from AVD low (tAA) is equal to the delay from valid addresses to valid output data.
Not Support
The Chip Enable access time (tCE) is equal to 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.
Not Support
Not Support
Not Support
3.7.2 Synchronous Read Mode Operation (RM=1)
See Timing Diagrams 6.1 and 6.2
The device is capable of a continuous linear burst operation and a fixed-length linear burst operation of a preset length. Burst address
sequences for continuous and fixed-length burst operations are shown in the table below.
In the burst mode, the initial word will be output asynchronously, regardless of BRL. While the following words will be determined by BRL
value.
The latency is determined by the host based on the BRL bit setting in the System Configuration 1 Register. The default BRL is 4 latency
cycles. At clock frequencies of 40MHz or lower, latency cycles can be reduced to 3. BRL can be set up to 7 latency cycles.
The BRL registers can be read during a burst read mode by using the AVD signal with an address.
- 74 -
OneNAND1Gb(KFG1G16U2C-xIB6) FLASH MEMORY
An alternate Burst Read Mode enables a fixed number of words to be read from consecutive address.
The device supports a burst read from consecutive addresses of 4-, 8-, 16-, and 32-words with a linear-wrap around. When the last word in
the burst has been reached, assert CE and OE high to terminate the operation.
In this mode, the start address for the burst read can be any address of the address map with one exception. The device does not support a
32-word linear burst read on the spare area of the BufferRAM.
- 75 -
OneNAND1Gb(KFG1G16U2C-xIB6) FLASH MEMORY
Upon power up, the number of initial clock cycles from Valid Address (AVD) to initial data defaults to four clocks.
The number of clock cycles (n) which are inserted after the clock which is latching the address. The host can read the first data with the
(n+1)th rising edge.
The number of total initial access cycles is programmable from three to seven cycles. After the number of programmed burst clock cycles is
reached, the rising edge of the next clock cycle triggers the next burst data.
≈
CLK
≈
-1 0 1 2 3 4
≈
AVD
tBA
A0: Valid
A15 Address
DQ0:
≈
D6 D7 D0 D1 D2 D3 D7 D0
DQ15
tIAA
OE tRDYS
Hi-Z ≈
≈ Hi-Z
RDY tRDYA
*NOTE :
BRL=4 is recommended for 40MHz~66MHz.
Also, for frequency under 40MHz, BRL can be reduced to 3.
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 cycles for optimal burst mode, the host should use the programmable burst read latency configuration (see Section
2.8.19, "System Configuration1 Register").
The rising edge of RDY which is derived at one cycle prior of data fetch clock indicates the initial word of valid burst data.
- 76 -
OneNAND1Gb(KFG1G16U2C-xIB6) FLASH MEMORY
The Program operation is used to program data from the on-chip BufferRAMs into the NAND FLASH memory array.
The device has two 2KB data buffers, each 1 Page (2KB + 64B) in size. Each page has 4 sectors of 512B each main area and 16B spare area.
The device can be programmed in units of 1~4 sectors.
The architecture of the DataRAMs permits a simultaneous data-write operation from the Host to one of data buffers and a program operation
from the other data buffer to the NAND Flash Array memory. Refer to Section 3.12.2, "Write While Program Operation", for more information.
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
: :
From the LSB page to MSB page Ex.) Random page program (Prohibition)
DATA IN: Data (1) Data (64) DATA IN: Data (1) Data (64)
- 77 -
OneNAND1Gb(KFG1G16U2C-xIB6) FLASH MEMORY
DQ[10]=0?
YES NO
NOTE :
1) Data input could be done anywhere between "Start" and "Write Program Command".
2) ’Write 0 to interrupt register’ step may be ignored when using INT auto mode. Refer to chapter 2.8.18.1 .
During the execution of the Internal Program Routine, the host is not required to provide any further controls or timings. Furthermore, all com-
mands, except a Reset command, will be ignored. A reset during a program operation will cause data corruption at the corresponding location.
If a program error is detected at the completion of the Internal Program Routine, map out the block, including the page in error, and copy the
target data to another block. An error is signaled if DQ10 = "1" of Controller Status Register(F240h) .
Data input from the Host to the DataRAM can be done at any time during the Internal Program Routine after "Start" but before the "Write Pro-
gram Command" is written.
- 78 -
OneNAND1Gb(KFG1G16U2C-xIB6) FLASH MEMORY
Data from the source page is saved in one of the on-chip DataRAM buffers and then programmed directly into the destination page. The Dat-
aRAM is overwritten the previous data using the Buffer Sector Address (BSA) and Buffer Sector Count (BSC).
The Copy-Back Program Operation does this by performing sequential page-reads without a serial access and executing a copy-program
using the address of the destination page.
NOTE :
1) Selected DataRAM by BSA & BSC is used for Copy back operation, so previous data is overwritten.
2) FBA, FPA and FSA should be input prior to FCBA, FCPA and FCSA.
3) ’Write 0 to interrupt register’ step may be ignored when using INT auto mode. Refer to chapter 2.8.18.1
- 79 -
OneNAND1Gb(KFG1G16U2C-xIB6) FLASH MEMORY
• Data is read from the NAND Array using Flash Block Address (FBA), Flash Page Address (FPA) and
Flash Sector Address (FSA). FBA, FPA, and FSA identify the source address to read data from NAND Flash array.
• The BufferRAM Sector Count (BSC) and BufferRAM Sector Address (BSA) identifies how many sectors
and the location of the sectors in DataRAM that are used.
• The destination address in the NAND Array is written using the Flash Copy-Back Block Address (FCBA),
Flash Copy-Back Page Address (FCPA), and Flash Copy-Back Sector Address (FCSA).
• Upon completion of copy-back programming to the destination page address, the Host checks the status
to see if the operation was successfully completed. If there was an error, map out the block including the
page in error and copy the target data to another block.
- 80 -
OneNAND1Gb(KFG1G16U2C-xIB6) FLASH MEMORY
The Copy-Back Program Operation with Random Data Input in OneNAND consists of 2 phase, Load data into DataRAM, Modify data and pro-
gram into designated page. Data from the source page is saved in one of the on-chip DataRAM buffers and modified by the host, then pro-
grammed 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.
NO
Start DQ[10]=0? Map Out
YES
Write ’FBA’ of Flash
Random Data Input
Add: F100h DQ=FBA
Add: Random Address in
Selected DataRAM
Write ’FPA, FSA’ of Flash DQ=Data
Add: F107h DQ=FPA, FSA DQ[10]=0?
Read Controller
NO
DQ[6]=1? Status Register ‘Lock’ bit high
Add: F240h DQ[14]=Lock
YES
Read Controller
Status Register
Add: F240h DQ[10]=Error
Copy back Program Lock Error
NOTE :
1) ’Write 0 to interrupt register’ step may be ignored when using INT auto mode.
Refer to chapter 2.8.18.1
- 81 -
OneNAND1Gb(KFG1G16U2C-xIB6) FLASH MEMORY
The Block Erase Operation is done on a block basis. To erase a block is to write all 1's into the desired memory block by executing the Internal
Erase Routine. All previous data is lost.
Start
NO Read Controller
DQ[5]=1?
Status Register ‘Lock’ bit high
YES Add: F240h DQ[14]=Lock
Read Controller
Status Register
Add: F240h DQ[10]=Error
Erase Lock Error
DQ[10]=0?
YES NO
NOTE :
1) ’Write 0 to interrupt register’ step may be ignored when using INT auto mode. Refer to chapter 2.8.18.1
- 82 -
OneNAND1Gb(KFG1G16U2C-xIB6) FLASH MEMORY
In order to perform the Internal Erase Routine, the following command sequence is necessary.
• The 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, all commands, except
the Reset command and Erase Suspend Command, written to the device will be ignored.
A reset during an erase operation will cause data corruption at the corresponding location.
Using Multi-Block Erase, the device can be erased up to 64 multiple blocks simultaneously.
Multiple blocks can be erased by issuing a Multi-Block Erase command and writing the block address of the memory location to be erased.
The final Flash Block Address (FBA) and Block Erase command initiate the internal multi block erase routine. During a Multi-Block Erase, the
OnGo bit of the Controller Status Register is set to '1'(busy) from the time that the first block address to be latched is written to the time that
the actual erase operation finishes.
During block address latch sequence, issuing of other commands except Block Erase, and Multi Block Erase at INT=High will abort the current
operation. So to speak, It will cancel the previously latched addresses of Multi Block Erase Operation.
On the other hand, Other command issue at INT=low will be ignored.
A reset during an erase operation will cause data corruption at the address location being operated on during the reset.
Despite a failed block during Multi-Block Erase operation, the device will continue the erase operation until all other specified blocks are
erased.
Erase Suspend Command issue during Multi Block Erase Address latch sequence is prohibited.
Locked Blocks
If there are locked blocks in the specified range, the Multi-Block Erase operation works as the follows.
Case 2: Multi-Block Erase Operation fails to start if the last Block Erase command is put together with the locked block address until right com-
mand and address input are issued.
- 83 -
OneNAND1Gb(KFG1G16U2C-xIB6) FLASH MEMORY
After a Multi-Block Erase Operation, verify Erase Operation result of each block with Multi-Block Erase Verify Command combined with
address of each block.
Multi Block Erase/ Multi Block Erase Verify Read Flow Chart
NOTE :
1) ’Write 0 to interrupt register’ step may be ignored when using INT auto mode. Refer to chapter 2.8.18.1
- 84 -
OneNAND1Gb(KFG1G16U2C-xIB6) FLASH MEMORY
The Erase Suspend/Erase Resume Commands interrupt and restart a Block Erase or Multi-Block Erase operation so that user may perform
another urgent operation on the block that is not being designated by Erase/Multi-Block Erase Operation.
After the erase operation has been suspended, the device is ready for the next operation including a load, program, copy-back program, Lock,
Unlock, Lock-tight, Hot Reset, NAND Flash Core Reset, Command Based Reset, Multi-Block Erase Read Verify, or OTP Access.
The subsequent operation can be to any block that was NOT being erased.
A special case arises pertaining Erase Suspend to the OTP. A Reset command is used to exit from the OTP Access mode. If the Reset-trig-
gered exit from the OTP Access Mode happens during an Erase Suspend Operation, the erase routine could fail. Therefore to exit from the
OTP Access Mode without suspending the erase operation stop, a 'NAND Flash Core Reset' command should be issued.
For the duration of the Erase Suspend period the following commands are not accepted:
• Block Erase/Multi-Block Erase/Erase Suspend
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.
3) ’Write 0 to interrupt register’ step may be ignored when using INT auto mode. Refer to chapter 2.8.18.1
- 85 -
OneNAND1Gb(KFG1G16U2C-xIB6) FLASH MEMORY
Erase Resume
When the Erase Resume command is executed, the Block Erase will restart. The Erase Resume operation does not actually resume the
erase, but starts it again from the beginning.
When an Erase Suspend or Erase Resume command is executed, the addresses are in Don't Care state.
For Multi Block Erase, Erase suspend/Resume can be operated after final Erase command (0094h) is issued. Therefore, Erase Resume oper-
ation does not actually resume from the erased block, but resumes the multi block erase from the beginning.
The OTP block can be read, programmed and locked using the same operations as any other NAND Flash Array memory block.
OTP block cannot be erased.
Three Possible OTP Lock Sequence (Refer to Chapter 3.14.3~3.14.5 for more information)
Since OTP Block and 1st Block OTP can be locked only by programming into 8th word of sector0, page0 of the spare memory area of OTP,
OTP Block and 1st Block OTP lock sequence is restricted into three following cases.
Note that user should be careful, because locking OTP Block before locking 1st Block OTP will disable locking 1st Block OTP.
- 86 -
OneNAND1Gb(KFG1G16U2C-xIB6) FLASH MEMORY
Page:2KB+64B
Sector(main area):512B
One Block:
64pages
128KB+4KB
User Area :
50pages
page 0 to page 49
Page:2KB+64B
Sector(main area):512B
One Block:
Sector(spare area):16B
64pages
128KB+4KB
User Area :
64pages
page 0 to page 63
- 87 -
OneNAND1Gb(KFG1G16U2C-xIB6) FLASH MEMORY
An OTP Block Load Operation accesses the OTP area and transfers identified content from the OTP to the DataRAM on-chip buffer,
thus making the OTP contents available to the Host.
The OTP area is a separate part of the NAND Flash Array memory. It is accessed by issuing OTP Access command(65h) instead of
a Flash Block Address (FBA) command.
After being accessed with the OTP Access Command, the contents of OTP memory area are loaded using the same operations
as a normal load operation to the NAND Flash Array memory (see section 3.6 for more information).
To exit the OTP access mode following an OTP Block Load Operation, a Cold-, Warm-, Hot-, or NAND Flash Core Reset operation is per-
formed.
Start
OTP Exit
NOTE :
1) FBA(NAND Flash Block Address) could be omitted or any address.
2) ’Write 0 to interrupt register’ step may be ignored when using INT auto mode. Refer to chapter 2.8.18.1
- 88 -
OneNAND1Gb(KFG1G16U2C-xIB6) FLASH MEMORY
An OTP Block Program Operation accesses the OTP area and programs content from the DataRAM on-chip buffer to the designated page(s)
of the OTP.
A memory location in the OTP area can be programmed only one time (no erase operation permitted).
The OTP area is programmed using the same sequence as normal program operation after being accessed by the command (see section 3.8
for more information).
- 89 -
OneNAND1Gb(KFG1G16U2C-xIB6) FLASH MEMORY
YES
Data Input NO Update Controller
Wait for INT register Status Register
Completed? low to high transition
Add: F240h
Add: F241h DQ[15]=INT DQ[14]=1(Lock), DQ[10]=1(Error)
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.
4) ’Write 0 to interrupt register’ step may be ignored when using INT auto mode. Refer to chapter 2.8.18.1
- 90 -
OneNAND1Gb(KFG1G16U2C-xIB6) FLASH MEMORY
Even though the OTP area can only be programmed once without erase capability, it can be locked when the device starts up to prevent any
changes from being made.
Unlike the main area of the NAND Flash Array memory, once the OTP block is locked, it cannot be unlocked, for locking bit for both
blocks lies in the same word of OTP area.
Therefore, if OTP Block is locked prior to 1st Block OTP lock, 1st Block OTP cannot be locked.
At device power-up, this word location is checked and if XXFCh is found, the OTPL bit of the Controller Status Register is set to "1", indicating
the OTP is locked. When the Program Operation finds that the status of the OTP is locked, the device updates the Error Bit of the Controller
Status Register as "1" (fail).
- 91 -
OneNAND1Gb(KFG1G16U2C-xIB6) FLASH MEMORY
Do Cold reset
Automatically
updated
Update Controller
Status Register
Add: F240h
DQ[6]=1(OTPL)
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.
4) ’Write 0 to interrupt register’ step may be ignored when using INT auto mode. Refer to chapter 2.8.18.1
- 92 -
OneNAND1Gb(KFG1G16U2C-xIB6) FLASH MEMORY
At device power-up, this word location is checked and if XXF3h is found, the OTPBL bit of the Controller Status Register is set to "1", indicating
the 1st Block is locked. When the Program Operation finds that the status of the 1st Block is locked, the device updates the Error Bit of the
Controller Status Register as "1" (fail).
Even though the OTP area can only be programmed once without erase capability, it can be locked when the device starts up to prevent any
changes from being made.
Unlike other remaining main area of the NAND Flash Array memory, once the 1st block OTP is locked, it cannot be unlocked.
- 93 -
OneNAND1Gb(KFG1G16U2C-xIB6) FLASH MEMORY
Do Cold reset
Automatically
updated
Update Controller
Status Register
Add: F240h
DQ[5]=1(OTPBL)
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.
4) ’Write 0 to interrupt register’ step may be ignored when using INT auto mode. Refer to chapter 2.8.18.1
- 94 -
OneNAND1Gb(KFG1G16U2C-xIB6) FLASH MEMORY
OTP and 1st Block can be locked simultaneously, for locking bit lies in the same word of OTP area.
1st Block OTP can be accessed just as any other NAND Flash Array Blocks before it is locked, however, once 1st Block is locked to be OTP,
1st Block OTP cannot be erased or programmed. Also, OTP area can only be programmed once without erase capability, it can be locked
when the device starts up to prevent any changes from being made.
At device power-up, this word location is checked and if XXF0h is found, the OTPL and OTPBL bit of the Controller Status Register is set to "1",
indicating the OTP and 1st Block is locked. When the Program Operation finds that the status of the OTP and 1st Block is locked, the device
updates the Error Bit of the Controller Status Register as "1" (fail).
Even though the OTP area can only be programmed once without erase capability, it can be locked when the device starts up to prevent any
changes from being made.
Unlike other remaining main area of the NAND Flash Array memory, once the OTP block and the 1st block OTP are locked, it cannot be
unlocked.
- 95 -
OneNAND1Gb(KFG1G16U2C-xIB6) FLASH MEMORY
Do Cold reset
Automatically
updated
Update Controller
Status Register
Add: F240h
DQ[6]=1(OTPL)
DQ[5]=1(OTPBL)
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.
4) ’Write 0 to interrupt register’ step may be ignored when using INT auto mode. Refer to chapter 2.8.18.1
- 96 -
OneNAND1Gb(KFG1G16U2C-xIB6) FLASH MEMORY
This operation accelerates the read performance of the device by enabling data to be read out by the host from one DataRAM buffer while the
other DataRAM buffer is being loaded with data from the NAND Flash Array memory.
1) Data Load
Data 2) Data Read
Page A
Buffer0
3) Data Load
Data
Page B
2) Data Load Buffer1 3) Data Read
The dual data buffer architecture provides the capability of executing a data-read operation from one of DataRAM buffers during a simulta-
neous data-load operation from Flash to the other buffer. Simultaneous load and read operation to same data buffer is prohibited. See sec-
tions 3.6 and 3.7 for more information on Load and Read Operations.
If host sets FBA, FSA, or FPA while loading into designated page, it will fail the internal load operation. Address registers should not be
updated until internal operation is completed.
1) Data Write
2) Program Data
Page A
Buffer0
3) Data Write
Data
Page B
3) Program Buffer1 2) Data Write
The dual data buffer architecture provides the capability of executing a data-write operation to one of DataRAM buffers during simultaneous
data-program operation to Flash from the other buffer. Simultaneous program and write operation to same data buffer is prohibited. See sec-
tions 3.8 for more information on Program Operation.
If host sets FBA, FSA, or FPA while programming into designated page, it will fail the internal program operation. Address registers should not
be updated until internal operation is completed.
- 97 -
Read While Load Diagram
WE
OE
INT
- 98 -
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
FLASH MEMORY
Page B
Write While Program Diagram
2)
Data PGM Data PGM
DQ Data Write Flash DB0 PD_ Read Flash DB1 PD_ _PageB
0000h _PageA 0000h
0~15 _DB0 * _add _add CMD Status _add _add CMD Data Write
Data Write
_DB1 * _DB0 *
OneNAND1Gb(KFG1G16U2C-xIB6)
WE
OE
- 99 -
INT
As the device transfers data from a BufferRAM to the NAND Flash Array memory Page Buffer for Program Operation, the device initiates a
background operation which generates an Error Correction Code (ECC) of 24bits for each sector main area data and 10bits for 2nd and 3rd
word data of each sector spare area.
During a Load operation from the NAND Flash Array memory Page, the on-chip ECC engine generates a new ECC. The 'Load ECC result' is
compared to the originally 'Program ECC' thus detecting the number and position of errors. Single-bit error is corrected.
ECC is updated by the device automatically. After a Load Operation, the Host can determine whether there was error by reading the 'ECC Sta-
tus Register' (refer to section 2.8.26).
Error types are divided into 'no error', '1bit correctable error', and '2bit error uncorrectable error'.
OneNAND supports 2bit EDC even though 2bit error seldom or never occurs. Hence, it is not recommended for Host to read 'ECC Status Reg-
ister' for checking ECC error because the built-in Error Correction Logic of OneNAND automatically corrects ECC error.
When the device reads the NAND Flash Array memory main and spare area data with an ECC operation, the device doesn't place the newly
generated ECC for main and spare area into the buffer. Instead it places the ECC which was generated and written during the program oper-
ation into the buffer.
In an ECC bypass operation, the device does not generate ECC as a background operation. The result does not indicate error position (refer
to the ECC Result Table).
In a Program Operation the ECC code to NAND Flash Array memory spare area is not updated.
During a Load operation, the on-chip ECC engine does not generate a new ECC internally. Also the ECC Status & Result to Registers are
invalid. The error is not corrected and detected by itself, so that ECC bypass operation is not recommended for host.
ECC bypass operation is set by the 9bit of System Configuration 1 Register (see section 2.8.19)
ECC bypass Not update Pre-written code(1) loaded Invalid Not correct
NOTE :
1) Pre-written ECC code : ECC code which is previously written to NAND Flash Spare Area in program operation.
- 100 -
OneNAND1Gb(KFG1G16U2C-xIB6) FLASH MEMORY
The information regarding the invalid block(s) is called 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
always fully guaranteed to be a valid block.
Due to invalid marking, during load operation for indentifying invalid block, a load error may occur.
A system must be able to recognize invalid block(s) based on the original invalid block information and create an invalid block table.
Invalid blocks are identified by erasing all address locations in the NAND Flash Array memory except locations where the invalid block(s) infor-
mation is written prior to shipping.
An 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. Any
intentional erase of the original invalid block information is prohibited.
The following suggested flow chart can be used to create an Invalid Block Table.
- 101 -
OneNAND1Gb(KFG1G16U2C-xIB6) FLASH MEMORY
Start
No
Last Block ?
Yes
End
Within its life time, additional invalid blocks may develop with NAND Flash Array memory. Refer to the device's qualification report for the
actual data.
The following possible failure modes should be considered to implement a highly reliable system.
In the case of a status read failure after erase or program, a block replacement should be done. Because program status failure during a page
program does not affect the data of the other pages in the same block, a block replacement can be executed with a page-sized buffer by find-
ing an erased empty block and reprogramming the current target data and copying the rest of the replaced block.
- 102 -
OneNAND1Gb(KFG1G16U2C-xIB6) FLASH MEMORY
Referring to the diagram for further illustration, when an error happens in the nth page of block 'A' during program operation, copy the data in
the 1st ~ (n-1)th page to the same location of block 'B' via data buffer0.
Then copy the nth page data of block 'A' in the data buffer1 to the nth page of block 'B' or any free block. Do not further erase or program block
'A' but instead complete the operation by creating an 'Invalid Block Table' or other appropriate scheme.
1st
{ 1
∼
(n-1)th
nth an error occurs.
Data Buffer0 of the device
(page)
1 Data Buffer1 of the device
Block B (assuming the nth page data is maintained)
1st
{ 2
∼
(n-1)th
nth
(page)
- 103 -
OneNAND1Gb(KFG1G16U2C-xIB6) FLASH MEMORY
4.0 DC CHARACTERISTICS
4.1 Absolute Maximum Ratings
KFG1G16U2C
Parameter Symbol Unit
Min Typ. Max
VCC-core / Vcc
2.7 3.3 3.6 V
Supply Voltage VCC- IO / Vccq
VSS 0 0 0 V
NOTE :
1. The system power should reach 2.2V after POR triggering level(typ. 1.8V) within 400us.
2. Vcc-Core (or Vcc) should reach the operating voltage level prior to or at the same time as Vcc-IO (or Vccq).
- 104 -
OneNAND1Gb(KFG1G16U2C-xIB6) FLASH MEMORY
4.3 DC Characteristics
RMS Value
Parameter Symbol Test Conditions Unit
Min Typ Max
Input Leakage Current ILI VIN=VSS to VCC, VCC=VCCmax - 1.0 - + 1.0 µA
VOUT=VSS to VCC, VCC=VCCmax,
Output Leakage Current ILO - 1.0 - + 1.0 µA
CE or OE=VIH(Note 1)
Active Asynchronous Read Current
ICC1 CE=VIL, OE=VIH - 15 30 mA
(Note 2)
66MHz - 40 65 mA
Active Burst Read Current (Note 2) ICC2R CE=VIL, OE=VIH, WE=VIH
1MHz - 3 10 mA
Active Asynchronous Write Current
ICC3 CE=VIL, OE=VIH - 22 32 mA
(Note 2)
Active Load Current (Note 3) ICC4 CE=VIL, OE=VIH, WE=VIH - 40 65 mA
Active Program Current (Note 3) ICC5 CE=VIL, OE=VIH, WE=VIH - 35 55 mA
Active Erase Current (Note 3) ICC6 CE=VIL, OE=VIH, WE=VIH - 30 45 mA
Multi Block Erase Current (Note 3) ICC7 CE=VIL, OE=VIH, WE=VIH, 64blocks - 30 45 mA
Standby Current ISB CE= RP=VCC ± 0.2V - 35 80 µA
Input Low Voltage VIL - 0 - 0.8 V
0.7*
Input High Voltage (Note 4) VIH - - VCCq V
VCCq
0.22*
Output Low Voltage VOL - - V
IOL = 100 µA ,VCC=VCCmin , VCCq=VCCqmin VCCq
0.8*
Output High Voltage VOH IOH = -100 µA , VCC=VCCmin , VCCq=VCCqmin - - V
VCCq
NOTE :
1) CE should be VIH for RDY. IOBE should be ’0’ for INT.
2) ICC active for Host access
3) ICC active for Internal operation. (without host access)
4) Vccq is equivalent to Vcc-IO.
- 105 -
OneNAND1Gb(KFG1G16U2C-xIB6) FLASH MEMORY
5.0 AC CHARACTERISTICS
5.1 AC Test Conditions
Device
VCC Under
Input & Output Test
VCC/2 VCC/2
Test Point
0V * CL = 30pF including scope
and Jig capacitance
KFG1G16U2C Unit
Item Symbol Test Condition
Min Max
Input Capacitance CIN1 VIN=0V - 10 pF
Control Pin Capacitance CIN2 VIN=0V - 10 pF
Output Capacitance COUT VOUT=0V - 10 pF
INT Capacitance CINT VOUT=0V - 10 pF
NOTE :
Capacitance is periodically sampled and not 100% tested.
- 106 -
OneNAND1Gb(KFG1G16U2C-xIB6) FLASH MEMORY
66MHz
Parameter Symbol Unit
Min Max
Clock CLK 1 66 MHz
Clock Cycle tCLK 15 - ns
Initial Access Time tIAA - 70 ns
Burst Access Time Valid Clock to Output Delay tBA - 11 ns
AVD Setup Time to CLK tAVDS 5 - ns
AVD Hold Time from CLK tAVDH 2 - ns
Address Setup Time to CLK tACS 5 - ns
Address Hold Time from CLK tACH 6 - ns
Data Hold Time from Next Clock Cycle tBDH 3 - ns
Output Enable to Data tOE - 20 ns
CE Disable to Output & RDY High Z tCEZ1) - 20 ns
CLK 2) tRDYO - 11 ns
to RDY valid
CLK to RDY Setup Time tRDYA - 11 ns
RDY Setup Time to CLK tRDYS 4 - ns
CE low to RDY valid tCER - 15 ns
NOTE :
1) If OE is disabled at the same time or before CE is disabled, the output will go to high-z by tOEZ.
If CE is disabled at the same time or before OE is disabled, the output will go to high-z by tCEZ.
If CE and OE are disabled at the same time, the output will go to high-z by tOEZ.
2) It is the following clock of address fetch clock.
- 107 -
OneNAND1Gb(KFG1G16U2C-xIB6) FLASH MEMORY
KFG1G16U2C
Parameter Symbol Unit
Min Max
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 6 - ns
Output Enable to Output Valid tOE - 20 ns
5.6 AC Characteristics for Warm Reset (RP), Hot Reset and NAND Flash Core Reset
See Timing Diagrams 6.12, 6.13 and 6.14.
tReady2
RP & Reset Command Latch(During Load Routines) to INT High (Note1) (NAND Flash Array)
- 10 µs
tReady2
RP & Reset Command Latch(During Program Routines) to INT High (Note1) (NAND Flash Array)
- 20 µs
tReady2
RP & Reset Command Latch(During Erase Routines) to INT High (Note1) (NAND Flash Array)
- 500 µs
tReady2
RP & Reset Command Latch(NOT During Internal Routines) to INT High (Note1) (NAND Flash Array)
- 10 µs
NOTE :
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 pull-down resistor value.
2) The device may reset if tRP < tRP min(200ns), but this is not guaranteed.
- 108 -
OneNAND1Gb(KFG1G16U2C-xIB6) FLASH MEMORY
- 109 -
OneNAND1Gb(KFG1G16U2C-xIB6) FLASH MEMORY
≈
tCER tCEZ
-1 0 1 2 3 4
CLK
≈
tAVDS
tRDYO
≈
AVD
tAVDH
tACS tBDH
≈ ≈
A0-A15
tACH tBA
≈
DQ0-DQ15 D6 D7 D0 D1 D2 D3 D7 D0
tIAA tOEZ
tOE
OE
≈
tRDYS
tRDYA Hi-Z
≈
Hi-Z
RDY
BRL=4
tCES tCLK
CE
≈
tCER tCEZ
-1 0 1 2 3 4
CLK
≈
tAVDS
tRDYO
≈
AVD
tAVDH
tACS tBDH
≈ ≈
A0-A15
tACH tBA
≈
tRDYS
Hi-Z
≈
Hi-Z tRDYA
RDY
- 110 -
OneNAND1Gb(KFG1G16U2C-xIB6) FLASH MEMORY
CLK VIL
CE
tCEZ
tAVDP
AVD
tOE
OE
WE
tCE tOEZ
DQ0-DQ15 Valid RD
tAAVDH
A0-A15 VA
Hi-Z Hi-Z
RDY
NOTE :
VA=Valid Read Address, RD=Read Data.
CE
tAA tCEZ
tAVDP
AVD
tOE
OE tWEA
WE
tOEZ
DQ0-DQ15 Valid RD
tAAVDH
A0-A15 VA
Hi-Z Hi-Z
RDY
NOTE :
VA=Valid Read Address, RD=Read Data.
- 111 -
OneNAND1Gb(KFG1G16U2C-xIB6) FLASH MEMORY
CLK VIL
CE
tAVDP tCEZ
AVD
tAAVDS
tOE
OE tWEA
WE
tOEZ
DQ0-DQ15 Valid RD
tAAVDH
tACC
A0-A15 VA
Hi-Z Hi-Z
RDY
NOTE :
VA=Valid Read Address, RD=Read Data.
CLK VIL
tRC
CE
tCEZ
tOE
OE
WE
tCE tOEZ
DQ0-DQ15 Valid RD
tACC
A0-A15 VA
NOTE :
VA=Valid Read Address, RD=Read Data.
- 112 -
OneNAND1Gb(KFG1G16U2C-xIB6) FLASH MEMORY
CLK VIL
CE
tWPL tWPH
WE
tWC
OE
RP tAH
A0-A15 VA VA
DQ0-
DQ15 Valid WD Valid WD
Hi-Z Hi-Z
RDY
NOTE :
VA=Valid Read Address, WD=Write Data
- 113 -
OneNAND1Gb(KFG1G16U2C-xIB6) FLASH MEMORY
tAWES tAH
A0:A15 AA CA BA BA
≈ ≈
DQ0-DQ15 LMA LCD Da Da+1
tDS
tCH tCS tDH
≈
CE
≈
OE tCH
tWPL
≈
WE
tWPH tRD1 or tRD2
tCS
tWC
VIL
≈
CLK
INT
NOTE :
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.
- 114 -
OneNAND1Gb(KFG1G16U2C-xIB6) FLASH MEMORY
tAWES tAH
A0:A15 AA BA CA SA SA AA*
≈ ≈
In
DQ0-DQ15 PMA BD PCD Progress Complete PMB
≈
CE
≈
OE tCH
tWPL
≈
WE
tWPH
tCS tPGM1 or tPGM2
VIL tWC
CLK ≈
INT
NOTE :
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
AA* = Address of Start Address1 Register(for Flash Block Address)
PMB = DFS & FBA(Flash Block address) of memory to be programmed next time
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.
- 115 -
OneNAND1Gb(KFG1G16U2C-xIB6) FLASH MEMORY
tAWES tAH
A0:A15 AA CA SA SA AA*
≈ ≈
In PMB
DQ0-DQ15 EMA ECD Progress
Complete
tDS
tCH tCS tDH
≈
CE
≈
OE tCH
tWPL
≈
WE
tWPH
tCS tBERS1
tWC
VIL
CLK ≈
INT
NOTE :
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
AA* = Address of Start Address1 Register(for Flash Block Address)
PMB = DFS & FBA(Flash Block address) of memory to be programmed next time
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.
- 116 -
OneNAND1Gb(KFG1G16U2C-xIB6) FLASH MEMORY
1)
Bootcode - copy done
OneNAND
Operation Sleep Bootcode copy Idle
2)
RP
INT High-Z
3)
NOTE :
1) Bootcode copy operation starts 400us later than POR activation.
The system power should reach 2.2V after POR triggering level(typ. 1.8V) within 400us for valid boot code data.
2) 1K bytes Bootcode copy takes typically 500us(max. 2ms) 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’
- 117 -
OneNAND1Gb(KFG1G16U2C-xIB6) FLASH MEMORY
CE, OE
RP
tRP
tReady1
High-Z High-Z
RDY
tReady2
INT
bit
Operation
Idle1) Reset Ongoing2) BootRAM Access3) INT Bit Polling4) Idle1)
Status
NOTE :
1) The status which can accept any register based operation(Load, Program, Erase command, etc).
2) The status where reset is ongoing.
3) The status allows only BootRAM(BL1) read operation for Boot Sequence.(refer to 7.2.2 Boot Sequence)
4) To read BL2 of Boot Sequence, Host should wait INT until becomes ready. and then, Host can issue load command.
(refer to 7.2.2 Boot Sequence, 7.1 Methods of Determing Interrupt status)
- 118 -
OneNAND1Gb(KFG1G16U2C-xIB6) FLASH MEMORY
AVD
BP(Note 3)
A0~A15
or F220h
DQ0~DQ15 00F0h
or 00F3h4)
CE
OE
WE
tReady2
INT
bit
High-Z
RDY
OneNAND Idle
Operation or Idle OneNAND reset
Operation
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]
4) 00F0h for BP, and 00F3h for F220h
- 119 -
OneNAND1Gb(KFG1G16U2C-xIB6) FLASH MEMORY
AVD
A0~A15 F220h
DQ0~DQ15 00F0h
CE
OE
WE
tReady2
INT
bit
High-Z
RDY
OneNAND Idle
Operation or Idle NAND Flash Core reset
Operation
typ. 1.8V
VCC
0V
RP
INT
- 120 -
OneNAND1Gb(KFG1G16U2C-xIB6) FLASH MEMORY
tWB
INT pin
INT bit
Write command into INT will automatically INT will automatically turn back to ready state
Command Register turn to Busy State when designated operation is completed.
WE
- 121 -
OneNAND1Gb(KFG1G16U2C-xIB6) FLASH MEMORY
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. In case of normal INT mode, before a command is written to the com-
mand register, the INT bit must be written to '0' so the INT pin transitions to a low state indicating start of the operation. In case of ’INT auto
mode’, INT bit is written to ’0’ automatically right after command issued. Upon completion of the command operation by the OneNAND’s inter-
nal controller, INT returns to a high state.
INT pin is a DQ-type output allowing two INT outputs to be Or-tied together. Refer to section 2.8 for additional information about INT. At previ-
ous 1Gb OneNAND, INT pin operates as an open-drain type. But at current 1Gb B-die OneNAND, INT pin operates as a DQ-type which has
faster responsiveness than open drain type. Although DQ-type INT pin is connected to pull-up resistor, DQ-type INT pin will not be affected by
the resistor.
INT can be implemented by tying INT to a host GPIO or by continuous polling of the Interrupt status register.
- 122 -
OneNAND1Gb(KFG1G16U2C-xIB6) FLASH MEMORY
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.
CE CE CE CE
AVD AVD
OE OE OE OE
Host OneNAND
CE CE
AVD
Vss CLK
RDY
OE OE
GPIO INT
- 123 -
OneNAND1Gb(KFG1G16U2C-xIB6) FLASH MEMORY
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.
When using interrupt register instead of INT pin, INT pin is recommended to float to avoid power consumption at IOBE=0(disable).
Command
INT
CE CE CE CE
AVD AVD
OE OE OE OE
DQ DQ DQ DQ
Host OneNAND
CE CE
AVD
Vss CLK
N.C RDY
OE OE
DQ DQ
- 124 -
OneNAND1Gb(KFG1G16U2C-xIB6) FLASH MEMORY
As the system power is turned on, the boot code originally stored in NAND Flash Array 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 3KB, 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 2KB 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 3KB, 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 Partition of NAND Flash Array and OneNAND Boot
Sequence. 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 3KB (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.
NAND Flash Array of OneNAND is divided into the partitions as described at Partition of NAND Flash Array 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 Boot Sequence.
Boot Sequence :
1. Power is on
BL1 is loaded into BootRAM
4. OS is running
- 125 -
OneNAND1Gb(KFG1G16U2C-xIB6) FLASH MEMORY
Block 1023
Reservoir Partition 6
BL2
Os Image Partition 4 :
Block 2 Page 2
NBL3
BL3 Partition 3
Block 1 Page 1
NBL1
BL1 NBL2
BL2 BL1 Page 0
Block 0
Reservoir
File System
step 3
Data Ram 1
Os Image Data Ram 0
Boot Ram(BL 1) Os Image
BL1 BL2
BL 2
step 1 step 2
OneNAND DRAM
NOTE :
Step 2 and Step 3 can be copied into DRAM through two DataRAMs using dual buffering
- 126 -
OneNAND1Gb(KFG1G16U2C-xIB6) FLASH MEMORY
#A1 INDEX
10.00±0.10
A
10.00±0.10 0.10 MAX 0.80x9=7.20
(Datum A) B
6 5 4 3 2 1
#A1
0.80
A 0.80
(Datum B)
B
0.80x11=8.80
C
0.45±0.05
13.00±0.10
13.00±0.10
13.00±0.10
D
E
F
G
4.40
H
0.32±0.05 3.60
0.9±0.10
TOP VIEW BOTTOM VIEW
63-∅ 0.45±0.05
∅ 0.20 M A B
- 127 -