I meet a problem to implement NAND driver.

I am tying to implelent 2 NAND(32MB, 128MB) flash to my target board.
Both are 512 bytes / page NANDs and locate different part on board.

What I am trying to do is to make 2 directories to store some files in
them.
And directories are indepent each other.
For example, \ResidentFlash and \ResidentFlash2.
\ResidentFlash is used only for 32MB and \ResidentFlash2 is for 128MB.

The files stored in 128MB is large, so it takes long time to copy
them.
When OS needs to update, I'd like to change only 32MB(i.e. format and
write images including bootloader and OS), so that 128MB is used as
before without erase or format.

-------- Start of register information --------

[HKEY_LOCAL_MACHINE\System\StorageManager\PartitionTable]
"21"="BINFS"

[HKEY_LOCAL_MACHINE\System\StorageManager\BINFS]
"Folder"="BINFS"
"FriendlyName"="Bin FileSystem"
"DLL"="binfs.dll"
"MountFlags"=dword:11
"BootPhase"=dword:0

[HKEY_LOCAL_MACHINE\System\StorageManager\AutoLoad\FlashDrv]
"DriverPath"="Drivers\\BlockDevice\\FlashDrv"
; LoadFlags 0x01 == load synchronously
"LoadFlags"=dword:1
"MountFlags"=dword:11
"BootPhase"=dword:0
;"Order"=dword:2

[HKEY_LOCAL_MACHINE\System\StorageManager\AutoLoad\FlashDrv2]
"DriverPath"="Drivers\\BlockDevice\\FlashDrv2"
"LoadFlags"=dword:1
"MountFlags"=dword:11
"BootPhase"=dword:0

[HKEY_LOCAL_MACHINE\Drivers\BlockDevice\FlashDrv]
"Prefix"="DSK"
"Dll"="flashdrv.dll"
"Order"=dword:0
"Ioctl"=dword:4
"Profile"="FlashDrv"
"FriendlyName"="MSFLASH Driver"
"MountFlags"=dword:11
"BootPhase"=dword:0
"IClass"=multi_sz:"{A4E7EDDA-E575-4252-9D6B-4195D48BB865}"
"Flags"=dword:1000

[HKEY_LOCAL_MACHINE\Drivers\BlockDevice\FlashDrv2]
"Prefix"="DSK"
"Dll"="flashdrv2.dll"
"Order"=dword:0
"Ioctl"=dword:4
"Profile"="FlashDrv2"
"FriendlyName"="MSFLASH Driver"
"MountFlags"=dword:11
"BootPhase"=dword:0
"IClass"=multi_sz:"{A4E7EDDA-E575-4252-9D6B-4195D48BB865}"
"Flags"=dword:1000

[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\FlashDrv]
"DefaultFileSystem"="BINFS"
"PartitionDriver"="mspart.dll"
"AutoMount"=dword:1
"AutoPart"=dword:1
"MountFlags"=dword:11
"Folder"="ResidentFlash"
"Name"="Microsoft Flash Disk"
"BootPhase"=dword:0

[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\FlashDrv\FATFS]
; "MountFlags"=dword:0
"MountFlags"=dword:2 ; support hive-based registry
"AutoMount"=dword:1
"AutoPart"=dword:1
"Flags"=dword:00280014
"FormatTfat"=dword:1

[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\FlashDrv2]
; "DefaultFileSystem"="BINFS"
"PartitionDriver"="mspart.dll"
"AutoMount"=dword:1
"AutoPart"=dword:1
"MountFlags"=dword:11
"Folder"="ResidentFlash2"
"Name"="Microsoft Flash Disk2"
"BootPhase"=dword:0

[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\FlashDrv2\FATFS]
"MountFlags"=dword:0
"AutoMount"=dword:1
"AutoPart"=dword:1
"Flags"=dword:00280014
"FormatTfat"=dword:1

[HKEY_LOCAL_MACHINE\System\StorageManager\FATFS]
"MountFlags"=dword:0

----------------------------------------------------

My concept to do is

in EBOOT,
1) format whole NANDs(32MB and 128MB).
2) write MBR on 32MB
3) write BinFS, FAT FS partition on 32MB
4) write MBR on 128MB
5) write FAT FS partition on 128MB

after launch OS,
6) load FlashDrv.dll which points to 32MB
7) load FlashDrv2.dll which points to 128MB

Is this way right?

If it is or not, any sort of comments are appreciated,

thanks,

p.s : Before posting this message, I asked Sachin, he said the
registry setting look correct. thank for sachin.