词条 | Data scrubbing |
释义 |
Data scrubbing is an error correction technique that uses a background task to periodically inspect main memory or storage for errors, then correct 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 the computer 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.[1][2][3]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.[4][5][6] RAID{{See also|RAID|bioctl|mdadm}}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.[7] In Dell PowerEdge RAID environments, a feature called "patrol read" can perform data scrubbing and preventive maintenance.[8] {{Anchor|bioctl|bio|bio(4)|OpenBSD}}In OpenBSD, the In FreeBSD and DragonFly BSD, patrol can be controlled through a RAID 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 File systemsBtrfs{{main|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{{snd}} if its internal mirroring or RAID techniques are in use.[16] 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.[17][18] ZFS{{main|ZFS}}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.[19] ZFS provides a repair utility called Memory{{main|Memory 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-detecting codes. FPGA{{main|Field-programmable gate array}}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.[20] See also
References1. ^{{cite web |title=Checking ZFS File System Integrity |url=http://docs.oracle.com/cd/E23823_01/html/819-5461/gbbwa.html |work=Oracle Solaris ZFS Administration Guide |publisher=Oracle |accessdate=25 November 2012}} 2. ^{{cite web |title=IRON FILE SYSTEMS |url=http://pages.cs.wisc.edu/~vijayan/vijayan-thesis.pdf |work=Doctor of Philosophy in Computer Sciences |publisher=University of Wisconsin-Madison |accessdate=9 June 2012 |author=Vijayan Prabhakaran| year=2006}} 3. ^{{cite web |title=Parity Lost and Parity Regained |url=http://www.cs.wisc.edu/adsl/Publications/parity-fast08.html}} 4. ^{{cite web |title=An Analysis of Data Corruption in the Storage Stack |url=http://www.cs.wisc.edu/adsl/Publications/corruption-fast08.pdf}} 5. ^{{cite web |title=Impact of Disk Corruption on Open-Source DBMS |url=http://www.cs.wisc.edu/adsl/Publications/corrupt-mysql-icde10.pdf}} 6. ^{{cite web |url=http://www.baarf.com/ |title=Baarf.com |publisher=Baarf.com |accessdate=November 4, 2011}} 7. ^Ulf Troppens, Wolfgang Mueller-Friedt, Rainer Erkens, Rainer Wolafka, Nils Haustein. Storage Networks Explained: Basics and Application of Fibre Channel SAN, NAS, ISCSI, InfiniBand and FCoE. John Wiley and Sons, 2009. p.39 8. ^{{cite web |url=http://stuff.mit.edu/afs/athena/dept/cron/documentation/dell-server-admin/en/Perc6i_6e/chapterb.htm#wp1054135 |title=About PERC 6 and CERC 6i Controllers |accessdate=2013-06-20 |quote=The Patrol Read feature is designed as a preventative measure to ensure physical disk health and data integrity. Patrol Read scans for and resolves potential problems on configured physical disks. |deadurl=yes |archiveurl=https://web.archive.org/web/20130529200217/http://stuff.mit.edu/afs/athena/dept/cron/documentation/dell-server-admin/en/Perc6i_6e/chapterb.htm#wp1054135 |archivedate=2013-05-29 |df= }} 9. ^{{cite web|url= http://bxr.su/o/sys/dev/ic/mfi.c#mfi_ioctl|title= /sys/dev/ic/mfi.c — LSI Logic & Dell MegaRAID SAS RAID controller|website= BSD Cross Reference|publisher= OpenBSD}} 10. ^{{cite web|url= http://bxr.su/o/sys/dev/pci/mfii.c#mfii_ioctl|title= /sys/dev/pci/mfii.c — LSI Logic MegaRAID SAS Fusion RAID controller|website= BSD Cross Reference|publisher= OpenBSD}} 11. ^{{cite web|url= http://bxr.su/f/usr.sbin/mfiutil/|title= mfiutil — Utility for managing LSI MegaRAID SAS controllers|website= BSD Cross Reference|publisher= FreeBSD|lay-url= http://mdoc.su/f,d/mfiutil.8}} 12. ^{{cite web|url= http://bxr.su/n/sys/dev/pci/arcmsr.c#arc_bio_setstate|title= sys/dev/pci/arcmsr.c — Areca Technology Corporation SATA/SAS RAID controller|website= BSD Cross Reference|publisher= NetBSD|lay-url= http://mdoc.su/n/arcmsr.4}} 13. ^{{cite web | url = https://raid.wiki.kernel.org/index.php/RAID_Administration | title = RAID Administration | accessdate = 2013-09-20 | publisher = kernel.org}} 14. ^{{cite web | url = https://wiki.archlinux.org/index.php/Software_RAID_and_LVM#Data_scrubbing | title = Software RAID and LVM: Data scrubbing | accessdate = 2013-09-20 | website = archlinux.org}} 15. ^{{cite web | url = https://www.kernel.org/doc/Documentation/md.txt | title = Linux kernel documentation: Documentation/md.txt | accessdate = 2013-09-20 | publisher = kernel.org}} 16. ^{{cite web | url = https://btrfs.wiki.kernel.org/index.php/Main_Page#Features | title = btrfs Wiki: Features | accessdate = 2013-09-20 | publisher = The btrfs Project}} 17. ^{{cite web | url = http://www.oracle.com/technetwork/articles/servers-storage-admin/advanced-btrfs-1734952.html | title = How I Use the Advanced Capabilities of Btrfs | date = August 2012 | accessdate = 2013-09-20 | first1 = Margaret | last1 = Bierman | first2 = Lenz | last2 = Grimmer}} 18. ^{{cite web | url = https://blogs.oracle.com/wim/entry/btrfs_scrub_go_fix_corruptions | title = btrfs scrub – go fix corruptions with mirror copies please! | date = 2011-09-28 | accessdate = 2013-09-20 | first = Wim | last = Coekaerts}} 19. ^{{cite web | url = https://blogs.oracle.com/bonwick/entry/zfs_end_to_end_data | title = ZFS End-to-End Data Integrity | date = 2005-12-08 | accessdate = 2013-09-19 | first = Jeff | last = Bonwick}} 20. ^{{cite web | url = http://www.xilinx.com/publications/archives/xcell/Xcell50.pdf | title = Xcell journal, issue 50 | work = FPGAs on Mars | page = 9 | year = 2004 | accessdate = 2013-10-16 | publisher = Xilinx}} External links
1 : Error detection and correction |
随便看 |
|
开放百科全书收录14589846条英语、德语、日语等多语种百科知识,基本涵盖了大多数领域的百科知识,是一部内容自由、开放的电子版国际百科全书。