KR101410596B1 - 정보 처리 장치, 카피 제어 프로그램 및 카피 제어 방법 - Google Patents

정보 처리 장치, 카피 제어 프로그램 및 카피 제어 방법 Download PDF

Info

Publication number
KR101410596B1
KR101410596B1 KR1020130091521A KR20130091521A KR101410596B1 KR 101410596 B1 KR101410596 B1 KR 101410596B1 KR 1020130091521 A KR1020130091521 A KR 1020130091521A KR 20130091521 A KR20130091521 A KR 20130091521A KR 101410596 B1 KR101410596 B1 KR 101410596B1
Authority
KR
South Korea
Prior art keywords
copy
execution control
transfer
storage device
data transfer
Prior art date
Application number
KR1020130091521A
Other languages
English (en)
Other versions
KR20140030032A (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 KR20140030032A publication Critical patent/KR20140030032A/ko
Application granted granted Critical
Publication of KR101410596B1 publication Critical patent/KR101410596B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • 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/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1689Synchronisation and timing concerns
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2206/00Indexing scheme related to dedicated interfaces for computers
    • G06F2206/10Indexing scheme related to storage interfaces for computers, indexing schema related to group G06F3/06
    • G06F2206/1012Load balancing
    • 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/061Improving I/O performance
    • G06F3/0613Improving I/O performance in relation to throughput

Abstract

본 발명의 과제는, 오프로드 데이터 전송 기능에 대응하여, 카피 제어의 효율을 개선하는 것이다.
정보 처리 장치(1)는, 생성부(3)에 의해, 오프로드 데이터 전송 지시를 접수하여, 전송원 기억 장치(9)에 있어서의 전송원 기억 영역(10)으로부터, 전송처 기억 장치(11)에 있어서의 전송처 기억 영역(12)에 데이터(13)를 전송하는 카피 세션(4)을 생성한다. 제어부(7)는, 오프로드 데이터 전송 지시에 대하여 비동기로 데이터 전송을 실행하는 비동기 실행 제어(5)에 가해지는 과부하를 검출하지 않는 경우에, 생성부(3)가 생성하는 카피 세션(4)의 데이터 전송을 비동기 실행 제어(5)로 한다. 또한, 제어부(7)는, 비동기 실행 제어(5)에 가해지는 과부하를 검출한 경우에, 생성부(3)가 생성하는 카피 세션(4)의 데이터 전송을, 오프로드 데이터 전송 지시에 대하여 동기하여 데이터 전송을 실행하는 동기 실행 제어(6)로 한다.

Description

정보 처리 장치, 카피 제어 프로그램 및 카피 제어 방법{INFORMATION PROCESSING APPARATUS, COMPUTER PROGRAM, AND COPY CONTROL METHOD}
본 발명은, 정보 처리 장치, 카피 제어 프로그램 및 카피 제어 방법에 관한 것이다.
종래, 호스트 컴퓨터(서버)가 제공하는 파일의 카피 기능이나 이동 기능은, 호스트 컴퓨터가 스토리지 장치에 대하여 데이터의 판독과 기입을 행하고 있었으므로, 호스트 컴퓨터의 CPU(Central Processing Unit) 부하나, 호스트 컴퓨터와 스토리지 장치간의 통신 부하가 높다.
그로 인해, 호스트 컴퓨터가 스토리지 장치에 대하여 데이터의 판독과 기입을 행할 때의 부하 경감에 대해 몇 개의 제안이 있다.
일본 특허 출원 공개 제2006-53737호 공보 일본 특허 출원 공개 제2006-236019호 공보 일본 특허 출원 공개 제2008-250695호 공보
한편, 호스트 컴퓨터가 행하는 파일의 카피나 이동에 수반하는 부하를 스토리지 장치에 오프로드시킴으로써, 호스트 컴퓨터의 CPU 부하나, 호스트 컴퓨터와 스토리지 장치간의 통신 부하를 경감하는 오프로드 데이터 전송 기능이 있다.
이에 의해, 오프로드 데이터 전송 기능을 서포트함으로써 호스트 컴퓨터의 CPU 부하나, 호스트 컴퓨터와 스토리지 장치간의 통신 부하가 경감되게 되었다.
그러나 스토리지 장치가 호스트 컴퓨터로부터 과대한 부하를 떠맡게 되는 경우가 있어, 반드시 전체적으로 효율적인 카피 제어가 되어 있다고는 말할 수 없다.
1개의 측면에서는, 본 발명은, 오프로드 데이터 전송 기능에 대응하여, 카피 제어의 효율을 개선하는 정보 처리 장치, 카피 제어 프로그램 및 카피 제어 방법을 제공하는 것을 목적으로 한다.
상기 목적을 달성하기 위해, 이하에 개시하는 바와 같은 정보 처리 장치가 제공된다. 정보 처리 장치는, 생성부와, 제어부를 구비한다. 생성부는, 오프로드 데이터 전송 지시를 접수하여, 전송원 기억 장치에 있어서의 전송원 기억 영역으로부터, 전송처 기억 장치에 있어서의 전송처 기억 영역에 데이터를 전송하는 카피 세션을 생성한다. 제어부는, 생성부에서 생성된 카피 세션의 데이터 전송의 완료 전에 오프로드 데이터 전송 지시에 대한 완료 응답을 행하고 나서 데이터 전송을 행하는 비동기 실행 제어와, 생성부에서 생성된 카피 세션의 데이터 전송의 완료 후에 오프로드 데이터 전송 지시에 대한 완료 응답을 행하는 동기 실행 제어를, 비동기 실행 제어에 가해지는 부하에 기초하여 절환 제어한다.
또한, 상기 목적을 달성하기 위해, 이하에 개시하는 바와 같은 카피 제어 프로그램 및 카피 제어 방법이 제공된다. 카피 제어 프로그램 및 카피 제어 방법은, 이하에 개시하는 바와 같은 처리를 컴퓨터에 실행시킨다. 컴퓨터는, 오프로드 데이터 전송 지시에 대한 완료 응답을 행하고 나서 카피 세션의 데이터 전송을 행하는 비동기 실행 제어에 가해지는 과부하를 검출한 경우에, 비동기 전송 제어로부터, 카피 세션의 데이터 전송의 완료 후에 오프로드 데이터 전송 지시에 대한 완료 응답을 행하는 동기 실행 제어로 절환한다.
일 양태에 따르면, 정보 처리 장치, 카피 제어 프로그램 및 카피 제어 방법에 있어서, 오프로드 데이터 전송 기능에 대응하여, 카피 제어의 효율을 개선한다.
도 1은 제1 실시 형태의 정보 처리 장치의 구성예를 나타내는 도면.
도 2는 제2 실시 형태의 스토리지 장치의 접속예를 나타내는 도면.
도 3은 제2 실시 형태의 스토리지 장치의 구성예를 나타내는 도면.
도 4는 제2 실시 형태의 오프로드 데이터 전송의 동기 카피의 동작예를 나타내는 도면.
도 5는 제2 실시 형태의 오프로드 데이터 전송의 비동기 카피의 동작예를 나타내는 도면.
도 6은 제2 실시 형태의 오프로드 데이터 전송 시의 오프로드 리드 처리의 시퀀스도.
도 7은 제2 실시 형태의 오프로드 데이터 전송 시의 오프로드 라이트 처리의 시퀀스도.
도 8은 제2 실시 형태의 세션 관리 테이블의 일례를 나타내는 도면.
도 9는 제2 실시 형태의 동기 동작/비동기 동작 절환 제어 처리의 흐름도를 나타내는 도면.
도 10은 제2 실시 형태의 동기 동작 감시 처리의 흐름도를 나타내는 도면.
이하, 실시 형태를 도면을 참조하여 상세하게 설명한다.
[제1 실시 형태]
우선, 제1 실시 형태의 정보 처리 장치에 대해 도 1을 이용하여 설명한다. 도 1은 제1 실시 형태의 정보 처리 장치의 구성예를 나타내는 도면이다.
정보 처리 장치(1)는, 스토리지 디바이스(기억 디바이스)(8)의 카피 제어를 행하는 제어 장치이며, 스토리지 디바이스(8)와 함께 스토리지 장치를 구성한다. 스토리지 디바이스(8)는, 소요의 정보를 기록 가능하며, 예를 들어, HDD(Hard Disk Drive)나 SSD(Solid State Drive:플래시 메모리 드라이브) 등의 기억 장치이다.
정보 처리 장치(1)는, 호스트 컴퓨터(2)와 통신 가능하게 접속한다. 호스트 컴퓨터(2)는, 예를 들어, 도시하지 않은 조작 단말 장치에 대하여 파일 서버 기능을 제공한다. 정보 처리 장치(1)는, 호스트 컴퓨터(2)로부터 오프로드 데이터 전송의 지시(오프로드 데이터 전송 지시)를 접수한다. 오프로드 데이터 전송은, 데이터 전송에 관한 제어 정보인 토큰을 개재함으로써, 호스트 컴퓨터(2)가 전송 대상으로 되는 데이터를 리드/라이트하는 일 없이, 스토리지 장치 내부, 혹은 스토리지 장치간에서 데이터 전송을 행하는 처리이다. 또한, 데이터 전송은, 데이터의 카피, 데이터의 이동을 포함하고, 전송하는 데이터는, 예를 들어, 파일 단위, 볼륨 단위 등 임의의 단위로 할 수 있다.
정보 처리 장치(1)는, 생성부(3)와, 제어부(7)를 구비한다. 생성부(3)는, 오프로드 데이터 전송 지시를 접수하여, 전송원 기억 장치(9)에 있어서의 전송원 기억 영역(10)으로부터, 전송처 기억 장치(11)에 있어서의 전송처 기억 영역(12)에 데이터(13)를 전송하는 카피 세션(4)을 생성한다.
정보 처리 장치(1)는, 카피 세션(4)의 데이터 전송의 완료 전에 오프로드 데이터 전송 지시에 대한 완료 응답을 행하고 나서 데이터 전송을 실행하는 비동기 실행 제어(5)를 행할 수 있다. 즉, 정보 처리 장치(1)는, 비동기 실행 제어(5)에 의해 논리적인 데이터 전송을 행하고, 호스트 컴퓨터(2)에 오프로드 데이터 전송 지시의 완료 응답을 행하지만, 물리적인 데이터 전송은, 완료 응답 후에 행한다.
정보 처리 장치(1)는, 카피 세션(4)의 데이터 전송의 완료 후에 오프로드 데이터 전송 지시에 대한 완료 응답을 행하는 동기 실행 제어(6)를 행할 수 있다. 즉, 정보 처리 장치(1)는, 동기 실행 제어(6)에 의해 물리적인 데이터 전송을 행하고, 물리적인 데이터 전송의 종료 후에, 호스트 컴퓨터(2)에 오프로드 데이터 전송 지시의 완료 응답을 행한다.
따라서, 비동기 실행 제어(5)에 의한 데이터 전송에 의해, 호스트 컴퓨터(2)는, 데이터 전송을 빠르게 완료할 수 있다. 한편, 정보 처리 장치(1)는, 오프로드 데이터 전송 지시나 완료 응답과 비동기로, 물리적인 데이터 전송을 행하므로, 호스트 컴퓨터(2)로부터의 오프로드 데이터 전송 지시에 대한 비동기한 데이터 전송의 체화가 커지는 경우가 있다. 즉, 정보 처리 장치(1)는, 비동기로 데이터 전송을 행하는 경우에, 카피 세션(4)의 스톡이 커지는 경우가 있다. 정보 처리 장치(1)는, 카피 세션(4)의 설정에 수반하여 자원(예를 들어, 메모리 자원)을 소비하므로, 비동기한 데이터 전송의 체화의 확대가 비동기한 데이터 전송에 가해지는 부하의 확대로 된다.
또한, 동기 실행 제어(6)는, 물리적인 데이터 전송을 종료할 때까지, 호스트 컴퓨터(2)에 오프로드 데이터 전송 지시의 완료 응답을 행하지 않으므로, 호스트 컴퓨터(2)로부터의 오프로드 데이터 전송 지시의 투입을 제한할 수 있다.
제어부(7)는, 비동기 실행 제어(5)에 가해지는 과부하를 검출한다. 과부하의 검출은, 미리 정한 임계값과, 비동기 실행 제어(5)에 가해지는 부하 상황과의 비교에 의해 행할 수 있다. 예를 들어, 제어부(7)는, 비동기 실행 제어(5)에 의한 데이터 전송의 카피 세션(4)의 수와, 미리 정한 임계값과의 비교에 의해 과부하를 검출할 수 있다.
제어부(7)는, 검출한 부하에 기초하여, 생성부(3)가 생성하는 카피 세션(4)의 데이터 전송을, 비동기 실행 제어(5) 또는 동기 실행 제어(6)로 절환 제어한다. 구체적으로는, 제어부(7)는, 비동기 실행 제어(5)에 가해지는 과부하를 검출하지 않는 경우에, 생성부(3)가 생성하는 카피 세션(4)의 데이터 전송을 비동기 실행 제어(5)로 한다. 또한, 제어부(7)는, 비동기 실행 제어(5)에 가해지는 과부하를 검출한 경우에, 생성부(3)가 생성하는 카피 세션(4)의 데이터 전송을 동기 실행 제어(6)로 한다.
이에 의해, 정보 처리 장치(1)는, 비동기 실행 제어(5)에 의해 정보 처리 장치(1)가 갖는 자원을 유효 활용한 데이터 전송을 행할 수 있다. 또한, 정보 처리 장치(1)는, 동기 실행 제어(6)에 의해 정보 처리 장치(1)가 갖는 자원의 고갈을 방지한 데이터 전송을 행할 수 있다.
이와 같이 하여, 호스트 컴퓨터(2)가 서포트하는 오프로드 데이터 전송 기능에 대응하여, 카피 제어(데이터 전송)의 효율을 개선할 수 있다.
[제2 실시 형태]
다음으로, 제2 실시 형태의 스토리지 장치의 접속예에 대해 도 2를 이용하여 설명한다. 도 2는 제2 실시 형태의 스토리지 장치의 접속예를 나타내는 도면이다.
스토리지 장치(20)는, 네트워크(17)를 개재하여 호스트 컴퓨터(15)와 통신 가능하게 접속한다. 네트워크(17)는, 1 또는 복수의 스토리지 장치(20)와, 1 또는 복수의 호스트 컴퓨터(15)가 접속하는 SAN(Storage Area Network)이다.
스토리지 장치(20a)는, 네트워크(17a)를 개재하여 호스트 컴퓨터(15a)와 통신 가능하게 접속하고, 스토리지 장치(20b, 20c, 20d, 20e)는, 네트워크(17b)를 개재하여 호스트 컴퓨터(15b)와 통신 가능하게 접속한다. 또한, 스토리지 장치(20a, 20b, 20c, 20d, 20e)는, 네트워크(18)를 개재하여 통신 가능하게 접속한다. 네트워크(18)는, 예를 들어, 스토리지 장치 전용의 네트워크이다.
호스트 컴퓨터(15a)는, 네트워크(16)를 개재하여 조작 단말 장치(14)와 통신 가능하게 접속한다. 네트워크(16)는, 1 또는 복수의 호스트 컴퓨터(15)와, 1 또는 복수의 조작 단말 장치(14)가 접속하는 LAN(Local Area Network), 또는 WAN(Wide Area Network)이다.
스토리지 장치(20)는, 각 스토리지 장치(20)가 제어 대상으로 하는 스토리지 디바이스 내에서 로컬 카피를 행할 수 있는 것 외에, 임의의 스토리지 장치(20)와의 사이에서 리모트 카피를 행할 수 있다. 호스트 컴퓨터(15)는, 임의의 스토리지 장치(20)에 대하여 로컬 카피 혹은 리모트 카피를 지시할 수 있다. 호스트 컴퓨터(15)는, 임의의 스토리지 장치(20)에 대하여 로컬 카피 혹은 리모트 카피를 지시하는 경우에, 오프로드 데이터 전송을 지시할 수 있다.
다음으로, 제2 실시 형태의 스토리지 장치에 대해 도 3을 이용하여 설명한다. 도 3은 제2 실시 형태의 스토리지 장치의 구성예를 나타내는 도면이다.
스토리지 장치(20)는, 채널 어댑터(26)와, 리모트 어댑터(27)와, 컨트롤러 모듈(21)과, HDD(25)를 구비한다. HDD(25)는, 복수 구비됨으로써, RAID(Redundant Array of Inexpensive Disks)를 구성한다. HDD(25)는, 유저 데이터나 제어 정보(후술하는 세션 관리 테이블 등)를 저장한다.
컨트롤러 모듈(21)은, HDD(25)의 액세스 제어를 행하는 정보 처리 장치의 하나이다. 컨트롤러 모듈(21)이 행하는 HDD(25)의 액세스 제어는, HDD(25)를 데이터 전송원 혹은 데이터 전송처로 하는 데이터 전송 제어를 포함한다.
스토리지 장치(20)는, 컨트롤러 모듈(21a)과 컨트롤러 모듈(21b)의 2개의 컨트롤러 모듈(21)을 구비한다. 컨트롤러 모듈(21a)과 컨트롤러 모듈(21b)은, 디스크 어댑터(24)를 개재하여, 각각이 제어 대상으로 하는 HDD(25)와 접속한다. 컨트롤러 모듈(21a)과 컨트롤러 모듈(21b)은, 서로 접속한다.
또한, 스토리지 장치(20)는, 2개의 컨트롤러 모듈(21)을 구비하지만, 이것으로 한정하지 않고, 컨트롤러 모듈(21a)과 컨트롤러 모듈(21b) 중 어느 한쪽을 구비하는 것이어도 된다. 또한, 스토리지 장치(20)는, 3개 이상의 컨트롤러 모듈(21)을 구비하는 것이어도 되고, 예를 들어, 4개 혹은 8개의 컨트롤러 모듈(21)을 구비하는 것이어도 된다.
스토리지 장치(20)는, 채널 어댑터(26)를 개재하여 호스트 컴퓨터(15)와 접속한다. 채널 어댑터(26)는, 컨트롤러 모듈(21)마다 구비된다. 컨트롤러 모듈(21)은, 채널 어댑터(26)를 복수(예를 들어, 2개) 구비하는 것이어도 되고, 복수의 채널 어댑터(26)에 의해 복수 계통에서 호스트 컴퓨터(15)와 접속할 수 있다.
스토리지 장치(20)는, 리모트 어댑터(27)를 개재하여 다른 스토리지 장치(20)와 접속한다. 리모트 어댑터(27)는, 컨트롤러 모듈(21)마다 구비된다.
컨트롤러 모듈(21)은, CPU(22), 메모리(23), 디스크 어댑터(24)를 구비한다. CPU(22)는, 전송원 기억 장치에 있어서의 전송원 기억 영역의 데이터를, 전송처 기억 장치에 있어서의 전송처 기억 영역에 전송하는 전송 제어를 행한다.
메모리(23)는, HDD(25)로부터 데이터를 판독하였을 때에 데이터를 유지하는 것 외에, HDD(25)에 데이터를 기입할 때의 버퍼로 된다. 또한, 메모리(23)는, 유저 데이터나 제어 정보를 저장한다. 디스크 어댑터(24)는, HDD(25)와의 인터페이스 제어(액세스 제어)를 행한다.
이러한 스토리지 장치(20)는, 컨트롤러 모듈(21)이 제어 대상으로 하는 HDD(25)에 있어서의 데이터의 전송 제어를 행할 수 있다.
또한, 컨트롤러 모듈(21)은, CPU(22)에 의해 장치 전체가 제어되어 있다. CPU(22)에는, 도시하지 않은 버스를 개재하여 메모리(23)가 접속되어 있다. 또한, CPU(22)에는, 도시하지 않은 버스를 개재하여 도시하지 않은 주변 기기가 접속 혹은 접속 가능하게 되어 있다. CPU(22)는, 프로세서의 일례로서, 예를 들어 MPU(Micro Processing Unit), DSP(Digital Signal Processor), ASIC(Application Specific Integrated Circuit), 또는 PLD(Programmable Logic Device)여도 된다. 또한, CPU(22)는, 싱글 프로세서로 한정하지 않고, 멀티 프로세서여도 된다. 또한 CPU(22)는, CPU, MPU, DSP, ASIC, PLD 중 2 이상의 요소의 조합이어도 된다.
메모리(23)는, RAM(Random Access Memory)이나 비휘발성 메모리에 의해 구성된다. RAM은, 컨트롤러 모듈(21)의 주기억 장치로서 사용된다. RAM에는, CPU(22)에 실행시키는 OS(Operating System)의 프로그램이나 펌웨어, 어플리케이션 프로그램의 적어도 일부가 일시적으로 저장된다. 또한, RAM에는, CPU(22)에 의한 처리에 필요한 각종 데이터가 저장된다.
비휘발성 메모리는, 스토리지 장치(20)의 전원 차단 시에 있어서 기억 내용을 유지한다. 비휘발성 메모리는, 예를 들어, EEPROM이나 플래시 메모리 등의 반도체 기억 장치나, HDD 등이다. 또한, 비휘발성 메모리는, 컨트롤러 모듈(21)의 보조 기억 장치로서 사용된다. 비휘발성 메모리에는, OS의 프로그램이나 펌웨어, 어플리케이션 프로그램 및 각종 데이터가 저장된다.
버스에 접속되는 주변 기기로서는, 입출력 인터페이스 및 통신 인터페이스가 있다.
입출력 인터페이스는, HDD 등의 입출력 장치와 접속하여 입출력을 행한다. 입출력 인터페이스는, HDD 등의 기억 장치로부터 보내져 오는 신호나 데이터를 CPU(22)나 캐시 메모리[메모리(23)]에 송신한다.
통신 인터페이스는, 스토리지 장치(20) 내의 다른 컨트롤러 모듈(21)과의 사이에서 데이터의 송수신을 행한다.
이상과 같은 하드웨어 구성에 의해, 제2 실시 형태의 컨트롤러 모듈(21)의 처리 기능을 실현할 수 있다. 또한, 호스트 컴퓨터(15) 외에, 제1 실시 형태에 개시한 정보 처리 장치(1)도, 컨트롤러 모듈(21)과 마찬가지의 하드웨어에 의해 실현할 수 있다.
다음으로, 제2 실시 형태의 CPU(22)가 실행하는 오프로드 데이터 전송의 동기 동작에 대해 도 4를 이용하여 설명한다. 도 4는 제2 실시 형태의 오프로드 데이터 전송의 동기 카피의 동작예를 나타내는 도면이다.
호스트 컴퓨터(15)는, 조작 단말 장치(14)의 파일 카피를 지시하는 조작을 계기로 오프로드 데이터 전송을 실행한다. 호스트 컴퓨터(15)는, 예를 들어, 조작 단말 장치(14)에 대하여 도 4에 도시하는 바와 같은 볼륨(31) 및 볼륨(34)을 포함하는 논리 이미지(30)를 제공한다. 조작 단말 장치(14)가 볼륨(31)을 C 드라이브, 볼륨(34)을 D 드라이브로서 인식하고 있을 때에, 예를 들어, 조작 단말 장치(14)가 C 드라이브의 파일(32)을 D 드라이브에 파일(35)로서 카피하는 파일 카피 지시(33)를 행한다.
파일 카피 지시(33)를 접수한 호스트 컴퓨터(15)는, 볼륨(31)에 대응하는 스토리지 장치(20)에 대하여「Offload Read(오프로드 리드)」를 지시한다. 「Offload Read」는, 전송원 데이터를 특정 가능한 정보를 포함한다.
스토리지 장치(20)는,「Offload Read」를 받아, 전송원 데이터를 특정 가능한 정보를 포함하는 토큰(50)을 생성한다. 예를 들어, 전송원 데이터를 특정 가능한 정보는, 전송원 LUN(Logical Unit Number)(36), 전송원 기억 영역(37), 전송 데이터 사이즈 등을 포함한다. 스토리지 장치(20)는, 생성한 토큰(50)을 호스트 컴퓨터(15)에 통지한다.
호스트 컴퓨터(15)는, 볼륨(34)에 대응하는 스토리지 장치(20)에 대하여「Offload Write(오프로드 라이트)」를 지시한다. 「Offload Write」는, 전송처 기억 영역을 특정 가능한 정보와, 스토리지 장치(20)로부터 수취한 토큰(50)을 포함한다.
스토리지 장치(20)는,「Offload Write」를 받아, 전송 대상으로 되는 데이터와, 전송처 기억 영역을 특정 가능한 정보를 취득한다. 이에 의해, 스토리지 장치(20)는, 전송원 LUN(36), 전송원 기억 영역(37), 전송 데이터 사이즈, 전송처 LUN(39) 및 전송처 기억 영역(40)을 특정할 수 있다. 스토리지 장치(20)는, 특정한 정보에 기초하여 카피 세션(45)을 생성한다.
스토리지 장치(20)는, 카피 세션(45)에 따라, 전송원 LUN(36)의 전송원 기억 영역(37)으로부터 전송처 LUN(39)의 전송처 기억 영역(40)에, 전송 데이터(46)를 데이터 전송한다.
스토리지 장치(20)는, 전송 데이터(46)의 데이터 전송이 완료되면, 호스트 컴퓨터(15)에 대하여「Status」를 통지한다. 「Status」는, 오프로드 데이터 전송의 완료 응답을 의미한다.
이와 같이 하여, 호스트 컴퓨터(15)는, 오프로드 리드 시에, 스토리지 장치(20)의 전송 대상으로 되는 데이터를 특정 가능한 정보로서 토큰(50)을 취득한다. 또한, 호스트 컴퓨터(15)는, 오프로드 라이트 시에, 스토리지 장치(20)의 전송 대상으로 되는 데이터를 특정 가능한 정보로서 토큰(50)을 통지한다.
이에 의해, 호스트 컴퓨터(15)는, 토큰(50)을 개재함으로써, 전송 데이터(46)의 리드/라이트를 필요로 하지 않게 된다. 또한, 호스트 컴퓨터(15)의 CPU 부하나, 호스트 컴퓨터(15)와 스토리지 장치(20)를 접속하는 네트워크(17)에 가해지는 부하가 경감된다.
이러한 스토리지 장치(20)에 있어서의 데이터 전송과, 호스트 컴퓨터(15)에 대한「Status」의 통지가 동기하는 데이터 전송을, 오프로드 데이터 전송의 동기 동작이라고 한다.
또한, 네트워크(16)에 접속하는 복수의 호스트 컴퓨터(15)가 접속하고, 각 호스트 컴퓨터(15)가 인식하는 볼륨간에서 데이터 전송을 행하는 경우라도, 네트워크(16)에 흐르는 것은 토큰(50)이다. 따라서, 스토리지 장치(20)는, 네트워크(16)에 전송 데이터(46)를 흘리는 일이 없으므로 예기치 않은 정보의 유출을 방지할 수 있다.
다음으로, 제2 실시 형태의 CPU(22)가 실행하는 오프로드 데이터 전송의 비동기 동작에 대해 도 5를 이용하여 설명한다. 도 5는 제2 실시 형태의 오프로드 데이터 전송의 비동기 카피의 동작예를 나타내는 도면이다.
호스트 컴퓨터(15)는, 조작 단말 장치(14)의 파일 카피를 지시하는 조작을 계기로 오프로드 데이터 전송을 실행한다. 호스트 컴퓨터(15)는, 예를 들어, 조작 단말 장치(14)에 대하여 도 5에 도시하는 바와 같은 볼륨(31) 및 볼륨(34)을 포함하는 논리 이미지(30)를 제공한다. 조작 단말 장치(14)가 볼륨(31)을 C 드라이브, 볼륨(34)을 D 드라이브로서 인식하고 있을 때에, 예를 들어, 조작 단말 장치(14)가 C 드라이브의 파일(32)을 D 드라이브에 파일(35)로서 카피하는 파일 카피 지시(33)를 행한다.
파일 카피 지시(33)를 접수한 호스트 컴퓨터(15)는, 볼륨(31)에 대응하는 스토리지 장치(20)에 대하여「Offload Read」를 지시한다. 「Offload Read」는, 전송원 데이터를 특정 가능한 정보를 포함한다.
스토리지 장치(20)는,「Offload Read」를 받아, 전송원 데이터를 특정 가능한 정보를 포함하는 토큰(50)을 생성한다. 스토리지 장치(20)는, 생성한 토큰(50)을 호스트 컴퓨터(15)에 통지한다.
호스트 컴퓨터(15)는, 볼륨(34)에 대응하는 스토리지 장치(20)에 대하여「Offload Write」를 지시한다. 「Offload Write」는, 전송처 기억 영역을 특정 가능한 정보와, 스토리지 장치(20)로부터 수취한 토큰(50)을 포함한다.
스토리지 장치(20)는,「Offload Write」를 받아, 전송 대상으로 되는 데이터와, 전송처 기억 영역을 특정 가능한 정보를 취득한다. 이에 의해, 스토리지 장치(20)는, 전송원 LUN(36), 전송원 기억 영역(37), 전송 데이터 사이즈, 전송처 LUN(39) 및 전송처 기억 영역(40)을 특정할 수 있다. 스토리지 장치(20)는, 특정한 정보에 기초하여 카피 세션(45)을 생성한다.
여기까지, 오프로드 데이터 전송의 비동기 동작은, 오프로드 데이터 전송의 동기 동작과 마찬가지이지만, 이하에 있어서 다르다.
스토리지 장치(20)는, 전송 데이터(46)의 데이터 전송의 완료를 기다리지 않고, 호스트 컴퓨터(15)에 대하여「Status」를 통지한다.
이에 의해, 호스트 컴퓨터(15)는, 전송처 LUN(39)의 전송처 기억 영역(40)에, 전송 데이터(46)를 데이터 전송하는 데 걸리는 시간을 기다리는 일 없이「Status」를 수취할 수 있다.
또한, 스토리지 장치(20)는,「Status」를 통지하기 전에 카피 세션(45)을 생성하였지만,「Status」의 통지 후에 카피 세션(45)을 생성하는 것이어도 된다. 또한, 스토리지 장치(20)는,「Status」의 통지와 독립된 타이밍으로 카피 세션(45)을 생성하는 것이어도 된다.
이와 같이 하여, 호스트 컴퓨터(15)는, 오프로드 데이터 전송의 동기 동작과 마찬가지로, 토큰(50)을 개재함으로써, 전송 데이터(46)의 리드/라이트를 필요로 하지 않는 오프로드 데이터 전송의 비동기 동작을 실행할 수 있다. 또한, 호스트 컴퓨터(15)의 CPU 부하나, 호스트 컴퓨터(15)와 스토리지 장치(20)를 접속하는 네트워크(17)에 가해지는 부하를 경감할 수 있는 것도, 오프로드 데이터 전송의 동기 동작과 마찬가지이다.
한편, 스토리지 장치(20)는,「Status」의 통지와 비동기로, 전송 데이터(46)의 데이터 전송을 행한다. 따라서, 스토리지 장치(20)는, 전송 데이터(46)의 데이터 전송 완료 전에, 다음「Offload Write」를 수취하고, 다수의 카피 세션(45)을 스톡하는 경우가 있다.
이러한 스토리지 장치(20)에 있어서의 데이터 전송과, 호스트 컴퓨터(15)에 대한「Status」의 통지(완료 응답)가 비동기로 행해지는 데이터 전송을, 오프로드 데이터 전송의 비동기 동작이라고 한다.
스토리지 장치(20)는, 카피 세션(45)을 스케줄 큐(51)에 인큐하고, 스케줄 큐(51)에 복수의 카피 세션(45)을 스톡할 수 있다. 스토리지 장치(20)는, 스케줄링된 타이밍으로 스케줄 큐(51)로부터 카피 세션(45)을 디큐한다. 스토리지 장치(20)는, 디큐한 카피 세션(45)에 따라, 전송원 LUN(36)의 전송원 기억 영역(37)으로부터 전송처 LUN(39)의 전송처 기억 영역(40)에, 전송 데이터(46)를 데이터 전송한다.
스토리지 장치(20)는, 1개의 카피 세션(45)에 대해 데이터 전송의 종료, 혹은 소정 사이즈의 데이터 전송을 행하면, 다음 카피 세션(45)에 대해 데이터 전송을 행한다. 이와 같이, 스토리지 장치(20)는, 각 카피 세션(45)에 대해 데이터 전송을 종료할 때까지, 스케줄 큐(51)에 카피 세션(45)을 스톡하면서, 사이클릭에 스케줄링을 행한다.
스토리지 장치(20)는, 카피 세션(45)의 생성마다, 카피 세션(45)을 관리하기 위한 관리 정보를 생성한다. 관리 정보는, 예를 들어, 세션 관리 테이블, 비트맵 등이 있다. 세션 관리 테이블은, 카피 세션(45)을 관리하는 테이블이며, 카피 세션(45)마다 생성된다. 또한, 비트맵은, 체크 포인트까지의 데이터 전송을 보장하기 위한 제어 정보이다.
스토리지 장치(20)는, 스케줄 큐(51)에 스톡하는 카피 세션(45)의 수의 증가에 따라, 관리 정보의 저장에 사용하는 메모리 자원의 소비량도 증가한다.
그로 인해, 스토리지 장치(20)는, 오프로드 데이터 전송의 비동기 동작을 행하는 경우, 메모리 자원의 고갈에 의한 동작 불량을 회피하기 위해, 관리 정보의 저장에 사용하는 메모리 자원의 소비량을 관리한다. 메모리 자원의 고갈에 의한 동작 불량은, 예를 들어, 새로운 카피 세션(45)을 생성할 수 없게 되는 것에 의한 오프로드 데이터 전송 기능의 동작 불량이 있다.
또한, 관리 정보의 저장에 사용하는 메모리 자원은, 스토리지 장치(20)가 사용 가능한 메모리이면 되고, 메모리(23)여도 되고, HDD(25)여도 된다. 또한, 관리 정보의 저장에 사용하는 메모리 자원은, 스토리지 장치(20)가 사용 가능한 메모리 중, 미리 예약된 영역으로 한정해도 된다.
또한, 스케줄 큐(51)에 스톡하는 카피 세션(45)의 수의 증가에 따라 사용량이 증가하는 자원이면, 스토리지 장치(20)는, 메모리 자원으로 한정하지 않고, CPU 자원 등, 기타의 하드웨어 자원을 관리 대상으로 해도 된다. 또한, 스토리지 장치(20)는, 관리 대상으로 하는 자원을 1개로 해도 되고, 복수로 해도 된다.
다음으로, 도 4, 도 5에서 설명한 호스트 컴퓨터(15)로부터 스토리지 장치(20)에의「Offload Read」의 통지 및 스토리지 장치(20)로부터 호스트 컴퓨터(15)에의 토큰(50)의 통지의 상세한 커맨드 시퀀스에 대해 도 6을 이용하여 설명한다. 도 6은 제2 실시 형태의 오프로드 데이터 전송 시의 오프로드 리드 처리의 시퀀스도이다.
오프로드 리드 처리는, 조작 단말 장치(14)의 파일 카피를 지시하는 조작 접수를 계기로 하여, 호스트 컴퓨터(15)에 의해 개시된다. 「Offload Read」의 지시는, SCSI(Small Computer System Interface) 표준의「EXTENDED COPY」커맨드 및「RECEIVE COPY RESULTS」커맨드를 사용하여 실현할 수 있다. 이 경우의「EXTENDED COPY」커맨드를「PT(Populate Token)」커맨드,「RECEIVE COPY RESULTS」커맨드를「RRTI(Receive Rod Token Information)」커맨드라고 한다.
[스텝 S11] 호스트 컴퓨터(15)는, 카피(전송)원의 볼륨(31)에 대응하는 스토리지 장치(20)에 대하여,「PT」커맨드를 송신한다. 카피원의 볼륨(31)에 대응하는 스토리지 장치(20)는, 호스트 컴퓨터(15)로부터「PT」커맨드를 수신한다.
[스텝 S12] 호스트 컴퓨터(15)는, 카피원의 볼륨(31)에 대응하는 스토리지 장치(20)에 대하여, 카피원 영역 정보를 송신한다. 카피원의 볼륨(31)에 대응하는 스토리지 장치(20)는, 호스트 컴퓨터(15)로부터 카피원 영역 정보를 수신한다. 카피원 영역 정보(전송원 데이터를 특정 가능한 정보)는, 전송원 LUN(36), 전송원 기억 영역(37)을 포함하는 정보를 1요소로 하는 리스트 형식의 정보이다.
[스텝 S13] 카피원의 볼륨(31)에 대응하는 스토리지 장치(20)는, ROD(Representation of Data) 토큰[토큰(50)]을 생성한다. 스토리지 장치(20)는, 생성한 ROD 토큰을 나중에 검색 가능하게 하여 유지한다.
[스텝 S14] 카피원의 볼륨(31)에 대응하는 스토리지 장치(20)는, 호스트 컴퓨터(15)에 대하여,「PT」커맨드 응답을 송신한다. 호스트 컴퓨터(15)는, 카피원의 볼륨(31)에 대응하는 스토리지 장치(20)로부터「PT」커맨드 응답을 수신한다.
[스텝 S15] 호스트 컴퓨터(15)는, 카피원의 볼륨(31)에 대응하는 스토리지 장치(20)에 대하여,「RRTI」커맨드를 송신한다. 카피원의 볼륨(31)에 대응하는 스토리지 장치(20)는, 호스트 컴퓨터(15)로부터「RRTI」커맨드를 수신한다.
[스텝 S16] 카피원의 볼륨(31)에 대응하는 스토리지 장치(20)는, 호스트 컴퓨터(15)에 대하여, ROD 토큰을 송신한다. 호스트 컴퓨터(15)는, 카피원의 볼륨(31)에 대응하는 스토리지 장치(20)로부터 ROD 토큰을 수신한다.
[스텝 S17] 카피원의 볼륨(31)에 대응하는 스토리지 장치(20)는, 호스트 컴퓨터(15)에 대하여,「RRTI」커맨드 응답을 송신한다. 호스트 컴퓨터(15)는, 카피원의 볼륨(31)에 대응하는 스토리지 장치(20)로부터「RRTI」커맨드 응답을 수신한다.
「PT」커맨드, 카피원 영역 정보 및「PT」커맨드 응답은, 도 4, 도 5에 도시한「Offload Read」의 통신에 상당한다. 또한,「RRTI」커맨드, ROD 토큰 및「RRTI」커맨드 응답은, 도 4, 도 5에 도시한 토큰(50)의 통신에 상당한다.
또한, 설명을 쉽게 하기 위해, 카피원의 볼륨(31)에 대응하는 스토리지 장치(20)가「Offload Read」의 통신 및 토큰(50)의 통신을 행한다고 하였지만, 스토리지 장치(20)의 대응하는 컨트롤러 모듈(21)이 담당한다.
다음으로, 도 4, 도 5에서 설명한 호스트 컴퓨터(15)로부터 스토리지 장치(20)에의「Offload Write」의 통지 및 스토리지 장치(20)로부터 호스트 컴퓨터(15)에의「Status」의 통지의 상세한 커맨드 시퀀스에 대해 도 7을 이용하여 설명한다. 도 7은 제2 실시 형태의 오프로드 데이터 전송 시의 오프로드 라이트 처리의 시퀀스도이다.
오프로드 라이트 처리는, 호스트 컴퓨터(15)에 의해 개시된다. 「Offload Write」의 지시는, SCSI 표준의「EXTENDED COPY」커맨드 및「RECEIVE COPY RESULTS」커맨드를 사용하여 실현할 수 있다. 이 경우의「EXTENDED COPY」커맨드를「WUT(Write Using Token)」커맨드,「RECEIVE COPY RESULTS」커맨드를「RRTI」커맨드라고 한다.
[스텝 S21] 호스트 컴퓨터(15)는, 카피(전송)처의 볼륨(34)에 대응하는 스토리지 장치(20)에 대하여,「WUT」커맨드를 송신한다. 카피처의 볼륨(34)에 대응하는 스토리지 장치(20)는, 호스트 컴퓨터(15)로부터「WUT」커맨드를 수신한다.
[스텝 S22] 호스트 컴퓨터(15)는, 카피처의 볼륨(34)에 대응하는 스토리지 장치(20)에 대하여, 카피처 영역 정보와, ROD 토큰을 송신한다. 카피처의 볼륨(34)에 대응하는 스토리지 장치(20)는, 호스트 컴퓨터(15)로부터 카피처 영역 정보와, ROD 토큰을 수신한다. 카피처 영역 정보(전송처 데이터를 특정 가능한 정보)는, 전송처 LUN(39), 전송처 기억 영역(40)을 포함하는 정보를 1요소로 하는 리스트 형식의 정보이다.
[스텝 S23] 카피처의 볼륨(34)에 대응하는 스토리지 장치(20)는, 수신한 ROD 토큰을, 카피원의 볼륨(31)에 대응하는 스토리지 장치(20)가 유지하는 ROD 토큰으로부터 검색한다. 카피처의 볼륨(34)에 대응하는 스토리지 장치(20)는, 수신한 ROD 토큰과, 검색한 ROD 토큰을 비교 대조하고, 일치한 경우에 카피처 영역 정보와, ROD 토큰에 기초하여 카피 세션(45)을 설정한다.
[스텝 S24] 카피처의 볼륨(34)에 대응하는 스토리지 장치(20)는, 호스트 컴퓨터(15)에 대하여,「WUT」커맨드 응답을 송신한다. 호스트 컴퓨터(15)는, 카피처의 볼륨(34)에 대응하는 스토리지 장치(20)로부터「WUT」커맨드 응답을 수신한다.
[스텝 S25] 호스트 컴퓨터(15)는, 카피처의 볼륨(34)에 대응하는 스토리지 장치(20)에 대하여,「RRTI」커맨드를 송신한다. 카피처의 볼륨(34)에 대응하는 스토리지 장치(20)는, 호스트 컴퓨터(15)로부터「RRTI」커맨드를 수신한다.
[스텝 S26] 카피처의 볼륨(34)에 대응하는 스토리지 장치(20)는, 호스트 컴퓨터(15)에 대하여,「Status」를 송신한다. 호스트 컴퓨터(15)는, 카피처의 볼륨(34)에 대응하는 스토리지 장치(20)로부터「Status」를 수신한다.
또한, 오프로드 데이터 전송의 비동기 동작인 경우, 카피처의 볼륨(34)에 대응하는 스토리지 장치(20)는, 즉시, 호스트 컴퓨터(15)에 대하여,「Status」를 송신하지만, 동기 동작의 경우, 카피 완료를 기다리고「Status」를 송신한다.
[스텝 S27] 카피처의 볼륨(34)에 대응하는 스토리지 장치(20)는, 호스트 컴퓨터(15)에 대하여,「RRTI」커맨드 응답을 송신한다. 호스트 컴퓨터(15)는, 카피처의 볼륨(34)에 대응하는 스토리지 장치(20)로부터「RRTI」커맨드 응답을 수신한다.
「WUT」커맨드, 카피처 영역 정보와 ROD 토큰 및「WUT」커맨드 응답은, 도 4, 도 5에 도시한「Offload Write」의 통신에 상당한다. 또한,「RRTI」커맨드,「Status」및「RRTI」커맨드 응답은, 도 4, 도 5에 도시한「Status」의 통신에 상당한다.
또한, 설명을 쉽게 하기 위해, 카피처의 볼륨(34)에 대응하는 스토리지 장치(20)가「Offload Write」의 통신 및「Status」의 통신을 행한다고 하였지만, 스토리지 장치(20)의 대응하는 컨트롤러 모듈(21)이 담당한다.
여기서, 도 8을 이용하여 세션 관리 테이블(55)에 대해 설명한다. 도 8은 제2 실시 형태의 세션 관리 테이블의 일례를 나타내는 도면이다.
세션 관리 테이블(55)은, 세션 ID(IDentification), 카피원 LUN, 카피처 LUN, 세션 스테이터스, 세션 페이즈 및 카피 실행의 필요 여부를 포함한다. 또한, 세션 관리 테이블(55)은, 카피원 개시 LBA(Logical Block Address)(전송원 기억 영역), 카피처 개시 LBA(전송처 기억 영역) 및 카피 사이즈(전송 사이즈)를 포함한다.
세션 ID는, 카피 세션을 일의적으로 특정 가능한 식별 정보이다. 세션 ID는, 카피 세션의 설정순으로 부여되고, 예를 들어, 시퀀셜한 번호이다. LUN은, RAID 그룹을 논리적으로 구분한 볼륨을 일의적으로 특정 가능한 식별 정보이며, 예를 들어, 시퀀셜한 번호이다. 카피원 LUN은, 카피원으로 되는 볼륨을 특정하는 번호이다. 카피처 LUN은, 카피처로 되는 볼륨을 특정하는 번호이다.
또한, LUN으로 특정되는 볼륨(로지컬 유닛)은, 1개의 RAID 그룹에 대하여 1 이상이 설정된다. 따라서, RAID가, 복수의 HDD(25)에 의해 구성되어 있는 경우, 볼륨은, 복수의 HDD(25)에 걸쳐 설정되어 있는 경우가 있다.
세션 스테이터스는, 카피 세션의 상태, 바꾸어 말하면, 카피의 현재의 진행 상태를 나타내는 정보이다. 세션 스테이터스에는,「Active」,「Suspend」,「ErrorSuspend」,「Reserve」등이 있다. 「Active」는, 카피의 실행 상태이며,「Suspend」는, 카피가 일시 정지되어 있는 상태이다. 또한,「ErrorSuspend」는, 카피가 실패한 상태이며, 예를 들어, 카피의 실행을 정지한 상태이며,「Reserve」는, 카피 개시 전의 과도 상태이다.
세션 페이즈는, 카피의 진행 상태를 나타내는 정보이다. 세션 페이즈에는,「Copying」과「Equivalent」가 있다. 「Copying」은, 카피가 행해지고 있는 상태이며,「Equivalent」는, 카피가 완료된 상태이며, 카피원과 카피처의 데이터가 등가로 된 상태이다.
카피 실행의 필요 여부는, 카피의 실행을 행할 것인지의 여부의 판정에 사용하는 정보이다.
카피원 개시 LBA는, 카피원으로 되는 볼륨의 논리 블록 어드레스(LBA)를 특정하는 정보이다. 카피처 개시 LBA는, 카피처로 되는 볼륨의 논리 블록 어드레스를 특정하는 정보이다. 카피 사이즈는, 카피 대상으로 되는 데이터의 사이즈를 특정 가능한 정보이다.
다음으로, 제2 실시 형태의 카피처의 볼륨(34)에 대응하는 스토리지 장치(20)가 실행하는 동기 동작/비동기 동작 절환 제어 처리에 대해 도 9를 이용하여 설명한다. 도 9는 제2 실시 형태의 동기 동작/비동기 동작 절환 제어 처리의 흐름도를 나타내는 도면이다. 동기 동작/비동기 동작 절환 제어 처리는, 오프로드 라이트 처리 시에 실행된다.
[스텝 S31] 카피처의 볼륨(34)에 대응하는 스토리지 장치(20)는, 비동기 동작 중의 카피 세션수를 취득한다. 비동기 동작 중의 카피 세션수는, 스케줄 큐(51)의 카피 세션(45)의 스톡수에 의해 파악 가능하다.
[스텝 S32] 카피처의 볼륨(34)에 대응하는 스토리지 장치(20)는, 비동기 동작 중의 카피 세션수가 미리 설정한 임계값 이상인지의 여부를 판정한다. 카피처의 볼륨(34)에 대응하는 스토리지 장치(20)는, 비동기 동작 중의 카피 세션수가 임계값 이상이면, 스텝 S33으로 이행하고, 임계값 미만이면, 스텝 S35로 이행한다.
또한, 비동기 동작 중의 카피 세션수는, 스토리지 장치(20)가 카피 세션(45)의 관리에 사용하는 자원량과 상관되므로, 비동기 동작 중의 카피 세션수를 비동기 동작의 부하량으로 간주할 수 있다. 따라서, 스토리지 장치(20)는, 비동기 동작 중의 카피 세션수를 감시함으로써, 비동기 동작의 부하를 검출할 수 있다.
[스텝 S33] 카피처의 볼륨(34)에 대응하는 스토리지 장치(20)는, 비동기 동작의 과부하를 검출하였으므로, 동기용의 카피 세션(45)을 생성한다.
[스텝 S34] 카피처의 볼륨(34)에 대응하는 스토리지 장치(20)는, 동기용의 카피 세션(45)에 따라, 지정 영역의 카피의 실행을 행한다.
[스텝 S35] 카피처의 볼륨(34)에 대응하는 스토리지 장치(20)는, 비동기 동작의 과부하를 검출하지 않으므로, 비동기용의 카피 세션(45)을 생성한다.
[스텝 S36] 카피처의 볼륨(34)에 대응하는 스토리지 장치(20)는,「Offload Write」지시에 응답하여, 동기 동작/비동기 동작 절환 제어 처리를 종료한다. 즉, 카피처의 볼륨(34)에 대응하는 스토리지 장치(20)는,「RRTI」커맨드 응답의 송신 및「Status」의 송신을 행한다. 카피처의 볼륨(34)에 대응하는 스토리지 장치(20)는,「Offload Write」지시에 응답한 후, 동기 동작/비동기 동작 절환 제어 처리를 종료한다.
이와 같이, 카피처의 볼륨(34)에 대응하는 스토리지 장치(20)는, 동기용의 카피 세션(45)에 대하여, 지정 영역의 카피의 실행 후에「Offload Write」지시에 응답을 행한다. 한편, 카피처의 볼륨(34)에 대응하는 스토리지 장치(20)는, 비동기용의 카피 세션(45)에 대하여, 지정 영역의 카피의 실행 전에「Offload Write」지시에 응답을 행한다.
또한, 설명을 쉽게 하기 위해, 카피처의 볼륨(34)에 대응하는 스토리지 장치(20)가 동기 동작/비동기 동작 절환 제어 처리를 행한다고 하였지만, 스토리지 장치(20)의 대응하는 컨트롤러 모듈(21)이 담당한다.
다음으로, 제2 실시 형태의 카피처의 볼륨(34)에 대응하는 스토리지 장치(20)가 실행하는 동기 동작 감시 처리에 대해 도 10을 이용하여 설명한다. 도 10은 제2 실시 형태의 동기 동작 감시 처리의 흐름도를 나타내는 도면이다. 동기 동작 감시 처리는, 타이머 감시에 의해 정기적으로 실행된다. 또한, 동기 동작 감시 처리는, 비동기 동작의 카피 세션(45)의 카피 종료 등의 이벤트를 계기로 하여 비정기적으로 실행되는 것이어도 된다.
[스텝 S41] 카피처의 볼륨(34)에 대응하는 스토리지 장치(20)는, 비동기 동작 중의 카피 세션수를 취득한다.
[스텝 S42] 카피처의 볼륨(34)에 대응하는 스토리지 장치(20)는, 비동기 동작 중의 카피 세션수가 미리 설정한 임계값 이상인지의 여부를 판정한다. 카피처의 볼륨(34)에 대응하는 스토리지 장치(20)는, 비동기 동작 중의 카피 세션수가 임계값 이상이면, 동기 동작 감시 처리를 종료하고, 임계값 미만이면, 스텝 S43으로 이행한다.
또한, 동기 동작 감시 처리의 판정에서 사용하는 임계값은, 동기 동작/비동기 동작 절환 제어 처리의 스텝 S32의 판정에서 사용하는 임계값과 동일해도 되고, 별도 설정되는 것이어도 된다.
[스텝 S43] 카피처의 볼륨(34)에 대응하는 스토리지 장치(20)는, 동기 동작 중인 카피 세션(45)의 유무를 판정한다. 카피처의 볼륨(34)에 대응하는 스토리지 장치(20)는, 동기 동작 중인 카피 세션(45)이 있으면 스텝 S44로 이행하고, 없으면 동기 동작 감시 처리를 종료한다.
[스텝 S44] 카피처의 볼륨(34)에 대응하는 스토리지 장치(20)는, 동기 동작 중인 카피 세션(45) 중, 가장 오래전에 설정된 카피 세션(45)을 선택한다.
[스텝 S45] 카피처의 볼륨(34)에 대응하는 스토리지 장치(20)는, 선택한 동기 동작 중인 카피 세션(45)을 비동기 동작의 카피 세션(45)으로 갱신한다.
[스텝 S46] 카피처의 볼륨(34)에 대응하는 스토리지 장치(20)는,「Offload Write」지시에 응답하여, 스텝 S41로 이행한다.
이와 같이 하여, 스토리지 장치(20)는, 일단, 동기 동작으로 한 카피 세션(45)에 대해, 비동기 동작의 부하에 따라 비동기 동작의 카피 세션(45)으로 할 수 있다. 이에 의해, 스토리지 장치(20)는, 가일층의 카피 제어의 효율 개선을 도모할 수 있다.
또한, 상기한 처리 기능은, 컴퓨터에 의해 실현할 수 있다. 그 경우, 정보 처리 장치(1), 스토리지 장치(20)[생성부(3), 제어부(7) 등]가 가져야 하는 기능의 처리 내용을 기술한 프로그램이 제공된다. 그 프로그램을 컴퓨터로 실행함으로써, 상기 처리 기능이 컴퓨터상에서 실현된다. 처리 내용을 기술한 프로그램은, 컴퓨터로 판독 가능한 기록 매체에 기록해 둘 수 있다. 컴퓨터로 판독 가능한 기록 매체로서는, 자기 기억 장치, 광 디스크, 광 자기 기록 매체, 반도체 메모리 등이 있다. 자기 기억 장치에는, 하드디스크 장치(HDD), 플렉시블 디스크(FD), 자기 테이프 등이 있다. 광 디스크에는, DVD(Digital Versatile Disc), DVD-RAM, CD-ROM(Compact Disc-Read Only Memory)/RW(ReWritable) 등이 있다. 광 자기 기록 매체에는, MO(Magneto-Optical disk) 등이 있다.
프로그램을 유통시키는 경우에는, 예를 들어, 그 프로그램이 기록된 DVD, CD-ROM 등의 가반형 기록 매체가 판매된다. 또한, 프로그램을 서버 컴퓨터의 기억 장치에 저장해 두고, 네트워크를 개재하여, 서버 컴퓨터로부터 다른 컴퓨터에 그 프로그램을 전송할 수도 있다.
프로그램을 실행하는 컴퓨터는, 예를 들어, 가반형 기록 매체에 기록된 프로그램 혹은 서버 컴퓨터로부터 전송된 프로그램을, 자기의 기억 장치에 저장한다. 그리고 컴퓨터는, 자기의 기억 장치로부터 프로그램을 판독하고, 프로그램에 따른 처리를 실행한다. 또한, 컴퓨터는, 가반형 기록 매체로부터 직접 프로그램을 판독하고, 그 프로그램에 따른 처리를 실행할 수도 있다. 또한, 컴퓨터는, 네트워크를 개재하여 접속된 서버 컴퓨터로부터 프로그램이 전송될 때마다, 순차적으로, 수취한 프로그램에 따른 처리를 실행할 수도 있다.
또한, 상기한 처리 기능의 적어도 일부를, DSP(Digital Signal Processor), ASIC(Application Specific Integrated Circuit), PLD(Programmable Logic Device) 등의 전자 회로로 실현할 수도 있다.
1 : 정보 처리 장치
2 : 호스트 컴퓨터
3 : 생성부
4 : 카피 세션
5 : 비동기 실행 제어
6 : 동기 실행 제어
7 : 제어부
8 : 스토리지 디바이스
9 : 전송원 기억 장치
10, 37 : 전송원 기억 영역
11 : 전송처 기억 장치
12, 40 : 전송처 기억 영역
13 : 데이터
14 : 조작 단말 장치
15 : 호스트 컴퓨터
16, 17, 18 : 네트워크
20 : 스토리지 장치
21 : 컨트롤러 모듈
22 : CPU
23 : 메모리
24 : 디스크 어댑터
25 : HDD
26 : 채널 어댑터
27 : 리모트 어댑터
30 : 논리 이미지
31, 34 : 볼륨
32, 35 : 파일
33 : 파일 카피 지시
36 : 전송원 LUN
39 : 전송처 LUN
45 : 카피 세션
46 : 전송 데이터
50 : 토큰
51 : 스케줄 큐
55 : 세션 관리 테이블

Claims (7)

  1. 오프로드 데이터 전송 지시를 접수하여, 전송원 기억 장치에 있어서의 전송원 기억 영역으로부터, 전송처 기억 장치에 있어서의 전송처 기억 영역에 데이터를 전송하는 카피 세션을 생성하는 생성부와,
    상기 생성부에서 생성된 카피 세션의 데이터 전송의 완료 전에 오프로드 데이터 전송 지시에 대한 완료 응답을 행하고 나서 데이터 전송을 행하는 비동기 실행 제어와, 상기 생성부에서 생성된 카피 세션의 데이터 전송의 완료 후에 오프로드 데이터 전송 지시에 대한 완료 응답을 행하는 동기 실행 제어를, 상기 비동기 실행 제어에 가해지는 부하에 기초하여 절환 제어하는 제어부
    를 구비하는 정보 처리 장치.
  2. 제1항에 있어서,
    상기 제어부는, 상기 카피 세션의 생성 시에, 상기 비동기 실행 제어와 상기 동기 실행 제어 중 어느 것에 의해 상기 카피 세션을 실행할지를 결정하는 것을 특징으로 하는 정보 처리 장치.
  3. 제2항에 있어서,
    상기 제어부는, 상기 비동기 실행 제어에 가해지는 과부하를 검출하지 않는 경우에, 상기 생성부가 생성하는 카피 세션의 데이터 전송을 상기 비동기 실행 제어로 하고, 상기 비동기 실행 제어에 가해지는 과부하를 검출한 경우에, 상기 생성부가 생성하는 카피 세션의 데이터 전송을 상기 동기 실행 제어로 하는 것을 특징으로 하는 정보 처리 장치.
  4. 제3항에 있어서,
    상기 제어부는, 상기 비동기 실행 제어에 의한 실행 중의 상기 카피 세션의 수와, 미리 설정한 임계값과의 비교에 기초하여 상기 과부하의 검출을 행하는 것을 특징으로 하는 정보 처리 장치.
  5. 제2항 내지 제4항 중 어느 한 항에 있어서,
    상기 제어부는, 상기 비동기 실행 제어에 가해지는 부하에 기초하여, 상기 동기 실행 제어로 한 상기 카피 세션을, 상기 비동기 실행 제어로 갱신하는 것을 특징으로 하는 정보 처리 장치.
  6. 컴퓨터에,
    오프로드 데이터 전송 지시에 대한 완료 응답을 행하고 나서 카피 세션의 데이터 전송을 행하는 비동기 실행 제어에 가해지는 과부하를 검출한 경우에, 비동기 전송 제어로부터, 카피 세션의 데이터 전송의 완료 후에 오프로드 데이터 전송 지시에 대한 완료 응답을 행하는 동기 실행 제어로 절환하는,
    처리를 실행시키는 것을 특징으로 하는 카피 제어 프로그램을 기록한 컴퓨터로 판독가능한 기록 매체.
  7. 컴퓨터가,
    오프로드 데이터 전송 지시에 대한 완료 응답을 행하고 나서 카피 세션의 데이터 전송을 행하는 비동기 실행 제어에 가해지는 과부하를 검출한 경우에, 비동기 전송 제어로부터, 카피 세션의 데이터 전송의 완료 후에 오프로드 데이터 전송 지시에 대한 완료 응답을 행하는 동기 실행 제어로 절환하는,
    것을 특징으로 하는 카피 제어 방법.
KR1020130091521A 2012-08-30 2013-08-01 정보 처리 장치, 카피 제어 프로그램 및 카피 제어 방법 KR101410596B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JPJP-P-2012-189725 2012-08-30
JP2012189725A JP6024296B2 (ja) 2012-08-30 2012-08-30 情報処理装置、コピー制御プログラム、およびコピー制御方法

Publications (2)

Publication Number Publication Date
KR20140030032A KR20140030032A (ko) 2014-03-11
KR101410596B1 true KR101410596B1 (ko) 2014-06-20

Family

ID=48793002

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130091521A KR101410596B1 (ko) 2012-08-30 2013-08-01 정보 처리 장치, 카피 제어 프로그램 및 카피 제어 방법

Country Status (5)

Country Link
US (1) US9471306B2 (ko)
EP (1) EP2703989A2 (ko)
JP (1) JP6024296B2 (ko)
KR (1) KR101410596B1 (ko)
CN (1) CN103677659B (ko)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9304699B1 (en) * 2013-06-27 2016-04-05 Emc Corporation Managing token states across multiple storage processors of a data storage array
US9380114B1 (en) * 2013-06-27 2016-06-28 Emc Corporation Techniques for peer messaging across multiple storage processors of a data storage array
JP6279731B2 (ja) * 2014-06-11 2018-02-14 株式会社日立製作所 ストレージシステム、ストレージ装置及びデータ移行方法
US9715433B2 (en) * 2014-08-29 2017-07-25 Netapp, Inc. Reconciliation in sync replication
US9917896B2 (en) 2015-11-27 2018-03-13 Netapp Inc. Synchronous replication for storage area network protocol storage
US10176120B2 (en) 2017-02-22 2019-01-08 International Business Machines Corporation Cache prefetching in offloaded data transfer (ODX)
US10521344B1 (en) 2017-03-10 2019-12-31 Pure Storage, Inc. Servicing input/output (‘I/O’) operations directed to a dataset that is synchronized across a plurality of storage systems
CN107688522A (zh) * 2017-09-01 2018-02-13 郑州云海信息技术有限公司 一种存储系统性能判定方法及系统
US11199986B2 (en) * 2019-08-02 2021-12-14 EMC IP Holding Company, LLC System and method for data migration across storage systems
US11099767B2 (en) * 2019-10-25 2021-08-24 EMC IP Holding Company LLC Storage system with throughput-based timing of synchronous replication recovery
CN111176572B (zh) * 2019-12-27 2022-03-22 浪潮(北京)电子信息产业有限公司 一种存储数据的保护方法、装置、设备及介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07239783A (ja) * 1994-02-18 1995-09-12 Internatl Business Mach Corp <Ibm> 並列処理を実行する方法およびシステム
JP2005157636A (ja) 2003-11-25 2005-06-16 Hitachi Ltd 処理オフロード機能モジュールを備えた磁気ディスクアレイ装置
KR100639142B1 (ko) 2005-04-28 2006-10-30 후지쯔 가부시끼가이샤 리모트 카피 처리 방법, 프로그램을 기록한 컴퓨터로판독가능한 기록 매체 및 장치
JP2007011673A (ja) 2005-06-30 2007-01-18 Fujitsu Ltd ホスト間データ転送方法、プログラム及びシステム

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000276304A (ja) 1999-03-26 2000-10-06 Nec Corp データ移行方法と情報処理システム
US8200837B1 (en) * 1999-04-26 2012-06-12 Hewlett-Packard Development Company, L.P. Method and system for maintaining a content server at safe load conditions
US7986625B2 (en) * 2002-12-10 2011-07-26 International Business Machines Corporation Resource-aware system, method and program product for managing request traffic based on a management policy
JP2006053737A (ja) 2004-08-11 2006-02-23 Nec Corp レプリケーションシステム及びレプリケーション方法
JP2006236019A (ja) * 2005-02-25 2006-09-07 Hitachi Ltd データコピー方式の切替方法
JP4699091B2 (ja) * 2005-05-31 2011-06-08 株式会社日立製作所 ディザスタリカバリ方法およびシステム
JP4810210B2 (ja) * 2005-12-06 2011-11-09 日本電気株式会社 ストレージシステム、マスタ側ストレージ装置、リモート側ストレージ装置、データコピー方法、データコピープログラム
JP2008250695A (ja) 2007-03-30 2008-10-16 Nec Corp ディスクアレイコントローラ及びこれを備えたディスクアレイシステム
JP2009122873A (ja) 2007-11-13 2009-06-04 Hitachi Ltd ストレージシステム間でのリモートコピーを管理する装置
US8843669B2 (en) * 2011-09-09 2014-09-23 Microsoft Corporation Guest partition high CPU usage mitigation when performing data transfers in a guest partition

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07239783A (ja) * 1994-02-18 1995-09-12 Internatl Business Mach Corp <Ibm> 並列処理を実行する方法およびシステム
JP2005157636A (ja) 2003-11-25 2005-06-16 Hitachi Ltd 処理オフロード機能モジュールを備えた磁気ディスクアレイ装置
KR100639142B1 (ko) 2005-04-28 2006-10-30 후지쯔 가부시끼가이샤 리모트 카피 처리 방법, 프로그램을 기록한 컴퓨터로판독가능한 기록 매체 및 장치
JP2007011673A (ja) 2005-06-30 2007-01-18 Fujitsu Ltd ホスト間データ転送方法、プログラム及びシステム

Also Published As

Publication number Publication date
CN103677659A (zh) 2014-03-26
US20140068233A1 (en) 2014-03-06
US9471306B2 (en) 2016-10-18
JP2014048787A (ja) 2014-03-17
CN103677659B (zh) 2016-12-28
EP2703989A2 (en) 2014-03-05
JP6024296B2 (ja) 2016-11-16
KR20140030032A (ko) 2014-03-11

Similar Documents

Publication Publication Date Title
KR101410596B1 (ko) 정보 처리 장치, 카피 제어 프로그램 및 카피 제어 방법
EP2557494B1 (en) Storage apparatus and data copy method between thin-provisioning virtual volumes
JP2019101703A (ja) 記憶システム及び制御ソフトウェア配置方法
US8826066B2 (en) Information processing apparatus, control method of the information processing apparatus, and recording medium
US20150293719A1 (en) Storage Space Processing Method and Apparatus, and Non-Volatile Computer Readable Storage Medium
JP2011170589A (ja) ストレージ制御装置、ストレージ装置およびストレージ制御方法
US10234929B2 (en) Storage system and control apparatus
KR101427535B1 (ko) 정보 처리 장치, 기록 매체 및 영역 해방 제어 방법
KR101200997B1 (ko) 멀티 pci 버스 스위칭을 갖는 raid 컨트롤러
JP2007080012A (ja) 再起動方法、システム及びプログラム
US9207741B2 (en) Storage apparatus, controller module, and storage apparatus control method
US20140068214A1 (en) Information processing apparatus and copy control method
JP6708928B2 (ja) ストレージ管理装置、ストレージ管理プログラム、およびストレージシステム
CN105159846A (zh) 一种支持虚拟化磁盘双控切换的方法和存储系统
JP2015191414A (ja) 制御装置、ディスクアレイ装置、及び制御方法、並びにコンピュータ・プログラム
JP2010049303A (ja) メモリコントローラ、不揮発性記憶装置、アクセス装置、及び不揮発性記憶システム
US11620063B2 (en) Information processing apparatus and control method of information processing apparatus
JP2020030580A (ja) 情報処理装置、データ管理方法およびデータ管理プログラム
US20160231938A1 (en) Storage control device and control method in storage control device
JP2010146215A (ja) クラスタストレージ装置、クラスタストレージシステム、及びその制御方法
US20090193269A1 (en) Data network and method of controlling thereof
JP5731665B2 (ja) 計算機システム及び複製制御方法
US8634156B2 (en) Storage system, storage control apparatus, and storage control method
JP2016066286A (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: 20170522

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180516

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190515

Year of fee payment: 6