KR20110088579A - 미러된 디스크에서 복구 제어 - Google Patents

미러된 디스크에서 복구 제어 Download PDF

Info

Publication number
KR20110088579A
KR20110088579A KR1020117014133A KR20117014133A KR20110088579A KR 20110088579 A KR20110088579 A KR 20110088579A KR 1020117014133 A KR1020117014133 A KR 1020117014133A KR 20117014133 A KR20117014133 A KR 20117014133A KR 20110088579 A KR20110088579 A KR 20110088579A
Authority
KR
South Korea
Prior art keywords
repair
pair
disks
copy
disk
Prior art date
Application number
KR1020117014133A
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 KR20110088579A publication Critical patent/KR20110088579A/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/16Error detection or correction of the data by redundancy in hardware
    • 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/2056Error 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 by mirroring
    • G06F11/2082Data synchronisation
    • 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
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD
    • 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/2056Error 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 by mirroring
    • G06F11/2087Error 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 by mirroring with a common controller

Landscapes

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

Abstract

미러된(mirrored) 디스크 스토리지 시스템을 동작시키기 위한 장치 혹은 방법으로서, 장애(failure)가 읽기 안정성(read stability)을 불확실하게(in doubt) 하는 지를 탐지하도록 동작할 수 있는 탐지기 콤포넨트(detector component) ; 미러된 디스크들의 쌍의 수리 특성(repair characteristic)을 결정하기 위한 결정기 콤포넨트(determiner component) ; 상기 쌍의 제 1 디스크의 수리 특성을 상기 쌍의 제 2 디스크의 수리 특성과 비교하기 위한 비교기(comparator) ; 및 바람직한 수리 특성을 갖는 상기 쌍의 제 1 혹은 제 2 디스크 중 하나를 동기 소스 디스크로서 사용되도록 선택하기 위한 선택기(selector)를 포함한다. 상기 바람직한 수리 특성은 상기 쌍의 제 1 혹은 제 2 디스크 중 하나에 대해서는 수리가 필요 없거나 혹은 상기 쌍의 제 1 혹은 제 2 디스크 중 하나에 대해서는 최소한의 수리 시간이 필요한 특성을 포함한다.

Description

미러된 디스크에서 복구 제어 {RECOVERY CONTROL IN MIRRORED DISKS}
본 발명은 미러된 디스크에서 복구 제어를 위한 기술에 관한 것으로서, 좀더 구체적으로는 읽기안정성이 불확실할(의심될) 때 미러된 디스크의 복구 시간을 개선시키기 위한 기술에 관한 것이다.
스토리지 시스템들에서, 독립 스토리지 디바이스들의 어레이는 RAID(독립 디스크들의 리던던시 어레이 : Redundant Array of Independent Diskes - 이전에는 비싸지 않은 디스크들의 리던던시 어레이라고 알려져 있다)로 알려진 기술을 사용하여 단일의 가상 스토리지 디바이스로서 동작하도록 구성될 수 있다. RAID 스토리지 시스템에서 동작하도록 구성된 컴퓨터 시스템은 RAID 스토리지 시스템 상에서 마치 RAID 스토리지 시스템이 단일의 스토리지 디바이스인 것처럼 입력/출력 (I/O 동작들(예를 들어 읽기 및 쓰기 동작들)을 수행할 수 있다. RAID 스토리지 시스템은 독립 스토리지 디바이스들의 어레이와 RAID 제어기를 포함한다. RAID 제어기는 독립 스토리지 디바이스들의 어레이에 관한 가상화된 뷰(virtualized view)를 제공한다 - 이는 독립 스토리지 디바이스들의 어레이가 스토리지 엘리멘트들의 순차적 목록에서(with a sequential list) 단일의 가상 스토리지 디바이스로 나타나게 된다는 것을 의미한다. 스토리지 엘리멘트들은 통상적으로 스토리지 블록들로 알려져 있는데, 이 블록들 내에 저장된 데이터는 데이터 블록들로 알려져 있다. I/O 동작들은 가상 스토리지 디바이스 내 하나 혹은 그 이 상의 스토리지 블록들을 조회할 수 있다. I/O 동작이 가상 스토리지 디바이스 상에서 수행될 때, RAID 제어기는 I/O 동작을 독립 스토리지 디바이스들의 어레이 상에 맵한다(map), 스토리지 디바이스들의 어레이를 가상화 하고 I/O 동작들을 맵하기 위해서 RAID 제어기는 선행기술에서 현재 잘 알려진 표준 RAID 기술을 사용할 수 있다.
비(non) RAID 컴퓨터 시스템에서, 만일 디스크 드라이브에 장애가 있으면 저장된 고객의 데이터는 모두 혹은 일부가 영구적으로 소실될 수 있다(혹은 일부 또는 전부가 복구 가능할 수는 있지만 비용과 노력이 들어갈 수 있다). 비록 백업 및 아카이빙 디바이스들과 절차들이 가장 최근 저장된 데이터를 제외하고 모든 데이터를 보존할 수는 있지만, 데이터를 잃어버릴 수 있는 위험성과 백업 복사본으로부터 데이터를 복구하기 위해 필요한 시간 때문에 받아들이기 어려운 특정의 어플리케이션들도 있다. 따라서, RAID 스토리지 서브시스템들이 개선된 데이터 무결성(improved data integrity) 및 디바이스 결함 허용오차(device fault tolerance)를 제공하기 위해 자주 사용된다.
따라서, 스토리지 서브시스템은 연속 데이터 이용 가능성 및 데이터 무결성을 제공하는 것을 목표로 한다. 연속 데이터 이용 가능성을 높이는 것을 목표로 하는 한가지 솔루션이 RAID-1이며, 이는 또한 미러링(mirroring)으로 잘 알려져 있다. 미러링은 두 개 혹은 그 이상의 데이터 복사본들을 유지하는 것이며, 하나의 복사본이 이용 가능하지 않으면, 다른 혹은 또 다른 복사본이 I/O 동작이 연속으로 일어날 수 있도록 사용되는데, 그렇게 함으로써 오직 단일의 복사본만 존재하고 그 것이 이용 가능하지 않을 경우보다 데이터의 이용 가능성을 개선한다.
미러링을 유지하려면, 각각의 쓰기 I/O 동작은 각각의 복사본에 대하여 수행되어야 한다. 모든 쓰기 I/O 동작들이 모든 복사본들에 대하여 완료되기 전에 I/O 동작에 장애(실패)가 발생할 수 있는데, 그렇게 되면 다른 복사본들 상에서 다른 데이터를 갖는 미러가 발생하게 된다. 이러한 상황에서, 스토리지 시스템이 읽기 안정성(이는 중간에 쓰기가 발생하는 일이 없다면 동일 영역에 대한 매(every) 읽기 I/O 동작은 동일 데이터를 리턴(return)해야 한다는 것을 의미하는 것으로 정의된다) 을 유지하는 것이 중요하며, 이는 복사본들이 동일 데이터를 갖는 상태로 복구되어야 한다는 것을 의미한다.
RAID-1 미러링 솔루션들은 시스템 장애(failure) (예를 들어 리세트)이 있은 후에 쓰기 I/O 동작들을 리플레이(replay)하기 위해 사용될 수 있는 진행중 쓰기들(writes in flight)을 기록하는 메타데이터(metadata)를 저장하는 방법들을 통상적으로 갖고 있다. 진행중 쓰기들이 리플레이 된 후 읽기 안정성은 회복된다.
더 심각한 시스템 장애들은 진행중 쓰기들을 리플레이할 모든 능력을 상실했음을 의미할 수 있다. 이러한 상황에서는, 미러 복사본의 어떤 부분이 동일한 지를 결정할 방법이 없다. 이러한 상황에서도 하나의 미러 복사본을 소스로서 선택하여 그 소스의 내용 모두를 다른 타겟 복사본들(이를 통상 동기화 복사본들이라 한다)에 복사해둠으로써 읽기 안정성은 복구될 수 있다. 미러 읽기 안정성이 의심스러운 이러한 상황은 하나의 복사본이 정확한 데이터를 가지고 있고 다른 복사본은 동일한 데이터를 가지고 있지 않는 경우(어떤 이유로 그 데이터의 쓰기가 이루어질 수 없었기 때문에)와는 다르며, 동기화를 사용하여 이러한 상황으로부터 복구하는 것은 종래 기술에서 알려진 시스템들에 의해서 제공된다.
소스 복사본이 빨리 이용 가능하면, 이 복사본은 읽을 수 있는 정확한 데이터를 갖고 있기 때문에 데이터 이용 가능성은 복구될 수 있다. 소스와 모든 타겟 복사본들이 이용 가능하고 동기화 프로세스가 성공적으로 완료된 후, 미러 복사본들 전체에 걸쳐 읽기 안정성은 복구되고, 그리고 나서 오든 미러 복사본들은 이용 가능하게 되며 미러 리던던시(mirror redundancy)도 회복된다.
그러나, 소스 복사본이 이용 가능하게 될 때까지 미러는 이용 가능하지 않고 미러 리던던시를 회복하기 위한 동기화 프로세스는 시작될 수 없다. 이는 기존의 솔루션들이 미러 이용 가능성과 미러 리던던시를 회복하기 위해 상당한 시간을 소요할 수 있음을 의미한다.
따라서, 미러된 디스크들 내의 복구 제어를 위한 개선된 기술적 수단을 갖는 것이 바람직하며, 특히 읽기 안정성이 의심스러울 때 미러된 디스크들의 복구시간을 개선하기 위한 기술을 갖는 것이 바람직하다.
RAID-1 미러링 솔루션들은 시스템 장애(failure) (예를 들어 리세트)가 있은 후에 쓰기 I/O 동작들을 리플레이(replay)하기 위해 사용될 수 있는 진행중 쓰기들(writes in flight)을 기록하는 메타데이터(metadata)를 저장하는 방법들을 통상적으로 갖고 있다. 진행중 쓰기들이 리플레이 된 후 읽기 안정성은 회복된다.
더 심각한 시스템 장애들은 진행중 쓰기들을 리플레이할 모든 능력을 상실했음을 의미할 수 있다. 이러한 상황에서는, 미러 복사본의 어떤 부분이 동일한 지를 결정할 방법이 없다. 이러한 상황에서도 하나의 미러 복사본을 소스로서 선택하여 그 소스의 내용 모두를 다른 타겟 복사본들(이를 통상 동기화 복사본들이라 한다)에 복사해둠으로써 읽기 안정성은 복구될 수 있다. 미러 읽기 안정성이 의심스러운 이러한 상황은 하나의 복사본이 정확한 데이터를 가지고 있고 다른 복사본은 동일한 데이터를 가지고 있지 않는 경우(어떤 이유로 그 데이터의 쓰기가 이루어질 수 없었기 때문에)와는 다르며, 동기화를 사용하여 이러한 상황으로부터 복구하는 것은 종래 기술에서 알려진 시스템들에 의해서 제공된다.
소스 복사본이 빨리 이용 가능하면, 이 복사본은 읽을 수 있는 정확한 데이터를 가지고 있기 때문에 데이터 이용 가능성은 복구될 수 있다. 소스와 모든 타겟 복사본들이 이용 가능하고 동기화 프로세스가 성공적으로 완료된 후, 미러 복사본들 전체에 걸쳐 읽기 안정성은 복구되고, 그리고 나서 오든 미러 복사본들은 이용 가능하게 되며 미러 리던던시(mirror redundancy)도 회복된다.
그러나, 소스 복사본이 이용 가능하게 될 때까지 미러는 이용 가능하지 않고 미러 리던던시를 회복하기 위한 동기화 프로세스는 시작될 수 없다. 이는 기존의 솔루션들이 미러 이용 가능성과 미러 리던던시를 회복하기 위해 상당한 시간을 소요할 수 있음을 의미한다.
따라서, 미러된 디스크들 내의 복구 제어를 위한 개선된 기술적 수단을 갖는 것이 바람직하며, 특히 읽기 안정성이 의심스러울 때 미러된 디스크들의 복구시간을 개선하기 위한 기술을 갖는 것이 바람직하다.
따라서 본 발명의 제 1 목적은 미러된(mirrored) 디스크 스토리지 시스템을 동작시키는 장치를 제공하는 것이며, 상기 장치는 : 장애(failure)가 읽기 안정성(read stability)을 불확실하게(in doubt) 하는 지를 탐지하도록 동작할 수 있는 탐지기 콤포넨트(detector component) ; 미러된 디스크들의 쌍의 수리 특성(repair characteristic)을 결정하기 위한 결정기 콤포넨트(determiner component) ; 상기 쌍의 제 1 디스크의 수리 특성을 상기 쌍의 제 2 디스크의 수리 특성과 비교하기 위한 비교기(comparator) ; 및 바람직한 수리 특성을 갖는 상기 쌍의 제 1 혹은 제 2 디스크 중 하나를 동기 소스 디스크로서 사용되도록 선택하기 위한 선택기(selector)를 포함한다.
상기 바람직한 수리 특성은 상기 쌍의 제 1 혹은 제 2 디스크 중 하나에 대해서는 수리가 필요 없거나 혹은 상기 쌍의 제 1 혹은 제 2 디스크 중 하나에 대해서는 최소한의 수리 시간이 필요한 특성을 포함한다. 상기 바람직한 수리 특성은 상기 쌍의 제 1 혹은 제 2 디스크 중 하나에 대해서는 수리가 필요 없고 상기 쌍의 제 1 혹은 제 2 디스크 중 하나는 공간 효율적인 복사본인 특성을 포함한다.
상기 장치는 상기 선택기에 의해서 선택되지 않은 상기 쌍의 제 1 혹은 제 2 디스크 중 하나에 대한 수리 조치(repair action)을 취소하기 위한 취소 콤포넨트(cancelling component)를 더 포함한다..
상기 장치는 바람직한 수리 특성을 갖는 상기 쌍의 제 1 혹은 제 2 디스크 중 하나를 동기 소스 디스크로 사용하여 상기 쌍의 제 1 및 제 2 디스크를 동기 시키기 위한 동기 콤포넨트를 더 포함한다.
본 발명의 제 2의 목적은 미러된(mirrored) 디스크 스토리지 시스템을 작동시키는 방법을 제공하는 것이며, 상기 방법은 : 장애가 읽기 안정성(read stability)을 불확실하게(in doubt) 하였는지를 탐지하는 단계 ; 미러된 디스크들의 적어도 한 쌍의 수리 특성(repair characteristic)을 결정하는 단계 ; 상기 쌍의 제 1 디스크의 수리 특성을 상기 쌍의 제 2 디스크의 수리 특성과 비교하는 단계 ; 및 바람직한 수리 특성을 갖는 상기 쌍의 제 1 혹은 제 2 디스크 중 하나를 동기 소스 디스크로서 사용되도록 선택하는 단계를 포함한다.
상기 방법의 바람직한 특징들은 상기 본 발명의 제 1 목적에서의 바람직한 특징들에 따른 장치의 콤포넨트들의 동작들에 대응하는 단계들을 제공한다.
본 발명의 제 3의 목적은 컴퓨터 프로그램 코드를 포함하는 컴퓨터 프로그램을 제공하는 것이며, 상기 코드는, 컴퓨터 시스템에 로드되어 컴퓨터 시스템 상에서 실행되었을 때, 상기 컴퓨터 시스템이 본 발명의 제 2의 목적에 따른 방법의 모든 단계들을 수행하도록 한다.
본 발명의 바람직한 실시 예들은, 가장 넓은 측면에서, 미러된 디스크들에서의 복구 제어에 대한 기술, 특히 읽기 안정성이 불확실할 때 미러된 디스크들의 복구 시간을 개선하는 기술을 포함한다.
본 발명의 바람직한 실시 예들은, 가장 넓은 측면에서, 미러된 디스크들에서의 복구 제어에 대한 기술, 특히 읽기 안정성이 불확실할 때 미러된 디스크들의 복구 시간을 개선하는 기술을 포함한다.
지금부터 본 발명의 바람직한 실시 예가 첨부된 도면들을 참조하여, 오직 예시로서, 설명될 것이다.
도 1은 본 발명의 바람직한 실시 예가 구현될 수 있는 초기 상태에서의 장치 혹은 콤포넨트들의 구성을 보여주는 개념도이다.
도 2는 본 발명의 바람직한 실시 예가 구현될 수 있는 에러 상태에서의 장치 혹은 콤포넨트들의 구성을 보여주는 개념도이다.
도 3은 본 발명의 일반적인 실시 예에 따라 미러된 디스크들에서 복구 제어를 수행하기 위해 장치 혹은 콤포넨트들의 구성을 동작시키는 하나의 방법 혹은 하나의 논리 구성을 보여주는 흐름도이다.
도 4는 본 발명의 다른 실시 예에 따라 미러된 디스크들에서 복구 제어를 위한 더 개선된 기술적수단을 달성하기 위해 장치 혹은 콤포넨트들의 구성을 동작시키는 하나의 방법 혹은 하나의 논리 구성을 보여주는 흐름도이다.
도 5는 본 발명의 바람직한 실시 예에 따른 방법의 단계들을 수행하도록 구성된 장치 혹은 콤포넨트들의 구성을 보여주는 간략화된 개념도이다.
본 발명의 바람직한 실시 예는 일반적으로 미러된 디스크들에서 복구 제어를 위한 기술적 수단에 관한 것이며, 특히 읽기 안정성이 불확실할 때 미러된 디스크들의 복구 시간을 개선하기 위한 기술에 관한 것이다.
본 발명은 시스템 장애 발생시 데이터 접근을 복구하기 위해 미러 복사본들이 자신의 수리와 복구 동작을 필요로 하는 구성들로 구현될 수 있다. 이는 수리되지 않는다면(전체적으로 재구성되지 않는다면) 데이터 무결성 문제들을 야기하는 디스크 상에서 메타데이터의 오염을 수리하는 것과 통상적으로 연관된다. 이러한 수리 프로세스는 수리가 필요한 복사본의 이용 가능성이 회복되기 전에 시간을 요한다.
● 미러 복사본은 수리(예를들어 FSCK 재구성)를 필요로 하는 파일 시스템이다 ;
● 미러 복사본은 수리를 필요로 하는 공간 효율적인 복사본이다 ; 또는
● 미러 복사본은 IBM®SAN Volume Controller(SVC) Vdisk이고, SVC 클러스터는 Tier 3 복구를 필요로 한다.(IBM은 미국, 기타 국가에서 IBM Corp사의 등록상표이다)
본 발명의 바람직한 실시 예들은 가장 좋은 복구 시간을 갖는 미러를 선택하도록 동작하는 장치, 방법 및 컴퓨터 프로그램을 제공하는데, 그렇게 하여서 미러 이용 가능성 및 리던던시를 더 적은 시간(즉, 개선된 복구 시간) 혹은 다른 바람직한 특성으로 복구할 수 있게 한다.
도 1을 살펴보면, 도 1은 본 발명의 바람직한 실시 예가 구현될 수 있는 초기 상태에서의 장치 혹은 콤포넨트들의 구성을 보여주는 개념도이다.
도 1에서, 스토리지 시스템 (100)은 호스트(102), RAID 제어기(104)를 포함하며, RAID 제어기 (104)는 RAID 스토리지 디바이스들(106, 108)에 대하여 동작하도록 결합되어 있고, RAID 스토리지 디바이스들(106, 108)은 데이터 A와 데이터 B가 미러 이미지 형식으로(in mirror image form) 저장되는 스토리지 블록들 (110)을 포함한다.
도 2를 살펴보면, 도 2는 본 발명의 바람직한 실시 예가 구현될 수 있는 에러 상태에서의 장치 혹은 콤포넨트들의 구성을 보여주는 간략한 개념도이다.
도 2에서, 스토리지 시스템 (100)은 호스트(102), RAID 제어기(104)를 포함한다. RAID 제어기 (104)는 RAID 스토리지 디바이스들(106, 108)에 대하여 동작하도록 결합되어 있고, RAID 스토리지 디바이스들(106, 108)은 데이터 A와 데이터 B가 미러 이미지 형식으로(in mirror image form) 저장되는 스토리지 블록들 (110)을 포함한다. 그러나 RAID 제어기 (104) 상에 “X”로 표시된 제어기 장애(failure)는 진행중 쓰기들(in-flight writes)이 인터럽트되어 제어기 메타데이터는 소실되었고, 그 결과 RAID 스토리지 디바이스들(106, 108)은 더 이상 정확하게 데이터를 미러링(mirroring)하고 있지 않으며, 따라서 RAID 스토리지 디바이스들 (106, 108)이 미러된 쌍으로서 재설정되더라도 읽기 안정성이 시스템 상에 더 이상 존재할 수 없게 됨을 의미한다.
예를 들어, 데이터 C가 RAID 스토리지 디바이스 (106) 상에 정확하게 기록된 결과로서, 혹은 정확하게 미러된 결과로서, RAID 스토리지 디바이스 (106) 상에 나타날 수 있더라도 그 다음에(subsequently) RAID 스토리지 디바이스 (108)로부터 삭제(delete)되고, 매칭하는 삭제(the matching delete)가 RAID 스토리지 디바이스 (106) 상에는 이루어지지 않으면, 읽기 명령에 응답하여 어떤 이미지가 정확한 데이터를 제공할 것인 지 재설정 상에서(on reestablishment) 명확하지 않게 된다.
이 분야의 통상의 지식을 가진 자에게 명확하므로, 도면들에서 도시한 디바이스들, 시스템들 혹은 모듈들의 구성 및 배치는 오직 예시의 목적으로 제공된 것이며, 많은 다른 구성들도 가능한데, 예를 들어, 데이터 처리 혹은 통신 네트워크의 중간 및 통신 노드들에 디바이스들을 배치시킬 수도 있다. 디바이스들, 시스템들 혹은 모듈들의 그러한 다른 구성들은 이 분야에서 통상의 지식을 가진 자들에게 잘 알려져 있으므로, 여기서는 더 이상 설명할 필요가 없다. 또한, 도면들에서 도시한 시스템은 아주 간략화한 것으로서 본 발명의 실시 예의 스토리지 시스템을 디스플레이 하기 위한 것이며, 실제 시스템들(real-life systems)은 대개 훨씬 더 복잡하다는 것도 이 분야의 통상의 지식을 가진 자들에게는 명확하다. 본 발명의 실시 예들의 장점들이 여기서 설명하는 간략화된 구성에 포함되어 있는 것과 같이 더 복잡한 구성들에도 포함될 것이라는 것을 이 분야의 통상의 지식을 가진 자들은 명확하게 이해할 수 있다.
불확실한 읽기 안정성(read stability in doubt)을 갖는 미러들을 위한 동작의 일반적인 방법은 다음과 같은 슈도-코드(pseudo-code)로 표시된다.
set repair action / ranking to a max value (수리 조치/등급을 최대 값에 세트한다)
for each mirror copy (각각의 복사본을 위하여)
{
if mirror copy requires repair action (만일 미러 복사본이 수리 조치를 필요로 한다면)
{
if this copy’s repair action time/ranking is lower than recorded time/ranking
(만일 이 복사본의 수리 조치 시간/등급이 기록된 시간/등급 보다 더 낮다면)
{
record mirror copy as source copy
(미러 복사본을 소스 복사본으로 기록한다)
record this copy’s repair action time/ranking as the recorded time/ranking
(이 복사본의 수리 조치 시간/등급을 기록된 시간/등급으로 기록한다)
}
}
else (그렇지 않으면)
{
record mirror copy as source copy
(미러 복사본을 소스 복사본으로 기록한다)
exit for each mirror copy loop(i.e. always use first copy that does not require repair as source copy)
(각각의 미러 복사본에 대해 루프를 종료한다 (즉, 항상 수리를 필요로 하지 않는 제 1 복사본을 소스 복사본으로 사용한다))
}
}
perform synchronization from source copy to all target copies(by reading data from source copy and writing to target copies)
(소스 복사본으로부터 모든 타겟 복사본들로 동기화를 수행한다(소스 복사본으로부터 데이터를 읽어서 타겟 복사본들에 쓰기를 함으로써))
도 3은 본 발명의 일반적인 실시 예에 따라 미러된 디스크들에서 복구 제어를 위해 개선된 기술적 수단을 달성하기 위한 장치 혹은 콤포넨트들의 구성을 동작시키는 하나의 방법 혹은 하나의 논리 구성을 아주 간단하게 표시한 대응 흐름도이다.
도 3에서, 출발 단계 (300) 다음에는, 수리 시간 혹은 등급(rank)를 위한 기록된 값이 시스템의 파라미터들에 따라 결정된 최대 값으로 세트 되는데, 이는, 이 분야의 통상의 지식을 가진 자들에게 명확하듯이, 변경될 수 있다. 단계 (304)에서, 제 1 복사본이 처리된다. 테스트 단계 (306)에서, 상기 복사본이 어떤 수리 조치가 필요한 지가 결정된다. 만일 결정 결과가 “아니오(negative)” 라면, 상기 제 1 복사본은 단계 (318) 및 그 이후의 단계들에서의 처리를 위해 소스 복사본으로 세트된다. 만일 테스트 단계 (306)에서의 결정 결과가 “예(positive)” 라면, 상기 복사본의 수리 시간이 테스트 단계 (308)에서 상기 기록된 값과 비교된다. 테스트 단계 (308)에서 상기 결정의 결과가 “예(positive)” 라면, 상기 복사본은 소스 복사본으로 세트되고 상기 기록된 값은 이 복사본의 수리 시간 혹은 등급 값에 세트되며, 제어는 직접 테스트 단계 (312)로 패스된다. 테스트 단계 (312)에서, 모든 복사본들이 처리가 완료되었는지가 결정되고, 만일 결정 결과가 “아니오”라면, 다음 복사본이 단계 (314)에서 처리되며, 그 후 상기 프로세스는 테스트 단계 (306)으로부터 반복된다.
만일 단계 (312)에서의 결정 결과가 “예”라면, 제어는 단계 (318)로 패스된다. 단계 (318)에서, 제 1 복사본이 처리되고, 그 후 제어는 테스트 단계 (320)에 패스된다. 테스트 단계 (320)은 상기 복사본이 수리 조치를 필요로 하는지 및 선택된 소스가 아닌지를 결정한다. 만일 상기 결정 결과가 “예”라면, 상기 복사본을 위한 복사본 수리 조치는 단계 (322)에서 취소되고, 제어는 테스트 단계 (324)로 패스된다. 테스트 단계 (324)는 모든 복사본들이 처리가 완료되었는 지를 결정한다.
만일 상기 결정 결과가 “아니오”라면, 다음 복사본이 단계 (326)에서 처리되고, 제어는 테스트 단계 (320)으로 패스된다. 만일 테스트 단계 (324)에서의 상기 결정 결과가 “예”라면, 모든 복사본들의 처리와, 소스 복사본의 선택은 완료되었고, 제어는 테스트 단계 (328)로 패스된다. 단계 (328)에서, 모든 예정된 수리 조치들이 완료되어 상기 선택된 소스 복사본과 상기 타겟 복사본 혹은 복사본들이 온라인에 복귀하면 상기 선택된 복사본을 사용하여 미러 동기화가 수행된다. 단계 (330)에서 상기 프로세스는 종료된다.
본 발명의 실시 예들 각각의 핵심 아이디어는 복구 시간 관점에서(혹은, 다른 바람직한 특성의 관점에서) 미러 동기화를 위한 소스 복사본으로서 사용될 복사본으로 어떤 복사본이 가장 좋은 지를 결정하기 위해서 미러 복사본 수리 특성에 관한 지식을 사용하는 것이다. 본 발명의 기본 실시 예에 따라 각각의 복사본을 위해 필요한 정보는 :
● 복사본이 다시 이용 가능하게 되기 전에 수리 조치가 필요한가 ?
● 수리 조치의 예상된 수리 시간은 얼마나 걸리는가? 이는 초로(in seconds) 표시되는 명확한 시간 값이거나 : 혹은 등급이 매겨질 수 있는(가장 빠른 수리 시간을 1 등급으로 해서) 복사본 구성 수리 시간들에 관한 지식에 기초한 상대적인 값이 될 수 있다.
가장 작은 수리 시간 혹은 등급을 갖는 미러 복사본을 선택함으로써, 이용 가능성을 회복하기 위한 복구 시간이 소스 복사본 수리 조치의 복구시간까지 최소화될 수 있다(만일 소스 복사본 수리 조치가 필요하지 않다면, 복구 시간은 0이 되는데, 이는 이용 가능성이 즉시 회복됨을 의미한다).
또한, 소스가 아닌 복사본들에 대한 미러 복사본 수리 조치를 취소시키는 메커니즘이 사용될 수 있다. 이 메커니즘은 복사본 스토리지 엔진에게 자신의 데이터는 더 이상 필요하지 않으며(미러 동기화에 의해 데이터가 모두 재기록될 것이므로), 따라서 자신의 수리 조치는 취소될 수 있음을 통지한다. 이는 타겟 복사본(들)을 동기화 하고 미러 리던던시를 회복하기 위한 시간이 타겟 복사본 수리 조치들에 걸릴 시간만큼 감소되었음을 의미한다.(동기화는 상기 수리 조치들이 완료되고 상기 복사본들이 다시 이용 가능하기 전에는 시작될 수 없기 때문에)
본 발명의 실시 예들은 다음을 포함한다 :
● 공간 효율적이고 완전 할당되는 복사본들(Space Efficient and Fully Allocated copies)을 갖는 하이브리드 미러들에 대해서는, 공간 효율성을 확보하기 위해 소스 복사본을 선택한다 - 만일 공간 효율적인 시스템이, 소스가 공간 효율적인 복사본이 완전 할당 되도록 리드함에 따라 완전 할당된 복사본을 사용함으로써, 영 탐지(zero detection)를 지원하지 않는다면 이는 중요하다. 공간 효율적이고 완전 할당되는 복사본들의 개념들은 종래 기술에서 잘 알려진 것이고 여기서 더 이상 설명할 필요는 없다.
● 미러가 양호할 때는 복사본 수리 메커니즘에 대한 대안으로서 미러 동기화를 사용한다 - 이는 다른 복사본으로부터 동기화가 복사본 수리보다 더 빠를 때 시스템 리던던시 복구 시간을 개선하는 것을 돕는다.
선행 기술에 대해서 본 발명의 바람직한 여러 실시 예들이 갖는 장점들은 다음과 같다 :
● 미러 읽기 안정성이 불확실하고 완전 동기화가 필요하며 미러 복사본들이 서로 다른 수리 시간들을 갖고 있을 때 - 미러 이용 가능성에 대한 복구 시간이 감소된다.
● 미러 읽기 안정성이 불확실하고 완전 동기화가 필요하며 미러 복사본들이 서로 다른 수리 시간들을 갖고 있을 때 - 미러 리던던시에 대한 복구 시간이 감소된다.
● 미러 읽기 안정성이 불확실하고 완전 동기화가 필요할 때 - 영 탐지를 구현하지 않는 공간 효율적인 구현들을 위해 공간 효율성을 유지하는 것이 가능하다. 그리고
● 미러 복사본들이 모두 동일하고 동기화가 필요한 복사본 수리 조치보다 더 빨리 일어날 때 - 미러 리던던시에 대한 복구 시간이 감소된다.
구현될 수 있는 다른 실시 예에 대해서는, 다음 정보가 또한 필요하다 :
● 복사본이 공간 효율적인가?
가장 바람직한 실시 예에서, 각각의 미러 복사본은 다음 질문들 각각에 관한 정보를 기록한다 :
● 복사본은 공간 효율적인가 (그리고 완전 할당되지 않았는가)?
● 공간 효율적인 복사본은 수리를 필요로 하는가?
그 다음에 본 발명의 가장 바람직한 구현은 서로 다른 복사본 구성들의 수리시간을 다음과 같이 등급을 매긴다 :
0 == 수리 조치가 필요 없는 완전 할당된 복사본들 혹은 공간 효율적인 복사본들
1 == 수리 조치를 필요로 하는 공간 효율적인 복사본들
등급 0이 등급 1에 대해 선택된다.
더 개량된 실시 예에서, 기본 시스템의 수정과 전술한 방법은 상기 공간 효율적인 구현이 영 탐지를 지원하지 않을 경우 하이브리드 미러들을 위한 공간 효율성을 유지하기 위해서 사용될 수 있다.
미러 읽기 안정성이 불확실한 경우의 소스 복사본 선택 방법에서 이러한 더 개량된 실시 예는 다음과 같이 표시될 수 있다.
for each mirror copy (각각의 미러 복사본을 위해)
{
if mirror copy is space efficient(만일 미러 복사본이 공간 효율적이라면)
{
if mirror copy requires repair action
(만일 미러 복사본이 수리 조치를 필요로 한다면)
{
if source copy is already selected
(만일 소스 복사본이 이미 선택되었다면)
{
do nothing(i.e. do not select space efficient copy that requires repair over a non space efficient copy that is fully allocated)
(아무 일도 하지 않는다(즉, 완전 할당된 비 공간 효율적 사본에 대해 수리를 필요로 하는 공간 효율적 복사본을 선택하는 일을 하지 않는다))
}
else(그렇지 않으면)
{
record mirror copy as source copy
(미러 복사본을 소스 복사본으로 기록한다)
}
}
else(그렇지 않으면)
{
record mirror copy as source copy
(미러 복사본을 소스 복사본으로 기록한다)
exit for each mirror copy loop(i.e. always use space efficient copy that does not require repair as source copy)
(각각의 미러 복사본에 대해 루프를 종료한다 (즉, 수리를 필요로 하지 않는 공간 효율적인 복사본을 소스 복사본으로 항상 사용한다))
}
}
else(그렇지 않으면)
{
record mirror copy as source copy
(미러 복사본을 소스 복사본으로 기록한다)
}
}
for each mirror copy (각각의 미러 복사본을 위해)
{
if mirror copy is space efficient AND requires repair action AND it is not the selected source copy
(만일 미러 복사본이 공간 효율적이고 수리 조치를 필요로하고 선택된 소스 복사본이 아니라면)
{
cancel /abort the space efficient copy repair action
(상기 공간 효율적 복사본 수리 조치를 취소/폐기 한다)
}
}
perform synchronization from source copy to all target copies(by reading data from source copy and writing to target copies).
(소스 복사본으로부터 모든 타겟 복사본들로 동기화를 수행한다(소스 복사본으로부터 데이터를 읽어서 타겟 복사본들에 쓰기를 함으로써))
도 4는 본 발명의 다른 실시 예에 따라 미러된 디스크들에서 복구 제어를 위한 더 개선된 기술적 수단을 달성하기 위해 장치 혹은 콤포넨트들의 구성을 동작시키는 또 다른 방법 혹은 논리 구성을 보여주는 대응 흐름도이다.
도 4에서, 출발 단계(400) 다음에는, 단계(402)에서 제 1 복사본이 처리된다. 테스트 단계 (404)에서, 상기 복사본은 공간-효율적인 복사본인지를 결정하기 위해 테스트 된다. 만일 상기 결정의 결과가 “아니오”라면, 상기 복사본은 소스 복사본으로 세트되고 제어는 테스트 단계(408)로 패스된다. 만일 상기 결정의 결과가 “예”라면, 제어는 테스트 단계(412)로 패스된다. 테스트 단계 (412)는 이 복사본이 수리 조치를 필요로 하는 지를 결정하며, 만일 상기 결정의 결과가 “아니오”라면, 처리 단계 (418)로 진행하기 전에, 이 복사본을 단계 (416)에서 소스 복사본으로 세트한다. 만일 상기 결정의 결과가 “예”라면, 제어는 테스트 단계(414)로 패스된다. 테스트 단계 (414)는 소스 복사본이 이미 선택되었는지를 결정한다. 만일 소스 복사본이 아직 선택되지 않았다면, 제어는 단계 (406)으로 패스된다. 그러면 단계 (406)에서 이 복사본은 소스 복사본으로 세트되고 제어는 테스트 단계 (408)로 패스된다. 테스트 단계 (408)은 모든 복사본들의 처리가 완료되었는지를 테스트하고, 만일 결정 결과가 “예”라면, 제어는 처리 단계 (418)에 패스된다. 만일 테스트 단계 (408)에서의 결정 결과가 “아니오”라면, 제어는 단계 (410)으로 패스되고, 여기서 다음 복사본이 처리되고 제어는 테스트 단계 (404)로 패스되어 다음 반복을 시작한다.
전술한 테스트 단계 (408)에 의해 결정된 바와 같이, 모든 반복이 완료되면, 제어는 처리 단계 (418)로 패스된다. 단계 (418)에서, 제 1 복사본이 처리되고 제어는 테스트 단계 (420)으로 패스된다. 테스트 단계 (420)은 상기 복사본이 공간 효율적인지, 수리 조치를 필요로 하는 지 그리고 선택된 소스가 아닌지를 결정한다. 만일 결정 결과가 “예”라면, 상기 복사본에 대한 복사본 수리 조치는 단계 (422)에서 취소되고 제어는 테스트 단계 (424)로 패스된다. 테스트 단계 (424)는 모든 복사본들의 처리가 완료되었는지를 결정한다. 만일 결정 결과가 “아니오”라면, 다음 복사본이 단계 (426)에서 처리되고 제어는 다음 복사본 처리를 위해 테스트 단계 (420)으로 복귀한다. 만일 단계 (424)에서의 결정 결과가 “예”라면, 모든 복사본들의 처리는 완료되었고, 따라서 소스 복사본이 선택되었으며 제어는 단계 (428)로 패스된다. 단계 (428)에서, 상기 선택된 소스 복사본과 타겟 복사본 혹은 복사본들이 모든 예정된 수리 조치들을 완료한 하에 온라인으로 복귀했을 때 상기 선택된 소스 복사본을 사용하여 미러 동기화가 수행된다. 단계 (430)에서, 상기 프로세스는 종료된다.
이 분야의 통상의 지식을 가진 자에게는 명확한 바와 같이, 본 발명은 도 5의 간략한 개념도로 도시한 바와 같은 하드웨어 구현으로 제공될 수 있다. 도 5는 미러된 디스크 스토리지 시스템 (502)를 동작시키기 위해 구성된 장치 (500)을 도시하는데, 이 장치는 장애가 읽기 안정성을 불확실한 상태로 만들었는지를 탐지하도록 동작하는 탐지기 콤포넨트 (504)를 포함한다. 결정기 콤포넨트 (506)은 미러된 디스크들의 적어도 한 쌍의 수리 특성(예를 들어, 가장 간단한 경우에, 각각의 디스크에 대한 수리 시간)을 결정하도록 동작한다. 비교기 (508)은 디스크들 쌍의 제 1 디스크의 수리 특성을 디스크 쌍의 제 2 디스크의 수리 특성과 비교하도록 동작한다. 선택기 (510)은 바람직한 수리 특성(예를 들어, 가장 짧은 복구 시간)을 갖는 디스크 쌍의 제 1 혹은 제 2 디스크 중 하나를 선택하여 그것의 수리가 완료된 후 미러 동기화를 위한 소스 디스크로서 기능하도록 동작한다. 취소기 (512)는 소스 복사본으로 선택되지 않은 복사본 혹은 복사본들에 대한 모든 수리 조치들을 취소하도록 동작한다. 동기화기 (514) 소스 복사본으로 선택된 복사본이 모든 필요한 수리 조치들을 완료한 후 는 미러 동기화를 수행한다.
본 발명의 바람직한 실시 예들의 방법의 일부 혹은 전부가 하나의 논리 장치 혹은 다수의 논리 장치로 적절히 그리고 유용하게 구현될 수 있음은 이 분야의 통상의 지식을 가잔 자에게는 명백하다. 상기 하나의 논리 장치 혹은 다수의 논리 장치는, 상기 방법의 단계들을 수행하도록 구성된 논리 엘리멘트들을 포함하며, 그러한 논리 엔리멘트들은 하드웨어 콤포넨트들, 펌웨어 콤포넨트들 혹은 그 들의 조합을 포함할 수 있다.
본 발명의 바람직한 실시 예들에 따른 논리 어레인지먼트의 일부 혹은 전부가 하나의 논리 장치로 적절히 그리고 유용하게 구현될 수 있음은 이 분야의 통상의 지식을 가잔 자에게는 명백하다. 상기 하나의 논리 장치는, 상기 방법의 단계들을 수행하는 논리 엘리멘트들을 포함하며, 그러한 논리 엔리멘트들은, 예를 들어 프로그램 가능한 논리 어레이 혹은 어플리케이션-특정 집적회로(application-specific integrated circuit)의 논리 게이트들과 같은 콤포넨트들을 포함할 수 있다. 그러한 논리 어레인지먼트는 또한, 예를 들어 가상 하드웨어 디스크립터 언어(virtual hardware descriptor language)를 사용하여, 그러한 어레이 혹은 회로 내에 일시적으로 혹은 영구적으로 논리 구조들을 설정하기 위한 인에이블링 엘리멘트들로 구현될 수 있으며, 그러한 논리 구조들은 고정된 혹은 전송가능한 캐리어 매체를 사용하여 저장되고 전송될 수 있다.
전술한 방법과 어레인지먼트(arrangement)는 또한 하나 혹은 그 이상의 프로세서들 상에서 실행되는 소프트웨어(도면들에서는 도시되지 않음)에 의해서 전부 혹은 일부가 적절하게 수행될 수 있음은 명백하다. 상기 소프트웨어는 자기 혹은 광 디스크 혹은 이와 유사한 것과 같은 모든 적절한 데이터-캐리어(이 또한 도면들에 도시되지 않음) 상에서 수행되는 하나 혹은 그 이상의 컴퓨터 프로그램 엘리멘트들의 형태로 제공될 수 있다. 데이터 전송을 위한 채널들은 마찬가지로 유선 혹은 무선 신호 운반 매체와 같은 신호-운반 매체뿐만 아니라 모든 종류의 저장 매체를 포함할 수 있다.
방법은 원하는 결과에 이르게 하는 단계들의 일관성 있는 시퀀스가 되도록 일반적으로 고안되었다. 이들 단계들은 물리적 양들(quantities)의 물리적 조작을 필요로 한다. 보통, 반드시 그런 것은 아니지만, 이들 물리적 양들은 전기적 혹은 자기적 신호들의 형태를 가질 수 있으며, 이들은 저장되고, 전송되고, 조합되고, 비교되고, 그리고 달리 조작될 수 있다. 이들 신호들은 대개 편리함 때문에, 보통 사용의 이유들 때문에, 비트들, 값들, 파라미터들, 아이템들, 엘리멘트들, 개체들, 심볼들, 캐릭터들, 텀들, 수들 혹은 이와 유사한 것들을 의미한다. 그러나, 이들 모든 용어들 및 유사한 용어들은 적절한 물리적 양들과 연관되고 단지 이들 양들에대하여 편리하게 부르기 위한 수준에서 사용되는 것임을 알아야한다.
본 발명은 또한 컴퓨터 시스템에 사용되는 컴퓨터 프로그램 제품으로 적절하게 구현될 수 있다. 그러한 구현은 일련의 컴퓨터 읽기가능 명령들을 포함할 수 있고, 그러한 명령들은, 컴퓨터 읽기 가능 매체, 예를 들어 디스켓, CD-ROM, ROM, 혹은 하드 디스크와 같은 유형의 매체에 고정되거나, 혹은 광 혹은 아날로그 통신 라인들(이들에 한정되는 것은 아님)을 포함하는 유형의 매체를 거쳐서, 혹은 무선 기술을 사용하여 무형으로, 모뎀 혹은 기타 인터페이스 디바이스를 통해 컴퓨터 시스템에 전송될 수 있다. 상기 무선 기술에는 마이크로파, 적외선, 혹은 기타 전송 기술들이 포함될 수 있고, 이에 한정되는 것은 아니다. 상기 일련의 컴퓨터 읽기 가능 명령들은 전술한 기능의 전부 혹은 일부를 구현한다.
이 분야의 통상의 지식을 가진 자는 그러한 컴퓨터 읽기 가능 명령들이 다수의 컴퓨터 아키텍쳐들 혹은 운영체제들에 사용하기 위해 다수의 프로그래밍 언어로 작성될 수 있음을 이해한다. 또한 그러한 명령들은, 현재 혹은 미래의, 모든 메모리 기술을 사용하여 저장되거나, 혹은, 현재 혹은 미래의, 모든 통신 기술을 사용하여 전송될 수 있다. 상기 메모리 기술에는 반도체, 자기, 혹은 광을 포함하지만, 이에 한정되지 않으며, 상기 통신 기술은 광, 적외선 혹은 마이크로파를 포함하지만, 이에 한정되지는 않는다. 그러한 컴퓨터 프로그램 제품은 휴대용 매체로, 컴퓨터 시스템에 프리로드된 상태로, 혹은 네트워크을 통해서 서버 혹은 전자 불리틴 보드로부터 배포될 수 있다. 상기 휴대용 매체는, 인쇄된 혹은 전자 문서, 예를 들어 쉬링크랩(shrink-wrapped) 소프트웨어를 포함할 수 있으며, 상기 프리로드는 예를 들어 시스템 ROM 상에 혹은 고정된 디스크 상에 만들어질 수 있으며, 상기 네트워크은, 예를 들어 인터넷 혹은 월드 와이드 웹(WWW)를 포함할 수 있다.
다른 실시 예에서, 본 발명의 바람직한 실시 예는 서비스를 제공하는 컴퓨터 구현 방법의 형태로도 실현될 수 있으며, 상기 서비스를 제공하는 방법은, 컴퓨터 하부구조에 제공되어 실행되었을 때, 컴퓨터 시스템이 상기 방법의 모든 단계들을 수행하도록 동작하는, 컴퓨터 프로그램 코드를 제공하는 단계들을 포함한다.
또 다른 실시 예에서, 본 발명의 바람직한 실시 예는 내부에 기능적 데이터를 갖는 데이터 캐리어의 형태로도 실현될 수 있으며, 상기 기능적 데이터는, 컴퓨터 시스템에 로드되어 동작되었을 때, 컴퓨터 시스템이 상기 방법의 모든 단계들을 수행할 수 있도록 하는, 기능적 컴퓨터 데이터 구조들을 포함한다.
본 발명의 범위를 벗어남이 없이 전술한 예시적 실시 예들에 대해서 많은 개선들 및 수정들이 만들어질 수 있음은 이 분야의 통상의 지식을 가진 자들에게 명백하다.

Claims (13)

  1. 미러된(mirrored) 디스크 스토리지 시스템을 동작시키기 위한 장치에 있어서,
    장애가 읽기 안정성(read stability)을 불확실하게(in doubt) 하는 지를 탐지하도록 동작할 수 있는 탐지기 콤포넨트(detector component) ;
    미러된 디스크들의 쌍의 수리 특성(repair characteristic)을 결정하기 위한 결정기 콤포넨트(determiner component) ;
    상기 쌍의 제 1 디스크의 수리 특성을 상기 쌍의 제 2 디스크의 수리 특성과 비교하기 위한 비교기(comparator) ; 및
    바람직한 수리 특성을 갖는 상기 쌍의 제 1 혹은 제 2 디스크 중 하나를 동기 소스 디스크로서 사용되도록 선택하기 위한 선택기(selector)를 포함하는
    장치.
  2. 제 1항에 있어서, 상기 바람직한 수리 특성은 상기 쌍의 제 1 혹은 제 2 디스크 중 하나에 대해서는 수리를 필요로 하지 않는 특성을 포함하는
    장치.
  3. 제 1항 또는 제 2항에 있어서, 상기 바람직한 수리 특성은 상기 쌍의 제 1 혹은 제 2 디스크 중 하나에 대해서는 최소의 수리 시간(least repair time)을 필요로 하는 특성을 포함하는
    장치.
  4. 제 2항에 있어서, 상기 바람직한 수리 특성은 상기 쌍의 제 1 혹은 제 2 디스크 중 하나에 대해서 수리를 필요로 하지 않으며 그리고 상기 쌍의 제 1 혹은 제 2 디스크 중 하나는 공간 효율적인 복사본(space-efficient copy)인 특성을 포함하는
    장치.
  5. 상기 항들 중 어느 하나에 있어서, 상기 장치는 상기 선택기에 의해서 선택되지 않은 상기 쌍의 제 1 혹은 제 2 디스크 중 하나에 대한 수리 조치(repair action)를 취소하기 위한 취소 콤포넨트(cancelling component)를 더 포함하는
    장치.
  6. 상기 항들 중 어느 하나에 있어서, 상기 장치는 바람직한 수리 특성을 갖는 상기 쌍의 제 1 혹은 제 2 디스크 중 하나를 동기 소스 디스크로 사용하여 상기 쌍의 제 1 및 제 2 디스크를 동기 시키기 위한 동기 콤포넨트를 더 포함하는
    장치.
  7. 미러된(mirrored) 디스크 스토리지 시스템을 동작시키는 방법에 있어서, 상기 방법은 :
    장애가 읽기 안정성(read stability)을 불확실하게(in doubt) 하는 지를 탐지하는 단계 ;
    미러된 디스크들의 적어도 한 쌍의 수리 특성(repair characteristic)을 결정하는 단계 ;
    상기 쌍의 제 1 디스크의 수리 특성을 상기 쌍의 제 2 디스크의 수리 특성과 비교하는 단계 ; 및
    바람직한 수리 특성을 갖는 상기 쌍의 제 1 혹은 제 2 디스크 중 하나를 동기 소스 디스크로서 사용되도록 선택하는 단계를 포함하는
    방법.
  8. 제 7항에 있어서, 상기 바람직한 수리 특성은 상기 쌍의 제 1 혹은 제 2 디스크 중 하나에 대해서는 수리를 필요로 하지 않는 특성을 포함하는
    방법.
  9. 제 7항 또는 제 8항에 있어서, 상기 바람직한 수리 특성은 상기 쌍의 제 1 혹은 제 2 디스크 중 하나에 대해서는 최소의 수리 시간(least repair time)을 필요로 하는 특성을 포함하는
    방법.
  10. 제 8항에 있어서, 상기 바람직한 수리 특성은 상기 쌍의 제 1 혹은 제 2 디스크 중 하나에 대해서 수리를 필요로 하지 않으며 그리고 상기 쌍의 제 1 혹은 제 2 디스크 중 하나는 공간 효율적인 복사본(space-efficient copy)인 특성을 포함하는
    방법.
  11. 제 7 내지 10항들 중 어느 하나에 있어서, 상기 방법은 상기 선택하는 단계에 의해서 선택되지 않은 상기 쌍의 제 1 혹은 제 2 디스크 중 하나에 대한 수리 조치(repair action)를 취소하기 위한 취소 단계(cancelling )를 더 포함하는
    방법.
  12. 제 7 내지 11항들 중 어느 하나에 있어서, 상기 방법은 바람직한 수리 특성을 갖는 상기 쌍의 제 1 혹은 제 2 디스크 중 하나를 동기 소스 디스크로 사용하여 상기 쌍의 제 1 및 제 2 디스크를 동기 시키기 위한 동기화 단계를 더 포함하는
    방법.
  13. 컴퓨터 프로그램 코드를 포함하는 컴퓨터 프로그램에 있어서, 상기 코드는, 컴퓨터 시스템에 로드되어 컴퓨터 시스템 상에서 실행되었을 때, 상기 컴퓨터 시스템이 제 7 내지 12항들 중 어느 하나에서의 청구된 방법의 모든 단계들을 수행하도록 하는
    컴퓨터 프로그램.
KR1020117014133A 2008-11-20 2009-10-19 미러된 디스크에서 복구 제어 KR20110088579A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP08169556 2008-11-20
EP08169556.1 2008-11-20

Publications (1)

Publication Number Publication Date
KR20110088579A true KR20110088579A (ko) 2011-08-03

Family

ID=41319572

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020117014133A KR20110088579A (ko) 2008-11-20 2009-10-19 미러된 디스크에서 복구 제어

Country Status (7)

Country Link
US (3) US20110219261A1 (ko)
EP (1) EP2313829A1 (ko)
JP (1) JP5299933B2 (ko)
KR (1) KR20110088579A (ko)
CN (1) CN102216906A (ko)
TW (1) TW201022930A (ko)
WO (1) WO2010057733A1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW201022930A (en) * 2008-11-20 2010-06-16 Ibm Method to improve recovery time of mirrored disks when read stability is in doubt
US8533539B2 (en) * 2010-09-17 2013-09-10 Symantec Corporation Fault handling systems and methods
US9411695B2 (en) 2013-12-04 2016-08-09 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Provisioning memory in a memory system for mirroring
US9547550B1 (en) * 2015-07-07 2017-01-17 Tidal Systems, Inc. System and method for improved data maintenance in a flash drive
US11429495B2 (en) 2020-03-16 2022-08-30 International Business Machines Corporation Data recovery mechanisms in deduplication-enabled storage facilities

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0644218B2 (ja) * 1990-10-22 1994-06-08 インターナショナル・ビジネス・マシーンズ・コーポレイション ミラー化された記憶装置の管理方法および装置
US5875444A (en) * 1996-12-10 1999-02-23 International Business Machines Corporation Computer file system check and repair utility
US6636984B1 (en) * 2000-06-15 2003-10-21 International Business Machines Corporation System and method for recovering data from mirror drives following system crash
US7162600B2 (en) * 2005-03-29 2007-01-09 Hitachi, Ltd. Data copying method and apparatus in a thin provisioned system
US7007042B2 (en) * 2002-03-28 2006-02-28 Hewlett-Packard Development Company, L.P. System and method for automatic site failover in a storage area network
US7111194B1 (en) * 2003-03-21 2006-09-19 Network Appliance, Inc. Mirror split brain avoidance
JP4141875B2 (ja) * 2003-03-27 2008-08-27 株式会社日立製作所 リカバリ処理方法及びその実施システム並びにその処理プログラム
US7149919B2 (en) * 2003-05-15 2006-12-12 Hewlett-Packard Development Company, L.P. Disaster recovery system with cascaded resynchronization
US20040230862A1 (en) * 2003-05-16 2004-11-18 Arif Merchant Redundant data assigment in a data storage system
US7269701B2 (en) * 2003-10-10 2007-09-11 International Business Machines Corporation Self-configuration of source-to-target mapping
JP4267420B2 (ja) * 2003-10-20 2009-05-27 株式会社日立製作所 ストレージ装置及びバックアップ取得方法
JP2005267056A (ja) * 2004-03-17 2005-09-29 Nec Corp ソフトウェアミラーリングディスク障害監視・復旧システム、その障害監視・復旧方法及びプログラム
US7523343B2 (en) * 2004-04-30 2009-04-21 Microsoft Corporation Real-time file system repairs
US7437598B2 (en) * 2004-12-23 2008-10-14 Xiv Ltd. System, method and circuit for mirroring data
US20060182050A1 (en) * 2005-01-28 2006-08-17 Hewlett-Packard Development Company, L.P. Storage replication system with data tracking
JP2006227751A (ja) * 2005-02-15 2006-08-31 Seiko Epson Corp 作業管理装置、作業管理方法、作業管理プログラム、記録媒体
JP2006252328A (ja) 2005-03-11 2006-09-21 Toshiba Corp ディスクアレイ制御装置、ストレージシステム、およびディスクアレイ制御方法
US7672979B1 (en) * 2005-04-22 2010-03-02 Symantec Operating Corporation Backup and restore techniques using inconsistent state indicators
JP2007065873A (ja) * 2005-08-30 2007-03-15 Hitachi Ltd 記憶制御装置、記憶制御システム、及び記憶制御方法
US7430646B2 (en) * 2006-03-31 2008-09-30 Emc Corporation Planned switchover in connection with triangular asynchronous replication
JP2008084168A (ja) * 2006-09-28 2008-04-10 Toshiba Corp 情報処理装置及びデータ修復方法
JP5134812B2 (ja) 2006-12-08 2013-01-30 克亘 小林 遊技操作レバー装置
US7730347B1 (en) * 2007-01-03 2010-06-01 Board Of Governors For Higher Education, State Of Rhode Island And Providence Plantations Data recovery system and method including a disk array architecture that provides recovery of data to any point of time
US8055866B2 (en) * 2007-01-08 2011-11-08 International Business Machines Corporation Mirrored storage system and methods for operating a mirrored storage system
TW201022930A (en) * 2008-11-20 2010-06-16 Ibm Method to improve recovery time of mirrored disks when read stability is in doubt

Also Published As

Publication number Publication date
US8677178B2 (en) 2014-03-18
US20110219261A1 (en) 2011-09-08
US9558084B2 (en) 2017-01-31
EP2313829A1 (en) 2011-04-27
JP5299933B2 (ja) 2013-09-25
JP2012509533A (ja) 2012-04-19
TW201022930A (en) 2010-06-16
WO2010057733A1 (en) 2010-05-27
CN102216906A (zh) 2011-10-12
US20120260126A1 (en) 2012-10-11
US20140157047A1 (en) 2014-06-05

Similar Documents

Publication Publication Date Title
US10877860B2 (en) Copying data from mirrored storage to auxiliary storage arrays co-located with primary storage arrays
US9880903B2 (en) Intelligent stress testing and raid rebuild to prevent data loss
US10635537B2 (en) Raid data loss prevention
US9417972B2 (en) Cascade ordering
US10169165B2 (en) Restoring data
US9740440B2 (en) Separating a hybrid asymmetric mix of a RAID 1 mirror and a parity-based RAID array
US10235092B1 (en) Independent parallel on demand recovery of data replicas in a storage system
US9558084B2 (en) Recovery control in mirrored disks
US10289476B2 (en) Asynchronous mirror inconsistency correction
US10013171B2 (en) Reducing stress on RAIDS under rebuild
US9286163B2 (en) Data recovery scheme based on data backup status
JP2012509533A5 (ko)
US10228873B2 (en) Swapping tape cartridges in tape libraries
US10169134B2 (en) Asynchronous mirror consistency audit
US9858011B2 (en) Repopulating failed replicas through modified consensus recovery
US11249667B2 (en) Storage performance enhancement
US10503417B2 (en) Data element validation in consistency groups
JP2012230489A (ja) ディスクアレイ装置、同期方法及びプログラム

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid