KR101055918B1 - 패일오버에 따른 캐시 데이터의 보존 - Google Patents

패일오버에 따른 캐시 데이터의 보존 Download PDF

Info

Publication number
KR101055918B1
KR101055918B1 KR1020097011956A KR20097011956A KR101055918B1 KR 101055918 B1 KR101055918 B1 KR 101055918B1 KR 1020097011956 A KR1020097011956 A KR 1020097011956A KR 20097011956 A KR20097011956 A KR 20097011956A KR 101055918 B1 KR101055918 B1 KR 101055918B1
Authority
KR
South Korea
Prior art keywords
data
local
storage
fast write
write data
Prior art date
Application number
KR1020097011956A
Other languages
English (en)
Other versions
KR20090099523A (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 KR20090099523A publication Critical patent/KR20090099523A/ko
Application granted granted Critical
Publication of KR101055918B1 publication Critical patent/KR101055918B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0804Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
    • 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
    • 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/2089Redundant storage control functionality
    • G06F11/2092Techniques of failing over between control units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • 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/1666Error detection or correction of the data by redundancy in hardware where the redundant component is memory or memory area
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

디스크 저장소와 한 쌍의 클러스터들을 갖춘 데이터 저장 서브시스템에서, 하나의 세트의 DASD 고속 기록 데이터는 하나의 클러스터의 캐시 데이터 저장소내에 위치하고, 다른 클러스터의 비휘발성 데이터 저장소내에 위치한다. 한 쌍의 클러스터들 중 하나의 클러스터의 로컬 클러스터로의 패일오버에 대한 응답으로, 로컬 클러스터는 로컬 클러스터내의 DASD 고속 기록 데이터를 패일오버 변환된 고속 기록 데이터로 변환시켜서 디스크 저장소에 대한 디스테이징에 대하여 이 패일오버 변환된 데이터에 우선순위를 매긴다. 디스테이징에 대한 실패에 응답하여, 로컬 클러스터는 로컬 비휘발성 저장소 트랙을 할당하고 호스트 아답터를 에뮬레이팅하여 로컬 비휘발성 저장소에 의해 패일오버 변환된 고속 기록 데이터를 저장하며, 이로써 비휘발성 저장소의 패일오버 변환된 고속 기록 데이터를 로컬 비휘발성 저장소 및 로컬 캐시 저장소내에 저장된 로컬 DASD 고속 기록 데이터로 재변환시킨다.
디스크, 저장, 클러스터, 데이터, DASD, 캐시, 비휘발성, 패일오버, 디스테이징, 트랙, 할당, 호스트 아답터.

Description

패일오버에 따른 캐시 데이터의 보존{PRESERVATION OF CACHE DATA FOLLOWING FAILOVER}
본 발명은 데이터 저장 서브시스템의 분야에 관한 것이며, 보다 구체적으로는 한 쌍의 클러스터들 중의 하나의 클러스터로부터 로컬 클러스터로의 패일오버의 경우에 데이터의 보존을 관리하는 것에 관한 것이다.
데이터 저장 서브시스템은, 처음에 호스트 시스템으로부터 DASD 고속 기록 데이터와 같은 데이터를 저장하고, 이어서 DASD 또는 디스크 드라이브와 같은 보다 영구적인 데이터 저장소에 이러한 데이터를 디스테이징(destage)하기 위해 다양한 형태의 데이터 저장소를 포함할 수 있다. 일 예로서, 데이터 저장 서브시스템은 한 쌍의 클러스터를 포함할 수 있는데, 각각의 클러스터는 휘발성인 캐시 데이터 저장소와 비휘발성 데이터 저장소를 갖는다. 논리 서브시스템의 이중 모드 DASD 고속 기록 데이터의 한 세트는 제1 클러스터의 캐시 데이터 저장소와 제2 클러스터의 비휘발성 데이터 저장소에 저장되고, 다른 논리 서브시스템의 이중 모드 DASD 고속 기록 데이터는 제2 클러스터의 캐시 데이터 저장소와 제1 클러스터의 비휘발성 데이터 저장소에 저장된다는 점에서, 한 쌍의 클러스터는 데이터에 대한 백업기능을 제공한다. 예를 들어, 이중 클러스터 모드에서, 짝수번째 논리 서브시스템은 왼쪽 클러스터에서의 캐시 데이터 저장소와 오른쪽 클러스터에서의 비휘발성 저장소를 사용하고, 홀수번째 논리 서브시스템은 오른쪽 클러스터에서의 캐시 데이터 저장소와 왼쪽 클러스터에서의 비휘발성 저장소를 사용한다.
그 결과, 예컨대 전원 고장 또는 리부팅 경우시에 이중 모드 DASD 고속 기록 데이터 모두는 클러스터들 중 하나의 클러스터내의 비휘발성 저장소에 저장됨으로써 보호가 된다.
클러스터들 중 하나의 클러스터의 고장의 경우에, 나머지 다른 클러스터로의 패일오버(failover)가 실행되어, 이중 모드 DASD 고속 기록 데이터 모두는 이러한 나머지 다른 클러스터상에서 이용가능해지는데, 여기서 하나의 데이터 세트는 비휘발성 데이터 저장소내에 저장되고, 다른 세트의 데이터는 캐시 데이터 저장소내에 저장된다.
따라서, 한 쌍의 클러스터들 중 하나의 클러스터의 로컬 클러스터로의 패일오버에 대한 응답으로, 로컬 캐시 저장소내에 저장되어 있고 다른 클러스터내의 비휘발성 저장소내에 저장된 것으로 알려졌던 이중 모드 DASD 고속 기록 데이터는 해당 데이터의 유일한 복사본이 된다. 캐시 데이터 저장소는 휘발성이므로, 해당 데이터의 유일한 복사본은 쉽게 취약해져 버린다.
적어도 하나의 호스트 아답터와 관련된 데이터를 저장하기 위한 데이터 저장 서브시스템, 데이터 저장 서브시스템의 클러스터들, 컴퓨터 프로그램 제품 및 방법이 제공되며, 여기서는 한 쌍의 클러스터들 중 하나의 클러스터의 패일오버가 존재할 수 있다.
데이터 저장 서브시스템의 실시예는 데이터를 저장하도록 구성된 디스크 저장소;와 한 쌍의 클러스터들을 포함한다. 클러스터는 로컬 비휘발성 데이터 저장소; 로컬 캐시 데이터 저장소; 및 논리 서브시스템의 DASD 고속 기록 데이터를 로컬 비휘발성 데이터 저장소내에 저장하고 다른 논리 서브시스템의 DASD 고속 기록 데이터를 로컬 캐시 데이터 저장소내에 저장하도록 구성된 서브시스템 제어부를 포함한다.
일 실시예에서, 한 쌍의 클러스터들 중 하나의 클러스터의 로컬 클러스터로의 패일오버에 대한 응답으로, 로컬 클러스터는 로컬 캐시 저장소의 이중 모드 DASD 고속 기록 데이터를 패일오버 변환된 고속 기록 데이터로 변환시키고, 디스크 저장소에 데이터를 디스테이징하는데 있어서 이 패일오버 변환된 고속 기록 데이터에 대해 다른 고속 기록 데이터보다 높은 우선순위를 부여한다.
다른 실시예에서, 클러스터의 서브시스템 제어부는 비휘발성 저장 제어부와 캐시 제어부로서 구현되고, 캐시 제어부는 패일오버 변환된 고속 기록 데이터가 디스크 저장소에 대한 디스테이징에 관한 우선순위에 따라 프로세싱되도록 패일오버 변환된 고속 기록 데이터에 대한 새로운 리스트를 생성한다.
또 다른 실시예에서, 클러스터의 서브시스템 제어부는 추가적으로, 로컬 비휘발성 저장소내에, 로컬 캐시 데이터 저장소내에 저장된 다른 논리 서브시스템의 이중 모드 DASD 고속 기록 데이터의 트랙 ID 엔트리들을 저장하도록 구성된다. 한 쌍의 클러스터들 중 하나의 클러스터의 로컬 클러스터로의 패일오버에 대한 응답으로, 서브시스템 제어부는 고장난 클러스터의 이중 모드 DASD 고속 기록 데이터의 트랙 ID 엔트리들을 해당 데이터의 로컬 트랙 ID 엔트리들로 변환시키고 이로써 로컬 캐시 저장소의 이중 모드 DASD 고속 기록 데이터를 패일오버 변환된 고속 기록 데이터로 변환시키고; 변경된 트랙 ID를 새로운 리스트에 추가하도록 구성된다.
다른 실시예에서, 데이터 저장 서브시스템은 적어도 하나의 호스트 아답터와 관련된 데이터를 저장하도록 구성되고, 데이터를 저장하도록 구성된 디스크 저장소와 한 쌍의 클러스터들을 포함한다. 클러스터는 로컬 비휘발성 데이터 저장소; 로컬 캐시 데이터 저장소; 및 논리 서브시스템의 이중 모드 DASD 고속 기록 데이터를 로컬 비휘발성 데이터 저장소내에 저장하고 다른 논리 서브시스템의 이중 모드 DASD 고속 기록 데이터를 로컬 캐시 데이터 저장소내에 저장하도록 구성된 서브시스템 제어부를 포함한다. 한 쌍의 클러스터들 중 하나의 클러스터의 로컬 클러스터로의 패일오버에 대한 응답으로, 클러스터는 로컬 캐시 저장소의 이중 모드 DASD 고속 기록 데이터를 패일오버 변환된 고속 기록 데이터로 변환시키고 로컬 캐시 데이터 저장소로부터의 데이터를 디스크 저장소에 디스테이징하는 것을 시도하도록 구성되며, 패일오버 변환된 고속 기록 데이터를 디스크 저장소에 디스테이징하는 것의 실패에 응답하여, 로컬 비휘발성 저장 트랙을 할당하고 호스트 아답터를 에뮬레이팅하여 로컬 캐시 데이터 저장소의 패일오버 변환된 고속 기록 데이터를 로컬 비휘발성 저장소에 의한 저장을 위해 로컬 비휘발성 저장소에 제공함으로써, 로컬 캐시 데이터 저장소의 패일오버 변환된 고속 기록 데이터를 로컬 비휘발성 저장소내 및 로컬 캐시 저장소내에 저장된 로컬 단일 모드 DASD 고속 기록 데이터로 재변환시키도록 구성된다.
다른 실시예에서, 각각의 클러스터들의 서브시스템 제어부는 패일오버 변환되어 제공된 고속 기록 데이터를 로컬 비휘발성 저장소가 위임(commit)하도록 하기 위한 호스트 아답터 유형 위임 메세지를 로컬 비휘발성 저장소에 보내도록 구성된다.
또 다른 실시예에서, 클러스터의 서브시스템 제어부는, 로컬 비휘발성 저장소내에, 로컬 캐시 데이터 저장소내에 저장된 고속 기록 데이터의 트랙 ID 엔트리들을 저장하도록 구성되고; 추가적으로, 호스트 아답터 유형 위임 메세지에 대한 로컬 비휘발성 저장소로부터의 위임 확인응답에 대한 응답으로, 위임되는 패일오버 변환된 고속 기록 데이터에 대한 캐시 트랙 ID 엔트리를 로컬 비휘발성 저장소에서 제거하도록 구성된다.
다른 실시예에서, 클러스터의 서브시스템 제어부는 패일오버 변환된 고속 기록 데이터로부터 재변환된 DASD 고속 기록 데이터를 디스크 저장소에 디스테이징되는 DFW 리스트에 추가시킨다.
다른 실시예에서, 클러스터의 서브시스템 제어부는 비휘발성 저장소 제어부, 캐시 제어부 및 레트로 저장 제어부로서 구현된다. "레트로(retro) 저장 제어부"는 호스트 아답터를 에뮬레이팅하는 제어부 또는 제어 코드이다. 캐시 제어부는 기록을 위한 비휘발성 저장 세그먼트들을 할당하도록 비휘발성 저장 제어부를 호출하며; 레트로 저장 제어부는 호스트 아답터를 에뮬레이팅하여 패일오버 변환된 고속 기록 데이터를 비휘발성 저장 세그먼트들에 복사해둔다.
이제 부터 첨부된 도면들을 참조하면서 본 발명의 실시예들을 단순히 실례들을 통해서 설명할 것이다.
도 1은 본 발명의 실시예들을 구현할 수 있는 데이터 저장 서브시스템을 도시하는 블럭도이다.
도 2는 순차적 고속 기록 데이터로 호칭될 수 있는, 도 1의 데이터 저장 서브시스템에 의해 저장되는 하나의 유형의 데이터의 임시 저장소에 관한 종래기술의 개략도이다.
도 3은 DASD 고속 기록 데이터로 호칭될 수 있는, 도 1의 데이터 저장 서브시스템에 의해 저장되는 다른 유형의 데이터의 임시 저장소에 관한 종래기술의 개략도이다.
도 4는 도 3의 DASD 고속 기록 데이터를 수신하고 임시적으로 데이터를 저장하기 위한 종래기술의 프로세스의 개략도이다.
도 5는 본 발명에 따른 패일오버 프로세싱을 도시하는 흐름도이다.
도 6은 도 5의 패일오버 프로세스의 개략도이다.
도 7은 도 1의 데이터 저장 서브시스템의 단일 클러스터 모드에서 DASD 고속 기록 데이터를 수신하기 위한 종래기술의 프로세스의 개략도이다.
도 8은 데이터를 디스크 저장소에 디스테이징할 수 없을 때의 본 발명에 따른 패일오버 프로세싱을 도시하는 흐름도이다.
본 발명은 도면들을 참조하여 아래의 상세한 설명에서의 바람직한 실시예들에서 서술되며, 도면에서 동일 부호들은 동일하거나 또는 유사한 구성요소들 나타낸다. 비록 본 발명의 목적을 달성하기 위한 최상의 모드의 측면에서 본 발명을 서술하지만, 본 발명분야의 당업자라면 본 발명의 사상 또는 범위로부터 일탈하는 것 없이 이러한 교시내용을 통해 여러 변형들이 달성될 수 있음을 이해할 것이다.
도 1을 참조하면, 데이터 저장 서브시스템(100)은 클러스터(110) 및 이와 다른 클러스터(120)를 포함한다. 클러스터(110)는 적어도 서브시스템 제어부(132), 로컬 비휘발성 데이터 저장소(134), 및 로컬 캐시 데이터 저장소(136)를 포함하는 집합체(130)를 포함한다. 이와 마찬가지로, 클러스터(120)는 적어도 서브시스템 제어부(142), 로컬 비휘발성 데이터 저장소(144), 및 로컬 캐시 데이터 저장소(146)를 포함하는 집합체(140)를 포함한다. 각각의 클러스터에서, 서브시스템 제어부는 집합체의 나머지들과 완전히 분리될 수 있거나, 또는 로컬 비휘발성 데이터 저장소 및/또는 로컬 캐시 데이터 저장소에 의해 부분적으로 통합될 수 있다. 서브시스템 제어부(132, 142)는 마이크로프로세서(들)을 동작시키기 위한 정보 및 프로그램 정보를 저장하기 위한 메모리와 함께 로직 및/또는 하나 이상의 마이크로프로세서들을 포함한다. 여기서, "프로세서" 또는 "제어부"는 임의의 적합한 로직, 프로그램가능 로직, 마이크로프로세서, 및 프로그램 명령에 대해 응답하는 연계된 메모리 또는 내부 메모리를 포함할 수 있으며, 연계된 메모리 또는 내부 메모리는 고정 또는 재기록가능 메모리 또는 데이터 저장 장치를 포함할 수 있다. 프로그램 정보는, 호스트 시스템으로부터 또는 데이터 저장 드라이브 또는 디스크 어레이를 통하거 나, 또는 플로피 디스크 또는 광 디스크로부터의 입력에 의해, 또는 카트리지로부터 판독됨으로써, 또는 웹 사용자 인터페이스 또는 기타 네트워크 접속에 의해, 또는 임의의 기타 적합한 수단에 의해 서브시스템 제어부 또는 메모리에 제공될 수 있다. 따라서, 프로그램 정보는 클러스터(110)를 동작시키기 위해 및/또는 클러스터(120) 또는 이와 유사한 유형의 시스템 또는 장치를 동작시키기 위해 내장된 컴퓨터 사용가능 프로그램 코드를 갖는 컴퓨터 사용가능 매체를 포함한 하나 이상의 프로그램 제품을 포함할 수 있다.
비휘발성 데이터 저장소(134, 144)는 전원이 나가더라도 데이터를 보호하는 배터리 백업기능을 갖는 메모리 시스템, 플래쉬 PROM, 디스크 드라이브, 또는 기타 적합한 비휘발성 메모리를 포함할 수 있으며, 이러한 것들은 본 발명분야의 당업자에게 잘 알려져 있는 것들이다. 캐시 데이터 저장소(136, 146)는 임의의 적합한 메모리 시스템을 포함할 수 있으며, 본 발명분야의 당업자에게 잘 알려져 있는 바와 같이, 이것은 전원이 제거된 후에 데이터를 잃어버릴 가능성이 있는 휘발성일 수 있다.
아답터 인터페이스(AI)(138, 148)는 캐시 데이터 저장소(136, 146)의 일부분을 구성할 수 있고, 및/또는 서브시스템 제어부(132, 142)의 일부분을 구성할 수 있으며, 캐시 데이터 저장소(136, 146)에 위치할 수 있거나, 또는 집합체(130, 140)의 다른 구성요소들과 분리되어 위치하거나 또는 이들과 함께 위치할 수 있다. 아답터 인터페이스는 본 발명분야의 당업자에게 잘 알려져 있는 바와 같이, 특정 클러스터의 로컬 비휘발성 데이터 저장소 및 캐시 데이터 저장소와 관련된 데이터 전송 측면을 처리하기 위한 로직을 제공한다.
복수의 호스트 아답터들(150 내지 157)은 하나 이상의 광섬유 채널 포트, 하나 이상의 FICON 포트, 하나 이상의 ESCON, 하나 이상의 SCSI 포트, 또는 기타 적합한 포트를 포함할 수 있으며, 이것들은 본 발명분야의 당업자에게 잘 알려진 것들이다. 각각의 호스트 아답터는 각각의 클러스터들이 임의의 호스트 아답터로부터의 I/O를 처리할 수 있도록 호스트 시스템 및 클러스터(110)와 클러스터(120) 모두와 통신하도록 구성된다.
복수의 장치 아답터들(160 내지 167)은 디스크 어레이(170 내지 173)와 같은, 디스크 드라이브 또는 디스크 드라이브 시스템과의 통신을 위한 통신 링크를 포함할 수 있다. 이와 달리, 자기 테이프 드라이브들이 하나 이상의 디스크 어레이를 대신할 수 있다. 디스크 어레이는 RAID(Redundant Array of Independent Disks) 프로토콜을 이용할 수 있거나, 또는 JBOD(Just a Bunch of Disks) 어레이를 포함할 수 있다. 통신 링크는 RS-232 또는 RS-422와 같은 직렬 상호접속부, 이더넷 접속부, SCSI 상호접속부, ESCON 상호접속부, FICON 상호접속부, LAN(Local Area Network), 개인 WAN(Wide Area Network), 공중 WAN, SAN(Storage Area Network), TCP/IP(Transmission Control Protocol/Internet Protocol), 인터넷, 및 이들의 조합을 포함할 수 있다.
데이터 저장 서브시스템(100)의 예에는 IBM® 엔터프라이즈 저장 서버, 모델 DS/8000, 또는 기타 유사 시스템이 포함된다.
상술한 바와 같이, 데이터 저장 서브시스템은 호스트 시스템으로부터의 데이 터를 저장하기 위한 다양한 형태의 데이터 저장소를 포함할 수 있다.
도 1과 도 2를 참조하면, 하나의 유형의 호스트 데이터는 데이터 저장 서브시스템(100)내의 어떤 다른 지점에 원본 복사본이 존재하는 상태로 이러한 시스템에 의해 저장되는 순차적 고속 기록(SFW) 데이터이다. 예를 들어, 만약 데이터가 1차 장소에 저장되어 2차 장소로서의 데이터 저장 서브시스템의 디스크 어레이(170 내지 173)에 복사되는 경우, 이 데이터는 1차 제어부에서부터 2차 장소까지의 "PPRC 구축"(피어 투 피어 원격 복사) 동안에 보내져서 SFW 데이터로서 호스트 아답터(158)를 경유하여 도달된다. 호스트 아답터(158)는 호스트 아답터(150 내지 157) 중 임의의 호스트 아답터, 또는 호스트 아답터(150 내지 157) 중 하나 보다 많은 호스트 아답터들을 위한 프록시로서 도시된다. 이 데이터는 캐시 데이터 저장소(136, 146)에만 보내지며, 비휘발성 저장소(134, 144)에는 보내지지 않는다. 각각의 트랙에 대한 트랙 ID(식별정보) 엔트리가 비휘발성 저장소(134, 144)내에 배치된다. 이 엔트리는 캐시 정보의 손실을 야기시키는 리부팅 동작이 발생하는 경우에 필요하다. 그 후 데이터는 1차 제어부로부터 다시 수신될 때에 캐시 저장소내에서 정확하게 재구축될 수 있다. 예시에서, SFW 데이터는 호스트 아답터(158)에 의해 클러스터(120)의 캐시 데이터 저장소(146)에 저장되고(단계 180), 캐시 데이터 저장소(146)는 클러스터(110)의 비휘발성 저장소(134)에 트랙 ID 엔트리들을 저장한다(단계 181). 일단 모든 데이터가 1차 장소에서 2차 장소로 복사되면, 2차 장소에 대한 모든 추가적인 기록들은 DASD 고속 기록(DFW) 데이터로서 도달된다. 하나의 클러스터의 로컬 클러스터로의 패일오버의 경우, 로컬 클러스터의 비휘발성 저 장소내의 트랙 ID 엔트리들은 고장난 클러스터의 SFW 데이터에 다시 액세스하는데 활용된다.
도 1 및 도 3을 참조하면, 이와 다른 유형의 호스트 데이터는, 처음에 클러스터들(110, 120)에 의해 호스트 시스템으로부터 호스트 어댑터(158)를 통해 저장되고, 이어서 DASD 또는 디스크 드라이브(170 내지 173)와 같은 보다 영구적인 데이터 저장소에 디스테이징되는 DASD 고속 기록(DFW) 데이터이다. 논리 서브시스템의 이중 모드 DASD 고속 기록 데이터의 한 세트는 제1 클러스터의 캐시 데이터 저장소(136)와 제2 클러스터의 비휘발성 데이터 저장소(144)에 저장되고, 다른 논리 서브시스템의 이중 모드 DASD 고속 기록 데이터는 제2 클러스터의 캐시 데이터 저장소(146)와 제1 클러스터의 비휘발성 데이터 저장소(134)에 저장이 된다는 점에서, 한 쌍의 클러스터(110)와 클러스터(120)는 데이터에 대한 백업기능을 제공한다. 예를 들어, 이중 클러스터 모드에서, 짝수번째 논리 서브시스템은 왼쪽 클러스터에서의 캐시 데이터 저장소와 오른쪽 클러스터에서의 비휘발성 저장소를 사용하고, 홀수번째 논리 서브시스템은 오른쪽 클러스터에서의 캐시 데이터 저장소와 왼쪽 클러스터에서의 비휘발성 저장소를 사용한다. 또한, 캐시 트랙 ID 엔트리들이 다른쪽 클러스터의 비휘발성 저장소에 저장된다. 예시에서, DFW 데이터는 호스트 아답터(158)에 의해 클러스터(120)의 캐시 데이터 저장소(146)에 저장되고(단계 185), 클러스터(110)의 비휘발성 저장소(134)에 저장된다(단계 186). 추가적으로, 클러스터(120)의 캐시 데이터 저장소(146)는 캐시 트랙 ID 엔트리들을 클러스터(110)의 비휘발성 저장소(134)에 저장시킨다.
그 결과, 이중 모드 DASD 고속 기록 데이터 모두는 예컨대 전원 고장 또는 리부팅 경우시에 클러스터들 중 하나의 클러스터내의 비휘발성 저장소에 저장됨으로써 보호가 된다.
도 4는 후속적인 디스테이징을 위한 이중 모드 DASD 고속 기록 데이터의 저장에 관한 종래기술의 자세한 프로세스의 예를 도시한다.
도 1, 도 3, 및 도 4를 참조하면, 호스트 아답터(158)는 트랙에 대한 기록 요청을 입수하고(단계 201), 캐시 세그먼트와 비휘발성 저장소(NVS) 세그먼트 및 비휘발성 저장소 버퍼를 할당하도록 하는 메일을 트랙 ID와 함께 클러스터 "B"의 캐시(146)의 아답터 인터페이스(148)에 보낸다(단계 202). 단계 203에서, 아답터 인터페이스(148)는 캐시 세그먼트/NVS 세그먼트를 할당하고 캐시 제어 블럭을 생성하도록 캐시(146)를 호출한다. 아답터 인터페이스는 또한 NVS 트랙 버퍼를 할당한다. 단계 204에서, 아답터 인터페이스는 이러한 세그먼트들을 사용하도록 표시하기 위해 트랙 제어 블럭을 구축하고 이것을 클러스터 "A"의 NVS(134)에 보낸다. 단계 205에서, 아답터 인터페이스는 기록을 시작하도록 하는 메일을 NVS 트랙 버퍼 번호와 함께 호스트 아답터에 보낸다. 호스트 아답터(158)는, 단계 206에서, 데이터를 캐시 세그먼트와 NVS 트랙 버퍼에 보내기 위해 DMA 기능(직접 메모리 액세스)을 이용하고, 단계 207(동일 화살표)에서, 데이터를 위임하도록 하는 메일을 캐시 세그먼트에 보내고, 데이터를 위임하는데 사용되는 트랙 버퍼 번호와 함께 상기 메일을 NVS에 보낸다. 단계 208에서, 호스트 아답터는 기록 완료를 표시하는 장치 종료를 호스트 시스템에 건네준다. 기록 완료는 클러스터에 대한 전력 손실 이후일지라도 NVS(134)가 데이터를 위임할 것이라는 사실에 의해 지지된다. 단계 209에서, NVS(134)는 메일(207)을 살펴보고, 그런 다음 트랙을 위한 NVS 제어 블럭을 구축하고 데이터를 트랙 버퍼로부터 NVS 세그먼트에 이동시킴으로써 데이터를 위임하며, 단계 210에서, NVS는 위임 완료 메일을 아답터 인터페이스(148)에 보낸다. 단계 211에서, 아답터 인터페이스는 호스트 아답터와 NVS 모두로부터의 "완료" 메일을 살펴보고, 단계 212에서, 캐시 제어 블럭을 캐시와 NVS 모두에서 기록된 세그먼트들로 업데이트하도록 캐시(146)를 호출하고, NVS 트랙 버퍼를 해방시킨다. 단계 213에서, 아답터 인터페이스는 기록 완료 메세지를 호스트 아답터(158)에 보낸다. 따라서, 호스트 아답터는 단계 208의 장치 종료가 완전히 지지되며, 이중 모드 DASD 고속 기록 데이터는 클러스터 "A"의 NVS(134)와 클러스터 "B"의 캐시 저장소(146) 모두에 기록되어 저장되는 것으로 알게 된다. 후속적인 디스테이징을 위한 이중 모드 DASD 고속 기록 데이터의 저장을 달성하기 위해 다른 상세한 시퀀스들이 활용될 수 있다. 클러스터 "B"의 캐시 저장소(146)는 또한 상술한 바와 같은, 데이터 저장 서브시스템의 이중 모드 순차적 고속 기록(SFW) 데이터의 절반을 포함한다.
하나의 예시에서, 홀수번째 논리 서브시스템으로부터의 이중 모드 DASD 고속 기록 데이터는 클러스터 "A"의 NVS(134)에 저장되고, (상술된) 홀수번째 논리 서브시스템으로부터의 이중 모드 DASD 고속 기록 데이터와 이중 모드 순차적 고속 기록 데이터는 클러스터 "B"의 캐시 저장소(146)에 모두 저장된다. 마찬가지로, 짝수번째 논리 서브시스템으로부터의 이중 모드 DASD 고속 기록 데이터는 클러스터 "B"의 NVS(144)에 저장되고, 짝수번째 논리 서브시스템으로부터의 이중 모드 DASD 고속 기록 데이터와 이중 모드 순차적 고속 기록 데이터는 클러스터 "A"의 캐시 저장소(136)에 모두 저장된다.
캐시 저장소(136, 146)는 일반적으로 비휘발성 저장소(134, 144) 보다 저장되는 데이터양 당 비용이 적게드므로, 순차적 고속 기록 데이터와 DASD 고속 기록 데이터 모두를 처리하기 위해 훨씬 방대한 용량으로 제공된다.
클러스터들 중 하나의 클러스터의 나머지 다른 클러스터로의 패일오버의 경우, 이중 모드 DASD 고속 기록 데이터 모두는 나머지 다른 클러스터상에서 이용가능해지며, 여기서 이중 모드 DASD 고속 기록 데이터의 하나의 세트는 비휘발성 데이터 저장소내에 저장되고, 데이터의 다른 세트는 순차적 고속 기록 데이터와 같은 다른 고속 기록 데이터와 함께 캐시 데이터 저장소내에 저장된다.
패일오버의 결과로서, 로컬 캐시 저장소내에 저장되어 있고 나머지 다른 클러스터내의 비휘발성 저장소내에 저장된 것으로 알려졌던 이중 모드 DASD 고속 기록 데이터는 해당 데이터의 유일한 복사본이 된다. 캐시 데이터 저장소는 휘발성이므로, DASD 고속 기록 데이터의 유일한 복사본 및 나머지 다른 고속 기록 데이터는 쉽게 취약해져 버린다. 그러므로, 일반적으로, 캐시 데이터 저장소내에 위치하는 데이터는 데이터를 보호하기 위해 디스크 저장소(170 내지 173)와 같은 보다 영구적인 저장소에 디스테이징된다.
도 1, 도 5 및 도 6을 참조하여, 본 발명에 따르면, 일 실시예에서, 한 쌍의 클러스터들 중 하나의 클러스터의 로컬 클러스터로의 패일오버에 응답하여(단계 240), 로컬 클러스터는 로컬 캐시 저장소의 이중 모드 DASD 고속 기록 데이터를 패일오버 변환된 고속 기록 데이터로 변환시키고, 디스크 저장소에 데이터를 디스테이징하는데 있어서 이 패일오버 변환된 고속 기록 데이터에 대해 다른 고속 기록 데이터보다 높은 우선순위를 부여한다. 본 예시에서는, 클러스터(110)가 고장난 것으로 가정되며, 패일오버는 클러스터(120)로 이행된다. 도 6은 비휘발성 데이터 저장소(144), 캐시 저장소(146) 및 아답터 인터페이스(148)만을 도시하며, 서브시스템 제어부(142) 또는 클러스터의 다른 측면들은 도시하지 않고 있으며, 디스크 저장소(170 내지 173)를 디스크 저장소(174)로서 간주한다[이 디스크 저장소(174)는 디스크 저장소(170 내지 173)를 위한 프록시로서 도시된다].
일 실시예에서, 단계 243에서는, 고장난 클러스터의 이중 모드 DASD 고속 기록 트랙 ID 엔트리들의 리스트를 제공하기 위해 서브시스템 제어부(142)가 비휘발성 저장소(144)에 액세스한다. 이 리스트는 상술한 바와 같이 NVS(144)에 의해 제공된 고속 기록 데이터의 완전 리스트와 분리되며, 이것은 캐시 저장소(146)에 제공될 수 있다. 단계 245에서, 저장 제어부는 NVS(144)로 하여금 트랙 제어 블럭을 예컨대 캐시 저장소(146)에 제공하도록 동작시킨다. 단계 247에서, 서브시스템 제어부는 트랙 제어 블럭을 프로세싱하여 고장난 클러스터의 이중 모드 DASD 고속 기록 데이터의 트랙 ID 엔트리들을 해당 데이터의 로컬 트랙 ID 엔트리들로 변환시키고, 이로써 로컬 캐시 저장소의 이중 모드 DASD 고속 기록 데이터를 패일오버 변환된 고속 기록 데이터로 변환시킨다. 단계 249에서, 서브시스템 제어부는 NVS에 대한 LRU(least recently used) 리스트와 같은 새로운 리스트를 생성하고, 패일오버 변환된 고속 기록 데이터 ID 엔트리들을 새로운 리스트에 추가시킨다. 이와 달리, 새로운 리스트는 FIFO(first in first out) 리스트를 포함할 수 있다. 일 실시예에서, 트랙 제어 블럭 및 패일오버 변환된 트랙 ID 엔트리들을 프로세싱하기 위한 서브시스템 제어 코드는 캐시 저장소(146)의 캐시 제어 모듈과 함께 위치한다. 대안적인 실시예에서, 서브시스템 제어 코드의 적어도 일부는 프로세서(142) 및 캐시 제어부(146)와 분리되며, 아답터 인터페이스(148)와 함께 위치한다. 또한, 서브시스템 제어 코드의 적어도 일부는 비휘발성 저장소(144)의 비휘발성 저장 제어 모듈과 함께 위치할 수 있다. 따라서, 일 실시예에서, 아답터 인터페이스(148)는 패일오버 변환된 고속 기록 데이터에 대한 새로운 리스트를 생성하도록 캐시 제어부를 호출한다. 단계 250에서, 서브시스템 제어부는 디스크 저장소에 대한 디스테이징에 있어서 이 패일오버 변환된 고속 기록 데이터 트랙의 새로운 리스트에 대해 예컨대, 새로운 리스트의 LRU 또는 FIFO 방식에 기초하여 우선순위를 부여한다. 만약 패일오버 변환된 고속 기록 데이터 트랙이 성공적으로 디스테이징되면, NVS내의 트랙 ID 엔트리는 제거되고, 트랙은 캐시내의 미수정된 트랙이 되도록 변경된다.
따라서, 캐시 데이터 저장소내에 위치한 패일오버 변환된 고속 기록 데이터는 디스크 저장소와 같은 보다 영구적인 저장소에 디스테이징된다.
도 7을 추가적으로 참조하면, 데이터 저장 시스템은 그 후에 종래기술의 단일 모드 데이터 저장 서브시스템으로서, 나머지 클러스터(120)만을 이용하여, 그리고 다른 클러스터에 대한 백업으로서 역할을 하는 데이터 저장소의 단일 모드로 어느 정도의 안전성을 가지면서 동작을 계속할 수 있는데, 여기서 호스트 아답 터(158)는 동일한 클러스터의 NVS(144)와 캐시 저장소(146) 모두에 대해 디스테이징되어야 할 DFW 데이터를 제공한다.
보통, 디스테이징 프로세스는 신속하게 수행되지만, 데이터 저장 시스템은 이러한 디스테이징 프로세스가 성공되지 못하도록 하는 드라이브, 또는 랭크, 또는 장치 아답터 문제를 경험할 수 있다. 그 결과, 로컬 캐시 저장소에만 저장되어 있는 이중 모드 DASD 고속 기록 데이터의 일부분은 취약한 상태로 되고, 이것은 데이터의 유일한 복사본이다.
도 1, 도 6, 및 도 8을 참조하여, 본 발명에 따르면, 한 쌍의 클러스터들 중 하나의 클러스터의 로컬 클러스터로의 패일오버, 예컨대 클러스터(120)로의 패일오버에 대한 응답으로, 클러스터는 로컬 캐시 데이터 저장소로부터의 데이터를 디스크 저장소에 디스테이징하려고 시도하도록 구성된다. 패일오버 변환된 고속 기록 데이터를 디스크 저장소에 디스테이징하는 단계 300의 실패에 응답하여, 클러스터는 로컬 비휘발성 저장소 트랙을 할당하고 호스트 아답터를 에뮬레이팅하여 로컬 비휘발성 저장소에 의한 저장을 위해 로컬 캐시 데이터 저장소(146)의 패일오버 변환된 고속 기록 데이터를 로컬 비휘발성 저장소(144)에 제공하고, 이로써 로컬 캐시 데이터 저장소의 패일오버 변환된 고속 기록 데이터를 로컬 비휘발성 저장소내와 로컬 캐시 저장소내에 저장된 로컬 단일 모드 DASD 고속 기록 데이터로 재변환시킨다.
일 실시예에서, 단계 303에서는, 저장 제어부가 호스트 아답터(158)와 같은 호스트 아답터를 에뮬레이팅하고, 또한 아답터 인터페이스(148)와 같은 아답터 인 터페이스를 에뮬레이팅할 수 있다. 코드는 "레트로 저장" 제어부로서 호칭될 수 있다. 호스트 아답터를 에뮬레이팅하는 저장 제어부는 DFW 기록 동작을 위한 트랙 또는 트랙들에 액세스하도록 캐시 또는 실제 아답터 인터페이스 또는 에뮬레이팅된 아답터 인터페이스를 호출하고, 캐시 등은 기록을 위해 로컬 NVS(144)의 NVS 세그먼트를 할당한다. 예를 들어, 에뮬레이팅된 아답터 인터페이스 코드는 트랙을 위한 캐시 제어 블럭을 잠그도록 캐시를 호출하고, 캐시는 기록을 위해 할당된 NVS 공간을 획득하기 위해 NVS와 인터페이싱한다. 예컨대 아답터 인터페이스를 에뮬레이팅하는 저장 제어부는 또한 로컬 NVS(144)내의 NVS 트랙 버퍼를 할당할 수 있다. 저장 제어부는 세그먼트들을 사용하도록 표시하기 위해 NVS 트랙 제어 블럭(들)을 구축하고 이것을 로컬 NVS에 보낸다. 예를 들어, 캐시는 공간이 할당되었음을 표시하는 에뮬레이팅된 아답터 인터페이스 코드에 다시 복귀하고, 아답터 인터페이스 코드는 기록을 위한 NVS 트랙 버퍼를 할당하는 것을 시작하도록 NVS를 호출한다.
호스트 아답터를 에뮬레이팅하는 저장 제어부는 로컬 비휘발성 저장소에 의한 저장을 위해 로컬 비휘발성 저장소(144), 예컨대 상기 NVS 트랙 버퍼에 상기 패일오버 변환된 고속 기록 데이터를 복사해둔다.
일 실시예에서, 단계 305에서는, 호스트 아답터를 에뮬레이팅하는 저장 제어부의 레트로 저장 코드가 호스트 아답터 유형 위임 메세지를 로컬 NVS에 보낸다(예컨대, 트랙을 위한 복사된 데이터를 위임하도록 하는 메일을 로컬 비휘발성 저장소(144)에 보낸다). 단계 307에서, 로컬 NVS는 메일을 살펴보고, 그런 다음 예컨대 트랙을 위한 NVS 제어 블럭을 구축하고 복사된 데이터를 NVS 트랙 버퍼로부터 상기 할당된 NVS 세그먼트들에 이동시킴으로써 복사된 데이터를 위임한다. 그런 후, NVS는 위임 확인응답을 제공함으로써 위임 완료 메일 메세지를 레트로 저장 코드에 되보낸다.
단계 309에서, 저장 제어부의 레트로 저장 코드는 위임 완료 메일 메세지에 응답하여, NVS 트랙 버퍼를 해방시키고, 그런 다음 캐시(146)에 대한 트랙 ID 엔트리를 로컬 NVS에서 제거하도록 캐시를 호출한다.
상술한 서브시스템 제어부는, 수 많은 형태를 취할 수 있으며, 로컬 비휘발성 저장소내에, 로컬 캐시 데이터 저장소내에 저장된 고속 기록 데이터의 트랙 ID 엔트리들을 저장하도록 구성되며; 추가적으로, 호스트 아답터 유형 위임 메세지에 대한 로컬 비휘발성 저장소로부터의 위임 확인응답에 응답하여, 위임되는 패일오버 변환된 고속 기록 데이터에 대한 캐시 트랙 ID 엔트리를 로컬 비휘발성 저장소에서 제거하도록 구성된다.
추가적인 실시예에서, 단계 311에서는 트랙 ID 엔트리가 제거되면, 저장 제어부의 레트로 저장 코드는 트랙을 (상술한) 패일오버 변환된 고속 기록 데이터 트랙으로부터 DASD 고속 기록 데이터 트랙(이것은 현재 단일 모드 DASD 고속 기록 데이터 트랙임)으로 다시 재변환시킨다. 예컨대 아답터 인터페이스를 에뮬레이팅하는 저장 제어부는 이러한 기능이 복원된 경우에 트랙을 새로운 리스트에서 디스크 저장소에 디스테이징되는 DASD 고속 기록(DFW) 트랙 리스트로 이동시키도록 캐시를 호출한다.
본 발명분야의 당업자는 단계들의 순서에 대한 변경을 포함하여, 상술한 방법들과 관련하여 변경들이 취해질 수 있음을 이해할 것이다. 또한, 본 발명분야의 당업자는 본 명세서에서 설명된 것과 다른 특정한 컴포넌트 배열이 활용될 수 있음을 이해할 것이다.
비록 본 발명의 바람직한 실시예들을 자세하게 설명하였지만, 이러한 실시예들에 대한 변형 및 변경이 이하의 청구항들에서 기술된 본 발명의 범위를 일탈하는 것 없이 본 발명분야의 당업자에게 떠오를 수 있음은 분명하다.

Claims (10)

  1. 데이터 저장 서브시스템의 한 쌍의 클러스터들 중의 클러스터에 있어서, 상기 데이터 저장 서브시스템은 적어도 하나의 호스트 아답터 및 데이터를 저장하도록 구성된 디스크 저장소와 관련된 데이터를 저장하도록 구성되며; 상기 클러스터는,
    로컬 비휘발성 데이터 저장소;
    로컬 캐시 데이터 저장소; 및
    논리 서브시스템의 이중 모드 DASD 고속 기록 데이터를 상기 로컬 비휘발성 데이터 저장소에 저장하고, 다른 논리 서브시스템의 이중 모드 DASD 고속 기록 데이터를 상기 로컬 캐시 데이터 저장소에 저장하며; 상기 한 쌍의 클러스터들 중의 하나의 클러스터의 상기 로컬 클러스터로의 패일오버에 대한 응답으로, 상기 로컬 캐시 저장소의 이중 모드 DASD 고속 기록 데이터를 패일오버 변환된 고속 기록 데이터로 변환시키고, 상기 디스크 저장소에 상기 데이터를 디스테이징하는데 있어서 다른 고속 기록 데이터보다 높은 우선순위를 상기 패일오버 변환된 고속 기록 데이터에 부여하도록 구성되는 서브시스템 제어부
    를 포함하는 로컬 클러스터를 포함하는 것인, 클러스터.
  2. 제 1 항에 있어서, 상기 서브시스템 제어부는 비휘발성 저장 제어부와 캐시 제어부로서 구현되고; 상기 캐시 제어부는 상기 패일오버 변환된 고속 기록 데이터 가 상기 디스크 저장소에 대한 디스테이징에 있어서의 우선순위에 따라 프로세싱되도록 상기 패일오버 변환된 고속 기록 데이터에 대한 새로운 리스트를 생성하도록 구성되는 것인, 클러스터.
  3. 제 2 항에 있어서, 상기 서브시스템 제어부는, 추가적으로, 상기 로컬 비휘발성 저장소내에, 상기 로컬 캐시 데이터 저장소내에 저장된 상기 하나의 논리 서브시스템의 상기 이중 모드 DASD 고속 기록 데이터의 트랙 ID 엔트리들을 저장하고; 상기 한 쌍의 클러스터들 중 다른 클러스터의 상기 로컬 클러스터로의 패일오버에 대한 응답으로, 고장난 클러스터의 상기 이중 모드 DASD 고속 기록 데이터의 트랙 ID 엔트리들을 상기 데이터의 로컬 트랙 ID 엔트리들로 변환시키고, 이로써 상기 로컬 캐시 저장소의 이중 모드 DASD 고속 기록 데이터를 패일오버 변환된 고속 기록 데이터로 변환시키며; 변환된 상기 트랙 ID 엔트리들을 상기 새로운 리스트에 추가하도록 구성되는 것인, 클러스터.
  4. 데이터 저장 서브시스템의 한 쌍의 클러스터들 중의 클러스터에 있어서, 상기 데이터 저장 서브시스템은 적어도 하나의 호스트 아답터 및 데이터를 저장하도록 구성된 디스크 저장소와 관련된 데이터를 저장하도록 구성되며; 상기 클러스터는,
    로컬 비휘발성 데이터 저장소;
    로컬 캐시 데이터 저장소; 및
    논리 서브시스템의 DASD 고속 기록 데이터를 상기 로컬 비휘발성 데이터 저장소에 저장하고, 다른 논리 서브시스템의 DASD 고속 기록 데이터를 상기 로컬 캐시 데이터 저장소에 저장하며; 상기 한 쌍의 클러스터들 중의 하나의 클러스터의 상기 로컬 클러스터로의 패일오버에 대한 응답으로, 상기 로컬 캐시 저장소의 DASD 고속 기록 데이터를 패일오버 변환된 고속 기록 데이터로 변환시키고, 상기 로컬 캐시 데이터 저장소로부터의 데이터를 상기 데이터 저장소에 디스테이징하는 것을 시도하며; 상기 패일오버 변환된 고속 기록 데이터를 상기 디스크 저장소에 디스테이징하는 것을 실패한 것에 응답하여, 로컬 비휘발성 저장소 트랙을 할당하고 호스트 아답터를 에뮬레이팅하여 상기 로컬 비휘발성 저장소에 의한 저장을 위해 상기 패일오버 변환된 고속 기록 데이터를 상기 로컬 비휘발성 저장소에 제공하고, 이로써 상기 비휘발성 저장소의 상기 변환된 고속 기록 데이터를 상기 로컬 비휘발성 저장소내와 상기 로컬 캐시 저장소내에 저장된 로컬 DASD 고속 기록 데이터로 재변환시키도록 구성된 서브시스템 제어부
    를 포함하는 로컬 클러스터를 포함하는 것인, 클러스터.
  5. 제 4 항에 있어서, 상기 서브시스템 제어부는 상기 패일오버 변환되어 제공된 고속 기록 데이터를 위임(commit)하도록 하기 위한 호스트 아답터 유형 위임 메세지를 상기 로컬 비휘발성 저장소에 보내도록 구성되는 것인, 클러스터.
  6. 적어도 하나의 호스트 아답터와 관련된 데이터를 저장하도록 구성된 데이터 저장 서브시스템에 있어서,
    데이터를 저장하도록 구성된 데이터 저장소; 및
    한 쌍의 클러스터들
    을 포함하며, 상기 클러스터들 각각은, 청구항 제 1 항 내지 제 5 항 중 임의의 한 항에서 청구된 유형의 클러스터인 것인, 데이터 저장 서브시스템.
  7. 데이터 저장 서브시스템을 구성하는 한 쌍의 클러스터들 중의 로컬 클러스터를 동작시키기 위한 방법에 있어서, 상기 데이터 저장 서브시스템은 적어도 하나의 호스트 아답터와 관련된 데이터를 저장하도록 구성되고 데이터를 저장하도록 구성된 디스크 저장소를 포함하며; 상기 로컬 클러스터는 로컬 비휘발성 데이터 저장소; 로컬 캐시 데이터 저장소; 및 서브시스템 제어부를 포함하며; 상기 로컬 클러스터를 동작시키기 위한 방법은:
    논리 서브시스템의 DASD 고속 기록 데이터를 상기 로컬 비휘발성 데이터 저장소내에 저장하고, 다른 논리 서브시스템의 DASD 고속 기록 데이터를 상기 로컬 캐시 데이터 저장소내에 저장하는 단계;
    상기 한 쌍의 클러스터들 중 하나의 클러스터의 상기 로컬 클러스터로의 패일오버에 대한 응답으로, 상기 로컬 캐시 저장소의 DASD 고속 기록 데이터를 패일오버 변환된 고속 기록 데이터로 변환시키는 단계; 및
    상기 패일오버 변환된 고속 기록 데이터를 상기 디스크 저장소에 디스테이징하는 것의 실패에 응답하여, 로컬 비휘발성 저장소 트랙을 할당하고 호스트 아답터 를 에뮬레이팅하여 상기 로컬 비휘발성 저장소에 의한 저장을 위해 상기 패일오버 변환된 고속 기록 데이터를 상기 로컬 비휘발성 저장소에 제공하고, 이로써 상기 비휘발성 저장소의 상기 패일오버 변환된 고속 기록 데이터를 상기 로컬 비휘발성 저장소내와 상기 로컬 캐시 저장소내에 저장된 로컬 DASD 고속 기록 데이터로 재변환시키는 단계
    를 포함하는 로컬 클러스터를 동작시키기 위한 방법.
  8. 제 7 항에 있어서, 상기 패일오버 변환된 고속 기록 데이터가 상기 디스크 저장소에 대한 디스테이징에 있어서의 우선순위에 따라 프로세싱되도록 상기 패일오버 변환된 고속 기록 데이터에 대한 새로운 리스트를 생성하는 단계를 포함하는 것인, 로컬 클러스터를 동작시키기 위한 방법.
  9. 제 7 항에 있어서, 상기 패일오버 변환되어 제공된 고속 기록 데이터를 위임하도록 하기 위한 호스트 아답터 유형 위임 메세지를 상기 로컬 비휘발성 저장소에 보내는 단계를 추가로 포함하는 것인, 로컬 클러스터를 동작시키기 위한 방법.
  10. 데이터 저장 서브시스템을 구성하는 한 쌍의 클러스터들 중의 로컬 클러스터를 동작시키기 위한 컴퓨터 사용가능 프로그램 코드가 기록된 컴퓨터 판독가능 기록매체에 있어서, 상기 데이터 저장 서브시스템은 데이터를 저장하도록 구성된 디스크 저장소를 포함하여 적어도 하나의 호스트 아답터와 관련된 데이터를 저장하도록 구성되며; 상기 로컬 클러스터는 로컬 비휘발성 데이터 저장소; 로컬 캐시 데이터 저장소; 및 서브시스템 제어부를 포함하며; 상기 서브시스템 제어부는 논리 서브시스템의 DASD 고속 기록 데이터를 상기 로컬 비휘발성 데이터 저장소내에 저장하고, 다른 논리 서브시스템의 DASD 고속 기록 데이터를 상기 로컬 캐시 데이터 저장소내에 저장하며;
    상기 컴퓨터 사용가능 프로그램 코드는, 상기 서브시스템 제어부상에서 실행될 때에, 상기 서브시스템 제어부로 하여금:
    상기 한 쌍의 클러스터들 중 하나의 클러스터의 상기 로컬 클러스터로의 패일오버에 대한 응답으로, 상기 로컬 캐시 저장소의 DASD 고속 기록 데이터를 패일오버 변환된 고속 기록 데이터로 변환시키는 동작; 및
    상기 패일오버 변환된 고속 기록 데이터를 상기 디스크 저장소에 디스테이징하는 것의 실패에 응답하여, 로컬 비휘발성 저장소 트랙을 할당하고 호스트 아답터를 에뮬레이팅하여 상기 로컬 비휘발성 저장소에 의한 저장을 위해 상기 패일오버 변환된 고속 기록 데이터를 상기 로컬 비휘발성 저장소에 제공하고, 이로써 상기 비휘발성 저장소의 상기 패일오버 변환된 고속 기록 데이터를 상기 로컬 비휘발성 저장소내와 상기 로컬 캐시 저장소내에 저장된 로컬 DASD 고속 기록 데이터로 재변환시키는 동작
    을 수행하게 하도록 구성되는 것인, 컴퓨터 판독가능 기록매체.
KR1020097011956A 2007-02-20 2008-01-30 패일오버에 따른 캐시 데이터의 보존 KR101055918B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/676,634 2007-02-20
US11/676,634 US7680982B2 (en) 2007-02-20 2007-02-20 Preservation of cache data following failover
PCT/EP2008/051143 WO2008101776A1 (en) 2007-02-20 2008-01-30 Preservation of cache data following failover

Publications (2)

Publication Number Publication Date
KR20090099523A KR20090099523A (ko) 2009-09-22
KR101055918B1 true KR101055918B1 (ko) 2011-08-09

Family

ID=39496213

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020097011956A KR101055918B1 (ko) 2007-02-20 2008-01-30 패일오버에 따른 캐시 데이터의 보존

Country Status (8)

Country Link
US (1) US7680982B2 (ko)
EP (1) EP2122468B1 (ko)
JP (1) JP5159797B2 (ko)
KR (1) KR101055918B1 (ko)
CN (1) CN101617295B (ko)
AT (1) ATE500550T1 (ko)
DE (1) DE602008005275D1 (ko)
WO (1) WO2008101776A1 (ko)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060294412A1 (en) * 2005-06-27 2006-12-28 Dell Products L.P. System and method for prioritizing disk access for shared-disk applications
US7895465B2 (en) * 2008-06-03 2011-02-22 International Business Machines Corporation Memory preserved cache failsafe reboot mechanism
US8615678B1 (en) * 2008-06-30 2013-12-24 Emc Corporation Auto-adapting multi-tier cache
US7882388B2 (en) * 2008-08-21 2011-02-01 Sierra Wireless America, Inc. Dual independent non volatile memory systems
US20100174676A1 (en) * 2009-01-06 2010-07-08 International Business Machines Corporation Determining modified data in cache for use during a recovery operation
US8850114B2 (en) 2010-09-07 2014-09-30 Daniel L Rosenband Storage array controller for flash-based storage devices
US8788742B2 (en) * 2011-05-23 2014-07-22 International Business Machines Corporation Using an attribute of a write request to determine where to cache data in a storage system having multiple caches including non-volatile storage cache in a sequential access storage device
US8838905B2 (en) 2011-11-17 2014-09-16 International Business Machines Corporation Periodic destages from inside and outside diameters of disks to improve read response time via traversal of a spatial ordering of tracks
US9262321B2 (en) 2011-11-17 2016-02-16 International Business Machines Corporation Adjustment of destage rate based on read and write response time requirements
US9189295B2 (en) 2011-12-01 2015-11-17 Oracle International Corporation Generating an ordered sequence in a database system using multiple interleaved caches
US9910893B2 (en) * 2011-12-01 2018-03-06 Oracle International Corporation Failover and resume when using ordered sequences in a multi-instance database environment
US9141609B2 (en) 2011-12-01 2015-09-22 Oracle International Corporation Reducing sequence cache latch contention in a database system
CN103297396B (zh) * 2012-02-28 2016-05-18 国际商业机器公司 群集系统中管理故障转移的装置和方法
US10628331B2 (en) 2016-06-01 2020-04-21 International Business Machines Corporation Demote scan processing to demote tracks from cache
US9952974B2 (en) 2016-06-07 2018-04-24 International Business Machines Corporation Preservation of modified cache data in local non-volatile storage following a failover
US10390114B2 (en) * 2016-07-22 2019-08-20 Intel Corporation Memory sharing for physical accelerator resources in a data center
US10437691B1 (en) * 2017-03-29 2019-10-08 Veritas Technologies Llc Systems and methods for caching in an erasure-coded system
US10581969B2 (en) 2017-09-14 2020-03-03 International Business Machines Corporation Storage system using cloud based ranks as replica storage
US10372363B2 (en) * 2017-09-14 2019-08-06 International Business Machines Corporation Thin provisioning using cloud based ranks
US10721304B2 (en) 2017-09-14 2020-07-21 International Business Machines Corporation Storage system using cloud storage as a rank
US10776268B2 (en) * 2018-04-19 2020-09-15 Western Digital Technologies, Inc. Priority addresses for storage cache management
US11762743B2 (en) * 2021-06-28 2023-09-19 International Business Machines Corporation Transferring task data between edge devices in edge computing
CN115695453A (zh) * 2022-10-31 2023-02-03 浪潮云信息技术股份公司 一种提高镜像仓库稳定性的方法、装置、设备及介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5437022A (en) * 1992-12-17 1995-07-25 International Business Machines Corporation Storage controller having additional cache memory and a means for recovering from failure and reconfiguring a control unit thereof in response thereto
US5771367A (en) * 1992-12-17 1998-06-23 International Business Machines Corporation Storage controller and method for improved failure recovery using cross-coupled cache memories and nonvolatile stores
US20040059870A1 (en) 2002-09-24 2004-03-25 International Business Machines Corporation Method, system, and program for restoring data in cache

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4916605A (en) * 1984-03-27 1990-04-10 International Business Machines Corporation Fast write operations
DE69031983T2 (de) * 1989-10-10 1998-07-30 Storage Technology Corp Mehrschritt-datenlesevorrichtung
US5636359A (en) 1994-06-20 1997-06-03 International Business Machines Corporation Performance enhancement system and method for a hierarchical data cache using a RAID parity scheme
JPH08115169A (ja) * 1994-10-14 1996-05-07 Hitachi Ltd ディスク制御装置
US6006342A (en) 1997-12-11 1999-12-21 International Business Machines Corporation Failover and failback system for a direct access storage device
US7085886B2 (en) 2003-05-28 2006-08-01 International Buisness Machines Corporation Autonomic power loss recovery for a multi-cluster storage sub-system
JP4338075B2 (ja) 2003-07-22 2009-09-30 株式会社日立製作所 記憶装置システム
US7243190B2 (en) 2004-02-13 2007-07-10 International Business Machines Corporation Apparatus and method to rebuild an NVS image using cache data
US7085907B2 (en) 2004-02-17 2006-08-01 International Business Machines Corporation Dynamic reconfiguration of memory in a multi-cluster storage control unit
JP4448719B2 (ja) * 2004-03-19 2010-04-14 株式会社日立製作所 ストレージシステム
US7321986B2 (en) 2004-03-31 2008-01-22 International Business Machines Corporation Configuring cache memory from a storage controller

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5437022A (en) * 1992-12-17 1995-07-25 International Business Machines Corporation Storage controller having additional cache memory and a means for recovering from failure and reconfiguring a control unit thereof in response thereto
US5771367A (en) * 1992-12-17 1998-06-23 International Business Machines Corporation Storage controller and method for improved failure recovery using cross-coupled cache memories and nonvolatile stores
US20040059870A1 (en) 2002-09-24 2004-03-25 International Business Machines Corporation Method, system, and program for restoring data in cache

Also Published As

Publication number Publication date
JP2010519607A (ja) 2010-06-03
DE602008005275D1 (de) 2011-04-14
EP2122468A1 (en) 2009-11-25
WO2008101776A1 (en) 2008-08-28
CN101617295A (zh) 2009-12-30
KR20090099523A (ko) 2009-09-22
JP5159797B2 (ja) 2013-03-13
EP2122468B1 (en) 2011-03-02
US20080201523A1 (en) 2008-08-21
US7680982B2 (en) 2010-03-16
CN101617295B (zh) 2013-04-10
ATE500550T1 (de) 2011-03-15

Similar Documents

Publication Publication Date Title
KR101055918B1 (ko) 패일오버에 따른 캐시 데이터의 보존
US6912669B2 (en) Method and apparatus for maintaining cache coherency in a storage system
US8719520B1 (en) System and method for data migration between high-performance computing architectures and data storage devices with increased data reliability and integrity
US9910777B2 (en) Enhanced integrity through atomic writes in cache
US8024525B2 (en) Storage control unit with memory cache protection via recorded log
US9830088B2 (en) Optimized read access to shared data via monitoring of mirroring operations
US9665282B2 (en) Facilitation of simultaneous storage initialization and data destage
US8819291B2 (en) Compression on thin provisioned volumes using extent based mapping
US20090083610A1 (en) Storage sub-system and method for controlling the same
US8046552B2 (en) Tracking metadata changes during data copy in a storage system
JP2007004798A (ja) 分散記憶システムにおけるアトミック・キャッシュ・トランザクション
US20080222214A1 (en) Storage system and remote copy system restoring data using journal
WO2010089196A1 (en) Rapid safeguarding of nvs data during power loss event
US11314639B2 (en) Protecting against data loss during garbage collection
US7243190B2 (en) Apparatus and method to rebuild an NVS image using cache data
US20210271393A1 (en) Method and apparatus for performing data access management of all flash array server
US7484038B1 (en) Method and apparatus to manage storage devices
US20050223180A1 (en) Accelerating the execution of I/O operations in a storage system

Legal Events

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

Payment date: 20140725

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee