Skip to content

Storage Capacity and Performance

Tyler Erickson edited this page Jan 30, 2025 · 1 revision

Storage Device Capacity

A common source of both confusion and frustration is how device manufacturers and consumers understand storage capacities.

There are multiple layers to this issue that this page will go through, however is can be summarized in differences between base 10 and base 2 number systems.

  • bit - smallest unit of information in the binary number system. Values are either zero (0) or one (1)
  • byte - a sequence of eight contiguous bits considered as a unit
  • gigabytes - 1000000000 bytes
  • gibibytes - 1073741824 bytes

List of Units In Data Storage

Capacities

Unit Bytes Meaning
b N/A bit or bits
B 1 Byte or bytes
KB 10^3 Kilobyte
KiB 2^10 Kibibytes
MB 10^3 Megabyte
MiB 2^10 Mebibytes
GB 10^9 Gigabytes
GiB 2^30 Gibibytes
TB 10^12 Terabytes
TiB 2^40 Tebibytes
PB 10^15 Petabytes
PiB 2^50 Pebibytes
EB 10^18 Exabytes
EiB 2^60 Exbibytes
ZB 10^21 Zetabytes
ZiB 2^70 Zebibytes

As seen in the table above there are differences in base 10 and base 2 units and how many bytes they represent. Another way to describe the differences is the difference between Metric units most people are familiar with and binary units that only show up in computer systems and are less familiar.

There are some standards and operating systems that will use units without i to represent what is described by the units with i. This is very confusing which is why standards committees such as IEC and JEDEC have both attempted to solve this with the units that include i.

Speed/Performance

Be aware that all speeds are described as maximums, not minimums. This is the maximum possible speed that can be achieved in perfect conditions.

Unit Meaning
Kb/s Kilobits per second
KB/s Kilobytes per second
KiB/s Kibibytes per second
Mb/s Megabits per second
MB/s Megabytes per second
MiB/s Mebibytes per second
Gb/s Gigabytes per second
GB/s Gigabytes per second
GiB/s Gibibytes per second
IOPS Input/Outputs per second

A common source of confusion is the difference between little b and bit B in these units. One describes a number of bits transmitted per second and the other describes a number of bytes transmitted per second.

With the definition of a byte as eight bits, the relationship between little b and bit B is a factor of 8.

b to B: Divide by 8 B to b: Multiply by 8

While eight bits per byte is common in data storage, it is possible for some systems to use other definitions. It is rare to find other definitions of a byte, but it does exist in the world!

It is important to note that sometimes transfer rates are also described using the same binary (i) units in some cases

IOPS is used to describe how many commands (reads/writes) can be serviced by a device per second.

Storage Capacity Standards

With the differences in units described above, this often brings up what is the reason storage device manufacturers use the units that they do and how is a capacity point decided?

Today the storage industry standardizes capacity points based off of SFF-8447 which includes formulas on calculating from an advertised capacity to a number of logical blocks the device supports.

Prior to SFF-8447 was the LBA-02 and LBA-01 specification from IDEMA. This was an effort started when drives were launching at the 320GB point, however may only have been implemented by manufacturers starting after this capacity launch due to timing on these early standards.

The IDEMA standards were started as different storage manufacturers may advertise a given capacity but the device supported a different total number of blocks. There was no standard definition on how a storage vendor would advertise something like "80GB" so they all decided on their own.

This led to confusion for consumers as it would appear that different vendors had different "usable capacities" although that term has since been repurposed for the unit conversion first talked about on this page.

The biggest change with SFF-8447 was taking into account differences in LBA counts for drives with different sector sizes beyond 512B, support for PI (Protection Information) capacities as well as some other uncommon sector sizes used in some enterprise applications. This also helped the device manufacturers better optimize their firmware and allows customers to easily replace drives of the same capacity even changing vendors without data loss or other issues that could arise by differences on old devices.