Hard Drives Question

Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
Post Reply
Stefan

Hard Drives Question

Post by Stefan »

I don't whant to use int 13h extensions to get the correct information about drives larger than 8GB.
Can I access correct information with ports? How?
One more question: Does DMA accelerate the communication between hard drives and applications (kernel)?
Thank you!
j.weeks

RE:Hard Drives Question

Post by j.weeks »

>On 2001-09-29 16:37:15, Stefan wrote:
>I don't whant to use int 13h extensions to get
the correct information about drives larger than 8GB.

Understandable :)

>Can I access correct information with ports? How?

Probably :) How do you think the BIOS does it? :)
There's, no doubt, ports defined in the ATA
standard for sectors, heads and cylinders counts...
I'm just not sure what they are off hand.

>One more question: Does DMA accelerate the communication between hard drives and applications (kernel)?

DMA allows you do deligate your Hardware to CPU transfers to another
chip, and they'll be taken care of in the background, while
the CPU continues to execute instructions. In this
sense, yeah, it accelerates transfers... you can
be doing something else, while still reading
from the HD.

However, DMA is, at max, 16bit (unless there's 32
bit extensions now-a-days... but I haven't heard of
any) and can't cross a 64k segment boundary. Gotta
keep those in mind at all times.

j.weeks
Guest

RE:Hard Drives Question

Post by Guest »

>On 2001-09-29 19:57:08, j.weeks wrote:
>However, DMA is, at max, 16bit (unless there's 32
>bit extensions now-a-days... but I haven't heard of
>any) and can't cross a 64k segment boundary.

Those are restrictions of ISA (16-bit) DMA.
Hard drives use PCI bus-master DMA (32-bit),
which is much better.
Post Reply