HP Vectra XU 6/XXX HP Vectra XU 6/xxx, Guide to Optimizing performance - Page 66

Data Integrity

Page 66 highlights

ECC Code 2 Technical Reference Main Memory Data Integrity Previous generations of PCs protected the integrity of memory data by using parity bits stored with each data byte. Parity is calculated by adding up all the data bits in a byte. If the total is an even number, the parity bit is set to 0, while if the total is an odd number this will be 1. Parity was generated by the PC's memory controller when writing data to memory and this parity would be checked when subsequently reading that data. Any difference between the parity written and that read indicates that one of the bits in the corresponding data byte has changed. The advantage of parity is that it enables the memory controller to detect if memory data has been changed. However, it does not enable the memory controller to correct the error because the precise bit is not identified. Furthermore, if two bits of data are changed within the same byte of data, no error would be detected. Your PC uses a different system to guarantee the integrity of your memory data. This system, called Error Correcting Code (ECC), enables the memory controller to detect and automatically correct any single-bit data error that occurs. ECC Code is generated using a mechanism called 8-bit hamming code. This takes larger, disjointed groups of data bits and performs the same addition used for parity to produce an ECC bit. With eight bytes of data, eight ECC bits will be generated, which means that the groups of bits used to generate the ECC bits overlap. The groups of data bits used to calculate the ECC bits are carefully selected, so that a change in any one data bit will change a unique combination of the ECC bits. If a single bit data error occurs, your PC's memory controller decodes the ECC bits to identify exactly which data bit has been changed. 60 English

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75

2
Technical Reference
Main Memory
60
English
Data Integrity
Previous generations of PCs protected the integrity of memory data by
using parity bits stored with each data byte. Parity is calculated by
adding up all the data bits in a byte. If the total is an even number, the
parity bit is set to 0, while if the total is an odd number this will be 1.
Parity was generated by the PC’s memory controller when writing data
to memory and this parity would be checked when subsequently
reading that data. Any difference between the parity written and that
read indicates that one of the bits in the corresponding data byte has
changed.
The advantage of parity is that it enables the memory controller to
detect if memory data has been changed. However, it does not enable
the memory controller to correct the error because the precise bit is
not identified. Furthermore, if two bits of data are changed within the
same byte of data, no error would be detected.
ECC Code
Your PC uses a different system to guarantee the integrity of your
memory data. This system, called Error Correcting Code (ECC), enables
the memory controller to detect and automatically correct any single-bit
data error that occurs.
ECC Code is generated using a mechanism called 8-bit hamming code.
This takes larger, disjointed groups of data bits and performs the same
addition used for parity to produce an ECC bit. With eight bytes of
data, eight ECC bits will be generated, which means that the groups of
bits used to generate the ECC bits overlap.
The groups of data bits used to calculate the ECC bits are carefully
selected, so that a change in any one data bit will change a unique
combination of the ECC bits. If a single bit data error occurs, your PC’s
memory controller decodes the ECC bits to identify exactly which data
bit has been changed.