CN111782439B - Double-disk circulation verification method based on horizontal coding - Google Patents
Double-disk circulation verification method based on horizontal coding Download PDFInfo
- Publication number
- CN111782439B CN111782439B CN202010655155.4A CN202010655155A CN111782439B CN 111782439 B CN111782439 B CN 111782439B CN 202010655155 A CN202010655155 A CN 202010655155A CN 111782439 B CN111782439 B CN 111782439B
- Authority
- CN
- China
- Prior art keywords
- data
- check
- disk
- value
- mapping table
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 23
- 238000012795 verification Methods 0.000 title claims description 41
- 238000013507 mapping Methods 0.000 claims abstract description 43
- 125000004122 cyclic group Chemical group 0.000 claims description 10
- 238000011084 recovery Methods 0.000 claims description 9
- 238000010586 diagram Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 239000002360 explosive Substances 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0689—Disk arrays, e.g. RAID, JBOD
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Quality & Reliability (AREA)
- Computer Security & Cryptography (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
Description
技术领域technical field
本发明属于数据存储领域,具体是一种基于水平编码的双盘循环校验方法。The invention belongs to the field of data storage, in particular to a horizontal encoding-based double-disk cyclic verification method.
背景技术Background technique
随着互联网的快速发展和大数据时代的到来,网络数据信息呈现出爆炸性的增长趋势,对数据进行高效益的存储、管理和使用已经成为Internet和其相关行业亟待解决的问题,对网络存储系统的性能提出了巨大的挑战。现如今,网络存储系统在存储容量、数据可用性以及I/O性能等方面都得到了很大的提高,网络存储在各行业得到越来越广泛的应用。目前,主流的网络存储技术主要为三种:直连存储(Directed Attached Storage)、附网存储(Network Attached Storage)、存储区域网(Storage Area Network),每一种网络都有各自的适用领域。With the rapid development of the Internet and the advent of the era of big data, network data information is showing an explosive growth trend. The efficient storage, management and use of data has become an urgent problem to be solved by the Internet and related industries. The network storage system performance poses a huge challenge. Nowadays, network storage systems have been greatly improved in terms of storage capacity, data availability, and I/O performance, and network storage has been more and more widely used in various industries. Currently, there are mainly three mainstream network storage technologies: Directed Attached Storage, Network Attached Storage, and Storage Area Network, each of which has its own applicable fields.
存储需求的迅猛发展使得工业界对磁盘容量、节能等方面提出了更高的要求,为此Chen P M,Lee E K,Gibson G A等人提出了RAID技术《RAID:high-performance,reliable secondary storage[J].Acm Computing Surveys,1994,26(2):145-185》。然而随着大数据的发展,传统RAID技术只有一块校验盘,在磁盘频繁读写方面存在先天不足,对于特定数据频繁存取的存储环境并不适应。数据在频繁读写数据盘的时候需要时刻进行校验盘校验,而校验盘的读写速率会成为数据存储的瓶颈,尤其是在交互性强的应用程序,网络游戏等读写频繁的系统中,此问题尤为严重。The rapid development of storage requirements has made the industry put forward higher requirements for disk capacity and energy saving. For this reason, Chen P M, Lee E K, Gibson GA and others proposed the RAID technology "RAID: high-performance, reliable secondary storage [J ]. Acm Computing Surveys, 1994, 26(2): 145-185". However, with the development of big data, the traditional RAID technology has only one parity disk, which has inherent shortcomings in frequent disk read and write, and is not suitable for the storage environment where specific data is frequently accessed. When the data is frequently read and written to the data disk, the verification disk needs to be verified at all times, and the read and write speed of the verification disk will become the bottleneck of data storage, especially in interactive applications, online games, etc. system, this problem is particularly serious.
发明内容Contents of the invention
针对现有技术的不足,本发明拟解决的技术问题是,提供一种基于水平编码的双盘循环校验方法。Aiming at the deficiencies of the prior art, the technical problem to be solved by the present invention is to provide a double disk cyclic verification method based on horizontal coding.
本发明解决所述技术问题的技术方案是,提供一种基于水平编码的双盘循环校验方法,其特征在于该方法包括以下步骤:The technical solution of the present invention to solve the technical problem is to provide a double-disk cyclic verification method based on horizontal encoding, which is characterized in that the method includes the following steps:
(1)水平编码的布局由N个磁盘组成,其中包括N-2个数据盘和2个校验盘;N>2;将每个数据盘划分成m个大小相等的数据块;每个校验盘划分成m个与数据块相同大小的校验块;对所有磁盘进行条带化,位于同一行的数据块和校验块构成一个条带,共形成m个条带;数据盘之间并行工作,条带之间顺序工作;m≥1;(1) The layout of horizontal coding consists of N disks, including N-2 data disks and 2 check disks; N>2; each data disk is divided into m data blocks of equal size; each check disk The check disk is divided into m check blocks of the same size as the data block; all disks are striped, and the data blocks and check blocks in the same row form a stripe, forming a total of m stripes; between data disks Work in parallel, work sequentially between stripes; m≥1;
(2)在基于该布局的存储系统中构建一个映射表,映射表中相应的值表示相同偏移的条带中校验值所在位置;对映射表中的所有标记设置相同的初始值,该初始值代表当前校验值存放在第二个校验盘中;(2) Construct a mapping table in the storage system based on the layout, and the corresponding value in the mapping table indicates the location of the check value in the strip with the same offset; set the same initial value for all the marks in the mapping table, the The initial value represents the current calibration value stored in the second calibration disk;
在写请求到来时,按照数据块的大小将写请求数据分割为若干份,以条带为单位进行数据写操作,生成校验值并存入相应的校验盘;每存入一次新校验值后,都要对映射表中当前条带对应的标记取反,更新标记;直到写满所有条带;When the write request comes, the write request data is divided into several parts according to the size of the data block, and the data write operation is performed in units of stripes, and the check value is generated and stored in the corresponding check disk; each time a new check is stored value, the flag corresponding to the current stripe in the mapping table must be reversed, and the flag should be updated; until all stripes are filled;
(3)所有条带写满后,对所有最终校验值进行归并。(3) After all stripes are full, merge all final check values.
与现有技术相比,本发明有益效果在于:Compared with the prior art, the present invention has the beneficial effects of:
1.提高数据的读写速率。由于传统的RAID架构中只包含单个校验盘,在写入新数据时,需要读旧校验值和旧数据,再将生成的新数据写入校验盘中,这样会大大增加因读写校验盘而产生的延时。本方法在传统RAID的基础上增加了一个校验盘,采用双校验盘操作,一个校验盘用于读校验数据,另一个校验盘用于写校验数据,分工作业,有效解决了校验盘的读写瓶颈。1. Improve the data read and write rate. Since the traditional RAID architecture only includes a single check disk, when writing new data, it is necessary to read the old check value and old data, and then write the generated new data into the check disk, which will greatly increase the The delay caused by checking the disk. This method adds a verification disk on the basis of traditional RAID, adopts double verification disk operation, one verification disk is used for reading verification data, and the other verification disk is used for writing verification data, and the work is divided into tasks, effectively Solved the read and write bottleneck of the verification disk.
2.采用具有分工读写的双校验盘操作,大大提高了存储系统的性能。2. The double check disk operation with division of labor for reading and writing is used, which greatly improves the performance of the storage system.
3.映射表占磁盘的空间较小,有效缩小了因校验磁盘归并产生的影响。3. The mapping table takes up less space on the disk, which effectively reduces the impact of disk merging for verification.
4.当某一个磁盘发生故障时,根据整个RAID磁盘组中相同条带的其他数据块和校验块进行异或,保证存储系统的可靠性。4. When a certain disk fails, XOR is performed according to other data blocks and parity blocks in the same stripe in the entire RAID disk group to ensure the reliability of the storage system.
附图说明Description of drawings
图1是本发明实施例1的双盘循环校验流程示意图。FIG. 1 is a schematic diagram of a dual-disk cyclic verification process in
图2是本发明实施例1的映射表标记的初始值示意图。FIG. 2 is a schematic diagram of the initial value of the mapping table flag in
图3是本发明实施例1的校验块P0中的局部校验值生成示意图。Fig. 3 is a schematic diagram of generation of a local check value in a check block P 0 according to
图4是本发明实施例1的校验块P0'中的局部校验值生成示意图。Fig. 4 is a schematic diagram of generating a local check value in a check block P 0 ′ according to
图5是本发明实施例1的校验块P0中的最终校验值生成示意图。Fig. 5 is a schematic diagram of generating a final check value in the check block P 0 according to
图6是本发明实施例1的校验块P1中的最终校验值和P2中的局部校验值生成示意图。Fig. 6 is a schematic diagram of generation of the final check value in the check block P1 and the partial check value in P2 according to
图7是本发明实施例1的经过四次写请求后生成的映射表标记示意图。FIG. 7 is a schematic diagram of markings of the mapping table generated after four write requests according to
具体实施方式Detailed ways
下面给出本发明的具体实施例。具体实施例仅用于进一步详细说明本发明,不限制本申请权利要求的保护范围。Specific examples of the present invention are given below. The specific embodiments are only used to further describe the present invention in detail, and do not limit the protection scope of the claims of the present application.
本发明提供了一种基于水平编码的双盘循环校验方法(简称方法),其特征在于该方法包括以下步骤:The invention provides a kind of double-disk cyclic verification method (abbreviation method) based on horizontal coding, it is characterized in that the method comprises the following steps:
(1)水平编码的布局由N个磁盘组成,其中包括N-2个数据盘和2个校验盘;将每个数据盘划分成m个大小相等的数据块,用于存储用户数据;每个校验盘划分成m个与数据块相同大小的校验块,用于存储校验数据;对所有磁盘进行条带化,位于同一行的数据块和校验块构成一个条带,共形成m个条带;数据盘之间并行工作,条带之间顺序工作;N>2;m≥1;(1) The layout of the horizontal encoding is composed of N disks, including N-2 data disks and 2 check disks; each data disk is divided into m data blocks of equal size for storing user data; A parity disk is divided into m parity blocks of the same size as the data block, which are used to store parity data; all disks are striped, and the data blocks and parity blocks in the same row form a strip, forming a total of m stripes; data disks work in parallel, and stripes work sequentially; N>2; m≥1;
(2)在基于该布局的存储系统中构建一个映射表,映射表中相应的值表示相同偏移的条带中校验值所在位置;对映射表中的所有标记设置相同的初始值,初始值设置为0或1,该初始值代表当前校验值存放在第二个校验盘中;(2) Construct a mapping table in the storage system based on this layout, and the corresponding value in the mapping table indicates the position of the check value in the strip with the same offset; set the same initial value for all the marks in the mapping table, the initial The value is set to 0 or 1, and the initial value represents that the current calibration value is stored in the second calibration disk;
在写请求到来时,按照数据块的大小将写请求数据分割为若干份,以条带为单位进行数据写操作,生成校验值并存入相应的校验盘;每存入一次新校验值后,都要对映射表中当前条带对应的标记取反,更新标记;直到写满所有条带;When the write request comes, the write request data is divided into several parts according to the size of the data block, and the data write operation is performed in units of stripes, and the check value is generated and stored in the corresponding check disk; each time a new check is stored value, the flag corresponding to the current stripe in the mapping table must be reversed, and the flag should be updated; until all stripes are filled;
(3)所有条带写满后,对所有最终校验值进行归并。(3) After all stripes are full, merge all final check values.
优选地,步骤2)具体是:在基于该布局的存储系统中构建一个映射表,映射表中相应的值表示相同偏移的条带中校验值所在位置;对映射表中的所有标记设置相同的初始值,初始值设置为0或1,该初始值代表当前校验值存放在第二个校验盘中;Preferably, step 2) is specifically: constructing a mapping table in the storage system based on the layout, the corresponding value in the mapping table represents the location of the check value in the strip of the same offset; The same initial value, the initial value is set to 0 or 1, the initial value represents the current calibration value stored in the second calibration disk;
第一次写请求到来,按照数据块的大小将写请求数据分割为若干份,将分割后的写请求数据从第一个条带的第一个数据块开始并行写入,新写入的数据与存储系统的初始值进行异或生成校验值,并存到第一个校验盘中,并对映射表中当前条带对应的标记取反;When the first write request arrives, the write request data is divided into several parts according to the size of the data block, and the divided write request data is written in parallel from the first data block of the first stripe, and the newly written data Perform XOR with the initial value of the storage system to generate a check value, store it in the first check disk, and reverse the mark corresponding to the current stripe in the mapping table;
第二次写请求到来,判断当前条带是否写满;若未写满,按照数据块的大小将写请求数据分割为若干份,将分割后的写请求数据写入与上一个写请求数据相邻的空闲数据块中,新写入的数据和第一个校验盘中已经存入的校验值相互异或生成新的校验值,并存到第二个校验盘中,并对映射表中当前条带对应的标记取反;若已写满,则从下一个条带的第一个数据块开始写入,新写入的数据与存储系统的初始值进行异或生成该条带的校验值,并存到第一个校验盘中,并对映射表中当前条带对应的标记取反;When the second write request arrives, judge whether the current stripe is full; if it is not full, divide the write request data into several parts according to the size of the data block, and write the divided write request data corresponding to the previous write request data. In adjacent free data blocks, the newly written data and the check value already stored in the first check disk are XORed with each other to generate a new check value, which is stored in the second check disk, and mapped Invert the mark corresponding to the current stripe in the table; if it is full, start writing from the first data block of the next stripe, and XOR the newly written data with the initial value of the storage system to generate the stripe check value, and store it in the first check disk, and reverse the mark corresponding to the current stripe in the mapping table;
第三次写请求到来,判断当前条带是否写满;若未写满,按照数据块的大小将写请求数据分割为若干份,将分割后的写请求数据写入与上一个写请求数据相邻的空闲数据块中,新写入的数据和第二个校验盘中已经存入的校验值相互异或生成新的校验值,并将第一次写请求时第一个校验盘中的校验值替换成新的校验值,同时对映射表中当前条带对应的标记取反;若已写满,则从下一个条带的第一个数据块开始写入,新写入的数据与存储系统的初始值进行异或生成该条带的校验值,并存到第一个校验盘中,同时对映射表中当前条带对应的标记取反;When the third write request arrives, judge whether the current stripe is full; if it is not full, divide the write request data into several parts according to the size of the data block, and write the divided write request data corresponding to the previous write request data. In adjacent free data blocks, the newly written data and the check value stored in the second check disk are XORed with each other to generate a new check value, and the first check value in the first write request The check value in the disk is replaced with a new check value, and at the same time, the mark corresponding to the current stripe in the mapping table is reversed; if it is full, write from the first data block of the next stripe, and the new The written data is XORed with the initial value of the storage system to generate the verification value of the stripe, and stored in the first verification disk, and at the same time, the flag corresponding to the current stripe in the mapping table is reversed;
重复上述步骤,直到写满所有条带。Repeat the above steps until all stripes are filled.
优选地,步骤3)具体是:根据映射表更新的标记,确定每个条带的最终校验值的存储位置;最后,将所有条带的全部最终校验值归并到同一个校验盘中,再移除另一个校验盘。Preferably, step 3) is specifically: according to the tag updated in the mapping table, determine the storage location of the final check value of each stripe; finally, merge all the final check values of all the stripes into the same check disk , and then remove another check disk.
优选地,步骤3)中,对所有的映射表标记进行求和,若求和结果大于标记个数m的1/2,则将最终校验值归并到第二个校验盘中,否则归并到第一个校验盘中。Preferably, in step 3), all the mapping table marks are summed, and if the summation result is greater than 1/2 of the number m of marks, the final check value is merged into the second check disk, otherwise merged to the first check disk.
优选地,当出现磁盘损坏时,损坏磁盘中原有的数据丢失,此时需要用新磁盘替换损坏磁盘并进行数据恢复,数据恢复的具体方法是:读取未损坏数据盘的数据中和未损坏校验盘的校验值,相同条带中的数据和校验值相互异或得到的结果为恢复数据,并将恢复数据存储到替换的新磁盘中。Preferably, when the disk is damaged, the original data in the damaged disk is lost. At this time, it is necessary to replace the damaged disk with a new disk and perform data recovery. The specific method of data recovery is: read the data of the undamaged data disk and neutralize the undamaged The check value of the check disk, the data in the same stripe and the check value are XORed with each other, and the result obtained is recovery data, and the recovery data is stored in a new replacement disk.
实施例1Example 1
(1)如图1所示,水平编码有6个磁盘,其中4个数据盘(D0~D3)和2个校验盘(P和P'),每个数据盘分成m个大小相等的数据块,每个校验盘分成m个与数据块同样大小的校验块,为了便于理解,块大小设置为64KB。同一行的数据块和校验块构成一个条带,共m个条带(Stripe0~Stripem-1);(1) As shown in Figure 1, there are 6 disks for horizontal encoding, including 4 data disks (D 0 ~ D 3 ) and 2 parity disks (P and P'), and each data disk is divided into m equal-sized Each check disk is divided into m check blocks of the same size as the data block. For ease of understanding, the block size is set to 64KB. The data block and check block in the same row form a stripe, a total of m stripes (Stripe 0 ~Stripe m-1 );
本实施例中的存储系统的初始值为0,映射表中所有标记的初始值设置为0(如图2),0代表当前的校验值在P',1代表当前校验值在P中;The initial value of the storage system in this embodiment is 0, and the initial value of all marks in the mapping table is set to 0 (as shown in Figure 2), 0 represents that the current check value is in P', and 1 represents that the current check value is in P ;
(2)第一次写请求到来,如图3所示,数据大小为128KB,数据大小大于块大小,因此,将数据分割成2份,写到数据块B0,0和B1,0中,将B0,0和B1,0中的数据与存储系统的初始值相互异或生成的校验值写入校验盘P的校验块P0 此时,将映射表中条带Stripe0对应的标记取反,更新为1;(2) The first write request arrives, as shown in Figure 3, the data size is 128KB, and the data size is larger than the block size. Therefore, the data is divided into two parts and written into data blocks B 0,0 and B 1,0 , write the verification value generated by the exclusive OR of the data in B 0,0 and B 1,0 and the initial value of the storage system to the verification block P 0 of the verification disk P At this point, invert the flag corresponding to Stripe 0 in the mapping table and update it to 1;
第二次写请求到来,如图4所示,数据大小为54KB,数据大小小于块大小,数据写到数据块B2,0中,将B2,0中的数据与P0相互异或生成的校验值写入校验盘P'的校验块P0'此时,将映射表中条带Stripe0对应的标记取反,更新为0;The second write request comes, as shown in Figure 4, the data size is 54KB, the data size is smaller than the block size, the data is written to the data block B 2,0 , and the data in B 2,0 and P 0 are mutually XORed to generate Write the verification value of the verification block P 0 ' of the verification disk P' At this point, invert the flag corresponding to Stripe 0 in the mapping table and update it to 0;
第三次写请求到来,如图5所示,数据块大小为24KB,数据大小小于块大小,数据写到数据块B3,0中,将B3,0中的数据与P0'相互异或生成的校验值写入校验盘P的校验块P0 原校验值删除,替换成新校验值;此时,将映射表中条带Stripe0对应的标记取反,更新为1;The third write request comes, as shown in Figure 5, the data block size is 24KB, the data size is smaller than the block size, the data is written into the data block B 3,0 , and the data in B 3,0 and P 0 ' are mutually exclusive Or write the generated verification value into the verification block P of the verification disk P 0 Delete the original check value and replace it with the new check value; at this time, invert the mark corresponding to Stripe 0 in the mapping table and update it to 1;
第四次写请求到来,如图6所示,数据块大小为380KB,数据大小大于块大小,因此,将数据分割成6份,分别写到数据块B0,1、B1,1、B2,1、B3,1、B0,2和B1,2中,将B0,1、B1,1、B2,1、B3,1与存储系统的初始值相互异或生成的校验值写入校验盘P的校验块P1 再把B0,2、B1,2与存储系统的初始值相互异或生成的校验值写入校验盘P的校验块P2/>此时,将映射表中条带Stripe1对应的标记取反,更新为1;将映射表中条带Stripe2对应的标记取反,更新为1;The fourth write request comes, as shown in Figure 6, the data block size is 380KB, and the data size is larger than the block size. Therefore, the data is divided into 6 parts and written to data blocks B 0,1 , B 1,1 , and B respectively. 2,1 , B 3,1 , B 0,2 and B 1,2 , B 0,1 , B 1,1 , B 2,1 , B 3,1 and the initial value of the storage system are mutually exclusive or generated Write the verification value of the verification block P 1 of the verification disk P Then write the verification value generated by XOR of B 0,2 , B 1,2 and the initial value of the storage system into the verification block P 2 /> of the verification disk P At this point, invert the flag corresponding to Stripe 1 in the mapping table and update it to 1; invert the flag corresponding to Stripe 2 in the mapping table and update it to 1;
其它条带重复上述步骤;Repeat the above steps for other strips;
(3)所有条带写满后,对最终校验值进行归并;根据映射表更新的标记,确定每个条带的最终校验值的存储位置,其中根据图7,条带Stripe0、Stripe1和Stripe2对应的标记都为1,因此,P0、P1和P2中存储的是最终校验值;最后,将所有条带的全部最终校验值归并到同一个校验盘中,再移除另一个校验盘。(3) After all stripes are filled, the final check value is merged; according to the tag updated in the mapping table, determine the storage location of the final check value of each stripe, wherein according to Fig. 7, the stripe Stripe 0 , Stripe The marks corresponding to 1 and Stripe 2 are both 1, therefore, the final check values are stored in P 0 , P 1 and P 2 ; finally, all the final check values of all stripes are merged into the same check disk , and then remove another check disk.
假设在存储过程中数据盘D2发生故障或损坏,D2中原有的数据丢失,此时,用新磁盘D2'替换损坏磁盘D2并进行数据恢复,数据恢复的具体方法是:读取B0,0、B1,0、B3,0中的数据和校验块P0'中的局部校验值,B2,0数据由B0,0中的数据、B1,0中的数据、B3,0中的数据和校验块P0'中的局部校验值进行异或得出并将计算得到的B2,0数据写入数据盘D2'的数据块B2,0中。数据块B2,1~B2,n-1的数据恢复方法相同。Assuming that the data disk D2 fails or is damaged during the storage process, and the original data in D2 is lost, at this time, replace the damaged disk D2 with a new disk D2 ' and perform data recovery. The specific method of data recovery is: read The data in B 0,0 , B 1,0 , B 3,0 and the local check value in the check block P 0 ', the data in B 2,0 is composed of the data in B 0,0 and the data in B 1,0 The data in B 3,0 and the local check value in the check block P 0 ' are XORed to obtain And write the calculated B2,0 data into the data block B2,0 of the data disk D2 '. The data restoration method of data blocks B 2,1 to B 2,n-1 is the same.
本发明未述及之处适用于现有技术。What is not mentioned in the present invention is applicable to the prior art.
Claims (5)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010655155.4A CN111782439B (en) | 2020-07-09 | 2020-07-09 | Double-disk circulation verification method based on horizontal coding |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010655155.4A CN111782439B (en) | 2020-07-09 | 2020-07-09 | Double-disk circulation verification method based on horizontal coding |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111782439A CN111782439A (en) | 2020-10-16 |
CN111782439B true CN111782439B (en) | 2023-06-06 |
Family
ID=72758384
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010655155.4A Active CN111782439B (en) | 2020-07-09 | 2020-07-09 | Double-disk circulation verification method based on horizontal coding |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111782439B (en) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112463040B (en) * | 2020-11-18 | 2022-07-08 | 苏州浪潮智能科技有限公司 | Data writing method and device, electronic equipment and storage medium |
CN112905387B (en) * | 2021-03-04 | 2022-05-24 | 河北工业大学 | A RAID6 encoding and data recovery method based on the encoding |
CN113297001B (en) * | 2021-05-20 | 2023-02-24 | 山东云海国创云计算装备产业创新中心有限公司 | RAID (redundant array of independent disks) coding and decoding method and coding and decoding circuit |
CN113590042B (en) * | 2021-07-29 | 2024-03-19 | 杭州宏杉科技股份有限公司 | Data protection storage method, device and equipment |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101504623A (en) * | 2009-03-20 | 2009-08-12 | 杭州华三通信技术有限公司 | Independent disk redundancy array construction method and device |
CN102023819A (en) * | 2010-12-01 | 2011-04-20 | 北京同有飞骥科技股份有限公司 | Method for constructing double-disk fault tolerance horizontal grouping and parallel access disk array |
CN105930099A (en) * | 2015-05-20 | 2016-09-07 | 德州学院 | Double-disc fault tolerant redundant array of independent disks capable of eliminating local parallel read-modify-write operation |
CN106874141A (en) * | 2015-12-11 | 2017-06-20 | 中兴通讯股份有限公司 | A kind of fault-tolerance approach and IPTV system of data storage load |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10210063B2 (en) * | 2017-02-05 | 2019-02-19 | International Business Machines Corporation | Disk array storage controller |
-
2020
- 2020-07-09 CN CN202010655155.4A patent/CN111782439B/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101504623A (en) * | 2009-03-20 | 2009-08-12 | 杭州华三通信技术有限公司 | Independent disk redundancy array construction method and device |
CN102023819A (en) * | 2010-12-01 | 2011-04-20 | 北京同有飞骥科技股份有限公司 | Method for constructing double-disk fault tolerance horizontal grouping and parallel access disk array |
CN105930099A (en) * | 2015-05-20 | 2016-09-07 | 德州学院 | Double-disc fault tolerant redundant array of independent disks capable of eliminating local parallel read-modify-write operation |
CN106874141A (en) * | 2015-12-11 | 2017-06-20 | 中兴通讯股份有限公司 | A kind of fault-tolerance approach and IPTV system of data storage load |
Non-Patent Citations (1)
Title |
---|
Ripple-RAID:一种面向连续数据存储的高效能盘阵;孙志卓等;《软件学报》;第1-16页 * |
Also Published As
Publication number | Publication date |
---|---|
CN111782439A (en) | 2020-10-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111782439B (en) | Double-disk circulation verification method based on horizontal coding | |
CN110442535B (en) | Method and system for improving reliability of distributed solid-state disk key value cache system | |
CN103761195B (en) | Storage method utilizing distributed data encoding | |
KR20060052772A (en) | Data storage subsystem and data update method | |
CN112799604B (en) | A RAID6 disk array expansion method and data filling method based on N-Code | |
CN102799533B (en) | Method and apparatus for shielding damaged sector of disk | |
WO2017173623A1 (en) | Method and storage device for processing stripes in storage device | |
CN105339907A (en) | Synchronous mirroring in non-volatile memory systems | |
CN103049222A (en) | RAID5 (redundant array of independent disk 5) write IO optimization processing method | |
CN101984400B (en) | RAID control method, device and system | |
CN101546249A (en) | On-line capacity expansion method for disk arrays | |
CN110515541B (en) | Method for updating erasure code non-aligned data in distributed storage | |
CN104407807B (en) | A Storage Expansion Method for RS Coded Storage Cluster | |
US6871317B1 (en) | Technique for efficiently organizing and distributing parity blocks among storage devices of a storage array | |
CN103870352B (en) | Method and system for data storage and reconstruction | |
CN111831223B (en) | Fault-tolerant coding method, device and system for improving expandability of data deduplication system | |
CN104182176B (en) | A Rapid Expansion Method of Redundant Array of Independent Disks RAID5 | |
CN107250986A (en) | Date classification, distribution and reconstruct | |
CN105930097A (en) | Distributed verification redundant array of independent disks capable of eliminating local parallel read-modify-write operation | |
CN103019893A (en) | Multi-disk fault-tolerant two-dimensional hybrid disk RAID4 system architecture and read-write method thereof | |
CN104866244A (en) | RAID-6 I/O scheduling method for balancing strip writing | |
WO2023151290A1 (en) | Data encoding method and apparatus, device, and medium | |
CN105930099B (en) | The fault-tolerant disk array of double plate of small write operation in a kind of elimination local parallel | |
CN110600070B (en) | Coding and repairing method for improving repairing performance of solid state disk array system | |
Deng et al. | A graph-assisted out-of-place update scheme for erasure coded storage systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |