ECDL.web

Storage capacity

From ECDL.web

Bit

A bit or binary digit is the basic unit of information in computing and telecommunications; it is the amount of information stored by a digital device or other physical system that exists in one of two possible distinct states. These may be the two stable states of a flip-flop, two positions of an electrical switch, two distinct voltage or current levels allowed by a circuit, two distinct levels of light intensity, two directions of magnetization or polarization, etc.

In computing, a bit can also be defined as a variable or computed quantity that can have only two possible values. These two values are often interpreted as binary digits and are usually denoted by the Arabic numerical digits 0 and 1. Indeed, the term "bit" is a contraction of binary digit.

In the earliest non-electronic information processing devices, such as Jacquard's loom or Babbage's Analytical Engine, a bit was often stored as the position of a mechanical lever or gear, or the presence or absence of a hole at a specific point of a paper card or tape. The first electrical devices for discrete logic represents bits as the states of electrical relays which could be either "open" or "closed". In the 1950s and 1960s these methods were largely supplanted by magnetic storage devices such as magnetic core memory, magnetic tapes, drums, and disks, where a bit was represented by the polarity of magnetization of a certain area of a ferromagnetic film.

The symbol for bit, as a unit of information, is either simply "bit" or lowercase "b".

Multiple bits

There are several units of information which are defined as multiples of bits, such as byte (8 bits), kilobit (either 1000 or 210 = 1024 bits), megabyte (either 8000000 or 8×220 = 8388608 bits), etc. Computers usually manipulate bits in groups of a fixed size, conventionally named "words". The number of bits in a word varies with the computer model; typically between 8 to 80 bits; or even more in some specialized machines.

Byte

The byte is a unit of digital information in computing and telecommunications, that most commonly consists of eight bits. The size of the byte has historically been hardware dependent and no definitive standards exist that mandate the size. The de facto standard of eight bits is a convenient power of two permitting the values 0 through 255 for one byte.

The term byte was coined by Dr. Werner Buchholz in July 1956, during the early design phase for the IBM Stretch computer. It is a respelling of bite to avoid accidental mutation to bit.

The unit symbol for the byte is the upper-case character B.

Binary prefixes

Early computer system documentation would specify the memory size with an exact number such as 4096, 8192, or 16384 words of storage. These are all powers of 2, and furthermore are small multiples of 210, or 1024. As storage capacities increased, several different methods were developed to abbreviate these quantities. The method most commonly used today uses prefixes such as kilo, mega, giga, and corresponding symbols K, M, and G, which the computer industry adapted from the International System of Units (SI). These are known as the SI prefixes. They are defined as indicating multipliers that are powers of 1000: a kilogram is 1000 grams, one megahertz is 1000000 hertz, and so on.

The International System of Units defines no units such as "bytes" for digital information but notes that the SI prefixes may be applied outside the contexts where base units or derived units would be used. But as computer main memory in a binary-addressed system naturally came in sizes that were easily expressed as multiples of 1024, "kilobyte" when applied to computer memory was commonly used to mean 1024 bytes instead of 1000.

The use of K in the binary sense can be found as early as 1959. This style was used by other computer vendors, they made extensive use of K as 1024. The HP 21MX real-time computer (1974) denoted 196 608 (which is 192×1024) as 196K and
1 048 576 as 1M, while the HP 3000 business computer (1973) could have 64K, 96K, or 128K bytes of memory.

The practice of using the SI-inspired "kilo" to indicate 1024 was later extended to "megabyte" meaning 10242 (1 048 576) bytes, and later "gigabyte" for 10243 (1 073 741 824) bytes. For example, a "512 megabyte" RAM module is 512×10242 bytes (512×1048576, or 536 870 912), rather than 512 000 000.

Disk drives

The disk drive industry followed a different pattern. Industry practice is to specify hard drives using SI prefixes and symbols in their SI or "decimal" interpretation. Unlike binary-addressed computer main memory, there is nothing in a disk drive that influences it to have a total capacity easily expressed using a power of 1024. Hard disk drive manufacturers used "megabytes" or "MB", meaning 106 bytes, to characterize their products as early as 1974.

The hard drive industry continues to use SI prefixes. Today, for example, a "300 GB" hard drive offers slightly more than 300×109, or 300 000 000 000, bytes, not 300×230 (which would be about 322×109). Operating systems such as Microsoft Windows that display hard drive sizes using the customary binary prefix "GB" (as it is used for RAM) would display this as 279.4 GB (meaning 279.4×10243, or 279.4×1 073 741 824).

Standardization of dual definitions

By the mid 1970s it was common to see K meaning 1024 and the occasional M meaning 1048576 for words or bytes of main memory (RAM) while K and M were commonly used with their decimal meaning for disk storage. In the 1980s, as capacities of both types of devices increased, the SI prefix G, with SI meaning, was commonly applied to disk storage, while M in its binary meaning, became common for computer memory. In the 1990s, the prefix G, in its binary meaning, became commonly used for computer memory capacity. The first terabyte hard disk drive was introduced in 2007.

The dual usage of the kilo, mega, and giga prefixes and their corresponding symbols K, M, and G as both powers of 1000 and powers of 1024 was recorded in s tandards and dictionaries:

  • kilo (K). (1) A prefix indicating 1000. (2) In statements involving size of computer storage, a prefix indicating 210, or 1024.
  • mega (M). (1) A prefix indicating one million. (2) In statements involving size of computer storage, a prefix indicating 220, or 1 048 576.

Bit and byte prefixes

Prefixes for bit and byte multiples
Decimal
Value SI
1000 k kilo
10002 M mega
10003 G giga
10004 T tera
10005 P peta
10006 E exa
10007 Z zetta
10008 Y yotta
Binary
Value IEC JEDEC
1024 Ki kibi K kilo
10242 Mi mebi M mega
10243 Gi gibi G giga
10244 Ti tebi T tera
10245 Pi pebi
10246 Ei exbi
10247 Zi zebi
10248 Yi yobi

While early computer scientists typically used k to mean 1000, some recognized the convenience that would result from working with multiples of 1024 and the confusion that resulted from using the same prefixes for two different meanings. Several proposals for unique binary prefixes were made:

  • the Greek letter kappa (κ) to denote 1024, κ2 to denote 1024×1024, and so on.
  • bK as an abbreviation for 1024 and bK2 or bK2 for 1024×1024.

None of these gained much acceptance, and capitalization of the letter K became the de facto standard for indicating a factor of 1024 instead of 1000, although this could not be extended to higher powers. As the discrepancy between the two systems increased in the higher order powers, more proposals for unique prefixes were made. The set of binary prefixes that were eventually adopted, now referred to as the "IEC prefixes". The IEC proposed kibi, mebi, gibi and tebi, with the symbols Ki, Mi, Gi and Ti respectively, in 1996. The names for the new prefixes are derived from the original SI prefixes combined with the term binary, but contracted, by taking the first two letters of the SI prefix and 'bi' from binary. The first letter of each such prefix is therefore identical to the corresponding SI prefixes.

Views
Personal tools