KR101006324B1 - 데이터 복구를 위해 패리티 정보를 저장하는 방법, 시스템 및 컴퓨터 판독가능 저장 매체 - Google Patents

데이터 복구를 위해 패리티 정보를 저장하는 방법, 시스템 및 컴퓨터 판독가능 저장 매체 Download PDF

Info

Publication number
KR101006324B1
KR101006324B1 KR1020077002545A KR20077002545A KR101006324B1 KR 101006324 B1 KR101006324 B1 KR 101006324B1 KR 1020077002545 A KR1020077002545 A KR 1020077002545A KR 20077002545 A KR20077002545 A KR 20077002545A KR 101006324 B1 KR101006324 B1 KR 101006324B1
Authority
KR
South Korea
Prior art keywords
data
information unit
storage
site
storage device
Prior art date
Application number
KR1020077002545A
Other languages
English (en)
Other versions
KR20070046835A (ko
Inventor
루 엔구옌
니나 체리안
Original Assignee
인터내셔널 비지네스 머신즈 코포레이션
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 인터내셔널 비지네스 머신즈 코포레이션 filed Critical 인터내셔널 비지네스 머신즈 코포레이션
Publication of KR20070046835A publication Critical patent/KR20070046835A/ko
Application granted granted Critical
Publication of KR101006324B1 publication Critical patent/KR101006324B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/10Indexing scheme relating to G06F11/10
    • G06F2211/1002Indexing scheme relating to G06F11/1076
    • G06F2211/1028Distributed, i.e. distributed RAID systems with parity

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Multi Processors (AREA)

Abstract

제 1 사이트에 있는 제 1 저장 장치가 제 2 사이트에 있는 제 2 저장 장치 및 제 3 사이트에 있는 제 3 저장 장치에 결합되는 방법, 시스템, 및 제조품이 제공된다. 데이터는 제 1 저장 장치에서 수신된다. 수신된 데이터는 제 1 부분 및 제 2 부분으로 분할된다. 데이터의 제 1 부분은 제 1 사이트에 있는 제 1 저장 장치에 저장된다. 데이터의 제 2 부분은 제 2 사이트에 있는 제 2 저장 장치에 저장을 목적으로 분산된다. 데이터의 제 1 부분 및 데이터의 제 2 부분에 대응하는 패리티 데이터가 연산된다. 패리티 데이터는 제 3 사이트에 있는 제 3 저장 장치에 저장을 목적으로 분산된다. 또한, 또한 데이터가 제 1 저장 장치에서 수신되는 방법, 시스템, 및 제조품이 제공된다. 수신된 데이터 및 연산된 패리티 데이터의 일부를 각각 포함하는 제 1 정보 유닛, 제 2 정보 유닛, 제 3 정보 유닛이 생성된다. 제 1 정보 유닛은 제 1 사이트에 있는 제 1 저장 장치에 저장된다. 제 2 정보 유닛은 제 2 사이트에 있는 제 2 저장 장치에 저장을 목적으로 분산된다. 제 3 정보 유닛은 제 3 사이트에 있는 제 3 저장 장치에 저장을 목적으로 분산된다.

Description

데이터 복구를 위해 패리티 정보를 저장하는 방법, 시스템 및 컴퓨터 판독가능 저장 매체{STORING PARITY INFORMATION FOR DATA RECOVERY}
데이터 복구를 위해 패리티(parity) 정보를 저장하는 방법, 시스템, 제조품에 관하여 개시한다.
저장 시스템을 포함한 정보 기술 시스템은 사이트 재난, 또는 예고가 될 수도 또는 예고가 되지 않을 수도 있는 장애로부터 보호를 필요로 할 수도 있다. 또한, 정보 기술 시스템은 데이터 이행(migration), 데이터 백업(backup) 또는 데이터 복사를 위한 특징을 요구할 수 있다. 재난 또는 장애 복구, 데이터 이행, 데이터 백업, 데이터 복사를 위한 구현은 저장 시스템에서 데이터의 미러링(mirroring) 또는 복사를 포함할 수 있다. 그러한 데이터의 미러링이나 복사는 호스트(host), 저장 시스템 및 정보 기술 시스템의 접속 네트워크 구성 요소간의 상호작용을 포함할 수도 있다.
정보 기술 시스템은 제 1 사이트에서 제 2 사이트로 데이터를 복사함으로써 사이트 장애로부터 보호될 수도 있다. 제 1 사이트는 응용 사이트, 국부 사이트, 주요 사이트 또는 생산 사이트로 불릴 수 있다. 제 2 사이트는 복구 사이트, 원격 사이트, 제 2 사이트 또는 백업 사이트로 불릴 수 있다.
복수 배열 독립 디스크(RAID; Redundant Array of Independent DISK)는 디스크 저장 시스템에서의 재난 복구를 위해 디스크가 내고장성 있도록 만드는 장치이다. RAID는 하나의 장애 에러 포인트, 즉 하나의 디스크 장애로부터 복구하기 위해 패리티(parity)라고 알려진 에러 수정 코드를 사용할 수 있다. RAID는 데이터 검색 속도를 향상시키고 동시에 내고장성을 허용하기 위해 다수의 디스크에 데이터와 패리티를 뿌린다(stripe). RAID에는 RAID 레벨 0,1,2,3,4,5 와 같은 다양한 레벨이 있다. 예를 들어 RAID 레벨 5는 바이트 레벨로 데이터 스트립핑(striping)을 제공하며 스트립 에러 수정 정보도 제공한다. RAID 레벨 5에서는 다수의 디스크 상의 데이터에 대응하는 패리티가 연산될 수 있고, 어떠한 데이터의 손실도 없이 디스크 장애로부터 복구되는데 사용될 수 있다.
제 1 사이트에 있는 제 1 저장 장치가 제 2 사이트에 있는 제 2 저장 장치 및 제 3 사이트에 있는 제 3 저장 장치에 결합되는 방법, 시스템, 제조품이 제공된다. 데이터는 제 1 저장 장치에서 수신된다. 수신된 데이터는 제 1 부분과 제 2 부분으로 나누어진다. 데이터의 제 1 부분은 제 1 사이트에 있는 제 1 저장 장치에 저장된다. 데이터의 제 2 부분은 저장을 목적으로 제 2 사이트에 있는 제 2 저장 장치에 분산된다. 데이터의 제 1 부분 및 데이터의 제 2 부분에 대응하는 패리티 데이터가 연산된다. 패리티 데이터는 제 3 사이트에 있는 제 3 저장 장치에 저장을 목적으로 분산된다.
추가적인 실시예에서, 제 1 사이트에서의 데이터 손실에 반응하여, 데이터의 제 1 부분은 제 2 사이트에 저장된 데이터의 제 2 부분 및 제 3 사이트에 저장된 패리티 데이터로부터 복구된다. 다른 실시예에서, 데이터의 제 1 부분, 데이터의 제 2 부분, 및 패리티 데이터 크기의 합은 수신된 데이터 크기의 2배에 미만이다. 또 다른 실시예에서, 데이터의 제 1 부분과 데이터의 제 2 부분, 및 패리티 데이터 크기의 합은 수신된 데이터 크기의 1.5 배이다.
또 다른 추가적인 실시예에서, 제 1 사이트, 제 2 사이트, 및 제 3 사이트는 서로로부터 10 마일 이상의 거리만큼 떨어져 있으며, 그곳에서 제 1 부분, 제 2 부분 및 제 3 부분은 서로 다른 저장 디스크 시스템에 저장된다.
다른 실시예에서, 제 1 사이트와 제 3 사이트 간 거리는 제 1 사이트와 제 2 사이트 간 거리보다 짧다.
또 다른 추가적인 실시예에서, 제 1 저장 장치는 캐시(cache)를 포함한다. 수신된 데이터는 제 1 저장 장치의 캐시에 저장된다. 수신된 데이터를 분할하기 이전에, 캐시에 저장된 데이터에 대한 최신 정보(updates)가 수신된다. 캐시는 수신된 최신 정보로 갱신되고, 데이터의 제 2 부분과 패리티 데이터의 분산이 비동기적으로 수행되며, 데이터의 제 1 부분과 제 2 부분 및 패리티 데이터는 시간이 기록된다(timestamped).
다른 실시예에서, 제 1 저장 장치는 입출력 요청을 제 1 저장 장치로 전송하는 호스트와 결합되고, 호스트로부터 제 1 저장 장치로의 최신정보는 제 2 저장 장치에 비동기식으로 반영되고(reflected), 제 3 저장 장치에 비동기식으로 반영된다.
제 1 사이트에 있는 제 1 저장 장치가 제 2 사이트에 있는 제 2 저장 장치 및 제 3 사이트에 있는 제 3 저장 장치에 결합되는 방법, 시스템, 제조품이 또한 제공된다. 제 1 정보 유닛, 제 2 정보 유닛, 그리고 제 3 정보 유닛이 생성되며, 각각의 정보 유닛은 수신된 데이터와 연산된 패리티 데이터의 일부를 포함한다. 제 1 정보 유닛은 제 1 사이트에 있는 제 1 저장 장치에 저장된다. 제 2 정보 유닛은 저장을 위해 제 2 사이트에 있는 제 2 저장 장치에 분산된다. 제 3 정보 유닛은 저장을 위해 제 3 사이트에 있는 제 3 저장 장치에 분산된다.
다른 실시예에서, 제 1 사이트에서의 데이터 손실에 대응하여, 수신된 데이터는 제 2 정보 유닛 및 제 3 정보 유닛으로부터 복구된다. 다른 실시예에서 제 1 정보 유닛, 제 2 정보 유닛 및 제 3 정보 유닛 크기의 합은 수신된 데이터 크기의 2 배 미만이다.
추가적인 실시예에서, 제 1 사이트, 제 2 사이트, 그리고 제 3 사이트는 서로로부터 10 마일 이상 떨어져 있으며, 제 1 정보 유닛, 제 2 정보 유닛, 그리고 제 3 정보 유닛은 서로 다른 저장 디스크 시스템에 저장된다.
또 다른 추가적인 실시예에서, 패리티 데이터의 대다수는 제 2 및 제 3 저장 장치보다 빠르게 액세스 될 수 있는 제 1 저장 장치에 저장된다.
추가적인 실시예에서, 호스트로부터 제 1 저장 장치에서 데이터가 수신되며, 그곳에서 다중 경로 하드웨어(multi-pathing hardware)는 호스트를 제 1 , 제 2, 및 제 3 저장 장치에 연결시키기 위해 사용된다.
제 2 또는 제 3 정보 유닛을 분산시키는 단계는, 제 2 및 제 3 저장 장치에 병렬로 기록되는 전체 스트라이드 기록(full stride writes)인, 제 1 저장 장치에서부터 제 2 및 제 3 저장 장치로의 기록 동작을 거친다.
동일한 도면 부호는 전체적으로 대응하는 부분을 나타내는 도면을 이하 참조한다.
도 1(a)는 제 1 저장 시스템으로부터 제 2 저장 시스템으로의 데이터 복사를 위한 시스템의 블록도를 도시한 도면.
도 1(b)는 세 개의 저장 시스템 중에서 데이터 및 패리티 정보를 분산하기 위한 시스템의 블록도를 임의의 실시예에 따라 도시한 도면.
도 2는 세 개의 저장 시스템 중에 데이터 및 패리티 정보를 분산하기 위한 제 1 연산 환경의 블록도를 임의의 실시예에 따라 도시한 도면.
도 3은 데이터와 패리티 정보를 분산하기 위한 동작을 제 1 연산 환경에 대응하는 임의의 실시예에 따라 도시한 도면.
도 4는 세 개의 저장 시스템 중에 데이터 및 패리티 정보를 분산하기 위한 제 2 연산 환경의 블록도를 임의의 실시예에 따라 도시한 도면.
도 5는 데이터 및 패리티 정보를 분산하는 동작을 제 2 연산 환경에 대응하는 임의의 실시예에 따라 도시한 도면.
도 6은 세 개의 저장 시스템 중에서 데이터 및 패리티 정보를 분산하기 위한 제 3 연산 환경의 블록도를 임의의 실시예에 따라 도시한 도면.
도 7은 데이터 및 패리티 정보를 분산하는 동작을 제 3 연산 환경에 대응하는 임의의 실시예에 따라 도시한 도면.
도 8은 임의의 실시예에서 구현된 시스템을 도시한 도면.
다음의 상세한 설명에서, 참조부호는 본 명세서의 일부를 구성하고 몇 개의 실시예를 도시한 첨부된 도면에 따라 만들어져 있다. 다른 실시예가 구현될 수도 있으며 구조적 변화 및 동작상의 변화가 생길 수 있다.
도 1은 재난 복구를 위해 하나의 저장 시스템으로부터 다른 곳으로 데이터의 복사하기 위한 시스템의 블록도를 도시한다. 호스트(100)와 같은 서버는 기록될 데이터를 제 2 저장 시스템(104)에 결합된 제 1 저장 시스템(102)으로 전송할 수도 있다. 호스트(100)에 의해 제 1 저장 시스템(102)에 기록된 데이터는 원본 데이터(original data)(106)라 불릴 수 있다. 예를 들어 원본 데이터(106)의 크기는 100 테라바이트(terabyte)가 될 수 있다. 제 1 저장 시스템(102)에서의 데이터 손실로부터의 복구를 허용하는 시스템을 유지하기 위해, 제 1 저장 시스템(102)은 원본 데이터(106)를 제 2 저장 시스템(104)에 복사(108)할 수 있다. 제 2 저장 시스템(104)에 복사된 데이터는 사본 데이터(110)라 불릴 수 있다. 원본 데이터(106)의 어떤 부분에 손실이 발생한 경우에, 복사된 데이터(11)는 손실로부터 복구되는데 사용될 수 있다. 원본 데이터(106)의 크기가 100 테라바이트라면, 사본 데이터(110)의 크기도 100 테라바이트일 수도 있고, 도 1에 도시한 시스템은 원본 데이터(106)의 손실로부터 복구되기 위해 200 테라바이트의 저장 장치를 사용할 수도 있다. 도 1에 도시된 시스템에서, 데이터 손실로부터 복구되기 위해 요구되는 저장 용량은 원본 데이터 크기의 두 배이다. 제 1 저장 시스템(102)에서 제 2 저장 시스템(104)으로의 원본 데이터(106)의 최초의 복사 이후에, 연속하는 기록 또한 복사될 수도 있다. 호스트(100)가 제 1 저장 시스템(102)의 볼륨(volume)에 기록할 때, 제 1 저장 시스템(102)은 대응하는 데이터를 제1 저장 시스템(102)과 관련된, 디스크와 같은 국부 저장 장치에 기록하며, 데이터를 제 2 저장 시스템(104)에 전송한다. 제 2 저장 시스템(104)은 전송받은 데이터를 제 2 저장 시스템(104)과 관련된 국부 저장 장치에 기록한다. 일단 기록이 성공적이었음을 제 2 저장 시스템(104)이 제 1 저장 시스템(102)으로 승인하면, 제 1 저장 시스템(102)은 호스트(100)로 기록이 성공되었음을 응답한다.
도 1(b)는 세 개의 저장 시스템 중에 데이터 및 패리티 정보를 분산하기 위한 시스템의 블록도를 임의의 실시예에 따라 도시하였다.
제 1 저장 시스템(112), 제 2 저장 시스템(114) 및 제 3 저장 시스템(116)은 제 1 서버(118), 제 2 서버(120) 및 제 3 서버(122)에 각각 결합된다. 제 1 서버(118)는 제 1 저장 시스템(112)에 데이터를 기록할 수 있다. 데이터는 사이트 장애로부터 보호받을 수 있었다. 임의의 실시예에서 데이터 및 관련된 패리티는 하나 이상의 제 1, 제 2, 제 3 저장 시스템(112,114,116)에 저장될 수 있다. 하나 이상의 제 1, 제 2, 제 3 저장 시스템(112,114,116)에, 데이터 및 관련된 패리티를 저장하기 위한 임의의 실시예의 더 자세한 사항은 도 2-8에 도시하였다.
도 2는 데이터 및 패리티 정보를 세 개의 저장 시스템 중에 분산하기 위한, 임의의 실시예에 따른 제 1 연산 환경(200)의 블록도를 도시한다.
제 1 저장 시스템(202), 제 2 저장 시스템(204), 그리고 제 3 저장 시스템(206)은 제 1 서버(208), 제 2 서버(210), 그리고 제 3 서버(212)에 각각 결합된다. 또한, 제 1 저장 시스템(202)은 제 2 저장 시스템(204) 및 제 3 저장 시스템(206)에 결합된다. 저장 시스템(202,204,206)은 임의의 저장 시스템 또는 저장 컨트롤러, 디스크 기반 저장소, 테이프 기반 저장소 등을 포함한 서브시스템을 포함할 수 있다. 서버(208,210,212)는 워크스테이션(workstation), 데스크탑 컴퓨터, 랩탑(laptop), 메인프레임(mainframe), 전화 통신 장치, 초소형 컴퓨터 등과 같은 계산을 요구하는 어떤 장치도 포함할 수 있다.
기록 동작을 수행하는 동안, 제 1 서버(208)는 데이터(214)를 제 1 저장 시스템(202)에 전송한다. 데이터(214)는 사이트 장애로부터 보호받아야 할지도 모른다. 제 1 저장 시스템(202)은 데이터(214)의 제 1 부분(216)을 제 1 저장 시스템(202)에 저장하고, 데이터(214)의 제 2 부분(218)을 저장하기 위해 제 2 저장 시스템(204)에 보낸다. 제 1 저장 시스템(202)은 제 1 부분(216) 및 제 2 부분(218)으로부터 패리티 데이터(220)를 연산하여, 패리티 데이터(220)를 저장을 위해서 제 3 저장 시스템(206)에 보낸다. 임의의 실시예에서, 데이터가 제1 저장 시스템(202)으로부터 전송되면, 제 1 저장 시스템(202)은 멀리 있는, 즉 제 2 또는 제 3의 저장 시스템(204,206)의 하나로부터의 승인을 기다린다. 대응하는 승인이 제 2 저장 시스템(204) 또는 제 3 저장 시스템(206)으로부터 돌아왔을 때, 데이터는 보호되고 제 1 저장 시스템(202)은 기록이 성공하였다는 표지를 제 1 서버(208)로 보낸다. 이러한 방식으로, 기록도 자동으로 부하 균형이 맞춰질 수 있다. 제 2 저장 시스템(206)에 대한 저장 네트워크가 통화 중이면(busy), 제 1 서버(208)는 승인될 기록 중 하나를 대기하여야만 하기 때문에 제 1 연산 환경(200)의 실행에 불리하게 영향을 주지 않을 수도 있다.
임의의 실시예에서, 데이터(214) 사이즈가 100 테라바이트라면, 데이터의 제 1 부분(216)은 50 테라바이트가 될 수도 있고, 데이터의 제 2 부분(218)은 50 테라바이트가 될 수도 있으며, 패리티 데이터(220)는 50 테라바이트가 될 수도 있다. 재난으로부터 복구하기 위해 원본 데이터(106)를 저장하는데 2배의 저장 용량이 필요한 도 1과 비교하여, 도 2에서 도시된 실시예는 임의의 저장 시스템(202,204,206)에서의 손실을 야기하는 재난으로부터 복구하기 위해 데이터(214) 크기와 같은 저장 용량의 1.5 배를 요구할 수도 있다.
임의의 실시예에서, 제 1 저장 시스템(202), 제 2 저장 시스템(204) 및 제 3 저장 시스템(206)은 서로 다른 사이트에 있을 수도 있다. 임의의 실시예에서, 제 1 저장 시스템(202)은 제 1 사이트에 위치하며, 제 2 저장 시스템(204)은 제 2 사이트에 위치하며, 제 3 저장 시스템(206)은 제 3 사이트에 위치하며, 제 1 사이트, 제 2 사이트 및 제 3 사이트는 지리적으로 서로 멀리 떨어져 있으며, 서로 다른 도시에 있을 수도 있다. 예를 들어, 제1, 제2 및 제 3 사이트는 서로로부터 10마일 이상의 거리만큼 떨어져 있을 수 있다. 저장 시스템(202,204,206)은 서로 다른 사이트에 위치하기 때문에, 데이터(214)의 제 1 부분(216), 데이터(214)의 제 2 부분(218) 및 패리티 데이터(220)는 서로 다른 디스크 저장 시스템에 저장된다. 임의의 실시예에서, 사용자는 자연적 재난 같은 사이트 전 범위에 걸친 재난으로부터 보호하기 위해 저장 시스템(202,204,206)의 분리를 선택할 수 있다. 그러나 저장 시스템(202,204,206)은 항상 지리적으로 흩어져 있을 수도 있다. 예를 들어 저장 시스템(202,204,206)은 동일한 방에서 불연성의 콘크리트 벽에 의해 분리되고, 서로 다른 동력 배관망 및 스프링클러 시스템에 연결되어 있을 수도 있다.
예시적인 실시예에서 근거리 사이트와 원거리 사이트를 포함하는 두 개의 사이트는 100 km 거리만큼 떨어져 있을 수도 있다. 파이버(fibre)를 통과하는 광속은 약 200,000 km/s 이다. 거리를 100 km로 가정하면, 두 개의 사이트 간 왕복 운동 지연시간(round trip latency)은 1ms 이다. 전형적인 하드드라이브의 지연시간은 5 ms 정도이다. 원거리 사이트에 있는 원거리 저장 서브시스템의 캐시로부터 데이터가 읽혀지거나 또는 그 캐시에 데이터가 기록된다면, 이 셋업부터의 액세스 시간은 전형적인 하드드라이브 액세스 시간의 1/5 이 될 수도 있다. 그러나 데이터가 원거리 캐시에 있지 않다면, 동작에는 5 ms 대신 6 ms 가 소요되며 이는 20%의 수행상 불이익을 초래한다. 제 2 및 제 3 저장 서브시스템(204,206)에의 기록이 병렬적으로 일어나는 예시적인 실시예에서, 기록 수행은 두 개 사이트 셋업과 같을 수 있으며, 읽기 수행은 20%보다 나쁘지 않을 수도 있다. 임의의 다른 실시예에서, 기록 동작은 전체 스트라이드 기록(full stride write)이 아니다. 그러한 경우에, 저장 서브시스템은 기록 전에 현재의 데이터를 읽고, 새로운 데이터를 추가하고, 새로운 패리티의 계산을 필요로 한다. 임의의 실시예에서 패리티 데이터는 다른 데이터보다 더 자주 액세스 될 수 있기 때문에, 패리티 데이터는 액세스 시간이 가장 빠른 저장 시스템에 저장될 수 있다. 다른 실시예에서, 패리티 데이터는 저장 시스템(202,204,206) 중에 분산될 수 있다. 패리티 데이터의 분산은 세 개의 저장 시스템 간에 표준 작업량을 더욱 공평하게 조절할 수 있게 하며, 연산 환경(200)의 전반적인 수행을 가져오고, 또 향상시킬 수 있다.
도 3은 데이터 및 패리티 정보 분산을 위한 동작을 제 1 연산 환경(200)에 대응하는 임의의 실시예에 따라 도시한다. 도 3에 나타낸 동작은 제 1 저장 시스템(202)에서 구현될 수도 있다.
제어는 제 1 저장 시스템(202)이 데이터(214)를 기록하라는 제 1 서버(208)로부터의 요구를 수신하는 블록(300)에서 시작한다. 제 1 저장 시스템(202)은 데이터를 제 1 부분(216) 및 제 2 부분(218)으로 나눈다(블록 302).
제 1 저장 시스템(202)은 데이터의 제 1 부분(216) 및 데이터의 제 2 부분(218)으로부터 패리티 데이터(220)를 연산한다(블록 304). 예를 들어, 데이터의 제 1 부분(216) 및 제 2 부분(218) 바이트의 비트 마다의 XOR 연산은 패리티 데이터를 제공할 수도 있다. 임의의 실시예에서, 패리티 데이터(220)는 RAID 레벨 4에서 패리티 데이터의 연산과 유사한 방법으로 연산될 수 있다. 이와 다른 실시예에서, 패리티 데이터(220)는 RAID 레벨 4에서 패리티 데이터의 연산과 다른 방법으로 연산될 수도 있다.
제어는 블록 304로부터, 블록 306a 306b 및 306c로 동시에 진행될 수 있으며, 이는 즉, 블록 306a, 306b 및 306c에 개시된 동작이 병렬적으로 수행될 수 있음을 말한다. 제 1 저장 시스템(202)은 데이터(214)의 제 1 부분(216)을 제 1 저장 시스템(202)에 기록한다(블록 306a). 제 1 저장 시스템(202)은 저장을 목적으로 데이터(214)의 제 2 부분(218)을 제 2 저장 시스템(218)에 분산한다(블록 306b). 제 2 저장 시스템(204)은 데이터의 제 2 부분(218)을 수신하여 저장한다. 또한, 제 1 저장 시스템(220)은 패리티 데이터(220)를 제 3 저장 시스템(206)에 분산한다. 제 3 저장 시스템(206)은 패리티 데이터(220)를 수신하여 저장한다.
도 3은 제 1 사이트에 있는 제 1 저장 장치(202)는 제 2 사이트에 있는 제 2 저장 장치(206) 및 제 3 사이트에서의 제 3 저장 장치(206)에 결합되는 실시형태를 도시한다. 제 1 저장 장치(202)는 데이터(214)를 수신하고, 수신된 데이터를 제 1 부분(216)과 제 2 부분(218)으로 분할한다. 제 1 저장 장치(202)는 제 1 사이트에 있는 제1 저장 장치(202)에서 데이터(214)의 제 1 부분(216)을 저장한다. 제 1 저장 장치(202)는 저장을 위해 데이터의 제 2 부분(218)을 제 2 사이트에 있는 제 2 저장 장치(204)에 분산시킨다. 제 1 저장 장치(202)는 데이터(214)의 제 1 부분(216) 및 데이터(214)의 제 2 부분(218)에 대응하는 패리티 데이터(220)를 계산한다. 제 1 저장 장치(202)는 저장을 위해 제 3 사이트에 있는 제 3 저장 장치(204)에 패리티 데이터(220)를 분산시킨다.
임의의 실시예에서, 제 1 사이트에 있는 제 1 저장 시스템(202)에서의 데이터 손실에 반응하여, 데이터(214)의 제 1 부분(216)은 제 2 저장 시스템(204)에 저 장된 데이터의 제 2 부분(218) 및 제 3 저장 시스템(206)에 저장된 패리티 데이터(220)로부터 복구될 수 있다. 임의의 실시예에서, 다른 데이터와 비교하여 패리티 데이터(220)는 매우 빈도 높게 액세스되고 기록되기 때문에, 제 1 사이트와 제 3 사이트 간의 거리는 제 1 사이트와 제 2 사이트 사이의 거리보다 짧다.
임의의 실시예에서, 데이터(214)의 제 1 부분(216)과 데이터(214)의 제 2 부분(218) 그리고 패리티 데이터(220) 크기의 합은 수신된 데이터(214) 크기의 2배 미만이다. 임의의 실시예에서, 데이터(214)의 제 1 부분(216)과 데이터(214)의 제 2 부분(218) 그리고 패리티 데이터(220) 크기의 합은 수신된 데이터(214)의 크기의 1.5 배이다. 임의의 다른 실시예에서, 패리티 데이터는 제 1 저장 시스템(202) 같은 가장 빠르게 액세스 가능한 저장 시스템에 저장될 수 있다.
도 4는 데이터 및 패리티 정보를 세 개의 저장 시스템 중에 분산하기 위한 제 2 연산 환경(400)의 블록도를 임의의 실시예에 따라 도시한다.
제 1 저장 시스템(402), 제 2 저장 시스템(404) 및 제 3 저장 시스템(406)은 각각 제 1 서버(408), 제 2 서버(410), 그리고 제 3 서버(412)에 결합된다. 또한, 제 1 저장 시스템(402)은 제 2 저장 시스템(404) 및 제 3 저장 시스템(406)에 결합된다.
제 1 서버(408)는 기록 요청을 통해 데이터(414)를 제 1 저장 시스템(402)에 보낼 수 있다. 데이터(414)는 사이트 장애로부터 보호받아야 하는지도 모른다. 임의의 실시예에서, 제 1 저장 시스템(402)은 제 1 서버(408)로부터 데이터(414)를 수신하는데, 그 데이터(414)는 제 1 서버(408)로부터의 기록 요청과 관련 있을 수 있다.
제 1 저장 시스템(402)은 수신된 데이터(414) 및 연산된 패리티 데이터의 일부를 각각 포함한 제 1 정보 유닛(416), 제 2 정보 유닛(418), 그리고 제 3 정보 유닛(420)을 생성하며, 각각의 정보 유닛(416,418,420)은 하나 이상의 바이트로 구성된다. 제 1 저장 시스템(402)은 제 1 사이트에 있는 제 1 저장 시스템(402)에 제 1 정보 유닛(416)을 저장한다. 제 1 저장 시스템(402)은 저장을 위해 제 2 정보 유닛(418)을 제 2 사이트에 있는 제 2 저장 시스템(404)에 분산하고, 저장을 위해 제 3 정보 유닛(420)을 제 3 저장 시스템(406)에 분산한다.
임의의 실시예에서, 데이터(414) 크기가 100 테라바이트라면, 제 1 정보 유닛(416)은 50 테라바이트일 수 있고, 제 2 정보 유닛(418)은 50 테라바이트 일 수 있으며, 제 3 정보 유닛(420)은 50 테라바이트 일 수 있다. 재난으로부터 복구하기 위한 원본 데이터(106)를 저장하는데 2배의 저장 용량이 필요한 도 1과 비교하면, 연산 환경(400)에서 예시된 실시예는 저장 시스템(402,404,406) 중 어느 것의 손실을 야기한 재난으로부터 복구되기 위해 데이터(414) 크기와 같은 저장 용량의 1.5배를 요구할 수 있다.
임의의 실시예에서, 제 1 저장 시스템(402)은 제 1 사이트에 위치하고, 제 2 저장 시스템(404)은 제 2 사이트에 위치하고, 제 3 저장 시스템(406)은 제 3 사이트에 위치하는데, 그 제 1 사이트와 제 2 사이트 및 제 3 사이트는 지리적으로 서로 떨어져 있을 수 있고, 서로 다른 도시에 있을 수 있다. 제 1 정보 유닛(416), 제 2 정보 유닛(418) 및 제 3 정보 유닛(420)은 서로 다른 디스크 시스템에 저장될 수 있다.
도 5는 데이터 및 패리티 정보를 분산하는 동작을 제 2 연산 환경(400)에 대응하는 임의의 실시예에 따라 도시한다. 도 5에서 도시된 동작은 제 1 저장 시스템(402)으로 구현될 수 있다.
제어는 제 1 저장 시스템(402)이 제 1 서버(408)로부터 데이터(414)를 기록하라는 요청을 수신하는 블록 500에서 시작한다. 제 1 저장 시스템(402)은 데이터(414)를 제 1 정보 유닛(416), 제 2 정보 유닛(418), 그리고 제 3 정보 유닛(420) 중에 할당한다(블록 502).
제 1 저장 시스템(402)은 패리티 데이터를 계산하여, 그 패리티 데이터를 제 1 정보 유닛(416), 제 2 정보 유닛(418) 그리고 제 3 정보 유닛(420)에 추가한다(블록 504). 임의의 실시예에서, 제 1 저장 시스템(402)은 세 개의 정보 유닛(416,418,420) 각각이 수신된 데이터(414)의 일부분 및 적어도 약간의 패리티 데이터를 포함하는 RAID 레벨 5와 유사한 방식으로 패리티를 연산할 수 있다. 패리티 데이터의 할당 및 추가는 RAID 레벨 5에서 사용된 것과 다른 알고리즘을 사용하여 수행될 수 있다.
제어는 블록 504에서부터, 블록 506a, 506b, 506c 까지 동시에 진행할 수 있는데, 즉 블록 506a, 506b, 506c 에 나타낸 동작이 병렬적으로 수행됨을 말한다. 제 1 저장 시스템은 대응하는 패리티 데이터를 포함한 제 1 정보 유닛(416)을 제 1 저장 시스템(416)에 기록한다(블록 506a). 동시적으로, 제 1 저장 시스템(402)은 대응하는 패리티 데이터를 포함한 제 2 정보 유닛(418)을 제 2 정보 시스템(404)에 분산한다. 또한, 제1 정보 시스템(402)은 대응하는 패리티 데이터를 포함한 제 3 정보 유닛(420)을 제 3 저장 시스템(406)에 기록한다(블록 502b).
내고장성을 제공하는 임의의 실시예에서, 저장 시스템에 저장된 데이터에 대응하는 패리티 데이터는 다른 저장 시스템에 저장된다. 예를 들어, 제 1 저장 시스템(402)에 저장된 데이터를 위한 패리티 데이터는 제 2 저장 시스템(404) 및 제 3 저장 시스템(406)에 저장되며, 제 2 저장 시스템(404)에 저장된 데이터를 위한 패리티 데이터는 제 1 저장 시스템(402) 및 제3 저장 시스템(406)에 저장되며, 제 3 저장 시스템(406)에 저장된 데이터를 위한 패리티 데이터는 제 1 저장 시스템(402) 및 제 2 저장 시스템(404)에 저장된다.
임의의 실시예에서, 제 1 사이트에서의 데이터 손실이 발생한 경우, 수신된 데이터(414)는 제 2 정보 유닛(418) 및 제 3 정보 유닛(420)으로부터 복구된다. 임의의 실시예에서 제 1 정보 유닛(416), 제 2 정보 유닛(418) 그리고 제 3 정보 유닛(420)의 크기의 합은 수신된 데이터(414) 크기의 2배 미만이다. 임의의 실시예에서, 제 1 정보 유닛(416), 제 2 정보 유닛(418) 그리고 제 3 정보 유닛(420)은 서로 다른 디스크 저장 시스템에 저장된다.
도 6은 세 개의 저장 시스템 중에 데이터 및 패리티 정보를 분산하기 위한 제 3 연산 환경(600)의 블록 선도를 임의의 실시예에 따라 도시한다.
캐시(603)를 포함하는 제 1 저장 시스템(602)과 제 2 저장 시스템(604), 그리고 제 3 저장 시스템(606)은 제 1 서버(608), 제 2 서버(610), 그리고 제 3 서버(612)에 각각 결합된다. 또한, 제 1 저장 시스템(602)은 제 2 저장 시스템(604) 및 제 3 저장 시스템(608)에 결합된다. 임의의 실시예에서, 제 1 저장 시스템(602), 제 2 저장 시스템(604), 제 3 저장 시스템(608)은 지리적으로 흩어져 있는 서로 다른 사이트에 있을 수 있다.
제 1 서버(608)는 기록 요청을 통해 제 1 저장 시스템(602)에 데이터를 보낼 수 있다. 데이터(614)는 사이트 장애로부터 보호되어야 할 수도 있다. 제 1 저장 시스템(602)은 데이터(614)를 수신하고, 수신된 데이터를 임시 저장을 위해 캐시(603)에 기록한다. 제 1 저장 시스템(602)은, 캐시(603)에 임시 저장된 수신된 데이터(614) 및 연산된 패리티 데이터의 일부를 각각 포함하는 제 1 정보 유닛(616), 제 2 정보 유닛(618), 제 3 정보 유닛(620)을 생성한다. 제 1 저장 시스템(602)은 제 1 사이트에 있는 제 1 저장 시스템(602)에 제 1 정보 유닛(616)을 저장한다. 제 1 저장 시스템(602)은 저장을 위해 제 2 정보 유닛(418)을 비동기식 전송(620)을 통해 제 2 사이트에 있는 제 2 저장 시스템(604)에 분산하며, 또한 저장을 위해 제 3 정보 유닛(620)을 비동기식 전송(622)을 통해 제 3 사이트에 있는 제 3 저장 시스템(606)에 분산한다. 수신된 데이터(614)가 계산 및 정보 유닛(618,620)을 제 2 저장 시스템(603) 및 제 3 저장 시스템(606)에의 분산에 즉시 사용되지 않기 때문에 분산은 비동기적이며, 즉 이것은 제 1 서버(608)에서부터 제 1 저장 시스템(602)까지의 기록 동작이 세 개의 저장 장치(602,604,606) 중에 해당 데이터를 분산하지 않고도 끝날 수 있음을 의미한다.
도 7은 데이터 및 패리티 정보를 분산하기 위한 동작을 제 3 연산 환경(600)에 대응하는 임의의 실시예에 따라 도시한다. 도 7에 도시된 동작은 제 1 저장 시 스템(602)으로 구현될 수 있다.
제어는 제 1 저장 시스템(602)이 제 1 서버(608)로부터 데이터를 기록하라는 요청을 수신하는 블록(700)에서 시작한다. 제 1 저장 시스템(602)은 제 1 저장 시스템(602)의 캐시(603)에 기록된 데이터(614)를 기록한다(블록 702) . 제 1 저장 시스템(602)은 캐시(603)에 기록된 데이터(614)에 추가적인 최신 정보(updates)를 받아 캐시(603)에 기록된 데이터를 갱신(update)한다.
제 1 저장 시스템(602)은 수신된 데이터(614)의 일부분, 추가적인 최신 정보의 일부분, 연산된 패리티 데이터를 포함하는 제 1, 제 2, 제 3 정보 유닛(616,618,620)을 계산하기 위해 캐시(603)에 저장된 데이터를 사용하여 저장된 시스템(602,604,606) 중에 분산시킨다.
제어는 블록 706부터 블록 710a 710b, 710c까지 동시에 진행할 수 있으며, 즉 710a 710b, 710c에 나타낸 동작은 병렬적으로 수행될 수 있다. 블록 706부터 블록 710a, 710b, 710c까지 제어 전달 중에 제 1 저장 시스템(602)은 데이터 전달 동작을 비동기적으로 시작하고, 관련된 데이터에 시간을 기록할 수 있다(timestamp)(도면 부호 708).
제 1 저장 시스템(602)은 해당하는 패리티 데이터를 포함한 제 1 정보 유닛(616)을 제 1 저장 시스템(602)에 기록한다(블록 710a). 동시에, 제 1 저장 시스템(602)은 저장을 위해 해당하는 패리티 데이터를 포함한 제 2 정보 유닛(618)을 제 2 저장 시스템(604)에 비동기식으로 분산한다(블록 710b). 또한, 제 1 저장 시스템(602)은 저장을 위해 관련 패리티 데이터를 포함한 제 3 정보 유닛(620)을 제 3 저장 시스템에 분산한다.
데이터 및 패리티를 저장 시스템에 비동기식으로 분산함으로써, 모든 기록은 저장 시스템(602)과 같은 국부 저장 시스템의 캐시에 최초로 기록된다. 그러면, 시간이 허락될 때 데이터는 다른 두 개의 저장 시스템에 분산된다. 데이터가 다른 두 개의 저장 서브시스템에 분산되기 전에 동일한 데이터 블록이 갱신되면, 가장 최근의 변화만이 전송을 요한다. 이전의 변화는 분산되는 것을 필요로 하지 않아 대역폭이 절약된다. 또한 근거리 시스템(602)이 실패한다 해도, 분산된 기록에 시간 등을 기록함으로써 두 개의 원거리 시스템(604,606)은 일치한다. 근거리 시스템(602)은 분포되지 않은 저장 서브시스템과 같은 유사한 수행상 특징을 가질 수 있고, 동시에 재난 복구 보호를 제공할 수 있다.
임의의 실시예에서, 제 1 서버(608)는 호스트 컴퓨터가 될 수 있고, 호스트(608)로부터 제 1 저장 장치(602)로의 최신정보는 비동기적으로 제 2 저장 장치(604)에 반영되고(reflected), 비동기적으로 제 3 저장 장치(606)에 반영된다.
제 1 저장 장치(602)가 캐시(603)를 포함하는 임의의 실시예에서는, 제 1 저장 장치(602)는 수신된 데이터(614)를 제 1 저장 장치(602)에 있는 캐시(603)에 저장할 수 있다. 수신된 데이터(614)를 정보 유닛으로 분할하기에 앞서, 제 1 저장 장치(602)는 캐시(603)에 저장된 데이터에 대한 최신 정보를 수신한다. 제 1 저장 장치(602)는 캐시(603)를 수신된 최신 정보로 갱신하며, 제 2 정보 유닛(618) 및 제 3 정보 유닛(620)을 분산하는 것이 비동기적으로 수행되며, 제 1 정보 유닛(616), 제 2 정보 유닛(618) 그리고 제 3 정보 유닛(620)에는 시간이 기록된다. 임의의 실시예에서 패리티 데이터는 세 개의 정보 유닛(616,618,620) 중에 분산될 수 있는 반면에, 다른 실시예에서 패리티 데이터는 정보 유닛(620)과 같은 하나의 정보 유닛에 존재할 수 있다.
임의의 실시예에서, 패리티 데이터의 대다수는 제 2 및 제 3 저장 장치(604,606)보다 액세스가 빠른 제 1 저장 장치(602)에 저장된다. 임의의 추가적인 실시예에서, 데이터(614)는 제 1 저장 장치에서 호스트(608)로부터 수신되며, 다중 경로 지정 하드웨어는 호스트(608)와 제1 및 제 2 및 제 3 저장 장치(602,604,606)를 연결하기 위해 사용된다. 모든 저장 장치(602,604,606)는 호스트(608)에 동일한 볼륨을 줄 수 있다. 저장 장치(602,604,606) 중 하나가 실패하면, 다른 저장 장치 중 하나가 동적으로 재건되어 볼륨을 호스트에게 제공하는 것을 계속한다. 그 결과, 저장 시스템 장애는 연산 환경(600)의 동작을 방해하지 않을 수 있다.
임의의 실시예에서, 제 2 및 제 3 정보 유닛(618,620)의 분산은 제 2 및 제 3 저장 장치(604,606)에 병렬적으로 기록되는 전체 스트라이드 기록(full stride write)인, 제 1 저장 장치(602)부터 제 2 및 제 3 저장 장치(604,606)까지의 기록 동작을 통한다.
임의의 실시예에서, 연산 환경 600에서 수행된 동작은 연산 환경 200 또는 400에서도 수행될 수 있다. 예를 들어, 전체 스트라이드 기록은 연산 환경 200 또는 400에서 수행될 수 있다. 추가적으로, 상술된 어떤 동작은 하나 이상의 연산 환경 200,400,600에서 수행될 수 있다.
원본 데이터(106)의 전체 복사본이 재난 복구 사이트(104)에 보유되는 실시예와 비교하여, 도 1(b) 및 2-7 에 도시된 임의의 실시예는 재난 복구에 요구되는 저장 용량을 줄인다. 임의의 실시예에서, 재난 복구에 요구되는 저장 용량은 원본 데이터(도면 번호 106,214,4140로 도시됨) 크기의 2배 미만이다. 임의의 실시예에서, 재난 복구에 요구되는 저장 용량은 원본 데이터(106,214,414) 크기의 1.5 배이다.
이와 다른 실시예에서, 추가적인 저장 장치는 추가적인 사이트에 부가될 수 있다. 임의의 실시예에서 호스트(208,408,608)는 다중 경로 하드웨어를 사용하여 모든 저장 시스템, 즉 제 1, 제 2, 제 3 저장 시스템에 경로를 가지고 있다. 모든 저장 시스템은 동일한 볼륨을 호스트(208,408,608)에 보낼 수 있다. 저장 시스템 중 하나가 실패하면 실패하지 않은 다른 저장 시스템 중 하나가 동적으로 재건되고 동일한 볼륨을 호스트(208,408,6080에 보내는 것을 계속할 수 있다. 그 결과, 임의의 실시예는 혼란스럽지 않게 시스템 장애로부터 복구될 수 있다.
임의의 실시예에서 모든 기록은 RAID-5 기록에 어떠한 불이익도 초래하지 않는 전체 스트라이드 기록이 될 수 있다. 임의의 실시예에서는, 백업 및 재난 복구 모두가 이 상세한 설명에 의해 수행될 수 있다. 비동기식 원거리 미러링(mirroring)은 임의의 실시예의 수행능력을 향상시키는데 사용될 수 있다. 실시예는 재난 복구를 수행하기 위한 세 개의 사이트 해결방안에서 패리티 정보를 하나 이상의 지리적으로 분산된 사이트에 저장한다.
추가적인 실시예의 상세한 설명
설명된 기술은 방법, 장치, 또는 소프트웨어, 펌웨어, 마이크로-코드, 하드웨어, 및/또는 그것의 어떤 조합을 포함한 제조품으로 구현될 수 있다. 여기서 사용하는 "제조품"이라는 용어는 프로그램 명령어, 회로로 구현된 코드 또는 논리(예를 들어, 집적 회로 칩, 프로그램 가능 게이트 어레이(PGA), ASIC 등) 또는 컴퓨터 판독 가능 매체(예를 들면, 하드 디스크 드라이브, 플로피 디스크, 테이프 같은 자기 저장 매체), 광저장 장치(예를 들어, CD-ROM, DVD-ROM, 광디스크 등), 휘발성 및 비휘발성 메모리 소자(전기소거식피롬(EEPROM), 판독전용메모리(ROM), 프로그램가능 판독전용메모리(PROM), 랜덤 액세스 메모리(RAM), 다이나믹 랜덤 액세스 메모리(DRAM), 스태틱 랜덤 액세스 메모리(SRAM), 플래시, 펌웨어, 프로그램 가능 논리 등)를 말한다. 컴퓨터 판독 가능 매체에서의 코드는 프로세스 같은 머신(machine)에 의해 액세스되고 실행될 수 있다. 임의의 실시예에서, 실시예가 만들어진 코드는 네트워크를 거쳐서 전송 매체를 통하거나 파일 서버로부터 더욱 액세스 가능할 수 있다. 그러한 경우에, 코드가 구현된 제조품은 네트워크 전송 라인, 무선 전송 매체, 공간 전파 신호, 전파, 적외선 신호 등과 같은 전송 매체를 포함할 수 있다. 물론 이 기술분야의 당업자는 실시예의 범위에서 벗어나지 않고도 많은 변형이 만들어질 수 있음을 인정할 것이고, 그 제조품은 이 기술분야에서 알려진 매체를 포함한 어떠한 정보도 포함할 수 있다. 예를 들어, 제조품은 명령어가 기계에 의해 실행되었을 때 동작이 수행되게 하는, 그러한 명령어가 그곳에 저장된 저장 매체를 포함한다.
도 8은 임의의 실시예가 구현될 수 있는 시스템(800)의 블록 선도를 도시한다. 임의의 실시예에서, 저장 시스템(202,402,602)은 시스템(800)에 따라 구현될 수 있다. 시스템(800)은 임의의 실시예에서는 프로세서(804)를 포함한 회로(802)를 포함할 수 있다. 시스템(800)은 또한 메모리(806)(예를 들어 휘발성 메모리 소자) 및 저장 장치(808)를 포함할 수 있다. 시스템(800)의 어떤 요소는 저장 시스템(202,402,602)에서 발견될 수도, 되지 않을 수도 있다. 저장 장치(808)는 비휘발성 메모리 소자(예를 들어, EEPRO, ROM, PROM, RAM, DRAM, SRAM, 플래시, 펌웨어, 프로그램 가능 논리 등), 자기 디스크 드라이브, 광디스크 드라이브, 테이프 드라이브 등을 포함할 수 있다. 저장 장치(808)는 내장 저장 장치, 직접 연결 저장 장치 또는 네트워크 접근 가능 저장 장치를 포함할 수 있다. 시스템(800)은 메모리(806)로 로드될 수 있고 프로세서(804) 또는 회로(802)에 의해 실행될 수 있는 코드(812)를 포함한 프로그램 로직(810)을 포함할 수 있다. 임의의 실시예에서, 코드(812)를 포함한 프로그램 로직(810)을 저장 장치(808)에 저장될 수 있다. 임의의 다른 실시예에서는 프로그램 로직(810)을 회로(802)로 구현될 수 있다. 그러므로 도 8 은 프로그램 로직(810)을 다른 구성 요소와 분리되게 개별적으로 도시하였지만, 프로그램 로직(810)은 메모리(806) 또는 회로(802)로 구현될 수 있다.
적어도 도 3, 도 5, 도 7의 어떤 동작은 연속적일 뿐만 아니라 병행하게 수행될 수 있다. 이와 다른 실시예에서, 어떤 동작은 다른 순서로 수행되거나, 변형되거나, 또는 제거될 수 있다.
또한, 많은 소프트웨어 및 하드웨어 구성요소는 설명을 목적으로 분리된 모 듈로 도시되었다. 그러한 구성요소는 몇 개의 구성요소로 통합되거나 더 많은 수의 구성요소로 나누어질 수 있다. 또한, 특정 구성요소에 의해 수행된 것으로 기술된 어떤 동작은 다른 구성요소에 의해 수행될 수 있다.
도 1(a), 도 1(b) 및 도 2 내지 도 8에서 도시하거나 언급한 데이터 구조 및 구성 요소는 특정 정보 유형을 가지는 것으로 기술되었다. 이와 다른 실시예에서 , 데이터 구조 및 구성요소는 다르게 구성될 수 있고, 도면에서 도시하거나 언급한 것들보다 적거나, 많거나, 또는 이와 다른 필드 또는 이와 다른 기능을 가질 수 있다.
그러므로, 전술한 실시예의 설명은 예시 및 설명을 목적으로 소개한 것이다. 이는 철저히 규명하거나, 실시예를 밝혀진 정확한 형태로 제한하려는 의도는 아니다. 이상의 설명에 비추어 많은 변형과 변화가 가능하다.

Claims (10)

  1. 제 1 저장 장치에서 데이터를 수신하는 단계와,
    제 1 정보 유닛, 제 2 정보 유닛 및 제 3 정보 유닛을 생성하는 단계―상기 제 1 정보 유닛, 상기 제 2 정보 유닛 및 상기 제 3 정보 유닛의 각각은 상기 수신된 데이터 및 연산된 패리티 데이터의 일부를 포함하되, 상기 연산된 패리티 데이터의 대다수는 상기 제 1 저장 유닛에 저장됨―와,
    제 1 사이트에 있는 제 1 저장 장치에 상기 제 1 정보 유닛을 저장하는 단계와,
    제 2 사이트에 있는 제 2 저장 장치에 저장을 위해 상기 제 2 정보 유닛을 분산시키는 단계와,
    제 3 사이트에 있는 제 3 저장 장치에 저장을 위해 상기 제 3 정보 유닛을 분산시키는 단계를 포함하는
    데이터 복구를 위해 패리티 정보를 저장하는 방법.
  2. 제 1 항에 있어서,
    상기 제 1 사이트에서의 데이터 손실에 응답하여, 상기 제 2 정보 유닛 및 상기 제 3 정보 유닛으로부터 상기 수신된 데이터를 복구하는 단계를 더 포함하는
    데이터 복구를 위해 패리티 정보를 저장하는 방법.
  3. 삭제
  4. 제 1 항에 있어서,
    상기 제 1 저장 장치는 입/출력 요청을 상기 제 1 저장 장치로 전송하는 호스트에 결합되는
    데이터 복구를 위해 패리티 정보를 저장하는 방법.
  5. 제 2 항에 있어서,
    상기 제 1 정보 유닛, 상기 제 2 정보 유닛 및 상기 제 3 정보 유닛의 크기의 합은 상기 수신된 데이터의 크기의 두 배 미만인
    데이터 복구를 위해 패리티 정보를 저장하는 방법.
  6. 제 5 항에 있어서,
    상기 제 1 사이트, 상기 제 2 사이트 및 상기 제 3 사이트는 서로로부터 10 마일을 초과하는 거리만큼 이격되며, 상기 제 1 정보 유닛, 상기 제 2 정보 유닛 및 상기 제 3 정보 유닛은 상이한 저장 디스크 시스템에 저장되는
    데이터 복구를 위해 패리티 정보를 저장하는 방법.
  7. 제 1 항에 있어서,
    상기 데이터는 호스트로부터 상기 제 1 저장 장치에서 수신되며, 다중 경로 하드웨어(multi-pathing hardware)가 상기 호스트를 상기 제 1 저장 장치, 상기 제 2 저장 장치, 및 상기 제 3 저장 장치에 연결하기 위해 사용되는
    데이터 복구를 위해 패리티 정보를 저장하는 방법.
  8. 제 1 항에 있어서,
    상기 제 2 정보 유닛 및 제 3 정보 유닛을 분산시키는 단계는 상기 제 1 저장 장치로부터 상기 제 2 저장 장치 및 상기 제 3 저장 장치로의 기록 동작을 통해 수행되는
    데이터 복구를 위해 패리티 정보를 저장하는 방법.
  9. 제 1 사이트에 있는 제 1 저장 장치가 제 2 사이트에 있는 제 2 저장 장치 및 제 3 사이트에 있는 제 3 저장 장치에 결합되는 시스템에 있어서,
    메모리와,
    상기 메모리에 결합된 회로를 포함하되,
    상기 회로는,
    제 1 저장 장치에서 데이터를 수신하는 단계와,
    제 1 정보 유닛, 제 2 정보 유닛 및 제 3 정보 유닛을 생성하는 단계―상기 제 1 정보 유닛, 상기 제 2 정보 유닛 및 상기 제 3 정보 유닛의 각각은 상기 수신된 데이터 및 연산된 패리티 데이터의 일부를 포함하되, 상기 연산된 패리티 데이터의 대다수는 상기 제 1 저장 유닛에 저장됨―와,
    제 1 사이트에 있는 제 1 저장 장치에 상기 제 1 정보 유닛을 저장하는 단계와,
    제 2 사이트에 있는 제 2 저장 장치에 저장을 위해 상기 제 2 정보 유닛을 분산시키는 단계와,
    제 3 사이트에 있는 제 3 저장 장치에 저장을 위해 상기 제 3 정보 유닛을 분산시키는 단계를 포함하는 동작을 수행할 수 있는
    데이터 복구를 위해 패리티 정보를 저장하는 시스템.
  10. 제 1 항, 제 2 항 또는 제 4 항 내지 제 8 항 중 어느 한 항의 방법의 각각의 단계를 수행하는 컴퓨터 프로그램을 포함하는 컴퓨터 판독가능 저장 매체.
KR1020077002545A 2004-08-25 2005-07-21 데이터 복구를 위해 패리티 정보를 저장하는 방법, 시스템 및 컴퓨터 판독가능 저장 매체 KR101006324B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/925,825 US7516354B2 (en) 2004-08-25 2004-08-25 Storing parity information for data recovery
US10/925,825 2004-08-25

Publications (2)

Publication Number Publication Date
KR20070046835A KR20070046835A (ko) 2007-05-03
KR101006324B1 true KR101006324B1 (ko) 2011-01-06

Family

ID=35709153

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020077002545A KR101006324B1 (ko) 2004-08-25 2005-07-21 데이터 복구를 위해 패리티 정보를 저장하는 방법, 시스템 및 컴퓨터 판독가능 저장 매체

Country Status (7)

Country Link
US (2) US7516354B2 (ko)
EP (1) EP1789881A2 (ko)
JP (1) JP5038897B2 (ko)
KR (1) KR101006324B1 (ko)
CN (1) CN101288052B (ko)
CA (1) CA2574502C (ko)
WO (1) WO2006021474A2 (ko)

Families Citing this family (98)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9996413B2 (en) * 2007-10-09 2018-06-12 International Business Machines Corporation Ensuring data integrity on a dispersed storage grid
US7577868B2 (en) * 2005-09-30 2009-08-18 Lockheed Martin Corporation No data loss IT disaster recovery over extended distances
US7934116B2 (en) * 2005-09-30 2011-04-26 Lockheed Martin Corporation Disaster recover/continuity of business adaptive solution framework
US7933987B2 (en) * 2005-09-30 2011-04-26 Lockheed Martin Corporation Application of virtual servers to high availability and disaster recovery solutions
US8239706B1 (en) * 2007-01-03 2012-08-07 Board Of Governors For Higher Education, State Of Rhode Island And Providence Plantations Data retrieval system and method that provides retrieval of data to any point in time
US8707070B2 (en) 2007-08-28 2014-04-22 Commvault Systems, Inc. Power management of data processing resources, such as power adaptive management of data storage operations
US7827439B2 (en) * 2007-09-28 2010-11-02 Symantec Corporation System and method of redundantly storing and retrieving data with cooperating storage devices
US8127076B2 (en) * 2008-06-06 2012-02-28 Pivot3 Method and system for placement of data on a storage device
WO2010049928A1 (en) * 2008-10-27 2010-05-06 Kaminario Tehnologies Ltd. System and methods for raid writing and asynchronous parity computation
US8639877B2 (en) * 2009-06-30 2014-01-28 International Business Machines Corporation Wear leveling of solid state disks distributed in a plurality of redundant array of independent disk ranks
US20100332401A1 (en) 2009-06-30 2010-12-30 Anand Prahlad Performing data storage operations with a cloud storage environment, including automatically selecting among multiple cloud storage sites
US8234520B2 (en) 2009-09-16 2012-07-31 International Business Machines Corporation Wear leveling of solid state disks based on usage information of data and parity received from a raid controller
CN102103834B (zh) * 2009-12-22 2013-10-02 上海天马微电子有限公司 驱动电路的数据维持方法和装置
US8156368B2 (en) * 2010-02-22 2012-04-10 International Business Machines Corporation Rebuilding lost data in a distributed redundancy data storage system
US8103904B2 (en) * 2010-02-22 2012-01-24 International Business Machines Corporation Read-other protocol for maintaining parity coherency in a write-back distributed redundancy data storage system
US8583866B2 (en) 2010-02-22 2013-11-12 International Business Machines Corporation Full-stripe-write protocol for maintaining parity coherency in a write-back distributed redundancy data storage system
US8103903B2 (en) * 2010-02-22 2012-01-24 International Business Machines Corporation Read-modify-write protocol for maintaining parity coherency in a write-back distributed redundancy data storage system
KR101128998B1 (ko) * 2010-09-15 2012-03-23 케이티하이텔 주식회사 패리티 데이터를 이용한 분산 파일 운용 방법
KR101254179B1 (ko) * 2011-02-07 2013-04-18 케이티하이텔 주식회사 분산 파일 시스템에서 효율적인 자료 복구 방법
WO2012147087A1 (en) 2011-04-29 2012-11-01 Tata Consultancy Services Limited Archival storage and retrieval system
GB2492981B (en) * 2011-07-18 2014-03-26 Qando Service Inc Data reconstruction
US8566673B2 (en) * 2011-08-04 2013-10-22 Lsi Corporation Method for improving performance in RAID systems
US8950009B2 (en) 2012-03-30 2015-02-03 Commvault Systems, Inc. Information management of data associated with multiple cloud services
US9262496B2 (en) 2012-03-30 2016-02-16 Commvault Systems, Inc. Unified access to personal data
US9634522B2 (en) 2012-09-19 2017-04-25 International Business Machines Corporation Power grid data monitoring and control
KR101441059B1 (ko) 2012-12-20 2014-09-25 케이티하이텔 주식회사 분산 파일 시스템에서 효율적인 자료 저장 방법
US10346259B2 (en) 2012-12-28 2019-07-09 Commvault Systems, Inc. Data recovery using a cloud-based remote data recovery center
JP6260193B2 (ja) * 2013-10-21 2018-01-17 富士通株式会社 ストレージシステム、及びストレージプログラム
WO2016051512A1 (ja) * 2014-09-30 2016-04-07 株式会社日立製作所 分散型ストレージシステム
US10346245B2 (en) * 2014-12-09 2019-07-09 Tsinghua University Data storage system and data storage method
US11108858B2 (en) 2017-03-28 2021-08-31 Commvault Systems, Inc. Archiving mail servers via a simple mail transfer protocol (SMTP) server
US11074138B2 (en) 2017-03-29 2021-07-27 Commvault Systems, Inc. Multi-streaming backup operations for mailboxes
US11221939B2 (en) 2017-03-31 2022-01-11 Commvault Systems, Inc. Managing data from internet of things devices in a vehicle
US10552294B2 (en) 2017-03-31 2020-02-04 Commvault Systems, Inc. Management of internet of things devices
US11294786B2 (en) 2017-03-31 2022-04-05 Commvault Systems, Inc. Management of internet of things devices
US11301432B2 (en) * 2017-06-08 2022-04-12 Hitachi Vantara Llc Fast recall for geographically distributed object data
US10761743B1 (en) 2017-07-17 2020-09-01 EMC IP Holding Company LLC Establishing data reliability groups within a geographically distributed data storage environment
US10817388B1 (en) 2017-07-21 2020-10-27 EMC IP Holding Company LLC Recovery of tree data in a geographically distributed environment
US10684780B1 (en) 2017-07-27 2020-06-16 EMC IP Holding Company LLC Time sensitive data convolution and de-convolution
US10880040B1 (en) 2017-10-23 2020-12-29 EMC IP Holding Company LLC Scale-out distributed erasure coding
US10382554B1 (en) 2018-01-04 2019-08-13 Emc Corporation Handling deletes with distributed erasure coding
US10817374B2 (en) 2018-04-12 2020-10-27 EMC IP Holding Company LLC Meta chunks
US10579297B2 (en) 2018-04-27 2020-03-03 EMC IP Holding Company LLC Scaling-in for geographically diverse storage
US11023130B2 (en) 2018-06-15 2021-06-01 EMC IP Holding Company LLC Deleting data in a geographically diverse storage construct
US10936196B2 (en) * 2018-06-15 2021-03-02 EMC IP Holding Company LLC Data convolution for geographically diverse storage
US10719250B2 (en) 2018-06-29 2020-07-21 EMC IP Holding Company LLC System and method for combining erasure-coded protection sets
US10891198B2 (en) 2018-07-30 2021-01-12 Commvault Systems, Inc. Storing data to cloud libraries in cloud native formats
US11436203B2 (en) 2018-11-02 2022-09-06 EMC IP Holding Company LLC Scaling out geographically diverse storage
US10901635B2 (en) 2018-12-04 2021-01-26 EMC IP Holding Company LLC Mapped redundant array of independent nodes for data storage with high performance using logical columns of the nodes with different widths and different positioning patterns
US10931777B2 (en) 2018-12-20 2021-02-23 EMC IP Holding Company LLC Network efficient geographically diverse data storage system employing degraded chunks
US11119683B2 (en) 2018-12-20 2021-09-14 EMC IP Holding Company LLC Logical compaction of a degraded chunk in a geographically diverse data storage system
US10892782B2 (en) 2018-12-21 2021-01-12 EMC IP Holding Company LLC Flexible system and method for combining erasure-coded protection sets
CN109739777B (zh) * 2018-12-25 2020-08-04 清华大学 本地与分布式协同设计的可靠闪存存储方法及系统
US10768840B2 (en) 2019-01-04 2020-09-08 EMC IP Holding Company LLC Updating protection sets in a geographically distributed storage environment
US11023331B2 (en) 2019-01-04 2021-06-01 EMC IP Holding Company LLC Fast recovery of data in a geographically distributed storage environment
US10942827B2 (en) 2019-01-22 2021-03-09 EMC IP Holding Company LLC Replication of data in a geographically distributed storage environment
US10846003B2 (en) 2019-01-29 2020-11-24 EMC IP Holding Company LLC Doubly mapped redundant array of independent nodes for data storage
US10942825B2 (en) 2019-01-29 2021-03-09 EMC IP Holding Company LLC Mitigating real node failure in a mapped redundant array of independent nodes
US10936239B2 (en) 2019-01-29 2021-03-02 EMC IP Holding Company LLC Cluster contraction of a mapped redundant array of independent nodes
US10866766B2 (en) 2019-01-29 2020-12-15 EMC IP Holding Company LLC Affinity sensitive data convolution for data storage systems
US10768971B2 (en) 2019-01-30 2020-09-08 Commvault Systems, Inc. Cross-hypervisor live mount of backed up virtual machine data
US11029865B2 (en) 2019-04-03 2021-06-08 EMC IP Holding Company LLC Affinity sensitive storage of data corresponding to a mapped redundant array of independent nodes
US10944826B2 (en) 2019-04-03 2021-03-09 EMC IP Holding Company LLC Selective instantiation of a storage service for a mapped redundant array of independent nodes
US11119686B2 (en) 2019-04-30 2021-09-14 EMC IP Holding Company LLC Preservation of data during scaling of a geographically diverse data storage system
US11113146B2 (en) 2019-04-30 2021-09-07 EMC IP Holding Company LLC Chunk segment recovery via hierarchical erasure coding in a geographically diverse data storage system
US11121727B2 (en) 2019-04-30 2021-09-14 EMC IP Holding Company LLC Adaptive data storing for data storage systems employing erasure coding
US11494273B2 (en) 2019-04-30 2022-11-08 Commvault Systems, Inc. Holistically protecting serverless applications across one or more cloud computing environments
US11748004B2 (en) 2019-05-03 2023-09-05 EMC IP Holding Company LLC Data replication using active and passive data storage modes
US11461184B2 (en) 2019-06-17 2022-10-04 Commvault Systems, Inc. Data storage management system for protecting cloud-based data including on-demand protection, recovery, and migration of databases-as-a-service and/or serverless database management systems
US20210011816A1 (en) 2019-07-10 2021-01-14 Commvault Systems, Inc. Preparing containerized applications for backup using a backup services container in a container-orchestration pod
US11209996B2 (en) 2019-07-15 2021-12-28 EMC IP Holding Company LLC Mapped cluster stretching for increasing workload in a data storage system
US11449399B2 (en) 2019-07-30 2022-09-20 EMC IP Holding Company LLC Mitigating real node failure of a doubly mapped redundant array of independent nodes
US11023145B2 (en) 2019-07-30 2021-06-01 EMC IP Holding Company LLC Hybrid mapped clusters for data storage
US11228322B2 (en) 2019-09-13 2022-01-18 EMC IP Holding Company LLC Rebalancing in a geographically diverse storage system employing erasure coding
US11449248B2 (en) 2019-09-26 2022-09-20 EMC IP Holding Company LLC Mapped redundant array of independent data storage regions
KR20210050661A (ko) 2019-10-29 2021-05-10 에스케이하이닉스 주식회사 메모리 시스템, 메모리 컨트롤러 및 그 동작 방법
US11119690B2 (en) 2019-10-31 2021-09-14 EMC IP Holding Company LLC Consolidation of protection sets in a geographically diverse data storage environment
US11435910B2 (en) 2019-10-31 2022-09-06 EMC IP Holding Company LLC Heterogeneous mapped redundant array of independent nodes for data storage
US11288139B2 (en) 2019-10-31 2022-03-29 EMC IP Holding Company LLC Two-step recovery employing erasure coding in a geographically diverse data storage system
US11435957B2 (en) 2019-11-27 2022-09-06 EMC IP Holding Company LLC Selective instantiation of a storage service for a doubly mapped redundant array of independent nodes
JP2021099723A (ja) * 2019-12-23 2021-07-01 株式会社日立製作所 分散ストレージシステム、データ制御方法及び記憶媒体
US11144220B2 (en) 2019-12-24 2021-10-12 EMC IP Holding Company LLC Affinity sensitive storage of data corresponding to a doubly mapped redundant array of independent nodes
US11231860B2 (en) 2020-01-17 2022-01-25 EMC IP Holding Company LLC Doubly mapped redundant array of independent nodes for data storage with high performance
US11467753B2 (en) 2020-02-14 2022-10-11 Commvault Systems, Inc. On-demand restore of virtual machine data
US11321188B2 (en) 2020-03-02 2022-05-03 Commvault Systems, Inc. Platform-agnostic containerized application data protection
US11422900B2 (en) 2020-03-02 2022-08-23 Commvault Systems, Inc. Platform-agnostic containerized application data protection
US11442768B2 (en) 2020-03-12 2022-09-13 Commvault Systems, Inc. Cross-hypervisor live recovery of virtual machines
US11507308B2 (en) 2020-03-30 2022-11-22 EMC IP Holding Company LLC Disk access event control for mapped nodes supported by a real cluster storage system
US11748143B2 (en) 2020-05-15 2023-09-05 Commvault Systems, Inc. Live mount of virtual machines in a public cloud computing environment
US11288229B2 (en) 2020-05-29 2022-03-29 EMC IP Holding Company LLC Verifiable intra-cluster migration for a chunk storage system
US11314687B2 (en) 2020-09-24 2022-04-26 Commvault Systems, Inc. Container data mover for migrating data between distributed data storage systems integrated with application orchestrators
US11693983B2 (en) 2020-10-28 2023-07-04 EMC IP Holding Company LLC Data protection via commutative erasure coding in a geographically diverse data storage system
KR20220067070A (ko) 2020-11-17 2022-05-24 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
US11847141B2 (en) 2021-01-19 2023-12-19 EMC IP Holding Company LLC Mapped redundant array of independent nodes employing mapped reliability groups for data storage
US11625174B2 (en) 2021-01-20 2023-04-11 EMC IP Holding Company LLC Parity allocation for a virtual redundant array of independent disks
US11604706B2 (en) 2021-02-02 2023-03-14 Commvault Systems, Inc. Back up and restore related data on different cloud storage tiers
US11354191B1 (en) 2021-05-28 2022-06-07 EMC IP Holding Company LLC Erasure coding in a large geographically diverse data storage system
US11449234B1 (en) 2021-05-28 2022-09-20 EMC IP Holding Company LLC Efficient data access operations via a mapping layer instance for a doubly mapped redundant array of independent nodes

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010044879A1 (en) * 2000-02-18 2001-11-22 Moulton Gregory Hagan System and method for distributed management of data storage

Family Cites Families (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5544347A (en) 1990-09-24 1996-08-06 Emc Corporation Data storage system controlled remote data mirroring with respectively maintained data indices
JPH05324579A (ja) * 1992-05-25 1993-12-07 Hitachi Ltd 分散ファイルシステム及び記憶装置
JP2888401B2 (ja) * 1992-08-03 1999-05-10 インターナショナル・ビジネス・マシーンズ・コーポレイション 冗長ディスクドライブアレイに対する同期方法
JP3183719B2 (ja) * 1992-08-26 2001-07-09 三菱電機株式会社 アレイ型記録装置
US5495607A (en) 1993-11-15 1996-02-27 Conner Peripherals, Inc. Network management system having virtual catalog overview of files distributively stored across network domain
JPH0863298A (ja) * 1994-08-18 1996-03-08 Hitachi Ltd ディスクアレイ装置
US5745671A (en) * 1995-02-28 1998-04-28 International Business Machines Corporation Data storage system with localized XOR function
JPH09297663A (ja) * 1996-05-08 1997-11-18 Ekushingu:Kk ディスクアレイ装置
US5673382A (en) 1996-05-30 1997-09-30 International Business Machines Corporation Automated management of off-site storage volumes for disaster recovery
US6226651B1 (en) 1998-03-27 2001-05-01 International Business Machines Corporation Database disaster remote site recovery
US6178521B1 (en) 1998-05-22 2001-01-23 Compaq Computer Corporation Method and apparatus for disaster tolerant computer system using cascaded storage controllers
US6173415B1 (en) 1998-05-22 2001-01-09 International Business Machines Corporation System for scalable distributed data structure having scalable availability
JP3736134B2 (ja) * 1998-08-28 2006-01-18 日本電信電話株式会社 分散記憶方法及び分散記憶システム及び分散記憶プログラムを記録した記録媒体
JP4689137B2 (ja) 2001-08-08 2011-05-25 株式会社日立製作所 リモートコピー制御方法、及びストレージシステム
US6389552B1 (en) 1998-12-31 2002-05-14 At&T Corp Methods and systems for remote electronic vaulting
US6209002B1 (en) 1999-02-17 2001-03-27 Emc Corporation Method and apparatus for cascading data through redundant data storage units
US6725392B1 (en) * 1999-03-03 2004-04-20 Adaptec, Inc. Controller fault recovery system for a distributed file system
US6553401B1 (en) 1999-07-09 2003-04-22 Ncr Corporation System for implementing a high volume availability server cluster including both sharing volume of a mass storage on a local site and mirroring a shared volume on a remote site
US6862692B2 (en) * 2001-01-29 2005-03-01 Adaptec, Inc. Dynamic redistribution of parity groups
US20020161850A1 (en) * 2001-01-29 2002-10-31 Ulrich Thomas R. Data path accelerator for storage systems
US6961868B2 (en) * 2001-02-16 2005-11-01 Swsoft Holdings, Ltd. Fault tolerant storage system and method using a network of servers
US6985983B2 (en) * 2001-03-01 2006-01-10 Hewlett-Packard Development Company, L.P. Translating device adapter having a common command set for interfacing multiple types of redundant storage devices to a host processor
EP1390854A4 (en) * 2001-05-01 2006-02-22 Rhode Island Education DISTRIBUTED RAID AND LOCAL INDEPENDENCE CACHE SYSTEM
US7076510B2 (en) * 2001-07-12 2006-07-11 Brown William P Software raid methods and apparatuses including server usage based write delegation
US6950966B2 (en) 2001-07-17 2005-09-27 Seachange International, Inc. Data transmission from raid services
US6871263B2 (en) * 2001-08-28 2005-03-22 Sedna Patent Services, Llc Method and apparatus for striping data onto a plurality of disk drives
JP4054182B2 (ja) * 2001-09-25 2008-02-27 株式会社東芝 仮想的なraid装置を有するクラスタシステム及び同システム用のコンピュータ
US7194656B2 (en) 2001-11-28 2007-03-20 Yottayotta Inc. Systems and methods for implementing content sensitive routing over a wide area network (WAN)
JP2003345523A (ja) * 2002-05-22 2003-12-05 Hitachi Ltd データ多重化システムの制御方法、データ多重化システム、副側記憶装置、および副側記憶装置用プログラム
JP2004139379A (ja) * 2002-10-18 2004-05-13 Jmnet Inc ネットワーク型記憶装置及びその制御装置
FR2846763B1 (fr) 2002-11-04 2005-02-11 Jean Marc Louis Olivie Alfassa Procede de stockage de donnees informatiques a dispersion/partage
US6990573B2 (en) * 2003-02-05 2006-01-24 Dell Products L.P. System and method for sharing storage to boot multiple servers
JP2005157825A (ja) * 2003-11-27 2005-06-16 Hitachi Ltd 障害復旧機能を有する計算機システム、および、障害復旧方法
US7188222B2 (en) * 2003-09-29 2007-03-06 International Business Machines Corporation Method, system, and program for mirroring data among storage sites
US7328305B2 (en) * 2003-11-03 2008-02-05 Network Appliance, Inc. Dynamic parity distribution technique
US7386663B2 (en) * 2004-05-13 2008-06-10 Cousins Robert E Transaction-based storage system and method that uses variable sized objects to store data
US7353423B2 (en) * 2004-09-24 2008-04-01 International Business Machines Corporation System and method for improving the performance of operations requiring parity reads in a storage array system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010044879A1 (en) * 2000-02-18 2001-11-22 Moulton Gregory Hagan System and method for distributed management of data storage

Also Published As

Publication number Publication date
US20060047896A1 (en) 2006-03-02
CN101288052B (zh) 2010-12-08
US7516354B2 (en) 2009-04-07
KR20070046835A (ko) 2007-05-03
US7761736B2 (en) 2010-07-20
EP1789881A2 (en) 2007-05-30
JP5038897B2 (ja) 2012-10-03
US20090077443A1 (en) 2009-03-19
WO2006021474A3 (en) 2008-05-22
JP2008511064A (ja) 2008-04-10
CA2574502A1 (en) 2006-03-02
WO2006021474A2 (en) 2006-03-02
CN101288052A (zh) 2008-10-15
CA2574502C (en) 2014-04-29

Similar Documents

Publication Publication Date Title
KR101006324B1 (ko) 데이터 복구를 위해 패리티 정보를 저장하는 방법, 시스템 및 컴퓨터 판독가능 저장 매체
US9448886B2 (en) Flexible data storage system
US9317375B1 (en) Managing cache backup and restore for continuous data replication and protection
US6912669B2 (en) Method and apparatus for maintaining cache coherency in a storage system
US8554734B1 (en) Continuous data protection journaling in data storage systems
JP5285610B2 (ja) グローバルホットスペアディスクが存在するときに、故障したドライブを復元、及びコピーバックする最適化された方法
CN100390745C (zh) 在处理数据时检验数据完整性的装置及方法
US20040044705A1 (en) Optimized disk repository for the storage and retrieval of mostly sequential data
KR100208801B1 (ko) 데이타 입/출력 성능을 향상시키기 위한 기억장치 시스템 및 그에 따른 데이타 복구정보 캐시구현방법
US8615678B1 (en) Auto-adapting multi-tier cache
US7930496B2 (en) Processing a read request to a logical volume while relocating a logical volume from a first storage location to a second storage location using a copy relationship
EP1311951A1 (en) Three interconnected raid disk controller data processing system architecture
JPH08305500A (ja) 記憶制御装置、それを含むデータ記憶システムおよび二重ペア抑止方法
KR20060017789A (ko) 저장 장치 카피 방법, 시스템 및 제조품
JP2010503941A (ja) グローバルホットスペアディスクが存在するときに、切断されたドライブを復元、及びコピーバックする最適化された方法
JP2011530746A (ja) 現在データ及び再生データに関して異なるraidデータ・ストレージの形式の間でデータを伝送するシステム及び方法
JP3096392B2 (ja) Raidを使用する、フル・モーション・ビデオのネットワーク・サポートの方法および装置
US20050216681A1 (en) Method, system, and article of manufacture for copying of data in a romote storage unit
JP6011153B2 (ja) ストレージシステム、ストレージ制御方法およびストレージ制御プログラム
JP3736134B2 (ja) 分散記憶方法及び分散記憶システム及び分散記憶プログラムを記録した記録媒体
US6931499B2 (en) Method and apparatus for copying data between storage volumes of storage systems
US7313724B1 (en) Method and apparatus for synchronizing redundant data with a volume
JP2011253400A (ja) 分散ミラードディスクシステム、コンピュータ装置、ミラーリング方法およびそのプログラム
CN102158538A (zh) 一种网络存储系统的管理方法及装置
US20050071380A1 (en) Apparatus and method to coordinate multiple data storage and retrieval systems

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee