Data recovery and disk repair questions and discussions related to old-fashioned SATA, SAS, SCSI, IDE, MFM hard drives - any type of storage device that has moving parts
December 23rd, 2006, 20:09
What exactly is 'overlay code' ? As I understand, it are some functions that can be called by the main firmware code ? If so, why isn't there just 1 module with all of the 'firmware code' instead of all these seperate overlay modules ?
Sorry for these n00b questions, just trying to learn here
Thanks !
December 26th, 2006, 15:16
The follwing explaination could well be only valid for the IBM/HGST drives.
Memory withing the drive is limited. This memory is used for buffers, system variable and of course microcode.
Some function are rarely to never used during normal operation. By pruning thoses function into overlays and making those overlay on available in memory on request the drive designer did saved a lot of the memory for other usage p-list/g-list/other critical system table.
Overlays functions in a similar way as old DOS overlays. Multiple section of the code share the same physical memory address and is only loaded on-demand. On IBM/HSGT the firmware is dispatched as follow. The RAM0 module which is loaded and will never be overlayed. The PTCH module that permit some operations to be dispatched upoon the various piece of code ROM<->RAM<->OVR. This one is a simple jump table and is never overlayed either. Then comes OVR0 to x (x depend on the drive familly and model). For instance, many recent drives have the OVR4 dedicated to tech/SA and firmware download utility function. When those function are invoked, the OVR content is fetched from the SA zone, overwrites the other previous OVR at that location and code jump there.
This view is simplistic/symplified since some OVR may be cached assuming the drives does not need the memory. At the end, it provide a way to free the memory for other activites when those function are of no use.
Hope this explaination satisfies your curiosity.
d--
December 27th, 2006, 9:09
Hi Doekia,
I had already found some basic OVR info and incorporated it into my 'newbie tutorial'
http://forum.hddguru.com/newbie-info.-f ... t6562.html
But your answer goes a bit more in depth and was very interesting to read, much appreciated ! Thanks,
Aimtrading.
Powered by phpBB © phpBB Group.