As I shucked my 12 TB drive and got it working, I noticed my reporting script was reporting it as 11997 GB. What the heck. Even with power-of-two shenanigans, I would expect capacity to follow LBA Count for Disk Drives Standard (LBA1-03) I already wrote about.
When I checked disk, I saw the following:
|Drive||Logical sector||Physical sector||Sector Count||Capacity|
|WDC WD120EMFZ-11A6JA0||512 b||4096 b||23,437,770,752||12,000,138,625,024|
Based on my calculator, I expected to see size of 12,002,339,414,016 bytes. Was WDC placing non-standard capacity drives in their enclosures? Or did I miss something? Well, I missed something. :)
There is a later version of sector count standard coming from SFF Committee as SFF-8447. And this standard makes a difference between low capacity (80 - 8,000 GB) and high capacity (>8,000 GB) disk drives.
For lower capacity drives, formulas are ones we already know (first one is for 512-byte, second one for 4K sector):
97,696,368 + (1,953,504 * (CapacityInGB - 50)) -or-
12,212,046 + (244,188 * (CapacityInGB - 50))
Drives larger than 8 TB have the following formulas (512-byte, 4K sector sizes):
ceiling(CapacityInBytes / 512, 221) -or-
ceiling(CapacityInBytes / 4096, 218)
Armed with both formulas, we can update the sector count calculator - find it below.