GB2413652A - 7/4 Hamming error correction - Google Patents

7/4 Hamming error correction Download PDF

Info

Publication number
GB2413652A
GB2413652A GB0409430A GB0409430A GB2413652A GB 2413652 A GB2413652 A GB 2413652A GB 0409430 A GB0409430 A GB 0409430A GB 0409430 A GB0409430 A GB 0409430A GB 2413652 A GB2413652 A GB 2413652A
Authority
GB
United Kingdom
Prior art keywords
bit
hamming
bobble
error correction
values
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
GB0409430A
Other versions
GB0409430D0 (en
Inventor
David Hostettler Wain
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to GB0409430A priority Critical patent/GB2413652A/en
Publication of GB0409430D0 publication Critical patent/GB0409430D0/en
Publication of GB2413652A publication Critical patent/GB2413652A/en
Withdrawn legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/19Single error correction without using particular properties of the cyclic codes, e.g. Hamming codes, extended or generalised Hamming codes

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

A 7/4 hamming error correction technique has a hamming conversion table which converts all sixteen possible values of a four bit nibble into a corresponding seven bit reference bobble. Each bobble reference value is at least three bits different from the other fifteen. A dehamming conversion table may be generated from the hamming conversion table whereby single bit errors (values which differ from the reference values by one bit) may be corrected back to the reference value and the single bit error corrected. Normally such a process would be automated by computer, converting a stream or packet of hammed data back into raw form. A periodic or packet checksum should be added to the raw data so that multiple bit errors may be detected.

Description

24 1 3652 - 1 7/4 HAMMING ERROR CORRECTION This invention relates to a
digital error correction technique known as 7/4 hamming.
Hamming is a well known technique of protecting digital data from errors. The simplest and best known is 8/4 hamming. 8/4 hamming converts four bit binary nibbles into eight bit bytes, doubling the amount of data. However, the hammed data is error tolerant.
The 8/4 hamming process normally uses a hamming conversion table for the sixteen possible four bit nibbles containing corresponding eight bit byte reference values. Each byte reference value differs from the other fifteen by at least four bits.
During hamming, each four bit nibble of an input stream or packet of digital data is converted to its eight bit reference byte. The output stream or packet (of hammed data3 is hence twice the size of the input.
Errors may be corrected because if a bit in a byte becomes errored, the closest value as defined by the number of bit flips is used. Thus single bit errors (within an eight bit hammed byte) are detected and correctable One bit error per eight hammed bits is correctable ( 12%).
Double bit errors are detected but the errored byte is equi-diseant from at least two byte reference values. Hence, double bit errors (per byte) are detected but cannot be corrected.
Dehamming usually uses a 8/4 dehamming conversion table for the 256 possible byte values, of which only 16 are the valid reference entries. There are 128 single bit error entries (correctable) and 112 multiple bit error entries (uncorrectable).
8/4 hamming can only corre* single bit errors. However, in order to do this, each reference value need only be three bits different from the others, rather than four.
Multiple bit errors should be detected (but not corrected) by a checksum anyway.
According to the present invention there is provided a new hamming technique that detects and corrects one bit error in every seven hammed bits, with optional detection of double or higher bit errors by a checksum.
A specific embodiment of the invention will now be described by way of example with reference to the accompanying figures: Figure 1 shows 7/4 hamming table 1.
Figure 2 shows 7/4 hamming table 2.
Figure 3 shows 7/4 dehamming table t.
Figure 4 shows 7/4 dehamming table 2.
This new hamming technique is known as 7/4 hamming. Four bit nibbles are converted into seven bit bobbles using a conversion table. Each bobble reference value is at least THREE BITS DIFFERENT from the other fifteen reference values.
If a bit error occurs within a bobble, it may be recovered to its nearest reference value, as defined by the number of bit flips. It may then be converted back to its prehammed nibble. Thus a single bit error (SBE) may be tolerated in every seven bits (A 14%) of hammed data.
However, it does not detect double bit errors, but since these are unrecoverable anyway, they are best detected using a checksum. The error resilience is better than 8/4 hamming and the amount of data is only increased by 75%.
Also, even compared with 6/3 hamming (see my earlier patent) although the error resilience appears worse, the amount of data is not doubled. The amount of hammed data is 12.5% less than 8/4 or 6/3 hamming, reducing packet size which reduces the chance of error.
There are many 7/4 hamming conversion tables which may be found by a trivial process of finding sixteen seven bit values that are different from each other by three or more bits. Of the two hamming tables shown, table 2 is favoured, because it has a better distribution of Os and Is. In some applications this could be significant.
Dehamming usually uses a 7/4 dehamming conversion table for the 128 possible bobble values, of which only 16 are valid reference entries. There are 112 single bit error entries, all of which are classed as correctable. The 7/4 dehamming conversion table may be generated by treating each of the 128 possible bobble values as: 1) an exact match if it matches a reference value; or 2) a single bit error if it is one bit different from a reference value.
In applications where it is expected that bit errors occur together packets should be interleaved after hamming. By interleaving bits, systematic errors are avoided. For example, each seventh bit should be put into its corresponding seventh of a packet (of data).
Hence, Bobble 00000001 11111122 22222333 33334444 44455555 55666666 67777777 Bit 65432106 54321065 43210654 32106543 21065432 10654321 06543210 Becomes Bobble 01234560 1234560123456012 34560123 45601234 56012345 60123456 Bit 77777776 66666655 55555444 44443333 33322222 22111111 10000000
APPENDIX A
ERROR CORRECTION PROBABILITIES
Assuming no systematic effects, in order to determine the probabilities of packets of 7/4 hammed data being correctable the following derivations are provided. Let,
Pe be the probability of a single bit in error Np be the number of bits in a packet n be the number of bit errors in a packet The probability of one combination of exactly n bit errors occurring is: n Np- n Po = Pe. (1- Pe) If we have a combination of n error bits, the probability that the (m+1)th bit is in a previously errored bobble is the same as that of the mth bit, with an extra term: Pw(m+1) = Pw(m) + 6 (1 - Pw(m) ) ; with Pw(1) = 0 (Npm) Hence probability of this combination being non-correctable (at least one bobble containing two or more bit errors) is: n \ Pc = / Pw(m+l); the sum of Pw(m+1) from m=0 to m=n-1 l m=0 The number of combinations of n bit errors in a packet of Np bits is: Nc = Np! n! (Np- n)! Thus the probability of a packet occurring with exactly n bit errors that is noncorrectable (two or more of the bits in at least one bobble) is: n-1 n Npn \ Pn = Po. Nc. Pc = Pe. (1- Pe) . Np! . / Pw(m+1) n! (Np- n)! / m=0 - 4 For completeness, the probability of a packet with n bit errors occurring is: n Np- n Pr = Po. Nc = Pe. (1 - Pe) . NO! n! (Np- n)!

Claims (5)

CLAMS
1. A digital error correction technique comprising a hamming table of conversion values, converting four bit nibble values into seven bit bobble reference values.
2. A digital error correction technique as claimed in Claim 1 wherein each seven bit bobble reference value is at least three bits different from the fifteen others.
3 A digital error correction technique as claimed in Claims 1 and 2 wherein interleaving the hammed bits may be used to corre* any systematic errors.
4. A digital error correction technique as claimed in Claims 1, 2 and 3 wherein a corresponding dehamming table of conversion values converting seven bit bobbles back into four bit nibbles may be used to correct a single bit error per seven bit bobble.
5. A digital error correction technique as claimed in Claims 1, 2, 3 and 4 wherein two or more bit errors per seven bit bobble may be detected by a checksum but not corrected.
GB0409430A 2004-04-28 2004-04-28 7/4 Hamming error correction Withdrawn GB2413652A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
GB0409430A GB2413652A (en) 2004-04-28 2004-04-28 7/4 Hamming error correction

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB0409430A GB2413652A (en) 2004-04-28 2004-04-28 7/4 Hamming error correction

Publications (2)

Publication Number Publication Date
GB0409430D0 GB0409430D0 (en) 2004-06-02
GB2413652A true GB2413652A (en) 2005-11-02

Family

ID=32408148

Family Applications (1)

Application Number Title Priority Date Filing Date
GB0409430A Withdrawn GB2413652A (en) 2004-04-28 2004-04-28 7/4 Hamming error correction

Country Status (1)

Country Link
GB (1) GB2413652A (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030066014A1 (en) * 2001-05-16 2003-04-03 Van Dijk Marten Erik Coding for informed decoders

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030066014A1 (en) * 2001-05-16 2003-04-03 Van Dijk Marten Erik Coding for informed decoders

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
ECE 202 - Introduction to Electrical Engineering - Lab 3: Introduction to Error Control Coding- Northwestern University 2000,2002 - Author C. Swider - Retrieved form www.ece.northwestern.edu/ïbutz/202/lab3/lab3.htm *
Mathematical Excalibur Vol 3 No 3 June/August/ 1997 Retrieved from www.math.ust.hk/excalibur/v3_n3.pdf *

Also Published As

Publication number Publication date
GB0409430D0 (en) 2004-06-02

Similar Documents

Publication Publication Date Title
US7203890B1 (en) Address error detection by merging a polynomial-based CRC code of address bits with two nibbles of data or data ECC bits
Zeh et al. Optimal linear and cyclic locally repairable codes over small fields
AU6753000A (en) System and method for detecting double-bit errors and for correcting errors due to component failures
US7096403B2 (en) Iterative concatenated code decoding circuit and encoding/decoding system using the same
JP2010122828A (en) Error judging circuit and shared memory system
RU2448359C1 (en) Apparatus for storing and transmitting data with error correction in data byte and error detection in data bytes
US8015478B2 (en) Data processing
SE466368B (en) DATA PROCESSING COMPOSITION COMPOSED OF FOUR DATA PROCESSING MODULES WITH PRINCIPLE IDENTICAL CONSTRUCTION, WITH PROTECTION BASED AGAINST SIMULTANEOUS BIT ERRORS IN MULTIPLE DATA PROCESSING MODULES AND AGAINST DATA PROCEDURES
US7093183B2 (en) Symbol level error correction codes which protect against memory chip and bus line failures
US8365053B2 (en) Encoding and decoding data using store and exclusive or operations
US9141466B2 (en) Correcting double-bit burst errors using a low density parity check technique
GB2413652A (en) 7/4 Hamming error correction
GB2412453A (en) 6/3 Hamming Error Correction
US4868829A (en) Apparatus useful for correction of single bit errors in the transmission of data
US5539754A (en) Method and circuitry for generating syndrome bits within an error correction and detection circuit
RU2450332C1 (en) Information storage device with single and double error detection
RU2450331C1 (en) Apparatus for storing and transmitting data with single error correction in data byte and arbitrary error detection in data bytes
Lala A single error correcting and double error detecting coding scheme for computer memory systems
US7475326B2 (en) Error detection and correction method and system for memory devices
RU2542665C1 (en) Device of data storage and transmission with detection and correction of errors in information bytes
KR20080022630A (en) Data path in semiconductor memory device including error correction code
RU107606U1 (en) STORAGE AND TRANSMISSION DEVICE WITH SINGLE ERROR CORRECTION IN THE BYTE OF INFORMATION AND DETECTION OF ARRIVAL ERRORS IN THE BYTE OF INFORMATION
Dass et al. Repeated burst error detecting linear codes
JPH0345020A (en) Cyclic code processing circuit
ES434863A1 (en) Error syndrome and correction code forming devices

Legal Events

Date Code Title Description
WAP Application withdrawn, taken to be withdrawn or refused ** after publication under section 16(1)