Жаd пен қателерді тексеру: RAM тарихы мен қазіргі жағдайы
RAM parity
Жадтың сақтық біті бітеді, дерек қателіктерін анықтап, компьютердегі жадтың дұрыстығын қамтамасыз етеді. DIMM, SIMM жад түрлерінде қолданылады. Қателік болса, дерек сақталады.
Ағылшыншамен салыстырыңыз: абзацты басыңыз — түпнұсқа терезеде ашылады. Абзац астындағы EN түймесі оны мәтін ішінде көрсетеді.
Мазмұны
Кіріспе
RAM-ның теңдігін тексеру – бұл кездейсоқ қолжетімділік жадында сақталған компьютерлік деректердің шағын бөлігінің (әдетте бір байт) жұп немесе тақ екенін көрсететін артық теңдік битін сақтау және сақталған мен есептелген теңдікті салыстырып, дерек қатесі болды ма жоқ па, анықтау. Алғашқыда теңдік биті жеке жад микросхемаларында сақталған; бірақ DIMM, SIMM сияқты модульдер енгізілгеннен кейін, теңдігі жоқ және теңдігі бар (әр 8 бит дерекке 1 бит қосылып, 9 бит сақталатын) нұсқалары қолжетімді болды.
RAM parity checking is the storing of a redundant parity bit representing the parity (odd or even) of a small amount of computer data (typically one byte) stored in random access memory, and the subsequent comparison of the stored and the computed parity to detect whether a data error has occurred. The parity bit was originally stored in additional individual memory chips; with the introduction of plug in DIMM, SIMM, etc. modules, they became available in non parity and parity (with an extra bit per byte, storing 9 bits for every 8 bits of actual data) versions.
Тарих
Ертедегі компьютерлер кейде паритеттік жадты пайдалануды қажет етті, ал паритетті тексеруді өшіру мүмкін болмады. Паритеттік қате әдетте машинаны тоқтатып, сақталмаған деректердің жоғалуына себеп болар еді; бұл, әдетте, бұзылған деректерді сақтаудан жақсырақ. Логикалық паритеттік жад, сондай-ақ жалған паритеттік жад деп те аталады, паритеттік жад қажет болатын компьютерлерде қолданылатын паритеттік емес жад. Логикалық паритеттік жад жадтан байт оқылған сайын, жадқа жазылғанда паритеттік битті сақтаудың орнына, әрқашан жарамды паритеттік битті қайта есептейді; есептелген паритеттік бит, деректердің бұзылғанын анықтамайды (сондықтан "жалған паритет" деп аталады), паритетті тексеру логикасына ұсынылады. Бұл 9 биттік паритеттік жадды пайдалануға арналған жүйеде, арзан 8 биттік жадты пайдалануға мүмкіндік береді.
Early computers sometimes required the use of parity RAM, and parity checking could not be disabled. A parity error typically caused the machine to halt, with loss of unsaved data; this is usually a better option than saving corrupt data. Logic parity RAM, also known as fake parity RAM, is non parity RAM that can be used in computers that require parity RAM. Logic parity RAM recalculates an always valid parity bit each time a byte is read from memory, instead of storing the parity bit when the memory is written to; the calculated parity bit, which will not reveal if the data has been corrupted (hence the name "fake parity"), is presented to the parity checking logic. It is a means of using cheaper 8 bit RAM in a system designed to use only 9 bit parity RAM.
Жады қателері
1970-1980 жылдары RAM-ның сенімділігі көбінесе жетілмейтін. Әсіресе, 1975-1983 жылдар аралығында индустрия стандарты болған 4116 DRAM-дарда үлкен мөлшерде сәтсіздіктер тіркелді, себебі олар үш түрлі кернеуді (5, +5 және +12) қолданды, бұл жұмыс температурасының жоғары болуына себеп болды. 1980 жылдардың ортасына қарай, олар 4164 және 41256 сияқты бір кернеулі DRAM-дарға алмастырылды, нәтижесінде сенімділік жақсарды. Дегенмен, RAM 1990 жылдарға дейін қазіргі заманғы сенімділік стандарттарына жете алмады. Содан бері қателер азайды, себебі қарапайым паритеттік RAM қолданыстан шықты; олар анықталмағандықтан көрінбейді немесе ECC RAM арқылы көрінбей түзетіледі. Қазіргі заманғы RAM сенімді деп есептеледі, және қателерді анықтайтын RAM маңызды емес қолданулар үшін көбінесе қолданылмайды. 1990 жылдардың ортасына қарай, көптеген DRAM-дар паритеттік тексеруден бас тартты, өйткені өндірушілер оның енді қажет емес екеніне сенімді болды. Паритеттік немесе ECC қолдауы бар кейбір құрылғылар BIOS-та тексеруді қосуға немесе өшіруге мүмкіндік береді, бұл арзан паритеттік емес RAM-ды пайдалануға болады. Егер паритеттік RAM қолданылса, чипсет әдетте бір биттік паритеттік қатеде құрылғыны тоқтатудың орнына, қателерді түзету үшін оны пайдаланады. Алайда, ECC жады туралы мақалада талданғандай, қателер күнделікті оқиға болмаса да, олар сирек кездеспейді. Өндірістік ақаулардың болмауына қарамастан, табиғи радиация кездейсоқ қателерге әкеледі; Google-дің көптеген серверлерінде жүргізілген сынақтар жад қателерінің сирек емес екенін және әртүрлі DIMM-дердегі қателердің жиілігі мен диапазоны бұрын хабарланғаннан әлдеқайда жоғары екенін көрсетті.
In the 1970s 80s, RAM reliability was often less than perfect; in particular, the 4116 DRAMs which were an industry standard from 1975 to 1983 had a considerable failure rate as they used triple voltages ( 5, +5, and +12) which resulted in high operating temperatures. By the mid 1980s, these had given way to single voltage DRAM such as the 4164 and 41256 with the result of improved reliability. However, RAM did not achieve modern standards of reliability until the 1990s. Since then errors have become less visible as simple parity RAM has fallen out of use; either they are invisible as they are not detected, or they are corrected invisibly with ECC RAM. Modern RAM is believed, with much justification, to be reliable, and error detecting RAM has largely fallen out of use for non critical applications. By the mid 1990s, most DRAM had dropped parity checking as manufacturers felt confident that it was no longer necessary. Some machines that support parity or ECC allow checking to be enabled or disabled in the BIOS, permitting cheaper non parity RAM to be used. If parity RAM is used the chipset will usually use it to implement error correction, rather than halting the machine on a single bit parity error. However, as discussed in the article on ECC memory, errors, while not everyday events, are not negligibly infrequent. Even in the absence of manufacturing defects, naturally occurring radiation causes random errors; tests on Google's many servers found that memory errors were not rare events, and that the incidence of memory errors and the range of error rates across different DIMMs were much higher than previously reported.
Қателерді түзету
Қарапайым «бар/жоқ» паритет тексеруі жадқа деректерді сақтау үшін қажеттілерден өзге, қосымша, артық биттерді талап етеді; бірақ егер қосымша биттер болса, оларды қателерді анықтау ғана емес, түзету үшін де пайдалануға болады. Мысалы, IBM PC/AT (FPM және EDO жады) компьютерлерінде қолданылған ерте жад, тексеруді немесе паритет тексеруді қолдамайтын нұсқаларда шықты (DIMM немесе SIMM модульдерінің орнына жеке RAM чиптерін қолданған ерте компьютерлерде паритет биттерін сақтау үшін қосымша чиптер қолданылды); егер компьютер паритет қатесін анықтаса, ол осы туралы хабарламаны көрсетіп, жұмысын тоқтататын еді. Бұрынғы типтерді алмастырған SDRAM және DDR модульдері әдетте қателерді тексерусіз немесе ECC (толық түзету, тек паритет емес) мүмкіндігімен қол жетімді. Оған жауап ретінде, әр бит үшін тоғыз жеке чип орнына үш чиптен тұратын SIMM модульдері, олар патентті бұзбайды деген теория бойынша танымал болды. Дегенмен, тоғыз чипті SIMM-нен үш чипті SIMM-ге көшу кейбір үйлесімділік мәселелерін тудырды. Бір жыл өткен соң, 1992 жылы Ван компаниясы Мицубишиге де сотқа шағымданып, бірақ ол сотта жеңіске жетпеді, себебі 1997 жылы сот лицензиялық келісімнің күшінде болғанын анықтады. Ақырында, 1990 жылдардың соңына қарай DIMM модульдері SIMM модульдерін нарықта ығыстырды, ал DIMM модульдері Ванның сот талаптарына жатпады.
Simple go/no go parity checking requires that the memory have extra, redundant bits beyond those needed to store the data; but if extra bits are available, they can be used to correct, as well as detect, errors. Earlier memory as used in, for example, the IBM PC/AT (FPM and EDO memory) were available in versions that supported either no checking or parity checking (in earlier computers that used individual RAM chips rather than DIMM or SIMM modules, extra chips were used to store parity bits); if the computer detected a parity error it would display a message to that effect and stop. The SDRAM and DDR modules that replaced the earlier types are usually available either without error checking or with ECC (full correction, not just parity). In response, SIMMs with three chips rather than nine separate chips for each bit became popular under the theory they did not infringe. However, the switch from nine chip SIMMs to three chip SIMMs caused some compatibility issues. One year later in 1992, Wang also sued Mitsubishi, but Wang did not ultimately prevail in that because the courts determined in 1997 that a licensing agreement was in place. Eventually by the end of the 1990s, DIMMs had supplanted SIMMs in the marketplace, and DIMMs were not subject to Wang's lawsuits.