Browse Definitions:
Definition

# Hamming code

Contributor(s): Malathi Ram

Hamming code is a set of error-correction code s that can be used to detect and correct bit errors that can occur when computer data is moved or stored. Hamming code is named for R. W. Hamming of Bell Labs.

Like other error-correction code, Hamming code makes use of the concept of parity and parity bit s, which are bits that are added to data so that the validity of the data can be checked when it is read or after it has been received in a data transmission. Using more than one parity bit, an error-correction code can not only identify a single bit error in the data unit, but also its location in the data unit.

In data transmission, the ability of a receiving station to correct errors in the received data is called forward error correction (FEC) and can increase throughput on a data link when there is a lot of noise present. To enable this, a transmitting station must add extra data (called error correction bits ) to the transmission. However, the correction may not always represent a cost saving over that of simply resending the information. Hamming codes make FEC less expensive to implement through the use of a block parity mechanism.

Computing parity involves counting the number of ones in a unit of data, and adding either a zero or a one (called a parity bit ) to make the count odd (for odd parity) or even (for even parity). For example, 1001 is a 4-bit data unit containing two one bits; since that is an even number, a zero would be added to maintain even parity, or, if odd parity was being maintained, another one would be added. To calculate even parity, the XOR operator is used; to calculate odd parity, the XNOR operator is used. Single bit errors are detected when the parity count indicates that the number of ones is incorrect, indicating that a data bit has been flipped by noise in the line. Hamming codes detect two bit errors by using more than one parity bit, each of which is computed on different combinations of bits in the data. The number of parity bits required depends on the number of bits in the data transmission, and is calculated by the Hamming rule:

p
d + p + 1 < = 2 (1)

Where d is the number of data bits and p is the number of parity bits. The total of the two is called the Hamming code word, which is generated by multiplying the data bits by a generator matrix .

This was last updated in March 2010

### 1 comment

Send me notifications when other members comment.
Simple and understandable explanation. Thanks!
Cancel

## SearchCompliance

• ### PCAOB (Public Company Accounting Oversight Board)

The Public Company Accounting Oversight Board (PCAOB) is a Congressionally-established nonprofit that assesses audits of public ...

• ### cyborg anthropologist

A cyborg anthropologist is an individual who studies the interaction between humans and technology, observing how technology can ...

• ### RegTech

RegTech, or regulatory technology, is a term used to describe technology that is used to help streamline the process of ...

## SearchSecurity

• ### email spam

Email spam, or junk email, is unsolicited bulk messages sent through email with commercial, fraudulent or malicious intent.

• ### distributed denial of service (DDoS) attack

A distributed denial-of-service attack occurs when an attack originates from multiple computers or devices, usually from multiple...

• ### application whitelisting

Application whitelisting is the practice of identifying applications that have been deemed safe for execution and restricting all...

## SearchHealthIT

• ### athenahealth Inc.

Based in Watertown, Mass., athenahealth Inc. is a leading vendor of cloud-based EHRs for small to medium-sized physician ...

• ### Affordable Care Act (ACA or Obamacare)

The Affordable Care Act (ACA) is legislation passed in 2010 that changed how uninsured Americans enroll in and receive healthcare...

• ### HIPAA Privacy Rule

The Standards for Privacy of Individually Identifiable Health Information, commonly known as the HIPAA Privacy Rule, establishes ...

## SearchDisasterRecovery

• ### disaster recovery as a service (DRaaS)

One approach to a strong disaster recovery plan is DRaaS, where companies offload data replication and restoration ...

• ### data recovery

Data recovery restores data that has been lost, accidentally deleted, corrupted or made inaccessible. Learn how data recovery ...

• ### disaster recovery plan (DRP)

A company's disaster recovery policy is enhanced with a documented DR plan that formulates strategies, and outlines preparation ...

## SearchStorage

• ### virtual memory

Virtual memory is a memory management capability of an OS that allows a computer to compensate for physical memory shortages by ...

• ### yottabyte (YB)

A yottabyte is a measure of theoretical storage capacity and is 2 to the 80th power bytes, or, in decimal, approximately 1,000 ...

• ### Kilo, mega, giga, tera, peta, exa, zetta and all that

Kilo, mega, giga, tera, peta, exa, zetta are among the list of prefixes used to denote the quantity of something, such as a byte ...

## SearchSolidStateStorage

• ### PCIe SSD (PCIe solid-state drive)

A PCIe SSD (PCIe solid-state drive) is a high-speed expansion card that attaches a computer to its peripherals.

• ### SSD caching

SSD caching, also known as flash caching, is the temporary storage of data on NAND flash memory chips in a solid-state drive so ...

• ### NVDIMM (Non-Volatile Dual In-line Memory Module)

An NVDIMM (non-volatile dual in-line memory module) is hybrid computer memory that retains data during a service outage.

## SearchCloudStorage

• ### RESTful API

A RESTful application program interface breaks down a transaction to create a series of small modules, each of which addresses an...

• ### cloud storage infrastructure

Cloud storage infrastructure is the hardware and software framework that supports the computing requirements of a private or ...

• ### Zadara VPSA and ZIOS

Zadara Storage provides block, file or object storage with varying levels of compute and capacity through its ZIOS and VPSA ...

Close