As with many quirks with PCs today, the problem stems from the early days of the PC's inception. Back in 1981, IBM and Microsoft were working on what would become the very first PC – the IBM 5150. Just to put this into perspective, the 5150 came with a maximum of 256KB of RAM, no hard disk, and up to two 5.25in 360KB floppy drives, although a cassette tape was also a storage option.
Compare those figures to the PCs of today, with 12GB of RAM, 2TB hard drives and 50GB dual-layer Blu-ray writers. Back in the early 1980s, a 10MB Seagate ST-412 hard disk was the stuff of a gambler's fantasy, and Microsoft and IBM had no idea how much storage we would have in the future.
This was once the most advanced PC on the planet, now an Atom netbook pwns it for performance.
As such, it's not surprising to find out that standard PCs can only address a maximum of 2.1TB; a storage capacity that seemed ridiculous at the time that IBM and Microsoft laid out the specification for the original master boot record partition table. It's this master boot record partition table that's the main root of all the problems with 3TB hard disks, as it's effectively dictated the limits of so many areas of storage.
For a start, each of a hard disk's sectors needs to be addressed. Early PCs often required you to manually set up the number of heads, cylinders and sectors in order to address a hard disk. However, this system was later placed with Logical Block Addressing (LBA) a few years later.
An LBA system sees data in terms of 512-byte sectors, as opposed to individual bits, and each one of these sectors needs an address. Of course, sectors don't need to have 512 bytes. In fact, the hard disk industry is currently pushing the move to 4KB sectors, which will in turn require fewer addresses and enable larger capacities. However, this move isn’t going yield much extra capacity in the near future.
In a document released this month, entitled Deploying the Next Generation of High-Capacity Hard Drives, Seagate explains that 4KB sectors ‘will not be implemented at the host level (hard drive controllers, OS, BIOS etc) for a number of years. In the meantime, the storage industry still must contend with a base sector size of 512 bytes, even with the growing need for more capacity.’
However, the legacy LBA system can only address up to 2.1TB. So, if we're stuck with 512-byte sectors then we need a new LBA system, and this in turn means that many people will need a new OS.
An easy way around this is to use Long LBA addressing, which increases the number of bytes in a Command Descriptor Block (CDB). A CDB is basically a formatted chunk of data that can be passed between a hard disk and a PC, and it also contains the LBA information so that the hard disk knows which sector to address. A standard CDB is made up of ten bytes, four of which are allocated for LBA information. However, with the 16- or 32-byte CDB needed for Long LBA, you can accommodate eight bytes of LBA information.