Physical sector location

  • Thread starter Thread starter Nuno Magalhaes
  • Start date Start date
N

Nuno Magalhaes

If you have a given sector, say 5000th sector (logical), how can you
get the physical location in: platters, tracks and sectors?
 
Nuno Magalhaes said:
If you have a given sector, say 5000th sector (logical), how can
you get the physical location in: platters, tracks and sectors?

There isnt any easy way, particularly if you allow for bad sectors.

If you just want a rough idea of where it is physically thats easier.
Some drives do have the physical detail of the bands of tracks with
a fixed number of sectors per track in the full OEM manual. So you
can see that there are say x cylinders with y sectors per track and
so on across the platter etc.
 
Previously Nuno Magalhaes said:
If you have a given sector, say 5000th sector (logical), how can you
get the physical location in: platters, tracks and sectors?

Ask the manufacurer for the exact geometry of the disk and how
the mapping is done. There is no other possibility, unless
you want to do heavy reverse-engineering.

One problem is that the number of sectors per track is not
constant today. Another is that the cylinder numbers may change
from platter to platter. A third is that there is no
standard way to enuymerate platters.

Arno
 
Nuno Magalhaes said:
If you have a given sector, say 5000th sector (logical), how can you
get the physical location in: platters, tracks and sectors?

In SCSI there is the 'Diagnostic' command that has an option
for translating logical to physical. WD's SCSI WorkBench
and IBM's codeupdt have that function available.

For IDE you probably have to write a formula based on specifica-
tions found in the drive manual such as number of physical heads,
number of zones and number of sectors for a particular zone.
Only one or two manufacturers may actually provide that info.

..... and then forget about it again since bad sector relocations
will affect the result negatively.
 
Arno Wagner said:
Ask the manufacurer for the exact geometry of the disk and how
the mapping is done. There is no other possibility, unless
you want to do heavy reverse-engineering.

One problem is that the number of sectors
per track

Thats 'zone'.
is not constant today.

It is per single zone. It's different from zone to zone.
Another is that the cylinder numbers may change from platter to platter.
Nope.

A third is that there is no standard way to enuymerate platters.

Whatever that is supposed to mean.
 
If you have a given sector, say 5000th sector (logical), how can you
get the physical location in: platters, tracks and sectors?

I've measured disk access times from sector 0 (track 0) to the start
of other tracks and got this results:

from to access time (ms)
0..126 -> 1.3568 (track 3)
0..189 -> 2.0449 (track 4)
0..252 -> 2.7442 (track 5)
0..315 -> 3.4373 (track 6)
0..378 -> 4.1318 (track 7)
0..441 -> 4.8222 (track 8)
0..504 -> 5.5197 (track 9)
0..567 -> 5.3046 (track 10)
0..630 -> 4.6257 (track 11)
0..693 -> 5.3169 (track 12)
0..756 -> 6.0181 (track 13)
0..819 -> 8.9897 (track 14)
0..882 -> 9.6792 (track 15)
0..945 -> 10.3711 (track 16)
0..1008 -> 1.8192 (track 17)
0..1071 -> 2.5135 (track 18)
0..1134 -> 3.1956 (track 19)
0..1197 -> 3.8969 (track 20)
0..1260 -> 4.5939 (track 21)
0..1323 -> 5.2856 (track 22)
0..1386 -> 5.9845 (track 23)
0..1449 -> 6.6760 (track 24)
0..1512 -> 7.3691 (track 25)
0..1575 -> 8.0571 (track 26)
0..1638 -> 8.7536 (track 27)
0..1701 -> 9.4473 (track 28)
0..1764 -> 10.1306 (track 29)
0..1827 -> 10.8335 (track 30)
0..1890 -> 11.5330 (track 31)
0..1953 -> 1.1275 (sometimes 12 ms) (track 32)
0..2016 -> 3.6675 (track 33)

What should this mean? That there are 16 platters and the sectors are
enumerated from the inner cylinder to the outter cylinder?

Because I want to measure disk rotation times (to generate random
numbers according to a theorem) and this seems strange.
 
Back
Top