· KLDP.org · KLDP.net · KLDP Wiki · KLDP BBS ·
EDAC



1. Intro

  • ¿ø¹®Àº [http]¿©±â ¿¡¼­ º¼ ¼ö ÀÖ´Ù.
  • ÀÌ À§Å°´Â À§ÀÇ ¿ø¹®¿¡ ´ëÇÑ ¹ø¿ªº» ÀÌ´Ù.
  • ¹ø¿ª: ÀåÇö¼º <hsjang@neowiz.com>


2. ÀÌ°Ô ¹ºµ¥?

EDAC ´Â "Error Detection And Correction"ÀÇ ¾àÀÚÀÌ´Ù. Linux EDAC ÇÁ·ÎÁ§Æ®´Â Linux Kernel Module ½Ã¸®ÁîÀÇ Áß ÄÄÇ»ÅÍ Çϵå¿þ¾î ¿¡·¯°ËÃâ ÆÄÆ®¿¡ Æ÷ÇԵǾî ÀÖ°í, ÇöÀç ¾Æ·¡ÀÇ ¿¡·¯ °ËÃâÀÌ Áö¿øµÈ´Ù.
  • ½Ã½ºÅÛ ·¥ ¿¡·¯(ÀÌ ÇÁ·ÎÁ§Æ®ÀÇ ±âº» ¸ñÀûÀ̸ç, °¡Àå ¸¹ÀÌ ±¸ÇöµÇ¾î ÀÖ´Ù) - ¸¹Àº ÄÄÇ»Å͵éÀÌ RAM EDAC(°í°¡¿ë¼º ¾îÇø®ÄÉÀ̼ÇÀ» ¸ñÇ¥·ÎÇϴ Ĩ¼Âµé) À» Áö¿øÇÑ´Ù. ±×·¯³ª ÀÌ ±â´ÉÀÌ µ¿ÀÛÇϱâ À§Çؼ± ECC RAM ÀÌ ÇÊ¿äÇÏ´Ù.
  • PCI ¹ö½º Àü¼Û¿¡·¯ - PCI ºê¸®Áö À§ÁÖÀ̸ç ÁÖº¯ÀåÄ¡ ¿¡·¯°ËÃâµµ Áö¿ø.

3. ÀÌ°Ô ¿Ö ÇÊ¿äÇÏÁö?

ÃÖ±ÙÀÇ Linux ½Ã½ºÅÛ¿¡¼­ EDAC ¸ðµâÀÌ ¾ø´Ù¸é...
  • PCI data ¿À·ù¸¦ °æÇèÇÏ°Ô µÉ °ÍÀÌ´Ù. (¿¹¸¦µé¸é, NIC³ª ½ºÅ丮Áö ¾î´ðÅÍ ¿Í PCI ¹ö½º »çÀ̸¦ ¿Ô´Ù°¬´ÙÇÏ´Â µ¥ÀÌÅ͵é) ±×¸®°í ´ëºÎºÐÀÇ ½Ã½ºÅÛÀº PCI µð¹ÙÀ̽º¿¡¼­ Á¦°øÇÏ´Â PCI Æи®Æ¼ ¿¡·¯¸¦ üũÇÏÁö ¾Ê´Â´Ù. (¾î¶²³ðµéÀº NMI ¸¦ À¯¹ß½ÃÅ°±âµµ Çϴµ¥ ´ç½ÅÀº ¹¹°¡ NMI¸¦ ¹ß»ý½ÃÅ°´ÂÁö ¸ð¸£Áö ¾Ê´Â°¡..)
    • [http]NMI¶õ?? - non maskable interrupt. ½Ã½ºÅÛÀÇ standard interrupt masking Å×Å©´Ð(ÀÌ°Ô¹¹Áö??)À¸·Î ¹«½ÃµÉ¼ö ¾ø´Â ÄÄÇ»ÅÍ ÇÁ·Î¼¼¼­ ÀÎÅÍ·´Æ®ÀÌ´Ù. ÀÌ°ÍÀº ÀϹÝÀûÀ¸·Î º¹±¸µÉ¼ö ¾ø´Â Çϵå¿þ¾î ¿¡·¯°¡ ¹ß»ýÇßÀ»¶§ ÁÖÀǸ¦ ÁÖ±â À§ÇÑ ½ÅÈ£·Î »ç¿ëµÈ´Ù.
  • ´ç½ÅÀÌ ECC ¸Þ¸ð¸®¸¦ °¡Áö°í ÀÖ°í Á¤Á¤°¡´ÉÇÑ ECC ¿À·ù¸¦ ¹ß°ßÇÑ´ÙÇصµ ±×°Ô Á¤È®È÷ ¹ºÁö ¾Ë ¼ö ¾øÀ»°ÍÀÌ´Ù. ½Ã½ºÅÛ¿¡ EDAC ¸ðµâÀÌ ¼³Ä¡µÇ¾î ÀÖ´Ù¸é, ¿¡·¯°¡ º¹±¸ÇÒ ¼ö ¾øÀ» Áö°æÀÌ µÇ±â Àü¿¡ ´ç½ÅÀº ³ª»Û(!) ¸Þ¸ð¸® ¸ðµâÀÌ ¾î¶²°ÍÀÎÁö ¾Ë¼ö ÀÖÀ»°ÍÀÌ´Ù. ÀÌ´Â ½Ã½ºÅÛÀÌ ¼­ºñ½º¿¡ ÅõÀԵDZâ Àü¿¡ Ãʵµ ºÒ·®À» ã¾Æ ³¾ ¼ö ÀÖ´Ù´Â °ÍÀ» ÀǹÌÇϱ⵵ ÇÑ´Ù.
  • ´ç½ÅÀÌ ECC¸¦ Áö¿øÇÏ´Â ¸ÞÀκ¸µå¸¦ °¡Áö°í Àִµ¥, BIOS¿¡¼­ ECC ¸ðµå¸¦ È°¼ºÈ­½ÃÅ°Áö ¾Ê¾Ò´Ù¸é, ¾Ë¼ö¾ø´Â ¸Þ¸ð¸® ¿¡·¯·Î ½Ã½ºÅÛÀÌ »¸À»¶§±îÁö ´ç½ÅÀº ¾Æ¹«°Íµµ ¾Ë ¼ö ¾ø´Ù. (ÀÌ °æ¿ì NMI °æ°íµµ ¹ÞÀ» ¼ö ¾ø°í ECC¸Þ¸ð¸®¸¦ »ç´Âµ¥ »ç¿ëÇÑ µ·Àº ³¶ºñµÇ´Â °ÍÀÌ´Ù.)

4. ¾î¶»°Ô ÄÑÁö??

  • PCI ¿¡·¯Ã¼Å·Àº ¾Æ·¡¿Í °°ÀÌ »ç¿ëÇÒ ¼ö ÀÖ´Ù.
dougal:~# modprobe edac_mc 
dougal:~# cd /sys/devices/system/edac/pci/
dougal:/sys/devices/system/edac/pci# cat check_pci_parity
0
dougal:/sys/devices/system/edac/pci# echo 1 > check_pci_parity
dougal:/sys/devices/system/edac/pci# cat pci_parity_count
1
dougal:/sys/devices/system/edac/pci# dmesg | tail -4
usb0: rxqlen 0 --> 4
usb0: no IPv6 routers present
EDAC MC: Ver: 2.0.1 May  9 2007
EDAC PCI: Detected Parity Error on 0000:00:09.0
dougal:/sys/devices/system/edac/pci# lspci -s 0000:00:09.0
00:09.0 Multimedia audio controller: Yamaha Corporation YMF-744B [DS-1S Audio Controller] (rev 02)
dougal:/sys/devices/system/edac/pci# arecord > /dev/null
Recording WAVE 'stdin' : Unsigned 8 bit, Rate 8000 Hz, Mono
Aborted by signal Interrupt...
dougal:/sys/devices/system/edac/pci# cat pci_parity_count
15
dougal:/sys/devices/system/edac/pci# dmesg | tail -4
EDAC PCI: Detected Parity Error on 0000:00:09.0
EDAC PCI: Detected Parity Error on 0000:00:09.0
EDAC PCI: Detected Parity Error on 0000:00:09.0
EDAC PCI: Detected Parity Error on 0000:00:09.0
¿À¸¶ÀÌ°«, ³ªÀÇ ·¦Å¾ÀÇ »ç¿îµå µð¹ÙÀ̽º°¡ ¸Á°¡Áø°Í °°´Ù.. Áö±ÝÇöÀç PCI üŷÀÌ edac_mc(memory controller) Ä¿³Î¸ðµâ¿¡ µé¾î°¡ ÀÖÁö¸¸ ¶§°¡ µÇ¸é ºÐ¸®µÉ °ÍÀÌ´Ù. À§¿¡¼­ º¸µíÀÌ PCI ¿¡·¯Ã¼Å·Àº ±âº»À¸·Î OFF µÇ¾î ÀÖ°í, »ç¿ëÇÏ·Á¸é À§¿Í °°ÀÌ ÄÑ¸é µÈ´Ù.

5. EDAC¿¡¼­ º¸¿©ÁÖ´Â ¿¡·¯¿¡ ´ëÇØ

EDAC ÀÌ ´ç½ÅÀÇ ½Ã½ºÅÛ¿¡¼­ ¿¡·¯¸¦ ¸®Æ÷Æà ÇÑ´Ù¸é [http]³» ÄÄ¿¡ ¿Ö ¸Þ¸ð¸® ¿¡·¯°¡ ¶ßÁö? ¿Í [http]³» ÄÄ¿¡ ¿Ö PCI ¿¡·¯°¡ ¶ßÁö? ¸¦ Âü°íÇضó. ¹ö±×¸®Æ÷Æ®³ª ¸ÞÀϸµ¸®½ºÆ®¿¡ Æ÷½ºÆÃÇϱâÀü¿¡ À§ÀÇ ¸µÅ©¿Í ÀÌ ¹®¼­¸¦ Âü°íÇؼ­ ¹®Á¦Á¡À» ¸ÕÀú È®ÀÎÇضó.

6. EDAC Bug µ¥ÀÌÅͺ£À̽º

¸¸¾à ´ç½ÅÀÌ ¹ö±×¸¦ ã¾Ò´Ù°í »ý°¢Çϸé [http]EDAC Bugzilla ¸¦ °Ë»öÇؼ­ ÀÌ¹Ì ¸®Æ÷Æ®µÇ¾ú´ÂÁö È®ÀÎÇضó. (ÇØ´ç¹ö±×ÀÇ cc ¸®½ºÆ®¿¡ ´ç½ÅÀ» Ãß°¡Çؼ­ ¾÷µ¥ÀÌÆ®¿¡ °ü·ÃµÈ ³»¿ëÀ» ¹Þ¾Æº¼ ¼ö ÀÖ´Ù). ã¾Æº¸°í ¾øÀ¸¸é »õ·Î¿î ¹ö±× ¸®Æ÷Æ®¸¦ Æ÷½ºÆÃÇÏ¸é µÈ´Ù.

7. In Kernel ¹®¼­

Ä¿³Î¼Ò½ºÀÇ Documentation/drivers/edac/ µð·ºÅ丮 ¾È¿¡µµ ¾à°£ÀÇ ¹®¼­°¡ ÀÖ´Ù.

8. EDAC ¸ÞÀϸµ ¸®½ºÆ®

´ëºÎºÐÀÇ EDAC °³¹ßÀÚµéÀº EDAC ¸ÞÀϸµ ¸®½ºÆ®¸¦ ÁÖ½ÃÇÏ°í ÀÖÀ¸³ª ´ëºÎºÐÀÇ EDAC °³¹ßÀÚµéÀÌ EDAC °³¹ßÀ» ÁÖ¾÷¹«·Î ÇÏ°í ÀÖÁö ¾ÊÀ½À» ±â¾ïÇØÁֱ⠹ٶõ´Ù. ±×·¯´Ï ¾î¶² ¹®Á¦°¡ »ý±â¸é À§Å°¿Í ¹ö±× µ¥ÀÌÅͺ£À̽º ±×¸®°í ¸ÞÀϸµ¸®½ºÆ®¸¦ ¸ÕÀú Âü°íÇØÁֱ⠹ٶõ´Ù. ¿©±â¼­ ãÁö ¸øÇÑ ¹®Á¦µéÀº ¸ÞÀϸµ ¸®½ºÆ®¿¡ Æ÷½ºÆ® Çضó.
  • °ø¼ÕÇÏ°Ô..
  • ´ç½Å ½Ã½ºÅÛ¿¡ ´ëÇÑ Á¤È®ÇÑ Á¤º¸¸¦ Á¦°ø.. (¿¹¸¦µé¸é Á¤È®ÇÑ Ä¿³Î¹öÀüÀ̶óµç°¡..)
  • ÂüÀ»¼ºÀ» °¡Áö°í..

¸¸¾à ´äÀåÀ» ¹Þ°Å³ª, À§Å°¿¡ ¾ø´Â °ÍÀ» ã¾Æ¼­ ¹®Á¦¸¦ ÇØ°áÇÏ¿´´Ù¸é ÀÌ °÷ À§Å°¿¡ ÇØ´ç Á¤º¸¸¦ ±â·ÏÇؼ­ ´Ù¸¥ »ç¶÷µé¿¡°Ô µµ¿òÀÌ µÉ ¼ö ÀÖµµ·Ï ÇÏÀÚ.

9. Userspace Tools

[http]http://sourceforge.net/projects/edac-utils ¿¡ »ç¿ëÀÚµéÀ» À§ÇÑ µµ±¸µéÀÌ °³¹ßÁß¿¡ ÀÖ´Ù. ÀÌ°÷¿¡´Â µµ¿òÀÌ ¸¹ÀÌ ÇÊ¿äÇÏ´Ï ¸¹Àº Âü¿© ¹Ù¶õ´Ù.

10. Status

EDAC ÄÚµå´Â Linux Kernel version 2.6.16¿¡ Æ÷ÇԵǾú´Ù. ±×¸®°í userspace API°¡ 2.6.18 °ú ±× ÀÌ»ó¿¡ Æ÷ÇԵǾú´Ù.

11. ¼Ò½ºÄÚµå ¾ò±â

Á» ´õ ÃֽŹöÀüÀÇ Äڵ带 ¿øÇϸé, ¼Ò½ºÆ÷Áö ´Ù¿î·Îµå ÆäÀÌÁö³ª À͸íSVN üũ¾Æ¿ôÀ» ÅëÇØ ¾òÀ» ¼ö ÀÖ´Ù.
$ cd mydev-dir
$ svn checkout https://bluesmoke.svn.sourceforge.net/svnroot/bluesmoke/trunk edac-trunk/
$ less bluesmoke/edac/patches/README
2007³â 5¿ù ÀÌÀü°ÍµéÀº CVS¿¡¼­ ãÀ» ¼ö ÀÖ´Ù. ¼Ò½ºÆ÷Áö ¸ÞÀÎÆäÀÌÁöÀÇ CVS Á¤º¸¸¦ È®ÀÎÇضó..

ÀÌ ÄÚµåµéÀ» »ç¿ëÇÏ·Á¸é ÃֽŠ¸®´ª½º Ä¿³Îµµ ÇÊ¿äÇÏ´Ù. ¾Æ´Ï¸é ±×³É ÃÖ±ÙÀÇ º¯°æ»çÇ׸¸ È®ÀÎÇÏ·Á¸é ¾Æ·¡ÀÇ SVN ¿¡¼­ º¼ ¼ö ÀÖ´Ù.

12. È÷½ºÅ丮

EDAC ÇÁ·ÎÁ§Æ®´Â ¸®´ª½º Ä¿³ÎÀÇ ¸ÞÀνºÆ®¸²¿¡ Æ÷ÇԵDZâ Àü "Bluesmoke" ¶ó´Â À̸§¿¡¼­ º¯°æµÈ °ÍÀÌ´Ù. Bluesmoke ÄÚµå´Â Thayne Harbaugh°¡ ÀÛ¼ºÇÏ¿´´Ù. Linux-ECC ÇÁ·ÎÁ§Æ®´Â EDACÀÇ ¼±ÇÁ·ÎÁ§Æ® ¿´°í EDAC°¡ ³ª¿À´Âµ¥ ¿µ°¨À» ÁÖ¾ú´Ù. Dan Hollis ¿Í ¿©·¯»ç¶÷µé¿¡ ÀÇÇØ °³¹ßµÈ Linux-ECC ÇÁ·ÎÁ§Æ®´Â ÇöÀç ´õÀÌ»ó À¯ÁöµÇÁö ¾Ê°í ÀÖ´Ù.

13. Áö¿øµÇ´Â Çϵå¿þ¾î ¸®½ºÆ®

  • Áö¿øµÇ´Â ¸ÞÀθ޸𸮠ÄÁÆ®·Ñ·¯µé
Manufacturer Model EDAC Driver Tech Docs Controll Capabilities Status
AMD Opteron k8_edac.c [http]AMD EDAC, ErrorScrub, BackgroundScrub Supported Development Tree
AMD Athlon64 k8_edac.c [http]AMD EDAC, ErrorScrub, BackgroundScrub Supported Development Tree
AMD AthlonFX k8_edac.c [http]AMD EDAC, ErrorScrub, BackgroundScrub Supported Development Tree
AMD 760 amd76x_edac.c [http]AMD Supported(Linux 2.6.16)
AMD 762 amd76x_edac.c [http]AMD Supported(Linux 2.6.16)
AMD 768 amd76x_edac.c [http]AMD Supported(Linux 2.6.16)
Intel e7500 e7xx_edac.c Supported(Linux 2.6.16)
Intel e7501 e7xx_edac.c Supported(Linux 2.6.16)
Intel e7505 e7xx_edac.c Supported(Linux 2.6.16)
Intel e7520 e752x_edac.c Supported(Linux 2.6.16)
Intel e7525 e752x_edac.c Supported(Linux 2.6.16)
Intel 8287p i82875p_edac.c EDAC Supported(Linux 2.6.16)
Intel e7210 Supported(Linux 2.6.16)
Intel 82860 i82860_edac.c Supported(Linux 2.6.16)
Intel 5000(P/V/X) i5000_edac.c Patch in CVS
Intel 82443BX/GX(440BX/GX) i82443bxgx_edac.c [http]Intel EDAC, ErrorScrub Patch in SVN
Radisys 82600 r82600_edac.c [http]Radisys EDAC, ErrorScrub Supported(linux 2.6.16)
Via VT82c693(pro133) [http]Local EDAC Author Needed


ID
Password
Join
"It seems strange to meet computer geeks who're still primarily running Windows... as if they were still cooking on a wood stove or something." - mbp


sponsored by andamiro
sponsored by cdnetworks
sponsored by HP

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2011-06-01 15:48:35
Processing time 0.0121 sec