AMap (Allocation Map) Page

An AMap page contains an array of 496 bytes that is used to track the space allocation within the data section that immediately follows the AMap page. Each bit in the array maps to a block of 64 bytes in the data section. Specifically, the first bit maps to the first 64 bytes of the data section, the second bit maps to the next 64 bytes of data, and so on. AMap pages map a data section that consists of 253,952 bytes (496 * 8 * 64).

An AMap is allocated out of the data section and, therefore, it actually "maps itself". What this means is that the AMap actually occupies the first page of the data section and the first byte (that is, 8 bits) of the AMap is 0xFF, which indicates that the first 512 bytes are allocated for the AMap.

The first AMap of a PST file is located at absolute file offset 0x4400, and subsequent AMaps appear at intervals of 253,952 bytes thereafter. The following is the structural representation of an AMap page.