SectorInfo (Compact 2013)
3/26/2014
This structure emulates the typical physical layout of the actual extra area of flash. The FAL portion of the NAND flash block driver supplied by Microsoft makes use of 8 bytes of the Sector Extra Info area.
Syntax
typedef struct _SectorInfo {
DWORD dwReserved1;
BYTE bOEMReserved;
BYTE bBadBlock;
WORD wReserved2;
} SectorInfo, *PSectorInfo;
Members
- dwReserved1
Reserved. Used by the FAL to hold the logical to physical sector mapping information.
bOEMReserved
For use by OEM. One of the following (2 bits are recognized by the FAL):#define OEM_BLOCK_RESERVED 0x01 #define OEM_BLOCK_READONLY 0x02
Any sectors that the OEM does not want the FAL to touch should have both of these bits set. This includes the sectors including the boot loader and any other flash data that sits before the MBR. Note also that because only full blocks can be erased, all sectors within a block should have the same values for these fields.
- bBadBlock
Indicates if a block is bad.
- wReserved2
Reserved. Used by the FAL to maintain state information about the sector.
Remarks
The SectorInfo data structure was designed to emulate the typical physical layout of the actual extra area of flash.
The following is a typical representation of how the extra area is utilized:
- - - - - - - - - - - - - - - -
|R|R|R|R|O|V|R|R|E|E|E|E|E|E|E|E|
- - - - - - - - - - - - - - - -
The following table describes each element.
Element |
Description |
---|---|
R |
Reserved bytes used by the FAL |
O |
Byte for use by the OEM |
V |
Byte indicating if the block is valid (a.k.a. bad) |
E |
Bytes typically used for by the FMD for ECC |
Requirements
Header |
fmd.h |