WO2012086914A1 - 복수의 오류 복제본으로부터 오류를 복구하는 방법 및 상기 방법을 이용하는 스토리지 시스템 - Google Patents
복수의 오류 복제본으로부터 오류를 복구하는 방법 및 상기 방법을 이용하는 스토리지 시스템 Download PDFInfo
- Publication number
- WO2012086914A1 WO2012086914A1 PCT/KR2011/008216 KR2011008216W WO2012086914A1 WO 2012086914 A1 WO2012086914 A1 WO 2012086914A1 KR 2011008216 W KR2011008216 W KR 2011008216W WO 2012086914 A1 WO2012086914 A1 WO 2012086914A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- error
- parity
- pieces
- replica
- storage system
- 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.)
- Ceased
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 operations
- G06F11/1402—Saving, restoring, recovering or retrying
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1658—Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit
- G06F11/1662—Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit the resynchronized component or unit being a persistent storage device
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/16—Error detection or correction of the data by redundancy in hardware
- G06F11/18—Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits
- G06F11/186—Passive fault masking when reading multiple copies of the same data
Definitions
- the present invention relates to a method for recovering an error from an error copy when the storage system having a plurality of replicas has an error in all replicas including the original and there is no consistency of the data. will be.
- the present invention provides a method for recovering an error even when an error occurs in all copies including the original. Specifically, we propose a solution to the conventional problem in which error recovery was not possible from a failed original file and a replica to a normal file.
- the present invention provides a method for recovering an error even when an error occurs in all the copies including the original by using the location of the error of each of the plurality of copies and the information in which the error does not occur.
- the parity value of all replicas is mastered during data consistency check in a storage system that stores multiple copies on a single server or distributed servers to ensure the reliability and safety of the stored files.
- the error cannot be repaired when the parity values do not match each other, but according to the present invention, even if all of the replicas have too many errors, if the bit positions of the errors in each replica are not the same, the error can be recovered and the user's file is safe There is an advantage that can be managed reliably.
- 1 (a) to 1 (d) illustrate a basic concept used for error recovery as a preferred embodiment of the present invention.
- FIG. 2 illustrates a service flow diagram for error recovery when the storage system has a master parity of each file as a preferred embodiment of the present invention.
- FIG. 3 illustrates an example of a service flow diagram for error recovery when the storage system has a master parity of each file as a preferred embodiment of the present invention.
- FIG. 4 illustrates an example of a service flowchart for error recovery when the storage system does not have master parity of each file as a preferred embodiment of the present invention.
- FIG. 5 is a diagram illustrating an internal configuration of a storage system capable of error recovery when all replicas have an error according to one preferred embodiment of the present invention.
- a method of recovering from an error in the case of a failure in all copies in the storage system comprises: (a) dividing each copy into two; (b) comparing the parity of the pieces of the bisected copies that correspond to each other among the copies; (c) if the parity of at least two or more pieces of the pieces corresponding to each other is identical to each other, determining the pieces as normal pieces and recovering errors of the pieces of the pieces corresponding to the pieces; (d) if the parity between the pieces corresponding to each other among the replicas is inconsistent, determining the corresponding piece as an error-containing piece; And (e) repeating steps (a) to (d) only for the error-bearing fragments for each copy.
- a storage system capable of recovering from errors in the case where all the copies have an error may include: a partitioning unit dividing all or part of each copy; A data matching verifier for comparing parity of pieces corresponding to each other among the copies of the bisected copies; A normal fragment reference unit for reconstructing an error of each of the replica fragments corresponding to the normal fragment by determining the fragment as a normal fragment when the parity of at least two fragments among the corresponding fragments among the replicas match each other; And if the parity between the pieces corresponding to each other is inconsistent between the replicas, the corresponding piece is determined to be an error-containing piece, and the error-containing piece is repeatedly added to the divider, the data matching verifier, and until the error is recovered. And an error recovery cycle recovering an error through the normal fragment reference unit.
- the valid information of the error-free part is integrated to recover the error and provide data consistency between the replicas.
- Fig. 1 (a) shows an example where all three replicas have errors.
- the parts 111, 121, and 131 shown in black are all parts containing an error. .
- replicas 110, 120, and 130 all contain an error, when parity and master parity of each of the first replica 110, the second replica 120, and the third replica 130 are compared, There is no one.
- the parity of each of the bisected regions of the replicas 110, 120, 130 is then compared with each other.
- a process of recovering an error by comparing the parity of the 1st_first fragments 112, 122, and 132 of the respective replicas corresponding to the first region 140 of FIG. 1B is as follows.
- the parities of the 1st_first fragments 112, 122, and 132 of the respective replicas are compared.
- the parity of the 1st_first fragments 112 and 132 of the second replica 120 and the third replica 130 is identical, and the parity of the 1st_first fragment 112 of the first replica is equal to the second replica and the first replica.
- the parity value of the 1st_first fragments 122 and 132 of the replica does not match.
- the parities of the 1st_second fragments 113, 123, and 133 of the respective replicas are compared. As a result of the comparison, all three replicas differ in parity of the 1st_second fragments 113, 123, and 133. Therefore, it is still unclear which bisected copy has an error and which is not an error, so the second area 150 is bisected again as shown in FIG.
- the 2nd_first fragments 114, 124 which correspond to one of two regions, which are bisected into the second region 150 of FIG. 134) parity.
- the parities of the 2nd_first fragments 114, 124, and 134 of the respective replicas 110, 120, and 130 are compared. As a result of comparison, the parities of the 2nd_first fragments 114 and 134 of the first replica 110 and the third replica 130 match, and the parity of the 2nd_first fragment 124 of the second replica is equal to the second replica and the first replica. 3 The parity value of the 2nd_first fragments 114 and 134 of the replica does not match.
- the error of the 2nd_secondary pieces 115, 125, and 135 is recovered similarly to the above. Also, unlike in the case of FIG. 1C, when the parities of the three 2nd_secondary pieces 115, 125 and 135 are all different, the 2nd_secondary pieces 115, 125 and 135 are bisected. 3rd_first pieces (not shown) and 3rd_second pieces (not shown).
- FIG. 1 (d) shows an example of recovering an error by integrating valid information of an error-free part when all the copies including the original do not match through the process of FIGS. 1 (a) to (c).
- 1st_first fragments 112, 122, 132, 1st_second fragments 113, 123, 133, 2nd_first fragments 114, 124, 134, and 2nd _ Calculate parity by summing the second pieces 115, 125 and 135, respectively, and compare the result with the master parity of each file in the storage system.
- a replica with a parity that matches the master parity is error free, and if there is a copy with a parity different from the master parity, the error is recovered from all replicas by replacing it with an error free copy.
- the first is to recover from errors when the storage system has a master parity for each file and checks for parity with the master parity by comparing the parity and master parity of each copy.
- the storage system does not have master parity and compares the parity of each copy to check for data consistency and recover from errors.
- the first error recovery method will be described with reference to FIGS. 2 and 3 and the second error recovery method with reference to FIG. 4.
- FIG. 2 illustrates a service flow diagram for error recovery when the storage system has a master parity of each file as a preferred embodiment of the present invention.
- Figure 2 shows a flow diagram for recovering from an error if the parity of all replicas does not match the master parity.
- each replica is divided into first and second pieces (S210).
- the first and second pieces of each replica each represent a corresponding area.
- the first slice may represent an upper half portion of the bisected region of each replica
- the second slice may represent a lower half portion of the bisected region of each replica.
- the first fragments of each replica represent 112, 122, and 132
- the second fragments of each replica represent 113, 114, and 115, respectively.
- the parity of the bisected replica pieces is calculated (S220).
- the parity between the first pieces if at least two or more parity matches each other, it is determined that the matching first pieces of the copy is error-free (S230), based on the parity of the first pieces do not match Repair the error of the replica does not (S240). That is, if the parity of at least two or more first pieces match each other, it may be determined that these data have no error or that the error has already been repaired, thereby recovering the defective copy.
- the above procedure is performed similarly or similarly to the second piece.
- the first pieces are bisected again (S240), after calculating the parity of the bisected pieces (S220), it is determined whether at least two or more parity between the parity of the corresponding replica pieces match each other (S230). ).
- the matching replica pieces are determined to be error-free, and based on this, the error of the replica whose parity does not match among the corresponding replica pieces is recovered (S240). Then, the error is integrated into the replica piece that has been recovered (S241).
- Whether there is a replica fragment in which the error has been repaired continues until there are no replica fragments whose parity does not match (S250).
- An example of implementing whether there is no copy fragment having a parity inconsistent may refer to step S351 of FIG. 3.
- the replica pieces with inconsistent parity still exist, it is repeated until the size of the replica pieces with inconsistent parity becomes one bit (S231). It should be noted, however, that the number of 1 bit described in the present invention is an example, which may be modified or changed. The above process is performed similarly or similarly to the second piece.
- FIG. 3 illustrates an example of a service flow diagram for error recovery when the storage system has a master parity of each file as a preferred embodiment of the present invention.
- the parity of each replica is calculated (S300).
- the calculated parities of the replicas are compared with the master parity previously stored in the storage system (S301).
- the replica whose calculated parity matches the master parity is a replica without errors and a replica with errors if it does not match.
- the failed replica replaces the error-free replica to recover from the error and terminates all processes. If the parity of all replicas does not match the master parity, it is determined that all replicas have an error.
- n represents the level at which the replica is bisected for error recovery, meaning that it has been bisected n times.
- i represents a bisected copy. If i is 0, the first fragment of the bisected replica is i, and if i is 1, it is the second fragment of the bisected replica.
- each replica is divided into two (S310).
- Bipartite copies are denoted by R n, i (x). Where x is the number of replicas.
- R 1,0 (2) represents the first fragment when the second copy of the storage system is first bisected.
- the parity of each bisected replica piece is calculated (S320), and the calculated parities are compared (S330).
- step S330 If the parity of at least two bisected copies is consistent with each other, it is determined that there are no errors in the bisected copies with the same parity.
- n 0, the error of all replica fragments is recovered and it is determined whether the master parity and at least one replica parity match (S380). If there is a match, the error recovery is considered successful, otherwise the error recovery is considered to be a failed case.
- Failure recovery fails when there is an error in the same bit position on all replicas. However, assuming that the file is actually large and the error probability at all bit positions in the file is the same, the probability of an error at the same bit position in all replicas is negligible.
- step S330 If the parity of all replicas does not match, increase the value of n by one (S360).
- ) is greater than 1 (S370). If R n, i If (x)
- > 1, i.e., if the size of the replica is 1 bit or more, i 0 and go to step S310.
- step S360 if
- 1, this case is a case where the size of the bisected copy is 1 bit, and the value at this bit position is determined according to a number of principles, and the process moves to step S340.
- FIG. 4 illustrates an example of a service flowchart for error recovery when the storage system does not have master parity of each file as a preferred embodiment of the present invention.
- step s401 if at least two or more parities among the multiple copies match each other, the failed copy is repaired by replacing the failed copy with an error free copy.
- replicas with parity match are considered to be replicas without errors, and if they do not match, they are judged to be replicas with errors. If the parity of all replicas does not match each other, it is determined that all replicas have an error, even if one replica is not in error.
- step s480 after calculating the parity of the replicas in which all of the error recovery operations are performed, and comparing the calculated parities, if parity of at least two replicas coincides, it is determined that error recovery has been successfully performed. Performs error recovery of replicas with different parity based on the replica.
- FIG. 5 is a diagram illustrating an internal configuration of a storage system capable of error recovery when all replicas have an error according to one preferred embodiment of the present invention.
- the storage system 500 includes a partition unit 510, a data match verifier 520, a normal fragment reference unit 530, an error recovery cycle unit 540, and a recovery unit 550. Include.
- the divider 510 bisects all or part of each replica.
- the whole copy is bisected, but after some of the copies are validated as error-free data, they are bisected only with the error.
- the corresponding replica fragments may be different, so that all or part of each replica is bisected on the same basis.
- the data matching verifier 520 compares parity of the pieces corresponding to the copies among the two pieces of the duplicated copies. See FIG. 1 (b) to (c) for this.
- the normal fragment reference unit 530 determines that the fragment is a normal fragment when the parity of at least two or more pieces among the pieces corresponding to each other are identical to each other, thereby recovering an error of each replica piece corresponding to the normal fragment. do.
- the error recovery circulation unit 540 determines the corresponding piece as an error-containing piece. After that, only the error inclusion fragment, not the entire replica, is repeatedly divided into two parts. Partial parity check is used to find the error-free portion and recover the error by judging it as a normal fragment. To this end, the error recovery circulation unit 540 recovers the error through the partition 500, the data matching verifier 510, and the normal fragment reference unit 520 repeatedly until the error is recovered. . The error recovery circulation unit 540 is implemented to operate until there is no error inclusion fragment or the size of the error inclusion fragment is 1 bit.
- the recovery unit 550 restores each copy by adding the normal pieces when there are no more pieces including the error. Then, in order to check whether error recovery of the recovered copy is successful, if the storage system has a master parity of each file, it is determined whether at least one parity of the parity of the repaired copies and the master parity match. If the storage system does not have the master parity of each file, it may be determined whether the error recovery is successful by determining whether at least two parity values of the parity values of the repaired replicas match.
- the present invention may be implemented by storing computer readable codes in a computer readable storage medium.
- the computer readable storage medium includes all kinds of storage devices for storing data that can be read by a computer system.
- Examples of computer readable storage media include ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage, and the like, and also include implementing in the form of a carrier wave (eg, transmission over the Internet).
- the computer readable storage medium can also be distributed over network coupled computer systems so that the computer readable code is stored and executed in a distributed fashion.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
본원 발명에서는 복수의 복제본 각각의 오류의 위치 및 오류가 발생하지 않은 정보를 이용하여 원본을 포함한 모든 복제본에 오류가 발생하는 경우에도 오류를 복구하는 방법을 제공한다.
Description
본 발명은 다수의 복제본(replica)를 가진 스토리지 시스템에서 원본을 포함한 모든 복제본에 오류가 있어 데이터의 일치성(consistency)이 없을 때 오류 복제본으로부터 오류를 복구하여 데이터의 일치성을 얻기 위한 방법에 관한 것이다.
대부분의 스토리지 시스템에서는 파일을 저장할 때 파일의 오류에 대비하여 다수의 복제본을 단일 서버 또는 분산된 서버들에 저장하며, 또한 수시로 이들 간의 데이터 일치성을 검사한다.
데이터 일치성을 검사한 후 복제본 중 일부에 오류가 있는 경우, 오류가 발생한 파일을 오류가 발생하지 않은 파일로 대체함으로써 오류를 복구하였다. 그러나, 기존에 사용된 스토리지 시스템에서 사용되는 데이터 일치성 검사방법의 경우, 원본을 포함한 모든 복제본에 오류가 발생할 경우 오류를 복구할 수 없는 문제점이 있다.
본원 발명에서는 원본을 포함한 모든 복제본에 오류가 발생한 경우에도 오류를 복구하는 방법을 제시한다. 구체적으로, 오류가 난 원본 파일 및 복제본으로부터 정상 상태의 파일로 오류 복구가 불가능했던 종래의 문제점에 대한 해결책을 제시한다.
본원 발명에서는 복수의 복제본 각각의 오류의 위치 및 오류가 발생하지 않은 정보를 이용하여 원본을 포함한 모든 복제본에 오류가 발생하는 경우에도 오류를 복구하는 방법을 제공한다.
스토리지 시스템이 각 파일의 마스터 패리티를 가지고 있는 경우 저장된 파일의 신뢰성 및 안전성 보장을 위해 다수의 복제본을 단일 서버 또는 분산된 서버들에 저장하는 스토리지 시스템에서 데이터 일치성 검사에서 모든 복제본의 패리티 값이 마스터 패리티 값과 서로 일치하지 않을 때 오류를 복구할 수 없지만, 본 발명에 따르면 모든 복제본들의 오류가 너무 많더라도 각 복제본에서의 오류의 비트 위치가 동일하지 않으면 오류의 복구가 가능하여 사용자의 파일을 안전하고 신뢰성 있게 관리할 수 있는 장점이 있다.
또한, 스토리지 시스템이 각 파일의 마스터 패리티를 가지고 있지 않는 경우 , 비록 1개의 복제본이 오류가 없더라도 오류가 없다는 사실을 증명할 수 없으며, 따라서 오류 복구가 불가능하지만, 본 발명에 따르면 각 복제본에서의 오류의 비트 위치가 동일하지 않으면 오류의 복구가 가능하여 마스터 패리티를 안전하게 보관하고 있어야 한다는 조건 없이도 사용자의 파일을 안전하고 신뢰성 있게 관리할 수 있는 장점이 있다.
도 1 (a) 내지 (d)는 본 발명의 바람직한 일 실시예로서, 오류 복구를 위해 이용하는 기본 개념을 도시한다.
도 2는 본 발명의 바람직한 일 실시예로서, 스토리지 시스템이 각 파일의 마스터 패리티를 지닌 경우 오류 복구를 위한 서비스 흐름도를 도시한다.
도 3은 본 발명의 바람직한 일 실시예로서, 스토리지 시스템이 각 파일의 마스터 패리티를 지닌 경우 오류 복구를 위한 서비스 흐름도를 구체화한 예를 도시한다.
도 4는 본 발명의 바람직한 일 실시예로서, 스토리지 시스템이 각 파일의 마스터 패리티를 지니지 못한 경우 오류 복구를 위한 서비스 흐름도를 구체화한 예를 도시한다.
도 5 는 본 발명의 바람직한 일 실시예로서, 모든 복제본에 오류가 있는 경우 오류복구가 가능한 스토리지 시스템의 내부 구성도를 도시한다.
바람직한 일 실시예로서, 스토리지 시스템에서 모든 복제본에 오류가 있는 경우 오류를 복구하는 방법은 (a)각 복제본을 이등분하는 단계; (b)이등분된 각 복제본 조각들 중 복제본들 간에 상호 대응되는 조각들의 패리티를 비교하는 단계; (c)상기 복제본들 간에 상호 대응되는 조각들 중 최소 2개 이상의 조각의 패리티가 일치하는 경우 해당 조각을 정상조각으로 판단하여, 상기 정상조각에 대응되는 상기 각 복제본 조각들의 오류를 복구하는 단계; (d)상기 복제본들 간에 상호 대응되는 조각들 간의 패리티가 모두 불일치하는 경우, 해당조각을 오류포함조각으로 판단하는 단계; 및 (e) 각 복제본에 대해 상기 오류포함조각에 대해서만 (a) 내지 (d) 단계를 반복 수행하는 단계;를 포함한다.
또 다른 바람직한 일 실시예로서, 모든 복제본에 오류가 있는 경우 오류복구가 가능한 스토리지 시스템은 각 복제본의 전부 또는 일부를 이등분하는 분할부; 이등분된 각 복제본 조각들 중 복제본들 간에 상호 대응되는 조각들의 패리티를 비교하는 데이터일치검증부; 상기 복제본들 간에 상호 대응되는 조각들 중 최소 2개 이상의 조각의 패리티가 일치하는 경우 해당 조각을 정상조각으로 판단하여, 상기 정상조각에 대응되는 상기 각 복제본 조각들의 오류를 복구하는 정상조각참조부; 및 상기 복제본들 간에 상호 대응되는 조각들 간의 패리티가 모두 불일치하는 경우 해당조각을 오류포함조각으로 판단하고, 오류가 복구될 때까지 반복적으로 상기 오류포함조각을 상기 분할부, 상기 데이터일치검증부 및 상기 정상조각참조부를 통해 오류를 복구하는 오류복구순환부;를 포함한다.
이하 첨부된 도면들을 참조하여 본 발명의 실시예들을 설명한다. 하기의 설명 및 첨부된 도면은 본 발명에 따른 동작을 이해하기 위한 것이며, 본 기술 분야의 통상의 기술자가 용이하게 구현할 수 있는 부분은 생략될 수 있다.
또한 본 명세서 및 도면은 본 발명을 제한하기 위한 목적으로 제공된 것은 아니고, 본 발명의 범위는 청구의 범위에 의하여 정해져야 한다. 본 명세서에서 사용된 용어들은 본 발명을 가장 적절하게 표현할 수 있도록 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야 한다.
이하 첨부된 도면을 참조하여 본 발명의 실시예들을 설명한다.
도 1 (a) 내지 (d)는 본 발명의 바람직한 일 실시예로서, 오류 복구에 이용되는 기본 개념을 도시한다.
본원 발명에서는 원본을 포함한 모든 복제본이 일치하지 못하는 경우, 오류가 없는 부분의 유효한 정보를 통합하여 오류를 복구하고, 복제본들 간의 데이터 일치성을 제공한다.
도 1 (a)는 세 개의 복제본이 모두 오류가 난 경우의 예를 도시한다.
도 1(a)에 도시된 제 1 복제본(110), 제 2 복제본(120) 및 제 3 복제본(130)에서 검은색으로 표시된 부분(111, 121, 131)은 모두 오류를 포함하고 있는 부분이다.
복제본들(110, 120, 130)은 모두 오류를 포함하고 있으므로, 제 1 복제본(110), 제 2 복제본(120) 및 제 3 복제본(130) 각각의 패리티와 마스터 패리티를 비교하면 일치하는 패리티는 하나도 없다.
원본을 포함한 모든 복제본이 일치하지 못하는 경우, 오류가 없는 부분의 유효한 정보를 통합하기 위해 도 1(b)에 도시된 바와 같이 각 복제본을 이등분한다.
이 후 복제본들(110, 120, 130)의 이등분된 영역 각각의 패리티를 상호 비교한다. 먼저, 도 1(b)의 제1영역(140)에 해당하는 각 복제본들의 1st_제1조각들(112, 122, 132)의 패리티를 상호 비교하여 오류를 복구하는 과정은 다음과 같다.
각 복제본들의 1st_제1조각(112, 122, 132)의 패리티들을 비교한다. 비교 결과, 제 2 복제본(120)과 제 3 복제본(130)의 1st_제1조각들의(112,132) 패리티가 일치하며, 제 1 복제본의 1st_제1조각(112) 패리티는 제 2 복제본 및 제 3 복제본의 1st_제1조각(122, 132) 패리티 값과 일치하지 않는다.
이상의 비교를 통해, 제 2 복제본(120)의 1st_제1조각(122)의 패리티와 제 3 복제본(130)의 1st_제1조각(132)의 패리티에 오류가 없는 것으로 판단하고, 제 1 복제본의 1st_제1조각(112)을 오류 없는 것으로 대체한다. 이로써 모든 복제본(110,120, 130)의 제 1영역(140)에 해당하는 각 복제본들의 1st_제1조각(112, 122, 132)의 오류가 복구된다.
다음으로, 도 1(b)의 제 2 영역(150)에 해당하는 각 복제본들의 1st_제2조각들(113, 123, 133)의 패리티를 상호 비교하여 오류를 복구하는 과정은 다음과 같다.
각 복제본들의 1st_제2조각들(113, 123, 133)의 패리티들을 비교한다. 비교 결과, 세 개의 복제본 모두 1st_제 2조각들(113,123,133)의 패리티가 모두 다르다. 따라서, 아직은 어느 이등분된 복제본에 오류가 있고 어느 것이 오류가 없는 지가 불분명하므로 제2 영역(150)을 도 1의 (c)와 같이 다시 이등분한다.
도 1 (b)와 마찬가지로, 도 1(c)에서도 도 1(b)의 제 2영역(150)을 이등분한 두 개의 영역 중 하나의 영역에 해당하는 2nd_제1조각들(114, 124, 134)의 패리티를 비교한다.
각 복제본들(110, 120, 130)의 2nd_제1조각들(114, 124, 134)의 패리티들을 비교한다. 비교 결과, 제 1 복제본(110)과 제3복제본(130)의 2nd_제1조각(114,134)들의 패리티가 일치하며, 제 2 복제본의 2nd_제1조각(124) 패리티는 제 2 복제본 및 제 3 복제본의 2nd_제1조각(114, 134) 패리티 값과 일치하지 않는다.
이상의 비교를 통해, 제 1 복제본(110)과 제3복제본(130)의 2nd_제1조각(114,134)들의 패리티에 오류가 없는 것으로 판단하고, 제 2 복제본의 2nd_제1조각(124)을 오류 없는 것으로 대체한다. 이로써 모든 복제본(110,120, 130)의 2nd_제1조각(114, 124, 134)의 오류가 복구된다.
도 1 (c)에서 2nd_제2조각들(115, 125, 135)의 오류도 위와 유사하게 복구한다. 또한, 도 1(c)의 경우와 달리 여전히 세 개의 2nd_제2조각들(115, 125, 135)의 패리티가 모두 다른 경우, 2nd_제2조각들(115, 125, 135)을 이등분하여 3rd_제1조각들(미 도시) 및 3rd_제2조각들(미 도시)로 나눌 수 있다.
도 1(d)는 도 1(a) 내지 (c)의 과정을 통해 원본을 포함한 모든 복제본이 일치하지 못하는 경우, 오류가 없는 부분의 유효한 정보를 통합하여 오류를 복구한 예를 나타낸다. 도 1(d)에서는 모든 오류가 복구되었으므로 1st_제 1조각들(112, 122, 132), 1st_제 2조각들(113,123,133), 2nd_제1조각들(114, 124, 134) 및 2nd_제2조각들(115, 125, 135)을 각각 합하여 패리티를 계산하고, 그 결과를 스토리지 시스템이 지니고 있는 각 파일의 마스터(master) 패리티(parity)와 비교한다. 마스터 패리티와 일치하는 패리티를 가진 복제본은 오류가 없는 것이며, 만일 마스터 패리티와 다른 패리티를가진 복제본이 있으면 오류 없는 복제본으로 대체함으로써 모든 복제본의 오류를 복구한다.
본 발명에서 데이터 일치성을 이용하여 오류를 복구하는 방법으로는 크게 2가지 방법이 있다.
첫 째는 스토리지 시스템이 각 파일의 마스터 패리티를 갖고 있고, 각 복제본의 패리티와 마스터 패리티를 비교함으로써 마스터 패리티와의 일치성을 검사할 때 오류를 복구하는 방법이다. 두 번째는 스토리지 시스템이 마스터 패리티를 갖고 있지 않고 각 복제본의 패리티를 상호 비교함으로써 데이터 일치성을 검사하여 오류를 복구하는 방법이다. 첫 번째 오류 복구 방법에 대해서는 도 2 및 3에서, 두 번째 오류 복구 방법에서는 도 4에서 서술하겠다.
도 2는 본 발명의 바람직한 일 실시예로서, 스토리지 시스템이 각 파일의 마스터 패리티를 지닌 경우 오류 복구를 위한 서비스 흐름도를 도시한다.
원본을 포함한 복제본들 각각의 패리티를 계산한다. 복제본들의 패리티 중 최소한 1개 이상의 패리티가 마스터 패리티와 일치하면 오류 있는 복제본은 오류 없는 복제본으로 대체함으로써 오류를 복구할 수 있다. 따라서, 도 2에서는 모든 복제본의 패리티가 마스터 패리티와 일치하지 경우 오류를 복구하는 흐름도를 도시한다.
먼저, 각 복제본을 제1조각, 제2조각으로 이등분한다(S210). 각 복제본의 제1조각 및 제 2 조각은 각각 대응되는 영역을 나타낸다. 예를 들면, 제 1 조각은 각 복제본을 이등분한 영역 중 Upper half 부분을 제 2 조각은 각 복제본을 이등분한 영역 중 Lower half 부분을 나타낼 수 있다. 도 1(b)의 경우를 참고하면, 각 복제본의 제1조각들은 112, 122, 132를 각각 나타내고, 각 복제본의 제 2 조각들은 113, 114, 115 를 각각 나타낸다.
이후 이등분된 복제본 조각들의 패리티를 계산한다(S220). 제1조각들 간에 패리티를 비교하여, 최소한 2개 이상의 패리티가 서로 일치하는 경우, 일치하는 복제본 제1조각들은 오류가 없는 것으로 판단하고(S230), 이를 기초로 제 1 조각들 중 패리티가 일치하지 않는 복제본의 오류를 복구한다(S240). 즉, 최소한 2개 이상의 제 1 조각들의 패리티가 서로 일치하면 이들 데이터에는 오류가 없거나 오류가 이미 복구된 것으로 판단할 수 있으며, 이들로 오류가 있는 복제본을 복구할 수 있다. 이상의 과정을 제 2 조각에 대해서도 동일 또는 유사하게 수행한다.
일치하지 않는 경우, 제1조각들을 다시 이등분하여(S240), 이등분된 각 조각들의 패리티를 계산한 후(S220), 대응되는 복제본 조각들의 패리티간 최소한 2개 이상의 패리티가 서로 일치하는지를 판단한다(S230).
일치하는 경우, 일치하는 복제본 조각들은 오류가 없는 것으로 판단하여, 이를 기초로 대응되는 복제본 조각들 중 패리티가 일치하지 않는 복제본의 오류를 복구한다(S240). 그리고 이전에 오류가 복구된 복제본 조각에 통합한다(S241).
오류가 복구된 복제본 조각이 있는지 여부는 패리티가 일치하지 않는 복제본 조각이 없을 때까지 지속된다(S250). 패리티가 일치하지 않는 복제본 조각이 없는지를 구현하는 일 예는 도 3의 s351 단계를 참고한다.
패리티가 일치하지 않는 복제본 조각이 여전히 존재하는 경우에는, 패리티가 일치하지 않는 복제본 조각의 크기가 1비트가 될 때까지 반복한다(S231). 다만, 주의할 것은 본 발명에서 기술한 1비트라는 숫자는 예시적인 것으로, 이는 변형, 변경이 가능함을 유의하여야 한다. 이상의 과정을 제2조각에 대해서도 동일 또는 유사하게 수행한다.
각 복제본의 모든 복제본 조각이 오류를 복구하여 통합된 경우, 마스터 패리티와 패리티가 일치하는 복제본 패리티가 최소 1개 이상인지 판단한다(S260). 복제본 패리티가 최소 1개 이상인 경우, 오류 복구가 성공적으로 이루어진 경우이다.
마스터 패리티와 패리티가 일치하는 복제본 패리티가 1개도 없는 경우에는 오류복구가 실패한 경우이다. 이 경우는 모든 복제본의 동일 비트 위치에 오류가 있어 오류 발견이 불가능하여 더 이상 오류를 복구할 수 없고 따라서, 모든 과정을 종료한다.
도 3은 본 발명의 바람직한 일 실시예로서, 스토리지 시스템이 각 파일의 마스터 패리티를 지닌 경우 오류 복구를 위한 서비스 흐름도를 구체화한 예를 도시한다.
각 복제본들의 패리티를 계산한다(S300). 계산된 각 복제본들의 패리티들을 스토리지 시스템이 미리 갖고 있는 마스터 패리티와 비교한다(S301). 계산된 패리티가 마스터 패리티와 일치하는 복제본은 오류가 없는 복제본이고 일치하지 않으면 오류가 있는 복제본이다.
다수의 복제본 중에 최소한 1개 이상의 계산된 패리티가 마스터 패리티와 일치하면 오류 있는 복제본은 오류 없는 복제본으로 대체함으로써 오류를 복구하고 모든 과정을 종료한다. 만일 모든 복제본의 패리티가 마스터 패리티와 일치하지 않으면 모든 복제본에 오류가 있는 것으로서 판단한다.
오류가 있는 것으로 판단되면, n=1 및 i=0으로 지정한다(S302). 여기서 n은 오류 복구를 위해 복제본을 이등분하는 레벨을 나타내는 것으로서 n번 이등분 했다는 의미이다. i 는 이등분한 복제본을 나타낸다. i 가 0이면 이등분한 복제본의 제1조각을 i 가 1이면 이등분한 복제본의 제2조각을 나타낸다.
이후, 각 복제본을 이등분한다(S310). 이등분된 복제분은 Rn,i(x)로 표기한다. 여기서, x는 몇 번째 복제본인지를 나타낸다. 따라서, 예를 들어 R1,0(2)는 스토리지 시스템이 갖고 있는 2번째 복제본을 처음 이등분했을 때의 제1조각을 나타낸다.
이등분된 각 복제본 조각의 패리티를 계산하고(S320), 계산된 패리티들을 비교한다(S330).
S330 단계에서 최소한 2개 이상의 이등분된 복제본의 패리티가 서로 일치하면 패리티가 같은 이등분된 복제본에는 오류가 없는 것으로 판단한다.
오류가 없는 것으로 판단된 경우, i 값이 0인지 검사한다(S340). i 값이 0이면 S310 및 S320에서 이등분된 복제본의 제1조각을 검사한 것으로, 이제 나머지 반쪽인 제2조각을 검사하기 위해 i=1로 지정한 후(S341), 제2조각들에 대해 패리티를 계산하고(S320), 제2조각들 중 최소한 2개 이상의 이등분된 복제본의 패리티가 서로 일치하면 패리티가 같은 이등분된 복제본에는 오류가 없는 것으로 판단한다(S330).
i = 1이면 이등분한 복제본의 제2조각까지 검사를 마친 경우로서 제1조각 및 제2조각 모두가 오류가 없거나 오류가 복구된 것으로 판단되므로 모든 복제본의 제1조각 및 제2조각을 합하여 패리티를 계산하고 계산된 패리티들을 비교한다(S342).
이후, 만일 최소한 2개 이상의 패리티가 서로 일치하면(S350) 제1조각 및 제2조각을 합한 이들 데이터에는 오류가 없거나 오류가 이미 복구된 것으로 판단할 수 있으며, 이들로 오류가 있는 복제본을 복구한다.
제1조각 및 제2조각을 1개로 합했다는 의미는 오류 복구를 위한 레벨을 1단계 상위로 올렸다는 의미이므로 n = n-1로 n 값을 1 감소한다(S351).
이때, 만일 n = 0이 아니고(S352), i = 0이면(S353), i = 1로 바꾼다(S341). 이후 다시 이등분된 각 복제본 조각의 패리티를 계산하고 계산된 패리티들을 비교한다(S320). 만일 최소한 2개 이상의 이등분된 복제본의 패리티가 서로 일치하면 패리티가 같은 이등분된 복제본에는 오류가 없는 것으로 판단하고(S330), S340 단계 이후를 진행한다.
만일 n = 0이 아니고(S352), i = 1이면(S353), 이등분한 복제본의 제2조각까지 검사를 마친 경우로서 다시 모든 복제본의 제1조각 및 제2조각을 합하여 패리티를 계산하고 계산된 패리티들을 비교한다(S342).
만일 n = 0이면, 모든 복제본 조각의 오류가 복구된 것이므로 마스터 패리티와 최소 1개 이상의 복제본 패리티가 일치하는지 판단한다(S380). 일치하면, 오류복구를 성공한 것으로 보고, 그렇지 않은 경우 오류 복구가 실패된 경우로 본다.
오류 복구를 실패하는 경우는 모든 복제본의 동일한 비트 위치에서 오류가 있을 때이다. 그러나, 실제적으로 파일의 크기가 크고 파일의 모든 비트 위치에서의 오류 확률이 동일하다고 가정할 때 모든 복제본의 동일한 비트 위치에서 오류가 있을 가능성은 무시할 수 있을 정도로 아주 작다.
S330 단계에서 모든 복제본의 패리티가 일치하지 않는 경우 n 값을 1 증가시킨다(S360). 이후 이등분된 복제본의 크기(|Rn,i(x)|)가 1보다 큰지를 비교한다(S370). 만일 |Rn,i(x)|>1인 경우, 즉 복제본의 크기가 1비트 이상인 경우 i = 0으로 하고 , S310 단계로 이동한다.
S360 단계에서 만일 |Rn,i(x)| = 1이면 이 경우는 이등분된 복제본의 크기가 1 비트인 경우로서 이 비트 위치에서의 값을 다수의 원리에 따라 정하고 S340 단계로 이동한다.
스토리지 시스템에 저장된 파일의 복제본들간 데이터 일치성 검사에서 발견된 오류는 도 3에 도시된 흐름도를 통해 복구된다. 다만, 오류 복구가 불가능한 경우는 모든 복제본이 모두 동일한 비트 위치에 오류가 있을 경우이다. 그러나 앞에서 언급한 바와 같이 실제적으로 파일의 크기가 크고 파일의 모든 비트 위치에서의 오류 확률이 동일하다고 가정할 때 모든 복제본의 동일한 비트 위치에서 오류가 있을 가능성은 무시할 수 있을 정도로 아주 작다.
즉, 복수 개의 복제본들의 특정 부분에 오류가 있더라도, 모두 동일한 위치에 오류가 있는 경우가 아닌 한 본원 발명의 방법을 통해 오류 복구가 가능하다.
도 4는 본 발명의 바람직한 일 실시예로서, 스토리지 시스템이 각 파일의 마스터 패리티를 지니지 못한 경우 오류 복구를 위한 서비스 흐름도를 구체화한 예를 도시한다.
도 4의 오류복구 흐름도는 도 3의 s301 과 s380 단계만 상이하고, 그 외의 단계는 유사하므로, 이하에서는 도 3과 상이한 s401 및 s480 단계만 기술하겠다. 그 외의 단계는 도 3의 설명을 참고한다.
s401 단계에서는 다수의 복제본 중에 최소한 2개 이상의 패리티가 서로 일치하면 오류 있는 복제본은 오류 없는 복제본으로 대체함으로써 오류를 복구한다. 즉, 패리티가 서로 일치하는 복제본은 오류가 없는 복제본으로 판단하고 일치하지 않으면 오류가 있는 복제본으로 판단한다. 만일 모든 복제본의 패리티가 서로 일치하지 않으면, 비록 실제로는 1개의 복제본이 오류가 없는 경우일 지라도 모든 복제본에 오류가 있는 것으로서 판단한다.
s480 단계에서는 오류 복구 작업이 모두 수행된 것으로 판단되는 복제본의 패리티를 계산한 후, 계산된 패리티들을 비교하여 최소한 두 개의 복제본의 패리티가 상호일치하면, 오류 복구가 성공적으로 수행된 것으로 판단한 후, 이 복제본을 기초로 패리티가 다른 복제본들의 오류 복구를 수행한다.
도 5 는 본 발명의 바람직한 일 실시예로서, 모든 복제본에 오류가 있는 경우 오류복구가 가능한 스토리지 시스템의 내부 구성도를 도시한다.
본 발명의 바람직한 일 실시예로서 스토리지 시스템(500)은 분할부(510), 데이터일치검증부(520), 정상조각참조부(530), 오류복구순환부(540) 및 복구부(550)를 포함한다.
분할부(510)는 각 복제본의 전부 또는 일부를 이등분한다. 최초의 복제본을 이등분할 때는 복제본 전부를 이등분하나, 이후 복제본 중 일부가 오류가 없는 데이터로 검증되면, 오류가 있는 부분만을 이등분한다. 이 경우 상이한 기준으로 이등분 할 경우 대응되는 복제본 조각이 상이할 수 있으므로, 각 복제본의 전부 또는 일부를 모두 동일한 기준으로 이등분한다.
데이터일치검증부(520)는 이등분된 각 복제본 조각들 중 복제본들 간에 상호 대응되는 조각들의 패리티를 비교한다. 이에 대해서는 도 1(b) 내지 (c)를 참고한다.
정상조각참조부(530)는 복제본들 간에 상호 대응되는 조각들 중 최소 2개 이상의 조각의 패리티가 일치하는 경우 해당 조각을 정상조각으로 판단하여, 상기 정상조각에 대응되는 각 복제본 조각들의 오류를 복구한다.
오류복구순환부(540)는 복제본들 간에 상호 대응되는 조각들 간의 패리티가 모두 불일치하는 경우 해당조각을 오류포함조각으로 판단한다. 이후 복제본 전체가 아니라 오류포함조각만 반복해서 이등분하여 부분적인 패리티 검사를 통해 오류가 없는 부분을 찾아내어 정상조각으로 판단하는 방식으로 오류를 복구한다. 이를 위해, 오류복구순환부(540)는 오류가 복구될 때까지 반복적으로 오류포함조각을 분할부(500), 데이터일치검증부(510) 및 정상조각참조부(520)를 통해 오류를 복구한다. 오류복구순환부(540)는 오류포함조각이 없거나 또는 오류포함조각의 크기가 1비트일때까지 동작하도록 구현된다.
복구부(550)는 더이상 오류포함조각이 없는 경우, 정상조각들을 합하여 각 복제본을 복구한다. 이후 복구된 복제본의 오류 복구가 성공적인지 확인하기 위하여, 스토리지 시스템이 각 파일의 마스터 패리티를 가지고 있는 경우 오류가 복구된 복제본들의 패리티들 중 적어도 하나의 패리티와 마스터 패리티가 일치하는지 판단한다. 스토리지 시스템이 각 파일의 마스터 패리티를 가지고 있지 않는 경우에는 오류가 복구된 복제본들의 패리티 값 중 적어도 두 개의 패리티 값이 일치하는지 판단하여 오류복구가 성공적으로 이루어졌는지 확인할 수 있다.
한편, 본 발명은 컴퓨터 판독가능 저장매체에 컴퓨터가 판독 가능한 코드를 저장하여 구현하는 것이 가능하다. 상기 컴퓨터 판독가능 저장매체는 컴퓨터 시스템에 의하여 판독될 수 있는 데이터가 저장되는 모든 종류의 저장 장치를 포함한다.
컴퓨터 판독 가능 저장 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있으며, 또한 반송파(예를 들어 인터넷을 통한 전송)의 형태로 구현하는 것을 포함한다. 또한, 컴퓨터 판독 가능 저장 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 판독 가능한 코드가 저장되고 실행될 수 있다.
이제까지 본 발명에 대하여 바람직한 실시예를 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 본 발명을 구현할 수 있음을 이해할 것이다. 그러므로 상기 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 특허청구범위에 의해 청구된 발명 및 청구된 발명과 균등한 발명들은 본 발명에 포함된 것으로 해석되어야 한다.
Claims (14)
- 스토리지 시스템에서 모든 복제본에 오류가 있는 경우, 복수의 오류 복제본으로부터 오류를 복구하는 방법으로서,(a)각 복제본을 이등분하는 단계;(b)이등분된 각 복제본 조각들 중 복제본들 간에 상호 대응되는 조각들의 패리티를 비교하는 단계;(c)상기 복제본들 간에 상호 대응되는 조각들 중 최소 2개 이상의 조각의 패리티가 일치하는 경우 해당 조각을 정상조각으로 판단하여, 상기 정상조각에 대응되는 상기 각 복제본 조각들의 오류를 복구하는 단계;(d)상기 복제본들 간에 상호 대응되는 조각들 간의 패리티가 모두 불일치하는 경우, 해당조각을 오류포함조각으로 판단하는 단계; 및(e) 각 복제본 내의 상기 오류포함조각에 대해서만 (a) 내지 (d) 단계를 반복 수행하는 단계;를 포함하는 것을 특징으로 하는 방법.
- 제 1 항에 있어서,상기 오류포함조각이 없는 경우, 상기 정상조각들을 합하여 각 복제본을 복구하는 단계를 더 포함하는 것을 특징으로 하는 방법.
- 제 1 항에 있어서, 상기 (e) 단계는상기 오류포함조각의 크기가 1비트일 때까지 수행되는 것을 특징으로 하는 방법.
- 제 2 항에 있어서,스토리지 시스템이 각 파일의 마스터 패리티를 가지고 있는 경우 상기 오류가 복구된 복제본들의 패리티들 중 적어도 하나의 패리티와 상기 마스터 패리티가 일치하는지 판단하는 단계를 더 포함하는 것을 특징으로 하는 방법.
- 제 2 항에 있어서,스토리지 시스템이 각 파일의 마스터 패리티를 가지고 있지 않는 경우, 상기 오류가 복구된 복제본들의 패리티 값 중 적어도 두 개의 패리티 값이 일치하는지 판단하는 단계를 더 포함하는 것을 특징으로 하는 방법.
- 제 1 항에 있어서, 상기 (a) 단계는각 복제본에 대해 모두 동일한 기준으로 이등분하는 것을 특징으로 하는 방법.
- 제 1 항에 있어서, 상기 스토리지 시스템은 최소 3개의 복제본을 포함하는 것을 특징으로 하는 방법.
- 모든 복제본에 오류가 있는 경우에도 오류복구가 가능한 스토리지 시스템으로서,각 복제본의 전부 또는 일부를 이등분하는 분할부;이등분된 각 복제본 조각들 중 복제본들 간에 상호 대응되는 조각들의 패리티를 비교하는 데이터일치검증부;상기 복제본들 간에 상호 대응되는 조각들 중 최소 2개 이상의 조각의 패리티가 일치하는 경우 해당 조각을 정상조각으로 판단하여, 상기 정상조각에 대응되는 상기 각 복제본 조각들의 오류를 복구하는 정상조각참조부; 및상기 복제본들 간에 상호 대응되는 조각들 간의 패리티가 모두 불일치하는 경우 해당조각을 오류포함조각으로 판단하고, 오류가 복구될 때까지 반복적으로 상기 오류포함조각을 상기 분할부, 상기 데이터일치검증부 및 상기 정상조각참조부를 통해 오류를 복구하는 오류복구순환부;를 포함하는 것을 특징으로 하는 스토리지시스템.
- 제 8 항에 있어서,상기 오류복구순환부에서 상기 복제본들 간에 상호 대응되는 조각들 간의 패리티가 모두 불일치하는 경우가 없어 오류포함조각이 없는 경우, 상기 정상조각들을 합하여 각 복제본을 복구하는 복구부;를 더 포함하는 것을 특징으로 하는 스토리지시스템.
- 제 8 항에 있어서, 상기 오류복구순환부는상기 오류포함조각의 크기가 1비트일 때까지 오류복구를 수행하는 것을 특징으로 하는 스토리지시스템.
- 제 9 항에 있어서, 상기 스토리지 시스템은상기 스토리지 시스템이 각 파일의 마스터 패리티를 가지고 있는 경우 상기 오류가 복구된 복제본들의 패리티들 중 적어도 하나의 패리티와 상기 마스터 패리티가 일치하는지 판단하는 것을 특징으로 하는 스토리지시스템.
- 제 9 항에 있어서, 상기 스토리지 시스템은상기 스토리지 시스템이 각 파일의 마스터 패리티를 가지고 있지 않는 경우, 상기 오류가 복구된 복제본들의 패리티 값 중 적어도 두 개의 패리티 값이 일치하는지 판단하는 것을 특징으로 하는 스토리지시스템.
- 제 8 항에 있어서, 상기 분할부는각 복제본의 전부 또는 일부를 모두 동일한 기준으로 이등분하는 것을 특징으로 하는 스토리지시스템.
- 제 8 항에 있어서, 상기 스토리지시스템은최소 3개의 복제본을 포함하는 것을 특징으로 하는 스토리지시스템.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR10-2010-0132416 | 2010-12-22 | ||
| KR1020100132416A KR101502895B1 (ko) | 2010-12-22 | 2010-12-22 | 복수의 오류 복제본으로부터 오류를 복구하는 방법 및 상기 방법을 이용하는 스토리지 시스템 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2012086914A1 true WO2012086914A1 (ko) | 2012-06-28 |
Family
ID=46314154
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/KR2011/008216 Ceased WO2012086914A1 (ko) | 2010-12-22 | 2011-10-31 | 복수의 오류 복제본으로부터 오류를 복구하는 방법 및 상기 방법을 이용하는 스토리지 시스템 |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US8775870B2 (ko) |
| KR (1) | KR101502895B1 (ko) |
| WO (1) | WO2012086914A1 (ko) |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR930023826A (ko) * | 1992-05-01 | 1993-12-21 | 김광호 | 패리티 메모리 제어회로 |
| KR20010091593A (ko) * | 2000-03-16 | 2001-10-23 | 구자홍 | 패리티 블록코드를 이용한 오류 복구방법 |
| KR20090036276A (ko) * | 2007-10-09 | 2009-04-14 | 주식회사 대우일렉트로닉스 | 광정보 처리장치의 데이터 페이지, 데이터 페이지 맵핑방법및 데이터 페이지 오류검사방법 |
Family Cites Families (58)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4714992A (en) | 1985-11-26 | 1987-12-22 | International Business Machines Corporation | Communication for version management in a distributed information service |
| US5200963A (en) | 1990-06-26 | 1993-04-06 | The United States Of America As Represented By The Administrator, National Aeronautics And Space Administration | Self-checking on-line testable static ram |
| KR930007928B1 (ko) | 1991-01-31 | 1993-08-21 | 삼성전자 주식회사 | 오류정정방법 및 장치 |
| US5757783A (en) | 1995-06-15 | 1998-05-26 | Lucent Technologies Inc. | Method and apparatus for routing ATM cells in an AD-ATM LAN |
| EP0839352B1 (en) | 1995-07-20 | 2002-10-16 | Novell, Inc. | Transaction log management in a disconnectable computer and network |
| US5907671A (en) | 1996-09-23 | 1999-05-25 | International Business Machines Corporation | Fault tolerant system based on voting |
| US5909540A (en) | 1996-11-22 | 1999-06-01 | Mangosoft Corporation | System and method for providing highly available data storage using globally addressable memory |
| US20020055924A1 (en) | 2000-01-18 | 2002-05-09 | Richard Liming | System and method providing a spatial location context |
| US7051032B2 (en) | 2000-03-17 | 2006-05-23 | International Business Machines Corporation | System and method for providing post HOC access to legacy applications and data |
| US7701925B1 (en) | 2000-03-22 | 2010-04-20 | Tekelec | Presence registration and routing node |
| US20020065919A1 (en) | 2000-11-30 | 2002-05-30 | Taylor Ian Lance | Peer-to-peer caching network for user data |
| US6785838B2 (en) | 2001-02-13 | 2004-08-31 | Sun Microsystems, Inc. | Method and apparatus for recovering from failure of a mirrored boot device |
| US7418620B1 (en) | 2001-02-16 | 2008-08-26 | Swsoft Holdings, Ltd. | Fault tolerant distributed storage method and controller using (N,K) algorithms |
| KR100923394B1 (ko) | 2002-06-25 | 2009-10-23 | 주식회사 케이티 | 가상사설망에서의 네트워크 저장공간 구현 방법 |
| JP4387087B2 (ja) | 2002-07-25 | 2009-12-16 | 三洋電機株式会社 | データ記憶装置 |
| JP2004126716A (ja) | 2002-09-30 | 2004-04-22 | Fujitsu Ltd | 広域分散ストレージシステムを利用したデータ格納方法、その方法をコンピュータに実現させるプログラム、記録媒体、及び広域分散ストレージシステムにおける制御装置 |
| US7865536B1 (en) | 2003-02-14 | 2011-01-04 | Google Inc. | Garbage collecting systems and methods |
| US20050125456A1 (en) | 2003-12-09 | 2005-06-09 | Junichi Hara | File migration method based on access history |
| US20050256923A1 (en) | 2004-05-14 | 2005-11-17 | Citrix Systems, Inc. | Methods and apparatus for displaying application output on devices having constrained system resources |
| US20050283487A1 (en) | 2004-06-21 | 2005-12-22 | Magnus Karlsson | Method of determining lower bound for replication cost |
| US7620687B2 (en) | 2004-06-25 | 2009-11-17 | Telcordia Technologies, Inc. | Distributed request routing |
| US20060069828A1 (en) | 2004-06-30 | 2006-03-30 | Goldsmith Michael A | Sharing a physical device among multiple clients |
| JP4576923B2 (ja) | 2004-08-09 | 2010-11-10 | 株式会社日立製作所 | ストレージシステムの記憶容量管理方法 |
| US20080021935A1 (en) | 2004-09-10 | 2008-01-24 | Koninklijke Philips Electronics, N.V. | System and Method for Avoiding Redundant Copying of Shared Content When Using Virtual Titles |
| US8549180B2 (en) | 2004-10-22 | 2013-10-01 | Microsoft Corporation | Optimizing access to federation infrastructure-based resources |
| KR100719285B1 (ko) | 2005-03-30 | 2007-05-17 | (주)이스트소프트 | 웹 스토리지의 분산 파일관리시스템 및 파일관리방법 |
| US8112605B2 (en) | 2005-05-02 | 2012-02-07 | Commvault Systems, Inc. | System and method for allocation of organizational resources |
| US9392078B2 (en) | 2006-06-23 | 2016-07-12 | Microsoft Technology Licensing, Llc | Remote network access via virtual machine |
| US8117155B2 (en) | 2006-06-30 | 2012-02-14 | Microsoft Corporation | Collection-based object replication |
| JP4859595B2 (ja) | 2006-09-01 | 2012-01-25 | 株式会社日立製作所 | 記憶システム、そのデータ再配置方法、データ再配置プログラム |
| US8239479B2 (en) | 2007-06-22 | 2012-08-07 | Microsoft Corporation | Server-assisted and peer-to-peer synchronization |
| US8332375B2 (en) | 2007-08-29 | 2012-12-11 | Nirvanix, Inc. | Method and system for moving requested files from one storage location to another |
| US7865762B2 (en) | 2007-12-04 | 2011-01-04 | Intel Corporation | Methods and apparatus for handling errors involving virtual machines |
| KR100946986B1 (ko) | 2007-12-13 | 2010-03-10 | 한국전자통신연구원 | 파일 저장 시스템 및 파일 저장 시스템에서의 중복 파일관리 방법 |
| US8171379B2 (en) * | 2008-02-18 | 2012-05-01 | Dell Products L.P. | Methods, systems and media for data recovery using global parity for multiple independent RAID levels |
| JP5087456B2 (ja) | 2008-04-09 | 2012-12-05 | 株式会社インテック | サービス提供システム及びそれを構成するユーザ収容装置 |
| KR101007356B1 (ko) | 2008-08-28 | 2011-01-13 | 한국전자통신연구원 | 가상화 시스템 상에서 입출력 디바이스 설정장치 및 방법 |
| GB2463078B (en) | 2008-09-02 | 2013-04-17 | Extas Global Ltd | Distributed storage |
| US9367257B2 (en) | 2008-09-11 | 2016-06-14 | Microsoft Technology Licensing, Llc | Techniques for resource location and migration across data centers |
| KR20100055297A (ko) | 2008-11-17 | 2010-05-26 | 에스케이텔레콤 주식회사 | 분산 저장된 컨텐츠의 리다이렉티드 url을 이용한 동시 멀티미디어 스트리밍 시스템 및 방법 |
| KR101485610B1 (ko) | 2008-11-27 | 2015-01-22 | 주식회사 케이티 | 네트워크 구조를 고려한 분산형 컨텐트 전달 시스템 및 그 방법 |
| KR101104729B1 (ko) | 2008-11-28 | 2012-01-11 | 에스케이플래닛 주식회사 | 최적의 캐시조각 획득방식을 이용하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템 및 방법 |
| KR101023585B1 (ko) | 2008-12-08 | 2011-03-21 | 주식회사 케이티 | 객체기반 스토리지 시스템에서 클라이언트 요청빈도에 따른데이터 관리 방법 |
| KR101010219B1 (ko) | 2008-12-16 | 2011-01-21 | 한국전자통신연구원 | 비대칭 분산 파일 시스템과 그의 점진적 일관성 오류 감지 및 복구 방법 |
| US9614924B2 (en) | 2008-12-22 | 2017-04-04 | Ctera Networks Ltd. | Storage device and method thereof for integrating network attached storage with cloud storage services |
| KR20100073154A (ko) | 2008-12-22 | 2010-07-01 | 한국전자통신연구원 | 메타데이터 서버, 데이터 서버의 데이터 처리 방법 및 이를이용한 비대칭 클러스터 분산 파일 시스템 |
| US8132256B2 (en) | 2009-01-21 | 2012-03-06 | At&T Mobility Ii Llc | Home networking using LTE radio |
| KR20100092850A (ko) | 2009-02-13 | 2010-08-23 | 경희대학교 산학협력단 | 클라우드 컴퓨팅 환경에서의 리소스 분배 장치 및 그 방법 |
| US8560639B2 (en) | 2009-04-24 | 2013-10-15 | Microsoft Corporation | Dynamic placement of replica data |
| US8769049B2 (en) | 2009-04-24 | 2014-07-01 | Microsoft Corporation | Intelligent tiers of backup data |
| KR20100122197A (ko) | 2009-05-12 | 2010-11-22 | 주식회사 클루넷 | 클라우드 컴퓨팅 네트워크 시스템 및 그것의 파일 분산 방법 |
| US20100318609A1 (en) | 2009-06-15 | 2010-12-16 | Microsoft Corporation | Bridging enterprise networks into cloud |
| KR101626117B1 (ko) | 2009-06-22 | 2016-05-31 | 삼성전자주식회사 | 클라우드 스토리지를 제공하는 클라이언트, 중개 서버 및 방법 |
| US20100332530A1 (en) | 2009-06-26 | 2010-12-30 | Microsoft Corporation | Islands of data |
| US8285681B2 (en) | 2009-06-30 | 2012-10-09 | Commvault Systems, Inc. | Data object store and server for a cloud storage environment, including data deduplication and data management across multiple cloud storage sites |
| KR100931260B1 (ko) | 2009-07-08 | 2009-12-11 | (주)나노레볼루션 | Sbc 환경에서 사용자 단말의 이동성 지원을 위한 끊김없는 서버 접속 및 서비스 연결 방법 및 시스템 |
| KR100985169B1 (ko) | 2009-11-23 | 2010-10-05 | (주)피스페이스 | 분산 저장 시스템에서 파일의 중복을 제거하는 장치 및 방법 |
| US9009724B2 (en) | 2010-09-24 | 2015-04-14 | Hewlett-Packard Development Company, L.P. | Load balancing data access in virtualized storage nodes |
-
2010
- 2010-12-22 KR KR1020100132416A patent/KR101502895B1/ko active Active
-
2011
- 2011-10-31 WO PCT/KR2011/008216 patent/WO2012086914A1/ko not_active Ceased
- 2011-12-22 US US13/334,710 patent/US8775870B2/en active Active
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR930023826A (ko) * | 1992-05-01 | 1993-12-21 | 김광호 | 패리티 메모리 제어회로 |
| KR20010091593A (ko) * | 2000-03-16 | 2001-10-23 | 구자홍 | 패리티 블록코드를 이용한 오류 복구방법 |
| KR20090036276A (ko) * | 2007-10-09 | 2009-04-14 | 주식회사 대우일렉트로닉스 | 광정보 처리장치의 데이터 페이지, 데이터 페이지 맵핑방법및 데이터 페이지 오류검사방법 |
Also Published As
| Publication number | Publication date |
|---|---|
| KR20120070894A (ko) | 2012-07-02 |
| US8775870B2 (en) | 2014-07-08 |
| KR101502895B1 (ko) | 2015-03-17 |
| US20120166870A1 (en) | 2012-06-28 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| WO2019198885A1 (ko) | 블록체인 기반의 다수의 서비스 노드를 사용하는 탈중앙화 서비스 플랫폼 | |
| CN106201338A (zh) | 数据存储方法及装置 | |
| WO2012086920A2 (ko) | 내용 기반 중복 방지 기능을 가지는 분산 저장 시스템 및 그 오브젝트 저장 방법 및 컴퓨터에 의하여 독출가능한 저장 매체 | |
| WO2020246706A1 (ko) | 문서의 신뢰성을 보장하기 위한 블록체인 기반의 문서 정보 관리 장치 및 그 동작 방법 | |
| CN111625199B (zh) | 提升固态硬盘数据通路可靠性的方法、装置、计算机设备及存储介质 | |
| WO2019022508A1 (ko) | 데이터 저장을 위한 소실 부호의 부호화 방법 및 장치 | |
| WO2020246705A1 (ko) | 블록체인을 기반으로 문서 정보의 관리를 가능하게 하는 문서 정보 관리 장치 및 그 동작 방법 | |
| WO2020138532A1 (ko) | 사물 인터넷 환경을 위한 동적 블라인드 투표기반의 블록체인 합의방법 | |
| SE417760B (sv) | Sett att vid dataoverforing mellan en sendande dator och en mottagande dator overvaka fel och anordning for genomforande av settet | |
| WO2021085701A1 (ko) | 블록체인 및 스마트컨트랙트를 이용한 보안 이벤트를 처리하기 위한 장치 및 이를 위한 방법 | |
| WO2023124302A1 (zh) | 数据处理方法、装置、终端设备及存储介质 | |
| WO2021215864A1 (ko) | Api 게이트웨이 엑셀레이터 시스템 및 방법 | |
| KR100922584B1 (ko) | 객체 기반 분산 공유 시스템 및 그의 방법 | |
| CN117992501B (zh) | 数据库集群脑裂预防方法、装置、电子设备及存储介质 | |
| CN109828723B (zh) | 一种分布式存储系统及其精确数据修复方法及装置 | |
| WO2012086914A1 (ko) | 복수의 오류 복제본으로부터 오류를 복구하는 방법 및 상기 방법을 이용하는 스토리지 시스템 | |
| CN105159790B (zh) | 一种数据抢救方法及文件服务器 | |
| US8725483B2 (en) | Minimizing the maximum required link capacity for three-dimensional interconnect routing | |
| CN118860455A (zh) | 服务器固件的刷新方法及装置、存储介质及电子设备 | |
| CN114840400B (zh) | 异常组件的识别方法、装置、设备、存储介质及程序产品 | |
| CN117336023A (zh) | 多智能体系统的安全一致性控制方法及装置 | |
| CN101150624A (zh) | 一种数据配置的系统和方法 | |
| CN107346273B (zh) | 一种数据恢复方法、装置及电子设备 | |
| CN115639972B (zh) | 数据迁移方法、装置、电子设备以及存储介质 | |
| WO2021101040A1 (ko) | 패치 트랜잭션을 이용한 블록체인 생성 방법 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 11851880 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 11851880 Country of ref document: EP Kind code of ref document: A1 |