How many fingers am I holding up?

The base2 Vs base10 nett capacity question is an interesting one. It remains a place of confusion for customers and that’s not surprising as it remains a place of confusion for vendors also.

Computers do things internally using base2, but they can easily represent things in base10. Humans do things in base10. (e.g. Ask a human how many TBs there are in 45,000 GBs and they will tell you 45. ) Who’s in charge here? I vote the humans. So we should be using base10 and to hell with base2.

Is there really still a debate, or has the debate already been had and won?

Firstly we need to consider, who gets to decide? The fact that different vendors do different things suggests that no-one is very committed to standardisation. But if we were, who would we turn to for advice. The organisations I can think of who are respected in this area are:

  • CGPM (General Conference on Weights and Measures) and their mates who run le Système international d’unités (SI units)
  • The IEC (International Electrotechnical Commission) and its member organisations including ANSI (American National Standards Institute) to whom IEEE (Institute of Electrical and Electronics Engineers) is also a contributor.
  • NIST (US National Institute of Standards & Technology)
  • SNIA (Storage Networking Industry Association)

So what I can report is that the debate is over. All the big guns have decided (mostly back in 2005) and here is what they have decided… [from the website]

“To alleviate this [decimal Vs binary] ambiguity, [new] prefixes for binary multiples have been adopted by the International Electrotechnical Commission (IEC) for use in information technology.”

“The new prefixes will eliminate the present confusion between powers of 1000 and powers of 1024 since in the field of information technology the SI prefix names and symbols for decimal multiples are now often used to represent binary multiples.”

“With significant input from the National Institute of Standards and Technology, the IEC adopted kibi (Ki), mebi (Mi), gibi (Gi), tebi (Ti), pebi (Pi) and exbi (Ei) to represent exponentially increasing binary multiples. A kibibyte, therefore, equals 2 to the 10th power, or 1,024 bytes. Likewise a mebibyte equals 2 to the 20th power, or 1,048,576 bytes. The new prefixes for binary multiples, which parallel the metric prefixes, will increase precision in expressing electronic information.”

So the message is use base10 with traditional naming, or use base2 with the ‘new’ naming/prefixes, but don’t mix the new and the old.

Unfortunately, in the case of IBM for example, different teams within IBM use different standards, so for example, as best I can tell, the following products use binary.

Binary Capacity:

  • SVC (licensing and reporting)
  • TPC (licensing and reporting)
  • DS3000/4000/5000 (reporting)
  • DS8000 (for reporting)
  • N Series (for reporting)
  • Microsoft Windows (for reporting)
  • Posix

The SVC info center at for example unfortunately defines “1 terabyte (TB) is equal to 1 099 511 627 776 bytes”.

DS8700 attempts to be really clear when reporting by using the GiB (Gibibyte) nomenclature in the management interface.

…and again, as best I can tell, the following products use decimal for licensing and capacity reporting.

Decimal Capacity:

  • XIV (for reporting)
  • SONAS (for reporting)
  • ProtecTIER (for licensing and reporting)
  • DS8000 (for licensing)
  • Linux
  • MacOS
  • LTO Tape Capacity

But it’s not even as simple as that. I just found a training powerpoint that advises the following definitions for various systems:

  • IBM ESS800 GB  = 1000 x 1000 x 1000 bytes (i.e. true decimal GB)
  • IBM DS4000 GB  = 1024 x 1024 x 1024 bytes (i.e. true binary GiB)
  • HDS GB  = 1024 x 1024 x 1024 bytes (i.e. true binary GiB)
  • NetApp GB  = 1000 x 1024 x 1024 bytes (oh oh a proprietary Netapp GB, let’s call it GnB)

So maybe this explains why I couldn’t get Netapp’s Synergy capacity calculator to add up?

In conclusion:

  1. Vendors in general need to get with the program and standardize on the IEC definitions. This includes some of the IBM product teams (e.g. SVC & TPC).
  2. Netapp do base their capacity on a mix of base2 and base10, and they really need to stop doing that. I guess I need to add that this is NOT a Netapp beat-up, it’s just a call for standardisation.

For those who simply refuse to move on, there are still a few holdouts debating against the rest of the world at

Let me finish with an old Kiwi joke… I’m not sure it will translate well across all cultures but I guess the Canadians will get it if no-one else…


5 Responses

  1. It seems pretty straightforward for those of us blessed with the metric system :)

    – How many meters in a KILOmeter = 1000
    – How many grams in a KILOgram = 1000
    – How many bytes in a KILObyte = 1000

    My favorite bizzaro capacity was for the 1.44MB floppy, which contained 1.44 x 1000 x 1024 bytes, or approx 1.47MB, or 1.40MiB.

    See, easy :)


  2. Damn, you never see these things until after hitting “submit”…

    That’d be water “meters” :)


  3. @Steven perhaps you mean to say
    “how many bits in a Kilobit = 1000 bits” ?


  4. […] So you know we’re making progress on the binary units thing (see my post entitled “How many fingers am I holding up“) when starts using GiB… 7,368,671,232 = 7.37 GB or 6.86 […]


  5. […] The other point is that the IBM SVC, Storwize V7000, DS8000 and DS3000/DS4000/DS5000 families have always used binary sizing (even if their respective interfaces use the term GB as opposed to GiB – yet another pet hate of mine and the Storage Buddhist). […]


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: