2 boot sequence, 1 boot loaders in flex-muxonenand, Flex-muxonenand4g(kfm4gh6q4m-debx) – Samsung FLEX-MUXONENAND KFN8GH6Q4M User Manual
Page 137
Flex-MuxOneNAND4G(KFM4GH6Q4M-DEBx)
- 137 -
FLASH MEMORY
Flex-MuxOneNAND8G(KFN8GH6Q4M-DEBx)
Flex-MuxOneNAND16G(KFKAGH6Q4M-DEBx)
7.2 Boot Sequence
One of the best features Flex-MuxOneNAND 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, Flex-MuxOneNAND 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 the first block which is SLC area 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-fetch-
ing 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 and taken by CPU to reduce CPU fetch time.
A typical boot scheme usually used to boot the system with Flex-MuxOneNAND is explained at Partition of NAND Flash Array and Flex-Mux-
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.
7.2.1 Boot Loaders in Flex-MuxOneNAND
Boot Loaders in Flex-MuxOneNAND
NAND Flash Array of Flex-MuxOneNAND 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.
7.2.2 Boot Sequence
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 by BL1
3. BL2 is executed in DRAM
OS image is loaded into DRAM through two DataRams by BL2
4. OS is running
Boot Loader
Description
BL1
Moves BL2 from NAND Flash Array to DRAM through two DataRAMs
BL2
Moves OS image (or BL3 optionally) from NAND Flash Array to DRAM through two DataRams
BL3 (Optional)
Moves or writes the image through USB interface