Ағылшыншамен салыстырыңыз: абзацты басыңыз — түпнұсқа терезеде ашылады. Абзац астындағы EN түймесі оны мәтін ішінде көрсетеді.
Мазмұны
Кіріспе
Компьютерлік қателерді түзету әдісі
Computer error correction technique
Деректерді тазалау – бұл қателерді түзету әдісі, ол аяққы міндетті пайдаланып, негізгі жадыны немесе сақтағышты мерзімді түрде қателерге тексеруге және оларды әртүрлі тексеру сомалары немесе деректердің көшірмелері түріндегі артық деректерді қолдану арқылы түзетуге мүмкіндік береді. Деректерді тазалау жеке түзетілетін қателердің жиналу мүмкіндігін азайтады, соның салдарынан түзетілмейтін қателердің тәуекелдерін төмендетеді. Деректердің тұтастығы компьютерлік операциялық жүйелерде, компьютерлік сақтау және деректерді беру жүйелерінде деректерді жазу, оқу, сақтау, беру немесе өңдеу кезінде маңызды мәселе болып табылады. Дегенмен, қазіргі қолданыстағы файлдық жүйелердің көпшілігі деректердің бұзылуына қарсы жеткілікті қорғауды қамтамасыз етпейді. Бұл мәселені шешу үшін деректерді тазалау деректердегі барлық сәйкессіздіктерді жүйелі түрде тексеруді және, жалпы алғанда, аппараттық немесе бағдарламалық құралдардың істен шығуын алдын алады. Бұл "тазалау" мүмкіндігі әдетте жадта, дискілік массивтерде, файлдық жүйелерде немесе FPGA-ларда қателерді анықтау және түзету механизмі ретінде кездеседі.
Data scrubbing is an error correction technique that uses a background task to periodically inspect main memory or storage for errors, then corrects detected errors using redundant data in the form of different checksums or copies of data. Data scrubbing reduces the likelihood that single correctable errors will accumulate, leading to reduced risks of uncorrectable errors. Data integrity is a high priority concern in writing, reading, storage, transmission, or processing of data in computer operating systems and in computer storage and data transmission systems. However, only a few of the currently existing and used file systems provide sufficient protection against data corruption. To address this issue, data scrubbing provides routine checks of all inconsistencies in data and, in general, prevention of hardware or software failure. This "scrubbing" feature occurs commonly in memory, disk arrays, file systems, or FPGAs as a mechanism of error detection and correction.
RAID
Деректерді тазалау кезінде RAID контроллері RAID массивіндегі барлық қатты дискілерді мерзімді түрде оқи алады және қолданбалар оларға қол жеткізбей тұрып, ақаулы блоктар бар-жоғын тексереді. Бұл біттік деңгейдегі қателерге байланысты деректердің бұзылуына және деректердің жоғалуына әкелетін ықтималдықты азайтады. Dell PowerEdge RAID орталарында "патрульдік оқу" деп аталатын мүмкіндік деректерді тазалауды және профилактикалық шараларды жүргізеді. OpenBSD жүйесінде bioctl(8) утилитасы жүйе әкімшісіне осы патрульдік оқуды /dev/bio псевдо құрылғысындағы BIOCPATROL ioctl арқылы басқаруға мүмкіндік береді; 2019 жылдан бастап бұл мүмкіндік LSI Logic және Dell контроллерлеріне арналған кейбір құрылғы драйверлерінде қолдау табады — бұл OpenBSD 5.8 (2015) нұсқасынан бастап mfi(4) және OpenBSD 6.4 (2018) нұсқасынан бастап mfii(4) драйверлерін қамтиды. FreeBSD және DragonFly BSD жүйелерінде патрульдік оқу RAID контроллеріне арналған арнайы утилита mfiutil(8) арқылы басқарылады, ол FreeBSD 8.0 (2009) және 7.3 (2010) нұсқаларынан бастап қолжетімді. FreeBSD-де жасалған осы іске асыру OpenBSD әзірлеушілеріне өздерінің жалпы bio(4) framework және bioctl утилитасына жеке контроллерлік утилита қажеттілігінсіз патрульдік оқуды қосу үшін пайда болды. 2008 жылы NetBSD жүйесінде OpenBSD-дің bio(4) framework-і бірізділікті тексеруді қолдау үшін кеңейтілді, ол /dev/bio псевдо құрылғысы үшін BIOCSETSTATE ioctl командасы арқылы іске асырылды, опциялар бастау және тоқтату (сәйкесінше BIOC SSCHECKSTART VOL және BIOC SSCHECKSTOP VOL) болды; 2019 жылдан бастап бұл тек бір драйвермен ғана — arcmsr(4) қолдау табады. Linux MD RAID, бағдарламалық RAID іске асыру ретінде, деректердің бірізділігін тексеру мүмкіндігін ұсынады және анықталған деректердің сәйкессіздіктерін автоматты түрде жөндеуді қамтамасыз етеді. Мұндай процедуралар әдетте апталық cron жұмысын орнату арқылы орындалады. Техникалық қызмет көрсету тексеру, жөндеу немесе бос жүріс операцияларын әрбір тексерілген MD құрылғысына жіберу арқылы жүзеге асырылады. Орындалған барлық операциялардың мәртебесі, сондай-ақ жалпы RAID мәртебесі әрқашан қолжетімді.
With data scrubbing, a RAID controller may periodically read all hard disk drives in a RAID array and check for defective blocks before applications might actually access them. This reduces the probability of silent data corruption and data loss due to bit level errors. In Dell PowerEdge RAID environments, a feature called "patrol read" can perform data scrubbing and preventive maintenance. In OpenBSD, the bioctl(8) utility allows the system administrator to control these patrol reads through the BIOCPATROL ioctl on the /dev/bio pseudo device; as of 2019, this functionality is supported in some device drivers for LSI Logic and Dell controllers — this includes mfi(4) since OpenBSD 5.8 (2015) and mfii(4) since OpenBSD 6.4 (2018). In FreeBSD and DragonFly BSD, patrol can be controlled through a RAID controller specific utility mfiutil(8) since FreeBSD 8.0 (2009) and 7.3 (2010). The implementation from FreeBSD was used by the OpenBSD developers for adding patrol support to their generic bio(4) framework and the bioctl utility, without a need for a separate controller specific utility. In NetBSD in 2008, the bio(4) framework from OpenBSD was extended to feature support for consistency checks, which was implemented for /dev/bio pseudo device under BIOCSETSTATE ioctl command, with the options being start and stop (BIOC SSCHECKSTART VOL and BIOC SSCHECKSTOP VOL, respectively); this is supported only by a single driver as of 2019 — arcmsr(4). Linux MD RAID, as a software RAID implementation, makes data consistency checks available and provides automated repairing of detected data inconsistencies. Such procedures are usually performed by setting up a weekly cron job. Maintenance is performed by issuing operations check, repair, or idle to each of the examined MD devices. Statuses of all performed operations, as well as general RAID statuses, are always available.
БТРФ
Linux үшін көшіру-жазу (CoW) файлдық жүйесі ретінде Btrfs қателерді оқшаулау, деректердің бұзылуын анықтау және түзету, сондай-ақ файлдық жүйені тазалау мүмкіндіктерін ұсынады. Файлдық жүйе блокты оқығанда тексеру сомасының қайшылығын анықтаса, ол алдымен ішкі көшірмелеу немесе RAID техникалары қолданылса, басқа құрылғыдан осы блоктың сау көшірмесін алуға (немесе жасауға) тырысады. Btrfs файлдық жүйенің толық тексеруін фондық режимде іске қосылатын файлдық жүйені тазалау тапсырмасын іске қосу арқылы бастай алады. Тазалау тапсырмасы файлдық жүйенің тұтастығын тексеріп, кездесетін нашар блоктарды автоматты түрде анықтап, жөндеуге тырысады.
As a copy on write (CoW) file system for Linux, Btrfs provides fault isolation, corruption detection and correction, and file system scrubbing. If the file system detects a checksum mismatch while reading a block, it first tries to obtain (or create) a good copy of this block from another device if its internal mirroring or RAID techniques are in use. Btrfs can initiate an online check of the entire file system by triggering a file system scrub job that is performed in the background. The scrub job scans the entire file system for integrity and automatically attempts to report and repair any bad blocks it finds along the way.
ZFS
ZFS файлдық жүйесі мен логикалық томды басқарушыны біріктіреді, оның ерекшеліктері деректердің бұзылу түрлерін тексеру, үздірсіз тұтастығын бақылау және автоматты түзетуді қамтиды. Sun Microsystems компаниясы ZFS-ті бастапқыдан-ақ деректердің тұтастығына баса назар аудара отырып, дискілердегі деректерді дискілік микрокод қателіктері және көлеңке жазулар сияқты мәселелерден қорғау үшін жасаған. ZFS деректердің шіруі және басқа да проблемалардың салдарынан туындаған үнсіз деректердің бұзылуын тексеру және түзетуге арналған Scrub деп аталатын түзету құралын ұсынады.
The features of ZFS, which is a combined file system and logical volume manager, include the verification against data corruption modes, continuous integrity checking, and automatic repair. Sun Microsystems designed ZFS from the ground up with a focus on data integrity and to protect the data on disks against issues such as disk firmware bugs and ghost writes. ZFS provides a repair utility called scrub that examines and repairs silent data corruption caused by data rot and other problems.
Жады
Қазіргі компьютерлік жад чиптерінің жоғары интеграциялық тығыздығының салдарынан, жеке жад жасушаларының құрылымы ғарыштық сәулелерге және/немесе альфа бөлшектерінің шығарылуына сезімтал болу үшін жеткілікті түрде кіші болды. Осы құбылыстардың нәтижесінде туындайтын қателер жұмсақ қателер деп аталады. Бұл DRAM және SRAM негізіндегі жадтар үшін мәселе тудыруы мүмкін. Жадты тазалау (scrubbing) компьютерлік оперативті жадыдағы бит қателерін анықтап, түзетуді ЭЦК жады, деректердің қосымша көшірмелері немесе басқа қателерді түзету кодтарын қолдану арқылы жүзеге асырады.
Due to the high integration density of contemporary 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. This can be a problem for DRAM and SRAM based memories. Memory scrubbing does error detection and correction of bit errors in computer RAM by using ECC memory, other copies of the data, or other error correction codes.
FPGA
Скруббинг – FPGA-ны қайта бағдарламалауға қолданылатын техника. Ол конфигурациялық бит ағынындағы қателерді іздеудің қажеттілігін жоққа шығарып, қателердің жинақталуын болдырмау үшін мерзімді түрде қолданылады, бұл дизайнды жеңілдетеді. Скруббингке қатысты FPGA-ны жай ғана қайта бағдарламалаудан бастап, ішінара қайта конфигурациялауға дейін әртүрлі тәсілдерді қолдануға болады. Скруббингтің ең қарапайым тәсілі – FPGA-ны белгілі бір мерзімдік интервалмен (әдетте есептелген бұзылу жылдамдығының 1/10 бөлігі) толығымен қайта бағдарламалау. Дегенмен, FPGA қайта бағдарламалау кезінде, микросекундтар мен миллисекундтарға дейін жұмыс істемейді. Мұндай үзіліске төзбейтін жағдайларда ішінара қайта конфигурациялау мүмкіндігі бар. Бұл техника FPGA жұмыс істеп тұрғанда қайта бағдарламалауға мүмкіндік береді.
Scrubbing is a technique used to reprogram an FPGA. It can be used periodically to avoid the accumulation of errors without the need to find one in the configuration bitstream, thus simplifying the design. Numerous approaches can be taken with respect to scrubbing, from simply reprogramming the FPGA to partial reconfiguration. The simplest method of scrubbing is to completely reprogram the FPGA at some periodic rate (typically 1/10 the calculated upset rate). However, the FPGA is not operational during that reprogram time, on the order of micro to milliseconds. For situations that cannot tolerate that type of interruption, partial reconfiguration is available. This technique allows the FPGA to be reprogrammed while still operational.