Reading big Hard Drives?

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
Anon

Reading big Hard Drives?

Post by Anon »

How can I read a huge hard drive? (120Gig)
BIOS calls won't work...
Using ports doesn't work... (I think)
Do I have to use a "manufacturer's specified" way? (such as reading a different port, etc.)

Also, how can I partition drives bigger than the LBA field allows? The LBA only allows for 4 Gig.

Can a MBR load a partition that is somewhere above 4Gig?

If so, how?

-- Anon --
Anton

RE:Reading big Hard Drives?

Post by Anton »

Ofcourse you can do it by ports! Even BIOS can do it if you have a new BIOS or get an upgrade. MBR can't load a "partition that is somewhere above 4Gig", at least the standart PC MBR.
Anton.
carbonBased

RE:Reading big Hard Drives?

Post by carbonBased »

LBA can handle drives above 4GB!

As far as I know, the limit on LBA drives is actually 2^32 * 512 = 2199023255552, which I'm pretty sure is 2048GB :)
This is, at least, my understanding of LBA... in all honesty, I haven't done any research on it (nor have I done any low level HD programming).

You can, however, for sure use eide ports to access the drive.  This _is_ the manufactured specificed way.  Afaik, no drive manufacturers actually define APIs above IDE (again, though, I could be wrong (scsi aside)).

The BIOS should also work, if its recent.  My own 486dx4/100'll read drives over 4GB, so I don't think you'll find too many issues now-a-days.

Cheers,
Jeff
common

RE:Reading big Hard Drives?

Post by common »

From what I understand, LBA is limited to 2^28 or about 137GB at the drive interface itself.  Additionally, I also understand that the use of LBA at the drive interface should be avoided because of certain underlying issues, specifically those dealing with reliability. For reasons for reliability, CHS should be as opposed to LBA (though there is nothing wrong with using LBA internally).  Even more, CHS is typically faster, commonly misunderstood as being the other way around.  Most drives today don't convert CHS to LBA internally, they just use CHS and if you use LBA, they will end up converting from LBA to CHS.  Big point, just don't use LBA at the driver interface.

Additionally, your 486dx4/100's BIOS should support drives over 4GB, but perhaps not over 8GB.  The problems were at 528MB and 8GB.  
Anon

RE:Reading big Hard Drives?

Post by Anon »

From OSD: Limits of ATA hardware interface  Cyl:65536  Heads:16  Sectors:255  ~228  Megs:130560 (127.5 Gbytes)

I guess that leaves out 200 Gig drives?
phil

RE:Reading big Hard Drives?

Post by phil »

The latest 2 ATA specs create an interface for 48-bit lba addressing.  It does not work with CHS addressing mode (which is obsolete anyway).  But you most certainly can read drives larger than 128 gigs.

www.t13.org
Post Reply