Showing changes from revision #2 to #3:
Added | Removed | Changed
Term | Meaning |
---|---|
object | Used to define a single file or a directory |
disc object | Used to define a logical group of fragments on a new map disc, that may contain one or more objects |
There are two different types of disc address that FileCore currently uses. They are:
Type | Description |
---|---|
Physical | Uses actual physical address disc address of the disc, using |
Internal | Used by new map discs, |
Because Physical Disc Addressing uses an offset given in bytes sectors from the start of the disc to determine the disc address to read/write. To calculate the physical disc address of a byte you need the know several pieces information about the disc. They are:
Identifier | Description |
---|---|
h | Head number |
t | Track number |
s | Sector number |
b | Number of bytes into the sector |
H | Number of heads on the Drive |
S | Number of sectors per track |
b | Number of bytes per sector |
x | Number of defective sectors earlier on the disc. Note: only applicable for old map hard discs. Use zero for old map floppy discs or new map discs |
Address = ((t × H × h) × S + s – x) × B + b
Tracks, heads and sectors are all counted from zero.
This formula can be used for any disc format (except an L-format one).
Internal disc addresses are not used by the old disc map, only new map discs. An object's internal disc address is in the following binary form:
ddd00000 0fffffff ffffffff ssssssss
Identifier | Description |
---|---|
ddd | Disc number (not used outside of FileCore itself) |
fffffff ffffffff | Fragment Id |
ssssssss | Offset within the object in units of 2share_size. Where share_size comes from the large disc record. |
You must ensure that if you format a disc, share_size is sufficiently large for the following to be true:
smallest fragment size ≤ (254 × 2log2secsize × 2share_size)
This ensures that FileCore can then share all the space within a shared disc object.