Search by Tags

FastLoad (Colibri)


Article updated at 28 Oct 2017
Compare with Revision

This feature is available in Win CE Image version 3.7 and onwards.

General description

The start-up time for Colibri PXA3xx modules can be lowered significantly by using the FastLoad feature. This feature is not available for Colibri modules other than PXA3xx. The FastLoad feature reduces the usable FlashDisk space less than 1%.

It is possible to create a 'restore' point for the flash driver. This could be done either by an IOControl IOCTL_DISK_SAVE_SMI or automatically. The more data gets written after a 'restore' point, the longer the loading time at start-up. You can control the automatic 'restore' point creation with the registry value FLAutoSave.

For description see below.

Creating a 'restore' point takes up to 130ms depending on FlashDisk size.

We don't recommend to use the feature when writing to a FlashDisk which is almost full (lets say less than 1MB free space). The automatic 'restore' point creation needs to be called more often than specified with FLAutoSave, so it gets inefficient.

You need to format the FlashDisk each time you enable or disable the FastLoad feature (changing the UseFastLoad value)!

Manually create 'restore' point using IOCTL_DISK_SAVE_SMI

For some reasons, it makes sense to control the 'restore' point creation manually.

Example 1: You want to make sure that the AutoSave feature doesn't write at certain times because you need fast access to the FlashDisk.
Example 2: You only have permanent data on the FlashDisk and you want to load it as fast as possible.

You can call IOCTL_DISK_SAVE_SMI in your application. This creates a 'restore' point of the current FlashDisk.

Registry Settings

	 "UseFastLoad"=dword:0      ; 0:feature disabled(default) 1:feature enabled
	 "FLAutoSave"=dword:6400    ; number of sector writes (2kBytes) until fast load auto save gets performed.
	                            ; 0: no auto save performed (only manual restore point creation using IOCTL_DISK_SAVE_SMI)
	                            ; default 0x6400 (about 50MBytes)


FLAutoSave: This is the number of sector writes until an automatic 'restore' point gets created. One sector is 2kBytes on the Colibri PXA3xx NAND Flash. But take care, writing 8kBytes of data uses more than 4 pages because the filesystem also needs to write data (FAT etc.).