2.2.1 Boot Record Fields

Signature
Should be set to F1A5h. Added as a check to insure that this is the Flash media's boot record.

SerialNumber
Holds a unique identifier for the partition.

FFSWriteVersion
Indicates which version of the Flash File System is required to write to the file system structures on this partition. It is stored in binary with the high byte indicating version number and low byte indicating revision number. For this version of the file system this field must be 0200h. A value less than 0200h will prevent FFS from mounting the volume.

FFSReadVersion
Indicates the version of the Flash File System that is required to read from the file system structures on this partition. It has the same format as FFSWriteVersion. For this version of the file system this field must be 0200h. A value less than 0200h will prevent FFS from mounting the volume.

TotalBlockCount
The total number of blocks, including the spare block count, in this partition.

SpareBlockCount
The number of blocks in this partition that have been reserved for the block reclamation process. A 'spare' block is a block that is used by the file system to reclaim deallocated areas in other blocks within the partition. It is NEVER used to store file system structures or data and is only used during the file system's block reclamation process. Unless at least one spare block within the partition exists, the file system will be unable to reclaim space in other blocks in the event that they become entirely filled.

Additional spare blocks, beyond the mandatory one, up to a maximum of 8, may be set aside by the formatting utility. Having additional spare blocks has two advantages:

When the media is nearly full, additional spare blocks speed the file system's block reclamation process because the file system does not have to wait on a single block to be erased before it can continue doing writes.

If an unrecoverable error occurs in either erasing or writing another block, the file system will use an additional spare block to recover from the error. However, in doing so the file system will have reduced the spare block pool by one. The file system will not use the last remaining spare block to recover from an error.

BlockLen
The length of a single block in bytes. The file system requires that all blocks within a file system partition are exactly the same size.

RootDirectoryPtr
A pointer to the root directory entry for this partition. If the root directory pointer must be superseded the boot record must be replaced in its entirety. The boot record may be superseded through the use of the Block allocation structure Status field.

Status
Contains information specifying options to be applied to this partition.

Bit

Definition

0

MS-DOS Name Conventions

1 Directory and file names are all 8.3 MS-DOS format.

15-1

Reserved
Must be 1's.


BootCodeLen
The number of bytes in the boot code array. If the BootCodeLen is 0 then there is no boot code array in this boot record and the media is not bootable.

BootCode[...]
The boot code for this card. This variable length array contains the boot code for the operating system.