Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

When the number of possible RAM adresses is limited by the computer architecture (32/64 bit), why isn't the size of the hard disk limited?

Or is it limited? If yes, what would be the highest possible size of a hard-disk for a 32-bit computer?

How are the adresses of hard-disks handled then?

share|improve this question

migrated from Mar 26 '10 at 15:39

This question came from our site for professional and enthusiast programmers.

HDs are addressed by a cylinder-head-sector hierarchy. Interestingly, the more current. logical form of addressing, called LBA has been extended over the years to support larger and larger sizes. It's explained here in detail.

What is limited, however, is file sizes. Such limits can be found for the respective file systems (FAT32, NTFS, etc.)

share|improve this answer
File sizes in NTFS are not really limited in terms of realizable capacity. A volume in NTFS can be up to 2 to the 64th bytes in size, and a file can be that large as well. So I don't think you'll be bumping into that limit soon. – Jamie Hanrahan Nov 16 '14 at 1:33

RAM is directly mapped into the processor's address/data bus. Hard drives are not. They interface to a disk controller (IDE, SATA, SCSI, etc). The disk controller copies data to/from RAM in smaller blocks where the CPU works with it.

Disk Controllers have their own addressing schemes (usually based on the Cylinders, Heads, and Sectors of disk). They have been subject to various limitations over the years. Typically these tend to be limitations in the operating system and BIOS, not so much in the hardware.

A good example of a hard disk addressing limit would be the 48-bit LBA issue:

share|improve this answer

Hard disks sizes are limited by the number of bits used in the cylinder/head/sector. In the distant past (ie 10years ago) you had to go to all sorts of lengths to remap CHS and extended LBA schemes so you could use a drive larger than 32mb than larger than 512Mb etc

Filesizes are limited by the number of bits used to specify the size. In FAT32 it's 32bits and so 4Gb files, in NTFS it's 64bits so very-very-very huge files (18Exabytes?). Sun's ZFS can store files of 256 pebi-zebibytes which is probably more than there are atoms to make the disk out of.

This is possible because disks are so much slower than memory it's not a problem to store a size in number longer than 32bits because the time needed by the CPU to read the parts of the number and add them together is so much less than the access time.
You could do this for memory and have a 64bit address space on a 32bit machine by storing each address in two values - it would be slow, but it's what we had to do to address 64K of memory on an 8bit machine.

share|improve this answer

Larger RAM means more addressing lines on the motherboard / PINs on relevant chips. So it's physical on-board capacity and chipset support. You can get more RAM capacity if you buy the right motherboards, particularly server or "workstation" boards but they tend to be more expensive. I have 32GB in this box and our VM server can take nearly 400GB so it is possible to go much bigger. That said I rarely use more than 10GB on my desktop. Increase: it'll help with caching, and loading more data at once, but unless you're really suffering it might not make any perceptible difference.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.