Жадты тазалау: Қателерді жою және жүйе сенімділігін арттыру
Memory scrubbing
Жаңа буынды жадтардағы қателер (soft errors) – ғарыш сәулесінен немесе альфа-бөлшектерден туындайды. Жадыны тазалау (memory scrubbing) қателерді жоюға көмектеседі.
Ағылшыншамен салыстырыңыз: абзацты басыңыз — түпнұсқа терезеде ашылады. Абзац астындағы EN түймесі оны мәтін ішінде көрсетеді.
Мазмұны
Кіріспе
Жадты тазалау – компьютер жадының әрбір орнынан мәліметтерді оқу, қателерді түзету коды (ECC) арқылы біттік қателерді (болған жағдайда) түзету және түзетілген деректерді сол орнына қайта жазу процесі. Қазіргі заманғы компьютер жады чиптерінің жоғары интеграциялық тығыздығының арқасында жеке жад жасушаларының құрылымы ғарыштық сәулелерге және/немесе альфа бөлшектерінің шығарылуына сезімтал болатындай кішкентай болды. Осы құбылыстардың салдарынан туындайтын қателер жұмсақ қателер деп аталады. DIMM модульдерінің 8%-дан астамы жылына кем дегенде бір түзетілетін қатеге тап болады. Бұл DRAM және SRAM негізіндегі жадтар үшін мәселе тудыруы мүмкін. Кез келген жеке жад битінде жұмсақ қате пайда болу ықтималдығы өте төмен. Дегенмен, қазіргі заманғы компьютерлер, әсіресе серверлер, үлкен көлемдегі жадпен жабдықталған және ұзақ уақыт бойы үздіксіз жұмыс істегенде, орнатылған жадтың жалпы көлемінде жұмсақ қателердің пайда болу ықтималдығы жоғарылайды. ECC жадындағы ақпарат жад сөзіндегі бір біттік қатені түзетуге жететіндей артық көлемде сақталады. Сондықтан ECC жады жад мазмұнын тазалауды қолдай алады. Яғни, егер жад контроллері жадты жүйелі түрде тексеріп өтетін болса, бір біттік қателерді анықтауға болады, ECC тексеру сомасы арқылы қате біт анықталып, түзетілген деректер жадқа жазылуы мүмкін.
Memory scrubbing consists of reading from each computer memory location, correcting bit errors (if any) with an error correcting code (ECC), and writing the corrected data back to the same location. Due to the high integration density of modern computer memory chips, the individual memory cell structures became small enough to be vulnerable to cosmic rays and/or alpha particle emission. The errors caused by these phenomena are called soft errors. Over 8% of DIMM modules experience at least one correctable error per year. This can be a problem for DRAM and SRAM based memories. The probability of a soft error at any individual memory bit is very small. However, together with the large amount of memory modern computersespecially serversare equipped with, and together with extended periods of uptime, the probability of soft errors in the total memory installed is significant. The information in an ECC memory is stored redundantly enough to correct single bit error per memory word. Hence, an ECC memory can support the scrubbing of the memory content. Namely, if the memory controller scans systematically through the memory, the single bit errors can be detected, the erroneous bit can be determined using the ECC checksum, and the corrected data can be written back to the memory.
Шолу
Бір сөз ішінде бірнеше биттік қателердің пайда болу ықтималдығы артатындықтан, әрбір жад орнын үнемі, жеткілікті жиілікте тексеру маңызды, себебі бір биттік қателерді түзетуге болады, ал бірнеше биттік қателерді түзету мүмкін емес, әдеттегі (2008 жылғы) ECC жад модульдерінде. CPU-дан келетін қалыпты жад сұранымдарын бұзбау және өнімділіктің төмендеуіне жол бермеу үшін, жадты тазалау әдетте бос уақытта ғана жүргізіледі. Тазалау операциясы қалыпты оқу және жазу амалдарынан тұратындықтан, ол тазалаусыз операциямен салыстырғанда жадтың қуат тұтынуын арттыруы мүмкін. Сондықтан тазалау үнемі емес, мерзімді түрде жүзеге асырылады. Көптеген серверлерде тазалау периодын BIOS орнату бағдарламасында конфигурациялауға болады. CPU немесе DMA құрылғылары жүзеге асыратын қалыпты жад оқулары ECC қателеріне тексеріледі, бірақ деректердің локальдылығына байланысты олар адрестердің шектеулі диапазонымен ғана шектелуі мүмкін, ал қалған жад орындары ұзақ уақыт бойы өзгеріссіз қалуы мүмкін. Бұл орындар бірнеше жұмсақ қатеге ұшырауы мүмкін, ал тазалау белгілі бір уақыт ішінде барлық жадты тексеруді қамтамасыз етеді. Кейбір жүйелерде тек негізгі жад (DRAM негізінде) ғана емес, сонымен қатар CPU кэштері (SRAM негізінде) де тазалауға қабілетті. Көптеген жүйелерде екеуі үшін де тазалау жылдамдығын жеке-жеке орнатуға болады. Кэш негізгі жадтан әлдеқайда кішкентай болғандықтан, кэштерді тазалау жиілігі төмен болуы керек. Жадты тазалау сенімділікті арттырады, сондықтан оны RAS мүмкіндігі ретінде жіктеуге болады.
It is important to check each memory location periodically, frequently enough, before multiple bit errors within the same word are too likely to occur, because the one bit errors can be corrected, but the multiple bit errors are not correctable, in the case of usual (as of 2008) ECC memory modules. In order to not disturb regular memory requests from the CPU and thus prevent decreasing performance, scrubbing is usually only done during idle periods. As the scrubbing consists of normal read and write operations, it may increase power consumption for the memory compared to non scrubbing operation. Therefore, scrubbing is not performed continuously but periodically. For many servers, the scrub period can be configured in the BIOS setup program. The normal memory reads issued by the CPU or DMA devices are checked for ECC errors, but due to data locality reasons they can be confined to a small range of addresses and keeping other memory locations untouched for a very long time. These locations can become vulnerable to more than one soft error, while scrubbing ensures the checking of the whole memory within a guaranteed time. On some systems, not only the main memory (DRAM based) is capable of scrubbing but also the CPU caches (SRAM based). On most systems the scrubbing rates for both can be set independently. Because cache is much smaller than the main memory, the scrubbing for caches does not need to happen as frequently. Memory scrubbing increases reliability, therefore it can be classified as a RAS feature.
Нұсқалар
Әдетте екі нұсқа бар, патрульдік тазалау және талап бойынша тазалау деп аталады. Екеуі де жадты тазалау және мүмкіндігі болған жағдайда, қателерді түзетуді жүзеге асырады. Бірақ, екі нұсқаның басталып, орындалу әдісіндегі басты айырмашылық бар. Патрульдік тазалау жүйе бос тұрғанда автоматты түрде іске қосылады, ал талап бойынша тазалау деректер негізгі жадтан сұралғанда қателерді түзетуді орындайды.
There are usually two variants, known as patrol scrubbing and demand scrubbing. While they both essentially perform memory scrubbing and associated error correction (if it is doable), the main difference is how these two variants are initiated and executed. Patrol scrubbing runs in an automated manner when the system is idle, while demand scrubbing performs the error correction when the data is actually requested from main memory.