KR20060007435A - 하나의 타겟 볼륨과 하나의 소스 볼륨 사이의 관계 관리 - Google Patents

하나의 타겟 볼륨과 하나의 소스 볼륨 사이의 관계 관리 Download PDF

Info

Publication number
KR20060007435A
KR20060007435A KR1020057022074A KR20057022074A KR20060007435A KR 20060007435 A KR20060007435 A KR 20060007435A KR 1020057022074 A KR1020057022074 A KR 1020057022074A KR 20057022074 A KR20057022074 A KR 20057022074A KR 20060007435 A KR20060007435 A KR 20060007435A
Authority
KR
South Korea
Prior art keywords
relationship
volume
entry
source
target
Prior art date
Application number
KR1020057022074A
Other languages
English (en)
Other versions
KR100819022B1 (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 KR20060007435A publication Critical patent/KR20060007435A/ko
Application granted granted Critical
Publication of KR100819022B1 publication Critical patent/KR100819022B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • 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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • 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/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • 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
    • 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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1435Saving, restoring, recovering or retrying at system level using file system or storage system metadata
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99954Version management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)
  • Electrical Discharge Machining, Electrochemical Machining, And Combined Machining (AREA)
  • Auxiliary Devices For And Details Of Packaging Control (AREA)
  • Stereophonic System (AREA)

Abstract

하나의 타겟 볼륨과 하나의 소스 볼륨 사이의 관계를 관리하는 방법, 시스템 및 프로그램이 제공된다. 소스 볼륨 및 타겟 볼륨의 각각에 대해, 메모리는 (a) 적어도 하나의 요소 - 각각의 요소는 볼륨 내의 순차 데이터 유닛들의 범위를 나타냄-; (ii) 적어도 하나의 관계 엔트리 - 각각의 관계 엔트리는 하나의 관계를 나타냄; (iii) 하나의 요소를 하나의 관계 엔트리와 관련시키는 적어도 하나의 요소 포인터 - 요소가 나타내는 데이터 유닛들은 포인터가 요소와 관련시키는 관계 엔트리가 나타내는 관계의 일부분임; 및 (iv) 관계 엔트리를 볼륨 메타데이터와 관련시키는 각각의 관계 엔트리를 위한 하나의 관계 포인터 - 볼륨 메타데이터는 관계 엔트리가 나타내는 관계에 관한 정보를 제공함-를 포함한다.
소스 볼륨, 타겟 볼륨, 관계 엔트리, 요소 포인터, 관계 포인터, 볼륨 메타데이터, 관계 블록

Description

하나의 타겟 볼륨과 하나의 소스 볼륨 사이의 관계 관리{MANAGING A RELATIONSHIP BETWEEN ONE TARGET VOLUME AND ONE SOURCE VOLUME}
본 발명은 하나의 타겟 볼륨과 하나의 소스 볼륨 사이의 관계를 관리하는 방법, 시스템 및 프로그램에 관한 것이다.
컴퓨팅 시스템은 흔히, 데이터를 처리하고 응용 프로그램을 실행하는 하나 이상의 호스트 컴퓨터("호스트"), 데이터를 저장하는 직접 액세스 저장 장치(direct access storage devices: DASD), 및 호스트와 DASD 사이의 데이터 전송을 제어하는 저장장치 제어기를 포함한다. 제어 유닛 또는 저장장치 디렉터(storage directors)라고도 칭해지는 저장장치 제어기는 직접 액세스 저장 장치(DASD)라고도 칭해지는, 루프 구조로 접속된 다수의 하드 디스크 드라이브로 구성된 저장 공간에의 액세스를 관리한다. 호스트는 저장장치 제어기를 통해 저장 공간에 입/출력(I/O) 요청을 전달할 수 있다.
많은 시스템에서, DASD와 같은 하나의 저장 장치 상의 데이터는 2개의 서로 다른 장치로부터 데이터 볼륨에의 액세스가 제공될 수 있도록 동일한 또는 다른 저장 장치에 복사될 수 있다. 시점 복사(point-in-time copy)는 타겟 볼륨이 어느 한 시점 그대로의 데이터 복사본을 갖도록 소스 볼륨으로부터 타겟 볼륨으로 모든 데이터를 물리적으로 복사하는 것을 수반한다. 시점 복사는 또한 데이터 복사를 논리적으로 행한 다음에, 필요할 때만 데이터를 복사할 수 있는데, 이로써 사실상 물리적 복사가 보류된다. 이러한 논리적 복사 동작은 타겟 및 소스 볼륨들이 액세스불가능한 시간을 최소화하기 위해 실행된다.
한가지 그러한 논리적 복사 동작은 FlashCopy®로 공지되어 있다(FlashCopy는 IBM(International Business Machines), Cop.의 등록된 상표이다). FlashCopy®는 상이한 장치들 상의 소스 볼륨과 타겟 볼륨 사이의 논리적 시점 관계의 설정을 수반한다. 그 FlashCopy 기능은 FlashCopy 관계 내의 한 트랙이 타겟 디스크 상의 그 자신의 위치에 고정될 때까지, 그 트랙이 소스 디스크 상에 존재하는 것을 보증한다. 관계 테이블은 서브시스템 내에 현존하는 모든 FlashCopy 관계에 관한 정보를 유지하기 위해 사용된다. FlashCopy 관계의 설정 단계 동안에, 설정되고 있는 FlashCopy에 관여하는 소스 및 타겟용의 소스 및 타겟 관계 테이블 내에 하나의 엔트리가 기록된다. 각각의 추가된 엔트리는 그 FlashCopy 관계에 관한 필요한 모든 정보를 유지한다. 그 관계에 대한 양자의 엔트리는 소스 영역범위(extent)로부터의 모든 FlashCopy 트랙이 타겟 영역범위들에 복사되었을 때, 또는 철회 커맨드가 수신될 때, 그 관계 테이블로부터 제거된다.
타겟 관계 테이블은, FalshCopy 관계에 관련된 트랙들 중 어떤 트랙이 아직 복사되지 않았는지, 그렇다면 그 트랙이 보호된 트랙인지를 식별하는 비트맵을 더 포함한다. 타겟 장치 내의 각 트랙은 비트맵 내의 1비트로 표시된다. 대응하는 트랙이 FlashCopy 관계의 타겟 트랙으로서 설정될 때, 타겟 비트가 설정된다. 소 스 또는 타겟 장치 상의 기록, 또는 배경 복사 태스크로 인해 대응하는 트랙이 소스 위치로부터 복사되어 타겟 장치로 디스테이지(destage)되었을 때, 타겟 비트가 리셋된다.
종래 기술에서, FlashCopy® 동작 중의 논리적 시점 관계 설정의 일부분으로서, FlashCopy® 내에 포함된 소스 캐시 내의 모든 트랙은 물리적 소스 볼륨, 예를 들어 소스 DASD로 디스테이지되어야 하고, FlashCopy® 내에 포함된 타겟 소스 내의 모든 트랙은 폐기되어야 한다.
논리적 관계가 설정되면, 호스트는 소스 및 타겟 볼륨 상의 데이터에 즉시 액세스할 수 있고, 그 데이터는 배경 동작의 일부로서 복사될 수 있다. FlashCopy 관계 내의 타겟이면서 캐시 내에는 없는 트랙에 대한 판독은 소스 트랙이 아직 복사되지 않았을 때 및 타겟 캐시가 트랙에 대한 액세스를 제공하기 전에, 요청된 타겟 트랙에 대응하는 소스 트랙이 타겟 캐시에 스테이지되게 하는 스테이지 인터셉트(stage intercept)를 트리거한다. 이것은 타겟이 FlashCopy® 동작의 그 시점에서 존재한 소스로부터의 복사본을 갖는 것을 보장한다. 더욱이, 복사되지 않은 소스 장치 상의 트랙으로의 임의의 기록은 소스 장치 상의 트랙이 타겟 장치에 복사되게 하는 디스테이지 인터셉트(destage intercept)를 트리거한다.
하나의 타겟 볼륨과 하나의 소스 볼륨 사이의 관계를 관리하는 방법, 시스템 및 프로그램이 제공된다. 소스 볼륨 및 타겟 볼륨의 각각에 대해, 메모리는 (a) 적어도 하나의 요소 - 각각의 요소는 볼륨 내의 순차 데이터 유닛들의 범위를 나타냄-; (ii) 적어도 하나의 관계 엔트리 - 각각의 관계 엔트리는 하나의 관계를 나타냄; (iii) 하나의 요소를 하나의 관계 엔트리와 관련시키는 적어도 하나의 요소 포인터 - 요소가 나타내는 데이터 유닛들은 포인터가 요소와 관련시키는 관계 엔트리가 나타내는 관계의 일부분임; 및 (iv) 관계 엔트리를 볼륨 메타데이터와 관련시키는 각각의 관계 엔트리에 대한 하나의 관계 포인터 - 볼륨 메타데이터는 관계 엔트리가 나타내는 관계에 관한 정보를 제공함-를 포함한다.
다른 구현예에서, 소스 및 타겟 볼륨 메타데이터는 각각 소스 및 타겟 볼륨 내에 비휘발성 저장으로 저장된다.
또한, 볼륨 메타데이터는 적어도 하나의 요소, 적어도 하나의 관계 엔트리, 적어도 하나의 요소 포인터 및 적어도 하나의 관계 포인터를 메모리 내에 생성하기 위해 처리된다.
또 다른 구현예에서, 볼륨 메타데이터는 다수의 볼륨 상에서 처리되고, 다른 하나의 볼륨과의 관계를 식별하는 볼륨 메타데이터를 포함하는 각 볼륨에 대해 한 세트의 요소들, 관계 엔트리들, 요소 포인터들 및 관계 포인터들을 생성한다.
또한, 메모리 내에 적어도 하나의 요소를 생성하는 것은 각각의 관계 내에 포함된 각각의 데이터 유닛들의 범위를 판정하기 위해 볼륨 메타데이터를 처리하는 것, 및 적어도 하나의 관계 내에 포함된 각각의 데이터 유닛들의 범위에 대해 하나의 요소를 생성하는 것을 더 포함할 수 있다.
또한, 메모리 내에 적어도 하나의 요소를 생성하는 것은 하나의 관계 내에 포함된 요소들 내의 데이터 유닛들의 범위들 이전 또는 이후의 데이터 유닛들의 범위들을 포함하는 요소들을 생성하는 것을 더 포함하고, 그 생성된 요소들은 모두 함께 관계 내의 데이터 유닛들의 범위들과 관계 내에 포함되지 않은 데이터 유닛들의 범위들을 포함해서, 볼륨 내의 모든 사용자 데이터 유닛들을 나타낸다.
설명된 구현예는 소스 볼륨과 타겟 볼륨 사이의 관계에 관한 정보를 제공하고, 그러한 관계 정보를 이용할 수 있도록 메모리 내에 그러한 정보를 결합 가능하게 한다.
본 발명은 이제 단지 예시적으로 첨부 도면을 참조하여 설명될 것이다.
도 1은 본 발명의 실시형태가 구현되는 컴퓨팅 환경을 도시한 도면.
도 2 및 3은 본 발명의 구현예에 따른 소스 볼륨 내의 트랙들과 타겟 볼륨 내의 트랙들 사이의 관계를 나타낸 도면.
도 4, 5, 6, 7 및 8은 본 발명의 구현예에 따라 복사 관계에 있는 소스 트랙과 타겟 트랙 사이의 관계를 나타내기 위해 유지하는 정보의 실시예를 도시한 도면.
도 9는 본 발명의 구현예에 따라 매모리 내의 관계 정보를 초기화하기 위한 동작을 도시한 도면.
도 10a 및 10b는 본 발명의 구현예에 따라 새로운 관계를 반영하기 위해 메모리 내의 관계 정보를 갱신하기 위한 동작을 도시한 도면.
도 11, 12a 및 12b는 본 발명의 구현예에 따라 관계로부터의 트랙들의 철회를 반영하기 위해 메모리 내의 관계 정보를 갱신하기 위한 동작을 도시한 도면.
도 13은 본 발명의 구현예에 따라 캐시로부터 트랙들을 디스테이지 및 스테이지할 때 관계를 고려하기 위한 동작을 도시한 도면.
도 14는 본 발명의 구현예에 따라 회복 프로세스를 실행하기 위한 동작을 도시한 도면.
도 15는 호스트 및 저장장치 제어기, 및 임의의 다른 컴퓨팅 장치와 같은 네트워크 환경 내의 컴퓨팅 컴포넌트의 아키텍처를 도시한 도면.
발명을 실시하기 위한 최상의 모드
도 1은 본 발명의 실시형태가 구현되는 컴퓨팅 아키텍처를 도시한 것이다. 저장장치 제어기(2)는 볼륨(예를 들어, 논리 유닛 번호, 논리 장치 등)(10a, 10b...10n 및 12a, 12b...12m)(m과 n은 서로 다른 정수값이거나 동일한 값일 수 있음)을 각각 갖도록 구성된 저장 장치(8a, 8b)쪽으로 향한 호스트 시스템(4a, 4b...4n)으로부터의 입/출력(I/O) 요청을 네트워크(6)를 통해 수신한다. 저장장치 제어기(2)는 소스 저장장치(8a) 내의 트랙에 대한 I/O 데이터를 저장하기 위한 소스 캐시(14a), 및 타겟 저장장치(8b) 내의 트랙에 대한 I/O 데이터를 저장하기 위한 타겟 캐시(14b)를 더 포함한다. 소스 캐시(14a) 및 타겟 캐시(14b)는 분리된 메모리 장치, 또는 동일한 메모리 장치의 상이한 섹션으로 이루어질 수 있다. 캐시(14a, 14b)는 호스트(4a, 4b...4n)와 저장장치(8a, 8b) 사이에 전송되는 데이터의 판독 및 기록 데이터를 버퍼링하기 위해 사용된다. 더욱이, 캐시(14a 및 14b)는 각각, 어느 한 시점 복사 관계 내의 소스 또는 타겟 트랙을 보유하기 위한 소스 캐시 및 타켓 캐시로 언급되지만, 캐시(14a 및 14b)는 상이한 시점 복사 관계 내의 소스 및 타겟 트랙을 동시에 저장할 수도 있다.
저장장치 제어기(2)는 또한 휘발성 및/또는 비휘발성 장치로 구현될 수 있는 시스템 메모리(16)를 포함한다. 시스템 메모리(16) 내에서 저장장치 관리 소프트웨어(18)는 FlashCopy® 동작 중에 발생하는 논리적 복사의 유형과 같이, 상이한 저장 장치(8a, 8b)들 사이에서의 데이터 복사를 관리하기 위해 실행된다. 저장장치 관리 소프트웨어(18)는 여기에서 설명된 복사 동작 이외의 동작을 실행할 수 있다. 시스템 메모리(16)는 캐시(14a, 14b)로부터 분리된 메모리 장치이거나, 그 캐시의 일부분일 수도 있다. 저장장치 관리 소프트웨어(18)는 저장장치 제어기(2)가 관리하는 각 볼륨마다의 시점 복사 관계에 관한 정보를 제공하는 하나의 메모리내(in-memory) 관계 테이블(20)을 시스템 메모리(16) 내에 유지하는데, 여기서 각각의 볼륨에 대해 하나의 메모리내 관계 테이블(20)이 있을 수 있다. 소정의 구현예에서, 트랙들은 복사 관계에 속할 수 있다. 그러나, 트랙의 블록, 서브블록 등과 같은 다른 데이터 유닛들이 복사 관계에 속하게 될 수도 있는데, 여기서 그 관계 내의 각각의 소스 데이터 유닛에 대해 대응하는 타켓 데이터 유닛이 있다.
저장장치 제어기(2)는 프로세서 복합체(도시되지 않음)를 더 포함하는데, IBM Enterprise Storage Server(ESS)®, 3990® Storage Controller 등과 같은 본 분야에 공지된 임의의 저장장치 제어기 또는 서버를 포함할 수 있다(Enterprise Storage Server는 IBM의 등록된 상표이다). 호스트(4a, 4b...4n)는 서버, 메인프레임, 워크스테이션, 퍼스널 컴퓨터, 헨드헬드 컴퓨터, 랩탑, 전화 장치, 네트워크 가전 등과 같은 본 분야에 공지된 임의의 컴퓨팅 장치를 포함할 수 있다. 저장장치 제어기(2)와 호스트 시스템(들)(4a,4b...4n)은 SAN(Storage Area Network), LAN(Local Area Network), 인트라넷, 인터넷, WAN(Wide Area Network) 등을 포함할 수 있는 네트워크(6)를 통해 통신한다. 저장장치 시스템(8a, 8b)은 JBOD(Just a Bunch of Disks), RAID(Redundant Array of Independent Disks) 어레이, 가상화 장치 등과 같은 저장 장치 어레이를 포함할 수 있다.
시점 복사는 소스 볼륨 상의 트랙들 범위와 타겟 볼륨 상의 트랙들 범위 사이에 설정될 수 있는데, 그 관계에 관련된 소스 및 타겟 볼륨의 트랙 번호는 서로 동일하거나 다를 수 있다. 소정의 구현예에서, 소스 영역범위 및 타겟 영역범위는 그들 각각의 볼륨의 처음으로부터 상이한 상대적 오프셋에 있을 수 있다. 이것은 데이터 세트들의 재구성, 예를 들어 한 세트의 불연속 데이터 세트를 연속된 트랙 세트로 병합할 수 있게 한다. 도 2는 소스 볼륨(54)의 중간에 위치한 불연속 소스 영역범위(50 및 52)가 타겟 볼륨(60)의 처음에 타겟 영역범위(56 및 58)로 재배치되어, 소스 볼륨(54)과 타겟 볼륨(60)이 서로 다른 순서로 되는 방식을 도시한 것이다.
설명된 구현예는 또한 소정의 트랙들의 영역범위(범위)가 동시에 두개 이상의 시점 복사 관계의 일부분일 수 있는 트랙 당 다수의 시점 복사 관계를 허용한다. 트랙은 소스 영역범위 또는 타겟 영역범위에 속할 수 있다. 또한, 트랙은 다수의 소스 관계에 속할 수 있지만, 소정의 구현예에서는, 단일 타겟 관계만이 허용된다. 도 3은 트랙 당 다수의 관계를 도시한 것으로, 여기에서 소스 볼륨(70)은 타겟 볼륨(80) 내의 상이한 타겟 영역범위(82, 84, 86 및 88)로 매핑되는 영역범위(트랙의 범위)(72, 74, 76 및 78)를 갖는다. 소스 영역범위(72 및 74)는 타겟 영역범위(82)에 관련되고, 소스 영역범위(74 및 76)는 타겟 영역범위(84)에 관련되므로, 이들 2개의 관계는 중복 트랙 영역범위(74)를 공유한다. 더 나아가, 소스 영역범위(78)는 다수의 타겟 영역범위(86 및 88)에 관련되고, 소스 영역범위(74)도 다수의 타겟 영역범위(82 및 84)에 관련된다. 이 예에서는 다수의 타겟이 동일한 볼륨 내에 표시되었지만, 타겟 트랙들은 상이한 볼륨 상에 있을 수 있다.
소스 볼륨 내의 트랙들의 영역범위와 타겟 볼륨 내의 영역범위 사이에 시점 복사 관계가 설정되면, 그 관계에 관한 지속적인 정보는 소스 및 타겟 볼륨(10a, 10b...10n, 12a, 12b...12n) 내의 볼륨 메타데이터에 저장된다. 도 4와 관련하여, 각각의 소스 및 타겟 볼륨용의 볼륨 메타데이터(100)는 관계 메타데이터(102), 관계 비트맵 메타데이터(104) 및 볼륨 생성 번호와 같은 메타데이터 구성요소를 포함할 수 있다. 관계 메타데이터(102)는 볼륨 내의 트랙들의 영역범위에 대한 하나의 시점 복사에 관한 정보를 각각 포함하는 관계 블록(106a, 106b...106n)을 포함한다. 도 5는 다음과 같은, 도 4의 관계 블록(106a, 106b...106n)과 같은 관계 블록에 대한 상세를 나타낸 것이다:
· 관계 ID(110) : 유일한 관계 식별자를 제공한다. 이 번호는 관계를 표시
하기 위해 소스 및 타겟 둘다에 의해 사용된다.
· 관계 역할(112) : 볼륨 내의 트랙들의 영역범위가 관계 내에서 소스인지
타겟인지의 여부를 나타낸다.
· 영역범위(114) : 시점 복사 관계에 관련된 트랙들의 영역범위(범위)를 포
함하는 볼륨 내의 트랙들을 식별한다.
· 볼륨 쌍(116) : 관계 내의 다른 볼륨을 식별한다.
관계 블록(106a, 106b...106n)은 링크된 리스트에 배열될 수 있다. 사용되지 않는 관계 메타데이터(102) 내의 블록은 관계 정보를 관계 블록으로서 저장하기 위해 사용할 수 있는 프리 블록의 프리 리스트에 저장될 수 있다. 관계 블록(106a, 106b...106n)은 고정된 길이로 이루어질 수 있고, 인덱스를 통해 액세스할 수 있도록 인덱스화될 수 있다.
비트맵 메타데이터(104)는 볼륨 내의 각 트랙마다 한 비트를 제공하는 하나 이상의 비트맵 데이터 구조를 포함한다. 비트가 "온(on)"이면, 이것은 대응하는 타겟 트랙이 소스로부터의 시점 데이터를 아직 포함하고 있지 않다는 것과, 그 데이터가 복사되어야 한다는 것을 나타낸다. 영역범위의 범위에 대응하는 비트 값은 관계 비트맵 메타데이터(104)의 오프셋으로 직접 매핑될 수 있다.
도 6은 메모리내 관계 테이블(20)의 데이터 구조 구현예를 도시한 것이다. 저장장치 제어기(2)가 관리하는 각 볼륨마다 하나의 메모리내 관계 테이블(20)이 있을 수 있다. 메모리내 관계 테이블(20)은 다수의 요소(130a, 130b, 130c 및 130d)를 포함하는데, 각 요소는 대응하는 볼륨 내의 연속된 트랙들의 영역범위를 나타낸다. 도 7은 도 6의 요소(130a, 130b, 130c 및 130d)와 같은 각 요소(130)의 내용을 나타낸 것으로, 볼륨 내의 연속된 트랙들의 범위의 처음과 끝을 나타내는 시작 트랙(132) 및 종료 트랙(134), 그리고 하나 이상의 관계 엔트리(140a, 140b 및 140c)로의 포인터들의 어레이(136)를 포함한다. 관계 엔트리는 링크된 리스트에 있을 수도 있고 없을 수도 있다. 또한, 다수의 요소들이 동일한 관계 엔트리(140a, 140b 및 140c)를 포인팅할 수 있다. 도 6은 요소(130a, 130b 및 130d)들이 요소(130a, 130b 및 130d)가 나타내는 트랙을 포함하는 관계에 관한 정보를 제공하는 관계 엔트리(140a, 140b 및 140c)를 포인팅하는 포인터(136a, 136b, 136c 및 136d)가 나타내는 바와 같이, 시점 복사 관계에 포함되는 트랙들의 범위를 나타내는 것을 도시한 것이다. 요소(130c)는 관계 엔트리(140a, 140b 및 140c)로의 포인터가 없는 것으로 표시된 바와 같이, 시점 관계에 포함되지 않는 트랙들의 범위를 나타낸다. 요소, 예를 들어, 요소(130a)가 상이한 관계 엔트리(140a 및 140b)를 포인팅하는 포인터들(136a 및 136b)의 어레이를 포함하면, 그러한 트랙들의 범위는 2개의 관계와 관련되어, 그러한 범위가 다수의 타겟에 대한 하나의 소스라는 것을 나타낸다.
도 8은 도 6의 관계 엔트리(140a, 140b 및 140c)와 같은 각 관계 엔트리(140)에 포함될 수 있는 내용을 도시한 것으로, 관계 역할(112) 및/또는 관계 ID(110)(도 5)와 같은, 볼륨 메타데이터(100) 내의 대응하는 관계 블록(106a, 106b...106n)으로부터의 소정의 지속적인 관계 정보(150); 및 관계 엔트리(140)가 나타내는 관계에 대한 지속적인 정보를 포함하는 관계 블록(106)으로의 포인터(152)를 포함한다. 관계 엔트리(140) 내의 포인터(152)는 도 6에서 포인터(152a, 152b 및 152c)로 도시된다. 포인터(152)는 관계 메타데이터(160) 내의 대응하는 관계 블록에 대한 인덱스를 더 포함할 수 있다. 도 6은 또한 볼륨 메타데이터 (160)의 관계 메타데이터(162) 부분 내의, 포인터(152a, 152b 및 152c)에 의해 어드레스된 관계 블록(164a, 164b 및 164c)을 도시하고 있다. 메모리내 관계 테이블(IMRT)(20)은 메모리내 관계 테이블(20)이 속하는 볼륨(10a, 10b, 10n, 12a, 12b...12n)을 식별하는 볼륨 정보(166)를 더 포함한다.
상술된 데이터 구조로, 관계 정보의 대부분은 볼륨(10a, 10b, 10n 및 12a, 12b, 12n)(도 1)과 함께 저장된 볼륨 메타데이터(100) 내에 지속적인 저장으로 유지된다. 더 나아가, 소정의 구현예에서, 관계의 각 멤버인 소스와 타겟은 그들 각각의 볼륨 상에 관계 메타데이터를 따로 유지할 수 있다. 이러한 방식에 의해서, 관계 내의 볼륨에 장애가 생기면, 저장장치 제어기(2)는 장애 볼륨과 시점 복사 관계에 있는 소스 또는 타겟이 실제로 관계의 일부분인지를 판정할 수 있을 것이므로, 디스테이지 및 스테이지 동작 중에 특별 처리를 요구한다.
도 9는 저장장치 제어기(2)가 관리하는 볼륨(10a, 10b...10n, 12a, 12b...12n) 내의 볼륨 메타데이터(100)로부터 메모리내 관계 테이블(IMRT)(20)을 초기화하기 위한 저장장치 관리 소프트웨어(18)에 구현된 로직을 도시한 것이다. (블록(200)에서) 초기화를 시작하면, 저장장치 관리 소프트웨어(18)는 저장장치 제어기(2)에 액세스가능한 각 볼륨에 대해 블록(202 내지 226)에서의 루프를 실행한다. (블록(208)에서) 볼륨 i에 대한 액세스된 볼륨 메타데이터(100) 내에 관계 블록(106)이 없으면, 제어는 다음 볼륨을 위해 블록(226)으로 진행하고, IMRT(20)는 볼륨 i를 위해 구성되지 않는다. 휘발성 표시는 볼륨을 위한 IMRT(20)가 없는 볼륨 i에 대한 볼륨 구조 내에서 행해질 수 있다. 대안적으로, 관계 블록이 없으면, 그 볼륨을 위한 관계가 없다는 것을 표시하는 NULL 요소를 포인팅하는 IMRT(20)가 구성될 수 있다. 그렇지 않고, (블록(208)에서) 볼륨 i를 위한 관계 블록(106)이 있으면, 관계 블록 없음을 포인팅하는 IMRT(20)가 메모리(16) 내에 구성될 수 있다(블록(212)). 그 다음, 루프는 볼륨 i 내의 각각의 관계 블록 j에 대해 블록(214 내지 224)에서 실행된다. 각각의 관계 블록 j에 대해, 처음 블록부터 마지막 블록까지, 하나 이상의 요소(130)는 IMRT(20) 내에 구성되어(블록(216)), 관계 블록 j 내의 트랙들의 영역범위(114)(도 5) 내에서 식별된 시작 및 종료 트랙을 포함하는 시작 필드(132) 및 종료 필드(134)를 나타낸다. 그 다음, 구성된 요소는 볼륨 i 내의 연속적인 이전 트랙을 나타내는 요소에 링크된다(블록(218)). 저장장치 관리 소프트웨어(18)는 관계 ID 및 관계 역할(150)(도 8) 및 볼륨 메타데이터 내의 액세스된 관계 블록 j으로의 포인터(152)와 같은, 지속 관계 블록 j로부터의 관계 정보를 포함하는 관계 엔트리(140)를 IMRT(20) 내에 더 구성한다(블록(220)). 또한, 링크는 한 관계로부터 이전의 관계로 추가될 수 있다. 포인터는 관계 블록(106a, 106b...106n)의 어레이(도 4)로의 인덱스를 포함할 수 있다. 관계 엔트리는 어레이 내에 구성될 수 있는데, 어레이 내의 각 관계 엔트리(140a, 140b, 140c)의 인덱스는 대응하는 관계 블록(164a, 164b, 164c)의 인덱스에 의해 결정될 수 있다. 제어는 볼륨 메타데이터(102) 내의 다음 관계 블록(106)을 처리하기 위해 다시 블록(214)으로 진행한다(블록(222)). 블록(208)으로부터, 또는 볼륨 i의 모든 관계 블록을 처리한 후, 제어는 저장장치 제어기(2)가 관리하는 장치 내의 또 다른 볼륨에 관한 정보를 처리하기 위해 다시 블록(202)으로 진행한다(블록(226)).
도 9의 로직의 결과로서, IMRT(20)는 저장장치 제어기(2)가 관리하는 각 볼륨에 대해 메모리(16)에 추가되어 관계들을 포함하고, 사용자가 시점 복사 관계 내에 포함된 트랙들에 관한 I/O를 실행할 때 저장장치 제어기(2)가 시점 복사 관계의 데이터 무결성을 유지할 수 있게 하기 위해 사용된다.
도 10a 및 10b는 새로 설정된 시점 복사 관계의 소스와 타겟 볼륨을 위한 IMRT를 갱신하기 위해 저장장치 관리 소프트웨어(18)에 의해 실행된 동작을 도시한 것이다. 도 10a와 관련하여, 추가된 관계를 반영하기 위해 IMRT의 갱신을 시작하면(블록(250)), 루프는 먼저 그 관계 내의 소스 볼륨에 대해, 그 다음에 타겟 볼륨에 대해, 블록(252 내지 282)에서 실행된다. 블록(254)에서, (먼저 소스 볼륨, 및 그 다음에 타겟 볼륨에 대한) 볼륨 메타데이터(100)는, 새로운 관계에 관한 정보를 각각 제공하는 관계 블록들을 추가하고, 새로운 관계 내의 모든 트랙이 소스에서 타겟으로 다 복사되지는 않았다는 것을 나타내기 위해 관계 비트맵(104)을 갱신함으로써, 갱신된다. 관계에 관한 정보를 지속 메타데이터에 추가한 후, 관계 엔트리(140)는 (블록(256)에서) 볼륨(소스 또는 타겟)을 위한 IMRT(20) 내에 생성되어, 소정의 관계 정보(150)(도 8)를 포함하고, 소스 또는 타겟 볼륨 내의 지속 관계 블록(164a, 164b, 164c)으로의 포인터(152)가 관계 엔트리(140)를 위해 생성되어 메모리 내의 관계의 표현(관계 엔트리(140))을 저장장치 내의 대응하는 지속 관계 블록(106)과 관련시킨다. 저장장치 관리 소프트웨어(18)는 그 다음, 새로운 관계 내의 트랙들의 영역범위를 포함하는 하나 이상의 요소(130)의 위치를 찾아낸다(블록(258)).
(블록(262)에서) 요소 i가 나타내는 모든 트랙이 새로운 관계 내의 트랙들의 영역범위 내에 있으면, 포인터(136)가 추가되어 요소 i를 새로운 관계를 나타내는 관계 엔트리(140)와 관련시킨다. 그렇지 않고, (블록(262)에서) 요소 i로 표시된 트랙들의 일부만이 새로운 관계 내의 트랙들의 영역범위와 중복하면, 도 10b와 관련하여, 요소 i가 새로운 관계 내의 트랙들의 영역범위의 제1 트랙을 포함하는지 판정이 이루어진다(블록(266)). (블록(266)의 아니오(no) 브랜치로부터) 요소 i가 새로운 관계 내의 트랙들의 영역범위의 마지막 트랙을 포함하면, 요소 i는 (블록(268)에서) 2개의 새로운 요소로 대체되는데, 제1의 새로운 요소는 관계 영역범위와 중복하는 트랙들을 포함하고, 새로운 관계 내의 트랙들의 영역범위 내의 마지막 트랙으로 끝나고, 제2의 새로운 요소는 관계 영역범위와 중복하지 않는 트랙들을 포함한다. (블록(266)의 예(yes) 브랜치로부터) 요소 i가 영역범위의 제1 트랙을 포함하면, 요소 i는 (블록(270)에서) 2개의 새로운 요소로 대체되는데, 제1의 새로운 요소 i는 관계 영역범위와 중복하지 않는 트랙들을 포함하고, 제2의 새로운 요소 j는 관계 영역범위와 중복하는 트랙들을 포함하고, 관계 영역범위 내의 제1 트랙으로 시작한다. (블록(272)에서) 요소 j가 요소 j 내의 마지막 트랙이 아닌 영역범위의 마지막 트랙을 포함하면, (블록(274)에서) 블록(268)에서의 동작이 요소 j에 대해 실행되어, 영역범위와 중복하지 않는 요소 j의 끝에 있는 트랙들을 추출하여 그러한 비중복 트랙들을 다른 요소에 배치하기 위해 더욱 분할을 실행한다. 2개 또는 3개의 새로운 요소는 대체 요소가 위치한 링크된 요소들 리스트에 추가될 수 있다.
요소 i를 2개 또는 3개의 새로운 요소로 대체한 후, 하나 이상의 포인터(136)는 대체된 요소 i에 의해 포인팅된 임의의 관계 엔트리에 대해 2개 또는 3개의 새로운 요소(130)에 추가된다(블록(276)). 그 다음, 포인터(130)는 (블록(278)에서) 새로운 관계로부터의 트랙을 포함하는 새로운 요소에 추가되어, 관계 영역범위 내의 트랙을 나타내는 새로운 요소를, 관계를 나타내는 관계 엔트리와 관련시키기 위해, 생성된 관계 엔트리(140)를 포인팅한다. 그 다음, 제어는 새로운 관계 내의 트랙을 포함하는 다음의 찾아낸 요소를 위해 도 10a의 블록(260)으로 다시 진행한다(블록(280)). 새로운 관계 내의 소스 볼륨을 위한 모든 관련 요소를 처리한 후, 제어는 추가된 시점 복사 관계를 반영하도록 타겟 볼륨을 위한 IMRT(20)를 갱신하기 위해 블록(252)으로 다시 진행한다(블록(282)).
도 11은 전체 관계를 철회 또는 종료하기 위해 저장장치 관리 소프트웨어(18)에 의해 실행된 동작을 도시한 것이다. 도 11의 동작은 시점 복사 관계 내의 모든 트랙이 소스 볼륨에서 타겟 볼륨으로 복사된 후에 실행될 수 있다. 대안적으로, 전체 관계는 전체 관계를 끝내라고 결정하는 관리자에 의해 철회될 수 있다. 전체 관계를 철회하기 위한 동작을 시작하면(블록(300)), 저장장치 관리 소프트웨어(18)는 소스 및 타겟 볼륨 내의 관계 메타데이터(102)로부터, 삭제된 관계의 소스 및 타겟 트랙의 영역범위를 결정한다(블록(302)). 철회 요청은 관계 영역범위를 제공할 수 있는데, 이 관계 영역범위는 다음에, 관계 내의 지정된 영역범위(114) 또는 관계 ID(110)(도 5)를 포함할 수 있는 소스 및 타겟 볼륨 내의 볼륨 메타데이터의 위치를 알아내기 위해 IMRT(20) 및/또는 관계 메타데이터(102)를 조회 하는데 사용될 수 있다. 그 다음, 루프는 먼저 철회 관계 내의 타겟 볼륨에 대해, 그 다음에 소스 볼륨에 대해, 블록(304 내지 326)에서 실행된다. 블록(306)에서, 철회 관계를 나타내는 소스 및 타겟 볼륨 메타데이터(102) 내의 관계 블록(106)이 삭제된다. 블록(308)에서, 삭제된 관계를 나타내는 (타겟, 그 다음에 소스) 볼륨을 위한 IMRT(20) 내의 관계 엔트리(140)가 제거된다. 그 다음, 저장장치 관리 소프트웨어(18)는 삭제된 관계 엔트리(140)를 어드레스하는 하나 이상의 요소(130)의 위치를 찾아서(블록(310)), 찾아낸 요소로부터, 제거된 관계 엔트리(140)로의 포인터(136)를 삭제한다(블록(312)).
철회 관계에 관한 정보를 삭제한 후, 저장장치 관리 소프트웨어(18)는 그 다음, 정확히 동일한 관계 엔트리 또는 관계 엔트리 없음을 포인팅하는 임의의 요소들을 합하기 위해 블록(314)에서 처리를 시작한다. 블록(314)에서, 저장장치 관리 소프트웨어(18)는 제거된 영역범위에 겹치는 IMRT(20) 내의 제1 요소(130a)(도 6)를 액세스하고, 블록(316)에서, 액세스된 요소로서, 동일한 관계 엔트리를 포인팅하거나 관계 엔트리 없음을 모두 포인팅하는 0개 이상의 후속적인 연속 요소들을 판정한다. 블록(318)에서, 하나 이상의 후속 요소(130)의 위치를 찾으면, 블록(320)에서, 액세스된 요소 및 모든 판정된 후속 요소는 액세스되고 위치를 찾아낸 요소들 내에 동일한 0개 이상의 포인터(136)를 갖는 액세스되고 위치를 찾아낸 요소들 내의 모든 순차 트랙들을 나타내는 단일 요소로 대체된다. 블록(318)에서, 위치를 찾아낸 후속 요소(130)가 없으면, 블록(322)에서, (블록(318)의 아니오 브랜치로부터 발생한 병합이 없으면) 최종 액세스된 요소 다음에 또는 (블록(320)으 로부터 병합이 발생했으면) 최종 병합된 요소 다음에 하나보다 많은 요소가 있는 지의 여부에 관해 판정이 이루어진다. 병합될 수 있는 다른 요소들이 있으면, 저장장치 관리 소프트웨어(18)는 (발생한 병합이 없으면) 최종 액세스된 요소 다음 또는 (병합이 발생했으면) 위치를 찾아낸 병합된 요소 다음의 요소를 액세스한다(블록(324)). (블록(324)에서) 다음 요소를 액세스한 후, 제어는 다음 액세스된 요소를 후속 요소들과 병합하고자 시도하기 위해 다시 블록(316)으로 진행한다. (블록(322)에서) 병합에 이용가능한 다수의 요소들이 없으면, 블록(326)에서, 제어는 소스 IMRT(20)로부터 철회된 관계를 제거하기 위해 다시 블록(304)으로 진행한다.
도 12a 및 12b는 시점 복사 관계 내의 영역범위로부터 연속적인 트랙들의 서브세트를 제거하기 위해 저장장치 관리 소프트웨어(18)에서 실행된 동작을 도시한 것이다. 이 동작은 관계 영역범위 내의 트랙들의 일부가 소스 및 타겟으로부터 복사된 경우에 그리고 소스 및 타겟 내의 그러한 복사된 트랙들이 다른 시점 관계를 위해 이용가능하게 하기 위해 실행될 수 있다. 더욱이, 트랙들은 관리자로부터의 요청에 응답하는 것과 같은 다른 상황에서 영역범위로부터 제거될 수 있다. 도 12a와 관련하여, 블록(350)에서, 관계 영역범위 내의 트랙들의 서브세트를 철회하기 위해 부분적 철회를 위한 동작을 시작하면, 블록(352)에서, 삭제된 관계의 소스 및 타겟 트랙들의 영역범위를 소스 및 타겟 볼륨 내의 관계 메타데이터(102)로부터 판정하게 된다. 철회 요청은 관계 ID 또는 관계 영역범위를 제공할 수 있는데, 이러한 관계 ID 또는 관계 영역범위는 다음에, 부분적 철회를 당하는 관계에 관한 메타데이터를 포함하는 소스 및 타겟 볼륨의 위치를 찾아내기 위해 관계 메타데이터 (102)를 조회하는데 사용될 수 있다. 블록(354) 내지 도 12b의 블록(378)의 루프는 관계에 속한 트랙들의 영역범위로부터 트랙들의 서브세트를 철회하기 위해, 먼저 관계 내의 타겟 볼륨에 대해, 그 다음에 소스 볼륨에 대해 실행된다. 블록(356)에서, 저장장치 관리 소프트웨어(18)는 부분적 철회를 당하는 트랙들을 포함하는 하나 이상의 요소(130)의 위치를 찾아낸다. 그 다음에, 내부 루프는 철회하기 위한 트랙을 포함하는 각각의 찾아낸 요소 i에 대해 블록(358) 내지 도 12b의 블록(372)에서 실행된다. (블록(360)에서) 요소 i가 나타내는 모든 트랙이 관계로부터 철회되게 되면, 철회되는 관계 엔트리(140)로의 요소 i 내의 포인터(136)는 제거된다(블록(362)).
(블록(360)에서) 요소 i가 나타내는 모든 트랙이 철회되지 않으면, (도 12b의 블록(364)에서) 관계로부터 철회하기 위한 트랙들 범위 내의 최종 트랙을 요소 i가 포함하는지 판정이 이루어진다. (블록(364)의 아니오 브랜치로부터) 요소 i가 철회하기 위한 범위의 최종 트랙을 포함하면, (블록(366)에서) 요소 i는 2개의 새로운 요소로 대체되는데, 제1의 새로운 요소는 관계 영역범위와 중복하는 트랙들을 포함하고, 철회되는 트랙들 범위 내의 최종 트랙으로 끝나며, 제2의 새로운 요소는 철회되는 트랙들과 중복하지 않는 트랙들을 나타낸다. (블록(364)의 예 브랜치로부터) 요소 i가 철회하기 위한 범위의 제1의 트랙을 포함하면, (블록(368)에서) 요소 i는 2개의 새로운 요소로 대체되는데, 제1의 새로운 요소 i는 철회되는 트랙들과 중복하지 않는 트랙들을 포함하고, 제2의 새로운 요소 j는 철회되는 트랙들과 중복하는 트랙들을 포함하고, 철회되는 트랙들 범위 내의 제1 트랙으로 시작한다. (블록(370)에서) 요소 j가 요소 j 내의 최종 트랙이 아닌 영역범위의 최종 트랙을 포함하면, 블록(366)에서의 동작은 (블록(372)에서) 요소 j에 대해 실행되어, 영역범위와 중복하지 않는 요소 j의 끝에 있는 트랙들을 추출하여 그러한 비중복 트랙들을 다른 요소 내에 배치하기 위해 더욱 분할을 실행한다. 2개 또는 3개의 요소는 대체된 요소의 위치를 찾아낸 링크된 요소들 리스트에 추가될 수 있다. 블록(366) 또는 블록(370)으로부터, 제어는 대체된 요소 i에 의해 포인팅된 임의의 관계 엔트리를 포인팅하는 2개의 새로운 요소로의 하나 이상의 포인터(136)를 추가하기 위해 블록(374)으로 진행하고, (블록(376)에서) 철회되는 트랙들을 포함하는 새로운 요소로부터 관계 엔트리(140)로의 포인터(136)를 삭제한다. 그 다음, 제어는 (블록(378)에서) 철회되는 관계로부터 철회되는 임의의 트랙들을 제거하기 위해 블록(358)으로 다시 진행한다. 철회되는 관계로부터 트랙들을 제거한 후, 그 다음, 저장장치 관리 소프트웨어(18)는 (블록(380)에서) 동일한 관계 엔트리들을 포인팅하거나 관계 엔트리 없음을 포인팅하는 연속 요소(130)를 병합하기 위해 도 11의 단계(314 내지 324)를 실행한다. 타겟 볼륨을 위한 관계로부터 트랙을 제거한 후, 제어는 (블록(382)에서) 소스 볼륨으로부터 관계 내의 트랙들을 제거하기 위해 다시 블록(354)으로 진행한다.
도 12a 및 12b의 동작의 결과는 관계 영역범위 내의 트랙들의 서브세트가 소스 및 타겟 IMRT(20) 내의 관계 및 볼륨 메타데이터로부터 제거된다는 것이지만, 관계는 부분 철회되지 않는 트랙들에 관해서는 유지된다. 철회 후, 영역범위로부터 철회된 트랙은 다음에, 다른 설정된 관계에 사용될 수 있다. 또한, 그러한 철 회된 트랙에 대한 디스테이지 및 스테이지는 추가적인 인터셉트 체킹을 실행할 필요없이 발생할 수 있다.
대안적인 구현예에서, 도 12의 로직은 관계의 일부를 철회할 때 사용될 수 없다. 그 대신에, 하나 이상의 관계는 기존의(사전에 존재하는) 관계를 대체하기 위해 도 10a, 10b의 동작을 실행함으로써 추가될 수 있는데, 새로운 관계 내의 소스 및/또는 타겟 영역범위는 기존 관계의 영역범위의 서브세트이다. 그 후, 도 11의 로직은 기존의(사전에 존재하는) 관계를 구성하는 영역범위를 제거하기 위해 사용될 수 있다.
도 13은 본 발명의 구현예에 따른 디스테이지 및 스테이지 동작을 실행하도록 메모리(16) 내의 IMRT(20)를 사용하기 위해 저장장치 관리 소프트웨어(18)에 의해 실행된 동작을 도시한 것이다. (블록(400)에서) 캐시(14a, 14b) 내의 트랙을 디스테이지 또는 스테이지하라는 요청을 수신하면, 디스테이지 또는 스테이지하기 위한 트랙을 포함하는 볼륨의 IMRT(20)가 결정되고(블록(402), 스테이지 또는 디스테이지하기 위한 트랙을 포함하는 결정된 IMRT(20) 내의 요소(130)의 위치를 찾아낸다(블록(404)). (블록(406)에서) 찾아낸 요소가 요소 엔트리(140)로의 포인터(136)(도 7)를 포함하면, 저장장치 관리 소프트웨어(18)는 (블록(408)에서) 스테이지 또는 디스테이지를 행할 때 시점 복사 관계의 데이터 무결성을 보장하기 위해 스테이지 또는 디스테이지 인터셉트 루틴을 시작한다. 스테이지 또는 디스테이지 인터셉트는 소스 트랙이 대응하는 타겟 트랙(들)에 복사되거나, 또는 타겟 스테이지 또는 소스 디스테이지 전에 시점 복사 관계(들) 내의 타겟 캐시(14b)로 스테이 지되는 것을 보장할 것이다. 관계 엔트리(140)는 트랙들이 소스에서 타겟으로 봇사되었는지 판정하고 스테이지 또는 디스테이지 인터셉트를 처리하는 방식을 결정하기 위해 관계 메타데이터(102) 및 비트맵(102)의 위치를 찾도록 처리될 수 있다. 그렇지 않고, (블록(406)에서) 찾아낸 요소(130)가 관계 엔트리(140)로의 포인터(136)를 포함하지 않으면, 트랙의 디스테이지 또는 스테이지가 실행된다.
도 14는 전력 손실 후의 냉(cold)가동, 전력 손실없는 온(warm)가동 초기화 또는 리부팅(rebooting), 또는 기타 검출된 에러 상태에 응답하여 실행될 수 있는 에러 회복 프로세스를 시작하기 위해 저장장치 관리 시스템(18)에 의해 실행된 동작을 도시한 것이다. (블록(450)에서) 에러 회복 프로세스를 시작하면, 저장장치 관리 소프트웨어(18)는 저장장치 제어기(2)가 관리하는 모든 볼륨에 대해 메모리 내에 IMRT(20)를 재구성하기 위해 도 9의 동작을 실행한다. 소정의 구현예에서, IMRT는 메모리가 손실되었거나, 또는 IMRT가 불일치 상태에 있거나 손상된 경우에만 재구성된다. 그 다음, 저장장치 관리 소프트웨어(18)는 (블록(454)에서) 관계 내의 소스를 나타내는 각각의 소스 관계 엔트리에 대해, 동일한 관계 ID를 갖는 IMRT 내의 대응하는 타겟 관계 엔트리가 있는지 체크함으로써, 구성된 IMRT(20)를 고려하기 위한 유효화 동작을 실행한다. 설명된 바와 같이, 관계 엔트리(140)는 관계 엔트리(140)가 정의되는 볼륨이 소스용인지 타겟용인지와 같은 관계 정보(150)(도 8), 및 관계 ID를 포함할 수 있다. 그 다음, 저장장치 관리 소프트웨어(18)는 소스를 위한 관계 엔트리(140)를 찾을 때에, 동일한 관계 ID를 갖는 타겟을 나타내는 관계 엔트리(140)를 하나의 IMRT가 포함하는지 판정하기 위해, 비휘발성 관계 메타데이터(162) 내의 정보뿐만 아니라, 동일하거나 상이한 IMRT(20) 내의 다른 관계 엔트리(140)를 조회할 수 있다. (블록(456)에서) 타겟 관계 엔트리가 하나의 IMRT(20) 내에 구성되지 않았으면, 제어는 (블록(458)에서) 소스 관계 메타데이터(102) 내의 관계 블록(104a, 104b...104n)을 제거하고 소스 IMRT(20)로부터 관계 엔트리(140)를 제거하도록 도 11의 블록(304-326)을 실행하기 위해 진행한다.
(블록(456)에서) 각각의 찾아낸 소스 관계 엔트리에 대응하는 타겟 관계 엔트리가 있으면, 저장장치 관리 소프트웨어(18)는 (블록(460)에서) 관계 내의 소스를 나타내는 각각의 타겟 관계 엔트리에 대해, 동일한 관계 ID를 갖는 IMRT 내의 대응하는 소스 관계 엔트리가 있는지 체크하고, 이와 반대로 관계 내의 각각의 소스에 대해서도 마찬가지로 체크함으로써, 구성된 IMRT(20)를 고려하기 위한 유효화 동작을 실행한다. 그 다음, 저장장치 관리 소프트웨어(18)는 타겟을 위한 관계 엔트리(140)를 찾을 때, 관계 엔트리(140)가 동일한 관계 ID를 갖는 소스를 위한 것이라는 것을 관계 정보(150)가 나타내는 관계 엔트리(140)를 하나의 IMRT가 포함하는지 판정하기 위해, 동일하거나 상이한 IMRT(20) 내의 다른 관계 엔트리(140)를 조회할 수 있다. (블록(462)에서) 소스 관계 엔트리가 하나의 IMRT(20) 내에 구성되지 않았으면, 제어는 (블록(464)에서) 타겟 관계 메타데이터(102) 내의 관계 블록(104a, 104b...104n)을 제거하고 타겟 IMRT(20)로부터 관계 엔트리(140)를 제거하도록 도 11의 블록(304-326)을 실행하기 위해 진행한다.
추가 구현 상세
시점 복사 관계를 설정하고 관리하는 설명된 기술은 소프트웨어, 펌웨어, 하 드웨어, 또는 그들의 임의의 조합을 생산하기 위해 표준 프로그래밍 및/또는 엔지니어링 기술을 사용하는 방법, 장치 또는 제품으로서 구현될 수 있다. 여기에서 사용된 "제품"이라는 용어는 하드웨어 로직(예를 들어, 집적 회로 칩, 프로그램가능 게이트 어레이(PGA), 특정 용도 집적 회로(ASIC) 등), 또는 자기 저장 매체(예를 들어, 하드 디스크 드라이브, 플로피 디스크, 테이프 등), 광학 저장장치(CD-ROM, 광 디스크 등), 휘발성 및 비휘발성 메모리 장치(예를 들어, EEPROM, ROM, PROM, RAM, DRAM, SRAM, 펌웨어, 프로그램가능 로직 등)와 같은 컴퓨터 판독가능 매체 내에 구현된 코드 또는 로직을 칭하는 것이다. 컴퓨터 판독가능 매체 내의 코드는 프로세서 복합체에 의해 액세스되어 실행된다. 양호한 실시예가 구현되는 코드는 전송 매체를 통하거나 또는 파일 서버로부터 네트워크를 통해 더욱 액세스될 수 있다. 그러한 경우에, 코드가 구현되는 제품은 네트워크 전송 라인, 무선 전송 매체, 공간을 통해 전달하는 신호, 고주파, 적외선 신호 등과 같은 전송 매체를 포함할 수 있다. 그러므로, "제품"은 코드가 구현되는 매체를 포함할 수 있다. 부수적으로, "제품"은 코드가 구현되고, 프로세스되며, 실행되는 하드웨어 및 소프트웨어 컴포넌트의 조합을 포함할 수 있다. 물론, 본 분야에 숙련된 기술자들은 본 발명의 범위를 벗어나지 않고서 이 구성에 많은 변경이 이루어질 수 있으며, 제품이 본 분야에 공지된 매체를 전하는 임의의 정보를 포함할 수 있다는 것을 알 수 있을 것이다.
논리적 시점 복사 관계를 설정하기 위한 설명된 구현예는 높은 이용도가 더욱 뛰어난 중대한 데이터 환경에서 배치된 시스템과 함께 사용하도록 설명되었다. 그러나, 본 분야에 숙련된 기술자들은 여기에서 설명된 시점 복사 동작은 높은 이용도가 절대적으로 필요하지 않는 비-중대한 데이터를 위해 사용된 저장 시스템에 적용될 수 있다는 것을 알 수 있을 것이다.
소스 및 타겟 캐시는 동일한 메모리 장치 또는 분리된 메모리 장치 내에 구현될 수 있다.
시점 복사 관계를 관리하기 위한 설명된 기술은 소스 및 타겟 트랙이 동일하거나 상이한 트랙 번호를 가질 때 적용할 수 있다.
설명된 구현예에서, 관계는 상이한 볼륨들 내의 트랙들 사이의 시점 복사 관계에 관한 것이었다. 대안적인 구현예에서, 관계는 본 분야에 공지된 추가 유형의 복사 또는 데이터 관계를 포함할 수 있다.
도시된 도 9-14의 로직은 소정의 순서로 발생하는 소정의 이벤트를 도시한 것이다. 대안적인 구현예에서, 소정의 동작은 상이한 순서로 실행되거나, 변경되거나, 제거될 수 있다. 게다가, 단계들은 상술된 로직에 추가되고, 여전히 설명된 구현예를 따를 수 있다. 더욱이, 여기에서 설명된 동작은 순차적으로 발생할 수 있고, 또는 소정의 동작은 동시에 프로세스될 수 있다. 또한, 동작은 단일 프로세싱 유닛 또는 분산 프로세싱 유닛에 의해 실행될 수 있다.
변수 n 및 m은 설명된 요소들 중의 소정의 요소에 대한 임의의 정수 변수를 표시하기 위해 사용되고, 상이한 경우에서 사용될 때 동일하거나 상이한 정수 값을 나타낼 수 있다.
도 15는 도 1에 도시된 호스트 및 저장장치 제어기와 같은 네트워크 컴포넌 트의 컴퓨터 아키텍처(500)의 한 구현예를 도시한 것이다. 아키텍처(500)는 프로세서(502)(예를 들어, 마이크로프로세서), 메모리(504)(예를 들어, 휘발성 메모리 장치), 및 저장장치(506)(예를 들어, 자기 디스크 드라이브, 광 디스크 드라이브, 테이프 드라이브 등과 같은 비휘발성 저장장치)를 포함할 수 있다. 저장장치(506)는 내부 저장장치, 또는 부착되거나 네트워크 액세스가능한 저장장치를 포함할 수 있다.
저장장치(506) 내의 프로그램은 본 분야에 공지된 방식으로 메모리(504) 내로 로드되어 프로세서(502)에 의해 실행된다. 아키텍처는 네트워크와 통신을 가능하게 하기 위한 네트워크 카드(508)를 더 포함한다. 입력 장치(510)는 사용자 입력을 프로세서(502)에 제공하기 위해 사용되고, 키보드, 마우스, 스타일러스 펜, 마이크로폰, 접촉식 표시 화면, 또는 본 분야에 공지된 임의의 기타 활성화 또는 입력 메카니즘을 포함할 수 있다. 출력 장치(512)는 프로세서(502), 또는 디스플레이 모니터, 프린터, 저장장치 등과 같은 기타 컴포넌트로부터 전송된 정보를 제공할 수 있다.

Claims (24)

  1. 하나의 타겟 볼륨(target volume)과 하나의 소스 볼륨 사이의 관계를 관리하는 방법에 있어서,
    소스 볼륨 및 타겟 볼륨의 각각에 대해, 메모리 내에
    (a) 적어도 하나의 요소 - 각각의 요소는 볼륨 내의 순차 데이터 유닛들의 범위를 나타냄-;
    (ii) 적어도 하나의 관계 엔트리 - 각각의 관계 엔트리는 하나의 관계를 나타냄;
    (iii) 하나의 요소를 하나의 관계 엔트리와 관련시키는 적어도 하나의 요소 포인터 - 상기 요소가 나타내는 상기 데이터 유닛들은 상기 포인터가 상기 요소와 관련시키는 상기 관계 엔트리가 나타내는 관계의 일부분임; 및
    (iv) 관계 엔트리를 볼륨 메타데이터와 관련시키는 각각의 관계 엔트리를 위한 하나의 관계 포인터 - 상기 볼륨 메타데이터는 상기 관계 엔트리가 나타내는 관계에 관한 정보를 제공함-
    를 생성하는 단계를 포함하는 방법.
  2. 제1항에 있어서, 상기 소스 및 타겟 볼륨 메타데이터는 각각 상기 소스 및 타겟 볼륨 내에 비휘발성 저장으로 저장되는 것인 방법.
  3. 제2항에 있어서, 상기 적어도 하나의 관계 엔트리, 상기 적어도 하나의 요소 포인터 및 상기 적어도 하나의 관계 포인터를 더 포함하는 것인 방법.
  4. 제3항에 있어서, 상기 볼륨 메타데이터는 다수의 볼륨 상에서 처리되고, 다른 하나의 볼륨과의 관계를 식별하는 볼륨 메타데이터를 포함하는 각각의 볼륨에 대해 한 세트의 요소들, 관계 엔트리들, 요소 포인터들 및 관계 포인터들을 생성하는 것인 방법.
  5. 제4항에 있어서, 하나의 볼륨 내의 볼륨 메타데이터가 그 볼륨이 포함되는 어떤 관계들을 식별하지 못하면, 상기 메모리 내에 상기 볼륨 상의 모든 사용자 데이터 유닛들을 나타내는 상기 볼륨에 대한 요소가 없다는 것을 나타내는 단계를 더 포함하는 것인 방법.
  6. 제3항에 있어서, 각각의 관계에 대해, 상기 메모리 내에 생성된 소스 및 타겟 관계 정보가 있는지 판정하는 단계; 하나의 판정된 관계에 대해 상기 메모리 내에 생성된 타겟 관계 정보가 없으면, 상기 메모리로부터 상기 판정된 관계에 대한 소스 관계 정보를 제거하고, 상기 소스 볼륨 메타데이터로부터 상기 판정된 관계에 대한 관계 정보를 제거하는 단계; 및 하나의 판정된 관계에 대해 상기 메모리 내에 생성된 소스 관계 정보가 없으면, 상기 메모리로부터 상기 판정된 관계에 대한 타겟 관계 정보를 제거하고, 상기 타겟 볼륨 메타데이터로부터 상기 판정된 관계에 대한 관계 정보를 제거하는 단계를 더 포함하는 것인 방법.
  7. 제6항에 있어서, 상기 메모리로부터 상기 소스 또는 타겟 관계 정보를 제거하는 단계는 상기 메모리로부터 상기 관계 내의 상기 소스 볼륨에 대해 생성된 상기 관계 엔트리, 상기 적어도 하나의 요소 포인터 및 상기 관계 포인터를 제거하는 단계를 포함하는 것인 방법.
  8. 제1항에 있어서, 상기 볼륨 메타데이터는 상기 관계 내에서 하나의 소스 데이터 유닛이 대응하는 타겟 데이터 유닛으로 복사되었는지를 나타내는 한 비트를 포함하는 관계 비트맵을 더 포함하는 것인 방법.
  9. 제1항에 있어서, 상기 볼륨 메타데이터는 상기 볼륨으로부터의 데이터 유닛들을 포함하는 각각의 복사 관계에 대한 관계 블록을 더 포함하고, 상기 관계 블록은 상기 볼륨 내의 데이터 유닛들이 상기 관계 내에서 타겟인지 소스인지의 여부, 및 상기 관계 내의 볼륨 내에서의 데이터 유닛들의 영역범위(extent)를 나타내는 것인 방법.
  10. 제1항에 있어서, 상기 메모리 내에 상기 적어도 하나의 요소를 생성하는 단계는 각각의 관계 내에 포함된 각각의 데이터 유닛들의 범위를 판정하기 위해 상기 볼륨 메타데이터를 처리하는 단계; 및 적어도 하나의 관계 내에 포함된 각각의 데 이터 유닛들의 범위에 대해 하나의 요소를 생성하는 단계를 더 포함하는 것인 방법.
  11. 제10항에 있어서, 상기 메모리 내에 상기 적어도 하나의 요소를 생성하는 단계는 하나의 관계 내에 포함된 요소들 내의 데이터 유닛들의 범위들 이전 또는 이후의 데이터 유닛들의 범위들을 포함하는 요소들을 생성하는 단계를 더 포함하고, 상기 생성된 요소들은 모두 함께 관계들 내의 데이터 유닛들의 범위들과 관계들 내에 포함되지 않은 데이터 유닛들의 범위들을 포함해서, 상기 볼륨 내의 모든 사용자 데이터 유닛들을 나타내는 것인 방법.
  12. 제10항에 있어서, 각각의 생성된 요소는 적어도 하나의 요소에 링크되고, 링크된 요소들은 연속된 데이터 유닛들의 범위들을 포함하는 것인 방법.
  13. 제1항에 있어서, 상기 볼륨 메타데이터는 상기 볼륨 메타데이터 내에 표시된 각각의 관계에 대한 관계 정보를 포함하는 하나의 관계 블록을 포함하고, 상기 관계 엔트리 및 상기 관계 포인터를 생성하는 단계는 상기 볼륨 메타데이터 내에서 식별된 각각의 관계에 대한 하나의 관계 엔트리를 생성하는 단계를 더 포함하고, 상기 관계 엔트리는 상기 볼륨 메타데이터 내에 포함된 관계 정보의 서브세트를 포함하며, 하나의 관계 엔트리를 상기 볼륨 메타데이터와 관련시키는 각각의 관계 포인터는 하나의 관계 엔트리를 상기 관계를 나타내는 대응하는 관계 블록과 관련시 키는 것인 방법.
  14. 제1항에 있어서, 캐시(cache)로부터 데이터 유닛을 스테이지(stage) 또는 디스테이지(destage)하라는 요청을 수신하는 단계; 상기 요청된 데이터 유닛이 하나의 요소를 한 관계 엔트리와 관련시키는 하나의 요소 포인터를 갖는 하나의 요소가 나타내는 데이터 유닛들의 범위 내에 포함되는지 판정하는 단계; 상기 요청된 데이터 유닛이 한 관계와 관련된 하나의 요소 내에 포함되면, 상기 요청된 데이터 유닛이 상기 타겟 데이터 유닛으로 복사되었는지 판정하는 단계; 및 상기 소스 데이터 유닛이 상기 타겟 데이터 유닛으로 복사되지 않았다면, 상기 스테이지 또는 디스테이지 동작을 실행하기 전에 상기 소스 데이터 유닛을 상기 타겟 데이터 유닛으로 복사하는 단계를 더 포함하는 것인 방법.
  15. 제1항에 있어서, 상기 타겟 볼륨과 소스 볼륨 사이의 관계는 시점 복사(point-in-time copy) 관계를 포함하는 것인 방법.
  16. 제1항에 있어서, 하나의 관계 내에서 소스 데이터 유닛과 대응하는 타겟 데이터 유닛은 데이터 유닛 번호가 서로 다른 것인 방법.
  17. 하나의 타겟 볼륨과 하나의 소스 볼륨 사이의 관계를 관리하는 시스템에 있어서,
    소스 볼륨 및 타겟 볼륨의 각각에 대해,
    (a) 적어도 하나의 요소 - 각각의 요소는 볼륨 내의 순차 데이터 유닛들의 범위를 나타냄-;
    (ii) 적어도 하나의 관계 엔트리 - 각각의 관계 엔트리는 하나의 관계를 나타냄;
    (iii) 하나의 요소를 하나의 관계 엔트리와 관련시키는 적어도 하나의 요소 포인터 - 상기 요소가 나타내는 상기 데이터 유닛들은 상기 포인터가 상기 요소와 관련시키는 상기 관계 엔트리가 나타내는 관계의 일부분임; 및
    (iv) 관계 엔트리를 볼륨 메타데이터와 관련시키는 각각의 관계 엔트리에 대한 하나의 관계 포인터 - 상기 볼륨 메타데이터는 상기 관계 엔트리가 나타내는 관계에 관한 정보를 제공함-
    를 포함하는 메모리를 포함하는 시스템.
  18. 제17항에 있어서, 상기 소스 및 타겟 볼륨 메타데이터는 각각 상기 소스 및 타겟 볼륨 내에 비휘발성 저장으로 저장되는 것인 시스템.
  19. 제18항에 있어서, 상기 적어도 하나의 요소, 상기 적어도 하나의 관계 엔트리, 상기 적어도 하나의 요소 포인터 및 상기 적어도 하나의 관계 포인터를 메모리 내에 생성하기 위해 상기 볼륨 메타데이터를 처리하는 수단을 더 포함하는 것인 시스템.
  20. 제19항에 있어서, 상기 볼륨 메타데이터는 다수의 볼륨 상에서 처리되고, 다른 하나의 볼륨과의 관계를 식별하는 볼륨 메타데이터를 포함하는 각각의 볼륨에 대해 한 세트의 요소들, 관계 엔트리들, 요소 포인터들 및 관계 포인터들을 생성하는 것인 시스템.
  21. 제17항에 있어서, 각각의 관계 내에 포함된 각각의 데이터 유닛들의 범위를 판정하기 위해 상기 볼륨 메타데이터를 처리하는 수단; 및 적어도 하나의 관계 내에 포함된 각각의 데이터 유닛들의 범위에 대해 하나의 요소를 생성하는 수단을 더 포함하는 것인 시스템.
  22. 제21항에 있어서, 하나의 관계 내에 포함된 요소들 내의 데이터 유닛들의 범위들 이전 또는 이후의 데이터 유닛들의 범위들을 포함하는 요소들을 생성하는 수단을 더 포함하고, 상기 생성된 요소들은 모두 함께 관계들 내의 데이터 유닛들의 범위들과 관계들 내에 포함되지 않은 데이터 유닛들의 범위들을 포함해서, 상기 볼륨 내의 모든 사용자 데이터 유닛들을 함께 나타내는 것인 시스템.
  23. 제17항에 있어서, 상기 볼륨 메타데이터는 상기 볼륨 메타데이터 내에 표시된 각각의 관계에 대한 관계 정보를 포함하는 하나의 관계 블록을 포함하고; 상기 볼륨 메타데이터 내에서 식별된 각각의 관계에 대한 하나의 관계 엔트리를 생성하 는 수단을 더 포함하고, 상기 관계 엔트리는 상기 볼륨 메타데이터 내에 포함된 관계 정보의 서브세트를 포함하며, 하나의 관계 엔트리를 상기 볼륨 메타데이터와 관련시키는 각각의 관계 포인터는 하나의 관계 엔트리를 상기 관계를 나타내는 대응하는 관계 블록과 관련시키는 것인 시스템.
  24. 제1항 내지 제16항 중 어느 한 항의 방법의 단계들을 실행하는 컴퓨터 프로그램 코드 수단을 포함하는 컴퓨터 프로그램.
KR1020057022074A 2003-06-17 2004-06-08 하나의 타겟 볼륨과 하나의 소스 볼륨 사이의 관계 관리 KR100819022B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/463,968 US7047390B2 (en) 2003-06-17 2003-06-17 Method, system, and program for managing a relationship between one target volume and one source volume
US10/463,968 2003-06-17

Publications (2)

Publication Number Publication Date
KR20060007435A true KR20060007435A (ko) 2006-01-24
KR100819022B1 KR100819022B1 (ko) 2008-04-02

Family

ID=33517179

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020057022074A KR100819022B1 (ko) 2003-06-17 2004-06-08 하나의 타겟 볼륨과 하나의 소스 볼륨 사이의 관계 관리

Country Status (8)

Country Link
US (1) US7047390B2 (ko)
EP (1) EP1636690B1 (ko)
JP (1) JP4398464B2 (ko)
KR (1) KR100819022B1 (ko)
CN (1) CN100489757C (ko)
AT (1) ATE368886T1 (ko)
DE (1) DE602004007925T2 (ko)
WO (1) WO2004111852A2 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101522443B1 (ko) * 2008-10-30 2015-05-21 인터내셔널 비지네스 머신즈 코포레이션 플래시카피 처리방법 및 시스템

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007506388A (ja) * 2003-09-25 2007-03-15 サムスン エレクトロニクス カンパニー リミテッド オーディオ及びビデオデータのディスプレイ装置及びディスプレイ方法と該方法を行うプログラムが記録された記録媒体
US7257663B2 (en) * 2004-11-17 2007-08-14 International Business Machines Corporation Initiating and using information used for a host, control unit, and logical device connections
US7694038B2 (en) * 2004-11-17 2010-04-06 International Business Machines Corporation Maintaining and using nexus information on a host, port and device connection
KR100736100B1 (ko) 2005-01-13 2007-07-06 삼성전자주식회사 디지털 저작권 관리 장치 및 방법
US8903766B2 (en) * 2005-10-31 2014-12-02 Hewlett-Packard Development Company, L.P. Data mirroring using a virtual connection
US7467268B2 (en) * 2006-04-14 2008-12-16 Hewlett-Packard Development Company, L.P. Concurrent data restore and background copy operations in storage networks
US8006049B2 (en) * 2007-01-18 2011-08-23 International Business Machines Corporation Export of logical volumes by pools
US7996093B2 (en) * 2008-01-24 2011-08-09 Rockwell Automation Technologies, Inc. Automatic controller relationship resolution
US8806101B2 (en) * 2008-12-30 2014-08-12 Intel Corporation Metaphysical address space for holding lossy metadata in hardware
US8285679B2 (en) * 2010-03-11 2012-10-09 International Business Machines Corporation Creating a buffer point-in-time copy relationship for a point-in-time copy function executed to create a point-in-time copy relationship
US8433870B2 (en) 2010-10-12 2013-04-30 International Business Machines Corporation Multiple incremental virtual copies
US8825973B2 (en) * 2012-01-17 2014-09-02 International Business Machines Corporation Caching source blocks of data for target blocks of data
US11030125B2 (en) * 2013-02-05 2021-06-08 International Business Machines Corporation Point in time copy operations from source volumes to space efficient target volumes in two stages via a non-volatile storage
US9720786B2 (en) 2014-04-22 2017-08-01 International Business Machines Corporation Resolving failed mirrored point-in-time copies with minimum disruption
US10007602B2 (en) 2014-05-06 2018-06-26 International Business Machines Corporation Flash copy relationship management
US9971525B2 (en) 2015-02-26 2018-05-15 Red Hat, Inc. Peer to peer volume extension in a shared storage environment
US10108352B2 (en) 2015-03-03 2018-10-23 International Business Machines Corporation Incremental replication of a source data set
CN105677250B (zh) * 2016-01-04 2019-07-12 北京百度网讯科技有限公司 对象存储系统中的对象数据的更新方法和更新装置

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5615329A (en) * 1994-02-22 1997-03-25 International Business Machines Corporation Remote data duplexing
US5740435A (en) 1994-10-31 1998-04-14 Sony Corporation Data management apparatus and method for managing data of variable lengths recorded on a record medium
US6405294B1 (en) 1995-12-29 2002-06-11 Mci Communications Corporation Data center migration method and system using data mirroring
JP4363676B2 (ja) * 1997-10-31 2009-11-11 株式会社東芝 コンピュータシステム
US6076148A (en) 1997-12-26 2000-06-13 Emc Corporation Mass storage subsystem and backup arrangement for digital data processing system which permits information to be backed up while host computer(s) continue(s) operating in connection with information stored on mass storage subsystem
US6151624A (en) * 1998-02-03 2000-11-21 Realnames Corporation Navigating network resources based on metadata
US6189079B1 (en) 1998-05-22 2001-02-13 International Business Machines Corporation Data copy between peer-to-peer controllers
US6611901B1 (en) 1999-07-02 2003-08-26 International Business Machines Corporation Method, system, and program for maintaining electronic data as of a point-in-time
US6338114B1 (en) * 1999-08-18 2002-01-08 International Business Machines Corporation Method, system, and program for using a table to determine an erase operation to perform
US6799258B1 (en) * 2001-01-10 2004-09-28 Datacore Software Corporation Methods and apparatus for point-in-time volumes
US6898688B2 (en) * 2001-12-28 2005-05-24 Storage Technology Corporation Data management appliance
KR100860984B1 (ko) * 2002-10-15 2008-09-30 삼성전자주식회사 메타데이터 관리 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101522443B1 (ko) * 2008-10-30 2015-05-21 인터내셔널 비지네스 머신즈 코포레이션 플래시카피 처리방법 및 시스템

Also Published As

Publication number Publication date
CN100489757C (zh) 2009-05-20
EP1636690A2 (en) 2006-03-22
CN1997960A (zh) 2007-07-11
DE602004007925T2 (de) 2008-04-24
EP1636690B1 (en) 2007-08-01
US20040260869A1 (en) 2004-12-23
WO2004111852A2 (en) 2004-12-23
KR100819022B1 (ko) 2008-04-02
WO2004111852A3 (en) 2006-01-05
JP2006527874A (ja) 2006-12-07
ATE368886T1 (de) 2007-08-15
DE602004007925D1 (de) 2007-09-13
US7047390B2 (en) 2006-05-16
JP4398464B2 (ja) 2010-01-13

Similar Documents

Publication Publication Date Title
KR100819022B1 (ko) 하나의 타겟 볼륨과 하나의 소스 볼륨 사이의 관계 관리
US10831613B2 (en) Replicating a source data set to a target data store
CN103365743B (zh) 用于在计算环境中处理快照的方法和系统
US7877357B1 (en) Providing a simulated dynamic image of a file system
US7593973B2 (en) Method and apparatus for transferring snapshot data
US7975115B2 (en) Method and apparatus for separating snapshot preserved and write data
EP2391968B1 (en) System and method for secure and reliable multi-cloud data replication
US8200631B2 (en) Snapshot reset method and apparatus
US20080077629A1 (en) System, Method and Computer Program Product for Managing Data Versions
US20050149683A1 (en) Methods and systems for data backups
US8015155B2 (en) Non-disruptive backup copy in a database online reorganization environment
US9218138B1 (en) Restoring snapshots to consistency groups of mount points
JP6604115B2 (ja) ストレージ装置およびストレージ制御プログラム
US7216210B2 (en) Data I/O system using a plurality of mirror volumes
US8627011B2 (en) Managing metadata for data in a copy relationship
US7818533B2 (en) Storing location identifier in array and array pointer in data structure for write process management
US7047378B2 (en) Method, system, and program for managing information on relationships between target volumes and source volumes when performing adding, withdrawing, and disaster recovery operations for the relationships
US20060015696A1 (en) Integrated storage device
US8447944B2 (en) Information processing device and data shredding method
US20050149548A1 (en) One-way data mirror using copy-on-write
US20050149554A1 (en) One-way data mirror using write logging
JP4644446B2 (ja) 関係に関する追加動作を実行する時にターゲット・ボリュームとソース・ボリュームとの間の関係に関する情報を管理する方法、システム、およびプログラム

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20120118

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee