[go: up one dir, main page]

KR101454146B1 - 스토리지 장치, 제어 장치 및 기록 매체 - Google Patents

스토리지 장치, 제어 장치 및 기록 매체 Download PDF

Info

Publication number
KR101454146B1
KR101454146B1 KR1020140120801A KR20140120801A KR101454146B1 KR 101454146 B1 KR101454146 B1 KR 101454146B1 KR 1020140120801 A KR1020140120801 A KR 1020140120801A KR 20140120801 A KR20140120801 A KR 20140120801A KR 101454146 B1 KR101454146 B1 KR 101454146B1
Authority
KR
South Korea
Prior art keywords
copy
activation
volume
session
data
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Fee Related
Application number
KR1020140120801A
Other languages
English (en)
Other versions
KR20140119679A (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 KR20140119679A publication Critical patent/KR20140119679A/ko
Application granted granted Critical
Publication of KR101454146B1 publication Critical patent/KR101454146B1/ko
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/16Protection against loss of memory contents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • 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/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1461Backup scheduling policy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/84Using snapshots, i.e. a logical point-in-time copy of the data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/855Details of asynchronous mirroring using a journal to transfer not-yet-mirrored changes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

I/O 처리 성능을 저하시키지 않고, 복수의 카피 세션에 대하여 타이밍에 일관성이 있는 데이터 백업을 행한다. 카피원 볼륨의 카피원 데이터의 카피를, 카피처 볼륨에 저장하는 카피 처리부(12)와, 카피 처리에 관련되는 카피 실행 준비를 행하고, 카피 처리를 카피 실행 대기 상태로 설정하는 카피 실행 관리부(13)와, 상위 장치(2)로부터의 액티브화 지시에 의해 지정된 카피 처리에 대하여 액티브화 대상 정보를 설정하는 액티브화 관리부(14)와, 액티브화 대상 정보가 설정되어 있는 카피 실행 대기 상태의 카피 처리에 대하여, 그 카피 실행 대기 상태를 해제하여, 카피 처리부(12)에 카피 처리를 실행시키는 카피 제어부(15)를 구비한다.

Description

스토리지 장치, 제어 장치 및 기록 매체{STORAGE DEVICE, CONTROLLER, AND RECORDING MEDIUM}
본건은, 스토리지 장치, 제어 장치 및 프로그램에 관한 것이다.
스토리지 제품이나 컴퓨터에서의 카피원 볼륨(copy-source volume)의 데이터를 백업하는 방법의 하나로서, OPC(One Point Copy)가 알려져 있다. OPC란, 백업 대상으로 되는 데이터에 대하여 소정 시점에서의, 그 후의 갱신 등을 포함하지 않는 데이터인 스냅샷(Snapshot)을 작성하는 것이다. 백업을 작성할 때에, 그 작성 시점에서의 대상으로 되는 카피원 볼륨의 전체 데이터를 백업하는 방법이다.
예를 들면, OPC를 실행하는 스토리지 시스템은, 유저로부터 OPC를 행한다는 취지의 OPC 지시를 접수하면, 그 OPC 지시를 받은 시점에서의 카피원 볼륨의 전체 데이터를 카피한다.
그리고, 상기 스토리지 시스템은, OPC 지시를 접수한 시점에서의 스냅샷으로서, 카피원 볼륨의 데이터를 카피한 데이터, 즉 백업 데이터를 카피처 볼륨(copy-destination volume)에 저장한다.
예를 들면, 상기 스토리지 시스템은, OPC 지시를 접수한 시각이나 세대, 즉 세션 정보에 대응지어, 카피원 볼륨 전체를 복제한 데이터인 백업 데이터를 저장한다.
(특허문헌 1) 일본 특허 출원 공개 제2007-334709호 공보
그러나, 이와 같은 종래의 스토리지 시스템의 데이터 백업 방법에서는, 스냅샷을 작성하기 전에 카피원의 볼륨에 대하여 덮어쓰기 요구가 행해지면, 덮어쓰기 전의 데이터의 백업이 작성되지 않을 우려가 있다.
도 12는 종래의 OPC 처리를 설명하기 위한 도면이다. 이 도 12에 도시한 예에서는, 볼륨01∼04, 11∼14를 구비하는 스토리지 시스템이 도시되어 있다. 그리고, 제1 카피 세션에 의해, 볼륨01의 스냅샷이 볼륨11에 저장된다. 마찬가지로, 제2∼제4 카피 세션에 의해, 볼륨02의 스냅샷이 볼륨12에, 볼륨03의 스냅샷이 볼륨13에, 볼륨04의 스냅샷이 볼륨14에, 각각 저장된다.
또한, 도 12에 도시한 예에서는, 볼륨01의 데이터 A의 영역에 데이터 a를 덮어쓰기하는 기입 요구가 행해진다. 마찬가지로, 볼륨02의 데이터 B의 영역에 데이터 b를, 볼륨03의 데이터 C의 영역에 데이터 c를, 볼륨04의 데이터 D의 영역에 데이터 d를, 각각 덮어쓰기하는 기입 요구가 행해진다.
또한, 각 볼륨의 스냅샷은, 볼륨01, 02, 03, 04의 순서로 작성된다. 그리고, 이 도 12에서는, 볼륨B의 스냅샷의 작성 전의 타이밍에서 볼륨C에 대하여 데이터 c의 기입 요구(I/O 처리 요구)가 행해지는 예를 도시한다.
우선, 도시하지 않은 호스트 장치로부터, 볼륨01에 대하여 OPC의 Start 커맨드가 발행되어, 화살표 A1로 나타내는 바와 같이, 볼륨01의 데이터 A의 영역의 스냅샷이 볼륨11에 저장된다. 그 후, I/O 처리 요구에 의해, 볼륨01의 데이터 A의 영역에 데이터 a의 기입이 행해진다(화살표 A2 참조).
그리고, 볼륨03의 데이터 C의 영역에 데이터 c의 기입이 행해진다(화살표 A3 참조). 그 후, 볼륨02에 대하여 Start 커맨드가 발행되어, 화살표 A4로 나타내는 바와 같이, 볼륨02의 데이터의 B의 영역의 스냅샷이 볼륨12에 저장된다. 또한, 볼륨02의 데이터 B의 영역에 데이터 b의 기입이 행해진다(화살표 A5 참조).
그 후, 볼륨03에 대하여 Start 커맨드가 발행되어, 화살표 A6으로 나타내는 바와 같이, 볼륨02의 스냅샷이 볼륨13에 저장된다. 여기서, 상술한 바와 같이, 볼륨03의 데이터 C의 데이터는, 이미 데이터 c에 의해 덮어쓰기되어 있으므로, 볼륨13에는 데이터 c의 스냅샷이 저장된다.
이와 같이, 볼륨01∼04의 데이터 A, B, C, D의 스냅샷을 작성하려고 하였지만, 볼륨03에 대해서는, Start 커맨드의 발행 전에 I/O 처리 요구가 행해짐으로써, 재기입 후의 데이터 c의 스냅샷이 작성되게 된다. 즉, 복수의 볼륨에 대하여, 타이밍에 일관성이 있는 스냅샷을 작성하는 것이 곤란하다고 하는 과제가 있다.
또한, 모든 볼륨01∼04에 대한 Start 커맨드의 처리가 완료될 때까지, I/O 처리 요구의 접수를 정지함으로써, Start 커맨드의 발행 전에 I/O 처리 요구가 행해지는 것을 방지하여, 타이밍에 일관성이 있는 스냅샷을 작성하는 것도 생각된다.
그러나, 모든 볼륨01∼04에 대한 Start 커맨드의 처리가 완료될 때까지, I/O 처리 요구의 접수를 정지함으로써, I/O 처리가 지체되어, 업무에 영향을 줄 우려가 있다.
일 측면에서는, 본 건은, 복수의 카피 세션에 대하여 타이밍에 일관성이 있는 데이터 백업을 행할 수 있도록 하는 것을 목적으로 한다.
또한, 상기 목적에 한하지 않고, 후술하는 발명을 실시하기 위한 형태에 나타내는 각 구성에 의해 유도되는 작용 효과로서, 종래 기술에 의해서는 얻어지지 않는 작용 효과를 발휘하는 것도 본 발명의 다른 목적의 하나로 할 수 있다.
이를 위해서, 이 스토리지 장치는, 카피원 데이터(data to be copied)를 저장하는 카피원 볼륨과, 상기 카피원 데이터의 카피를 저장하는 카피처 볼륨과, 상기 카피원 볼륨에 기억된 카피원 데이터의 카피를, 상기 카피처 볼륨에 저장하는 카피 처리를 실행하는 카피 처리부와, 카피 처리에 관련되는 카피 실행 준비를 행하고, 그 카피 처리를 카피 실행 대기 상태로 설정하는 카피 실행 관리부와, 상위 장치로부터의 액티브화 지시에 의해 지정된 카피 처리에 대하여 액티브화 대상인 것을 나타내는 액티브화 대상 정보를 설정하는 액티브화 관리부와, 상기 액티브화 대상 정보가 설정되어 있는 카피 실행 대기 상태의 카피 처리에 대하여, 상기 카피 실행 대기 상태를 해제하여, 상기 카피 처리부에 그 카피 처리를 실행시키는 카피 제어부를 구비한다.
또한, 이 제어 장치는, 카피원 볼륨에 기억된 카피원 데이터의 카피처 볼륨으로의 카피 제어를 행하는 제어 장치로서, 상기 카피원 볼륨에 기억된 카피원 데이터의 카피를, 상기 카피처 볼륨에 저장하는 카피 처리를 실행하는 카피 처리부와, 카피 처리에 관련되는 카피 실행 준비를 행하고, 그 카피 처리를 카피 실행 대기 상태로 설정하는 카피 실행 관리부와, 액티브화 지시에 의해 지정된 카피 처리에 대하여 액티브화 대상인 것을 나타내는 액티브화 대상 정보를 설정하는 액티브화 관리부와, 상기 액티브화 대상 정보가 설정되어 있는 카피 실행 대기 상태의 카피 처리에 대하여, 상기 카피 실행 대기 상태를 해제하여, 상기 카피 처리부에 그 카피 처리를 실행시키는 카피 제어부를 구비한다.
또한, 이 프로그램은, 카피원 볼륨에 기억된 카피원 데이터의 카피처 볼륨으로의 카피 제어를 행하는 제어 기능을 컴퓨터에 실행시키기 위한 프로그램으로서, 상기 카피원 볼륨에 기억된 카피원 데이터의 카피를, 상기 카피처 볼륨에 저장하는 카피 처리를 실행하고, 카피 처리에 관련되는 카피 실행 준비를 행하고, 그 카피 처리를 카피 실행 대기 상태로 설정하고, 액티브화 지시에 의해 지정된 카피 처리에 대하여 액티브화 대상인 것을 나타내는 액티브화 대상 정보를 설정하고, 상기 액티브화 대상 정보가 설정되어 있는 카피 실행 대기 상태의 카피 처리에 대하여, 상기 카피 실행 대기 상태를 해제하여, 상기 카피 처리부에 그 카피 처리를 실행하는 처리를 상기 컴퓨터에 실행시킨다.
개시의 기술에 의하면, I/O 처리 성능을 저하시키지 않고, 복수의 카피 세션에 대하여 타이밍에 일관성이 있는 데이터 백업을 행할 수 있다.
도 1은 실시 형태의 일례로서의 스토리지 시스템의 구성을 모식적으로 도시하는 도면.
도 2는 스토리지 장치에서의 볼륨 구성예를 모식적으로 도시하는 도면.
도 3은 실시 형태의 일례로서의 스토리지 시스템에서의 세션 관리 테이블을 예시하는 도면.
도 4는 실시 형태의 일례로서의 스토리지 시스템에서의 카피 비트맵을 설명하기 위한 도면.
도 5는 실시 형태의 일례로서의 스토리지 시스템에서의 폴링 계기에 의한 액티브화 처리를 설명하는 플로우차트.
도 6은 실시 형태의 일례로서의 스토리지 시스템에서의 호스트 장치로부터의 I/O 계기에 의한 액티브화 처리를 설명하는 플로우차트.
도 7은 실시 형태의 일례로서의 스토리지 시스템에서의 호스트 장치의 처리를 설명하는 플로우차트.
도 8은 실시 형태의 일례로서의 스토리지 시스템에서의 스토리지 장치에 의한 세션 정의 처리를 설명하는 플로우차트.
도 9는 카피 세션에 대한 볼륨 구성예를 모식적으로 도시하는 도면.
도 10은 실시 형태의 일례로서의 스토리지 시스템에서의 스토리지 장치에 의한 CCC 커맨드 수신 시의 처리를 설명하는 플로우차트.
도 11은 카피 세션의 스테이터스의 변이를 모식적으로 도시하는 도면.
도 12는 종래의 OPC 처리를 설명하기 위한 도면.
이하, 도면을 참조하여 스토리지 장치, 제어 장치 및 프로그램에 관련되는 실시 형태를 설명한다. 단, 이하에 설명하는 실시 형태는 어디까지나 예시에 지나지 않고, 실시 형태에서 명시하지 않은 다양한 변형예나 기술의 적용을 배제할 의도는 없다. 즉, 본 실시 형태를, 그 취지를 일탈하지 않는 범위에서 다양하게 변형하여 실시할 수 있다.
도 1은 실시 형태의 일례로서의 스토리지 시스템(1)의 구성을 모식적으로 도시하는 도면, 도 2는 스토리지 장치(10)에서의 볼륨 구성예를 모식적으로 도시하는 도면이다.
실시 형태의 일례로서의 스토리지 시스템(1)은, 도 1에 도시한 바와 같이, 스토리지 장치(10)에 도시하지 않은 통신 회선을 통하여 상위 장치로서의 호스트 장치(2)가 접속되어 있다.
호스트 장치(2)는, 접속된 스토리지 장치(10)의 볼륨(논리 볼륨)에 데이터의 기입이나 읽어내기를 행한다. 예를 들면, 호스트 장치(2)는 스토리지 장치(10)의 업무 볼륨인 카피원 볼륨#00∼#02(도 2 참조)에 대하여 리드(read)나 라이트(write)의 I/O(Input/ Output) 처리 요구(데이터 액세스 요구)를 행한다. 스토리지 장치(10)는, 이 I/O 처리 요구에 따라서 카피원 볼륨#00∼#02에 대한 데이터 액세스를 행하고, 호스트 장치(2)에 대하여 응답을 행한다.
호스트 장치(2)는, 정보 처리 장치이며, 예를 들면, 도시하지 않은, CPU(Central Processing Unit)나 RAM(Random Access Memory), ROM(Read Only Memory) 등을 구비한 컴퓨터이다.
또한, 호스트 장치(2)는, 스토리지 장치(10)에서의 카피 세션(카피 처리)에 대한 세션 정보의 작성 등을 행한다.
세션 정보는, 카피 세션에 관한 정보이며, 예를 들면, 세션 ID(Session ID), 카피원의 LUN(Logical Unit Number) 및 개시 LBA(Logical Block Address), 카피처의 LUN 및 개시 LBA 및 BC(Block Count) 및 카피 종별이다.
또한, 호스트 장치(2)에 의해 작성된 세션 정보는, 스토리지 장치(10)에 송신되고, 이 스토리지 장치(10)의 RAM(121) 등에, 후술하는 세션 관리 테이블(201)(도 3 참조)로서 저장된다. 또한, 세션 정보는 기지의 방법을 이용하여 작성할 수 있다.
또한, 호스트 장치(2)는, 후술하는 바와 같이, 스토리지 장치(10)에 대하여, 컨커런트 컨트롤 카피(Concurrent Control Copy) 커맨드(이하, CCC 커맨드라고 함)를 발행한다. 이 CCC 커맨드는, 레딩 상태(후술)로 되어 있는 복수의 카피 세션을 일제히 액티브 상태(후술)로 하는 지시이며, 예를 들면, Start 커맨드 혹은 Restart 커맨드와, 파라미터로서 액티브 상태로 하는 복수의 카피 세션을 특정하는 정보(예를 들면, 세션 ID)를 구비한다.
여기서, 호스트 장치(2)는, CCC 커맨드에서, 임의의 타이밍에서 카피 세션의 액티브화를 행하게 하는 경우에는, Start 커맨드를 이용한다. 또한, 스토리지 장치(10)의 재기동 시에 카피 세션의 액티브화를 행하게 하는 경우에는, CCC 커맨드에서, Restart 커맨드를 이용한다.
또한, 호스트 장치(2)는, 종래 방법을 이용하여, 개개의 볼륨에 대하여 Start 커맨드 혹은 Restart 커맨드를 각각 발행함으로써, 하나의 볼륨마다의 백업을 작성하는 기능도 구비한다.
스토리지 장치(10)는, 호스트 장치(2)에 대하여 기억 영역을 제공하는 것이며, 예를 들면, RAID(Redundant Arrays of Inexpensive Disks) 장치이다. 또한, 도 1 중에서는, 편의상, 스토리지 장치(10)에 호스트 장치(2)가 접속된 상태를 도시하고 있지만, 스토리지 장치(10)에 2 이상의 호스트 장치가 접속되어도 된다. 또한, 스토리지 장치(2)에 다른 스토리지가 접속되어도 되고, 적절히 변경하여 실시할 수 있다.
스토리지 장치(10)는, 도 1에 도시한 바와 같이, CM(Controller Module : 제어 장치)(111, 211), CA(Channel Adapter)(124) 및 디스크 장치(131, 231)를 구비한다. CM(111, 211)은 스토리지 장치(10)에서의 다양한 제어를 행하는 것이며, 호스트 장치(2)로부터의 I/O 처리 요구에 따라서, 디스크 장치(131, 231)에의 액세스 제어 등, 각종 제어를 행한다.
디스크 장치(131, 231)는, 예를 들면, HDD(Hard Disk Drive)이다. CM(111)에는 1 이상(도 1에 도시한 예에서는 2개)의 HDD(131)가 접속되고, 또한, CM(211)에는 1 이상(도 1에 도시한 예에서는 2개)의 HDD(231)가 접속되어 있다. 스토리지 장치(10)에서는, 이들 HDD(131, 231)의 기억 영역이 논리 볼륨에 대하여 할당된다. 또한, CM(111, 211)에 접속되는 HDD(131, 231)의 대수(臺數)는 적절히 변경하여 실시할 수 있다.
도 2에 도시한 예에서는, 스토리지 장치(10) 내에서는, LUN0∼2, 10∼12의 6개의 논리 볼륨(이하, 간단히 볼륨이라고 함)을 구비하고, LUN0∼2가 HDD(131)에, 또한, LUN10∼12가 HDD(231)에, 각각 할당되어 있다. 또한, 이하, LUN0∼2를 볼륨#00∼#02라고 하는 경우가 있고, LUN10∼12를 볼륨#10∼#12라고 하는 경우가 있다.
또한, 본 스토리지 시스템(1)은, 스토리지 장치(10)에서, 하나의 볼륨의 데이터를 다른 볼륨에 카피하는 데이터 카피 기능을 구비한다. 본 실시 형태에서는, CM(111)에 접속된 볼륨#00∼#02가 CM(211)에 접속된 볼륨#10∼#12에 카피되는 예에 대하여 설명한다. 즉, 볼륨#00∼#02가 카피원의 볼륨이며, 볼륨#10∼#12가 카피처의 볼륨이다. 이하, 볼륨#00∼#02를 카피원 볼륨, 볼륨#10∼#12를 카피처 볼륨이라고 하는 경우가 있다. 또한, 이하, 데이터의 카피를 데이터 이행 혹은 백업으로 표현하는 경우가 있다.
카피원 볼륨#00∼#02는, 예를 들면, 호스트 장치(2)의 업무 데이터를 저장하는 업무 볼륨이며, 호스트 장치(2)로부터의 I/O 처리 요구에 기초하여, 데이터의 기입 등의 갱신이 행해진다. 그리고, 본 스토리지 시스템(1)에서는, 이 스토리지 장치(10)의 카피원 볼륨#00∼#02의 데이터가, 카피되는 백업 대상이다.
카피처 볼륨#10∼#12는, 카피원 볼륨#00∼#02의 스토리지 장치(10) 내에서의 백업처(로컬 백업)로서 이용되는 볼륨이다. 즉, 카피처 볼륨#10∼#12에는, 카피원 볼륨#00∼02의 데이터(카피원 데이터)의 카피가 백업 데이터로서 기억된다.
CA(124)는, 호스트 장치(2)와 통신 가능하게 접속하는 인터페이스 컨트롤러이며, 예를 들면, 파이버 채널 어댑터이다. 그리고, 예를 들면 오퍼레이터가 호스트 장치(2)로부터, 스토리지 장치(10)에서의 데이터의 카피 지시를 입력하면, CA(124)가 이 카피 지시를 수신한다. 또한, 호스트 장치(2)로부터 볼륨#00∼#02에 대한 I/O 처리 요구도, 이 CA(124)에 의해 수신된다.
DA(126, 226)는, HDD(131, 231)와 통신 가능하게 접속하는 인터페이스 컨트롤러이며, 예를 들면, 파이버 채널 어댑터나 SCSI 어댑터, iSCSI 어댑터이다.
CM(111, 211)은, 도 1에 도시한 바와 같이, CPU(110, 210), ROM(122, 222) 및 RAM(121, 221)을 구비하는 정보 처리 장치이다. 그리고, 본 실시 형태에서는, CM(111)이 카피원 볼륨#00∼#02를 관리하고, CM(211)이 카피처 볼륨#10∼#12를 관리한다.
RAM(121, 221)은, 다양한 데이터나 프로그램을 일시적으로 저장하는 메모리(기억 영역)이다. RAM(121, 221)에서의 소정의 영역에는, 예를 들면, 호스트 장치(2)로부터 수신한 데이터나, 호스트 장치(2)에 대하여 송신하는 데이터가 일시적으로 저장되고, 이에 의해 RAM(121, 221)은 버퍼 메모리로서도 기능한다.
또한, RAM(121, 221)에서의 다른 소정의 영역에는, 후술하는 CPU(110, 210)가 프로그램을 실행할 때에, 데이터나 프로그램이 일시적으로 저장ㆍ전개된다. 또한, RAM(121)에서의 다른 소정의 영역에는, 후술하는 세션 관리 테이블(201)이 저장된다.
또한, RAM(121)에서의 다른 소정의 영역에는, 후술하는 카피 비트맵(132)이 저장된다.
또한, 복수의 메모리 장치를 구비하고, RAM(121)에서 복수의 영역에 나누어져 저장되는 이들 데이터를, 이들 복수의 메모리 장치에 분산하여 저장해도 되고, 적절히 변경하여 실시할 수 있다.
ROM(122, 222)은, CPU(110, 210)가 실행하는 프로그램이나 다양한 데이터를 저장하는 기억 장치이다.
CPU(110, 210)는, 다양한 제어나 연산을 행하는 처리 장치이며, ROM(122, 222) 등에 저장된 프로그램을 실행함으로써, 다양한 기능을 실현한다.
그리고, CPU(110)는, 도 1에 도시한 바와 같이, 데이터 액세스 제어부(11), 카피 처리부(12), 세션 정의부(13), 액티브화 관리부(14) 및 비동기 액티브화 제어부(15)로서 기능한다.
또한, 데이터 액세스 제어부(11), 카피 처리부(12), 세션 정의부(13), 액티브화 관리부(14) 및 비동기 액티브화 제어부(15)로서의 기능을 실현하기 위한 프로그램은, 예를 들면 플렉시블 디스크, CD(CD-ROM, CD-R, CD-RW 등), DVD(DVD-ROM, DVD-RAM, DVD-R, DVD+R, DVD-RW, DVD+RW, HD DVD 등), 블루레이 디스크, 자기 디스크, 광 디스크, 광 자기 디스크 등의, 컴퓨터 판독 가능한 기록 매체에 기록된 형태로 제공된다. 그리고, 컴퓨터는 그 기록 매체로부터 프로그램을 판독하여 내부 기억 장치 또는 외부 기억 장치에 전송하여 저장하여 이용한다. 또한, 그 프로그램을, 예를 들면 자기 디스크, 광 디스크, 광 자기 디스크 등의 기억 장치(기록 매체)에 기록해 놓고, 그 기억 장치로부터 통신 경로를 통하여 컴퓨터에 제공하도록 해도 된다.
데이터 액세스 제어부(11), 카피 처리부(12), 세션 정의부(13), 액티브화 관리부(14) 및 비동기 액티브화 제어부(15)로서의 기능을 실현할 때에는, 내부 기억 장치[본 실시 형태에서는 RAM(121)이나 ROM(122)]에 저장된 프로그램이 컴퓨터의 마이크로프로세서[본 실시 형태에서는 CPU(110)]에 의해 실행된다. 이때, 기록 매체에 기록된 프로그램을 컴퓨터가 판독하여 실행하도록 해도 된다.
또한, 본 실시 형태에서, 컴퓨터란, 하드웨어와 오퍼레이팅 시스템을 포함하는 개념이며, 오퍼레이팅 시스템의 제어 하에서 동작하는 하드웨어를 의미하고 있다. 또한, 오퍼레이팅 시스템이 불필요하고 어플리케이션 프로그램 단독으로 하드웨어를 동작시키는 경우에는, 그 하드웨어 자체가 컴퓨터에 상당한다. 하드웨어는, 적어도, CPU 등의 마이크로프로세서와, 기록 매체에 기록된 컴퓨터 프로그램을 판독하기 위한 수단을 구비하고 있고, 본 실시 형태에서는, CM(111, 211)이 컴퓨터로서의 기능을 갖고 있는 것이다.
데이터 액세스 제어부(11)는, 호스트 장치(2)로부터의 I/O 처리 요구에 따라서 카피원 볼륨#00∼#02에 대한 데이터 액세스를 행한다. 예를 들면, 호스트 장치(2)로부터 볼륨#00∼#02에 대하여 데이터의 기입이나 읽어내기의 액세스 요구가 행해지면, 데이터 액세스 제어부(11)는, 이 I/O 처리 요구에 따라서, 볼륨#00∼#02에 대한 데이터의 기입이나 읽어내기를 행한다.
호스트 장치(2)로부터 수신한 I/O 처리 요구는, 예를 들면, 도시하지 않은 관리 큐에 접속(큐잉)되고, 데이터 액세스 제어부(11)는, 이 관리 큐에 접속된 I/O 처리 요구를, FIFO(First In, First Out)에 의해 순차적으로 디큐하여 처리를 행한다.
카피 처리부(12)는, 카피원 볼륨#00∼#02에 기억된 카피원 데이터의 카피를 카피처 볼륨#10∼#12에 전송하고, 이 카피처 볼륨#10∼#12에 저장함으로써, 데이터의 백업을 행한다. 본 실시 형태에서, 카피 처리부(12)는, 카피원 볼륨#00∼#02로부터 카피처 볼륨#10∼#12로의 데이터 전송을 OPC, SnapOPC, SnapOPC+, QuickOPC 등의 방법을 이용하여 행한다.
또한, 이 OPC에 의한 카피원 볼륨#00∼#02로부터 카피처 볼륨#10∼#12로의 데이터의 백업 방법은 기지의 방법이며, 그 상세한 설명은 생략한다.
이하, 카피 처리부(12)가, 카피원 볼륨#00∼#02로부터 카피처 볼륨#10∼#12로의 데이터 전송을 OPC의 방법을 이용하여 행하는 예에 대하여 나타낸다.
1회의 OPC 등의 카피의 처리의 단위를 세션이라고 한다. 이하, 카피원의 볼륨으로부터 카피처의 볼륨으로의 데이터의 카피 처리를 카피 세션 혹은 간단히 세션이라고 하는 경우가 있다.
또한, 카피 처리부(12)는, 후술하는 스테이터스가 액티브로 되어 있지 않은 카피 세션은 실행하지 않는다. 따라서, 본 스토리지 시스템(1)에서는, 카피 처리부(12)는, 상태가 액티브인 것이 확인되지 않은 카피 세션에 대해서는, 그 카피의 실행을 억지하는 억지부로서도 기능한다.
세션 정의부(실행 준비 제어부)(13)는, 카피 세션에 관련되는 카피 실행 준비를 행하고, 카피 세션의 정의를 행한다.
세션 정의부(13)는, 카피 실행 준비로서, 예를 들면, 그 카피 세션을 특정하기 위한 세션 ID의 설정이나, 카피 세션에 관련되는 자원 획득 처리, 세션 관리 테이블(201)의 작성, 카피 비트맵(132)의 작성을 행한다.
카피 세션에 관련되는 자원 획득 처리란, 예를 들면, 카피처 볼륨에서의 카피 데이터의 저장 영역의 확보이다. 또한, 이 확보된 카피처 볼륨에서의 저장처 영역의 정보는, 세션 관리 테이블(201)에 등록된다. 세션 ID는, 각 카피 세션을 특정하는 유니크한 식별 정보이다.
카피 세션의 정의에는, 예를 들면, Get Session ID 커맨드나 Start 커맨드를 이용하는 등, 기지의 방법을 이용하여 실현할 수 있다. 또한, 재기동에 관련되는 카피 세션의 정의에는, Start 커맨드 대신에 Restart 커맨드가 이용된다.
도 3은 실시 형태의 일례로서의 스토리지 시스템(1)에서의 세션 관리 테이블(201)을 예시하는 도면이다.
세션 관리 테이블(201)은, 카피 세션에 관한 정보를 관리하는 관리 정보이다. 이 세션 관리 테이블(201)에서는, 도 3에 도시한 바와 같이, 세션 ID, 카피원의 LUN 및 개시 LBA, 카피처의 LUN 및 개시 LBA, BC(Block Counter), 카피 종별, 스테이터스, Async Start 및 Async Restart의 항목이 서로 관련지어져 관리된다.
여기서, 카피원의 LUN은, 그 카피 세션에서 카피되는 데이터가 저장되어 있는 볼륨에 설정된 LUN, 즉, 데이터 전송원으로 되는 볼륨에 설정된 LUN이다. 카피원의 개시 LBA는, 그 카피 세션에서 카피되는 영역의 선두 위치를 나타내는 어드레스이다. 또한, 카피처의 LUN은, 그 카피 세션에서의 데이터 전송처로 되는 볼륨에 설정된 LUN이다. 카피처의 개시 LBA는, 그 카피 세션에서 카피되는 데이터의 저장 위치의 선두 위치를 나타내는 어드레스이다. BC는, 그 카피 세션에서 카피되는 데이터의 사이즈(카피 사이즈, 블록 사이즈)이다.
카피 종별은, 그 카피 세션의 종류이며, 예를 들면, OPC, SnapOPC, SnapOPC+, QuickOPC 등을 나타내는 정보가 설정된다. 스테이터스는 그 카피 세션의 상태이며, 세션 정의부(13)에 의한 카피의 실행 준비의 진척 상황을 나타낸다. 이 카피 종별로서는, 예를 들면, 아이들(Idle), 리저브(Reserve), 레딩(Readying), 액티브(Active), 에러/서스펜드(Error/Suspend) 중 어느 하나의 상태를 나타내는 정보가 설정된다.
여기서, 아이들은, 상기 카피 세션이 실행되어 있지 않은 상태이다. 리저브는, 세션 정의부(13)에 의해 행해지는 카피 준비에서 세션 ID의 확보가 행해진 상태로서, 자원 획득 처리가 완료되지 않은 상태이다. 액티브는, 그 카피 세션이 실행 중(카피 중)인 상태이다. 에러/서스펜드는, 어떠한 이유로 그 카피 세션을 실행할 수 없는 상태이다. 예를 들면 카피 대상의 데이터가 파손되어 있는 경우나 대상의 볼륨에 액세스할 수 없는 경우에, 에러/서스펜드가 설정된다.
레딩은, 세션 정의부(13)에 의해 행해지는 카피 실행 준비에서, 세션 ID의 확보 및 자원 획득 처리가 완료된 상태이다. 즉, 카피 처리를 실행 가능한 상태이지만, 아직 실행되지 않은 상태(카피 실행 대기 상태)를 나타낸다.
이들 스테이터스는, 세션 정의부(13)가, 카피 실행 준비의 진행 상태에 따라서, 축차적으로 설정한다. 즉, 세션 정의부(13)는, 카피 실행 준비가 완료된 카피 처리를 카피 실행 대기 상태(레딩)로 설정하는 카피 실행 관리부로서도 기능한다.
Async Start 및 Async Restart는, 상기 카피 세션이, 후술하는 비동기 액티브화 제어부(15)에 의해 액티브화되는 것인 것을 나타내는 정보(액티브화 대상 정보)이다. 즉, Async Start 및 Async Restart는, 액티브화 대상인 것을 나타내는 액티브화 대상 정보이다. 이들 Async Start 및 Async Restart에는, 예를 들면, "0" 혹은 "1"이 플래그로서 설정된다. 본 실시 형태에서는, Async Start 및 Async Restart에 플래그 "1"이 설정되어 있는 경우에, 그 카피 세션이 액티브화 대상이며, 후술과 같이, 비동기 액티브화 제어부(15)가 이 카피 세션을 액티브화한다.
여기서, Async Start는 임의의 타이밍에서 비동기 액티브화 제어부(15)에 의해 액티브화 처리가 행해지는 대상인 것을 나타낸다. 또한, Async Restart는, 상기 카피 세션이, 상기 스토리지 장치(10)의 재기동 시에 액티브화 처리가 행해지는 대상인 것을 나타낸다.
그리고, 이들 Async Start 및 Async Restart는, 액티브화 관리부(14)에 의해 세션 관리 테이블(201)에 설정된다. 액티브화 관리부(14)는, 호스트 장치(2)로부터 수신하는 CCC 커맨드의 파라미터에 의해 지정되는 카피 세션에 대하여, 이들 Async Start 및 Async Restart에 "1"을 설정한다. 구체적으로는, 액티브화 관리부(14)는, CCC 커맨드가 Start 커맨드를 구비하는 경우에 Async Start에 플래그 "1"을 설정한다. 또한, 액티브화 관리부(14)는, CCC 커맨드가 Restart 커맨드를 구비하는 경우에 Async Restart에 플래그 "1"을 설정한다.
이하, 세션 관리 테이블(201)의 Async Start를 비동기 액티브화 플래그라고 하는 경우가 있다. 또한, 세션 관리 테이블(201)의 Async Restart를 리스타트용 비동기 액티브 플래그라고 하는 경우가 있다. 또한, 이하, 비동기 액티브화 플래그 혹은 리스타트용 비동기 액티브화 플래그에 "1"이 설정되어 있는 카피 세션을 비동기 액티브화 대상 카피 세션이라고 하는 경우가 있다.
예를 들면, 도 3에 도시한 세션 맵핑 테이블(201)에서 선두에 등록되어 있는 세션 ID "00"의 카피 세션에 대하여 설명한다. 이 세션 ID "00"의 카피 세션은, 카피 종별이 OPC이다. 이 카피 세션에서는, LUN "00"의 볼륨에서의 LBA "000"을 선두 어드레스로 하는 1000블록의 데이터가, LUN "10"의 볼륨에서의 LBA "000"을 선두 어드레스로 하는 영역에 카피되는 것을 나타낸다.
또한, 이 도 3에 도시한 예에서는, 세션 ID "00"의 카피 세션의 스테이터스는 레딩의 상태이며, 비동기 액티브화 제어부(15)에 의한 액티브화 처리가 행해지는 것을 기다리고 있는 상태인 것을 알 수 있다. 그리고, 이 세션 ID "00"의 카피 세션에는 비동기 액티브화 플래그 "1"이 설정되어 있다. 즉, 이 세션 ID "00"의 카피 세션은, 후술하는 비동기 액티브화 제어부(15)에 의한 액티브화 대상이다.
또한, 세션 정의부(13)에 의해 작성된 세션 관리 테이블(201)은, 예를 들면 RAM(121)에 저장된다.
카피 비트맵(132)은, 본 스토리지 시스템(1)에 구비된 볼륨간에서의 데이터 전송 상태를 관리하는 데이터 전송 상태 관리 정보이다.
이 카피 비트맵(132)은, 예를 들면, 카피원 볼륨을 소정 사이즈(예를 들면 8KB) 단위의 복수의 단위 영역으로 구분하고, 이들 단위 영역마다, 그 단위 영역에 저장되어 있는 데이터가 카피처 볼륨에 전송되었는지의 여부를 나타내는 정보를 대응지음으로써 작성된다. 즉, 카피 비트맵(132)은, 카피원 볼륨#00의 데이터 전송의 진척 상황을 관리한다.
스토리지 장치(10)에서, 복수의 카피 세션이 존재하는 경우에는, 세션 정의부(13)는, 이들 세션마다 카피 비트맵(132)을 작성한다.
도 4는 실시 형태의 일례로서의 스토리지 시스템(1)에서의 카피 비트맵(132)을 설명하기 위한 도면이다.
도 4에 도시한 예에서는, 카피원 볼륨#00이 4개의 영역(부분)으로 분할되어 있다. 따라서, 카피 비트맵(132)은, 카피원 볼륨#00을 구성하는 4개의 영역의 각각에 대하여, 데이터 전송이 행해졌는지의 여부를 나타내는 "0" 혹은 "1" 중 어느 하나의 값이 관련지어진다. 예를 들면, 데이터가 미전송 상태인 영역에는 "1"을, 또한, 데이터가 전송 완료되어, 카피의 실행이 불필요한 영역에는 "0"이 설정된다.
카피 처리부(12)는, 카피 비트맵(132)을 참조하여, 이 카피 비트맵(132)에서 데이터가 미전송 상태인 것을 나타내는 "1"이 설정된 영역의 데이터를, 카피처의 볼륨에 순차적으로 카피한다. 또한, 카피 처리부(12)는, 카피 비트맵(132)에서 데이터가 전송 완료된 영역에 대하여 "0"을 설정한다.
이에 의해, 카피 비트맵(132)을 참조함으로써, 카피원 볼륨#00을 구성하는 복수의 영역에 대하여, 각각, 데이터 전송이 완료되어 있는지의 여부의 진척 상황을 용이하게 판단할 수 있다.
액티브화 관리부(14)는, 호스트 장치(2)로부터 수신하는 CCC 커맨드의 파라미터에 의해 지정되는 카피 세션에 대하여, 세션 관리 테이블(201)의 Async Start 혹은 Async Restart에 플래그 "1"을 설정한다. 구체적으로는, 액티브화 관리부(14)는, 호스트 장치(2)로부터 Start 커맨드를 수반하는 CCC 커맨드를 수신한 경우에는, 그 CCC 커맨드에 의해 지정되는 카피 세션에 대하여, 세션 관리 테이블(201)의 Async Start에 플래그 "1"을 설정한다. 또한, 액티브화 관리부(14)는, 호스트 장치(2)로부터 Restart 커맨드를 수반하는 CCC 커맨드를 수신한 경우에는, 그 CCC 커맨드에 의해 지정되는 카피 세션에 대하여, 세션 관리 테이블(201)의 Async Restart에 플래그 "1"을 설정한다.
즉, 액티브화 관리부(14)는, 호스트 장치(2)로부터 수신하는 CCC 커맨드에 따라서, 이 CCC 커맨드에 의해 지정된 카피 세션에 대하여 액티브화 대상인 것을 나타내는 액티브화 대상 정보(비동기 액티브화 플래그)를 설정한다.
비동기 액티브화 제어부(15)는, 세션 관리 테이블(201)의 Async Start 혹은 Async Restart에 플래그 "1"이 설정된 카피 세션에 대하여, 레딩의 상태를 액티브의 상태로 이행시킨다. 이하, 카피 세션을 레딩의 상태로부터 액티브의 상태로 이행시키는 것을 액티브화라고 한다.
본 스토리지 시스템(1)에서는, 카피 처리부(12)는, 비동기 액티브화 플래그에 "1"이 설정되어 있고, 또한, 상태가 액티브인 것이 확인된 카피 세션을 실행한다. 즉, 카피 처리부(12)는, 상태가 액티브로 되어 있지 않은 카피 세션은 실행하지 않는다.
비동기 액티브화 제어부(카피 제어부)(15)는, 비동기 액티브화 플래그에 "1"이 설정되어 있는 카피 세션에 대하여, 그 카피 세션의 스테이터스를 레딩 상태로부터 해제하여 액티브 상태로 한다. 이에 의해, 비동기 액티브화 제어부(15)는, 카피 처리부(12)에, 그 카피 세션에 관련되는 카피를 실행시킨다.
또한, 비동기 액티브화 제어부(15)는, 세션 관리 테이블(201)에서, 그 카피 세션의 스테이터스를 레딩으로부터 액티브로 변경한다.
본 스토리지 시스템(1)에서는, 비동기 액티브화 제어부(15)는, (1) 폴링 계기와 (2) 호스트 장치(2)로부터의 I/O 계기의 2개의 계기에 의해 액티브화를 실행한다.
(1) 폴링 계기에 의한 액티브화
본 스토리지 시스템(1)에서는, 스토리지 장치(10) 내에서 소정 간격마다(예를 들면, 1초 걸러) 폴링 처리가 기동된다. 이 폴링 처리 중에서, 액티브화 관리부(14)는, 세션 관리 테이블(201)의 비동기 액티브화 플래그를 참조한다. 그리고, 액티브화 관리부(14)는, 비동기 액티브화 플래그에 "1"이 설정되어 있는 카피 세션을, 순차적으로, 레딩 상태로부터 액티브 상태로 하는 처리를 실행한다.
실시 형태의 일례로서의 스토리지 시스템(1)에서의 폴링 계기에 의한 액티브화 처리를, 도 5에 도시한 플로우차트(스텝 A10∼A70)에 따라서 설명한다.
폴링 처리가 개시되면, 비동기 액티브화 제어부(15)는, 예를 들면, 세션 관리 테이블(201)에 등록된 선두의 카피 세션을 처리 대상의 카피 세션으로서 설정(선택)한다(스텝 A10).
비동기 액티브화 제어부(15)는, 이 선택된 카피 세션에 대하여, 비동기 액티브화 플래그에 "1"이 설정되어 있는지의 여부를 판단한다(스텝 A20). 비동기 액티브화 플래그에 "1"이 설정되어 있는 경우에는(스텝 A20의 "예" 루트 참조), 비동기 액티브화 제어부(15)는, 그 카피 세션의 스테이터스를 레딩으로부터 액티브로 변경 한다(스텝 A30). 비동기 액티브화 제어부(15)는, 세션 관리 테이블(201)에서, 그 스테이터스를 레딩으로부터 액티브로 변경한다.
비동기 액티브화 제어부(15)는, 세션 관리 테이블(201)에서의 그 카피 세션의 비동기 액티브화 플래그를 "0"으로 한다(스텝 A40).
그 후, 카피 처리부(12)는, 스테이터스가 액티브로 된 카피 세션을 실행한다. 즉, 세션 관리 테이블(201)을 참조하여, 그 카피 세션의 카피원의 볼륨의 데이터를 카피처의 볼륨에 카피함으로써, 데이터 백업을 행한다(스텝 A50).
이와 같이, 본 스토리지 시스템(1)에서는, 카피 처리부(12)는, 비동기 액티브화 플래그에 "1"이 설정되어 있고, 또한, 스테이터스가 액티브인 것이 확인된 카피 세션이 실행된다.
그 후, 비동기 액티브화 제어부(15)는, 세션 관리 테이블(201)에 등록된 모든 카피 세션에 대하여 처리가 실시되었는지를 확인한다(스텝 A60). 모든 카피 세션의 처리가 완료되지 않은 경우에는(스텝 A60의 "아니오" 루트 참조), 다음 세션을 설정하고(스텝 A70), 스텝 A20으로 되돌아간다. 모든 카피 세션의 처리가 완료된 경우에는(스텝 A60의 "예" 루트 참조), 처리를 종료한다.
또한, 선택된 카피 세션에 대하여 비동기 액티브화 플래그에 "1"이 설정되어 있지 않은 경우에는(스텝 A20의 "아니오" 루트 참조), 스텝 A60으로 이행한다.
이와 같이, 폴링 처리 시에, 세션 관리 테이블(201)에서 비동기 액티브화 플래그에 "1"이 설정된 1 이상의 카피 세션의 백업을 일제히 행한다.
즉, 비동기 액티브화 플래그 "1"이 설정된 카피 세션의 백업 처리는, 폴링 계기라고 하는 스토리지 장치(10)에서의 자발적인 타이밍에서 실행되며, 호스트 장치(2)로부터의 CCC 커맨드의 수신과는 비동기로 행해진다.
(2) I/O 계기에 의한 액티브화
본 스토리지 시스템(1)에서는, 호스트 장치(2) 등으로부터 볼륨에 대한 I/O 처리 요구를 수신한 경우에, 그 I/O 처리 요구의 대상의 볼륨이 비동기 액티브화 대상 카피 세션의 카피 범위와 겹치는 경우에, 그 비동기 액티브화 대상 카피 세션을 액티브화시킨다.
즉, 호스트 장치(2)로부터 스토리지 장치(10)가 CCC 커맨드를 수신하고 나서, 폴링 처리에 의해 상기 비동기 액티브화 대상 카피 세션의 백업을 행하기 전에, 호스트 장치(2) 등으로부터 I/O 처리 요구가 행해지는 경우가 있다. 이와 같은 경우에, 수신한 I/O 처리 요구의 대상으로 되어 있는 기억 영역이, 비동기 액티브화 대상 카피 세션의 카피 범위와 겹치는 경우에는, 이러한 I/O 처리 요구의 실행을 일시적으로 억지한다. 그리고, 비동기 액티브화 대상 카피 세션의 액티브화를 실행하고, 그 I/O 처리 요구에 관련되는 영역의 백업을 실행한 후에, I/O 처리 요구를 실행한다.
실시 형태의 일례로서의 스토리지 시스템(1)에서의 호스트 장치(2)로부터의 I/O 계기에 의한 액티브화 처리를, 도 6에 도시한 플로우차트(스텝 B10∼B80)에 따라서 설명한다.
스토리지 장치(10)에서는, 호스트 장치(2)로부터 I/O 처리 요구를 수신하면, CPU(111)는, 그 I/O 처리 요구의 대상으로 되어 있는 기억 영역이, 세션 관리 테이블(201)에 등록되어 있는 어느 하나의 카피 세션의 카피 영역과 겹쳐져 있는지의 여부를 판단한다(스텝 B10). 이러한 판단은, 예를 들면, 세션 관리 테이블(201)에서의 LUN이나 LBA, BC의 값에 기초하여 행해진다.
I/O 처리 요구의 대상 영역과 어느 하나의 카피 세션의 카피 범위가 일부라도 겹쳐져 있는 경우에는(스텝 B10의 "예" 루트 참조), 비동기 액티브화 제어부(15)는, 그 카피 세션에 대하여, 비동기 액티브화 플래그가 "1"로 설정되어 있는지의 여부를 확인한다(스텝 B20).
세션 관리 테이블(201)에서, 그 카피 세션의 비동기 액티브화 플래그에 "1"이 설정되어 있는 경우에는(스텝 B20의 "예" 루트 참조), 예를 들면, 데이터 액세스 제어부(11)가, 그 I/O 처리 요구를 관리 큐에 큐잉 한다(스텝 B30). 비동기 액티브화 제어부(15)는, 그 카피 세션의 스테이터스를 레딩으로부터 액티브로 변경함으로써(스텝 B40), 카피 세션을 개시할 수 있는 상태로 한다. 비동기 액티브화 제어부(15)는, 세션 관리 테이블(201)에서, 그 스테이터스를 레딩으로부터 액티브로 변경한다.
비동기 액티브화 제어부(15)는, 세션 관리 테이블(201)에서의 그 카피 세션의 비동기 액티브화 플래그를 "0"으로 한다(스텝 B50). 또한, 데이터 액세스 제어부(11)는, 관리 큐로부터 그 I/O 처리 요구를 디큐한다(스텝 B60).
그 후, 카피 처리부(12)가, 카피원 볼륨에서의, 상기 I/O 처리 요구에 관련되는 영역(범위)의 데이터를 카피처 볼륨에 백업한다(스텝 B70). 이에 의해, 카피원 볼륨에서의 I/O 처리 전의 데이터가 카피처 볼륨에 백업된다.
그리고, 데이터 액세스 제어부(11)는, 스텝 B60에서 디큐한 I/O 처리 요구에 따라서 I/O 처리를 실행하고(스텝 B80), 처리를 종료한다.
한편, I/O 처리 요구의 대상 영역과 카피 세션의 카피 범위가 겹쳐져 있지 않은 경우에는(스텝 B10의 "아니오" 루트 참조), 호스트 장치(2)로부터의 I/O 처리가 OPC의 카피 범위에 대하여 행해지는 것은 아니라고 판단되고, 스텝 B80에서, 호스트 장치(2)로부터 송신된 I/O 처리 요구가 실행된다.
또한, 세션 관리 테이블(201)에서, 그 카피 세션의 비동기 액티브화 플래그에 "1"이 설정되어 있지 않은 경우에는(스텝 B20의 "아니오" 루트 참조), 호스트 장치(2)로부터 수신한 I/O 처리 요구에 대하여 통상의 OPC 처리를 행한다. 즉, 스텝 B70에서, 그 I/O 처리 요구에 관련되는 영역의 백업을 행하고 나서, 스텝 B80에서 I/O 처리를 실행한다.
상술한 바와 같이 구성된 실시 형태의 일례로서의 스토리지 시스템(1)에서의 호스트 장치(2)의 처리를, 도 7에 도시한 플로우차트(스텝 C10∼C30)에 따라서 설명한다.
호스트 장치(2)에서는, 예를 들면, 스토리지 시스템(1)의 메인터넌스 처리를 개시하기 전 등, 특정한 타이밍에서의 스토리지 장치(10)의 백업을 행하는 경우에 이하의 처리를 행한다.
우선, 호스트 장치(2)는, 스토리지 장치(10)에 대하여, 카피 세션 정의 지시를 행한다(스텝 C10). 이 카피 세션 정의 지시에는, 백업을 행하는 카피원의 볼륨의 영역과 카피처의 볼륨의 영역의 정보 등이 포함된다.
이 카피 세션 정의 지시에 따라서, 스토리지 장치(10)에서는, 세션 정의부(13)가 카피 실행 준비를 행하고, 카피 세션의 정의를 행한다. 또한, 스토리지 장치(10)에서의 카피 세션 정의 처리에 대해서는 후술한다. 또한, 세션 정의부(13)는, 카피 실행 준비가 완료된 카피 세션을 레딩의 상태로 한다.
호스트 장치(2)는, 백업을 행하는 모든 카피 세션에 대한 정의가 완료되었는지를 확인하고(스텝 C20), 모든 카피 세션의 정의가 완료될 때까지 스텝 C10을 반복하여 실행한다(스텝 C20의 "아니오" 루트 참조). 즉, 복수의 카피 세션을 정의하는 경우에는, 정의하는 카피 세션의 수만큼 스텝 C10의 처리가 행해진다.
모든 카피 세션의 정의가 완료되면(스텝 C20의 "예" 루트 참조), 호스트 장치(2)는 스토리지 장치(10)에 대하여 CCC 커맨드를 발행함으로써, 정의한 카피 세션의 액티브화를 지시한다(스텝 C30). CCC 커맨드에는, 액티브화하는 카피 세션을 지정하는 세션 ID가 파라미터로서 포함되어 있고, 이 파라미터에 의해 액티브화하는 카피 세션이 특정된다. 또한, 스토리지 장치(10)에 의한 CCC 커맨드 수신 시의 처리에 대해서는 후술한다.
또한, 이 CCC 커맨드를 수신한 스토리지 장치(10)는, 호스트 장치(2)에 대하여 커맨드 응답을 행하고, 이에 의해 호스트 장치(2)로부터 스토리지 장치(10)에 I/O 처리 요구를 송신 가능한 상태로 된다.
다음으로, 실시 형태의 일례로서의 스토리지 시스템(1)에서의 스토리지 장치(10)에 의한 세션 정의 처리를, 도 9를 참조하면서 도 8에 도시한 플로우차트(스텝 D10∼D30)에 따라서 설명한다. 도 9는 카피 세션에 대한 볼륨 구성예를 모식적으로 도시하는 도면이다.
호스트 장치(2)로부터의 카피 세션 정의 지시를 수신(도 7의 스텝 C10 참조)하면, 스토리지 장치(10)에서는, 세션 정의부(13)는, 지시된 카피 세션을 정의 가능한지의 여부를 판단한다(스텝 D10). 예를 들면, 지정된 볼륨이 존재하지 않는 등, 어떠한 이유로 카피 세션을 정의할 수 없는 경우에는(스텝 D10의 "아니오" 루트 참조), 세션 정의 이상이 발생한 것으로 하여 카피 세션의 정의 처리를 종료한다. 스토리지 장치(10)는, 호스트 장치(2)에 대하여, 세션 정의 이상이 발생하였다는 취지의 통지를 행하는 것이 바람직하다.
지정된 카피 세션을 정의 가능한 경우에는(스텝 D10의 "예" 루트 참조), 세션 정의부(13)는, 그 카피 세션을 정의하기 위한 자원의 획득을 행하고(스텝 D20), 세션의 정의를 행한다. 즉, 세션 정의부(13)는, 카피처 볼륨에서의 카피 데이터의 저장 영역의 확보 등을 행한다. 또한, 세션 정의부(13)는, 카피 세션을 특정하기 위한 세션 ID의 설정이나, 세션 관리 테이블(201)에의 등록(작성), 카피 비트맵(132)의 작성도 행한다.
그 후, 세션 정의부(13)는, 도 9에 도시한 바와 같이, 정의한 카피 세션에 대하여, 세션 관리 테이블(201)에서의 스테이터스를 레딩으로 설정하고(스텝 D30), 처리를 종료한다. 스토리지 장치(10)는, 호스트 장치(2)에 대하여, 세션 정의가 정상적으로 종료되었다는 취지의 통지를 행한다.
도 9에 도시한 예에서는, 볼륨#00∼#02를 볼륨#10∼#12에 카피하는 예에서, 각 카피 세션(SSID=0∼2)을 레딩으로 한 상태를 나타내고 있다.
다음으로, 실시 형태의 일례로서의 스토리지 시스템(1)에서의 스토리지 장치(10)에 의한 CCC 커맨드 수신 시의 처리를, 도 11을 참조하면서 도 10에 도시한 플로우차트(스텝 E10∼E30)에 따라서 설명한다. 도 11은 카피 세션의 스테이터스의 변이를 모식적으로 도시하는 도면이다.
호스트 장치(2)로부터의 CCC 커맨드를 수신(도 7의 스텝 C30 참조)하면, 스토리지 장치(10)에서는, 액티브화 관리부(14)는, CCC 커맨드에 파라미터로서 설정된 세션 ID를 취득하고, 이들 세션 ID에 의해 나타내어지는 카피 세션을 액티브로 하는 것이 가능한지의 여부를 판단한다(스텝 E10). 이러한 판단은, 예를 들면, 지정된 카피 세션에 관련되는 볼륨이 깨져 있지 않은지, 볼륨이 할당되어 있는 HDD(131, 231)의 전원이 들어와 있는지, HDD(131, 231)의 모터가 전력 절약화 설정에 의해 오프로 되어 있지 않은지 등을 확인함으로써 행한다.
지정된 카피 세션을 액티브로 할 수 없는 경우에는(스텝 E10의 "아니오" 루트 참조), 커맨드 이상이 발생한 것으로 하여 카피 세션의 CCC 커맨드 처리를 종료한다. 스토리지 장치(10)는, 호스트 장치(2)에 대하여, CCC 커맨드 처리 이상이 발생하였다는 취지의 통지를 행한다.
지정된 카피 세션을 액티브로 하는 것이 가능한 경우에는(스텝 E10의 "예" 루트 참조), 액티브화 관리부(14)는, 세션 관리 테이블(201)에서의 그 카피 세션에 대응하는 비동기 액티브화 플래그(Async Start)에 "1"을 설정한다(스텝 E20).
그리고, 액티브화 관리부(14)는, 수신한 CCC 커맨드에 의해 지정된 모든 카피 세션에 대하여 비동기 액티브화 플래그 "1"을 설정하였는지를 확인한다(스텝 E30). 지정된 모든 카피 세션에 대하여 비동기 액티브화 플래그 "1"이 설정된 경우에는(스텝 E30의 "예" 루트 참조), CCC 커맨드를 정상적으로 종료한 것으로 하여 처리를 종료한다. 스토리지 장치(10)는, 호스트 장치(2)에 대하여, CCC 커맨드 처리가 정상으로 종료되었다는 취지의 통지를 행한다.
도 11에 도시한 예에서는, 카피 세션(SSID=0∼2)에 대하여, 레딩의 상태로부터 액티브의 상태로 변경되어, 카피가 개시되는 예를 나타내고 있다.
*또한, 지정된 모든 카피 세션에 대한 비동기 액티브화 플래그 "1"의 설정이 완료되어 있지 않은 경우에는(스텝 E30의 "아니오" 루트 참조), 스텝 E20으로 되돌아간다.
또한, 스토리지 장치(10)의 재기동 시에서도, 이 도 10에 도시한 CCC 커맨드 처리와 마찬가지의 처리가 행해지지만, 스텝 E20에 상당하는 처리에서, 액티브화 관리부(14)는, 세션 관리 테이블(201)에서의 상기 카피 세션에 대응하는 리스타트용 비동기 액티브화 플래그(Async Restart)에 "1"을 설정한다.
이와 같이, 실시 형태의 일례로서의 스토리지 시스템(1)에 의하면, 세션 정의부(13)가 복수의 카피 세션을 정의한 후에 레딩의 상태로 설정하고, 액티브화 관리부(14)가, 호스트 장치(2)로부터 송신되는 CCC 커맨드에 따라서, 지정된 카피 세션에 비동기 액티브화 플래그를 설정한다. 그 후, 비동기 액티브화 제어부(15)가, 폴링 처리에 의해 자발적인 타이밍에서 비동기 액티브화 플래그에 "1"이 설정된 카피 세션을 액티브화하여, 지정된 카피 세션의 백업을 실행한다.
이에 의해, CCC 커맨드에 의해 지정된 복수의 카피 세션의 카피 처리를 단시간에 실행할 수 있다. 또한, 복수의 카피 세션의 카피 처리를 단시간에 실행할 수 있으므로, 백업 카피 처리 중에 I/O 처리 요구가 입력될 가능성을 낮게 할 수 있다. 또한, 복수의 카피 세션에 대하여, 거의 동일한 타이밍에서 백업을 행할 수 있다.
특히, 호스트 장치(2)로부터의 Start 커맨드를 수신하여, 그 Start 커맨드에 의해 지정된 볼륨의 백업을 실행하는 처리를 반복하여 실행하는 종래 방법과 비교하여, 카피 처리부(12)에 의한 복수의 카피 세션에 대한 백업 카피 처리에 요하는 시간을 단축할 수 있다.
또한, 만약, 백업 카피 처리 중에 I/O 처리 요구를 수신한 경우라도, 그 I/O 요구 처리가 비동기 액티브화 플래그에 "1"이 설정된 카피 세션의 카피 범위와 겹치는 경우에는, 그 I/O 처리 요구에 관련되는 영역의 백업을 작성하고 나서 I/O 처리를 실시한다. 즉, I/O 처리 요구의 대상으로 되어 있는 기억 영역이, 비동기 액티브화 대상 카피 세션의 카피 범위와 겹치는 경우에는, 비동기 액티브화 제어부(15)가, 이러한 I/O 처리 요구의 실행을 일시적으로 억지한다. 그리고, 먼저 비동기 액티브화 대상 카피 세션의 액티브화를 실행하여, 그 I/O 처리 요구에 관련되는 영역의 백업을 실행한 후에, I/O 처리 요구를 실행한다.
이에 의해, 카피원 볼륨에서의 I/O 처리 전의 백업을 확실하게 작성할 수 있다. 따라서, I/O 처리 성능을 저하시키지 않고 복수의 볼륨에 대하여 타이밍에 일관성이 있는 데이터 백업을 행할 수 있다.
또한, 상술한 실시 형태에 상관없이, 본 실시 형태의 취지를 일탈하지 않는 범위에서 다양하게 변형하여 실시할 수 있다.
예를 들면, 상술한 실시 형태에서는, 스토리지 장치(10)에 카피원의 볼륨을 관리하는 CM(111)과 카피처의 볼륨을 관리하는 1개의 CM(211)이 구비되어 있지만, 이것에 한정되는 것은 아니고, 3개 이상의 CM(111, 211)을 구비해도 된다. 즉, 카피원의 볼륨을 관리하는 CM(111)을 복수 구비해도 되고, 또한 카피처의 볼륨을 관리하는 CM(211)을 복수 구비해도 되고, 적절히 변경하여 실시할 수 있다.
또한, 상술한 실시 형태에서는, 스토리지 장치(10) 내에서는, LUN0∼2, 10∼12의 6개의 논리 볼륨을 구비하고, 볼륨#00∼#02가 볼륨#10∼#12에 카피되는 예에 대하여 설명하고 있지만, 이에 한정되는 것은 아니다. 즉, 카피원 및 카피처의 볼륨의 수나 구성은 적절히 변형하여 실시할 수 있다.
또한, 상술한 실시 형태에서는, 카피 처리부(12)는, 카피원 볼륨#00∼#02로부터 카피처 볼륨#10∼#12로의 데이터 전송을 OPC의 방법을 이용하여 행하고 있지만, 이에 한정되는 것은 아니다. 예를 들면, SnapOPC, SnapOPC+, QuickOPC 등의 다른 방법을 이용하여 백업을 행해도 되고, 적절히 변경하여 실시할 수 있다.
또한, 상술한 실시 형태에서는, 카피 세션에 관한 정보를 세션 관리 테이블(201)로 하여 관리하고 있지만, 이것에 한정되는 것은 아니다. 즉, 도 3에 도시한 바와 같은 각종 정보를, 테이블 이외의 다양한 형식으로 관련지어 관리해도 된다.
또한, 도 5의 플로우차트에 도시한 폴링 처리에 의한 액티브화의 실행 중에는, 외부로부터 수신하는 I/O 처리 요구에 대한 처리를 일시적으로 정지시켜도 된다. 이에 의해, 폴링 처리에 수반되는 볼륨의 백업을 우선적으로 행하게 할 수 있어, 복수의 카피 세션에 대하여 타이밍에 일관성이 있는 데이터 백업을 행할 수 있다.
본 스토리지 시스템(1)에서는, 카피 처리부(12)에 의한 복수의 카피 세션에 대한 백업 카피 처리에 요하는 시간을 단축할 수 있으므로, 폴링 처리에 의한 액티브화의 실행 중에 I/O 처리 요구에 대한 처리를 일시적으로 정지시켜도, 이것에 의한 I/O 처리 요구의 처리의 정체를 적게 할 수 있다.
또한, 상술한 개시에 의해 본 실시 형태를 당업자가 실시ㆍ제조하는 것이 가능하다.
1 : 스토리지 시스템
2 : 호스트 장치
10 : 스토리지 장치
11 : 데이터 액세스 제어부
12 : 카피 처리부
13 : 세션 정의부
14 : 액티브화 관리부
15 : 비동기 액티브화 제어부(카피 제어부)
110, 210 : CPU
111, 211 : CM
121, 221 : RAM
122, 222 : ROM
124 : CA
126, 226 : DA
131, 231 : HDD
132 : 카피 비트맵
201 : 세션 관리 테이블

Claims (6)

  1. 카피원 데이터(data to be copied)를 저장하는 카피원 볼륨(copy-source volume)과,
    상기 카피원 데이터의 카피를 저장하는 카피처 볼륨(copy-destination volume)과,
    상기 카피원 볼륨에 기억된 카피원 데이터의 카피를, 상기 카피처 볼륨에 저장하는 카피 처리를 실행하는 카피 처리부와,
    카피 처리에 관련되는 카피 실행 준비를 행하고, 그 카피 처리를 카피 실행 대기 상태로 설정하는 카피 실행 관리부와,
    상기 카피 실행 대기 상태로 설정된 카피 처리 중, 상위 장치로부터의 액티브화 지시에 따라 지정된 카피 처리에 대해 액티브화 대상임을 나타내는 액티브화 대상 정보를 설정하는 액티브화 관리부와,
    상기 액티브화 지시와는 비동기의, 상기 액티브화 대상 정보가 설정된 카피 처리의 대상 영역에 겹치는 카피원 볼륨에 대한 데이터 액세스 요구를 수신한 타이밍에서, 상기 액티브화 대상 정보가 설정되어 있는 카피 실행 대기 상태의 복수의 카피 처리에 대해, 상기 카피 실행 대기 상태를 해제하고 액티브화하여, 상기 카피 처리부에 해당 복수의 카피 처리를 일제히 실행시키는 카피 제어부와,
    상기 액티브화 대상 정보가 설정된 카피 처리의 대상 영역에 겹치는 카피원 볼륨에 대한 데이터 액세스 요구를 수신한 경우, 해당 데이터 액세스 요구를 큐잉하는 데이터 액세스 제어부를 구비하고,
    상기 카피 처리부가 상기 카피원 볼륨에 있어서 상기 데이터 액세스 요구의 대상 영역의 데이터를 상기 카피처 볼륨에 카피한 후에, 상기 데이터 액세스 제어부는, 해당 데이터 액세스를 디큐하여, 해당 데이터 액세스 요구에 대응하는 데이터 액세스를 실행하는 것을 특징으로 하는 스토리지 장치.
  2. 제1항에 있어서,
    상기 비동기의 타이밍은, 상기 스토리지 장치가 폴링 처리를 기동하는 타이밍인 것을 특징으로 하는 스토리지 장치.
  3. 카피원 볼륨에 기억된 카피원 데이터의 카피처 볼륨으로의 카피 제어를 행하는 제어 장치로서,
    상기 카피원 볼륨에 기억된 카피원 데이터의 카피를, 상기 카피처 볼륨에 저장하는 카피 처리를 실행하는 카피 처리부와,
    카피 처리에 관련되는 카피 실행 준비를 행하고, 그 카피 처리를 카피 실행 대기 상태로 설정하는 카피 실행 관리부와,
    상기 카피 실행 대기 상태로 설정된 카피 처리 중, 액티브화 지시에 따라 지정된 카피 처리에 대해 액티브화 대상임을 나타내는 액티브화 대상 정보를 설정하는 액티브화 관리부와,
    상기 액티브화 지시와는 비동기의, 상기 액티브화 대상 정보가 설정된 카피 처리의 대상 영역에 겹치는 카피원 볼륨에 대한 데이터 액세스 요구를 수신한 타이밍에서, 상기 액티브화 대상 정보가 설정되어 있는 카피 실행 대기 상태의 복수의 카피 처리에 대해, 상기 카피 실행 대기 상태를 해제하고 액티브화하여, 상기 카피 처리부에 해당 복수의 카피 처리를 일제히 실행시키는 카피 제어부와,
    상기 액티브화 대상 정보가 설정된 카피 처리의 대상 영역에 겹치는 카피원 볼륨에 대한 데이터 액세스 요구를 수신한 경우, 해당 데이터 액세스 요구를 큐잉하는 데이터 액세스 제어부를 구비하고,
    상기 카피 처리부가 상기 카피원 볼륨에 있어서 상기 데이터 액세스 요구의 대상 영역의 데이터를 상기 카피처 볼륨에 카피한 후에, 상기 데이터 액세스 제어부는, 해당 데이터 액세스를 디큐하여, 해당 데이터 액세스 요구에 대응하는 데이터 액세스를 실행하는 것을 특징으로 하는 제어 장치.
  4. 제3항에 있어서,
    상기 비동기의 타이밍은, 상기 제어 장치를 구비한 스토리지 장치가 폴링 처리를 기동하는 타이밍인 것을 특징으로 하는, 제어 장치.
  5. 카피원 볼륨에 기억된 카피원 데이터의 카피처 볼륨으로의 카피 제어를 행하는 제어 기능을 컴퓨터에 실행시키기 위한 프로그램을 기록한 컴퓨터 판독가능한 기록 매체로서,
    상기 프로그램이,
    상기 카피원 볼륨에 기억된 카피원 데이터의 카피를, 상기 카피처 볼륨에 저장하는 카피 처리에 관련되는 카피 실행 준비를 행하고, 그 카피 처리를 카피 실행 대기 상태로 설정하고,

    상기 카피 실행 대기 상태로 설정된 카피 처리 중, 액티브화 지시에 따라 지정된 카피 처리에 대해 액티브화 대상임을 나타내는 액티브화 대상 정보를 설정하고,
    상기 액티브화 지시와는 비동기의, 상기 액티브화 대상 정보가 설정된 카피 처리의 대상 영역에 겹치는 카피원 볼륨에 대한 데이터 액세스 요구를 수신한 타이밍에서, 상기 액티브화 대상 정보가 설정되어 있는 카피 실행 대기 상태의 복수의 카피 처리에 대해, 상기 카피 실행 대기 상태를 해제하고 액티브화하여, 해당 복수의 카피 처리를 일제히 실행시키며,
    상기 액티브화 대상 정보가 설정된 카피 처리의 대상 영역에 겹치는 카피원 볼륨에 대한 데이터 액세스 요구를 수신한 경우, 해당 데이터 액세스 요구를 큐잉하고,
    상기 카피원 볼륨에 있어서 상기 데이터 액세스 요구의 대상 영역의 데이터를 상기 카피처 볼륨에 카피한 후에, 해당 데이터 액세스를 디큐하여, 해당 데이터 액세스 요구에 대응하는 데이터 액세스를 실행하는 처리를 상기 컴퓨터에 실행시키는 프로그램을 기록한 컴퓨터 판독가능한 기록 매체.
  6. 제5항에 있어서,
    상기 비동기의 타이밍은, 상기 컴퓨터를 구비한 스토리지 장치가 폴링 처리를 기동하는 타이밍인 것을 특징으로 하는, 컴퓨터 판독가능한 기록 매체.
KR1020140120801A 2011-11-30 2014-09-12 스토리지 장치, 제어 장치 및 기록 매체 Expired - Fee Related KR101454146B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2011261812A JP5853649B2 (ja) 2011-11-30 2011-11-30 ストレージ装置,制御装置及びプログラム
JPJP-P-2011-261812 2011-11-30

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020120105832A Division KR20130061050A (ko) 2011-11-30 2012-09-24 스토리지 장치, 제어 장치 및 기록 매체

Publications (2)

Publication Number Publication Date
KR20140119679A KR20140119679A (ko) 2014-10-10
KR101454146B1 true KR101454146B1 (ko) 2014-11-04

Family

ID=47044814

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020120105832A KR20130061050A (ko) 2011-11-30 2012-09-24 스토리지 장치, 제어 장치 및 기록 매체
KR1020140120801A Expired - Fee Related KR101454146B1 (ko) 2011-11-30 2014-09-12 스토리지 장치, 제어 장치 및 기록 매체

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020120105832A KR20130061050A (ko) 2011-11-30 2012-09-24 스토리지 장치, 제어 장치 및 기록 매체

Country Status (5)

Country Link
US (1) US9268650B2 (ko)
EP (1) EP2600249A2 (ko)
JP (1) JP5853649B2 (ko)
KR (2) KR20130061050A (ko)
CN (1) CN103197989A (ko)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013029911A (ja) * 2011-07-27 2013-02-07 Fujitsu Ltd 制御装置、制御方法およびストレージ装置
JP5698865B2 (ja) 2013-03-12 2015-04-08 株式会社東芝 データベースシステム、プログラムおよびデータ処理方法
JP6382819B2 (ja) * 2013-08-21 2018-08-29 株式会社東芝 データベースシステム、ノード、管理装置、プログラムおよびデータ処理方法
JP6122126B2 (ja) 2013-08-27 2017-04-26 株式会社東芝 データベースシステム、プログラムおよびデータ処理方法
CN104536919B (zh) * 2014-12-11 2018-02-13 浪潮(北京)电子信息产业有限公司 一种克隆系统中避免io冲突的方法和装置
CN105068892B (zh) * 2015-08-20 2018-02-09 浪潮(北京)电子信息产业有限公司 一种数据克隆方法和系统
US10652025B2 (en) 2017-07-10 2020-05-12 Micron Technology, Inc. Secure snapshot management for data storage devices
US11733920B2 (en) 2020-09-10 2023-08-22 Western Digital Technologies, Inc. NVMe simple copy command support using dummy virtual function
US11556268B2 (en) 2021-04-22 2023-01-17 Western Digital Technologies, Inc. Cache based flow for a simple copy command
CN113775291B (zh) * 2021-08-27 2023-08-04 中国煤炭科工集团太原研究院有限公司 锚箱钻箱切换组件及锚杆钻机

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008225699A (ja) * 2007-03-09 2008-09-25 Fujitsu Ltd 複製作成装置および複製作成方法

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4689137B2 (ja) * 2001-08-08 2011-05-25 株式会社日立製作所 リモートコピー制御方法、及びストレージシステム
JP4831890B2 (ja) 2001-07-06 2011-12-07 パナソニック株式会社 コンテンツ管理方法及びコンテンツ管理装置
JP4292882B2 (ja) 2003-03-18 2009-07-08 株式会社日立製作所 複数のスナップショット維持方法及びサーバ装置及びストレージ装置
JP4484618B2 (ja) 2004-07-30 2010-06-16 株式会社日立製作所 ディザスタリカバリシステム、プログラム及びデータの複製方法
US7487386B2 (en) 2005-03-30 2009-02-03 International Business Machines Corporation Method for increasing file system availability via block replication
US7870353B2 (en) 2005-08-15 2011-01-11 International Business Machines Corporation Copying storage units and related metadata to storage
TWI316188B (en) * 2006-05-17 2009-10-21 Ind Tech Res Inst Mechanism and method to snapshot data
US7617373B2 (en) 2006-05-23 2009-11-10 International Business Machines Corporation Apparatus, system, and method for presenting a storage volume as a virtual volume
JP2007334709A (ja) 2006-06-16 2007-12-27 Fujitsu Ltd ストレージ制御装置、ストレージ制御プログラム、ストレージ制御方法
JP4942418B2 (ja) * 2006-08-04 2012-05-30 株式会社日立製作所 計算機システム及びそのスナップショット作成方法
KR100863015B1 (ko) 2007-05-11 2008-10-13 주식회사 하이닉스반도체 전압 안정화 회로 및 이를 이용한 반도체 메모리 장치
KR100911201B1 (ko) 2008-02-14 2009-08-06 주식회사 하이닉스반도체 반도체 메모리 장치의 데이터 스트로브 클럭 버퍼 및 그제어 방법
KR100956775B1 (ko) 2008-04-11 2010-05-12 주식회사 하이닉스반도체 반도체 집적 회로의 노어 연산 장치
CN102511036B (zh) * 2009-09-25 2015-09-30 国际商业机器公司 数据存储

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008225699A (ja) * 2007-03-09 2008-09-25 Fujitsu Ltd 複製作成装置および複製作成方法

Also Published As

Publication number Publication date
KR20130061050A (ko) 2013-06-10
JP5853649B2 (ja) 2016-02-09
JP2013114556A (ja) 2013-06-10
EP2600249A2 (en) 2013-06-05
KR20140119679A (ko) 2014-10-10
CN103197989A (zh) 2013-07-10
US20130138904A1 (en) 2013-05-30
US9268650B2 (en) 2016-02-23

Similar Documents

Publication Publication Date Title
KR101454146B1 (ko) 스토리지 장치, 제어 장치 및 기록 매체
JP6609918B2 (ja) ストレージシステム、ストレージ管理装置およびストレージ管理プログラム
CN102209952B (zh) 存储系统和用于操作存储系统的方法
EP1860560B1 (en) Storage control method and system for performing backup and/or restoration
JP5263902B2 (ja) ストレージ・コントローラと複製エンジンとの間で書き込みを分割する方法、システムおよびコンピュータ・プログラム
JP2008015768A (ja) 記憶システム並びにこれを用いたデータの管理方法
TWI522807B (zh) 利用儲存區域網路回復電腦系統的系統及方法
TW200846910A (en) Hints model for optimization of storage devices connected to host and write optimization schema for storage devices
JP2007305075A (ja) 複数のテープ装置を備えるストレージシステム
WO2013140460A1 (en) Patch applying method for virtual machine by cloning an operating system image on shared storage and applying a patch to this cloned image
EP2829968A1 (en) Storage controller, controlling program, and method for controlling
JP5584422B2 (ja) 情報処理装置,スケジュール管理装置,スケジュール管理方法およびスケジュール管理プログラム
JP2016115253A (ja) 情報処理装置、メモリ管理方法およびメモリ管理プログラム
US20070038593A1 (en) Data Storage Control Apparatus And Method
US9524251B2 (en) Storage system, virtualization control apparatus, information processing apparatus, and method for controlling storage system
US8938596B2 (en) Storage apparatus, control apparatus, and storage apparatus control method
JP2014038551A (ja) データ記憶装置、データ記憶装置の制御方法、及びデータ記憶装置の制御プログラム
US8972634B2 (en) Storage system and data transfer method
JP2008065559A (ja) ストレージ装置、ストレージシステム、ストレージ装置の制御方法
JP5838652B2 (ja) データコピー処理システム
JP5772443B2 (ja) ストレージ装置及びプログラム
JP2012194867A (ja) ストレージ装置および制御装置
JP2001100931A (ja) ディスクアレイ装置
JP2009217700A (ja) ディスクアレイ装置及び物理配置最適化方法
JP2014096126A (ja) 外部接続記憶装置

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
PA0107 Divisional application

Comment text: Divisional Application of Patent

Patent event date: 20140912

Patent event code: PA01071R01D

Filing date: 20120924

Application number text: 1020120105832

PA0201 Request for examination
PG1501 Laying open of application
E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20141013

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20141016

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20141016

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
LAPS Lapse due to unpaid annual fee
PC1903 Unpaid annual fee

Termination category: Default of registration fee

Termination date: 20180727