KR20030090735A - 데이터 저장 방법과 장치 및 컴퓨터 프로그램 제품 - Google Patents

데이터 저장 방법과 장치 및 컴퓨터 프로그램 제품 Download PDF

Info

Publication number
KR20030090735A
KR20030090735A KR10-2003-7013408A KR20037013408A KR20030090735A KR 20030090735 A KR20030090735 A KR 20030090735A KR 20037013408 A KR20037013408 A KR 20037013408A KR 20030090735 A KR20030090735 A KR 20030090735A
Authority
KR
South Korea
Prior art keywords
stripe
data
storage device
copying
space
Prior art date
Application number
KR10-2003-7013408A
Other languages
English (en)
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 KR20030090735A publication Critical patent/KR20030090735A/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/16Protection against loss of memory contents
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2094Redundant storage or storage space
    • 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/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1658Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit
    • G06F11/1662Data 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

본 발명은 데이터를 미러링 및 스트라이핑하기 위해서 하드 디스크 드라이브(410,420)를 사용한다. 기록 시에, 하드 디스크 제어기는 제 1 스트라이프(412)를 제 1 하드 디스크(410)에 기록하며(504) 이 스트라이프를 미러링하기 위해 제 2 하드 디스크(420) 상에 적당한 양의 공간을 할당한다. 이와 동시에, 제 2 스트라이프(422)가 제 2 하드 디스크(420)에 기록되며 이 제 2 스트라이프를 미러링하기 위해서 적당한 양의 공간이 제 1 하드 디스크(410) 상에 할당된다. 어느 스트라이프가 미러링되었으며 어느 스트라이프가 미러링되지 않았는지에 대한 정보는 메모리에 저장된다. 유휴 디스크 시간과 같은 이후 시간에, 제어기 또는 파일 시스템은 대응하는 스트라이프를 사전할당된 공간 내부로 복사함으로써(508) 드라이브들(410,420) 간에서 데이터를 동기화한다. 유휴 디스크 시간 동안, 제어기 또는 파일 시스템은 스트라이프를 검사하여 손상된 데이터를 식별한다(518). 또한, 사용자는 기록 시에 데이터를 미러링할지의 여부 및 판독 시에 데이터의 타당성을 검사할 지의 여부를 지정할 수 있다. 이로써, 사용자는 판독 및 기록에 대해서 개별적으로 속도 및 신뢰성 중에서 하나를 선택할 수 있다.

Description

데이터 저장 방법과 장치 및 컴퓨터 프로그램 제품{METHOD, APPARATUS, AND PROGRAM FOR PROVIDING HYBRID DISK MIRRORING AND STRIPING}
RAID 시스템은 성능을 증가시키며 내고장성(fault tolerance)을 제공하는 디스크 서브시스템이다. RAID는 두 개 이상의 하드 디스크 및 RAID 기능성을 보유하는 특정 디스크 제어기의 세트를 필요로 한다. RAID는 초기에는 서버 및 독립형 디스크 저장 시스템을 위해서 개발되었으며 주로 내고장성으로 인해서 데스크탑 개인용 컴퓨터에서도 점점 이용되고 있다. 또한, RAID는 특히 고장 후에 데이터를 복구할 경우에 오직 소프트웨어만을 사용하여 구현될 수 있지만 이 경우에 성능은 약간 떨어진다.
디스크 스트라이핑은 다수의 드라이브에 걸쳐 바이트 또는 바이트 그룹을 인터리빙함으로써 성능을 향상시키는 RAID 레벨이며, 이 레벨을 통해서 하나 이상의 디스크가 동시에 판독 및 기록될 수 있다. 데이터는 드라이브를 가로질러 바이트 단위 또는 섹터 단위로 인터리빙된다. 가령, 판독 및 기록을 병행하기 위해서 설계된 4 개의 드라이브 및 하나의 제어기의 경우, 4 개의 섹터가 통상적으로 하나의 섹터를 판독하는 데 걸리는 시간에 동시에 판독될 수 있다. 디스크 스트라이핑은 RAID 레벨 0 또는 RAID 0으로서 지칭된다. 디스크 스트라이핑은 내고장성 또는 에러 검사를 그 자체로는 제공하지 않는다. 그러나, 스트라이핑은 내고장성을 위해서 다른 방법과 함께 사용될 수 있다.
내고장성은 미러링(mirroring)에 의해서 성취될 수 있다. 미러링은 두 개의 드라이브 상에 데이터를 복제하는 것을 가능하게 한다. 데이터는 동일한 시스템 내의 두 개의 개별 디스크 상에 기록될 수 있다. 고장난 드라이브는 새로운 드라이브로 대체될 수 있으며 RAID 제어기는 손실된 데이터를 자동적으로 복구할 수 있다. 디스크 미러링은 RAID 1 또는 RAID 레벨 1로서 지칭된다.
디스크 스트라이핑(RAID 0) 및 디스크 미러링(RAID 1)을 결합하여 사용함으로써 스트라이핑의 성능 및 미러링의 신뢰성을 획득할 수 있다. 이러한 RAID 0과 RAID 1의 결합은 RAID 0/1로서 지칭된다. 그러나, RAID 0 및 RAID 1를 결합하여 사용하는 것은 적어도 4 개의 디스크 드라이브, 즉 스트라이핑을 위한 두 개의 드라이브와 스트라이프(stripe)를 미러링하기 위한 두 개 이상의 드라이브를 필요로 한다. 대부분의 작은 오피스 및 홈 오피스는 범용 개인용 컴퓨터를 사용한다. 이러한 컴퓨터는 통상적으로 크기 및 비용으로 인해서 최대 두 개의 디스크 드라이브를 가지고 있다. 따라서, 범용 컴퓨터 상에서 RAID를 구현할 경우에는 스트라이핑과 미러링 중 하나를 선택해야 한다.
그러므로, 요구되는 디스크 드라이브의 수를 증가시키지 않으면서 하나의 디스크 서브시스템 내에서 스트라이핑 및 미러링의 혼성 레벨을 개발할 필요가 있다.
발명의 개요
본 발명은 데이터를 미러링 및 스트라이핑하기 위해서 하드 디스크 드라이브를 사용한다. 기록 시에, 하드 디스크 제어기는 제 1 스트라이프를 제 1 하드 디스크에 기록하며 이 스트라이프를 미러링하기 위해 제 2 하드 디스크 상에 적당한 양의 공간을 할당한다. 이와 동시에, 제 2 스트라이프가 제 2 하드 디스크에 기록되며 이 제 2 스트라이프를 미러링하기 위해서 적당한 양의 공간이 제 1 하드 디스크 상에 할당된다. 어느 스트라이프가 미러링되었으며 어느 스트라이프가 미러링되지 않았는지에 대한 정보는 메모리에 저장된다. 유휴 디스크 시간과 같은 이후 시간에, 제어기 또는 파일 시스템은 대응하는 스트라이프를 사전할당된 공간 내부로 복사함으로써 드라이브들 간에서 데이터를 동기화한다. 유휴 디스크 시간 동안, 제어기 또는 파일 시스템은 스트라이프를 검사하여 손상된 데이터를 식별한다.
이로써, 4 개 이상의 하드 디스크 드라이브를 필요로 하지 않으면서 스트라이핑의 증가된 성능 및 미러링의 증가된 신뢰성을 실현할 수 있다. 이와 달리, 사용자는 기록 시에 데이터를 미러링할지의 여부 및 판독 시에 데이터의 타당성을검사할 지의 여부를 지정할 수 있다. 이로써, 사용자는 판독 및 기록에 대해서 속도 및 신뢰성 중에서 하나를 선택할 수 있다.
본 발명의 신규한 특징으로 고려되는 특성들이 첨부된 청구 범위에서 제안된다. 그러나, 본 발명 그 자체 뿐만 아니라 본 발명의 사용의 바람직한 모드, 다른 목적 및 장점이 다음의 실시예에 대한 상세한 설명 부분을 첨부 도면과 함께 독해함으로써 최상으로 이해될 것이다.
본 발명은 데이터 처리 분야 특히 레이드(RAID : a redundant array of indepedent disks) 분야에 관한 것이다. 특히, 본 발명은 디스크 드라이브의 수를 증가시키지 않으면서 디스크 서브시스템 내에서 스트라이핑(striping) 및 미러링(mirroring)의 혼성 레벨을 개발하는 방법, 장치, 프로그램에 관한 것이다.
도 1은 본 발명이 본 발명의 바람직한 실시예에 따라 구현될 수 있는 데이터 처리 시스템의 도면,
도 2는 본 발명이 구현될 수 있는 데이터 처리 시스템의 블록도,
도 3a 내지 도 3c는 데이터를 스트라이핑 및 미러링하는 종래 기술의 블록도,
도 4는 본 발명의 바람직한 실시예에 따라서 함께 사용된 데이터 스트라이핑 및 데이터 미러링을 설명하는 블록도,
도 5는 본 발명의 바람직한 실시예에 따르는 하드 디스크 제어기 또는 파일 시스템의 동작을 설명하는 흐름도.
이제 도면들, 특히 도 1를 참조할 것인데, 도 1은 본 발명의 바람직한 실시예에 따라서 본 발명이 구현될 수 있는 데이터 처리 시스템의 도면이다. 컴퓨터(100)는 시스템 유닛(110), 비디오 디스플레이 단말기(102), 키보드(104), 플로피 드라이브 및 다른 타입의 영구 저장 매체와 리무버블 저장 매체를 포함하는 저장 장치(108), 마우스(106)를 포함한다. 가령 조이스틱, 터치패드, 터치 스크린, 트랙볼, 마이크로폰 등과 같은 추가적인 입력 디바이스가 개인용 컴퓨터(100)에 포함될 수 있다. 컴퓨터(100)는 뉴욕 아몬크 소재의 IBM의 제품인 IBM RS/6000 컴퓨터 또는 인텔리스테이션 컴퓨터와 같은 임의의 적합한 컴퓨터를 사용하여서 구현될 수 있다. 개인용 컴퓨터가 도시되었지만, 본 발명의 다른 실시예는 네크워크 컴퓨터와 같은 다른 타입의 데이터 처리 시스템에서 구현될 수 있다. 컴퓨터(100)는 바람직하게는 컴퓨터(100) 내부에서 동작하여 컴퓨터에 의해 판독가능한 매체에 상주하는 시스템 소프트웨어에 의해서 구현될 수 있는 그래픽 유저 인터페이스를 포함한다.
도 2는 본 발명이 구현될 수 있는 데이터 처리 시스템의 블록도이다. 데이터 처리 시스템(200)은 본 발명의 프로세스를 구현하는 코드 또는 인스트럭션이 위치할 수 있는 도 1의 컴퓨터(100)와 같은 컴퓨터의 실례이다. 데이터 처리 시스템(200)은 PCI(주변 구성 요소 상호접속) 로컬 버스 아키텍쳐를 사용한다. 도시된 실례가 PCI 버스를 사용하지만, AGP(가속화된 그래픽 포트) 및 ISA(산업 표준 아키텍쳐)와 같은 다른 버스 아키텍쳐도 사용될 수 있다. 프로세서(202) 및 메인 메모리(204)는 PCI 브리지(208)를 통해서 PCI 로컬 버스(206)에 접속된다. 또한, PCI 브리지(208)는 프로세서(202)를 위해서 집적된 메모리 제어기 및 캐시 메모리를 포함한다. PCI 로컬 버스(206)로의 추가적인 접속은 직접적인 구성 요소 상호 접속을 통해서 또는 애드 인 보드(add-in boards)를 통해서 형성될 수 있다. 도시된 실례에서, LAN(근거리 네트워크) 어댑터(210), 소형 컴퓨터 시스템 인터페이스(SCSI) 호스트 버스 어댑터(212), 확장 버스 인터페이스(214)가 직접적인 구성 요소 상호접속에 의해서 PCI 로컬 버스(206)에 접속된다. 이와 대비하여, 오디오 어댑터(216), 그래픽 어댑터(218), 오디오/비디오 어댑터(219)는 확장 슬롯 내부로 삽입된 애드 인 보드에 의해서 PCI 로컬 버스(206)에 접속된다. 확장 버스 인터페이스(214)는 키보드 및 마우스 어댑터(220), 모뎀(222), 추가 메모리(224)를 위한 접속을 제공한다. 하드 디스크 어댑터(212)는 하드 디스크 드라이브(226,228)를 위한 접속을 제공한다. 통상적인 PCI 로컬 버스 구현 사항은 3 개 또는 4 개의 PCI 확장 슬롯 또는 애드 인 커넥터를 지원할 것이다.
운영 체제가 프로세서(202) 상에서 동작하며 도 2의 데이터 처리 시스템(200) 내부의 다양한 구성 요소를 조정 및 제어한다. 운영 체제는 마이크로소프트사에서 입수가능한 윈도우 2000와 같은 상업적으로 입수가능한 운영 체제일 수 있다. 자바와 같은 객체 지향 프로그래밍 시스템이 이 운영 체제와 함께 사용될 수 있으며 데이터 처리 시스템(200) 상에 실행되는 애플리케이션 또는 자바 프로그램으로부터 운영 체제로의 호출을 제공한다. "자바"는 선 마이크로시스템사의 상표이다. 운영 체제를 위한 인스트럭션, 객체 지향 프로그래밍 시스템, 애플리케이션 또는 프로그램은 하드 디스크 드라이브(226)와 같은 저장 디바이스 상에 위치하며 프로세서(202)에 의해서 실행되기 위해서 메인 메모리(204) 내부로 로링될 수 있다.
본 기술 분야의 당업자는 도 2의 하드웨어가 구현 사항에 따라서 변할 수 있임을 이해할 것이다. 플래시 ROM(또는 이와 등가의 비휘발성 메모리) 또는 광학 디스크 메모리 등과 같은 다른 내부 하드웨어 또는 주변 디바이스가 도 2의 하드웨어에 추가되어 사용되거나 대신에 사용될 수 있다. 또한, 본 발명의 프로세스는 멀티프로세서 데이터 처리 시스템에도 적용될 수 있다. 데이터 처리 시스템(200)은 PDA(a personal digital assistant)일 수 있으며, 이 PDA는 운영 체제 파일 및/또는 사용자에 의해 생성된 데이터를 저장하기 위한 비휘발성 메모리를 제공하는 ROM 및/또는 플래시 ROM과 함께 구성된다.
도 2의 도시된 실례 및 전술된 실례는 본 발명을 구조적으로 한정하기 위한 것이 아니다. 가령, 데이터 처리 시스템(200)은 PDA 이외에 노트북 컴퓨터 또는 휴대용 컴퓨터일 수 있다. 또한, 데이터 처리 시스템(200)은 키오스크 또는 웹 도구일 수 있다.
본 발명의 프로세스는 가령 메인 메모리(204), 메모리(224)와 같은 메모리 내에 위치하거나 하나 이상의 하드 디스크(226,228) 내에 위치할 수 있는 컴퓨터 구현형 인스트럭션을 사용하는 프로세서(202)에 의해서 수행된다.
본 발명의 바람직한 실시예에 따라서, 특정 하드 디스크 어댑터(212) 또는 파일 시스템은 하드 디스크(226,228)를 사용하는 RAID 서브시스템을 제공한다.
도 3a 내지 도 3c는 데이터를 스트라이핑 및 미러링하는 종래 기술을 설명하는 블록도이다. 특히, 도 3a는 데이터 스트라이핑(RAID 0)을 설명하는 블록도이다. 데이터가 기록될 때, 데이터는 두 개의 스트라이프, 즉 데이터 A 및 데이터 B로 분할된다. 데이터 A(312)는 하드 디스크(310)에 기록될 수 있으며 이와 동시에 데이터 B(322)는 하드 디스크(320)에 기록될 수 있다. 또한, 데이터는 보다 많은 스트라이프로 분할될 수 있고 보다 많은 하드 디스크에 기록될 수도 있으며 하드 디스크(310,320)에 쌍으로 기록될 수도 있다. 데이터가 판독될 때, 데이터 A는 하드 디스크(310)로부터 판독되며 데이터 B는 하드 디스크(320)로부터 판독된다. 데이터 스트라이핑은 하나 이상의 스트라이프가 동시에 기록되거나 판독되는 것을 가능하게 하며 이로써 성능 개선을 제공한다.
도 3b는 데이터 미러링(RAID 1)을 설명하는 블록도이다. 데이터가 하드 디스크(330)에 기록될 때, 이와 동시에 이 데이터는 하드 디스크(340) 상에 복제된다. 데이터 A(332)가 하드 디스크(330)에 기록될 때, 데이터 A(342)가 하드 디스크(340) 상에서 미러링된다. 이와 유사하게, 데이터 B(334)가 하드 디스크(330)에 기록될 때, 데이터 B(344)가 하드 디스크(340) 상에서 미러링된다. 데이터 미러링은 데이터를 두 개의 드라이브 상에서 복제함으로써 내고장성을 제공한다. 데이터에 대한 타당성 검사는 데이터가 판독될 때 수행될 수 있다. 가령, 데이터 B(334)가 하드 디스크(330)로부터 판독될 때, 이와 동시에 데이터 B(344)도 하드 디스크(340)로부터 판독될 수 있다. 데이터 손상을 식별하기 위해서 두 개의 데이터 비교가 수행된다. 고장난 드라이브는 새로운 드라이브로 대체될 수 있으며 RAID 제어기는 손실된 데이터를 자동적으로 복구할 수 있다.
도 3c는 결합 레벨 RAID 0/1에서 사용되는 데이터 스트라이핑 및 데이터 미러링을 설명하는 블록도이다. 데이터가 기록될 때, 데이터는 두 개의 스트라이프, 즉 데이터 A 및 데이터 B로 분할된다. 데이터 A(352)가 하드 디스크(350)에 기록되며 이와 동시에 데이터 B(362)는 하드 디스크(360)에 기록된다. 또한, 데이터 A(352)가 하드 디스크(350)에 기록될 때, 데이터 A(372)가 이와 동시에 하드 디스크(370) 상에서 미러링된다. 이와 마찬가지로, 데이터 B(362)가 하드 디스크(360)로 기록될 때, 데이터 B(384)가 이와 동시에 하드 디스크(380)에 기록된다.
데이터 스트라이핑은 스트라이프가 하드 디스크(350,360)로/로부터 동시에 기록/판독되는 것을 가능하게 하며 이로써 성능 개선을 제공한다. 데이터 미러링은 하드 디스크(350,360) 상의 스트라이프를 하드 디스크(370,380) 상의 스트라이프와 비교함으로써 데이터에 대한 타당성 검사를 가능하게 한다. 데이터 스트라이핑(RAID 0) 및 데이터 미러링(RAID 1)을 결합하여 사용함으로써 스트라이핑의 성능 및 미러링의 신뢰성을 획득할 수 있다.
그러나, RAID 0 및 RAID 1를 결합하여 사용하는 것은 적어도 4 개의 드라이브, 즉 스트라이핑을 위한 두 개의 드라이브 및 스트라이프를 미러링하기 위한 두 개 이상의 드라이브를 필요로 한다. 가령, 하드 디스크(350,360)는 20 기가바이트 크기의 하드 디스크일 수 있다. 이로써, 하드 디스크(370,380)는 20 기가바이트 크기의 하드 디스크이어야 한다. RAID 0/1를 사용하기 위해서, 컴퓨터는 4 개의 20 기가바이트 크기의 하드 디스크를 지원해야 한다. 대부분의 소형 오피스 및 홈 오피스는 범용 개인용 컴퓨터를 사용한다. 이들 컴퓨터는 통상적으로 크기및 비용으로 인해서 최대 두 개의 디스크 드라이브를 갖는다. 크기는 컴퓨터 하우징(computer housing) 내부의 가용 공간 또는 가용 드라이브 베이(drive bays)의 수로 인해서 제약을 받을 수 있다. 대부분의 개인용 컴퓨터는 마더보드 내부에 구축된 두 개의 IDE(Integrated Drive Electronics) 채널(제어기)을 탑재한다. 하나의 채널은 통상적으로 컴팩트 디스크 드라이브, 디지털 비디오 디스크 드라이브, 압축된 미디어 드라이브와 같은 저장 디바이스를 위해서 사용된다. 다른 채널은 통상적으로 통상적으로는 하나이지만 두 개 일 수 있는 하드 디스크 드라이브를 위해서 사용된다. 또한, 추가 하드 드라이브의 비용으로 인해서 RAID 0/1의 사용이 제약을 받는다. 그러므로, 범용 컴퓨터 상에서 RAID를 구현할 때에는 스트라이핑과 미러링 중 하나를 선택해야 한다.
본 발명의 바람직한 실시예에 따라서, 하드 디스크 드라이브는 데이터 스트라이핑 및 데이터 미러링 모두에 사용될 수 있다. 기록 시에, 하드 디스크 제어기는 제 1 스트라이프를 제 1 하드 디스크에 기록하며 이 스트라이프를 미러링하기 위해서 제 2 하드 디스크 상에 적당한 양의 공간을 할당한다. 이와 동시에, 제 2 스트라이프가 제 2 하드 디스크에 기록되며 이 제 2 스트라이프를 미러링하기 위해서 적당한 양의 공간이 제 1 하드 디스크 상에서 할당된다. 어느 스트라이프가 미러링되었으며 어느 스트라이프가 미러링되지 않았는지에 대한 정보는 메모리에 저장된다. 유휴 디스크 시간과 같은 이후 시간에, 제어기 또는 파일 시스템은 대응하는 스트라이프를 사전할당된 공간 내부로 복사함으로써 드라이브들 간에서 데이터를 동기화한다. 유휴 디스크 시간 동안, 제어기 또는 파일 시스템은 스트라이프를 검사하여 손상된 데이터를 식별한다. 또한, 데이터는 시스템 시작과 같은 다른 시간에 검사될 수 있다.
도 4는 본 발명에 바람직한 실시예에 따라서 데이터 스트라이핑 및 데이터 미러링을 결합하여 사용하는 레벨을 설명하는 블록도이다. 기록 시에, 데이터 A(412)는 하드 디스크(410) 상에 기록되며 스트라이프를 미러링하기 위해서 적당한 양의 공간이 하드 디스크(420) 상에 할당된다. 이와 동시에, 데이터 B(422)가 하드 디스크(420)에 기록되며 이 스트라이프를 미러링하기 위해서 적당한 양의 공간이 하드 디스크(410) 상에 할당된다. 이후에, 데이터 A(424)를 하드 디스크(420) 상의 사전할당된 공간 내부로 복사하고 데이터 B(414)를 하드 디스크(410) 상의 사전할당된 공간 내부로 복사함으로써 드라이브들 간에서 데이터가 동기화된다.
이로써, 4 개 이상의 하드 디스크 드라이브를 필요로 하지 않으면서 스트라이핑의 증가된 성능 및 미러링의 증가된 신뢰성을 성취할 수 있다. 하드 디스크(410,420)는 스트라이핑만을 또는 미러링만을 구현하는 데 필요한 용량의 두배를 지원해야 한다. 그러나, 용량을 두배로 지원하는 데 있어서 크기에 대해서는 어떤 부담도 존재하지 않는다. 가령, 40 기가바이트 하드 드라이브는 20 기가바이트 하드 드라이브와 동일한 양의 공간을 차지한다. 용량을 두배로 하는 것은 드라이브의 수를 두 배로 하는 것에 비해서 비용이 저렴하다. 가령, 40 기가바이트 하드 드라이브는 2 개의 20 기가바이트 하드 드라이브보다 비용이 덜 든다.
다른 실시예에서, 사용자는 기록 시에 데이터를 미러링할지의 여부 및 판독 시에 데이터의 타당성을 검사할 지의 여부를 지정할 수 있다. 이로써, 사용자는판독 및 기록에 대해서 속도 및 신뢰성 중에서 하나를 선택할 수 있다. 가령, 컴퓨터는 주로 데이터를 저장하는 데 사용될 수 있다. 이 경우, 사용자는 유휴 디스크 시간 동안 컴퓨터가 데이터를 미러링하며 판독 시간에 데이터의 타당성을 검사하도록 지정할 수 있다. 이와 반대로, 컴퓨터가 데이터 저장하고 저장된 데이터를 반복적으로 액세스하는 데 사용될 수 있다. 이 경우, 사용자는 신뢰성을 위해서 기록 시에 컴퓨터가 데이터를 미러링하지만 판독 시간에는 데이터의 타당성을 검사하지 않도록 지정할 수 있으며, 이로써 스트라이핑된 데이터를 판독할 시에 증가된 속도를 실현할 수 있다.
도 5는 본 발명의 바람직한 실시예에 따르는 하드 디스크 제어기 또는 파일 시스템의 동작을 설명하는 흐름도이다. 프로세스가 시작되고 이후에 기록 동작이 수행될지의 여부가 결정된다(단계 502). 데이터가 기록될 것이라면, 프로세스는 스트라이핑된 데이터를 기록하고(단계 504) RAID 서브시스템이 기록 시간에 미러링하도록 구성되는지의 여부가 결정된다(단계 506). 서브시스템이 기록 시간에 미러링하도록 구성된다면, 프로세스는 미러링된 데이터를 기록하고(단계 508) 판독 동작이 수행될지의 여부가 결정된다(단계 512).
서브시스템이 단계(506)에서 기록 시간에 미러링하도록 구성되지 않으면, 프로세스는 미러링된 데이터를 위한 저장 공간을 할당하며(단계 510) 판독 동작이 수행될지의 여부가 결정된다(단계 512). 단계(502)로 돌아가서, 기록 동작이 수행되지 않는다면, 프로세스는 단계 512로 진행하여 판독 동작이 수행될지의 여부를 결정한다.
데이터가 판독될 것이라면, 프로세스는 스트라이핑된 데이터를 판독하고(단계 514) RAID 서브시스템이 판독 시간에 데이터의 타당성 검사를 수행하도록 구성되는지의 여부를 결정한다(단계 516). 만약 서브시스템이 판독 시간에 데이터의 타당성 검사를 수행하도록 구성되면, 프로세스는 데이터가 이미 미러링되었다면 데이터의 타당성 검사를 수행하고(단계 518) 하드 디스크가 유휴 상태인지의 여부를 결정한다(단계 520).
만약 서브시스템이 단계 516에서 판독 시간에 데이터의 타당성 검사를 수행하도록 구성되지 않는다면, 프로세스는 단계 520로 진행하여 하드 디스크가 유휴 상태인지의 여부를 결정한다. 단계 512로 돌아가서, 만약 판독 동작이 수행될 것이 아니라면, 프로세스는 단계 520로 진행하여 하드 디스크가 유휴 상태인지의 여부를 결정한다.
만약 하드 디스크가 유휴 상태라면, 프로세스는 초기 기록 시간에 미러링되지 않았던 데이터를 기록하고(단계 522) 미러링된 데이터에 대한 타당성 검사를 수행한다(단계 524). 이후에, 엑시트 상태(an exit condition)가 존재하는지의 여부 결정된다(단계 526). 엑시트 상태는 가령 컴퓨터 시스템의 셧다운(shutdown) 상태 하에서 또는 전력 관리 서브시스템이 하드 디스크로 하여금 휴면 모드 상태(a "sleep" or dormant mode)가 되게 할 때 존재할 수 있다. 하드 디스크가 단계 520에서 유휴 상태가 아니라면, 프로세스는 단계 526로 진행하여 엑시트 상태가 존재하는지의 여부를 결정한다. 만약 엑시트 상태가 존재한다면, 프로세스는 종료된다. 만약 엑시트 상태가 단계 526에서 존재하지 않는다면, 프로세스는 단계 502로 진행하여 데이터가 기록될지의 여부를 결정한다.
이로써, 본 발명은 필요한 디스크 드라이브의 수를 증가시키지 않으면서 다중 타입의 RAID를 제공함으로써 종래 기술의 단점을 해결하였다. 본 발명은 데이터를 스트라이핑하며 스트라이프를 미러링하기 위해서 제 2 하드 디스크 상에 적당한 양의 공간을 할당한다. 어느 스트라이프가 미러링되었으며 어느 스트라이프가 미러링되지 않았는지에 대한 정보는 메모리에 저장된다. 유휴 디스크 시간과 같은 이후 시간에, 제어기 또는 파일 시스템은 대응하는 스트라이프를 사전할당된 공간 내부로 복사함으로써 드라이브들 간에서 데이터를 동기화한다. 유휴 디스크 시간 동안, 제어기 또는 파일 시스템은 손상된 데이터를 식별하기 위해서 스트라이프를 검사한다. 이로써, 4 개 이상의 하드 디스크 드라이브를 필요로 하지 않으면서 스트라이핑의 증가된 성능 및 미러링의 증가된 신뢰성을 실현할 수 있다. 이와 달리, 사용자는 기록 시에 데이터를 미러링할지의 여부 및 판독 시에 데이터의 타당성을 검사할 지의 여부를 지정할 수 있다. 이로써, 사용자는 판독 및 기록에 대해서 속도 및 신뢰성 중에서 하나를 선택할 수 있다.
본 발명은 완전하게 기능하는 데이터 처리 시스템의 문맥하에서 기술되었지만, 본 기술 분야의 당업자는 본 발명의 프로세스는 인스트럭션의 컴퓨터 판독가능한 매체의 형태 및 다양한 형태로 분배될 수 있으며 본 발명은 상기 분배를 수행하는데 실제적으로 사용되는 신호 보유 매체의 특정 타입과 상관 없이 동일하게 적용될 수 있음을 이해할 것이다. 컴퓨터 판독가능한 매체의 실례는 플로피 디스크, 하드 디스크 드라이브, RAM, CD ROM, DVD ROM과 같은 기록가능한 타입의 매체와,가령 무선 주파수 및 광파 전송과 같은 전송 형태를 사용하는 무선 또는 유선 통신 링크, 디지털 및 아날로그 통신 링크와 같은 전송 타입 매체를 포함한다. 컴퓨터 판독가능한 매체는 특정 데이터 처리 시스템에서 실제로 사용하기 위해서 디코딩되는 코딩된 포맷의 형태를 취할 수 있다.
본 발명의 상세한 설명은 개시된 형태로 본 발명을 한정하기 위한 것이 아니라 단지 서술하기 위한 것이다. 수 많은 변경 및 수정이 본 기술 분야의 당업자에게는 가능하다. 본 발명의 원리, 실제적인 응용을 최상으로 설명하고 본 기술 분야의 당업자들이 고려될 수 있는 특정 사용을 위해서 적합한 다양한 변경과 함께 본 발명을 다양한 실시예로 이해할 수 있도록 하기 위해서 전술한 실시예들이 선택되고 기술되었다.

Claims (34)

  1. 데이터 저장 방법에 있어서,
    데이터를 적어도 제 1 스트라이프 및 제 2 스트라이프로 분할하는 단계와,
    상기 제 1 스트라이프를 제 1 저장 장치 내에 저장하고 이와 동시에 상기 제 2 스트라이프를 제 2 저장 장치 내에 저장하는 단계와,
    상기 제 1 스트라이프를 위한 공간을 상기 제 2 저장 장치 내에 할당하고 상기 제 2 스트라이프를 위한 공간을 상기 제 1 저장 장치 내에 할당하는 단계와,
    상기 제 1 스트라이프를 위한 공간 내부로 상기 제 1 스트라이프를 복사(duplicate)하며 상기 제 2 스트라이프를 위한 공간 내부로 상기 제 2 스트라이프를 복사하는 단계를 포함하는
    데이터 저장 방법.
  2. 제 1 항에 있어서,
    상기 제 1 스트라이프의 타당성을 검사하는(validating) 단계를 더 포함하는
    데이터 저장 방법.
  3. 제 2 항에 있어서,
    상기 제 1 스트라이프의 타당성을 검사하는 단계는,
    상기 제 1 저장 장치 내의 상기 제 1 스트라이프를 상기 제 2 저장 장치 내의 상기 복사된 제 1 스트라이프와 비교하는 단계를 포함하는
    데이터 저장 방법.
  4. 제 2 항에 있어서,
    상기 제 1 스트라이프의 타당성을 검사하는 단계는 유휴 디스크 시간 동안 수행되는
    데이터 저장 방법.
  5. 제 2 항에 있어서,
    상기 제 1 스트라이프의 타당성을 검사하는 단계는 시작(startup) 시에 수행되는
    데이터 저장 방법.
  6. 제 1 항에 있어서,
    상기 제 1 스트라이프를 복사하고 상기 제 2 스트라이프를 복사하는 단계는유휴 디스크 시간 동안 수행되는
    데이터 저장 방법.
  7. 데이터 저장 방법에 있어서,
    데이터를 적어도 제 1 스트라이프 및 제 2 스트라이프로 분할하는 단계와,
    상기 제 1 스트라이프를 제 1 저장 장치 내에 저장하고 상기 제 2 스트라이프를 제 2 저장 장치 내에 저장하는 단계와,
    상기 제 1 스트라이프를 상기 제 2 저장 장치 내부로 복사하며 상기 제 2 스트라이프를 상기 제 1 저장 장치 내부로 복사하는 단계와,
    상기 제 1 스트라이프의 타당성을 검사하는 단계를 포함하는
    데이터 저장 방법.
  8. 제 7 항에 있어서,
    상기 제 1 스트라이프를 복사하고 상기 제 2 스트라이프를 복사하는 단계는,
    상기 제 1 스트라이프를 위한 공간을 상기 제 2 저장 장치 내에 할당하고 상기 제 2 스트라이프를 위한 공간을 상기 제 1 저장 장치 내에 할당하는 단계와,
    상기 제 1 스트라이프를 위한 공간 내부로 상기 제 1 스트라이프를 복제(copy)하며 상기 제 2 스트라이프를 위한 공간 내부로 상기 제 2 스트라이프를복제하는 단계를 포함하는
    데이터 저장 방법.
  9. 제 8 항에 있어서,
    상기 제 1 스트라이프를 복제하고 상기 제 2 스트라이프를 복제하는 단계는 유휴 디스크 시간 동안 수행되는
    데이터 저장 방법.
  10. 제 7 항에 있어서,
    상기 제 1 스트라이프는 상기 제 1 저장 장치 내에 상기 제 1 스트라이프를 저장하는 시간에 상기 제 2 저장 장치 내부로 복사되는
    데이터 저장 방법.
  11. 제 7 항에 있어서,
    상기 제 1 스트라이프를 복사하고 상기 제 2 스트라이프를 복사하는 단계는 유휴 디스크 시간 동안 수행되는
    데이터 저장 방법.
  12. 제 11 항에 있어서,
    상기 제 1 스트라이프 및 상기 제 2 스트라이프는 동시에 복사되는
    데이터 저장 방법.
  13. 제 7 항에 있어서,
    상기 제 1 스트라이프의 타당성을 검사하는 단계는 유휴 디스크 시간 동안 수행되는
    데이터 저장 방법.
  14. 제 7 항에 있어서,
    상기 제 1 스트라이프의 타당성을 검사하는 단계는 상기 제 1 스트라이프를 판독하는 시간에 수행되는
    데이터 저장 방법.
  15. 제 7 항에 있어서,
    상기 제 1 스트라이프의 타당성을 검사하는 단계는,
    상기 제 1 저장 장치 내의 상기 제 1 스트라이프를 상기 제 2 저장 장치 내의 상기 복사된 제 1 스트라이프와 비교하는 단계를 포함하는
    데이터 저장 방법.
  16. 데이터 저장 장치에 있어서,
    데이터를 적어도 제 1 스트라이프 및 제 2 스트라이프로 분할하는 스트라이핑 수단과,
    상기 제 1 스트라이프를 제 1 저장 장치 내에 저장하고 이와 동시에 상기 제 2 스트라이프를 제 2 저장 장치 내에 저장하는 저장 수단과,
    상기 제 1 스트라이프를 위한 공간을 상기 제 2 저장 장치 내에 할당하고 상기 제 2 스트라이프를 위한 공간을 상기 제 1 저장 장치 내에 할당하는 할당 수단과,
    상기 제 1 스트라이프를 위한 공간 내부로 상기 제 1 스트라이프를 복사하며 상기 제 2 스트라이프를 위한 공간 내부로 상기 제 2 스트라이프를 복사하는 복사 수단을 포함하는
    데이터 저장 장치.
  17. 제 16 항에 있어서,
    상기 제 1 스트라이프의 타당성을 검사하는 검사 수단을 더 포함하는
    데이터 저장 장치.
  18. 제 17 항에 있어서,
    상기 검사 수단은, 상기 제 1 저장 장치 내의 상기 제 1 스트라이프를 상기 제 2 저장 장치 내의 상기 복사된 제 1 스트라이프와 비교하는 비교 수단을 포함하는
    데이터 저장 장치.
  19. 제 17 항에 있어서,
    상기 검사 수단은 유휴 디스크 시간 동안 상기 제 1 스트라이프의 타당성을 검사하는 수단을 포함하는
    데이터 저장 장치.
  20. 제 17 항에 있어서,
    상기 검사 수단은 시작 시에 상기 제 1 스트라이프의 타당성을 검사하는 수단을 포함하는
    데이터 저장 장치.
  21. 제 16 항에 있어서,
    상기 복사 수단은 유휴 디스크 시간 동안 상기 제 1 스트라이프를 복사하고 상기 제 2 스트라이프를 복사하는 수단을 포함하는
    데이터 저장 장치.
  22. 데이터 저장 장치에 있어서,
    데이터를 적어도 제 1 스트라이프 및 제 2 스트라이프로 분할하는 분할 수단과,
    상기 제 1 스트라이프를 제 1 저장 장치 내에 저장하고 상기 제 2 스트라이프를 제 2 저장 장치 내에 저장하는 저장 수단과,
    상기 제 1 스트라이프를 상기 제 2 저장 장치 내부로 복사하며 상기 제 2 스트라이프를 상기 제 1 저장 장치 내부로 복사하는 복사 수단과,
    상기 제 1 스트라이프의 타당성을 검사하는 검사 수단을 포함하는
    데이터 저장 장치.
  23. 제 22 항에 있어서,
    상기 복사 수단은,
    상기 제 1 스트라이프를 위한 공간을 상기 제 2 저장 장치 내에 할당하고 상기 제 2 스트라이프를 위한 공간을 상기 제 1 저장 장치 내에 할당하는 할당 수단과,
    상기 제 1 스트라이프를 위한 공간 내부로 상기 제 1 스트라이프를 복제하며 상기 제 2 스트라이프를 위한 공간 내부로 상기 제 2 스트라이프를 복제하는 복제 수단을 포함하는
    데이터 저장 장치.
  24. 제 23 항에 있어서,
    상기 복제 수단은 유휴 디스크 시간 동안 상기 제 1 스트라이프와 상기 제 2 스트라이프를 복제하는 수단을 포함하는
    데이터 저장 장치.
  25. 제 22 항에 있어서,
    상기 제 1 스트라이프는 상기 제 1 저장 장치 내에 상기 제 1 스트라이프를저장하는 시간에 상기 제 2 저장 장치 내부로 복사되는
    데이터 저장 장치.
  26. 제 22 항에 있어서,
    상기 복사 수단은,
    유휴 디스크 시간 동안 상기 제 1 스트라이프와 상기 제 2 스트라이프를 복사하는 수단을 포함하는
    데이터 저장 장치.
  27. 제 26 항에 있어서,
    상기 제 1 스트라이프 및 상기 제 2 스트라이프는 동시에 복사되는
    데이터 저장 장치.
  28. 제 22 항에 있어서,
    상기 검사 수단은 유휴 디스크 시간 동안 상기 제 1 스트라이프의 타당성을 검사하는 수단을 포함하는
    데이터 저장 장치.
  29. 제 22 항에 있어서,
    상기 검사 수단은 상기 제 1 스트라이프를 판독하는 시간에 상기 제 1 스트라이프에 대한 타당성 검사를 수행하는 수단을 포함하는
    데이터 저장 장치.
  30. 제 22 항에 있어서,
    상기 검사 수단은,
    상기 제 1 저장 장치 내의 상기 제 1 스트라이프를 상기 제 2 저장 장치 내의 상기 복사된 제 1 스트라이프와 비교하는 비교 수단을 포함하는
    데이터 저장 장치.
  31. 데이터 저장 장치에 있어서,
    제 1 저장 장치와,
    제 2 저장 장치와,
    제어기를 포함하며,
    상기 제어기는 데이터를 적어도 제 1 스트라이프 및 제 2 스트라이프로 분할하고, 상기 제 1 스트라이프를 제 1 저장 장치 내에 저장함과 동시에 상기 제 2 스트라이프를 제 2 저장 장치 내에 저장하여, 상기 제 1 스트라이프를 위한 공간을 상기 제 2 저장 장치 내에 할당하고 상기 제 2 스트라이프를 위한 공간을 상기 제 1 저장 장치 내에 할당하며, 상기 제 1 스트라이프를 위한 공간 내부로 상기 제 1 스트라이프를 복사하고 상기 제 2 스트라이프를 위한 공간 내부로 상기 제 2 스트라이프를 복사하는
    데이터 저장 장치.
  32. 데이터 저장 장치에 있어서,
    제 1 저장 장치와,
    제 2 저장 장치와,
    제어기를 포함하며,
    상기 제어기는 데이터를 적어도 제 1 스트라이프 및 제 2 스트라이프로 분할하고, 상기 제 1 스트라이프를 제 1 저장 장치 내에 저장하고 상기 제 2 스트라이프를 제 2 저장 장치 내에 저장하며, 상기 제 1 스트라이프를 상기 제 2 저장 장치 내부로 복사하고 상기 제 2 스트라이프를 상기 제 1 저장 장치 내부로 복사하며, 상기 제 1 스트라이프의 타당성을 검사하는
    데이터 저장 장치.
  33. 데이터를 저장하기 위한, 컴퓨터 판독가능한 매체 내의, 컴퓨터 프로그램 제품에 있어서,
    데이터를 적어도 제 1 스트라이프 및 제 2 스트라이프로 분할하는 인스트럭션과,
    상기 제 1 스트라이프를 제 1 저장 장치 내에 저장하고 이와 동시에 상기 제 2 스트라이프를 제 2 저장 장치 내에 저장하는 인스트럭션과,
    상기 제 1 스트라이프를 위한 공간을 상기 제 2 저장 장치 내에 할당하고 상기 제 2 스트라이프를 위한 공간을 상기 제 1 저장 장치 내에 할당하는 인스트럭션과,
    상기 제 1 스트라이프를 위한 공간 내부로 상기 제 1 스트라이프를 복사하며 상기 제 2 스트라이프를 위한 공간 내부로 상기 제 2 스트라이프를 복사하는 인스트럭션을 포함하는
    컴퓨터 프로그램 제품.
  34. 데이터를 저장하기 위한, 컴퓨터 판독가능한 매체 내의, 컴퓨터 프로그램 제품에 있어서,
    데이터를 적어도 제 1 스트라이프 및 제 2 스트라이프로 분할하는 인스트럭션과,
    상기 제 1 스트라이프를 제 1 저장 장치 내에 저장하고 상기 제 2 스트라이프를 제 2 저장 장치 내에 저장하는 인스트럭션과,
    상기 제 1 스트라이프를 상기 제 2 저장 장치 내부로 복사하며 상기 제 2 스트라이프를 상기 제 1 저장 장치 내부로 복사하는 인스트럭션과,
    상기 제 1 스트라이프의 타당성을 검사하는 인스트럭션을 포함하는
    컴퓨터 프로그램 제품.
KR10-2003-7013408A 2001-04-19 2001-12-17 데이터 저장 방법과 장치 및 컴퓨터 프로그램 제품 KR20030090735A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/838,168 US20020156971A1 (en) 2001-04-19 2001-04-19 Method, apparatus, and program for providing hybrid disk mirroring and striping
US09/838,168 2001-04-19
PCT/US2001/048641 WO2002086653A2 (en) 2001-04-19 2001-12-17 Method, apparatus, and program for providing hybrid disk mirroring and striping

Publications (1)

Publication Number Publication Date
KR20030090735A true KR20030090735A (ko) 2003-11-28

Family

ID=25276446

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2003-7013408A KR20030090735A (ko) 2001-04-19 2001-12-17 데이터 저장 방법과 장치 및 컴퓨터 프로그램 제품

Country Status (7)

Country Link
US (1) US20020156971A1 (ko)
EP (1) EP1399820A2 (ko)
JP (1) JP2004525464A (ko)
KR (1) KR20030090735A (ko)
CN (1) CN1518697A (ko)
AU (1) AU2002234034A1 (ko)
WO (1) WO2002086653A2 (ko)

Families Citing this family (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7478126B2 (en) * 2002-04-08 2009-01-13 Sony Corporation Initializing relationships between devices in a network
WO2004027650A1 (en) * 2002-09-18 2004-04-01 Netezza Corporation Disk mirror architecture for database appliance
US7076606B2 (en) * 2002-09-20 2006-07-11 Quantum Corporation Accelerated RAID with rewind capability
US7017017B2 (en) * 2002-11-08 2006-03-21 Intel Corporation Memory controllers with interleaved mirrored memory modes
US7130229B2 (en) * 2002-11-08 2006-10-31 Intel Corporation Interleaved mirrored memory systems
US7143234B2 (en) * 2002-11-26 2006-11-28 Intel Corporation Bios storage array
US7028156B1 (en) 2003-07-01 2006-04-11 Veritas Operating Corporation Use of read data tracking and caching to recover from data corruption
US7028139B1 (en) 2003-07-03 2006-04-11 Veritas Operating Corporation Application-assisted recovery from data corruption in parity RAID storage using successive re-reads
US7725760B2 (en) 2003-09-23 2010-05-25 Symantec Operating Corporation Data storage system
US7577806B2 (en) * 2003-09-23 2009-08-18 Symantec Operating Corporation Systems and methods for time dependent data storage and recovery
US7827362B2 (en) 2004-08-24 2010-11-02 Symantec Corporation Systems, apparatus, and methods for processing I/O requests
US7991748B2 (en) 2003-09-23 2011-08-02 Symantec Corporation Virtual data store creation and use
US7287133B2 (en) 2004-08-24 2007-10-23 Symantec Operating Corporation Systems and methods for providing a modification history for a location within a data store
US7730222B2 (en) 2004-08-24 2010-06-01 Symantec Operating System Processing storage-related I/O requests using binary tree data structures
US7904428B2 (en) 2003-09-23 2011-03-08 Symantec Corporation Methods and apparatus for recording write requests directed to a data store
US20050177693A1 (en) * 2004-02-10 2005-08-11 Storeage Networking Technologies Asynchronous mirroring in a storage area network
TWI263891B (en) * 2004-08-10 2006-10-11 Via Tech Inc Method and related apparatus for verifying array of disks
JP2007087053A (ja) * 2005-09-21 2007-04-05 Oki Electric Ind Co Ltd ディスクアレイ制御装置および制御方法
JP2007115162A (ja) * 2005-10-24 2007-05-10 Meidensha Corp データの二重保存方法
US20090006743A1 (en) * 2007-06-27 2009-01-01 Chee Keong Sim Writing data to multiple storage devices
CA2713876C (en) 2008-02-26 2014-11-04 Vmware, Inc. Extending server-based desktop virtual machine architecture to client machines
JP2009230608A (ja) * 2008-03-25 2009-10-08 Fuji Xerox Co Ltd 記憶システム、制御装置、画像形成装置、および制御プログラム
US8155766B2 (en) * 2008-11-03 2012-04-10 Hitachi, Ltd. Methods and apparatus to provision power-saving storage system
US8484506B2 (en) * 2008-11-29 2013-07-09 Lsi Corporation Redundant array of independent disks level 5 (RAID 5) with a mirroring functionality
CN101866307A (zh) * 2010-06-24 2010-10-20 杭州华三通信技术有限公司 一种基于镜像技术的数据存储方法及装置
US8417877B2 (en) * 2010-08-31 2013-04-09 Micron Technology, Inc Stripe-based non-volatile multilevel memory operation
WO2012036483A2 (ko) * 2010-09-16 2012-03-22 주식회사 포스코 고탄소 열연강판, 냉연강판 및 그 제조방법
US20140047177A1 (en) * 2012-08-10 2014-02-13 International Business Machines Corporation Mirrored data storage physical entity pairing in accordance with reliability weightings
JP6233279B2 (ja) * 2014-11-07 2017-11-22 コニカミノルタ株式会社 画像形成装置、画像形成装置の制御プログラム、およびコントローラー
US9853873B2 (en) 2015-01-10 2017-12-26 Cisco Technology, Inc. Diagnosis and throughput measurement of fibre channel ports in a storage area network environment
CN104714758B (zh) * 2015-01-19 2017-07-07 华中科技大学 一种基于校验raid加入镜像结构的阵列构建方法及读写系统
US9900250B2 (en) 2015-03-26 2018-02-20 Cisco Technology, Inc. Scalable handling of BGP route information in VXLAN with EVPN control plane
US10222986B2 (en) 2015-05-15 2019-03-05 Cisco Technology, Inc. Tenant-level sharding of disks with tenant-specific storage modules to enable policies per tenant in a distributed storage system
US11588783B2 (en) 2015-06-10 2023-02-21 Cisco Technology, Inc. Techniques for implementing IPV6-based distributed storage space
US10778765B2 (en) 2015-07-15 2020-09-15 Cisco Technology, Inc. Bid/ask protocol in scale-out NVMe storage
US9892075B2 (en) 2015-12-10 2018-02-13 Cisco Technology, Inc. Policy driven storage in a microserver computing environment
US10140172B2 (en) 2016-05-18 2018-11-27 Cisco Technology, Inc. Network-aware storage repairs
US20170351639A1 (en) 2016-06-06 2017-12-07 Cisco Technology, Inc. Remote memory access using memory mapped addressing among multiple compute nodes
US10664169B2 (en) * 2016-06-24 2020-05-26 Cisco Technology, Inc. Performance of object storage system by reconfiguring storage devices based on latency that includes identifying a number of fragments that has a particular storage device as its primary storage device and another number of fragments that has said particular storage device as its replica storage device
US11563695B2 (en) 2016-08-29 2023-01-24 Cisco Technology, Inc. Queue protection using a shared global memory reserve
US10545914B2 (en) 2017-01-17 2020-01-28 Cisco Technology, Inc. Distributed object storage
US10243823B1 (en) 2017-02-24 2019-03-26 Cisco Technology, Inc. Techniques for using frame deep loopback capabilities for extended link diagnostics in fibre channel storage area networks
US10713203B2 (en) 2017-02-28 2020-07-14 Cisco Technology, Inc. Dynamic partition of PCIe disk arrays based on software configuration / policy distribution
US10254991B2 (en) 2017-03-06 2019-04-09 Cisco Technology, Inc. Storage area network based extended I/O metrics computation for deep insight into application performance
US10303534B2 (en) 2017-07-20 2019-05-28 Cisco Technology, Inc. System and method for self-healing of application centric infrastructure fabric memory
US10404596B2 (en) 2017-10-03 2019-09-03 Cisco Technology, Inc. Dynamic route profile storage in a hardware trie routing table
US10942666B2 (en) 2017-10-13 2021-03-09 Cisco Technology, Inc. Using network device replication in distributed storage clusters
US10936201B2 (en) * 2019-02-21 2021-03-02 Intel Corporation Low latency mirrored raid with persistent cache

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5051887A (en) * 1987-08-25 1991-09-24 International Business Machines Corporation Maintaining duplex-paired storage devices during gap processing using of a dual copy function
US5678061A (en) * 1995-07-19 1997-10-14 Lucent Technologies Inc. Method for employing doubly striped mirroring of data and reassigning data streams scheduled to be supplied by failed disk to respective ones of remaining disks

Also Published As

Publication number Publication date
WO2002086653A2 (en) 2002-10-31
JP2004525464A (ja) 2004-08-19
US20020156971A1 (en) 2002-10-24
CN1518697A (zh) 2004-08-04
EP1399820A2 (en) 2004-03-24
AU2002234034A1 (en) 2002-11-05
WO2002086653A3 (en) 2003-08-14

Similar Documents

Publication Publication Date Title
KR20030090735A (ko) 데이터 저장 방법과 장치 및 컴퓨터 프로그램 제품
US7206991B2 (en) Method, apparatus and program for migrating between striped storage and parity striped storage
US7774643B2 (en) Method and apparatus for preventing permanent data loss due to single failure of a fault tolerant array
JP4547357B2 (ja) 記憶データ構造用の冗長性
US8332616B2 (en) Methods and systems for vectored data de-duplication
US5951691A (en) Method and system for detection and reconstruction of corrupted data in a data storage subsystem
US7103811B2 (en) Mechanisms for detecting silent errors in streaming media devices
US8112679B2 (en) Data reliability bit storage qualifier and logical unit metadata
US20180253465A1 (en) Methods and systems for vectored data de-duplication
US7222135B2 (en) Method, system, and program for managing data migration
TW200530812A (en) Method, system, and program for managing data organization
JP2007140962A (ja) ディスクアレイシステム及びセキュリティ方法
US5896493A (en) Raid algorithm using a multimedia functional unit
WO2019226305A1 (en) Parity log with delta bitmap
US20060215456A1 (en) Disk array data protective system and method
US7130973B1 (en) Method and apparatus to restore data redundancy and utilize spare storage spaces
US6931499B2 (en) Method and apparatus for copying data between storage volumes of storage systems
US7937548B2 (en) System and method for improved snapclone performance in a virtualized storage system
EP3794451A1 (en) Parity log with by-pass
US7024585B2 (en) Method, apparatus, and program for data mirroring with striped hotspare
US11055190B1 (en) System and method for facilitating storage system operation with global mapping to provide maintenance without a service interrupt
JP2006252165A (ja) ディスクアレイ装置、及びコンピュータシステム
US20210208969A1 (en) Dropped write error detection
US7680841B2 (en) Determining whether data written to source storage locations according to a write order is copied to corresponding target storage locations in the write order
US20050228842A1 (en) Apparatus for checking data coherence, raid controller and storage system having the same, and method therefor

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application