How to Interpret and Change DCM Bits

Below is the physical view of 1st DCM page, on page 6 or offset 0xC000. As with GAM / SGAM page, it is located at offset 0xC0, after some mysterious signature 0x1F38 🙂

dcm1

When the value at offset 0xC2 is 0x00 we have :

DIFF_MAP: Extent Alloc Status @0x4E5F00C2
—————————————–
(1:0)        – (1:120)      = NOT CHANGED

Each bits represent 1 extent which is equivalent to 8 pages. This is principally the same with the GAM / SGAM bits, except the value is directly opposite that of GAM bits. Value 0 means the extent already backed up, value 1 means not yet backed up / changed.

To prove that it is basically the same, say, we want to mark extent 16 to 23 as changed, and the rest is not changed. Then the value should be :

0010 0000 transpose to 0000 0010 then to 0000 0100 = 0x04.

Changed the value using hex editor, and we have :

DIFF_MAP: Extent Alloc Status @0x4F48A0C2
—————————————–
(1:0)        – (1:8)        = NOT CHANGED          
(1:16)       –              =     CHANGED          
(1:24)       – (1:120)      = NOT CHANGED          

Q E D 🙂

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s


%d bloggers like this: